@realsee/five 6.0.0-alpha.83 → 6.0.0-alpha.84
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/five.Five.html +55 -55
- package/docs/classes/five.Model.html +11 -3
- package/docs/classes/five.Tile3DModel.html +2 -1
- package/docs/classes/five.Work.html +18 -14
- package/docs/functions/five.parseWork.html +1 -1
- package/docs/interfaces/five.FiveLoadOptions.html +36 -0
- package/docs/interfaces/five.WorkCubeImage.html +7 -7
- package/docs/interfaces/five.WorkImage.html +9 -9
- package/docs/interfaces/five.WorkInitial.html +8 -8
- package/docs/interfaces/five.WorkModel.html +6 -6
- package/docs/interfaces/five.WorkObserver.html +20 -20
- package/docs/interfaces/five.WorkResolvedObserver.html +20 -20
- package/docs/interfaces/five.WorkTile.html +2 -2
- package/docs/interfaces/five.WorkVideo.html +4 -4
- package/docs/interfaces/react.FiveInjectionTypes.html +1 -1
- package/docs/modules/five.html +1 -1
- package/docs/types/five.LooseWorkWithExtrinsics.html +2 -8
- package/docs/types/five.Mirror.html +1 -1
- package/docs/types/five.ModelMaterialValues.html +1 -1
- package/docs/types/five.Models.html +4 -4
- package/docs/types/five.ParseWorkOptions.html +3 -10
- package/docs/types/five.Works.html +1 -1
- package/five/index.d.ts +91 -58
- package/five/index.js +58 -58
- package/five/index.mjs +3822 -3805
- package/gltf-loader/index.js +3 -3
- package/gltf-loader/index.mjs +3 -3
- package/line/index.js +3 -3
- package/line/index.mjs +3 -3
- package/package.json +1 -1
- package/react/index.js +2 -2
- package/react/index.mjs +2 -2
- package/sticker/index.js +3 -3
- package/sticker/index.mjs +3 -3
- package/umd/five-gltf-loader.js +3 -3
- package/umd/five-line.js +3 -3
- package/umd/five-react.js +2 -2
- package/umd/five-sticker.js +3 -3
- package/umd/five-vfx.js +2 -2
- package/umd/five-vue.js +2 -2
- package/umd/five.js +53 -53
- package/vfx/index.js +2 -2
- package/vfx/index.mjs +2 -2
- package/vue/index.js +2 -2
- package/vue/index.mjs +2 -2
- package/docs/interfaces/five.WorkOptions.html +0 -17
package/umd/five.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
3
|
* @realsee/five
|
|
4
|
-
* Generated: 3/
|
|
5
|
-
* Version: 6.0.0-alpha.
|
|
4
|
+
* Generated: 3/18/2024
|
|
5
|
+
* Version: 6.0.0-alpha.84
|
|
6
6
|
* Terms:
|
|
7
7
|
* Realsee SDK License Agreement
|
|
8
8
|
* Update: July 28, 2021
|
|
@@ -339,33 +339,33 @@
|
|
|
339
339
|
*
|
|
340
340
|
* https://code.google.com/p/crypto-js/wiki/License
|
|
341
341
|
* PART: ext/cryptojs
|
|
342
|
-
*/var KJUR={},CryptoJS=CryptoJS||function(n,t){var e={},r=e.lib={},i=r.Base=function(){function v(){}return{extend:function(p){v.prototype=this;var A=new v;return p&&A.mixIn(p),A.hasOwnProperty("init")||(A.init=function(){A.$super.init.apply(this,arguments)}),A.init.prototype=A,A.$super=this,A},create:function(){var p=this.extend();return p.init.apply(p,arguments),p},init:function(){},mixIn:function(p){for(var A in p)p.hasOwnProperty(A)&&(this[A]=p[A]);p.hasOwnProperty("toString")&&(this.toString=p.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),o=r.WordArray=i.extend({init:function(v,p){v=this.words=v||[],p!=t?this.sigBytes=p:this.sigBytes=v.length*4},toString:function(v){return(v||u).stringify(this)},concat:function(v){var p=this.words,A=v.words,m=this.sigBytes,y=v.sigBytes;if(this.clamp(),m%4)for(var h=0;h<y;h++){var g=A[h>>>2]>>>24-h%4*8&255;p[m+h>>>2]|=g<<24-(m+h)%4*8}else for(var h=0;h<y;h+=4)p[m+h>>>2]=A[h>>>2];return this.sigBytes+=y,this},clamp:function(){var v=this.words,p=this.sigBytes;v[p>>>2]&=4294967295<<32-p%4*8,v.length=n.ceil(p/4)},clone:function(){var v=i.clone.call(this);return v.words=this.words.slice(0),v},random:function(v){for(var p=[],A=0;A<v;A+=4)p.push(n.random()*4294967296|0);return new o.init(p,v)}}),s=e.enc={},u=s.Hex={stringify:function(v){for(var p=v.words,A=v.sigBytes,m=[],y=0;y<A;y++){var h=p[y>>>2]>>>24-y%4*8&255;m.push((h>>>4).toString(16)),m.push((h&15).toString(16))}return m.join("")},parse:function(v){for(var p=v.length,A=[],m=0;m<p;m+=2)A[m>>>3]|=parseInt(v.substr(m,2),16)<<24-m%8*4;return new o.init(A,p/2)}},l=s.Latin1={stringify:function(v){for(var p=v.words,A=v.sigBytes,m=[],y=0;y<A;y++){var h=p[y>>>2]>>>24-y%4*8&255;m.push(String.fromCharCode(h))}return m.join("")},parse:function(v){for(var p=v.length,A=[],m=0;m<p;m++)A[m>>>2]|=(v.charCodeAt(m)&255)<<24-m%4*8;return new o.init(A,p)}},c=s.Utf8={stringify:function(v){try{return decodeURIComponent(escape(l.stringify(v)))}catch(p){throw new Error("Malformed UTF-8 data")}},parse:function(v){return l.parse(unescape(encodeURIComponent(v)))}},d=r.BufferedBlockAlgorithm=i.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(v){typeof v=="string"&&(v=c.parse(v)),this._data.concat(v),this._nDataBytes+=v.sigBytes},_process:function(v){var p=this._data,A=p.words,m=p.sigBytes,y=this.blockSize,h=y*4,g=m/h;v?g=n.ceil(g):g=n.max((g|0)-this._minBufferSize,0);var b=g*y,E=n.min(b*4,m);if(b){for(var T=0;T<b;T+=y)this._doProcessBlock(A,T);var _=A.splice(0,b);p.sigBytes-=E}return new o.init(_,E)},clone:function(){var v=i.clone.call(this);return v._data=this._data.clone(),v},_minBufferSize:0});r.Hasher=d.extend({cfg:i.extend(),init:function(v){this.cfg=this.cfg.extend(v),this.reset()},reset:function(){d.reset.call(this),this._doReset()},update:function(v){return this._append(v),this._process(),this},finalize:function(v){v&&this._append(v);var p=this._doFinalize();return p},blockSize:512/32,_createHelper:function(v){return function(p,A){return new v.init(A).finalize(p)}},_createHmacHelper:function(v){return function(p,A){return new f.HMAC.init(v,A).finalize(p)}}});var f=e.algo={};return e}(Math);(function(n){for(var t=CryptoJS,p=t.lib,e=p.WordArray,r=p.Hasher,p=t.algo,i=[],o=[],s=function(m){return 4294967296*(m-(m|0))|0},u=2,l=0;64>l;){var c;e:{c=u;for(var d=n.sqrt(c),f=2;f<=d;f++)if(!(c%f)){c=!1;break e}c=!0}c&&(8>l&&(i[l]=s(n.pow(u,.5))),o[l]=s(n.pow(u,1/3)),l++),u++}var v=[],p=p.SHA256=r.extend({_doReset:function(){this._hash=new e.init(i.slice(0))},_doProcessBlock:function(A,m){for(var y=this._hash.words,h=y[0],g=y[1],b=y[2],E=y[3],T=y[4],_=y[5],x=y[6],w=y[7],S=0;64>S;S++){if(16>S)v[S]=A[m+S]|0;else{var C=v[S-15],R=v[S-2];v[S]=((C<<25|C>>>7)^(C<<14|C>>>18)^C>>>3)+v[S-7]+((R<<15|R>>>17)^(R<<13|R>>>19)^R>>>10)+v[S-16]}C=w+((T<<26|T>>>6)^(T<<21|T>>>11)^(T<<7|T>>>25))+(T&_^~T&x)+o[S]+v[S],R=((h<<30|h>>>2)^(h<<19|h>>>13)^(h<<10|h>>>22))+(h&g^h&b^g&b),w=x,x=_,_=T,T=E+C|0,E=b,b=g,g=h,h=C+R|0}y[0]=y[0]+h|0,y[1]=y[1]+g|0,y[2]=y[2]+b|0,y[3]=y[3]+E|0,y[4]=y[4]+T|0,y[5]=y[5]+_|0,y[6]=y[6]+x|0,y[7]=y[7]+w|0},_doFinalize:function(){var A=this._data,m=A.words,y=8*this._nDataBytes,h=8*A.sigBytes;return m[h>>>5]|=128<<24-h%32,m[(h+64>>>9<<4)+14]=n.floor(y/4294967296),m[(h+64>>>9<<4)+15]=y,A.sigBytes=4*m.length,this._process(),this._hash},clone:function(){var A=r.clone.call(this);return A._hash=this._hash.clone(),A}});t.SHA256=r._createHelper(p),t.HmacSHA256=r._createHmacHelper(p)})(Math),CryptoJS.lib.Cipher||function(n){var p=CryptoJS,t=p.lib,e=t.Base,r=t.WordArray,i=t.BufferedBlockAlgorithm,o=p.enc.Base64,s=p.algo.EvpKDF,u=t.Cipher=i.extend({cfg:e.extend(),createEncryptor:function(m,y){return this.create(this._ENC_XFORM_MODE,m,y)},createDecryptor:function(m,y){return this.create(this._DEC_XFORM_MODE,m,y)},init:function(m,y,h){this.cfg=this.cfg.extend(h),this._xformMode=m,this._key=y,this.reset()},reset:function(){i.reset.call(this),this._doReset()},process:function(m){return this._append(m),this._process()},finalize:function(m){return m&&this._append(m),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(m){return{encrypt:function(y,h,g){return(typeof h=="string"?A:v).encrypt(m,y,h,g)},decrypt:function(y,h,g){return(typeof h=="string"?A:v).decrypt(m,y,h,g)}}}});t.StreamCipher=u.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var f=p.mode={},l=function(m,y,h){var g=this._iv;g?this._iv=n:g=this._prevBlock;for(var b=0;b<h;b++)m[y+b]^=g[b]},c=(t.BlockCipherMode=e.extend({createEncryptor:function(m,y){return this.Encryptor.create(m,y)},createDecryptor:function(m,y){return this.Decryptor.create(m,y)},init:function(m,y){this._cipher=m,this._iv=y}})).extend();c.Encryptor=c.extend({processBlock:function(m,y){var h=this._cipher,g=h.blockSize;l.call(this,m,y,g),h.encryptBlock(m,y),this._prevBlock=m.slice(y,y+g)}}),c.Decryptor=c.extend({processBlock:function(m,y){var h=this._cipher,g=h.blockSize,b=m.slice(y,y+g);h.decryptBlock(m,y),l.call(this,m,y,g),this._prevBlock=b}}),f=f.CBC=c,c=(p.pad={}).Pkcs7={pad:function(m,y){for(var h=4*y,h=h-m.sigBytes%h,g=h<<24|h<<16|h<<8|h,b=[],E=0;E<h;E+=4)b.push(g);h=r.create(b,h),m.concat(h)},unpad:function(m){m.sigBytes-=m.words[m.sigBytes-1>>>2]&255}},t.BlockCipher=u.extend({cfg:u.cfg.extend({mode:f,padding:c}),reset:function(){u.reset.call(this);var y=this.cfg,m=y.iv,y=y.mode;if(this._xformMode==this._ENC_XFORM_MODE)var h=y.createEncryptor;else h=y.createDecryptor,this._minBufferSize=1;this._mode=h.call(y,this,m&&m.words)},_doProcessBlock:function(m,y){this._mode.processBlock(m,y)},_doFinalize:function(){var m=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){m.pad(this._data,this.blockSize);var y=this._process(!0)}else y=this._process(!0),m.unpad(y);return y},blockSize:4});var d=t.CipherParams=e.extend({init:function(m){this.mixIn(m)},toString:function(m){return(m||this.formatter).stringify(this)}}),f=(p.format={}).OpenSSL={stringify:function(m){var y=m.ciphertext;return m=m.salt,(m?r.create([1398893684,1701076831]).concat(m).concat(y):y).toString(o)},parse:function(m){m=o.parse(m);var y=m.words;if(y[0]==1398893684&&y[1]==1701076831){var h=r.create(y.slice(2,4));y.splice(0,4),m.sigBytes-=16}return d.create({ciphertext:m,salt:h})}},v=t.SerializableCipher=e.extend({cfg:e.extend({format:f}),encrypt:function(m,y,h,g){g=this.cfg.extend(g);var b=m.createEncryptor(h,g);return y=b.finalize(y),b=b.cfg,d.create({ciphertext:y,key:h,iv:b.iv,algorithm:m,mode:b.mode,padding:b.padding,blockSize:m.blockSize,formatter:g.format})},decrypt:function(m,y,h,g){return g=this.cfg.extend(g),y=this._parse(y,g.format),m.createDecryptor(h,g).finalize(y.ciphertext)},_parse:function(m,y){return typeof m=="string"?y.parse(m,this):m}}),p=(p.kdf={}).OpenSSL={execute:function(m,y,h,g){return g||(g=r.random(8)),m=s.create({keySize:y+h}).compute(m,g),h=r.create(m.words.slice(y),4*h),m.sigBytes=4*y,d.create({key:m,iv:h,salt:g})}},A=t.PasswordBasedCipher=v.extend({cfg:v.cfg.extend({kdf:p}),encrypt:function(m,y,h,g){return g=this.cfg.extend(g),h=g.kdf.execute(h,m.keySize,m.ivSize),g.iv=h.iv,m=v.encrypt.call(this,m,y,h.key,g),m.mixIn(h),m},decrypt:function(m,y,h,g){return g=this.cfg.extend(g),y=this._parse(y,g.format),h=g.kdf.execute(h,m.keySize,m.ivSize,y.salt),g.iv=h.iv,v.decrypt.call(this,m,y,h.key,g)}})}(),function(){for(var n=CryptoJS,t=n.lib.BlockCipher,_=n.algo,e=[],r=[],i=[],o=[],s=[],u=[],l=[],c=[],d=[],f=[],v=[],p=0;256>p;p++)v[p]=128>p?p<<1:p<<1^283;for(var A=0,m=0,p=0;256>p;p++){var y=m^m<<1^m<<2^m<<3^m<<4,y=y>>>8^y&255^99;e[A]=y,r[y]=A;var h=v[A],g=v[h],b=v[g],E=257*v[y]^16843008*y;i[A]=E<<24|E>>>8,o[A]=E<<16|E>>>16,s[A]=E<<8|E>>>24,u[A]=E,E=16843009*b^65537*g^257*h^16843008*A,l[y]=E<<24|E>>>8,c[y]=E<<16|E>>>16,d[y]=E<<8|E>>>24,f[y]=E,A?(A=h^v[v[v[b^h]]],m^=v[v[m]]):A=m=1}var T=[0,1,2,4,8,16,32,64,128,27,54],_=_.AES=t.extend({_doReset:function(){for(var S=this._key,x=S.words,w=S.sigBytes/4,S=4*((this._nRounds=w+6)+1),C=this._keySchedule=[],R=0;R<S;R++)if(R<w)C[R]=x[R];else{var I=C[R-1];R%w?6<w&&R%w==4&&(I=e[I>>>24]<<24|e[I>>>16&255]<<16|e[I>>>8&255]<<8|e[I&255]):(I=I<<8|I>>>24,I=e[I>>>24]<<24|e[I>>>16&255]<<16|e[I>>>8&255]<<8|e[I&255],I^=T[R/w|0]<<24),C[R]=C[R-w]^I}for(x=this._invKeySchedule=[],w=0;w<S;w++)R=S-w,I=w%4?C[R]:C[R-4],x[w]=4>w||4>=R?I:l[e[I>>>24]]^c[e[I>>>16&255]]^d[e[I>>>8&255]]^f[e[I&255]]},encryptBlock:function(x,w){this._doCryptBlock(x,w,this._keySchedule,i,o,s,u,e)},decryptBlock:function(x,w){var S=x[w+1];x[w+1]=x[w+3],x[w+3]=S,this._doCryptBlock(x,w,this._invKeySchedule,l,c,d,f,r),S=x[w+1],x[w+1]=x[w+3],x[w+3]=S},_doCryptBlock:function(x,w,S,C,R,I,B,F){for(var L=this._nRounds,K=x[w]^S[0],X=x[w+1]^S[1],D=x[w+2]^S[2],G=x[w+3]^S[3],O=4,k=1;k<L;k++)var Q=C[K>>>24]^R[X>>>16&255]^I[D>>>8&255]^B[G&255]^S[O++],U=C[X>>>24]^R[D>>>16&255]^I[G>>>8&255]^B[K&255]^S[O++],N=C[D>>>24]^R[G>>>16&255]^I[K>>>8&255]^B[X&255]^S[O++],G=C[G>>>24]^R[K>>>16&255]^I[X>>>8&255]^B[D&255]^S[O++],K=Q,X=U,D=N;Q=(F[K>>>24]<<24|F[X>>>16&255]<<16|F[D>>>8&255]<<8|F[G&255])^S[O++],U=(F[X>>>24]<<24|F[D>>>16&255]<<16|F[G>>>8&255]<<8|F[K&255])^S[O++],N=(F[D>>>24]<<24|F[G>>>16&255]<<16|F[K>>>8&255]<<8|F[X&255])^S[O++],G=(F[G>>>24]<<24|F[K>>>16&255]<<16|F[X>>>8&255]<<8|F[D&255])^S[O++],x[w]=Q,x[w+1]=U,x[w+2]=N,x[w+3]=G},keySize:8});n.AES=t._createHelper(_)}();/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/
|
|
343
|
-
*/var dbits;function BigInteger(n,t,e){n!=null&&(typeof n=="number"?this.fromNumber(n,t,e):t==null&&typeof n!="string"?this.fromString(n,256):this.fromString(n,t))}function nbi(){return new BigInteger(null)}function am1(n,t,e,r,i,o){for(;--o>=0;){var s=t*this[n++]+e[r]+i;i=Math.floor(s/67108864),e[r++]=s&67108863}return i}function am2(n,t,e,r,i,o){for(var s=t&32767,u=t>>15;--o>=0;){var l=this[n]&32767,c=this[n++]>>15,d=u*l+c*s;l=s*l+((d&32767)<<15)+e[r]+(i&1073741823),i=(l>>>30)+(d>>>15)+u*c+(i>>>30),e[r++]=l&1073741823}return i}function am3(n,t,e,r,i,o){for(var s=t&16383,u=t>>14;--o>=0;){var l=this[n]&16383,c=this[n++]>>14,d=u*l+c*s;l=s*l+((d&16383)<<14)+e[r]+i,i=(l>>28)+(d>>14)+u*c,e[r++]=l&268435455}return i}typeof navigator!="undefined"&&navigator.appName=="Microsoft Internet Explorer"?(BigInteger.prototype.am=am2,dbits=30):typeof navigator!="undefined"&&navigator.appName!="Netscape"?(BigInteger.prototype.am=am1,dbits=26):(BigInteger.prototype.am=am3,dbits=28),BigInteger.prototype.DB=dbits,BigInteger.prototype.DM=(1<<dbits)-1,BigInteger.prototype.DV=1<<dbits;var BI_FP=52;BigInteger.prototype.FV=Math.pow(2,BI_FP),BigInteger.prototype.F1=BI_FP-dbits,BigInteger.prototype.F2=2*dbits-BI_FP;var BI_RM="0123456789abcdefghijklmnopqrstuvwxyz",BI_RC=new Array,rr,vv;for(rr=48,vv=0;vv<=9;++vv)BI_RC[rr++]=vv;for(rr=97,vv=10;vv<36;++vv)BI_RC[rr++]=vv;for(rr=65,vv=10;vv<36;++vv)BI_RC[rr++]=vv;function int2char(n){return BI_RM.charAt(n)}function intAt(n,t){var e=BI_RC[n.charCodeAt(t)];return e==null?-1:e}function bnpCopyTo(n){for(var t=this.t-1;t>=0;--t)n[t]=this[t];n.t=this.t,n.s=this.s}function bnpFromInt(n){this.t=1,this.s=n<0?-1:0,n>0?this[0]=n:n<-1?this[0]=n+this.DV:this.t=0}function nbv(n){var t=nbi();return t.fromInt(n),t}function bnpFromString(n,t){var e;if(t==16)e=4;else if(t==8)e=3;else if(t==256)e=8;else if(t==2)e=1;else if(t==32)e=5;else if(t==4)e=2;else{this.fromRadix(n,t);return}this.t=0,this.s=0;for(var r=n.length,i=!1,o=0;--r>=0;){var s=e==8?n[r]&255:intAt(n,r);if(s<0){n.charAt(r)=="-"&&(i=!0);continue}i=!1,o==0?this[this.t++]=s:o+e>this.DB?(this[this.t-1]|=(s&(1<<this.DB-o)-1)<<o,this[this.t++]=s>>this.DB-o):this[this.t-1]|=s<<o,o+=e,o>=this.DB&&(o-=this.DB)}e==8&&n[0]&128&&(this.s=-1,o>0&&(this[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),i&&BigInteger.ZERO.subTo(this,this)}function bnpClamp(){for(var n=this.s&this.DM;this.t>0&&this[this.t-1]==n;)--this.t}function bnToString(n){if(this.s<0)return"-"+this.negate().toString(n);var t;if(n==16)t=4;else if(n==8)t=3;else if(n==2)t=1;else if(n==32)t=5;else if(n==4)t=2;else return this.toRadix(n);var e=(1<<t)-1,r,i=!1,o="",s=this.t,u=this.DB-s*this.DB%t;if(s-- >0)for(u<this.DB&&(r=this[s]>>u)>0&&(i=!0,o=int2char(r));s>=0;)u<t?(r=(this[s]&(1<<u)-1)<<t-u,r|=this[--s]>>(u+=this.DB-t)):(r=this[s]>>(u-=t)&e,u<=0&&(u+=this.DB,--s)),r>0&&(i=!0),i&&(o+=int2char(r));return i?o:"0"}function bnNegate(){var n=nbi();return BigInteger.ZERO.subTo(this,n),n}function bnAbs(){return this.s<0?this.negate():this}function bnCompareTo(n){var t=this.s-n.s;if(t!=0)return t;var e=this.t;if(t=e-n.t,t!=0)return this.s<0?-t:t;for(;--e>=0;)if((t=this[e]-n[e])!=0)return t;return 0}function nbits(n){var t=1,e;return(e=n>>>16)!=0&&(n=e,t+=16),(e=n>>8)!=0&&(n=e,t+=8),(e=n>>4)!=0&&(n=e,t+=4),(e=n>>2)!=0&&(n=e,t+=2),(e=n>>1)!=0&&(n=e,t+=1),t}function bnBitLength(){return this.t<=0?0:this.DB*(this.t-1)+nbits(this[this.t-1]^this.s&this.DM)}function bnpDLShiftTo(n,t){var e;for(e=this.t-1;e>=0;--e)t[e+n]=this[e];for(e=n-1;e>=0;--e)t[e]=0;t.t=this.t+n,t.s=this.s}function bnpDRShiftTo(n,t){for(var e=n;e<this.t;++e)t[e-n]=this[e];t.t=Math.max(this.t-n,0),t.s=this.s}function bnpLShiftTo(n,t){var e=n%this.DB,r=this.DB-e,i=(1<<r)-1,o=Math.floor(n/this.DB),s=this.s<<e&this.DM,u;for(u=this.t-1;u>=0;--u)t[u+o+1]=this[u]>>r|s,s=(this[u]&i)<<e;for(u=o-1;u>=0;--u)t[u]=0;t[o]=s,t.t=this.t+o+1,t.s=this.s,t.clamp()}function bnpRShiftTo(n,t){t.s=this.s;var e=Math.floor(n/this.DB);if(e>=this.t){t.t=0;return}var r=n%this.DB,i=this.DB-r,o=(1<<r)-1;t[0]=this[e]>>r;for(var s=e+1;s<this.t;++s)t[s-e-1]|=(this[s]&o)<<i,t[s-e]=this[s]>>r;r>0&&(t[this.t-e-1]|=(this.s&o)<<i),t.t=this.t-e,t.clamp()}function bnpSubTo(n,t){for(var e=0,r=0,i=Math.min(n.t,this.t);e<i;)r+=this[e]-n[e],t[e++]=r&this.DM,r>>=this.DB;if(n.t<this.t){for(r-=n.s;e<this.t;)r+=this[e],t[e++]=r&this.DM,r>>=this.DB;r+=this.s}else{for(r+=this.s;e<n.t;)r-=n[e],t[e++]=r&this.DM,r>>=this.DB;r-=n.s}t.s=r<0?-1:0,r<-1?t[e++]=this.DV+r:r>0&&(t[e++]=r),t.t=e,t.clamp()}function bnpMultiplyTo(n,t){var e=this.abs(),r=n.abs(),i=e.t;for(t.t=i+r.t;--i>=0;)t[i]=0;for(i=0;i<r.t;++i)t[i+e.t]=e.am(0,r[i],t,i,0,e.t);t.s=0,t.clamp(),this.s!=n.s&&BigInteger.ZERO.subTo(t,t)}function bnpSquareTo(n){for(var t=this.abs(),e=n.t=2*t.t;--e>=0;)n[e]=0;for(e=0;e<t.t-1;++e){var r=t.am(e,t[e],n,2*e,0,1);(n[e+t.t]+=t.am(e+1,2*t[e],n,2*e+1,r,t.t-e-1))>=t.DV&&(n[e+t.t]-=t.DV,n[e+t.t+1]=1)}n.t>0&&(n[n.t-1]+=t.am(e,t[e],n,2*e,0,1)),n.s=0,n.clamp()}function bnpDivRemTo(n,t,e){var r=n.abs();if(!(r.t<=0)){var i=this.abs();if(i.t<r.t){t!=null&&t.fromInt(0),e!=null&&this.copyTo(e);return}e==null&&(e=nbi());var o=nbi(),s=this.s,u=n.s,l=this.DB-nbits(r[r.t-1]);l>0?(r.lShiftTo(l,o),i.lShiftTo(l,e)):(r.copyTo(o),i.copyTo(e));var c=o.t,d=o[c-1];if(d!=0){var f=d*(1<<this.F1)+(c>1?o[c-2]>>this.F2:0),v=this.FV/f,p=(1<<this.F1)/f,A=1<<this.F2,m=e.t,y=m-c,h=t==null?nbi():t;for(o.dlShiftTo(y,h),e.compareTo(h)>=0&&(e[e.t++]=1,e.subTo(h,e)),BigInteger.ONE.dlShiftTo(c,h),h.subTo(o,o);o.t<c;)o[o.t++]=0;for(;--y>=0;){var g=e[--m]==d?this.DM:Math.floor(e[m]*v+(e[m-1]+A)*p);if((e[m]+=o.am(0,g,e,y,0,c))<g)for(o.dlShiftTo(y,h),e.subTo(h,e);e[m]<--g;)e.subTo(h,e)}t!=null&&(e.drShiftTo(c,t),s!=u&&BigInteger.ZERO.subTo(t,t)),e.t=c,e.clamp(),l>0&&e.rShiftTo(l,e),s<0&&BigInteger.ZERO.subTo(e,e)}}}function bnMod(n){var t=nbi();return this.abs().divRemTo(n,null,t),this.s<0&&t.compareTo(BigInteger.ZERO)>0&&n.subTo(t,t),t}function Classic(n){this.m=n}function cConvert(n){return n.s<0||n.compareTo(this.m)>=0?n.mod(this.m):n}function cRevert(n){return n}function cReduce(n){n.divRemTo(this.m,null,n)}function cMulTo(n,t,e){n.multiplyTo(t,e),this.reduce(e)}function cSqrTo(n,t){n.squareTo(t),this.reduce(t)}Classic.prototype.convert=cConvert,Classic.prototype.revert=cRevert,Classic.prototype.reduce=cReduce,Classic.prototype.mulTo=cMulTo,Classic.prototype.sqrTo=cSqrTo;function bnpInvDigit(){if(this.t<1)return 0;var n=this[0];if(!(n&1))return 0;var t=n&3;return t=t*(2-(n&15)*t)&15,t=t*(2-(n&255)*t)&255,t=t*(2-((n&65535)*t&65535))&65535,t=t*(2-n*t%this.DV)%this.DV,t>0?this.DV-t:-t}function Montgomery(n){this.m=n,this.mp=n.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<n.DB-15)-1,this.mt2=2*n.t}function montConvert(n){var t=nbi();return n.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),n.s<0&&t.compareTo(BigInteger.ZERO)>0&&this.m.subTo(t,t),t}function montRevert(n){var t=nbi();return n.copyTo(t),this.reduce(t),t}function montReduce(n){for(;n.t<=this.mt2;)n[n.t++]=0;for(var t=0;t<this.m.t;++t){var e=n[t]&32767,r=e*this.mpl+((e*this.mph+(n[t]>>15)*this.mpl&this.um)<<15)&n.DM;for(e=t+this.m.t,n[e]+=this.m.am(0,r,n,t,0,this.m.t);n[e]>=n.DV;)n[e]-=n.DV,n[++e]++}n.clamp(),n.drShiftTo(this.m.t,n),n.compareTo(this.m)>=0&&n.subTo(this.m,n)}function montSqrTo(n,t){n.squareTo(t),this.reduce(t)}function montMulTo(n,t,e){n.multiplyTo(t,e),this.reduce(e)}Montgomery.prototype.convert=montConvert,Montgomery.prototype.revert=montRevert,Montgomery.prototype.reduce=montReduce,Montgomery.prototype.mulTo=montMulTo,Montgomery.prototype.sqrTo=montSqrTo;function bnpIsEven(){return(this.t>0?this[0]&1:this.s)==0}function bnpExp(n,t){if(n>4294967295||n<1)return BigInteger.ONE;var e=nbi(),r=nbi(),i=t.convert(this),o=nbits(n)-1;for(i.copyTo(e);--o>=0;)if(t.sqrTo(e,r),(n&1<<o)>0)t.mulTo(r,i,e);else{var s=e;e=r,r=s}return t.revert(e)}function bnModPowInt(n,t){var e;return n<256||t.isEven()?e=new Classic(t):e=new Montgomery(t),this.exp(n,e)}BigInteger.prototype.copyTo=bnpCopyTo,BigInteger.prototype.fromInt=bnpFromInt,BigInteger.prototype.fromString=bnpFromString,BigInteger.prototype.clamp=bnpClamp,BigInteger.prototype.dlShiftTo=bnpDLShiftTo,BigInteger.prototype.drShiftTo=bnpDRShiftTo,BigInteger.prototype.lShiftTo=bnpLShiftTo,BigInteger.prototype.rShiftTo=bnpRShiftTo,BigInteger.prototype.subTo=bnpSubTo,BigInteger.prototype.multiplyTo=bnpMultiplyTo,BigInteger.prototype.squareTo=bnpSquareTo,BigInteger.prototype.divRemTo=bnpDivRemTo,BigInteger.prototype.invDigit=bnpInvDigit,BigInteger.prototype.isEven=bnpIsEven,BigInteger.prototype.exp=bnpExp,BigInteger.prototype.toString=bnToString,BigInteger.prototype.negate=bnNegate,BigInteger.prototype.abs=bnAbs,BigInteger.prototype.compareTo=bnCompareTo,BigInteger.prototype.bitLength=bnBitLength,BigInteger.prototype.mod=bnMod,BigInteger.prototype.modPowInt=bnModPowInt,BigInteger.ZERO=nbv(0),BigInteger.ONE=nbv(1);/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ */function bnIntValue(){if(this.s<0){if(this.t==1)return this[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this[0];if(this.t==0)return 0}return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]}function bnpChunkSize(n){return Math.floor(Math.LN2*this.DB/Math.log(n))}function bnSigNum(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function bnpToRadix(n){if(n==null&&(n=10),this.signum()==0||n<2||n>36)return"0";var t=this.chunkSize(n),e=Math.pow(n,t),r=nbv(e),i=nbi(),o=nbi(),s="";for(this.divRemTo(r,i,o);i.signum()>0;)s=(e+o.intValue()).toString(n).substr(1)+s,i.divRemTo(r,i,o);return o.intValue().toString(n)+s}BigInteger.prototype.chunkSize=bnpChunkSize,BigInteger.prototype.toRadix=bnpToRadix,BigInteger.prototype.intValue=bnIntValue,BigInteger.prototype.signum=bnSigNum;/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ */var b64map="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",b64pad="=";function hex2b64(n){var t,e,r="";for(t=0;t+3<=n.length;t+=3)e=parseInt(n.substring(t,t+3),16),r+=b64map.charAt(e>>6)+b64map.charAt(e&63);for(t+1==n.length?(e=parseInt(n.substring(t,t+1),16),r+=b64map.charAt(e<<2)):t+2==n.length&&(e=parseInt(n.substring(t,t+2),16),r+=b64map.charAt(e>>2)+b64map.charAt((e&3)<<4));(r.length&3)>0;)r+=b64pad;return r}function b64tohex(n){var t="",e,r=0,i,o;for(e=0;e<n.length&&n.charAt(e)!=b64pad;++e)o=b64map.indexOf(n.charAt(e)),!(o<0)&&(r==0?(t+=int2char(o>>2),i=o&3,r=1):r==1?(t+=int2char(i<<2|o>>4),i=o&15,r=2):r==2?(t+=int2char(i),t+=int2char(o>>2),i=o&3,r=3):(t+=int2char(i<<2|o>>4),t+=int2char(o&15),r=0));return r==1&&(t+=int2char(i<<2)),t}/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ */function parseBigInt(n,t){return new BigInteger(n,t)}function pkcs1pad2(n,t){if(t<n.length+11)throw"Message too long for RSA";for(var e=new Array,r=n.length-1;r>=0&&t>0;){var i=n.charCodeAt(r--);i<128?e[--t]=i:i>127&&i<2048?(e[--t]=i&63|128,e[--t]=i>>6|192):(e[--t]=i&63|128,e[--t]=i>>6&63|128,e[--t]=i>>12|224)}e[--t]=0;for(var o=new SecureRandom,s=new Array;t>2;){for(s[0]=0;s[0]==0;)o.nextBytes(s);e[--t]=s[0]}return e[--t]=2,e[--t]=0,new BigInteger(e)}function oaep_mgf1_arr(n,t,e){for(var r="",i=0;r.length<t;)r+=e(String.fromCharCode.apply(String,n.concat([(i&4278190080)>>24,(i&16711680)>>16,(i&65280)>>8,i&255]))),i+=1;return r}function oaep_pad(n,t,e,r){var i=KJUR.crypto.MessageDigest,o=KJUR.crypto.Util,s=null;if(e||(e="sha1"),typeof e=="string"&&(s=i.getCanonicalAlgName(e),r=i.getHashLength(s),e=function(m){return hextorstr(o.hashHex(rstrtohex(m),s))}),n.length+2*r+2>t)throw"Message too long for RSA";var u="",l;for(l=0;l<t-n.length-2*r-2;l+=1)u+="\0";var c=e("")+u+""+n,d=new Array(r);new SecureRandom().nextBytes(d);var f=oaep_mgf1_arr(d,c.length,e),v=[];for(l=0;l<c.length;l+=1)v[l]=c.charCodeAt(l)^f.charCodeAt(l);var p=oaep_mgf1_arr(v,d.length,e),A=[0];for(l=0;l<d.length;l+=1)A[l+1]=d[l]^p.charCodeAt(l);return new BigInteger(A.concat(v))}function RSAKey(){this.n=null,this.e=0,this.d=null,this.p=null,this.q=null,this.dmp1=null,this.dmq1=null,this.coeff=null}function RSASetPublic(n,t){if(this.isPublic=!0,this.isPrivate=!1,typeof n!="string")this.n=n,this.e=t;else if(n!=null&&t!=null&&n.length>0&&t.length>0)this.n=parseBigInt(n,16),this.e=parseInt(t,16);else throw"Invalid RSA public key"}function RSADoPublic(n){return n.modPowInt(this.e,this.n)}function RSAEncrypt(n){var t=pkcs1pad2(n,this.n.bitLength()+7>>3);if(t==null)return null;var e=this.doPublic(t);if(e==null)return null;var r=e.toString(16);return r.length&1?"0"+r:r}function RSAEncryptOAEP(n,t,e){var r=oaep_pad(n,this.n.bitLength()+7>>3,t,e);if(r==null)return null;var i=this.doPublic(r);if(i==null)return null;var o=i.toString(16);return o.length&1?"0"+o:o}RSAKey.prototype.doPublic=RSADoPublic,RSAKey.prototype.setPublic=RSASetPublic,RSAKey.prototype.encrypt=RSAEncrypt,RSAKey.prototype.encryptOAEP=RSAEncryptOAEP,RSAKey.prototype.type="RSA";/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ */function pkcs1unpad2(n,t){for(var e=n.toByteArray(),r=0;r<e.length&&e[r]==0;)++r;if(e.length-r!=t-1||e[r]!=2)return null;for(++r;e[r]!=0;)if(++r>=e.length)return null;for(var i="";++r<e.length;){var o=e[r]&255;o<128?i+=String.fromCharCode(o):o>191&&o<224?(i+=String.fromCharCode((o&31)<<6|e[r+1]&63),++r):(i+=String.fromCharCode((o&15)<<12|(e[r+1]&63)<<6|e[r+2]&63),r+=2)}return i}function oaep_mgf1_str(n,t,e){for(var r="",i=0;r.length<t;)r+=e(n+String.fromCharCode.apply(String,[(i&4278190080)>>24,(i&16711680)>>16,(i&65280)>>8,i&255])),i+=1;return r}function oaep_unpad(n,t,e,r){var i=KJUR.crypto.MessageDigest,o=KJUR.crypto.Util,s=null;e||(e="sha1"),typeof e=="string"&&(s=i.getCanonicalAlgName(e),r=i.getHashLength(s),e=function(y){return hextorstr(o.hashHex(rstrtohex(y),s))}),n=n.toByteArray();var f;for(f=0;f<n.length;f+=1)n[f]&=255;for(;n.length<t;)n.unshift(0);if(n=String.fromCharCode.apply(String,n),n.length<2*r+2)throw"Cipher too short";var u=n.substr(1,r),l=n.substr(r+1),c=oaep_mgf1_str(l,r,e),d=[],f;for(f=0;f<u.length;f+=1)d[f]=u.charCodeAt(f)^c.charCodeAt(f);var v=oaep_mgf1_str(String.fromCharCode.apply(String,d),n.length-r,e),p=[];for(f=0;f<l.length;f+=1)p[f]=l.charCodeAt(f)^v.charCodeAt(f);if(p=String.fromCharCode.apply(String,p),p.substr(0,r)!==e(""))throw"Hash mismatch";p=p.substr(r);var A=p.indexOf(""),m=A!=-1?p.substr(0,A).lastIndexOf("\0"):-1;if(m+1!=A)throw"Malformed data";return p.substr(A+1)}function RSASetPrivate(n,t,e){if(this.isPrivate=!0,typeof n!="string")this.n=n,this.e=t,this.d=e;else if(n!=null&&t!=null&&n.length>0&&t.length>0)this.n=parseBigInt(n,16),this.e=parseInt(t,16),this.d=parseBigInt(e,16);else throw"Invalid RSA private key"}function RSASetPrivateEx(n,t,e,r,i,o,s,u){if(this.isPrivate=!0,this.isPublic=!1,n==null)throw"RSASetPrivateEx N == null";if(t==null)throw"RSASetPrivateEx E == null";if(n.length==0)throw"RSASetPrivateEx N.length == 0";if(t.length==0)throw"RSASetPrivateEx E.length == 0";if(n!=null&&t!=null&&n.length>0&&t.length>0)this.n=parseBigInt(n,16),this.e=parseInt(t,16),this.d=parseBigInt(e,16),this.p=parseBigInt(r,16),this.q=parseBigInt(i,16),this.dmp1=parseBigInt(o,16),this.dmq1=parseBigInt(s,16),this.coeff=parseBigInt(u,16);else throw"Invalid RSA private key in RSASetPrivateEx"}function RSADoPrivate(n){if(this.p==null||this.q==null)return n.modPow(this.d,this.n);for(var t=n.mod(this.p).modPow(this.dmp1,this.p),e=n.mod(this.q).modPow(this.dmq1,this.q);t.compareTo(e)<0;)t=t.add(this.p);return t.subtract(e).multiply(this.coeff).mod(this.p).multiply(this.q).add(e)}function RSADecrypt(n){if(n.length!=Math.ceil(this.n.bitLength()/4))throw new Error("wrong ctext length");var t=parseBigInt(n,16),e=this.doPrivate(t);return e==null?null:pkcs1unpad2(e,this.n.bitLength()+7>>3)}function RSADecryptOAEP(n,t,e){if(n.length!=Math.ceil(this.n.bitLength()/4))throw new Error("wrong ctext length");var r=parseBigInt(n,16),i=this.doPrivate(r);return i==null?null:oaep_unpad(i,this.n.bitLength()+7>>3,t,e)}RSAKey.prototype.doPrivate=RSADoPrivate,RSAKey.prototype.setPrivate=RSASetPrivate,RSAKey.prototype.setPrivateEx=RSASetPrivateEx,RSAKey.prototype.decrypt=RSADecrypt,RSAKey.prototype.decryptOAEP=RSADecryptOAEP,(typeof KJUR.lang=="undefined"||!KJUR.lang)&&(KJUR.lang={}),KJUR.lang.String=function(){};function b64utob64(n){return n.length%4==2?n=n+"==":n.length%4==3&&(n=n+"="),n=n.replace(/-/g,"+"),n=n.replace(/_/g,"/"),n}function b64utohex(n){return b64tohex(b64utob64(n))}function hextoutf8(n){return decodeURIComponent(hextouricmp(n))}function hextorstr(n){for(var t="",e=0;e<n.length-1;e+=2)t+=String.fromCharCode(parseInt(n.substr(e,2),16));return t}function rstrtohex(n){for(var t="",e=0;e<n.length;e++)t+=("0"+n.charCodeAt(e).toString(16)).slice(-2);return t}function hextob64(n){return hex2b64(n)}function hextob64nl(n){var t=hextob64(n),e=t.replace(/(.{64})/g,`$1\r
|
|
342
|
+
*/var KJUR={},CryptoJS=CryptoJS||function(n,t){var e={},r=e.lib={},i=r.Base=function(){function m(){}return{extend:function(p){m.prototype=this;var A=new m;return p&&A.mixIn(p),A.hasOwnProperty("init")||(A.init=function(){A.$super.init.apply(this,arguments)}),A.init.prototype=A,A.$super=this,A},create:function(){var p=this.extend();return p.init.apply(p,arguments),p},init:function(){},mixIn:function(p){for(var A in p)p.hasOwnProperty(A)&&(this[A]=p[A]);p.hasOwnProperty("toString")&&(this.toString=p.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),o=r.WordArray=i.extend({init:function(m,p){m=this.words=m||[],p!=t?this.sigBytes=p:this.sigBytes=m.length*4},toString:function(m){return(m||u).stringify(this)},concat:function(m){var p=this.words,A=m.words,v=this.sigBytes,g=m.sigBytes;if(this.clamp(),v%4)for(var h=0;h<g;h++){var y=A[h>>>2]>>>24-h%4*8&255;p[v+h>>>2]|=y<<24-(v+h)%4*8}else for(var h=0;h<g;h+=4)p[v+h>>>2]=A[h>>>2];return this.sigBytes+=g,this},clamp:function(){var m=this.words,p=this.sigBytes;m[p>>>2]&=4294967295<<32-p%4*8,m.length=n.ceil(p/4)},clone:function(){var m=i.clone.call(this);return m.words=this.words.slice(0),m},random:function(m){for(var p=[],A=0;A<m;A+=4)p.push(n.random()*4294967296|0);return new o.init(p,m)}}),s=e.enc={},u=s.Hex={stringify:function(m){for(var p=m.words,A=m.sigBytes,v=[],g=0;g<A;g++){var h=p[g>>>2]>>>24-g%4*8&255;v.push((h>>>4).toString(16)),v.push((h&15).toString(16))}return v.join("")},parse:function(m){for(var p=m.length,A=[],v=0;v<p;v+=2)A[v>>>3]|=parseInt(m.substr(v,2),16)<<24-v%8*4;return new o.init(A,p/2)}},c=s.Latin1={stringify:function(m){for(var p=m.words,A=m.sigBytes,v=[],g=0;g<A;g++){var h=p[g>>>2]>>>24-g%4*8&255;v.push(String.fromCharCode(h))}return v.join("")},parse:function(m){for(var p=m.length,A=[],v=0;v<p;v++)A[v>>>2]|=(m.charCodeAt(v)&255)<<24-v%4*8;return new o.init(A,p)}},l=s.Utf8={stringify:function(m){try{return decodeURIComponent(escape(c.stringify(m)))}catch(p){throw new Error("Malformed UTF-8 data")}},parse:function(m){return c.parse(unescape(encodeURIComponent(m)))}},d=r.BufferedBlockAlgorithm=i.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(m){typeof m=="string"&&(m=l.parse(m)),this._data.concat(m),this._nDataBytes+=m.sigBytes},_process:function(m){var p=this._data,A=p.words,v=p.sigBytes,g=this.blockSize,h=g*4,y=v/h;m?y=n.ceil(y):y=n.max((y|0)-this._minBufferSize,0);var b=y*g,E=n.min(b*4,v);if(b){for(var T=0;T<b;T+=g)this._doProcessBlock(A,T);var x=A.splice(0,b);p.sigBytes-=E}return new o.init(x,E)},clone:function(){var m=i.clone.call(this);return m._data=this._data.clone(),m},_minBufferSize:0});r.Hasher=d.extend({cfg:i.extend(),init:function(m){this.cfg=this.cfg.extend(m),this.reset()},reset:function(){d.reset.call(this),this._doReset()},update:function(m){return this._append(m),this._process(),this},finalize:function(m){m&&this._append(m);var p=this._doFinalize();return p},blockSize:512/32,_createHelper:function(m){return function(p,A){return new m.init(A).finalize(p)}},_createHmacHelper:function(m){return function(p,A){return new f.HMAC.init(m,A).finalize(p)}}});var f=e.algo={};return e}(Math);(function(n){for(var t=CryptoJS,p=t.lib,e=p.WordArray,r=p.Hasher,p=t.algo,i=[],o=[],s=function(v){return 4294967296*(v-(v|0))|0},u=2,c=0;64>c;){var l;e:{l=u;for(var d=n.sqrt(l),f=2;f<=d;f++)if(!(l%f)){l=!1;break e}l=!0}l&&(8>c&&(i[c]=s(n.pow(u,.5))),o[c]=s(n.pow(u,1/3)),c++),u++}var m=[],p=p.SHA256=r.extend({_doReset:function(){this._hash=new e.init(i.slice(0))},_doProcessBlock:function(A,v){for(var g=this._hash.words,h=g[0],y=g[1],b=g[2],E=g[3],T=g[4],x=g[5],_=g[6],w=g[7],S=0;64>S;S++){if(16>S)m[S]=A[v+S]|0;else{var M=m[S-15],C=m[S-2];m[S]=((M<<25|M>>>7)^(M<<14|M>>>18)^M>>>3)+m[S-7]+((C<<15|C>>>17)^(C<<13|C>>>19)^C>>>10)+m[S-16]}M=w+((T<<26|T>>>6)^(T<<21|T>>>11)^(T<<7|T>>>25))+(T&x^~T&_)+o[S]+m[S],C=((h<<30|h>>>2)^(h<<19|h>>>13)^(h<<10|h>>>22))+(h&y^h&b^y&b),w=_,_=x,x=T,T=E+M|0,E=b,b=y,y=h,h=M+C|0}g[0]=g[0]+h|0,g[1]=g[1]+y|0,g[2]=g[2]+b|0,g[3]=g[3]+E|0,g[4]=g[4]+T|0,g[5]=g[5]+x|0,g[6]=g[6]+_|0,g[7]=g[7]+w|0},_doFinalize:function(){var A=this._data,v=A.words,g=8*this._nDataBytes,h=8*A.sigBytes;return v[h>>>5]|=128<<24-h%32,v[(h+64>>>9<<4)+14]=n.floor(g/4294967296),v[(h+64>>>9<<4)+15]=g,A.sigBytes=4*v.length,this._process(),this._hash},clone:function(){var A=r.clone.call(this);return A._hash=this._hash.clone(),A}});t.SHA256=r._createHelper(p),t.HmacSHA256=r._createHmacHelper(p)})(Math),CryptoJS.lib.Cipher||function(n){var p=CryptoJS,t=p.lib,e=t.Base,r=t.WordArray,i=t.BufferedBlockAlgorithm,o=p.enc.Base64,s=p.algo.EvpKDF,u=t.Cipher=i.extend({cfg:e.extend(),createEncryptor:function(v,g){return this.create(this._ENC_XFORM_MODE,v,g)},createDecryptor:function(v,g){return this.create(this._DEC_XFORM_MODE,v,g)},init:function(v,g,h){this.cfg=this.cfg.extend(h),this._xformMode=v,this._key=g,this.reset()},reset:function(){i.reset.call(this),this._doReset()},process:function(v){return this._append(v),this._process()},finalize:function(v){return v&&this._append(v),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(v){return{encrypt:function(g,h,y){return(typeof h=="string"?A:m).encrypt(v,g,h,y)},decrypt:function(g,h,y){return(typeof h=="string"?A:m).decrypt(v,g,h,y)}}}});t.StreamCipher=u.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var f=p.mode={},c=function(v,g,h){var y=this._iv;y?this._iv=n:y=this._prevBlock;for(var b=0;b<h;b++)v[g+b]^=y[b]},l=(t.BlockCipherMode=e.extend({createEncryptor:function(v,g){return this.Encryptor.create(v,g)},createDecryptor:function(v,g){return this.Decryptor.create(v,g)},init:function(v,g){this._cipher=v,this._iv=g}})).extend();l.Encryptor=l.extend({processBlock:function(v,g){var h=this._cipher,y=h.blockSize;c.call(this,v,g,y),h.encryptBlock(v,g),this._prevBlock=v.slice(g,g+y)}}),l.Decryptor=l.extend({processBlock:function(v,g){var h=this._cipher,y=h.blockSize,b=v.slice(g,g+y);h.decryptBlock(v,g),c.call(this,v,g,y),this._prevBlock=b}}),f=f.CBC=l,l=(p.pad={}).Pkcs7={pad:function(v,g){for(var h=4*g,h=h-v.sigBytes%h,y=h<<24|h<<16|h<<8|h,b=[],E=0;E<h;E+=4)b.push(y);h=r.create(b,h),v.concat(h)},unpad:function(v){v.sigBytes-=v.words[v.sigBytes-1>>>2]&255}},t.BlockCipher=u.extend({cfg:u.cfg.extend({mode:f,padding:l}),reset:function(){u.reset.call(this);var g=this.cfg,v=g.iv,g=g.mode;if(this._xformMode==this._ENC_XFORM_MODE)var h=g.createEncryptor;else h=g.createDecryptor,this._minBufferSize=1;this._mode=h.call(g,this,v&&v.words)},_doProcessBlock:function(v,g){this._mode.processBlock(v,g)},_doFinalize:function(){var v=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){v.pad(this._data,this.blockSize);var g=this._process(!0)}else g=this._process(!0),v.unpad(g);return g},blockSize:4});var d=t.CipherParams=e.extend({init:function(v){this.mixIn(v)},toString:function(v){return(v||this.formatter).stringify(this)}}),f=(p.format={}).OpenSSL={stringify:function(v){var g=v.ciphertext;return v=v.salt,(v?r.create([1398893684,1701076831]).concat(v).concat(g):g).toString(o)},parse:function(v){v=o.parse(v);var g=v.words;if(g[0]==1398893684&&g[1]==1701076831){var h=r.create(g.slice(2,4));g.splice(0,4),v.sigBytes-=16}return d.create({ciphertext:v,salt:h})}},m=t.SerializableCipher=e.extend({cfg:e.extend({format:f}),encrypt:function(v,g,h,y){y=this.cfg.extend(y);var b=v.createEncryptor(h,y);return g=b.finalize(g),b=b.cfg,d.create({ciphertext:g,key:h,iv:b.iv,algorithm:v,mode:b.mode,padding:b.padding,blockSize:v.blockSize,formatter:y.format})},decrypt:function(v,g,h,y){return y=this.cfg.extend(y),g=this._parse(g,y.format),v.createDecryptor(h,y).finalize(g.ciphertext)},_parse:function(v,g){return typeof v=="string"?g.parse(v,this):v}}),p=(p.kdf={}).OpenSSL={execute:function(v,g,h,y){return y||(y=r.random(8)),v=s.create({keySize:g+h}).compute(v,y),h=r.create(v.words.slice(g),4*h),v.sigBytes=4*g,d.create({key:v,iv:h,salt:y})}},A=t.PasswordBasedCipher=m.extend({cfg:m.cfg.extend({kdf:p}),encrypt:function(v,g,h,y){return y=this.cfg.extend(y),h=y.kdf.execute(h,v.keySize,v.ivSize),y.iv=h.iv,v=m.encrypt.call(this,v,g,h.key,y),v.mixIn(h),v},decrypt:function(v,g,h,y){return y=this.cfg.extend(y),g=this._parse(g,y.format),h=y.kdf.execute(h,v.keySize,v.ivSize,g.salt),y.iv=h.iv,m.decrypt.call(this,v,g,h.key,y)}})}(),function(){for(var n=CryptoJS,t=n.lib.BlockCipher,x=n.algo,e=[],r=[],i=[],o=[],s=[],u=[],c=[],l=[],d=[],f=[],m=[],p=0;256>p;p++)m[p]=128>p?p<<1:p<<1^283;for(var A=0,v=0,p=0;256>p;p++){var g=v^v<<1^v<<2^v<<3^v<<4,g=g>>>8^g&255^99;e[A]=g,r[g]=A;var h=m[A],y=m[h],b=m[y],E=257*m[g]^16843008*g;i[A]=E<<24|E>>>8,o[A]=E<<16|E>>>16,s[A]=E<<8|E>>>24,u[A]=E,E=16843009*b^65537*y^257*h^16843008*A,c[g]=E<<24|E>>>8,l[g]=E<<16|E>>>16,d[g]=E<<8|E>>>24,f[g]=E,A?(A=h^m[m[m[b^h]]],v^=m[m[v]]):A=v=1}var T=[0,1,2,4,8,16,32,64,128,27,54],x=x.AES=t.extend({_doReset:function(){for(var S=this._key,_=S.words,w=S.sigBytes/4,S=4*((this._nRounds=w+6)+1),M=this._keySchedule=[],C=0;C<S;C++)if(C<w)M[C]=_[C];else{var I=M[C-1];C%w?6<w&&C%w==4&&(I=e[I>>>24]<<24|e[I>>>16&255]<<16|e[I>>>8&255]<<8|e[I&255]):(I=I<<8|I>>>24,I=e[I>>>24]<<24|e[I>>>16&255]<<16|e[I>>>8&255]<<8|e[I&255],I^=T[C/w|0]<<24),M[C]=M[C-w]^I}for(_=this._invKeySchedule=[],w=0;w<S;w++)C=S-w,I=w%4?M[C]:M[C-4],_[w]=4>w||4>=C?I:c[e[I>>>24]]^l[e[I>>>16&255]]^d[e[I>>>8&255]]^f[e[I&255]]},encryptBlock:function(_,w){this._doCryptBlock(_,w,this._keySchedule,i,o,s,u,e)},decryptBlock:function(_,w){var S=_[w+1];_[w+1]=_[w+3],_[w+3]=S,this._doCryptBlock(_,w,this._invKeySchedule,c,l,d,f,r),S=_[w+1],_[w+1]=_[w+3],_[w+3]=S},_doCryptBlock:function(_,w,S,M,C,I,B,F){for(var L=this._nRounds,W=_[w]^S[0],q=_[w+1]^S[1],G=_[w+2]^S[2],U=_[w+3]^S[3],k=4,O=1;O<L;O++)var D=M[W>>>24]^C[q>>>16&255]^I[G>>>8&255]^B[U&255]^S[k++],Q=M[q>>>24]^C[G>>>16&255]^I[U>>>8&255]^B[W&255]^S[k++],N=M[G>>>24]^C[U>>>16&255]^I[W>>>8&255]^B[q&255]^S[k++],U=M[U>>>24]^C[W>>>16&255]^I[q>>>8&255]^B[G&255]^S[k++],W=D,q=Q,G=N;D=(F[W>>>24]<<24|F[q>>>16&255]<<16|F[G>>>8&255]<<8|F[U&255])^S[k++],Q=(F[q>>>24]<<24|F[G>>>16&255]<<16|F[U>>>8&255]<<8|F[W&255])^S[k++],N=(F[G>>>24]<<24|F[U>>>16&255]<<16|F[W>>>8&255]<<8|F[q&255])^S[k++],U=(F[U>>>24]<<24|F[W>>>16&255]<<16|F[q>>>8&255]<<8|F[G&255])^S[k++],_[w]=D,_[w+1]=Q,_[w+2]=N,_[w+3]=U},keySize:8});n.AES=t._createHelper(x)}();/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/
|
|
343
|
+
*/var dbits;function BigInteger(n,t,e){n!=null&&(typeof n=="number"?this.fromNumber(n,t,e):t==null&&typeof n!="string"?this.fromString(n,256):this.fromString(n,t))}function nbi(){return new BigInteger(null)}function am1(n,t,e,r,i,o){for(;--o>=0;){var s=t*this[n++]+e[r]+i;i=Math.floor(s/67108864),e[r++]=s&67108863}return i}function am2(n,t,e,r,i,o){for(var s=t&32767,u=t>>15;--o>=0;){var c=this[n]&32767,l=this[n++]>>15,d=u*c+l*s;c=s*c+((d&32767)<<15)+e[r]+(i&1073741823),i=(c>>>30)+(d>>>15)+u*l+(i>>>30),e[r++]=c&1073741823}return i}function am3(n,t,e,r,i,o){for(var s=t&16383,u=t>>14;--o>=0;){var c=this[n]&16383,l=this[n++]>>14,d=u*c+l*s;c=s*c+((d&16383)<<14)+e[r]+i,i=(c>>28)+(d>>14)+u*l,e[r++]=c&268435455}return i}typeof navigator!="undefined"&&navigator.appName=="Microsoft Internet Explorer"?(BigInteger.prototype.am=am2,dbits=30):typeof navigator!="undefined"&&navigator.appName!="Netscape"?(BigInteger.prototype.am=am1,dbits=26):(BigInteger.prototype.am=am3,dbits=28),BigInteger.prototype.DB=dbits,BigInteger.prototype.DM=(1<<dbits)-1,BigInteger.prototype.DV=1<<dbits;var BI_FP=52;BigInteger.prototype.FV=Math.pow(2,BI_FP),BigInteger.prototype.F1=BI_FP-dbits,BigInteger.prototype.F2=2*dbits-BI_FP;var BI_RM="0123456789abcdefghijklmnopqrstuvwxyz",BI_RC=new Array,rr,vv;for(rr=48,vv=0;vv<=9;++vv)BI_RC[rr++]=vv;for(rr=97,vv=10;vv<36;++vv)BI_RC[rr++]=vv;for(rr=65,vv=10;vv<36;++vv)BI_RC[rr++]=vv;function int2char(n){return BI_RM.charAt(n)}function intAt(n,t){var e=BI_RC[n.charCodeAt(t)];return e==null?-1:e}function bnpCopyTo(n){for(var t=this.t-1;t>=0;--t)n[t]=this[t];n.t=this.t,n.s=this.s}function bnpFromInt(n){this.t=1,this.s=n<0?-1:0,n>0?this[0]=n:n<-1?this[0]=n+this.DV:this.t=0}function nbv(n){var t=nbi();return t.fromInt(n),t}function bnpFromString(n,t){var e;if(t==16)e=4;else if(t==8)e=3;else if(t==256)e=8;else if(t==2)e=1;else if(t==32)e=5;else if(t==4)e=2;else{this.fromRadix(n,t);return}this.t=0,this.s=0;for(var r=n.length,i=!1,o=0;--r>=0;){var s=e==8?n[r]&255:intAt(n,r);if(s<0){n.charAt(r)=="-"&&(i=!0);continue}i=!1,o==0?this[this.t++]=s:o+e>this.DB?(this[this.t-1]|=(s&(1<<this.DB-o)-1)<<o,this[this.t++]=s>>this.DB-o):this[this.t-1]|=s<<o,o+=e,o>=this.DB&&(o-=this.DB)}e==8&&n[0]&128&&(this.s=-1,o>0&&(this[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),i&&BigInteger.ZERO.subTo(this,this)}function bnpClamp(){for(var n=this.s&this.DM;this.t>0&&this[this.t-1]==n;)--this.t}function bnToString(n){if(this.s<0)return"-"+this.negate().toString(n);var t;if(n==16)t=4;else if(n==8)t=3;else if(n==2)t=1;else if(n==32)t=5;else if(n==4)t=2;else return this.toRadix(n);var e=(1<<t)-1,r,i=!1,o="",s=this.t,u=this.DB-s*this.DB%t;if(s-- >0)for(u<this.DB&&(r=this[s]>>u)>0&&(i=!0,o=int2char(r));s>=0;)u<t?(r=(this[s]&(1<<u)-1)<<t-u,r|=this[--s]>>(u+=this.DB-t)):(r=this[s]>>(u-=t)&e,u<=0&&(u+=this.DB,--s)),r>0&&(i=!0),i&&(o+=int2char(r));return i?o:"0"}function bnNegate(){var n=nbi();return BigInteger.ZERO.subTo(this,n),n}function bnAbs(){return this.s<0?this.negate():this}function bnCompareTo(n){var t=this.s-n.s;if(t!=0)return t;var e=this.t;if(t=e-n.t,t!=0)return this.s<0?-t:t;for(;--e>=0;)if((t=this[e]-n[e])!=0)return t;return 0}function nbits(n){var t=1,e;return(e=n>>>16)!=0&&(n=e,t+=16),(e=n>>8)!=0&&(n=e,t+=8),(e=n>>4)!=0&&(n=e,t+=4),(e=n>>2)!=0&&(n=e,t+=2),(e=n>>1)!=0&&(n=e,t+=1),t}function bnBitLength(){return this.t<=0?0:this.DB*(this.t-1)+nbits(this[this.t-1]^this.s&this.DM)}function bnpDLShiftTo(n,t){var e;for(e=this.t-1;e>=0;--e)t[e+n]=this[e];for(e=n-1;e>=0;--e)t[e]=0;t.t=this.t+n,t.s=this.s}function bnpDRShiftTo(n,t){for(var e=n;e<this.t;++e)t[e-n]=this[e];t.t=Math.max(this.t-n,0),t.s=this.s}function bnpLShiftTo(n,t){var e=n%this.DB,r=this.DB-e,i=(1<<r)-1,o=Math.floor(n/this.DB),s=this.s<<e&this.DM,u;for(u=this.t-1;u>=0;--u)t[u+o+1]=this[u]>>r|s,s=(this[u]&i)<<e;for(u=o-1;u>=0;--u)t[u]=0;t[o]=s,t.t=this.t+o+1,t.s=this.s,t.clamp()}function bnpRShiftTo(n,t){t.s=this.s;var e=Math.floor(n/this.DB);if(e>=this.t){t.t=0;return}var r=n%this.DB,i=this.DB-r,o=(1<<r)-1;t[0]=this[e]>>r;for(var s=e+1;s<this.t;++s)t[s-e-1]|=(this[s]&o)<<i,t[s-e]=this[s]>>r;r>0&&(t[this.t-e-1]|=(this.s&o)<<i),t.t=this.t-e,t.clamp()}function bnpSubTo(n,t){for(var e=0,r=0,i=Math.min(n.t,this.t);e<i;)r+=this[e]-n[e],t[e++]=r&this.DM,r>>=this.DB;if(n.t<this.t){for(r-=n.s;e<this.t;)r+=this[e],t[e++]=r&this.DM,r>>=this.DB;r+=this.s}else{for(r+=this.s;e<n.t;)r-=n[e],t[e++]=r&this.DM,r>>=this.DB;r-=n.s}t.s=r<0?-1:0,r<-1?t[e++]=this.DV+r:r>0&&(t[e++]=r),t.t=e,t.clamp()}function bnpMultiplyTo(n,t){var e=this.abs(),r=n.abs(),i=e.t;for(t.t=i+r.t;--i>=0;)t[i]=0;for(i=0;i<r.t;++i)t[i+e.t]=e.am(0,r[i],t,i,0,e.t);t.s=0,t.clamp(),this.s!=n.s&&BigInteger.ZERO.subTo(t,t)}function bnpSquareTo(n){for(var t=this.abs(),e=n.t=2*t.t;--e>=0;)n[e]=0;for(e=0;e<t.t-1;++e){var r=t.am(e,t[e],n,2*e,0,1);(n[e+t.t]+=t.am(e+1,2*t[e],n,2*e+1,r,t.t-e-1))>=t.DV&&(n[e+t.t]-=t.DV,n[e+t.t+1]=1)}n.t>0&&(n[n.t-1]+=t.am(e,t[e],n,2*e,0,1)),n.s=0,n.clamp()}function bnpDivRemTo(n,t,e){var r=n.abs();if(!(r.t<=0)){var i=this.abs();if(i.t<r.t){t!=null&&t.fromInt(0),e!=null&&this.copyTo(e);return}e==null&&(e=nbi());var o=nbi(),s=this.s,u=n.s,c=this.DB-nbits(r[r.t-1]);c>0?(r.lShiftTo(c,o),i.lShiftTo(c,e)):(r.copyTo(o),i.copyTo(e));var l=o.t,d=o[l-1];if(d!=0){var f=d*(1<<this.F1)+(l>1?o[l-2]>>this.F2:0),m=this.FV/f,p=(1<<this.F1)/f,A=1<<this.F2,v=e.t,g=v-l,h=t==null?nbi():t;for(o.dlShiftTo(g,h),e.compareTo(h)>=0&&(e[e.t++]=1,e.subTo(h,e)),BigInteger.ONE.dlShiftTo(l,h),h.subTo(o,o);o.t<l;)o[o.t++]=0;for(;--g>=0;){var y=e[--v]==d?this.DM:Math.floor(e[v]*m+(e[v-1]+A)*p);if((e[v]+=o.am(0,y,e,g,0,l))<y)for(o.dlShiftTo(g,h),e.subTo(h,e);e[v]<--y;)e.subTo(h,e)}t!=null&&(e.drShiftTo(l,t),s!=u&&BigInteger.ZERO.subTo(t,t)),e.t=l,e.clamp(),c>0&&e.rShiftTo(c,e),s<0&&BigInteger.ZERO.subTo(e,e)}}}function bnMod(n){var t=nbi();return this.abs().divRemTo(n,null,t),this.s<0&&t.compareTo(BigInteger.ZERO)>0&&n.subTo(t,t),t}function Classic(n){this.m=n}function cConvert(n){return n.s<0||n.compareTo(this.m)>=0?n.mod(this.m):n}function cRevert(n){return n}function cReduce(n){n.divRemTo(this.m,null,n)}function cMulTo(n,t,e){n.multiplyTo(t,e),this.reduce(e)}function cSqrTo(n,t){n.squareTo(t),this.reduce(t)}Classic.prototype.convert=cConvert,Classic.prototype.revert=cRevert,Classic.prototype.reduce=cReduce,Classic.prototype.mulTo=cMulTo,Classic.prototype.sqrTo=cSqrTo;function bnpInvDigit(){if(this.t<1)return 0;var n=this[0];if(!(n&1))return 0;var t=n&3;return t=t*(2-(n&15)*t)&15,t=t*(2-(n&255)*t)&255,t=t*(2-((n&65535)*t&65535))&65535,t=t*(2-n*t%this.DV)%this.DV,t>0?this.DV-t:-t}function Montgomery(n){this.m=n,this.mp=n.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<n.DB-15)-1,this.mt2=2*n.t}function montConvert(n){var t=nbi();return n.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),n.s<0&&t.compareTo(BigInteger.ZERO)>0&&this.m.subTo(t,t),t}function montRevert(n){var t=nbi();return n.copyTo(t),this.reduce(t),t}function montReduce(n){for(;n.t<=this.mt2;)n[n.t++]=0;for(var t=0;t<this.m.t;++t){var e=n[t]&32767,r=e*this.mpl+((e*this.mph+(n[t]>>15)*this.mpl&this.um)<<15)&n.DM;for(e=t+this.m.t,n[e]+=this.m.am(0,r,n,t,0,this.m.t);n[e]>=n.DV;)n[e]-=n.DV,n[++e]++}n.clamp(),n.drShiftTo(this.m.t,n),n.compareTo(this.m)>=0&&n.subTo(this.m,n)}function montSqrTo(n,t){n.squareTo(t),this.reduce(t)}function montMulTo(n,t,e){n.multiplyTo(t,e),this.reduce(e)}Montgomery.prototype.convert=montConvert,Montgomery.prototype.revert=montRevert,Montgomery.prototype.reduce=montReduce,Montgomery.prototype.mulTo=montMulTo,Montgomery.prototype.sqrTo=montSqrTo;function bnpIsEven(){return(this.t>0?this[0]&1:this.s)==0}function bnpExp(n,t){if(n>4294967295||n<1)return BigInteger.ONE;var e=nbi(),r=nbi(),i=t.convert(this),o=nbits(n)-1;for(i.copyTo(e);--o>=0;)if(t.sqrTo(e,r),(n&1<<o)>0)t.mulTo(r,i,e);else{var s=e;e=r,r=s}return t.revert(e)}function bnModPowInt(n,t){var e;return n<256||t.isEven()?e=new Classic(t):e=new Montgomery(t),this.exp(n,e)}BigInteger.prototype.copyTo=bnpCopyTo,BigInteger.prototype.fromInt=bnpFromInt,BigInteger.prototype.fromString=bnpFromString,BigInteger.prototype.clamp=bnpClamp,BigInteger.prototype.dlShiftTo=bnpDLShiftTo,BigInteger.prototype.drShiftTo=bnpDRShiftTo,BigInteger.prototype.lShiftTo=bnpLShiftTo,BigInteger.prototype.rShiftTo=bnpRShiftTo,BigInteger.prototype.subTo=bnpSubTo,BigInteger.prototype.multiplyTo=bnpMultiplyTo,BigInteger.prototype.squareTo=bnpSquareTo,BigInteger.prototype.divRemTo=bnpDivRemTo,BigInteger.prototype.invDigit=bnpInvDigit,BigInteger.prototype.isEven=bnpIsEven,BigInteger.prototype.exp=bnpExp,BigInteger.prototype.toString=bnToString,BigInteger.prototype.negate=bnNegate,BigInteger.prototype.abs=bnAbs,BigInteger.prototype.compareTo=bnCompareTo,BigInteger.prototype.bitLength=bnBitLength,BigInteger.prototype.mod=bnMod,BigInteger.prototype.modPowInt=bnModPowInt,BigInteger.ZERO=nbv(0),BigInteger.ONE=nbv(1);/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ */function bnIntValue(){if(this.s<0){if(this.t==1)return this[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this[0];if(this.t==0)return 0}return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]}function bnpChunkSize(n){return Math.floor(Math.LN2*this.DB/Math.log(n))}function bnSigNum(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function bnpToRadix(n){if(n==null&&(n=10),this.signum()==0||n<2||n>36)return"0";var t=this.chunkSize(n),e=Math.pow(n,t),r=nbv(e),i=nbi(),o=nbi(),s="";for(this.divRemTo(r,i,o);i.signum()>0;)s=(e+o.intValue()).toString(n).substr(1)+s,i.divRemTo(r,i,o);return o.intValue().toString(n)+s}BigInteger.prototype.chunkSize=bnpChunkSize,BigInteger.prototype.toRadix=bnpToRadix,BigInteger.prototype.intValue=bnIntValue,BigInteger.prototype.signum=bnSigNum;/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ */var b64map="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",b64pad="=";function hex2b64(n){var t,e,r="";for(t=0;t+3<=n.length;t+=3)e=parseInt(n.substring(t,t+3),16),r+=b64map.charAt(e>>6)+b64map.charAt(e&63);for(t+1==n.length?(e=parseInt(n.substring(t,t+1),16),r+=b64map.charAt(e<<2)):t+2==n.length&&(e=parseInt(n.substring(t,t+2),16),r+=b64map.charAt(e>>2)+b64map.charAt((e&3)<<4));(r.length&3)>0;)r+=b64pad;return r}function b64tohex(n){var t="",e,r=0,i,o;for(e=0;e<n.length&&n.charAt(e)!=b64pad;++e)o=b64map.indexOf(n.charAt(e)),!(o<0)&&(r==0?(t+=int2char(o>>2),i=o&3,r=1):r==1?(t+=int2char(i<<2|o>>4),i=o&15,r=2):r==2?(t+=int2char(i),t+=int2char(o>>2),i=o&3,r=3):(t+=int2char(i<<2|o>>4),t+=int2char(o&15),r=0));return r==1&&(t+=int2char(i<<2)),t}/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ */function parseBigInt(n,t){return new BigInteger(n,t)}function pkcs1pad2(n,t){if(t<n.length+11)throw"Message too long for RSA";for(var e=new Array,r=n.length-1;r>=0&&t>0;){var i=n.charCodeAt(r--);i<128?e[--t]=i:i>127&&i<2048?(e[--t]=i&63|128,e[--t]=i>>6|192):(e[--t]=i&63|128,e[--t]=i>>6&63|128,e[--t]=i>>12|224)}e[--t]=0;for(var o=new SecureRandom,s=new Array;t>2;){for(s[0]=0;s[0]==0;)o.nextBytes(s);e[--t]=s[0]}return e[--t]=2,e[--t]=0,new BigInteger(e)}function oaep_mgf1_arr(n,t,e){for(var r="",i=0;r.length<t;)r+=e(String.fromCharCode.apply(String,n.concat([(i&4278190080)>>24,(i&16711680)>>16,(i&65280)>>8,i&255]))),i+=1;return r}function oaep_pad(n,t,e,r){var i=KJUR.crypto.MessageDigest,o=KJUR.crypto.Util,s=null;if(e||(e="sha1"),typeof e=="string"&&(s=i.getCanonicalAlgName(e),r=i.getHashLength(s),e=function(v){return hextorstr(o.hashHex(rstrtohex(v),s))}),n.length+2*r+2>t)throw"Message too long for RSA";var u="",c;for(c=0;c<t-n.length-2*r-2;c+=1)u+="\0";var l=e("")+u+""+n,d=new Array(r);new SecureRandom().nextBytes(d);var f=oaep_mgf1_arr(d,l.length,e),m=[];for(c=0;c<l.length;c+=1)m[c]=l.charCodeAt(c)^f.charCodeAt(c);var p=oaep_mgf1_arr(m,d.length,e),A=[0];for(c=0;c<d.length;c+=1)A[c+1]=d[c]^p.charCodeAt(c);return new BigInteger(A.concat(m))}function RSAKey(){this.n=null,this.e=0,this.d=null,this.p=null,this.q=null,this.dmp1=null,this.dmq1=null,this.coeff=null}function RSASetPublic(n,t){if(this.isPublic=!0,this.isPrivate=!1,typeof n!="string")this.n=n,this.e=t;else if(n!=null&&t!=null&&n.length>0&&t.length>0)this.n=parseBigInt(n,16),this.e=parseInt(t,16);else throw"Invalid RSA public key"}function RSADoPublic(n){return n.modPowInt(this.e,this.n)}function RSAEncrypt(n){var t=pkcs1pad2(n,this.n.bitLength()+7>>3);if(t==null)return null;var e=this.doPublic(t);if(e==null)return null;var r=e.toString(16);return r.length&1?"0"+r:r}function RSAEncryptOAEP(n,t,e){var r=oaep_pad(n,this.n.bitLength()+7>>3,t,e);if(r==null)return null;var i=this.doPublic(r);if(i==null)return null;var o=i.toString(16);return o.length&1?"0"+o:o}RSAKey.prototype.doPublic=RSADoPublic,RSAKey.prototype.setPublic=RSASetPublic,RSAKey.prototype.encrypt=RSAEncrypt,RSAKey.prototype.encryptOAEP=RSAEncryptOAEP,RSAKey.prototype.type="RSA";/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ */function pkcs1unpad2(n,t){for(var e=n.toByteArray(),r=0;r<e.length&&e[r]==0;)++r;if(e.length-r!=t-1||e[r]!=2)return null;for(++r;e[r]!=0;)if(++r>=e.length)return null;for(var i="";++r<e.length;){var o=e[r]&255;o<128?i+=String.fromCharCode(o):o>191&&o<224?(i+=String.fromCharCode((o&31)<<6|e[r+1]&63),++r):(i+=String.fromCharCode((o&15)<<12|(e[r+1]&63)<<6|e[r+2]&63),r+=2)}return i}function oaep_mgf1_str(n,t,e){for(var r="",i=0;r.length<t;)r+=e(n+String.fromCharCode.apply(String,[(i&4278190080)>>24,(i&16711680)>>16,(i&65280)>>8,i&255])),i+=1;return r}function oaep_unpad(n,t,e,r){var i=KJUR.crypto.MessageDigest,o=KJUR.crypto.Util,s=null;e||(e="sha1"),typeof e=="string"&&(s=i.getCanonicalAlgName(e),r=i.getHashLength(s),e=function(g){return hextorstr(o.hashHex(rstrtohex(g),s))}),n=n.toByteArray();var f;for(f=0;f<n.length;f+=1)n[f]&=255;for(;n.length<t;)n.unshift(0);if(n=String.fromCharCode.apply(String,n),n.length<2*r+2)throw"Cipher too short";var u=n.substr(1,r),c=n.substr(r+1),l=oaep_mgf1_str(c,r,e),d=[],f;for(f=0;f<u.length;f+=1)d[f]=u.charCodeAt(f)^l.charCodeAt(f);var m=oaep_mgf1_str(String.fromCharCode.apply(String,d),n.length-r,e),p=[];for(f=0;f<c.length;f+=1)p[f]=c.charCodeAt(f)^m.charCodeAt(f);if(p=String.fromCharCode.apply(String,p),p.substr(0,r)!==e(""))throw"Hash mismatch";p=p.substr(r);var A=p.indexOf(""),v=A!=-1?p.substr(0,A).lastIndexOf("\0"):-1;if(v+1!=A)throw"Malformed data";return p.substr(A+1)}function RSASetPrivate(n,t,e){if(this.isPrivate=!0,typeof n!="string")this.n=n,this.e=t,this.d=e;else if(n!=null&&t!=null&&n.length>0&&t.length>0)this.n=parseBigInt(n,16),this.e=parseInt(t,16),this.d=parseBigInt(e,16);else throw"Invalid RSA private key"}function RSASetPrivateEx(n,t,e,r,i,o,s,u){if(this.isPrivate=!0,this.isPublic=!1,n==null)throw"RSASetPrivateEx N == null";if(t==null)throw"RSASetPrivateEx E == null";if(n.length==0)throw"RSASetPrivateEx N.length == 0";if(t.length==0)throw"RSASetPrivateEx E.length == 0";if(n!=null&&t!=null&&n.length>0&&t.length>0)this.n=parseBigInt(n,16),this.e=parseInt(t,16),this.d=parseBigInt(e,16),this.p=parseBigInt(r,16),this.q=parseBigInt(i,16),this.dmp1=parseBigInt(o,16),this.dmq1=parseBigInt(s,16),this.coeff=parseBigInt(u,16);else throw"Invalid RSA private key in RSASetPrivateEx"}function RSADoPrivate(n){if(this.p==null||this.q==null)return n.modPow(this.d,this.n);for(var t=n.mod(this.p).modPow(this.dmp1,this.p),e=n.mod(this.q).modPow(this.dmq1,this.q);t.compareTo(e)<0;)t=t.add(this.p);return t.subtract(e).multiply(this.coeff).mod(this.p).multiply(this.q).add(e)}function RSADecrypt(n){if(n.length!=Math.ceil(this.n.bitLength()/4))throw new Error("wrong ctext length");var t=parseBigInt(n,16),e=this.doPrivate(t);return e==null?null:pkcs1unpad2(e,this.n.bitLength()+7>>3)}function RSADecryptOAEP(n,t,e){if(n.length!=Math.ceil(this.n.bitLength()/4))throw new Error("wrong ctext length");var r=parseBigInt(n,16),i=this.doPrivate(r);return i==null?null:oaep_unpad(i,this.n.bitLength()+7>>3,t,e)}RSAKey.prototype.doPrivate=RSADoPrivate,RSAKey.prototype.setPrivate=RSASetPrivate,RSAKey.prototype.setPrivateEx=RSASetPrivateEx,RSAKey.prototype.decrypt=RSADecrypt,RSAKey.prototype.decryptOAEP=RSADecryptOAEP,(typeof KJUR.lang=="undefined"||!KJUR.lang)&&(KJUR.lang={}),KJUR.lang.String=function(){};function b64utob64(n){return n.length%4==2?n=n+"==":n.length%4==3&&(n=n+"="),n=n.replace(/-/g,"+"),n=n.replace(/_/g,"/"),n}function b64utohex(n){return b64tohex(b64utob64(n))}function hextoutf8(n){return decodeURIComponent(hextouricmp(n))}function hextorstr(n){for(var t="",e=0;e<n.length-1;e+=2)t+=String.fromCharCode(parseInt(n.substr(e,2),16));return t}function rstrtohex(n){for(var t="",e=0;e<n.length;e++)t+=("0"+n.charCodeAt(e).toString(16)).slice(-2);return t}function hextob64(n){return hex2b64(n)}function hextob64nl(n){var t=hextob64(n),e=t.replace(/(.{64})/g,`$1\r
|
|
344
344
|
`);return e=e.replace(/\r\n$/,""),e}function b64nltohex(n){var t=n.replace(/[^0-9A-Za-z\/+=]*/g,""),e=b64tohex(t);return e}function hextopem(n,t){var e=hextob64nl(n);return"-----BEGIN "+t+`-----\r
|
|
345
345
|
`+e+`\r
|
|
346
346
|
-----END `+t+`-----\r
|
|
347
|
-
`}function pemtohex(n,t){if(n.indexOf("-----BEGIN ")==-1)throw"can't find PEM header: "+t;return t!==void 0?(n=n.replace(new RegExp("^[^]*-----BEGIN "+t+"-----"),""),n=n.replace(new RegExp("-----END "+t+"-----[^]*$"),"")):(n=n.replace(/^[^]*-----BEGIN [^-]+-----/,""),n=n.replace(/-----END [^-]+-----[^]*$/,"")),b64nltohex(n)}function hextouricmp(n){return n.replace(/(..)/g,"%$1")}function hextoipv6(n){if(!n.match(/^[0-9A-Fa-f]{32}$/))throw"malformed IPv6 address octet";n=n.toLowerCase();for(var t=n.match(/.{1,4}/g),e=0;e<8;e++)t[e]=t[e].replace(/^0+/,""),t[e]==""&&(t[e]="0");n=":"+t.join(":")+":";var r=n.match(/:(0:){2,}/g);if(r===null)return n.slice(1,-1);for(var i="",e=0;e<r.length;e++)r[e].length>i.length&&(i=r[e]);return n=n.replace(i,"::"),n.slice(1,-1)}function hextoip(n){var t="malformed hex value";if(!n.match(/^([0-9A-Fa-f][0-9A-Fa-f]){1,}$/))throw t;if(n.length==8){var e;try{return e=parseInt(n.substr(0,2),16)+"."+parseInt(n.substr(2,2),16)+"."+parseInt(n.substr(4,2),16)+"."+parseInt(n.substr(6,2),16),e}catch(r){throw t}}else return n.length==32?hextoipv6(n):n}function ucs2hextoutf8(n){function t(i){var o=parseInt(i.substr(0,2),16),s=parseInt(i.substr(2),16);if(o==0&s<128)return String.fromCharCode(s);if(o<8){var u=192|(o&7)<<3|(s&192)>>6,l=128|s&63;return hextoutf8(u.toString(16)+l.toString(16))}var u=224|(o&240)>>4,l=128|(o&15)<<2|(s&192)>>6,c=128|s&63;return hextoutf8(u.toString(16)+l.toString(16)+c.toString(16))}var e=n.match(/.{4}/g),r=e.map(t);return r.join("")}KJUR.lang.String.isHex=function(n){return ishex(n)};function ishex(n){return!!(n.length%2==0&&(n.match(/^[0-9a-f]+$/)||n.match(/^[0-9A-F]+$/)))}KJUR.lang.String.isMail=function(n){return n.match(/^[A-Za-z0-9]{1}[A-Za-z0-9_.-]*@{1}[A-Za-z0-9_.-]{1,}\.[A-Za-z0-9]{1,}$/)!==null};function hextoposhex(n){return n.length%2==1?"0"+n:n.substr(0,1)>"7"?"00"+n:n}function hextooid(n){if(!ishex(n))return null;try{var t=[],e=n.substr(0,2),r=parseInt(e,16);t[0]=new String(Math.floor(r/40)),t[1]=new String(r%40);for(var i=n.substr(2),o=[],s=0;s<i.length/2;s++)o.push(parseInt(i.substr(s*2,2),16));for(var u=[],l="",s=0;s<o.length;s++)o[s]&128?l=l+strpad((o[s]&127).toString(2),7):(l=l+strpad((o[s]&127).toString(2),7),u.push(new String(parseInt(l,2))),l="");var c=t.join(".");return u.length>0&&(c=c+"."+u.join(".")),c}catch(d){return null}}var strpad=function(n,t,e){return e==null&&(e="0"),n.length>=t?n:new Array(t-n.length+1).join(e)+n};function bitstrtoint(n){try{var t=n.substr(0,2);if(t=="00")return parseInt(n.substr(2),16);var e=parseInt(t,16),r=n.substr(2),i=parseInt(r,16).toString(2);return i=="0"&&(i="00000000"),i=i.slice(0,0-e),parseInt(i,2)}catch(o){return-1}}(typeof KJUR.crypto=="undefined"||!KJUR.crypto)&&(KJUR.crypto={}),KJUR.crypto.Util=new function(){this.DIGESTINFOHEAD={sha1:"3021300906052b0e03021a05000414",sha224:"302d300d06096086480165030402040500041c",sha256:"3031300d060960864801650304020105000420",sha384:"3041300d060960864801650304020205000430",sha512:"3051300d060960864801650304020305000440",md2:"3020300c06082a864886f70d020205000410",md5:"3020300c06082a864886f70d020505000410",ripemd160:"3021300906052b2403020105000414"},this.DEFAULTPROVIDER={md5:"cryptojs",sha1:"cryptojs",sha224:"cryptojs",sha256:"cryptojs",sha384:"cryptojs",sha512:"cryptojs",ripemd160:"cryptojs",hmacmd5:"cryptojs",hmacsha1:"cryptojs",hmacsha224:"cryptojs",hmacsha256:"cryptojs",hmacsha384:"cryptojs",hmacsha512:"cryptojs",hmacripemd160:"cryptojs",MD5withRSA:"cryptojs/jsrsa",SHA1withRSA:"cryptojs/jsrsa",SHA224withRSA:"cryptojs/jsrsa",SHA256withRSA:"cryptojs/jsrsa",SHA384withRSA:"cryptojs/jsrsa",SHA512withRSA:"cryptojs/jsrsa",RIPEMD160withRSA:"cryptojs/jsrsa",MD5withECDSA:"cryptojs/jsrsa",SHA1withECDSA:"cryptojs/jsrsa",SHA224withECDSA:"cryptojs/jsrsa",SHA256withECDSA:"cryptojs/jsrsa",SHA384withECDSA:"cryptojs/jsrsa",SHA512withECDSA:"cryptojs/jsrsa",RIPEMD160withECDSA:"cryptojs/jsrsa",SHA1withDSA:"cryptojs/jsrsa",SHA224withDSA:"cryptojs/jsrsa",SHA256withDSA:"cryptojs/jsrsa",MD5withRSAandMGF1:"cryptojs/jsrsa",SHAwithRSAandMGF1:"cryptojs/jsrsa",SHA1withRSAandMGF1:"cryptojs/jsrsa",SHA224withRSAandMGF1:"cryptojs/jsrsa",SHA256withRSAandMGF1:"cryptojs/jsrsa",SHA384withRSAandMGF1:"cryptojs/jsrsa",SHA512withRSAandMGF1:"cryptojs/jsrsa",RIPEMD160withRSAandMGF1:"cryptojs/jsrsa"},this.CRYPTOJSMESSAGEDIGESTNAME={md5:CryptoJS.algo.MD5,sha1:CryptoJS.algo.SHA1,sha224:CryptoJS.algo.SHA224,sha256:CryptoJS.algo.SHA256,sha384:CryptoJS.algo.SHA384,sha512:CryptoJS.algo.SHA512,ripemd160:CryptoJS.algo.RIPEMD160},this.hashString=function(n,t){var e=new KJUR.crypto.MessageDigest({alg:t});return e.digestString(n)},this.hashHex=function(n,t){var e=new KJUR.crypto.MessageDigest({alg:t});return e.digestHex(n)},this.sha1=function(n){return this.hashString(n,"sha1")},this.sha256=function(n){return this.hashString(n,"sha256")},this.sha256Hex=function(n){return this.hashHex(n,"sha256")},this.sha512=function(n){return this.hashString(n,"sha512")},this.sha512Hex=function(n){return this.hashHex(n,"sha512")}},KJUR.crypto.MessageDigest=function(n){this.setAlgAndProvider=function(t,e){if(t=KJUR.crypto.MessageDigest.getCanonicalAlgName(t),t!==null&&e===void 0&&(e=KJUR.crypto.Util.DEFAULTPROVIDER[t]),":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:".indexOf(t)!=-1&&e=="cryptojs"){try{this.md=KJUR.crypto.Util.CRYPTOJSMESSAGEDIGESTNAME[t].create()}catch(r){throw"setAlgAndProvider hash alg set fail alg="+t+"/"+r}this.updateString=function(r){this.md.update(r)},this.updateHex=function(r){var i=CryptoJS.enc.Hex.parse(r);this.md.update(i)},this.digest=function(){var r=this.md.finalize();return r.toString(CryptoJS.enc.Hex)},this.digestString=function(r){return this.updateString(r),this.digest()},this.digestHex=function(r){return this.updateHex(r),this.digest()}}if(":sha256:".indexOf(t)!=-1&&e=="sjcl"){try{this.md=new sjcl.hash.sha256}catch(r){throw"setAlgAndProvider hash alg set fail alg="+t+"/"+r}this.updateString=function(r){this.md.update(r)},this.updateHex=function(r){var i=sjcl.codec.hex.toBits(r);this.md.update(i)},this.digest=function(){var r=this.md.finalize();return sjcl.codec.hex.fromBits(r)},this.digestString=function(r){return this.updateString(r),this.digest()},this.digestHex=function(r){return this.updateHex(r),this.digest()}}},this.updateString=function(t){throw"updateString(str) not supported for this alg/prov: "+this.algName+"/"+this.provName},this.updateHex=function(t){throw"updateHex(hex) not supported for this alg/prov: "+this.algName+"/"+this.provName},this.digest=function(){throw"digest() not supported for this alg/prov: "+this.algName+"/"+this.provName},this.digestString=function(t){throw"digestString(str) not supported for this alg/prov: "+this.algName+"/"+this.provName},this.digestHex=function(t){throw"digestHex(hex) not supported for this alg/prov: "+this.algName+"/"+this.provName},n!==void 0&&n.alg!==void 0&&(this.algName=n.alg,n.prov===void 0&&(this.provName=KJUR.crypto.Util.DEFAULTPROVIDER[this.algName]),this.setAlgAndProvider(this.algName,this.provName))},KJUR.crypto.MessageDigest.getCanonicalAlgName=function(n){return typeof n=="string"&&(n=n.toLowerCase(),n=n.replace(/-/,"")),n},KJUR.crypto.MessageDigest.getHashLength=function(n){var t=KJUR.crypto.MessageDigest,e=t.getCanonicalAlgName(n);if(t.HASHLENGTH[e]===void 0)throw"not supported algorithm: "+n;return t.HASHLENGTH[e]},KJUR.crypto.MessageDigest.HASHLENGTH={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,ripemd160:20},KJUR.crypto.Signature=function(n){var t=null;if(this._setAlgNames=function(){var e=this.algName.match(/^(.+)with(.+)$/);e&&(this.mdAlgName=e[1].toLowerCase(),this.pubkeyAlgName=e[2].toLowerCase(),this.pubkeyAlgName=="rsaandmgf1"&&this.mdAlgName=="sha"&&(this.mdAlgName="sha1"))},this._zeroPaddingOfSignature=function(e,r){for(var i="",o=r/4-e.length,s=0;s<o;s++)i=i+"0";return i+e},this.setAlgAndProvider=function(e,r){if(this._setAlgNames(),r!="cryptojs/jsrsa")throw new Error("provider not supported: "+r);if(":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:".indexOf(this.mdAlgName)!=-1){try{this.md=new KJUR.crypto.MessageDigest({alg:this.mdAlgName})}catch(i){throw new Error("setAlgAndProvider hash alg set fail alg="+this.mdAlgName+"/"+i)}this.init=function(i,o){var s=null;try{o===void 0?s=KEYUTIL.getKey(i):s=KEYUTIL.getKey(i,o)}catch(u){throw"init failed:"+u}if(s.isPrivate===!0)this.prvKey=s,this.state="SIGN";else if(s.isPublic===!0)this.pubKey=s,this.state="VERIFY";else throw"init failed.:"+s},this.updateString=function(i){this.md.updateString(i)},this.updateHex=function(i){this.md.updateHex(i)},this.verify=function(i){if(this.sHashHex=this.md.digest(),this.pubKey instanceof RSAKey&&this.pubkeyAlgName==="rsaandmgf1")return this.pubKey.verifyWithMessageHashPSS(this.sHashHex,i,this.mdAlgName,this.pssSaltLen);if(this.pubKey instanceof RSAKey&&this.pubkeyAlgName==="rsa")return this.pubKey.verifyWithMessageHash(this.sHashHex,i);throw"Signature: unsupported public key alg: "+this.pubkeyAlgName}}},this.init=function(e,r){throw"init(key, pass) not supported for this alg:prov="+this.algProvName},this.updateString=function(e){throw"updateString(str) not supported for this alg:prov="+this.algProvName},this.updateHex=function(e){throw"updateHex(hex) not supported for this alg:prov="+this.algProvName},this.verify=function(e){throw"verify(hSigVal) not supported for this alg:prov="+this.algProvName},this.initParams=n,n!==void 0&&(n.alg!==void 0&&(this.algName=n.alg,n.prov===void 0?this.provName=KJUR.crypto.Util.DEFAULTPROVIDER[this.algName]:this.provName=n.prov,this.algProvName=this.algName+":"+this.provName,this.setAlgAndProvider(this.algName,this.provName),this._setAlgNames()),n.psssaltlen!==void 0&&(this.pssSaltLen=n.psssaltlen),n.prvkeypem!==void 0)){if(n.prvkeypas!==void 0)throw"both prvkeypem and prvkeypas parameters not supported";try{var t=KEYUTIL.getKey(n.prvkeypem);this.init(t)}catch(e){throw"fatal error to load pem private key: "+e}}},KJUR.crypto.OID=new function(){this.oidhex2name={"2a864886f70d010101":"rsaEncryption","2a8648ce3d0201":"ecPublicKey","2a8648ce380401":"dsa","2a8648ce3d030107":"secp256r1","2b8104001f":"secp192k1","2b81040021":"secp224r1","2b8104000a":"secp256k1","2b81040023":"secp521r1","2b81040022":"secp384r1","2a8648ce380403":"SHA1withDSA","608648016503040301":"SHA224withDSA","608648016503040302":"SHA256withDSA"}};var KEYUTIL=function(){var n=function(A,m,y){return r(CryptoJS.AES,A,m,y)},t=function(A,m,y){return r(CryptoJS.TripleDES,A,m,y)},e=function(A,m,y){return r(CryptoJS.DES,A,m,y)},r=function(A,m,y,h){var g=CryptoJS.enc.Hex.parse(m),b=CryptoJS.enc.Hex.parse(y),E=CryptoJS.enc.Hex.parse(h),T={};T.key=b,T.iv=E,T.ciphertext=g;var _=A.decrypt(T,b,{iv:E});return CryptoJS.enc.Hex.stringify(_)},i=function(A,m,y){return u(CryptoJS.AES,A,m,y)},o=function(A,m,y){return u(CryptoJS.TripleDES,A,m,y)},s=function(A,m,y){return u(CryptoJS.DES,A,m,y)},u=function(A,m,y,h){var g=CryptoJS.enc.Hex.parse(m),b=CryptoJS.enc.Hex.parse(y),E=CryptoJS.enc.Hex.parse(h),T=A.encrypt(g,b,{iv:E}),_=CryptoJS.enc.Hex.parse(T.toString()),x=CryptoJS.enc.Base64.stringify(_);return x},l={"AES-256-CBC":{proc:n,eproc:i,keylen:32,ivlen:16},"AES-192-CBC":{proc:n,eproc:i,keylen:24,ivlen:16},"AES-128-CBC":{proc:n,eproc:i,keylen:16,ivlen:16},"DES-EDE3-CBC":{proc:t,eproc:o,keylen:24,ivlen:8},"DES-CBC":{proc:e,eproc:s,keylen:8,ivlen:8}},c=function(A){var m=CryptoJS.lib.WordArray.random(A),y=CryptoJS.enc.Hex.stringify(m);return y},d=function(A){var m={},y=A.match(new RegExp("DEK-Info: ([^,]+),([0-9A-Fa-f]+)","m"));y&&(m.cipher=y[1],m.ivsalt=y[2]);var h=A.match(new RegExp("-----BEGIN ([A-Z]+) PRIVATE KEY-----"));h&&(m.type=h[1]);var g=-1,b=0;A.indexOf(`\r
|
|
347
|
+
`}function pemtohex(n,t){if(n.indexOf("-----BEGIN ")==-1)throw"can't find PEM header: "+t;return t!==void 0?(n=n.replace(new RegExp("^[^]*-----BEGIN "+t+"-----"),""),n=n.replace(new RegExp("-----END "+t+"-----[^]*$"),"")):(n=n.replace(/^[^]*-----BEGIN [^-]+-----/,""),n=n.replace(/-----END [^-]+-----[^]*$/,"")),b64nltohex(n)}function hextouricmp(n){return n.replace(/(..)/g,"%$1")}function hextoipv6(n){if(!n.match(/^[0-9A-Fa-f]{32}$/))throw"malformed IPv6 address octet";n=n.toLowerCase();for(var t=n.match(/.{1,4}/g),e=0;e<8;e++)t[e]=t[e].replace(/^0+/,""),t[e]==""&&(t[e]="0");n=":"+t.join(":")+":";var r=n.match(/:(0:){2,}/g);if(r===null)return n.slice(1,-1);for(var i="",e=0;e<r.length;e++)r[e].length>i.length&&(i=r[e]);return n=n.replace(i,"::"),n.slice(1,-1)}function hextoip(n){var t="malformed hex value";if(!n.match(/^([0-9A-Fa-f][0-9A-Fa-f]){1,}$/))throw t;if(n.length==8){var e;try{return e=parseInt(n.substr(0,2),16)+"."+parseInt(n.substr(2,2),16)+"."+parseInt(n.substr(4,2),16)+"."+parseInt(n.substr(6,2),16),e}catch(r){throw t}}else return n.length==32?hextoipv6(n):n}function ucs2hextoutf8(n){function t(i){var o=parseInt(i.substr(0,2),16),s=parseInt(i.substr(2),16);if(o==0&s<128)return String.fromCharCode(s);if(o<8){var u=192|(o&7)<<3|(s&192)>>6,c=128|s&63;return hextoutf8(u.toString(16)+c.toString(16))}var u=224|(o&240)>>4,c=128|(o&15)<<2|(s&192)>>6,l=128|s&63;return hextoutf8(u.toString(16)+c.toString(16)+l.toString(16))}var e=n.match(/.{4}/g),r=e.map(t);return r.join("")}KJUR.lang.String.isHex=function(n){return ishex(n)};function ishex(n){return!!(n.length%2==0&&(n.match(/^[0-9a-f]+$/)||n.match(/^[0-9A-F]+$/)))}KJUR.lang.String.isMail=function(n){return n.match(/^[A-Za-z0-9]{1}[A-Za-z0-9_.-]*@{1}[A-Za-z0-9_.-]{1,}\.[A-Za-z0-9]{1,}$/)!==null};function hextoposhex(n){return n.length%2==1?"0"+n:n.substr(0,1)>"7"?"00"+n:n}function hextooid(n){if(!ishex(n))return null;try{var t=[],e=n.substr(0,2),r=parseInt(e,16);t[0]=new String(Math.floor(r/40)),t[1]=new String(r%40);for(var i=n.substr(2),o=[],s=0;s<i.length/2;s++)o.push(parseInt(i.substr(s*2,2),16));for(var u=[],c="",s=0;s<o.length;s++)o[s]&128?c=c+strpad((o[s]&127).toString(2),7):(c=c+strpad((o[s]&127).toString(2),7),u.push(new String(parseInt(c,2))),c="");var l=t.join(".");return u.length>0&&(l=l+"."+u.join(".")),l}catch(d){return null}}var strpad=function(n,t,e){return e==null&&(e="0"),n.length>=t?n:new Array(t-n.length+1).join(e)+n};function bitstrtoint(n){try{var t=n.substr(0,2);if(t=="00")return parseInt(n.substr(2),16);var e=parseInt(t,16),r=n.substr(2),i=parseInt(r,16).toString(2);return i=="0"&&(i="00000000"),i=i.slice(0,0-e),parseInt(i,2)}catch(o){return-1}}(typeof KJUR.crypto=="undefined"||!KJUR.crypto)&&(KJUR.crypto={}),KJUR.crypto.Util=new function(){this.DIGESTINFOHEAD={sha1:"3021300906052b0e03021a05000414",sha224:"302d300d06096086480165030402040500041c",sha256:"3031300d060960864801650304020105000420",sha384:"3041300d060960864801650304020205000430",sha512:"3051300d060960864801650304020305000440",md2:"3020300c06082a864886f70d020205000410",md5:"3020300c06082a864886f70d020505000410",ripemd160:"3021300906052b2403020105000414"},this.DEFAULTPROVIDER={md5:"cryptojs",sha1:"cryptojs",sha224:"cryptojs",sha256:"cryptojs",sha384:"cryptojs",sha512:"cryptojs",ripemd160:"cryptojs",hmacmd5:"cryptojs",hmacsha1:"cryptojs",hmacsha224:"cryptojs",hmacsha256:"cryptojs",hmacsha384:"cryptojs",hmacsha512:"cryptojs",hmacripemd160:"cryptojs",MD5withRSA:"cryptojs/jsrsa",SHA1withRSA:"cryptojs/jsrsa",SHA224withRSA:"cryptojs/jsrsa",SHA256withRSA:"cryptojs/jsrsa",SHA384withRSA:"cryptojs/jsrsa",SHA512withRSA:"cryptojs/jsrsa",RIPEMD160withRSA:"cryptojs/jsrsa",MD5withECDSA:"cryptojs/jsrsa",SHA1withECDSA:"cryptojs/jsrsa",SHA224withECDSA:"cryptojs/jsrsa",SHA256withECDSA:"cryptojs/jsrsa",SHA384withECDSA:"cryptojs/jsrsa",SHA512withECDSA:"cryptojs/jsrsa",RIPEMD160withECDSA:"cryptojs/jsrsa",SHA1withDSA:"cryptojs/jsrsa",SHA224withDSA:"cryptojs/jsrsa",SHA256withDSA:"cryptojs/jsrsa",MD5withRSAandMGF1:"cryptojs/jsrsa",SHAwithRSAandMGF1:"cryptojs/jsrsa",SHA1withRSAandMGF1:"cryptojs/jsrsa",SHA224withRSAandMGF1:"cryptojs/jsrsa",SHA256withRSAandMGF1:"cryptojs/jsrsa",SHA384withRSAandMGF1:"cryptojs/jsrsa",SHA512withRSAandMGF1:"cryptojs/jsrsa",RIPEMD160withRSAandMGF1:"cryptojs/jsrsa"},this.CRYPTOJSMESSAGEDIGESTNAME={md5:CryptoJS.algo.MD5,sha1:CryptoJS.algo.SHA1,sha224:CryptoJS.algo.SHA224,sha256:CryptoJS.algo.SHA256,sha384:CryptoJS.algo.SHA384,sha512:CryptoJS.algo.SHA512,ripemd160:CryptoJS.algo.RIPEMD160},this.hashString=function(n,t){var e=new KJUR.crypto.MessageDigest({alg:t});return e.digestString(n)},this.hashHex=function(n,t){var e=new KJUR.crypto.MessageDigest({alg:t});return e.digestHex(n)},this.sha1=function(n){return this.hashString(n,"sha1")},this.sha256=function(n){return this.hashString(n,"sha256")},this.sha256Hex=function(n){return this.hashHex(n,"sha256")},this.sha512=function(n){return this.hashString(n,"sha512")},this.sha512Hex=function(n){return this.hashHex(n,"sha512")}},KJUR.crypto.MessageDigest=function(n){this.setAlgAndProvider=function(t,e){if(t=KJUR.crypto.MessageDigest.getCanonicalAlgName(t),t!==null&&e===void 0&&(e=KJUR.crypto.Util.DEFAULTPROVIDER[t]),":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:".indexOf(t)!=-1&&e=="cryptojs"){try{this.md=KJUR.crypto.Util.CRYPTOJSMESSAGEDIGESTNAME[t].create()}catch(r){throw"setAlgAndProvider hash alg set fail alg="+t+"/"+r}this.updateString=function(r){this.md.update(r)},this.updateHex=function(r){var i=CryptoJS.enc.Hex.parse(r);this.md.update(i)},this.digest=function(){var r=this.md.finalize();return r.toString(CryptoJS.enc.Hex)},this.digestString=function(r){return this.updateString(r),this.digest()},this.digestHex=function(r){return this.updateHex(r),this.digest()}}if(":sha256:".indexOf(t)!=-1&&e=="sjcl"){try{this.md=new sjcl.hash.sha256}catch(r){throw"setAlgAndProvider hash alg set fail alg="+t+"/"+r}this.updateString=function(r){this.md.update(r)},this.updateHex=function(r){var i=sjcl.codec.hex.toBits(r);this.md.update(i)},this.digest=function(){var r=this.md.finalize();return sjcl.codec.hex.fromBits(r)},this.digestString=function(r){return this.updateString(r),this.digest()},this.digestHex=function(r){return this.updateHex(r),this.digest()}}},this.updateString=function(t){throw"updateString(str) not supported for this alg/prov: "+this.algName+"/"+this.provName},this.updateHex=function(t){throw"updateHex(hex) not supported for this alg/prov: "+this.algName+"/"+this.provName},this.digest=function(){throw"digest() not supported for this alg/prov: "+this.algName+"/"+this.provName},this.digestString=function(t){throw"digestString(str) not supported for this alg/prov: "+this.algName+"/"+this.provName},this.digestHex=function(t){throw"digestHex(hex) not supported for this alg/prov: "+this.algName+"/"+this.provName},n!==void 0&&n.alg!==void 0&&(this.algName=n.alg,n.prov===void 0&&(this.provName=KJUR.crypto.Util.DEFAULTPROVIDER[this.algName]),this.setAlgAndProvider(this.algName,this.provName))},KJUR.crypto.MessageDigest.getCanonicalAlgName=function(n){return typeof n=="string"&&(n=n.toLowerCase(),n=n.replace(/-/,"")),n},KJUR.crypto.MessageDigest.getHashLength=function(n){var t=KJUR.crypto.MessageDigest,e=t.getCanonicalAlgName(n);if(t.HASHLENGTH[e]===void 0)throw"not supported algorithm: "+n;return t.HASHLENGTH[e]},KJUR.crypto.MessageDigest.HASHLENGTH={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,ripemd160:20},KJUR.crypto.Signature=function(n){var t=null;if(this._setAlgNames=function(){var e=this.algName.match(/^(.+)with(.+)$/);e&&(this.mdAlgName=e[1].toLowerCase(),this.pubkeyAlgName=e[2].toLowerCase(),this.pubkeyAlgName=="rsaandmgf1"&&this.mdAlgName=="sha"&&(this.mdAlgName="sha1"))},this._zeroPaddingOfSignature=function(e,r){for(var i="",o=r/4-e.length,s=0;s<o;s++)i=i+"0";return i+e},this.setAlgAndProvider=function(e,r){if(this._setAlgNames(),r!="cryptojs/jsrsa")throw new Error("provider not supported: "+r);if(":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:".indexOf(this.mdAlgName)!=-1){try{this.md=new KJUR.crypto.MessageDigest({alg:this.mdAlgName})}catch(i){throw new Error("setAlgAndProvider hash alg set fail alg="+this.mdAlgName+"/"+i)}this.init=function(i,o){var s=null;try{o===void 0?s=KEYUTIL.getKey(i):s=KEYUTIL.getKey(i,o)}catch(u){throw"init failed:"+u}if(s.isPrivate===!0)this.prvKey=s,this.state="SIGN";else if(s.isPublic===!0)this.pubKey=s,this.state="VERIFY";else throw"init failed.:"+s},this.updateString=function(i){this.md.updateString(i)},this.updateHex=function(i){this.md.updateHex(i)},this.verify=function(i){if(this.sHashHex=this.md.digest(),this.pubKey instanceof RSAKey&&this.pubkeyAlgName==="rsaandmgf1")return this.pubKey.verifyWithMessageHashPSS(this.sHashHex,i,this.mdAlgName,this.pssSaltLen);if(this.pubKey instanceof RSAKey&&this.pubkeyAlgName==="rsa")return this.pubKey.verifyWithMessageHash(this.sHashHex,i);throw"Signature: unsupported public key alg: "+this.pubkeyAlgName}}},this.init=function(e,r){throw"init(key, pass) not supported for this alg:prov="+this.algProvName},this.updateString=function(e){throw"updateString(str) not supported for this alg:prov="+this.algProvName},this.updateHex=function(e){throw"updateHex(hex) not supported for this alg:prov="+this.algProvName},this.verify=function(e){throw"verify(hSigVal) not supported for this alg:prov="+this.algProvName},this.initParams=n,n!==void 0&&(n.alg!==void 0&&(this.algName=n.alg,n.prov===void 0?this.provName=KJUR.crypto.Util.DEFAULTPROVIDER[this.algName]:this.provName=n.prov,this.algProvName=this.algName+":"+this.provName,this.setAlgAndProvider(this.algName,this.provName),this._setAlgNames()),n.psssaltlen!==void 0&&(this.pssSaltLen=n.psssaltlen),n.prvkeypem!==void 0)){if(n.prvkeypas!==void 0)throw"both prvkeypem and prvkeypas parameters not supported";try{var t=KEYUTIL.getKey(n.prvkeypem);this.init(t)}catch(e){throw"fatal error to load pem private key: "+e}}},KJUR.crypto.OID=new function(){this.oidhex2name={"2a864886f70d010101":"rsaEncryption","2a8648ce3d0201":"ecPublicKey","2a8648ce380401":"dsa","2a8648ce3d030107":"secp256r1","2b8104001f":"secp192k1","2b81040021":"secp224r1","2b8104000a":"secp256k1","2b81040023":"secp521r1","2b81040022":"secp384r1","2a8648ce380403":"SHA1withDSA","608648016503040301":"SHA224withDSA","608648016503040302":"SHA256withDSA"}};var KEYUTIL=function(){var n=function(A,v,g){return r(CryptoJS.AES,A,v,g)},t=function(A,v,g){return r(CryptoJS.TripleDES,A,v,g)},e=function(A,v,g){return r(CryptoJS.DES,A,v,g)},r=function(A,v,g,h){var y=CryptoJS.enc.Hex.parse(v),b=CryptoJS.enc.Hex.parse(g),E=CryptoJS.enc.Hex.parse(h),T={};T.key=b,T.iv=E,T.ciphertext=y;var x=A.decrypt(T,b,{iv:E});return CryptoJS.enc.Hex.stringify(x)},i=function(A,v,g){return u(CryptoJS.AES,A,v,g)},o=function(A,v,g){return u(CryptoJS.TripleDES,A,v,g)},s=function(A,v,g){return u(CryptoJS.DES,A,v,g)},u=function(A,v,g,h){var y=CryptoJS.enc.Hex.parse(v),b=CryptoJS.enc.Hex.parse(g),E=CryptoJS.enc.Hex.parse(h),T=A.encrypt(y,b,{iv:E}),x=CryptoJS.enc.Hex.parse(T.toString()),_=CryptoJS.enc.Base64.stringify(x);return _},c={"AES-256-CBC":{proc:n,eproc:i,keylen:32,ivlen:16},"AES-192-CBC":{proc:n,eproc:i,keylen:24,ivlen:16},"AES-128-CBC":{proc:n,eproc:i,keylen:16,ivlen:16},"DES-EDE3-CBC":{proc:t,eproc:o,keylen:24,ivlen:8},"DES-CBC":{proc:e,eproc:s,keylen:8,ivlen:8}},l=function(A){var v=CryptoJS.lib.WordArray.random(A),g=CryptoJS.enc.Hex.stringify(v);return g},d=function(A){var v={},g=A.match(new RegExp("DEK-Info: ([^,]+),([0-9A-Fa-f]+)","m"));g&&(v.cipher=g[1],v.ivsalt=g[2]);var h=A.match(new RegExp("-----BEGIN ([A-Z]+) PRIVATE KEY-----"));h&&(v.type=h[1]);var y=-1,b=0;A.indexOf(`\r
|
|
348
348
|
\r
|
|
349
|
-
`)!=-1&&(
|
|
349
|
+
`)!=-1&&(y=A.indexOf(`\r
|
|
350
350
|
\r
|
|
351
351
|
`),b=2),A.indexOf(`
|
|
352
352
|
|
|
353
|
-
`)!=-1&&(
|
|
353
|
+
`)!=-1&&(y=A.indexOf(`
|
|
354
354
|
|
|
355
|
-
`),b=1);var E=A.indexOf("-----END");if(
|
|
355
|
+
`),b=1);var E=A.indexOf("-----END");if(y!=-1&&E!=-1){var T=A.substring(y+b*2,E-b);T=T.replace(/\s+/g,""),v.data=T}return v},f=function(A,v,g){for(var h=g.substring(0,16),y=CryptoJS.enc.Hex.parse(h),b=CryptoJS.enc.Utf8.parse(v),E=c[A].keylen+c[A].ivlen,T="",x=null;;){var _=CryptoJS.algo.MD5.create();if(x!=null&&_.update(x),_.update(b),_.update(y),x=_.finalize(),T=T+CryptoJS.enc.Hex.stringify(x),T.length>=E*2)break}var w={};return w.keyhex=T.substr(0,c[A].keylen*2),w.ivhex=T.substr(c[A].keylen*2,c[A].ivlen*2),w},m=function(A,v,g,h){var y=CryptoJS.enc.Base64.parse(A),b=CryptoJS.enc.Hex.stringify(y),E=c[v].proc,T=E(b,g,h);return T},p=function(A,v,g,h){var y=c[v].eproc,b=y(A,g,h);return b};return{version:"1.0.0",parsePKCS5PEM:function(A){return d(A)},getKeyAndUnusedIvByPasscodeAndIvsalt:function(A,v,g){return f(A,v,g)},decryptKeyB64:function(A,v,g,h){return m(A,v,g,h)},getDecryptedKeyHex:function(A,v){var g=d(A),h=g.cipher,y=g.ivsalt,b=g.data,E=f(h,v,y),T=E.keyhex,x=m(b,h,T,y);return x},getEncryptedPKCS5PEMFromPrvKeyHex:function(A,v,g,h,y){var S="";if((typeof h=="undefined"||h==null)&&(h="AES-256-CBC"),typeof c[h]=="undefined")throw"KEYUTIL unsupported algorithm: "+h;if(typeof y=="undefined"||y==null){var b=c[h].ivlen,E=l(b);y=E.toUpperCase()}var T=f(h,g,y),x=T.keyhex,_=p(v,h,x,y),w=_.replace(/(.{64})/g,`$1\r
|
|
356
356
|
`),S="-----BEGIN "+A+` PRIVATE KEY-----\r
|
|
357
357
|
`;return S+=`Proc-Type: 4,ENCRYPTED\r
|
|
358
|
-
`,S+="DEK-Info: "+h+","+
|
|
358
|
+
`,S+="DEK-Info: "+h+","+y+`\r
|
|
359
359
|
`,S+=`\r
|
|
360
360
|
`,S+=w,S+=`\r
|
|
361
361
|
-----END `+A+` PRIVATE KEY-----\r
|
|
362
|
-
`,S},parseHexOfEncryptedPKCS8:function(A){var m=ASN1HEX,y=m.getChildIdx,h=m.getV,g={},b=y(A,0);if(b.length!=2)throw"malformed format: SEQUENCE(0).items != 2: "+b.length;g.ciphertext=h(A,b[1]);var E=y(A,b[0]);if(E.length!=2)throw"malformed format: SEQUENCE(0.0).items != 2: "+E.length;if(h(A,E[0])!="2a864886f70d01050d")throw"this only supports pkcs5PBES2";var T=y(A,E[1]);if(E.length!=2)throw"malformed format: SEQUENCE(0.0.1).items != 2: "+T.length;var _=y(A,T[1]);if(_.length!=2)throw"malformed format: SEQUENCE(0.0.1.1).items != 2: "+_.length;if(h(A,_[0])!="2a864886f70d0307")throw"this only supports TripleDES";g.encryptionSchemeAlg="TripleDES",g.encryptionSchemeIV=h(A,_[1]);var x=y(A,T[0]);if(x.length!=2)throw"malformed format: SEQUENCE(0.0.1.0).items != 2: "+x.length;if(h(A,x[0])!="2a864886f70d01050c")throw"this only supports pkcs5PBKDF2";var w=y(A,x[1]);if(w.length<2)throw"malformed format: SEQUENCE(0.0.1.0.1).items < 2: "+w.length;g.pbkdf2Salt=h(A,w[0]);var S=h(A,w[1]);try{g.pbkdf2Iter=parseInt(S,16)}catch(C){throw"malformed format pbkdf2Iter: "+S}return g},getPBKDF2KeyHexFromParam:function(A,m){var y=CryptoJS.enc.Hex.parse(A.pbkdf2Salt),h=A.pbkdf2Iter,g=CryptoJS.PBKDF2(m,y,{keySize:192/32,iterations:h}),b=CryptoJS.enc.Hex.stringify(g);return b},_getPlainPKCS8HexFromEncryptedPKCS8PEM:function(A,m){var y=pemtohex(A,"ENCRYPTED PRIVATE KEY"),h=this.parseHexOfEncryptedPKCS8(y),g=KEYUTIL.getPBKDF2KeyHexFromParam(h,m),b={};b.ciphertext=CryptoJS.enc.Hex.parse(h.ciphertext);var E=CryptoJS.enc.Hex.parse(g),T=CryptoJS.enc.Hex.parse(h.encryptionSchemeIV),_=CryptoJS.TripleDES.decrypt(b,E,{iv:T}),x=CryptoJS.enc.Hex.stringify(_);return x},getKeyFromEncryptedPKCS8PEM:function(A,m){var y=this._getPlainPKCS8HexFromEncryptedPKCS8PEM(A,m),h=this.getKeyFromPlainPrivatePKCS8Hex(y);return h},parsePlainPrivatePKCS8Hex:function(A){var m=ASN1HEX,y=m.getChildIdx,h=m.getV,g={};if(g.algparam=null,A.substr(0,2)!="30")throw new Error("malformed plain PKCS8 private key(code:001)");var b=y(A,0);if(b.length<3)throw new Error("malformed plain PKCS8 private key(code:002)");if(A.substr(b[1],2)!="30")throw new Error("malformed PKCS8 private key(code:003)");var E=y(A,b[1]);if(E.length!=2)throw new Error("malformed PKCS8 private key(code:004)");if(A.substr(E[0],2)!="06")throw new Error("malformed PKCS8 private key(code:005)");if(g.algoid=h(A,E[0]),A.substr(E[1],2)=="06"&&(g.algparam=h(A,E[1])),A.substr(b[2],2)!="04")throw new Error("malformed PKCS8 private key(code:006)");return g.keyidx=m.getVidx(A,b[2]),g},getKeyFromPlainPrivatePKCS8PEM:function(A){var m=pemtohex(A,"PRIVATE KEY"),y=this.getKeyFromPlainPrivatePKCS8Hex(m);return y},getKeyFromPlainPrivatePKCS8Hex:function(A){var m=this.parsePlainPrivatePKCS8Hex(A),y;if(m.algoid=="2a864886f70d010101")y=new RSAKey;else if(KJUR.crypto.DSA&&m.algoid=="2a8648ce380401")y=new KJUR.crypto.DSA;else if(KJUR.crypto.ECDSA&&m.algoid=="2a8648ce3d0201")y=new KJUR.crypto.ECDSA;else throw"unsupported private key algorithm";return y.readPKCS8PrvKeyHex(A),y},_getKeyFromPublicPKCS8Hex:function(A){var m,y=ASN1HEX.getVbyList(A,0,[0,0],"06");if(y==="2a864886f70d010101")m=new RSAKey;else if(KJUR.crypto.DSA&&y==="2a8648ce380401")m=new KJUR.crypto.DSA;else if(KJUR.crypto.ECDSA&&y==="2a8648ce3d0201")m=new KJUR.crypto.ECDSA;else throw"unsupported PKCS#8 public key hex";return m.readPKCS8PubKeyHex(A),m},parsePublicRawRSAKeyHex:function(A){var m=ASN1HEX,y=m.getChildIdx,h=m.getV,g={};if(A.substr(0,2)!="30")throw"malformed RSA key(code:001)";var b=y(A,0);if(b.length!=2)throw"malformed RSA key(code:002)";if(A.substr(b[0],2)!="02")throw"malformed RSA key(code:003)";if(g.n=h(A,b[0]),A.substr(b[1],2)!="02")throw"malformed RSA key(code:004)";return g.e=h(A,b[1]),g},parsePublicPKCS8Hex:function(A){var m=ASN1HEX,y=m.getChildIdx,h=m.getV,g={};g.algparam=null;var b=y(A,0);if(b.length!=2)throw"outer DERSequence shall have 2 elements: "+b.length;var E=b[0];if(A.substr(E,2)!="30")throw"malformed PKCS8 public key(code:001)";var T=y(A,E);if(T.length!=2)throw"malformed PKCS8 public key(code:002)";if(A.substr(T[0],2)!="06")throw"malformed PKCS8 public key(code:003)";if(g.algoid=h(A,T[0]),A.substr(T[1],2)=="06"?g.algparam=h(A,T[1]):A.substr(T[1],2)=="30"&&(g.algparam={},g.algparam.p=m.getVbyList(A,T[1],[0],"02"),g.algparam.q=m.getVbyList(A,T[1],[1],"02"),g.algparam.g=m.getVbyList(A,T[1],[2],"02")),A.substr(b[1],2)!="03")throw"malformed PKCS8 public key(code:004)";return g.key=h(A,b[1]).substr(2),g}}}();KEYUTIL.getKey=function(n,t,e){var r=ASN1HEX,i=r.getChildIdx;r.getV;var o=r.getVbyList,s=KJUR.crypto,u=s.ECDSA,l=s.DSA,c=RSAKey,d=pemtohex,f=KEYUTIL;if(typeof c!="undefined"&&n instanceof c||typeof u!="undefined"&&n instanceof u||typeof l!="undefined"&&n instanceof l)return n;if(n.curve!==void 0&&n.xy!==void 0&&n.d===void 0)return new u({pub:n.xy,curve:n.curve});if(n.curve!==void 0&&n.d!==void 0)return new u({prv:n.d,curve:n.curve});if(n.kty===void 0&&n.n!==void 0&&n.e!==void 0&&n.d===void 0){var v=new c;return v.setPublic(n.n,n.e),v}if(n.kty===void 0&&n.n!==void 0&&n.e!==void 0&&n.d!==void 0&&n.p!==void 0&&n.q!==void 0&&n.dp!==void 0&&n.dq!==void 0&&n.co!==void 0&&n.qi===void 0){var v=new c;return v.setPrivateEx(n.n,n.e,n.d,n.p,n.q,n.dp,n.dq,n.co),v}if(n.kty===void 0&&n.n!==void 0&&n.e!==void 0&&n.d!==void 0&&n.p===void 0){var v=new c;return v.setPrivate(n.n,n.e,n.d),v}if(n.p!==void 0&&n.q!==void 0&&n.g!==void 0&&n.y!==void 0&&n.x===void 0){var v=new l;return v.setPublic(n.p,n.q,n.g,n.y),v}if(n.p!==void 0&&n.q!==void 0&&n.g!==void 0&&n.y!==void 0&&n.x!==void 0){var v=new l;return v.setPrivate(n.p,n.q,n.g,n.y,n.x),v}if(n.kty==="RSA"&&n.n!==void 0&&n.e!==void 0&&n.d===void 0){var v=new c;return v.setPublic(b64utohex(n.n),b64utohex(n.e)),v}if(n.kty==="RSA"&&n.n!==void 0&&n.e!==void 0&&n.d!==void 0&&n.p!==void 0&&n.q!==void 0&&n.dp!==void 0&&n.dq!==void 0&&n.qi!==void 0){var v=new c;return v.setPrivateEx(b64utohex(n.n),b64utohex(n.e),b64utohex(n.d),b64utohex(n.p),b64utohex(n.q),b64utohex(n.dp),b64utohex(n.dq),b64utohex(n.qi)),v}if(n.kty==="RSA"&&n.n!==void 0&&n.e!==void 0&&n.d!==void 0){var v=new c;return v.setPrivate(b64utohex(n.n),b64utohex(n.e),b64utohex(n.d)),v}if(n.kty==="EC"&&n.crv!==void 0&&n.x!==void 0&&n.y!==void 0&&n.d===void 0){var p=new u({curve:n.crv}),A=p.ecparams.keylen/4,m=("0000000000"+b64utohex(n.x)).slice(-A),y=("0000000000"+b64utohex(n.y)).slice(-A),h="04"+m+y;return p.setPublicKeyHex(h),p}if(n.kty==="EC"&&n.crv!==void 0&&n.x!==void 0&&n.y!==void 0&&n.d!==void 0){var p=new u({curve:n.crv}),A=p.ecparams.keylen/4,m=("0000000000"+b64utohex(n.x)).slice(-A),y=("0000000000"+b64utohex(n.y)).slice(-A),h="04"+m+y,g=("0000000000"+b64utohex(n.d)).slice(-A);return p.setPublicKeyHex(h),p.setPrivateKeyHex(g),p}if(e==="pkcs5prv"){var b=n,r=ASN1HEX,E,v;if(E=i(b,0),E.length===9)v=new c,v.readPKCS5PrvKeyHex(b);else if(E.length===6)v=new l,v.readPKCS5PrvKeyHex(b);else if(E.length>2&&b.substr(E[1],2)==="04")v=new u,v.readPKCS5PrvKeyHex(b);else throw"unsupported PKCS#1/5 hexadecimal key";return v}if(e==="pkcs8prv"){var v=f.getKeyFromPlainPrivatePKCS8Hex(n);return v}if(e==="pkcs8pub")return f._getKeyFromPublicPKCS8Hex(n);if(e==="x509pub")return X509.getPublicKeyFromCertHex(n);if(n.indexOf("-END CERTIFICATE-",0)!=-1||n.indexOf("-END X509 CERTIFICATE-",0)!=-1||n.indexOf("-END TRUSTED CERTIFICATE-",0)!=-1)return X509.getPublicKeyFromCertPEM(n);if(n.indexOf("-END PUBLIC KEY-")!=-1){var T=pemtohex(n,"PUBLIC KEY");return f._getKeyFromPublicPKCS8Hex(T)}if(n.indexOf("-END RSA PRIVATE KEY-")!=-1&&n.indexOf("4,ENCRYPTED")==-1){var _=d(n,"RSA PRIVATE KEY");return f.getKey(_,null,"pkcs5prv")}if(n.indexOf("-END DSA PRIVATE KEY-")!=-1&&n.indexOf("4,ENCRYPTED")==-1){var x=d(n,"DSA PRIVATE KEY"),w=o(x,0,[1],"02"),S=o(x,0,[2],"02"),C=o(x,0,[3],"02"),R=o(x,0,[4],"02"),I=o(x,0,[5],"02"),v=new l;return v.setPrivate(new BigInteger(w,16),new BigInteger(S,16),new BigInteger(C,16),new BigInteger(R,16),new BigInteger(I,16)),v}if(n.indexOf("-END EC PRIVATE KEY-")!=-1&&n.indexOf("4,ENCRYPTED")==-1){var _=d(n,"EC PRIVATE KEY");return f.getKey(_,null,"pkcs5prv")}if(n.indexOf("-END PRIVATE KEY-")!=-1)return f.getKeyFromPlainPrivatePKCS8PEM(n);if(n.indexOf("-END RSA PRIVATE KEY-")!=-1&&n.indexOf("4,ENCRYPTED")!=-1){var B=f.getDecryptedKeyHex(n,t),F=new RSAKey;return F.readPKCS5PrvKeyHex(B),F}if(n.indexOf("-END EC PRIVATE KEY-")!=-1&&n.indexOf("4,ENCRYPTED")!=-1){var x=f.getDecryptedKeyHex(n,t),v=o(x,0,[1],"04"),L=o(x,0,[2,0],"06"),O=o(x,0,[3,0],"03").substr(2),k="";if(KJUR.crypto.OID.oidhex2name[L]!==void 0)k=KJUR.crypto.OID.oidhex2name[L];else throw"undefined OID(hex) in KJUR.crypto.OID: "+L;var p=new u({curve:k});return p.setPublicKeyHex(O),p.setPrivateKeyHex(v),p.isPublic=!1,p}if(n.indexOf("-END DSA PRIVATE KEY-")!=-1&&n.indexOf("4,ENCRYPTED")!=-1){var x=f.getDecryptedKeyHex(n,t),w=o(x,0,[1],"02"),S=o(x,0,[2],"02"),C=o(x,0,[3],"02"),R=o(x,0,[4],"02"),I=o(x,0,[5],"02"),v=new l;return v.setPrivate(new BigInteger(w,16),new BigInteger(S,16),new BigInteger(C,16),new BigInteger(R,16),new BigInteger(I,16)),v}if(n.indexOf("-END ENCRYPTED PRIVATE KEY-")!=-1)return f.getKeyFromEncryptedPKCS8PEM(n,t);throw new Error("not supported argument")},(typeof KJUR.asn1=="undefined"||!KJUR.asn1)&&(KJUR.asn1={}),KJUR.asn1.ASN1Util={},KJUR.asn1.ASN1Util.oidHexToInt=function(n){for(var i="",t=parseInt(n.substr(0,2),16),e=Math.floor(t/40),r=t%40,i=e+"."+r,o="",s=2;s<n.length;s+=2){var u=parseInt(n.substr(s,2),16),l=("00000000"+u.toString(2)).slice(-8);if(o=o+l.substr(1,7),l.substr(0,1)=="0"){var c=new BigInteger(o,2);i=i+"."+c.toString(10),o=""}}return i};var ASN1HEX=new function(){};ASN1HEX.getLblen=function(n,t){if(n.substr(t+2,1)!="8")return 1;var e=parseInt(n.substr(t+3,1));return e==0?-1:0<e&&e<10?e+1:-2},ASN1HEX.getL=function(n,t){var e=ASN1HEX.getLblen(n,t);return e<1?"":n.substr(t+2,e*2)},ASN1HEX.getVblen=function(n,t){var e,r;return e=ASN1HEX.getL(n,t),e==""?-1:(e.substr(0,1)==="8"?r=new BigInteger(e.substr(2),16):r=new BigInteger(e,16),r.intValue())},ASN1HEX.getVidx=function(n,t){var e=ASN1HEX.getLblen(n,t);return e<0?e:t+(e+1)*2},ASN1HEX.getV=function(n,t){var e=ASN1HEX.getVidx(n,t),r=ASN1HEX.getVblen(n,t);return n.substr(e,r*2)},ASN1HEX.getTLV=function(n,t){return n.substr(t,2)+ASN1HEX.getL(n,t)+ASN1HEX.getV(n,t)},ASN1HEX.getTLVblen=function(n,t){return 2+ASN1HEX.getLblen(n,t)*2+ASN1HEX.getVblen(n,t)*2},ASN1HEX.getNextSiblingIdx=function(n,t){var e=ASN1HEX.getVidx(n,t),r=ASN1HEX.getVblen(n,t);return e+r*2},ASN1HEX.getChildIdx=function(n,t){var e=ASN1HEX,r=[],i,o,s;i=e.getVidx(n,t),o=e.getVblen(n,t)*2,n.substr(t,2)=="03"&&(i+=2,o-=2),s=0;for(var u=i;s<=o;){var l=e.getTLVblen(n,u);if(s+=l,s<=o&&r.push(u),u+=l,s>=o)break}return r},ASN1HEX.getNthChildIdx=function(n,t,e){var r=ASN1HEX.getChildIdx(n,t);return r[e]},ASN1HEX.getIdxbyList=function(n,t,e,r){var i=ASN1HEX,o,s;return e.length==0?r!==void 0&&n.substr(t,2)!==r?-1:t:(o=e.shift(),s=i.getChildIdx(n,t),o>=s.length?-1:i.getIdxbyList(n,s[o],e,r))},ASN1HEX.getIdxbyListEx=function(n,t,e,r){var i=ASN1HEX,o,s;if(e.length==0)return r!==void 0&&n.substr(t,2)!==r?-1:t;o=e.shift(),s=i.getChildIdx(n,t);for(var u=0,l=0;l<s.length;l++){var c=n.substr(s[l],2);if(typeof o=="number"&&!i.isContextTag(c)&&u==o||typeof o=="string"&&i.isContextTag(c,o))return i.getIdxbyListEx(n,s[l],e,r);i.isContextTag(c)||u++}return-1},ASN1HEX.getTLVbyList=function(n,t,e,r){var i=ASN1HEX,o=i.getIdxbyList(n,t,e,r);return o==-1||o>=n.length?null:i.getTLV(n,o)},ASN1HEX.getTLVbyListEx=function(n,t,e,r){var i=ASN1HEX,o=i.getIdxbyListEx(n,t,e,r);return o==-1?null:i.getTLV(n,o)},ASN1HEX.getVbyList=function(n,t,e,r,i){var o=ASN1HEX,s,u;return s=o.getIdxbyList(n,t,e,r),s==-1||s>=n.length?null:(u=o.getV(n,s),i===!0&&(u=u.substr(2)),u)},ASN1HEX.getVbyListEx=function(n,t,e,r,i){var o=ASN1HEX,s,u;return s=o.getIdxbyListEx(n,t,e,r),s==-1?null:(u=o.getV(n,s),n.substr(s,2)=="03"&&i!==!1&&(u=u.substr(2)),u)},ASN1HEX.getInt=function(n,t,e){e==null&&(e=-1);try{var r=n.substr(t,2);if(r!="02"&&r!="03")return e;var i=ASN1HEX.getV(n,t);return r=="02"?parseInt(i,16):bitstrtoint(i)}catch(o){return e}},ASN1HEX.getOID=function(n,t,e){e==null&&(e=null);try{if(n.substr(t,2)!="06")return e;var r=ASN1HEX.getV(n,t);return hextooid(r)}catch(i){return e}},ASN1HEX.getOIDName=function(n,t,e){e==null&&(e=null);try{var r=ASN1HEX.getOID(n,t,e);if(r==e)return e;var i=KJUR.asn1.x509.OID.oid2name(r);return i==""?r:i}catch(o){return e}},ASN1HEX.getString=function(n,t,e){e==null&&(e=null);try{var r=ASN1HEX.getV(n,t);return hextorstr(r)}catch(i){return e}},ASN1HEX.hextooidstr=function(n){var t=function(f,v){return f.length>=v?f:new Array(v-f.length+1).join("0")+f},e=[],r=n.substr(0,2),i=parseInt(r,16);e[0]=new String(Math.floor(i/40)),e[1]=new String(i%40);for(var o=n.substr(2),s=[],u=0;u<o.length/2;u++)s.push(parseInt(o.substr(u*2,2),16));for(var l=[],c="",u=0;u<s.length;u++)s[u]&128?c=c+t((s[u]&127).toString(2),7):(c=c+t((s[u]&127).toString(2),7),l.push(new String(parseInt(c,2))),c="");var d=e.join(".");return l.length>0&&(d=d+"."+l.join(".")),d},ASN1HEX.isContextTag=function(n,t){n=n.toLowerCase();var e,r;try{e=parseInt(n,16)}catch(o){return-1}if(t===void 0)return(e&192)==128;try{var i=t.match(/^\[[0-9]+\]$/);return i==null||(r=parseInt(t.substr(1,t.length-1),10),r>31)?!1:(e&192)==128&&(e&31)==r}catch(o){return!1}},ASN1HEX.isASN1HEX=function(n){var t=ASN1HEX;if(n.length%2==1)return!1;var e=t.getVblen(n,0),r=n.substr(0,2),i=t.getL(n,0),o=n.length-r.length-i.length;return o==e*2},ASN1HEX.checkStrictDER=function(n,t,e,r,i){var o=ASN1HEX;if(e===void 0){if(typeof n!="string")throw new Error("not hex string");if(n=n.toLowerCase(),!KJUR.lang.String.isHex(n))throw new Error("not hex string");e=n.length,r=n.length/2,r<128?i=1:i=Math.ceil(r.toString(16))+1}var s=o.getL(n,t);if(s.length>i*2)throw new Error("L of TLV too long: idx="+t);var u=o.getVblen(n,t);if(u>r)throw new Error("value of L too long than hex: idx="+t);var l=o.getTLV(n,t),c=l.length-2-o.getL(n,t).length;if(c!==u*2)throw new Error("V string length and L's value not the same:"+c+"/"+u*2);if(t===0&&n.length!=l.length)throw new Error("total length and TLV length unmatch:"+n.length+"!="+l.length);var d=n.substr(t,2);if(d==="02"){var f=o.getVidx(n,t);if(n.substr(f,2)=="00"&&n.charCodeAt(f+2)<56)throw new Error("not least zeros for DER INTEGER")}if(parseInt(d,16)&32){for(var v=o.getVblen(n,t),p=0,A=o.getChildIdx(n,t),m=0;m<A.length;m++){var y=o.getTLV(n,A[m]);p+=y.length,o.checkStrictDER(n,A[m],e,r,i)}if(v*2!=p)throw new Error("sum of children's TLV length and L unmatch: "+v*2+"!="+p)}},ASN1HEX.oidname=function(n){var t=KJUR.asn1;KJUR.lang.String.isHex(n)&&(n=t.ASN1Util.oidHexToInt(n));var e=t.x509.OID.oid2name(n);return e===""&&(e=n),e},(typeof KJUR.asn1=="undefined"||!KJUR.asn1)&&(KJUR.asn1={}),(typeof KJUR.asn1.x509=="undefined"||!KJUR.asn1.x509)&&(KJUR.asn1.x509={}),KJUR.asn1.x509.AlgorithmIdentifier={},KJUR.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV={SHAwithRSAandMGF1:"300d06092a864886f70d01010a3000",SHA256withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040201a11a301806092a864886f70d010108300b0609608648016503040201a203020120",SHA384withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040202a11a301806092a864886f70d010108300b0609608648016503040202a203020130",SHA512withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040203a11a301806092a864886f70d010108300b0609608648016503040203a203020140"},KJUR.asn1.x509.OID=new function(n){this.atype2oidList={CN:"2.5.4.3",L:"2.5.4.7",ST:"2.5.4.8",O:"2.5.4.10",OU:"2.5.4.11",C:"2.5.4.6",STREET:"2.5.4.9",DC:"0.9.2342.19200300.100.1.25",UID:"0.9.2342.19200300.100.1.1",SN:"2.5.4.4",T:"2.5.4.12",DN:"2.5.4.49",E:"1.2.840.113549.1.9.1",description:"2.5.4.13",businessCategory:"2.5.4.15",postalCode:"2.5.4.17",serialNumber:"2.5.4.5",uniqueIdentifier:"2.5.4.45",organizationIdentifier:"2.5.4.97",jurisdictionOfIncorporationL:"1.3.6.1.4.1.311.60.2.1.1",jurisdictionOfIncorporationSP:"1.3.6.1.4.1.311.60.2.1.2",jurisdictionOfIncorporationC:"1.3.6.1.4.1.311.60.2.1.3"},this.name2oidList={sha1:"1.3.14.3.2.26",sha256:"2.16.840.1.101.3.4.2.1",sha384:"2.16.840.1.101.3.4.2.2",sha512:"2.16.840.1.101.3.4.2.3",sha224:"2.16.840.1.101.3.4.2.4",md5:"1.2.840.113549.2.5",md2:"1.3.14.7.2.2.1",ripemd160:"1.3.36.3.2.1",MD2withRSA:"1.2.840.113549.1.1.2",MD4withRSA:"1.2.840.113549.1.1.3",MD5withRSA:"1.2.840.113549.1.1.4",SHA1withRSA:"1.2.840.113549.1.1.5","pkcs1-MGF":"1.2.840.113549.1.1.8",rsaPSS:"1.2.840.113549.1.1.10",SHA224withRSA:"1.2.840.113549.1.1.14",SHA256withRSA:"1.2.840.113549.1.1.11",SHA384withRSA:"1.2.840.113549.1.1.12",SHA512withRSA:"1.2.840.113549.1.1.13",SHA1withECDSA:"1.2.840.10045.4.1",SHA224withECDSA:"1.2.840.10045.4.3.1",SHA256withECDSA:"1.2.840.10045.4.3.2",SHA384withECDSA:"1.2.840.10045.4.3.3",SHA512withECDSA:"1.2.840.10045.4.3.4",dsa:"1.2.840.10040.4.1",SHA1withDSA:"1.2.840.10040.4.3",SHA224withDSA:"2.16.840.1.101.3.4.3.1",SHA256withDSA:"2.16.840.1.101.3.4.3.2",rsaEncryption:"1.2.840.113549.1.1.1",commonName:"2.5.4.3",countryName:"2.5.4.6",localityName:"2.5.4.7",stateOrProvinceName:"2.5.4.8",streetAddress:"2.5.4.9",organizationName:"2.5.4.10",organizationalUnitName:"2.5.4.11",domainComponent:"0.9.2342.19200300.100.1.25",userId:"0.9.2342.19200300.100.1.1",surname:"2.5.4.4",givenName:"2.5.4.42",title:"2.5.4.12",distinguishedName:"2.5.4.49",emailAddress:"1.2.840.113549.1.9.1",description:"2.5.4.13",businessCategory:"2.5.4.15",postalCode:"2.5.4.17",uniqueIdentifier:"2.5.4.45",organizationIdentifier:"2.5.4.97",jurisdictionOfIncorporationL:"1.3.6.1.4.1.311.60.2.1.1",jurisdictionOfIncorporationSP:"1.3.6.1.4.1.311.60.2.1.2",jurisdictionOfIncorporationC:"1.3.6.1.4.1.311.60.2.1.3",subjectDirectoryAttributes:"2.5.29.9",subjectKeyIdentifier:"2.5.29.14",keyUsage:"2.5.29.15",subjectAltName:"2.5.29.17",issuerAltName:"2.5.29.18",basicConstraints:"2.5.29.19",cRLNumber:"2.5.29.20",cRLReason:"2.5.29.21",nameConstraints:"2.5.29.30",cRLDistributionPoints:"2.5.29.31",certificatePolicies:"2.5.29.32",anyPolicy:"2.5.29.32.0",authorityKeyIdentifier:"2.5.29.35",policyConstraints:"2.5.29.36",extKeyUsage:"2.5.29.37",authorityInfoAccess:"1.3.6.1.5.5.7.1.1",ocsp:"1.3.6.1.5.5.7.48.1",ocspBasic:"1.3.6.1.5.5.7.48.1.1",ocspNonce:"1.3.6.1.5.5.7.48.1.2",ocspNoCheck:"1.3.6.1.5.5.7.48.1.5",caIssuers:"1.3.6.1.5.5.7.48.2",anyExtendedKeyUsage:"2.5.29.37.0",serverAuth:"1.3.6.1.5.5.7.3.1",clientAuth:"1.3.6.1.5.5.7.3.2",codeSigning:"1.3.6.1.5.5.7.3.3",emailProtection:"1.3.6.1.5.5.7.3.4",timeStamping:"1.3.6.1.5.5.7.3.8",ocspSigning:"1.3.6.1.5.5.7.3.9",dateOfBirth:"1.3.6.1.5.5.7.9.1",placeOfBirth:"1.3.6.1.5.5.7.9.2",gender:"1.3.6.1.5.5.7.9.3",countryOfCitizenship:"1.3.6.1.5.5.7.9.4",countryOfResidence:"1.3.6.1.5.5.7.9.5",ecPublicKey:"1.2.840.10045.2.1","P-256":"1.2.840.10045.3.1.7",secp256r1:"1.2.840.10045.3.1.7",secp256k1:"1.3.132.0.10",secp384r1:"1.3.132.0.34",pkcs5PBES2:"1.2.840.113549.1.5.13",pkcs5PBKDF2:"1.2.840.113549.1.5.12","des-EDE3-CBC":"1.2.840.113549.3.7",data:"1.2.840.113549.1.7.1","signed-data":"1.2.840.113549.1.7.2","enveloped-data":"1.2.840.113549.1.7.3","digested-data":"1.2.840.113549.1.7.5","encrypted-data":"1.2.840.113549.1.7.6","authenticated-data":"1.2.840.113549.1.9.16.1.2",tstinfo:"1.2.840.113549.1.9.16.1.4",signingCertificate:"1.2.840.113549.1.9.16.2.12",timeStampToken:"1.2.840.113549.1.9.16.2.14",signaturePolicyIdentifier:"1.2.840.113549.1.9.16.2.15",etsArchiveTimeStamp:"1.2.840.113549.1.9.16.2.27",signingCertificateV2:"1.2.840.113549.1.9.16.2.47",etsArchiveTimeStampV2:"1.2.840.113549.1.9.16.2.48",extensionRequest:"1.2.840.113549.1.9.14",contentType:"1.2.840.113549.1.9.3",messageDigest:"1.2.840.113549.1.9.4",signingTime:"1.2.840.113549.1.9.5",counterSignature:"1.2.840.113549.1.9.6",archiveTimeStampV3:"0.4.0.1733.2.4",pdfRevocationInfoArchival:"1.2.840.113583.1.1.8",adobeTimeStamp:"1.2.840.113583.1.1.9.1"},this.objCache={},this.name2obj=function(t){if(typeof this.objCache[t]!="undefined")return this.objCache[t];if(typeof this.name2oidList[t]=="undefined")throw"Name of ObjectIdentifier not defined: "+t;var e=this.name2oidList[t],r=new KJUR.asn1.DERObjectIdentifier({oid:e});return this.objCache[t]=r,r},this.atype2obj=function(t){if(this.objCache[t]!==void 0)return this.objCache[t];var e;if(t.match(/^\d+\.\d+\.[0-9.]+$/))e=t;else if(this.atype2oidList[t]!==void 0)e=this.atype2oidList[t];else if(this.name2oidList[t]!==void 0)e=this.name2oidList[t];else throw"AttributeType name undefined: "+t;var r=new KJUR.asn1.DERObjectIdentifier({oid:e});return this.objCache[t]=r,r}},KJUR.asn1.x509.OID.oid2name=function(n){var t=KJUR.asn1.x509.OID.name2oidList;for(var e in t)if(t[e]==n)return e;return""},KJUR.asn1.x509.OID.oid2atype=function(n){var t=KJUR.asn1.x509.OID.atype2oidList;for(var e in t)if(t[e]==n)return e;return n},KJUR.asn1.x509.OID.name2oid=function(n){if(n.match(/^[0-9.]+$/))return n;var t=KJUR.asn1.x509.OID.name2oidList;return t[n]===void 0?"":t[n]},RSAKey.getPosArrayOfChildrenFromHex=function(n){return ASN1HEX.getChildIdx(n,0)},RSAKey.getHexValueArrayOfChildrenFromHex=function(n){var t=ASN1HEX,e=t.getV,v=RSAKey.getPosArrayOfChildrenFromHex(n),r=e(n,v[0]),i=e(n,v[1]),o=e(n,v[2]),s=e(n,v[3]),u=e(n,v[4]),l=e(n,v[5]),c=e(n,v[6]),d=e(n,v[7]),f=e(n,v[8]),v=new Array;return v.push(r,i,o,s,u,l,c,d,f),v},RSAKey.prototype.readPrivateKeyFromPEMString=function(n){var t=pemtohex(n),e=RSAKey.getHexValueArrayOfChildrenFromHex(t);this.setPrivateEx(e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},RSAKey.prototype.readPKCS5PrvKeyHex=function(n){var t=RSAKey.getHexValueArrayOfChildrenFromHex(n);this.setPrivateEx(t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},RSAKey.prototype.readPKCS8PrvKeyHex=function(n){var t,e,r,i,o,s,u,l,c=ASN1HEX,d=c.getVbyListEx;if(c.isASN1HEX(n)===!1)throw new Error("not ASN.1 hex string");try{t=d(n,0,[2,0,1],"02"),e=d(n,0,[2,0,2],"02"),r=d(n,0,[2,0,3],"02"),i=d(n,0,[2,0,4],"02"),o=d(n,0,[2,0,5],"02"),s=d(n,0,[2,0,6],"02"),u=d(n,0,[2,0,7],"02"),l=d(n,0,[2,0,8],"02")}catch(f){throw new Error("malformed PKCS#8 plain RSA private key")}this.setPrivateEx(t,e,r,i,o,s,u,l)},RSAKey.prototype.readPKCS5PubKeyHex=function(n){var t=ASN1HEX,e=t.getV;if(t.isASN1HEX(n)===!1)throw new Error("keyHex is not ASN.1 hex string");var r=t.getChildIdx(n,0);if(r.length!==2||n.substr(r[0],2)!=="02"||n.substr(r[1],2)!=="02")throw new Error("wrong hex for PKCS#5 public key");var i=e(n,r[0]),o=e(n,r[1]);this.setPublic(i,o)},RSAKey.prototype.readPKCS8PubKeyHex=function(n){var t=ASN1HEX;if(t.isASN1HEX(n)===!1)throw new Error("not ASN.1 hex string");if(t.getTLVbyListEx(n,0,[0,0])!=="06092a864886f70d010101")throw new Error("not PKCS8 RSA public key");var e=t.getTLVbyListEx(n,0,[1,0]);this.readPKCS5PubKeyHex(e)},RSAKey.prototype.readCertPubKeyHex=function(n,t){var e,r;e=new X509,e.readCertHex(n),r=e.getPublicKeyHex(),this.readPKCS8PubKeyHex(r)};function _rsasign_getAlgNameAndHashFromHexDisgestInfo(n){for(var t in KJUR.crypto.Util.DIGESTINFOHEAD){var e=KJUR.crypto.Util.DIGESTINFOHEAD[t],r=e.length;if(n.substring(0,r)==e){var i=[t,n.substring(r)];return i}}return[]}RSAKey.prototype.verify=function(n,t){if(t=t.toLowerCase(),t.match(/^[0-9a-f]+$/)==null)return!1;var e=parseBigInt(t,16),r=this.n.bitLength();if(e.bitLength()>r)return!1;var i=this.doPublic(e),o=i.toString(16);if(o.length+3!=r/4)return!1;var s=o.replace(/^1f+00/,""),u=_rsasign_getAlgNameAndHashFromHexDisgestInfo(s);if(u.length==0)return!1;var l=u[0],c=u[1],d=function(v){return KJUR.crypto.Util.hashString(v,l)},f=d(n);return c==f},RSAKey.prototype.verifyWithMessageHash=function(n,t){if(t.length!=Math.ceil(this.n.bitLength()/4))return!1;var e=parseBigInt(t,16);if(e.bitLength()>this.n.bitLength())return 0;var r=this.doPublic(e),i=r.toString(16).replace(/^1f+00/,""),o=_rsasign_getAlgNameAndHashFromHexDisgestInfo(i);if(o.length==0)return!1;o[0];var s=o[1];return s==n},RSAKey.prototype.verifyPSS=function(n,t,e,r){var i=function(s){return KJUR.crypto.Util.hashHex(s,e)},o=i(rstrtohex(n));return r===void 0&&(r=-1),this.verifyWithMessageHashPSS(o,t,e,r)},RSAKey.prototype.verifyWithMessageHashPSS=function(n,t,e,r){if(t.length!=Math.ceil(this.n.bitLength()/4))return!1;var i=new BigInteger(t,16),o=function(g){return KJUR.crypto.Util.hashHex(g,e)},s=hextorstr(n),u=s.length,l=this.n.bitLength()-1,c=Math.ceil(l/8),d;if(r===-1||r===void 0)r=u;else if(r===-2)r=c-u-2;else if(r<-2)throw new Error("invalid salt length");if(c<u+r+2)throw new Error("data too long");var f=this.doPublic(i).toByteArray();for(d=0;d<f.length;d+=1)f[d]&=255;for(;f.length<c;)f.unshift(0);if(f[c-1]!==188)throw new Error("encoded message does not end in 0xbc");f=String.fromCharCode.apply(String,f);var v=f.substr(0,c-u-1),p=f.substr(v.length,u),A=65280>>8*c-l&255;if(v.charCodeAt(0)&A)throw new Error("bits beyond keysize not zero");var m=pss_mgf1_str(p,v.length,o),y=[];for(d=0;d<v.length;d+=1)y[d]=v.charCodeAt(d)^m.charCodeAt(d);y[0]&=~A;var h=c-u-r-2;for(d=0;d<h;d+=1)if(y[d]!==0)throw new Error("leftmost octets not zero");if(y[h]!==1)throw new Error("0x01 marker not found");return p===hextorstr(o(rstrtohex("\0\0\0\0\0\0\0\0"+s+String.fromCharCode.apply(String,y.slice(-r)))))},RSAKey.SALT_LEN_HLEN=-1,RSAKey.SALT_LEN_MAX=-2,RSAKey.SALT_LEN_RECOVER=-2;function X509(n){var t=ASN1HEX,e=t.getChildIdx,r=t.getV,i=t.getTLV,o=t.getVbyList,s=t.getVbyListEx,u=t.getTLVbyList,l=t.getTLVbyListEx,c=t.getIdxbyList,d=t.getIdxbyListEx,f=t.getVidx,v=t.getInt,p=t.oidname,A=t.hextooidstr,m=pemtohex,y;try{y=KJUR.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV}catch(h){}this.HEX2STAG={"0c":"utf8",13:"prn",16:"ia5","1a":"vis","1e":"bmp"},this.hex=null,this.version=0,this.foffset=0,this.aExtInfo=null,this.getVersion=function(){if(this.hex===null||this.version!==0)return this.version;var h=u(this.hex,0,[0,0]);if(h.substr(0,2)=="a0"){var g=u(h,0,[0]),b=v(g,0);if(b<0||2<b)throw new Error("malformed version field");return this.version=b+1,this.version}else return this.version=1,this.foffset=-1,1},this.getSerialNumberHex=function(){return s(this.hex,0,[0,0],"02")},this.getSignatureAlgorithmField=function(){var h=l(this.hex,0,[0,1]);return this.getAlgorithmIdentifierName(h)},this.getAlgorithmIdentifierName=function(h){for(var g in y)if(h===y[g])return g;return p(s(h,0,[0],"06"))},this.getIssuer=function(){return this.getX500Name(this.getIssuerHex())},this.getIssuerHex=function(){return u(this.hex,0,[0,3+this.foffset],"30")},this.getIssuerString=function(){var h=this.getIssuer();return h.str},this.getSubject=function(){return this.getX500Name(this.getSubjectHex())},this.getSubjectHex=function(){return u(this.hex,0,[0,5+this.foffset],"30")},this.getSubjectString=function(){var h=this.getSubject();return h.str},this.getNotBefore=function(){var h=o(this.hex,0,[0,4+this.foffset,0]);return h=h.replace(/(..)/g,"%$1"),h=decodeURIComponent(h),h},this.getNotAfter=function(){var h=o(this.hex,0,[0,4+this.foffset,1]);return h=h.replace(/(..)/g,"%$1"),h=decodeURIComponent(h),h},this.getPublicKeyHex=function(){return t.getTLVbyList(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyIdx=function(){return c(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyContentIdx=function(){var h=this.getPublicKeyIdx();return c(this.hex,h,[1,0],"30")},this.getPublicKey=function(){return KEYUTIL.getKey(this.getPublicKeyHex(),null,"pkcs8pub")},this.getSignatureAlgorithmName=function(){var h=u(this.hex,0,[1],"30");return this.getAlgorithmIdentifierName(h)},this.getSignatureValueHex=function(){return o(this.hex,0,[2],"03",!0)},this.verifySignature=function(h){var g=this.getSignatureAlgorithmField(),b=this.getSignatureValueHex(),E=u(this.hex,0,[0],"30"),T=new KJUR.crypto.Signature({alg:g});return T.init(h),T.updateHex(E),T.verify(b)},this.parseExt=function(h){var g,b,E;if(h===void 0){if(E=this.hex,this.version!==3)return-1;g=c(E,0,[0,7,0],"30"),b=e(E,g)}else{E=pemtohex(h);var T=c(E,0,[0,3,0,0],"06");if(r(E,T)!="2a864886f70d01090e"){this.aExtInfo=new Array;return}g=c(E,0,[0,3,0,1,0],"30"),b=e(E,g),this.hex=E}this.aExtInfo=new Array;for(var _=0;_<b.length;_++){var x={};x.critical=!1;var w=e(E,b[_]),S=0;w.length===3&&(x.critical=!0,S=1),x.oid=t.hextooidstr(o(E,b[_],[0],"06"));var C=c(E,b[_],[1+S]);x.vidx=f(E,C),this.aExtInfo.push(x)}},this.getExtInfo=function(h){var g=this.aExtInfo,b=h;if(h.match(/^[0-9.]+$/)||(b=KJUR.asn1.x509.OID.name2oid(h)),b!==""){for(var E=0;E<g.length;E++)if(g[E].oid===b)return g[E]}},this.getExtBasicConstraints=function(h,g){if(h===void 0&&g===void 0){var b=this.getExtInfo("basicConstraints");if(b===void 0)return;h=i(this.hex,b.vidx),g=b.critical}var E={extname:"basicConstraints"};if(g&&(E.critical=!0),h==="3000")return E;if(h==="30030101ff")return E.cA=!0,E;if(h.substr(0,12)==="30060101ff02"){var T=r(h,10),_=parseInt(T,16);return E.cA=!0,E.pathLen=_,E}throw new Error("hExtV parse error: "+h)},this.getExtKeyUsage=function(h,g){if(h===void 0&&g===void 0){var b=this.getExtInfo("keyUsage");if(b===void 0)return;h=i(this.hex,b.vidx),g=b.critical}var E={extname:"keyUsage"};return g&&(E.critical=!0),E.names=this.getExtKeyUsageString(h).split(","),E},this.getExtKeyUsageBin=function(h){if(h===void 0){var g=this.getExtInfo("keyUsage");if(g===void 0)return"";h=i(this.hex,g.vidx)}if(h.length!=8&&h.length!=10)throw new Error("malformed key usage value: "+h);var b="000000000000000"+parseInt(h.substr(6),16).toString(2);return h.length==8&&(b=b.slice(-8)),h.length==10&&(b=b.slice(-16)),b=b.replace(/0+$/,""),b==""&&(b="0"),b},this.getExtKeyUsageString=function(h){for(var g=this.getExtKeyUsageBin(h),b=new Array,E=0;E<g.length;E++)g.substr(E,1)=="1"&&b.push(X509.KEYUSAGE_NAME[E]);return b.join(",")},this.getExtSubjectKeyIdentifier=function(h,g){if(h===void 0&&g===void 0){var b=this.getExtInfo("subjectKeyIdentifier");if(b===void 0)return;h=i(this.hex,b.vidx),g=b.critical}var E={extname:"subjectKeyIdentifier"};g&&(E.critical=!0);var T=r(h,0);return E.kid={hex:T},E},this.getExtAuthorityKeyIdentifier=function(h,g){if(h===void 0&&g===void 0){var b=this.getExtInfo("authorityKeyIdentifier");if(b===void 0)return;h=i(this.hex,b.vidx),g=b.critical}var E={extname:"authorityKeyIdentifier"};g&&(E.critical=!0);for(var T=e(h,0),_=0;_<T.length;_++){var x=h.substr(T[_],2);if(x==="80"&&(E.kid={hex:r(h,T[_])}),x==="a1"){var w=i(h,T[_]),S=this.getGeneralNames(w);E.issuer=S[0].dn}x==="82"&&(E.sn={hex:r(h,T[_])})}return E},this.getExtExtKeyUsage=function(h,g){if(h===void 0&&g===void 0){var b=this.getExtInfo("extKeyUsage");if(b===void 0)return;h=i(this.hex,b.vidx),g=b.critical}var E={extname:"extKeyUsage",array:[]};g&&(E.critical=!0);for(var T=e(h,0),_=0;_<T.length;_++)E.array.push(p(r(h,T[_])));return E},this.getExtExtKeyUsageName=function(){var h=this.getExtInfo("extKeyUsage");if(h===void 0)return h;var g=new Array,b=i(this.hex,h.vidx);if(b==="")return g;for(var E=e(b,0),T=0;T<E.length;T++)g.push(p(r(b,E[T])));return g},this.getExtSubjectAltName=function(h,g){if(h===void 0&&g===void 0){var b=this.getExtInfo("subjectAltName");if(b===void 0)return;h=i(this.hex,b.vidx),g=b.critical}var E={extname:"subjectAltName",array:[]};return g&&(E.critical=!0),E.array=this.getGeneralNames(h),E},this.getExtIssuerAltName=function(h,g){if(h===void 0&&g===void 0){var b=this.getExtInfo("issuerAltName");if(b===void 0)return;h=i(this.hex,b.vidx),g=b.critical}var E={extname:"issuerAltName",array:[]};return g&&(E.critical=!0),E.array=this.getGeneralNames(h),E},this.getGeneralNames=function(h){for(var g=e(h,0),b=[],E=0;E<g.length;E++){var T=this.getGeneralName(i(h,g[E]));T!==void 0&&b.push(T)}return b},this.getGeneralName=function(h){var g=h.substr(0,2),b=r(h,0),E=hextorstr(b);if(g=="81")return{rfc822:E};if(g=="82")return{dns:E};if(g=="86")return{uri:E};if(g=="87")return{ip:hextoip(b)};if(g=="a4")return{dn:this.getX500Name(b)}},this.getExtSubjectAltName2=function(){var h,g,b,E=this.getExtInfo("subjectAltName");if(E===void 0)return E;for(var T=new Array,_=i(this.hex,E.vidx),x=e(_,0),w=0;w<x.length;w++)b=_.substr(x[w],2),h=r(_,x[w]),b==="81"&&(g=hextoutf8(h),T.push(["MAIL",g])),b==="82"&&(g=hextoutf8(h),T.push(["DNS",g])),b==="84"&&(g=X509.hex2dn(h,0),T.push(["DN",g])),b==="86"&&(g=hextoutf8(h),T.push(["URI",g])),b==="87"&&(g=hextoip(h),T.push(["IP",g]));return T},this.getExtCRLDistributionPoints=function(h,g){if(h===void 0&&g===void 0){var b=this.getExtInfo("cRLDistributionPoints");if(b===void 0)return;h=i(this.hex,b.vidx),g=b.critical}var E={extname:"cRLDistributionPoints",array:[]};g&&(E.critical=!0);for(var T=e(h,0),_=0;_<T.length;_++){var x=i(h,T[_]);E.array.push(this.getDistributionPoint(x))}return E},this.getDistributionPoint=function(h){for(var g={},b=e(h,0),E=0;E<b.length;E++){var T=h.substr(b[E],2),_=i(h,b[E]);T=="a0"&&(g.dpname=this.getDistributionPointName(_))}return g},this.getDistributionPointName=function(h){for(var g={},b=e(h,0),E=0;E<b.length;E++){var T=h.substr(b[E],2),_=i(h,b[E]);T=="a0"&&(g.full=this.getGeneralNames(_))}return g},this.getExtCRLDistributionPointsURI=function(){var h=this.getExtInfo("cRLDistributionPoints");if(h===void 0)return h;for(var g=new Array,b=e(this.hex,h.vidx),E=0;E<b.length;E++)try{var T=o(this.hex,b[E],[0,0,0],"86"),_=hextoutf8(T);g.push(_)}catch(x){}return g},this.getExtAIAInfo=function(){var h=this.getExtInfo("authorityInfoAccess");if(h===void 0)return h;for(var g={ocsp:[],caissuer:[]},b=e(this.hex,h.vidx),E=0;E<b.length;E++){var T=o(this.hex,b[E],[0],"06"),_=o(this.hex,b[E],[1],"86");T==="2b06010505073001"&&g.ocsp.push(hextoutf8(_)),T==="2b06010505073002"&&g.caissuer.push(hextoutf8(_))}return g},this.getExtAuthorityInfoAccess=function(h,g){if(h===void 0&&g===void 0){var b=this.getExtInfo("authorityInfoAccess");if(b===void 0)return;h=i(this.hex,b.vidx),g=b.critical}var E={extname:"authorityInfoAccess",array:[]};g&&(E.critical=!0);for(var T=e(h,0),_=0;_<T.length;_++){var x=s(h,T[_],[0],"06"),w=o(h,T[_],[1],"86"),S=hextoutf8(w);if(x=="2b06010505073001")E.array.push({ocsp:S});else if(x=="2b06010505073002")E.array.push({caissuer:S});else throw new Error("unknown method: "+x)}return E},this.getExtCertificatePolicies=function(h,g){if(h===void 0&&g===void 0){var b=this.getExtInfo("certificatePolicies");if(b===void 0)return;h=i(this.hex,b.vidx),g=b.critical}var E={extname:"certificatePolicies",array:[]};g&&(E.critical=!0);for(var T=e(h,0),_=0;_<T.length;_++){var x=i(h,T[_]),w=this.getPolicyInformation(x);E.array.push(w)}return E},this.getPolicyInformation=function(h){var g={},b=o(h,0,[0],"06");g.policyoid=p(b);var E=d(h,0,[1],"30");if(E!=-1){g.array=[];for(var T=e(h,E),_=0;_<T.length;_++){var x=i(h,T[_]),w=this.getPolicyQualifierInfo(x);g.array.push(w)}}return g},this.getPolicyQualifierInfo=function(h){var g={},b=o(h,0,[0],"06");if(b==="2b06010505070201"){var E=s(h,0,[1],"16");g.cps=hextorstr(E)}else if(b==="2b06010505070202"){var T=u(h,0,[1],"30");g.unotice=this.getUserNotice(T)}return g},this.getUserNotice=function(h){for(var g={},b=e(h,0),E=0;E<b.length;E++){var T=i(h,b[E]);T.substr(0,2)!="30"&&(g.exptext=this.getDisplayText(T))}return g},this.getDisplayText=function(h){var g={"0c":"utf8",16:"ia5","1a":"vis","1e":"bmp"},b={};return b.type=g[h.substr(0,2)],b.str=hextorstr(r(h,0)),b},this.getExtCRLNumber=function(h,g){var b={extname:"cRLNumber"};if(g&&(b.critical=!0),h.substr(0,2)=="02")return b.num={hex:r(h,0)},b;throw new Error("hExtV parse error: "+h)},this.getExtCRLReason=function(h,g){var b={extname:"cRLReason"};if(g&&(b.critical=!0),h.substr(0,2)=="0a")return b.code=parseInt(r(h,0),16),b;throw new Error("hExtV parse error: "+h)},this.getExtOcspNonce=function(h,g){var b={extname:"ocspNonce"};g&&(b.critical=!0);var E=r(h,0);return b.hex=E,b},this.getExtOcspNoCheck=function(h,g){var b={extname:"ocspNoCheck"};return g&&(b.critical=!0),b},this.getExtAdobeTimeStamp=function(h,g){if(h===void 0&&g===void 0){var b=this.getExtInfo("adobeTimeStamp");if(b===void 0)return;h=i(this.hex,b.vidx),g=b.critical}var E={extname:"adobeTimeStamp"};g&&(E.critical=!0);var T=e(h,0);if(T.length>1){var _=i(h,T[1]),x=this.getGeneralName(_);x.uri!=null&&(E.uri=x.uri)}if(T.length>2){var w=i(h,T[2]);w=="0101ff"&&(E.reqauth=!0),w=="010100"&&(E.reqauth=!1)}return E},this.getX500NameRule=function(h){for(var g=null,b=[],E=0;E<h.length;E++)for(var T=h[E],_=0;_<T.length;_++)b.push(T[_]);for(var E=0;E<b.length;E++){var x=b[E],w=x.ds,S=x.value,C=x.type;if(w!="prn"&&w!="utf8"&&w!="ia5")return"mixed";if(w=="ia5"){if(C!="CN")return"mixed";if(KJUR.lang.String.isMail(S))continue;return"mixed"}if(C=="C"){if(w=="prn")continue;return"mixed"}if(g==null)g=w;else if(g!==w)return"mixed"}return g==null?"prn":g},this.getX500Name=function(h){var g=this.getX500NameArray(h),b=this.dnarraytostr(g);return{array:g,str:b}},this.getX500NameArray=function(h){for(var g=[],b=e(h,0),E=0;E<b.length;E++)g.push(this.getRDN(i(h,b[E])));return g},this.getRDN=function(h){for(var g=[],b=e(h,0),E=0;E<b.length;E++)g.push(this.getAttrTypeAndValue(i(h,b[E])));return g},this.getAttrTypeAndValue=function(h){var g={type:null,value:null,ds:null},b=e(h,0),E=o(h,b[0],[],"06"),T=o(h,b[1],[]),_=KJUR.asn1.ASN1Util.oidHexToInt(E);return g.type=KJUR.asn1.x509.OID.oid2atype(_),g.ds=this.HEX2STAG[h.substr(b[1],2)],g.ds!="bmp"?g.value=hextoutf8(T):g.value=ucs2hextoutf8(T),g},this.readCertPEM=function(h){this.readCertHex(m(h))},this.readCertHex=function(h){this.hex=h,this.getVersion();try{c(this.hex,0,[0,7],"a3"),this.parseExt()}catch(g){}},this.getParam=function(){var h={};return h.version=this.getVersion(),h.serial={hex:this.getSerialNumberHex()},h.sigalg=this.getSignatureAlgorithmField(),h.issuer=this.getIssuer(),h.notbefore=this.getNotBefore(),h.notafter=this.getNotAfter(),h.subject=this.getSubject(),h.sbjpubkey=hextopem(this.getPublicKeyHex(),"PUBLIC KEY"),this.aExtInfo.length>0&&(h.ext=this.getExtParamArray()),h.sighex=this.getSignatureValueHex(),h},this.getExtParamArray=function(h){if(h==null){var g=d(this.hex,0,[0,"[3]"]);g!=-1&&(h=l(this.hex,0,[0,"[3]",0],"30"))}for(var b=[],E=e(h,0),T=0;T<E.length;T++){var _=i(h,E[T]),x=this.getExtParam(_);x!=null&&b.push(x)}return b},this.getExtParam=function(h){var g=e(h,0),b=g.length;if(b!=2&&b!=3)throw new Error("wrong number elements in Extension: "+b+" "+h);var E=A(o(h,0,[0],"06")),T=!1;b==3&&u(h,0,[1])=="0101ff"&&(T=!0);var _=u(h,0,[b-1,0]),x=void 0;if(E=="2.5.29.14"?x=this.getExtSubjectKeyIdentifier(_,T):E=="2.5.29.15"?x=this.getExtKeyUsage(_,T):E=="2.5.29.17"?x=this.getExtSubjectAltName(_,T):E=="2.5.29.18"?x=this.getExtIssuerAltName(_,T):E=="2.5.29.19"?x=this.getExtBasicConstraints(_,T):E=="2.5.29.31"?x=this.getExtCRLDistributionPoints(_,T):E=="2.5.29.32"?x=this.getExtCertificatePolicies(_,T):E=="2.5.29.35"?x=this.getExtAuthorityKeyIdentifier(_,T):E=="2.5.29.37"?x=this.getExtExtKeyUsage(_,T):E=="1.3.6.1.5.5.7.1.1"?x=this.getExtAuthorityInfoAccess(_,T):E=="2.5.29.20"?x=this.getExtCRLNumber(_,T):E=="2.5.29.21"?x=this.getExtCRLReason(_,T):E=="1.3.6.1.5.5.7.48.1.2"?x=this.getExtOcspNonce(_,T):E=="1.3.6.1.5.5.7.48.1.5"?x=this.getExtOcspNoCheck(_,T):E=="1.2.840.113583.1.1.9.1"&&(x=this.getExtAdobeTimeStamp(_,T)),x!=null)return x;var w={extname:E,extn:_};return T&&(w.critical=!0),w},this.findExt=function(h,g){for(var b=0;b<h.length;b++)if(h[b].extname==g)return h[b];return null},this.dnarraytostr=function(h){function g(E){return E.map(function(T){return b(T).replace(/\+/,"\\+")}).join("+")}function b(E){return E.type+"="+E.value}return"/"+h.map(function(E){return g(E).replace(/\//,"\\/")}).join("/")},this.getInfo=function(){var h=function(Q){var U=JSON.stringify(Q.array).replace(/[\[\]\{\}\"]/g,"");return U},g=function(Q){for(var U="",N=Q.array,G=0;G<N.length;G++){var K=N[G];if(U+=" policy oid: "+K.policyoid+`
|
|
363
|
-
`,
|
|
364
|
-
`)}}return
|
|
365
|
-
`)}catch(
|
|
366
|
-
`)}catch(
|
|
367
|
-
`),
|
|
368
|
-
`)}return
|
|
362
|
+
`,S},parseHexOfEncryptedPKCS8:function(A){var v=ASN1HEX,g=v.getChildIdx,h=v.getV,y={},b=g(A,0);if(b.length!=2)throw"malformed format: SEQUENCE(0).items != 2: "+b.length;y.ciphertext=h(A,b[1]);var E=g(A,b[0]);if(E.length!=2)throw"malformed format: SEQUENCE(0.0).items != 2: "+E.length;if(h(A,E[0])!="2a864886f70d01050d")throw"this only supports pkcs5PBES2";var T=g(A,E[1]);if(E.length!=2)throw"malformed format: SEQUENCE(0.0.1).items != 2: "+T.length;var x=g(A,T[1]);if(x.length!=2)throw"malformed format: SEQUENCE(0.0.1.1).items != 2: "+x.length;if(h(A,x[0])!="2a864886f70d0307")throw"this only supports TripleDES";y.encryptionSchemeAlg="TripleDES",y.encryptionSchemeIV=h(A,x[1]);var _=g(A,T[0]);if(_.length!=2)throw"malformed format: SEQUENCE(0.0.1.0).items != 2: "+_.length;if(h(A,_[0])!="2a864886f70d01050c")throw"this only supports pkcs5PBKDF2";var w=g(A,_[1]);if(w.length<2)throw"malformed format: SEQUENCE(0.0.1.0.1).items < 2: "+w.length;y.pbkdf2Salt=h(A,w[0]);var S=h(A,w[1]);try{y.pbkdf2Iter=parseInt(S,16)}catch(M){throw"malformed format pbkdf2Iter: "+S}return y},getPBKDF2KeyHexFromParam:function(A,v){var g=CryptoJS.enc.Hex.parse(A.pbkdf2Salt),h=A.pbkdf2Iter,y=CryptoJS.PBKDF2(v,g,{keySize:192/32,iterations:h}),b=CryptoJS.enc.Hex.stringify(y);return b},_getPlainPKCS8HexFromEncryptedPKCS8PEM:function(A,v){var g=pemtohex(A,"ENCRYPTED PRIVATE KEY"),h=this.parseHexOfEncryptedPKCS8(g),y=KEYUTIL.getPBKDF2KeyHexFromParam(h,v),b={};b.ciphertext=CryptoJS.enc.Hex.parse(h.ciphertext);var E=CryptoJS.enc.Hex.parse(y),T=CryptoJS.enc.Hex.parse(h.encryptionSchemeIV),x=CryptoJS.TripleDES.decrypt(b,E,{iv:T}),_=CryptoJS.enc.Hex.stringify(x);return _},getKeyFromEncryptedPKCS8PEM:function(A,v){var g=this._getPlainPKCS8HexFromEncryptedPKCS8PEM(A,v),h=this.getKeyFromPlainPrivatePKCS8Hex(g);return h},parsePlainPrivatePKCS8Hex:function(A){var v=ASN1HEX,g=v.getChildIdx,h=v.getV,y={};if(y.algparam=null,A.substr(0,2)!="30")throw new Error("malformed plain PKCS8 private key(code:001)");var b=g(A,0);if(b.length<3)throw new Error("malformed plain PKCS8 private key(code:002)");if(A.substr(b[1],2)!="30")throw new Error("malformed PKCS8 private key(code:003)");var E=g(A,b[1]);if(E.length!=2)throw new Error("malformed PKCS8 private key(code:004)");if(A.substr(E[0],2)!="06")throw new Error("malformed PKCS8 private key(code:005)");if(y.algoid=h(A,E[0]),A.substr(E[1],2)=="06"&&(y.algparam=h(A,E[1])),A.substr(b[2],2)!="04")throw new Error("malformed PKCS8 private key(code:006)");return y.keyidx=v.getVidx(A,b[2]),y},getKeyFromPlainPrivatePKCS8PEM:function(A){var v=pemtohex(A,"PRIVATE KEY"),g=this.getKeyFromPlainPrivatePKCS8Hex(v);return g},getKeyFromPlainPrivatePKCS8Hex:function(A){var v=this.parsePlainPrivatePKCS8Hex(A),g;if(v.algoid=="2a864886f70d010101")g=new RSAKey;else if(KJUR.crypto.DSA&&v.algoid=="2a8648ce380401")g=new KJUR.crypto.DSA;else if(KJUR.crypto.ECDSA&&v.algoid=="2a8648ce3d0201")g=new KJUR.crypto.ECDSA;else throw"unsupported private key algorithm";return g.readPKCS8PrvKeyHex(A),g},_getKeyFromPublicPKCS8Hex:function(A){var v,g=ASN1HEX.getVbyList(A,0,[0,0],"06");if(g==="2a864886f70d010101")v=new RSAKey;else if(KJUR.crypto.DSA&&g==="2a8648ce380401")v=new KJUR.crypto.DSA;else if(KJUR.crypto.ECDSA&&g==="2a8648ce3d0201")v=new KJUR.crypto.ECDSA;else throw"unsupported PKCS#8 public key hex";return v.readPKCS8PubKeyHex(A),v},parsePublicRawRSAKeyHex:function(A){var v=ASN1HEX,g=v.getChildIdx,h=v.getV,y={};if(A.substr(0,2)!="30")throw"malformed RSA key(code:001)";var b=g(A,0);if(b.length!=2)throw"malformed RSA key(code:002)";if(A.substr(b[0],2)!="02")throw"malformed RSA key(code:003)";if(y.n=h(A,b[0]),A.substr(b[1],2)!="02")throw"malformed RSA key(code:004)";return y.e=h(A,b[1]),y},parsePublicPKCS8Hex:function(A){var v=ASN1HEX,g=v.getChildIdx,h=v.getV,y={};y.algparam=null;var b=g(A,0);if(b.length!=2)throw"outer DERSequence shall have 2 elements: "+b.length;var E=b[0];if(A.substr(E,2)!="30")throw"malformed PKCS8 public key(code:001)";var T=g(A,E);if(T.length!=2)throw"malformed PKCS8 public key(code:002)";if(A.substr(T[0],2)!="06")throw"malformed PKCS8 public key(code:003)";if(y.algoid=h(A,T[0]),A.substr(T[1],2)=="06"?y.algparam=h(A,T[1]):A.substr(T[1],2)=="30"&&(y.algparam={},y.algparam.p=v.getVbyList(A,T[1],[0],"02"),y.algparam.q=v.getVbyList(A,T[1],[1],"02"),y.algparam.g=v.getVbyList(A,T[1],[2],"02")),A.substr(b[1],2)!="03")throw"malformed PKCS8 public key(code:004)";return y.key=h(A,b[1]).substr(2),y}}}();KEYUTIL.getKey=function(n,t,e){var r=ASN1HEX,i=r.getChildIdx;r.getV;var o=r.getVbyList,s=KJUR.crypto,u=s.ECDSA,c=s.DSA,l=RSAKey,d=pemtohex,f=KEYUTIL;if(typeof l!="undefined"&&n instanceof l||typeof u!="undefined"&&n instanceof u||typeof c!="undefined"&&n instanceof c)return n;if(n.curve!==void 0&&n.xy!==void 0&&n.d===void 0)return new u({pub:n.xy,curve:n.curve});if(n.curve!==void 0&&n.d!==void 0)return new u({prv:n.d,curve:n.curve});if(n.kty===void 0&&n.n!==void 0&&n.e!==void 0&&n.d===void 0){var m=new l;return m.setPublic(n.n,n.e),m}if(n.kty===void 0&&n.n!==void 0&&n.e!==void 0&&n.d!==void 0&&n.p!==void 0&&n.q!==void 0&&n.dp!==void 0&&n.dq!==void 0&&n.co!==void 0&&n.qi===void 0){var m=new l;return m.setPrivateEx(n.n,n.e,n.d,n.p,n.q,n.dp,n.dq,n.co),m}if(n.kty===void 0&&n.n!==void 0&&n.e!==void 0&&n.d!==void 0&&n.p===void 0){var m=new l;return m.setPrivate(n.n,n.e,n.d),m}if(n.p!==void 0&&n.q!==void 0&&n.g!==void 0&&n.y!==void 0&&n.x===void 0){var m=new c;return m.setPublic(n.p,n.q,n.g,n.y),m}if(n.p!==void 0&&n.q!==void 0&&n.g!==void 0&&n.y!==void 0&&n.x!==void 0){var m=new c;return m.setPrivate(n.p,n.q,n.g,n.y,n.x),m}if(n.kty==="RSA"&&n.n!==void 0&&n.e!==void 0&&n.d===void 0){var m=new l;return m.setPublic(b64utohex(n.n),b64utohex(n.e)),m}if(n.kty==="RSA"&&n.n!==void 0&&n.e!==void 0&&n.d!==void 0&&n.p!==void 0&&n.q!==void 0&&n.dp!==void 0&&n.dq!==void 0&&n.qi!==void 0){var m=new l;return m.setPrivateEx(b64utohex(n.n),b64utohex(n.e),b64utohex(n.d),b64utohex(n.p),b64utohex(n.q),b64utohex(n.dp),b64utohex(n.dq),b64utohex(n.qi)),m}if(n.kty==="RSA"&&n.n!==void 0&&n.e!==void 0&&n.d!==void 0){var m=new l;return m.setPrivate(b64utohex(n.n),b64utohex(n.e),b64utohex(n.d)),m}if(n.kty==="EC"&&n.crv!==void 0&&n.x!==void 0&&n.y!==void 0&&n.d===void 0){var p=new u({curve:n.crv}),A=p.ecparams.keylen/4,v=("0000000000"+b64utohex(n.x)).slice(-A),g=("0000000000"+b64utohex(n.y)).slice(-A),h="04"+v+g;return p.setPublicKeyHex(h),p}if(n.kty==="EC"&&n.crv!==void 0&&n.x!==void 0&&n.y!==void 0&&n.d!==void 0){var p=new u({curve:n.crv}),A=p.ecparams.keylen/4,v=("0000000000"+b64utohex(n.x)).slice(-A),g=("0000000000"+b64utohex(n.y)).slice(-A),h="04"+v+g,y=("0000000000"+b64utohex(n.d)).slice(-A);return p.setPublicKeyHex(h),p.setPrivateKeyHex(y),p}if(e==="pkcs5prv"){var b=n,r=ASN1HEX,E,m;if(E=i(b,0),E.length===9)m=new l,m.readPKCS5PrvKeyHex(b);else if(E.length===6)m=new c,m.readPKCS5PrvKeyHex(b);else if(E.length>2&&b.substr(E[1],2)==="04")m=new u,m.readPKCS5PrvKeyHex(b);else throw"unsupported PKCS#1/5 hexadecimal key";return m}if(e==="pkcs8prv"){var m=f.getKeyFromPlainPrivatePKCS8Hex(n);return m}if(e==="pkcs8pub")return f._getKeyFromPublicPKCS8Hex(n);if(e==="x509pub")return X509.getPublicKeyFromCertHex(n);if(n.indexOf("-END CERTIFICATE-",0)!=-1||n.indexOf("-END X509 CERTIFICATE-",0)!=-1||n.indexOf("-END TRUSTED CERTIFICATE-",0)!=-1)return X509.getPublicKeyFromCertPEM(n);if(n.indexOf("-END PUBLIC KEY-")!=-1){var T=pemtohex(n,"PUBLIC KEY");return f._getKeyFromPublicPKCS8Hex(T)}if(n.indexOf("-END RSA PRIVATE KEY-")!=-1&&n.indexOf("4,ENCRYPTED")==-1){var x=d(n,"RSA PRIVATE KEY");return f.getKey(x,null,"pkcs5prv")}if(n.indexOf("-END DSA PRIVATE KEY-")!=-1&&n.indexOf("4,ENCRYPTED")==-1){var _=d(n,"DSA PRIVATE KEY"),w=o(_,0,[1],"02"),S=o(_,0,[2],"02"),M=o(_,0,[3],"02"),C=o(_,0,[4],"02"),I=o(_,0,[5],"02"),m=new c;return m.setPrivate(new BigInteger(w,16),new BigInteger(S,16),new BigInteger(M,16),new BigInteger(C,16),new BigInteger(I,16)),m}if(n.indexOf("-END EC PRIVATE KEY-")!=-1&&n.indexOf("4,ENCRYPTED")==-1){var x=d(n,"EC PRIVATE KEY");return f.getKey(x,null,"pkcs5prv")}if(n.indexOf("-END PRIVATE KEY-")!=-1)return f.getKeyFromPlainPrivatePKCS8PEM(n);if(n.indexOf("-END RSA PRIVATE KEY-")!=-1&&n.indexOf("4,ENCRYPTED")!=-1){var B=f.getDecryptedKeyHex(n,t),F=new RSAKey;return F.readPKCS5PrvKeyHex(B),F}if(n.indexOf("-END EC PRIVATE KEY-")!=-1&&n.indexOf("4,ENCRYPTED")!=-1){var _=f.getDecryptedKeyHex(n,t),m=o(_,0,[1],"04"),L=o(_,0,[2,0],"06"),k=o(_,0,[3,0],"03").substr(2),O="";if(KJUR.crypto.OID.oidhex2name[L]!==void 0)O=KJUR.crypto.OID.oidhex2name[L];else throw"undefined OID(hex) in KJUR.crypto.OID: "+L;var p=new u({curve:O});return p.setPublicKeyHex(k),p.setPrivateKeyHex(m),p.isPublic=!1,p}if(n.indexOf("-END DSA PRIVATE KEY-")!=-1&&n.indexOf("4,ENCRYPTED")!=-1){var _=f.getDecryptedKeyHex(n,t),w=o(_,0,[1],"02"),S=o(_,0,[2],"02"),M=o(_,0,[3],"02"),C=o(_,0,[4],"02"),I=o(_,0,[5],"02"),m=new c;return m.setPrivate(new BigInteger(w,16),new BigInteger(S,16),new BigInteger(M,16),new BigInteger(C,16),new BigInteger(I,16)),m}if(n.indexOf("-END ENCRYPTED PRIVATE KEY-")!=-1)return f.getKeyFromEncryptedPKCS8PEM(n,t);throw new Error("not supported argument")},(typeof KJUR.asn1=="undefined"||!KJUR.asn1)&&(KJUR.asn1={}),KJUR.asn1.ASN1Util={},KJUR.asn1.ASN1Util.oidHexToInt=function(n){for(var i="",t=parseInt(n.substr(0,2),16),e=Math.floor(t/40),r=t%40,i=e+"."+r,o="",s=2;s<n.length;s+=2){var u=parseInt(n.substr(s,2),16),c=("00000000"+u.toString(2)).slice(-8);if(o=o+c.substr(1,7),c.substr(0,1)=="0"){var l=new BigInteger(o,2);i=i+"."+l.toString(10),o=""}}return i};var ASN1HEX=new function(){};ASN1HEX.getLblen=function(n,t){if(n.substr(t+2,1)!="8")return 1;var e=parseInt(n.substr(t+3,1));return e==0?-1:0<e&&e<10?e+1:-2},ASN1HEX.getL=function(n,t){var e=ASN1HEX.getLblen(n,t);return e<1?"":n.substr(t+2,e*2)},ASN1HEX.getVblen=function(n,t){var e,r;return e=ASN1HEX.getL(n,t),e==""?-1:(e.substr(0,1)==="8"?r=new BigInteger(e.substr(2),16):r=new BigInteger(e,16),r.intValue())},ASN1HEX.getVidx=function(n,t){var e=ASN1HEX.getLblen(n,t);return e<0?e:t+(e+1)*2},ASN1HEX.getV=function(n,t){var e=ASN1HEX.getVidx(n,t),r=ASN1HEX.getVblen(n,t);return n.substr(e,r*2)},ASN1HEX.getTLV=function(n,t){return n.substr(t,2)+ASN1HEX.getL(n,t)+ASN1HEX.getV(n,t)},ASN1HEX.getTLVblen=function(n,t){return 2+ASN1HEX.getLblen(n,t)*2+ASN1HEX.getVblen(n,t)*2},ASN1HEX.getNextSiblingIdx=function(n,t){var e=ASN1HEX.getVidx(n,t),r=ASN1HEX.getVblen(n,t);return e+r*2},ASN1HEX.getChildIdx=function(n,t){var e=ASN1HEX,r=[],i,o,s;i=e.getVidx(n,t),o=e.getVblen(n,t)*2,n.substr(t,2)=="03"&&(i+=2,o-=2),s=0;for(var u=i;s<=o;){var c=e.getTLVblen(n,u);if(s+=c,s<=o&&r.push(u),u+=c,s>=o)break}return r},ASN1HEX.getNthChildIdx=function(n,t,e){var r=ASN1HEX.getChildIdx(n,t);return r[e]},ASN1HEX.getIdxbyList=function(n,t,e,r){var i=ASN1HEX,o,s;return e.length==0?r!==void 0&&n.substr(t,2)!==r?-1:t:(o=e.shift(),s=i.getChildIdx(n,t),o>=s.length?-1:i.getIdxbyList(n,s[o],e,r))},ASN1HEX.getIdxbyListEx=function(n,t,e,r){var i=ASN1HEX,o,s;if(e.length==0)return r!==void 0&&n.substr(t,2)!==r?-1:t;o=e.shift(),s=i.getChildIdx(n,t);for(var u=0,c=0;c<s.length;c++){var l=n.substr(s[c],2);if(typeof o=="number"&&!i.isContextTag(l)&&u==o||typeof o=="string"&&i.isContextTag(l,o))return i.getIdxbyListEx(n,s[c],e,r);i.isContextTag(l)||u++}return-1},ASN1HEX.getTLVbyList=function(n,t,e,r){var i=ASN1HEX,o=i.getIdxbyList(n,t,e,r);return o==-1||o>=n.length?null:i.getTLV(n,o)},ASN1HEX.getTLVbyListEx=function(n,t,e,r){var i=ASN1HEX,o=i.getIdxbyListEx(n,t,e,r);return o==-1?null:i.getTLV(n,o)},ASN1HEX.getVbyList=function(n,t,e,r,i){var o=ASN1HEX,s,u;return s=o.getIdxbyList(n,t,e,r),s==-1||s>=n.length?null:(u=o.getV(n,s),i===!0&&(u=u.substr(2)),u)},ASN1HEX.getVbyListEx=function(n,t,e,r,i){var o=ASN1HEX,s,u;return s=o.getIdxbyListEx(n,t,e,r),s==-1?null:(u=o.getV(n,s),n.substr(s,2)=="03"&&i!==!1&&(u=u.substr(2)),u)},ASN1HEX.getInt=function(n,t,e){e==null&&(e=-1);try{var r=n.substr(t,2);if(r!="02"&&r!="03")return e;var i=ASN1HEX.getV(n,t);return r=="02"?parseInt(i,16):bitstrtoint(i)}catch(o){return e}},ASN1HEX.getOID=function(n,t,e){e==null&&(e=null);try{if(n.substr(t,2)!="06")return e;var r=ASN1HEX.getV(n,t);return hextooid(r)}catch(i){return e}},ASN1HEX.getOIDName=function(n,t,e){e==null&&(e=null);try{var r=ASN1HEX.getOID(n,t,e);if(r==e)return e;var i=KJUR.asn1.x509.OID.oid2name(r);return i==""?r:i}catch(o){return e}},ASN1HEX.getString=function(n,t,e){e==null&&(e=null);try{var r=ASN1HEX.getV(n,t);return hextorstr(r)}catch(i){return e}},ASN1HEX.hextooidstr=function(n){var t=function(f,m){return f.length>=m?f:new Array(m-f.length+1).join("0")+f},e=[],r=n.substr(0,2),i=parseInt(r,16);e[0]=new String(Math.floor(i/40)),e[1]=new String(i%40);for(var o=n.substr(2),s=[],u=0;u<o.length/2;u++)s.push(parseInt(o.substr(u*2,2),16));for(var c=[],l="",u=0;u<s.length;u++)s[u]&128?l=l+t((s[u]&127).toString(2),7):(l=l+t((s[u]&127).toString(2),7),c.push(new String(parseInt(l,2))),l="");var d=e.join(".");return c.length>0&&(d=d+"."+c.join(".")),d},ASN1HEX.isContextTag=function(n,t){n=n.toLowerCase();var e,r;try{e=parseInt(n,16)}catch(o){return-1}if(t===void 0)return(e&192)==128;try{var i=t.match(/^\[[0-9]+\]$/);return i==null||(r=parseInt(t.substr(1,t.length-1),10),r>31)?!1:(e&192)==128&&(e&31)==r}catch(o){return!1}},ASN1HEX.isASN1HEX=function(n){var t=ASN1HEX;if(n.length%2==1)return!1;var e=t.getVblen(n,0),r=n.substr(0,2),i=t.getL(n,0),o=n.length-r.length-i.length;return o==e*2},ASN1HEX.checkStrictDER=function(n,t,e,r,i){var o=ASN1HEX;if(e===void 0){if(typeof n!="string")throw new Error("not hex string");if(n=n.toLowerCase(),!KJUR.lang.String.isHex(n))throw new Error("not hex string");e=n.length,r=n.length/2,r<128?i=1:i=Math.ceil(r.toString(16))+1}var s=o.getL(n,t);if(s.length>i*2)throw new Error("L of TLV too long: idx="+t);var u=o.getVblen(n,t);if(u>r)throw new Error("value of L too long than hex: idx="+t);var c=o.getTLV(n,t),l=c.length-2-o.getL(n,t).length;if(l!==u*2)throw new Error("V string length and L's value not the same:"+l+"/"+u*2);if(t===0&&n.length!=c.length)throw new Error("total length and TLV length unmatch:"+n.length+"!="+c.length);var d=n.substr(t,2);if(d==="02"){var f=o.getVidx(n,t);if(n.substr(f,2)=="00"&&n.charCodeAt(f+2)<56)throw new Error("not least zeros for DER INTEGER")}if(parseInt(d,16)&32){for(var m=o.getVblen(n,t),p=0,A=o.getChildIdx(n,t),v=0;v<A.length;v++){var g=o.getTLV(n,A[v]);p+=g.length,o.checkStrictDER(n,A[v],e,r,i)}if(m*2!=p)throw new Error("sum of children's TLV length and L unmatch: "+m*2+"!="+p)}},ASN1HEX.oidname=function(n){var t=KJUR.asn1;KJUR.lang.String.isHex(n)&&(n=t.ASN1Util.oidHexToInt(n));var e=t.x509.OID.oid2name(n);return e===""&&(e=n),e},(typeof KJUR.asn1=="undefined"||!KJUR.asn1)&&(KJUR.asn1={}),(typeof KJUR.asn1.x509=="undefined"||!KJUR.asn1.x509)&&(KJUR.asn1.x509={}),KJUR.asn1.x509.AlgorithmIdentifier={},KJUR.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV={SHAwithRSAandMGF1:"300d06092a864886f70d01010a3000",SHA256withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040201a11a301806092a864886f70d010108300b0609608648016503040201a203020120",SHA384withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040202a11a301806092a864886f70d010108300b0609608648016503040202a203020130",SHA512withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040203a11a301806092a864886f70d010108300b0609608648016503040203a203020140"},KJUR.asn1.x509.OID=new function(n){this.atype2oidList={CN:"2.5.4.3",L:"2.5.4.7",ST:"2.5.4.8",O:"2.5.4.10",OU:"2.5.4.11",C:"2.5.4.6",STREET:"2.5.4.9",DC:"0.9.2342.19200300.100.1.25",UID:"0.9.2342.19200300.100.1.1",SN:"2.5.4.4",T:"2.5.4.12",DN:"2.5.4.49",E:"1.2.840.113549.1.9.1",description:"2.5.4.13",businessCategory:"2.5.4.15",postalCode:"2.5.4.17",serialNumber:"2.5.4.5",uniqueIdentifier:"2.5.4.45",organizationIdentifier:"2.5.4.97",jurisdictionOfIncorporationL:"1.3.6.1.4.1.311.60.2.1.1",jurisdictionOfIncorporationSP:"1.3.6.1.4.1.311.60.2.1.2",jurisdictionOfIncorporationC:"1.3.6.1.4.1.311.60.2.1.3"},this.name2oidList={sha1:"1.3.14.3.2.26",sha256:"2.16.840.1.101.3.4.2.1",sha384:"2.16.840.1.101.3.4.2.2",sha512:"2.16.840.1.101.3.4.2.3",sha224:"2.16.840.1.101.3.4.2.4",md5:"1.2.840.113549.2.5",md2:"1.3.14.7.2.2.1",ripemd160:"1.3.36.3.2.1",MD2withRSA:"1.2.840.113549.1.1.2",MD4withRSA:"1.2.840.113549.1.1.3",MD5withRSA:"1.2.840.113549.1.1.4",SHA1withRSA:"1.2.840.113549.1.1.5","pkcs1-MGF":"1.2.840.113549.1.1.8",rsaPSS:"1.2.840.113549.1.1.10",SHA224withRSA:"1.2.840.113549.1.1.14",SHA256withRSA:"1.2.840.113549.1.1.11",SHA384withRSA:"1.2.840.113549.1.1.12",SHA512withRSA:"1.2.840.113549.1.1.13",SHA1withECDSA:"1.2.840.10045.4.1",SHA224withECDSA:"1.2.840.10045.4.3.1",SHA256withECDSA:"1.2.840.10045.4.3.2",SHA384withECDSA:"1.2.840.10045.4.3.3",SHA512withECDSA:"1.2.840.10045.4.3.4",dsa:"1.2.840.10040.4.1",SHA1withDSA:"1.2.840.10040.4.3",SHA224withDSA:"2.16.840.1.101.3.4.3.1",SHA256withDSA:"2.16.840.1.101.3.4.3.2",rsaEncryption:"1.2.840.113549.1.1.1",commonName:"2.5.4.3",countryName:"2.5.4.6",localityName:"2.5.4.7",stateOrProvinceName:"2.5.4.8",streetAddress:"2.5.4.9",organizationName:"2.5.4.10",organizationalUnitName:"2.5.4.11",domainComponent:"0.9.2342.19200300.100.1.25",userId:"0.9.2342.19200300.100.1.1",surname:"2.5.4.4",givenName:"2.5.4.42",title:"2.5.4.12",distinguishedName:"2.5.4.49",emailAddress:"1.2.840.113549.1.9.1",description:"2.5.4.13",businessCategory:"2.5.4.15",postalCode:"2.5.4.17",uniqueIdentifier:"2.5.4.45",organizationIdentifier:"2.5.4.97",jurisdictionOfIncorporationL:"1.3.6.1.4.1.311.60.2.1.1",jurisdictionOfIncorporationSP:"1.3.6.1.4.1.311.60.2.1.2",jurisdictionOfIncorporationC:"1.3.6.1.4.1.311.60.2.1.3",subjectDirectoryAttributes:"2.5.29.9",subjectKeyIdentifier:"2.5.29.14",keyUsage:"2.5.29.15",subjectAltName:"2.5.29.17",issuerAltName:"2.5.29.18",basicConstraints:"2.5.29.19",cRLNumber:"2.5.29.20",cRLReason:"2.5.29.21",nameConstraints:"2.5.29.30",cRLDistributionPoints:"2.5.29.31",certificatePolicies:"2.5.29.32",anyPolicy:"2.5.29.32.0",authorityKeyIdentifier:"2.5.29.35",policyConstraints:"2.5.29.36",extKeyUsage:"2.5.29.37",authorityInfoAccess:"1.3.6.1.5.5.7.1.1",ocsp:"1.3.6.1.5.5.7.48.1",ocspBasic:"1.3.6.1.5.5.7.48.1.1",ocspNonce:"1.3.6.1.5.5.7.48.1.2",ocspNoCheck:"1.3.6.1.5.5.7.48.1.5",caIssuers:"1.3.6.1.5.5.7.48.2",anyExtendedKeyUsage:"2.5.29.37.0",serverAuth:"1.3.6.1.5.5.7.3.1",clientAuth:"1.3.6.1.5.5.7.3.2",codeSigning:"1.3.6.1.5.5.7.3.3",emailProtection:"1.3.6.1.5.5.7.3.4",timeStamping:"1.3.6.1.5.5.7.3.8",ocspSigning:"1.3.6.1.5.5.7.3.9",dateOfBirth:"1.3.6.1.5.5.7.9.1",placeOfBirth:"1.3.6.1.5.5.7.9.2",gender:"1.3.6.1.5.5.7.9.3",countryOfCitizenship:"1.3.6.1.5.5.7.9.4",countryOfResidence:"1.3.6.1.5.5.7.9.5",ecPublicKey:"1.2.840.10045.2.1","P-256":"1.2.840.10045.3.1.7",secp256r1:"1.2.840.10045.3.1.7",secp256k1:"1.3.132.0.10",secp384r1:"1.3.132.0.34",pkcs5PBES2:"1.2.840.113549.1.5.13",pkcs5PBKDF2:"1.2.840.113549.1.5.12","des-EDE3-CBC":"1.2.840.113549.3.7",data:"1.2.840.113549.1.7.1","signed-data":"1.2.840.113549.1.7.2","enveloped-data":"1.2.840.113549.1.7.3","digested-data":"1.2.840.113549.1.7.5","encrypted-data":"1.2.840.113549.1.7.6","authenticated-data":"1.2.840.113549.1.9.16.1.2",tstinfo:"1.2.840.113549.1.9.16.1.4",signingCertificate:"1.2.840.113549.1.9.16.2.12",timeStampToken:"1.2.840.113549.1.9.16.2.14",signaturePolicyIdentifier:"1.2.840.113549.1.9.16.2.15",etsArchiveTimeStamp:"1.2.840.113549.1.9.16.2.27",signingCertificateV2:"1.2.840.113549.1.9.16.2.47",etsArchiveTimeStampV2:"1.2.840.113549.1.9.16.2.48",extensionRequest:"1.2.840.113549.1.9.14",contentType:"1.2.840.113549.1.9.3",messageDigest:"1.2.840.113549.1.9.4",signingTime:"1.2.840.113549.1.9.5",counterSignature:"1.2.840.113549.1.9.6",archiveTimeStampV3:"0.4.0.1733.2.4",pdfRevocationInfoArchival:"1.2.840.113583.1.1.8",adobeTimeStamp:"1.2.840.113583.1.1.9.1"},this.objCache={},this.name2obj=function(t){if(typeof this.objCache[t]!="undefined")return this.objCache[t];if(typeof this.name2oidList[t]=="undefined")throw"Name of ObjectIdentifier not defined: "+t;var e=this.name2oidList[t],r=new KJUR.asn1.DERObjectIdentifier({oid:e});return this.objCache[t]=r,r},this.atype2obj=function(t){if(this.objCache[t]!==void 0)return this.objCache[t];var e;if(t.match(/^\d+\.\d+\.[0-9.]+$/))e=t;else if(this.atype2oidList[t]!==void 0)e=this.atype2oidList[t];else if(this.name2oidList[t]!==void 0)e=this.name2oidList[t];else throw"AttributeType name undefined: "+t;var r=new KJUR.asn1.DERObjectIdentifier({oid:e});return this.objCache[t]=r,r}},KJUR.asn1.x509.OID.oid2name=function(n){var t=KJUR.asn1.x509.OID.name2oidList;for(var e in t)if(t[e]==n)return e;return""},KJUR.asn1.x509.OID.oid2atype=function(n){var t=KJUR.asn1.x509.OID.atype2oidList;for(var e in t)if(t[e]==n)return e;return n},KJUR.asn1.x509.OID.name2oid=function(n){if(n.match(/^[0-9.]+$/))return n;var t=KJUR.asn1.x509.OID.name2oidList;return t[n]===void 0?"":t[n]},RSAKey.getPosArrayOfChildrenFromHex=function(n){return ASN1HEX.getChildIdx(n,0)},RSAKey.getHexValueArrayOfChildrenFromHex=function(n){var t=ASN1HEX,e=t.getV,m=RSAKey.getPosArrayOfChildrenFromHex(n),r=e(n,m[0]),i=e(n,m[1]),o=e(n,m[2]),s=e(n,m[3]),u=e(n,m[4]),c=e(n,m[5]),l=e(n,m[6]),d=e(n,m[7]),f=e(n,m[8]),m=new Array;return m.push(r,i,o,s,u,c,l,d,f),m},RSAKey.prototype.readPrivateKeyFromPEMString=function(n){var t=pemtohex(n),e=RSAKey.getHexValueArrayOfChildrenFromHex(t);this.setPrivateEx(e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},RSAKey.prototype.readPKCS5PrvKeyHex=function(n){var t=RSAKey.getHexValueArrayOfChildrenFromHex(n);this.setPrivateEx(t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},RSAKey.prototype.readPKCS8PrvKeyHex=function(n){var t,e,r,i,o,s,u,c,l=ASN1HEX,d=l.getVbyListEx;if(l.isASN1HEX(n)===!1)throw new Error("not ASN.1 hex string");try{t=d(n,0,[2,0,1],"02"),e=d(n,0,[2,0,2],"02"),r=d(n,0,[2,0,3],"02"),i=d(n,0,[2,0,4],"02"),o=d(n,0,[2,0,5],"02"),s=d(n,0,[2,0,6],"02"),u=d(n,0,[2,0,7],"02"),c=d(n,0,[2,0,8],"02")}catch(f){throw new Error("malformed PKCS#8 plain RSA private key")}this.setPrivateEx(t,e,r,i,o,s,u,c)},RSAKey.prototype.readPKCS5PubKeyHex=function(n){var t=ASN1HEX,e=t.getV;if(t.isASN1HEX(n)===!1)throw new Error("keyHex is not ASN.1 hex string");var r=t.getChildIdx(n,0);if(r.length!==2||n.substr(r[0],2)!=="02"||n.substr(r[1],2)!=="02")throw new Error("wrong hex for PKCS#5 public key");var i=e(n,r[0]),o=e(n,r[1]);this.setPublic(i,o)},RSAKey.prototype.readPKCS8PubKeyHex=function(n){var t=ASN1HEX;if(t.isASN1HEX(n)===!1)throw new Error("not ASN.1 hex string");if(t.getTLVbyListEx(n,0,[0,0])!=="06092a864886f70d010101")throw new Error("not PKCS8 RSA public key");var e=t.getTLVbyListEx(n,0,[1,0]);this.readPKCS5PubKeyHex(e)},RSAKey.prototype.readCertPubKeyHex=function(n,t){var e,r;e=new X509,e.readCertHex(n),r=e.getPublicKeyHex(),this.readPKCS8PubKeyHex(r)};function _rsasign_getAlgNameAndHashFromHexDisgestInfo(n){for(var t in KJUR.crypto.Util.DIGESTINFOHEAD){var e=KJUR.crypto.Util.DIGESTINFOHEAD[t],r=e.length;if(n.substring(0,r)==e){var i=[t,n.substring(r)];return i}}return[]}RSAKey.prototype.verify=function(n,t){if(t=t.toLowerCase(),t.match(/^[0-9a-f]+$/)==null)return!1;var e=parseBigInt(t,16),r=this.n.bitLength();if(e.bitLength()>r)return!1;var i=this.doPublic(e),o=i.toString(16);if(o.length+3!=r/4)return!1;var s=o.replace(/^1f+00/,""),u=_rsasign_getAlgNameAndHashFromHexDisgestInfo(s);if(u.length==0)return!1;var c=u[0],l=u[1],d=function(m){return KJUR.crypto.Util.hashString(m,c)},f=d(n);return l==f},RSAKey.prototype.verifyWithMessageHash=function(n,t){if(t.length!=Math.ceil(this.n.bitLength()/4))return!1;var e=parseBigInt(t,16);if(e.bitLength()>this.n.bitLength())return 0;var r=this.doPublic(e),i=r.toString(16).replace(/^1f+00/,""),o=_rsasign_getAlgNameAndHashFromHexDisgestInfo(i);if(o.length==0)return!1;o[0];var s=o[1];return s==n},RSAKey.prototype.verifyPSS=function(n,t,e,r){var i=function(s){return KJUR.crypto.Util.hashHex(s,e)},o=i(rstrtohex(n));return r===void 0&&(r=-1),this.verifyWithMessageHashPSS(o,t,e,r)},RSAKey.prototype.verifyWithMessageHashPSS=function(n,t,e,r){if(t.length!=Math.ceil(this.n.bitLength()/4))return!1;var i=new BigInteger(t,16),o=function(y){return KJUR.crypto.Util.hashHex(y,e)},s=hextorstr(n),u=s.length,c=this.n.bitLength()-1,l=Math.ceil(c/8),d;if(r===-1||r===void 0)r=u;else if(r===-2)r=l-u-2;else if(r<-2)throw new Error("invalid salt length");if(l<u+r+2)throw new Error("data too long");var f=this.doPublic(i).toByteArray();for(d=0;d<f.length;d+=1)f[d]&=255;for(;f.length<l;)f.unshift(0);if(f[l-1]!==188)throw new Error("encoded message does not end in 0xbc");f=String.fromCharCode.apply(String,f);var m=f.substr(0,l-u-1),p=f.substr(m.length,u),A=65280>>8*l-c&255;if(m.charCodeAt(0)&A)throw new Error("bits beyond keysize not zero");var v=pss_mgf1_str(p,m.length,o),g=[];for(d=0;d<m.length;d+=1)g[d]=m.charCodeAt(d)^v.charCodeAt(d);g[0]&=~A;var h=l-u-r-2;for(d=0;d<h;d+=1)if(g[d]!==0)throw new Error("leftmost octets not zero");if(g[h]!==1)throw new Error("0x01 marker not found");return p===hextorstr(o(rstrtohex("\0\0\0\0\0\0\0\0"+s+String.fromCharCode.apply(String,g.slice(-r)))))},RSAKey.SALT_LEN_HLEN=-1,RSAKey.SALT_LEN_MAX=-2,RSAKey.SALT_LEN_RECOVER=-2;function X509(n){var t=ASN1HEX,e=t.getChildIdx,r=t.getV,i=t.getTLV,o=t.getVbyList,s=t.getVbyListEx,u=t.getTLVbyList,c=t.getTLVbyListEx,l=t.getIdxbyList,d=t.getIdxbyListEx,f=t.getVidx,m=t.getInt,p=t.oidname,A=t.hextooidstr,v=pemtohex,g;try{g=KJUR.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV}catch(h){}this.HEX2STAG={"0c":"utf8",13:"prn",16:"ia5","1a":"vis","1e":"bmp"},this.hex=null,this.version=0,this.foffset=0,this.aExtInfo=null,this.getVersion=function(){if(this.hex===null||this.version!==0)return this.version;var h=u(this.hex,0,[0,0]);if(h.substr(0,2)=="a0"){var y=u(h,0,[0]),b=m(y,0);if(b<0||2<b)throw new Error("malformed version field");return this.version=b+1,this.version}else return this.version=1,this.foffset=-1,1},this.getSerialNumberHex=function(){return s(this.hex,0,[0,0],"02")},this.getSignatureAlgorithmField=function(){var h=c(this.hex,0,[0,1]);return this.getAlgorithmIdentifierName(h)},this.getAlgorithmIdentifierName=function(h){for(var y in g)if(h===g[y])return y;return p(s(h,0,[0],"06"))},this.getIssuer=function(){return this.getX500Name(this.getIssuerHex())},this.getIssuerHex=function(){return u(this.hex,0,[0,3+this.foffset],"30")},this.getIssuerString=function(){var h=this.getIssuer();return h.str},this.getSubject=function(){return this.getX500Name(this.getSubjectHex())},this.getSubjectHex=function(){return u(this.hex,0,[0,5+this.foffset],"30")},this.getSubjectString=function(){var h=this.getSubject();return h.str},this.getNotBefore=function(){var h=o(this.hex,0,[0,4+this.foffset,0]);return h=h.replace(/(..)/g,"%$1"),h=decodeURIComponent(h),h},this.getNotAfter=function(){var h=o(this.hex,0,[0,4+this.foffset,1]);return h=h.replace(/(..)/g,"%$1"),h=decodeURIComponent(h),h},this.getPublicKeyHex=function(){return t.getTLVbyList(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyIdx=function(){return l(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyContentIdx=function(){var h=this.getPublicKeyIdx();return l(this.hex,h,[1,0],"30")},this.getPublicKey=function(){return KEYUTIL.getKey(this.getPublicKeyHex(),null,"pkcs8pub")},this.getSignatureAlgorithmName=function(){var h=u(this.hex,0,[1],"30");return this.getAlgorithmIdentifierName(h)},this.getSignatureValueHex=function(){return o(this.hex,0,[2],"03",!0)},this.verifySignature=function(h){var y=this.getSignatureAlgorithmField(),b=this.getSignatureValueHex(),E=u(this.hex,0,[0],"30"),T=new KJUR.crypto.Signature({alg:y});return T.init(h),T.updateHex(E),T.verify(b)},this.parseExt=function(h){var y,b,E;if(h===void 0){if(E=this.hex,this.version!==3)return-1;y=l(E,0,[0,7,0],"30"),b=e(E,y)}else{E=pemtohex(h);var T=l(E,0,[0,3,0,0],"06");if(r(E,T)!="2a864886f70d01090e"){this.aExtInfo=new Array;return}y=l(E,0,[0,3,0,1,0],"30"),b=e(E,y),this.hex=E}this.aExtInfo=new Array;for(var x=0;x<b.length;x++){var _={};_.critical=!1;var w=e(E,b[x]),S=0;w.length===3&&(_.critical=!0,S=1),_.oid=t.hextooidstr(o(E,b[x],[0],"06"));var M=l(E,b[x],[1+S]);_.vidx=f(E,M),this.aExtInfo.push(_)}},this.getExtInfo=function(h){var y=this.aExtInfo,b=h;if(h.match(/^[0-9.]+$/)||(b=KJUR.asn1.x509.OID.name2oid(h)),b!==""){for(var E=0;E<y.length;E++)if(y[E].oid===b)return y[E]}},this.getExtBasicConstraints=function(h,y){if(h===void 0&&y===void 0){var b=this.getExtInfo("basicConstraints");if(b===void 0)return;h=i(this.hex,b.vidx),y=b.critical}var E={extname:"basicConstraints"};if(y&&(E.critical=!0),h==="3000")return E;if(h==="30030101ff")return E.cA=!0,E;if(h.substr(0,12)==="30060101ff02"){var T=r(h,10),x=parseInt(T,16);return E.cA=!0,E.pathLen=x,E}throw new Error("hExtV parse error: "+h)},this.getExtKeyUsage=function(h,y){if(h===void 0&&y===void 0){var b=this.getExtInfo("keyUsage");if(b===void 0)return;h=i(this.hex,b.vidx),y=b.critical}var E={extname:"keyUsage"};return y&&(E.critical=!0),E.names=this.getExtKeyUsageString(h).split(","),E},this.getExtKeyUsageBin=function(h){if(h===void 0){var y=this.getExtInfo("keyUsage");if(y===void 0)return"";h=i(this.hex,y.vidx)}if(h.length!=8&&h.length!=10)throw new Error("malformed key usage value: "+h);var b="000000000000000"+parseInt(h.substr(6),16).toString(2);return h.length==8&&(b=b.slice(-8)),h.length==10&&(b=b.slice(-16)),b=b.replace(/0+$/,""),b==""&&(b="0"),b},this.getExtKeyUsageString=function(h){for(var y=this.getExtKeyUsageBin(h),b=new Array,E=0;E<y.length;E++)y.substr(E,1)=="1"&&b.push(X509.KEYUSAGE_NAME[E]);return b.join(",")},this.getExtSubjectKeyIdentifier=function(h,y){if(h===void 0&&y===void 0){var b=this.getExtInfo("subjectKeyIdentifier");if(b===void 0)return;h=i(this.hex,b.vidx),y=b.critical}var E={extname:"subjectKeyIdentifier"};y&&(E.critical=!0);var T=r(h,0);return E.kid={hex:T},E},this.getExtAuthorityKeyIdentifier=function(h,y){if(h===void 0&&y===void 0){var b=this.getExtInfo("authorityKeyIdentifier");if(b===void 0)return;h=i(this.hex,b.vidx),y=b.critical}var E={extname:"authorityKeyIdentifier"};y&&(E.critical=!0);for(var T=e(h,0),x=0;x<T.length;x++){var _=h.substr(T[x],2);if(_==="80"&&(E.kid={hex:r(h,T[x])}),_==="a1"){var w=i(h,T[x]),S=this.getGeneralNames(w);E.issuer=S[0].dn}_==="82"&&(E.sn={hex:r(h,T[x])})}return E},this.getExtExtKeyUsage=function(h,y){if(h===void 0&&y===void 0){var b=this.getExtInfo("extKeyUsage");if(b===void 0)return;h=i(this.hex,b.vidx),y=b.critical}var E={extname:"extKeyUsage",array:[]};y&&(E.critical=!0);for(var T=e(h,0),x=0;x<T.length;x++)E.array.push(p(r(h,T[x])));return E},this.getExtExtKeyUsageName=function(){var h=this.getExtInfo("extKeyUsage");if(h===void 0)return h;var y=new Array,b=i(this.hex,h.vidx);if(b==="")return y;for(var E=e(b,0),T=0;T<E.length;T++)y.push(p(r(b,E[T])));return y},this.getExtSubjectAltName=function(h,y){if(h===void 0&&y===void 0){var b=this.getExtInfo("subjectAltName");if(b===void 0)return;h=i(this.hex,b.vidx),y=b.critical}var E={extname:"subjectAltName",array:[]};return y&&(E.critical=!0),E.array=this.getGeneralNames(h),E},this.getExtIssuerAltName=function(h,y){if(h===void 0&&y===void 0){var b=this.getExtInfo("issuerAltName");if(b===void 0)return;h=i(this.hex,b.vidx),y=b.critical}var E={extname:"issuerAltName",array:[]};return y&&(E.critical=!0),E.array=this.getGeneralNames(h),E},this.getGeneralNames=function(h){for(var y=e(h,0),b=[],E=0;E<y.length;E++){var T=this.getGeneralName(i(h,y[E]));T!==void 0&&b.push(T)}return b},this.getGeneralName=function(h){var y=h.substr(0,2),b=r(h,0),E=hextorstr(b);if(y=="81")return{rfc822:E};if(y=="82")return{dns:E};if(y=="86")return{uri:E};if(y=="87")return{ip:hextoip(b)};if(y=="a4")return{dn:this.getX500Name(b)}},this.getExtSubjectAltName2=function(){var h,y,b,E=this.getExtInfo("subjectAltName");if(E===void 0)return E;for(var T=new Array,x=i(this.hex,E.vidx),_=e(x,0),w=0;w<_.length;w++)b=x.substr(_[w],2),h=r(x,_[w]),b==="81"&&(y=hextoutf8(h),T.push(["MAIL",y])),b==="82"&&(y=hextoutf8(h),T.push(["DNS",y])),b==="84"&&(y=X509.hex2dn(h,0),T.push(["DN",y])),b==="86"&&(y=hextoutf8(h),T.push(["URI",y])),b==="87"&&(y=hextoip(h),T.push(["IP",y]));return T},this.getExtCRLDistributionPoints=function(h,y){if(h===void 0&&y===void 0){var b=this.getExtInfo("cRLDistributionPoints");if(b===void 0)return;h=i(this.hex,b.vidx),y=b.critical}var E={extname:"cRLDistributionPoints",array:[]};y&&(E.critical=!0);for(var T=e(h,0),x=0;x<T.length;x++){var _=i(h,T[x]);E.array.push(this.getDistributionPoint(_))}return E},this.getDistributionPoint=function(h){for(var y={},b=e(h,0),E=0;E<b.length;E++){var T=h.substr(b[E],2),x=i(h,b[E]);T=="a0"&&(y.dpname=this.getDistributionPointName(x))}return y},this.getDistributionPointName=function(h){for(var y={},b=e(h,0),E=0;E<b.length;E++){var T=h.substr(b[E],2),x=i(h,b[E]);T=="a0"&&(y.full=this.getGeneralNames(x))}return y},this.getExtCRLDistributionPointsURI=function(){var h=this.getExtInfo("cRLDistributionPoints");if(h===void 0)return h;for(var y=new Array,b=e(this.hex,h.vidx),E=0;E<b.length;E++)try{var T=o(this.hex,b[E],[0,0,0],"86"),x=hextoutf8(T);y.push(x)}catch(_){}return y},this.getExtAIAInfo=function(){var h=this.getExtInfo("authorityInfoAccess");if(h===void 0)return h;for(var y={ocsp:[],caissuer:[]},b=e(this.hex,h.vidx),E=0;E<b.length;E++){var T=o(this.hex,b[E],[0],"06"),x=o(this.hex,b[E],[1],"86");T==="2b06010505073001"&&y.ocsp.push(hextoutf8(x)),T==="2b06010505073002"&&y.caissuer.push(hextoutf8(x))}return y},this.getExtAuthorityInfoAccess=function(h,y){if(h===void 0&&y===void 0){var b=this.getExtInfo("authorityInfoAccess");if(b===void 0)return;h=i(this.hex,b.vidx),y=b.critical}var E={extname:"authorityInfoAccess",array:[]};y&&(E.critical=!0);for(var T=e(h,0),x=0;x<T.length;x++){var _=s(h,T[x],[0],"06"),w=o(h,T[x],[1],"86"),S=hextoutf8(w);if(_=="2b06010505073001")E.array.push({ocsp:S});else if(_=="2b06010505073002")E.array.push({caissuer:S});else throw new Error("unknown method: "+_)}return E},this.getExtCertificatePolicies=function(h,y){if(h===void 0&&y===void 0){var b=this.getExtInfo("certificatePolicies");if(b===void 0)return;h=i(this.hex,b.vidx),y=b.critical}var E={extname:"certificatePolicies",array:[]};y&&(E.critical=!0);for(var T=e(h,0),x=0;x<T.length;x++){var _=i(h,T[x]),w=this.getPolicyInformation(_);E.array.push(w)}return E},this.getPolicyInformation=function(h){var y={},b=o(h,0,[0],"06");y.policyoid=p(b);var E=d(h,0,[1],"30");if(E!=-1){y.array=[];for(var T=e(h,E),x=0;x<T.length;x++){var _=i(h,T[x]),w=this.getPolicyQualifierInfo(_);y.array.push(w)}}return y},this.getPolicyQualifierInfo=function(h){var y={},b=o(h,0,[0],"06");if(b==="2b06010505070201"){var E=s(h,0,[1],"16");y.cps=hextorstr(E)}else if(b==="2b06010505070202"){var T=u(h,0,[1],"30");y.unotice=this.getUserNotice(T)}return y},this.getUserNotice=function(h){for(var y={},b=e(h,0),E=0;E<b.length;E++){var T=i(h,b[E]);T.substr(0,2)!="30"&&(y.exptext=this.getDisplayText(T))}return y},this.getDisplayText=function(h){var y={"0c":"utf8",16:"ia5","1a":"vis","1e":"bmp"},b={};return b.type=y[h.substr(0,2)],b.str=hextorstr(r(h,0)),b},this.getExtCRLNumber=function(h,y){var b={extname:"cRLNumber"};if(y&&(b.critical=!0),h.substr(0,2)=="02")return b.num={hex:r(h,0)},b;throw new Error("hExtV parse error: "+h)},this.getExtCRLReason=function(h,y){var b={extname:"cRLReason"};if(y&&(b.critical=!0),h.substr(0,2)=="0a")return b.code=parseInt(r(h,0),16),b;throw new Error("hExtV parse error: "+h)},this.getExtOcspNonce=function(h,y){var b={extname:"ocspNonce"};y&&(b.critical=!0);var E=r(h,0);return b.hex=E,b},this.getExtOcspNoCheck=function(h,y){var b={extname:"ocspNoCheck"};return y&&(b.critical=!0),b},this.getExtAdobeTimeStamp=function(h,y){if(h===void 0&&y===void 0){var b=this.getExtInfo("adobeTimeStamp");if(b===void 0)return;h=i(this.hex,b.vidx),y=b.critical}var E={extname:"adobeTimeStamp"};y&&(E.critical=!0);var T=e(h,0);if(T.length>1){var x=i(h,T[1]),_=this.getGeneralName(x);_.uri!=null&&(E.uri=_.uri)}if(T.length>2){var w=i(h,T[2]);w=="0101ff"&&(E.reqauth=!0),w=="010100"&&(E.reqauth=!1)}return E},this.getX500NameRule=function(h){for(var y=null,b=[],E=0;E<h.length;E++)for(var T=h[E],x=0;x<T.length;x++)b.push(T[x]);for(var E=0;E<b.length;E++){var _=b[E],w=_.ds,S=_.value,M=_.type;if(w!="prn"&&w!="utf8"&&w!="ia5")return"mixed";if(w=="ia5"){if(M!="CN")return"mixed";if(KJUR.lang.String.isMail(S))continue;return"mixed"}if(M=="C"){if(w=="prn")continue;return"mixed"}if(y==null)y=w;else if(y!==w)return"mixed"}return y==null?"prn":y},this.getX500Name=function(h){var y=this.getX500NameArray(h),b=this.dnarraytostr(y);return{array:y,str:b}},this.getX500NameArray=function(h){for(var y=[],b=e(h,0),E=0;E<b.length;E++)y.push(this.getRDN(i(h,b[E])));return y},this.getRDN=function(h){for(var y=[],b=e(h,0),E=0;E<b.length;E++)y.push(this.getAttrTypeAndValue(i(h,b[E])));return y},this.getAttrTypeAndValue=function(h){var y={type:null,value:null,ds:null},b=e(h,0),E=o(h,b[0],[],"06"),T=o(h,b[1],[]),x=KJUR.asn1.ASN1Util.oidHexToInt(E);return y.type=KJUR.asn1.x509.OID.oid2atype(x),y.ds=this.HEX2STAG[h.substr(b[1],2)],y.ds!="bmp"?y.value=hextoutf8(T):y.value=ucs2hextoutf8(T),y},this.readCertPEM=function(h){this.readCertHex(v(h))},this.readCertHex=function(h){this.hex=h,this.getVersion();try{l(this.hex,0,[0,7],"a3"),this.parseExt()}catch(y){}},this.getParam=function(){var h={};return h.version=this.getVersion(),h.serial={hex:this.getSerialNumberHex()},h.sigalg=this.getSignatureAlgorithmField(),h.issuer=this.getIssuer(),h.notbefore=this.getNotBefore(),h.notafter=this.getNotAfter(),h.subject=this.getSubject(),h.sbjpubkey=hextopem(this.getPublicKeyHex(),"PUBLIC KEY"),this.aExtInfo.length>0&&(h.ext=this.getExtParamArray()),h.sighex=this.getSignatureValueHex(),h},this.getExtParamArray=function(h){if(h==null){var y=d(this.hex,0,[0,"[3]"]);y!=-1&&(h=c(this.hex,0,[0,"[3]",0],"30"))}for(var b=[],E=e(h,0),T=0;T<E.length;T++){var x=i(h,E[T]),_=this.getExtParam(x);_!=null&&b.push(_)}return b},this.getExtParam=function(h){var y=e(h,0),b=y.length;if(b!=2&&b!=3)throw new Error("wrong number elements in Extension: "+b+" "+h);var E=A(o(h,0,[0],"06")),T=!1;b==3&&u(h,0,[1])=="0101ff"&&(T=!0);var x=u(h,0,[b-1,0]),_=void 0;if(E=="2.5.29.14"?_=this.getExtSubjectKeyIdentifier(x,T):E=="2.5.29.15"?_=this.getExtKeyUsage(x,T):E=="2.5.29.17"?_=this.getExtSubjectAltName(x,T):E=="2.5.29.18"?_=this.getExtIssuerAltName(x,T):E=="2.5.29.19"?_=this.getExtBasicConstraints(x,T):E=="2.5.29.31"?_=this.getExtCRLDistributionPoints(x,T):E=="2.5.29.32"?_=this.getExtCertificatePolicies(x,T):E=="2.5.29.35"?_=this.getExtAuthorityKeyIdentifier(x,T):E=="2.5.29.37"?_=this.getExtExtKeyUsage(x,T):E=="1.3.6.1.5.5.7.1.1"?_=this.getExtAuthorityInfoAccess(x,T):E=="2.5.29.20"?_=this.getExtCRLNumber(x,T):E=="2.5.29.21"?_=this.getExtCRLReason(x,T):E=="1.3.6.1.5.5.7.48.1.2"?_=this.getExtOcspNonce(x,T):E=="1.3.6.1.5.5.7.48.1.5"?_=this.getExtOcspNoCheck(x,T):E=="1.2.840.113583.1.1.9.1"&&(_=this.getExtAdobeTimeStamp(x,T)),_!=null)return _;var w={extname:E,extn:x};return T&&(w.critical=!0),w},this.findExt=function(h,y){for(var b=0;b<h.length;b++)if(h[b].extname==y)return h[b];return null},this.dnarraytostr=function(h){function y(E){return E.map(function(T){return b(T).replace(/\+/,"\\+")}).join("+")}function b(E){return E.type+"="+E.value}return"/"+h.map(function(E){return y(E).replace(/\//,"\\/")}).join("/")},this.getInfo=function(){var h=function(D){var Q=JSON.stringify(D.array).replace(/[\[\]\{\}\"]/g,"");return Q},y=function(D){for(var Q="",N=D.array,U=0;U<N.length;U++){var W=N[U];if(Q+=" policy oid: "+W.policyoid+`
|
|
363
|
+
`,W.array!==void 0)for(var q=0;q<W.array.length;q++){var G=W.array[q];G.cps!==void 0&&(Q+=" cps: "+G.cps+`
|
|
364
|
+
`)}}return Q},b=function(D){for(var Q="",N=D.array,U=0;U<N.length;U++){var W=N[U];try{W.dpname.full[0].uri!==void 0&&(Q+=" "+W.dpname.full[0].uri+`
|
|
365
|
+
`)}catch(q){}try{W.dname.full[0].dn.hex!==void 0&&(Q+=" "+X509.hex2dn(W.dpname.full[0].dn.hex)+`
|
|
366
|
+
`)}catch(q){}}return Q},E=function(D){for(var Q="",N=D.array,U=0;U<N.length;U++){var W=N[U];W.caissuer!==void 0&&(Q+=" caissuer: "+W.caissuer+`
|
|
367
|
+
`),W.ocsp!==void 0&&(Q+=" ocsp: "+W.ocsp+`
|
|
368
|
+
`)}return Q},T,x,_;if(T=`Basic Fields
|
|
369
369
|
`,T+=" serial number: "+this.getSerialNumberHex()+`
|
|
370
370
|
`,T+=" signature algorithm: "+this.getSignatureAlgorithmField()+`
|
|
371
371
|
`,T+=" issuer: "+this.getIssuerString()+`
|
|
@@ -373,22 +373,22 @@
|
|
|
373
373
|
`,T+=" notAfter: "+this.getNotAfter()+`
|
|
374
374
|
`,T+=" subject: "+this.getSubjectString()+`
|
|
375
375
|
`,T+=` subject public key info:
|
|
376
|
-
`,
|
|
377
|
-
`,
|
|
378
|
-
`,T+=" e="+hextoposhex(
|
|
379
|
-
`),
|
|
380
|
-
`;for(var w=0;w<
|
|
381
|
-
`,
|
|
376
|
+
`,x=this.getPublicKey(),T+=" key algorithm: "+x.type+`
|
|
377
|
+
`,x.type==="RSA"&&(T+=" n="+hextoposhex(x.n.toString(16)).substr(0,16)+`...
|
|
378
|
+
`,T+=" e="+hextoposhex(x.e.toString(16))+`
|
|
379
|
+
`),_=this.aExtInfo,_!=null){T+=`X509v3 Extensions:
|
|
380
|
+
`;for(var w=0;w<_.length;w++){var S=_[w],M=KJUR.asn1.x509.OID.oid2name(S.oid);M===""&&(M=S.oid);var C="";if(S.critical===!0&&(C="CRITICAL"),T+=" "+M+" "+C+`:
|
|
381
|
+
`,M==="basicConstraints"){var I=this.getExtBasicConstraints();I.cA===void 0?T+=` {}
|
|
382
382
|
`:(T+=" cA=true",I.pathLen!==void 0&&(T+=", pathLen="+I.pathLen),T+=`
|
|
383
|
-
`)}else if(
|
|
384
|
-
`;else if(
|
|
385
|
-
`;else if(
|
|
386
|
-
`)}else if(
|
|
387
|
-
`}else if(
|
|
388
|
-
`}else if(
|
|
383
|
+
`)}else if(M==="keyUsage")T+=" "+this.getExtKeyUsageString()+`
|
|
384
|
+
`;else if(M==="subjectKeyIdentifier")T+=" "+this.getExtSubjectKeyIdentifier().kid.hex+`
|
|
385
|
+
`;else if(M==="authorityKeyIdentifier"){var B=this.getExtAuthorityKeyIdentifier();B.kid!==void 0&&(T+=" kid="+B.kid.hex+`
|
|
386
|
+
`)}else if(M==="extKeyUsage"){var F=this.getExtExtKeyUsage().array;T+=" "+F.join(", ")+`
|
|
387
|
+
`}else if(M==="subjectAltName"){var L=h(this.getExtSubjectAltName());T+=" "+L+`
|
|
388
|
+
`}else if(M==="cRLDistributionPoints"){var k=this.getExtCRLDistributionPoints();T+=b(k)}else if(M==="authorityInfoAccess"){var O=this.getExtAuthorityInfoAccess();T+=E(O)}else M==="certificatePolicies"&&(T+=y(this.getExtCertificatePolicies()))}}return T+="signature algorithm: "+this.getSignatureAlgorithmName()+`
|
|
389
389
|
`,T+="signature: "+this.getSignatureValueHex().substr(0,16)+`...
|
|
390
|
-
`,T},typeof n=="string"&&(n.indexOf("-----BEGIN")!=-1?this.readCertPEM(n):KJUR.lang.String.isHex(n)&&this.readCertHex(n))}X509.hex2dn=function(n,t){t===void 0&&(t=0);var e=new X509;ASN1HEX.getTLV(n,t);var r=e.getX500Name(n);return r.str},X509.hex2rdn=function(n,t){if(t===void 0&&(t=0),n.substr(t,2)!=="31")throw new Error("malformed RDN");for(var e=new Array,r=ASN1HEX.getChildIdx(n,t),i=0;i<r.length;i++)e.push(X509.hex2attrTypeValue(n,r[i]));return e=e.map(function(o){return o.replace("+","\\+")}),e.join("+")},X509.hex2attrTypeValue=function(n,t){var e=ASN1HEX,r=e.getV;if(t===void 0&&(t=0),n.substr(t,2)!=="30")throw new Error("malformed attribute type and value");var i=e.getChildIdx(n,t);i.length!==2||n.substr(i[0],2);var o=r(n,i[0]),s=KJUR.asn1.ASN1Util.oidHexToInt(o),u=KJUR.asn1.x509.OID.oid2atype(s),l=r(n,i[1]),c=hextorstr(l);return u+"="+c},X509.getPublicKeyFromCertHex=function(n){var t=new X509;return t.readCertHex(n),t.getPublicKey()},X509.getPublicKeyFromCertPEM=function(n){var t=new X509;return t.readCertPEM(n),t.getPublicKey()},X509.getPublicKeyInfoPropOfCertPEM=function(n){var t=ASN1HEX,e=t.getVbyList,r={},i,o;return r.algparam=null,i=new X509,i.readCertPEM(n),o=i.getPublicKeyHex(),r.keyhex=e(o,0,[1],"03").substr(2),r.algoid=e(o,0,[0,0],"06"),r.algoid==="2a8648ce3d0201"&&(r.algparam=e(o,0,[0,1],"06")),r},X509.KEYUSAGE_NAME=["digitalSignature","nonRepudiation","keyEncipherment","dataEncipherment","keyAgreement","keyCertSign","cRLSign","encipherOnly","decipherOnly"];function sha256(n){return CryptoJS.SHA256(n).toString()}var certificates=[function(){var n=new X509;return n.readCertPEM(function(){var t=113,e=126,r=0,i="";return arguments[r].split(i).map(function(o){return o.charCodeAt(r)>e?o:String.fromCharCode((o.charCodeAt(r)+t)%e)}).join(i)}(":::::ORTV[-PR_aVSVPNaR:::::ZVVS@ PPNErtNVONtVWNZR}@]nU\0ZaZN=TP`\0T`Vo@Q^ROPbNZVTSZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg R^ZNATN>bROU^zc}nzyg R]ZN=TN>bRPtTn?bf?FZ_NQtfQc^^YQNq`gdSp?cyZ^P^fQc^^QQNWQ^aRvZPNTP`\0T`Vo@Q^RWN_fapzFqSFwfbOndSnzyuYz[oaNrS=\x07\\QN>Z N\\Q^B[QqnS=\b\\QN>Zwp\\Q^B[QqnZVTSZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg R^ZNATN>bROU^zc}nzyg R]ZN=TN>bRPtTn?bf?FZ_NQtfQc^^YQNq`gdSp?cyZ^P^fQc^^QQNWQ^aRvZPNTP`\0T`Vo@Q^RWN_fapzFqSFwfbOndSnzyuYz[oaPPNvVQ^fWX|gVup[N^ROO^NQttV]NQPPNt|PttVONZU|C\b\\@@e^Xv{[vTtd8`nyO@\x07ebN[bqx=ng? S^w@|XAz|qUTwfzn]Bu<qs_ae\\y<}u`eRAoE`_\\s\0r|b{rp_o<oC@o=x\bw_cUUZPApQevD\\FxFo\x07FgE=<sq[p<coqyn>TEpP@aSC_YDU8\0|8TB?c>r\\=rp`pcwP}c\0PP_\\RS\\EPVSy8x`\0?R|NP P>}A^VP}Ex\bU\x07Za=syDw}>Ya\x078wPp[pRnn\brU^dE8U?a\bcW|<FEbbupn^`ZNr sof[wA}e{\\z}w[YDQ|dt=wC Nv\x07bR\x07Z@@U|ZAYpFsabCBB\\`wrqxsYW8uFyWdaWezeUeA_8VoVupvY[TD[OYdpO\bC[wX\\O]=[QRpV\0d`\x07N\0RXt^Z}vEpdC=\bY?\x07=V}?^W\bad|qN@Ww>@PycaqANE]asPcE^OB_VA?>wzeftac Z guf\bF]\x07DCP?znNYf uaYu[`\x07=b|v]Bp=RAS``\\PRDW]_`UXdUg=SuqwVFDeB D8{B>\\sPY\x07bEU FQXz\0@\x07`zsqgfD\0[WY\bPeZc} \0bx?Rfed\x07}BUe\x07|Uo\0y?\bsSXZOSBCgbFqf\0Bs?b?d<VE\\Zzns\\d@?dPvf\\{}_\0Sd[<q_YB\x07Y`Ffg=sY>{t<fu]x\x07rFNtZONNTwbQO\\ZO=TN>bqQt^dOOaAFXw= PCVxsv?{`a\bvS8YQ[aNsOt[cU`ZRTQNdtOaAFXw= PCVxsv?{`a\bvS8YQ[aNZOt[cU_ZROaNQN^U<ZN=TP`\0T`Vo@Q^ROPbNNAVPN^P\0{y\0Bs\\8\0R[z]w??qZP?NpgdenSuvv?>|f_?UpYPcQ\\gCb8zxtSvsOQNg>[\\\0\bx\b_o@8\0g`Z<PyUE`8yu}\\g{@`s`zUgErRtve{YdCvoO@>WFDtABNp\0feUWszpQaEYNAc]^xB[@]BDAN8\b}XA=E\x07nO}Pud8TA ?yPrVv{\\>E]o`BO^RE^X[W[rEU?x\bf>V OUwY=>X[\\E`tW[8}VwpF\x07BQcnrPF}yUtd8<Doe_\b[oOVU\x07ep@pYY\0cegY{r ?\bAbq?ff8}UaXoN_D]_X_8yozYFT`N{`\\{zvu?\bDWT}=_<\x07StX Nx\x07\0\b \0aT=c@ucnWfR[vf>RFxAFV}{N`dN^\\<eawBPxx}quT=|{T_R@Fp^Y<ZevRsWaZ]V CVrRVtAAc[ Qp|d|tqoQ=T|XX =u\\N8XNCx\\aU>wz X<e@Vc?dy\\|^FEq|=p`pBdF@bs^d<]vp\\^TZ P\bZ\b\\YNNSZ_\\w^|TsD8db _ Y\\o^Cw>Z\0x\\^aN]wWf\bA} C^d_{\x07ZC@\by]gY@E BFY?OsaqbDcVgQbZeFc ovtucxnq|<TnuyXRveYFOegCpAs{YTe|>bE<OXsSqCBWD_SVepfvCCUg]z ZvQ[\0s|U>pFz\b=OwT``fNJJ:::::R[Q-PR_aVSVPNaR:::::")),n}()];function getCertificateBySubjectHex(n,t){for(var e=0,r=t;e<r.length;e++){var i=r[e];if(i.getSubjectHex()===n)return i}}function verifyCertificate_(n,t){var e=n.getIssuerHex();if(e===n.getSubjectHex())return n.verifySignature(n.getPublicKey());var r=getCertificateBySubjectHex(e,t);return!r||n.verifySignature(r.getPublicKey())===!1?!1:verifyCertificate_(r,t)}function verifyCertificate(n){var t=n.getIssuerHex();return t===n.getSubjectHex()?!1:verifyCertificate_(n,certificates)}function addCertificate(n){var t=new X509;typeof n=="string"?t.readCertPEM(n):t.readCertHex(n.hex);var e=verifyCertificate(t);return certificates.push(t),e}function verifyMessage(n,t,e){var r=new X509;if(typeof e=="string"?r.readCertPEM(e):r.readCertHex(e.hex),verifyCertificate(r)===!1)return!1;var i=new RSAKey;return i.readCertPubKeyHex(r.hex,6),!!i.verify(n,b64tohex(t))}addCertificate(function(){var t=113,e=126,r=0,i="";return arguments[r].split(i).map(function(o){return o.charCodeAt(r)>e?o:String.fromCharCode((o.charCodeAt(r)+t)%e)}).join(i)}(":::::ORTV[-PR_aVSVPNaR:::::ZVVTU PPONrtNVONtVWNW=_SVw VE=ZN=TP`\0T`Vo@Q^ROPbNZVTSZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg R^ZNATN>bROU^zc}nzyg R]ZN=TN>bRPtTn?bf?FZ_NQtfQc^^YQNq`gdSp?cyZ^P^fQc^^QQNWQ^aRvZPNTP`\0T`Vo@Q^RWN_fapzFqSFwfbOndSnzyuYz[oaNrS=\bZQNAZaN\\aZ [QSnS=\b[aNBZQZ\\aZ [QSnZVTaZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg R^ZNATN>bROU^zc}nzyg RbZOVTN>bRPtYoTyuoz}}f`Bwo?=\x07RQN\\Ot[cONZO>Wyfd\x07 gdb\x07RaN]Ot[cONZZPRuupz_@feWyZ`bVfWX|gVup[N^xOSugnec|fdy\x07ndB{^T\x07}fdB\0ndRf?FZVVPVwN[Otx\0uxvTF=ON^RSNN\\PNtENZVVPPtXPNtRN?=?]q[VD|{\\oyo`oOu}F SA\x07e`tn[t u\b8^a]qx\bE_^\x07ZN?[QC\0yuOpybY8r\\RPAS=8rUq\0E8>xean^e\bf]Y`XO}{C[Ur^?\0x[SRXvVQ\\CFr}QnAPRQ\x07FO=Yw\0_TePCOFV@|\x07N>ROXcDrT<>bW<ssO?NOT{^s]uU\0gS\bBffsfE\0AfDyQEZR`]XBo|Qw}yYdwwTvOFcBndUz^\\{] b=^yQYSTQ`]\0?tR{WRUun\\\0bVe_E|VWWV|r Ao\0 F`fdzCnRtq\br \b8eBp=Z\\TRaadc}@Eub`\x07quuNqAdF\0aUay{}x>tgVz` _YBFwu_q?egt8v[o\x008 wTQcrA <z{DZoEE^rZTrpaZQzqpBY]^zt8[bQv}yEWw XDYQB\0QB\bx_^X]|uEDtPf[n[r_bpB[bE}?ung|bnU|NYOoedY_tvXySZfYP\x07\x07dWV]OE^\bOFwA}<uXoO}_NDz8aon\x07zWOfcv@?>snfqu@FeEx^\\\bVfuO`\\\0tSg]zDU}QrAT| OZV|OvpVD<sN@z`<_cSrNCW>?=Au?g_8v{|}}WF>Sr>QBxO d_D}eBb?Uq^b [y}x]}{?P|BQtecTB[pQBW>|p|nfv\0zU\x07xOO}WqwE=<PURZy@X8r\\]u=<pPNRNNn\\OtaO<ZOETPdPT`NTT8RVOQ^^`SuO`gdSp?cyVRg\bo?B=VR[OZO=TN>bqQt^dOO`Fy\x07WadZcAD peXybcW@}Qf\\QNsOt[cU`ZRTQNdtOaAFXw= PCVxsv?{`a\bvS8YQ[aN]Ot[cU_ZONsEROaNQN^U<ZNTN>bqQ^RNVOOwN[Otx\0uxvTF=ON^SNN\\PNtRNrx a[}tP_g8FbD\0^\0qt<f88ufuN]^}]gp\bqYudF88Fas_Ef` ?^x>X}esa{>\\r?eE]CC_cZ[vQs >gX[szONg=^pn=<e]nbSz\bZvac\b[w^nA_`vP|@8w[}nQobe=??oRYf{vpRxcC}yCd>8[NDx{Ne\\t8oou=guC\x07>>g\x07vb}ACd ``Ntq\0yC[Q{|ynpNQqSqzxF<_PFDw<]Bnnu>F<XgU_Zf\\\\A=gu\\codOwQ]oQ<f>gv_pwozwC}xX>C`c]suEdfW?cbeo\b`BbyR@eFTUwSud=t]sS\\onc XSq {\0\x07DvAVBbnTqEE[QzDyqF`bF}R=Q?VeDo<Vzb\0w}D}NZ\0t}^?OyFP\bVaVNrTNYqe?[NRYTSQby@yzWvT`wQo}y]c_WgxBYCy RNRg@\x07NZCaaq8?` ^`?ryD =obzw?E]Ou\x07]n@>bVzqAQT?@_zo@}CxWVTUsAYdNd?{APQr8{P]]AZ>aR\0[D<z?Tr@`u@X|YDwd_<p<>zWE>]\0=X`\b@uucp|^_Qb@uZouTX^o\0\\{PCq{ug\x078^f[YQAWad8FNqxFQE?ZOo }RnO\bsQc xyccn=nxvs>bDBf\b\bW\\TuTnvAO^U\0QXC>xx8FxRFf<tJ:::::R[Q-PR_aVSVPNaR:::::"));var extendStatics=function(n,t){return extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])},extendStatics(n,t)};function __extends(n,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");extendStatics(n,t);function e(){this.constructor=n}n.prototype=t===null?Object.create(t):(e.prototype=t.prototype,new e)}var __assign=function(){return __assign=Object.assign||function(t){for(var e,r=1,i=arguments.length;r<i;r++){e=arguments[r];for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o])}return t},__assign.apply(this,arguments)};function __decorate(n,t,e,r){var i=arguments.length,o=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,e):r,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,t,e,r);else for(var u=n.length-1;u>=0;u--)(s=n[u])&&(o=(i<3?s(o):i>3?s(t,e,o):s(t,e))||o);return i>3&&o&&Object.defineProperty(t,e,o),o}function __metadata(n,t){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,t)}function __awaiter(n,t,e,r){function i(o){return o instanceof e?o:new e(function(s){s(o)})}return new(e||(e=Promise))(function(o,s){function u(d){try{c(r.next(d))}catch(f){s(f)}}function l(d){try{c(r.throw(d))}catch(f){s(f)}}function c(d){d.done?o(d.value):i(d.value).then(u,l)}c((r=r.apply(n,t||[])).next())})}function __generator(n,t){var e={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,s;return s={next:u(0),throw:u(1),return:u(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function u(c){return function(d){return l([c,d])}}function l(c){if(r)throw new TypeError("Generator is already executing.");for(;s&&(s=0,c[0]&&(e=0)),e;)try{if(r=1,i&&(o=c[0]&2?i.return:c[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,c[1])).done)return o;switch(i=0,o&&(c=[c[0]&2,o.value]),c[0]){case 0:case 1:o=c;break;case 4:return e.label++,{value:c[1],done:!1};case 5:e.label++,i=c[1],c=[0];continue;case 7:c=e.ops.pop(),e.trys.pop();continue;default:if(o=e.trys,!(o=o.length>0&&o[o.length-1])&&(c[0]===6||c[0]===2)){e=0;continue}if(c[0]===3&&(!o||c[1]>o[0]&&c[1]<o[3])){e.label=c[1];break}if(c[0]===6&&e.label<o[1]){e.label=o[1],o=c;break}if(o&&e.label<o[2]){e.label=o[2],e.ops.push(c);break}o[2]&&e.ops.pop(),e.trys.pop();continue}c=t.call(n,e)}catch(d){c=[6,d],i=0}finally{r=o=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}function __spreadArray(n,t,e){if(e||arguments.length===2)for(var r=0,i=t.length,o;r<i;r++)(o||!(r in t))&&(o||(o=Array.prototype.slice.call(t,0,r)),o[r]=t[r]);return n.concat(o||Array.prototype.slice.call(t))}typeof SuppressedError=="function"&&SuppressedError;function createSymbol(n){return typeof Symbol=="undefined"?"$Symbol<".concat(n,">$"):Symbol(n)}var EVENT_SYMBOL=createSymbol("$$FIVE_EVENT$$");function __generateEventIfNotExisted(n){return n[EVENT_SYMBOL]||(n[EVENT_SYMBOL]={}),n[EVENT_SYMBOL]}function __removeEvents(n){n[EVENT_SYMBOL]&&delete n[EVENT_SYMBOL]}var Subscribe=function(){function n(){}return n.prototype.hasListener=function(t){var e=__generateEventIfNotExisted(this);return e&&e[t]&&e[t].callbacks.length>0},n.prototype.on=function(t,e,r){var i=this,o=__generateEventIfNotExisted(this);return o[t]||(o[t]={called:[!1],callbacks:[]}),o[t].callbacks.push([e,r||!1]),function(){return i.off(t,e)}},n.prototype.once=function(t,e){return this.on(t,e,!0)},n.prototype.off=function(t,e){if(t===void 0){__removeEvents(this);return}var r=__generateEventIfNotExisted(this);if(r[t]||(r[t]={called:[!1],callbacks:[]}),e===void 0){r[t].callbacks.length=0;return}for(var i=0;i<r[t].callbacks.length&&r[t].callbacks[i][0]!==e;i++);i<r[t].callbacks.length&&r[t].callbacks.splice(i,1)},n.prototype.emit=function(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];var i=!1,o=__generateEventIfNotExisted(this);o[t]||(o[t]={called:[!1],callbacks:[]}),o[t].called=[!0,e];for(var s=o[t].callbacks.slice(),u=0,l=s;u<l.length;u++){var c=l[u],d=c[0],f=c[1],v=f===void 0?!1:f,p=d.apply(void 0,e);v&&this.off(t,d),p===!1&&(i=!0)}return i},n.prototype.waitUnitl=function(t){var e=this,r=__generateEventIfNotExisted(this);r[t]||(r[t]={called:[!1],callbacks:[]});var i=r[t].called,o=i[0],s=i[1];return o?Promise.resolve(s):new Promise(function(u){e.once(t,function(){for(var l=[],c=0;c<arguments.length;c++)l[c]=arguments[c];return u(l),!0})})},n}();function noop$1(){}var start=typeof performance!="undefined"&&typeof performance.timing!="undefined"?performance.timing.navigationStart:Date.now(),now=typeof performance!="undefined"?function(){return start+performance.now()}:function(){return Date.now()};function deepFreeze(n){Object.freeze(n);var t=typeof n=="function",e=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(function(r){e.call(n,r)&&(!t||r!=="caller"&&r!=="callee"&&r!=="arguments")&&n[r]!==null&&(typeof n[r]=="object"||typeof n[r]=="function")&&!Object.isFrozen(n[r])&&deepFreeze(n[r])}),n}var domainRegex=/^([^.]+)(\.([^.]+))*$/;function match(n,t){if(n==="*")return!0;var e=n.split(".").reverse(),r=t.split(".").reverse();if(e.length<=1)return n===t;for(var i=0;i<e.length;i++)if(e[i]!==r[i])return!1;return!0}function isIPDomain(n){return/^(([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])(\.(?!$)|$)){4}$/.test(n)}function matchDomain(n,t){return domainRegex.test(n)&&domainRegex.test(t)&&match(n,t)}var JSONP_REGEXPS=[/\.([0-9a-z]+)\.jsonp([\?\#].*)?$/i,/jsonp_([0-9a-z]+)([\?\#].*)?$/i],BUILDIN_ALLOW_HOST=deepFreeze(JSON.parse(function(){var t=113,e=126,r=0,i="";return arguments[r].split(i).map(function(o){return o.charCodeAt(r)>e?o:String.fromCharCode((o.charCodeAt(r)+t)%e)}).join(i)}("h/y|pnyu|/9/xr;p|z/9/yvn{wvn;p|z/9/rnyrr;p|z/9/rnyrr;p{/9/rnyrr;w}/9/uv;p|z/9/uv;p{/9/ywpq{;p|z/9/rnyrr:pq{;p|z/9/rnyrr:pq{;p{/9/rnyrr;nv/9/;p{/9/pq{;p{/9/pnyp{|qr;vr/j"))),NetworkProxyError=function(n){__extends(t,n);function t(e,r,i){return n.call(this,"[NETWORK]: request proxy error(type: ".concat(r,", reason: ").concat(i,"): ").concat(e))||this}return t}(Error),NetworkResponseError=function(n){__extends(t,n);function t(e,r,i){var o=n.call(this,"[NETWORK]: response error(type: ".concat(r,", status: ").concat(i,"): ").concat(e))||this;return o.httpStatus=i,o}return t}(Error);(function(n){__extends(t,n);function t(e,r){return n.call(this,"[NETWORK]: request abort(type: ".concat(r,"): ").concat(e))||this}return t})(Error);var NetworkTimeoutError=function(n){__extends(t,n);function t(e,r,i){return n.call(this,"[NETWORK]: request timeout(type: ".concat(r,", timeout: ").concat(i,"ms): ").concat(e))||this}return t}(Error),NetworkFirbiddenError=function(n){__extends(t,n);function t(e,r,i){return n.call(this,"[NETWORK]: request forbidden(type: ".concat(r,", reason: ").concat(i,"): ").concat(e))||this}return t}(Error);function parseHeaders(n){if(!n)return{};for(var t={},e=n.trim().split(`
|
|
391
|
-
`),r=0;r<e.length;r++){var i=e[r],o=i.indexOf(":"),s=i.slice(0,o).trim().toLowerCase(),u=i.slice(o+1).trim();u&&(t[s]?t[s]+=", "+u:t[s]=u)}return t}function matchJsonpFunctionName(n){for(var t=0,e=JSONP_REGEXPS;t<e.length;t++){var r=e[t],i=n.match(r);if(i)return"jsonp_"+i[1]}return null}function isJsonpSource(n){return matchJsonpFunctionName(n)!==null}function getProtocol(n){var t=n.match(/^([0-9a-z]+\:)\/\/(([^:/?#]*)(?::[0-9]+)?)/);return t?t[1]:location.protocol}function hostnameFromURL(n){if(/^blob\:/i.test(n))return"blob:";if(/^data\:/i.test(n))return"data:";var t=n.match(/^[0-9a-z]+\:\/\/(([^:/?#]*)(?::[0-9]+)?)/i);return t?t[2]:location.hostname}var NetworkSubscribe=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t}(Subscribe);function ajax(n,t,e,r,i){t===void 0&&(t={}),e===void 0&&(e=noop$1),r===void 0&&(r=noop$1),i===void 0&&(i=noop$1);var o=now(),s=n;return Promise.resolve().then(function(){return t.requestProxy?t.requestProxy(n):n}).then(function(u){return/^https\:/.test(location.href)&&/^http\:/.test(u)?(console.warn("The page at '".concat(location.href,"' was loaded over HTTPS, but requested an insecure element '").concat(u,"'. This request was automatically upgraded to HTTPS")),u.replace(/^http\:/,"https:")):u}).catch(function(u){var l,c=matchJsonpFunctionName(n),d=c?"Script":"XMLHttpRequest",f=new NetworkProxyError(s,d,u&&u.message?String(u.message):String(u));return(l=t.networkSubscribe)===null||l===void 0||l.emit("network",n,d,"proxy-error",f.message),Promise.reject(f)}).then(function(u){return new Promise(function(l,c){var d,f=t.allowHosts?BUILDIN_ALLOW_HOST.concat(t.allowHosts):BUILDIN_ALLOW_HOST.slice(),v=hostnameFromURL(u),p=matchJsonpFunctionName(u);if(location.hostname.length!==0&&!isIPDomain(location.hostname)&&BUILDIN_ALLOW_HOST.filter(function(B){return matchDomain(B,location.hostname)}).length===0&&!isIPDomain(v)&&f.filter(function(B){return matchDomain(B,v)}).length===0){var A=p?"Script":"XMLHttpRequest",m=new NetworkFirbiddenError(u,A,"request host(".concat(v,") is not allowed"));r(m),c(m),(d=t.networkSubscribe)===null||d===void 0||d.emit("network",u,A,"forbidden",m.message);return}if(p){var y=window,h=null,g=!1,b=document.createElement("script"),E=function(){var B;if(h=null,g!==!0){g=!0;var F=new NetworkTimeoutError(u,"Script",t.timeout||NaN);r(F),c(F),(B=t.networkSubscribe)===null||B===void 0||B.emit("network",u,"Script","timeout",F.message)}},T=function(B){var F,L,O=now(),k=O-o;if(delete y[p],b.parentNode&&b.parentNode.removeChild(b),h!==null&&(window.clearTimeout(h),h=null),g!==!0){if(B.indexOf("data:")!==0){var Q=new NetworkResponseError(u,"Script",500);r(Q),c(Q),(F=t.networkSubscribe)===null||F===void 0||F.emit("network",u,"Script","error",Q.message);return}var U=B.split(","),N=(U[0].match(/:(.*?);/)||[])[1],G=U[1];if(t.responseType==="arraybuffer"||t.responseType==="blob"){for(var K=atob(U[1]),X=K.length,D=new Uint8Array(X),W=0;W<X;W++)D[W]=K.charCodeAt(W);t.responseType==="arraybuffer"?G=D.buffer:G=new Blob([D],{type:N})}var q={},ae={body:G,meta:{origin:s,source:u,requestTime:o,responseTime:O,costs:k,headers:q}};e(ae),l(ae),(L=t.networkSubscribe)===null||L===void 0||L.emit("network",u,"Script","ok",JSON.stringify(ae.meta)),g=!0}};y[p]=T,b.src=u,document.body.appendChild(b),typeof t.timeout=="number"&&(h=window.setTimeout(E,t.timeout))}else{var _=!1,x=new XMLHttpRequest,w=function(){x&&(x.removeEventListener("timeout",S,!1),x.removeEventListener("progress",C,!1),x.removeEventListener("load",R,!1),x.removeEventListener("error",I,!1)),x=null,w=noop$1},S=function(){var B;if(_!==!0){_=!0,w();var F=new NetworkTimeoutError(u,"XMLHttpRequest",t.timeout||NaN);r(F),c(F),(B=t.networkSubscribe)===null||B===void 0||B.emit("network",u,"XMLHttpRequest","timeout",F.message)}},C=function(B){_!==!0&&B.lengthComputable&&(B.total<=0||i(B.loaded/B.total))},R=function(B){var F;if(_!==!0){var L=this.status;if(L===0||L>=200&&L<400){_=!0,w();var O=now(),k=O-o,Q=parseHeaders(this.getAllResponseHeaders()),U=B.total,N={body:this.response,meta:{origin:s,source:u,requestTime:o,responseTime:O,costs:k,headers:Q,size:U}};e(N),l(N),(F=t.networkSubscribe)===null||F===void 0||F.emit("network",u,"XMLHttpRequest","ok",JSON.stringify(N.meta))}else I.call(this)}},I=function(){var B;if(_!==!0){_=!0,w();var F=new NetworkResponseError(u,"XMLHttpRequest",this.status);r(F),c(F),(B=t.networkSubscribe)===null||B===void 0||B.emit("network",u,"XMLHttpRequest","error",F.message)}};x.addEventListener("timeout",S,!1),x.addEventListener("progress",C,!1),x.addEventListener("load",R,!1),x.addEventListener("error",I,!1),t.responseType&&(x.responseType=t.responseType),typeof t.timeout=="number"&&(x.timeout=t.timeout),x.open("GET",u,!0),x.send(null)}})})}var preloadCache={};function preload(n,t){t===void 0&&(t={});var e=now(),r=n;return Promise.resolve().then(function(){return t.requestProxy?t.requestProxy(n):n}).then(function(i){return/^https\:/.test(location.href)&&/^http\:/.test(i)?(console.warn("The page at '".concat(location.href,"' was loaded over HTTPS, but requested an insecure element '").concat(i,"'. This request was automatically upgraded to HTTPS")),i.replace(/^http\:/,"https:")):i}).catch(function(i){var o,s=new NetworkProxyError(r,"Link",i&&i.message?String(i.message):String(i));return(o=t.networkSubscribe)===null||o===void 0||o.emit("network",n,"Link","proxy-error",s.message),Promise.reject(s)}).then(function(i){return i in preloadCache?preloadCache[i]:preloadCache[i]=new Promise(function(o,s){var u,l=t.allowHosts?BUILDIN_ALLOW_HOST.concat(t.allowHosts):BUILDIN_ALLOW_HOST.slice(),c=hostnameFromURL(i);if(location.hostname.length!==0&&!isIPDomain(location.hostname)&&BUILDIN_ALLOW_HOST.filter(function(A){return matchDomain(A,location.hostname)}).length===0&&!isIPDomain(c)&&l.filter(function(A){return matchDomain(A,c)}).length===0){var d=new NetworkFirbiddenError(i,"Link","request host(".concat(c,") is not allowed"));s(d),(u=t.networkSubscribe)===null||u===void 0||u.emit("network",i,"Link","forbidden",d.message);return}var f=document.createElement("link");f.href=i,f.rel=f.relList&&f.relList.supports("prefetch")?"prefetch":"preload",f.as="fetch",f.crossOrigin="";var v=document.head||document.getElementsByTagName("head")[0];v&&v.appendChild(f);var p=!1;f.onload=function(){var A;if(p!==!0){p=!0,o();var m=now(),y=m-e,h={},g={origin:r,source:i,requestTime:e,responseTime:m,costs:y,headers:h};(A=t.networkSubscribe)===null||A===void 0||A.emit("network",i,"Link","preload",JSON.stringify(g))}},f.onerror=function(A){var m;if(p!==!0){p=!0;var y=new NetworkResponseError(i,"Link",0);s(y),(m=t.networkSubscribe)===null||m===void 0||m.emit("network",i,"Link","error",y.message)}}})})}function loadImage(n,t,e,r,i,o){t===void 0&&(t={}),e===void 0&&(e=noop$1),r===void 0&&(r=noop$1),i===void 0&&(i=noop$1);var s=now(),u=n;return Promise.resolve().then(function(){return t.requestProxy?t.requestProxy(n):n}).then(function(l){return/^https\:/.test(location.href)&&/^http\:/.test(l)?(console.warn("The page at '".concat(location.href,"' was loaded over HTTPS, but requested an insecure element '").concat(l,"'. This request was automatically upgraded to HTTPS")),l.replace(/^http\:/,"https:")):l}).catch(function(l){var c,d=new NetworkProxyError(u,"Image",l&&l.message?String(l.message):String(l));return(c=t.networkSubscribe)===null||c===void 0||c.emit("network",n,"Image","proxy-error",d.message),Promise.reject(d)}).then(function(l){return new Promise(function(c,d){var f,v=t.allowHosts?BUILDIN_ALLOW_HOST.concat(t.allowHosts):BUILDIN_ALLOW_HOST.slice(),p=hostnameFromURL(l);if(location.hostname.length!==0&&!isIPDomain(location.hostname)&&BUILDIN_ALLOW_HOST.filter(function(E){return matchDomain(E,location.hostname)}).length===0&&!isIPDomain(p)&&v.filter(function(E){return matchDomain(E,p)}).length===0){var A=new NetworkFirbiddenError(l,"Image","request host(".concat(p,") is not allowed"));r(A),d(A),(f=t.networkSubscribe)===null||f===void 0||f.emit("network",l,"Image","forbidden",A.message);return}var m=o!=null?o:new Image,y=!1,h=null,g=function(){var E;if(m.onload=noop$1,m.onerror=noop$1,h!==null&&(clearTimeout(h),h=null),y!==!0){var T=now(),_={headers:{},origin:u,source:l,requestTime:s,responseTime:T,costs:T-s};y=!0;var x={body:m,meta:_};i(1),e(x),c(x),(E=t.networkSubscribe)===null||E===void 0||E.emit("network",l,"Image","ok",JSON.stringify(x.meta))}},b=function(){var E;if(m.onload=noop$1,m.onerror=noop$1,h!==null&&(clearTimeout(h),h=null),y!==!0){y=!0;var T=new NetworkResponseError(l,"Image",0);r(T),d(T),(E=t.networkSubscribe)===null||E===void 0||E.emit("network",l,"Image","ok",T.message)}};typeof t.timeout=="number"&&(h=window.setTimeout(function(){var E;if(m.onload=noop$1,m.onerror=noop$1,h=null,y!==!0){y=!0;var T=new NetworkTimeoutError(l,"Image",t.timeout);r(T),d(T),(E=t.networkSubscribe)===null||E===void 0||E.emit("network",l,"Image","timeout",T.message)}},t.timeout)),m.onload=g,m.onerror=b,i(0),m.src=l})})}var Fetcher=function(){function n(t){t===void 0&&(t={}),this.options=Object.freeze(t),this.options.allowHosts&&Object.freeze(this.options.allowHosts)}return n.prototype.ajax=function(t,e,r,i,o){var s;e===void 0&&(e={}),r===void 0&&(r=noop$1),i===void 0&&(i=noop$1),o===void 0&&(o=noop$1);var u=this.options,l={responseType:e.responseType,timeout:(s=e.timeout)!==null&&s!==void 0?s:u.timeout,get allowHosts(){var c;return(c=e.allowHosts)!==null&&c!==void 0?c:u.allowHosts},get requestProxy(){var c;return(c=e.requestProxy)!==null&&c!==void 0?c:u.requestProxy},get networkSubscribe(){var c;return(c=e.networkSubscribe)!==null&&c!==void 0?c:u.networkSubscribe}};return ajax(t,l,r,i,o)},n.prototype.loadImage=function(t,e,r,i,o,s){var u;e===void 0&&(e={}),r===void 0&&(r=noop$1),i===void 0&&(i=noop$1),o===void 0&&(o=noop$1);var l=this.options,c={timeout:(u=e.timeout)!==null&&u!==void 0?u:l.timeout,get allowHosts(){var d;return(d=e.allowHosts)!==null&&d!==void 0?d:l.allowHosts},get requestProxy(){var d;return(d=e.requestProxy)!==null&&d!==void 0?d:l.requestProxy},get networkSubscribe(){var d;return(d=e.networkSubscribe)!==null&&d!==void 0?d:l.networkSubscribe}};return loadImage(t,c,r,i,o,s)},n.prototype.preload=function(t,e){var r;e===void 0&&(e={});var i=this.options,o={timeout:(r=e.timeout)!==null&&r!==void 0?r:i.timeout,get allowHosts(){var s;return(s=e.allowHosts)!==null&&s!==void 0?s:i.allowHosts},get requestProxy(){var s;return(s=e.requestProxy)!==null&&s!==void 0?s:i.requestProxy},get networkSubscribe(){var s;return(s=e.networkSubscribe)!==null&&s!==void 0?s:i.networkSubscribe}};return preload(t,o)},n}(),internalFetcher=new Fetcher,_requestAnimationFrame=function(){if(typeof window!="undefined"){var n=window;return n.requestAnimationFrame||n.mozRequestAnimationFrame||n.webkitRequestAnimationFrame||n.msRequestAnimationFrame||function(t){return setTimeout(t,16)}}else return function(t){return setTimeout(t,16)}}(),_cancelAnimationFrame=function(n){var t;if(typeof window!="undefined"){var e=window;t=e.cancelAnimationFrame||e.mozCancelAnimationFrame||e.webkitCancelAnimationFrame||e.msCancelAnimationFrame||function(r){return window.clearTimeout(r)}}else t=function(r){return window.clearTimeout(r)};t(n)},DEFAULT_ORDER=5,deviceFrameTime=16,AnimationFrameLoop=function(){function n(){this.frames=[],this.stoped=!1,this.time=now(),this.context=null,this.loop=this.loop.bind(this),this.loop()}return Object.defineProperty(n,"shared",{get:function(){return this.sharedInstance||(this.sharedInstance=new n),this.sharedInstance},enumerable:!1,configurable:!0}),n.getFrameTime=function(){return deviceFrameTime},n.prototype.loop=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];if(!this.stoped){var r=now(),i=r-this.time;this.time=r;var o=[];deviceFrameTime=i;for(var s=0,u=this.frames;s<u.length;s++){var l=u[s];if(l.delay>0){l.delay=l.delay-1;continue}try{l.callback.apply(l,__spreadArray([r,i],t,!1))}catch(c){console.error(c)}l.once&&o.push(l)}o.length>0&&(this.frames=this.frames.filter(function(c){return o.indexOf(c)===-1})),this.requestAnimationFrame(this.loop)}},n.prototype.setContext=function(t){this.cancelAnimationFrame(this.requestId),this.context=t,this.requestId=this.requestAnimationFrame(this.loop)},n.prototype.getContext=function(){return this.context},n.prototype.requestAnimationFrame=function(t){return this.context?this.context.requestAnimationFrame(t):_requestAnimationFrame(t)},n.prototype.cancelAnimationFrame=function(t){this.context?this.context.cancelAnimationFrame(t):_cancelAnimationFrame(this.loop),this.requestId=null},n.prototype.remove=function(t){var e=this.frames.indexOf(t);e>=0&&this.frames.splice(e,1)},n.prototype.add=function(t,e,r,i){var o=this;e===void 0&&(e=!1),r===void 0&&(r=0),i===void 0&&(i=DEFAULT_ORDER);var s={callback:t,once:e,delay:r,order:i};return this.frames.push(s),this.frames.sort(function(u,l){return u.order-l.order}),function(){return o.remove(s)}},n.prototype.disponse=function(){this.stoped=!0,this.frames.length=0},n}(),DEFAULT_IMAGE_URL_MAPPINGS={"vrlab-public.ljcdn.com":{type:"tencentCloud",pano:["vrlab-image1.ljcdn.com","vrlab-image2.ljcdn.com"],texture:["vrlab-image3.ljcdn.com"],tile:["vr-tile-1.realsee-cdn.cn","vr-tile-2.realsee-cdn.cn"],model:["vr-model-1.realsee-cdn.cn","vr-model-2.realsee-cdn.cn"],default:["vrlab-image4.ljcdn.com"]},"vr-public.realsee-cdn.cn":{type:"tencentCloud",pano:["vr-image-1.realsee-cdn.cn","vr-image-2.realsee-cdn.cn"],texture:["vr-image-3.realsee-cdn.cn"],tile:["vr-tile-1.realsee-cdn.cn","vr-tile-2.realsee-cdn.cn"],model:["vr-model-1.realsee-cdn.cn","vr-model-2.realsee-cdn.cn"],default:["vr-image-4.realsee-cdn.cn"]},"vr-public.rscdn.cn":{type:"tencentCloud",pano:["vr-image-1.rscdn.cn","vr-image-2.rscdn.cn"],texture:["vr-image-3.rscdn.cn"],tile:["vr-tile-1.rscdn.cn","vr-tile-2.rscdn.cn"],model:["vr-model-1.rscdn.cn","vr-model-2.rscdn.cn"],default:["vr-image-4.rscdn.cn"]},"mars-public.realsee-cdn.cn":{type:"aliyun",pano:["mars-image-1.realsee-cdn.cn","mars-image-2.realsee-cdn.cn"],texture:["mars-image-3.realsee-cdn.cn"],tile:["mars-tile-1.realsee-cdn.cn","mars-tile-2.realsee-cdn.cn"],model:["mars-model-1.realsee-cdn.cn","mars-model-2.realsee-cdn.cn"],default:["mars-image-4.realsee-cdn.cn"]},"global-public.realsee-cdn.com":{type:"tencentCloud",pano:["global-image-1.realsee-cdn.com","global-image-2.realsee-cdn.com"],texture:["global-image-3.realsee-cdn.com"],tile:["global-tile-1.realsee-cdn.com","global-tile-2.realsee-cdn.com"],model:["global-model-1.realsee-cdn.com","global-model-2.realsee-cdn.com"],default:["global-image-4.realsee-cdn.com"]},"earth-ga-public.realsee-cdn.cn":{type:"tencentCloud",pano:["earth-ga-image-1.realsee-cdn.cn","earth-ga-image-2.realsee-cdn.cn"],texture:["earth-ga-image-3.realsee-cdn.cn"],tile:["earth-ga-tile-1.realsee-cdn.cn","earth-ga-tile-2.realsee-cdn.cn"],model:["earth-ga-model-1.realsee-cdn.cn","earth-ga-model-2.realsee-cdn.cn"],default:["earth-ga-image-4.realsee-cdn.cn"]},"test-vr-public.realsee-cdn.com":{type:"tencentCloud",pano:["test-vr-image.realsee-cdn.com","test-vr-image.realsee-cdn.com"],texture:["test-vr-image.realsee-cdn.com"],tile:["test-vr-image.realsee-cdn.com","test-vr-image.realsee-cdn.com"],model:["test-vr-image.realsee-cdn.com","test-vr-image.realsee-cdn.com"],default:["test-vr-image.realsee-cdn.com"]},"test-vr-public.realsee-cdn.cn":{type:"tencentCloud",pano:["test-vr-image.realsee-cdn.cn","test-vr-image.realsee-cdn.cn"],texture:["test-vr-image.realsee-cdn.cn"],tile:["test-vr-image.realsee-cdn.cn","test-vr-image.realsee-cdn.cn"],model:["test-vr-image.realsee-cdn.cn","test-vr-image.realsee-cdn.cn"],default:["test-vr-image.realsee-cdn.cn"]}},URL_DOMAIN_REGEX=/^https?\:\/\/?([^\/]+)/;function getDomain(n){var t=n.match(URL_DOMAIN_REGEX);return t===null?null:t[1]}function replaceDomain(n,t){return n.replace(URL_DOMAIN_REGEX,function(e,r){return e.slice(0,e.length-r.length)+t})}function route(n,t,e){var r=t.split("."),i=r[0],o=r.slice(1);if(i==="texture")return replaceDomain(n,e.texture[0]);if(i==="pano"||i==="pano_luminance"){o[0];var s=o[1];switch(s){case"front":case"left":case"up":return replaceDomain(n,e.pano[0]);case"down":case"right":case"back":return replaceDomain(n,e.pano[1])}}else if(i==="pano_tile"||i==="pano_tile_luminance"){o[0],o[1];var u=o[2],l=o[3],c=o[4],d=Math.pow(2,Number(u))*Number(l)+Number(c);if(!isNaN(d))return replaceDomain(n,e.tile[d%2])}else if(i==="model"){var f=o[0],d=Number(f);if(!isNaN(d))return replaceDomain(n,e.model[d%2])}return replaceDomain(n,e.default[0])}var tencentCloudImageProcesser=function(n,t){var e,r=n.split("?")[0],i=r.split(".").pop();if(i==="jpeg"&&(i="jpg"),i!=="png"&&i!=="jpg")return n;var o="";if(t.format!==void 0&&t.format!==i&&(o+="/format/".concat(t.format)),t.cut!==void 0&&(o+="/cut/".concat(t.cut[2],"x").concat(t.cut[3],"x").concat(t.cut[0],"x").concat(t.cut[1])),t.quality!==void 0){var s=(e=t.format)!==null&&e!==void 0?e:i;s&&["jpg","webp","tpg","heif","avif"].indexOf(s)>=0&&(o+="/quality/".concat(t.quality))}if(t.size!==void 0){var u=n.match(/\/cube_(\d+)\//),l=u?Number(u[1]):NaN;l!==Number(t.size)&&(o+="/thumbnail/".concat(t.size,"x"))}return t.sharpen!==void 0&&(o+="/sharpen/".concat(t.sharpen)),o.length&&(o="?imageMogr2"+o),r+o},aliyunOOSImageProcesser=function(n,t){var e,r=n.split("?")[0],i=r.split(".").pop();if(i==="jpeg"&&(i="jpg"),i!=="png"&&i!=="jpg")return n;var o="",s=[],u=t.format,l=t.quality,c=t.size;if(u!==void 0&&u!==i&&s.push("format,".concat(u==="heif"?"heic":u)),t.cut!==void 0){var d=t.cut,f=d[0],v=d[1],p=d[2],A=d[3];s.push("crop,x_".concat(f,",y_").concat(v,",w_").concat(p,",h_").concat(A,",g_nw"))}if(l!==void 0&&l!==100){var m=(e=t.format)!==null&&e!==void 0?e:i;m&&["jpg","webp"].indexOf(m)>=0&&s.push("quality,Q_".concat(l))}return c&&c!==2048&&s.push("resize,w_".concat(c)),t.sharpen!==void 0&&s.push("sharpen,".concat(t.sharpen)),s.length&&(o="?x-oss-process=image/"+s.join("/")),r+o};function imageURL(n,t){var e=__assign(__assign({},DEFAULT_IMAGE_URL_MAPPINGS),t.mappings),r=getDomain(n);if(r===null)return n;var i=e[r];return i?(n=route(n,t.key,i),/\.basis(\?|$)/.test(n)&&(n=n.replace(/\.basis(\?|$)/,".jpg$1")),i.type==="tencentCloud"?tencentCloudImageProcesser(n,t):i.type==="aliyun"?aliyunOOSImageProcesser(n,t):n):n}function applyImageURLOptions(n,t,e){t===void 0&&(t=imageURL);var r=t(n,e);if(r===n&&e.cut)throw new Error("ImageURL: cut option not applied.");return r}var webp="data:image/webp;base64,UklGRiQAAABXRUJQVlA4IBgAAAAwAQCdASoCAAIAAUAmJaQAA3AA/vz0AAA=",avif="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAAGhbWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAsaWxvYwAAAABEAAACAAEAAAABAAAB3gAAABkAAgAAAAEAAAHJAAAAFQAAAEJpaW5mAAAAAAACAAAAGmluZmUCAAAAAAEAAGF2MDFDb2xvcgAAAAAaaW5mZQIAAAAAAgAAYXYwMUFscGhhAAAAABppcmVmAAAAAAAAAA5hdXhsAAIAAQABAAAA12lwcnAAAACxaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIAAoAAAAAUaXNwZQAAAAAAAAACAAAAAgAAAA5waXhpAAAAAAEIAAAADGF2MUOBABwAAAAAOGF1eEMAAAAAdXJuOm1wZWc6bXBlZ0I6Y2ljcDpzeXN0ZW1zOmF1eGlsaWFyeTphbHBoYQAAAAAeaXBtYQAAAAAAAAACAAEEAQKDBAACBAUGhwgAAAA2bWRhdBIACgQYADLVMgsWQBhhIAQqrNj/+BIACgUYADLEoDIOFkADDDDCQAACDaqCCb4=",heif="data:image/heif;base64,AAAAGGZ0eXBoZWljAAAAAG1pZjFoZWljAAABL21ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAHBpY3QAAAAAAAAAAAAAAAAAAAAADnBpdG0AAAAAAAEAAAAjaWluZgAAAAAAAQAAABVpbmZlAgAAAAABAABodmMxAAAAAK9pcHJwAAAAkmlwY28AAAB2aHZjQwEBYAAAAAAAAAAAAADwAPz9+PgAACcDoAABAB5AAQwG//8BYAAAAwAAAwAAAwAAAwAAAwAAreTLgSChAAEAI0IBBwFgAAADAAADAAADAAADAAADAAChInJJlreTLySZNdggogABAAdEAcA98DMkAAAAFGlzcGUAAAAAAAAAAgAAAAIAAAAVaXBtYQAAAAAAAAABAAECgQIAAAAiaWxvYwAAAABEQAABAAEAAAAAAU8AAQAAAAAAAAAOAAAAFm1kYXQAAAAKJgGvLvkQwuWM4A==";function checkImage(n){return new Promise(function(t){var e=new Image,r=setTimeout(function(){e.onload=e.onerror=function(){},clearTimeout(r),t(!1)},100);e.onload=e.onerror=function(){e.onload=e.onerror=function(){},clearTimeout(r),t(e.height===2)},e.src=n})}var imageSupportCache=null;function imageSupport(){return imageSupportCache||(imageSupportCache=Promise.all([checkImage(webp),checkImage(avif),checkImage(heif)]).then(function(n){return{webp:n[0],avif:n[1],heif:n[2]}}))}var PANO_ID_REG=/^(.*)\[(\d+)\]$/;function panoStringify(n){if(!isNaN(n.panoIndex)&&isFinite(n.panoIndex))return"".concat(n.workCode,"[").concat(n.panoIndex,"]");throw new Error("Invalid Pano")}function panoParse(n){var t=n.match(PANO_ID_REG);if(t){t[0];var e=t[1],r=t[2],i=Math.floor(Number(r));if(!isNaN(i)&&isFinite(i))return{workCode:e,panoIndex:i}}throw new Error("Invalid PanoId")}function panoEqual(n,t){return panoStringify(n)===panoStringify(t)}function isPanoId(n){return typeof n=="string"&&PANO_ID_REG.test(n)}var PBMGroup=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t}(THREE__namespace.Group),PBMMesh=function(n){__extends(t,n);function t(e,r){var i=n.call(this,e,r)||this;return i.onBeforeRender=onBeforeRender$1,i}return t}(THREE__namespace.Mesh);function onBeforeRender$1(n,t,e){for(var r=0,i=this.material;r<i.length;r++){var o=i[r];this.model&&o.syncModel(this.model),o.update(n,e)}}var gradientTexture=function(){return typeof document!="undefined"?new THREE__namespace.TextureLoader().load("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAABCAYAAACouxZ2AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAACAKADAAQAAAABAAAAAQAAAAB7UD0+AAACA0lEQVRIDXWUW3YjIQxEwdnV/GT/q8kO3FO3pAJst3PSAaR6Cbszf//9XeMxxpjXmI+pVXudp2s6PC4dqHff9e6D7/PZLy46xQvG+sZvrfK8xgXUeq85yINe9bdmtOK1+kun5vjgq58a+eZPna9jvmjiserqG/+Whathvo3L3WhV89L9sXI/m18z2uene9ap/ftsuT9WZxoHXzW56/fpj8l7+tTw7P011NdpqnY19sRsfuHMA9u8oZWfDz4+fra/dfG1V60ydZ7qba1g7UNAeK0JP7ydD7/OqH6wO2f7HTq+B/lbL9qsB3/N1/UzR81XfPzw4tp5OPvRneacteq8Xo0xR3vuv/kPz0KtX0Nhg0eHuaNXdWI3X/ld427h++vzyp99V6VPrzWFhbv4ayay4oFecm198MmUXN/mL+x7npq/uJXBGb/MTw4+t+SvbLoTZnUW5uHhz7nWcTxT73OwXV7cxT9wbBf/0LnDBgcnHmtPLYba32Hp808sMy1u88yhr58n70/v4xX92GSN19l/2UsqGmiH94Hpxjcs+DO/ccpIVNVp62PUWXu//ur1GQy1Cf+GZ13rtNYN1po3/NI79fGXibHkq4z25xvV2pW3szpneXsW8SsreTe/NIPrtXMnH7wPf+LEN6tqhUVHj3XKD/72p9eafCeYB3zuonnbv7yqP8d/o4K6gRb1wbYAAAAASUVORK5CYII="):new THREE__namespace.Texture}();gradientTexture.minFilter=THREE__namespace.NearestFilter,gradientTexture.magFilter=THREE__namespace.NearestFilter,gradientTexture.wrapS=THREE__namespace.RepeatWrapping,gradientTexture.wrapT=THREE__namespace.RepeatWrapping;var defaultPbmParameters={pano0:null,pano1:null,shownFloorIndex:-1,modelAlpha:1,opacity:1,progress:0,transition:"FADE",clippers:null,constantColor:null,useEDL:!1,useHQWeight:!1,useHQDepth:!1,pointColor:"RGB",pointSize:"ATTENUATION",pointBack:"DARK",pointShape:"SQUARE",pointScale:.03,pointMaxPixel:40,pointMinPixel:.5,gradientTexture};function isEqualClipperParameters(n,t){var e=n!=null?n:[],r=t!=null?t:[];if(r.length!==e.length)return!1;for(var i=0;i<r.length;i++)if(!e[i].clippingBoxMatrix.equals(r[i].clippingBoxMatrix)||e[i].floorIndex!==r[i].floorIndex)return!1;return!0}function isEqualPBMPanoPicture(n,t){return n&&t?n.luminanceMap===t.luminanceMap&&n.map===t.map&&n.matrix.equals(t.matrix):!n&&!t}function updatePBMParameters(n,t){var e=!1;for(var r in t)switch(r){case"clippers":isEqualClipperParameters(n[r],t[r])||(n[r]=t[r],e=!0);break;case"pano0":case"pano1":isEqualPBMPanoPicture(n[r],t[r])||(n[r]=t[r],e=!0);break;default:n[r]!==t[r]&&(n[r]=t[r],e=!0);break}return e}var PBMPointCloud=function(n){__extends(t,n);function t(e,r){var i=n.call(this,e,r)||this;return i.onBeforeRender=onBeforeRender,i}return t}(THREE__namespace.Points);function onBeforeRender(n,t,e){this.model&&this.material.syncModel(this.model),this.material.update(n,e)}var scratchMaterialSet=new Set,PBMContainer=function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.needsRender=!0,e.pbmMaterialParametersVersion=0,e.materialParameters=__assign({},defaultPbmParameters),e}return t.prototype.getMaterial=function(){return __assign({},this.materialParameters)},t.prototype.setMaterial=function(e){var r=this;Object.assign(this.materialParameters,e),scratchMaterialSet.clear(),this.traverse(function(i){if(i instanceof PBMMesh)for(var o=0,s=i.material;o<s.length;o++){var u=s[o];scratchMaterialSet.has(u)||(Object.assign(u,r.materialParameters),scratchMaterialSet.add(u))}i instanceof PBMPointCloud&&(scratchMaterialSet.has(i.material)||(Object.assign(i.material,r.materialParameters),scratchMaterialSet.add(i.material)))}),scratchMaterialSet.clear(),this.needsRender=!0},t}(THREE__namespace.Group),FACE_ORDER$1=["right","left","up","down","front","back"];function getBox(n,t,e,r){var i=new THREE__namespace.Box3;switch(n){case"up":i.min.y=.5,i.max.y=.5,i.min.x=+t-.5,i.max.x=+t-.5+r,i.min.z=-e+.5-r,i.max.z=-e+.5;break;case"down":i.min.y=-.5,i.max.y=-.5,i.min.x=+t-.5,i.max.x=+t-.5+r,i.min.z=+e-.5,i.max.z=+e-.5+r;break;case"left":i.min.x=-.5,i.max.x=-.5,i.min.z=-t+.5-r,i.max.z=-t+.5,i.min.y=-e+.5-r,i.max.y=-e+.5;break;case"right":i.min.x=.5,i.max.x=.5,i.min.z=+t-.5,i.max.z=+t-.5+r,i.min.y=-e+.5-r,i.max.y=-e+.5;break;case"front":i.min.z=-.5,i.max.z=-.5,i.min.x=+t-.5,i.max.x=+t-.5+r,i.min.y=-e+.5-r,i.max.y=-e+.5;break;case"back":i.min.z=.5,i.max.z=.5,i.min.x=-t+.5-r,i.max.x=-t+.5,i.min.y=-e+.5-r,i.max.y=-e+.5;break}return i.applyMatrix4(new THREE__namespace.Matrix4().makeRotationY(Math.PI))}var createChildren=function(n,t){if(!(n.level>=t))for(var e=n.level+1,r=n.size/2,i=[new THREE__namespace.Vector2(n.position.x,n.position.y),new THREE__namespace.Vector2(n.position.x+r,n.position.y),new THREE__namespace.Vector2(n.position.x,n.position.y+r),new THREE__namespace.Vector2(n.position.x+r,n.position.y+r)],o=0,s=i;o<s.length;o++){var u=s[o],l={face:n.face,level:e,size:r,position:u,box:getBox(n.face,u.x,u.y,r),children:[]};n.children.push(l),createChildren(l,t)}};function createTileCubeNode(n,t){var e={level:0,face:n,position:new THREE__namespace.Vector2(0,0),size:1,box:getBox(n,0,0,1),children:[]};return createChildren(e,t),e}function createTileCubeTree(n){var t=FACE_ORDER$1.map(function(e){return createTileCubeNode(e,n)});return{children:t}}function traverseTileCubeNode(n,t){for(var e=0,r=n.children;e<r.length;e++){var i=r[e],o=t(i);o!==!1&&traverseTileCubeNode(i,t)}}var CUBE_GEOMETRY=new THREE__namespace.BoxBufferGeometry(1,1,1,1,1);CUBE_GEOMETRY.deleteAttribute("uv"),CUBE_GEOMETRY.deleteAttribute("normal"),CUBE_GEOMETRY.groups=[],CUBE_GEOMETRY.scale(-1,1,1);var CUBE_VERTEX_SHADER=`
|
|
390
|
+
`,T},typeof n=="string"&&(n.indexOf("-----BEGIN")!=-1?this.readCertPEM(n):KJUR.lang.String.isHex(n)&&this.readCertHex(n))}X509.hex2dn=function(n,t){t===void 0&&(t=0);var e=new X509;ASN1HEX.getTLV(n,t);var r=e.getX500Name(n);return r.str},X509.hex2rdn=function(n,t){if(t===void 0&&(t=0),n.substr(t,2)!=="31")throw new Error("malformed RDN");for(var e=new Array,r=ASN1HEX.getChildIdx(n,t),i=0;i<r.length;i++)e.push(X509.hex2attrTypeValue(n,r[i]));return e=e.map(function(o){return o.replace("+","\\+")}),e.join("+")},X509.hex2attrTypeValue=function(n,t){var e=ASN1HEX,r=e.getV;if(t===void 0&&(t=0),n.substr(t,2)!=="30")throw new Error("malformed attribute type and value");var i=e.getChildIdx(n,t);i.length!==2||n.substr(i[0],2);var o=r(n,i[0]),s=KJUR.asn1.ASN1Util.oidHexToInt(o),u=KJUR.asn1.x509.OID.oid2atype(s),c=r(n,i[1]),l=hextorstr(c);return u+"="+l},X509.getPublicKeyFromCertHex=function(n){var t=new X509;return t.readCertHex(n),t.getPublicKey()},X509.getPublicKeyFromCertPEM=function(n){var t=new X509;return t.readCertPEM(n),t.getPublicKey()},X509.getPublicKeyInfoPropOfCertPEM=function(n){var t=ASN1HEX,e=t.getVbyList,r={},i,o;return r.algparam=null,i=new X509,i.readCertPEM(n),o=i.getPublicKeyHex(),r.keyhex=e(o,0,[1],"03").substr(2),r.algoid=e(o,0,[0,0],"06"),r.algoid==="2a8648ce3d0201"&&(r.algparam=e(o,0,[0,1],"06")),r},X509.KEYUSAGE_NAME=["digitalSignature","nonRepudiation","keyEncipherment","dataEncipherment","keyAgreement","keyCertSign","cRLSign","encipherOnly","decipherOnly"];function sha256(n){return CryptoJS.SHA256(n).toString()}var certificates=[function(){var n=new X509;return n.readCertPEM(function(){var t=113,e=126,r=0,i="";return arguments[r].split(i).map(function(o){return o.charCodeAt(r)>e?o:String.fromCharCode((o.charCodeAt(r)+t)%e)}).join(i)}(":::::ORTV[-PR_aVSVPNaR:::::ZVVS@ PPNErtNVONtVWNZR}@]nU\0ZaZN=TP`\0T`Vo@Q^ROPbNZVTSZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg R^ZNATN>bROU^zc}nzyg R]ZN=TN>bRPtTn?bf?FZ_NQtfQc^^YQNq`gdSp?cyZ^P^fQc^^QQNWQ^aRvZPNTP`\0T`Vo@Q^RWN_fapzFqSFwfbOndSnzyuYz[oaNrS=\x07\\QN>Z N\\Q^B[QqnS=\b\\QN>Zwp\\Q^B[QqnZVTSZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg R^ZNATN>bROU^zc}nzyg R]ZN=TN>bRPtTn?bf?FZ_NQtfQc^^YQNq`gdSp?cyZ^P^fQc^^QQNWQ^aRvZPNTP`\0T`Vo@Q^RWN_fapzFqSFwfbOndSnzyuYz[oaPPNvVQ^fWX|gVup[N^ROO^NQttV]NQPPNt|PttVONZU|C\b\\@@e^Xv{[vTtd8`nyO@\x07ebN[bqx=ng? S^w@|XAz|qUTwfzn]Bu<qs_ae\\y<}u`eRAoE`_\\s\0r|b{rp_o<oC@o=x\bw_cUUZPApQevD\\FxFo\x07FgE=<sq[p<coqyn>TEpP@aSC_YDU8\0|8TB?c>r\\=rp`pcwP}c\0PP_\\RS\\EPVSy8x`\0?R|NP P>}A^VP}Ex\bU\x07Za=syDw}>Ya\x078wPp[pRnn\brU^dE8U?a\bcW|<FEbbupn^`ZNr sof[wA}e{\\z}w[YDQ|dt=wC Nv\x07bR\x07Z@@U|ZAYpFsabCBB\\`wrqxsYW8uFyWdaWezeUeA_8VoVupvY[TD[OYdpO\bC[wX\\O]=[QRpV\0d`\x07N\0RXt^Z}vEpdC=\bY?\x07=V}?^W\bad|qN@Ww>@PycaqANE]asPcE^OB_VA?>wzeftac Z guf\bF]\x07DCP?znNYf uaYu[`\x07=b|v]Bp=RAS``\\PRDW]_`UXdUg=SuqwVFDeB D8{B>\\sPY\x07bEU FQXz\0@\x07`zsqgfD\0[WY\bPeZc} \0bx?Rfed\x07}BUe\x07|Uo\0y?\bsSXZOSBCgbFqf\0Bs?b?d<VE\\Zzns\\d@?dPvf\\{}_\0Sd[<q_YB\x07Y`Ffg=sY>{t<fu]x\x07rFNtZONNTwbQO\\ZO=TN>bqQt^dOOaAFXw= PCVxsv?{`a\bvS8YQ[aNsOt[cU`ZRTQNdtOaAFXw= PCVxsv?{`a\bvS8YQ[aNZOt[cU_ZROaNQN^U<ZN=TP`\0T`Vo@Q^ROPbNNAVPN^P\0{y\0Bs\\8\0R[z]w??qZP?NpgdenSuvv?>|f_?UpYPcQ\\gCb8zxtSvsOQNg>[\\\0\bx\b_o@8\0g`Z<PyUE`8yu}\\g{@`s`zUgErRtve{YdCvoO@>WFDtABNp\0feUWszpQaEYNAc]^xB[@]BDAN8\b}XA=E\x07nO}Pud8TA ?yPrVv{\\>E]o`BO^RE^X[W[rEU?x\bf>V OUwY=>X[\\E`tW[8}VwpF\x07BQcnrPF}yUtd8<Doe_\b[oOVU\x07ep@pYY\0cegY{r ?\bAbq?ff8}UaXoN_D]_X_8yozYFT`N{`\\{zvu?\bDWT}=_<\x07StX Nx\x07\0\b \0aT=c@ucnWfR[vf>RFxAFV}{N`dN^\\<eawBPxx}quT=|{T_R@Fp^Y<ZevRsWaZ]V CVrRVtAAc[ Qp|d|tqoQ=T|XX =u\\N8XNCx\\aU>wz X<e@Vc?dy\\|^FEq|=p`pBdF@bs^d<]vp\\^TZ P\bZ\b\\YNNSZ_\\w^|TsD8db _ Y\\o^Cw>Z\0x\\^aN]wWf\bA} C^d_{\x07ZC@\by]gY@E BFY?OsaqbDcVgQbZeFc ovtucxnq|<TnuyXRveYFOegCpAs{YTe|>bE<OXsSqCBWD_SVepfvCCUg]z ZvQ[\0s|U>pFz\b=OwT``fNJJ:::::R[Q-PR_aVSVPNaR:::::")),n}()];function getCertificateBySubjectHex(n,t){for(var e=0,r=t;e<r.length;e++){var i=r[e];if(i.getSubjectHex()===n)return i}}function verifyCertificate_(n,t){var e=n.getIssuerHex();if(e===n.getSubjectHex())return n.verifySignature(n.getPublicKey());var r=getCertificateBySubjectHex(e,t);return!r||n.verifySignature(r.getPublicKey())===!1?!1:verifyCertificate_(r,t)}function verifyCertificate(n){var t=n.getIssuerHex();return t===n.getSubjectHex()?!1:verifyCertificate_(n,certificates)}function addCertificate(n){var t=new X509;typeof n=="string"?t.readCertPEM(n):t.readCertHex(n.hex);var e=verifyCertificate(t);return certificates.push(t),e}function verifyMessage(n,t,e){var r=new X509;if(typeof e=="string"?r.readCertPEM(e):r.readCertHex(e.hex),verifyCertificate(r)===!1)return!1;var i=new RSAKey;return i.readCertPubKeyHex(r.hex,6),!!i.verify(n,b64tohex(t))}addCertificate(function(){var t=113,e=126,r=0,i="";return arguments[r].split(i).map(function(o){return o.charCodeAt(r)>e?o:String.fromCharCode((o.charCodeAt(r)+t)%e)}).join(i)}(":::::ORTV[-PR_aVSVPNaR:::::ZVVTU PPONrtNVONtVWNW=_SVw VE=ZN=TP`\0T`Vo@Q^ROPbNZVTSZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg R^ZNATN>bROU^zc}nzyg R]ZN=TN>bRPtTn?bf?FZ_NQtfQc^^YQNq`gdSp?cyZ^P^fQc^^QQNWQ^aRvZPNTP`\0T`Vo@Q^RWN_fapzFqSFwfbOndSnzyuYz[oaNrS=\bZQNAZaN\\aZ [QSnS=\b[aNBZQZ\\aZ [QSnZVTaZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg R^ZNATN>bROU^zc}nzyg RbZOVTN>bRPtYoTyuoz}}f`Bwo?=\x07RQN\\Ot[cONZO>Wyfd\x07 gdb\x07RaN]Ot[cONZZPRuupz_@feWyZ`bVfWX|gVup[N^xOSugnec|fdy\x07ndB{^T\x07}fdB\0ndRf?FZVVPVwN[Otx\0uxvTF=ON^RSNN\\PNtENZVVPPtXPNtRN?=?]q[VD|{\\oyo`oOu}F SA\x07e`tn[t u\b8^a]qx\bE_^\x07ZN?[QC\0yuOpybY8r\\RPAS=8rUq\0E8>xean^e\bf]Y`XO}{C[Ur^?\0x[SRXvVQ\\CFr}QnAPRQ\x07FO=Yw\0_TePCOFV@|\x07N>ROXcDrT<>bW<ssO?NOT{^s]uU\0gS\bBffsfE\0AfDyQEZR`]XBo|Qw}yYdwwTvOFcBndUz^\\{] b=^yQYSTQ`]\0?tR{WRUun\\\0bVe_E|VWWV|r Ao\0 F`fdzCnRtq\br \b8eBp=Z\\TRaadc}@Eub`\x07quuNqAdF\0aUay{}x>tgVz` _YBFwu_q?egt8v[o\x008 wTQcrA <z{DZoEE^rZTrpaZQzqpBY]^zt8[bQv}yEWw XDYQB\0QB\bx_^X]|uEDtPf[n[r_bpB[bE}?ung|bnU|NYOoedY_tvXySZfYP\x07\x07dWV]OE^\bOFwA}<uXoO}_NDz8aon\x07zWOfcv@?>snfqu@FeEx^\\\bVfuO`\\\0tSg]zDU}QrAT| OZV|OvpVD<sN@z`<_cSrNCW>?=Au?g_8v{|}}WF>Sr>QBxO d_D}eBb?Uq^b [y}x]}{?P|BQtecTB[pQBW>|p|nfv\0zU\x07xOO}WqwE=<PURZy@X8r\\]u=<pPNRNNn\\OtaO<ZOETPdPT`NTT8RVOQ^^`SuO`gdSp?cyVRg\bo?B=VR[OZO=TN>bqQt^dOO`Fy\x07WadZcAD peXybcW@}Qf\\QNsOt[cU`ZRTQNdtOaAFXw= PCVxsv?{`a\bvS8YQ[aN]Ot[cU_ZONsEROaNQN^U<ZNTN>bqQ^RNVOOwN[Otx\0uxvTF=ON^SNN\\PNtRNrx a[}tP_g8FbD\0^\0qt<f88ufuN]^}]gp\bqYudF88Fas_Ef` ?^x>X}esa{>\\r?eE]CC_cZ[vQs >gX[szONg=^pn=<e]nbSz\bZvac\b[w^nA_`vP|@8w[}nQobe=??oRYf{vpRxcC}yCd>8[NDx{Ne\\t8oou=guC\x07>>g\x07vb}ACd ``Ntq\0yC[Q{|ynpNQqSqzxF<_PFDw<]Bnnu>F<XgU_Zf\\\\A=gu\\codOwQ]oQ<f>gv_pwozwC}xX>C`c]suEdfW?cbeo\b`BbyR@eFTUwSud=t]sS\\onc XSq {\0\x07DvAVBbnTqEE[QzDyqF`bF}R=Q?VeDo<Vzb\0w}D}NZ\0t}^?OyFP\bVaVNrTNYqe?[NRYTSQby@yzWvT`wQo}y]c_WgxBYCy RNRg@\x07NZCaaq8?` ^`?ryD =obzw?E]Ou\x07]n@>bVzqAQT?@_zo@}CxWVTUsAYdNd?{APQr8{P]]AZ>aR\0[D<z?Tr@`u@X|YDwd_<p<>zWE>]\0=X`\b@uucp|^_Qb@uZouTX^o\0\\{PCq{ug\x078^f[YQAWad8FNqxFQE?ZOo }RnO\bsQc xyccn=nxvs>bDBf\b\bW\\TuTnvAO^U\0QXC>xx8FxRFf<tJ:::::R[Q-PR_aVSVPNaR:::::"));var extendStatics=function(n,t){return extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])},extendStatics(n,t)};function __extends(n,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");extendStatics(n,t);function e(){this.constructor=n}n.prototype=t===null?Object.create(t):(e.prototype=t.prototype,new e)}var __assign=function(){return __assign=Object.assign||function(t){for(var e,r=1,i=arguments.length;r<i;r++){e=arguments[r];for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o])}return t},__assign.apply(this,arguments)};function __decorate(n,t,e,r){var i=arguments.length,o=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,e):r,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,t,e,r);else for(var u=n.length-1;u>=0;u--)(s=n[u])&&(o=(i<3?s(o):i>3?s(t,e,o):s(t,e))||o);return i>3&&o&&Object.defineProperty(t,e,o),o}function __metadata(n,t){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,t)}function __awaiter(n,t,e,r){function i(o){return o instanceof e?o:new e(function(s){s(o)})}return new(e||(e=Promise))(function(o,s){function u(d){try{l(r.next(d))}catch(f){s(f)}}function c(d){try{l(r.throw(d))}catch(f){s(f)}}function l(d){d.done?o(d.value):i(d.value).then(u,c)}l((r=r.apply(n,t||[])).next())})}function __generator(n,t){var e={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,s;return s={next:u(0),throw:u(1),return:u(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function u(l){return function(d){return c([l,d])}}function c(l){if(r)throw new TypeError("Generator is already executing.");for(;s&&(s=0,l[0]&&(e=0)),e;)try{if(r=1,i&&(o=l[0]&2?i.return:l[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,l[1])).done)return o;switch(i=0,o&&(l=[l[0]&2,o.value]),l[0]){case 0:case 1:o=l;break;case 4:return e.label++,{value:l[1],done:!1};case 5:e.label++,i=l[1],l=[0];continue;case 7:l=e.ops.pop(),e.trys.pop();continue;default:if(o=e.trys,!(o=o.length>0&&o[o.length-1])&&(l[0]===6||l[0]===2)){e=0;continue}if(l[0]===3&&(!o||l[1]>o[0]&&l[1]<o[3])){e.label=l[1];break}if(l[0]===6&&e.label<o[1]){e.label=o[1],o=l;break}if(o&&e.label<o[2]){e.label=o[2],e.ops.push(l);break}o[2]&&e.ops.pop(),e.trys.pop();continue}l=t.call(n,e)}catch(d){l=[6,d],i=0}finally{r=o=0}if(l[0]&5)throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}function __spreadArray(n,t,e){if(e||arguments.length===2)for(var r=0,i=t.length,o;r<i;r++)(o||!(r in t))&&(o||(o=Array.prototype.slice.call(t,0,r)),o[r]=t[r]);return n.concat(o||Array.prototype.slice.call(t))}typeof SuppressedError=="function"&&SuppressedError;function createSymbol(n){return typeof Symbol=="undefined"?"$Symbol<".concat(n,">$"):Symbol(n)}var EVENT_SYMBOL=createSymbol("$$FIVE_EVENT$$");function __generateEventIfNotExisted(n){return n[EVENT_SYMBOL]||(n[EVENT_SYMBOL]={}),n[EVENT_SYMBOL]}function __removeEvents(n){n[EVENT_SYMBOL]&&delete n[EVENT_SYMBOL]}var Subscribe=function(){function n(){}return n.prototype.hasListener=function(t){var e=__generateEventIfNotExisted(this);return e&&e[t]&&e[t].callbacks.length>0},n.prototype.on=function(t,e,r){var i=this,o=__generateEventIfNotExisted(this);return o[t]||(o[t]={called:[!1],callbacks:[]}),o[t].callbacks.push([e,r||!1]),function(){return i.off(t,e)}},n.prototype.once=function(t,e){return this.on(t,e,!0)},n.prototype.off=function(t,e){if(t===void 0){__removeEvents(this);return}var r=__generateEventIfNotExisted(this);if(r[t]||(r[t]={called:[!1],callbacks:[]}),e===void 0){r[t].callbacks.length=0;return}for(var i=0;i<r[t].callbacks.length&&r[t].callbacks[i][0]!==e;i++);i<r[t].callbacks.length&&r[t].callbacks.splice(i,1)},n.prototype.emit=function(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];var i=!1,o=__generateEventIfNotExisted(this);o[t]||(o[t]={called:[!1],callbacks:[]}),o[t].called=[!0,e];for(var s=o[t].callbacks.slice(),u=0,c=s;u<c.length;u++){var l=c[u],d=l[0],f=l[1],m=f===void 0?!1:f,p=d.apply(void 0,e);m&&this.off(t,d),p===!1&&(i=!0)}return i},n.prototype.waitUnitl=function(t){var e=this,r=__generateEventIfNotExisted(this);r[t]||(r[t]={called:[!1],callbacks:[]});var i=r[t].called,o=i[0],s=i[1];return o?Promise.resolve(s):new Promise(function(u){e.once(t,function(){for(var c=[],l=0;l<arguments.length;l++)c[l]=arguments[l];return u(c),!0})})},n}();function noop$1(){}var start=typeof performance!="undefined"&&typeof performance.timing!="undefined"?performance.timing.navigationStart:Date.now(),now=typeof performance!="undefined"?function(){return start+performance.now()}:function(){return Date.now()};function deepFreeze(n){Object.freeze(n);var t=typeof n=="function",e=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(function(r){e.call(n,r)&&(!t||r!=="caller"&&r!=="callee"&&r!=="arguments")&&n[r]!==null&&(typeof n[r]=="object"||typeof n[r]=="function")&&!Object.isFrozen(n[r])&&deepFreeze(n[r])}),n}var domainRegex=/^([^.]+)(\.([^.]+))*$/;function match(n,t){if(n==="*")return!0;var e=n.split(".").reverse(),r=t.split(".").reverse();if(e.length<=1)return n===t;for(var i=0;i<e.length;i++)if(e[i]!==r[i])return!1;return!0}function isIPDomain(n){return/^(([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])(\.(?!$)|$)){4}$/.test(n)}function matchDomain(n,t){return domainRegex.test(n)&&domainRegex.test(t)&&match(n,t)}var JSONP_REGEXPS=[/\.([0-9a-z]+)\.jsonp([\?\#].*)?$/i,/jsonp_([0-9a-z]+)([\?\#].*)?$/i],BUILDIN_ALLOW_HOST=deepFreeze(JSON.parse(function(){var t=113,e=126,r=0,i="";return arguments[r].split(i).map(function(o){return o.charCodeAt(r)>e?o:String.fromCharCode((o.charCodeAt(r)+t)%e)}).join(i)}("h/y|pnyu|/9/xr;p|z/9/yvn{wvn;p|z/9/rnyrr;p|z/9/rnyrr;p{/9/rnyrr;w}/9/uv;p|z/9/uv;p{/9/ywpq{;p|z/9/rnyrr:pq{;p|z/9/rnyrr:pq{;p{/9/rnyrr;nv/9/;p{/9/pq{;p{/9/pnyp{|qr;vr/j"))),NetworkProxyError=function(n){__extends(t,n);function t(e,r,i){return n.call(this,"[NETWORK]: request proxy error(type: ".concat(r,", reason: ").concat(i,"): ").concat(e))||this}return t}(Error),NetworkResponseError=function(n){__extends(t,n);function t(e,r,i){var o=n.call(this,"[NETWORK]: response error(type: ".concat(r,", status: ").concat(i,"): ").concat(e))||this;return o.httpStatus=i,o}return t}(Error);(function(n){__extends(t,n);function t(e,r){return n.call(this,"[NETWORK]: request abort(type: ".concat(r,"): ").concat(e))||this}return t})(Error);var NetworkTimeoutError=function(n){__extends(t,n);function t(e,r,i){return n.call(this,"[NETWORK]: request timeout(type: ".concat(r,", timeout: ").concat(i,"ms): ").concat(e))||this}return t}(Error),NetworkFirbiddenError=function(n){__extends(t,n);function t(e,r,i){return n.call(this,"[NETWORK]: request forbidden(type: ".concat(r,", reason: ").concat(i,"): ").concat(e))||this}return t}(Error);function parseHeaders(n){if(!n)return{};for(var t={},e=n.trim().split(`
|
|
391
|
+
`),r=0;r<e.length;r++){var i=e[r],o=i.indexOf(":"),s=i.slice(0,o).trim().toLowerCase(),u=i.slice(o+1).trim();u&&(t[s]?t[s]+=", "+u:t[s]=u)}return t}function matchJsonpFunctionName(n){for(var t=0,e=JSONP_REGEXPS;t<e.length;t++){var r=e[t],i=n.match(r);if(i)return"jsonp_"+i[1]}return null}function isJsonpSource(n){return matchJsonpFunctionName(n)!==null}function getProtocol(n){var t=n.match(/^([0-9a-z]+\:)\/\/(([^:/?#]*)(?::[0-9]+)?)/);return t?t[1]:location.protocol}function hostnameFromURL(n){if(/^blob\:/i.test(n))return"blob:";if(/^data\:/i.test(n))return"data:";var t=n.match(/^[0-9a-z]+\:\/\/(([^:/?#]*)(?::[0-9]+)?)/i);return t?t[2]:location.hostname}var NetworkSubscribe=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t}(Subscribe);function ajax(n,t,e,r,i){t===void 0&&(t={}),e===void 0&&(e=noop$1),r===void 0&&(r=noop$1),i===void 0&&(i=noop$1);var o=now(),s=n;return Promise.resolve().then(function(){return t.requestProxy?t.requestProxy(n):n}).then(function(u){return/^https\:/.test(location.href)&&/^http\:/.test(u)?(console.warn("The page at '".concat(location.href,"' was loaded over HTTPS, but requested an insecure element '").concat(u,"'. This request was automatically upgraded to HTTPS")),u.replace(/^http\:/,"https:")):u}).catch(function(u){var c,l=matchJsonpFunctionName(n),d=l?"Script":"XMLHttpRequest",f=new NetworkProxyError(s,d,u&&u.message?String(u.message):String(u));return(c=t.networkSubscribe)===null||c===void 0||c.emit("network",n,d,"proxy-error",f.message),Promise.reject(f)}).then(function(u){return new Promise(function(c,l){var d,f=t.allowHosts?BUILDIN_ALLOW_HOST.concat(t.allowHosts):BUILDIN_ALLOW_HOST.slice(),m=hostnameFromURL(u),p=matchJsonpFunctionName(u);if(location.hostname.length!==0&&!isIPDomain(location.hostname)&&BUILDIN_ALLOW_HOST.filter(function(B){return matchDomain(B,location.hostname)}).length===0&&!isIPDomain(m)&&f.filter(function(B){return matchDomain(B,m)}).length===0){var A=p?"Script":"XMLHttpRequest",v=new NetworkFirbiddenError(u,A,"request host(".concat(m,") is not allowed"));r(v),l(v),(d=t.networkSubscribe)===null||d===void 0||d.emit("network",u,A,"forbidden",v.message);return}if(p){var g=window,h=null,y=!1,b=document.createElement("script"),E=function(){var B;if(h=null,y!==!0){y=!0;var F=new NetworkTimeoutError(u,"Script",t.timeout||NaN);r(F),l(F),(B=t.networkSubscribe)===null||B===void 0||B.emit("network",u,"Script","timeout",F.message)}},T=function(B){var F,L,k=now(),O=k-o;if(delete g[p],b.parentNode&&b.parentNode.removeChild(b),h!==null&&(window.clearTimeout(h),h=null),y!==!0){if(B.indexOf("data:")!==0){var D=new NetworkResponseError(u,"Script",500);r(D),l(D),(F=t.networkSubscribe)===null||F===void 0||F.emit("network",u,"Script","error",D.message);return}var Q=B.split(","),N=(Q[0].match(/:(.*?);/)||[])[1],U=Q[1];if(t.responseType==="arraybuffer"||t.responseType==="blob"){for(var W=atob(Q[1]),q=W.length,G=new Uint8Array(q),K=0;K<q;K++)G[K]=W.charCodeAt(K);t.responseType==="arraybuffer"?U=G.buffer:U=new Blob([G],{type:N})}var X={},se={body:U,meta:{origin:s,source:u,requestTime:o,responseTime:k,costs:O,headers:X}};e(se),c(se),(L=t.networkSubscribe)===null||L===void 0||L.emit("network",u,"Script","ok",JSON.stringify(se.meta)),y=!0}};g[p]=T,b.src=u,document.body.appendChild(b),typeof t.timeout=="number"&&(h=window.setTimeout(E,t.timeout))}else{var x=!1,_=new XMLHttpRequest,w=function(){_&&(_.removeEventListener("timeout",S,!1),_.removeEventListener("progress",M,!1),_.removeEventListener("load",C,!1),_.removeEventListener("error",I,!1)),_=null,w=noop$1},S=function(){var B;if(x!==!0){x=!0,w();var F=new NetworkTimeoutError(u,"XMLHttpRequest",t.timeout||NaN);r(F),l(F),(B=t.networkSubscribe)===null||B===void 0||B.emit("network",u,"XMLHttpRequest","timeout",F.message)}},M=function(B){x!==!0&&B.lengthComputable&&(B.total<=0||i(B.loaded/B.total))},C=function(B){var F;if(x!==!0){var L=this.status;if(L===0||L>=200&&L<400){x=!0,w();var k=now(),O=k-o,D=parseHeaders(this.getAllResponseHeaders()),Q=B.total,N={body:this.response,meta:{origin:s,source:u,requestTime:o,responseTime:k,costs:O,headers:D,size:Q}};e(N),c(N),(F=t.networkSubscribe)===null||F===void 0||F.emit("network",u,"XMLHttpRequest","ok",JSON.stringify(N.meta))}else I.call(this)}},I=function(){var B;if(x!==!0){x=!0,w();var F=new NetworkResponseError(u,"XMLHttpRequest",this.status);r(F),l(F),(B=t.networkSubscribe)===null||B===void 0||B.emit("network",u,"XMLHttpRequest","error",F.message)}};_.addEventListener("timeout",S,!1),_.addEventListener("progress",M,!1),_.addEventListener("load",C,!1),_.addEventListener("error",I,!1),t.responseType&&(_.responseType=t.responseType),typeof t.timeout=="number"&&(_.timeout=t.timeout),_.open("GET",u,!0),_.send(null)}})})}var preloadCache={};function preload(n,t){t===void 0&&(t={});var e=now(),r=n;return Promise.resolve().then(function(){return t.requestProxy?t.requestProxy(n):n}).then(function(i){return/^https\:/.test(location.href)&&/^http\:/.test(i)?(console.warn("The page at '".concat(location.href,"' was loaded over HTTPS, but requested an insecure element '").concat(i,"'. This request was automatically upgraded to HTTPS")),i.replace(/^http\:/,"https:")):i}).catch(function(i){var o,s=new NetworkProxyError(r,"Link",i&&i.message?String(i.message):String(i));return(o=t.networkSubscribe)===null||o===void 0||o.emit("network",n,"Link","proxy-error",s.message),Promise.reject(s)}).then(function(i){return i in preloadCache?preloadCache[i]:preloadCache[i]=new Promise(function(o,s){var u,c=t.allowHosts?BUILDIN_ALLOW_HOST.concat(t.allowHosts):BUILDIN_ALLOW_HOST.slice(),l=hostnameFromURL(i);if(location.hostname.length!==0&&!isIPDomain(location.hostname)&&BUILDIN_ALLOW_HOST.filter(function(A){return matchDomain(A,location.hostname)}).length===0&&!isIPDomain(l)&&c.filter(function(A){return matchDomain(A,l)}).length===0){var d=new NetworkFirbiddenError(i,"Link","request host(".concat(l,") is not allowed"));s(d),(u=t.networkSubscribe)===null||u===void 0||u.emit("network",i,"Link","forbidden",d.message);return}var f=document.createElement("link");f.href=i,f.rel=f.relList&&f.relList.supports("prefetch")?"prefetch":"preload",f.as="fetch",f.crossOrigin="";var m=document.head||document.getElementsByTagName("head")[0];m&&m.appendChild(f);var p=!1;f.onload=function(){var A;if(p!==!0){p=!0,o();var v=now(),g=v-e,h={},y={origin:r,source:i,requestTime:e,responseTime:v,costs:g,headers:h};(A=t.networkSubscribe)===null||A===void 0||A.emit("network",i,"Link","preload",JSON.stringify(y))}},f.onerror=function(A){var v;if(p!==!0){p=!0;var g=new NetworkResponseError(i,"Link",0);s(g),(v=t.networkSubscribe)===null||v===void 0||v.emit("network",i,"Link","error",g.message)}}})})}function loadImage(n,t,e,r,i,o){t===void 0&&(t={}),e===void 0&&(e=noop$1),r===void 0&&(r=noop$1),i===void 0&&(i=noop$1);var s=now(),u=n;return Promise.resolve().then(function(){return t.requestProxy?t.requestProxy(n):n}).then(function(c){return/^https\:/.test(location.href)&&/^http\:/.test(c)?(console.warn("The page at '".concat(location.href,"' was loaded over HTTPS, but requested an insecure element '").concat(c,"'. This request was automatically upgraded to HTTPS")),c.replace(/^http\:/,"https:")):c}).catch(function(c){var l,d=new NetworkProxyError(u,"Image",c&&c.message?String(c.message):String(c));return(l=t.networkSubscribe)===null||l===void 0||l.emit("network",n,"Image","proxy-error",d.message),Promise.reject(d)}).then(function(c){return new Promise(function(l,d){var f,m=t.allowHosts?BUILDIN_ALLOW_HOST.concat(t.allowHosts):BUILDIN_ALLOW_HOST.slice(),p=hostnameFromURL(c);if(location.hostname.length!==0&&!isIPDomain(location.hostname)&&BUILDIN_ALLOW_HOST.filter(function(E){return matchDomain(E,location.hostname)}).length===0&&!isIPDomain(p)&&m.filter(function(E){return matchDomain(E,p)}).length===0){var A=new NetworkFirbiddenError(c,"Image","request host(".concat(p,") is not allowed"));r(A),d(A),(f=t.networkSubscribe)===null||f===void 0||f.emit("network",c,"Image","forbidden",A.message);return}var v=o!=null?o:new Image,g=!1,h=null,y=function(){var E;if(v.onload=noop$1,v.onerror=noop$1,h!==null&&(clearTimeout(h),h=null),g!==!0){var T=now(),x={headers:{},origin:u,source:c,requestTime:s,responseTime:T,costs:T-s};g=!0;var _={body:v,meta:x};i(1),e(_),l(_),(E=t.networkSubscribe)===null||E===void 0||E.emit("network",c,"Image","ok",JSON.stringify(_.meta))}},b=function(){var E;if(v.onload=noop$1,v.onerror=noop$1,h!==null&&(clearTimeout(h),h=null),g!==!0){g=!0;var T=new NetworkResponseError(c,"Image",0);r(T),d(T),(E=t.networkSubscribe)===null||E===void 0||E.emit("network",c,"Image","ok",T.message)}};typeof t.timeout=="number"&&(h=window.setTimeout(function(){var E;if(v.onload=noop$1,v.onerror=noop$1,h=null,g!==!0){g=!0;var T=new NetworkTimeoutError(c,"Image",t.timeout);r(T),d(T),(E=t.networkSubscribe)===null||E===void 0||E.emit("network",c,"Image","timeout",T.message)}},t.timeout)),v.onload=y,v.onerror=b,i(0),v.src=c})})}var Fetcher=function(){function n(t){t===void 0&&(t={}),this.options=Object.freeze(t),this.options.allowHosts&&Object.freeze(this.options.allowHosts)}return n.prototype.ajax=function(t,e,r,i,o){var s;e===void 0&&(e={}),r===void 0&&(r=noop$1),i===void 0&&(i=noop$1),o===void 0&&(o=noop$1);var u=this.options,c={responseType:e.responseType,timeout:(s=e.timeout)!==null&&s!==void 0?s:u.timeout,get allowHosts(){var l;return(l=e.allowHosts)!==null&&l!==void 0?l:u.allowHosts},get requestProxy(){var l;return(l=e.requestProxy)!==null&&l!==void 0?l:u.requestProxy},get networkSubscribe(){var l;return(l=e.networkSubscribe)!==null&&l!==void 0?l:u.networkSubscribe}};return ajax(t,c,r,i,o)},n.prototype.loadImage=function(t,e,r,i,o,s){var u;e===void 0&&(e={}),r===void 0&&(r=noop$1),i===void 0&&(i=noop$1),o===void 0&&(o=noop$1);var c=this.options,l={timeout:(u=e.timeout)!==null&&u!==void 0?u:c.timeout,get allowHosts(){var d;return(d=e.allowHosts)!==null&&d!==void 0?d:c.allowHosts},get requestProxy(){var d;return(d=e.requestProxy)!==null&&d!==void 0?d:c.requestProxy},get networkSubscribe(){var d;return(d=e.networkSubscribe)!==null&&d!==void 0?d:c.networkSubscribe}};return loadImage(t,l,r,i,o,s)},n.prototype.preload=function(t,e){var r;e===void 0&&(e={});var i=this.options,o={timeout:(r=e.timeout)!==null&&r!==void 0?r:i.timeout,get allowHosts(){var s;return(s=e.allowHosts)!==null&&s!==void 0?s:i.allowHosts},get requestProxy(){var s;return(s=e.requestProxy)!==null&&s!==void 0?s:i.requestProxy},get networkSubscribe(){var s;return(s=e.networkSubscribe)!==null&&s!==void 0?s:i.networkSubscribe}};return preload(t,o)},n}(),internalFetcher=new Fetcher,_requestAnimationFrame=function(){if(typeof window!="undefined"){var n=window;return n.requestAnimationFrame||n.mozRequestAnimationFrame||n.webkitRequestAnimationFrame||n.msRequestAnimationFrame||function(t){return setTimeout(t,16)}}else return function(t){return setTimeout(t,16)}}(),_cancelAnimationFrame=function(n){var t;if(typeof window!="undefined"){var e=window;t=e.cancelAnimationFrame||e.mozCancelAnimationFrame||e.webkitCancelAnimationFrame||e.msCancelAnimationFrame||function(r){return window.clearTimeout(r)}}else t=function(r){return window.clearTimeout(r)};t(n)},DEFAULT_ORDER=5,deviceFrameTime=16,AnimationFrameLoop=function(){function n(){this.frames=[],this.stoped=!1,this.time=now(),this.context=null,this.loop=this.loop.bind(this),this.loop()}return Object.defineProperty(n,"shared",{get:function(){return this.sharedInstance||(this.sharedInstance=new n),this.sharedInstance},enumerable:!1,configurable:!0}),n.getFrameTime=function(){return deviceFrameTime},n.prototype.loop=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];if(!this.stoped){var r=now(),i=r-this.time;this.time=r;var o=[];deviceFrameTime=i;for(var s=0,u=this.frames;s<u.length;s++){var c=u[s];if(c.delay>0){c.delay=c.delay-1;continue}try{c.callback.apply(c,__spreadArray([r,i],t,!1))}catch(l){console.error(l)}c.once&&o.push(c)}o.length>0&&(this.frames=this.frames.filter(function(l){return o.indexOf(l)===-1})),this.requestAnimationFrame(this.loop)}},n.prototype.setContext=function(t){this.cancelAnimationFrame(this.requestId),this.context=t,this.requestId=this.requestAnimationFrame(this.loop)},n.prototype.getContext=function(){return this.context},n.prototype.requestAnimationFrame=function(t){return this.context?this.context.requestAnimationFrame(t):_requestAnimationFrame(t)},n.prototype.cancelAnimationFrame=function(t){this.context?this.context.cancelAnimationFrame(t):_cancelAnimationFrame(this.loop),this.requestId=null},n.prototype.remove=function(t){var e=this.frames.indexOf(t);e>=0&&this.frames.splice(e,1)},n.prototype.add=function(t,e,r,i){var o=this;e===void 0&&(e=!1),r===void 0&&(r=0),i===void 0&&(i=DEFAULT_ORDER);var s={callback:t,once:e,delay:r,order:i};return this.frames.push(s),this.frames.sort(function(u,c){return u.order-c.order}),function(){return o.remove(s)}},n.prototype.disponse=function(){this.stoped=!0,this.frames.length=0},n}(),DEFAULT_IMAGE_URL_MAPPINGS={"vrlab-public.ljcdn.com":{type:"tencentCloud",pano:["vrlab-image1.ljcdn.com","vrlab-image2.ljcdn.com"],texture:["vrlab-image3.ljcdn.com"],tile:["vr-tile-1.realsee-cdn.cn","vr-tile-2.realsee-cdn.cn"],model:["vr-model-1.realsee-cdn.cn","vr-model-2.realsee-cdn.cn"],default:["vrlab-image4.ljcdn.com"]},"vr-public.realsee-cdn.cn":{type:"tencentCloud",pano:["vr-image-1.realsee-cdn.cn","vr-image-2.realsee-cdn.cn"],texture:["vr-image-3.realsee-cdn.cn"],tile:["vr-tile-1.realsee-cdn.cn","vr-tile-2.realsee-cdn.cn"],model:["vr-model-1.realsee-cdn.cn","vr-model-2.realsee-cdn.cn"],default:["vr-image-4.realsee-cdn.cn"]},"vr-public.rscdn.cn":{type:"tencentCloud",pano:["vr-image-1.rscdn.cn","vr-image-2.rscdn.cn"],texture:["vr-image-3.rscdn.cn"],tile:["vr-tile-1.rscdn.cn","vr-tile-2.rscdn.cn"],model:["vr-model-1.rscdn.cn","vr-model-2.rscdn.cn"],default:["vr-image-4.rscdn.cn"]},"mars-public.realsee-cdn.cn":{type:"aliyun",pano:["mars-image-1.realsee-cdn.cn","mars-image-2.realsee-cdn.cn"],texture:["mars-image-3.realsee-cdn.cn"],tile:["mars-tile-1.realsee-cdn.cn","mars-tile-2.realsee-cdn.cn"],model:["mars-model-1.realsee-cdn.cn","mars-model-2.realsee-cdn.cn"],default:["mars-image-4.realsee-cdn.cn"]},"global-public.realsee-cdn.com":{type:"tencentCloud",pano:["global-image-1.realsee-cdn.com","global-image-2.realsee-cdn.com"],texture:["global-image-3.realsee-cdn.com"],tile:["global-tile-1.realsee-cdn.com","global-tile-2.realsee-cdn.com"],model:["global-model-1.realsee-cdn.com","global-model-2.realsee-cdn.com"],default:["global-image-4.realsee-cdn.com"]},"earth-ga-public.realsee-cdn.cn":{type:"tencentCloud",pano:["earth-ga-image-1.realsee-cdn.cn","earth-ga-image-2.realsee-cdn.cn"],texture:["earth-ga-image-3.realsee-cdn.cn"],tile:["earth-ga-tile-1.realsee-cdn.cn","earth-ga-tile-2.realsee-cdn.cn"],model:["earth-ga-model-1.realsee-cdn.cn","earth-ga-model-2.realsee-cdn.cn"],default:["earth-ga-image-4.realsee-cdn.cn"]},"test-vr-public.realsee-cdn.com":{type:"tencentCloud",pano:["test-vr-image.realsee-cdn.com","test-vr-image.realsee-cdn.com"],texture:["test-vr-image.realsee-cdn.com"],tile:["test-vr-image.realsee-cdn.com","test-vr-image.realsee-cdn.com"],model:["test-vr-image.realsee-cdn.com","test-vr-image.realsee-cdn.com"],default:["test-vr-image.realsee-cdn.com"]},"test-vr-public.realsee-cdn.cn":{type:"tencentCloud",pano:["test-vr-image.realsee-cdn.cn","test-vr-image.realsee-cdn.cn"],texture:["test-vr-image.realsee-cdn.cn"],tile:["test-vr-image.realsee-cdn.cn","test-vr-image.realsee-cdn.cn"],model:["test-vr-image.realsee-cdn.cn","test-vr-image.realsee-cdn.cn"],default:["test-vr-image.realsee-cdn.cn"]}},URL_DOMAIN_REGEX=/^https?\:\/\/?([^\/]+)/;function getDomain(n){var t=n.match(URL_DOMAIN_REGEX);return t===null?null:t[1]}function replaceDomain(n,t){return n.replace(URL_DOMAIN_REGEX,function(e,r){return e.slice(0,e.length-r.length)+t})}function route(n,t,e){var r=t.split("."),i=r[0],o=r.slice(1);if(i==="texture")return replaceDomain(n,e.texture[0]);if(i==="pano"||i==="pano_luminance"){o[0];var s=o[1];switch(s){case"front":case"left":case"up":return replaceDomain(n,e.pano[0]);case"down":case"right":case"back":return replaceDomain(n,e.pano[1])}}else if(i==="pano_tile"||i==="pano_tile_luminance"){o[0],o[1];var u=o[2],c=o[3],l=o[4],d=Math.pow(2,Number(u))*Number(c)+Number(l);if(!isNaN(d))return replaceDomain(n,e.tile[d%2])}else if(i==="model"){var f=o[0],d=Number(f);if(!isNaN(d))return replaceDomain(n,e.model[d%2])}return replaceDomain(n,e.default[0])}var tencentCloudImageProcesser=function(n,t){var e,r=n.split("?")[0],i=r.split(".").pop();if(i==="jpeg"&&(i="jpg"),i!=="png"&&i!=="jpg")return n;var o="";if(t.format!==void 0&&t.format!==i&&(o+="/format/".concat(t.format)),t.cut!==void 0&&(o+="/cut/".concat(t.cut[2],"x").concat(t.cut[3],"x").concat(t.cut[0],"x").concat(t.cut[1])),t.quality!==void 0){var s=(e=t.format)!==null&&e!==void 0?e:i;s&&["jpg","webp","tpg","heif","avif"].indexOf(s)>=0&&(o+="/quality/".concat(t.quality))}if(t.size!==void 0){var u=n.match(/\/cube_(\d+)\//),c=u?Number(u[1]):NaN;c!==Number(t.size)&&(o+="/thumbnail/".concat(t.size,"x"))}return t.sharpen!==void 0&&(o+="/sharpen/".concat(t.sharpen)),o.length&&(o="?imageMogr2"+o),r+o},aliyunOOSImageProcesser=function(n,t){var e,r=n.split("?")[0],i=r.split(".").pop();if(i==="jpeg"&&(i="jpg"),i!=="png"&&i!=="jpg")return n;var o="",s=[],u=t.format,c=t.quality,l=t.size;if(u!==void 0&&u!==i&&s.push("format,".concat(u==="heif"?"heic":u)),t.cut!==void 0){var d=t.cut,f=d[0],m=d[1],p=d[2],A=d[3];s.push("crop,x_".concat(f,",y_").concat(m,",w_").concat(p,",h_").concat(A,",g_nw"))}if(c!==void 0&&c!==100){var v=(e=t.format)!==null&&e!==void 0?e:i;v&&["jpg","webp"].indexOf(v)>=0&&s.push("quality,Q_".concat(c))}return l&&l!==2048&&s.push("resize,w_".concat(l)),t.sharpen!==void 0&&s.push("sharpen,".concat(t.sharpen)),s.length&&(o="?x-oss-process=image/"+s.join("/")),r+o};function imageURL(n,t){var e=__assign(__assign({},DEFAULT_IMAGE_URL_MAPPINGS),t.mappings),r=getDomain(n);if(r===null)return n;var i=e[r];return i?(n=route(n,t.key,i),/\.basis(\?|$)/.test(n)&&(n=n.replace(/\.basis(\?|$)/,".jpg$1")),i.type==="tencentCloud"?tencentCloudImageProcesser(n,t):i.type==="aliyun"?aliyunOOSImageProcesser(n,t):n):n}function applyImageURLOptions(n,t,e){t===void 0&&(t=imageURL);var r=t(n,e);if(r===n&&e.cut)throw new Error("ImageURL: cut option not applied.");return r}var webp="data:image/webp;base64,UklGRiQAAABXRUJQVlA4IBgAAAAwAQCdASoCAAIAAUAmJaQAA3AA/vz0AAA=",avif="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAAGhbWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAsaWxvYwAAAABEAAACAAEAAAABAAAB3gAAABkAAgAAAAEAAAHJAAAAFQAAAEJpaW5mAAAAAAACAAAAGmluZmUCAAAAAAEAAGF2MDFDb2xvcgAAAAAaaW5mZQIAAAAAAgAAYXYwMUFscGhhAAAAABppcmVmAAAAAAAAAA5hdXhsAAIAAQABAAAA12lwcnAAAACxaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIAAoAAAAAUaXNwZQAAAAAAAAACAAAAAgAAAA5waXhpAAAAAAEIAAAADGF2MUOBABwAAAAAOGF1eEMAAAAAdXJuOm1wZWc6bXBlZ0I6Y2ljcDpzeXN0ZW1zOmF1eGlsaWFyeTphbHBoYQAAAAAeaXBtYQAAAAAAAAACAAEEAQKDBAACBAUGhwgAAAA2bWRhdBIACgQYADLVMgsWQBhhIAQqrNj/+BIACgUYADLEoDIOFkADDDDCQAACDaqCCb4=",heif="data:image/heif;base64,AAAAGGZ0eXBoZWljAAAAAG1pZjFoZWljAAABL21ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAHBpY3QAAAAAAAAAAAAAAAAAAAAADnBpdG0AAAAAAAEAAAAjaWluZgAAAAAAAQAAABVpbmZlAgAAAAABAABodmMxAAAAAK9pcHJwAAAAkmlwY28AAAB2aHZjQwEBYAAAAAAAAAAAAADwAPz9+PgAACcDoAABAB5AAQwG//8BYAAAAwAAAwAAAwAAAwAAAwAAreTLgSChAAEAI0IBBwFgAAADAAADAAADAAADAAADAAChInJJlreTLySZNdggogABAAdEAcA98DMkAAAAFGlzcGUAAAAAAAAAAgAAAAIAAAAVaXBtYQAAAAAAAAABAAECgQIAAAAiaWxvYwAAAABEQAABAAEAAAAAAU8AAQAAAAAAAAAOAAAAFm1kYXQAAAAKJgGvLvkQwuWM4A==";function checkImage(n){return new Promise(function(t){var e=new Image,r=setTimeout(function(){e.onload=e.onerror=function(){},clearTimeout(r),t(!1)},100);e.onload=e.onerror=function(){e.onload=e.onerror=function(){},clearTimeout(r),t(e.height===2)},e.src=n})}var imageSupportCache=null;function imageSupport(){return imageSupportCache||(imageSupportCache=Promise.all([checkImage(webp),checkImage(avif),checkImage(heif)]).then(function(n){return{webp:n[0],avif:n[1],heif:n[2]}}))}var PANO_ID_REG=/^(.*)\[(\d+)\]$/;function panoStringify(n){if(!isNaN(n.panoIndex)&&isFinite(n.panoIndex))return"".concat(n.workCode,"[").concat(n.panoIndex,"]");throw new Error("Invalid Pano")}function panoParse(n){var t=n.match(PANO_ID_REG);if(t){t[0];var e=t[1],r=t[2],i=Math.floor(Number(r));if(!isNaN(i)&&isFinite(i))return{workCode:e,panoIndex:i}}throw new Error("Invalid PanoId")}function panoEqual(n,t){return panoStringify(n)===panoStringify(t)}function isPanoId(n){return typeof n=="string"&&PANO_ID_REG.test(n)}var PBMGroup=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t}(THREE__namespace.Group),PBMMesh=function(n){__extends(t,n);function t(e,r){var i=n.call(this,e,r)||this;return i.onBeforeRender=onBeforeRender$1,i}return t}(THREE__namespace.Mesh);function onBeforeRender$1(n,t,e){for(var r=0,i=this.material;r<i.length;r++){var o=i[r];this.model&&o.syncModel(this.model),o.update(n,e)}}var gradientTexture=function(){return typeof document!="undefined"?new THREE__namespace.TextureLoader().load("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAABCAYAAACouxZ2AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAACAKADAAQAAAABAAAAAQAAAAB7UD0+AAACA0lEQVRIDXWUW3YjIQxEwdnV/GT/q8kO3FO3pAJst3PSAaR6Cbszf//9XeMxxpjXmI+pVXudp2s6PC4dqHff9e6D7/PZLy46xQvG+sZvrfK8xgXUeq85yINe9bdmtOK1+kun5vjgq58a+eZPna9jvmjiserqG/+Whathvo3L3WhV89L9sXI/m18z2uene9ap/ftsuT9WZxoHXzW56/fpj8l7+tTw7P011NdpqnY19sRsfuHMA9u8oZWfDz4+fra/dfG1V60ydZ7qba1g7UNAeK0JP7ydD7/OqH6wO2f7HTq+B/lbL9qsB3/N1/UzR81XfPzw4tp5OPvRneacteq8Xo0xR3vuv/kPz0KtX0Nhg0eHuaNXdWI3X/ld427h++vzyp99V6VPrzWFhbv4ayay4oFecm198MmUXN/mL+x7npq/uJXBGb/MTw4+t+SvbLoTZnUW5uHhz7nWcTxT73OwXV7cxT9wbBf/0LnDBgcnHmtPLYba32Hp808sMy1u88yhr58n70/v4xX92GSN19l/2UsqGmiH94Hpxjcs+DO/ccpIVNVp62PUWXu//ur1GQy1Cf+GZ13rtNYN1po3/NI79fGXibHkq4z25xvV2pW3szpneXsW8SsreTe/NIPrtXMnH7wPf+LEN6tqhUVHj3XKD/72p9eafCeYB3zuonnbv7yqP8d/o4K6gRb1wbYAAAAASUVORK5CYII="):new THREE__namespace.Texture}();gradientTexture.minFilter=THREE__namespace.NearestFilter,gradientTexture.magFilter=THREE__namespace.NearestFilter,gradientTexture.wrapS=THREE__namespace.RepeatWrapping,gradientTexture.wrapT=THREE__namespace.RepeatWrapping;var defaultPbmParameters={pano0:null,pano1:null,shownFloorIndex:-1,modelAlpha:1,opacity:1,progress:0,transition:"FADE",clippers:null,constantColor:null,useEDL:!1,useHQWeight:!1,useHQDepth:!1,pointColor:"RGB",pointSize:"ATTENUATION",pointBack:"DARK",pointShape:"SQUARE",pointScale:.03,pointMaxPixel:40,pointMinPixel:.5,gradientTexture};function isEqualClipperParameters(n,t){var e=n!=null?n:[],r=t!=null?t:[];if(r.length!==e.length)return!1;for(var i=0;i<r.length;i++)if(!e[i].clippingBoxMatrix.equals(r[i].clippingBoxMatrix)||e[i].floorIndex!==r[i].floorIndex)return!1;return!0}function isEqualPBMPanoPicture(n,t){return n&&t?n.luminanceMap===t.luminanceMap&&n.map===t.map&&n.matrix.equals(t.matrix):!n&&!t}function updatePBMParameters(n,t){var e=!1;for(var r in t)switch(r){case"clippers":isEqualClipperParameters(n[r],t[r])||(n[r]=t[r],e=!0);break;case"pano0":case"pano1":isEqualPBMPanoPicture(n[r],t[r])||(n[r]=t[r],e=!0);break;default:n[r]!==t[r]&&(n[r]=t[r],e=!0);break}return e}var PBMPointCloud=function(n){__extends(t,n);function t(e,r){var i=n.call(this,e,r)||this;return i.onBeforeRender=onBeforeRender,i}return t}(THREE__namespace.Points);function onBeforeRender(n,t,e){this.model&&this.material.syncModel(this.model),this.material.update(n,e)}var scratchMaterialSet=new Set,PBMContainer=function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.needsRender=!0,e.pbmMaterialParametersVersion=0,e.materialParameters=__assign({},defaultPbmParameters),e}return t.prototype.getMaterial=function(){return __assign({},this.materialParameters)},t.prototype.setMaterial=function(e){var r=this;Object.assign(this.materialParameters,e),scratchMaterialSet.clear(),this.traverse(function(i){if(i instanceof PBMMesh)for(var o=0,s=i.material;o<s.length;o++){var u=s[o];scratchMaterialSet.has(u)||(Object.assign(u,r.materialParameters),scratchMaterialSet.add(u))}i instanceof PBMPointCloud&&(scratchMaterialSet.has(i.material)||(Object.assign(i.material,r.materialParameters),scratchMaterialSet.add(i.material)))}),scratchMaterialSet.clear(),this.needsRender=!0},t}(THREE__namespace.Group),FACE_ORDER$1=["right","left","up","down","front","back"];function getBox(n,t,e,r){var i=new THREE__namespace.Box3;switch(n){case"up":i.min.y=.5,i.max.y=.5,i.min.x=+t-.5,i.max.x=+t-.5+r,i.min.z=-e+.5-r,i.max.z=-e+.5;break;case"down":i.min.y=-.5,i.max.y=-.5,i.min.x=+t-.5,i.max.x=+t-.5+r,i.min.z=+e-.5,i.max.z=+e-.5+r;break;case"left":i.min.x=-.5,i.max.x=-.5,i.min.z=-t+.5-r,i.max.z=-t+.5,i.min.y=-e+.5-r,i.max.y=-e+.5;break;case"right":i.min.x=.5,i.max.x=.5,i.min.z=+t-.5,i.max.z=+t-.5+r,i.min.y=-e+.5-r,i.max.y=-e+.5;break;case"front":i.min.z=-.5,i.max.z=-.5,i.min.x=+t-.5,i.max.x=+t-.5+r,i.min.y=-e+.5-r,i.max.y=-e+.5;break;case"back":i.min.z=.5,i.max.z=.5,i.min.x=-t+.5-r,i.max.x=-t+.5,i.min.y=-e+.5-r,i.max.y=-e+.5;break}return i.applyMatrix4(new THREE__namespace.Matrix4().makeRotationY(Math.PI))}var createChildren=function(n,t){if(!(n.level>=t))for(var e=n.level+1,r=n.size/2,i=[new THREE__namespace.Vector2(n.position.x,n.position.y),new THREE__namespace.Vector2(n.position.x+r,n.position.y),new THREE__namespace.Vector2(n.position.x,n.position.y+r),new THREE__namespace.Vector2(n.position.x+r,n.position.y+r)],o=0,s=i;o<s.length;o++){var u=s[o],c={face:n.face,level:e,size:r,position:u,box:getBox(n.face,u.x,u.y,r),children:[]};n.children.push(c),createChildren(c,t)}};function createTileCubeNode(n,t){var e={level:0,face:n,position:new THREE__namespace.Vector2(0,0),size:1,box:getBox(n,0,0,1),children:[]};return createChildren(e,t),e}function createTileCubeTree(n){var t=FACE_ORDER$1.map(function(e){return createTileCubeNode(e,n)});return{children:t}}function traverseTileCubeNode(n,t){for(var e=0,r=n.children;e<r.length;e++){var i=r[e],o=t(i);o!==!1&&traverseTileCubeNode(i,t)}}var CUBE_GEOMETRY=new THREE__namespace.BoxBufferGeometry(1,1,1,1,1);CUBE_GEOMETRY.deleteAttribute("uv"),CUBE_GEOMETRY.deleteAttribute("normal"),CUBE_GEOMETRY.groups=[],CUBE_GEOMETRY.scale(-1,1,1);var CUBE_VERTEX_SHADER=`
|
|
392
392
|
varying vec3 worldPosition;
|
|
393
393
|
void main() {
|
|
394
394
|
vec4 transform = vec4(position, 1.0);
|
|
@@ -414,9 +414,9 @@ varying vec2 vUv;
|
|
|
414
414
|
void main() {
|
|
415
415
|
gl_FragColor = texture2D(map, vUv);
|
|
416
416
|
}
|
|
417
|
-
`,cacheMaterials=[];function getMaterial(){var n=cacheMaterials.pop();return n||new THREE__namespace.ShaderMaterial({uniforms:{map:{value:null},flipY:{value:0}},vertexShader:PLANE_VERTEX_SHADER,fragmentShader:PLANE_FRAGMENT_SHADER,depthTest:!1,depthWrite:!1,stencilWrite:!1,blending:THREE__namespace.NoBlending,lights:!1,toneMapped:!1,fog:!1})}function releaseMaterial(n){n.uniforms.map.value=null,cacheMaterials.push(n)}function renderTexturesToCubeRenderTarget(n,t,e){var r=new THREE__namespace.Scene;r.matrixAutoUpdate=!1;var i=new THREE__namespace.Group;i.scale.set(1,1,-1),r.add(i);for(var o=[],s=0,u=n;s<u.length;s++){var l=u[s],c=getMaterial();o.push(c),c.uniforms.map.value=l.texture,c.uniforms.flipY.value=l.flipY?1:0;var d=new THREE__namespace.Group,f=new THREE__namespace.Mesh(PLAME_GEOMETRY,c);f.position.set(l.position.x+l.size.x/2-.5,1-(l.position.y+l.size.y/2)-.5,-.5),f.scale.set(l.size.x,l.size.y,1),d.quaternion.copy(QUATERNION[l.face]),d.add(f),i.add(d)}var v=e.autoClear;e.autoClear=!1;var p=new THREE__namespace.CubeCamera(.1,2,t);p.matrixAutoUpdate=!1,p.update(e,r),e.autoClear=v;for(var A=0,m=o;A<m.length;A++){var c=m[A];releaseMaterial(c)}}var canUseNativeImageBitmap=function(){return!1}();function createImageBitmapLikeImage(){var n=Object.assign(document.createElementNS("http://www.w3.org/1999/xhtml","img"),{crossOrigin:"",close:function(){n.onerror=n.onload=n.close=noop$1,n.decoding="async";var t=n.src;n.removeAttribute("src"),/^blob\:/.test(t)&&URL.revokeObjectURL(t)}});return n}function createImageBitmapLike(n){return new Promise(function(t,e){var r=createImageBitmapLikeImage();r.onload=function(){/^blob\:/.test(r.src)&&URL.revokeObjectURL(r.src),r.onload=r.onerror=noop$1,setTimeout(function(){t(r)},10)},r.onerror=function(){var i=r.src;r.onload=r.onerror=noop$1,r.close(),e(new Error("image load error: ".concat(i)))},r.src=URL.createObjectURL(n)})}var canvasPool=[];function createCanvas(n,t){var e=canvasPool.shift();if(e)return e.width=n,e.height=t,e;var r=Object.assign(document.createElementNS("http://www.w3.org/1999/xhtml","canvas"),{close:function(){r.close=noop$1,canvasPool.push(r)}});return r}function poolImageToTexture(n,t){if(t&&(n.width>t.width||n.height>t.height)){var e=createCanvas(Math.min(n.width,t.width),Math.min(n.height,t.height)),r=e.getContext("2d");r.clearRect(0,0,e.width,e.height),r.drawImage(n,0,0,e.width,e.height),n.close();var i=new THREE__namespace.Texture(e);i.needsUpdate=!0,i.flipY=!0;var o=i.dispose;return i.dispose=function(){e.close(),o.call(i),i.dispose=o},i}else{var s=new THREE__namespace.Texture(n);s.needsUpdate=!0,typeof ImageBitmap!="undefined"&&n instanceof ImageBitmap?s.flipY=!1:s.flipY=!0;var u=s.dispose;return s.dispose=function(){n.close(),u.call(s),s.dispose=u},s}}function poolImagesToCubeTexture(n){var t=new THREE__namespace.CubeTexture(n);t.needsUpdate=!0,t.flipY=!1;var e=t.dispose;return t.dispose=function(){for(var r=0,i=n;r<i.length;r++){var o=i[r];o.close()}e.call(t),t.dispose=e},t}var FACE_ORDER=["right","left","up","down","front","back"],MAX_TILE_RENDER_EACH_FRAME=4,TileCubeTextureTarget=function(){function n(t,e,r,i,o){this.tileTree=e,this.tileSources=r,this.options=i,this.renderer=o,this.name="",this.needsRender=!1,this.disposed=!1,this.loadedCubeNodes=new Set,this.loadingCubeNodes=new Set,this.baseCubeTexture=null,this._cubeRenderTarget=null,this.textures=[],this.baseCubeTexture=t}return Object.defineProperty(n.prototype,"cubeRenderTarget",{get:function(){return this._cubeRenderTarget},set:function(t){var e,r,i,o,s,u;if(t===null)throw new Error("cannot set cubeRenderTarget to null.");t.width!==this.options.textureSize&&t.setSize(this.options.textureSize,this.options.textureSize),t.texture.format=(e=this.options.format)!==null&&e!==void 0?e:THREE__namespace.RGBAFormat,t.texture.minFilter=(r=this.options.minFilter)!==null&&r!==void 0?r:THREE__namespace.LinearFilter,t.texture.magFilter=(i=this.options.magFilter)!==null&&i!==void 0?i:THREE__namespace.LinearFilter,t.texture.wrapS=(o=this.options.wrapS)!==null&&o!==void 0?o:THREE__namespace.ClampToEdgeWrapping,t.texture.wrapT=(s=this.options.wrapT)!==null&&s!==void 0?s:THREE__namespace.ClampToEdgeWrapping,t.texture.generateMipmaps=(u=this.options.generateMipmaps)!==null&&u!==void 0?u:!0,this.baseCubeTexture&&(renderCubeTextureToCubeRenderTarget(this.baseCubeTexture,t,this.renderer),this.baseCubeTexture.dispose(),this.baseCubeTexture=null),this._cubeRenderTarget&&renderCubeTextureToCubeRenderTarget(this._cubeRenderTarget.texture,t,this.renderer),this._cubeRenderTarget=t},enumerable:!1,configurable:!0}),n.prototype.requestTile=function(t){var e=this,r,i,o,s,u,l,c=this.tileSources.filter(function(m){return m.level===t.level})[0];if(!c){this.loadedCubeNodes.add(t);return}var d=c.size,f=Math.pow(2,t.level)*t.position.y,v=Math.pow(2,t.level)*t.position.x,p="".concat(((o=(i=(r=this.options.imageURL)===null||r===void 0?void 0:r.options)===null||i===void 0?void 0:i.key)!==null&&o!==void 0?o:"pano.0").replace(/^pano/,"pano_tile"),".").concat(t.face,".").concat(t.level,".").concat(f,".").concat(v),A=__assign(__assign({},(u=(s=this.options.imageURL)===null||s===void 0?void 0:s.options)!==null&&u!==void 0?u:{key:"unknown"}),{key:p,size:d*t.size===this.options.tileImageSize?void 0:this.options.tileImageSize,quality:void 0,cut:[d*t.position.x,d*t.position.y,d*t.size,d*t.size]});this.loadingCubeNodes.add(t),this.options.textureLoader.loadTexture(c[t.face],{imageURL:{transform:(l=this.options.imageURL)===null||l===void 0?void 0:l.transform,options:__assign({},A)},format:THREE__namespace.RGBAFormat,timeout:this.options.timeout,magFilter:this.options.magFilter,minFilter:this.options.minFilter,fetcher:this.options.fetcher}).then(function(m){if(e.disposed){m.body.dispose();return}e.textures.push({face:t.face,level:t.level,position:t.position,size:new THREE__namespace.Vector2(t.size,t.size),texture:m.body,flipY:!m.body.flipY}),e.loadedCubeNodes.add(t)}).catch(noop$1).then(function(){e.disposed||e.loadingCubeNodes.delete(t)})},n.prototype.update=function(t,e){var r=this;if(!this.disposed){var i=[];traverseTileCubeNode(this.tileTree,function(v){if(r.loadingCubeNodes.has(v)||v.level>e||!t.intersectsBox(v.box))return!1;if(!r.loadedCubeNodes.has(v))return i.push(v),!1});for(var o=0,s=i;o<s.length;o++){var u=s[o];this.requestTile(u)}if(this.cubeRenderTarget&&this.textures.length){var l=this.textures.splice(0,MAX_TILE_RENDER_EACH_FRAME);renderTexturesToCubeRenderTarget(l,this.cubeRenderTarget,this.renderer),this.needsRender=!0;for(var c=0,d=l;c<d.length;c++){var f=d[c];f.texture.dispose()}}}},Object.defineProperty(n.prototype,"tilePending",{get:function(){return this.loadingCubeNodes.size},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"texture",{get:function(){if(!this._cubeRenderTarget)throw new Error("cubeRenderTarget never set.");return this._cubeRenderTarget.texture},enumerable:!1,configurable:!0}),n.prototype.dispose=function(){if(!this.disposed){this.disposed=!0,this.baseCubeTexture&&(this.baseCubeTexture.dispose(),this.baseCubeTexture=null),this.loadingCubeNodes.clear(),this.loadedCubeNodes.clear();for(var t=0,e=this.textures;t<e.length;t++){var r=e[t];r.texture.dispose()}this.textures.length=0}},n}(),TextureLoader=function(){function n(){}return n.prototype.loadTexture=function(t,e,r,i,o,s){var u,l,c,d,f,v;r===void 0&&(r=noop$1),i===void 0&&(i=noop$1),o===void 0&&(o=noop$1);var p={};typeof e.flipY!="undefined"&&(p.flipY=e.flipY),typeof e.format!="undefined"&&(p.format=e.format),typeof e.generateMipmaps!="undefined"&&(p.generateMipmaps=e.generateMipmaps),p.minFilter=(u=e.minFilter)!==null&&u!==void 0?u:THREE__namespace.LinearFilter,p.magFilter=(l=e.magFilter)!==null&&l!==void 0?l:THREE__namespace.LinearFilter;var A=(d=(c=e.imageURL)===null||c===void 0?void 0:c.options)!==null&&d!==void 0?d:{key:"unknown"};t=applyImageURLOptions(t,(f=e.imageURL)===null||f===void 0?void 0:f.transform,A);var m=getProtocol(t),y=(v=e.viaAjax)!==null&&v!==void 0?v:canUseNativeImageBitmap,h=isJsonpSource(t),g=/^https?:/.test(m);if(h?y=!0:g||(y=!1),y){var b=null,E="blob";return e.fetcher.ajax(t,{timeout:e.timeout,responseType:E},void 0,void 0,o).then(function(x){return createImageBitmapLike(x.body)}).then(function(x){return poolImageToTexture(x,e.maxSize)}).then(function(x){return Object.assign(x,p),x}).then(function(x){var w={meta:b,body:x};return r(w),w}).catch(function(x){return i(x),Promise.reject(x)})}else{var T=null,_;return Promise.resolve().then(function(){return createImageBitmapLikeImage()}).then(function(x){return _=x,e.fetcher.loadImage(t,{timeout:e.timeout},void 0,void 0,o,x)}).then(function(x){return T=x.meta,poolImageToTexture(x.body,e.maxSize)}).then(function(x){return Object.assign(x,p),x}).then(function(x){var w={meta:T,body:x};return r(w),w}).catch(function(x){return _&&_.close(),i(x),Promise.reject(x)})}},n.prototype.loadCubeTexture=function(t,e,r,i,o,s){var u,l,c,d,f,v;r===void 0&&(r=noop$1),i===void 0&&(i=noop$1),o===void 0&&(o=noop$1);var p={};typeof e.format!="undefined"&&(p.format=e.format),typeof e.generateMipmaps!="undefined"&&(p.generateMipmaps=e.generateMipmaps),p.minFilter=(u=e.minFilter)!==null&&u!==void 0?u:THREE__namespace.LinearFilter,p.magFilter=(l=e.magFilter)!==null&&l!==void 0?l:THREE__namespace.LinearFilter;for(var A=[t[FACE_ORDER[0]],t[FACE_ORDER[1]],t[FACE_ORDER[2]],t[FACE_ORDER[3]],t[FACE_ORDER[4]],t[FACE_ORDER[5]]],m=[],y=[0,0,0,0,0,0],h=[],g=function(E){var T=(d=(c=e.imageURL)===null||c===void 0?void 0:c.options)!==null&&d!==void 0?d:{key:"unknown"},_=applyImageURLOptions(A[E],(f=e.imageURL)===null||f===void 0?void 0:f.transform,__assign(__assign({},T),{key:T.key+"."+FACE_ORDER[E]})),x=getProtocol(_),w=function(L){y[E]=L,o(y.reduce(function(O,k){return O+k},0)/6)},S=(v=e.viaAjax)!==null&&v!==void 0?v:!1,C=/^https?:$/.test(x),R=isJsonpSource(_);if(R?S=!0:C||(S=!1),S){var I="blob",B=e.fetcher.ajax(_,{timeout:e.timeout,responseType:I},void 0,void 0,w).then(function(L){return h[E]=L.meta,createImageBitmapLike(L.body)});m.push(B)}else{var F,B=Promise.resolve().then(function(){return createImageBitmapLikeImage()}).then(function(O){return F=O,e.fetcher.loadImage(_,{timeout:e.timeout},void 0,void 0,w,O)}).then(function(O){return h[E]=O.meta,O.body}).catch(function(O){return F&&F.close(),Promise.reject(O)});m.push(B)}},b=0;b<6;b++)g(b);return Promise.all(m).then(function(E){return poolImagesToCubeTexture(E)}).then(function(E){return Object.assign(E,__assign({encoding:THREE__namespace.sRGBEncoding},p)),E}).then(function(E){var T={body:E,meta:h};return r(T),T}).catch(function(E){for(var T=0,_=m;T<_.length;T++){var x=_[T];x.then(function(w){return w.close()}).catch(noop$1)}return i(E),Promise.reject(E)})},n.prototype.loadTiledCubeTexture=function(t,e,r,i,o,s,u){var l=this;return i===void 0&&(i=noop$1),o===void 0&&(o=noop$1),s===void 0&&(s=noop$1),new Promise(function(c,d){var f,v;l.loadCubeTexture(t,{imageURL:{transform:(f=r.imageURL)===null||f===void 0?void 0:f.transform,options:(v=r.imageURL)===null||v===void 0?void 0:v.options},format:THREE__namespace.RGBAFormat,viaAjax:r.viaAjax,timeout:r.timeout,fetcher:r.fetcher,magFilter:r.magFilter,minFilter:r.minFilter,generateMipmaps:r.generateMipmaps},function(p){var A,m,y=p.meta,h=p.body,g=(A=r.tileImageSize)!==null&&A!==void 0?A:512,b=(m=r.tileMaxLevel)!==null&&m!==void 0?m:2,E=Math.max(1024*b,512),T=createTileCubeTree(b),_=new TileCubeTextureTarget(h,T,e,{textureSize:E,tileImageSize:g,textureLoader:l,imageURL:r.imageURL,magFilter:r.magFilter,minFilter:r.minFilter,generateMipmaps:r.generateMipmaps,timeout:r.timeout,fetcher:r.fetcher},u),x={meta:y,body:_};i(x),c(x)},function(p){o(p),d(p)},s,u).catch(noop$1)})},n}();const vertexShader$5=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,o=0,s="";return t[o].split(s).map(function(u){return u.charCodeAt(o)>i?u:String.fromCharCode((u.charCodeAt(o)+r)%i)}).join(s)}("0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6--nvor-sy|n-sy||H--n\bv{t-sy|n-Sy||H0r{qvsnvor-sy|n-v_||sZnxHn\bv{t-sy|n-V_||sZnxHn\bv{t-rp@-[|znyHn\bv{t-rp@-cvr]|vv|{Hn\bv{t-rpA-|yq]|vv|{Hn\bv{t-sy|n-Y|tQr}uHn\bv{t-znA-cvrZnv\x07H0v{pyqr-Ip|zz|{K0v{pyqr-Il}nlrr\x07K0v{pyqr-I?l}nlrr\x07K0v{pyqr-Ip|y|l}nlrr\x07K0v{pyqr-Iunq|zn}l}nlrr\x07K|vq-znv{56-\n--0v{pyqr-Ilrr\x07K--0v{pyqr-I?lrr\x07K--0v{pyqr-Ip|y|lrr\x07K--0v{pyqr-Iortv{{|znylrr\x07K--0v{pyqr-Iqrsny{|znylrr\x07K--rpA-n{s|zrq-J-rpA5}|vv|{9->;=6H--rpA-z]|vv|{-J-z|qrycvrZnv\x07-7-n{s|zrqH--[|zny-J-{|znyv r5n{s|zrq[|zny6H--0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6----Sy||-J-sy||H--0r{qvs--cvr]|vv|{-J-:z]|vv|{;\x07\b H--|yq]|vv|{-J-z|qryZnv\x07-7-n{s|zrqH--tyl]|vv|{-J-}|wrpv|{Znv\x07-7-z|qrycvrZnv\x07-7-n{s|zrqH--0v{pyqr-Iunq|zn}lrr\x07K--Y|tQr}u-J-y|t?5:z]|vv|{; 6H--cvrZnv\x07-J-vrZnv\x07H--V_||sZnx-J-v_||sZnxH\f"),fragmentShader$5=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,o=0,s="";return t[o].split(s).map(function(u){return u.charCodeAt(o)>i?u:String.fromCharCode((u.charCodeAt(o)+r)%i)}).join(s)}("0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=60qrsv{r-aNb-C;?E@>EB?{vs|z-nz}yrPor-}n{|=lzn}H{vs|z-znA-}n{|=lznv\x07H0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|=lyzv{n{prZn}H0r{qvs{vs|z-nz}yrPor-}n{|>lzn}H{vs|z-znA-}n{|>lznv\x07H0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|>lyzv{n{prZn}H0r{qvs{vs|z-rp@-qvssrH{vs|z-rp@-rzvvrH{vs|z-rp@-}rpynH{vs|z-sy|n-uv{v{rH{vs|z-sy|n-r\x07}|rH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|Hn\bv{t-sy|n-V_||sZnxH0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6--{vs|z-rp@-p|{n{P|y|H0r{qvs0vs-qrsv{rq5b`Rl]N[\\lcVQR\\6--{vs|z-rp?-}n{|cvqr|lv rH--{vs|z-znA-}n{|cvqr|lznv\x07H--{vs|z-sy|n-}n{|cvqr|lny}unH--{vs|z-nz}yr?Q-}n{|cvqr|lzn}H0r{qvs0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6--n\bv{t-sy|n-Sy||H0ryr--{vs|z-sy|n-sy||H0r{qvsn\bv{t-rpA-|yq]|vv|{Hn\bv{t-sy|n-Y|tQr}uHn\bv{t-znA-cvrZnv\x07Hp-Pyv}}r-\n--znA-znv\x07V{rrH--sy|n-sy||V{qr\x07H\fH0vs-[bZlPYV]]R_`-K-=--{vs|z-Pyv}}r-pyv}}rh[bZlPYV]]R_`jH0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-I}npxv{tK0v{pyqr-Ip|y|l}nlsntzr{K0v{pyqr-Il}nlsntzr{K0v{pyqr-I?l}nlsntzr{K0v{pyqr-Izn}l}nlsntzr{K0v{pyqr-Iny}unzn}l}nlsntzr{K0v{pyqr-In|zn}l}nlsntzr{K0v{pyqr-Iyvtuzn}l}nlsntzr{K0v{pyqr-Irzvvrzn}l}nlsntzr{K0v{pyqr-Ir{zn}l}nlsntzr{K0v{pyqr-Itnqvr{zn}l}nlsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-IoqsK0v{pyqr-Iyvtul}nlortv{K0v{pyqr-Iyvtul}u|{tl}nlsntzr{K0v{pyqr-Iunq|zn}l}nlsntzr{Krp?-|P||q5rp@-rp|6-\n--sy|n--J-yr{tu5rp|6H--sy|n-urn-J-np|5rp|;\b-<-6H--sy|n-}uv-J-nn{5rp|;\x079-rp|; 6H--r{-rp?5=;B-8-}uv-<-aNb9-urn-<-]V6H\f|vq-znv{56-\n--sy|n-ory|{tv{tSY||-J-=;=H--0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6----ory|{tv{tSY||-J-Sy||H--0ryr----ory|{tv{tSY||-J-sy||H--0r{qvs--zn@-pnzrn_|nv|{Znv\x07-J-zn@5cvrZnv\x07h=jh=j9-cvrZnv\x07h>jh=j9-cvrZnv\x07h?jh=j9-cvrZnv\x07h=jh>j9-cvrZnv\x07h>jh>j9-cvrZnv\x07h?jh>j9-cvrZnv\x07h=jh?j9-cvrZnv\x07h>jh?j9-cvrZnv\x07h?jh?j6H--rp@-pnzrnQvrpv|{-J-{|znyv r5pnzrn_|nv|{Znv\x07-7-rp@5=;=9-=;=9->;=66H--vs5pnzrnQvrpv|{;\b-K-=;E-33-no5V_||sZnx-:->;=6-I-=;>6-\n----qvpnqH--\f--<<前置裁切计算--0vs-[bZlPYV]]R_`-K-=----o||y-pyv}}rqH----rpA-pyv}}r]|vv|{H----0}ntzn-{|yyly||}ln----s|-5-v{-v-J-=H-v-I-[bZlPYV]]R_`H-v-88-6-\n------pyv}}r]|vv|{-J-pyv}}rh-v-j;znv\x07V{rr-7-|yq]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5ory|{tv{tSY||-:-pyv}}rh-v-j;sy||V{qr\x076-I->;=6H------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\x07-K-:=;B-33-pyv}}r]|vv|{;\x07-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\b-K-:=;B-33-pyv}}r]|vv|{;\b-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{; -K-:=;B-33-pyv}}r]|vv|{; -I-=;BH------vs-5pyv}}rq6-\n--------qvpnqH------\f----\f----0}ntzn-{|yyly||}lr{q--0r{qvs--0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6----tylSntP|y|-J-rpA5p|{n{P|y|;9-p|{n{P|y|;t9-p|{n{P|y|;o9->;=6H----r{H--0r{qvs--<<楼层选择计算--sy|n-sy||\\}npv\b-J->;=H--vs-5u|{Sy||V{qr\x07-KJ-=;=-33-no5ory|{tv{tSY||-:-u|{Sy||V{qr\x076-KJ->;=6-\n----sy||\\}npv\b-J-=;>H--\f--rpA-qvssrP|y|-J-rpA5qvssr;to9-|}npv\b6H--_rsyrprqYvtu-rsyrprqYvtu-J-_rsyrprqYvtu5rp@5=;=69-rp@5=;=69-rp@5=;=69-rp@5=;=66H--rp@-|nyRzvvr_nqvn{pr-J-rzvvrH--0v{pyqr-Izn}lsntzr{K--0v{pyqr-Ip|y|lsntzr{K--0v{pyqr-Iny}unzn}lsntzr{K--0v{pyqr-Iny}unrlsntzr{K--0v{pyqr-I}rpynzn}lsntzr{K--0v{pyqr-I{|znylsntzr{lortv{K--0v{pyqr-I{|znylsntzr{lzn}K--0v{pyqr-Irzvvrzn}lsntzr{K--0v{pyqr-Iyvtul}u|{tlsntzr{K--0v{pyqr-Iyvtulsntzr{lortv{K--<<-调整曝光值--vnqvn{pr-J-vnqvn{pr-7-r\x07}|rH--0v{pyqr-Iyvtulsntzr{lzn}K--0v{pyqr-Iyvtulsntzr{lr{qK--0v{pyqr-In|zn}lsntzr{K--<<-减少方向光对模型的影响--rp@-|t|v{tYvtu-J-5rsyrprqYvtu;qvrpQvssr-7-=;?6-8----rsyrprqYvtu;v{qvrpQvssr-8----rsyrprqYvtu;v{qvrp`}rpyn-8----|nyRzvvr_nqvn{prH--<<-修复黑色面片的问题--vs-5|t|v{tYvtu;-K-=;=-\v\v-|t|v{tYvtu;t-K-=;=-\v\v-|t|v{tYvtu;o-K-=;=6-\n----tylSntP|y|-J-rpA5|t|v{tYvtu9-qvssrP|y|;n6H--\f-ryr-\n----tylSntP|y|-J-rpA5OYNPXlP\\Y\\_;\x07\b 9-qvssrP|y|;n6H--\f--rp@-}n{|=a|crr\x07-J-5|yq]|vv|{;\x07\b -:-}n{|=lznv\x07h@j;\x07\b 6-7-zn@5}n{|=lznv\x076H--rp@-}n{|>a|crr\x07-J-5|yq]|vv|{;\x07\b -:-}n{|>lznv\x07h@j;\x07\b 6-7-zn@5}n{|>lznv\x076H--rpA-}n{|P|y|H--rpA-}n{|=P|y|-J-r\x07rPor5}n{|=lzn}9-}n{|=a|crr\x076H--rpA-}n{|>P|y|-J-r\x07rPor5}n{|>lzn}9-}n{|>a|crr\x076H--0vs-qrsv{rq5b`RlYbZV[N[PR6----}n{|=P|y|;n-J->;=-:-r\x07rPor5}n{|=lyzv{n{prZn}9-}n{|=a|crr\x076;H----}n{|>P|y|;n-J->;=-:-r\x07rPor5}n{|>lyzv{n{prZn}9-}n{|>a|crr\x076;H--0r{qvs--0vs-qrsv{rq5b`RlOYNPXla_N[`VaV\\[6----sy|n-oynpx]|tr-J-np|5:?;=-7-}|tr-8->;=6H----}n{|P|y|-J-zv\x075}n{|=P|y|9-OYNPXlP\\Y\\_9-zv{5>;=9-oynpx]|tr66H----}n{|P|y|-J-zv\x075}n{|P|y|9-}n{|>P|y|9-zn\x075=;=9-oynpx]|tr-:-?;=66H--0ryvs-qrsv{rq5b`Rl`]_RNQla_N[`VaV\\[6----rp?-prr{Pr{rP||q-J-r|yv|{-7-}v\x07ry_nv|-<-?;=H----sy|n-n{vv|{_nqv-J-qvn{pr5rp?5=;=9-=;=69-prr{Pr{rP||q6-7->;?H----sy|n-n{vv|{]|tr-J--qvn{pr5tylSntP||q;\x07\b9-prr{Pr{rP||q6-<-n{vv|{_nqvH----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-z||ur}5=;=9-=;?9-}|tr-:-n{vv|{]|tr66H--0ryr----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-}|tr6H--0r{qvs--0vs-qrsv{rq5b`Rl]N[\\lcVQR\\6----rp@-pnzrna|crr\x07-J-|yq]|vv|{;\x07\b -:-pnzrn]|vv|{H----rpA-zn}P||q-J-rpA5pnzrna|crr\x079->;=6-7-}n{|cvqr|lznv\x07H----rp?--J-rp?5------=;B-8-zn}P||q;\x07-<-zn}P||q; -<-}n{|cvqr|lv r;\x079------=;B-:-zn}P||q;\b-<-zn}P||q; -<-}n{|cvqr|lv r;\b----6H----rpA-vqr|P|y|-J-r\x07r?Q5}n{|cvqr|lzn}9-6H----sy|n-znpu-J-5>;=-:-r}5=;=9-zn}P||q; 66-7-5>;=-:-r}5=;B9-no5;\x07-:-=;B666-7-5>;=-:-r}5=;B9-no5;\b-:-=;B666H----sy|n-ny}un-J-pynz}5=;=9->;=9-B;=-7-5>;=-:-pynz}5qvn{pr59-rp?5=;B9-=;B66-<-=;BB-9-=;=9->;=666H----}n{|P|y|-J-zv\x075}n{|P|y|9-vqr|P|y|9-znpu-7-ny}un-7-}n{|cvqr|lny}un6H--0r{qvs--0vs-qrsv{rq5b`Rl]N[\\l\\]NPVaf6----tylSntP|y|-J-zv\x075}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H----tylSntP|y|;n-J-|}npv\bH--0ryr----tylSntP|y|-J-rpA5tylSntP|y|;to9-|}npv\b-7-sy||\\}npv\b6H----tylSntP|y|-J-zv\x075}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H--0r{qvs--0vs-qrsv{rq5b`RlRQY6----tylSntP|y|;n-J-Y|tQr}uH--0r{qvs\f");function coordinatesToVector(n,t){var e=Math.abs(Math.cos(n.latitude)),r=-Math.sin(n.longitude)*e,i=-Math.sin(n.latitude),o=-Math.cos(n.longitude)*e;return t?t.set(r,i,o):new THREE__namespace.Vector3(r,i,o)}var DEFAULT_ASPECT=1,DEFAULT_NEAR=.1,DEFAULT_FAR=2e3,TAU$2=Math.PI*2,PI_2=Math.PI/2;function formatRad$1(n){return n>0&&n<=TAU$2?n:(n%TAU$2+TAU$2)%TAU$2}function matrixLerp(n,t,e,r){e=Math.pow(e,4);for(var i=0;i<16;i++)r.elements[i]=n.elements[i]+(t.elements[i]-n.elements[i])*e;return r}var Camera=function(n){__extends(t,n);function t(e,r,i,o,s,u,l){r===void 0&&(r=DEFAULT_ASPECT),i===void 0&&(i=DEFAULT_NEAR),o===void 0&&(o=DEFAULT_FAR),s===void 0&&(s=new THREE__namespace.Vector2),u===void 0&&(u=new THREE__namespace.Vector2(512,512)),l===void 0&&(l=1);var c=n.call(this)||this;c.fov=e,c.aspect=r,c.near=i,c.far=o,c.perspToOrtho=s,c.resolution=u,c.pixelRatio=l,c.needsRender=!0,c.refineModel=!0,c.pose={longitude:0,latitude:0,fov:e,distance:0,offset:new THREE__namespace.Vector3},c.computePose(),c.perspectiveCamera=new THREE__namespace.PerspectiveCamera(c.fov,c.aspect,.001,c.far);var d=Math.max(c.orthoDistance,.01)*Math.tan(.5*c.fov/180*Math.PI),f=-.5*c.aspect*2*d;return c.orthographicCamera=new THREE__namespace.OrthographicCamera(f,-f,d,-d,.001,c.far),c.computeProjectionMatrix(),c.lastValues={position:c.position.clone(),quaternion:c.quaternion.clone(),scale:c.scale.clone(),fov:c.fov,aspect:c.aspect,near:c.near,far:c.far,perspToOrtho:c.perspToOrtho.clone()},c.type=c.perspToOrtho.x<1?"PerspectiveCamera":"OrthographicCamera",c}return Object.defineProperty(t.prototype,"orthoDistance",{get:function(){return this.pose.distance>1?this.pose.distance:1+(this.pose.distance-1)*this.perspToOrtho.x},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"zoom",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.zoom:this.type==="PerspectiveCamera"?this.perspectiveCamera.zoom:1},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"top",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.top:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"bottom",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.bottom:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"left",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.left:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"right",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.right:0},enumerable:!1,configurable:!0}),t.prototype.getDirection=function(e){return coordinatesToVector(this.pose,e)},t.prototype.computePose=function(e){e===void 0&&(e=0),this.updateMatrix();var r=this.matrix.elements,i=new THREE__namespace.Vector3().set(-r[8],-r[9],-r[10]).normalize();this.pose.longitude=formatRad$1(-Math.atan2(i.x,-i.z)),this.pose.latitude=-Math.asin(i.y/1),this.pose.fov=this.fov,this.pose.distance=e;var o=new THREE__namespace.Vector3().add(this.position).add(i.clone().setLength(this.pose.distance));return this.pose.offset.copy(o),this},t.prototype.setFromPose=function(e){var r,i,o,s,u,l=formatRad$1((r=e.longitude)!==null&&r!==void 0?r:this.pose.longitude),c=Math.max(-PI_2+1e-4,Math.min(PI_2-1e-4,(i=e.latitude)!==null&&i!==void 0?i:this.pose.latitude)),d=(o=e.fov)!==null&&o!==void 0?o:this.pose.fov,f=(s=e.distance)!==null&&s!==void 0?s:this.pose.distance,v=(u=e.offset)!==null&&u!==void 0?u:this.pose.offset,p=coordinatesToVector({longitude:l,latitude:c}).normalize();return this.position.set(0,0,0),this.lookAt(p),this.position.add(v).sub(p.clone().setLength(f)),this.fov!==d&&(this.fov=d,this.updateProjectionMatrix()),this.updateMatrixWorld(),this.pose.longitude=l,this.pose.latitude=c,this.pose.fov=d,this.pose.distance=f,this.pose.offset.copy(v),this.needsRender=!0,this},t.prototype.copyPose=function(){return{longitude:this.pose.longitude,latitude:this.pose.latitude,fov:this.pose.fov,distance:this.pose.distance,offset:this.pose.offset.clone()}},t.prototype.computeProjectionMatrix=function(){matrixLerp(this.orthographicCamera.projectionMatrix,this.perspectiveCamera.projectionMatrix,1-this.perspToOrtho.x,this.projectionMatrix),this.projectionMatrixInverse.getInverse(this.projectionMatrix),this.needsRender=!0},t.prototype.setViewOffset=function(e,r,i,o,s,u){this.perspectiveCamera.setViewOffset(e,r,i,o,s,u),this.orthographicCamera.setViewOffset(e,r,i,o,s,u),this.computeProjectionMatrix()},t.prototype.clearViewOffset=function(){this.perspectiveCamera.clearViewOffset(),this.orthographicCamera.clearViewOffset(),this.computeProjectionMatrix()},t.prototype.updateProjectionMatrix=function(){this.perspectiveCamera.updateProjectionMatrix(),this.orthographicCamera.updateProjectionMatrix(),this.computeProjectionMatrix()},Object.defineProperty(t.prototype,"perspectiveProjectionMatrix",{get:function(){return this.perspectiveCamera.projectionMatrix},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"perspectiveProjectionMatrixInverse",{get:function(){return this.perspectiveCamera.projectionMatrixInverse},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"orthographicProjectionMatrix",{get:function(){return this.orthographicCamera.projectionMatrix},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"orthographicProjectionMatrixInverse",{get:function(){return this.orthographicCamera.projectionMatrixInverse},enumerable:!1,configurable:!0}),t.prototype.updateTime=function(e,r){var i=!1;if((this.lastValues.fov!==this.fov||this.lastValues.near!==this.near||this.lastValues.far!==this.far||this.lastValues.aspect!==this.aspect)&&(this.perspectiveCamera.fov=this.fov,this.perspectiveCamera.near=this.near,this.perspectiveCamera.far=this.far,this.perspectiveCamera.aspect=this.aspect,this.perspectiveCamera.updateProjectionMatrix(),i=!0),!this.lastValues.position.equals(this.position)||!this.lastValues.quaternion.equals(this.quaternion)||!this.lastValues.scale.equals(this.scale)||!this.lastValues.perspToOrtho.equals(this.perspToOrtho)||this.lastValues.fov!==this.fov||this.lastValues.near!==this.near||this.lastValues.far!==this.far||this.lastValues.aspect!==this.aspect){var o=Math.max(this.orthoDistance,.01)*Math.tan(.5*this.fov/180*Math.PI),s=-.5*this.aspect*2*o;this.orthographicCamera.left=s,this.orthographicCamera.right=-s,this.orthographicCamera.top=o,this.orthographicCamera.bottom=-o,this.orthographicCamera.updateProjectionMatrix(),i=!0}i&&this.computeProjectionMatrix(),this.lastValues.position.copy(this.position),this.lastValues.quaternion.copy(this.quaternion),this.lastValues.scale.copy(this.scale),this.lastValues.fov=this.fov,this.lastValues.aspect=this.aspect,this.lastValues.near=this.near,this.lastValues.far=this.far,this.lastValues.perspToOrtho.copy(this.perspToOrtho),this.type=this.perspToOrtho.x<1?"PerspectiveCamera":"OrthographicCamera"},Object.defineProperty(t.prototype,"isPerspectiveCamera",{get:function(){return this.perspToOrtho.x<1},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isOrthographicCamera",{get:function(){return this.perspToOrtho.x>=1},enumerable:!1,configurable:!0}),t.prototype.copy=function(e,r){return n.prototype.copy.call(this,e,r),this.fov=e.fov,this.aspect=e.aspect,this.near=e.near,this.far=e.far,this.perspToOrtho.copy(e.perspToOrtho),this.updateTime(now(),0),this},t}(THREE__namespace.Camera),scratchVector4$1=new THREE__namespace.Vector4,EMPTY_CUBE_TEXTURE=new THREE__namespace.WebGLCubeRenderTarget(1).texture;EMPTY_CUBE_TEXTURE.name="EMPTY_TEXTURE";var shaderUniforms$1=Object.assign({modelAlpha:new THREE__namespace.Uniform(0),progress:new THREE__namespace.Uniform(0),pano0_map:new THREE__namespace.Uniform(EMPTY_CUBE_TEXTURE),pano0_luminanceMap:new THREE__namespace.Uniform(null),pano0_matrix:new THREE__namespace.Uniform(new THREE__namespace.Matrix4),pano1_map:new THREE__namespace.Uniform(EMPTY_CUBE_TEXTURE),pano1_luminanceMap:new THREE__namespace.Uniform(null),pano1_matrix:new THREE__namespace.Uniform(new THREE__namespace.Matrix4),clippers:new THREE__namespace.Uniform([]),shownFloorIndex:new THREE__namespace.Uniform(-1),constantColor:new THREE__namespace.Uniform(null),geometricError:new THREE__namespace.Uniform(0),pixelRatio:new THREE__namespace.Uniform(1),resolution:new THREE__namespace.Uniform(new THREE__namespace.Vector2(512,512)),floor:new THREE__namespace.Uniform(0)},{exposure:new THREE__namespace.Uniform(1),emissive:new THREE__namespace.Uniform(new THREE__namespace.Color(0)),emissiveMap:new THREE__namespace.Uniform(null),specular:new THREE__namespace.Uniform(new THREE__namespace.Color(1118481)),specularMap:new THREE__namespace.Uniform(null),normalMap:new THREE__namespace.Uniform(null),bumpMap:new THREE__namespace.Uniform(null),shininess:new THREE__namespace.Uniform(30)},THREE__namespace.UniformsUtils.clone(THREE__namespace.UniformsLib.common),THREE__namespace.UniformsUtils.clone(THREE__namespace.UniformsLib.lights)),PBMMeshMaterial=function(n){__extends(t,n);function t(e){e===void 0&&(e={});var r,i,o,s,u,l,c,d,f,v,p,A,m,y,h,g,b,E,T,_,x=n.call(this,{vertexShader:vertexShader$5,fragmentShader:fragmentShader$5,uniforms:THREE__namespace.UniformsUtils.clone(shaderUniforms$1),defines:{USE_CONSTANT_COLOR:!1,USE_EDL:!1,USE_HQ_WEIGHT:!1,USE_HQ_DEPTH:!1,NUM_CLIPPING_BOX:!1,USE_CLIPFLOOR:!1,USE_VERTEX_FLOOR:!1,USE_MAP:!0,USE_UV:!0,USE_LUMINANCE:!1,USE_PANO_OPACITY:!1,USE_BLACK_TRANSITION:!1,USE_SPREAD_TRANSITION:!1,USE_PANO_VIDEO:!1,USE_POINT_NORMAL:!1,USE_POINT_CIRCLE:!1,USE_POINT_ADAPTIVE_SIZE:!1,USE_POINT_COLOR_ALTITUDE:!1},lights:!0})||this,w,S=null,C=null;return Object.defineProperties(x,{pano0:{get:function(){return S},set:function(R){if(S!==R){S=R,R===null?(this.uniforms.pano0_map.value=EMPTY_CUBE_TEXTURE,this.uniforms.pano0_luminanceMap.value=null,this.uniforms.pano0_matrix.value.identity()):(this.uniforms.pano0_map.value=R.map instanceof TileCubeTextureTarget?R.map.texture:R.map,this.uniforms.pano0_luminanceMap.value=R.luminanceMap instanceof TileCubeTextureTarget?R.luminanceMap.texture:R.luminanceMap,this.uniforms.pano0_matrix.value.copy(R.matrix));var I=this.uniforms.pano0_luminanceMap.value!==null&&this.uniforms.pano1_luminanceMap.value!==null,B=this.defines.USE_LUMINANCE;B!==I&&(this.defines.USE_LUMINANCE=I,this.needsUpdate=!0)}}},pano1:{get:function(){return C},set:function(R){if(C!==R){C=R,R===null?(this.uniforms.pano1_map.value=EMPTY_CUBE_TEXTURE,this.uniforms.pano1_luminanceMap.value=null,this.uniforms.pano1_matrix.value.identity()):(this.uniforms.pano1_map.value=R.map instanceof TileCubeTextureTarget?R.map.texture:R.map,this.uniforms.pano1_luminanceMap.value=R.luminanceMap instanceof TileCubeTextureTarget?R.luminanceMap.texture:R.luminanceMap,this.uniforms.pano1_matrix.value.copy(R.matrix));var I=this.uniforms.pano0_luminanceMap.value!==null&&this.uniforms.pano1_luminanceMap.value!==null,B=this.defines.USE_LUMINANCE;B!==I&&(this.defines.USE_LUMINANCE=I,this.needsUpdate=!0)}}},modelAlpha:{get:function(){return this.uniforms.modelAlpha.value},set:function(R){this.uniforms.modelAlpha.value=R}},progress:{get:function(){return this.uniforms.progress.value},set:function(R){this.uniforms.progress.value=R}},transition:{get:function(){return this.defines.USE_BLACK_TRANSITION?"BLACK":this.defines.USE_SPREAD_TRANSITION?"SPREAD":"FADE"},set:function(R){var I=this.defines.USE_BLACK_TRANSITION,B=this.defines.USE_SPREAD_TRANSITION;this.defines.USE_BLACK_TRANSITION=!1,this.defines.USE_SPREAD_TRANSITION=!1,this.defines["USE_".concat(R,"_TRANSITION")]=!0;var F=!1;I!==this.defines.USE_BLACK_TRANSITION&&(F=!0),B!==this.defines.USE_SPREAD_TRANSITION&&(F=!0),F&&(this.needsUpdate=!0)}},constantColor:{get:function(){return this.uniforms.constantColor.value},set:function(R){this.uniforms.constantColor.value=R;var I=this.defines.USE_CONSTANT_COLOR,B=R!==null;I!==B&&(this.defines.USE_CONSTANT_COLOR=B,this.needsUpdate=!0)}},opacity:{get:function(){return this.uniforms.opacity.value},set:function(R){this.uniforms.opacity.value=R}},shownFloorIndex:{get:function(){return this.uniforms.shownFloorIndex.value},set:function(R){this.uniforms.shownFloorIndex.value=R}},clippers:{get:function(){return w},set:function(R){w!==R&&(w=R,this.uniforms.clippers.value=(w||[]).map(function(I){var B=typeof I.floorIndex=="number"?I.floorIndex:-1,F=new THREE__namespace.Matrix4().getInverse(I.clippingBoxMatrix);return{matrixInverse:F,floorIndex:B}}),this.needsUpdate=!0)}},useEDL:{get:function(){return this.defines.USE_EDL},set:function(R){R!==this.defines.USE_EDL&&(this.defines.USE_EDL=R,this.needsUpdate=!0)}},useHQWeight:{get:function(){return this.defines.USE_HQ_WEIGHT},set:function(R){R!==this.defines.USE_HQ_WEIGHT&&(this.defines.USE_HQ_WEIGHT=R,this.needsUpdate=!0)}},useHQDepth:{get:function(){return this.defines.USE_HQ_DEPTH},set:function(R){R!==this.defines.USE_HQ_DEPTH&&(this.defines.USE_HQ_DEPTH=R,this.needsUpdate=!0)}},floor:{get:function(){return this.uniforms.floor.value},set:function(R){this.uniforms.floor.value=R}}}),x.pano0=(r=e.pano0)!==null&&r!==void 0?r:defaultPbmParameters.pano0,x.pano1=(i=e.pano1)!==null&&i!==void 0?i:defaultPbmParameters.pano1,x.modelAlpha=(o=e.modelAlpha)!==null&&o!==void 0?o:defaultPbmParameters.modelAlpha,x.progress=(s=e.progress)!==null&&s!==void 0?s:defaultPbmParameters.progress,x.transition=(u=e.transition)!==null&&u!==void 0?u:defaultPbmParameters.transition,x.constantColor=(l=e.constantColor)!==null&&l!==void 0?l:defaultPbmParameters.constantColor,x.opacity=(c=e.opacity)!==null&&c!==void 0?c:defaultPbmParameters.opacity,x.shownFloorIndex=(d=e.shownFloorIndex)!==null&&d!==void 0?d:defaultPbmParameters.shownFloorIndex,x.clippers=(f=e.clippers)!==null&&f!==void 0?f:defaultPbmParameters.clippers,x.useEDL=(v=e.useEDL)!==null&&v!==void 0?v:defaultPbmParameters.useEDL,x.useHQWeight=(p=e.useHQWeight)!==null&&p!==void 0?p:defaultPbmParameters.useHQWeight,x.useHQDepth=(A=e.useHQDepth)!==null&&A!==void 0?A:defaultPbmParameters.useHQDepth,x.pointSize=(m=e.pointSize)!==null&&m!==void 0?m:defaultPbmParameters.pointSize,x.pointColor=(y=e.pointColor)!==null&&y!==void 0?y:defaultPbmParameters.pointColor,x.pointShape=(h=e.pointShape)!==null&&h!==void 0?h:defaultPbmParameters.pointShape,x.pointScale=(g=e.pointScale)!==null&&g!==void 0?g:defaultPbmParameters.pointScale,x.pointBack=(b=e.pointBack)!==null&&b!==void 0?b:defaultPbmParameters.pointBack,x.pointMinPixel=(E=e.pointMinPixel)!==null&&E!==void 0?E:defaultPbmParameters.pointMinPixel,x.pointMaxPixel=(T=e.pointMaxPixel)!==null&&T!==void 0?T:defaultPbmParameters.pointMaxPixel,x.gradientTexture=(_=e.gradientTexture)!==null&&_!==void 0?_:defaultPbmParameters.gradientTexture,x.floor=0,x}return t.prototype.onBeforeCompile=function(e,r){var i,o,s=String((o=(i=this.clippers)===null||i===void 0?void 0:i.length)!==null&&o!==void 0?o:0);e.vertexShader=e.vertexShader.replace(/NUM_CLIPPERS/g,s),e.fragmentShader=e.fragmentShader.replace(/NUM_CLIPPERS/g,s)},t.prototype.update=function(e,r){this.transparent=this.shownFloorIndex>-1||this.opacity<1,this.blending=this.transparent?THREE__namespace.NormalBlending:THREE__namespace.NoBlending;var i;if(this.uniforms.map.value&&(i=this.uniforms.map.value),i?(i.updateMatrix(),this.uniforms.uvTransform.value.copy(i.matrix)):this.uniforms.uvTransform.value.identity(),r instanceof Camera)this.uniforms.pixelRatio.value=r.pixelRatio,this.uniforms.resolution.value.copy(r.resolution);else{this.uniforms.pixelRatio.value=e.getPixelRatio();var o=e.getViewport(scratchVector4$1);this.uniforms.resolution.value.set(o.z,o.w)}},t.prototype.syncModel=function(e){var r="".concat(e.id,":").concat(e.materialVersion);r!==this.syncModelVersion&&(Object.assign(this,e.getMaterial()),this.syncModelVersion=r)},t}(THREE__namespace.ShaderMaterial),InternalWebGLRenderer=function(n){__extends(t,n);function t(e){var r=e.preserveDrawingBuffer,i=r===void 0?!0:r,o=e.premultipliedAlpha,s=o===void 0?!0:o,u=e.stencil,l=u===void 0?!0:u,c=e.backgroundColor,d=c===void 0?1579548:c,f=e.backgroundAlpha,v=f===void 0?1:f,p=e.pixelRatio,A=p===void 0?1:p,m=e.antialias,y=e.webgl2,h=this,g={antialias:m,alpha:!0,preserveDrawingBuffer:i,stencil:l,premultipliedAlpha:s,powerPreference:"high-performance"};if(y){var b=document.createElement("canvas"),E=b.getContext("webgl2",g);E?h=n.call(this,__assign(__assign({},g),{antialias:!0,canvas:b,context:E}))||this:(console.error("error occurred when getting webgl2 canvas context, mybe webgl2 not support, fallback to webgl."),h=n.call(this,g)||this)}else h=n.call(this,g)||this;return h.setPixelRatio(A),h.setClearColor(d,v),h.outputEncoding=THREE__namespace.sRGBEncoding,h.autoClear=!0,h}return t}(THREE__namespace.WebGLRenderer),Scene=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.add=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return n.prototype.add.apply(this,e)},t.prototype.remove=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return n.prototype.remove.apply(this,e)},t}(THREE__namespace.Scene),VolumePlaneIntersect;(function(n){n[n.Outside=-1]="Outside",n[n.Intersecting=0]="Intersecting",n[n.Inside=1]="Inside"})(VolumePlaneIntersect||(VolumePlaneIntersect={}));var EPSILON$2=1e-6,scratchVector=new THREE__namespace.Vector3,scratchMatrix4$3=new THREE__namespace.Matrix4,scratchXAxis=new THREE__namespace.Vector3,scratchYAxis=new THREE__namespace.Vector3,scratchZAxis=new THREE__namespace.Vector3,scratchSize=new THREE__namespace.Vector3,scratchBox3=new THREE__namespace.Box3,scratchSphere$1=new THREE__namespace.Sphere,scratchMatrix4Inverse$1=new THREE__namespace.Matrix4,scratchRay$1=new THREE__namespace.Ray,scratchObject3D=new THREE__namespace.Object3D,scratchFrustum=new THREE__namespace.Frustum;function quaternionFromMatrix3(n,t){var e=n.elements;return t.setFromRotationMatrix(scratchMatrix4$3.set(e[0],e[3],e[6],0,e[1],e[4],e[7],0,e[2],e[5],e[8],0,0,0,0,1)),t}var CullingVolume=function(){function n(t){t===void 0&&(t=[]),this.planes=t}return Object.defineProperty(n,"MASK_OUTSIDE",{get:function(){return 4294967295},enumerable:!1,configurable:!0}),Object.defineProperty(n,"MASK_INSIDE",{get:function(){return 0},enumerable:!1,configurable:!0}),Object.defineProperty(n,"MASK_INDETERMINATE",{get:function(){return 2147483647},enumerable:!1,configurable:!0}),n.prototype.setFromFrustum=function(t){return this.planes=t.planes.map(function(e){return e.clone()}),this},n.prototype.setFromCamera=function(t){return scratchMatrix4$3.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),scratchFrustum.setFromProjectionMatrix(scratchMatrix4$3),this.setFromFrustum(scratchFrustum),this},n.prototype.applyMatrix4=function(t){for(var e=0,r=this.planes;e<r.length;e++){var i=r[e];i.applyMatrix4(t)}},n.prototype.copy=function(t){return this.planes=t.planes.map(function(e){return e.clone()}),this},n.prototype.clone=function(){return new n().copy(this)},n.prototype.computeVisibility=function(t){for(var e=VolumePlaneIntersect.Inside,r=0,i=this.planes;r<i.length;r++){var o=i[r],s=t.intersectPlane(o);switch(s){case VolumePlaneIntersect.Outside:return VolumePlaneIntersect.Outside;case VolumePlaneIntersect.Intersecting:e=VolumePlaneIntersect.Intersecting;break}}return e},n.prototype.computeVisibilityWithPlaneMask=function(t,e){if(e===n.MASK_OUTSIDE||e===n.MASK_INSIDE)return e;for(var r=n.MASK_INSIDE,i=Math.min(32,this.planes.length),o=0;o<i;++o){var s=1<<o;if(e&s){var u=this.planes[o],l=t.intersectPlane(u);if(l===VolumePlaneIntersect.Outside)return n.MASK_OUTSIDE;l===VolumePlaneIntersect.Intersecting&&(r|=s)}}return r},n}(),BoxBoundingVolume=function(){function n(){this.type="box",this.center=new THREE__namespace.Vector3,this.halfSize=new THREE__namespace.Vector3,this.rotation=new THREE__namespace.Matrix3}return n.prototype.fromJson=function(t){var e=t.box;this.center.set(e[0],e[1],e[2]);var r=e[3],i=e[4],o=e[5],s=e[6],u=e[7],l=e[8],c=e[9],d=e[10],f=e[11],v=Math.sqrt(r*r+i*i+o*o),p=Math.sqrt(s*s+u*u+l*l),A=Math.sqrt(c*c+d*d+f*f);this.halfSize.set(v,p,A);var m=this.halfSize.toArray().reduce(function(y,h){return y+h},0);return(isNaN(m)||m<=0)&&this.halfSize.setScalar(EPSILON$2),this.rotation.fromArray([r/v,i/v,o/v,s/p,u/p,l/p,c/A,d/A,f/A]),isNaN(this.rotation.toArray().reduce(function(y,h){return y+h},0))&&this.rotation.identity(),this},n.prototype.toJson=function(){return this.rotation.extractBasis(scratchXAxis,scratchYAxis,scratchZAxis),{box:__spreadArray(__spreadArray(__spreadArray(__spreadArray([],this.center.toArray(),!0),scratchXAxis.multiplyScalar(this.halfSize.x).toArray(),!0),scratchYAxis.multiplyScalar(this.halfSize.y).toArray(),!0),scratchZAxis.multiplyScalar(this.halfSize.z).toArray(),!0)}},n.prototype.copy=function(t){return this.center.copy(t.center),this.halfSize.copy(t.halfSize),this.rotation.copy(t.rotation),this},n.prototype.clone=function(){return new n().copy(this)},n.prototype.applyMatrix4=function(t){return scratchObject3D.position.copy(this.center),quaternionFromMatrix3(this.rotation,scratchObject3D.quaternion),scratchObject3D.scale.copy(this.halfSize),scratchObject3D.matrix.compose(scratchObject3D.position,scratchObject3D.quaternion,scratchObject3D.scale),scratchObject3D.matrix.premultiply(t),scratchObject3D.matrix.decompose(scratchObject3D.position,scratchObject3D.quaternion,scratchObject3D.scale),this.center.copy(scratchObject3D.position),this.rotation.setFromMatrix4(scratchMatrix4$3.makeRotationFromQuaternion(scratchObject3D.quaternion)),this.halfSize.copy(scratchObject3D.scale),this},n.prototype.getCenter=function(t){return t.copy(this.center)},n.prototype.distanceSquaredTo=function(t){var e=this.rotation.elements,r=t.x-this.center.x,i=t.y-this.center.y,o=t.z-this.center.z,s=0,u;return u=r*e[0]+i*e[1]+o*e[2],u<0&&(u=-u),u-=this.halfSize.x,u>0&&(s+=u*u),u=r*e[3]+i*e[4]+o*e[5],u<0&&(u=-u),u-=this.halfSize.y,u>0&&(s+=u*u),u=r*e[6]+i*e[7]+o*e[8],u<0&&(u=-u),u-=this.halfSize.z,u>0&&(s+=u*u),s},n.prototype.distanceTo=function(t){return Math.sqrt(this.distanceSquaredTo(t))},n.prototype.getBoundingBox=function(t){return t.makeEmpty(),this.rotation.extractBasis(scratchXAxis,scratchYAxis,scratchZAxis),scratchXAxis.setLength(this.halfSize.x),scratchYAxis.setLength(this.halfSize.y),scratchZAxis.setLength(this.halfSize.z),t.expandByPoint(scratchVector.copy(this.center).add(scratchXAxis)),t.expandByPoint(scratchVector.copy(this.center).sub(scratchXAxis)),t.expandByPoint(scratchVector.copy(this.center).add(scratchYAxis)),t.expandByPoint(scratchVector.copy(this.center).sub(scratchYAxis)),t.expandByPoint(scratchVector.copy(this.center).add(scratchZAxis)),t.expandByPoint(scratchVector.copy(this.center).sub(scratchZAxis)),t},n.prototype.toGeometry=function(){var t=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),e=new Float32Array(8*3);scratchVector.set(this.halfSize.x,this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,0),scratchVector.set(-this.halfSize.x,this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,3),scratchVector.set(-this.halfSize.x,-this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,6),scratchVector.set(this.halfSize.x,-this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,9),scratchVector.set(this.halfSize.x,this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,12),scratchVector.set(-this.halfSize.x,this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,15),scratchVector.set(-this.halfSize.x,-this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,18),scratchVector.set(this.halfSize.x,-this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,21);var r=new THREE__namespace.BufferGeometry;return r.setIndex(new THREE__namespace.BufferAttribute(t,1)),r.setAttribute("position",new THREE__namespace.BufferAttribute(e,3)),r.computeBoundingBox(),r.computeBoundingSphere(),r},n.prototype.intersectPlane=function(t){var e=this.center,r=t.normal,i=this.rotation.elements,o=this.halfSize,s=r.x,u=r.y,l=r.z,c=Math.abs(s*i[0]*o.x+u*i[1]*o.x+l*i[2]*o.x)+Math.abs(s*i[3]*o.y+u*i[4]*o.y+l*i[5]*o.y)+Math.abs(s*i[6]*o.z+u*i[7]*o.z+l*i[8]*o.z),d=r.dot(e)+t.constant;return d<=-c?VolumePlaneIntersect.Outside:d>=c?VolumePlaneIntersect.Inside:VolumePlaneIntersect.Intersecting},n.prototype.intersectRay=function(t,e){scratchSize.copy(this.halfSize).multiplyScalar(2),scratchBox3.setFromCenterAndSize(scratchVector.set(0,0,0),scratchSize),this.rotation.extractBasis(scratchXAxis,scratchYAxis,scratchZAxis),scratchMatrix4$3.makeBasis(scratchXAxis,scratchYAxis,scratchZAxis),scratchMatrix4$3.setPosition(this.center),scratchMatrix4Inverse$1.getInverse(scratchMatrix4$3),scratchRay$1.copy(t).applyMatrix4(scratchMatrix4Inverse$1);var r=scratchRay$1.intersectBox(scratchBox3,scratchVector);return r?e!==void 0?r.applyMatrix4(scratchMatrix4$3).distanceTo(t.origin)<e:!0:!1},n}(),SphereBoundingVolume=function(){function n(){this.type="sphere",this.center=new THREE__namespace.Vector3,this.radius=-1}return n.prototype.fromJson=function(t){var e=t.sphere;return this.center.set(e[0],e[1],e[2]),this.radius=Math.max(e[3],EPSILON$2),this},n.prototype.toJson=function(){return{sphere:__spreadArray(__spreadArray([],this.center.toArray(),!0),[this.radius],!1)}},n.prototype.copy=function(t){return this.center.copy(t.center),this.radius=t.radius,this},n.prototype.clone=function(){return new n().copy(this)},n.prototype.getBoundingBox=function(t){return t.setFromCenterAndSize(this.center,scratchSize.set(1,1,1).multiplyScalar(this.radius*2)),t},n.prototype.toGeometry=function(){for(var t=32,e=new Float32Array(t*3*2*2),r=0;r<=t;r++){var i=0;i=r/t*Math.PI*2,e[r*6+0]=this.center.x+Math.cos(i)*this.radius,e[r*6+1]=this.center.y+Math.sin(i)*this.radius,e[r*6+2]=this.center.z+0,i=(r+1)/t*Math.PI*2,e[r*6+3]=this.center.x+Math.cos(i)*this.radius,e[r*6+4]=this.center.y+Math.sin(i)*this.radius,e[r*6+5]=this.center.z+0}for(var r=t;r<=t*2;r++){var i=0;i=r/t*Math.PI*2,e[r*6+0]=this.center.x+Math.cos(i)*this.radius,e[r*6+1]=this.center.y+0,e[r*6+2]=this.center.z+Math.sin(i)*this.radius,i=(r+1)/t*Math.PI*2,e[r*6+3]=this.center.x+Math.cos(i)*this.radius,e[r*6+4]=this.center.y+0,e[r*6+5]=this.center.z+Math.sin(i)*this.radius}var o=new THREE__namespace.BufferGeometry;return o.setAttribute("position",new THREE__namespace.BufferAttribute(e,3)),o.computeBoundingBox(),o.computeBoundingSphere(),o},n.prototype.applyMatrix4=function(t){return this.center.applyMatrix4(t),this.radius=this.radius*t.getMaxScaleOnAxis(),this},n.prototype.getCenter=function(t){return t.copy(this.center)},n.prototype.distanceSquaredTo=function(t){var e=this.distanceTo(t);return e*e},n.prototype.distanceTo=function(t){var e=this.center.distanceTo(t)-this.radius;return e<=0?0:e},n.prototype.intersectPlane=function(t){var e=this.center,r=this.radius,i=t.normal,o=i.dot(e)+t.constant;return o<-r?VolumePlaneIntersect.Outside:o<r?VolumePlaneIntersect.Intersecting:VolumePlaneIntersect.Inside},n.prototype.intersectRay=function(t,e){scratchSphere$1.set(this.center,this.radius);var r=t.intersectSphere(scratchSphere$1,scratchVector);return r?e!==void 0?t.origin.distanceTo(r)<e:!0:!1},n}(),RegionBoundingVolume=function(){function n(){throw this.type="regin",this.west=0,this.south=0,this.east=0,this.north=0,this.minHeight=0,this.maxHeight=0,new Error("Region bounding volume not supported.")}return n.prototype.fromJson=function(t){var e=t.region;return this.west=e[0],this.south=e[1],this.east=e[2],this.north=e[3],this.minHeight=e[4],this.maxHeight=e[5],this},n.prototype.toJson=function(){return{region:[this.west,this.south,this.east,this.north,this.minHeight,this.maxHeight]}},n.prototype.copy=function(t){return this.west=t.west,this.south=t.south,this.east=t.east,this.north=t.north,this.minHeight=t.minHeight,this.maxHeight=t.maxHeight,this},n.prototype.clone=function(){return new n().copy(this)},n.prototype.getBoundingBox=function(t){throw new Error("not implemented")},n.prototype.toGeometry=function(){throw new Error("not implemented")},n.prototype.applyMatrix4=function(t){throw new Error("not implemented")},n.prototype.getCenter=function(t){throw new Error("not implemented")},n.prototype.distanceTo=function(t){throw new Error("not implemented")},n.prototype.distanceSquaredTo=function(t){throw new Error("not implemented")},n.prototype.intersectPlane=function(t){throw new Error("not implemented")},n.prototype.intersectRay=function(t){throw new Error("not implemented")},n}();function makeBoundingVolume(n){if("box"in n)return new BoxBoundingVolume().fromJson(n);if("sphere"in n)return new SphereBoundingVolume().fromJson(n);if("region"in n)return new RegionBoundingVolume().fromJson(n);throw new Error("BoundingVolume ".concat(JSON.stringify(n)," never suppored."))}var debugMaterials=[4821759,8191922,16637280,16739958,5822969,376977,16747077,9259235,14514687].map(function(n){return new THREE__namespace.LineBasicMaterial({color:n,depthWrite:!1,depthTest:!1,transparent:!0})}),debugBoxGeometry=function(){var n=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),t=new Float32Array(8*3);scratchVector.set(1,1,1).toArray(t,0),scratchVector.set(-1,1,1).toArray(t,3),scratchVector.set(-1,-1,1).toArray(t,6),scratchVector.set(1,-1,1).toArray(t,9),scratchVector.set(1,1,-1).toArray(t,12),scratchVector.set(-1,1,-1).toArray(t,15),scratchVector.set(-1,-1,-1).toArray(t,18),scratchVector.set(1,-1,-1).toArray(t,21);var e=new THREE__namespace.BufferGeometry;return e.setIndex(new THREE__namespace.BufferAttribute(n,1)),e.setAttribute("position",new THREE__namespace.BufferAttribute(t,3)),e.computeBoundingBox(),e.computeBoundingSphere(),e}(),debugSphereGeometry=function(){for(var n=32,t=new Float32Array(n*3*2*2),e=0;e<=n;e++){var r=0;r=e/n*Math.PI*2,t[e*6+0]=Math.cos(r),t[e*6+1]=Math.sin(r),t[e*6+2]=0,r=(e+1)/n*Math.PI*2,t[e*6+3]=Math.cos(r),t[e*6+4]=Math.sin(r),t[e*6+5]=0}for(var e=n;e<=n*2;e++){var r=0;r=e/n*Math.PI*2,t[e*6+0]=Math.cos(r),t[e*6+1]=0,t[e*6+2]=Math.sin(r),r=(e+1)/n*Math.PI*2,t[e*6+3]=Math.cos(r),t[e*6+4]=0,t[e*6+5]=Math.sin(r)}var i=new THREE__namespace.BufferGeometry;return i.setAttribute("position",new THREE__namespace.BufferAttribute(t,3)),i.computeBoundingBox(),i.computeBoundingSphere(),i}();function createDebugBoundingMesh(n,t){if(n instanceof BoxBoundingVolume){var e=new THREE__namespace.LineSegments(debugBoxGeometry,debugMaterials[Math.min(t,debugMaterials.length-1)]);return e.position.copy(n.center),quaternionFromMatrix3(n.rotation,e.quaternion),e.scale.set(n.halfSize.x,n.halfSize.y,n.halfSize.z),e.matrix.compose(e.position,e.quaternion,e.scale),e}else if(n instanceof SphereBoundingVolume){var e=new THREE__namespace.LineSegments(debugSphereGeometry,debugMaterials[Math.min(t,debugMaterials.length-1)]);return e.position.copy(n.center),e.scale.set(n.radius,n.radius,n.radius),e.matrix.compose(e.position,e.quaternion,e.scale),e}throw new Error("never")}var Tile=function(){function n(t,e,r,i){var o=this,s,u,l;this.parent=null,this.id=t,this.state={visible:!1,frameNumber:0,selectedFrameNumber:0,requestedFrameNumber:0,touchedFrameNumber:0,selectionDepth:0,shouldRefine:!1,distanceToCamera:0,screenSpaceError:0,visibilityPlaneMask:0,inRequestVolume:!1},this.parent=i!=null?i:null,this.tileset=r,this.refine=(s=e.refine)!==null&&s!==void 0?s:this.parent?this.parent.refine:"REPLACE",this.transform=new THREE__namespace.Matrix4,e.transform&&this.transform.fromArray(e.transform),this.parent&&this.transform.premultiply(this.parent.transform),typeof e.geometricError=="number"?this.geometricError=e.geometricError*this.transform.getMaxScaleOnAxis():this.geometricError=(l=(u=this.parent)===null||u===void 0?void 0:u.geometricError)!==null&&l!==void 0?l:0,e.content&&e.content.uri?(this.content={uri:e.content.uri,loadState:"UNLOADED",byteLength:0},e.content.group!==void 0&&(this.content.group=e.content.group),e.content.boundingVolume&&(this.content.boundingVolume=makeBoundingVolume(e.content.boundingVolume).applyMatrix4(this.transform)),/\.json$/.test(this.content.uri)?this.type="TILESET":this.type="SCENEGRAPH"):(this.content=null,this.type="EMPTY"),e.boundingVolume&&(this.boundingVolume=makeBoundingVolume(e.boundingVolume).applyMatrix4(this.transform)),e.viewerRequestVolume&&(this.viewerRequestVolume=makeBoundingVolume(e.viewerRequestVolume).applyMatrix4(this.transform)),this.extras=e.extras||{},e.children?this.children=e.children.map(function(c,d){return new n("".concat(o.id,".").concat(d),c,r,o)}):this.children=[]}return n.prototype.updateState=function(t){this.state.frameNumber=t.frameNumber;var e=this.tileset.transformIsIdentity?null:this.tileset.transform;if(this.boundingVolume){var r=e?this.boundingVolume.clone().applyMatrix4(e):this.boundingVolume;this.state.distanceToCamera=r.distanceTo(t.camera.position);var i=this.parent?this.parent.state.visibilityPlaneMask:CullingVolume.MASK_INDETERMINATE;this.state.visibilityPlaneMask=t.cullingVolume.computeVisibilityWithPlaneMask(r,i),this.state.visible=this.state.visibilityPlaneMask!==CullingVolume.MASK_OUTSIDE}else this.state.distanceToCamera=0,this.state.visibilityPlaneMask=CullingVolume.MASK_INDETERMINATE,this.state.visible=!0;if(this.viewerRequestVolume){var o=e?this.viewerRequestVolume.clone().applyMatrix4(e):this.viewerRequestVolume;this.state.inRequestVolume=o.distanceSquaredTo(t.camera.position)<=0}else this.state.inRequestVolume=!0;this.state.screenSpaceError=this.getScreenSpaceError(t,this.state.distanceToCamera,!1)},Object.defineProperty(n.prototype,"selected",{get:function(){return this.state.selectedFrameNumber===this.tileset.frameNumber},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasChildren",{get:function(){return this.children.length>0},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"siblingIndex",{get:function(){var t,e;return(e=(t=this.parent)===null||t===void 0?void 0:t.children.indexOf(this))!==null&&e!==void 0?e:0},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasTilesetContent",{get:function(){return this.children.length>0&&this.type==="TILESET"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasRenderContent",{get:function(){return this.type==="MESH"||this.type==="SCENEGRAPH"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"contentAvailable",{get:function(){var t;return this.hasRenderContent&&((t=this.content)===null||t===void 0?void 0:t.loadState)==="READY"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasUnloadedContent",{get:function(){var t;return((t=this.content)===null||t===void 0?void 0:t.loadState)==="UNLOADED"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasEmptyContent",{get:function(){return this.type==="EMPTY"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"contentReady",{get:function(){var t;return((t=this.content)===null||t===void 0?void 0:t.loadState)==="READY"||this.hasEmptyContent},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"contentByteLength",{get:function(){return this.content?this.content.byteLength:0},enumerable:!1,configurable:!0}),n.prototype.loadContent=function(){var t=this,e;if(this.hasEmptyContent||!(!((e=this.content)===null||e===void 0)&&e.uri))return Promise.resolve(!1);var r=this.content;return r.data?Promise.resolve(!0):(r.loadState="LOADING",this.tileset.requestScheduler.scheduleRequest(this.id,function(){return t.getPriority()}).then(function(i){return i?t.tileset.options.contentLoader(t).then(function(o){return i.done(),r.loadState=o?"READY":"UNLOADED",o}).catch(function(o){return r.loadState="FAILED",i.done(),Promise.reject(o)}):(r.loadState="UNLOADED",Promise.resolve(!1))}))},n.prototype.unloadContent=function(){return this.content&&(this.content.loadState="UNLOADED",this.content.byteLength=0),!0},n.prototype.getScreenSpaceError=function(t,e,r){var i=this.tileset.transformIsIdentity?1:this.tileset.transform.getMaxScaleOnAxis(),o=this.parent?this.parent.geometricError:this.tileset.geometricError,s=i*(r?o:this.geometricError);if(s===0)return 0;var u=Math.max(e,.001),l=s*t.height/(u*t.sseDenominator);return l},n.prototype.getPriority=function(){var t=this.refine==="ADD"||this.tileset.skipLevelOfDetail;if(t&&!this.state.visible||this.tileset.frameNumber-this.state.touchedFrameNumber>=1||this.content.loadState==="UNLOADED")return-1;var e=this.parent,r=e&&(!t||this.state.screenSpaceError===0),i=r?e.state.screenSpaceError:this.state.screenSpaceError,o=this.tileset.root?this.tileset.root.state.screenSpaceError:0,s=Math.max(o-i,0);return s},n}(),RequestScheduler=function(){function n(){this.maxRequests=n.DEFAULT_MAX_REQUESTS,this.activeRequests=0,this.requestQueue=[],this.requestMap=new Map,this.deferred=null}return n.prototype.scheduleRequest=function(t,e){var r=this.requestMap.get(t);if(r)return r;var i={identiy:t,priority:0,getPriority:e,resolve:function(){}},o=new Promise(function(s){return i.resolve=s});return this.requestQueue.push(i),this.requestMap.set(t,o),this.issueNewRequests(),o},n.prototype.reset=function(){for(var t=0,e=this.requestQueue;t<e.length;t++){var r=e[t];r.resolve(null)}this.requestQueue.length=0,this.requestMap.clear(),this.activeRequests=0},n.prototype.issueRequest=function(t){var e=this,r=t.identiy,i=t.resolve,o=!1,s=function(){o||(o=!0,e.requestMap.delete(r),e.activeRequests--,e.issueNewRequests())};this.activeRequests++,i({done:s})},n.prototype.issueNewRequests=function(){var t=this;this.deferred||(this.deferred=setTimeout(function(){return t.issueNewRequestsAsync()},0))},n.prototype.issueNewRequestsAsync=function(){this.deferred=null;var t=Math.max(this.maxRequests-this.activeRequests,0);if(t!==0){this.updateAllRequests();for(var e=0;e<t;e++){var r=this.requestQueue.shift();if(r)this.issueRequest(r);else break}}},n.prototype.updateAllRequests=function(){for(var t=this.requestQueue,e=0;e<t.length;e++){var r=t[e];this.updateRequest(r)===!1&&(t.splice(e,1),this.requestMap.delete(r.identiy),e--)}t.sort(function(i,o){return i.priority-o.priority})},n.prototype.updateRequest=function(t){return t.priority=t.getPriority(t.identiy),t.priority<0?(t.resolve(null),!1):!0},n.DEFAULT_MAX_REQUESTS=6,n}(),CacheNode=function(){function n(t,e,r){this.item=t,this.previous=e,this.next=r}return n}(),CacheNodeList=function(){function n(){this.head=null,this.tail=null,this._length=0}return Object.defineProperty(n.prototype,"length",{get:function(){return this._length},enumerable:!1,configurable:!0}),n.prototype.add=function(t){var e=new CacheNode(t,this.tail,null);return this.tail?(this.tail.next=e,this.tail=e):(this.head=e,this.tail=e),this._length++,e},n.prototype.remove=function(t){t.previous&&t.next?(t.previous.next=t.next,t.next.previous=t.previous):t.previous?(t.previous.next=null,this.tail=t.previous):t.next?(t.next.previous=null,this.head=t.next):(this.head=null,this.tail=null),t.next=null,t.previous=null,this._length--},n.prototype.splice=function(t,e){t!==e&&(this.remove(e),this.insert(t,e))},n.prototype.insert=function(t,e){var r=t.next;t.next=e,this.tail===t?this.tail=e:r.previous=e,e.next=r,e.previous=t,this._length++},n.prototype.toArray=function(){for(var t=[],e=this.head;e;)t.push(e),e=e.next;return t},n}(),TilesetCache=function(){function n(){this.cacheNodeMap=new Map,this.list=new CacheNodeList,this.sentinel=this.list.add("sentinel")}return n.prototype.reset=function(){this.list.tail&&this.list.splice(this.list.tail,this.sentinel)},n.prototype.touch=function(t){var e=this.cacheNodeMap.get(t);e&&this.list.splice(this.sentinel,e)},n.prototype.add=function(t,e){if(!this.cacheNodeMap.has(t)){var r=this.list.add(t);this.cacheNodeMap.set(t,r),e&&e(t)}},n.prototype.unloadTile=function(t,e){var r=this.cacheNodeMap.get(t);r&&(this.list.remove(r),this.cacheNodeMap.delete(t),e&&e(t))},n.prototype.unloadTiles=function(t,e){for(var r=this.list.head;r!==this.sentinel&&t();){var i=r.item;r=r.next,this.unloadTile(i,e)}},n.prototype.toArray=function(){for(var t=[],e=0,r=this.list.toArray();e<r.length;e++){var i=r[e];i.item!=="sentinel"&&t.push(i.item)}return t},n}(),ManagedArray=function(){function n(){this.map=new Map,this.array=[],this._length=0}return Object.defineProperty(n.prototype,"length",{get:function(){return this._length},enumerable:!1,configurable:!0}),n.prototype.get=function(t){return this.array[t]},n.prototype.set=function(t,e){t>=this.length&&(this._length=t+1),this.map.has(this.array[t])&&this.map.delete(this.array[t]),this.array[t]=e,this.map.set(e,t)},n.prototype.delete=function(t){var e=this.map.get(t);e!==void 0&&e>=0&&(this.array.splice(e,1),this.map.delete(t),this._length--)},n.prototype.push=function(t){if(!this.map.has(t)){var e=this._length++;this.array[e]=t,this.map.set(t,e)}},n.prototype.pop=function(){var t=this.array[--this._length];return this.map.delete(t),t},n.prototype.reset=function(){this.array=[],this.map=new Map,this._length=0},n.prototype.find=function(t){return this.map.has(t)},n}(),TilesetTraverser=function(){function n(){this.loadSiblings=n.DEFAULT_LOAD_SIBLINGS,this.skipLevelOfDetail=n.DEFAULT_SKIP_LEVEL_OF_DETAIL,this.maxScreenSpaceError=n.DEFAULT_MAX_SCREEN_SPACE_ERROR,this._canSelectTile=!0,this._traversalStack=new ManagedArray,this._emptyTraversalStack=new ManagedArray,this.root=null,this.selectedTiles=new Map,this.requestedTiles=new Map,this.needsRefinedTiles=new Map,this.emptyTiles=new Map}return n.prototype.traverse=function(t,e,r){r===void 0&&(r=[]),this.root=t,this.reset();for(var i=0,o=r;i<o.length;i++){var s=o[i];this._traversalStack.reset(),this._emptyTraversalStack.reset(),s.camera.refine&&(this._canSelectTile=s.camera.visible,this.updateTile(t,s),this.executeTraversal(t,s))}this._traversalStack.reset(),this._emptyTraversalStack.reset(),e.camera.refine&&(this._canSelectTile=e.camera.visible,this.updateTile(t,e),this.executeTraversal(t,e))},n.prototype.reset=function(){this.needsRefinedTiles.clear(),this.requestedTiles.clear(),this.selectedTiles.clear(),this.emptyTiles.clear(),this._traversalStack.reset(),this._emptyTraversalStack.reset()},n.prototype.executeTraversal=function(t,e){var r=this._traversalStack;if(t.state.selectionDepth=0,e.maxLevelOfDetail>=0)for(t.state.visible&&t.state.inRequestVolume&&r.push(t);r.length>0;){var i=r.pop(),o=!1;if(this.canTraverse(i,e,!1,!1)){var s=i.hasRenderContent?i.state.selectionDepth+1:i.state.selectionDepth;this.updateChildTiles(i,e,s),o=this.updateAndPushChildren(i,e,r)}var u=i.parent,l=!u||u.state.shouldRefine,c=!o;i.hasRenderContent?i.refine==="ADD"?(this.loadTile(i,e.frameNumber),this.selectTile(i,e)):i.refine==="REPLACE"&&(this.loadTile(i,e.frameNumber),c&&this.selectTile(i,e)):(this.emptyTiles.set(i.id,i),this.loadTile(i,e.frameNumber),c&&this.selectTile(i,e)),this.touchTile(i,e),i.state.shouldRefine=o&&l}},n.prototype.updateChildTiles=function(t,e,r){for(var i=t.children,o=0,s=i;o<s.length;o++){var u=s[o];u.state.selectionDepth=r,this.updateTile(u,e)}return!0},n.prototype.updateAndPushChildren=function(t,e,r){for(var i=t.children,o=t.refine==="REPLACE"&&t.hasRenderContent&&!this.skipLevelOfDetail,s=!1,u=!0,l=0,c=i;l<c.length;l++){var d=c[l];if(d.state.visible&&d.state.inRequestVolume?(r.find(d)&&r.delete(d),r.push(d),s=!0):(o||this.loadSiblings)&&(this.loadTile(d,e.frameNumber),this.touchTile(d,e)),o){var f=void 0;d.state.inRequestVolume?d.hasRenderContent?f=d.contentAvailable:f=this.executeEmptyTraversal(d,e):f=!1,u=u&&f}}return s||(u=!1),u},n.prototype.updateTile=function(t,e){this.updateTileVisibility(t,e)},n.prototype.selectTile=function(t,e){this.shouldSelectTile(t)&&(t.state.selectedFrameNumber=e.frameNumber,this.selectedTiles.set(t.id,t)),this.needsRefinedTiles.set(t.id,t)},n.prototype.loadTile=function(t,e){this.shouldLoadTile(t)&&(t.state.requestedFrameNumber=e,this.requestedTiles.set(t.id,t)),this.needsRefinedTiles.set(t.id,t)},n.prototype.touchTile=function(t,e){t.tileset.cache.touch(t),t.state.touchedFrameNumber=e.frameNumber},n.prototype.canTraverse=function(t,e,r,i){return t.hasChildren?t.hasTilesetContent?!0:!i&&!t.state.visible?!1:this.shouldRefine(t,e,r):!1},n.prototype.shouldLoadTile=function(t){return t.hasUnloadedContent},n.prototype.shouldSelectTile=function(t){return t.contentAvailable&&!this.skipLevelOfDetail&&this._canSelectTile},n.prototype.shouldRefine=function(t,e,r){if(t.hasEmptyContent)return!0;if(t.hasRenderContent){if(t.state.selectionDepth>=e.maxLevelOfDetail)return!1;if(t.state.selectionDepth<e.minLevelOfDetail)return!0}var i=t.state.screenSpaceError;return r&&(i=t.getScreenSpaceError(e,t.state.distanceToCamera,!0)),i>this.maxScreenSpaceError},n.prototype.updateTileVisibility=function(t,e){if(t.updateState(e),!(!t.state.visible||!t.state.inRequestVolume)){var r=t.children.length>0;if(t.hasTilesetContent&&r){var i=t.children[0];this.updateTileVisibility(i,e),t.state.visible=i.state.visible;return}if(this.meetsScreenSpaceErrorEarly(t,e)){t.state.visible=!1;return}}},n.prototype.meetsScreenSpaceErrorEarly=function(t,e){var r=t.parent;return!r||r.refine!=="ADD"?!1:!this.shouldRefine(t,e,!0)},n.prototype.compareDistanceToCamera=function(t,e){return e.state.distanceToCamera-t.state.distanceToCamera},n.prototype.executeEmptyTraversal=function(t,e){var r=!0,i=this._emptyTraversalStack;for(i.push(t);i.length>0&&r;){var o=i.pop();this.updateTile(o,e),o.state.visible||this.loadTile(o,e.frameNumber),this.touchTile(o,e);var s=!o.hasRenderContent&&this.canTraverse(o,e,!1,!0);if(s)for(var u=o.children,l=0,c=u;l<c.length;l++){var d=c[l];i.find(d)&&i.delete(d),i.push(d)}else o.contentAvailable||(r=!1)}return r},n.DEFAULT_SKIP_LEVEL_OF_DETAIL=!1,n.DEFAULT_LOAD_SIBLINGS=!1,n.DEFAULT_MAX_SCREEN_SPACE_ERROR=4,n}(),identityMatrix4=new THREE__namespace.Matrix4,Tileset=function(){function n(t,e,r){var i,o;this.id=t,this.transform=new THREE__namespace.Matrix4,this.transformIsIdentity=!0,this.asset={version:e.asset.version,tilesetVersion:e.asset.tilesetVersion||"",gltfUpAxis:(i=e.asset.gltfUpAxis)!==null&&i!==void 0?i:"Y",overview:e.asset.overview},this.properties=(o=e.properties)!==null&&o!==void 0?o:{},this.options=r,this.traverser=new TilesetTraverser,this.cache=new TilesetCache,this.requestScheduler=new RequestScheduler,this.frameNumber=0,this.pendingCount=0,this.tiles=new Map,this.memoryUsageInBytes=0,this.root=new Tile("".concat(this.id,".0"),e.root,this),this.geometricError=e.geometricError,this.maxMemoryUsage=n.DEFAULT_MAX_MEMORY_USAGE}return Object.defineProperty(n.prototype,"maxRequests",{get:function(){return this.requestScheduler.maxRequests},set:function(t){this.requestScheduler.maxRequests=t},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"skipLevelOfDetail",{get:function(){return this.traverser.skipLevelOfDetail},set:function(t){this.traverser.skipLevelOfDetail=t},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"maxScreenSpaceError",{get:function(){return this.traverser.maxScreenSpaceError},set:function(t){this.traverser.maxScreenSpaceError=t},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"selectedTiles",{get:function(){return this.traverser.selectedTiles},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"needsRefinedTiles",{get:function(){return this.traverser.needsRefinedTiles},enumerable:!1,configurable:!0}),n.prototype.reset=function(){for(var t=this,e=[this.root],r;r=e.pop();){for(var i=0,o=r.children.length;i<o;i++)e.push(r.children[i]);this.cache.unloadTile(r,function(s){return t.unloadTile(s)})}this.cache.reset(),this.traverser.reset(),this.requestScheduler.reset(),this.tiles.clear()},n.prototype.isLoaded=function(){return this.pendingCount===0&&this.frameNumber!==0},n.prototype.traverse=function(t,e){var r=this;e===void 0&&(e=[]),this.transformIsIdentity=this.transform.equals(identityMatrix4),this.traverser.traverse(this.root,t,e),this.selectedTiles.forEach(function(i){r.tiles.set(i.id,i)}),this.traverser.requestedTiles.forEach(function(i){i.hasUnloadedContent&&r.loadTile(i)}),this.cache.unloadTiles(function(){var i=r.memoryUsageInBytes>r.maxMemoryUsage*1024*1024;return i},function(i){r.unloadTile(i),r.tiles.delete(i.id)})},n.prototype.loadTile=function(t){var e=this;this.pendingCount++,t.loadContent().catch(function(r){return e.options.onTileError(t,r),!1}).then(function(r){var i;e.pendingCount--,r&&(!((i=t.content)===null||i===void 0)&&i.data&&e.cache.add(t,function(){e.memoryUsageInBytes+=t.contentByteLength}),e.options.onTileLoad(t))})},n.prototype.unloadTile=function(t){this.memoryUsageInBytes-=t.contentByteLength,this.options.onTileUnload(t),t.unloadContent()},n.DEFAULT_VIEW_DISTANCE_SCALE=1,n.DEFAULT_MAX_MEMORY_USAGE=16,n.DEFAULT_MAX_SCREEN_SPACE_ERROR=TilesetTraverser.DEFAULT_MAX_SCREEN_SPACE_ERROR,n.DEFAULT_MAX_REQUESTS=RequestScheduler.DEFAULT_MAX_REQUESTS,n}(),BVHNode=function(){function n(t,e,r,i,o){this.id=t,this.extents=e,this.startIndex=r,this.endIndex=i,this.deepth=o}return n}(),BYTES_PER_NODE=6*4+4+4+2+2;function packBVHNode(n,t){for(var e=new ArrayBuffer(t*BYTES_PER_NODE),r=new Float32Array(e),i=new Uint32Array(e),o=new Uint16Array(e),s=[n],u,l;u=s.pop();)l=u.id*BYTES_PER_NODE/4,r[l]=u.extents[0],r[l+1]=u.extents[1],r[l+2]=u.extents[2],r[l+3]=u.extents[3],r[l+4]=u.extents[4],r[l+5]=u.extents[5],i[l+6]=u.startIndex,i[l+7]=u.endIndex,l=u.id*BYTES_PER_NODE/2,u.node0&&(o[l+16]=u.node0.id,s.push(u.node0)),u.node1&&(o[l+17]=u.node1.id,s.push(u.node1));return e}function intersectNodeBox(n,t,e,r,i,o,s,u,l){l===void 0&&(l=0),e=e-l,r=r-l,i=i-l,o=o+l,s=s+l,u=u+l;var c={min:0,max:0};t.x>=0?(c.min=(e-n.x)*t.x,c.max=(o-n.x)*t.x):(c.min=(o-n.x)*t.x,c.max=(e-n.x)*t.x);var d={min:0,max:0};if(t.y>=0?(d.min=(r-n.y)*t.y,d.max=(s-n.y)*t.y):(d.min=(s-n.y)*t.y,d.max=(r-n.y)*t.y),c.min>d.max||d.min>c.max)return!1;d.min>c.min&&(c.min=d.min),d.max<c.max&&(c.max=d.max);var f={min:0,max:0};return t.z>=0?(f.min=(i-n.z)*t.z,f.max=(u-n.z)*t.z):(f.min=(u-n.z)*t.z,f.max=(i-n.z)*t.z),!(c.min>f.max||f.min>c.max||(f.min>c.min&&(c.min=f.min),f.max<c.max&&(c.max=f.max),c.max<0))}var BVHVector3=function(){function n(t,e,r){this.x=t,this.y=e,this.z=r}return n.prototype.copy=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},n.prototype.set=function(t,e,r){return this.x=t,this.y=e,this.z=r,this},n.prototype.fromArray=function(t,e){return e===void 0&&(e=0),this.x=t[e],this.y=t[e+1],this.z=t[e+2],this},n.prototype.toArray=function(t,e){return t===void 0&&(t=[]),e===void 0&&(e=0),t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t},n.prototype.add=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this},n.prototype.multiplyScalar=function(t){return this.x*=t,this.y*=t,this.z*=t,this},n.prototype.subVectors=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this},n.prototype.addScaledVector=function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this},n.prototype.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z},n.prototype.cross=function(t){var e=this.x,r=this.y,i=this.z;return this.x=r*t.z-i*t.y,this.y=i*t.x-e*t.z,this.z=e*t.y-r*t.x,this},n.prototype.crossVectors=function(t,e){var r=t.x,i=t.y,o=t.z,s=e.x,u=e.y,l=e.z;return this.x=i*l-o*u,this.y=o*s-r*l,this.z=r*u-i*s,this},n.prototype.distanceTo=function(t){return Math.sqrt(this.distanceToSquared(t))},n.prototype.distanceToSquared=function(t){var e=this.x-t.x,r=this.y-t.y,i=this.z-t.z;return e*e+r*r+i*i},n.prototype.clone=function(){return new n(this.x,this.y,this.z)},n}(),BVHIntersect=function(){function n(t,e,r){this.triangle=t,this.intersectionPoint=e,this.index=r}return n}(),EPSILON$1=1e-6,BVHMesh=function(){function n(t,e){if(this.positionArray=t,e)this.indicesArray=e;else{for(var r=t.length/3,i=r>65535?new Uint32Array(r):new Uint16Array(r),o=0;o<r;o++)i[o]=o;this.indicesArray=i}}return n.prototype.createTree=function(t,e,r){e=Math.min(e,16);var i=this.positionArray,o=this.indicesArray,s=o.length/3,u=s>65535?new Uint32Array(s):new Uint16Array(s),l=new Float32Array(s*6),c=[],d=0,f=-1;if(r)for(var v=0,p=0,A=0,m=void 0,y=void 0,h=void 0,g=void 0,b=void 0,E=void 0,T=void 0;v<s;v+=1,p+=3,A+=6)u[v]=v,m=g=i[o[p]*3],T=i[o[p+1]*3],T<m&&(m=T),T>g&&(g=T),T=i[o[p+2]*3],T<m&&(m=T),T>g&&(g=T),y=b=i[o[p]*3+1],T=i[o[p+1]*3+1],T<y&&(y=T),T>b&&(b=T),T=i[o[p+2]*3+1],T<y&&(y=T),T>b&&(b=T),h=E=i[o[p]*3+2],T=i[o[p+1]*3+2],T<h&&(h=T),T>E&&(E=T),T=i[o[p+2]*3+2],T<h&&(h=T),T>E&&(E=T),l[A]=m,l[A+1]=y,l[A+2]=h,l[A+3]=g,l[A+4]=b,l[A+5]=E;else{for(var _=1/0,x=1/0,w=1/0,S=-1/0,C=-1/0,R=-1/0,v=0,p=0,A=0,m=void 0,y=void 0,h=void 0,g=void 0,b=void 0,E=void 0,T=void 0;v<s;v+=1,p+=3,A+=6)u[v]=v,m=g=i[o[p]*3],T=i[o[p+1]*3],T<m&&(m=T),T>g&&(g=T),T=i[o[p+2]*3],T<m&&(m=T),T>g&&(g=T),y=b=i[o[p]*3+1],T=i[o[p+1]*3+1],T<y&&(y=T),T>b&&(b=T),T=i[o[p+2]*3+1],T<y&&(y=T),T>b&&(b=T),h=E=i[o[p]*3+2],T=i[o[p+1]*3+2],T<h&&(h=T),T>E&&(E=T),T=i[o[p+2]*3+2],T<h&&(h=T),T>E&&(E=T),l[A]=m,l[A+1]=y,l[A+2]=h,l[A+3]=g,l[A+4]=b,l[A+5]=E,m<_&&(_=m),g>S&&(S=g),y<x&&(x=y),b>C&&(C=b),h<w&&(w=h),E>R&&(R=E);r=[_,x,w,S,C,R]}var I=new BVHNode(++f,r,0,s,0);c[d++]=I;var B=[],F=[0,1,2],L=function(k,Q){return B[Q]-B[k]};function O(k){var Q=k.startIndex,U=k.endIndex,N=k.extents;B[0]=N[3]-N[0],B[1]=N[4]-N[1],B[2]=N[5]-N[2],F.sort(L);for(var G=0;G<3;G++){for(var K=F[G],X=N[K]+N[K+3],D=Q,W=U-1,q=-1,ae=void 0;D<=W;)q===-1?(ae=u[D],l[ae*6+K]+l[ae*6+K+3]<X?D++:q=ae):(ae=u[W],l[ae*6+K]+l[ae*6+K+3]>=X||(u[D]=ae,u[W]=q,q=-1,D++),W--);if(D>Q&&D<U){var Y=new BVHNode(++f,calcExtents(u,l,Q,D,EPSILON$1),Q,D,k.deepth+1);Y.deepth<e&&Y.endIndex-Y.startIndex>t&&(c[d++]=Y);var re=new BVHNode(++f,calcExtents(u,l,D,U,EPSILON$1),D,U,k.deepth+1);re.deepth<e&&re.endIndex-re.startIndex>t&&(c[d++]=re),k.node0=Y,k.node1=re,k.startIndex=0,k.endIndex=0;break}}}for(;d;)O(c[--d]);return this.offsetArray=u,this.rootNodePacked=packBVHNode(I,f+1),c.length=0,this},n.prototype.trianglesInSphere=function(t,e){for(var r=this.positionArray,i=this.indicesArray,o=this.offsetArray,s=this.rootNodePacked,u=new Float32Array(s),l=new Uint32Array(s),c=new Uint16Array(s),d=[0],f=[],v,p,A,m;(v=d.pop())!==void 0;){m=v*BYTES_PER_NODE/4;var y=clamp$1(t.x,u[m],u[m+3])-t.x,h=clamp$1(t.y,u[m+1],u[m+4])-t.y,g=clamp$1(t.z,u[m+2],u[m+5])-t.z;if(y*y+h*h+g*g<=e*e){for(var b=l[m+6];b<l[m+7];b++)f.push(o[b]);m=v*BYTES_PER_NODE/2,p=c[m+16],A=c[m+17],p&&d.push(p),A&&d.push(A)}}for(var E=f.length,T=new Float32Array(E*9),b=0;b<E;b++){var _=f[b];T[b*9]=r[i[_]*3],T[b*9+1]=r[i[_]*3+1],T[b*9+2]=r[i[_]*3+2],T[b*9+3]=r[i[_+1]*3],T[b*9+4]=r[i[_+1]*3+1],T[b*9+5]=r[i[_+1]*3+2],T[b*9+6]=r[i[_+2]*3],T[b*9+7]=r[i[_+2]*3+1],T[b*9+8]=r[i[_+2]*3+2]}return T},n.prototype.intersectRay=function(t,e,r){for(var i=this.positionArray,o=this.indicesArray,s=this.offsetArray,u=this.rootNodePacked,l=new Float32Array(u),c=new Uint32Array(u),d=new Uint16Array(u),f=new BVHVector3(1/e.x,1/e.y,1/e.z),v=[0],p,A,m,y;(p=v.pop())!==void 0;)if(y=p*BYTES_PER_NODE/4,intersectNodeBox(t,f,l[y],l[y+1],l[y+2],l[y+3],l[y+4],l[y+5])){for(var h=c[y+6],g=c[y+7],b=void 0,E=void 0,T=void 0,_=t.x,x=t.y,w=t.z,S=e.x,C=e.y,R=e.z,I=void 0,B=void 0,F=void 0,L=void 0,O=void 0,k=void 0,Q=void 0,U=void 0,N=void 0,G=void 0,K=void 0,X=void 0,D=void 0,W=void 0,q=void 0,ae=void 0,Y=void 0,re=void 0,$=void 0,oe=void 0,J=void 0,ie=void 0,se=void 0,ne=void 0,pe=void 0,Z=void 0,ee=void 0;h<g;h++){if(b=s[h],E=b*3,T=o[E]*3,I=i[T],B=i[++T],F=i[++T],T=o[E+1]*3,L=i[T],O=i[++T],k=i[++T],T=o[E+2]*3,Q=i[T],U=i[++T],N=i[++T],G=L-I,K=O-B,X=k-F,D=Q-I,W=U-B,q=N-F,ae=K*q-X*W,Y=X*D-G*q,re=G*W-K*D,se=S*ae+C*Y+R*re,se>0)ie=1;else if(se<0)ie=-1,se=-se;else continue;$=_-I,oe=x-B,J=w-F,ne=ie*(S*(oe*q-J*W)+C*(J*D-$*q)+R*($*W-oe*D)),!(ne<0)&&(pe=ie*(S*(K*J-X*oe)+C*(X*$-G*J)+R*(G*oe-K*$)),!(pe<0)&&(ne+pe>se||(Z=-ie*($*ae+oe*Y+J*re),!(Z<0)&&(ee=Z/se,r.push(new BVHIntersect([I,B,F,L,O,k,Q,U,N],[_+S*ee,x+C*ee,w+R*ee],b))))))}y=p*BYTES_PER_NODE/2,A=d[y+16],m=d[y+17],A&&v.push(A),m&&v.push(m)}return r},n}();function clamp$1(n,t,e){return n<t?t:n>e?e:n}function calcExtents(n,t,e,r,i){if(e>=r)return[0,0,0,0,0,0];for(var o=1/0,s=1/0,u=1/0,l=-1/0,c=-1/0,d=-1/0,f=e,v=void 0,p=void 0;f<r;f++)v=n[f]*6,p=t[v],p<o&&(o=p),p=t[v+1],p<s&&(s=p),p=t[v+2],p<u&&(u=p),p=t[v+3],p>l&&(l=p),p=t[v+4],p>c&&(c=p),p=t[v+5],p>d&&(d=p);return[o-i,s-i,u-i,l+i,c+i,d+i]}var EPSILON=1e-6,BVHPoints=function(){function n(t,e){this.positionArray=t,this.indicesArray=e}return n.prototype.createTree=function(t,e,r){e=Math.min(e,16);var i=this.positionArray,o=this.indicesArray,s=o?o.length:i.length/3,u=s>65535?new Uint32Array(s):new Uint16Array(s),l=[],c=0,d=-1;if(r)for(var f=0;f<s;f+=1)u[f]=f;else{for(var v=o?o[0]*3:0,p=i[v],A=i[v+1],m=i[v+2],y=p,h=A,g=m,f=0,b=0,E=void 0,T=void 0,_=void 0;f<s;f+=1,b+=3)u[f]=f,v=(o?o[b]:b)*3,E=i[v],T=i[v+1],_=i[v+2],E<p?p=E:E>y&&(y=E),T<A?A=T:T>h&&(h=T),_<m?m=_:_>g&&(g=_);r=[p,A,m,y,h,g]}var x=new BVHNode(++d,r,0,s,0);l[c++]=x;var w=[],S=[0,1,2],C=function(I,B){return w[B]-w[I]};function R(I){var B=I.startIndex,F=I.endIndex,L=I.extents;w[0]=L[3]-L[0],w[1]=L[4]-L[1],w[2]=L[5]-L[2];for(var O=S.sort(C)[0],k=(L[O]+L[O+3])/2,Q=B,U=F-1,N=-1,G,K;Q<=U;)N===-1?(G=u[Q],K=(o?o[G]:G)*3,i[K+O]<k?Q++:N=G):(G=u[U],K=(o?o[G]:G)*3,i[K+O]>=k||(u[Q]=G,u[U]=N,N=-1,Q++),U--);if(Q>B){var X=L.slice();X[O+3]=k+EPSILON;var D=new BVHNode(++d,X,B,Q,I.deepth+1);D.deepth<e&&D.endIndex-D.startIndex>t&&(l[c++]=D),I.node0=D}if(F>Q){var W=L.slice();W[O]=k-EPSILON;var q=new BVHNode(++d,W,Q,F,I.deepth+1);q.deepth<e&&q.endIndex-q.startIndex>t&&(l[c++]=q),I.node1=q}I.startIndex=0,I.endIndex=0}for(;c;)R(l[--c]);return this.offsetArray=u,this.rootNodePacked=packBVHNode(x,d+1),l.length=0,this},n.prototype.intersectRay=function(t,e,r,i){for(var o=this.positionArray,s=this.indicesArray,u=this.offsetArray,l=this.rootNodePacked,c=new Float32Array(l),d=new Uint32Array(l),f=new Uint16Array(l),v=r*r,p=new BVHVector3(1/e.x,1/e.y,1/e.z),A=[0],m,y,h,g;(m=A.pop())!==void 0;)if(g=m*BYTES_PER_NODE/4,intersectNodeBox(t,p,c[g],c[g+1],c[g+2],c[g+3],c[g+4],c[g+5],r)){for(var b=d[g+6],E=d[g+7],T=void 0,_=void 0,x=void 0,w=void 0,S=void 0,C=void 0,R=void 0,I=void 0,B=void 0,F=void 0,L=void 0,O=void 0,k=void 0;b<E;b++)T=u[b],_=(s?s[T]:T)*3,x=o[_],w=o[++_],S=o[++_],C=t.x,R=t.y,I=t.z,B=e.x,F=e.y,L=e.z,O=B*(x-C)+F*(w-R)+L*(S-I),O>0&&(C+=B*O,R+=F*O,I+=L*O),B=x-C,F=w-R,L=S-I,O=B*B+F*F+L*L,O<=v&&i.push(new BVHIntersect([x,w,S,x,w,S,x,w,S],[C,R,I],T));g=m*BYTES_PER_NODE/2,y=f[g+16],h=f[g+17],y&&A.push(y),h&&A.push(h)}return i},n}();const encodedJs$1="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBYPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gaChyLHQsYSxvLHMpe3RoaXMuaWQ9cix0aGlzLmV4dGVudHM9dCx0aGlzLnN0YXJ0SW5kZXg9YSx0aGlzLmVuZEluZGV4PW8sdGhpcy5kZWVwdGg9c31yZXR1cm4gaH0oKSxSPTYqNCs0KzQrMisyO2Z1bmN0aW9uIG5yKGgscil7Zm9yKHZhciB0PW5ldyBBcnJheUJ1ZmZlcihyKlIpLGE9bmV3IEZsb2F0MzJBcnJheSh0KSxvPW5ldyBVaW50MzJBcnJheSh0KSxzPW5ldyBVaW50MTZBcnJheSh0KSxlPVtoXSx2LG47dj1lLnBvcCgpOyluPXYuaWQqUi80LGFbbl09di5leHRlbnRzWzBdLGFbbisxXT12LmV4dGVudHNbMV0sYVtuKzJdPXYuZXh0ZW50c1syXSxhW24rM109di5leHRlbnRzWzNdLGFbbis0XT12LmV4dGVudHNbNF0sYVtuKzVdPXYuZXh0ZW50c1s1XSxvW24rNl09di5zdGFydEluZGV4LG9bbis3XT12LmVuZEluZGV4LG49di5pZCpSLzIsdi5ub2RlMCYmKHNbbisxNl09di5ub2RlMC5pZCxlLnB1c2godi5ub2RlMCkpLHYubm9kZTEmJihzW24rMTddPXYubm9kZTEuaWQsZS5wdXNoKHYubm9kZTEpKTtyZXR1cm4gdH1mdW5jdGlvbiBhcihoLHIsdCxhLG8scyxlLHYsbil7bj09PXZvaWQgMCYmKG49MCksdD10LW4sYT1hLW4sbz1vLW4scz1zK24sZT1lK24sdj12K247dmFyIHk9e21pbjowLG1heDowfTtyLng+PTA/KHkubWluPSh0LWgueCkqci54LHkubWF4PShzLWgueCkqci54KTooeS5taW49KHMtaC54KSpyLngseS5tYXg9KHQtaC54KSpyLngpO3ZhciBBPXttaW46MCxtYXg6MH07aWYoci55Pj0wPyhBLm1pbj0oYS1oLnkpKnIueSxBLm1heD0oZS1oLnkpKnIueSk6KEEubWluPShlLWgueSkqci55LEEubWF4PShhLWgueSkqci55KSx5Lm1pbj5BLm1heHx8QS5taW4+eS5tYXgpcmV0dXJuITE7QS5taW4+eS5taW4mJih5Lm1pbj1BLm1pbiksQS5tYXg8eS5tYXgmJih5Lm1heD1BLm1heCk7dmFyIHc9e21pbjowLG1heDowfTtyZXR1cm4gci56Pj0wPyh3Lm1pbj0oby1oLnopKnIueix3Lm1heD0odi1oLnopKnIueik6KHcubWluPSh2LWgueikqci56LHcubWF4PShvLWgueikqci56KSwhKHkubWluPncubWF4fHx3Lm1pbj55Lm1heHx8KHcubWluPnkubWluJiYoeS5taW49dy5taW4pLHcubWF4PHkubWF4JiYoeS5tYXg9dy5tYXgpLHkubWF4PDApKX12YXIgdnI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBoKHIsdCxhKXt0aGlzLng9cix0aGlzLnk9dCx0aGlzLno9YX1yZXR1cm4gaC5wcm90b3R5cGUuY29weT1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy54PXIueCx0aGlzLnk9ci55LHRoaXMuej1yLnosdGhpc30saC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHIsdCxhKXtyZXR1cm4gdGhpcy54PXIsdGhpcy55PXQsdGhpcy56PWEsdGhpc30saC5wcm90b3R5cGUuZnJvbUFycmF5PWZ1bmN0aW9uKHIsdCl7cmV0dXJuIHQ9PT12b2lkIDAmJih0PTApLHRoaXMueD1yW3RdLHRoaXMueT1yW3QrMV0sdGhpcy56PXJbdCsyXSx0aGlzfSxoLnByb3RvdHlwZS50b0FycmF5PWZ1bmN0aW9uKHIsdCl7cmV0dXJuIHI9PT12b2lkIDAmJihyPVtdKSx0PT09dm9pZCAwJiYodD0wKSxyW3RdPXRoaXMueCxyW3QrMV09dGhpcy55LHJbdCsyXT10aGlzLnoscn0saC5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKHIpe3JldHVybiB0aGlzLngrPXIueCx0aGlzLnkrPXIueSx0aGlzLnorPXIueix0aGlzfSxoLnByb3RvdHlwZS5tdWx0aXBseVNjYWxhcj1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy54Kj1yLHRoaXMueSo9cix0aGlzLnoqPXIsdGhpc30saC5wcm90b3R5cGUuc3ViVmVjdG9ycz1mdW5jdGlvbihyLHQpe3JldHVybiB0aGlzLng9ci54LXQueCx0aGlzLnk9ci55LXQueSx0aGlzLno9ci56LXQueix0aGlzfSxoLnByb3RvdHlwZS5hZGRTY2FsZWRWZWN0b3I9ZnVuY3Rpb24ocix0KXtyZXR1cm4gdGhpcy54Kz1yLngqdCx0aGlzLnkrPXIueSp0LHRoaXMueis9ci56KnQsdGhpc30saC5wcm90b3R5cGUuZG90PWZ1bmN0aW9uKHIpe3JldHVybiB0aGlzLngqci54K3RoaXMueSpyLnkrdGhpcy56KnIuen0saC5wcm90b3R5cGUuY3Jvc3M9ZnVuY3Rpb24ocil7dmFyIHQ9dGhpcy54LGE9dGhpcy55LG89dGhpcy56O3JldHVybiB0aGlzLng9YSpyLnotbypyLnksdGhpcy55PW8qci54LXQqci56LHRoaXMuej10KnIueS1hKnIueCx0aGlzfSxoLnByb3RvdHlwZS5jcm9zc1ZlY3RvcnM9ZnVuY3Rpb24ocix0KXt2YXIgYT1yLngsbz1yLnkscz1yLnosZT10Lngsdj10Lnksbj10Lno7cmV0dXJuIHRoaXMueD1vKm4tcyp2LHRoaXMueT1zKmUtYSpuLHRoaXMuej1hKnYtbyplLHRoaXN9LGgucHJvdG90eXBlLmRpc3RhbmNlVG89ZnVuY3Rpb24ocil7cmV0dXJuIE1hdGguc3FydCh0aGlzLmRpc3RhbmNlVG9TcXVhcmVkKHIpKX0saC5wcm90b3R5cGUuZGlzdGFuY2VUb1NxdWFyZWQ9ZnVuY3Rpb24ocil7dmFyIHQ9dGhpcy54LXIueCxhPXRoaXMueS1yLnksbz10aGlzLnotci56O3JldHVybiB0KnQrYSphK28qb30saC5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGgodGhpcy54LHRoaXMueSx0aGlzLnopfSxofSgpLHNyPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gaChyLHQsYSl7dGhpcy50cmlhbmdsZT1yLHRoaXMuaW50ZXJzZWN0aW9uUG9pbnQ9dCx0aGlzLmluZGV4PWF9cmV0dXJuIGh9KCksdXI9MWUtNix5cj1mdW5jdGlvbigpe2Z1bmN0aW9uIGgocix0KXtpZih0aGlzLnBvc2l0aW9uQXJyYXk9cix0KXRoaXMuaW5kaWNlc0FycmF5PXQ7ZWxzZXtmb3IodmFyIGE9ci5sZW5ndGgvMyxvPWE+NjU1MzU/bmV3IFVpbnQzMkFycmF5KGEpOm5ldyBVaW50MTZBcnJheShhKSxzPTA7czxhO3MrKylvW3NdPXM7dGhpcy5pbmRpY2VzQXJyYXk9b319cmV0dXJuIGgucHJvdG90eXBlLmNyZWF0ZVRyZWU9ZnVuY3Rpb24ocix0LGEpe3Q9TWF0aC5taW4odCwxNik7dmFyIG89dGhpcy5wb3NpdGlvbkFycmF5LHM9dGhpcy5pbmRpY2VzQXJyYXksZT1zLmxlbmd0aC8zLHY9ZT42NTUzNT9uZXcgVWludDMyQXJyYXkoZSk6bmV3IFVpbnQxNkFycmF5KGUpLG49bmV3IEZsb2F0MzJBcnJheShlKjYpLHk9W10sQT0wLHc9LTE7aWYoYSlmb3IodmFyIGw9MCx1PTAscD0wLGM9dm9pZCAwLGQ9dm9pZCAwLFU9dm9pZCAwLEk9dm9pZCAwLGY9dm9pZCAwLE49dm9pZCAwLGk9dm9pZCAwO2w8ZTtsKz0xLHUrPTMscCs9Nil2W2xdPWwsYz1JPW9bc1t1XSozXSxpPW9bc1t1KzFdKjNdLGk8YyYmKGM9aSksaT5JJiYoST1pKSxpPW9bc1t1KzJdKjNdLGk8YyYmKGM9aSksaT5JJiYoST1pKSxkPWY9b1tzW3VdKjMrMV0saT1vW3NbdSsxXSozKzFdLGk8ZCYmKGQ9aSksaT5mJiYoZj1pKSxpPW9bc1t1KzJdKjMrMV0saTxkJiYoZD1pKSxpPmYmJihmPWkpLFU9Tj1vW3NbdV0qMysyXSxpPW9bc1t1KzFdKjMrMl0saTxVJiYoVT1pKSxpPk4mJihOPWkpLGk9b1tzW3UrMl0qMysyXSxpPFUmJihVPWkpLGk+TiYmKE49aSksbltwXT1jLG5bcCsxXT1kLG5bcCsyXT1VLG5bcCszXT1JLG5bcCs0XT1mLG5bcCs1XT1OO2Vsc2V7Zm9yKHZhciB6PTEvMCxqPTEvMCxQPTEvMCxxPS0xLzAsRz0tMS8wLEo9LTEvMCxsPTAsdT0wLHA9MCxjPXZvaWQgMCxkPXZvaWQgMCxVPXZvaWQgMCxJPXZvaWQgMCxmPXZvaWQgMCxOPXZvaWQgMCxpPXZvaWQgMDtsPGU7bCs9MSx1Kz0zLHArPTYpdltsXT1sLGM9ST1vW3NbdV0qM10saT1vW3NbdSsxXSozXSxpPGMmJihjPWkpLGk+SSYmKEk9aSksaT1vW3NbdSsyXSozXSxpPGMmJihjPWkpLGk+SSYmKEk9aSksZD1mPW9bc1t1XSozKzFdLGk9b1tzW3UrMV0qMysxXSxpPGQmJihkPWkpLGk+ZiYmKGY9aSksaT1vW3NbdSsyXSozKzFdLGk8ZCYmKGQ9aSksaT5mJiYoZj1pKSxVPU49b1tzW3VdKjMrMl0saT1vW3NbdSsxXSozKzJdLGk8VSYmKFU9aSksaT5OJiYoTj1pKSxpPW9bc1t1KzJdKjMrMl0saTxVJiYoVT1pKSxpPk4mJihOPWkpLG5bcF09YyxuW3ArMV09ZCxuW3ArMl09VSxuW3ArM109SSxuW3ArNF09ZixuW3ArNV09TixjPHomJih6PWMpLEk+cSYmKHE9SSksZDxqJiYoaj1kKSxmPkcmJihHPWYpLFU8UCYmKFA9VSksTj5KJiYoSj1OKTthPVt6LGosUCxxLEcsSl19dmFyIFM9bmV3IFgoKyt3LGEsMCxlLDApO3lbQSsrXT1TO3ZhciBWPVtdLE09WzAsMSwyXSxUPWZ1bmN0aW9uKEIsRil7cmV0dXJuIFZbRl0tVltCXX07ZnVuY3Rpb24gSChCKXt2YXIgRj1CLnN0YXJ0SW5kZXgsQz1CLmVuZEluZGV4LCQ9Qi5leHRlbnRzO1ZbMF09JFszXS0kWzBdLFZbMV09JFs0XS0kWzFdLFZbMl09JFs1XS0kWzJdLE0uc29ydChUKTtmb3IodmFyIEw9MDtMPDM7TCsrKXtmb3IodmFyIFc9TVtMXSxRPSRbV10rJFtXKzNdLGs9RixfPUMtMSxLPS0xLEU9dm9pZCAwO2s8PV87KUs9PT0tMT8oRT12W2tdLG5bRSo2K1ddK25bRSo2K1crM108UT9rKys6Sz1FKTooRT12W19dLG5bRSo2K1ddK25bRSo2K1crM10+PVF8fCh2W2tdPUUsdltfXT1LLEs9LTEsaysrKSxfLS0pO2lmKGs+RiYmazxDKXt2YXIgeD1uZXcgWCgrK3csaHIodixuLEYsayx1ciksRixrLEIuZGVlcHRoKzEpO3guZGVlcHRoPHQmJnguZW5kSW5kZXgteC5zdGFydEluZGV4PnImJih5W0ErK109eCk7dmFyIFk9bmV3IFgoKyt3LGhyKHYsbixrLEMsdXIpLGssQyxCLmRlZXB0aCsxKTtZLmRlZXB0aDx0JiZZLmVuZEluZGV4LVkuc3RhcnRJbmRleD5yJiYoeVtBKytdPVkpLEIubm9kZTA9eCxCLm5vZGUxPVksQi5zdGFydEluZGV4PTAsQi5lbmRJbmRleD0wO2JyZWFrfX19Zm9yKDtBOylIKHlbLS1BXSk7cmV0dXJuIHRoaXMub2Zmc2V0QXJyYXk9dix0aGlzLnJvb3ROb2RlUGFja2VkPW5yKFMsdysxKSx5Lmxlbmd0aD0wLHRoaXN9LGgucHJvdG90eXBlLnRyaWFuZ2xlc0luU3BoZXJlPWZ1bmN0aW9uKHIsdCl7Zm9yKHZhciBhPXRoaXMucG9zaXRpb25BcnJheSxvPXRoaXMuaW5kaWNlc0FycmF5LHM9dGhpcy5vZmZzZXRBcnJheSxlPXRoaXMucm9vdE5vZGVQYWNrZWQsdj1uZXcgRmxvYXQzMkFycmF5KGUpLG49bmV3IFVpbnQzMkFycmF5KGUpLHk9bmV3IFVpbnQxNkFycmF5KGUpLEE9WzBdLHc9W10sbCx1LHAsYzsobD1BLnBvcCgpKSE9PXZvaWQgMDspe2M9bCpSLzQ7dmFyIGQ9cnIoci54LHZbY10sdltjKzNdKS1yLngsVT1ycihyLnksdltjKzFdLHZbYys0XSktci55LEk9cnIoci56LHZbYysyXSx2W2MrNV0pLXIuejtpZihkKmQrVSpVK0kqSTw9dCp0KXtmb3IodmFyIGY9bltjKzZdO2Y8bltjKzddO2YrKyl3LnB1c2goc1tmXSk7Yz1sKlIvMix1PXlbYysxNl0scD15W2MrMTddLHUmJkEucHVzaCh1KSxwJiZBLnB1c2gocCl9fWZvcih2YXIgTj13Lmxlbmd0aCxpPW5ldyBGbG9hdDMyQXJyYXkoTio5KSxmPTA7ZjxOO2YrKyl7dmFyIHo9d1tmXTtpW2YqOV09YVtvW3pdKjNdLGlbZio5KzFdPWFbb1t6XSozKzFdLGlbZio5KzJdPWFbb1t6XSozKzJdLGlbZio5KzNdPWFbb1t6KzFdKjNdLGlbZio5KzRdPWFbb1t6KzFdKjMrMV0saVtmKjkrNV09YVtvW3orMV0qMysyXSxpW2YqOSs2XT1hW29beisyXSozXSxpW2YqOSs3XT1hW29beisyXSozKzFdLGlbZio5KzhdPWFbb1t6KzJdKjMrMl19cmV0dXJuIGl9LGgucHJvdG90eXBlLmludGVyc2VjdFJheT1mdW5jdGlvbihyLHQsYSl7Zm9yKHZhciBvPXRoaXMucG9zaXRpb25BcnJheSxzPXRoaXMuaW5kaWNlc0FycmF5LGU9dGhpcy5vZmZzZXRBcnJheSx2PXRoaXMucm9vdE5vZGVQYWNrZWQsbj1uZXcgRmxvYXQzMkFycmF5KHYpLHk9bmV3IFVpbnQzMkFycmF5KHYpLEE9bmV3IFVpbnQxNkFycmF5KHYpLHc9bmV3IHZyKDEvdC54LDEvdC55LDEvdC56KSxsPVswXSx1LHAsYyxkOyh1PWwucG9wKCkpIT09dm9pZCAwOylpZihkPXUqUi80LGFyKHIsdyxuW2RdLG5bZCsxXSxuW2QrMl0sbltkKzNdLG5bZCs0XSxuW2QrNV0pKXtmb3IodmFyIFU9eVtkKzZdLEk9eVtkKzddLGY9dm9pZCAwLE49dm9pZCAwLGk9dm9pZCAwLHo9ci54LGo9ci55LFA9ci56LHE9dC54LEc9dC55LEo9dC56LFM9dm9pZCAwLFY9dm9pZCAwLE09dm9pZCAwLFQ9dm9pZCAwLEg9dm9pZCAwLEI9dm9pZCAwLEY9dm9pZCAwLEM9dm9pZCAwLCQ9dm9pZCAwLEw9dm9pZCAwLFc9dm9pZCAwLFE9dm9pZCAwLGs9dm9pZCAwLF89dm9pZCAwLEs9dm9pZCAwLEU9dm9pZCAwLHg9dm9pZCAwLFk9dm9pZCAwLFo9dm9pZCAwLGI9dm9pZCAwLGc9dm9pZCAwLE89dm9pZCAwLEQ9dm9pZCAwLGlyPXZvaWQgMCx0cj12b2lkIDAsb3I9dm9pZCAwLG09dm9pZCAwO1U8STtVKyspe2lmKGY9ZVtVXSxOPWYqMyxpPXNbTl0qMyxTPW9baV0sVj1vWysraV0sTT1vWysraV0saT1zW04rMV0qMyxUPW9baV0sSD1vWysraV0sQj1vWysraV0saT1zW04rMl0qMyxGPW9baV0sQz1vWysraV0sJD1vWysraV0sTD1ULVMsVz1ILVYsUT1CLU0saz1GLVMsXz1DLVYsSz0kLU0sRT1XKkstUSpfLHg9USprLUwqSyxZPUwqXy1XKmssRD1xKkUrRyp4K0oqWSxEPjApTz0xO2Vsc2UgaWYoRDwwKU89LTEsRD0tRDtlbHNlIGNvbnRpbnVlO1o9ei1TLGI9ai1WLGc9UC1NLGlyPU8qKHEqKGIqSy1nKl8pK0cqKGcqay1aKkspK0oqKFoqXy1iKmspKSwhKGlyPDApJiYodHI9TyoocSooVypnLVEqYikrRyooUSpaLUwqZykrSiooTCpiLVcqWikpLCEodHI8MCkmJihpcit0cj5EfHwob3I9LU8qKFoqRStiKngrZypZKSwhKG9yPDApJiYobT1vci9ELGEucHVzaChuZXcgc3IoW1MsVixNLFQsSCxCLEYsQywkXSxbeitxKm0saitHKm0sUCtKKm1dLGYpKSkpKSl9ZD11KlIvMixwPUFbZCsxNl0sYz1BW2QrMTddLHAmJmwucHVzaChwKSxjJiZsLnB1c2goYyl9cmV0dXJuIGF9LGh9KCk7ZnVuY3Rpb24gcnIoaCxyLHQpe3JldHVybiBoPHI/cjpoPnQ/dDpofWZ1bmN0aW9uIGhyKGgscix0LGEsbyl7aWYodD49YSlyZXR1cm5bMCwwLDAsMCwwLDBdO2Zvcih2YXIgcz0xLzAsZT0xLzAsdj0xLzAsbj0tMS8wLHk9LTEvMCxBPS0xLzAsdz10LGw9dm9pZCAwLHU9dm9pZCAwO3c8YTt3KyspbD1oW3ddKjYsdT1yW2xdLHU8cyYmKHM9dSksdT1yW2wrMV0sdTxlJiYoZT11KSx1PXJbbCsyXSx1PHYmJih2PXUpLHU9cltsKzNdLHU+biYmKG49dSksdT1yW2wrNF0sdT55JiYoeT11KSx1PXJbbCs1XSx1PkEmJihBPXUpO3JldHVybltzLW8sZS1vLHYtbyxuK28seStvLEErb119dmFyIGVyPTFlLTYsZnI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBoKHIsdCl7dGhpcy5wb3NpdGlvbkFycmF5PXIsdGhpcy5pbmRpY2VzQXJyYXk9dH1yZXR1cm4gaC5wcm90b3R5cGUuY3JlYXRlVHJlZT1mdW5jdGlvbihyLHQsYSl7dD1NYXRoLm1pbih0LDE2KTt2YXIgbz10aGlzLnBvc2l0aW9uQXJyYXkscz10aGlzLmluZGljZXNBcnJheSxlPXM/cy5sZW5ndGg6by5sZW5ndGgvMyx2PWU+NjU1MzU/bmV3IFVpbnQzMkFycmF5KGUpOm5ldyBVaW50MTZBcnJheShlKSxuPVtdLHk9MCxBPS0xO2lmKGEpZm9yKHZhciB3PTA7dzxlO3crPTEpdlt3XT13O2Vsc2V7Zm9yKHZhciBsPXM/c1swXSozOjAsdT1vW2xdLHA9b1tsKzFdLGM9b1tsKzJdLGQ9dSxVPXAsST1jLHc9MCxmPTAsTj12b2lkIDAsaT12b2lkIDAsej12b2lkIDA7dzxlO3crPTEsZis9Myl2W3ddPXcsbD0ocz9zW2ZdOmYpKjMsTj1vW2xdLGk9b1tsKzFdLHo9b1tsKzJdLE48dT91PU46Tj5kJiYoZD1OKSxpPHA/cD1pOmk+VSYmKFU9aSksejxjP2M9ejp6PkkmJihJPXopO2E9W3UscCxjLGQsVSxJXX12YXIgaj1uZXcgWCgrK0EsYSwwLGUsMCk7blt5KytdPWo7dmFyIFA9W10scT1bMCwxLDJdLEc9ZnVuY3Rpb24oUyxWKXtyZXR1cm4gUFtWXS1QW1NdfTtmdW5jdGlvbiBKKFMpe3ZhciBWPVMuc3RhcnRJbmRleCxNPVMuZW5kSW5kZXgsVD1TLmV4dGVudHM7UFswXT1UWzNdLVRbMF0sUFsxXT1UWzRdLVRbMV0sUFsyXT1UWzVdLVRbMl07Zm9yKHZhciBIPXEuc29ydChHKVswXSxCPShUW0hdK1RbSCszXSkvMixGPVYsQz1NLTEsJD0tMSxMLFc7Rjw9QzspJD09PS0xPyhMPXZbRl0sVz0ocz9zW0xdOkwpKjMsb1tXK0hdPEI/RisrOiQ9TCk6KEw9dltDXSxXPShzP3NbTF06TCkqMyxvW1crSF0+PUJ8fCh2W0ZdPUwsdltDXT0kLCQ9LTEsRisrKSxDLS0pO2lmKEY+Vil7dmFyIFE9VC5zbGljZSgpO1FbSCszXT1CK2VyO3ZhciBrPW5ldyBYKCsrQSxRLFYsRixTLmRlZXB0aCsxKTtrLmRlZXB0aDx0JiZrLmVuZEluZGV4LWsuc3RhcnRJbmRleD5yJiYoblt5KytdPWspLFMubm9kZTA9a31pZihNPkYpe3ZhciBfPVQuc2xpY2UoKTtfW0hdPUItZXI7dmFyIEs9bmV3IFgoKytBLF8sRixNLFMuZGVlcHRoKzEpO0suZGVlcHRoPHQmJksuZW5kSW5kZXgtSy5zdGFydEluZGV4PnImJihuW3krK109SyksUy5ub2RlMT1LfVMuc3RhcnRJbmRleD0wLFMuZW5kSW5kZXg9MH1mb3IoO3k7KUooblstLXldKTtyZXR1cm4gdGhpcy5vZmZzZXRBcnJheT12LHRoaXMucm9vdE5vZGVQYWNrZWQ9bnIoaixBKzEpLG4ubGVuZ3RoPTAsdGhpc30saC5wcm90b3R5cGUuaW50ZXJzZWN0UmF5PWZ1bmN0aW9uKHIsdCxhLG8pe2Zvcih2YXIgcz10aGlzLnBvc2l0aW9uQXJyYXksZT10aGlzLmluZGljZXNBcnJheSx2PXRoaXMub2Zmc2V0QXJyYXksbj10aGlzLnJvb3ROb2RlUGFja2VkLHk9bmV3IEZsb2F0MzJBcnJheShuKSxBPW5ldyBVaW50MzJBcnJheShuKSx3PW5ldyBVaW50MTZBcnJheShuKSxsPWEqYSx1PW5ldyB2cigxL3QueCwxL3QueSwxL3QueikscD1bMF0sYyxkLFUsSTsoYz1wLnBvcCgpKSE9PXZvaWQgMDspaWYoST1jKlIvNCxhcihyLHUseVtJXSx5W0krMV0seVtJKzJdLHlbSSszXSx5W0krNF0seVtJKzVdLGEpKXtmb3IodmFyIGY9QVtJKzZdLE49QVtJKzddLGk9dm9pZCAwLHo9dm9pZCAwLGo9dm9pZCAwLFA9dm9pZCAwLHE9dm9pZCAwLEc9dm9pZCAwLEo9dm9pZCAwLFM9dm9pZCAwLFY9dm9pZCAwLE09dm9pZCAwLFQ9dm9pZCAwLEg9dm9pZCAwLEI9dm9pZCAwO2Y8TjtmKyspaT12W2ZdLHo9KGU/ZVtpXTppKSozLGo9c1t6XSxQPXNbKyt6XSxxPXNbKyt6XSxHPXIueCxKPXIueSxTPXIueixWPXQueCxNPXQueSxUPXQueixIPVYqKGotRykrTSooUC1KKStUKihxLVMpLEg+MCYmKEcrPVYqSCxKKz1NKkgsUys9VCpIKSxWPWotRyxNPVAtSixUPXEtUyxIPVYqVitNKk0rVCpULEg8PWwmJm8ucHVzaChuZXcgc3IoW2osUCxxLGosUCxxLGosUCxxXSxbRyxKLFNdLGkpKTtJPWMqUi8yLGQ9d1tJKzE2XSxVPXdbSSsxN10sZCYmcC5wdXNoKGQpLFUmJnAucHVzaChVKX1yZXR1cm4gb30saH0oKTtmdW5jdGlvbiBBcihoKXtvbm1lc3NhZ2U9ZnVuY3Rpb24ocil7UHJvbWlzZS5yZXNvbHZlKHIuZGF0YSkudGhlbihmdW5jdGlvbih0KXtyZXR1cm4gaCh0KX0pLnRoZW4oZnVuY3Rpb24odCl7dmFyIGE9dC5vdXRwdXQsbz10LnRyYW5zZmVyO3JldHVybiBwb3N0TWVzc2FnZShhLG8pfSkuY2F0Y2goZnVuY3Rpb24odCl7cmV0dXJuIHBvc3RNZXNzYWdlKHskJGVycm9yOnR9KX0pfX1BcihmdW5jdGlvbihoKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGgpLnRoZW4oZnVuY3Rpb24ocil7Zm9yKHZhciB0PVtdLGE9W10sbz0wLHM9cjtvPHMubGVuZ3RoO28rKyl7dmFyIGU9c1tvXSx2PXZvaWQgMDtpZihlLnR5cGU9PT0ibWVzaCIpdj1uZXcgeXIoZS5wb3NpdGlvbkFycmF5LGUuaW5kaWNlc0FycmF5KTtlbHNlIGlmKGUudHlwZT09PSJwb2ludHMiKXY9bmV3IGZyKGUucG9zaXRpb25BcnJheSxlLmluZGljZXNBcnJheSk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgVHlwZSIpO3YuY3JlYXRlVHJlZShlLm1heEl0ZW1QZXJOb2RlLGUubWF4VHJlZURlcHRoLGUuZXh0ZW50cyk7dmFyIG49e29mZnNldEFycmF5OnYub2Zmc2V0QXJyYXksaW5kaWNlc0FycmF5OnYuaW5kaWNlc0FycmF5LHBvc2l0aW9uQXJyYXk6di5wb3NpdGlvbkFycmF5LHJvb3ROb2RlUGFja2VkOnYucm9vdE5vZGVQYWNrZWR9O3QucHVzaChuKTtmb3IodmFyIHkgaW4gbil7dmFyIEE9blt5XTtBJiYoQSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyP2EuaW5kZXhPZihBKT09PS0xJiZhLnB1c2goQSk6QS5idWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciYmYS5pbmRleE9mKEEuYnVmZmVyKT09LTEmJmEucHVzaChBLmJ1ZmZlcikpfX1yZXR1cm57b3V0cHV0OnQsdHJhbnNmZXI6YX19KX0pfSkoKTsK",blob$2=typeof window!="undefined"&&window.Blob&&new Blob([atob(encodedJs$1)],{type:"text/javascript;charset=utf-8"});function WorkerWrapper$1(n){let t;try{if(t=blob$2&&(window.URL||window.webkitURL).createObjectURL(blob$2),!t)throw"";const e=new Worker(t,{name:n==null?void 0:n.name});return e.addEventListener("error",()=>{(window.URL||window.webkitURL).revokeObjectURL(t)}),e}catch(e){return new Worker("data:application/javascript;base64,"+encodedJs$1,{name:n==null?void 0:n.name})}finally{t&&(window.URL||window.webkitURL).revokeObjectURL(t)}}var WorkerPool$1=function(){function n(t,e){this.pool=e,this.workerCreator=t,this.queue=[],this.workers=[],this.workersResolver=[],this.workerStatus=0}return n.prototype.initWorker=function(t){if(this.workerCreator&&!this.workers[t]){var e=this.workerCreator();e.addEventListener("message",this.onMessage.bind(this,t)),this.workers[t]=e}},n.prototype.getIdleWorker=function(){for(var t=0;t<this.pool;t++)if(!(this.workerStatus&1<<t))return t;return-1},n.prototype.onMessage=function(t,e){var r=this.workersResolver[t],i=r.resolve,o=r.reject;if(e.data&&"$$error"in e.data?o(e.data.$$error):i(e.data),this.queue.length){var s=this.queue.shift(),u=s.resolve,l=s.reject,c=s.input,d=s.transfer;this.workersResolver[t]={resolve:u,reject:l},this.workers[t].postMessage(c,d)}else this.workerStatus^=1<<t},n.prototype.postMessage=function(t,e){var r=this;return e===void 0&&(e=[]),new Promise(function(i,o){var s=r.getIdleWorker();s!==-1?(r.initWorker(s),r.workerStatus|=1<<s,r.workersResolver[s]={resolve:i,reject:o},r.workers[s].postMessage(t,e)):r.queue.push({resolve:i,reject:o,input:t,transfer:e})})},n.prototype.dispose=function(){this.workers.forEach(function(t){return t.terminate()}),this.workersResolver.length=0,this.workers.length=0,this.queue.length=0,this.workerStatus=0},n}(),bvhWorkerPool=new WorkerPool$1(function(){return new WorkerWrapper$1},4),bvhMeshMap=new Map,bvhPointsMap=new Map,scratchRay=new THREE__namespace.Ray,scratchNormalMatrix=new THREE__namespace.Matrix3,scratchInverseMatrix=new THREE__namespace.Matrix4,scratchIntersectionFaceA$1=new THREE__namespace.Vector3,scratchIntersectionFaceB$1=new THREE__namespace.Vector3,scratchIntersectionFaceC$1=new THREE__namespace.Vector3,scratchIntersectionTriangle=new THREE__namespace.Triangle;function raycastMesh(n,t,e,r){var i,o=n.matrixWorld;scratchInverseMatrix.getInverse(o),scratchRay.copy(e.ray).applyMatrix4(scratchInverseMatrix);for(var s=t.intersectRay(scratchRay.origin,scratchRay.direction,[]),u=n.geometry,l=n.material,c=u.groups,d=u.index,f=0,v=s.length;f<v;f++){var p=s[f],A=p.triangle,m=p.index,y=p.intersectionPoint,h=new THREE__namespace.Vector3(y[0],y[1],y[2]).applyMatrix4(o),g=e.ray.origin.distanceTo(h);if(!(g<e.near||g>e.far)){var b=void 0;if(Array.isArray(l)){if(c)for(var E=m*3,T=0,_=c;T<_.length;T++){var x=_[T];if(E>=x.start&&E-x.start<x.count){b=l[(i=x.materialIndex)!==null&&i!==void 0?i:0];break}}}else b=l;if(b){var w=scratchIntersectionTriangle.set(scratchIntersectionFaceA$1.set(A[0],A[1],A[2]).applyMatrix4(o),scratchIntersectionFaceB$1.set(A[3],A[4],A[5]).applyMatrix4(o),scratchIntersectionFaceC$1.set(A[6],A[7],A[8]).applyMatrix4(o)).getNormal(new THREE__namespace.Vector3),S=m*3,C=new THREE__namespace.Face3(d?d.array[S]:S,d?d.array[S+1]:S+1,d?d.array[S+2]:S+2,w),R=e.ray.direction.dot(w);b.side===THREE__namespace.FrontSide&&R>=0||b.side===THREE__namespace.BackSide&&R<=0||r.push({distance:g,object:n,face:C,point:h,distanceToRay:0,faceIndex:m})}}}}function raycastPoints(n,t,e,r){var i,o,s=n.matrixWorld;scratchNormalMatrix.getNormalMatrix(s),scratchInverseMatrix.getInverse(s);var u=((o=(i=e.params.Points)===null||i===void 0?void 0:i.threshold)!==null&&o!==void 0?o:1)*scratchInverseMatrix.getMaxScaleOnAxis();scratchRay.copy(e.ray).applyMatrix4(scratchInverseMatrix);for(var l=t.intersectRay(scratchRay.origin,scratchRay.direction,u,[]),c=n.geometry,d=c.index,f=c.getAttribute("normal"),v=0,p=l.length;v<p;v++){var A=l[v],m=A.triangle,y=A.index,h=A.intersectionPoint,g=new THREE__namespace.Vector3(h[0],h[1],h[2]).applyMatrix4(s),b=e.ray.origin.distanceTo(g);if(!(b<e.near||b>e.far)){var E=scratchIntersectionFaceA$1.set(m[0],m[1],m[2]).applyMatrix4(s),T=d?d.array[y]:y,_=void 0;f instanceof THREE__namespace.BufferAttribute&&(_=new THREE__namespace.Vector3().fromBufferAttribute(f,T).applyNormalMatrix(scratchNormalMatrix));var x=new THREE__namespace.Face3(T,T,T,_);r.push({distance:b,object:n,face:x,point:g,distanceToRay:g.distanceTo(E),index:y})}}}function bindBvhTreeForMesh(n,t){var e=n.raycast,r=function(i,o){var s=bvhMeshMap.get(this);s?raycastMesh(this,s,i,o):e.call(this,i,o)};return n.raycast=r,bvhMeshMap.set(n,t),function(){bvhMeshMap.delete(n),n.raycast===r&&(n.raycast=e)}}function bindBvhTreeForPoints(n,t){var e=n.raycast,r=function(i,o){var s=bvhPointsMap.get(this);s?raycastPoints(this,s,i,o):e.call(this,i,o)};return n.raycast=r,bvhPointsMap.set(n,t),function(){bvhPointsMap.delete(n),n.raycast===r&&(n.raycast=e)}}function generateBvhTree(n,t,e,r){t===void 0&&(t=!0),e===void 0&&(e=100),r===void 0&&(r=10);var i=[];return n.traverse(function(o){if((o instanceof THREE__namespace.Mesh||o instanceof THREE__namespace.Points)&&o.geometry instanceof THREE__namespace.BufferGeometry){var s=o.geometry.getAttribute("position");s instanceof THREE__namespace.BufferAttribute&&i.push(o)}}),t?Promise.resolve().then(function(){for(var o,s,u=[],l=[],c=0;c<i.length;c++){var d=i[c];if(d instanceof THREE__namespace.Mesh){if(d.geometry instanceof THREE__namespace.BufferGeometry){var f=d.geometry.getAttribute("position");if(f instanceof THREE__namespace.BufferAttribute){var v=f.array,p=(o=d.geometry.getIndex())===null||o===void 0?void 0:o.array,A=d.geometry.boundingBox,m=A?[A.min.x,A.min.y,A.min.z,A.max.x,A.max.y,A.max.z]:void 0,y={type:"mesh",positionArray:v,indicesArray:p,maxItemPerNode:e,maxTreeDepth:r,extents:m};u.push(y);for(var h in y){var g=y[h];g&&(g instanceof ArrayBuffer?l.indexOf(g)===-1&&l.push(g):g.buffer instanceof ArrayBuffer&&l.indexOf(g.buffer)===-1&&l.push(g.buffer))}}}}else if(d instanceof THREE__namespace.Points&&d.geometry instanceof THREE__namespace.BufferGeometry){var f=d.geometry.getAttribute("position");if(f instanceof THREE__namespace.BufferAttribute){var v=f.array,p=(s=d.geometry.getIndex())===null||s===void 0?void 0:s.array,A=d.geometry.boundingBox,m=A?[A.min.x,A.min.y,A.min.z,A.max.x,A.max.y,A.max.z]:void 0,y={type:"points",positionArray:v,indicesArray:p,maxItemPerNode:e,maxTreeDepth:r,extents:m};u.push(y);for(var b in y){var g=y[b];g&&(g instanceof ArrayBuffer?l.indexOf(g)===-1&&l.push(g):g.buffer instanceof ArrayBuffer&&l.indexOf(g.buffer)===-1&&l.push(g.buffer))}}}}return bvhWorkerPool.postMessage(u,l)}).then(function(o){for(var s=[],u=0;u<i.length;u++){var l=i[u],c=o[u];if(l instanceof THREE__namespace.Mesh){if(l.geometry instanceof THREE__namespace.BufferGeometry){var d=l.geometry.getAttribute("position");if(d instanceof THREE__namespace.BufferAttribute){d.array=c.positionArray;var f=l.geometry.getIndex();f&&c.indicesArray&&(f.array=c.indicesArray);var v=new BVHMesh(c.positionArray,c.indicesArray);v.offsetArray=c.offsetArray,v.rootNodePacked=c.rootNodePacked;var p=bindBvhTreeForMesh(l,v);s.push(p)}}}else if(l instanceof THREE__namespace.Points&&l.geometry instanceof THREE__namespace.BufferGeometry){var d=l.geometry.getAttribute("position");if(d instanceof THREE__namespace.BufferAttribute){d.array=c.positionArray;var f=l.geometry.getIndex();f&&c.indicesArray&&(f.array=c.indicesArray);var v=new BVHPoints(c.positionArray,c.indicesArray);v.offsetArray=c.offsetArray,v.rootNodePacked=c.rootNodePacked;var p=bindBvhTreeForPoints(l,v);s.push(p)}}}return function(){for(var A=0,m=s;A<m.length;A++){var y=m[A];y()}s.length=0}}):Promise.resolve().then(function(){for(var o,s,u=[],l=0,c=i;l<c.length;l++){var d=c[l];if(d instanceof THREE__namespace.Mesh){if(d.geometry instanceof THREE__namespace.BufferGeometry){var f=d.geometry.getAttribute("position");if(f instanceof THREE__namespace.BufferAttribute){var v=f.array,p=(o=d.geometry.getIndex())===null||o===void 0?void 0:o.array,A=d.geometry.boundingBox,m=A?[A.min.x,A.min.y,A.min.z,A.max.x,A.max.y,A.max.z]:void 0,y=new BVHMesh(v,p);y.createTree(e,r,m);var h=bindBvhTreeForMesh(d,y);u.push(h)}}}else if(d instanceof THREE__namespace.Points&&d.geometry instanceof THREE__namespace.BufferGeometry){var f=d.geometry.getAttribute("position");if(f instanceof THREE__namespace.BufferAttribute){var v=f.array,p=(s=d.geometry.getIndex())===null||s===void 0?void 0:s.array,A=d.geometry.boundingBox,m=A?[A.min.x,A.min.y,A.min.z,A.max.x,A.max.y,A.max.z]:void 0,y=new BVHPoints(v,p);y.createTree(e,r,m);var h=bindBvhTreeForPoints(d,y);u.push(h)}}}return function(){for(var g=0,b=u;g<b.length;g++){var E=b[g];E()}u.length=0}})}var scratchIntersectionFaceA=new THREE__namespace.Vector3,scratchIntersectionFaceB=new THREE__namespace.Vector3,scratchIntersectionFaceC=new THREE__namespace.Vector3,TileNode=function(n){__extends(t,n);function t(e,r){var i=n.call(this)||this;return i.renderOrder=-4,i.disposers=[r],i.add(e),i}return t.prototype.generateBvhTree=function(){var e=this;return generateBvhTree(this,!0,200,10).then(function(r){e.disposers.push(r)})},t.prototype.intersectRaycaster=function(e,r,i){var o=this;r===void 0&&(r=!0),i===void 0&&(i=[]);for(var s=this.children.slice(),u;u=s.pop();)if(u.visible){u.raycast(e,i);for(var l=0,c=u.children.length;l<c;l++)s.push(u.children[l])}return i.forEach(function(d){var f,v,p=0;if((d.object instanceof PBMMesh||d.object instanceof PBMPointCloud)&&d.face){var A=Array.isArray(d.object.material)?d.object.material[d.face.materialIndex]:d.object.material;if(A)if(A.defines.USE_VERTEX_FLOOR){var m=(f=d.object.geometry.attributes.position)===null||f===void 0?void 0:f.array,y=(v=d.object.geometry.attributes.floor)===null||v===void 0?void 0:v.array;if(m&&y){var h=scratchIntersectionFaceA.set(m[d.face.a*3],m[d.face.a*3+1],m[d.face.a*3+2]).applyMatrix4(o.matrixWorld),g=scratchIntersectionFaceB.set(m[d.face.b*3],m[d.face.b*3+1],m[d.face.b*3+2]).applyMatrix4(o.matrixWorld),b=scratchIntersectionFaceC.set(m[d.face.c*3],m[d.face.c*3+1],m[d.face.c*3+2]).applyMatrix4(o.matrixWorld),E=d.point.distanceTo(h),T=d.point.distanceTo(g),_=d.point.distanceTo(b);p=Math.round((E*y[d.face.a]+T*y[d.face.b]+_*y[d.face.c])/(E+T+_))}}else p=A.floor}d.floor=p}),r&&i.sort(function(d,f){return d.distance-f.distance}),i},t.prototype.dispose=function(){for(var e=0,r=this.disposers;e<r.length;e++){var i=r[e];i()}this.disposers.length=0},t}(THREE__namespace.Group);function pathJoin(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e=[];n=n.map(function(u){return(u!=null?u:"").trim()}).filter(function(u){return u.length>0&&!/^\/+$/.test(u)});for(var r=0;r<n.length;r++){var i=r===0,o=r===n.length-1,s=n[r];i||(s=s.replace(/^\.\//,"").replace(/^\/+/,"")),o||(s=s.replace(/\/+$/,"")),e.push(s)}return e.join("/")}function isAbsoluteURL(n){return n.indexOf("//")===0||/^[0-9a-z]+\:/i.test(n)}function normalizeTileHeader(n,t){if(n.content&&n.content.uri&&(isAbsoluteURL(n.content.uri)||(n.content.uri=pathJoin(t,n.content.uri))),n.children)for(var e=0,r=n.children;e<r.length;e++){var i=r[e];normalizeTileHeader(i,t)}return n}function normalizeTilesetHeader(n,t){return n.asset.overview&&(isAbsoluteURL(n.asset.overview.imageFile)||(n.asset.overview.imageFile=pathJoin(t,n.asset.overview.imageFile)),isAbsoluteURL(n.asset.overview.worldFile)||(n.asset.overview.worldFile=pathJoin(t,n.asset.overview.worldFile))),normalizeTileHeader(n.root,t),n}function appendSearch(n,t){return(t[0]==="?"||t[0]==="&")&&(t=t.slice(1)),t?((n[n.length-1]==="?"||n[n.length-1]==="&")&&(n=n.slice(0,-1)),n.indexOf("?")>=0?"".concat(n,"&").concat(t):"".concat(n,"?").concat(t)):n}var SIZEOF_UINT32$1=4;function parseHeader(n,t,e){var r=new DataView(t);if(n.magic=r.getUint32(e,!0),e+=SIZEOF_UINT32$1,n.version=r.getUint32(e,!0),e+=SIZEOF_UINT32$1,n.byteLength=r.getUint32(e,!0),e+=SIZEOF_UINT32$1,n.version!==1)throw new Error("3D Tile Version ".concat(n.version," not supported"));return e}var _a$2,GL_TYPE;(function(n){n[n.BYTE=5120]="BYTE",n[n.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",n[n.SHORT=5122]="SHORT",n[n.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",n[n.INT=5124]="INT",n[n.UNSIGNED_INT=5125]="UNSIGNED_INT",n[n.FLOAT=5126]="FLOAT",n[n.DOUBLE=5130]="DOUBLE"})(GL_TYPE||(GL_TYPE={}));var GL_TYPE_TO_ARRAY_TYPE=(_a$2={},_a$2[GL_TYPE.DOUBLE]=Float64Array,_a$2[GL_TYPE.FLOAT]=Float32Array,_a$2[GL_TYPE.UNSIGNED_SHORT]=Uint16Array,_a$2[GL_TYPE.UNSIGNED_INT]=Uint32Array,_a$2[GL_TYPE.UNSIGNED_BYTE]=Uint8Array,_a$2[GL_TYPE.BYTE]=Int8Array,_a$2[GL_TYPE.SHORT]=Int16Array,_a$2[GL_TYPE.INT]=Int32Array,_a$2),NAME_TO_GL_TYPE={DOUBLE:GL_TYPE.DOUBLE,FLOAT:GL_TYPE.FLOAT,UNSIGNED_SHORT:GL_TYPE.UNSIGNED_SHORT,UNSIGNED_INT:GL_TYPE.UNSIGNED_INT,UNSIGNED_BYTE:GL_TYPE.UNSIGNED_BYTE,BYTE:GL_TYPE.BYTE,SHORT:GL_TYPE.SHORT,INT:GL_TYPE.INT};function getArrayType(n){var t=GL_TYPE_TO_ARRAY_TYPE[n];if(!t)throw new Error("Failed to convert GL type");return t}function getByteSize(n){var t=getArrayType(n);return t.BYTES_PER_ELEMENT}function createTypedArray(n,t,e,r){e===void 0&&(e=0);var i=getArrayType(n);if(e%getByteSize(n)!==0){var o=r?t.slice(e,e+r*getByteSize(n)):t.slice(e);return new i(o)}else return new i(t,e,r!=null?r:(t.byteLength-e)/getByteSize(n))}function glTypeFromName(n){var t=NAME_TO_GL_TYPE[n];if(!t)throw new Error("Failed to convert GL type");return t}var FeatureTable=function(){function n(t,e){this.featuresLength=0,this.cachedTypedArrays={},this.json=t,this.buffer=e;var r=this.getGlobalProperty("POINTS_LENGTH",GL_TYPE.UNSIGNED_INT,1);r&&r.length&&(this.featuresLength=r[0])}return n.prototype.getExtension=function(t){return this.json.extensions&&this.json.extensions[t]},n.prototype.hasProperty=function(t){return!!this.json[t]},n.prototype.getGlobalProperty=function(t,e,r){var i=this.json[t];if(typeof i=="number"){var o=getArrayType(e);return new o([i])}else if(Array.isArray(i)){var o=getArrayType(e);return new o(i)}else if(i&&Number.isFinite(i.byteOffset))return this.getTypedArrayFromBinary(t,e,r,1,i.byteOffset);return null},n.prototype.getPropertyArray=function(t,e,r){var i=this.json[t];return i&&Number.isFinite(i.byteOffset)?("componentType"in i&&(e=glTypeFromName(i.componentType)),this.getTypedArrayFromBinary(t,e,r,this.featuresLength,i.byteOffset)):this.getTypedArrayFromArray(t,e,i)},n.prototype.getProperty=function(t,e,r,i,o){var s=this.json[t];if(!s)return null;var u=this.getPropertyArray(t,e,r);if(r===1)return o[0]=u[i],o;for(var l=0;l<r;++l)o[l]=u[r*i+l];return o},n.prototype.getTypedArrayFromBinary=function(t,e,r,i,o){var s=this.cachedTypedArrays,u=s[t];return u||(u=createTypedArray(e,this.buffer.buffer,this.buffer.byteOffset+o,i*r),s[t]=u),u},n.prototype.getTypedArrayFromArray=function(t,e,r){var i=this.cachedTypedArrays,o=i[t];return o||(o=createTypedArray(e,r),i[t]=o),o},n}(),SIZEOF_UINT32=4,DEPRECATION_WARNING="b3dm tile in legacy format.";function getStringFromArrayBuffer(n,t,e){var r=new TextDecoder("utf8"),i=new Uint8Array(n,t,e),o=r.decode(i);return o}function parseTable(n,t,e){return e=parseTablesHeader(n,t,e),e=parseFeatureTable(n,t,e),e=parseBatchTable(n,t,e),e}function parseTablesHeader(n,t,e){var r=new DataView(t),i=0;n.header=n.header||{};var o=r.getUint32(e,!0);e+=SIZEOF_UINT32;var s=r.getUint32(e,!0);e+=SIZEOF_UINT32;var u=r.getUint32(e,!0);e+=SIZEOF_UINT32;var l=r.getUint32(e,!0);return e+=SIZEOF_UINT32,u>=570425344?(e-=SIZEOF_UINT32*2,i=o,u=s,l=0,o=0,s=0,console.warn(DEPRECATION_WARNING)):l>=570425344&&(e-=SIZEOF_UINT32,i=u,u=o,l=s,o=0,s=0,console.warn(DEPRECATION_WARNING)),n.header.featureTableJsonByteLength=o,n.header.featureTableBinaryByteLength=s,n.header.batchTableJsonByteLength=u,n.header.batchTableBinaryByteLength=l,n.header.batchLength=i,e}function parseFeatureTable(n,t,e){var r=n.header||{},i=r.featureTableJsonByteLength,o=r.featureTableBinaryByteLength,s=r.batchLength;if(n.featureTableJson={BATCH_LENGTH:s||0},i&&i>0){var u=getStringFromArrayBuffer(t,e,i);n.featureTableJson=JSON.parse(u)}e+=i||0,n.featureTableBinary=new Uint8Array(t,e,o),e+=o||0,n.rtcCenter=[0,0,0];var l=new FeatureTable(n.featureTableJson,n.featureTableBinary);if(Array.isArray(l.json.RTC_CENTER)){var c=l.json.RTC_CENTER;n.rtcCenter[0]=c[0],n.rtcCenter[1]=c[1],n.rtcCenter[2]=c[2]}else{var c=l.getGlobalProperty("RTC_CENTER",GL_TYPE.FLOAT,3);c&&(n.rtcCenter[0]=c[0],n.rtcCenter[1]=c[1],n.rtcCenter[2]=c[2])}return e}function parseBatchTable(n,t,e){var r=n.header||{},i=r.batchTableJsonByteLength,o=r.batchTableBinaryByteLength;if(i&&i>0){var s=getStringFromArrayBuffer(t,e,i);n.batchTableJson=JSON.parse(s),e+=i,o&&o>0&&(n.batchTableBinary=new Uint8Array(t,e,o),n.batchTableBinary=new Uint8Array(n.batchTableBinary),e+=o)}return e}function sliceArrayBuffer(n,t,e){var r=e!==void 0?new Uint8Array(n).subarray(t,t+e):new Uint8Array(n).subarray(t),i=new Uint8Array(r);return i.buffer}function parseGlTFArrayBuffer(n,t,e){var r=n.byteLength-e;if(r===0)throw new Error("glTF byte length must be greater than 0.");return e%4!==0&&console.warn("".concat(n.type,": embedded glb is not aligned to a 4-byte boundary.")),n.gltfArrayBuffer=sliceArrayBuffer(t,e,r),n.byteLength}function decodeText(n){if(typeof TextDecoder!="undefined")return new TextDecoder().decode(n);for(var t="",e=0,r=n.length;e<r;e++)t+=String.fromCharCode(n[e]);try{return decodeURIComponent(escape(t))}catch(i){return t}}var WEBGL_CONSTANTS={FLOAT:5126,FLOAT_MAT3:35675,FLOAT_MAT4:35676,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,LINEAR:9729,REPEAT:10497,SAMPLER_2D:35678,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123},WEBGL_COMPONENT_TYPES={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},WEBGL_FILTERS={9728:THREE__namespace.NearestFilter,9729:THREE__namespace.LinearFilter,9984:THREE__namespace.NearestMipmapNearestFilter,9985:THREE__namespace.LinearMipmapNearestFilter,9986:THREE__namespace.NearestMipmapLinearFilter,9987:THREE__namespace.LinearMipmapLinearFilter},WEBGL_WRAPPINGS={33071:THREE__namespace.ClampToEdgeWrapping,33648:THREE__namespace.MirroredRepeatWrapping,10497:THREE__namespace.RepeatWrapping},WEBGL_TYPE_SIZES={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},ATTRIBUTES={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv2",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},PATH_PROPERTIES={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},INTERPOLATION={CUBICSPLINE:void 0,LINEAR:THREE__namespace.InterpolateLinear,STEP:THREE__namespace.InterpolateDiscrete},ALPHA_MODES={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function values(n){var t=[];for(var e in n)t.push(n[e]);return t}var Parser=function(){function n(t,e,r){this.json=t,this.extensions=e,this.options=r,this.cache=new Map,this.disposeSet=new Set,this.nodeNamesUsed={}}return n.prototype.dispose=function(){this.cache.clear(),this.disposeSet.forEach(function(t){typeof t.dispose=="function"&&t.dispose(),typeof t.close=="function"&&t.close()}),this.disposeSet.clear(),delete this.cache,delete this.disposeSet,delete this.json,delete this.extensions,delete this.options},n.prototype.markDefs=function(){for(var t=this.json.nodes||[],e=this.json.skins||[],r=this.json.meshes||[],i=0,o=e.length;i<o;i++)for(var s=e[i].joints,u=0,l=s.length;u<l;u++)t[s[u]].isBone=!0;for(var c=0,d=t.length;c<d;c++){var f=t[c];f.mesh!==void 0&&f.skin!==void 0&&(r[f.mesh].isSkinnedMesh=!0)}},n.prototype.parse=function(){var t=this,e=this.json,r=this.extensions;this.markDefs();for(var i=0,o=values(r);i<o.length;i++){var s=o[i];s.markDefs(this)}return Promise.all(values(r).map(function(u){return u.prepare(t)})).then(function(){var u,l,c;return Promise.all([Promise.all(((u=e.scenes)!==null&&u!==void 0?u:[]).map(function(d,f){return t.loadScene(f)})),Promise.all(((l=e.animations)!==null&&l!==void 0?l:[]).map(function(d,f){return t.loadAnimation(f)})),Promise.all(((c=e.cameras)!==null&&c!==void 0?c:[]).map(function(d,f){return t.loadCamera(f)}))])}).then(function(u){var l=u[0],c=u[1],d=u[2],f={json:t.json,scene:l[e.scene||0],scenes:l,animations:c,cameras:d,dispose:function(){return t.dispose()}};return Promise.all(values(r).map(function(v){return v.emitResult(f,t)})).then(function(){return f})})},n.prototype.loadCamera=function(t){var e="camera:"+t,r=this.cache.get(e);if(r)return r;for(var i=null,o=0,s=values(this.extensions);o<s.length;o++){var u=s[o];if(i=u.loadCamera(t,this),i)break}if(!i){var l=void 0,c=this.json.cameras[t],d=c[c.type];d?c.type==="perspective"?l=new THREE__namespace.PerspectiveCamera(THREE__namespace.MathUtils.radToDeg(d.yfov),d.aspectRatio||1,d.znear||1,d.zfar||2e6):c.type==="orthographic"?l=new THREE__namespace.OrthographicCamera(-d.xmag,d.xmag,d.ymag,-d.ymag,d.znear,d.zfar):(console.warn("glTF: Invalid camera type ".concat(c.type,".")),l=new THREE__namespace.Camera):(console.warn("glTF: Missing camera parameters."),l=new THREE__namespace.Camera),c.name&&(l.name=this.createUniqueName(c.name)),i=Promise.resolve(l)}return this.cache.set(e,i),i},n.prototype.loadSkin=function(t){var e="animation:"+t,r=this.cache.get(e);if(r)return r;var i,o=this.json.skins[t],s={joints:o.joints};return o.inverseBindMatrices===void 0?i=Promise.resolve(s):i=this.loadAccessor(o.inverseBindMatrices).then(function(u){return u&&(s.inverseBindMatrices=u),s}),this.cache.set(e,i),i},n.prototype.loadAnimation=function(t){var e="animation:"+t,r=this.cache.get(e);if(r)return r;for(var i=null,o=0,s=values(this.extensions);o<s.length;o++){var u=s[o];if(i=u.loadAnimation(t,this),i)break}if(!i){for(var l=this.json,c=l.animations[t],d=[],f=[],v=[],p=[],A=[],m=0,y=c.channels.length;m<y;m++){var h=c.channels[m],g=c.samplers[h.sampler],b=h.target,E=b.node!==void 0?b.node:b.id,T=c.parameters!==void 0?c.parameters[g.input]:g.input,_=c.parameters!==void 0?c.parameters[g.output]:g.output;d.push(this.loadNode(E)),f.push(this.loadAccessor(T)),v.push(this.loadAccessor(_)),p.push(g),A.push(b)}i=Promise.all([Promise.all(d),Promise.all(f),Promise.all(v),Promise.all(p),Promise.all(A)]).then(function(x){for(var w=x[0],S=x[1],C=x[2],R=x[3],I=x[4],B=[],F=function(Q,U){var N=w[Q],G=S[Q],K=C[Q],X=R[Q],D=I[Q];if(N===void 0)return"continue";N.updateMatrix(),N.matrixAutoUpdate=!0;var W=void 0;switch(PATH_PROPERTIES[D.path]){case PATH_PROPERTIES.weights:W=THREE__namespace.NumberKeyframeTrack;break;case PATH_PROPERTIES.rotation:W=THREE__namespace.QuaternionKeyframeTrack;break;case PATH_PROPERTIES.position:case PATH_PROPERTIES.scale:default:W=THREE__namespace.VectorKeyframeTrack;break}var q=N.name?N.name:N.uuid,ae=X.interpolation!==void 0?INTERPOLATION[X.interpolation]:THREE__namespace.InterpolateLinear,Y=[];PATH_PROPERTIES[D.path]===PATH_PROPERTIES.weights?N.traverse(function(ne){ne.morphTargetInfluences&&Y.push(ne.name?ne.name:ne.uuid)}):Y.push(q);var re=K.array;if(K.normalized){for(var $=getNormalizedComponentScale(re.constructor),oe=new Float32Array(re.length),J=0,ie=re.length;J<ie;J++)oe[J]=re[J]*$;re=oe}for(var J=0,ie=Y.length;J<ie;J++){var se=new W(Y[J]+"."+PATH_PROPERTIES[D.path],G.array,re,ae);B.push(se)}},L=0,O=w.length;L<O;L++)F(L);var k=c.name?c.name:"animation_"+t;return new THREE__namespace.AnimationClip(k,void 0,B)})}return this.cache.set(e,i),i},n.prototype.loadBuffer=function(t){var e=this.json.buffers[t];if(e.type&&e.type!=="arraybuffer")throw new Error("glTF: "+e.type+" buffer type is not supported.");var r="buffer:"+t,i=this.cache.get(r);if(i)return i;for(var o=null,s=0,u=values(this.extensions);s<u.length;s++){var l=u[s];if(o=l.loadBuffer(t,this),o)break}if(!o){var c=this.json.buffers[t];o=this.options.fetcher.ajax(this.resolveResouce(c.uri),{responseType:"arraybuffer"}).then(function(d){return d.body})}return this.cache.set(r,o),o},n.prototype.loadBufferView=function(t){var e="bufferView:"+t,r=this.cache.get(e);if(r)return r;for(var i=null,o=0,s=values(this.extensions);o<s.length;o++){var u=s[o];if(i=u.loadBufferView(t,this),i)break}if(!i){var l=this.json.bufferViews[t];i=this.loadBuffer(l.buffer).then(function(c){var d=l.byteLength||0,f=l.byteOffset||0;return c.slice(f,f+d)})}return this.cache.set(e,i),i},n.prototype.loadAccessor=function(t){var e=this,r="accessor:"+t,i=this.cache.get(r);if(i)return i;var o=null;if(!o){var s=this.json.accessors[t];if(s.bufferView===void 0&&s.sparse===void 0)o=Promise.resolve(null);else{var u=[];s.bufferView!==void 0?u.push(this.loadBufferView(s.bufferView)):u.push(Promise.resolve(null)),s.sparse!==void 0&&(u.push(this.loadBufferView(s.sparse.indices.bufferView)),u.push(this.loadBufferView(s.sparse.values.bufferView))),o=Promise.all(u).then(function(l){var c=l[0],d=WEBGL_TYPE_SIZES[s.type],f=WEBGL_COMPONENT_TYPES[s.componentType],v=f.BYTES_PER_ELEMENT,p=v*d,A=s.byteOffset||0,m=s.bufferView!==void 0?e.json.bufferViews[s.bufferView].byteStride:void 0,y=s.normalized===!0,h,g;if(m&&m!==p){var b=Math.floor(A/m),E="InterleavedBuffer:"+s.bufferView+":"+s.componentType+":"+b+":"+s.count,T=e.cache.get(E);T||(h=new f(c,b*m,s.count*m/v),T=new THREE__namespace.InterleavedBuffer(h,m/v),e.cache.set(E,T)),g=new THREE__namespace.InterleavedBufferAttribute(T,d,A%m/v,y)}else c===null?h=new f(s.count*d):h=new f(c,A,s.count*d),g=new THREE__namespace.BufferAttribute(h,d,y);if(s.sparse!==void 0){var _=WEBGL_TYPE_SIZES.SCALAR,x=WEBGL_COMPONENT_TYPES[s.sparse.indices.componentType],w=s.sparse.indices.byteOffset||0,S=s.sparse.values.byteOffset||0,C=new x(l[1],w,s.sparse.count*_),R=new f(l[2],S,s.sparse.count*d);c!==null&&(g=new THREE__namespace.BufferAttribute(g.array.slice(),g.itemSize,g.normalized));for(var I=0,B=C.length;I<B;I++){var F=C[I];if(g.setX(F,R[I*d]),d>=2&&g.setY(F,R[I*d+1]),d>=3&&g.setZ(F,R[I*d+2]),d>=4&&g.setW(F,R[I*d+3]),d>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return g})}}return this.cache.set(r,o),o},n.prototype.createPrimitiveKey=function(t){for(var e=0,r=values(this.extensions);e<r.length;e++){var i=r[e],o=i.createPrimitiveKey(t,this);if(o)return o}for(var s="",u=Object.keys(t.attributes).sort(),l=0,c=u.length;l<c;l++)s+=u[l]+":"+t.attributes[u[l]]+";";return t.indices+":"+s+":"+t.mode},n.prototype.loadGeometry=function(t){for(var e=this,r=null,i=0,o=values(this.extensions);i<o.length;i++){var s=o[i];if(r=s.loadGeometry(t,this),r)break}return r||(r=this.addGeometryPrimitiveAttributes(new THREE__namespace.BufferGeometry,t)),r=r.then(function(u){return e.disposeSet.add(u),u}),r},n.prototype.loadImage=function(t){for(var e=this,r=null,i=0,o=values(this.extensions);i<o.length;i++){var s=o[i];if(r=s.loadImage(t,this),r)break}if(!r){var u=this.json.images[t];if(u.bufferView!==void 0){var l=this.json.bufferViews[u.bufferView];r=this.loadBuffer(l.buffer).then(function(d){var f=l.byteOffset||0,v=l.byteLength||0,p=new Uint8Array(d,f,v),A=new Blob([p],{type:u.mimeType});return createImageBitmapLike(A)})}else if(u.uri){var c=this.resolveResouce(u.uri);r=this.options.fetcher.loadImage(c,{},void 0,void 0,void 0,createImageBitmapLikeImage()).then(function(d){return d.body})}else throw new Error("glTF: Invalid image defs.")}return r=r.then(function(d){return e.disposeSet.add(d),d}),r},n.prototype.loadMaterialAsMeshStandardMaterial=function(t){var e=this,r=[],i=new THREE__namespace.MeshStandardMaterial;if(i.color=new THREE__namespace.Color(1,1,1),i.opacity=1,Object.keys(t.attributes).filter(function(d){return ATTRIBUTES[d]==="color"}).length>0&&(i.vertexColors=!0),Object.keys(t.attributes).filter(function(d){return ATTRIBUTES[d]==="normal"}).length===0&&(i.flatShading=!0),Object.keys(t.attributes).filter(function(d){return ATTRIBUTES[d]==="tangent"}).length===0&&(i.normalScale&&(i.normalScale.y*=-1),i.clearcoatNormalScale&&(i.clearcoatNormalScale.y*=-1)),t.material!==void 0){var o=this.json.materials[t.material];o.name&&(i.name=o.name);var s=o.pbrMetallicRoughness||{};if(Array.isArray(s.baseColorFactor)){var u=s.baseColorFactor;i.color.fromArray(u),i.opacity=u[3]}s.baseColorTexture!==void 0&&r.push(this.createMaterialTexture(s.baseColorTexture).then(function(d){d.encoding=THREE__namespace.sRGBEncoding,i.map=d,e.disposeSet.add(d)})),i.metalness=s.metallicFactor!==void 0?s.metallicFactor:1,i.roughness=s.roughnessFactor!==void 0?s.roughnessFactor:1,s.metallicRoughnessTexture!==void 0&&r.push(this.createMaterialTexture(s.metallicRoughnessTexture).then(function(d){d.encoding=THREE__namespace.sRGBEncoding,i.metalnessMap=d,i.roughnessMap=d,e.disposeSet.add(d)})),o.doubleSided===!0&&(i.side=THREE__namespace.DoubleSide);var l=o.alphaMode||ALPHA_MODES.OPAQUE;if(l===ALPHA_MODES.BLEND?(i.transparent=!0,i.depthWrite=!1):(i.transparent=!1,l===ALPHA_MODES.MASK&&(i.alphaTest=o.alphaCutoff!==void 0?o.alphaCutoff:.5)),o.normalTexture!==void 0&&(r.push(this.createMaterialTexture(o.normalTexture).then(function(d){i.normalMap=d,e.disposeSet.add(d)})),i.normalScale=new THREE__namespace.Vector2(1,1),o.normalTexture.scale!==void 0)){var c=o.normalTexture.scale;i.normalScale.set(c,c)}o.occlusionTexture!==void 0&&(r.push(this.createMaterialTexture(o.occlusionTexture).then(function(d){i.aoMap=d,e.disposeSet.add(d)})),o.occlusionTexture.strength!==void 0&&(i.aoMapIntensity=o.occlusionTexture.strength)),o.emissiveFactor!==void 0&&(i.emissive=new THREE__namespace.Color().fromArray(o.emissiveFactor)),o.emissiveTexture!==void 0&&r.push(this.createMaterialTexture(o.emissiveTexture).then(function(d){i.emissiveMap=d,e.disposeSet.add(d)}))}return this.disposeSet.add(i),Promise.all(r).then(function(){return i})},n.prototype.loadMaterialAsLineBasicMaterial=function(t){var e=[],r=new THREE__namespace.LineBasicMaterial;if(r.color=new THREE__namespace.Color(1,1,1),r.opacity=1,Object.keys(t.attributes).filter(function(l){return ATTRIBUTES[l]==="color"}).length>0&&(r.vertexColors=!0),Object.keys(t.attributes).filter(function(l){return ATTRIBUTES[l]==="tangent"}).length===0&&(r.normalScale&&(r.normalScale.y*=-1),r.clearcoatNormalScale&&(r.clearcoatNormalScale.y*=-1)),t.material!==void 0){var i=this.json.materials[t.material];i.name&&(r.name=i.name);var o=i.pbrMetallicRoughness||{};if(Array.isArray(o.baseColorFactor)){var s=o.baseColorFactor;r.color.fromArray(s),r.opacity=s[3]}i.doubleSided===!0&&(r.side=THREE__namespace.DoubleSide);var u=i.alphaMode||ALPHA_MODES.OPAQUE;u===ALPHA_MODES.BLEND?(r.transparent=!0,r.depthWrite=!1):(r.transparent=!1,u===ALPHA_MODES.MASK&&(r.alphaTest=i.alphaCutoff!==void 0?i.alphaCutoff:.5))}return this.disposeSet.add(r),Promise.all(e).then(function(){return r})},n.prototype.loadMaterialAsPointsMaterial=function(t){var e=this,r=[],i=new THREE__namespace.PointsMaterial;if(i.color=new THREE__namespace.Color(1,1,1),i.opacity=1,i.sizeAttenuation=!1,Object.keys(t.attributes).filter(function(c){return ATTRIBUTES[c]==="color"}).length>0&&(i.vertexColors=!0),Object.keys(t.attributes).filter(function(c){return ATTRIBUTES[c]==="tangent"}).length===0&&(i.normalScale&&(i.normalScale.y*=-1),i.clearcoatNormalScale&&(i.clearcoatNormalScale.y*=-1)),t.material!==void 0){var o=this.json.materials[t.material];o.name&&(i.name=o.name);var s=o.pbrMetallicRoughness||{};if(Array.isArray(s.baseColorFactor)){var u=s.baseColorFactor;i.color.fromArray(u),i.opacity=u[3]}s.baseColorTexture!==void 0&&r.push(this.createMaterialTexture(s.baseColorTexture).then(function(c){c.encoding=THREE__namespace.sRGBEncoding,i.map=c,e.disposeSet.add(c)})),o.doubleSided===!0&&(i.side=THREE__namespace.DoubleSide);var l=o.alphaMode||ALPHA_MODES.OPAQUE;l===ALPHA_MODES.BLEND?(i.transparent=!0,i.depthWrite=!1):(i.transparent=!1,l===ALPHA_MODES.MASK&&(i.alphaTest=o.alphaCutoff!==void 0?o.alphaCutoff:.5))}return this.disposeSet.add(i),Promise.all(r).then(function(){return i})},n.prototype.loadMaterial=function(t){var e,r=(e=t.mode)!==null&&e!==void 0?e:WEBGL_CONSTANTS.TRIANGLES,i="material:"+this.createPrimitiveKey(t),o=this.cache.get(i);if(o)return o;for(var s=null,u=0,l=values(this.extensions);u<l.length;u++){var c=l[u];if(s=c.loadMaterial(t,this),s)break}if(r===WEBGL_CONSTANTS.TRIANGLES||r===WEBGL_CONSTANTS.TRIANGLE_STRIP||r===WEBGL_CONSTANTS.TRIANGLE_FAN)s=this.loadMaterialAsMeshStandardMaterial(t);else if(r===WEBGL_CONSTANTS.LINES||r===WEBGL_CONSTANTS.LINE_STRIP||r===WEBGL_CONSTANTS.LINE_LOOP)s=this.loadMaterialAsLineBasicMaterial(t);else if(r===WEBGL_CONSTANTS.POINTS)s=this.loadMaterialAsPointsMaterial(t);else throw new Error("glTF: Primitive mode unsupported: "+r);return this.cache.set(i,s),s},n.prototype.loadTexture=function(t){var e=this,r="texture:"+t,i=this.cache.get(r);if(i)return i;for(var o=null,s=0,u=values(this.extensions);s<u.length;s++){var l=u[s];if(o=l.loadTexture(t,this),o)break}if(!o){var c=this.json.textures[t];o=this.loadImage(c.source).then(function(d){var f=new THREE__namespace.Texture(d);f.needsUpdate=!0,f.flipY=!1,c.name&&(f.name=c.name);var v=e.json.samplers||{},p=v[c.sampler]||{};return f.magFilter=WEBGL_FILTERS[p.magFilter]||THREE__namespace.LinearFilter,f.minFilter=WEBGL_FILTERS[p.minFilter]||THREE__namespace.LinearMipmapLinearFilter,f.wrapS=WEBGL_WRAPPINGS[p.wrapS]||THREE__namespace.RepeatWrapping,f.wrapT=WEBGL_WRAPPINGS[p.wrapT]||THREE__namespace.RepeatWrapping,f.onUpdate=function(){d.close()},f})}return o=o.then(function(d){return e.disposeSet.add(d),d}),this.cache.set(r,o),o},n.prototype.loadMesh=function(t){for(var e=this,r=null,i=0,o=values(this.extensions);i<o.length;i++){var s=o[i];if(r=s.loadMesh(t,this),r)break}if(!r){var u=this.json.meshes[t],l=u.primitives,c=Promise.all(l.map(function(f){return e.loadGeometry(f)})),d=Promise.all(l.map(function(f){return e.loadMaterial(f)}));r=Promise.all([c,d]).then(function(f){for(var v=f[0],p=f[1],A=[],m=0;m<l.length;m++){var y=l[m],h=v[m],g=p[m],b=y.mode||WEBGL_CONSTANTS.TRIANGLES,E=void 0;if(b===WEBGL_CONSTANTS.TRIANGLES||b===WEBGL_CONSTANTS.TRIANGLE_STRIP||b===WEBGL_CONSTANTS.TRIANGLE_FAN)if(b===WEBGL_CONSTANTS.TRIANGLE_STRIP?h=e.toGeometryTrianglesDrawMode(h,THREE__namespace.TriangleStripDrawMode):b===WEBGL_CONSTANTS.TRIANGLE_FAN&&(h=e.toGeometryTrianglesDrawMode(h,THREE__namespace.TriangleFanDrawMode)),e.disposeSet.add(h),u.isSkinnedMesh){var T=new THREE__namespace.SkinnedMesh(h,g);h.attributes.skinWeight.normalized||T.normalizeSkinWeights(),E=T}else E=new THREE__namespace.Mesh(h,g);else if(b===WEBGL_CONSTANTS.POINTS)E=new THREE__namespace.Points(h,g);else if(b===WEBGL_CONSTANTS.LINES)E=new THREE__namespace.LineSegments(h,g);else if(b===WEBGL_CONSTANTS.LINE_STRIP)E=new THREE__namespace.Line(h,g);else if(b===WEBGL_CONSTANTS.LINE_LOOP)E=new THREE__namespace.LineLoop(h,g);else throw new Error("glTF: Primitive mode unsupported: "+b);if(Object.keys(h.morphAttributes).length>0){if(u.weights!==void 0)for(var _=0,x=u.weights.length;_<x;_++)E.morphTargetInfluences[_]=u.weights[_];if(u.extras&&Array.isArray(u.extras.targetNames)){var w=u.extras.targetNames;if(E.morphTargetInfluences.length===w.length){E.morphTargetDictionary={};for(var _=0,x=w.length;_<x;_++)E.morphTargetDictionary[w[_]]=_}else console.warn("glTF: Invalid extras.targetNames length. Ignoring names.")}}E.name=e.createUniqueName(u.name||"mesh_"+t),A.push(E)}if(A.length===1)return A[0];for(var S=new THREE__namespace.Group,C=0,R=A;C<R.length;C++){var E=R[C];S.add(E)}return S})}return r},n.prototype.loadNodeAttachments=function(t){for(var e=[],r=0,i=values(this.extensions);r<i.length;r++){var o=i[r],s=o.loadNodeAttachments(t,this);s&&e.push(s)}return e},n.prototype.loadNode=function(t){var e="node:"+t,r=this.cache.get(e);if(r)return r;var i=this.json,o=i.nodes[t],s=o.name?this.createUniqueName(o.name):"",u=[];o.mesh!==void 0&&u.push(this.loadMesh(o.mesh).then(function(v){if(o.weights!==void 0){var p=o.weights;v.traverse(function(A){if(A instanceof THREE__namespace.Mesh||A instanceof THREE__namespace.Line||A instanceof THREE__namespace.Points)for(var m=0,y=p.length;m<y;m++)A.morphTargetInfluences[m]=p[m]})}return v})),o.camera!==void 0&&u.push(this.loadCamera(o.camera));for(var l=this.loadNodeAttachments(t),c=0,d=l;c<d.length;c++){var f=d[c];u.push(f)}return Promise.all(u).then(function(v){var p;if(o.isBone===!0?p=new THREE__namespace.Bone:v.length>1?p=new THREE__namespace.Group:v.length===1?p=v[0]:p=new THREE__namespace.Object3D,p!==v[0])for(var A=0,m=v.length;A<m;A++)p.add(v[A]);if(o.name&&(p.name=s),o.matrix!==void 0){var y=new THREE__namespace.Matrix4;y.fromArray(o.matrix),p.applyMatrix4(y)}else o.translation!==void 0&&p.position.fromArray(o.translation),o.rotation!==void 0&&p.quaternion.fromArray(o.rotation),o.scale!==void 0&&p.scale.fromArray(o.scale);return p})},n.prototype.loadScene=function(t){var e=this.json,r=e.scenes[t],i=new THREE__namespace.Group;r.name&&(i.name=this.createUniqueName(r.name));for(var o=r.nodes||[],s=[],u=0,l=o.length;u<l;u++)s.push(this.buildNodeHierarchy(o[u],i));return Promise.all(s).then(function(){return i})},n.prototype.createMaterialTexture=function(t){var e=this;return this.loadTexture(t.index).then(function(r){for(var i=0,o=values(e.extensions);i<o.length;i++){var s=o[i],u=s.extendTexture(r,t,e);u&&(r=u,e.disposeSet.add(r))}return r})},n.prototype.addGeometryPrimitiveAttributes=function(t,e){var r=this,i=e.attributes,o=[],s=function(T){var _=ATTRIBUTES[T]||T.toLowerCase();if(_ in t.attributes)return"continue";o.push(u.loadAccessor(i[T]).then(function(x){x&&t.setAttribute(_,x)}))},u=this;for(var l in i)s(l);e.indices!==void 0&&!t.index&&o.push(this.loadAccessor(e.indices).then(function(T){T&&t.setIndex(T)}));var c=new THREE__namespace.Box3;if(i.POSITION!==void 0){var d=this.json.accessors[i.POSITION],f=d.min,v=d.max;if(f!==void 0&&v!==void 0){if(c.set(new THREE__namespace.Vector3(f[0],f[1],f[2]),new THREE__namespace.Vector3(v[0],v[1],v[2])),d.normalized){var p=getNormalizedComponentScale(WEBGL_COMPONENT_TYPES[d.componentType]);c.min.multiplyScalar(p),c.max.multiplyScalar(p)}}else console.warn("glTF: Missing min/max properties for accessor POSITION.")}var A=e.targets;if(A!==void 0){for(var m=new THREE__namespace.Vector3,y=new THREE__namespace.Vector3,h=0,g=A.length;h<g;h++){var b=A[h];if(b.POSITION!==void 0){var d=this.json.accessors[b.POSITION],f=d.min,v=d.max;if(f!==void 0&&v!==void 0){if(y.setX(Math.max(Math.abs(f[0]),Math.abs(v[0]))),y.setY(Math.max(Math.abs(f[1]),Math.abs(v[1]))),y.setZ(Math.max(Math.abs(f[2]),Math.abs(v[2]))),d.normalized){var p=getNormalizedComponentScale(WEBGL_COMPONENT_TYPES[d.componentType]);y.multiplyScalar(p)}m.max(y)}else console.warn("glTF: Missing min/max properties for accessor POSITION.")}}c.expandByVector(m)}t.boundingBox=c;var E=new THREE__namespace.Sphere;return c.getCenter(E.center),E.radius=c.min.distanceTo(c.max)/2,t.boundingSphere=E,Promise.all(o).then(function(){if(t.attributes.uv&&!t.attributes.uv2&&r.options.copyUV2&&t.setAttribute("uv2",t.attributes.uv),e.targets){for(var T=!1,_=!1,x=0,w=e.targets.length;x<w;x++){var S=e.targets[x];if(S.POSITION!==void 0&&(T=!0),S.NORMAL!==void 0&&(_=!0),T&&_)break}if(!T&&!_)return t;var C=[];t.morphTargetsRelative=!0;for(var R=function(I,B){var F=e.targets[I];T?C.push(r.loadAccessor(F.POSITION).then(function(L){L&&(t.morphAttributes.position[I]=L)})):t.morphAttributes.position[I]=t.attributes.position,_?C.push(r.loadAccessor(F.NORMAL).then(function(L){L&&(t.morphAttributes.normal[I]=L)})):t.morphAttributes.normal[I]=t.attributes.normal},x=0,w=e.targets.length;x<w;x++)R(x,w);return Promise.all(C).then(function(){return t})}else return t})},n.prototype.buildNodeHierarchy=function(t,e){var r=this,i=this.json.nodes[t];return this.loadNode(t).then(function(o){if(i.skin===void 0)return o;var s;return r.loadSkin(i.skin).then(function(u){s=u;for(var l=[],c=0,d=s.joints.length;c<d;c++)l.push(r.loadNode(s.joints[c]));return Promise.all(l)}).then(function(u){return o.traverse(function(l){if(l instanceof THREE__namespace.SkinnedMesh){for(var c=[],d=[],f=0,v=u.length;f<v;f++){var p=u[f];if(p instanceof THREE__namespace.Bone){c.push(p);var A=new THREE__namespace.Matrix4;s.inverseBindMatrices!==void 0&&A.fromArray(s.inverseBindMatrices.array,f*16),d.push(A)}else console.warn('glTF: Joint "%s" could not be found.',s.joints[f])}l.bind(new THREE__namespace.Skeleton(c,d),l.matrixWorld)}}),o})}).then(function(o){e.add(o);var s=[];if(i.children)for(var u=i.children,l=0,c=u.length;l<c;l++){var d=u[l];s.push(r.buildNodeHierarchy(d,o))}return Promise.all(s).then(function(){return o})})},n.prototype.createUniqueName=function(t){for(var e=THREE__namespace.PropertyBinding.sanitizeNodeName(t||""),r=e,i=1;this.nodeNamesUsed[r];++i)r=e+"_"+i;return this.nodeNamesUsed[r]=!0,r},n.prototype.resolveResouce=function(t){return pathJoin(this.options.resourcePath,appendSearch(t,this.options.search))},n.prototype.toGeometryTrianglesDrawMode=function(t,e){var r=t.getIndex();if(r===null){var i=[],o=t.getAttribute("position");if(o!==void 0){for(var s=0;s<o.count;s++)i.push(s);t.setIndex(i),r=t.getIndex()}}if(r===null)return console.error("glTF: Undefined position attribute. Processing not possible."),t;var u=r.count-2,l=[];if(e===THREE__namespace.TriangleFanDrawMode)for(var s=1;s<=u;s++)l.push(r.getX(0)),l.push(r.getX(s)),l.push(r.getX(s+1));else for(var s=0;s<u;s++)s%2===0?(l.push(r.getX(s)),l.push(r.getX(s+1)),l.push(r.getX(s+2))):(l.push(r.getX(s+2)),l.push(r.getX(s+1)),l.push(r.getX(s)));l.length/3!==u&&console.error("glTF: Unable to generate correct amount of triangles.");var c=t.clone();return c.setIndex(l),this.disposeSet.add(c),c},n}();function getNormalizedComponentScale(n){switch(n){case Int8Array:return 1/127;case Uint8Array:return 1/255;case Int16Array:return 1/32767;case Uint16Array:return 1/65535;default:throw new Error("glTF: Unsupported normalized accessor component type.")}}var BaseExtension=function(){function n(){}return n.prototype.markDefs=function(t){},n.prototype.prepare=function(t){},n.prototype.emitResult=function(t,e){},n.prototype.createPrimitiveKey=function(t,e){},n.prototype.extendTexture=function(t,e,r){return null},n.prototype.loadBuffer=function(t,e){return null},n.prototype.loadBufferView=function(t,e){return null},n.prototype.loadImage=function(t,e){return null},n.prototype.loadTexture=function(t,e){return null},n.prototype.loadGeometry=function(t,e){return null},n.prototype.loadMaterial=function(t,e){return null},n.prototype.loadMesh=function(t,e){return null},n.prototype.loadNodeAttachments=function(t,e){return null},n.prototype.loadCamera=function(t,e){return null},n.prototype.loadAnimation=function(t,e){return null},n}(),KHR_binary_glTF=function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.header={magic:"",version:0,length:0},e.content="",e.body=null,e}return t.getMagic=function(e){return decodeText(new Uint8Array(e.slice(0,4)))},t.prototype.loadGlbBinary=function(e){var r=new DataView(e,0,t.HEADER_LENGTH);if(this.header={magic:t.getMagic(e),version:r.getUint32(4,!0),length:r.getUint32(8,!0)},this.header.magic!==t.HEADER_MAGIC)throw new Error("glTF:KHR_binary_glTF: Unsupported.");if(this.header.version<2)throw new Error("glTF:KHR_binary_glTF: Legacy binary file detected.");for(var i=new DataView(e,t.HEADER_LENGTH),o=0,s=null,u=null;o<i.byteLength;){var l=i.getUint32(o,!0);o+=4;var c=i.getUint32(o,!0);if(o+=4,c===t.CHUNK_TYPES.JSON){var d=new Uint8Array(e,t.HEADER_LENGTH+o,l);s=decodeText(d)}else if(c===t.CHUNK_TYPES.BIN){var f=t.HEADER_LENGTH+o;u=e.slice(f,f+l)}o+=l}if(s===null)throw new Error("glTF:KHR_binary_glTF: JSON content not found.");this.content=s,this.body=u},t.prototype.loadBuffer=function(e,r){var i=r.json.buffers[e];return i.uri===void 0&&e===0&&this.body?Promise.resolve(this.body):null},t.HEADER_MAGIC="glTF",t.HEADER_LENGTH=12,t.CHUNK_TYPES={JSON:1313821514,BIN:5130562},t}(BaseExtension),defaultDecoderPath="https://vr-public.realsee-cdn.cn/release/static/image/release/five/resource/draco/1.5.6/",defaultAttributeIDs={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},defaultAttributeTypes={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"},Draco=function(){function n(){this.decoderPath=defaultDecoderPath,this.decoderConfig={},this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL=""}return n.prototype.setDecoderPath=function(t){this.decoderPath=t},n.prototype.setDecoderConfig=function(t){return this.decoderConfig=t,this},n.prototype.setWorkerLimit=function(t){return this.workerLimit=t,this},n.prototype.decodeDracoFile=function(t,e,r,i){var o={attributeIDs:r||defaultAttributeIDs,attributeTypes:i||defaultAttributeTypes,useUniqueIDs:!!r};this.decodeGeometry(t,o).then(e)},n.prototype.decodeGeometry=function(t,e){var r=this;e===void 0&&(e={attributeIDs:defaultAttributeIDs,attributeTypes:defaultAttributeTypes,useUniqueIDs:!1});for(var i in e.attributeTypes){var o=e.attributeTypes[i];o.BYTES_PER_ELEMENT!==void 0&&(e.attributeTypes[i]=o.name)}var s,u=this.workerNextTaskID++,l=t.byteLength,c=this._getWorker(u,l).then(function(d){return s=d,new Promise(function(f,v){s._callbacks[u]={resolve:f,reject:v},s.postMessage({type:"decode",id:u,taskConfig:e,buffer:t},[t])})}).then(function(d){return r._createGeometry(d.geometry)});return c.catch(function(){return!0}).then(function(){s&&u&&r._releaseTask(s,u)}),c},n.prototype._createGeometry=function(t){var e=new THREE__namespace.BufferGeometry;t.index&&e.setIndex(new THREE__namespace.BufferAttribute(t.index.array,1));for(var r=0;r<t.attributes.length;r++){var i=t.attributes[r],o=i.name,s=i.array,u=i.itemSize;e.setAttribute(o,new THREE__namespace.BufferAttribute(s,u))}return e},n.prototype._initDecoder=function(){var t=this;if(this.decoderPending)return this.decoderPending;var e=typeof WebAssembly!="object"||this.decoderConfig.type==="js";if(e){var r=ajax(this.decoderPath+"draco_decoder.js",{responseType:"text"}).then(function(o){return o.body});this.decoderPending=r.then(function(o){var s=["/* draco decoder */",o,"","/* worker */",DRACOWorker].join(`
|
|
418
|
-
`);t.workerSourceURL=URL.createObjectURL(new Blob([s]))})}else{var r=ajax(this.decoderPath+"draco_wasm_wrapper.js",{responseType:"text"}).then(function(s){return s.body}),i=ajax(this.decoderPath+"draco_decoder.wasm",{responseType:"arraybuffer"}).then(function(s){return s.body});this.decoderPending=Promise.all([r,i]).then(function(s){var u=s[0],
|
|
419
|
-
`);t.workerSourceURL=URL.createObjectURL(new Blob([
|
|
417
|
+
`,cacheMaterials=[];function getMaterial(){var n=cacheMaterials.pop();return n||new THREE__namespace.ShaderMaterial({uniforms:{map:{value:null},flipY:{value:0}},vertexShader:PLANE_VERTEX_SHADER,fragmentShader:PLANE_FRAGMENT_SHADER,depthTest:!1,depthWrite:!1,stencilWrite:!1,blending:THREE__namespace.NoBlending,lights:!1,toneMapped:!1,fog:!1})}function releaseMaterial(n){n.uniforms.map.value=null,cacheMaterials.push(n)}function renderTexturesToCubeRenderTarget(n,t,e){var r=new THREE__namespace.Scene;r.matrixAutoUpdate=!1;var i=new THREE__namespace.Group;i.scale.set(1,1,-1),r.add(i);for(var o=[],s=0,u=n;s<u.length;s++){var c=u[s],l=getMaterial();o.push(l),l.uniforms.map.value=c.texture,l.uniforms.flipY.value=c.flipY?1:0;var d=new THREE__namespace.Group,f=new THREE__namespace.Mesh(PLAME_GEOMETRY,l);f.position.set(c.position.x+c.size.x/2-.5,1-(c.position.y+c.size.y/2)-.5,-.5),f.scale.set(c.size.x,c.size.y,1),d.quaternion.copy(QUATERNION[c.face]),d.add(f),i.add(d)}var m=e.autoClear;e.autoClear=!1;var p=new THREE__namespace.CubeCamera(.1,2,t);p.matrixAutoUpdate=!1,p.update(e,r),e.autoClear=m;for(var A=0,v=o;A<v.length;A++){var l=v[A];releaseMaterial(l)}}var canUseNativeImageBitmap=function(){return!1}();function createImageBitmapLikeImage(){var n=Object.assign(document.createElementNS("http://www.w3.org/1999/xhtml","img"),{crossOrigin:"",close:function(){n.onerror=n.onload=n.close=noop$1,n.decoding="async";var t=n.src;n.removeAttribute("src"),/^blob\:/.test(t)&&URL.revokeObjectURL(t)}});return n}function createImageBitmapLike(n){return new Promise(function(t,e){var r=createImageBitmapLikeImage();r.onload=function(){/^blob\:/.test(r.src)&&URL.revokeObjectURL(r.src),r.onload=r.onerror=noop$1,setTimeout(function(){t(r)},10)},r.onerror=function(){var i=r.src;r.onload=r.onerror=noop$1,r.close(),e(new Error("image load error: ".concat(i)))},r.src=URL.createObjectURL(n)})}var canvasPool=[];function createCanvas(n,t){var e=canvasPool.shift();if(e)return e.width=n,e.height=t,e;var r=Object.assign(document.createElementNS("http://www.w3.org/1999/xhtml","canvas"),{close:function(){r.close=noop$1,canvasPool.push(r)}});return r}function poolImageToTexture(n,t){if(t&&(n.width>t.width||n.height>t.height)){var e=createCanvas(Math.min(n.width,t.width),Math.min(n.height,t.height)),r=e.getContext("2d");r.clearRect(0,0,e.width,e.height),r.drawImage(n,0,0,e.width,e.height),n.close();var i=new THREE__namespace.Texture(e);i.needsUpdate=!0,i.flipY=!0;var o=i.dispose;return i.dispose=function(){e.close(),o.call(i),i.dispose=o},i}else{var s=new THREE__namespace.Texture(n);s.needsUpdate=!0,typeof ImageBitmap!="undefined"&&n instanceof ImageBitmap?s.flipY=!1:s.flipY=!0;var u=s.dispose;return s.dispose=function(){n.close(),u.call(s),s.dispose=u},s}}function poolImagesToCubeTexture(n){var t=new THREE__namespace.CubeTexture(n);t.needsUpdate=!0,t.flipY=!1;var e=t.dispose;return t.dispose=function(){for(var r=0,i=n;r<i.length;r++){var o=i[r];o.close()}e.call(t),t.dispose=e},t}var FACE_ORDER=["right","left","up","down","front","back"],MAX_TILE_RENDER_EACH_FRAME=4,TileCubeTextureTarget=function(){function n(t,e,r,i,o){this.tileTree=e,this.tileSources=r,this.options=i,this.renderer=o,this.name="",this.needsRender=!1,this.disposed=!1,this.loadedCubeNodes=new Set,this.loadingCubeNodes=new Set,this.baseCubeTexture=null,this._cubeRenderTarget=null,this.textures=[],this.baseCubeTexture=t}return Object.defineProperty(n.prototype,"cubeRenderTarget",{get:function(){return this._cubeRenderTarget},set:function(t){var e,r,i,o,s,u;if(t===null)throw new Error("cannot set cubeRenderTarget to null.");t.width!==this.options.textureSize&&t.setSize(this.options.textureSize,this.options.textureSize),t.texture.format=(e=this.options.format)!==null&&e!==void 0?e:THREE__namespace.RGBAFormat,t.texture.minFilter=(r=this.options.minFilter)!==null&&r!==void 0?r:THREE__namespace.LinearFilter,t.texture.magFilter=(i=this.options.magFilter)!==null&&i!==void 0?i:THREE__namespace.LinearFilter,t.texture.wrapS=(o=this.options.wrapS)!==null&&o!==void 0?o:THREE__namespace.ClampToEdgeWrapping,t.texture.wrapT=(s=this.options.wrapT)!==null&&s!==void 0?s:THREE__namespace.ClampToEdgeWrapping,t.texture.generateMipmaps=(u=this.options.generateMipmaps)!==null&&u!==void 0?u:!0,this.baseCubeTexture&&(renderCubeTextureToCubeRenderTarget(this.baseCubeTexture,t,this.renderer),this.baseCubeTexture.dispose(),this.baseCubeTexture=null),this._cubeRenderTarget&&renderCubeTextureToCubeRenderTarget(this._cubeRenderTarget.texture,t,this.renderer),this._cubeRenderTarget=t},enumerable:!1,configurable:!0}),n.prototype.requestTile=function(t){var e=this,r,i,o,s,u,c,l=this.tileSources.filter(function(v){return v.level===t.level})[0];if(!l){this.loadedCubeNodes.add(t);return}var d=l.size,f=Math.pow(2,t.level)*t.position.y,m=Math.pow(2,t.level)*t.position.x,p="".concat(((o=(i=(r=this.options.imageURL)===null||r===void 0?void 0:r.options)===null||i===void 0?void 0:i.key)!==null&&o!==void 0?o:"pano.0").replace(/^pano/,"pano_tile"),".").concat(t.face,".").concat(t.level,".").concat(f,".").concat(m),A=__assign(__assign({},(u=(s=this.options.imageURL)===null||s===void 0?void 0:s.options)!==null&&u!==void 0?u:{key:"unknown"}),{key:p,size:d*t.size===this.options.tileImageSize?void 0:this.options.tileImageSize,quality:void 0,cut:[d*t.position.x,d*t.position.y,d*t.size,d*t.size]});this.loadingCubeNodes.add(t),this.options.textureLoader.loadTexture(l[t.face],{imageURL:{transform:(c=this.options.imageURL)===null||c===void 0?void 0:c.transform,options:__assign({},A)},format:THREE__namespace.RGBAFormat,timeout:this.options.timeout,magFilter:this.options.magFilter,minFilter:this.options.minFilter,fetcher:this.options.fetcher}).then(function(v){if(e.disposed){v.body.dispose();return}e.textures.push({face:t.face,level:t.level,position:t.position,size:new THREE__namespace.Vector2(t.size,t.size),texture:v.body,flipY:!v.body.flipY}),e.loadedCubeNodes.add(t)}).catch(noop$1).then(function(){e.disposed||e.loadingCubeNodes.delete(t)})},n.prototype.update=function(t,e){var r=this;if(!this.disposed){var i=[];traverseTileCubeNode(this.tileTree,function(m){if(r.loadingCubeNodes.has(m)||m.level>e||!t.intersectsBox(m.box))return!1;if(!r.loadedCubeNodes.has(m))return i.push(m),!1});for(var o=0,s=i;o<s.length;o++){var u=s[o];this.requestTile(u)}if(this.cubeRenderTarget&&this.textures.length){var c=this.textures.splice(0,MAX_TILE_RENDER_EACH_FRAME);renderTexturesToCubeRenderTarget(c,this.cubeRenderTarget,this.renderer),this.needsRender=!0;for(var l=0,d=c;l<d.length;l++){var f=d[l];f.texture.dispose()}}}},Object.defineProperty(n.prototype,"tilePending",{get:function(){return this.loadingCubeNodes.size},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"texture",{get:function(){if(!this._cubeRenderTarget)throw new Error("cubeRenderTarget never set.");return this._cubeRenderTarget.texture},enumerable:!1,configurable:!0}),n.prototype.dispose=function(){if(!this.disposed){this.disposed=!0,this.baseCubeTexture&&(this.baseCubeTexture.dispose(),this.baseCubeTexture=null),this.loadingCubeNodes.clear(),this.loadedCubeNodes.clear();for(var t=0,e=this.textures;t<e.length;t++){var r=e[t];r.texture.dispose()}this.textures.length=0}},n}(),TextureLoader=function(){function n(){}return n.prototype.loadTexture=function(t,e,r,i,o,s){var u,c,l,d,f,m;r===void 0&&(r=noop$1),i===void 0&&(i=noop$1),o===void 0&&(o=noop$1);var p={};typeof e.flipY!="undefined"&&(p.flipY=e.flipY),typeof e.format!="undefined"&&(p.format=e.format),typeof e.generateMipmaps!="undefined"&&(p.generateMipmaps=e.generateMipmaps),p.minFilter=(u=e.minFilter)!==null&&u!==void 0?u:THREE__namespace.LinearFilter,p.magFilter=(c=e.magFilter)!==null&&c!==void 0?c:THREE__namespace.LinearFilter;var A=(d=(l=e.imageURL)===null||l===void 0?void 0:l.options)!==null&&d!==void 0?d:{key:"unknown"};t=applyImageURLOptions(t,(f=e.imageURL)===null||f===void 0?void 0:f.transform,A);var v=getProtocol(t),g=(m=e.viaAjax)!==null&&m!==void 0?m:canUseNativeImageBitmap,h=isJsonpSource(t),y=/^https?:/.test(v);if(h?g=!0:y||(g=!1),g){var b=null,E="blob";return e.fetcher.ajax(t,{timeout:e.timeout,responseType:E},void 0,void 0,o).then(function(_){return createImageBitmapLike(_.body)}).then(function(_){return poolImageToTexture(_,e.maxSize)}).then(function(_){return Object.assign(_,p),_}).then(function(_){var w={meta:b,body:_};return r(w),w}).catch(function(_){return i(_),Promise.reject(_)})}else{var T=null,x;return Promise.resolve().then(function(){return createImageBitmapLikeImage()}).then(function(_){return x=_,e.fetcher.loadImage(t,{timeout:e.timeout},void 0,void 0,o,_)}).then(function(_){return T=_.meta,poolImageToTexture(_.body,e.maxSize)}).then(function(_){return Object.assign(_,p),_}).then(function(_){var w={meta:T,body:_};return r(w),w}).catch(function(_){return x&&x.close(),i(_),Promise.reject(_)})}},n.prototype.loadCubeTexture=function(t,e,r,i,o,s){var u,c,l,d,f,m;r===void 0&&(r=noop$1),i===void 0&&(i=noop$1),o===void 0&&(o=noop$1);var p={};typeof e.format!="undefined"&&(p.format=e.format),typeof e.generateMipmaps!="undefined"&&(p.generateMipmaps=e.generateMipmaps),p.minFilter=(u=e.minFilter)!==null&&u!==void 0?u:THREE__namespace.LinearFilter,p.magFilter=(c=e.magFilter)!==null&&c!==void 0?c:THREE__namespace.LinearFilter;for(var A=[t[FACE_ORDER[0]],t[FACE_ORDER[1]],t[FACE_ORDER[2]],t[FACE_ORDER[3]],t[FACE_ORDER[4]],t[FACE_ORDER[5]]],v=[],g=[0,0,0,0,0,0],h=[],y=function(E){var T=(d=(l=e.imageURL)===null||l===void 0?void 0:l.options)!==null&&d!==void 0?d:{key:"unknown"},x=applyImageURLOptions(A[E],(f=e.imageURL)===null||f===void 0?void 0:f.transform,__assign(__assign({},T),{key:T.key+"."+FACE_ORDER[E]})),_=getProtocol(x),w=function(L){g[E]=L,o(g.reduce(function(k,O){return k+O},0)/6)},S=(m=e.viaAjax)!==null&&m!==void 0?m:!1,M=/^https?:$/.test(_),C=isJsonpSource(x);if(C?S=!0:M||(S=!1),S){var I="blob",B=e.fetcher.ajax(x,{timeout:e.timeout,responseType:I},void 0,void 0,w).then(function(L){return h[E]=L.meta,createImageBitmapLike(L.body)});v.push(B)}else{var F,B=Promise.resolve().then(function(){return createImageBitmapLikeImage()}).then(function(k){return F=k,e.fetcher.loadImage(x,{timeout:e.timeout},void 0,void 0,w,k)}).then(function(k){return h[E]=k.meta,k.body}).catch(function(k){return F&&F.close(),Promise.reject(k)});v.push(B)}},b=0;b<6;b++)y(b);return Promise.all(v).then(function(E){return poolImagesToCubeTexture(E)}).then(function(E){return Object.assign(E,__assign({encoding:THREE__namespace.sRGBEncoding},p)),E}).then(function(E){var T={body:E,meta:h};return r(T),T}).catch(function(E){for(var T=0,x=v;T<x.length;T++){var _=x[T];_.then(function(w){return w.close()}).catch(noop$1)}return i(E),Promise.reject(E)})},n.prototype.loadTiledCubeTexture=function(t,e,r,i,o,s,u){var c=this;return i===void 0&&(i=noop$1),o===void 0&&(o=noop$1),s===void 0&&(s=noop$1),new Promise(function(l,d){var f,m;c.loadCubeTexture(t,{imageURL:{transform:(f=r.imageURL)===null||f===void 0?void 0:f.transform,options:(m=r.imageURL)===null||m===void 0?void 0:m.options},format:THREE__namespace.RGBAFormat,viaAjax:r.viaAjax,timeout:r.timeout,fetcher:r.fetcher,magFilter:r.magFilter,minFilter:r.minFilter,generateMipmaps:r.generateMipmaps},function(p){var A,v,g=p.meta,h=p.body,y=(A=r.tileImageSize)!==null&&A!==void 0?A:512,b=(v=r.tileMaxLevel)!==null&&v!==void 0?v:2,E=Math.max(1024*b,512),T=createTileCubeTree(b),x=new TileCubeTextureTarget(h,T,e,{textureSize:E,tileImageSize:y,textureLoader:c,imageURL:r.imageURL,magFilter:r.magFilter,minFilter:r.minFilter,generateMipmaps:r.generateMipmaps,timeout:r.timeout,fetcher:r.fetcher},u),_={meta:g,body:x};i(_),l(_)},function(p){o(p),d(p)},s,u).catch(noop$1)})},n}();const vertexShader$5=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,o=0,s="";return t[o].split(s).map(function(u){return u.charCodeAt(o)>i?u:String.fromCharCode((u.charCodeAt(o)+r)%i)}).join(s)}("0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6--nvor-sy|n-sy||H--n\bv{t-sy|n-Sy||H0r{qvsnvor-sy|n-v_||sZnxHn\bv{t-sy|n-V_||sZnxHn\bv{t-rp@-[|znyHn\bv{t-rp@-cvr]|vv|{Hn\bv{t-rpA-|yq]|vv|{Hn\bv{t-sy|n-Y|tQr}uHn\bv{t-znA-cvrZnv\x07H0v{pyqr-Ip|zz|{K0v{pyqr-Il}nlrr\x07K0v{pyqr-I?l}nlrr\x07K0v{pyqr-Ip|y|l}nlrr\x07K0v{pyqr-Iunq|zn}l}nlrr\x07K|vq-znv{56-\n--0v{pyqr-Ilrr\x07K--0v{pyqr-I?lrr\x07K--0v{pyqr-Ip|y|lrr\x07K--0v{pyqr-Iortv{{|znylrr\x07K--0v{pyqr-Iqrsny{|znylrr\x07K--rpA-n{s|zrq-J-rpA5}|vv|{9->;=6H--rpA-z]|vv|{-J-z|qrycvrZnv\x07-7-n{s|zrqH--[|zny-J-{|znyv r5n{s|zrq[|zny6H--0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6----Sy||-J-sy||H--0r{qvs--cvr]|vv|{-J-:z]|vv|{;\x07\b H--|yq]|vv|{-J-z|qryZnv\x07-7-n{s|zrqH--tyl]|vv|{-J-}|wrpv|{Znv\x07-7-z|qrycvrZnv\x07-7-n{s|zrqH--0v{pyqr-Iunq|zn}lrr\x07K--Y|tQr}u-J-y|t?5:z]|vv|{; 6H--cvrZnv\x07-J-vrZnv\x07H--V_||sZnx-J-v_||sZnxH\f"),fragmentShader$5=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,o=0,s="";return t[o].split(s).map(function(u){return u.charCodeAt(o)>i?u:String.fromCharCode((u.charCodeAt(o)+r)%i)}).join(s)}("0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=60qrsv{r-aNb-C;?E@>EB?{vs|z-nz}yrPor-}n{|=lzn}H{vs|z-znA-}n{|=lznv\x07H0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|=lyzv{n{prZn}H0r{qvs{vs|z-nz}yrPor-}n{|>lzn}H{vs|z-znA-}n{|>lznv\x07H0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|>lyzv{n{prZn}H0r{qvs{vs|z-rp@-qvssrH{vs|z-rp@-rzvvrH{vs|z-rp@-}rpynH{vs|z-sy|n-uv{v{rH{vs|z-sy|n-r\x07}|rH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|Hn\bv{t-sy|n-V_||sZnxH0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6--{vs|z-rp@-p|{n{P|y|H0r{qvs0vs-qrsv{rq5b`Rl]N[\\lcVQR\\6--{vs|z-rp?-}n{|cvqr|lv rH--{vs|z-znA-}n{|cvqr|lznv\x07H--{vs|z-sy|n-}n{|cvqr|lny}unH--{vs|z-nz}yr?Q-}n{|cvqr|lzn}H0r{qvs0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6--n\bv{t-sy|n-Sy||H0ryr--{vs|z-sy|n-sy||H0r{qvsn\bv{t-rpA-|yq]|vv|{Hn\bv{t-sy|n-Y|tQr}uHn\bv{t-znA-cvrZnv\x07Hp-Pyv}}r-\n--znA-znv\x07V{rrH--sy|n-sy||V{qr\x07H\fH0vs-[bZlPYV]]R_`-K-=--{vs|z-Pyv}}r-pyv}}rh[bZlPYV]]R_`jH0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-I}npxv{tK0v{pyqr-Ip|y|l}nlsntzr{K0v{pyqr-Il}nlsntzr{K0v{pyqr-I?l}nlsntzr{K0v{pyqr-Izn}l}nlsntzr{K0v{pyqr-Iny}unzn}l}nlsntzr{K0v{pyqr-In|zn}l}nlsntzr{K0v{pyqr-Iyvtuzn}l}nlsntzr{K0v{pyqr-Irzvvrzn}l}nlsntzr{K0v{pyqr-Ir{zn}l}nlsntzr{K0v{pyqr-Itnqvr{zn}l}nlsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-IoqsK0v{pyqr-Iyvtul}nlortv{K0v{pyqr-Iyvtul}u|{tl}nlsntzr{K0v{pyqr-Iunq|zn}l}nlsntzr{Krp?-|P||q5rp@-rp|6-\n--sy|n--J-yr{tu5rp|6H--sy|n-urn-J-np|5rp|;\b-<-6H--sy|n-}uv-J-nn{5rp|;\x079-rp|; 6H--r{-rp?5=;B-8-}uv-<-aNb9-urn-<-]V6H\f|vq-znv{56-\n--sy|n-ory|{tv{tSY||-J-=;=H--0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6----ory|{tv{tSY||-J-Sy||H--0ryr----ory|{tv{tSY||-J-sy||H--0r{qvs--zn@-pnzrn_|nv|{Znv\x07-J-zn@5cvrZnv\x07h=jh=j9-cvrZnv\x07h>jh=j9-cvrZnv\x07h?jh=j9-cvrZnv\x07h=jh>j9-cvrZnv\x07h>jh>j9-cvrZnv\x07h?jh>j9-cvrZnv\x07h=jh?j9-cvrZnv\x07h>jh?j9-cvrZnv\x07h?jh?j6H--rp@-pnzrnQvrpv|{-J-{|znyv r5pnzrn_|nv|{Znv\x07-7-rp@5=;=9-=;=9->;=66H--vs5pnzrnQvrpv|{;\b-K-=;E-33-no5V_||sZnx-:->;=6-I-=;>6-\n----qvpnqH--\f--<<前置裁切计算--0vs-[bZlPYV]]R_`-K-=----o||y-pyv}}rqH----rpA-pyv}}r]|vv|{H----0}ntzn-{|yyly||}ln----s|-5-v{-v-J-=H-v-I-[bZlPYV]]R_`H-v-88-6-\n------pyv}}r]|vv|{-J-pyv}}rh-v-j;znv\x07V{rr-7-|yq]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5ory|{tv{tSY||-:-pyv}}rh-v-j;sy||V{qr\x076-I->;=6H------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\x07-K-:=;B-33-pyv}}r]|vv|{;\x07-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\b-K-:=;B-33-pyv}}r]|vv|{;\b-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{; -K-:=;B-33-pyv}}r]|vv|{; -I-=;BH------vs-5pyv}}rq6-\n--------qvpnqH------\f----\f----0}ntzn-{|yyly||}lr{q--0r{qvs--0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6----tylSntP|y|-J-rpA5p|{n{P|y|;9-p|{n{P|y|;t9-p|{n{P|y|;o9->;=6H----r{H--0r{qvs--<<楼层选择计算--sy|n-sy||\\}npv\b-J->;=H--vs-5u|{Sy||V{qr\x07-KJ-=;=-33-no5ory|{tv{tSY||-:-u|{Sy||V{qr\x076-KJ->;=6-\n----sy||\\}npv\b-J-=;>H--\f--rpA-qvssrP|y|-J-rpA5qvssr;to9-|}npv\b6H--_rsyrprqYvtu-rsyrprqYvtu-J-_rsyrprqYvtu5rp@5=;=69-rp@5=;=69-rp@5=;=69-rp@5=;=66H--rp@-|nyRzvvr_nqvn{pr-J-rzvvrH--0v{pyqr-Izn}lsntzr{K--0v{pyqr-Ip|y|lsntzr{K--0v{pyqr-Iny}unzn}lsntzr{K--0v{pyqr-Iny}unrlsntzr{K--0v{pyqr-I}rpynzn}lsntzr{K--0v{pyqr-I{|znylsntzr{lortv{K--0v{pyqr-I{|znylsntzr{lzn}K--0v{pyqr-Irzvvrzn}lsntzr{K--0v{pyqr-Iyvtul}u|{tlsntzr{K--0v{pyqr-Iyvtulsntzr{lortv{K--<<-调整曝光值--vnqvn{pr-J-vnqvn{pr-7-r\x07}|rH--0v{pyqr-Iyvtulsntzr{lzn}K--0v{pyqr-Iyvtulsntzr{lr{qK--0v{pyqr-In|zn}lsntzr{K--<<-减少方向光对模型的影响--rp@-|t|v{tYvtu-J-5rsyrprqYvtu;qvrpQvssr-7-=;?6-8----rsyrprqYvtu;v{qvrpQvssr-8----rsyrprqYvtu;v{qvrp`}rpyn-8----|nyRzvvr_nqvn{prH--<<-修复黑色面片的问题--vs-5|t|v{tYvtu;-K-=;=-\v\v-|t|v{tYvtu;t-K-=;=-\v\v-|t|v{tYvtu;o-K-=;=6-\n----tylSntP|y|-J-rpA5|t|v{tYvtu9-qvssrP|y|;n6H--\f-ryr-\n----tylSntP|y|-J-rpA5OYNPXlP\\Y\\_;\x07\b 9-qvssrP|y|;n6H--\f--rp@-}n{|=a|crr\x07-J-5|yq]|vv|{;\x07\b -:-}n{|=lznv\x07h@j;\x07\b 6-7-zn@5}n{|=lznv\x076H--rp@-}n{|>a|crr\x07-J-5|yq]|vv|{;\x07\b -:-}n{|>lznv\x07h@j;\x07\b 6-7-zn@5}n{|>lznv\x076H--rpA-}n{|P|y|H--rpA-}n{|=P|y|-J-r\x07rPor5}n{|=lzn}9-}n{|=a|crr\x076H--rpA-}n{|>P|y|-J-r\x07rPor5}n{|>lzn}9-}n{|>a|crr\x076H--0vs-qrsv{rq5b`RlYbZV[N[PR6----}n{|=P|y|;n-J->;=-:-r\x07rPor5}n{|=lyzv{n{prZn}9-}n{|=a|crr\x076;H----}n{|>P|y|;n-J->;=-:-r\x07rPor5}n{|>lyzv{n{prZn}9-}n{|>a|crr\x076;H--0r{qvs--0vs-qrsv{rq5b`RlOYNPXla_N[`VaV\\[6----sy|n-oynpx]|tr-J-np|5:?;=-7-}|tr-8->;=6H----}n{|P|y|-J-zv\x075}n{|=P|y|9-OYNPXlP\\Y\\_9-zv{5>;=9-oynpx]|tr66H----}n{|P|y|-J-zv\x075}n{|P|y|9-}n{|>P|y|9-zn\x075=;=9-oynpx]|tr-:-?;=66H--0ryvs-qrsv{rq5b`Rl`]_RNQla_N[`VaV\\[6----rp?-prr{Pr{rP||q-J-r|yv|{-7-}v\x07ry_nv|-<-?;=H----sy|n-n{vv|{_nqv-J-qvn{pr5rp?5=;=9-=;=69-prr{Pr{rP||q6-7->;?H----sy|n-n{vv|{]|tr-J--qvn{pr5tylSntP||q;\x07\b9-prr{Pr{rP||q6-<-n{vv|{_nqvH----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-z||ur}5=;=9-=;?9-}|tr-:-n{vv|{]|tr66H--0ryr----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-}|tr6H--0r{qvs--0vs-qrsv{rq5b`Rl]N[\\lcVQR\\6----rp@-pnzrna|crr\x07-J-|yq]|vv|{;\x07\b -:-pnzrn]|vv|{H----rpA-zn}P||q-J-rpA5pnzrna|crr\x079->;=6-7-}n{|cvqr|lznv\x07H----rp?--J-rp?5------=;B-8-zn}P||q;\x07-<-zn}P||q; -<-}n{|cvqr|lv r;\x079------=;B-:-zn}P||q;\b-<-zn}P||q; -<-}n{|cvqr|lv r;\b----6H----rpA-vqr|P|y|-J-r\x07r?Q5}n{|cvqr|lzn}9-6H----sy|n-znpu-J-5>;=-:-r}5=;=9-zn}P||q; 66-7-5>;=-:-r}5=;B9-no5;\x07-:-=;B666-7-5>;=-:-r}5=;B9-no5;\b-:-=;B666H----sy|n-ny}un-J-pynz}5=;=9->;=9-B;=-7-5>;=-:-pynz}5qvn{pr59-rp?5=;B9-=;B66-<-=;BB-9-=;=9->;=666H----}n{|P|y|-J-zv\x075}n{|P|y|9-vqr|P|y|9-znpu-7-ny}un-7-}n{|cvqr|lny}un6H--0r{qvs--0vs-qrsv{rq5b`Rl]N[\\l\\]NPVaf6----tylSntP|y|-J-zv\x075}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H----tylSntP|y|;n-J-|}npv\bH--0ryr----tylSntP|y|-J-rpA5tylSntP|y|;to9-|}npv\b-7-sy||\\}npv\b6H----tylSntP|y|-J-zv\x075}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H--0r{qvs--0vs-qrsv{rq5b`RlRQY6----tylSntP|y|;n-J-Y|tQr}uH--0r{qvs\f");function coordinatesToVector(n,t){var e=Math.abs(Math.cos(n.latitude)),r=-Math.sin(n.longitude)*e,i=-Math.sin(n.latitude),o=-Math.cos(n.longitude)*e;return t?t.set(r,i,o):new THREE__namespace.Vector3(r,i,o)}var DEFAULT_ASPECT=1,DEFAULT_NEAR=.1,DEFAULT_FAR=2e3,TAU$2=Math.PI*2,PI_2=Math.PI/2;function formatRad$1(n){return n>0&&n<=TAU$2?n:(n%TAU$2+TAU$2)%TAU$2}function matrixLerp(n,t,e,r){e=Math.pow(e,4);for(var i=0;i<16;i++)r.elements[i]=n.elements[i]+(t.elements[i]-n.elements[i])*e;return r}var Camera=function(n){__extends(t,n);function t(e,r,i,o,s,u,c){r===void 0&&(r=DEFAULT_ASPECT),i===void 0&&(i=DEFAULT_NEAR),o===void 0&&(o=DEFAULT_FAR),s===void 0&&(s=new THREE__namespace.Vector2),u===void 0&&(u=new THREE__namespace.Vector2(512,512)),c===void 0&&(c=1);var l=n.call(this)||this;l.fov=e,l.aspect=r,l.near=i,l.far=o,l.perspToOrtho=s,l.resolution=u,l.pixelRatio=c,l.needsRender=!0,l.refineModel=!0,l.pose={longitude:0,latitude:0,fov:e,distance:0,offset:new THREE__namespace.Vector3},l.computePose(),l.perspectiveCamera=new THREE__namespace.PerspectiveCamera(l.fov,l.aspect,.001,l.far);var d=Math.max(l.orthoDistance,.01)*Math.tan(.5*l.fov/180*Math.PI),f=-.5*l.aspect*2*d;return l.orthographicCamera=new THREE__namespace.OrthographicCamera(f,-f,d,-d,.001,l.far),l.computeProjectionMatrix(),l.lastValues={position:l.position.clone(),quaternion:l.quaternion.clone(),scale:l.scale.clone(),fov:l.fov,aspect:l.aspect,near:l.near,far:l.far,perspToOrtho:l.perspToOrtho.clone()},l.type=l.perspToOrtho.x<1?"PerspectiveCamera":"OrthographicCamera",l}return Object.defineProperty(t.prototype,"orthoDistance",{get:function(){return this.pose.distance>1?this.pose.distance:1+(this.pose.distance-1)*this.perspToOrtho.x},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"zoom",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.zoom:this.type==="PerspectiveCamera"?this.perspectiveCamera.zoom:1},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"top",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.top:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"bottom",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.bottom:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"left",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.left:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"right",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.right:0},enumerable:!1,configurable:!0}),t.prototype.getDirection=function(e){return coordinatesToVector(this.pose,e)},t.prototype.computePose=function(e){e===void 0&&(e=0),this.updateMatrix();var r=this.matrix.elements,i=new THREE__namespace.Vector3().set(-r[8],-r[9],-r[10]).normalize();this.pose.longitude=formatRad$1(-Math.atan2(i.x,-i.z)),this.pose.latitude=-Math.asin(i.y/1),this.pose.fov=this.fov,this.pose.distance=e;var o=new THREE__namespace.Vector3().add(this.position).add(i.clone().setLength(this.pose.distance));return this.pose.offset.copy(o),this},t.prototype.setFromPose=function(e){var r,i,o,s,u,c=formatRad$1((r=e.longitude)!==null&&r!==void 0?r:this.pose.longitude),l=Math.max(-PI_2+1e-4,Math.min(PI_2-1e-4,(i=e.latitude)!==null&&i!==void 0?i:this.pose.latitude)),d=(o=e.fov)!==null&&o!==void 0?o:this.pose.fov,f=(s=e.distance)!==null&&s!==void 0?s:this.pose.distance,m=(u=e.offset)!==null&&u!==void 0?u:this.pose.offset,p=coordinatesToVector({longitude:c,latitude:l}).normalize();return this.position.set(0,0,0),this.lookAt(p),this.position.add(m).sub(p.clone().setLength(f)),this.fov!==d&&(this.fov=d,this.updateProjectionMatrix()),this.updateMatrixWorld(),this.pose.longitude=c,this.pose.latitude=l,this.pose.fov=d,this.pose.distance=f,this.pose.offset.copy(m),this.needsRender=!0,this},t.prototype.copyPose=function(){return{longitude:this.pose.longitude,latitude:this.pose.latitude,fov:this.pose.fov,distance:this.pose.distance,offset:this.pose.offset.clone()}},t.prototype.computeProjectionMatrix=function(){matrixLerp(this.orthographicCamera.projectionMatrix,this.perspectiveCamera.projectionMatrix,1-this.perspToOrtho.x,this.projectionMatrix),this.projectionMatrixInverse.getInverse(this.projectionMatrix),this.needsRender=!0},t.prototype.setViewOffset=function(e,r,i,o,s,u){this.perspectiveCamera.setViewOffset(e,r,i,o,s,u),this.orthographicCamera.setViewOffset(e,r,i,o,s,u),this.computeProjectionMatrix()},t.prototype.clearViewOffset=function(){this.perspectiveCamera.clearViewOffset(),this.orthographicCamera.clearViewOffset(),this.computeProjectionMatrix()},t.prototype.updateProjectionMatrix=function(){this.perspectiveCamera.updateProjectionMatrix(),this.orthographicCamera.updateProjectionMatrix(),this.computeProjectionMatrix()},Object.defineProperty(t.prototype,"perspectiveProjectionMatrix",{get:function(){return this.perspectiveCamera.projectionMatrix},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"perspectiveProjectionMatrixInverse",{get:function(){return this.perspectiveCamera.projectionMatrixInverse},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"orthographicProjectionMatrix",{get:function(){return this.orthographicCamera.projectionMatrix},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"orthographicProjectionMatrixInverse",{get:function(){return this.orthographicCamera.projectionMatrixInverse},enumerable:!1,configurable:!0}),t.prototype.updateTime=function(e,r){var i=!1;if((this.lastValues.fov!==this.fov||this.lastValues.near!==this.near||this.lastValues.far!==this.far||this.lastValues.aspect!==this.aspect)&&(this.perspectiveCamera.fov=this.fov,this.perspectiveCamera.near=this.near,this.perspectiveCamera.far=this.far,this.perspectiveCamera.aspect=this.aspect,this.perspectiveCamera.updateProjectionMatrix(),i=!0),!this.lastValues.position.equals(this.position)||!this.lastValues.quaternion.equals(this.quaternion)||!this.lastValues.scale.equals(this.scale)||!this.lastValues.perspToOrtho.equals(this.perspToOrtho)||this.lastValues.fov!==this.fov||this.lastValues.near!==this.near||this.lastValues.far!==this.far||this.lastValues.aspect!==this.aspect){var o=Math.max(this.orthoDistance,.01)*Math.tan(.5*this.fov/180*Math.PI),s=-.5*this.aspect*2*o;this.orthographicCamera.left=s,this.orthographicCamera.right=-s,this.orthographicCamera.top=o,this.orthographicCamera.bottom=-o,this.orthographicCamera.updateProjectionMatrix(),i=!0}i&&this.computeProjectionMatrix(),this.lastValues.position.copy(this.position),this.lastValues.quaternion.copy(this.quaternion),this.lastValues.scale.copy(this.scale),this.lastValues.fov=this.fov,this.lastValues.aspect=this.aspect,this.lastValues.near=this.near,this.lastValues.far=this.far,this.lastValues.perspToOrtho.copy(this.perspToOrtho),this.type=this.perspToOrtho.x<1?"PerspectiveCamera":"OrthographicCamera"},Object.defineProperty(t.prototype,"isPerspectiveCamera",{get:function(){return this.perspToOrtho.x<1},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isOrthographicCamera",{get:function(){return this.perspToOrtho.x>=1},enumerable:!1,configurable:!0}),t.prototype.copy=function(e,r){return n.prototype.copy.call(this,e,r),this.fov=e.fov,this.aspect=e.aspect,this.near=e.near,this.far=e.far,this.perspToOrtho.copy(e.perspToOrtho),this.updateTime(now(),0),this},t}(THREE__namespace.Camera),scratchVector4$1=new THREE__namespace.Vector4,EMPTY_CUBE_TEXTURE=new THREE__namespace.WebGLCubeRenderTarget(1).texture;EMPTY_CUBE_TEXTURE.name="EMPTY_TEXTURE";var shaderUniforms$1=Object.assign({modelAlpha:new THREE__namespace.Uniform(0),progress:new THREE__namespace.Uniform(0),pano0_map:new THREE__namespace.Uniform(EMPTY_CUBE_TEXTURE),pano0_luminanceMap:new THREE__namespace.Uniform(null),pano0_matrix:new THREE__namespace.Uniform(new THREE__namespace.Matrix4),pano1_map:new THREE__namespace.Uniform(EMPTY_CUBE_TEXTURE),pano1_luminanceMap:new THREE__namespace.Uniform(null),pano1_matrix:new THREE__namespace.Uniform(new THREE__namespace.Matrix4),clippers:new THREE__namespace.Uniform([]),shownFloorIndex:new THREE__namespace.Uniform(-1),constantColor:new THREE__namespace.Uniform(null),geometricError:new THREE__namespace.Uniform(0),pixelRatio:new THREE__namespace.Uniform(1),resolution:new THREE__namespace.Uniform(new THREE__namespace.Vector2(512,512)),floor:new THREE__namespace.Uniform(0)},{exposure:new THREE__namespace.Uniform(1),emissive:new THREE__namespace.Uniform(new THREE__namespace.Color(0)),emissiveMap:new THREE__namespace.Uniform(null),specular:new THREE__namespace.Uniform(new THREE__namespace.Color(1118481)),specularMap:new THREE__namespace.Uniform(null),normalMap:new THREE__namespace.Uniform(null),bumpMap:new THREE__namespace.Uniform(null),shininess:new THREE__namespace.Uniform(30)},THREE__namespace.UniformsUtils.clone(THREE__namespace.UniformsLib.common),THREE__namespace.UniformsUtils.clone(THREE__namespace.UniformsLib.lights)),PBMMeshMaterial=function(n){__extends(t,n);function t(e){e===void 0&&(e={});var r,i,o,s,u,c,l,d,f,m,p,A,v,g,h,y,b,E,T,x,_=n.call(this,{vertexShader:vertexShader$5,fragmentShader:fragmentShader$5,uniforms:THREE__namespace.UniformsUtils.clone(shaderUniforms$1),defines:{USE_CONSTANT_COLOR:!1,USE_EDL:!1,USE_HQ_WEIGHT:!1,USE_HQ_DEPTH:!1,NUM_CLIPPING_BOX:!1,USE_CLIPFLOOR:!1,USE_VERTEX_FLOOR:!1,USE_MAP:!0,USE_UV:!0,USE_LUMINANCE:!1,USE_PANO_OPACITY:!1,USE_BLACK_TRANSITION:!1,USE_SPREAD_TRANSITION:!1,USE_PANO_VIDEO:!1,USE_POINT_NORMAL:!1,USE_POINT_CIRCLE:!1,USE_POINT_ADAPTIVE_SIZE:!1,USE_POINT_COLOR_ALTITUDE:!1},lights:!0})||this,w,S=null,M=null;return Object.defineProperties(_,{pano0:{get:function(){return S},set:function(C){if(S!==C){S=C,C===null?(this.uniforms.pano0_map.value=EMPTY_CUBE_TEXTURE,this.uniforms.pano0_luminanceMap.value=null,this.uniforms.pano0_matrix.value.identity()):(this.uniforms.pano0_map.value=C.map instanceof TileCubeTextureTarget?C.map.texture:C.map,this.uniforms.pano0_luminanceMap.value=C.luminanceMap instanceof TileCubeTextureTarget?C.luminanceMap.texture:C.luminanceMap,this.uniforms.pano0_matrix.value.copy(C.matrix));var I=this.uniforms.pano0_luminanceMap.value!==null&&this.uniforms.pano1_luminanceMap.value!==null,B=this.defines.USE_LUMINANCE;B!==I&&(this.defines.USE_LUMINANCE=I,this.needsUpdate=!0)}}},pano1:{get:function(){return M},set:function(C){if(M!==C){M=C,C===null?(this.uniforms.pano1_map.value=EMPTY_CUBE_TEXTURE,this.uniforms.pano1_luminanceMap.value=null,this.uniforms.pano1_matrix.value.identity()):(this.uniforms.pano1_map.value=C.map instanceof TileCubeTextureTarget?C.map.texture:C.map,this.uniforms.pano1_luminanceMap.value=C.luminanceMap instanceof TileCubeTextureTarget?C.luminanceMap.texture:C.luminanceMap,this.uniforms.pano1_matrix.value.copy(C.matrix));var I=this.uniforms.pano0_luminanceMap.value!==null&&this.uniforms.pano1_luminanceMap.value!==null,B=this.defines.USE_LUMINANCE;B!==I&&(this.defines.USE_LUMINANCE=I,this.needsUpdate=!0)}}},modelAlpha:{get:function(){return this.uniforms.modelAlpha.value},set:function(C){this.uniforms.modelAlpha.value=C}},progress:{get:function(){return this.uniforms.progress.value},set:function(C){this.uniforms.progress.value=C}},transition:{get:function(){return this.defines.USE_BLACK_TRANSITION?"BLACK":this.defines.USE_SPREAD_TRANSITION?"SPREAD":"FADE"},set:function(C){var I=this.defines.USE_BLACK_TRANSITION,B=this.defines.USE_SPREAD_TRANSITION;this.defines.USE_BLACK_TRANSITION=!1,this.defines.USE_SPREAD_TRANSITION=!1,this.defines["USE_".concat(C,"_TRANSITION")]=!0;var F=!1;I!==this.defines.USE_BLACK_TRANSITION&&(F=!0),B!==this.defines.USE_SPREAD_TRANSITION&&(F=!0),F&&(this.needsUpdate=!0)}},constantColor:{get:function(){return this.uniforms.constantColor.value},set:function(C){this.uniforms.constantColor.value=C;var I=this.defines.USE_CONSTANT_COLOR,B=C!==null;I!==B&&(this.defines.USE_CONSTANT_COLOR=B,this.needsUpdate=!0)}},opacity:{get:function(){return this.uniforms.opacity.value},set:function(C){this.uniforms.opacity.value=C}},shownFloorIndex:{get:function(){return this.uniforms.shownFloorIndex.value},set:function(C){this.uniforms.shownFloorIndex.value=C}},clippers:{get:function(){return w},set:function(C){w!==C&&(w=C,this.uniforms.clippers.value=(w||[]).map(function(I){var B=typeof I.floorIndex=="number"?I.floorIndex:-1,F=new THREE__namespace.Matrix4().getInverse(I.clippingBoxMatrix);return{matrixInverse:F,floorIndex:B}}),this.needsUpdate=!0)}},useEDL:{get:function(){return this.defines.USE_EDL},set:function(C){C!==this.defines.USE_EDL&&(this.defines.USE_EDL=C,this.needsUpdate=!0)}},useHQWeight:{get:function(){return this.defines.USE_HQ_WEIGHT},set:function(C){C!==this.defines.USE_HQ_WEIGHT&&(this.defines.USE_HQ_WEIGHT=C,this.needsUpdate=!0)}},useHQDepth:{get:function(){return this.defines.USE_HQ_DEPTH},set:function(C){C!==this.defines.USE_HQ_DEPTH&&(this.defines.USE_HQ_DEPTH=C,this.needsUpdate=!0)}},floor:{get:function(){return this.uniforms.floor.value},set:function(C){this.uniforms.floor.value=C}}}),_.pano0=(r=e.pano0)!==null&&r!==void 0?r:defaultPbmParameters.pano0,_.pano1=(i=e.pano1)!==null&&i!==void 0?i:defaultPbmParameters.pano1,_.modelAlpha=(o=e.modelAlpha)!==null&&o!==void 0?o:defaultPbmParameters.modelAlpha,_.progress=(s=e.progress)!==null&&s!==void 0?s:defaultPbmParameters.progress,_.transition=(u=e.transition)!==null&&u!==void 0?u:defaultPbmParameters.transition,_.constantColor=(c=e.constantColor)!==null&&c!==void 0?c:defaultPbmParameters.constantColor,_.opacity=(l=e.opacity)!==null&&l!==void 0?l:defaultPbmParameters.opacity,_.shownFloorIndex=(d=e.shownFloorIndex)!==null&&d!==void 0?d:defaultPbmParameters.shownFloorIndex,_.clippers=(f=e.clippers)!==null&&f!==void 0?f:defaultPbmParameters.clippers,_.useEDL=(m=e.useEDL)!==null&&m!==void 0?m:defaultPbmParameters.useEDL,_.useHQWeight=(p=e.useHQWeight)!==null&&p!==void 0?p:defaultPbmParameters.useHQWeight,_.useHQDepth=(A=e.useHQDepth)!==null&&A!==void 0?A:defaultPbmParameters.useHQDepth,_.pointSize=(v=e.pointSize)!==null&&v!==void 0?v:defaultPbmParameters.pointSize,_.pointColor=(g=e.pointColor)!==null&&g!==void 0?g:defaultPbmParameters.pointColor,_.pointShape=(h=e.pointShape)!==null&&h!==void 0?h:defaultPbmParameters.pointShape,_.pointScale=(y=e.pointScale)!==null&&y!==void 0?y:defaultPbmParameters.pointScale,_.pointBack=(b=e.pointBack)!==null&&b!==void 0?b:defaultPbmParameters.pointBack,_.pointMinPixel=(E=e.pointMinPixel)!==null&&E!==void 0?E:defaultPbmParameters.pointMinPixel,_.pointMaxPixel=(T=e.pointMaxPixel)!==null&&T!==void 0?T:defaultPbmParameters.pointMaxPixel,_.gradientTexture=(x=e.gradientTexture)!==null&&x!==void 0?x:defaultPbmParameters.gradientTexture,_.floor=0,_}return t.prototype.onBeforeCompile=function(e,r){var i,o,s=String((o=(i=this.clippers)===null||i===void 0?void 0:i.length)!==null&&o!==void 0?o:0);e.vertexShader=e.vertexShader.replace(/NUM_CLIPPERS/g,s),e.fragmentShader=e.fragmentShader.replace(/NUM_CLIPPERS/g,s)},t.prototype.update=function(e,r){this.transparent=this.shownFloorIndex>-1||this.opacity<1,this.blending=this.transparent?THREE__namespace.NormalBlending:THREE__namespace.NoBlending;var i;if(this.uniforms.map.value&&(i=this.uniforms.map.value),i?(i.updateMatrix(),this.uniforms.uvTransform.value.copy(i.matrix)):this.uniforms.uvTransform.value.identity(),r instanceof Camera)this.uniforms.pixelRatio.value=r.pixelRatio,this.uniforms.resolution.value.copy(r.resolution);else{this.uniforms.pixelRatio.value=e.getPixelRatio();var o=e.getViewport(scratchVector4$1);this.uniforms.resolution.value.set(o.z,o.w)}},t.prototype.syncModel=function(e){var r="".concat(e.id,":").concat(e.materialVersion);r!==this.syncModelVersion&&(Object.assign(this,e.getMaterial()),this.syncModelVersion=r)},t}(THREE__namespace.ShaderMaterial),InternalWebGLRenderer=function(n){__extends(t,n);function t(e){var r=e.preserveDrawingBuffer,i=r===void 0?!0:r,o=e.premultipliedAlpha,s=o===void 0?!0:o,u=e.stencil,c=u===void 0?!0:u,l=e.backgroundColor,d=l===void 0?1579548:l,f=e.backgroundAlpha,m=f===void 0?1:f,p=e.pixelRatio,A=p===void 0?1:p,v=e.antialias,g=e.webgl2,h=this,y={antialias:v,alpha:!0,preserveDrawingBuffer:i,stencil:c,premultipliedAlpha:s,powerPreference:"high-performance"};if(g){var b=document.createElement("canvas"),E=b.getContext("webgl2",y);E?h=n.call(this,__assign(__assign({},y),{antialias:!0,canvas:b,context:E}))||this:(console.error("error occurred when getting webgl2 canvas context, mybe webgl2 not support, fallback to webgl."),h=n.call(this,y)||this)}else h=n.call(this,y)||this;return h.setPixelRatio(A),h.setClearColor(d,m),h.outputEncoding=THREE__namespace.sRGBEncoding,h.autoClear=!0,h}return t}(THREE__namespace.WebGLRenderer),Scene=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.add=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return n.prototype.add.apply(this,e)},t.prototype.remove=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return n.prototype.remove.apply(this,e)},t}(THREE__namespace.Scene),VolumePlaneIntersect;(function(n){n[n.Outside=-1]="Outside",n[n.Intersecting=0]="Intersecting",n[n.Inside=1]="Inside"})(VolumePlaneIntersect||(VolumePlaneIntersect={}));var EPSILON$2=1e-6,scratchVector=new THREE__namespace.Vector3,scratchMatrix4$3=new THREE__namespace.Matrix4,scratchXAxis=new THREE__namespace.Vector3,scratchYAxis=new THREE__namespace.Vector3,scratchZAxis=new THREE__namespace.Vector3,scratchSize=new THREE__namespace.Vector3,scratchBox3=new THREE__namespace.Box3,scratchSphere$1=new THREE__namespace.Sphere,scratchMatrix4Inverse$1=new THREE__namespace.Matrix4,scratchRay$1=new THREE__namespace.Ray,scratchObject3D=new THREE__namespace.Object3D,scratchFrustum=new THREE__namespace.Frustum;function quaternionFromMatrix3(n,t){var e=n.elements;return t.setFromRotationMatrix(scratchMatrix4$3.set(e[0],e[3],e[6],0,e[1],e[4],e[7],0,e[2],e[5],e[8],0,0,0,0,1)),t}var CullingVolume=function(){function n(t){t===void 0&&(t=[]),this.planes=t}return Object.defineProperty(n,"MASK_OUTSIDE",{get:function(){return 4294967295},enumerable:!1,configurable:!0}),Object.defineProperty(n,"MASK_INSIDE",{get:function(){return 0},enumerable:!1,configurable:!0}),Object.defineProperty(n,"MASK_INDETERMINATE",{get:function(){return 2147483647},enumerable:!1,configurable:!0}),n.prototype.setFromFrustum=function(t){return this.planes=t.planes.map(function(e){return e.clone()}),this},n.prototype.setFromCamera=function(t){return scratchMatrix4$3.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),scratchFrustum.setFromProjectionMatrix(scratchMatrix4$3),this.setFromFrustum(scratchFrustum),this},n.prototype.applyMatrix4=function(t){for(var e=0,r=this.planes;e<r.length;e++){var i=r[e];i.applyMatrix4(t)}},n.prototype.copy=function(t){return this.planes=t.planes.map(function(e){return e.clone()}),this},n.prototype.clone=function(){return new n().copy(this)},n.prototype.computeVisibility=function(t){for(var e=VolumePlaneIntersect.Inside,r=0,i=this.planes;r<i.length;r++){var o=i[r],s=t.intersectPlane(o);switch(s){case VolumePlaneIntersect.Outside:return VolumePlaneIntersect.Outside;case VolumePlaneIntersect.Intersecting:e=VolumePlaneIntersect.Intersecting;break}}return e},n.prototype.computeVisibilityWithPlaneMask=function(t,e){if(e===n.MASK_OUTSIDE||e===n.MASK_INSIDE)return e;for(var r=n.MASK_INSIDE,i=Math.min(32,this.planes.length),o=0;o<i;++o){var s=1<<o;if(e&s){var u=this.planes[o],c=t.intersectPlane(u);if(c===VolumePlaneIntersect.Outside)return n.MASK_OUTSIDE;c===VolumePlaneIntersect.Intersecting&&(r|=s)}}return r},n}(),BoxBoundingVolume=function(){function n(){this.type="box",this.center=new THREE__namespace.Vector3,this.halfSize=new THREE__namespace.Vector3,this.rotation=new THREE__namespace.Matrix3}return n.prototype.fromJson=function(t){var e=t.box;this.center.set(e[0],e[1],e[2]);var r=e[3],i=e[4],o=e[5],s=e[6],u=e[7],c=e[8],l=e[9],d=e[10],f=e[11],m=Math.sqrt(r*r+i*i+o*o),p=Math.sqrt(s*s+u*u+c*c),A=Math.sqrt(l*l+d*d+f*f);this.halfSize.set(m,p,A);var v=this.halfSize.toArray().reduce(function(g,h){return g+h},0);return(isNaN(v)||v<=0)&&this.halfSize.setScalar(EPSILON$2),this.rotation.fromArray([r/m,i/m,o/m,s/p,u/p,c/p,l/A,d/A,f/A]),isNaN(this.rotation.toArray().reduce(function(g,h){return g+h},0))&&this.rotation.identity(),this},n.prototype.toJson=function(){return this.rotation.extractBasis(scratchXAxis,scratchYAxis,scratchZAxis),{box:__spreadArray(__spreadArray(__spreadArray(__spreadArray([],this.center.toArray(),!0),scratchXAxis.multiplyScalar(this.halfSize.x).toArray(),!0),scratchYAxis.multiplyScalar(this.halfSize.y).toArray(),!0),scratchZAxis.multiplyScalar(this.halfSize.z).toArray(),!0)}},n.prototype.copy=function(t){return this.center.copy(t.center),this.halfSize.copy(t.halfSize),this.rotation.copy(t.rotation),this},n.prototype.clone=function(){return new n().copy(this)},n.prototype.applyMatrix4=function(t){return scratchObject3D.position.copy(this.center),quaternionFromMatrix3(this.rotation,scratchObject3D.quaternion),scratchObject3D.scale.copy(this.halfSize),scratchObject3D.matrix.compose(scratchObject3D.position,scratchObject3D.quaternion,scratchObject3D.scale),scratchObject3D.matrix.premultiply(t),scratchObject3D.matrix.decompose(scratchObject3D.position,scratchObject3D.quaternion,scratchObject3D.scale),this.center.copy(scratchObject3D.position),this.rotation.setFromMatrix4(scratchMatrix4$3.makeRotationFromQuaternion(scratchObject3D.quaternion)),this.halfSize.copy(scratchObject3D.scale),this},n.prototype.getCenter=function(t){return t.copy(this.center)},n.prototype.distanceSquaredTo=function(t){var e=this.rotation.elements,r=t.x-this.center.x,i=t.y-this.center.y,o=t.z-this.center.z,s=0,u;return u=r*e[0]+i*e[1]+o*e[2],u<0&&(u=-u),u-=this.halfSize.x,u>0&&(s+=u*u),u=r*e[3]+i*e[4]+o*e[5],u<0&&(u=-u),u-=this.halfSize.y,u>0&&(s+=u*u),u=r*e[6]+i*e[7]+o*e[8],u<0&&(u=-u),u-=this.halfSize.z,u>0&&(s+=u*u),s},n.prototype.distanceTo=function(t){return Math.sqrt(this.distanceSquaredTo(t))},n.prototype.getBoundingBox=function(t){return t.makeEmpty(),this.rotation.extractBasis(scratchXAxis,scratchYAxis,scratchZAxis),scratchXAxis.setLength(this.halfSize.x),scratchYAxis.setLength(this.halfSize.y),scratchZAxis.setLength(this.halfSize.z),t.expandByPoint(scratchVector.copy(this.center).add(scratchXAxis)),t.expandByPoint(scratchVector.copy(this.center).sub(scratchXAxis)),t.expandByPoint(scratchVector.copy(this.center).add(scratchYAxis)),t.expandByPoint(scratchVector.copy(this.center).sub(scratchYAxis)),t.expandByPoint(scratchVector.copy(this.center).add(scratchZAxis)),t.expandByPoint(scratchVector.copy(this.center).sub(scratchZAxis)),t},n.prototype.toGeometry=function(){var t=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),e=new Float32Array(8*3);scratchVector.set(this.halfSize.x,this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,0),scratchVector.set(-this.halfSize.x,this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,3),scratchVector.set(-this.halfSize.x,-this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,6),scratchVector.set(this.halfSize.x,-this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,9),scratchVector.set(this.halfSize.x,this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,12),scratchVector.set(-this.halfSize.x,this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,15),scratchVector.set(-this.halfSize.x,-this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,18),scratchVector.set(this.halfSize.x,-this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,21);var r=new THREE__namespace.BufferGeometry;return r.setIndex(new THREE__namespace.BufferAttribute(t,1)),r.setAttribute("position",new THREE__namespace.BufferAttribute(e,3)),r.computeBoundingBox(),r.computeBoundingSphere(),r},n.prototype.intersectPlane=function(t){var e=this.center,r=t.normal,i=this.rotation.elements,o=this.halfSize,s=r.x,u=r.y,c=r.z,l=Math.abs(s*i[0]*o.x+u*i[1]*o.x+c*i[2]*o.x)+Math.abs(s*i[3]*o.y+u*i[4]*o.y+c*i[5]*o.y)+Math.abs(s*i[6]*o.z+u*i[7]*o.z+c*i[8]*o.z),d=r.dot(e)+t.constant;return d<=-l?VolumePlaneIntersect.Outside:d>=l?VolumePlaneIntersect.Inside:VolumePlaneIntersect.Intersecting},n.prototype.intersectRay=function(t,e){scratchSize.copy(this.halfSize).multiplyScalar(2),scratchBox3.setFromCenterAndSize(scratchVector.set(0,0,0),scratchSize),this.rotation.extractBasis(scratchXAxis,scratchYAxis,scratchZAxis),scratchMatrix4$3.makeBasis(scratchXAxis,scratchYAxis,scratchZAxis),scratchMatrix4$3.setPosition(this.center),scratchMatrix4Inverse$1.getInverse(scratchMatrix4$3),scratchRay$1.copy(t).applyMatrix4(scratchMatrix4Inverse$1);var r=scratchRay$1.intersectBox(scratchBox3,scratchVector);return r?e!==void 0?r.applyMatrix4(scratchMatrix4$3).distanceTo(t.origin)<e:!0:!1},n}(),SphereBoundingVolume=function(){function n(){this.type="sphere",this.center=new THREE__namespace.Vector3,this.radius=-1}return n.prototype.fromJson=function(t){var e=t.sphere;return this.center.set(e[0],e[1],e[2]),this.radius=Math.max(e[3],EPSILON$2),this},n.prototype.toJson=function(){return{sphere:__spreadArray(__spreadArray([],this.center.toArray(),!0),[this.radius],!1)}},n.prototype.copy=function(t){return this.center.copy(t.center),this.radius=t.radius,this},n.prototype.clone=function(){return new n().copy(this)},n.prototype.getBoundingBox=function(t){return t.setFromCenterAndSize(this.center,scratchSize.set(1,1,1).multiplyScalar(this.radius*2)),t},n.prototype.toGeometry=function(){for(var t=32,e=new Float32Array(t*3*2*2),r=0;r<=t;r++){var i=0;i=r/t*Math.PI*2,e[r*6+0]=this.center.x+Math.cos(i)*this.radius,e[r*6+1]=this.center.y+Math.sin(i)*this.radius,e[r*6+2]=this.center.z+0,i=(r+1)/t*Math.PI*2,e[r*6+3]=this.center.x+Math.cos(i)*this.radius,e[r*6+4]=this.center.y+Math.sin(i)*this.radius,e[r*6+5]=this.center.z+0}for(var r=t;r<=t*2;r++){var i=0;i=r/t*Math.PI*2,e[r*6+0]=this.center.x+Math.cos(i)*this.radius,e[r*6+1]=this.center.y+0,e[r*6+2]=this.center.z+Math.sin(i)*this.radius,i=(r+1)/t*Math.PI*2,e[r*6+3]=this.center.x+Math.cos(i)*this.radius,e[r*6+4]=this.center.y+0,e[r*6+5]=this.center.z+Math.sin(i)*this.radius}var o=new THREE__namespace.BufferGeometry;return o.setAttribute("position",new THREE__namespace.BufferAttribute(e,3)),o.computeBoundingBox(),o.computeBoundingSphere(),o},n.prototype.applyMatrix4=function(t){return this.center.applyMatrix4(t),this.radius=this.radius*t.getMaxScaleOnAxis(),this},n.prototype.getCenter=function(t){return t.copy(this.center)},n.prototype.distanceSquaredTo=function(t){var e=this.distanceTo(t);return e*e},n.prototype.distanceTo=function(t){var e=this.center.distanceTo(t)-this.radius;return e<=0?0:e},n.prototype.intersectPlane=function(t){var e=this.center,r=this.radius,i=t.normal,o=i.dot(e)+t.constant;return o<-r?VolumePlaneIntersect.Outside:o<r?VolumePlaneIntersect.Intersecting:VolumePlaneIntersect.Inside},n.prototype.intersectRay=function(t,e){scratchSphere$1.set(this.center,this.radius);var r=t.intersectSphere(scratchSphere$1,scratchVector);return r?e!==void 0?t.origin.distanceTo(r)<e:!0:!1},n}(),RegionBoundingVolume=function(){function n(){throw this.type="regin",this.west=0,this.south=0,this.east=0,this.north=0,this.minHeight=0,this.maxHeight=0,new Error("Region bounding volume not supported.")}return n.prototype.fromJson=function(t){var e=t.region;return this.west=e[0],this.south=e[1],this.east=e[2],this.north=e[3],this.minHeight=e[4],this.maxHeight=e[5],this},n.prototype.toJson=function(){return{region:[this.west,this.south,this.east,this.north,this.minHeight,this.maxHeight]}},n.prototype.copy=function(t){return this.west=t.west,this.south=t.south,this.east=t.east,this.north=t.north,this.minHeight=t.minHeight,this.maxHeight=t.maxHeight,this},n.prototype.clone=function(){return new n().copy(this)},n.prototype.getBoundingBox=function(t){throw new Error("not implemented")},n.prototype.toGeometry=function(){throw new Error("not implemented")},n.prototype.applyMatrix4=function(t){throw new Error("not implemented")},n.prototype.getCenter=function(t){throw new Error("not implemented")},n.prototype.distanceTo=function(t){throw new Error("not implemented")},n.prototype.distanceSquaredTo=function(t){throw new Error("not implemented")},n.prototype.intersectPlane=function(t){throw new Error("not implemented")},n.prototype.intersectRay=function(t){throw new Error("not implemented")},n}();function makeBoundingVolume(n){if("box"in n)return new BoxBoundingVolume().fromJson(n);if("sphere"in n)return new SphereBoundingVolume().fromJson(n);if("region"in n)return new RegionBoundingVolume().fromJson(n);throw new Error("BoundingVolume ".concat(JSON.stringify(n)," never suppored."))}var debugMaterials=[4821759,8191922,16637280,16739958,5822969,376977,16747077,9259235,14514687].map(function(n){return new THREE__namespace.LineBasicMaterial({color:n,depthWrite:!1,depthTest:!1,transparent:!0})}),debugBoxGeometry=function(){var n=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),t=new Float32Array(8*3);scratchVector.set(1,1,1).toArray(t,0),scratchVector.set(-1,1,1).toArray(t,3),scratchVector.set(-1,-1,1).toArray(t,6),scratchVector.set(1,-1,1).toArray(t,9),scratchVector.set(1,1,-1).toArray(t,12),scratchVector.set(-1,1,-1).toArray(t,15),scratchVector.set(-1,-1,-1).toArray(t,18),scratchVector.set(1,-1,-1).toArray(t,21);var e=new THREE__namespace.BufferGeometry;return e.setIndex(new THREE__namespace.BufferAttribute(n,1)),e.setAttribute("position",new THREE__namespace.BufferAttribute(t,3)),e.computeBoundingBox(),e.computeBoundingSphere(),e}(),debugSphereGeometry=function(){for(var n=32,t=new Float32Array(n*3*2*2),e=0;e<=n;e++){var r=0;r=e/n*Math.PI*2,t[e*6+0]=Math.cos(r),t[e*6+1]=Math.sin(r),t[e*6+2]=0,r=(e+1)/n*Math.PI*2,t[e*6+3]=Math.cos(r),t[e*6+4]=Math.sin(r),t[e*6+5]=0}for(var e=n;e<=n*2;e++){var r=0;r=e/n*Math.PI*2,t[e*6+0]=Math.cos(r),t[e*6+1]=0,t[e*6+2]=Math.sin(r),r=(e+1)/n*Math.PI*2,t[e*6+3]=Math.cos(r),t[e*6+4]=0,t[e*6+5]=Math.sin(r)}var i=new THREE__namespace.BufferGeometry;return i.setAttribute("position",new THREE__namespace.BufferAttribute(t,3)),i.computeBoundingBox(),i.computeBoundingSphere(),i}();function createDebugBoundingMesh(n,t){if(n instanceof BoxBoundingVolume){var e=new THREE__namespace.LineSegments(debugBoxGeometry,debugMaterials[Math.min(t,debugMaterials.length-1)]);return e.position.copy(n.center),quaternionFromMatrix3(n.rotation,e.quaternion),e.scale.set(n.halfSize.x,n.halfSize.y,n.halfSize.z),e.matrix.compose(e.position,e.quaternion,e.scale),e}else if(n instanceof SphereBoundingVolume){var e=new THREE__namespace.LineSegments(debugSphereGeometry,debugMaterials[Math.min(t,debugMaterials.length-1)]);return e.position.copy(n.center),e.scale.set(n.radius,n.radius,n.radius),e.matrix.compose(e.position,e.quaternion,e.scale),e}throw new Error("never")}var Tile=function(){function n(t,e,r,i){var o=this,s,u,c;this.parent=null,this.id=t,this.state={visible:!1,frameNumber:0,selectedFrameNumber:0,requestedFrameNumber:0,touchedFrameNumber:0,selectionDepth:0,shouldRefine:!1,distanceToCamera:0,screenSpaceError:0,visibilityPlaneMask:0,inRequestVolume:!1},this.parent=i!=null?i:null,this.tileset=r,this.refine=(s=e.refine)!==null&&s!==void 0?s:this.parent?this.parent.refine:"REPLACE",this.transform=new THREE__namespace.Matrix4,e.transform&&this.transform.fromArray(e.transform),this.parent&&this.transform.premultiply(this.parent.transform),typeof e.geometricError=="number"?this.geometricError=e.geometricError*this.transform.getMaxScaleOnAxis():this.geometricError=(c=(u=this.parent)===null||u===void 0?void 0:u.geometricError)!==null&&c!==void 0?c:0,e.content&&e.content.uri?(this.content={uri:e.content.uri,loadState:"UNLOADED",byteLength:0},e.content.group!==void 0&&(this.content.group=e.content.group),e.content.boundingVolume&&(this.content.boundingVolume=makeBoundingVolume(e.content.boundingVolume).applyMatrix4(this.transform)),/\.json$/.test(this.content.uri)?this.type="TILESET":this.type="SCENEGRAPH"):(this.content=null,this.type="EMPTY"),e.boundingVolume&&(this.boundingVolume=makeBoundingVolume(e.boundingVolume).applyMatrix4(this.transform)),e.viewerRequestVolume&&(this.viewerRequestVolume=makeBoundingVolume(e.viewerRequestVolume).applyMatrix4(this.transform)),this.extras=e.extras||{},e.children?this.children=e.children.map(function(l,d){return new n("".concat(o.id,".").concat(d),l,r,o)}):this.children=[]}return n.prototype.updateState=function(t){this.state.frameNumber=t.frameNumber;var e=this.tileset.transformIsIdentity?null:this.tileset.transform;if(this.boundingVolume){var r=e?this.boundingVolume.clone().applyMatrix4(e):this.boundingVolume;this.state.distanceToCamera=r.distanceTo(t.camera.position);var i=this.parent?this.parent.state.visibilityPlaneMask:CullingVolume.MASK_INDETERMINATE;this.state.visibilityPlaneMask=t.cullingVolume.computeVisibilityWithPlaneMask(r,i),this.state.visible=this.state.visibilityPlaneMask!==CullingVolume.MASK_OUTSIDE}else this.state.distanceToCamera=0,this.state.visibilityPlaneMask=CullingVolume.MASK_INDETERMINATE,this.state.visible=!0;if(this.viewerRequestVolume){var o=e?this.viewerRequestVolume.clone().applyMatrix4(e):this.viewerRequestVolume;this.state.inRequestVolume=o.distanceSquaredTo(t.camera.position)<=0}else this.state.inRequestVolume=!0;this.state.screenSpaceError=this.getScreenSpaceError(t,this.state.distanceToCamera,!1)},Object.defineProperty(n.prototype,"selected",{get:function(){return this.state.selectedFrameNumber===this.tileset.frameNumber},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasChildren",{get:function(){return this.children.length>0},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"siblingIndex",{get:function(){var t,e;return(e=(t=this.parent)===null||t===void 0?void 0:t.children.indexOf(this))!==null&&e!==void 0?e:0},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasTilesetContent",{get:function(){return this.children.length>0&&this.type==="TILESET"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasRenderContent",{get:function(){return this.type==="MESH"||this.type==="SCENEGRAPH"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"contentAvailable",{get:function(){var t;return this.hasRenderContent&&((t=this.content)===null||t===void 0?void 0:t.loadState)==="READY"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasUnloadedContent",{get:function(){var t;return((t=this.content)===null||t===void 0?void 0:t.loadState)==="UNLOADED"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasEmptyContent",{get:function(){return this.type==="EMPTY"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"contentReady",{get:function(){var t;return((t=this.content)===null||t===void 0?void 0:t.loadState)==="READY"||this.hasEmptyContent},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"contentByteLength",{get:function(){return this.content?this.content.byteLength:0},enumerable:!1,configurable:!0}),n.prototype.loadContent=function(){var t=this,e;if(this.hasEmptyContent||!(!((e=this.content)===null||e===void 0)&&e.uri))return Promise.resolve(!1);var r=this.content;return r.data?Promise.resolve(!0):(r.loadState="LOADING",this.tileset.requestScheduler.scheduleRequest(this.id,function(){return t.getPriority()}).then(function(i){return i?t.tileset.options.contentLoader(t).then(function(o){return i.done(),r.loadState=o?"READY":"UNLOADED",o}).catch(function(o){return r.loadState="FAILED",i.done(),Promise.reject(o)}):(r.loadState="UNLOADED",Promise.resolve(!1))}))},n.prototype.unloadContent=function(){return this.content&&(this.content.loadState="UNLOADED",this.content.byteLength=0),!0},n.prototype.getScreenSpaceError=function(t,e,r){var i=this.tileset.transformIsIdentity?1:this.tileset.transform.getMaxScaleOnAxis(),o=this.parent?this.parent.geometricError:this.tileset.geometricError,s=i*(r?o:this.geometricError);if(s===0)return 0;var u=Math.max(e,.001),c=s*t.height/(u*t.sseDenominator);return c},n.prototype.getPriority=function(){var t=this.refine==="ADD"||this.tileset.skipLevelOfDetail;if(t&&!this.state.visible||this.tileset.frameNumber-this.state.touchedFrameNumber>=1||this.content.loadState==="UNLOADED")return-1;var e=this.parent,r=e&&(!t||this.state.screenSpaceError===0),i=r?e.state.screenSpaceError:this.state.screenSpaceError,o=this.tileset.root?this.tileset.root.state.screenSpaceError:0,s=Math.max(o-i,0);return s},n}(),RequestScheduler=function(){function n(){this.maxRequests=n.DEFAULT_MAX_REQUESTS,this.activeRequests=0,this.requestQueue=[],this.requestMap=new Map,this.deferred=null}return n.prototype.scheduleRequest=function(t,e){var r=this.requestMap.get(t);if(r)return r;var i={identiy:t,priority:0,getPriority:e,resolve:function(){}},o=new Promise(function(s){return i.resolve=s});return this.requestQueue.push(i),this.requestMap.set(t,o),this.issueNewRequests(),o},n.prototype.reset=function(){for(var t=0,e=this.requestQueue;t<e.length;t++){var r=e[t];r.resolve(null)}this.requestQueue.length=0,this.requestMap.clear(),this.activeRequests=0},n.prototype.issueRequest=function(t){var e=this,r=t.identiy,i=t.resolve,o=!1,s=function(){o||(o=!0,e.requestMap.delete(r),e.activeRequests--,e.issueNewRequests())};this.activeRequests++,i({done:s})},n.prototype.issueNewRequests=function(){var t=this;this.deferred||(this.deferred=setTimeout(function(){return t.issueNewRequestsAsync()},0))},n.prototype.issueNewRequestsAsync=function(){this.deferred=null;var t=Math.max(this.maxRequests-this.activeRequests,0);if(t!==0){this.updateAllRequests();for(var e=0;e<t;e++){var r=this.requestQueue.shift();if(r)this.issueRequest(r);else break}}},n.prototype.updateAllRequests=function(){for(var t=this.requestQueue,e=0;e<t.length;e++){var r=t[e];this.updateRequest(r)===!1&&(t.splice(e,1),this.requestMap.delete(r.identiy),e--)}t.sort(function(i,o){return i.priority-o.priority})},n.prototype.updateRequest=function(t){return t.priority=t.getPriority(t.identiy),t.priority<0?(t.resolve(null),!1):!0},n.DEFAULT_MAX_REQUESTS=6,n}(),CacheNode=function(){function n(t,e,r){this.item=t,this.previous=e,this.next=r}return n}(),CacheNodeList=function(){function n(){this.head=null,this.tail=null,this._length=0}return Object.defineProperty(n.prototype,"length",{get:function(){return this._length},enumerable:!1,configurable:!0}),n.prototype.add=function(t){var e=new CacheNode(t,this.tail,null);return this.tail?(this.tail.next=e,this.tail=e):(this.head=e,this.tail=e),this._length++,e},n.prototype.remove=function(t){t.previous&&t.next?(t.previous.next=t.next,t.next.previous=t.previous):t.previous?(t.previous.next=null,this.tail=t.previous):t.next?(t.next.previous=null,this.head=t.next):(this.head=null,this.tail=null),t.next=null,t.previous=null,this._length--},n.prototype.splice=function(t,e){t!==e&&(this.remove(e),this.insert(t,e))},n.prototype.insert=function(t,e){var r=t.next;t.next=e,this.tail===t?this.tail=e:r.previous=e,e.next=r,e.previous=t,this._length++},n.prototype.toArray=function(){for(var t=[],e=this.head;e;)t.push(e),e=e.next;return t},n}(),TilesetCache=function(){function n(){this.cacheNodeMap=new Map,this.list=new CacheNodeList,this.sentinel=this.list.add("sentinel")}return n.prototype.reset=function(){this.list.tail&&this.list.splice(this.list.tail,this.sentinel)},n.prototype.touch=function(t){var e=this.cacheNodeMap.get(t);e&&this.list.splice(this.sentinel,e)},n.prototype.add=function(t,e){if(!this.cacheNodeMap.has(t)){var r=this.list.add(t);this.cacheNodeMap.set(t,r),e&&e(t)}},n.prototype.unloadTile=function(t,e){var r=this.cacheNodeMap.get(t);r&&(this.list.remove(r),this.cacheNodeMap.delete(t),e&&e(t))},n.prototype.unloadTiles=function(t,e){for(var r=this.list.head;r!==this.sentinel&&t();){var i=r.item;r=r.next,this.unloadTile(i,e)}},n.prototype.toArray=function(){for(var t=[],e=0,r=this.list.toArray();e<r.length;e++){var i=r[e];i.item!=="sentinel"&&t.push(i.item)}return t},n}(),ManagedArray=function(){function n(){this.map=new Map,this.array=[],this._length=0}return Object.defineProperty(n.prototype,"length",{get:function(){return this._length},enumerable:!1,configurable:!0}),n.prototype.get=function(t){return this.array[t]},n.prototype.set=function(t,e){t>=this.length&&(this._length=t+1),this.map.has(this.array[t])&&this.map.delete(this.array[t]),this.array[t]=e,this.map.set(e,t)},n.prototype.delete=function(t){var e=this.map.get(t);e!==void 0&&e>=0&&(this.array.splice(e,1),this.map.delete(t),this._length--)},n.prototype.push=function(t){if(!this.map.has(t)){var e=this._length++;this.array[e]=t,this.map.set(t,e)}},n.prototype.pop=function(){var t=this.array[--this._length];return this.map.delete(t),t},n.prototype.reset=function(){this.array=[],this.map=new Map,this._length=0},n.prototype.find=function(t){return this.map.has(t)},n}(),TilesetTraverser=function(){function n(){this.loadSiblings=n.DEFAULT_LOAD_SIBLINGS,this.skipLevelOfDetail=n.DEFAULT_SKIP_LEVEL_OF_DETAIL,this.maxScreenSpaceError=n.DEFAULT_MAX_SCREEN_SPACE_ERROR,this._canSelectTile=!0,this._traversalStack=new ManagedArray,this._emptyTraversalStack=new ManagedArray,this.root=null,this.selectedTiles=new Map,this.requestedTiles=new Map,this.needsRefinedTiles=new Map,this.emptyTiles=new Map}return n.prototype.traverse=function(t,e,r){r===void 0&&(r=[]),this.root=t,this.reset();for(var i=0,o=r;i<o.length;i++){var s=o[i];this._traversalStack.reset(),this._emptyTraversalStack.reset(),s.camera.refine&&(this._canSelectTile=s.camera.visible,this.updateTile(t,s),this.executeTraversal(t,s))}this._traversalStack.reset(),this._emptyTraversalStack.reset(),e.camera.refine&&(this._canSelectTile=e.camera.visible,this.updateTile(t,e),this.executeTraversal(t,e))},n.prototype.reset=function(){this.needsRefinedTiles.clear(),this.requestedTiles.clear(),this.selectedTiles.clear(),this.emptyTiles.clear(),this._traversalStack.reset(),this._emptyTraversalStack.reset()},n.prototype.executeTraversal=function(t,e){var r=this._traversalStack;if(t.state.selectionDepth=0,e.maxLevelOfDetail>=0)for(t.state.visible&&t.state.inRequestVolume&&r.push(t);r.length>0;){var i=r.pop(),o=!1;if(this.canTraverse(i,e,!1,!1)){var s=i.hasRenderContent?i.state.selectionDepth+1:i.state.selectionDepth;this.updateChildTiles(i,e,s),o=this.updateAndPushChildren(i,e,r)}var u=i.parent,c=!u||u.state.shouldRefine,l=!o;i.hasRenderContent?i.refine==="ADD"?(this.loadTile(i,e.frameNumber),this.selectTile(i,e)):i.refine==="REPLACE"&&(this.loadTile(i,e.frameNumber),l&&this.selectTile(i,e)):(this.emptyTiles.set(i.id,i),this.loadTile(i,e.frameNumber),l&&this.selectTile(i,e)),this.touchTile(i,e),i.state.shouldRefine=o&&c}},n.prototype.updateChildTiles=function(t,e,r){for(var i=t.children,o=0,s=i;o<s.length;o++){var u=s[o];u.state.selectionDepth=r,this.updateTile(u,e)}return!0},n.prototype.updateAndPushChildren=function(t,e,r){for(var i=t.children,o=t.refine==="REPLACE"&&t.hasRenderContent&&!this.skipLevelOfDetail,s=!1,u=!0,c=0,l=i;c<l.length;c++){var d=l[c];if(d.state.visible&&d.state.inRequestVolume?(r.find(d)&&r.delete(d),r.push(d),s=!0):(o||this.loadSiblings)&&(this.loadTile(d,e.frameNumber),this.touchTile(d,e)),o){var f=void 0;d.state.inRequestVolume?d.hasRenderContent?f=d.contentAvailable:f=this.executeEmptyTraversal(d,e):f=!1,u=u&&f}}return s||(u=!1),u},n.prototype.updateTile=function(t,e){this.updateTileVisibility(t,e)},n.prototype.selectTile=function(t,e){this.shouldSelectTile(t)&&(t.state.selectedFrameNumber=e.frameNumber,this.selectedTiles.set(t.id,t)),this.needsRefinedTiles.set(t.id,t)},n.prototype.loadTile=function(t,e){this.shouldLoadTile(t)&&(t.state.requestedFrameNumber=e,this.requestedTiles.set(t.id,t)),this.needsRefinedTiles.set(t.id,t)},n.prototype.touchTile=function(t,e){t.tileset.cache.touch(t),t.state.touchedFrameNumber=e.frameNumber},n.prototype.canTraverse=function(t,e,r,i){return t.hasChildren?t.hasTilesetContent?!0:!i&&!t.state.visible?!1:this.shouldRefine(t,e,r):!1},n.prototype.shouldLoadTile=function(t){return t.hasUnloadedContent},n.prototype.shouldSelectTile=function(t){return t.contentAvailable&&!this.skipLevelOfDetail&&this._canSelectTile},n.prototype.shouldRefine=function(t,e,r){if(t.hasEmptyContent)return!0;if(t.hasRenderContent){if(t.state.selectionDepth>=e.maxLevelOfDetail)return!1;if(t.state.selectionDepth<e.minLevelOfDetail)return!0}var i=t.state.screenSpaceError;return r&&(i=t.getScreenSpaceError(e,t.state.distanceToCamera,!0)),i>this.maxScreenSpaceError},n.prototype.updateTileVisibility=function(t,e){if(t.updateState(e),!(!t.state.visible||!t.state.inRequestVolume)){var r=t.children.length>0;if(t.hasTilesetContent&&r){var i=t.children[0];this.updateTileVisibility(i,e),t.state.visible=i.state.visible;return}if(this.meetsScreenSpaceErrorEarly(t,e)){t.state.visible=!1;return}}},n.prototype.meetsScreenSpaceErrorEarly=function(t,e){var r=t.parent;return!r||r.refine!=="ADD"?!1:!this.shouldRefine(t,e,!0)},n.prototype.compareDistanceToCamera=function(t,e){return e.state.distanceToCamera-t.state.distanceToCamera},n.prototype.executeEmptyTraversal=function(t,e){var r=!0,i=this._emptyTraversalStack;for(i.push(t);i.length>0&&r;){var o=i.pop();this.updateTile(o,e),o.state.visible||this.loadTile(o,e.frameNumber),this.touchTile(o,e);var s=!o.hasRenderContent&&this.canTraverse(o,e,!1,!0);if(s)for(var u=o.children,c=0,l=u;c<l.length;c++){var d=l[c];i.find(d)&&i.delete(d),i.push(d)}else o.contentAvailable||(r=!1)}return r},n.DEFAULT_SKIP_LEVEL_OF_DETAIL=!1,n.DEFAULT_LOAD_SIBLINGS=!1,n.DEFAULT_MAX_SCREEN_SPACE_ERROR=4,n}(),identityMatrix4=new THREE__namespace.Matrix4,Tileset=function(){function n(t,e,r){var i,o;this.id=t,this.transform=new THREE__namespace.Matrix4,this.transformIsIdentity=!0,this.asset={version:e.asset.version,tilesetVersion:e.asset.tilesetVersion||"",gltfUpAxis:(i=e.asset.gltfUpAxis)!==null&&i!==void 0?i:"Y",overview:e.asset.overview},this.properties=(o=e.properties)!==null&&o!==void 0?o:{},this.options=r,this.traverser=new TilesetTraverser,this.cache=new TilesetCache,this.requestScheduler=new RequestScheduler,this.frameNumber=0,this.pendingCount=0,this.tiles=new Map,this.memoryUsageInBytes=0,this.root=new Tile("".concat(this.id,".0"),e.root,this),this.geometricError=e.geometricError,this.maxMemoryUsage=n.DEFAULT_MAX_MEMORY_USAGE}return Object.defineProperty(n.prototype,"maxRequests",{get:function(){return this.requestScheduler.maxRequests},set:function(t){this.requestScheduler.maxRequests=t},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"skipLevelOfDetail",{get:function(){return this.traverser.skipLevelOfDetail},set:function(t){this.traverser.skipLevelOfDetail=t},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"maxScreenSpaceError",{get:function(){return this.traverser.maxScreenSpaceError},set:function(t){this.traverser.maxScreenSpaceError=t},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"selectedTiles",{get:function(){return this.traverser.selectedTiles},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"needsRefinedTiles",{get:function(){return this.traverser.needsRefinedTiles},enumerable:!1,configurable:!0}),n.prototype.reset=function(){for(var t=this,e=[this.root],r;r=e.pop();){for(var i=0,o=r.children.length;i<o;i++)e.push(r.children[i]);this.cache.unloadTile(r,function(s){return t.unloadTile(s)})}this.cache.reset(),this.traverser.reset(),this.requestScheduler.reset(),this.tiles.clear()},n.prototype.isLoaded=function(){return this.pendingCount===0&&this.frameNumber!==0},n.prototype.traverse=function(t,e){var r=this;e===void 0&&(e=[]),this.transformIsIdentity=this.transform.equals(identityMatrix4),this.traverser.traverse(this.root,t,e),this.selectedTiles.forEach(function(i){r.tiles.set(i.id,i)}),this.traverser.requestedTiles.forEach(function(i){i.hasUnloadedContent&&r.loadTile(i)}),this.cache.unloadTiles(function(){var i=r.memoryUsageInBytes>r.maxMemoryUsage*1024*1024;return i},function(i){r.unloadTile(i),r.tiles.delete(i.id)})},n.prototype.loadTile=function(t){var e=this;this.pendingCount++,t.loadContent().catch(function(r){return e.options.onTileError(t,r),!1}).then(function(r){var i;e.pendingCount--,r&&(!((i=t.content)===null||i===void 0)&&i.data&&e.cache.add(t,function(){e.memoryUsageInBytes+=t.contentByteLength}),e.options.onTileLoad(t))})},n.prototype.unloadTile=function(t){this.memoryUsageInBytes-=t.contentByteLength,this.options.onTileUnload(t),t.unloadContent()},n.DEFAULT_VIEW_DISTANCE_SCALE=1,n.DEFAULT_MAX_MEMORY_USAGE=16,n.DEFAULT_MAX_SCREEN_SPACE_ERROR=TilesetTraverser.DEFAULT_MAX_SCREEN_SPACE_ERROR,n.DEFAULT_MAX_REQUESTS=RequestScheduler.DEFAULT_MAX_REQUESTS,n}(),BVHNode=function(){function n(t,e,r,i,o){this.id=t,this.extents=e,this.startIndex=r,this.endIndex=i,this.deepth=o}return n}(),BYTES_PER_NODE=6*4+4+4+2+2;function packBVHNode(n,t){for(var e=new ArrayBuffer(t*BYTES_PER_NODE),r=new Float32Array(e),i=new Uint32Array(e),o=new Uint16Array(e),s=[n],u,c;u=s.pop();)c=u.id*BYTES_PER_NODE/4,r[c]=u.extents[0],r[c+1]=u.extents[1],r[c+2]=u.extents[2],r[c+3]=u.extents[3],r[c+4]=u.extents[4],r[c+5]=u.extents[5],i[c+6]=u.startIndex,i[c+7]=u.endIndex,c=u.id*BYTES_PER_NODE/2,u.node0&&(o[c+16]=u.node0.id,s.push(u.node0)),u.node1&&(o[c+17]=u.node1.id,s.push(u.node1));return e}function intersectNodeBox(n,t,e,r,i,o,s,u,c){c===void 0&&(c=0),e=e-c,r=r-c,i=i-c,o=o+c,s=s+c,u=u+c;var l={min:0,max:0};t.x>=0?(l.min=(e-n.x)*t.x,l.max=(o-n.x)*t.x):(l.min=(o-n.x)*t.x,l.max=(e-n.x)*t.x);var d={min:0,max:0};if(t.y>=0?(d.min=(r-n.y)*t.y,d.max=(s-n.y)*t.y):(d.min=(s-n.y)*t.y,d.max=(r-n.y)*t.y),l.min>d.max||d.min>l.max)return!1;d.min>l.min&&(l.min=d.min),d.max<l.max&&(l.max=d.max);var f={min:0,max:0};return t.z>=0?(f.min=(i-n.z)*t.z,f.max=(u-n.z)*t.z):(f.min=(u-n.z)*t.z,f.max=(i-n.z)*t.z),!(l.min>f.max||f.min>l.max||(f.min>l.min&&(l.min=f.min),f.max<l.max&&(l.max=f.max),l.max<0))}var BVHVector3=function(){function n(t,e,r){this.x=t,this.y=e,this.z=r}return n.prototype.copy=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},n.prototype.set=function(t,e,r){return this.x=t,this.y=e,this.z=r,this},n.prototype.fromArray=function(t,e){return e===void 0&&(e=0),this.x=t[e],this.y=t[e+1],this.z=t[e+2],this},n.prototype.toArray=function(t,e){return t===void 0&&(t=[]),e===void 0&&(e=0),t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t},n.prototype.add=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this},n.prototype.multiplyScalar=function(t){return this.x*=t,this.y*=t,this.z*=t,this},n.prototype.subVectors=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this},n.prototype.addScaledVector=function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this},n.prototype.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z},n.prototype.cross=function(t){var e=this.x,r=this.y,i=this.z;return this.x=r*t.z-i*t.y,this.y=i*t.x-e*t.z,this.z=e*t.y-r*t.x,this},n.prototype.crossVectors=function(t,e){var r=t.x,i=t.y,o=t.z,s=e.x,u=e.y,c=e.z;return this.x=i*c-o*u,this.y=o*s-r*c,this.z=r*u-i*s,this},n.prototype.distanceTo=function(t){return Math.sqrt(this.distanceToSquared(t))},n.prototype.distanceToSquared=function(t){var e=this.x-t.x,r=this.y-t.y,i=this.z-t.z;return e*e+r*r+i*i},n.prototype.clone=function(){return new n(this.x,this.y,this.z)},n}(),BVHIntersect=function(){function n(t,e,r){this.triangle=t,this.intersectionPoint=e,this.index=r}return n}(),EPSILON$1=1e-6,BVHMesh=function(){function n(t,e){if(this.positionArray=t,e)this.indicesArray=e;else{for(var r=t.length/3,i=r>65535?new Uint32Array(r):new Uint16Array(r),o=0;o<r;o++)i[o]=o;this.indicesArray=i}}return n.prototype.createTree=function(t,e,r){e=Math.min(e,16);var i=this.positionArray,o=this.indicesArray,s=o.length/3,u=s>65535?new Uint32Array(s):new Uint16Array(s),c=new Float32Array(s*6),l=[],d=0,f=-1;if(r)for(var m=0,p=0,A=0,v=void 0,g=void 0,h=void 0,y=void 0,b=void 0,E=void 0,T=void 0;m<s;m+=1,p+=3,A+=6)u[m]=m,v=y=i[o[p]*3],T=i[o[p+1]*3],T<v&&(v=T),T>y&&(y=T),T=i[o[p+2]*3],T<v&&(v=T),T>y&&(y=T),g=b=i[o[p]*3+1],T=i[o[p+1]*3+1],T<g&&(g=T),T>b&&(b=T),T=i[o[p+2]*3+1],T<g&&(g=T),T>b&&(b=T),h=E=i[o[p]*3+2],T=i[o[p+1]*3+2],T<h&&(h=T),T>E&&(E=T),T=i[o[p+2]*3+2],T<h&&(h=T),T>E&&(E=T),c[A]=v,c[A+1]=g,c[A+2]=h,c[A+3]=y,c[A+4]=b,c[A+5]=E;else{for(var x=1/0,_=1/0,w=1/0,S=-1/0,M=-1/0,C=-1/0,m=0,p=0,A=0,v=void 0,g=void 0,h=void 0,y=void 0,b=void 0,E=void 0,T=void 0;m<s;m+=1,p+=3,A+=6)u[m]=m,v=y=i[o[p]*3],T=i[o[p+1]*3],T<v&&(v=T),T>y&&(y=T),T=i[o[p+2]*3],T<v&&(v=T),T>y&&(y=T),g=b=i[o[p]*3+1],T=i[o[p+1]*3+1],T<g&&(g=T),T>b&&(b=T),T=i[o[p+2]*3+1],T<g&&(g=T),T>b&&(b=T),h=E=i[o[p]*3+2],T=i[o[p+1]*3+2],T<h&&(h=T),T>E&&(E=T),T=i[o[p+2]*3+2],T<h&&(h=T),T>E&&(E=T),c[A]=v,c[A+1]=g,c[A+2]=h,c[A+3]=y,c[A+4]=b,c[A+5]=E,v<x&&(x=v),y>S&&(S=y),g<_&&(_=g),b>M&&(M=b),h<w&&(w=h),E>C&&(C=E);r=[x,_,w,S,M,C]}var I=new BVHNode(++f,r,0,s,0);l[d++]=I;var B=[],F=[0,1,2],L=function(O,D){return B[D]-B[O]};function k(O){var D=O.startIndex,Q=O.endIndex,N=O.extents;B[0]=N[3]-N[0],B[1]=N[4]-N[1],B[2]=N[5]-N[2],F.sort(L);for(var U=0;U<3;U++){for(var W=F[U],q=N[W]+N[W+3],G=D,K=Q-1,X=-1,se=void 0;G<=K;)X===-1?(se=u[G],c[se*6+W]+c[se*6+W+3]<q?G++:X=se):(se=u[K],c[se*6+W]+c[se*6+W+3]>=q||(u[G]=se,u[K]=X,X=-1,G++),K--);if(G>D&&G<Q){var Y=new BVHNode(++f,calcExtents(u,c,D,G,EPSILON$1),D,G,O.deepth+1);Y.deepth<e&&Y.endIndex-Y.startIndex>t&&(l[d++]=Y);var re=new BVHNode(++f,calcExtents(u,c,G,Q,EPSILON$1),G,Q,O.deepth+1);re.deepth<e&&re.endIndex-re.startIndex>t&&(l[d++]=re),O.node0=Y,O.node1=re,O.startIndex=0,O.endIndex=0;break}}}for(;d;)k(l[--d]);return this.offsetArray=u,this.rootNodePacked=packBVHNode(I,f+1),l.length=0,this},n.prototype.trianglesInSphere=function(t,e){for(var r=this.positionArray,i=this.indicesArray,o=this.offsetArray,s=this.rootNodePacked,u=new Float32Array(s),c=new Uint32Array(s),l=new Uint16Array(s),d=[0],f=[],m,p,A,v;(m=d.pop())!==void 0;){v=m*BYTES_PER_NODE/4;var g=clamp$1(t.x,u[v],u[v+3])-t.x,h=clamp$1(t.y,u[v+1],u[v+4])-t.y,y=clamp$1(t.z,u[v+2],u[v+5])-t.z;if(g*g+h*h+y*y<=e*e){for(var b=c[v+6];b<c[v+7];b++)f.push(o[b]);v=m*BYTES_PER_NODE/2,p=l[v+16],A=l[v+17],p&&d.push(p),A&&d.push(A)}}for(var E=f.length,T=new Float32Array(E*9),b=0;b<E;b++){var x=f[b];T[b*9]=r[i[x]*3],T[b*9+1]=r[i[x]*3+1],T[b*9+2]=r[i[x]*3+2],T[b*9+3]=r[i[x+1]*3],T[b*9+4]=r[i[x+1]*3+1],T[b*9+5]=r[i[x+1]*3+2],T[b*9+6]=r[i[x+2]*3],T[b*9+7]=r[i[x+2]*3+1],T[b*9+8]=r[i[x+2]*3+2]}return T},n.prototype.intersectRay=function(t,e,r){for(var i=this.positionArray,o=this.indicesArray,s=this.offsetArray,u=this.rootNodePacked,c=new Float32Array(u),l=new Uint32Array(u),d=new Uint16Array(u),f=new BVHVector3(1/e.x,1/e.y,1/e.z),m=[0],p,A,v,g;(p=m.pop())!==void 0;)if(g=p*BYTES_PER_NODE/4,intersectNodeBox(t,f,c[g],c[g+1],c[g+2],c[g+3],c[g+4],c[g+5])){for(var h=l[g+6],y=l[g+7],b=void 0,E=void 0,T=void 0,x=t.x,_=t.y,w=t.z,S=e.x,M=e.y,C=e.z,I=void 0,B=void 0,F=void 0,L=void 0,k=void 0,O=void 0,D=void 0,Q=void 0,N=void 0,U=void 0,W=void 0,q=void 0,G=void 0,K=void 0,X=void 0,se=void 0,Y=void 0,re=void 0,ee=void 0,oe=void 0,$=void 0,ie=void 0,ne=void 0,ae=void 0,Z=void 0,J=void 0,z=void 0;h<y;h++){if(b=s[h],E=b*3,T=o[E]*3,I=i[T],B=i[++T],F=i[++T],T=o[E+1]*3,L=i[T],k=i[++T],O=i[++T],T=o[E+2]*3,D=i[T],Q=i[++T],N=i[++T],U=L-I,W=k-B,q=O-F,G=D-I,K=Q-B,X=N-F,se=W*X-q*K,Y=q*G-U*X,re=U*K-W*G,ne=S*se+M*Y+C*re,ne>0)ie=1;else if(ne<0)ie=-1,ne=-ne;else continue;ee=x-I,oe=_-B,$=w-F,ae=ie*(S*(oe*X-$*K)+M*($*G-ee*X)+C*(ee*K-oe*G)),!(ae<0)&&(Z=ie*(S*(W*$-q*oe)+M*(q*ee-U*$)+C*(U*oe-W*ee)),!(Z<0)&&(ae+Z>ne||(J=-ie*(ee*se+oe*Y+$*re),!(J<0)&&(z=J/ne,r.push(new BVHIntersect([I,B,F,L,k,O,D,Q,N],[x+S*z,_+M*z,w+C*z],b))))))}g=p*BYTES_PER_NODE/2,A=d[g+16],v=d[g+17],A&&m.push(A),v&&m.push(v)}return r},n}();function clamp$1(n,t,e){return n<t?t:n>e?e:n}function calcExtents(n,t,e,r,i){if(e>=r)return[0,0,0,0,0,0];for(var o=1/0,s=1/0,u=1/0,c=-1/0,l=-1/0,d=-1/0,f=e,m=void 0,p=void 0;f<r;f++)m=n[f]*6,p=t[m],p<o&&(o=p),p=t[m+1],p<s&&(s=p),p=t[m+2],p<u&&(u=p),p=t[m+3],p>c&&(c=p),p=t[m+4],p>l&&(l=p),p=t[m+5],p>d&&(d=p);return[o-i,s-i,u-i,c+i,l+i,d+i]}var EPSILON=1e-6,BVHPoints=function(){function n(t,e){this.positionArray=t,this.indicesArray=e}return n.prototype.createTree=function(t,e,r){e=Math.min(e,16);var i=this.positionArray,o=this.indicesArray,s=o?o.length:i.length/3,u=s>65535?new Uint32Array(s):new Uint16Array(s),c=[],l=0,d=-1;if(r)for(var f=0;f<s;f+=1)u[f]=f;else{for(var m=o?o[0]*3:0,p=i[m],A=i[m+1],v=i[m+2],g=p,h=A,y=v,f=0,b=0,E=void 0,T=void 0,x=void 0;f<s;f+=1,b+=3)u[f]=f,m=(o?o[b]:b)*3,E=i[m],T=i[m+1],x=i[m+2],E<p?p=E:E>g&&(g=E),T<A?A=T:T>h&&(h=T),x<v?v=x:x>y&&(y=x);r=[p,A,v,g,h,y]}var _=new BVHNode(++d,r,0,s,0);c[l++]=_;var w=[],S=[0,1,2],M=function(I,B){return w[B]-w[I]};function C(I){var B=I.startIndex,F=I.endIndex,L=I.extents;w[0]=L[3]-L[0],w[1]=L[4]-L[1],w[2]=L[5]-L[2];for(var k=S.sort(M)[0],O=(L[k]+L[k+3])/2,D=B,Q=F-1,N=-1,U,W;D<=Q;)N===-1?(U=u[D],W=(o?o[U]:U)*3,i[W+k]<O?D++:N=U):(U=u[Q],W=(o?o[U]:U)*3,i[W+k]>=O||(u[D]=U,u[Q]=N,N=-1,D++),Q--);if(D>B){var q=L.slice();q[k+3]=O+EPSILON;var G=new BVHNode(++d,q,B,D,I.deepth+1);G.deepth<e&&G.endIndex-G.startIndex>t&&(c[l++]=G),I.node0=G}if(F>D){var K=L.slice();K[k]=O-EPSILON;var X=new BVHNode(++d,K,D,F,I.deepth+1);X.deepth<e&&X.endIndex-X.startIndex>t&&(c[l++]=X),I.node1=X}I.startIndex=0,I.endIndex=0}for(;l;)C(c[--l]);return this.offsetArray=u,this.rootNodePacked=packBVHNode(_,d+1),c.length=0,this},n.prototype.intersectRay=function(t,e,r,i){for(var o=this.positionArray,s=this.indicesArray,u=this.offsetArray,c=this.rootNodePacked,l=new Float32Array(c),d=new Uint32Array(c),f=new Uint16Array(c),m=r*r,p=new BVHVector3(1/e.x,1/e.y,1/e.z),A=[0],v,g,h,y;(v=A.pop())!==void 0;)if(y=v*BYTES_PER_NODE/4,intersectNodeBox(t,p,l[y],l[y+1],l[y+2],l[y+3],l[y+4],l[y+5],r)){for(var b=d[y+6],E=d[y+7],T=void 0,x=void 0,_=void 0,w=void 0,S=void 0,M=void 0,C=void 0,I=void 0,B=void 0,F=void 0,L=void 0,k=void 0,O=void 0;b<E;b++)T=u[b],x=(s?s[T]:T)*3,_=o[x],w=o[++x],S=o[++x],M=t.x,C=t.y,I=t.z,B=e.x,F=e.y,L=e.z,k=B*(_-M)+F*(w-C)+L*(S-I),k>0&&(M+=B*k,C+=F*k,I+=L*k),B=_-M,F=w-C,L=S-I,k=B*B+F*F+L*L,k<=m&&i.push(new BVHIntersect([_,w,S,_,w,S,_,w,S],[M,C,I],T));y=v*BYTES_PER_NODE/2,g=f[y+16],h=f[y+17],g&&A.push(g),h&&A.push(h)}return i},n}();const encodedJs$1="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBYPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gaChyLHQsYSxvLHMpe3RoaXMuaWQ9cix0aGlzLmV4dGVudHM9dCx0aGlzLnN0YXJ0SW5kZXg9YSx0aGlzLmVuZEluZGV4PW8sdGhpcy5kZWVwdGg9c31yZXR1cm4gaH0oKSxSPTYqNCs0KzQrMisyO2Z1bmN0aW9uIG5yKGgscil7Zm9yKHZhciB0PW5ldyBBcnJheUJ1ZmZlcihyKlIpLGE9bmV3IEZsb2F0MzJBcnJheSh0KSxvPW5ldyBVaW50MzJBcnJheSh0KSxzPW5ldyBVaW50MTZBcnJheSh0KSxlPVtoXSx2LG47dj1lLnBvcCgpOyluPXYuaWQqUi80LGFbbl09di5leHRlbnRzWzBdLGFbbisxXT12LmV4dGVudHNbMV0sYVtuKzJdPXYuZXh0ZW50c1syXSxhW24rM109di5leHRlbnRzWzNdLGFbbis0XT12LmV4dGVudHNbNF0sYVtuKzVdPXYuZXh0ZW50c1s1XSxvW24rNl09di5zdGFydEluZGV4LG9bbis3XT12LmVuZEluZGV4LG49di5pZCpSLzIsdi5ub2RlMCYmKHNbbisxNl09di5ub2RlMC5pZCxlLnB1c2godi5ub2RlMCkpLHYubm9kZTEmJihzW24rMTddPXYubm9kZTEuaWQsZS5wdXNoKHYubm9kZTEpKTtyZXR1cm4gdH1mdW5jdGlvbiBhcihoLHIsdCxhLG8scyxlLHYsbil7bj09PXZvaWQgMCYmKG49MCksdD10LW4sYT1hLW4sbz1vLW4scz1zK24sZT1lK24sdj12K247dmFyIHk9e21pbjowLG1heDowfTtyLng+PTA/KHkubWluPSh0LWgueCkqci54LHkubWF4PShzLWgueCkqci54KTooeS5taW49KHMtaC54KSpyLngseS5tYXg9KHQtaC54KSpyLngpO3ZhciBBPXttaW46MCxtYXg6MH07aWYoci55Pj0wPyhBLm1pbj0oYS1oLnkpKnIueSxBLm1heD0oZS1oLnkpKnIueSk6KEEubWluPShlLWgueSkqci55LEEubWF4PShhLWgueSkqci55KSx5Lm1pbj5BLm1heHx8QS5taW4+eS5tYXgpcmV0dXJuITE7QS5taW4+eS5taW4mJih5Lm1pbj1BLm1pbiksQS5tYXg8eS5tYXgmJih5Lm1heD1BLm1heCk7dmFyIHc9e21pbjowLG1heDowfTtyZXR1cm4gci56Pj0wPyh3Lm1pbj0oby1oLnopKnIueix3Lm1heD0odi1oLnopKnIueik6KHcubWluPSh2LWgueikqci56LHcubWF4PShvLWgueikqci56KSwhKHkubWluPncubWF4fHx3Lm1pbj55Lm1heHx8KHcubWluPnkubWluJiYoeS5taW49dy5taW4pLHcubWF4PHkubWF4JiYoeS5tYXg9dy5tYXgpLHkubWF4PDApKX12YXIgdnI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBoKHIsdCxhKXt0aGlzLng9cix0aGlzLnk9dCx0aGlzLno9YX1yZXR1cm4gaC5wcm90b3R5cGUuY29weT1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy54PXIueCx0aGlzLnk9ci55LHRoaXMuej1yLnosdGhpc30saC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHIsdCxhKXtyZXR1cm4gdGhpcy54PXIsdGhpcy55PXQsdGhpcy56PWEsdGhpc30saC5wcm90b3R5cGUuZnJvbUFycmF5PWZ1bmN0aW9uKHIsdCl7cmV0dXJuIHQ9PT12b2lkIDAmJih0PTApLHRoaXMueD1yW3RdLHRoaXMueT1yW3QrMV0sdGhpcy56PXJbdCsyXSx0aGlzfSxoLnByb3RvdHlwZS50b0FycmF5PWZ1bmN0aW9uKHIsdCl7cmV0dXJuIHI9PT12b2lkIDAmJihyPVtdKSx0PT09dm9pZCAwJiYodD0wKSxyW3RdPXRoaXMueCxyW3QrMV09dGhpcy55LHJbdCsyXT10aGlzLnoscn0saC5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKHIpe3JldHVybiB0aGlzLngrPXIueCx0aGlzLnkrPXIueSx0aGlzLnorPXIueix0aGlzfSxoLnByb3RvdHlwZS5tdWx0aXBseVNjYWxhcj1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy54Kj1yLHRoaXMueSo9cix0aGlzLnoqPXIsdGhpc30saC5wcm90b3R5cGUuc3ViVmVjdG9ycz1mdW5jdGlvbihyLHQpe3JldHVybiB0aGlzLng9ci54LXQueCx0aGlzLnk9ci55LXQueSx0aGlzLno9ci56LXQueix0aGlzfSxoLnByb3RvdHlwZS5hZGRTY2FsZWRWZWN0b3I9ZnVuY3Rpb24ocix0KXtyZXR1cm4gdGhpcy54Kz1yLngqdCx0aGlzLnkrPXIueSp0LHRoaXMueis9ci56KnQsdGhpc30saC5wcm90b3R5cGUuZG90PWZ1bmN0aW9uKHIpe3JldHVybiB0aGlzLngqci54K3RoaXMueSpyLnkrdGhpcy56KnIuen0saC5wcm90b3R5cGUuY3Jvc3M9ZnVuY3Rpb24ocil7dmFyIHQ9dGhpcy54LGE9dGhpcy55LG89dGhpcy56O3JldHVybiB0aGlzLng9YSpyLnotbypyLnksdGhpcy55PW8qci54LXQqci56LHRoaXMuej10KnIueS1hKnIueCx0aGlzfSxoLnByb3RvdHlwZS5jcm9zc1ZlY3RvcnM9ZnVuY3Rpb24ocix0KXt2YXIgYT1yLngsbz1yLnkscz1yLnosZT10Lngsdj10Lnksbj10Lno7cmV0dXJuIHRoaXMueD1vKm4tcyp2LHRoaXMueT1zKmUtYSpuLHRoaXMuej1hKnYtbyplLHRoaXN9LGgucHJvdG90eXBlLmRpc3RhbmNlVG89ZnVuY3Rpb24ocil7cmV0dXJuIE1hdGguc3FydCh0aGlzLmRpc3RhbmNlVG9TcXVhcmVkKHIpKX0saC5wcm90b3R5cGUuZGlzdGFuY2VUb1NxdWFyZWQ9ZnVuY3Rpb24ocil7dmFyIHQ9dGhpcy54LXIueCxhPXRoaXMueS1yLnksbz10aGlzLnotci56O3JldHVybiB0KnQrYSphK28qb30saC5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGgodGhpcy54LHRoaXMueSx0aGlzLnopfSxofSgpLHNyPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gaChyLHQsYSl7dGhpcy50cmlhbmdsZT1yLHRoaXMuaW50ZXJzZWN0aW9uUG9pbnQ9dCx0aGlzLmluZGV4PWF9cmV0dXJuIGh9KCksdXI9MWUtNix5cj1mdW5jdGlvbigpe2Z1bmN0aW9uIGgocix0KXtpZih0aGlzLnBvc2l0aW9uQXJyYXk9cix0KXRoaXMuaW5kaWNlc0FycmF5PXQ7ZWxzZXtmb3IodmFyIGE9ci5sZW5ndGgvMyxvPWE+NjU1MzU/bmV3IFVpbnQzMkFycmF5KGEpOm5ldyBVaW50MTZBcnJheShhKSxzPTA7czxhO3MrKylvW3NdPXM7dGhpcy5pbmRpY2VzQXJyYXk9b319cmV0dXJuIGgucHJvdG90eXBlLmNyZWF0ZVRyZWU9ZnVuY3Rpb24ocix0LGEpe3Q9TWF0aC5taW4odCwxNik7dmFyIG89dGhpcy5wb3NpdGlvbkFycmF5LHM9dGhpcy5pbmRpY2VzQXJyYXksZT1zLmxlbmd0aC8zLHY9ZT42NTUzNT9uZXcgVWludDMyQXJyYXkoZSk6bmV3IFVpbnQxNkFycmF5KGUpLG49bmV3IEZsb2F0MzJBcnJheShlKjYpLHk9W10sQT0wLHc9LTE7aWYoYSlmb3IodmFyIGw9MCx1PTAscD0wLGM9dm9pZCAwLGQ9dm9pZCAwLFU9dm9pZCAwLEk9dm9pZCAwLGY9dm9pZCAwLE49dm9pZCAwLGk9dm9pZCAwO2w8ZTtsKz0xLHUrPTMscCs9Nil2W2xdPWwsYz1JPW9bc1t1XSozXSxpPW9bc1t1KzFdKjNdLGk8YyYmKGM9aSksaT5JJiYoST1pKSxpPW9bc1t1KzJdKjNdLGk8YyYmKGM9aSksaT5JJiYoST1pKSxkPWY9b1tzW3VdKjMrMV0saT1vW3NbdSsxXSozKzFdLGk8ZCYmKGQ9aSksaT5mJiYoZj1pKSxpPW9bc1t1KzJdKjMrMV0saTxkJiYoZD1pKSxpPmYmJihmPWkpLFU9Tj1vW3NbdV0qMysyXSxpPW9bc1t1KzFdKjMrMl0saTxVJiYoVT1pKSxpPk4mJihOPWkpLGk9b1tzW3UrMl0qMysyXSxpPFUmJihVPWkpLGk+TiYmKE49aSksbltwXT1jLG5bcCsxXT1kLG5bcCsyXT1VLG5bcCszXT1JLG5bcCs0XT1mLG5bcCs1XT1OO2Vsc2V7Zm9yKHZhciB6PTEvMCxqPTEvMCxQPTEvMCxxPS0xLzAsRz0tMS8wLEo9LTEvMCxsPTAsdT0wLHA9MCxjPXZvaWQgMCxkPXZvaWQgMCxVPXZvaWQgMCxJPXZvaWQgMCxmPXZvaWQgMCxOPXZvaWQgMCxpPXZvaWQgMDtsPGU7bCs9MSx1Kz0zLHArPTYpdltsXT1sLGM9ST1vW3NbdV0qM10saT1vW3NbdSsxXSozXSxpPGMmJihjPWkpLGk+SSYmKEk9aSksaT1vW3NbdSsyXSozXSxpPGMmJihjPWkpLGk+SSYmKEk9aSksZD1mPW9bc1t1XSozKzFdLGk9b1tzW3UrMV0qMysxXSxpPGQmJihkPWkpLGk+ZiYmKGY9aSksaT1vW3NbdSsyXSozKzFdLGk8ZCYmKGQ9aSksaT5mJiYoZj1pKSxVPU49b1tzW3VdKjMrMl0saT1vW3NbdSsxXSozKzJdLGk8VSYmKFU9aSksaT5OJiYoTj1pKSxpPW9bc1t1KzJdKjMrMl0saTxVJiYoVT1pKSxpPk4mJihOPWkpLG5bcF09YyxuW3ArMV09ZCxuW3ArMl09VSxuW3ArM109SSxuW3ArNF09ZixuW3ArNV09TixjPHomJih6PWMpLEk+cSYmKHE9SSksZDxqJiYoaj1kKSxmPkcmJihHPWYpLFU8UCYmKFA9VSksTj5KJiYoSj1OKTthPVt6LGosUCxxLEcsSl19dmFyIFM9bmV3IFgoKyt3LGEsMCxlLDApO3lbQSsrXT1TO3ZhciBWPVtdLE09WzAsMSwyXSxUPWZ1bmN0aW9uKEIsRil7cmV0dXJuIFZbRl0tVltCXX07ZnVuY3Rpb24gSChCKXt2YXIgRj1CLnN0YXJ0SW5kZXgsQz1CLmVuZEluZGV4LCQ9Qi5leHRlbnRzO1ZbMF09JFszXS0kWzBdLFZbMV09JFs0XS0kWzFdLFZbMl09JFs1XS0kWzJdLE0uc29ydChUKTtmb3IodmFyIEw9MDtMPDM7TCsrKXtmb3IodmFyIFc9TVtMXSxRPSRbV10rJFtXKzNdLGs9RixfPUMtMSxLPS0xLEU9dm9pZCAwO2s8PV87KUs9PT0tMT8oRT12W2tdLG5bRSo2K1ddK25bRSo2K1crM108UT9rKys6Sz1FKTooRT12W19dLG5bRSo2K1ddK25bRSo2K1crM10+PVF8fCh2W2tdPUUsdltfXT1LLEs9LTEsaysrKSxfLS0pO2lmKGs+RiYmazxDKXt2YXIgeD1uZXcgWCgrK3csaHIodixuLEYsayx1ciksRixrLEIuZGVlcHRoKzEpO3guZGVlcHRoPHQmJnguZW5kSW5kZXgteC5zdGFydEluZGV4PnImJih5W0ErK109eCk7dmFyIFk9bmV3IFgoKyt3LGhyKHYsbixrLEMsdXIpLGssQyxCLmRlZXB0aCsxKTtZLmRlZXB0aDx0JiZZLmVuZEluZGV4LVkuc3RhcnRJbmRleD5yJiYoeVtBKytdPVkpLEIubm9kZTA9eCxCLm5vZGUxPVksQi5zdGFydEluZGV4PTAsQi5lbmRJbmRleD0wO2JyZWFrfX19Zm9yKDtBOylIKHlbLS1BXSk7cmV0dXJuIHRoaXMub2Zmc2V0QXJyYXk9dix0aGlzLnJvb3ROb2RlUGFja2VkPW5yKFMsdysxKSx5Lmxlbmd0aD0wLHRoaXN9LGgucHJvdG90eXBlLnRyaWFuZ2xlc0luU3BoZXJlPWZ1bmN0aW9uKHIsdCl7Zm9yKHZhciBhPXRoaXMucG9zaXRpb25BcnJheSxvPXRoaXMuaW5kaWNlc0FycmF5LHM9dGhpcy5vZmZzZXRBcnJheSxlPXRoaXMucm9vdE5vZGVQYWNrZWQsdj1uZXcgRmxvYXQzMkFycmF5KGUpLG49bmV3IFVpbnQzMkFycmF5KGUpLHk9bmV3IFVpbnQxNkFycmF5KGUpLEE9WzBdLHc9W10sbCx1LHAsYzsobD1BLnBvcCgpKSE9PXZvaWQgMDspe2M9bCpSLzQ7dmFyIGQ9cnIoci54LHZbY10sdltjKzNdKS1yLngsVT1ycihyLnksdltjKzFdLHZbYys0XSktci55LEk9cnIoci56LHZbYysyXSx2W2MrNV0pLXIuejtpZihkKmQrVSpVK0kqSTw9dCp0KXtmb3IodmFyIGY9bltjKzZdO2Y8bltjKzddO2YrKyl3LnB1c2goc1tmXSk7Yz1sKlIvMix1PXlbYysxNl0scD15W2MrMTddLHUmJkEucHVzaCh1KSxwJiZBLnB1c2gocCl9fWZvcih2YXIgTj13Lmxlbmd0aCxpPW5ldyBGbG9hdDMyQXJyYXkoTio5KSxmPTA7ZjxOO2YrKyl7dmFyIHo9d1tmXTtpW2YqOV09YVtvW3pdKjNdLGlbZio5KzFdPWFbb1t6XSozKzFdLGlbZio5KzJdPWFbb1t6XSozKzJdLGlbZio5KzNdPWFbb1t6KzFdKjNdLGlbZio5KzRdPWFbb1t6KzFdKjMrMV0saVtmKjkrNV09YVtvW3orMV0qMysyXSxpW2YqOSs2XT1hW29beisyXSozXSxpW2YqOSs3XT1hW29beisyXSozKzFdLGlbZio5KzhdPWFbb1t6KzJdKjMrMl19cmV0dXJuIGl9LGgucHJvdG90eXBlLmludGVyc2VjdFJheT1mdW5jdGlvbihyLHQsYSl7Zm9yKHZhciBvPXRoaXMucG9zaXRpb25BcnJheSxzPXRoaXMuaW5kaWNlc0FycmF5LGU9dGhpcy5vZmZzZXRBcnJheSx2PXRoaXMucm9vdE5vZGVQYWNrZWQsbj1uZXcgRmxvYXQzMkFycmF5KHYpLHk9bmV3IFVpbnQzMkFycmF5KHYpLEE9bmV3IFVpbnQxNkFycmF5KHYpLHc9bmV3IHZyKDEvdC54LDEvdC55LDEvdC56KSxsPVswXSx1LHAsYyxkOyh1PWwucG9wKCkpIT09dm9pZCAwOylpZihkPXUqUi80LGFyKHIsdyxuW2RdLG5bZCsxXSxuW2QrMl0sbltkKzNdLG5bZCs0XSxuW2QrNV0pKXtmb3IodmFyIFU9eVtkKzZdLEk9eVtkKzddLGY9dm9pZCAwLE49dm9pZCAwLGk9dm9pZCAwLHo9ci54LGo9ci55LFA9ci56LHE9dC54LEc9dC55LEo9dC56LFM9dm9pZCAwLFY9dm9pZCAwLE09dm9pZCAwLFQ9dm9pZCAwLEg9dm9pZCAwLEI9dm9pZCAwLEY9dm9pZCAwLEM9dm9pZCAwLCQ9dm9pZCAwLEw9dm9pZCAwLFc9dm9pZCAwLFE9dm9pZCAwLGs9dm9pZCAwLF89dm9pZCAwLEs9dm9pZCAwLEU9dm9pZCAwLHg9dm9pZCAwLFk9dm9pZCAwLFo9dm9pZCAwLGI9dm9pZCAwLGc9dm9pZCAwLE89dm9pZCAwLEQ9dm9pZCAwLGlyPXZvaWQgMCx0cj12b2lkIDAsb3I9dm9pZCAwLG09dm9pZCAwO1U8STtVKyspe2lmKGY9ZVtVXSxOPWYqMyxpPXNbTl0qMyxTPW9baV0sVj1vWysraV0sTT1vWysraV0saT1zW04rMV0qMyxUPW9baV0sSD1vWysraV0sQj1vWysraV0saT1zW04rMl0qMyxGPW9baV0sQz1vWysraV0sJD1vWysraV0sTD1ULVMsVz1ILVYsUT1CLU0saz1GLVMsXz1DLVYsSz0kLU0sRT1XKkstUSpfLHg9USprLUwqSyxZPUwqXy1XKmssRD1xKkUrRyp4K0oqWSxEPjApTz0xO2Vsc2UgaWYoRDwwKU89LTEsRD0tRDtlbHNlIGNvbnRpbnVlO1o9ei1TLGI9ai1WLGc9UC1NLGlyPU8qKHEqKGIqSy1nKl8pK0cqKGcqay1aKkspK0oqKFoqXy1iKmspKSwhKGlyPDApJiYodHI9TyoocSooVypnLVEqYikrRyooUSpaLUwqZykrSiooTCpiLVcqWikpLCEodHI8MCkmJihpcit0cj5EfHwob3I9LU8qKFoqRStiKngrZypZKSwhKG9yPDApJiYobT1vci9ELGEucHVzaChuZXcgc3IoW1MsVixNLFQsSCxCLEYsQywkXSxbeitxKm0saitHKm0sUCtKKm1dLGYpKSkpKSl9ZD11KlIvMixwPUFbZCsxNl0sYz1BW2QrMTddLHAmJmwucHVzaChwKSxjJiZsLnB1c2goYyl9cmV0dXJuIGF9LGh9KCk7ZnVuY3Rpb24gcnIoaCxyLHQpe3JldHVybiBoPHI/cjpoPnQ/dDpofWZ1bmN0aW9uIGhyKGgscix0LGEsbyl7aWYodD49YSlyZXR1cm5bMCwwLDAsMCwwLDBdO2Zvcih2YXIgcz0xLzAsZT0xLzAsdj0xLzAsbj0tMS8wLHk9LTEvMCxBPS0xLzAsdz10LGw9dm9pZCAwLHU9dm9pZCAwO3c8YTt3KyspbD1oW3ddKjYsdT1yW2xdLHU8cyYmKHM9dSksdT1yW2wrMV0sdTxlJiYoZT11KSx1PXJbbCsyXSx1PHYmJih2PXUpLHU9cltsKzNdLHU+biYmKG49dSksdT1yW2wrNF0sdT55JiYoeT11KSx1PXJbbCs1XSx1PkEmJihBPXUpO3JldHVybltzLW8sZS1vLHYtbyxuK28seStvLEErb119dmFyIGVyPTFlLTYsZnI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBoKHIsdCl7dGhpcy5wb3NpdGlvbkFycmF5PXIsdGhpcy5pbmRpY2VzQXJyYXk9dH1yZXR1cm4gaC5wcm90b3R5cGUuY3JlYXRlVHJlZT1mdW5jdGlvbihyLHQsYSl7dD1NYXRoLm1pbih0LDE2KTt2YXIgbz10aGlzLnBvc2l0aW9uQXJyYXkscz10aGlzLmluZGljZXNBcnJheSxlPXM/cy5sZW5ndGg6by5sZW5ndGgvMyx2PWU+NjU1MzU/bmV3IFVpbnQzMkFycmF5KGUpOm5ldyBVaW50MTZBcnJheShlKSxuPVtdLHk9MCxBPS0xO2lmKGEpZm9yKHZhciB3PTA7dzxlO3crPTEpdlt3XT13O2Vsc2V7Zm9yKHZhciBsPXM/c1swXSozOjAsdT1vW2xdLHA9b1tsKzFdLGM9b1tsKzJdLGQ9dSxVPXAsST1jLHc9MCxmPTAsTj12b2lkIDAsaT12b2lkIDAsej12b2lkIDA7dzxlO3crPTEsZis9Myl2W3ddPXcsbD0ocz9zW2ZdOmYpKjMsTj1vW2xdLGk9b1tsKzFdLHo9b1tsKzJdLE48dT91PU46Tj5kJiYoZD1OKSxpPHA/cD1pOmk+VSYmKFU9aSksejxjP2M9ejp6PkkmJihJPXopO2E9W3UscCxjLGQsVSxJXX12YXIgaj1uZXcgWCgrK0EsYSwwLGUsMCk7blt5KytdPWo7dmFyIFA9W10scT1bMCwxLDJdLEc9ZnVuY3Rpb24oUyxWKXtyZXR1cm4gUFtWXS1QW1NdfTtmdW5jdGlvbiBKKFMpe3ZhciBWPVMuc3RhcnRJbmRleCxNPVMuZW5kSW5kZXgsVD1TLmV4dGVudHM7UFswXT1UWzNdLVRbMF0sUFsxXT1UWzRdLVRbMV0sUFsyXT1UWzVdLVRbMl07Zm9yKHZhciBIPXEuc29ydChHKVswXSxCPShUW0hdK1RbSCszXSkvMixGPVYsQz1NLTEsJD0tMSxMLFc7Rjw9QzspJD09PS0xPyhMPXZbRl0sVz0ocz9zW0xdOkwpKjMsb1tXK0hdPEI/RisrOiQ9TCk6KEw9dltDXSxXPShzP3NbTF06TCkqMyxvW1crSF0+PUJ8fCh2W0ZdPUwsdltDXT0kLCQ9LTEsRisrKSxDLS0pO2lmKEY+Vil7dmFyIFE9VC5zbGljZSgpO1FbSCszXT1CK2VyO3ZhciBrPW5ldyBYKCsrQSxRLFYsRixTLmRlZXB0aCsxKTtrLmRlZXB0aDx0JiZrLmVuZEluZGV4LWsuc3RhcnRJbmRleD5yJiYoblt5KytdPWspLFMubm9kZTA9a31pZihNPkYpe3ZhciBfPVQuc2xpY2UoKTtfW0hdPUItZXI7dmFyIEs9bmV3IFgoKytBLF8sRixNLFMuZGVlcHRoKzEpO0suZGVlcHRoPHQmJksuZW5kSW5kZXgtSy5zdGFydEluZGV4PnImJihuW3krK109SyksUy5ub2RlMT1LfVMuc3RhcnRJbmRleD0wLFMuZW5kSW5kZXg9MH1mb3IoO3k7KUooblstLXldKTtyZXR1cm4gdGhpcy5vZmZzZXRBcnJheT12LHRoaXMucm9vdE5vZGVQYWNrZWQ9bnIoaixBKzEpLG4ubGVuZ3RoPTAsdGhpc30saC5wcm90b3R5cGUuaW50ZXJzZWN0UmF5PWZ1bmN0aW9uKHIsdCxhLG8pe2Zvcih2YXIgcz10aGlzLnBvc2l0aW9uQXJyYXksZT10aGlzLmluZGljZXNBcnJheSx2PXRoaXMub2Zmc2V0QXJyYXksbj10aGlzLnJvb3ROb2RlUGFja2VkLHk9bmV3IEZsb2F0MzJBcnJheShuKSxBPW5ldyBVaW50MzJBcnJheShuKSx3PW5ldyBVaW50MTZBcnJheShuKSxsPWEqYSx1PW5ldyB2cigxL3QueCwxL3QueSwxL3QueikscD1bMF0sYyxkLFUsSTsoYz1wLnBvcCgpKSE9PXZvaWQgMDspaWYoST1jKlIvNCxhcihyLHUseVtJXSx5W0krMV0seVtJKzJdLHlbSSszXSx5W0krNF0seVtJKzVdLGEpKXtmb3IodmFyIGY9QVtJKzZdLE49QVtJKzddLGk9dm9pZCAwLHo9dm9pZCAwLGo9dm9pZCAwLFA9dm9pZCAwLHE9dm9pZCAwLEc9dm9pZCAwLEo9dm9pZCAwLFM9dm9pZCAwLFY9dm9pZCAwLE09dm9pZCAwLFQ9dm9pZCAwLEg9dm9pZCAwLEI9dm9pZCAwO2Y8TjtmKyspaT12W2ZdLHo9KGU/ZVtpXTppKSozLGo9c1t6XSxQPXNbKyt6XSxxPXNbKyt6XSxHPXIueCxKPXIueSxTPXIueixWPXQueCxNPXQueSxUPXQueixIPVYqKGotRykrTSooUC1KKStUKihxLVMpLEg+MCYmKEcrPVYqSCxKKz1NKkgsUys9VCpIKSxWPWotRyxNPVAtSixUPXEtUyxIPVYqVitNKk0rVCpULEg8PWwmJm8ucHVzaChuZXcgc3IoW2osUCxxLGosUCxxLGosUCxxXSxbRyxKLFNdLGkpKTtJPWMqUi8yLGQ9d1tJKzE2XSxVPXdbSSsxN10sZCYmcC5wdXNoKGQpLFUmJnAucHVzaChVKX1yZXR1cm4gb30saH0oKTtmdW5jdGlvbiBBcihoKXtvbm1lc3NhZ2U9ZnVuY3Rpb24ocil7UHJvbWlzZS5yZXNvbHZlKHIuZGF0YSkudGhlbihmdW5jdGlvbih0KXtyZXR1cm4gaCh0KX0pLnRoZW4oZnVuY3Rpb24odCl7dmFyIGE9dC5vdXRwdXQsbz10LnRyYW5zZmVyO3JldHVybiBwb3N0TWVzc2FnZShhLG8pfSkuY2F0Y2goZnVuY3Rpb24odCl7cmV0dXJuIHBvc3RNZXNzYWdlKHskJGVycm9yOnR9KX0pfX1BcihmdW5jdGlvbihoKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGgpLnRoZW4oZnVuY3Rpb24ocil7Zm9yKHZhciB0PVtdLGE9W10sbz0wLHM9cjtvPHMubGVuZ3RoO28rKyl7dmFyIGU9c1tvXSx2PXZvaWQgMDtpZihlLnR5cGU9PT0ibWVzaCIpdj1uZXcgeXIoZS5wb3NpdGlvbkFycmF5LGUuaW5kaWNlc0FycmF5KTtlbHNlIGlmKGUudHlwZT09PSJwb2ludHMiKXY9bmV3IGZyKGUucG9zaXRpb25BcnJheSxlLmluZGljZXNBcnJheSk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgVHlwZSIpO3YuY3JlYXRlVHJlZShlLm1heEl0ZW1QZXJOb2RlLGUubWF4VHJlZURlcHRoLGUuZXh0ZW50cyk7dmFyIG49e29mZnNldEFycmF5OnYub2Zmc2V0QXJyYXksaW5kaWNlc0FycmF5OnYuaW5kaWNlc0FycmF5LHBvc2l0aW9uQXJyYXk6di5wb3NpdGlvbkFycmF5LHJvb3ROb2RlUGFja2VkOnYucm9vdE5vZGVQYWNrZWR9O3QucHVzaChuKTtmb3IodmFyIHkgaW4gbil7dmFyIEE9blt5XTtBJiYoQSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyP2EuaW5kZXhPZihBKT09PS0xJiZhLnB1c2goQSk6QS5idWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciYmYS5pbmRleE9mKEEuYnVmZmVyKT09LTEmJmEucHVzaChBLmJ1ZmZlcikpfX1yZXR1cm57b3V0cHV0OnQsdHJhbnNmZXI6YX19KX0pfSkoKTsK",blob$2=typeof window!="undefined"&&window.Blob&&new Blob([atob(encodedJs$1)],{type:"text/javascript;charset=utf-8"});function WorkerWrapper$1(n){let t;try{if(t=blob$2&&(window.URL||window.webkitURL).createObjectURL(blob$2),!t)throw"";const e=new Worker(t,{name:n==null?void 0:n.name});return e.addEventListener("error",()=>{(window.URL||window.webkitURL).revokeObjectURL(t)}),e}catch(e){return new Worker("data:application/javascript;base64,"+encodedJs$1,{name:n==null?void 0:n.name})}finally{t&&(window.URL||window.webkitURL).revokeObjectURL(t)}}var WorkerPool$1=function(){function n(t,e){this.pool=e,this.workerCreator=t,this.queue=[],this.workers=[],this.workersResolver=[],this.workerStatus=0}return n.prototype.initWorker=function(t){if(this.workerCreator&&!this.workers[t]){var e=this.workerCreator();e.addEventListener("message",this.onMessage.bind(this,t)),this.workers[t]=e}},n.prototype.getIdleWorker=function(){for(var t=0;t<this.pool;t++)if(!(this.workerStatus&1<<t))return t;return-1},n.prototype.onMessage=function(t,e){var r=this.workersResolver[t],i=r.resolve,o=r.reject;if(e.data&&"$$error"in e.data?o(e.data.$$error):i(e.data),this.queue.length){var s=this.queue.shift(),u=s.resolve,c=s.reject,l=s.input,d=s.transfer;this.workersResolver[t]={resolve:u,reject:c},this.workers[t].postMessage(l,d)}else this.workerStatus^=1<<t},n.prototype.postMessage=function(t,e){var r=this;return e===void 0&&(e=[]),new Promise(function(i,o){var s=r.getIdleWorker();s!==-1?(r.initWorker(s),r.workerStatus|=1<<s,r.workersResolver[s]={resolve:i,reject:o},r.workers[s].postMessage(t,e)):r.queue.push({resolve:i,reject:o,input:t,transfer:e})})},n.prototype.dispose=function(){this.workers.forEach(function(t){return t.terminate()}),this.workersResolver.length=0,this.workers.length=0,this.queue.length=0,this.workerStatus=0},n}(),bvhWorkerPool=new WorkerPool$1(function(){return new WorkerWrapper$1},4),bvhMeshMap=new Map,bvhPointsMap=new Map,scratchRay=new THREE__namespace.Ray,scratchNormalMatrix=new THREE__namespace.Matrix3,scratchInverseMatrix=new THREE__namespace.Matrix4,scratchIntersectionFaceA$1=new THREE__namespace.Vector3,scratchIntersectionFaceB$1=new THREE__namespace.Vector3,scratchIntersectionFaceC$1=new THREE__namespace.Vector3,scratchIntersectionTriangle=new THREE__namespace.Triangle;function raycastMesh(n,t,e,r){var i,o=n.matrixWorld;scratchInverseMatrix.getInverse(o),scratchRay.copy(e.ray).applyMatrix4(scratchInverseMatrix);for(var s=t.intersectRay(scratchRay.origin,scratchRay.direction,[]),u=n.geometry,c=n.material,l=u.groups,d=u.index,f=0,m=s.length;f<m;f++){var p=s[f],A=p.triangle,v=p.index,g=p.intersectionPoint,h=new THREE__namespace.Vector3(g[0],g[1],g[2]).applyMatrix4(o),y=e.ray.origin.distanceTo(h);if(!(y<e.near||y>e.far)){var b=void 0;if(Array.isArray(c)){if(l)for(var E=v*3,T=0,x=l;T<x.length;T++){var _=x[T];if(E>=_.start&&E-_.start<_.count){b=c[(i=_.materialIndex)!==null&&i!==void 0?i:0];break}}}else b=c;if(b){var w=scratchIntersectionTriangle.set(scratchIntersectionFaceA$1.set(A[0],A[1],A[2]).applyMatrix4(o),scratchIntersectionFaceB$1.set(A[3],A[4],A[5]).applyMatrix4(o),scratchIntersectionFaceC$1.set(A[6],A[7],A[8]).applyMatrix4(o)).getNormal(new THREE__namespace.Vector3),S=v*3,M=new THREE__namespace.Face3(d?d.array[S]:S,d?d.array[S+1]:S+1,d?d.array[S+2]:S+2,w),C=e.ray.direction.dot(w);b.side===THREE__namespace.FrontSide&&C>=0||b.side===THREE__namespace.BackSide&&C<=0||r.push({distance:y,object:n,face:M,point:h,distanceToRay:0,faceIndex:v})}}}}function raycastPoints(n,t,e,r){var i,o,s=n.matrixWorld;scratchNormalMatrix.getNormalMatrix(s),scratchInverseMatrix.getInverse(s);var u=((o=(i=e.params.Points)===null||i===void 0?void 0:i.threshold)!==null&&o!==void 0?o:1)*scratchInverseMatrix.getMaxScaleOnAxis();scratchRay.copy(e.ray).applyMatrix4(scratchInverseMatrix);for(var c=t.intersectRay(scratchRay.origin,scratchRay.direction,u,[]),l=n.geometry,d=l.index,f=l.getAttribute("normal"),m=0,p=c.length;m<p;m++){var A=c[m],v=A.triangle,g=A.index,h=A.intersectionPoint,y=new THREE__namespace.Vector3(h[0],h[1],h[2]).applyMatrix4(s),b=e.ray.origin.distanceTo(y);if(!(b<e.near||b>e.far)){var E=scratchIntersectionFaceA$1.set(v[0],v[1],v[2]).applyMatrix4(s),T=d?d.array[g]:g,x=void 0;f instanceof THREE__namespace.BufferAttribute&&(x=new THREE__namespace.Vector3().fromBufferAttribute(f,T).applyNormalMatrix(scratchNormalMatrix));var _=new THREE__namespace.Face3(T,T,T,x);r.push({distance:b,object:n,face:_,point:y,distanceToRay:y.distanceTo(E),index:g})}}}function bindBvhTreeForMesh(n,t){var e=n.raycast,r=function(i,o){var s=bvhMeshMap.get(this);s?raycastMesh(this,s,i,o):e.call(this,i,o)};return n.raycast=r,bvhMeshMap.set(n,t),function(){bvhMeshMap.delete(n),n.raycast===r&&(n.raycast=e)}}function bindBvhTreeForPoints(n,t){var e=n.raycast,r=function(i,o){var s=bvhPointsMap.get(this);s?raycastPoints(this,s,i,o):e.call(this,i,o)};return n.raycast=r,bvhPointsMap.set(n,t),function(){bvhPointsMap.delete(n),n.raycast===r&&(n.raycast=e)}}function generateBvhTree(n,t,e,r){t===void 0&&(t=!0),e===void 0&&(e=100),r===void 0&&(r=10);var i=[];return n.traverse(function(o){if((o instanceof THREE__namespace.Mesh||o instanceof THREE__namespace.Points)&&o.geometry instanceof THREE__namespace.BufferGeometry){var s=o.geometry.getAttribute("position");s instanceof THREE__namespace.BufferAttribute&&i.push(o)}}),t?Promise.resolve().then(function(){for(var o,s,u=[],c=[],l=0;l<i.length;l++){var d=i[l];if(d instanceof THREE__namespace.Mesh){if(d.geometry instanceof THREE__namespace.BufferGeometry){var f=d.geometry.getAttribute("position");if(f instanceof THREE__namespace.BufferAttribute){var m=f.array,p=(o=d.geometry.getIndex())===null||o===void 0?void 0:o.array,A=d.geometry.boundingBox,v=A?[A.min.x,A.min.y,A.min.z,A.max.x,A.max.y,A.max.z]:void 0,g={type:"mesh",positionArray:m,indicesArray:p,maxItemPerNode:e,maxTreeDepth:r,extents:v};u.push(g);for(var h in g){var y=g[h];y&&(y instanceof ArrayBuffer?c.indexOf(y)===-1&&c.push(y):y.buffer instanceof ArrayBuffer&&c.indexOf(y.buffer)===-1&&c.push(y.buffer))}}}}else if(d instanceof THREE__namespace.Points&&d.geometry instanceof THREE__namespace.BufferGeometry){var f=d.geometry.getAttribute("position");if(f instanceof THREE__namespace.BufferAttribute){var m=f.array,p=(s=d.geometry.getIndex())===null||s===void 0?void 0:s.array,A=d.geometry.boundingBox,v=A?[A.min.x,A.min.y,A.min.z,A.max.x,A.max.y,A.max.z]:void 0,g={type:"points",positionArray:m,indicesArray:p,maxItemPerNode:e,maxTreeDepth:r,extents:v};u.push(g);for(var b in g){var y=g[b];y&&(y instanceof ArrayBuffer?c.indexOf(y)===-1&&c.push(y):y.buffer instanceof ArrayBuffer&&c.indexOf(y.buffer)===-1&&c.push(y.buffer))}}}}return bvhWorkerPool.postMessage(u,c)}).then(function(o){for(var s=[],u=0;u<i.length;u++){var c=i[u],l=o[u];if(c instanceof THREE__namespace.Mesh){if(c.geometry instanceof THREE__namespace.BufferGeometry){var d=c.geometry.getAttribute("position");if(d instanceof THREE__namespace.BufferAttribute){d.array=l.positionArray;var f=c.geometry.getIndex();f&&l.indicesArray&&(f.array=l.indicesArray);var m=new BVHMesh(l.positionArray,l.indicesArray);m.offsetArray=l.offsetArray,m.rootNodePacked=l.rootNodePacked;var p=bindBvhTreeForMesh(c,m);s.push(p)}}}else if(c instanceof THREE__namespace.Points&&c.geometry instanceof THREE__namespace.BufferGeometry){var d=c.geometry.getAttribute("position");if(d instanceof THREE__namespace.BufferAttribute){d.array=l.positionArray;var f=c.geometry.getIndex();f&&l.indicesArray&&(f.array=l.indicesArray);var m=new BVHPoints(l.positionArray,l.indicesArray);m.offsetArray=l.offsetArray,m.rootNodePacked=l.rootNodePacked;var p=bindBvhTreeForPoints(c,m);s.push(p)}}}return function(){for(var A=0,v=s;A<v.length;A++){var g=v[A];g()}s.length=0}}):Promise.resolve().then(function(){for(var o,s,u=[],c=0,l=i;c<l.length;c++){var d=l[c];if(d instanceof THREE__namespace.Mesh){if(d.geometry instanceof THREE__namespace.BufferGeometry){var f=d.geometry.getAttribute("position");if(f instanceof THREE__namespace.BufferAttribute){var m=f.array,p=(o=d.geometry.getIndex())===null||o===void 0?void 0:o.array,A=d.geometry.boundingBox,v=A?[A.min.x,A.min.y,A.min.z,A.max.x,A.max.y,A.max.z]:void 0,g=new BVHMesh(m,p);g.createTree(e,r,v);var h=bindBvhTreeForMesh(d,g);u.push(h)}}}else if(d instanceof THREE__namespace.Points&&d.geometry instanceof THREE__namespace.BufferGeometry){var f=d.geometry.getAttribute("position");if(f instanceof THREE__namespace.BufferAttribute){var m=f.array,p=(s=d.geometry.getIndex())===null||s===void 0?void 0:s.array,A=d.geometry.boundingBox,v=A?[A.min.x,A.min.y,A.min.z,A.max.x,A.max.y,A.max.z]:void 0,g=new BVHPoints(m,p);g.createTree(e,r,v);var h=bindBvhTreeForPoints(d,g);u.push(h)}}}return function(){for(var y=0,b=u;y<b.length;y++){var E=b[y];E()}u.length=0}})}var scratchIntersectionFaceA=new THREE__namespace.Vector3,scratchIntersectionFaceB=new THREE__namespace.Vector3,scratchIntersectionFaceC=new THREE__namespace.Vector3,TileNode=function(n){__extends(t,n);function t(e,r){var i=n.call(this)||this;return i.renderOrder=-4,i.disposers=[r],i.add(e),i}return t.prototype.generateBvhTree=function(){var e=this;return generateBvhTree(this,!0,200,10).then(function(r){e.disposers.push(r)})},t.prototype.intersectRaycaster=function(e,r,i){var o=this;r===void 0&&(r=!0),i===void 0&&(i=[]);for(var s=this.children.slice(),u;u=s.pop();)if(u.visible){u.raycast(e,i);for(var c=0,l=u.children.length;c<l;c++)s.push(u.children[c])}return i.forEach(function(d){var f,m,p=0;if((d.object instanceof PBMMesh||d.object instanceof PBMPointCloud)&&d.face){var A=Array.isArray(d.object.material)?d.object.material[d.face.materialIndex]:d.object.material;if(A)if(A.defines.USE_VERTEX_FLOOR){var v=(f=d.object.geometry.attributes.position)===null||f===void 0?void 0:f.array,g=(m=d.object.geometry.attributes.floor)===null||m===void 0?void 0:m.array;if(v&&g){var h=scratchIntersectionFaceA.set(v[d.face.a*3],v[d.face.a*3+1],v[d.face.a*3+2]).applyMatrix4(o.matrixWorld),y=scratchIntersectionFaceB.set(v[d.face.b*3],v[d.face.b*3+1],v[d.face.b*3+2]).applyMatrix4(o.matrixWorld),b=scratchIntersectionFaceC.set(v[d.face.c*3],v[d.face.c*3+1],v[d.face.c*3+2]).applyMatrix4(o.matrixWorld),E=d.point.distanceTo(h),T=d.point.distanceTo(y),x=d.point.distanceTo(b);p=Math.round((E*g[d.face.a]+T*g[d.face.b]+x*g[d.face.c])/(E+T+x))}}else p=A.floor}d.floor=p}),r&&i.sort(function(d,f){return d.distance-f.distance}),i},t.prototype.dispose=function(){for(var e=0,r=this.disposers;e<r.length;e++){var i=r[e];i()}this.disposers.length=0},t}(THREE__namespace.Group);function pathJoin(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e=[];n=n.map(function(u){return(u!=null?u:"").trim()}).filter(function(u){return u.length>0&&!/^\/+$/.test(u)});for(var r=0;r<n.length;r++){var i=r===0,o=r===n.length-1,s=n[r];i||(s=s.replace(/^\.\//,"").replace(/^\/+/,"")),o||(s=s.replace(/\/+$/,"")),e.push(s)}return e.join("/")}function isAbsoluteURL(n){return n.indexOf("//")===0||/^[0-9a-z]+\:/i.test(n)}function normalizeTileHeader(n,t){if(n.content&&n.content.uri&&(isAbsoluteURL(n.content.uri)||(n.content.uri=pathJoin(t,n.content.uri))),n.children)for(var e=0,r=n.children;e<r.length;e++){var i=r[e];normalizeTileHeader(i,t)}return n}function normalizeTilesetHeader(n,t){return n.asset.overview&&(isAbsoluteURL(n.asset.overview.imageFile)||(n.asset.overview.imageFile=pathJoin(t,n.asset.overview.imageFile)),isAbsoluteURL(n.asset.overview.worldFile)||(n.asset.overview.worldFile=pathJoin(t,n.asset.overview.worldFile))),normalizeTileHeader(n.root,t),n}function appendSearch(n,t){return(t[0]==="?"||t[0]==="&")&&(t=t.slice(1)),t?((n[n.length-1]==="?"||n[n.length-1]==="&")&&(n=n.slice(0,-1)),n.indexOf("?")>=0?"".concat(n,"&").concat(t):"".concat(n,"?").concat(t)):n}var SIZEOF_UINT32$1=4;function parseHeader(n,t,e){var r=new DataView(t);if(n.magic=r.getUint32(e,!0),e+=SIZEOF_UINT32$1,n.version=r.getUint32(e,!0),e+=SIZEOF_UINT32$1,n.byteLength=r.getUint32(e,!0),e+=SIZEOF_UINT32$1,n.version!==1)throw new Error("3D Tile Version ".concat(n.version," not supported"));return e}var _a$2,GL_TYPE;(function(n){n[n.BYTE=5120]="BYTE",n[n.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",n[n.SHORT=5122]="SHORT",n[n.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",n[n.INT=5124]="INT",n[n.UNSIGNED_INT=5125]="UNSIGNED_INT",n[n.FLOAT=5126]="FLOAT",n[n.DOUBLE=5130]="DOUBLE"})(GL_TYPE||(GL_TYPE={}));var GL_TYPE_TO_ARRAY_TYPE=(_a$2={},_a$2[GL_TYPE.DOUBLE]=Float64Array,_a$2[GL_TYPE.FLOAT]=Float32Array,_a$2[GL_TYPE.UNSIGNED_SHORT]=Uint16Array,_a$2[GL_TYPE.UNSIGNED_INT]=Uint32Array,_a$2[GL_TYPE.UNSIGNED_BYTE]=Uint8Array,_a$2[GL_TYPE.BYTE]=Int8Array,_a$2[GL_TYPE.SHORT]=Int16Array,_a$2[GL_TYPE.INT]=Int32Array,_a$2),NAME_TO_GL_TYPE={DOUBLE:GL_TYPE.DOUBLE,FLOAT:GL_TYPE.FLOAT,UNSIGNED_SHORT:GL_TYPE.UNSIGNED_SHORT,UNSIGNED_INT:GL_TYPE.UNSIGNED_INT,UNSIGNED_BYTE:GL_TYPE.UNSIGNED_BYTE,BYTE:GL_TYPE.BYTE,SHORT:GL_TYPE.SHORT,INT:GL_TYPE.INT};function getArrayType(n){var t=GL_TYPE_TO_ARRAY_TYPE[n];if(!t)throw new Error("Failed to convert GL type");return t}function getByteSize(n){var t=getArrayType(n);return t.BYTES_PER_ELEMENT}function createTypedArray(n,t,e,r){e===void 0&&(e=0);var i=getArrayType(n);if(e%getByteSize(n)!==0){var o=r?t.slice(e,e+r*getByteSize(n)):t.slice(e);return new i(o)}else return new i(t,e,r!=null?r:(t.byteLength-e)/getByteSize(n))}function glTypeFromName(n){var t=NAME_TO_GL_TYPE[n];if(!t)throw new Error("Failed to convert GL type");return t}var FeatureTable=function(){function n(t,e){this.featuresLength=0,this.cachedTypedArrays={},this.json=t,this.buffer=e;var r=this.getGlobalProperty("POINTS_LENGTH",GL_TYPE.UNSIGNED_INT,1);r&&r.length&&(this.featuresLength=r[0])}return n.prototype.getExtension=function(t){return this.json.extensions&&this.json.extensions[t]},n.prototype.hasProperty=function(t){return!!this.json[t]},n.prototype.getGlobalProperty=function(t,e,r){var i=this.json[t];if(typeof i=="number"){var o=getArrayType(e);return new o([i])}else if(Array.isArray(i)){var o=getArrayType(e);return new o(i)}else if(i&&Number.isFinite(i.byteOffset))return this.getTypedArrayFromBinary(t,e,r,1,i.byteOffset);return null},n.prototype.getPropertyArray=function(t,e,r){var i=this.json[t];return i&&Number.isFinite(i.byteOffset)?("componentType"in i&&(e=glTypeFromName(i.componentType)),this.getTypedArrayFromBinary(t,e,r,this.featuresLength,i.byteOffset)):this.getTypedArrayFromArray(t,e,i)},n.prototype.getProperty=function(t,e,r,i,o){var s=this.json[t];if(!s)return null;var u=this.getPropertyArray(t,e,r);if(r===1)return o[0]=u[i],o;for(var c=0;c<r;++c)o[c]=u[r*i+c];return o},n.prototype.getTypedArrayFromBinary=function(t,e,r,i,o){var s=this.cachedTypedArrays,u=s[t];return u||(u=createTypedArray(e,this.buffer.buffer,this.buffer.byteOffset+o,i*r),s[t]=u),u},n.prototype.getTypedArrayFromArray=function(t,e,r){var i=this.cachedTypedArrays,o=i[t];return o||(o=createTypedArray(e,r),i[t]=o),o},n}(),SIZEOF_UINT32=4,DEPRECATION_WARNING="b3dm tile in legacy format.";function getStringFromArrayBuffer(n,t,e){var r=new TextDecoder("utf8"),i=new Uint8Array(n,t,e),o=r.decode(i);return o}function parseTable(n,t,e){return e=parseTablesHeader(n,t,e),e=parseFeatureTable(n,t,e),e=parseBatchTable(n,t,e),e}function parseTablesHeader(n,t,e){var r=new DataView(t),i=0;n.header=n.header||{};var o=r.getUint32(e,!0);e+=SIZEOF_UINT32;var s=r.getUint32(e,!0);e+=SIZEOF_UINT32;var u=r.getUint32(e,!0);e+=SIZEOF_UINT32;var c=r.getUint32(e,!0);return e+=SIZEOF_UINT32,u>=570425344?(e-=SIZEOF_UINT32*2,i=o,u=s,c=0,o=0,s=0,console.warn(DEPRECATION_WARNING)):c>=570425344&&(e-=SIZEOF_UINT32,i=u,u=o,c=s,o=0,s=0,console.warn(DEPRECATION_WARNING)),n.header.featureTableJsonByteLength=o,n.header.featureTableBinaryByteLength=s,n.header.batchTableJsonByteLength=u,n.header.batchTableBinaryByteLength=c,n.header.batchLength=i,e}function parseFeatureTable(n,t,e){var r=n.header||{},i=r.featureTableJsonByteLength,o=r.featureTableBinaryByteLength,s=r.batchLength;if(n.featureTableJson={BATCH_LENGTH:s||0},i&&i>0){var u=getStringFromArrayBuffer(t,e,i);n.featureTableJson=JSON.parse(u)}e+=i||0,n.featureTableBinary=new Uint8Array(t,e,o),e+=o||0,n.rtcCenter=[0,0,0];var c=new FeatureTable(n.featureTableJson,n.featureTableBinary);if(Array.isArray(c.json.RTC_CENTER)){var l=c.json.RTC_CENTER;n.rtcCenter[0]=l[0],n.rtcCenter[1]=l[1],n.rtcCenter[2]=l[2]}else{var l=c.getGlobalProperty("RTC_CENTER",GL_TYPE.FLOAT,3);l&&(n.rtcCenter[0]=l[0],n.rtcCenter[1]=l[1],n.rtcCenter[2]=l[2])}return e}function parseBatchTable(n,t,e){var r=n.header||{},i=r.batchTableJsonByteLength,o=r.batchTableBinaryByteLength;if(i&&i>0){var s=getStringFromArrayBuffer(t,e,i);n.batchTableJson=JSON.parse(s),e+=i,o&&o>0&&(n.batchTableBinary=new Uint8Array(t,e,o),n.batchTableBinary=new Uint8Array(n.batchTableBinary),e+=o)}return e}function sliceArrayBuffer(n,t,e){var r=e!==void 0?new Uint8Array(n).subarray(t,t+e):new Uint8Array(n).subarray(t),i=new Uint8Array(r);return i.buffer}function parseGlTFArrayBuffer(n,t,e){var r=n.byteLength-e;if(r===0)throw new Error("glTF byte length must be greater than 0.");return e%4!==0&&console.warn("".concat(n.type,": embedded glb is not aligned to a 4-byte boundary.")),n.gltfArrayBuffer=sliceArrayBuffer(t,e,r),n.byteLength}function decodeText(n){if(typeof TextDecoder!="undefined")return new TextDecoder().decode(n);for(var t="",e=0,r=n.length;e<r;e++)t+=String.fromCharCode(n[e]);try{return decodeURIComponent(escape(t))}catch(i){return t}}var WEBGL_CONSTANTS={FLOAT:5126,FLOAT_MAT3:35675,FLOAT_MAT4:35676,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,LINEAR:9729,REPEAT:10497,SAMPLER_2D:35678,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123},WEBGL_COMPONENT_TYPES={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},WEBGL_FILTERS={9728:THREE__namespace.NearestFilter,9729:THREE__namespace.LinearFilter,9984:THREE__namespace.NearestMipmapNearestFilter,9985:THREE__namespace.LinearMipmapNearestFilter,9986:THREE__namespace.NearestMipmapLinearFilter,9987:THREE__namespace.LinearMipmapLinearFilter},WEBGL_WRAPPINGS={33071:THREE__namespace.ClampToEdgeWrapping,33648:THREE__namespace.MirroredRepeatWrapping,10497:THREE__namespace.RepeatWrapping},WEBGL_TYPE_SIZES={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},ATTRIBUTES={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv2",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},PATH_PROPERTIES={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},INTERPOLATION={CUBICSPLINE:void 0,LINEAR:THREE__namespace.InterpolateLinear,STEP:THREE__namespace.InterpolateDiscrete},ALPHA_MODES={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function values(n){var t=[];for(var e in n)t.push(n[e]);return t}var Parser=function(){function n(t,e,r){this.json=t,this.extensions=e,this.options=r,this.cache=new Map,this.disposeSet=new Set,this.nodeNamesUsed={}}return n.prototype.dispose=function(){this.cache.clear(),this.disposeSet.forEach(function(t){typeof t.dispose=="function"&&t.dispose(),typeof t.close=="function"&&t.close()}),this.disposeSet.clear(),delete this.cache,delete this.disposeSet,delete this.json,delete this.extensions,delete this.options},n.prototype.markDefs=function(){for(var t=this.json.nodes||[],e=this.json.skins||[],r=this.json.meshes||[],i=0,o=e.length;i<o;i++)for(var s=e[i].joints,u=0,c=s.length;u<c;u++)t[s[u]].isBone=!0;for(var l=0,d=t.length;l<d;l++){var f=t[l];f.mesh!==void 0&&f.skin!==void 0&&(r[f.mesh].isSkinnedMesh=!0)}},n.prototype.parse=function(){var t=this,e=this.json,r=this.extensions;this.markDefs();for(var i=0,o=values(r);i<o.length;i++){var s=o[i];s.markDefs(this)}return Promise.all(values(r).map(function(u){return u.prepare(t)})).then(function(){var u,c,l;return Promise.all([Promise.all(((u=e.scenes)!==null&&u!==void 0?u:[]).map(function(d,f){return t.loadScene(f)})),Promise.all(((c=e.animations)!==null&&c!==void 0?c:[]).map(function(d,f){return t.loadAnimation(f)})),Promise.all(((l=e.cameras)!==null&&l!==void 0?l:[]).map(function(d,f){return t.loadCamera(f)}))])}).then(function(u){var c=u[0],l=u[1],d=u[2],f={json:t.json,scene:c[e.scene||0],scenes:c,animations:l,cameras:d,dispose:function(){return t.dispose()}};return Promise.all(values(r).map(function(m){return m.emitResult(f,t)})).then(function(){return f})})},n.prototype.loadCamera=function(t){var e="camera:"+t,r=this.cache.get(e);if(r)return r;for(var i=null,o=0,s=values(this.extensions);o<s.length;o++){var u=s[o];if(i=u.loadCamera(t,this),i)break}if(!i){var c=void 0,l=this.json.cameras[t],d=l[l.type];d?l.type==="perspective"?c=new THREE__namespace.PerspectiveCamera(THREE__namespace.MathUtils.radToDeg(d.yfov),d.aspectRatio||1,d.znear||1,d.zfar||2e6):l.type==="orthographic"?c=new THREE__namespace.OrthographicCamera(-d.xmag,d.xmag,d.ymag,-d.ymag,d.znear,d.zfar):(console.warn("glTF: Invalid camera type ".concat(l.type,".")),c=new THREE__namespace.Camera):(console.warn("glTF: Missing camera parameters."),c=new THREE__namespace.Camera),l.name&&(c.name=this.createUniqueName(l.name)),i=Promise.resolve(c)}return this.cache.set(e,i),i},n.prototype.loadSkin=function(t){var e="animation:"+t,r=this.cache.get(e);if(r)return r;var i,o=this.json.skins[t],s={joints:o.joints};return o.inverseBindMatrices===void 0?i=Promise.resolve(s):i=this.loadAccessor(o.inverseBindMatrices).then(function(u){return u&&(s.inverseBindMatrices=u),s}),this.cache.set(e,i),i},n.prototype.loadAnimation=function(t){var e="animation:"+t,r=this.cache.get(e);if(r)return r;for(var i=null,o=0,s=values(this.extensions);o<s.length;o++){var u=s[o];if(i=u.loadAnimation(t,this),i)break}if(!i){for(var c=this.json,l=c.animations[t],d=[],f=[],m=[],p=[],A=[],v=0,g=l.channels.length;v<g;v++){var h=l.channels[v],y=l.samplers[h.sampler],b=h.target,E=b.node!==void 0?b.node:b.id,T=l.parameters!==void 0?l.parameters[y.input]:y.input,x=l.parameters!==void 0?l.parameters[y.output]:y.output;d.push(this.loadNode(E)),f.push(this.loadAccessor(T)),m.push(this.loadAccessor(x)),p.push(y),A.push(b)}i=Promise.all([Promise.all(d),Promise.all(f),Promise.all(m),Promise.all(p),Promise.all(A)]).then(function(_){for(var w=_[0],S=_[1],M=_[2],C=_[3],I=_[4],B=[],F=function(D,Q){var N=w[D],U=S[D],W=M[D],q=C[D],G=I[D];if(N===void 0)return"continue";N.updateMatrix(),N.matrixAutoUpdate=!0;var K=void 0;switch(PATH_PROPERTIES[G.path]){case PATH_PROPERTIES.weights:K=THREE__namespace.NumberKeyframeTrack;break;case PATH_PROPERTIES.rotation:K=THREE__namespace.QuaternionKeyframeTrack;break;case PATH_PROPERTIES.position:case PATH_PROPERTIES.scale:default:K=THREE__namespace.VectorKeyframeTrack;break}var X=N.name?N.name:N.uuid,se=q.interpolation!==void 0?INTERPOLATION[q.interpolation]:THREE__namespace.InterpolateLinear,Y=[];PATH_PROPERTIES[G.path]===PATH_PROPERTIES.weights?N.traverse(function(ae){ae.morphTargetInfluences&&Y.push(ae.name?ae.name:ae.uuid)}):Y.push(X);var re=W.array;if(W.normalized){for(var ee=getNormalizedComponentScale(re.constructor),oe=new Float32Array(re.length),$=0,ie=re.length;$<ie;$++)oe[$]=re[$]*ee;re=oe}for(var $=0,ie=Y.length;$<ie;$++){var ne=new K(Y[$]+"."+PATH_PROPERTIES[G.path],U.array,re,se);B.push(ne)}},L=0,k=w.length;L<k;L++)F(L);var O=l.name?l.name:"animation_"+t;return new THREE__namespace.AnimationClip(O,void 0,B)})}return this.cache.set(e,i),i},n.prototype.loadBuffer=function(t){var e=this.json.buffers[t];if(e.type&&e.type!=="arraybuffer")throw new Error("glTF: "+e.type+" buffer type is not supported.");var r="buffer:"+t,i=this.cache.get(r);if(i)return i;for(var o=null,s=0,u=values(this.extensions);s<u.length;s++){var c=u[s];if(o=c.loadBuffer(t,this),o)break}if(!o){var l=this.json.buffers[t];o=this.options.fetcher.ajax(this.resolveResouce(l.uri),{responseType:"arraybuffer"}).then(function(d){return d.body})}return this.cache.set(r,o),o},n.prototype.loadBufferView=function(t){var e="bufferView:"+t,r=this.cache.get(e);if(r)return r;for(var i=null,o=0,s=values(this.extensions);o<s.length;o++){var u=s[o];if(i=u.loadBufferView(t,this),i)break}if(!i){var c=this.json.bufferViews[t];i=this.loadBuffer(c.buffer).then(function(l){var d=c.byteLength||0,f=c.byteOffset||0;return l.slice(f,f+d)})}return this.cache.set(e,i),i},n.prototype.loadAccessor=function(t){var e=this,r="accessor:"+t,i=this.cache.get(r);if(i)return i;var o=null;if(!o){var s=this.json.accessors[t];if(s.bufferView===void 0&&s.sparse===void 0)o=Promise.resolve(null);else{var u=[];s.bufferView!==void 0?u.push(this.loadBufferView(s.bufferView)):u.push(Promise.resolve(null)),s.sparse!==void 0&&(u.push(this.loadBufferView(s.sparse.indices.bufferView)),u.push(this.loadBufferView(s.sparse.values.bufferView))),o=Promise.all(u).then(function(c){var l=c[0],d=WEBGL_TYPE_SIZES[s.type],f=WEBGL_COMPONENT_TYPES[s.componentType],m=f.BYTES_PER_ELEMENT,p=m*d,A=s.byteOffset||0,v=s.bufferView!==void 0?e.json.bufferViews[s.bufferView].byteStride:void 0,g=s.normalized===!0,h,y;if(v&&v!==p){var b=Math.floor(A/v),E="InterleavedBuffer:"+s.bufferView+":"+s.componentType+":"+b+":"+s.count,T=e.cache.get(E);T||(h=new f(l,b*v,s.count*v/m),T=new THREE__namespace.InterleavedBuffer(h,v/m),e.cache.set(E,T)),y=new THREE__namespace.InterleavedBufferAttribute(T,d,A%v/m,g)}else l===null?h=new f(s.count*d):h=new f(l,A,s.count*d),y=new THREE__namespace.BufferAttribute(h,d,g);if(s.sparse!==void 0){var x=WEBGL_TYPE_SIZES.SCALAR,_=WEBGL_COMPONENT_TYPES[s.sparse.indices.componentType],w=s.sparse.indices.byteOffset||0,S=s.sparse.values.byteOffset||0,M=new _(c[1],w,s.sparse.count*x),C=new f(c[2],S,s.sparse.count*d);l!==null&&(y=new THREE__namespace.BufferAttribute(y.array.slice(),y.itemSize,y.normalized));for(var I=0,B=M.length;I<B;I++){var F=M[I];if(y.setX(F,C[I*d]),d>=2&&y.setY(F,C[I*d+1]),d>=3&&y.setZ(F,C[I*d+2]),d>=4&&y.setW(F,C[I*d+3]),d>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return y})}}return this.cache.set(r,o),o},n.prototype.createPrimitiveKey=function(t){for(var e=0,r=values(this.extensions);e<r.length;e++){var i=r[e],o=i.createPrimitiveKey(t,this);if(o)return o}for(var s="",u=Object.keys(t.attributes).sort(),c=0,l=u.length;c<l;c++)s+=u[c]+":"+t.attributes[u[c]]+";";return t.indices+":"+s+":"+t.mode},n.prototype.loadGeometry=function(t){for(var e=this,r=null,i=0,o=values(this.extensions);i<o.length;i++){var s=o[i];if(r=s.loadGeometry(t,this),r)break}return r||(r=this.addGeometryPrimitiveAttributes(new THREE__namespace.BufferGeometry,t)),r=r.then(function(u){return e.disposeSet.add(u),u}),r},n.prototype.loadImage=function(t){for(var e=this,r=null,i=0,o=values(this.extensions);i<o.length;i++){var s=o[i];if(r=s.loadImage(t,this),r)break}if(!r){var u=this.json.images[t];if(u.bufferView!==void 0){var c=this.json.bufferViews[u.bufferView];r=this.loadBuffer(c.buffer).then(function(d){var f=c.byteOffset||0,m=c.byteLength||0,p=new Uint8Array(d,f,m),A=new Blob([p],{type:u.mimeType});return createImageBitmapLike(A)})}else if(u.uri){var l=this.resolveResouce(u.uri);r=this.options.fetcher.loadImage(l,{},void 0,void 0,void 0,createImageBitmapLikeImage()).then(function(d){return d.body})}else throw new Error("glTF: Invalid image defs.")}return r=r.then(function(d){return e.disposeSet.add(d),d}),r},n.prototype.loadMaterialAsMeshStandardMaterial=function(t){var e=this,r=[],i=new THREE__namespace.MeshStandardMaterial;if(i.color=new THREE__namespace.Color(1,1,1),i.opacity=1,Object.keys(t.attributes).filter(function(d){return ATTRIBUTES[d]==="color"}).length>0&&(i.vertexColors=!0),Object.keys(t.attributes).filter(function(d){return ATTRIBUTES[d]==="normal"}).length===0&&(i.flatShading=!0),Object.keys(t.attributes).filter(function(d){return ATTRIBUTES[d]==="tangent"}).length===0&&(i.normalScale&&(i.normalScale.y*=-1),i.clearcoatNormalScale&&(i.clearcoatNormalScale.y*=-1)),t.material!==void 0){var o=this.json.materials[t.material];o.name&&(i.name=o.name);var s=o.pbrMetallicRoughness||{};if(Array.isArray(s.baseColorFactor)){var u=s.baseColorFactor;i.color.fromArray(u),i.opacity=u[3]}s.baseColorTexture!==void 0&&r.push(this.createMaterialTexture(s.baseColorTexture).then(function(d){d.encoding=THREE__namespace.sRGBEncoding,i.map=d,e.disposeSet.add(d)})),i.metalness=s.metallicFactor!==void 0?s.metallicFactor:1,i.roughness=s.roughnessFactor!==void 0?s.roughnessFactor:1,s.metallicRoughnessTexture!==void 0&&r.push(this.createMaterialTexture(s.metallicRoughnessTexture).then(function(d){d.encoding=THREE__namespace.sRGBEncoding,i.metalnessMap=d,i.roughnessMap=d,e.disposeSet.add(d)})),o.doubleSided===!0&&(i.side=THREE__namespace.DoubleSide);var c=o.alphaMode||ALPHA_MODES.OPAQUE;if(c===ALPHA_MODES.BLEND?(i.transparent=!0,i.depthWrite=!1):(i.transparent=!1,c===ALPHA_MODES.MASK&&(i.alphaTest=o.alphaCutoff!==void 0?o.alphaCutoff:.5)),o.normalTexture!==void 0&&(r.push(this.createMaterialTexture(o.normalTexture).then(function(d){i.normalMap=d,e.disposeSet.add(d)})),i.normalScale=new THREE__namespace.Vector2(1,1),o.normalTexture.scale!==void 0)){var l=o.normalTexture.scale;i.normalScale.set(l,l)}o.occlusionTexture!==void 0&&(r.push(this.createMaterialTexture(o.occlusionTexture).then(function(d){i.aoMap=d,e.disposeSet.add(d)})),o.occlusionTexture.strength!==void 0&&(i.aoMapIntensity=o.occlusionTexture.strength)),o.emissiveFactor!==void 0&&(i.emissive=new THREE__namespace.Color().fromArray(o.emissiveFactor)),o.emissiveTexture!==void 0&&r.push(this.createMaterialTexture(o.emissiveTexture).then(function(d){i.emissiveMap=d,e.disposeSet.add(d)}))}return this.disposeSet.add(i),Promise.all(r).then(function(){return i})},n.prototype.loadMaterialAsLineBasicMaterial=function(t){var e=[],r=new THREE__namespace.LineBasicMaterial;if(r.color=new THREE__namespace.Color(1,1,1),r.opacity=1,Object.keys(t.attributes).filter(function(c){return ATTRIBUTES[c]==="color"}).length>0&&(r.vertexColors=!0),Object.keys(t.attributes).filter(function(c){return ATTRIBUTES[c]==="tangent"}).length===0&&(r.normalScale&&(r.normalScale.y*=-1),r.clearcoatNormalScale&&(r.clearcoatNormalScale.y*=-1)),t.material!==void 0){var i=this.json.materials[t.material];i.name&&(r.name=i.name);var o=i.pbrMetallicRoughness||{};if(Array.isArray(o.baseColorFactor)){var s=o.baseColorFactor;r.color.fromArray(s),r.opacity=s[3]}i.doubleSided===!0&&(r.side=THREE__namespace.DoubleSide);var u=i.alphaMode||ALPHA_MODES.OPAQUE;u===ALPHA_MODES.BLEND?(r.transparent=!0,r.depthWrite=!1):(r.transparent=!1,u===ALPHA_MODES.MASK&&(r.alphaTest=i.alphaCutoff!==void 0?i.alphaCutoff:.5))}return this.disposeSet.add(r),Promise.all(e).then(function(){return r})},n.prototype.loadMaterialAsPointsMaterial=function(t){var e=this,r=[],i=new THREE__namespace.PointsMaterial;if(i.color=new THREE__namespace.Color(1,1,1),i.opacity=1,i.sizeAttenuation=!1,Object.keys(t.attributes).filter(function(l){return ATTRIBUTES[l]==="color"}).length>0&&(i.vertexColors=!0),Object.keys(t.attributes).filter(function(l){return ATTRIBUTES[l]==="tangent"}).length===0&&(i.normalScale&&(i.normalScale.y*=-1),i.clearcoatNormalScale&&(i.clearcoatNormalScale.y*=-1)),t.material!==void 0){var o=this.json.materials[t.material];o.name&&(i.name=o.name);var s=o.pbrMetallicRoughness||{};if(Array.isArray(s.baseColorFactor)){var u=s.baseColorFactor;i.color.fromArray(u),i.opacity=u[3]}s.baseColorTexture!==void 0&&r.push(this.createMaterialTexture(s.baseColorTexture).then(function(l){l.encoding=THREE__namespace.sRGBEncoding,i.map=l,e.disposeSet.add(l)})),o.doubleSided===!0&&(i.side=THREE__namespace.DoubleSide);var c=o.alphaMode||ALPHA_MODES.OPAQUE;c===ALPHA_MODES.BLEND?(i.transparent=!0,i.depthWrite=!1):(i.transparent=!1,c===ALPHA_MODES.MASK&&(i.alphaTest=o.alphaCutoff!==void 0?o.alphaCutoff:.5))}return this.disposeSet.add(i),Promise.all(r).then(function(){return i})},n.prototype.loadMaterial=function(t){var e,r=(e=t.mode)!==null&&e!==void 0?e:WEBGL_CONSTANTS.TRIANGLES,i="material:"+this.createPrimitiveKey(t),o=this.cache.get(i);if(o)return o;for(var s=null,u=0,c=values(this.extensions);u<c.length;u++){var l=c[u];if(s=l.loadMaterial(t,this),s)break}if(r===WEBGL_CONSTANTS.TRIANGLES||r===WEBGL_CONSTANTS.TRIANGLE_STRIP||r===WEBGL_CONSTANTS.TRIANGLE_FAN)s=this.loadMaterialAsMeshStandardMaterial(t);else if(r===WEBGL_CONSTANTS.LINES||r===WEBGL_CONSTANTS.LINE_STRIP||r===WEBGL_CONSTANTS.LINE_LOOP)s=this.loadMaterialAsLineBasicMaterial(t);else if(r===WEBGL_CONSTANTS.POINTS)s=this.loadMaterialAsPointsMaterial(t);else throw new Error("glTF: Primitive mode unsupported: "+r);return this.cache.set(i,s),s},n.prototype.loadTexture=function(t){var e=this,r="texture:"+t,i=this.cache.get(r);if(i)return i;for(var o=null,s=0,u=values(this.extensions);s<u.length;s++){var c=u[s];if(o=c.loadTexture(t,this),o)break}if(!o){var l=this.json.textures[t];o=this.loadImage(l.source).then(function(d){var f=new THREE__namespace.Texture(d);f.needsUpdate=!0,f.flipY=!1,l.name&&(f.name=l.name);var m=e.json.samplers||{},p=m[l.sampler]||{};return f.magFilter=WEBGL_FILTERS[p.magFilter]||THREE__namespace.LinearFilter,f.minFilter=WEBGL_FILTERS[p.minFilter]||THREE__namespace.LinearMipmapLinearFilter,f.wrapS=WEBGL_WRAPPINGS[p.wrapS]||THREE__namespace.RepeatWrapping,f.wrapT=WEBGL_WRAPPINGS[p.wrapT]||THREE__namespace.RepeatWrapping,f.onUpdate=function(){d.close()},f})}return o=o.then(function(d){return e.disposeSet.add(d),d}),this.cache.set(r,o),o},n.prototype.loadMesh=function(t){for(var e=this,r=null,i=0,o=values(this.extensions);i<o.length;i++){var s=o[i];if(r=s.loadMesh(t,this),r)break}if(!r){var u=this.json.meshes[t],c=u.primitives,l=Promise.all(c.map(function(f){return e.loadGeometry(f)})),d=Promise.all(c.map(function(f){return e.loadMaterial(f)}));r=Promise.all([l,d]).then(function(f){for(var m=f[0],p=f[1],A=[],v=0;v<c.length;v++){var g=c[v],h=m[v],y=p[v],b=g.mode||WEBGL_CONSTANTS.TRIANGLES,E=void 0;if(b===WEBGL_CONSTANTS.TRIANGLES||b===WEBGL_CONSTANTS.TRIANGLE_STRIP||b===WEBGL_CONSTANTS.TRIANGLE_FAN)if(b===WEBGL_CONSTANTS.TRIANGLE_STRIP?h=e.toGeometryTrianglesDrawMode(h,THREE__namespace.TriangleStripDrawMode):b===WEBGL_CONSTANTS.TRIANGLE_FAN&&(h=e.toGeometryTrianglesDrawMode(h,THREE__namespace.TriangleFanDrawMode)),e.disposeSet.add(h),u.isSkinnedMesh){var T=new THREE__namespace.SkinnedMesh(h,y);h.attributes.skinWeight.normalized||T.normalizeSkinWeights(),E=T}else E=new THREE__namespace.Mesh(h,y);else if(b===WEBGL_CONSTANTS.POINTS)E=new THREE__namespace.Points(h,y);else if(b===WEBGL_CONSTANTS.LINES)E=new THREE__namespace.LineSegments(h,y);else if(b===WEBGL_CONSTANTS.LINE_STRIP)E=new THREE__namespace.Line(h,y);else if(b===WEBGL_CONSTANTS.LINE_LOOP)E=new THREE__namespace.LineLoop(h,y);else throw new Error("glTF: Primitive mode unsupported: "+b);if(Object.keys(h.morphAttributes).length>0){if(u.weights!==void 0)for(var x=0,_=u.weights.length;x<_;x++)E.morphTargetInfluences[x]=u.weights[x];if(u.extras&&Array.isArray(u.extras.targetNames)){var w=u.extras.targetNames;if(E.morphTargetInfluences.length===w.length){E.morphTargetDictionary={};for(var x=0,_=w.length;x<_;x++)E.morphTargetDictionary[w[x]]=x}else console.warn("glTF: Invalid extras.targetNames length. Ignoring names.")}}E.name=e.createUniqueName(u.name||"mesh_"+t),A.push(E)}if(A.length===1)return A[0];for(var S=new THREE__namespace.Group,M=0,C=A;M<C.length;M++){var E=C[M];S.add(E)}return S})}return r},n.prototype.loadNodeAttachments=function(t){for(var e=[],r=0,i=values(this.extensions);r<i.length;r++){var o=i[r],s=o.loadNodeAttachments(t,this);s&&e.push(s)}return e},n.prototype.loadNode=function(t){var e="node:"+t,r=this.cache.get(e);if(r)return r;var i=this.json,o=i.nodes[t],s=o.name?this.createUniqueName(o.name):"",u=[];o.mesh!==void 0&&u.push(this.loadMesh(o.mesh).then(function(m){if(o.weights!==void 0){var p=o.weights;m.traverse(function(A){if(A instanceof THREE__namespace.Mesh||A instanceof THREE__namespace.Line||A instanceof THREE__namespace.Points)for(var v=0,g=p.length;v<g;v++)A.morphTargetInfluences[v]=p[v]})}return m})),o.camera!==void 0&&u.push(this.loadCamera(o.camera));for(var c=this.loadNodeAttachments(t),l=0,d=c;l<d.length;l++){var f=d[l];u.push(f)}return Promise.all(u).then(function(m){var p;if(o.isBone===!0?p=new THREE__namespace.Bone:m.length>1?p=new THREE__namespace.Group:m.length===1?p=m[0]:p=new THREE__namespace.Object3D,p!==m[0])for(var A=0,v=m.length;A<v;A++)p.add(m[A]);if(o.name&&(p.name=s),o.matrix!==void 0){var g=new THREE__namespace.Matrix4;g.fromArray(o.matrix),p.applyMatrix4(g)}else o.translation!==void 0&&p.position.fromArray(o.translation),o.rotation!==void 0&&p.quaternion.fromArray(o.rotation),o.scale!==void 0&&p.scale.fromArray(o.scale);return p})},n.prototype.loadScene=function(t){var e=this.json,r=e.scenes[t],i=new THREE__namespace.Group;r.name&&(i.name=this.createUniqueName(r.name));for(var o=r.nodes||[],s=[],u=0,c=o.length;u<c;u++)s.push(this.buildNodeHierarchy(o[u],i));return Promise.all(s).then(function(){return i})},n.prototype.createMaterialTexture=function(t){var e=this;return this.loadTexture(t.index).then(function(r){for(var i=0,o=values(e.extensions);i<o.length;i++){var s=o[i],u=s.extendTexture(r,t,e);u&&(r=u,e.disposeSet.add(r))}return r})},n.prototype.addGeometryPrimitiveAttributes=function(t,e){var r=this,i=e.attributes,o=[],s=function(T){var x=ATTRIBUTES[T]||T.toLowerCase();if(x in t.attributes)return"continue";o.push(u.loadAccessor(i[T]).then(function(_){_&&t.setAttribute(x,_)}))},u=this;for(var c in i)s(c);e.indices!==void 0&&!t.index&&o.push(this.loadAccessor(e.indices).then(function(T){T&&t.setIndex(T)}));var l=new THREE__namespace.Box3;if(i.POSITION!==void 0){var d=this.json.accessors[i.POSITION],f=d.min,m=d.max;if(f!==void 0&&m!==void 0){if(l.set(new THREE__namespace.Vector3(f[0],f[1],f[2]),new THREE__namespace.Vector3(m[0],m[1],m[2])),d.normalized){var p=getNormalizedComponentScale(WEBGL_COMPONENT_TYPES[d.componentType]);l.min.multiplyScalar(p),l.max.multiplyScalar(p)}}else console.warn("glTF: Missing min/max properties for accessor POSITION.")}var A=e.targets;if(A!==void 0){for(var v=new THREE__namespace.Vector3,g=new THREE__namespace.Vector3,h=0,y=A.length;h<y;h++){var b=A[h];if(b.POSITION!==void 0){var d=this.json.accessors[b.POSITION],f=d.min,m=d.max;if(f!==void 0&&m!==void 0){if(g.setX(Math.max(Math.abs(f[0]),Math.abs(m[0]))),g.setY(Math.max(Math.abs(f[1]),Math.abs(m[1]))),g.setZ(Math.max(Math.abs(f[2]),Math.abs(m[2]))),d.normalized){var p=getNormalizedComponentScale(WEBGL_COMPONENT_TYPES[d.componentType]);g.multiplyScalar(p)}v.max(g)}else console.warn("glTF: Missing min/max properties for accessor POSITION.")}}l.expandByVector(v)}t.boundingBox=l;var E=new THREE__namespace.Sphere;return l.getCenter(E.center),E.radius=l.min.distanceTo(l.max)/2,t.boundingSphere=E,Promise.all(o).then(function(){if(t.attributes.uv&&!t.attributes.uv2&&r.options.copyUV2&&t.setAttribute("uv2",t.attributes.uv),e.targets){for(var T=!1,x=!1,_=0,w=e.targets.length;_<w;_++){var S=e.targets[_];if(S.POSITION!==void 0&&(T=!0),S.NORMAL!==void 0&&(x=!0),T&&x)break}if(!T&&!x)return t;var M=[];t.morphTargetsRelative=!0;for(var C=function(I,B){var F=e.targets[I];T?M.push(r.loadAccessor(F.POSITION).then(function(L){L&&(t.morphAttributes.position[I]=L)})):t.morphAttributes.position[I]=t.attributes.position,x?M.push(r.loadAccessor(F.NORMAL).then(function(L){L&&(t.morphAttributes.normal[I]=L)})):t.morphAttributes.normal[I]=t.attributes.normal},_=0,w=e.targets.length;_<w;_++)C(_,w);return Promise.all(M).then(function(){return t})}else return t})},n.prototype.buildNodeHierarchy=function(t,e){var r=this,i=this.json.nodes[t];return this.loadNode(t).then(function(o){if(i.skin===void 0)return o;var s;return r.loadSkin(i.skin).then(function(u){s=u;for(var c=[],l=0,d=s.joints.length;l<d;l++)c.push(r.loadNode(s.joints[l]));return Promise.all(c)}).then(function(u){return o.traverse(function(c){if(c instanceof THREE__namespace.SkinnedMesh){for(var l=[],d=[],f=0,m=u.length;f<m;f++){var p=u[f];if(p instanceof THREE__namespace.Bone){l.push(p);var A=new THREE__namespace.Matrix4;s.inverseBindMatrices!==void 0&&A.fromArray(s.inverseBindMatrices.array,f*16),d.push(A)}else console.warn('glTF: Joint "%s" could not be found.',s.joints[f])}c.bind(new THREE__namespace.Skeleton(l,d),c.matrixWorld)}}),o})}).then(function(o){e.add(o);var s=[];if(i.children)for(var u=i.children,c=0,l=u.length;c<l;c++){var d=u[c];s.push(r.buildNodeHierarchy(d,o))}return Promise.all(s).then(function(){return o})})},n.prototype.createUniqueName=function(t){for(var e=THREE__namespace.PropertyBinding.sanitizeNodeName(t||""),r=e,i=1;this.nodeNamesUsed[r];++i)r=e+"_"+i;return this.nodeNamesUsed[r]=!0,r},n.prototype.resolveResouce=function(t){return pathJoin(this.options.resourcePath,appendSearch(t,this.options.search))},n.prototype.toGeometryTrianglesDrawMode=function(t,e){var r=t.getIndex();if(r===null){var i=[],o=t.getAttribute("position");if(o!==void 0){for(var s=0;s<o.count;s++)i.push(s);t.setIndex(i),r=t.getIndex()}}if(r===null)return console.error("glTF: Undefined position attribute. Processing not possible."),t;var u=r.count-2,c=[];if(e===THREE__namespace.TriangleFanDrawMode)for(var s=1;s<=u;s++)c.push(r.getX(0)),c.push(r.getX(s)),c.push(r.getX(s+1));else for(var s=0;s<u;s++)s%2===0?(c.push(r.getX(s)),c.push(r.getX(s+1)),c.push(r.getX(s+2))):(c.push(r.getX(s+2)),c.push(r.getX(s+1)),c.push(r.getX(s)));c.length/3!==u&&console.error("glTF: Unable to generate correct amount of triangles.");var l=t.clone();return l.setIndex(c),this.disposeSet.add(l),l},n}();function getNormalizedComponentScale(n){switch(n){case Int8Array:return 1/127;case Uint8Array:return 1/255;case Int16Array:return 1/32767;case Uint16Array:return 1/65535;default:throw new Error("glTF: Unsupported normalized accessor component type.")}}var BaseExtension=function(){function n(){}return n.prototype.markDefs=function(t){},n.prototype.prepare=function(t){},n.prototype.emitResult=function(t,e){},n.prototype.createPrimitiveKey=function(t,e){},n.prototype.extendTexture=function(t,e,r){return null},n.prototype.loadBuffer=function(t,e){return null},n.prototype.loadBufferView=function(t,e){return null},n.prototype.loadImage=function(t,e){return null},n.prototype.loadTexture=function(t,e){return null},n.prototype.loadGeometry=function(t,e){return null},n.prototype.loadMaterial=function(t,e){return null},n.prototype.loadMesh=function(t,e){return null},n.prototype.loadNodeAttachments=function(t,e){return null},n.prototype.loadCamera=function(t,e){return null},n.prototype.loadAnimation=function(t,e){return null},n}(),KHR_binary_glTF=function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.header={magic:"",version:0,length:0},e.content="",e.body=null,e}return t.getMagic=function(e){return decodeText(new Uint8Array(e.slice(0,4)))},t.prototype.loadGlbBinary=function(e){var r=new DataView(e,0,t.HEADER_LENGTH);if(this.header={magic:t.getMagic(e),version:r.getUint32(4,!0),length:r.getUint32(8,!0)},this.header.magic!==t.HEADER_MAGIC)throw new Error("glTF:KHR_binary_glTF: Unsupported.");if(this.header.version<2)throw new Error("glTF:KHR_binary_glTF: Legacy binary file detected.");for(var i=new DataView(e,t.HEADER_LENGTH),o=0,s=null,u=null;o<i.byteLength;){var c=i.getUint32(o,!0);o+=4;var l=i.getUint32(o,!0);if(o+=4,l===t.CHUNK_TYPES.JSON){var d=new Uint8Array(e,t.HEADER_LENGTH+o,c);s=decodeText(d)}else if(l===t.CHUNK_TYPES.BIN){var f=t.HEADER_LENGTH+o;u=e.slice(f,f+c)}o+=c}if(s===null)throw new Error("glTF:KHR_binary_glTF: JSON content not found.");this.content=s,this.body=u},t.prototype.loadBuffer=function(e,r){var i=r.json.buffers[e];return i.uri===void 0&&e===0&&this.body?Promise.resolve(this.body):null},t.HEADER_MAGIC="glTF",t.HEADER_LENGTH=12,t.CHUNK_TYPES={JSON:1313821514,BIN:5130562},t}(BaseExtension),defaultDecoderPath="https://vr-public.realsee-cdn.cn/release/static/image/release/five/resource/draco/1.5.6/",defaultAttributeIDs={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},defaultAttributeTypes={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"},Draco=function(){function n(){this.decoderPath=defaultDecoderPath,this.decoderConfig={},this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL=""}return n.prototype.setDecoderPath=function(t){this.decoderPath=t},n.prototype.setDecoderConfig=function(t){return this.decoderConfig=t,this},n.prototype.setWorkerLimit=function(t){return this.workerLimit=t,this},n.prototype.decodeDracoFile=function(t,e,r,i){var o={attributeIDs:r||defaultAttributeIDs,attributeTypes:i||defaultAttributeTypes,useUniqueIDs:!!r};this.decodeGeometry(t,o).then(e)},n.prototype.decodeGeometry=function(t,e){var r=this;e===void 0&&(e={attributeIDs:defaultAttributeIDs,attributeTypes:defaultAttributeTypes,useUniqueIDs:!1});for(var i in e.attributeTypes){var o=e.attributeTypes[i];o.BYTES_PER_ELEMENT!==void 0&&(e.attributeTypes[i]=o.name)}var s,u=this.workerNextTaskID++,c=t.byteLength,l=this._getWorker(u,c).then(function(d){return s=d,new Promise(function(f,m){s._callbacks[u]={resolve:f,reject:m},s.postMessage({type:"decode",id:u,taskConfig:e,buffer:t},[t])})}).then(function(d){return r._createGeometry(d.geometry)});return l.catch(function(){return!0}).then(function(){s&&u&&r._releaseTask(s,u)}),l},n.prototype._createGeometry=function(t){var e=new THREE__namespace.BufferGeometry;t.index&&e.setIndex(new THREE__namespace.BufferAttribute(t.index.array,1));for(var r=0;r<t.attributes.length;r++){var i=t.attributes[r],o=i.name,s=i.array,u=i.itemSize;e.setAttribute(o,new THREE__namespace.BufferAttribute(s,u))}return e},n.prototype._initDecoder=function(){var t=this;if(this.decoderPending)return this.decoderPending;var e=typeof WebAssembly!="object"||this.decoderConfig.type==="js";if(e){var r=ajax(this.decoderPath+"draco_decoder.js",{responseType:"text"}).then(function(o){return o.body});this.decoderPending=r.then(function(o){var s=["/* draco decoder */",o,"","/* worker */",DRACOWorker].join(`
|
|
418
|
+
`);t.workerSourceURL=URL.createObjectURL(new Blob([s]))})}else{var r=ajax(this.decoderPath+"draco_wasm_wrapper.js",{responseType:"text"}).then(function(s){return s.body}),i=ajax(this.decoderPath+"draco_decoder.wasm",{responseType:"arraybuffer"}).then(function(s){return s.body});this.decoderPending=Promise.all([r,i]).then(function(s){var u=s[0],c=s[1];t.decoderConfig.wasmBinary=c;var l=["/* draco decoder */",u,"","/* worker */",DRACOWorker].join(`
|
|
419
|
+
`);t.workerSourceURL=URL.createObjectURL(new Blob([l]))})}return this.decoderPending},n.prototype._getWorker=function(t,e){var r=this;return this._initDecoder().then(function(){if(r.workerPool.length<r.workerLimit){var i=new Worker(r.workerSourceURL);i._callbacks={},i._taskCosts={},i._taskLoad=0,i.postMessage({type:"init",decoderConfig:r.decoderConfig}),i.onmessage=function(s){var u=s.data;switch(u.type){case"decode":i._callbacks[u.id].resolve(u);break;case"error":i._callbacks[u.id].reject(u);break;default:console.error('DRACO: Unexpected message, "'+u.type+'"')}},r.workerPool.push(i)}else r.workerPool.sort(function(s,u){return s._taskLoad>u._taskLoad?-1:1});var o=r.workerPool[r.workerPool.length-1];return o._taskCosts[t]=e,o._taskLoad+=e,o})},n.prototype._releaseTask=function(t,e){t._taskLoad-=t._taskCosts[e],delete t._callbacks[e],delete t._taskCosts[e]},n.prototype.dispose=function(){for(var t=0;t<this.workerPool.length;++t)this.workerPool[t].terminate();return this.workerPool.length=0,this},n}(),draco=new Draco,DRACOWorker=`
|
|
420
420
|
let decoderConfig;
|
|
421
421
|
let decoderPending;
|
|
422
422
|
|
|
@@ -611,8 +611,8 @@ void main() {
|
|
|
611
611
|
}
|
|
612
612
|
|
|
613
613
|
}
|
|
614
|
-
`,EXTENSION_NAME$5="KHR_draco_mesh_compression",KHR_draco_mesh_compression=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.loadGeometry=function(e,r){return e.extensions&&e.extensions[EXTENSION_NAME$5]?this.decodePrimitive(e,r).then(function(i){return r.addGeometryPrimitiveAttributes(i,e)}):null},t.prototype.decodePrimitive=function(e,r){var i=r.json,o=e.extensions[EXTENSION_NAME$5].bufferView,s=e.extensions[EXTENSION_NAME$5].attributes,u={},
|
|
615
|
-
`);t.workerSourceURL=URL.createObjectURL(new Blob([u])),t.transcoderBinary=s,t.workerPool.setWorkerCreator(function(){var
|
|
614
|
+
`,EXTENSION_NAME$5="KHR_draco_mesh_compression",KHR_draco_mesh_compression=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.loadGeometry=function(e,r){return e.extensions&&e.extensions[EXTENSION_NAME$5]?this.decodePrimitive(e,r).then(function(i){return r.addGeometryPrimitiveAttributes(i,e)}):null},t.prototype.decodePrimitive=function(e,r){var i=r.json,o=e.extensions[EXTENSION_NAME$5].bufferView,s=e.extensions[EXTENSION_NAME$5].attributes,u={},c={},l={};for(var d in s){var f=ATTRIBUTES[d]||d.toLowerCase();u[f]=s[d]}for(var d in e.attributes){var f=ATTRIBUTES[d]||d.toLowerCase();if(s[d]!==void 0){var m=i.accessors[e.attributes[d]],p=WEBGL_COMPONENT_TYPES[m.componentType];l[f]=p,c[f]=m.normalized===!0}}return r.loadBufferView(o).then(function(A){return new Promise(function(v){draco.decodeDracoFile(A,function(g){for(var h in g.attributes){var y=g.attributes[h],b=c[h];b!==void 0&&(y.normalized=b)}v(g)},u,l)})})},t}(BaseExtension),WorkerPool=function(){function n(t){this.pool=t,this.queue=[],this.workers=[],this.workersResolve=[],this.workerStatus=0,this.workerCreator=null}return n.prototype._initWorker=function(t){if(this.workerCreator&&!this.workers[t]){var e=this.workerCreator();e.addEventListener("message",this._onMessage.bind(this,t)),this.workers[t]=e}},n.prototype._getIdleWorker=function(){for(var t=0;t<this.pool;t++)if(!(this.workerStatus&1<<t))return t;return-1},n.prototype._onMessage=function(t,e){var r=this.workersResolve[t];if(r&&r(e),this.queue.length){var i=this.queue.shift(),o=i.resolve,s=i.msg,u=i.transfer;this.workersResolve[t]=o,this.workers[t].postMessage(s,u)}else this.workerStatus^=1<<t},n.prototype.setWorkerCreator=function(t){this.workerCreator=t},n.prototype.setWorkerLimit=function(t){this.pool=t},n.prototype.postMessage=function(t,e){var r=this;return new Promise(function(i){var o=r._getIdleWorker();o!==-1?(r._initWorker(o),r.workerStatus|=1<<o,r.workersResolve[o]=i,r.workers[o].postMessage(t,e)):r.queue.push({resolve:i,msg:t,transfer:e})})},n.prototype.dispose=function(){this.workers.forEach(function(t){return t.terminate()}),this.workersResolve.length=0,this.workers.length=0,this.queue.length=0,this.workerStatus=0},n}(),defaultTranscoderPath="https://vr-public.realsee-cdn.cn/release/static/image/release/five/resource/basis/1.16/",KTX2TransferSRGB=2,KTX2_ALPHA_PREMULTIPLIED=1,KTX2=function(){function n(){this.transcoderPath=defaultTranscoderPath,this.transcoderBinary=null,this.transcoderPending=null,this.workerPool=new WorkerPool(4),this.workerSourceURL="",this.workerConfig=null}return n.prototype.setTranscoderPath=function(t){this.transcoderPath=t},n.prototype.detectSupport=function(t){if(!this.workerConfig){var e=console.warn;console.warn=function(){},this.workerConfig={astcSupported:!!t.extensions.get("WEBGL_compressed_texture_astc"),etc1Supported:!!t.extensions.get("WEBGL_compressed_texture_etc1"),etc2Supported:!!t.extensions.get("WEBGL_compressed_texture_etc"),dxtSupported:!!t.extensions.get("WEBGL_compressed_texture_s3tc"),bptcSupported:!!t.extensions.get("EXT_texture_compression_bptc"),pvrtcSupported:!!t.extensions.get("WEBGL_compressed_texture_pvrtc")||!!t.extensions.get("WEBKIT_WEBGL_compressed_texture_pvrtc")},console.warn=e}return this},n.prototype.init=function(){var t=this;if(!this.transcoderPending){var e=ajax(this.transcoderPath+"basis_transcoder.js",{responseType:"text"}).then(function(i){return i.body}),r=ajax(this.transcoderPath+"basis_transcoder.wasm",{responseType:"arraybuffer"}).then(function(i){return i.body});this.transcoderPending=Promise.all([e,r]).then(function(i){var o=i[0],s=i[1],u=["/* constants */","let _EngineFormat = "+JSON.stringify(EngineFormat),"let _TranscoderFormat = "+JSON.stringify(TranscoderFormat),"let _BasisFormat = "+JSON.stringify(BasisFormat),"/* basis_transcoder.js */",o,"/* worker */",BasisWorker].join(`
|
|
615
|
+
`);t.workerSourceURL=URL.createObjectURL(new Blob([u])),t.transcoderBinary=s,t.workerPool.setWorkerCreator(function(){var c=new Worker(t.workerSourceURL),l=t.transcoderBinary.slice(0);return c.postMessage({type:"init",config:t.workerConfig,transcoderBinary:l},[l]),c})})}return this.transcoderPending},n.prototype.parse=function(t){return this._createTexture([t])},n.prototype._createTextureFrom=function(t){var e=t.mipmaps,r=t.width,i=t.height,o=t.format,s=t.type,u=t.error,c=t.dfdTransferFn,l=t.dfdFlags;if(s==="error")return Promise.reject(u);var d=new THREE__namespace.CompressedTexture(e,r,i,o,THREE__namespace.UnsignedByteType);return d.minFilter=e.length===1?THREE__namespace.LinearFilter:THREE__namespace.LinearMipmapLinearFilter,d.magFilter=THREE__namespace.LinearFilter,d.generateMipmaps=!1,d.needsUpdate=!0,d.encoding=c===KTX2TransferSRGB?THREE__namespace.sRGBEncoding:THREE__namespace.LinearEncoding,d.premultiplyAlpha=!!(l&KTX2_ALPHA_PREMULTIPLIED),Promise.resolve(d)},n.prototype._createTexture=function(t){var e=this,r=this.init().then(function(){return e.workerPool.postMessage({type:"transcode",buffers:t},t)}).then(function(i){return e._createTextureFrom(i.data)});return r},n.prototype.dispose=function(){return URL.revokeObjectURL(this.workerSourceURL),this.workerPool.dispose(),this},n}(),ktx2=new KTX2,BasisFormat={ETC1S:0,UASTC_4x4:1},TranscoderFormat={ETC1:0,ETC2:1,BC1:2,BC3:3,BC4:4,BC5:5,BC7_M6_OPAQUE_ONLY:6,BC7_M5:7,PVRTC1_4_RGB:8,PVRTC1_4_RGBA:9,ASTC_4x4:10,ATC_RGB:11,ATC_RGBA_INTERPOLATED_ALPHA:12,RGBA32:13,RGB565:14,BGR565:15,RGBA4444:16},EngineFormat={RGBAFormat:THREE__namespace.RGBAFormat,RGBA_ASTC_4x4_Format:THREE__namespace.RGBA_ASTC_4x4_Format,RGBA_BPTC_Format:THREE__namespace.RGBA_BPTC_Format,RGBA_ETC2_EAC_Format:THREE__namespace.RGBA_ETC2_EAC_Format,RGBA_PVRTC_4BPPV1_Format:THREE__namespace.RGBA_PVRTC_4BPPV1_Format,RGBA_S3TC_DXT5_Format:THREE__namespace.RGBA_S3TC_DXT5_Format,RGB_ETC1_Format:THREE__namespace.RGB_ETC1_Format,RGB_ETC2_Format:THREE__namespace.RGB_ETC2_Format,RGB_PVRTC_4BPPV1_Format:THREE__namespace.RGB_PVRTC_4BPPV1_Format,RGB_S3TC_DXT1_Format:THREE__namespace.RGB_S3TC_DXT1_Format},BasisWorker=`
|
|
616
616
|
|
|
617
617
|
let config;
|
|
618
618
|
let transcoderPending;
|
|
@@ -880,7 +880,7 @@ void main() {
|
|
|
880
880
|
return ( value & ( value - 1 ) ) === 0 && value !== 0;
|
|
881
881
|
|
|
882
882
|
}
|
|
883
|
-
`,EXTENSION_NAME$4="KHR_texture_basisu",KHR_texture_basisu=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.loadTexture=function(e,r){var i=r.json.textures[e];if(!i.extensions||!i.extensions[EXTENSION_NAME$4])return null;var o=i.extensions[EXTENSION_NAME$4],s=r.json.images[o.source],u=null;if(s.bufferView!==void 0)u=r.loadBufferView(s.bufferView).then(function(l){return ktx2.parse(l)});else if(s.uri)u=r.options.fetcher.ajax(r.resolveResouce(s.uri),{responseType:"arraybuffer"}).then(function(l){return ktx2.parse(l.body)});else throw new Error("glTF: Invalid image defs.");return u},t}(BaseExtension),EXTENSION_NAME$3="KHR_texture_transform",KHR_texture_transform=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.extendTexture=function(e,r,i){var o=r.extensions!==void 0?r.extensions[EXTENSION_NAME$3]:void 0;return o?(o.texCoord!==void 0&&console.warn('glTF: Custom UV sets in "'+EXTENSION_NAME$3+'" extension not yet supported.'),o.offset===void 0&&o.rotation===void 0&&o.scale===void 0||(e=e.clone(),e.needsUpdate=!0,o.offset!==void 0&&e.offset.fromArray(o.offset),o.rotation!==void 0&&(e.rotation=o.rotation),o.scale!==void 0&&e.repeat.fromArray(o.scale)),e):null},t}(BaseExtension),KHR_mesh_quantization=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t}(BaseExtension),meshoptDecoder=function(){var n="b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq:78Yqdbk:qzezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhlaicefhodnadTmbalc;WFbGglcjdalcjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfglcl4cifcd4hxdndndndnalc9WGgmTmbcbhPcehsawcjdfhzaohHinaraH9Rax6midnaraHaxfgo9RcK6mbczhlinalgic9Wfglawcj;cbffhOdndndndndnaHalco4fRbbalci4coG4ciGPlbedibkaO9cb83ibaOcwf9cb83ibxikaOaoRblaoRbbgAco4glalciSgCE86bbawcj;cbfaifglcGfaoclfaCfgORbbaAcl4ciGgCaCciSgCE86bbalcVfaOaCfgORbbaAcd4ciGgCaCciSgCE86bbalc7faOaCfgORbbaAciGgAaAciSgAE86bbalctfaOaAfgARbbaoRbegOco4gCaCciSgCE86bbalc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbalc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc93faAaCfgARbbaOciGgOaOciSgOE86bbalc94faAaOfgARbbaoRbdgOco4gCaCciSgCE86bbalc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbalc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc97faAaCfgARbbaOciGgOaOciSgOE86bbalc98faAaOfgORbbaoRbigoco4gAaAciSgAE86bbalc99faOaAfgORbbaocl4ciGgAaAciSgAE86bbalc9:faOaAfgORbbaocd4ciGgAaAciSgAE86bbalcufaOaAfglRbbaociGgoaociSgoE86bbalaofhoxdkaOaoRbwaoRbbgAcl4glalcsSgCE86bbawcj;cbfaifglcGfaocwfaCfgORbbaAcsGgAaAcsSgAE86bbalcVfaOaAfgORbbaoRbegAcl4gCaCcsSgCE86bbalc7faOaCfgORbbaAcsGgAaAcsSgAE86bbalctfaOaAfgORbbaoRbdgAcl4gCaCcsSgCE86bbalc91faOaCfgORbbaAcsGgAaAcsSgAE86bbalc4faOaAfgORbbaoRbigAcl4gCaCcsSgCE86bbalc93faOaCfgORbbaAcsGgAaAcsSgAE86bbalc94faOaAfgORbbaoRblgAcl4gCaCcsSgCE86bbalc95faOaCfgORbbaAcsGgAaAcsSgAE86bbalc96faOaAfgORbbaoRbvgAcl4gCaCcsSgCE86bbalc97faOaCfgORbbaAcsGgAaAcsSgAE86bbalc98faOaAfgORbbaoRbogAcl4gCaCcsSgCE86bbalc99faOaCfgORbbaAcsGgAaAcsSgAE86bbalc9:faOaAfgORbbaoRbrgocl4gAaAcsSgAE86bbalcufaOaAfglRbbaocsGgoaocsSgoE86bbalaofhoxekaOao8Pbb83bbaOcwfaocwf8Pbb83bbaoczfhokdnaiam9pmbaiczfhlarao9RcL0mekkaiam6miaoTmidnakTmbawaPfRbbhOawcj;cbfhlazhiakhHinaialRbbgAce4cbaAceG9R7aOfgO86bbaiadfhialcefhlaHcufgHmbkkazcefhzaPcefgPad6hsaohHaPad9hmexvkkcbhoasceGmdxikaoaxad2fhPdnakTmbcbhmcehsawcjdfhCinarao9Rax6miaoTmdaoaxfhoawamfRbbhOawcj;cbfhlaChiakhHinaialRbbgAce4cbaAceG9R7aOfgO86bbaiadfhialcefhlaHcufgHmbkaCcefhCamcefgmad6hsamad9hmbkaPhoxikcbhlcehsinarao9Rax6mdaoTmeaoaxfhoalcefglad6hsadal9hmbkaPhoxdkcbhoasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqaombkc9:hoxekcbc99arao9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;xzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfalaDcu7gPcl4fcsGcitfgsydlhzasydbhHdnaDcsGgDak9pmbavaiaPfcsGcdtfydbaxaDEhsaDThDdndnadcd9hmbabarcetfgPaH87ebaPcdfaz87ebaPclfas87ebxekabarcdtfgPaHBdbaPclfazBdbaPcwfasBdbkaxaDfhxavc;abfalcitfgPasBdbaPazBdlavaicdtfasBdbavc;abfalcefcsGglcitfgPaHBdbaPasBdlaiaDfhialcefhlxdkdndnaDcsSmbamaDfaDc987fcefhmxekaocefhDao8SbbgscFeGhPdndnascu9mmbaDhoxekaocvfhoaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhokaPce4cbaPceG9R7amfhmkdndnadcd9hmbabarcetfgDaH87ebaDcdfaz87ebaDclfam87ebxekabarcdtfgDaHBdbaDclfazBdbaDcwfamBdbkavc;abfalcitfgDamBdbaDazBdlavaicdtfamBdbavc;abfalcefcsGglcitfgDaHBdbaDamBdlaicefhialcefhlxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHcdfaD87ebaHclfas87ebxekabarcdtfgHaxBdbaHclfaDBdbaHcwfasBdbkavaicdtfaxBdbavc;abfalcitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfalcefcsGcitfgHasBdbaHaDBdlavaiaPfcsGgicdtfasBdbavc;abfalcdfcsGglcitfgDaxBdbaDasBdlalcefhlaiaOfhiazaOfhxxekaxcbaoRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbaocefhDxekaocdfhDao8SbegPcFeGhsdnaPcu9kmbaocofhAascFbGhscrhodninaD8SbbgPcFbGaotasVhsaPcu9kmeaDcefhDaocrfgoc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbgocFeGhPdnaocu9kmbaDcvfhzaPcFbGhPcrhodninas8SbbgDcFbGaotaPVhPaDcu9kmeascefhsaocrfgoc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashoxekascefhoas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninao8SbbgscFbGaDtaPVhPascu9kmeaocefhoaDcrfgDc8J9hmbkaOhoxekaocefhokaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDcdfaz87ebaDclfaO87ebxekabarcdtfgDaABdbaDclfazBdbaDcwfaOBdbkavc;abfalcitfgDazBdbaDaABdlavaicdtfaABdbavc;abfalcefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfalcdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiarcifgrae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;siliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabavcefciGaiVcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabavcdfciGaiVcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabavcufciGaiVcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabavciGaiVcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2gdTmbinababydbgecwtcw91:Yaece91cjjj;8ifcjjj98G::NUdbabclfhbadcufgdmbkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb",t="b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;a9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;d8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincehHalhOcbhAdninaraO9RaP6miavcj;cbfaAak2fhCaOaPfhlcbhidnakc;ab6mbaral9Rc;Gb6mbcbhoinaCaofhidndndndndnaOaoco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklbalczfhlkdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklzalczfhlkdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklaalczfhlkdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalclfaYpQbfaXc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalcwfaYpQbfaXc:q:yjjbfRbbfhlxekaialpbbbpkl8Walczfhlkaoc;abfhiaocjefak0meaihoaral9Rc;Fb0mbkkdndnaiak9pmbaici4hoinaral9RcK6mdaCaifhXdndndndndnaOaico4fRbbaocoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpklbxikaXalpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaXalpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAci6hHalhOaAcefgAclSmdxekkcbhlaHceGmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;tzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfalaDcu7gPcl4fcsGcitfgsydlhzasydbhHdnaDcsGgDak9pmbavaiaPfcsGcdtfydbaxaDEhsaDThDdndnadcd9hmbabarcetfgPaH87ebaPcdfaz87ebaPclfas87ebxekabarcdtfgPaHBdbaPclfazBdbaPcwfasBdbkaxaDfhxavc;abfalcitfgPasBdbaPazBdlavaicdtfasBdbavc;abfalcefcsGglcitfgPaHBdbaPasBdlaiaDfhialcefhlxdkdndnaDcsSmbamaDfaDc987fcefhmxekaocefhDao8SbbgscFeGhPdndnascu9mmbaDhoxekaocvfhoaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhokaPce4cbaPceG9R7amfhmkdndnadcd9hmbabarcetfgDaH87ebaDcdfaz87ebaDclfam87ebxekabarcdtfgDaHBdbaDclfazBdbaDcwfamBdbkavc;abfalcitfgDamBdbaDazBdlavaicdtfamBdbavc;abfalcefcsGglcitfgDaHBdbaDamBdlaicefhialcefhlxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHcdfaD87ebaHclfas87ebxekabarcdtfgHaxBdbaHclfaDBdbaHcwfasBdbkavaicdtfaxBdbavc;abfalcitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfalcefcsGcitfgHasBdbaHaDBdlavaiaPfcsGgicdtfasBdbavc;abfalcdfcsGglcitfgDaxBdbaDasBdlalcefhlaiaOfhiazaOfhxxekaxcbaoRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbaocefhDxekaocdfhDao8SbegPcFeGhsdnaPcu9kmbaocofhAascFbGhscrhodninaD8SbbgPcFbGaotasVhsaPcu9kmeaDcefhDaocrfgoc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbgocFeGhPdnaocu9kmbaDcvfhzaPcFbGhPcrhodninas8SbbgDcFbGaotaPVhPaDcu9kmeascefhsaocrfgoc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashoxekascefhoas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninao8SbbgscFbGaDtaPVhPascu9kmeaocefhoaDcrfgDc8J9hmbkaOhoxekaocefhokaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDcdfaz87ebaDclfaO87ebxekabarcdtfgDaABdbaDclfazBdbaDcwfaOBdbkavc;abfalcitfgDazBdbaDaABdlavaicdtfaABdbavc;abfalcefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfalcdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiarcifgrae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:wPliuo97eue978Jjjjjbca9Rhiaec98Ghldndnadcl9hmbdnalTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaipxbbbbbbbbbbbbbbbbgqpklbaiabalcdtfgdaeciGglcdtgv;8qbbdnalTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDaqp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkadaiav;8qbbskdnalTmbcbhvabhdinadczfgxaxpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgval6mbkkalae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabalcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oawaopmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalae9pmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbheabhdinadadpbbbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepkbbadczfhdaeclfgeav6mbkkdnaval9pmbaialciGgecdtgdVcbc;abad9R;8kbaiabavcdtfgvad;8qbbdnaeTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepklbkavaiad;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb",e=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),r=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var i=WebAssembly.validate(e)?t:n,o,s=WebAssembly.instantiate(u(i),{}).then(function(h){o=h.instance,o.exports.__wasm_call_ctors()});function u(h){for(var g=new Uint8Array(h.length),b=0;b<h.length;++b){var E=h.charCodeAt(b);g[b]=E>96?E-97:E>64?E-39:E+4}for(var T=0,b=0;b<h.length;++b)g[T++]=g[b]<60?r[g[b]]:(g[b]-60)*64+g[++b];return g.buffer.slice(0,T)}function l(h,g,b,E,T,_){var x=o.exports.sbrk,w=b+3&-4,S=x(w*E),C=x(T.length),R=new Uint8Array(o.exports.memory.buffer);R.set(T,C);var I=h(S,b,E,C,T.length);if(I==0&&_&&_(S,w,E),g.set(R.subarray(S,S+b*E)),x(S-x(0)),I!=0)throw new Error("Malformed buffer data: "+I)}var c={NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},d={ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"},f=[],v=0;function p(h){var g={object:new Worker(h),pending:0,requests:{}};return g.object.onmessage=function(b){var E=b.data;g.pending-=E.count,g.requests[E.id][E.action](E.value),delete g.requests[E.id]},g}function A(h){for(var g="var instance; var ready = WebAssembly.instantiate(new Uint8Array(["+new Uint8Array(u(i))+"]), {}).then(function(result) { instance = result.instance; instance.exports.__wasm_call_ctors(); });self.onmessage = workerProcess;"+l.toString()+y.toString(),b=new Blob([g],{type:"text/javascript"}),E=URL.createObjectURL(b),T=0;T<h;++T)f[T]=p(E);URL.revokeObjectURL(E)}function m(h,g,b,E,T){for(var _=f[0],x=1;x<f.length;++x)f[x].pending<_.pending&&(_=f[x]);return new Promise(function(w,S){var C=new Uint8Array(b),R=v++;_.pending+=h,_.requests[R]={resolve:w,reject:S},_.object.postMessage({id:R,count:h,size:g,source:C,mode:E,filter:T},[C.buffer])})}function y(h){s.then(function(){var g=h.data;try{var b=new Uint8Array(g.count*g.size);l(o.exports[g.mode],b,g.count,g.size,g.source,o.exports[g.filter]),self.postMessage({id:g.id,count:g.count,action:"resolve",value:b},[b.buffer])}catch(E){self.postMessage({id:g.id,count:g.count,action:"reject",value:E})}})}return{ready:s,supported:!0,useWorkers:function(h){A(h)},decodeVertexBuffer:function(h,g,b,E,T){l(o.exports.meshopt_decodeVertexBuffer,h,g,b,E,o.exports[c[T]])},decodeIndexBuffer:function(h,g,b,E){l(o.exports.meshopt_decodeIndexBuffer,h,g,b,E)},decodeIndexSequence:function(h,g,b,E){l(o.exports.meshopt_decodeIndexSequence,h,g,b,E)},decodeGltfBuffer:function(h,g,b,E,T,_){l(o.exports[d[T]],h,g,b,E,o.exports[c[_]])},decodeGltfBufferAsync:function(h,g,b,E,T){return f.length>0?m(h,g,b,d[E],c[T]):s.then(function(){var _=new Uint8Array(h*g);return l(o.exports[d[E]],_,h,g,b,o.exports[c[T]]),_})}}}(),EXTENSION_NAME$2="EXT_meshopt_compression",EXT_meshopt_compression=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.loadBufferView=function(e,r){var i=r.json,o=i.bufferViews[e];if(o.extensions&&o.extensions[EXTENSION_NAME$2]){var s=o.extensions[EXTENSION_NAME$2],u=r.loadBuffer(s.buffer);if(!meshoptDecoder.supported){if(i.extensionsRequired&&i.extensionsRequired.indexOf(EXTENSION_NAME$2)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return Promise.all([u,meshoptDecoder.ready]).then(function(l){var c=l[0],d=s.byteOffset||0,f=s.byteLength||0,v=s.count,p=s.byteStride,A=new ArrayBuffer(v*p),m=new Uint8Array(c,d,f);return meshoptDecoder.decodeGltfBuffer(new Uint8Array(A),v,p,m,s.mode,s.filter),A})}else return null},t}(BaseExtension),EXTENSION_NAME$1="EXT_texture_webp",EXT_texture_webp=function(n){__extends(t,n);function t(){var e=n!==null&&n.apply(this,arguments)||this;return e.supportsWep=!1,e}return t.prototype.prepare=function(e){var r=this;return imageSupport().then(function(i){r.supportsWep=i.webp})},t.prototype.loadTexture=function(e,r){var i=r.json,o=i.textures[e];if(!o.extensions||!o.extensions[EXTENSION_NAME$1]||!this.supportsWep)return null;var s=o.extensions[EXTENSION_NAME$1];return r.loadImage(s.source).then(function(u){var l=new THREE__namespace.Texture(u);l.needsUpdate=!0,l.flipY=!1,o.name&&(l.name=o.name);var c=r.json.samplers||{},d=c[o.sampler]||{};return l.magFilter=WEBGL_FILTERS[d.magFilter]||THREE__namespace.LinearFilter,l.minFilter=WEBGL_FILTERS[d.minFilter]||THREE__namespace.LinearMipmapLinearFilter,l.wrapS=WEBGL_WRAPPINGS[d.wrapS]||THREE__namespace.RepeatWrapping,l.wrapT=WEBGL_WRAPPINGS[d.wrapT]||THREE__namespace.RepeatWrapping,l.onUpdate=function(){u.close()},l})},t}(BaseExtension),EXTENSION_NAME="CESIUM_RTC",CESIUM_RTC=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.emitResult=function(e,r){if(r.json.extensions[EXTENSION_NAME]&&r.json.extensions[EXTENSION_NAME].center){var i=r.json.extensions[EXTENSION_NAME].center;e.CESIUM_RTC={center:new THREE__namespace.Vector3().fromArray(i)}}},t}(BaseExtension);const pointcloudFragmentShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,o=0,s="";return t[o].split(s).map(function(u){return u.charCodeAt(o)>i?u:String.fromCharCode((u.charCodeAt(o)+r)%i)}).join(s)}("{vs|z-sy|n-|}npv\bH{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-u|{Sy||V{qr\x07H0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6--{vs|z-rp@-p|{n{P|y|H0r{qvs0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6n\bv{t-rp@-[|znyH0r{qvs0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6--n\bv{t-sy|n-Sy||H0ryr--{vs|z-sy|n-sy||H0r{qvsn\bv{t-rpA-|yq]|vv|{Hn\bv{t-rp@-P|y|Hn\bv{t-sy|n-Y|tQr}uHn\bv{t-sy|n-]|v{`v rHp-Pyv}}r-\n--znA-znv\x07V{rrH--sy|n-sy||V{qr\x07H\fH0vs-[bZlPYV]]R_`-K-=--{vs|z-Pyv}}r-pyv}}rh[bZlPYV]]R_`jH0r{qvs|vq-znv{56-\n--sy|n-ory|{tv{tSY||-J-=;=H--0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6----ory|{tv{tSY||-J-Sy||H--0ryr----ory|{tv{tSY||-J-sy||H--0r{qvs--<<前置裁切计算--0vs-[bZlPYV]]R_`-K-=----o||y-pyv}}rqH----rpA-pyv}}r]|vv|{H----0}ntzn-{|yyly||}ln----s|-5-v{-v-J-=H-v-I-[bZlPYV]]R_`H-v-88-6-\n------pyv}}r]|vv|{-J-pyv}}rh-v-j;znv\x07V{rr-7-|yq]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5ory|{tv{tSY||-:-pyv}}rh-v-j;sy||V{qr\x076-I->;=6H------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\x07-K-:=;B-33-pyv}}r]|vv|{;\x07-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\b-K-:=;B-33-pyv}}r]|vv|{;\b-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{; -K-:=;B-33-pyv}}r]|vv|{; -I-=;BH------vs-5pyv}}rq6-\n--------qvpnqH------\f----\f----0}ntzn-{|yyly||}lr{q--0r{qvs--<<楼层选择计算--sy|n-sy||\\}npv\b-J->;=H--vs-5u|{Sy||V{qr\x07-KJ-=;=-33-no5ory|{tv{tSY||-:-u|{Sy||V{qr\x076-KJ->;=6-\n----sy||\\}npv\b-J-=;>H--\f--rp@-sv{nyP|y|-J-P|y|H--0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6----0vs-qrsv{rq5b`Rl]\\V[alONPXlUVQQR[6------rp@-pnzrnQvrpv|{-J-{|znyv r5pnzrn]|vv|{-:-|yq]|vv|{;\x07\b 6H------vs-5q|5pnzrnQvrpv|{9-[|zny6-I-=;=6-\n--------qvpnqH------\f----0ryvs-qrsv{rq5b`Rl]\\V[alONPXlQN_X6------rp@-pnzrnQvrpv|{-J-{|znyv r5pnzrn]|vv|{-:-|yq]|vv|{;\x07\b 6H------vs-5q|5pnzrnQvrpv|{9-[|zny6-I-=;=6-\n--------sv{nyP|y|-J-sv{nyP|y|-7-=;EH------\f----0r{qvs--0r{qvs--0vs-qrsv{rq5b`Rl]\\V[al`UN]RlPV_PYR6----sy|n--J-?;=-7-tyl]|v{P||q;\x07-:->;=H----sy|n--J-?;=-7-tyl]|v{P||q;\b-:->;=H----sy|n-pp-J-7-8-7H----vs-5]|v{`v r-K-E;=-33-pp-K->;=6-\n------qvpnqH----\f--0r{qvs--0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6----tylSntP|y|-J-rpA5p|{n{P|y|;9-p|{n{P|y|;t9-p|{n{P|y|;o9->;=6H--0ryr----tylSntP|y|-J-rpA5sv{nyP|y|9-z|qryNy}un-7-|}npv\b-7-sy||\\}npv\b6H--0r{qvs--0vs-qrsv{rq5b`RlRQY6----tylSntP|y|;n-J-Y|tQr}uH--0r{qvs--0vs-qrsv{rq5b`RlU^ldRVTUa6----sy|n-qvn{pr-J-?;=-7-yr{tu5tyl]|v{P||q;\x07\b-:-=;B6H----sy|n-rvtu-J-zn\x075=;=9->;=-:-qvn{pr6H----rvtu-J-}|5rvtu9->;B6H----tylSntP|y|;n-J-rvtuH----tylSntP|y|;\x07\b -J-tylSntP|y|;\x07\b -7-rvtuH--0r{qvs\f"),pointcloudVertexShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,o=0,s="";return t[o].split(s).map(function(u){return u.charCodeAt(o)>i?u:String.fromCharCode((u.charCodeAt(o)+r)%i)}).join(s)}("nvor-rp@-p|y|H0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6--nvor-sy|n-sy||H--n\bv{t-sy|n-Sy||H0r{qvs{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H{vs|z-sy|n-}|v{`pnyrH{vs|z-sy|n-}|v{Zv{]v\x07ryH{vs|z-sy|n-}|v{Zn\x07]v\x07ryH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-tr|zrvpR|H0vs-qrsv{rq5b`Rl]\\V[alP\\Y\\_lNYaVabQR6--{vs|z-nz}yr?Q-tnqvr{ar\x07rH0r{qvsn\bv{t-rpA-|yq]|vv|{Hn\bv{t-rp@-P|y|H0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6--n\bv{t-rp@-[|znyH0r{qvs0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvsn\bv{t-sy|n-]|v{`v rH0qrsv{r-]V-@;>A>BF?CB@BEFDF@rp@-_TOa|Yv{rn5-rp@-nyr-6-\n--r{-rp@5-zv\x075-}|5-nyr;to-7-=;FADECD?FEC-8-rp@5-=;=B?>@?D=>A-69-rp@5-?;A-6-69-nyr;to-7-=;=DD@FF@E=E9-rp@5-yraun{R\0ny5-nyr;to9-rp@5-=;=A=AB-6-6-6-66H\frp@-Yv{rna|_TO5-rp@-nyr-6-\nr{-rp@5-zv\x075-}|5-nyr;to9-rp@5-=;A>CCC-6-6-7->;=BB-:-rp@5-=;=BB-69-nyr;to-7->?;F?9-rp@5-yraun{R\0ny5-nyr;to9-rp@5-=;==@>@=E-6-6-6-66H\frp@-trP|y|O\bUrvtu5nz}yr?Q-tnqvr{ar\x07r9-rpA-|yq]|vv|{6-\n--r{-r\x07r?Q5tnqvr{ar\x07r9-rp?5|yq]|vv|{;\b-<->=;=9-=;B66;toH\f|vq-znv{56-\n--rpA-n{s|zrq-J-rpA5}|vv|{9->;=6H--rpA-z]|vv|{-J-z|qrycvrZnv\x07-7-n{s|zrqH--|yq]|vv|{-J-z|qryZnv\x07-7-n{s|zrqH--0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6----Sy||-J-sy||H--0r{qvs--tyl]|vv|{-J-}|wrpv|{Znv\x07-7-z]|vv|{H--<<传递nvor的p|y|到s里使用--<<动态调整}|v{`v r--sy|n-rny]|v{`v r-J-}|v{`pnyr-7-}v\x07ry_nv|H--0vs-qrsv{rq5b`Rl]\\V[al`VgRlTR\\ZRa_VP6----rny]|v{`v r-7J-tr|zrvpR|H----sy|n-urvtu-J->;=-<-}|wrpv|{Znv\x07h>jh>j-7-zv\x075>;=9-:z]|vv|{; 9-:}|wrpv|{Znv\x07h?jh@j6-7-?;=H----rny]|v{`v r-J-r|yv|{;\b-7-rny]|v{`v r-<-urvtuH--0ryvs-qrsv{rq5b`Rl]\\V[al`VgRlNaaR[bNaV\\[6----sy|n-urvtu-J->;=-<-}|wrpv|{Znv\x07h>jh>j-7-zv\x075>;=9-:z]|vv|{; 9-:}|wrpv|{Znv\x07h?jh@j6-7-?;=H----rny]|v{`v r-J-r|yv|{;\b-7-rny]|v{`v r-<-urvtuH--0r{qvs--tyl]|v{`v r-J-pynz}5rny]|v{`v r9-}|v{Zv{]v\x07ry-7-}v\x07ry_nv|9-}|v{Zn\x07]v\x07ry-7-}v\x07ry_nv|6H--]|v{`v r-J-tyl]|v{`v rH--0vs-qrsv{rq5b`Rl]\\V[alP\\Y\\_lNYaVabQR6----P|y|-J-trP|y|O\bUrvtu5tnqvr{ar\x07r9-|yq]|vv|{6H--0ryr----P|y|-J-p|y|H--0r{qvs--0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6----[|zny-J-{|znyv r5zn@5z|qryZnv\x076-7-{|zny6H--0r{qvs--0vs-qrsv{rq5b`RlRQY6----Y|tQr}u-J-y|t?5:z]|vv|{; 6H--0r{qvs--0vs-qrsv{rq5b`RlU^lQR]aU6----<<-sy|n-}|wSnp|-J-:=;B-7-r|yv|{;\b-<-5n{5s|-<-?;=6-7-z]|vv|{; 6H----<<-sy|n-_nqv-J-rny]|v{`v r-<-}|wSnp|H----sy|n-|vtv{nyQr}u-J-tyl]|vv|{;H----sy|n-nqwrqQr}u-J-|vtv{nyQr}u-8-=;>H----sy|n-nqw-J-nqwrqQr}u-<-|vtv{nyQr}uH----z]|vv|{;\x07\b -J-z]|vv|{;\x07\b -7-nqwH----tyl]|vv|{-J-}|wrpv|{Znv\x07-7-z]|vv|{H--0r{qvs\f");var scratchVector4=new THREE__namespace.Vector4,shaderUniforms=Object.assign({pointScale:new THREE__namespace.Uniform(1),pointMinPixel:new THREE__namespace.Uniform(1),pointMaxPixel:new THREE__namespace.Uniform(1),opacity:new THREE__namespace.Uniform(1),gradientTexture:new THREE__namespace.Uniform(null),modelAlpha:new THREE__namespace.Uniform(0),clippers:new THREE__namespace.Uniform([]),shownFloorIndex:new THREE__namespace.Uniform(-1),constantColor:new THREE__namespace.Uniform(null),geometricError:new THREE__namespace.Uniform(0),pixelRatio:new THREE__namespace.Uniform(1),resolution:new THREE__namespace.Uniform(new THREE__namespace.Vector2(512,512)),floor:new THREE__namespace.Uniform(0)},THREE__namespace.UniformsUtils.clone(THREE__namespace.UniformsLib.common)),PBMPointCloudMaterial=function(n){__extends(t,n);function t(e){e===void 0&&(e={});var r,i,o,s,u,l,c,d,f,v,p,A,m,y,h,g,b,E,T,_,x=n.call(this,{vertexShader:pointcloudVertexShader,fragmentShader:pointcloudFragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(shaderUniforms),defines:{USE_CONSTANT_COLOR:!1,USE_EDL:!1,USE_HQ_WEIGHT:!1,USE_HQ_DEPTH:!1,NUM_CLIPPING_BOX:!1,USE_CLIPFLOOR:!1,USE_VERTEX_FLOOR:!1,USE_MAP:!0,USE_UV:!0,USE_LUMINANCE:!1,USE_PANO_OPACITY:!1,USE_BLACK_TRANSITION:!1,USE_PANO_VIDEO:!1,USE_POINT_NORMAL:!1,USE_POINT_SHAPE_CIRCLE:!1,USE_POINT_SIZE_ATTENUATION:!1,USE_POINT_SIZE_GEOMETRIC:!1,USE_POINT_BACK_HIDDEN:!1,USE_POINT_BACK_DARK:!1}})||this,w;return Object.defineProperties(x,{constantColor:{get:function(){return this.uniforms.constantColor.value},set:function(S){this.uniforms.constantColor.value=S;var C=this.defines.USE_CONSTANT_COLOR,R=S!==null;C!==R&&(this.defines.USE_CONSTANT_COLOR=R,this.needsUpdate=!0)}},opacity:{get:function(){return this.uniforms.opacity.value},set:function(S){this.uniforms.opacity.value=S}},modelAlpha:{get:function(){return this.uniforms.modelAlpha.value},set:function(S){this.uniforms.modelAlpha.value=S}},shownFloorIndex:{get:function(){return this.uniforms.shownFloorIndex.value},set:function(S){this.uniforms.shownFloorIndex.value=S}},clippers:{get:function(){return w},set:function(S){w!==S&&(w=S,this.uniforms.clippers.value=(w||[]).map(function(C){var R=typeof C.floorIndex=="number"?C.floorIndex:-1,I=new THREE__namespace.Matrix4().getInverse(C.clippingBoxMatrix);return{matrixInverse:I,floorIndex:R}}),this.needsUpdate=!0)}},pointColor:{get:function(){return this.defines.USE_POINT_COLOR_ALTITUDE===!0?"ALTITUDE":"RGB"},set:function(S){var C=S==="ALTITUDE";this.defines.USE_POINT_COLOR_ALTITUDE!==C&&(this.defines.USE_POINT_COLOR_ALTITUDE=C,this.needsUpdate=!0)}},pointSize:{get:function(){return this.defines.USE_POINT_SIZE_GEOMETRIC===!0?"GEOMETRIC":this.defines.USE_POINT_SIZE_ATTENUATION===!0?"ATTENUATION":"FIXED"},set:function(S){var C=S==="ATTENUATION",R=S==="GEOMETRIC";this.defines.USE_POINT_SIZE_GEOMETRIC!==R&&(this.defines.USE_POINT_SIZE_GEOMETRIC=R,this.needsUpdate=!0),this.defines.USE_POINT_SIZE_ATTENUATION!==C&&(this.defines.USE_POINT_SIZE_ATTENUATION=C,this.needsUpdate=!0)}},pointShape:{get:function(){return this.defines.USE_POINT_SHAPE_CIRCLE===!0?"CIRCLE":"SQUARE"},set:function(S){var C=S==="CIRCLE";this.defines.USE_POINT_SHAPE_CIRCLE!==C&&(this.defines.USE_POINT_SHAPE_CIRCLE=C,this.needsUpdate=!0)}},pointScale:{get:function(){return this.uniforms.pointScale.value},set:function(S){this.uniforms.pointScale.value=S}},pointBack:{get:function(){return this.defines.USE_POINT_BACK_HIDDEN===!0?"HIDDEN":this.defines.USE_POINT_BACK_DARK===!0?"DARK":"VISIBLE"},set:function(S){var C=S==="HIDDEN",R=S==="DARK";this.defines.USE_POINT_BACK_HIDDEN!==C&&(this.defines.USE_POINT_BACK_HIDDEN=C,this.needsUpdate=!0),this.defines.USE_POINT_BACK_DARK!==R&&(this.defines.USE_POINT_BACK_DARK=R,this.needsUpdate=!0)}},pointMinPixel:{get:function(){return this.uniforms.pointMinPixel.value},set:function(S){this.uniforms.pointMinPixel.value=S}},pointMaxPixel:{get:function(){return this.uniforms.pointMaxPixel.value},set:function(S){this.uniforms.pointMaxPixel.value=S}},useEDL:{get:function(){return this.defines.USE_EDL},set:function(S){S!==this.defines.USE_EDL&&(this.defines.USE_EDL=S,this.needsUpdate=!0)}},useHQWeight:{get:function(){return this.defines.USE_HQ_WEIGHT},set:function(S){S!==this.defines.USE_HQ_WEIGHT&&(this.defines.USE_HQ_WEIGHT=S,this.needsUpdate=!0)}},useHQDepth:{get:function(){return this.defines.USE_HQ_DEPTH},set:function(S){S!==this.defines.USE_HQ_DEPTH&&(this.defines.USE_HQ_DEPTH=S,this.needsUpdate=!0)}},gradientTexture:{get:function(){return this.uniforms.gradientTexture.value},set:function(S){this.uniforms.gradientTexture.value=S}},floor:{get:function(){return this.uniforms.floor.value},set:function(S){this.uniforms.floor.value=S}}}),x.pano0=(r=e.pano0)!==null&&r!==void 0?r:defaultPbmParameters.pano0,x.pano1=(i=e.pano1)!==null&&i!==void 0?i:defaultPbmParameters.pano1,x.modelAlpha=(o=e.modelAlpha)!==null&&o!==void 0?o:defaultPbmParameters.modelAlpha,x.progress=(s=e.progress)!==null&&s!==void 0?s:defaultPbmParameters.progress,x.transition=(u=e.transition)!==null&&u!==void 0?u:defaultPbmParameters.transition,x.constantColor=(l=e.constantColor)!==null&&l!==void 0?l:defaultPbmParameters.constantColor,x.opacity=(c=e.opacity)!==null&&c!==void 0?c:defaultPbmParameters.opacity,x.shownFloorIndex=(d=e.shownFloorIndex)!==null&&d!==void 0?d:defaultPbmParameters.shownFloorIndex,x.clippers=(f=e.clippers)!==null&&f!==void 0?f:defaultPbmParameters.clippers,x.useEDL=(v=e.useEDL)!==null&&v!==void 0?v:defaultPbmParameters.useEDL,x.useHQWeight=(p=e.useHQWeight)!==null&&p!==void 0?p:defaultPbmParameters.useHQWeight,x.useHQDepth=(A=e.useHQDepth)!==null&&A!==void 0?A:defaultPbmParameters.useHQDepth,x.pointColor=(m=e.pointColor)!==null&&m!==void 0?m:defaultPbmParameters.pointColor,x.pointShape=(y=e.pointShape)!==null&&y!==void 0?y:defaultPbmParameters.pointShape,x.pointSize=(h=e.pointSize)!==null&&h!==void 0?h:defaultPbmParameters.pointSize,x.pointScale=(g=e.pointScale)!==null&&g!==void 0?g:defaultPbmParameters.pointScale,x.pointBack=(b=e.pointBack)!==null&&b!==void 0?b:defaultPbmParameters.pointBack,x.pointMinPixel=(E=e.pointMinPixel)!==null&&E!==void 0?E:defaultPbmParameters.pointMinPixel,x.pointMaxPixel=(T=e.pointMaxPixel)!==null&&T!==void 0?T:defaultPbmParameters.pointMaxPixel,x.gradientTexture=(_=e.gradientTexture)!==null&&_!==void 0?_:defaultPbmParameters.gradientTexture,x.floor=0,x.transparent=!1,x}return t.prototype.onBeforeCompile=function(e,r){var i,o,s=String((o=(i=this.clippers)===null||i===void 0?void 0:i.length)!==null&&o!==void 0?o:0);e.vertexShader=e.vertexShader.replace(/NUM_CLIPPERS/g,s),e.fragmentShader=e.fragmentShader.replace(/NUM_CLIPPERS/g,s)},t.prototype.update=function(e,r){if(r instanceof Camera)this.uniforms.pixelRatio.value=r.pixelRatio,this.uniforms.resolution.value.copy(r.resolution);else{this.uniforms.pixelRatio.value=e.getPixelRatio();var i=e.getViewport(scratchVector4);this.uniforms.resolution.value.set(i.z,i.w)}this.transparent=this.shownFloorIndex>-1||this.opacity<1||this.modelAlpha<1,this.useEDL&&(this.transparent=!1),this.useHQDepth&&(this.depthTest=!0,this.depthWrite=!0),this.useHQWeight?(this.depthWrite=!1,this.blending=THREE__namespace.CustomBlending,this.blendSrc=THREE__namespace.SrcAlphaFactor,this.blendSrcAlpha=THREE__namespace.SrcAlphaFactor,this.blendDst=THREE__namespace.OneFactor,this.blendDstAlpha=THREE__namespace.OneFactor):(this.depthWrite=!0,this.transparent=this.shownFloorIndex>-1||this.opacity<1||this.modelAlpha<1,this.blendDst=THREE__namespace.OneMinusSrcAlphaFactor,this.blendEquation=THREE__namespace.AddEquation,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.blending=THREE__namespace.NormalBlending)},t.prototype.syncModel=function(e){var r="".concat(e.id,":").concat(e.materialVersion);r!==this.syncModelVersion&&(Object.assign(this,e.getMaterial()),this.syncModelVersion=r)},t}(THREE__namespace.ShaderMaterial),PBM_mesh=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.loadMesh=function(e,r){var i=this,o=r.json.meshes[e],s=o.primitives,u=Promise.all(s.map(function(d){return r.loadGeometry(d)})),l=Promise.all(s.map(function(d){return i.loadPBMMaterial(d,r)})),c=Promise.all([u,l]).then(function(d){for(var f=d[0],v=d[1],p=[],A=0;A<s.length;A++){var m=s[A],y=f[A],h=v[A];y.attributes.normal===void 0&&(h.flatShading=!0),y.attributes.tangent===void 0&&h.normalScale&&(h.normalScale.y*=-1);var g=m.mode||WEBGL_CONSTANTS.TRIANGLES,b=void 0;if(g===WEBGL_CONSTANTS.TRIANGLES||g===WEBGL_CONSTANTS.TRIANGLE_STRIP||g===WEBGL_CONSTANTS.TRIANGLE_FAN)g===WEBGL_CONSTANTS.TRIANGLE_STRIP?y=r.toGeometryTrianglesDrawMode(y,THREE__namespace.TriangleStripDrawMode):g===WEBGL_CONSTANTS.TRIANGLE_FAN&&(y=r.toGeometryTrianglesDrawMode(y,THREE__namespace.TriangleFanDrawMode)),y.clearGroups(),y.addGroup(0,y.index?y.index.count:y.attributes.position.count,0),y.attributes.normal||y.computeVertexNormals(),r.disposeSet.add(y),b=new PBMMesh(y,[h]);else if(g===WEBGL_CONSTANTS.POINTS)b=new PBMPointCloud(y,h);else throw new Error("glTF: Primitive mode unsupported: "+g);b.name=r.createUniqueName(o.name||"mesh_"+e),p.push(b)}if(p.length===1)return p[0];for(var E=new THREE__namespace.Group,T=0,_=p;T<_.length;T++){var b=_[T];E.add(b)}return E});return c},t.prototype.loadPBMMaterial=function(e,r){var i,o=(i=e.mode)!==null&&i!==void 0?i:WEBGL_CONSTANTS.TRIANGLES,s=null;if(o===WEBGL_CONSTANTS.TRIANGLES||o===WEBGL_CONSTANTS.TRIANGLE_STRIP||o===WEBGL_CONSTANTS.TRIANGLE_FAN)s=this.loadPBMMeshMaterial(e,r);else if(o===WEBGL_CONSTANTS.POINTS)s=this.loadPBMPointCloudMaterial(e,r);else throw new Error("glTF: Primitive mode unsupported: "+o);return s},t.prototype.extendTexture=function(e,r,i){return e.minFilter=THREE__namespace.LinearFilter,e.magFilter=THREE__namespace.LinearFilter,e.generateMipmaps=!1,e},t.prototype.loadPBMPointCloudMaterial=function(e,r){var i=new PBMPointCloudMaterial;return Object.keys(e.attributes).filter(function(o){return ATTRIBUTES[o]==="normal"}).length>0&&(i.defines.USE_POINT_NORMAL=!0),r.disposeSet.add(i),Promise.resolve(i)},t.prototype.loadPBMMeshMaterial=function(e,r){var i=[],o=new PBMMeshMaterial;if(o.uniforms.diffuse.value=new THREE__namespace.Color(1,1,1),o.uniforms.exposure.value=3.3,o.defines.USE_MAP=!1,Object.keys(e.attributes).filter(function(d){return ATTRIBUTES[d]==="color"}).length>0&&(o.vertexColors=!0),Object.keys(e.attributes).filter(function(d){return ATTRIBUTES[d]==="tangent"}).length===0&&(o.normalScale&&(o.normalScale.y*=-1),o.clearcoatNormalScale&&(o.clearcoatNormalScale.y*=-1)),e.material!==void 0){var s=r.json.materials[e.material];s.name&&(o.name=s.name);var u=s.pbrMetallicRoughness||{};if(Array.isArray(u.baseColorFactor)){var l=u.baseColorFactor;o.uniforms.diffuse.value.fromArray(l)}if(u.baseColorTexture!==void 0&&i.push(r.createMaterialTexture(u.baseColorTexture).then(function(d){r.disposeSet.add(d),o.uniforms.map.value=d,o.defines.USE_MAP=!0})),s.doubleSided===!0&&(o.side=THREE__namespace.DoubleSide),s.normalTexture!==void 0&&(i.push(r.createMaterialTexture(s.normalTexture).then(function(d){r.disposeSet.add(d),o.uniforms.normalMap.value=d})),o.uniforms.normalScale.value=new THREE__namespace.Vector2(1,1),s.normalTexture.scale!==void 0)){var c=s.normalTexture.scale;o.uniforms.normalScale.value.set(c,c)}}return r.disposeSet.add(o),Promise.all(i).then(function(){return o})},t}(BaseExtension),EXTENSIONS={KHR_binary_glTF,KHR_draco_mesh_compression,KHR_texture_basisu,KHR_texture_transform,KHR_mesh_quantization,EXT_meshopt_compression,EXT_texture_webp,CESIUM_RTC,PBM_mesh};function parseGltf(n,t){var e,r,i,o={};if(t.addonExtensions)for(var s=0,u=t.addonExtensions;s<u.length;s++){var l=u[s];o[l]=new EXTENSIONS[l]}var c;if(typeof n=="string")c=n;else{var d=EXTENSIONS.KHR_binary_glTF.getMagic(n);if(d===EXTENSIONS.KHR_binary_glTF.HEADER_MAGIC){var f=new EXTENSIONS.KHR_binary_glTF;try{f.loadGlbBinary(n)}catch(h){return Promise.reject(h)}o.KHR_binary_glTF=f,c=f.content}else c=decodeText(new Uint8Array(n))}var v=JSON.parse(c);if(v.asset===void 0||Number(v.asset.version[0])<2)return Promise.reject(new Error("glTF: Unsupported asset. glTF versions >=2.0 are supported."));if(v.extensionsUsed)for(var p=v.extensionsRequired||[],A=0;A<v.extensionsUsed.length;A++){var m=v.extensionsUsed[A];o[m]||(EXTENSIONS[m]?o[m]=new EXTENSIONS[m]:p.indexOf(m)>=0&&console.warn('glTF: Unknown extension "'+m+'".'))}var y=new Parser(v,o,{copyUV2:(e=t.copyUV2)!==null&&e!==void 0?e:!0,resourcePath:(r=t.resourcePath)!==null&&r!==void 0?r:"",search:(i=t.search)!==null&&i!==void 0?i:"",fetcher:t.fetcher});return y.parse()}var ROTATE_X_MATRIX$1=new THREE__namespace.Matrix4().fromArray([1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1]);function loadB3dm(n,t){var e={uri:n,gltfUpAxis:t.upAxis};return Promise.resolve().then(function(){return t.fetcher.ajax(n,{responseType:"arraybuffer"}).then(function(r){return r.body})}).then(function(r){return Promise.resolve(0).then(function(i){return parseHeader(e,r,i)}).then(function(i){return parseTable(e,r,i)}).then(function(i){return parseGlTFArrayBuffer(e,r,i)})}).then(function(){var r;return parseGltf(e.gltfArrayBuffer,{copyUV2:!1,addonExtensions:["PBM_mesh"],resourcePath:n.slice(0,n.lastIndexOf("/")+1),search:(r=n.split("?")[1])!==null&&r!==void 0?r:"",fetcher:t.fetcher}).then(function(i){var o=new THREE__namespace.Matrix4;t.upAxis!=="Z"&&o.premultiply(ROTATE_X_MATRIX$1);var s=new THREE__namespace.Matrix4().setPosition(e.rtcCenter[0],e.rtcCenter[1],e.rtcCenter[2]);if(o.premultiply(s),i.CESIUM_RTC){var u=new THREE__namespace.Matrix4().setPosition(i.CESIUM_RTC.center);o.premultiply(u)}var l=i.scene;return l.applyMatrix4(o),{type:"b3dm",uri:e.uri,byteLength:e.byteLength,object:l,dispose:function(){return i.dispose()}}})})}const encodedJs="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIEIoYSl7b25tZXNzYWdlPWZ1bmN0aW9uKHIpe1Byb21pc2UucmVzb2x2ZShyLmRhdGEpLnRoZW4oZnVuY3Rpb24obil7cmV0dXJuIGEobil9KS50aGVuKGZ1bmN0aW9uKG4pe3ZhciBlPW4ub3V0cHV0LHQ9bi50cmFuc2ZlcjtyZXR1cm4gcG9zdE1lc3NhZ2UoZSx0KX0pLmNhdGNoKGZ1bmN0aW9uKG4pe3JldHVybiBwb3N0TWVzc2FnZSh7JCRlcnJvcjpufSl9KX19dmFyIHUseTsoZnVuY3Rpb24oYSl7YVthLkJZVEU9NTEyMF09IkJZVEUiLGFbYS5VTlNJR05FRF9CWVRFPTUxMjFdPSJVTlNJR05FRF9CWVRFIixhW2EuU0hPUlQ9NTEyMl09IlNIT1JUIixhW2EuVU5TSUdORURfU0hPUlQ9NTEyM109IlVOU0lHTkVEX1NIT1JUIixhW2EuSU5UPTUxMjRdPSJJTlQiLGFbYS5VTlNJR05FRF9JTlQ9NTEyNV09IlVOU0lHTkVEX0lOVCIsYVthLkZMT0FUPTUxMjZdPSJGTE9BVCIsYVthLkRPVUJMRT01MTMwXT0iRE9VQkxFIn0pKHl8fCh5PXt9KSk7dmFyIGM9KHU9e30sdVt5LkRPVUJMRV09RmxvYXQ2NEFycmF5LHVbeS5GTE9BVF09RmxvYXQzMkFycmF5LHVbeS5VTlNJR05FRF9TSE9SVF09VWludDE2QXJyYXksdVt5LlVOU0lHTkVEX0lOVF09VWludDMyQXJyYXksdVt5LlVOU0lHTkVEX0JZVEVdPVVpbnQ4QXJyYXksdVt5LkJZVEVdPUludDhBcnJheSx1W3kuU0hPUlRdPUludDE2QXJyYXksdVt5LklOVF09SW50MzJBcnJheSx1KSxGPXtET1VCTEU6eS5ET1VCTEUsRkxPQVQ6eS5GTE9BVCxVTlNJR05FRF9TSE9SVDp5LlVOU0lHTkVEX1NIT1JULFVOU0lHTkVEX0lOVDp5LlVOU0lHTkVEX0lOVCxVTlNJR05FRF9CWVRFOnkuVU5TSUdORURfQllURSxCWVRFOnkuQllURSxTSE9SVDp5LlNIT1JULElOVDp5LklOVH07ZnVuY3Rpb24gTyhhKXt2YXIgcj1jW2FdO2lmKCFyKXRocm93IG5ldyBFcnJvcigiRmFpbGVkIHRvIGNvbnZlcnQgR0wgdHlwZSIpO3JldHVybiByfWZ1bmN0aW9uIHAoYSl7dmFyIHI9TyhhKTtyZXR1cm4gci5CWVRFU19QRVJfRUxFTUVOVH1mdW5jdGlvbiBfKGEscixuLGUpe249PT12b2lkIDAmJihuPTApO3ZhciB0PU8oYSk7aWYobiVwKGEpIT09MCl7dmFyIGk9ZT9yLnNsaWNlKG4sbitlKnAoYSkpOnIuc2xpY2Uobik7cmV0dXJuIG5ldyB0KGkpfWVsc2UgcmV0dXJuIG5ldyB0KHIsbixlIT1udWxsP2U6KHIuYnl0ZUxlbmd0aC1uKS9wKGEpKX1mdW5jdGlvbiBsKGEpe3ZhciByPUZbYV07aWYoIXIpdGhyb3cgbmV3IEVycm9yKCJGYWlsZWQgdG8gY29udmVydCBHTCB0eXBlIik7cmV0dXJuIHJ9dmFyIFI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKHIsbil7dGhpcy5mZWF0dXJlc0xlbmd0aD0wLHRoaXMuY2FjaGVkVHlwZWRBcnJheXM9e30sdGhpcy5qc29uPXIsdGhpcy5idWZmZXI9bjt2YXIgZT10aGlzLmdldEdsb2JhbFByb3BlcnR5KCJQT0lOVFNfTEVOR1RIIix5LlVOU0lHTkVEX0lOVCwxKTtlJiZlLmxlbmd0aCYmKHRoaXMuZmVhdHVyZXNMZW5ndGg9ZVswXSl9cmV0dXJuIGEucHJvdG90eXBlLmdldEV4dGVuc2lvbj1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy5qc29uLmV4dGVuc2lvbnMmJnRoaXMuanNvbi5leHRlbnNpb25zW3JdfSxhLnByb3RvdHlwZS5oYXNQcm9wZXJ0eT1mdW5jdGlvbihyKXtyZXR1cm4hIXRoaXMuanNvbltyXX0sYS5wcm90b3R5cGUuZ2V0R2xvYmFsUHJvcGVydHk9ZnVuY3Rpb24ocixuLGUpe3ZhciB0PXRoaXMuanNvbltyXTtpZih0eXBlb2YgdD09Im51bWJlciIpe3ZhciBpPU8obik7cmV0dXJuIG5ldyBpKFt0XSl9ZWxzZSBpZihBcnJheS5pc0FycmF5KHQpKXt2YXIgaT1PKG4pO3JldHVybiBuZXcgaSh0KX1lbHNlIGlmKHQmJk51bWJlci5pc0Zpbml0ZSh0LmJ5dGVPZmZzZXQpKXJldHVybiB0aGlzLmdldFR5cGVkQXJyYXlGcm9tQmluYXJ5KHIsbixlLDEsdC5ieXRlT2Zmc2V0KTtyZXR1cm4gbnVsbH0sYS5wcm90b3R5cGUuZ2V0UHJvcGVydHlBcnJheT1mdW5jdGlvbihyLG4sZSl7dmFyIHQ9dGhpcy5qc29uW3JdO3JldHVybiB0JiZOdW1iZXIuaXNGaW5pdGUodC5ieXRlT2Zmc2V0KT8oImNvbXBvbmVudFR5cGUiaW4gdCYmKG49bCh0LmNvbXBvbmVudFR5cGUpKSx0aGlzLmdldFR5cGVkQXJyYXlGcm9tQmluYXJ5KHIsbixlLHRoaXMuZmVhdHVyZXNMZW5ndGgsdC5ieXRlT2Zmc2V0KSk6dGhpcy5nZXRUeXBlZEFycmF5RnJvbUFycmF5KHIsbix0KX0sYS5wcm90b3R5cGUuZ2V0UHJvcGVydHk9ZnVuY3Rpb24ocixuLGUsdCxpKXt2YXIgbz10aGlzLmpzb25bcl07aWYoIW8pcmV0dXJuIG51bGw7dmFyIHY9dGhpcy5nZXRQcm9wZXJ0eUFycmF5KHIsbixlKTtpZihlPT09MSlyZXR1cm4gaVswXT12W3RdLGk7Zm9yKHZhciBBPTA7QTxlOysrQSlpW0FdPXZbZSp0K0FdO3JldHVybiBpfSxhLnByb3RvdHlwZS5nZXRUeXBlZEFycmF5RnJvbUJpbmFyeT1mdW5jdGlvbihyLG4sZSx0LGkpe3ZhciBvPXRoaXMuY2FjaGVkVHlwZWRBcnJheXMsdj1vW3JdO3JldHVybiB2fHwodj1fKG4sdGhpcy5idWZmZXIuYnVmZmVyLHRoaXMuYnVmZmVyLmJ5dGVPZmZzZXQraSx0KmUpLG9bcl09diksdn0sYS5wcm90b3R5cGUuZ2V0VHlwZWRBcnJheUZyb21BcnJheT1mdW5jdGlvbihyLG4sZSl7dmFyIHQ9dGhpcy5jYWNoZWRUeXBlZEFycmF5cyxpPXRbcl07cmV0dXJuIGl8fChpPV8obixlKSx0W3JdPWkpLGl9LGF9KCk7QihmdW5jdGlvbihhKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGEpLnRoZW4oZnVuY3Rpb24ocil7dmFyIG49bmV3IFIoci5mZWF0dXJlVGFibGVKc29uLHIuZmVhdHVyZVRhYmxlQmluYXJ5KSxlPWQobiksdD1nKG4pLGk9UChuKSxvPVtdO3JldHVybiBlJiZvLnB1c2goZS5hcnJheS5idWZmZXIpLHQmJm8ucHVzaCh0LmFycmF5LmJ1ZmZlciksaSYmby5wdXNoKGkuYXJyYXkuYnVmZmVyKSx7b3V0cHV0Ontwb3NpdGlvbjplLGNvbG9yOnQsbm9ybWFsOml9LHRyYW5zZmVyOm99fSl9KTt2YXIgVT02NTUzNTtmdW5jdGlvbiBkKGEpe2lmKGEuaGFzUHJvcGVydHkoIlBPU0lUSU9OIikpe3ZhciByPWEuZ2V0UHJvcGVydHlBcnJheSgiUE9TSVRJT04iLHkuRkxPQVQsMyk7cmV0dXJue2FycmF5OnIsaXRlbVNpemU6Myxub3JtYWxpemVkOiExfX1lbHNlIGlmKGEuaGFzUHJvcGVydHkoIlBPU0lUSU9OX1FVQU5USVpFRCIpKXt2YXIgbj1hLmdldFByb3BlcnR5QXJyYXkoIlBPU0lUSU9OX1FVQU5USVpFRCIseS5VTlNJR05FRF9TSE9SVCwzKSxlPWEuZ2V0R2xvYmFsUHJvcGVydHkoIlFVQU5USVpFRF9WT0xVTUVfU0NBTEUiLHkuRkxPQVQsMyksdD1hLmdldEdsb2JhbFByb3BlcnR5KCJRVUFOVElaRURfVk9MVU1FX09GRlNFVCIseS5GTE9BVCwzKTtpZighZXx8IXQpdGhyb3cgbmV3IEVycm9yKCJRVUFOVElaRURfVk9MVU1FX1NDQUxFIG9yIFFVQU5USVpFRF9WT0xVTUVfT0ZGU0VUIG5ldmVyIGZvdW5kLiIpO2Zvcih2YXIgaT1uZXcgRmxvYXQzMkFycmF5KG4ubGVuZ3RoKSxvPW4ubGVuZ3RoLzMsdj1lWzBdL1UsQT1lWzFdL1UsTj1lWzJdL1UsRT10WzBdLFM9dFsxXSxzPXRbMl0sVD0wLEk9dm9pZCAwO1Q8bztUKyspST1UKjMsaVtJXT1uW0ldKnYrRSxpWysrSV09bltJXSpBK1MsaVsrK0ldPW5bSV0qTitzO3JldHVybnthcnJheTppLGl0ZW1TaXplOjMsbm9ybWFsaXplZDohMX19cmV0dXJuIG51bGx9ZnVuY3Rpb24gZyhhKXtpZihhLmhhc1Byb3BlcnR5KCJSR0IiKSl7Zm9yKHZhciByPWEuZ2V0UHJvcGVydHlBcnJheSgiUkdCIix5LlVOU0lHTkVEX0JZVEUsMyksbj1yLmxlbmd0aC8zLGU9bmV3IFVpbnQ4QXJyYXkobio0KSx0PTAsaT12b2lkIDAsbz12b2lkIDA7dDxuO3QrKylvPXQqNCxpPXQqMyxlW29dPXJbaV0sZVsrK29dPXJbKytpXSxlWysrb109clsrK2ldO3JldHVybnthcnJheTplLGl0ZW1TaXplOjQsbm9ybWFsaXplZDohMH19ZWxzZSBpZihhLmhhc1Byb3BlcnR5KCJSR0JBIikpe3ZhciByPWEuZ2V0UHJvcGVydHlBcnJheSgiUkdCQSIseS5VTlNJR05FRF9CWVRFLDQpO3JldHVybnthcnJheTpyLGl0ZW1TaXplOjQsbm9ybWFsaXplZDohMH19ZWxzZSBpZihhLmhhc1Byb3BlcnR5KCJSR0I1NjUiKSl7Zm9yKHZhciByPWEuZ2V0UHJvcGVydHlBcnJheSgiUkdCNTY1Iix5LlVOU0lHTkVEX1NIT1JULDEpLG49ci5sZW5ndGgsZT1uZXcgVWludDhBcnJheShuKjQpLHQ9MCx2PXZvaWQgMCxBPXZvaWQgMDt0PG47dCsrKUE9clt0XSx2PXQqNCxlW3ZdPShBPj4xMSYzMSk8PDMsZVsrK3ZdPShBPj41JjYzKTw8MixlWysrdl09KEEmMzEpPDwzO3JldHVybnthcnJheTplLGl0ZW1TaXplOjQsbm9ybWFsaXplZDohMH19cmV0dXJuIG51bGx9dmFyIEc9MjU1LGg9MTI3LEQ9Mi9HO2Z1bmN0aW9uIFAoYSl7aWYoYS5oYXNQcm9wZXJ0eSgiTk9STUFMIikpe2Zvcih2YXIgcj1hLmdldFByb3BlcnR5QXJyYXkoIk5PUk1BTCIseS5GTE9BVCwzKSxuPXIubGVuZ3RoLzMsZT1uZXcgSW50OEFycmF5KG4qNCksdD0wLGk9dm9pZCAwLG89dm9pZCAwO3Q8bjt0Kyspbz10KjQsaT10KjMsZVtvXT1yW2ldKmgsZVsrK29dPXJbKytpXSpoLGVbKytvXT1yWysraV0qaDtyZXR1cm57YXJyYXk6ZSxpdGVtU2l6ZTo0LG5vcm1hbGl6ZWQ6ITB9fWVsc2UgaWYoYS5oYXNQcm9wZXJ0eSgiTk9STUFMX09DVDE2UCIpKXtmb3IodmFyIHI9YS5nZXRQcm9wZXJ0eUFycmF5KCJOT1JNQUxfT0NUMTZQIix5LlVOU0lHTkVEX0JZVEUsMiksbj1yLmxlbmd0aC8yLGU9bmV3IEludDhBcnJheShuKjQpLHQ9MCx2PXZvaWQgMCxBPXZvaWQgMCxOPXZvaWQgMCxFPXZvaWQgMCxTPXZvaWQgMCxzPXZvaWQgMCxUPXZvaWQgMDt0PG47dCsrKXY9dCoyLEE9clt2XSpELTEsTj1yWysrdl0qRC0xLFM9QTwwPy1BOkEscz1OPDA/LU46TixFPTEtKFMrcyksRTwwJiYoQT0oMS1zKSooQTwwPy0xOjEpLE49KDEtUykqKE48MD8tMToxKSksVD1NYXRoLnNxcnQoQSpBK04qTitFKkUpLHY9dCo0LGVbdl09QS9UKmgsZVsrK3ZdPU4vVCpoLGVbKyt2XT1FL1QqaDtyZXR1cm57YXJyYXk6ZSxpdGVtU2l6ZTo0LG5vcm1hbGl6ZWQ6ITB9fXJldHVybiBudWxsfX0pKCk7Cg==",blob$1=typeof window!="undefined"&&window.Blob&&new Blob([atob(encodedJs)],{type:"text/javascript;charset=utf-8"});function WorkerWrapper(n){let t;try{if(t=blob$1&&(window.URL||window.webkitURL).createObjectURL(blob$1),!t)throw"";const e=new Worker(t,{name:n==null?void 0:n.name});return e.addEventListener("error",()=>{(window.URL||window.webkitURL).revokeObjectURL(t)}),e}catch(e){return new Worker("data:application/javascript;base64,"+encodedJs,{name:n==null?void 0:n.name})}finally{t&&(window.URL||window.webkitURL).revokeObjectURL(t)}}var attributeWorkerPool=new WorkerPool$1(function(){return new WorkerWrapper},2);function parsePointCloud(n,t,e){var r=new FeatureTable(n.featureTableJson,n.featureTableBinary);return Promise.resolve().then(function(){var i=r.getExtension("3DTILES_draco_point_compression");return i?parseDraco(i,r):attributeWorkerPool.postMessage({featureTableBinary:r.buffer,featureTableJson:r.json},[r.buffer.buffer])}).then(function(i){return n.attributes=i,e})}function parseDraco(n,t){return __awaiter(this,void 0,void 0,function(){var e,r,i,o,s,u;return __generator(this,function(l){if(e=n.properties||{},r=n.byteOffset,i=n.byteLength,!e||!Number.isFinite(r)||!i)throw new Error("Draco properties, byteOffset, and byteLength must be defined");return o=t.buffer.slice(r,r+i),s=n.properties,u={POSITION:"Float32Array",NORMAL:"Float32Array",RGB:"Uint8Array",RGBA:"Uint8Array"},[2,draco.decodeGeometry(o.buffer,{attributeIDs:s,attributeTypes:u,useUniqueIDs:!0}).then(function(c){var d=c.getAttribute("POSITION"),f=c.getAttribute("RGB"),v=c.getAttribute("RGBA"),p=c.getAttribute("NORMAL"),A;if(v)A=v;else if(f){for(var m=f.count,y=f.array,h=new Uint8Array(m*4),g=0,b=void 0,E=void 0;g<m;g++)E=g*4,b=g*3,h[E]=y[b],h[++E]=y[++b],h[++E]=y[++b];A=new THREE__namespace.BufferAttribute(h,4,f.normalized)}return{position:d?{array:d.array,itemSize:d.itemSize,normalized:d.normalized}:null,color:A?{array:A.array,itemSize:A.itemSize,normalized:A.normalized}:null,normal:p?{array:p.array,itemSize:p.itemSize,normalized:p.normalized}:null}})]})})}function loadPnts(n,t){var e={uri:n};return Promise.resolve().then(function(){return t.fetcher.ajax(n,{responseType:"arraybuffer"}).then(function(r){return r.body})}).then(function(r){return Promise.resolve(0).then(function(i){return parseHeader(e,r,i)}).then(function(i){return parseTable(e,r,i)}).then(function(i){return parsePointCloud(e,r,i)})}).then(function(){var r;return createPoints(e.attributes,{computeBoundingBox:(r=t.computeBoundingBox)!==null&&r!==void 0?r:!0})}).then(function(r){var i=new THREE__namespace.Matrix4,o=new THREE__namespace.Matrix4().setPosition(e.rtcCenter[0],e.rtcCenter[1],e.rtcCenter[2]);return i.premultiply(o),r.object.applyMatrix4(i),{type:"pnts",uri:e.uri,byteLength:e.byteLength,object:r.object,dispose:function(){return r.dispose()}}})}function createPoints(n,t){var e=new Set,r=new THREE__namespace.BufferGeometry;e.add(r);var i=new PBMPointCloudMaterial;e.add(i),n.position&&r.setAttribute("position",new THREE__namespace.BufferAttribute(n.position.array,n.position.itemSize,n.position.normalized)),n.color&&r.setAttribute("color",new THREE__namespace.BufferAttribute(n.color.array,n.color.itemSize,n.color.normalized)),n.normal&&(r.setAttribute("normal",new THREE__namespace.BufferAttribute(n.normal.array,n.normal.itemSize,n.normal.normalized)),i.defines.USE_POINT_NORMAL=!0),t.computeBoundingBox&&r.computeBoundingBox();var o=new PBMPointCloud(r,i);return o.matrix.compose(o.position,o.quaternion,o.scale),o.matrixAutoUpdate=!1,o.frustumCulled=!1,o.renderOrder=-1e3,Promise.resolve({object:o,dispose:function(){e.forEach(function(s){s.dispose()}),e.clear()}})}function createLZMA(){var n={};return n.OutWindow=function(){this._windowSize=0},n.OutWindow.prototype.create=function(t){(!this._buffer||this._windowSize!==t)&&(this._buffer=[]),this._windowSize=t,this._pos=0,this._streamPos=0},n.OutWindow.prototype.flush=function(){var t=this._pos-this._streamPos;if(t!==0){for(;t--;)this._stream.writeByte(this._buffer[this._streamPos++]);this._pos>=this._windowSize&&(this._pos=0),this._streamPos=this._pos}},n.OutWindow.prototype.releaseStream=function(){this.flush(),this._stream=null},n.OutWindow.prototype.setStream=function(t){this.releaseStream(),this._stream=t},n.OutWindow.prototype.init=function(t){t||(this._streamPos=0,this._pos=0)},n.OutWindow.prototype.copyBlock=function(t,e){var r=this._pos-t-1;for(r<0&&(r+=this._windowSize);e--;)r>=this._windowSize&&(r=0),this._buffer[this._pos++]=this._buffer[r++],this._pos>=this._windowSize&&this.flush()},n.OutWindow.prototype.putByte=function(t){this._buffer[this._pos++]=t,this._pos>=this._windowSize&&this.flush()},n.OutWindow.prototype.getByte=function(t){var e=this._pos-t-1;return e<0&&(e+=this._windowSize),this._buffer[e]},n.RangeDecoder=function(){},n.RangeDecoder.prototype.setStream=function(t){this._stream=t},n.RangeDecoder.prototype.releaseStream=function(){this._stream=null},n.RangeDecoder.prototype.init=function(){var t=5;for(this._code=0,this._range=-1;t--;)this._code=this._code<<8|this._stream.readByte()},n.RangeDecoder.prototype.decodeDirectBits=function(t){for(var e=0,r=t,i;r--;)this._range>>>=1,i=this._code-this._range>>>31,this._code-=this._range&i-1,e=e<<1|1-i,this._range&4278190080||(this._code=this._code<<8|this._stream.readByte(),this._range<<=8);return e},n.RangeDecoder.prototype.decodeBit=function(t,e){var r=t[e],i=(this._range>>>11)*r;return(this._code^2147483648)<(i^2147483648)?(this._range=i,t[e]+=2048-r>>>5,this._range&4278190080||(this._code=this._code<<8|this._stream.readByte(),this._range<<=8),0):(this._range-=i,this._code-=i,t[e]-=r>>>5,this._range&4278190080||(this._code=this._code<<8|this._stream.readByte(),this._range<<=8),1)},n.initBitModels=function(t,e){for(;e--;)t[e]=1024},n.BitTreeDecoder=function(t){this._models=[],this._numBitLevels=t},n.BitTreeDecoder.prototype.init=function(){n.initBitModels(this._models,1<<this._numBitLevels)},n.BitTreeDecoder.prototype.decode=function(t){for(var e=1,r=this._numBitLevels;r--;)e=e<<1|t.decodeBit(this._models,e);return e-(1<<this._numBitLevels)},n.BitTreeDecoder.prototype.reverseDecode=function(t){for(var e=1,r=0,i=0,o;i<this._numBitLevels;++i)o=t.decodeBit(this._models,e),e=e<<1|o,r|=o<<i;return r},n.reverseDecode2=function(t,e,r,i){for(var o=1,s=0,u=0,l;u<i;++u)l=r.decodeBit(t,e+o),o=o<<1|l,s|=l<<u;return s},n.LenDecoder=function(){this._choice=[],this._lowCoder=[],this._midCoder=[],this._highCoder=new n.BitTreeDecoder(8),this._numPosStates=0},n.LenDecoder.prototype.create=function(t){for(;this._numPosStates<t;++this._numPosStates)this._lowCoder[this._numPosStates]=new n.BitTreeDecoder(3),this._midCoder[this._numPosStates]=new n.BitTreeDecoder(3)},n.LenDecoder.prototype.init=function(){var t=this._numPosStates;for(n.initBitModels(this._choice,2);t--;)this._lowCoder[t].init(),this._midCoder[t].init();this._highCoder.init()},n.LenDecoder.prototype.decode=function(t,e){return t.decodeBit(this._choice,0)===0?this._lowCoder[e].decode(t):t.decodeBit(this._choice,1)===0?8+this._midCoder[e].decode(t):16+this._highCoder.decode(t)},n.Decoder2=function(){this._decoders=[]},n.Decoder2.prototype.init=function(){n.initBitModels(this._decoders,768)},n.Decoder2.prototype.decodeNormal=function(t){var e=1;do e=e<<1|t.decodeBit(this._decoders,e);while(e<256);return e&255},n.Decoder2.prototype.decodeWithMatchByte=function(t,e){var r=1,i,o;do if(i=e>>7&1,e<<=1,o=t.decodeBit(this._decoders,(1+i<<8)+r),r=r<<1|o,i!==o){for(;r<256;)r=r<<1|t.decodeBit(this._decoders,r);break}while(r<256);return r&255},n.LiteralDecoder=function(){},n.LiteralDecoder.prototype.create=function(t,e){var r;if(!(this._coders&&this._numPrevBits===e&&this._numPosBits===t))for(this._numPosBits=t,this._posMask=(1<<t)-1,this._numPrevBits=e,this._coders=[],r=1<<this._numPrevBits+this._numPosBits;r--;)this._coders[r]=new n.Decoder2},n.LiteralDecoder.prototype.init=function(){for(var t=1<<this._numPrevBits+this._numPosBits;t--;)this._coders[t].init()},n.LiteralDecoder.prototype.getDecoder=function(t,e){return this._coders[((t&this._posMask)<<this._numPrevBits)+((e&255)>>>8-this._numPrevBits)]},n.Decoder=function(){this._outWindow=new n.OutWindow,this._rangeDecoder=new n.RangeDecoder,this._isMatchDecoders=[],this._isRepDecoders=[],this._isRepG0Decoders=[],this._isRepG1Decoders=[],this._isRepG2Decoders=[],this._isRep0LongDecoders=[],this._posSlotDecoder=[],this._posDecoders=[],this._posAlignDecoder=new n.BitTreeDecoder(4),this._lenDecoder=new n.LenDecoder,this._repLenDecoder=new n.LenDecoder,this._literalDecoder=new n.LiteralDecoder,this._dictionarySize=-1,this._dictionarySizeCheck=-1,this._posSlotDecoder[0]=new n.BitTreeDecoder(6),this._posSlotDecoder[1]=new n.BitTreeDecoder(6),this._posSlotDecoder[2]=new n.BitTreeDecoder(6),this._posSlotDecoder[3]=new n.BitTreeDecoder(6)},n.Decoder.prototype.setDictionarySize=function(t){return t<0?!1:(this._dictionarySize!==t&&(this._dictionarySize=t,this._dictionarySizeCheck=Math.max(this._dictionarySize,1),this._outWindow.create(Math.max(this._dictionarySizeCheck,4096))),!0)},n.Decoder.prototype.setLcLpPb=function(t,e,r){var i=1<<r;return t>8||e>4||r>4?!1:(this._literalDecoder.create(e,t),this._lenDecoder.create(i),this._repLenDecoder.create(i),this._posStateMask=i-1,!0)},n.Decoder.prototype.init=function(){var t=4;for(this._outWindow.init(!1),n.initBitModels(this._isMatchDecoders,192),n.initBitModels(this._isRep0LongDecoders,192),n.initBitModels(this._isRepDecoders,12),n.initBitModels(this._isRepG0Decoders,12),n.initBitModels(this._isRepG1Decoders,12),n.initBitModels(this._isRepG2Decoders,12),n.initBitModels(this._posDecoders,114),this._literalDecoder.init();t--;)this._posSlotDecoder[t].init();this._lenDecoder.init(),this._repLenDecoder.init(),this._posAlignDecoder.init(),this._rangeDecoder.init()},n.Decoder.prototype.decode=function(t,e,r){var i=0,o=0,s=0,u=0,l=0,c=0,d=0,f,v,p,A,m,y;for(this._rangeDecoder.setStream(t),this._outWindow.setStream(e),this.init();r<0||c<r;)if(f=c&this._posStateMask,this._rangeDecoder.decodeBit(this._isMatchDecoders,(i<<4)+f)===0)v=this._literalDecoder.getDecoder(c++,d),i>=7?d=v.decodeWithMatchByte(this._rangeDecoder,this._outWindow.getByte(o)):d=v.decodeNormal(this._rangeDecoder),this._outWindow.putByte(d),i=i<4?0:i-(i<10?3:6);else{if(this._rangeDecoder.decodeBit(this._isRepDecoders,i)===1)p=0,this._rangeDecoder.decodeBit(this._isRepG0Decoders,i)===0?this._rangeDecoder.decodeBit(this._isRep0LongDecoders,(i<<4)+f)===0&&(i=i<7?9:11,p=1):(this._rangeDecoder.decodeBit(this._isRepG1Decoders,i)===0?A=s:(this._rangeDecoder.decodeBit(this._isRepG2Decoders,i)===0?A=u:(A=l,l=u),u=s),s=o,o=A),p===0&&(p=2+this._repLenDecoder.decode(this._rangeDecoder,f),i=i<7?8:11);else if(l=u,u=s,s=o,p=2+this._lenDecoder.decode(this._rangeDecoder,f),i=i<7?7:10,m=this._posSlotDecoder[p<=5?p-2:3].decode(this._rangeDecoder),m>=4){if(y=(m>>1)-1,o=(2|m&1)<<y,m<14)o+=n.reverseDecode2(this._posDecoders,o-m-1,this._rangeDecoder,y);else if(o+=this._rangeDecoder.decodeDirectBits(y-4)<<4,o+=this._posAlignDecoder.reverseDecode(this._rangeDecoder),o<0){if(o===-1)break;return!1}}else o=m;if(o>=c||o>=this._dictionarySizeCheck)return!1;this._outWindow.copyBlock(o,p),c+=p,d=this._outWindow.getByte(0)}return this._outWindow.flush(),this._outWindow.releaseStream(),this._rangeDecoder.releaseStream(),!0},n.Decoder.prototype.setDecoderProperties=function(t){var e,r,i,o,s;return t.size<5||(e=t.readByte(),r=e%9,e=~~(e/9),i=e%5,o=~~(e/5),!this.setLcLpPb(r,i,o))?!1:(s=t.readByte(),s|=t.readByte()<<8,s|=t.readByte()<<16,s+=t.readByte()*16777216,this.setDictionarySize(s))},n.decompress=function(t,e,r,i){var o=new n.Decoder;if(!o.setDecoderProperties(t))throw"Incorrect stream properties";if(!o.decode(e,r,i))throw"Error in data stream";return!0},n.decompressFile=function(t,e){var r=new n.Decoder,i;if(!r.setDecoderProperties(t))throw"Incorrect stream properties";if(i=t.readByte(),i|=t.readByte()<<8,i|=t.readByte()<<16,i+=t.readByte()*16777216,t.readByte(),t.readByte(),t.readByte(),t.readByte(),!r.decode(t,e,i))throw"Error in data stream";return!0},n}var LZMA=createLZMA();function createWASM(){function n(e){for(var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=new Uint8Array(256),o=0;o<r.length;o++)i[r.charCodeAt(o)]=o;var s=e.length*.75,u=e.length,l,c=0,d,f,v,p;e[e.length-1]==="="&&(s--,e[e.length-2]==="="&&s--);var A=new ArrayBuffer(s),m=new Uint8Array(A);for(l=0;l<u;l+=4)d=i[e.charCodeAt(l)],f=i[e.charCodeAt(l+1)],v=i[e.charCodeAt(l+2)],p=i[e.charCodeAt(l+3)],m[c++]=d<<2|f>>4,m[c++]=(f&15)<<4|v>>2,m[c++]=(v&3)<<6|p&63;return A}var t="AGFzbQEAAAABSg1gAABgAX8Bf2ACf38Bf2AEf39/fwBgA39/fwBgAX8AYAJ/fwBgA39/fwF/YAR/f39/AX9gAn9/AGABfwF/YAABf2AEf39/fwF/AhsCA2VudgVhYm9ydAADA2VudgZtZW1vcnkCAAEDJiUBAQkKAgoKCwsLCwsAAgoBAgQKAQYFCAoFBQQEBwgCBwwCAQAABAQBcAABBhoFfwFBAAt/AUEAC38BQQALfwFBAAt/AUEACwc9BgZtZW1vcnkCAAV0YWJsZQEABXJlc2V0AA0KbmV3VThBcnJheQAQCnVucGFja1NpemUAFAZkZWNvZGUAIwgBJAkHAQBBAAsBJQqAViVoAQN/IABBgICAgARLBEAACyMBIgEgAEEBIABBAUsbakEHakF4cSICPwAiA0EQdEsEQCADIAIgAWtB//8DakGAgHxxQRB2IgAgAyAAShtAAEEASARAIABAAEEASARAAAsLCyACJAEgAQsbAQF/QQFBICAAQQdqZ2t0EAEiASAANgIAIAELkQMBAX8gAUUEQA8LIABBADoAACAAIAFqQQFrQQA6AAAgAUECTQRADwsgAEEBakEAOgAAIABBAmpBADoAACAAIAFqIgJBAmtBADoAACACQQNrQQA6AAAgAUEGTQRADwsgAEEDakEAOgAAIAAgAWpBBGtBADoAACABQQhNBEAPC0EAIABrQQNxIgIgAGoiAEEANgIAIAEgAmtBfHEiASAAakEEa0EANgIAIAFBCE0EQA8LIABBBGpBADYCACAAQQhqQQA2AgAgACABaiICQQxrQQA2AgAgAkEIa0EANgIAIAFBGE0EQA8LIABBDGpBADYCACAAQRBqQQA2AgAgAEEUakEANgIAIABBGGpBADYCACAAIAFqIgJBHGtBADYCACACQRhrQQA2AgAgAkEUa0EANgIAIAJBEGtBADYCACAAQQRxQRhqIgIgAGohACABIAJrIQEDQCABQSBPBEAgAEIANwMAIABBCGpCADcDACAAQRBqQgA3AwAgAEEYakIANwMAIAFBIGshASAAQSBqIQAMAQsLC1EBA38gAEH+////AEsEQEEAQSBBLUEnEAAACyAAQQJ0IgMQAiECQQgQASIBQQA2AgAgAUEANgIEIAEgAjYCACABIAA2AgQgAkEIaiADEAMgAQtmAQF/IAFB/P///wFLBEBBAEHAAEEXQSIQAAALIAFBAXQiARACIgJBCGogARADIABFBEBBDBABIQALIABBADYCACAAQQA2AgQgAEEANgIIIAAgAjYCACAAQQA2AgQgACABNgIIIAALCgBBDBABIAAQBQsuAQF/QQgQASIBQQA2AgAgAUEANgIEIAEgADYCBCABQQEgASgCBHQQBjYCACABC6EBAQR/QRAQASIBQQA2AgAgAUEANgIEIAFBADYCCCABQQA2AgxBEBAEIQIDQCAAQRBIBEBBAxAHIQMgAigCACAAQQJ0aiADNgIIIABBAWohAAwBCwsgASACNgIEQRAQBCECQQAhAANAIABBEEgEQEEDEAchAyACKAIAIABBAnRqIAM2AgggAEEBaiEADAELCyABIAI2AgggAUEIEAc2AgwgAQs0AQF/QRQQASIAQQA2AgAgAEEAOgAEIABBADYCCCAAQQA2AgwgAEEANgIQIABBDTYCCCAAC0IBAX9BGRABIgBBADYCACAAQQA2AgQgAEEANgIIIABBADYCDCAAQQA2AhAgAEEANgIUIABBADoAGCAAQQA2AhAgAAu1AgEEf0HQABABIgBBADoAACAAQQA2AgQgAEEANgIIIABBADYCDCAAQQA2AhAgAEEAOgAUIABBADYCGCAAQQA2AhwgAEEANgIgIABBADYCJCAAQQA2AiggAEEANgIsIABBADYCMCAAQQA2AjQgAEEANgI4IABBADYCPCAAQQA2AkAgAEEANgJEIABBADYCSCAAQQA2AkxBBBAEIQIDQCABQQRIBEBBBhAHIQMgAigCACABQQJ0aiADNgIIIAFBAWohAQwBCwsgACACNgIkIABBBBAHNgIoIABB8wAQBjYCLCAAQcABEAY2AjAgAEEMEAY2AjQgAEEMEAY2AjggAEEMEAY2AjwgAEEMEAY2AkAgAEHAARAGNgJEIAAQCDYCSCAAEAg2AkwgABAJNgIEIAAQCjYCCCAACx8BAX9BCBABIgBBADYCACAAQQA2AgQgABALNgIAIAALCgAjACQBEAwkAwthAQF/IAFB+P///wNLBEBBAEHAAEEXQSIQAAALIAEQAiICQQhqIAEQAyAARQRAQQwQASEACyAAQQA2AgAgAEEANgIEIABBADYCCCAAIAI2AgAgAEEANgIEIAAgATYCCCAACwoAQQwQASAAEA4LBgAgABAPCyoAIAEgACgCCE8EQEEAQcAAQSdBPxAAAAsgACgCBCABIAAoAgBqai0ACAssACABIAAoAghPBEBBAEHAAEEyQT8QAAALIAAoAgQgASAAKAIAamogAjoACAtkAQJ/QQ0QDyECA0AgAUENSARAIAIgASAAIAEQEUH/AXEQEiABQQFqIQEMAQsLQQAhAEEAIQEDQCABQQhIBEAgAiABQQVqEBFB/wFxIAFBA3R0IAByIQAgAUEBaiEBDAELCyAACwYAIAAQEwsnACAAIAEQDzYCCCAAQQA2AgwgACABNgIUIABBADoAGCAAQQA2AgALJAAgACgCCCAAKAIYEBUgAEGABiAAKAIMIAAtABRqdBAGNgIgC5UBAQR/IAEhBSAAIgYoAgAhASAAKAIEIQcgACgCCEEBdiEEIAJBAEgEfyACIARqIgBBACAAQQBKGwUgAiIAIAQgACAESBsLIQIgA0EASAR/IAMgBGoiAEEAIABBAEobBSADIgAgBCAAIARIGwshAwNAIAIgA05FBEAgAkEBdCABaiAHaiAFOwEIIAJBAWohAgwBCwsgBgssAQF/AkACQAJAIwRBAWsOAwEBAgALAAtB/////wchAQsgAEGACEEAIAEQFwvBAQECfyAAQQIQBjYCACAAKAIAIgEoAgAgASgCBGpBgAg7AQggACgCACICKAIAIQEgAigCBCABQQJqakGACDsBCCAAKAIMKAIAQQEkBBAYGkEAIQIDQCACQRBIBEAgAiAAKAIEKAIAIgEoAgBBAnZJBH8gAkECdCABaigCCAUACygCAEEBJAQQGBogAiAAKAIIKAIAIgEoAgBBAnZJBH8gAkECdCABaigCCAUACygCAEEBJAQQGBogAkEBaiECDAELCwuHAgEFfyAAIQJBgAYgACgCDCAALQAUanQhAQNAIAMgAUgEQCACKAIgIgQoAgAhBSAEKAIEIANBAXQgBWpqQYAIOwEIIANBAWohAwwBCwsgAiEBQQAhAgNAIAJBBEkEQCACIAEoAiQoAgAiAygCAEECdkkEfyACQQJ0IANqKAIIBQALKAIAQQEkBBAYGiACQQFqIQIMAQsLIAEoAigoAgBBASQEEBgaIAEoAixBASQEEBgaIAAoAjBBASQEEBgaIAAoAjRBASQEEBgaIAAoAjhBASQEEBgaIAAoAjxBASQEEBgaIAAoAkBBASQEEBgaIAAoAkRBASQEEBgaIAAoAkgQGSAAKAJMEBkLyAwBA38DQCABQQNxIAIgAhsEQCAAIgRBAWohACABIgNBAWohASAEIAMtAAA6AAAgAkEBayECDAELCyAAQQNxRQRAA0AgAkEQTwRAIAAgASgCADYCACAAQQRqIAFBBGooAgA2AgAgAEEIaiABQQhqKAIANgIAIABBDGogAUEMaigCADYCACABQRBqIQEgAEEQaiEAIAJBEGshAgwBCwsgAkEIcQRAIAAgASgCADYCACAAQQRqIAFBBGooAgA2AgAgAUEIaiEBIABBCGohAAsgAkEEcQRAIAAgASgCADYCACABQQRqIQEgAEEEaiEACyACQQJxBEAgACABLwEAOwEAIAFBAmohASAAQQJqIQALIAJBAXEEQCAAIAEtAAA6AAALDwsgAkEgTwRAAkACQAJAIABBA3EiA0EBRwRAIANBAkYNASADQQNGDQIMAwsgASgCACEFIAAgASIDLQAAOgAAIABBAWoiASABIANBAWoiAS0AADoAAEEBaiIEQQFqIQAgAUEBaiIDQQFqIQEgBCADLQAAOgAAIAJBA2shAgNAIAJBEU8EQCAAIAFBAWooAgAiA0EIdCAFQRh2cjYCACAAQQRqIAFBBWooAgAiBUEIdCADQRh2cjYCACAAQQhqIAFBCWooAgAiA0EIdCAFQRh2cjYCACAAQQxqIAFBDWooAgAiBUEIdCADQRh2cjYCACABQRBqIQEgAEEQaiEAIAJBEGshAgwBCwsMAgsgASgCACEFIAAgAS0AADoAACAAQQFqIgRBAWohACABQQFqIgNBAWohASAEIAMtAAA6AAAgAkECayECA0AgAkESTwRAIAAgAUECaigCACIDQRB0IAVBEHZyNgIAIABBBGogAUEGaigCACIFQRB0IANBEHZyNgIAIABBCGogAUEKaigCACIDQRB0IAVBEHZyNgIAIABBDGogAUEOaigCACIFQRB0IANBEHZyNgIAIAFBEGohASAAQRBqIQAgAkEQayECDAELCwwBCyABKAIAIQUgACIEQQFqIQAgASIDQQFqIQEgBCADLQAAOgAAIAJBAWshAgNAIAJBE08EQCAAIAFBA2ooAgAiA0EYdCAFQQh2cjYCACAAQQRqIAFBB2ooAgAiBUEYdCADQQh2cjYCACAAQQhqIAFBC2ooAgAiA0EY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";return n(t)}function decodeLZMA(n,t,e){try{var r={data:t,offset:0,readByte:function(){return this.data[this.offset++]}},i=r.data.length,o={data:[],offset:0,writeByte:function(l){var c=Math.floor(this.offset/i);this.data[c]||(this.data[c]=new Uint8Array(i)),this.data[c][this.offset%i]=l,this.offset++}};n.decompressFile(r,o);for(var s=new Uint8Array(o.offset),u=0;u<o.offset;u++)s[u]=o.data[Math.floor(u/i)][u%i];e(null,s)}catch(l){e(l)}}function decodeLZMAWithWASM(n,t,e){var r=24;try{var i=new WebAssembly.Memory({initial:16}),o=new WebAssembly.Module(n),s=new WebAssembly.Instance(o,{env:{memory:i,abort:function(){e(new Error("webAssembly abort"))}}}),u=s.exports,l=u.newU8Array(t.length),c=new Uint8Array(i.buffer,l+r,t.length);c.set(t);var d=u.decode(l),f=new Uint32Array(i.buffer,d,4),v=f[0],p=f[2],A=f[3];v?e(null,new Uint8Array(i.buffer,A+r,p).slice(0,p)):e(new Error("lzma deocder error"))}catch(m){e(m)}}var lzmaWorkerSource=`
|
|
883
|
+
`,EXTENSION_NAME$4="KHR_texture_basisu",KHR_texture_basisu=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.loadTexture=function(e,r){var i=r.json.textures[e];if(!i.extensions||!i.extensions[EXTENSION_NAME$4])return null;var o=i.extensions[EXTENSION_NAME$4],s=r.json.images[o.source],u=null;if(s.bufferView!==void 0)u=r.loadBufferView(s.bufferView).then(function(c){return ktx2.parse(c)});else if(s.uri)u=r.options.fetcher.ajax(r.resolveResouce(s.uri),{responseType:"arraybuffer"}).then(function(c){return ktx2.parse(c.body)});else throw new Error("glTF: Invalid image defs.");return u},t}(BaseExtension),EXTENSION_NAME$3="KHR_texture_transform",KHR_texture_transform=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.extendTexture=function(e,r,i){var o=r.extensions!==void 0?r.extensions[EXTENSION_NAME$3]:void 0;return o?(o.texCoord!==void 0&&console.warn('glTF: Custom UV sets in "'+EXTENSION_NAME$3+'" extension not yet supported.'),o.offset===void 0&&o.rotation===void 0&&o.scale===void 0||(e=e.clone(),e.needsUpdate=!0,o.offset!==void 0&&e.offset.fromArray(o.offset),o.rotation!==void 0&&(e.rotation=o.rotation),o.scale!==void 0&&e.repeat.fromArray(o.scale)),e):null},t}(BaseExtension),KHR_mesh_quantization=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t}(BaseExtension),meshoptDecoder=function(){var n="b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq:78Yqdbk:qzezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhlaicefhodnadTmbalc;WFbGglcjdalcjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfglcl4cifcd4hxdndndndnalc9WGgmTmbcbhPcehsawcjdfhzaohHinaraH9Rax6midnaraHaxfgo9RcK6mbczhlinalgic9Wfglawcj;cbffhOdndndndndnaHalco4fRbbalci4coG4ciGPlbedibkaO9cb83ibaOcwf9cb83ibxikaOaoRblaoRbbgAco4glalciSgCE86bbawcj;cbfaifglcGfaoclfaCfgORbbaAcl4ciGgCaCciSgCE86bbalcVfaOaCfgORbbaAcd4ciGgCaCciSgCE86bbalc7faOaCfgORbbaAciGgAaAciSgAE86bbalctfaOaAfgARbbaoRbegOco4gCaCciSgCE86bbalc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbalc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc93faAaCfgARbbaOciGgOaOciSgOE86bbalc94faAaOfgARbbaoRbdgOco4gCaCciSgCE86bbalc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbalc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc97faAaCfgARbbaOciGgOaOciSgOE86bbalc98faAaOfgORbbaoRbigoco4gAaAciSgAE86bbalc99faOaAfgORbbaocl4ciGgAaAciSgAE86bbalc9:faOaAfgORbbaocd4ciGgAaAciSgAE86bbalcufaOaAfglRbbaociGgoaociSgoE86bbalaofhoxdkaOaoRbwaoRbbgAcl4glalcsSgCE86bbawcj;cbfaifglcGfaocwfaCfgORbbaAcsGgAaAcsSgAE86bbalcVfaOaAfgORbbaoRbegAcl4gCaCcsSgCE86bbalc7faOaCfgORbbaAcsGgAaAcsSgAE86bbalctfaOaAfgORbbaoRbdgAcl4gCaCcsSgCE86bbalc91faOaCfgORbbaAcsGgAaAcsSgAE86bbalc4faOaAfgORbbaoRbigAcl4gCaCcsSgCE86bbalc93faOaCfgORbbaAcsGgAaAcsSgAE86bbalc94faOaAfgORbbaoRblgAcl4gCaCcsSgCE86bbalc95faOaCfgORbbaAcsGgAaAcsSgAE86bbalc96faOaAfgORbbaoRbvgAcl4gCaCcsSgCE86bbalc97faOaCfgORbbaAcsGgAaAcsSgAE86bbalc98faOaAfgORbbaoRbogAcl4gCaCcsSgCE86bbalc99faOaCfgORbbaAcsGgAaAcsSgAE86bbalc9:faOaAfgORbbaoRbrgocl4gAaAcsSgAE86bbalcufaOaAfglRbbaocsGgoaocsSgoE86bbalaofhoxekaOao8Pbb83bbaOcwfaocwf8Pbb83bbaoczfhokdnaiam9pmbaiczfhlarao9RcL0mekkaiam6miaoTmidnakTmbawaPfRbbhOawcj;cbfhlazhiakhHinaialRbbgAce4cbaAceG9R7aOfgO86bbaiadfhialcefhlaHcufgHmbkkazcefhzaPcefgPad6hsaohHaPad9hmexvkkcbhoasceGmdxikaoaxad2fhPdnakTmbcbhmcehsawcjdfhCinarao9Rax6miaoTmdaoaxfhoawamfRbbhOawcj;cbfhlaChiakhHinaialRbbgAce4cbaAceG9R7aOfgO86bbaiadfhialcefhlaHcufgHmbkaCcefhCamcefgmad6hsamad9hmbkaPhoxikcbhlcehsinarao9Rax6mdaoTmeaoaxfhoalcefglad6hsadal9hmbkaPhoxdkcbhoasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqaombkc9:hoxekcbc99arao9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;xzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfalaDcu7gPcl4fcsGcitfgsydlhzasydbhHdnaDcsGgDak9pmbavaiaPfcsGcdtfydbaxaDEhsaDThDdndnadcd9hmbabarcetfgPaH87ebaPcdfaz87ebaPclfas87ebxekabarcdtfgPaHBdbaPclfazBdbaPcwfasBdbkaxaDfhxavc;abfalcitfgPasBdbaPazBdlavaicdtfasBdbavc;abfalcefcsGglcitfgPaHBdbaPasBdlaiaDfhialcefhlxdkdndnaDcsSmbamaDfaDc987fcefhmxekaocefhDao8SbbgscFeGhPdndnascu9mmbaDhoxekaocvfhoaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhokaPce4cbaPceG9R7amfhmkdndnadcd9hmbabarcetfgDaH87ebaDcdfaz87ebaDclfam87ebxekabarcdtfgDaHBdbaDclfazBdbaDcwfamBdbkavc;abfalcitfgDamBdbaDazBdlavaicdtfamBdbavc;abfalcefcsGglcitfgDaHBdbaDamBdlaicefhialcefhlxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHcdfaD87ebaHclfas87ebxekabarcdtfgHaxBdbaHclfaDBdbaHcwfasBdbkavaicdtfaxBdbavc;abfalcitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfalcefcsGcitfgHasBdbaHaDBdlavaiaPfcsGgicdtfasBdbavc;abfalcdfcsGglcitfgDaxBdbaDasBdlalcefhlaiaOfhiazaOfhxxekaxcbaoRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbaocefhDxekaocdfhDao8SbegPcFeGhsdnaPcu9kmbaocofhAascFbGhscrhodninaD8SbbgPcFbGaotasVhsaPcu9kmeaDcefhDaocrfgoc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbgocFeGhPdnaocu9kmbaDcvfhzaPcFbGhPcrhodninas8SbbgDcFbGaotaPVhPaDcu9kmeascefhsaocrfgoc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashoxekascefhoas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninao8SbbgscFbGaDtaPVhPascu9kmeaocefhoaDcrfgDc8J9hmbkaOhoxekaocefhokaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDcdfaz87ebaDclfaO87ebxekabarcdtfgDaABdbaDclfazBdbaDcwfaOBdbkavc;abfalcitfgDazBdbaDaABdlavaicdtfaABdbavc;abfalcefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfalcdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiarcifgrae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;siliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabavcefciGaiVcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabavcdfciGaiVcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabavcufciGaiVcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabavciGaiVcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2gdTmbinababydbgecwtcw91:Yaece91cjjj;8ifcjjj98G::NUdbabclfhbadcufgdmbkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb",t="b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;a9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;d8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincehHalhOcbhAdninaraO9RaP6miavcj;cbfaAak2fhCaOaPfhlcbhidnakc;ab6mbaral9Rc;Gb6mbcbhoinaCaofhidndndndndnaOaoco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklbalczfhlkdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklzalczfhlkdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklaalczfhlkdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalclfaYpQbfaXc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalcwfaYpQbfaXc:q:yjjbfRbbfhlxekaialpbbbpkl8Walczfhlkaoc;abfhiaocjefak0meaihoaral9Rc;Fb0mbkkdndnaiak9pmbaici4hoinaral9RcK6mdaCaifhXdndndndndnaOaico4fRbbaocoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpklbxikaXalpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaXalpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAci6hHalhOaAcefgAclSmdxekkcbhlaHceGmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;tzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfalaDcu7gPcl4fcsGcitfgsydlhzasydbhHdnaDcsGgDak9pmbavaiaPfcsGcdtfydbaxaDEhsaDThDdndnadcd9hmbabarcetfgPaH87ebaPcdfaz87ebaPclfas87ebxekabarcdtfgPaHBdbaPclfazBdbaPcwfasBdbkaxaDfhxavc;abfalcitfgPasBdbaPazBdlavaicdtfasBdbavc;abfalcefcsGglcitfgPaHBdbaPasBdlaiaDfhialcefhlxdkdndnaDcsSmbamaDfaDc987fcefhmxekaocefhDao8SbbgscFeGhPdndnascu9mmbaDhoxekaocvfhoaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhokaPce4cbaPceG9R7amfhmkdndnadcd9hmbabarcetfgDaH87ebaDcdfaz87ebaDclfam87ebxekabarcdtfgDaHBdbaDclfazBdbaDcwfamBdbkavc;abfalcitfgDamBdbaDazBdlavaicdtfamBdbavc;abfalcefcsGglcitfgDaHBdbaDamBdlaicefhialcefhlxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHcdfaD87ebaHclfas87ebxekabarcdtfgHaxBdbaHclfaDBdbaHcwfasBdbkavaicdtfaxBdbavc;abfalcitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfalcefcsGcitfgHasBdbaHaDBdlavaiaPfcsGgicdtfasBdbavc;abfalcdfcsGglcitfgDaxBdbaDasBdlalcefhlaiaOfhiazaOfhxxekaxcbaoRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbaocefhDxekaocdfhDao8SbegPcFeGhsdnaPcu9kmbaocofhAascFbGhscrhodninaD8SbbgPcFbGaotasVhsaPcu9kmeaDcefhDaocrfgoc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbgocFeGhPdnaocu9kmbaDcvfhzaPcFbGhPcrhodninas8SbbgDcFbGaotaPVhPaDcu9kmeascefhsaocrfgoc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashoxekascefhoas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninao8SbbgscFbGaDtaPVhPascu9kmeaocefhoaDcrfgDc8J9hmbkaOhoxekaocefhokaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDcdfaz87ebaDclfaO87ebxekabarcdtfgDaABdbaDclfazBdbaDcwfaOBdbkavc;abfalcitfgDazBdbaDaABdlavaicdtfaABdbavc;abfalcefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfalcdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiarcifgrae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:wPliuo97eue978Jjjjjbca9Rhiaec98Ghldndnadcl9hmbdnalTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaipxbbbbbbbbbbbbbbbbgqpklbaiabalcdtfgdaeciGglcdtgv;8qbbdnalTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDaqp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkadaiav;8qbbskdnalTmbcbhvabhdinadczfgxaxpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgval6mbkkalae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabalcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oawaopmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalae9pmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbheabhdinadadpbbbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepkbbadczfhdaeclfgeav6mbkkdnaval9pmbaialciGgecdtgdVcbc;abad9R;8kbaiabavcdtfgvad;8qbbdnaeTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepklbkavaiad;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb",e=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),r=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var i=WebAssembly.validate(e)?t:n,o,s=WebAssembly.instantiate(u(i),{}).then(function(h){o=h.instance,o.exports.__wasm_call_ctors()});function u(h){for(var y=new Uint8Array(h.length),b=0;b<h.length;++b){var E=h.charCodeAt(b);y[b]=E>96?E-97:E>64?E-39:E+4}for(var T=0,b=0;b<h.length;++b)y[T++]=y[b]<60?r[y[b]]:(y[b]-60)*64+y[++b];return y.buffer.slice(0,T)}function c(h,y,b,E,T,x){var _=o.exports.sbrk,w=b+3&-4,S=_(w*E),M=_(T.length),C=new Uint8Array(o.exports.memory.buffer);C.set(T,M);var I=h(S,b,E,M,T.length);if(I==0&&x&&x(S,w,E),y.set(C.subarray(S,S+b*E)),_(S-_(0)),I!=0)throw new Error("Malformed buffer data: "+I)}var l={NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},d={ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"},f=[],m=0;function p(h){var y={object:new Worker(h),pending:0,requests:{}};return y.object.onmessage=function(b){var E=b.data;y.pending-=E.count,y.requests[E.id][E.action](E.value),delete y.requests[E.id]},y}function A(h){for(var y="var instance; var ready = WebAssembly.instantiate(new Uint8Array(["+new Uint8Array(u(i))+"]), {}).then(function(result) { instance = result.instance; instance.exports.__wasm_call_ctors(); });self.onmessage = workerProcess;"+c.toString()+g.toString(),b=new Blob([y],{type:"text/javascript"}),E=URL.createObjectURL(b),T=0;T<h;++T)f[T]=p(E);URL.revokeObjectURL(E)}function v(h,y,b,E,T){for(var x=f[0],_=1;_<f.length;++_)f[_].pending<x.pending&&(x=f[_]);return new Promise(function(w,S){var M=new Uint8Array(b),C=m++;x.pending+=h,x.requests[C]={resolve:w,reject:S},x.object.postMessage({id:C,count:h,size:y,source:M,mode:E,filter:T},[M.buffer])})}function g(h){s.then(function(){var y=h.data;try{var b=new Uint8Array(y.count*y.size);c(o.exports[y.mode],b,y.count,y.size,y.source,o.exports[y.filter]),self.postMessage({id:y.id,count:y.count,action:"resolve",value:b},[b.buffer])}catch(E){self.postMessage({id:y.id,count:y.count,action:"reject",value:E})}})}return{ready:s,supported:!0,useWorkers:function(h){A(h)},decodeVertexBuffer:function(h,y,b,E,T){c(o.exports.meshopt_decodeVertexBuffer,h,y,b,E,o.exports[l[T]])},decodeIndexBuffer:function(h,y,b,E){c(o.exports.meshopt_decodeIndexBuffer,h,y,b,E)},decodeIndexSequence:function(h,y,b,E){c(o.exports.meshopt_decodeIndexSequence,h,y,b,E)},decodeGltfBuffer:function(h,y,b,E,T,x){c(o.exports[d[T]],h,y,b,E,o.exports[l[x]])},decodeGltfBufferAsync:function(h,y,b,E,T){return f.length>0?v(h,y,b,d[E],l[T]):s.then(function(){var x=new Uint8Array(h*y);return c(o.exports[d[E]],x,h,y,b,o.exports[l[T]]),x})}}}(),EXTENSION_NAME$2="EXT_meshopt_compression",EXT_meshopt_compression=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.loadBufferView=function(e,r){var i=r.json,o=i.bufferViews[e];if(o.extensions&&o.extensions[EXTENSION_NAME$2]){var s=o.extensions[EXTENSION_NAME$2],u=r.loadBuffer(s.buffer);if(!meshoptDecoder.supported){if(i.extensionsRequired&&i.extensionsRequired.indexOf(EXTENSION_NAME$2)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return Promise.all([u,meshoptDecoder.ready]).then(function(c){var l=c[0],d=s.byteOffset||0,f=s.byteLength||0,m=s.count,p=s.byteStride,A=new ArrayBuffer(m*p),v=new Uint8Array(l,d,f);return meshoptDecoder.decodeGltfBuffer(new Uint8Array(A),m,p,v,s.mode,s.filter),A})}else return null},t}(BaseExtension),EXTENSION_NAME$1="EXT_texture_webp",EXT_texture_webp=function(n){__extends(t,n);function t(){var e=n!==null&&n.apply(this,arguments)||this;return e.supportsWep=!1,e}return t.prototype.prepare=function(e){var r=this;return imageSupport().then(function(i){r.supportsWep=i.webp})},t.prototype.loadTexture=function(e,r){var i=r.json,o=i.textures[e];if(!o.extensions||!o.extensions[EXTENSION_NAME$1]||!this.supportsWep)return null;var s=o.extensions[EXTENSION_NAME$1];return r.loadImage(s.source).then(function(u){var c=new THREE__namespace.Texture(u);c.needsUpdate=!0,c.flipY=!1,o.name&&(c.name=o.name);var l=r.json.samplers||{},d=l[o.sampler]||{};return c.magFilter=WEBGL_FILTERS[d.magFilter]||THREE__namespace.LinearFilter,c.minFilter=WEBGL_FILTERS[d.minFilter]||THREE__namespace.LinearMipmapLinearFilter,c.wrapS=WEBGL_WRAPPINGS[d.wrapS]||THREE__namespace.RepeatWrapping,c.wrapT=WEBGL_WRAPPINGS[d.wrapT]||THREE__namespace.RepeatWrapping,c.onUpdate=function(){u.close()},c})},t}(BaseExtension),EXTENSION_NAME="CESIUM_RTC",CESIUM_RTC=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.emitResult=function(e,r){if(r.json.extensions[EXTENSION_NAME]&&r.json.extensions[EXTENSION_NAME].center){var i=r.json.extensions[EXTENSION_NAME].center;e.CESIUM_RTC={center:new THREE__namespace.Vector3().fromArray(i)}}},t}(BaseExtension);const pointcloudFragmentShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,o=0,s="";return t[o].split(s).map(function(u){return u.charCodeAt(o)>i?u:String.fromCharCode((u.charCodeAt(o)+r)%i)}).join(s)}("{vs|z-sy|n-|}npv\bH{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-u|{Sy||V{qr\x07H0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6--{vs|z-rp@-p|{n{P|y|H0r{qvs0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6n\bv{t-rp@-[|znyH0r{qvs0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6--n\bv{t-sy|n-Sy||H0ryr--{vs|z-sy|n-sy||H0r{qvsn\bv{t-rpA-|yq]|vv|{Hn\bv{t-rp@-P|y|Hn\bv{t-sy|n-Y|tQr}uHn\bv{t-sy|n-]|v{`v rHp-Pyv}}r-\n--znA-znv\x07V{rrH--sy|n-sy||V{qr\x07H\fH0vs-[bZlPYV]]R_`-K-=--{vs|z-Pyv}}r-pyv}}rh[bZlPYV]]R_`jH0r{qvs|vq-znv{56-\n--sy|n-ory|{tv{tSY||-J-=;=H--0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6----ory|{tv{tSY||-J-Sy||H--0ryr----ory|{tv{tSY||-J-sy||H--0r{qvs--<<前置裁切计算--0vs-[bZlPYV]]R_`-K-=----o||y-pyv}}rqH----rpA-pyv}}r]|vv|{H----0}ntzn-{|yyly||}ln----s|-5-v{-v-J-=H-v-I-[bZlPYV]]R_`H-v-88-6-\n------pyv}}r]|vv|{-J-pyv}}rh-v-j;znv\x07V{rr-7-|yq]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5ory|{tv{tSY||-:-pyv}}rh-v-j;sy||V{qr\x076-I->;=6H------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\x07-K-:=;B-33-pyv}}r]|vv|{;\x07-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\b-K-:=;B-33-pyv}}r]|vv|{;\b-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{; -K-:=;B-33-pyv}}r]|vv|{; -I-=;BH------vs-5pyv}}rq6-\n--------qvpnqH------\f----\f----0}ntzn-{|yyly||}lr{q--0r{qvs--<<楼层选择计算--sy|n-sy||\\}npv\b-J->;=H--vs-5u|{Sy||V{qr\x07-KJ-=;=-33-no5ory|{tv{tSY||-:-u|{Sy||V{qr\x076-KJ->;=6-\n----sy||\\}npv\b-J-=;>H--\f--rp@-sv{nyP|y|-J-P|y|H--0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6----0vs-qrsv{rq5b`Rl]\\V[alONPXlUVQQR[6------rp@-pnzrnQvrpv|{-J-{|znyv r5pnzrn]|vv|{-:-|yq]|vv|{;\x07\b 6H------vs-5q|5pnzrnQvrpv|{9-[|zny6-I-=;=6-\n--------qvpnqH------\f----0ryvs-qrsv{rq5b`Rl]\\V[alONPXlQN_X6------rp@-pnzrnQvrpv|{-J-{|znyv r5pnzrn]|vv|{-:-|yq]|vv|{;\x07\b 6H------vs-5q|5pnzrnQvrpv|{9-[|zny6-I-=;=6-\n--------sv{nyP|y|-J-sv{nyP|y|-7-=;EH------\f----0r{qvs--0r{qvs--0vs-qrsv{rq5b`Rl]\\V[al`UN]RlPV_PYR6----sy|n--J-?;=-7-tyl]|v{P||q;\x07-:->;=H----sy|n--J-?;=-7-tyl]|v{P||q;\b-:->;=H----sy|n-pp-J-7-8-7H----vs-5]|v{`v r-K-E;=-33-pp-K->;=6-\n------qvpnqH----\f--0r{qvs--0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6----tylSntP|y|-J-rpA5p|{n{P|y|;9-p|{n{P|y|;t9-p|{n{P|y|;o9->;=6H--0ryr----tylSntP|y|-J-rpA5sv{nyP|y|9-z|qryNy}un-7-|}npv\b-7-sy||\\}npv\b6H--0r{qvs--0vs-qrsv{rq5b`RlRQY6----tylSntP|y|;n-J-Y|tQr}uH--0r{qvs--0vs-qrsv{rq5b`RlU^ldRVTUa6----sy|n-qvn{pr-J-?;=-7-yr{tu5tyl]|v{P||q;\x07\b-:-=;B6H----sy|n-rvtu-J-zn\x075=;=9->;=-:-qvn{pr6H----rvtu-J-}|5rvtu9->;B6H----tylSntP|y|;n-J-rvtuH----tylSntP|y|;\x07\b -J-tylSntP|y|;\x07\b -7-rvtuH--0r{qvs\f"),pointcloudVertexShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,o=0,s="";return t[o].split(s).map(function(u){return u.charCodeAt(o)>i?u:String.fromCharCode((u.charCodeAt(o)+r)%i)}).join(s)}("nvor-rp@-p|y|H0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6--nvor-sy|n-sy||H--n\bv{t-sy|n-Sy||H0r{qvs{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H{vs|z-sy|n-}|v{`pnyrH{vs|z-sy|n-}|v{Zv{]v\x07ryH{vs|z-sy|n-}|v{Zn\x07]v\x07ryH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-tr|zrvpR|H0vs-qrsv{rq5b`Rl]\\V[alP\\Y\\_lNYaVabQR6--{vs|z-nz}yr?Q-tnqvr{ar\x07rH0r{qvsn\bv{t-rpA-|yq]|vv|{Hn\bv{t-rp@-P|y|H0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6--n\bv{t-rp@-[|znyH0r{qvs0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvsn\bv{t-sy|n-]|v{`v rH0qrsv{r-]V-@;>A>BF?CB@BEFDF@rp@-_TOa|Yv{rn5-rp@-nyr-6-\n--r{-rp@5-zv\x075-}|5-nyr;to-7-=;FADECD?FEC-8-rp@5-=;=B?>@?D=>A-69-rp@5-?;A-6-69-nyr;to-7-=;=DD@FF@E=E9-rp@5-yraun{R\0ny5-nyr;to9-rp@5-=;=A=AB-6-6-6-66H\frp@-Yv{rna|_TO5-rp@-nyr-6-\nr{-rp@5-zv\x075-}|5-nyr;to9-rp@5-=;A>CCC-6-6-7->;=BB-:-rp@5-=;=BB-69-nyr;to-7->?;F?9-rp@5-yraun{R\0ny5-nyr;to9-rp@5-=;==@>@=E-6-6-6-66H\frp@-trP|y|O\bUrvtu5nz}yr?Q-tnqvr{ar\x07r9-rpA-|yq]|vv|{6-\n--r{-r\x07r?Q5tnqvr{ar\x07r9-rp?5|yq]|vv|{;\b-<->=;=9-=;B66;toH\f|vq-znv{56-\n--rpA-n{s|zrq-J-rpA5}|vv|{9->;=6H--rpA-z]|vv|{-J-z|qrycvrZnv\x07-7-n{s|zrqH--|yq]|vv|{-J-z|qryZnv\x07-7-n{s|zrqH--0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6----Sy||-J-sy||H--0r{qvs--tyl]|vv|{-J-}|wrpv|{Znv\x07-7-z]|vv|{H--<<传递nvor的p|y|到s里使用--<<动态调整}|v{`v r--sy|n-rny]|v{`v r-J-}|v{`pnyr-7-}v\x07ry_nv|H--0vs-qrsv{rq5b`Rl]\\V[al`VgRlTR\\ZRa_VP6----rny]|v{`v r-7J-tr|zrvpR|H----sy|n-urvtu-J->;=-<-}|wrpv|{Znv\x07h>jh>j-7-zv\x075>;=9-:z]|vv|{; 9-:}|wrpv|{Znv\x07h?jh@j6-7-?;=H----rny]|v{`v r-J-r|yv|{;\b-7-rny]|v{`v r-<-urvtuH--0ryvs-qrsv{rq5b`Rl]\\V[al`VgRlNaaR[bNaV\\[6----sy|n-urvtu-J->;=-<-}|wrpv|{Znv\x07h>jh>j-7-zv\x075>;=9-:z]|vv|{; 9-:}|wrpv|{Znv\x07h?jh@j6-7-?;=H----rny]|v{`v r-J-r|yv|{;\b-7-rny]|v{`v r-<-urvtuH--0r{qvs--tyl]|v{`v r-J-pynz}5rny]|v{`v r9-}|v{Zv{]v\x07ry-7-}v\x07ry_nv|9-}|v{Zn\x07]v\x07ry-7-}v\x07ry_nv|6H--]|v{`v r-J-tyl]|v{`v rH--0vs-qrsv{rq5b`Rl]\\V[alP\\Y\\_lNYaVabQR6----P|y|-J-trP|y|O\bUrvtu5tnqvr{ar\x07r9-|yq]|vv|{6H--0ryr----P|y|-J-p|y|H--0r{qvs--0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6----[|zny-J-{|znyv r5zn@5z|qryZnv\x076-7-{|zny6H--0r{qvs--0vs-qrsv{rq5b`RlRQY6----Y|tQr}u-J-y|t?5:z]|vv|{; 6H--0r{qvs--0vs-qrsv{rq5b`RlU^lQR]aU6----<<-sy|n-}|wSnp|-J-:=;B-7-r|yv|{;\b-<-5n{5s|-<-?;=6-7-z]|vv|{; 6H----<<-sy|n-_nqv-J-rny]|v{`v r-<-}|wSnp|H----sy|n-|vtv{nyQr}u-J-tyl]|vv|{;H----sy|n-nqwrqQr}u-J-|vtv{nyQr}u-8-=;>H----sy|n-nqw-J-nqwrqQr}u-<-|vtv{nyQr}uH----z]|vv|{;\x07\b -J-z]|vv|{;\x07\b -7-nqwH----tyl]|vv|{-J-}|wrpv|{Znv\x07-7-z]|vv|{H--0r{qvs\f");var scratchVector4=new THREE__namespace.Vector4,shaderUniforms=Object.assign({pointScale:new THREE__namespace.Uniform(1),pointMinPixel:new THREE__namespace.Uniform(1),pointMaxPixel:new THREE__namespace.Uniform(1),opacity:new THREE__namespace.Uniform(1),gradientTexture:new THREE__namespace.Uniform(null),modelAlpha:new THREE__namespace.Uniform(0),clippers:new THREE__namespace.Uniform([]),shownFloorIndex:new THREE__namespace.Uniform(-1),constantColor:new THREE__namespace.Uniform(null),geometricError:new THREE__namespace.Uniform(0),pixelRatio:new THREE__namespace.Uniform(1),resolution:new THREE__namespace.Uniform(new THREE__namespace.Vector2(512,512)),floor:new THREE__namespace.Uniform(0)},THREE__namespace.UniformsUtils.clone(THREE__namespace.UniformsLib.common)),PBMPointCloudMaterial=function(n){__extends(t,n);function t(e){e===void 0&&(e={});var r,i,o,s,u,c,l,d,f,m,p,A,v,g,h,y,b,E,T,x,_=n.call(this,{vertexShader:pointcloudVertexShader,fragmentShader:pointcloudFragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(shaderUniforms),defines:{USE_CONSTANT_COLOR:!1,USE_EDL:!1,USE_HQ_WEIGHT:!1,USE_HQ_DEPTH:!1,NUM_CLIPPING_BOX:!1,USE_CLIPFLOOR:!1,USE_VERTEX_FLOOR:!1,USE_MAP:!0,USE_UV:!0,USE_LUMINANCE:!1,USE_PANO_OPACITY:!1,USE_BLACK_TRANSITION:!1,USE_PANO_VIDEO:!1,USE_POINT_NORMAL:!1,USE_POINT_SHAPE_CIRCLE:!1,USE_POINT_SIZE_ATTENUATION:!1,USE_POINT_SIZE_GEOMETRIC:!1,USE_POINT_BACK_HIDDEN:!1,USE_POINT_BACK_DARK:!1}})||this,w;return Object.defineProperties(_,{constantColor:{get:function(){return this.uniforms.constantColor.value},set:function(S){this.uniforms.constantColor.value=S;var M=this.defines.USE_CONSTANT_COLOR,C=S!==null;M!==C&&(this.defines.USE_CONSTANT_COLOR=C,this.needsUpdate=!0)}},opacity:{get:function(){return this.uniforms.opacity.value},set:function(S){this.uniforms.opacity.value=S}},modelAlpha:{get:function(){return this.uniforms.modelAlpha.value},set:function(S){this.uniforms.modelAlpha.value=S}},shownFloorIndex:{get:function(){return this.uniforms.shownFloorIndex.value},set:function(S){this.uniforms.shownFloorIndex.value=S}},clippers:{get:function(){return w},set:function(S){w!==S&&(w=S,this.uniforms.clippers.value=(w||[]).map(function(M){var C=typeof M.floorIndex=="number"?M.floorIndex:-1,I=new THREE__namespace.Matrix4().getInverse(M.clippingBoxMatrix);return{matrixInverse:I,floorIndex:C}}),this.needsUpdate=!0)}},pointColor:{get:function(){return this.defines.USE_POINT_COLOR_ALTITUDE===!0?"ALTITUDE":"RGB"},set:function(S){var M=S==="ALTITUDE";this.defines.USE_POINT_COLOR_ALTITUDE!==M&&(this.defines.USE_POINT_COLOR_ALTITUDE=M,this.needsUpdate=!0)}},pointSize:{get:function(){return this.defines.USE_POINT_SIZE_GEOMETRIC===!0?"GEOMETRIC":this.defines.USE_POINT_SIZE_ATTENUATION===!0?"ATTENUATION":"FIXED"},set:function(S){var M=S==="ATTENUATION",C=S==="GEOMETRIC";this.defines.USE_POINT_SIZE_GEOMETRIC!==C&&(this.defines.USE_POINT_SIZE_GEOMETRIC=C,this.needsUpdate=!0),this.defines.USE_POINT_SIZE_ATTENUATION!==M&&(this.defines.USE_POINT_SIZE_ATTENUATION=M,this.needsUpdate=!0)}},pointShape:{get:function(){return this.defines.USE_POINT_SHAPE_CIRCLE===!0?"CIRCLE":"SQUARE"},set:function(S){var M=S==="CIRCLE";this.defines.USE_POINT_SHAPE_CIRCLE!==M&&(this.defines.USE_POINT_SHAPE_CIRCLE=M,this.needsUpdate=!0)}},pointScale:{get:function(){return this.uniforms.pointScale.value},set:function(S){this.uniforms.pointScale.value=S}},pointBack:{get:function(){return this.defines.USE_POINT_BACK_HIDDEN===!0?"HIDDEN":this.defines.USE_POINT_BACK_DARK===!0?"DARK":"VISIBLE"},set:function(S){var M=S==="HIDDEN",C=S==="DARK";this.defines.USE_POINT_BACK_HIDDEN!==M&&(this.defines.USE_POINT_BACK_HIDDEN=M,this.needsUpdate=!0),this.defines.USE_POINT_BACK_DARK!==C&&(this.defines.USE_POINT_BACK_DARK=C,this.needsUpdate=!0)}},pointMinPixel:{get:function(){return this.uniforms.pointMinPixel.value},set:function(S){this.uniforms.pointMinPixel.value=S}},pointMaxPixel:{get:function(){return this.uniforms.pointMaxPixel.value},set:function(S){this.uniforms.pointMaxPixel.value=S}},useEDL:{get:function(){return this.defines.USE_EDL},set:function(S){S!==this.defines.USE_EDL&&(this.defines.USE_EDL=S,this.needsUpdate=!0)}},useHQWeight:{get:function(){return this.defines.USE_HQ_WEIGHT},set:function(S){S!==this.defines.USE_HQ_WEIGHT&&(this.defines.USE_HQ_WEIGHT=S,this.needsUpdate=!0)}},useHQDepth:{get:function(){return this.defines.USE_HQ_DEPTH},set:function(S){S!==this.defines.USE_HQ_DEPTH&&(this.defines.USE_HQ_DEPTH=S,this.needsUpdate=!0)}},gradientTexture:{get:function(){return this.uniforms.gradientTexture.value},set:function(S){this.uniforms.gradientTexture.value=S}},floor:{get:function(){return this.uniforms.floor.value},set:function(S){this.uniforms.floor.value=S}}}),_.pano0=(r=e.pano0)!==null&&r!==void 0?r:defaultPbmParameters.pano0,_.pano1=(i=e.pano1)!==null&&i!==void 0?i:defaultPbmParameters.pano1,_.modelAlpha=(o=e.modelAlpha)!==null&&o!==void 0?o:defaultPbmParameters.modelAlpha,_.progress=(s=e.progress)!==null&&s!==void 0?s:defaultPbmParameters.progress,_.transition=(u=e.transition)!==null&&u!==void 0?u:defaultPbmParameters.transition,_.constantColor=(c=e.constantColor)!==null&&c!==void 0?c:defaultPbmParameters.constantColor,_.opacity=(l=e.opacity)!==null&&l!==void 0?l:defaultPbmParameters.opacity,_.shownFloorIndex=(d=e.shownFloorIndex)!==null&&d!==void 0?d:defaultPbmParameters.shownFloorIndex,_.clippers=(f=e.clippers)!==null&&f!==void 0?f:defaultPbmParameters.clippers,_.useEDL=(m=e.useEDL)!==null&&m!==void 0?m:defaultPbmParameters.useEDL,_.useHQWeight=(p=e.useHQWeight)!==null&&p!==void 0?p:defaultPbmParameters.useHQWeight,_.useHQDepth=(A=e.useHQDepth)!==null&&A!==void 0?A:defaultPbmParameters.useHQDepth,_.pointColor=(v=e.pointColor)!==null&&v!==void 0?v:defaultPbmParameters.pointColor,_.pointShape=(g=e.pointShape)!==null&&g!==void 0?g:defaultPbmParameters.pointShape,_.pointSize=(h=e.pointSize)!==null&&h!==void 0?h:defaultPbmParameters.pointSize,_.pointScale=(y=e.pointScale)!==null&&y!==void 0?y:defaultPbmParameters.pointScale,_.pointBack=(b=e.pointBack)!==null&&b!==void 0?b:defaultPbmParameters.pointBack,_.pointMinPixel=(E=e.pointMinPixel)!==null&&E!==void 0?E:defaultPbmParameters.pointMinPixel,_.pointMaxPixel=(T=e.pointMaxPixel)!==null&&T!==void 0?T:defaultPbmParameters.pointMaxPixel,_.gradientTexture=(x=e.gradientTexture)!==null&&x!==void 0?x:defaultPbmParameters.gradientTexture,_.floor=0,_.transparent=!1,_}return t.prototype.onBeforeCompile=function(e,r){var i,o,s=String((o=(i=this.clippers)===null||i===void 0?void 0:i.length)!==null&&o!==void 0?o:0);e.vertexShader=e.vertexShader.replace(/NUM_CLIPPERS/g,s),e.fragmentShader=e.fragmentShader.replace(/NUM_CLIPPERS/g,s)},t.prototype.update=function(e,r){if(r instanceof Camera)this.uniforms.pixelRatio.value=r.pixelRatio,this.uniforms.resolution.value.copy(r.resolution);else{this.uniforms.pixelRatio.value=e.getPixelRatio();var i=e.getViewport(scratchVector4);this.uniforms.resolution.value.set(i.z,i.w)}this.transparent=this.shownFloorIndex>-1||this.opacity<1||this.modelAlpha<1,this.useEDL&&(this.transparent=!1),this.useHQDepth&&(this.depthTest=!0,this.depthWrite=!0),this.useHQWeight?(this.depthWrite=!1,this.blending=THREE__namespace.CustomBlending,this.blendSrc=THREE__namespace.SrcAlphaFactor,this.blendSrcAlpha=THREE__namespace.SrcAlphaFactor,this.blendDst=THREE__namespace.OneFactor,this.blendDstAlpha=THREE__namespace.OneFactor):(this.depthWrite=!0,this.transparent=this.shownFloorIndex>-1||this.opacity<1||this.modelAlpha<1,this.blendDst=THREE__namespace.OneMinusSrcAlphaFactor,this.blendEquation=THREE__namespace.AddEquation,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.blending=THREE__namespace.NormalBlending)},t.prototype.syncModel=function(e){var r="".concat(e.id,":").concat(e.materialVersion);r!==this.syncModelVersion&&(Object.assign(this,e.getMaterial()),this.syncModelVersion=r)},t}(THREE__namespace.ShaderMaterial),PBM_mesh=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.loadMesh=function(e,r){var i=this,o=r.json.meshes[e],s=o.primitives,u=Promise.all(s.map(function(d){return r.loadGeometry(d)})),c=Promise.all(s.map(function(d){return i.loadPBMMaterial(d,r)})),l=Promise.all([u,c]).then(function(d){for(var f=d[0],m=d[1],p=[],A=0;A<s.length;A++){var v=s[A],g=f[A],h=m[A];g.attributes.normal===void 0&&(h.flatShading=!0),g.attributes.tangent===void 0&&h.normalScale&&(h.normalScale.y*=-1);var y=v.mode||WEBGL_CONSTANTS.TRIANGLES,b=void 0;if(y===WEBGL_CONSTANTS.TRIANGLES||y===WEBGL_CONSTANTS.TRIANGLE_STRIP||y===WEBGL_CONSTANTS.TRIANGLE_FAN)y===WEBGL_CONSTANTS.TRIANGLE_STRIP?g=r.toGeometryTrianglesDrawMode(g,THREE__namespace.TriangleStripDrawMode):y===WEBGL_CONSTANTS.TRIANGLE_FAN&&(g=r.toGeometryTrianglesDrawMode(g,THREE__namespace.TriangleFanDrawMode)),g.clearGroups(),g.addGroup(0,g.index?g.index.count:g.attributes.position.count,0),g.attributes.normal||g.computeVertexNormals(),r.disposeSet.add(g),b=new PBMMesh(g,[h]);else if(y===WEBGL_CONSTANTS.POINTS)b=new PBMPointCloud(g,h);else throw new Error("glTF: Primitive mode unsupported: "+y);b.name=r.createUniqueName(o.name||"mesh_"+e),p.push(b)}if(p.length===1)return p[0];for(var E=new THREE__namespace.Group,T=0,x=p;T<x.length;T++){var b=x[T];E.add(b)}return E});return l},t.prototype.loadPBMMaterial=function(e,r){var i,o=(i=e.mode)!==null&&i!==void 0?i:WEBGL_CONSTANTS.TRIANGLES,s=null;if(o===WEBGL_CONSTANTS.TRIANGLES||o===WEBGL_CONSTANTS.TRIANGLE_STRIP||o===WEBGL_CONSTANTS.TRIANGLE_FAN)s=this.loadPBMMeshMaterial(e,r);else if(o===WEBGL_CONSTANTS.POINTS)s=this.loadPBMPointCloudMaterial(e,r);else throw new Error("glTF: Primitive mode unsupported: "+o);return s},t.prototype.extendTexture=function(e,r,i){return e.minFilter=THREE__namespace.LinearFilter,e.magFilter=THREE__namespace.LinearFilter,e.generateMipmaps=!1,e},t.prototype.loadPBMPointCloudMaterial=function(e,r){var i=new PBMPointCloudMaterial;return Object.keys(e.attributes).filter(function(o){return ATTRIBUTES[o]==="normal"}).length>0&&(i.defines.USE_POINT_NORMAL=!0),r.disposeSet.add(i),Promise.resolve(i)},t.prototype.loadPBMMeshMaterial=function(e,r){var i=[],o=new PBMMeshMaterial;if(o.uniforms.diffuse.value=new THREE__namespace.Color(1,1,1),o.uniforms.exposure.value=3.3,o.defines.USE_MAP=!1,Object.keys(e.attributes).filter(function(d){return ATTRIBUTES[d]==="color"}).length>0&&(o.vertexColors=!0),Object.keys(e.attributes).filter(function(d){return ATTRIBUTES[d]==="tangent"}).length===0&&(o.normalScale&&(o.normalScale.y*=-1),o.clearcoatNormalScale&&(o.clearcoatNormalScale.y*=-1)),e.material!==void 0){var s=r.json.materials[e.material];s.name&&(o.name=s.name);var u=s.pbrMetallicRoughness||{};if(Array.isArray(u.baseColorFactor)){var c=u.baseColorFactor;o.uniforms.diffuse.value.fromArray(c)}if(u.baseColorTexture!==void 0&&i.push(r.createMaterialTexture(u.baseColorTexture).then(function(d){r.disposeSet.add(d),o.uniforms.map.value=d,o.defines.USE_MAP=!0})),s.doubleSided===!0&&(o.side=THREE__namespace.DoubleSide),s.normalTexture!==void 0&&(i.push(r.createMaterialTexture(s.normalTexture).then(function(d){r.disposeSet.add(d),o.uniforms.normalMap.value=d})),o.uniforms.normalScale.value=new THREE__namespace.Vector2(1,1),s.normalTexture.scale!==void 0)){var l=s.normalTexture.scale;o.uniforms.normalScale.value.set(l,l)}}return r.disposeSet.add(o),Promise.all(i).then(function(){return o})},t}(BaseExtension),EXTENSIONS={KHR_binary_glTF,KHR_draco_mesh_compression,KHR_texture_basisu,KHR_texture_transform,KHR_mesh_quantization,EXT_meshopt_compression,EXT_texture_webp,CESIUM_RTC,PBM_mesh};function parseGltf(n,t){var e,r,i,o={};if(t.addonExtensions)for(var s=0,u=t.addonExtensions;s<u.length;s++){var c=u[s];o[c]=new EXTENSIONS[c]}var l;if(typeof n=="string")l=n;else{var d=EXTENSIONS.KHR_binary_glTF.getMagic(n);if(d===EXTENSIONS.KHR_binary_glTF.HEADER_MAGIC){var f=new EXTENSIONS.KHR_binary_glTF;try{f.loadGlbBinary(n)}catch(h){return Promise.reject(h)}o.KHR_binary_glTF=f,l=f.content}else l=decodeText(new Uint8Array(n))}var m=JSON.parse(l);if(m.asset===void 0||Number(m.asset.version[0])<2)return Promise.reject(new Error("glTF: Unsupported asset. glTF versions >=2.0 are supported."));if(m.extensionsUsed)for(var p=m.extensionsRequired||[],A=0;A<m.extensionsUsed.length;A++){var v=m.extensionsUsed[A];o[v]||(EXTENSIONS[v]?o[v]=new EXTENSIONS[v]:p.indexOf(v)>=0&&console.warn('glTF: Unknown extension "'+v+'".'))}var g=new Parser(m,o,{copyUV2:(e=t.copyUV2)!==null&&e!==void 0?e:!0,resourcePath:(r=t.resourcePath)!==null&&r!==void 0?r:"",search:(i=t.search)!==null&&i!==void 0?i:"",fetcher:t.fetcher});return g.parse()}var ROTATE_X_MATRIX$1=new THREE__namespace.Matrix4().fromArray([1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1]);function loadB3dm(n,t){var e={uri:n,gltfUpAxis:t.upAxis};return Promise.resolve().then(function(){return t.fetcher.ajax(n,{responseType:"arraybuffer"}).then(function(r){return r.body})}).then(function(r){return Promise.resolve(0).then(function(i){return parseHeader(e,r,i)}).then(function(i){return parseTable(e,r,i)}).then(function(i){return parseGlTFArrayBuffer(e,r,i)})}).then(function(){var r;return parseGltf(e.gltfArrayBuffer,{copyUV2:!1,addonExtensions:["PBM_mesh"],resourcePath:n.slice(0,n.lastIndexOf("/")+1),search:(r=n.split("?")[1])!==null&&r!==void 0?r:"",fetcher:t.fetcher}).then(function(i){var o=new THREE__namespace.Matrix4;t.upAxis!=="Z"&&o.premultiply(ROTATE_X_MATRIX$1);var s=new THREE__namespace.Matrix4().setPosition(e.rtcCenter[0],e.rtcCenter[1],e.rtcCenter[2]);if(o.premultiply(s),i.CESIUM_RTC){var u=new THREE__namespace.Matrix4().setPosition(i.CESIUM_RTC.center);o.premultiply(u)}var c=i.scene;return c.applyMatrix4(o),{type:"b3dm",uri:e.uri,byteLength:e.byteLength,object:c,dispose:function(){return i.dispose()}}})})}const encodedJs="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIEIoYSl7b25tZXNzYWdlPWZ1bmN0aW9uKHIpe1Byb21pc2UucmVzb2x2ZShyLmRhdGEpLnRoZW4oZnVuY3Rpb24obil7cmV0dXJuIGEobil9KS50aGVuKGZ1bmN0aW9uKG4pe3ZhciBlPW4ub3V0cHV0LHQ9bi50cmFuc2ZlcjtyZXR1cm4gcG9zdE1lc3NhZ2UoZSx0KX0pLmNhdGNoKGZ1bmN0aW9uKG4pe3JldHVybiBwb3N0TWVzc2FnZSh7JCRlcnJvcjpufSl9KX19dmFyIHUseTsoZnVuY3Rpb24oYSl7YVthLkJZVEU9NTEyMF09IkJZVEUiLGFbYS5VTlNJR05FRF9CWVRFPTUxMjFdPSJVTlNJR05FRF9CWVRFIixhW2EuU0hPUlQ9NTEyMl09IlNIT1JUIixhW2EuVU5TSUdORURfU0hPUlQ9NTEyM109IlVOU0lHTkVEX1NIT1JUIixhW2EuSU5UPTUxMjRdPSJJTlQiLGFbYS5VTlNJR05FRF9JTlQ9NTEyNV09IlVOU0lHTkVEX0lOVCIsYVthLkZMT0FUPTUxMjZdPSJGTE9BVCIsYVthLkRPVUJMRT01MTMwXT0iRE9VQkxFIn0pKHl8fCh5PXt9KSk7dmFyIGM9KHU9e30sdVt5LkRPVUJMRV09RmxvYXQ2NEFycmF5LHVbeS5GTE9BVF09RmxvYXQzMkFycmF5LHVbeS5VTlNJR05FRF9TSE9SVF09VWludDE2QXJyYXksdVt5LlVOU0lHTkVEX0lOVF09VWludDMyQXJyYXksdVt5LlVOU0lHTkVEX0JZVEVdPVVpbnQ4QXJyYXksdVt5LkJZVEVdPUludDhBcnJheSx1W3kuU0hPUlRdPUludDE2QXJyYXksdVt5LklOVF09SW50MzJBcnJheSx1KSxGPXtET1VCTEU6eS5ET1VCTEUsRkxPQVQ6eS5GTE9BVCxVTlNJR05FRF9TSE9SVDp5LlVOU0lHTkVEX1NIT1JULFVOU0lHTkVEX0lOVDp5LlVOU0lHTkVEX0lOVCxVTlNJR05FRF9CWVRFOnkuVU5TSUdORURfQllURSxCWVRFOnkuQllURSxTSE9SVDp5LlNIT1JULElOVDp5LklOVH07ZnVuY3Rpb24gTyhhKXt2YXIgcj1jW2FdO2lmKCFyKXRocm93IG5ldyBFcnJvcigiRmFpbGVkIHRvIGNvbnZlcnQgR0wgdHlwZSIpO3JldHVybiByfWZ1bmN0aW9uIHAoYSl7dmFyIHI9TyhhKTtyZXR1cm4gci5CWVRFU19QRVJfRUxFTUVOVH1mdW5jdGlvbiBfKGEscixuLGUpe249PT12b2lkIDAmJihuPTApO3ZhciB0PU8oYSk7aWYobiVwKGEpIT09MCl7dmFyIGk9ZT9yLnNsaWNlKG4sbitlKnAoYSkpOnIuc2xpY2Uobik7cmV0dXJuIG5ldyB0KGkpfWVsc2UgcmV0dXJuIG5ldyB0KHIsbixlIT1udWxsP2U6KHIuYnl0ZUxlbmd0aC1uKS9wKGEpKX1mdW5jdGlvbiBsKGEpe3ZhciByPUZbYV07aWYoIXIpdGhyb3cgbmV3IEVycm9yKCJGYWlsZWQgdG8gY29udmVydCBHTCB0eXBlIik7cmV0dXJuIHJ9dmFyIFI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKHIsbil7dGhpcy5mZWF0dXJlc0xlbmd0aD0wLHRoaXMuY2FjaGVkVHlwZWRBcnJheXM9e30sdGhpcy5qc29uPXIsdGhpcy5idWZmZXI9bjt2YXIgZT10aGlzLmdldEdsb2JhbFByb3BlcnR5KCJQT0lOVFNfTEVOR1RIIix5LlVOU0lHTkVEX0lOVCwxKTtlJiZlLmxlbmd0aCYmKHRoaXMuZmVhdHVyZXNMZW5ndGg9ZVswXSl9cmV0dXJuIGEucHJvdG90eXBlLmdldEV4dGVuc2lvbj1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy5qc29uLmV4dGVuc2lvbnMmJnRoaXMuanNvbi5leHRlbnNpb25zW3JdfSxhLnByb3RvdHlwZS5oYXNQcm9wZXJ0eT1mdW5jdGlvbihyKXtyZXR1cm4hIXRoaXMuanNvbltyXX0sYS5wcm90b3R5cGUuZ2V0R2xvYmFsUHJvcGVydHk9ZnVuY3Rpb24ocixuLGUpe3ZhciB0PXRoaXMuanNvbltyXTtpZih0eXBlb2YgdD09Im51bWJlciIpe3ZhciBpPU8obik7cmV0dXJuIG5ldyBpKFt0XSl9ZWxzZSBpZihBcnJheS5pc0FycmF5KHQpKXt2YXIgaT1PKG4pO3JldHVybiBuZXcgaSh0KX1lbHNlIGlmKHQmJk51bWJlci5pc0Zpbml0ZSh0LmJ5dGVPZmZzZXQpKXJldHVybiB0aGlzLmdldFR5cGVkQXJyYXlGcm9tQmluYXJ5KHIsbixlLDEsdC5ieXRlT2Zmc2V0KTtyZXR1cm4gbnVsbH0sYS5wcm90b3R5cGUuZ2V0UHJvcGVydHlBcnJheT1mdW5jdGlvbihyLG4sZSl7dmFyIHQ9dGhpcy5qc29uW3JdO3JldHVybiB0JiZOdW1iZXIuaXNGaW5pdGUodC5ieXRlT2Zmc2V0KT8oImNvbXBvbmVudFR5cGUiaW4gdCYmKG49bCh0LmNvbXBvbmVudFR5cGUpKSx0aGlzLmdldFR5cGVkQXJyYXlGcm9tQmluYXJ5KHIsbixlLHRoaXMuZmVhdHVyZXNMZW5ndGgsdC5ieXRlT2Zmc2V0KSk6dGhpcy5nZXRUeXBlZEFycmF5RnJvbUFycmF5KHIsbix0KX0sYS5wcm90b3R5cGUuZ2V0UHJvcGVydHk9ZnVuY3Rpb24ocixuLGUsdCxpKXt2YXIgbz10aGlzLmpzb25bcl07aWYoIW8pcmV0dXJuIG51bGw7dmFyIHY9dGhpcy5nZXRQcm9wZXJ0eUFycmF5KHIsbixlKTtpZihlPT09MSlyZXR1cm4gaVswXT12W3RdLGk7Zm9yKHZhciBBPTA7QTxlOysrQSlpW0FdPXZbZSp0K0FdO3JldHVybiBpfSxhLnByb3RvdHlwZS5nZXRUeXBlZEFycmF5RnJvbUJpbmFyeT1mdW5jdGlvbihyLG4sZSx0LGkpe3ZhciBvPXRoaXMuY2FjaGVkVHlwZWRBcnJheXMsdj1vW3JdO3JldHVybiB2fHwodj1fKG4sdGhpcy5idWZmZXIuYnVmZmVyLHRoaXMuYnVmZmVyLmJ5dGVPZmZzZXQraSx0KmUpLG9bcl09diksdn0sYS5wcm90b3R5cGUuZ2V0VHlwZWRBcnJheUZyb21BcnJheT1mdW5jdGlvbihyLG4sZSl7dmFyIHQ9dGhpcy5jYWNoZWRUeXBlZEFycmF5cyxpPXRbcl07cmV0dXJuIGl8fChpPV8obixlKSx0W3JdPWkpLGl9LGF9KCk7QihmdW5jdGlvbihhKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGEpLnRoZW4oZnVuY3Rpb24ocil7dmFyIG49bmV3IFIoci5mZWF0dXJlVGFibGVKc29uLHIuZmVhdHVyZVRhYmxlQmluYXJ5KSxlPWQobiksdD1nKG4pLGk9UChuKSxvPVtdO3JldHVybiBlJiZvLnB1c2goZS5hcnJheS5idWZmZXIpLHQmJm8ucHVzaCh0LmFycmF5LmJ1ZmZlciksaSYmby5wdXNoKGkuYXJyYXkuYnVmZmVyKSx7b3V0cHV0Ontwb3NpdGlvbjplLGNvbG9yOnQsbm9ybWFsOml9LHRyYW5zZmVyOm99fSl9KTt2YXIgVT02NTUzNTtmdW5jdGlvbiBkKGEpe2lmKGEuaGFzUHJvcGVydHkoIlBPU0lUSU9OIikpe3ZhciByPWEuZ2V0UHJvcGVydHlBcnJheSgiUE9TSVRJT04iLHkuRkxPQVQsMyk7cmV0dXJue2FycmF5OnIsaXRlbVNpemU6Myxub3JtYWxpemVkOiExfX1lbHNlIGlmKGEuaGFzUHJvcGVydHkoIlBPU0lUSU9OX1FVQU5USVpFRCIpKXt2YXIgbj1hLmdldFByb3BlcnR5QXJyYXkoIlBPU0lUSU9OX1FVQU5USVpFRCIseS5VTlNJR05FRF9TSE9SVCwzKSxlPWEuZ2V0R2xvYmFsUHJvcGVydHkoIlFVQU5USVpFRF9WT0xVTUVfU0NBTEUiLHkuRkxPQVQsMyksdD1hLmdldEdsb2JhbFByb3BlcnR5KCJRVUFOVElaRURfVk9MVU1FX09GRlNFVCIseS5GTE9BVCwzKTtpZighZXx8IXQpdGhyb3cgbmV3IEVycm9yKCJRVUFOVElaRURfVk9MVU1FX1NDQUxFIG9yIFFVQU5USVpFRF9WT0xVTUVfT0ZGU0VUIG5ldmVyIGZvdW5kLiIpO2Zvcih2YXIgaT1uZXcgRmxvYXQzMkFycmF5KG4ubGVuZ3RoKSxvPW4ubGVuZ3RoLzMsdj1lWzBdL1UsQT1lWzFdL1UsTj1lWzJdL1UsRT10WzBdLFM9dFsxXSxzPXRbMl0sVD0wLEk9dm9pZCAwO1Q8bztUKyspST1UKjMsaVtJXT1uW0ldKnYrRSxpWysrSV09bltJXSpBK1MsaVsrK0ldPW5bSV0qTitzO3JldHVybnthcnJheTppLGl0ZW1TaXplOjMsbm9ybWFsaXplZDohMX19cmV0dXJuIG51bGx9ZnVuY3Rpb24gZyhhKXtpZihhLmhhc1Byb3BlcnR5KCJSR0IiKSl7Zm9yKHZhciByPWEuZ2V0UHJvcGVydHlBcnJheSgiUkdCIix5LlVOU0lHTkVEX0JZVEUsMyksbj1yLmxlbmd0aC8zLGU9bmV3IFVpbnQ4QXJyYXkobio0KSx0PTAsaT12b2lkIDAsbz12b2lkIDA7dDxuO3QrKylvPXQqNCxpPXQqMyxlW29dPXJbaV0sZVsrK29dPXJbKytpXSxlWysrb109clsrK2ldO3JldHVybnthcnJheTplLGl0ZW1TaXplOjQsbm9ybWFsaXplZDohMH19ZWxzZSBpZihhLmhhc1Byb3BlcnR5KCJSR0JBIikpe3ZhciByPWEuZ2V0UHJvcGVydHlBcnJheSgiUkdCQSIseS5VTlNJR05FRF9CWVRFLDQpO3JldHVybnthcnJheTpyLGl0ZW1TaXplOjQsbm9ybWFsaXplZDohMH19ZWxzZSBpZihhLmhhc1Byb3BlcnR5KCJSR0I1NjUiKSl7Zm9yKHZhciByPWEuZ2V0UHJvcGVydHlBcnJheSgiUkdCNTY1Iix5LlVOU0lHTkVEX1NIT1JULDEpLG49ci5sZW5ndGgsZT1uZXcgVWludDhBcnJheShuKjQpLHQ9MCx2PXZvaWQgMCxBPXZvaWQgMDt0PG47dCsrKUE9clt0XSx2PXQqNCxlW3ZdPShBPj4xMSYzMSk8PDMsZVsrK3ZdPShBPj41JjYzKTw8MixlWysrdl09KEEmMzEpPDwzO3JldHVybnthcnJheTplLGl0ZW1TaXplOjQsbm9ybWFsaXplZDohMH19cmV0dXJuIG51bGx9dmFyIEc9MjU1LGg9MTI3LEQ9Mi9HO2Z1bmN0aW9uIFAoYSl7aWYoYS5oYXNQcm9wZXJ0eSgiTk9STUFMIikpe2Zvcih2YXIgcj1hLmdldFByb3BlcnR5QXJyYXkoIk5PUk1BTCIseS5GTE9BVCwzKSxuPXIubGVuZ3RoLzMsZT1uZXcgSW50OEFycmF5KG4qNCksdD0wLGk9dm9pZCAwLG89dm9pZCAwO3Q8bjt0Kyspbz10KjQsaT10KjMsZVtvXT1yW2ldKmgsZVsrK29dPXJbKytpXSpoLGVbKytvXT1yWysraV0qaDtyZXR1cm57YXJyYXk6ZSxpdGVtU2l6ZTo0LG5vcm1hbGl6ZWQ6ITB9fWVsc2UgaWYoYS5oYXNQcm9wZXJ0eSgiTk9STUFMX09DVDE2UCIpKXtmb3IodmFyIHI9YS5nZXRQcm9wZXJ0eUFycmF5KCJOT1JNQUxfT0NUMTZQIix5LlVOU0lHTkVEX0JZVEUsMiksbj1yLmxlbmd0aC8yLGU9bmV3IEludDhBcnJheShuKjQpLHQ9MCx2PXZvaWQgMCxBPXZvaWQgMCxOPXZvaWQgMCxFPXZvaWQgMCxTPXZvaWQgMCxzPXZvaWQgMCxUPXZvaWQgMDt0PG47dCsrKXY9dCoyLEE9clt2XSpELTEsTj1yWysrdl0qRC0xLFM9QTwwPy1BOkEscz1OPDA/LU46TixFPTEtKFMrcyksRTwwJiYoQT0oMS1zKSooQTwwPy0xOjEpLE49KDEtUykqKE48MD8tMToxKSksVD1NYXRoLnNxcnQoQSpBK04qTitFKkUpLHY9dCo0LGVbdl09QS9UKmgsZVsrK3ZdPU4vVCpoLGVbKyt2XT1FL1QqaDtyZXR1cm57YXJyYXk6ZSxpdGVtU2l6ZTo0LG5vcm1hbGl6ZWQ6ITB9fXJldHVybiBudWxsfX0pKCk7Cg==",blob$1=typeof window!="undefined"&&window.Blob&&new Blob([atob(encodedJs)],{type:"text/javascript;charset=utf-8"});function WorkerWrapper(n){let t;try{if(t=blob$1&&(window.URL||window.webkitURL).createObjectURL(blob$1),!t)throw"";const e=new Worker(t,{name:n==null?void 0:n.name});return e.addEventListener("error",()=>{(window.URL||window.webkitURL).revokeObjectURL(t)}),e}catch(e){return new Worker("data:application/javascript;base64,"+encodedJs,{name:n==null?void 0:n.name})}finally{t&&(window.URL||window.webkitURL).revokeObjectURL(t)}}var attributeWorkerPool=new WorkerPool$1(function(){return new WorkerWrapper},2);function parsePointCloud(n,t,e){var r=new FeatureTable(n.featureTableJson,n.featureTableBinary);return Promise.resolve().then(function(){var i=r.getExtension("3DTILES_draco_point_compression");return i?parseDraco(i,r):attributeWorkerPool.postMessage({featureTableBinary:r.buffer,featureTableJson:r.json},[r.buffer.buffer])}).then(function(i){return n.attributes=i,e})}function parseDraco(n,t){return __awaiter(this,void 0,void 0,function(){var e,r,i,o,s,u;return __generator(this,function(c){if(e=n.properties||{},r=n.byteOffset,i=n.byteLength,!e||!Number.isFinite(r)||!i)throw new Error("Draco properties, byteOffset, and byteLength must be defined");return o=t.buffer.slice(r,r+i),s=n.properties,u={POSITION:"Float32Array",NORMAL:"Float32Array",RGB:"Uint8Array",RGBA:"Uint8Array"},[2,draco.decodeGeometry(o.buffer,{attributeIDs:s,attributeTypes:u,useUniqueIDs:!0}).then(function(l){var d=l.getAttribute("POSITION"),f=l.getAttribute("RGB"),m=l.getAttribute("RGBA"),p=l.getAttribute("NORMAL"),A;if(m)A=m;else if(f){for(var v=f.count,g=f.array,h=new Uint8Array(v*4),y=0,b=void 0,E=void 0;y<v;y++)E=y*4,b=y*3,h[E]=g[b],h[++E]=g[++b],h[++E]=g[++b];A=new THREE__namespace.BufferAttribute(h,4,f.normalized)}return{position:d?{array:d.array,itemSize:d.itemSize,normalized:d.normalized}:null,color:A?{array:A.array,itemSize:A.itemSize,normalized:A.normalized}:null,normal:p?{array:p.array,itemSize:p.itemSize,normalized:p.normalized}:null}})]})})}function loadPnts(n,t){var e={uri:n};return Promise.resolve().then(function(){return t.fetcher.ajax(n,{responseType:"arraybuffer"}).then(function(r){return r.body})}).then(function(r){return Promise.resolve(0).then(function(i){return parseHeader(e,r,i)}).then(function(i){return parseTable(e,r,i)}).then(function(i){return parsePointCloud(e,r,i)})}).then(function(){var r;return createPoints(e.attributes,{computeBoundingBox:(r=t.computeBoundingBox)!==null&&r!==void 0?r:!0})}).then(function(r){var i=new THREE__namespace.Matrix4,o=new THREE__namespace.Matrix4().setPosition(e.rtcCenter[0],e.rtcCenter[1],e.rtcCenter[2]);return i.premultiply(o),r.object.applyMatrix4(i),{type:"pnts",uri:e.uri,byteLength:e.byteLength,object:r.object,dispose:function(){return r.dispose()}}})}function createPoints(n,t){var e=new Set,r=new THREE__namespace.BufferGeometry;e.add(r);var i=new PBMPointCloudMaterial;e.add(i),n.position&&r.setAttribute("position",new THREE__namespace.BufferAttribute(n.position.array,n.position.itemSize,n.position.normalized)),n.color&&r.setAttribute("color",new THREE__namespace.BufferAttribute(n.color.array,n.color.itemSize,n.color.normalized)),n.normal&&(r.setAttribute("normal",new THREE__namespace.BufferAttribute(n.normal.array,n.normal.itemSize,n.normal.normalized)),i.defines.USE_POINT_NORMAL=!0),t.computeBoundingBox&&r.computeBoundingBox();var o=new PBMPointCloud(r,i);return o.matrix.compose(o.position,o.quaternion,o.scale),o.matrixAutoUpdate=!1,o.frustumCulled=!1,o.renderOrder=-1e3,Promise.resolve({object:o,dispose:function(){e.forEach(function(s){s.dispose()}),e.clear()}})}function createLZMA(){var n={};return n.OutWindow=function(){this._windowSize=0},n.OutWindow.prototype.create=function(t){(!this._buffer||this._windowSize!==t)&&(this._buffer=[]),this._windowSize=t,this._pos=0,this._streamPos=0},n.OutWindow.prototype.flush=function(){var t=this._pos-this._streamPos;if(t!==0){for(;t--;)this._stream.writeByte(this._buffer[this._streamPos++]);this._pos>=this._windowSize&&(this._pos=0),this._streamPos=this._pos}},n.OutWindow.prototype.releaseStream=function(){this.flush(),this._stream=null},n.OutWindow.prototype.setStream=function(t){this.releaseStream(),this._stream=t},n.OutWindow.prototype.init=function(t){t||(this._streamPos=0,this._pos=0)},n.OutWindow.prototype.copyBlock=function(t,e){var r=this._pos-t-1;for(r<0&&(r+=this._windowSize);e--;)r>=this._windowSize&&(r=0),this._buffer[this._pos++]=this._buffer[r++],this._pos>=this._windowSize&&this.flush()},n.OutWindow.prototype.putByte=function(t){this._buffer[this._pos++]=t,this._pos>=this._windowSize&&this.flush()},n.OutWindow.prototype.getByte=function(t){var e=this._pos-t-1;return e<0&&(e+=this._windowSize),this._buffer[e]},n.RangeDecoder=function(){},n.RangeDecoder.prototype.setStream=function(t){this._stream=t},n.RangeDecoder.prototype.releaseStream=function(){this._stream=null},n.RangeDecoder.prototype.init=function(){var t=5;for(this._code=0,this._range=-1;t--;)this._code=this._code<<8|this._stream.readByte()},n.RangeDecoder.prototype.decodeDirectBits=function(t){for(var e=0,r=t,i;r--;)this._range>>>=1,i=this._code-this._range>>>31,this._code-=this._range&i-1,e=e<<1|1-i,this._range&4278190080||(this._code=this._code<<8|this._stream.readByte(),this._range<<=8);return e},n.RangeDecoder.prototype.decodeBit=function(t,e){var r=t[e],i=(this._range>>>11)*r;return(this._code^2147483648)<(i^2147483648)?(this._range=i,t[e]+=2048-r>>>5,this._range&4278190080||(this._code=this._code<<8|this._stream.readByte(),this._range<<=8),0):(this._range-=i,this._code-=i,t[e]-=r>>>5,this._range&4278190080||(this._code=this._code<<8|this._stream.readByte(),this._range<<=8),1)},n.initBitModels=function(t,e){for(;e--;)t[e]=1024},n.BitTreeDecoder=function(t){this._models=[],this._numBitLevels=t},n.BitTreeDecoder.prototype.init=function(){n.initBitModels(this._models,1<<this._numBitLevels)},n.BitTreeDecoder.prototype.decode=function(t){for(var e=1,r=this._numBitLevels;r--;)e=e<<1|t.decodeBit(this._models,e);return e-(1<<this._numBitLevels)},n.BitTreeDecoder.prototype.reverseDecode=function(t){for(var e=1,r=0,i=0,o;i<this._numBitLevels;++i)o=t.decodeBit(this._models,e),e=e<<1|o,r|=o<<i;return r},n.reverseDecode2=function(t,e,r,i){for(var o=1,s=0,u=0,c;u<i;++u)c=r.decodeBit(t,e+o),o=o<<1|c,s|=c<<u;return s},n.LenDecoder=function(){this._choice=[],this._lowCoder=[],this._midCoder=[],this._highCoder=new n.BitTreeDecoder(8),this._numPosStates=0},n.LenDecoder.prototype.create=function(t){for(;this._numPosStates<t;++this._numPosStates)this._lowCoder[this._numPosStates]=new n.BitTreeDecoder(3),this._midCoder[this._numPosStates]=new n.BitTreeDecoder(3)},n.LenDecoder.prototype.init=function(){var t=this._numPosStates;for(n.initBitModels(this._choice,2);t--;)this._lowCoder[t].init(),this._midCoder[t].init();this._highCoder.init()},n.LenDecoder.prototype.decode=function(t,e){return t.decodeBit(this._choice,0)===0?this._lowCoder[e].decode(t):t.decodeBit(this._choice,1)===0?8+this._midCoder[e].decode(t):16+this._highCoder.decode(t)},n.Decoder2=function(){this._decoders=[]},n.Decoder2.prototype.init=function(){n.initBitModels(this._decoders,768)},n.Decoder2.prototype.decodeNormal=function(t){var e=1;do e=e<<1|t.decodeBit(this._decoders,e);while(e<256);return e&255},n.Decoder2.prototype.decodeWithMatchByte=function(t,e){var r=1,i,o;do if(i=e>>7&1,e<<=1,o=t.decodeBit(this._decoders,(1+i<<8)+r),r=r<<1|o,i!==o){for(;r<256;)r=r<<1|t.decodeBit(this._decoders,r);break}while(r<256);return r&255},n.LiteralDecoder=function(){},n.LiteralDecoder.prototype.create=function(t,e){var r;if(!(this._coders&&this._numPrevBits===e&&this._numPosBits===t))for(this._numPosBits=t,this._posMask=(1<<t)-1,this._numPrevBits=e,this._coders=[],r=1<<this._numPrevBits+this._numPosBits;r--;)this._coders[r]=new n.Decoder2},n.LiteralDecoder.prototype.init=function(){for(var t=1<<this._numPrevBits+this._numPosBits;t--;)this._coders[t].init()},n.LiteralDecoder.prototype.getDecoder=function(t,e){return this._coders[((t&this._posMask)<<this._numPrevBits)+((e&255)>>>8-this._numPrevBits)]},n.Decoder=function(){this._outWindow=new n.OutWindow,this._rangeDecoder=new n.RangeDecoder,this._isMatchDecoders=[],this._isRepDecoders=[],this._isRepG0Decoders=[],this._isRepG1Decoders=[],this._isRepG2Decoders=[],this._isRep0LongDecoders=[],this._posSlotDecoder=[],this._posDecoders=[],this._posAlignDecoder=new n.BitTreeDecoder(4),this._lenDecoder=new n.LenDecoder,this._repLenDecoder=new n.LenDecoder,this._literalDecoder=new n.LiteralDecoder,this._dictionarySize=-1,this._dictionarySizeCheck=-1,this._posSlotDecoder[0]=new n.BitTreeDecoder(6),this._posSlotDecoder[1]=new n.BitTreeDecoder(6),this._posSlotDecoder[2]=new n.BitTreeDecoder(6),this._posSlotDecoder[3]=new n.BitTreeDecoder(6)},n.Decoder.prototype.setDictionarySize=function(t){return t<0?!1:(this._dictionarySize!==t&&(this._dictionarySize=t,this._dictionarySizeCheck=Math.max(this._dictionarySize,1),this._outWindow.create(Math.max(this._dictionarySizeCheck,4096))),!0)},n.Decoder.prototype.setLcLpPb=function(t,e,r){var i=1<<r;return t>8||e>4||r>4?!1:(this._literalDecoder.create(e,t),this._lenDecoder.create(i),this._repLenDecoder.create(i),this._posStateMask=i-1,!0)},n.Decoder.prototype.init=function(){var t=4;for(this._outWindow.init(!1),n.initBitModels(this._isMatchDecoders,192),n.initBitModels(this._isRep0LongDecoders,192),n.initBitModels(this._isRepDecoders,12),n.initBitModels(this._isRepG0Decoders,12),n.initBitModels(this._isRepG1Decoders,12),n.initBitModels(this._isRepG2Decoders,12),n.initBitModels(this._posDecoders,114),this._literalDecoder.init();t--;)this._posSlotDecoder[t].init();this._lenDecoder.init(),this._repLenDecoder.init(),this._posAlignDecoder.init(),this._rangeDecoder.init()},n.Decoder.prototype.decode=function(t,e,r){var i=0,o=0,s=0,u=0,c=0,l=0,d=0,f,m,p,A,v,g;for(this._rangeDecoder.setStream(t),this._outWindow.setStream(e),this.init();r<0||l<r;)if(f=l&this._posStateMask,this._rangeDecoder.decodeBit(this._isMatchDecoders,(i<<4)+f)===0)m=this._literalDecoder.getDecoder(l++,d),i>=7?d=m.decodeWithMatchByte(this._rangeDecoder,this._outWindow.getByte(o)):d=m.decodeNormal(this._rangeDecoder),this._outWindow.putByte(d),i=i<4?0:i-(i<10?3:6);else{if(this._rangeDecoder.decodeBit(this._isRepDecoders,i)===1)p=0,this._rangeDecoder.decodeBit(this._isRepG0Decoders,i)===0?this._rangeDecoder.decodeBit(this._isRep0LongDecoders,(i<<4)+f)===0&&(i=i<7?9:11,p=1):(this._rangeDecoder.decodeBit(this._isRepG1Decoders,i)===0?A=s:(this._rangeDecoder.decodeBit(this._isRepG2Decoders,i)===0?A=u:(A=c,c=u),u=s),s=o,o=A),p===0&&(p=2+this._repLenDecoder.decode(this._rangeDecoder,f),i=i<7?8:11);else if(c=u,u=s,s=o,p=2+this._lenDecoder.decode(this._rangeDecoder,f),i=i<7?7:10,v=this._posSlotDecoder[p<=5?p-2:3].decode(this._rangeDecoder),v>=4){if(g=(v>>1)-1,o=(2|v&1)<<g,v<14)o+=n.reverseDecode2(this._posDecoders,o-v-1,this._rangeDecoder,g);else if(o+=this._rangeDecoder.decodeDirectBits(g-4)<<4,o+=this._posAlignDecoder.reverseDecode(this._rangeDecoder),o<0){if(o===-1)break;return!1}}else o=v;if(o>=l||o>=this._dictionarySizeCheck)return!1;this._outWindow.copyBlock(o,p),l+=p,d=this._outWindow.getByte(0)}return this._outWindow.flush(),this._outWindow.releaseStream(),this._rangeDecoder.releaseStream(),!0},n.Decoder.prototype.setDecoderProperties=function(t){var e,r,i,o,s;return t.size<5||(e=t.readByte(),r=e%9,e=~~(e/9),i=e%5,o=~~(e/5),!this.setLcLpPb(r,i,o))?!1:(s=t.readByte(),s|=t.readByte()<<8,s|=t.readByte()<<16,s+=t.readByte()*16777216,this.setDictionarySize(s))},n.decompress=function(t,e,r,i){var o=new n.Decoder;if(!o.setDecoderProperties(t))throw"Incorrect stream properties";if(!o.decode(e,r,i))throw"Error in data stream";return!0},n.decompressFile=function(t,e){var r=new n.Decoder,i;if(!r.setDecoderProperties(t))throw"Incorrect stream properties";if(i=t.readByte(),i|=t.readByte()<<8,i|=t.readByte()<<16,i+=t.readByte()*16777216,t.readByte(),t.readByte(),t.readByte(),t.readByte(),!r.decode(t,e,i))throw"Error in data stream";return!0},n}var LZMA=createLZMA();function createWASM(){function n(e){for(var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=new Uint8Array(256),o=0;o<r.length;o++)i[r.charCodeAt(o)]=o;var s=e.length*.75,u=e.length,c,l=0,d,f,m,p;e[e.length-1]==="="&&(s--,e[e.length-2]==="="&&s--);var A=new ArrayBuffer(s),v=new Uint8Array(A);for(c=0;c<u;c+=4)d=i[e.charCodeAt(c)],f=i[e.charCodeAt(c+1)],m=i[e.charCodeAt(c+2)],p=i[e.charCodeAt(c+3)],v[l++]=d<<2|f>>4,v[l++]=(f&15)<<4|m>>2,v[l++]=(m&3)<<6|p&63;return A}var t="AGFzbQEAAAABSg1gAABgAX8Bf2ACf38Bf2AEf39/fwBgA39/fwBgAX8AYAJ/fwBgA39/fwF/YAR/f39/AX9gAn9/AGABfwF/YAABf2AEf39/fwF/AhsCA2VudgVhYm9ydAADA2VudgZtZW1vcnkCAAEDJiUBAQkKAgoKCwsLCwsAAgoBAgQKAQYFCAoFBQQEBwgCBwwCAQAABAQBcAABBhoFfwFBAAt/AUEAC38BQQALfwFBAAt/AUEACwc9BgZtZW1vcnkCAAV0YWJsZQEABXJlc2V0AA0KbmV3VThBcnJheQAQCnVucGFja1NpemUAFAZkZWNvZGUAIwgBJAkHAQBBAAsBJQqAViVoAQN/IABBgICAgARLBEAACyMBIgEgAEEBIABBAUsbakEHakF4cSICPwAiA0EQdEsEQCADIAIgAWtB//8DakGAgHxxQRB2IgAgAyAAShtAAEEASARAIABAAEEASARAAAsLCyACJAEgAQsbAQF/QQFBICAAQQdqZ2t0EAEiASAANgIAIAELkQMBAX8gAUUEQA8LIABBADoAACAAIAFqQQFrQQA6AAAgAUECTQRADwsgAEEBakEAOgAAIABBAmpBADoAACAAIAFqIgJBAmtBADoAACACQQNrQQA6AAAgAUEGTQRADwsgAEEDakEAOgAAIAAgAWpBBGtBADoAACABQQhNBEAPC0EAIABrQQNxIgIgAGoiAEEANgIAIAEgAmtBfHEiASAAakEEa0EANgIAIAFBCE0EQA8LIABBBGpBADYCACAAQQhqQQA2AgAgACABaiICQQxrQQA2AgAgAkEIa0EANgIAIAFBGE0EQA8LIABBDGpBADYCACAAQRBqQQA2AgAgAEEUakEANgIAIABBGGpBADYCACAAIAFqIgJBHGtBADYCACACQRhrQQA2AgAgAkEUa0EANgIAIAJBEGtBADYCACAAQQRxQRhqIgIgAGohACABIAJrIQEDQCABQSBPBEAgAEIANwMAIABBCGpCADcDACAAQRBqQgA3AwAgAEEYakIANwMAIAFBIGshASAAQSBqIQAMAQsLC1EBA38gAEH+////AEsEQEEAQSBBLUEnEAAACyAAQQJ0IgMQAiECQQgQASIBQQA2AgAgAUEANgIEIAEgAjYCACABIAA2AgQgAkEIaiADEAMgAQtmAQF/IAFB/P///wFLBEBBAEHAAEEXQSIQAAALIAFBAXQiARACIgJBCGogARADIABFBEBBDBABIQALIABBADYCACAAQQA2AgQgAEEANgIIIAAgAjYCACAAQQA2AgQgACABNgIIIAALCgBBDBABIAAQBQsuAQF/QQgQASIBQQA2AgAgAUEANgIEIAEgADYCBCABQQEgASgCBHQQBjYCACABC6EBAQR/QRAQASIBQQA2AgAgAUEANgIEIAFBADYCCCABQQA2AgxBEBAEIQIDQCAAQRBIBEBBAxAHIQMgAigCACAAQQJ0aiADNgIIIABBAWohAAwBCwsgASACNgIEQRAQBCECQQAhAANAIABBEEgEQEEDEAchAyACKAIAIABBAnRqIAM2AgggAEEBaiEADAELCyABIAI2AgggAUEIEAc2AgwgAQs0AQF/QRQQASIAQQA2AgAgAEEAOgAEIABBADYCCCAAQQA2AgwgAEEANgIQIABBDTYCCCAAC0IBAX9BGRABIgBBADYCACAAQQA2AgQgAEEANgIIIABBADYCDCAAQQA2AhAgAEEANgIUIABBADoAGCAAQQA2AhAgAAu1AgEEf0HQABABIgBBADoAACAAQQA2AgQgAEEANgIIIABBADYCDCAAQQA2AhAgAEEAOgAUIABBADYCGCAAQQA2AhwgAEEANgIgIABBADYCJCAAQQA2AiggAEEANgIsIABBADYCMCAAQQA2AjQgAEEANgI4IABBADYCPCAAQQA2AkAgAEEANgJEIABBADYCSCAAQQA2AkxBBBAEIQIDQCABQQRIBEBBBhAHIQMgAigCACABQQJ0aiADNgIIIAFBAWohAQwBCwsgACACNgIkIABBBBAHNgIoIABB8wAQBjYCLCAAQcABEAY2AjAgAEEMEAY2AjQgAEEMEAY2AjggAEEMEAY2AjwgAEEMEAY2AkAgAEHAARAGNgJEIAAQCDYCSCAAEAg2AkwgABAJNgIEIAAQCjYCCCAACx8BAX9BCBABIgBBADYCACAAQQA2AgQgABALNgIAIAALCgAjACQBEAwkAwthAQF/IAFB+P///wNLBEBBAEHAAEEXQSIQAAALIAEQAiICQQhqIAEQAyAARQRAQQwQASEACyAAQQA2AgAgAEEANgIEIABBADYCCCAAIAI2AgAgAEEANgIEIAAgATYCCCAACwoAQQwQASAAEA4LBgAgABAPCyoAIAEgACgCCE8EQEEAQcAAQSdBPxAAAAsgACgCBCABIAAoAgBqai0ACAssACABIAAoAghPBEBBAEHAAEEyQT8QAAALIAAoAgQgASAAKAIAamogAjoACAtkAQJ/QQ0QDyECA0AgAUENSARAIAIgASAAIAEQEUH/AXEQEiABQQFqIQEMAQsLQQAhAEEAIQEDQCABQQhIBEAgAiABQQVqEBFB/wFxIAFBA3R0IAByIQAgAUEBaiEBDAELCyAACwYAIAAQEwsnACAAIAEQDzYCCCAAQQA2AgwgACABNgIUIABBADoAGCAAQQA2AgALJAAgACgCCCAAKAIYEBUgAEGABiAAKAIMIAAtABRqdBAGNgIgC5UBAQR/IAEhBSAAIgYoAgAhASAAKAIEIQcgACgCCEEBdiEEIAJBAEgEfyACIARqIgBBACAAQQBKGwUgAiIAIAQgACAESBsLIQIgA0EASAR/IAMgBGoiAEEAIABBAEobBSADIgAgBCAAIARIGwshAwNAIAIgA05FBEAgAkEBdCABaiAHaiAFOwEIIAJBAWohAgwBCwsgBgssAQF/AkACQAJAIwRBAWsOAwEBAgALAAtB/////wchAQsgAEGACEEAIAEQFwvBAQECfyAAQQIQBjYCACAAKAIAIgEoAgAgASgCBGpBgAg7AQggACgCACICKAIAIQEgAigCBCABQQJqakGACDsBCCAAKAIMKAIAQQEkBBAYGkEAIQIDQCACQRBIBEAgAiAAKAIEKAIAIgEoAgBBAnZJBH8gAkECdCABaigCCAUACygCAEEBJAQQGBogAiAAKAIIKAIAIgEoAgBBAnZJBH8gAkECdCABaigCCAUACygCAEEBJAQQGBogAkEBaiECDAELCwuHAgEFfyAAIQJBgAYgACgCDCAALQAUanQhAQNAIAMgAUgEQCACKAIgIgQoAgAhBSAEKAIEIANBAXQgBWpqQYAIOwEIIANBAWohAwwBCwsgAiEBQQAhAgNAIAJBBEkEQCACIAEoAiQoAgAiAygCAEECdkkEfyACQQJ0IANqKAIIBQALKAIAQQEkBBAYGiACQQFqIQIMAQsLIAEoAigoAgBBASQEEBgaIAEoAixBASQEEBgaIAAoAjBBASQEEBgaIAAoAjRBASQEEBgaIAAoAjhBASQEEBgaIAAoAjxBASQEEBgaIAAoAkBBASQEEBgaIAAoAkRBASQEEBgaIAAoAkgQGSAAKAJMEBkLyAwBA38DQCABQQNxIAIgAhsEQCAAIgRBAWohACABIgNBAWohASAEIAMtAAA6AAAgAkEBayECDAELCyAAQQNxRQRAA0AgAkEQTwRAIAAgASgCADYCACAAQQRqIAFBBGooAgA2AgAgAEEIaiABQQhqKAIANgIAIABBDGogAUEMaigCADYCACABQRBqIQEgAEEQaiEAIAJBEGshAgwBCwsgAkEIcQRAIAAgASgCADYCACAAQQRqIAFBBGooAgA2AgAgAUEIaiEBIABBCGohAAsgAkEEcQRAIAAgASgCADYCACABQQRqIQEgAEEEaiEACyACQQJxBEAgACABLwEAOwEAIAFBAmohASAAQQJqIQALIAJBAXEEQCAAIAEtAAA6AAALDwsgAkEgTwRAAkACQAJAIABBA3EiA0EBRwRAIANBAkYNASADQQNGDQIMAwsgASgCACEFIAAgASIDLQAAOgAAIABBAWoiASABIANBAWoiAS0AADoAAEEBaiIEQQFqIQAgAUEBaiIDQQFqIQEgBCADLQAAOgAAIAJBA2shAgNAIAJBEU8EQCAAIAFBAWooAgAiA0EIdCAFQRh2cjYCACAAQQRqIAFBBWooAgAiBUEIdCADQRh2cjYCACAAQQhqIAFBCWooAgAiA0EIdCAFQRh2cjYCACAAQQxqIAFBDWooAgAiBUEIdCADQRh2cjYCACABQRBqIQEgAEEQaiEAIAJBEGshAgwBCwsMAgsgASgCACEFIAAgAS0AADoAACAAQQFqIgRBAWohACABQQFqIgNBAWohASAEIAMtAAA6AAAgAkECayECA0AgAkESTwRAIAAgAUECaigCACIDQRB0IAVBEHZyNgIAIABBBGogAUEGaigCACIFQRB0IANBEHZyNgIAIABBCGogAUEKaigCACIDQRB0IAVBEHZyNgIAIABBDGogAUEOaigCACIFQRB0IANBEHZyNgIAIAFBEGohASAAQRBqIQAgAkEQayECDAELCwwBCyABKAIAIQUgACIEQQFqIQAgASIDQQFqIQEgBCADLQAAOgAAIAJBAWshAgNAIAJBE08EQCAAIAFBA2ooAgAiA0EYdCAFQQh2cjYCACAAQQRqIAFBB2ooAgAiBUEYdCADQQh2cjYCACAAQQhqIAFBC2ooAgAiA0EY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";return n(t)}function decodeLZMA(n,t,e){try{var r={data:t,offset:0,readByte:function(){return this.data[this.offset++]}},i=r.data.length,o={data:[],offset:0,writeByte:function(c){var l=Math.floor(this.offset/i);this.data[l]||(this.data[l]=new Uint8Array(i)),this.data[l][this.offset%i]=c,this.offset++}};n.decompressFile(r,o);for(var s=new Uint8Array(o.offset),u=0;u<o.offset;u++)s[u]=o.data[Math.floor(u/i)][u%i];e(null,s)}catch(c){e(c)}}function decodeLZMAWithWASM(n,t,e){var r=24;try{var i=new WebAssembly.Memory({initial:16}),o=new WebAssembly.Module(n),s=new WebAssembly.Instance(o,{env:{memory:i,abort:function(){e(new Error("webAssembly abort"))}}}),u=s.exports,c=u.newU8Array(t.length),l=new Uint8Array(i.buffer,c+r,t.length);l.set(t);var d=u.decode(c),f=new Uint32Array(i.buffer,d,4),m=f[0],p=f[2],A=f[3];m?e(null,new Uint8Array(i.buffer,A+r,p).slice(0,p)):e(new Error("lzma deocder error"))}catch(v){e(v)}}var lzmaWorkerSource=`
|
|
884
884
|
var decodeLZMA = (function() {
|
|
885
885
|
var LZMA = (`.concat(createLZMA.toString(),`)();
|
|
886
886
|
return function(data, callback) {
|
|
@@ -925,11 +925,11 @@ self.onmessage = function(event) {
|
|
|
925
925
|
}
|
|
926
926
|
postMessage({ id: packet.id, error: "type never matched." });
|
|
927
927
|
};
|
|
928
|
-
`),support=typeof Worker!="undefined"&&typeof Blob!="undefined",lzmaWorkerURL="";if(support)try{var blob=new Blob([lzmaWorkerSource],{type:"text/javascript"});lzmaWorkerURL=URL.createObjectURL(blob)}catch(n){}var LZMAWorker=function(){function n(){var t=this;if(!support)throw new Error("LZMAWorker cannot work in this broswer.");this.callCounter=0,this.requests={};var e=this.worker=new Worker(lzmaWorkerURL);e.onmessage=function(r){var i=r.data,o=i.id,s=i.result,u=i.error,l=t.getKey(o);t.requests[l]&&(u?t.requests[l](new Error(u)):t.requests[l](null,s),delete t.requests[l])},e.onerror=function(r){return console.error(r)}}return n.prototype.getKey=function(t){return"key_"+String(t)},n.prototype.decompress=function(t,e){var r=++this.callCounter;this.requests[this.getKey(r)]=e,this.worker.postMessage({type:"decompress",id:r,data:t},[t.buffer])},n.prototype.terminate=function(){this.worker.terminate()},n.support=support,n}();function readUint32(n){return Array.prototype.reduce.call(n,function(t,e,r){return t|e<<r*8},0)}function binaryArrays(n){for(var t=[],e=n.length,r=function(s){var u={data:n[s],offset:0,readByte:function(){return this.data[this.offset++]}},l=u.data.length,c={data:[],offset:0,writeByte:function(f){var v=Math.floor(this.offset/l);this.data[v]||(this.data[v]=new Uint8Array(l)),this.data[v][this.offset%l]=f,this.offset++}};LZMA.decompressFile(u,c),i=new Uint8Array(c.offset);for(var d=0;d<c.offset;d++)i[d]=c.data[Math.floor(d/l)][d%l];t.push(i)},i,o=0;o<e;o++)r(o);return t}function binaryArraysWithWorker(n){for(var t=[],e=n.length,r=function(o){t.push(new Promise(function(s,u){var l=new LZMAWorker;l.decompress(n[o],function(c,d){if(l.terminate(),c)return u(c);s(d)})}))},i=0;i<e;i++)r(i);return Promise.all(t)}function lzma(n){var t=new Uint8Array(n),e=readUint32(t.slice(0,4));if(e>10)return Promise.reject(new Error("LZMA got too many sub chunks."));for(var r=[],i=[],o=4+e*4,s=0;s<e;s++)i[s]=readUint32(t.slice(4+s*4,8+s*4)),s===e-1?r[s]=t.subarray(o,o+i[s]):r[s]=t.slice(o,o+i[s]),o+=i[s];return LZMAWorker.support?binaryArraysWithWorker(r):Promise.resolve(binaryArrays(r))}var dequeuing=!1,queue=[];function dequeue(n){if(n===void 0&&(n=!1),!(!n&&dequeuing)){dequeuing=!0;var t=queue.shift();if(t){try{t()}catch(e){}AnimationFrameLoop.shared.add(function(){return dequeue(!0)},!0,2,-100)}else dequeuing=!1}}function delay(n){return new Promise(function(t,e){var r=function(){try{t(n())}catch(i){e(i)}};queue.push(r),AnimationFrameLoop.shared.add(function(){return dequeue()},!0,2,-100)})}function pick(n,t){for(var e={},r=0,i=t;r<i.length;r++){var o=i[r];o in n&&(e[o]=n[o])}return e}function omit(n,t){for(var e=__assign({},n),r=0,i=t;r<i.length;r++){var o=i[r];o in e&&delete e[o]}return e}function jsonStableStrinfiy_(n,t){t===void 0&&(t=!1);var e=typeof n;if(e==="string")return JSON.stringify(n);if(n===!0)return"true";if(n===!1)return"false";if(n===null)return"null";if(n instanceof Array){for(var r="[",i=n.length-1,o=0;o<i;o++)r+=jsonStableStrinfiy_(n[o],!1)+",";return i>-1&&(r+=jsonStableStrinfiy_(n[o],!1)),r+"]"}if(n instanceof Object){if(typeof n.toJSON=="function")return jsonStableStrinfiy_(n.toJSON(),t);for(var s=Object.keys(n).sort(),u=s.length,r="",o=0;o<u;){var l=s[o],c=jsonStableStrinfiy_(n[l],!0);c!==void 0&&(o&&r!==""&&(r+=","),r+=JSON.stringify(l)+":"+c),o++}return"{"+r+"}"}switch(e){case"function":return JSON.stringify(n.toString());case"undefined":return t?void 0:null;case"number":return n;default:return isFinite(n)?n:null}}function jsonHash(n){return"hash::".concat(jsonStableStrinfiy_(n,!1))}var commonjsGlobal=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{},indexMinimal={},minimal$1={},aspromise=asPromise;function asPromise(n,t){for(var e=new Array(arguments.length-1),r=0,i=2,o=!0;i<arguments.length;)e[r++]=arguments[i++];return new Promise(function(u,l){e[r]=function(d){if(o)if(o=!1,d)l(d);else{for(var f=new Array(arguments.length-1),v=0;v<f.length;)f[v++]=arguments[v];u.apply(null,f)}};try{n.apply(t||null,e)}catch(c){o&&(o=!1,l(c))}})}var base64$1={};(function(n){var t=n;t.length=function(u){var l=u.length;if(!l)return 0;for(var c=0;--l%4>1&&u.charAt(l)==="=";)++c;return Math.ceil(u.length*3)/4-c};for(var e=new Array(64),r=new Array(123),i=0;i<64;)r[e[i]=i<26?i+65:i<52?i+71:i<62?i-4:i-59|43]=i++;t.encode=function(u,l,c){for(var d=null,f=[],v=0,p=0,A;l<c;){var m=u[l++];switch(p){case 0:f[v++]=e[m>>2],A=(m&3)<<4,p=1;break;case 1:f[v++]=e[A|m>>4],A=(m&15)<<2,p=2;break;case 2:f[v++]=e[A|m>>6],f[v++]=e[m&63],p=0;break}v>8191&&((d||(d=[])).push(String.fromCharCode.apply(String,f)),v=0)}return p&&(f[v++]=e[A],f[v++]=61,p===1&&(f[v++]=61)),d?(v&&d.push(String.fromCharCode.apply(String,f.slice(0,v))),d.join("")):String.fromCharCode.apply(String,f.slice(0,v))};var o="invalid encoding";t.decode=function(u,l,c){for(var d=c,f=0,v,p=0;p<u.length;){var A=u.charCodeAt(p++);if(A===61&&f>1)break;if((A=r[A])===void 0)throw Error(o);switch(f){case 0:v=A,f=1;break;case 1:l[c++]=v<<2|(A&48)>>4,v=A,f=2;break;case 2:l[c++]=(v&15)<<4|(A&60)>>2,v=A,f=3;break;case 3:l[c++]=(v&3)<<6|A,f=0;break}}if(f===1)throw Error(o);return c-d},t.test=function(u){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(u)}})(base64$1);var eventemitter=EventEmitter;function EventEmitter(){this._listeners={}}EventEmitter.prototype.on=function(t,e,r){return(this._listeners[t]||(this._listeners[t]=[])).push({fn:e,ctx:r||this}),this},EventEmitter.prototype.off=function(t,e){if(t===void 0)this._listeners={};else if(e===void 0)this._listeners[t]=[];else for(var r=this._listeners[t],i=0;i<r.length;)r[i].fn===e?r.splice(i,1):++i;return this},EventEmitter.prototype.emit=function(t){var e=this._listeners[t];if(e){for(var r=[],i=1;i<arguments.length;)r.push(arguments[i++]);for(i=0;i<e.length;)e[i].fn.apply(e[i++].ctx,r)}return this};var float=factory(factory);function factory(n){return typeof Float32Array!="undefined"?function(){var t=new Float32Array([-0]),e=new Uint8Array(t.buffer),r=e[3]===128;function i(l,c,d){t[0]=l,c[d]=e[0],c[d+1]=e[1],c[d+2]=e[2],c[d+3]=e[3]}function o(l,c,d){t[0]=l,c[d]=e[3],c[d+1]=e[2],c[d+2]=e[1],c[d+3]=e[0]}n.writeFloatLE=r?i:o,n.writeFloatBE=r?o:i;function s(l,c){return e[0]=l[c],e[1]=l[c+1],e[2]=l[c+2],e[3]=l[c+3],t[0]}function u(l,c){return e[3]=l[c],e[2]=l[c+1],e[1]=l[c+2],e[0]=l[c+3],t[0]}n.readFloatLE=r?s:u,n.readFloatBE=r?u:s}():function(){function t(r,i,o,s){var u=i<0?1:0;if(u&&(i=-i),i===0)r(1/i>0?0:2147483648,o,s);else if(isNaN(i))r(2143289344,o,s);else if(i>34028234663852886e22)r((u<<31|2139095040)>>>0,o,s);else if(i<11754943508222875e-54)r((u<<31|Math.round(i/1401298464324817e-60))>>>0,o,s);else{var l=Math.floor(Math.log(i)/Math.LN2),c=Math.round(i*Math.pow(2,-l)*8388608)&8388607;r((u<<31|l+127<<23|c)>>>0,o,s)}}n.writeFloatLE=t.bind(null,writeUintLE),n.writeFloatBE=t.bind(null,writeUintBE);function e(r,i,o){var s=r(i,o),u=(s>>31)*2+1,l=s>>>23&255,c=s&8388607;return l===255?c?NaN:u*(1/0):l===0?u*1401298464324817e-60*c:u*Math.pow(2,l-150)*(c+8388608)}n.readFloatLE=e.bind(null,readUintLE),n.readFloatBE=e.bind(null,readUintBE)}(),typeof Float64Array!="undefined"?function(){var t=new Float64Array([-0]),e=new Uint8Array(t.buffer),r=e[7]===128;function i(l,c,d){t[0]=l,c[d]=e[0],c[d+1]=e[1],c[d+2]=e[2],c[d+3]=e[3],c[d+4]=e[4],c[d+5]=e[5],c[d+6]=e[6],c[d+7]=e[7]}function o(l,c,d){t[0]=l,c[d]=e[7],c[d+1]=e[6],c[d+2]=e[5],c[d+3]=e[4],c[d+4]=e[3],c[d+5]=e[2],c[d+6]=e[1],c[d+7]=e[0]}n.writeDoubleLE=r?i:o,n.writeDoubleBE=r?o:i;function s(l,c){return e[0]=l[c],e[1]=l[c+1],e[2]=l[c+2],e[3]=l[c+3],e[4]=l[c+4],e[5]=l[c+5],e[6]=l[c+6],e[7]=l[c+7],t[0]}function u(l,c){return e[7]=l[c],e[6]=l[c+1],e[5]=l[c+2],e[4]=l[c+3],e[3]=l[c+4],e[2]=l[c+5],e[1]=l[c+6],e[0]=l[c+7],t[0]}n.readDoubleLE=r?s:u,n.readDoubleBE=r?u:s}():function(){function t(r,i,o,s,u,l){var c=s<0?1:0;if(c&&(s=-s),s===0)r(0,u,l+i),r(1/s>0?0:2147483648,u,l+o);else if(isNaN(s))r(0,u,l+i),r(2146959360,u,l+o);else if(s>17976931348623157e292)r(0,u,l+i),r((c<<31|2146435072)>>>0,u,l+o);else{var d;if(s<22250738585072014e-324)d=s/5e-324,r(d>>>0,u,l+i),r((c<<31|d/4294967296)>>>0,u,l+o);else{var f=Math.floor(Math.log(s)/Math.LN2);f===1024&&(f=1023),d=s*Math.pow(2,-f),r(d*4503599627370496>>>0,u,l+i),r((c<<31|f+1023<<20|d*1048576&1048575)>>>0,u,l+o)}}}n.writeDoubleLE=t.bind(null,writeUintLE,0,4),n.writeDoubleBE=t.bind(null,writeUintBE,4,0);function e(r,i,o,s,u){var l=r(s,u+i),c=r(s,u+o),d=(c>>31)*2+1,f=c>>>20&2047,v=4294967296*(c&1048575)+l;return f===2047?v?NaN:d*(1/0):f===0?d*5e-324*v:d*Math.pow(2,f-1075)*(v+4503599627370496)}n.readDoubleLE=e.bind(null,readUintLE,0,4),n.readDoubleBE=e.bind(null,readUintBE,4,0)}(),n}function writeUintLE(n,t,e){t[e]=n&255,t[e+1]=n>>>8&255,t[e+2]=n>>>16&255,t[e+3]=n>>>24}function writeUintBE(n,t,e){t[e]=n>>>24,t[e+1]=n>>>16&255,t[e+2]=n>>>8&255,t[e+3]=n&255}function readUintLE(n,t){return(n[t]|n[t+1]<<8|n[t+2]<<16|n[t+3]<<24)>>>0}function readUintBE(n,t){return(n[t]<<24|n[t+1]<<16|n[t+2]<<8|n[t+3])>>>0}var inquire_1=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(n){}return null}var utf8$2={};(function(n){var t=n;t.length=function(r){for(var i=0,o=0,s=0;s<r.length;++s)o=r.charCodeAt(s),o<128?i+=1:o<2048?i+=2:(o&64512)===55296&&(r.charCodeAt(s+1)&64512)===56320?(++s,i+=4):i+=3;return i},t.read=function(r,i,o){var s=o-i;if(s<1)return"";for(var u=null,l=[],c=0,d;i<o;)d=r[i++],d<128?l[c++]=d:d>191&&d<224?l[c++]=(d&31)<<6|r[i++]&63:d>239&&d<365?(d=((d&7)<<18|(r[i++]&63)<<12|(r[i++]&63)<<6|r[i++]&63)-65536,l[c++]=55296+(d>>10),l[c++]=56320+(d&1023)):l[c++]=(d&15)<<12|(r[i++]&63)<<6|r[i++]&63,c>8191&&((u||(u=[])).push(String.fromCharCode.apply(String,l)),c=0);return u?(c&&u.push(String.fromCharCode.apply(String,l.slice(0,c))),u.join("")):String.fromCharCode.apply(String,l.slice(0,c))},t.write=function(r,i,o){for(var s=o,u,l,c=0;c<r.length;++c)u=r.charCodeAt(c),u<128?i[o++]=u:u<2048?(i[o++]=u>>6|192,i[o++]=u&63|128):(u&64512)===55296&&((l=r.charCodeAt(c+1))&64512)===56320?(u=65536+((u&1023)<<10)+(l&1023),++c,i[o++]=u>>18|240,i[o++]=u>>12&63|128,i[o++]=u>>6&63|128,i[o++]=u&63|128):(i[o++]=u>>12|224,i[o++]=u>>6&63|128,i[o++]=u&63|128);return o-s}})(utf8$2);var pool_1=pool;function pool(n,t,e){var r=e||8192,i=r>>>1,o=null,s=r;return function(l){if(l<1||l>i)return n(l);s+l>r&&(o=n(r),s=0);var c=t.call(o,s,s+=l);return s&7&&(s=(s|7)+1),c}}var longbits,hasRequiredLongbits;function requireLongbits(){if(hasRequiredLongbits)return longbits;hasRequiredLongbits=1,longbits=t;var n=requireMinimal();function t(o,s){this.lo=o>>>0,this.hi=s>>>0}var e=t.zero=new t(0,0);e.toNumber=function(){return 0},e.zzEncode=e.zzDecode=function(){return this},e.length=function(){return 1};var r=t.zeroHash="\0\0\0\0\0\0\0\0";t.fromNumber=function(s){if(s===0)return e;var u=s<0;u&&(s=-s);var l=s>>>0,c=(s-l)/4294967296>>>0;return u&&(c=~c>>>0,l=~l>>>0,++l>4294967295&&(l=0,++c>4294967295&&(c=0))),new t(l,c)},t.from=function(s){if(typeof s=="number")return t.fromNumber(s);if(n.isString(s))if(n.Long)s=n.Long.fromString(s);else return t.fromNumber(parseInt(s,10));return s.low||s.high?new t(s.low>>>0,s.high>>>0):e},t.prototype.toNumber=function(s){if(!s&&this.hi>>>31){var u=~this.lo+1>>>0,l=~this.hi>>>0;return u||(l=l+1>>>0),-(u+l*4294967296)}return this.lo+this.hi*4294967296},t.prototype.toLong=function(s){return n.Long?new n.Long(this.lo|0,this.hi|0,!!s):{low:this.lo|0,high:this.hi|0,unsigned:!!s}};var i=String.prototype.charCodeAt;return t.fromHash=function(s){return s===r?e:new t((i.call(s,0)|i.call(s,1)<<8|i.call(s,2)<<16|i.call(s,3)<<24)>>>0,(i.call(s,4)|i.call(s,5)<<8|i.call(s,6)<<16|i.call(s,7)<<24)>>>0)},t.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},t.prototype.zzEncode=function(){var s=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^s)>>>0,this.lo=(this.lo<<1^s)>>>0,this},t.prototype.zzDecode=function(){var s=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^s)>>>0,this.hi=(this.hi>>>1^s)>>>0,this},t.prototype.length=function(){var s=this.lo,u=(this.lo>>>28|this.hi<<4)>>>0,l=this.hi>>>24;return l===0?u===0?s<16384?s<128?1:2:s<2097152?3:4:u<16384?u<128?5:6:u<2097152?7:8:l<128?9:10},longbits}var hasRequiredMinimal;function requireMinimal(){return hasRequiredMinimal||(hasRequiredMinimal=1,function(n){var t=n;t.asPromise=aspromise,t.base64=base64$1,t.EventEmitter=eventemitter,t.float=float,t.inquire=inquire_1,t.utf8=utf8$2,t.pool=pool_1,t.LongBits=requireLongbits(),t.isNode=!!(typeof commonjsGlobal!="undefined"&&commonjsGlobal&&commonjsGlobal.process&&commonjsGlobal.process.versions&&commonjsGlobal.process.versions.node),t.global=t.isNode&&commonjsGlobal||typeof window!="undefined"&&window||typeof self!="undefined"&&self||commonjsGlobal,t.emptyArray=Object.freeze?Object.freeze([]):[],t.emptyObject=Object.freeze?Object.freeze({}):{},t.isInteger=Number.isInteger||function(o){return typeof o=="number"&&isFinite(o)&&Math.floor(o)===o},t.isString=function(o){return typeof o=="string"||o instanceof String},t.isObject=function(o){return o&&typeof o=="object"},t.isset=t.isSet=function(o,s){var u=o[s];return u!=null&&o.hasOwnProperty(s)?typeof u!="object"||(Array.isArray(u)?u.length:Object.keys(u).length)>0:!1},t.Buffer=function(){try{var i=t.inquire("buffer").Buffer;return i.prototype.utf8Write?i:null}catch(o){return null}}(),t._Buffer_from=null,t._Buffer_allocUnsafe=null,t.newBuffer=function(o){return typeof o=="number"?t.Buffer?t._Buffer_allocUnsafe(o):new t.Array(o):t.Buffer?t._Buffer_from(o):typeof Uint8Array=="undefined"?o:new Uint8Array(o)},t.Array=typeof Uint8Array!="undefined"?Uint8Array:Array,t.Long=t.global.dcodeIO&&t.global.dcodeIO.Long||t.global.Long||t.inquire("long"),t.key2Re=/^true|false|0|1$/,t.key32Re=/^-?(?:0|[1-9][0-9]*)$/,t.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,t.longToHash=function(o){return o?t.LongBits.from(o).toHash():t.LongBits.zeroHash},t.longFromHash=function(o,s){var u=t.LongBits.fromHash(o);return t.Long?t.Long.fromBits(u.lo,u.hi,s):u.toNumber(!!s)};function e(i,o,s){for(var u=Object.keys(o),l=0;l<u.length;++l)(i[u[l]]===void 0||!s)&&(i[u[l]]=o[u[l]]);return i}t.merge=e,t.lcFirst=function(o){return o.charAt(0).toLowerCase()+o.substring(1)};function r(i){function o(s,u){if(!(this instanceof o))return new o(s,u);Object.defineProperty(this,"message",{get:function(){return s}}),Error.captureStackTrace?Error.captureStackTrace(this,o):Object.defineProperty(this,"stack",{value:new Error().stack||""}),u&&e(this,u)}return o.prototype=Object.create(Error.prototype,{constructor:{value:o,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return i},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),o}t.newError=r,t.ProtocolError=r("ProtocolError"),t.oneOfGetter=function(o){for(var s={},u=0;u<o.length;++u)s[o[u]]=1;return function(){for(var l=Object.keys(this),c=l.length-1;c>-1;--c)if(s[l[c]]===1&&this[l[c]]!==void 0&&this[l[c]]!==null)return l[c]}},t.oneOfSetter=function(o){return function(s){for(var u=0;u<o.length;++u)o[u]!==s&&delete this[o[u]]}},t.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},t._configure=function(){var i=t.Buffer;if(!i){t._Buffer_from=t._Buffer_allocUnsafe=null;return}t._Buffer_from=i.from!==Uint8Array.from&&i.from||function(s,u){return new i(s,u)},t._Buffer_allocUnsafe=i.allocUnsafe||function(s){return new i(s)}}}(minimal$1)),minimal$1}var writer=Writer$1,util$4=requireMinimal(),BufferWriter$1,LongBits$1=util$4.LongBits,base64=util$4.base64,utf8$1=util$4.utf8;function Op(n,t,e){this.fn=n,this.len=t,this.next=void 0,this.val=e}function noop(){}function State(n){this.head=n.head,this.tail=n.tail,this.len=n.len,this.next=n.states}function Writer$1(){this.len=0,this.head=new Op(noop,0,0),this.tail=this.head,this.states=null}var create$1=function n(){return util$4.Buffer?function(){return(Writer$1.create=function(){return new BufferWriter$1})()}:function(){return new Writer$1}};Writer$1.create=create$1(),Writer$1.alloc=function n(t){return new util$4.Array(t)},util$4.Array!==Array&&(Writer$1.alloc=util$4.pool(Writer$1.alloc,util$4.Array.prototype.subarray)),Writer$1.prototype._push=function n(t,e,r){return this.tail=this.tail.next=new Op(t,e,r),this.len+=e,this};function writeByte(n,t,e){t[e]=n&255}function writeVarint32(n,t,e){for(;n>127;)t[e++]=n&127|128,n>>>=7;t[e]=n}function VarintOp(n,t){this.len=n,this.next=void 0,this.val=t}VarintOp.prototype=Object.create(Op.prototype),VarintOp.prototype.fn=writeVarint32,Writer$1.prototype.uint32=function n(t){return this.len+=(this.tail=this.tail.next=new VarintOp((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this},Writer$1.prototype.int32=function n(t){return t<0?this._push(writeVarint64,10,LongBits$1.fromNumber(t)):this.uint32(t)},Writer$1.prototype.sint32=function n(t){return this.uint32((t<<1^t>>31)>>>0)};function writeVarint64(n,t,e){for(;n.hi;)t[e++]=n.lo&127|128,n.lo=(n.lo>>>7|n.hi<<25)>>>0,n.hi>>>=7;for(;n.lo>127;)t[e++]=n.lo&127|128,n.lo=n.lo>>>7;t[e++]=n.lo}Writer$1.prototype.uint64=function n(t){var e=LongBits$1.from(t);return this._push(writeVarint64,e.length(),e)},Writer$1.prototype.int64=Writer$1.prototype.uint64,Writer$1.prototype.sint64=function n(t){var e=LongBits$1.from(t).zzEncode();return this._push(writeVarint64,e.length(),e)},Writer$1.prototype.bool=function n(t){return this._push(writeByte,1,t?1:0)};function writeFixed32(n,t,e){t[e]=n&255,t[e+1]=n>>>8&255,t[e+2]=n>>>16&255,t[e+3]=n>>>24}Writer$1.prototype.fixed32=function n(t){return this._push(writeFixed32,4,t>>>0)},Writer$1.prototype.sfixed32=Writer$1.prototype.fixed32,Writer$1.prototype.fixed64=function n(t){var e=LongBits$1.from(t);return this._push(writeFixed32,4,e.lo)._push(writeFixed32,4,e.hi)},Writer$1.prototype.sfixed64=Writer$1.prototype.fixed64,Writer$1.prototype.float=function n(t){return this._push(util$4.float.writeFloatLE,4,t)},Writer$1.prototype.double=function n(t){return this._push(util$4.float.writeDoubleLE,8,t)};var writeBytes=util$4.Array.prototype.set?function n(t,e,r){e.set(t,r)}:function n(t,e,r){for(var i=0;i<t.length;++i)e[r+i]=t[i]};Writer$1.prototype.bytes=function n(t){var e=t.length>>>0;if(!e)return this._push(writeByte,1,0);if(util$4.isString(t)){var r=Writer$1.alloc(e=base64.length(t));base64.decode(t,r,0),t=r}return this.uint32(e)._push(writeBytes,e,t)},Writer$1.prototype.string=function n(t){var e=utf8$1.length(t);return e?this.uint32(e)._push(utf8$1.write,e,t):this._push(writeByte,1,0)},Writer$1.prototype.fork=function n(){return this.states=new State(this),this.head=this.tail=new Op(noop,0,0),this.len=0,this},Writer$1.prototype.reset=function n(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Op(noop,0,0),this.len=0),this},Writer$1.prototype.ldelim=function n(){var t=this.head,e=this.tail,r=this.len;return this.reset().uint32(r),r&&(this.tail.next=t.next,this.tail=e,this.len+=r),this},Writer$1.prototype.finish=function n(){for(var t=this.head.next,e=this.constructor.alloc(this.len),r=0;t;)t.fn(t.val,e,r),r+=t.len,t=t.next;return e},Writer$1._configure=function(n){BufferWriter$1=n,Writer$1.create=create$1(),BufferWriter$1._configure()};var writer_buffer=BufferWriter,Writer=writer;(BufferWriter.prototype=Object.create(Writer.prototype)).constructor=BufferWriter;var util$3=requireMinimal();function BufferWriter(){Writer.call(this)}BufferWriter._configure=function(){BufferWriter.alloc=util$3._Buffer_allocUnsafe,BufferWriter.writeBytesBuffer=util$3.Buffer&&util$3.Buffer.prototype instanceof Uint8Array&&util$3.Buffer.prototype.set.name==="set"?function(t,e,r){e.set(t,r)}:function(t,e,r){if(t.copy)t.copy(e,r,0,t.length);else for(var i=0;i<t.length;)e[r++]=t[i++]}},BufferWriter.prototype.bytes=function n(t){util$3.isString(t)&&(t=util$3._Buffer_from(t,"base64"));var e=t.length>>>0;return this.uint32(e),e&&this._push(BufferWriter.writeBytesBuffer,e,t),this};function writeStringBuffer(n,t,e){n.length<40?util$3.utf8.write(n,t,e):t.utf8Write?t.utf8Write(n,e):t.write(n,e)}BufferWriter.prototype.string=function n(t){var e=util$3.Buffer.byteLength(t);return this.uint32(e),e&&this._push(writeStringBuffer,e,t),this},BufferWriter._configure();var reader=Reader$1,util$2=requireMinimal(),BufferReader$1,LongBits=util$2.LongBits,utf8=util$2.utf8;function indexOutOfRange(n,t){return RangeError("index out of range: "+n.pos+" + "+(t||1)+" > "+n.len)}function Reader$1(n){this.buf=n,this.pos=0,this.len=n.length}var create_array=typeof Uint8Array!="undefined"?function n(t){if(t instanceof Uint8Array||Array.isArray(t))return new Reader$1(t);throw Error("illegal buffer")}:function n(t){if(Array.isArray(t))return new Reader$1(t);throw Error("illegal buffer")},create=function n(){return util$2.Buffer?function(e){return(Reader$1.create=function(i){return util$2.Buffer.isBuffer(i)?new BufferReader$1(i):create_array(i)})(e)}:create_array};Reader$1.create=create(),Reader$1.prototype._slice=util$2.Array.prototype.subarray||util$2.Array.prototype.slice,Reader$1.prototype.uint32=function n(){var t=4294967295;return function(){if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,indexOutOfRange(this,10);return t}}(),Reader$1.prototype.int32=function n(){return this.uint32()|0},Reader$1.prototype.sint32=function n(){var t=this.uint32();return t>>>1^-(t&1)|0};function readLongVarint(){var n=new LongBits(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(n.lo=(n.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return n;if(n.lo=(n.lo|(this.buf[this.pos]&127)<<28)>>>0,n.hi=(n.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return n;t=0}else{for(;t<3;++t){if(this.pos>=this.len)throw indexOutOfRange(this);if(n.lo=(n.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return n}return n.lo=(n.lo|(this.buf[this.pos++]&127)<<t*7)>>>0,n}if(this.len-this.pos>4){for(;t<5;++t)if(n.hi=(n.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return n}else for(;t<5;++t){if(this.pos>=this.len)throw indexOutOfRange(this);if(n.hi=(n.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return n}throw Error("invalid varint encoding")}Reader$1.prototype.bool=function n(){return this.uint32()!==0};function readFixed32_end(n,t){return(n[t-4]|n[t-3]<<8|n[t-2]<<16|n[t-1]<<24)>>>0}Reader$1.prototype.fixed32=function n(){if(this.pos+4>this.len)throw indexOutOfRange(this,4);return readFixed32_end(this.buf,this.pos+=4)},Reader$1.prototype.sfixed32=function n(){if(this.pos+4>this.len)throw indexOutOfRange(this,4);return readFixed32_end(this.buf,this.pos+=4)|0};function readFixed64(){if(this.pos+8>this.len)throw indexOutOfRange(this,8);return new LongBits(readFixed32_end(this.buf,this.pos+=4),readFixed32_end(this.buf,this.pos+=4))}Reader$1.prototype.float=function n(){if(this.pos+4>this.len)throw indexOutOfRange(this,4);var t=util$2.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t},Reader$1.prototype.double=function n(){if(this.pos+8>this.len)throw indexOutOfRange(this,4);var t=util$2.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t},Reader$1.prototype.bytes=function n(){var t=this.uint32(),e=this.pos,r=this.pos+t;if(r>this.len)throw indexOutOfRange(this,t);if(this.pos+=t,Array.isArray(this.buf))return this.buf.slice(e,r);if(e===r){var i=util$2.Buffer;return i?i.alloc(0):new this.buf.constructor(0)}return this._slice.call(this.buf,e,r)},Reader$1.prototype.string=function n(){var t=this.bytes();return utf8.read(t,0,t.length)},Reader$1.prototype.skip=function n(t){if(typeof t=="number"){if(this.pos+t>this.len)throw indexOutOfRange(this,t);this.pos+=t}else do if(this.pos>=this.len)throw indexOutOfRange(this);while(this.buf[this.pos++]&128);return this},Reader$1.prototype.skipType=function(n){switch(n){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(n=this.uint32()&7)!==4;)this.skipType(n);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+n+" at offset "+this.pos)}return this},Reader$1._configure=function(n){BufferReader$1=n,Reader$1.create=create(),BufferReader$1._configure();var t=util$2.Long?"toLong":"toNumber";util$2.merge(Reader$1.prototype,{int64:function(){return readLongVarint.call(this)[t](!1)},uint64:function(){return readLongVarint.call(this)[t](!0)},sint64:function(){return readLongVarint.call(this).zzDecode()[t](!1)},fixed64:function(){return readFixed64.call(this)[t](!0)},sfixed64:function(){return readFixed64.call(this)[t](!1)}})};var reader_buffer=BufferReader,Reader=reader;(BufferReader.prototype=Object.create(Reader.prototype)).constructor=BufferReader;var util$1=requireMinimal();function BufferReader(n){Reader.call(this,n)}BufferReader._configure=function(){util$1.Buffer&&(BufferReader.prototype._slice=util$1.Buffer.prototype.slice)},BufferReader.prototype.string=function n(){var t=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+t,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+t,this.len))},BufferReader._configure();var rpc={},service=Service,util=requireMinimal();(Service.prototype=Object.create(util.EventEmitter.prototype)).constructor=Service;function Service(n,t,e){if(typeof n!="function")throw TypeError("rpcImpl must be a function");util.EventEmitter.call(this),this.rpcImpl=n,this.requestDelimited=!!t,this.responseDelimited=!!e}Service.prototype.rpcCall=function n(t,e,r,i,o){if(!i)throw TypeError("request must be specified");var s=this;if(!o)return util.asPromise(n,s,t,e,r,i);if(!s.rpcImpl){setTimeout(function(){o(Error("already ended"))},0);return}try{return s.rpcImpl(t,e[s.requestDelimited?"encodeDelimited":"encode"](i).finish(),function(l,c){if(l)return s.emit("error",l,t),o(l);if(c===null){s.end(!0);return}if(!(c instanceof r))try{c=r[s.responseDelimited?"decodeDelimited":"decode"](c)}catch(d){return s.emit("error",d,t),o(d)}return s.emit("data",c,t),o(null,c)})}catch(u){s.emit("error",u,t),setTimeout(function(){o(u)},0);return}},Service.prototype.end=function n(t){return this.rpcImpl&&(t||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this},function(n){var t=n;t.Service=service}(rpc);var roots={};(function(n){var t=n;t.build="minimal",t.Writer=writer,t.BufferWriter=writer_buffer,t.Reader=reader,t.BufferReader=reader_buffer,t.util=requireMinimal(),t.rpc=rpc,t.roots=roots,t.configure=e;function e(){t.util._configure(),t.Writer._configure(t.BufferWriter),t.Reader._configure(t.BufferReader)}e()})(indexMinimal);var minimal=indexMinimal;const $Reader$1=minimal.Reader,$util$1=minimal.util,$root$1=minimal.roots["@REALSEE/FIVE:five/loaders/model/proto/pbm.proto"]||(minimal.roots["@REALSEE/FIVE:five/loaders/model/proto/pbm.proto"]={}),Model$2=$root$1.Model=(()=>{function n(t){if(this.chunks=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.chunks=$util$1.emptyArray,n.prototype.createAt=$util$1.Long?$util$1.Long.fromBits(0,0,!0):0,n.prototype.description="",n.decode=function(e,r){e instanceof $Reader$1||(e=$Reader$1.create(e));let i=r===void 0?e.len:e.pos+r,o=new $root$1.Model;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:{o.chunks&&o.chunks.length||(o.chunks=[]),o.chunks.push($root$1.Chunk.decode(e,e.uint32()));break}case 2:{o.createAt=e.uint64();break}case 3:{o.description=e.string();break}default:e.skipType(s&7);break}}return o},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Model"},n})();$root$1.Chunk=(()=>{function n(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.vertices=null,n.prototype.faces=null,n.prototype.name="",n.prototype.texture="",n.decode=function(e,r){e instanceof $Reader$1||(e=$Reader$1.create(e));let i=r===void 0?e.len:e.pos+r,o=new $root$1.Chunk;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:{o.vertices=$root$1.Vertices.decode(e,e.uint32());break}case 2:{o.faces=$root$1.Faces.decode(e,e.uint32());break}case 3:{o.name=e.string();break}case 4:{o.texture=e.string();break}default:e.skipType(s&7);break}}if(!o.hasOwnProperty("vertices"))throw $util$1.ProtocolError("missing required 'vertices'",{instance:o});if(!o.hasOwnProperty("faces"))throw $util$1.ProtocolError("missing required 'faces'",{instance:o});if(!o.hasOwnProperty("name"))throw $util$1.ProtocolError("missing required 'name'",{instance:o});return o},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Chunk"},n})(),$root$1.Vertices=(()=>{function n(t){if(this.xyz=[],this.uvs=[],this.marks=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.xyz=$util$1.emptyArray,n.prototype.uvs=$util$1.emptyArray,n.prototype.marks=$util$1.emptyArray,n.decode=function(e,r){e instanceof $Reader$1||(e=$Reader$1.create(e));let i=r===void 0?e.len:e.pos+r,o=new $root$1.Vertices;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:{if(o.xyz&&o.xyz.length||(o.xyz=[]),(s&7)===2){let u=e.uint32()+e.pos;for(;e.pos<u;)o.xyz.push(e.float())}else o.xyz.push(e.float());break}case 2:{if(o.uvs&&o.uvs.length||(o.uvs=[]),(s&7)===2){let u=e.uint32()+e.pos;for(;e.pos<u;)o.uvs.push(e.float())}else o.uvs.push(e.float());break}case 3:{if(o.marks&&o.marks.length||(o.marks=[]),(s&7)===2){let u=e.uint32()+e.pos;for(;e.pos<u;)o.marks.push(e.int32())}else o.marks.push(e.int32());break}default:e.skipType(s&7);break}}return o},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Vertices"},n})(),$root$1.Faces=(()=>{function n(t){if(this.indices=[],this.normals=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.indices=$util$1.emptyArray,n.prototype.normals=$util$1.emptyArray,n.decode=function(e,r){e instanceof $Reader$1||(e=$Reader$1.create(e));let i=r===void 0?e.len:e.pos+r,o=new $root$1.Faces;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:{if(o.indices&&o.indices.length||(o.indices=[]),(s&7)===2){let u=e.uint32()+e.pos;for(;e.pos<u;)o.indices.push(e.uint32())}else o.indices.push(e.uint32());break}case 2:{if(o.normals&&o.normals.length||(o.normals=[]),(s&7)===2){let u=e.uint32()+e.pos;for(;e.pos<u;)o.normals.push(e.float())}else o.normals.push(e.float());break}default:e.skipType(s&7);break}}return o},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Faces"},n})(),$root$1.VertexMark=(()=>{const n={},t=Object.create(n);return t[n[0]="VERTEX_MARK_UNSPECIFIED"]=0,t[n[1]="VERTEX_MARK_ROOF"]=1,t})();function loadPbm(n,t){var e,r,i,o={byteLength:0},s=autoRestImageOptionsByTextureLength((e=t.textureOptions)!==null&&e!==void 0?e:{},(i=(r=t.textureArray)===null||r===void 0?void 0:r.length)!==null&&i!==void 0?i:0),u={};if(t.textureArray)for(var l=0,c=t.textureArray;l<c.length;l++){var d=c[l];u[d]=loadTexture$1(d,s,t.fetcher)}return Promise.resolve().then(function(){return t.fetcher.ajax(n,{responseType:"arraybuffer"})}).then(function(f){return o.byteLength=f.body.byteLength,delay(function(){var v=new Uint8Array(f.body);return Model$2.decode(v)})}).then(function(f){return delay(function(){var v,p;return parse$2(f,(v=t.textureBaseUri)!==null&&v!==void 0?v:function(){var A=n.lastIndexOf("/");if(A>=0){var m=n.slice(0,A)+"/";return/\/model\/$/.test(m)&&(m=m.replace(/\/model\/$/,"/materials/")),m}return""}(),((p=t.textureArray)!==null&&p!==void 0?p:[]).slice(),s,u,t.fetcher)})}).then(function(f){var v=new THREE__namespace.Group;v.renderOrder=-4,v.matrixAutoUpdate=!1,v.matrix.compose(v.position,v.quaternion,v.scale),v.name=n;for(var p=0,A=f.objects;p<A.length;p++){var m=A[p];v.add(m)}return f.texturePromise.then(function(){return{type:"pbm",uri:n,byteLength:o.byteLength,object:v,dispose:function(){return f.dispose()}}})})}function parseFloorName(n){var t=n.match(/(group|floor)-?(\d+)/);return t?parseInt(t[2],10):0}function parseChunkName(n){var t=n.match(/(chunk)-?(\d+)/);return t?parseInt(t[2],10):0}function parseSubName(n){var t=n.match(/(sub)-?(\d+)/);return t?parseInt(t[2],10):0}function chunkOrder(n){var t=parseFloorName(n.name),e=parseChunkName(n.name),r=parseSubName(n.name);return t*1e6+e*1e3+r}function parsePBMModel(n){for(var t,e,r,i=typeof n.createAt=="number"?n.createAt:0,o=(t=n.description)!==null&&t!==void 0?t:"",s=[],u=!0,l=!0,c=0,d=n.chunks;c<d.length;c++){var f=d[c];if(!f.vertices.marks||f.vertices.marks.length===0){l=!1;break}}for(var v=0,p=n.chunks;v<p.length;v++){var f=p[v];if(!f.faces.normals||f.faces.normals.length===0){u=!1;break}}for(var A=n.chunks.sort(function(Me,$e){return chunkOrder(Me)-chunkOrder($e)}),m=[],y=0,h=A;y<h.length;y++){var f=h[y],g=parseFloorName(f.name);m[g]||(m[g]=[]),m[g].push(f)}for(var b=0;b<m.length;b++){var E=m[b];if(E)if(u){for(var T=0,_=0;_<E.length;_++){var f=E[_];T+=f.faces.indices.length}for(var x=new Float32Array(T*3),w=new Float32Array(T),S=new Float32Array(T*2),C=new Float32Array(T*3),R=[],I=[1/0,1/0,1/0,-1/0,-1/0,-1/0],B=0,F=0;F<E.length;F++){for(var L=[1/0,1/0,1/0,-1/0,-1/0,-1/0],f=E[F],O=f.vertices.xyz,k=f.vertices.uvs,Q=f.faces.indices,U=f.faces.normals,N=f.vertices.marks,G=Q.length,_=0;_<G;_++){var K=Q[_],X=x[B*3+_*3]=O[K*3],D=x[B*3+_*3+1]=O[K*3+1],W=x[B*3+_*3+2]=O[K*3+2];w[B+_]=l?N[K]:0,S[B*2+_*2]=k[K*2],S[B*2+_*2+1]=k[K*2+1];var q=Math.floor(_/3)*3;C[B*3+_*3]=U[q],C[B*3+_*3+1]=U[q+1],C[B*3+_*3+2]=U[q+2],X<L[0]&&(L[0]=X),D<L[1]&&(L[1]=D),W<L[2]&&(L[2]=W),X>L[3]&&(L[3]=X),D>L[4]&&(L[4]=D),W>L[5]&&(L[5]=W)}L[0]<I[0]&&(I[0]=L[0]),L[1]<I[1]&&(I[1]=L[1]),L[2]<I[2]&&(I[2]=L[2]),L[3]>I[3]&&(I[3]=L[3]),L[4]>I[4]&&(I[4]=L[4]),L[5]>I[5]&&(I[5]=L[5]),R.push({materialIndex:F,name:f.name,chunkName:parseChunkName(f.name),start:B,count:f.faces.indices.length,texture:(e=f.texture)!==null&&e!==void 0?e:void 0}),B+=G}var ae={createAt:i,description:o,vertices:x,uvs:S,normals:C,indices:null,floorIndex:b,groups:R,extents:I,vertexMarks:w};s.push(ae)}else{for(var T=0,Y=0,_=0;_<E.length;_++){var f=E[_];Y+=f.vertices.xyz.length/3,T+=f.faces.indices.length}for(var x=new Float32Array(Y*3),S=new Float32Array(Y*2),C=new Float32Array(Y*3),re=new Float32Array(Y),$=new Uint32Array(T),w=new Float32Array(T),R=[],I=[1/0,1/0,1/0,-1/0,-1/0,-1/0],oe=0,B=0,F=0;F<E.length;F++){for(var L=[1/0,1/0,1/0,-1/0,-1/0,-1/0],f=E[F],O=f.vertices.xyz,N=f.vertices.marks,k=f.vertices.uvs,Q=f.faces.indices,J=O.length/3,G=Q.length,_=0;_<J;_++){var X=x[B*3+_*3]=O[_*3],D=x[B*3+_*3+1]=O[_*3+1],W=x[B*3+_*3+2]=O[_*3+2];w[B+_]=l?N[_]:0,S[B*2+_*2]=k[_*2],S[B*2+_*2+1]=k[_*2+1],re[B+_]=b,X<L[0]&&(L[0]=X),D<L[1]&&(L[1]=D),W<L[2]&&(L[2]=W),X>L[3]&&(L[3]=X),D>L[4]&&(L[4]=D),W>L[5]&&(L[5]=W)}L[0]<I[0]&&(I[0]=L[0]),L[1]<I[1]&&(I[1]=L[1]),L[2]<I[2]&&(I[2]=L[2]),L[3]>I[3]&&(I[3]=L[3]),L[4]>I[4]&&(I[4]=L[4]),L[5]>I[5]&&(I[5]=L[5]);for(var _=0;_<G;_++)$[oe+_]=B+Q[_];R.push({materialIndex:F,name:f.name,chunkName:parseChunkName(f.name),start:oe,count:f.faces.indices.length,texture:(r=f.texture)!==null&&r!==void 0?r:void 0}),B+=J,oe+=G}for(var _=0;_<T;_+=3){var ie=void 0,se=void 0,ne=void 0,pe=void 0,Z=void 0,ee=void 0,z=void 0,de=void 0,ce=void 0,ye=void 0,Te=void 0,_e=void 0,we=void 0,ve=void 0,ue=void 0,le=void 0,ge=void 0,fe=void 0,Ae=void 0,be=void 0,Ee=void 0;ie=$[_]*3,se=$[_+1]*3,ne=$[_+2]*3,pe=x[ie],Z=x[ie+1],ee=x[ie+2],z=x[se],de=x[se+1],ce=x[se+2],ye=x[ne],Te=x[ne+1],_e=x[ne+2],we=ye-z,ve=Te-de,ue=_e-ce,le=pe-z,ge=Z-de,fe=ee-ce,Ae=ve*fe-ue*ge,be=ue*le-we*fe,Ee=we*ge-ve*le,C[ie]+=Ae,C[ie+1]+=be,C[ie+2]+=Ee,C[se]+=Ae,C[se+1]+=be,C[se+2]+=Ee,C[ne]+=Ae,C[ne+1]+=be,C[ne+2]+=Ee}var ae={createAt:i,description:o,vertices:x,uvs:S,normals:C,indices:$,floorIndex:b,groups:R,extents:I,vertexMarks:w};s.push(ae)}}return s}function loadTexture$1(n,t,e,r){var i=__assign({key:"texture.pbm"},pick(t,["format","quality","size","sharpen","mappings"])),o=new TextureLoader,s=o.loadTexture(n,{imageURL:{transform:t.transform,options:i},wrapS:THREE__namespace.ClampToEdgeWrapping,wrapT:THREE__namespace.ClampToEdgeWrapping,minFilter:THREE__namespace.LinearFilter,maxSize:typeof i.size=="number"?new THREE__namespace.Vector2(i.size,i.size):void 0,fetcher:e}).then(function(u){var l=u.body;return l.needsUpdate=!0,l});return Object.assign(s,{url:n,textureOptions:t})}function parse$2(n,t,e,r,i,o,s){i===void 0&&(i={});for(var u=parsePBMModel(n),l=0,c="",d=[],f={},v=new Set,p=0,A=u;p<A.length;p++){var m=A[p],y=m.createAt,h=m.description,g=m.vertices,b=m.vertexMarks,E=m.uvs,T=m.normals,_=m.indices,x=m.floorIndex,w=m.groups,S=m.extents,C=new THREE__namespace.Box3;C.min.x=S[0],C.min.y=S[1],C.min.z=S[2],C.max.x=S[3],C.max.y=S[4],C.max.z=S[5];var R=new THREE__namespace.BufferGeometry;R.setAttribute("position",new THREE__namespace.BufferAttribute(g,3)),R.setAttribute("uv",new THREE__namespace.BufferAttribute(E,2)),R.setAttribute("normal",new THREE__namespace.BufferAttribute(T,3)),R.setAttribute("isRoofMark",new THREE__namespace.BufferAttribute(b,1)),_&&R.setIndex(new THREE__namespace.BufferAttribute(_,1)),R.boundingBox=C,R.boundingSphere=C.getBoundingSphere(new THREE__namespace.Sphere);for(var I=0,B=w;I<B.length;I++){var F=B[I];R.addGroup(F.start,F.count,F.materialIndex)}v.add(R);for(var L=[],O=0,k=w;O<k.length;O++){var F=k[O],Q=e[F.chunkName]||(F.texture?pathJoin(t||"",F.texture):void 0),U=new PBMMeshMaterial;U.defines.USE_VERTEX_FLOOR=!1,U.floor=x,L.push(U),Q?f[Q]?f[Q].push(U):f[Q]=[U]:(U.defines.USE_MAP=!1,U.uniforms.diffuse.value=new THREE__namespace.Color(16777215)),v.add(U)}var N=new PBMMesh(R,L);N.name="model_floor_"+x,N.userData.createAt=y,N.userData.description=h,N.matrix.compose(N.position,N.quaternion,N.scale),N.matrixAutoUpdate=!1,N.frustumCulled=!1,N.renderOrder=-1e3+x,l=y,c=h,d.push(N)}var G="",K=function(D){D=autoRestImageOptionsByTextureLength(D,e.length);var W=[],q=jsonHash(D);if(G===q)return Promise.resolve();G=q;for(var ae=function(oe){var J=null;oe in i&&(jsonHash(i[oe].textureOptions)===jsonHash(D)?J=i[oe]:i[oe].then(function(ie){return ie.dispose()})),J||(J=loadTexture$1(oe,D,o)),W.push(J.then(function(ie){if(G!==q){ie.dispose();return}for(var se=0,ne=f[oe];se<ne.length;se++){var pe=ne[se];pe.uniforms.map.value&&(v.delete(pe.uniforms.map.value),pe.uniforms.map.value.dispose()),pe.uniforms.map.value=ie,v.add(ie),pe.uniforms.exposure.value=3.3}}).catch(function(){if(G===q)for(var ie=0,se=f[oe];ie<se.length;ie++){var ne=se[ie];ne.uniforms.map.value&&(v.delete(ne.uniforms.map.value),ne.uniforms.map.value.dispose()),ne.uniforms.map.value=null,ne.defines.USE_MAP=!1,ne.uniforms.diffuse.value=new THREE__namespace.Color(16777215)}}))},Y=0,re=Object.keys(f);Y<re.length;Y++){var $=re[Y];ae($)}for(var $ in i)delete i[$];return Promise.all(W).then(function(){})},X=K(r);return{createAt:l,description:c,objects:d,texturePromise:X,updateTexture:K,dispose:function(){v.forEach(function(D){D.dispose()}),v.clear()}}}function autoRestImageOptionsByTextureLength(n,t){return n=Object.assign({},n),n.autoResize!==!1&&(t>96?n.size=Math.min(n.size||1/0,100):t>48?n.size=Math.min(n.size||1/0,200):t>24?n.size=Math.min(n.size||1/0,400):t>22?n.size=Math.min(n.size||1/0,800):t>5&&(n.size=Math.min(n.size||1/0,1024))),n}function loadAt3d(n,t){var e,r,i,o={byteLength:0},s=autoRestImageOptionsByTextureLength((e=t.textureOptions)!==null&&e!==void 0?e:{},(i=(r=t.textureArray)===null||r===void 0?void 0:r.length)!==null&&i!==void 0?i:0),u={};if(t.textureArray)for(var l=0,c=t.textureArray;l<c.length;l++){var d=c[l];u[d]=loadTexture$1(d,s,t.fetcher)}return Promise.resolve().then(function(){return t.fetcher.ajax(n,{responseType:"arraybuffer"})}).then(function(f){return lzma(f.body)}).then(function(f){return delay(function(){for(var v,p={chunks:[],createAt:void 0,description:void 0},A=0,m=f;A<m.length;A++){var y=m[A],h=Model$2.decode(y);h.chunks.length&&((v=p.chunks).push.apply(v,h.chunks),p.createAt=h.createAt,p.description=h.description)}return p})}).then(function(f){return delay(function(){var v,p,A;return parse$2(f,(v=t.textureBaseUri)!==null&&v!==void 0?v:function(){var m=n.lastIndexOf("/");if(m>=0){var y=n.slice(0,m)+"/";return/\/model\/$/.test(y)&&(y=y.replace(/\/model\/$/,"/materials/")),y}return""}(),((p=t.textureArray)!==null&&p!==void 0?p:[]).slice(),(A=t.textureOptions)!==null&&A!==void 0?A:{},u,t.fetcher)})}).then(function(f){var v=new THREE__namespace.Group;v.renderOrder=-4,v.name=n;for(var p=0,A=f.objects;p<A.length;p++){var m=A[p];v.add(m)}return f.texturePromise.then(function(){return{type:"at3d",uri:n,byteLength:o.byteLength,object:v,dispose:function(){return f.dispose()}}})})}const $Reader=minimal.Reader,$util=minimal.util,$root=minimal.roots["@REALSEE/FIVE:five/loaders/model/proto/dome.proto"]||(minimal.roots["@REALSEE/FIVE:five/loaders/model/proto/dome.proto"]={}),Model$1=$root.Model=(()=>{function n(t){if(this.meshes=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.meshes=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let i=r===void 0?e.len:e.pos+r,o=new $root.Model;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:{o.meshes&&o.meshes.length||(o.meshes=[]),o.meshes.push($root.Mesh.decode(e,e.uint32()));break}default:e.skipType(s&7);break}}return o},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Model"},n})();$root.Mesh=(()=>{function n(t){if(this.chunks=[],this.matrix=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.name="",n.prototype.chunks=$util.emptyArray,n.prototype.matrix=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let i=r===void 0?e.len:e.pos+r,o=new $root.Mesh;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:{o.name=e.string();break}case 2:{o.chunks&&o.chunks.length||(o.chunks=[]),o.chunks.push($root.Chunk.decode(e,e.uint32()));break}case 3:{o.matrix&&o.matrix.length||(o.matrix=[]),o.matrix.push($root.Matrix.decode(e,e.uint32()));break}default:e.skipType(s&7);break}}if(!o.hasOwnProperty("name"))throw $util.ProtocolError("missing required 'name'",{instance:o});return o},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Mesh"},n})(),$root.Matrix=(()=>{function n(t){if(this.elements=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.elements=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let i=r===void 0?e.len:e.pos+r,o=new $root.Matrix;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:{if(o.elements&&o.elements.length||(o.elements=[]),(s&7)===2){let u=e.uint32()+e.pos;for(;e.pos<u;)o.elements.push(e.float())}else o.elements.push(e.float());break}default:e.skipType(s&7);break}}return o},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Matrix"},n})(),$root.Chunk=(()=>{function n(t){if(this.material=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.geometry=null,n.prototype.material=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let i=r===void 0?e.len:e.pos+r,o=new $root.Chunk;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 2:{o.geometry=$root.Geometry.decode(e,e.uint32());break}case 3:{o.material&&o.material.length||(o.material=[]),o.material.push($root.Material.decode(e,e.uint32()));break}default:e.skipType(s&7);break}}if(!o.hasOwnProperty("geometry"))throw $util.ProtocolError("missing required 'geometry'",{instance:o});return o},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Chunk"},n})(),$root.Geometry=(()=>{function n(t){if(this.groups=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.position=null,n.prototype.uv=null,n.prototype.uv2=null,n.prototype.normal=null,n.prototype.groups=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let i=r===void 0?e.len:e.pos+r,o=new $root.Geometry;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:{o.position=$root.Position.decode(e,e.uint32());break}case 2:{o.uv=$root.UV.decode(e,e.uint32());break}case 3:{o.uv2=$root.UV.decode(e,e.uint32());break}case 4:{o.normal=$root.Normal.decode(e,e.uint32());break}case 5:{o.groups&&o.groups.length||(o.groups=[]),o.groups.push($root.Group.decode(e,e.uint32()));break}default:e.skipType(s&7);break}}if(!o.hasOwnProperty("position"))throw $util.ProtocolError("missing required 'position'",{instance:o});if(!o.hasOwnProperty("normal"))throw $util.ProtocolError("missing required 'normal'",{instance:o});return o},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Geometry"},n})(),$root.Position=(()=>{function n(t){if(this.array=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.array=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let i=r===void 0?e.len:e.pos+r,o=new $root.Position;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:{if(o.array&&o.array.length||(o.array=[]),(s&7)===2){let u=e.uint32()+e.pos;for(;e.pos<u;)o.array.push(e.float())}else o.array.push(e.float());break}default:e.skipType(s&7);break}}return o},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Position"},n})(),$root.UV=(()=>{function n(t){if(this.array=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.array=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let i=r===void 0?e.len:e.pos+r,o=new $root.UV;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:{if(o.array&&o.array.length||(o.array=[]),(s&7)===2){let u=e.uint32()+e.pos;for(;e.pos<u;)o.array.push(e.float())}else o.array.push(e.float());break}default:e.skipType(s&7);break}}return o},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/UV"},n})(),$root.Normal=(()=>{function n(t){if(this.array=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.array=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let i=r===void 0?e.len:e.pos+r,o=new $root.Normal;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:{if(o.array&&o.array.length||(o.array=[]),(s&7)===2){let u=e.uint32()+e.pos;for(;e.pos<u;)o.array.push(e.float())}else o.array.push(e.float());break}default:e.skipType(s&7);break}}return o},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Normal"},n})(),$root.Group=(()=>{function n(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.start=0,n.prototype.count=0,n.prototype.materialIndex=0,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let i=r===void 0?e.len:e.pos+r,o=new $root.Group;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:{o.start=e.uint32();break}case 2:{o.count=e.uint32();break}case 3:{o.materialIndex=e.uint32();break}default:e.skipType(s&7);break}}if(!o.hasOwnProperty("start"))throw $util.ProtocolError("missing required 'start'",{instance:o});if(!o.hasOwnProperty("count"))throw $util.ProtocolError("missing required 'count'",{instance:o});if(!o.hasOwnProperty("materialIndex"))throw $util.ProtocolError("missing required 'materialIndex'",{instance:o});return o},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Group"},n})(),$root.Material=(()=>{function n(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.kd=null,n.prototype.ks=null,n.prototype.ke=null,n.prototype.mapkd="",n.prototype.mapks="",n.prototype.mapke="",n.prototype.norm="",n.prototype.mapbump="",n.prototype.bump="",n.prototype.mapd="",n.prototype.ns=0,n.prototype.d=0,n.prototype.tr=0,n.prototype.mapkdrepeat="",n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let i=r===void 0?e.len:e.pos+r,o=new $root.Material;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:{o.kd=$root.Color.decode(e,e.uint32());break}case 2:{o.ks=$root.Color.decode(e,e.uint32());break}case 3:{o.ke=$root.Color.decode(e,e.uint32());break}case 4:{o.mapkd=e.string();break}case 5:{o.mapks=e.string();break}case 6:{o.mapke=e.string();break}case 7:{o.norm=e.string();break}case 8:{o.mapbump=e.string();break}case 9:{o.bump=e.string();break}case 10:{o.mapd=e.string();break}case 11:{o.ns=e.float();break}case 12:{o.d=e.float();break}case 13:{o.tr=e.float();break}case 14:{o.mapkdrepeat=e.string();break}default:e.skipType(s&7);break}}return o},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Material"},n})(),$root.Color=(()=>{function n(t){if(this.rgb=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.rgb=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let i=r===void 0?e.len:e.pos+r,o=new $root.Color;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:{if(o.rgb&&o.rgb.length||(o.rgb=[]),(s&7)===2){let u=e.uint32()+e.pos;for(;e.pos<u;)o.rgb.push(e.float())}else o.rgb.push(e.float());break}default:e.skipType(s&7);break}}return o},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Color"},n})();function loadDome(n,t){var e={byteLength:0};return Promise.resolve().then(function(){return t.fetcher.ajax(n,{responseType:"arraybuffer"})}).then(function(r){return e.byteLength=r.body.byteLength,parse$1(new Uint8Array(r.body),t.textureBaseUri||"",t.textureOptions,t.fetcher)}).then(function(r){var i=new THREE__namespace.Group;i.renderOrder=-4,i.matrixAutoUpdate=!1,i.matrix.compose(i.position,i.quaternion,i.scale),i.name=n;for(var o=0,s=r.objects;o<s.length;o++){var u=s[o];i.add(u)}return r.texturePromise.then(function(){return{type:"dome",uri:n,byteLength:e.byteLength,object:i,dispose:function(){return r.dispose()}}})})}function flipBufferGeometryNormals(n){for(var t=[0,0,0],e=0;e<n.attributes.normal.array.length/9;e++)t[0]=n.attributes.normal.array[e*9],t[1]=n.attributes.normal.array[e*9+1],t[2]=n.attributes.normal.array[e*9+2],n.attributes.normal.array[e*9]=n.attributes.normal.array[e*9+6],n.attributes.normal.array[e*9+1]=n.attributes.normal.array[e*9+7],n.attributes.normal.array[e*9+2]=n.attributes.normal.array[e*9+8],n.attributes.normal.array[e*9+6]=t[0],n.attributes.normal.array[e*9+7]=t[1],n.attributes.normal.array[e*9+8]=t[2];for(var e=0;e<n.attributes.position.array.length/9;e++)t[0]=n.attributes.position.array[e*9],t[1]=n.attributes.position.array[e*9+1],t[2]=n.attributes.position.array[e*9+2],n.attributes.position.array[e*9]=n.attributes.position.array[e*9+6],n.attributes.position.array[e*9+1]=n.attributes.position.array[e*9+7],n.attributes.position.array[e*9+2]=n.attributes.position.array[e*9+8],n.attributes.position.array[e*9+6]=t[0],n.attributes.position.array[e*9+7]=t[1],n.attributes.position.array[e*9+8]=t[2];for(var e=0;e<n.attributes.uv.array.length/6;e++)t[0]=n.attributes.uv.array[e*6],t[1]=n.attributes.uv.array[e*6+1],n.attributes.uv.array[e*6]=n.attributes.uv.array[e*6+4],n.attributes.uv.array[e*6+1]=n.attributes.uv.array[e*6+5],n.attributes.uv.array[e*6+4]=t[0],n.attributes.uv.array[e*6+5]=t[1];n.attributes.normal.needsUpdate=!0,n.attributes.position.needsUpdate=!0,n.attributes.uv.needsUpdate=!0}function parseGeometry(n){var t=n.position,e=n.normal,r=n.uv,i=n.uv2,o=n.groups,s=new THREE__namespace.BufferGeometry;s.setAttribute("position",new THREE__namespace.BufferAttribute(new Float32Array(t.array),3)),e&&s.setAttribute("normal",new THREE__namespace.BufferAttribute(new Float32Array(e.array),3)),r&&s.setAttribute("uv",new THREE__namespace.BufferAttribute(new Float32Array(r.array),2)),i&&s.setAttribute("uv2",new THREE__namespace.BufferAttribute(new Float32Array(i.array),2));for(var u=0,l=o;u<l.length;u++){var c=l[u];s.addGroup(c.start,c.count,c.materialIndex)}return s}function loadTexture(n,t,e,r,i,o,s){if(s.hasOwnProperty(n))return s[n];n=n.split("?")[0],isAbsoluteURL(n)||(n=pathJoin(t,n)),n=n.replace(/\/\/vrlab-image\d*.ljcdn.com\//,"//vrlab-public.ljcdn.com/"),n.indexOf("//")===0&&(n="https:"+n);var u=__assign({key:"texture.dome",size:64},pick(e,["quality","format","sharpen","mappings"])),l=s[n]=i.loadTexture(n,{imageURL:{transform:e.transform,options:u},wrapS:THREE__namespace.RepeatWrapping,wrapT:THREE__namespace.RepeatWrapping,fetcher:o}).then(function(c){var d=c.body;return r&&d.repeat.copy(r),d.needsUpdate=!0,d.updateMatrix(),d});return l}function parseMaterial(n,t,e,r,i,o,s){var u=[],l=new PBMMeshMaterial;s.add(l);var c=l.uniforms;c.exposure.value=4.3;var d=l.defines;if(d.USE_MAP=!1,d.USE_UV=!1,n.kd&&(c.diffuse.value=new THREE__namespace.Color().fromArray(n.kd.rgb)),n.mapkd){var f=null;if(n.mapkdrepeat){var v=n.mapkdrepeat.split(/\s+/).map(function(y){return Number(y)}),p=v[0],A=v[1];f=new THREE__namespace.Vector2(p,A)}u.push(loadTexture(n.mapkd,t,e,f,r,i,o).then(function(y){d.USE_MAP=!0,d.USE_UV=!0,c.map.value=y,s.add(y),c.uvTransform.value=y.matrix,l.needsUpdate=!0}).catch(noop$1))}if(n.ks&&(c.specular.value=new THREE__namespace.Color().fromArray(n.ks.rgb)),n.mapks&&u.push(loadTexture(n.mapks,t,e,null,r,i,o).then(function(y){c.specularMap.value=y,s.add(y)}).catch(noop$1)),n.ke&&(c.emissive.value=new THREE__namespace.Color().fromArray(n.ke.rgb)),n.mapke&&u.push(loadTexture(n.mapke,t,e,null,r,i,o).then(function(y){c.emissiveMap.value=y,s.add(y)}).catch(noop$1)),n.norm&&u.push(loadTexture(n.norm,t,e,null,r,i,o).then(function(y){c.normalMap.value=y,s.add(y)}).catch(noop$1)),n.mapbump&&u.push(loadTexture(n.mapbump,t,e,null,r,i,o).then(function(y){c.bumpMap.value=y,s.add(y)}).catch(noop$1)),n.bump&&u.push(loadTexture(n.bump,t,e,null,r,i,o).then(function(y){c.bumpMap.value=y,s.add(y)}).catch(noop$1)),typeof n.ns=="number"&&(c.shininess.value=n.ns),typeof n.d=="number"){var m=n.d;m>0&&m<1&&(l.opacity=m)}return l.floor=0,l.defines.USE_VERTEX_FLOOR=!1,{material:l,textureReady:Promise.all(u).then(noop$1)}}function fromProtoBuf(n){return Model$1.decode(n).meshes}function parse$1(n,t,e,r){for(var i=[],o=[],s=new Set,u=fromProtoBuf(n),l=new TextureLoader,c=new THREE__namespace.Matrix4,d=new THREE__namespace.Vector3,f=new THREE__namespace.Quaternion,v=new THREE__namespace.Vector3,p={},A=0,m=u;A<m.length;A++){var y=m[A],h=y.name,g=y.chunks,b=y.matrix;if(!(h==="Ceiling"||h==="CeilingDrop"))for(var E=0,T=b;E<T.length;E++){var _=T[E];c.elements=_.elements;var x=new THREE__namespace.Group;x.renderOrder=-4;for(var w=0;w<g.length;w++){var S=parseGeometry(g[w].geometry);S.applyMatrix4(c),c.decompose(d,f,v),v.x*v.y*v.z<0&&S.attributes.normal&&S.attributes.position&&S.attributes.uv&&flipBufferGeometryNormals(S),s.add(S);for(var C=[],R=0,I=g[w].material;R<I.length;R++){var B=I[R],F=parseMaterial(B,t||"",e,l,r,p,s),L=F.material,O=F.textureReady;o.push(O),C.push(L)}var k=new PBMMesh(S,C);k.name="chunk_"+w,k.matrix.compose(k.position,k.quaternion,k.scale),k.matrixAutoUpdate=!1,k.frustumCulled=!1,k.renderOrder=-1e3,x.add(k)}x.name=h,i.push(x)}}var Q=Promise.all(o).catch(noop$1),U=function(N){return Promise.resolve()};return{createAt:0,description:"",objects:i,texturePromise:Q,updateTexture:U,dispose:function(){s.forEach(function(N){N.dispose()}),s.clear()}}}function loadDomez(n,t){var e={byteLength:0};return Promise.resolve().then(function(){return t.fetcher.ajax(n,{responseType:"arraybuffer"})}).then(function(r){return e.byteLength=r.body.byteLength,lzma(r.body)}).then(function(r){var i=r.reduce(function(u,l){return u+l.length},0),o=new Uint8Array(i),s=0;return r.forEach(function(u){o.set(u,s),s+=u.length}),o}).then(function(r){return parse$1(r,t.textureBaseUri||"",t.textureOptions,t.fetcher)}).then(function(r){var i=new THREE__namespace.Group;i.renderOrder=-4,i.name=n;for(var o=0,s=r.objects;o<s.length;o++){var u=s[o];i.add(u)}return r.texturePromise.then(function(){return{type:"domez",uri:n,byteLength:e.byteLength,object:i,dispose:function(){return r.dispose()}}})})}var ROTATE_X_MATRIX=new THREE__namespace.Matrix4().fromArray([1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1]);function loadGlb(n,t){var e=0;return Promise.resolve().then(function(){return t.fetcher.ajax(n,{responseType:"arraybuffer"}).then(function(r){return e=r.body.byteLength,r.body})}).then(function(r){var i;return parseGltf(r,{copyUV2:!1,addonExtensions:["PBM_mesh"],resourcePath:n.slice(0,n.lastIndexOf("/")+1),search:(i=n.split("?")[1])!==null&&i!==void 0?i:"",fetcher:t.fetcher})}).then(function(r){var i=new THREE__namespace.Matrix4;if(t.upAxis!=="Z"&&i.premultiply(ROTATE_X_MATRIX),r.CESIUM_RTC){var o=new THREE__namespace.Matrix4().setPosition(r.CESIUM_RTC.center);i.premultiply(o)}var s=r.scene;return s.applyMatrix4(i),{type:"glb",uri:n,byteLength:e,object:s,dispose:function(){return r.dispose()}}})}var scratchVector3$2=new THREE__namespace.Vector3,scratchMatrix4$2=new THREE__namespace.Matrix4,refineTimeInterval=30;function attachFloor(n,t){var e=t.tileset.properties.floorInfo;n.traverse(function(r){if("floor"in t.extras)r instanceof PBMMesh?(r.material.forEach(function(g){g.floor=t.extras.floor}),r.renderOrder=-1e3+t.extras.floor):r instanceof PBMPointCloud&&(r.material.floor=t.extras.floor,r.renderOrder=-1e3+t.extras.floor);else if((r instanceof PBMMesh||r instanceof PBMPointCloud)&&e){var i=r.geometry.index,o=r.geometry.getAttribute("position"),s=0,u=new Float32Array(o.count);if(e)if(i){for(var l=0,c=i.count,d=0;d<c;d++){var y=i.array[d];scratchVector3$2.set(o.array[y*3+0],o.array[y*3+1],o.array[y*3+2]),scratchVector3$2.applyMatrix4(r.matrixWorld);var f=scratchVector3$2.y;u[y]=0;for(var v=0;v<e.length;v++){var h=e[v],A=h.ground,m=h.height;if(f<A+m){u[y]=v;break}}l+=u[y]}s=l/c}else{for(var l=0,c=o.count,d=0;d<c;d++){scratchVector3$2.set(o.array[d*3+0],o.array[d*3+1],o.array[d*3+2]),scratchVector3$2.applyMatrix4(r.matrixWorld);var f=scratchVector3$2.y;u[d]=0;for(var v=0;v<e.length;v++){var p=e[v],A=p.ground,m=p.height;if(f<A+m){u[d]=v;break}}l+=u[d]}s=l/c}r.renderOrder=-1e3+s,r.geometry.setAttribute("floor",new THREE__namespace.BufferAttribute(u,1)),Array.isArray(r.material)?r.material.forEach(function(g){g.defines.USE_VERTEX_FLOOR=!0,g.needsUpdate=!0}):(r.material.defines.USE_VERTEX_FLOOR=!0,r.material.needsUpdate=!0)}})}var Tile3DModel=function(n){__extends(t,n);function t(e,r,i){var o,s,u,l,c=n.call(this)||this;c.model=e,c.search=(o=i.search)!==null&&o!==void 0?o:"",c.unloadTileQueue=[],c.boundingBox=new THREE__namespace.Box3,c.minLevelOfDetail=t.DEFAULT_MIN_LEVEL_OF_DETAIL,c.maxLevelOfDetail=t.DEFAULT_MAX_LEVEL_OF_DETAIL,c.needsRefined=!0,c.refined=!1,c.refineProgress=[0,0],c.loaded=!1,c.disposed=!1,c.needsRender=!0,c.matrixAutoUpdate=!1,c.renderOrder=-4,c.lastRefineTime=-1,c.nodes=new Map,c.nodeGroup=new THREE__namespace.Group,c.nodeGroup.matrixAutoUpdate=!1,c.nodeGroup.renderOrder=-4,c.add(c.nodeGroup),c.debugBoundings=new Map,c.debugBoundingGroup=new THREE__namespace.Group,c.debugBoundingGroup.visible=!1,c.debugBoundingGroup.matrixAutoUpdate=!1,c.debugBoundingGroup.renderOrder=-4,c.add(c.debugBoundingGroup),c.cacheCameras=[];var d=normalizeTilesetHeader(r,(s=i.resourcePath)!==null&&s!==void 0?s:"");return c.tileset=new Tileset((l=(u=c.model.work)===null||u===void 0?void 0:u.workCode)!==null&&l!==void 0?l:"",d,{contentLoader:function(f){return c.loadContent(f,{fetcher:i.fetcher})},onTileLoad:function(){},onTileUnload:function(f){c.unloadTileQueue.push(f)},onTileError:function(f,v){i.onError&&i.onError(Object.assign(v,{error:v})),console.error("Tile error",f.id,v)}}),c.tileset.root.boundingVolume&&c.tileset.root.boundingVolume.getBoundingBox(c.boundingBox),c}return Object.defineProperty(t.prototype,"debug",{get:function(){return this.debugBoundingGroup.visible},set:function(e){this.debugBoundingGroup.visible!==e&&(this.debugBoundingGroup.visible=e,this.needsRender=!0)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxMemoryUsage",{get:function(){return this.tileset.maxMemoryUsage},set:function(e){this.tileset.maxMemoryUsage=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxRequests",{get:function(){return this.tileset.maxRequests},set:function(e){this.tileset.maxRequests=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxScreenSpaceError",{get:function(){return this.tileset.maxScreenSpaceError},set:function(e){this.tileset.maxScreenSpaceError=e},enumerable:!1,configurable:!0}),t.prototype.loadContent=function(e,r){var i=this;if(!e.content)return Promise.resolve(!1);var o=e.content,s=appendSearch(o.uri,this.search);if(e.type==="TILESET"){var u=imageURL(s,{key:"model.".concat(e.siblingIndex)});return r.fetcher.ajax(u,{responseType:"text"}).then(function(l){return l.body}).then(function(l){var c=u.slice(0,u.lastIndexOf("/")+1);return normalizeTilesetHeader(JSON.parse(l),c)}).then(function(l){return e.geometricError=l.geometricError,e.children.length===0&&(e.children=[new Tile("".concat(e.id,".0"),l.root,e.tileset,e)]),!0})}return e.type==="SCENEGRAPH"?Promise.resolve().then(function(){var l,c,d,f,v,p,A,m,y,h,g="",b=s.split("#"),E=b[0],T=b[1],_=(T||E).split("?")[0].match(/\.([0-9a-zA-Z]+)$/);if(_&&(g=_[1]),g==="b3dm"){var x=imageURL(s,{key:"model.".concat(e.siblingIndex)});return loadB3dm(x,{upAxis:e.tileset.asset.gltfUpAxis,fetcher:r.fetcher}).then(function(w){return w.object.applyMatrix4(e.transform),w.object.updateWorldMatrix(!1,!0),w.object.matrixAutoUpdate=!1,attachFloor(w.object,e),w})}if(g==="pnts"){var x=imageURL(s,{key:"model.".concat(e.siblingIndex)});return loadPnts(x,{fetcher:r.fetcher,computeBoundingBox:!1}).then(function(S){if(S.object.applyMatrix4(e.transform),S.object.updateWorldMatrix(!1,!0),S.object.matrixAutoUpdate=!1,e.boundingVolume){var C=e.boundingVolume;S.object.traverse(function(R){if(R instanceof PBMPointCloud){scratchMatrix4$2.getInverse(R.matrixWorld);var I=new THREE__namespace.Box3;C.getBoundingBox(I),I.applyMatrix4(scratchMatrix4$2),R.geometry.boundingBox=I}})}return S})}if(g==="glb"){var x=imageURL(s,{key:"model.".concat(e.siblingIndex)});return loadGlb(x,{upAxis:e.tileset.asset.gltfUpAxis,fetcher:r.fetcher}).then(function(S){return S.object.applyMatrix4(e.transform),S.object.updateWorldMatrix(!1,!0),S.object.matrixAutoUpdate=!1,attachFloor(S.object,e),S})}if(g==="at3d"){var x=e.extras.at3d?s:imageURL(s,{key:"model.".concat(e.siblingIndex)});return loadAt3d(x,{textureBaseUri:(l=e.extras.at3d)===null||l===void 0?void 0:l.textureBaseUri,textureArray:(c=e.extras.at3d)===null||c===void 0?void 0:c.textureArray,textureOptions:(d=e.extras.at3d)===null||d===void 0?void 0:d.textureOptions,fetcher:r.fetcher}).then(function(S){return S.object.applyMatrix4(e.transform),S.object.updateWorldMatrix(!1,!0),S.object.matrixAutoUpdate=!1,S})}if(g==="pbm"){var x=e.extras.pbm?s:imageURL(s,{key:"model.".concat(e.siblingIndex)});return loadPbm(x,{textureBaseUri:(f=e.extras.pbm)===null||f===void 0?void 0:f.textureBaseUri,textureArray:(v=e.extras.pbm)===null||v===void 0?void 0:v.textureArray,textureOptions:(p=e.extras.pbm)===null||p===void 0?void 0:p.textureOptions,fetcher:r.fetcher}).then(function(S){return S.object.applyMatrix4(e.transform),S.object.updateWorldMatrix(!1,!0),S.object.matrixAutoUpdate=!1,S})}if(g==="dome"){var x=e.extras.dome?s:imageURL(s,{key:"model.".concat(e.siblingIndex)});return loadDome(x,{textureBaseUri:(A=e.extras.dome)===null||A===void 0?void 0:A.textureBaseUri,textureOptions:(m=e.extras.dome)===null||m===void 0?void 0:m.textureOptions,fetcher:r.fetcher}).then(function(S){return S.object.applyMatrix4(e.transform),S.object.updateWorldMatrix(!1,!0),S.object.matrixAutoUpdate=!1,S})}if(g==="domez"){var x=e.extras.domez?s:imageURL(s,{key:"model.".concat(e.siblingIndex)});return loadDomez(x,{textureBaseUri:(y=e.extras.domez)===null||y===void 0?void 0:y.textureBaseUri,textureOptions:(h=e.extras.domez)===null||h===void 0?void 0:h.textureOptions,fetcher:r.fetcher}).then(function(S){return S.object.applyMatrix4(e.transform),S.object.updateWorldMatrix(!1,!0),S.object.matrixAutoUpdate=!1,S})}}).then(function(l){if(!l)return Promise.resolve(!1);l.object.traverse(function(d){if(d instanceof PBMPointCloud)d.material.uniforms.geometricError.value=e.geometricError;else if(d instanceof PBMMesh)for(var f=0,v=d.material;f<v.length;f++){var p=v[f];p.uniforms.geometricError.value=e.geometricError}});var c={type:l.type,uri:l.uri,byteLength:l.byteLength,object:new TileNode(l.object,l.dispose)};return c.object.generateBvhTree().then(function(){return c})}).then(function(l){if(!l)return!1;if(i.disposed)return l.object.dispose(),o.data=void 0,o.byteLength=0,!1;if(l.object.traverse(function(d){(d instanceof PBMPointCloud||d instanceof PBMMesh)&&(d.model=i.model)}),o.data=l,o.byteLength=l.byteLength,l.object.traverse(function(d){d.renderOrder>-4&&(d.renderOrder=-4)}),l.object.visible=!1,i.boundingBox.expandByObject(l.object),i.nodes.set(e.id,l.object),i.nodeGroup.add(l.object),e.boundingVolume){var c=createDebugBoundingMesh(e.boundingVolume,e.state.selectionDepth);c.matrixWorldNeedsUpdate=!0,c.matrixAutoUpdate=!1,c.frustumCulled=!1,c.visible=!1,i.debugBoundings.set(e.id,c),i.debugBoundingGroup.add(c)}return!0}):Promise.resolve(!1)},t.prototype.intersectRaycaster=function(e,r,i){r===void 0&&(r=!0),i===void 0&&(i=[]);for(var o=[this.tileset.root],s=this.tileset.transform,u;u=o.pop();){var l=void 0;if(u.boundingVolume){var c=u.boundingVolume.clone().applyMatrix4(s);l=c.intersectRay(e.ray,e.far)}else l=!0;if(l){for(var d=0,f=u.children.length;d<f;d++)o.push(u.children[d]);u.selected&&u.content&&u.content.data&&u.content.data.object.intersectRaycaster(e,!1,i)}}return r&&i.sort(function(v,p){return v.distance-p.distance}),i},t.prototype.update=function(e,r){var i=this;this.tileset.transform.equals(this.matrixWorld)||this.tileset.transform.copy(this.matrixWorld);var o=now();if(this.needsRefined&&o-this.lastRefineTime>refineTimeInterval){this.lastRefineTime=o,this.tileset.cache.reset(),this.tileset.frameNumber++;var s={camera:{position:new THREE__namespace.Vector3().copy(r.position),direction:r.getDirection(new THREE__namespace.Vector3),up:new THREE__namespace.Vector3().copy(r.up),visible:r.visible,refine:r.refineModel},minLevelOfDetail:this.visible?this.minLevelOfDetail:-1,maxLevelOfDetail:this.visible?this.maxLevelOfDetail:-1,height:r.resolution.height,pixelRatio:r.pixelRatio,frameNumber:this.tileset.frameNumber,sseDenominator:2*Math.tan(.5*r.fov/180*Math.PI),cullingVolume:new CullingVolume().setFromCamera(r)},u=this.cacheCameras.map(function(v){return __assign(__assign({},s),{camera:{position:new THREE__namespace.Vector3().copy(v.position),direction:v.getWorldDirection(new THREE__namespace.Vector3),up:new THREE__namespace.Vector3().copy(v.up),visible:v.visible,refine:!0},cullingVolume:new CullingVolume().setFromCamera(v)})});this.tileset.traverse(s,u),this.refined=!0,this.refineProgress[0]=0,this.refineProgress[1]=0,this.tileset.needsRefinedTiles.forEach(function(v){if(i.refineProgress[1]++,v.content&&v.state.visible){var p=v.content.loadState;if(p==="UNLOADED"||p==="LOADING"){i.refined=!1;return}}i.refineProgress[0]++}),this.loaded===!1&&(this.loaded=!0,this.tileset.needsRefinedTiles.forEach(function(v){if(i.loaded!==!1&&v.content&&v.state.visible&&v.state.selectionDepth===0){var p=v.content.loadState;(p==="UNLOADED"||p==="LOADING")&&(i.loaded=!1)}}))}for(var l,c;c=this.unloadTileQueue.pop();){var d=c.id,f=c.content;l=this.nodes.get(d),l&&(this.nodeGroup.remove(l),this.nodes.delete(d),this.needsRender=!0),l=this.debugBoundings.get(d),l&&(this.debugBoundingGroup.remove(l),this.debugBoundings.delete(d),this.needsRender=!0),f&&f.data&&(f.byteLength=0,f.data.object.dispose(),f.data=void 0)}this.tileset.tiles.forEach(function(v){var p=v.selected,A=v.id;l=i.nodes.get(A),l&&l.visible!==p&&(l.visible=p,i.needsRender=!0),l=i.debugBoundings.get(A),l&&l.visible!==p&&(l.visible=p,i.needsRender=!0)})},t.prototype.dispose=function(){var e=this;this.disposed=!0,this.tileset.reset();for(var r,i;r=this.unloadTileQueue.pop();){var o=r.id,s=r.content;i=this.nodes.get(o),i&&(this.nodeGroup.remove(i),this.nodes.delete(o),this.needsRender=!0),i=this.debugBoundings.get(o),i&&(this.debugBoundingGroup.remove(i),this.debugBoundings.delete(o),this.needsRender=!0),s&&s.data&&(s.data.object.dispose(),s.data=void 0,s.byteLength=0)}this.nodes.forEach(function(u,l,c){e.nodeGroup.remove(u),u.dispose(),c.delete(l)})},t.DEFAULT_MIN_LEVEL_OF_DETAIL=-1,t.DEFAULT_MAX_LEVEL_OF_DETAIL=20,t.DEFAULT_MAX_MEMORY_USAGE=16,t.DEFAULT_MAX_SCREEN_SPACE_ERROR=Tileset.DEFAULT_MAX_SCREEN_SPACE_ERROR,t.DEFAULT_MAX_REQUESTS=Tileset.DEFAULT_MAX_REQUESTS,t}(THREE__namespace.Object3D);function clamp(n,t,e){return n<t?t:n>e?e:n}function headingToLongitude(n){return-((n-.25)*360+90)/180*Math.PI}function equal(n,t){if(n===t)return!0;if(n&&t&&typeof n=="object"&&typeof t=="object"){if(n.constructor!==t.constructor)return!1;var e,r,i;if(Array.isArray(n)){if(e=n.length,e!=t.length)return!1;for(r=e;r--!==0;)if(!equal(n[r],t[r]))return!1;return!0}if(n.constructor===RegExp)return n.source===t.source&&n.flags===t.flags;if(n.valueOf!==Object.prototype.valueOf)return n.valueOf()===t.valueOf();if(n.toString!==Object.prototype.toString)return n.toString()===t.toString();if(i=Object.keys(n),e=i.length,e!==Object.keys(t).length)return!1;for(r=e;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return!1;for(r=e;r--!==0;){var o=i[r];if(!equal(n[o],t[o]))return!1}return!0}return n!==n&&t!==t}function isNumber(n){return typeof n=="number"}function isPowerOfTwo(n){return(n&n-1)===0&&n!==0}var error_invalid_input=function(){return new Error("Invalid input.")},error_invalid_certificate=function(){return new Error("Invalid certificate.")},error_invalid_signature=function(){return new Error("Invalid signature.")},error_date_expired=function(n){return new Error("date(".concat(n.toString(),") expired."))},error_host_not_allowed=function(n){return new Error("host(".concat(JSON.stringify(n),") is not allowed."))};function ObjectOmit(n,t){for(var e={},r=0,i=Object.keys(n);r<i.length;r++){var o=i[r];t.indexOf(o)===-1&&(e[o]=n[o])}return e}function jsonStableNoneNumberStrinfiy_(n,t){t===void 0&&(t=!1);var e=typeof n;if(e==="string")return JSON.stringify(n);if(n===!0)return"true";if(n===!1)return"false";if(n===null)return"null";if(n instanceof Array){for(var r="[",i=n.length-1,o=0;o<i;o++)r+=jsonStableNoneNumberStrinfiy_(n[o],!1)+",";return i>-1&&(r+=jsonStableNoneNumberStrinfiy_(n[o],!1)),r+"]"}if(n instanceof Object){if(typeof n.toJSON=="function")return jsonStableNoneNumberStrinfiy_(n.toJSON(),t);for(var s=Object.keys(n).sort(),u=s.length,r="",o=0;o<u;){var l=s[o],c=jsonStableNoneNumberStrinfiy_(n[l],!0);c!==void 0&&(o&&r!==""&&(r+=","),r+=JSON.stringify(l)+":"+c),o++}return"{"+r+"}"}switch(e){case"function":case"undefined":return t?void 0:null;case"number":return 0;default:return isFinite(n)?n:null}}function jsonStableNoneNumberStrinfiy(n){return String(jsonStableNoneNumberStrinfiy_(n,!1))}function verify(n){var t,e,r;if(Array.isArray(n)){var i=void 0,o,s;if(n.length<=0)return error_invalid_input();for(var u=function(T){var _=verify(n[T]);if(_ instanceof Error)return{value:_};if(!i)i=_.issuer;else if(i!==_.issuer)return{value:error_invalid_certificate()};o?_.expire.getTime()<o.getTime()&&(o=_.expire):o=_.expire,s?s=s.filter(function(x){return _.allowHosts.indexOf(x)!==-1}):s=_.allowHosts},l=0;l<n.length;l++){var c=u(l);if(typeof c=="object")return c.value}return deepFreeze({issuer:i,expire:o,allowHosts:s})}var d=JSON.parse(n),f=typeof location!="undefined"?location.hostname:"",v=Date.now();if(typeof d!="object")return error_invalid_input();var p=new Date(typeof d.expire_at=="string"&&/^\d+$/.test(d.expire_at)?Number(d.expire_at):d.expire_at),A=Array.isArray(d.allow_hosts)?d.allow_hosts:[];if(f.length===0||isIPDomain(f)||BUILDIN_ALLOW_HOST.filter(function(T){return matchDomain(T,f)}).length>0){var m=String((t=d.certificate)!==null&&t!==void 0?t:"");if(m){var y=new X509;return y.readCertPEM(m),deepFreeze({issuer:y.getSubjectString(),expire:p,allowHosts:A})}return deepFreeze({issuer:"none",expire:p,allowHosts:A})}var h=String((e=d.certificate)!==null&&e!==void 0?e:"");if(!h)return error_invalid_certificate();var g=new X509;g.readCertPEM(h);var b=String((r=d._signature)!==null&&r!==void 0?r:"");if(!b)return error_invalid_signature();var E=jsonStableNoneNumberStrinfiy(ObjectOmit(d,["_signature"]));return verifyMessage(E,b,g)===!1?error_invalid_signature():v<p.getTime()?A.filter(function(T){return matchDomain(T,f)}).length===0?error_host_not_allowed(f):deepFreeze({issuer:g.getSubjectString(),expire:p,allowHosts:A}):error_date_expired(p)}var scratchMatrix4$1=new THREE__namespace.Matrix4,workRawMapping=new WeakMap,Work=function(){function n(t,e){this.name="",this.workCode="",this.expire=new Date,this.allowHosts=[],this.initial={work:this},this.observers=[],this.issuer="none",this.raw={works:[""],options:""},this.options={transform:new THREE__namespace.Matrix4};var r=parse(t,e,this);if(r instanceof Error)throw new Error("[PARSE FAILED]: "+r.message+`
|
|
928
|
+
`),support=typeof Worker!="undefined"&&typeof Blob!="undefined",lzmaWorkerURL="";if(support)try{var blob=new Blob([lzmaWorkerSource],{type:"text/javascript"});lzmaWorkerURL=URL.createObjectURL(blob)}catch(n){}var LZMAWorker=function(){function n(){var t=this;if(!support)throw new Error("LZMAWorker cannot work in this broswer.");this.callCounter=0,this.requests={};var e=this.worker=new Worker(lzmaWorkerURL);e.onmessage=function(r){var i=r.data,o=i.id,s=i.result,u=i.error,c=t.getKey(o);t.requests[c]&&(u?t.requests[c](new Error(u)):t.requests[c](null,s),delete t.requests[c])},e.onerror=function(r){return console.error(r)}}return n.prototype.getKey=function(t){return"key_"+String(t)},n.prototype.decompress=function(t,e){var r=++this.callCounter;this.requests[this.getKey(r)]=e,this.worker.postMessage({type:"decompress",id:r,data:t},[t.buffer])},n.prototype.terminate=function(){this.worker.terminate()},n.support=support,n}();function readUint32(n){return Array.prototype.reduce.call(n,function(t,e,r){return t|e<<r*8},0)}function binaryArrays(n){for(var t=[],e=n.length,r=function(s){var u={data:n[s],offset:0,readByte:function(){return this.data[this.offset++]}},c=u.data.length,l={data:[],offset:0,writeByte:function(f){var m=Math.floor(this.offset/c);this.data[m]||(this.data[m]=new Uint8Array(c)),this.data[m][this.offset%c]=f,this.offset++}};LZMA.decompressFile(u,l),i=new Uint8Array(l.offset);for(var d=0;d<l.offset;d++)i[d]=l.data[Math.floor(d/c)][d%c];t.push(i)},i,o=0;o<e;o++)r(o);return t}function binaryArraysWithWorker(n){for(var t=[],e=n.length,r=function(o){t.push(new Promise(function(s,u){var c=new LZMAWorker;c.decompress(n[o],function(l,d){if(c.terminate(),l)return u(l);s(d)})}))},i=0;i<e;i++)r(i);return Promise.all(t)}function lzma(n){var t=new Uint8Array(n),e=readUint32(t.slice(0,4));if(e>10)return Promise.reject(new Error("LZMA got too many sub chunks."));for(var r=[],i=[],o=4+e*4,s=0;s<e;s++)i[s]=readUint32(t.slice(4+s*4,8+s*4)),s===e-1?r[s]=t.subarray(o,o+i[s]):r[s]=t.slice(o,o+i[s]),o+=i[s];return LZMAWorker.support?binaryArraysWithWorker(r):Promise.resolve(binaryArrays(r))}var dequeuing=!1,queue=[];function dequeue(n){if(n===void 0&&(n=!1),!(!n&&dequeuing)){dequeuing=!0;var t=queue.shift();if(t){try{t()}catch(e){}AnimationFrameLoop.shared.add(function(){return dequeue(!0)},!0,2,-100)}else dequeuing=!1}}function delay(n){return new Promise(function(t,e){var r=function(){try{t(n())}catch(i){e(i)}};queue.push(r),AnimationFrameLoop.shared.add(function(){return dequeue()},!0,2,-100)})}function pick(n,t){for(var e={},r=0,i=t;r<i.length;r++){var o=i[r];o in n&&(e[o]=n[o])}return e}function omit(n,t){for(var e=__assign({},n),r=0,i=t;r<i.length;r++){var o=i[r];o in e&&delete e[o]}return e}function jsonStableStrinfiy_(n,t){t===void 0&&(t=!1);var e=typeof n;if(e==="string")return JSON.stringify(n);if(n===!0)return"true";if(n===!1)return"false";if(n===null)return"null";if(n instanceof Array){for(var r="[",i=n.length-1,o=0;o<i;o++)r+=jsonStableStrinfiy_(n[o],!1)+",";return i>-1&&(r+=jsonStableStrinfiy_(n[o],!1)),r+"]"}if(n instanceof Object){if(typeof n.toJSON=="function")return jsonStableStrinfiy_(n.toJSON(),t);for(var s=Object.keys(n).sort(),u=s.length,r="",o=0;o<u;){var c=s[o],l=jsonStableStrinfiy_(n[c],!0);l!==void 0&&(o&&r!==""&&(r+=","),r+=JSON.stringify(c)+":"+l),o++}return"{"+r+"}"}switch(e){case"function":return JSON.stringify(n.toString());case"undefined":return t?void 0:null;case"number":return n;default:return isFinite(n)?n:null}}function jsonHash(n){return"hash::".concat(jsonStableStrinfiy_(n,!1))}var commonjsGlobal=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{},indexMinimal={},minimal$1={},aspromise=asPromise;function asPromise(n,t){for(var e=new Array(arguments.length-1),r=0,i=2,o=!0;i<arguments.length;)e[r++]=arguments[i++];return new Promise(function(u,c){e[r]=function(d){if(o)if(o=!1,d)c(d);else{for(var f=new Array(arguments.length-1),m=0;m<f.length;)f[m++]=arguments[m];u.apply(null,f)}};try{n.apply(t||null,e)}catch(l){o&&(o=!1,c(l))}})}var base64$1={};(function(n){var t=n;t.length=function(u){var c=u.length;if(!c)return 0;for(var l=0;--c%4>1&&u.charAt(c)==="=";)++l;return Math.ceil(u.length*3)/4-l};for(var e=new Array(64),r=new Array(123),i=0;i<64;)r[e[i]=i<26?i+65:i<52?i+71:i<62?i-4:i-59|43]=i++;t.encode=function(u,c,l){for(var d=null,f=[],m=0,p=0,A;c<l;){var v=u[c++];switch(p){case 0:f[m++]=e[v>>2],A=(v&3)<<4,p=1;break;case 1:f[m++]=e[A|v>>4],A=(v&15)<<2,p=2;break;case 2:f[m++]=e[A|v>>6],f[m++]=e[v&63],p=0;break}m>8191&&((d||(d=[])).push(String.fromCharCode.apply(String,f)),m=0)}return p&&(f[m++]=e[A],f[m++]=61,p===1&&(f[m++]=61)),d?(m&&d.push(String.fromCharCode.apply(String,f.slice(0,m))),d.join("")):String.fromCharCode.apply(String,f.slice(0,m))};var o="invalid encoding";t.decode=function(u,c,l){for(var d=l,f=0,m,p=0;p<u.length;){var A=u.charCodeAt(p++);if(A===61&&f>1)break;if((A=r[A])===void 0)throw Error(o);switch(f){case 0:m=A,f=1;break;case 1:c[l++]=m<<2|(A&48)>>4,m=A,f=2;break;case 2:c[l++]=(m&15)<<4|(A&60)>>2,m=A,f=3;break;case 3:c[l++]=(m&3)<<6|A,f=0;break}}if(f===1)throw Error(o);return l-d},t.test=function(u){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(u)}})(base64$1);var eventemitter=EventEmitter;function EventEmitter(){this._listeners={}}EventEmitter.prototype.on=function(t,e,r){return(this._listeners[t]||(this._listeners[t]=[])).push({fn:e,ctx:r||this}),this},EventEmitter.prototype.off=function(t,e){if(t===void 0)this._listeners={};else if(e===void 0)this._listeners[t]=[];else for(var r=this._listeners[t],i=0;i<r.length;)r[i].fn===e?r.splice(i,1):++i;return this},EventEmitter.prototype.emit=function(t){var e=this._listeners[t];if(e){for(var r=[],i=1;i<arguments.length;)r.push(arguments[i++]);for(i=0;i<e.length;)e[i].fn.apply(e[i++].ctx,r)}return this};var float=factory(factory);function factory(n){return typeof Float32Array!="undefined"?function(){var t=new Float32Array([-0]),e=new Uint8Array(t.buffer),r=e[3]===128;function i(c,l,d){t[0]=c,l[d]=e[0],l[d+1]=e[1],l[d+2]=e[2],l[d+3]=e[3]}function o(c,l,d){t[0]=c,l[d]=e[3],l[d+1]=e[2],l[d+2]=e[1],l[d+3]=e[0]}n.writeFloatLE=r?i:o,n.writeFloatBE=r?o:i;function s(c,l){return e[0]=c[l],e[1]=c[l+1],e[2]=c[l+2],e[3]=c[l+3],t[0]}function u(c,l){return e[3]=c[l],e[2]=c[l+1],e[1]=c[l+2],e[0]=c[l+3],t[0]}n.readFloatLE=r?s:u,n.readFloatBE=r?u:s}():function(){function t(r,i,o,s){var u=i<0?1:0;if(u&&(i=-i),i===0)r(1/i>0?0:2147483648,o,s);else if(isNaN(i))r(2143289344,o,s);else if(i>34028234663852886e22)r((u<<31|2139095040)>>>0,o,s);else if(i<11754943508222875e-54)r((u<<31|Math.round(i/1401298464324817e-60))>>>0,o,s);else{var c=Math.floor(Math.log(i)/Math.LN2),l=Math.round(i*Math.pow(2,-c)*8388608)&8388607;r((u<<31|c+127<<23|l)>>>0,o,s)}}n.writeFloatLE=t.bind(null,writeUintLE),n.writeFloatBE=t.bind(null,writeUintBE);function e(r,i,o){var s=r(i,o),u=(s>>31)*2+1,c=s>>>23&255,l=s&8388607;return c===255?l?NaN:u*(1/0):c===0?u*1401298464324817e-60*l:u*Math.pow(2,c-150)*(l+8388608)}n.readFloatLE=e.bind(null,readUintLE),n.readFloatBE=e.bind(null,readUintBE)}(),typeof Float64Array!="undefined"?function(){var t=new Float64Array([-0]),e=new Uint8Array(t.buffer),r=e[7]===128;function i(c,l,d){t[0]=c,l[d]=e[0],l[d+1]=e[1],l[d+2]=e[2],l[d+3]=e[3],l[d+4]=e[4],l[d+5]=e[5],l[d+6]=e[6],l[d+7]=e[7]}function o(c,l,d){t[0]=c,l[d]=e[7],l[d+1]=e[6],l[d+2]=e[5],l[d+3]=e[4],l[d+4]=e[3],l[d+5]=e[2],l[d+6]=e[1],l[d+7]=e[0]}n.writeDoubleLE=r?i:o,n.writeDoubleBE=r?o:i;function s(c,l){return e[0]=c[l],e[1]=c[l+1],e[2]=c[l+2],e[3]=c[l+3],e[4]=c[l+4],e[5]=c[l+5],e[6]=c[l+6],e[7]=c[l+7],t[0]}function u(c,l){return e[7]=c[l],e[6]=c[l+1],e[5]=c[l+2],e[4]=c[l+3],e[3]=c[l+4],e[2]=c[l+5],e[1]=c[l+6],e[0]=c[l+7],t[0]}n.readDoubleLE=r?s:u,n.readDoubleBE=r?u:s}():function(){function t(r,i,o,s,u,c){var l=s<0?1:0;if(l&&(s=-s),s===0)r(0,u,c+i),r(1/s>0?0:2147483648,u,c+o);else if(isNaN(s))r(0,u,c+i),r(2146959360,u,c+o);else if(s>17976931348623157e292)r(0,u,c+i),r((l<<31|2146435072)>>>0,u,c+o);else{var d;if(s<22250738585072014e-324)d=s/5e-324,r(d>>>0,u,c+i),r((l<<31|d/4294967296)>>>0,u,c+o);else{var f=Math.floor(Math.log(s)/Math.LN2);f===1024&&(f=1023),d=s*Math.pow(2,-f),r(d*4503599627370496>>>0,u,c+i),r((l<<31|f+1023<<20|d*1048576&1048575)>>>0,u,c+o)}}}n.writeDoubleLE=t.bind(null,writeUintLE,0,4),n.writeDoubleBE=t.bind(null,writeUintBE,4,0);function e(r,i,o,s,u){var c=r(s,u+i),l=r(s,u+o),d=(l>>31)*2+1,f=l>>>20&2047,m=4294967296*(l&1048575)+c;return f===2047?m?NaN:d*(1/0):f===0?d*5e-324*m:d*Math.pow(2,f-1075)*(m+4503599627370496)}n.readDoubleLE=e.bind(null,readUintLE,0,4),n.readDoubleBE=e.bind(null,readUintBE,4,0)}(),n}function writeUintLE(n,t,e){t[e]=n&255,t[e+1]=n>>>8&255,t[e+2]=n>>>16&255,t[e+3]=n>>>24}function writeUintBE(n,t,e){t[e]=n>>>24,t[e+1]=n>>>16&255,t[e+2]=n>>>8&255,t[e+3]=n&255}function readUintLE(n,t){return(n[t]|n[t+1]<<8|n[t+2]<<16|n[t+3]<<24)>>>0}function readUintBE(n,t){return(n[t]<<24|n[t+1]<<16|n[t+2]<<8|n[t+3])>>>0}var inquire_1=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(n){}return null}var utf8$2={};(function(n){var t=n;t.length=function(r){for(var i=0,o=0,s=0;s<r.length;++s)o=r.charCodeAt(s),o<128?i+=1:o<2048?i+=2:(o&64512)===55296&&(r.charCodeAt(s+1)&64512)===56320?(++s,i+=4):i+=3;return i},t.read=function(r,i,o){var s=o-i;if(s<1)return"";for(var u=null,c=[],l=0,d;i<o;)d=r[i++],d<128?c[l++]=d:d>191&&d<224?c[l++]=(d&31)<<6|r[i++]&63:d>239&&d<365?(d=((d&7)<<18|(r[i++]&63)<<12|(r[i++]&63)<<6|r[i++]&63)-65536,c[l++]=55296+(d>>10),c[l++]=56320+(d&1023)):c[l++]=(d&15)<<12|(r[i++]&63)<<6|r[i++]&63,l>8191&&((u||(u=[])).push(String.fromCharCode.apply(String,c)),l=0);return u?(l&&u.push(String.fromCharCode.apply(String,c.slice(0,l))),u.join("")):String.fromCharCode.apply(String,c.slice(0,l))},t.write=function(r,i,o){for(var s=o,u,c,l=0;l<r.length;++l)u=r.charCodeAt(l),u<128?i[o++]=u:u<2048?(i[o++]=u>>6|192,i[o++]=u&63|128):(u&64512)===55296&&((c=r.charCodeAt(l+1))&64512)===56320?(u=65536+((u&1023)<<10)+(c&1023),++l,i[o++]=u>>18|240,i[o++]=u>>12&63|128,i[o++]=u>>6&63|128,i[o++]=u&63|128):(i[o++]=u>>12|224,i[o++]=u>>6&63|128,i[o++]=u&63|128);return o-s}})(utf8$2);var pool_1=pool;function pool(n,t,e){var r=e||8192,i=r>>>1,o=null,s=r;return function(c){if(c<1||c>i)return n(c);s+c>r&&(o=n(r),s=0);var l=t.call(o,s,s+=c);return s&7&&(s=(s|7)+1),l}}var longbits,hasRequiredLongbits;function requireLongbits(){if(hasRequiredLongbits)return longbits;hasRequiredLongbits=1,longbits=t;var n=requireMinimal();function t(o,s){this.lo=o>>>0,this.hi=s>>>0}var e=t.zero=new t(0,0);e.toNumber=function(){return 0},e.zzEncode=e.zzDecode=function(){return this},e.length=function(){return 1};var r=t.zeroHash="\0\0\0\0\0\0\0\0";t.fromNumber=function(s){if(s===0)return e;var u=s<0;u&&(s=-s);var c=s>>>0,l=(s-c)/4294967296>>>0;return u&&(l=~l>>>0,c=~c>>>0,++c>4294967295&&(c=0,++l>4294967295&&(l=0))),new t(c,l)},t.from=function(s){if(typeof s=="number")return t.fromNumber(s);if(n.isString(s))if(n.Long)s=n.Long.fromString(s);else return t.fromNumber(parseInt(s,10));return s.low||s.high?new t(s.low>>>0,s.high>>>0):e},t.prototype.toNumber=function(s){if(!s&&this.hi>>>31){var u=~this.lo+1>>>0,c=~this.hi>>>0;return u||(c=c+1>>>0),-(u+c*4294967296)}return this.lo+this.hi*4294967296},t.prototype.toLong=function(s){return n.Long?new n.Long(this.lo|0,this.hi|0,!!s):{low:this.lo|0,high:this.hi|0,unsigned:!!s}};var i=String.prototype.charCodeAt;return t.fromHash=function(s){return s===r?e:new t((i.call(s,0)|i.call(s,1)<<8|i.call(s,2)<<16|i.call(s,3)<<24)>>>0,(i.call(s,4)|i.call(s,5)<<8|i.call(s,6)<<16|i.call(s,7)<<24)>>>0)},t.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},t.prototype.zzEncode=function(){var s=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^s)>>>0,this.lo=(this.lo<<1^s)>>>0,this},t.prototype.zzDecode=function(){var s=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^s)>>>0,this.hi=(this.hi>>>1^s)>>>0,this},t.prototype.length=function(){var s=this.lo,u=(this.lo>>>28|this.hi<<4)>>>0,c=this.hi>>>24;return c===0?u===0?s<16384?s<128?1:2:s<2097152?3:4:u<16384?u<128?5:6:u<2097152?7:8:c<128?9:10},longbits}var hasRequiredMinimal;function requireMinimal(){return hasRequiredMinimal||(hasRequiredMinimal=1,function(n){var t=n;t.asPromise=aspromise,t.base64=base64$1,t.EventEmitter=eventemitter,t.float=float,t.inquire=inquire_1,t.utf8=utf8$2,t.pool=pool_1,t.LongBits=requireLongbits(),t.isNode=!!(typeof commonjsGlobal!="undefined"&&commonjsGlobal&&commonjsGlobal.process&&commonjsGlobal.process.versions&&commonjsGlobal.process.versions.node),t.global=t.isNode&&commonjsGlobal||typeof window!="undefined"&&window||typeof self!="undefined"&&self||commonjsGlobal,t.emptyArray=Object.freeze?Object.freeze([]):[],t.emptyObject=Object.freeze?Object.freeze({}):{},t.isInteger=Number.isInteger||function(o){return typeof o=="number"&&isFinite(o)&&Math.floor(o)===o},t.isString=function(o){return typeof o=="string"||o instanceof String},t.isObject=function(o){return o&&typeof o=="object"},t.isset=t.isSet=function(o,s){var u=o[s];return u!=null&&o.hasOwnProperty(s)?typeof u!="object"||(Array.isArray(u)?u.length:Object.keys(u).length)>0:!1},t.Buffer=function(){try{var i=t.inquire("buffer").Buffer;return i.prototype.utf8Write?i:null}catch(o){return null}}(),t._Buffer_from=null,t._Buffer_allocUnsafe=null,t.newBuffer=function(o){return typeof o=="number"?t.Buffer?t._Buffer_allocUnsafe(o):new t.Array(o):t.Buffer?t._Buffer_from(o):typeof Uint8Array=="undefined"?o:new Uint8Array(o)},t.Array=typeof Uint8Array!="undefined"?Uint8Array:Array,t.Long=t.global.dcodeIO&&t.global.dcodeIO.Long||t.global.Long||t.inquire("long"),t.key2Re=/^true|false|0|1$/,t.key32Re=/^-?(?:0|[1-9][0-9]*)$/,t.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,t.longToHash=function(o){return o?t.LongBits.from(o).toHash():t.LongBits.zeroHash},t.longFromHash=function(o,s){var u=t.LongBits.fromHash(o);return t.Long?t.Long.fromBits(u.lo,u.hi,s):u.toNumber(!!s)};function e(i,o,s){for(var u=Object.keys(o),c=0;c<u.length;++c)(i[u[c]]===void 0||!s)&&(i[u[c]]=o[u[c]]);return i}t.merge=e,t.lcFirst=function(o){return o.charAt(0).toLowerCase()+o.substring(1)};function r(i){function o(s,u){if(!(this instanceof o))return new o(s,u);Object.defineProperty(this,"message",{get:function(){return s}}),Error.captureStackTrace?Error.captureStackTrace(this,o):Object.defineProperty(this,"stack",{value:new Error().stack||""}),u&&e(this,u)}return o.prototype=Object.create(Error.prototype,{constructor:{value:o,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return i},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),o}t.newError=r,t.ProtocolError=r("ProtocolError"),t.oneOfGetter=function(o){for(var s={},u=0;u<o.length;++u)s[o[u]]=1;return function(){for(var c=Object.keys(this),l=c.length-1;l>-1;--l)if(s[c[l]]===1&&this[c[l]]!==void 0&&this[c[l]]!==null)return c[l]}},t.oneOfSetter=function(o){return function(s){for(var u=0;u<o.length;++u)o[u]!==s&&delete this[o[u]]}},t.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},t._configure=function(){var i=t.Buffer;if(!i){t._Buffer_from=t._Buffer_allocUnsafe=null;return}t._Buffer_from=i.from!==Uint8Array.from&&i.from||function(s,u){return new i(s,u)},t._Buffer_allocUnsafe=i.allocUnsafe||function(s){return new i(s)}}}(minimal$1)),minimal$1}var writer=Writer$1,util$4=requireMinimal(),BufferWriter$1,LongBits$1=util$4.LongBits,base64=util$4.base64,utf8$1=util$4.utf8;function Op(n,t,e){this.fn=n,this.len=t,this.next=void 0,this.val=e}function noop(){}function State(n){this.head=n.head,this.tail=n.tail,this.len=n.len,this.next=n.states}function Writer$1(){this.len=0,this.head=new Op(noop,0,0),this.tail=this.head,this.states=null}var create$1=function n(){return util$4.Buffer?function(){return(Writer$1.create=function(){return new BufferWriter$1})()}:function(){return new Writer$1}};Writer$1.create=create$1(),Writer$1.alloc=function n(t){return new util$4.Array(t)},util$4.Array!==Array&&(Writer$1.alloc=util$4.pool(Writer$1.alloc,util$4.Array.prototype.subarray)),Writer$1.prototype._push=function n(t,e,r){return this.tail=this.tail.next=new Op(t,e,r),this.len+=e,this};function writeByte(n,t,e){t[e]=n&255}function writeVarint32(n,t,e){for(;n>127;)t[e++]=n&127|128,n>>>=7;t[e]=n}function VarintOp(n,t){this.len=n,this.next=void 0,this.val=t}VarintOp.prototype=Object.create(Op.prototype),VarintOp.prototype.fn=writeVarint32,Writer$1.prototype.uint32=function n(t){return this.len+=(this.tail=this.tail.next=new VarintOp((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this},Writer$1.prototype.int32=function n(t){return t<0?this._push(writeVarint64,10,LongBits$1.fromNumber(t)):this.uint32(t)},Writer$1.prototype.sint32=function n(t){return this.uint32((t<<1^t>>31)>>>0)};function writeVarint64(n,t,e){for(;n.hi;)t[e++]=n.lo&127|128,n.lo=(n.lo>>>7|n.hi<<25)>>>0,n.hi>>>=7;for(;n.lo>127;)t[e++]=n.lo&127|128,n.lo=n.lo>>>7;t[e++]=n.lo}Writer$1.prototype.uint64=function n(t){var e=LongBits$1.from(t);return this._push(writeVarint64,e.length(),e)},Writer$1.prototype.int64=Writer$1.prototype.uint64,Writer$1.prototype.sint64=function n(t){var e=LongBits$1.from(t).zzEncode();return this._push(writeVarint64,e.length(),e)},Writer$1.prototype.bool=function n(t){return this._push(writeByte,1,t?1:0)};function writeFixed32(n,t,e){t[e]=n&255,t[e+1]=n>>>8&255,t[e+2]=n>>>16&255,t[e+3]=n>>>24}Writer$1.prototype.fixed32=function n(t){return this._push(writeFixed32,4,t>>>0)},Writer$1.prototype.sfixed32=Writer$1.prototype.fixed32,Writer$1.prototype.fixed64=function n(t){var e=LongBits$1.from(t);return this._push(writeFixed32,4,e.lo)._push(writeFixed32,4,e.hi)},Writer$1.prototype.sfixed64=Writer$1.prototype.fixed64,Writer$1.prototype.float=function n(t){return this._push(util$4.float.writeFloatLE,4,t)},Writer$1.prototype.double=function n(t){return this._push(util$4.float.writeDoubleLE,8,t)};var writeBytes=util$4.Array.prototype.set?function n(t,e,r){e.set(t,r)}:function n(t,e,r){for(var i=0;i<t.length;++i)e[r+i]=t[i]};Writer$1.prototype.bytes=function n(t){var e=t.length>>>0;if(!e)return this._push(writeByte,1,0);if(util$4.isString(t)){var r=Writer$1.alloc(e=base64.length(t));base64.decode(t,r,0),t=r}return this.uint32(e)._push(writeBytes,e,t)},Writer$1.prototype.string=function n(t){var e=utf8$1.length(t);return e?this.uint32(e)._push(utf8$1.write,e,t):this._push(writeByte,1,0)},Writer$1.prototype.fork=function n(){return this.states=new State(this),this.head=this.tail=new Op(noop,0,0),this.len=0,this},Writer$1.prototype.reset=function n(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Op(noop,0,0),this.len=0),this},Writer$1.prototype.ldelim=function n(){var t=this.head,e=this.tail,r=this.len;return this.reset().uint32(r),r&&(this.tail.next=t.next,this.tail=e,this.len+=r),this},Writer$1.prototype.finish=function n(){for(var t=this.head.next,e=this.constructor.alloc(this.len),r=0;t;)t.fn(t.val,e,r),r+=t.len,t=t.next;return e},Writer$1._configure=function(n){BufferWriter$1=n,Writer$1.create=create$1(),BufferWriter$1._configure()};var writer_buffer=BufferWriter,Writer=writer;(BufferWriter.prototype=Object.create(Writer.prototype)).constructor=BufferWriter;var util$3=requireMinimal();function BufferWriter(){Writer.call(this)}BufferWriter._configure=function(){BufferWriter.alloc=util$3._Buffer_allocUnsafe,BufferWriter.writeBytesBuffer=util$3.Buffer&&util$3.Buffer.prototype instanceof Uint8Array&&util$3.Buffer.prototype.set.name==="set"?function(t,e,r){e.set(t,r)}:function(t,e,r){if(t.copy)t.copy(e,r,0,t.length);else for(var i=0;i<t.length;)e[r++]=t[i++]}},BufferWriter.prototype.bytes=function n(t){util$3.isString(t)&&(t=util$3._Buffer_from(t,"base64"));var e=t.length>>>0;return this.uint32(e),e&&this._push(BufferWriter.writeBytesBuffer,e,t),this};function writeStringBuffer(n,t,e){n.length<40?util$3.utf8.write(n,t,e):t.utf8Write?t.utf8Write(n,e):t.write(n,e)}BufferWriter.prototype.string=function n(t){var e=util$3.Buffer.byteLength(t);return this.uint32(e),e&&this._push(writeStringBuffer,e,t),this},BufferWriter._configure();var reader=Reader$1,util$2=requireMinimal(),BufferReader$1,LongBits=util$2.LongBits,utf8=util$2.utf8;function indexOutOfRange(n,t){return RangeError("index out of range: "+n.pos+" + "+(t||1)+" > "+n.len)}function Reader$1(n){this.buf=n,this.pos=0,this.len=n.length}var create_array=typeof Uint8Array!="undefined"?function n(t){if(t instanceof Uint8Array||Array.isArray(t))return new Reader$1(t);throw Error("illegal buffer")}:function n(t){if(Array.isArray(t))return new Reader$1(t);throw Error("illegal buffer")},create=function n(){return util$2.Buffer?function(e){return(Reader$1.create=function(i){return util$2.Buffer.isBuffer(i)?new BufferReader$1(i):create_array(i)})(e)}:create_array};Reader$1.create=create(),Reader$1.prototype._slice=util$2.Array.prototype.subarray||util$2.Array.prototype.slice,Reader$1.prototype.uint32=function n(){var t=4294967295;return function(){if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,indexOutOfRange(this,10);return t}}(),Reader$1.prototype.int32=function n(){return this.uint32()|0},Reader$1.prototype.sint32=function n(){var t=this.uint32();return t>>>1^-(t&1)|0};function readLongVarint(){var n=new LongBits(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(n.lo=(n.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return n;if(n.lo=(n.lo|(this.buf[this.pos]&127)<<28)>>>0,n.hi=(n.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return n;t=0}else{for(;t<3;++t){if(this.pos>=this.len)throw indexOutOfRange(this);if(n.lo=(n.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return n}return n.lo=(n.lo|(this.buf[this.pos++]&127)<<t*7)>>>0,n}if(this.len-this.pos>4){for(;t<5;++t)if(n.hi=(n.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return n}else for(;t<5;++t){if(this.pos>=this.len)throw indexOutOfRange(this);if(n.hi=(n.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return n}throw Error("invalid varint encoding")}Reader$1.prototype.bool=function n(){return this.uint32()!==0};function readFixed32_end(n,t){return(n[t-4]|n[t-3]<<8|n[t-2]<<16|n[t-1]<<24)>>>0}Reader$1.prototype.fixed32=function n(){if(this.pos+4>this.len)throw indexOutOfRange(this,4);return readFixed32_end(this.buf,this.pos+=4)},Reader$1.prototype.sfixed32=function n(){if(this.pos+4>this.len)throw indexOutOfRange(this,4);return readFixed32_end(this.buf,this.pos+=4)|0};function readFixed64(){if(this.pos+8>this.len)throw indexOutOfRange(this,8);return new LongBits(readFixed32_end(this.buf,this.pos+=4),readFixed32_end(this.buf,this.pos+=4))}Reader$1.prototype.float=function n(){if(this.pos+4>this.len)throw indexOutOfRange(this,4);var t=util$2.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t},Reader$1.prototype.double=function n(){if(this.pos+8>this.len)throw indexOutOfRange(this,4);var t=util$2.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t},Reader$1.prototype.bytes=function n(){var t=this.uint32(),e=this.pos,r=this.pos+t;if(r>this.len)throw indexOutOfRange(this,t);if(this.pos+=t,Array.isArray(this.buf))return this.buf.slice(e,r);if(e===r){var i=util$2.Buffer;return i?i.alloc(0):new this.buf.constructor(0)}return this._slice.call(this.buf,e,r)},Reader$1.prototype.string=function n(){var t=this.bytes();return utf8.read(t,0,t.length)},Reader$1.prototype.skip=function n(t){if(typeof t=="number"){if(this.pos+t>this.len)throw indexOutOfRange(this,t);this.pos+=t}else do if(this.pos>=this.len)throw indexOutOfRange(this);while(this.buf[this.pos++]&128);return this},Reader$1.prototype.skipType=function(n){switch(n){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(n=this.uint32()&7)!==4;)this.skipType(n);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+n+" at offset "+this.pos)}return this},Reader$1._configure=function(n){BufferReader$1=n,Reader$1.create=create(),BufferReader$1._configure();var t=util$2.Long?"toLong":"toNumber";util$2.merge(Reader$1.prototype,{int64:function(){return readLongVarint.call(this)[t](!1)},uint64:function(){return readLongVarint.call(this)[t](!0)},sint64:function(){return readLongVarint.call(this).zzDecode()[t](!1)},fixed64:function(){return readFixed64.call(this)[t](!0)},sfixed64:function(){return readFixed64.call(this)[t](!1)}})};var reader_buffer=BufferReader,Reader=reader;(BufferReader.prototype=Object.create(Reader.prototype)).constructor=BufferReader;var util$1=requireMinimal();function BufferReader(n){Reader.call(this,n)}BufferReader._configure=function(){util$1.Buffer&&(BufferReader.prototype._slice=util$1.Buffer.prototype.slice)},BufferReader.prototype.string=function n(){var t=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+t,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+t,this.len))},BufferReader._configure();var rpc={},service=Service,util=requireMinimal();(Service.prototype=Object.create(util.EventEmitter.prototype)).constructor=Service;function Service(n,t,e){if(typeof n!="function")throw TypeError("rpcImpl must be a function");util.EventEmitter.call(this),this.rpcImpl=n,this.requestDelimited=!!t,this.responseDelimited=!!e}Service.prototype.rpcCall=function n(t,e,r,i,o){if(!i)throw TypeError("request must be specified");var s=this;if(!o)return util.asPromise(n,s,t,e,r,i);if(!s.rpcImpl){setTimeout(function(){o(Error("already ended"))},0);return}try{return s.rpcImpl(t,e[s.requestDelimited?"encodeDelimited":"encode"](i).finish(),function(c,l){if(c)return s.emit("error",c,t),o(c);if(l===null){s.end(!0);return}if(!(l instanceof r))try{l=r[s.responseDelimited?"decodeDelimited":"decode"](l)}catch(d){return s.emit("error",d,t),o(d)}return s.emit("data",l,t),o(null,l)})}catch(u){s.emit("error",u,t),setTimeout(function(){o(u)},0);return}},Service.prototype.end=function n(t){return this.rpcImpl&&(t||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this},function(n){var t=n;t.Service=service}(rpc);var roots={};(function(n){var t=n;t.build="minimal",t.Writer=writer,t.BufferWriter=writer_buffer,t.Reader=reader,t.BufferReader=reader_buffer,t.util=requireMinimal(),t.rpc=rpc,t.roots=roots,t.configure=e;function e(){t.util._configure(),t.Writer._configure(t.BufferWriter),t.Reader._configure(t.BufferReader)}e()})(indexMinimal);var minimal=indexMinimal;const $Reader$1=minimal.Reader,$util$1=minimal.util,$root$1=minimal.roots["@REALSEE/FIVE:five/loaders/model/proto/pbm.proto"]||(minimal.roots["@REALSEE/FIVE:five/loaders/model/proto/pbm.proto"]={}),Model$2=$root$1.Model=(()=>{function n(t){if(this.chunks=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.chunks=$util$1.emptyArray,n.prototype.createAt=$util$1.Long?$util$1.Long.fromBits(0,0,!0):0,n.prototype.description="",n.decode=function(e,r){e instanceof $Reader$1||(e=$Reader$1.create(e));let i=r===void 0?e.len:e.pos+r,o=new $root$1.Model;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:{o.chunks&&o.chunks.length||(o.chunks=[]),o.chunks.push($root$1.Chunk.decode(e,e.uint32()));break}case 2:{o.createAt=e.uint64();break}case 3:{o.description=e.string();break}default:e.skipType(s&7);break}}return o},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Model"},n})();$root$1.Chunk=(()=>{function n(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.vertices=null,n.prototype.faces=null,n.prototype.name="",n.prototype.texture="",n.decode=function(e,r){e instanceof $Reader$1||(e=$Reader$1.create(e));let i=r===void 0?e.len:e.pos+r,o=new $root$1.Chunk;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:{o.vertices=$root$1.Vertices.decode(e,e.uint32());break}case 2:{o.faces=$root$1.Faces.decode(e,e.uint32());break}case 3:{o.name=e.string();break}case 4:{o.texture=e.string();break}default:e.skipType(s&7);break}}if(!o.hasOwnProperty("vertices"))throw $util$1.ProtocolError("missing required 'vertices'",{instance:o});if(!o.hasOwnProperty("faces"))throw $util$1.ProtocolError("missing required 'faces'",{instance:o});if(!o.hasOwnProperty("name"))throw $util$1.ProtocolError("missing required 'name'",{instance:o});return o},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Chunk"},n})(),$root$1.Vertices=(()=>{function n(t){if(this.xyz=[],this.uvs=[],this.marks=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.xyz=$util$1.emptyArray,n.prototype.uvs=$util$1.emptyArray,n.prototype.marks=$util$1.emptyArray,n.decode=function(e,r){e instanceof $Reader$1||(e=$Reader$1.create(e));let i=r===void 0?e.len:e.pos+r,o=new $root$1.Vertices;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:{if(o.xyz&&o.xyz.length||(o.xyz=[]),(s&7)===2){let u=e.uint32()+e.pos;for(;e.pos<u;)o.xyz.push(e.float())}else o.xyz.push(e.float());break}case 2:{if(o.uvs&&o.uvs.length||(o.uvs=[]),(s&7)===2){let u=e.uint32()+e.pos;for(;e.pos<u;)o.uvs.push(e.float())}else o.uvs.push(e.float());break}case 3:{if(o.marks&&o.marks.length||(o.marks=[]),(s&7)===2){let u=e.uint32()+e.pos;for(;e.pos<u;)o.marks.push(e.int32())}else o.marks.push(e.int32());break}default:e.skipType(s&7);break}}return o},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Vertices"},n})(),$root$1.Faces=(()=>{function n(t){if(this.indices=[],this.normals=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.indices=$util$1.emptyArray,n.prototype.normals=$util$1.emptyArray,n.decode=function(e,r){e instanceof $Reader$1||(e=$Reader$1.create(e));let i=r===void 0?e.len:e.pos+r,o=new $root$1.Faces;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:{if(o.indices&&o.indices.length||(o.indices=[]),(s&7)===2){let u=e.uint32()+e.pos;for(;e.pos<u;)o.indices.push(e.uint32())}else o.indices.push(e.uint32());break}case 2:{if(o.normals&&o.normals.length||(o.normals=[]),(s&7)===2){let u=e.uint32()+e.pos;for(;e.pos<u;)o.normals.push(e.float())}else o.normals.push(e.float());break}default:e.skipType(s&7);break}}return o},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Faces"},n})(),$root$1.VertexMark=(()=>{const n={},t=Object.create(n);return t[n[0]="VERTEX_MARK_UNSPECIFIED"]=0,t[n[1]="VERTEX_MARK_ROOF"]=1,t})();function loadPbm(n,t){var e,r,i,o={byteLength:0},s=autoRestImageOptionsByTextureLength((e=t.textureOptions)!==null&&e!==void 0?e:{},(i=(r=t.textureArray)===null||r===void 0?void 0:r.length)!==null&&i!==void 0?i:0),u={};if(t.textureArray)for(var c=0,l=t.textureArray;c<l.length;c++){var d=l[c];u[d]=loadTexture$1(d,s,t.fetcher)}return Promise.resolve().then(function(){return t.fetcher.ajax(n,{responseType:"arraybuffer"})}).then(function(f){return o.byteLength=f.body.byteLength,delay(function(){var m=new Uint8Array(f.body);return Model$2.decode(m)})}).then(function(f){return delay(function(){var m,p;return parse$2(f,(m=t.textureBaseUri)!==null&&m!==void 0?m:function(){var A=n.lastIndexOf("/");if(A>=0){var v=n.slice(0,A)+"/";return/\/model\/$/.test(v)&&(v=v.replace(/\/model\/$/,"/materials/")),v}return""}(),((p=t.textureArray)!==null&&p!==void 0?p:[]).slice(),s,u,t.fetcher)})}).then(function(f){var m=new THREE__namespace.Group;m.renderOrder=-4,m.matrixAutoUpdate=!1,m.matrix.compose(m.position,m.quaternion,m.scale),m.name=n;for(var p=0,A=f.objects;p<A.length;p++){var v=A[p];m.add(v)}return f.texturePromise.then(function(){return{type:"pbm",uri:n,byteLength:o.byteLength,object:m,dispose:function(){return f.dispose()}}})})}function parseFloorName(n){var t=n.match(/(group|floor)-?(\d+)/);return t?parseInt(t[2],10):0}function parseChunkName(n){var t=n.match(/(chunk)-?(\d+)/);return t?parseInt(t[2],10):0}function parseSubName(n){var t=n.match(/(sub)-?(\d+)/);return t?parseInt(t[2],10):0}function chunkOrder(n){var t=parseFloorName(n.name),e=parseChunkName(n.name),r=parseSubName(n.name);return t*1e6+e*1e3+r}function parsePBMModel(n){for(var t,e,r,i=typeof n.createAt=="number"?n.createAt:0,o=(t=n.description)!==null&&t!==void 0?t:"",s=[],u=!0,c=!0,l=0,d=n.chunks;l<d.length;l++){var f=d[l];if(!f.vertices.marks||f.vertices.marks.length===0){c=!1;break}}for(var m=0,p=n.chunks;m<p.length;m++){var f=p[m];if(!f.faces.normals||f.faces.normals.length===0){u=!1;break}}for(var A=n.chunks.sort(function(Be,Ie){return chunkOrder(Be)-chunkOrder(Ie)}),v=[],g=0,h=A;g<h.length;g++){var f=h[g],y=parseFloorName(f.name);v[y]||(v[y]=[]),v[y].push(f)}for(var b=0;b<v.length;b++){var E=v[b];if(E)if(u){for(var T=0,x=0;x<E.length;x++){var f=E[x];T+=f.faces.indices.length}for(var _=new Float32Array(T*3),w=new Float32Array(T),S=new Float32Array(T*2),M=new Float32Array(T*3),C=[],I=[1/0,1/0,1/0,-1/0,-1/0,-1/0],B=0,F=0;F<E.length;F++){for(var L=[1/0,1/0,1/0,-1/0,-1/0,-1/0],f=E[F],k=f.vertices.xyz,O=f.vertices.uvs,D=f.faces.indices,Q=f.faces.normals,N=f.vertices.marks,U=D.length,x=0;x<U;x++){var W=D[x],q=_[B*3+x*3]=k[W*3],G=_[B*3+x*3+1]=k[W*3+1],K=_[B*3+x*3+2]=k[W*3+2];w[B+x]=c?N[W]:0,S[B*2+x*2]=O[W*2],S[B*2+x*2+1]=O[W*2+1];var X=Math.floor(x/3)*3;M[B*3+x*3]=Q[X],M[B*3+x*3+1]=Q[X+1],M[B*3+x*3+2]=Q[X+2],q<L[0]&&(L[0]=q),G<L[1]&&(L[1]=G),K<L[2]&&(L[2]=K),q>L[3]&&(L[3]=q),G>L[4]&&(L[4]=G),K>L[5]&&(L[5]=K)}L[0]<I[0]&&(I[0]=L[0]),L[1]<I[1]&&(I[1]=L[1]),L[2]<I[2]&&(I[2]=L[2]),L[3]>I[3]&&(I[3]=L[3]),L[4]>I[4]&&(I[4]=L[4]),L[5]>I[5]&&(I[5]=L[5]),C.push({materialIndex:F,name:f.name,chunkName:parseChunkName(f.name),start:B,count:f.faces.indices.length,texture:(e=f.texture)!==null&&e!==void 0?e:void 0}),B+=U}var se={createAt:i,description:o,vertices:_,uvs:S,normals:M,indices:null,floorIndex:b,groups:C,extents:I,vertexMarks:w};s.push(se)}else{for(var T=0,Y=0,x=0;x<E.length;x++){var f=E[x];Y+=f.vertices.xyz.length/3,T+=f.faces.indices.length}for(var _=new Float32Array(Y*3),S=new Float32Array(Y*2),M=new Float32Array(Y*3),re=new Float32Array(Y),ee=new Uint32Array(T),w=new Float32Array(T),C=[],I=[1/0,1/0,1/0,-1/0,-1/0,-1/0],oe=0,B=0,F=0;F<E.length;F++){for(var L=[1/0,1/0,1/0,-1/0,-1/0,-1/0],f=E[F],k=f.vertices.xyz,N=f.vertices.marks,O=f.vertices.uvs,D=f.faces.indices,$=k.length/3,U=D.length,x=0;x<$;x++){var q=_[B*3+x*3]=k[x*3],G=_[B*3+x*3+1]=k[x*3+1],K=_[B*3+x*3+2]=k[x*3+2];w[B+x]=c?N[x]:0,S[B*2+x*2]=O[x*2],S[B*2+x*2+1]=O[x*2+1],re[B+x]=b,q<L[0]&&(L[0]=q),G<L[1]&&(L[1]=G),K<L[2]&&(L[2]=K),q>L[3]&&(L[3]=q),G>L[4]&&(L[4]=G),K>L[5]&&(L[5]=K)}L[0]<I[0]&&(I[0]=L[0]),L[1]<I[1]&&(I[1]=L[1]),L[2]<I[2]&&(I[2]=L[2]),L[3]>I[3]&&(I[3]=L[3]),L[4]>I[4]&&(I[4]=L[4]),L[5]>I[5]&&(I[5]=L[5]);for(var x=0;x<U;x++)ee[oe+x]=B+D[x];C.push({materialIndex:F,name:f.name,chunkName:parseChunkName(f.name),start:oe,count:f.faces.indices.length,texture:(r=f.texture)!==null&&r!==void 0?r:void 0}),B+=$,oe+=U}for(var x=0;x<T;x+=3){var ie=void 0,ne=void 0,ae=void 0,Z=void 0,J=void 0,z=void 0,ge=void 0,fe=void 0,ce=void 0,Ae=void 0,ye=void 0,Ee=void 0,we=void 0,ue=void 0,le=void 0,pe=void 0,Te=void 0,de=void 0,be=void 0,me=void 0,_e=void 0;ie=ee[x]*3,ne=ee[x+1]*3,ae=ee[x+2]*3,Z=_[ie],J=_[ie+1],z=_[ie+2],ge=_[ne],fe=_[ne+1],ce=_[ne+2],Ae=_[ae],ye=_[ae+1],Ee=_[ae+2],we=Ae-ge,ue=ye-fe,le=Ee-ce,pe=Z-ge,Te=J-fe,de=z-ce,be=ue*de-le*Te,me=le*pe-we*de,_e=we*Te-ue*pe,M[ie]+=be,M[ie+1]+=me,M[ie+2]+=_e,M[ne]+=be,M[ne+1]+=me,M[ne+2]+=_e,M[ae]+=be,M[ae+1]+=me,M[ae+2]+=_e}var se={createAt:i,description:o,vertices:_,uvs:S,normals:M,indices:ee,floorIndex:b,groups:C,extents:I,vertexMarks:w};s.push(se)}}return s}function loadTexture$1(n,t,e,r){var i=__assign({key:"texture.pbm"},pick(t,["format","quality","size","sharpen","mappings"])),o=new TextureLoader,s=o.loadTexture(n,{imageURL:{transform:t.transform,options:i},wrapS:THREE__namespace.ClampToEdgeWrapping,wrapT:THREE__namespace.ClampToEdgeWrapping,minFilter:THREE__namespace.LinearFilter,maxSize:typeof i.size=="number"?new THREE__namespace.Vector2(i.size,i.size):void 0,fetcher:e}).then(function(u){var c=u.body;return c.needsUpdate=!0,c});return Object.assign(s,{url:n,textureOptions:t})}function parse$2(n,t,e,r,i,o,s){i===void 0&&(i={});for(var u=parsePBMModel(n),c=0,l="",d=[],f={},m=new Set,p=0,A=u;p<A.length;p++){var v=A[p],g=v.createAt,h=v.description,y=v.vertices,b=v.vertexMarks,E=v.uvs,T=v.normals,x=v.indices,_=v.floorIndex,w=v.groups,S=v.extents,M=new THREE__namespace.Box3;M.min.x=S[0],M.min.y=S[1],M.min.z=S[2],M.max.x=S[3],M.max.y=S[4],M.max.z=S[5];var C=new THREE__namespace.BufferGeometry;C.setAttribute("position",new THREE__namespace.BufferAttribute(y,3)),C.setAttribute("uv",new THREE__namespace.BufferAttribute(E,2)),C.setAttribute("normal",new THREE__namespace.BufferAttribute(T,3)),C.setAttribute("isRoofMark",new THREE__namespace.BufferAttribute(b,1)),x&&C.setIndex(new THREE__namespace.BufferAttribute(x,1)),C.boundingBox=M,C.boundingSphere=M.getBoundingSphere(new THREE__namespace.Sphere);for(var I=0,B=w;I<B.length;I++){var F=B[I];C.addGroup(F.start,F.count,F.materialIndex)}m.add(C);for(var L=[],k=0,O=w;k<O.length;k++){var F=O[k],D=e[F.chunkName]||(F.texture?pathJoin(t||"",F.texture):void 0),Q=new PBMMeshMaterial;Q.defines.USE_VERTEX_FLOOR=!1,Q.floor=_,L.push(Q),D?f[D]?f[D].push(Q):f[D]=[Q]:(Q.defines.USE_MAP=!1,Q.uniforms.diffuse.value=new THREE__namespace.Color(16777215)),m.add(Q)}var N=new PBMMesh(C,L);N.name="model_floor_"+_,N.userData.createAt=g,N.userData.description=h,N.matrix.compose(N.position,N.quaternion,N.scale),N.matrixAutoUpdate=!1,N.frustumCulled=!1,N.renderOrder=-1e3+_,c=g,l=h,d.push(N)}var U="",W=function(G){G=autoRestImageOptionsByTextureLength(G,e.length);var K=[],X=jsonHash(G);if(U===X)return Promise.resolve();U=X;for(var se=function(oe){var $=null;oe in i&&(jsonHash(i[oe].textureOptions)===jsonHash(G)?$=i[oe]:i[oe].then(function(ie){return ie.dispose()})),$||($=loadTexture$1(oe,G,o)),K.push($.then(function(ie){if(U!==X){ie.dispose();return}for(var ne=0,ae=f[oe];ne<ae.length;ne++){var Z=ae[ne];Z.uniforms.map.value&&(m.delete(Z.uniforms.map.value),Z.uniforms.map.value.dispose()),Z.uniforms.map.value=ie,m.add(ie),Z.uniforms.exposure.value=3.3}}).catch(function(){if(U===X)for(var ie=0,ne=f[oe];ie<ne.length;ie++){var ae=ne[ie];ae.uniforms.map.value&&(m.delete(ae.uniforms.map.value),ae.uniforms.map.value.dispose()),ae.uniforms.map.value=null,ae.defines.USE_MAP=!1,ae.uniforms.diffuse.value=new THREE__namespace.Color(16777215)}}))},Y=0,re=Object.keys(f);Y<re.length;Y++){var ee=re[Y];se(ee)}for(var ee in i)delete i[ee];return Promise.all(K).then(function(){})},q=W(r);return{createAt:c,description:l,objects:d,texturePromise:q,updateTexture:W,dispose:function(){m.forEach(function(G){G.dispose()}),m.clear()}}}function autoRestImageOptionsByTextureLength(n,t){return n=Object.assign({},n),n.autoResize!==!1&&(t>96?n.size=Math.min(n.size||1/0,100):t>48?n.size=Math.min(n.size||1/0,200):t>24?n.size=Math.min(n.size||1/0,400):t>22?n.size=Math.min(n.size||1/0,800):t>5&&(n.size=Math.min(n.size||1/0,1024))),n}function loadAt3d(n,t){var e,r,i,o={byteLength:0},s=autoRestImageOptionsByTextureLength((e=t.textureOptions)!==null&&e!==void 0?e:{},(i=(r=t.textureArray)===null||r===void 0?void 0:r.length)!==null&&i!==void 0?i:0),u={};if(t.textureArray)for(var c=0,l=t.textureArray;c<l.length;c++){var d=l[c];u[d]=loadTexture$1(d,s,t.fetcher)}return Promise.resolve().then(function(){return t.fetcher.ajax(n,{responseType:"arraybuffer"})}).then(function(f){return lzma(f.body)}).then(function(f){return delay(function(){for(var m,p={chunks:[],createAt:void 0,description:void 0},A=0,v=f;A<v.length;A++){var g=v[A],h=Model$2.decode(g);h.chunks.length&&((m=p.chunks).push.apply(m,h.chunks),p.createAt=h.createAt,p.description=h.description)}return p})}).then(function(f){return delay(function(){var m,p,A;return parse$2(f,(m=t.textureBaseUri)!==null&&m!==void 0?m:function(){var v=n.lastIndexOf("/");if(v>=0){var g=n.slice(0,v)+"/";return/\/model\/$/.test(g)&&(g=g.replace(/\/model\/$/,"/materials/")),g}return""}(),((p=t.textureArray)!==null&&p!==void 0?p:[]).slice(),(A=t.textureOptions)!==null&&A!==void 0?A:{},u,t.fetcher)})}).then(function(f){var m=new THREE__namespace.Group;m.renderOrder=-4,m.name=n;for(var p=0,A=f.objects;p<A.length;p++){var v=A[p];m.add(v)}return f.texturePromise.then(function(){return{type:"at3d",uri:n,byteLength:o.byteLength,object:m,dispose:function(){return f.dispose()}}})})}const $Reader=minimal.Reader,$util=minimal.util,$root=minimal.roots["@REALSEE/FIVE:five/loaders/model/proto/dome.proto"]||(minimal.roots["@REALSEE/FIVE:five/loaders/model/proto/dome.proto"]={}),Model$1=$root.Model=(()=>{function n(t){if(this.meshes=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.meshes=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let i=r===void 0?e.len:e.pos+r,o=new $root.Model;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:{o.meshes&&o.meshes.length||(o.meshes=[]),o.meshes.push($root.Mesh.decode(e,e.uint32()));break}default:e.skipType(s&7);break}}return o},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Model"},n})();$root.Mesh=(()=>{function n(t){if(this.chunks=[],this.matrix=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.name="",n.prototype.chunks=$util.emptyArray,n.prototype.matrix=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let i=r===void 0?e.len:e.pos+r,o=new $root.Mesh;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:{o.name=e.string();break}case 2:{o.chunks&&o.chunks.length||(o.chunks=[]),o.chunks.push($root.Chunk.decode(e,e.uint32()));break}case 3:{o.matrix&&o.matrix.length||(o.matrix=[]),o.matrix.push($root.Matrix.decode(e,e.uint32()));break}default:e.skipType(s&7);break}}if(!o.hasOwnProperty("name"))throw $util.ProtocolError("missing required 'name'",{instance:o});return o},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Mesh"},n})(),$root.Matrix=(()=>{function n(t){if(this.elements=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.elements=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let i=r===void 0?e.len:e.pos+r,o=new $root.Matrix;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:{if(o.elements&&o.elements.length||(o.elements=[]),(s&7)===2){let u=e.uint32()+e.pos;for(;e.pos<u;)o.elements.push(e.float())}else o.elements.push(e.float());break}default:e.skipType(s&7);break}}return o},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Matrix"},n})(),$root.Chunk=(()=>{function n(t){if(this.material=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.geometry=null,n.prototype.material=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let i=r===void 0?e.len:e.pos+r,o=new $root.Chunk;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 2:{o.geometry=$root.Geometry.decode(e,e.uint32());break}case 3:{o.material&&o.material.length||(o.material=[]),o.material.push($root.Material.decode(e,e.uint32()));break}default:e.skipType(s&7);break}}if(!o.hasOwnProperty("geometry"))throw $util.ProtocolError("missing required 'geometry'",{instance:o});return o},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Chunk"},n})(),$root.Geometry=(()=>{function n(t){if(this.groups=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.position=null,n.prototype.uv=null,n.prototype.uv2=null,n.prototype.normal=null,n.prototype.groups=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let i=r===void 0?e.len:e.pos+r,o=new $root.Geometry;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:{o.position=$root.Position.decode(e,e.uint32());break}case 2:{o.uv=$root.UV.decode(e,e.uint32());break}case 3:{o.uv2=$root.UV.decode(e,e.uint32());break}case 4:{o.normal=$root.Normal.decode(e,e.uint32());break}case 5:{o.groups&&o.groups.length||(o.groups=[]),o.groups.push($root.Group.decode(e,e.uint32()));break}default:e.skipType(s&7);break}}if(!o.hasOwnProperty("position"))throw $util.ProtocolError("missing required 'position'",{instance:o});if(!o.hasOwnProperty("normal"))throw $util.ProtocolError("missing required 'normal'",{instance:o});return o},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Geometry"},n})(),$root.Position=(()=>{function n(t){if(this.array=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.array=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let i=r===void 0?e.len:e.pos+r,o=new $root.Position;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:{if(o.array&&o.array.length||(o.array=[]),(s&7)===2){let u=e.uint32()+e.pos;for(;e.pos<u;)o.array.push(e.float())}else o.array.push(e.float());break}default:e.skipType(s&7);break}}return o},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Position"},n})(),$root.UV=(()=>{function n(t){if(this.array=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.array=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let i=r===void 0?e.len:e.pos+r,o=new $root.UV;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:{if(o.array&&o.array.length||(o.array=[]),(s&7)===2){let u=e.uint32()+e.pos;for(;e.pos<u;)o.array.push(e.float())}else o.array.push(e.float());break}default:e.skipType(s&7);break}}return o},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/UV"},n})(),$root.Normal=(()=>{function n(t){if(this.array=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.array=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let i=r===void 0?e.len:e.pos+r,o=new $root.Normal;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:{if(o.array&&o.array.length||(o.array=[]),(s&7)===2){let u=e.uint32()+e.pos;for(;e.pos<u;)o.array.push(e.float())}else o.array.push(e.float());break}default:e.skipType(s&7);break}}return o},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Normal"},n})(),$root.Group=(()=>{function n(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.start=0,n.prototype.count=0,n.prototype.materialIndex=0,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let i=r===void 0?e.len:e.pos+r,o=new $root.Group;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:{o.start=e.uint32();break}case 2:{o.count=e.uint32();break}case 3:{o.materialIndex=e.uint32();break}default:e.skipType(s&7);break}}if(!o.hasOwnProperty("start"))throw $util.ProtocolError("missing required 'start'",{instance:o});if(!o.hasOwnProperty("count"))throw $util.ProtocolError("missing required 'count'",{instance:o});if(!o.hasOwnProperty("materialIndex"))throw $util.ProtocolError("missing required 'materialIndex'",{instance:o});return o},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Group"},n})(),$root.Material=(()=>{function n(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.kd=null,n.prototype.ks=null,n.prototype.ke=null,n.prototype.mapkd="",n.prototype.mapks="",n.prototype.mapke="",n.prototype.norm="",n.prototype.mapbump="",n.prototype.bump="",n.prototype.mapd="",n.prototype.ns=0,n.prototype.d=0,n.prototype.tr=0,n.prototype.mapkdrepeat="",n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let i=r===void 0?e.len:e.pos+r,o=new $root.Material;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:{o.kd=$root.Color.decode(e,e.uint32());break}case 2:{o.ks=$root.Color.decode(e,e.uint32());break}case 3:{o.ke=$root.Color.decode(e,e.uint32());break}case 4:{o.mapkd=e.string();break}case 5:{o.mapks=e.string();break}case 6:{o.mapke=e.string();break}case 7:{o.norm=e.string();break}case 8:{o.mapbump=e.string();break}case 9:{o.bump=e.string();break}case 10:{o.mapd=e.string();break}case 11:{o.ns=e.float();break}case 12:{o.d=e.float();break}case 13:{o.tr=e.float();break}case 14:{o.mapkdrepeat=e.string();break}default:e.skipType(s&7);break}}return o},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Material"},n})(),$root.Color=(()=>{function n(t){if(this.rgb=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.rgb=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let i=r===void 0?e.len:e.pos+r,o=new $root.Color;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:{if(o.rgb&&o.rgb.length||(o.rgb=[]),(s&7)===2){let u=e.uint32()+e.pos;for(;e.pos<u;)o.rgb.push(e.float())}else o.rgb.push(e.float());break}default:e.skipType(s&7);break}}return o},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Color"},n})();function loadDome(n,t){var e={byteLength:0};return Promise.resolve().then(function(){return t.fetcher.ajax(n,{responseType:"arraybuffer"})}).then(function(r){return e.byteLength=r.body.byteLength,parse$1(new Uint8Array(r.body),t.textureBaseUri||"",t.textureOptions,t.fetcher)}).then(function(r){var i=new THREE__namespace.Group;i.renderOrder=-4,i.matrixAutoUpdate=!1,i.matrix.compose(i.position,i.quaternion,i.scale),i.name=n;for(var o=0,s=r.objects;o<s.length;o++){var u=s[o];i.add(u)}return r.texturePromise.then(function(){return{type:"dome",uri:n,byteLength:e.byteLength,object:i,dispose:function(){return r.dispose()}}})})}function flipBufferGeometryNormals(n){for(var t=[0,0,0],e=0;e<n.attributes.normal.array.length/9;e++)t[0]=n.attributes.normal.array[e*9],t[1]=n.attributes.normal.array[e*9+1],t[2]=n.attributes.normal.array[e*9+2],n.attributes.normal.array[e*9]=n.attributes.normal.array[e*9+6],n.attributes.normal.array[e*9+1]=n.attributes.normal.array[e*9+7],n.attributes.normal.array[e*9+2]=n.attributes.normal.array[e*9+8],n.attributes.normal.array[e*9+6]=t[0],n.attributes.normal.array[e*9+7]=t[1],n.attributes.normal.array[e*9+8]=t[2];for(var e=0;e<n.attributes.position.array.length/9;e++)t[0]=n.attributes.position.array[e*9],t[1]=n.attributes.position.array[e*9+1],t[2]=n.attributes.position.array[e*9+2],n.attributes.position.array[e*9]=n.attributes.position.array[e*9+6],n.attributes.position.array[e*9+1]=n.attributes.position.array[e*9+7],n.attributes.position.array[e*9+2]=n.attributes.position.array[e*9+8],n.attributes.position.array[e*9+6]=t[0],n.attributes.position.array[e*9+7]=t[1],n.attributes.position.array[e*9+8]=t[2];for(var e=0;e<n.attributes.uv.array.length/6;e++)t[0]=n.attributes.uv.array[e*6],t[1]=n.attributes.uv.array[e*6+1],n.attributes.uv.array[e*6]=n.attributes.uv.array[e*6+4],n.attributes.uv.array[e*6+1]=n.attributes.uv.array[e*6+5],n.attributes.uv.array[e*6+4]=t[0],n.attributes.uv.array[e*6+5]=t[1];n.attributes.normal.needsUpdate=!0,n.attributes.position.needsUpdate=!0,n.attributes.uv.needsUpdate=!0}function parseGeometry(n){var t=n.position,e=n.normal,r=n.uv,i=n.uv2,o=n.groups,s=new THREE__namespace.BufferGeometry;s.setAttribute("position",new THREE__namespace.BufferAttribute(new Float32Array(t.array),3)),e&&s.setAttribute("normal",new THREE__namespace.BufferAttribute(new Float32Array(e.array),3)),r&&s.setAttribute("uv",new THREE__namespace.BufferAttribute(new Float32Array(r.array),2)),i&&s.setAttribute("uv2",new THREE__namespace.BufferAttribute(new Float32Array(i.array),2));for(var u=0,c=o;u<c.length;u++){var l=c[u];s.addGroup(l.start,l.count,l.materialIndex)}return s}function loadTexture(n,t,e,r,i,o,s){if(s.hasOwnProperty(n))return s[n];n=n.split("?")[0],isAbsoluteURL(n)||(n=pathJoin(t,n)),n=n.replace(/\/\/vrlab-image\d*.ljcdn.com\//,"//vrlab-public.ljcdn.com/"),n.indexOf("//")===0&&(n="https:"+n);var u=__assign({key:"texture.dome",size:64},pick(e,["quality","format","sharpen","mappings"])),c=s[n]=i.loadTexture(n,{imageURL:{transform:e.transform,options:u},wrapS:THREE__namespace.RepeatWrapping,wrapT:THREE__namespace.RepeatWrapping,fetcher:o}).then(function(l){var d=l.body;return r&&d.repeat.copy(r),d.needsUpdate=!0,d.updateMatrix(),d});return c}function parseMaterial(n,t,e,r,i,o,s){var u=[],c=new PBMMeshMaterial;s.add(c);var l=c.uniforms;l.exposure.value=4.3;var d=c.defines;if(d.USE_MAP=!1,d.USE_UV=!1,n.kd&&(l.diffuse.value=new THREE__namespace.Color().fromArray(n.kd.rgb)),n.mapkd){var f=null;if(n.mapkdrepeat){var m=n.mapkdrepeat.split(/\s+/).map(function(g){return Number(g)}),p=m[0],A=m[1];f=new THREE__namespace.Vector2(p,A)}u.push(loadTexture(n.mapkd,t,e,f,r,i,o).then(function(g){d.USE_MAP=!0,d.USE_UV=!0,l.map.value=g,s.add(g),l.uvTransform.value=g.matrix,c.needsUpdate=!0}).catch(noop$1))}if(n.ks&&(l.specular.value=new THREE__namespace.Color().fromArray(n.ks.rgb)),n.mapks&&u.push(loadTexture(n.mapks,t,e,null,r,i,o).then(function(g){l.specularMap.value=g,s.add(g)}).catch(noop$1)),n.ke&&(l.emissive.value=new THREE__namespace.Color().fromArray(n.ke.rgb)),n.mapke&&u.push(loadTexture(n.mapke,t,e,null,r,i,o).then(function(g){l.emissiveMap.value=g,s.add(g)}).catch(noop$1)),n.norm&&u.push(loadTexture(n.norm,t,e,null,r,i,o).then(function(g){l.normalMap.value=g,s.add(g)}).catch(noop$1)),n.mapbump&&u.push(loadTexture(n.mapbump,t,e,null,r,i,o).then(function(g){l.bumpMap.value=g,s.add(g)}).catch(noop$1)),n.bump&&u.push(loadTexture(n.bump,t,e,null,r,i,o).then(function(g){l.bumpMap.value=g,s.add(g)}).catch(noop$1)),typeof n.ns=="number"&&(l.shininess.value=n.ns),typeof n.d=="number"){var v=n.d;v>0&&v<1&&(c.opacity=v)}return c.floor=0,c.defines.USE_VERTEX_FLOOR=!1,{material:c,textureReady:Promise.all(u).then(noop$1)}}function fromProtoBuf(n){return Model$1.decode(n).meshes}function parse$1(n,t,e,r){for(var i=[],o=[],s=new Set,u=fromProtoBuf(n),c=new TextureLoader,l=new THREE__namespace.Matrix4,d=new THREE__namespace.Vector3,f=new THREE__namespace.Quaternion,m=new THREE__namespace.Vector3,p={},A=0,v=u;A<v.length;A++){var g=v[A],h=g.name,y=g.chunks,b=g.matrix;if(!(h==="Ceiling"||h==="CeilingDrop"))for(var E=0,T=b;E<T.length;E++){var x=T[E];l.elements=x.elements;var _=new THREE__namespace.Group;_.renderOrder=-4;for(var w=0;w<y.length;w++){var S=parseGeometry(y[w].geometry);S.applyMatrix4(l),l.decompose(d,f,m),m.x*m.y*m.z<0&&S.attributes.normal&&S.attributes.position&&S.attributes.uv&&flipBufferGeometryNormals(S),s.add(S);for(var M=[],C=0,I=y[w].material;C<I.length;C++){var B=I[C],F=parseMaterial(B,t||"",e,c,r,p,s),L=F.material,k=F.textureReady;o.push(k),M.push(L)}var O=new PBMMesh(S,M);O.name="chunk_"+w,O.matrix.compose(O.position,O.quaternion,O.scale),O.matrixAutoUpdate=!1,O.frustumCulled=!1,O.renderOrder=-1e3,_.add(O)}_.name=h,i.push(_)}}var D=Promise.all(o).catch(noop$1),Q=function(N){return Promise.resolve()};return{createAt:0,description:"",objects:i,texturePromise:D,updateTexture:Q,dispose:function(){s.forEach(function(N){N.dispose()}),s.clear()}}}function loadDomez(n,t){var e={byteLength:0};return Promise.resolve().then(function(){return t.fetcher.ajax(n,{responseType:"arraybuffer"})}).then(function(r){return e.byteLength=r.body.byteLength,lzma(r.body)}).then(function(r){var i=r.reduce(function(u,c){return u+c.length},0),o=new Uint8Array(i),s=0;return r.forEach(function(u){o.set(u,s),s+=u.length}),o}).then(function(r){return parse$1(r,t.textureBaseUri||"",t.textureOptions,t.fetcher)}).then(function(r){var i=new THREE__namespace.Group;i.renderOrder=-4,i.name=n;for(var o=0,s=r.objects;o<s.length;o++){var u=s[o];i.add(u)}return r.texturePromise.then(function(){return{type:"domez",uri:n,byteLength:e.byteLength,object:i,dispose:function(){return r.dispose()}}})})}var ROTATE_X_MATRIX=new THREE__namespace.Matrix4().fromArray([1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1]);function loadGlb(n,t){var e=0;return Promise.resolve().then(function(){return t.fetcher.ajax(n,{responseType:"arraybuffer"}).then(function(r){return e=r.body.byteLength,r.body})}).then(function(r){var i;return parseGltf(r,{copyUV2:!1,addonExtensions:["PBM_mesh"],resourcePath:n.slice(0,n.lastIndexOf("/")+1),search:(i=n.split("?")[1])!==null&&i!==void 0?i:"",fetcher:t.fetcher})}).then(function(r){var i=new THREE__namespace.Matrix4;if(t.upAxis!=="Z"&&i.premultiply(ROTATE_X_MATRIX),r.CESIUM_RTC){var o=new THREE__namespace.Matrix4().setPosition(r.CESIUM_RTC.center);i.premultiply(o)}var s=r.scene;return s.applyMatrix4(i),{type:"glb",uri:n,byteLength:e,object:s,dispose:function(){return r.dispose()}}})}var scratchVector3$2=new THREE__namespace.Vector3,scratchMatrix4$2=new THREE__namespace.Matrix4,refineTimeInterval=30;function attachFloor(n,t){var e=t.tileset.properties.floorInfo;n.traverse(function(r){if("floor"in t.extras)r instanceof PBMMesh?(r.material.forEach(function(y){y.floor=t.extras.floor}),r.renderOrder=-1e3+t.extras.floor):r instanceof PBMPointCloud&&(r.material.floor=t.extras.floor,r.renderOrder=-1e3+t.extras.floor);else if((r instanceof PBMMesh||r instanceof PBMPointCloud)&&e){var i=r.geometry.index,o=r.geometry.getAttribute("position"),s=0,u=new Float32Array(o.count);if(e)if(i){for(var c=0,l=i.count,d=0;d<l;d++){var g=i.array[d];scratchVector3$2.set(o.array[g*3+0],o.array[g*3+1],o.array[g*3+2]),scratchVector3$2.applyMatrix4(r.matrixWorld);var f=scratchVector3$2.y;u[g]=0;for(var m=0;m<e.length;m++){var h=e[m],A=h.ground,v=h.height;if(f<A+v){u[g]=m;break}}c+=u[g]}s=c/l}else{for(var c=0,l=o.count,d=0;d<l;d++){scratchVector3$2.set(o.array[d*3+0],o.array[d*3+1],o.array[d*3+2]),scratchVector3$2.applyMatrix4(r.matrixWorld);var f=scratchVector3$2.y;u[d]=0;for(var m=0;m<e.length;m++){var p=e[m],A=p.ground,v=p.height;if(f<A+v){u[d]=m;break}}c+=u[d]}s=c/l}r.renderOrder=-1e3+s,r.geometry.setAttribute("floor",new THREE__namespace.BufferAttribute(u,1)),Array.isArray(r.material)?r.material.forEach(function(y){y.defines.USE_VERTEX_FLOOR=!0,y.needsUpdate=!0}):(r.material.defines.USE_VERTEX_FLOOR=!0,r.material.needsUpdate=!0)}})}var Tile3DModel=function(n){__extends(t,n);function t(e,r,i){var o,s,u,c,l=n.call(this)||this;l.model=e,l.search=(o=i.search)!==null&&o!==void 0?o:"",l.unloadTileQueue=[],l.boundingBox=new THREE__namespace.Box3,l.idle=!1,l.minLevelOfDetail=t.DEFAULT_MIN_LEVEL_OF_DETAIL,l.maxLevelOfDetail=t.DEFAULT_MAX_LEVEL_OF_DETAIL,l.needsRefined=!0,l.refined=!1,l.refineProgress=[0,0],l.loaded=!1,l.disposed=!1,l.needsRender=!0,l.matrixAutoUpdate=!1,l.renderOrder=-4,l.lastRefineTime=-1,l.nodes=new Map,l.nodeGroup=new THREE__namespace.Group,l.nodeGroup.matrixAutoUpdate=!1,l.nodeGroup.renderOrder=-4,l.add(l.nodeGroup),l.debugBoundings=new Map,l.debugBoundingGroup=new THREE__namespace.Group,l.debugBoundingGroup.visible=!1,l.debugBoundingGroup.matrixAutoUpdate=!1,l.debugBoundingGroup.renderOrder=-4,l.add(l.debugBoundingGroup),l.cacheCameras=[];var d=normalizeTilesetHeader(r,(s=i.resourcePath)!==null&&s!==void 0?s:"");return l.tileset=new Tileset((c=(u=l.model.work)===null||u===void 0?void 0:u.workCode)!==null&&c!==void 0?c:"",d,{contentLoader:function(f){return l.loadContent(f,{fetcher:i.fetcher})},onTileLoad:function(){},onTileUnload:function(f){l.unloadTileQueue.push(f)},onTileError:function(f,m){i.onError&&i.onError(Object.assign(m,{error:m})),console.error("Tile error",f.id,m)}}),l.tileset.root.boundingVolume&&l.tileset.root.boundingVolume.getBoundingBox(l.boundingBox),l}return Object.defineProperty(t.prototype,"debug",{get:function(){return this.debugBoundingGroup.visible},set:function(e){this.debugBoundingGroup.visible!==e&&(this.debugBoundingGroup.visible=e,this.needsRender=!0)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxMemoryUsage",{get:function(){return this.tileset.maxMemoryUsage},set:function(e){this.tileset.maxMemoryUsage=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxRequests",{get:function(){return this.tileset.maxRequests},set:function(e){this.tileset.maxRequests=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxScreenSpaceError",{get:function(){return this.tileset.maxScreenSpaceError},set:function(e){this.tileset.maxScreenSpaceError=e},enumerable:!1,configurable:!0}),t.prototype.loadContent=function(e,r){var i=this;if(!e.content)return Promise.resolve(!1);var o=e.content,s=appendSearch(o.uri,this.search);if(e.type==="TILESET"){var u=imageURL(s,{key:"model.".concat(e.siblingIndex)});return r.fetcher.ajax(u,{responseType:"text"}).then(function(c){return c.body}).then(function(c){var l=u.slice(0,u.lastIndexOf("/")+1);return normalizeTilesetHeader(JSON.parse(c),l)}).then(function(c){return e.geometricError=c.geometricError,e.children.length===0&&(e.children=[new Tile("".concat(e.id,".0"),c.root,e.tileset,e)]),!0})}return e.type==="SCENEGRAPH"?Promise.resolve().then(function(){var c,l,d,f,m,p,A,v,g,h,y="",b=s.split("#"),E=b[0],T=b[1],x=(T||E).split("?")[0].match(/\.([0-9a-zA-Z]+)$/);if(x&&(y=x[1]),y==="b3dm"){var _=imageURL(s,{key:"model.".concat(e.siblingIndex)});return loadB3dm(_,{upAxis:e.tileset.asset.gltfUpAxis,fetcher:r.fetcher}).then(function(w){return w.object.applyMatrix4(e.transform),w.object.updateWorldMatrix(!1,!0),w.object.matrixAutoUpdate=!1,attachFloor(w.object,e),w})}if(y==="pnts"){var _=imageURL(s,{key:"model.".concat(e.siblingIndex)});return loadPnts(_,{fetcher:r.fetcher,computeBoundingBox:!1}).then(function(S){if(S.object.applyMatrix4(e.transform),S.object.updateWorldMatrix(!1,!0),S.object.matrixAutoUpdate=!1,e.boundingVolume){var M=e.boundingVolume;S.object.traverse(function(C){if(C instanceof PBMPointCloud){scratchMatrix4$2.getInverse(C.matrixWorld);var I=new THREE__namespace.Box3;M.getBoundingBox(I),I.applyMatrix4(scratchMatrix4$2),C.geometry.boundingBox=I}})}return S})}if(y==="glb"){var _=imageURL(s,{key:"model.".concat(e.siblingIndex)});return loadGlb(_,{upAxis:e.tileset.asset.gltfUpAxis,fetcher:r.fetcher}).then(function(S){return S.object.applyMatrix4(e.transform),S.object.updateWorldMatrix(!1,!0),S.object.matrixAutoUpdate=!1,attachFloor(S.object,e),S})}if(y==="at3d"){var _=e.extras.at3d?s:imageURL(s,{key:"model.".concat(e.siblingIndex)});return loadAt3d(_,{textureBaseUri:(c=e.extras.at3d)===null||c===void 0?void 0:c.textureBaseUri,textureArray:(l=e.extras.at3d)===null||l===void 0?void 0:l.textureArray,textureOptions:(d=e.extras.at3d)===null||d===void 0?void 0:d.textureOptions,fetcher:r.fetcher}).then(function(S){return S.object.applyMatrix4(e.transform),S.object.updateWorldMatrix(!1,!0),S.object.matrixAutoUpdate=!1,S})}if(y==="pbm"){var _=e.extras.pbm?s:imageURL(s,{key:"model.".concat(e.siblingIndex)});return loadPbm(_,{textureBaseUri:(f=e.extras.pbm)===null||f===void 0?void 0:f.textureBaseUri,textureArray:(m=e.extras.pbm)===null||m===void 0?void 0:m.textureArray,textureOptions:(p=e.extras.pbm)===null||p===void 0?void 0:p.textureOptions,fetcher:r.fetcher}).then(function(S){return S.object.applyMatrix4(e.transform),S.object.updateWorldMatrix(!1,!0),S.object.matrixAutoUpdate=!1,S})}if(y==="dome"){var _=e.extras.dome?s:imageURL(s,{key:"model.".concat(e.siblingIndex)});return loadDome(_,{textureBaseUri:(A=e.extras.dome)===null||A===void 0?void 0:A.textureBaseUri,textureOptions:(v=e.extras.dome)===null||v===void 0?void 0:v.textureOptions,fetcher:r.fetcher}).then(function(S){return S.object.applyMatrix4(e.transform),S.object.updateWorldMatrix(!1,!0),S.object.matrixAutoUpdate=!1,S})}if(y==="domez"){var _=e.extras.domez?s:imageURL(s,{key:"model.".concat(e.siblingIndex)});return loadDomez(_,{textureBaseUri:(g=e.extras.domez)===null||g===void 0?void 0:g.textureBaseUri,textureOptions:(h=e.extras.domez)===null||h===void 0?void 0:h.textureOptions,fetcher:r.fetcher}).then(function(S){return S.object.applyMatrix4(e.transform),S.object.updateWorldMatrix(!1,!0),S.object.matrixAutoUpdate=!1,S})}}).then(function(c){if(!c)return Promise.resolve(!1);c.object.traverse(function(d){if(d instanceof PBMPointCloud)d.material.uniforms.geometricError.value=e.geometricError;else if(d instanceof PBMMesh)for(var f=0,m=d.material;f<m.length;f++){var p=m[f];p.uniforms.geometricError.value=e.geometricError}});var l={type:c.type,uri:c.uri,byteLength:c.byteLength,object:new TileNode(c.object,c.dispose)};return l.object.generateBvhTree().then(function(){return l})}).then(function(c){if(!c)return!1;if(i.disposed)return c.object.dispose(),o.data=void 0,o.byteLength=0,!1;if(c.object.traverse(function(d){(d instanceof PBMPointCloud||d instanceof PBMMesh)&&(d.model=i.model)}),o.data=c,o.byteLength=c.byteLength,c.object.traverse(function(d){d.renderOrder>-4&&(d.renderOrder=-4)}),c.object.visible=!1,i.boundingBox.expandByObject(c.object),i.nodes.set(e.id,c.object),i.nodeGroup.add(c.object),e.boundingVolume){var l=createDebugBoundingMesh(e.boundingVolume,e.state.selectionDepth);l.matrixWorldNeedsUpdate=!0,l.matrixAutoUpdate=!1,l.frustumCulled=!1,l.visible=!1,i.debugBoundings.set(e.id,l),i.debugBoundingGroup.add(l)}return!0}):Promise.resolve(!1)},t.prototype.intersectRaycaster=function(e,r,i){r===void 0&&(r=!0),i===void 0&&(i=[]);for(var o=[this.tileset.root],s=this.tileset.transform,u;u=o.pop();){var c=void 0;if(u.boundingVolume){var l=u.boundingVolume.clone().applyMatrix4(s);c=l.intersectRay(e.ray,e.far)}else c=!0;if(c){for(var d=0,f=u.children.length;d<f;d++)o.push(u.children[d]);u.selected&&u.content&&u.content.data&&u.content.data.object.intersectRaycaster(e,!1,i)}}return r&&i.sort(function(m,p){return m.distance-p.distance}),i},t.prototype.update=function(e,r){var i=this;this.tileset.transform.equals(this.matrixWorld)||this.tileset.transform.copy(this.matrixWorld);var o=now();if(this.needsRefined&&o-this.lastRefineTime>refineTimeInterval){this.lastRefineTime=o,this.tileset.cache.reset(),this.tileset.frameNumber++;var s=this.visible&&(this.parent?this.parent.visible:!0),u={camera:{position:new THREE__namespace.Vector3().copy(r.position),direction:r.getDirection(new THREE__namespace.Vector3),up:new THREE__namespace.Vector3().copy(r.up),visible:r.visible,refine:r.refineModel},minLevelOfDetail:s?this.minLevelOfDetail:-1,maxLevelOfDetail:s?this.idle?0:this.maxLevelOfDetail:-1,height:r.resolution.height,pixelRatio:r.pixelRatio,frameNumber:this.tileset.frameNumber,sseDenominator:2*Math.tan(.5*r.fov/180*Math.PI),cullingVolume:new CullingVolume().setFromCamera(r)},c=this.cacheCameras.map(function(p){return __assign(__assign({},u),{camera:{position:new THREE__namespace.Vector3().copy(p.position),direction:p.getWorldDirection(new THREE__namespace.Vector3),up:new THREE__namespace.Vector3().copy(p.up),visible:p.visible,refine:!0},cullingVolume:new CullingVolume().setFromCamera(p)})});this.tileset.traverse(u,c),this.refined=!0,this.refineProgress[0]=0,this.refineProgress[1]=0,this.tileset.needsRefinedTiles.forEach(function(p){if(i.refineProgress[1]++,p.content&&p.state.visible){var A=p.content.loadState;if(A==="UNLOADED"||A==="LOADING"){i.refined=!1;return}}i.refineProgress[0]++}),this.loaded===!1&&(this.loaded=!0,this.tileset.needsRefinedTiles.forEach(function(p){if(i.loaded!==!1&&p.content&&p.state.visible&&p.state.selectionDepth===0){var A=p.content.loadState;(A==="UNLOADED"||A==="LOADING")&&(i.loaded=!1)}}))}for(var l,d;d=this.unloadTileQueue.pop();){var f=d.id,m=d.content;l=this.nodes.get(f),l&&(this.nodeGroup.remove(l),this.nodes.delete(f),this.needsRender=!0),l=this.debugBoundings.get(f),l&&(this.debugBoundingGroup.remove(l),this.debugBoundings.delete(f),this.needsRender=!0),m&&m.data&&(m.byteLength=0,m.data.object.dispose(),m.data=void 0)}this.tileset.tiles.forEach(function(p){var A=p.selected,v=p.id;l=i.nodes.get(v),l&&l.visible!==A&&(l.visible=A,i.needsRender=!0),l=i.debugBoundings.get(v),l&&l.visible!==A&&(l.visible=A,i.needsRender=!0)})},t.prototype.dispose=function(){var e=this;this.disposed=!0,this.tileset.reset();for(var r,i;r=this.unloadTileQueue.pop();){var o=r.id,s=r.content;i=this.nodes.get(o),i&&(this.nodeGroup.remove(i),this.nodes.delete(o),this.needsRender=!0),i=this.debugBoundings.get(o),i&&(this.debugBoundingGroup.remove(i),this.debugBoundings.delete(o),this.needsRender=!0),s&&s.data&&(s.data.object.dispose(),s.data=void 0,s.byteLength=0)}this.nodes.forEach(function(u,c,l){e.nodeGroup.remove(u),u.dispose(),l.delete(c)})},t.DEFAULT_MIN_LEVEL_OF_DETAIL=-1,t.DEFAULT_MAX_LEVEL_OF_DETAIL=20,t.DEFAULT_MAX_MEMORY_USAGE=16,t.DEFAULT_MAX_SCREEN_SPACE_ERROR=Tileset.DEFAULT_MAX_SCREEN_SPACE_ERROR,t.DEFAULT_MAX_REQUESTS=Tileset.DEFAULT_MAX_REQUESTS,t}(THREE__namespace.Object3D);function clamp(n,t,e){return n<t?t:n>e?e:n}function headingToLongitude(n){return-((n-.25)*360+90)/180*Math.PI}function equal(n,t){if(n===t)return!0;if(n&&t&&typeof n=="object"&&typeof t=="object"){if(n.constructor!==t.constructor)return!1;var e,r,i;if(Array.isArray(n)){if(e=n.length,e!=t.length)return!1;for(r=e;r--!==0;)if(!equal(n[r],t[r]))return!1;return!0}if(n.constructor===RegExp)return n.source===t.source&&n.flags===t.flags;if(n.valueOf!==Object.prototype.valueOf)return n.valueOf()===t.valueOf();if(n.toString!==Object.prototype.toString)return n.toString()===t.toString();if(i=Object.keys(n),e=i.length,e!==Object.keys(t).length)return!1;for(r=e;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return!1;for(r=e;r--!==0;){var o=i[r];if(!equal(n[o],t[o]))return!1}return!0}return n!==n&&t!==t}function isNumber(n){return typeof n=="number"}function isPowerOfTwo(n){return(n&n-1)===0&&n!==0}var error_invalid_input=function(){return new Error("Invalid input.")},error_invalid_certificate=function(){return new Error("Invalid certificate.")},error_invalid_signature=function(){return new Error("Invalid signature.")},error_date_expired=function(n){return new Error("date(".concat(n.toString(),") expired."))},error_host_not_allowed=function(n){return new Error("host(".concat(JSON.stringify(n),") is not allowed."))};function ObjectOmit(n,t){for(var e={},r=0,i=Object.keys(n);r<i.length;r++){var o=i[r];t.indexOf(o)===-1&&(e[o]=n[o])}return e}function jsonStableNoneNumberStrinfiy_(n,t){t===void 0&&(t=!1);var e=typeof n;if(e==="string")return JSON.stringify(n);if(n===!0)return"true";if(n===!1)return"false";if(n===null)return"null";if(n instanceof Array){for(var r="[",i=n.length-1,o=0;o<i;o++)r+=jsonStableNoneNumberStrinfiy_(n[o],!1)+",";return i>-1&&(r+=jsonStableNoneNumberStrinfiy_(n[o],!1)),r+"]"}if(n instanceof Object){if(typeof n.toJSON=="function")return jsonStableNoneNumberStrinfiy_(n.toJSON(),t);for(var s=Object.keys(n).sort(),u=s.length,r="",o=0;o<u;){var c=s[o],l=jsonStableNoneNumberStrinfiy_(n[c],!0);l!==void 0&&(o&&r!==""&&(r+=","),r+=JSON.stringify(c)+":"+l),o++}return"{"+r+"}"}switch(e){case"function":case"undefined":return t?void 0:null;case"number":return 0;default:return isFinite(n)?n:null}}function jsonStableNoneNumberStrinfiy(n){return String(jsonStableNoneNumberStrinfiy_(n,!1))}function verify(n){var t,e,r;if(Array.isArray(n)){var i=void 0,o,s;if(n.length<=0)return error_invalid_input();for(var u=function(T){var x=verify(n[T]);if(x instanceof Error)return{value:x};if(!i)i=x.issuer;else if(i!==x.issuer)return{value:error_invalid_certificate()};o?x.expire.getTime()<o.getTime()&&(o=x.expire):o=x.expire,s?s=s.filter(function(_){return x.allowHosts.indexOf(_)!==-1}):s=x.allowHosts},c=0;c<n.length;c++){var l=u(c);if(typeof l=="object")return l.value}return deepFreeze({issuer:i,expire:o,allowHosts:s})}var d=JSON.parse(n),f=typeof location!="undefined"?location.hostname:"",m=Date.now();if(typeof d!="object")return error_invalid_input();var p=new Date(typeof d.expire_at=="string"&&/^\d+$/.test(d.expire_at)?Number(d.expire_at):d.expire_at),A=Array.isArray(d.allow_hosts)?d.allow_hosts:[];if(f.length===0||isIPDomain(f)||BUILDIN_ALLOW_HOST.filter(function(T){return matchDomain(T,f)}).length>0){var v=String((t=d.certificate)!==null&&t!==void 0?t:"");if(v){var g=new X509;return g.readCertPEM(v),deepFreeze({issuer:g.getSubjectString(),expire:p,allowHosts:A})}return deepFreeze({issuer:"none",expire:p,allowHosts:A})}var h=String((e=d.certificate)!==null&&e!==void 0?e:"");if(!h)return error_invalid_certificate();var y=new X509;y.readCertPEM(h);var b=String((r=d._signature)!==null&&r!==void 0?r:"");if(!b)return error_invalid_signature();var E=jsonStableNoneNumberStrinfiy(ObjectOmit(d,["_signature"]));return verifyMessage(E,b,y)===!1?error_invalid_signature():m<p.getTime()?A.filter(function(T){return matchDomain(T,f)}).length===0?error_host_not_allowed(f):deepFreeze({issuer:y.getSubjectString(),expire:p,allowHosts:A}):error_date_expired(p)}var scratchMatrix4$1=new THREE__namespace.Matrix4,workRawMapping=new WeakMap,Work=function(){function n(t,e){this.name="",this.workCode="",this.expire=new Date,this.allowHosts=[],this.initial={work:this},this.observers=[],this.issuer="none",this.raw={works:[""],options:""},this.transform=new THREE__namespace.Matrix4;{var r=this;this.options={get transform(){return r.transform},set transform(o){r.transform.copy(o)}}}var i=parse(t,e,this);if(i instanceof Error)throw new Error("[PARSE FAILED]: "+i.message+`
|
|
929
929
|
Error work input:
|
|
930
|
-
`+JSON.stringify(t))}return n.prototype.toJSON=function(){return this.raw},n.parse=parseWork,n}();function getType(n){return n==null?"null":Array.isArray(n)?"array":typeof n=="object"?"dict":"value"}function deepMerge(n,t){var e=getType(n),r=getType(t);if(r==="null")return n;if(r==="value")return t;if(r!==e)return JSON.parse(JSON.stringify(t));if(r==="array")for(var i=0;i<t.length;i++)n[i]=deepMerge(n[i],t[i]);else if(r==="dict")for(var o in t)n[o]=deepMerge(n[o],t[o]);return n}function startWithString(n,t){return n.indexOf(t)===0}function urlWithParseOptions(n,t,e,r){var i,o=t;if(r.jsonp===!0){o=t.replace(/([\?\#].*)?$/i,"");var s=sha256("".concat(o)).slice(0,7);o="".concat(o,".").concat(s,".jsonp")}if(r.shortPath===!0){var u=o.replace(n,"").split("."),l=(i=u.shift())!==null&&i!==void 0?i:"",c=u.join(".");o=pathJoin(n,sha256(l))+(c?"."+c:"")}var d=o.replace(n,"");return r.baseURL&&(o=pathJoin(r.baseURL,d)),r.traverseResource&&r.traverseResource({origin:t,absolute:o,relative:d,type:e}),o}function panoURL(n,t,e,r,i){var o=e;return isAbsoluteURL(e)||(t&&(t=pathJoin(t,String(r))),o=pathJoin(t,o)),isAbsoluteURL(o)||(o=pathJoin(n,o)),startWithString(o,n)||console.warn("".concat(o," is not start with base_url(").concat(n,").")),urlWithParseOptions(n,o,"panorama",i)}function fileURL(n,t,e){var r=t;return isAbsoluteURL(r)||(r=pathJoin(n,t)),startWithString(r,n)||console.warn("".concat(r," is not start with base_url(").concat(n,").")),urlWithParseOptions(n,r,"model",e)}function textureURL$1(n,t,e,r){var i=t;return isAbsoluteURL(i)||(i=pathJoin(e,i)),isAbsoluteURL(i)||(i=pathJoin(n,i)),startWithString(i,n)||console.warn("".concat(i," is not start with base_url(").concat(n,").")),urlWithParseOptions(n,i,"texture",r)}function parse(n,t,e){for(var r,i,o,s,u,l,c,d,f,v,p,A,m,y,h,g,b,E,T=JSON.stringify(t),_=[],x=0,w=[].concat(n);x<w.length;x++){var S=w[x];S instanceof Work?_.push.apply(_,S.raw.works):typeof S=="string"?_.push(S):_.push(JSON.stringify(S))}var C=verify(_);if(C instanceof Error)return C;var R={transform:new THREE__namespace.Matrix4};typeof t.debug!="undefined"&&(R.debug=t.debug),t.transform&&(Array.isArray(t.transform)?R.transform.fromArray(t.transform):R.transform.copy(t.transform)),t.viewerRequestVolume&&("clone"in t.viewerRequestVolume?R.viewerRequestVolume=t.viewerRequestVolume.clone():R.viewerRequestVolume=makeBoundingVolume(t.viewerRequestVolume)),typeof t.modelMinLevelOfDetail!="undefined"&&t.modelMinLevelOfDetail>=0&&(R.modelMinLevelOfDetail=t.modelMinLevelOfDetail),typeof t.modelMaxLevelOfDetail!="undefined"&&t.modelMaxLevelOfDetail>=0&&(R.modelMaxLevelOfDetail=t.modelMaxLevelOfDetail),typeof t.modelMaxRequests!="undefined"&&t.modelMaxRequests>=0&&(R.modelMaxRequests=t.modelMaxRequests),typeof t.modelMaxMemoryUsage!="undefined"&&t.modelMaxMemoryUsage>=0&&(R.modelMaxMemoryUsage=t.modelMaxMemoryUsage),typeof t.modelMaxScreenSpaceError!="undefined"&&t.modelMaxScreenSpaceError>=0&&(R.modelMaxScreenSpaceError=t.modelMaxScreenSpaceError),Object.defineProperty(e,"options",{configurable:!1,get:function(){return R}}),n=_.map(function(Z){return JSON.parse(Z)}).reduce(function(Z,ee){return deepMerge(Z,ee)}),Object.defineProperty(e,"raw",{configurable:!1,get:function(){return{works:_,options:T}}});{var I;if(t.workCode&&(typeof t.workCode=="string"?I=t.workCode:typeof t.workCode=="function"&&(I=t.workCode(n))),typeof I=="undefined"&&(I=String(n.resource_code||n.basic_code||n.vr_code||n.code||n.project_id||n.work_code||n.workCode)),typeof I=="undefined")return new Error("WorkCode never matched.");Object.defineProperty(e,"workCode",{configurable:!1,get:function(){return I}})}{var B=String(n.name);Object.defineProperty(e,"name",{configurable:!1,get:function(){return B}})}if(C instanceof Error)return C;Object.defineProperty(e,"issuer",{configurable:!1,get:function(){return C.issuer}}),Object.defineProperty(e,"expire",{configurable:!1,get:function(){return C.expire}}),Object.defineProperty(e,"allowHosts",{configurable:!1,get:function(){return C.allowHosts}});var F=(r=n.base_url)!==null&&r!==void 0?r:"";if(F&&F[F.length-1]!=="/"&&(F+="/"),C instanceof Error)return C;if(n.model){var L={work:e,layers:[]},O;n.model.file?O=fileURL(F,n.model.file,t):n.model.file_url&&(O=fileURL(F,n.model.file_url,t)),Object.defineProperty(L,"file",{configurable:!1,get:function(){return O}});var k;n.model.textureBase?k=textureURL$1(F,"",n.model.textureBase,t):n.model.material_base_url?k=textureURL$1(F,"",n.model.material_base_url,t):L.file&&(k=L.file.split("/").slice(0,-1).join("/").replace("/model/","/materials/")),Object.defineProperty(L,"textureBase",{configurable:!1,get:function(){return k}});var Q;Array.isArray(n.model.textures)?(Q=n.model.textures.map(function(Z){var ee,z;return textureURL$1(F,Z,(z=(ee=n.model.textureBase)!==null&&ee!==void 0?ee:n.model.material_base_url)!==null&&z!==void 0?z:"",t)}),Object.freeze(Q)):Array.isArray(n.model.material_textures)&&(Q=n.model.material_textures.map(function(Z){var ee,z;return textureURL$1(F,Z,(z=(ee=n.model.textureBase)!==null&&ee!==void 0?ee:n.model.material_base_url)!==null&&z!==void 0?z:"",t)}),Object.freeze(Q)),Object.defineProperty(L,"textures",{configurable:!1,get:function(){return Q}});var U=[];if(Array.isArray(n.model.tiles))for(var N=0,G=n.model.tiles;N<G.length;N++){var K=G[N];K&&(K.tileset||K.tileset_url)&&U.push(Object.freeze({type:(i=K.type)!==null&&i!==void 0?i:"mesh",name:(o=K.name)!==null&&o!==void 0?o:"",upAxis:(u=(s=K.upAxis)!==null&&s!==void 0?s:K.up_axis)!==null&&u!==void 0?u:"-Y",tileset:fileURL(F,K.tileset||K.tileset_url,t)}))}else n.model.tiles&&(n.model.tiles.tileset||n.model.tiles.tileset_url)&&U.push(Object.freeze({type:(l=n.model.tiles.type)!==null&&l!==void 0?l:"mesh",name:(c=n.model.tiles.name)!==null&&c!==void 0?c:"lod",upAxis:(f=(d=n.model.tiles.upAxis)!==null&&d!==void 0?d:n.model.tiles.up_axis)!==null&&f!==void 0?f:"-Y",tileset:fileURL(F,n.model.tiles.tileset||n.model.tiles.tileset_url,t)}));if(Array.isArray(n.model.layers))for(var X=0,D=n.model.layers;X<D.length;X++){var W=D[X];W&&(W.tileset||W.tileset_url)&&U.push(Object.freeze({type:(v=W.type)!==null&&v!==void 0?v:"mesh",name:(p=W.name)!==null&&p!==void 0?p:"",upAxis:(A=W.upAxis)!==null&&A!==void 0?A:W.up_axis,tileset:fileURL(F,W.tileset||W.tileset_url,t)}))}Object.freeze(U),Object.defineProperty(L,"layers",{configurable:!1,get:function(){return U}}),Object.defineProperty(e,"model",{configurable:!1,get:function(){if(L.file||L.layers.length)return L}})}if(C instanceof Error)return C;{var q=[];if(n.observers&&Array.isArray(n.observers)){var ae=[];n.panorama&&(Array.isArray(n.panorama)?ae=n.panorama:Array.isArray(n.panorama.list)?ae=n.panorama.list:Array.isArray(n.panorama.info)&&(ae=n.panorama.info));for(var Y=function(Z){var ee={},z=n.observers[Z];if(!z)return"break";var de=ae[Z];if(!de)return"break";z=Object.assign({},z,de,{active:z.active!==!1&&de.active!==!1}),Object.defineProperty(ee,"work",{configurable:!1,get:function(){return e}}),Object.defineProperty(ee,"index",{configurable:!1,get:function(){return Z}}),Object.defineProperty(ee,"panoIndex",{configurable:!1,get:function(){return Z}});var ce=panoStringify({workCode:e.workCode,panoIndex:Z});Object.defineProperty(ee,"panoId",{configurable:!1,get:function(){return ce}});var ye=Object.freeze({workCode:e.workCode,panoIndex:Z});Object.defineProperty(ee,"pano",{configurable:!1,get:function(){return ye}});var Te=z.active!==!1;Object.defineProperty(ee,"active",{configurable:!1,get:function(){return Te}});var _e=z.loadable===!0;Object.defineProperty(ee,"loadable",{configurable:!1,get:function(){return _e}});var we=z.derived_id;Object.defineProperty(ee,"derivedId",{configurable:!1,get:function(){return we}});var ve=z.derived_id_str;Object.defineProperty(ee,"derivedIdStr",{configurable:!1,get:function(){return ve}});var ue=(E=(g=(y=(m=n.panorama)===null||m===void 0?void 0:m.pano_high_cube_base_url)!==null&&y!==void 0?y:(h=n.panorama)===null||h===void 0?void 0:h.pano_cube_base_url)!==null&&g!==void 0?g:(b=n.panorama)===null||b===void 0?void 0:b.base_url)!==null&&E!==void 0?E:"",le={up:panoURL(F,ue,z.images?z.images.up:z.up,Z,t),down:panoURL(F,ue,z.images?z.images.down:z.down,Z,t),right:panoURL(F,ue,z.images?z.images.right:z.right,Z,t),left:panoURL(F,ue,z.images?z.images.left:z.left,Z,t),front:panoURL(F,ue,z.images?z.images.front:z.front,Z,t),back:panoURL(F,ue,z.images?z.images.back:z.back,Z,t)},ge=z.images?z.images.luminance:z.luminance;ge&&(le.luminance=Object.freeze({up:panoURL(F,ue,ge.up,Z,t),down:panoURL(F,ue,ge.down,Z,t),right:panoURL(F,ue,ge.right,Z,t),left:panoURL(F,ue,ge.left,Z,t),front:panoURL(F,ue,ge.front,Z,t),back:panoURL(F,ue,ge.back,Z,t)}));var fe=z.images?z.images.tiles:z.tiles;if(fe){for(var Ae=[],be=function(Se){var Ue=Se.match(/\/cube_(\d+)\//);if(Ue){var at=Number(Ue[1]);if(isPowerOfTwo(at))return at}return!1},Ee=function(Se,Ue){return Se.replace(/\/cube_(\d+)\//,function(){return"/cube_".concat(Ue,"/")})},Me=0,$e=fe;Me<$e.length;Me++){var Le=$e[Me];if(typeof Le=="number"){var Oe=Le,et=be(le.front);if(et===!1)continue;var Pe=Math.max(et,Math.pow(2,Oe)*512);if(Pe>2048){var Ke=Ee(le.up,Pe),De=Ee(le.down,Pe),Qe=Ee(le.right,Pe),We=Ee(le.left,Pe),je=Ee(le.front,Pe),He=Ee(le.back,Pe);Ae.push(Object.freeze({level:Oe,size:Pe,up:Ke,down:De,right:Qe,left:We,front:je,back:He}))}else{var Ke=le.up,De=le.down,Qe=le.right,We=le.left,je=le.front,He=le.back;Ae.push(Object.freeze({level:Oe,size:Pe,up:Ke,down:De,right:Qe,left:We,front:je,back:He}))}}else{var Oe=Le.level;if(typeof Oe!="number")continue;var Pe=Le.size;if(typeof Pe!="number")continue;var Ke=panoURL(F,ue,Le.up,Z,t),De=panoURL(F,ue,Le.down,Z,t),Qe=panoURL(F,ue,Le.right,Z,t),We=panoURL(F,ue,Le.left,Z,t),je=panoURL(F,ue,Le.front,Z,t),He=panoURL(F,ue,Le.back,Z,t);Ae.push(Object.freeze({level:Oe,size:Pe,up:Ke,down:De,right:Qe,left:We,front:je,back:He}))}}Ae.sort(function(Se,Ue){return Se.level-Ue.level}),Object.freeze(Ae),Object.defineProperty(le,"tiles",{configurable:!1,get:function(){return Ae}})}Object.freeze(le),Object.defineProperty(ee,"images",{configurable:!1,get:function(){return le}});var me=new THREE__namespace.Vector3;if(z.position instanceof THREE__namespace.Vector3)me.copy(z.position);else if(Array.isArray(z.position))me.fromArray(z.position);else return"break";Object.freeze(me),Object.defineProperty(ee,"position",{configurable:!1,get:function(){return me}});var Ze=new THREE__namespace.Vector3;if(z.standingPosition instanceof THREE__namespace.Vector3)Ze.copy(z.standingPosition);else if(Array.isArray(z.standingPosition))Ze.fromArray(z.standingPosition);else if(z.standing_position instanceof THREE__namespace.Vector3)Ze.copy(z.standing_position);else if(Array.isArray(z.standing_position))Ze.fromArray(z.standing_position);else return"break";Object.freeze(Ze),Object.defineProperty(ee,"standingPosition",{configurable:!1,get:function(){return Ze}});var qe=new THREE__namespace.Quaternion;if(z.quaternion instanceof THREE__namespace.Quaternion)qe.copy(z.quaternion);else if(Array.isArray(z.quaternion))qe.fromArray(z.quaternion);else if(z.quaternion){var it=z.quaternion,tt=it.x,vt=it.y,st=it.z,ut=it.w;qe.set(tt,vt,st,ut)}else return"break";Object.freeze(qe),Object.defineProperty(ee,"quaternion",{configurable:!1,get:function(){return qe}});var Ge=0;isNumber(z.floorIndex)?Ge=z.floorIndex:isNumber(z.floor_index)?Ge=z.floor_index:isNumber(z.floor)&&(Ge=z.floor),Object.defineProperty(ee,"floorIndex",{configurable:!1,get:function(){return Ge}});var Ce;z.video&&(Ce={},typeof z.video.source=="string"&&(Ce.source=z.video.source),z.video.matrix instanceof THREE__namespace.Matrix4?Ce.matrix=z.video.matrix.clone():Array.isArray(z.video.matrix)&&(Ce.matrix=new THREE__namespace.Matrix4().fromArray(z.video.matrix)),z.video.size instanceof THREE__namespace.Vector2?Ce.size=z.video.size.clone():Array.isArray(z.video.size)&&(Ce.size=new THREE__namespace.Vector2().fromArray(z.video.size)),Ce.source&&Ce.matrix&&Ce.size&&(ee.video=Ce)),Object.freeze(Ce),Object.defineProperty(ee,"video",{configurable:!1,get:function(){return Ce}}),Array.isArray(z.accessibleNodes)?(ee.accessibleNodes=z.accessibleNodes.slice(),ee.accessibleIds=z.accessibleNodes.map(function(Se){return panoStringify({workCode:e.workCode,panoIndex:Se})})):Array.isArray(z.accessible_nodes)&&(ee.accessibleNodes=z.accessible_nodes.slice(),ee.accessibleIds=z.accessible_nodes.map(function(Se){return panoStringify({workCode:e.workCode,panoIndex:Se})})),Array.isArray(z.visibleNodes)?(ee.visibleNodes=z.visibleNodes.slice(),ee.visibleIds=z.visibleNodes.map(function(Se){return panoStringify({workCode:e.workCode,panoIndex:Se})})):Array.isArray(z.visible_nodes)&&(ee.visibleNodes=z.visible_nodes.slice(),ee.visibleIds=z.visible_nodes.map(function(Se){return panoStringify({workCode:e.workCode,panoIndex:Se})})),q[Z]=ee},re=0;re<n.observers.length;re++){var $=Y(re);if($==="break")break}}for(var oe=function(Z){if(Z.accessibleIds){var de=Z.accessibleIds.filter(function(ue){return!!q.find(function(le){return le.panoId===ue})});Object.freeze(de),Object.defineProperty(Z,"accessibleIds",{configurable:!1,get:function(){return de}})}else{for(var ee=[],z=0;z<q.length;z++)q[z]!==Z&&(Math.abs(q[z].position.y-Z.position.y)>3||q[z].position.distanceTo(Z.position)>10||ee.push(q[z].panoId));Object.freeze(ee),Object.defineProperty(Z,"accessibleIds",{configurable:!1,get:function(){return ee}})}if(Z.accessibleNodes){var ye=Z.accessibleNodes.filter(function(ue){return!!q.find(function(le){return le.panoIndex===ue})});Object.freeze(ye),Object.defineProperty(Z,"accessibleNodes",{configurable:!1,get:function(){return ye}})}else{for(var ce=[],z=0;z<q.length;z++)q[z]!==Z&&(Math.abs(q[z].position.y-Z.position.y)>3||q[z].position.distanceTo(Z.position)>10||ce.push(q[z].panoIndex));Object.freeze(ce),Object.defineProperty(Z,"accessibleNodes",{configurable:!1,get:function(){return ce}})}if(Z.visibleIds){var _e=Z.visibleIds.filter(function(ue){return!!q.find(function(le){return le.panoId===ue})});Object.freeze(_e),Object.defineProperty(Z,"visibleIds",{configurable:!1,get:function(){return _e}})}else{var Te=Z.accessibleIds.slice();Object.freeze(Te),Object.defineProperty(Z,"visibleIds",{configurable:!1,get:function(){return Te}})}if(Z.visibleNodes){var ve=Z.visibleNodes.filter(function(ue){return!!q.find(function(le){return le.panoIndex===ue})});Object.freeze(ve),Object.defineProperty(Z,"visibleNodes",{configurable:!1,get:function(){return ve}})}else{var we=Z.accessibleNodes.slice();Object.freeze(we),Object.defineProperty(Z,"visibleNodes",{configurable:!1,get:function(){return we}})}},J=0,ie=q;J<ie.length;J++){var se=ie[J];oe(se)}Object.freeze(q),Object.defineProperty(e,"observers",{configurable:!1,get:function(){return q}})}if(C instanceof Error)return C;if(n.initial){if((n.initial.mode==="Panorama"&&e.observers.length===0||n.initial.mode==="Floorplan"||n.initial.mode==="Topview"||n.initial.mode==="Model"||n.initial.mode==="Mapview"||n.initial.mode==="DepthPanorama")&&(e.initial.mode=n.initial.mode),isNumber(n.initial.latitude)&&(e.initial.latitude=n.initial.latitude),isNumber(n.initial.longitude)?e.initial.longitude=n.initial.longitude:isNumber(n.initial.heading)&&(e.initial.longitude=headingToLongitude(n.initial.heading)),isNumber(n.initial.fov)&&(e.initial.fov=n.initial.fov),e.observers.length>0){var ne=void 0;isNumber(n.initial.panoIndex)?ne=n.initial.panoIndex:isNumber(n.initial.pano_index)?ne=n.initial.pano_index:isNumber(n.initial.pano)&&(ne=n.initial.pano),typeof ne=="number"&&(ne=clamp(ne,0,e.observers.length-1),e.initial.panoIndex=ne)}if(isNumber(n.initial.distance)&&(e.initial.distance=n.initial.distance),Array.isArray(n.initial.offset)){var pe=[0,0,0].map(function(Z,ee){var z=Number(n.initial.offset[ee]);return isNaN(z)||!isFinite(z)?0:z});e.initial.offset=new THREE__namespace.Vector3().fromArray(pe)}!e.initial.mode&&typeof e.initial.panoIndex=="number"&&(e.initial.mode="Panorama")}return C instanceof Error?C:(workRawMapping.set(e,{works:_,options:T}),e)}function parseWork(n,t){typeof n=="string"&&n.trim()[0]==="{"&&(n=JSON.parse(n));var e=workRawMapping.get(n);if(e){if(t&&!equal(JSON.parse(e.options),t))throw new Error("[PARSE FAILED]: work is parsed with different options.");return n}else try{return new Work(n,t!=null?t:{})}catch(r){throw new Error("[PARSE FAILED]: "+r.message+`
|
|
930
|
+
`+JSON.stringify(t))}return n.prototype.toJSON=function(){return this.raw},n.parse=parseWork,n}();function getType(n){return n==null?"null":Array.isArray(n)?"array":typeof n=="object"?"dict":"value"}function deepMerge(n,t){var e=getType(n),r=getType(t);if(r==="null")return n;if(r==="value")return t;if(r!==e)return JSON.parse(JSON.stringify(t));if(r==="array")for(var i=0;i<t.length;i++)n[i]=deepMerge(n[i],t[i]);else if(r==="dict")for(var o in t)n[o]=deepMerge(n[o],t[o]);return n}function startWithString(n,t){return n.indexOf(t)===0}function urlWithParseOptions(n,t,e,r){var i,o=t;if(r.jsonp===!0){o=t.replace(/([\?\#].*)?$/i,"");var s=sha256("".concat(o)).slice(0,7);o="".concat(o,".").concat(s,".jsonp")}if(r.shortPath===!0){var u=o.replace(n,"").split("."),c=(i=u.shift())!==null&&i!==void 0?i:"",l=u.join(".");o=pathJoin(n,sha256(c))+(l?"."+l:"")}var d=o.replace(n,"");return r.baseURL&&(o=pathJoin(r.baseURL,d)),r.traverseResource&&r.traverseResource({origin:t,absolute:o,relative:d,type:e}),o}function panoURL(n,t,e,r,i){var o=e;return isAbsoluteURL(e)||(t&&(t=pathJoin(t,String(r))),o=pathJoin(t,o)),isAbsoluteURL(o)||(o=pathJoin(n,o)),startWithString(o,n)||console.warn("".concat(o," is not start with base_url(").concat(n,").")),urlWithParseOptions(n,o,"panorama",i)}function fileURL(n,t,e){var r=t;return isAbsoluteURL(r)||(r=pathJoin(n,t)),startWithString(r,n)||console.warn("".concat(r," is not start with base_url(").concat(n,").")),urlWithParseOptions(n,r,"model",e)}function textureURL$1(n,t,e,r){var i=t;return isAbsoluteURL(i)||(i=pathJoin(e,i)),isAbsoluteURL(i)||(i=pathJoin(n,i)),startWithString(i,n)||console.warn("".concat(i," is not start with base_url(").concat(n,").")),urlWithParseOptions(n,i,"texture",r)}function parse(n,t,e){for(var r,i,o,s,u,c,l,d,f,m,p,A,v,g,h,y,b,E,T=JSON.stringify(t),x=[],_=0,w=[].concat(n);_<w.length;_++){var S=w[_];S instanceof Work?x.push.apply(x,S.raw.works):typeof S=="string"?x.push(S):x.push(JSON.stringify(S))}var M=verify(x);if(M instanceof Error)return M;Array.isArray(t.transform)?e.transform.fromArray(t.transform):t.transform&&e.transform.copy(t.transform),n=x.map(function(Z){return JSON.parse(Z)}).reduce(function(Z,J){return deepMerge(Z,J)}),Object.defineProperty(e,"raw",{configurable:!1,get:function(){return{works:x,options:T}}});{var C;if(t.workCode&&(typeof t.workCode=="string"?C=t.workCode:typeof t.workCode=="function"&&(C=t.workCode(n))),typeof C=="undefined"&&(C=String(n.resource_code||n.basic_code||n.vr_code||n.code||n.project_id||n.work_code||n.workCode)),typeof C=="undefined")return new Error("WorkCode never matched.");Object.defineProperty(e,"workCode",{configurable:!1,get:function(){return C}})}{var I=String(n.name);Object.defineProperty(e,"name",{configurable:!1,get:function(){return I}})}if(M instanceof Error)return M;Object.defineProperty(e,"issuer",{configurable:!1,get:function(){return M.issuer}}),Object.defineProperty(e,"expire",{configurable:!1,get:function(){return M.expire}}),Object.defineProperty(e,"allowHosts",{configurable:!1,get:function(){return M.allowHosts}});var B=(r=n.base_url)!==null&&r!==void 0?r:"";if(B&&B[B.length-1]!=="/"&&(B+="/"),M instanceof Error)return M;if(n.model){var F={work:e,layers:[]},L;n.model.file?L=fileURL(B,n.model.file,t):n.model.file_url&&(L=fileURL(B,n.model.file_url,t)),Object.defineProperty(F,"file",{configurable:!1,get:function(){return L}});var k;n.model.textureBase?k=textureURL$1(B,"",n.model.textureBase,t):n.model.material_base_url?k=textureURL$1(B,"",n.model.material_base_url,t):F.file&&(k=F.file.split("/").slice(0,-1).join("/").replace("/model/","/materials/")),Object.defineProperty(F,"textureBase",{configurable:!1,get:function(){return k}});var O;Array.isArray(n.model.textures)?(O=n.model.textures.map(function(Z){var J,z;return textureURL$1(B,Z,(z=(J=n.model.textureBase)!==null&&J!==void 0?J:n.model.material_base_url)!==null&&z!==void 0?z:"",t)}),Object.freeze(O)):Array.isArray(n.model.material_textures)&&(O=n.model.material_textures.map(function(Z){var J,z;return textureURL$1(B,Z,(z=(J=n.model.textureBase)!==null&&J!==void 0?J:n.model.material_base_url)!==null&&z!==void 0?z:"",t)}),Object.freeze(O)),Object.defineProperty(F,"textures",{configurable:!1,get:function(){return O}});var D=[];if(Array.isArray(n.model.tiles))for(var Q=0,N=n.model.tiles;Q<N.length;Q++){var U=N[Q];U&&(U.tileset||U.tileset_url)&&D.push(Object.freeze({type:(i=U.type)!==null&&i!==void 0?i:"mesh",name:(o=U.name)!==null&&o!==void 0?o:"",upAxis:(u=(s=U.upAxis)!==null&&s!==void 0?s:U.up_axis)!==null&&u!==void 0?u:"-Y",tileset:fileURL(B,U.tileset||U.tileset_url,t)}))}else n.model.tiles&&(n.model.tiles.tileset||n.model.tiles.tileset_url)&&D.push(Object.freeze({type:(c=n.model.tiles.type)!==null&&c!==void 0?c:"mesh",name:(l=n.model.tiles.name)!==null&&l!==void 0?l:"lod",upAxis:(f=(d=n.model.tiles.upAxis)!==null&&d!==void 0?d:n.model.tiles.up_axis)!==null&&f!==void 0?f:"-Y",tileset:fileURL(B,n.model.tiles.tileset||n.model.tiles.tileset_url,t)}));if(Array.isArray(n.model.layers))for(var W=0,q=n.model.layers;W<q.length;W++){var G=q[W];G&&(G.tileset||G.tileset_url)&&D.push(Object.freeze({type:(m=G.type)!==null&&m!==void 0?m:"mesh",name:(p=G.name)!==null&&p!==void 0?p:"",upAxis:(A=G.upAxis)!==null&&A!==void 0?A:G.up_axis,tileset:fileURL(B,G.tileset||G.tileset_url,t)}))}Object.freeze(D),Object.defineProperty(F,"layers",{configurable:!1,get:function(){return D}}),Object.defineProperty(e,"model",{configurable:!1,get:function(){if(F.file||F.layers.length)return F}})}if(M instanceof Error)return M;{var K=[];if(n.observers&&Array.isArray(n.observers)){var X=[];n.panorama&&(Array.isArray(n.panorama)?X=n.panorama:Array.isArray(n.panorama.list)?X=n.panorama.list:Array.isArray(n.panorama.info)&&(X=n.panorama.info));for(var se=function(Z){var J={},z=n.observers[Z];if(!z)return"break";var ge=X[Z];if(!ge)return"break";z=Object.assign({},z,ge,{active:z.active!==!1&&ge.active!==!1}),Object.defineProperty(J,"work",{configurable:!1,get:function(){return e}}),Object.defineProperty(J,"index",{configurable:!1,get:function(){return Z}}),Object.defineProperty(J,"panoIndex",{configurable:!1,get:function(){return Z}});var fe=panoStringify({workCode:e.workCode,panoIndex:Z});Object.defineProperty(J,"panoId",{configurable:!1,get:function(){return fe}});var ce=Object.freeze({workCode:e.workCode,panoIndex:Z});Object.defineProperty(J,"pano",{configurable:!1,get:function(){return ce}});var Ae=z.active!==!1;Object.defineProperty(J,"active",{configurable:!1,get:function(){return Ae}});var ye=z.loadable===!0;Object.defineProperty(J,"loadable",{configurable:!1,get:function(){return ye}});var Ee=z.derived_id;Object.defineProperty(J,"derivedId",{configurable:!1,get:function(){return Ee}});var we=z.derived_id_str;Object.defineProperty(J,"derivedIdStr",{configurable:!1,get:function(){return we}});var ue=(E=(y=(g=(v=n.panorama)===null||v===void 0?void 0:v.pano_high_cube_base_url)!==null&&g!==void 0?g:(h=n.panorama)===null||h===void 0?void 0:h.pano_cube_base_url)!==null&&y!==void 0?y:(b=n.panorama)===null||b===void 0?void 0:b.base_url)!==null&&E!==void 0?E:"",le={up:panoURL(B,ue,z.images?z.images.up:z.up,Z,t),down:panoURL(B,ue,z.images?z.images.down:z.down,Z,t),right:panoURL(B,ue,z.images?z.images.right:z.right,Z,t),left:panoURL(B,ue,z.images?z.images.left:z.left,Z,t),front:panoURL(B,ue,z.images?z.images.front:z.front,Z,t),back:panoURL(B,ue,z.images?z.images.back:z.back,Z,t)},pe=z.images?z.images.luminance:z.luminance;pe&&(le.luminance=Object.freeze({up:panoURL(B,ue,pe.up,Z,t),down:panoURL(B,ue,pe.down,Z,t),right:panoURL(B,ue,pe.right,Z,t),left:panoURL(B,ue,pe.left,Z,t),front:panoURL(B,ue,pe.front,Z,t),back:panoURL(B,ue,pe.back,Z,t)}));var Te=z.images?z.images.tiles:z.tiles;if(Te){for(var de=[],be=function(Me){var De=Me.match(/\/cube_(\d+)\//);if(De){var rt=Number(De[1]);if(isPowerOfTwo(rt))return rt}return!1},me=function(Me,De){return Me.replace(/\/cube_(\d+)\//,function(){return"/cube_".concat(De,"/")})},_e=0,Be=Te;_e<Be.length;_e++){var Ie=Be[_e];if(typeof Ie=="number"){var Ge=Ie,qe=be(le.front);if(qe===!1)continue;var Re=Math.max(qe,Math.pow(2,Ge)*512);if(Re>2048){var $e=me(le.up,Re),ze=me(le.down,Re),Ve=me(le.right,Re),Ue=me(le.left,Re),Ke=me(le.front,Re),je=me(le.back,Re);de.push(Object.freeze({level:Ge,size:Re,up:$e,down:ze,right:Ve,left:Ue,front:Ke,back:je}))}else{var $e=le.up,ze=le.down,Ve=le.right,Ue=le.left,Ke=le.front,je=le.back;de.push(Object.freeze({level:Ge,size:Re,up:$e,down:ze,right:Ve,left:Ue,front:Ke,back:je}))}}else{var Ge=Ie.level;if(typeof Ge!="number")continue;var Re=Ie.size;if(typeof Re!="number")continue;var $e=panoURL(B,ue,Ie.up,Z,t),ze=panoURL(B,ue,Ie.down,Z,t),Ve=panoURL(B,ue,Ie.right,Z,t),Ue=panoURL(B,ue,Ie.left,Z,t),Ke=panoURL(B,ue,Ie.front,Z,t),je=panoURL(B,ue,Ie.back,Z,t);de.push(Object.freeze({level:Ge,size:Re,up:$e,down:ze,right:Ve,left:Ue,front:Ke,back:je}))}}de.sort(function(Me,De){return Me.level-De.level}),Object.freeze(de),Object.defineProperty(le,"tiles",{configurable:!1,get:function(){return de}})}Object.freeze(le),Object.defineProperty(J,"images",{configurable:!1,get:function(){return le}});var He=new THREE__namespace.Vector3;if(z.position instanceof THREE__namespace.Vector3)He.copy(z.position);else if(Array.isArray(z.position))He.fromArray(z.position);else return"break";Object.freeze(He),Object.defineProperty(J,"position",{configurable:!1,get:function(){return He}});var ve=new THREE__namespace.Vector3;if(z.standingPosition instanceof THREE__namespace.Vector3)ve.copy(z.standingPosition);else if(Array.isArray(z.standingPosition))ve.fromArray(z.standingPosition);else if(z.standing_position instanceof THREE__namespace.Vector3)ve.copy(z.standing_position);else if(Array.isArray(z.standing_position))ve.fromArray(z.standing_position);else return"break";Object.freeze(ve),Object.defineProperty(J,"standingPosition",{configurable:!1,get:function(){return ve}});var et=new THREE__namespace.Quaternion;if(z.quaternion instanceof THREE__namespace.Quaternion)et.copy(z.quaternion);else if(Array.isArray(z.quaternion))et.fromArray(z.quaternion);else if(z.quaternion){var Xe=z.quaternion,ht=Xe.x,tt=Xe.y,pt=Xe.z,ot=Xe.w;et.set(ht,tt,pt,ot)}else return"break";Object.freeze(et),Object.defineProperty(J,"quaternion",{configurable:!1,get:function(){return et}});var Ze=0;isNumber(z.floorIndex)?Ze=z.floorIndex:isNumber(z.floor_index)?Ze=z.floor_index:isNumber(z.floor)&&(Ze=z.floor),Object.defineProperty(J,"floorIndex",{configurable:!1,get:function(){return Ze}});var Se;z.video&&(Se={},typeof z.video.source=="string"&&(Se.source=z.video.source),z.video.matrix instanceof THREE__namespace.Matrix4?Se.matrix=z.video.matrix.clone():Array.isArray(z.video.matrix)&&(Se.matrix=new THREE__namespace.Matrix4().fromArray(z.video.matrix)),z.video.size instanceof THREE__namespace.Vector2?Se.size=z.video.size.clone():Array.isArray(z.video.size)&&(Se.size=new THREE__namespace.Vector2().fromArray(z.video.size)),Se.source&&Se.matrix&&Se.size&&(J.video=Se)),Object.freeze(Se),Object.defineProperty(J,"video",{configurable:!1,get:function(){return Se}}),Array.isArray(z.accessibleNodes)?(J.accessibleNodes=z.accessibleNodes.slice(),J.accessibleIds=z.accessibleNodes.map(function(Me){return panoStringify({workCode:e.workCode,panoIndex:Me})})):Array.isArray(z.accessible_nodes)&&(J.accessibleNodes=z.accessible_nodes.slice(),J.accessibleIds=z.accessible_nodes.map(function(Me){return panoStringify({workCode:e.workCode,panoIndex:Me})})),Array.isArray(z.visibleNodes)?(J.visibleNodes=z.visibleNodes.slice(),J.visibleIds=z.visibleNodes.map(function(Me){return panoStringify({workCode:e.workCode,panoIndex:Me})})):Array.isArray(z.visible_nodes)&&(J.visibleNodes=z.visible_nodes.slice(),J.visibleIds=z.visible_nodes.map(function(Me){return panoStringify({workCode:e.workCode,panoIndex:Me})})),K[Z]=J},Y=0;Y<n.observers.length;Y++){var re=se(Y);if(re==="break")break}}for(var ee=function(Z){if(Z.accessibleIds){var ge=Z.accessibleIds.filter(function(ue){return!!K.find(function(le){return le.panoId===ue})});Object.freeze(ge),Object.defineProperty(Z,"accessibleIds",{configurable:!1,get:function(){return ge}})}else{for(var J=[],z=0;z<K.length;z++)K[z]!==Z&&(Math.abs(K[z].position.y-Z.position.y)>3||K[z].position.distanceTo(Z.position)>10||J.push(K[z].panoId));Object.freeze(J),Object.defineProperty(Z,"accessibleIds",{configurable:!1,get:function(){return J}})}if(Z.accessibleNodes){var ce=Z.accessibleNodes.filter(function(ue){return!!K.find(function(le){return le.panoIndex===ue})});Object.freeze(ce),Object.defineProperty(Z,"accessibleNodes",{configurable:!1,get:function(){return ce}})}else{for(var fe=[],z=0;z<K.length;z++)K[z]!==Z&&(Math.abs(K[z].position.y-Z.position.y)>3||K[z].position.distanceTo(Z.position)>10||fe.push(K[z].panoIndex));Object.freeze(fe),Object.defineProperty(Z,"accessibleNodes",{configurable:!1,get:function(){return fe}})}if(Z.visibleIds){var ye=Z.visibleIds.filter(function(ue){return!!K.find(function(le){return le.panoId===ue})});Object.freeze(ye),Object.defineProperty(Z,"visibleIds",{configurable:!1,get:function(){return ye}})}else{var Ae=Z.accessibleIds.slice();Object.freeze(Ae),Object.defineProperty(Z,"visibleIds",{configurable:!1,get:function(){return Ae}})}if(Z.visibleNodes){var we=Z.visibleNodes.filter(function(ue){return!!K.find(function(le){return le.panoIndex===ue})});Object.freeze(we),Object.defineProperty(Z,"visibleNodes",{configurable:!1,get:function(){return we}})}else{var Ee=Z.accessibleNodes.slice();Object.freeze(Ee),Object.defineProperty(Z,"visibleNodes",{configurable:!1,get:function(){return Ee}})}},oe=0,$=K;oe<$.length;oe++){var ie=$[oe];ee(ie)}Object.freeze(K),Object.defineProperty(e,"observers",{configurable:!1,get:function(){return K}})}if(M instanceof Error)return M;if(n.initial){if((n.initial.mode==="Panorama"&&e.observers.length===0||n.initial.mode==="Floorplan"||n.initial.mode==="Topview"||n.initial.mode==="Model"||n.initial.mode==="Mapview"||n.initial.mode==="DepthPanorama")&&(e.initial.mode=n.initial.mode),isNumber(n.initial.latitude)&&(e.initial.latitude=n.initial.latitude),isNumber(n.initial.longitude)?e.initial.longitude=n.initial.longitude:isNumber(n.initial.heading)&&(e.initial.longitude=headingToLongitude(n.initial.heading)),isNumber(n.initial.fov)&&(e.initial.fov=n.initial.fov),e.observers.length>0){var ne=void 0;isNumber(n.initial.panoIndex)?ne=n.initial.panoIndex:isNumber(n.initial.pano_index)?ne=n.initial.pano_index:isNumber(n.initial.pano)&&(ne=n.initial.pano),typeof ne=="number"&&(ne=clamp(ne,0,e.observers.length-1),e.initial.panoIndex=ne)}if(isNumber(n.initial.distance)&&(e.initial.distance=n.initial.distance),Array.isArray(n.initial.offset)){var ae=[0,0,0].map(function(Z,J){var z=Number(n.initial.offset[J]);return isNaN(z)||!isFinite(z)?0:z});e.initial.offset=new THREE__namespace.Vector3().fromArray(ae)}!e.initial.mode&&typeof e.initial.panoIndex=="number"&&(e.initial.mode="Panorama")}return M instanceof Error?M:(workRawMapping.set(e,{works:x,options:T}),e)}function parseWork(n,t){typeof n=="string"&&n.trim()[0]==="{"&&(n=JSON.parse(n));var e=workRawMapping.get(n);if(e){if(t&&!equal(JSON.parse(e.options),t))throw new Error("[PARSE FAILED]: work is parsed with different options.");return n}else try{return new Work(n,t!=null?t:{})}catch(r){throw new Error("[PARSE FAILED]: "+r.message+`
|
|
931
931
|
Error work input:
|
|
932
|
-
`+JSON.stringify(n))}}function createWorks(n){for(var t={},e=[],r={},i=0,o=n;i<o.length;i++){var s=o[i],u=t[s.workCode];u||(u=t[s.workCode]=new THREE__namespace.Matrix4().copy(s.options.transform));for(var l=0,c=s.observers;l<c.length;l++){var d=c[l],f={isResolved:!0,active:d.active,accessibleIds:d.accessibleIds,visibleIds:d.visibleIds,accessibleNodes:d.accessibleNodes,visibleNodes:d.visibleNodes,floorIndex:d.floorIndex,images:d.images,index:d.index,panoIndex:d.panoIndex,loadable:d.loadable,panoId:d.panoId,pano:d.pano,work:d.work,derivedId:d.derivedId,video:d.video,position:new THREE__namespace.Vector3().copy(d.position).applyMatrix4(u),standingPosition:new THREE__namespace.Vector3().copy(d.standingPosition).applyMatrix4(u),quaternion:new THREE__namespace.Quaternion().setFromRotationMatrix(scratchMatrix4$1.makeRotationFromQuaternion(d.quaternion).premultiply(u))};Object.freeze(f),e.push(f),r[f.panoId]=f}}Object.freeze(e);for(var v=n.slice(),p={},A=0,m=v;A<m.length;A++){var s=m[A];p[s.workCode]=s}return Object.freeze(Object.assign(v,{get initial(){return v.length>0?v[0].initial:{work:{}}},get resolvedObservers(){return e},getWork:function(y){return p[y]},getResolvedObserver:function(y){var h,g;return isPanoId(y)?r[y]:typeof y=="number"?r[panoStringify({workCode:(g=(h=n[0])===null||h===void 0?void 0:h.workCode)!==null&&g!==void 0?g:"",panoIndex:y})]:r[panoStringify(y)]},update:function(){for(var y={},h=0,g=v;h<g.length;h++){var b=g[h],E=b.options.transform,T=t[b.workCode];T?T.equals(E)||(T.copy(E),y[b.workCode]=!0):(t[b.workCode]=new THREE__namespace.Matrix4().copy(E),y[b.workCode]=!0)}for(var _=0,x=e;_<x.length;_++){var w=x[_];if(y[w.work.workCode]===!0){var S=w.work.observers[w.index],C=w.work.options.transform;w.position.copy(S.position).applyMatrix4(C),w.standingPosition.copy(S.standingPosition).applyMatrix4(C),w.quaternion.setFromRotationMatrix(scratchMatrix4$1.makeRotationFromQuaternion(S.quaternion).premultiply(C))}}}}))}var fetcherMap=new Map;function getFetcher(n){var t=fetcherMap.get(n);if(t)return t;throw new Error("fetcher never registered.")}function registerFetcher(n,t){return fetcherMap.set(n,t)}var scratchVector3$1=new THREE__namespace.Vector3,scratchMatrix3=new THREE__namespace.Matrix3,a=6378137,invF=298.257223563;function coordinatesFromPoint(n){for(var t=a-a/invF,e=(a*a-t*t)/(a*a),r=Math.sqrt(n.x*n.x+n.y*n.y),i=1e-12,o=1e3,s=0,u=Math.atan2(n.z,r),l=0;s++<o;){var c=Math.sin(u),d=a/Math.sqrt(1-e*c*c);l=r/Math.cos(u)-d;var f=Math.atan2(n.z/(d*(1-e)+l),r/(d+l)),v=Math.abs(f-u);if(v<i)break;u=f}return{longitude:Math.atan2(n.y,n.x),latitude:u,altitude:l}}function pointFromCoordinates(n){var t=a-a/invF,e=(a*a-t*t)/(a*a),r=Math.sin(n.latitude),i=Math.cos(n.latitude),o=Math.sin(n.longitude),s=Math.cos(n.longitude),u=a/Math.sqrt(1-e*r*r),l=(u+n.altitude)*i*s,c=(u+n.altitude)*i*o,d=(t*t/(a*a)*u+n.altitude)*r;return new THREE__namespace.Vector3(l,c,d)}function getWorldToLocalMatrix(n,t){var e=coordinatesFromPoint(n),r=e.longitude,i=e.latitude,o=e.altitude,s=Math.sin(i),u=Math.sin(r),l=Math.cos(i),c=Math.cos(r),d=t.fromArray([-u,-s*c,l*c,0,+c,-s*u,l*u,0,0,l,s,0,0,0,0,1]),f=scratchMatrix3.setFromMatrix4(d),v=scratchVector3$1.copy(n).applyMatrix3(f).multiplyScalar(-1);d.setPosition(v);var p=new THREE__namespace.Matrix4().fromArray([1,0,0,0,0,1,0,0,0,0,1,0,0,0,o,1]);return d.premultiply(p),d}var BufferGeometryUtils={computeTangents:function(n){var t=n.index,e=n.attributes;if(t===null||e.position===void 0||e.normal===void 0||e.uv===void 0){console.warn("THREE.BufferGeometry: Missing required attributes (index, position, normal or uv) in BufferGeometry.computeTangents()");return}var r=t.array,i=e.position.array,o=e.normal.array,s=e.uv.array,u=i.length/3;e.tangent===void 0&&n.setAttribute("tangent",new THREE__namespace.BufferAttribute(new Float32Array(4*u),4));for(var l=e.tangent.array,c=[],d=[],f=0;f<u;f++)c[f]=new THREE__namespace.Vector3,d[f]=new THREE__namespace.Vector3;var v=new THREE__namespace.Vector3,p=new THREE__namespace.Vector3,A=new THREE__namespace.Vector3,m=new THREE__namespace.Vector2,y=new THREE__namespace.Vector2,h=new THREE__namespace.Vector2,g=new THREE__namespace.Vector3,b=new THREE__namespace.Vector3;function E(N,G,K){v.fromArray(i,N*3),p.fromArray(i,G*3),A.fromArray(i,K*3),m.fromArray(s,N*2),y.fromArray(s,G*2),h.fromArray(s,K*2);var X=p.x-v.x,D=A.x-v.x,W=p.y-v.y,q=A.y-v.y,ae=p.z-v.z,Y=A.z-v.z,re=y.x-m.x,$=h.x-m.x,oe=y.y-m.y,J=h.y-m.y,ie=1/(re*J-$*oe);g.set((J*X-oe*D)*ie,(J*W-oe*q)*ie,(J*ae-oe*Y)*ie),b.set((re*D-$*X)*ie,(re*q-$*W)*ie,(re*Y-$*ae)*ie),c[N].add(g),c[G].add(g),c[K].add(g),d[N].add(b),d[G].add(b),d[K].add(b)}var T=n.groups;T.length===0&&(T=[{start:0,count:r.length}]);for(var f=0,_=T.length;f<_;++f)for(var x=T[f],w=x.start,S=x.count,C=w,R=w+S;C<R;C+=3)E(r[C+0],r[C+1],r[C+2]);var I=new THREE__namespace.Vector3,B=new THREE__namespace.Vector3,F=new THREE__namespace.Vector3,L=new THREE__namespace.Vector3,O,k,Q;function U(N){F.fromArray(o,N*3),L.copy(F),k=c[N],I.copy(k),I.sub(F.multiplyScalar(F.dot(k))).normalize(),B.crossVectors(L,k),Q=B.dot(d[N]),O=Q<0?-1:1,l[N*4]=I.x,l[N*4+1]=I.y,l[N*4+2]=I.z,l[N*4+3]=O}for(var f=0,_=T.length;f<_;++f)for(var x=T[f],w=x.start,S=x.count,C=w,R=w+S;C<R;C+=3)U(r[C+0]),U(r[C+1]),U(r[C+2])},mergeBufferGeometries:function(n,t){for(var e=n[0].index!==null,r=new Set(Object.keys(n[0].attributes)),i=new Set(Object.keys(n[0].morphAttributes)),o={},s={},u=new THREE__namespace.BufferGeometry,l=0,c=0;c<n.length;++c){var d=n[c];if(e!==(d.index!==null))return null;for(var f in d.attributes){if(!r.has(f))return null;o[f]===void 0&&(o[f]=[]),o[f].push(d.attributes[f])}for(var f in d.morphAttributes){if(!i.has(f))return null;s[f]===void 0&&(s[f]=[]),s[f].push(d.morphAttributes[f])}if(u.userData.mergedUserData=u.userData.mergedUserData||[],u.userData.mergedUserData.push(d.userData),t){var v;if(e)v=d.index.count;else if(d.attributes.position!==void 0)v=d.attributes.position.count;else return null;u.addGroup(l,v,c),l+=v}}if(e){for(var p=0,A=[],c=0;c<n.length;++c){for(var m=n[c].index,y=0;y<m.count;++y)A.push(m.getX(y)+p);p+=n[c].attributes.position.count}u.setIndex(A)}for(var f in o){var h=this.mergeBufferAttributes(o[f]);if(!h)return null;u.setAttribute(f,h)}for(var f in s){var g=s[f][0].length;if(g===0)break;u.morphAttributes=u.morphAttributes||{},u.morphAttributes[f]=[];for(var c=0;c<g;++c){for(var b=[],y=0;y<s[f].length;++y)b.push(s[f][y][c]);var E=this.mergeBufferAttributes(b);if(!E)return null;u.morphAttributes[f].push(E)}}return u},mergeBufferAttributes:function(n){for(var t,e,r,i=0,o=0;o<n.length;++o){var s=n[o];if(s.isInterleavedBufferAttribute||(t===void 0&&(t=s.array.constructor),t!==s.array.constructor)||(e===void 0&&(e=s.itemSize),e!==s.itemSize)||(r===void 0&&(r=s.normalized),r!==s.normalized))return null;i+=s.array.length}for(var u=new t(i),l=0,o=0;o<n.length;++o)u.set(n[o].array,l),l+=n[o].array.length;return new THREE__namespace.BufferAttribute(u,e,r)},interleaveAttributes:function(n){for(var t,e=0,r=0,i=0,o=n.length;i<o;++i){var s=n[i];if(t===void 0&&(t=s.array.constructor),t!==s.array.constructor)return console.warn("AttributeBuffers of different types cannot be interleaved"),null;e+=s.array.length,r+=s.itemSize}for(var u=new THREE__namespace.InterleavedBuffer(new t(e),r),l=0,c=[],d=["getX","getY","getZ","getW"],f=["setX","setY","setZ","setW"],v=0,o=n.length;v<o;v++){var s=n[v],p=s.itemSize,A=s.count,m=new THREE__namespace.InterleavedBufferAttribute(u,p,l,s.normalized);c.push(m),l+=p;for(var y=0;y<A;y++)for(var h=0;h<p;h++)m[f[h]](y,s[d[h]](y))}return c},estimateBytesUsed:function(n){var t=0;for(var e in n.attributes){var r=n.getAttribute(e);t+=r.count*r.itemSize*r.array.BYTES_PER_ELEMENT}var i=n.getIndex();return t+=i?i.count*i.itemSize*i.array.BYTES_PER_ELEMENT:0,t},mergeVertices:function(n,t){t===void 0&&(t=1e-4),t=Math.max(t,Number.EPSILON);for(var e={},r=n.getIndex(),i=n.getAttribute("position"),o=r?r.count:i.count,s=0,u=Object.keys(n.attributes),l={},c={},d=[],f=["getX","getY","getZ","getW"],v=0,p=u.length;v<p;v++){var A=u[v];l[A]=[];var m=n.morphAttributes[A];m&&(c[A]=new Array(m.length).fill().map(function(){return[]}))}for(var y=Math.log10(1/t),h=Math.pow(10,y),v=0;v<o;v++){for(var g=r?r.getX(v):v,b="",E=0,p=u.length;E<p;E++)for(var A=u[E],T=n.getAttribute(A),_=T.itemSize,x=0;x<_;x++)b+="".concat(~~(T[f[x]](g)*h),",");if(b in e)d.push(e[b]);else{for(var E=0,p=u.length;E<p;E++)for(var A=u[E],T=n.getAttribute(A),m=n.morphAttributes[A],_=T.itemSize,w=l[A],S=c[A],x=0;x<_;x++){var C=f[x];if(w.push(T[C](g)),m)for(var R=0,I=m.length;R<I;R++)S[R].push(m[R][C](g))}e[b]=s,d.push(s),s++}}for(var B=n.clone(),v=0,p=u.length;v<p;v++){var A=u[v],F=n.getAttribute(A),L=new F.array.constructor(l[A]),T=new THREE__namespace.BufferAttribute(L,F.itemSize,F.normalized);if(B.setAttribute(A,T),A in c)for(var E=0;E<c[A].length;E++){var O=n.morphAttributes[A][E],L=new O.array.constructor(c[A][E]),k=new THREE__namespace.BufferAttribute(L,O.itemSize,O.normalized);B.morphAttributes[A][E]=k}}return B.setIndex(d),B}};function isThirdPersonMode(n){switch(n){case"Floorplan":return!0;case"Mapview":return!0;default:return!1}}function isFristPersonMode(n){switch(n){case"Panorama":return!0;case"VRPanorama":return!0;case"XRPanorama":return!0;case"Model":return!0;default:return!1}}var scratchVector3=new THREE__namespace.Vector3,scratchSphere=new THREE__namespace.Sphere,scratchMatrix4=new THREE__namespace.Matrix4,scratchMatrix4Inverse=new THREE__namespace.Matrix4,scratchBoundingBox=new THREE__namespace.Box3,ROTATE_X_90_MATRIX=new THREE__namespace.Matrix4().fromArray([1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1]),DEFAULT_BOUNDING=new THREE__namespace.Box3(new THREE__namespace.Vector3(-.5,-.5,-.5),new THREE__namespace.Vector3(.5,.5,.5));function getTransformMatrix(n,t){return"transformToEarthCentered"in n?Promise.resolve().then(function(){return n.transformToEarthCentered(t)}).then(function(e){var r=new THREE__namespace.Matrix4;return scratchVector3.copy(t).applyMatrix4(e),r.premultiply(e).premultiply(getWorldToLocalMatrix(scratchVector3,scratchMatrix4)).premultiply(ROTATE_X_90_MATRIX),r}):"transformToUpAxisZ"in n?Promise.resolve().then(function(){return n.transformToUpAxisZ(t)}).then(function(e){var r=new THREE__namespace.Matrix4;return r.premultiply(e).premultiply(ROTATE_X_90_MATRIX),r}):Promise.resolve(new THREE__namespace.Matrix4)}function getExt(n){var t=/([0-9a-z\.\_\-]+)([\?\#].*)?$/i.exec(n);if(t){var e=String(t[1]).trim().split(".").slice(1).reverse()[0];if(e)return e}return""}var ModelViewLayer=function(){function n(t,e,r,i,o,s){this.name=t,this.type=e,this.upAxis=r,this.worldToLocalTransform=i,this.scene=o,this.error=s}return Object.defineProperty(n.prototype,"tileset",{get:function(){var t;return(t=this.scene)===null||t===void 0?void 0:t.tileset},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"coordinates",{get:function(){var t=new THREE__namespace.Vector3;this.scene&&this.scene.getWorldPosition(t);var e=this.worldPointToCoordinates(t),r=e.longitude,i=e.latitude;return[i,r].map(function(o){return(o/Math.PI*180).toFixed(6)}).join(",")},enumerable:!1,configurable:!0}),n.prototype.getTransformMatrix4=function(t){return t===void 0&&(t=new THREE__namespace.Matrix4),t.copy(this.worldToLocalTransform),this.scene&&t.premultiply(this.scene.matrixWorld),t},n.prototype.coordinatesToWorldPoint=function(t){var e=pointFromCoordinates(t),r=this.getTransformMatrix4(scratchMatrix4);return e.applyMatrix4(r)},n.prototype.worldPointToCoordinates=function(t){if(!this.scene)throw new Error("ViewLayer Error.");var e=this.getTransformMatrix4(scratchMatrix4),r=scratchMatrix4Inverse.getInverse(e),i=new THREE__namespace.Vector3().copy(t).applyMatrix4(r);return coordinatesFromPoint(i)},n}(),Model=function(n){__extends(t,n);function t(e){e===void 0&&(e={});var r,i,o,s,u=n.call(this)||this;return u.name="",u.coordinatesSystemTransformers=(r=e.coordinatesSystemTransformers)!==null&&r!==void 0?r:[],u.onError=(i=e.onError)!==null&&i!==void 0?i:noop$1,u.onShownFloorChange=(o=e.onShownFloorChange)!==null&&o!==void 0?o:noop$1,u.onLoad=(s=e.onLoad)!==null&&s!==void 0?s:noop$1,u.work=null,u.viewLayers=[],u.bounding=new THREE__namespace.Box3(new THREE__namespace.Vector3,new THREE__namespace.Vector3),u.floorLength=0,u.textureOptions={},u.refined=!1,u.refineProgress=[0,0],u.loaded=!1,u.matrixAutoUpdate=!1,u.renderOrder=-4,u.needsRender=!0,u.autoRefine=!0,u.materialVersion=0,u.materialParameters=__assign({},defaultPbmParameters),u.cacheCameras=[],u.disposed=!1,u}return Object.defineProperty(t.prototype,"empty",{get:function(){return this.viewLayers.length===0},enumerable:!1,configurable:!0}),t.prototype.getMaterial=function(){return __assign({},this.materialParameters)},t.prototype.setMaterial=function(e){var r=this.materialParameters.shownFloorIndex,i=updatePBMParameters(this.materialParameters,e);if(i){var o=this.materialParameters.shownFloorIndex;r!==o&&this.onShownFloorChange(o),this.materialVersion++,this.needsRender=!0}},Object.defineProperty(t.prototype,"shownFloorIndex",{get:function(){return this.materialParameters.shownFloorIndex},set:function(e){this.setMaterial({shownFloorIndex:e})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"shownFloor",{get:function(){return this.shownFloorIndex===-1?null:this.shownFloorIndex},set:function(e){this.shownFloorIndex=e===null?-1:e},enumerable:!1,configurable:!0}),t.prototype.show=function(e){this.shownFloor=e!=null?e:null},Object.defineProperty(t.prototype,"clippers",{get:function(){return this.materialParameters.clippers},set:function(e){this.setMaterial({clippers:e})},enumerable:!1,configurable:!0}),t.prototype.getEdgesBySphere=function(e,r){r===void 0&&(r=30/180*Math.PI);for(var i=Math.cos(r),o=[],s=0,u=this.children;s<u.length;s++){var l=u[s];if(l instanceof Tile3DModel){var c=l.tileset.selectedTiles;c.forEach(function(d){var f,v,p;if(!(d.boundingVolume&&d.boundingVolume.distanceTo(e.center)>e.radius)){var A=(v=(f=d.content)===null||f===void 0?void 0:f.data)===null||v===void 0?void 0:v.object;if(A&&A.visible){var m=[];if(A.traverseVisible(function(X){if(X instanceof THREE__namespace.Mesh){var D=bvhMeshMap.get(X);if(D){scratchMatrix4.copy(X.matrixWorld),scratchMatrix4Inverse.getInverse(scratchMatrix4),scratchSphere.copy(e).applyMatrix4(scratchMatrix4Inverse);var W=D.trianglesInSphere(scratchSphere.center,scratchSphere.radius),q=new THREE__namespace.BufferGeometry;q.setAttribute("position",new THREE__namespace.BufferAttribute(W,3)),q.applyMatrix4(X.matrixWorld),q=BufferGeometryUtils.mergeVertices(q,.01),m.push(q)}}}),m.length===0)return;for(var y=["a","b","c"],h=BufferGeometryUtils.mergeBufferGeometries(m,!1),g=h.getAttribute("position").array,b=((p=h.getIndex())===null||p===void 0?void 0:p.array)||[],E=[],T=[],_=0,x=g.length;_<x;_+=3){var w=new THREE__namespace.Vector3(g[_],g[_+1],g[_+2]);E.push(w)}for(var _=0,x=b.length;_<x;_+=3){var S=b[_],C=b[_+1],R=b[_+2],I=new THREE__namespace.Vector3().crossVectors(E[C].clone().sub(E[S]),E[R].clone().sub(E[S])).normalize();T.push({a:S,b:C,c:R,normal:I})}for(var B={},_=0,x=T.length;_<x;_++)for(var F=T[_],L=0;L<3;L++){var O=F[y[L]],k=F[y[(L+1)%3]],Q=[Math.min(O,k),Math.max(O,k)],U=Q[0]+"-"+Q[1];B[U]===void 0?B[U]={index1:Q[0],index2:Q[1],face1:_}:B[U].face2=_}for(var U in B){var N=B[U];if(N.face2===void 0||T[N.face1].normal.dot(T[N.face2].normal)<=i){var G=E[N.index1],K=E[N.index2];o.push(new THREE__namespace.Line3(G,K))}}E.length=0,T.length=0}}})}}return o},t.prototype.intersectRaycaster=function(e,r,i){r===void 0&&(r=null),i===void 0&&(i=!0);for(var o=[],s=0,u=this.children.length;s<u;s++){var l=this.children[s];l.visible&&l instanceof Tile3DModel&&l.intersectRaycaster(e,!1,o)}return r!=null&&(o=o.filter(function(c){return c.floor===r})),i&&o.sort(function(c,d){return c.distance-d.distance}),o},t.prototype.load=function(e,r){var i=this,o;if(r===void 0&&(r={}),this.work=e,this.name=this.work.workCode,!e.model)return Promise.resolve();for(var s=e.model,u=e.options,l=0,c=0,d=e.observers;c<d.length;c++){var f=d[c];l=Math.max(l,f.floorIndex)}this.floorLength=l+1;for(var v=!1,p=[],A=function(w){var S=w.tileset,C=w.upAxis,R=w.name,I=w.type;I==="mesh"&&(v=!0);var B=S.split("#"),F=B[0],L=B[1],O=(o=(L||F).split("?")[1])!==null&&o!==void 0?o:"",k=getFetcher(e).ajax(S,{responseType:"text"}).then(function(Q){var U=JSON.parse(Q.body),N=U.root;"lodVersion"in U&&(C="-Y","floorInfo"in U&&(U.properties=U.properties||{},U.properties.floorInfo=U.floorInfo.map(function(D){return{ground:-D.ground,height:D.height}}),delete U.floorInfo),U.asset.tilesetVersion=String(U.lodVersion),delete U.lodVersion);var G=N.boundingVolume?makeBoundingVolume(N.boundingVolume):void 0;G&&N.transform&&G.applyMatrix4(scratchMatrix4.fromArray(N.transform));var K=i.coordinatesSystemTransformers.find(function(D){return D.name===C});if(!K)return Promise.reject(new Error("CoordinatesSystemTransformers: ".concat(C," not found.")));var X=new THREE__namespace.Vector3;return G&&G.getCenter(X),getTransformMatrix(K,X).then(function(D){var W;return U.root={refine:(W=N.refine)!==null&&W!==void 0?W:"REPLACE",geometricError:U.geometricError,transform:D.toArray(),boundingVolume:G?G.toJson():void 0,viewerRequestVolume:u.viewerRequestVolume?u.viewerRequestVolume.toJson():void 0,children:[N]},{tilesetHeader:U,worldToLocalTransform:D}})}).then(function(Q){var U=Q.tilesetHeader,N=Q.worldToLocalTransform,G=S?S.slice(0,S.lastIndexOf("/")+1):"",K=new Tile3DModel(i,U,{resourcePath:G,search:O,fetcher:getFetcher(e)});return K.name=S,K.matrix.copy(u.transform),K.matrix.decompose(K.position,K.quaternion,K.scale),K.matrixWorldNeedsUpdate=!0,new ModelViewLayer(R,I,C,N,K,null)});p.push(k.catch(function(Q){return i.onError(Q),new ModelViewLayer(R,I,C,new THREE__namespace.Matrix4,null,Q)}))},m=0,y=s.layers;m<y.length;m++){var h=y[m];A(h)}if(!v&&s.file){var g=s.file,b=s.textureBase,E=s.textures,T=getExt(g)||"at3d",_=T==="at3d"||T==="pbm"?"Z":"Y",x=Promise.resolve().then(function(){var w=i.coordinatesSystemTransformers.find(function(C){return C.name===_});if(!w)return Promise.reject(new Error("CoordinatesSystemTransformers: ".concat(_," not found.")));var S=new THREE__namespace.Vector3(0,0,0);return getTransformMatrix(w,S).then(function(C){var R,I,B={asset:{gltfUpAxis:"Z",version:"0.0"},geometricError:0,root:{refine:"REPLACE",geometricError:0,transform:C.toArray(),viewerRequestVolume:u.viewerRequestVolume?u.viewerRequestVolume.toJson():void 0,content:{uri:g},extras:(R={},R[T]={textureBaseUri:b,textureArray:E,textureOptions:(I=r.textureOptions)!==null&&I!==void 0?I:{}},R)}};return{tilesetHeader:B,worldToLocalTransform:C}})}).then(function(w){var S=w.tilesetHeader,C=w.worldToLocalTransform,R=new Tile3DModel(i,S,{resourcePath:"",fetcher:getFetcher(e)});return R.name=g,R.matrix.copy(u.transform),R.matrix.decompose(R.position,R.quaternion,R.scale),R.matrixWorldNeedsUpdate=!0,new ModelViewLayer("fallback","mesh",_,C,R,null)});p.push(x)}return Promise.all(p).then(function(w){for(var S=[],C=[],R=[],I=0,B=w;I<B.length;I++){var F=B[I];if(i.viewLayers.push(F),F.scene){if(i.disposed){F.scene.dispose();continue}switch(i.add(F.scene),F.scene.visible=!1,F.type){case"mesh":S.push(F.scene);break;case"point_cloud":C.push(F.scene);break;default:R.push(F.scene);break}}}S.length?S[0].visible=!0:C.length?C[0].visible=!0:R.length&&(R[0].visible=!0)})},t.prototype.update=function(e,r,i){var o,s,u,l,c,d;if(this.children.length){var f=this.loaded;this.refined=this.work!==null,this.refineProgress[0]=0,this.refineProgress[1]=0,this.loaded=this.work!==null,this.bounding.makeEmpty();for(var v=0,p=this.children;v<p.length;v++){var A=p[v];A instanceof Tile3DModel&&(this.work&&(A.minLevelOfDetail=(o=this.work.options.modelMinLevelOfDetail)!==null&&o!==void 0?o:Tile3DModel.DEFAULT_MIN_LEVEL_OF_DETAIL,A.maxLevelOfDetail=this.materialParameters.modelAlpha===0||!A.loaded?0:(s=this.work.options.modelMaxLevelOfDetail)!==null&&s!==void 0?s:Tile3DModel.DEFAULT_MAX_LEVEL_OF_DETAIL,A.maxScreenSpaceError=(u=this.work.options.modelMaxScreenSpaceError)!==null&&u!==void 0?u:Tile3DModel.DEFAULT_MAX_SCREEN_SPACE_ERROR,A.maxRequests=(l=this.work.options.modelMaxRequests)!==null&&l!==void 0?l:Tile3DModel.DEFAULT_MAX_REQUESTS,A.maxMemoryUsage=(c=this.work.options.modelMaxMemoryUsage)!==null&&c!==void 0?c:Tile3DModel.DEFAULT_MAX_MEMORY_USAGE,A.debug=(d=this.work.options.debug)!==null&&d!==void 0?d:!1,A.cacheCameras=this.cacheCameras,this.autoRefine===!1?A.needsRefined=!1:isFristPersonMode(i)?A.needsRefined=this.materialParameters.modelAlpha===0||this.materialParameters.modelAlpha===1:A.needsRefined=!0,this.work.options.transform.equals(A.matrix)||(A.matrix.copy(this.work.options.transform),A.matrix.decompose(A.position,A.quaternion,A.scale),A.matrixWorldNeedsUpdate=!0)),A.update(e,r),A.boundingBox.isEmpty()||(scratchBoundingBox.copy(A.boundingBox).applyMatrix4(A.matrix),this.bounding.union(scratchBoundingBox)),A.needsRender===!0&&(A.needsRender=!1,this.needsRender=!0),A.refined===!1&&(this.refined=!1),this.refineProgress[0]+=A.refineProgress[0],this.refineProgress[1]+=A.refineProgress[1],A.loaded===!1&&(this.loaded=!1))}this.bounding.isEmpty()&&this.bounding.copy(DEFAULT_BOUNDING),f===!1&&this.loaded===!0&&this.onLoad()}else this.work&&!this.work.model?(this.refined=!0,this.refineProgress[0]=0,this.refineProgress[1]=0,this.loaded=!0):(this.refined=!1,this.refineProgress[0]=0,this.refineProgress[1]=0,this.loaded=!1),this.bounding.set(new THREE__namespace.Vector3,new THREE__namespace.Vector3)},t.prototype.dispose=function(){this.disposed=!0;for(var e;e=this.children[0];)e instanceof Tile3DModel&&e.dispose(),this.remove(e)},t}(THREE__namespace.Object3D);function createModels(){var n=new THREE__namespace.Box3,t=omit(defaultPbmParameters,["clippers","shownFloorIndex"]),e=Object.assign([],{bounding:n,needsRender:!1,refined:!1,refineProgress:[0,0],loaded:!1,materialVersion:0,cacheCameras:[],autoUpdate:!0,intersectRaycaster:function(r,i,o){o===void 0&&(o=!0);var s;if(e.length===1)s=e[0].intersectRaycaster(r,i,o);else if(e.length===0)s=[];else{s=[];for(var u=0,l=e;u<l.length;u++){var c=l[u];if(c.visible){var d=c.intersectRaycaster(r,i,!1);d.length&&s.push.apply(s,d)}}o&&s.sort(function(f,v){return f.distance-v.distance})}return s},setMaterial:function(r){var i=updatePBMParameters(t,r);i&&(e.materialVersion++,e.needsRender=!0)},getMaterial:function(){return __assign({},t)},update:function(r,i,o){if(e.autoUpdate!==!1){e.refined=e.length>0,e.loaded=e.length>0,e.refineProgress[0]=0,e.refineProgress[1]=0,n.makeEmpty();for(var s=0,u=e.cacheCameras;s<u.length;s++){var l=u[s];l.updateMatrixWorld(!0),l.updateProjectionMatrix()}for(var c=0,d=e;c<d.length;c++){var f=d[c];f.setMaterial(t),f.cacheCameras=e.cacheCameras,f.update(r,i,o),f.needsRender===!0&&(e.needsRender=!0,f.needsRender=!1),f.refined===!1&&(e.refined=!1),e.refineProgress[0]+=f.refineProgress[0],e.refineProgress[1]+=f.refineProgress[1],f.loaded===!1&&(e.loaded=!1),n.union(f.bounding)}n.isEmpty()&&n.copy(DEFAULT_BOUNDING)}}});return e}function mixNumber(n,t,e){return n+(t-n)*e}function value(n,t,e,r){var i=(t*e+2*n)/Math.pow(e,3),o=-(2*t*e+3*n)/Math.pow(e,2),s=t,u=n;return i*Math.pow(r,3)+o*Math.pow(r,2)+s*r+u}function velocity(n,t,e,r){var i=(t*e+2*n)/Math.pow(e,3),o=-(2*t*e+3*n)/Math.pow(e,2),s=t;return 3*i*Math.pow(r,2)+2*o*r+s}function mixCircle(n,t,e,r){var i=r[1]-r[0];return n=circleValue(n,r),t=circleValue(t,r),t-n>i/2?mixNumber(n+i,t,e):n-t>i/2?mixNumber(n-i,t,e):mixNumber(n,t,e)}function circleValue(n,t){var e=t[1]-t[0];return n<t[0]?circleValue(n+e,t):n>=t[1]?circleValue(n-e,t):n}function mixValue(n,t,e,r){return r?mixCircle(n,t,e,r):mixNumber(n,t,e)}var Motion=function(){function n(t){this.config={},this.progress=1,this.ended=!0,this.value={},this.startTime=now(),this.startVelocity=0,this.duration=0,this.keyframes=[];for(var e in t){var r=t[e];typeof r=="number"?(this.value[e]=r,this.config[e]={circle:!1}):(this.value[e]=r.value,this.config[e]={circle:r.circle})}this.keyframes=[{progress:0,value:__assign({},this.value)},{progress:1,value:__assign({},this.value)}]}return n.prototype.getProgress=function(t){var e=t-this.startTime;return e<0?0:e>=this.duration?1:1-value(1,this.startVelocity,this.duration,e)},n.prototype.getValue=function(t){for(var e=1;e<this.keyframes.length;e++)if(this.keyframes[e].progress>t){var r=this.keyframes[e-1],i=this.keyframes[e],o={};for(var s in this.config){var u=(t-r.progress)/(i.progress-r.progress);o[s]=mixValue(r.value[s],i.value[s],u,this.config[s].circle)}return o}return __assign({},this.keyframes[this.keyframes.length-1].value)},n.prototype.getProgressVelocity=function(t){var e=t-this.startTime;return e>=this.duration?0:velocity(1,this.startVelocity,this.duration,e)},n.prototype.update=function(t){return this.ended?!0:(this.progress=Math.min(1,Math.max(0,this.progress,this.getProgress(t))),this.value=this.getValue(this.progress),this.ended=this.progress>=1,this.ended&&this.callbacks&&(this.callbacks[0](),this.callbacks=void 0),this.ended)},n.prototype.getKeyFrameSegment=function(t){for(var e=this.getProgress(t),r=1;r<this.keyframes.length;r++)if(this.keyframes[r].progress>e)return[this.keyframes[r-1],this.keyframes[r]];return[this.keyframes[this.keyframes.length-2],this.keyframes[this.keyframes.length-1]]},n.prototype.getTargetKeyframe=function(){return this.keyframes[this.keyframes.length-1]},n.prototype.set=function(t,e,r,i){var o;r===void 0&&(r=0),isNaN(e)&&(e=0),isNaN(r)&&(r=0),i=i!=null?i:now();var s=this.getProgress(i),u=this.getValue(s),l={};for(var c in this.config)l[c]=(o=t[c])!==null&&o!==void 0?o:u[c];var d=[{progress:0,value:u},{progress:1,value:l}];return this.setKeyframes(d,e,r,i)},n.prototype.setKeyframes=function(t,e,r,i){var o=this;if(r===void 0&&(r=0),t.length<2)throw new Error("keyframes invalid.");return isNaN(e)&&(e=0),isNaN(r)&&(r=0),this.callbacks&&(this.callbacks[1](new Error("motion aborted.")),this.callbacks=void 0),new Promise(function(s,u){i=i!=null?i:now(),o.progress=0,o.ended=!1,o.startTime=i,o.startVelocity=r,o.keyframes=t,o.duration=e,e===0?(o.progress=1,o.value=__assign({},t[t.length-1].value)):o.value=__assign({},t[0].value),o.callbacks=[s,u]})},n.prototype.dispose=function(){this.callbacks&&(this.callbacks[1](new Error("motion dispose.")),this.callbacks=void 0)},n}(),easeOut$2=function(n){return n*(2-n)},sharedGeometry2$2=function(){var n=new Float32Array([-.18,0,-.18,.18,0,-.18,-.18,0,.18,.18,0,.18]),t=new Float32Array([1,0,0,0,1,1,0,1]),e=new Uint8Array([0,2,1,2,3,1]),r=new THREE__namespace.BufferGeometry;return r.setAttribute("position",new THREE__namespace.BufferAttribute(n,3)),r.setAttribute("uv",new THREE__namespace.BufferAttribute(t,2)),r.setIndex(new THREE__namespace.BufferAttribute(e,1)),r}(),vertexShader$4=`
|
|
932
|
+
`+JSON.stringify(n))}}function createWorks(n){for(var t={},e=[],r={},i=0,o=n;i<o.length;i++){var s=o[i],u=t[s.workCode];u||(u=t[s.workCode]=new THREE__namespace.Matrix4().copy(s.options.transform));for(var c=0,l=s.observers;c<l.length;c++){var d=l[c],f={isResolved:!0,active:d.active,accessibleIds:d.accessibleIds,visibleIds:d.visibleIds,accessibleNodes:d.accessibleNodes,visibleNodes:d.visibleNodes,floorIndex:d.floorIndex,images:d.images,index:d.index,panoIndex:d.panoIndex,loadable:d.loadable,panoId:d.panoId,pano:d.pano,work:d.work,derivedId:d.derivedId,video:d.video,position:new THREE__namespace.Vector3().copy(d.position).applyMatrix4(u),standingPosition:new THREE__namespace.Vector3().copy(d.standingPosition).applyMatrix4(u),quaternion:new THREE__namespace.Quaternion().setFromRotationMatrix(scratchMatrix4$1.makeRotationFromQuaternion(d.quaternion).premultiply(u))};Object.freeze(f),e.push(f),r[f.panoId]=f}}Object.freeze(e);for(var m=n.slice(),p={},A=0,v=m;A<v.length;A++){var s=v[A];p[s.workCode]=s}return Object.freeze(Object.assign(m,{get initial(){return m.length>0?m[0].initial:{work:{}}},get resolvedObservers(){return e},getWork:function(g){return p[g]},getResolvedObserver:function(g){var h,y;return isPanoId(g)?r[g]:typeof g=="number"?r[panoStringify({workCode:(y=(h=n[0])===null||h===void 0?void 0:h.workCode)!==null&&y!==void 0?y:"",panoIndex:g})]:r[panoStringify(g)]},update:function(){for(var g={},h=0,y=m;h<y.length;h++){var b=y[h],E=b.options.transform,T=t[b.workCode];T?T.equals(E)||(T.copy(E),g[b.workCode]=!0):(t[b.workCode]=new THREE__namespace.Matrix4().copy(E),g[b.workCode]=!0)}for(var x=0,_=e;x<_.length;x++){var w=_[x];if(g[w.work.workCode]===!0){var S=w.work.observers[w.index],M=w.work.options.transform;w.position.copy(S.position).applyMatrix4(M),w.standingPosition.copy(S.standingPosition).applyMatrix4(M),w.quaternion.setFromRotationMatrix(scratchMatrix4$1.makeRotationFromQuaternion(S.quaternion).premultiply(M))}}}}))}var fetcherMap=new Map;function getFetcher(n){var t=fetcherMap.get(n);if(t)return t;throw new Error("fetcher never registered.")}function registerFetcher(n,t){return fetcherMap.set(n,t)}var scratchVector3$1=new THREE__namespace.Vector3,scratchMatrix3=new THREE__namespace.Matrix3,a=6378137,invF=298.257223563;function coordinatesFromPoint(n){for(var t=a-a/invF,e=(a*a-t*t)/(a*a),r=Math.sqrt(n.x*n.x+n.y*n.y),i=1e-12,o=1e3,s=0,u=Math.atan2(n.z,r),c=0;s++<o;){var l=Math.sin(u),d=a/Math.sqrt(1-e*l*l);c=r/Math.cos(u)-d;var f=Math.atan2(n.z/(d*(1-e)+c),r/(d+c)),m=Math.abs(f-u);if(m<i)break;u=f}return{longitude:Math.atan2(n.y,n.x),latitude:u,altitude:c}}function pointFromCoordinates(n){var t=a-a/invF,e=(a*a-t*t)/(a*a),r=Math.sin(n.latitude),i=Math.cos(n.latitude),o=Math.sin(n.longitude),s=Math.cos(n.longitude),u=a/Math.sqrt(1-e*r*r),c=(u+n.altitude)*i*s,l=(u+n.altitude)*i*o,d=(t*t/(a*a)*u+n.altitude)*r;return new THREE__namespace.Vector3(c,l,d)}function getWorldToLocalMatrix(n,t){var e=coordinatesFromPoint(n),r=e.longitude,i=e.latitude,o=e.altitude,s=Math.sin(i),u=Math.sin(r),c=Math.cos(i),l=Math.cos(r),d=t.fromArray([-u,-s*l,c*l,0,+l,-s*u,c*u,0,0,c,s,0,0,0,0,1]),f=scratchMatrix3.setFromMatrix4(d),m=scratchVector3$1.copy(n).applyMatrix3(f).multiplyScalar(-1);d.setPosition(m);var p=new THREE__namespace.Matrix4().fromArray([1,0,0,0,0,1,0,0,0,0,1,0,0,0,o,1]);return d.premultiply(p),d}var BufferGeometryUtils={computeTangents:function(n){var t=n.index,e=n.attributes;if(t===null||e.position===void 0||e.normal===void 0||e.uv===void 0){console.warn("THREE.BufferGeometry: Missing required attributes (index, position, normal or uv) in BufferGeometry.computeTangents()");return}var r=t.array,i=e.position.array,o=e.normal.array,s=e.uv.array,u=i.length/3;e.tangent===void 0&&n.setAttribute("tangent",new THREE__namespace.BufferAttribute(new Float32Array(4*u),4));for(var c=e.tangent.array,l=[],d=[],f=0;f<u;f++)l[f]=new THREE__namespace.Vector3,d[f]=new THREE__namespace.Vector3;var m=new THREE__namespace.Vector3,p=new THREE__namespace.Vector3,A=new THREE__namespace.Vector3,v=new THREE__namespace.Vector2,g=new THREE__namespace.Vector2,h=new THREE__namespace.Vector2,y=new THREE__namespace.Vector3,b=new THREE__namespace.Vector3;function E(N,U,W){m.fromArray(i,N*3),p.fromArray(i,U*3),A.fromArray(i,W*3),v.fromArray(s,N*2),g.fromArray(s,U*2),h.fromArray(s,W*2);var q=p.x-m.x,G=A.x-m.x,K=p.y-m.y,X=A.y-m.y,se=p.z-m.z,Y=A.z-m.z,re=g.x-v.x,ee=h.x-v.x,oe=g.y-v.y,$=h.y-v.y,ie=1/(re*$-ee*oe);y.set(($*q-oe*G)*ie,($*K-oe*X)*ie,($*se-oe*Y)*ie),b.set((re*G-ee*q)*ie,(re*X-ee*K)*ie,(re*Y-ee*se)*ie),l[N].add(y),l[U].add(y),l[W].add(y),d[N].add(b),d[U].add(b),d[W].add(b)}var T=n.groups;T.length===0&&(T=[{start:0,count:r.length}]);for(var f=0,x=T.length;f<x;++f)for(var _=T[f],w=_.start,S=_.count,M=w,C=w+S;M<C;M+=3)E(r[M+0],r[M+1],r[M+2]);var I=new THREE__namespace.Vector3,B=new THREE__namespace.Vector3,F=new THREE__namespace.Vector3,L=new THREE__namespace.Vector3,k,O,D;function Q(N){F.fromArray(o,N*3),L.copy(F),O=l[N],I.copy(O),I.sub(F.multiplyScalar(F.dot(O))).normalize(),B.crossVectors(L,O),D=B.dot(d[N]),k=D<0?-1:1,c[N*4]=I.x,c[N*4+1]=I.y,c[N*4+2]=I.z,c[N*4+3]=k}for(var f=0,x=T.length;f<x;++f)for(var _=T[f],w=_.start,S=_.count,M=w,C=w+S;M<C;M+=3)Q(r[M+0]),Q(r[M+1]),Q(r[M+2])},mergeBufferGeometries:function(n,t){for(var e=n[0].index!==null,r=new Set(Object.keys(n[0].attributes)),i=new Set(Object.keys(n[0].morphAttributes)),o={},s={},u=new THREE__namespace.BufferGeometry,c=0,l=0;l<n.length;++l){var d=n[l];if(e!==(d.index!==null))return null;for(var f in d.attributes){if(!r.has(f))return null;o[f]===void 0&&(o[f]=[]),o[f].push(d.attributes[f])}for(var f in d.morphAttributes){if(!i.has(f))return null;s[f]===void 0&&(s[f]=[]),s[f].push(d.morphAttributes[f])}if(u.userData.mergedUserData=u.userData.mergedUserData||[],u.userData.mergedUserData.push(d.userData),t){var m;if(e)m=d.index.count;else if(d.attributes.position!==void 0)m=d.attributes.position.count;else return null;u.addGroup(c,m,l),c+=m}}if(e){for(var p=0,A=[],l=0;l<n.length;++l){for(var v=n[l].index,g=0;g<v.count;++g)A.push(v.getX(g)+p);p+=n[l].attributes.position.count}u.setIndex(A)}for(var f in o){var h=this.mergeBufferAttributes(o[f]);if(!h)return null;u.setAttribute(f,h)}for(var f in s){var y=s[f][0].length;if(y===0)break;u.morphAttributes=u.morphAttributes||{},u.morphAttributes[f]=[];for(var l=0;l<y;++l){for(var b=[],g=0;g<s[f].length;++g)b.push(s[f][g][l]);var E=this.mergeBufferAttributes(b);if(!E)return null;u.morphAttributes[f].push(E)}}return u},mergeBufferAttributes:function(n){for(var t,e,r,i=0,o=0;o<n.length;++o){var s=n[o];if(s.isInterleavedBufferAttribute||(t===void 0&&(t=s.array.constructor),t!==s.array.constructor)||(e===void 0&&(e=s.itemSize),e!==s.itemSize)||(r===void 0&&(r=s.normalized),r!==s.normalized))return null;i+=s.array.length}for(var u=new t(i),c=0,o=0;o<n.length;++o)u.set(n[o].array,c),c+=n[o].array.length;return new THREE__namespace.BufferAttribute(u,e,r)},interleaveAttributes:function(n){for(var t,e=0,r=0,i=0,o=n.length;i<o;++i){var s=n[i];if(t===void 0&&(t=s.array.constructor),t!==s.array.constructor)return console.warn("AttributeBuffers of different types cannot be interleaved"),null;e+=s.array.length,r+=s.itemSize}for(var u=new THREE__namespace.InterleavedBuffer(new t(e),r),c=0,l=[],d=["getX","getY","getZ","getW"],f=["setX","setY","setZ","setW"],m=0,o=n.length;m<o;m++){var s=n[m],p=s.itemSize,A=s.count,v=new THREE__namespace.InterleavedBufferAttribute(u,p,c,s.normalized);l.push(v),c+=p;for(var g=0;g<A;g++)for(var h=0;h<p;h++)v[f[h]](g,s[d[h]](g))}return l},estimateBytesUsed:function(n){var t=0;for(var e in n.attributes){var r=n.getAttribute(e);t+=r.count*r.itemSize*r.array.BYTES_PER_ELEMENT}var i=n.getIndex();return t+=i?i.count*i.itemSize*i.array.BYTES_PER_ELEMENT:0,t},mergeVertices:function(n,t){t===void 0&&(t=1e-4),t=Math.max(t,Number.EPSILON);for(var e={},r=n.getIndex(),i=n.getAttribute("position"),o=r?r.count:i.count,s=0,u=Object.keys(n.attributes),c={},l={},d=[],f=["getX","getY","getZ","getW"],m=0,p=u.length;m<p;m++){var A=u[m];c[A]=[];var v=n.morphAttributes[A];v&&(l[A]=new Array(v.length).fill().map(function(){return[]}))}for(var g=Math.log10(1/t),h=Math.pow(10,g),m=0;m<o;m++){for(var y=r?r.getX(m):m,b="",E=0,p=u.length;E<p;E++)for(var A=u[E],T=n.getAttribute(A),x=T.itemSize,_=0;_<x;_++)b+="".concat(~~(T[f[_]](y)*h),",");if(b in e)d.push(e[b]);else{for(var E=0,p=u.length;E<p;E++)for(var A=u[E],T=n.getAttribute(A),v=n.morphAttributes[A],x=T.itemSize,w=c[A],S=l[A],_=0;_<x;_++){var M=f[_];if(w.push(T[M](y)),v)for(var C=0,I=v.length;C<I;C++)S[C].push(v[C][M](y))}e[b]=s,d.push(s),s++}}for(var B=n.clone(),m=0,p=u.length;m<p;m++){var A=u[m],F=n.getAttribute(A),L=new F.array.constructor(c[A]),T=new THREE__namespace.BufferAttribute(L,F.itemSize,F.normalized);if(B.setAttribute(A,T),A in l)for(var E=0;E<l[A].length;E++){var k=n.morphAttributes[A][E],L=new k.array.constructor(l[A][E]),O=new THREE__namespace.BufferAttribute(L,k.itemSize,k.normalized);B.morphAttributes[A][E]=O}}return B.setIndex(d),B}};function isThirdPersonMode(n){switch(n){case"Floorplan":return!0;case"Mapview":return!0;default:return!1}}function isFristPersonMode(n){switch(n){case"Panorama":return!0;case"VRPanorama":return!0;case"XRPanorama":return!0;case"Model":return!0;default:return!1}}var scratchVector3=new THREE__namespace.Vector3,scratchSphere=new THREE__namespace.Sphere,scratchMatrix4=new THREE__namespace.Matrix4,scratchMatrix4Inverse=new THREE__namespace.Matrix4,scratchBoundingBox=new THREE__namespace.Box3,ROTATE_X_90_MATRIX=new THREE__namespace.Matrix4().fromArray([1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1]),DEFAULT_BOUNDING=new THREE__namespace.Box3(new THREE__namespace.Vector3(-.5,-.5,-.5),new THREE__namespace.Vector3(.5,.5,.5));function getTransformMatrix(n,t){return"transformToEarthCentered"in n?Promise.resolve().then(function(){return n.transformToEarthCentered(t)}).then(function(e){var r=new THREE__namespace.Matrix4;return scratchVector3.copy(t).applyMatrix4(e),r.premultiply(e).premultiply(getWorldToLocalMatrix(scratchVector3,scratchMatrix4)).premultiply(ROTATE_X_90_MATRIX),r}):"transformToUpAxisZ"in n?Promise.resolve().then(function(){return n.transformToUpAxisZ(t)}).then(function(e){var r=new THREE__namespace.Matrix4;return r.premultiply(e).premultiply(ROTATE_X_90_MATRIX),r}):Promise.resolve(new THREE__namespace.Matrix4)}function getExt(n){var t=/([0-9a-z\.\_\-]+)([\?\#].*)?$/i.exec(n);if(t){var e=String(t[1]).trim().split(".").slice(1).reverse()[0];if(e)return e}return""}var ModelViewLayer=function(){function n(t,e,r,i,o,s){this.name=t,this.type=e,this.upAxis=r,this.worldToLocalTransform=i,this.scene=o,this.error=s}return Object.defineProperty(n.prototype,"tileset",{get:function(){var t;return(t=this.scene)===null||t===void 0?void 0:t.tileset},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"coordinates",{get:function(){var t=new THREE__namespace.Vector3;this.scene&&this.scene.getWorldPosition(t);var e=this.worldPointToCoordinates(t),r=e.longitude,i=e.latitude;return[i,r].map(function(o){return(o/Math.PI*180).toFixed(6)}).join(",")},enumerable:!1,configurable:!0}),n.prototype.getTransformMatrix4=function(t){return t===void 0&&(t=new THREE__namespace.Matrix4),t.copy(this.worldToLocalTransform),this.scene&&t.premultiply(this.scene.matrixWorld),t},n.prototype.coordinatesToWorldPoint=function(t){var e=pointFromCoordinates(t),r=this.getTransformMatrix4(scratchMatrix4);return e.applyMatrix4(r)},n.prototype.worldPointToCoordinates=function(t){if(!this.scene)throw new Error("ViewLayer Error.");var e=this.getTransformMatrix4(scratchMatrix4),r=scratchMatrix4Inverse.getInverse(e),i=new THREE__namespace.Vector3().copy(t).applyMatrix4(r);return coordinatesFromPoint(i)},n}(),Model=function(n){__extends(t,n);function t(e){e===void 0&&(e={});var r,i,o,s,u=n.call(this)||this;return u.name="",u.coordinatesSystemTransformers=(r=e.coordinatesSystemTransformers)!==null&&r!==void 0?r:[],u.onError=(i=e.onError)!==null&&i!==void 0?i:noop$1,u.onShownFloorChange=(o=e.onShownFloorChange)!==null&&o!==void 0?o:noop$1,u.onLoad=(s=e.onLoad)!==null&&s!==void 0?s:noop$1,u.work=null,u.viewLayers=[],u.bounding=new THREE__namespace.Box3(new THREE__namespace.Vector3,new THREE__namespace.Vector3),u.floorLength=0,u.textureOptions={},u.refined=!1,u.refineProgress=[0,0],u.loaded=!1,u.matrixAutoUpdate=!1,u.renderOrder=-4,u.needsRender=!0,u.autoRefine=!0,u.materialVersion=0,u.materialParameters=__assign({},defaultPbmParameters),u.cacheCameras=[],u.disposed=!1,u}return Object.defineProperty(t.prototype,"empty",{get:function(){return this.viewLayers.length===0},enumerable:!1,configurable:!0}),t.prototype.getMaterial=function(){return __assign({},this.materialParameters)},t.prototype.setMaterial=function(e){var r=this.materialParameters.shownFloorIndex,i=updatePBMParameters(this.materialParameters,e);if(i){var o=this.materialParameters.shownFloorIndex;r!==o&&this.onShownFloorChange(o),this.materialVersion++,this.needsRender=!0}},Object.defineProperty(t.prototype,"shownFloorIndex",{get:function(){return this.materialParameters.shownFloorIndex},set:function(e){this.setMaterial({shownFloorIndex:e})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"shownFloor",{get:function(){return this.shownFloorIndex===-1?null:this.shownFloorIndex},set:function(e){this.shownFloorIndex=e===null?-1:e},enumerable:!1,configurable:!0}),t.prototype.show=function(e){this.shownFloor=e!=null?e:null},Object.defineProperty(t.prototype,"clippers",{get:function(){return this.materialParameters.clippers},set:function(e){this.setMaterial({clippers:e})},enumerable:!1,configurable:!0}),t.prototype.getEdgesBySphere=function(e,r){r===void 0&&(r=30/180*Math.PI);for(var i=Math.cos(r),o=[],s=0,u=this.children;s<u.length;s++){var c=u[s];if(c instanceof Tile3DModel){var l=c.tileset.selectedTiles;l.forEach(function(d){var f,m,p;if(!(d.boundingVolume&&d.boundingVolume.distanceTo(e.center)>e.radius)){var A=(m=(f=d.content)===null||f===void 0?void 0:f.data)===null||m===void 0?void 0:m.object;if(A&&A.visible){var v=[];if(A.traverseVisible(function(q){if(q instanceof THREE__namespace.Mesh){var G=bvhMeshMap.get(q);if(G){scratchMatrix4.copy(q.matrixWorld),scratchMatrix4Inverse.getInverse(scratchMatrix4),scratchSphere.copy(e).applyMatrix4(scratchMatrix4Inverse);var K=G.trianglesInSphere(scratchSphere.center,scratchSphere.radius),X=new THREE__namespace.BufferGeometry;X.setAttribute("position",new THREE__namespace.BufferAttribute(K,3)),X.applyMatrix4(q.matrixWorld),X=BufferGeometryUtils.mergeVertices(X,.01),v.push(X)}}}),v.length===0)return;for(var g=["a","b","c"],h=BufferGeometryUtils.mergeBufferGeometries(v,!1),y=h.getAttribute("position").array,b=((p=h.getIndex())===null||p===void 0?void 0:p.array)||[],E=[],T=[],x=0,_=y.length;x<_;x+=3){var w=new THREE__namespace.Vector3(y[x],y[x+1],y[x+2]);E.push(w)}for(var x=0,_=b.length;x<_;x+=3){var S=b[x],M=b[x+1],C=b[x+2],I=new THREE__namespace.Vector3().crossVectors(E[M].clone().sub(E[S]),E[C].clone().sub(E[S])).normalize();T.push({a:S,b:M,c:C,normal:I})}for(var B={},x=0,_=T.length;x<_;x++)for(var F=T[x],L=0;L<3;L++){var k=F[g[L]],O=F[g[(L+1)%3]],D=[Math.min(k,O),Math.max(k,O)],Q=D[0]+"-"+D[1];B[Q]===void 0?B[Q]={index1:D[0],index2:D[1],face1:x}:B[Q].face2=x}for(var Q in B){var N=B[Q];if(N.face2===void 0||T[N.face1].normal.dot(T[N.face2].normal)<=i){var U=E[N.index1],W=E[N.index2];o.push(new THREE__namespace.Line3(U,W))}}E.length=0,T.length=0}}})}}return o},t.prototype.intersectRaycaster=function(e,r,i){r===void 0&&(r=null),i===void 0&&(i=!0);for(var o=[],s=0,u=this.children.length;s<u;s++){var c=this.children[s];c.visible&&c instanceof Tile3DModel&&c.intersectRaycaster(e,!1,o)}return r!=null&&(o=o.filter(function(l){return l.floor===r})),i&&o.sort(function(l,d){return l.distance-d.distance}),o},t.prototype.load=function(e,r){var i=this,o;if(r===void 0&&(r={}),this.work=e,this.name=this.work.workCode,!e.model)return Promise.resolve();for(var s=e.model,u=0,c=0,l=e.observers;c<l.length;c++){var d=l[c];u=Math.max(u,d.floorIndex)}this.floorLength=u+1;for(var f=!1,m=[],p=function(_){var w=_.tileset,S=_.upAxis,M=_.name,C=_.type;C==="mesh"&&(f=!0);var I=w.split("#"),B=I[0],F=I[1],L=(o=(F||B).split("?")[1])!==null&&o!==void 0?o:"",k=getFetcher(e).ajax(w,{responseType:"text"}).then(function(O){var D=JSON.parse(O.body),Q=D.root;"lodVersion"in D&&(S="-Y","floorInfo"in D&&(D.properties=D.properties||{},D.properties.floorInfo=D.floorInfo.map(function(q){return{ground:-q.ground,height:q.height}}),delete D.floorInfo),D.asset.tilesetVersion=String(D.lodVersion),delete D.lodVersion);var N=Q.boundingVolume?makeBoundingVolume(Q.boundingVolume):void 0;N&&Q.transform&&N.applyMatrix4(scratchMatrix4.fromArray(Q.transform));var U=i.coordinatesSystemTransformers.find(function(q){return q.name===S});if(!U)return Promise.reject(new Error("CoordinatesSystemTransformers: ".concat(S," not found.")));var W=new THREE__namespace.Vector3;return N&&N.getCenter(W),getTransformMatrix(U,W).then(function(q){var G,K,X;return D.root={refine:(G=Q.refine)!==null&&G!==void 0?G:"REPLACE",geometricError:D.geometricError,transform:q.toArray(),boundingVolume:N?N.toJson():void 0,viewerRequestVolume:!((K=r["3d-tiles"])===null||K===void 0)&&K.viewerRequestVolume?(X=r["3d-tiles"])===null||X===void 0?void 0:X.viewerRequestVolume.toJson():void 0,children:[Q]},{tilesetHeader:D,worldToLocalTransform:q}})}).then(function(O){var D=O.tilesetHeader,Q=O.worldToLocalTransform,N=w?w.slice(0,w.lastIndexOf("/")+1):"",U=new Tile3DModel(i,D,{resourcePath:N,search:L,fetcher:getFetcher(e)});if(U.name=w,U.matrix.copy(e.transform),U.matrix.decompose(U.position,U.quaternion,U.scale),U.matrixWorldNeedsUpdate=!0,r["3d-tiles"]){var W=r["3d-tiles"];typeof W.debug!="undefined"&&(U.debug=W.debug),typeof W.minLevelOfDetail!="undefined"&&(U.minLevelOfDetail=W.minLevelOfDetail),typeof W.maxLevelOfDetail!="undefined"&&(U.maxLevelOfDetail=W.maxLevelOfDetail),typeof W.maxMemoryUsage!="undefined"&&(U.maxMemoryUsage=W.maxMemoryUsage),typeof W.maxRequests!="undefined"&&(U.maxRequests=W.maxRequests),typeof W.maxScreenSpaceError!="undefined"&&(U.maxScreenSpaceError=W.maxScreenSpaceError)}return new ModelViewLayer(M,C,S,Q,U,null)});m.push(k.catch(function(O){return i.onError(O),new ModelViewLayer(M,C,S,new THREE__namespace.Matrix4,null,O)}))},A=0,v=s.layers;A<v.length;A++){var g=v[A];p(g)}if(!f&&s.file){var h=s.file,y=s.textureBase,b=s.textures,E=getExt(h)||"at3d",T=E==="at3d"||E==="pbm"?"Z":"Y",x=Promise.resolve().then(function(){var _=i.coordinatesSystemTransformers.find(function(S){return S.name===T});if(!_)return Promise.reject(new Error("CoordinatesSystemTransformers: ".concat(T," not found.")));var w=new THREE__namespace.Vector3(0,0,0);return getTransformMatrix(_,w).then(function(S){var M,C,I,B,F={asset:{gltfUpAxis:"Z",version:"0.0"},geometricError:0,root:{refine:"REPLACE",geometricError:0,transform:S.toArray(),viewerRequestVolume:!((C=r["3d-tiles"])===null||C===void 0)&&C.viewerRequestVolume?(I=r["3d-tiles"])===null||I===void 0?void 0:I.viewerRequestVolume.toJson():void 0,content:{uri:h},extras:(M={},M[E]={textureBaseUri:y,textureArray:b,textureOptions:(B=r.textureOptions)!==null&&B!==void 0?B:{}},M)}};return{tilesetHeader:F,worldToLocalTransform:S}})}).then(function(_){var w=_.tilesetHeader,S=_.worldToLocalTransform,M=new Tile3DModel(i,w,{resourcePath:"",fetcher:getFetcher(e)});return M.name=h,M.matrix.copy(e.transform),M.matrix.decompose(M.position,M.quaternion,M.scale),M.matrixWorldNeedsUpdate=!0,new ModelViewLayer("fallback","mesh",T,S,M,null)});m.push(x)}return Promise.all(m).then(function(_){for(var w,S=[],M=[],C=[],I=0,B=_;I<B.length;I++){var F=B[I];if(i.viewLayers.push(F),F.scene){if(i.disposed){F.scene.dispose();continue}switch(i.add(F.scene),F.scene.visible=!1,F.type){case"mesh":S.push(F.scene);break;case"point_cloud":M.push(F.scene);break;default:C.push(F.scene);break}}}S.length?S[0].visible=!0:M.length?M[0].visible=!0:C.length&&(C[0].visible=!0);var L=(w=r["3d-tiles"])===null||w===void 0?void 0:w.showLayers;if(typeof L=="boolean")for(var k=0,O=_;k<O.length;k++){var F=O[k];F.scene&&(F.scene.visible=L)}else if(Array.isArray(L))for(var D=0,Q=_;D<Q.length;D++){var F=Q[D];F.scene&&(F.scene.visible=L.indexOf(F.name)!==-1)}})},t.prototype.update=function(e,r,i){if(this.children.length){var o=this.loaded;this.refined=this.work!==null,this.refineProgress[0]=0,this.refineProgress[1]=0,this.loaded=this.work!==null,this.bounding.makeEmpty();for(var s=0,u=this.viewLayers;s<u.length;s++){var c=u[s],l=c.scene;l&&(this.work&&(l.idle=this.materialParameters.modelAlpha===0||!l.loaded,l.cacheCameras=this.cacheCameras,this.autoRefine===!1?l.needsRefined=!1:isFristPersonMode(i)?l.needsRefined=this.materialParameters.modelAlpha===0||this.materialParameters.modelAlpha===1:l.needsRefined=!0,this.work.transform.equals(l.matrix)||(l.matrix.copy(this.work.transform),l.matrix.decompose(l.position,l.quaternion,l.scale),l.matrixWorldNeedsUpdate=!0)),l.update(e,r),l.boundingBox.isEmpty()||(scratchBoundingBox.copy(l.boundingBox).applyMatrix4(l.matrix),this.bounding.union(scratchBoundingBox)),l.needsRender===!0&&(l.needsRender=!1,this.needsRender=!0),l.refined===!1&&(this.refined=!1),this.refineProgress[0]+=l.refineProgress[0],this.refineProgress[1]+=l.refineProgress[1],l.loaded===!1&&(this.loaded=!1))}this.bounding.isEmpty()&&this.bounding.copy(DEFAULT_BOUNDING),o===!1&&this.loaded===!0&&this.onLoad()}else this.work&&!this.work.model?(this.refined=!0,this.refineProgress[0]=0,this.refineProgress[1]=0,this.loaded=!0):(this.refined=!1,this.refineProgress[0]=0,this.refineProgress[1]=0,this.loaded=!1),this.bounding.set(new THREE__namespace.Vector3,new THREE__namespace.Vector3)},t.prototype.dispose=function(){this.disposed=!0;for(var e;e=this.children[0];)e instanceof Tile3DModel&&e.dispose(),this.remove(e)},t}(THREE__namespace.Object3D);function createModels(){var n=new THREE__namespace.Box3,t=omit(defaultPbmParameters,["clippers","shownFloorIndex"]),e=Object.assign([],{bounding:n,needsRender:!1,refined:!1,refineProgress:[0,0],loaded:!1,materialVersion:0,cacheCameras:[],autoUpdate:!0,intersectRaycaster:function(r,i,o){o===void 0&&(o=!0);var s;if(e.length===1)s=e[0].intersectRaycaster(r,i,o);else if(e.length===0)s=[];else{s=[];for(var u=0,c=e;u<c.length;u++){var l=c[u];if(l.visible){var d=l.intersectRaycaster(r,i,!1);d.length&&s.push.apply(s,d)}}o&&s.sort(function(f,m){return f.distance-m.distance})}return s},setMaterial:function(r){var i=updatePBMParameters(t,r);i&&(e.materialVersion++,e.needsRender=!0)},getMaterial:function(){return __assign({},t)},update:function(r,i,o){if(e.autoUpdate!==!1){e.refined=e.length>0,e.loaded=e.length>0,e.refineProgress[0]=0,e.refineProgress[1]=0,n.makeEmpty();for(var s=0,u=e.cacheCameras;s<u.length;s++){var c=u[s];c.updateMatrixWorld(!0),c.updateProjectionMatrix()}for(var l=0,d=e;l<d.length;l++){var f=d[l];f.setMaterial(t),f.cacheCameras=e.cacheCameras,f.update(r,i,o),f.needsRender===!0&&(e.needsRender=!0,f.needsRender=!1),f.refined===!1&&(e.refined=!1),e.refineProgress[0]+=f.refineProgress[0],e.refineProgress[1]+=f.refineProgress[1],f.loaded===!1&&(e.loaded=!1),n.union(f.bounding)}n.isEmpty()&&n.copy(DEFAULT_BOUNDING)}}});return e}function mixNumber(n,t,e){return n+(t-n)*e}function value(n,t,e,r){var i=(t*e+2*n)/Math.pow(e,3),o=-(2*t*e+3*n)/Math.pow(e,2),s=t,u=n;return i*Math.pow(r,3)+o*Math.pow(r,2)+s*r+u}function velocity(n,t,e,r){var i=(t*e+2*n)/Math.pow(e,3),o=-(2*t*e+3*n)/Math.pow(e,2),s=t;return 3*i*Math.pow(r,2)+2*o*r+s}function mixCircle(n,t,e,r){var i=r[1]-r[0];return n=circleValue(n,r),t=circleValue(t,r),t-n>i/2?mixNumber(n+i,t,e):n-t>i/2?mixNumber(n-i,t,e):mixNumber(n,t,e)}function circleValue(n,t){var e=t[1]-t[0];return n<t[0]?circleValue(n+e,t):n>=t[1]?circleValue(n-e,t):n}function mixValue(n,t,e,r){return r?mixCircle(n,t,e,r):mixNumber(n,t,e)}var Motion=function(){function n(t){this.config={},this.progress=1,this.ended=!0,this.value={},this.startTime=now(),this.startVelocity=0,this.duration=0,this.keyframes=[];for(var e in t){var r=t[e];typeof r=="number"?(this.value[e]=r,this.config[e]={circle:!1}):(this.value[e]=r.value,this.config[e]={circle:r.circle})}this.keyframes=[{progress:0,value:__assign({},this.value)},{progress:1,value:__assign({},this.value)}]}return n.prototype.getProgress=function(t){var e=t-this.startTime;return e<0?0:e>=this.duration?1:1-value(1,this.startVelocity,this.duration,e)},n.prototype.getValue=function(t){for(var e=1;e<this.keyframes.length;e++)if(this.keyframes[e].progress>t){var r=this.keyframes[e-1],i=this.keyframes[e],o={};for(var s in this.config){var u=(t-r.progress)/(i.progress-r.progress);o[s]=mixValue(r.value[s],i.value[s],u,this.config[s].circle)}return o}return __assign({},this.keyframes[this.keyframes.length-1].value)},n.prototype.getProgressVelocity=function(t){var e=t-this.startTime;return e>=this.duration?0:velocity(1,this.startVelocity,this.duration,e)},n.prototype.update=function(t){return this.ended?!0:(this.progress=Math.min(1,Math.max(0,this.progress,this.getProgress(t))),this.value=this.getValue(this.progress),this.ended=this.progress>=1,this.ended&&this.callbacks&&(this.callbacks[0](),this.callbacks=void 0),this.ended)},n.prototype.getKeyFrameSegment=function(t){for(var e=this.getProgress(t),r=1;r<this.keyframes.length;r++)if(this.keyframes[r].progress>e)return[this.keyframes[r-1],this.keyframes[r]];return[this.keyframes[this.keyframes.length-2],this.keyframes[this.keyframes.length-1]]},n.prototype.getTargetKeyframe=function(){return this.keyframes[this.keyframes.length-1]},n.prototype.set=function(t,e,r,i){var o;r===void 0&&(r=0),isNaN(e)&&(e=0),isNaN(r)&&(r=0),i=i!=null?i:now();var s=this.getProgress(i),u=this.getValue(s),c={};for(var l in this.config)c[l]=(o=t[l])!==null&&o!==void 0?o:u[l];var d=[{progress:0,value:u},{progress:1,value:c}];return this.setKeyframes(d,e,r,i)},n.prototype.setKeyframes=function(t,e,r,i){var o=this;if(r===void 0&&(r=0),t.length<2)throw new Error("keyframes invalid.");return isNaN(e)&&(e=0),isNaN(r)&&(r=0),this.callbacks&&(this.callbacks[1](new Error("motion aborted.")),this.callbacks=void 0),new Promise(function(s,u){i=i!=null?i:now(),o.progress=0,o.ended=!1,o.startTime=i,o.startVelocity=r,o.keyframes=t,o.duration=e,e===0?(o.progress=1,o.value=__assign({},t[t.length-1].value)):o.value=__assign({},t[0].value),o.callbacks=[s,u]})},n.prototype.dispose=function(){this.callbacks&&(this.callbacks[1](new Error("motion dispose.")),this.callbacks=void 0)},n}(),easeOut$2=function(n){return n*(2-n)},sharedGeometry2$2=function(){var n=new Float32Array([-.18,0,-.18,.18,0,-.18,-.18,0,.18,.18,0,.18]),t=new Float32Array([1,0,0,0,1,1,0,1]),e=new Uint8Array([0,2,1,2,3,1]),r=new THREE__namespace.BufferGeometry;return r.setAttribute("position",new THREE__namespace.BufferAttribute(n,3)),r.setAttribute("uv",new THREE__namespace.BufferAttribute(t,2)),r.setIndex(new THREE__namespace.BufferAttribute(e,1)),r}(),vertexShader$4=`
|
|
933
933
|
varying vec2 vUv;
|
|
934
934
|
void main() {
|
|
935
935
|
vUv = uv;
|
|
@@ -1037,7 +1037,7 @@ void main() {
|
|
|
1037
1037
|
|
|
1038
1038
|
gl_FragColor = vec4(gl_FragColor.rgb * baseColor, gl_FragColor.a * opacity * opacity);
|
|
1039
1039
|
}
|
|
1040
|
-
`,PanoCircleMesh=function(n){__extends(t,n);function t(e){e===void 0&&(e={});var r,i,o=n.call(this)||this,s=(r=e.color)!==null&&r!==void 0?r:16777215,u=(i=e.scale)!==null&&i!==void 0?i:1;return o.progress=0,o.opacity=0,o.loading=!1,o.current=!1,o.disabled=!1,o.currentMotion=new Motion({progress:0}),o.ringMotion=new Motion({scale:1,opacity:1}),o.tapMotion=new Motion({scale:1,opacity:1}),o.loadingOpacityMotion=new Motion({opacity:0}),o.progressMotion=new Motion({progress:0}),o.progressOpacityMotion=new Motion({opacity:0}),o.opacityMotion=new Motion({opacity:0}),o.disableMotion=new Motion({progress:0}),o.panoMesh=new THREE__namespace.Mesh(sharedGeometry2$2,new THREE__namespace.ShaderMaterial({blending:THREE__namespace.CustomBlending,blendSrc:THREE__namespace.SrcAlphaFactor,blendDst:THREE__namespace.OneMinusSrcAlphaFactor,blendSrcAlpha:THREE__namespace.OneFactor,blendDstAlpha:THREE__namespace.OneMinusSrcAlphaFactor,depthWrite:!1,vertexShader:vertexShader$4,fragmentShader:fragmentShader$4,uniforms:{baseColor:{value:new THREE__namespace.Color(s)},circleScale:{value:1},ringScale:{value:1},ringOpacity:{value:1},loadingAngle:{value:0},loadingOpacity:{value:0},progress:{value:0},progressOpacity:{value:0},expand0:{value:0},expand1:{value:0},expandOpacity:{value:0},opacity:{value:0},tapScale:{value:1},tapOpacity:{value:1},disable:{value:0}}})),o.renderOrder=-2,o.panoMesh.renderOrder=-2,o.panoMesh.position.y=.004,o.panoMesh.scale.set(u,1,u),o.add(o.panoMesh),o.currentStartTime=now(),o.needsRender=!0,o}return t.prototype.setProgress=function(e){var r=this;this.setDisabled(!1),this.setLoading(!1),this.progress!==e&&(e=clamp(e,0,1),this.tapMotion.ended&&(this.progress===0&&this.progressOpacityMotion.set({opacity:1},500).catch(noop$1),e===0?this.progressOpacityMotion.set({opacity:0},500).catch(noop$1).then(function(){r.progressMotion.set({progress:0},0).catch(noop$1)}):this.progressMotion.set({progress:clamp(e*1.2,0,1)},100).catch(noop$1)),this.progress=e)},t.prototype.setOpacity=function(e){this.opacity!==e&&(this.opacity=e=clamp(e,0,1),this.opacityMotion.set({opacity:e},200).catch(noop$1))},t.prototype.setCurrent=function(e){this.current!==e&&(this.currentMotion.set({progress:e?1:0},2e3).catch(noop$1),this.current=e,this.current===!0&&(this.currentStartTime=now()))},t.prototype.setLoading=function(e){this.loading!==e&&(this.loading=e,this.disabled===!0&&this.setDisabled(!1),this.loadingOpacityMotion.set({opacity:e?1:0},500).catch(noop$1))},t.prototype.setDisabled=function(e){this.disabled!==e&&(this.disabled=e,this.loading===!0&&this.setLoading(!1),this.disableMotion.set({progress:e?1:0},500).catch(noop$1))},t.prototype.tap=function(){var e=this;if(!this.tapMotion.ended)return Promise.resolve();var r=[{progress:0,value:{scale:1,opacity:1}},{progress:.3,value:{scale:.85,opacity:.5}},{progress:.8,value:{scale:1.05,opacity:.6}},{progress:1,value:{scale:1,opacity:1}}];return this.progressOpacityMotion.set({opacity:0},0).catch(noop$1),this.progressMotion.set({progress:0},0).catch(noop$1),this.tapMotion.setKeyframes(r,600).then(function(){e.progressOpacityMotion.set({opacity:e.progress>0?1:0},300).catch(noop$1),e.progressMotion.set({progress:e.progress},120).catch(noop$1)}).catch(noop$1)},t.prototype.updateTime=function(e,r){if(!this.progressMotion.ended){this.progressMotion.update(e);var i=this.progressMotion.value.progress;this.panoMesh.material.uniforms.progress.value=i,this.needsRender=!0}if(!this.progressOpacityMotion.ended){this.progressOpacityMotion.update(e);var o=this.progressOpacityMotion.value.opacity;this.panoMesh.material.uniforms.progressOpacity.value=o,this.needsRender=!0}if(!this.opacityMotion.ended){this.opacityMotion.update(e);var o=this.opacityMotion.value.opacity;this.panoMesh.material.uniforms.opacity.value=o,this.needsRender=!0}if(this.visible=this.opacityMotion.value.opacity!==0,(!this.loadingOpacityMotion.ended||this.loadingOpacityMotion.value.opacity>0)&&(this.loadingOpacityMotion.update(e),this.panoMesh.material.uniforms.loadingOpacity.value=this.loadingOpacityMotion.value.opacity,this.panoMesh.material.uniforms.loadingAngle.value=e/120%(Math.PI*2),this.needsRender=!0),this.tapMotion.ended||(this.tapMotion.update(e),this.panoMesh.material.uniforms.tapOpacity.value=this.tapMotion.value.opacity,this.panoMesh.material.uniforms.tapScale.value=this.tapMotion.value.scale,this.needsRender=!0),this.current||!this.currentMotion.ended){this.currentMotion.update(e),this.panoMesh.material.uniforms.expandOpacity.value=this.currentMotion.value.progress;{var s=(e-this.currentStartTime-1500)/2e3;if(s%5<2){var u=1+Math.sin(Math.PI*s)/25*this.currentMotion.value.progress;this.panoMesh.material.uniforms.circleScale.value=u,this.needsRender=!0}}{var
|
|
1040
|
+
`,PanoCircleMesh=function(n){__extends(t,n);function t(e){e===void 0&&(e={});var r,i,o=n.call(this)||this,s=(r=e.color)!==null&&r!==void 0?r:16777215,u=(i=e.scale)!==null&&i!==void 0?i:1;return o.progress=0,o.opacity=0,o.loading=!1,o.current=!1,o.disabled=!1,o.currentMotion=new Motion({progress:0}),o.ringMotion=new Motion({scale:1,opacity:1}),o.tapMotion=new Motion({scale:1,opacity:1}),o.loadingOpacityMotion=new Motion({opacity:0}),o.progressMotion=new Motion({progress:0}),o.progressOpacityMotion=new Motion({opacity:0}),o.opacityMotion=new Motion({opacity:0}),o.disableMotion=new Motion({progress:0}),o.panoMesh=new THREE__namespace.Mesh(sharedGeometry2$2,new THREE__namespace.ShaderMaterial({blending:THREE__namespace.CustomBlending,blendSrc:THREE__namespace.SrcAlphaFactor,blendDst:THREE__namespace.OneMinusSrcAlphaFactor,blendSrcAlpha:THREE__namespace.OneFactor,blendDstAlpha:THREE__namespace.OneMinusSrcAlphaFactor,depthWrite:!1,vertexShader:vertexShader$4,fragmentShader:fragmentShader$4,uniforms:{baseColor:{value:new THREE__namespace.Color(s)},circleScale:{value:1},ringScale:{value:1},ringOpacity:{value:1},loadingAngle:{value:0},loadingOpacity:{value:0},progress:{value:0},progressOpacity:{value:0},expand0:{value:0},expand1:{value:0},expandOpacity:{value:0},opacity:{value:0},tapScale:{value:1},tapOpacity:{value:1},disable:{value:0}}})),o.renderOrder=-2,o.panoMesh.renderOrder=-2,o.panoMesh.position.y=.004,o.panoMesh.scale.set(u,1,u),o.add(o.panoMesh),o.currentStartTime=now(),o.needsRender=!0,o}return t.prototype.setProgress=function(e){var r=this;this.setDisabled(!1),this.setLoading(!1),this.progress!==e&&(e=clamp(e,0,1),this.tapMotion.ended&&(this.progress===0&&this.progressOpacityMotion.set({opacity:1},500).catch(noop$1),e===0?this.progressOpacityMotion.set({opacity:0},500).catch(noop$1).then(function(){r.progressMotion.set({progress:0},0).catch(noop$1)}):this.progressMotion.set({progress:clamp(e*1.2,0,1)},100).catch(noop$1)),this.progress=e)},t.prototype.setOpacity=function(e){this.opacity!==e&&(this.opacity=e=clamp(e,0,1),this.opacityMotion.set({opacity:e},200).catch(noop$1))},t.prototype.setCurrent=function(e){this.current!==e&&(this.currentMotion.set({progress:e?1:0},2e3).catch(noop$1),this.current=e,this.current===!0&&(this.currentStartTime=now()))},t.prototype.setLoading=function(e){this.loading!==e&&(this.loading=e,this.disabled===!0&&this.setDisabled(!1),this.loadingOpacityMotion.set({opacity:e?1:0},500).catch(noop$1))},t.prototype.setDisabled=function(e){this.disabled!==e&&(this.disabled=e,this.loading===!0&&this.setLoading(!1),this.disableMotion.set({progress:e?1:0},500).catch(noop$1))},t.prototype.tap=function(){var e=this;if(!this.tapMotion.ended)return Promise.resolve();var r=[{progress:0,value:{scale:1,opacity:1}},{progress:.3,value:{scale:.85,opacity:.5}},{progress:.8,value:{scale:1.05,opacity:.6}},{progress:1,value:{scale:1,opacity:1}}];return this.progressOpacityMotion.set({opacity:0},0).catch(noop$1),this.progressMotion.set({progress:0},0).catch(noop$1),this.tapMotion.setKeyframes(r,600).then(function(){e.progressOpacityMotion.set({opacity:e.progress>0?1:0},300).catch(noop$1),e.progressMotion.set({progress:e.progress},120).catch(noop$1)}).catch(noop$1)},t.prototype.updateTime=function(e,r){if(!this.progressMotion.ended){this.progressMotion.update(e);var i=this.progressMotion.value.progress;this.panoMesh.material.uniforms.progress.value=i,this.needsRender=!0}if(!this.progressOpacityMotion.ended){this.progressOpacityMotion.update(e);var o=this.progressOpacityMotion.value.opacity;this.panoMesh.material.uniforms.progressOpacity.value=o,this.needsRender=!0}if(!this.opacityMotion.ended){this.opacityMotion.update(e);var o=this.opacityMotion.value.opacity;this.panoMesh.material.uniforms.opacity.value=o,this.needsRender=!0}if(this.visible=this.opacityMotion.value.opacity!==0,(!this.loadingOpacityMotion.ended||this.loadingOpacityMotion.value.opacity>0)&&(this.loadingOpacityMotion.update(e),this.panoMesh.material.uniforms.loadingOpacity.value=this.loadingOpacityMotion.value.opacity,this.panoMesh.material.uniforms.loadingAngle.value=e/120%(Math.PI*2),this.needsRender=!0),this.tapMotion.ended||(this.tapMotion.update(e),this.panoMesh.material.uniforms.tapOpacity.value=this.tapMotion.value.opacity,this.panoMesh.material.uniforms.tapScale.value=this.tapMotion.value.scale,this.needsRender=!0),this.current||!this.currentMotion.ended){this.currentMotion.update(e),this.panoMesh.material.uniforms.expandOpacity.value=this.currentMotion.value.progress;{var s=(e-this.currentStartTime-1500)/2e3;if(s%5<2){var u=1+Math.sin(Math.PI*s)/25*this.currentMotion.value.progress;this.panoMesh.material.uniforms.circleScale.value=u,this.needsRender=!0}}{var c=(e-this.currentStartTime-1500)/2e3;if(c%5<2){var l=c%1;this.panoMesh.material.uniforms.expand0.value=easeOut$2(l)*this.currentMotion.value.progress,this.needsRender=!0}}{var d=(e-this.currentStartTime-1e3)/2e3;if(d%5<2){var l=d%1;this.panoMesh.material.uniforms.expand1.value=easeOut$2(l)*this.currentMotion.value.progress,this.needsRender=!0}}}if(this.currentMotion.value.progress>.2&&this.progress===0&&this.loading===!1){var f=(e-this.currentStartTime-1e3)/2e3;f%5<2?this.ringMotion.getTargetKeyframe().value.scale!==.8&&this.ringMotion.set({scale:.8,opacity:0},600).catch(noop$1):this.ringMotion.getTargetKeyframe().value.scale!==1&&this.ringMotion.set({scale:1,opacity:1},600).catch(noop$1)}else this.ringMotion.getTargetKeyframe().value.scale!==1&&this.ringMotion.set({scale:1,opacity:1},600).catch(noop$1);if(!this.ringMotion.ended){var m=this.ringMotion.value,u=m.scale,o=m.opacity;this.ringMotion.update(e),this.panoMesh.material.uniforms.ringScale.value=u,this.panoMesh.material.uniforms.ringOpacity.value=o,this.needsRender=!0}if(!this.disableMotion.ended){var i=this.disableMotion.value.progress;this.disableMotion.update(e),this.panoMesh.material.uniforms.disable.value=i,this.needsRender=!0}},t.prototype.dispose=function(){this.ringMotion.dispose(),this.tapMotion.dispose(),this.progressMotion.dispose(),this.progressOpacityMotion.dispose(),this.opacityMotion.dispose(),this.currentMotion.dispose(),this.panoMesh.material.dispose()},t}(THREE__namespace.Object3D),easeOut$1=function(n){return n*(2-n)},sharedGeometry2$1=function(){var n=new Float32Array([-.18,0,-.18,.18,0,-.18,-.18,0,.18,.18,0,.18]),t=new Float32Array([1,0,0,0,1,1,0,1]),e=new Uint8Array([0,2,1,2,3,1]),r=new THREE__namespace.BufferGeometry;return r.setAttribute("position",new THREE__namespace.BufferAttribute(n,3)),r.setAttribute("uv",new THREE__namespace.BufferAttribute(t,2)),r.setIndex(new THREE__namespace.BufferAttribute(e,1)),r}(),vertexShader$3=`
|
|
1041
1041
|
varying vec2 vUv;
|
|
1042
1042
|
void main() {
|
|
1043
1043
|
vUv = uv;
|
|
@@ -1135,7 +1135,7 @@ void main() {
|
|
|
1135
1135
|
|
|
1136
1136
|
gl_FragColor = vec4(gl_FragColor.rgb * baseColor, gl_FragColor.a * opacity * opacity);
|
|
1137
1137
|
}
|
|
1138
|
-
`,PanoCircleMeshSolid=function(n){__extends(t,n);function t(e){e===void 0&&(e={});var r,i,o=n.call(this)||this,s=(r=e.color)!==null&&r!==void 0?r:16777215,u=(i=e.scale)!==null&&i!==void 0?i:1;return o.progress=0,o.opacity=0,o.loading=!1,o.current=!1,o.disabled=!1,o.currentMotion=new Motion({progress:0}),o.tapMotion=new Motion({scale:1,opacity:1}),o.loadingOpacityMotion=new Motion({opacity:0}),o.progressMotion=new Motion({progress:0}),o.progressOpacityMotion=new Motion({opacity:0}),o.opacityMotion=new Motion({opacity:0}),o.disableMotion=new Motion({progress:0}),o.panoMesh=new THREE__namespace.Mesh(sharedGeometry2$1,new THREE__namespace.ShaderMaterial({blending:THREE__namespace.CustomBlending,blendSrc:THREE__namespace.SrcAlphaFactor,blendDst:THREE__namespace.OneMinusSrcAlphaFactor,blendSrcAlpha:THREE__namespace.OneFactor,blendDstAlpha:THREE__namespace.OneMinusSrcAlphaFactor,depthWrite:!1,vertexShader:vertexShader$3,fragmentShader:fragmentShader$3,uniforms:{baseColor:{value:new THREE__namespace.Color(s)},circleScale:{value:1},circleOpacity:{value:1},loadingAngle:{value:0},loadingOpacity:{value:0},progress:{value:0},progressOpacity:{value:0},expand0:{value:0},expand1:{value:0},expandOpacity:{value:0},opacity:{value:0},tapScale:{value:1},tapOpacity:{value:1},disable:{value:0}}})),o.renderOrder=-2,o.panoMesh.renderOrder=-2,o.panoMesh.position.y=.004,o.panoMesh.scale.set(u,1,u),o.add(o.panoMesh),o.currentStartTime=now(),o.needsRender=!0,o}return t.prototype.setProgress=function(e){var r=this;this.setDisabled(!1),this.setLoading(!1),this.progress!==e&&(e=clamp(e,0,1),this.tapMotion.ended&&(this.progress===0&&this.progressOpacityMotion.set({opacity:1},500).catch(noop$1),e===0?this.progressOpacityMotion.set({opacity:0},500).catch(noop$1).then(function(){r.progressMotion.set({progress:0},0).catch(noop$1)}):this.progressMotion.set({progress:clamp(e*1.2,0,1)},100).catch(noop$1)),this.progress=e)},t.prototype.setOpacity=function(e){this.opacity!==e&&(this.opacity=e=clamp(e,0,1),this.opacityMotion.set({opacity:e},200).catch(noop$1))},t.prototype.setCurrent=function(e){this.current!==e&&(this.currentMotion.set({progress:e?1:0},2e3).catch(noop$1),this.current=e,this.current===!0&&(this.currentStartTime=now()))},t.prototype.setLoading=function(e){this.loading!==e&&(this.loading=e,this.disabled===!0&&this.setDisabled(!1),this.loadingOpacityMotion.set({opacity:e?1:0},500).catch(noop$1))},t.prototype.setDisabled=function(e){this.disabled!==e&&(this.disabled=e,this.loading===!0&&this.setLoading(!1),this.disableMotion.set({progress:e?1:0},500).catch(noop$1))},t.prototype.tap=function(){var e=this;if(!this.tapMotion.ended)return Promise.resolve();var r=[{progress:0,value:{scale:1,opacity:1}},{progress:.3,value:{scale:.85,opacity:.5}},{progress:.8,value:{scale:1.05,opacity:.6}},{progress:1,value:{scale:1,opacity:1}}];return this.progressOpacityMotion.set({opacity:0},0).catch(noop$1),this.progressMotion.set({progress:0},0).catch(noop$1),this.tapMotion.setKeyframes(r,600).then(function(){e.progressOpacityMotion.set({opacity:e.progress>0?1:0},300).catch(noop$1),e.progressMotion.set({progress:e.progress},120).catch(noop$1)}).catch(noop$1)},t.prototype.updateTime=function(e,r){if(!this.progressMotion.ended){this.progressMotion.update(e);var i=this.progressMotion.value.progress;this.panoMesh.material.uniforms.progress.value=i,this.needsRender=!0}if(!this.progressOpacityMotion.ended){this.progressOpacityMotion.update(e);var o=this.progressOpacityMotion.value.opacity;this.panoMesh.material.uniforms.progressOpacity.value=o,this.needsRender=!0}if(!this.opacityMotion.ended){this.opacityMotion.update(e);var o=this.opacityMotion.value.opacity;this.panoMesh.material.uniforms.opacity.value=o,this.needsRender=!0}if(this.visible=this.opacityMotion.value.opacity!==0,(!this.loadingOpacityMotion.ended||this.loadingOpacityMotion.value.opacity>0)&&(this.loadingOpacityMotion.update(e),this.panoMesh.material.uniforms.loadingOpacity.value=this.loadingOpacityMotion.value.opacity,this.panoMesh.material.uniforms.loadingAngle.value=e/120%(Math.PI*2),this.needsRender=!0),this.tapMotion.ended||(this.tapMotion.update(e),this.panoMesh.material.uniforms.tapOpacity.value=this.tapMotion.value.opacity,this.panoMesh.material.uniforms.tapScale.value=this.tapMotion.value.scale,this.needsRender=!0),this.panoMesh.material.uniforms.circleOpacity.value=Math.max(.6,1-Math.max(this.loadingOpacityMotion.value.opacity,this.progressOpacityMotion.value.opacity)),this.current||!this.currentMotion.ended){this.currentMotion.update(e),this.panoMesh.material.uniforms.expandOpacity.value=this.currentMotion.value.progress;{var s=(e-this.currentStartTime-1500)/2e3;if(s%5<2){var u=1+Math.sin(Math.PI*s)/25*this.currentMotion.value.progress;this.panoMesh.material.uniforms.circleScale.value=u,this.needsRender=!0}}{var
|
|
1138
|
+
`,PanoCircleMeshSolid=function(n){__extends(t,n);function t(e){e===void 0&&(e={});var r,i,o=n.call(this)||this,s=(r=e.color)!==null&&r!==void 0?r:16777215,u=(i=e.scale)!==null&&i!==void 0?i:1;return o.progress=0,o.opacity=0,o.loading=!1,o.current=!1,o.disabled=!1,o.currentMotion=new Motion({progress:0}),o.tapMotion=new Motion({scale:1,opacity:1}),o.loadingOpacityMotion=new Motion({opacity:0}),o.progressMotion=new Motion({progress:0}),o.progressOpacityMotion=new Motion({opacity:0}),o.opacityMotion=new Motion({opacity:0}),o.disableMotion=new Motion({progress:0}),o.panoMesh=new THREE__namespace.Mesh(sharedGeometry2$1,new THREE__namespace.ShaderMaterial({blending:THREE__namespace.CustomBlending,blendSrc:THREE__namespace.SrcAlphaFactor,blendDst:THREE__namespace.OneMinusSrcAlphaFactor,blendSrcAlpha:THREE__namespace.OneFactor,blendDstAlpha:THREE__namespace.OneMinusSrcAlphaFactor,depthWrite:!1,vertexShader:vertexShader$3,fragmentShader:fragmentShader$3,uniforms:{baseColor:{value:new THREE__namespace.Color(s)},circleScale:{value:1},circleOpacity:{value:1},loadingAngle:{value:0},loadingOpacity:{value:0},progress:{value:0},progressOpacity:{value:0},expand0:{value:0},expand1:{value:0},expandOpacity:{value:0},opacity:{value:0},tapScale:{value:1},tapOpacity:{value:1},disable:{value:0}}})),o.renderOrder=-2,o.panoMesh.renderOrder=-2,o.panoMesh.position.y=.004,o.panoMesh.scale.set(u,1,u),o.add(o.panoMesh),o.currentStartTime=now(),o.needsRender=!0,o}return t.prototype.setProgress=function(e){var r=this;this.setDisabled(!1),this.setLoading(!1),this.progress!==e&&(e=clamp(e,0,1),this.tapMotion.ended&&(this.progress===0&&this.progressOpacityMotion.set({opacity:1},500).catch(noop$1),e===0?this.progressOpacityMotion.set({opacity:0},500).catch(noop$1).then(function(){r.progressMotion.set({progress:0},0).catch(noop$1)}):this.progressMotion.set({progress:clamp(e*1.2,0,1)},100).catch(noop$1)),this.progress=e)},t.prototype.setOpacity=function(e){this.opacity!==e&&(this.opacity=e=clamp(e,0,1),this.opacityMotion.set({opacity:e},200).catch(noop$1))},t.prototype.setCurrent=function(e){this.current!==e&&(this.currentMotion.set({progress:e?1:0},2e3).catch(noop$1),this.current=e,this.current===!0&&(this.currentStartTime=now()))},t.prototype.setLoading=function(e){this.loading!==e&&(this.loading=e,this.disabled===!0&&this.setDisabled(!1),this.loadingOpacityMotion.set({opacity:e?1:0},500).catch(noop$1))},t.prototype.setDisabled=function(e){this.disabled!==e&&(this.disabled=e,this.loading===!0&&this.setLoading(!1),this.disableMotion.set({progress:e?1:0},500).catch(noop$1))},t.prototype.tap=function(){var e=this;if(!this.tapMotion.ended)return Promise.resolve();var r=[{progress:0,value:{scale:1,opacity:1}},{progress:.3,value:{scale:.85,opacity:.5}},{progress:.8,value:{scale:1.05,opacity:.6}},{progress:1,value:{scale:1,opacity:1}}];return this.progressOpacityMotion.set({opacity:0},0).catch(noop$1),this.progressMotion.set({progress:0},0).catch(noop$1),this.tapMotion.setKeyframes(r,600).then(function(){e.progressOpacityMotion.set({opacity:e.progress>0?1:0},300).catch(noop$1),e.progressMotion.set({progress:e.progress},120).catch(noop$1)}).catch(noop$1)},t.prototype.updateTime=function(e,r){if(!this.progressMotion.ended){this.progressMotion.update(e);var i=this.progressMotion.value.progress;this.panoMesh.material.uniforms.progress.value=i,this.needsRender=!0}if(!this.progressOpacityMotion.ended){this.progressOpacityMotion.update(e);var o=this.progressOpacityMotion.value.opacity;this.panoMesh.material.uniforms.progressOpacity.value=o,this.needsRender=!0}if(!this.opacityMotion.ended){this.opacityMotion.update(e);var o=this.opacityMotion.value.opacity;this.panoMesh.material.uniforms.opacity.value=o,this.needsRender=!0}if(this.visible=this.opacityMotion.value.opacity!==0,(!this.loadingOpacityMotion.ended||this.loadingOpacityMotion.value.opacity>0)&&(this.loadingOpacityMotion.update(e),this.panoMesh.material.uniforms.loadingOpacity.value=this.loadingOpacityMotion.value.opacity,this.panoMesh.material.uniforms.loadingAngle.value=e/120%(Math.PI*2),this.needsRender=!0),this.tapMotion.ended||(this.tapMotion.update(e),this.panoMesh.material.uniforms.tapOpacity.value=this.tapMotion.value.opacity,this.panoMesh.material.uniforms.tapScale.value=this.tapMotion.value.scale,this.needsRender=!0),this.panoMesh.material.uniforms.circleOpacity.value=Math.max(.6,1-Math.max(this.loadingOpacityMotion.value.opacity,this.progressOpacityMotion.value.opacity)),this.current||!this.currentMotion.ended){this.currentMotion.update(e),this.panoMesh.material.uniforms.expandOpacity.value=this.currentMotion.value.progress;{var s=(e-this.currentStartTime-1500)/2e3;if(s%5<2){var u=1+Math.sin(Math.PI*s)/25*this.currentMotion.value.progress;this.panoMesh.material.uniforms.circleScale.value=u,this.needsRender=!0}}{var c=(e-this.currentStartTime-1500)/2e3;if(c%5<2){var l=c%1;this.panoMesh.material.uniforms.expand0.value=easeOut$1(l)*this.currentMotion.value.progress,this.needsRender=!0}}{var d=(e-this.currentStartTime-1e3)/2e3;if(d%5<2){var l=d%1;this.panoMesh.material.uniforms.expand1.value=easeOut$1(l)*this.currentMotion.value.progress,this.needsRender=!0}}}if(!this.disableMotion.ended){var i=this.disableMotion.value.progress;this.disableMotion.update(e),this.panoMesh.material.uniforms.disable.value=i,this.needsRender=!0}},t.prototype.dispose=function(){this.tapMotion.dispose(),this.progressMotion.dispose(),this.progressOpacityMotion.dispose(),this.opacityMotion.dispose(),this.currentMotion.dispose(),this.panoMesh.material.dispose()},t}(THREE__namespace.Object3D),easeOut=function(n){return n*(2-n)},sharedGeometry2=function(){var n=new Float32Array([-.18,0,-.18,.18,0,-.18,-.18,0,.18,.18,0,.18]),t=new Float32Array([1,0,0,0,1,1,0,1]),e=new Uint8Array([0,2,1,2,3,1]),r=new THREE__namespace.BufferGeometry;return r.setAttribute("position",new THREE__namespace.BufferAttribute(n,3)),r.setAttribute("uv",new THREE__namespace.BufferAttribute(t,2)),r.setIndex(new THREE__namespace.BufferAttribute(e,1)),r}(),vertexShader$2=`
|
|
1139
1139
|
varying vec2 vUv;
|
|
1140
1140
|
void main() {
|
|
1141
1141
|
vUv = uv;
|
|
@@ -1274,7 +1274,7 @@ void main() {
|
|
|
1274
1274
|
|
|
1275
1275
|
gl_FragColor = vec4(gl_FragColor.rgb, gl_FragColor.a * opacity);
|
|
1276
1276
|
}
|
|
1277
|
-
`,PanoCircleMeshCustom=function(n){__extends(t,n);function t(e){e===void 0&&(e={});var r,i,o,s,u,l,
|
|
1277
|
+
`,PanoCircleMeshCustom=function(n){__extends(t,n);function t(e){e===void 0&&(e={});var r,i,o,s,u,c,l,d=n.call(this)||this,f=(r=e.color)!==null&&r!==void 0?r:16777215,m=(i=e.scale)!==null&&i!==void 0?i:1,p=e.map,A=(o=e.mapAlpha)!==null&&o!==void 0?o:1,v=(s=e.mapUseColor)!==null&&s!==void 0?s:!1,g=(u=e.mapUseReverse)!==null&&u!==void 0?u:!1,h=(c=e.borderWidth)!==null&&c!==void 0?c:.1,y=(l=e.borderColor)!==null&&l!==void 0?l:16777215;return d.progress=0,d.opacity=0,d.loading=!1,d.current=!1,d.disabled=!1,d.currentMotion=new Motion({progress:0}),d.tapMotion=new Motion({scale:1,opacity:1}),d.loadingOpacityMotion=new Motion({opacity:0}),d.progressMotion=new Motion({progress:0}),d.progressOpacityMotion=new Motion({opacity:0}),d.opacityMotion=new Motion({opacity:0}),d.disableMotion=new Motion({progress:0}),d.panoMesh=new THREE__namespace.Mesh(sharedGeometry2,new THREE__namespace.ShaderMaterial({blending:THREE__namespace.CustomBlending,blendSrc:THREE__namespace.SrcAlphaFactor,blendDst:THREE__namespace.OneMinusSrcAlphaFactor,blendSrcAlpha:THREE__namespace.OneFactor,blendDstAlpha:THREE__namespace.OneMinusSrcAlphaFactor,depthWrite:!1,vertexShader:vertexShader$2,fragmentShader:fragmentShader$2,defines:{USE_COLOR:v,USE_MAP:p!==void 0,USE_BORDER:h>0,USE_REVERSE:g},uniforms:{baseColor:{value:new THREE__namespace.Color(f)},circleScale:{value:1},circleOpacity:{value:1},loadingAngle:{value:0},loadingOpacity:{value:0},progress:{value:0},progressOpacity:{value:0},expand0:{value:0},expand1:{value:0},expandOpacity:{value:0},opacity:{value:0},tapScale:{value:1},tapOpacity:{value:1},disable:{value:0},map:{value:p},mapAlpha:{value:A},borderWidth:{value:h},borderColor:{value:new THREE__namespace.Color(y)}}})),d.renderOrder=-2,d.panoMesh.renderOrder=-2,d.panoMesh.position.y=.004,d.panoMesh.scale.set(m,1,m),d.add(d.panoMesh),d.currentStartTime=now(),d.needsRender=!0,d}return t.prototype.setProgress=function(e){var r=this;this.setDisabled(!1),this.setLoading(!1),this.progress!==e&&(e=clamp(e,0,1),this.tapMotion.ended&&(this.progress===0&&this.progressOpacityMotion.set({opacity:1},500).catch(noop$1),e===0?this.progressOpacityMotion.set({opacity:0},500).catch(noop$1).then(function(){r.progressMotion.set({progress:0},0).catch(noop$1)}):this.progressMotion.set({progress:clamp(e*1.2,0,1)},100).catch(noop$1)),this.progress=e)},t.prototype.setOpacity=function(e){this.opacity!==e&&(this.opacity=e=clamp(e,0,1),this.opacityMotion.set({opacity:e},200).catch(noop$1))},t.prototype.setCurrent=function(e){this.current!==e&&(this.currentMotion.set({progress:e?1:0},2e3).catch(noop$1),this.current=e,this.current===!0&&(this.currentStartTime=now()))},t.prototype.setLoading=function(e){this.loading!==e&&(this.loading=e,this.disabled===!0&&this.setDisabled(!1),this.loadingOpacityMotion.set({opacity:e?1:0},500).catch(noop$1))},t.prototype.setDisabled=function(e){this.disabled!==e&&(this.disabled=e,this.loading===!0&&this.setLoading(!1),this.disableMotion.set({progress:e?1:0},500).catch(noop$1))},t.prototype.tap=function(){var e=this;if(!this.tapMotion.ended)return Promise.resolve();var r=[{progress:0,value:{scale:1,opacity:1}},{progress:.3,value:{scale:.85,opacity:.5}},{progress:.8,value:{scale:1.05,opacity:.6}},{progress:1,value:{scale:1,opacity:1}}];return this.progressOpacityMotion.set({opacity:0},0).catch(noop$1),this.progressMotion.set({progress:0},0).catch(noop$1),this.tapMotion.setKeyframes(r,600).then(function(){e.progressOpacityMotion.set({opacity:e.progress>0?1:0},300).catch(noop$1),e.progressMotion.set({progress:e.progress},120).catch(noop$1)}).catch(noop$1)},t.prototype.updateTime=function(e,r){if(!this.progressMotion.ended){this.progressMotion.update(e);var i=this.progressMotion.value.progress;this.panoMesh.material.uniforms.progress.value=i,this.needsRender=!0}if(!this.progressOpacityMotion.ended){this.progressOpacityMotion.update(e);var o=this.progressOpacityMotion.value.opacity;this.panoMesh.material.uniforms.progressOpacity.value=o,this.needsRender=!0}if(!this.opacityMotion.ended){this.opacityMotion.update(e);var o=this.opacityMotion.value.opacity;this.panoMesh.material.uniforms.opacity.value=o,this.needsRender=!0}if(this.visible=this.opacityMotion.value.opacity!==0,(!this.loadingOpacityMotion.ended||this.loadingOpacityMotion.value.opacity>0)&&(this.loadingOpacityMotion.update(e),this.panoMesh.material.uniforms.loadingOpacity.value=this.loadingOpacityMotion.value.opacity,this.panoMesh.material.uniforms.loadingAngle.value=e/120%(Math.PI*2),this.needsRender=!0),this.tapMotion.ended||(this.tapMotion.update(e),this.panoMesh.material.uniforms.tapOpacity.value=this.tapMotion.value.opacity,this.panoMesh.material.uniforms.tapScale.value=this.tapMotion.value.scale,this.needsRender=!0),this.panoMesh.material.uniforms.circleOpacity.value=Math.max(.6,1-Math.max(this.loadingOpacityMotion.value.opacity,this.progressOpacityMotion.value.opacity)),this.current||!this.currentMotion.ended){this.currentMotion.update(e),this.panoMesh.material.uniforms.expandOpacity.value=this.currentMotion.value.progress;{var s=(e-this.currentStartTime-1500)/2e3;if(s%5<2){var u=s%1;this.panoMesh.material.uniforms.expand0.value=easeOut(u)*this.currentMotion.value.progress,this.needsRender=!0}}{var c=(e-this.currentStartTime-1e3)/2e3;if(c%5<2){var u=c%1;this.panoMesh.material.uniforms.expand1.value=easeOut(u)*this.currentMotion.value.progress,this.needsRender=!0}}}if(!this.disableMotion.ended){var i=this.disableMotion.value.progress;this.disableMotion.update(e),this.panoMesh.material.uniforms.disable.value=i,this.needsRender=!0}},t.prototype.dispose=function(){this.tapMotion.dispose(),this.progressMotion.dispose(),this.progressOpacityMotion.dispose(),this.opacityMotion.dispose(),this.currentMotion.dispose(),this.panoMesh.material.dispose()},t}(THREE__namespace.Object3D),sharedGeometry$2=new THREE__namespace.CircleBufferGeometry(.1,16),vertexShader$1=`
|
|
1278
1278
|
varying vec2 vUv;
|
|
1279
1279
|
void main() {
|
|
1280
1280
|
vUv = uv;
|
|
@@ -1301,13 +1301,13 @@ void main() {
|
|
|
1301
1301
|
|
|
1302
1302
|
gl_FragColor = vec4(gl_FragColor.rgb, gl_FragColor.a * outside * inside);
|
|
1303
1303
|
}
|
|
1304
|
-
`,sharedMaterial=new THREE__namespace.ShaderMaterial({vertexShader:vertexShader$1,fragmentShader:fragmentShader$1,transparent:!0}),IntersectMesh=function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.ringMesh=new THREE__namespace.Mesh(sharedGeometry$2,sharedMaterial),e.ringMesh.renderOrder=-2,e.add(e.ringMesh),e}return t.prototype.dispose=function(){this.remove(this.ringMesh)},t}(THREE__namespace.Object3D);function S4(){return((1+Math.random())*65536|0).toString(16).substring(1)}function createUuid(){return(S4()+S4()+"-"+S4()+"-4"+S4().substr(0,3)+"-"+S4()+"-"+S4()+S4()+S4()).toLowerCase()}function isSimilarValue(n,t,e){var r=Math.abs(n-t);return r<.001||typeof e!="undefined"&&Math.abs(e-r)<.001}function notSimilarValue(n,t,e){return!isSimilarValue(n,t,e)}function isSimilarVector3(n,t){return n.distanceTo(t)<.001}function notSimilarVector3(n,t){return!isSimilarVector3(n,t)}var DEFAULT_OFFSET_VECTOR=new THREE__namespace.Vector3(0,0,0),BoundingMesh=function(n){__extends(t,n);function t(e,r){r===void 0&&(r=DEFAULT_OFFSET_VECTOR);var i=n.call(this)||this,o=new THREE__namespace.BoxBufferGeometry(e.max.x-e.min.x+r.x*2,e.max.y-e.min.y+r.y*2,e.max.z-e.min.z+r.z*2,1,1);o.clearGroups(),o.addGroup(0,o.index?o.index.count:o.attributes.position.count,0),o.applyMatrix4(new THREE__namespace.Matrix4().makeScale(-1,1,1)),o.computeVertexNormals();var s=new PBMMeshMaterial;s.defines.USE_MAP=!1,s.defines.USE_UV=!1,s.defines.USE_PANO_OPACITY=!0,s.uniforms.diffuse.value=new THREE__namespace.Color(10066329),s.depthWrite=!1;var u=new PBMMesh(o,[s]);return u.position.copy(e.getCenter(new THREE__namespace.Vector3)),u.frustumCulled=!1,i.add(u),i.boundingBox=new THREE__namespace.Box3,i.boundingBox.setFromObject(i),i.renderOrder=u.renderOrder=-1001,i}return t}(PBMContainer);function generateBoundingMesh(n,t){return t===void 0&&(t=DEFAULT_OFFSET_VECTOR),new BoundingMesh(n,t)}function cameraWorldToLocal(n,t){var e=new THREE__namespace.Vector3(0,0,-1);e.applyQuaternion(n.quaternion);var r=t.quaternion.clone().inverse();e.applyQuaternion(r);var i=Math.atan2(e.x,-e.z),o=-Math.asin(e.y);return{theta:i,phi:o,lookAtVector:e}}var TAU$1=Math.PI*2;function formatRad(n){return n>=0&&n<TAU$1?n:(n%TAU$1+TAU$1)%TAU$1}var PI=Math.PI,TAU=PI*2;function stepNumber(n,t,e){if(n===t)return t;var r=t-n,i=Math.abs(r);if(i<=e)return t;var o=r>0?1:-1;return n+o*e}function stepVector(n,t,e){if(n.equals(t))return new THREE__namespace.Vector3().copy(t);var r=new THREE__namespace.Vector3().subVectors(t,n);return r.lengthSq()<e*e?r.copy(t):r.setLength(e).add(n)}function stepCoordinates(n,t,e){if(n.longitude===t.longitude&&n.latitude===t.latitude)return{longitude:t.longitude,latitude:t.latitude};var r=formatRad(n.longitude),i=n.latitude,o=formatRad(t.longitude),s=t.latitude;o-r>PI?r+=TAU:r-o>PI&&(r-=TAU);var u=Math.sqrt(Math.pow(o-r,2)+Math.pow(s-i,2)),
|
|
1304
|
+
`,sharedMaterial=new THREE__namespace.ShaderMaterial({vertexShader:vertexShader$1,fragmentShader:fragmentShader$1,transparent:!0}),IntersectMesh=function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.ringMesh=new THREE__namespace.Mesh(sharedGeometry$2,sharedMaterial),e.ringMesh.renderOrder=-2,e.add(e.ringMesh),e}return t.prototype.dispose=function(){this.remove(this.ringMesh)},t}(THREE__namespace.Object3D);function S4(){return((1+Math.random())*65536|0).toString(16).substring(1)}function createUuid(){return(S4()+S4()+"-"+S4()+"-4"+S4().substr(0,3)+"-"+S4()+"-"+S4()+S4()+S4()).toLowerCase()}function isSimilarValue(n,t,e){var r=Math.abs(n-t);return r<.001||typeof e!="undefined"&&Math.abs(e-r)<.001}function notSimilarValue(n,t,e){return!isSimilarValue(n,t,e)}function isSimilarVector3(n,t){return n.distanceTo(t)<.001}function notSimilarVector3(n,t){return!isSimilarVector3(n,t)}var DEFAULT_OFFSET_VECTOR=new THREE__namespace.Vector3(0,0,0),BoundingMesh=function(n){__extends(t,n);function t(e,r){r===void 0&&(r=DEFAULT_OFFSET_VECTOR);var i=n.call(this)||this,o=new THREE__namespace.BoxBufferGeometry(e.max.x-e.min.x+r.x*2,e.max.y-e.min.y+r.y*2,e.max.z-e.min.z+r.z*2,1,1);o.clearGroups(),o.addGroup(0,o.index?o.index.count:o.attributes.position.count,0),o.applyMatrix4(new THREE__namespace.Matrix4().makeScale(-1,1,1)),o.computeVertexNormals();var s=new PBMMeshMaterial;s.defines.USE_MAP=!1,s.defines.USE_UV=!1,s.defines.USE_PANO_OPACITY=!0,s.uniforms.diffuse.value=new THREE__namespace.Color(10066329),s.depthWrite=!1;var u=new PBMMesh(o,[s]);return u.position.copy(e.getCenter(new THREE__namespace.Vector3)),u.frustumCulled=!1,i.add(u),i.boundingBox=new THREE__namespace.Box3,i.boundingBox.setFromObject(i),i.renderOrder=u.renderOrder=-1001,i}return t}(PBMContainer);function generateBoundingMesh(n,t){return t===void 0&&(t=DEFAULT_OFFSET_VECTOR),new BoundingMesh(n,t)}function cameraWorldToLocal(n,t){var e=new THREE__namespace.Vector3(0,0,-1);e.applyQuaternion(n.quaternion);var r=t.quaternion.clone().inverse();e.applyQuaternion(r);var i=Math.atan2(e.x,-e.z),o=-Math.asin(e.y);return{theta:i,phi:o,lookAtVector:e}}var TAU$1=Math.PI*2;function formatRad(n){return n>=0&&n<TAU$1?n:(n%TAU$1+TAU$1)%TAU$1}var PI=Math.PI,TAU=PI*2;function stepNumber(n,t,e){if(n===t)return t;var r=t-n,i=Math.abs(r);if(i<=e)return t;var o=r>0?1:-1;return n+o*e}function stepVector(n,t,e){if(n.equals(t))return new THREE__namespace.Vector3().copy(t);var r=new THREE__namespace.Vector3().subVectors(t,n);return r.lengthSq()<e*e?r.copy(t):r.setLength(e).add(n)}function stepCoordinates(n,t,e){if(n.longitude===t.longitude&&n.latitude===t.latitude)return{longitude:t.longitude,latitude:t.latitude};var r=formatRad(n.longitude),i=n.latitude,o=formatRad(t.longitude),s=t.latitude;o-r>PI?r+=TAU:r-o>PI&&(r-=TAU);var u=Math.sqrt(Math.pow(o-r,2)+Math.pow(s-i,2)),c=e/u;return c>=1?{longitude:t.longitude,latitude:t.latitude}:{longitude:r+(o-r)*c,latitude:i+(s-i)*c}}function isPromise(n){return!!n&&(typeof n=="object"||typeof n=="function")&&typeof n.then=="function"}(function(){try{var n=document.createElement("canvas");return!!(window.WebGLRenderingContext&&(n.getContext("webgl")||n.getContext("experimental-webgl")))}catch(t){return!1}})();var isMobile=function(){var n=typeof navigator!="undefined"?navigator.userAgent.toLowerCase():"node";return/android/i.test(n)||/webos/i.test(n)||/ipad|iphone|ipod/i.test(n)||/iemobile/i.test(n)||/opera mini/i.test(n)||/blackberry/i.test(n)||/windows phone/i.test(n)};function createEvent(n,t){for(var e=!1,r={type:n,timeStamp:now(),get defaultPrevented(){return e},preventDefault:function(){e=!0}},i=0,o=Object.keys(t);i<o.length;i++){var s=o[i];s in r||(r[s]=t[s])}return r}function requestDeviceOrientationPermission(){return typeof location=="undefined"||location.protocol!=="https:"?Promise.reject(new Error("Request DeviceOrientation Permission denied.")):typeof DeviceOrientationEvent!="undefined"&&typeof DeviceOrientationEvent.requestPermission=="function"?DeviceOrientationEvent.requestPermission().then(function(n){if(n=="granted")return Promise.resolve();var t=new Error("Request DeviceOrientation Permission denied.");return Promise.reject(t)}):Promise.resolve()}function requestXRSessionPermission(){if("xr"in navigator)return navigator.xr.isSessionSupported("immersive-vr").then(function(t){return t?Promise.resolve():Promise.reject()}).then(function(){var t={optionalFeatures:["local-floor","bounded-floor"]};return navigator.xr.requestSession("immersive-vr",t).then(function(e){return Promise.resolve(e)})});var n=new Error("Request XR Permission denied.");return Promise.reject(n)}function assignState(n,t){n.mode=t.mode,n.workCode=t.workCode,n.panoIndex=t.panoIndex,n.longitude=t.longitude,n.latitude=t.latitude,n.fov=t.fov,n.offset.copy(t.offset),n.distance=t.distance}function stateEqual(n,t){return n.workCode===t.workCode&&n.mode===t.mode&&n.panoIndex===t.panoIndex&&isSimilarValue(n.longitude,t.longitude,Math.PI*2)&&isSimilarValue(n.latitude,t.latitude)&&isSimilarValue(n.fov,t.fov)&&isSimilarVector3(n.offset,t.offset)&&isSimilarValue(n.distance,t.distance)}var defaultIterator=function(n){return Number(n)};function arrayMin(n,t,e){var r;t===void 0&&(t=defaultIterator),e===void 0&&(e=!1);for(var i,o=1/0,s=0,u=n;s<u.length;s++){var c=u[s],l=t(c);l<=o&&(r=[c,l],i=r[0],o=r[1])}return isFinite(o)||(o=0),e?[i,o]:i}function isEmptyObject(n){for(var t in n)return!1;return!0}function clonePose(n){return{longitude:n.longitude,latitude:n.latitude,fov:n.fov,offset:n.offset.clone(),distance:n.distance}}/*! Hammer.JS - v2.0.7 - 2016-04-22
|
|
1305
1305
|
* http://hammerjs.github.io/
|
|
1306
1306
|
*
|
|
1307
1307
|
* Copyright (c) 2016 Jorik Tangelder;
|
|
1308
|
-
* Licensed under the MIT license */var Hammer=function(n,t,e,r){var i=["","webkit","Moz","MS","ms","o"],o=t.createElement?t.createElement("div"):r,s="function",u=Math.round,
|
|
1308
|
+
* Licensed under the MIT license */var Hammer=function(n,t,e,r){var i=["","webkit","Moz","MS","ms","o"],o=t.createElement?t.createElement("div"):r,s="function",u=Math.round,c=Math.abs,l=Date.now;function d(R,P,H){return setTimeout(y(R,H),P)}function f(R,P,H){return Array.isArray(R)?(m(R,H[P],H),!0):!1}function m(R,P,H){var V;if(R)if(R.forEach)R.forEach(P,H);else if(R.length!==r)for(V=0;V<R.length;)P.call(H,R[V],V,R),V++;else for(V in R)R.hasOwnProperty(V)&&P.call(H,R[V],V,R)}function p(R,P,H){var V="DEPRECATED METHOD: "+P+`
|
|
1309
1309
|
`+H+` AT
|
|
1310
|
-
`;return function(){var j=new Error("get-stack-trace"),te=j&&j.stack?j.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",he=n.console&&(n.console.warn||n.console.log);return he&&he.call(n.console,V,te),M.apply(this,arguments)}}var A;typeof Object.assign!="function"?A=function(P){if(P===r||P===null)throw new TypeError("Cannot convert undefined or null to object");for(var H=Object(P),V=1;V<arguments.length;V++){var j=arguments[V];if(j!==r&&j!==null)for(var te in j)j.hasOwnProperty(te)&&(H[te]=j[te])}return H}:A=Object.assign;var m=p(function(P,H,V){for(var j=Object.keys(H),te=0;te<j.length;)(!V||V&&P[j[te]]===r)&&(P[j[te]]=H[j[te]]),te++;return P},"extend","Use `assign`."),y=p(function(P,H){return m(P,H,!0)},"merge","Use `assign`.");function h(M,P,H){var V=P.prototype,j;j=M.prototype=Object.create(V),j.constructor=M,j._super=V,H&&A(j,H)}function g(M,P){return function(){return M.apply(P,arguments)}}function b(M,P){return typeof M==s?M.apply(P&&P[0]||r,P):M}function E(M,P){return M===r?P:M}function T(M,P,H){v(S(P),function(V){M.addEventListener(V,H,!1)})}function _(M,P,H){v(S(P),function(V){M.removeEventListener(V,H,!1)})}function x(M,P){for(;M;){if(M==P)return!0;M=M.parentNode}return!1}function w(M,P){return M.indexOf(P)>-1}function S(M){return M.trim().split(/\s+/g)}function C(M,P,H){if(M.indexOf&&!H)return M.indexOf(P);for(var V=0;V<M.length;){if(H&&M[V][H]==P||!H&&M[V]===P)return V;V++}return-1}function R(M){return Array.prototype.slice.call(M,0)}function I(M,P,H){for(var V=[],j=[],te=0;te<M.length;){var he=P?M[te][P]:M[te];C(j,he)<0&&V.push(M[te]),j[te]=he,te++}return H&&(P?V=V.sort(function(Ve,xe){return Ve[P]>xe[P]}):V=V.sort()),V}function B(M,P){for(var H,V,j=P[0].toUpperCase()+P.slice(1),te=0;te<i.length;){if(H=i[te],V=H?H+j:P,V in M)return V;te++}return r}var F=1;function L(){return F++}function O(M){var P=M.ownerDocument||M;return P.defaultView||P.parentWindow||n}var k=/mobile|tablet|ip(ad|hone|od)|android/i,Q="ontouchstart"in n,U=B(n,"PointerEvent")!==r,N=Q&&k.test(navigator.userAgent),G="touch",K="pen",X="mouse",D="kinect",W=25,q=1,ae=2,Y=4,re=8,$=1,oe=2,J=4,ie=8,se=16,ne=oe|J,pe=ie|se,Z=ne|pe,ee=["x","y"],z=["clientX","clientY"];function de(M,P){var H=this;this.manager=M,this.callback=P,this.element=M.element,this.target=M.options.inputTarget,this.domHandler=function(V){b(M.options.enable,[M])&&H.handler(V)},this.init()}de.prototype={handler:function(){},init:function(){this.evEl&&T(this.element,this.evEl,this.domHandler),this.evTarget&&T(this.target,this.evTarget,this.domHandler),this.evWin&&T(O(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&_(this.element,this.evEl,this.domHandler),this.evTarget&&_(this.target,this.evTarget,this.domHandler),this.evWin&&_(O(this.element),this.evWin,this.domHandler)}};function ce(M){var P,H=M.options.inputClass;return H?P=H:U?P=Qe:N?P=tt:Q?P=Ge:P=Oe,new P(M,ye)}function ye(M,P,H){var V=H.pointers.length,j=H.changedPointers.length,te=P&q&&V-j===0,he=P&(Y|re)&&V-j===0;H.isFirst=!!te,H.isFinal=!!he,te&&(M.session={}),H.eventType=P,Te(M,H),M.emit("hammer.input",H),M.recognize(H),M.session.prevInput=H}function Te(M,P){var H=M.session,V=P.pointers,j=V.length;H.firstInput||(H.firstInput=ve(P)),j>1&&!H.firstMultiple?H.firstMultiple=ve(P):j===1&&(H.firstMultiple=!1);var te=H.firstInput,he=H.firstMultiple,Re=he?he.center:te.center,Ve=P.center=ue(V);P.timeStamp=c(),P.deltaTime=P.timeStamp-te.timeStamp,P.angle=Ae(Re,Ve),P.distance=fe(Re,Ve),_e(H,P),P.offsetDirection=ge(P.deltaX,P.deltaY);var xe=le(P.deltaTime,P.deltaX,P.deltaY);P.overallVelocityX=xe.x,P.overallVelocityY=xe.y,P.overallVelocity=l(xe.x)>l(xe.y)?xe.x:xe.y,P.scale=he?Ee(he.pointers,V):1,P.rotation=he?be(he.pointers,V):0,P.maxPointers=H.prevInput?P.pointers.length>H.prevInput.maxPointers?P.pointers.length:H.prevInput.maxPointers:P.pointers.length,we(H,P);var Ye=M.element;x(P.srcEvent.target,Ye)&&(Ye=P.srcEvent.target),P.target=Ye}function _e(M,P){var H=P.center,V=M.offsetDelta||{},j=M.prevDelta||{},te=M.prevInput||{};(P.eventType===q||te.eventType===Y)&&(j=M.prevDelta={x:te.deltaX||0,y:te.deltaY||0},V=M.offsetDelta={x:H.x,y:H.y}),P.deltaX=j.x+(H.x-V.x),P.deltaY=j.y+(H.y-V.y)}function we(M,P){var H=M.lastInterval||P,V=P.timeStamp-H.timeStamp,j,te,he,Re;if(P.eventType!=re&&(V>W||H.velocity===r)){var Ve=P.deltaX-H.deltaX,xe=P.deltaY-H.deltaY,Ye=le(V,Ve,xe);te=Ye.x,he=Ye.y,j=l(Ye.x)>l(Ye.y)?Ye.x:Ye.y,Re=ge(Ve,xe),M.lastInterval=P}else j=H.velocity,te=H.velocityX,he=H.velocityY,Re=H.direction;P.velocity=j,P.velocityX=te,P.velocityY=he,P.direction=Re}function ve(M){for(var P=[],H=0;H<M.pointers.length;)P[H]={clientX:u(M.pointers[H].clientX),clientY:u(M.pointers[H].clientY)},H++;return{timeStamp:c(),pointers:P,center:ue(P),deltaX:M.deltaX,deltaY:M.deltaY}}function ue(M){var P=M.length;if(P===1)return{x:u(M[0].clientX),y:u(M[0].clientY)};for(var H=0,V=0,j=0;j<P;)H+=M[j].clientX,V+=M[j].clientY,j++;return{x:u(H/P),y:u(V/P)}}function le(M,P,H){return{x:P/M||0,y:H/M||0}}function ge(M,P){return M===P?$:l(M)>=l(P)?M<0?oe:J:P<0?ie:se}function fe(M,P,H){H||(H=ee);var V=P[H[0]]-M[H[0]],j=P[H[1]]-M[H[1]];return Math.sqrt(V*V+j*j)}function Ae(M,P,H){H||(H=ee);var V=P[H[0]]-M[H[0]],j=P[H[1]]-M[H[1]];return Math.atan2(j,V)*180/Math.PI}function be(M,P){return Ae(P[1],P[0],z)+Ae(M[1],M[0],z)}function Ee(M,P){return fe(P[0],P[1],z)/fe(M[0],M[1],z)}var Me={mousedown:q,mousemove:ae,mouseup:Y},$e="mousedown",Le="mousemove mouseup";function Oe(){this.evEl=$e,this.evWin=Le,this.pressed=!1,de.apply(this,arguments)}h(Oe,de,{handler:function(P){var H=Me[P.type];H&q&&(P.button===0||P.button===2)&&(this.pressed=!0),H&ae&&P.which!==1&&(H=Y),this.pressed&&(H&Y&&(this.pressed=!1),this.callback(this.manager,H,{pointers:[P],changedPointers:[P],pointerType:X,srcEvent:P}))}});var et={pointerdown:q,pointermove:ae,pointerup:Y,pointercancel:re,pointerout:re},Pe={2:G,3:K,4:X,5:D},Ke="pointerdown",De="pointermove pointerup pointercancel";n.MSPointerEvent&&!n.PointerEvent&&(Ke="MSPointerDown",De="MSPointerMove MSPointerUp MSPointerCancel");function Qe(){this.evEl=Ke,this.evWin=De,de.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}h(Qe,de,{handler:function(P){var H=this.store,V=!1,j=!1,te=P.type.toLowerCase().replace("ms",""),he=et[te],Re=Pe[P.pointerType]||P.pointerType,Ve=Re==G,xe=C(H,P.pointerId,"pointerId");he&q&&(P.button===0||P.button===2||Ve)?xe<0&&(H.push(P),xe=H.length-1):he&(Y|re)?V=!0:!Ve&&P.buttons===0&&(V=!0,j=!0,he=et.pointerup),!(xe<0)&&(j||(H[xe]=P),this.callback(this.manager,he,{pointers:H,changedPointers:[P],pointerType:Re,srcEvent:H[xe]}),V&&H.splice(xe,1))}});var We={touchstart:q,touchmove:ae,touchend:Y,touchcancel:re},je="touchstart",He="touchstart touchmove touchend touchcancel";function me(){this.evTarget=je,this.evWin=He,this.started=!1,de.apply(this,arguments)}h(me,de,{handler:function(P){var H=We[P.type];if(H===q&&(this.started=!0),!!this.started){var V=Ze.call(this,P,H);H&(Y|re)&&V[0].length-V[1].length===0&&(this.started=!1),this.callback(this.manager,H,{pointers:V[0],changedPointers:V[1],pointerType:G,srcEvent:P})}}});function Ze(M,P){var H=R(M.touches),V=R(M.changedTouches);return P&(Y|re)&&(H=I(H.concat(V),"identifier",!0)),[H,V]}var qe={touchstart:q,touchmove:ae,touchend:Y,touchcancel:re},it="touchstart touchmove touchend touchcancel";function tt(){this.evTarget=it,this.targetIds={},de.apply(this,arguments)}h(tt,de,{handler:function(P){var H=qe[P.type],V=vt.call(this,P,H);V&&this.callback(this.manager,H,{pointers:V[0],changedPointers:V[1],pointerType:G,srcEvent:P})}});function vt(M,P){var H=R(M.touches),V=this.targetIds;if(P&(q|ae)&&H.length===1)return V[H[0].identifier]=!0,[H,H];var j,te,he=R(M.changedTouches),Re=[],Ve=this.target;if(te=H.filter(function(xe){return x(xe.target,Ve)}),P===q)for(j=0;j<te.length;)V[te[j].identifier]=!0,j++;for(j=0;j<he.length;)V[he[j].identifier]&&Re.push(he[j]),P&(Y|re)&&delete V[he[j].identifier],j++;if(Re.length)return[I(te.concat(Re),"identifier",!0),Re]}var st=2500,ut=25;function Ge(){de.apply(this,arguments);var M=g(this.handler,this);this.touch=new tt(this.manager,M),this.mouse=new Oe(this.manager,M),this.primaryTouch=null,this.lastTouches=[]}h(Ge,de,{handler:function(P,H,V){var j=V.pointerType==G,te=V.pointerType==X;if(!(te&&V.sourceCapabilities&&V.sourceCapabilities.firesTouchEvents)){if(j)Ce.call(this,H,V);else if(te&&Ue.call(this,V))return;this.callback(P,H,V)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});function Ce(M,P){M&q?(this.primaryTouch=P.changedPointers[0].identifier,Se.call(this,P)):M&(Y|re)&&Se.call(this,P)}function Se(M){var P=M.changedPointers[0];if(P.identifier===this.primaryTouch){var H={x:P.clientX,y:P.clientY};this.lastTouches.push(H);var V=this.lastTouches,j=function(){var te=V.indexOf(H);te>-1&&V.splice(te,1)};setTimeout(j,st)}}function Ue(M){for(var P=M.srcEvent.clientX,H=M.srcEvent.clientY,V=0;V<this.lastTouches.length;V++){var j=this.lastTouches[V],te=Math.abs(P-j.x),he=Math.abs(H-j.y);if(te<=ut&&he<=ut)return!0}return!1}var at=o?B(o.style,"touchAction"):r,ft=at!==r,mt="compute",gt="auto",lt="manipulation",Be="none",Ie="pan-x",Fe="pan-y",ke=ct();function Ne(M,P){this.manager=M,this.set(P)}Ne.prototype={set:function(M){M==mt&&(M=this.compute()),ft&&this.manager.element.style&&ke[M]&&(this.manager.element.style[at]=M),this.actions=M.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var M=[];return v(this.manager.recognizers,function(P){b(P.options.enable,[P])&&(M=M.concat(P.getTouchAction()))}),yt(M.join(" "))},preventDefaults:function(M){var P=M.srcEvent,H=M.offsetDirection;if(this.manager.session.prevented){P.preventDefault();return}var V=this.actions,j=w(V,Be)&&!ke[Be],te=w(V,Fe)&&!ke[Fe],he=w(V,Ie)&&!ke[Ie];if(j){var Re=M.pointers.length===1,Ve=M.distance<2,xe=M.deltaTime<250;if(Re&&Ve&&xe)return}if(!(he&&te)&&(j||te&&H&ne||he&&H&pe))return this.preventSrc(P)},preventSrc:function(M){this.manager.session.prevented=!0,M.preventDefault()}};function yt(M){if(w(M,Be))return Be;var P=w(M,Ie),H=w(M,Fe);return P&&H?Be:P||H?P?Ie:Fe:w(M,lt)?lt:gt}function ct(){if(!ft)return!1;var M={},P=n.CSS&&n.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach(function(H){M[H]=P?n.CSS.supports("touch-action",H):!0}),M}var dt=1,ze=2,ht=4,ot=8,rt=ot,At=16,Je=32;function nt(M){this.options=A({},this.defaults,M||{}),this.id=L(),this.manager=null,this.options.enable=E(this.options.enable,!0),this.state=dt,this.simultaneous={},this.requireFail=[]}nt.prototype={defaults:{},set:function(M){return A(this.options,M),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(M){if(f(M,"recognizeWith",this))return this;var P=this.simultaneous;return M=bt(M,this),P[M.id]||(P[M.id]=M,M.recognizeWith(this)),this},dropRecognizeWith:function(M){return f(M,"dropRecognizeWith",this)?this:(M=bt(M,this),delete this.simultaneous[M.id],this)},requireFailure:function(M){if(f(M,"requireFailure",this))return this;var P=this.requireFail;return M=bt(M,this),C(P,M)===-1&&(P.push(M),M.requireFailure(this)),this},dropRequireFailure:function(M){if(f(M,"dropRequireFailure",this))return this;M=bt(M,this);var P=C(this.requireFail,M);return P>-1&&this.requireFail.splice(P,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(M){return!!this.simultaneous[M.id]},emit:function(M){var P=this,H=this.state;function V(j){P.manager.emit(j,M)}H<ot&&V(P.options.event+Mt(H)),V(P.options.event),M.additionalEvent&&V(M.additionalEvent),H>=ot&&V(P.options.event+Mt(H))},tryEmit:function(M){if(this.canEmit())return this.emit(M);this.state=Je},canEmit:function(){for(var M=0;M<this.requireFail.length;){if(!(this.requireFail[M].state&(Je|dt)))return!1;M++}return!0},recognize:function(M){var P=A({},M);if(!b(this.options.enable,[this,P])){this.reset(),this.state=Je;return}this.state&(rt|At|Je)&&(this.state=dt),this.state=this.process(P),this.state&(ze|ht|ot|At)&&this.tryEmit(P)},process:function(M){},getTouchAction:function(){},reset:function(){}};function Mt(M){return M&At?"cancel":M&ot?"end":M&ht?"move":M&ze?"start":""}function Ct(M){return M==se?"down":M==ie?"up":M==oe?"left":M==J?"right":""}function bt(M,P){var H=P.manager;return H?H.get(M):M}function Xe(){nt.apply(this,arguments)}h(Xe,nt,{defaults:{pointers:1},attrTest:function(M){var P=this.options.pointers;return P===0||M.pointers.length===P},process:function(M){var P=this.state,H=M.eventType,V=P&(ze|ht),j=this.attrTest(M);return V&&(H&re||!j)?P|At:V||j?H&Y?P|ot:P&ze?P|ht:ze:Je}});function Et(){Xe.apply(this,arguments),this.pX=null,this.pY=null}h(Et,Xe,{defaults:{event:"pan",threshold:10,pointers:1,direction:Z},getTouchAction:function(){var M=this.options.direction,P=[];return M&ne&&P.push(Fe),M&pe&&P.push(Ie),P},directionTest:function(M){var P=this.options,H=!0,V=M.distance,j=M.direction,te=M.deltaX,he=M.deltaY;return j&P.direction||(P.direction&ne?(j=te===0?$:te<0?oe:J,H=te!=this.pX,V=Math.abs(M.deltaX)):(j=he===0?$:he<0?ie:se,H=he!=this.pY,V=Math.abs(M.deltaY))),M.direction=j,H&&V>P.threshold&&j&P.direction},attrTest:function(M){return Xe.prototype.attrTest.call(this,M)&&(this.state&ze||!(this.state&ze)&&this.directionTest(M))},emit:function(M){this.pX=M.deltaX,this.pY=M.deltaY;var P=Ct(M.direction);P&&(M.additionalEvent=this.options.event+P),this._super.emit.call(this,M)}});function _t(){Xe.apply(this,arguments)}h(_t,Xe,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[Be]},attrTest:function(M){return this._super.attrTest.call(this,M)&&(Math.abs(M.scale-1)>this.options.threshold||this.state&ze)},emit:function(M){if(M.scale!==1){var P=M.scale<1?"in":"out";M.additionalEvent=this.options.event+P}this._super.emit.call(this,M)}});function xt(){nt.apply(this,arguments),this._timer=null,this._input=null}h(xt,nt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[gt]},process:function(M){var P=this.options,H=M.pointers.length===P.pointers,V=M.distance<P.threshold,j=M.deltaTime>P.time;if(this._input=M,!V||!H||M.eventType&(Y|re)&&!j)this.reset();else if(M.eventType&q)this.reset(),this._timer=d(function(){this.state=rt,this.tryEmit()},P.time,this);else if(M.eventType&Y)return rt;return Je},reset:function(){clearTimeout(this._timer)},emit:function(M){this.state===rt&&(M&&M.eventType&Y?this.manager.emit(this.options.event+"up",M):(this._input.timeStamp=c(),this.manager.emit(this.options.event,this._input)))}});function wt(){Xe.apply(this,arguments)}h(wt,Xe,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[Be]},attrTest:function(M){return this._super.attrTest.call(this,M)&&(Math.abs(M.rotation)>this.options.threshold||this.state&ze)}});function St(){Xe.apply(this,arguments)}h(St,Xe,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:ne|pe,pointers:1},getTouchAction:function(){return Et.prototype.getTouchAction.call(this)},attrTest:function(M){var P=this.options.direction,H;return P&(ne|pe)?H=M.overallVelocity:P&ne?H=M.overallVelocityX:P&pe&&(H=M.overallVelocityY),this._super.attrTest.call(this,M)&&P&M.offsetDirection&&M.distance>this.options.threshold&&M.maxPointers==this.options.pointers&&l(H)>this.options.velocity&&M.eventType&Y},emit:function(M){var P=Ct(M.offsetDirection);P&&this.manager.emit(this.options.event+P,M),this.manager.emit(this.options.event,M)}});function Tt(){nt.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}h(Tt,nt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[lt]},process:function(M){var P=this.options,H=M.pointers.length===P.pointers,V=M.distance<P.threshold,j=M.deltaTime<P.time;if(this.reset(),M.eventType&q&&this.count===0)return this.failTimeout();if(V&&j&&H){if(M.eventType!=Y)return this.failTimeout();var te=this.pTime?M.timeStamp-this.pTime<P.interval:!0,he=!this.pCenter||fe(this.pCenter,M.center)<P.posThreshold;this.pTime=M.timeStamp,this.pCenter=M.center,!he||!te?this.count=1:this.count+=1,this._input=M;var Re=this.count%P.taps;if(Re===0)return this.hasRequireFailures()?(this._timer=d(function(){this.state=rt,this.tryEmit()},P.interval,this),ze):rt}return Je},failTimeout:function(){return this._timer=d(function(){this.state=Je},this.options.interval,this),Je},reset:function(){clearTimeout(this._timer)},emit:function(){this.state==rt&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}});function pt(M,P){return P=P||{},P.recognizers=E(P.recognizers,pt.defaults.preset),new Rt(M,P)}pt.VERSION="2.0.7",pt.defaults={domEvents:!1,touchAction:mt,enable:!0,inputTarget:null,inputClass:null,preset:[[wt,{enable:!1}],[_t,{enable:!1},["rotate"]],[St,{direction:ne}],[Et,{direction:ne},["swipe"]],[Tt],[Tt,{event:"doubletap",taps:2},["tap"]],[xt]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};var Bt=1,It=2;function Rt(M,P){this.options=A({},pt.defaults,P||{}),this.options.inputTarget=this.options.inputTarget||M,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=M,this.input=ce(this),this.touchAction=new Ne(this,this.options.touchAction),Pt(this,!0),v(this.options.recognizers,function(H){var V=this.add(new H[0](H[1]));H[2]&&V.recognizeWith(H[2]),H[3]&&V.requireFailure(H[3])},this)}Rt.prototype={set:function(M){return A(this.options,M),M.touchAction&&this.touchAction.update(),M.inputTarget&&(this.input.destroy(),this.input.target=M.inputTarget,this.input.init()),this},stop:function(M){this.session.stopped=M?It:Bt},recognize:function(M){var P=this.session;if(!P.stopped){this.touchAction.preventDefaults(M);var H,V=this.recognizers,j=P.curRecognizer;(!j||j&&j.state&rt)&&(j=P.curRecognizer=null);for(var te=0;te<V.length;)H=V[te],P.stopped!==It&&(!j||H==j||H.canRecognizeWith(j))?H.recognize(M):H.reset(),!j&&H.state&(ze|ht|ot)&&(j=P.curRecognizer=H),te++}},get:function(M){if(M instanceof nt)return M;for(var P=this.recognizers,H=0;H<P.length;H++)if(P[H].options.event==M)return P[H];return null},add:function(M){if(f(M,"add",this))return this;var P=this.get(M.options.event);return P&&this.remove(P),this.recognizers.push(M),M.manager=this,this.touchAction.update(),M},remove:function(M){if(f(M,"remove",this))return this;if(M=this.get(M),M){var P=this.recognizers,H=C(P,M);H!==-1&&(P.splice(H,1),this.touchAction.update())}return this},on:function(M,P){if(M!==r&&P!==r){var H=this.handlers;return v(S(M),function(V){H[V]=H[V]||[],H[V].push(P)}),this}},off:function(M,P){if(M!==r){var H=this.handlers;return v(S(M),function(V){P?H[V]&&H[V].splice(C(H[V],P),1):delete H[V]}),this}},emit:function(M,P){this.options.domEvents&&Ft(M,P);var H=this.handlers[M]&&this.handlers[M].slice();if(!(!H||!H.length)){P.type=M,P.preventDefault=function(){P.srcEvent.preventDefault()};for(var V=0;V<H.length;)H[V](P),V++}},destroy:function(){this.element&&Pt(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}};function Pt(M,P){var H=M.element;if(H.style){var V;v(M.options.cssProps,function(j,te){V=B(H.style,te),P?(M.oldCssProps[V]=H.style[V],H.style[V]=j):H.style[V]=M.oldCssProps[V]||""}),P||(M.oldCssProps={})}}function Ft(M,P){var H=t.createEvent("Event");H.initEvent(M,!0,!0),H.gesture=P,P.target.dispatchEvent(H)}return A(pt,{INPUT_START:q,INPUT_MOVE:ae,INPUT_END:Y,INPUT_CANCEL:re,STATE_POSSIBLE:dt,STATE_BEGAN:ze,STATE_CHANGED:ht,STATE_ENDED:ot,STATE_RECOGNIZED:rt,STATE_CANCELLED:At,STATE_FAILED:Je,DIRECTION_NONE:$,DIRECTION_LEFT:oe,DIRECTION_RIGHT:J,DIRECTION_UP:ie,DIRECTION_DOWN:se,DIRECTION_HORIZONTAL:ne,DIRECTION_VERTICAL:pe,DIRECTION_ALL:Z,Manager:Rt,Input:de,TouchAction:Ne,TouchInput:tt,MouseInput:Oe,PointerEventInput:Qe,TouchMouseInput:Ge,SingleTouchInput:me,Recognizer:nt,AttrRecognizer:Xe,Tap:Tt,Pan:Et,Swipe:St,Pinch:_t,Rotate:wt,Press:xt,on:T,off:_,each:v,merge:y,extend:m,assign:A,inherit:h,bindFn:g,prefixed:B}),pt}(typeof window!="undefined"?window:{},typeof document!="undefined"?document:{});function calculateThreeMouse(n,t,e){var r=t.getBoundingClientRect(),i=r.top,o=r.left,s=r.width,u=r.height;return e&&(o=o+s*e.left,i=i+u*(1-e.bottom-e.height),s=s*e.width,u=u*e.height),new THREE__namespace.Vector2((n.x-o)/s*2-1,-(n.y-i)/u*2+1)}var BaseController=function(n){__extends(t,n);function t(e){var r,i,o,s,u,l,c=n.call(this)||this,d=t.parseArgs(e);return c.mode="",c.pending=new Set,c.userAction=d.initial.userAction,c.destroyed=!1,c.ident=d.ident,c.scene=d.scene,c.xrCustomObjectsScene=d.xrCustomObjectsScene,c.helper=d.helper,c.boundingMesh=d.boundingMesh,c.camera=d.camera,c.renderer=d.renderer,c.scissor=d.scissor,c.element=d.element,c.models=d.models,c.enableWheel=d.enableWheel,c.enableIOSEDR=(r=d.enableIOSEDR)!==null&&r!==void 0?r:!1,c.enableEDL=(i=d.enableEDL)!==null&&i!==void 0?i:!0,c.enableHQ=(o=d.enableHQ)!==null&&o!==void 0?o:!0,c.works=d.works,c.imageOptions=d.imageOptions,c.videoTexture=d.videoTexture,c.extraElements=d.extraElements,c.initial=d.initial,c.currentPano=typeof c.initial.state.panoIndex=="number"?{workCode:(l=(s=c.initial.state.workCode)!==null&&s!==void 0?s:(u=d.works[0])===null||u===void 0?void 0:u.workCode)!==null&&l!==void 0?l:"",panoIndex:c.initial.state.panoIndex}:{workCode:c.initial.currentState.workCode,panoIndex:c.initial.currentState.panoIndex},c.needsRender=!0,c.cameraMotion=new Motion({longitude:{value:c.camera.pose.longitude,circle:[0,Math.PI*2]},latitude:c.camera.pose.latitude,fov:c.camera.pose.fov}),c.inMomentumMovement=null,c.eventUnbinds=[d.element].concat(d.extraElements||[]).map(function(f){return c.bindEvents(f)}),c.pending.add("init-animation"),c.initAnimationReady=new Promise(function(f){AnimationFrameLoop.shared.add(function(){c.initAnimation().then(function(){c.pending.delete("init-animation"),f()})},!0)}),c}return t.parseArgs=function(e){return e instanceof t?e:__assign({},e)},t.initAnimationEndState=function(e){var r,i,o,s,u,l,c,d,f=this.parseArgs(e),v=f.initial,p=v.state,A=v.currentState,m=typeof p.panoIndex=="number"?{workCode:(o=(r=p.workCode)!==null&&r!==void 0?r:(i=f.works[0])===null||i===void 0?void 0:i.workCode)!==null&&o!==void 0?o:"",panoIndex:p.panoIndex}:{workCode:A.workCode,panoIndex:A.panoIndex};return __assign(__assign({},m),{mode:"",longitude:(s=p.longitude)!==null&&s!==void 0?s:A.longitude,latitude:(u=p.latitude)!==null&&u!==void 0?u:A.latitude,fov:(l=p.fov)!==null&&l!==void 0?l:A.fov,offset:(c=p.offset)!==null&&c!==void 0?c:A.offset,distance:(d=p.distance)!==null&&d!==void 0?d:A.distance})},t.prototype.destroy=function(){var e;this.stopMomentumMovement(),this.destroyed=!0,this.off(),this.cameraMotion.dispose();for(var r=0,i=this.eventUnbinds;r<i.length;r++){var o=i[r];o()}this.copyEffect&&(this.copyEffect.dispose(),delete this.copyEffect),delete this.panState,(e=this.pressState)===null||e===void 0||e.stop(),delete this.pressState},t.prototype.isReady=function(){return this.inMomentumMovement===null&&this.pending.size===0&&this.cameraMotion.ended===!0},t.prototype.bindExtraElement=function(e){for(var r=0,i=this.eventUnbinds;r<i.length;r++){var o=i[r];if(o.element===e)return}this.eventUnbinds.push(this.bindEvents(e))},t.prototype.unbindExtraElement=function(e){for(var r=[],i=0,o=this.eventUnbinds;i<o.length;i++){var s=o[i];s.element===e?s():r.push(s)}this.eventUnbinds=r},t.prototype.updateRenderSize=function(){this.needsRender=!0},t.prototype.updateModel=function(e){this.needsRender=!0},t.prototype.updateWork=function(e,r,i,o){return this.works=e,this.userAction=o,!1},t.prototype.updateTime=function(e,r){if(!this.destroyed){var i={};this.cameraMotion.ended&&(this.cameraMotion.update(e),i.longitude=this.cameraMotion.value.longitude,i.latitude=this.cameraMotion.value.latitude,i.fov=this.cameraMotion.value.fov),isEmptyObject(i)&&this.setCamera(i)}},t.prototype.render=function(){this.renderer.render(this.scene,this.camera)},t.prototype.postProcessing=function(e,r){this.destroyed},t.prototype.updateCamera=function(e,r,i){var o=this;return this.initAnimationReady.then(function(){o.userAction=i,o.stopMomentumMovement();var s={};return e.longitude!==void 0&&(s.longitude=e.longitude),e.latitude!==void 0&&(s.latitude=e.latitude),e.fov!==void 0&&(s.fov=e.fov),o.cameraMotion.set(s,r).catch(noop$1)})},t.prototype.updateCameraWithKeyframes=function(e,r,i){var o=this;return this.initAnimationReady.then(function(){o.userAction=i,o.stopMomentumMovement();for(var s=[],u=0,l=e;u<l.length;u++){var c=l[u];s.push({key:c.key,progress:c.progress,value:{longitude:c.value.longitude,latitude:c.value.latitude,fov:c.value.fov}})}return o.cameraMotion.setKeyframes(s,r)})},t.prototype.getTargetState=function(){var e=this.cameraMotion.getKeyFrameSegment(now())[1];return __assign(__assign({},this.currentPano),{mode:this.mode,longitude:e.value.longitude,latitude:e.value.latitude,fov:e.value.fov,offset:this.camera.pose.offset.clone(),distance:this.camera.pose.distance})},t.prototype.initAnimation=function(){var e=this.initial;e.state,e.currentState,e.duration;var r=e.userAction,i=t.initAnimationEndState(this);return this.userAction=r,this.emit("initAnimation.start",createEvent("initAnimation.start",{state:i,userAction:this.userAction})),this.emit("initAnimation.end",createEvent("initAnimation.end",{state:i,userAction:this.userAction})),Promise.resolve()},t.prototype.setCamera=function(e){var r,i,o,s,u;e===void 0&&(e={});var l=(r=e.longitude)!==null&&r!==void 0?r:this.camera.pose.longitude,c=(i=e.latitude)!==null&&i!==void 0?i:this.camera.pose.latitude,d=(o=e.fov)!==null&&o!==void 0?o:this.camera.pose.fov,f=(s=e.distance)!==null&&s!==void 0?s:this.camera.pose.distance,v=(u=e.offset)!==null&&u!==void 0?u:this.camera.pose.offset,p=notSimilarValue(l,this.camera.pose.longitude,Math.PI*2)||notSimilarValue(c,this.camera.pose.latitude),A=notSimilarValue(d,this.camera.pose.fov),m=notSimilarValue(f,this.camera.pose.distance),y=notSimilarVector3(v,this.camera.pose.offset);(A||p||y||m)&&(this.camera.setFromPose({longitude:l,latitude:c,fov:d,distance:f,offset:v}),this.emit("camera.update",createEvent("camera.update",{userAction:this.userAction,state:__assign(__assign({},this.currentPano),{mode:this.mode,longitude:l,latitude:c,fov:d,offset:v,distance:f})})),this.needsRender=!0)},t.prototype.stopMomentumMovement=function(){if(this.inMomentumMovement&&this.inMomentumMovement.event&&!this.inMomentumMovement.event.defaultPrevented&&!this.inMomentumMovement.event.isFinal){var e=createEvent("gesture.momentum",__assign(__assign({},this.inMomentumMovement.event),{isFirst:!1,isFinal:!0}));this.emit("gesture.momentum",e)}this.inMomentumMovement=null},t.prototype.onPanGesture=function(e){this.stopMomentumMovement(),this.emit("gesture.pan",e)},t.prototype.onTapGesture=function(e){this.stopMomentumMovement(),this.emit("gesture.tap",e)},t.prototype.onPressGesture=function(e){this.stopMomentumMovement(),this.emit("gesture.press",e)},t.prototype.onPinchGesture=function(e){this.stopMomentumMovement(),this.emit("gesture.pinch",e)},t.prototype.onMouseWheel=function(e){this.stopMomentumMovement(),this.emit("gesture.mousewheel",e)},t.prototype.onMouseMove=function(e){this.stopMomentumMovement(),this.emit("gesture.mousemove",e)},t.prototype.relativeClientPosition=function(e){return calculateThreeMouse(e,this.element,this.scissor)},t.prototype.bindEvents=function(e){var r=this,i=function(w){var S=calculateThreeMouse(w,r.element,r.scissor);return!(Math.abs(S.x)>1||Math.abs(S.y)>1)},o=new Hammer.Manager(e),s=function(w){var S=w.session;return S.firstInput||null};o.add(new Hammer.Pan({threshold:10,pointers:0})),o.add(new Hammer.Tap({interval:410})),o.add(new Hammer.Pinch({threshold:0,pointers:2})),o.on("panstart pan",function(w){var S=s(o);if(!(S&&!i(S.center))){var C=createEvent("gesture.pan",{target:w.target,pointerType:w.pointerType,srcEvent:w.srcEvent,pointers:w.pointers.map(function(R){var I=r.relativeClientPosition(R),B=new THREE__namespace.Raycaster;return B.params.Points={threshold:.1},B.setFromCamera(I,r.camera),{x:R.x,y:R.y,delta:0,buttons:0,coords:I,raycaster:B}}),isFirst:w.isFirst,isFinal:w.isFinal,scale:w.scale,center:function(R){var I=r.relativeClientPosition(R),B=new THREE__namespace.Raycaster;return B.params.Points={threshold:.1},B.setFromCamera(I,r.camera),{x:R.x,y:R.y,delta:0,buttons:0,coords:I,raycaster:B}}(w.center),velocityX:w.velocityX,velocityY:w.velocityY,overallVelocityX:w.overallVelocityX,overallVelocityY:w.overallVelocityY,userAction:!0,state:__assign(__assign({mode:r.mode},r.currentPano),clonePose(r.camera.pose))});r.onPanGesture(C),y()}}),o.on("tap",function(w){if(!(w.pointerType==="mouse"&&w.srcEvent.button!==0)){var S=s(o);if(!(S&&!i(S.center))){var C=createEvent("gesture.tap",{target:w.target,pointerType:w.pointerType,srcEvent:w.srcEvent,pointers:w.pointers.map(function(R){var I=r.relativeClientPosition(R),B=new THREE__namespace.Raycaster;return B.params.Points={threshold:.1},B.setFromCamera(I,r.camera),{x:R.x,y:R.y,delta:0,buttons:0,coords:I,raycaster:B}}),isFirst:!0,isFinal:!0,scale:w.scale,center:function(R){var I=r.relativeClientPosition(R),B=new THREE__namespace.Raycaster;return B.params.Points={threshold:.1},B.setFromCamera(I,r.camera),{x:R.x,y:R.y,delta:0,buttons:0,coords:I,raycaster:B}}(w.center),velocityX:w.velocityX,velocityY:w.velocityY,overallVelocityX:w.overallVelocityX,overallVelocityY:w.overallVelocityY,userAction:!0,state:__assign(__assign({mode:r.mode},r.currentPano),clonePose(r.camera.pose))});r.onTapGesture(C),y()}}}),o.on("pinchstart pinch pinchend",function(w){var S=s(o);if(!(S&&!i(S.center))){var C=createEvent("gesture.pinch",{target:w.target,pointerType:w.pointerType,srcEvent:w.srcEvent,pointers:w.pointers.map(function(R){var I,B=r.relativeClientPosition(R),F=new THREE__namespace.Raycaster;return F.params.Points={threshold:.1},F.setFromCamera(B,r.camera),{x:R.x,y:R.y,delta:(I=R.delta)!==null&&I!==void 0?I:0,buttons:0,coords:B,raycaster:F}}),isFirst:w.type==="pinchstart",isFinal:w.type==="pinchend",scale:w.scale,center:function(R){var I=r.relativeClientPosition(R),B=new THREE__namespace.Raycaster;return B.params.Points={threshold:.1},B.setFromCamera(I,r.camera),{x:R.x,y:R.y,delta:0,buttons:0,coords:I,raycaster:B}}(w.center),velocityX:w.velocityX,velocityY:w.velocityY,overallVelocityX:w.overallVelocityX,overallVelocityY:w.overallVelocityY,userAction:!0,state:__assign(__assign({mode:r.mode},r.currentPano),clonePose(r.camera.pose))});r.onPinchGesture(C),y()}});var u=null,l=null,c=function(w,S,C){var R={x:C.clientX,y:C.clientY},I=r.relativeClientPosition(R),B=new THREE__namespace.Raycaster;B.params.Points={threshold:.1},B.setFromCamera(I,r.camera);var F=__assign(__assign({},R),{coords:I,raycaster:B,buttons:C.buttons,delta:0}),L=w==="pinchend"?S:S-C.deltaY/280,O=createEvent("gesture.pinch",{target:C.target,pointerType:"mouse",srcEvent:C,pointers:[__assign({},F)],isFirst:w==="pinchstart",isFinal:w==="pinchend",scale:clamp(L,.1,10),center:__assign({},F),velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:__assign(__assign({mode:r.mode},r.currentPano),clonePose(r.camera.pose))});return O},d=function(w){var S,C={x:w.clientX,y:w.clientY};if(i(C)){if(w.preventDefault(),w.ctrlKey){var R=(S=u==null?void 0:u.prevEvent.scale)!==null&&S!==void 0?S:1,I=c(u?"pinch":"pinchstart",R,w);u===null?u={firstEvent:I,prevEvent:I}:u.prevEvent=I,r.onPinchGesture(I),l!==null&&window.clearTimeout(l),l=window.setTimeout(function(){var U;l=null;var N=(U=u==null?void 0:u.prevEvent.scale)!==null&&U!==void 0?U:1,G=c("pinchend",N,w);u=null,r.onPinchGesture(G)},200)}else{var B=(Math.abs(w.deltaY)>Math.abs(w.deltaX)?w.deltaY:w.deltaX)/-60,F=r.mouseWheelState!==void 0,L={x:w.clientX,y:w.clientY},O=r.relativeClientPosition(L),k=new THREE__namespace.Raycaster;k.params.Points={threshold:.1},k.setFromCamera(O,r.camera);var Q=__assign(__assign({},L),{coords:O,raycaster:k,buttons:w.buttons,delta:B}),I=createEvent("gesture.mousewheel",{target:w.target,pointerType:"mouse",srcEvent:w,pointers:[__assign({},Q)],isFirst:F,isFinal:!1,scale:0,center:__assign({},Q),velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:__assign(__assign({mode:r.mode},r.currentPano),clonePose(r.camera.pose))});r.onMouseWheel(I),r.mouseWheelState&&clearTimeout(r.mouseWheelState.timer),r.mouseWheelState={timer:setTimeout(function(){delete r.mouseWheelState;var N=createEvent("gesture.mousewheel",{target:w.target,pointerType:"mouse",srcEvent:w,pointers:[__assign(__assign({},Q),{delta:0})],isFirst:!1,isFinal:!0,scale:0,center:__assign(__assign({},Q),{delta:0}),velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:__assign(__assign({mode:r.mode},r.currentPano),clonePose(r.camera.pose))});r.onMouseWheel(N)},100)}}y()}},f=function(w){if(!isMobile()){if(!i({x:w.clientX,y:w.clientY})){v();return}var S=!1;r.mouseMoveState||(S=!0);var C={x:w.clientX,y:w.clientY},R=r.relativeClientPosition(C),I=new THREE__namespace.Raycaster;I.params.Points={threshold:.1},I.setFromCamera(R,r.camera);var B=__assign(__assign({},C),{coords:R,raycaster:I,buttons:w.buttons,delta:0}),F=createEvent("gesture.mousemove",{target:w.target,pointerType:"mouse",srcEvent:w,pointers:[__assign({},B)],isFirst:S,isFinal:!1,scale:0,center:__assign({},B),velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:__assign(__assign({mode:r.mode},r.currentPano),clonePose(r.camera.pose))});r.mouseMoveState||(r.mouseMoveState={timeStamp:now(),event:F}),r.onMouseMove(F),r.pressState&&Math.abs(w.clientX-r.pressState.event.center.y)>10&&Math.abs(w.clientY-r.pressState.event.center.y)>10&&y()}},v=function(){if(r.mouseMoveState){var w=createEvent(r.mouseMoveState.event.type,__assign(__assign({},r.mouseMoveState.event),{isFinal:!0}));r.onMouseMove(w)}y()},p=function(w){if(!i(w.center)){y();return}var S=!1;r.pressState||(S=!0,r.pressState={event:w,timeStamp:now(),stop:noop$1});var C=now()-r.pressState.timeStamp,R=createEvent(r.pressState.event.type,__assign(__assign({},r.pressState.event),{isFirst:S,isFinal:!1,center:__assign(__assign({},r.pressState.event.center),{delta:C}),pointers:r.pressState.event.pointers.map(function(I){return __assign(__assign({},I),{delta:C})})}));r.onPressGesture(R),r.pressState&&(r.pressState.stop=AnimationFrameLoop.shared.add(function(I){p(w)},!0,1))},A=function(w){if(y(),!(w.touches.length>1||w.changedTouches.length<=0)){var S={x:w.changedTouches[0].clientX,y:w.changedTouches[0].clientY},C=r.relativeClientPosition(S),R=new THREE__namespace.Raycaster;R.params.Points={threshold:.1},R.setFromCamera(C,r.camera);var I=__assign(__assign({},S),{coords:C,raycaster:R,buttons:0,delta:0}),B=createEvent("gesture.press",{target:w.target,pointerType:"touch",srcEvent:w,pointers:[__assign({},I)],isFirst:!1,isFinal:!1,scale:0,center:I,velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:__assign(__assign({mode:r.mode},r.currentPano),clonePose(r.camera.pose))});p(B)}},m=function(w){y();var S={x:w.clientX,y:w.clientY},C=r.relativeClientPosition(S),R=new THREE__namespace.Raycaster;R.params.Points={threshold:.1},R.setFromCamera(C,r.camera);var I=__assign(__assign({},S),{coords:C,raycaster:R,buttons:w.buttons,delta:0}),B=createEvent("gesture.press",{target:w.target,pointerType:"mouse",srcEvent:w,pointers:[__assign({},I)],isFirst:!1,isFinal:!1,scale:0,center:I,velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:__assign(__assign({mode:r.mode},r.currentPano),clonePose(r.camera.pose))});p(B)},y=function(){var w;if(r.pressState){var S=now()-r.pressState.timeStamp,C=createEvent(r.pressState.event.type,__assign(__assign({},r.pressState.event),{center:__assign(__assign({},r.pressState.event.center),{delta:S}),isFirst:!1,isFinal:!0,pointers:r.pressState.event.pointers.map(function(R){return __assign(__assign({},R),{delta:S})})}));r.onPressGesture(C),(w=r.pressState)===null||w===void 0||w.stop(),delete r.pressState}},h=null,g=function(w){var S,C=!1,R=!1;switch(w.type){case"gesturestart":C=!0;break;case"gestureend":R=!0;break}var I={x:w.clientX,y:w.clientY},B=r.relativeClientPosition(I),F=new THREE__namespace.Raycaster;F.params.Points={threshold:.1},F.setFromCamera(B,r.camera);var L=__assign(__assign({},I),{coords:B,raycaster:F,buttons:0,delta:0}),O=createEvent("gesture.pinch",{target:w.target,pointerType:"mouse",srcEvent:w,pointers:[__assign({},L)],isFirst:C,isFinal:R,scale:(S=w.scale)!==null&&S!==void 0?S:1,center:__assign({},L),velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:__assign(__assign({mode:r.mode},r.currentPano),clonePose(r.camera.pose))});return O},b=function(w){if(w.preventDefault(),!isMobile()){var S=g(w);h={firstEvent:S};var C=h.firstEvent;C&&!i(C.center)||r.onPinchGesture(S)}},E=function(w){if(w.preventDefault(),!isMobile()&&h){var S=g(w),C=h.firstEvent;C&&!i(C.center)||r.onPinchGesture(S)}},T=function(w){if(w.preventDefault(),!isMobile()&&h){var S=g(w),C=h.firstEvent;h=null,!(C&&!i(C.center))&&r.onPinchGesture(S)}},_=function(w){if(w&&typeof w.preventDefault=="function"&&w.currentTarget===e&&w.preventDefault(),typeof getSelection=="function"){var S=getSelection();S&&S.focusNode&&(S.removeAllRanges&&S.removeAllRanges(),S.empty&&S.empty())}};this.enableWheel&&e.addEventListener("wheel",d,{passive:!1}),e.addEventListener("mousemove",f,!1),e.addEventListener("mouseout",v,!1),e.addEventListener("touchstart",A,{passive:!0}),e.addEventListener("touchend",y,!1),e.addEventListener("touchcancel",y,!1),e.addEventListener("mousedown",m,!1),e.addEventListener("mouseup",y,!1),e.addEventListener("gesturestart",b,{passive:!1}),e.addEventListener("gesturechange",E,{passive:!1}),e.addEventListener("gestureend",T,{passive:!1}),e.addEventListener("touchstart",_,{passive:!1}),e.addEventListener("contextmenu",_,!1);var x=function(){o.destroy(),e.removeEventListener("wheel",d,!1),e.removeEventListener("mousemove",f,!1),e.removeEventListener("mouseout",v,!1),e.removeEventListener("touchstart",A,!1),e.removeEventListener("touchend",y,!1),e.removeEventListener("touchcancel",y,!1),e.removeEventListener("mousedown",m,!1),e.removeEventListener("mouseup",y,!1),e.removeEventListener("gesturestart",b,!1),e.removeEventListener("gesturechange",E,!1),e.removeEventListener("gestureend",T,!1),e.removeEventListener("touchstart",_,!1),e.removeEventListener("contextmenu",_,!1)};return Object.assign(x,{element:e})},t.prototype.preloadPano=function(e,r){var i=this;r===void 0&&(r=noop$1);var o=this.works.getResolvedObserver(e);if(!o)return Promise.resolve();var s=["right","left","up","down","front","back"];return Promise.all(s.map(function(u){var l=__assign({key:"pano.".concat(panoStringify(e),".").concat(u)},pick(i.imageOptions,["size","format","quality","mappings"])),c=o.images[u],d=applyImageURLOptions(c,i.imageOptions.transform,l);return getFetcher(o.work).preload(d)})).then(function(){return r(e),e})},t}(Subscribe),FloorplanController=function(n){__extends(t,n);function t(e){var r=this,i,o=t.parseArgs(e);return r=n.call(this,o)||this,r.mode="Floorplan",r.defaultLongitude=o.defaultLongitude,r.defaultLatitude=o.defaultLatitude,r.defaultFov=o.defaultFov,r.maxFov=o.maxFov,r.minFov=o.minFov,r.maxLatitude=o.maxLatitude,r.minLatitude=o.minLatitude,r.locationMotion=new Motion({x:r.camera.pose.offset.x,y:r.camera.pose.offset.y,z:r.camera.pose.offset.z,distance:r.camera.pose.distance}),r.modelAlphaMotion=new Motion({modelAlpha:(i=r.models.getMaterial().modelAlpha)!==null&&i!==void 0?i:0}),r.perspToOrthoMotion=new Motion({perspToOrtho:r.camera.perspToOrtho.x}),r.currentTapId=null,r.intersectMeshCreator=o.intersectMeshCreator,r.intersectMesh=r.intersectMeshCreator(),r.intersectMesh.name="intersect",r.intersectMesh.visible=!1,r.helper.add(r.intersectMesh),r}return t.distanceFromModel=function(e,r,i){var o=e.bounding,s=Math.pow(Math.pow(o.max.x-o.min.x+1,2)+Math.pow(o.max.y-o.min.y+1,2)+Math.pow(o.max.z-o.min.z+1,2),1/2),u=s/2/Math.tan(Math.PI*r/360);return i<1&&(u=u/i),isNaN(u)?s:u},t.parseArgs=function(e){var r,i,o,s,u,l,c,d;if(e instanceof t)return e;var f=n.parseArgs.call(this,e);return __assign(__assign({},f),{defaultLongitude:(r=e.defaultLongitude)!==null&&r!==void 0?r:Math.PI/4,defaultLatitude:(i=e.defaultLatitude)!==null&&i!==void 0?i:Math.PI/4,defaultFov:(o=e.defaultFov)!==null&&o!==void 0?o:80,maxFov:(s=e.maxFov)!==null&&s!==void 0?s:120,minFov:(u=e.minFov)!==null&&u!==void 0?u:20,maxLatitude:(l=e.maxLatitude)!==null&&l!==void 0?l:+Math.PI/2,minLatitude:(c=e.minLatitude)!==null&&c!==void 0?c:-Math.PI/2,intersectMeshCreator:(d=e.intersectMeshCreator)!==null&&d!==void 0?d:function(){return new IntersectMesh}})},t.initAnimationEndState=function(e){var r,i,o,s,u,l,c=this.parseArgs(e),d=e.initial,f=d.state,v=d.currentState,p=typeof f.panoIndex=="number"?{workCode:(o=(r=f.workCode)!==null&&r!==void 0?r:(i=c.works[0])===null||i===void 0?void 0:i.workCode)!==null&&o!==void 0?o:"",panoIndex:f.panoIndex}:{workCode:v.workCode,panoIndex:v.panoIndex},A=__assign(__assign({},p),{mode:"Floorplan",longitude:(s=f.longitude)!==null&&s!==void 0?s:isThirdPersonMode(v.mode)?v.longitude:c.defaultLongitude,latitude:clamp((u=f.latitude)!==null&&u!==void 0?u:v.mode==="Floorplan"?v.latitude:c.defaultLatitude,c.minLatitude,c.maxLatitude),fov:(l=f.fov)!==null&&l!==void 0?l:c.defaultFov,offset:e.models.bounding.getCenter(new THREE__namespace.Vector3),distance:t.distanceFromModel(c.models,c.defaultFov,c.camera.aspect)});return A},t.prototype.destroy=function(){n.prototype.destroy.call(this),this.locationMotion.dispose(),delete this.panState,this.intersectMesh.dispose(),this.helper.remove(this.intersectMesh)},t.prototype.isReady=function(){return this.locationMotion.ended===!1?!1:n.prototype.isReady.call(this)},t.prototype.updateWork=function(e,r,i,o){var s;return this.works=e,this.updateCamera(r,(s=i.duration)!==null&&s!==void 0?s:0,o),!0},t.prototype.updateModel=function(e){n.prototype.updateModel.call(this,e);var r=e.bounding.getCenter(new THREE__namespace.Vector3),i=t.distanceFromModel(e,this.defaultFov,this.camera.aspect);this.locationMotion.set({x:r.x,y:r.y,z:r.z,distance:i},0).catch(noop$1)},t.prototype.updateCamera=function(e,r,i){var o=this;return this.initAnimationReady.then(function(){o.userAction=i,o.stopMomentumMovement();var s={},u={};return e.distance!==void 0&&(s.distance=e.distance),e.offset!==void 0&&(s.x=e.offset.x,s.y=e.offset.y,s.z=e.offset.z),e.longitude!==void 0&&(u.longitude=e.longitude),e.latitude!==void 0&&(u.latitude=e.latitude),e.fov!==void 0&&(u.fov=e.fov),o.locationMotion.set(s,r).catch(noop$1),o.cameraMotion.set(u,r).catch(noop$1)})},t.prototype.updateCameraWithKeyframes=function(e,r,i){var o=this;return this.initAnimationReady.then(function(){o.userAction=i,o.stopMomentumMovement();for(var s=[],u=[],l=0,c=e;l<c.length;l++){var d=c[l];s.push({key:d.key,progress:d.progress,value:{distance:d.value.distance,x:d.value.offset.x,y:d.value.offset.x,z:d.value.offset.x}}),u.push({key:d.key,progress:d.progress,value:{longitude:d.value.longitude,latitude:d.value.latitude,fov:d.value.fov}})}return o.locationMotion.setKeyframes(s,r).catch(noop$1),o.cameraMotion.setKeyframes(e,r)})},t.prototype.updateTime=function(e,r){if(!this.destroyed){var i={},o={};this.modelAlphaMotion.ended||(this.modelAlphaMotion.update(e),i.modelAlpha=this.modelAlphaMotion.value.modelAlpha),this.perspToOrthoMotion.ended||(this.perspToOrthoMotion.update(e),this.camera.perspToOrtho.setScalar(clamp(this.perspToOrthoMotion.value.perspToOrtho,0,1))),this.locationMotion.ended||(this.locationMotion.update(e),o.distance=this.locationMotion.value.distance,o.offset=new THREE__namespace.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z)),this.cameraMotion.ended||(this.cameraMotion.update(e),o.longitude=this.cameraMotion.value.longitude,o.latitude=this.cameraMotion.value.latitude,o.fov=this.cameraMotion.value.fov),isEmptyObject(i)||this.models.setMaterial(i),isEmptyObject(o)||this.setCamera(o)}},t.prototype.getTargetState=function(){var e=this.cameraMotion.getKeyFrameSegment(now())[1],r=this.locationMotion.getKeyFrameSegment(now())[1];return __assign(__assign({},this.currentPano),{mode:this.mode,longitude:e.value.longitude,latitude:e.value.latitude,fov:e.value.fov,offset:new THREE__namespace.Vector3(r.value.x,r.value.y,r.value.z),distance:r.value.distance})},t.prototype.initAnimation=function(){var e=this;return this.destroyed?Promise.resolve():new Promise(function(r){var i=e.initial;i.state,i.currentState;var o=i.duration,s=i.userAction;e.userAction=s;var u=t.initAnimationEndState(e),l=pick(u,["longitude","latitude","fov"]),c={x:u.offset.x,y:u.offset.y,z:u.offset.z,distance:u.distance},d={modelAlpha:1},f={perspToOrtho:0};e.emit("initAnimation.start",createEvent("initAnimation.start",{state:u,userAction:e.userAction})),e.modelAlphaMotion.set(d,o/3).catch(noop$1),e.perspToOrthoMotion.set(f,o).catch(noop$1),e.cameraMotion.set(l,o).catch(noop$1),e.locationMotion.set(c,o).then(function(){e.emit("initAnimation.end",createEvent("initAnimation.end",{state:u,userAction:e.userAction}))},function(v){var p=__assign(__assign(__assign({},e.currentPano),{mode:e.mode}),clonePose(e.camera.pose));e.emit("initAnimation.end",createEvent("initAnimation.end",{state:p,userAction:e.userAction}))}).then(function(){r()})})},t.prototype.updateRenderSize=function(){this.locationMotion.set({distance:t.distanceFromModel(this.models,this.defaultFov,this.camera.aspect)},0).catch(noop$1)},t.prototype.getForwardObserverOrNot=function(e){var r=this.models.intersectRaycaster(e)[0];if(!r)return null;var i=this.works.resolvedObservers,o=arrayMin(i,function(l){return l.standingPosition.distanceTo(r.point)},!0),s=o[0],u=o[1];return s&&u<10?s:null},t.prototype.coordinatesForOffset=function(e){var r=this.renderer.getSize(new THREE__namespace.Vector2);return{longitude:-2*e.x/(r.x*this.scissor.width),latitude:2*e.y/(r.y*this.scissor.height)}},t.prototype.requestMomentumMovement=function(e,r,i,o){var s=this;if(this.inMomentumMovement!==null){for(var u=__assign({},i),l={longitude:0,latitude:0},c=0;c<o;c++)u.longitude*=.996,u.latitude*=.996*.998,l.longitude+=u.longitude,l.latitude+=u.latitude;var d=formatRad(this.cameraMotion.value.longitude+l.longitude),f=clamp(this.cameraMotion.value.latitude+l.latitude,this.minLatitude,this.maxLatitude),v=__assign(__assign({},this.currentPano),{mode:this.mode,longitude:d,latitude:f,fov:this.cameraMotion.value.fov,offset:this.camera.pose.offset.clone(),distance:this.camera.pose.distance}),p=!(u.longitude>1e-4||u.longitude<-1e-4||u.latitude>1e-4||u.latitude<-1e-4),A=createEvent("gesture.momentum",__assign(__assign({},e),{isFirst:r,isFinal:p,state:v}));if(this.inMomentumMovement.event=A,this.emit("gesture.momentum",A),e.defaultPrevented){this.inMomentumMovement=null;return}this.inMomentumMovement&&(this.cameraMotion.set({longitude:d,latitude:f},0).catch(noop$1),p?this.inMomentumMovement=null:AnimationFrameLoop.shared.add(function(m,y){s.requestMomentumMovement(e,!1,u,y|0)},!0,1))}},t.prototype.onPanGesture=function(e){this.userAction=e.userAction,this.stopMomentumMovement(),this.hideIntersectMesh();var r=this.panState,i=e.pointers.length;if(e.isFinal?delete this.panState:this.panState={pointerLength:i,x:e.center.x,y:e.center.y},!(typeof r=="undefined"||r.pointerLength!==i)){var o={x:e.center.x-r.x,y:e.center.y-r.y},s=this.relativeClientPosition(e.center),u=this.camera.pose.latitude<Math.PI/6||s.y<0?1:-1;o.x*=u;var l=this.coordinatesForOffset(o),c=formatRad(this.cameraMotion.value.longitude+l.longitude),d=clamp(this.cameraMotion.value.latitude+l.latitude,this.minLatitude,this.maxLatitude);this.camera.aspect<1&&Math.abs(e.overallVelocityX)>.2&&Math.atan2(Math.abs(e.overallVelocityY),Math.abs(e.overallVelocityX))<Math.PI/6.923&&(d=this.cameraMotion.value.latitude);var f=__assign(__assign({},this.currentPano),{mode:this.mode,longitude:c,latitude:d,fov:this.camera.pose.fov,offset:this.camera.pose.offset,distance:this.camera.pose.distance});if(e.state=f,this.emit("gesture.pan",e),!e.defaultPrevented&&(this.cameraMotion.set({longitude:f.longitude,latitude:f.latitude},0).catch(noop$1),e.isFinal)){var v=e.velocityX*u,p=e.velocityY;this.inMomentumMovement={uuid:createUuid()},this.requestMomentumMovement(e,!0,this.coordinatesForOffset({x:v,y:p}),0)}}},t.prototype.onPinchGesture=function(e){var r;this.userAction=e.userAction,this.stopMomentumMovement();var i=(r=this.pinchState)===null||r===void 0?void 0:r.fov;if(e.isFirst){this.pinchState={x:e.center.x,y:e.center.y,fov:this.cameraMotion.value.fov};return}if(e.isFinal&&(delete this.panState,delete this.pinchState),typeof i!="undefined"){var o=clamp(i/e.scale,this.minFov,this.maxFov);e.state.fov=o,this.emit("gesture.pinch",e),!e.defaultPrevented&&(this.cameraMotion.set({fov:o},0).catch(noop$1),this.onPanGesture(e))}},t.prototype.onMouseMove=function(e){var r,i;if(this.intersectMesh.parent&&!this.panState){if(this.emit("gesture.mousemove",e),e.defaultPrevented){this.hideIntersectMesh();return}var o=e.center.raycaster;if(e.isFinal&&this.intersectMesh.parent&&this.intersectMesh.visible===!0){this.hideIntersectMesh();return}var s=this.models.intersectRaycaster(o)[0],u=createEvent("intersect.update",{raycaster:o,intersection:s!=null?s:null,object:this.intersectMesh});if(this.emit("intersect.update",u),u.defaultPrevented){this.hideIntersectMesh();return}if(s){var l=(i=(r=s.face)===null||r===void 0?void 0:r.normal)!==null&&i!==void 0?i:new THREE__namespace.Vector3().copy(o.ray.direction).multiplyScalar(-1),c=l.clone().multiplyScalar(.05),d=s.point.clone().add(c);this.intersectMesh.position.copy(d);var f=d.clone().add(c);if(this.intersectMesh.lookAt(f),Math.abs(l.y)>.99){var v=this.camera.position.clone().sub(d);this.intersectMesh.rotation.z=-Math.atan2(v.z,v.x)}this.intersectMesh.visible=!0,this.needsRender=!0}else this.hideIntersectMesh()}},t.prototype.onMouseWheel=function(e){this.userAction=e.userAction,this.stopMomentumMovement();var r=this,i=r.minFov,o=r.maxFov,s=clamp(this.camera.fov-e.center.delta,i,o);e.state.fov=s,this.emit("gesture.mousewheel",e),!e.defaultPrevented&&this.cameraMotion.set({fov:s},0).catch(noop$1)},t.prototype.onTapGesture=function(e){var r=this;this.userAction=!0,this.stopMomentumMovement();var i=e.center.raycaster,o=this.getForwardObserverOrNot(i);if(!o)this.emit("gesture.tap",e);else{var s={longitude:this.camera.pose.longitude,latitude:0},u=__assign(__assign({},e.state),{mode:"Panorama",workCode:o.pano.workCode,panoIndex:o.pano.panoIndex,longitude:s.longitude,latitude:s.latitude,offset:o?o.position.clone():new THREE__namespace.Vector3,distance:0});if(e.state=u,this.emit("gesture.tap",e),!e.defaultPrevented&&(this.emit("pano.select",createEvent("pano.select",{prevPano:this.currentPano,state:u,userAction:e.userAction,options:s,progress:0,error:null})),o&&o.active)){var l=this.currentTapId=createUuid();this.preloadPano(o.pano).then(function(c){r.currentTapId===l&&r.emit("pano.request",createEvent("pano.request",{userAction:!0,prevPano:r.currentPano,progress:0,state:u,options:s,error:null}))})}}},t.prototype.hideIntersectMesh=function(){this.intersectMesh.visible=!1,this.needsRender=!0},t}(BaseController),TopviewController=function(n){__extends(t,n);function t(e){var r=this,i=t.parseArgs(e);return r=n.call(this,i)||this,r.mode="Topview",r}return t.parseArgs=function(e){if(e instanceof t)return e;var r=__assign(__assign({},e),{defaultLongitude:0,defaultLatitude:Math.PI/2});return n.parseArgs.call(this,r)},t.initAnimationEndState=function(e){var r=this.parseArgs(e),i=n.initAnimationEndState.call(this,r);return __assign(__assign({},i),{longitude:0,mode:"Topview"})},t.prototype.updateModel=function(e){this.needsRender=!0;var r=this.models.bounding.getCenter(new THREE__namespace.Vector3);this.locationMotion.set({x:r.x,y:r.y,z:r.z,distance:FloorplanController.distanceFromModel(this.models,this.defaultFov,this.camera.aspect)},0).catch(noop$1)},t.prototype.updateCamera=function(e,r,i){var o=this;return this.initAnimationReady.then(function(){o.userAction=i,o.stopMomentumMovement();var s={},u={};return e.distance!==void 0&&(s.distance=e.distance),e.offset!==void 0&&(s.x=e.offset.x,s.y=e.offset.y,s.z=e.offset.z),e.longitude!==void 0&&(u.longitude=e.longitude),e.latitude!==void 0&&(u.latitude=e.latitude),e.fov!==void 0&&(u.fov=e.fov),o.locationMotion.set(s,r).catch(noop$1),o.cameraMotion.set(u,r).catch(noop$1)})},t.prototype.updateCameraWithKeyframes=function(e,r,i){var o=this;return this.initAnimationReady.then(function(){o.userAction=i,o.stopMomentumMovement();for(var s=[],u=[],l=0,c=e;l<c.length;l++){var d=c[l];s.push({key:d.key,progress:d.progress,value:{distance:d.value.distance,x:d.value.offset.x,y:d.value.offset.y,z:d.value.offset.z}}),u.push({key:d.key,progress:d.progress,value:{longitude:d.value.longitude,latitude:d.value.latitude,fov:d.value.fov}})}return o.locationMotion.setKeyframes(s,r).catch(noop$1),o.cameraMotion.setKeyframes(e,r)})},t.prototype.initAnimation=function(){var e=this;return this.destroyed?Promise.resolve():new Promise(function(r){var i=e.initial;i.state,i.currentState;var o=i.duration,s=i.userAction;e.userAction=s;var u=t.initAnimationEndState(e),l={longitude:u.longitude,latitude:u.latitude,fov:u.fov},c={x:u.offset.x,y:u.offset.y,z:u.offset.z,distance:u.distance},d={modelAlpha:1},f={perspToOrtho:1};e.emit("initAnimation.start",createEvent("initAnimation.start",{state:u,userAction:e.userAction})),e.modelAlphaMotion.set(d,o/3).catch(noop$1),e.perspToOrthoMotion.set(f,o).catch(noop$1),e.cameraMotion.set(l,o).catch(noop$1),e.locationMotion.set(c,o).then(function(){e.emit("initAnimation.end",createEvent("initAnimation.end",{state:u,userAction:e.userAction}))},function(v){var p=__assign(__assign(__assign({},e.currentPano),{mode:e.mode}),clonePose(e.camera.pose));e.emit("initAnimation.end",createEvent("initAnimation.end",{state:p,userAction:e.userAction}))}).then(function(){r()})})},t.prototype.requestMomentumMovement=function(){this.inMomentumMovement=null},t.prototype.onPanGesture=function(e){this.userAction=e.userAction,this.stopMomentumMovement();var r=this.panState,i=e.pointers.length;if(e.isFinal?delete this.panState:this.panState={pointerLength:i,x:e.center.x,y:e.center.y},!(typeof r=="undefined"||r.pointerLength!==i)){var o={x:e.center.x-r.x,y:e.center.y-r.y},s=new THREE__namespace.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z),u=this.locationMotion.value.distance;u*=Math.tan(this.cameraMotion.value.fov/2*Math.PI/180);var l=this.renderer.getSize(new THREE__namespace.Vector2),c=2*o.x*u/l.y,d=2*o.y*u/l.y,f=new THREE__namespace.Vector3;f.setFromMatrixColumn(this.camera.matrix,0),f.multiplyScalar(-c),s.add(f),f.setFromMatrixColumn(this.camera.matrix,0),f.crossVectors(this.camera.up,f),f.multiplyScalar(d),s.add(f),s.clamp(this.models.bounding.min,this.models.bounding.max);var v=__assign(__assign({},this.currentPano),{mode:this.mode,longitude:0,latitude:Math.PI/2,fov:this.cameraMotion.value.fov,offset:s,distance:this.locationMotion.value.distance});e.state=v,this.emit("gesture.pan",e),!e.defaultPrevented&&this.locationMotion.set({x:s.x,y:s.y,z:s.z},0).catch(noop$1)}},t.prototype.onPinchGesture=function(e){var r;this.userAction=e.userAction,this.stopMomentumMovement();var i=(r=this.pinchState)===null||r===void 0?void 0:r.fov;if(e.isFirst){this.pinchState={x:e.center.x,y:e.center.y,fov:this.cameraMotion.value.fov};return}if(e.isFinal&&delete this.pinchState,typeof i!="undefined"){var o=clamp(i/e.scale,this.minFov,this.maxFov);e.state.fov=o,this.emit("gesture.pinch",e),!e.defaultPrevented&&(this.cameraMotion.set({fov:o},0).catch(noop$1),e.type="gesture.pan",this.onPanGesture(e))}},t.prototype.onMouseWheel=function(e){this.userAction=e.userAction,this.stopMomentumMovement();var r=clamp(this.cameraMotion.value.fov-e.center.delta,this.minFov,this.maxFov);e.state.fov=r,this.emit("gesture.mousewheel",e),!e.defaultPrevented&&this.cameraMotion.set({fov:r},0).catch(noop$1)},t}(FloorplanController),PanoramaLikeController=function(n){__extends(t,n);function t(e){var r=this,i=t.parseArgs(e);return r=n.call(this,i)||this,r.mode="PanoramaLike",r.defaultLatitude=i.defaultLatitude,r.defaultFov=i.defaultFov,r.maxFov=i.maxFov,r.minFov=i.minFov,r.maxLatitude=i.maxLatitude,r.minLatitude=i.minLatitude,r.moveSpeed=i.moveSpeed,r.intersectMeshCreator=i.intersectMeshCreator,r.intersectMesh=r.intersectMeshCreator(),r.intersectMesh.name="intersect",r.intersectMesh.visible=!1,r.helper.add(r.intersectMesh),r}return t.parseArgs=function(e){var r,i,o,s,u,l,c,d;if(e instanceof t)return e;var f=n.parseArgs.call(this,e);return __assign(__assign({},f),{defaultLatitude:(r=e.defaultLatitude)!==null&&r!==void 0?r:0,defaultFov:(i=e.defaultFov)!==null&&i!==void 0?i:90,maxFov:(o=e.maxFov)!==null&&o!==void 0?o:120,minFov:(s=e.minFov)!==null&&s!==void 0?s:40,maxLatitude:(u=e.maxLatitude)!==null&&u!==void 0?u:+Math.PI/2,minLatitude:(l=e.minLatitude)!==null&&l!==void 0?l:-Math.PI/2,moveSpeed:(c=e.moveSpeed)!==null&&c!==void 0?c:3.4,intersectMeshCreator:(d=e.intersectMeshCreator)!==null&&d!==void 0?d:function(){return new IntersectMesh}})},t.initAnimationEndState=function(e){var r,i,o,s,u,l,c=this.parseArgs(e),d=c.works,f=e.initial,v=f.state,p=f.currentState,A=typeof v.panoIndex=="number"?{workCode:(o=(r=v.workCode)!==null&&r!==void 0?r:(i=c.works[0])===null||i===void 0?void 0:i.workCode)!==null&&o!==void 0?o:"",panoIndex:v.panoIndex}:{workCode:p.workCode,panoIndex:p.panoIndex},m=d.getResolvedObserver(A),y=(s=v.longitude)!==null&&s!==void 0?s:p.longitude,h=clamp((u=v.latitude)!==null&&u!==void 0?u:isFristPersonMode(p.mode)?p.latitude:c.defaultLatitude,c.minLatitude,c.maxLatitude),g=clamp((l=v.fov)!==null&&l!==void 0?l:isFristPersonMode(p.mode)?p.fov:c.defaultFov,c.minFov,c.maxFov),b=m?m.position.clone():new THREE__namespace.Vector3;return{workCode:A.workCode,panoIndex:A.panoIndex,mode:"PanoramaLike",longitude:y,latitude:h,fov:g,offset:b,distance:0}},t.prototype.destroy=function(){n.prototype.destroy.call(this),this.intersectMesh&&(this.helper.remove(this.intersectMesh),this.intersectMesh.dispose()),delete this.panState},t.prototype.isReady=function(){return this.panState||this.pinchState?!1:n.prototype.isReady.call(this)},t.prototype.calculateMovingDuration=function(e,r){switch(typeof e){case"function":return e(r,this.moveSpeed);case"number":return e;case"string":return Number(e);default:return clamp(r,2,5)/this.moveSpeed*1e3}},t.prototype.hideIntersectMesh=function(){this.intersectMesh.visible=!1,this.needsRender=!0},t.prototype.coordinatesForOffset=function(e){var r=this.cameraMotion.value.fov,i=this.camera.aspect,o=this.renderer.getSize(new THREE__namespace.Vector2);return{longitude:2*e.x/(o.x*this.scissor.width)*r/95*i,latitude:-2*e.y/(o.y*this.scissor.height)*r/95}},t.prototype.cameraBounce=function(){var e=this.cameraMotion.value,r=e.longitude,i=e.latitude,o=e.fov,s=[{progress:0,value:{longitude:r,latitude:i,fov:o}},{progress:.5,value:{longitude:r,latitude:i,fov:o*.98}},{progress:1,value:{longitude:r,latitude:i,fov:o}}];this.cameraMotion.setKeyframes(s,500).catch(noop$1)},t.prototype.requestMomentumMovement=function(e,r,i,o){var s=this;if(this.inMomentumMovement!==null){for(var u=__assign({},i),l={longitude:0,latitude:0},c=0;c<o;c++)u.longitude*=.996,u.latitude*=.996*.99,l.longitude+=u.longitude,l.latitude+=u.latitude;var d=formatRad(this.cameraMotion.value.longitude+l.longitude),f=clamp(this.cameraMotion.value.latitude+l.latitude,this.minLatitude,this.maxLatitude),v=__assign(__assign({},this.currentPano),{mode:this.mode,longitude:d,latitude:f,fov:this.cameraMotion.value.fov,offset:this.camera.pose.offset.clone(),distance:this.camera.pose.distance}),p=!(u.longitude>1e-4||u.longitude<-1e-4||u.latitude>1e-4||u.latitude<-1e-4),A=createEvent("gesture.momentum",__assign(__assign({},e),{isFirst:r,isFinal:p,state:v}));if(this.inMomentumMovement.event=A,this.emit("gesture.momentum",A),e.defaultPrevented){this.inMomentumMovement=null;return}this.inMomentumMovement&&(this.cameraMotion.set({longitude:d,latitude:f},0).catch(noop$1),p?this.inMomentumMovement=null:AnimationFrameLoop.shared.add(function(m,y){s.requestMomentumMovement(e,!1,u,y|0)},!0,1))}},t.prototype.onPanGesture=function(e){this.userAction=e.userAction,this.stopMomentumMovement(),this.hideIntersectMesh();var r=this.panState,i=e.pointers.length;if(e.isFinal?delete this.panState:this.panState={pointerLength:i,x:e.center.x,y:e.center.y},!(typeof r=="undefined"||r.pointerLength!==i)){var o={x:e.center.x-r.x,y:e.center.y-r.y},s=this.coordinatesForOffset(o),u=formatRad(this.cameraMotion.value.longitude+s.longitude),l=clamp(this.cameraMotion.value.latitude+s.latitude,this.minLatitude,this.maxLatitude);this.camera.aspect<1&&Math.abs(e.overallVelocityX)>.2&&Math.atan2(Math.abs(e.overallVelocityY),Math.abs(e.overallVelocityX))<Math.PI/6.923&&(l=this.cameraMotion.value.latitude);var c=__assign(__assign({},this.currentPano),{mode:this.mode,longitude:u,latitude:l,fov:this.cameraMotion.value.fov,offset:this.camera.pose.offset.clone(),distance:this.camera.pose.distance});if(e.state=c,this.emit("gesture.pan",e),!e.defaultPrevented){var d={longitude:c.longitude,latitude:c.latitude,fov:c.fov};if(this.cameraMotion.set(d,0).catch(noop$1),e.isFinal){var f=e.velocityX,v=e.velocityY*.6;Math.abs(v)>.5&&Math.abs(f)<.5&&(f=0),this.inMomentumMovement={uuid:createUuid()},this.requestMomentumMovement(e,!0,this.coordinatesForOffset({x:f,y:v}),0)}}}},t.prototype.onPinchGesture=function(e){var r;this.userAction=e.userAction,this.stopMomentumMovement();var i=(r=this.pinchState)===null||r===void 0?void 0:r.fov,o=e.scale;if(e.isFirst){this.pinchState={x:e.center.x,y:e.center.y,fov:this.cameraMotion.value.fov};return}if(e.isFinal&&delete this.pinchState,typeof i!="undefined"){var s=clamp(i/o,this.minFov,this.maxFov);e.state.fov=s,this.emit("gesture.pinch",e),!e.defaultPrevented&&(this.cameraMotion.set({fov:s},0).catch(noop$1),e.type="gesture.pan",this.onPanGesture(e))}},t.prototype.onMouseWheel=function(e){this.userAction=e.userAction,this.stopMomentumMovement();var r=clamp(this.cameraMotion.value.fov-e.center.delta,this.minFov,this.maxFov);e.state.fov=r,this.emit("gesture.mousewheel",e),!e.defaultPrevented&&this.cameraMotion.set({fov:r},0).catch(noop$1)},t.prototype.onMouseMove=function(e){var r,i;if(this.intersectMesh.parent&&!this.panState&&(this.emit("gesture.mousemove",e),!e.defaultPrevented)){var o=e.center.raycaster;if(e.isFinal&&this.intersectMesh.parent&&this.intersectMesh.visible===!0){this.hideIntersectMesh();return}var s=this.models.intersectRaycaster(o)[0],u=createEvent("intersect.update",{raycaster:o,intersection:s!=null?s:null,object:this.intersectMesh});if(this.emit("intersect.update",u),u.defaultPrevented){this.hideIntersectMesh();return}if(s){var l=(i=(r=s.face)===null||r===void 0?void 0:r.normal)!==null&&i!==void 0?i:new THREE__namespace.Vector3().copy(o.ray.direction).multiplyScalar(-1),c=l.clone().multiplyScalar(.05),d=s.point.clone().add(c);this.intersectMesh.position.copy(d);var f=d.clone().add(c);if(this.intersectMesh.lookAt(f),Math.abs(l.y)>.99){var v=this.camera.position.clone().sub(d);this.intersectMesh.rotation.z=-Math.atan2(v.z,v.x)}this.intersectMesh.visible=!0,this.needsRender=!0}else this.hideIntersectMesh()}},t}(BaseController),blankVideo="data:video/mp4;base64,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",result;function canplayVideo(){return result||(result=new Promise(function(n){var t,e=document.createElement("video");e.muted=!0,e.src=blankVideo,e.addEventListener("timeupdate",function r(){e.removeEventListener("timeupdate",r,!1),clearTimeout(t);var i=document.createElement("canvas");i.width=i.height=1;var o=i.getContext("2d");if(!o){n(!1);return}o.drawImage(e,0,0,1,1);var s=o.getImageData(0,0,1,1).data;s[3]>10?n(!0):n(!1)},!1),e.addEventListener("canplay",function r(){e.removeEventListener("canplay",r,!1),e.play()},!1),t=window.setTimeout(function(){return n(!1)},1e3)}))}var camera$1=new THREE__namespace.OrthographicCamera(-1,1,1,-1,0,1),geometry$4=new THREE__namespace.BufferGeometry;geometry$4.setAttribute("position",new THREE__namespace.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3)),geometry$4.setAttribute("uv",new THREE__namespace.Float32BufferAttribute([0,2,0,0,2,0],2));var mesh$3=new THREE__namespace.Mesh(geometry$4),scene$1=new THREE__namespace.Scene;scene$1.add(mesh$3);var DEFAULT_VERTEX_SHADER=`
|
|
1310
|
+
`;return function(){var j=new Error("get-stack-trace"),te=j&&j.stack?j.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",he=n.console&&(n.console.warn||n.console.log);return he&&he.call(n.console,V,te),R.apply(this,arguments)}}var A;typeof Object.assign!="function"?A=function(P){if(P===r||P===null)throw new TypeError("Cannot convert undefined or null to object");for(var H=Object(P),V=1;V<arguments.length;V++){var j=arguments[V];if(j!==r&&j!==null)for(var te in j)j.hasOwnProperty(te)&&(H[te]=j[te])}return H}:A=Object.assign;var v=p(function(P,H,V){for(var j=Object.keys(H),te=0;te<j.length;)(!V||V&&P[j[te]]===r)&&(P[j[te]]=H[j[te]]),te++;return P},"extend","Use `assign`."),g=p(function(P,H){return v(P,H,!0)},"merge","Use `assign`.");function h(R,P,H){var V=P.prototype,j;j=R.prototype=Object.create(V),j.constructor=R,j._super=V,H&&A(j,H)}function y(R,P){return function(){return R.apply(P,arguments)}}function b(R,P){return typeof R==s?R.apply(P&&P[0]||r,P):R}function E(R,P){return R===r?P:R}function T(R,P,H){m(S(P),function(V){R.addEventListener(V,H,!1)})}function x(R,P,H){m(S(P),function(V){R.removeEventListener(V,H,!1)})}function _(R,P){for(;R;){if(R==P)return!0;R=R.parentNode}return!1}function w(R,P){return R.indexOf(P)>-1}function S(R){return R.trim().split(/\s+/g)}function M(R,P,H){if(R.indexOf&&!H)return R.indexOf(P);for(var V=0;V<R.length;){if(H&&R[V][H]==P||!H&&R[V]===P)return V;V++}return-1}function C(R){return Array.prototype.slice.call(R,0)}function I(R,P,H){for(var V=[],j=[],te=0;te<R.length;){var he=P?R[te][P]:R[te];M(j,he)<0&&V.push(R[te]),j[te]=he,te++}return H&&(P?V=V.sort(function(Ne,xe){return Ne[P]>xe[P]}):V=V.sort()),V}function B(R,P){for(var H,V,j=P[0].toUpperCase()+P.slice(1),te=0;te<i.length;){if(H=i[te],V=H?H+j:P,V in R)return V;te++}return r}var F=1;function L(){return F++}function k(R){var P=R.ownerDocument||R;return P.defaultView||P.parentWindow||n}var O=/mobile|tablet|ip(ad|hone|od)|android/i,D="ontouchstart"in n,Q=B(n,"PointerEvent")!==r,N=D&&O.test(navigator.userAgent),U="touch",W="pen",q="mouse",G="kinect",K=25,X=1,se=2,Y=4,re=8,ee=1,oe=2,$=4,ie=8,ne=16,ae=oe|$,Z=ie|ne,J=ae|Z,z=["x","y"],ge=["clientX","clientY"];function fe(R,P){var H=this;this.manager=R,this.callback=P,this.element=R.element,this.target=R.options.inputTarget,this.domHandler=function(V){b(R.options.enable,[R])&&H.handler(V)},this.init()}fe.prototype={handler:function(){},init:function(){this.evEl&&T(this.element,this.evEl,this.domHandler),this.evTarget&&T(this.target,this.evTarget,this.domHandler),this.evWin&&T(k(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&x(this.element,this.evEl,this.domHandler),this.evTarget&&x(this.target,this.evTarget,this.domHandler),this.evWin&&x(k(this.element),this.evWin,this.domHandler)}};function ce(R){var P,H=R.options.inputClass;return H?P=H:Q?P=Ue:N?P=tt:D?P=Se:P=qe,new P(R,Ae)}function Ae(R,P,H){var V=H.pointers.length,j=H.changedPointers.length,te=P&X&&V-j===0,he=P&(Y|re)&&V-j===0;H.isFirst=!!te,H.isFinal=!!he,te&&(R.session={}),H.eventType=P,ye(R,H),R.emit("hammer.input",H),R.recognize(H),R.session.prevInput=H}function ye(R,P){var H=R.session,V=P.pointers,j=V.length;H.firstInput||(H.firstInput=ue(P)),j>1&&!H.firstMultiple?H.firstMultiple=ue(P):j===1&&(H.firstMultiple=!1);var te=H.firstInput,he=H.firstMultiple,Ce=he?he.center:te.center,Ne=P.center=le(V);P.timeStamp=l(),P.deltaTime=P.timeStamp-te.timeStamp,P.angle=be(Ce,Ne),P.distance=de(Ce,Ne),Ee(H,P),P.offsetDirection=Te(P.deltaX,P.deltaY);var xe=pe(P.deltaTime,P.deltaX,P.deltaY);P.overallVelocityX=xe.x,P.overallVelocityY=xe.y,P.overallVelocity=c(xe.x)>c(xe.y)?xe.x:xe.y,P.scale=he?_e(he.pointers,V):1,P.rotation=he?me(he.pointers,V):0,P.maxPointers=H.prevInput?P.pointers.length>H.prevInput.maxPointers?P.pointers.length:H.prevInput.maxPointers:P.pointers.length,we(H,P);var Ye=R.element;_(P.srcEvent.target,Ye)&&(Ye=P.srcEvent.target),P.target=Ye}function Ee(R,P){var H=P.center,V=R.offsetDelta||{},j=R.prevDelta||{},te=R.prevInput||{};(P.eventType===X||te.eventType===Y)&&(j=R.prevDelta={x:te.deltaX||0,y:te.deltaY||0},V=R.offsetDelta={x:H.x,y:H.y}),P.deltaX=j.x+(H.x-V.x),P.deltaY=j.y+(H.y-V.y)}function we(R,P){var H=R.lastInterval||P,V=P.timeStamp-H.timeStamp,j,te,he,Ce;if(P.eventType!=re&&(V>K||H.velocity===r)){var Ne=P.deltaX-H.deltaX,xe=P.deltaY-H.deltaY,Ye=pe(V,Ne,xe);te=Ye.x,he=Ye.y,j=c(Ye.x)>c(Ye.y)?Ye.x:Ye.y,Ce=Te(Ne,xe),R.lastInterval=P}else j=H.velocity,te=H.velocityX,he=H.velocityY,Ce=H.direction;P.velocity=j,P.velocityX=te,P.velocityY=he,P.direction=Ce}function ue(R){for(var P=[],H=0;H<R.pointers.length;)P[H]={clientX:u(R.pointers[H].clientX),clientY:u(R.pointers[H].clientY)},H++;return{timeStamp:l(),pointers:P,center:le(P),deltaX:R.deltaX,deltaY:R.deltaY}}function le(R){var P=R.length;if(P===1)return{x:u(R[0].clientX),y:u(R[0].clientY)};for(var H=0,V=0,j=0;j<P;)H+=R[j].clientX,V+=R[j].clientY,j++;return{x:u(H/P),y:u(V/P)}}function pe(R,P,H){return{x:P/R||0,y:H/R||0}}function Te(R,P){return R===P?ee:c(R)>=c(P)?R<0?oe:$:P<0?ie:ne}function de(R,P,H){H||(H=z);var V=P[H[0]]-R[H[0]],j=P[H[1]]-R[H[1]];return Math.sqrt(V*V+j*j)}function be(R,P,H){H||(H=z);var V=P[H[0]]-R[H[0]],j=P[H[1]]-R[H[1]];return Math.atan2(j,V)*180/Math.PI}function me(R,P){return be(P[1],P[0],ge)+be(R[1],R[0],ge)}function _e(R,P){return de(P[0],P[1],ge)/de(R[0],R[1],ge)}var Be={mousedown:X,mousemove:se,mouseup:Y},Ie="mousedown",Ge="mousemove mouseup";function qe(){this.evEl=Ie,this.evWin=Ge,this.pressed=!1,fe.apply(this,arguments)}h(qe,fe,{handler:function(P){var H=Be[P.type];H&X&&(P.button===0||P.button===2)&&(this.pressed=!0),H&se&&P.which!==1&&(H=Y),this.pressed&&(H&Y&&(this.pressed=!1),this.callback(this.manager,H,{pointers:[P],changedPointers:[P],pointerType:q,srcEvent:P}))}});var Re={pointerdown:X,pointermove:se,pointerup:Y,pointercancel:re,pointerout:re},$e={2:U,3:W,4:q,5:G},ze="pointerdown",Ve="pointermove pointerup pointercancel";n.MSPointerEvent&&!n.PointerEvent&&(ze="MSPointerDown",Ve="MSPointerMove MSPointerUp MSPointerCancel");function Ue(){this.evEl=ze,this.evWin=Ve,fe.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}h(Ue,fe,{handler:function(P){var H=this.store,V=!1,j=!1,te=P.type.toLowerCase().replace("ms",""),he=Re[te],Ce=$e[P.pointerType]||P.pointerType,Ne=Ce==U,xe=M(H,P.pointerId,"pointerId");he&X&&(P.button===0||P.button===2||Ne)?xe<0&&(H.push(P),xe=H.length-1):he&(Y|re)?V=!0:!Ne&&P.buttons===0&&(V=!0,j=!0,he=Re.pointerup),!(xe<0)&&(j||(H[xe]=P),this.callback(this.manager,he,{pointers:H,changedPointers:[P],pointerType:Ce,srcEvent:H[xe]}),V&&H.splice(xe,1))}});var Ke={touchstart:X,touchmove:se,touchend:Y,touchcancel:re},je="touchstart",He="touchstart touchmove touchend touchcancel";function ve(){this.evTarget=je,this.evWin=He,this.started=!1,fe.apply(this,arguments)}h(ve,fe,{handler:function(P){var H=Ke[P.type];if(H===X&&(this.started=!0),!!this.started){var V=et.call(this,P,H);H&(Y|re)&&V[0].length-V[1].length===0&&(this.started=!1),this.callback(this.manager,H,{pointers:V[0],changedPointers:V[1],pointerType:U,srcEvent:P})}}});function et(R,P){var H=C(R.touches),V=C(R.changedTouches);return P&(Y|re)&&(H=I(H.concat(V),"identifier",!0)),[H,V]}var Xe={touchstart:X,touchmove:se,touchend:Y,touchcancel:re},ht="touchstart touchmove touchend touchcancel";function tt(){this.evTarget=ht,this.targetIds={},fe.apply(this,arguments)}h(tt,fe,{handler:function(P){var H=Xe[P.type],V=pt.call(this,P,H);V&&this.callback(this.manager,H,{pointers:V[0],changedPointers:V[1],pointerType:U,srcEvent:P})}});function pt(R,P){var H=C(R.touches),V=this.targetIds;if(P&(X|se)&&H.length===1)return V[H[0].identifier]=!0,[H,H];var j,te,he=C(R.changedTouches),Ce=[],Ne=this.target;if(te=H.filter(function(xe){return _(xe.target,Ne)}),P===X)for(j=0;j<te.length;)V[te[j].identifier]=!0,j++;for(j=0;j<he.length;)V[he[j].identifier]&&Ce.push(he[j]),P&(Y|re)&&delete V[he[j].identifier],j++;if(Ce.length)return[I(te.concat(Ce),"identifier",!0),Ce]}var ot=2500,Ze=25;function Se(){fe.apply(this,arguments);var R=y(this.handler,this);this.touch=new tt(this.manager,R),this.mouse=new qe(this.manager,R),this.primaryTouch=null,this.lastTouches=[]}h(Se,fe,{handler:function(P,H,V){var j=V.pointerType==U,te=V.pointerType==q;if(!(te&&V.sourceCapabilities&&V.sourceCapabilities.firesTouchEvents)){if(j)Me.call(this,H,V);else if(te&&rt.call(this,V))return;this.callback(P,H,V)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});function Me(R,P){R&X?(this.primaryTouch=P.changedPointers[0].identifier,De.call(this,P)):R&(Y|re)&&De.call(this,P)}function De(R){var P=R.changedPointers[0];if(P.identifier===this.primaryTouch){var H={x:P.clientX,y:P.clientY};this.lastTouches.push(H);var V=this.lastTouches,j=function(){var te=V.indexOf(H);te>-1&&V.splice(te,1)};setTimeout(j,ot)}}function rt(R){for(var P=R.srcEvent.clientX,H=R.srcEvent.clientY,V=0;V<this.lastTouches.length;V++){var j=this.lastTouches[V],te=Math.abs(P-j.x),he=Math.abs(H-j.y);if(te<=Ze&&he<=Ze)return!0}return!1}var vt=o?B(o.style,"touchAction"):r,ct=vt!==r,mt="compute",gt="auto",st="manipulation",Fe="none",Pe="pan-x",Le="pan-y",Oe=ut();function ke(R,P){this.manager=R,this.set(P)}ke.prototype={set:function(R){R==mt&&(R=this.compute()),ct&&this.manager.element.style&&Oe[R]&&(this.manager.element.style[vt]=R),this.actions=R.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var R=[];return m(this.manager.recognizers,function(P){b(P.options.enable,[P])&&(R=R.concat(P.getTouchAction()))}),yt(R.join(" "))},preventDefaults:function(R){var P=R.srcEvent,H=R.offsetDirection;if(this.manager.session.prevented){P.preventDefault();return}var V=this.actions,j=w(V,Fe)&&!Oe[Fe],te=w(V,Le)&&!Oe[Le],he=w(V,Pe)&&!Oe[Pe];if(j){var Ce=R.pointers.length===1,Ne=R.distance<2,xe=R.deltaTime<250;if(Ce&&Ne&&xe)return}if(!(he&&te)&&(j||te&&H&ae||he&&H&Z))return this.preventSrc(P)},preventSrc:function(R){this.manager.session.prevented=!0,R.preventDefault()}};function yt(R){if(w(R,Fe))return Fe;var P=w(R,Pe),H=w(R,Le);return P&&H?Fe:P||H?P?Pe:Le:w(R,st)?st:gt}function ut(){if(!ct)return!1;var R={},P=n.CSS&&n.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach(function(H){R[H]=P?n.CSS.supports("touch-action",H):!0}),R}var lt=1,Qe=2,dt=4,at=8,nt=at,At=16,Je=32;function it(R){this.options=A({},this.defaults,R||{}),this.id=L(),this.manager=null,this.options.enable=E(this.options.enable,!0),this.state=lt,this.simultaneous={},this.requireFail=[]}it.prototype={defaults:{},set:function(R){return A(this.options,R),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(R){if(f(R,"recognizeWith",this))return this;var P=this.simultaneous;return R=bt(R,this),P[R.id]||(P[R.id]=R,R.recognizeWith(this)),this},dropRecognizeWith:function(R){return f(R,"dropRecognizeWith",this)?this:(R=bt(R,this),delete this.simultaneous[R.id],this)},requireFailure:function(R){if(f(R,"requireFailure",this))return this;var P=this.requireFail;return R=bt(R,this),M(P,R)===-1&&(P.push(R),R.requireFailure(this)),this},dropRequireFailure:function(R){if(f(R,"dropRequireFailure",this))return this;R=bt(R,this);var P=M(this.requireFail,R);return P>-1&&this.requireFail.splice(P,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(R){return!!this.simultaneous[R.id]},emit:function(R){var P=this,H=this.state;function V(j){P.manager.emit(j,R)}H<at&&V(P.options.event+Ct(H)),V(P.options.event),R.additionalEvent&&V(R.additionalEvent),H>=at&&V(P.options.event+Ct(H))},tryEmit:function(R){if(this.canEmit())return this.emit(R);this.state=Je},canEmit:function(){for(var R=0;R<this.requireFail.length;){if(!(this.requireFail[R].state&(Je|lt)))return!1;R++}return!0},recognize:function(R){var P=A({},R);if(!b(this.options.enable,[this,P])){this.reset(),this.state=Je;return}this.state&(nt|At|Je)&&(this.state=lt),this.state=this.process(P),this.state&(Qe|dt|at|At)&&this.tryEmit(P)},process:function(R){},getTouchAction:function(){},reset:function(){}};function Ct(R){return R&At?"cancel":R&at?"end":R&dt?"move":R&Qe?"start":""}function Mt(R){return R==ne?"down":R==ie?"up":R==oe?"left":R==$?"right":""}function bt(R,P){var H=P.manager;return H?H.get(R):R}function We(){it.apply(this,arguments)}h(We,it,{defaults:{pointers:1},attrTest:function(R){var P=this.options.pointers;return P===0||R.pointers.length===P},process:function(R){var P=this.state,H=R.eventType,V=P&(Qe|dt),j=this.attrTest(R);return V&&(H&re||!j)?P|At:V||j?H&Y?P|at:P&Qe?P|dt:Qe:Je}});function Et(){We.apply(this,arguments),this.pX=null,this.pY=null}h(Et,We,{defaults:{event:"pan",threshold:10,pointers:1,direction:J},getTouchAction:function(){var R=this.options.direction,P=[];return R&ae&&P.push(Le),R&Z&&P.push(Pe),P},directionTest:function(R){var P=this.options,H=!0,V=R.distance,j=R.direction,te=R.deltaX,he=R.deltaY;return j&P.direction||(P.direction&ae?(j=te===0?ee:te<0?oe:$,H=te!=this.pX,V=Math.abs(R.deltaX)):(j=he===0?ee:he<0?ie:ne,H=he!=this.pY,V=Math.abs(R.deltaY))),R.direction=j,H&&V>P.threshold&&j&P.direction},attrTest:function(R){return We.prototype.attrTest.call(this,R)&&(this.state&Qe||!(this.state&Qe)&&this.directionTest(R))},emit:function(R){this.pX=R.deltaX,this.pY=R.deltaY;var P=Mt(R.direction);P&&(R.additionalEvent=this.options.event+P),this._super.emit.call(this,R)}});function _t(){We.apply(this,arguments)}h(_t,We,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[Fe]},attrTest:function(R){return this._super.attrTest.call(this,R)&&(Math.abs(R.scale-1)>this.options.threshold||this.state&Qe)},emit:function(R){if(R.scale!==1){var P=R.scale<1?"in":"out";R.additionalEvent=this.options.event+P}this._super.emit.call(this,R)}});function xt(){it.apply(this,arguments),this._timer=null,this._input=null}h(xt,it,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[gt]},process:function(R){var P=this.options,H=R.pointers.length===P.pointers,V=R.distance<P.threshold,j=R.deltaTime>P.time;if(this._input=R,!V||!H||R.eventType&(Y|re)&&!j)this.reset();else if(R.eventType&X)this.reset(),this._timer=d(function(){this.state=nt,this.tryEmit()},P.time,this);else if(R.eventType&Y)return nt;return Je},reset:function(){clearTimeout(this._timer)},emit:function(R){this.state===nt&&(R&&R.eventType&Y?this.manager.emit(this.options.event+"up",R):(this._input.timeStamp=l(),this.manager.emit(this.options.event,this._input)))}});function wt(){We.apply(this,arguments)}h(wt,We,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[Fe]},attrTest:function(R){return this._super.attrTest.call(this,R)&&(Math.abs(R.rotation)>this.options.threshold||this.state&Qe)}});function St(){We.apply(this,arguments)}h(St,We,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:ae|Z,pointers:1},getTouchAction:function(){return Et.prototype.getTouchAction.call(this)},attrTest:function(R){var P=this.options.direction,H;return P&(ae|Z)?H=R.overallVelocity:P&ae?H=R.overallVelocityX:P&Z&&(H=R.overallVelocityY),this._super.attrTest.call(this,R)&&P&R.offsetDirection&&R.distance>this.options.threshold&&R.maxPointers==this.options.pointers&&c(H)>this.options.velocity&&R.eventType&Y},emit:function(R){var P=Mt(R.offsetDirection);P&&this.manager.emit(this.options.event+P,R),this.manager.emit(this.options.event,R)}});function Tt(){it.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}h(Tt,it,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[st]},process:function(R){var P=this.options,H=R.pointers.length===P.pointers,V=R.distance<P.threshold,j=R.deltaTime<P.time;if(this.reset(),R.eventType&X&&this.count===0)return this.failTimeout();if(V&&j&&H){if(R.eventType!=Y)return this.failTimeout();var te=this.pTime?R.timeStamp-this.pTime<P.interval:!0,he=!this.pCenter||de(this.pCenter,R.center)<P.posThreshold;this.pTime=R.timeStamp,this.pCenter=R.center,!he||!te?this.count=1:this.count+=1,this._input=R;var Ce=this.count%P.taps;if(Ce===0)return this.hasRequireFailures()?(this._timer=d(function(){this.state=nt,this.tryEmit()},P.interval,this),Qe):nt}return Je},failTimeout:function(){return this._timer=d(function(){this.state=Je},this.options.interval,this),Je},reset:function(){clearTimeout(this._timer)},emit:function(){this.state==nt&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}});function ft(R,P){return P=P||{},P.recognizers=E(P.recognizers,ft.defaults.preset),new Rt(R,P)}ft.VERSION="2.0.7",ft.defaults={domEvents:!1,touchAction:mt,enable:!0,inputTarget:null,inputClass:null,preset:[[wt,{enable:!1}],[_t,{enable:!1},["rotate"]],[St,{direction:ae}],[Et,{direction:ae},["swipe"]],[Tt],[Tt,{event:"doubletap",taps:2},["tap"]],[xt]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};var Bt=1,It=2;function Rt(R,P){this.options=A({},ft.defaults,P||{}),this.options.inputTarget=this.options.inputTarget||R,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=R,this.input=ce(this),this.touchAction=new ke(this,this.options.touchAction),Pt(this,!0),m(this.options.recognizers,function(H){var V=this.add(new H[0](H[1]));H[2]&&V.recognizeWith(H[2]),H[3]&&V.requireFailure(H[3])},this)}Rt.prototype={set:function(R){return A(this.options,R),R.touchAction&&this.touchAction.update(),R.inputTarget&&(this.input.destroy(),this.input.target=R.inputTarget,this.input.init()),this},stop:function(R){this.session.stopped=R?It:Bt},recognize:function(R){var P=this.session;if(!P.stopped){this.touchAction.preventDefaults(R);var H,V=this.recognizers,j=P.curRecognizer;(!j||j&&j.state&nt)&&(j=P.curRecognizer=null);for(var te=0;te<V.length;)H=V[te],P.stopped!==It&&(!j||H==j||H.canRecognizeWith(j))?H.recognize(R):H.reset(),!j&&H.state&(Qe|dt|at)&&(j=P.curRecognizer=H),te++}},get:function(R){if(R instanceof it)return R;for(var P=this.recognizers,H=0;H<P.length;H++)if(P[H].options.event==R)return P[H];return null},add:function(R){if(f(R,"add",this))return this;var P=this.get(R.options.event);return P&&this.remove(P),this.recognizers.push(R),R.manager=this,this.touchAction.update(),R},remove:function(R){if(f(R,"remove",this))return this;if(R=this.get(R),R){var P=this.recognizers,H=M(P,R);H!==-1&&(P.splice(H,1),this.touchAction.update())}return this},on:function(R,P){if(R!==r&&P!==r){var H=this.handlers;return m(S(R),function(V){H[V]=H[V]||[],H[V].push(P)}),this}},off:function(R,P){if(R!==r){var H=this.handlers;return m(S(R),function(V){P?H[V]&&H[V].splice(M(H[V],P),1):delete H[V]}),this}},emit:function(R,P){this.options.domEvents&&Ft(R,P);var H=this.handlers[R]&&this.handlers[R].slice();if(!(!H||!H.length)){P.type=R,P.preventDefault=function(){P.srcEvent.preventDefault()};for(var V=0;V<H.length;)H[V](P),V++}},destroy:function(){this.element&&Pt(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}};function Pt(R,P){var H=R.element;if(H.style){var V;m(R.options.cssProps,function(j,te){V=B(H.style,te),P?(R.oldCssProps[V]=H.style[V],H.style[V]=j):H.style[V]=R.oldCssProps[V]||""}),P||(R.oldCssProps={})}}function Ft(R,P){var H=t.createEvent("Event");H.initEvent(R,!0,!0),H.gesture=P,P.target.dispatchEvent(H)}return A(ft,{INPUT_START:X,INPUT_MOVE:se,INPUT_END:Y,INPUT_CANCEL:re,STATE_POSSIBLE:lt,STATE_BEGAN:Qe,STATE_CHANGED:dt,STATE_ENDED:at,STATE_RECOGNIZED:nt,STATE_CANCELLED:At,STATE_FAILED:Je,DIRECTION_NONE:ee,DIRECTION_LEFT:oe,DIRECTION_RIGHT:$,DIRECTION_UP:ie,DIRECTION_DOWN:ne,DIRECTION_HORIZONTAL:ae,DIRECTION_VERTICAL:Z,DIRECTION_ALL:J,Manager:Rt,Input:fe,TouchAction:ke,TouchInput:tt,MouseInput:qe,PointerEventInput:Ue,TouchMouseInput:Se,SingleTouchInput:ve,Recognizer:it,AttrRecognizer:We,Tap:Tt,Pan:Et,Swipe:St,Pinch:_t,Rotate:wt,Press:xt,on:T,off:x,each:m,merge:g,extend:v,assign:A,inherit:h,bindFn:y,prefixed:B}),ft}(typeof window!="undefined"?window:{},typeof document!="undefined"?document:{});function calculateThreeMouse(n,t,e){var r=t.getBoundingClientRect(),i=r.top,o=r.left,s=r.width,u=r.height;return e&&(o=o+s*e.left,i=i+u*(1-e.bottom-e.height),s=s*e.width,u=u*e.height),new THREE__namespace.Vector2((n.x-o)/s*2-1,-(n.y-i)/u*2+1)}var BaseController=function(n){__extends(t,n);function t(e){var r,i,o,s,u,c,l=n.call(this)||this,d=t.parseArgs(e);return l.mode="",l.pending=new Set,l.userAction=d.initial.userAction,l.destroyed=!1,l.ident=d.ident,l.scene=d.scene,l.xrCustomObjectsScene=d.xrCustomObjectsScene,l.helper=d.helper,l.boundingMesh=d.boundingMesh,l.camera=d.camera,l.renderer=d.renderer,l.scissor=d.scissor,l.element=d.element,l.models=d.models,l.enableWheel=d.enableWheel,l.enableIOSEDR=(r=d.enableIOSEDR)!==null&&r!==void 0?r:!1,l.enableEDL=(i=d.enableEDL)!==null&&i!==void 0?i:!0,l.enableHQ=(o=d.enableHQ)!==null&&o!==void 0?o:!0,l.works=d.works,l.imageOptions=d.imageOptions,l.videoTexture=d.videoTexture,l.extraElements=d.extraElements,l.initial=d.initial,l.currentPano=typeof l.initial.state.panoIndex=="number"?{workCode:(c=(s=l.initial.state.workCode)!==null&&s!==void 0?s:(u=d.works[0])===null||u===void 0?void 0:u.workCode)!==null&&c!==void 0?c:"",panoIndex:l.initial.state.panoIndex}:{workCode:l.initial.currentState.workCode,panoIndex:l.initial.currentState.panoIndex},l.needsRender=!0,l.cameraMotion=new Motion({longitude:{value:l.camera.pose.longitude,circle:[0,Math.PI*2]},latitude:l.camera.pose.latitude,fov:l.camera.pose.fov}),l.inMomentumMovement=null,l.eventUnbinds=[d.element].concat(d.extraElements||[]).map(function(f){return l.bindEvents(f)}),l.pending.add("init-animation"),l.initAnimationReady=new Promise(function(f){AnimationFrameLoop.shared.add(function(){l.initAnimation().then(function(){l.pending.delete("init-animation"),f()})},!0)}),l}return t.parseArgs=function(e){return e instanceof t?e:__assign({},e)},t.initAnimationEndState=function(e){var r,i,o,s,u,c,l,d,f=this.parseArgs(e),m=f.initial,p=m.state,A=m.currentState,v=typeof p.panoIndex=="number"?{workCode:(o=(r=p.workCode)!==null&&r!==void 0?r:(i=f.works[0])===null||i===void 0?void 0:i.workCode)!==null&&o!==void 0?o:"",panoIndex:p.panoIndex}:{workCode:A.workCode,panoIndex:A.panoIndex};return __assign(__assign({},v),{mode:"",longitude:(s=p.longitude)!==null&&s!==void 0?s:A.longitude,latitude:(u=p.latitude)!==null&&u!==void 0?u:A.latitude,fov:(c=p.fov)!==null&&c!==void 0?c:A.fov,offset:(l=p.offset)!==null&&l!==void 0?l:A.offset,distance:(d=p.distance)!==null&&d!==void 0?d:A.distance})},t.prototype.destroy=function(){var e;this.stopMomentumMovement(),this.destroyed=!0,this.off(),this.cameraMotion.dispose();for(var r=0,i=this.eventUnbinds;r<i.length;r++){var o=i[r];o()}this.copyEffect&&(this.copyEffect.dispose(),delete this.copyEffect),delete this.panState,(e=this.pressState)===null||e===void 0||e.stop(),delete this.pressState},t.prototype.isReady=function(){return this.inMomentumMovement===null&&this.pending.size===0&&this.cameraMotion.ended===!0},t.prototype.bindExtraElement=function(e){for(var r=0,i=this.eventUnbinds;r<i.length;r++){var o=i[r];if(o.element===e)return}this.eventUnbinds.push(this.bindEvents(e))},t.prototype.unbindExtraElement=function(e){for(var r=[],i=0,o=this.eventUnbinds;i<o.length;i++){var s=o[i];s.element===e?s():r.push(s)}this.eventUnbinds=r},t.prototype.updateRenderSize=function(){this.needsRender=!0},t.prototype.updateModel=function(e){this.needsRender=!0},t.prototype.updateWork=function(e,r,i,o){return this.works=e,this.userAction=o,!1},t.prototype.updateTime=function(e,r){if(!this.destroyed){var i={};this.cameraMotion.ended&&(this.cameraMotion.update(e),i.longitude=this.cameraMotion.value.longitude,i.latitude=this.cameraMotion.value.latitude,i.fov=this.cameraMotion.value.fov),isEmptyObject(i)&&this.setCamera(i)}},t.prototype.render=function(){this.renderer.render(this.scene,this.camera)},t.prototype.postProcessing=function(e,r){this.destroyed},t.prototype.updateCamera=function(e,r,i){var o=this;return this.initAnimationReady.then(function(){o.userAction=i,o.stopMomentumMovement();var s={};return e.longitude!==void 0&&(s.longitude=e.longitude),e.latitude!==void 0&&(s.latitude=e.latitude),e.fov!==void 0&&(s.fov=e.fov),o.cameraMotion.set(s,r).catch(noop$1)})},t.prototype.updateCameraWithKeyframes=function(e,r,i){var o=this;return this.initAnimationReady.then(function(){o.userAction=i,o.stopMomentumMovement();for(var s=[],u=0,c=e;u<c.length;u++){var l=c[u];s.push({key:l.key,progress:l.progress,value:{longitude:l.value.longitude,latitude:l.value.latitude,fov:l.value.fov}})}return o.cameraMotion.setKeyframes(s,r)})},t.prototype.getTargetState=function(){var e=this.cameraMotion.getKeyFrameSegment(now())[1];return __assign(__assign({},this.currentPano),{mode:this.mode,longitude:e.value.longitude,latitude:e.value.latitude,fov:e.value.fov,offset:this.camera.pose.offset.clone(),distance:this.camera.pose.distance})},t.prototype.initAnimation=function(){var e=this.initial;e.state,e.currentState,e.duration;var r=e.userAction,i=t.initAnimationEndState(this);return this.userAction=r,this.emit("initAnimation.start",createEvent("initAnimation.start",{state:i,userAction:this.userAction})),this.emit("initAnimation.end",createEvent("initAnimation.end",{state:i,userAction:this.userAction})),Promise.resolve()},t.prototype.setCamera=function(e){var r,i,o,s,u;e===void 0&&(e={});var c=(r=e.longitude)!==null&&r!==void 0?r:this.camera.pose.longitude,l=(i=e.latitude)!==null&&i!==void 0?i:this.camera.pose.latitude,d=(o=e.fov)!==null&&o!==void 0?o:this.camera.pose.fov,f=(s=e.distance)!==null&&s!==void 0?s:this.camera.pose.distance,m=(u=e.offset)!==null&&u!==void 0?u:this.camera.pose.offset,p=notSimilarValue(c,this.camera.pose.longitude,Math.PI*2)||notSimilarValue(l,this.camera.pose.latitude),A=notSimilarValue(d,this.camera.pose.fov),v=notSimilarValue(f,this.camera.pose.distance),g=notSimilarVector3(m,this.camera.pose.offset);(A||p||g||v)&&(this.camera.setFromPose({longitude:c,latitude:l,fov:d,distance:f,offset:m}),this.emit("camera.update",createEvent("camera.update",{userAction:this.userAction,state:__assign(__assign({},this.currentPano),{mode:this.mode,longitude:c,latitude:l,fov:d,offset:m,distance:f})})),this.needsRender=!0)},t.prototype.stopMomentumMovement=function(){if(this.inMomentumMovement&&this.inMomentumMovement.event&&!this.inMomentumMovement.event.defaultPrevented&&!this.inMomentumMovement.event.isFinal){var e=createEvent("gesture.momentum",__assign(__assign({},this.inMomentumMovement.event),{isFirst:!1,isFinal:!0}));this.emit("gesture.momentum",e)}this.inMomentumMovement=null},t.prototype.onPanGesture=function(e){this.stopMomentumMovement(),this.emit("gesture.pan",e)},t.prototype.onTapGesture=function(e){this.stopMomentumMovement(),this.emit("gesture.tap",e)},t.prototype.onPressGesture=function(e){this.stopMomentumMovement(),this.emit("gesture.press",e)},t.prototype.onPinchGesture=function(e){this.stopMomentumMovement(),this.emit("gesture.pinch",e)},t.prototype.onMouseWheel=function(e){this.stopMomentumMovement(),this.emit("gesture.mousewheel",e)},t.prototype.onMouseMove=function(e){this.stopMomentumMovement(),this.emit("gesture.mousemove",e)},t.prototype.relativeClientPosition=function(e){return calculateThreeMouse(e,this.element,this.scissor)},t.prototype.bindEvents=function(e){var r=this,i=function(w){var S=calculateThreeMouse(w,r.element,r.scissor);return!(Math.abs(S.x)>1||Math.abs(S.y)>1)},o=new Hammer.Manager(e),s=function(w){var S=w.session;return S.firstInput||null};o.add(new Hammer.Pan({threshold:10,pointers:0})),o.add(new Hammer.Tap({interval:410})),o.add(new Hammer.Pinch({threshold:0,pointers:2})),o.on("panstart pan",function(w){var S=s(o);if(!(S&&!i(S.center))){var M=createEvent("gesture.pan",{target:w.target,pointerType:w.pointerType,srcEvent:w.srcEvent,pointers:w.pointers.map(function(C){var I=r.relativeClientPosition(C),B=new THREE__namespace.Raycaster;return B.params.Points={threshold:.1},B.setFromCamera(I,r.camera),{x:C.x,y:C.y,delta:0,buttons:0,coords:I,raycaster:B}}),isFirst:w.isFirst,isFinal:w.isFinal,scale:w.scale,center:function(C){var I=r.relativeClientPosition(C),B=new THREE__namespace.Raycaster;return B.params.Points={threshold:.1},B.setFromCamera(I,r.camera),{x:C.x,y:C.y,delta:0,buttons:0,coords:I,raycaster:B}}(w.center),velocityX:w.velocityX,velocityY:w.velocityY,overallVelocityX:w.overallVelocityX,overallVelocityY:w.overallVelocityY,userAction:!0,state:__assign(__assign({mode:r.mode},r.currentPano),clonePose(r.camera.pose))});r.onPanGesture(M),g()}}),o.on("tap",function(w){if(!(w.pointerType==="mouse"&&w.srcEvent.button!==0)){var S=s(o);if(!(S&&!i(S.center))){var M=createEvent("gesture.tap",{target:w.target,pointerType:w.pointerType,srcEvent:w.srcEvent,pointers:w.pointers.map(function(C){var I=r.relativeClientPosition(C),B=new THREE__namespace.Raycaster;return B.params.Points={threshold:.1},B.setFromCamera(I,r.camera),{x:C.x,y:C.y,delta:0,buttons:0,coords:I,raycaster:B}}),isFirst:!0,isFinal:!0,scale:w.scale,center:function(C){var I=r.relativeClientPosition(C),B=new THREE__namespace.Raycaster;return B.params.Points={threshold:.1},B.setFromCamera(I,r.camera),{x:C.x,y:C.y,delta:0,buttons:0,coords:I,raycaster:B}}(w.center),velocityX:w.velocityX,velocityY:w.velocityY,overallVelocityX:w.overallVelocityX,overallVelocityY:w.overallVelocityY,userAction:!0,state:__assign(__assign({mode:r.mode},r.currentPano),clonePose(r.camera.pose))});r.onTapGesture(M),g()}}}),o.on("pinchstart pinch pinchend",function(w){var S=s(o);if(!(S&&!i(S.center))){var M=createEvent("gesture.pinch",{target:w.target,pointerType:w.pointerType,srcEvent:w.srcEvent,pointers:w.pointers.map(function(C){var I,B=r.relativeClientPosition(C),F=new THREE__namespace.Raycaster;return F.params.Points={threshold:.1},F.setFromCamera(B,r.camera),{x:C.x,y:C.y,delta:(I=C.delta)!==null&&I!==void 0?I:0,buttons:0,coords:B,raycaster:F}}),isFirst:w.type==="pinchstart",isFinal:w.type==="pinchend",scale:w.scale,center:function(C){var I=r.relativeClientPosition(C),B=new THREE__namespace.Raycaster;return B.params.Points={threshold:.1},B.setFromCamera(I,r.camera),{x:C.x,y:C.y,delta:0,buttons:0,coords:I,raycaster:B}}(w.center),velocityX:w.velocityX,velocityY:w.velocityY,overallVelocityX:w.overallVelocityX,overallVelocityY:w.overallVelocityY,userAction:!0,state:__assign(__assign({mode:r.mode},r.currentPano),clonePose(r.camera.pose))});r.onPinchGesture(M),g()}});var u=null,c=null,l=function(w,S,M){var C={x:M.clientX,y:M.clientY},I=r.relativeClientPosition(C),B=new THREE__namespace.Raycaster;B.params.Points={threshold:.1},B.setFromCamera(I,r.camera);var F=__assign(__assign({},C),{coords:I,raycaster:B,buttons:M.buttons,delta:0}),L=w==="pinchend"?S:S-M.deltaY/280,k=createEvent("gesture.pinch",{target:M.target,pointerType:"mouse",srcEvent:M,pointers:[__assign({},F)],isFirst:w==="pinchstart",isFinal:w==="pinchend",scale:clamp(L,.1,10),center:__assign({},F),velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:__assign(__assign({mode:r.mode},r.currentPano),clonePose(r.camera.pose))});return k},d=function(w){var S,M={x:w.clientX,y:w.clientY};if(i(M)){if(w.preventDefault(),w.ctrlKey){var C=(S=u==null?void 0:u.prevEvent.scale)!==null&&S!==void 0?S:1,I=l(u?"pinch":"pinchstart",C,w);u===null?u={firstEvent:I,prevEvent:I}:u.prevEvent=I,r.onPinchGesture(I),c!==null&&window.clearTimeout(c),c=window.setTimeout(function(){var Q;c=null;var N=(Q=u==null?void 0:u.prevEvent.scale)!==null&&Q!==void 0?Q:1,U=l("pinchend",N,w);u=null,r.onPinchGesture(U)},200)}else{var B=(Math.abs(w.deltaY)>Math.abs(w.deltaX)?w.deltaY:w.deltaX)/-60,F=r.mouseWheelState!==void 0,L={x:w.clientX,y:w.clientY},k=r.relativeClientPosition(L),O=new THREE__namespace.Raycaster;O.params.Points={threshold:.1},O.setFromCamera(k,r.camera);var D=__assign(__assign({},L),{coords:k,raycaster:O,buttons:w.buttons,delta:B}),I=createEvent("gesture.mousewheel",{target:w.target,pointerType:"mouse",srcEvent:w,pointers:[__assign({},D)],isFirst:F,isFinal:!1,scale:0,center:__assign({},D),velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:__assign(__assign({mode:r.mode},r.currentPano),clonePose(r.camera.pose))});r.onMouseWheel(I),r.mouseWheelState&&clearTimeout(r.mouseWheelState.timer),r.mouseWheelState={timer:setTimeout(function(){delete r.mouseWheelState;var N=createEvent("gesture.mousewheel",{target:w.target,pointerType:"mouse",srcEvent:w,pointers:[__assign(__assign({},D),{delta:0})],isFirst:!1,isFinal:!0,scale:0,center:__assign(__assign({},D),{delta:0}),velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:__assign(__assign({mode:r.mode},r.currentPano),clonePose(r.camera.pose))});r.onMouseWheel(N)},100)}}g()}},f=function(w){if(!isMobile()){if(!i({x:w.clientX,y:w.clientY})){m();return}var S=!1;r.mouseMoveState||(S=!0);var M={x:w.clientX,y:w.clientY},C=r.relativeClientPosition(M),I=new THREE__namespace.Raycaster;I.params.Points={threshold:.1},I.setFromCamera(C,r.camera);var B=__assign(__assign({},M),{coords:C,raycaster:I,buttons:w.buttons,delta:0}),F=createEvent("gesture.mousemove",{target:w.target,pointerType:"mouse",srcEvent:w,pointers:[__assign({},B)],isFirst:S,isFinal:!1,scale:0,center:__assign({},B),velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:__assign(__assign({mode:r.mode},r.currentPano),clonePose(r.camera.pose))});r.mouseMoveState||(r.mouseMoveState={timeStamp:now(),event:F}),r.onMouseMove(F),r.pressState&&Math.abs(w.clientX-r.pressState.event.center.y)>10&&Math.abs(w.clientY-r.pressState.event.center.y)>10&&g()}},m=function(){if(r.mouseMoveState){var w=createEvent(r.mouseMoveState.event.type,__assign(__assign({},r.mouseMoveState.event),{isFinal:!0}));r.onMouseMove(w)}g()},p=function(w){if(!i(w.center)){g();return}var S=!1;r.pressState||(S=!0,r.pressState={event:w,timeStamp:now(),stop:noop$1});var M=now()-r.pressState.timeStamp,C=createEvent(r.pressState.event.type,__assign(__assign({},r.pressState.event),{isFirst:S,isFinal:!1,center:__assign(__assign({},r.pressState.event.center),{delta:M}),pointers:r.pressState.event.pointers.map(function(I){return __assign(__assign({},I),{delta:M})})}));r.onPressGesture(C),r.pressState&&(r.pressState.stop=AnimationFrameLoop.shared.add(function(I){p(w)},!0,1))},A=function(w){if(g(),!(w.touches.length>1||w.changedTouches.length<=0)){var S={x:w.changedTouches[0].clientX,y:w.changedTouches[0].clientY},M=r.relativeClientPosition(S),C=new THREE__namespace.Raycaster;C.params.Points={threshold:.1},C.setFromCamera(M,r.camera);var I=__assign(__assign({},S),{coords:M,raycaster:C,buttons:0,delta:0}),B=createEvent("gesture.press",{target:w.target,pointerType:"touch",srcEvent:w,pointers:[__assign({},I)],isFirst:!1,isFinal:!1,scale:0,center:I,velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:__assign(__assign({mode:r.mode},r.currentPano),clonePose(r.camera.pose))});p(B)}},v=function(w){g();var S={x:w.clientX,y:w.clientY},M=r.relativeClientPosition(S),C=new THREE__namespace.Raycaster;C.params.Points={threshold:.1},C.setFromCamera(M,r.camera);var I=__assign(__assign({},S),{coords:M,raycaster:C,buttons:w.buttons,delta:0}),B=createEvent("gesture.press",{target:w.target,pointerType:"mouse",srcEvent:w,pointers:[__assign({},I)],isFirst:!1,isFinal:!1,scale:0,center:I,velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:__assign(__assign({mode:r.mode},r.currentPano),clonePose(r.camera.pose))});p(B)},g=function(){var w;if(r.pressState){var S=now()-r.pressState.timeStamp,M=createEvent(r.pressState.event.type,__assign(__assign({},r.pressState.event),{center:__assign(__assign({},r.pressState.event.center),{delta:S}),isFirst:!1,isFinal:!0,pointers:r.pressState.event.pointers.map(function(C){return __assign(__assign({},C),{delta:S})})}));r.onPressGesture(M),(w=r.pressState)===null||w===void 0||w.stop(),delete r.pressState}},h=null,y=function(w){var S,M=!1,C=!1;switch(w.type){case"gesturestart":M=!0;break;case"gestureend":C=!0;break}var I={x:w.clientX,y:w.clientY},B=r.relativeClientPosition(I),F=new THREE__namespace.Raycaster;F.params.Points={threshold:.1},F.setFromCamera(B,r.camera);var L=__assign(__assign({},I),{coords:B,raycaster:F,buttons:0,delta:0}),k=createEvent("gesture.pinch",{target:w.target,pointerType:"mouse",srcEvent:w,pointers:[__assign({},L)],isFirst:M,isFinal:C,scale:(S=w.scale)!==null&&S!==void 0?S:1,center:__assign({},L),velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:__assign(__assign({mode:r.mode},r.currentPano),clonePose(r.camera.pose))});return k},b=function(w){if(w.preventDefault(),!isMobile()){var S=y(w);h={firstEvent:S};var M=h.firstEvent;M&&!i(M.center)||r.onPinchGesture(S)}},E=function(w){if(w.preventDefault(),!isMobile()&&h){var S=y(w),M=h.firstEvent;M&&!i(M.center)||r.onPinchGesture(S)}},T=function(w){if(w.preventDefault(),!isMobile()&&h){var S=y(w),M=h.firstEvent;h=null,!(M&&!i(M.center))&&r.onPinchGesture(S)}},x=function(w){if(w&&typeof w.preventDefault=="function"&&w.currentTarget===e&&w.preventDefault(),typeof getSelection=="function"){var S=getSelection();S&&S.focusNode&&(S.removeAllRanges&&S.removeAllRanges(),S.empty&&S.empty())}};this.enableWheel&&e.addEventListener("wheel",d,{passive:!1}),e.addEventListener("mousemove",f,!1),e.addEventListener("mouseout",m,!1),e.addEventListener("touchstart",A,{passive:!0}),e.addEventListener("touchend",g,!1),e.addEventListener("touchcancel",g,!1),e.addEventListener("mousedown",v,!1),e.addEventListener("mouseup",g,!1),e.addEventListener("gesturestart",b,{passive:!1}),e.addEventListener("gesturechange",E,{passive:!1}),e.addEventListener("gestureend",T,{passive:!1}),e.addEventListener("touchstart",x,{passive:!1}),e.addEventListener("contextmenu",x,!1);var _=function(){o.destroy(),e.removeEventListener("wheel",d,!1),e.removeEventListener("mousemove",f,!1),e.removeEventListener("mouseout",m,!1),e.removeEventListener("touchstart",A,!1),e.removeEventListener("touchend",g,!1),e.removeEventListener("touchcancel",g,!1),e.removeEventListener("mousedown",v,!1),e.removeEventListener("mouseup",g,!1),e.removeEventListener("gesturestart",b,!1),e.removeEventListener("gesturechange",E,!1),e.removeEventListener("gestureend",T,!1),e.removeEventListener("touchstart",x,!1),e.removeEventListener("contextmenu",x,!1)};return Object.assign(_,{element:e})},t.prototype.preloadPano=function(e,r){var i=this;r===void 0&&(r=noop$1);var o=this.works.getResolvedObserver(e);if(!o)return Promise.resolve();var s=["right","left","up","down","front","back"];return Promise.all(s.map(function(u){var c=__assign({key:"pano.".concat(panoStringify(e),".").concat(u)},pick(i.imageOptions,["size","format","quality","mappings"])),l=o.images[u],d=applyImageURLOptions(l,i.imageOptions.transform,c);return getFetcher(o.work).preload(d)})).then(function(){return r(e),e})},t}(Subscribe),FloorplanController=function(n){__extends(t,n);function t(e){var r=this,i,o=t.parseArgs(e);return r=n.call(this,o)||this,r.mode="Floorplan",r.defaultLongitude=o.defaultLongitude,r.defaultLatitude=o.defaultLatitude,r.defaultFov=o.defaultFov,r.maxFov=o.maxFov,r.minFov=o.minFov,r.maxLatitude=o.maxLatitude,r.minLatitude=o.minLatitude,r.locationMotion=new Motion({x:r.camera.pose.offset.x,y:r.camera.pose.offset.y,z:r.camera.pose.offset.z,distance:r.camera.pose.distance}),r.modelAlphaMotion=new Motion({modelAlpha:(i=r.models.getMaterial().modelAlpha)!==null&&i!==void 0?i:0}),r.perspToOrthoMotion=new Motion({perspToOrtho:r.camera.perspToOrtho.x}),r.currentTapId=null,r.intersectMeshCreator=o.intersectMeshCreator,r.intersectMesh=r.intersectMeshCreator(),r.intersectMesh.name="intersect",r.intersectMesh.visible=!1,r.helper.add(r.intersectMesh),r}return t.distanceFromModel=function(e,r,i){var o=e.bounding,s=Math.pow(Math.pow(o.max.x-o.min.x+1,2)+Math.pow(o.max.y-o.min.y+1,2)+Math.pow(o.max.z-o.min.z+1,2),1/2),u=s/2/Math.tan(Math.PI*r/360);return i<1&&(u=u/i),isNaN(u)?s:u},t.parseArgs=function(e){var r,i,o,s,u,c,l,d;if(e instanceof t)return e;var f=n.parseArgs.call(this,e);return __assign(__assign({},f),{defaultLongitude:(r=e.defaultLongitude)!==null&&r!==void 0?r:Math.PI/4,defaultLatitude:(i=e.defaultLatitude)!==null&&i!==void 0?i:Math.PI/4,defaultFov:(o=e.defaultFov)!==null&&o!==void 0?o:80,maxFov:(s=e.maxFov)!==null&&s!==void 0?s:120,minFov:(u=e.minFov)!==null&&u!==void 0?u:20,maxLatitude:(c=e.maxLatitude)!==null&&c!==void 0?c:+Math.PI/2,minLatitude:(l=e.minLatitude)!==null&&l!==void 0?l:-Math.PI/2,intersectMeshCreator:(d=e.intersectMeshCreator)!==null&&d!==void 0?d:function(){return new IntersectMesh}})},t.initAnimationEndState=function(e){var r,i,o,s,u,c,l=this.parseArgs(e),d=e.initial,f=d.state,m=d.currentState,p=typeof f.panoIndex=="number"?{workCode:(o=(r=f.workCode)!==null&&r!==void 0?r:(i=l.works[0])===null||i===void 0?void 0:i.workCode)!==null&&o!==void 0?o:"",panoIndex:f.panoIndex}:{workCode:m.workCode,panoIndex:m.panoIndex},A=__assign(__assign({},p),{mode:"Floorplan",longitude:(s=f.longitude)!==null&&s!==void 0?s:isThirdPersonMode(m.mode)?m.longitude:l.defaultLongitude,latitude:clamp((u=f.latitude)!==null&&u!==void 0?u:m.mode==="Floorplan"?m.latitude:l.defaultLatitude,l.minLatitude,l.maxLatitude),fov:(c=f.fov)!==null&&c!==void 0?c:l.defaultFov,offset:e.models.bounding.getCenter(new THREE__namespace.Vector3),distance:t.distanceFromModel(l.models,l.defaultFov,l.camera.aspect)});return A},t.prototype.destroy=function(){n.prototype.destroy.call(this),this.locationMotion.dispose(),delete this.panState,this.intersectMesh.dispose(),this.helper.remove(this.intersectMesh)},t.prototype.isReady=function(){return this.locationMotion.ended===!1?!1:n.prototype.isReady.call(this)},t.prototype.updateWork=function(e,r,i,o){var s;return this.works=e,this.updateCamera(r,(s=i.duration)!==null&&s!==void 0?s:0,o),!0},t.prototype.updateModel=function(e){n.prototype.updateModel.call(this,e);var r=e.bounding.getCenter(new THREE__namespace.Vector3),i=t.distanceFromModel(e,this.defaultFov,this.camera.aspect);this.locationMotion.set({x:r.x,y:r.y,z:r.z,distance:i},0).catch(noop$1)},t.prototype.updateCamera=function(e,r,i){var o=this;return this.initAnimationReady.then(function(){o.userAction=i,o.stopMomentumMovement();var s={},u={};return e.distance!==void 0&&(s.distance=e.distance),e.offset!==void 0&&(s.x=e.offset.x,s.y=e.offset.y,s.z=e.offset.z),e.longitude!==void 0&&(u.longitude=e.longitude),e.latitude!==void 0&&(u.latitude=e.latitude),e.fov!==void 0&&(u.fov=e.fov),o.locationMotion.set(s,r).catch(noop$1),o.cameraMotion.set(u,r).catch(noop$1)})},t.prototype.updateCameraWithKeyframes=function(e,r,i){var o=this;return this.initAnimationReady.then(function(){o.userAction=i,o.stopMomentumMovement();for(var s=[],u=[],c=0,l=e;c<l.length;c++){var d=l[c];s.push({key:d.key,progress:d.progress,value:{distance:d.value.distance,x:d.value.offset.x,y:d.value.offset.x,z:d.value.offset.x}}),u.push({key:d.key,progress:d.progress,value:{longitude:d.value.longitude,latitude:d.value.latitude,fov:d.value.fov}})}return o.locationMotion.setKeyframes(s,r).catch(noop$1),o.cameraMotion.setKeyframes(e,r)})},t.prototype.updateTime=function(e,r){if(!this.destroyed){var i={},o={};this.modelAlphaMotion.ended||(this.modelAlphaMotion.update(e),i.modelAlpha=this.modelAlphaMotion.value.modelAlpha),this.perspToOrthoMotion.ended||(this.perspToOrthoMotion.update(e),this.camera.perspToOrtho.setScalar(clamp(this.perspToOrthoMotion.value.perspToOrtho,0,1))),this.locationMotion.ended||(this.locationMotion.update(e),o.distance=this.locationMotion.value.distance,o.offset=new THREE__namespace.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z)),this.cameraMotion.ended||(this.cameraMotion.update(e),o.longitude=this.cameraMotion.value.longitude,o.latitude=this.cameraMotion.value.latitude,o.fov=this.cameraMotion.value.fov),isEmptyObject(i)||this.models.setMaterial(i),isEmptyObject(o)||this.setCamera(o)}},t.prototype.getTargetState=function(){var e=this.cameraMotion.getKeyFrameSegment(now())[1],r=this.locationMotion.getKeyFrameSegment(now())[1];return __assign(__assign({},this.currentPano),{mode:this.mode,longitude:e.value.longitude,latitude:e.value.latitude,fov:e.value.fov,offset:new THREE__namespace.Vector3(r.value.x,r.value.y,r.value.z),distance:r.value.distance})},t.prototype.initAnimation=function(){var e=this;return this.destroyed?Promise.resolve():new Promise(function(r){var i=e.initial;i.state,i.currentState;var o=i.duration,s=i.userAction;e.userAction=s;var u=t.initAnimationEndState(e),c=pick(u,["longitude","latitude","fov"]),l={x:u.offset.x,y:u.offset.y,z:u.offset.z,distance:u.distance},d={modelAlpha:1},f={perspToOrtho:0};e.emit("initAnimation.start",createEvent("initAnimation.start",{state:u,userAction:e.userAction})),e.modelAlphaMotion.set(d,o/3).catch(noop$1),e.perspToOrthoMotion.set(f,o).catch(noop$1),e.cameraMotion.set(c,o).catch(noop$1),e.locationMotion.set(l,o).then(function(){e.emit("initAnimation.end",createEvent("initAnimation.end",{state:u,userAction:e.userAction}))},function(m){var p=__assign(__assign(__assign({},e.currentPano),{mode:e.mode}),clonePose(e.camera.pose));e.emit("initAnimation.end",createEvent("initAnimation.end",{state:p,userAction:e.userAction}))}).then(function(){r()})})},t.prototype.updateRenderSize=function(){this.locationMotion.set({distance:t.distanceFromModel(this.models,this.defaultFov,this.camera.aspect)},0).catch(noop$1)},t.prototype.getForwardObserverOrNot=function(e){var r=this.models.intersectRaycaster(e)[0];if(!r)return null;var i=this.works.resolvedObservers,o=arrayMin(i,function(c){return c.standingPosition.distanceTo(r.point)},!0),s=o[0],u=o[1];return s&&u<10?s:null},t.prototype.coordinatesForOffset=function(e){var r=this.renderer.getSize(new THREE__namespace.Vector2);return{longitude:-2*e.x/(r.x*this.scissor.width),latitude:2*e.y/(r.y*this.scissor.height)}},t.prototype.requestMomentumMovement=function(e,r,i,o){var s=this;if(this.inMomentumMovement!==null){for(var u=__assign({},i),c={longitude:0,latitude:0},l=0;l<o;l++)u.longitude*=.996,u.latitude*=.996*.998,c.longitude+=u.longitude,c.latitude+=u.latitude;var d=formatRad(this.cameraMotion.value.longitude+c.longitude),f=clamp(this.cameraMotion.value.latitude+c.latitude,this.minLatitude,this.maxLatitude),m=__assign(__assign({},this.currentPano),{mode:this.mode,longitude:d,latitude:f,fov:this.cameraMotion.value.fov,offset:this.camera.pose.offset.clone(),distance:this.camera.pose.distance}),p=!(u.longitude>1e-4||u.longitude<-1e-4||u.latitude>1e-4||u.latitude<-1e-4),A=createEvent("gesture.momentum",__assign(__assign({},e),{isFirst:r,isFinal:p,state:m}));if(this.inMomentumMovement.event=A,this.emit("gesture.momentum",A),e.defaultPrevented){this.inMomentumMovement=null;return}this.inMomentumMovement&&(this.cameraMotion.set({longitude:d,latitude:f},0).catch(noop$1),p?this.inMomentumMovement=null:AnimationFrameLoop.shared.add(function(v,g){s.requestMomentumMovement(e,!1,u,g|0)},!0,1))}},t.prototype.onPanGesture=function(e){this.userAction=e.userAction,this.stopMomentumMovement(),this.hideIntersectMesh();var r=this.panState,i=e.pointers.length;if(e.isFinal?delete this.panState:this.panState={pointerLength:i,x:e.center.x,y:e.center.y},!(typeof r=="undefined"||r.pointerLength!==i)){var o={x:e.center.x-r.x,y:e.center.y-r.y},s=this.relativeClientPosition(e.center),u=this.camera.pose.latitude<Math.PI/6||s.y<0?1:-1;o.x*=u;var c=this.coordinatesForOffset(o),l=formatRad(this.cameraMotion.value.longitude+c.longitude),d=clamp(this.cameraMotion.value.latitude+c.latitude,this.minLatitude,this.maxLatitude);this.camera.aspect<1&&Math.abs(e.overallVelocityX)>.2&&Math.atan2(Math.abs(e.overallVelocityY),Math.abs(e.overallVelocityX))<Math.PI/6.923&&(d=this.cameraMotion.value.latitude);var f=__assign(__assign({},this.currentPano),{mode:this.mode,longitude:l,latitude:d,fov:this.camera.pose.fov,offset:this.camera.pose.offset,distance:this.camera.pose.distance});if(e.state=f,this.emit("gesture.pan",e),!e.defaultPrevented&&(this.cameraMotion.set({longitude:f.longitude,latitude:f.latitude},0).catch(noop$1),e.isFinal)){var m=e.velocityX*u,p=e.velocityY;this.inMomentumMovement={uuid:createUuid()},this.requestMomentumMovement(e,!0,this.coordinatesForOffset({x:m,y:p}),0)}}},t.prototype.onPinchGesture=function(e){var r;this.userAction=e.userAction,this.stopMomentumMovement();var i=(r=this.pinchState)===null||r===void 0?void 0:r.fov;if(e.isFirst){this.pinchState={x:e.center.x,y:e.center.y,fov:this.cameraMotion.value.fov};return}if(e.isFinal&&(delete this.panState,delete this.pinchState),typeof i!="undefined"){var o=clamp(i/e.scale,this.minFov,this.maxFov);e.state.fov=o,this.emit("gesture.pinch",e),!e.defaultPrevented&&(this.cameraMotion.set({fov:o},0).catch(noop$1),this.onPanGesture(e))}},t.prototype.onMouseMove=function(e){var r,i;if(this.intersectMesh.parent&&!this.panState){if(this.emit("gesture.mousemove",e),e.defaultPrevented){this.hideIntersectMesh();return}var o=e.center.raycaster;if(e.isFinal&&this.intersectMesh.parent&&this.intersectMesh.visible===!0){this.hideIntersectMesh();return}var s=this.models.intersectRaycaster(o)[0],u=createEvent("intersect.update",{raycaster:o,intersection:s!=null?s:null,object:this.intersectMesh});if(this.emit("intersect.update",u),u.defaultPrevented){this.hideIntersectMesh();return}if(s){var c=(i=(r=s.face)===null||r===void 0?void 0:r.normal)!==null&&i!==void 0?i:new THREE__namespace.Vector3().copy(o.ray.direction).multiplyScalar(-1),l=c.clone().multiplyScalar(.05),d=s.point.clone().add(l);this.intersectMesh.position.copy(d);var f=d.clone().add(l);if(this.intersectMesh.lookAt(f),Math.abs(c.y)>.99){var m=this.camera.position.clone().sub(d);this.intersectMesh.rotation.z=-Math.atan2(m.z,m.x)}this.intersectMesh.visible=!0,this.needsRender=!0}else this.hideIntersectMesh()}},t.prototype.onMouseWheel=function(e){this.userAction=e.userAction,this.stopMomentumMovement();var r=this,i=r.minFov,o=r.maxFov,s=clamp(this.camera.fov-e.center.delta,i,o);e.state.fov=s,this.emit("gesture.mousewheel",e),!e.defaultPrevented&&this.cameraMotion.set({fov:s},0).catch(noop$1)},t.prototype.onTapGesture=function(e){var r=this;this.userAction=!0,this.stopMomentumMovement();var i=e.center.raycaster,o=this.getForwardObserverOrNot(i);if(!o)this.emit("gesture.tap",e);else{var s={longitude:this.camera.pose.longitude,latitude:0},u=__assign(__assign({},e.state),{mode:"Panorama",workCode:o.pano.workCode,panoIndex:o.pano.panoIndex,longitude:s.longitude,latitude:s.latitude,offset:o?o.position.clone():new THREE__namespace.Vector3,distance:0});if(e.state=u,this.emit("gesture.tap",e),!e.defaultPrevented&&(this.emit("pano.select",createEvent("pano.select",{prevPano:this.currentPano,state:u,userAction:e.userAction,options:s,progress:0,error:null})),o&&o.active)){var c=this.currentTapId=createUuid();this.preloadPano(o.pano).then(function(l){r.currentTapId===c&&r.emit("pano.request",createEvent("pano.request",{userAction:!0,prevPano:r.currentPano,progress:0,state:u,options:s,error:null}))})}}},t.prototype.hideIntersectMesh=function(){this.intersectMesh.visible=!1,this.needsRender=!0},t}(BaseController),TopviewController=function(n){__extends(t,n);function t(e){var r=this,i=t.parseArgs(e);return r=n.call(this,i)||this,r.mode="Topview",r}return t.parseArgs=function(e){if(e instanceof t)return e;var r=__assign(__assign({},e),{defaultLongitude:0,defaultLatitude:Math.PI/2});return n.parseArgs.call(this,r)},t.initAnimationEndState=function(e){var r=this.parseArgs(e),i=n.initAnimationEndState.call(this,r);return __assign(__assign({},i),{longitude:0,mode:"Topview"})},t.prototype.updateModel=function(e){this.needsRender=!0;var r=this.models.bounding.getCenter(new THREE__namespace.Vector3);this.locationMotion.set({x:r.x,y:r.y,z:r.z,distance:FloorplanController.distanceFromModel(this.models,this.defaultFov,this.camera.aspect)},0).catch(noop$1)},t.prototype.updateCamera=function(e,r,i){var o=this;return this.initAnimationReady.then(function(){o.userAction=i,o.stopMomentumMovement();var s={},u={};return e.distance!==void 0&&(s.distance=e.distance),e.offset!==void 0&&(s.x=e.offset.x,s.y=e.offset.y,s.z=e.offset.z),e.longitude!==void 0&&(u.longitude=e.longitude),e.latitude!==void 0&&(u.latitude=e.latitude),e.fov!==void 0&&(u.fov=e.fov),o.locationMotion.set(s,r).catch(noop$1),o.cameraMotion.set(u,r).catch(noop$1)})},t.prototype.updateCameraWithKeyframes=function(e,r,i){var o=this;return this.initAnimationReady.then(function(){o.userAction=i,o.stopMomentumMovement();for(var s=[],u=[],c=0,l=e;c<l.length;c++){var d=l[c];s.push({key:d.key,progress:d.progress,value:{distance:d.value.distance,x:d.value.offset.x,y:d.value.offset.y,z:d.value.offset.z}}),u.push({key:d.key,progress:d.progress,value:{longitude:d.value.longitude,latitude:d.value.latitude,fov:d.value.fov}})}return o.locationMotion.setKeyframes(s,r).catch(noop$1),o.cameraMotion.setKeyframes(e,r)})},t.prototype.initAnimation=function(){var e=this;return this.destroyed?Promise.resolve():new Promise(function(r){var i=e.initial;i.state,i.currentState;var o=i.duration,s=i.userAction;e.userAction=s;var u=t.initAnimationEndState(e),c={longitude:u.longitude,latitude:u.latitude,fov:u.fov},l={x:u.offset.x,y:u.offset.y,z:u.offset.z,distance:u.distance},d={modelAlpha:1},f={perspToOrtho:1};e.emit("initAnimation.start",createEvent("initAnimation.start",{state:u,userAction:e.userAction})),e.modelAlphaMotion.set(d,o/3).catch(noop$1),e.perspToOrthoMotion.set(f,o).catch(noop$1),e.cameraMotion.set(c,o).catch(noop$1),e.locationMotion.set(l,o).then(function(){e.emit("initAnimation.end",createEvent("initAnimation.end",{state:u,userAction:e.userAction}))},function(m){var p=__assign(__assign(__assign({},e.currentPano),{mode:e.mode}),clonePose(e.camera.pose));e.emit("initAnimation.end",createEvent("initAnimation.end",{state:p,userAction:e.userAction}))}).then(function(){r()})})},t.prototype.requestMomentumMovement=function(){this.inMomentumMovement=null},t.prototype.onPanGesture=function(e){this.userAction=e.userAction,this.stopMomentumMovement();var r=this.panState,i=e.pointers.length;if(e.isFinal?delete this.panState:this.panState={pointerLength:i,x:e.center.x,y:e.center.y},!(typeof r=="undefined"||r.pointerLength!==i)){var o={x:e.center.x-r.x,y:e.center.y-r.y},s=new THREE__namespace.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z),u=this.locationMotion.value.distance;u*=Math.tan(this.cameraMotion.value.fov/2*Math.PI/180);var c=this.renderer.getSize(new THREE__namespace.Vector2),l=2*o.x*u/c.y,d=2*o.y*u/c.y,f=new THREE__namespace.Vector3;f.setFromMatrixColumn(this.camera.matrix,0),f.multiplyScalar(-l),s.add(f),f.setFromMatrixColumn(this.camera.matrix,0),f.crossVectors(this.camera.up,f),f.multiplyScalar(d),s.add(f),s.clamp(this.models.bounding.min,this.models.bounding.max);var m=__assign(__assign({},this.currentPano),{mode:this.mode,longitude:0,latitude:Math.PI/2,fov:this.cameraMotion.value.fov,offset:s,distance:this.locationMotion.value.distance});e.state=m,this.emit("gesture.pan",e),!e.defaultPrevented&&this.locationMotion.set({x:s.x,y:s.y,z:s.z},0).catch(noop$1)}},t.prototype.onPinchGesture=function(e){var r;this.userAction=e.userAction,this.stopMomentumMovement();var i=(r=this.pinchState)===null||r===void 0?void 0:r.fov;if(e.isFirst){this.pinchState={x:e.center.x,y:e.center.y,fov:this.cameraMotion.value.fov};return}if(e.isFinal&&delete this.pinchState,typeof i!="undefined"){var o=clamp(i/e.scale,this.minFov,this.maxFov);e.state.fov=o,this.emit("gesture.pinch",e),!e.defaultPrevented&&(this.cameraMotion.set({fov:o},0).catch(noop$1),e.type="gesture.pan",this.onPanGesture(e))}},t.prototype.onMouseWheel=function(e){this.userAction=e.userAction,this.stopMomentumMovement();var r=clamp(this.cameraMotion.value.fov-e.center.delta,this.minFov,this.maxFov);e.state.fov=r,this.emit("gesture.mousewheel",e),!e.defaultPrevented&&this.cameraMotion.set({fov:r},0).catch(noop$1)},t}(FloorplanController),PanoramaLikeController=function(n){__extends(t,n);function t(e){var r=this,i=t.parseArgs(e);return r=n.call(this,i)||this,r.mode="PanoramaLike",r.defaultLatitude=i.defaultLatitude,r.defaultFov=i.defaultFov,r.maxFov=i.maxFov,r.minFov=i.minFov,r.maxLatitude=i.maxLatitude,r.minLatitude=i.minLatitude,r.moveSpeed=i.moveSpeed,r.intersectMeshCreator=i.intersectMeshCreator,r.intersectMesh=r.intersectMeshCreator(),r.intersectMesh.name="intersect",r.intersectMesh.visible=!1,r.helper.add(r.intersectMesh),r}return t.parseArgs=function(e){var r,i,o,s,u,c,l,d;if(e instanceof t)return e;var f=n.parseArgs.call(this,e);return __assign(__assign({},f),{defaultLatitude:(r=e.defaultLatitude)!==null&&r!==void 0?r:0,defaultFov:(i=e.defaultFov)!==null&&i!==void 0?i:90,maxFov:(o=e.maxFov)!==null&&o!==void 0?o:120,minFov:(s=e.minFov)!==null&&s!==void 0?s:40,maxLatitude:(u=e.maxLatitude)!==null&&u!==void 0?u:+Math.PI/2,minLatitude:(c=e.minLatitude)!==null&&c!==void 0?c:-Math.PI/2,moveSpeed:(l=e.moveSpeed)!==null&&l!==void 0?l:3.4,intersectMeshCreator:(d=e.intersectMeshCreator)!==null&&d!==void 0?d:function(){return new IntersectMesh}})},t.initAnimationEndState=function(e){var r,i,o,s,u,c,l=this.parseArgs(e),d=l.works,f=e.initial,m=f.state,p=f.currentState,A=typeof m.panoIndex=="number"?{workCode:(o=(r=m.workCode)!==null&&r!==void 0?r:(i=l.works[0])===null||i===void 0?void 0:i.workCode)!==null&&o!==void 0?o:"",panoIndex:m.panoIndex}:{workCode:p.workCode,panoIndex:p.panoIndex},v=d.getResolvedObserver(A),g=(s=m.longitude)!==null&&s!==void 0?s:p.longitude,h=clamp((u=m.latitude)!==null&&u!==void 0?u:isFristPersonMode(p.mode)?p.latitude:l.defaultLatitude,l.minLatitude,l.maxLatitude),y=clamp((c=m.fov)!==null&&c!==void 0?c:isFristPersonMode(p.mode)?p.fov:l.defaultFov,l.minFov,l.maxFov),b=v?v.position.clone():new THREE__namespace.Vector3;return{workCode:A.workCode,panoIndex:A.panoIndex,mode:"PanoramaLike",longitude:g,latitude:h,fov:y,offset:b,distance:0}},t.prototype.destroy=function(){n.prototype.destroy.call(this),this.intersectMesh&&(this.helper.remove(this.intersectMesh),this.intersectMesh.dispose()),delete this.panState},t.prototype.isReady=function(){return this.panState||this.pinchState?!1:n.prototype.isReady.call(this)},t.prototype.calculateMovingDuration=function(e,r){switch(typeof e){case"function":return e(r,this.moveSpeed);case"number":return e;case"string":return Number(e);default:return clamp(r,2,5)/this.moveSpeed*1e3}},t.prototype.hideIntersectMesh=function(){this.intersectMesh.visible=!1,this.needsRender=!0},t.prototype.coordinatesForOffset=function(e){var r=this.cameraMotion.value.fov,i=this.camera.aspect,o=this.renderer.getSize(new THREE__namespace.Vector2);return{longitude:2*e.x/(o.x*this.scissor.width)*r/95*i,latitude:-2*e.y/(o.y*this.scissor.height)*r/95}},t.prototype.cameraBounce=function(){var e=this.cameraMotion.value,r=e.longitude,i=e.latitude,o=e.fov,s=[{progress:0,value:{longitude:r,latitude:i,fov:o}},{progress:.5,value:{longitude:r,latitude:i,fov:o*.98}},{progress:1,value:{longitude:r,latitude:i,fov:o}}];this.cameraMotion.setKeyframes(s,500).catch(noop$1)},t.prototype.requestMomentumMovement=function(e,r,i,o){var s=this;if(this.inMomentumMovement!==null){for(var u=__assign({},i),c={longitude:0,latitude:0},l=0;l<o;l++)u.longitude*=.996,u.latitude*=.996*.99,c.longitude+=u.longitude,c.latitude+=u.latitude;var d=formatRad(this.cameraMotion.value.longitude+c.longitude),f=clamp(this.cameraMotion.value.latitude+c.latitude,this.minLatitude,this.maxLatitude),m=__assign(__assign({},this.currentPano),{mode:this.mode,longitude:d,latitude:f,fov:this.cameraMotion.value.fov,offset:this.camera.pose.offset.clone(),distance:this.camera.pose.distance}),p=!(u.longitude>1e-4||u.longitude<-1e-4||u.latitude>1e-4||u.latitude<-1e-4),A=createEvent("gesture.momentum",__assign(__assign({},e),{isFirst:r,isFinal:p,state:m}));if(this.inMomentumMovement.event=A,this.emit("gesture.momentum",A),e.defaultPrevented){this.inMomentumMovement=null;return}this.inMomentumMovement&&(this.cameraMotion.set({longitude:d,latitude:f},0).catch(noop$1),p?this.inMomentumMovement=null:AnimationFrameLoop.shared.add(function(v,g){s.requestMomentumMovement(e,!1,u,g|0)},!0,1))}},t.prototype.onPanGesture=function(e){this.userAction=e.userAction,this.stopMomentumMovement(),this.hideIntersectMesh();var r=this.panState,i=e.pointers.length;if(e.isFinal?delete this.panState:this.panState={pointerLength:i,x:e.center.x,y:e.center.y},!(typeof r=="undefined"||r.pointerLength!==i)){var o={x:e.center.x-r.x,y:e.center.y-r.y},s=this.coordinatesForOffset(o),u=formatRad(this.cameraMotion.value.longitude+s.longitude),c=clamp(this.cameraMotion.value.latitude+s.latitude,this.minLatitude,this.maxLatitude);this.camera.aspect<1&&Math.abs(e.overallVelocityX)>.2&&Math.atan2(Math.abs(e.overallVelocityY),Math.abs(e.overallVelocityX))<Math.PI/6.923&&(c=this.cameraMotion.value.latitude);var l=__assign(__assign({},this.currentPano),{mode:this.mode,longitude:u,latitude:c,fov:this.cameraMotion.value.fov,offset:this.camera.pose.offset.clone(),distance:this.camera.pose.distance});if(e.state=l,this.emit("gesture.pan",e),!e.defaultPrevented){var d={longitude:l.longitude,latitude:l.latitude,fov:l.fov};if(this.cameraMotion.set(d,0).catch(noop$1),e.isFinal){var f=e.velocityX,m=e.velocityY*.6;Math.abs(m)>.5&&Math.abs(f)<.5&&(f=0),this.inMomentumMovement={uuid:createUuid()},this.requestMomentumMovement(e,!0,this.coordinatesForOffset({x:f,y:m}),0)}}}},t.prototype.onPinchGesture=function(e){var r;this.userAction=e.userAction,this.stopMomentumMovement();var i=(r=this.pinchState)===null||r===void 0?void 0:r.fov,o=e.scale;if(e.isFirst){this.pinchState={x:e.center.x,y:e.center.y,fov:this.cameraMotion.value.fov};return}if(e.isFinal&&delete this.pinchState,typeof i!="undefined"){var s=clamp(i/o,this.minFov,this.maxFov);e.state.fov=s,this.emit("gesture.pinch",e),!e.defaultPrevented&&(this.cameraMotion.set({fov:s},0).catch(noop$1),e.type="gesture.pan",this.onPanGesture(e))}},t.prototype.onMouseWheel=function(e){this.userAction=e.userAction,this.stopMomentumMovement();var r=clamp(this.cameraMotion.value.fov-e.center.delta,this.minFov,this.maxFov);e.state.fov=r,this.emit("gesture.mousewheel",e),!e.defaultPrevented&&this.cameraMotion.set({fov:r},0).catch(noop$1)},t.prototype.onMouseMove=function(e){var r,i;if(this.intersectMesh.parent&&!this.panState&&(this.emit("gesture.mousemove",e),!e.defaultPrevented)){var o=e.center.raycaster;if(e.isFinal&&this.intersectMesh.parent&&this.intersectMesh.visible===!0){this.hideIntersectMesh();return}var s=this.models.intersectRaycaster(o)[0],u=createEvent("intersect.update",{raycaster:o,intersection:s!=null?s:null,object:this.intersectMesh});if(this.emit("intersect.update",u),u.defaultPrevented){this.hideIntersectMesh();return}if(s){var c=(i=(r=s.face)===null||r===void 0?void 0:r.normal)!==null&&i!==void 0?i:new THREE__namespace.Vector3().copy(o.ray.direction).multiplyScalar(-1),l=c.clone().multiplyScalar(.05),d=s.point.clone().add(l);this.intersectMesh.position.copy(d);var f=d.clone().add(l);if(this.intersectMesh.lookAt(f),Math.abs(c.y)>.99){var m=this.camera.position.clone().sub(d);this.intersectMesh.rotation.z=-Math.atan2(m.z,m.x)}this.intersectMesh.visible=!0,this.needsRender=!0}else this.hideIntersectMesh()}},t}(BaseController),blankVideo="data:video/mp4;base64,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",result;function canplayVideo(){return result||(result=new Promise(function(n){var t,e=document.createElement("video");e.muted=!0,e.src=blankVideo,e.addEventListener("timeupdate",function r(){e.removeEventListener("timeupdate",r,!1),clearTimeout(t);var i=document.createElement("canvas");i.width=i.height=1;var o=i.getContext("2d");if(!o){n(!1);return}o.drawImage(e,0,0,1,1);var s=o.getImageData(0,0,1,1).data;s[3]>10?n(!0):n(!1)},!1),e.addEventListener("canplay",function r(){e.removeEventListener("canplay",r,!1),e.play()},!1),t=window.setTimeout(function(){return n(!1)},1e3)}))}var camera$1=new THREE__namespace.OrthographicCamera(-1,1,1,-1,0,1),geometry$4=new THREE__namespace.BufferGeometry;geometry$4.setAttribute("position",new THREE__namespace.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3)),geometry$4.setAttribute("uv",new THREE__namespace.Float32BufferAttribute([0,2,0,0,2,0],2));var mesh$3=new THREE__namespace.Mesh(geometry$4),scene$1=new THREE__namespace.Scene;scene$1.add(mesh$3);var DEFAULT_VERTEX_SHADER=`
|
|
1311
1311
|
varying vec2 vUv;
|
|
1312
1312
|
void main() {
|
|
1313
1313
|
vUv = uv;
|
|
@@ -1411,7 +1411,7 @@ void main() {
|
|
|
1411
1411
|
gl_FragColor.a = 1.0 - texture2D(luminanceMap, vUv).r;
|
|
1412
1412
|
#endif
|
|
1413
1413
|
}
|
|
1414
|
-
`,TileMaterial=function(n){__extends(t,n);function t(){var e=n.call(this,{uniforms:{map:{value:null},luminanceMap:{value:null},flipY:{value:0}},vertexShader:TILE_MATERIAL_VERTEX_SHADER,fragmentShader:TILE_MATERIAL_FRAGMENT_SHADER})||this;return e.depthTest=!1,e.depthWrite=!1,e.blending=THREE__namespace.NoBlending,e.map=e.uniforms.map.value,e.luminanceMap=e.uniforms.luminanceMap.value,e.flipY=e.uniforms.flipY.value,Object.defineProperties(e,{map:{get:function(){return this.uniforms.map.value},set:function(r){this.uniforms.map.value=r}},luminanceMap:{get:function(){return this.uniforms.luminanceMap.value},set:function(r){this.uniforms.luminanceMap.value=r,this.defines.USE_LUMINANCE=r!==null,this.needsUpdate=!0}},flipY:{get:function(){return this.uniforms.flipY.value===1},set:function(r){this.uniforms.flipY.value=r?1:0}}}),e}return t}(THREE__namespace.ShaderMaterial),TileMesh=function(n){__extends(t,n);function t(e,r){var i=n.call(this,geometry$3,new TileMaterial)||this;return e.box.getCenter(i.position),i.quaternion.multiplyQuaternions(new THREE__namespace.Quaternion().setFromAxisAngle(new THREE__namespace.Vector3(0,1,0),-Math.PI),TILE_QUATERNION[e.face]),i.scale.setScalar(e.size),i.node=e,i.name="tiling:tile",i.material.visible=!1,i.activeTime=-1,i.disposed=!1,i.needsRender=!1,i.frustumCulled=!1,r.then(function(o){var s=o[0],u=o[1];i.disposed?(s.dispose(),u==null||u.dispose()):(i.material.map=s,i.material.luminanceMap=u,i.material.flipY=!s.flipY,i.material.needsUpdate=!0,i.material.visible=!0,i.needsRender=!0)}).catch(noop$1),i}return t.prototype.updateTime=function(e){},t.prototype.dispose=function(){var e;this.disposed=!0,this.material.map&&(this.material.map.dispose(),(e=this.material.luminanceMap)===null||e===void 0||e.dispose()),this.material.dispose()},t}(THREE__namespace.Mesh),TilingObject3D=function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.needsRender=!1,e.name="tiling",e}return t}(THREE__namespace.Group),Tiling=function(){function n(t,e,r){this.disposed=!1,this.textureLoader=new TextureLoader,this.minLevel=e,this.level=0,this.panoId="[0]",this.pedding=0,this.tileTree=createTileCubeTree(this.minLevel),this.tileMeshes=new Map,this.resource=[],this.luminance=null,this.imageOptions=r,this.fetcher=t,this.object=new TilingObject3D,this.object.renderOrder=-3}return n.prototype.setFetcher=function(t){this.fetcher=t},n.prototype.cleanup=function(){var t=this;this.tileMeshes.forEach(function(e){e.dispose(),t.object.remove(e),t.object.needsRender=!0}),this.tileMeshes.clear()},n.prototype.setRotation=function(t){this.disposed||this.object.quaternion.equals(t)||(this.object.quaternion.copy(t),this.object.needsRender=!0)},n.prototype.setPosition=function(t){this.disposed||this.object.position.equals(t)||(this.object.position.copy(t),this.object.needsRender=!0)},n.prototype.setResource=function(t,e){var r,i;if(!this.disposed&&!(this.resource===t&&this.luminance===e)){this.cleanup(),this.resource=t;var o=(i=(r=t.slice().sort(function(s,u){return u.level-s.level})[0])===null||r===void 0?void 0:r.level)!==null&&i!==void 0?i:0;this.tileTree=createTileCubeTree(o),this.luminance=e,this.object.needsRender=!0}},n.prototype.update=function(t,e,r){var i=this;if(!this.disposed){this.level=e;var o=t.planes[5].normal,s=[];e>=this.minLevel&&traverseTileCubeNode(this.tileTree,function(b){if(!(b.level<i.minLevel)){if(b.level>e||!t.intersectsBox(b.box))return!1;s.push(b)}});var u=new THREE__namespace.Vector3;s.sort(function(b,E){return b.level!==E.level?b.level-E.level:b.box.getCenter(u).angleTo(o)-E.box.getCenter(u).angleTo(o)});for(var
|
|
1414
|
+
`,TileMaterial=function(n){__extends(t,n);function t(){var e=n.call(this,{uniforms:{map:{value:null},luminanceMap:{value:null},flipY:{value:0}},vertexShader:TILE_MATERIAL_VERTEX_SHADER,fragmentShader:TILE_MATERIAL_FRAGMENT_SHADER})||this;return e.depthTest=!1,e.depthWrite=!1,e.blending=THREE__namespace.NoBlending,e.map=e.uniforms.map.value,e.luminanceMap=e.uniforms.luminanceMap.value,e.flipY=e.uniforms.flipY.value,Object.defineProperties(e,{map:{get:function(){return this.uniforms.map.value},set:function(r){this.uniforms.map.value=r}},luminanceMap:{get:function(){return this.uniforms.luminanceMap.value},set:function(r){this.uniforms.luminanceMap.value=r,this.defines.USE_LUMINANCE=r!==null,this.needsUpdate=!0}},flipY:{get:function(){return this.uniforms.flipY.value===1},set:function(r){this.uniforms.flipY.value=r?1:0}}}),e}return t}(THREE__namespace.ShaderMaterial),TileMesh=function(n){__extends(t,n);function t(e,r){var i=n.call(this,geometry$3,new TileMaterial)||this;return e.box.getCenter(i.position),i.quaternion.multiplyQuaternions(new THREE__namespace.Quaternion().setFromAxisAngle(new THREE__namespace.Vector3(0,1,0),-Math.PI),TILE_QUATERNION[e.face]),i.scale.setScalar(e.size),i.node=e,i.name="tiling:tile",i.material.visible=!1,i.activeTime=-1,i.disposed=!1,i.needsRender=!1,i.frustumCulled=!1,r.then(function(o){var s=o[0],u=o[1];i.disposed?(s.dispose(),u==null||u.dispose()):(i.material.map=s,i.material.luminanceMap=u,i.material.flipY=!s.flipY,i.material.needsUpdate=!0,i.material.visible=!0,i.needsRender=!0)}).catch(noop$1),i}return t.prototype.updateTime=function(e){},t.prototype.dispose=function(){var e;this.disposed=!0,this.material.map&&(this.material.map.dispose(),(e=this.material.luminanceMap)===null||e===void 0||e.dispose()),this.material.dispose()},t}(THREE__namespace.Mesh),TilingObject3D=function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.needsRender=!1,e.name="tiling",e}return t}(THREE__namespace.Group),Tiling=function(){function n(t,e,r){this.disposed=!1,this.textureLoader=new TextureLoader,this.minLevel=e,this.level=0,this.panoId="[0]",this.pedding=0,this.tileTree=createTileCubeTree(this.minLevel),this.tileMeshes=new Map,this.resource=[],this.luminance=null,this.imageOptions=r,this.fetcher=t,this.object=new TilingObject3D,this.object.renderOrder=-3}return n.prototype.setFetcher=function(t){this.fetcher=t},n.prototype.cleanup=function(){var t=this;this.tileMeshes.forEach(function(e){e.dispose(),t.object.remove(e),t.object.needsRender=!0}),this.tileMeshes.clear()},n.prototype.setRotation=function(t){this.disposed||this.object.quaternion.equals(t)||(this.object.quaternion.copy(t),this.object.needsRender=!0)},n.prototype.setPosition=function(t){this.disposed||this.object.position.equals(t)||(this.object.position.copy(t),this.object.needsRender=!0)},n.prototype.setResource=function(t,e){var r,i;if(!this.disposed&&!(this.resource===t&&this.luminance===e)){this.cleanup(),this.resource=t;var o=(i=(r=t.slice().sort(function(s,u){return u.level-s.level})[0])===null||r===void 0?void 0:r.level)!==null&&i!==void 0?i:0;this.tileTree=createTileCubeTree(o),this.luminance=e,this.object.needsRender=!0}},n.prototype.update=function(t,e,r){var i=this;if(!this.disposed){this.level=e;var o=t.planes[5].normal,s=[];e>=this.minLevel&&traverseTileCubeNode(this.tileTree,function(b){if(!(b.level<i.minLevel)){if(b.level>e||!t.intersectsBox(b.box))return!1;s.push(b)}});var u=new THREE__namespace.Vector3;s.sort(function(b,E){return b.level!==E.level?b.level-E.level:b.box.getCenter(u).angleTo(o)-E.box.getCenter(u).angleTo(o)});for(var c=new Set,l=function(b){var E=d.resource.filter(function(Q){return Q.level===b.level})[0];if(!E)return"continue";if(c.add(b),d.tileMeshes.has(b))return d.tileMeshes.get(b).activeTime=r,"continue";var T=E.size,x=d.imageOptions.transform,_=Math.pow(2,b.level)*b.position.y,w=Math.pow(2,b.level)*b.position.x,S="".concat(d.panoId,".").concat(b.face,".").concat(b.level,".").concat(_,".").concat(w),M=__assign(__assign({key:"pano_tile.".concat(S)},pick(d.imageOptions,["format","size","quality","sharpen","mappings"])),{size:T*b.size===TILE_IMAGE_SIZE?void 0:TILE_IMAGE_SIZE,cut:[T*b.position.x,T*b.position.y,T*b.size,T*b.size]}),C=d.textureLoader.loadTexture(E[b.face],{imageURL:{transform:x,options:M},minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.LinearFilter,generateMipmaps:!1,fetcher:d.fetcher}).then(function(Q){return Q.body}),I=null;if(d.luminance){var B=d.luminance[b.face],F=B.match(/\/cube_(\d+)\//),L=F?Number(F[1]):!1;if(L!==!1){var k=__assign(__assign({},M),{size:L*b.size===TILE_IMAGE_SIZE/2?void 0:TILE_IMAGE_SIZE/2,cut:[L*b.position.x,L*b.position.y,L*b.size,L*b.size],key:"pano_tile_luminance.".concat(S)});I=d.textureLoader.loadTexture(B,{imageURL:{transform:d.imageOptions.transform,options:k},magFilter:THREE__namespace.NearestFilter,fetcher:d.fetcher}).then(function(Q){return Q.body}).catch(function(){return null})}}d.pedding++;var O=Promise.all([C,I]).then(function(Q){return i.pedding--,Q},function(Q){return i.pedding--,Promise.reject(Q)}),D=new TileMesh(b,O);D.name="tiling:tile-".concat(S),D.activeTime=r,D.renderOrder=b.level,d.tileMeshes.set(b,D),d.object.needsRender=!0,d.object.add(D)},d=this,f=0,m=s;f<m.length;f++){var p=m[f];l(p)}var A=[];this.tileMeshes.forEach(function(b,E){c.has(E)||A.push(E),b.visible=E.level<=e});for(var v=A.sort(function(b,E){var T,x,_,w;return((x=(T=i.tileMeshes.get(E))===null||T===void 0?void 0:T.activeTime)!==null&&x!==void 0?x:0)-((w=(_=i.tileMeshes.get(b))===null||_===void 0?void 0:_.activeTime)!==null&&w!==void 0?w:0)}).slice(Math.max(0,MAX_TILE_COUNT-c.size)),g=0,h=v;g<h.length;g++){var p=h[g],y=this.tileMeshes.get(p);y&&(y.dispose(),this.object.remove(y),this.object.needsRender=!0),this.tileMeshes.delete(p)}}},n.prototype.dispose=function(){this.cleanup(),this.resource=[],this.disposed=!0},n}(),vertices$1=new Float32Array([-1,1,1,-1,1,-1,-1,-1,1,-1,-1,-1,1,1,-1,1,1,1,1,-1,-1,1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,-1,1,-1,-1,1,1,-1,-1,-1,-1,-1,1,1,1,-1,1,1,1,-1,1,-1,-1,1,-1,1,-1,1,1,-1,-1,-1,-1,1,-1,-1]),index$1=new Uint8Array([0,2,1,2,3,1,4,6,5,6,7,5,8,10,9,10,11,9,12,14,13,14,15,13,16,18,17,18,19,17,20,22,21,22,23,21]),sharedGeometry$1=new THREE__namespace.BufferGeometry;sharedGeometry$1.setAttribute("position",new THREE__namespace.BufferAttribute(vertices$1,3)),sharedGeometry$1.setIndex(new THREE__namespace.BufferAttribute(index$1,1));var PANO_VIDEO_MATERIAL_VERTEX_SHADER=`
|
|
1415
1415
|
#if defined(USE_PANO_VIDEO)
|
|
1416
1416
|
varying vec3 worldPosition;
|
|
1417
1417
|
#endif
|
|
@@ -1446,7 +1446,7 @@ void main() {
|
|
|
1446
1446
|
gl_FragColor = vec4(videoColor.rgb, match * blendAlpha * alpha);
|
|
1447
1447
|
#endif
|
|
1448
1448
|
}
|
|
1449
|
-
`,PanoVideo=function(){function n(){this.material=new THREE__namespace.ShaderMaterial({vertexShader:PANO_VIDEO_MATERIAL_VERTEX_SHADER,fragmentShader:PANO_VIDEO_TILE_MATERIAL_FRAGMENT_SHADER,uniforms:{size:new THREE__namespace.Uniform(null),matrix:new THREE__namespace.Uniform(null),alpha:new THREE__namespace.Uniform(null),map:new THREE__namespace.Uniform(null)},depthTest:!1,depthWrite:!1,defines:{USE_PANO_VIDEO:!1},blending:THREE__namespace.CustomBlending,blendSrc:THREE__namespace.SrcAlphaFactor,blendDst:THREE__namespace.OneMinusSrcAlphaFactor,blendSrcAlpha:THREE__namespace.OneFactor,blendDstAlpha:THREE__namespace.OneMinusSrcAlphaFactor}),this.object=new THREE__namespace.Mesh(sharedGeometry$1,this.material),this.object.visible=!1,this.object.renderOrder=-1,this.object.frustumCulled=!1,this.object.name="pano-video",this.alphaMotion=new Motion({alpha:0})}return n.prototype.setMaterial=function(t){t?(this.material.uniforms.size.value=t.size,this.material.uniforms.matrix.value=t.matrix,this.material.uniforms.map.value=t.map,this.alphaMotion.set({alpha:t.alpha},500).catch(noop$1),this.material.uniforms.alpha.value=t.alpha):(this.material.uniforms.size.value=null,this.material.uniforms.matrix.value=null,this.material.uniforms.map.value=null,this.alphaMotion.set({alpha:0},0).catch(noop$1));var e=t!==null,r=this.material.defines.USE_PANO_VIDEO;e!==r&&(this.material.defines.USE_PANO_VIDEO=e,this.material.needsUpdate=!0,this.object.visible=t!==null)},n.prototype.updateTime=function(t){this.alphaMotion.ended||(this.alphaMotion.update(t),this.material.uniforms.alpha.value=this.alphaMotion.value.alpha)},n.prototype.dispose=function(){this.material.dispose()},n}(),ROTATE_Y_PI_MATRIX$1=new THREE__namespace.Matrix4().makeRotationAxis(new THREE__namespace.Vector3(0,1,0),Math.PI),PANO_TEXTURE_SCALE$1=new THREE__namespace.Vector3(-1,1,1),CubeRenderTargetPool=function(){function n(t){t===void 0&&(t=0),this.width=t,this.pool=[]}return Object.defineProperty(n.prototype,"size",{get:function(){return this.pool.length},enumerable:!1,configurable:!0}),n.prototype.create=function(){return new THREE__namespace.WebGLCubeRenderTarget(this.width,{stencilBuffer:!1,depthBuffer:!1})},n.prototype.pop=function(){var t=this.pool.pop();return t||this.create()},n.prototype.push=function(t){this.pool.indexOf(t)===-1&&this.pool.push(t)},n.prototype.clear=function(){for(var t=0,e=this.pool;t<e.length;t++){var r=e[t];r.dispose()}this.pool.length=0},n}(),PanoramaController=function(n){__extends(t,n);function t(e){var r=this,i,o,s,u,l=t.parseArgs(e);r=n.call(this,l)||this,r.TILED_CUBE_TEXTURE_LEVEL=2,r.mode="Panorama",r.tileLevel=0,r.initAnimationed=!1,r.maxAccessibleDistance=l.maxAccessibleDistance,r.panoTapTriggerRadius=l.panoTapTriggerRadius,r.panoCircleMeshCreator=l.panoCircleMeshCreator,r.tileLevelForFov=l.tileLevelForFov,r.luminanceAdaptiveEffectEnable=l.luminanceAdaptiveEffectEnable,r.colorCubeRenderTargetPool=new CubeRenderTargetPool,r.luminanceCubeRenderTargetPool=new CubeRenderTargetPool;var c=r.models.getMaterial()||{},d=c.pano0,f=c.pano1;d&&(f==null?void 0:f.map)!==d.map&&(r.models.setMaterial({pano0:f}),d.map.dispose(),d.map instanceof TileCubeTextureTarget&&d.map.cubeRenderTarget&&r.colorCubeRenderTargetPool.push(d.map.cubeRenderTarget),d.luminanceMap&&(d.luminanceMap.dispose(),d.luminanceMap instanceof TileCubeTextureTarget&&d.luminanceMap.cubeRenderTarget&&r.luminanceCubeRenderTargetPool.push(d.luminanceMap.cubeRenderTarget)));for(var v=r.colorCubeRenderTargetPool.size;v<2;v++){var p=Math.max(1024*r.TILED_CUBE_TEXTURE_LEVEL,512),A=r.colorCubeRenderTargetPool.create();A.setSize(p,p),renderCubeTextureToCubeRenderTarget(null,A,r.renderer),r.colorCubeRenderTargetPool.push(A)}r.panoMeshes={},r.updatePanoMeshes(),r.locationMotion=new Motion({count:0,distance:r.camera.pose.distance}),r.modelAlphaMotion=new Motion({modelAlpha:(o=(i=r.models.getMaterial())===null||i===void 0?void 0:i.modelAlpha)!==null&&o!==void 0?o:0}),r.perspToOrthoMotion=new Motion({perspToOrtho:r.camera.perspToOrtho.x}),r.panoResources={},r.panoResources[r.locationMotion.keyframes[0].key=r.locationMotion.keyframes[1].key=createUuid()]={panoId:panoStringify(r.currentPano),panoPicture:(u=(s=r.models.getMaterial())===null||s===void 0?void 0:s.pano1)!==null&&u!==void 0?u:null,position:r.camera.pose.offset.clone(),effect:"fly",fixCameraTransform:new THREE__namespace.Matrix4};var m=r.works.getResolvedObserver(r.currentPano);return r.textureLoader=new TextureLoader,r.tiling=new Tiling(m?getFetcher(m.work):internalFetcher,r.TILED_CUBE_TEXTURE_LEVEL+1,r.imageOptions),r.scene.add(r.tiling.object),r.panoVideo=new PanoVideo,r.scene.add(r.panoVideo.object),r}return t.parseArgs=function(e){var r,i,o,s,u;if(e instanceof t)return e;var l=n.parseArgs.call(this,e);return __assign(__assign({},l),{maxAccessibleDistance:(r=e.maxAccessibleDistance)!==null&&r!==void 0?r:5,panoTapTriggerRadius:(i=e.panoTapTriggerRadius)!==null&&i!==void 0?i:.5,panoCircleMeshCreator:(o=e.panoCircleMeshCreator)!==null&&o!==void 0?o:function(c){return new PanoCircleMesh},tileLevelForFov:(s=e.tileLevelForFov)!==null&&s!==void 0?s:function(c,d){var f=function(y){return y/Math.PI*180},v=function(y){return y/180*Math.PI},p=d.height/2/Math.tan(v(c/2)),A=d.width>d.height?c:f(Math.atan(Math.tan(v(c/2))*(d.width/d.height))*2),m=p*(Math.tan(v(A/2))-Math.tan(v(A/2-1)));return m>60?4:m>30?3:m>18?2:m>12?1:0},luminanceAdaptiveEffectEnable:(u=e.luminanceAdaptiveEffectEnable)!==null&&u!==void 0?u:!0})},t.initAnimationEndState=function(e){var r=this.parseArgs(e),i=n.initAnimationEndState.call(this,r);return __assign(__assign({},i),{mode:"Panorama"})},t.prototype.destroy=function(){var e,r;if(n.prototype.destroy.call(this),this.scene.remove(this.tiling.object),this.tiling.dispose(),this.locationMotion.dispose(),this.colorCubeRenderTargetPool.clear(),this.luminanceCubeRenderTargetPool.clear(),delete this.pendingTextureTask,this.panoMeshes)for(var i=Object.keys(this.panoMeshes),o=0,s=i;o<s.length;o++){var u=s[o],l=this.panoMeshes[u];this.helper.remove(l),l.dispose(),delete this.panoMeshes[u]}var c=this.videoTexture.image;c.pause(),c.oncanplay=function(){},c.ontimeupdate=function(){},this.scene.remove(this.panoVideo.object),this.panoVideo.setMaterial(null),this.panoVideo.dispose();for(var d=(e=this.models.getMaterial())!==null&&e!==void 0?e:{},f=d.pano0,v=d.pano1,p=0,A=Object.keys(this.panoResources);p<A.length;p++){var m=A[p],y=this.panoResources[m];if(y.panoPicture){var h=y.panoPicture.map;h&&h!==(f==null?void 0:f.map)&&h!==(v==null?void 0:v.map)&&(h.dispose(),(r=y.panoPicture.luminanceMap)===null||r===void 0||r.dispose(),y.panoPicture=null)}delete this.panoResources[m]}this.luminanceAdaptiveEffect&&(this.luminanceAdaptiveEffect.dispose(),delete this.luminanceAdaptiveEffect)},t.prototype.isReady=function(){return this.locationMotion.ended!==!0?!1:n.prototype.isReady.call(this)},t.prototype.isTileReady=function(){var e,r,i,o=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),s=((e=o.panoPicture)===null||e===void 0?void 0:e.map)instanceof TileCubeTextureTarget&&(i=(r=o.panoPicture)===null||r===void 0?void 0:r.map.tilePending)!==null&&i!==void 0?i:0,u=this.tiling.pedding;return this.initAnimationed&&s<=0&&u<=0},t.prototype.updateWork=function(e,r,i,o){var s=this;this.userAction=o,this.works=e;var u=t.initAnimationEndState(__assign(__assign({},this),{initial:{currentState:__assign(__assign({},this.currentPano),this.camera.pose),duration:i.duration,effect:i.effect,state:r,userAction:o}})),l={workCode:u.workCode,panoIndex:u.panoIndex},c=this.works.getWork(l.workCode);return this.tiling.setFetcher(c?getFetcher(c):internalFetcher),this.tiling.cleanup(),this.initAnimationed=!1,this.hideIntersectMesh(),this.updatePanoMeshes(),this.moveToPano(l,{effect:i.effect,duration:i.duration,longitude:r.longitude,latitude:r.latitude,fov:r.fov,moveEndCallback:function(){s.initAnimationed=!0},moveCancelCallback:function(){s.initAnimationed=!0}},o),!0},t.prototype.updateModel=function(e){this.models=e,this.updatePanoMeshes()},t.prototype.updateTime=function(e,r){var i=this,o,s,u,l,c,d,f,v,p,A;if(!this.destroyed){var m={},y={},h=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),g=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),b=!1;if(this.cameraMotion.ended===!1&&(this.cameraMotion.update(e),y.longitude=this.cameraMotion.value.longitude,y.latitude=this.cameraMotion.value.latitude,y.fov=this.cameraMotion.value.fov),this.modelAlphaMotion.ended===!1&&(this.modelAlphaMotion.update(e),m.modelAlpha=this.modelAlphaMotion.value.modelAlpha),this.perspToOrthoMotion.ended===!1&&(this.perspToOrthoMotion.update(e),this.camera.perspToOrtho.setScalar(clamp(this.perspToOrthoMotion.value.perspToOrtho,0,1))),this.locationMotion.ended===!1){this.locationMotion.update(e);var E=this.locationMotion.getKeyFrameSegment(e),T=E[0],_=E[1],x=this.panoResourceFromLocationMotionKeyframe(T),w=this.panoResourceFromLocationMotionKeyframe(_),S=new THREE__namespace.Vector3().copy(x.position),C=new THREE__namespace.Vector3().copy(w.position),R=this.locationMotion.value.count-_.value.count+1;m.progress=R,w.panoPicture&&(R<1?x.panoPicture&&(m.pano0=x.panoPicture):m.pano0=w.panoPicture,m.pano1=w.panoPicture),w.effect==="montage"?m.transition="BLACK":w.effect==="spread"?m.transition="SPREAD":m.transition="FADE",R<1&&w.effect!=="fly"&&(m.pano0&&x.panoPicture&&(m.pano0={map:m.pano0.map,luminanceMap:m.pano0.luminanceMap,matrix:x.panoPicture.matrix.clone().premultiply(x.fixCameraTransform).setPosition(w.position)}),S.copy(C),b=!0),y.distance=this.locationMotion.value.distance,y.offset=new THREE__namespace.Vector3(S.x+(C.x-S.x)*R,S.y+(C.y-S.y)*R,S.z+(C.z-S.z)*R);for(var I=[],B=[],F=0,L=this.locationMotion.keyframes;F<L.length;F++){var O=L[F],k=O.key,Q=O.progress;k!==void 0&&(I.push(k),Q>this.locationMotion.progress&&B.push(k))}for(var U=0,N=Object.keys(this.panoResources);U<N.length;U++){var G=N[U];if(!(B.indexOf(G)>=0)){var K=this.panoResources[G];if(K.panoPicture){var X=K.panoPicture.map,D=K.panoPicture.luminanceMap;if(X){if(X===((o=m.pano0)===null||o===void 0?void 0:o.map)||X===((s=m.pano1)===null||s===void 0?void 0:s.map))continue;X instanceof TileCubeTextureTarget&&X.cubeRenderTarget&&this.colorCubeRenderTargetPool.push(X.cubeRenderTarget),X.dispose(),D&&(D instanceof TileCubeTextureTarget&&D.cubeRenderTarget&&this.luminanceCubeRenderTargetPool.push(D.cubeRenderTarget),D.dispose()),K.panoPicture=null}}I.indexOf(G)>=0||delete this.panoResources[G]}}this.currentPano=panoParse(w.panoId),this.emit("pano.moving",createEvent("pano.moving",{userAction:this.userAction,prevPano:panoParse(h.panoId),state:__assign(__assign(__assign(__assign({},panoParse(g.panoId)),{mode:this.mode}),clonePose(this.camera.pose)),y),options:{},progress:this.locationMotion.progress,error:null}))}isEmptyObject(m)===!1&&(!((u=m.pano0)===null||u===void 0)&&u.map&&m.pano0.map instanceof TileCubeTextureTarget&&!m.pano0.map.cubeRenderTarget&&(m.pano0.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),!((l=m.pano0)===null||l===void 0)&&l.luminanceMap&&m.pano0.luminanceMap instanceof TileCubeTextureTarget&&!m.pano0.luminanceMap.cubeRenderTarget&&(m.pano0.luminanceMap.cubeRenderTarget=this.luminanceCubeRenderTargetPool.pop()),!((c=m.pano1)===null||c===void 0)&&c.map&&m.pano1.map instanceof TileCubeTextureTarget&&!m.pano1.map.cubeRenderTarget&&(m.pano1.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),!((d=m.pano1)===null||d===void 0)&&d.luminanceMap&&m.pano1.luminanceMap instanceof TileCubeTextureTarget&&!m.pano1.luminanceMap.cubeRenderTarget&&(m.pano1.luminanceMap.cubeRenderTarget=this.luminanceCubeRenderTargetPool.pop()),this.models.setMaterial(m)),isEmptyObject(y)===!1&&this.setCamera(y);var W=this.works.getResolvedObserver(this.currentPano),q=this.locationMotion.ended?this.getForwardObserverOrNot():null;if(this.camera.pose.distance>.1||b)for(var ae=0,Y=Object.keys(this.panoMeshes);ae<Y.length;ae++){var re=Y[ae],$=this.panoMeshes[re];$.setOpacity(0),$.setCurrent(!1),$.updateTime&&$.updateTime(e,r),$.visible=!1}else if(W){var oe=arrayMin(W.visibleIds,function(ue){var le=i.works.getResolvedObserver(ue);return le?W.standingPosition.distanceTo(le.standingPosition):1/0},!0),J=oe[1];J=clamp(J,2.5,1/0);for(var ie=W.visibleIds.concat(panoStringify(this.currentPano)),se=this.camera.getDirection(new THREE__namespace.Vector3),ne=0,pe=Object.keys(this.panoMeshes);ne<pe.length;ne++){var re=pe[ne],$=this.panoMeshes[re],Z=this.works.getResolvedObserver(re);if(ie.indexOf(re)===-1)$.setCurrent(!1),$.setOpacity(0);else if(!Z)$.setCurrent(!1),$.setOpacity(0);else if(!Z.loadable&&!Z.active)$.setCurrent(!1),$.setOpacity(0);else{var ee=$.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);$.setCurrent(!$.loading&&$.progress===0&&q!==null&&q.panoId===re),$.setOpacity(ee<.01?0:clamp(J/ee*1.2,.4,.85));var z=this.camera.position.clone().setY($.position.y),de=new THREE__namespace.Vector3().copy($.position).sub(z).normalize();if(re===panoStringify(this.currentPano)){var ce=clamp((.5-z.distanceTo($.position))/.5,0,1);de.multiplyScalar(1-ce).add(se.clone().multiplyScalar(ce))}de.length()>0&&$.quaternion.setFromEuler(new THREE__namespace.Euler(0,Math.atan2(de.x,de.z),0))}$.updateTime&&$.updateTime(e,r)}}var ye=this.tileLevel=function(){if(i.tileLevelForFov===!1)return 0;var ue=i.renderer.getDrawingBufferSize(new THREE__namespace.Vector2);ue.width*=i.scissor.width,ue.height*=i.scissor.height;var le=g.panoId,ge=i.works.getResolvedObserver(le),fe=i.imageOptions.size;if(typeof fe=="undefined"&&ge){var Ae=ge.images.up.match(/\/cube_(\d+)\//);Ae&&(fe=Number(Ae[1]))}typeof fe=="undefined"&&(fe=2048);var be=0;fe>=1024&&(be=1),fe>=2048&&(be=2),fe>=4096&&(be=3),fe>=8192&&(be=4);var Ee=i.tileLevelForFov(i.camera.fov,ue);return Ee>be?Ee:0}(),Te=function(){var ue=i.camera.quaternion.clone(),le=i.works.getResolvedObserver(g.panoId),ge=le!=null?le:W;ge&&ue.premultiply(ge.quaternion.clone().inverse());var fe=new THREE__namespace.Matrix4().makeRotationFromQuaternion(ue),Ae=new THREE__namespace.Matrix4().getInverse(fe),be=new THREE__namespace.Frustum().setFromProjectionMatrix(new THREE__namespace.Matrix4().multiplyMatrices(i.camera.projectionMatrix,Ae));return be}();g.panoId===panoStringify(this.currentPano)&&(((f=g.panoPicture)===null||f===void 0?void 0:f.map)instanceof TileCubeTextureTarget&&(g.panoPicture.map.update(Te,ye),g.panoPicture.map.needsRender===!0&&(g.panoPicture.map.needsRender=!1,this.needsRender=!0)),((v=g.panoPicture)===null||v===void 0?void 0:v.luminanceMap)instanceof TileCubeTextureTarget&&(g.panoPicture.luminanceMap.update(Te,ye),g.panoPicture.luminanceMap.needsRender===!0&&(g.panoPicture.luminanceMap.needsRender=!1,this.needsRender=!0)));{var _e=this.tiling.object.visible;if(this.initAnimationed){var we=g.panoId,ve=this.works.getResolvedObserver(we);ve?isSimilarVector3(this.camera.position,ve.position)&&this.locationMotion.ended?(this.tiling.object.visible=!0,this.tiling.panoId!==we&&this.tiling.cleanup(),this.tiling.panoId=we,this.tiling.setResource((A=(p=ve.images)===null||p===void 0?void 0:p.tiles)!==null&&A!==void 0?A:[],this.enableIOSEDR&&ve.images.luminance?ve.images.luminance:null),this.tiling.setFetcher(getFetcher(ve.work)),this.tiling.setRotation(ve.quaternion),this.tiling.setPosition(ve.position),ye>this.TILED_CUBE_TEXTURE_LEVEL?this.tiling.update(Te,ye,e):this.tiling.update(Te,0,e)):this.tiling.object.visible=!1:this.tiling.object.visible=!1}else this.tiling.object.visible=!1;_e!==this.tiling.object.visible&&(this.tiling.object.needsRender=!0)}this.panoVideo.object.position.copy(this.camera.position),this.panoVideo.updateTime(e)}},t.prototype.render=function(){var e=this.works.getResolvedObserver(this.currentPano);e&&e.video&&(this.needsRender=!0),n.prototype.render.call(this)},t.prototype.postProcessing=function(e,r){if(!this.destroyed&&r==="luminance")return this.luminanceAdaptiveEffect||(this.luminanceAdaptiveEffect=new LuminanceAdaptiveEffect(this.renderer,this.scene,this.camera,this.models),this.luminanceAdaptiveEffect.enable=this.luminanceAdaptiveEffectEnable),this.luminanceAdaptiveEffect.render(e)},t.prototype.getTargetState=function(){var e=this.cameraMotion.getKeyFrameSegment(now())[1],r=this.locationMotion.getKeyFrameSegment(now())[1],i=this.panoResourceFromLocationMotionKeyframe(r),o=this.works.getResolvedObserver(i.panoId);return{workCode:o?o.work.workCode:this.currentPano.workCode,panoIndex:o?o.panoIndex:this.currentPano.panoIndex,mode:this.mode,longitude:e.value.longitude,latitude:e.value.latitude,fov:e.value.fov,offset:o?o.position.clone():this.camera.position.clone(),distance:this.locationMotion.value.distance}},t.prototype.moveToPano=function(e,r,i){var o=this,s,u,l,c,d=(s=r.effect)!==null&&s!==void 0?s:"fly";this.userAction=i,this.stopMomentumMovement();var f=this.works.getResolvedObserver(e);if(!f)throw new Error("Invalid PanoId ".concat(JSON.stringify(e)));var v=this.imageOptions.size;if(typeof v=="undefined"&&f){var p=f.images.up.match(/\/cube_(\d+)\//);p&&(v=Number(p[1]))}typeof v=="undefined"&&(v=2048);var A=this.imageOptions.transform,m=__assign({key:"pano.".concat(f.panoId)},pick(this.imageOptions,["format","size","quality","sharpen","mappings"])),y=f.images,h=(l=(u=f.images.tiles)===null||u===void 0?void 0:u.filter(function(L){return L.size>v}))!==null&&l!==void 0?l:null,g=A,b={key:"pano_luminance.".concat(f.panoId),size:m.size?m.size/2:1024},E=this.enableIOSEDR&&f.images.luminance?f.images.luminance:null,T=function(){if(!f.images.tiles||!E)return null;var L=E.up.match(/\/cube_(\d+)\//),O=L?Number(L[1]):!1;return O===!1?null:h==null?void 0:h.map(function(k){return{level:k.level,size:O,back:E.back,front:E.front,left:E.left,right:E.right,up:E.up,down:E.down}})}(),_="pano:"+jsonHash([y,m,A]);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===_)return;var x=this.pendingTextureTask.panoId;(c=this.panoMeshes[x])===null||c===void 0||c.setProgress(0),this.emit("pano.texture.abort",createEvent("pano.texture.abort",{error:null,progress:0,meta:null,pano:f.pano})),this.pendingTextureTask.onError(new Error("texture aborted"))}var w="move-to-pano-"+f.panoId;this.pending.add(w);var S=this.models.getMaterial()||{},C=S.pano0,R=S.pano1,I;if(C&&C.map.name===_&&C.luminanceMap!==null===this.enableIOSEDR?I=C:(R==null?void 0:R.map.name)===_&&R.luminanceMap!==null===this.enableIOSEDR&&(I=R),I){var B={panoId:f.panoId,effect:d,panoPicture:{map:I.map,luminanceMap:I.luminanceMap,matrix:new THREE__namespace.Matrix4().compose(f.position,f.quaternion,PANO_TEXTURE_SCALE$1)},position:f.position.clone(),fixCameraTransform:new THREE__namespace.Matrix4};AnimationFrameLoop.shared.add(function(){o.pending.delete(w),o.doMoveToPano(f.pano,B,r)},!0,1);return}this.pendingTextureTask={panoId:f.panoId,hash:_,onLoad:function(L,O){var k;if(o.pending.delete(w),o.destroyed)L.body.dispose();else{L.body.name=_;var Q={panoId:f.panoId,effect:d,panoPicture:{map:L.body,luminanceMap:(k=O==null?void 0:O.body)!==null&&k!==void 0?k:null,matrix:new THREE__namespace.Matrix4().compose(f.position,f.quaternion,PANO_TEXTURE_SCALE$1)},position:f.position.clone(),fixCameraTransform:new THREE__namespace.Matrix4};o.doMoveToPano(f.pano,Q,r)}},onError:function(L){o.pending.delete(w);var O=__assign(__assign(__assign({},f.pano),{mode:o.mode}),clonePose(o.camera.pose));o.emit("pano.error",createEvent("pano.error",{error:L,userAction:o.userAction,options:r,prevPano:o.currentPano,progress:0,state:O})),o.emit("pano.cancel",createEvent("pano.cancel",{error:L,userAction:o.userAction,options:r,prevPano:o.currentPano,progress:0,state:O})),o.emit("error",L),r.moveCancelCallback&&r.moveCancelCallback()}};var F=this.panoMeshes[f.panoId];F&&F.tap&&F.tap(),Promise.all([this.tileLevelForFov&&h&&h.length?this.textureLoader.loadTiledCubeTexture(y,h,{tileMaxLevel:this.TILED_CUBE_TEXTURE_LEVEL,imageURL:{transform:A,options:m},minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.LinearFilter,generateMipmaps:!1,format:THREE__namespace.RGBAFormat,viaAjax:!0,fetcher:getFetcher(f.work)},void 0,void 0,function(L){var O,k;o.emit("pano.texture.progress",createEvent("pano.texture.progress",{error:null,progress:L,meta:null,pano:f.pano})),((O=o.pendingTextureTask)===null||O===void 0?void 0:O.hash)===_&&((k=o.panoMeshes[f.panoId])===null||k===void 0||k.setProgress(L))},this.renderer):this.textureLoader.loadCubeTexture(y,{imageURL:{transform:A,options:m},format:THREE__namespace.RGBAFormat,viaAjax:!0,fetcher:getFetcher(f.work)},void 0,void 0,function(L){var O,k;o.emit("pano.texture.progress",createEvent("pano.texture.progress",{error:null,progress:L,meta:null,pano:f.pano})),((O=o.pendingTextureTask)===null||O===void 0?void 0:O.hash)===_&&((k=o.panoMeshes[f.panoId])===null||k===void 0||k.setProgress(L))},this.renderer),E?this.tileLevelForFov&&T&&T.length?this.textureLoader.loadTiledCubeTexture(E,T,{tileImageSize:256,tileMaxLevel:this.TILED_CUBE_TEXTURE_LEVEL,imageURL:{transform:g,options:b},minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.LinearFilter,generateMipmaps:!1,fetcher:getFetcher(f.work)},void 0,void 0,void 0,this.renderer).catch(function(){return null}):this.textureLoader.loadCubeTexture(E,{imageURL:{transform:g,options:b},fetcher:getFetcher(f.work)},void 0,void 0,void 0,this.renderer).catch(function(){return null}):Promise.resolve(null)]).then(function(L){var O,k,Q=L[0],U=L[1];((O=o.pendingTextureTask)===null||O===void 0?void 0:O.hash)===_?(o.pendingTextureTask.onLoad(Q,U),(k=o.panoMeshes[f.panoId])===null||k===void 0||k.setProgress(0),delete o.pendingTextureTask,o.emit("pano.texture.success",createEvent("pano.texture.success",{error:null,progress:1,meta:Q.meta,pano:f.pano}))):(Q.body.dispose(),U==null||U.body.dispose())}).catch(function(L){var O,k;((O=o.pendingTextureTask)===null||O===void 0?void 0:O.hash)===_&&(o.pendingTextureTask.onError(L),(k=o.panoMeshes[f.panoId])===null||k===void 0||k.setProgress(0),delete o.pendingTextureTask,o.emit("pano.texture.error",createEvent("pano.texture.error",{error:L,progress:0,meta:null,pano:f.pano})),o.emit("error",L))}),this.emit("pano.texture.load",createEvent("pano.texture.load",{error:null,progress:0,meta:null,pano:f.pano}))},t.prototype.initAnimation=function(){var e=this;return this.destroyed?Promise.resolve():new Promise(function(r){var i=e.initial,o=i.duration,s=i.effect,u=i.userAction;e.userAction=u;var l=t.initAnimationEndState(e),c={workCode:l.workCode,panoIndex:l.panoIndex},d={modelAlpha:0},f={perspToOrtho:0},v=!1;e.moveToPano(c,{longitude:l.longitude,latitude:l.latitude,fov:l.fov,effect:s,duration:o,moveStartCallback:function(p){v=!0,e.perspToOrthoMotion.set(f,o).catch(noop$1),e.modelAlphaMotion.setKeyframes([{progress:0,value:__assign({},e.modelAlphaMotion.value)},{progress:.6,value:__assign({},e.modelAlphaMotion.value)},{progress:1,value:d}],o).catch(noop$1),e.emit("initAnimation.start",createEvent("initAnimation.start",{state:p,userAction:e.userAction}))},moveEndCallback:function(p){e.emit("initAnimation.end",createEvent("initAnimation.end",{state:p,userAction:e.userAction})),e.initAnimationed=!0,r()},moveCancelCallback:function(){var p=__assign(__assign(__assign({},c),{mode:e.mode}),clonePose(e.camera.pose));v===!1&&e.emit("initAnimation.start",createEvent("initAnimation.start",{state:p,userAction:e.userAction})),e.emit("initAnimation.end",createEvent("initAnimation.end",{state:p,userAction:e.userAction})),e.initAnimationed=!0,r()}},u)})},t.prototype.panoResourceFromLocationMotionKeyframe=function(e){return this.panoResources[e.key]},t.prototype.locationMotionKeyframesLength=function(e){for(var r=0,i=1;i<e.length;i++){var o=this.panoResourceFromLocationMotionKeyframe(e[i-1]).position,s=this.panoResourceFromLocationMotionKeyframe(e[i]).position,u=o.distanceTo(s)*(e[i].value.count-e[i-1].value.count);r+=u}return r},t.prototype.updatePanoMeshes=function(){for(var e=this,r={},i=Object.keys(this.panoMeshes),o=0,s=i;o<s.length;o++){var u=s[o],l=this.panoMeshes[u];r[u]=l,delete this.panoMeshes[u]}for(var c=1,d={},f=function(_){var x=arrayMin(_.accessibleIds,function(S){var C=e.works.getResolvedObserver(S);if(!C)return 1/0;var R=C.standingPosition.distanceTo(_.standingPosition);return clamp(R,1,1/0)},!0),w=x[1];d[_.panoId]===void 0&&(d[_.panoId]=w)},v=0,p=this.works.resolvedObservers;v<p.length;v++){var A=p[v];f(A)}var m=Object.keys(d).map(function(_){return d[_]});if(m.length){var y=m.reduce(function(_,x){return _+x},0)/m.length;c=clamp(y*.6,1,3)}for(var h=0,g=this.works.resolvedObservers;h<g.length;h++){var A=g[h],l=void 0;r[A.panoId]?(l=r[A.panoId],l.loading===!0&&A.loadable===!1&&l.setLoading(!1),delete r[A.panoId]):(l=this.panoCircleMeshCreator(A.pano),l.name="PanoCircleMesh_"+A.panoId,this.helper.add(l)),l.scale.set(c,1,c),l.position.copy(A.standingPosition),this.panoMeshes[A.panoId]=l}for(var b=0,E=Object.keys(r);b<E.length;b++){var T=E[b];this.helper.remove(r[T]),r[T].dispose(),delete r[T]}},t.prototype.doMoveToPano=function(e,r,i){var o=this,s,u,l,c,d,f,v,p,A,m,y;i===void 0&&(i={});var h=now(),g=createUuid();this.tiling.cleanup(),this.panoResources[g]=r;var b=1,E,T,_;if(this.locationMotion.ended){var x=this.locationMotion.getKeyFrameSegment(h);x[0];var w=x[1],S=this.locationMotion.value,C=((s=this.panoResourceFromLocationMotionKeyframe(w))!==null&&s!==void 0?s:this.camera).position,R=r.position;E=Math.max(C.distanceTo(R),b),T=[{key:w.key,progress:0,value:__assign(__assign({},S),{count:0})},{key:g,progress:1,value:{distance:0,count:1}}],_=0}else{var I=this.locationMotion.getKeyFrameSegment(h),B=I[0],w=I[1],S=this.locationMotion.value,F=this.panoResourceFromLocationMotionKeyframe(B).position,C=this.panoResourceFromLocationMotionKeyframe(w).position,R=r.position,L=w.value.count-S.count,O=Math.max(F.distanceTo(C),b)*L,k=Math.max(C.distanceTo(R),b);E=O+k,T=[{key:B.key,progress:0,value:__assign({},S)},{key:w.key,progress:O/E,value:w.value},{key:g,progress:1,value:{count:w.value.count+1,distance:0}}];var Q=this.locationMotionKeyframesLength(this.locationMotion.keyframes),U=this.locationMotionKeyframesLength(T);Q===0||Q===0?_=0:_=this.locationMotion.getProgressVelocity(h)*Q/U}var N=r.effect==="instant"?0:this.calculateMovingDuration(i.duration,r.effect==="fly"?E:0),G={longitude:i.longitude,latitude:i.latitude,fov:i.fov},K=__assign(__assign({},e),{mode:this.mode,longitude:(u=G.longitude)!==null&&u!==void 0?u:this.camera.pose.longitude,latitude:(l=G.latitude)!==null&&l!==void 0?l:this.camera.pose.latitude,fov:(c=G.fov)!==null&&c!==void 0?c:this.camera.pose.fov,offset:r.position.clone(),distance:this.camera.pose.distance}),X=this.currentPano;this.emit("pano.moveTo",createEvent("pano.moveTo",{options:i,prevPano:X,progress:0,state:K,userAction:this.userAction,error:null})),i.moveStartCallback&&i.moveStartCallback(K),this.videoTexture&&this.videoTexture.image instanceof HTMLVideoElement&&this.videoTexture.image.getAttribute("src")&&(this.videoTexture.image.pause(),this.videoTexture.image.removeAttribute("uuid"),this.videoTexture.image.removeAttribute("src"),this.videoTexture.image.oncanplay=noop$1,this.videoTexture.needsUpdate=!0),this.panoVideo.setMaterial(null);var D=coordinatesToVector({longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude}),W=coordinatesToVector({longitude:(d=G.longitude)!==null&&d!==void 0?d:this.cameraMotion.value.longitude,latitude:(f=G.latitude)!==null&&f!==void 0?f:this.cameraMotion.value.latitude}),q=new THREE__namespace.Object3D;q.lookAt(D);var ae=new THREE__namespace.Matrix4().makeRotationFromQuaternion(q.quaternion);q.lookAt(W);for(var Y=new THREE__namespace.Matrix4().makeRotationFromQuaternion(q.quaternion),re=new THREE__namespace.Matrix4().getInverse(ae).premultiply(Y),$=0;$<T.length-1;$++){var oe=T[$].key;if(oe){var J=this.panoResources[oe];J&&J.fixCameraTransform.copy(re)}}r.effect==="fly"?this.cameraMotion.set(G,N).catch(noop$1):this.cameraMotion.setKeyframes([{progress:0,value:{longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude,fov:this.cameraMotion.value.fov}},{progress:0,value:{longitude:(v=G.longitude)!==null&&v!==void 0?v:this.cameraMotion.value.longitude,latitude:(p=G.latitude)!==null&&p!==void 0?p:this.cameraMotion.value.latitude,fov:this.cameraMotion.value.fov}},{progress:1,value:{longitude:(A=G.longitude)!==null&&A!==void 0?A:this.cameraMotion.value.longitude,latitude:(m=G.latitude)!==null&&m!==void 0?m:this.cameraMotion.value.latitude,fov:(y=G.fov)!==null&&y!==void 0?y:this.cameraMotion.value.fov}}],N).catch(noop$1);var ie=this.locationMotion.setKeyframes(T,N,_);ie.then(function(){var se,ne,pe=__assign(__assign({},e),{mode:o.mode,longitude:o.camera.pose.longitude,latitude:o.camera.pose.latitude,fov:o.camera.pose.fov,offset:o.camera.pose.offset.clone(),distance:o.camera.pose.distance});o.emit("pano.arrived",createEvent("pano.arrived",{options:i,prevPano:X,progress:1,state:pe,userAction:o.userAction,error:null})),i.moveEndCallback&&i.moveEndCallback(pe);var Z=o.works.getResolvedObserver(e);if(Z&&Z.video&&o.videoTexture&&o.videoTexture.image instanceof HTMLVideoElement){var ee=ROTATE_Y_PI_MATRIX$1.clone().multiply((ne=(se=o.models.getMaterial().pano1)===null||se===void 0?void 0:se.matrix)!==null&&ne!==void 0?ne:new THREE__namespace.Matrix4).multiply(Z.video.matrix),z={map:o.videoTexture,size:Z.video.size,matrix:ee,alpha:1},de=createUuid(),ce=o.videoTexture.image;ce.setAttribute("uuid",de),canplayVideo().then(function(ye){ye&&Z.video&&ce.getAttribute("uuid")===de&&(ce.oncanplay=function(){ce.oncanplay=noop$1,ce.play()},ce.ontimeupdate=function(){ce.currentTime>.5&&(ce.ontimeupdate=noop$1,o.panoVideo.setMaterial(z))},ce.src=Z.video.source)}).catch(function(){ce.removeAttribute("uuid")})}},function(){o.emit("pano.cancel",createEvent("pano.cancel",{options:i,prevPano:X,progress:0,state:K,userAction:o.userAction,error:null})),i.moveCancelCallback&&i.moveCancelCallback()})},t.prototype.getForwardObserverOrNot=function(e){var r=this,i=this.works.getResolvedObserver(this.currentPano);if(!i)return null;var o=e!=null?e:new THREE__namespace.Raycaster(this.camera.position.clone(),this.camera.getDirection(new THREE__namespace.Vector3));o.params.Points={threshold:.1};var s=i.standingPosition.clone();if(i.position.distanceTo(o.ray.origin)>1){var u=this.models.intersectRaycaster(new THREE__namespace.Raycaster(o.ray.origin,new THREE__namespace.Vector3(0,-1,0)))[0];u&&u.distance<=2?s.copy(u.point):s.copy(o.ray.origin).add(new THREE__namespace.Vector3(0,-1.5,0))}var l=this.models.intersectRaycaster(o)[0],c=l?l.point:o.ray.origin.clone().add(o.ray.direction.clone().normalize().multiplyScalar(3)),d=c.clone().sub(s).normalize();if(d.length()===0)return null;for(var f=i.accessibleIds.filter(function(T){if(T===panoStringify(r.currentPano))return!1;var _=r.works.getResolvedObserver(T);if(!_)return!1;var x=_.standingPosition.clone().project(r.camera);return Math.abs(x.z)>1||Math.abs(x.x)>1||Math.abs(x.y)>1?!1:_.loadable||_.active}),v=f.slice().sort(function(T,_){var x=r.works.getResolvedObserver(T).standingPosition.clone().distanceTo(s),w=r.works.getResolvedObserver(_).standingPosition.clone().distanceTo(s);return x-w}),p=0,A=[Math.PI/8,Math.PI/6,Math.PI/4,Math.PI/3];p<A.length;p++)for(var m=A[p],y=0,h=v;y<h.length;y++){var g=h[y],b=this.works.getResolvedObserver(g);if(b){var E=b.standingPosition.clone().sub(s);if(E&&E.length()!==0&&d.angleTo(E)<m)return b}}return null},t.prototype.onTapGesture=function(e){var r=this,i;if(this.userAction=e.userAction,this.stopMomentumMovement(),!!this.initAnimationed){if(!this.locationMotion.ended){var o=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]);if(o.panoId!==panoStringify(this.currentPano))return}var s=e.center.raycaster,u=this.camera.getDirection(new THREE__namespace.Vector3).setY(0),l=null,c=this.works.getResolvedObserver(this.currentPano);if(c){var d=c.accessibleIds.filter(function(U){if(U===panoStringify(r.currentPano))return!1;var N=r.works.getResolvedObserver(U);return!N||N.position.distanceTo(r.camera.position)>r.maxAccessibleDistance?!1:N.loadable||N.active}),f=this.models.intersectRaycaster(s)[0];if(f){var v=arrayMin(d,function(U){var N=r.works.getResolvedObserver(U);if(!N)return 1/0;var G=N.standingPosition.clone();return G.distanceTo(f.point)},!0),p=v[0],A=v[1];p&&A<this.panoTapTriggerRadius&&(l=(i=this.works.getResolvedObserver(p))!==null&&i!==void 0?i:null)}l||(l=this.getForwardObserverOrNot(s));for(var m=0,y=this.locationMotion.keyframes;m<y.length;m++){var h=y[m],g=this.panoResourceFromLocationMotionKeyframe(h);if(!(h.progress<this.locationMotion.progress)&&l&&g.panoId===l.panoId){l=null;break}}if(!l)this.emit("gesture.tap",e),e.defaultPrevented||this.locationMotion.ended===!0&&this.cameraBounce();else{for(var b={},E=Math.PI/6,T=Math.PI/12,_=l.position.clone().setY(0).sub(c.position.clone().setY(0)).normalize(),x=[],w=[],S=[],C=0,R=l.accessibleIds;C<R.length;C++){var p=R[C],I=panoParse(p);if(!(panoEqual(I,this.currentPano)||panoEqual(I,l.pano))){var B=this.works.getResolvedObserver(p);if(B){var F=B.position.clone().sub(l.position).setY(0);_.angleTo(F)<E&&S.push(F)}}}var L=S.length>0?S:__spreadArray(__spreadArray([],x,!0),w,!0),O=L.slice().sort(function(U,N){return U.angleTo(_)-N.angleTo(_)})[0];O&&O.angleTo(u)>T&&(b.longitude=Math.atan2(-O.x,-O.z)),this.cameraMotion.value.latitude<-Math.PI/4&&(b.latitude=clamp(0,this.minLatitude,this.maxLatitude));var k=__assign({},e.state);if(k.workCode=l.pano.workCode,k.panoIndex=l.pano.panoIndex,b.longitude!==void 0&&(k.longitude=b.longitude),b.latitude!==void 0&&(k.latitude=b.latitude),b.fov!==void 0&&(k.fov=b.fov),k.distance=0,k.offset=l.position.clone(),e.state=k,this.emit("gesture.tap",e),!e.defaultPrevented){if(this.emit("pano.select",createEvent("pano.select",{prevPano:this.currentPano,state:k,userAction:e.userAction,options:b,progress:0,error:null})),l&&!l.active){var Q=l.panoId;this.panoMeshes[Q]&&(this.panoMeshes[Q].setDisabled(!1),this.panoMeshes[Q].setLoading(!0))}l&&l.active&&this.emit("pano.request",createEvent("pano.request",{userAction:e.userAction,prevPano:this.currentPano,progress:0,state:k,options:b,error:null}))}}}}},t}(PanoramaLikeController),DEG_TO_RAD=Math.PI/180,RAD_TO_DEG=180/Math.PI,MIN_TIMESTEP=.001,MAX_TIMESTEP=1,isIOS=function(){var n=typeof navigator!="undefined"&&/iPad|iPhone|iPod/.test(navigator.platform);return function(){return n}}(),isSafari=function(){var n=typeof navigator!="undefined"&&/^((?!chrome|android).)*safari/i.test(navigator.userAgent);return function(){return n}}(),isFirefoxAndroid=function(){var n=typeof navigator!="undefined"&&navigator.userAgent.indexOf("Firefox")!==-1&&navigator.userAgent.indexOf("Android")!==-1;return function(){return n}}(),getChromeVersion=function(){var n=typeof navigator!="undefined"?navigator.userAgent.match(/.*Chrome\/([0-9]+)/):null,t=n?parseInt(n[1],10):null;return function(){return t}}(),isChromeWithoutDeviceMotion=function(){var n=!1;if(getChromeVersion()===65){var t=typeof navigator!="undefined"?navigator.userAgent.match(/.*Chrome\/([0-9\.]*)/):null;if(t){var e=t[1].split(".");e[0],e[1];var r=e[2],i=e[3];n=parseInt(r,10)===3325&&parseInt(i,10)<148}}return function(){return n}}(),isSafariWithoutDeviceMotion=function(){var n=isIOS()&&isSafari()&&typeof navigator!="undefined"&&navigator.userAgent.indexOf("13_4")!==-1;return function(){return n}}(),isR7=function(){var n=typeof navigator!="undefined"&&navigator.userAgent.indexOf("R7 Build")!==-1;return function(){return n}}();function isLandscapeMode(){var n=typeof window!="undefined"&&(window.orientation==90||window.orientation==-90);return isR7()?!n:n}function isTimestampDeltaValid(n){return!(isNaN(n)||n<=MIN_TIMESTEP||n>MAX_TIMESTEP)}function getQuaternionAngle(n){if(n.w>1)return 0;var t=2*Math.acos(n.w);return t}var warnOnce=function(){var n={};return function(t,e){n[t]===void 0&&(console.warn("cardboard: "+e),n[t]=!0)}}();function getOriginFromUrl(n){var t,e=n.indexOf("://");e!==-1?t=e+3:t=0;var r=n.indexOf("/",t);return r===-1&&(r=n.length),n.substring(0,r)}function isInsideCrossOriginIFrame(){if(typeof window=="undefined"||typeof document=="undefined")return!1;var n=window.self!==window.top,t=getOriginFromUrl(document.referrer),e=getOriginFromUrl(window.location.href);return n&&t!==e}var updateEyeViewMatrices=function(){function n(r,i,o){var s=i?i[0]:0,u=i?i[1]:0,l=i?i[2]:0,c=i?i[3]:1,d=s+s,f=u+u,v=l+l,p=s*d,A=s*f,m=s*v,y=u*f,h=u*v,g=l*v,b=c*d,E=c*f,T=c*v;return r[0]=1-(y+g),r[1]=A+T,r[2]=m-E,r[3]=0,r[4]=A-T,r[5]=1-(p+g),r[6]=h+b,r[7]=0,r[8]=m+E,r[9]=h-b,r[10]=1-(p+y),r[11]=0,r[12]=o?o[0]:0,r[13]=o?o[1]:0,r[14]=o?o[2]:0,r[15]=1,r}function t(r,i,o){var s=o[0],u=o[1],l=o[2],c,d,f,v,p,A,m,y,h,g,b,E;return i===r?(r[12]=i[0]*s+i[4]*u+i[8]*l+i[12],r[13]=i[1]*s+i[5]*u+i[9]*l+i[13],r[14]=i[2]*s+i[6]*u+i[10]*l+i[14],r[15]=i[3]*s+i[7]*u+i[11]*l+i[15]):(c=i[0],d=i[1],f=i[2],v=i[3],p=i[4],A=i[5],m=i[6],y=i[7],h=i[8],g=i[9],b=i[10],E=i[11],r[0]=c,r[1]=d,r[2]=f,r[3]=v,r[4]=p,r[5]=A,r[6]=m,r[7]=y,r[8]=h,r[9]=g,r[10]=b,r[11]=E,r[12]=c*s+p*u+h*l+i[12],r[13]=d*s+A*u+g*l+i[13],r[14]=f*s+m*u+b*l+i[14],r[15]=v*s+y*u+E*l+i[15]),r}function e(r,i){var o=i[0],s=i[1],u=i[2],l=i[3],c=i[4],d=i[5],f=i[6],v=i[7],p=i[8],A=i[9],m=i[10],y=i[11],h=i[12],g=i[13],b=i[14],E=i[15],T=o*d-s*c,_=o*f-u*c,x=o*v-l*c,w=s*f-u*d,S=s*v-l*d,C=u*v-l*f,R=p*g-A*h,I=p*b-m*h,B=p*E-y*h,F=A*b-m*g,L=A*E-y*g,O=m*E-y*b,k=T*O-_*L+x*F+w*B-S*I+C*R;return k?(k=1/k,r[0]=(d*O-f*L+v*F)*k,r[1]=(u*L-s*O-l*F)*k,r[2]=(g*C-b*S+E*w)*k,r[3]=(m*S-A*C-y*w)*k,r[4]=(f*B-c*O-v*I)*k,r[5]=(o*O-u*B+l*I)*k,r[6]=(b*x-h*C-E*_)*k,r[7]=(p*C-m*x+y*_)*k,r[8]=(c*L-d*B+v*R)*k,r[9]=(s*B-o*L-l*R)*k,r[10]=(h*S-g*x+E*T)*k,r[11]=(A*x-p*S-y*T)*k,r[12]=(d*I-c*F-f*R)*k,r[13]=(o*F-s*I+u*R)*k,r[14]=(g*_-h*w-b*T)*k,r[15]=(p*w-A*_+m*T)*k,r):null}return function(r,i,o){n(r,i),o&&t(r,r,o),e(r,r)}}(),SensorSample=function(){function n(t,e){t===void 0&&(t=new THREE__namespace.Vector3),e===void 0&&(e=0),this.sample=t,this.timestampS=e}return n.prototype.set=function(t,e){this.sample=t,this.timestampS=e},n.prototype.copy=function(t){this.set(t.sample,t.timestampS)},n}(),ComplementaryFilter=function(){function n(t,e){this.kFilter=t,this.isDebug=e,this.currentAccelMeasurement=new SensorSample,this.currentGyroMeasurement=new SensorSample,this.previousGyroMeasurement=new SensorSample,isIOS()?this.filterQ=new THREE__namespace.Quaternion(-1,0,0,1):this.filterQ=new THREE__namespace.Quaternion(1,0,0,1),this.previousFilterQ=new THREE__namespace.Quaternion,this.previousFilterQ.copy(this.filterQ),this.accelQ=new THREE__namespace.Quaternion,this.isOrientationInitialized=!1,this.estimatedGravity=new THREE__namespace.Vector3,this.measuredGravity=new THREE__namespace.Vector3,this.gyroIntegralQ=new THREE__namespace.Quaternion}return n.prototype.addAccelMeasurement=function(t,e){this.currentAccelMeasurement.set(t,e)},n.prototype.addGyroMeasurement=function(t,e){this.currentGyroMeasurement.set(t,e);var r=e-this.previousGyroMeasurement.timestampS;isTimestampDeltaValid(r)&&this.run_(),this.previousGyroMeasurement.copy(this.currentGyroMeasurement)},n.prototype.getOrientation=function(){return this.filterQ},n.prototype.run_=function(){if(!this.isOrientationInitialized){this.accelQ=this.accelToQuaternion_(this.currentAccelMeasurement.sample),this.previousFilterQ.copy(this.accelQ),this.isOrientationInitialized=!0;return}var t=this.currentGyroMeasurement.timestampS-this.previousGyroMeasurement.timestampS,e=this.gyroToQuaternionDelta_(this.currentGyroMeasurement.sample,t);this.gyroIntegralQ.multiply(e),this.filterQ.copy(this.previousFilterQ),this.filterQ.multiply(e);var r=new THREE__namespace.Quaternion;r.copy(this.filterQ),r.inverse(),this.estimatedGravity.set(0,0,-1),this.estimatedGravity.applyQuaternion(r),this.estimatedGravity.normalize(),this.measuredGravity.copy(this.currentAccelMeasurement.sample),this.measuredGravity.normalize();var i=new THREE__namespace.Quaternion;i.setFromUnitVectors(this.estimatedGravity,this.measuredGravity),i.inverse(),this.isDebug&&console.log("Delta: %d deg, G_est: (%s, %s, %s), G_meas: (%s, %s, %s)",RAD_TO_DEG*getQuaternionAngle(i),this.estimatedGravity.x.toFixed(1),this.estimatedGravity.y.toFixed(1),this.estimatedGravity.z.toFixed(1),this.measuredGravity.x.toFixed(1),this.measuredGravity.y.toFixed(1),this.measuredGravity.z.toFixed(1));var o=new THREE__namespace.Quaternion;o.copy(this.filterQ),o.multiply(i),this.filterQ.slerp(o,1-this.kFilter),this.previousFilterQ.copy(this.filterQ)},n.prototype.accelToQuaternion_=function(t){var e=new THREE__namespace.Vector3;e.copy(t),e.normalize();var r=new THREE__namespace.Quaternion;return r.setFromUnitVectors(new THREE__namespace.Vector3(0,0,-1),e),r.inverse(),r},n.prototype.gyroToQuaternionDelta_=function(t,e){var r=new THREE__namespace.Quaternion,i=new THREE__namespace.Vector3;return i.copy(t),i.normalize(),r.setFromAxisAngle(i,t.length()*e),r},n}(),PosePredictor=function(){function n(t,e){this.predictionTimeS=t,this.isDebug=e,this.previousQ=new THREE__namespace.Quaternion,this.previousTimestampS=null,this.deltaQ=new THREE__namespace.Quaternion,this.outQ=new THREE__namespace.Quaternion}return n.prototype.getPrediction=function(t,e,r){if(!this.previousTimestampS)return this.previousQ.copy(t),this.previousTimestampS=r,t;var i=new THREE__namespace.Vector3;i.copy(e),i.normalize();var o=e.length();if(o<DEG_TO_RAD*20)return this.isDebug&&console.log("Moving slowly, at %s deg/s: no prediction",(RAD_TO_DEG*o).toFixed(1)),this.outQ.copy(t),this.previousQ.copy(t),this.outQ;var s=o*this.predictionTimeS;return this.deltaQ.setFromAxisAngle(i,s),this.outQ.copy(this.previousQ),this.outQ.multiply(this.deltaQ),this.previousQ.copy(t),this.previousTimestampS=r,this.outQ},n}(),Distortion=function(){function n(t){this.coefficients=t}return n.prototype.distortInverse=function(t){for(var e=0,r=1,i=t-this.distort(e);Math.abs(r-e)>1e-4;){var o=t-this.distort(r),s=r-o*((r-e)/(o-i));e=r,r=s,i=o}return r},n.prototype.distort=function(t){for(var e=t*t,r=0,i=0;i<this.coefficients.length;i++)r=e*(r+this.coefficients[i]);return(r+1)*t},n}(),Pose=function(){function n(){this.angularAcceleration=null,this.angularVelocity=null,this.linearAcceleration=null,this.linearVelocity=null,this.orientation=null,this.position=null}return n}(),FieldOfView=function(){function n(){this.leftDegrees=0,this.rightDegrees=0,this.upDegrees=0,this.downDegrees=0}return n}(),Sensor=function(){function n(t,e,r,i){this.viewer={id:"CardboardV1",label:"Cardboard I/O 2014",fov:40,interLensDistance:.06,baselineLensDistance:.035,screenLensDistance:.042,distortionCoefficients:[.441,.156],inverseCoefficients:[-.4410035,.42756155,-.4804439,.5460139,-.58821183,.5733938,-.48303202,.33299083,-.17573841,.0651772,-.01488963,.001559834]},this.device={widthMeters:.11,heightMeters:.062,bevelMeters:.004},this.depthNear=.01,this.depthFar=1e4,this.yawOnly=r,this.accelerometer=new THREE__namespace.Vector3,this.gyroscope=new THREE__namespace.Vector3,this.filter=new ComplementaryFilter(t,i),this.posePredictor=new PosePredictor(e,i),this.isFirefoxAndroid=isFirefoxAndroid(),this.isIOS=isIOS();var o=getChromeVersion();this.isDeviceMotionInRadians=!this.isIOS&&o!==null&&o<66,this.isWithoutDeviceMotion=isChromeWithoutDeviceMotion()||isSafariWithoutDeviceMotion(),this.filterToWorldQ=new THREE__namespace.Quaternion,isIOS()?this.filterToWorldQ.setFromAxisAngle(new THREE__namespace.Vector3(1,0,0),Math.PI/2):this.filterToWorldQ.setFromAxisAngle(new THREE__namespace.Vector3(1,0,0),-Math.PI/2),this.inverseWorldToScreenQ=new THREE__namespace.Quaternion,this.worldToScreenQ=new THREE__namespace.Quaternion,this.originalPoseAdjustQ=new THREE__namespace.Quaternion;var s=typeof window!="undefined"?-window.orientation*Math.PI/180:0;this.originalPoseAdjustQ.setFromAxisAngle(new THREE__namespace.Vector3(0,0,1),s),this.setScreenTransform_(),isLandscapeMode()&&this.filterToWorldQ.multiply(this.inverseWorldToScreenQ),this.resetQ=new THREE__namespace.Quaternion,this.orientationOut_=new Float32Array(4),this.previousTimestampS=Date.now()}return n.prototype.getPosition=function(){return null},n.prototype.getOrientation=function(){var t;if(this.isWithoutDeviceMotion&&this._deviceOrientationQ){this.deviceOrientationFixQ=this.deviceOrientationFixQ||function(){var o=new THREE__namespace.Quaternion().setFromAxisAngle(new THREE__namespace.Vector3(0,0,-1),0),s=new THREE__namespace.Quaternion;return typeof window!="undefined"&&window.orientation===-90?s.setFromAxisAngle(new THREE__namespace.Vector3(0,1,0),Math.PI/-2):s.setFromAxisAngle(new THREE__namespace.Vector3(0,1,0),Math.PI/2),o.multiply(s)}(),this.deviceOrientationFilterToWorldQ=this.deviceOrientationFilterToWorldQ||function(){var o=new THREE__namespace.Quaternion;return o.setFromAxisAngle(new THREE__namespace.Vector3(1,0,0),-Math.PI/2),o}(),t=this._deviceOrientationQ;var e=new THREE__namespace.Quaternion;return e.copy(t),e.multiply(this.deviceOrientationFilterToWorldQ),e.multiply(this.resetQ),e.multiply(this.worldToScreenQ),e.multiplyQuaternions(this.deviceOrientationFixQ,e),this.yawOnly&&(e.x=0,e.z=0,e.normalize()),this.orientationOut_[0]=e.x,this.orientationOut_[1]=e.y,this.orientationOut_[2]=e.z,this.orientationOut_[3]=e.w,this.orientationOut_}else{var r=this.filter.getOrientation();t=this.posePredictor.getPrediction(r,this.gyroscope,this.previousTimestampS)}var i=new THREE__namespace.Quaternion;return i.copy(this.filterToWorldQ),i.multiply(this.resetQ),i.multiply(t),i.multiply(this.worldToScreenQ),this.yawOnly&&(i.x=0,i.z=0,i.normalize()),this.orientationOut_[0]=i.x,this.orientationOut_[1]=i.y,this.orientationOut_[2]=i.z,this.orientationOut_[3]=i.w,this.orientationOut_},n.prototype.getPose=function(){var t=new Pose;return t.orientation=this.getOrientation(),t},n.prototype.resetPose=function(){this.resetQ.copy(this.filter.getOrientation()),this.resetQ.x=0,this.resetQ.y=0,this.resetQ.z*=-1,this.resetQ.normalize(),isLandscapeMode()&&this.resetQ.multiply(this.inverseWorldToScreenQ),this.resetQ.multiply(this.originalPoseAdjustQ)},n.prototype.getFrameData=function(t){var e=this.getOrientation(),r=this.getEyeOffset(),i=this.getEyeProjectionMatrix();return t.pose.angularAcceleration=null,t.pose.angularVelocity=null,t.pose.linearAcceleration=null,t.pose.linearVelocity=null,t.pose.orientation=e,t.pose.position=null,t.timestamp=this.previousTimestampS,t.leftProjectionMatrix.set(i.left),t.rightProjectionMatrix.set(i.right),updateEyeViewMatrices(t.leftViewMatrix,e,r.left),updateEyeViewMatrices(t.rightViewMatrix,e,r.right),t},n.prototype.start=function(){if(typeof window=="undefined")return function(){};var t=this.onDeviceMotion_.bind(this),e=this.onOrientationChange_.bind(this),r=this.onMessage_.bind(this),i=this.onDeviceOrientation_.bind(this);return isIOS()&&isInsideCrossOriginIFrame()&&window.addEventListener("message",r),window.addEventListener("orientationchange",e),this.isWithoutDeviceMotion?window.addEventListener("deviceorientation",i):window.addEventListener("devicemotion",t),function(){window.removeEventListener("devicemotion",t),window.removeEventListener("deviceorientation",e),window.removeEventListener("orientationchange",e),window.removeEventListener("message",r)}},n.prototype.getEyeOffset=function(){return{left:[-this.viewer.interLensDistance*.5,0,0],right:[this.viewer.interLensDistance*.5,0,0]}},n.prototype.getEyeProjectionMatrix=function(){var t=this.getEyeFieldOfView(),e=this.depthNear,r=this.depthFar,i={left:[],right:[]};{var o=t.left.upDegrees*DEG_TO_RAD,s=t.left.downDegrees*DEG_TO_RAD,u=t.left.leftDegrees*DEG_TO_RAD,l=t.left.rightDegrees*DEG_TO_RAD,c=2/(u+l),d=2/(o+s);i.left[0]=c,i.left[1]=0,i.left[2]=0,i.left[3]=0,i.left[4]=0,i.left[5]=d,i.left[6]=0,i.left[7]=0,i.left[8]=-((u-l)*c*.5),i.left[9]=(o-s)*d*.5,i.left[10]=r/(e-r),i.left[11]=-1,i.left[12]=0,i.left[13]=0,i.left[14]=r*e/(e-r),i.left[15]=0}{var o=t.right.upDegrees*DEG_TO_RAD,s=t.right.downDegrees*DEG_TO_RAD,u=t.right.leftDegrees*DEG_TO_RAD,l=t.right.rightDegrees*DEG_TO_RAD,c=2/(u+l),d=2/(o+s);i.right[0]=c,i.right[1]=0,i.right[2]=0,i.right[3]=0,i.right[4]=0,i.right[5]=d,i.right[6]=0,i.right[7]=0,i.right[8]=-((u-l)*c*.5),i.right[9]=(o-s)*d*.5,i.right[10]=r/(e-r),i.right[11]=-1,i.right[12]=0,i.right[13]=0,i.right[14]=r*e/(e-r),i.right[15]=0}return i},n.prototype.getEyeFieldOfView=function(){var t=this.viewer,e=this.device,r=new Distortion(t.distortionCoefficients),i=t.screenLensDistance,o=(e.widthMeters-t.interLensDistance)/2,s=t.interLensDistance/2,u=t.baselineLensDistance-e.bevelMeters,l=e.heightMeters-u,c=RAD_TO_DEG*Math.atan(r.distort(o/i)),d=RAD_TO_DEG*Math.atan(r.distort(s/i)),f=RAD_TO_DEG*Math.atan(r.distort(u/i)),v=RAD_TO_DEG*Math.atan(r.distort(l/i)),p=new FieldOfView,A=new FieldOfView;return p.leftDegrees=Math.min(c,t.fov),p.rightDegrees=Math.min(d,t.fov),p.downDegrees=Math.min(f,t.fov),p.upDegrees=Math.min(v,t.fov),A.leftDegrees=p.rightDegrees,A.rightDegrees=p.leftDegrees,A.upDegrees=p.upDegrees,A.downDegrees=p.downDegrees,{left:p,right:A}},n.prototype.onDeviceOrientation_=function(t){this._deviceOrientationQ=this._deviceOrientationQ||new THREE__namespace.Quaternion;var e=t.alpha,r=t.beta,i=t.gamma;e=(e||0)*Math.PI/180,r=(r||0)*Math.PI/180,i=(i||0)*Math.PI/180,this._deviceOrientationQ.setFromEuler(new THREE__namespace.Euler(e,r,-i,"YXZ"))},n.prototype.onDeviceMotion_=function(t){this.updateDeviceMotion_(t)},n.prototype.updateDeviceMotion_=function(t){var e=t.accelerationIncludingGravity,r=t.rotationRate,i=t.timeStamp/1e3,o=i-this.previousTimestampS;if(o<0){warnOnce("fusion-pose-sensor:invalid:non-monotonic","Invalid timestamps detected: non-monotonic timestamp from devicemotion"),this.previousTimestampS=i;return}else if(o<=MIN_TIMESTEP||o>MAX_TIMESTEP){warnOnce("fusion-pose-sensor:invalid:outside-threshold","Invalid timestamps detected: Timestamp from devicemotion outside expected range."),this.previousTimestampS=i;return}e&&(this.accelerometer.set(-e.x,-e.y,-e.z),r&&(isR7()?this.gyroscope.set(-r.beta,r.alpha,r.gamma):this.gyroscope.set(r.alpha,r.beta,r.gamma),this.isDeviceMotionInRadians||this.gyroscope.multiplyScalar(Math.PI/180),this.filter.addGyroMeasurement(this.gyroscope,i)),this.filter.addAccelMeasurement(this.accelerometer,i)),this.previousTimestampS=i},n.prototype.onOrientationChange_=function(){this.setScreenTransform_()},n.prototype.onMessage_=function(t){var e=t.data;if(!(!e||!e.type)){var r=e.type.toLowerCase();r==="devicemotion"&&this.updateDeviceMotion_(e.deviceMotionEvent)}},n.prototype.setScreenTransform_=function(){this.worldToScreenQ.set(0,0,0,1);var t=typeof window!="undefined"?window.orientation:0;switch(t){case 0:break;case 90:this.worldToScreenQ.setFromAxisAngle(new THREE__namespace.Vector3(0,0,1),-Math.PI/2);break;case-90:this.worldToScreenQ.setFromAxisAngle(new THREE__namespace.Vector3(0,0,1),Math.PI/2);break}this.inverseWorldToScreenQ.copy(this.worldToScreenQ),this.inverseWorldToScreenQ.inverse()},n}(),defaultLeftBounds=[0,0,.5,1],defaultRightBounds=[.5,0,.5,1],Cardboard=function(){function n(t){var e=this;this.renderer=t,this.sensor=new Sensor(.98,.04,!1,!1),this.scale=1,this.cameraL=new THREE__namespace.PerspectiveCamera,this.cameraR=new THREE__namespace.PerspectiveCamera;var r=this.sensor.start();this.dispose=function(){var i=e.renderer.getSize(new THREE__namespace.Vector2);e.renderer.setScissor(0,0,i.width,i.height),e.renderer.setViewport(0,0,i.width,i.height),e.renderer.setScissorTest(!1),r()}}return n.prototype.render=function(t,e){var r=this.renderer.getSize(new THREE__namespace.Vector2);if(r.width>r.height){var i=t.autoUpdate;i&&(t.updateMatrixWorld(),t.autoUpdate=!1);var o={x:Math.round(r.width*defaultLeftBounds[0]),y:Math.round(r.height*defaultLeftBounds[1]),width:Math.round(r.width*defaultLeftBounds[2]),height:Math.round(r.height*defaultLeftBounds[3])},s={x:Math.round(r.width*defaultRightBounds[0]),y:Math.round(r.height*defaultRightBounds[1]),width:Math.round(r.width*defaultRightBounds[2]),height:Math.round(r.height*defaultRightBounds[3])};this.renderer.setScissorTest(!0),this.renderer.autoClear&&this.renderer.clear(),e.parent===null&&e.updateMatrixWorld(),e.matrixWorld.decompose(this.cameraL.position,this.cameraL.quaternion,this.cameraL.scale),e.matrixWorld.decompose(this.cameraR.position,this.cameraR.quaternion,this.cameraR.scale);var u=this.sensor.getEyeOffset();this.cameraL.translateOnAxis(new THREE__namespace.Vector3().fromArray(u.left),this.scale),this.cameraR.translateOnAxis(new THREE__namespace.Vector3().fromArray(u.right),this.scale);var l=this.sensor.getEyeProjectionMatrix();this.cameraL.projectionMatrix.elements=l.left.slice(),this.cameraR.projectionMatrix.elements=l.right.slice(),this.renderer.setViewport(o.x,o.y,o.width,o.height),this.renderer.setScissor(o.x,o.y,o.width,o.height),this.renderer.render(t,this.cameraL),this.renderer.setViewport(s.x,s.y,s.width,s.height),this.renderer.setScissor(s.x,s.y,s.width,s.height),this.renderer.render(t,this.cameraR),this.renderer.setViewport(0,0,r.width,r.height),this.renderer.setScissor(0,0,r.width,r.height),this.renderer.setScissorTest(!1),i&&(t.autoUpdate=!0)}else this.renderer.render(t,e)},n.prototype.dispose=function(){},n}();const cardboard="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAADqCAMAAAAvZYhaAAAC/VBMVEUAAAD///99fX37+/v5+fn29vbx8fHv7+/Nzc3o6Ojq6urh4eHU1NTR0dGDg4Pl5eWSkpLHx8fj4+Pe3t7X19fAwMDZ2dnCwsKrq6uioqLb29uNjY2enp67u7t5eXmAgIC2traWlpa5ubnKysqmpqZycnKHh4eurq6ysrKKioqDg4Pd3d12dnb9/f1vb2/s7OxlZWXz8/OoqKiZmZlpaWmbm5teXl7W1tbJycnExMRiYmJsbGywsLCPj49aWlq9vb1UVFRYWFhra2t+fn7t7e1RUVFOTk6Dg4OAgICCgoKKioqEhISIiIhqamqCgoKIiIiQkJCIiIiWlpawsLBmZmaAgICenp6Li4uBgYGTk5OMjIyVlZWFhYWCgoKvr6+Ojo59fX2SkpKvr6+Ojo6QkJCurq6BgYGxsbF8fHx4eHitra2enp6srKyJiYmurq54eHj5+fl+fn57e3v////5+fnS0tLAwMCVlZWwsLCurq5QUFCtra2EhISUlJSwsLCUlJSUlJSlpaWVlZW3t7diYmLAwMCFhYV3d3f///+tra3///9XV1eampqnp6d8fHz///////9VVVVlZWVtbW3+/v5SUlKcnJytra28vLzGxsbR0dHX19doaGiWlpafn5/Hx8ezs7Nzc3Nubm7AwMCIiIjj4+NTU1P29vZbW1vl5eVkZGTMzMxYWFjq6upfX1/k5OT////4+PjV1dWkpKRoaGj4+Pizs7Pm5ubAwMCfn5+vr6+urq4wMDCxsbG2tra5ubliYmIuLi6zs7NHR0empqY0NDRCQkKqqqo5OTmoqKg7OztfX19dXV1oaGikpKRkZGStra0hISE/Pz89PT0pKSlmZmZJSUlERERbW1s2NjZVVVUmJia7u7uEhIRXV1dZWVlLS0tOTk6srKxqamojIyNTU1MrKyuAgICCgoJRUVFra2ttbW13d3dxcXFvb299fX1zc3N2dnZ5eXl8fHyHh4eSkpKenp6Ojo6VlZWMjIyYmJihoaGcnJyJiYmamprZ2YdEAAAAunRSTlMAs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7P9s7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Oz+QSzswb9DiH3FyI57Jn1ajgu7uHYmIgr8OHHwqVOQybv6OZuUvTt3dHPrIeFSNVgLCAWD9/UqKebiH1iXVTczcvKvambhnBuY/vGrKqjlHlzVDj37s/Fw7+tpJGAeN7VzcWTgGJNQ8O9u7iko5aVjvbNsa+so1pd3mNGAAAqAElEQVR42uzZzWvTYBwH8DxNmvRlfVNr17Wl05a9dISyiugO4qVQ2g1pVyx2Q7QKCoIivgxF1HnTXbbDDnNDJ8iQHcQX8O3We1t6GnjJyYPSuTmdf4C/ZE260U5rl6bJ2g8Pu2zP5cvz++ZJhilOcOxcfPHq/NuFhVcftK8WXizeCGItFWKKX5x/23Zk3/6OPr1+j0mr1fkpkuxXv5luBbbZWPzevEWjMRja2iCrvXs3stJRFGRFEDhOT1xv5QWCkYvPPtosFg+XFZyrvSYdRUJEBA4Igg2LRuBhk+cVOndv3uWyWm0DlqMajWafXkcSNNrexA2sSQ1dvPK+86DruNUGWRn6dGoa/dvk9BjWbMLxZ7e7e3ogK5fVZtBTOKrew6Y6Xufu3Qm0d3f3dEJWGj1Fo/81dbU52isUf2T3etvZrHoG9vtxVKOJm9guF049ddrt3gBkdVCzh0DlWtO4YejT00OHnU44VwHXPgqJ4PV1bFeKDD8xH4Cs7PaAtY9AYpncfeUFSR0zc1l5B/Q4EhW9q+KCpHodXFYBjxZxWnFtk9SZrl4uK6/Hj+pmWvlxDQ2fMRq7eh0OSIpCW7Ti2iJ8/4zK7WazcloqJtUaxqLweFSl4rI6ZNOhylpxsUKpqFsF3EazS4ukNLmIKcuJpFHF6erUI8lNKeiaGrl7WcUxtu+nUUO8VsZLEDz8VBy33YCjxnko+1dsrtI5hz1q1GATcm76YCrpVnHMVgrJgWwfjCN3u1Sc3k4TkgtZNv3QcLHS3Wyly4ncqis8/qSYlFNDINl5IZ9ZDKaifFHZSCRLkzKZxZEkX1QHtUi+ZDCLQlEZ2/uQzDX2c0T4vjzuntWaatiVPiQU1YEBoahoRMNCNRBzv9zuqCNJo1BUdGU4jcOiqyDhfgmLvryoOnClkfRwhcehqDh2A4ErkGTNBa9+paLClUqSK2rkrnCjMhFK9mYMqy+4Jwhf8wjlIWcvjcYGGYbxxUZvmd6V93w9XmicHpJQmD0zifM+ZovYzFWsjMifiB0urVpRyMeJmI+pyBnCxBcaF8avQ60kL58nYkyJ78f3leUvXwqrP9e/MqzBCCaykWRp/NTKQT0fHfzN8L79WlteSm9S+MUdt2t16XR4+vVXTd2vhtVfRrL9cw9ijGB9rZDOgPRm+XxunQGnRD9Ubm8bqRgvZ0Z9woFaX81lNqQzW7MCKwy4IE5T8YfKbNWRSmG6FCtN3upSNpspKosKLBXY6jorxuPPyF+pSKWYezDIFP1YyWXYpLJlSeWFqNi0fFD7O235VFTFOWbVUjUiKRIWBaTZP5vgk/r2vZDOgkylAczD4tMCy5DW6R2V+vBlvqkohZhN8DX1dY09UkJW5b0uJMXJ/dzRIEaKpe5wmShlmEv4hOHLf84WlU8gEKLi5Zagtk5itTkR5f/trvNvj/JTsKr4Xf3366GnhKSy2WJWmZJKpypfDCoHVmHriZpu6hvzZ+zu0HH8kBj8+KvKfyfN/j/UnclvG1UcxxGnhGxKaVIIioBEosi9gVAaCSkHkFhFgAOrBEIgDixCnOAAAgmVG1cEZ7jxHzi2YzvYcWyP3cRNY6e1J2sdJ7bjbLXTLOL73rzFz88TGqip+cyLZ+kMJB++v988jwN0fSJMFb1JIFxxXXq3kq4wCIjWw/+gVT3G6+++/wOtP7wmMuUVooASqtmNQim/6djd36tUyuX9o930WnZrXagCJdwQnz3lc+JvrVb16MXW+/4P/PaRg3X0AstUUm1WRil7VIn5xzkeD74EU4fl3c0CVC0bG/iLvHi6rs7vf60ncR9E4kXbVvcbf724+a2VZpMUdCuhysgfHS5xR1KVR+dyZQdvrNdOdT9851X+IWnr/wDR0h15I2kmuSwK8eQetwG+dGP+4200rW9Oq+r8/a3NT9cPH/K3x+tRSJKx8haObvqvXx8fx8CLrokOLBp/7q69daq5An5BtrWL0trVitHFkcea4M9/FY2qGBGhQreKFNI3x68TdFXSGIaO3+P3e6a+vK1Uvc+ev7R1NT1i7pktxU3AVEU2HIee64JxDCy1lrgqrBVV3Ne7r/ztZMFq6w+NtHWdUeg604Vhu62f2/Dr277m8wQ0KqkqvnkMUSo2uWKFWKvKTxaMy1+c7Oq7Tuu9ctuZZucX/mnD5kbUpCSBkT6AG00VXNkJ0/BzYeCxk2L1Ki3AnjNtZzDaFGqPnXROw6//46vnHWmHNaMyhari/iS86EAThgYNVd0ZBM0V5U37mdXnZF51/kJbc9Mr5wmzTJSZjG7tuXVTateyK0U9WXR1oq0PHiaz9fa25kY0qp31ZIaHKn8LEYEOLDpSVI0w2dv5SvoS/F5/wkBcPYH/Is791WC3DcNuXz+3oddXzxMyXFUBmQJWZ1Kxb1oeeVPUVPF82dt6Ea4e7r+/iRnCPIG6Wit5M1zV+v6YNMDE6NiUIPmqh99aGPrs9OXH4GoY39KF+y9o4KB+XD8HNOz6vs9ek40qg4Vg7E5JUdZig83NUE7h9ZuhYLJ2vvUs6e0DfVVc6LtAwErsY9gepzTs+l8/WuPzhCQyRWPlzR6M12Bri/4Rhh6setGCKMXWz8/VzK/g6nxfczLE737ZQiQDiKpoibZ0NVeQYhcs20Kki4rfGsQY0G+JL6BhPdnX19vXS8BKbst9sVaQ5zTm+h9G0w5HGsvWbIZhzh45x+tio4pmyq4SdagqDI7br3zq+jYaVktv8/HHG8+z8ltPilBt36Sh0pNFZdzmNMvjnIzdPK5Ubh0fHsRik6oq4Fei9XP1nRBF+EDvWYXes70YyrZyTDt+56/HM2KaKtz95rkqY99pdWUdmyJURTljt/Y3C7ORqMB6ompsrZUP3doMntMpZX2L5zHtZ5uLDv5AYdswM4zk9oEw5dFUKcL0jjVWLpq5mXDIlUpM5PhDeWEMzkwzshlTmrxUNiUeMj/XiWCdBUNnhwTYwbDbVtaUO3s9OhXBkS1G55Eqind3TE636+pi9aZNGpbKxZxrenpl5Uo4HE75XC5XYC4TEb4iUpdZONBuh8DtFj3+A9Kx2sFQ+xAFGwLsYNhuC+7g9QiV1dS3Z2GKsVHxezgyWZov7Z4Y21kNTFNWgA+2Ai5CYAKf9AhhEalrR86zJO7Jl5msV3ErbG8aLrFnL1aosJD624kJUWypmyzZ6qm0qWwGgWKsEK4FwuGQJcsVMr0WoiKT1FaexkpNlt/dyaoQ84aB9uag47OXECmwbWTmCRkQP3J6JGp71xsXS9ZSOpqaBqqra1dC4USKuAKpjBdIXyRcNFtIFhC+3BjuGHsHTaqwg9De0Y5B14BuA2Xf7pw7cv2ljzBTgKxsKQJPzJWxJ+pP6lKipfs63JiBH10VcKEQ4YqSMr0CIouHa1/t7sgVhvUW8XU8Re5oAj57ic+pTOqJpqp4rImCKm5Kr0Ow5w1M18JcXQGkxwcYoSj9CF+my7KVPKhtWRjv8pb1YMfd5hKefZJUkTkVsGSZedGqVF+gfo937mZuMD+aKyaLdC3mKhWYicOVECYaVxx2PGq03JdfILLQsh7p6GjpaMGgawX1mN05//L6H0bp3S+dRagY6OrZSevGpCCCpatypxeuTduoYrkCrnAiHOC2Urk4gCvFlmkeacGy6vBlTN+7tR+QLjp25/2b61s+hSaSqq34vMBSRVuHrqtez/KXvSGIsXXFZd24weswRUC0KN64Yis6SaIlVRE+svp7Z8vdA/VnzRQ2kqurMlVrl627Ud0iBDVPPPeMYDi1cmKs4MqSFbLqMEUJRfHLRlXhYm3edCjJosKW8Hs13+PznJa7xXujaTpVwPSzSlXUAVUED1noi16JUtgtIxGGAKUEtdbOVIFAOBGCKiZrdRayLF1xflckn9M6FVtu0rbwbxN8jF/Uxrc92DKIYa0BVicfA+r26a8f/PQlqwC3IsSU7FVjXBXXpCNq8KAQ9LlCiitNFZCufIFEIsxzFQpdhSyqS9qihVjmomSLf4w+nnlq8C7QjfojqcpumKsyVfPm9pRf4lGalpYsZ3bB5fP5UgjWFRtXTJV05XNBFhEFVSA4q9mihVjA31h44k2LzhwGL14cvDhIwQaGsmaIff3c019/CQ+KHaz+qmNViklR9Lu1D5anEgn4XD7MMOHKZ+NKVQWxVFYCrhhhwzCYL2JLFuJYdRVSZQf33PMjHjngB+m+2E3BBoayBnxbX1NOe/17L1lPP0uov2pXxZt+BXE71J1NbgXhicpCEQbsVNWXNROStuIGELbkLbGi1iDwv0hldf+nkFYFWdmiSU0J4hV62wF/27PKpgv4YApFWL9haaq4K9fMTDAk8RrSFtNFu9amlMV9fUxkne/+7xjGVJ2kKrucWaWIiVXayfKu2tJ9TRUSSBRVhVdShDdOaFcM6coVDEpZ4VDUkLZEISJa62qwAKalnUTWMKV7uJuCDQxlDcS2ft5tX49WRVOFVqWqyuSnSNAxavDU+tozXdQUf4GrgH2srimqAFpclSxcnDQseLJ414q6hS0erd+JrMeH8X/UODeMcQ7IbbwAbVs/9zavHxh1ULZYq5IlaBy6qStVkx6tpe0gc4SBxSrCldtrV8AFAnNzc0wVkWUajNpoxVgFimjhcenDkHXuv+C9Uev9XzGphAqYu043hf9TlCgzh0NvgBcfXuiPXq8IV6avKa5uSFeE1NzcBI8VMJeXZbRmq6J1LBoW84UHD/fiffS5xvMTujppVeu8VUlbxZjbggdeLUEmy7+f8wFY4g2LBStVq2paUwVXMlihiYk5pgokMsvVtiCLt/g9tWWBnyFLJKvnXI8CDgiwg6GstXPsr/8UXR1kDThSSzATKbsFfvqlNS1weTtIJbHyoyvW3a+oroDqSlUVCIQhK8xVJSALCFmA1+GuejMEB1RWT2NhqnbisKS6ymQKU+5q1Dr0sNeYEWB5wop90X1tiqXfBVVXYObq1SBTJWQpXYvJyrJYyWjFGi5rBKpIr8p7V3PClZgv7ON7cApRdBG3RA+rxMOIiyCDhQFEsPRYAZtYgbmFhSCPFZivKwu2xERL6Joisp7uGRnpGenBoGsNebz+OSP214+QaRVk5SM57mpeulqOOYFbhaqSuioZmiQ2A1WGOndHt1Jc6d3K4ipkcVdqstRZ/DYVVc0SldU/Iugf6SdgpW4DrPTj9Jjd9f3szXIpmsvxUMkKNNc0VVrHKi8SR0wTT5XQhh9Zzt0VVbauUqGFxcUZ4WpmBrJAtay41eHzRJXa4oms8/2NgfWqUjIHVxzhKnqLqHLSFylLMVZegBjpCJvKfgrBkqki6K5UVZCVWFxcJKY0WUDp8HnpqfGyfnrGAdYKJlelPF7IrP/ppKI0xORhfwFCmCTmSN1nHcv+LsiQrvBoZm5x8SoTBVVclt60aLKsRZU1MDDQP9CPQdcCdV85DsQ1QL9+YDRNVBUzMCVKcFW62hyzTPFcqdECe0QVF0M3a/fJ5zQiVnbtClTFCiws5ia4KhA8QRa+Dz1ZDwzccf6i7Wx60zjCON5PEPVoq5WcRFGd+ugoN/fUSy9VT1UPTXuu1EPVr5B7T/02wAG0ZrFZMAjMshCVBRziXTCOncR2Xtqq/3nZfXZmdrdJtf15CsYiCvzyf56dmd3iH3msLv2kqvGCTnK9KcVAmNbfMf4e8xSRoor5GO29JlTlzq5UV028Ipu5EtiZyXIuKVP/r6zfWLd6Xg0ByQLUrqQo9mXqetep14D0wi3pj6m9K0dBmlw909uV2Ege4gUlVNm2nyWL9aw0Wbfv3r199zbGXUDfp9wDeh491v78Y97XF0qzwojOMw+OSgQKUWtZjXUfnVtEiVbNxuO6WOlAFLnKjFW86T5bLKZwJbFJljF3OIMqNihgJSGrWH5m3aoNU2Zj5639sKzI0nS9rD05aMJWnCQxKtpjUYVP02IFjKOgPD/Rx2sZkqocWa0zocpMVqH8FmAV2AoBqUq4Om+UFNQavOohLMzWQSV70hBPsqAqyxWeRLKEKWAh4mRKkaVPtDLLUHD/9n2M24T2c/qe7s3nRa7SGju46JZLZUOXFHbYEoUlL9GrKY7Ux/xYCFm5rurkittqLsaTKalieFClL6VlsjRKvAx37xcJjoNBNX2+AC5MVRiSPyrRKeQabFWAsn9Fj8EIT8ieiFY4SgWC5hCvwOaNPcbPkZWWrHtFuvpmJ4CrDFVwBUoYiitRi0dh4nQ7XByY+1fyMQOV+kw7h0qySBXVIGiGvh+qroZZyXLMZCmy9u7vcfANBr+X0GP6efpzfsZc9DyUpqgCJes5c0XZSs61dmqRKsCjpe9fyccCrO6eGCcGZQkKDFVN2/d9y04wHJIshiJLC1ZJytrb3t7b3vtg8Icw6J6BCdbzlKOgYNngwUrT1ZioV+ixHj8y9q8SJpC8FFdKCequmgvf8xVVubIUU/yGy9ouir3vMGtwVFOTCL+zXxaUjGRd1bUp03EFNvT9q0pEnbWskdKujlNjBejkxNBrtdzYFFylyBpklWFJytrcLoyvsHI25wsc33kHT13Zs9Sp1sUTc+9O1GEtMRLUR81+XTw5P1cHUhbfbve8ieLKlAXSZfHGymVtbCtsbG9g0L3AfGz+DMEKfNnYSRTwJ773ttyFKoZWhQ3e2RVXgO3sqftXMlR1puKg368oqgD5NHIF+pbXclxhKlZlWSmyqjkNHrKKAh1rrbgax678V1DVFclS29b1QeqqhS1nlKkoIBXNvl0zF86mKnLV8x1nbAukKbh6H1liBQuKlLX9eCc4pQv4FFX+ZVfUoJGtmxq19mRd8aZF+1cUKw7WdzWtBOk5HM1Vf4rFsStFkSur9T6yMNh/hSbr252dM2VuRa46h10AX1HTinj+xFBFsmj/KqIuwVTpmXJunlzRslkg9pDtllMdQ5USq3xZpCqRrE83dnc3djc4+AaD7kH69wT9mdOdYBD3dYnP8f7sCihYGGBtlqA0wGdaVIEUKw7e8zN1O4ZUyRIckSowgQDLpmYVkS+LhGEIWbvF8BjtfUKqkrL+mHNT+Ooq04e2VoLJsEhZZqwAzsGTLHPdzKBYgV4IAaGq6v2TVRIjlnVv9x5Gjgl6jvaYvkcVXgpVlCvBct6VtqJgiduqkiutXeNd1pOx4pAsqyYTyEjaVEtQbLdbeP9eXIGEazm5sshXXIb3igHHQlmFZIrjXXNXZYzIF6/DTnasuKxePVYFyBR84B3XUtqV2q+aUa7sFvZdrKEkocp1nZx5FonCbbGyNoOdoJUswUiVFyBYXJc6e1iqsyv9hHu/J2XVKVjSBpdVORbdioJl5Eqe7uotOp3BLBJFuMD51+VOKRL2n2Vt3tvEUH6EiUMwmcSpIledxnwOVaIQqRQv8nIFcMCrU2OnVAlZrjtiz8xuVwhVJGsKV75ZgS6YVvNk0RwrTtbDzQ8GogweYeJAswVy5b2BK6ji0Gzr1VNylXrdmU2yDFcHtus2a0oJGjPROFduZzCoWqqpmGr+Fk0JQ/giWUXwbbBzThUo8ECbu5pryXp7DFV5ripox5DFRgx1JHs6tckVSHfVA1Zn0B5MaWYF3FjXtJMnq0TJKlgWtkjbhilwI13FTYuxX08/DJKrOt4bTOnNSuro4cQyyapndHaosodVaAgVVZIpY5CzU0ozB5L1oBhZ2HHoKK6EreW8MQdQlZg/dMOnubkCIws9XK9AmmvikgW2GMpy1U+6OlkYzQqqhCxypcsSoZKmSNanRbDJtrLiXuVhCP5qxLLk/AGyXuS2q/hyxmSqaFrOmYZhP32PoZl0ZTvtk5NxiirhajY7yT4VBleA6yJZdwqR9SAIdjytBoFzCFGNuAzn3NWfx6kLHEVW33JtowRJlhWGrrp1BVRXYIj+vfRJFfUqwSxUZAE6yQpV0XGwcFmPg+DUFyQ/sveMqeLQEXHeI1dmu5IGcLzrGc2KsLETNKKjIKkiV7ZtdZbLZUtLFUxJUMqTrAk8ZJGqFFkPP32I8Z9l4XShVoEtjLeNhm6rfGLmSnMFrOm0KVxpoZJOwvHYUkrQdDVtL5erhCuJNDWdAT9TVkbPuvOwCLBL+tIHpIoFq81UUYfnvM09CkpXB3g/IzVWZIpJGWKtcJCUSapkv1qcLFcrzyhAyhXIWhqKnhVDsj5+8GFaHjx8gKF//10QvFRccU4bgFciNflQqCJZhivQw9shVXqsQD/0/YXZregw6EDVapKnCnSMCTzJolApsooAyXohRZErVOG8S1XIm/zrfzkMCqzZbGi4IlUwMsS/y1SLFR0GwxOoWoYZfV26ov5uXlN6SaqKl/UoCM6oswucKg8WG7Jn4Wb2Pq5GeCN9vQKpK3ErM/xFbl1tV1KVW12BgZsbq4z+LibwkAVSZN0pgkfsSj9SJbiAK64qttW9TlFlbqD3wzA8SDdFK+QJ/oaZ3q6gyvJWDD/jEEiEmS0LZaiKKmNA1lZxsmRjp9/e8gqqulKXtLXObVfSFZtGTXVXTXIltNg+/gq/py1w3NYKnHdm2jKQKlCCf492xvydl6FGGcnaKkjWt0FwQaakrOsGo5s4JM6beq5SN9DDxcJWelWTXAlTgNnCW5tY9GNrMmCmzpdjbXvBzBVceeSKggXgytNllVGGW1tbX3xcBNhUXsMUpQoMeKgYcSG+1qYMRqyYIj7lRBUarihV0ta4WsVmVdVf4N0vJk57xThf+i65Sq3BcBaCQWzK/L8zLzVT2AkXsu4U8IVkrePGLmWtSRRuOOdmripaCYLZYjxLqcB+BF3oOHUGoA3YDJSnaqCmapqeKuC1iYGy1mkZZVgWsm4VlCzIIleC5w2gHhCHWTUY5wr0sTttG65IlnJVaNhqA6wBIet8NfBmlkCqipuV4Wqiu1I+rOCFago3hx9t3br1ScGy6NcnvWkA0gX2kwvn9HYF3MlkYajSChAjwgonLQfv1PFDV18HZsQKjAe6q2SwvD+MYB19dKtAWeeaq+p1QpVo8jfHuisJ5Qp2sCtm6Y29T644NqGcj3+vZgX8DFcyWP6NMmtgXHNZXxTBT7jkT/t1i51GgjnP1lq7kkNr7YIptsWapCq9/kiVJHsfJkXVuKqp0j9fxb+OXTFZ7Ot7LiuFL2AQNwr5z2HJckgWY9VQmMNXKGXJvavU/fM+NsXcgxxZdhI9VUBVhaHLWjgkKuOTezrJboVb8IjLKoSfgmBFseK80GRhjPTODvQz7ljGTJLLQF1VzzBFqvKPgYJFa8AtER3jM6H8QG3vZfBDobLOhSoMwU5Dt3VE7SrzOlmbLfnSZ6HATutWZqqymxVUqXSUz8+SRei/k6IAbkC3/AuT9XkhsnByZ8XrD0NyYwTrylg3V8zLZFstv5k9tSJRdmZbp1QRslc5eqRErvRP/XvBTQlfksbXXJbGJ7CHG+NxPl/KMqwSfzc05qdQlZcr2Bni5VoyVn1KlV6Bw+liylWRK5dildHYJ06y8MSd+Zl/kNXaj0qQovX6I8j67PMCkLKqBF7B/uGhZuuEYpVx7WfPbzl+/mzBcs5ujso4nVC+Wrt5qlRXC6+ajBRhfvamfxNNGOQd6P4KWbBVmKwqgRfQNoLVmNQEGbGCnxCbYMMcV8OTqzK2MCP21yQrt7GPW51UqqSKXJ1Sa2eI0+i/C1kJPoc53KSS/xwui2KFsTxs6MlyyVVdm10JPxbCGZIqo1d1jqSpEh/gapYWK0LWn2mJ00n5BFz/MpqJ8iF9/UPdufy4FMVx/MYf4E9ghURELMQCEa/Em3gl4hWPeEYICfGKJREiQbARwULEwoYVG4nGdWk7DUHTpEbbSKudajvtdDpjiO9533POvUXNovOZ03tvaybRT76/X29Oz22HFzvOZLgaFfRk9YAqVBm+XofWIPODhVQvou9NV6pZ9Yl3XCBKbOKfIatdqlJJ4UShdNmfrVyBKAypiq0rQxU655GsUZaFVFH6XatnSVd2CQK68hNFGNrYS/rVwriRjRfVp/f0XoUpr0BMVfJTu4fUrAxTRcvQewhZmyYjW+P/CH4Jo92xkKW+nLnieUawmsKVWr6gvQmRwd9mQpoVSGWpKYrbHPn14znLl/tCr0BFKvn2z6JAVLarYlNkSgFXiTUOODt+FJCyVKzwwpx2abQwBC0RKztXdJoTf55sc2L16xkn0UrX6/VKJf+Lta5E7ItExeorXlgZ7TyBqKzAF0MsUloRYiSy1x2wdzRl+VX1fBjyzKbVCHcFW5/IH78SqmxXVeGqWahX4IrQ4k2sZKr6+jmp5tZszK+wIPTGBhNSk4AvsV7rEHaOoqzvSIbv+9EHPbMOK1IVMFcnvCITxF/0SSv/+XrG5a7ieRIrThOuSLz6NFOpXu2dEwzbEtkwkkRWD2JKMHQxV+4xh7ByPJhoMX7ieIx/eYzI0r93vwVVTJcwVtVipbl69+otWSXLVGGItq5s/XzGSdcr3FU+X5ma4E2s1StNiWVPXJhC1Jz5tTvF/qEfwhJumih62+pQFp+XrjrHkPWBEhuBKKZLUISsQFewk8RffOOuguasPgtXkYoEtvL8839wa5VTeFOILZeWvgA1YsD+4W2sXME3vBuz7eqknW5Ac5UDeNMaTVkfhKsPPzyKqxrXC7tdEZirWCxFVYXMhMqZy2FpqpIHaf+Viz9+9hejKeFLCdN0vYiVapX0UKvp6ZLIjeBTxVb9ZI84nOVE1jj8UHBggofsx+3fYbI+SFexGG9ZdMPola6YKVWD5I2WJDElZBmqECxBi5mSNOWZFycbHx78ma7U+2u1avk7KFf76pV8+ufgwPBIHIaC4ReNajXIxlFHsonI+m+kLOmq6HFcaetrmCvMXObeolUFpIrbasgLyYaoK6WL9zKurBNYm2I7lSn2Qgi2LHEkqxGtUZKlVElZvGlhgIxWgkIVrqyJ5YpRX6iMXIFMVs4vpVkBKnjP6VzYczp8mVLtCsQ3Oz7OTkS0JozDmEBRx9p9sQ8CD0tZMbgilDyOOjd9yVQZrf0bVBWTsGRXoJw37ucXdGKDUGmuCqKbdZoqtgU4Yqp4pNh2nUNQXQu2JvwvkFWWqkCu7ElcLuwVZL3mqHYFVcWUZsqeNI6TOqFPx9ViVSDEO1dFN2xIEmzw9cJ3HJ1j49HBR11WVakCLuG9cKVi9eVDEWTet3EFWz1EFQtAxG+K2po69B/Bko3KbuzAdAUWn8Xr4KjIinGw4CJX8wTy5PT1a721v3sZhalSz0tblRRF+cmvu8OI533AFEiPdGBJDtxUosSOxyp7xrFYdoVEa9qEaRLcwQg7Nh8TsqQrdKFcn67KxU7UIFf1qbdI+Bz0GkhVCVlf3OeAxWAEiiAJgzKVfL1mw+3Ektjo9ccjxWwddkK+cxu2/odF+XyZq6IUIcvQFddq8GMyR2P1UU5Z2Y2dU3quGC5I8ixXYPBfMqV2ovz08wXFRSeQ5ePAf8kSycpRW9DQ7wFN1483cpLhZaqnCEq5b/Y7p/ZbXAPi0js8tQGRLLqHK0qTS7BRZjD8Z1X22TobuCFTuN3a54SwGZWEaE2aNkmAQ3VfYf473wtZOaYK1D0D90dPNPWNLTorUlXFVFizAsrV1yxXRdi97ezeYzv2btq2gqWL2GqkG54qMrPo9DwxUdp8FdtiT1WJEjy0ywll1RVia1LHkDKkqopwRah4Js0ecXIPSqWeb6+Eq/bLPMp4BrL/yqeweMe2pdQXsdUYpI1a5gZH1n3ey7kms1OpMyuYIu1qsdOGlReQrM5tIVnVWIyqCpHljlBXOWYq9fIdxzZlXJk0wOqDPTH/c1i2aSnt9JDVGGalBrgZ677csKHBSlBxaL3TniVHaFl1LqsMVUJWqZiPeBFPo/UpQ+Yvk5+/fnylFqUZbd12lXETgL9SHTRex8+TUkQxNhpxJkKLkryv7TVFdKuRTRzc54Sigk1VTfcxafokjND76jGaLCJKuCoVInCly8LscQfrrGKsQJix7VZBjC/kQSHfiHBH8rRAv6+EAX+3Ms4Ysof2ifS2Z/kF4qoj0LOqyhUoQI/ua8CWFe4KprisRgIIYWcC/tPbWLrSEV909HNzw5DogapPgSwzddgswHCWXJ/+37JKjKmGKshqs35PmrKClYknfNx1Alh2diNk5ac2lSpgqbLbFDY8sbdObj91+OL6E84/sWrSnOlzMJgCHAB2v83jAGVYU65AOuIZXWuQuQqvwMBFoaVE1hetsG6y+ey2rSumYsGIhpkoYYjYOXhy+5RTZw5fPLdv/a7jRuH9Q7jmdALpWdSUkgU8U1bQREzblY6ZEchSvv5UJLsunpm7/eTBPZyDB08eOrR9+1xoOXP48F2Y2bd+/S5bTudsuD1n4ZyFFBxQcIBB90HgYVKGJSHrOwZk0aalhA3JVGmEqqKy8uJTIRgnnG5jyfWZC2diLMSYyVH3sQHiWOxJskrSFWa+GzRZRJiUxVWFL3S01+8Vhaosve1xupANt2f+I0hWjasCTJan6xoSrmxVGNyUvoI25mYpohK3O93Ikmv/KGs/GjxVpWSxaPnKMGx6L2z53reSuqiTHRx2uhOEawZl5oyZGHQPxLHYa7KUq3K5wWIl4wVZfzqzErK4qlRNXqkoivGc06UsucZU/R378/k+WoJKlkCWoW0K2C+BGETV57wLU9SWzNcup2vZcHvGX4Nk9clYwRVkCVHY0O2QPb1nNytAVJFPNiWuXP7DuOV0MSRc/5AsnyozWRiQZTWr4AtuMlDVOwBHTJfilNPVbJg9e8ZspgMHGHyvHuMcgCzlyp8ssqUHg393bdI38qEj0WEXJKgvDC6ta1uWDNfs9ihZ/T5V1XI6IvHYGNBOQkMueMO1g3D19he1BF3UlajE7jsltcL117KkKsiqTo1oQNeAOWllX5uUgSq46vmhXafIo9XtVcjDNWv2rNkYs+QeGI8dKBQgi4vCqBYMV16kpdefHSuooq5ycSFJ9i2ycdc7Y4ENj2f9CSSrXhZUQT5i4A0HTcT4U8VX7dcirglsjY1g0XBd+pOse5AlTYXI4t3KMsVVcVfpIFVgz3FnrLDq8R9lVZQqUImYNImq4NfAr0lxNciLlhvMky4+IbVYfGnerFnzZs3DCJRVKFSUqlqtVo/EDVnxb8SUfWUSQiWvyPoed4O5OXZyRVl5dV4495Gsalm4Av1wZZAMUIVQ+a5eS7NVgjZblzhjjYdtZeWlKmoLdgxfL4zP/mKhArwGY7+gCsMicsUZgyx7wNQsmLcAQ5rC4VMpq8aJWHxI4mMqpCryPr66eg1UInLJrs7lY87YZMPpBYE8giyVKtAXj5vJKiahpPcz/QrpqH71WjL6YdgD3JSWsN0rnbHKkkuhsmqQVeWq+oisiO6rytejv6XAEweuVKzUVRlc23hnLLPyKtUzf8F8DLbHEWT1iVBRWSMRostvq94LW/rVRzxXMcRKiBI/LFvNvc4Y5wb8mGASvi5l9YGBOGRp0Wr0MlvUl9whVr/bO3fdtmEoDPNJ0r1P0UW+oKC1GGjRJoCBdKinwB09B/DgIICHvELRIQ+RQYuHnqxdjI42ejMqVWpguUWPKNJHFKtKBZJBlD5YpucPh8c/aRLeeHSOK/vgFHzBak93bsgaY3ZIVUl+eQCgVdZPcTsE5RCJqs+/lSrSJUvrhFkBX+RkJdmBXCFr1bRA+drjpp52uS35fPPDWxYQnzFbuJo6zhPnIOt6g5s06QxEfN8PAPGytQUf0JbQRbK+x4YjlR9eDpg9dOdOFjEPv0hXiMgOoJXWe7rblnIbLuWms8mz+oX2kozqEOdrLC1hSpJWVjZB+HS1TSjbgDyWZALPmXXwhdNxOvhCWz20JVyluoIYQKiiyRhqNwG/RvLsiGdW18WI2chw2pEkpRWgLEUICk9V1zf6X56bMKMqz6s+s5QrpWuc2PIlQbBSogAO+XR1Ky6afvy0AuGKniXhPWIWI3U5vdRW4AcCkJArJN7d7SLtlx9VW8pXbdfN/6frfJPYUq58cqWivBpIlTrFRcJOObOe4SKx1Vsj20Cwjam01JODjiUpcbaE9jL4W9Hkla7tNgTI9XgxmtChiMie0F5G/930+vX6wOOsKvinKDlaFdrL4XOcipIACOpcxco820J7BfhsLH1F+jyUQxE2hvYqdEezo8lk8hQIavQFwiwN7ZV5Awa0+Mnh1nen/Z44BkLv9DljYHVorwbfgwGtf4iL2u+03weXYKJKi5pXE0J7FU5Bw8zz+N6Q0F4OD4EwvhWRJoX2UoZhUY9PZ2PYrNBewuAODLzDUMPjMQ8Kd6GIaMZaclxG8FfcIWsxGLkxGOzazl7AYKLn09idtd2qmP7ZiZsK24fHR20MLafPB6O2UTWAP1yGz7GpTmekAAAAAElFTkSuQmCC",phone="data:image/png;base64,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";var _a,LOCALE={zh:{TITLE:"眼镜模式",HIT:"请将手机横屏放入 VR 眼镜中"},en:{TITLE:"GLASSES MODE",HIT:"Please put the mobile phone horizontally into the VR glasses."},ja:{TITLE:"メガネモード",HIT:"携帯電話をVRメガネに水平に入れてください。"}},TEXT=typeof navigator!="undefined"&&(_a=LOCALE[navigator.language.split("-")[0]])!==null&&_a!==void 0?_a:LOCALE.zh,CONTENTS=`
|
|
1449
|
+
`,PanoVideo=function(){function n(){this.material=new THREE__namespace.ShaderMaterial({vertexShader:PANO_VIDEO_MATERIAL_VERTEX_SHADER,fragmentShader:PANO_VIDEO_TILE_MATERIAL_FRAGMENT_SHADER,uniforms:{size:new THREE__namespace.Uniform(null),matrix:new THREE__namespace.Uniform(null),alpha:new THREE__namespace.Uniform(null),map:new THREE__namespace.Uniform(null)},depthTest:!1,depthWrite:!1,defines:{USE_PANO_VIDEO:!1},blending:THREE__namespace.CustomBlending,blendSrc:THREE__namespace.SrcAlphaFactor,blendDst:THREE__namespace.OneMinusSrcAlphaFactor,blendSrcAlpha:THREE__namespace.OneFactor,blendDstAlpha:THREE__namespace.OneMinusSrcAlphaFactor}),this.object=new THREE__namespace.Mesh(sharedGeometry$1,this.material),this.object.visible=!1,this.object.renderOrder=-1,this.object.frustumCulled=!1,this.object.name="pano-video",this.alphaMotion=new Motion({alpha:0})}return n.prototype.setMaterial=function(t){t?(this.material.uniforms.size.value=t.size,this.material.uniforms.matrix.value=t.matrix,this.material.uniforms.map.value=t.map,this.alphaMotion.set({alpha:t.alpha},500).catch(noop$1),this.material.uniforms.alpha.value=t.alpha):(this.material.uniforms.size.value=null,this.material.uniforms.matrix.value=null,this.material.uniforms.map.value=null,this.alphaMotion.set({alpha:0},0).catch(noop$1));var e=t!==null,r=this.material.defines.USE_PANO_VIDEO;e!==r&&(this.material.defines.USE_PANO_VIDEO=e,this.material.needsUpdate=!0,this.object.visible=t!==null)},n.prototype.updateTime=function(t){this.alphaMotion.ended||(this.alphaMotion.update(t),this.material.uniforms.alpha.value=this.alphaMotion.value.alpha)},n.prototype.dispose=function(){this.material.dispose()},n}(),ROTATE_Y_PI_MATRIX$1=new THREE__namespace.Matrix4().makeRotationAxis(new THREE__namespace.Vector3(0,1,0),Math.PI),PANO_TEXTURE_SCALE$1=new THREE__namespace.Vector3(-1,1,1),CubeRenderTargetPool=function(){function n(t){t===void 0&&(t=0),this.width=t,this.pool=[]}return Object.defineProperty(n.prototype,"size",{get:function(){return this.pool.length},enumerable:!1,configurable:!0}),n.prototype.create=function(){return new THREE__namespace.WebGLCubeRenderTarget(this.width,{stencilBuffer:!1,depthBuffer:!1})},n.prototype.pop=function(){var t=this.pool.pop();return t||this.create()},n.prototype.push=function(t){this.pool.indexOf(t)===-1&&this.pool.push(t)},n.prototype.clear=function(){for(var t=0,e=this.pool;t<e.length;t++){var r=e[t];r.dispose()}this.pool.length=0},n}(),PanoramaController=function(n){__extends(t,n);function t(e){var r=this,i,o,s,u,c=t.parseArgs(e);r=n.call(this,c)||this,r.TILED_CUBE_TEXTURE_LEVEL=2,r.mode="Panorama",r.tileLevel=0,r.initAnimationed=!1,r.maxAccessibleDistance=c.maxAccessibleDistance,r.panoTapTriggerRadius=c.panoTapTriggerRadius,r.panoCircleMeshCreator=c.panoCircleMeshCreator,r.tileLevelForFov=c.tileLevelForFov,r.luminanceAdaptiveEffectEnable=c.luminanceAdaptiveEffectEnable,r.colorCubeRenderTargetPool=new CubeRenderTargetPool,r.luminanceCubeRenderTargetPool=new CubeRenderTargetPool;var l=r.models.getMaterial()||{},d=l.pano0,f=l.pano1;d&&(f==null?void 0:f.map)!==d.map&&(r.models.setMaterial({pano0:f}),d.map.dispose(),d.map instanceof TileCubeTextureTarget&&d.map.cubeRenderTarget&&r.colorCubeRenderTargetPool.push(d.map.cubeRenderTarget),d.luminanceMap&&(d.luminanceMap.dispose(),d.luminanceMap instanceof TileCubeTextureTarget&&d.luminanceMap.cubeRenderTarget&&r.luminanceCubeRenderTargetPool.push(d.luminanceMap.cubeRenderTarget)));for(var m=r.colorCubeRenderTargetPool.size;m<2;m++){var p=Math.max(1024*r.TILED_CUBE_TEXTURE_LEVEL,512),A=r.colorCubeRenderTargetPool.create();A.setSize(p,p),renderCubeTextureToCubeRenderTarget(null,A,r.renderer),r.colorCubeRenderTargetPool.push(A)}r.panoMeshes={},r.updatePanoMeshes(),r.locationMotion=new Motion({count:0,distance:r.camera.pose.distance}),r.modelAlphaMotion=new Motion({modelAlpha:(o=(i=r.models.getMaterial())===null||i===void 0?void 0:i.modelAlpha)!==null&&o!==void 0?o:0}),r.perspToOrthoMotion=new Motion({perspToOrtho:r.camera.perspToOrtho.x}),r.panoResources={},r.panoResources[r.locationMotion.keyframes[0].key=r.locationMotion.keyframes[1].key=createUuid()]={panoId:panoStringify(r.currentPano),panoPicture:(u=(s=r.models.getMaterial())===null||s===void 0?void 0:s.pano1)!==null&&u!==void 0?u:null,position:r.camera.pose.offset.clone(),effect:"fly",fixCameraTransform:new THREE__namespace.Matrix4};var v=r.works.getResolvedObserver(r.currentPano);return r.textureLoader=new TextureLoader,r.tiling=new Tiling(v?getFetcher(v.work):internalFetcher,r.TILED_CUBE_TEXTURE_LEVEL+1,r.imageOptions),r.scene.add(r.tiling.object),r.panoVideo=new PanoVideo,r.scene.add(r.panoVideo.object),r}return t.parseArgs=function(e){var r,i,o,s,u;if(e instanceof t)return e;var c=n.parseArgs.call(this,e);return __assign(__assign({},c),{maxAccessibleDistance:(r=e.maxAccessibleDistance)!==null&&r!==void 0?r:5,panoTapTriggerRadius:(i=e.panoTapTriggerRadius)!==null&&i!==void 0?i:.5,panoCircleMeshCreator:(o=e.panoCircleMeshCreator)!==null&&o!==void 0?o:function(l){return new PanoCircleMesh},tileLevelForFov:(s=e.tileLevelForFov)!==null&&s!==void 0?s:function(l,d){var f=function(g){return g/Math.PI*180},m=function(g){return g/180*Math.PI},p=d.height/2/Math.tan(m(l/2)),A=d.width>d.height?l:f(Math.atan(Math.tan(m(l/2))*(d.width/d.height))*2),v=p*(Math.tan(m(A/2))-Math.tan(m(A/2-1)));return v>60?4:v>30?3:v>18?2:v>12?1:0},luminanceAdaptiveEffectEnable:(u=e.luminanceAdaptiveEffectEnable)!==null&&u!==void 0?u:!0})},t.initAnimationEndState=function(e){var r=this.parseArgs(e),i=n.initAnimationEndState.call(this,r);return __assign(__assign({},i),{mode:"Panorama"})},t.prototype.destroy=function(){var e,r;if(n.prototype.destroy.call(this),this.scene.remove(this.tiling.object),this.tiling.dispose(),this.locationMotion.dispose(),this.colorCubeRenderTargetPool.clear(),this.luminanceCubeRenderTargetPool.clear(),delete this.pendingTextureTask,this.panoMeshes)for(var i=Object.keys(this.panoMeshes),o=0,s=i;o<s.length;o++){var u=s[o],c=this.panoMeshes[u];this.helper.remove(c),c.dispose(),delete this.panoMeshes[u]}var l=this.videoTexture.image;l.pause(),l.oncanplay=function(){},l.ontimeupdate=function(){},this.scene.remove(this.panoVideo.object),this.panoVideo.setMaterial(null),this.panoVideo.dispose();for(var d=(e=this.models.getMaterial())!==null&&e!==void 0?e:{},f=d.pano0,m=d.pano1,p=0,A=Object.keys(this.panoResources);p<A.length;p++){var v=A[p],g=this.panoResources[v];if(g.panoPicture){var h=g.panoPicture.map;h&&h!==(f==null?void 0:f.map)&&h!==(m==null?void 0:m.map)&&(h.dispose(),(r=g.panoPicture.luminanceMap)===null||r===void 0||r.dispose(),g.panoPicture=null)}delete this.panoResources[v]}this.luminanceAdaptiveEffect&&(this.luminanceAdaptiveEffect.dispose(),delete this.luminanceAdaptiveEffect)},t.prototype.isReady=function(){return this.locationMotion.ended!==!0?!1:n.prototype.isReady.call(this)},t.prototype.isTileReady=function(){var e,r,i,o=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),s=((e=o.panoPicture)===null||e===void 0?void 0:e.map)instanceof TileCubeTextureTarget&&(i=(r=o.panoPicture)===null||r===void 0?void 0:r.map.tilePending)!==null&&i!==void 0?i:0,u=this.tiling.pedding;return this.initAnimationed&&s<=0&&u<=0},t.prototype.updateWork=function(e,r,i,o){var s=this;this.userAction=o,this.works=e;var u=t.initAnimationEndState(__assign(__assign({},this),{initial:{currentState:__assign(__assign({},this.currentPano),this.camera.pose),duration:i.duration,effect:i.effect,state:r,userAction:o}})),c={workCode:u.workCode,panoIndex:u.panoIndex},l=this.works.getWork(c.workCode);return this.tiling.setFetcher(l?getFetcher(l):internalFetcher),this.tiling.cleanup(),this.initAnimationed=!1,this.hideIntersectMesh(),this.updatePanoMeshes(),this.moveToPano(c,{effect:i.effect,duration:i.duration,longitude:r.longitude,latitude:r.latitude,fov:r.fov,moveEndCallback:function(){s.initAnimationed=!0},moveCancelCallback:function(){s.initAnimationed=!0}},o),!0},t.prototype.updateModel=function(e){this.models=e,this.updatePanoMeshes()},t.prototype.updateTime=function(e,r){var i=this,o,s,u,c,l,d,f,m,p,A;if(!this.destroyed){var v={},g={},h=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),y=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),b=!1;if(this.cameraMotion.ended===!1&&(this.cameraMotion.update(e),g.longitude=this.cameraMotion.value.longitude,g.latitude=this.cameraMotion.value.latitude,g.fov=this.cameraMotion.value.fov),this.modelAlphaMotion.ended===!1&&(this.modelAlphaMotion.update(e),v.modelAlpha=this.modelAlphaMotion.value.modelAlpha),this.perspToOrthoMotion.ended===!1&&(this.perspToOrthoMotion.update(e),this.camera.perspToOrtho.setScalar(clamp(this.perspToOrthoMotion.value.perspToOrtho,0,1))),this.locationMotion.ended===!1){this.locationMotion.update(e);var E=this.locationMotion.getKeyFrameSegment(e),T=E[0],x=E[1],_=this.panoResourceFromLocationMotionKeyframe(T),w=this.panoResourceFromLocationMotionKeyframe(x),S=new THREE__namespace.Vector3().copy(_.position),M=new THREE__namespace.Vector3().copy(w.position),C=this.locationMotion.value.count-x.value.count+1;v.progress=C,w.panoPicture&&(C<1?_.panoPicture&&(v.pano0=_.panoPicture):v.pano0=w.panoPicture,v.pano1=w.panoPicture),w.effect==="montage"?v.transition="BLACK":w.effect==="spread"?v.transition="SPREAD":v.transition="FADE",C<1&&w.effect!=="fly"&&(v.pano0&&_.panoPicture&&(v.pano0={map:v.pano0.map,luminanceMap:v.pano0.luminanceMap,matrix:_.panoPicture.matrix.clone().premultiply(_.fixCameraTransform).setPosition(w.position)}),S.copy(M),b=!0),g.distance=this.locationMotion.value.distance,g.offset=new THREE__namespace.Vector3(S.x+(M.x-S.x)*C,S.y+(M.y-S.y)*C,S.z+(M.z-S.z)*C);for(var I=[],B=[],F=0,L=this.locationMotion.keyframes;F<L.length;F++){var k=L[F],O=k.key,D=k.progress;O!==void 0&&(I.push(O),D>this.locationMotion.progress&&B.push(O))}for(var Q=0,N=Object.keys(this.panoResources);Q<N.length;Q++){var U=N[Q];if(!(B.indexOf(U)>=0)){var W=this.panoResources[U];if(W.panoPicture){var q=W.panoPicture.map,G=W.panoPicture.luminanceMap;if(q){if(q===((o=v.pano0)===null||o===void 0?void 0:o.map)||q===((s=v.pano1)===null||s===void 0?void 0:s.map))continue;q instanceof TileCubeTextureTarget&&q.cubeRenderTarget&&this.colorCubeRenderTargetPool.push(q.cubeRenderTarget),q.dispose(),G&&(G instanceof TileCubeTextureTarget&&G.cubeRenderTarget&&this.luminanceCubeRenderTargetPool.push(G.cubeRenderTarget),G.dispose()),W.panoPicture=null}}I.indexOf(U)>=0||delete this.panoResources[U]}}this.currentPano=panoParse(w.panoId),this.emit("pano.moving",createEvent("pano.moving",{userAction:this.userAction,prevPano:panoParse(h.panoId),state:__assign(__assign(__assign(__assign({},panoParse(y.panoId)),{mode:this.mode}),clonePose(this.camera.pose)),g),options:{},progress:this.locationMotion.progress,error:null}))}isEmptyObject(v)===!1&&(!((u=v.pano0)===null||u===void 0)&&u.map&&v.pano0.map instanceof TileCubeTextureTarget&&!v.pano0.map.cubeRenderTarget&&(v.pano0.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),!((c=v.pano0)===null||c===void 0)&&c.luminanceMap&&v.pano0.luminanceMap instanceof TileCubeTextureTarget&&!v.pano0.luminanceMap.cubeRenderTarget&&(v.pano0.luminanceMap.cubeRenderTarget=this.luminanceCubeRenderTargetPool.pop()),!((l=v.pano1)===null||l===void 0)&&l.map&&v.pano1.map instanceof TileCubeTextureTarget&&!v.pano1.map.cubeRenderTarget&&(v.pano1.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),!((d=v.pano1)===null||d===void 0)&&d.luminanceMap&&v.pano1.luminanceMap instanceof TileCubeTextureTarget&&!v.pano1.luminanceMap.cubeRenderTarget&&(v.pano1.luminanceMap.cubeRenderTarget=this.luminanceCubeRenderTargetPool.pop()),this.models.setMaterial(v)),isEmptyObject(g)===!1&&this.setCamera(g);var K=this.works.getResolvedObserver(this.currentPano),X=this.locationMotion.ended?this.getForwardObserverOrNot():null;if(this.camera.pose.distance>.1||b)for(var se=0,Y=Object.keys(this.panoMeshes);se<Y.length;se++){var re=Y[se],ee=this.panoMeshes[re];ee.setOpacity(0),ee.setCurrent(!1),ee.updateTime&&ee.updateTime(e,r),ee.visible=!1}else if(K){var oe=arrayMin(K.visibleIds,function(le){var pe=i.works.getResolvedObserver(le);return pe?K.standingPosition.distanceTo(pe.standingPosition):1/0},!0),$=oe[1];$=clamp($,2.5,1/0);for(var ie=K.visibleIds.concat(panoStringify(this.currentPano)),ne=this.camera.getDirection(new THREE__namespace.Vector3),ae=0,Z=Object.keys(this.panoMeshes);ae<Z.length;ae++){var re=Z[ae],ee=this.panoMeshes[re],J=this.works.getResolvedObserver(re);if(ie.indexOf(re)===-1)ee.setCurrent(!1),ee.setOpacity(0);else if(!J)ee.setCurrent(!1),ee.setOpacity(0);else if(!J.loadable&&!J.active)ee.setCurrent(!1),ee.setOpacity(0);else{var z=ee.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);ee.setCurrent(!ee.loading&&ee.progress===0&&X!==null&&X.panoId===re),ee.setOpacity(z<.01?0:clamp($/z*1.2,.4,.85));var ge=this.camera.position.clone().setY(ee.position.y),fe=new THREE__namespace.Vector3().copy(ee.position).sub(ge).normalize();if(re===panoStringify(this.currentPano)){var ce=clamp((.5-ge.distanceTo(ee.position))/.5,0,1);fe.multiplyScalar(1-ce).add(ne.clone().multiplyScalar(ce))}fe.length()>0&&ee.quaternion.setFromEuler(new THREE__namespace.Euler(0,Math.atan2(fe.x,fe.z),0))}ee.updateTime&&ee.updateTime(e,r)}}var Ae=this.tileLevel=function(){if(i.tileLevelForFov===!1)return 0;var le=i.renderer.getDrawingBufferSize(new THREE__namespace.Vector2);le.width*=i.scissor.width,le.height*=i.scissor.height;var pe=y.panoId,Te=i.works.getResolvedObserver(pe),de=i.imageOptions.size;if(typeof de=="undefined"&&Te){var be=Te.images.up.match(/\/cube_(\d+)\//);be&&(de=Number(be[1]))}typeof de=="undefined"&&(de=2048);var me=0;de>=1024&&(me=1),de>=2048&&(me=2),de>=4096&&(me=3),de>=8192&&(me=4);var _e=i.tileLevelForFov(i.camera.fov,le);return _e>me?_e:0}(),ye=function(){var le=i.camera.quaternion.clone(),pe=i.works.getResolvedObserver(y.panoId),Te=pe!=null?pe:K;Te&&le.premultiply(Te.quaternion.clone().inverse());var de=new THREE__namespace.Matrix4().makeRotationFromQuaternion(le),be=new THREE__namespace.Matrix4().getInverse(de),me=new THREE__namespace.Frustum().setFromProjectionMatrix(new THREE__namespace.Matrix4().multiplyMatrices(i.camera.projectionMatrix,be));return me}();y.panoId===panoStringify(this.currentPano)&&(((f=y.panoPicture)===null||f===void 0?void 0:f.map)instanceof TileCubeTextureTarget&&(y.panoPicture.map.update(ye,Ae),y.panoPicture.map.needsRender===!0&&(y.panoPicture.map.needsRender=!1,this.needsRender=!0)),((m=y.panoPicture)===null||m===void 0?void 0:m.luminanceMap)instanceof TileCubeTextureTarget&&(y.panoPicture.luminanceMap.update(ye,Ae),y.panoPicture.luminanceMap.needsRender===!0&&(y.panoPicture.luminanceMap.needsRender=!1,this.needsRender=!0)));{var Ee=this.tiling.object.visible;if(this.initAnimationed){var we=y.panoId,ue=this.works.getResolvedObserver(we);ue?isSimilarVector3(this.camera.position,ue.position)&&this.locationMotion.ended?(this.tiling.object.visible=!0,this.tiling.panoId!==we&&this.tiling.cleanup(),this.tiling.panoId=we,this.tiling.setResource((A=(p=ue.images)===null||p===void 0?void 0:p.tiles)!==null&&A!==void 0?A:[],this.enableIOSEDR&&ue.images.luminance?ue.images.luminance:null),this.tiling.setFetcher(getFetcher(ue.work)),this.tiling.setRotation(ue.quaternion),this.tiling.setPosition(ue.position),Ae>this.TILED_CUBE_TEXTURE_LEVEL?this.tiling.update(ye,Ae,e):this.tiling.update(ye,0,e)):this.tiling.object.visible=!1:this.tiling.object.visible=!1}else this.tiling.object.visible=!1;Ee!==this.tiling.object.visible&&(this.tiling.object.needsRender=!0)}this.panoVideo.object.position.copy(this.camera.position),this.panoVideo.updateTime(e)}},t.prototype.render=function(){var e=this.works.getResolvedObserver(this.currentPano);e&&e.video&&(this.needsRender=!0),n.prototype.render.call(this)},t.prototype.postProcessing=function(e,r){if(!this.destroyed&&r==="luminance")return this.luminanceAdaptiveEffect||(this.luminanceAdaptiveEffect=new LuminanceAdaptiveEffect(this.renderer,this.scene,this.camera,this.models),this.luminanceAdaptiveEffect.enable=this.luminanceAdaptiveEffectEnable),this.luminanceAdaptiveEffect.render(e)},t.prototype.getTargetState=function(){var e=this.cameraMotion.getKeyFrameSegment(now())[1],r=this.locationMotion.getKeyFrameSegment(now())[1],i=this.panoResourceFromLocationMotionKeyframe(r),o=this.works.getResolvedObserver(i.panoId);return{workCode:o?o.work.workCode:this.currentPano.workCode,panoIndex:o?o.panoIndex:this.currentPano.panoIndex,mode:this.mode,longitude:e.value.longitude,latitude:e.value.latitude,fov:e.value.fov,offset:o?o.position.clone():this.camera.position.clone(),distance:this.locationMotion.value.distance}},t.prototype.moveToPano=function(e,r,i){var o=this,s,u,c,l,d=(s=r.effect)!==null&&s!==void 0?s:"fly";this.userAction=i,this.stopMomentumMovement();var f=this.works.getResolvedObserver(e);if(!f)throw new Error("Invalid PanoId ".concat(JSON.stringify(e)));var m=this.imageOptions.size;if(typeof m=="undefined"&&f){var p=f.images.up.match(/\/cube_(\d+)\//);p&&(m=Number(p[1]))}typeof m=="undefined"&&(m=2048);var A=this.imageOptions.transform,v=__assign({key:"pano.".concat(f.panoId)},pick(this.imageOptions,["format","size","quality","sharpen","mappings"])),g=f.images,h=(c=(u=f.images.tiles)===null||u===void 0?void 0:u.filter(function(L){return L.size>m}))!==null&&c!==void 0?c:null,y=A,b={key:"pano_luminance.".concat(f.panoId),size:v.size?v.size/2:1024},E=this.enableIOSEDR&&f.images.luminance?f.images.luminance:null,T=function(){if(!f.images.tiles||!E)return null;var L=E.up.match(/\/cube_(\d+)\//),k=L?Number(L[1]):!1;return k===!1?null:h==null?void 0:h.map(function(O){return{level:O.level,size:k,back:E.back,front:E.front,left:E.left,right:E.right,up:E.up,down:E.down}})}(),x="pano:"+jsonHash([g,v,A]);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===x)return;var _=this.pendingTextureTask.panoId;(l=this.panoMeshes[_])===null||l===void 0||l.setProgress(0),this.emit("pano.texture.abort",createEvent("pano.texture.abort",{error:null,progress:0,meta:null,pano:f.pano})),this.pendingTextureTask.onError(new Error("texture aborted"))}var w="move-to-pano-"+f.panoId;this.pending.add(w);var S=this.models.getMaterial()||{},M=S.pano0,C=S.pano1,I;if(M&&M.map.name===x&&M.luminanceMap!==null===this.enableIOSEDR?I=M:(C==null?void 0:C.map.name)===x&&C.luminanceMap!==null===this.enableIOSEDR&&(I=C),I){var B={panoId:f.panoId,effect:d,panoPicture:{map:I.map,luminanceMap:I.luminanceMap,matrix:new THREE__namespace.Matrix4().compose(f.position,f.quaternion,PANO_TEXTURE_SCALE$1)},position:f.position.clone(),fixCameraTransform:new THREE__namespace.Matrix4};AnimationFrameLoop.shared.add(function(){o.pending.delete(w),o.doMoveToPano(f.pano,B,r)},!0,1);return}this.pendingTextureTask={panoId:f.panoId,hash:x,onLoad:function(L,k){var O;if(o.pending.delete(w),o.destroyed)L.body.dispose();else{L.body.name=x;var D={panoId:f.panoId,effect:d,panoPicture:{map:L.body,luminanceMap:(O=k==null?void 0:k.body)!==null&&O!==void 0?O:null,matrix:new THREE__namespace.Matrix4().compose(f.position,f.quaternion,PANO_TEXTURE_SCALE$1)},position:f.position.clone(),fixCameraTransform:new THREE__namespace.Matrix4};o.doMoveToPano(f.pano,D,r)}},onError:function(L){o.pending.delete(w);var k=__assign(__assign(__assign({},f.pano),{mode:o.mode}),clonePose(o.camera.pose));o.emit("pano.error",createEvent("pano.error",{error:L,userAction:o.userAction,options:r,prevPano:o.currentPano,progress:0,state:k})),o.emit("pano.cancel",createEvent("pano.cancel",{error:L,userAction:o.userAction,options:r,prevPano:o.currentPano,progress:0,state:k})),o.emit("error",L),r.moveCancelCallback&&r.moveCancelCallback()}};var F=this.panoMeshes[f.panoId];F&&F.tap&&F.tap(),Promise.all([this.tileLevelForFov&&h&&h.length?this.textureLoader.loadTiledCubeTexture(g,h,{tileMaxLevel:this.TILED_CUBE_TEXTURE_LEVEL,imageURL:{transform:A,options:v},minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.LinearFilter,generateMipmaps:!1,format:THREE__namespace.RGBAFormat,viaAjax:!0,fetcher:getFetcher(f.work)},void 0,void 0,function(L){var k,O;o.emit("pano.texture.progress",createEvent("pano.texture.progress",{error:null,progress:L,meta:null,pano:f.pano})),((k=o.pendingTextureTask)===null||k===void 0?void 0:k.hash)===x&&((O=o.panoMeshes[f.panoId])===null||O===void 0||O.setProgress(L))},this.renderer):this.textureLoader.loadCubeTexture(g,{imageURL:{transform:A,options:v},format:THREE__namespace.RGBAFormat,viaAjax:!0,fetcher:getFetcher(f.work)},void 0,void 0,function(L){var k,O;o.emit("pano.texture.progress",createEvent("pano.texture.progress",{error:null,progress:L,meta:null,pano:f.pano})),((k=o.pendingTextureTask)===null||k===void 0?void 0:k.hash)===x&&((O=o.panoMeshes[f.panoId])===null||O===void 0||O.setProgress(L))},this.renderer),E?this.tileLevelForFov&&T&&T.length?this.textureLoader.loadTiledCubeTexture(E,T,{tileImageSize:256,tileMaxLevel:this.TILED_CUBE_TEXTURE_LEVEL,imageURL:{transform:y,options:b},minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.LinearFilter,generateMipmaps:!1,fetcher:getFetcher(f.work)},void 0,void 0,void 0,this.renderer).catch(function(){return null}):this.textureLoader.loadCubeTexture(E,{imageURL:{transform:y,options:b},fetcher:getFetcher(f.work)},void 0,void 0,void 0,this.renderer).catch(function(){return null}):Promise.resolve(null)]).then(function(L){var k,O,D=L[0],Q=L[1];((k=o.pendingTextureTask)===null||k===void 0?void 0:k.hash)===x?(o.pendingTextureTask.onLoad(D,Q),(O=o.panoMeshes[f.panoId])===null||O===void 0||O.setProgress(0),delete o.pendingTextureTask,o.emit("pano.texture.success",createEvent("pano.texture.success",{error:null,progress:1,meta:D.meta,pano:f.pano}))):(D.body.dispose(),Q==null||Q.body.dispose())}).catch(function(L){var k,O;((k=o.pendingTextureTask)===null||k===void 0?void 0:k.hash)===x&&(o.pendingTextureTask.onError(L),(O=o.panoMeshes[f.panoId])===null||O===void 0||O.setProgress(0),delete o.pendingTextureTask,o.emit("pano.texture.error",createEvent("pano.texture.error",{error:L,progress:0,meta:null,pano:f.pano})),o.emit("error",L))}),this.emit("pano.texture.load",createEvent("pano.texture.load",{error:null,progress:0,meta:null,pano:f.pano}))},t.prototype.initAnimation=function(){var e=this;return this.destroyed?Promise.resolve():new Promise(function(r){var i=e.initial,o=i.duration,s=i.effect,u=i.userAction;e.userAction=u;var c=t.initAnimationEndState(e),l={workCode:c.workCode,panoIndex:c.panoIndex},d={modelAlpha:0},f={perspToOrtho:0},m=!1;e.moveToPano(l,{longitude:c.longitude,latitude:c.latitude,fov:c.fov,effect:s,duration:o,moveStartCallback:function(p){m=!0,e.perspToOrthoMotion.set(f,o).catch(noop$1),e.modelAlphaMotion.setKeyframes([{progress:0,value:__assign({},e.modelAlphaMotion.value)},{progress:.6,value:__assign({},e.modelAlphaMotion.value)},{progress:1,value:d}],o).catch(noop$1),e.emit("initAnimation.start",createEvent("initAnimation.start",{state:p,userAction:e.userAction}))},moveEndCallback:function(p){e.emit("initAnimation.end",createEvent("initAnimation.end",{state:p,userAction:e.userAction})),e.initAnimationed=!0,r()},moveCancelCallback:function(){var p=__assign(__assign(__assign({},l),{mode:e.mode}),clonePose(e.camera.pose));m===!1&&e.emit("initAnimation.start",createEvent("initAnimation.start",{state:p,userAction:e.userAction})),e.emit("initAnimation.end",createEvent("initAnimation.end",{state:p,userAction:e.userAction})),e.initAnimationed=!0,r()}},u)})},t.prototype.panoResourceFromLocationMotionKeyframe=function(e){return this.panoResources[e.key]},t.prototype.locationMotionKeyframesLength=function(e){for(var r=0,i=1;i<e.length;i++){var o=this.panoResourceFromLocationMotionKeyframe(e[i-1]).position,s=this.panoResourceFromLocationMotionKeyframe(e[i]).position,u=o.distanceTo(s)*(e[i].value.count-e[i-1].value.count);r+=u}return r},t.prototype.updatePanoMeshes=function(){for(var e=this,r={},i=Object.keys(this.panoMeshes),o=0,s=i;o<s.length;o++){var u=s[o],c=this.panoMeshes[u];r[u]=c,delete this.panoMeshes[u]}for(var l=1,d={},f=function(x){var _=arrayMin(x.accessibleIds,function(S){var M=e.works.getResolvedObserver(S);if(!M)return 1/0;var C=M.standingPosition.distanceTo(x.standingPosition);return clamp(C,1,1/0)},!0),w=_[1];d[x.panoId]===void 0&&(d[x.panoId]=w)},m=0,p=this.works.resolvedObservers;m<p.length;m++){var A=p[m];f(A)}var v=Object.keys(d).map(function(x){return d[x]});if(v.length){var g=v.reduce(function(x,_){return x+_},0)/v.length;l=clamp(g*.6,1,3)}for(var h=0,y=this.works.resolvedObservers;h<y.length;h++){var A=y[h],c=void 0;r[A.panoId]?(c=r[A.panoId],c.loading===!0&&A.loadable===!1&&c.setLoading(!1),delete r[A.panoId]):(c=this.panoCircleMeshCreator(A.pano),c.name="PanoCircleMesh_"+A.panoId,this.helper.add(c)),c.scale.set(l,1,l),c.position.copy(A.standingPosition),this.panoMeshes[A.panoId]=c}for(var b=0,E=Object.keys(r);b<E.length;b++){var T=E[b];this.helper.remove(r[T]),r[T].dispose(),delete r[T]}},t.prototype.doMoveToPano=function(e,r,i){var o=this,s,u,c,l,d,f,m,p,A,v,g;i===void 0&&(i={});var h=now(),y=createUuid();this.tiling.cleanup(),this.panoResources[y]=r;var b=1,E,T,x;if(this.locationMotion.ended){var _=this.locationMotion.getKeyFrameSegment(h);_[0];var w=_[1],S=this.locationMotion.value,M=((s=this.panoResourceFromLocationMotionKeyframe(w))!==null&&s!==void 0?s:this.camera).position,C=r.position;E=Math.max(M.distanceTo(C),b),T=[{key:w.key,progress:0,value:__assign(__assign({},S),{count:0})},{key:y,progress:1,value:{distance:0,count:1}}],x=0}else{var I=this.locationMotion.getKeyFrameSegment(h),B=I[0],w=I[1],S=this.locationMotion.value,F=this.panoResourceFromLocationMotionKeyframe(B).position,M=this.panoResourceFromLocationMotionKeyframe(w).position,C=r.position,L=w.value.count-S.count,k=Math.max(F.distanceTo(M),b)*L,O=Math.max(M.distanceTo(C),b);E=k+O,T=[{key:B.key,progress:0,value:__assign({},S)},{key:w.key,progress:k/E,value:w.value},{key:y,progress:1,value:{count:w.value.count+1,distance:0}}];var D=this.locationMotionKeyframesLength(this.locationMotion.keyframes),Q=this.locationMotionKeyframesLength(T);D===0||D===0?x=0:x=this.locationMotion.getProgressVelocity(h)*D/Q}var N=r.effect==="instant"?0:this.calculateMovingDuration(i.duration,r.effect==="fly"?E:0),U={longitude:i.longitude,latitude:i.latitude,fov:i.fov},W=__assign(__assign({},e),{mode:this.mode,longitude:(u=U.longitude)!==null&&u!==void 0?u:this.camera.pose.longitude,latitude:(c=U.latitude)!==null&&c!==void 0?c:this.camera.pose.latitude,fov:(l=U.fov)!==null&&l!==void 0?l:this.camera.pose.fov,offset:r.position.clone(),distance:this.camera.pose.distance}),q=this.currentPano;this.emit("pano.moveTo",createEvent("pano.moveTo",{options:i,prevPano:q,progress:0,state:W,userAction:this.userAction,error:null})),i.moveStartCallback&&i.moveStartCallback(W),this.videoTexture&&this.videoTexture.image instanceof HTMLVideoElement&&this.videoTexture.image.getAttribute("src")&&(this.videoTexture.image.pause(),this.videoTexture.image.removeAttribute("uuid"),this.videoTexture.image.removeAttribute("src"),this.videoTexture.image.oncanplay=noop$1,this.videoTexture.needsUpdate=!0),this.panoVideo.setMaterial(null);var G=coordinatesToVector({longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude}),K=coordinatesToVector({longitude:(d=U.longitude)!==null&&d!==void 0?d:this.cameraMotion.value.longitude,latitude:(f=U.latitude)!==null&&f!==void 0?f:this.cameraMotion.value.latitude}),X=new THREE__namespace.Object3D;X.lookAt(G);var se=new THREE__namespace.Matrix4().makeRotationFromQuaternion(X.quaternion);X.lookAt(K);for(var Y=new THREE__namespace.Matrix4().makeRotationFromQuaternion(X.quaternion),re=new THREE__namespace.Matrix4().getInverse(se).premultiply(Y),ee=0;ee<T.length-1;ee++){var oe=T[ee].key;if(oe){var $=this.panoResources[oe];$&&$.fixCameraTransform.copy(re)}}r.effect==="fly"?this.cameraMotion.set(U,N).catch(noop$1):this.cameraMotion.setKeyframes([{progress:0,value:{longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude,fov:this.cameraMotion.value.fov}},{progress:0,value:{longitude:(m=U.longitude)!==null&&m!==void 0?m:this.cameraMotion.value.longitude,latitude:(p=U.latitude)!==null&&p!==void 0?p:this.cameraMotion.value.latitude,fov:this.cameraMotion.value.fov}},{progress:1,value:{longitude:(A=U.longitude)!==null&&A!==void 0?A:this.cameraMotion.value.longitude,latitude:(v=U.latitude)!==null&&v!==void 0?v:this.cameraMotion.value.latitude,fov:(g=U.fov)!==null&&g!==void 0?g:this.cameraMotion.value.fov}}],N).catch(noop$1);var ie=this.locationMotion.setKeyframes(T,N,x);ie.then(function(){var ne,ae,Z=__assign(__assign({},e),{mode:o.mode,longitude:o.camera.pose.longitude,latitude:o.camera.pose.latitude,fov:o.camera.pose.fov,offset:o.camera.pose.offset.clone(),distance:o.camera.pose.distance});o.emit("pano.arrived",createEvent("pano.arrived",{options:i,prevPano:q,progress:1,state:Z,userAction:o.userAction,error:null})),i.moveEndCallback&&i.moveEndCallback(Z);var J=o.works.getResolvedObserver(e);if(J&&J.video&&o.videoTexture&&o.videoTexture.image instanceof HTMLVideoElement){var z=ROTATE_Y_PI_MATRIX$1.clone().multiply((ae=(ne=o.models.getMaterial().pano1)===null||ne===void 0?void 0:ne.matrix)!==null&&ae!==void 0?ae:new THREE__namespace.Matrix4).multiply(J.video.matrix),ge={map:o.videoTexture,size:J.video.size,matrix:z,alpha:1},fe=createUuid(),ce=o.videoTexture.image;ce.setAttribute("uuid",fe),canplayVideo().then(function(Ae){Ae&&J.video&&ce.getAttribute("uuid")===fe&&(ce.oncanplay=function(){ce.oncanplay=noop$1,ce.play()},ce.ontimeupdate=function(){ce.currentTime>.5&&(ce.ontimeupdate=noop$1,o.panoVideo.setMaterial(ge))},ce.src=J.video.source)}).catch(function(){ce.removeAttribute("uuid")})}},function(){o.emit("pano.cancel",createEvent("pano.cancel",{options:i,prevPano:q,progress:0,state:W,userAction:o.userAction,error:null})),i.moveCancelCallback&&i.moveCancelCallback()})},t.prototype.getForwardObserverOrNot=function(e){var r=this,i=this.works.getResolvedObserver(this.currentPano);if(!i)return null;var o=e!=null?e:new THREE__namespace.Raycaster(this.camera.position.clone(),this.camera.getDirection(new THREE__namespace.Vector3));o.params.Points={threshold:.1};var s=i.standingPosition.clone();if(i.position.distanceTo(o.ray.origin)>1){var u=this.models.intersectRaycaster(new THREE__namespace.Raycaster(o.ray.origin,new THREE__namespace.Vector3(0,-1,0)))[0];u&&u.distance<=2?s.copy(u.point):s.copy(o.ray.origin).add(new THREE__namespace.Vector3(0,-1.5,0))}var c=this.models.intersectRaycaster(o)[0],l=c?c.point:o.ray.origin.clone().add(o.ray.direction.clone().normalize().multiplyScalar(3)),d=l.clone().sub(s).normalize();if(d.length()===0)return null;for(var f=i.accessibleIds.filter(function(T){if(T===panoStringify(r.currentPano))return!1;var x=r.works.getResolvedObserver(T);if(!x)return!1;var _=x.standingPosition.clone().project(r.camera);return Math.abs(_.z)>1||Math.abs(_.x)>1||Math.abs(_.y)>1?!1:x.loadable||x.active}),m=f.slice().sort(function(T,x){var _=r.works.getResolvedObserver(T).standingPosition.clone().distanceTo(s),w=r.works.getResolvedObserver(x).standingPosition.clone().distanceTo(s);return _-w}),p=0,A=[Math.PI/8,Math.PI/6,Math.PI/4,Math.PI/3];p<A.length;p++)for(var v=A[p],g=0,h=m;g<h.length;g++){var y=h[g],b=this.works.getResolvedObserver(y);if(b){var E=b.standingPosition.clone().sub(s);if(E&&E.length()!==0&&d.angleTo(E)<v)return b}}return null},t.prototype.onTapGesture=function(e){var r=this,i;if(this.userAction=e.userAction,this.stopMomentumMovement(),!!this.initAnimationed){if(!this.locationMotion.ended){var o=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]);if(o.panoId!==panoStringify(this.currentPano))return}var s=e.center.raycaster,u=this.camera.getDirection(new THREE__namespace.Vector3).setY(0),c=null,l=this.works.getResolvedObserver(this.currentPano);if(l){var d=l.accessibleIds.filter(function(Q){if(Q===panoStringify(r.currentPano))return!1;var N=r.works.getResolvedObserver(Q);return!N||N.position.distanceTo(r.camera.position)>r.maxAccessibleDistance?!1:N.loadable||N.active}),f=this.models.intersectRaycaster(s)[0];if(f){var m=arrayMin(d,function(Q){var N=r.works.getResolvedObserver(Q);if(!N)return 1/0;var U=N.standingPosition.clone();return U.distanceTo(f.point)},!0),p=m[0],A=m[1];p&&A<this.panoTapTriggerRadius&&(c=(i=this.works.getResolvedObserver(p))!==null&&i!==void 0?i:null)}c||(c=this.getForwardObserverOrNot(s));for(var v=0,g=this.locationMotion.keyframes;v<g.length;v++){var h=g[v],y=this.panoResourceFromLocationMotionKeyframe(h);if(!(h.progress<this.locationMotion.progress)&&c&&y.panoId===c.panoId){c=null;break}}if(!c)this.emit("gesture.tap",e),e.defaultPrevented||this.locationMotion.ended===!0&&this.cameraBounce();else{for(var b={},E=Math.PI/6,T=Math.PI/12,x=c.position.clone().setY(0).sub(l.position.clone().setY(0)).normalize(),_=[],w=[],S=[],M=0,C=c.accessibleIds;M<C.length;M++){var p=C[M],I=panoParse(p);if(!(panoEqual(I,this.currentPano)||panoEqual(I,c.pano))){var B=this.works.getResolvedObserver(p);if(B){var F=B.position.clone().sub(c.position).setY(0);x.angleTo(F)<E&&S.push(F)}}}var L=S.length>0?S:__spreadArray(__spreadArray([],_,!0),w,!0),k=L.slice().sort(function(Q,N){return Q.angleTo(x)-N.angleTo(x)})[0];k&&k.angleTo(u)>T&&(b.longitude=Math.atan2(-k.x,-k.z)),this.cameraMotion.value.latitude<-Math.PI/4&&(b.latitude=clamp(0,this.minLatitude,this.maxLatitude));var O=__assign({},e.state);if(O.workCode=c.pano.workCode,O.panoIndex=c.pano.panoIndex,b.longitude!==void 0&&(O.longitude=b.longitude),b.latitude!==void 0&&(O.latitude=b.latitude),b.fov!==void 0&&(O.fov=b.fov),O.distance=0,O.offset=c.position.clone(),e.state=O,this.emit("gesture.tap",e),!e.defaultPrevented){if(this.emit("pano.select",createEvent("pano.select",{prevPano:this.currentPano,state:O,userAction:e.userAction,options:b,progress:0,error:null})),c&&!c.active){var D=c.panoId;this.panoMeshes[D]&&(this.panoMeshes[D].setDisabled(!1),this.panoMeshes[D].setLoading(!0))}c&&c.active&&this.emit("pano.request",createEvent("pano.request",{userAction:e.userAction,prevPano:this.currentPano,progress:0,state:O,options:b,error:null}))}}}}},t}(PanoramaLikeController),DEG_TO_RAD=Math.PI/180,RAD_TO_DEG=180/Math.PI,MIN_TIMESTEP=.001,MAX_TIMESTEP=1,isIOS=function(){var n=typeof navigator!="undefined"&&/iPad|iPhone|iPod/.test(navigator.platform);return function(){return n}}(),isSafari=function(){var n=typeof navigator!="undefined"&&/^((?!chrome|android).)*safari/i.test(navigator.userAgent);return function(){return n}}(),isFirefoxAndroid=function(){var n=typeof navigator!="undefined"&&navigator.userAgent.indexOf("Firefox")!==-1&&navigator.userAgent.indexOf("Android")!==-1;return function(){return n}}(),getChromeVersion=function(){var n=typeof navigator!="undefined"?navigator.userAgent.match(/.*Chrome\/([0-9]+)/):null,t=n?parseInt(n[1],10):null;return function(){return t}}(),isChromeWithoutDeviceMotion=function(){var n=!1;if(getChromeVersion()===65){var t=typeof navigator!="undefined"?navigator.userAgent.match(/.*Chrome\/([0-9\.]*)/):null;if(t){var e=t[1].split(".");e[0],e[1];var r=e[2],i=e[3];n=parseInt(r,10)===3325&&parseInt(i,10)<148}}return function(){return n}}(),isSafariWithoutDeviceMotion=function(){var n=isIOS()&&isSafari()&&typeof navigator!="undefined"&&navigator.userAgent.indexOf("13_4")!==-1;return function(){return n}}(),isR7=function(){var n=typeof navigator!="undefined"&&navigator.userAgent.indexOf("R7 Build")!==-1;return function(){return n}}();function isLandscapeMode(){var n=typeof window!="undefined"&&(window.orientation==90||window.orientation==-90);return isR7()?!n:n}function isTimestampDeltaValid(n){return!(isNaN(n)||n<=MIN_TIMESTEP||n>MAX_TIMESTEP)}function getQuaternionAngle(n){if(n.w>1)return 0;var t=2*Math.acos(n.w);return t}var warnOnce=function(){var n={};return function(t,e){n[t]===void 0&&(console.warn("cardboard: "+e),n[t]=!0)}}();function getOriginFromUrl(n){var t,e=n.indexOf("://");e!==-1?t=e+3:t=0;var r=n.indexOf("/",t);return r===-1&&(r=n.length),n.substring(0,r)}function isInsideCrossOriginIFrame(){if(typeof window=="undefined"||typeof document=="undefined")return!1;var n=window.self!==window.top,t=getOriginFromUrl(document.referrer),e=getOriginFromUrl(window.location.href);return n&&t!==e}var updateEyeViewMatrices=function(){function n(r,i,o){var s=i?i[0]:0,u=i?i[1]:0,c=i?i[2]:0,l=i?i[3]:1,d=s+s,f=u+u,m=c+c,p=s*d,A=s*f,v=s*m,g=u*f,h=u*m,y=c*m,b=l*d,E=l*f,T=l*m;return r[0]=1-(g+y),r[1]=A+T,r[2]=v-E,r[3]=0,r[4]=A-T,r[5]=1-(p+y),r[6]=h+b,r[7]=0,r[8]=v+E,r[9]=h-b,r[10]=1-(p+g),r[11]=0,r[12]=o?o[0]:0,r[13]=o?o[1]:0,r[14]=o?o[2]:0,r[15]=1,r}function t(r,i,o){var s=o[0],u=o[1],c=o[2],l,d,f,m,p,A,v,g,h,y,b,E;return i===r?(r[12]=i[0]*s+i[4]*u+i[8]*c+i[12],r[13]=i[1]*s+i[5]*u+i[9]*c+i[13],r[14]=i[2]*s+i[6]*u+i[10]*c+i[14],r[15]=i[3]*s+i[7]*u+i[11]*c+i[15]):(l=i[0],d=i[1],f=i[2],m=i[3],p=i[4],A=i[5],v=i[6],g=i[7],h=i[8],y=i[9],b=i[10],E=i[11],r[0]=l,r[1]=d,r[2]=f,r[3]=m,r[4]=p,r[5]=A,r[6]=v,r[7]=g,r[8]=h,r[9]=y,r[10]=b,r[11]=E,r[12]=l*s+p*u+h*c+i[12],r[13]=d*s+A*u+y*c+i[13],r[14]=f*s+v*u+b*c+i[14],r[15]=m*s+g*u+E*c+i[15]),r}function e(r,i){var o=i[0],s=i[1],u=i[2],c=i[3],l=i[4],d=i[5],f=i[6],m=i[7],p=i[8],A=i[9],v=i[10],g=i[11],h=i[12],y=i[13],b=i[14],E=i[15],T=o*d-s*l,x=o*f-u*l,_=o*m-c*l,w=s*f-u*d,S=s*m-c*d,M=u*m-c*f,C=p*y-A*h,I=p*b-v*h,B=p*E-g*h,F=A*b-v*y,L=A*E-g*y,k=v*E-g*b,O=T*k-x*L+_*F+w*B-S*I+M*C;return O?(O=1/O,r[0]=(d*k-f*L+m*F)*O,r[1]=(u*L-s*k-c*F)*O,r[2]=(y*M-b*S+E*w)*O,r[3]=(v*S-A*M-g*w)*O,r[4]=(f*B-l*k-m*I)*O,r[5]=(o*k-u*B+c*I)*O,r[6]=(b*_-h*M-E*x)*O,r[7]=(p*M-v*_+g*x)*O,r[8]=(l*L-d*B+m*C)*O,r[9]=(s*B-o*L-c*C)*O,r[10]=(h*S-y*_+E*T)*O,r[11]=(A*_-p*S-g*T)*O,r[12]=(d*I-l*F-f*C)*O,r[13]=(o*F-s*I+u*C)*O,r[14]=(y*x-h*w-b*T)*O,r[15]=(p*w-A*x+v*T)*O,r):null}return function(r,i,o){n(r,i),o&&t(r,r,o),e(r,r)}}(),SensorSample=function(){function n(t,e){t===void 0&&(t=new THREE__namespace.Vector3),e===void 0&&(e=0),this.sample=t,this.timestampS=e}return n.prototype.set=function(t,e){this.sample=t,this.timestampS=e},n.prototype.copy=function(t){this.set(t.sample,t.timestampS)},n}(),ComplementaryFilter=function(){function n(t,e){this.kFilter=t,this.isDebug=e,this.currentAccelMeasurement=new SensorSample,this.currentGyroMeasurement=new SensorSample,this.previousGyroMeasurement=new SensorSample,isIOS()?this.filterQ=new THREE__namespace.Quaternion(-1,0,0,1):this.filterQ=new THREE__namespace.Quaternion(1,0,0,1),this.previousFilterQ=new THREE__namespace.Quaternion,this.previousFilterQ.copy(this.filterQ),this.accelQ=new THREE__namespace.Quaternion,this.isOrientationInitialized=!1,this.estimatedGravity=new THREE__namespace.Vector3,this.measuredGravity=new THREE__namespace.Vector3,this.gyroIntegralQ=new THREE__namespace.Quaternion}return n.prototype.addAccelMeasurement=function(t,e){this.currentAccelMeasurement.set(t,e)},n.prototype.addGyroMeasurement=function(t,e){this.currentGyroMeasurement.set(t,e);var r=e-this.previousGyroMeasurement.timestampS;isTimestampDeltaValid(r)&&this.run_(),this.previousGyroMeasurement.copy(this.currentGyroMeasurement)},n.prototype.getOrientation=function(){return this.filterQ},n.prototype.run_=function(){if(!this.isOrientationInitialized){this.accelQ=this.accelToQuaternion_(this.currentAccelMeasurement.sample),this.previousFilterQ.copy(this.accelQ),this.isOrientationInitialized=!0;return}var t=this.currentGyroMeasurement.timestampS-this.previousGyroMeasurement.timestampS,e=this.gyroToQuaternionDelta_(this.currentGyroMeasurement.sample,t);this.gyroIntegralQ.multiply(e),this.filterQ.copy(this.previousFilterQ),this.filterQ.multiply(e);var r=new THREE__namespace.Quaternion;r.copy(this.filterQ),r.inverse(),this.estimatedGravity.set(0,0,-1),this.estimatedGravity.applyQuaternion(r),this.estimatedGravity.normalize(),this.measuredGravity.copy(this.currentAccelMeasurement.sample),this.measuredGravity.normalize();var i=new THREE__namespace.Quaternion;i.setFromUnitVectors(this.estimatedGravity,this.measuredGravity),i.inverse(),this.isDebug&&console.log("Delta: %d deg, G_est: (%s, %s, %s), G_meas: (%s, %s, %s)",RAD_TO_DEG*getQuaternionAngle(i),this.estimatedGravity.x.toFixed(1),this.estimatedGravity.y.toFixed(1),this.estimatedGravity.z.toFixed(1),this.measuredGravity.x.toFixed(1),this.measuredGravity.y.toFixed(1),this.measuredGravity.z.toFixed(1));var o=new THREE__namespace.Quaternion;o.copy(this.filterQ),o.multiply(i),this.filterQ.slerp(o,1-this.kFilter),this.previousFilterQ.copy(this.filterQ)},n.prototype.accelToQuaternion_=function(t){var e=new THREE__namespace.Vector3;e.copy(t),e.normalize();var r=new THREE__namespace.Quaternion;return r.setFromUnitVectors(new THREE__namespace.Vector3(0,0,-1),e),r.inverse(),r},n.prototype.gyroToQuaternionDelta_=function(t,e){var r=new THREE__namespace.Quaternion,i=new THREE__namespace.Vector3;return i.copy(t),i.normalize(),r.setFromAxisAngle(i,t.length()*e),r},n}(),PosePredictor=function(){function n(t,e){this.predictionTimeS=t,this.isDebug=e,this.previousQ=new THREE__namespace.Quaternion,this.previousTimestampS=null,this.deltaQ=new THREE__namespace.Quaternion,this.outQ=new THREE__namespace.Quaternion}return n.prototype.getPrediction=function(t,e,r){if(!this.previousTimestampS)return this.previousQ.copy(t),this.previousTimestampS=r,t;var i=new THREE__namespace.Vector3;i.copy(e),i.normalize();var o=e.length();if(o<DEG_TO_RAD*20)return this.isDebug&&console.log("Moving slowly, at %s deg/s: no prediction",(RAD_TO_DEG*o).toFixed(1)),this.outQ.copy(t),this.previousQ.copy(t),this.outQ;var s=o*this.predictionTimeS;return this.deltaQ.setFromAxisAngle(i,s),this.outQ.copy(this.previousQ),this.outQ.multiply(this.deltaQ),this.previousQ.copy(t),this.previousTimestampS=r,this.outQ},n}(),Distortion=function(){function n(t){this.coefficients=t}return n.prototype.distortInverse=function(t){for(var e=0,r=1,i=t-this.distort(e);Math.abs(r-e)>1e-4;){var o=t-this.distort(r),s=r-o*((r-e)/(o-i));e=r,r=s,i=o}return r},n.prototype.distort=function(t){for(var e=t*t,r=0,i=0;i<this.coefficients.length;i++)r=e*(r+this.coefficients[i]);return(r+1)*t},n}(),Pose=function(){function n(){this.angularAcceleration=null,this.angularVelocity=null,this.linearAcceleration=null,this.linearVelocity=null,this.orientation=null,this.position=null}return n}(),FieldOfView=function(){function n(){this.leftDegrees=0,this.rightDegrees=0,this.upDegrees=0,this.downDegrees=0}return n}(),Sensor=function(){function n(t,e,r,i){this.viewer={id:"CardboardV1",label:"Cardboard I/O 2014",fov:40,interLensDistance:.06,baselineLensDistance:.035,screenLensDistance:.042,distortionCoefficients:[.441,.156],inverseCoefficients:[-.4410035,.42756155,-.4804439,.5460139,-.58821183,.5733938,-.48303202,.33299083,-.17573841,.0651772,-.01488963,.001559834]},this.device={widthMeters:.11,heightMeters:.062,bevelMeters:.004},this.depthNear=.01,this.depthFar=1e4,this.yawOnly=r,this.accelerometer=new THREE__namespace.Vector3,this.gyroscope=new THREE__namespace.Vector3,this.filter=new ComplementaryFilter(t,i),this.posePredictor=new PosePredictor(e,i),this.isFirefoxAndroid=isFirefoxAndroid(),this.isIOS=isIOS();var o=getChromeVersion();this.isDeviceMotionInRadians=!this.isIOS&&o!==null&&o<66,this.isWithoutDeviceMotion=isChromeWithoutDeviceMotion()||isSafariWithoutDeviceMotion(),this.filterToWorldQ=new THREE__namespace.Quaternion,isIOS()?this.filterToWorldQ.setFromAxisAngle(new THREE__namespace.Vector3(1,0,0),Math.PI/2):this.filterToWorldQ.setFromAxisAngle(new THREE__namespace.Vector3(1,0,0),-Math.PI/2),this.inverseWorldToScreenQ=new THREE__namespace.Quaternion,this.worldToScreenQ=new THREE__namespace.Quaternion,this.originalPoseAdjustQ=new THREE__namespace.Quaternion;var s=typeof window!="undefined"?-window.orientation*Math.PI/180:0;this.originalPoseAdjustQ.setFromAxisAngle(new THREE__namespace.Vector3(0,0,1),s),this.setScreenTransform_(),isLandscapeMode()&&this.filterToWorldQ.multiply(this.inverseWorldToScreenQ),this.resetQ=new THREE__namespace.Quaternion,this.orientationOut_=new Float32Array(4),this.previousTimestampS=Date.now()}return n.prototype.getPosition=function(){return null},n.prototype.getOrientation=function(){var t;if(this.isWithoutDeviceMotion&&this._deviceOrientationQ){this.deviceOrientationFixQ=this.deviceOrientationFixQ||function(){var o=new THREE__namespace.Quaternion().setFromAxisAngle(new THREE__namespace.Vector3(0,0,-1),0),s=new THREE__namespace.Quaternion;return typeof window!="undefined"&&window.orientation===-90?s.setFromAxisAngle(new THREE__namespace.Vector3(0,1,0),Math.PI/-2):s.setFromAxisAngle(new THREE__namespace.Vector3(0,1,0),Math.PI/2),o.multiply(s)}(),this.deviceOrientationFilterToWorldQ=this.deviceOrientationFilterToWorldQ||function(){var o=new THREE__namespace.Quaternion;return o.setFromAxisAngle(new THREE__namespace.Vector3(1,0,0),-Math.PI/2),o}(),t=this._deviceOrientationQ;var e=new THREE__namespace.Quaternion;return e.copy(t),e.multiply(this.deviceOrientationFilterToWorldQ),e.multiply(this.resetQ),e.multiply(this.worldToScreenQ),e.multiplyQuaternions(this.deviceOrientationFixQ,e),this.yawOnly&&(e.x=0,e.z=0,e.normalize()),this.orientationOut_[0]=e.x,this.orientationOut_[1]=e.y,this.orientationOut_[2]=e.z,this.orientationOut_[3]=e.w,this.orientationOut_}else{var r=this.filter.getOrientation();t=this.posePredictor.getPrediction(r,this.gyroscope,this.previousTimestampS)}var i=new THREE__namespace.Quaternion;return i.copy(this.filterToWorldQ),i.multiply(this.resetQ),i.multiply(t),i.multiply(this.worldToScreenQ),this.yawOnly&&(i.x=0,i.z=0,i.normalize()),this.orientationOut_[0]=i.x,this.orientationOut_[1]=i.y,this.orientationOut_[2]=i.z,this.orientationOut_[3]=i.w,this.orientationOut_},n.prototype.getPose=function(){var t=new Pose;return t.orientation=this.getOrientation(),t},n.prototype.resetPose=function(){this.resetQ.copy(this.filter.getOrientation()),this.resetQ.x=0,this.resetQ.y=0,this.resetQ.z*=-1,this.resetQ.normalize(),isLandscapeMode()&&this.resetQ.multiply(this.inverseWorldToScreenQ),this.resetQ.multiply(this.originalPoseAdjustQ)},n.prototype.getFrameData=function(t){var e=this.getOrientation(),r=this.getEyeOffset(),i=this.getEyeProjectionMatrix();return t.pose.angularAcceleration=null,t.pose.angularVelocity=null,t.pose.linearAcceleration=null,t.pose.linearVelocity=null,t.pose.orientation=e,t.pose.position=null,t.timestamp=this.previousTimestampS,t.leftProjectionMatrix.set(i.left),t.rightProjectionMatrix.set(i.right),updateEyeViewMatrices(t.leftViewMatrix,e,r.left),updateEyeViewMatrices(t.rightViewMatrix,e,r.right),t},n.prototype.start=function(){if(typeof window=="undefined")return function(){};var t=this.onDeviceMotion_.bind(this),e=this.onOrientationChange_.bind(this),r=this.onMessage_.bind(this),i=this.onDeviceOrientation_.bind(this);return isIOS()&&isInsideCrossOriginIFrame()&&window.addEventListener("message",r),window.addEventListener("orientationchange",e),this.isWithoutDeviceMotion?window.addEventListener("deviceorientation",i):window.addEventListener("devicemotion",t),function(){window.removeEventListener("devicemotion",t),window.removeEventListener("deviceorientation",e),window.removeEventListener("orientationchange",e),window.removeEventListener("message",r)}},n.prototype.getEyeOffset=function(){return{left:[-this.viewer.interLensDistance*.5,0,0],right:[this.viewer.interLensDistance*.5,0,0]}},n.prototype.getEyeProjectionMatrix=function(){var t=this.getEyeFieldOfView(),e=this.depthNear,r=this.depthFar,i={left:[],right:[]};{var o=t.left.upDegrees*DEG_TO_RAD,s=t.left.downDegrees*DEG_TO_RAD,u=t.left.leftDegrees*DEG_TO_RAD,c=t.left.rightDegrees*DEG_TO_RAD,l=2/(u+c),d=2/(o+s);i.left[0]=l,i.left[1]=0,i.left[2]=0,i.left[3]=0,i.left[4]=0,i.left[5]=d,i.left[6]=0,i.left[7]=0,i.left[8]=-((u-c)*l*.5),i.left[9]=(o-s)*d*.5,i.left[10]=r/(e-r),i.left[11]=-1,i.left[12]=0,i.left[13]=0,i.left[14]=r*e/(e-r),i.left[15]=0}{var o=t.right.upDegrees*DEG_TO_RAD,s=t.right.downDegrees*DEG_TO_RAD,u=t.right.leftDegrees*DEG_TO_RAD,c=t.right.rightDegrees*DEG_TO_RAD,l=2/(u+c),d=2/(o+s);i.right[0]=l,i.right[1]=0,i.right[2]=0,i.right[3]=0,i.right[4]=0,i.right[5]=d,i.right[6]=0,i.right[7]=0,i.right[8]=-((u-c)*l*.5),i.right[9]=(o-s)*d*.5,i.right[10]=r/(e-r),i.right[11]=-1,i.right[12]=0,i.right[13]=0,i.right[14]=r*e/(e-r),i.right[15]=0}return i},n.prototype.getEyeFieldOfView=function(){var t=this.viewer,e=this.device,r=new Distortion(t.distortionCoefficients),i=t.screenLensDistance,o=(e.widthMeters-t.interLensDistance)/2,s=t.interLensDistance/2,u=t.baselineLensDistance-e.bevelMeters,c=e.heightMeters-u,l=RAD_TO_DEG*Math.atan(r.distort(o/i)),d=RAD_TO_DEG*Math.atan(r.distort(s/i)),f=RAD_TO_DEG*Math.atan(r.distort(u/i)),m=RAD_TO_DEG*Math.atan(r.distort(c/i)),p=new FieldOfView,A=new FieldOfView;return p.leftDegrees=Math.min(l,t.fov),p.rightDegrees=Math.min(d,t.fov),p.downDegrees=Math.min(f,t.fov),p.upDegrees=Math.min(m,t.fov),A.leftDegrees=p.rightDegrees,A.rightDegrees=p.leftDegrees,A.upDegrees=p.upDegrees,A.downDegrees=p.downDegrees,{left:p,right:A}},n.prototype.onDeviceOrientation_=function(t){this._deviceOrientationQ=this._deviceOrientationQ||new THREE__namespace.Quaternion;var e=t.alpha,r=t.beta,i=t.gamma;e=(e||0)*Math.PI/180,r=(r||0)*Math.PI/180,i=(i||0)*Math.PI/180,this._deviceOrientationQ.setFromEuler(new THREE__namespace.Euler(e,r,-i,"YXZ"))},n.prototype.onDeviceMotion_=function(t){this.updateDeviceMotion_(t)},n.prototype.updateDeviceMotion_=function(t){var e=t.accelerationIncludingGravity,r=t.rotationRate,i=t.timeStamp/1e3,o=i-this.previousTimestampS;if(o<0){warnOnce("fusion-pose-sensor:invalid:non-monotonic","Invalid timestamps detected: non-monotonic timestamp from devicemotion"),this.previousTimestampS=i;return}else if(o<=MIN_TIMESTEP||o>MAX_TIMESTEP){warnOnce("fusion-pose-sensor:invalid:outside-threshold","Invalid timestamps detected: Timestamp from devicemotion outside expected range."),this.previousTimestampS=i;return}e&&(this.accelerometer.set(-e.x,-e.y,-e.z),r&&(isR7()?this.gyroscope.set(-r.beta,r.alpha,r.gamma):this.gyroscope.set(r.alpha,r.beta,r.gamma),this.isDeviceMotionInRadians||this.gyroscope.multiplyScalar(Math.PI/180),this.filter.addGyroMeasurement(this.gyroscope,i)),this.filter.addAccelMeasurement(this.accelerometer,i)),this.previousTimestampS=i},n.prototype.onOrientationChange_=function(){this.setScreenTransform_()},n.prototype.onMessage_=function(t){var e=t.data;if(!(!e||!e.type)){var r=e.type.toLowerCase();r==="devicemotion"&&this.updateDeviceMotion_(e.deviceMotionEvent)}},n.prototype.setScreenTransform_=function(){this.worldToScreenQ.set(0,0,0,1);var t=typeof window!="undefined"?window.orientation:0;switch(t){case 0:break;case 90:this.worldToScreenQ.setFromAxisAngle(new THREE__namespace.Vector3(0,0,1),-Math.PI/2);break;case-90:this.worldToScreenQ.setFromAxisAngle(new THREE__namespace.Vector3(0,0,1),Math.PI/2);break}this.inverseWorldToScreenQ.copy(this.worldToScreenQ),this.inverseWorldToScreenQ.inverse()},n}(),defaultLeftBounds=[0,0,.5,1],defaultRightBounds=[.5,0,.5,1],Cardboard=function(){function n(t){var e=this;this.renderer=t,this.sensor=new Sensor(.98,.04,!1,!1),this.scale=1,this.cameraL=new THREE__namespace.PerspectiveCamera,this.cameraR=new THREE__namespace.PerspectiveCamera;var r=this.sensor.start();this.dispose=function(){var i=e.renderer.getSize(new THREE__namespace.Vector2);e.renderer.setScissor(0,0,i.width,i.height),e.renderer.setViewport(0,0,i.width,i.height),e.renderer.setScissorTest(!1),r()}}return n.prototype.render=function(t,e){var r=this.renderer.getSize(new THREE__namespace.Vector2);if(r.width>r.height){var i=t.autoUpdate;i&&(t.updateMatrixWorld(),t.autoUpdate=!1);var o={x:Math.round(r.width*defaultLeftBounds[0]),y:Math.round(r.height*defaultLeftBounds[1]),width:Math.round(r.width*defaultLeftBounds[2]),height:Math.round(r.height*defaultLeftBounds[3])},s={x:Math.round(r.width*defaultRightBounds[0]),y:Math.round(r.height*defaultRightBounds[1]),width:Math.round(r.width*defaultRightBounds[2]),height:Math.round(r.height*defaultRightBounds[3])};this.renderer.setScissorTest(!0),this.renderer.autoClear&&this.renderer.clear(),e.parent===null&&e.updateMatrixWorld(),e.matrixWorld.decompose(this.cameraL.position,this.cameraL.quaternion,this.cameraL.scale),e.matrixWorld.decompose(this.cameraR.position,this.cameraR.quaternion,this.cameraR.scale);var u=this.sensor.getEyeOffset();this.cameraL.translateOnAxis(new THREE__namespace.Vector3().fromArray(u.left),this.scale),this.cameraR.translateOnAxis(new THREE__namespace.Vector3().fromArray(u.right),this.scale);var c=this.sensor.getEyeProjectionMatrix();this.cameraL.projectionMatrix.elements=c.left.slice(),this.cameraR.projectionMatrix.elements=c.right.slice(),this.renderer.setViewport(o.x,o.y,o.width,o.height),this.renderer.setScissor(o.x,o.y,o.width,o.height),this.renderer.render(t,this.cameraL),this.renderer.setViewport(s.x,s.y,s.width,s.height),this.renderer.setScissor(s.x,s.y,s.width,s.height),this.renderer.render(t,this.cameraR),this.renderer.setViewport(0,0,r.width,r.height),this.renderer.setScissor(0,0,r.width,r.height),this.renderer.setScissorTest(!1),i&&(t.autoUpdate=!0)}else this.renderer.render(t,e)},n.prototype.dispose=function(){},n}();const cardboard="data:image/png;base64,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",phone="data:image/png;base64,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";var _a,LOCALE={zh:{TITLE:"眼镜模式",HIT:"请将手机横屏放入 VR 眼镜中"},en:{TITLE:"GLASSES MODE",HIT:"Please put the mobile phone horizontally into the VR glasses."},ja:{TITLE:"メガネモード",HIT:"携帯電話をVRメガネに水平に入れてください。"}},TEXT=typeof navigator!="undefined"&&(_a=LOCALE[navigator.language.split("-")[0]])!==null&&_a!==void 0?_a:LOCALE.zh,CONTENTS=`
|
|
1450
1450
|
<style>
|
|
1451
1451
|
.$id {
|
|
1452
1452
|
all: initial;
|
|
@@ -1707,7 +1707,7 @@ Z
|
|
|
1707
1707
|
</svg>
|
|
1708
1708
|
</div>
|
|
1709
1709
|
</div>
|
|
1710
|
-
`);function createContents(n){for(var t=1,e=document.getElementsByTagName("meta"),r=0;r<e.length;r++){var i=e[r];if(i.getAttribute("name")==="viewport"){var o=i.getAttribute("content")||"",s=o.match(/initial\-scale\=([\d|\.]+)/);s&&(t=Number(s[1])),isNaN(t)&&(t=1)}}var u=function(
|
|
1710
|
+
`);function createContents(n){for(var t=1,e=document.getElementsByTagName("meta"),r=0;r<e.length;r++){var i=e[r];if(i.getAttribute("name")==="viewport"){var o=i.getAttribute("content")||"",s=o.match(/initial\-scale\=([\d|\.]+)/);s&&(t=Number(s[1])),isNaN(t)&&(t=1)}}var u=function(c){return Math.floor(c*t)+"px"};return CONTENTS.replace(/\n/g," ").replace(/\ +/g," ").replace(/\$id/g,n).replace(/(\d+)px/g,function(c,l){return u(Number(l))})}function createHelper(){var n="five_vr_helper_"+createUuid(),t=createContents(n),e=document.createElement("div");return e.className=n,e.innerHTML=t,e}var sharedGeometry=new THREE__namespace.CircleBufferGeometry(.12,16),vertexShader=`
|
|
1711
1711
|
varying vec2 vUv;
|
|
1712
1712
|
void main() {
|
|
1713
1713
|
vUv = uv;
|
|
@@ -1797,7 +1797,7 @@ void main() {
|
|
|
1797
1797
|
|
|
1798
1798
|
gl_FragColor = vec4(gl_FragColor.rgb, gl_FragColor.a * opacity * outside * inside);
|
|
1799
1799
|
}
|
|
1800
|
-
`,PanoSphereMesh=function(n){__extends(t,n);function t(){var e=n.call(this)||this;e.progress=0,e.opacity=0,e.loading=!1,e.current=!1,e.disabled=!1,e.currentMotion=new Motion({ringScale:1.1,ringOpacity:0,circleFade:0,circleOpacity:.85,circleScale:1}),e.opacityMotion=new Motion({opacity:0}),e.loadingMotion=new Motion({opacity:0}),e.disableMotion=new Motion({opacity:0});var r={blending:THREE__namespace.CustomBlending,blendSrc:THREE__namespace.SrcAlphaFactor,blendDst:THREE__namespace.OneMinusSrcAlphaFactor,blendSrcAlpha:THREE__namespace.OneFactor,blendDstAlpha:THREE__namespace.OneMinusSrcAlphaFactor,depthWrite:!1,transparent:!0};return e.hitTestMesh=new THREE__namespace.Mesh(sharedGeometry,new THREE__namespace.MeshBasicMaterial(__assign(__assign({},r),{color:0,opacity:0}))),e.hitTestMesh.scale.set(1.5,1.5,1.5),e.ringMesh=new THREE__namespace.Mesh(sharedGeometry,new THREE__namespace.ShaderMaterial(__assign(__assign({},r),{vertexShader:ringVertexShader,fragmentShader:ringFragmentShader,uniforms:{opacity:{value:0}}}))),e.panoMesh=new THREE__namespace.Mesh(sharedGeometry,new THREE__namespace.ShaderMaterial(__assign(__assign({},r),{vertexShader,fragmentShader,uniforms:{circleScale:{value:1.1},circleFade:{value:0},circleOpacity:{value:.5},loadingAngle:{value:0},loadingOpacity:{value:0},opacity:{value:0},disable:{value:0}}}))),e.add(e.hitTestMesh),e.add(e.ringMesh),e.add(e.panoMesh),e.renderOrder=1e4,e.needsRender=!0,e}return t.prototype.setProgress=function(e){this.progress=e,this.setLoading(e>0)},t.prototype.setOpacity=function(e){this.opacity!==e&&(this.opacity=e=clamp(e,0,1),this.opacityMotion.set({opacity:e},30).catch(noop$1))},t.prototype.setCurrent=function(e){if(this.current!==e){if(e){var r=[{progress:0,value:{ringScale:2,ringOpacity:0,circleFade:0,circleOpacity:.85,circleScale:1}},{progress:.05,value:{ringScale:1,ringOpacity:1,circleFade:0,circleOpacity:.85,circleScale:1}},{progress:.15,value:{ringScale:1.2,ringOpacity:1,circleFade:0,circleOpacity:.85,circleScale:1}},{progress:.25,value:{ringScale:1.1,ringOpacity:1,circleFade:0,circleOpacity:.85,circleScale:1}},{progress:.8,value:{ringScale:1.1,ringOpacity:1,circleFade:1,circleOpacity:.85,circleScale:1}},{progress:.9,value:{ringScale:1.1,ringOpacity:1,circleFade:1,circleOpacity:.65,circleScale:.8}},{progress:.92,value:{ringScale:1.1,ringOpacity:1,circleFade:1,circleOpacity:.65,circleScale:.8}},{progress:1,value:{ringScale:1.1,ringOpacity:1,circleFade:1,circleOpacity:.85,circleScale:1.1}}];this.currentMotion.setKeyframes(r,1500).catch(noop$1)}else{var r=[{progress:0,value:__assign({},this.currentMotion.value)},{progress:1,value:{ringScale:1.1,ringOpacity:0,circleFade:0,circleOpacity:.85,circleScale:1}}];this.currentMotion.setKeyframes(r,200).catch(noop$1)}this.current=e}},t.prototype.setLoading=function(e){this.loading!==e&&(e?this.loadingMotion.setKeyframes([{progress:0,value:{opacity:0}},{progress:.3,value:{opacity:0}},{progress:1,value:{opacity:.8}}],500).catch(noop$1):this.loadingMotion.set({opacity:0},0).catch(noop$1),this.loading=e,this.disabled===!0&&this.setDisabled(!1),this.needsRender=!0)},t.prototype.setDisabled=function(e){this.disabled!==e&&(this.disabled=e,this.loading===!0&&this.setLoading(!1),this.disableMotion.set({opacity:e?1:0},300).catch(noop$1),this.needsRender=!0)},t.prototype.tap=function(){return Promise.resolve()},t.prototype.updateTime=function(e,r){this.opacityMotion.update(e),this.currentMotion.update(e),this.loadingMotion.update(e);var i=this.opacityMotion.value.opacity;this.visible=i!==0;var o=this.currentMotion.value,s=o.ringScale,u=o.ringOpacity,l=o.circleFade,c=o.circleOpacity,d=o.circleScale;this.ringMesh.scale.set(s,1,s),this.ringMesh.material.uniforms.opacity.value=u*i,this.panoMesh.material.uniforms.opacity.value=i,this.panoMesh.material.uniforms.circleOpacity.value=c,this.panoMesh.material.uniforms.circleScale.value=d,this.panoMesh.material.uniforms.circleFade.value=l,this.panoMesh.material.uniforms.loadingOpacity.value=this.loadingMotion.value.opacity,this.panoMesh.material.uniforms.disable.value=this.disableMotion.value.opacity,this.panoMesh.material.uniforms.loadingAngle.value=e/120%(Math.PI*2),this.needsRender=!0},t.prototype.dispose=function(){this.hitTestMesh.material.dispose(),this.ringMesh.material.dispose(),this.panoMesh.material.dispose()},t}(THREE__namespace.Object3D),ACTIVE_TO_CURRENT_DELAY=1500,VRPanoramaController=function(n){__extends(t,n);function t(e){var r=this,i=t.parseArgs(e);r=n.call(this,i)||this,r.mode="VRPanorama",r.cardboard=new Cardboard(r.renderer);var o=createHelper();r.helperElement=o;var s=new Hammer(o);return r.element.parentNode&&(r.element.parentNode.insertBefore(o,r.element),r.setHelperElementSize(),s.on("tap",function(){return r.emit("vr.requestExit",createEvent("vr.requestExit",{}))})),r.destroyHelper=function(){s.destroy(),o.parentNode&&o.parentNode.removeChild(o),delete r.helperElement},r}return t.parseArgs=function(e){if(e instanceof t)return e;var r=__assign(__assign({},e),{maxLatitude:Math.PI/2,minLatitude:-Math.PI/2});return n.parseArgs.call(this,r)},t.initAnimationEndState=function(e){var r=this.parseArgs(e),i=n.initAnimationEndState.call(this,r);return __assign(__assign({},i),{mode:"VRPanorama"})},t.prototype.destroy=function(){n.prototype.destroy.call(this),this.cardboard.dispose(),this.destroyHelper();for(var e=Object.keys(this.panoMeshes),r=0,i=e;r<i.length;r++){var o=i[r],s=this.panoMeshes[o];this.helper.remove(s),s.dispose(),delete this.panoMeshes[o]}},t.prototype.isReady=function(){return!1},t.prototype.updateRenderSize=function(){this.needsRender=!0,this.setHelperElementSize()},t.prototype.updateCamera=function(e,r,i){return Promise.resolve()},t.prototype.updateCameraWithKeyframes=function(e,r,i){return Promise.resolve()},t.prototype.updatePanoMeshesVisible=function(){for(var e=this.works.getResolvedObserver(this.currentPano),r=(e?e.visibleIds:[]).concat(panoStringify(this.currentPano)),i=0,o=this.works.resolvedObservers;i<o.length;i++){var s=o[i],u=this.panoMeshes[s.panoId];u&&(r.indexOf(s.panoId)>=0?u.parent!==this.helper&&this.helper.add(u):u.parent===this.helper&&(this.helper.remove(u),u.setOpacity(0)))}},t.prototype.updatePanoMeshes=function(){for(var e=Object.keys(this.panoMeshes),r=0,i=e;r<i.length;r++){var o=i[r],s=this.panoMeshes[o];this.helper.remove(s),s.dispose(),delete this.panoMeshes[o]}for(var u=0,l=this.works.resolvedObservers;u<l.length;u++){var c=l[u],d=c.panoId,f=new PanoSphereMesh;f.name="panoSphere_".concat(d),f.position.copy(c.position),f.needsRender=!0,this.panoMeshes[d]=f}this.updatePanoMeshesVisible()},t.prototype.updateTime=function(e,r){var i=this,o,s,u,l,c,d,f,v,p,A;if(!this.destroyed){var m=this.currentPano;this.userAction=!0,this.needsRender=!0;var y={},h={},g=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),b=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),E=!1;if(this.modelAlphaMotion.ended===!1&&(this.modelAlphaMotion.update(e),y.modelAlpha=this.modelAlphaMotion.value.modelAlpha),this.perspToOrthoMotion.ended===!1&&(this.perspToOrthoMotion.update(e),this.camera.perspToOrtho.setScalar(clamp(this.perspToOrthoMotion.value.perspToOrtho,0,1))),this.locationMotion.ended===!1){this.locationMotion.update(e);var T=this.locationMotion.getKeyFrameSegment(e),_=T[0],x=T[1],w=this.panoResourceFromLocationMotionKeyframe(_),S=this.panoResourceFromLocationMotionKeyframe(x),C=w.position,R=S.position,I=this.locationMotion.value.count-x.value.count+1;y.progress=I,S.panoPicture&&(I<1?w.panoPicture&&(y.pano0=w.panoPicture):y.pano0=S.panoPicture,y.pano1=S.panoPicture),S.effect==="montage"?y.transition="BLACK":S.effect==="spread"?y.transition="SPREAD":y.transition="FADE",I<1&&S.effect!=="fly"&&(y.pano0&&w.panoPicture&&(y.pano0={map:y.pano0.map,luminanceMap:y.pano0.luminanceMap,matrix:w.panoPicture.matrix.clone().premultiply(w.fixCameraTransform).setPosition(S.position)}),C.copy(R),E=!0),h.distance=this.locationMotion.value.distance,h.offset=new THREE__namespace.Vector3(C.x+(R.x-C.x)*I,C.y+(R.y-C.y)*I,C.z+(R.z-C.z)*I);for(var B=[],F=[],L=0,O=this.locationMotion.keyframes;L<O.length;L++){var k=O[L],Q=k.key,U=k.progress;Q!==void 0&&(B.push(Q),U>this.locationMotion.progress&&F.push(Q))}for(var N=0,G=Object.keys(this.panoResources);N<G.length;N++){var K=G[N];if(!(F.indexOf(K)>=0)){var X=this.panoResources[K];if(X.panoPicture){var D=X.panoPicture.map,W=X.panoPicture.luminanceMap;if(D){if(D===((o=y.pano0)===null||o===void 0?void 0:o.map)||D===((s=y.pano1)===null||s===void 0?void 0:s.map))continue;D instanceof TileCubeTextureTarget&&D.cubeRenderTarget&&this.colorCubeRenderTargetPool.push(D.cubeRenderTarget),D.dispose(),W&&(W instanceof TileCubeTextureTarget&&W.cubeRenderTarget&&this.luminanceCubeRenderTargetPool.push(W.cubeRenderTarget),W.dispose()),X.panoPicture=null}}B.indexOf(K)>=0||delete this.panoResources[K]}}this.currentPano=panoParse(S.panoId),this.emit("pano.moving",createEvent("pano.moving",{userAction:this.userAction,prevPano:panoParse(g.panoId),state:__assign(__assign(__assign(__assign({},panoParse(b.panoId)),{mode:this.mode}),clonePose(this.camera.pose)),h),options:{},progress:this.locationMotion.progress,error:null}))}isEmptyObject(y)===!1&&(!((u=y.pano0)===null||u===void 0)&&u.map&&y.pano0.map instanceof TileCubeTextureTarget&&!y.pano0.map.cubeRenderTarget&&(y.pano0.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),!((l=y.pano0)===null||l===void 0)&&l.luminanceMap&&y.pano0.luminanceMap instanceof TileCubeTextureTarget&&!y.pano0.luminanceMap.cubeRenderTarget&&(y.pano0.luminanceMap.cubeRenderTarget=this.luminanceCubeRenderTargetPool.pop()),!((c=y.pano1)===null||c===void 0)&&c.map&&y.pano1.map instanceof TileCubeTextureTarget&&!y.pano1.map.cubeRenderTarget&&(y.pano1.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),!((d=y.pano1)===null||d===void 0)&&d.luminanceMap&&y.pano1.luminanceMap instanceof TileCubeTextureTarget&&!y.pano1.luminanceMap.cubeRenderTarget&&(y.pano1.luminanceMap.cubeRenderTarget=this.luminanceCubeRenderTargetPool.pop()),this.models.setMaterial(y)),h.offset&&this.camera.position.copy(h.offset),panoEqual(this.currentPano,m)&&this.updatePanoMeshesVisible();var q=this.camera.pose.longitude,ae=this.camera.pose.latitude;this.camera.quaternion.fromArray(this.cardboard.sensor.getOrientation()),this.camera.computePose();var Y=this.works.getResolvedObserver(this.currentPano);if(this.camera.pose.distance>.1||E)for(var re=0,$=Object.keys(this.panoMeshes);re<$.length;re++){var oe=$[re],J=this.panoMeshes[oe];J.setOpacity(0),J.updateTime&&J.updateTime(e,r),J.visible=!1}else if(Y)for(var ie=Y.visibleIds.concat(panoStringify(this.currentPano)),se=0,ne=ie;se<ne.length;se++){var oe=ne[se],pe=panoParse(oe),Z=this.works.getResolvedObserver(pe);if(Z){var J=this.panoMeshes[oe];if(!Z.loadable&&!Z.active){J.setOpacity(0);continue}var ee=J.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);ee<.05?J.setOpacity(0):J.setOpacity(clamp(1.5/ee,0,1)),panoEqual(this.currentPano,pe)&&J.setOpacity(0),J.lookAt(this.camera.position)}}if(this.locationMotion.ended)for(var z=this.intersect(e),de=0,ce=this.works.resolvedObservers;de<ce.length;de++){var Z=ce[de],J=this.panoMeshes[Z.panoId];J&&(J.setCurrent(J===z),J.updateTime&&J.updateTime(e,r))}(q!==this.camera.pose.longitude||ae!==this.camera.pose.latitude)&&(this.cameraMotion.set(pick(this.camera.pose,["longitude","latitude"]),0).catch(noop$1),this.emit("camera.update",createEvent("camera.update",{userAction:!0,state:__assign(__assign(__assign({},this.currentPano),{mode:this.mode}),clonePose(this.camera.pose))})));var ye=this.tileLevel=function(){if(i.tileLevelForFov===!1)return 0;var ue=i.renderer.getDrawingBufferSize(new THREE__namespace.Vector2);ue.width*=i.scissor.width,ue.height*=i.scissor.height;var le=b.panoId,ge=i.works.getResolvedObserver(le),fe=i.imageOptions.size;if(typeof fe=="undefined"&&ge){var Ae=ge.images.up.match(/\/cube_(\d+)\//);Ae&&(fe=Number(Ae[1]))}typeof fe=="undefined"&&(fe=2048);var be=0;fe>=1024&&(be=1),fe>=2048&&(be=2),fe>=4096&&(be=3),fe>=8192&&(be=4);var Ee=i.tileLevelForFov(i.camera.fov,ue);return Ee>be?Ee:0}(),Te=function(){var ue=i.camera.quaternion.clone(),le=i.works.getResolvedObserver(b.panoId),ge=le!=null?le:Y;ge&&ue.premultiply(ge.quaternion.clone().inverse());var fe=new THREE__namespace.Matrix4().makeRotationFromQuaternion(ue),Ae=new THREE__namespace.Matrix4().getInverse(fe),be=new THREE__namespace.Frustum().setFromProjectionMatrix(new THREE__namespace.Matrix4().multiplyMatrices(i.camera.projectionMatrix,Ae));return be}();b.panoId===panoStringify(this.currentPano)&&(((f=b.panoPicture)===null||f===void 0?void 0:f.map)instanceof TileCubeTextureTarget&&(b.panoPicture.map.update(Te,ye),b.panoPicture.map.needsRender===!0&&(b.panoPicture.map.needsRender=!1,this.needsRender=!0)),((v=b.panoPicture)===null||v===void 0?void 0:v.luminanceMap)instanceof TileCubeTextureTarget&&(b.panoPicture.luminanceMap.update(Te,ye),b.panoPicture.luminanceMap.needsRender===!0&&(b.panoPicture.luminanceMap.needsRender=!1,this.needsRender=!0)));{var _e=this.tiling.object.visible;if(this.initAnimationed){var we=b.panoId,ve=this.works.getResolvedObserver(we);ve?isSimilarVector3(this.camera.position,ve.position)&&this.locationMotion.ended?(this.tiling.object.visible=!0,this.tiling.panoId!==we&&this.tiling.cleanup(),this.tiling.panoId=we,this.tiling.setResource((A=(p=ve.images)===null||p===void 0?void 0:p.tiles)!==null&&A!==void 0?A:[],this.enableIOSEDR&&ve.images.luminance?ve.images.luminance:null),this.tiling.setFetcher(getFetcher(ve.work)),this.tiling.setRotation(ve.quaternion),this.tiling.setPosition(ve.position),ye>this.TILED_CUBE_TEXTURE_LEVEL?this.tiling.update(Te,ye,e):this.tiling.update(Te,0,e)):this.tiling.object.visible=!1:this.tiling.object.visible=!1}else this.tiling.object.visible=!1;_e!==this.tiling.object.visible&&(this.tiling.object.needsRender=!0)}this.panoVideo.object.position.copy(this.camera.position),this.panoVideo.updateTime(e)}},t.prototype.render=function(){this.cardboard.render(this.scene,this.camera)},t.prototype.setCamera=function(e){},t.prototype.destroyHelper=function(){},t.prototype.setHelperElementSize=function(){if(this.helperElement){var e=new THREE__namespace.Vector2(this.element.offsetWidth,this.element.offsetHeight),r=e.x*this.scissor.left,i=e.y*(1-this.scissor.bottom-this.scissor.height),o=e.x*this.scissor.width,s=e.y*this.scissor.height;this.helperElement.style.marginLeft=r+"px",this.helperElement.style.marginTop=i+"px",this.helperElement.style.width=o+"px",this.helperElement.style.height=s+"px"}},t.prototype.intersect=function(e){var r,i;if(this.locationMotion.ended===!1){this.intersectMesh.visible=!1,delete this.activePanoMesh,delete this.activeTime;return}if(this.activePanoMesh&&this.activeTime&&e-this.activeTime>ACTIVE_TO_CURRENT_DELAY){for(var o=this.activePanoMesh,s=Object.keys(this.panoMeshes),u=null,l=0,c=s;l<c.length;l++){var d=c[l];if(this.panoMeshes[d]===o){u=d;break}}return u!==null&&this.moveToPano(panoParse(u),{},!0),delete this.activePanoMesh,delete this.activeTime,o}var f=this.camera.getDirection(new THREE__namespace.Vector3),v=new THREE__namespace.Raycaster(this.camera.position,f);v.params.Points={threshold:.1};for(var p=void 0,A=[],m=this.works.getResolvedObserver(this.currentPano),y=m?m.visibleIds:[],h=0,g=y;h<g.length;h++){var u=g[h],b=this.panoMeshes[u],E=v.intersectObject((r=b.hitTestMesh)!==null&&r!==void 0?r:b,!0)[0];E&&A.push({panoMesh:b,intersection:__assign({floor:(i=m==null?void 0:m.floorIndex)!==null&&i!==void 0?i:0},E)})}var T=A.sort(function(R,I){return R.intersection.distance-I.intersection.distance})[0];T?(p=T.intersection,this.activePanoMesh!==T.panoMesh&&(this.activePanoMesh=T.panoMesh,this.activeTime=e),this.intersectMesh.position.copy(T.panoMesh.position),this.intersectMesh.lookAt(this.camera.position)):(this.activePanoMesh=void 0,this.activeTime=void 0),p||(p=this.models.intersectRaycaster(v)[0]);var _=createEvent("intersect.update",{raycaster:v,intersection:p!=null?p:null,object:this.intersectMesh});if(this.emit("intersect.update",_),_.defaultPrevented){this.hideIntersectMesh();return}if(p&&p.face){var x=p.face.normal,w=new THREE__namespace.Quaternion;w.setFromUnitVectors(new THREE__namespace.Vector3(0,0,1),x),this.intersectMesh.quaternion.copy(w);var S=x.clone().multiplyScalar(.05),C=p.point.clone().add(S);this.intersectMesh.position.copy(C),T?this.intersectMesh.visible=!1:this.intersectMesh.visible=!0}else this.intersectMesh.visible=!1;return T==null?void 0:T.panoMesh},t.prototype.onPanGesture=function(){},t.prototype.onTapGesture=function(){},t.prototype.onPinchGesture=function(){},t.prototype.onMouseMove=function(){},t.prototype.onMouseOut=function(){},t}(PanoramaController),HUMAN_EYE_POSITION=new THREE__namespace.Vector3(0,1.6,0),ModelController=function(n){__extends(t,n);function t(e){var r=this,i,o=t.parseArgs(e);return r=n.call(this,o)||this,r.mode="Model",r.locationMotion=new Motion({x:r.camera.pose.offset.x,y:r.camera.pose.offset.y,z:r.camera.pose.offset.z,distance:r.camera.pose.distance}),r.modelAlphaMotion=new Motion({modelAlpha:(i=r.models.getMaterial().modelAlpha)!==null&&i!==void 0?i:0}),r.perspToOrthoMotion=new Motion({perspToOrtho:r.camera.perspToOrtho.x}),r}return t.parseArgs=function(e){return e instanceof t?e:n.parseArgs.call(this,e)},t.initAnimationEndState=function(e){var r,i,o,s,u,l,c=this.parseArgs(e),d=c.works,f=e.initial,v=f.state,p=f.currentState,A=typeof v.panoIndex=="number"?{workCode:(o=(r=v.workCode)!==null&&r!==void 0?r:(i=c.works[0])===null||i===void 0?void 0:i.workCode)!==null&&o!==void 0?o:"",panoIndex:v.panoIndex}:{workCode:p.workCode,panoIndex:p.panoIndex},m=d.getResolvedObserver(A),y=(s=v.longitude)!==null&&s!==void 0?s:p.longitude,h=clamp((u=v.latitude)!==null&&u!==void 0?u:!m||isFristPersonMode(p.mode)?p.latitude:c.defaultLatitude,c.minLatitude,c.maxLatitude),g=clamp((l=v.fov)!==null&&l!==void 0?l:!m||isFristPersonMode(p.mode)?p.fov:c.defaultFov,c.minFov,c.maxFov),b=new THREE__namespace.Vector3;if(c.initial.state.offset)b.copy(c.initial.state.offset);else if(m)b.copy(m.position);else{var E=coordinatesToVector(p).setLength(p.distance);b.copy(c.initial.currentState.offset).sub(E)}return{workCode:A.workCode,panoIndex:A.panoIndex,mode:"Model",longitude:y,latitude:h,fov:g,offset:b,distance:0}},t.prototype.destroy=function(){n.prototype.destroy.call(this),this.locationMotion.dispose()},t.prototype.isReady=function(){return this.locationMotion.ended!==!1},t.prototype.updateWork=function(e,r,i,o){this.works=e;var s=t.initAnimationEndState(__assign(__assign({},this),{initial:{currentState:__assign(__assign({},this.currentPano),this.camera.pose),duration:i.duration,effect:i.effect,state:r,userAction:o}}));return this.hideIntersectMesh(),this.moveToPosition(s.offset,{duration:0,longitude:s.longitude,latitude:s.latitude,fov:s.fov},o),!0},t.prototype.updateCamera=function(e,r,i){var o=this;return this.initAnimationReady.then(function(){o.userAction=i,o.stopMomentumMovement();var s={},u={};return s.distance=0,e.offset!==void 0&&(s.x=e.offset.x,s.y=e.offset.y,s.z=e.offset.z),e.longitude!==void 0&&(u.longitude=e.longitude),e.latitude!==void 0&&(u.latitude=e.latitude),e.fov!==void 0&&(u.fov=e.fov),o.locationMotion.set(s,r).catch(noop$1),o.cameraMotion.set(u,r).catch(noop$1)})},t.prototype.updateCameraWithKeyframes=function(e,r,i){var o=this;return this.initAnimationReady.then(function(){o.userAction=i,o.stopMomentumMovement();for(var s=[],u=[],l=0,c=e;l<c.length;l++){var d=c[l];s.push({key:d.key,progress:d.progress,value:{distance:0,x:d.value.offset.x,y:d.value.offset.x,z:d.value.offset.x}}),u.push({key:d.key,progress:d.progress,value:{longitude:d.value.longitude,latitude:d.value.latitude,fov:d.value.fov}})}return o.locationMotion.setKeyframes(s,r).catch(noop$1),o.cameraMotion.setKeyframes(e,r)})},t.prototype.updateTime=function(e,r){if(!this.destroyed){var i={},o={};if(this.modelAlphaMotion.ended||(this.modelAlphaMotion.update(e),i.modelAlpha=this.modelAlphaMotion.value.modelAlpha),this.perspToOrthoMotion.ended||(this.perspToOrthoMotion.update(e),this.camera.perspToOrtho.setScalar(clamp(this.perspToOrthoMotion.value.perspToOrtho,0,1))),!this.locationMotion.ended){this.locationMotion.update(e),o.distance=this.locationMotion.value.distance,o.offset=new THREE__namespace.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z);var s=new THREE__namespace.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z),u=this.works.resolvedObservers,l=arrayMin(u,function(c){return c.position.distanceTo(s)});this.currentPano=l?{workCode:l.work.workCode,panoIndex:l.panoIndex}:{workCode:"",panoIndex:0}}this.cameraMotion.ended||(this.cameraMotion.update(e),o.longitude=this.cameraMotion.value.longitude,o.latitude=this.cameraMotion.value.latitude,o.fov=this.cameraMotion.value.fov),isEmptyObject(i)||this.models.setMaterial(i),isEmptyObject(o)||this.setCamera(o)}},t.prototype.initAnimation=function(){var e=this;return this.destroyed?Promise.resolve():new Promise(function(r){var i=e.initial;i.state,i.currentState;var o=i.duration,s=i.userAction;e.userAction=s;var u=t.initAnimationEndState(e),l={modelAlpha:1},c={perspToOrtho:0},d={longitude:u.longitude,latitude:u.latitude,fov:u.fov,duration:o,moveStartCallback:function(f){e.perspToOrthoMotion.set(c,o).catch(noop$1),e.modelAlphaMotion.set(l,o).catch(noop$1),e.emit("initAnimation.start",createEvent("initAnimation.start",{state:f,userAction:e.userAction}))},moveEndCallback:function(f){e.emit("initAnimation.end",createEvent("initAnimation.end",{state:f,userAction:e.userAction})),r()},moveCancelCallback:function(){var f=e.currentPano,v=__assign(__assign({},f),{mode:e.mode,longitude:e.camera.pose.longitude,latitude:e.camera.pose.latitude,fov:e.camera.pose.fov,offset:e.camera.pose.offset.clone(),distance:e.camera.pose.distance});e.emit("initAnimation.end",createEvent("initAnimation.end",{state:v,userAction:e.userAction})),r()}};e.moveToPosition(u.offset,d,s)})},t.prototype.getTargetState=function(){var e=this.cameraMotion.getKeyFrameSegment(now())[1],r=this.locationMotion.getKeyFrameSegment(now())[1];return __assign(__assign({},this.currentPano),{mode:this.mode,longitude:e.value.longitude,latitude:e.value.latitude,fov:e.value.fov,offset:new THREE__namespace.Vector3(r.value.x,r.value.y,r.value.z),distance:r.value.distance})},t.prototype.moveToPano=function(e,r,i){r===void 0&&(r={});var o=this.works.getResolvedObserver(e);o&&this.moveToPosition(o.position,r,i)},t.prototype.moveToPosition=function(e,r,i){var o=this,s,u,l;r===void 0&&(r={}),this.userAction=i,this.stopMomentumMovement();for(var c=now(),d=new THREE__namespace.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z),f=d.distanceTo(e),v=this.locationMotion.getProgressVelocity(c),p=0,A=1;A<this.locationMotion.keyframes.length;A++){var m=this.locationMotion.keyframes[A-1].value,y=m.x,h=m.y,g=m.z,b=this.locationMotion.keyframes[A].value,E=b.x,T=b.y,_=b.z;p+=Math.sqrt(Math.pow(E-y,2)+Math.pow(T-h,2)+Math.pow(_-g,2))}var x=f===0?0:v*p/f,w=this.calculateMovingDuration(r.duration,f),S={x:e.x,y:e.y,z:e.z,distance:0},C={longitude:r.longitude,latitude:r.latitude,fov:r.fov},R=this.works.resolvedObservers,I=arrayMin(R,function(O){return O.position.distanceTo(d)}),B=I?{workCode:I.work.workCode,panoIndex:I.panoIndex}:{workCode:"",panoIndex:0},F=__assign(__assign({},B),{mode:this.mode,longitude:(s=C.longitude)!==null&&s!==void 0?s:this.camera.pose.longitude,latitude:(u=C.latitude)!==null&&u!==void 0?u:this.camera.pose.latitude,fov:(l=C.fov)!==null&&l!==void 0?l:this.camera.pose.fov,offset:e.clone(),distance:0}),L=this.currentPano;this.emit("pano.moveTo",createEvent("pano.moveTo",{options:r,prevPano:L,progress:0,state:F,userAction:this.userAction,error:null})),r.moveStartCallback&&r.moveStartCallback(F),this.cameraMotion.set(C,w).catch(noop$1),this.locationMotion.set(S,w,x).then(function(){var O=__assign(__assign(__assign({},B),{mode:o.mode}),clonePose(o.camera.pose));o.emit("pano.arrived",createEvent("pano.arrived",{options:r,prevPano:L,progress:0,state:O,userAction:o.userAction,error:null})),r.moveEndCallback&&r.moveEndCallback(O)},function(){r.moveCancelCallback&&r.moveCancelCallback(),o.emit("pano.cancel",createEvent("pano.cancel",{options:r,prevPano:L,progress:0,state:F,userAction:o.userAction,error:null}))})},t.prototype.onTapGesture=function(e){var r=e.center.raycaster;this.stopMomentumMovement();var i=this.models.intersectRaycaster(r)[0];if(i&&i.face){var o=i.face.normal,s=i.point;if(new THREE__namespace.Vector3(0,1,0).angleTo(o)>Math.PI/3){var u=o.clone().setLength(.3).add(s);r.set(u,new THREE__namespace.Vector3(0,-1,0)),i=this.models.intersectRaycaster(r)[0]}}if(i){var l=new THREE__namespace.Vector3().copy(i.point).add(HUMAN_EYE_POSITION),c=this.works.resolvedObservers,d=arrayMin(c,function(p){return p.position.distanceTo(l)},!0),f=d[0],v=d[1];f&&v<5&&(l.y=f.position.y),e.state.offset.copy(l),e.state.distance=0,this.emit("gesture.tap",e),e.defaultPrevented||this.moveToPosition(l,{},!0)}else this.emit("gesture.tap",e),e.defaultPrevented||this.cameraBounce()},t}(PanoramaLikeController);const edlVertexShader=function n(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,o=0,s="";return t[o].split(s).map(function(u){return u.charCodeAt(o)>i?u:String.fromCharCode((u.charCodeAt(o)+r)%i)}).join(s)}(`}rpvv|{-zrqvz}-sy|nH}rpvv|{-zrqvz}-v{Hnvor-rp@-}|vv|{Hnvor-rp?-H{vs|z-znA-}|wrpv|{Znv\x07H{vs|z-znA-z|qrycvrZnv\x07Hn\bv{t-rp?-bH|vq-znv{56-
|
|
1800
|
+
`,PanoSphereMesh=function(n){__extends(t,n);function t(){var e=n.call(this)||this;e.progress=0,e.opacity=0,e.loading=!1,e.current=!1,e.disabled=!1,e.currentMotion=new Motion({ringScale:1.1,ringOpacity:0,circleFade:0,circleOpacity:.85,circleScale:1}),e.opacityMotion=new Motion({opacity:0}),e.loadingMotion=new Motion({opacity:0}),e.disableMotion=new Motion({opacity:0});var r={blending:THREE__namespace.CustomBlending,blendSrc:THREE__namespace.SrcAlphaFactor,blendDst:THREE__namespace.OneMinusSrcAlphaFactor,blendSrcAlpha:THREE__namespace.OneFactor,blendDstAlpha:THREE__namespace.OneMinusSrcAlphaFactor,depthWrite:!1,transparent:!0};return e.hitTestMesh=new THREE__namespace.Mesh(sharedGeometry,new THREE__namespace.MeshBasicMaterial(__assign(__assign({},r),{color:0,opacity:0}))),e.hitTestMesh.scale.set(1.5,1.5,1.5),e.ringMesh=new THREE__namespace.Mesh(sharedGeometry,new THREE__namespace.ShaderMaterial(__assign(__assign({},r),{vertexShader:ringVertexShader,fragmentShader:ringFragmentShader,uniforms:{opacity:{value:0}}}))),e.panoMesh=new THREE__namespace.Mesh(sharedGeometry,new THREE__namespace.ShaderMaterial(__assign(__assign({},r),{vertexShader,fragmentShader,uniforms:{circleScale:{value:1.1},circleFade:{value:0},circleOpacity:{value:.5},loadingAngle:{value:0},loadingOpacity:{value:0},opacity:{value:0},disable:{value:0}}}))),e.add(e.hitTestMesh),e.add(e.ringMesh),e.add(e.panoMesh),e.renderOrder=1e4,e.needsRender=!0,e}return t.prototype.setProgress=function(e){this.progress=e,this.setLoading(e>0)},t.prototype.setOpacity=function(e){this.opacity!==e&&(this.opacity=e=clamp(e,0,1),this.opacityMotion.set({opacity:e},30).catch(noop$1))},t.prototype.setCurrent=function(e){if(this.current!==e){if(e){var r=[{progress:0,value:{ringScale:2,ringOpacity:0,circleFade:0,circleOpacity:.85,circleScale:1}},{progress:.05,value:{ringScale:1,ringOpacity:1,circleFade:0,circleOpacity:.85,circleScale:1}},{progress:.15,value:{ringScale:1.2,ringOpacity:1,circleFade:0,circleOpacity:.85,circleScale:1}},{progress:.25,value:{ringScale:1.1,ringOpacity:1,circleFade:0,circleOpacity:.85,circleScale:1}},{progress:.8,value:{ringScale:1.1,ringOpacity:1,circleFade:1,circleOpacity:.85,circleScale:1}},{progress:.9,value:{ringScale:1.1,ringOpacity:1,circleFade:1,circleOpacity:.65,circleScale:.8}},{progress:.92,value:{ringScale:1.1,ringOpacity:1,circleFade:1,circleOpacity:.65,circleScale:.8}},{progress:1,value:{ringScale:1.1,ringOpacity:1,circleFade:1,circleOpacity:.85,circleScale:1.1}}];this.currentMotion.setKeyframes(r,1500).catch(noop$1)}else{var r=[{progress:0,value:__assign({},this.currentMotion.value)},{progress:1,value:{ringScale:1.1,ringOpacity:0,circleFade:0,circleOpacity:.85,circleScale:1}}];this.currentMotion.setKeyframes(r,200).catch(noop$1)}this.current=e}},t.prototype.setLoading=function(e){this.loading!==e&&(e?this.loadingMotion.setKeyframes([{progress:0,value:{opacity:0}},{progress:.3,value:{opacity:0}},{progress:1,value:{opacity:.8}}],500).catch(noop$1):this.loadingMotion.set({opacity:0},0).catch(noop$1),this.loading=e,this.disabled===!0&&this.setDisabled(!1),this.needsRender=!0)},t.prototype.setDisabled=function(e){this.disabled!==e&&(this.disabled=e,this.loading===!0&&this.setLoading(!1),this.disableMotion.set({opacity:e?1:0},300).catch(noop$1),this.needsRender=!0)},t.prototype.tap=function(){return Promise.resolve()},t.prototype.updateTime=function(e,r){this.opacityMotion.update(e),this.currentMotion.update(e),this.loadingMotion.update(e);var i=this.opacityMotion.value.opacity;this.visible=i!==0;var o=this.currentMotion.value,s=o.ringScale,u=o.ringOpacity,c=o.circleFade,l=o.circleOpacity,d=o.circleScale;this.ringMesh.scale.set(s,1,s),this.ringMesh.material.uniforms.opacity.value=u*i,this.panoMesh.material.uniforms.opacity.value=i,this.panoMesh.material.uniforms.circleOpacity.value=l,this.panoMesh.material.uniforms.circleScale.value=d,this.panoMesh.material.uniforms.circleFade.value=c,this.panoMesh.material.uniforms.loadingOpacity.value=this.loadingMotion.value.opacity,this.panoMesh.material.uniforms.disable.value=this.disableMotion.value.opacity,this.panoMesh.material.uniforms.loadingAngle.value=e/120%(Math.PI*2),this.needsRender=!0},t.prototype.dispose=function(){this.hitTestMesh.material.dispose(),this.ringMesh.material.dispose(),this.panoMesh.material.dispose()},t}(THREE__namespace.Object3D),ACTIVE_TO_CURRENT_DELAY=1500,VRPanoramaController=function(n){__extends(t,n);function t(e){var r=this,i=t.parseArgs(e);r=n.call(this,i)||this,r.mode="VRPanorama",r.cardboard=new Cardboard(r.renderer);var o=createHelper();r.helperElement=o;var s=new Hammer(o);return r.element.parentNode&&(r.element.parentNode.insertBefore(o,r.element),r.setHelperElementSize(),s.on("tap",function(){return r.emit("vr.requestExit",createEvent("vr.requestExit",{}))})),r.destroyHelper=function(){s.destroy(),o.parentNode&&o.parentNode.removeChild(o),delete r.helperElement},r}return t.parseArgs=function(e){if(e instanceof t)return e;var r=__assign(__assign({},e),{maxLatitude:Math.PI/2,minLatitude:-Math.PI/2});return n.parseArgs.call(this,r)},t.initAnimationEndState=function(e){var r=this.parseArgs(e),i=n.initAnimationEndState.call(this,r);return __assign(__assign({},i),{mode:"VRPanorama"})},t.prototype.destroy=function(){n.prototype.destroy.call(this),this.cardboard.dispose(),this.destroyHelper();for(var e=Object.keys(this.panoMeshes),r=0,i=e;r<i.length;r++){var o=i[r],s=this.panoMeshes[o];this.helper.remove(s),s.dispose(),delete this.panoMeshes[o]}},t.prototype.isReady=function(){return!1},t.prototype.updateRenderSize=function(){this.needsRender=!0,this.setHelperElementSize()},t.prototype.updateCamera=function(e,r,i){return Promise.resolve()},t.prototype.updateCameraWithKeyframes=function(e,r,i){return Promise.resolve()},t.prototype.updatePanoMeshesVisible=function(){for(var e=this.works.getResolvedObserver(this.currentPano),r=(e?e.visibleIds:[]).concat(panoStringify(this.currentPano)),i=0,o=this.works.resolvedObservers;i<o.length;i++){var s=o[i],u=this.panoMeshes[s.panoId];u&&(r.indexOf(s.panoId)>=0?u.parent!==this.helper&&this.helper.add(u):u.parent===this.helper&&(this.helper.remove(u),u.setOpacity(0)))}},t.prototype.updatePanoMeshes=function(){for(var e=Object.keys(this.panoMeshes),r=0,i=e;r<i.length;r++){var o=i[r],s=this.panoMeshes[o];this.helper.remove(s),s.dispose(),delete this.panoMeshes[o]}for(var u=0,c=this.works.resolvedObservers;u<c.length;u++){var l=c[u],d=l.panoId,f=new PanoSphereMesh;f.name="panoSphere_".concat(d),f.position.copy(l.position),f.needsRender=!0,this.panoMeshes[d]=f}this.updatePanoMeshesVisible()},t.prototype.updateTime=function(e,r){var i=this,o,s,u,c,l,d,f,m,p,A;if(!this.destroyed){var v=this.currentPano;this.userAction=!0,this.needsRender=!0;var g={},h={},y=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),b=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),E=!1;if(this.modelAlphaMotion.ended===!1&&(this.modelAlphaMotion.update(e),g.modelAlpha=this.modelAlphaMotion.value.modelAlpha),this.perspToOrthoMotion.ended===!1&&(this.perspToOrthoMotion.update(e),this.camera.perspToOrtho.setScalar(clamp(this.perspToOrthoMotion.value.perspToOrtho,0,1))),this.locationMotion.ended===!1){this.locationMotion.update(e);var T=this.locationMotion.getKeyFrameSegment(e),x=T[0],_=T[1],w=this.panoResourceFromLocationMotionKeyframe(x),S=this.panoResourceFromLocationMotionKeyframe(_),M=w.position,C=S.position,I=this.locationMotion.value.count-_.value.count+1;g.progress=I,S.panoPicture&&(I<1?w.panoPicture&&(g.pano0=w.panoPicture):g.pano0=S.panoPicture,g.pano1=S.panoPicture),S.effect==="montage"?g.transition="BLACK":S.effect==="spread"?g.transition="SPREAD":g.transition="FADE",I<1&&S.effect!=="fly"&&(g.pano0&&w.panoPicture&&(g.pano0={map:g.pano0.map,luminanceMap:g.pano0.luminanceMap,matrix:w.panoPicture.matrix.clone().premultiply(w.fixCameraTransform).setPosition(S.position)}),M.copy(C),E=!0),h.distance=this.locationMotion.value.distance,h.offset=new THREE__namespace.Vector3(M.x+(C.x-M.x)*I,M.y+(C.y-M.y)*I,M.z+(C.z-M.z)*I);for(var B=[],F=[],L=0,k=this.locationMotion.keyframes;L<k.length;L++){var O=k[L],D=O.key,Q=O.progress;D!==void 0&&(B.push(D),Q>this.locationMotion.progress&&F.push(D))}for(var N=0,U=Object.keys(this.panoResources);N<U.length;N++){var W=U[N];if(!(F.indexOf(W)>=0)){var q=this.panoResources[W];if(q.panoPicture){var G=q.panoPicture.map,K=q.panoPicture.luminanceMap;if(G){if(G===((o=g.pano0)===null||o===void 0?void 0:o.map)||G===((s=g.pano1)===null||s===void 0?void 0:s.map))continue;G instanceof TileCubeTextureTarget&&G.cubeRenderTarget&&this.colorCubeRenderTargetPool.push(G.cubeRenderTarget),G.dispose(),K&&(K instanceof TileCubeTextureTarget&&K.cubeRenderTarget&&this.luminanceCubeRenderTargetPool.push(K.cubeRenderTarget),K.dispose()),q.panoPicture=null}}B.indexOf(W)>=0||delete this.panoResources[W]}}this.currentPano=panoParse(S.panoId),this.emit("pano.moving",createEvent("pano.moving",{userAction:this.userAction,prevPano:panoParse(y.panoId),state:__assign(__assign(__assign(__assign({},panoParse(b.panoId)),{mode:this.mode}),clonePose(this.camera.pose)),h),options:{},progress:this.locationMotion.progress,error:null}))}isEmptyObject(g)===!1&&(!((u=g.pano0)===null||u===void 0)&&u.map&&g.pano0.map instanceof TileCubeTextureTarget&&!g.pano0.map.cubeRenderTarget&&(g.pano0.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),!((c=g.pano0)===null||c===void 0)&&c.luminanceMap&&g.pano0.luminanceMap instanceof TileCubeTextureTarget&&!g.pano0.luminanceMap.cubeRenderTarget&&(g.pano0.luminanceMap.cubeRenderTarget=this.luminanceCubeRenderTargetPool.pop()),!((l=g.pano1)===null||l===void 0)&&l.map&&g.pano1.map instanceof TileCubeTextureTarget&&!g.pano1.map.cubeRenderTarget&&(g.pano1.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),!((d=g.pano1)===null||d===void 0)&&d.luminanceMap&&g.pano1.luminanceMap instanceof TileCubeTextureTarget&&!g.pano1.luminanceMap.cubeRenderTarget&&(g.pano1.luminanceMap.cubeRenderTarget=this.luminanceCubeRenderTargetPool.pop()),this.models.setMaterial(g)),h.offset&&this.camera.position.copy(h.offset),panoEqual(this.currentPano,v)&&this.updatePanoMeshesVisible();var X=this.camera.pose.longitude,se=this.camera.pose.latitude;this.camera.quaternion.fromArray(this.cardboard.sensor.getOrientation()),this.camera.computePose();var Y=this.works.getResolvedObserver(this.currentPano);if(this.camera.pose.distance>.1||E)for(var re=0,ee=Object.keys(this.panoMeshes);re<ee.length;re++){var oe=ee[re],$=this.panoMeshes[oe];$.setOpacity(0),$.updateTime&&$.updateTime(e,r),$.visible=!1}else if(Y)for(var ie=Y.visibleIds.concat(panoStringify(this.currentPano)),ne=0,ae=ie;ne<ae.length;ne++){var oe=ae[ne],Z=panoParse(oe),J=this.works.getResolvedObserver(Z);if(J){var $=this.panoMeshes[oe];if(!J.loadable&&!J.active){$.setOpacity(0);continue}var z=$.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);z<.05?$.setOpacity(0):$.setOpacity(clamp(1.5/z,0,1)),panoEqual(this.currentPano,Z)&&$.setOpacity(0),$.lookAt(this.camera.position)}}if(this.locationMotion.ended)for(var ge=this.intersect(e),fe=0,ce=this.works.resolvedObservers;fe<ce.length;fe++){var J=ce[fe],$=this.panoMeshes[J.panoId];$&&($.setCurrent($===ge),$.updateTime&&$.updateTime(e,r))}(X!==this.camera.pose.longitude||se!==this.camera.pose.latitude)&&(this.cameraMotion.set(pick(this.camera.pose,["longitude","latitude"]),0).catch(noop$1),this.emit("camera.update",createEvent("camera.update",{userAction:!0,state:__assign(__assign(__assign({},this.currentPano),{mode:this.mode}),clonePose(this.camera.pose))})));var Ae=this.tileLevel=function(){if(i.tileLevelForFov===!1)return 0;var le=i.renderer.getDrawingBufferSize(new THREE__namespace.Vector2);le.width*=i.scissor.width,le.height*=i.scissor.height;var pe=b.panoId,Te=i.works.getResolvedObserver(pe),de=i.imageOptions.size;if(typeof de=="undefined"&&Te){var be=Te.images.up.match(/\/cube_(\d+)\//);be&&(de=Number(be[1]))}typeof de=="undefined"&&(de=2048);var me=0;de>=1024&&(me=1),de>=2048&&(me=2),de>=4096&&(me=3),de>=8192&&(me=4);var _e=i.tileLevelForFov(i.camera.fov,le);return _e>me?_e:0}(),ye=function(){var le=i.camera.quaternion.clone(),pe=i.works.getResolvedObserver(b.panoId),Te=pe!=null?pe:Y;Te&&le.premultiply(Te.quaternion.clone().inverse());var de=new THREE__namespace.Matrix4().makeRotationFromQuaternion(le),be=new THREE__namespace.Matrix4().getInverse(de),me=new THREE__namespace.Frustum().setFromProjectionMatrix(new THREE__namespace.Matrix4().multiplyMatrices(i.camera.projectionMatrix,be));return me}();b.panoId===panoStringify(this.currentPano)&&(((f=b.panoPicture)===null||f===void 0?void 0:f.map)instanceof TileCubeTextureTarget&&(b.panoPicture.map.update(ye,Ae),b.panoPicture.map.needsRender===!0&&(b.panoPicture.map.needsRender=!1,this.needsRender=!0)),((m=b.panoPicture)===null||m===void 0?void 0:m.luminanceMap)instanceof TileCubeTextureTarget&&(b.panoPicture.luminanceMap.update(ye,Ae),b.panoPicture.luminanceMap.needsRender===!0&&(b.panoPicture.luminanceMap.needsRender=!1,this.needsRender=!0)));{var Ee=this.tiling.object.visible;if(this.initAnimationed){var we=b.panoId,ue=this.works.getResolvedObserver(we);ue?isSimilarVector3(this.camera.position,ue.position)&&this.locationMotion.ended?(this.tiling.object.visible=!0,this.tiling.panoId!==we&&this.tiling.cleanup(),this.tiling.panoId=we,this.tiling.setResource((A=(p=ue.images)===null||p===void 0?void 0:p.tiles)!==null&&A!==void 0?A:[],this.enableIOSEDR&&ue.images.luminance?ue.images.luminance:null),this.tiling.setFetcher(getFetcher(ue.work)),this.tiling.setRotation(ue.quaternion),this.tiling.setPosition(ue.position),Ae>this.TILED_CUBE_TEXTURE_LEVEL?this.tiling.update(ye,Ae,e):this.tiling.update(ye,0,e)):this.tiling.object.visible=!1:this.tiling.object.visible=!1}else this.tiling.object.visible=!1;Ee!==this.tiling.object.visible&&(this.tiling.object.needsRender=!0)}this.panoVideo.object.position.copy(this.camera.position),this.panoVideo.updateTime(e)}},t.prototype.render=function(){this.cardboard.render(this.scene,this.camera)},t.prototype.setCamera=function(e){},t.prototype.destroyHelper=function(){},t.prototype.setHelperElementSize=function(){if(this.helperElement){var e=new THREE__namespace.Vector2(this.element.offsetWidth,this.element.offsetHeight),r=e.x*this.scissor.left,i=e.y*(1-this.scissor.bottom-this.scissor.height),o=e.x*this.scissor.width,s=e.y*this.scissor.height;this.helperElement.style.marginLeft=r+"px",this.helperElement.style.marginTop=i+"px",this.helperElement.style.width=o+"px",this.helperElement.style.height=s+"px"}},t.prototype.intersect=function(e){var r,i;if(this.locationMotion.ended===!1){this.intersectMesh.visible=!1,delete this.activePanoMesh,delete this.activeTime;return}if(this.activePanoMesh&&this.activeTime&&e-this.activeTime>ACTIVE_TO_CURRENT_DELAY){for(var o=this.activePanoMesh,s=Object.keys(this.panoMeshes),u=null,c=0,l=s;c<l.length;c++){var d=l[c];if(this.panoMeshes[d]===o){u=d;break}}return u!==null&&this.moveToPano(panoParse(u),{},!0),delete this.activePanoMesh,delete this.activeTime,o}var f=this.camera.getDirection(new THREE__namespace.Vector3),m=new THREE__namespace.Raycaster(this.camera.position,f);m.params.Points={threshold:.1};for(var p=void 0,A=[],v=this.works.getResolvedObserver(this.currentPano),g=v?v.visibleIds:[],h=0,y=g;h<y.length;h++){var u=y[h],b=this.panoMeshes[u],E=m.intersectObject((r=b.hitTestMesh)!==null&&r!==void 0?r:b,!0)[0];E&&A.push({panoMesh:b,intersection:__assign({floor:(i=v==null?void 0:v.floorIndex)!==null&&i!==void 0?i:0},E)})}var T=A.sort(function(C,I){return C.intersection.distance-I.intersection.distance})[0];T?(p=T.intersection,this.activePanoMesh!==T.panoMesh&&(this.activePanoMesh=T.panoMesh,this.activeTime=e),this.intersectMesh.position.copy(T.panoMesh.position),this.intersectMesh.lookAt(this.camera.position)):(this.activePanoMesh=void 0,this.activeTime=void 0),p||(p=this.models.intersectRaycaster(m)[0]);var x=createEvent("intersect.update",{raycaster:m,intersection:p!=null?p:null,object:this.intersectMesh});if(this.emit("intersect.update",x),x.defaultPrevented){this.hideIntersectMesh();return}if(p&&p.face){var _=p.face.normal,w=new THREE__namespace.Quaternion;w.setFromUnitVectors(new THREE__namespace.Vector3(0,0,1),_),this.intersectMesh.quaternion.copy(w);var S=_.clone().multiplyScalar(.05),M=p.point.clone().add(S);this.intersectMesh.position.copy(M),T?this.intersectMesh.visible=!1:this.intersectMesh.visible=!0}else this.intersectMesh.visible=!1;return T==null?void 0:T.panoMesh},t.prototype.onPanGesture=function(){},t.prototype.onTapGesture=function(){},t.prototype.onPinchGesture=function(){},t.prototype.onMouseMove=function(){},t.prototype.onMouseOut=function(){},t}(PanoramaController),HUMAN_EYE_POSITION=new THREE__namespace.Vector3(0,1.6,0),ModelController=function(n){__extends(t,n);function t(e){var r=this,i,o=t.parseArgs(e);return r=n.call(this,o)||this,r.mode="Model",r.locationMotion=new Motion({x:r.camera.pose.offset.x,y:r.camera.pose.offset.y,z:r.camera.pose.offset.z,distance:r.camera.pose.distance}),r.modelAlphaMotion=new Motion({modelAlpha:(i=r.models.getMaterial().modelAlpha)!==null&&i!==void 0?i:0}),r.perspToOrthoMotion=new Motion({perspToOrtho:r.camera.perspToOrtho.x}),r}return t.parseArgs=function(e){return e instanceof t?e:n.parseArgs.call(this,e)},t.initAnimationEndState=function(e){var r,i,o,s,u,c,l=this.parseArgs(e),d=l.works,f=e.initial,m=f.state,p=f.currentState,A=typeof m.panoIndex=="number"?{workCode:(o=(r=m.workCode)!==null&&r!==void 0?r:(i=l.works[0])===null||i===void 0?void 0:i.workCode)!==null&&o!==void 0?o:"",panoIndex:m.panoIndex}:{workCode:p.workCode,panoIndex:p.panoIndex},v=d.getResolvedObserver(A),g=(s=m.longitude)!==null&&s!==void 0?s:p.longitude,h=clamp((u=m.latitude)!==null&&u!==void 0?u:!v||isFristPersonMode(p.mode)?p.latitude:l.defaultLatitude,l.minLatitude,l.maxLatitude),y=clamp((c=m.fov)!==null&&c!==void 0?c:!v||isFristPersonMode(p.mode)?p.fov:l.defaultFov,l.minFov,l.maxFov),b=new THREE__namespace.Vector3;if(l.initial.state.offset)b.copy(l.initial.state.offset);else if(v)b.copy(v.position);else{var E=coordinatesToVector(p).setLength(p.distance);b.copy(l.initial.currentState.offset).sub(E)}return{workCode:A.workCode,panoIndex:A.panoIndex,mode:"Model",longitude:g,latitude:h,fov:y,offset:b,distance:0}},t.prototype.destroy=function(){n.prototype.destroy.call(this),this.locationMotion.dispose()},t.prototype.isReady=function(){return this.locationMotion.ended!==!1},t.prototype.updateWork=function(e,r,i,o){this.works=e;var s=t.initAnimationEndState(__assign(__assign({},this),{initial:{currentState:__assign(__assign({},this.currentPano),this.camera.pose),duration:i.duration,effect:i.effect,state:r,userAction:o}}));return this.hideIntersectMesh(),this.moveToPosition(s.offset,{duration:0,longitude:s.longitude,latitude:s.latitude,fov:s.fov},o),!0},t.prototype.updateCamera=function(e,r,i){var o=this;return this.initAnimationReady.then(function(){o.userAction=i,o.stopMomentumMovement();var s={},u={};return s.distance=0,e.offset!==void 0&&(s.x=e.offset.x,s.y=e.offset.y,s.z=e.offset.z),e.longitude!==void 0&&(u.longitude=e.longitude),e.latitude!==void 0&&(u.latitude=e.latitude),e.fov!==void 0&&(u.fov=e.fov),o.locationMotion.set(s,r).catch(noop$1),o.cameraMotion.set(u,r).catch(noop$1)})},t.prototype.updateCameraWithKeyframes=function(e,r,i){var o=this;return this.initAnimationReady.then(function(){o.userAction=i,o.stopMomentumMovement();for(var s=[],u=[],c=0,l=e;c<l.length;c++){var d=l[c];s.push({key:d.key,progress:d.progress,value:{distance:0,x:d.value.offset.x,y:d.value.offset.x,z:d.value.offset.x}}),u.push({key:d.key,progress:d.progress,value:{longitude:d.value.longitude,latitude:d.value.latitude,fov:d.value.fov}})}return o.locationMotion.setKeyframes(s,r).catch(noop$1),o.cameraMotion.setKeyframes(e,r)})},t.prototype.updateTime=function(e,r){if(!this.destroyed){var i={},o={};if(this.modelAlphaMotion.ended||(this.modelAlphaMotion.update(e),i.modelAlpha=this.modelAlphaMotion.value.modelAlpha),this.perspToOrthoMotion.ended||(this.perspToOrthoMotion.update(e),this.camera.perspToOrtho.setScalar(clamp(this.perspToOrthoMotion.value.perspToOrtho,0,1))),!this.locationMotion.ended){this.locationMotion.update(e),o.distance=this.locationMotion.value.distance,o.offset=new THREE__namespace.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z);var s=new THREE__namespace.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z),u=this.works.resolvedObservers,c=arrayMin(u,function(l){return l.position.distanceTo(s)});this.currentPano=c?{workCode:c.work.workCode,panoIndex:c.panoIndex}:{workCode:"",panoIndex:0}}this.cameraMotion.ended||(this.cameraMotion.update(e),o.longitude=this.cameraMotion.value.longitude,o.latitude=this.cameraMotion.value.latitude,o.fov=this.cameraMotion.value.fov),isEmptyObject(i)||this.models.setMaterial(i),isEmptyObject(o)||this.setCamera(o)}},t.prototype.initAnimation=function(){var e=this;return this.destroyed?Promise.resolve():new Promise(function(r){var i=e.initial;i.state,i.currentState;var o=i.duration,s=i.userAction;e.userAction=s;var u=t.initAnimationEndState(e),c={modelAlpha:1},l={perspToOrtho:0},d={longitude:u.longitude,latitude:u.latitude,fov:u.fov,duration:o,moveStartCallback:function(f){e.perspToOrthoMotion.set(l,o).catch(noop$1),e.modelAlphaMotion.set(c,o).catch(noop$1),e.emit("initAnimation.start",createEvent("initAnimation.start",{state:f,userAction:e.userAction}))},moveEndCallback:function(f){e.emit("initAnimation.end",createEvent("initAnimation.end",{state:f,userAction:e.userAction})),r()},moveCancelCallback:function(){var f=e.currentPano,m=__assign(__assign({},f),{mode:e.mode,longitude:e.camera.pose.longitude,latitude:e.camera.pose.latitude,fov:e.camera.pose.fov,offset:e.camera.pose.offset.clone(),distance:e.camera.pose.distance});e.emit("initAnimation.end",createEvent("initAnimation.end",{state:m,userAction:e.userAction})),r()}};e.moveToPosition(u.offset,d,s)})},t.prototype.getTargetState=function(){var e=this.cameraMotion.getKeyFrameSegment(now())[1],r=this.locationMotion.getKeyFrameSegment(now())[1];return __assign(__assign({},this.currentPano),{mode:this.mode,longitude:e.value.longitude,latitude:e.value.latitude,fov:e.value.fov,offset:new THREE__namespace.Vector3(r.value.x,r.value.y,r.value.z),distance:r.value.distance})},t.prototype.moveToPano=function(e,r,i){r===void 0&&(r={});var o=this.works.getResolvedObserver(e);o&&this.moveToPosition(o.position,r,i)},t.prototype.moveToPosition=function(e,r,i){var o=this,s,u,c;r===void 0&&(r={}),this.userAction=i,this.stopMomentumMovement();for(var l=now(),d=new THREE__namespace.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z),f=d.distanceTo(e),m=this.locationMotion.getProgressVelocity(l),p=0,A=1;A<this.locationMotion.keyframes.length;A++){var v=this.locationMotion.keyframes[A-1].value,g=v.x,h=v.y,y=v.z,b=this.locationMotion.keyframes[A].value,E=b.x,T=b.y,x=b.z;p+=Math.sqrt(Math.pow(E-g,2)+Math.pow(T-h,2)+Math.pow(x-y,2))}var _=f===0?0:m*p/f,w=this.calculateMovingDuration(r.duration,f),S={x:e.x,y:e.y,z:e.z,distance:0},M={longitude:r.longitude,latitude:r.latitude,fov:r.fov},C=this.works.resolvedObservers,I=arrayMin(C,function(k){return k.position.distanceTo(d)}),B=I?{workCode:I.work.workCode,panoIndex:I.panoIndex}:{workCode:"",panoIndex:0},F=__assign(__assign({},B),{mode:this.mode,longitude:(s=M.longitude)!==null&&s!==void 0?s:this.camera.pose.longitude,latitude:(u=M.latitude)!==null&&u!==void 0?u:this.camera.pose.latitude,fov:(c=M.fov)!==null&&c!==void 0?c:this.camera.pose.fov,offset:e.clone(),distance:0}),L=this.currentPano;this.emit("pano.moveTo",createEvent("pano.moveTo",{options:r,prevPano:L,progress:0,state:F,userAction:this.userAction,error:null})),r.moveStartCallback&&r.moveStartCallback(F),this.cameraMotion.set(M,w).catch(noop$1),this.locationMotion.set(S,w,_).then(function(){var k=__assign(__assign(__assign({},B),{mode:o.mode}),clonePose(o.camera.pose));o.emit("pano.arrived",createEvent("pano.arrived",{options:r,prevPano:L,progress:0,state:k,userAction:o.userAction,error:null})),r.moveEndCallback&&r.moveEndCallback(k)},function(){r.moveCancelCallback&&r.moveCancelCallback(),o.emit("pano.cancel",createEvent("pano.cancel",{options:r,prevPano:L,progress:0,state:F,userAction:o.userAction,error:null}))})},t.prototype.onTapGesture=function(e){var r=e.center.raycaster;this.stopMomentumMovement();var i=this.models.intersectRaycaster(r)[0];if(i&&i.face){var o=i.face.normal,s=i.point;if(new THREE__namespace.Vector3(0,1,0).angleTo(o)>Math.PI/3){var u=o.clone().setLength(.3).add(s);r.set(u,new THREE__namespace.Vector3(0,-1,0)),i=this.models.intersectRaycaster(r)[0]}}if(i){var c=new THREE__namespace.Vector3().copy(i.point).add(HUMAN_EYE_POSITION),l=this.works.resolvedObservers,d=arrayMin(l,function(p){return p.position.distanceTo(c)},!0),f=d[0],m=d[1];f&&m<5&&(c.y=f.position.y),e.state.offset.copy(c),e.state.distance=0,this.emit("gesture.tap",e),e.defaultPrevented||this.moveToPosition(c,{},!0)}else this.emit("gesture.tap",e),e.defaultPrevented||this.cameraBounce()},t}(PanoramaLikeController);const edlVertexShader=function n(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,o=0,s="";return t[o].split(s).map(function(u){return u.charCodeAt(o)>i?u:String.fromCharCode((u.charCodeAt(o)+r)%i)}).join(s)}(`}rpvv|{-zrqvz}-sy|nH}rpvv|{-zrqvz}-v{Hnvor-rp@-}|vv|{Hnvor-rp?-H{vs|z-znA-}|wrpv|{Znv\x07H{vs|z-znA-z|qrycvrZnv\x07Hn\bv{t-rp?-bH|vq-znv{56-
|
|
1801
1801
|
b-J-HrpA-z]|vv|{-J-z|qrycvrZnv\x07-7-rpA5}|vv|{9>;=6Htyl]|vv|{-J-}|wrpv|{Znv\x07-7-z]|vv|{H\f`),edlFragmentShader=function n(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,o=0,s="";return t[o].split(s).map(function(u){return u.charCodeAt(o)>i?u:String.fromCharCode((u.charCodeAt(o)+r)%i)}).join(s)}(`0r\x07r{v|{-TYlRealsntlqr}u-G-r{noyr<<<<-nqn}rq-s|z-ur-RQY-unqr-p|qr-s|z-Puvvn{-O|pur{\b-v{-py|q-p|z}nrG<<-u}G<<tvuo;p|z<py|qp|z}nr<{x<rr<znr<}ytv{<\0RQY<unqr<RQY<<}rpvv|{-zrqvz}-sy|nH}rpvv|{-zrqvz}-v{H{vs|z-sy|n-prr{dvquH{vs|z-sy|n-prr{UrvtuH{vs|z-rp?-{rvtuo|h[RVTUO\\b_lP\\b[ajH{vs|z-sy|n-rqy\`r{tuH{vs|z-sy|n-nqvH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-[rnH{vs|z-sy|n-SnH{vs|z-znA-]|wH{vs|z-nz}yr?Q-RQYP|y|Hn\bv{t-rp?-bHsy|n-r}|{r5sy|n-qr}u6
|
|
1802
1802
|
--rp?-_nqv-J-nqv-<-rp?5prr{dvqu9-prr{Urvtu6H--sy|n-z-J-=;=H--s|5v{-v-J-=H-v-I-[RVTUO\\b_lP\\b[aH-v886
|
|
1803
1803
|
----rp?-[rvtuo|-J-b-8-_nqv-7-{rvtuo|hvjH----sy|n-{rvtuo|Qr}u-J-r\x07r?Q5RQYP|y|9-[rvtuo|6;nH----{rvtuo|Qr}u-J-5{rvtuo|Qr}u-JJ->;=6-L-=;=-G-{rvtuo|Qr}uH----vs5{rvtuo|Qr}u-.J-=;=6
|
|
@@ -1807,10 +1807,10 @@ void main() {
|
|
|
1807
1807
|
--rpA-pRQY-J-r\x07r?Q5RQYP|y|9-b6H--sy|n-qr}u-J-pRQY;nH--qr}u-J-5qr}u-JJ->;=6-L-=;=-G-qr}uH--sy|n-r-J-r}|{r5qr}u6H--sy|n-unqr-J-r\x07}5:r-7-@==;=-7-rqy\`r{tu6H--tylSntP|y|-J-rpA5pRQY;to-7-unqr9-|}npv\b6H--
|
|
1808
1808
|
-<<-vr-rtyn-u\b}ro|yvp-qr}u-nyr-|-qr}u-ossr----sy|n-qy-J-}|5?;=9-qr}u6H----rpA-q}-J-]|w-7-rpA5=;=9-=;=9-:qy9->;=6H----sy|n-} -J-q}; -<-q};H----sy|n-sntQr}u-J-5} -8->;=6-<-?;=H----<<-tylSntQr}uRea-J-sntQr}uH--\f--vs5qr}u-JJ-=;=6
|
|
1809
1809
|
----qvpnqH--\f\f`);var EDLMaterial=function(n){__extends(t,n);function t(e){var r=n.call(this)||this;return r.uniforms={screenWidth:makeUniform$1("f",0),screenHeight:makeUniform$1("f",0),edlStrength:makeUniform$1("f",1),uNear:makeUniform$1("f",1),uFar:makeUniform$1("f",1),radius:makeUniform$1("f",1),neighbours:makeUniform$1("2fv",new Float32Array),depthMap:makeUniform$1("t",new THREE__namespace.Texture),uEDLColor:makeUniform$1("t",new THREE__namespace.Texture),uEDLDepth:makeUniform$1("t",new THREE__namespace.Texture),opacity:makeUniform$1("f",1),uProj:makeUniform$1("Matrix4fv",new Float32Array)},r.neighbourCount=8,r.updateShaderSource(),r.transparent=!0,r}return t.prototype.getUniform=function(e){return this.uniforms===void 0?void 0:this.uniforms[e].value},t.prototype.setUniform=function(e,r){if(this.uniforms!==void 0){var i=this.uniforms[e];i.value=r}},t.prototype.getDefines=function(){var e="";return e+="#define NEIGHBOUR_COUNT "+this.neighbourCount+`
|
|
1810
|
-
`,e},t.prototype.updateShaderSource=function(){var e=this.getDefines()+edlVertexShader,r=this.getDefines()+edlFragmentShader;this.setValues({vertexShader:e,fragmentShader:r}),this.needsUpdate=!0},__decorate([uniform$1("screenWidth"),__metadata("design:type",Number)],t.prototype,"screenWidth",void 0),__decorate([uniform$1("screenHeight"),__metadata("design:type",Number)],t.prototype,"screenHeight",void 0),__decorate([uniform$1("edlStrength"),__metadata("design:type",Number)],t.prototype,"edlStrength",void 0),__decorate([uniform$1("uNear"),__metadata("design:type",Number)],t.prototype,"uNear",void 0),__decorate([uniform$1("uFar"),__metadata("design:type",Number)],t.prototype,"uFar",void 0),__decorate([uniform$1("radius"),__metadata("design:type",Number)],t.prototype,"radius",void 0),__decorate([uniform$1("neighbours",!0),__metadata("design:type",Float32Array)],t.prototype,"neighbours",void 0),__decorate([uniform$1("depthMap"),__metadata("design:type",THREE__namespace.Texture)],t.prototype,"depthMap",void 0),__decorate([uniform$1("uEDLColor"),__metadata("design:type",THREE__namespace.Texture)],t.prototype,"uEDLColor",void 0),__decorate([uniform$1("uEDLDepth"),__metadata("design:type",THREE__namespace.Texture)],t.prototype,"uEDLDepth",void 0),__decorate([uniform$1("uProj"),__metadata("design:type",Array)],t.prototype,"uProj",void 0),t}(THREE__namespace.RawShaderMaterial);function makeUniform$1(n,t){return{type:n,value:t}}function uniform$1(n,t){return t===void 0&&(t=!1),function(e,r){Object.defineProperty(e,r,{get:function(){return this.getUniform(n)},set:function(i){i!==this.getUniform(n)&&(this.setUniform(n,i),t&&this.updateShaderSource())}})}}var passCamera$1=new THREE__namespace.OrthographicCamera(-1,1,1,-1,0,1),geometry$2=new THREE__namespace.BufferGeometry;geometry$2.setAttribute("position",new THREE__namespace.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3)),geometry$2.setAttribute("uv",new THREE__namespace.Float32BufferAttribute([0,2,0,0,2,0],2));var mesh$2=new THREE__namespace.Mesh(geometry$2),edlEffectScene=new THREE__namespace.Scene;edlEffectScene.add(mesh$2);var EDLEffect=function(n){__extends(t,n);function t(e,r,i,o){var s=n.call(this,e,r,i,o)||this;return s.sharedV2=new THREE__namespace.Vector2,s.renderer=e,s.material=new EDLMaterial,mesh$2.material=s.material,s}return t.prototype.render=function(e){var r=this.camera,i=this.material.uniforms,o=this.renderer.getSize(this.sharedV2);i.screenWidth.value=o.x,i.screenHeight.value=o.y;var s=r.projectionMatrix,u=new Float32Array(16);u.set(s.elements);for(var
|
|
1810
|
+
`,e},t.prototype.updateShaderSource=function(){var e=this.getDefines()+edlVertexShader,r=this.getDefines()+edlFragmentShader;this.setValues({vertexShader:e,fragmentShader:r}),this.needsUpdate=!0},__decorate([uniform$1("screenWidth"),__metadata("design:type",Number)],t.prototype,"screenWidth",void 0),__decorate([uniform$1("screenHeight"),__metadata("design:type",Number)],t.prototype,"screenHeight",void 0),__decorate([uniform$1("edlStrength"),__metadata("design:type",Number)],t.prototype,"edlStrength",void 0),__decorate([uniform$1("uNear"),__metadata("design:type",Number)],t.prototype,"uNear",void 0),__decorate([uniform$1("uFar"),__metadata("design:type",Number)],t.prototype,"uFar",void 0),__decorate([uniform$1("radius"),__metadata("design:type",Number)],t.prototype,"radius",void 0),__decorate([uniform$1("neighbours",!0),__metadata("design:type",Float32Array)],t.prototype,"neighbours",void 0),__decorate([uniform$1("depthMap"),__metadata("design:type",THREE__namespace.Texture)],t.prototype,"depthMap",void 0),__decorate([uniform$1("uEDLColor"),__metadata("design:type",THREE__namespace.Texture)],t.prototype,"uEDLColor",void 0),__decorate([uniform$1("uEDLDepth"),__metadata("design:type",THREE__namespace.Texture)],t.prototype,"uEDLDepth",void 0),__decorate([uniform$1("uProj"),__metadata("design:type",Array)],t.prototype,"uProj",void 0),t}(THREE__namespace.RawShaderMaterial);function makeUniform$1(n,t){return{type:n,value:t}}function uniform$1(n,t){return t===void 0&&(t=!1),function(e,r){Object.defineProperty(e,r,{get:function(){return this.getUniform(n)},set:function(i){i!==this.getUniform(n)&&(this.setUniform(n,i),t&&this.updateShaderSource())}})}}var passCamera$1=new THREE__namespace.OrthographicCamera(-1,1,1,-1,0,1),geometry$2=new THREE__namespace.BufferGeometry;geometry$2.setAttribute("position",new THREE__namespace.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3)),geometry$2.setAttribute("uv",new THREE__namespace.Float32BufferAttribute([0,2,0,0,2,0],2));var mesh$2=new THREE__namespace.Mesh(geometry$2),edlEffectScene=new THREE__namespace.Scene;edlEffectScene.add(mesh$2);var EDLEffect=function(n){__extends(t,n);function t(e,r,i,o){var s=n.call(this,e,r,i,o)||this;return s.sharedV2=new THREE__namespace.Vector2,s.renderer=e,s.material=new EDLMaterial,mesh$2.material=s.material,s}return t.prototype.render=function(e){var r=this.camera,i=this.material.uniforms,o=this.renderer.getSize(this.sharedV2);i.screenWidth.value=o.x,i.screenHeight.value=o.y;var s=r.projectionMatrix,u=new Float32Array(16);u.set(s.elements);for(var c=new Float32Array(this.material.neighbourCount*2),l=0;l<this.material.neighbourCount;l++)c[2*l+0]=Math.cos(2*l*Math.PI/this.material.neighbourCount),c[2*l+1]=Math.sin(2*l*Math.PI/this.material.neighbourCount);i.neighbours.value=c,i.uNear.value=r.near,i.uFar.value=r.far,i.uEDLColor.value=e[0].texture,i.uProj.value=u,i.edlStrength.value=.25,i.radius.value=1,i.opacity.value=1,this.renderer.setRenderTarget(null),this.renderer.render(edlEffectScene,passCamera$1)},t.prototype.dispose=function(){this.copyPass.dispose()},t}(Effect);const fragment=function n(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,o=0,s="";return t[o].split(s).map(function(u){return u.charCodeAt(o)>i?u:String.fromCharCode((u.charCodeAt(o)+r)%i)}).join(s)}(`}rpvv|{-zrqvz}-sy|nH}rpvv|{-zrqvz}-v{H{vs|z-nz}yr?Q-drvtuZn}H{vs|z-nz}yr?Q-Qr}uZn}Hn\bv{t-rp?-bH|vq-znv{56-
|
|
1811
1811
|
sy|n-qr}u-J-r\x07r?Q5Qr}uZn}9-b6;Hvs5qr}u-KJ->;=6
|
|
1812
1812
|
qvpnqH\frpA-p|y|-J-r\x07r?Q5drvtuZn}9-b6H-p|y|-J-p|y|-<-p|y|;HtylSntP|y|-J-rpA5p|y|;\x07\b 9->;=6H-\f`),vertex=function n(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,o=0,s="";return t[o].split(s).map(function(u){return u.charCodeAt(o)>i?u:String.fromCharCode((u.charCodeAt(o)+r)%i)}).join(s)}(`}rpvv|{-zrqvz}-sy|nH}rpvv|{-zrqvz}-v{Hnvor-rp@-}|vv|{Hnvor-rp?-H{vs|z-znA-}|wrpv|{Znv\x07H{vs|z-znA-z|qrycvrZnv\x07Hn\bv{t-rp?-bH|vq-znv{56-
|
|
1813
|
-
b-J-Htyl]|vv|{-J-}|wrpv|{Znv\x07-7-z|qrycvrZnv\x07-7-rpA5}|vv|{9>;=6H\f`);var HQMaterial=function(n){__extends(t,n);function t(e){var r=n.call(this,{vertexShader:vertex,fragmentShader:fragment})||this;return r.uniforms={uDepthMap:makeUniform("t",null),uWeightMap:makeUniform("t",null)},r.depthTest=!0,r.depthWrite=!0,r.opacity=1,r}return t.prototype.getUniform=function(e){return this.uniforms===void 0?void 0:this.uniforms[e].value},t.prototype.setUniform=function(e,r){if(this.uniforms!==void 0){var i=this.uniforms[e];i.value=r}},__decorate([uniform("uDepthMap"),__metadata("design:type",Number)],t.prototype,"uDepthMap",void 0),__decorate([uniform("uWeightMap"),__metadata("design:type",Number)],t.prototype,"uWeightMap",void 0),t}(THREE__namespace.RawShaderMaterial);function makeUniform(n,t){return{type:n,value:t}}function uniform(n,t){return t===void 0&&(t=!1),function(e,r){Object.defineProperty(e,r,{get:function(){return this.getUniform(n)},set:function(i){i!==this.getUniform(n)&&(this.setUniform(n,i),t&&this.updateShaderSource())}})}}var passCamera=new THREE__namespace.OrthographicCamera(-1,1,1,-1,0,1),geometry$1=new THREE__namespace.BufferGeometry;geometry$1.setAttribute("position",new THREE__namespace.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3)),geometry$1.setAttribute("uv",new THREE__namespace.Float32BufferAttribute([0,2,0,0,2,0],2));var mesh$1=new THREE__namespace.Mesh(geometry$1),hqScene=new THREE__namespace.Scene;hqScene.add(mesh$1);var HQEffect=function(n){__extends(t,n);function t(e,r,i,o){var s=n.call(this,e,r,i,o)||this;return s.sharedV2=new THREE__namespace.Vector2,s.renderer=e,s.material=new HQMaterial,s.scene=r,s.camera=i,mesh$1.material=s.material,s}return t.prototype.render=function(e){var r=this.material.uniforms;this.models.setMaterial({useHQWeight:!0,useHQDepth:!1}),this.renderer.setRenderTarget(e[1]),this.models.update(this.renderer,this.camera,"Mapview"),this.renderer.autoClearDepth=!1,this.renderer.setClearAlpha(0),this.renderer.render(this.scene,this.camera),r.uWeightMap.value=e[1].texture,r.uDepthMap.value=e[0].depthTexture,this.renderer.setRenderTarget(null),this.renderer.autoClearDepth=!0,this.renderer.setClearAlpha(1),this.renderer.render(hqScene,passCamera),this.models.setMaterial({useHQWeight:!1,useHQDepth:!0}),this.models.update(this.renderer,this.camera,"Mapview")},t.prototype.dispose=function(){this.copyPass.dispose()},t}(Effect),RAYCASTER_NEAR=.5,minDistance=0,MapviewController=function(n){__extends(t,n);function t(e){var r=this,i,o=t.parseArgs(e);return r=n.call(this,o)||this,r.mode="Mapview",r.defaultLongitude=o.defaultLongitude,r.defaultLatitude=o.defaultLatitude,r.defaultDistance=o.defaultDistance,r.maxLatitude=o.maxLatitude,r.minLatitude=o.minLatitude,r.locationMotion=new Motion({x:r.camera.pose.offset.x,y:r.camera.pose.offset.y,z:r.camera.pose.offset.z,distance:r.camera.pose.distance}),r.modelAlphaMotion=new Motion({modelAlpha:(i=r.models.getMaterial().modelAlpha)!==null&&i!==void 0?i:0}),r.perspToOrthoMotion=new Motion({perspToOrtho:r.camera.perspToOrtho.x}),r.intersectMeshCreator=o.intersectMeshCreator,r.intersectMesh=r.intersectMeshCreator(),r.intersectMesh.name="intersect",r.intersectMesh.visible=!1,r.currentTapId=null,r.helper.add(r.intersectMesh),r.edlTarget=new THREE__namespace.WebGLRenderTarget(1024,1024,{minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,format:THREE__namespace.RGBAFormat,type:THREE__namespace.FloatType,depthTexture:new THREE__namespace.DepthTexture(1024,1024,THREE__namespace.UnsignedIntType)}),r.edlEffect=new EDLEffect(r.renderer,r.scene,r.camera,r.models),r.hqEffect=new HQEffect(r.renderer,r.scene,r.camera,r.models),r}return t.parseArgs=function(e){var r,i,o,s,u,l;if(e instanceof t)return e;var c=n.parseArgs.call(this,e);return __assign(__assign({},c),{defaultLongitude:(r=e.defaultLongitude)!==null&&r!==void 0?r:Math.PI/4,defaultLatitude:(i=e.defaultLatitude)!==null&&i!==void 0?i:Math.PI/4,defaultDistance:(o=e.defaultDistance)!==null&&o!==void 0?o:150,maxLatitude:(s=e.maxLatitude)!==null&&s!==void 0?s:+Math.PI/2,minLatitude:(u=e.minLatitude)!==null&&u!==void 0?u:0,intersectMeshCreator:(l=e.intersectMeshCreator)!==null&&l!==void 0?l:function(){return new IntersectMesh}})},t.distanceFromModel=function(e,r,i){var o=e.bounding,s=Math.pow(Math.pow(o.max.x-o.min.x+1,2)+Math.pow(o.max.y-o.min.y+1,2)+Math.pow(o.max.z-o.min.z+1,2),1/2),u=s/2/Math.tan(Math.PI*r/360);return i<1&&(u=u/i),isNaN(u)?s:u},t.initAnimationEndState=function(e){var r,i,o,s,u,l,c,d=this.parseArgs(e),f=d.works,v=d.models,p=e.initial,A=p.state,m=p.currentState,y=typeof A.panoIndex=="number"?{workCode:(o=(r=A.workCode)!==null&&r!==void 0?r:(i=d.works[0])===null||i===void 0?void 0:i.workCode)!==null&&o!==void 0?o:"",panoIndex:A.panoIndex}:{workCode:m.workCode,panoIndex:m.panoIndex},h=f.getResolvedObserver(y),g=(s=A.fov)!==null&&s!==void 0?s:60,b=clamp((u=A.latitude)!==null&&u!==void 0?u:isThirdPersonMode(m.mode)?m.latitude:d.defaultLatitude,d.minLatitude,d.maxLatitude),E=t.distanceFromModel(d.models,g,d.camera.aspect),T=new THREE__namespace.Vector3,_=(l=A.distance)!==null&&l!==void 0?l:Math.min(d.defaultDistance,E),x=(c=A.longitude)!==null&&c!==void 0?c:isThirdPersonMode(m.mode)?m.longitude:d.defaultLongitude;return A.offset?T.copy(A.offset):d.defaultDistance<E&&h?(T.copy(h.position),A.longitude===void 0&&(x=m.longitude)):T.copy(v.bounding.getCenter(T)),v.bounding.containsPoint(T)||v.bounding.getCenter(T),__assign(__assign({},y),{mode:"Mapview",longitude:x,latitude:b,fov:g,offset:T,distance:_})},t.prototype.destroy=function(){n.prototype.destroy.call(this),this.locationMotion.dispose(),delete this.panState,this.intersectMesh.dispose(),this.helper.remove(this.intersectMesh)},t.prototype.isReady=function(){return this.locationMotion.ended===!1?!1:n.prototype.isReady.call(this)},t.prototype.updateWork=function(e,r,i,o){this.userAction=o,this.works=e;var s=t.initAnimationEndState(__assign(__assign({},this),{initial:{currentState:__assign(__assign({},this.currentPano),this.camera.pose),duration:i.duration,effect:i.effect,state:r,userAction:o}}));this.currentPano={workCode:s.workCode,panoIndex:s.panoIndex};var u={longitude:s.longitude,latitude:s.latitude,fov:s.fov},l={x:s.offset.x,y:s.offset.y,z:s.offset.z,distance:s.distance,orthoDistance:s.distance};return this.locationMotion.set(l,i.duration).catch(noop$1),this.cameraMotion.set(u,i.duration).catch(noop$1),!0},t.prototype.updateModel=function(e){n.prototype.updateModel.call(this,e)},t.prototype.updateCamera=function(e,r,i){var o=this;return this.initAnimationReady.then(function(){o.userAction=i,o.stopMomentumMovement();var s={},u={};return e.distance!==void 0&&(s.distance=e.distance),e.offset!==void 0&&(s.x=e.offset.x,s.y=e.offset.y,s.z=e.offset.z),e.longitude!==void 0&&(u.longitude=e.longitude),e.latitude!==void 0&&(u.latitude=e.latitude),e.fov!==void 0&&(u.fov=e.fov),o.locationMotion.set(s,r).catch(noop$1),o.cameraMotion.set(u,r).catch(noop$1)})},t.prototype.updateCameraWithKeyframes=function(e,r,i){var o=this;return this.initAnimationReady.then(function(){o.userAction=i,o.stopMomentumMovement();for(var s=[],u=[],l=0,c=e;l<c.length;l++){var d=c[l];s.push({key:d.key,progress:d.progress,value:{distance:d.value.distance,x:d.value.offset.x,y:d.value.offset.x,z:d.value.offset.x}}),u.push({key:d.key,progress:d.progress,value:{longitude:d.value.longitude,latitude:d.value.latitude,fov:d.value.fov}})}return o.locationMotion.setKeyframes(s,r).catch(noop$1),o.cameraMotion.setKeyframes(e,r)})},t.prototype.updateTime=function(e,r){if(!this.destroyed){var i={},o={};if(this.locationMotion.ended||(this.locationMotion.update(e),o.distance=this.locationMotion.value.distance,o.offset=new THREE__namespace.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z)),!this.cameraMotion.ended){this.cameraMotion.update(e),o.longitude=this.cameraMotion.value.longitude,o.latitude=this.cameraMotion.value.latitude,o.fov=this.cameraMotion.value.fov;var s=Math.PI/2-o.latitude<.02?1:0;this.perspToOrthoMotion.getTargetKeyframe().value.perspToOrtho!==s&&this.perspToOrthoMotion.set({perspToOrtho:s},500).catch(noop$1)}this.modelAlphaMotion.ended||(this.modelAlphaMotion.update(e),i.modelAlpha=this.modelAlphaMotion.value.modelAlpha),this.perspToOrthoMotion.ended||(this.perspToOrthoMotion.update(e),this.camera.perspToOrtho.setScalar(clamp(this.perspToOrthoMotion.value.perspToOrtho,0,1))),isEmptyObject(i)||this.models.setMaterial(i),isEmptyObject(o)||this.setCamera(o)}},t.prototype.getTargetState=function(){var e=this.cameraMotion.getKeyFrameSegment(now())[1],r=this.locationMotion.getKeyFrameSegment(now())[1];return __assign(__assign({},this.currentPano),{mode:this.mode,longitude:e.value.longitude,latitude:e.value.latitude,fov:e.value.fov,distance:r.value.distance,offset:new THREE__namespace.Vector3(r.value.x,r.value.y,r.value.z)})},t.prototype.initAnimation=function(){var e=this;return this.destroyed?Promise.resolve():new Promise(function(r){var i=e.initial;i.state,i.currentState;var o=i.duration,s=i.userAction;e.userAction=s;var u=t.initAnimationEndState(e),l={longitude:u.longitude,latitude:u.latitude,fov:u.fov},c={x:u.offset.x,y:u.offset.y,z:u.offset.z,distance:u.distance},d={modelAlpha:1},f={perspToOrtho:0};e.emit("initAnimation.start",createEvent("initAnimation.start",{state:u,userAction:e.userAction})),e.perspToOrthoMotion.set(f,o).catch(noop$1),e.modelAlphaMotion.set(d,o/3).catch(noop$1),e.cameraMotion.set(l,o).catch(noop$1),e.locationMotion.set(c,o).then(function(){e.emit("initAnimation.end",createEvent("initAnimation.end",{state:u,userAction:e.userAction}))},function(v){var p=__assign(__assign(__assign({},e.currentPano),{mode:e.mode}),clonePose(e.camera.pose));e.emit("initAnimation.end",createEvent("initAnimation.end",{state:p,userAction:e.userAction}))}).then(function(){r()})})},t.prototype.getForwardObserverOrNot=function(e){var r=this.models.intersectRaycaster(e)[0];if(!r)return null;var i=this.works.resolvedObservers,o=arrayMin(i,function(l){return l.standingPosition.distanceTo(r.point)},!0),s=o[0],u=o[1];return s&&u<10?s:null},t.prototype.coordinatesForOffset=function(e){var r=this.renderer.getSize(new THREE__namespace.Vector2);return{longitude:-2*e.x/(r.x*this.scissor.width),latitude:2*e.y/(r.y*this.scissor.height)}},t.prototype.requestMomentumMovement=function(e,r,i,o){var s=this;if(this.inMomentumMovement!==null){for(var u=__assign({},i),l={longitude:0,latitude:0,x:0,y:0,z:0},c=0;c<o;c++)u.longitude*=.996,u.latitude*=.996*.998,u.x*=.99,u.y*=.99,u.z*=.99,l.longitude+=u.longitude,l.latitude+=u.latitude,l.x+=u.x,l.y+=u.y,l.z+=u.z;var d=formatRad(this.cameraMotion.value.longitude+l.longitude),f=clamp(this.cameraMotion.value.latitude+l.latitude,this.minLatitude,this.maxLatitude),v=clamp(this.locationMotion.value.x+l.x,this.models.bounding.min.x,this.models.bounding.max.x),p=clamp(this.locationMotion.value.y+l.y,this.models.bounding.min.y,this.models.bounding.max.y),A=clamp(this.locationMotion.value.z+l.z,this.models.bounding.min.z,this.models.bounding.max.z),m=__assign(__assign({},this.currentPano),{mode:this.mode,longitude:d,latitude:f,offset:new THREE__namespace.Vector3(v,p,A),fov:this.cameraMotion.value.fov,distance:this.camera.pose.distance}),y=!(Math.abs(u.longitude)>1e-4||Math.abs(u.latitude)>1e-4||Math.abs(u.x)>1e-4||Math.abs(u.y)>1e-4||Math.abs(u.z)>1e-4),h=createEvent("gesture.momentum",__assign(__assign({},e),{isFirst:r,isFinal:y,state:m}));if(this.inMomentumMovement.event=h,this.emit("gesture.momentum",h),e.defaultPrevented){this.inMomentumMovement=null;return}this.inMomentumMovement&&(this.cameraMotion.set({longitude:d,latitude:f},0).catch(noop$1),this.locationMotion.set({x:m.offset.x,y:m.offset.y,z:m.offset.z},0).catch(noop$1),y?this.inMomentumMovement=null:AnimationFrameLoop.shared.add(function(g,b){s.requestMomentumMovement(e,!1,u,b|0)},!0,1))}},t.prototype.fixFinalState=function(e){if(this.perspToOrthoMotion.getTargetKeyframe().value.perspToOrtho!==1){var r=coordinatesToVector(e,new THREE__namespace.Vector3),i=new THREE__namespace.Vector3().copy(e.offset).sub(r.clone().multiplyScalar(e.distance)),o=new THREE__namespace.Raycaster(i,r);o.params.Points={threshold:.1},o.near=RAYCASTER_NEAR;var s=this.models.intersectRaycaster(o)[0];if(!s&&o.ray.direction.y<-.3){var u=new THREE__namespace.Plane(new THREE__namespace.Vector3(0,1,0),-this.models.bounding.min.y),l=o.ray.intersectPlane(u,new THREE__namespace.Vector3);if(l){var c=l.distanceTo(o.ray.origin);c<1e4&&c>=o.near&&(s={distance:c,floor:0,point:l,object:this.scene,face:null})}}s&&(e.distance=clamp(s.distance,minDistance,1/0),e.offset.copy(i).add(r.clone().multiplyScalar(e.distance)))}},t.prototype.onPanGesture=function(e){this.userAction=e.userAction,this.stopMomentumMovement(),this.hideIntersectMesh();var r=e.pointers.length,i=this.panState,o=0;e.pointerType==="mouse"&&(o=e.srcEvent.buttons),i&&o===0&&i.buttons!==0&&(o=i.buttons);var s=i==null?void 0:i.target;if(!s){var u=this.relativeClientPosition(e.center),l=new THREE__namespace.Raycaster;l.params.Points={threshold:.1},l.setFromCamera(u,this.camera),l.near=RAYCASTER_NEAR,s=new THREE__namespace.Vector3().copy(l.ray.direction).multiplyScalar(3).add(l.ray.origin);var c=this.models.intersectRaycaster(l)[0];if(!c&&l.ray.direction.y<-.3){var d=new THREE__namespace.Plane(new THREE__namespace.Vector3(0,1,0),0),f=l.ray.intersectPlane(d,new THREE__namespace.Vector3);if(f){var v=f.distanceTo(l.ray.origin);v<1e4&&v>=l.near&&(c={distance:v,floor:0,point:f,object:this.scene})}}if(c)s.copy(c.point);else{var p=new THREE__namespace.Vector3().copy(this.camera.pose.offset).sub(this.camera.position),d=new THREE__namespace.Plane().setFromNormalAndCoplanarPoint(p,this.camera.pose.offset);l.ray.intersectPlane(d,s)}}if(e.isFinal?delete this.panState:this.panState={target:s,buttons:o,pointerLength:r,x:e.center.x,y:e.center.y},!(typeof i=="undefined"||i.pointerLength!==r)){var A=r>1||o===2;if(A){var m={x:e.center.x-i.x,y:e.center.y-i.y},y=new THREE__namespace.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z),h=coordinatesToVector(this.cameraMotion.value).setLength(this.locationMotion.value.distance).add(y),g=new THREE__namespace.Vector3().copy(h).sub(i.target).length();g*=Math.tan(this.camera.pose.fov/2*Math.PI/180);var b=this.renderer.getSize(new THREE__namespace.Vector2),E=2*m.x*g/b.y,T=2*m.y*g/b.y,_=new THREE__namespace.Vector3;_.setFromMatrixColumn(this.camera.matrix,0),_.multiplyScalar(-E),y.add(_),this.camera.pose.latitude<Math.PI/9?_.setFromMatrixColumn(this.camera.matrix,1):(_.setFromMatrixColumn(this.camera.matrix,0),_.crossVectors(this.camera.up,_)),_.multiplyScalar(T),y.add(_),y.clamp(this.models.bounding.min,this.models.bounding.max);var x=__assign(__assign({},this.currentPano),{mode:this.mode,longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,offset:y,distance:this.camera.pose.distance});if(e.state=x,this.emit("gesture.pan",e),e.defaultPrevented)return;if(this.locationMotion.set({x:x.offset.x,y:x.offset.y,z:x.offset.z},0).catch(noop$1),e.isFinal&&(this.fixFinalState(x),this.locationMotion.set({distance:x.distance,x:x.offset.x,y:x.offset.y,z:x.offset.z},0).catch(noop$1)),e.isFinal){var w=this.renderer.getSize(new THREE__namespace.Vector2),S=2*e.velocityX*g/w.y,C=2*e.velocityY*g/w.y,R=new THREE__namespace.Vector3,I=new THREE__namespace.Vector3;R.setFromMatrixColumn(this.camera.matrix,0),R.multiplyScalar(-S),I.add(R),this.camera.pose.latitude<Math.PI/4?R.setFromMatrixColumn(this.camera.matrix,1):(R.setFromMatrixColumn(this.camera.matrix,0),R.crossVectors(this.camera.up,R)),R.multiplyScalar(C),I.add(R),this.inMomentumMovement={uuid:createUuid()},this.requestMomentumMovement(e,!0,{longitude:0,latitude:0,x:I.x,y:I.y,z:I.z},0)}}else{var m={x:e.center.x-i.x,y:e.center.y-i.y},B=this.coordinatesForOffset(m),F=formatRad(this.cameraMotion.value.longitude+B.longitude),L=clamp(this.cameraMotion.value.latitude+B.latitude,this.minLatitude,this.maxLatitude);this.camera.aspect<1&&Math.abs(e.overallVelocityX)>.2&&Math.atan2(Math.abs(e.overallVelocityY),Math.abs(e.overallVelocityX))<Math.PI/6.923&&(L=this.cameraMotion.value.latitude);var x=__assign(__assign({},this.currentPano),{mode:this.mode,longitude:F,latitude:L,fov:this.camera.pose.fov,offset:this.camera.pose.offset,distance:this.camera.pose.distance});if(e.isFinal&&this.fixFinalState(x),e.state=x,this.emit("gesture.pan",e),e.defaultPrevented)return;if(e.isFinal?this.locationMotion.set({distance:x.distance,x:x.offset.x,y:x.offset.y,z:x.offset.z},0).catch(noop$1):this.cameraMotion.set({longitude:x.longitude,latitude:x.latitude},0).catch(noop$1),e.isFinal){var O=e.velocityX,k=e.velocityY;this.inMomentumMovement={uuid:createUuid()},this.requestMomentumMovement(e,!0,__assign(__assign({},this.coordinatesForOffset({x:O,y:k})),{x:0,y:0,z:0}),0)}}}},t.prototype.onPinchGesture=function(e){var r;this.userAction=e.userAction,this.stopMomentumMovement(),this.hideIntersectMesh();var i=(r=this.pinchState)===null||r===void 0?void 0:r.distance;if(e.isFirst){this.pinchState={x:e.center.x,y:e.center.y,scale:1,distance:this.locationMotion.value.distance};return}if(e.isFinal){delete this.panState,delete this.pinchState;return}if(typeof i!="undefined"){var o=this.models.bounding.getCenter(new THREE__namespace.Vector3),s=t.distanceFromModel(this.models,this.cameraMotion.value.fov,this.camera.aspect),u=clamp(i/e.scale,minDistance,1/0),l=e.state.offset.clone().sub(coordinatesToVector(e.state).setLength(u)),c=this.models.bounding.containsPoint(l),d;!c&&this.pinchState&&this.pinchState.scale>e.scale&&o.distanceTo(l)>s?d=e.state.distance:(d=u,this.pinchState&&(this.pinchState.scale=e.scale)),e.state.distance=d,this.emit("gesture.pinch",e),!e.defaultPrevented&&(this.locationMotion.set({distance:e.state.distance},0).catch(noop$1),e.pointerType!=="mouse"&&(e.type="gesture.pan",this.onPanGesture(e)))}},t.prototype.onMouseMove=function(e){var r,i;if(this.intersectMesh.parent&&!this.panState&&!this.pinchState&&!this.mouseWheelState&&(this.emit("gesture.mousemove",e),!e.defaultPrevented)){var o=e.center.raycaster;if(o.near=RAYCASTER_NEAR,o.far=500,e.isFinal&&this.intersectMesh.parent&&this.intersectMesh.visible===!0){this.hideIntersectMesh();return}var s=this.models.intersectRaycaster(o)[0],u=createEvent("intersect.update",{raycaster:o,intersection:s!=null?s:null,object:this.intersectMesh});if(this.emit("intersect.update",u),u.defaultPrevented){this.hideIntersectMesh();return}if(s){var l=(i=(r=s.face)===null||r===void 0?void 0:r.normal)!==null&&i!==void 0?i:new THREE__namespace.Vector3().copy(o.ray.direction).multiplyScalar(-1),c=l.clone().multiplyScalar(.05),d=s.point.clone().add(c);this.intersectMesh.position.copy(d);var f=d.clone().add(c);if(this.intersectMesh.lookAt(f),Math.abs(l.y)>.99){var v=this.camera.position.clone().sub(d);this.intersectMesh.rotation.z=-Math.atan2(v.z,v.x)}this.intersectMesh.visible=!0,this.needsRender=!0}else this.hideIntersectMesh()}},t.prototype.onMouseWheel=function(e){if(this.userAction=e.userAction,this.stopMomentumMovement(),this.hideIntersectMesh(),e.isFinal){var r=e.state;if(this.fixFinalState(r),this.emit("gesture.mousewheel",e),e.defaultPrevented)return;var i={x:r.offset.x,y:r.offset.y,z:r.offset.z,distance:r.distance};this.locationMotion.set(i,0).catch(noop$1)}else{var o=e.center.delta/2*Math.max(Math.log(this.locationMotion.value.distance),1),s=this.models.bounding.getCenter(new THREE__namespace.Vector3),u=t.distanceFromModel(this.models,this.cameraMotion.value.fov,this.camera.aspect),l=clamp(this.locationMotion.value.distance-o,minDistance,1/0),c=e.state.offset.clone().sub(coordinatesToVector(e.state).setLength(l)),d=this.models.bounding.containsPoint(c),f=!d&&o<0&&s.distanceTo(c)>u?e.state.distance:l;if(e.state.distance=l,this.emit("gesture.mousewheel",e),e.defaultPrevented)return;this.locationMotion.set({distance:f},0).catch(noop$1)}},t.prototype.onTapGesture=function(e){var r=this;this.userAction=e.userAction,this.stopMomentumMovement();var i=e.center.raycaster,o=this.getForwardObserverOrNot(i);if(!o)this.emit("gesture.tap",e);else{var s={longitude:this.camera.pose.longitude,latitude:0},u=__assign(__assign({},e.state),{mode:"Panorama",workCode:o.pano.workCode,panoIndex:o.pano.panoIndex,longitude:s.longitude,latitude:s.latitude,offset:o?o.position.clone():new THREE__namespace.Vector3,distance:0});if(e.state=u,this.emit("gesture.tap",e),!e.defaultPrevented&&(this.emit("pano.select",createEvent("pano.select",{prevPano:this.currentPano,state:u,userAction:e.userAction,options:s,progress:0,error:null})),o&&o.active)){var l=this.currentTapId=createUuid();this.preloadPano(o.pano).then(function(c){r.currentTapId===l&&r.emit("pano.request",createEvent("pano.request",{userAction:!0,prevPano:r.currentPano,progress:0,state:u,options:s,error:null}))})}}},t.prototype.hideIntersectMesh=function(){this.intersectMesh.visible=!1,this.needsRender=!0},t.prototype.postProcessing=function(e,r){var i;if(!this.destroyed){if(r==="edl")return this.edlEffect.render(e);if(r==="hq")return(i=this.hqEffect)===null||i===void 0?void 0:i.render(e)}},t}(BaseController);function isNil(n){return n==null}var _moveEvent={type:"move"},XRController=function(){function n(){this._targetRay=null,this._grip=null,this._hand=null,this._axes=[0,0]}return n.prototype.getHandSpace=function(){return this._hand===null&&(this._hand=new THREE__namespace.Group,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand},n.prototype.getTargetRaySpace=function(){return this._targetRay===null&&(this._targetRay=new THREE__namespace.Group,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new THREE__namespace.Vector3,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new THREE__namespace.Vector3),this._targetRay},n.prototype.getGripSpace=function(){return this._grip===null&&(this._grip=new THREE__namespace.Group,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new THREE__namespace.Vector3,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new THREE__namespace.Vector3),this._grip},n.prototype.dispatchEvent=function(t){return this._targetRay!==null&&this._targetRay.dispatchEvent(t),this._grip!==null&&this._grip.dispatchEvent(t),this._hand!==null&&this._hand.dispatchEvent(t),this},n.prototype.disconnect=function(t){return this.dispatchEvent({type:"disconnected",data:t}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this},n.prototype.getAxes=function(){return this._axes},n.prototype.update=function(t,e,r){var i=null,o=null,s=null,u=this._targetRay,l=this._grip,c=this._hand;if(t&&t.gamepad&&t.gamepad.axes&&(this._axes=[t.gamepad.axes[2],t.gamepad.axes[3]]),t&&e.session.visibilityState!=="visible-blurred")if(u!==null&&(i=e.getPose(t.targetRaySpace,r),i!==null&&(u.matrix.fromArray(i.transform.matrix),u.matrix.decompose(u.position,u.rotation,u.scale),i.linearVelocity?(u.hasLinearVelocity=!0,u.linearVelocity.copy(i.linearVelocity)):u.hasLinearVelocity=!1,i.angularVelocity?(u.hasAngularVelocity=!0,u.angularVelocity.copy(i.angularVelocity)):u.hasAngularVelocity=!1,this.dispatchEvent(_moveEvent))),c&&t.hand){s=!0;for(var d=0,f=t.hand.values();d<f.length;d++){var v=f[d],p=e.getJointPose(v,r);if(c.joints[v.jointName]===void 0){var A=new THREE__namespace.Group;A.matrixAutoUpdate=!1,A.visible=!1,c.joints[v.jointName]=A,c.add(A)}var m=c.joints[v.jointName];p!==null&&(m.matrix.fromArray(p.transform.matrix),m.matrix.decompose(m.position,m.rotation,m.scale),m.jointRadius=p.radius),m.visible=p!==null}var y=c.joints["index-finger-tip"],h=c.joints["thumb-tip"],g=y.position.distanceTo(h.position),b=.02,E=.005;c.inputState.pinching&&g>b+E?(c.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:t.handedness,target:this})):!c.inputState.pinching&&g<=b-E&&(c.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:t.handedness,target:this}))}else l!==null&&t.gripSpace&&(o=e.getPose(t.gripSpace,r),o!==null&&(l.matrix.fromArray(o.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),o.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(o.linearVelocity)):l.hasLinearVelocity=!1,o.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(o.angularVelocity)):l.hasAngularVelocity=!1));return u!==null&&(u.visible=i!==null),l!==null&&(l.visible=o!==null),c!==null&&(c.visible=s!==null),this},n}(),framebufferScaleFactor=1,XRManager=function(){function n(t,e,r){var i,o,s,u,l;this.isPanorama=(i=r==null?void 0:r.isPanorama)!==null&&i!==void 0?i:!0,this.machineType=(o=r==null?void 0:r.machineType)!==null&&o!==void 0?o:"Pico",this.renderer=t,this.gl=e,this.enabled=!1,this.session=null,this.referenceSpaceType=(s=r==null?void 0:r.referenceSpaceType)!==null&&s!==void 0?s:"local-floor",this.referenceSpace=null,this.onSessionStartCallback=(u=r==null?void 0:r.onSessionStart)!==null&&u!==void 0?u:noop$1,this.onSessionEndCallback=(l=r==null?void 0:r.onSessionEnd)!==null&&l!==void 0?l:noop$1,this.controllers=[new XRController,new XRController],this.inputSourcesMap=new Map,this.cameraVR=new THREE__namespace.ArrayCamera,this.cameraL=new THREE__namespace.PerspectiveCamera,this.cameraR=new THREE__namespace.PerspectiveCamera,this.cameraL.viewport=new THREE__namespace.Vector4,this.cameraR.viewport=new THREE__namespace.Vector4,this.cameraL.layers.enable(1),this.cameraR.layers.enable(2),this.cameraVR.layers.enable(1),this.cameraVR.layers.enable(2),this.isPresenting=!1,this.currentDepthNear=null,this.currentDepthFar=null,this.cameraLPos=new THREE__namespace.Vector3,this.cameraRPos=new THREE__namespace.Vector3}return n.prototype.getController=function(t){var e=this.controllers[t];return e||console.warn("no controller find"),e.getTargetRaySpace()},n.prototype.getRightController=function(){if(!this.session)return null;var t=this.session.inputSources[0].handedness==="right"?0:1,e=this.controllers[t];return e||console.warn("no controller find"),e.getTargetRaySpace()},n.prototype.getLeftController=function(){if(!this.session)return null;var t=this.session.inputSources[0].handedness==="left"?0:1,e=this.controllers[t];return e||console.warn("no controller find"),e.getTargetRaySpace()},n.prototype.getControllerGrip=function(t){var e=this.controllers[t];return e||console.warn("no controller find"),e.getGripSpace()},n.prototype.getCameras=function(){return{cameraL:this.cameraL,cameraR:this.cameraR,cameraVR:this.cameraVR}},n.prototype.updateCamera=function(t,e){e===null?t.matrixWorld.copy(t.matrix):t.matrixWorld.multiplyMatrices(e.matrixWorld,t.matrix),t.matrixWorldInverse.getInverse(t.matrixWorld)},n.prototype.setProjectionFromUnion=function(t,e,r){this.cameraLPos.setFromMatrixPosition(e.matrixWorld),this.cameraRPos.setFromMatrixPosition(r.matrixWorld);var i=this.cameraLPos.distanceTo(this.cameraRPos),o=e.projectionMatrix.elements,s=r.projectionMatrix.elements,u=o[14]/(o[10]-1),l=o[14]/(o[10]+1),c=(o[9]+1)/o[5],d=(o[9]-1)/o[5],f=(o[8]-1)/o[0],v=(s[8]+1)/s[0],p=u*f,A=u*v,m=i/(-f+v),y=m*-f;e.matrixWorld.decompose(t.position,t.quaternion,t.scale),t.translateX(y),t.translateZ(m),t.matrixWorld.compose(t.position,t.quaternion,t.scale),t.matrixWorldInverse.getInverse(t.matrixWorld);var h=u+m,g=l+m,b=p-y,E=A+(i-y),T=c*l/g*h,_=d*l/g*h;t.projectionMatrix.makePerspective(b,E,T,_,h,g)},n.prototype.getCamera=function(t){this.cameraVR.near=this.cameraR.near=this.cameraL.near=t.near,this.cameraVR.far=this.cameraR.far=this.cameraL.far=t.far,this.session&&(this.currentDepthNear!==this.cameraVR.near||this.currentDepthFar!==this.cameraVR.far)&&(this.session.updateRenderState({depthNear:this.cameraVR.near,depthFar:this.cameraVR.far}),this.currentDepthNear=this.cameraVR.near,this.currentDepthFar=this.cameraVR.far);var e=t.parent,r=this.cameraVR.cameras;this.updateCamera(this.cameraVR,e);for(var i=0;i<r.length;i++)this.updateCamera(r[i],e);t.matrixWorld.copy(this.cameraVR.matrixWorld);for(var o=t.children,i=0,s=o.length;i<s;i++)o[i].updateMatrixWorld(!0);return r.length===2?this.setProjectionFromUnion(this.cameraVR,this.cameraL,this.cameraR):this.cameraVR.projectionMatrix.copy(this.cameraL.projectionMatrix),this.cameraVR},n.prototype.updateInputSources=function(t){if(!this.session){console.warn("session is lose!");return}for(var e=this.session.inputSources,r=0;r<this.controllers.length;r++)this.inputSourcesMap.set(e[r],this.controllers[r]);for(var r=0;r<t.removed.length;r++){var i=t.removed[r],o=this.inputSourcesMap.get(i);o&&(o.dispatchEvent({type:"disconnected",data:i}),this.inputSourcesMap.delete(i))}for(var r=0;r<t.added.length;r++){var i=t.added[r],o=this.inputSourcesMap.get(i);o&&o.dispatchEvent({type:"connected",data:i})}},n.prototype.onSessionEvent=function(t){var e=this.inputSourcesMap.get(t.inputSource);e&&e.dispatchEvent({type:t.type})},n.prototype.onSessionEnd=function(){this.inputSourcesMap.forEach(function(t,e){t.disconnect(e)}),this.inputSourcesMap.clear(),this.renderer.setFramebuffer(null),this.renderer.setRenderTarget(this.renderer.getRenderTarget()),this.isPresenting=!1,this.session=null,AnimationFrameLoop.shared.setContext(null),this.onSessionEndCallback()},n.prototype.onRequestReferenceSpace=function(t){this.referenceSpace=t,this.isPresenting=!0,this.session&&this.onSessionStartCallback(this.session)},n.prototype.setSession=function(t){var e=this;if(this.session=t,this.session){this.session.addEventListener("select",function(i){e.onSessionEvent(i)}),this.session.addEventListener("selectstart",function(i){e.onSessionEvent(i)}),this.session.addEventListener("selectend",function(i){e.onSessionEvent(i)}),this.session.addEventListener("squeeze",function(i){e.onSessionEvent(i)}),this.session.addEventListener("squeezestart",function(i){e.onSessionEvent(i)}),this.session.addEventListener("squeezeend",function(i){e.onSessionEvent(i)}),this.session.addEventListener("end",function(i){e.onSessionEnd()});var r=this.gl.getContextAttributes();this.gl.makeXRCompatible().then(function(){var i={antialias:r==null?void 0:r.antialias,alpha:r==null?void 0:r.alpha,depth:r==null?void 0:r.depth,stencil:r==null?void 0:r.stencil,framebufferScaleFactor};if(!e.session){console.error("session is lose while set session!");return}switch(e.machineType){case"Pico":e.session.updateRenderState({baseLayer:new XRWebGLLayer(e.session,e.gl,i)});break;case"Oculus":e.session.updateRenderState({layers:[new XRWebGLLayer(e.session,e.gl,i)]});break;default:e.machineType;break}e.session.requestReferenceSpace(e.referenceSpaceType).then(function(o){e.onRequestReferenceSpace(o)}),e.session.addEventListener("inputsourceschange",function(o){e.updateInputSources(o)})})}},n}(),LineSegmentsGeometry=function(n){__extends(t,n);function t(){var e=n.call(this)||this;e.type="LineSegmentsGeometry";var r=[-1,2,0,1,2,0,-1,1,0,1,1,0,-1,0,0,1,0,0,-1,-1,0,1,-1,0],i=[-1,2,1,2,-1,1,1,1,-1,-1,1,-1,-1,-2,1,-2],o=[0,2,1,2,3,1,2,4,3,4,5,3,4,6,5,6,7,5];return e.setIndex(o),e.setAttribute("position",new THREE__namespace.Float32BufferAttribute(r,3)),e.setAttribute("uv",new THREE__namespace.Float32BufferAttribute(i,2)),e}return t.prototype.applyMatrix4=function(e){var r=this.attributes.instanceStart,i=this.attributes.instanceEnd;return r!==void 0&&(r.applyMatrix4(e),i.applyMatrix4(e),r.needsUpdate=!0),this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this},t.prototype.setPositions=function(e){var r;e instanceof Float32Array?r=e:Array.isArray(e)?r=new Float32Array(e):r=new Float32Array;var i=new THREE__namespace.InstancedInterleavedBuffer(r,6,1);return this.setAttribute("instanceStart",new THREE__namespace.InterleavedBufferAttribute(i,3,0)),this.setAttribute("instanceEnd",new THREE__namespace.InterleavedBufferAttribute(i,3,3)),this.computeBoundingBox(),this.computeBoundingSphere(),this},t.prototype.setColors=function(e){var r;e instanceof Float32Array?r=e:Array.isArray(e)?r=new Float32Array(e):r=new Float32Array;var i=new THREE__namespace.InstancedInterleavedBuffer(r,6,1);return this.setAttribute("instanceColorStart",new THREE__namespace.InterleavedBufferAttribute(i,3,0)),this.setAttribute("instanceColorEnd",new THREE__namespace.InterleavedBufferAttribute(i,3,3)),this},t.prototype.fromWireframeGeometry=function(e){return this.setPositions(e.attributes.position.array),this},t.prototype.fromEdgesGeometry=function(e){return this.setPositions(e.attributes.position.array),this},t.prototype.fromMesh=function(e){return this.fromWireframeGeometry(new THREE__namespace.WireframeGeometry(e.geometry)),this},t.prototype.fromLineSegments=function(e){var r=e.geometry;if(r instanceof THREE__namespace.Geometry){var i=new THREE__namespace.BufferGeometry().fromGeometry(r);this.setPositions(i.attributes.position.array)}else r instanceof THREE__namespace.BufferGeometry&&this.setPositions(r.attributes.position.array);return this},t.prototype.computeBoundingBox=function(){this.boundingBox===null&&(this.boundingBox=new THREE__namespace.Box3);var e=this.attributes.instanceStart,r=this.attributes.instanceEnd;if(e!==void 0&&r!==void 0){var i=new THREE__namespace.Box3;this.boundingBox.setFromBufferAttribute(e),i.setFromBufferAttribute(r),this.boundingBox.union(i)}},t.prototype.computeBoundingSphere=function(){this.boundingSphere===null&&(this.boundingSphere=new THREE__namespace.Sphere),this.boundingBox===null&&this.computeBoundingBox();var e=this.attributes.instanceStart,r=this.attributes.instanceEnd;if(e!==void 0&&r!==void 0){var i=this.boundingSphere.center;this.boundingBox.getCenter(i);for(var o=0,s=new THREE__namespace.Vector3,u=0,l=e.count;u<l;u++)s.fromBufferAttribute(e,u),o=Math.max(o,i.distanceToSquared(s)),s.fromBufferAttribute(r,u),o=Math.max(o,i.distanceToSquared(s));this.boundingSphere.radius=Math.sqrt(o),isNaN(this.boundingSphere.radius)&&console.error("THREE.LineSegmentsGeometry.computeBoundingSphere(): Computed radius is NaN. The instanced position data is likely to have NaN values.",this)}},t.prototype.toJSON=function(){},t}(THREE__namespace.InstancedBufferGeometry);Object.assign(LineSegmentsGeometry.prototype,{isLineSegmentsGeometry:!0});var lineShader={uniforms:THREE__namespace.UniformsUtils.merge([THREE__namespace.UniformsLib.common,THREE__namespace.UniformsLib.fog,{linewidth:{value:1},resolution:{value:new THREE__namespace.Vector2(1,1)},dashScale:{value:1},dashSize:{value:1},gapSize:{value:1},opacity:{value:1}}]),vertexShader:`
|
|
1813
|
+
b-J-Htyl]|vv|{-J-}|wrpv|{Znv\x07-7-z|qrycvrZnv\x07-7-rpA5}|vv|{9>;=6H\f`);var HQMaterial=function(n){__extends(t,n);function t(e){var r=n.call(this,{vertexShader:vertex,fragmentShader:fragment})||this;return r.uniforms={uDepthMap:makeUniform("t",null),uWeightMap:makeUniform("t",null)},r.depthTest=!0,r.depthWrite=!0,r.opacity=1,r}return t.prototype.getUniform=function(e){return this.uniforms===void 0?void 0:this.uniforms[e].value},t.prototype.setUniform=function(e,r){if(this.uniforms!==void 0){var i=this.uniforms[e];i.value=r}},__decorate([uniform("uDepthMap"),__metadata("design:type",Number)],t.prototype,"uDepthMap",void 0),__decorate([uniform("uWeightMap"),__metadata("design:type",Number)],t.prototype,"uWeightMap",void 0),t}(THREE__namespace.RawShaderMaterial);function makeUniform(n,t){return{type:n,value:t}}function uniform(n,t){return t===void 0&&(t=!1),function(e,r){Object.defineProperty(e,r,{get:function(){return this.getUniform(n)},set:function(i){i!==this.getUniform(n)&&(this.setUniform(n,i),t&&this.updateShaderSource())}})}}var passCamera=new THREE__namespace.OrthographicCamera(-1,1,1,-1,0,1),geometry$1=new THREE__namespace.BufferGeometry;geometry$1.setAttribute("position",new THREE__namespace.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3)),geometry$1.setAttribute("uv",new THREE__namespace.Float32BufferAttribute([0,2,0,0,2,0],2));var mesh$1=new THREE__namespace.Mesh(geometry$1),hqScene=new THREE__namespace.Scene;hqScene.add(mesh$1);var HQEffect=function(n){__extends(t,n);function t(e,r,i,o){var s=n.call(this,e,r,i,o)||this;return s.sharedV2=new THREE__namespace.Vector2,s.renderer=e,s.material=new HQMaterial,s.scene=r,s.camera=i,mesh$1.material=s.material,s}return t.prototype.render=function(e){var r=this.material.uniforms;this.models.setMaterial({useHQWeight:!0,useHQDepth:!1}),this.renderer.setRenderTarget(e[1]),this.models.update(this.renderer,this.camera,"Mapview"),this.renderer.autoClearDepth=!1,this.renderer.setClearAlpha(0),this.renderer.render(this.scene,this.camera),r.uWeightMap.value=e[1].texture,r.uDepthMap.value=e[0].depthTexture,this.renderer.setRenderTarget(null),this.renderer.autoClearDepth=!0,this.renderer.setClearAlpha(1),this.renderer.render(hqScene,passCamera),this.models.setMaterial({useHQWeight:!1,useHQDepth:!0}),this.models.update(this.renderer,this.camera,"Mapview")},t.prototype.dispose=function(){this.copyPass.dispose()},t}(Effect),RAYCASTER_NEAR=.5,minDistance=0,MapviewController=function(n){__extends(t,n);function t(e){var r=this,i,o=t.parseArgs(e);return r=n.call(this,o)||this,r.mode="Mapview",r.defaultLongitude=o.defaultLongitude,r.defaultLatitude=o.defaultLatitude,r.defaultDistance=o.defaultDistance,r.maxLatitude=o.maxLatitude,r.minLatitude=o.minLatitude,r.locationMotion=new Motion({x:r.camera.pose.offset.x,y:r.camera.pose.offset.y,z:r.camera.pose.offset.z,distance:r.camera.pose.distance}),r.modelAlphaMotion=new Motion({modelAlpha:(i=r.models.getMaterial().modelAlpha)!==null&&i!==void 0?i:0}),r.perspToOrthoMotion=new Motion({perspToOrtho:r.camera.perspToOrtho.x}),r.intersectMeshCreator=o.intersectMeshCreator,r.intersectMesh=r.intersectMeshCreator(),r.intersectMesh.name="intersect",r.intersectMesh.visible=!1,r.currentTapId=null,r.helper.add(r.intersectMesh),r.edlTarget=new THREE__namespace.WebGLRenderTarget(1024,1024,{minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,format:THREE__namespace.RGBAFormat,type:THREE__namespace.FloatType,depthTexture:new THREE__namespace.DepthTexture(1024,1024,THREE__namespace.UnsignedIntType)}),r.edlEffect=new EDLEffect(r.renderer,r.scene,r.camera,r.models),r.hqEffect=new HQEffect(r.renderer,r.scene,r.camera,r.models),r}return t.parseArgs=function(e){var r,i,o,s,u,c;if(e instanceof t)return e;var l=n.parseArgs.call(this,e);return __assign(__assign({},l),{defaultLongitude:(r=e.defaultLongitude)!==null&&r!==void 0?r:Math.PI/4,defaultLatitude:(i=e.defaultLatitude)!==null&&i!==void 0?i:Math.PI/4,defaultDistance:(o=e.defaultDistance)!==null&&o!==void 0?o:150,maxLatitude:(s=e.maxLatitude)!==null&&s!==void 0?s:+Math.PI/2,minLatitude:(u=e.minLatitude)!==null&&u!==void 0?u:0,intersectMeshCreator:(c=e.intersectMeshCreator)!==null&&c!==void 0?c:function(){return new IntersectMesh}})},t.distanceFromModel=function(e,r,i){var o=e.bounding,s=Math.pow(Math.pow(o.max.x-o.min.x+1,2)+Math.pow(o.max.y-o.min.y+1,2)+Math.pow(o.max.z-o.min.z+1,2),1/2),u=s/2/Math.tan(Math.PI*r/360);return i<1&&(u=u/i),isNaN(u)?s:u},t.initAnimationEndState=function(e){var r,i,o,s,u,c,l,d=this.parseArgs(e),f=d.works,m=d.models,p=e.initial,A=p.state,v=p.currentState,g=typeof A.panoIndex=="number"?{workCode:(o=(r=A.workCode)!==null&&r!==void 0?r:(i=d.works[0])===null||i===void 0?void 0:i.workCode)!==null&&o!==void 0?o:"",panoIndex:A.panoIndex}:{workCode:v.workCode,panoIndex:v.panoIndex},h=f.getResolvedObserver(g),y=(s=A.fov)!==null&&s!==void 0?s:60,b=clamp((u=A.latitude)!==null&&u!==void 0?u:isThirdPersonMode(v.mode)?v.latitude:d.defaultLatitude,d.minLatitude,d.maxLatitude),E=t.distanceFromModel(d.models,y,d.camera.aspect),T=new THREE__namespace.Vector3,x=(c=A.distance)!==null&&c!==void 0?c:Math.min(d.defaultDistance,E),_=(l=A.longitude)!==null&&l!==void 0?l:isThirdPersonMode(v.mode)?v.longitude:d.defaultLongitude;return A.offset?T.copy(A.offset):d.defaultDistance<E&&h?(T.copy(h.position),A.longitude===void 0&&(_=v.longitude)):T.copy(m.bounding.getCenter(T)),m.bounding.containsPoint(T)||m.bounding.getCenter(T),__assign(__assign({},g),{mode:"Mapview",longitude:_,latitude:b,fov:y,offset:T,distance:x})},t.prototype.destroy=function(){n.prototype.destroy.call(this),this.locationMotion.dispose(),delete this.panState,this.intersectMesh.dispose(),this.helper.remove(this.intersectMesh)},t.prototype.isReady=function(){return this.locationMotion.ended===!1?!1:n.prototype.isReady.call(this)},t.prototype.updateWork=function(e,r,i,o){this.userAction=o,this.works=e;var s=t.initAnimationEndState(__assign(__assign({},this),{initial:{currentState:__assign(__assign({},this.currentPano),this.camera.pose),duration:i.duration,effect:i.effect,state:r,userAction:o}}));this.currentPano={workCode:s.workCode,panoIndex:s.panoIndex};var u={longitude:s.longitude,latitude:s.latitude,fov:s.fov},c={x:s.offset.x,y:s.offset.y,z:s.offset.z,distance:s.distance,orthoDistance:s.distance};return this.locationMotion.set(c,i.duration).catch(noop$1),this.cameraMotion.set(u,i.duration).catch(noop$1),!0},t.prototype.updateModel=function(e){n.prototype.updateModel.call(this,e)},t.prototype.updateCamera=function(e,r,i){var o=this;return this.initAnimationReady.then(function(){o.userAction=i,o.stopMomentumMovement();var s={},u={};return e.distance!==void 0&&(s.distance=e.distance),e.offset!==void 0&&(s.x=e.offset.x,s.y=e.offset.y,s.z=e.offset.z),e.longitude!==void 0&&(u.longitude=e.longitude),e.latitude!==void 0&&(u.latitude=e.latitude),e.fov!==void 0&&(u.fov=e.fov),o.locationMotion.set(s,r).catch(noop$1),o.cameraMotion.set(u,r).catch(noop$1)})},t.prototype.updateCameraWithKeyframes=function(e,r,i){var o=this;return this.initAnimationReady.then(function(){o.userAction=i,o.stopMomentumMovement();for(var s=[],u=[],c=0,l=e;c<l.length;c++){var d=l[c];s.push({key:d.key,progress:d.progress,value:{distance:d.value.distance,x:d.value.offset.x,y:d.value.offset.x,z:d.value.offset.x}}),u.push({key:d.key,progress:d.progress,value:{longitude:d.value.longitude,latitude:d.value.latitude,fov:d.value.fov}})}return o.locationMotion.setKeyframes(s,r).catch(noop$1),o.cameraMotion.setKeyframes(e,r)})},t.prototype.updateTime=function(e,r){if(!this.destroyed){var i={},o={};if(this.locationMotion.ended||(this.locationMotion.update(e),o.distance=this.locationMotion.value.distance,o.offset=new THREE__namespace.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z)),!this.cameraMotion.ended){this.cameraMotion.update(e),o.longitude=this.cameraMotion.value.longitude,o.latitude=this.cameraMotion.value.latitude,o.fov=this.cameraMotion.value.fov;var s=Math.PI/2-o.latitude<.02?1:0;this.perspToOrthoMotion.getTargetKeyframe().value.perspToOrtho!==s&&this.perspToOrthoMotion.set({perspToOrtho:s},500).catch(noop$1)}this.modelAlphaMotion.ended||(this.modelAlphaMotion.update(e),i.modelAlpha=this.modelAlphaMotion.value.modelAlpha),this.perspToOrthoMotion.ended||(this.perspToOrthoMotion.update(e),this.camera.perspToOrtho.setScalar(clamp(this.perspToOrthoMotion.value.perspToOrtho,0,1))),isEmptyObject(i)||this.models.setMaterial(i),isEmptyObject(o)||this.setCamera(o)}},t.prototype.getTargetState=function(){var e=this.cameraMotion.getKeyFrameSegment(now())[1],r=this.locationMotion.getKeyFrameSegment(now())[1];return __assign(__assign({},this.currentPano),{mode:this.mode,longitude:e.value.longitude,latitude:e.value.latitude,fov:e.value.fov,distance:r.value.distance,offset:new THREE__namespace.Vector3(r.value.x,r.value.y,r.value.z)})},t.prototype.initAnimation=function(){var e=this;return this.destroyed?Promise.resolve():new Promise(function(r){var i=e.initial;i.state,i.currentState;var o=i.duration,s=i.userAction;e.userAction=s;var u=t.initAnimationEndState(e),c={longitude:u.longitude,latitude:u.latitude,fov:u.fov},l={x:u.offset.x,y:u.offset.y,z:u.offset.z,distance:u.distance},d={modelAlpha:1},f={perspToOrtho:0};e.emit("initAnimation.start",createEvent("initAnimation.start",{state:u,userAction:e.userAction})),e.perspToOrthoMotion.set(f,o).catch(noop$1),e.modelAlphaMotion.set(d,o/3).catch(noop$1),e.cameraMotion.set(c,o).catch(noop$1),e.locationMotion.set(l,o).then(function(){e.emit("initAnimation.end",createEvent("initAnimation.end",{state:u,userAction:e.userAction}))},function(m){var p=__assign(__assign(__assign({},e.currentPano),{mode:e.mode}),clonePose(e.camera.pose));e.emit("initAnimation.end",createEvent("initAnimation.end",{state:p,userAction:e.userAction}))}).then(function(){r()})})},t.prototype.getForwardObserverOrNot=function(e){var r=this.models.intersectRaycaster(e)[0];if(!r)return null;var i=this.works.resolvedObservers,o=arrayMin(i,function(c){return c.standingPosition.distanceTo(r.point)},!0),s=o[0],u=o[1];return s&&u<10?s:null},t.prototype.coordinatesForOffset=function(e){var r=this.renderer.getSize(new THREE__namespace.Vector2);return{longitude:-2*e.x/(r.x*this.scissor.width),latitude:2*e.y/(r.y*this.scissor.height)}},t.prototype.requestMomentumMovement=function(e,r,i,o){var s=this;if(this.inMomentumMovement!==null){for(var u=__assign({},i),c={longitude:0,latitude:0,x:0,y:0,z:0},l=0;l<o;l++)u.longitude*=.996,u.latitude*=.996*.998,u.x*=.99,u.y*=.99,u.z*=.99,c.longitude+=u.longitude,c.latitude+=u.latitude,c.x+=u.x,c.y+=u.y,c.z+=u.z;var d=formatRad(this.cameraMotion.value.longitude+c.longitude),f=clamp(this.cameraMotion.value.latitude+c.latitude,this.minLatitude,this.maxLatitude),m=clamp(this.locationMotion.value.x+c.x,this.models.bounding.min.x,this.models.bounding.max.x),p=clamp(this.locationMotion.value.y+c.y,this.models.bounding.min.y,this.models.bounding.max.y),A=clamp(this.locationMotion.value.z+c.z,this.models.bounding.min.z,this.models.bounding.max.z),v=__assign(__assign({},this.currentPano),{mode:this.mode,longitude:d,latitude:f,offset:new THREE__namespace.Vector3(m,p,A),fov:this.cameraMotion.value.fov,distance:this.camera.pose.distance}),g=!(Math.abs(u.longitude)>1e-4||Math.abs(u.latitude)>1e-4||Math.abs(u.x)>1e-4||Math.abs(u.y)>1e-4||Math.abs(u.z)>1e-4),h=createEvent("gesture.momentum",__assign(__assign({},e),{isFirst:r,isFinal:g,state:v}));if(this.inMomentumMovement.event=h,this.emit("gesture.momentum",h),e.defaultPrevented){this.inMomentumMovement=null;return}this.inMomentumMovement&&(this.cameraMotion.set({longitude:d,latitude:f},0).catch(noop$1),this.locationMotion.set({x:v.offset.x,y:v.offset.y,z:v.offset.z},0).catch(noop$1),g?this.inMomentumMovement=null:AnimationFrameLoop.shared.add(function(y,b){s.requestMomentumMovement(e,!1,u,b|0)},!0,1))}},t.prototype.fixFinalState=function(e){if(this.perspToOrthoMotion.getTargetKeyframe().value.perspToOrtho!==1){var r=coordinatesToVector(e,new THREE__namespace.Vector3),i=new THREE__namespace.Vector3().copy(e.offset).sub(r.clone().multiplyScalar(e.distance)),o=new THREE__namespace.Raycaster(i,r);o.params.Points={threshold:.1},o.near=RAYCASTER_NEAR;var s=this.models.intersectRaycaster(o)[0];if(!s&&o.ray.direction.y<-.3){var u=new THREE__namespace.Plane(new THREE__namespace.Vector3(0,1,0),-this.models.bounding.min.y),c=o.ray.intersectPlane(u,new THREE__namespace.Vector3);if(c){var l=c.distanceTo(o.ray.origin);l<1e4&&l>=o.near&&(s={distance:l,floor:0,point:c,object:this.scene,face:null})}}s&&(e.distance=clamp(s.distance,minDistance,1/0),e.offset.copy(i).add(r.clone().multiplyScalar(e.distance)))}},t.prototype.onPanGesture=function(e){this.userAction=e.userAction,this.stopMomentumMovement(),this.hideIntersectMesh();var r=e.pointers.length,i=this.panState,o=0;e.pointerType==="mouse"&&(o=e.srcEvent.buttons),i&&o===0&&i.buttons!==0&&(o=i.buttons);var s=i==null?void 0:i.target;if(!s){var u=this.relativeClientPosition(e.center),c=new THREE__namespace.Raycaster;c.params.Points={threshold:.1},c.setFromCamera(u,this.camera),c.near=RAYCASTER_NEAR,s=new THREE__namespace.Vector3().copy(c.ray.direction).multiplyScalar(3).add(c.ray.origin);var l=this.models.intersectRaycaster(c)[0];if(!l&&c.ray.direction.y<-.3){var d=new THREE__namespace.Plane(new THREE__namespace.Vector3(0,1,0),0),f=c.ray.intersectPlane(d,new THREE__namespace.Vector3);if(f){var m=f.distanceTo(c.ray.origin);m<1e4&&m>=c.near&&(l={distance:m,floor:0,point:f,object:this.scene})}}if(l)s.copy(l.point);else{var p=new THREE__namespace.Vector3().copy(this.camera.pose.offset).sub(this.camera.position),d=new THREE__namespace.Plane().setFromNormalAndCoplanarPoint(p,this.camera.pose.offset);c.ray.intersectPlane(d,s)}}if(e.isFinal?delete this.panState:this.panState={target:s,buttons:o,pointerLength:r,x:e.center.x,y:e.center.y},!(typeof i=="undefined"||i.pointerLength!==r)){var A=r>1||o===2;if(A){var v={x:e.center.x-i.x,y:e.center.y-i.y},g=new THREE__namespace.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z),h=coordinatesToVector(this.cameraMotion.value).setLength(this.locationMotion.value.distance).add(g),y=new THREE__namespace.Vector3().copy(h).sub(i.target).length();y*=Math.tan(this.camera.pose.fov/2*Math.PI/180);var b=this.renderer.getSize(new THREE__namespace.Vector2),E=2*v.x*y/b.y,T=2*v.y*y/b.y,x=new THREE__namespace.Vector3;x.setFromMatrixColumn(this.camera.matrix,0),x.multiplyScalar(-E),g.add(x),this.camera.pose.latitude<Math.PI/9?x.setFromMatrixColumn(this.camera.matrix,1):(x.setFromMatrixColumn(this.camera.matrix,0),x.crossVectors(this.camera.up,x)),x.multiplyScalar(T),g.add(x),g.clamp(this.models.bounding.min,this.models.bounding.max);var _=__assign(__assign({},this.currentPano),{mode:this.mode,longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,offset:g,distance:this.camera.pose.distance});if(e.state=_,this.emit("gesture.pan",e),e.defaultPrevented)return;if(this.locationMotion.set({x:_.offset.x,y:_.offset.y,z:_.offset.z},0).catch(noop$1),e.isFinal&&(this.fixFinalState(_),this.locationMotion.set({distance:_.distance,x:_.offset.x,y:_.offset.y,z:_.offset.z},0).catch(noop$1)),e.isFinal){var w=this.renderer.getSize(new THREE__namespace.Vector2),S=2*e.velocityX*y/w.y,M=2*e.velocityY*y/w.y,C=new THREE__namespace.Vector3,I=new THREE__namespace.Vector3;C.setFromMatrixColumn(this.camera.matrix,0),C.multiplyScalar(-S),I.add(C),this.camera.pose.latitude<Math.PI/4?C.setFromMatrixColumn(this.camera.matrix,1):(C.setFromMatrixColumn(this.camera.matrix,0),C.crossVectors(this.camera.up,C)),C.multiplyScalar(M),I.add(C),this.inMomentumMovement={uuid:createUuid()},this.requestMomentumMovement(e,!0,{longitude:0,latitude:0,x:I.x,y:I.y,z:I.z},0)}}else{var v={x:e.center.x-i.x,y:e.center.y-i.y},B=this.coordinatesForOffset(v),F=formatRad(this.cameraMotion.value.longitude+B.longitude),L=clamp(this.cameraMotion.value.latitude+B.latitude,this.minLatitude,this.maxLatitude);this.camera.aspect<1&&Math.abs(e.overallVelocityX)>.2&&Math.atan2(Math.abs(e.overallVelocityY),Math.abs(e.overallVelocityX))<Math.PI/6.923&&(L=this.cameraMotion.value.latitude);var _=__assign(__assign({},this.currentPano),{mode:this.mode,longitude:F,latitude:L,fov:this.camera.pose.fov,offset:this.camera.pose.offset,distance:this.camera.pose.distance});if(e.isFinal&&this.fixFinalState(_),e.state=_,this.emit("gesture.pan",e),e.defaultPrevented)return;if(e.isFinal?this.locationMotion.set({distance:_.distance,x:_.offset.x,y:_.offset.y,z:_.offset.z},0).catch(noop$1):this.cameraMotion.set({longitude:_.longitude,latitude:_.latitude},0).catch(noop$1),e.isFinal){var k=e.velocityX,O=e.velocityY;this.inMomentumMovement={uuid:createUuid()},this.requestMomentumMovement(e,!0,__assign(__assign({},this.coordinatesForOffset({x:k,y:O})),{x:0,y:0,z:0}),0)}}}},t.prototype.onPinchGesture=function(e){var r;this.userAction=e.userAction,this.stopMomentumMovement(),this.hideIntersectMesh();var i=(r=this.pinchState)===null||r===void 0?void 0:r.distance;if(e.isFirst){this.pinchState={x:e.center.x,y:e.center.y,scale:1,distance:this.locationMotion.value.distance};return}if(e.isFinal){delete this.panState,delete this.pinchState;return}if(typeof i!="undefined"){var o=this.models.bounding.getCenter(new THREE__namespace.Vector3),s=t.distanceFromModel(this.models,this.cameraMotion.value.fov,this.camera.aspect),u=clamp(i/e.scale,minDistance,1/0),c=e.state.offset.clone().sub(coordinatesToVector(e.state).setLength(u)),l=this.models.bounding.containsPoint(c),d;!l&&this.pinchState&&this.pinchState.scale>e.scale&&o.distanceTo(c)>s?d=e.state.distance:(d=u,this.pinchState&&(this.pinchState.scale=e.scale)),e.state.distance=d,this.emit("gesture.pinch",e),!e.defaultPrevented&&(this.locationMotion.set({distance:e.state.distance},0).catch(noop$1),e.pointerType!=="mouse"&&(e.type="gesture.pan",this.onPanGesture(e)))}},t.prototype.onMouseMove=function(e){var r,i;if(this.intersectMesh.parent&&!this.panState&&!this.pinchState&&!this.mouseWheelState&&(this.emit("gesture.mousemove",e),!e.defaultPrevented)){var o=e.center.raycaster;if(o.near=RAYCASTER_NEAR,o.far=500,e.isFinal&&this.intersectMesh.parent&&this.intersectMesh.visible===!0){this.hideIntersectMesh();return}var s=this.models.intersectRaycaster(o)[0],u=createEvent("intersect.update",{raycaster:o,intersection:s!=null?s:null,object:this.intersectMesh});if(this.emit("intersect.update",u),u.defaultPrevented){this.hideIntersectMesh();return}if(s){var c=(i=(r=s.face)===null||r===void 0?void 0:r.normal)!==null&&i!==void 0?i:new THREE__namespace.Vector3().copy(o.ray.direction).multiplyScalar(-1),l=c.clone().multiplyScalar(.05),d=s.point.clone().add(l);this.intersectMesh.position.copy(d);var f=d.clone().add(l);if(this.intersectMesh.lookAt(f),Math.abs(c.y)>.99){var m=this.camera.position.clone().sub(d);this.intersectMesh.rotation.z=-Math.atan2(m.z,m.x)}this.intersectMesh.visible=!0,this.needsRender=!0}else this.hideIntersectMesh()}},t.prototype.onMouseWheel=function(e){if(this.userAction=e.userAction,this.stopMomentumMovement(),this.hideIntersectMesh(),e.isFinal){var r=e.state;if(this.fixFinalState(r),this.emit("gesture.mousewheel",e),e.defaultPrevented)return;var i={x:r.offset.x,y:r.offset.y,z:r.offset.z,distance:r.distance};this.locationMotion.set(i,0).catch(noop$1)}else{var o=e.center.delta/2*Math.max(Math.log(this.locationMotion.value.distance),1),s=this.models.bounding.getCenter(new THREE__namespace.Vector3),u=t.distanceFromModel(this.models,this.cameraMotion.value.fov,this.camera.aspect),c=clamp(this.locationMotion.value.distance-o,minDistance,1/0),l=e.state.offset.clone().sub(coordinatesToVector(e.state).setLength(c)),d=this.models.bounding.containsPoint(l),f=!d&&o<0&&s.distanceTo(l)>u?e.state.distance:c;if(e.state.distance=c,this.emit("gesture.mousewheel",e),e.defaultPrevented)return;this.locationMotion.set({distance:f},0).catch(noop$1)}},t.prototype.onTapGesture=function(e){var r=this;this.userAction=e.userAction,this.stopMomentumMovement();var i=e.center.raycaster,o=this.getForwardObserverOrNot(i);if(!o)this.emit("gesture.tap",e);else{var s={longitude:this.camera.pose.longitude,latitude:0},u=__assign(__assign({},e.state),{mode:"Panorama",workCode:o.pano.workCode,panoIndex:o.pano.panoIndex,longitude:s.longitude,latitude:s.latitude,offset:o?o.position.clone():new THREE__namespace.Vector3,distance:0});if(e.state=u,this.emit("gesture.tap",e),!e.defaultPrevented&&(this.emit("pano.select",createEvent("pano.select",{prevPano:this.currentPano,state:u,userAction:e.userAction,options:s,progress:0,error:null})),o&&o.active)){var c=this.currentTapId=createUuid();this.preloadPano(o.pano).then(function(l){r.currentTapId===c&&r.emit("pano.request",createEvent("pano.request",{userAction:!0,prevPano:r.currentPano,progress:0,state:u,options:s,error:null}))})}}},t.prototype.hideIntersectMesh=function(){this.intersectMesh.visible=!1,this.needsRender=!0},t.prototype.postProcessing=function(e,r){var i;if(!this.destroyed){if(r==="edl")return this.edlEffect.render(e);if(r==="hq")return(i=this.hqEffect)===null||i===void 0?void 0:i.render(e)}},t}(BaseController);function isNil(n){return n==null}var _moveEvent={type:"move"},XRController=function(){function n(){this._targetRay=null,this._grip=null,this._hand=null,this._axes=[0,0]}return n.prototype.getHandSpace=function(){return this._hand===null&&(this._hand=new THREE__namespace.Group,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand},n.prototype.getTargetRaySpace=function(){return this._targetRay===null&&(this._targetRay=new THREE__namespace.Group,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new THREE__namespace.Vector3,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new THREE__namespace.Vector3),this._targetRay},n.prototype.getGripSpace=function(){return this._grip===null&&(this._grip=new THREE__namespace.Group,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new THREE__namespace.Vector3,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new THREE__namespace.Vector3),this._grip},n.prototype.dispatchEvent=function(t){return this._targetRay!==null&&this._targetRay.dispatchEvent(t),this._grip!==null&&this._grip.dispatchEvent(t),this._hand!==null&&this._hand.dispatchEvent(t),this},n.prototype.disconnect=function(t){return this.dispatchEvent({type:"disconnected",data:t}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this},n.prototype.getAxes=function(){return this._axes},n.prototype.update=function(t,e,r){var i=null,o=null,s=null,u=this._targetRay,c=this._grip,l=this._hand;if(t&&t.gamepad&&t.gamepad.axes&&(this._axes=[t.gamepad.axes[2],t.gamepad.axes[3]]),t&&e.session.visibilityState!=="visible-blurred")if(u!==null&&(i=e.getPose(t.targetRaySpace,r),i!==null&&(u.matrix.fromArray(i.transform.matrix),u.matrix.decompose(u.position,u.rotation,u.scale),i.linearVelocity?(u.hasLinearVelocity=!0,u.linearVelocity.copy(i.linearVelocity)):u.hasLinearVelocity=!1,i.angularVelocity?(u.hasAngularVelocity=!0,u.angularVelocity.copy(i.angularVelocity)):u.hasAngularVelocity=!1,this.dispatchEvent(_moveEvent))),l&&t.hand){s=!0;for(var d=0,f=t.hand.values();d<f.length;d++){var m=f[d],p=e.getJointPose(m,r);if(l.joints[m.jointName]===void 0){var A=new THREE__namespace.Group;A.matrixAutoUpdate=!1,A.visible=!1,l.joints[m.jointName]=A,l.add(A)}var v=l.joints[m.jointName];p!==null&&(v.matrix.fromArray(p.transform.matrix),v.matrix.decompose(v.position,v.rotation,v.scale),v.jointRadius=p.radius),v.visible=p!==null}var g=l.joints["index-finger-tip"],h=l.joints["thumb-tip"],y=g.position.distanceTo(h.position),b=.02,E=.005;l.inputState.pinching&&y>b+E?(l.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:t.handedness,target:this})):!l.inputState.pinching&&y<=b-E&&(l.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:t.handedness,target:this}))}else c!==null&&t.gripSpace&&(o=e.getPose(t.gripSpace,r),o!==null&&(c.matrix.fromArray(o.transform.matrix),c.matrix.decompose(c.position,c.rotation,c.scale),o.linearVelocity?(c.hasLinearVelocity=!0,c.linearVelocity.copy(o.linearVelocity)):c.hasLinearVelocity=!1,o.angularVelocity?(c.hasAngularVelocity=!0,c.angularVelocity.copy(o.angularVelocity)):c.hasAngularVelocity=!1));return u!==null&&(u.visible=i!==null),c!==null&&(c.visible=o!==null),l!==null&&(l.visible=s!==null),this},n}(),framebufferScaleFactor=1,XRManager=function(){function n(t,e,r){var i,o,s,u,c;this.isPanorama=(i=r==null?void 0:r.isPanorama)!==null&&i!==void 0?i:!0,this.machineType=(o=r==null?void 0:r.machineType)!==null&&o!==void 0?o:"Pico",this.renderer=t,this.gl=e,this.enabled=!1,this.session=null,this.referenceSpaceType=(s=r==null?void 0:r.referenceSpaceType)!==null&&s!==void 0?s:"local-floor",this.referenceSpace=null,this.onSessionStartCallback=(u=r==null?void 0:r.onSessionStart)!==null&&u!==void 0?u:noop$1,this.onSessionEndCallback=(c=r==null?void 0:r.onSessionEnd)!==null&&c!==void 0?c:noop$1,this.controllers=[new XRController,new XRController],this.inputSourcesMap=new Map,this.cameraVR=new THREE__namespace.ArrayCamera,this.cameraL=new THREE__namespace.PerspectiveCamera,this.cameraR=new THREE__namespace.PerspectiveCamera,this.cameraL.viewport=new THREE__namespace.Vector4,this.cameraR.viewport=new THREE__namespace.Vector4,this.cameraL.layers.enable(1),this.cameraR.layers.enable(2),this.cameraVR.layers.enable(1),this.cameraVR.layers.enable(2),this.isPresenting=!1,this.currentDepthNear=null,this.currentDepthFar=null,this.cameraLPos=new THREE__namespace.Vector3,this.cameraRPos=new THREE__namespace.Vector3}return n.prototype.getController=function(t){var e=this.controllers[t];return e||console.warn("no controller find"),e.getTargetRaySpace()},n.prototype.getRightController=function(){if(!this.session)return null;var t=this.session.inputSources[0].handedness==="right"?0:1,e=this.controllers[t];return e||console.warn("no controller find"),e.getTargetRaySpace()},n.prototype.getLeftController=function(){if(!this.session)return null;var t=this.session.inputSources[0].handedness==="left"?0:1,e=this.controllers[t];return e||console.warn("no controller find"),e.getTargetRaySpace()},n.prototype.getControllerGrip=function(t){var e=this.controllers[t];return e||console.warn("no controller find"),e.getGripSpace()},n.prototype.getCameras=function(){return{cameraL:this.cameraL,cameraR:this.cameraR,cameraVR:this.cameraVR}},n.prototype.updateCamera=function(t,e){e===null?t.matrixWorld.copy(t.matrix):t.matrixWorld.multiplyMatrices(e.matrixWorld,t.matrix),t.matrixWorldInverse.getInverse(t.matrixWorld)},n.prototype.setProjectionFromUnion=function(t,e,r){this.cameraLPos.setFromMatrixPosition(e.matrixWorld),this.cameraRPos.setFromMatrixPosition(r.matrixWorld);var i=this.cameraLPos.distanceTo(this.cameraRPos),o=e.projectionMatrix.elements,s=r.projectionMatrix.elements,u=o[14]/(o[10]-1),c=o[14]/(o[10]+1),l=(o[9]+1)/o[5],d=(o[9]-1)/o[5],f=(o[8]-1)/o[0],m=(s[8]+1)/s[0],p=u*f,A=u*m,v=i/(-f+m),g=v*-f;e.matrixWorld.decompose(t.position,t.quaternion,t.scale),t.translateX(g),t.translateZ(v),t.matrixWorld.compose(t.position,t.quaternion,t.scale),t.matrixWorldInverse.getInverse(t.matrixWorld);var h=u+v,y=c+v,b=p-g,E=A+(i-g),T=l*c/y*h,x=d*c/y*h;t.projectionMatrix.makePerspective(b,E,T,x,h,y)},n.prototype.getCamera=function(t){this.cameraVR.near=this.cameraR.near=this.cameraL.near=t.near,this.cameraVR.far=this.cameraR.far=this.cameraL.far=t.far,this.session&&(this.currentDepthNear!==this.cameraVR.near||this.currentDepthFar!==this.cameraVR.far)&&(this.session.updateRenderState({depthNear:this.cameraVR.near,depthFar:this.cameraVR.far}),this.currentDepthNear=this.cameraVR.near,this.currentDepthFar=this.cameraVR.far);var e=t.parent,r=this.cameraVR.cameras;this.updateCamera(this.cameraVR,e);for(var i=0;i<r.length;i++)this.updateCamera(r[i],e);t.matrixWorld.copy(this.cameraVR.matrixWorld);for(var o=t.children,i=0,s=o.length;i<s;i++)o[i].updateMatrixWorld(!0);return r.length===2?this.setProjectionFromUnion(this.cameraVR,this.cameraL,this.cameraR):this.cameraVR.projectionMatrix.copy(this.cameraL.projectionMatrix),this.cameraVR},n.prototype.updateInputSources=function(t){if(!this.session){console.warn("session is lose!");return}for(var e=this.session.inputSources,r=0;r<this.controllers.length;r++)this.inputSourcesMap.set(e[r],this.controllers[r]);for(var r=0;r<t.removed.length;r++){var i=t.removed[r],o=this.inputSourcesMap.get(i);o&&(o.dispatchEvent({type:"disconnected",data:i}),this.inputSourcesMap.delete(i))}for(var r=0;r<t.added.length;r++){var i=t.added[r],o=this.inputSourcesMap.get(i);o&&o.dispatchEvent({type:"connected",data:i})}},n.prototype.onSessionEvent=function(t){var e=this.inputSourcesMap.get(t.inputSource);e&&e.dispatchEvent({type:t.type})},n.prototype.onSessionEnd=function(){this.inputSourcesMap.forEach(function(t,e){t.disconnect(e)}),this.inputSourcesMap.clear(),this.renderer.setFramebuffer(null),this.renderer.setRenderTarget(this.renderer.getRenderTarget()),this.isPresenting=!1,this.session=null,AnimationFrameLoop.shared.setContext(null),this.onSessionEndCallback()},n.prototype.onRequestReferenceSpace=function(t){this.referenceSpace=t,this.isPresenting=!0,this.session&&this.onSessionStartCallback(this.session)},n.prototype.setSession=function(t){var e=this;if(this.session=t,this.session){this.session.addEventListener("select",function(i){e.onSessionEvent(i)}),this.session.addEventListener("selectstart",function(i){e.onSessionEvent(i)}),this.session.addEventListener("selectend",function(i){e.onSessionEvent(i)}),this.session.addEventListener("squeeze",function(i){e.onSessionEvent(i)}),this.session.addEventListener("squeezestart",function(i){e.onSessionEvent(i)}),this.session.addEventListener("squeezeend",function(i){e.onSessionEvent(i)}),this.session.addEventListener("end",function(i){e.onSessionEnd()});var r=this.gl.getContextAttributes();this.gl.makeXRCompatible().then(function(){var i={antialias:r==null?void 0:r.antialias,alpha:r==null?void 0:r.alpha,depth:r==null?void 0:r.depth,stencil:r==null?void 0:r.stencil,framebufferScaleFactor};if(!e.session){console.error("session is lose while set session!");return}switch(e.machineType){case"Pico":e.session.updateRenderState({baseLayer:new XRWebGLLayer(e.session,e.gl,i)});break;case"Oculus":e.session.updateRenderState({layers:[new XRWebGLLayer(e.session,e.gl,i)]});break;default:e.machineType;break}e.session.requestReferenceSpace(e.referenceSpaceType).then(function(o){e.onRequestReferenceSpace(o)}),e.session.addEventListener("inputsourceschange",function(o){e.updateInputSources(o)})})}},n}(),LineSegmentsGeometry=function(n){__extends(t,n);function t(){var e=n.call(this)||this;e.type="LineSegmentsGeometry";var r=[-1,2,0,1,2,0,-1,1,0,1,1,0,-1,0,0,1,0,0,-1,-1,0,1,-1,0],i=[-1,2,1,2,-1,1,1,1,-1,-1,1,-1,-1,-2,1,-2],o=[0,2,1,2,3,1,2,4,3,4,5,3,4,6,5,6,7,5];return e.setIndex(o),e.setAttribute("position",new THREE__namespace.Float32BufferAttribute(r,3)),e.setAttribute("uv",new THREE__namespace.Float32BufferAttribute(i,2)),e}return t.prototype.applyMatrix4=function(e){var r=this.attributes.instanceStart,i=this.attributes.instanceEnd;return r!==void 0&&(r.applyMatrix4(e),i.applyMatrix4(e),r.needsUpdate=!0),this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this},t.prototype.setPositions=function(e){var r;e instanceof Float32Array?r=e:Array.isArray(e)?r=new Float32Array(e):r=new Float32Array;var i=new THREE__namespace.InstancedInterleavedBuffer(r,6,1);return this.setAttribute("instanceStart",new THREE__namespace.InterleavedBufferAttribute(i,3,0)),this.setAttribute("instanceEnd",new THREE__namespace.InterleavedBufferAttribute(i,3,3)),this.computeBoundingBox(),this.computeBoundingSphere(),this},t.prototype.setColors=function(e){var r;e instanceof Float32Array?r=e:Array.isArray(e)?r=new Float32Array(e):r=new Float32Array;var i=new THREE__namespace.InstancedInterleavedBuffer(r,6,1);return this.setAttribute("instanceColorStart",new THREE__namespace.InterleavedBufferAttribute(i,3,0)),this.setAttribute("instanceColorEnd",new THREE__namespace.InterleavedBufferAttribute(i,3,3)),this},t.prototype.fromWireframeGeometry=function(e){return this.setPositions(e.attributes.position.array),this},t.prototype.fromEdgesGeometry=function(e){return this.setPositions(e.attributes.position.array),this},t.prototype.fromMesh=function(e){return this.fromWireframeGeometry(new THREE__namespace.WireframeGeometry(e.geometry)),this},t.prototype.fromLineSegments=function(e){var r=e.geometry;if(r instanceof THREE__namespace.Geometry){var i=new THREE__namespace.BufferGeometry().fromGeometry(r);this.setPositions(i.attributes.position.array)}else r instanceof THREE__namespace.BufferGeometry&&this.setPositions(r.attributes.position.array);return this},t.prototype.computeBoundingBox=function(){this.boundingBox===null&&(this.boundingBox=new THREE__namespace.Box3);var e=this.attributes.instanceStart,r=this.attributes.instanceEnd;if(e!==void 0&&r!==void 0){var i=new THREE__namespace.Box3;this.boundingBox.setFromBufferAttribute(e),i.setFromBufferAttribute(r),this.boundingBox.union(i)}},t.prototype.computeBoundingSphere=function(){this.boundingSphere===null&&(this.boundingSphere=new THREE__namespace.Sphere),this.boundingBox===null&&this.computeBoundingBox();var e=this.attributes.instanceStart,r=this.attributes.instanceEnd;if(e!==void 0&&r!==void 0){var i=this.boundingSphere.center;this.boundingBox.getCenter(i);for(var o=0,s=new THREE__namespace.Vector3,u=0,c=e.count;u<c;u++)s.fromBufferAttribute(e,u),o=Math.max(o,i.distanceToSquared(s)),s.fromBufferAttribute(r,u),o=Math.max(o,i.distanceToSquared(s));this.boundingSphere.radius=Math.sqrt(o),isNaN(this.boundingSphere.radius)&&console.error("THREE.LineSegmentsGeometry.computeBoundingSphere(): Computed radius is NaN. The instanced position data is likely to have NaN values.",this)}},t.prototype.toJSON=function(){},t}(THREE__namespace.InstancedBufferGeometry);Object.assign(LineSegmentsGeometry.prototype,{isLineSegmentsGeometry:!0});var lineShader={uniforms:THREE__namespace.UniformsUtils.merge([THREE__namespace.UniformsLib.common,THREE__namespace.UniformsLib.fog,{linewidth:{value:1},resolution:{value:new THREE__namespace.Vector2(1,1)},dashScale:{value:1},dashSize:{value:1},gapSize:{value:1},opacity:{value:1}}]),vertexShader:`
|
|
1814
1814
|
#include <common>
|
|
1815
1815
|
#include <color_pars_vertex>
|
|
1816
1816
|
#include <fog_pars_vertex>
|
|
@@ -2009,7 +2009,7 @@ void main() {
|
|
|
2009
2009
|
#include <premultiplied_alpha_fragment>
|
|
2010
2010
|
|
|
2011
2011
|
}
|
|
2012
|
-
`},LineMaterial=function(n){__extends(t,n);function t(e){var r=n.call(this,{uniforms:THREE__namespace.UniformsUtils.clone(lineShader.uniforms),vertexShader:lineShader.vertexShader,fragmentShader:lineShader.fragmentShader,clipping:!0})||this;return r.type="LineMaterial",r.dashed=!1,Object.defineProperties(r,{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(i){this.uniforms.diffuse.value=i}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(i){this.uniforms.linewidth.value=i}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(i){this.uniforms.dashScale.value=i}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(i){this.uniforms.dashSize.value=i}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(i){this.uniforms.gapSize.value=i}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(i){this.uniforms.opacity.value=i}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(i){this.uniforms.resolution.value.copy(i)}}}),r.setValues(e),r}return t}(THREE__namespace.ShaderMaterial);Object.assign(LineMaterial.prototype,{isLineMaterial:!0});var LineSegments2=function(n){__extends(t,n);function t(e,r){var i=n.call(this)||this;return i.type="LineSegments2",i.geometry=e!==void 0?e:new LineSegmentsGeometry,i.material=r!==void 0?r:new LineMaterial({color:Math.random()*16777215}),i}return t.prototype.computeLineDistances=function(){for(var e=this.geometry,r=e.attributes.instanceStart,i=e.attributes.instanceEnd,o=new Float32Array(2*r.count),s=new THREE__namespace.Vector3,u=new THREE__namespace.Vector3,l=0,c=0,d=r.count;l<d;l++,c+=2)s.fromBufferAttribute(r,l),u.fromBufferAttribute(i,l),o[c]=c===0?0:o[c-1],o[c+1]=o[c]+s.distanceTo(u);var f=new THREE__namespace.InstancedInterleavedBuffer(o,2,1);return e.setAttribute("instanceDistanceStart",new THREE__namespace.InterleavedBufferAttribute(f,1,0)),e.setAttribute("instanceDistanceEnd",new THREE__namespace.InterleavedBufferAttribute(f,1,1)),this},t.prototype.raycast=function(e,r){e.camera===null&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2.');var i=e.ray,o=e.camera,s=o.projectionMatrix,u=this.geometry,l=this.material,c=l.resolution,d=l.linewidth,f=u.attributes.instanceStart,v=u.attributes.instanceEnd,p=new THREE__namespace.Vector4,A=new THREE__namespace.Vector4,m=new THREE__namespace.Vector4,y=new THREE__namespace.Vector3,h=new THREE__namespace.Matrix4,g=new THREE__namespace.Line3,b=new THREE__namespace.Vector3;i.at(1,m),m.w=1,m.applyMatrix4(o.matrixWorldInverse),m.applyMatrix4(s),m.multiplyScalar(1/m.w),m.x*=c.x/2,m.y*=c.y/2,m.z=0,y.copy(m);var E=this.matrixWorld;h.multiplyMatrices(o.matrixWorldInverse,E);for(var T=0,_=f.count;T<_;T++){p.fromBufferAttribute(f,T),A.fromBufferAttribute(v,T),p.w=1,A.w=1,p.applyMatrix4(h),A.applyMatrix4(h),p.applyMatrix4(s),A.applyMatrix4(s),p.multiplyScalar(1/p.w),A.multiplyScalar(1/A.w);var x=p.z<-1&&A.z<-1,w=p.z>1&&A.z>1;if(!(x||w)){p.x*=c.x/2,p.y*=c.y/2,A.x*=c.x/2,A.y*=c.y/2,g.start.copy(p),g.start.z=0,g.end.copy(A),g.end.z=0;var S=g.closestPointToPointParameter(y,!0);g.at(S,b);var C=THREE__namespace.MathUtils.lerp(p.z,A.z,S),R=C>=-1&&C<=1,I=y.distanceTo(b)<d*.5;if(R&&I){g.start.fromBufferAttribute(f,T),g.end.fromBufferAttribute(v,T),g.start.applyMatrix4(E),g.end.applyMatrix4(E);var B=new THREE__namespace.Vector3,F=new THREE__namespace.Vector3;i.distanceSqToSegment(g.start,g.end,F,B),r.push({point:F,pointOnLine:B,distance:i.origin.distanceTo(F),object:this,faceIndex:T})}}}},t}(THREE__namespace.Mesh);Object.assign(LineSegments2.prototype,{isLineSegments2:!0});var Line2=function(n){__extends(t,n);function t(e,r){var i=n.call(this,e,r)||this;return i.type="Line2",i}return t}(LineSegments2);Object.assign(Line2.prototype,{isLine2:!0});var LineGeometry=function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.type="LineGeometry",e}return t.prototype.setPositions=function(e){for(var r=e.length-3,i=new Float32Array(2*r),o=0;o<r;o+=3)i[2*o]=e[o],i[2*o+1]=e[o+1],i[2*o+2]=e[o+2],i[2*o+3]=e[o+3],i[2*o+4]=e[o+4],i[2*o+5]=e[o+5];return n.prototype.setPositions.call(this,i),this},t.prototype.setColors=function(e){for(var r=e.length-3,i=new Float32Array(2*r),o=0;o<r;o+=3)i[2*o]=e[o],i[2*o+1]=e[o+1],i[2*o+2]=e[o+2],i[2*o+3]=e[o+3],i[2*o+4]=e[o+4],i[2*o+5]=e[o+5];return n.prototype.setColors.call(this,i),this},t.prototype.fromLine=function(e){var r=e.geometry;if(r instanceof THREE__namespace.Geometry){var i=new THREE__namespace.BufferGeometry().fromGeometry(r);this.setPositions(i.attributes.position.array)}else r instanceof THREE__namespace.BufferGeometry&&this.setPositions(r.attributes.position.array);return this},t.prototype.copy=function(){return this},t}(LineSegmentsGeometry);Object.assign(LineGeometry.prototype,{isLineGeometry:!0});var circleImageURL="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sHDgwCEMBJZu0AAAAdaVRYdENvbW1lbnQAAAAAAENyZWF0ZWQgd2l0aCBHSU1QZC5lBwAABM5JREFUWMO1V0tPG2cUPZ4Hxh6DazIOrjFNqJs0FIMqWFgWQkatsmvVbtggKlSVRVf5AWz4AWz4AUSKEChll19QJYSXkECuhFxsHjEhxCYm+DWGMZ5HF72DJq4bAzFXurI0M/I5997v3u9cC65vTJVn2lX/xHINQOYSBLTLEuIuCWw4Z3IGAEvf6ASmVHjNzHCXBG4A0AjACsAOwEbO0nsFQBnAGYASAIl+ZRMR7SolMEdsByD09fV5R0ZGgg8ePPjW5/N1iqLYpuu6RZblciKR2I9Go69evnwZnZ+fjwI4IS8AKBIRzeQfJWCANwKwh0KhtrGxsYehUOin1tbW+zzP23ietzY2NnIAoGmaLsuyUiqVyvl8XtrY2NiamZn589mzZxsAUgCOAeQAnFI2tI+VxIjaAeDzoaGh7xYWFuZOTk6OZVk+12uYqqq6JEnn0Wg0OT4+/geAXwGEAdwDIFJQXC1wO4DWR48e/RCPxxclSSroVzRFUbSDg4P848ePFwH8DuAhkWih83TRQWxFOXgAwvDwcOfo6OhvXV1d39tsNtuVBwTDWBwOh1UUxVsMw1hXVlbSdCgNV43uYSvrHg6H24aHh38eHBz85TrgF9FYLHA4HLzH43FvbW2d7u/vG+dANp8FpqIlbd3d3V8Fg8EfBUFw4BONZVmL3+9vHhkZCQL4AoAHgJPK8G+yzC0XDofdoVAo5PP5vkadTBAEtr+/39ff3x8gAp/RPOEqx2qjx+NpvXv3bk9DQ0NDvQgwDIOWlhZrMBj8kgi0UJdxRgYMArzL5XJ7vd57qLPZ7Xamp6fnNgBXtQxcjFuHw+Hyer3t9SYgCAITCAScAJoBNNEY/08GOFVVrfVMv7kMNDntFD1vjIAPrlRN0xjckOm6biFQ3jwNPwDMZrOnqVTqfb3Bi8Wivru7W/VCYkwPlKOjo0IikXh7EwQikYgE4Nw0CfXKDCipVCoTj8df3QABbW1tLUc6oUgkFPMkVACUNjc337148eKvw8PDbJ2jP1taWkoCyNDVXDSECmNSK4qiKNLq6urW8+fPI/UicHx8rD59+jSVy+WOAKSJhKENwFItLtoxk8mwsixzHR0dHe3t7c5PAU+n09rs7OzJkydPYqVSaQfANoDXALIk31S2smU1TWMPDg7K5XKZ7+3t9TudTut1U7+wsFCcmJiIpdPpbQBxADsAknQWymYCOukBHYCuKApisdhpMpnURFEU79y503TVyKenpzOTk5M7e3t7MQKPV0Zv1gNm+awB0MvlshqLxfLb29uyJElWURSbXC4XXyvqxcXFs6mpqeTc3Nzu3t7e3wQcA7BPZ8Cov1pNlJplmQtAG8MwHV6v95tAINA5MDBwPxAIuLu6upr8fr/VAN3c3JQjkcjZ+vp6fnl5+d2bN29SuVzuNYAEpf01CdRChUL+X1VskHACuA3Ay3Fcu9vt7nA6nZ7m5uYWQRCaNE3jVVW15PP580KhIGUymWw2m00DOAJwSP4WwPtq4LX2Ao6USxNlQyS/RcQcdLGwlNIz6vEMAaZpNzCk2Pll94LK/cDYimxERiBwG10sxjgvEZBE0UpE6vxj+0Ct5bTaXthgEhRmja8QWNkkPGsuIpfdjpkK+cZUWTC0KredVmtD/gdlSl6EG4AMvQAAAABJRU5ErkJggg==",DEFAULT_COLOR=14467195,POINT_SIZE=8,DEFAULT_LINEWIDTH=2,DEFAULT_DASHSCALE=20,sharedCircleTexture=null,FiveLine=function(n){__extends(t,n);function t(e,r){e===void 0&&(e=new THREE__namespace.Vector3),r===void 0&&(r=new THREE__namespace.Vector3);var i=n.call(this)||this;i.type="FiveLine",i.needsRender=!0;var o=new LineGeometry,s=new LineMaterial({color:DEFAULT_COLOR,linewidth:DEFAULT_LINEWIDTH,dashScale:DEFAULT_DASHSCALE,dashed:!1});i.line=new Line2(o,s);var u=new THREE__namespace.BufferGeometry,l=new THREE__namespace.PointsMaterial({color:DEFAULT_COLOR,size:POINT_SIZE,map:sharedCircleTexture||(sharedCircleTexture=new THREE__namespace.TextureLoader().load(circleImageURL)),sizeAttenuation:!1,transparent:!0});return i.points=new THREE__namespace.Points(u,l),i.points.renderOrder=11,i.points.frustumCulled=!1,i.setPoints(e,r),i.add(i.line,i.points),i}return Object.defineProperty(t,"version",{get:function(){return"6.0.0-alpha.83"},enumerable:!1,configurable:!0}),t.prototype.setPoints=function(e,r){var i=[].concat(e.toArray(),r.toArray());this.points.geometry.setAttribute("position",new THREE__namespace.BufferAttribute(new Float32Array(i),3)),this.line.geometry.setPositions(i),this.line.computeLineDistances(),this.needsRender=!0},t.prototype.getPoints=function(){var e=this.points.geometry.attributes.position.array;return[new THREE__namespace.Vector3(e[0],e[1],e[2]),new THREE__namespace.Vector3(e[3],e[4],e[5])]},t.prototype.setMaterial=function(e){var r=this.line.material;for(var i in e)if(e.hasOwnProperty(i)){var o=e[i];i==="dashed"?(r.dashed=o,o?r.defines.USE_DASH="":delete r.defines.USE_DASH,r.needsUpdate=!0):r[i]=e[i]}this.needsRender=!0},t.prototype.setResolution=function(e,r){var i=this.line.material.resolution;(i.x!==e||i.y!==r)&&(i.set(e,r),this.needsRender=!0)},t}(THREE__namespace.Object3D);Object.assign(FiveLine.prototype,{isFiveLine:!0});var Constants={Handedness:Object.freeze({NONE:"none",LEFT:"left",RIGHT:"right"}),ComponentState:Object.freeze({DEFAULT:"default",TOUCHED:"touched",PRESSED:"pressed"}),ComponentProperty:Object.freeze({BUTTON:"button",X_AXIS:"xAxis",Y_AXIS:"yAxis",STATE:"state"}),ComponentType:Object.freeze({TRIGGER:"trigger",SQUEEZE:"squeeze",TOUCHPAD:"touchpad",THUMBSTICK:"thumbstick",BUTTON:"button"}),ButtonTouchThreshold:.05,AxisTouchThreshold:.1,VisualResponseProperty:Object.freeze({TRANSFORM:"transform",VISIBILITY:"visibility"})};function fetchJsonFile(n){return __awaiter(this,void 0,void 0,function(){var t;return __generator(this,function(e){switch(e.label){case 0:return[4,fetch(n)];case 1:if(t=e.sent(),t.ok)return[2,t.json()];throw new Error(t.statusText)}})})}function fetchProfilesList(n){return __awaiter(this,void 0,void 0,function(){var t,e;return __generator(this,function(r){switch(r.label){case 0:if(!n)throw new Error("No basePath supplied");return t="profilesList.json",[4,fetchJsonFile("".concat(n,"/").concat(t))];case 1:return e=r.sent(),[2,e]}})})}function fetchProfile(n,t,e,r){return e===void 0&&(e=null),r===void 0&&(r=!0),__awaiter(this,void 0,void 0,function(){var i,o,s,u,l,c;return __generator(this,function(d){switch(d.label){case 0:if(!n)throw new Error("No xrInputSource supplied");if(!t)throw new Error("No basePath supplied");return[4,fetchProfilesList(t)];case 1:if(i=d.sent(),n.profiles.some(function(f){var v=i[f];return v&&(o={profileId:f,profilePath:"".concat(t,"/").concat(v.path),deprecated:!!v.deprecated}),!!o}),!o){if(!e)throw new Error("No matching profile name found");if(s=i[e],!s)throw new Error('No matching profile name found and default profile "'.concat(e,'" missing.'));o={profileId:e,profilePath:"".concat(t,"/").concat(s.path),deprecated:!!s.deprecated}}return[4,fetchJsonFile(o.profilePath)];case 2:if(u=d.sent(),r){if(c=void 0,c=u.layouts[n.handedness],!c)throw new Error("No matching handedness, ".concat(n.handedness,", in profile ").concat(o.profileId));c.assetPath&&(l=o.profilePath.replace("profile.json",c.assetPath))}return[2,{profile:u,assetPath:l}]}})})}var defaultComponentValues={xAxis:0,yAxis:0,button:0,state:Constants.ComponentState.DEFAULT};function normalizeAxes(n,t){n===void 0&&(n=0),t===void 0&&(t=0);var e=n,r=t,i=Math.sqrt(n*n+t*t);if(i>1){var o=Math.atan2(t,n);e=Math.cos(o),r=Math.sin(o)}var s={normalizedXAxis:e*.5+.5,normalizedYAxis:r*.5+.5};return s}var VisualResponse=function(){function n(t){this.componentProperty=t.componentProperty,this.states=t.states,this.valueNodeName=t.valueNodeName,this.valueNodeProperty=t.valueNodeProperty,this.valueNodeProperty===Constants.VisualResponseProperty.TRANSFORM&&(this.minNodeName=t.minNodeName,this.maxNodeName=t.maxNodeName),this.value=0,this.updateFromComponent(defaultComponentValues)}return n.prototype.updateFromComponent=function(t){var e=t.xAxis,r=t.yAxis,i=t.button,o=t.state,s=normalizeAxes(e,r),u=s.normalizedXAxis,l=s.normalizedYAxis;switch(this.componentProperty){case Constants.ComponentProperty.X_AXIS:this.value=this.states.includes(o)?u:.5;break;case Constants.ComponentProperty.Y_AXIS:this.value=this.states.includes(o)?l:.5;break;case Constants.ComponentProperty.BUTTON:this.value=this.states.includes(o)?i:0;break;case Constants.ComponentProperty.STATE:this.valueNodeProperty===Constants.VisualResponseProperty.VISIBILITY?this.value=this.states.includes(o):this.value=this.states.includes(o)?1:0;break;default:throw new Error("Unexpected visualResponse componentProperty ".concat(this.componentProperty))}},n}(),Component=function(){function n(t,e){var r=this;if(!t||!e||!e.visualResponses||!e.gamepadIndices||Object.keys(e.gamepadIndices).length===0)throw new Error("Invalid arguments supplied");this.id=t,this.type=e.type,this.rootNodeName=e.rootNodeName,this.touchPointNodeName=e.touchPointNodeName,this.visualResponses={},Object.keys(e.visualResponses).forEach(function(i){var o=new VisualResponse(e.visualResponses[i]);r.visualResponses[i]=o}),this.gamepadIndices=Object.assign({},e.gamepadIndices),this.values={state:Constants.ComponentState.DEFAULT,button:this.gamepadIndices.button!==void 0?0:void 0,xAxis:this.gamepadIndices.xAxis!==void 0?0:void 0,yAxis:this.gamepadIndices.yAxis!==void 0?0:void 0}}return Object.defineProperty(n.prototype,"data",{get:function(){var t=__assign({id:this.id},this.values);return t},enumerable:!1,configurable:!0}),n.prototype.updateFromGamepad=function(t){var e=this;if(this.values.state=Constants.ComponentState.DEFAULT,this.gamepadIndices.button!==void 0&&t.buttons.length>this.gamepadIndices.button){var r=t.buttons[this.gamepadIndices.button];this.values.button=r.value,this.values.button=this.values.button<0?0:this.values.button,this.values.button=this.values.button>1?1:this.values.button,r.pressed||this.values.button===1?this.values.state=Constants.ComponentState.PRESSED:(r.touched||this.values.button>Constants.ButtonTouchThreshold)&&(this.values.state=Constants.ComponentState.TOUCHED)}this.gamepadIndices.xAxis!==void 0&&t.axes.length>this.gamepadIndices.xAxis&&(this.values.xAxis=t.axes[this.gamepadIndices.xAxis],this.values.xAxis=this.values.xAxis<-1?-1:this.values.xAxis,this.values.xAxis=this.values.xAxis>1?1:this.values.xAxis,this.values.state===Constants.ComponentState.DEFAULT&&Math.abs(this.values.xAxis)>Constants.AxisTouchThreshold&&(this.values.state=Constants.ComponentState.TOUCHED)),this.gamepadIndices.yAxis!==void 0&&t.axes.length>this.gamepadIndices.yAxis&&(this.values.yAxis=t.axes[this.gamepadIndices.yAxis],this.values.yAxis=this.values.yAxis<-1?-1:this.values.yAxis,this.values.yAxis=this.values.yAxis>1?1:this.values.yAxis,this.values.state===Constants.ComponentState.DEFAULT&&Math.abs(this.values.yAxis)>Constants.AxisTouchThreshold&&(this.values.state=Constants.ComponentState.TOUCHED)),Object.values(this.visualResponses).forEach(function(i){i.updateFromComponent(e.values)})},n}(),MotionController=function(){function n(t,e,r){var i=this;if(!t)throw new Error("No xrInputSource supplied");if(!e)throw new Error("No profile supplied");this.xrInputSource=t,this.assetUrl=r,this.id=e.profileId,this.layoutDescription=e.layouts[t.handedness],this.components={},Object.keys(this.layoutDescription.components).forEach(function(o){var s=i.layoutDescription.components[o];i.components[o]=new Component(o,s)}),this.updateFromGamepad()}return Object.defineProperty(n.prototype,"gripSpace",{get:function(){return this.xrInputSource.gripSpace},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"targetRaySpace",{get:function(){return this.xrInputSource.targetRaySpace},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"data",{get:function(){var t=[];return Object.values(this.components).forEach(function(e){t.push(e.data)}),t},enumerable:!1,configurable:!0}),n.prototype.updateFromGamepad=function(){var t=this;Object.values(this.components).forEach(function(e){e.updateFromGamepad(t.xrInputSource.gamepad)})},n}(),DEFAULT_PROFILES_PATH="https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles",DEFAULT_PROFILE="generic-trigger",XRControllerModel=function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.motionController=null,e.envMap=null,e}return t.prototype.setEnvironmentMap=function(e){var r=this;return this.envMap==e?this:(this.envMap=e,this.traverse(function(i){i instanceof THREE__namespace.Mesh&&i.isMesh&&(i.material.envMap=r.envMap,i.material.needsUpdate=!0)}),this)},t.prototype.updateMatrixWorld=function(e){n.prototype.updateMatrixWorld.call(this,e),this.motionController&&(this.motionController.updateFromGamepad(),Object.values(this.motionController.components).forEach(function(r){Object.values(r.visualResponses).forEach(function(i){var o=i.valueNode,s=i.minNode,u=i.maxNode,l=i.value,c=i.valueNodeProperty;o&&(c===Constants.VisualResponseProperty.VISIBILITY?o.visible=l:c===Constants.VisualResponseProperty.TRANSFORM&&(o.quaternion.copy(s.quaternion).slerp(u.quaternion,l),o.position.lerpVectors(s.position,u.position,l)))})}))},t}(THREE.Object3D);function findNodes(n,t){Object.values(n.components).forEach(function(e){var r=e.type,i=e.touchPointNodeName,o=e.visualResponses;if(r===Constants.ComponentType.TOUCHPAD)if(e.touchPointNode=t.getObjectByName(i),e.touchPointNode){var s=new THREE.SphereGeometry(.001),u=new THREE.MeshBasicMaterial({color:255}),l=new THREE.Mesh(s,u);e.touchPointNode.add(l)}else console.warn("Could not find touch dot, ".concat(e.touchPointNodeName,", in touchpad component ").concat(e.id));Object.values(o).forEach(function(c){var d=c.valueNodeName,f=c.minNodeName,v=c.maxNodeName,p=c.valueNodeProperty;if(p===Constants.VisualResponseProperty.TRANSFORM){if(c.minNode=t.getObjectByName(f),c.maxNode=t.getObjectByName(v),!c.minNode){console.warn("Could not find ".concat(f," in the model"));return}if(!c.maxNode){console.warn("Could not find ".concat(v," in the model"));return}}c.valueNode=t.getObjectByName(d),c.valueNode||console.warn("Could not find ".concat(d," in the model"))})})}function addAssetSceneToControllerModel(n,t){findNodes(n.motionController,t),n.envMap&&t.traverse(function(e){e instanceof THREE__namespace.Mesh&&e.isMesh&&(e.material.envMap=n.envMap,e.material.needsUpdate=!0)}),n.add(t)}var XRControllerModelFactory=function(){function n(t){t===void 0&&(t=null),this.gltfLoader=t,this.path=DEFAULT_PROFILES_PATH,this._assetCache={}}return n.prototype.createControllerModel=function(t){var e=this,r=new XRControllerModel,i=null;return t.addEventListener("connected",function(o){var s=o.data;s.targetRayMode!=="tracked-pointer"||!s.gamepad||fetchProfile(s,e.path,DEFAULT_PROFILE).then(function(u){var l=u.profile,c=u.assetPath;r.motionController=new MotionController(s,l,c);var d=e._assetCache[r.motionController.assetUrl];if(d)i=d.scene.clone(),addAssetSceneToControllerModel(r,i);else{if(!e.gltfLoader)throw new Error("GLTFLoader not set.");e.gltfLoader.load(r.motionController.assetUrl,function(f){e._assetCache[r.motionController.assetUrl]=f,i=f.scene.clone(),addAssetSceneToControllerModel(r,i)})}}).catch(function(u){console.warn(u)})}),t.addEventListener("disconnected",function(){r.motionController=null,r.remove(i),i=null}),r},n}();function mapPanoResource(n,t){if(!t)return n;var e=n.match(/\d+_[a-z].png/);return n.substring(0,e.index)+t+"/"+n.substring(e.index)}var CONTROLLER_EVNET_DELTA_TIME=300,ROTATE_Y_PI_MATRIX=new THREE__namespace.Matrix4().makeRotationAxis(new THREE__namespace.Vector3(0,1,0),Math.PI),PANO_TEXTURE_SCALE=new THREE__namespace.Vector3(-1,1,1),XRPanoramaController=function(n){__extends(t,n);function t(e){var r=n.call(this,e)||this;r.xrManager=new XRManager(r.renderer,r.renderer.getContext(),{onSessionStart:function(l){r.emit("xr.session.start",createEvent("xr.session.start",{session:l,machineType:r.xrManager.machineType}))},onSessionEnd:function(){r.emit("xr.session.end",createEvent("xr.session.end",{session:null,machineType:r.xrManager.machineType}))}}),r.xrControllerRay={left:new THREE__namespace.Raycaster,right:new THREE__namespace.Raycaster},r.xrControllerRay.left.params.Points={threshold:.1},r.xrControllerRay.right.params.Points={threshold:.1},r.pointerLines={left:new FiveLine,right:new FiveLine},r.pointerLines.left.visible=!1,r.pointerLines.right.visible=!0,r.pointerLines.left.setMaterial({color:new THREE__namespace.Vector3(1,1,1)}),r.pointerLines.left.points.material.depthTest=!1,r.pointerLines.right.setMaterial({color:new THREE__namespace.Vector3(1,1,1)}),r.pointerLines.right.points.material.depthTest=!1,r.scene.add(r.pointerLines.left,r.pointerLines.right),r.panoResources={},r.panoResources[r.locationMotion.keyframes[0].key=r.locationMotion.keyframes[1].key=createUuid()]={panoId:panoStringify(r.currentPano),leftPanoPicture:null,position:r.camera.pose.offset.clone(),effect:"fade",fixCameraTransform:new THREE__namespace.Matrix4},r.parallaxCameraMatrixs=[];var i=AnimationFrameLoop.shared.getContext();if(!i)return console.error("获取session失败,请退出重试"),r;r.on("xr.session.end",function(){r.scene.remove(r.pointerLines.left,r.pointerLines.right)}),r.xrManager.setSession(i),r.controllerWrappers=[new THREE__namespace.Group,new THREE__namespace.Group],r.scene.add(r.controllerWrappers[0],r.controllerWrappers[1]);var o=r.xrManager.getController(0);r.controllerWrappers[0].add(o);var s=r.xrManager.getController(1);r.controllerWrappers[1].add(s);var u=new XRControllerModelFactory;return u.gltfLoader={load:function(l,c){internalFetcher.ajax(l,{responseType:"arraybuffer"}).then(function(d){var f;return parseGltf(d.body,{resourcePath:l.slice(0,l.lastIndexOf("/")+1),search:(f=l.split("?")[1])!==null&&f!==void 0?f:"",fetcher:internalFetcher})}).then(function(d){return c(d)})}},r.on("xr.session.start",function(){var l=r.xrManager.getControllerGrip(0);l.add(u.createControllerModel(l)),r.controllerWrappers[0].add(l);var c=r.xrManager.getControllerGrip(1);c.add(u.createControllerModel(c)),r.controllerWrappers[1].add(c)}),r.xrControllerState={LeftAxesUp:{touchStartTime:0,touchStart:!1},LeftAxesDown:{touchStartTime:0,touchStart:!1},LeftAxesLeft:{touchStartTime:0,touchStart:!1},LeftAxesRight:{touchStartTime:0,touchStart:!1},LeftTrigger:{touchStartTime:0,touchStart:!1},LeftPinch:{touchStartTime:0,touchStart:!1},RightAxesUp:{touchStartTime:0,touchStart:!1},RightAxesDown:{touchStartTime:0,touchStart:!1},RightAxesLeft:{touchStartTime:0,touchStart:!1},RightAxesRight:{touchStartTime:0,touchStart:!1},RightTrigger:{touchStartTime:0,touchStart:!1},RightPinch:{touchStartTime:0,touchStart:!1},Y:{touchStartTime:0,touchStart:!1},X:{touchStartTime:0,touchStart:!1},A:{touchStartTime:0,touchStart:!1},B:{touchStartTime:0,touchStart:!1}},r}return t.parseArgs=function(e){if(e instanceof t)return e;var r=__assign(__assign({},e),{maxLatitude:Math.PI/2,minLatitude:-Math.PI/2});return n.parseArgs.call(this,r)},t.initAnimationEndState=function(e){var r=this.parseArgs(e),i=n.initAnimationEndState.call(this,r);return __assign(__assign({},i),{mode:"XRPanorama"})},t.prototype.moveToPano=function(e,r,i){var o=this,s,u,l,c,d=(s=r.effect)!==null&&s!==void 0?s:"fade";this.userAction=i,this.stopMomentumMovement();var f=this.works.getResolvedObserver(e);if(!f)throw new Error("Invalid PanoIndex");var v=this.imageOptions.size;if(typeof v=="undefined"&&f){var p=f.images.up.match(/\/cube_(\d+)\//);p&&(v=Number(p[1]))}typeof v=="undefined"&&(v=2048);var A=this.imageOptions.transform,m=function(R,I){return mapPanoResource(applyImageURLOptions(R,A,I))},y=__assign({key:"pano.".concat(f.panoId)},pick(this.imageOptions,["format","size","quality"])),h=f.images,g=(l=(u=f.images.tiles)===null||u===void 0?void 0:u.filter(function(R){return R.size>v}))!==null&&l!==void 0?l:null,b="pano:"+jsonHash([h,y,A]);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===b)return;var E=this.pendingTextureTask.panoId;(c=this.panoMeshes[E])===null||c===void 0||c.setProgress(0),this.emit("pano.texture.abort",createEvent("pano.texture.abort",{error:null,progress:0,meta:null,pano:f.pano})),this.pendingTextureTask.onError(new Error("texture aborted"))}var T=this.models.getMaterial()||{},_=T.pano0,x=T.pano1,w;if((_==null?void 0:_.map.name)===b?w=_:(x==null?void 0:x.map.name)===b&&(w=x),w){var S={panoId:f.panoId,effect:d,leftPanoPicture:{map:w.map,luminanceMap:w.luminanceMap,matrix:new THREE__namespace.Matrix4().compose(f.position,f.quaternion,PANO_TEXTURE_SCALE)},position:f.position.clone(),fixCameraTransform:new THREE__namespace.Matrix4};this.doMoveToPano(f.pano,S,r);return}var C="move-to-pano-"+f.panoId;this.pending.add(C),this.pendingTextureTask={panoId:f.panoId,hash:b,onLoad:function(R){if(o.pending.delete(C),o.destroyed)R.body.dispose();else{R.body.name=b;var I={panoId:f.panoId,effect:d,leftPanoPicture:{map:R.body,luminanceMap:null,matrix:new THREE__namespace.Matrix4().compose(f.position,f.quaternion,PANO_TEXTURE_SCALE)},position:f.position.clone(),fixCameraTransform:new THREE__namespace.Matrix4};o.doMoveToPano(f.pano,I,r)}},onError:function(R){o.pending.delete(C);var I=__assign(__assign(__assign({},f.pano),{mode:o.mode}),clonePose(o.camera.pose));o.emit("pano.error",createEvent("pano.error",{error:R,userAction:o.userAction,options:r,prevPano:o.currentPano,progress:0,state:I})),o.emit("pano.cancel",createEvent("pano.cancel",{error:null,userAction:o.userAction,options:r,prevPano:o.currentPano,progress:0,state:I})),r.moveCancelCallback&&r.moveCancelCallback()}},Promise.all([this.tileLevelForFov&&g&&g.length?this.textureLoader.loadTiledCubeTexture(h,g,{tileMaxLevel:this.TILED_CUBE_TEXTURE_LEVEL,imageURL:{transform:m,options:y},format:THREE__namespace.RGBAFormat,minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.LinearFilter,generateMipmaps:!1,viaAjax:!0,fetcher:getFetcher(f.work)},void 0,void 0,function(R){var I,B;o.emit("pano.texture.progress",createEvent("pano.texture.progress",{error:null,progress:R,meta:null,pano:f.pano})),((I=o.pendingTextureTask)===null||I===void 0?void 0:I.hash)===b&&((B=o.panoMeshes[f.panoId])===null||B===void 0||B.setProgress(R))},this.renderer):this.textureLoader.loadCubeTexture(h,{imageURL:{transform:m,options:y},format:THREE__namespace.RGBAFormat,fetcher:getFetcher(f.work)},void 0,void 0,function(R){var I,B;((I=o.pendingTextureTask)===null||I===void 0?void 0:I.hash)===b&&((B=o.panoMeshes[f.panoId])===null||B===void 0||B.setProgress(R)),o.emit("pano.texture.progress",createEvent("pano.texture.progress",{error:null,progress:R,meta:null,pano:f.pano}))},this.renderer)]).then(function(R){var I,B,F=R[0];((I=o.pendingTextureTask)===null||I===void 0?void 0:I.hash)===b?(o.pendingTextureTask.onLoad(F),(B=o.panoMeshes[f.panoId])===null||B===void 0||B.setProgress(0),delete o.pendingTextureTask,o.emit("pano.texture.success",createEvent("pano.texture.success",{error:null,progress:1,meta:F.meta,pano:f.pano}))):F.body.dispose()}).catch(function(R){var I,B;((I=o.pendingTextureTask)===null||I===void 0?void 0:I.hash)===b&&(o.pendingTextureTask.onError(R),(B=o.panoMeshes[f.panoId])===null||B===void 0||B.setProgress(0),delete o.pendingTextureTask,o.emit("pano.texture.error",createEvent("pano.texture.error",{error:R,progress:0,meta:null,pano:f.pano})),o.emit("error",R))}),this.emit("pano.texture.load",createEvent("pano.texture.load",{error:null,progress:0,meta:null,pano:f.pano}))},t.prototype.doMoveToPano=function(e,r,i){var o=this,s,u,l,c,d,f,v,p,A,m;i===void 0&&(i={});var y=now(),h=createUuid();this.panoResources[h]=r;var g=1,b,E,T;if(this.locationMotion.ended){var _=this.locationMotion.getKeyFrameSegment(y);_[0];var x=_[1],w=this.locationMotion.value,S=this.panoResourceFromLocationMotionKeyframe(x).position,C=r.position;b=Math.max(S.distanceTo(C),g),E=[{key:x.key,progress:0,value:__assign(__assign({},w),{count:0})},{key:h,progress:1,value:{distance:0,count:1}}],T=0}else{var R=this.locationMotion.getKeyFrameSegment(y),I=R[0],x=R[1],w=this.locationMotion.value,B=this.panoResourceFromLocationMotionKeyframe(I).position,S=this.panoResourceFromLocationMotionKeyframe(x).position,C=r.position,F=x.value.count-w.count,L=Math.max(B.distanceTo(S),g)*F,O=Math.max(S.distanceTo(C),g);b=L+O,E=[{key:I.key,progress:0,value:__assign({},w)},{key:x.key,progress:L/b,value:x.value},{key:h,progress:1,value:{count:x.value.count+1,distance:0}}];var k=this.locationMotionKeyframesLength(this.locationMotion.keyframes),Q=this.locationMotionKeyframesLength(E);T=this.locationMotion.getProgressVelocity(y)*k/Q}var U=r.effect==="instant"?0:this.calculateMovingDuration(i.duration,r.effect==="fly"?b:0),N={longitude:i.longitude,latitude:i.latitude,fov:i.fov},G=__assign(__assign({},e),{mode:this.mode,longitude:(s=N.longitude)!==null&&s!==void 0?s:this.camera.pose.longitude,latitude:(u=N.latitude)!==null&&u!==void 0?u:this.camera.pose.latitude,fov:(l=N.fov)!==null&&l!==void 0?l:this.camera.pose.fov,offset:r.position.clone(),distance:0}),K=this.currentPano;this.emit("pano.moveTo",createEvent("pano.moveTo",{options:i,prevPano:K,progress:0,state:G,userAction:this.userAction,error:null})),i.moveStartCallback&&i.moveStartCallback(G),this.videoTexture&&this.videoTexture.image instanceof HTMLVideoElement&&this.videoTexture.image.getAttribute("src")&&(this.videoTexture.image.pause(),this.videoTexture.image.removeAttribute("uuid"),this.videoTexture.image.removeAttribute("src"),this.videoTexture.image.oncanplay=noop$1,this.videoTexture.needsUpdate=!0),this.panoVideo.setMaterial(null);var X=coordinatesToVector({longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude}),D=coordinatesToVector({longitude:(c=N.longitude)!==null&&c!==void 0?c:this.cameraMotion.value.longitude,latitude:(d=N.latitude)!==null&&d!==void 0?d:this.cameraMotion.value.latitude}),W=new THREE__namespace.Object3D;W.lookAt(X);var q=new THREE__namespace.Matrix4().makeRotationFromQuaternion(W.quaternion);W.lookAt(D);for(var ae=new THREE__namespace.Matrix4().makeRotationFromQuaternion(W.quaternion),Y=new THREE__namespace.Matrix4().getInverse(q).premultiply(ae),re=0;re<E.length-1;re++){var $=E[re].key;if($){var oe=this.panoResources[$];oe&&oe.fixCameraTransform.copy(Y)}}r.effect==="fly"?this.cameraMotion.set(N,U).catch(noop$1):this.cameraMotion.setKeyframes([{progress:0,value:{longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude,fov:this.cameraMotion.value.fov}},{progress:0,value:{longitude:(f=N.longitude)!==null&&f!==void 0?f:this.cameraMotion.value.longitude,latitude:(v=N.latitude)!==null&&v!==void 0?v:this.cameraMotion.value.latitude,fov:this.cameraMotion.value.fov}},{progress:1,value:{longitude:(p=N.longitude)!==null&&p!==void 0?p:this.cameraMotion.value.longitude,latitude:(A=N.latitude)!==null&&A!==void 0?A:this.cameraMotion.value.latitude,fov:(m=N.fov)!==null&&m!==void 0?m:this.cameraMotion.value.fov}}],U).catch(noop$1);var J=this.locationMotion.setKeyframes(E,U,T);J.then(function(){var ie,se,ne,pe=__assign(__assign({},e),{mode:o.mode,longitude:o.camera.pose.longitude,latitude:o.camera.pose.latitude,fov:o.camera.pose.fov,offset:o.camera.pose.offset.clone(),distance:0});o.emit("pano.arrived",createEvent("pano.arrived",{options:i,prevPano:K,progress:1,state:pe,userAction:o.userAction,error:null})),i.moveEndCallback&&i.moveEndCallback(pe);var Z=o.works.getResolvedObserver(o.currentPano);if(Z&&Z.video&&o.videoTexture&&o.videoTexture.image instanceof HTMLVideoElement){var ee=ROTATE_Y_PI_MATRIX.clone().multiply((ne=(se=(ie=o.models.getMaterial())===null||ie===void 0?void 0:ie.pano1)===null||se===void 0?void 0:se.matrix)!==null&&ne!==void 0?ne:new THREE__namespace.Matrix4).multiply(Z.video.matrix),z={map:o.videoTexture,size:Z.video.size,matrix:ee,alpha:1},de=createUuid(),ce=o.videoTexture.image;ce.setAttribute("uuid",de),canplayVideo().then(function(ye){ye&&Z.video&&ce.getAttribute("uuid")===de&&(ce.oncanplay=function(){ce.oncanplay=noop$1,ce.play()},ce.ontimeupdate=function(){ce.currentTime>.5&&(ce.ontimeupdate=noop$1,o.panoVideo.setMaterial(z))},ce.src=Z.video.source)}).catch(function(){ce.removeAttribute("uuid")})}},function(){o.emit("pano.cancel",createEvent("pano.cancel",{options:i,prevPano:K,progress:0,state:G,userAction:o.userAction,error:null})),i.moveCancelCallback&&i.moveCancelCallback()})},t.prototype.checkSelectedPano=function(e){var r=this,i,o,s,u;this.stopMomentumMovement();var l=this.camera.getDirection(new THREE__namespace.Vector3).setY(0),c=null,d=this.works.getResolvedObserver(this.currentPano);if(!d)return null;var f=d.accessibleIds.filter(function(D){var W=panoParse(D);if(panoEqual(W,r.currentPano))return!1;var q=r.works.getResolvedObserver(W);return!q||q.position.distanceTo(r.camera.position)>r.maxAccessibleDistance?!1:q.loadable||q.active}),v=this.models.intersectRaycaster(e)[0];if(v){var p=arrayMin(f,function(D){var W=r.works.getResolvedObserver(D);if(!W)return 1/0;var q=W.standingPosition.clone();return q.distanceTo(v.point)},!0),A=p[0],m=p[1];A&&m<this.panoTapTriggerRadius&&(c=(i=this.works.getResolvedObserver(A))!==null&&i!==void 0?i:null)}if(isNil(c)){var y=this.getForwardObserverOrNot(e);y&&(c=y)}for(var h=0,g=this.locationMotion.keyframes;h<g.length;h++){var b=g[h],E=this.panoResourceFromLocationMotionKeyframe(b);if(!(b.progress<this.locationMotion.progress)&&c&&E.panoId===c.panoId){c=null;break}}if(isNil(c))return this.locationMotion.ended===!0&&this.cameraBounce(),null;if(c&&!c.active){var T=c.panoId;this.panoMeshes[T]&&(this.panoMeshes[T].setDisabled(!1),this.panoMeshes[T].setLoading(!0))}var _={};if(c){for(var x=Math.PI/6,w=Math.PI/12,S=new THREE__namespace.Vector3(0,1,0),C=c.position.clone().setY(0).sub(d.position.clone().setY(0)).normalize(),R=C.clone().applyAxisAngle(S,x),I=C.clone().applyAxisAngle(S,-x),B=[],F=[],L=[],O=0,k=c.accessibleIds;O<k.length;O++){var A=k[O],Q=panoParse(A);if(!(panoEqual(Q,this.currentPano)||panoEqual(Q,c.pano))){var U=this.works.getResolvedObserver(A);if(U){var N=U.position.clone().sub(c.position).setY(0);C.angleTo(N)<x?L.push(N):R.angleTo(N)<x?B.push(N):I.angleTo(N)<x&&F.push(N)}}}var G=L.length>0?L:__spreadArray(__spreadArray([],B,!0),F,!0),K=G.slice().sort(function(D,W){return D.angleTo(C)-W.angleTo(C)})[0];K&&K.angleTo(l)>w&&(_.longitude=Math.atan2(-K.x,-K.z))}this.cameraMotion.value.latitude<-Math.PI/4&&(_.latitude=clamp(0,this.minLatitude,this.maxLatitude)),this.cameraMotion.value.fov<60&&(_.fov=this.defaultFov);var X={workCode:c.pano.workCode,panoIndex:c.pano.panoIndex,mode:this.mode,longitude:(o=_.longitude)!==null&&o!==void 0?o:this.camera.pose.longitude,latitude:(s=_.latitude)!==null&&s!==void 0?s:this.camera.pose.latitude,fov:(u=_.fov)!==null&&u!==void 0?u:this.camera.pose.fov,distance:0,offset:c?c.position.clone():new THREE__namespace.Vector3};return this.emit("pano.select",createEvent("pano.select",{prevPano:this.currentPano,state:X,userAction:!0,options:_,progress:0,error:null})),c&&c.active?(this.emit("pano.request",createEvent("pano.request",{userAction:!0,prevPano:this.currentPano,progress:0,state:X,options:_,error:null})),c.pano):null},t.prototype.destroy=function(){n.prototype.destroy.call(this)},t.prototype.isReady=function(){return!1},t.prototype.updateCamera=function(e,r,i){return Promise.resolve()},t.prototype.updateCameraWithKeyframes=function(e,r,i){return Promise.resolve()},t.prototype.updateTime=function(e,r){for(var i=this,o,s,u,l,c,d,f,v,p=[],A=2;A<arguments.length;A++)p[A-2]=arguments[A];this.userAction=!0;var m={},y={},h=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),g=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),b=!1;if(this.cameraMotion.ended===!1&&(this.cameraMotion.update(e),y.longitude=this.cameraMotion.value.longitude,y.latitude=this.cameraMotion.value.latitude,y.fov=this.cameraMotion.value.fov),this.modelAlphaMotion.ended===!1&&(this.modelAlphaMotion.update(e),m.modelAlpha=this.modelAlphaMotion.value.modelAlpha),this.perspToOrthoMotion.ended===!1&&(this.perspToOrthoMotion.update(e),this.camera.perspToOrtho.setScalar(clamp(this.perspToOrthoMotion.value.perspToOrtho,0,1))),this.locationMotion.ended===!1){this.locationMotion.update(e);var E=this.locationMotion.getKeyFrameSegment(e),T=E[0],_=E[1],x=this.panoResourceFromLocationMotionKeyframe(T),w=this.panoResourceFromLocationMotionKeyframe(_),S=new THREE__namespace.Vector3().copy(x.position),C=new THREE__namespace.Vector3().copy(w.position),R=this.locationMotion.value.count-_.value.count+1;m.progress=R,w.leftPanoPicture&&(R<1?x.leftPanoPicture&&(m.pano0=x.leftPanoPicture):m.pano0=w.leftPanoPicture,m.pano1=w.leftPanoPicture),w.effect==="montage"?m.transition="BLACK":w.effect==="spread"?m.transition="SPREAD":m.transition="FADE",R<1&&w.effect!=="fly"&&(m.pano0&&x.leftPanoPicture&&(m.pano0={map:m.pano0.map,luminanceMap:m.pano0.luminanceMap,matrix:x.leftPanoPicture.matrix.clone().setPosition(w.position)}),S.copy(C),b=!0),y.distance=this.locationMotion.value.distance,y.offset=new THREE__namespace.Vector3(S.x+(C.x-S.x)*R,S.y+(C.y-S.y)*R,S.z+(C.z-S.z)*R);for(var I=[],B=[],F=0,L=this.locationMotion.keyframes;F<L.length;F++){var O=L[F],k=O.key,Q=O.progress;k!==void 0&&(I.push(k),Q>this.locationMotion.progress&&B.push(k))}for(var U=0,N=Object.keys(this.panoResources);U<N.length;U++){var G=N[U];if(!(B.indexOf(G)>=0)){var K=this.panoResources[G];if(K.leftPanoPicture){var X=K.leftPanoPicture.map;if(X){if(X===((o=m.pano0)===null||o===void 0?void 0:o.map)||X===((s=m.pano1)===null||s===void 0?void 0:s.map))continue;X instanceof TileCubeTextureTarget&&X.cubeRenderTarget&&this.colorCubeRenderTargetPool.push(X.cubeRenderTarget),X.dispose(),K.leftPanoPicture=null}}I.indexOf(G)>=0||delete this.panoResources[G]}}this.currentPano=panoParse(w.panoId),this.emit("pano.moving",createEvent("pano.moving",{userAction:this.userAction,prevPano:panoParse(h.panoId),state:__assign(__assign(__assign(__assign({},panoParse(g.panoId)),{mode:this.mode}),clonePose(this.camera.pose)),y),options:{},progress:this.locationMotion.progress,error:null}))}isEmptyObject(m)===!1&&(!((u=m.pano0)===null||u===void 0)&&u.map&&m.pano0.map instanceof TileCubeTextureTarget&&!m.pano0.map.cubeRenderTarget&&(m.pano0.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),!((l=m.pano1)===null||l===void 0)&&l.map&&m.pano1.map instanceof TileCubeTextureTarget&&!m.pano1.map.cubeRenderTarget&&(m.pano1.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),this.models.setMaterial(m)),isEmptyObject(y)===!1&&this.setCamera(y);var D=this.works.getResolvedObserver(this.currentPano),W=p[1];if(!W){console.error("xrFrame丢失,请重试");return}if(!this.xrManager.session){console.error("session丢失,请重试");return}var q=this.xrManager.referenceSpace;if(q){var ae=this.xrManager.cameraVR,Y=this.xrManager.cameraL,re=this.xrManager.cameraR,$=[Y,re],oe=W.getViewerPose(q),J=new THREE__namespace.Vector3(0,0,0);if(oe){var ie;ie=this.xrManager.session.renderState.baseLayer;var se=oe.views;if(!ie){console.error("no layer found");return}this.renderer.setFramebuffer(ie.framebuffer);var ne=!1;se.length!==ae.cameras.length&&(ae.cameras.length=0,ne=!0),this.parallaxCameraMatrixs=[];var pe=new THREE__namespace.Vector3,Z=new THREE__namespace.Vector3;new THREE__namespace.Matrix4().fromArray(se[0].transform.matrix).decompose(pe,new THREE__namespace.Quaternion,new THREE__namespace.Vector3),new THREE__namespace.Matrix4().fromArray(se[1].transform.matrix).decompose(Z,new THREE__namespace.Quaternion,new THREE__namespace.Vector3),Z.clone().sub(pe).normalize();var ee=new THREE__namespace.Vector3,z=new THREE__namespace.Quaternion,de=new THREE__namespace.Vector3;this.camera.matrix.decompose(ee,z,de);for(var ce=0;ce<se.length;ce++){var ye=se[ce],Te=ie.getViewport(ye),_e=$[ce];_e.matrix.fromArray(ye.transform.matrix);var we=new THREE__namespace.Vector3,ve=new THREE__namespace.Quaternion,ue=new THREE__namespace.Vector3;_e.matrix.decompose(we,ve,ue),J.copy(ee),_e.position.copy(ee),_e.quaternion.copy(ve),_e.scale.copy(ue),_e.updateMatrix(),_e.projectionMatrix.fromArray(ye.projectionMatrix),_e.viewport.set(Te.x,Te.y,Te.width,Te.height),ne===!0&&ae.cameras.push(_e)}oe.views[0].transform.position,oe.views[1].transform.position;for(var le=this.xrManager.session.inputSources,ce=0;ce<this.xrManager.controllers.length;ce++){var ge=this.xrManager.controllers[ce],fe=le[ce];if(fe){ge.update(fe,W,q);var Ae=this.xrManager.getController(ce),be=new THREE__namespace.Vector3(0,1.2,0),Ee=Ae.position.clone().add(J).sub(be);fe.handedness==="left"?this.xrControllerRay.left.set(Ee,new THREE__namespace.Vector3(0,0,-1).applyEuler(Ae.rotation)):fe.handedness==="right"&&this.xrControllerRay.right.set(Ee,new THREE__namespace.Vector3(0,0,-1).applyEuler(Ae.rotation)),this.controllerWrappers[ce].position.copy(new THREE__namespace.Vector3(0,0,0).add(J).sub(be));var Me=this.models.intersectRaycaster(this.xrControllerRay.right);if(Me.length===0&&(Me=this.xrControllerRay.right.intersectObject(this.boundingMesh,!0).map(function(Fe){var ke;return __assign({floor:(ke=D==null?void 0:D.floorIndex)!==null&&ke!==void 0?ke:0},Fe)})),Me.length>=1&&Me[0].face)if(fe.handedness==="right"){var $e=this.xrControllerRay.right.intersectObject(this.xrCustomObjectsScene,!0),Le=Me[0].face.normal,Oe=Le.clone().multiplyScalar(.05),et=Me[0].point.clone().add(Oe);this.intersectMesh.position.copy(et);var Pe=et.clone().add(Oe);if(this.intersectMesh.lookAt(Pe),Math.abs(Le.y)>.99){var Ke=this.camera.position.clone().sub(et);this.intersectMesh.rotation.z=-Math.atan2(Ke.z,Ke.x)}this.intersectMesh.visible=!0,this.needsRender=!0,$e.length>0?(this.pointerLines.right.setPoints(Ee,$e[0].point),this.pointerLines.right.points.visible=!0,this.intersectMesh.visible=!1):(this.pointerLines.right.points.visible=!1,this.pointerLines.right.setPoints(Ee,Me[0].point));var De=Me[0],Qe=createEvent("intersect.update",{raycaster:(c=this.xrControllerRay.right)!==null&&c!==void 0?c:null,intersection:De!=null?De:null,object:this.intersectMesh});if(this.emit("intersect.update",Qe),Qe.defaultPrevented){this.hideIntersectMesh();return}}else this.pointerLines.left.setPoints(Ee,Me[0].point)}}if(this.camera.pose.distance>.1||b)for(var We=0,je=Object.keys(this.panoMeshes);We<je.length;We++){var He=je[We],me=this.panoMeshes[He];me.setOpacity(0),me.setCurrent(!1),me.updateTime&&me.updateTime(e,r),me.visible=!1}else if(D){var Ze=arrayMin(D.visibleIds,function(Ie){var Fe=i.works.getResolvedObserver(Ie);return Fe?D.standingPosition.distanceTo(Fe.standingPosition):1/0},!0),qe=Ze[1];qe=clamp(qe,2.5,1/0);for(var it=D.visibleIds.concat(panoStringify(this.currentPano)),tt=this.getForwardObserverOrNot(),vt=this.camera.getDirection(new THREE__namespace.Vector3),st=0,ut=Object.keys(this.panoMeshes);st<ut.length;st++){var He=ut[st],me=this.panoMeshes[He],Ge=this.works.getResolvedObserver(He);if(it.indexOf(He)===-1)me.setCurrent(!1),me.setOpacity(0);else if(!Ge)me.setCurrent(!1),me.setOpacity(0);else if(!Ge.loadable&&!Ge.active)me.setCurrent(!1),me.setOpacity(0);else{var Ce=me.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);me.setCurrent(!me.loading&&me.progress===0&&tt!==null&&tt.panoId===He),me.setOpacity(Ce<.01?0:clamp(qe/Ce*1.2,.65,.98));var Se=this.camera.position.clone().setY(me.position.y),Ue=new THREE__namespace.Vector3().copy(me.position).sub(Se).normalize();if(He===panoStringify(this.currentPano)){var at=clamp((.5-Se.distanceTo(me.position))/.5,0,1);Ue.multiplyScalar(1-at).add(vt.clone().multiplyScalar(at))}Ue.length()>0&&me.quaternion.setFromEuler(new THREE__namespace.Euler(0,Math.atan2(Ue.x,Ue.z),0))}me.updateTime&&me.updateTime(e,r)}}var ft=function(){if(i.tileLevelForFov===!1)return 0;var Ie=new THREE__namespace.Vector2(4e3,4e3),Fe=g.panoId,ke=i.works.getResolvedObserver(Fe),Ne=i.imageOptions.size;if(typeof Ne=="undefined"&&ke){var yt=ke.images.up.match(/\/cube_(\d+)\//);yt&&(Ne=Number(yt[1]))}typeof Ne=="undefined"&&(Ne=2048);var ct=0;Ne>=1024&&(ct=1),Ne>=2048&&(ct=2),Ne>=4096&&(ct=3),Ne>=8192&&(ct=4);var dt=i.tileLevelForFov(Y.fov,Ie);return dt>ct?dt:0}(),mt=function(){var Ie=new THREE__namespace.PerspectiveCamera;Ie.applyMatrix4(ae.matrix),Ie.position.set(0,0,0);var Fe=i.works.getResolvedObserver(g.panoId),ke=Fe!=null?Fe:D;ke&&Ie.quaternion.premultiply(ke.quaternion.clone().inverse()),Ie.updateProjectionMatrix(),Ie.updateMatrixWorld(!0);var Ne=new THREE__namespace.Frustum().setFromProjectionMatrix(new THREE__namespace.Matrix4().multiplyMatrices(Ie.projectionMatrix,Ie.matrixWorldInverse));return Ne}();g.panoId===panoStringify(this.currentPano)&&((d=g.leftPanoPicture)===null||d===void 0?void 0:d.map)instanceof TileCubeTextureTarget&&(g.leftPanoPicture.map.update(mt,ft),g.leftPanoPicture.map.needsRender===!0&&(this.needsRender=!0));{var gt=this.tiling.object.visible;if(ft>this.TILED_CUBE_TEXTURE_LEVEL&&this.initAnimationed){var lt=g.panoId,Be=this.works.getResolvedObserver(lt);Be?isSimilarVector3(this.camera.position,Be.position)&&this.locationMotion.ended?(this.tiling.object.visible=!0,this.tiling.panoId!==lt&&this.tiling.cleanup(),this.tiling.panoId=lt,this.tiling.setResource((v=(f=Be.images)===null||f===void 0?void 0:f.tiles)!==null&&v!==void 0?v:[],this.enableIOSEDR&&Be.images.luminance?Be.images.luminance:null),this.tiling.setFetcher(getFetcher(Be.work)),this.tiling.setRotation(Be.quaternion),this.tiling.setPosition(Be.position),this.tiling.update(mt,ft,e)):this.tiling.object.visible=!1:this.tiling.object.visible=!1}else this.tiling.object.visible=!1;gt!==this.tiling.object.visible&&(this.tiling.object.needsRender=!0)}this.panoVideo.object.position.copy(this.camera.position),this.panoVideo.updateTime(e),!(!le||le.length<1)&&this.updateControllerHelper(le,e,r)}}},t.prototype.render=function(){var e=this.xrManager.getCamera(this.camera);this.renderer.render(this.scene,e)},t.prototype.onPanGesture=function(){},t.prototype.onTapGesture=function(){},t.prototype.onPinchGesture=function(){},t.prototype.onMouseMove=function(){},t.prototype.onMouseOut=function(){},t.prototype.panoResourceFromLocationMotionKeyframe=function(e){return this.panoResources[e.key]},t.prototype.updateControllerHelper=function(e,r,i){var o=this.xrControllerRay.left,s=this.xrControllerRay.right;if(!(!e||e.length===0)){for(var u={buttons:{X:!1,Y:!1,LeftTrigger:!1,LeftPinch:!1,A:!1,B:!1,RightTrigger:!1,RightPinch:!1}},l=0;l<e.length;l++){var c=e[l].handedness,d=e[l].gamepad;switch(c){case"left":d.axes&&(this.emitEvent(d.axes[2]===-1,"LeftAxesLeft",r),this.emitEvent(d.axes[2]===1,"LeftAxesRight",r),this.emitEvent(d.axes[3]===-1,"LeftAxesUp",r),this.emitEvent(d.axes[3]===1,"LeftAxesDown",r)),d!=null&&d.buttons&&(d.buttons[4]&&this.emitEvent(d.buttons[4].pressed,"X",r),d.buttons[5]&&this.emitEvent(d.buttons[5].pressed,"Y",r),d.buttons[0]&&this.emitEvent(d.buttons[0].pressed,"LeftTrigger",r),d.buttons[1]&&this.emitEvent(d.buttons[1].pressed,"LeftPinch",r));var f={raycaster:o,axes:{up:d.axes&&d.axes[3]<0?Math.abs(d.axes[3]):0,down:d.axes&&d.axes[3]<0?0:Math.abs(d.axes[3]),left:d.axes&&d.axes[2]<0?Math.abs(d.axes[2]):0,right:d.axes&&d.axes[2]<0?0:Math.abs(d.axes[2])},deltaTime:i};u.buttons.X=d.buttons&&d.buttons[4]?d.buttons[4].pressed:!1,u.buttons.Y=d.buttons&&d.buttons[5]?d==null?void 0:d.buttons[5].pressed:!1,u.buttons.LeftTrigger=d.buttons&&d.buttons[0]?d==null?void 0:d.buttons[0].pressed:!1,u.buttons.LeftPinch=d.buttons&&d.buttons[1]?d==null?void 0:d.buttons[1].pressed:!1,u.left=f;break;case"right":d.axes&&(this.emitEvent(d.axes[2]===-1,"RightAxesLeft",r),this.emitEvent(d.axes[2]===1,"RightAxesRight",r),this.emitEvent(d.axes[3]===-1,"RightAxesUp",r),this.emitEvent(d.axes[3]===1,"RightAxesDown",r)),d.buttons&&(d.buttons[4]&&this.emitEvent(d.buttons[4].pressed,"A",r),d.buttons[5]&&this.emitEvent(d.buttons[5].pressed,"B",r),d.buttons[0]&&this.emitEvent(d.buttons[0].pressed,"RightTrigger",r),d.buttons[1]&&this.emitEvent(d.buttons[1].pressed,"RightPinch",r));var v={raycaster:s,axes:{up:d.axes&&d.axes[3]<0?Math.abs(d.axes[3]):0,down:d.axes&&d.axes[3]<0?0:Math.abs(d.axes[3]),left:d.axes&&d.axes[2]<0?Math.abs(d.axes[2]):0,right:d.axes&&d.axes[2]<0?0:Math.abs(d.axes[2])},deltaTime:i};u.right=v,u.buttons.A=d.buttons&&d.buttons[4]?d==null?void 0:d.buttons[4].pressed:!1,u.buttons.B=d.buttons&&d.buttons[5]?d==null?void 0:d.buttons[5].pressed:!1,u.buttons.RightTrigger=d.buttons&&d.buttons[0]?d==null?void 0:d.buttons[0].pressed:!1,u.buttons.RightPinch=d.buttons&&d.buttons[1]?d==null?void 0:d.buttons[1].pressed:!1;break}}this.emit("xr.controller.update",createEvent("xr.controller.update",u))}},t.prototype.emitEvent=function(e,r,i){var o=this.xrControllerRay.left,s=this.xrControllerRay.right;if(e)if(this.xrControllerState[r].touchStart===!1)this.xrControllerState[r].touchStartTime=i,this.xrControllerState[r].touchStart=!0,this.emit("xr.gesture.buttonDown",createEvent("xr.gesture.buttonDown",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!1,isFirst:!0,controllers:{raycaster:{leftRay:o,rightRay:s}}}));else{var u=i-this.xrControllerState[r].touchStartTime;u>CONTROLLER_EVNET_DELTA_TIME&&this.emit("xr.gesture.press",createEvent("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!0,controllers:{raycaster:{leftRay:o,rightRay:s}}}))}else if(this.xrControllerState[r].touchStart===!0){this.emit("xr.gesture.buttonUp",createEvent("xr.gesture.buttonUp",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:o,rightRay:s}}}));var u=i-this.xrControllerState[r].touchStartTime;if(u<=CONTROLLER_EVNET_DELTA_TIME){var l=this.emit("xr.gesture.tap",createEvent("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:o,rightRay:s}}}));l||r==="RightTrigger"&&this.checkSelectedPano(this.xrControllerRay.right)}this.xrControllerState[r].touchStart=!1,this.xrControllerState[r].touchStartTime=0}},t}(PanoramaController),Controllers={Floorplan:FloorplanController,Topview:TopviewController,Panorama:PanoramaController,VRPanorama:VRPanoramaController,Model:ModelController,Mapview:MapviewController,XRPanorama:XRPanoramaController},PROXY_CONTROLLER_EVENT_NAMES=["gesture.pan","gesture.tap","gesture.press","gesture.pinch","gesture.mousewheel","gesture.mousemove","gesture.momentum","initAnimation.start","initAnimation.end","camera.update","intersect.update","pano.select","pano.moveTo","pano.moving","pano.arrived","pano.cancel","pano.error","pano.texture.load","pano.texture.progress","pano.texture.success","pano.texture.error","pano.texture.abort","xr.session.start","xr.session.end","xr.gesture.tap","xr.gesture.press","xr.gesture.buttonUp","xr.gesture.buttonDown","xr.controller.update"];function initLegacyEvent(n){n.on("initAnimation.start",function(t){n.emit("initAnimationWillStart",t.state.panoIndex,t.state,t.userAction)}),n.on("initAnimation.end",function(t){n.emit("initAnimationEnded",t.state.panoIndex,t.state,t.userAction)}),n.on("gesture.pan",function(t){var e=!1;e=n.emit("wantsGesture","pan",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPanGesture",t.state,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","pan",t.pointers,t.isFinal),n.emit("panGesture",t.state,t.isFinal))}),n.on("gesture.tap",function(t){var e=!1;e=n.emit("wantsGesture","tap",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsTapGesture",t.center.raycaster,t.center.coords,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","tap",t.pointers,t.isFinal),n.emit("tapGesture",t.center.raycaster,t.center.coords,t.isFinal))}),n.on("gesture.press",function(t){var e=!1;e=n.emit("wantsGesture","press",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPressGesture",t.center.raycaster,t.center.coords,t.center.delta,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","press",t.pointers,t.isFinal),n.emit("pressGesture",t.center.raycaster,t.center.coords,t.center.delta,t.isFinal))}),n.on("gesture.pinch",function(t){var e=!1;e=n.emit("wantsGesture","pinch",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPinchGesture",t.scale,t.state.fov,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","pinch",t.pointers,t.isFinal),n.emit("pinchGesture",t.scale,t.state.fov,t.isFinal))}),n.on("gesture.mousewheel",function(t){var e=!1;e=n.emit("wantsGesture","mouseWheel",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsMouseWheel",t.center.delta,t.state.fov,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","mouseWheel",t.pointers,t.isFinal),n.emit("mouseWheel",t.center.delta,t.state.fov,t.isFinal))}),n.on("gesture.mousemove",function(t){var e=!1;e=n.emit("wantsGesture","mouseMove",t.pointers,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","mouseMove",t.pointers,t.isFinal),e=n.emit("wantsChangeCameraFov",t.state.fov),e&&t.preventDefault())}),n.on("gesture.momentum",function(t){var e=!1;e=n.emit("wantsInteriaPan",t.state),e&&t.preventDefault(),t.defaultPrevented||n.emit("interiaPan",t.state,t.isFinal)}),n.on("camera.update",function(t){n.emit("cameraFovUpdate",t.state.fov,t.userAction),n.emit("cameraDirectionUpdate",t.state,t.userAction);var e=coordinatesToVector(t.state);e.setLength(t.state.distance);var r=t.state.offset.clone().sub(e);n.emit("cameraPositionUpdate",r,t.userAction),n.emit("cameraUpdate",t.state,t.userAction)}),n.on("intersect.update",function(t){if(t.intersection){var e=!1;e=n.emit("wantsShowIntersectionOnModel",t.raycaster),e&&t.preventDefault(),t.defaultPrevented||n.emit("intersectionOnModelUpdate",t.intersection,t.object)}else n.emit("intersectionHidden")}),n.on("pano.request",function(t){var e=n.emit("wantsMoveToPano",t.state.panoIndex,t.options,t.userAction);e||(e=n.emit("wantsToMoveToPano",t.state.panoIndex,t.options,t.userAction)),e&&t.preventDefault(),t.defaultPrevented||n.emit("panoWillLoad",t.state.panoIndex)}),n.on("pano.select",function(t){n.emit("panoSelected",t.state.panoIndex)}),n.on("pano.moveTo",function(t){n.emit("panoLoaded",t.state.panoIndex),n.emit("moveToPano",t.state.panoIndex,t.userAction),n.emit("panoWillArrive",t.state.panoIndex,t.state,t.userAction)}),n.on("pano.moving",function(t){n.emit("movingToPano",t.state.panoIndex,t.prevPano.panoIndex,t.progress)}),n.on("pano.arrived",function(t){n.emit("panoArrived",t.state.panoIndex,t.state,t.userAction)}),n.on("pano.cancel",function(t){n.emit("moveToPanoCanceled",t.state.panoIndex)}),n.on("pano.error",function(t){n.emit("panoLoadError",t.error,t.state.panoIndex)}),n.on("pano.texture.load",function(t){n.emit("textureStartLoad",t.pano.panoIndex)}),n.on("pano.texture.success",function(t){n.emit("textureLoaded",t.pano.panoIndex,t.meta)}),n.on("pano.texture.error",function(t){n.emit("textureError",t.error,t.pano.panoIndex)}),n.on("pano.texture.abort",function(t){n.emit("textureAbort",t.pano.panoIndex)}),n.on("pano.texture.progress",function(t){n.emit("textureLoading",t.progress,t.pano.panoIndex)}),n.on("xr.session.start",function(t){n.emit("webXRSessionStart")}),n.on("xr.session.end",function(t){n.emit("webXRSessionEnd")}),n.on("xr.gesture.tap",function(t){n.emit("webXRControllerEvent","tap",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.press",function(t){n.emit("webXRControllerEvent","press",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.buttonUp",function(t){n.emit("webXRControllerEvent","buttonUp",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.buttonDown",function(t){n.emit("webXRControllerEvent","buttonDown",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.controller.update",function(t){n.emit("webXRControllerRayUpdate",{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0}),t.left&&n.emit("webXRAxesUpdate","left",{raycaster:{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0},axesState:{up:t.left.axes.up,down:t.left.axes.down,left:t.left.axes.left,right:t.left.axes.right},deltaTime:t.left.deltaTime}),t.right&&n.emit("webXRAxesUpdate","right",{raycaster:{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0},axesState:{up:t.right.axes.up,down:t.right.axes.down,left:t.right.axes.left,right:t.right.axes.right},deltaTime:t.right.deltaTime})}),n.on("works.request",function(t){n.emit("willLoad",t.input,t.works[0],t.state)}),n.on("works.load",function(t){n.emit("load",t.input,t.works[0],t.state)}),n.on("works.ready",function(t){n.emit("loaded",t.input,t.works[0])}),n.on("state.change",function(t){n.emit("stateChange",t.state,t.userAction)}),n.on("currentState.change",function(t){n.emit("currentStateChange",t.state,t.userAction)}),n.on("state.set",function(t){n.emit("setState",t.state)}),n.on("state.synced",function(t){n.emit("stateSynced",t.state)}),n.on("model.request",function(t){n.emit("modelWillLoad",t.work.model)}),n.on("model.error",function(t){n.emit("modelLoadError",t.error,t.model)}),n.on("model.load",function(t){n.emit("modelLoaded",t.model)}),n.on("model.changeShownFloor",function(t){n.emit("modelShownFloorChange",t.model.shownFloor,t.model.floorLength)}),n.on("render",function(t){n.emit("renderFrame",t.needsRender)}),n.on("mode.change.request",function(t){n.emit("wantsChangeMode",t.mode,t.prevMode)}),n.on("mode.change",function(t){n.emit("modeChange",t.mode,t.prevMode,t.state.panoIndex,t.state,t.userAction)}),n.on("helpers.visible",function(t){n.emit("helpersVisibleChange",t.object.visible)}),n.on("network.resource",function(t){n.emit("network",t.source,t.requestType,t.requestState,t.detail)})}function generateDefaultVideoElement(){if(typeof window!="undefined"){var n=document.createElement("video");n.loop=!0,n.autoplay=!0,n.playsInline=!0,n.muted=!0,n.crossOrigin="";var t=function(){document.removeEventListener("touchstart",t,!1),document.removeEventListener("mousedown",t,!1),n.muted=!1};return document.addEventListener("touchstart",t,!1),document.addEventListener("mousedown",t,!1),n}else return{}}function initLights(n){{var t=new THREE__namespace.DirectionalLight(16777215,.5);t.position.copy(new THREE__namespace.Vector3(1,1,1)),n.add(t)}{var t=new THREE__namespace.DirectionalLight(16777215,.3);n.add(t)}{var t=new THREE__namespace.AmbientLight(16777215,.3);n.add(t)}}function parseKeyValue(n){for(var t,e,r={},i=n.split(/(\;|\,)/),o=0,s=i;o<s.length;o++){var u=s[o],l=u.split("="),c=(t=l[0])===null||t===void 0?void 0:t.trim(),d=(e=l[1])===null||e===void 0?void 0:e.trim();c&&d&&(r[c]=d)}return r}function getViewportScale(){var n;if(typeof document!="undefined")for(var t=document.getElementsByTagName("meta"),e=0;e<t.length;e++){var r=t[e];if(r.getAttribute("name")==="viewport"){var i=parseKeyValue((n=r.getAttribute("content"))!==null&&n!==void 0?n:""),o=Number(i["initial-scale"]);if(!isNaN(o))return o}}return 1}const textureURL="data:image/png;base64,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";var imageSize=[351,63],imageOffset=[20,20],vertices=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),uvs=new Float32Array([0,0,1,0,0,1,1,1]),index=new Uint8Array([0,1,2,1,3,2]),geometry=new THREE__namespace.BufferGeometry;geometry.setAttribute("position",new THREE__namespace.BufferAttribute(vertices,3)),geometry.setAttribute("uv",new THREE__namespace.BufferAttribute(uvs,2)),geometry.setIndex(new THREE__namespace.BufferAttribute(index,1));var material=new THREE__namespace.MeshBasicMaterial({transparent:!0,depthTest:!1,depthWrite:!1,stencilWrite:!1,fog:!1}),mesh=new THREE__namespace.Mesh(geometry,material);mesh.matrixAutoUpdate=!1;var scene=new THREE__namespace.Scene;scene.add(mesh),scene.matrixAutoUpdate=!1;var camera=new THREE__namespace.OrthographicCamera(-.5,.5,.5,-.5,.1,1);camera.position.set(0,0,.5),camera.lookAt(0,0,0),camera.updateMatrixWorld(!0),camera.matrixAutoUpdate=!1;var prevViewport=new THREE__namespace.Vector4,prevScissor=new THREE__namespace.Vector4;function renderPoweredByRealsee(n){if(material.map){var r=n.getViewport(prevViewport),i=n.getScissor(prevScissor),o=n.getScissorTest(),s=n.autoClear,u=i.x+imageOffset[0]/3,l=i.y+imageOffset[1]/3,c=imageSize[0]/3,d=imageSize[1]/3;n.setViewport(u,l,c,d),n.setScissor(u,l,c,d),n.setScissorTest(!0),n.autoClear=!1,n.render(scene,camera),n.setViewport(r),n.setScissor(i),n.setScissorTest(o),n.autoClear=s}else{var t=new THREE__namespace.Texture,e=new Image;e.onload=function(){t.image=e,t.wrapS=THREE__namespace.ClampToEdgeWrapping,t.wrapT=THREE__namespace.ClampToEdgeWrapping,t.minFilter=THREE__namespace.LinearFilter,t.needsUpdate=!0,t.generateMipmaps=!1,material.needsUpdate=!0,e.onload=noop$1},e.src=textureURL,material.map=t}}var DEFAULT_MODE_CHANGE_DURATION=800,DEFAULT_REQUEST_PROXY=function(n){return n.replace("//vrlab-public.ljcdn.com/","//vr-public.realsee-cdn.cn/").replace("//vrlab-image4.ljcdn.com/","//vr-image-4.realsee-cdn.cn/").replace("//vrlab-image3.ljcdn.com/","//vr-image-3.realsee-cdn.cn/").replace("//vrlab-image2.ljcdn.com/","//vr-image-2.realsee-cdn.cn/").replace("//vrlab-image1.ljcdn.com/","//vr-image-1.realsee-cdn.cn/")},BUILTIN_COORDINATESSYSTEMTRANSFORMERS=[{name:"Z",transformToUpAxisZ:function(){return new THREE__namespace.Matrix4}},{name:"Y",transformToUpAxisZ:function(){return new THREE__namespace.Matrix4().makeRotationAxis(new THREE__namespace.Vector3(1,0,0),+Math.PI/2)}},{name:"-Y",transformToUpAxisZ:function(){return new THREE__namespace.Matrix4().makeRotationAxis(new THREE__namespace.Vector3(1,0,0),-Math.PI/2)}},{name:"WGS84",transformToEarthCentered:function(){return new THREE__namespace.Matrix4}},{name:"GCJ02",transformToEarthCentered:function(){return new THREE__namespace.Matrix4}},{name:"BD09",transformToEarthCentered:function(){return new THREE__namespace.Matrix4}}],sharedVector2=new THREE__namespace.Vector2,sharedFrustum=new THREE__namespace.Frustum,sharedProjScreenMatrix=new THREE__namespace.Matrix4,clockForMixer=new WeakMap,worksMap=new WeakMap,emptyWorks=createWorks([]),Five=function(n){__extends(t,n);function t(e){e===void 0&&(e={});var r,i,o,s,u,l,c,d,f,v,p=n.call(this)||this;p.ident=createUuid(),typeof window!="undefined"&&(__FIVE_DEBUG__.instances[p.ident]=p),p.renderSwitch01=0,p.currentMode="Panorama",p.pano={workCode:"",panoIndex:0},p.needsRender=!1,p.onlyRenderIfNeeds=(r=e.onlyRenderIfNeeds)!==null&&r!==void 0?r:!0,p.imageOptions=__assign({},(i=e.imageOptions)!==null&&i!==void 0?i:{}),p.textureOptions=__assign({},(o=e.textureOptions)!==null&&o!==void 0?o:{}),p.poweredByRealsee=(s=e.poweredByRealsee)!==null&&s!==void 0?s:!0,p.extraElements=[],p.controllerInits={Panorama:Object.assign({},e.panorama),Model:Object.assign({},e.model),Floorplan:Object.assign({},e.floorplan),Topview:Object.assign({},e.topview),Mapview:Object.assign({},e.mapview),VRPanorama:Object.assign({},e.vrPanorama),XRPanorama:Object.assign({},e.xrPanorama)},p.coordinatesSystemTransformers=__spreadArray([],(u=e.coordinatesSystemTransformers)!==null&&u!==void 0?u:[],!0);for(var A=function(B){var F=m.coordinatesSystemTransformers.find(function(L){return L.name===B.name});F||m.coordinatesSystemTransformers.push(__assign({},B))},m=this,y=0,h=BUILTIN_COORDINATESSYSTEMTRANSFORMERS;y<h.length;y++){var g=h[y];A(g)}if(p.fps={testCount:0,testTime:now()},p.info=null,p.modeChangeDuration=(l=e.modeChangeDuration)!==null&&l!==void 0?l:DEFAULT_MODE_CHANGE_DURATION,p.enableWheel=(c=e.enableWheel)!==null&&c!==void 0?c:!0,typeof window!="undefined")if("renderer"in e)e.renderer instanceof InternalWebGLRenderer&&p.throwError(new Error("cannot render a internal renderer")),p.renderer=e.renderer;else try{p.renderer=new InternalWebGLRenderer({preserveDrawingBuffer:e.preserveDrawingBuffer,backgroundColor:e.backgroundColor,backgroundAlpha:e.backgroundAlpha,antialias:e.antialias,webgl2:e==null?void 0:e.webgl2});var b=getViewportScale();p.renderer.setPixelRatio(b===1?window.devicePixelRatio:1),p.renderer.setSize(512,512)}catch(B){B instanceof Error&&p.throwError(B)}p.getPixelsRenderTarget=new THREE__namespace.WebGLRenderTarget(1,1,{encoding:(f=(d=p.renderer)===null||d===void 0?void 0:d.outputEncoding)!==null&&f!==void 0?f:THREE__namespace.sRGBEncoding}),p.scissor=Object.assign({left:0,bottom:0,width:1,height:1},e.scissor),p.camera=new Camera(90),p.scene=new Scene,p.xrCustomObjectsScene=new THREE__namespace.Scene,p.scene.add(p.xrCustomObjectsScene),p.scene.matrixAutoUpdate=!1,p.lastLoadWorkTask=Promise.resolve(),p.requestProxy=(v=e.requestProxy)!==null&&v!==void 0?v:DEFAULT_REQUEST_PROXY,p.networkSubscribe=new NetworkSubscribe,p.networkSubscribe.on("network",function(B,F,L,O){var k;p.emit("network.resource",createEvent("network.resource",{source:B,requestType:F,requestState:L,detail:O})),(k=p.analysis)===null||k===void 0||k.network(p.works,B,F,L,O)}),p.boundingMesh=generateBoundingMesh(new THREE__namespace.Box3(new THREE__namespace.Vector3(-.5,-.5,-.5),new THREE__namespace.Vector3(.5,.5,.5))),p.boundingMesh.name="bounding",p.scene.add(p.boundingMesh),p.models=createModels(),p.models.push(new Model),p.lastModels=createModels(),p.lastWorks=createWorks([]),p.readyCallbacks=[],p.syncingState=!1,p.modelGroup=new THREE__namespace.Group,p.modelGroup.visible=!1,p.modelGroup.name="model",p.modelGroup.matrixAutoUpdate=!1,p.modelGroup.renderOrder=-4,p.scene.add(p.modelGroup),p.helperGroup=new THREE__namespace.Group,p.helperGroup.name="helper",p.helperGroup.matrixAutoUpdate=!1,p.scene.add(p.helperGroup),p.videoTexture=new THREE__namespace.VideoTexture(e.videoInstance||generateDefaultVideoElement()),initLights(p.scene),p.copyEffect=new Effect(p.renderer,p.scene,p.camera,p.models),p.state={mode:p.currentMode,workCode:p.pano.workCode,panoIndex:p.pano.panoIndex,longitude:p.camera.pose.longitude,latitude:p.camera.pose.latitude,fov:p.camera.pose.fov,offset:p.camera.pose.offset.clone(),distance:p.camera.pose.distance},p.stateSynced=!1,p._enableIOSEDR=!1,p.destroyed=!1,p.paused=!0,typeof window!="undefined"&&(e.play!==!1&&p.play(),p.stopAnimationLoop=AnimationFrameLoop.shared.add(function(B,F){for(var L=[],O=2;O<arguments.length;O++)L[O-2]=arguments[O];p.updateTime.apply(p,__spreadArray([B,F],L,!1))},!1,0,10));var E=function(){typeof document!="undefined"&&document.fullscreenElement===null&&p.currentMode==="VRPanorama"&&p.controller.emit("vr.requestExit",createEvent("vr.requestExit",{}))},T=function(){p.needsRender=!0};if(typeof document!="undefined"&&document.addEventListener("fullscreenchange",E,!1),p.renderer&&p.renderer.domElement.addEventListener("webglcontextrestored",T,!1),p.removeEventListeners=function(){typeof document!="undefined"&&document.removeEventListener("fullscreenchange",E,!1),p.renderer&&p.renderer.domElement.removeEventListener("webglcontextrestored",T,!1)},p.plugins={},e.plugins&&e.plugins.length)for(var _=0,x=e.plugins;_<x.length;_++){var w=x[_];if(typeof w=="function")w(p);else if(Array.isArray(w)){var S=w[0],C=w[1],R=w[2];if(typeof S=="function"){var I=S(p,R);typeof C=="string"&&(p.plugins[C]?p.throwError(new Error("plugin name ".concat(C," is exists."))):p.plugins[C]=I)}}}return p.gpuPickingRenderTarget=new THREE__namespace.WebGLRenderTarget(1,1),p.meshReplaceMaterialMap=new Map,p.meshOriginMaterialMap=new Map,initLegacyEvent(p),p}return Object.defineProperty(t,"version",{get:function(){return"6.0.0-alpha.83"},enumerable:!1,configurable:!0}),Object.defineProperty(t,"dracoPath",{get:function(){return draco.decoderPath},set:function(e){draco.setDecoderPath(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t,"ktx2Path",{get:function(){return ktx2.transcoderPath},set:function(e){ktx2.setTranscoderPath(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"panoIndex",{get:function(){return this.pano.panoIndex},enumerable:!1,configurable:!0}),t.prototype.getGPUPicking=function(e,r,i,o,s){var u=this;if(o===void 0&&(o=1),s===void 0&&(s=new THREE__namespace.Vector3(0,0,0)),!this.renderer)throw new Error("renderer is not initialized.");this.models.setMaterial({constantColor:s}),this.scene.traverse(function(f){if(!(!(f instanceof THREE__namespace.Mesh)||f instanceof PBMMesh)){var v=Object.keys(i).filter(function(A){return A===f.uuid})[0];if(v)if(u.meshOriginMaterialMap.set(v,f.material),u.meshReplaceMaterialMap.get(v))f.material=u.meshReplaceMaterialMap.get(v);else{var p=new THREE__namespace.ShaderMaterial({uniforms:{color:{value:i[v]}},vertexShader:`
|
|
2012
|
+
`},LineMaterial=function(n){__extends(t,n);function t(e){var r=n.call(this,{uniforms:THREE__namespace.UniformsUtils.clone(lineShader.uniforms),vertexShader:lineShader.vertexShader,fragmentShader:lineShader.fragmentShader,clipping:!0})||this;return r.type="LineMaterial",r.dashed=!1,Object.defineProperties(r,{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(i){this.uniforms.diffuse.value=i}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(i){this.uniforms.linewidth.value=i}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(i){this.uniforms.dashScale.value=i}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(i){this.uniforms.dashSize.value=i}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(i){this.uniforms.gapSize.value=i}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(i){this.uniforms.opacity.value=i}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(i){this.uniforms.resolution.value.copy(i)}}}),r.setValues(e),r}return t}(THREE__namespace.ShaderMaterial);Object.assign(LineMaterial.prototype,{isLineMaterial:!0});var LineSegments2=function(n){__extends(t,n);function t(e,r){var i=n.call(this)||this;return i.type="LineSegments2",i.geometry=e!==void 0?e:new LineSegmentsGeometry,i.material=r!==void 0?r:new LineMaterial({color:Math.random()*16777215}),i}return t.prototype.computeLineDistances=function(){for(var e=this.geometry,r=e.attributes.instanceStart,i=e.attributes.instanceEnd,o=new Float32Array(2*r.count),s=new THREE__namespace.Vector3,u=new THREE__namespace.Vector3,c=0,l=0,d=r.count;c<d;c++,l+=2)s.fromBufferAttribute(r,c),u.fromBufferAttribute(i,c),o[l]=l===0?0:o[l-1],o[l+1]=o[l]+s.distanceTo(u);var f=new THREE__namespace.InstancedInterleavedBuffer(o,2,1);return e.setAttribute("instanceDistanceStart",new THREE__namespace.InterleavedBufferAttribute(f,1,0)),e.setAttribute("instanceDistanceEnd",new THREE__namespace.InterleavedBufferAttribute(f,1,1)),this},t.prototype.raycast=function(e,r){e.camera===null&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2.');var i=e.ray,o=e.camera,s=o.projectionMatrix,u=this.geometry,c=this.material,l=c.resolution,d=c.linewidth,f=u.attributes.instanceStart,m=u.attributes.instanceEnd,p=new THREE__namespace.Vector4,A=new THREE__namespace.Vector4,v=new THREE__namespace.Vector4,g=new THREE__namespace.Vector3,h=new THREE__namespace.Matrix4,y=new THREE__namespace.Line3,b=new THREE__namespace.Vector3;i.at(1,v),v.w=1,v.applyMatrix4(o.matrixWorldInverse),v.applyMatrix4(s),v.multiplyScalar(1/v.w),v.x*=l.x/2,v.y*=l.y/2,v.z=0,g.copy(v);var E=this.matrixWorld;h.multiplyMatrices(o.matrixWorldInverse,E);for(var T=0,x=f.count;T<x;T++){p.fromBufferAttribute(f,T),A.fromBufferAttribute(m,T),p.w=1,A.w=1,p.applyMatrix4(h),A.applyMatrix4(h),p.applyMatrix4(s),A.applyMatrix4(s),p.multiplyScalar(1/p.w),A.multiplyScalar(1/A.w);var _=p.z<-1&&A.z<-1,w=p.z>1&&A.z>1;if(!(_||w)){p.x*=l.x/2,p.y*=l.y/2,A.x*=l.x/2,A.y*=l.y/2,y.start.copy(p),y.start.z=0,y.end.copy(A),y.end.z=0;var S=y.closestPointToPointParameter(g,!0);y.at(S,b);var M=THREE__namespace.MathUtils.lerp(p.z,A.z,S),C=M>=-1&&M<=1,I=g.distanceTo(b)<d*.5;if(C&&I){y.start.fromBufferAttribute(f,T),y.end.fromBufferAttribute(m,T),y.start.applyMatrix4(E),y.end.applyMatrix4(E);var B=new THREE__namespace.Vector3,F=new THREE__namespace.Vector3;i.distanceSqToSegment(y.start,y.end,F,B),r.push({point:F,pointOnLine:B,distance:i.origin.distanceTo(F),object:this,faceIndex:T})}}}},t}(THREE__namespace.Mesh);Object.assign(LineSegments2.prototype,{isLineSegments2:!0});var Line2=function(n){__extends(t,n);function t(e,r){var i=n.call(this,e,r)||this;return i.type="Line2",i}return t}(LineSegments2);Object.assign(Line2.prototype,{isLine2:!0});var LineGeometry=function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.type="LineGeometry",e}return t.prototype.setPositions=function(e){for(var r=e.length-3,i=new Float32Array(2*r),o=0;o<r;o+=3)i[2*o]=e[o],i[2*o+1]=e[o+1],i[2*o+2]=e[o+2],i[2*o+3]=e[o+3],i[2*o+4]=e[o+4],i[2*o+5]=e[o+5];return n.prototype.setPositions.call(this,i),this},t.prototype.setColors=function(e){for(var r=e.length-3,i=new Float32Array(2*r),o=0;o<r;o+=3)i[2*o]=e[o],i[2*o+1]=e[o+1],i[2*o+2]=e[o+2],i[2*o+3]=e[o+3],i[2*o+4]=e[o+4],i[2*o+5]=e[o+5];return n.prototype.setColors.call(this,i),this},t.prototype.fromLine=function(e){var r=e.geometry;if(r instanceof THREE__namespace.Geometry){var i=new THREE__namespace.BufferGeometry().fromGeometry(r);this.setPositions(i.attributes.position.array)}else r instanceof THREE__namespace.BufferGeometry&&this.setPositions(r.attributes.position.array);return this},t.prototype.copy=function(){return this},t}(LineSegmentsGeometry);Object.assign(LineGeometry.prototype,{isLineGeometry:!0});var circleImageURL="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sHDgwCEMBJZu0AAAAdaVRYdENvbW1lbnQAAAAAAENyZWF0ZWQgd2l0aCBHSU1QZC5lBwAABM5JREFUWMO1V0tPG2cUPZ4Hxh6DazIOrjFNqJs0FIMqWFgWQkatsmvVbtggKlSVRVf5AWz4AWz4AUSKEChll19QJYSXkECuhFxsHjEhxCYm+DWGMZ5HF72DJq4bAzFXurI0M/I5997v3u9cC65vTJVn2lX/xHINQOYSBLTLEuIuCWw4Z3IGAEvf6ASmVHjNzHCXBG4A0AjACsAOwEbO0nsFQBnAGYASAIl+ZRMR7SolMEdsByD09fV5R0ZGgg8ePPjW5/N1iqLYpuu6RZblciKR2I9Go69evnwZnZ+fjwI4IS8AKBIRzeQfJWCANwKwh0KhtrGxsYehUOin1tbW+zzP23ietzY2NnIAoGmaLsuyUiqVyvl8XtrY2NiamZn589mzZxsAUgCOAeQAnFI2tI+VxIjaAeDzoaGh7xYWFuZOTk6OZVk+12uYqqq6JEnn0Wg0OT4+/geAXwGEAdwDIFJQXC1wO4DWR48e/RCPxxclSSroVzRFUbSDg4P848ePFwH8DuAhkWih83TRQWxFOXgAwvDwcOfo6OhvXV1d39tsNtuVBwTDWBwOh1UUxVsMw1hXVlbSdCgNV43uYSvrHg6H24aHh38eHBz85TrgF9FYLHA4HLzH43FvbW2d7u/vG+dANp8FpqIlbd3d3V8Fg8EfBUFw4BONZVmL3+9vHhkZCQL4AoAHgJPK8G+yzC0XDofdoVAo5PP5vkadTBAEtr+/39ff3x8gAp/RPOEqx2qjx+NpvXv3bk9DQ0NDvQgwDIOWlhZrMBj8kgi0UJdxRgYMArzL5XJ7vd57qLPZ7Xamp6fnNgBXtQxcjFuHw+Hyer3t9SYgCAITCAScAJoBNNEY/08GOFVVrfVMv7kMNDntFD1vjIAPrlRN0xjckOm6biFQ3jwNPwDMZrOnqVTqfb3Bi8Wivru7W/VCYkwPlKOjo0IikXh7EwQikYgE4Nw0CfXKDCipVCoTj8df3QABbW1tLUc6oUgkFPMkVACUNjc337148eKvw8PDbJ2jP1taWkoCyNDVXDSECmNSK4qiKNLq6urW8+fPI/UicHx8rD59+jSVy+WOAKSJhKENwFItLtoxk8mwsixzHR0dHe3t7c5PAU+n09rs7OzJkydPYqVSaQfANoDXALIk31S2smU1TWMPDg7K5XKZ7+3t9TudTut1U7+wsFCcmJiIpdPpbQBxADsAknQWymYCOukBHYCuKApisdhpMpnURFEU79y503TVyKenpzOTk5M7e3t7MQKPV0Zv1gNm+awB0MvlshqLxfLb29uyJElWURSbXC4XXyvqxcXFs6mpqeTc3Nzu3t7e3wQcA7BPZ8Cov1pNlJplmQtAG8MwHV6v95tAINA5MDBwPxAIuLu6upr8fr/VAN3c3JQjkcjZ+vp6fnl5+d2bN29SuVzuNYAEpf01CdRChUL+X1VskHACuA3Ay3Fcu9vt7nA6nZ7m5uYWQRCaNE3jVVW15PP580KhIGUymWw2m00DOAJwSP4WwPtq4LX2Ao6USxNlQyS/RcQcdLGwlNIz6vEMAaZpNzCk2Pll94LK/cDYimxERiBwG10sxjgvEZBE0UpE6vxj+0Ct5bTaXthgEhRmja8QWNkkPGsuIpfdjpkK+cZUWTC0KredVmtD/gdlSl6EG4AMvQAAAABJRU5ErkJggg==",DEFAULT_COLOR=14467195,POINT_SIZE=8,DEFAULT_LINEWIDTH=2,DEFAULT_DASHSCALE=20,sharedCircleTexture=null,FiveLine=function(n){__extends(t,n);function t(e,r){e===void 0&&(e=new THREE__namespace.Vector3),r===void 0&&(r=new THREE__namespace.Vector3);var i=n.call(this)||this;i.type="FiveLine",i.needsRender=!0;var o=new LineGeometry,s=new LineMaterial({color:DEFAULT_COLOR,linewidth:DEFAULT_LINEWIDTH,dashScale:DEFAULT_DASHSCALE,dashed:!1});i.line=new Line2(o,s);var u=new THREE__namespace.BufferGeometry,c=new THREE__namespace.PointsMaterial({color:DEFAULT_COLOR,size:POINT_SIZE,map:sharedCircleTexture||(sharedCircleTexture=new THREE__namespace.TextureLoader().load(circleImageURL)),sizeAttenuation:!1,transparent:!0});return i.points=new THREE__namespace.Points(u,c),i.points.renderOrder=11,i.points.frustumCulled=!1,i.setPoints(e,r),i.add(i.line,i.points),i}return Object.defineProperty(t,"version",{get:function(){return"6.0.0-alpha.84"},enumerable:!1,configurable:!0}),t.prototype.setPoints=function(e,r){var i=[].concat(e.toArray(),r.toArray());this.points.geometry.setAttribute("position",new THREE__namespace.BufferAttribute(new Float32Array(i),3)),this.line.geometry.setPositions(i),this.line.computeLineDistances(),this.needsRender=!0},t.prototype.getPoints=function(){var e=this.points.geometry.attributes.position.array;return[new THREE__namespace.Vector3(e[0],e[1],e[2]),new THREE__namespace.Vector3(e[3],e[4],e[5])]},t.prototype.setMaterial=function(e){var r=this.line.material;for(var i in e)if(e.hasOwnProperty(i)){var o=e[i];i==="dashed"?(r.dashed=o,o?r.defines.USE_DASH="":delete r.defines.USE_DASH,r.needsUpdate=!0):r[i]=e[i]}this.needsRender=!0},t.prototype.setResolution=function(e,r){var i=this.line.material.resolution;(i.x!==e||i.y!==r)&&(i.set(e,r),this.needsRender=!0)},t}(THREE__namespace.Object3D);Object.assign(FiveLine.prototype,{isFiveLine:!0});var Constants={Handedness:Object.freeze({NONE:"none",LEFT:"left",RIGHT:"right"}),ComponentState:Object.freeze({DEFAULT:"default",TOUCHED:"touched",PRESSED:"pressed"}),ComponentProperty:Object.freeze({BUTTON:"button",X_AXIS:"xAxis",Y_AXIS:"yAxis",STATE:"state"}),ComponentType:Object.freeze({TRIGGER:"trigger",SQUEEZE:"squeeze",TOUCHPAD:"touchpad",THUMBSTICK:"thumbstick",BUTTON:"button"}),ButtonTouchThreshold:.05,AxisTouchThreshold:.1,VisualResponseProperty:Object.freeze({TRANSFORM:"transform",VISIBILITY:"visibility"})};function fetchJsonFile(n){return __awaiter(this,void 0,void 0,function(){var t;return __generator(this,function(e){switch(e.label){case 0:return[4,fetch(n)];case 1:if(t=e.sent(),t.ok)return[2,t.json()];throw new Error(t.statusText)}})})}function fetchProfilesList(n){return __awaiter(this,void 0,void 0,function(){var t,e;return __generator(this,function(r){switch(r.label){case 0:if(!n)throw new Error("No basePath supplied");return t="profilesList.json",[4,fetchJsonFile("".concat(n,"/").concat(t))];case 1:return e=r.sent(),[2,e]}})})}function fetchProfile(n,t,e,r){return e===void 0&&(e=null),r===void 0&&(r=!0),__awaiter(this,void 0,void 0,function(){var i,o,s,u,c,l;return __generator(this,function(d){switch(d.label){case 0:if(!n)throw new Error("No xrInputSource supplied");if(!t)throw new Error("No basePath supplied");return[4,fetchProfilesList(t)];case 1:if(i=d.sent(),n.profiles.some(function(f){var m=i[f];return m&&(o={profileId:f,profilePath:"".concat(t,"/").concat(m.path),deprecated:!!m.deprecated}),!!o}),!o){if(!e)throw new Error("No matching profile name found");if(s=i[e],!s)throw new Error('No matching profile name found and default profile "'.concat(e,'" missing.'));o={profileId:e,profilePath:"".concat(t,"/").concat(s.path),deprecated:!!s.deprecated}}return[4,fetchJsonFile(o.profilePath)];case 2:if(u=d.sent(),r){if(l=void 0,l=u.layouts[n.handedness],!l)throw new Error("No matching handedness, ".concat(n.handedness,", in profile ").concat(o.profileId));l.assetPath&&(c=o.profilePath.replace("profile.json",l.assetPath))}return[2,{profile:u,assetPath:c}]}})})}var defaultComponentValues={xAxis:0,yAxis:0,button:0,state:Constants.ComponentState.DEFAULT};function normalizeAxes(n,t){n===void 0&&(n=0),t===void 0&&(t=0);var e=n,r=t,i=Math.sqrt(n*n+t*t);if(i>1){var o=Math.atan2(t,n);e=Math.cos(o),r=Math.sin(o)}var s={normalizedXAxis:e*.5+.5,normalizedYAxis:r*.5+.5};return s}var VisualResponse=function(){function n(t){this.componentProperty=t.componentProperty,this.states=t.states,this.valueNodeName=t.valueNodeName,this.valueNodeProperty=t.valueNodeProperty,this.valueNodeProperty===Constants.VisualResponseProperty.TRANSFORM&&(this.minNodeName=t.minNodeName,this.maxNodeName=t.maxNodeName),this.value=0,this.updateFromComponent(defaultComponentValues)}return n.prototype.updateFromComponent=function(t){var e=t.xAxis,r=t.yAxis,i=t.button,o=t.state,s=normalizeAxes(e,r),u=s.normalizedXAxis,c=s.normalizedYAxis;switch(this.componentProperty){case Constants.ComponentProperty.X_AXIS:this.value=this.states.includes(o)?u:.5;break;case Constants.ComponentProperty.Y_AXIS:this.value=this.states.includes(o)?c:.5;break;case Constants.ComponentProperty.BUTTON:this.value=this.states.includes(o)?i:0;break;case Constants.ComponentProperty.STATE:this.valueNodeProperty===Constants.VisualResponseProperty.VISIBILITY?this.value=this.states.includes(o):this.value=this.states.includes(o)?1:0;break;default:throw new Error("Unexpected visualResponse componentProperty ".concat(this.componentProperty))}},n}(),Component=function(){function n(t,e){var r=this;if(!t||!e||!e.visualResponses||!e.gamepadIndices||Object.keys(e.gamepadIndices).length===0)throw new Error("Invalid arguments supplied");this.id=t,this.type=e.type,this.rootNodeName=e.rootNodeName,this.touchPointNodeName=e.touchPointNodeName,this.visualResponses={},Object.keys(e.visualResponses).forEach(function(i){var o=new VisualResponse(e.visualResponses[i]);r.visualResponses[i]=o}),this.gamepadIndices=Object.assign({},e.gamepadIndices),this.values={state:Constants.ComponentState.DEFAULT,button:this.gamepadIndices.button!==void 0?0:void 0,xAxis:this.gamepadIndices.xAxis!==void 0?0:void 0,yAxis:this.gamepadIndices.yAxis!==void 0?0:void 0}}return Object.defineProperty(n.prototype,"data",{get:function(){var t=__assign({id:this.id},this.values);return t},enumerable:!1,configurable:!0}),n.prototype.updateFromGamepad=function(t){var e=this;if(this.values.state=Constants.ComponentState.DEFAULT,this.gamepadIndices.button!==void 0&&t.buttons.length>this.gamepadIndices.button){var r=t.buttons[this.gamepadIndices.button];this.values.button=r.value,this.values.button=this.values.button<0?0:this.values.button,this.values.button=this.values.button>1?1:this.values.button,r.pressed||this.values.button===1?this.values.state=Constants.ComponentState.PRESSED:(r.touched||this.values.button>Constants.ButtonTouchThreshold)&&(this.values.state=Constants.ComponentState.TOUCHED)}this.gamepadIndices.xAxis!==void 0&&t.axes.length>this.gamepadIndices.xAxis&&(this.values.xAxis=t.axes[this.gamepadIndices.xAxis],this.values.xAxis=this.values.xAxis<-1?-1:this.values.xAxis,this.values.xAxis=this.values.xAxis>1?1:this.values.xAxis,this.values.state===Constants.ComponentState.DEFAULT&&Math.abs(this.values.xAxis)>Constants.AxisTouchThreshold&&(this.values.state=Constants.ComponentState.TOUCHED)),this.gamepadIndices.yAxis!==void 0&&t.axes.length>this.gamepadIndices.yAxis&&(this.values.yAxis=t.axes[this.gamepadIndices.yAxis],this.values.yAxis=this.values.yAxis<-1?-1:this.values.yAxis,this.values.yAxis=this.values.yAxis>1?1:this.values.yAxis,this.values.state===Constants.ComponentState.DEFAULT&&Math.abs(this.values.yAxis)>Constants.AxisTouchThreshold&&(this.values.state=Constants.ComponentState.TOUCHED)),Object.values(this.visualResponses).forEach(function(i){i.updateFromComponent(e.values)})},n}(),MotionController=function(){function n(t,e,r){var i=this;if(!t)throw new Error("No xrInputSource supplied");if(!e)throw new Error("No profile supplied");this.xrInputSource=t,this.assetUrl=r,this.id=e.profileId,this.layoutDescription=e.layouts[t.handedness],this.components={},Object.keys(this.layoutDescription.components).forEach(function(o){var s=i.layoutDescription.components[o];i.components[o]=new Component(o,s)}),this.updateFromGamepad()}return Object.defineProperty(n.prototype,"gripSpace",{get:function(){return this.xrInputSource.gripSpace},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"targetRaySpace",{get:function(){return this.xrInputSource.targetRaySpace},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"data",{get:function(){var t=[];return Object.values(this.components).forEach(function(e){t.push(e.data)}),t},enumerable:!1,configurable:!0}),n.prototype.updateFromGamepad=function(){var t=this;Object.values(this.components).forEach(function(e){e.updateFromGamepad(t.xrInputSource.gamepad)})},n}(),DEFAULT_PROFILES_PATH="https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles",DEFAULT_PROFILE="generic-trigger",XRControllerModel=function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.motionController=null,e.envMap=null,e}return t.prototype.setEnvironmentMap=function(e){var r=this;return this.envMap==e?this:(this.envMap=e,this.traverse(function(i){i instanceof THREE__namespace.Mesh&&i.isMesh&&(i.material.envMap=r.envMap,i.material.needsUpdate=!0)}),this)},t.prototype.updateMatrixWorld=function(e){n.prototype.updateMatrixWorld.call(this,e),this.motionController&&(this.motionController.updateFromGamepad(),Object.values(this.motionController.components).forEach(function(r){Object.values(r.visualResponses).forEach(function(i){var o=i.valueNode,s=i.minNode,u=i.maxNode,c=i.value,l=i.valueNodeProperty;o&&(l===Constants.VisualResponseProperty.VISIBILITY?o.visible=c:l===Constants.VisualResponseProperty.TRANSFORM&&(o.quaternion.copy(s.quaternion).slerp(u.quaternion,c),o.position.lerpVectors(s.position,u.position,c)))})}))},t}(THREE.Object3D);function findNodes(n,t){Object.values(n.components).forEach(function(e){var r=e.type,i=e.touchPointNodeName,o=e.visualResponses;if(r===Constants.ComponentType.TOUCHPAD)if(e.touchPointNode=t.getObjectByName(i),e.touchPointNode){var s=new THREE.SphereGeometry(.001),u=new THREE.MeshBasicMaterial({color:255}),c=new THREE.Mesh(s,u);e.touchPointNode.add(c)}else console.warn("Could not find touch dot, ".concat(e.touchPointNodeName,", in touchpad component ").concat(e.id));Object.values(o).forEach(function(l){var d=l.valueNodeName,f=l.minNodeName,m=l.maxNodeName,p=l.valueNodeProperty;if(p===Constants.VisualResponseProperty.TRANSFORM){if(l.minNode=t.getObjectByName(f),l.maxNode=t.getObjectByName(m),!l.minNode){console.warn("Could not find ".concat(f," in the model"));return}if(!l.maxNode){console.warn("Could not find ".concat(m," in the model"));return}}l.valueNode=t.getObjectByName(d),l.valueNode||console.warn("Could not find ".concat(d," in the model"))})})}function addAssetSceneToControllerModel(n,t){findNodes(n.motionController,t),n.envMap&&t.traverse(function(e){e instanceof THREE__namespace.Mesh&&e.isMesh&&(e.material.envMap=n.envMap,e.material.needsUpdate=!0)}),n.add(t)}var XRControllerModelFactory=function(){function n(t){t===void 0&&(t=null),this.gltfLoader=t,this.path=DEFAULT_PROFILES_PATH,this._assetCache={}}return n.prototype.createControllerModel=function(t){var e=this,r=new XRControllerModel,i=null;return t.addEventListener("connected",function(o){var s=o.data;s.targetRayMode!=="tracked-pointer"||!s.gamepad||fetchProfile(s,e.path,DEFAULT_PROFILE).then(function(u){var c=u.profile,l=u.assetPath;r.motionController=new MotionController(s,c,l);var d=e._assetCache[r.motionController.assetUrl];if(d)i=d.scene.clone(),addAssetSceneToControllerModel(r,i);else{if(!e.gltfLoader)throw new Error("GLTFLoader not set.");e.gltfLoader.load(r.motionController.assetUrl,function(f){e._assetCache[r.motionController.assetUrl]=f,i=f.scene.clone(),addAssetSceneToControllerModel(r,i)})}}).catch(function(u){console.warn(u)})}),t.addEventListener("disconnected",function(){r.motionController=null,r.remove(i),i=null}),r},n}();function mapPanoResource(n,t){if(!t)return n;var e=n.match(/\d+_[a-z].png/);return n.substring(0,e.index)+t+"/"+n.substring(e.index)}var CONTROLLER_EVNET_DELTA_TIME=300,ROTATE_Y_PI_MATRIX=new THREE__namespace.Matrix4().makeRotationAxis(new THREE__namespace.Vector3(0,1,0),Math.PI),PANO_TEXTURE_SCALE=new THREE__namespace.Vector3(-1,1,1),XRPanoramaController=function(n){__extends(t,n);function t(e){var r=n.call(this,e)||this;r.xrManager=new XRManager(r.renderer,r.renderer.getContext(),{onSessionStart:function(c){r.emit("xr.session.start",createEvent("xr.session.start",{session:c,machineType:r.xrManager.machineType}))},onSessionEnd:function(){r.emit("xr.session.end",createEvent("xr.session.end",{session:null,machineType:r.xrManager.machineType}))}}),r.xrControllerRay={left:new THREE__namespace.Raycaster,right:new THREE__namespace.Raycaster},r.xrControllerRay.left.params.Points={threshold:.1},r.xrControllerRay.right.params.Points={threshold:.1},r.pointerLines={left:new FiveLine,right:new FiveLine},r.pointerLines.left.visible=!1,r.pointerLines.right.visible=!0,r.pointerLines.left.setMaterial({color:new THREE__namespace.Vector3(1,1,1)}),r.pointerLines.left.points.material.depthTest=!1,r.pointerLines.right.setMaterial({color:new THREE__namespace.Vector3(1,1,1)}),r.pointerLines.right.points.material.depthTest=!1,r.scene.add(r.pointerLines.left,r.pointerLines.right),r.panoResources={},r.panoResources[r.locationMotion.keyframes[0].key=r.locationMotion.keyframes[1].key=createUuid()]={panoId:panoStringify(r.currentPano),leftPanoPicture:null,position:r.camera.pose.offset.clone(),effect:"fade",fixCameraTransform:new THREE__namespace.Matrix4},r.parallaxCameraMatrixs=[];var i=AnimationFrameLoop.shared.getContext();if(!i)return console.error("获取session失败,请退出重试"),r;r.on("xr.session.end",function(){r.scene.remove(r.pointerLines.left,r.pointerLines.right)}),r.xrManager.setSession(i),r.controllerWrappers=[new THREE__namespace.Group,new THREE__namespace.Group],r.scene.add(r.controllerWrappers[0],r.controllerWrappers[1]);var o=r.xrManager.getController(0);r.controllerWrappers[0].add(o);var s=r.xrManager.getController(1);r.controllerWrappers[1].add(s);var u=new XRControllerModelFactory;return u.gltfLoader={load:function(c,l){internalFetcher.ajax(c,{responseType:"arraybuffer"}).then(function(d){var f;return parseGltf(d.body,{resourcePath:c.slice(0,c.lastIndexOf("/")+1),search:(f=c.split("?")[1])!==null&&f!==void 0?f:"",fetcher:internalFetcher})}).then(function(d){return l(d)})}},r.on("xr.session.start",function(){var c=r.xrManager.getControllerGrip(0);c.add(u.createControllerModel(c)),r.controllerWrappers[0].add(c);var l=r.xrManager.getControllerGrip(1);l.add(u.createControllerModel(l)),r.controllerWrappers[1].add(l)}),r.xrControllerState={LeftAxesUp:{touchStartTime:0,touchStart:!1},LeftAxesDown:{touchStartTime:0,touchStart:!1},LeftAxesLeft:{touchStartTime:0,touchStart:!1},LeftAxesRight:{touchStartTime:0,touchStart:!1},LeftTrigger:{touchStartTime:0,touchStart:!1},LeftPinch:{touchStartTime:0,touchStart:!1},RightAxesUp:{touchStartTime:0,touchStart:!1},RightAxesDown:{touchStartTime:0,touchStart:!1},RightAxesLeft:{touchStartTime:0,touchStart:!1},RightAxesRight:{touchStartTime:0,touchStart:!1},RightTrigger:{touchStartTime:0,touchStart:!1},RightPinch:{touchStartTime:0,touchStart:!1},Y:{touchStartTime:0,touchStart:!1},X:{touchStartTime:0,touchStart:!1},A:{touchStartTime:0,touchStart:!1},B:{touchStartTime:0,touchStart:!1}},r}return t.parseArgs=function(e){if(e instanceof t)return e;var r=__assign(__assign({},e),{maxLatitude:Math.PI/2,minLatitude:-Math.PI/2});return n.parseArgs.call(this,r)},t.initAnimationEndState=function(e){var r=this.parseArgs(e),i=n.initAnimationEndState.call(this,r);return __assign(__assign({},i),{mode:"XRPanorama"})},t.prototype.moveToPano=function(e,r,i){var o=this,s,u,c,l,d=(s=r.effect)!==null&&s!==void 0?s:"fade";this.userAction=i,this.stopMomentumMovement();var f=this.works.getResolvedObserver(e);if(!f)throw new Error("Invalid PanoIndex");var m=this.imageOptions.size;if(typeof m=="undefined"&&f){var p=f.images.up.match(/\/cube_(\d+)\//);p&&(m=Number(p[1]))}typeof m=="undefined"&&(m=2048);var A=this.imageOptions.transform,v=function(C,I){return mapPanoResource(applyImageURLOptions(C,A,I))},g=__assign({key:"pano.".concat(f.panoId)},pick(this.imageOptions,["format","size","quality"])),h=f.images,y=(c=(u=f.images.tiles)===null||u===void 0?void 0:u.filter(function(C){return C.size>m}))!==null&&c!==void 0?c:null,b="pano:"+jsonHash([h,g,A]);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===b)return;var E=this.pendingTextureTask.panoId;(l=this.panoMeshes[E])===null||l===void 0||l.setProgress(0),this.emit("pano.texture.abort",createEvent("pano.texture.abort",{error:null,progress:0,meta:null,pano:f.pano})),this.pendingTextureTask.onError(new Error("texture aborted"))}var T=this.models.getMaterial()||{},x=T.pano0,_=T.pano1,w;if((x==null?void 0:x.map.name)===b?w=x:(_==null?void 0:_.map.name)===b&&(w=_),w){var S={panoId:f.panoId,effect:d,leftPanoPicture:{map:w.map,luminanceMap:w.luminanceMap,matrix:new THREE__namespace.Matrix4().compose(f.position,f.quaternion,PANO_TEXTURE_SCALE)},position:f.position.clone(),fixCameraTransform:new THREE__namespace.Matrix4};this.doMoveToPano(f.pano,S,r);return}var M="move-to-pano-"+f.panoId;this.pending.add(M),this.pendingTextureTask={panoId:f.panoId,hash:b,onLoad:function(C){if(o.pending.delete(M),o.destroyed)C.body.dispose();else{C.body.name=b;var I={panoId:f.panoId,effect:d,leftPanoPicture:{map:C.body,luminanceMap:null,matrix:new THREE__namespace.Matrix4().compose(f.position,f.quaternion,PANO_TEXTURE_SCALE)},position:f.position.clone(),fixCameraTransform:new THREE__namespace.Matrix4};o.doMoveToPano(f.pano,I,r)}},onError:function(C){o.pending.delete(M);var I=__assign(__assign(__assign({},f.pano),{mode:o.mode}),clonePose(o.camera.pose));o.emit("pano.error",createEvent("pano.error",{error:C,userAction:o.userAction,options:r,prevPano:o.currentPano,progress:0,state:I})),o.emit("pano.cancel",createEvent("pano.cancel",{error:null,userAction:o.userAction,options:r,prevPano:o.currentPano,progress:0,state:I})),r.moveCancelCallback&&r.moveCancelCallback()}},Promise.all([this.tileLevelForFov&&y&&y.length?this.textureLoader.loadTiledCubeTexture(h,y,{tileMaxLevel:this.TILED_CUBE_TEXTURE_LEVEL,imageURL:{transform:v,options:g},format:THREE__namespace.RGBAFormat,minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.LinearFilter,generateMipmaps:!1,viaAjax:!0,fetcher:getFetcher(f.work)},void 0,void 0,function(C){var I,B;o.emit("pano.texture.progress",createEvent("pano.texture.progress",{error:null,progress:C,meta:null,pano:f.pano})),((I=o.pendingTextureTask)===null||I===void 0?void 0:I.hash)===b&&((B=o.panoMeshes[f.panoId])===null||B===void 0||B.setProgress(C))},this.renderer):this.textureLoader.loadCubeTexture(h,{imageURL:{transform:v,options:g},format:THREE__namespace.RGBAFormat,fetcher:getFetcher(f.work)},void 0,void 0,function(C){var I,B;((I=o.pendingTextureTask)===null||I===void 0?void 0:I.hash)===b&&((B=o.panoMeshes[f.panoId])===null||B===void 0||B.setProgress(C)),o.emit("pano.texture.progress",createEvent("pano.texture.progress",{error:null,progress:C,meta:null,pano:f.pano}))},this.renderer)]).then(function(C){var I,B,F=C[0];((I=o.pendingTextureTask)===null||I===void 0?void 0:I.hash)===b?(o.pendingTextureTask.onLoad(F),(B=o.panoMeshes[f.panoId])===null||B===void 0||B.setProgress(0),delete o.pendingTextureTask,o.emit("pano.texture.success",createEvent("pano.texture.success",{error:null,progress:1,meta:F.meta,pano:f.pano}))):F.body.dispose()}).catch(function(C){var I,B;((I=o.pendingTextureTask)===null||I===void 0?void 0:I.hash)===b&&(o.pendingTextureTask.onError(C),(B=o.panoMeshes[f.panoId])===null||B===void 0||B.setProgress(0),delete o.pendingTextureTask,o.emit("pano.texture.error",createEvent("pano.texture.error",{error:C,progress:0,meta:null,pano:f.pano})),o.emit("error",C))}),this.emit("pano.texture.load",createEvent("pano.texture.load",{error:null,progress:0,meta:null,pano:f.pano}))},t.prototype.doMoveToPano=function(e,r,i){var o=this,s,u,c,l,d,f,m,p,A,v;i===void 0&&(i={});var g=now(),h=createUuid();this.panoResources[h]=r;var y=1,b,E,T;if(this.locationMotion.ended){var x=this.locationMotion.getKeyFrameSegment(g);x[0];var _=x[1],w=this.locationMotion.value,S=this.panoResourceFromLocationMotionKeyframe(_).position,M=r.position;b=Math.max(S.distanceTo(M),y),E=[{key:_.key,progress:0,value:__assign(__assign({},w),{count:0})},{key:h,progress:1,value:{distance:0,count:1}}],T=0}else{var C=this.locationMotion.getKeyFrameSegment(g),I=C[0],_=C[1],w=this.locationMotion.value,B=this.panoResourceFromLocationMotionKeyframe(I).position,S=this.panoResourceFromLocationMotionKeyframe(_).position,M=r.position,F=_.value.count-w.count,L=Math.max(B.distanceTo(S),y)*F,k=Math.max(S.distanceTo(M),y);b=L+k,E=[{key:I.key,progress:0,value:__assign({},w)},{key:_.key,progress:L/b,value:_.value},{key:h,progress:1,value:{count:_.value.count+1,distance:0}}];var O=this.locationMotionKeyframesLength(this.locationMotion.keyframes),D=this.locationMotionKeyframesLength(E);T=this.locationMotion.getProgressVelocity(g)*O/D}var Q=r.effect==="instant"?0:this.calculateMovingDuration(i.duration,r.effect==="fly"?b:0),N={longitude:i.longitude,latitude:i.latitude,fov:i.fov},U=__assign(__assign({},e),{mode:this.mode,longitude:(s=N.longitude)!==null&&s!==void 0?s:this.camera.pose.longitude,latitude:(u=N.latitude)!==null&&u!==void 0?u:this.camera.pose.latitude,fov:(c=N.fov)!==null&&c!==void 0?c:this.camera.pose.fov,offset:r.position.clone(),distance:0}),W=this.currentPano;this.emit("pano.moveTo",createEvent("pano.moveTo",{options:i,prevPano:W,progress:0,state:U,userAction:this.userAction,error:null})),i.moveStartCallback&&i.moveStartCallback(U),this.videoTexture&&this.videoTexture.image instanceof HTMLVideoElement&&this.videoTexture.image.getAttribute("src")&&(this.videoTexture.image.pause(),this.videoTexture.image.removeAttribute("uuid"),this.videoTexture.image.removeAttribute("src"),this.videoTexture.image.oncanplay=noop$1,this.videoTexture.needsUpdate=!0),this.panoVideo.setMaterial(null);var q=coordinatesToVector({longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude}),G=coordinatesToVector({longitude:(l=N.longitude)!==null&&l!==void 0?l:this.cameraMotion.value.longitude,latitude:(d=N.latitude)!==null&&d!==void 0?d:this.cameraMotion.value.latitude}),K=new THREE__namespace.Object3D;K.lookAt(q);var X=new THREE__namespace.Matrix4().makeRotationFromQuaternion(K.quaternion);K.lookAt(G);for(var se=new THREE__namespace.Matrix4().makeRotationFromQuaternion(K.quaternion),Y=new THREE__namespace.Matrix4().getInverse(X).premultiply(se),re=0;re<E.length-1;re++){var ee=E[re].key;if(ee){var oe=this.panoResources[ee];oe&&oe.fixCameraTransform.copy(Y)}}r.effect==="fly"?this.cameraMotion.set(N,Q).catch(noop$1):this.cameraMotion.setKeyframes([{progress:0,value:{longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude,fov:this.cameraMotion.value.fov}},{progress:0,value:{longitude:(f=N.longitude)!==null&&f!==void 0?f:this.cameraMotion.value.longitude,latitude:(m=N.latitude)!==null&&m!==void 0?m:this.cameraMotion.value.latitude,fov:this.cameraMotion.value.fov}},{progress:1,value:{longitude:(p=N.longitude)!==null&&p!==void 0?p:this.cameraMotion.value.longitude,latitude:(A=N.latitude)!==null&&A!==void 0?A:this.cameraMotion.value.latitude,fov:(v=N.fov)!==null&&v!==void 0?v:this.cameraMotion.value.fov}}],Q).catch(noop$1);var $=this.locationMotion.setKeyframes(E,Q,T);$.then(function(){var ie,ne,ae,Z=__assign(__assign({},e),{mode:o.mode,longitude:o.camera.pose.longitude,latitude:o.camera.pose.latitude,fov:o.camera.pose.fov,offset:o.camera.pose.offset.clone(),distance:0});o.emit("pano.arrived",createEvent("pano.arrived",{options:i,prevPano:W,progress:1,state:Z,userAction:o.userAction,error:null})),i.moveEndCallback&&i.moveEndCallback(Z);var J=o.works.getResolvedObserver(o.currentPano);if(J&&J.video&&o.videoTexture&&o.videoTexture.image instanceof HTMLVideoElement){var z=ROTATE_Y_PI_MATRIX.clone().multiply((ae=(ne=(ie=o.models.getMaterial())===null||ie===void 0?void 0:ie.pano1)===null||ne===void 0?void 0:ne.matrix)!==null&&ae!==void 0?ae:new THREE__namespace.Matrix4).multiply(J.video.matrix),ge={map:o.videoTexture,size:J.video.size,matrix:z,alpha:1},fe=createUuid(),ce=o.videoTexture.image;ce.setAttribute("uuid",fe),canplayVideo().then(function(Ae){Ae&&J.video&&ce.getAttribute("uuid")===fe&&(ce.oncanplay=function(){ce.oncanplay=noop$1,ce.play()},ce.ontimeupdate=function(){ce.currentTime>.5&&(ce.ontimeupdate=noop$1,o.panoVideo.setMaterial(ge))},ce.src=J.video.source)}).catch(function(){ce.removeAttribute("uuid")})}},function(){o.emit("pano.cancel",createEvent("pano.cancel",{options:i,prevPano:W,progress:0,state:U,userAction:o.userAction,error:null})),i.moveCancelCallback&&i.moveCancelCallback()})},t.prototype.checkSelectedPano=function(e){var r=this,i,o,s,u;this.stopMomentumMovement();var c=this.camera.getDirection(new THREE__namespace.Vector3).setY(0),l=null,d=this.works.getResolvedObserver(this.currentPano);if(!d)return null;var f=d.accessibleIds.filter(function(G){var K=panoParse(G);if(panoEqual(K,r.currentPano))return!1;var X=r.works.getResolvedObserver(K);return!X||X.position.distanceTo(r.camera.position)>r.maxAccessibleDistance?!1:X.loadable||X.active}),m=this.models.intersectRaycaster(e)[0];if(m){var p=arrayMin(f,function(G){var K=r.works.getResolvedObserver(G);if(!K)return 1/0;var X=K.standingPosition.clone();return X.distanceTo(m.point)},!0),A=p[0],v=p[1];A&&v<this.panoTapTriggerRadius&&(l=(i=this.works.getResolvedObserver(A))!==null&&i!==void 0?i:null)}if(isNil(l)){var g=this.getForwardObserverOrNot(e);g&&(l=g)}for(var h=0,y=this.locationMotion.keyframes;h<y.length;h++){var b=y[h],E=this.panoResourceFromLocationMotionKeyframe(b);if(!(b.progress<this.locationMotion.progress)&&l&&E.panoId===l.panoId){l=null;break}}if(isNil(l))return this.locationMotion.ended===!0&&this.cameraBounce(),null;if(l&&!l.active){var T=l.panoId;this.panoMeshes[T]&&(this.panoMeshes[T].setDisabled(!1),this.panoMeshes[T].setLoading(!0))}var x={};if(l){for(var _=Math.PI/6,w=Math.PI/12,S=new THREE__namespace.Vector3(0,1,0),M=l.position.clone().setY(0).sub(d.position.clone().setY(0)).normalize(),C=M.clone().applyAxisAngle(S,_),I=M.clone().applyAxisAngle(S,-_),B=[],F=[],L=[],k=0,O=l.accessibleIds;k<O.length;k++){var A=O[k],D=panoParse(A);if(!(panoEqual(D,this.currentPano)||panoEqual(D,l.pano))){var Q=this.works.getResolvedObserver(A);if(Q){var N=Q.position.clone().sub(l.position).setY(0);M.angleTo(N)<_?L.push(N):C.angleTo(N)<_?B.push(N):I.angleTo(N)<_&&F.push(N)}}}var U=L.length>0?L:__spreadArray(__spreadArray([],B,!0),F,!0),W=U.slice().sort(function(G,K){return G.angleTo(M)-K.angleTo(M)})[0];W&&W.angleTo(c)>w&&(x.longitude=Math.atan2(-W.x,-W.z))}this.cameraMotion.value.latitude<-Math.PI/4&&(x.latitude=clamp(0,this.minLatitude,this.maxLatitude)),this.cameraMotion.value.fov<60&&(x.fov=this.defaultFov);var q={workCode:l.pano.workCode,panoIndex:l.pano.panoIndex,mode:this.mode,longitude:(o=x.longitude)!==null&&o!==void 0?o:this.camera.pose.longitude,latitude:(s=x.latitude)!==null&&s!==void 0?s:this.camera.pose.latitude,fov:(u=x.fov)!==null&&u!==void 0?u:this.camera.pose.fov,distance:0,offset:l?l.position.clone():new THREE__namespace.Vector3};return this.emit("pano.select",createEvent("pano.select",{prevPano:this.currentPano,state:q,userAction:!0,options:x,progress:0,error:null})),l&&l.active?(this.emit("pano.request",createEvent("pano.request",{userAction:!0,prevPano:this.currentPano,progress:0,state:q,options:x,error:null})),l.pano):null},t.prototype.destroy=function(){n.prototype.destroy.call(this)},t.prototype.isReady=function(){return!1},t.prototype.updateCamera=function(e,r,i){return Promise.resolve()},t.prototype.updateCameraWithKeyframes=function(e,r,i){return Promise.resolve()},t.prototype.updateTime=function(e,r){for(var i=this,o,s,u,c,l,d,f,m,p=[],A=2;A<arguments.length;A++)p[A-2]=arguments[A];this.userAction=!0;var v={},g={},h=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),y=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),b=!1;if(this.cameraMotion.ended===!1&&(this.cameraMotion.update(e),g.longitude=this.cameraMotion.value.longitude,g.latitude=this.cameraMotion.value.latitude,g.fov=this.cameraMotion.value.fov),this.modelAlphaMotion.ended===!1&&(this.modelAlphaMotion.update(e),v.modelAlpha=this.modelAlphaMotion.value.modelAlpha),this.perspToOrthoMotion.ended===!1&&(this.perspToOrthoMotion.update(e),this.camera.perspToOrtho.setScalar(clamp(this.perspToOrthoMotion.value.perspToOrtho,0,1))),this.locationMotion.ended===!1){this.locationMotion.update(e);var E=this.locationMotion.getKeyFrameSegment(e),T=E[0],x=E[1],_=this.panoResourceFromLocationMotionKeyframe(T),w=this.panoResourceFromLocationMotionKeyframe(x),S=new THREE__namespace.Vector3().copy(_.position),M=new THREE__namespace.Vector3().copy(w.position),C=this.locationMotion.value.count-x.value.count+1;v.progress=C,w.leftPanoPicture&&(C<1?_.leftPanoPicture&&(v.pano0=_.leftPanoPicture):v.pano0=w.leftPanoPicture,v.pano1=w.leftPanoPicture),w.effect==="montage"?v.transition="BLACK":w.effect==="spread"?v.transition="SPREAD":v.transition="FADE",C<1&&w.effect!=="fly"&&(v.pano0&&_.leftPanoPicture&&(v.pano0={map:v.pano0.map,luminanceMap:v.pano0.luminanceMap,matrix:_.leftPanoPicture.matrix.clone().setPosition(w.position)}),S.copy(M),b=!0),g.distance=this.locationMotion.value.distance,g.offset=new THREE__namespace.Vector3(S.x+(M.x-S.x)*C,S.y+(M.y-S.y)*C,S.z+(M.z-S.z)*C);for(var I=[],B=[],F=0,L=this.locationMotion.keyframes;F<L.length;F++){var k=L[F],O=k.key,D=k.progress;O!==void 0&&(I.push(O),D>this.locationMotion.progress&&B.push(O))}for(var Q=0,N=Object.keys(this.panoResources);Q<N.length;Q++){var U=N[Q];if(!(B.indexOf(U)>=0)){var W=this.panoResources[U];if(W.leftPanoPicture){var q=W.leftPanoPicture.map;if(q){if(q===((o=v.pano0)===null||o===void 0?void 0:o.map)||q===((s=v.pano1)===null||s===void 0?void 0:s.map))continue;q instanceof TileCubeTextureTarget&&q.cubeRenderTarget&&this.colorCubeRenderTargetPool.push(q.cubeRenderTarget),q.dispose(),W.leftPanoPicture=null}}I.indexOf(U)>=0||delete this.panoResources[U]}}this.currentPano=panoParse(w.panoId),this.emit("pano.moving",createEvent("pano.moving",{userAction:this.userAction,prevPano:panoParse(h.panoId),state:__assign(__assign(__assign(__assign({},panoParse(y.panoId)),{mode:this.mode}),clonePose(this.camera.pose)),g),options:{},progress:this.locationMotion.progress,error:null}))}isEmptyObject(v)===!1&&(!((u=v.pano0)===null||u===void 0)&&u.map&&v.pano0.map instanceof TileCubeTextureTarget&&!v.pano0.map.cubeRenderTarget&&(v.pano0.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),!((c=v.pano1)===null||c===void 0)&&c.map&&v.pano1.map instanceof TileCubeTextureTarget&&!v.pano1.map.cubeRenderTarget&&(v.pano1.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),this.models.setMaterial(v)),isEmptyObject(g)===!1&&this.setCamera(g);var G=this.works.getResolvedObserver(this.currentPano),K=p[1];if(!K){console.error("xrFrame丢失,请重试");return}if(!this.xrManager.session){console.error("session丢失,请重试");return}var X=this.xrManager.referenceSpace;if(X){var se=this.xrManager.cameraVR,Y=this.xrManager.cameraL,re=this.xrManager.cameraR,ee=[Y,re],oe=K.getViewerPose(X),$=new THREE__namespace.Vector3(0,0,0);if(oe){var ie;ie=this.xrManager.session.renderState.baseLayer;var ne=oe.views;if(!ie){console.error("no layer found");return}this.renderer.setFramebuffer(ie.framebuffer);var ae=!1;ne.length!==se.cameras.length&&(se.cameras.length=0,ae=!0),this.parallaxCameraMatrixs=[];var Z=new THREE__namespace.Vector3,J=new THREE__namespace.Vector3;new THREE__namespace.Matrix4().fromArray(ne[0].transform.matrix).decompose(Z,new THREE__namespace.Quaternion,new THREE__namespace.Vector3),new THREE__namespace.Matrix4().fromArray(ne[1].transform.matrix).decompose(J,new THREE__namespace.Quaternion,new THREE__namespace.Vector3),J.clone().sub(Z).normalize();var z=new THREE__namespace.Vector3,ge=new THREE__namespace.Quaternion,fe=new THREE__namespace.Vector3;this.camera.matrix.decompose(z,ge,fe);for(var ce=0;ce<ne.length;ce++){var Ae=ne[ce],ye=ie.getViewport(Ae),Ee=ee[ce];Ee.matrix.fromArray(Ae.transform.matrix);var we=new THREE__namespace.Vector3,ue=new THREE__namespace.Quaternion,le=new THREE__namespace.Vector3;Ee.matrix.decompose(we,ue,le),$.copy(z),Ee.position.copy(z),Ee.quaternion.copy(ue),Ee.scale.copy(le),Ee.updateMatrix(),Ee.projectionMatrix.fromArray(Ae.projectionMatrix),Ee.viewport.set(ye.x,ye.y,ye.width,ye.height),ae===!0&&se.cameras.push(Ee)}oe.views[0].transform.position,oe.views[1].transform.position;for(var pe=this.xrManager.session.inputSources,ce=0;ce<this.xrManager.controllers.length;ce++){var Te=this.xrManager.controllers[ce],de=pe[ce];if(de){Te.update(de,K,X);var be=this.xrManager.getController(ce),me=new THREE__namespace.Vector3(0,1.2,0),_e=be.position.clone().add($).sub(me);de.handedness==="left"?this.xrControllerRay.left.set(_e,new THREE__namespace.Vector3(0,0,-1).applyEuler(be.rotation)):de.handedness==="right"&&this.xrControllerRay.right.set(_e,new THREE__namespace.Vector3(0,0,-1).applyEuler(be.rotation)),this.controllerWrappers[ce].position.copy(new THREE__namespace.Vector3(0,0,0).add($).sub(me));var Be=this.models.intersectRaycaster(this.xrControllerRay.right);if(Be.length===0&&(Be=this.xrControllerRay.right.intersectObject(this.boundingMesh,!0).map(function(Le){var Oe;return __assign({floor:(Oe=G==null?void 0:G.floorIndex)!==null&&Oe!==void 0?Oe:0},Le)})),Be.length>=1&&Be[0].face)if(de.handedness==="right"){var Ie=this.xrControllerRay.right.intersectObject(this.xrCustomObjectsScene,!0),Ge=Be[0].face.normal,qe=Ge.clone().multiplyScalar(.05),Re=Be[0].point.clone().add(qe);this.intersectMesh.position.copy(Re);var $e=Re.clone().add(qe);if(this.intersectMesh.lookAt($e),Math.abs(Ge.y)>.99){var ze=this.camera.position.clone().sub(Re);this.intersectMesh.rotation.z=-Math.atan2(ze.z,ze.x)}this.intersectMesh.visible=!0,this.needsRender=!0,Ie.length>0?(this.pointerLines.right.setPoints(_e,Ie[0].point),this.pointerLines.right.points.visible=!0,this.intersectMesh.visible=!1):(this.pointerLines.right.points.visible=!1,this.pointerLines.right.setPoints(_e,Be[0].point));var Ve=Be[0],Ue=createEvent("intersect.update",{raycaster:(l=this.xrControllerRay.right)!==null&&l!==void 0?l:null,intersection:Ve!=null?Ve:null,object:this.intersectMesh});if(this.emit("intersect.update",Ue),Ue.defaultPrevented){this.hideIntersectMesh();return}}else this.pointerLines.left.setPoints(_e,Be[0].point)}}if(this.camera.pose.distance>.1||b)for(var Ke=0,je=Object.keys(this.panoMeshes);Ke<je.length;Ke++){var He=je[Ke],ve=this.panoMeshes[He];ve.setOpacity(0),ve.setCurrent(!1),ve.updateTime&&ve.updateTime(e,r),ve.visible=!1}else if(G){var et=arrayMin(G.visibleIds,function(Pe){var Le=i.works.getResolvedObserver(Pe);return Le?G.standingPosition.distanceTo(Le.standingPosition):1/0},!0),Xe=et[1];Xe=clamp(Xe,2.5,1/0);for(var ht=G.visibleIds.concat(panoStringify(this.currentPano)),tt=this.getForwardObserverOrNot(),pt=this.camera.getDirection(new THREE__namespace.Vector3),ot=0,Ze=Object.keys(this.panoMeshes);ot<Ze.length;ot++){var He=Ze[ot],ve=this.panoMeshes[He],Se=this.works.getResolvedObserver(He);if(ht.indexOf(He)===-1)ve.setCurrent(!1),ve.setOpacity(0);else if(!Se)ve.setCurrent(!1),ve.setOpacity(0);else if(!Se.loadable&&!Se.active)ve.setCurrent(!1),ve.setOpacity(0);else{var Me=ve.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);ve.setCurrent(!ve.loading&&ve.progress===0&&tt!==null&&tt.panoId===He),ve.setOpacity(Me<.01?0:clamp(Xe/Me*1.2,.65,.98));var De=this.camera.position.clone().setY(ve.position.y),rt=new THREE__namespace.Vector3().copy(ve.position).sub(De).normalize();if(He===panoStringify(this.currentPano)){var vt=clamp((.5-De.distanceTo(ve.position))/.5,0,1);rt.multiplyScalar(1-vt).add(pt.clone().multiplyScalar(vt))}rt.length()>0&&ve.quaternion.setFromEuler(new THREE__namespace.Euler(0,Math.atan2(rt.x,rt.z),0))}ve.updateTime&&ve.updateTime(e,r)}}var ct=function(){if(i.tileLevelForFov===!1)return 0;var Pe=new THREE__namespace.Vector2(4e3,4e3),Le=y.panoId,Oe=i.works.getResolvedObserver(Le),ke=i.imageOptions.size;if(typeof ke=="undefined"&&Oe){var yt=Oe.images.up.match(/\/cube_(\d+)\//);yt&&(ke=Number(yt[1]))}typeof ke=="undefined"&&(ke=2048);var ut=0;ke>=1024&&(ut=1),ke>=2048&&(ut=2),ke>=4096&&(ut=3),ke>=8192&&(ut=4);var lt=i.tileLevelForFov(Y.fov,Pe);return lt>ut?lt:0}(),mt=function(){var Pe=new THREE__namespace.PerspectiveCamera;Pe.applyMatrix4(se.matrix),Pe.position.set(0,0,0);var Le=i.works.getResolvedObserver(y.panoId),Oe=Le!=null?Le:G;Oe&&Pe.quaternion.premultiply(Oe.quaternion.clone().inverse()),Pe.updateProjectionMatrix(),Pe.updateMatrixWorld(!0);var ke=new THREE__namespace.Frustum().setFromProjectionMatrix(new THREE__namespace.Matrix4().multiplyMatrices(Pe.projectionMatrix,Pe.matrixWorldInverse));return ke}();y.panoId===panoStringify(this.currentPano)&&((d=y.leftPanoPicture)===null||d===void 0?void 0:d.map)instanceof TileCubeTextureTarget&&(y.leftPanoPicture.map.update(mt,ct),y.leftPanoPicture.map.needsRender===!0&&(this.needsRender=!0));{var gt=this.tiling.object.visible;if(ct>this.TILED_CUBE_TEXTURE_LEVEL&&this.initAnimationed){var st=y.panoId,Fe=this.works.getResolvedObserver(st);Fe?isSimilarVector3(this.camera.position,Fe.position)&&this.locationMotion.ended?(this.tiling.object.visible=!0,this.tiling.panoId!==st&&this.tiling.cleanup(),this.tiling.panoId=st,this.tiling.setResource((m=(f=Fe.images)===null||f===void 0?void 0:f.tiles)!==null&&m!==void 0?m:[],this.enableIOSEDR&&Fe.images.luminance?Fe.images.luminance:null),this.tiling.setFetcher(getFetcher(Fe.work)),this.tiling.setRotation(Fe.quaternion),this.tiling.setPosition(Fe.position),this.tiling.update(mt,ct,e)):this.tiling.object.visible=!1:this.tiling.object.visible=!1}else this.tiling.object.visible=!1;gt!==this.tiling.object.visible&&(this.tiling.object.needsRender=!0)}this.panoVideo.object.position.copy(this.camera.position),this.panoVideo.updateTime(e),!(!pe||pe.length<1)&&this.updateControllerHelper(pe,e,r)}}},t.prototype.render=function(){var e=this.xrManager.getCamera(this.camera);this.renderer.render(this.scene,e)},t.prototype.onPanGesture=function(){},t.prototype.onTapGesture=function(){},t.prototype.onPinchGesture=function(){},t.prototype.onMouseMove=function(){},t.prototype.onMouseOut=function(){},t.prototype.panoResourceFromLocationMotionKeyframe=function(e){return this.panoResources[e.key]},t.prototype.updateControllerHelper=function(e,r,i){var o=this.xrControllerRay.left,s=this.xrControllerRay.right;if(!(!e||e.length===0)){for(var u={buttons:{X:!1,Y:!1,LeftTrigger:!1,LeftPinch:!1,A:!1,B:!1,RightTrigger:!1,RightPinch:!1}},c=0;c<e.length;c++){var l=e[c].handedness,d=e[c].gamepad;switch(l){case"left":d.axes&&(this.emitEvent(d.axes[2]===-1,"LeftAxesLeft",r),this.emitEvent(d.axes[2]===1,"LeftAxesRight",r),this.emitEvent(d.axes[3]===-1,"LeftAxesUp",r),this.emitEvent(d.axes[3]===1,"LeftAxesDown",r)),d!=null&&d.buttons&&(d.buttons[4]&&this.emitEvent(d.buttons[4].pressed,"X",r),d.buttons[5]&&this.emitEvent(d.buttons[5].pressed,"Y",r),d.buttons[0]&&this.emitEvent(d.buttons[0].pressed,"LeftTrigger",r),d.buttons[1]&&this.emitEvent(d.buttons[1].pressed,"LeftPinch",r));var f={raycaster:o,axes:{up:d.axes&&d.axes[3]<0?Math.abs(d.axes[3]):0,down:d.axes&&d.axes[3]<0?0:Math.abs(d.axes[3]),left:d.axes&&d.axes[2]<0?Math.abs(d.axes[2]):0,right:d.axes&&d.axes[2]<0?0:Math.abs(d.axes[2])},deltaTime:i};u.buttons.X=d.buttons&&d.buttons[4]?d.buttons[4].pressed:!1,u.buttons.Y=d.buttons&&d.buttons[5]?d==null?void 0:d.buttons[5].pressed:!1,u.buttons.LeftTrigger=d.buttons&&d.buttons[0]?d==null?void 0:d.buttons[0].pressed:!1,u.buttons.LeftPinch=d.buttons&&d.buttons[1]?d==null?void 0:d.buttons[1].pressed:!1,u.left=f;break;case"right":d.axes&&(this.emitEvent(d.axes[2]===-1,"RightAxesLeft",r),this.emitEvent(d.axes[2]===1,"RightAxesRight",r),this.emitEvent(d.axes[3]===-1,"RightAxesUp",r),this.emitEvent(d.axes[3]===1,"RightAxesDown",r)),d.buttons&&(d.buttons[4]&&this.emitEvent(d.buttons[4].pressed,"A",r),d.buttons[5]&&this.emitEvent(d.buttons[5].pressed,"B",r),d.buttons[0]&&this.emitEvent(d.buttons[0].pressed,"RightTrigger",r),d.buttons[1]&&this.emitEvent(d.buttons[1].pressed,"RightPinch",r));var m={raycaster:s,axes:{up:d.axes&&d.axes[3]<0?Math.abs(d.axes[3]):0,down:d.axes&&d.axes[3]<0?0:Math.abs(d.axes[3]),left:d.axes&&d.axes[2]<0?Math.abs(d.axes[2]):0,right:d.axes&&d.axes[2]<0?0:Math.abs(d.axes[2])},deltaTime:i};u.right=m,u.buttons.A=d.buttons&&d.buttons[4]?d==null?void 0:d.buttons[4].pressed:!1,u.buttons.B=d.buttons&&d.buttons[5]?d==null?void 0:d.buttons[5].pressed:!1,u.buttons.RightTrigger=d.buttons&&d.buttons[0]?d==null?void 0:d.buttons[0].pressed:!1,u.buttons.RightPinch=d.buttons&&d.buttons[1]?d==null?void 0:d.buttons[1].pressed:!1;break}}this.emit("xr.controller.update",createEvent("xr.controller.update",u))}},t.prototype.emitEvent=function(e,r,i){var o=this.xrControllerRay.left,s=this.xrControllerRay.right;if(e)if(this.xrControllerState[r].touchStart===!1)this.xrControllerState[r].touchStartTime=i,this.xrControllerState[r].touchStart=!0,this.emit("xr.gesture.buttonDown",createEvent("xr.gesture.buttonDown",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!1,isFirst:!0,controllers:{raycaster:{leftRay:o,rightRay:s}}}));else{var u=i-this.xrControllerState[r].touchStartTime;u>CONTROLLER_EVNET_DELTA_TIME&&this.emit("xr.gesture.press",createEvent("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!0,controllers:{raycaster:{leftRay:o,rightRay:s}}}))}else if(this.xrControllerState[r].touchStart===!0){this.emit("xr.gesture.buttonUp",createEvent("xr.gesture.buttonUp",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:o,rightRay:s}}}));var u=i-this.xrControllerState[r].touchStartTime;if(u<=CONTROLLER_EVNET_DELTA_TIME){var c=this.emit("xr.gesture.tap",createEvent("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:o,rightRay:s}}}));c||r==="RightTrigger"&&this.checkSelectedPano(this.xrControllerRay.right)}this.xrControllerState[r].touchStart=!1,this.xrControllerState[r].touchStartTime=0}},t}(PanoramaController),Controllers={Floorplan:FloorplanController,Topview:TopviewController,Panorama:PanoramaController,VRPanorama:VRPanoramaController,Model:ModelController,Mapview:MapviewController,XRPanorama:XRPanoramaController},PROXY_CONTROLLER_EVENT_NAMES=["gesture.pan","gesture.tap","gesture.press","gesture.pinch","gesture.mousewheel","gesture.mousemove","gesture.momentum","initAnimation.start","initAnimation.end","camera.update","intersect.update","pano.select","pano.moveTo","pano.moving","pano.arrived","pano.cancel","pano.error","pano.texture.load","pano.texture.progress","pano.texture.success","pano.texture.error","pano.texture.abort","xr.session.start","xr.session.end","xr.gesture.tap","xr.gesture.press","xr.gesture.buttonUp","xr.gesture.buttonDown","xr.controller.update"];function initLegacyEvent(n){n.on("initAnimation.start",function(t){n.emit("initAnimationWillStart",t.state.panoIndex,t.state,t.userAction)}),n.on("initAnimation.end",function(t){n.emit("initAnimationEnded",t.state.panoIndex,t.state,t.userAction)}),n.on("gesture.pan",function(t){var e=!1;e=n.emit("wantsGesture","pan",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPanGesture",t.state,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","pan",t.pointers,t.isFinal),n.emit("panGesture",t.state,t.isFinal))}),n.on("gesture.tap",function(t){var e=!1;e=n.emit("wantsGesture","tap",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsTapGesture",t.center.raycaster,t.center.coords,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","tap",t.pointers,t.isFinal),n.emit("tapGesture",t.center.raycaster,t.center.coords,t.isFinal))}),n.on("gesture.press",function(t){var e=!1;e=n.emit("wantsGesture","press",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPressGesture",t.center.raycaster,t.center.coords,t.center.delta,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","press",t.pointers,t.isFinal),n.emit("pressGesture",t.center.raycaster,t.center.coords,t.center.delta,t.isFinal))}),n.on("gesture.pinch",function(t){var e=!1;e=n.emit("wantsGesture","pinch",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPinchGesture",t.scale,t.state.fov,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","pinch",t.pointers,t.isFinal),n.emit("pinchGesture",t.scale,t.state.fov,t.isFinal))}),n.on("gesture.mousewheel",function(t){var e=!1;e=n.emit("wantsGesture","mouseWheel",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsMouseWheel",t.center.delta,t.state.fov,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","mouseWheel",t.pointers,t.isFinal),n.emit("mouseWheel",t.center.delta,t.state.fov,t.isFinal))}),n.on("gesture.mousemove",function(t){var e=!1;e=n.emit("wantsGesture","mouseMove",t.pointers,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","mouseMove",t.pointers,t.isFinal),e=n.emit("wantsChangeCameraFov",t.state.fov),e&&t.preventDefault())}),n.on("gesture.momentum",function(t){var e=!1;e=n.emit("wantsInteriaPan",t.state),e&&t.preventDefault(),t.defaultPrevented||n.emit("interiaPan",t.state,t.isFinal)}),n.on("camera.update",function(t){n.emit("cameraFovUpdate",t.state.fov,t.userAction),n.emit("cameraDirectionUpdate",t.state,t.userAction);var e=coordinatesToVector(t.state);e.setLength(t.state.distance);var r=t.state.offset.clone().sub(e);n.emit("cameraPositionUpdate",r,t.userAction),n.emit("cameraUpdate",t.state,t.userAction)}),n.on("intersect.update",function(t){if(t.intersection){var e=!1;e=n.emit("wantsShowIntersectionOnModel",t.raycaster),e&&t.preventDefault(),t.defaultPrevented||n.emit("intersectionOnModelUpdate",t.intersection,t.object)}else n.emit("intersectionHidden")}),n.on("pano.request",function(t){var e=n.emit("wantsMoveToPano",t.state.panoIndex,t.options,t.userAction);e||(e=n.emit("wantsToMoveToPano",t.state.panoIndex,t.options,t.userAction)),e&&t.preventDefault(),t.defaultPrevented||n.emit("panoWillLoad",t.state.panoIndex)}),n.on("pano.select",function(t){n.emit("panoSelected",t.state.panoIndex)}),n.on("pano.moveTo",function(t){n.emit("panoLoaded",t.state.panoIndex),n.emit("moveToPano",t.state.panoIndex,t.userAction),n.emit("panoWillArrive",t.state.panoIndex,t.state,t.userAction)}),n.on("pano.moving",function(t){n.emit("movingToPano",t.state.panoIndex,t.prevPano.panoIndex,t.progress)}),n.on("pano.arrived",function(t){n.emit("panoArrived",t.state.panoIndex,t.state,t.userAction)}),n.on("pano.cancel",function(t){n.emit("moveToPanoCanceled",t.state.panoIndex)}),n.on("pano.error",function(t){n.emit("panoLoadError",t.error,t.state.panoIndex)}),n.on("pano.texture.load",function(t){n.emit("textureStartLoad",t.pano.panoIndex)}),n.on("pano.texture.success",function(t){n.emit("textureLoaded",t.pano.panoIndex,t.meta)}),n.on("pano.texture.error",function(t){n.emit("textureError",t.error,t.pano.panoIndex)}),n.on("pano.texture.abort",function(t){n.emit("textureAbort",t.pano.panoIndex)}),n.on("pano.texture.progress",function(t){n.emit("textureLoading",t.progress,t.pano.panoIndex)}),n.on("xr.session.start",function(t){n.emit("webXRSessionStart")}),n.on("xr.session.end",function(t){n.emit("webXRSessionEnd")}),n.on("xr.gesture.tap",function(t){n.emit("webXRControllerEvent","tap",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.press",function(t){n.emit("webXRControllerEvent","press",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.buttonUp",function(t){n.emit("webXRControllerEvent","buttonUp",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.buttonDown",function(t){n.emit("webXRControllerEvent","buttonDown",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.controller.update",function(t){n.emit("webXRControllerRayUpdate",{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0}),t.left&&n.emit("webXRAxesUpdate","left",{raycaster:{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0},axesState:{up:t.left.axes.up,down:t.left.axes.down,left:t.left.axes.left,right:t.left.axes.right},deltaTime:t.left.deltaTime}),t.right&&n.emit("webXRAxesUpdate","right",{raycaster:{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0},axesState:{up:t.right.axes.up,down:t.right.axes.down,left:t.right.axes.left,right:t.right.axes.right},deltaTime:t.right.deltaTime})}),n.on("works.request",function(t){n.emit("willLoad",t.input,t.works[0],t.state)}),n.on("works.load",function(t){n.emit("load",t.input,t.works[0],t.state)}),n.on("works.ready",function(t){n.emit("loaded",t.input,t.works[0])}),n.on("state.change",function(t){n.emit("stateChange",t.state,t.userAction)}),n.on("currentState.change",function(t){n.emit("currentStateChange",t.state,t.userAction)}),n.on("state.set",function(t){n.emit("setState",t.state)}),n.on("state.synced",function(t){n.emit("stateSynced",t.state)}),n.on("model.request",function(t){n.emit("modelWillLoad",t.work.model)}),n.on("model.error",function(t){n.emit("modelLoadError",t.error,t.model)}),n.on("model.load",function(t){n.emit("modelLoaded",t.model)}),n.on("model.changeShownFloor",function(t){n.emit("modelShownFloorChange",t.model.shownFloor,t.model.floorLength)}),n.on("render",function(t){n.emit("renderFrame",t.needsRender)}),n.on("mode.change.request",function(t){n.emit("wantsChangeMode",t.mode,t.prevMode)}),n.on("mode.change",function(t){n.emit("modeChange",t.mode,t.prevMode,t.state.panoIndex,t.state,t.userAction)}),n.on("helpers.visible",function(t){n.emit("helpersVisibleChange",t.object.visible)}),n.on("network.resource",function(t){n.emit("network",t.source,t.requestType,t.requestState,t.detail)})}function generateDefaultVideoElement(){if(typeof window!="undefined"){var n=document.createElement("video");n.loop=!0,n.autoplay=!0,n.playsInline=!0,n.muted=!0,n.crossOrigin="";var t=function(){document.removeEventListener("touchstart",t,!1),document.removeEventListener("mousedown",t,!1),n.muted=!1};return document.addEventListener("touchstart",t,!1),document.addEventListener("mousedown",t,!1),n}else return{}}function initLights(n){{var t=new THREE__namespace.DirectionalLight(16777215,.5);t.position.copy(new THREE__namespace.Vector3(1,1,1)),n.add(t)}{var t=new THREE__namespace.DirectionalLight(16777215,.3);n.add(t)}{var t=new THREE__namespace.AmbientLight(16777215,.3);n.add(t)}}function parseKeyValue(n){for(var t,e,r={},i=n.split(/(\;|\,)/),o=0,s=i;o<s.length;o++){var u=s[o],c=u.split("="),l=(t=c[0])===null||t===void 0?void 0:t.trim(),d=(e=c[1])===null||e===void 0?void 0:e.trim();l&&d&&(r[l]=d)}return r}function getViewportScale(){var n;if(typeof document!="undefined")for(var t=document.getElementsByTagName("meta"),e=0;e<t.length;e++){var r=t[e];if(r.getAttribute("name")==="viewport"){var i=parseKeyValue((n=r.getAttribute("content"))!==null&&n!==void 0?n:""),o=Number(i["initial-scale"]);if(!isNaN(o))return o}}return 1}const textureURL="data:image/png;base64,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";var imageSize=[351,63],imageOffset=[20,20],vertices=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),uvs=new Float32Array([0,0,1,0,0,1,1,1]),index=new Uint8Array([0,1,2,1,3,2]),geometry=new THREE__namespace.BufferGeometry;geometry.setAttribute("position",new THREE__namespace.BufferAttribute(vertices,3)),geometry.setAttribute("uv",new THREE__namespace.BufferAttribute(uvs,2)),geometry.setIndex(new THREE__namespace.BufferAttribute(index,1));var material=new THREE__namespace.MeshBasicMaterial({transparent:!0,depthTest:!1,depthWrite:!1,stencilWrite:!1,fog:!1}),mesh=new THREE__namespace.Mesh(geometry,material);mesh.matrixAutoUpdate=!1;var scene=new THREE__namespace.Scene;scene.add(mesh),scene.matrixAutoUpdate=!1;var camera=new THREE__namespace.OrthographicCamera(-.5,.5,.5,-.5,.1,1);camera.position.set(0,0,.5),camera.lookAt(0,0,0),camera.updateMatrixWorld(!0),camera.matrixAutoUpdate=!1;var prevViewport=new THREE__namespace.Vector4,prevScissor=new THREE__namespace.Vector4;function renderPoweredByRealsee(n){if(material.map){var r=n.getViewport(prevViewport),i=n.getScissor(prevScissor),o=n.getScissorTest(),s=n.autoClear,u=i.x+imageOffset[0]/3,c=i.y+imageOffset[1]/3,l=imageSize[0]/3,d=imageSize[1]/3;n.setViewport(u,c,l,d),n.setScissor(u,c,l,d),n.setScissorTest(!0),n.autoClear=!1,n.render(scene,camera),n.setViewport(r),n.setScissor(i),n.setScissorTest(o),n.autoClear=s}else{var t=new THREE__namespace.Texture,e=new Image;e.onload=function(){t.image=e,t.wrapS=THREE__namespace.ClampToEdgeWrapping,t.wrapT=THREE__namespace.ClampToEdgeWrapping,t.minFilter=THREE__namespace.LinearFilter,t.needsUpdate=!0,t.generateMipmaps=!1,material.needsUpdate=!0,e.onload=noop$1},e.src=textureURL,material.map=t}}var DEFAULT_MODE_CHANGE_DURATION=800,DEFAULT_REQUEST_PROXY=function(n){return n.replace("//vrlab-public.ljcdn.com/","//vr-public.realsee-cdn.cn/").replace("//vrlab-image4.ljcdn.com/","//vr-image-4.realsee-cdn.cn/").replace("//vrlab-image3.ljcdn.com/","//vr-image-3.realsee-cdn.cn/").replace("//vrlab-image2.ljcdn.com/","//vr-image-2.realsee-cdn.cn/").replace("//vrlab-image1.ljcdn.com/","//vr-image-1.realsee-cdn.cn/")},BUILTIN_COORDINATESSYSTEMTRANSFORMERS=[{name:"Z",transformToUpAxisZ:function(){return new THREE__namespace.Matrix4}},{name:"Y",transformToUpAxisZ:function(){return new THREE__namespace.Matrix4().makeRotationAxis(new THREE__namespace.Vector3(1,0,0),+Math.PI/2)}},{name:"-Y",transformToUpAxisZ:function(){return new THREE__namespace.Matrix4().makeRotationAxis(new THREE__namespace.Vector3(1,0,0),-Math.PI/2)}},{name:"WGS84",transformToEarthCentered:function(){return new THREE__namespace.Matrix4}},{name:"GCJ02",transformToEarthCentered:function(){return new THREE__namespace.Matrix4}},{name:"BD09",transformToEarthCentered:function(){return new THREE__namespace.Matrix4}}],sharedVector2=new THREE__namespace.Vector2,sharedFrustum=new THREE__namespace.Frustum,sharedProjScreenMatrix=new THREE__namespace.Matrix4,clockForMixer=new WeakMap,worksMap=new WeakMap,emptyWorks=createWorks([]),Five=function(n){__extends(t,n);function t(e){e===void 0&&(e={});var r,i,o,s,u,c,l,d,f,m,p=n.call(this)||this;p.ident=createUuid(),typeof window!="undefined"&&(__FIVE_DEBUG__.instances[p.ident]=p),p.renderSwitch01=0,p.currentMode="Panorama",p.pano={workCode:"",panoIndex:0},p.needsRender=!1,p.onlyRenderIfNeeds=(r=e.onlyRenderIfNeeds)!==null&&r!==void 0?r:!0,p.imageOptions=__assign({},(i=e.imageOptions)!==null&&i!==void 0?i:{}),p.textureOptions=__assign({},(o=e.textureOptions)!==null&&o!==void 0?o:{}),p.poweredByRealsee=(s=e.poweredByRealsee)!==null&&s!==void 0?s:!0,p.extraElements=[],p.controllerInits={Panorama:Object.assign({},e.panorama),Model:Object.assign({},e.model),Floorplan:Object.assign({},e.floorplan),Topview:Object.assign({},e.topview),Mapview:Object.assign({},e.mapview),VRPanorama:Object.assign({},e.vrPanorama),XRPanorama:Object.assign({},e.xrPanorama)},p.coordinatesSystemTransformers=__spreadArray([],(u=e.coordinatesSystemTransformers)!==null&&u!==void 0?u:[],!0);for(var A=function(B){var F=v.coordinatesSystemTransformers.find(function(L){return L.name===B.name});F||v.coordinatesSystemTransformers.push(__assign({},B))},v=this,g=0,h=BUILTIN_COORDINATESSYSTEMTRANSFORMERS;g<h.length;g++){var y=h[g];A(y)}if(p.fps={testCount:0,testTime:now()},p.info=null,p.modeChangeDuration=(c=e.modeChangeDuration)!==null&&c!==void 0?c:DEFAULT_MODE_CHANGE_DURATION,p.enableWheel=(l=e.enableWheel)!==null&&l!==void 0?l:!0,typeof window!="undefined")if("renderer"in e)e.renderer instanceof InternalWebGLRenderer&&p.throwError(new Error("cannot render a internal renderer")),p.renderer=e.renderer;else try{p.renderer=new InternalWebGLRenderer({preserveDrawingBuffer:e.preserveDrawingBuffer,backgroundColor:e.backgroundColor,backgroundAlpha:e.backgroundAlpha,antialias:e.antialias,webgl2:e==null?void 0:e.webgl2});var b=getViewportScale();p.renderer.setPixelRatio(b===1?window.devicePixelRatio:1),p.renderer.setSize(512,512)}catch(B){B instanceof Error&&p.throwError(B)}p.getPixelsRenderTarget=new THREE__namespace.WebGLRenderTarget(1,1,{encoding:(f=(d=p.renderer)===null||d===void 0?void 0:d.outputEncoding)!==null&&f!==void 0?f:THREE__namespace.sRGBEncoding}),p.scissor=Object.assign({left:0,bottom:0,width:1,height:1},e.scissor),p.camera=new Camera(90),p.scene=new Scene,p.xrCustomObjectsScene=new THREE__namespace.Scene,p.scene.add(p.xrCustomObjectsScene),p.scene.matrixAutoUpdate=!1,p.lastLoadWorkTask=Promise.resolve(),p.requestProxy=(m=e.requestProxy)!==null&&m!==void 0?m:DEFAULT_REQUEST_PROXY,p.networkSubscribe=new NetworkSubscribe,p.networkSubscribe.on("network",function(B,F,L,k){var O;p.emit("network.resource",createEvent("network.resource",{source:B,requestType:F,requestState:L,detail:k})),(O=p.analysis)===null||O===void 0||O.network(p.works,B,F,L,k)}),p.boundingMesh=generateBoundingMesh(new THREE__namespace.Box3(new THREE__namespace.Vector3(-.5,-.5,-.5),new THREE__namespace.Vector3(.5,.5,.5))),p.boundingMesh.name="bounding",p.scene.add(p.boundingMesh),p.models=createModels(),p.models.push(new Model),p.lastModels=createModels(),p.lastWorks=createWorks([]),p.readyCallbacks=[],p.syncingState=!1,p.modelGroup=new THREE__namespace.Group,p.modelGroup.visible=!1,p.modelGroup.name="model",p.modelGroup.matrixAutoUpdate=!1,p.modelGroup.renderOrder=-4,p.scene.add(p.modelGroup),p.helperGroup=new THREE__namespace.Group,p.helperGroup.name="helper",p.helperGroup.matrixAutoUpdate=!1,p.scene.add(p.helperGroup),p.videoTexture=new THREE__namespace.VideoTexture(e.videoInstance||generateDefaultVideoElement()),initLights(p.scene),p.copyEffect=new Effect(p.renderer,p.scene,p.camera,p.models),p.state={mode:p.currentMode,workCode:p.pano.workCode,panoIndex:p.pano.panoIndex,longitude:p.camera.pose.longitude,latitude:p.camera.pose.latitude,fov:p.camera.pose.fov,offset:p.camera.pose.offset.clone(),distance:p.camera.pose.distance},p.stateSynced=!1,p._enableIOSEDR=!1,p.destroyed=!1,p.paused=!0,typeof window!="undefined"&&(e.play!==!1&&p.play(),p.stopAnimationLoop=AnimationFrameLoop.shared.add(function(B,F){for(var L=[],k=2;k<arguments.length;k++)L[k-2]=arguments[k];p.updateTime.apply(p,__spreadArray([B,F],L,!1))},!1,0,10));var E=function(){typeof document!="undefined"&&document.fullscreenElement===null&&p.currentMode==="VRPanorama"&&p.controller.emit("vr.requestExit",createEvent("vr.requestExit",{}))},T=function(){p.needsRender=!0};if(typeof document!="undefined"&&document.addEventListener("fullscreenchange",E,!1),p.renderer&&p.renderer.domElement.addEventListener("webglcontextrestored",T,!1),p.removeEventListeners=function(){typeof document!="undefined"&&document.removeEventListener("fullscreenchange",E,!1),p.renderer&&p.renderer.domElement.removeEventListener("webglcontextrestored",T,!1)},p.plugins={},e.plugins&&e.plugins.length)for(var x=0,_=e.plugins;x<_.length;x++){var w=_[x];if(typeof w=="function")w(p);else if(Array.isArray(w)){var S=w[0],M=w[1],C=w[2];if(typeof S=="function"){var I=S(p,C);typeof M=="string"&&(p.plugins[M]?p.throwError(new Error("plugin name ".concat(M," is exists."))):p.plugins[M]=I)}}}return p.gpuPickingRenderTarget=new THREE__namespace.WebGLRenderTarget(1,1),p.meshReplaceMaterialMap=new Map,p.meshOriginMaterialMap=new Map,initLegacyEvent(p),p}return Object.defineProperty(t,"version",{get:function(){return"6.0.0-alpha.84"},enumerable:!1,configurable:!0}),Object.defineProperty(t,"dracoPath",{get:function(){return draco.decoderPath},set:function(e){draco.setDecoderPath(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t,"ktx2Path",{get:function(){return ktx2.transcoderPath},set:function(e){ktx2.setTranscoderPath(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"panoIndex",{get:function(){return this.pano.panoIndex},enumerable:!1,configurable:!0}),t.prototype.getGPUPicking=function(e,r,i,o,s){var u=this;if(o===void 0&&(o=1),s===void 0&&(s=new THREE__namespace.Vector3(0,0,0)),!this.renderer)throw new Error("renderer is not initialized.");this.models.setMaterial({constantColor:s}),this.scene.traverse(function(f){if(!(!(f instanceof THREE__namespace.Mesh)||f instanceof PBMMesh)){var m=Object.keys(i).filter(function(A){return A===f.uuid})[0];if(m)if(u.meshOriginMaterialMap.set(m,f.material),u.meshReplaceMaterialMap.get(m))f.material=u.meshReplaceMaterialMap.get(m);else{var p=new THREE__namespace.ShaderMaterial({uniforms:{color:{value:i[m]}},vertexShader:`
|
|
2013
2013
|
void main() {
|
|
2014
2014
|
vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );
|
|
2015
2015
|
gl_Position = projectionMatrix * mvPosition;
|
|
@@ -2019,4 +2019,4 @@ void main() {
|
|
|
2019
2019
|
void main() {
|
|
2020
2020
|
gl_FragColor = vec4( color, 1.0 );
|
|
2021
2021
|
}
|
|
2022
|
-
`});p.depthTest=f.material.depthTest,p.side=f.material.side,u.meshReplaceMaterialMap.set(v,p),f.material=p}}});var l=this.renderer.getSize(new THREE__namespace.Vector2);this.camera.setViewOffset(l.width,l.height,e*o,r*o,1,1),this.renderer.setRenderTarget(this.gpuPickingRenderTarget),this.render();var c=new Uint8Array(4);this.renderer.readRenderTargetPixels(this.gpuPickingRenderTarget,0,0,1,1,c),this.renderer.setRenderTarget(null),this.camera.clearViewOffset(),this.scene.traverse(function(f){!(f instanceof THREE__namespace.Mesh)||f instanceof PBMMesh||u.meshOriginMaterialMap.get(f.uuid)&&(f.material=u.meshOriginMaterialMap.get(f.uuid))}),this.models.setMaterial({constantColor:null});var d=Object.keys(i).filter(function(f){return i[f].equals(new THREE__namespace.Color().setRGB(c[0]/255,c[1]/255,c[2]/255))})[0];return d||!1},t.prototype.dispose=function(){var e,r;if(this.destroyed!==!0){delete __FIVE_DEBUG__.instances[this.ident],this.emit("dispose"),this.destroyed=!0,this.pause(),this.stopAnimationLoop&&(this.stopAnimationLoop(),delete this.stopAnimationLoop),(e=this.renderer)===null||e===void 0||e.setAnimationLoop(null),this.off(),this.networkSubscribe.off(),this.controller&&(this.controller.destroy(),this.controller=void 0);var i=this.getElement();i&&i.parentNode&&i.parentNode.removeChild(i);var o=this.models.getMaterial();o&&(o.pano0&&o.pano0.map.dispose(),o.pano1&&o.pano1.map!==((r=o.pano0)===null||r===void 0?void 0:r.map)&&o.pano1.map.dispose());for(var s=0,u=this.models;s<u.length;s++){var l=u[s];l.dispose()}this.models.length=0,this.models.setMaterial({pano0:null,pano1:null}),this.meshReplaceMaterialMap.forEach(function(c){c.dispose()}),this.meshOriginMaterialMap.forEach(function(c){c.dispose()}),this.renderer instanceof InternalWebGLRenderer&&this.renderer.forceContextLoss&&this.renderer.forceContextLoss()}},t.prototype.setScissor=function(e){Object.assign(this.scissor,e),this.controller&&this.controller.updateRenderSize&&this.controller.updateRenderSize()},Object.defineProperty(t.prototype,"helperVisible",{get:function(){return this.helperGroup.visible},set:function(e){this.helperGroup.visible!==e&&(this.helperGroup.visible=e,this.emit("helpers.visible",createEvent("helpers.visible",{object:this.helperGroup})),this.needsRender=!0)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableIOSEDR",{get:function(){return this._enableIOSEDR},set:function(e){this._enableIOSEDR!==e&&(this._enableIOSEDR=e,this.currentMode&&this.currentMode==="Panorama"&&this.changeMode(this.currentMode,this.getCurrentState(),0,!1,!0))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"postProcessingType",{get:function(){return this.currentMode==="Panorama"&&this.enableIOSEDR?"luminance":this.currentMode==="Mapview"&&this.enableEDL?"edl":this.currentMode==="Mapview"&&this.enableHQ?"hq":null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableEDL",{get:function(){return this.models.getMaterial().useEDL},set:function(e){var r,i,o,s;if(e===!0&&this.currentMode!==t.Mode.Mapview)throw new Error("只支持Mapview下开启EDL");if(this.models.setMaterial({useEDL:e}),this.boundingMesh.visible=!e,e){if(!this.screenBuffers){var u=this.getDrawingBufferSize(sharedVector2);this.screenBuffers=[new THREE__namespace.WebGLRenderTarget(u.x,u.y,{encoding:(i=(r=this.renderer)===null||r===void 0?void 0:r.outputEncoding)!==null&&i!==void 0?i:THREE__namespace.sRGBEncoding,minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,format:THREE__namespace.RGBAFormat,type:THREE__namespace.FloatType}),new THREE__namespace.WebGLRenderTarget(u.x,u.y,{encoding:(s=(o=this.renderer)===null||o===void 0?void 0:o.outputEncoding)!==null&&s!==void 0?s:THREE__namespace.sRGBEncoding,minFilter:THREE__namespace.LinearMipMapLinearFilter,magFilter:THREE__namespace.LinearMipMapLinearFilter})]}}else this.screenBuffers&&(this.screenBuffers.forEach(function(l){l.dispose()}),delete this.screenBuffers);this.needsRender=!0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableHQ",{get:function(){return this.models.getMaterial().useHQWeight||this.models.getMaterial().useHQDepth||!1},set:function(e){var r,i;if(e===!0&&this.currentMode!==t.Mode.Mapview)throw new Error("只支持Mapview下开启HQ");if(e===!0?this.models.setMaterial({useHQDepth:!0,useHQWeight:!1,pointShape:"CIRCLE"}):this.models.setMaterial({useHQDepth:!1,useHQWeight:!1}),this.boundingMesh.visible=!e,e){if(!this.screenBuffers){var o=this.getDrawingBufferSize(sharedVector2),s=new THREE__namespace.WebGLRenderTarget(o.x,o.y,{minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,format:THREE__namespace.RGBAFormat,type:THREE__namespace.FloatType,depthTexture:new THREE__namespace.DepthTexture(o.x,o.y,THREE__namespace.UnsignedIntType)});s.depthTexture.format=THREE__namespace.DepthFormat,s.depthBuffer=!0;var u=new THREE__namespace.WebGLRenderTarget(o.x,o.y,{encoding:(i=(r=this.renderer)===null||r===void 0?void 0:r.outputEncoding)!==null&&i!==void 0?i:THREE__namespace.sRGBEncoding,minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,format:THREE__namespace.RGBAFormat,type:THREE__namespace.FloatType,depthTexture:s.depthTexture});this.screenBuffers=[s,u]}}else this.screenBuffers&&(this.screenBuffers.forEach(function(l){l.dispose()}),delete this.screenBuffers);this.needsRender=!0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enablePostProcessing",{get:function(){return this.screenBuffers!==void 0},set:function(e){var r,i,o,s;if(e){if(!this.screenBuffers){var u=this.getDrawingBufferSize(sharedVector2);this.screenBuffers=[new THREE__namespace.WebGLRenderTarget(u.x,u.y,{encoding:(i=(r=this.renderer)===null||r===void 0?void 0:r.outputEncoding)!==null&&i!==void 0?i:THREE__namespace.sRGBEncoding}),new THREE__namespace.WebGLRenderTarget(u.x,u.y,{encoding:(s=(o=this.renderer)===null||o===void 0?void 0:o.outputEncoding)!==null&&s!==void 0?s:THREE__namespace.sRGBEncoding})]}}else this.screenBuffers&&(this.screenBuffers.forEach(function(l){l.dispose()}),delete this.screenBuffers);this.needsRender=!0},enumerable:!1,configurable:!0}),t.prototype.updateConfiguration=function(e){var r=!1;e.panorama&&(Object.assign(this.controllerInits.Panorama,e.panorama),this.currentMode==="Panorama"&&(r=!0)),e.model&&(Object.assign(this.controllerInits.Model,e.model),this.currentMode==="Model"&&(r=!0)),e.floorplan&&(Object.assign(this.controllerInits.Floorplan,e.floorplan),this.currentMode==="Floorplan"&&(r=!0)),e.topview&&(Object.assign(this.controllerInits.Topview,e.topview),this.currentMode==="Topview"&&(r=!0)),e.mapview&&(Object.assign(this.controllerInits.Mapview,e.topview),this.currentMode==="Mapview"&&(r=!0)),e.vrPanorama&&(Object.assign(this.controllerInits.VRPanorama,e.vrPanorama),this.currentMode==="VRPanorama"&&(r=!0)),e.imageOptions&&(Object.assign(this.imageOptions,e.imageOptions),(this.currentMode==="Panorama"||this.currentMode==="VRPanorama")&&(r=!0)),r&&this.controller&&this.currentMode&&this.changeMode(this.currentMode,this.getCurrentState(),0,!1,!0),e.textureOptions&&Object.assign(this.textureOptions,e.textureOptions)},t.prototype.appendTo=function(e,r){if(r===void 0&&(r={}),!!this.renderer){if(!(this.renderer instanceof InternalWebGLRenderer)){this.throwError(new Error("cannot call appendTo method when render a external renderer"));return}var i=this.getElement();if(i){e.appendChild(i),this.refresh(r);var o=window.getComputedStyle(e).position;o!=="relative"&&o!=="absolute"&&o!=="fixed"&&o!=="sticky"&&(e.style.position="relative")}}},t.prototype.refresh=function(e,r){if(e===void 0&&(e={}),!!this.renderer){var i=this.getElement();if(i){var o=i.parentNode;if(o&&o.nodeName){var s=e.width,u=s===void 0?o.offsetWidth:s,l=e.height,c=l===void 0?o.offsetHeight:l;this.renderer instanceof InternalWebGLRenderer&&(r&&this.renderer.setPixelRatio(r),this.renderer.setSize(u,c))}this.controller&&this.controller.updateRenderSize&&this.controller.updateRenderSize(),this.needsRender=!0}}},t.prototype.addExtraElement=function(e){var r=this;return this.extraElements.indexOf(e)===-1&&(this.extraElements.push(e),this.controller&&this.controller.bindExtraElement(e)),function(){return r.removeExtraElement(e)}},t.prototype.removeExtraElement=function(e){var r=this.extraElements.indexOf(e);r!==-1&&(this.extraElements.splice(r,1),this.controller&&this.controller.unbindExtraElement(e))},t.prototype.getPose=function(){var e=this.camera.copyPose(),r=e.longitude,i=e.latitude,o=e.fov,s=e.offset,u=e.distance;return{longitude:r,latitude:i,fov:o,offset:s.clone(),distance:u}},t.prototype.getSize=function(e){if(!this.renderer)throw new Error("renderer is not initialized");return this.renderer.getSize(e),e.x*=this.scissor.width,e.y*=this.scissor.height,e},t.prototype.getDrawingBufferSize=function(e){if(!this.renderer)throw new Error("renderer is not initialized");return this.renderer.getDrawingBufferSize(e),e.x*=this.scissor.width,e.y*=this.scissor.height,e},t.prototype.updateCamera=function(e,r,i){return i===void 0&&(i=!0),this.controller?this.controller.updateCamera(e,r,i):Promise.reject(new Error("controller is not initialized."))},t.prototype.updateCameraWithKeyframes=function(e,r,i){return i===void 0&&(i=!0),this.controller?this.controller.updateCameraWithKeyframes(e,r,i):Promise.reject(new Error("controller is not initialized."))},t.prototype.getLongitudeAndLatitude=function(){var e=this.getPose(),r=e.longitude,i=e.latitude;return{longitude:r,latitude:i}},t.prototype.getOffset=function(){return this.getPose().offset},t.prototype.getCameraLocal=function(){if(this.pano.workCode&&this.controller&&this.works){var e=this.works.getResolvedObserver(this.pano);if(e){var r=new THREE__namespace.Object3D;return r.position.copy(e.position),r.quaternion.copy(e.quaternion),r.scale.set(1,1,1),r.matrix.compose(r.position,r.quaternion,r.scale),r.matrixAutoUpdate=!1,cameraWorldToLocal(this.camera,r)}}return null},Object.defineProperty(t.prototype,"works",{get:function(){var e=worksMap.get(this);if(!e)return emptyWorks;for(var r=0,i=e;r<i.length;r++){var o=i[r];if(!workRawMapping.has(o))return emptyWorks}return e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"work",{get:function(){return this.works[0]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"model",{get:function(){return this.models[0]},enumerable:!1,configurable:!0}),t.prototype.load=function(e,r,i,o){var s=this;if(o===void 0&&(o=!0),!this.renderer)throw new Error("renderer is not initialized");var u=this.lastLoadWorkTask.then(function(){return isPromise(e)?e.then(function(l){return s.load_(l,r,i,o)}):s.load_(e,r,i,o)});return this.lastLoadWorkTask=u.catch(function(l){s.throwError(l)}),u},t.prototype.load_=function(e,r,i,o){var s=this,u,l,c,d,f,v,p;o===void 0&&(o=!0);var A=[];if(Array.isArray(e))for(var m=0,y=e;m<y.length;m++){var h=y[m];typeof h!="string"&&"work"in h?A.push(parseWork(h.work,h)):A.push(parseWork(h))}else A.push(parseWork(e));for(var g=createWorks(A),b=function(D){var W=E,q=new Fetcher({allowHosts:D.allowHosts,get requestProxy(){return W.requestProxy},get networkSubscribe(){return W.networkSubscribe}});registerFetcher(D,q)},E=this,T=0,_=g;T<_.length;T++){var x=_[T];b(x)}this.lastWorks=this.works,r===void 0&&(r=this.lastWorks.length!==0?"inherit":"initial");var w=g.initial,S=w.work.observers[0],C=S?{workCode:S.work.workCode,panoIndex:S.panoIndex}:{workCode:w.work.workCode,panoIndex:0},R=(u=w.mode)!==null&&u!==void 0?u:S?"Panorama":"Mapview",I={};if(r==="inherit"){R=this.currentMode;var B=g.resolvedObservers[this.panoIndex];B?C={workCode:B.work.workCode,panoIndex:B.panoIndex}:typeof g.initial.panoIndex=="number"?C={workCode:g.initial.work.workCode,panoIndex:g.initial.panoIndex}:(R==="Panorama"||R==="VRPanorama"||R==="XRPanorama")&&(R="Mapview"),I={longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,distance:this.camera.pose.distance,offset:this.camera.pose.offset.clone()}}else if(r==="initial")typeof w.panoIndex=="number"&&(C={workCode:w.work.workCode,panoIndex:w.panoIndex}),w.mode&&(R=w.mode),I={longitude:w.longitude,latitude:w.latitude,fov:w.fov,distance:w.distance,offset:(l=w.offset)===null||l===void 0?void 0:l.clone()};else{if(R=(c=r.mode)!==null&&c!==void 0?c:this.currentMode,typeof r.panoIndex=="number"){var B=g.getResolvedObserver({workCode:(f=(d=r.workCode)!==null&&d!==void 0?d:w.work.workCode)!==null&&f!==void 0?f:"",panoIndex:r.panoIndex});B&&(C={workCode:B.work.workCode,panoIndex:B.panoIndex})}I={longitude:r.longitude,latitude:r.latitude,fov:r.fov,distance:r.distance,offset:r.offset}}var F=__assign(__assign(__assign({},C),{mode:R}),I),L=0;this.controller&&(typeof i=="number"?L=i:L=(v=i==null?void 0:i.duration)!==null&&v!==void 0?v:this.modeChangeDuration);var O="fade";this.controller&&typeof i=="object"&&i.effect&&(O=i.effect),this.emit("works.request",createEvent("works.request",{input:e,works:g,state:F,userAction:o}));var k=function(){s.pano=C;var D=__assign(__assign({initial:{state:F,currentState:s.getCurrentState(),duration:L,effect:O,userAction:o}},s.commonParams()),s.controllerInits[R]);if(s.controller&&s.currentMode===R)s.controller.updateWork(g,F,{effect:O,duration:L},o)===!1&&(s.controller.destroy(),s.controller=s.applyController(R,D));else{var W=s.currentMode,q=Controllers[R].initAnimationEndState(D);if(s.controller)s.controller.destroy();else{var ae=Controllers[R].initAnimationEndState(D);s.camera.setFromPose(ae),s.modelGroup.visible=!0,s.emit("camera.update",createEvent("camera.update",{state:s.getCurrentState(),userAction:o}))}s.controller=s.applyController(R,D);var Y=createEvent("mode.change",{prevMode:W,mode:R,state:q,userAction:o});s.emit("mode.change",Y)}};if(worksMap.set(this,g),!this.controller){var Q=__assign(__assign({initial:{state:F,currentState:this.getCurrentState(),duration:L,effect:O,userAction:o}},this.commonParams()),this.controllerInits[R]),U=Controllers[R].initAnimationEndState(Q);this.camera.setFromPose(U),this.emit("camera.update",createEvent("camera.update",{state:this.getCurrentState(),userAction:o}))}if(R===t.Mode.Floorplan||R===t.Mode.Topview||R===t.Mode.Mapview||R===t.Mode.Model)this.loadModel(g).then(function(){s.needsRender=!0,k(),s.emit("camera.update",createEvent("camera.update",{state:s.getCurrentState(),userAction:o}))});else{if(!this.controller){var N=new THREE__namespace.Vector3,G=g.getResolvedObserver(C);G&&N.copy(G.position),this.camera.setFromPose({fov:I.fov,longitude:I.longitude,latitude:I.latitude,distance:I.distance,offset:(p=I.offset)!==null&&p!==void 0?p:N}),this.needsRender=!0}k();var K=!1,X=function(){s.needsRender=!0,s.emit("camera.update",createEvent("camera.update",{state:s.getCurrentState(),userAction:o})),setTimeout(function(){K===!1&&(s.loadModel(g),K=!0)},L)};this.controller.once("pano.moveTo",X),this.controller.once("pano.cancel",X)}return this.emit("works.load",createEvent("works.load",{input:e,state:this.getCurrentState(),userAction:o,works:g})),this.ready().then(function(){var D;s.emit("works.ready",createEvent("works.ready",{input:e,state:s.getCurrentState(),userAction:o,works:g})),(D=s.analysis)===null||D===void 0||D.work(g)})},t.prototype.changeMode=function(e,r,i,o,s){var u=this;return r===void 0&&(r={}),o===void 0&&(o=!0),s===void 0&&(s=!1),new Promise(function(l,c){var d,f,v,p;if(!u.renderer)throw new Error("renderer is not initialized.");r=__assign({},r);var A=0;u.controller&&(typeof i=="number"?A=i:A=(d=i==null?void 0:i.duration)!==null&&d!==void 0?d:u.modeChangeDuration);var m="fly";u.controller&&typeof i=="object"&&i.effect&&(m=i.effect);var y=typeof r.panoIndex=="number"?{workCode:(p=(f=r.workCode)!==null&&f!==void 0?f:(v=u.work)===null||v===void 0?void 0:v.workCode)!==null&&p!==void 0?p:"",panoIndex:r.panoIndex}:u.pano;if(!t.Mode.hasOwnProperty(e)){var h=new Error('mode "'.concat(e,'" is not existed'));u.throwError(h),c(h);return}if((e===t.Mode.Floorplan||e===t.Mode.Topview||e===t.Mode.Mapview||e===t.Mode.Model)&&!u.models.loaded){var h=new Error("model is not ready.");u.throwError(h),c(h);return}if((e===t.Mode.Panorama||e===t.Mode.VRPanorama||e===t.Mode.XRPanorama)&&!u.works.getResolvedObserver(y)){var h=new Error("PanoId ".concat(panoStringify(y)," not existed."));u.throwError(h),c(h);return}var g=u.controller,b=u.currentMode,E=function(){if(u.controller&&u.controller.stopMomentumMovement(),u.controller&&s===!1&&b===e)e===t.Mode.Panorama||e===t.Mode.Model||e===t.Mode.VRPanorama||e===t.Mode.XRPanorama?panoEqual(u.pano,y)&&"moveToPano"in u.controller&&typeof u.controller.moveToPano=="function"?u.controller.moveToPano(y,__assign({duration:A},r),o):u.controller.updateCamera(r,A,o).catch(noop$1):(panoEqual(u.pano,y)||(u.pano=y),u.controller.updateCamera(r,A,o).catch(noop$1));else{var _=__assign(__assign({},r),y),x=__assign(__assign({initial:{state:_,currentState:u.getCurrentState(),duration:A,effect:m,userAction:o}},u.commonParams()),u.controllerInits[e]),w=Controllers[e].initAnimationEndState(x),S=createEvent("mode.change.request",{prevMode:u.currentMode,mode:e,state:w,userAction:o});if(u.emit("mode.change.request",S),!S.defaultPrevented){g&&g.destroy(),u.controller=u.applyController(e,x);var C=createEvent("mode.change",{prevMode:u.currentMode,mode:e,state:w,userAction:o});u.emit("mode.change",C)}}l()};if(e===t.Mode.VRPanorama)u.requestFullscreen(),requestDeviceOrientationPermission().then(function(){return E()}).catch(function(_){_ instanceof Error&&(u.exitFullscreen(),u.throwError(_),c(_))});else if(e===t.Mode.XRPanorama){var T=AnimationFrameLoop.shared.getContext();T?T.end():requestXRSessionPermission().then(function(_){AnimationFrameLoop.shared.setContext(_),E()}).catch(function(_){_ instanceof Error&&(u.throwError(_),c(_))})}else E()})},t.prototype.getPixels=function(e,r,i,o,s){if(s===void 0&&(s=1),!this.renderer)throw new Error("renderer is not initialized.");var u=this.getPixelsRenderTarget,l=this.renderer.getSize(new THREE__namespace.Vector2);e=clamp(e,Math.floor(i/2),Math.floor(l.x-i)),r=clamp(r,Math.floor(o/2),Math.floor(l.y-o)),u.setSize(i*s,o*s),this.renderer.setRenderTarget(u),this.camera.setViewOffset(l.width,l.height,e,l.height-r-o,i,o),this.controller?this.controller.render():this.renderer.render(this.scene,this.camera);var c=new Uint8Array(i*s*o*s*4);return this.renderer.readRenderTargetPixels(u,0,0,i*s,o*s,c),this.renderer.setRenderTarget(null),this.camera.clearViewOffset(),c},t.prototype.getElement=function(){var e;return(e=this.renderer)===null||e===void 0?void 0:e.domElement},Object.defineProperty(t.prototype,"observers",{get:function(){return this.works.resolvedObservers},enumerable:!1,configurable:!0}),t.prototype.render=function(e,r){var i=this;if(r===void 0&&(r=!1),!this.renderer)return null;if(r){var o=this.renderer.getSize(sharedVector2);this.scene.traverseVisible(function(u){u.setResolution&&u.setResolution(o.x,o.y)})}if(this.controller&&this.screenBuffers&&this.renderer.getRenderTarget()===null){var s=this.getDrawingBufferSize(sharedVector2);return this.screenBuffers.forEach(function(u){u.setSize(s.x,s.y)}),this.renderer.setRenderTarget(this.screenBuffers[0]),this.controller.render(),this.info={memory:__assign({},this.controller.renderer.info.memory),render:__assign({},this.controller.renderer.info.render)},this.currentMode!=="VRPanorama"&&this.currentMode!=="XRPanorama"&&this.poweredByRealsee&&renderPoweredByRealsee(this.renderer),e&&AnimationFrameLoop.shared.add(e,!0),this.screenBuffers[0]}else return this.aroundScissor(function(){i.renderer&&(i.controller?(i.controller.render(),i.info={memory:__assign({},i.controller.renderer.info.memory),render:__assign({},i.controller.renderer.info.render)}):(i.renderer.render(i.scene,i.camera),i.info={memory:__assign({},i.renderer.info.memory),render:__assign({},i.renderer.info.render)}),i.poweredByRealsee&&i.currentMode!=="VRPanorama"&&i.currentMode!=="XRPanorama"&&renderPoweredByRealsee(i.renderer)),e&&AnimationFrameLoop.shared.add(e,!0)}),null},t.prototype.updateTime=function(e,r){for(var i,o=this,s,u,l=[],c=2;c<arguments.length;c++)l[c-2]=arguments[c];if(!this.destroyed){if(this.works.update(),this.syncingState=this.syncState(e,r),this.controller&&(i=this.controller).updateTime.apply(i,__spreadArray([e,r],l,!1)),this.renderer&&(this.camera.pixelRatio=this.renderer.getPixelRatio(),this.getSize(this.camera.resolution),this.camera.aspect=this.camera.resolution.width/this.camera.resolution.height),this.camera.updateTime(e,r),this.renderer){ktx2.detectSupport(this.renderer);var d=this.models.loaded,f=this.models.refined;if(this.models.update(this.renderer,this.camera,this.currentMode),d===!1&&this.models.loaded===!0&&this.emit("models.load",createEvent("models.load",{models:this.models})),f===!1&&this.models.refined===!0&&this.emit("models.refined",createEvent("models.refined",{models:this.models})),this.models.loaded){for(var v=0,p=this.models;v<p.length;v++){var A=p[v];A.parent!==this.modelGroup&&(this.modelGroup.add(A),this.needsRender=!0)}if(this.lastModels.length>0){for(var m=0,y=this.lastModels;m<y.length;m++){var A=y[m];this.modelGroup.remove(A),A.dispose(),this.needsRender=!0}this.lastModels.length=0}this.lastWorks&&delete this.lastWorks}this.lastModels.setMaterial(this.models.getMaterial()),this.lastModels.materialVersion=this.models.materialVersion,this.lastModels.update(this.renderer,this.camera,this.currentMode)}this.syncingState=!1;var h=new THREE__namespace.Vector2(512,512),g=new THREE__namespace.Vector2(512,512);this.renderer&&(this.renderer.getSize(h),h.x*=this.scissor.width,h.y*=this.scissor.height,this.renderer.getDrawingBufferSize(g),g.x*=this.scissor.width,g.y*=this.scissor.height);{for(var b=new THREE__namespace.Box3,E=new THREE__namespace.Box3,T=new THREE__namespace.Vector3(4,4,4),_=0,x=this.works.resolvedObservers;_<x.length;_++){var w=x[_];E.setFromCenterAndSize(w.position,T),b.union(E)}if(b.union(this.models.bounding),this.lastWorks)for(var S=0,C=this.lastWorks.resolvedObservers;S<C.length;S++){var w=C[S];E.setFromCenterAndSize(w.position,T),b.union(E)}b.union(this.lastModels.bounding),b.getCenter(this.boundingMesh.position),b.getSize(this.boundingMesh.scale),this.boundingMesh.boundingBox.copy(b);var R=(s=this.models.getMaterial())!==null&&s!==void 0?s:{},I=1-((u=R.modelAlpha)!==null&&u!==void 0?u:0);R.opacity=clamp(I*4-3,0,1),R.clippers=null,R.shownFloorIndex=-2,this.boundingMesh.setMaterial(R),this.boundingMesh.needsRender=!1}var B=createEvent("render.prepare",{needsRender:!0,info:null});if(this.emit("render.prepare",B),!B.defaultPrevented){var F=[];sharedProjScreenMatrix.multiplyMatrices(this.camera.projectionMatrix,this.camera.matrixWorldInverse),sharedFrustum.setFromProjectionMatrix(sharedProjScreenMatrix);for(var L=0,O=this.scene.children;L<O.length;L++){var k=O[L];k!==this.modelGroup&&k!==this.boundingMesh&&k instanceof THREE__namespace.Object3D&&k.traverseVisible(function(W){if(W.setResolution&&W.setResolution(h.x,h.y),W.setTime&&W.setTime(e),W.mixer instanceof THREE__namespace.AnimationMixer){var q=clockForMixer.get(W.mixer);q||(q=new THREE__namespace.Clock,clockForMixer.set(W.mixer,q)),W.mixer.update(q.getDelta())}(W instanceof THREE__namespace.Mesh||W instanceof THREE__namespace.Line||W instanceof THREE__namespace.Points)&&(W instanceof THREE__namespace.ImmediateRenderObject||!W.frustumCulled||sharedFrustum.intersectsObject(W))&&F.push(W)})}if(g.width*g.height>4096*2048?this.renderSwitch01=this.renderSwitch01^1:this.renderSwitch01=0,this.renderer&&this.paused===!1&&this.renderSwitch01===0){var Q=void 0;if(this.onlyRenderIfNeeds!==!0)Q=this.render();else{if(this.controller&&this.controller.needsRender===!0&&(this.controller.needsRender=!1,this.needsRender=!0),this.camera.needsRender===!0&&(this.camera.needsRender=!1,this.needsRender=!0),this.models.needsRender===!0&&(this.models.needsRender=!1,this.needsRender=!0),this.needsRender!==!0)for(var U=0,N=F;U<N.length;U++){var G=N[U],K=function(W){W.needsRender===!0?(W.needsRender=!1,o.needsRender=!0):W.mixer&&W.mixer.stats.actions.inUse>0&&(o.needsRender=!0)};K(G),G.traverseAncestors(K)}this.needsRender!==!1&&(Q=this.render())}if(this.needsRender=!1,this.controller&&this.screenBuffers){var X=this.controller,D=this.screenBuffers;this.aroundScissor(function(){X.postProcessing(D,o.postProcessingType)})}this.hasListener("render")&&this.emit("render",createEvent("render",{needsRender:Q!==void 0,info:this.info}))}this.needsRender=!1}this.fps.testTime&&e-this.fps.testTime<1e3?this.fps.testCount++:(this.emit("fps",this.fps.testCount),this.fps.testTime=e,this.fps.testCount=0)}},t.prototype.pause=function(){this.paused=!0,this.renderer&&this.renderer instanceof InternalWebGLRenderer&&this.renderer.clear(!0,!0,!0)},t.prototype.play=function(){this.needsRender=!0,this.paused=!1},t.prototype.moveToPano=function(e,r,i){r===void 0&&(r={}),i===void 0&&(i=!0);var o=this,s=o.controller,u=o.renderer;if(!s)return this.throwError(new Error("controller is not initialized.")),Promise.resolve();if(!u)return this.throwError(new Error("renderer is not initialized.")),Promise.resolve();var l=this.works.getResolvedObserver(e);if(!l)return this.throwError(new Error("pano ".concat(JSON.stringify(e)," not existed."))),Promise.resolve();var c={workCode:l.work.workCode,panoIndex:l.panoIndex};return"moveToPano"in s&&typeof s.moveToPano=="function"?s.moveToPano(c,r,i):l&&(this.pano=c,this.once("initAnimation.start",function(d){r.moveStartCallback&&r.moveStartCallback(d.state)}),this.once("initAnimation.end",function(d){r.moveEndCallback&&r.moveEndCallback(d.state)}),this.changeMode(t.Mode.Panorama,r,{effect:r.effect},i)),this.ready()},t.prototype.preloadPano=function(e,r){var i=this;r===void 0&&(r=noop$1);var o=this.works.getResolvedObserver(e);if(!o)return Promise.reject(new Error("Pano ".concat(JSON.stringify(e)," never found")));o.work.allowHosts;var s=["right","left","up","down","front","back"],u=now();return Promise.all(s.map(function(l){var c=__assign({key:"pano.".concat(o.panoId,".").concat(l)},pick(i.imageOptions,["size","format","quality","mappings"])),d=o.images[l],f=i.imageOptions.transform?i.imageOptions.transform(d,c):imageURL(d,c);return getFetcher(o.work).preload(f)})).then(function(){var l=now()-u;return r(l),l})},t.prototype.project2d=function(e,r){if(r===void 0&&(r=!1),!this.renderer)return null;if(this.models.length>0&&r){var i=this.camera.position,o=e.clone().sub(i),s=new THREE__namespace.Raycaster(i,o.clone().normalize());s.params.Points={threshold:.1};var u=this.models.intersectRaycaster(s)[0];if(u&&u.distance+.01<o.length())return null}var l=e.clone().project(this.camera);if(Math.abs(l.z)>1)return null;var c=this.renderer.getSize(new THREE__namespace.Vector2),d=c.x*this.scissor.width,f=c.y*this.scissor.height,v=c.x*this.scissor.left+(l.x+1)/2*d,p=c.y*(1-this.scissor.bottom-this.scissor.height)+(-l.y+1)/2*f;return new THREE__namespace.Vector2(v,p)},t.prototype.getRenderObjects=function(e){sharedProjScreenMatrix.multiplyMatrices(this.camera.projectionMatrix,this.camera.matrixWorldInverse),sharedFrustum.setFromProjectionMatrix(sharedProjScreenMatrix),e||(e=this.scene);var r=[];return e.traverseVisible(function(i){(i instanceof THREE__namespace.Mesh||i instanceof THREE__namespace.Line||i instanceof THREE__namespace.Points)&&(i instanceof THREE__namespace.ImmediateRenderObject||!i.frustumCulled||sharedFrustum.intersectsObject(i))&&r.push(i)}),r},t.prototype.getCurrentState=function(){return __assign(__assign({},this.getPose()),{mode:this.currentMode,workCode:this.pano.workCode,panoIndex:this.pano.panoIndex})},t.prototype.setState=function(e,r,i){var o,s,u,l,c,d,f,v,p,A;r===void 0&&(r=!1),i===void 0&&(i=!0),e=Object.assign({},e),e.offset&&!(e instanceof THREE__namespace.Vector3)&&(e.offset=new THREE__namespace.Vector3(e.offset.x,e.offset.y,e.offset.z));var m;typeof e.panoIndex=="number"&&(e.workCode?m={workCode:e.workCode,panoIndex:e.panoIndex}:m={workCode:(s=(o=this.work)===null||o===void 0?void 0:o.workCode)!==null&&s!==void 0?s:"",panoIndex:e.panoIndex});var y=(u=e.mode)!==null&&u!==void 0?u:this.state.mode,h,g,b,E,T;if((e.mode===t.Mode.Floorplan||e.mode===t.Mode.Topview||e.mode===t.Mode.Mapview||e.mode===t.Mode.Model)&&!this.models.loaded){this.throwError(new Error("model is not ready."));return}if(this.controller&&this.controller.stopMomentumMovement(),this.state.mode!==y){if(y==="VRPanorama"){this.changeMode("VRPanorama",void 0,void 0,!0);return}var _={workCode:m==null?void 0:m.workCode,panoIndex:m==null?void 0:m.panoIndex};typeof e.longitude=="number"&&(_.longitude=e.longitude),typeof e.latitude=="number"&&(_.latitude=e.latitude),typeof e.fov=="number"&&(_.fov=e.fov),typeof e.distance=="number"&&(_.distance=e.distance),e.offset instanceof THREE__namespace.Vector3&&(_.offset=e.offset);var x=__assign(__assign({initial:{state:_,currentState:this.getCurrentState(),duration:this.modeChangeDuration,effect:"fly",userAction:!1}},this.commonParams()),this.controllerInits[y]),w=Controllers[y].initAnimationEndState(x);h=w.longitude,g=w.latitude,b=w.fov,E=w.offset,T=w.distance}else h=(l=e.longitude)!==null&&l!==void 0?l:this.state.longitude,g=(c=e.latitude)!==null&&c!==void 0?c:this.state.latitude,b=(d=e.fov)!==null&&d!==void 0?d:this.state.fov,E=(f=e.offset)!==null&&f!==void 0?f:this.state.offset,T=(v=e.distance)!==null&&v!==void 0?v:this.state.distance;var S={workCode:(m!=null?m:this.pano).workCode,panoIndex:(m!=null?m:this.pano).panoIndex,mode:y,longitude:h,latitude:g,fov:b,offset:E,distance:T};this.emit("state.set",createEvent("state.set",{userAction:i,state:S})),stateEqual(this.state,S)||(this.controller&&S.mode==="VRPanorama"&&S.mode!==this.state.mode?(assignState(this.state,S),this.changeMode("VRPanorama")):this.controller&&S.mode==="XRPanorama"&&S.mode!==this.state.mode?(assignState(this.state,S),this.changeMode("XRPanorama")):(assignState(this.state,S),this.controller&&i&&(this.controller.userAction=!1),r&&this.state.mode===S.mode&&(this.syncingState=this.syncState(now(),0,r),this.syncingState&&((p=this.controller)===null||p===void 0||p.updateTime(now(),0),this.syncingState=!1)),this.emit("state.change",createEvent("state.change",{userAction:i,state:this.state})),(A=this.analysis)===null||A===void 0||A.state(this.works,this.state)))},t.prototype.aroundScissor=function(e){if(this.renderer){if(this.state.mode==="XRPanorama"){e();return}var r=new THREE__namespace.Vector2,i=this.scissor.left!==0||this.scissor.bottom!==0||this.scissor.width!==1||this.scissor.height!==1;if(i){this.renderer.getSize(r);var o=Math.floor(r.x*this.scissor.left),s=Math.floor(r.y*this.scissor.bottom),u=Math.floor(r.x*this.scissor.width),l=Math.floor(r.y*this.scissor.height);this.renderer.setViewport(o,s,u,l),this.renderer.setScissor(o,s,u,l),this.renderer.setScissorTest(!0)}e(),i&&(this.renderer.setViewport(0,0,r.x,r.y),this.renderer.setScissor(0,0,r.x,r.y),this.renderer.setScissorTest(!1))}},t.prototype.syncState=function(e,r,i){i===void 0&&(i=!1);var o=this.stateSynced;if(this.stateSynced=!1,this.works.length===0||!this.controller)return!1;if(this.state.mode!==this.currentMode){var s={mode:this.state.mode,workCode:this.state.workCode,panoIndex:this.state.panoIndex,longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset,distance:this.state.distance};return this.changeMode(this.state.mode,s,this.modeChangeDuration,this.controller.userAction),!0}if(!this.controller.isReady())return!1;if(this.controller instanceof Controllers.Model){if(notSimilarVector3(this.camera.pose.offset,this.state.offset)){var u={longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset};return this.controller.moveToPosition(this.state.offset,__assign(__assign({},u),{duration:i?0:void 0}),!1),!0}}else{var l={workCode:this.state.workCode,panoIndex:this.state.panoIndex};if(!panoEqual(l,this.pano)&&"moveToPano"in this.controller&&typeof this.controller.moveToPano=="function"){var u={longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset,distance:this.state.distance};return this.controller.moveToPano(l,u,!1),!0}}if(this.controller instanceof Controllers.Floorplan||this.controller instanceof Controllers.Topview||this.controller instanceof Controllers.Mapview){var c=1,d=.2,f=.2,v=Math.PI/45,p=i?this.state.fov:stepNumber(this.camera.pose.fov,this.state.fov,c),A=Math.abs(this.camera.pose.distance-this.state.distance),m=A>f*15?A/15:d,y=i?this.state.distance:stepNumber(this.camera.pose.distance,this.state.distance,m),h=this.camera.pose.offset.distanceTo(this.state.offset),g=h>f*15?h/15:f,b=i?new THREE__namespace.Vector3().copy(this.state.offset):stepVector(this.camera.pose.offset,this.state.offset,g),E=i?{longitude:this.state.longitude,latitude:this.state.latitude}:stepCoordinates({longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},{longitude:this.state.longitude,latitude:this.state.latitude},v),T=E.longitude,_=E.latitude;if(notSimilarValue(p,this.camera.pose.fov)||notSimilarVector3(b,this.camera.pose.offset)||notSimilarValue(y,this.camera.pose.distance)||notSimilarValue(T,this.camera.pose.longitude,Math.PI*2)||notSimilarValue(_,this.camera.pose.latitude)){var x={x:b.x,y:b.y,z:b.z},w={fov:p};return Object.assign(x,{distance:y}),Object.assign(w,{longitude:T,latitude:_}),this.controller.stopMomentumMovement(),this.controller.cameraMotion.set(w,0).catch(noop$1),this.controller.locationMotion.set(x,0).catch(noop$1),!0}}else{var S=1,C=Math.PI/45,p=i?this.state.fov:stepNumber(this.camera.pose.fov,this.state.fov,S),R=i?{longitude:this.state.longitude,latitude:this.state.latitude}:stepCoordinates({longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},{longitude:this.state.longitude,latitude:this.state.latitude},C),T=R.longitude,_=R.latitude;if(notSimilarValue(T,this.camera.pose.longitude,Math.PI*2)||notSimilarValue(_,this.camera.pose.latitude)||notSimilarValue(p,this.camera.pose.fov))return this.controller.stopMomentumMovement(),this.controller.cameraMotion.set({longitude:T,latitude:_,fov:p},0).catch(noop$1),!0}if(this.stateSynced=!0,o===!1&&this.emit("state.synced",createEvent("state.synced",{userAction:!1,state:this.state})),this.readyCallbacks.length&&this.stateSynced){var I=this.currentMode,B=I===t.Mode.Floorplan||I===t.Mode.Topview||I===t.Mode.Mapview||I===t.Mode.Model;if(!B||this.models.loaded){var F=this.readyCallbacks.slice();this.readyCallbacks.length=0;for(var L=0,O=F;L<O.length;L++){var k=O[L];this.controller instanceof Controllers.Panorama&&k.tile===!0&&!this.controller.isTileReady()?this.readyCallbacks.push(k):k()}}}return!1},t.prototype.ready=function(e){var r=this;return e===void 0&&(e={}),new Promise(function(i){var o;r.readyCallbacks.push(Object.assign(i,{tile:(o=e.tile)!==null&&o!==void 0?o:!1}))})},t.prototype.requestFullscreen=function(){var e;if(isMobile()){var r=(e=this.getElement())===null||e===void 0?void 0:e.parentNode;r&&"requestFullscreen"in r&&typeof document!="undefined"&&document.fullscreenElement===null&&r.requestFullscreen()}},t.prototype.exitFullscreen=function(){typeof document!="undefined"&&document.fullscreenElement&&"exitFullscreen"in document&&document.exitFullscreen()},t.prototype.throwError=function(e){this.hasListener("error")?this.emit("error",e):console.error(e)},t.prototype.loadModel=function(e){for(var r=this,i=[],o=function(m){var y=s.models.filter(function(g){var b;return((b=g.work)===null||b===void 0?void 0:b.workCode)===m.workCode})[0];if(y)y.work=m,i.push(y);else{var h=new Model({coordinatesSystemTransformers:s.coordinatesSystemTransformers,onError:function(g){r.emit("model.error",createEvent("model.request",{work:m,model:h,error:g}))},onShownFloorChange:function(g){r.emit("model.changeShownFloor",createEvent("model.request",{work:m,model:h,error:null}))},onLoad:function(){r.emit("model.load",createEvent("model.request",{work:m,model:h,error:null}))}});i.push(h),s.emit("model.request",createEvent("model.request",{work:m,model:h,error:null})),h.load(m,{textureOptions:s.textureOptions})}},s=this,u=0,l=e;u<l.length;u++){var c=l[u];o(c)}if(this.models.length>0){for(var d=0,f=this.models;d<f.length;d++){var v=f[d];i.indexOf(v)===-1&&this.lastModels.push(v)}this.models.length=0}for(var p=0,A=i;p<A.length;p++){var v=A[p];this.models.push(v)}return this.renderer&&(this.models.loaded=!1),new Promise(function(m){r.on("models.load",function(){m()})})},t.prototype.commonParams=function(){return{ident:this.ident,scene:this.scene,xrCustomObjectsScene:this.xrCustomObjectsScene,helper:this.helperGroup,boundingMesh:this.boundingMesh,camera:this.camera,renderer:this.renderer,scissor:this.scissor,element:this.getElement(),models:this.models,works:this.works,imageOptions:this.imageOptions,enableWheel:this.enableWheel,enableIOSEDR:this._enableIOSEDR,enableEDL:this.enableEDL,enableHQ:this.enableHQ,extraElements:this.extraElements,videoTexture:this.videoTexture}},t.prototype.applyController=function(e,r){var i=this;if(!this.renderer)throw new Error("renderer is not initialized.");e!==t.Mode.Mapview&&(this.enableEDL=!1,this.enableHQ=!1);var o=Controllers[e];if(e!==this.currentMode)for(var s=0,u=this.models;s<u.length;s++){var l=u[s];l.show()}this.currentMode=e;for(var c=new o(r),d=function(y){c.on(y,function(){for(var h=[],g=0;g<arguments.length;g++)h[g]=arguments[g];var b=i.emit.apply(i,__spreadArray([y],h,!1));if(b)return!1})},f=0,v=PROXY_CONTROLLER_EVENT_NAMES;f<v.length;f++){var p=v[f];d(p)}{var A=Controllers[e].initAnimationEndState(r),m=r.initial.userAction;stateEqual(this.state,A)||(assignState(this.state,A),this.emit("state.change",createEvent("state.change",{userAction:m,state:this.state}))),this.emit("currentState.change",createEvent("currentState.change",{userAction:m,state:this.getCurrentState()}))}return c.on("camera.update",function(y){var h;if(i.controller){var g=i.controller.getTargetState();y.userAction&&i.syncingState===!1&&i.state.mode===g.mode&&!stateEqual(i.state,g)&&(assignState(i.state,g),i.emit("state.change",createEvent("state.change",{userAction:y.userAction,state:i.state})),(h=i.analysis)===null||h===void 0||h.state(i.works,i.state))}i.emit("currentState.change",createEvent("currentState.change",{userAction:y.userAction,state:i.getCurrentState()}))}),c.on("initAnimation.start",function(y){var h,g=y.state,b=y.userAction;b&&i.state.mode===g.mode&&!stateEqual(i.state,g)&&(assignState(i.state,g),i.emit("state.change",createEvent("state.change",{userAction:b,state:i.state})),(h=i.analysis)===null||h===void 0||h.state(i.works,i.state))}),c.on("initAnimation.end",function(y){var h,g=y.state,b=y.userAction;b&&i.state.mode===g.mode&&!stateEqual(i.state,g)&&(assignState(i.state,g),i.emit("state.change",createEvent("state.change",{userAction:b,state:i.state})),(h=i.analysis)===null||h===void 0||h.state(i.works,i.state))}),c.on("pano.moveTo",function(y){var h,g=y.state,b=y.userAction;i.pano={workCode:g.workCode,panoIndex:g.panoIndex},b&&i.state.mode===g.mode&&!stateEqual(i.state,g)&&(assignState(i.state,g),i.emit("state.change",createEvent("state.change",{userAction:b,state:i.state})),(h=i.analysis)===null||h===void 0||h.state(i.works,i.state))}),c.on("pano.arrived",function(y){var h,g=y.state,b=y.userAction;b&&i.state.mode===g.mode&&!stateEqual(i.state,g)&&(assignState(i.state,g),i.emit("state.change",createEvent("state.change",{userAction:b,state:i.state})),(h=i.analysis)===null||h===void 0||h.state(i.works,i.state))}),c.on("pano.cancel",function(y){var h,g=y.state,b=y.userAction;b&&i.state.mode===g.mode&&!stateEqual(i.state,g)&&(assignState(i.state,g),i.emit("state.change",createEvent("state.change",{userAction:b,state:i.state})),(h=i.analysis)===null||h===void 0||h.state(i.works,i.state))}),c.on("pano.moveTo",function(y){var h=y.userAction;i.emit("currentState.change",createEvent("currentState.change",{userAction:h,state:i.getCurrentState()}))}),c.on("pano.request",function(y){i.emit("pano.request",y),y.defaultPrevented||i.moveToPano(y.state,y.options,y.userAction)}),c.on("vr.requestExit",function(){i.currentMode===t.Mode.VRPanorama&&(i.exitFullscreen(),i.changeMode(t.Mode.Panorama))}),c.on("error",function(y){return i.throwError(y)}),c},t.prototype.removeEventListeners=function(){},t.Mode={Panorama:"Panorama",Model:"Model",Floorplan:"Floorplan",Topview:"Topview",Mapview:"Mapview",VRPanorama:"VRPanorama",XRPanorama:"XRPanorama"},t.Line=null,t}(Subscribe),__FIVE_DEBUG__={instances:{},constructor:Five};typeof window!="undefined"&&Object.assign(window,{__FIVE_DEBUG__});var XRButton=function(){function n(){}return n.createButton=function(t){var e=document.createElement("button");function r(){e.style.display="",e.style.cursor="pointer",e.style.left="calc(50% - 50px)",e.style.width="100px",e.textContent="ENTER VR",e.onmouseenter=function(){e.style.opacity="1.0"},e.onmouseleave=function(){e.style.opacity="0.5"},e.onclick=function(){t&&t()}}function i(){e.style.display="",e.style.cursor="auto",e.style.left="calc(50% - 75px)",e.style.width="150px",e.onmouseenter=null,e.onmouseleave=null,e.onclick=null}function o(){i(),e.textContent="VR NOT SUPPORTED"}function s(l){l.style.position="absolute",l.style.bottom="20px",l.style.padding="12px 6px",l.style.border="1px solid #fff",l.style.borderRadius="4px",l.style.background="rgba(0,0,0,0.1)",l.style.color="#fff",l.style.font="normal 13px sans-serif",l.style.textAlign="center",l.style.opacity="0.5",l.style.outline="none",l.style.zIndex="999"}if("xr"in navigator)return e.id="VRButton",e.style.display="none",s(e),navigator.xr.isSessionSupported("immersive-vr").then(function(l){l?r():o()}),e;var u=document.createElement("a");return window.isSecureContext===!1?(u.href=document.location.href.replace(/^http:/,"https:"),u.innerHTML="WEBXR NEEDS HTTPS"):(u.href="https://immersiveweb.dev/",u.innerHTML="WEBXR NOT AVAILABLE"),u.style.left="calc(50% - 90px)",u.style.width="180px",u.style.textDecoration="none",s(u),u},n}();exports.AnimationFrameLoop=AnimationFrameLoop,exports.Camera=Camera,exports.Fetcher=Fetcher,exports.Five=Five,exports.InternalWebGLRenderer=InternalWebGLRenderer,exports.IntersectMesh=IntersectMesh,exports.Model=Model,exports.ModelViewLayer=ModelViewLayer,exports.NetworkSubscribe=NetworkSubscribe,exports.PBMContainer=PBMContainer,exports.PBMGroup=PBMGroup,exports.PBMMesh=PBMMesh,exports.PBMMeshMaterial=PBMMeshMaterial,exports.PROXY_CONTROLLER_EVENT_NAMES=PROXY_CONTROLLER_EVENT_NAMES,exports.PanoCircleMesh=PanoCircleMesh,exports.PanoCircleMeshCustom=PanoCircleMeshCustom,exports.PanoCircleMeshSolid=PanoCircleMeshSolid,exports.RequestScheduler=RequestScheduler,exports.Scene=Scene,exports.Subscribe=Subscribe,exports.TextureLoader=TextureLoader,exports.Tile=Tile,exports.Tile3DModel=Tile3DModel,exports.TileCubeTextureTarget=TileCubeTextureTarget,exports.TileNode=TileNode,exports.Tileset=Tileset,exports.TilesetCache=TilesetCache,exports.TilesetTraverser=TilesetTraverser,exports.Work=Work,exports.XRButton=XRButton,exports.defaultImageURLTransform=imageURL,exports.defaultPbmParameters=defaultPbmParameters,exports.getViewportScale=getViewportScale,exports.imageSupport=imageSupport,exports.isPanoId=isPanoId,exports.loadAt3d=loadAt3d,exports.loadB3dm=loadB3dm,exports.loadDome=loadDome,exports.loadDomez=loadDomez,exports.loadPbm=loadPbm,exports.loadPnts=loadPnts,exports.panoEqual=panoEqual,exports.panoParse=panoParse,exports.panoStringify=panoStringify,exports.parseWork=parseWork,Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"})});
|
|
2022
|
+
`});p.depthTest=f.material.depthTest,p.side=f.material.side,u.meshReplaceMaterialMap.set(m,p),f.material=p}}});var c=this.renderer.getSize(new THREE__namespace.Vector2);this.camera.setViewOffset(c.width,c.height,e*o,r*o,1,1),this.renderer.setRenderTarget(this.gpuPickingRenderTarget),this.render();var l=new Uint8Array(4);this.renderer.readRenderTargetPixels(this.gpuPickingRenderTarget,0,0,1,1,l),this.renderer.setRenderTarget(null),this.camera.clearViewOffset(),this.scene.traverse(function(f){!(f instanceof THREE__namespace.Mesh)||f instanceof PBMMesh||u.meshOriginMaterialMap.get(f.uuid)&&(f.material=u.meshOriginMaterialMap.get(f.uuid))}),this.models.setMaterial({constantColor:null});var d=Object.keys(i).filter(function(f){return i[f].equals(new THREE__namespace.Color().setRGB(l[0]/255,l[1]/255,l[2]/255))})[0];return d||!1},t.prototype.dispose=function(){var e,r;if(this.destroyed!==!0){delete __FIVE_DEBUG__.instances[this.ident],this.emit("dispose"),this.destroyed=!0,this.pause(),this.stopAnimationLoop&&(this.stopAnimationLoop(),delete this.stopAnimationLoop),(e=this.renderer)===null||e===void 0||e.setAnimationLoop(null),this.off(),this.networkSubscribe.off(),this.controller&&(this.controller.destroy(),this.controller=void 0);var i=this.getElement();i&&i.parentNode&&i.parentNode.removeChild(i);var o=this.models.getMaterial();o&&(o.pano0&&o.pano0.map.dispose(),o.pano1&&o.pano1.map!==((r=o.pano0)===null||r===void 0?void 0:r.map)&&o.pano1.map.dispose());for(var s=0,u=this.models;s<u.length;s++){var c=u[s];c.dispose()}this.models.length=0,this.models.setMaterial({pano0:null,pano1:null}),this.meshReplaceMaterialMap.forEach(function(l){l.dispose()}),this.meshOriginMaterialMap.forEach(function(l){l.dispose()}),this.renderer instanceof InternalWebGLRenderer&&this.renderer.forceContextLoss&&this.renderer.forceContextLoss()}},t.prototype.setScissor=function(e){Object.assign(this.scissor,e),this.controller&&this.controller.updateRenderSize&&this.controller.updateRenderSize()},Object.defineProperty(t.prototype,"helperVisible",{get:function(){return this.helperGroup.visible},set:function(e){this.helperGroup.visible!==e&&(this.helperGroup.visible=e,this.emit("helpers.visible",createEvent("helpers.visible",{object:this.helperGroup})),this.needsRender=!0)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableIOSEDR",{get:function(){return this._enableIOSEDR},set:function(e){this._enableIOSEDR!==e&&(this._enableIOSEDR=e,this.currentMode&&this.currentMode==="Panorama"&&this.changeMode(this.currentMode,this.getCurrentState(),0,!1,!0))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"postProcessingType",{get:function(){return this.currentMode==="Panorama"&&this.enableIOSEDR?"luminance":this.currentMode==="Mapview"&&this.enableEDL?"edl":this.currentMode==="Mapview"&&this.enableHQ?"hq":null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableEDL",{get:function(){return this.models.getMaterial().useEDL},set:function(e){var r,i,o,s;if(e===!0&&this.currentMode!==t.Mode.Mapview)throw new Error("只支持Mapview下开启EDL");if(this.models.setMaterial({useEDL:e}),this.boundingMesh.visible=!e,e){if(!this.screenBuffers){var u=this.getDrawingBufferSize(sharedVector2);this.screenBuffers=[new THREE__namespace.WebGLRenderTarget(u.x,u.y,{encoding:(i=(r=this.renderer)===null||r===void 0?void 0:r.outputEncoding)!==null&&i!==void 0?i:THREE__namespace.sRGBEncoding,minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,format:THREE__namespace.RGBAFormat,type:THREE__namespace.FloatType}),new THREE__namespace.WebGLRenderTarget(u.x,u.y,{encoding:(s=(o=this.renderer)===null||o===void 0?void 0:o.outputEncoding)!==null&&s!==void 0?s:THREE__namespace.sRGBEncoding,minFilter:THREE__namespace.LinearMipMapLinearFilter,magFilter:THREE__namespace.LinearMipMapLinearFilter})]}}else this.screenBuffers&&(this.screenBuffers.forEach(function(c){c.dispose()}),delete this.screenBuffers);this.needsRender=!0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableHQ",{get:function(){return this.models.getMaterial().useHQWeight||this.models.getMaterial().useHQDepth||!1},set:function(e){var r,i;if(e===!0&&this.currentMode!==t.Mode.Mapview)throw new Error("只支持Mapview下开启HQ");if(e===!0?this.models.setMaterial({useHQDepth:!0,useHQWeight:!1,pointShape:"CIRCLE"}):this.models.setMaterial({useHQDepth:!1,useHQWeight:!1}),this.boundingMesh.visible=!e,e){if(!this.screenBuffers){var o=this.getDrawingBufferSize(sharedVector2),s=new THREE__namespace.WebGLRenderTarget(o.x,o.y,{minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,format:THREE__namespace.RGBAFormat,type:THREE__namespace.FloatType,depthTexture:new THREE__namespace.DepthTexture(o.x,o.y,THREE__namespace.UnsignedIntType)});s.depthTexture.format=THREE__namespace.DepthFormat,s.depthBuffer=!0;var u=new THREE__namespace.WebGLRenderTarget(o.x,o.y,{encoding:(i=(r=this.renderer)===null||r===void 0?void 0:r.outputEncoding)!==null&&i!==void 0?i:THREE__namespace.sRGBEncoding,minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,format:THREE__namespace.RGBAFormat,type:THREE__namespace.FloatType,depthTexture:s.depthTexture});this.screenBuffers=[s,u]}}else this.screenBuffers&&(this.screenBuffers.forEach(function(c){c.dispose()}),delete this.screenBuffers);this.needsRender=!0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enablePostProcessing",{get:function(){return this.screenBuffers!==void 0},set:function(e){var r,i,o,s;if(e){if(!this.screenBuffers){var u=this.getDrawingBufferSize(sharedVector2);this.screenBuffers=[new THREE__namespace.WebGLRenderTarget(u.x,u.y,{encoding:(i=(r=this.renderer)===null||r===void 0?void 0:r.outputEncoding)!==null&&i!==void 0?i:THREE__namespace.sRGBEncoding}),new THREE__namespace.WebGLRenderTarget(u.x,u.y,{encoding:(s=(o=this.renderer)===null||o===void 0?void 0:o.outputEncoding)!==null&&s!==void 0?s:THREE__namespace.sRGBEncoding})]}}else this.screenBuffers&&(this.screenBuffers.forEach(function(c){c.dispose()}),delete this.screenBuffers);this.needsRender=!0},enumerable:!1,configurable:!0}),t.prototype.updateConfiguration=function(e,r){r===void 0&&(r=!0);var i=!1;e.panorama&&(Object.assign(this.controllerInits.Panorama,e.panorama),this.currentMode==="Panorama"&&(i=!0)),e.model&&(Object.assign(this.controllerInits.Model,e.model),this.currentMode==="Model"&&(i=!0)),e.floorplan&&(Object.assign(this.controllerInits.Floorplan,e.floorplan),this.currentMode==="Floorplan"&&(i=!0)),e.topview&&(Object.assign(this.controllerInits.Topview,e.topview),this.currentMode==="Topview"&&(i=!0)),e.mapview&&(Object.assign(this.controllerInits.Mapview,e.topview),this.currentMode==="Mapview"&&(i=!0)),e.vrPanorama&&(Object.assign(this.controllerInits.VRPanorama,e.vrPanorama),this.currentMode==="VRPanorama"&&(i=!0)),e.imageOptions&&(Object.assign(this.imageOptions,e.imageOptions),(this.currentMode==="Panorama"||this.currentMode==="VRPanorama")&&(i=!0)),e.textureOptions&&Object.assign(this.textureOptions,e.textureOptions),r&&i&&this.controller&&this.currentMode&&this.changeMode(this.currentMode,this.getCurrentState(),0,!1,!0)},t.prototype.appendTo=function(e,r){if(r===void 0&&(r={}),!!this.renderer){if(!(this.renderer instanceof InternalWebGLRenderer)){this.throwError(new Error("cannot call appendTo method when render a external renderer"));return}var i=this.getElement();if(i){e.appendChild(i),this.refresh(r);var o=window.getComputedStyle(e).position;o!=="relative"&&o!=="absolute"&&o!=="fixed"&&o!=="sticky"&&(e.style.position="relative")}}},t.prototype.refresh=function(e,r){if(e===void 0&&(e={}),!!this.renderer){var i=this.getElement();if(i){var o=i.parentNode;if(o&&o.nodeName){var s=e.width,u=s===void 0?o.offsetWidth:s,c=e.height,l=c===void 0?o.offsetHeight:c;this.renderer instanceof InternalWebGLRenderer&&(r&&this.renderer.setPixelRatio(r),this.renderer.setSize(u,l))}this.controller&&this.controller.updateRenderSize&&this.controller.updateRenderSize(),this.needsRender=!0}}},t.prototype.addExtraElement=function(e){var r=this;return this.extraElements.indexOf(e)===-1&&(this.extraElements.push(e),this.controller&&this.controller.bindExtraElement(e)),function(){return r.removeExtraElement(e)}},t.prototype.removeExtraElement=function(e){var r=this.extraElements.indexOf(e);r!==-1&&(this.extraElements.splice(r,1),this.controller&&this.controller.unbindExtraElement(e))},t.prototype.getPose=function(){var e=this.camera.copyPose(),r=e.longitude,i=e.latitude,o=e.fov,s=e.offset,u=e.distance;return{longitude:r,latitude:i,fov:o,offset:s.clone(),distance:u}},t.prototype.getSize=function(e){if(!this.renderer)throw new Error("renderer is not initialized");return this.renderer.getSize(e),e.x*=this.scissor.width,e.y*=this.scissor.height,e},t.prototype.getDrawingBufferSize=function(e){if(!this.renderer)throw new Error("renderer is not initialized");return this.renderer.getDrawingBufferSize(e),e.x*=this.scissor.width,e.y*=this.scissor.height,e},t.prototype.updateCamera=function(e,r,i){return i===void 0&&(i=!0),this.controller?this.controller.updateCamera(e,r,i):Promise.reject(new Error("controller is not initialized."))},t.prototype.updateCameraWithKeyframes=function(e,r,i){return i===void 0&&(i=!0),this.controller?this.controller.updateCameraWithKeyframes(e,r,i):Promise.reject(new Error("controller is not initialized."))},t.prototype.getLongitudeAndLatitude=function(){var e=this.getPose(),r=e.longitude,i=e.latitude;return{longitude:r,latitude:i}},t.prototype.getOffset=function(){return this.getPose().offset},t.prototype.getCameraLocal=function(){if(this.pano.workCode&&this.controller&&this.works){var e=this.works.getResolvedObserver(this.pano);if(e){var r=new THREE__namespace.Object3D;return r.position.copy(e.position),r.quaternion.copy(e.quaternion),r.scale.set(1,1,1),r.matrix.compose(r.position,r.quaternion,r.scale),r.matrixAutoUpdate=!1,cameraWorldToLocal(this.camera,r)}}return null},Object.defineProperty(t.prototype,"works",{get:function(){var e=worksMap.get(this);if(!e)return emptyWorks;for(var r=0,i=e;r<i.length;r++){var o=i[r];if(!workRawMapping.has(o))return emptyWorks}return e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"work",{get:function(){return this.works[0]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"model",{get:function(){return this.models[0]},enumerable:!1,configurable:!0}),t.prototype.load=function(e,r,i,o){var s=this;if(o===void 0&&(o=!0),!this.renderer)throw new Error("renderer is not initialized");var u=this.lastLoadWorkTask.then(function(){return isPromise(e)?e.then(function(c){return s.load_(c,r,i,o)}):s.load_(e,r,i,o)});return this.lastLoadWorkTask=u.catch(function(c){s.throwError(c)}),u},t.prototype.load_=function(e,r,i,o){var s=this,u,c,l,d,f,m,p,A;o===void 0&&(o=!0);var v={};typeof i=="number"?v.duration=i:typeof i=="object"&&Object.assign(v,i),this.controller||(v.duration=0,v.effect="instant");var g=[];if(Array.isArray(e))for(var h=0,y=e;h<y.length;h++){var b=y[h];typeof b!="string"&&"work"in b?g.push(parseWork(b.work,b)):g.push(parseWork(b))}else g.push(parseWork(e));for(var E=createWorks(g),T=function(G){var K=x,X=new Fetcher({allowHosts:G.allowHosts,get requestProxy(){return K.requestProxy},get networkSubscribe(){return K.networkSubscribe}});registerFetcher(G,X)},x=this,_=0,w=E;_<w.length;_++){var S=w[_];T(S)}this.lastWorks=this.works,r===void 0&&(r="inherit"),r==="inherit"&&this.lastWorks.length===0&&(r="initial");var M=E.initial,C=M.work.observers[0],I=C?{workCode:C.work.workCode,panoIndex:C.panoIndex}:{workCode:M.work.workCode,panoIndex:0},B=(u=M.mode)!==null&&u!==void 0?u:C?"Panorama":"Mapview",F={};if(r==="inherit"){B=this.currentMode;var L=E.resolvedObservers[this.panoIndex];L?I={workCode:L.work.workCode,panoIndex:L.panoIndex}:typeof E.initial.panoIndex=="number"?I={workCode:E.initial.work.workCode,panoIndex:E.initial.panoIndex}:(B==="Panorama"||B==="VRPanorama"||B==="XRPanorama")&&(B="Mapview"),F={longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,distance:this.camera.pose.distance,offset:this.camera.pose.offset.clone()}}else if(r==="initial")typeof M.panoIndex=="number"&&(I={workCode:M.work.workCode,panoIndex:M.panoIndex}),M.mode&&(B=M.mode),F={longitude:M.longitude,latitude:M.latitude,fov:M.fov,distance:M.distance,offset:(c=M.offset)===null||c===void 0?void 0:c.clone()};else{if(B=(l=r.mode)!==null&&l!==void 0?l:this.currentMode,typeof r.panoIndex=="number"){var L=E.getResolvedObserver({workCode:(f=(d=r.workCode)!==null&&d!==void 0?d:M.work.workCode)!==null&&f!==void 0?f:"",panoIndex:r.panoIndex});L&&(I={workCode:L.work.workCode,panoIndex:L.panoIndex})}F={longitude:r.longitude,latitude:r.latitude,fov:r.fov,distance:r.distance,offset:r.offset}}var k=__assign(__assign(__assign({},I),{mode:B}),F);this.emit("works.request",createEvent("works.request",{input:e,works:E,state:k,userAction:o}));var O=function(){var G,K;s.pano=I;var X=(G=v.duration)!==null&&G!==void 0?G:s.modeChangeDuration,se=(K=v.effect)!==null&&K!==void 0?K:"fade",Y=__assign(__assign({initial:{state:k,currentState:s.getCurrentState(),duration:X,effect:se,userAction:o}},s.commonParams()),s.controllerInits[B]);if(s.controller&&s.currentMode===B)s.controller.updateWork(E,k,{effect:se,duration:X},o)===!1&&(s.controller.destroy(),s.controller=s.applyController(B,Y));else{var re=s.currentMode,ee=Controllers[B].initAnimationEndState(Y);if(s.controller)s.controller.destroy();else{var oe=Controllers[B].initAnimationEndState(Y);s.camera.setFromPose(oe),s.modelGroup.visible=!0,s.emit("camera.update",createEvent("camera.update",{state:s.getCurrentState(),userAction:o}))}s.controller=s.applyController(B,Y);var $=createEvent("mode.change",{prevMode:re,mode:B,state:ee,userAction:o});s.emit("mode.change",$)}};if(worksMap.set(this,E),!this.controller){var D=__assign(__assign({initial:{state:k,currentState:this.getCurrentState(),duration:(m=v.duration)!==null&&m!==void 0?m:this.modeChangeDuration,effect:(p=v.effect)!==null&&p!==void 0?p:"fade",userAction:o}},this.commonParams()),this.controllerInits[B]),Q=Controllers[B].initAnimationEndState(D);this.camera.setFromPose(Q),this.emit("camera.update",createEvent("camera.update",{state:this.getCurrentState(),userAction:o}))}if(this.updateConfiguration(v,!1),B===t.Mode.Floorplan||B===t.Mode.Topview||B===t.Mode.Mapview||B===t.Mode.Model)this.loadModel(E,v).then(function(){s.needsRender=!0,O(),s.emit("camera.update",createEvent("camera.update",{state:s.getCurrentState(),userAction:o}))});else{if(!this.controller){var N=new THREE__namespace.Vector3,U=E.getResolvedObserver(I);U&&N.copy(U.position),this.camera.setFromPose({fov:F.fov,longitude:F.longitude,latitude:F.latitude,distance:F.distance,offset:(A=F.offset)!==null&&A!==void 0?A:N}),this.needsRender=!0}O();var W=!1,q=function(){s.needsRender=!0,s.emit("camera.update",createEvent("camera.update",{state:s.getCurrentState(),userAction:o})),setTimeout(function(){W===!1&&(s.loadModel(E,v),W=!0)},v.duration)};this.controller.once("pano.moveTo",q),this.controller.once("pano.cancel",q)}return this.emit("works.load",createEvent("works.load",{input:e,state:this.getCurrentState(),userAction:o,works:E})),this.ready().then(function(){var G;s.emit("works.ready",createEvent("works.ready",{input:e,state:s.getCurrentState(),userAction:o,works:E})),(G=s.analysis)===null||G===void 0||G.work(E)})},t.prototype.changeMode=function(e,r,i,o,s){var u=this;return r===void 0&&(r={}),o===void 0&&(o=!0),s===void 0&&(s=!1),new Promise(function(c,l){var d,f,m,p;if(!u.renderer)throw new Error("renderer is not initialized.");r=__assign({},r);var A=0;u.controller&&(typeof i=="number"?A=i:A=(d=i==null?void 0:i.duration)!==null&&d!==void 0?d:u.modeChangeDuration);var v="fly";u.controller&&typeof i=="object"&&i.effect&&(v=i.effect);var g=typeof r.panoIndex=="number"?{workCode:(p=(f=r.workCode)!==null&&f!==void 0?f:(m=u.work)===null||m===void 0?void 0:m.workCode)!==null&&p!==void 0?p:"",panoIndex:r.panoIndex}:u.pano;if(!t.Mode.hasOwnProperty(e)){var h=new Error('mode "'.concat(e,'" is not existed'));u.throwError(h),l(h);return}if((e===t.Mode.Floorplan||e===t.Mode.Topview||e===t.Mode.Mapview||e===t.Mode.Model)&&!u.models.loaded){var h=new Error("model is not ready.");u.throwError(h),l(h);return}if((e===t.Mode.Panorama||e===t.Mode.VRPanorama||e===t.Mode.XRPanorama)&&!u.works.getResolvedObserver(g)){var h=new Error("PanoId ".concat(panoStringify(g)," not existed."));u.throwError(h),l(h);return}var y=u.controller,b=u.currentMode,E=function(){if(u.controller&&u.controller.stopMomentumMovement(),u.controller&&s===!1&&b===e)e===t.Mode.Panorama||e===t.Mode.Model||e===t.Mode.VRPanorama||e===t.Mode.XRPanorama?panoEqual(u.pano,g)&&"moveToPano"in u.controller&&typeof u.controller.moveToPano=="function"?u.controller.moveToPano(g,__assign({duration:A},r),o):u.controller.updateCamera(r,A,o).catch(noop$1):(panoEqual(u.pano,g)||(u.pano=g),u.controller.updateCamera(r,A,o).catch(noop$1));else{var x=__assign(__assign({},r),g),_=__assign(__assign({initial:{state:x,currentState:u.getCurrentState(),duration:A,effect:v,userAction:o}},u.commonParams()),u.controllerInits[e]),w=Controllers[e].initAnimationEndState(_),S=createEvent("mode.change.request",{prevMode:u.currentMode,mode:e,state:w,userAction:o});if(u.emit("mode.change.request",S),!S.defaultPrevented){y&&y.destroy(),u.controller=u.applyController(e,_);var M=createEvent("mode.change",{prevMode:u.currentMode,mode:e,state:w,userAction:o});u.emit("mode.change",M)}}c()};if(e===t.Mode.VRPanorama)u.requestFullscreen(),requestDeviceOrientationPermission().then(function(){return E()}).catch(function(x){x instanceof Error&&(u.exitFullscreen(),u.throwError(x),l(x))});else if(e===t.Mode.XRPanorama){var T=AnimationFrameLoop.shared.getContext();T?T.end():requestXRSessionPermission().then(function(x){AnimationFrameLoop.shared.setContext(x),E()}).catch(function(x){x instanceof Error&&(u.throwError(x),l(x))})}else E()})},t.prototype.getPixels=function(e,r,i,o,s){if(s===void 0&&(s=1),!this.renderer)throw new Error("renderer is not initialized.");var u=this.getPixelsRenderTarget,c=this.renderer.getSize(new THREE__namespace.Vector2);e=clamp(e,Math.floor(i/2),Math.floor(c.x-i)),r=clamp(r,Math.floor(o/2),Math.floor(c.y-o)),u.setSize(i*s,o*s),this.renderer.setRenderTarget(u),this.camera.setViewOffset(c.width,c.height,e,c.height-r-o,i,o),this.controller?this.controller.render():this.renderer.render(this.scene,this.camera);var l=new Uint8Array(i*s*o*s*4);return this.renderer.readRenderTargetPixels(u,0,0,i*s,o*s,l),this.renderer.setRenderTarget(null),this.camera.clearViewOffset(),l},t.prototype.getElement=function(){var e;return(e=this.renderer)===null||e===void 0?void 0:e.domElement},Object.defineProperty(t.prototype,"observers",{get:function(){return this.works.resolvedObservers},enumerable:!1,configurable:!0}),t.prototype.render=function(e,r){var i=this;if(r===void 0&&(r=!1),!this.renderer)return null;if(r){var o=this.renderer.getSize(sharedVector2);this.scene.traverseVisible(function(u){u.setResolution&&u.setResolution(o.x,o.y)})}if(this.controller&&this.screenBuffers&&this.renderer.getRenderTarget()===null){var s=this.getDrawingBufferSize(sharedVector2);return this.screenBuffers.forEach(function(u){u.setSize(s.x,s.y)}),this.renderer.setRenderTarget(this.screenBuffers[0]),this.controller.render(),this.info={memory:__assign({},this.controller.renderer.info.memory),render:__assign({},this.controller.renderer.info.render)},this.currentMode!=="VRPanorama"&&this.currentMode!=="XRPanorama"&&this.poweredByRealsee&&renderPoweredByRealsee(this.renderer),e&&AnimationFrameLoop.shared.add(e,!0),this.screenBuffers[0]}else return this.aroundScissor(function(){i.renderer&&(i.controller?(i.controller.render(),i.info={memory:__assign({},i.controller.renderer.info.memory),render:__assign({},i.controller.renderer.info.render)}):(i.renderer.render(i.scene,i.camera),i.info={memory:__assign({},i.renderer.info.memory),render:__assign({},i.renderer.info.render)}),i.poweredByRealsee&&i.currentMode!=="VRPanorama"&&i.currentMode!=="XRPanorama"&&renderPoweredByRealsee(i.renderer)),e&&AnimationFrameLoop.shared.add(e,!0)}),null},t.prototype.updateTime=function(e,r){for(var i,o=this,s,u,c=[],l=2;l<arguments.length;l++)c[l-2]=arguments[l];if(!this.destroyed){if(this.works.update(),this.syncingState=this.syncState(e,r),this.controller&&(i=this.controller).updateTime.apply(i,__spreadArray([e,r],c,!1)),this.renderer&&(this.camera.pixelRatio=this.renderer.getPixelRatio(),this.getSize(this.camera.resolution),this.camera.aspect=this.camera.resolution.width/this.camera.resolution.height),this.camera.updateTime(e,r),this.renderer){ktx2.detectSupport(this.renderer);var d=this.models.loaded,f=this.models.refined;if(this.models.update(this.renderer,this.camera,this.currentMode),d===!1&&this.models.loaded===!0&&this.emit("models.load",createEvent("models.load",{models:this.models})),f===!1&&this.models.refined===!0&&this.emit("models.refined",createEvent("models.refined",{models:this.models})),this.models.loaded){for(var m=0,p=this.models;m<p.length;m++){var A=p[m];A.parent!==this.modelGroup&&(this.modelGroup.add(A),this.needsRender=!0)}if(this.lastModels.length>0){for(var v=0,g=this.lastModels;v<g.length;v++){var A=g[v];this.modelGroup.remove(A),A.dispose(),this.needsRender=!0}this.lastModels.length=0}this.lastWorks&&delete this.lastWorks}this.lastModels.setMaterial(this.models.getMaterial()),this.lastModels.materialVersion=this.models.materialVersion,this.lastModels.update(this.renderer,this.camera,this.currentMode)}this.syncingState=!1;var h=new THREE__namespace.Vector2(512,512),y=new THREE__namespace.Vector2(512,512);this.renderer&&(this.renderer.getSize(h),h.x*=this.scissor.width,h.y*=this.scissor.height,this.renderer.getDrawingBufferSize(y),y.x*=this.scissor.width,y.y*=this.scissor.height);{for(var b=new THREE__namespace.Box3,E=new THREE__namespace.Box3,T=new THREE__namespace.Vector3(4,4,4),x=0,_=this.works.resolvedObservers;x<_.length;x++){var w=_[x];E.setFromCenterAndSize(w.position,T),b.union(E)}if(b.union(this.models.bounding),this.lastWorks)for(var S=0,M=this.lastWorks.resolvedObservers;S<M.length;S++){var w=M[S];E.setFromCenterAndSize(w.position,T),b.union(E)}b.union(this.lastModels.bounding),b.getCenter(this.boundingMesh.position),b.getSize(this.boundingMesh.scale),this.boundingMesh.boundingBox.copy(b);var C=(s=this.models.getMaterial())!==null&&s!==void 0?s:{},I=1-((u=C.modelAlpha)!==null&&u!==void 0?u:0);C.opacity=clamp(I*4-3,0,1),C.clippers=null,C.shownFloorIndex=-2,this.boundingMesh.setMaterial(C),this.boundingMesh.needsRender=!1}var B=createEvent("render.prepare",{needsRender:!0,info:null});if(this.emit("render.prepare",B),!B.defaultPrevented){var F=[];sharedProjScreenMatrix.multiplyMatrices(this.camera.projectionMatrix,this.camera.matrixWorldInverse),sharedFrustum.setFromProjectionMatrix(sharedProjScreenMatrix);for(var L=0,k=this.scene.children;L<k.length;L++){var O=k[L];O!==this.modelGroup&&O!==this.boundingMesh&&O instanceof THREE__namespace.Object3D&&O.traverseVisible(function(K){if(K.setResolution&&K.setResolution(h.x,h.y),K.setTime&&K.setTime(e),K.mixer instanceof THREE__namespace.AnimationMixer){var X=clockForMixer.get(K.mixer);X||(X=new THREE__namespace.Clock,clockForMixer.set(K.mixer,X)),K.mixer.update(X.getDelta())}(K instanceof THREE__namespace.Mesh||K instanceof THREE__namespace.Line||K instanceof THREE__namespace.Points)&&(K instanceof THREE__namespace.ImmediateRenderObject||!K.frustumCulled||sharedFrustum.intersectsObject(K))&&F.push(K)})}if(y.width*y.height>4096*2048?this.renderSwitch01=this.renderSwitch01^1:this.renderSwitch01=0,this.renderer&&this.paused===!1&&this.renderSwitch01===0){var D=void 0;if(this.onlyRenderIfNeeds!==!0)D=this.render();else{if(this.controller&&this.controller.needsRender===!0&&(this.controller.needsRender=!1,this.needsRender=!0),this.camera.needsRender===!0&&(this.camera.needsRender=!1,this.needsRender=!0),this.models.needsRender===!0&&(this.models.needsRender=!1,this.needsRender=!0),this.needsRender!==!0)for(var Q=0,N=F;Q<N.length;Q++){var U=N[Q],W=function(K){K.needsRender===!0?(K.needsRender=!1,o.needsRender=!0):K.mixer&&K.mixer.stats.actions.inUse>0&&(o.needsRender=!0)};W(U),U.traverseAncestors(W)}this.needsRender!==!1&&(D=this.render())}if(this.needsRender=!1,this.controller&&this.screenBuffers){var q=this.controller,G=this.screenBuffers;this.aroundScissor(function(){q.postProcessing(G,o.postProcessingType)})}this.hasListener("render")&&this.emit("render",createEvent("render",{needsRender:D!==void 0,info:this.info}))}this.needsRender=!1}this.fps.testTime&&e-this.fps.testTime<1e3?this.fps.testCount++:(this.emit("fps",this.fps.testCount),this.fps.testTime=e,this.fps.testCount=0)}},t.prototype.pause=function(){this.paused=!0,this.renderer&&this.renderer instanceof InternalWebGLRenderer&&this.renderer.clear(!0,!0,!0)},t.prototype.play=function(){this.needsRender=!0,this.paused=!1},t.prototype.moveToPano=function(e,r,i){r===void 0&&(r={}),i===void 0&&(i=!0);var o=this,s=o.controller,u=o.renderer;if(!s)return this.throwError(new Error("controller is not initialized.")),Promise.resolve();if(!u)return this.throwError(new Error("renderer is not initialized.")),Promise.resolve();var c=this.works.getResolvedObserver(e);if(!c)return this.throwError(new Error("pano ".concat(JSON.stringify(e)," not existed."))),Promise.resolve();var l={workCode:c.work.workCode,panoIndex:c.panoIndex};return"moveToPano"in s&&typeof s.moveToPano=="function"?s.moveToPano(l,r,i):c&&(this.pano=l,this.once("initAnimation.start",function(d){r.moveStartCallback&&r.moveStartCallback(d.state)}),this.once("initAnimation.end",function(d){r.moveEndCallback&&r.moveEndCallback(d.state)}),this.changeMode(t.Mode.Panorama,r,{effect:r.effect},i)),this.ready()},t.prototype.preloadPano=function(e,r){var i=this;r===void 0&&(r=noop$1);var o=this.works.getResolvedObserver(e);if(!o)return Promise.reject(new Error("Pano ".concat(JSON.stringify(e)," never found")));var s=["right","left","up","down","front","back"],u=now();return Promise.all(s.map(function(c){var l=__assign({key:"pano.".concat(o.panoId,".").concat(c)},pick(i.imageOptions,["size","format","quality","mappings"])),d=o.images[c],f=i.imageOptions.transform?i.imageOptions.transform(d,l):imageURL(d,l);return getFetcher(o.work).preload(f)})).then(function(){var c=now()-u;return r(c),c})},t.prototype.project2d=function(e,r){if(r===void 0&&(r=!1),!this.renderer)return null;if(this.models.length>0&&r){var i=this.camera.position,o=e.clone().sub(i),s=new THREE__namespace.Raycaster(i,o.clone().normalize());s.params.Points={threshold:.1};var u=this.models.intersectRaycaster(s)[0];if(u&&u.distance+.01<o.length())return null}var c=e.clone().project(this.camera);if(Math.abs(c.z)>1)return null;var l=this.renderer.getSize(new THREE__namespace.Vector2),d=l.x*this.scissor.width,f=l.y*this.scissor.height,m=l.x*this.scissor.left+(c.x+1)/2*d,p=l.y*(1-this.scissor.bottom-this.scissor.height)+(-c.y+1)/2*f;return new THREE__namespace.Vector2(m,p)},t.prototype.getRenderObjects=function(e){sharedProjScreenMatrix.multiplyMatrices(this.camera.projectionMatrix,this.camera.matrixWorldInverse),sharedFrustum.setFromProjectionMatrix(sharedProjScreenMatrix),e||(e=this.scene);var r=[];return e.traverseVisible(function(i){(i instanceof THREE__namespace.Mesh||i instanceof THREE__namespace.Line||i instanceof THREE__namespace.Points)&&(i instanceof THREE__namespace.ImmediateRenderObject||!i.frustumCulled||sharedFrustum.intersectsObject(i))&&r.push(i)}),r},t.prototype.getCurrentState=function(){return __assign(__assign({},this.getPose()),{mode:this.currentMode,workCode:this.pano.workCode,panoIndex:this.pano.panoIndex})},t.prototype.setState=function(e,r,i){var o,s,u,c,l,d,f,m,p,A;r===void 0&&(r=!1),i===void 0&&(i=!0),e=Object.assign({},e),e.offset&&!(e instanceof THREE__namespace.Vector3)&&(e.offset=new THREE__namespace.Vector3(e.offset.x,e.offset.y,e.offset.z));var v;typeof e.panoIndex=="number"&&(e.workCode?v={workCode:e.workCode,panoIndex:e.panoIndex}:v={workCode:(s=(o=this.work)===null||o===void 0?void 0:o.workCode)!==null&&s!==void 0?s:"",panoIndex:e.panoIndex});var g=(u=e.mode)!==null&&u!==void 0?u:this.state.mode,h,y,b,E,T;if((e.mode===t.Mode.Floorplan||e.mode===t.Mode.Topview||e.mode===t.Mode.Mapview||e.mode===t.Mode.Model)&&!this.models.loaded){this.throwError(new Error("model is not ready."));return}if(this.controller&&this.controller.stopMomentumMovement(),this.state.mode!==g){if(g==="VRPanorama"){this.changeMode("VRPanorama",void 0,void 0,!0);return}var x={workCode:v==null?void 0:v.workCode,panoIndex:v==null?void 0:v.panoIndex};typeof e.longitude=="number"&&(x.longitude=e.longitude),typeof e.latitude=="number"&&(x.latitude=e.latitude),typeof e.fov=="number"&&(x.fov=e.fov),typeof e.distance=="number"&&(x.distance=e.distance),e.offset instanceof THREE__namespace.Vector3&&(x.offset=e.offset);var _=__assign(__assign({initial:{state:x,currentState:this.getCurrentState(),duration:this.modeChangeDuration,effect:"fly",userAction:!1}},this.commonParams()),this.controllerInits[g]),w=Controllers[g].initAnimationEndState(_);h=w.longitude,y=w.latitude,b=w.fov,E=w.offset,T=w.distance}else h=(c=e.longitude)!==null&&c!==void 0?c:this.state.longitude,y=(l=e.latitude)!==null&&l!==void 0?l:this.state.latitude,b=(d=e.fov)!==null&&d!==void 0?d:this.state.fov,E=(f=e.offset)!==null&&f!==void 0?f:this.state.offset,T=(m=e.distance)!==null&&m!==void 0?m:this.state.distance;var S={workCode:(v!=null?v:this.pano).workCode,panoIndex:(v!=null?v:this.pano).panoIndex,mode:g,longitude:h,latitude:y,fov:b,offset:E,distance:T};this.emit("state.set",createEvent("state.set",{userAction:i,state:S})),stateEqual(this.state,S)||(this.controller&&S.mode==="VRPanorama"&&S.mode!==this.state.mode?(assignState(this.state,S),this.changeMode("VRPanorama")):this.controller&&S.mode==="XRPanorama"&&S.mode!==this.state.mode?(assignState(this.state,S),this.changeMode("XRPanorama")):(assignState(this.state,S),this.controller&&i&&(this.controller.userAction=!1),r&&this.state.mode===S.mode&&(this.syncingState=this.syncState(now(),0,r),this.syncingState&&((p=this.controller)===null||p===void 0||p.updateTime(now(),0),this.syncingState=!1)),this.emit("state.change",createEvent("state.change",{userAction:i,state:this.state})),(A=this.analysis)===null||A===void 0||A.state(this.works,this.state)))},t.prototype.aroundScissor=function(e){if(this.renderer){if(this.state.mode==="XRPanorama"){e();return}var r=new THREE__namespace.Vector2,i=this.scissor.left!==0||this.scissor.bottom!==0||this.scissor.width!==1||this.scissor.height!==1;if(i){this.renderer.getSize(r);var o=Math.floor(r.x*this.scissor.left),s=Math.floor(r.y*this.scissor.bottom),u=Math.floor(r.x*this.scissor.width),c=Math.floor(r.y*this.scissor.height);this.renderer.setViewport(o,s,u,c),this.renderer.setScissor(o,s,u,c),this.renderer.setScissorTest(!0)}e(),i&&(this.renderer.setViewport(0,0,r.x,r.y),this.renderer.setScissor(0,0,r.x,r.y),this.renderer.setScissorTest(!1))}},t.prototype.syncState=function(e,r,i){i===void 0&&(i=!1);var o=this.stateSynced;if(this.stateSynced=!1,this.works.length===0||!this.controller)return!1;if(this.state.mode!==this.currentMode){var s={mode:this.state.mode,workCode:this.state.workCode,panoIndex:this.state.panoIndex,longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset,distance:this.state.distance};return this.changeMode(this.state.mode,s,this.modeChangeDuration,this.controller.userAction),!0}if(!this.controller.isReady())return!1;if(this.controller instanceof Controllers.Model){if(notSimilarVector3(this.camera.pose.offset,this.state.offset)){var u={longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset};return this.controller.moveToPosition(this.state.offset,__assign(__assign({},u),{duration:i?0:void 0}),!1),!0}}else{var c={workCode:this.state.workCode,panoIndex:this.state.panoIndex};if(!panoEqual(c,this.pano)&&"moveToPano"in this.controller&&typeof this.controller.moveToPano=="function"){var u={longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset,distance:this.state.distance};return this.controller.moveToPano(c,u,!1),!0}}if(this.controller instanceof Controllers.Floorplan||this.controller instanceof Controllers.Topview||this.controller instanceof Controllers.Mapview){var l=1,d=.2,f=.2,m=Math.PI/45,p=i?this.state.fov:stepNumber(this.camera.pose.fov,this.state.fov,l),A=Math.abs(this.camera.pose.distance-this.state.distance),v=A>f*15?A/15:d,g=i?this.state.distance:stepNumber(this.camera.pose.distance,this.state.distance,v),h=this.camera.pose.offset.distanceTo(this.state.offset),y=h>f*15?h/15:f,b=i?new THREE__namespace.Vector3().copy(this.state.offset):stepVector(this.camera.pose.offset,this.state.offset,y),E=i?{longitude:this.state.longitude,latitude:this.state.latitude}:stepCoordinates({longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},{longitude:this.state.longitude,latitude:this.state.latitude},m),T=E.longitude,x=E.latitude;if(notSimilarValue(p,this.camera.pose.fov)||notSimilarVector3(b,this.camera.pose.offset)||notSimilarValue(g,this.camera.pose.distance)||notSimilarValue(T,this.camera.pose.longitude,Math.PI*2)||notSimilarValue(x,this.camera.pose.latitude)){var _={x:b.x,y:b.y,z:b.z},w={fov:p};return Object.assign(_,{distance:g}),Object.assign(w,{longitude:T,latitude:x}),this.controller.stopMomentumMovement(),this.controller.cameraMotion.set(w,0).catch(noop$1),this.controller.locationMotion.set(_,0).catch(noop$1),!0}}else{var S=1,M=Math.PI/45,p=i?this.state.fov:stepNumber(this.camera.pose.fov,this.state.fov,S),C=i?{longitude:this.state.longitude,latitude:this.state.latitude}:stepCoordinates({longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},{longitude:this.state.longitude,latitude:this.state.latitude},M),T=C.longitude,x=C.latitude;if(notSimilarValue(T,this.camera.pose.longitude,Math.PI*2)||notSimilarValue(x,this.camera.pose.latitude)||notSimilarValue(p,this.camera.pose.fov))return this.controller.stopMomentumMovement(),this.controller.cameraMotion.set({longitude:T,latitude:x,fov:p},0).catch(noop$1),!0}if(this.stateSynced=!0,o===!1&&this.emit("state.synced",createEvent("state.synced",{userAction:!1,state:this.state})),this.readyCallbacks.length&&this.stateSynced){var I=this.currentMode,B=I===t.Mode.Floorplan||I===t.Mode.Topview||I===t.Mode.Mapview||I===t.Mode.Model;if(!B||this.models.loaded){var F=this.readyCallbacks.slice();this.readyCallbacks.length=0;for(var L=0,k=F;L<k.length;L++){var O=k[L];this.controller instanceof Controllers.Panorama&&O.tile===!0&&!this.controller.isTileReady()?this.readyCallbacks.push(O):O()}}}return!1},t.prototype.ready=function(e){var r=this;return e===void 0&&(e={}),new Promise(function(i){var o;r.readyCallbacks.push(Object.assign(i,{tile:(o=e.tile)!==null&&o!==void 0?o:!1}))})},t.prototype.requestFullscreen=function(){var e;if(isMobile()){var r=(e=this.getElement())===null||e===void 0?void 0:e.parentNode;r&&"requestFullscreen"in r&&typeof document!="undefined"&&document.fullscreenElement===null&&r.requestFullscreen()}},t.prototype.exitFullscreen=function(){typeof document!="undefined"&&document.fullscreenElement&&"exitFullscreen"in document&&document.exitFullscreen()},t.prototype.throwError=function(e){this.hasListener("error")?this.emit("error",e):console.error(e)},t.prototype.loadModel=function(e,r){for(var i=this,o=[],s=function(g){var h=u.models.filter(function(b){var E;return((E=b.work)===null||E===void 0?void 0:E.workCode)===g.workCode})[0];if(h)h.work=g,o.push(h);else{var y=new Model({coordinatesSystemTransformers:u.coordinatesSystemTransformers,onError:function(b){i.emit("model.error",createEvent("model.request",{work:g,model:y,error:b}))},onShownFloorChange:function(b){i.emit("model.changeShownFloor",createEvent("model.request",{work:g,model:y,error:null}))},onLoad:function(){i.emit("model.load",createEvent("model.request",{work:g,model:y,error:null}))}});o.push(y),u.emit("model.request",createEvent("model.request",{work:g,model:y,error:null})),y.load(g,{textureOptions:u.textureOptions,"3d-tiles":r["3d-tiles"]})}},u=this,c=0,l=e;c<l.length;c++){var d=l[c];s(d)}if(this.models.length>0){for(var f=0,m=this.models;f<m.length;f++){var p=m[f];o.indexOf(p)===-1&&this.lastModels.push(p)}this.models.length=0}for(var A=0,v=o;A<v.length;A++){var p=v[A];this.models.push(p)}return this.renderer&&(this.models.loaded=!1),new Promise(function(g){i.on("models.load",function(){g()})})},t.prototype.commonParams=function(){return{ident:this.ident,scene:this.scene,xrCustomObjectsScene:this.xrCustomObjectsScene,helper:this.helperGroup,boundingMesh:this.boundingMesh,camera:this.camera,renderer:this.renderer,scissor:this.scissor,element:this.getElement(),models:this.models,works:this.works,imageOptions:this.imageOptions,enableWheel:this.enableWheel,enableIOSEDR:this._enableIOSEDR,enableEDL:this.enableEDL,enableHQ:this.enableHQ,extraElements:this.extraElements,videoTexture:this.videoTexture}},t.prototype.applyController=function(e,r){var i=this;if(!this.renderer)throw new Error("renderer is not initialized.");e!==t.Mode.Mapview&&(this.enableEDL=!1,this.enableHQ=!1);var o=Controllers[e];if(e!==this.currentMode)for(var s=0,u=this.models;s<u.length;s++){var c=u[s];c.show()}this.currentMode=e;for(var l=new o(r),d=function(g){l.on(g,function(){for(var h=[],y=0;y<arguments.length;y++)h[y]=arguments[y];var b=i.emit.apply(i,__spreadArray([g],h,!1));if(b)return!1})},f=0,m=PROXY_CONTROLLER_EVENT_NAMES;f<m.length;f++){var p=m[f];d(p)}{var A=Controllers[e].initAnimationEndState(r),v=r.initial.userAction;stateEqual(this.state,A)||(assignState(this.state,A),this.emit("state.change",createEvent("state.change",{userAction:v,state:this.state}))),this.emit("currentState.change",createEvent("currentState.change",{userAction:v,state:this.getCurrentState()}))}return l.on("camera.update",function(g){var h;if(i.controller){var y=i.controller.getTargetState();g.userAction&&i.syncingState===!1&&i.state.mode===y.mode&&!stateEqual(i.state,y)&&(assignState(i.state,y),i.emit("state.change",createEvent("state.change",{userAction:g.userAction,state:i.state})),(h=i.analysis)===null||h===void 0||h.state(i.works,i.state))}i.emit("currentState.change",createEvent("currentState.change",{userAction:g.userAction,state:i.getCurrentState()}))}),l.on("initAnimation.start",function(g){var h,y=g.state,b=g.userAction;b&&i.state.mode===y.mode&&!stateEqual(i.state,y)&&(assignState(i.state,y),i.emit("state.change",createEvent("state.change",{userAction:b,state:i.state})),(h=i.analysis)===null||h===void 0||h.state(i.works,i.state))}),l.on("initAnimation.end",function(g){var h,y=g.state,b=g.userAction;b&&i.state.mode===y.mode&&!stateEqual(i.state,y)&&(assignState(i.state,y),i.emit("state.change",createEvent("state.change",{userAction:b,state:i.state})),(h=i.analysis)===null||h===void 0||h.state(i.works,i.state))}),l.on("pano.moveTo",function(g){var h,y=g.state,b=g.userAction;i.pano={workCode:y.workCode,panoIndex:y.panoIndex},b&&i.state.mode===y.mode&&!stateEqual(i.state,y)&&(assignState(i.state,y),i.emit("state.change",createEvent("state.change",{userAction:b,state:i.state})),(h=i.analysis)===null||h===void 0||h.state(i.works,i.state))}),l.on("pano.arrived",function(g){var h,y=g.state,b=g.userAction;b&&i.state.mode===y.mode&&!stateEqual(i.state,y)&&(assignState(i.state,y),i.emit("state.change",createEvent("state.change",{userAction:b,state:i.state})),(h=i.analysis)===null||h===void 0||h.state(i.works,i.state))}),l.on("pano.cancel",function(g){var h,y=g.state,b=g.userAction;b&&i.state.mode===y.mode&&!stateEqual(i.state,y)&&(assignState(i.state,y),i.emit("state.change",createEvent("state.change",{userAction:b,state:i.state})),(h=i.analysis)===null||h===void 0||h.state(i.works,i.state))}),l.on("pano.moveTo",function(g){var h=g.userAction;i.emit("currentState.change",createEvent("currentState.change",{userAction:h,state:i.getCurrentState()}))}),l.on("pano.request",function(g){i.emit("pano.request",g),g.defaultPrevented||i.moveToPano(g.state,g.options,g.userAction)}),l.on("vr.requestExit",function(){i.currentMode===t.Mode.VRPanorama&&(i.exitFullscreen(),i.changeMode(t.Mode.Panorama))}),l.on("error",function(g){return i.throwError(g)}),l},t.prototype.removeEventListeners=function(){},t.Mode={Panorama:"Panorama",Model:"Model",Floorplan:"Floorplan",Topview:"Topview",Mapview:"Mapview",VRPanorama:"VRPanorama",XRPanorama:"XRPanorama"},t.Line=null,t}(Subscribe),__FIVE_DEBUG__={instances:{},constructor:Five};typeof window!="undefined"&&Object.assign(window,{__FIVE_DEBUG__});var XRButton=function(){function n(){}return n.createButton=function(t){var e=document.createElement("button");function r(){e.style.display="",e.style.cursor="pointer",e.style.left="calc(50% - 50px)",e.style.width="100px",e.textContent="ENTER VR",e.onmouseenter=function(){e.style.opacity="1.0"},e.onmouseleave=function(){e.style.opacity="0.5"},e.onclick=function(){t&&t()}}function i(){e.style.display="",e.style.cursor="auto",e.style.left="calc(50% - 75px)",e.style.width="150px",e.onmouseenter=null,e.onmouseleave=null,e.onclick=null}function o(){i(),e.textContent="VR NOT SUPPORTED"}function s(c){c.style.position="absolute",c.style.bottom="20px",c.style.padding="12px 6px",c.style.border="1px solid #fff",c.style.borderRadius="4px",c.style.background="rgba(0,0,0,0.1)",c.style.color="#fff",c.style.font="normal 13px sans-serif",c.style.textAlign="center",c.style.opacity="0.5",c.style.outline="none",c.style.zIndex="999"}if("xr"in navigator)return e.id="VRButton",e.style.display="none",s(e),navigator.xr.isSessionSupported("immersive-vr").then(function(c){c?r():o()}),e;var u=document.createElement("a");return window.isSecureContext===!1?(u.href=document.location.href.replace(/^http:/,"https:"),u.innerHTML="WEBXR NEEDS HTTPS"):(u.href="https://immersiveweb.dev/",u.innerHTML="WEBXR NOT AVAILABLE"),u.style.left="calc(50% - 90px)",u.style.width="180px",u.style.textDecoration="none",s(u),u},n}();exports.AnimationFrameLoop=AnimationFrameLoop,exports.Camera=Camera,exports.Fetcher=Fetcher,exports.Five=Five,exports.InternalWebGLRenderer=InternalWebGLRenderer,exports.IntersectMesh=IntersectMesh,exports.Model=Model,exports.ModelViewLayer=ModelViewLayer,exports.NetworkSubscribe=NetworkSubscribe,exports.PBMContainer=PBMContainer,exports.PBMGroup=PBMGroup,exports.PBMMesh=PBMMesh,exports.PBMMeshMaterial=PBMMeshMaterial,exports.PROXY_CONTROLLER_EVENT_NAMES=PROXY_CONTROLLER_EVENT_NAMES,exports.PanoCircleMesh=PanoCircleMesh,exports.PanoCircleMeshCustom=PanoCircleMeshCustom,exports.PanoCircleMeshSolid=PanoCircleMeshSolid,exports.RequestScheduler=RequestScheduler,exports.Scene=Scene,exports.Subscribe=Subscribe,exports.TextureLoader=TextureLoader,exports.Tile=Tile,exports.Tile3DModel=Tile3DModel,exports.TileCubeTextureTarget=TileCubeTextureTarget,exports.TileNode=TileNode,exports.Tileset=Tileset,exports.TilesetCache=TilesetCache,exports.TilesetTraverser=TilesetTraverser,exports.Work=Work,exports.XRButton=XRButton,exports.defaultImageURLTransform=imageURL,exports.defaultPbmParameters=defaultPbmParameters,exports.getViewportScale=getViewportScale,exports.imageSupport=imageSupport,exports.isPanoId=isPanoId,exports.loadAt3d=loadAt3d,exports.loadB3dm=loadB3dm,exports.loadDome=loadDome,exports.loadDomez=loadDomez,exports.loadPbm=loadPbm,exports.loadPnts=loadPnts,exports.panoEqual=panoEqual,exports.panoParse=panoParse,exports.panoStringify=panoStringify,exports.parseWork=parseWork,Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"})});
|