@realsee/five 6.2.0-alpha.8 → 6.2.0

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.
Files changed (53) hide show
  1. package/docs/assets/navigation.js +1 -1
  2. package/docs/assets/search.js +1 -1
  3. package/docs/classes/five.Camera.html +6 -6
  4. package/docs/classes/five.Five.html +34 -34
  5. package/docs/classes/five.Model.html +1 -1
  6. package/docs/classes/five.PBMContainer.html +6 -6
  7. package/docs/classes/five.PBMGroup.html +4 -3
  8. package/docs/classes/five.PBMMeshMaterial.html +28 -28
  9. package/docs/classes/five.TextureLoader.html +2 -2
  10. package/docs/classes/five.Tile.html +1 -1
  11. package/docs/classes/five.Tile3DModel.html +2 -1
  12. package/docs/classes/five.TileCubeTextureTarget.html +2 -2
  13. package/docs/classes/five.TileNode.html +2 -2
  14. package/docs/interfaces/five.CameraPose.html +2 -2
  15. package/docs/interfaces/five.EventCallback.html +117 -104
  16. package/docs/interfaces/five.MapviewControllerCustomInitArgs.html +9 -9
  17. package/docs/interfaces/five.PBMParameters.html +2 -2
  18. package/docs/interfaces/five.TileCubeNode.html +3 -2
  19. package/docs/interfaces/react.FiveInjectionTypes.html +3 -3
  20. package/docs/modules/five.html +1 -1
  21. package/docs/types/five.ControllerEventTypes.html +31 -30
  22. package/docs/types/five.EventTypes.html +24 -24
  23. package/docs/types/five.GestureTypes.html +1 -1
  24. package/docs/types/five.LegacyEventType.html +63 -54
  25. package/docs/types/five.ParsedResultType.html +1 -1
  26. package/docs/types/five.TilesetFrameState.html +1 -1
  27. package/docs/variables/five.PROXY_CONTROLLER_EVENT_NAMES.html +1 -1
  28. package/five/index.d.ts +39 -11
  29. package/five/index.js +96 -96
  30. package/five/index.mjs +6733 -6541
  31. package/gltf-loader/index.js +3 -3
  32. package/gltf-loader/index.mjs +3 -3
  33. package/line/index.js +3 -3
  34. package/line/index.mjs +10 -10
  35. package/package.json +1 -1
  36. package/plugins/index.js +2 -2
  37. package/plugins/index.mjs +2 -2
  38. package/react/index.js +2 -2
  39. package/react/index.mjs +2 -2
  40. package/sticker/index.js +3 -3
  41. package/sticker/index.mjs +7 -7
  42. package/umd/five-gltf-loader.js +3 -3
  43. package/umd/five-line.js +3 -3
  44. package/umd/five-plugins.js +2 -2
  45. package/umd/five-react.js +2 -2
  46. package/umd/five-sticker.js +3 -3
  47. package/umd/five-vfx.js +2 -2
  48. package/umd/five-vue.js +2 -2
  49. package/umd/five.js +56 -56
  50. package/vfx/index.js +2 -2
  51. package/vfx/index.mjs +2 -2
  52. package/vue/index.js +2 -2
  53. package/vue/index.mjs +2 -2
package/five/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five
4
- * Generated: 9/9/2024
5
- * Version: 6.2.0-alpha.8
4
+ * Generated: 10/30/2024
5
+ * Version: 6.2.0
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021
@@ -252,7 +252,7 @@
252
252
  * No amendment to or modification of this Agreement will be binding unless in
253
253
  * writing and signed by Realsee. You and Realsee hereto confirm that this
254
254
  * Agreement and all related documents shall be drafted in English.
255
- */"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Dn=require("three"),Du=require("protobufjs/minimal");function r0(n){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const e in n)if(e!=="default"){const r=Object.getOwnPropertyDescriptor(n,e);Object.defineProperty(t,e,r.get?r:{enumerable:!0,get:()=>n[e]})}}return t.default=n,Object.freeze(t)}const d=r0(Dn),Ur=r0(Du);var To=Number(d.REVISION);if(To<115||To>117)throw new Error('"Five" needs "THREE.js" version between 125 - 117.');/**
255
+ */"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const zn=require("three"),Wu=require("protobufjs/minimal");function u0(n){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const e in n)if(e!=="default"){const r=Object.getOwnPropertyDescriptor(n,e);Object.defineProperty(t,e,r.get?r:{enumerable:!0,get:()=>n[e]})}}return t.default=n,Object.freeze(t)}const d=u0(zn),Ur=u0(Wu);var Lo=Number(d.REVISION);if(Lo<115||Lo>117)throw new Error('"Five" needs "THREE.js" version between 125 - 117.');/**
256
256
  * @license
257
257
  * The 'jsrsasign'(RSA-Sign JavaScript Library) License
258
258
  *
@@ -339,33 +339,33 @@
339
339
  *
340
340
  * https://code.google.com/p/crypto-js/wiki/License
341
341
  * PART: ext/cryptojs
342
- */var te={},xe=xe||function(n,t){var e={},r=e.lib={},i=r.Base=function(){function A(){}return{extend:function(m){A.prototype=this;var f=new A;return m&&f.mixIn(m),f.hasOwnProperty("init")||(f.init=function(){f.$super.init.apply(this,arguments)}),f.init.prototype=f,f.$super=this,f},create:function(){var m=this.extend();return m.init.apply(m,arguments),m},init:function(){},mixIn:function(m){for(var f in m)m.hasOwnProperty(f)&&(this[f]=m[f]);m.hasOwnProperty("toString")&&(this.toString=m.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),a=r.WordArray=i.extend({init:function(A,m){A=this.words=A||[],m!=t?this.sigBytes=m:this.sigBytes=A.length*4},toString:function(A){return(A||s).stringify(this)},concat:function(A){var m=this.words,f=A.words,v=this.sigBytes,y=A.sigBytes;if(this.clamp(),v%4)for(var p=0;p<y;p++){var g=f[p>>>2]>>>24-p%4*8&255;m[v+p>>>2]|=g<<24-(v+p)%4*8}else for(var p=0;p<y;p+=4)m[v+p>>>2]=f[p>>>2];return this.sigBytes+=y,this},clamp:function(){var A=this.words,m=this.sigBytes;A[m>>>2]&=4294967295<<32-m%4*8,A.length=n.ceil(m/4)},clone:function(){var A=i.clone.call(this);return A.words=this.words.slice(0),A},random:function(A){for(var m=[],f=0;f<A;f+=4)m.push(n.random()*4294967296|0);return new a.init(m,A)}}),o=e.enc={},s=o.Hex={stringify:function(A){for(var m=A.words,f=A.sigBytes,v=[],y=0;y<f;y++){var p=m[y>>>2]>>>24-y%4*8&255;v.push((p>>>4).toString(16)),v.push((p&15).toString(16))}return v.join("")},parse:function(A){for(var m=A.length,f=[],v=0;v<m;v+=2)f[v>>>3]|=parseInt(A.substr(v,2),16)<<24-v%8*4;return new a.init(f,m/2)}},u=o.Latin1={stringify:function(A){for(var m=A.words,f=A.sigBytes,v=[],y=0;y<f;y++){var p=m[y>>>2]>>>24-y%4*8&255;v.push(String.fromCharCode(p))}return v.join("")},parse:function(A){for(var m=A.length,f=[],v=0;v<m;v++)f[v>>>2]|=(A.charCodeAt(v)&255)<<24-v%4*8;return new a.init(f,m)}},l=o.Utf8={stringify:function(A){try{return decodeURIComponent(escape(u.stringify(A)))}catch(m){throw new Error("Malformed UTF-8 data")}},parse:function(A){return u.parse(unescape(encodeURIComponent(A)))}},c=r.BufferedBlockAlgorithm=i.extend({reset:function(){this._data=new a.init,this._nDataBytes=0},_append:function(A){typeof A=="string"&&(A=l.parse(A)),this._data.concat(A),this._nDataBytes+=A.sigBytes},_process:function(A){var m=this._data,f=m.words,v=m.sigBytes,y=this.blockSize,p=y*4,g=v/p;A?g=n.ceil(g):g=n.max((g|0)-this._minBufferSize,0);var x=g*y,b=n.min(x*4,v);if(x){for(var w=0;w<x;w+=y)this._doProcessBlock(f,w);var E=f.splice(0,x);m.sigBytes-=b}return new a.init(E,b)},clone:function(){var A=i.clone.call(this);return A._data=this._data.clone(),A},_minBufferSize:0});r.Hasher=c.extend({cfg:i.extend(),init:function(A){this.cfg=this.cfg.extend(A),this.reset()},reset:function(){c.reset.call(this),this._doReset()},update:function(A){return this._append(A),this._process(),this},finalize:function(A){A&&this._append(A);var m=this._doFinalize();return m},blockSize:512/32,_createHelper:function(A){return function(m,f){return new A.init(f).finalize(m)}},_createHmacHelper:function(A){return function(m,f){return new h.HMAC.init(A,f).finalize(m)}}});var h=e.algo={};return e}(Math);(function(n){for(var t=xe,m=t.lib,e=m.WordArray,r=m.Hasher,m=t.algo,i=[],a=[],o=function(v){return 4294967296*(v-(v|0))|0},s=2,u=0;64>u;){var l;e:{l=s;for(var c=n.sqrt(l),h=2;h<=c;h++)if(!(l%h)){l=!1;break e}l=!0}l&&(8>u&&(i[u]=o(n.pow(s,.5))),a[u]=o(n.pow(s,1/3)),u++),s++}var A=[],m=m.SHA256=r.extend({_doReset:function(){this._hash=new e.init(i.slice(0))},_doProcessBlock:function(f,v){for(var y=this._hash.words,p=y[0],g=y[1],x=y[2],b=y[3],w=y[4],E=y[5],M=y[6],C=y[7],I=0;64>I;I++){if(16>I)A[I]=f[v+I]|0;else{var S=A[I-15],P=A[I-2];A[I]=((S<<25|S>>>7)^(S<<14|S>>>18)^S>>>3)+A[I-7]+((P<<15|P>>>17)^(P<<13|P>>>19)^P>>>10)+A[I-16]}S=C+((w<<26|w>>>6)^(w<<21|w>>>11)^(w<<7|w>>>25))+(w&E^~w&M)+a[I]+A[I],P=((p<<30|p>>>2)^(p<<19|p>>>13)^(p<<10|p>>>22))+(p&g^p&x^g&x),C=M,M=E,E=w,w=b+S|0,b=x,x=g,g=p,p=S+P|0}y[0]=y[0]+p|0,y[1]=y[1]+g|0,y[2]=y[2]+x|0,y[3]=y[3]+b|0,y[4]=y[4]+w|0,y[5]=y[5]+E|0,y[6]=y[6]+M|0,y[7]=y[7]+C|0},_doFinalize:function(){var f=this._data,v=f.words,y=8*this._nDataBytes,p=8*f.sigBytes;return v[p>>>5]|=128<<24-p%32,v[(p+64>>>9<<4)+14]=n.floor(y/4294967296),v[(p+64>>>9<<4)+15]=y,f.sigBytes=4*v.length,this._process(),this._hash},clone:function(){var f=r.clone.call(this);return f._hash=this._hash.clone(),f}});t.SHA256=r._createHelper(m),t.HmacSHA256=r._createHmacHelper(m)})(Math);xe.lib.Cipher||function(n){var m=xe,t=m.lib,e=t.Base,r=t.WordArray,i=t.BufferedBlockAlgorithm,a=m.enc.Base64,o=m.algo.EvpKDF,s=t.Cipher=i.extend({cfg:e.extend(),createEncryptor:function(v,y){return this.create(this._ENC_XFORM_MODE,v,y)},createDecryptor:function(v,y){return this.create(this._DEC_XFORM_MODE,v,y)},init:function(v,y,p){this.cfg=this.cfg.extend(p),this._xformMode=v,this._key=y,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(y,p,g){return(typeof p=="string"?f:A).encrypt(v,y,p,g)},decrypt:function(y,p,g){return(typeof p=="string"?f:A).decrypt(v,y,p,g)}}}});t.StreamCipher=s.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var h=m.mode={},u=function(v,y,p){var g=this._iv;g?this._iv=n:g=this._prevBlock;for(var x=0;x<p;x++)v[y+x]^=g[x]},l=(t.BlockCipherMode=e.extend({createEncryptor:function(v,y){return this.Encryptor.create(v,y)},createDecryptor:function(v,y){return this.Decryptor.create(v,y)},init:function(v,y){this._cipher=v,this._iv=y}})).extend();l.Encryptor=l.extend({processBlock:function(v,y){var p=this._cipher,g=p.blockSize;u.call(this,v,y,g),p.encryptBlock(v,y),this._prevBlock=v.slice(y,y+g)}}),l.Decryptor=l.extend({processBlock:function(v,y){var p=this._cipher,g=p.blockSize,x=v.slice(y,y+g);p.decryptBlock(v,y),u.call(this,v,y,g),this._prevBlock=x}}),h=h.CBC=l,l=(m.pad={}).Pkcs7={pad:function(v,y){for(var p=4*y,p=p-v.sigBytes%p,g=p<<24|p<<16|p<<8|p,x=[],b=0;b<p;b+=4)x.push(g);p=r.create(x,p),v.concat(p)},unpad:function(v){v.sigBytes-=v.words[v.sigBytes-1>>>2]&255}},t.BlockCipher=s.extend({cfg:s.cfg.extend({mode:h,padding:l}),reset:function(){s.reset.call(this);var y=this.cfg,v=y.iv,y=y.mode;if(this._xformMode==this._ENC_XFORM_MODE)var p=y.createEncryptor;else p=y.createDecryptor,this._minBufferSize=1;this._mode=p.call(y,this,v&&v.words)},_doProcessBlock:function(v,y){this._mode.processBlock(v,y)},_doFinalize:function(){var v=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){v.pad(this._data,this.blockSize);var y=this._process(!0)}else y=this._process(!0),v.unpad(y);return y},blockSize:4});var c=t.CipherParams=e.extend({init:function(v){this.mixIn(v)},toString:function(v){return(v||this.formatter).stringify(this)}}),h=(m.format={}).OpenSSL={stringify:function(v){var y=v.ciphertext;return v=v.salt,(v?r.create([1398893684,1701076831]).concat(v).concat(y):y).toString(a)},parse:function(v){v=a.parse(v);var y=v.words;if(y[0]==1398893684&&y[1]==1701076831){var p=r.create(y.slice(2,4));y.splice(0,4),v.sigBytes-=16}return c.create({ciphertext:v,salt:p})}},A=t.SerializableCipher=e.extend({cfg:e.extend({format:h}),encrypt:function(v,y,p,g){g=this.cfg.extend(g);var x=v.createEncryptor(p,g);return y=x.finalize(y),x=x.cfg,c.create({ciphertext:y,key:p,iv:x.iv,algorithm:v,mode:x.mode,padding:x.padding,blockSize:v.blockSize,formatter:g.format})},decrypt:function(v,y,p,g){return g=this.cfg.extend(g),y=this._parse(y,g.format),v.createDecryptor(p,g).finalize(y.ciphertext)},_parse:function(v,y){return typeof v=="string"?y.parse(v,this):v}}),m=(m.kdf={}).OpenSSL={execute:function(v,y,p,g){return g||(g=r.random(8)),v=o.create({keySize:y+p}).compute(v,g),p=r.create(v.words.slice(y),4*p),v.sigBytes=4*y,c.create({key:v,iv:p,salt:g})}},f=t.PasswordBasedCipher=A.extend({cfg:A.cfg.extend({kdf:m}),encrypt:function(v,y,p,g){return g=this.cfg.extend(g),p=g.kdf.execute(p,v.keySize,v.ivSize),g.iv=p.iv,v=A.encrypt.call(this,v,y,p.key,g),v.mixIn(p),v},decrypt:function(v,y,p,g){return g=this.cfg.extend(g),y=this._parse(y,g.format),p=g.kdf.execute(p,v.keySize,v.ivSize,y.salt),g.iv=p.iv,A.decrypt.call(this,v,y,p.key,g)}})}();(function(){for(var n=xe,t=n.lib.BlockCipher,E=n.algo,e=[],r=[],i=[],a=[],o=[],s=[],u=[],l=[],c=[],h=[],A=[],m=0;256>m;m++)A[m]=128>m?m<<1:m<<1^283;for(var f=0,v=0,m=0;256>m;m++){var y=v^v<<1^v<<2^v<<3^v<<4,y=y>>>8^y&255^99;e[f]=y,r[y]=f;var p=A[f],g=A[p],x=A[g],b=257*A[y]^16843008*y;i[f]=b<<24|b>>>8,a[f]=b<<16|b>>>16,o[f]=b<<8|b>>>24,s[f]=b,b=16843009*x^65537*g^257*p^16843008*f,u[y]=b<<24|b>>>8,l[y]=b<<16|b>>>16,c[y]=b<<8|b>>>24,h[y]=b,f?(f=p^A[A[A[x^p]]],v^=A[A[v]]):f=v=1}var w=[0,1,2,4,8,16,32,64,128,27,54],E=E.AES=t.extend({_doReset:function(){for(var I=this._key,M=I.words,C=I.sigBytes/4,I=4*((this._nRounds=C+6)+1),S=this._keySchedule=[],P=0;P<I;P++)if(P<C)S[P]=M[P];else{var B=S[P-1];P%C?6<C&&P%C==4&&(B=e[B>>>24]<<24|e[B>>>16&255]<<16|e[B>>>8&255]<<8|e[B&255]):(B=B<<8|B>>>24,B=e[B>>>24]<<24|e[B>>>16&255]<<16|e[B>>>8&255]<<8|e[B&255],B^=w[P/C|0]<<24),S[P]=S[P-C]^B}for(M=this._invKeySchedule=[],C=0;C<I;C++)P=I-C,B=C%4?S[P]:S[P-4],M[C]=4>C||4>=P?B:u[e[B>>>24]]^l[e[B>>>16&255]]^c[e[B>>>8&255]]^h[e[B&255]]},encryptBlock:function(M,C){this._doCryptBlock(M,C,this._keySchedule,i,a,o,s,e)},decryptBlock:function(M,C){var I=M[C+1];M[C+1]=M[C+3],M[C+3]=I,this._doCryptBlock(M,C,this._invKeySchedule,u,l,c,h,r),I=M[C+1],M[C+1]=M[C+3],M[C+3]=I},_doCryptBlock:function(M,C,I,S,P,B,L,k){for(var O=this._nRounds,K=M[C]^I[0],j=M[C+1]^I[1],J=M[C+2]^I[2],H=M[C+3]^I[3],z=4,N=1;N<O;N++)var X=S[K>>>24]^P[j>>>16&255]^B[J>>>8&255]^L[H&255]^I[z++],G=S[j>>>24]^P[J>>>16&255]^B[H>>>8&255]^L[K&255]^I[z++],Q=S[J>>>24]^P[H>>>16&255]^B[K>>>8&255]^L[j&255]^I[z++],H=S[H>>>24]^P[K>>>16&255]^B[j>>>8&255]^L[J&255]^I[z++],K=X,j=G,J=Q;X=(k[K>>>24]<<24|k[j>>>16&255]<<16|k[J>>>8&255]<<8|k[H&255])^I[z++],G=(k[j>>>24]<<24|k[J>>>16&255]<<16|k[H>>>8&255]<<8|k[K&255])^I[z++],Q=(k[J>>>24]<<24|k[H>>>16&255]<<16|k[K>>>8&255]<<8|k[j&255])^I[z++],H=(k[H>>>24]<<24|k[K>>>16&255]<<16|k[j>>>8&255]<<8|k[J&255])^I[z++],M[C]=X,M[C+1]=G,M[C+2]=Q,M[C+3]=H},keySize:8});n.AES=t._createHelper(E)})();/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/
343
- */var Qr;function de(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 zt(){return new de(null)}function Qu(n,t,e,r,i,a){for(;--a>=0;){var o=t*this[n++]+e[r]+i;i=Math.floor(o/67108864),e[r++]=o&67108863}return i}function Uu(n,t,e,r,i,a){for(var o=t&32767,s=t>>15;--a>=0;){var u=this[n]&32767,l=this[n++]>>15,c=s*u+l*o;u=o*u+((c&32767)<<15)+e[r]+(i&1073741823),i=(u>>>30)+(c>>>15)+s*l+(i>>>30),e[r++]=u&1073741823}return i}function qu(n,t,e,r,i,a){for(var o=t&16383,s=t>>14;--a>=0;){var u=this[n]&16383,l=this[n++]>>14,c=s*u+l*o;u=o*u+((c&16383)<<14)+e[r]+i,i=(u>>28)+(c>>14)+s*l,e[r++]=u&268435455}return i}typeof navigator!="undefined"&&navigator.appName=="Microsoft Internet Explorer"?(de.prototype.am=Uu,Qr=30):typeof navigator!="undefined"&&navigator.appName!="Netscape"?(de.prototype.am=Qu,Qr=26):(de.prototype.am=qu,Qr=28);de.prototype.DB=Qr;de.prototype.DM=(1<<Qr)-1;de.prototype.DV=1<<Qr;var ja=52;de.prototype.FV=Math.pow(2,ja);de.prototype.F1=ja-Qr;de.prototype.F2=2*Qr-ja;var Hu="0123456789abcdefghijklmnopqrstuvwxyz",Bi=new Array,Sn,Lt;Sn=48;for(Lt=0;Lt<=9;++Lt)Bi[Sn++]=Lt;Sn=97;for(Lt=10;Lt<36;++Lt)Bi[Sn++]=Lt;Sn=65;for(Lt=10;Lt<36;++Lt)Bi[Sn++]=Lt;function yr(n){return Hu.charAt(n)}function Gu(n,t){var e=Bi[n.charCodeAt(t)];return e==null?-1:e}function Ku(n){for(var t=this.t-1;t>=0;--t)n[t]=this[t];n.t=this.t,n.s=this.s}function ju(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 Ja(n){var t=zt();return t.fromInt(n),t}function Ju(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,a=0;--r>=0;){var o=e==8?n[r]&255:Gu(n,r);if(o<0){n.charAt(r)=="-"&&(i=!0);continue}i=!1,a==0?this[this.t++]=o:a+e>this.DB?(this[this.t-1]|=(o&(1<<this.DB-a)-1)<<a,this[this.t++]=o>>this.DB-a):this[this.t-1]|=o<<a,a+=e,a>=this.DB&&(a-=this.DB)}e==8&&n[0]&128&&(this.s=-1,a>0&&(this[this.t-1]|=(1<<this.DB-a)-1<<a)),this.clamp(),i&&de.ZERO.subTo(this,this)}function Xu(){for(var n=this.s&this.DM;this.t>0&&this[this.t-1]==n;)--this.t}function Wu(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,a="",o=this.t,s=this.DB-o*this.DB%t;if(o-- >0)for(s<this.DB&&(r=this[o]>>s)>0&&(i=!0,a=yr(r));o>=0;)s<t?(r=(this[o]&(1<<s)-1)<<t-s,r|=this[--o]>>(s+=this.DB-t)):(r=this[o]>>(s-=t)&e,s<=0&&(s+=this.DB,--o)),r>0&&(i=!0),i&&(a+=yr(r));return i?a:"0"}function _u(){var n=zt();return de.ZERO.subTo(this,n),n}function Zu(){return this.s<0?this.negate():this}function Yu(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 Xa(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 $u(){return this.t<=0?0:this.DB*(this.t-1)+Xa(this[this.t-1]^this.s&this.DM)}function el(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 tl(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 rl(n,t){var e=n%this.DB,r=this.DB-e,i=(1<<r)-1,a=Math.floor(n/this.DB),o=this.s<<e&this.DM,s;for(s=this.t-1;s>=0;--s)t[s+a+1]=this[s]>>r|o,o=(this[s]&i)<<e;for(s=a-1;s>=0;--s)t[s]=0;t[a]=o,t.t=this.t+a+1,t.s=this.s,t.clamp()}function nl(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,a=(1<<r)-1;t[0]=this[e]>>r;for(var o=e+1;o<this.t;++o)t[o-e-1]|=(this[o]&a)<<i,t[o-e]=this[o]>>r;r>0&&(t[this.t-e-1]|=(this.s&a)<<i),t.t=this.t-e,t.clamp()}function il(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 al(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&&de.ZERO.subTo(t,t)}function ol(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 sl(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=zt());var a=zt(),o=this.s,s=n.s,u=this.DB-Xa(r[r.t-1]);u>0?(r.lShiftTo(u,a),i.lShiftTo(u,e)):(r.copyTo(a),i.copyTo(e));var l=a.t,c=a[l-1];if(c!=0){var h=c*(1<<this.F1)+(l>1?a[l-2]>>this.F2:0),A=this.FV/h,m=(1<<this.F1)/h,f=1<<this.F2,v=e.t,y=v-l,p=t==null?zt():t;for(a.dlShiftTo(y,p),e.compareTo(p)>=0&&(e[e.t++]=1,e.subTo(p,e)),de.ONE.dlShiftTo(l,p),p.subTo(a,a);a.t<l;)a[a.t++]=0;for(;--y>=0;){var g=e[--v]==c?this.DM:Math.floor(e[v]*A+(e[v-1]+f)*m);if((e[v]+=a.am(0,g,e,y,0,l))<g)for(a.dlShiftTo(y,p),e.subTo(p,e);e[v]<--g;)e.subTo(p,e)}t!=null&&(e.drShiftTo(l,t),o!=s&&de.ZERO.subTo(t,t)),e.t=l,e.clamp(),u>0&&e.rShiftTo(u,e),o<0&&de.ZERO.subTo(e,e)}}}function ul(n){var t=zt();return this.abs().divRemTo(n,null,t),this.s<0&&t.compareTo(de.ZERO)>0&&n.subTo(t,t),t}function In(n){this.m=n}function ll(n){return n.s<0||n.compareTo(this.m)>=0?n.mod(this.m):n}function cl(n){return n}function dl(n){n.divRemTo(this.m,null,n)}function fl(n,t,e){n.multiplyTo(t,e),this.reduce(e)}function hl(n,t){n.squareTo(t),this.reduce(t)}In.prototype.convert=ll;In.prototype.revert=cl;In.prototype.reduce=dl;In.prototype.mulTo=fl;In.prototype.sqrTo=hl;function pl(){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 Tn(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 vl(n){var t=zt();return n.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),n.s<0&&t.compareTo(de.ZERO)>0&&this.m.subTo(t,t),t}function Al(n){var t=zt();return n.copyTo(t),this.reduce(t),t}function ml(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 gl(n,t){n.squareTo(t),this.reduce(t)}function yl(n,t,e){n.multiplyTo(t,e),this.reduce(e)}Tn.prototype.convert=vl;Tn.prototype.revert=Al;Tn.prototype.reduce=ml;Tn.prototype.mulTo=yl;Tn.prototype.sqrTo=gl;function bl(){return(this.t>0?this[0]&1:this.s)==0}function xl(n,t){if(n>4294967295||n<1)return de.ONE;var e=zt(),r=zt(),i=t.convert(this),a=Xa(n)-1;for(i.copyTo(e);--a>=0;)if(t.sqrTo(e,r),(n&1<<a)>0)t.mulTo(r,i,e);else{var o=e;e=r,r=o}return t.revert(e)}function wl(n,t){var e;return n<256||t.isEven()?e=new In(t):e=new Tn(t),this.exp(n,e)}de.prototype.copyTo=Ku;de.prototype.fromInt=ju;de.prototype.fromString=Ju;de.prototype.clamp=Xu;de.prototype.dlShiftTo=el;de.prototype.drShiftTo=tl;de.prototype.lShiftTo=rl;de.prototype.rShiftTo=nl;de.prototype.subTo=il;de.prototype.multiplyTo=al;de.prototype.squareTo=ol;de.prototype.divRemTo=sl;de.prototype.invDigit=pl;de.prototype.isEven=bl;de.prototype.exp=xl;de.prototype.toString=Wu;de.prototype.negate=_u;de.prototype.abs=Zu;de.prototype.compareTo=Yu;de.prototype.bitLength=$u;de.prototype.mod=ul;de.prototype.modPowInt=wl;de.ZERO=Ja(0);de.ONE=Ja(1);/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ */function El(){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 Cl(n){return Math.floor(Math.LN2*this.DB/Math.log(n))}function Ml(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function Sl(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=Ja(e),i=zt(),a=zt(),o="";for(this.divRemTo(r,i,a);i.signum()>0;)o=(e+a.intValue()).toString(n).substr(1)+o,i.divRemTo(r,i,a);return a.intValue().toString(n)+o}de.prototype.chunkSize=Cl;de.prototype.toRadix=Sl;de.prototype.intValue=El;de.prototype.signum=Ml;/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ */var mn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n0="=";function Il(n){var t,e,r="";for(t=0;t+3<=n.length;t+=3)e=parseInt(n.substring(t,t+3),16),r+=mn.charAt(e>>6)+mn.charAt(e&63);for(t+1==n.length?(e=parseInt(n.substring(t,t+1),16),r+=mn.charAt(e<<2)):t+2==n.length&&(e=parseInt(n.substring(t,t+2),16),r+=mn.charAt(e>>2)+mn.charAt((e&3)<<4));(r.length&3)>0;)r+=n0;return r}function Wa(n){var t="",e,r=0,i,a;for(e=0;e<n.length&&n.charAt(e)!=n0;++e)a=mn.indexOf(n.charAt(e)),!(a<0)&&(r==0?(t+=yr(a>>2),i=a&3,r=1):r==1?(t+=yr(i<<2|a>>4),i=a&15,r=2):r==2?(t+=yr(i),t+=yr(a>>2),i=a&3,r=3):(t+=yr(i<<2|a>>4),t+=yr(a&15),r=0));return r==1&&(t+=yr(i<<2)),t}/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ */function yt(n,t){return new de(n,t)}function Tl(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 a=new SecureRandom,o=new Array;t>2;){for(o[0]=0;o[0]==0;)a.nextBytes(o);e[--t]=o[0]}return e[--t]=2,e[--t]=0,new de(e)}function Po(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 Pl(n,t,e,r){var i=te.crypto.MessageDigest,a=te.crypto.Util,o=null;if(e||(e="sha1"),typeof e=="string"&&(o=i.getCanonicalAlgName(e),r=i.getHashLength(o),e=function(v){return xr(a.hashHex(Ri(v),o))}),n.length+2*r+2>t)throw"Message too long for RSA";var s="",u;for(u=0;u<t-n.length-2*r-2;u+=1)s+="\0";var l=e("")+s+""+n,c=new Array(r);new SecureRandom().nextBytes(c);var h=Po(c,l.length,e),A=[];for(u=0;u<l.length;u+=1)A[u]=l.charCodeAt(u)^h.charCodeAt(u);var m=Po(A,c.length,e),f=[0];for(u=0;u<c.length;u+=1)f[u+1]=c[u]^m.charCodeAt(u);return new de(f.concat(A))}function Re(){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 Bl(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=yt(n,16),this.e=parseInt(t,16);else throw"Invalid RSA public key"}function Rl(n){return n.modPowInt(this.e,this.n)}function kl(n){var t=Tl(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 Fl(n,t,e){var r=Pl(n,this.n.bitLength()+7>>3,t,e);if(r==null)return null;var i=this.doPublic(r);if(i==null)return null;var a=i.toString(16);return a.length&1?"0"+a:a}Re.prototype.doPublic=Rl;Re.prototype.setPublic=Bl;Re.prototype.encrypt=kl;Re.prototype.encryptOAEP=Fl;Re.prototype.type="RSA";/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ */function Ll(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 a=e[r]&255;a<128?i+=String.fromCharCode(a):a>191&&a<224?(i+=String.fromCharCode((a&31)<<6|e[r+1]&63),++r):(i+=String.fromCharCode((a&15)<<12|(e[r+1]&63)<<6|e[r+2]&63),r+=2)}return i}function Bo(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 Ol(n,t,e,r){var i=te.crypto.MessageDigest,a=te.crypto.Util,o=null;e||(e="sha1"),typeof e=="string"&&(o=i.getCanonicalAlgName(e),r=i.getHashLength(o),e=function(y){return xr(a.hashHex(Ri(y),o))}),n=n.toByteArray();var h;for(h=0;h<n.length;h+=1)n[h]&=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 s=n.substr(1,r),u=n.substr(r+1),l=Bo(u,r,e),c=[],h;for(h=0;h<s.length;h+=1)c[h]=s.charCodeAt(h)^l.charCodeAt(h);var A=Bo(String.fromCharCode.apply(String,c),n.length-r,e),m=[];for(h=0;h<u.length;h+=1)m[h]=u.charCodeAt(h)^A.charCodeAt(h);if(m=String.fromCharCode.apply(String,m),m.substr(0,r)!==e(""))throw"Hash mismatch";m=m.substr(r);var f=m.indexOf(""),v=f!=-1?m.substr(0,f).lastIndexOf("\0"):-1;if(v+1!=f)throw"Malformed data";return m.substr(f+1)}function Vl(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=yt(n,16),this.e=parseInt(t,16),this.d=yt(e,16);else throw"Invalid RSA private key"}function Nl(n,t,e,r,i,a,o,s){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=yt(n,16),this.e=parseInt(t,16),this.d=yt(e,16),this.p=yt(r,16),this.q=yt(i,16),this.dmp1=yt(a,16),this.dmq1=yt(o,16),this.coeff=yt(s,16);else throw"Invalid RSA private key in RSASetPrivateEx"}function zl(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 Dl(n){if(n.length!=Math.ceil(this.n.bitLength()/4))throw new Error("wrong ctext length");var t=yt(n,16),e=this.doPrivate(t);return e==null?null:Ll(e,this.n.bitLength()+7>>3)}function Ql(n,t,e){if(n.length!=Math.ceil(this.n.bitLength()/4))throw new Error("wrong ctext length");var r=yt(n,16),i=this.doPrivate(r);return i==null?null:Ol(i,this.n.bitLength()+7>>3,t,e)}Re.prototype.doPrivate=zl;Re.prototype.setPrivate=Vl;Re.prototype.setPrivateEx=Nl;Re.prototype.decrypt=Dl;Re.prototype.decryptOAEP=Ql;(typeof te.lang=="undefined"||!te.lang)&&(te.lang={});te.lang.String=function(){};function Ul(n){return n.length%4==2?n=n+"==":n.length%4==3&&(n=n+"="),n=n.replace(/-/g,"+"),n=n.replace(/_/g,"/"),n}function et(n){return Wa(Ul(n))}function sr(n){return decodeURIComponent(jl(n))}function xr(n){for(var t="",e=0;e<n.length-1;e+=2)t+=String.fromCharCode(parseInt(n.substr(e,2),16));return t}function Ri(n){for(var t="",e=0;e<n.length;e++)t+=("0"+n.charCodeAt(e).toString(16)).slice(-2);return t}function ql(n){return Il(n)}function Hl(n){var t=ql(n),e=t.replace(/(.{64})/g,`$1\r
344
- `);return e=e.replace(/\r\n$/,""),e}function Gl(n){var t=n.replace(/[^0-9A-Za-z\/+=]*/g,""),e=Wa(t);return e}function Kl(n,t){var e=Hl(n);return"-----BEGIN "+t+`-----\r
342
+ */var te={},xe=xe||function(n,t){var e={},r=e.lib={},i=r.Base=function(){function A(){}return{extend:function(m){A.prototype=this;var h=new A;return m&&h.mixIn(m),h.hasOwnProperty("init")||(h.init=function(){h.$super.init.apply(this,arguments)}),h.init.prototype=h,h.$super=this,h},create:function(){var m=this.extend();return m.init.apply(m,arguments),m},init:function(){},mixIn:function(m){for(var h in m)m.hasOwnProperty(h)&&(this[h]=m[h]);m.hasOwnProperty("toString")&&(this.toString=m.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),a=r.WordArray=i.extend({init:function(A,m){A=this.words=A||[],m!=t?this.sigBytes=m:this.sigBytes=A.length*4},toString:function(A){return(A||s).stringify(this)},concat:function(A){var m=this.words,h=A.words,p=this.sigBytes,y=A.sigBytes;if(this.clamp(),p%4)for(var v=0;v<y;v++){var g=h[v>>>2]>>>24-v%4*8&255;m[p+v>>>2]|=g<<24-(p+v)%4*8}else for(var v=0;v<y;v+=4)m[p+v>>>2]=h[v>>>2];return this.sigBytes+=y,this},clamp:function(){var A=this.words,m=this.sigBytes;A[m>>>2]&=4294967295<<32-m%4*8,A.length=n.ceil(m/4)},clone:function(){var A=i.clone.call(this);return A.words=this.words.slice(0),A},random:function(A){for(var m=[],h=0;h<A;h+=4)m.push(n.random()*4294967296|0);return new a.init(m,A)}}),o=e.enc={},s=o.Hex={stringify:function(A){for(var m=A.words,h=A.sigBytes,p=[],y=0;y<h;y++){var v=m[y>>>2]>>>24-y%4*8&255;p.push((v>>>4).toString(16)),p.push((v&15).toString(16))}return p.join("")},parse:function(A){for(var m=A.length,h=[],p=0;p<m;p+=2)h[p>>>3]|=parseInt(A.substr(p,2),16)<<24-p%8*4;return new a.init(h,m/2)}},l=o.Latin1={stringify:function(A){for(var m=A.words,h=A.sigBytes,p=[],y=0;y<h;y++){var v=m[y>>>2]>>>24-y%4*8&255;p.push(String.fromCharCode(v))}return p.join("")},parse:function(A){for(var m=A.length,h=[],p=0;p<m;p++)h[p>>>2]|=(A.charCodeAt(p)&255)<<24-p%4*8;return new a.init(h,m)}},u=o.Utf8={stringify:function(A){try{return decodeURIComponent(escape(l.stringify(A)))}catch(m){throw new Error("Malformed UTF-8 data")}},parse:function(A){return l.parse(unescape(encodeURIComponent(A)))}},c=r.BufferedBlockAlgorithm=i.extend({reset:function(){this._data=new a.init,this._nDataBytes=0},_append:function(A){typeof A=="string"&&(A=u.parse(A)),this._data.concat(A),this._nDataBytes+=A.sigBytes},_process:function(A){var m=this._data,h=m.words,p=m.sigBytes,y=this.blockSize,v=y*4,g=p/v;A?g=n.ceil(g):g=n.max((g|0)-this._minBufferSize,0);var x=g*y,b=n.min(x*4,p);if(x){for(var w=0;w<x;w+=y)this._doProcessBlock(h,w);var E=h.splice(0,x);m.sigBytes-=b}return new a.init(E,b)},clone:function(){var A=i.clone.call(this);return A._data=this._data.clone(),A},_minBufferSize:0});r.Hasher=c.extend({cfg:i.extend(),init:function(A){this.cfg=this.cfg.extend(A),this.reset()},reset:function(){c.reset.call(this),this._doReset()},update:function(A){return this._append(A),this._process(),this},finalize:function(A){A&&this._append(A);var m=this._doFinalize();return m},blockSize:512/32,_createHelper:function(A){return function(m,h){return new A.init(h).finalize(m)}},_createHmacHelper:function(A){return function(m,h){return new f.HMAC.init(A,h).finalize(m)}}});var f=e.algo={};return e}(Math);(function(n){for(var t=xe,m=t.lib,e=m.WordArray,r=m.Hasher,m=t.algo,i=[],a=[],o=function(p){return 4294967296*(p-(p|0))|0},s=2,l=0;64>l;){var u;e:{u=s;for(var c=n.sqrt(u),f=2;f<=c;f++)if(!(u%f)){u=!1;break e}u=!0}u&&(8>l&&(i[l]=o(n.pow(s,.5))),a[l]=o(n.pow(s,1/3)),l++),s++}var A=[],m=m.SHA256=r.extend({_doReset:function(){this._hash=new e.init(i.slice(0))},_doProcessBlock:function(h,p){for(var y=this._hash.words,v=y[0],g=y[1],x=y[2],b=y[3],w=y[4],E=y[5],I=y[6],M=y[7],k=0;64>k;k++){if(16>k)A[k]=h[p+k]|0;else{var B=A[k-15],C=A[k-2];A[k]=((B<<25|B>>>7)^(B<<14|B>>>18)^B>>>3)+A[k-7]+((C<<15|C>>>17)^(C<<13|C>>>19)^C>>>10)+A[k-16]}B=M+((w<<26|w>>>6)^(w<<21|w>>>11)^(w<<7|w>>>25))+(w&E^~w&I)+a[k]+A[k],C=((v<<30|v>>>2)^(v<<19|v>>>13)^(v<<10|v>>>22))+(v&g^v&x^g&x),M=I,I=E,E=w,w=b+B|0,b=x,x=g,g=v,v=B+C|0}y[0]=y[0]+v|0,y[1]=y[1]+g|0,y[2]=y[2]+x|0,y[3]=y[3]+b|0,y[4]=y[4]+w|0,y[5]=y[5]+E|0,y[6]=y[6]+I|0,y[7]=y[7]+M|0},_doFinalize:function(){var h=this._data,p=h.words,y=8*this._nDataBytes,v=8*h.sigBytes;return p[v>>>5]|=128<<24-v%32,p[(v+64>>>9<<4)+14]=n.floor(y/4294967296),p[(v+64>>>9<<4)+15]=y,h.sigBytes=4*p.length,this._process(),this._hash},clone:function(){var h=r.clone.call(this);return h._hash=this._hash.clone(),h}});t.SHA256=r._createHelper(m),t.HmacSHA256=r._createHmacHelper(m)})(Math);xe.lib.Cipher||function(n){var m=xe,t=m.lib,e=t.Base,r=t.WordArray,i=t.BufferedBlockAlgorithm,a=m.enc.Base64,o=m.algo.EvpKDF,s=t.Cipher=i.extend({cfg:e.extend(),createEncryptor:function(p,y){return this.create(this._ENC_XFORM_MODE,p,y)},createDecryptor:function(p,y){return this.create(this._DEC_XFORM_MODE,p,y)},init:function(p,y,v){this.cfg=this.cfg.extend(v),this._xformMode=p,this._key=y,this.reset()},reset:function(){i.reset.call(this),this._doReset()},process:function(p){return this._append(p),this._process()},finalize:function(p){return p&&this._append(p),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(p){return{encrypt:function(y,v,g){return(typeof v=="string"?h:A).encrypt(p,y,v,g)},decrypt:function(y,v,g){return(typeof v=="string"?h:A).decrypt(p,y,v,g)}}}});t.StreamCipher=s.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var f=m.mode={},l=function(p,y,v){var g=this._iv;g?this._iv=n:g=this._prevBlock;for(var x=0;x<v;x++)p[y+x]^=g[x]},u=(t.BlockCipherMode=e.extend({createEncryptor:function(p,y){return this.Encryptor.create(p,y)},createDecryptor:function(p,y){return this.Decryptor.create(p,y)},init:function(p,y){this._cipher=p,this._iv=y}})).extend();u.Encryptor=u.extend({processBlock:function(p,y){var v=this._cipher,g=v.blockSize;l.call(this,p,y,g),v.encryptBlock(p,y),this._prevBlock=p.slice(y,y+g)}}),u.Decryptor=u.extend({processBlock:function(p,y){var v=this._cipher,g=v.blockSize,x=p.slice(y,y+g);v.decryptBlock(p,y),l.call(this,p,y,g),this._prevBlock=x}}),f=f.CBC=u,u=(m.pad={}).Pkcs7={pad:function(p,y){for(var v=4*y,v=v-p.sigBytes%v,g=v<<24|v<<16|v<<8|v,x=[],b=0;b<v;b+=4)x.push(g);v=r.create(x,v),p.concat(v)},unpad:function(p){p.sigBytes-=p.words[p.sigBytes-1>>>2]&255}},t.BlockCipher=s.extend({cfg:s.cfg.extend({mode:f,padding:u}),reset:function(){s.reset.call(this);var y=this.cfg,p=y.iv,y=y.mode;if(this._xformMode==this._ENC_XFORM_MODE)var v=y.createEncryptor;else v=y.createDecryptor,this._minBufferSize=1;this._mode=v.call(y,this,p&&p.words)},_doProcessBlock:function(p,y){this._mode.processBlock(p,y)},_doFinalize:function(){var p=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){p.pad(this._data,this.blockSize);var y=this._process(!0)}else y=this._process(!0),p.unpad(y);return y},blockSize:4});var c=t.CipherParams=e.extend({init:function(p){this.mixIn(p)},toString:function(p){return(p||this.formatter).stringify(this)}}),f=(m.format={}).OpenSSL={stringify:function(p){var y=p.ciphertext;return p=p.salt,(p?r.create([1398893684,1701076831]).concat(p).concat(y):y).toString(a)},parse:function(p){p=a.parse(p);var y=p.words;if(y[0]==1398893684&&y[1]==1701076831){var v=r.create(y.slice(2,4));y.splice(0,4),p.sigBytes-=16}return c.create({ciphertext:p,salt:v})}},A=t.SerializableCipher=e.extend({cfg:e.extend({format:f}),encrypt:function(p,y,v,g){g=this.cfg.extend(g);var x=p.createEncryptor(v,g);return y=x.finalize(y),x=x.cfg,c.create({ciphertext:y,key:v,iv:x.iv,algorithm:p,mode:x.mode,padding:x.padding,blockSize:p.blockSize,formatter:g.format})},decrypt:function(p,y,v,g){return g=this.cfg.extend(g),y=this._parse(y,g.format),p.createDecryptor(v,g).finalize(y.ciphertext)},_parse:function(p,y){return typeof p=="string"?y.parse(p,this):p}}),m=(m.kdf={}).OpenSSL={execute:function(p,y,v,g){return g||(g=r.random(8)),p=o.create({keySize:y+v}).compute(p,g),v=r.create(p.words.slice(y),4*v),p.sigBytes=4*y,c.create({key:p,iv:v,salt:g})}},h=t.PasswordBasedCipher=A.extend({cfg:A.cfg.extend({kdf:m}),encrypt:function(p,y,v,g){return g=this.cfg.extend(g),v=g.kdf.execute(v,p.keySize,p.ivSize),g.iv=v.iv,p=A.encrypt.call(this,p,y,v.key,g),p.mixIn(v),p},decrypt:function(p,y,v,g){return g=this.cfg.extend(g),y=this._parse(y,g.format),v=g.kdf.execute(v,p.keySize,p.ivSize,y.salt),g.iv=v.iv,A.decrypt.call(this,p,y,v.key,g)}})}();(function(){for(var n=xe,t=n.lib.BlockCipher,E=n.algo,e=[],r=[],i=[],a=[],o=[],s=[],l=[],u=[],c=[],f=[],A=[],m=0;256>m;m++)A[m]=128>m?m<<1:m<<1^283;for(var h=0,p=0,m=0;256>m;m++){var y=p^p<<1^p<<2^p<<3^p<<4,y=y>>>8^y&255^99;e[h]=y,r[y]=h;var v=A[h],g=A[v],x=A[g],b=257*A[y]^16843008*y;i[h]=b<<24|b>>>8,a[h]=b<<16|b>>>16,o[h]=b<<8|b>>>24,s[h]=b,b=16843009*x^65537*g^257*v^16843008*h,l[y]=b<<24|b>>>8,u[y]=b<<16|b>>>16,c[y]=b<<8|b>>>24,f[y]=b,h?(h=v^A[A[A[x^v]]],p^=A[A[p]]):h=p=1}var w=[0,1,2,4,8,16,32,64,128,27,54],E=E.AES=t.extend({_doReset:function(){for(var k=this._key,I=k.words,M=k.sigBytes/4,k=4*((this._nRounds=M+6)+1),B=this._keySchedule=[],C=0;C<k;C++)if(C<M)B[C]=I[C];else{var T=B[C-1];C%M?6<M&&C%M==4&&(T=e[T>>>24]<<24|e[T>>>16&255]<<16|e[T>>>8&255]<<8|e[T&255]):(T=T<<8|T>>>24,T=e[T>>>24]<<24|e[T>>>16&255]<<16|e[T>>>8&255]<<8|e[T&255],T^=w[C/M|0]<<24),B[C]=B[C-M]^T}for(I=this._invKeySchedule=[],M=0;M<k;M++)C=k-M,T=M%4?B[C]:B[C-4],I[M]=4>M||4>=C?T:l[e[T>>>24]]^u[e[T>>>16&255]]^c[e[T>>>8&255]]^f[e[T&255]]},encryptBlock:function(I,M){this._doCryptBlock(I,M,this._keySchedule,i,a,o,s,e)},decryptBlock:function(I,M){var k=I[M+1];I[M+1]=I[M+3],I[M+3]=k,this._doCryptBlock(I,M,this._invKeySchedule,l,u,c,f,r),k=I[M+1],I[M+1]=I[M+3],I[M+3]=k},_doCryptBlock:function(I,M,k,B,C,T,O,P){for(var F=this._nRounds,J=I[M]^k[0],G=I[M+1]^k[1],W=I[M+2]^k[2],q=I[M+3]^k[3],V=4,z=1;z<F;z++)var j=B[J>>>24]^C[G>>>16&255]^T[W>>>8&255]^O[q&255]^k[V++],K=B[G>>>24]^C[W>>>16&255]^T[q>>>8&255]^O[J&255]^k[V++],H=B[W>>>24]^C[q>>>16&255]^T[J>>>8&255]^O[G&255]^k[V++],q=B[q>>>24]^C[J>>>16&255]^T[G>>>8&255]^O[W&255]^k[V++],J=j,G=K,W=H;j=(P[J>>>24]<<24|P[G>>>16&255]<<16|P[W>>>8&255]<<8|P[q&255])^k[V++],K=(P[G>>>24]<<24|P[W>>>16&255]<<16|P[q>>>8&255]<<8|P[J&255])^k[V++],H=(P[W>>>24]<<24|P[q>>>16&255]<<16|P[J>>>8&255]<<8|P[G&255])^k[V++],q=(P[q>>>24]<<24|P[J>>>16&255]<<16|P[G>>>8&255]<<8|P[W&255])^k[V++],I[M]=j,I[M+1]=K,I[M+2]=H,I[M+3]=q},keySize:8});n.AES=t._createHelper(E)})();/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/
343
+ */var Qr;function de(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 zt(){return new de(null)}function _u(n,t,e,r,i,a){for(;--a>=0;){var o=t*this[n++]+e[r]+i;i=Math.floor(o/67108864),e[r++]=o&67108863}return i}function Zu(n,t,e,r,i,a){for(var o=t&32767,s=t>>15;--a>=0;){var l=this[n]&32767,u=this[n++]>>15,c=s*l+u*o;l=o*l+((c&32767)<<15)+e[r]+(i&1073741823),i=(l>>>30)+(c>>>15)+s*u+(i>>>30),e[r++]=l&1073741823}return i}function Yu(n,t,e,r,i,a){for(var o=t&16383,s=t>>14;--a>=0;){var l=this[n]&16383,u=this[n++]>>14,c=s*l+u*o;l=o*l+((c&16383)<<14)+e[r]+i,i=(l>>28)+(c>>14)+s*u,e[r++]=l&268435455}return i}typeof navigator!="undefined"&&navigator.appName=="Microsoft Internet Explorer"?(de.prototype.am=Zu,Qr=30):typeof navigator!="undefined"&&navigator.appName!="Netscape"?(de.prototype.am=_u,Qr=26):(de.prototype.am=Yu,Qr=28);de.prototype.DB=Qr;de.prototype.DM=(1<<Qr)-1;de.prototype.DV=1<<Qr;var Za=52;de.prototype.FV=Math.pow(2,Za);de.prototype.F1=Za-Qr;de.prototype.F2=2*Qr-Za;var $u="0123456789abcdefghijklmnopqrstuvwxyz",Fi=new Array,Mn,Lt;Mn=48;for(Lt=0;Lt<=9;++Lt)Fi[Mn++]=Lt;Mn=97;for(Lt=10;Lt<36;++Lt)Fi[Mn++]=Lt;Mn=65;for(Lt=10;Lt<36;++Lt)Fi[Mn++]=Lt;function yr(n){return $u.charAt(n)}function el(n,t){var e=Fi[n.charCodeAt(t)];return e==null?-1:e}function tl(n){for(var t=this.t-1;t>=0;--t)n[t]=this[t];n.t=this.t,n.s=this.s}function rl(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 Ya(n){var t=zt();return t.fromInt(n),t}function nl(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,a=0;--r>=0;){var o=e==8?n[r]&255:el(n,r);if(o<0){n.charAt(r)=="-"&&(i=!0);continue}i=!1,a==0?this[this.t++]=o:a+e>this.DB?(this[this.t-1]|=(o&(1<<this.DB-a)-1)<<a,this[this.t++]=o>>this.DB-a):this[this.t-1]|=o<<a,a+=e,a>=this.DB&&(a-=this.DB)}e==8&&n[0]&128&&(this.s=-1,a>0&&(this[this.t-1]|=(1<<this.DB-a)-1<<a)),this.clamp(),i&&de.ZERO.subTo(this,this)}function il(){for(var n=this.s&this.DM;this.t>0&&this[this.t-1]==n;)--this.t}function al(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,a="",o=this.t,s=this.DB-o*this.DB%t;if(o-- >0)for(s<this.DB&&(r=this[o]>>s)>0&&(i=!0,a=yr(r));o>=0;)s<t?(r=(this[o]&(1<<s)-1)<<t-s,r|=this[--o]>>(s+=this.DB-t)):(r=this[o]>>(s-=t)&e,s<=0&&(s+=this.DB,--o)),r>0&&(i=!0),i&&(a+=yr(r));return i?a:"0"}function ol(){var n=zt();return de.ZERO.subTo(this,n),n}function sl(){return this.s<0?this.negate():this}function ul(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 $a(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 ll(){return this.t<=0?0:this.DB*(this.t-1)+$a(this[this.t-1]^this.s&this.DM)}function cl(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 dl(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 fl(n,t){var e=n%this.DB,r=this.DB-e,i=(1<<r)-1,a=Math.floor(n/this.DB),o=this.s<<e&this.DM,s;for(s=this.t-1;s>=0;--s)t[s+a+1]=this[s]>>r|o,o=(this[s]&i)<<e;for(s=a-1;s>=0;--s)t[s]=0;t[a]=o,t.t=this.t+a+1,t.s=this.s,t.clamp()}function hl(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,a=(1<<r)-1;t[0]=this[e]>>r;for(var o=e+1;o<this.t;++o)t[o-e-1]|=(this[o]&a)<<i,t[o-e]=this[o]>>r;r>0&&(t[this.t-e-1]|=(this.s&a)<<i),t.t=this.t-e,t.clamp()}function pl(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 vl(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&&de.ZERO.subTo(t,t)}function Al(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 ml(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=zt());var a=zt(),o=this.s,s=n.s,l=this.DB-$a(r[r.t-1]);l>0?(r.lShiftTo(l,a),i.lShiftTo(l,e)):(r.copyTo(a),i.copyTo(e));var u=a.t,c=a[u-1];if(c!=0){var f=c*(1<<this.F1)+(u>1?a[u-2]>>this.F2:0),A=this.FV/f,m=(1<<this.F1)/f,h=1<<this.F2,p=e.t,y=p-u,v=t==null?zt():t;for(a.dlShiftTo(y,v),e.compareTo(v)>=0&&(e[e.t++]=1,e.subTo(v,e)),de.ONE.dlShiftTo(u,v),v.subTo(a,a);a.t<u;)a[a.t++]=0;for(;--y>=0;){var g=e[--p]==c?this.DM:Math.floor(e[p]*A+(e[p-1]+h)*m);if((e[p]+=a.am(0,g,e,y,0,u))<g)for(a.dlShiftTo(y,v),e.subTo(v,e);e[p]<--g;)e.subTo(v,e)}t!=null&&(e.drShiftTo(u,t),o!=s&&de.ZERO.subTo(t,t)),e.t=u,e.clamp(),l>0&&e.rShiftTo(l,e),o<0&&de.ZERO.subTo(e,e)}}}function gl(n){var t=zt();return this.abs().divRemTo(n,null,t),this.s<0&&t.compareTo(de.ZERO)>0&&n.subTo(t,t),t}function In(n){this.m=n}function yl(n){return n.s<0||n.compareTo(this.m)>=0?n.mod(this.m):n}function bl(n){return n}function xl(n){n.divRemTo(this.m,null,n)}function wl(n,t,e){n.multiplyTo(t,e),this.reduce(e)}function El(n,t){n.squareTo(t),this.reduce(t)}In.prototype.convert=yl;In.prototype.revert=bl;In.prototype.reduce=xl;In.prototype.mulTo=wl;In.prototype.sqrTo=El;function Cl(){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 Sn(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 Ml(n){var t=zt();return n.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),n.s<0&&t.compareTo(de.ZERO)>0&&this.m.subTo(t,t),t}function Il(n){var t=zt();return n.copyTo(t),this.reduce(t),t}function Sl(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 Tl(n,t){n.squareTo(t),this.reduce(t)}function Pl(n,t,e){n.multiplyTo(t,e),this.reduce(e)}Sn.prototype.convert=Ml;Sn.prototype.revert=Il;Sn.prototype.reduce=Sl;Sn.prototype.mulTo=Pl;Sn.prototype.sqrTo=Tl;function Bl(){return(this.t>0?this[0]&1:this.s)==0}function Rl(n,t){if(n>4294967295||n<1)return de.ONE;var e=zt(),r=zt(),i=t.convert(this),a=$a(n)-1;for(i.copyTo(e);--a>=0;)if(t.sqrTo(e,r),(n&1<<a)>0)t.mulTo(r,i,e);else{var o=e;e=r,r=o}return t.revert(e)}function kl(n,t){var e;return n<256||t.isEven()?e=new In(t):e=new Sn(t),this.exp(n,e)}de.prototype.copyTo=tl;de.prototype.fromInt=rl;de.prototype.fromString=nl;de.prototype.clamp=il;de.prototype.dlShiftTo=cl;de.prototype.drShiftTo=dl;de.prototype.lShiftTo=fl;de.prototype.rShiftTo=hl;de.prototype.subTo=pl;de.prototype.multiplyTo=vl;de.prototype.squareTo=Al;de.prototype.divRemTo=ml;de.prototype.invDigit=Cl;de.prototype.isEven=Bl;de.prototype.exp=Rl;de.prototype.toString=al;de.prototype.negate=ol;de.prototype.abs=sl;de.prototype.compareTo=ul;de.prototype.bitLength=ll;de.prototype.mod=gl;de.prototype.modPowInt=kl;de.ZERO=Ya(0);de.ONE=Ya(1);/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ */function Fl(){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 Ll(n){return Math.floor(Math.LN2*this.DB/Math.log(n))}function Ol(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function Vl(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=Ya(e),i=zt(),a=zt(),o="";for(this.divRemTo(r,i,a);i.signum()>0;)o=(e+a.intValue()).toString(n).substr(1)+o,i.divRemTo(r,i,a);return a.intValue().toString(n)+o}de.prototype.chunkSize=Ll;de.prototype.toRadix=Vl;de.prototype.intValue=Fl;de.prototype.signum=Ol;/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ */var mn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",l0="=";function Nl(n){var t,e,r="";for(t=0;t+3<=n.length;t+=3)e=parseInt(n.substring(t,t+3),16),r+=mn.charAt(e>>6)+mn.charAt(e&63);for(t+1==n.length?(e=parseInt(n.substring(t,t+1),16),r+=mn.charAt(e<<2)):t+2==n.length&&(e=parseInt(n.substring(t,t+2),16),r+=mn.charAt(e>>2)+mn.charAt((e&3)<<4));(r.length&3)>0;)r+=l0;return r}function eo(n){var t="",e,r=0,i,a;for(e=0;e<n.length&&n.charAt(e)!=l0;++e)a=mn.indexOf(n.charAt(e)),!(a<0)&&(r==0?(t+=yr(a>>2),i=a&3,r=1):r==1?(t+=yr(i<<2|a>>4),i=a&15,r=2):r==2?(t+=yr(i),t+=yr(a>>2),i=a&3,r=3):(t+=yr(i<<2|a>>4),t+=yr(a&15),r=0));return r==1&&(t+=yr(i<<2)),t}/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ */function yt(n,t){return new de(n,t)}function zl(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 a=new SecureRandom,o=new Array;t>2;){for(o[0]=0;o[0]==0;)a.nextBytes(o);e[--t]=o[0]}return e[--t]=2,e[--t]=0,new de(e)}function Oo(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 Dl(n,t,e,r){var i=te.crypto.MessageDigest,a=te.crypto.Util,o=null;if(e||(e="sha1"),typeof e=="string"&&(o=i.getCanonicalAlgName(e),r=i.getHashLength(o),e=function(p){return xr(a.hashHex(Li(p),o))}),n.length+2*r+2>t)throw"Message too long for RSA";var s="",l;for(l=0;l<t-n.length-2*r-2;l+=1)s+="\0";var u=e("")+s+""+n,c=new Array(r);new SecureRandom().nextBytes(c);var f=Oo(c,u.length,e),A=[];for(l=0;l<u.length;l+=1)A[l]=u.charCodeAt(l)^f.charCodeAt(l);var m=Oo(A,c.length,e),h=[0];for(l=0;l<c.length;l+=1)h[l+1]=c[l]^m.charCodeAt(l);return new de(h.concat(A))}function Be(){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 Ql(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=yt(n,16),this.e=parseInt(t,16);else throw"Invalid RSA public key"}function Ul(n){return n.modPowInt(this.e,this.n)}function ql(n){var t=zl(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 Hl(n,t,e){var r=Dl(n,this.n.bitLength()+7>>3,t,e);if(r==null)return null;var i=this.doPublic(r);if(i==null)return null;var a=i.toString(16);return a.length&1?"0"+a:a}Be.prototype.doPublic=Ul;Be.prototype.setPublic=Ql;Be.prototype.encrypt=ql;Be.prototype.encryptOAEP=Hl;Be.prototype.type="RSA";/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ */function Gl(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 a=e[r]&255;a<128?i+=String.fromCharCode(a):a>191&&a<224?(i+=String.fromCharCode((a&31)<<6|e[r+1]&63),++r):(i+=String.fromCharCode((a&15)<<12|(e[r+1]&63)<<6|e[r+2]&63),r+=2)}return i}function Vo(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 Kl(n,t,e,r){var i=te.crypto.MessageDigest,a=te.crypto.Util,o=null;e||(e="sha1"),typeof e=="string"&&(o=i.getCanonicalAlgName(e),r=i.getHashLength(o),e=function(y){return xr(a.hashHex(Li(y),o))}),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 s=n.substr(1,r),l=n.substr(r+1),u=Vo(l,r,e),c=[],f;for(f=0;f<s.length;f+=1)c[f]=s.charCodeAt(f)^u.charCodeAt(f);var A=Vo(String.fromCharCode.apply(String,c),n.length-r,e),m=[];for(f=0;f<l.length;f+=1)m[f]=l.charCodeAt(f)^A.charCodeAt(f);if(m=String.fromCharCode.apply(String,m),m.substr(0,r)!==e(""))throw"Hash mismatch";m=m.substr(r);var h=m.indexOf(""),p=h!=-1?m.substr(0,h).lastIndexOf("\0"):-1;if(p+1!=h)throw"Malformed data";return m.substr(h+1)}function jl(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=yt(n,16),this.e=parseInt(t,16),this.d=yt(e,16);else throw"Invalid RSA private key"}function Jl(n,t,e,r,i,a,o,s){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=yt(n,16),this.e=parseInt(t,16),this.d=yt(e,16),this.p=yt(r,16),this.q=yt(i,16),this.dmp1=yt(a,16),this.dmq1=yt(o,16),this.coeff=yt(s,16);else throw"Invalid RSA private key in RSASetPrivateEx"}function Xl(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 Wl(n){if(n.length!=Math.ceil(this.n.bitLength()/4))throw new Error("wrong ctext length");var t=yt(n,16),e=this.doPrivate(t);return e==null?null:Gl(e,this.n.bitLength()+7>>3)}function _l(n,t,e){if(n.length!=Math.ceil(this.n.bitLength()/4))throw new Error("wrong ctext length");var r=yt(n,16),i=this.doPrivate(r);return i==null?null:Kl(i,this.n.bitLength()+7>>3,t,e)}Be.prototype.doPrivate=Xl;Be.prototype.setPrivate=jl;Be.prototype.setPrivateEx=Jl;Be.prototype.decrypt=Wl;Be.prototype.decryptOAEP=_l;(typeof te.lang=="undefined"||!te.lang)&&(te.lang={});te.lang.String=function(){};function Zl(n){return n.length%4==2?n=n+"==":n.length%4==3&&(n=n+"="),n=n.replace(/-/g,"+"),n=n.replace(/_/g,"/"),n}function et(n){return eo(Zl(n))}function sr(n){return decodeURIComponent(rc(n))}function xr(n){for(var t="",e=0;e<n.length-1;e+=2)t+=String.fromCharCode(parseInt(n.substr(e,2),16));return t}function Li(n){for(var t="",e=0;e<n.length;e++)t+=("0"+n.charCodeAt(e).toString(16)).slice(-2);return t}function Yl(n){return Nl(n)}function $l(n){var t=Yl(n),e=t.replace(/(.{64})/g,`$1\r
344
+ `);return e=e.replace(/\r\n$/,""),e}function ec(n){var t=n.replace(/[^0-9A-Za-z\/+=]*/g,""),e=eo(t);return e}function tc(n,t){var e=$l(n);return"-----BEGIN "+t+`-----\r
345
345
  `+e+`\r
346
346
  -----END `+t+`-----\r
347
- `}function nn(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 [^-]+-----[^]*$/,"")),Gl(n)}function jl(n){return n.replace(/(..)/g,"%$1")}function Jl(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 Ro(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?Jl(n):n}function Xl(n){function t(i){var a=parseInt(i.substr(0,2),16),o=parseInt(i.substr(2),16);if(a==0&o<128)return String.fromCharCode(o);if(a<8){var s=192|(a&7)<<3|(o&192)>>6,u=128|o&63;return sr(s.toString(16)+u.toString(16))}var s=224|(a&240)>>4,u=128|(a&15)<<2|(o&192)>>6,l=128|o&63;return sr(s.toString(16)+u.toString(16)+l.toString(16))}var e=n.match(/.{4}/g),r=e.map(t);return r.join("")}te.lang.String.isHex=function(n){return i0(n)};function i0(n){return!!(n.length%2==0&&(n.match(/^[0-9a-f]+$/)||n.match(/^[0-9A-F]+$/)))}te.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 ko(n){return n.length%2==1?"0"+n:n.substr(0,1)>"7"?"00"+n:n}function Wl(n){if(!i0(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),a=[],o=0;o<i.length/2;o++)a.push(parseInt(i.substr(o*2,2),16));for(var s=[],u="",o=0;o<a.length;o++)a[o]&128?u=u+Fo((a[o]&127).toString(2),7):(u=u+Fo((a[o]&127).toString(2),7),s.push(new String(parseInt(u,2))),u="");var l=t.join(".");return s.length>0&&(l=l+"."+s.join(".")),l}catch(c){return null}}var Fo=function(n,t,e){return e==null&&(e="0"),n.length>=t?n:new Array(t-n.length+1).join(e)+n};function _l(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(a){return-1}}(typeof te.crypto=="undefined"||!te.crypto)&&(te.crypto={});te.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:xe.algo.MD5,sha1:xe.algo.SHA1,sha224:xe.algo.SHA224,sha256:xe.algo.SHA256,sha384:xe.algo.SHA384,sha512:xe.algo.SHA512,ripemd160:xe.algo.RIPEMD160},this.hashString=function(n,t){var e=new te.crypto.MessageDigest({alg:t});return e.digestString(n)},this.hashHex=function(n,t){var e=new te.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")}};te.crypto.MessageDigest=function(n){this.setAlgAndProvider=function(t,e){if(t=te.crypto.MessageDigest.getCanonicalAlgName(t),t!==null&&e===void 0&&(e=te.crypto.Util.DEFAULTPROVIDER[t]),":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:".indexOf(t)!=-1&&e=="cryptojs"){try{this.md=te.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=xe.enc.Hex.parse(r);this.md.update(i)},this.digest=function(){var r=this.md.finalize();return r.toString(xe.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=te.crypto.Util.DEFAULTPROVIDER[this.algName]),this.setAlgAndProvider(this.algName,this.provName))};te.crypto.MessageDigest.getCanonicalAlgName=function(n){return typeof n=="string"&&(n=n.toLowerCase(),n=n.replace(/-/,"")),n};te.crypto.MessageDigest.getHashLength=function(n){var t=te.crypto.MessageDigest,e=t.getCanonicalAlgName(n);if(t.HASHLENGTH[e]===void 0)throw"not supported algorithm: "+n;return t.HASHLENGTH[e]};te.crypto.MessageDigest.HASHLENGTH={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,ripemd160:20};te.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="",a=r/4-e.length,o=0;o<a;o++)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 te.crypto.MessageDigest({alg:this.mdAlgName})}catch(i){throw new Error("setAlgAndProvider hash alg set fail alg="+this.mdAlgName+"/"+i)}this.init=function(i,a){var o=null;try{a===void 0?o=en.getKey(i):o=en.getKey(i,a)}catch(s){throw"init failed:"+s}if(o.isPrivate===!0)this.prvKey=o,this.state="SIGN";else if(o.isPublic===!0)this.pubKey=o,this.state="VERIFY";else throw"init failed.:"+o},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 Re&&this.pubkeyAlgName==="rsaandmgf1")return this.pubKey.verifyWithMessageHashPSS(this.sHashHex,i,this.mdAlgName,this.pssSaltLen);if(this.pubKey instanceof Re&&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=te.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=en.getKey(n.prvkeypem);this.init(t)}catch(e){throw"fatal error to load pem private key: "+e}}};te.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 en=function(){var n=function(f,v,y){return r(xe.AES,f,v,y)},t=function(f,v,y){return r(xe.TripleDES,f,v,y)},e=function(f,v,y){return r(xe.DES,f,v,y)},r=function(f,v,y,p){var g=xe.enc.Hex.parse(v),x=xe.enc.Hex.parse(y),b=xe.enc.Hex.parse(p),w={};w.key=x,w.iv=b,w.ciphertext=g;var E=f.decrypt(w,x,{iv:b});return xe.enc.Hex.stringify(E)},i=function(f,v,y){return s(xe.AES,f,v,y)},a=function(f,v,y){return s(xe.TripleDES,f,v,y)},o=function(f,v,y){return s(xe.DES,f,v,y)},s=function(f,v,y,p){var g=xe.enc.Hex.parse(v),x=xe.enc.Hex.parse(y),b=xe.enc.Hex.parse(p),w=f.encrypt(g,x,{iv:b}),E=xe.enc.Hex.parse(w.toString()),M=xe.enc.Base64.stringify(E);return M},u={"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:a,keylen:24,ivlen:8},"DES-CBC":{proc:e,eproc:o,keylen:8,ivlen:8}},l=function(f){var v=xe.lib.WordArray.random(f),y=xe.enc.Hex.stringify(v);return y},c=function(f){var v={},y=f.match(new RegExp("DEK-Info: ([^,]+),([0-9A-Fa-f]+)","m"));y&&(v.cipher=y[1],v.ivsalt=y[2]);var p=f.match(new RegExp("-----BEGIN ([A-Z]+) PRIVATE KEY-----"));p&&(v.type=p[1]);var g=-1,x=0;f.indexOf(`\r
347
+ `}function an(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 [^-]+-----[^]*$/,"")),ec(n)}function rc(n){return n.replace(/(..)/g,"%$1")}function nc(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 No(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?nc(n):n}function ic(n){function t(i){var a=parseInt(i.substr(0,2),16),o=parseInt(i.substr(2),16);if(a==0&o<128)return String.fromCharCode(o);if(a<8){var s=192|(a&7)<<3|(o&192)>>6,l=128|o&63;return sr(s.toString(16)+l.toString(16))}var s=224|(a&240)>>4,l=128|(a&15)<<2|(o&192)>>6,u=128|o&63;return sr(s.toString(16)+l.toString(16)+u.toString(16))}var e=n.match(/.{4}/g),r=e.map(t);return r.join("")}te.lang.String.isHex=function(n){return c0(n)};function c0(n){return!!(n.length%2==0&&(n.match(/^[0-9a-f]+$/)||n.match(/^[0-9A-F]+$/)))}te.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 zo(n){return n.length%2==1?"0"+n:n.substr(0,1)>"7"?"00"+n:n}function ac(n){if(!c0(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),a=[],o=0;o<i.length/2;o++)a.push(parseInt(i.substr(o*2,2),16));for(var s=[],l="",o=0;o<a.length;o++)a[o]&128?l=l+Do((a[o]&127).toString(2),7):(l=l+Do((a[o]&127).toString(2),7),s.push(new String(parseInt(l,2))),l="");var u=t.join(".");return s.length>0&&(u=u+"."+s.join(".")),u}catch(c){return null}}var Do=function(n,t,e){return e==null&&(e="0"),n.length>=t?n:new Array(t-n.length+1).join(e)+n};function oc(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(a){return-1}}(typeof te.crypto=="undefined"||!te.crypto)&&(te.crypto={});te.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:xe.algo.MD5,sha1:xe.algo.SHA1,sha224:xe.algo.SHA224,sha256:xe.algo.SHA256,sha384:xe.algo.SHA384,sha512:xe.algo.SHA512,ripemd160:xe.algo.RIPEMD160},this.hashString=function(n,t){var e=new te.crypto.MessageDigest({alg:t});return e.digestString(n)},this.hashHex=function(n,t){var e=new te.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")}};te.crypto.MessageDigest=function(n){this.setAlgAndProvider=function(t,e){if(t=te.crypto.MessageDigest.getCanonicalAlgName(t),t!==null&&e===void 0&&(e=te.crypto.Util.DEFAULTPROVIDER[t]),":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:".indexOf(t)!=-1&&e=="cryptojs"){try{this.md=te.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=xe.enc.Hex.parse(r);this.md.update(i)},this.digest=function(){var r=this.md.finalize();return r.toString(xe.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=te.crypto.Util.DEFAULTPROVIDER[this.algName]),this.setAlgAndProvider(this.algName,this.provName))};te.crypto.MessageDigest.getCanonicalAlgName=function(n){return typeof n=="string"&&(n=n.toLowerCase(),n=n.replace(/-/,"")),n};te.crypto.MessageDigest.getHashLength=function(n){var t=te.crypto.MessageDigest,e=t.getCanonicalAlgName(n);if(t.HASHLENGTH[e]===void 0)throw"not supported algorithm: "+n;return t.HASHLENGTH[e]};te.crypto.MessageDigest.HASHLENGTH={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,ripemd160:20};te.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="",a=r/4-e.length,o=0;o<a;o++)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 te.crypto.MessageDigest({alg:this.mdAlgName})}catch(i){throw new Error("setAlgAndProvider hash alg set fail alg="+this.mdAlgName+"/"+i)}this.init=function(i,a){var o=null;try{a===void 0?o=tn.getKey(i):o=tn.getKey(i,a)}catch(s){throw"init failed:"+s}if(o.isPrivate===!0)this.prvKey=o,this.state="SIGN";else if(o.isPublic===!0)this.pubKey=o,this.state="VERIFY";else throw"init failed.:"+o},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 Be&&this.pubkeyAlgName==="rsaandmgf1")return this.pubKey.verifyWithMessageHashPSS(this.sHashHex,i,this.mdAlgName,this.pssSaltLen);if(this.pubKey instanceof Be&&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=te.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=tn.getKey(n.prvkeypem);this.init(t)}catch(e){throw"fatal error to load pem private key: "+e}}};te.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 tn=function(){var n=function(h,p,y){return r(xe.AES,h,p,y)},t=function(h,p,y){return r(xe.TripleDES,h,p,y)},e=function(h,p,y){return r(xe.DES,h,p,y)},r=function(h,p,y,v){var g=xe.enc.Hex.parse(p),x=xe.enc.Hex.parse(y),b=xe.enc.Hex.parse(v),w={};w.key=x,w.iv=b,w.ciphertext=g;var E=h.decrypt(w,x,{iv:b});return xe.enc.Hex.stringify(E)},i=function(h,p,y){return s(xe.AES,h,p,y)},a=function(h,p,y){return s(xe.TripleDES,h,p,y)},o=function(h,p,y){return s(xe.DES,h,p,y)},s=function(h,p,y,v){var g=xe.enc.Hex.parse(p),x=xe.enc.Hex.parse(y),b=xe.enc.Hex.parse(v),w=h.encrypt(g,x,{iv:b}),E=xe.enc.Hex.parse(w.toString()),I=xe.enc.Base64.stringify(E);return I},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:a,keylen:24,ivlen:8},"DES-CBC":{proc:e,eproc:o,keylen:8,ivlen:8}},u=function(h){var p=xe.lib.WordArray.random(h),y=xe.enc.Hex.stringify(p);return y},c=function(h){var p={},y=h.match(new RegExp("DEK-Info: ([^,]+),([0-9A-Fa-f]+)","m"));y&&(p.cipher=y[1],p.ivsalt=y[2]);var v=h.match(new RegExp("-----BEGIN ([A-Z]+) PRIVATE KEY-----"));v&&(p.type=v[1]);var g=-1,x=0;h.indexOf(`\r
348
348
  \r
349
- `)!=-1&&(g=f.indexOf(`\r
349
+ `)!=-1&&(g=h.indexOf(`\r
350
350
  \r
351
- `),x=2),f.indexOf(`
352
-
353
- `)!=-1&&(g=f.indexOf(`
354
-
355
- `),x=1);var b=f.indexOf("-----END");if(g!=-1&&b!=-1){var w=f.substring(g+x*2,b-x);w=w.replace(/\s+/g,""),v.data=w}return v},h=function(f,v,y){for(var p=y.substring(0,16),g=xe.enc.Hex.parse(p),x=xe.enc.Utf8.parse(v),b=u[f].keylen+u[f].ivlen,w="",E=null;;){var M=xe.algo.MD5.create();if(E!=null&&M.update(E),M.update(x),M.update(g),E=M.finalize(),w=w+xe.enc.Hex.stringify(E),w.length>=b*2)break}var C={};return C.keyhex=w.substr(0,u[f].keylen*2),C.ivhex=w.substr(u[f].keylen*2,u[f].ivlen*2),C},A=function(f,v,y,p){var g=xe.enc.Base64.parse(f),x=xe.enc.Hex.stringify(g),b=u[v].proc,w=b(x,y,p);return w},m=function(f,v,y,p){var g=u[v].eproc,x=g(f,y,p);return x};return{version:"1.0.0",parsePKCS5PEM:function(f){return c(f)},getKeyAndUnusedIvByPasscodeAndIvsalt:function(f,v,y){return h(f,v,y)},decryptKeyB64:function(f,v,y,p){return A(f,v,y,p)},getDecryptedKeyHex:function(f,v){var y=c(f),p=y.cipher,g=y.ivsalt,x=y.data,b=h(p,v,g),w=b.keyhex,E=A(x,p,w,g);return E},getEncryptedPKCS5PEMFromPrvKeyHex:function(f,v,y,p,g){var I="";if((typeof p=="undefined"||p==null)&&(p="AES-256-CBC"),typeof u[p]=="undefined")throw"KEYUTIL unsupported algorithm: "+p;if(typeof g=="undefined"||g==null){var x=u[p].ivlen,b=l(x);g=b.toUpperCase()}var w=h(p,y,g),E=w.keyhex,M=m(v,p,E,g),C=M.replace(/(.{64})/g,`$1\r
356
- `),I="-----BEGIN "+f+` PRIVATE KEY-----\r
357
- `;return I+=`Proc-Type: 4,ENCRYPTED\r
358
- `,I+="DEK-Info: "+p+","+g+`\r
359
- `,I+=`\r
360
- `,I+=C,I+=`\r
361
- -----END `+f+` PRIVATE KEY-----\r
362
- `,I},parseHexOfEncryptedPKCS8:function(f){var v=oe,y=v.getChildIdx,p=v.getV,g={},x=y(f,0);if(x.length!=2)throw"malformed format: SEQUENCE(0).items != 2: "+x.length;g.ciphertext=p(f,x[1]);var b=y(f,x[0]);if(b.length!=2)throw"malformed format: SEQUENCE(0.0).items != 2: "+b.length;if(p(f,b[0])!="2a864886f70d01050d")throw"this only supports pkcs5PBES2";var w=y(f,b[1]);if(b.length!=2)throw"malformed format: SEQUENCE(0.0.1).items != 2: "+w.length;var E=y(f,w[1]);if(E.length!=2)throw"malformed format: SEQUENCE(0.0.1.1).items != 2: "+E.length;if(p(f,E[0])!="2a864886f70d0307")throw"this only supports TripleDES";g.encryptionSchemeAlg="TripleDES",g.encryptionSchemeIV=p(f,E[1]);var M=y(f,w[0]);if(M.length!=2)throw"malformed format: SEQUENCE(0.0.1.0).items != 2: "+M.length;if(p(f,M[0])!="2a864886f70d01050c")throw"this only supports pkcs5PBKDF2";var C=y(f,M[1]);if(C.length<2)throw"malformed format: SEQUENCE(0.0.1.0.1).items < 2: "+C.length;g.pbkdf2Salt=p(f,C[0]);var I=p(f,C[1]);try{g.pbkdf2Iter=parseInt(I,16)}catch(S){throw"malformed format pbkdf2Iter: "+I}return g},getPBKDF2KeyHexFromParam:function(f,v){var y=xe.enc.Hex.parse(f.pbkdf2Salt),p=f.pbkdf2Iter,g=xe.PBKDF2(v,y,{keySize:192/32,iterations:p}),x=xe.enc.Hex.stringify(g);return x},_getPlainPKCS8HexFromEncryptedPKCS8PEM:function(f,v){var y=nn(f,"ENCRYPTED PRIVATE KEY"),p=this.parseHexOfEncryptedPKCS8(y),g=en.getPBKDF2KeyHexFromParam(p,v),x={};x.ciphertext=xe.enc.Hex.parse(p.ciphertext);var b=xe.enc.Hex.parse(g),w=xe.enc.Hex.parse(p.encryptionSchemeIV),E=xe.TripleDES.decrypt(x,b,{iv:w}),M=xe.enc.Hex.stringify(E);return M},getKeyFromEncryptedPKCS8PEM:function(f,v){var y=this._getPlainPKCS8HexFromEncryptedPKCS8PEM(f,v),p=this.getKeyFromPlainPrivatePKCS8Hex(y);return p},parsePlainPrivatePKCS8Hex:function(f){var v=oe,y=v.getChildIdx,p=v.getV,g={};if(g.algparam=null,f.substr(0,2)!="30")throw new Error("malformed plain PKCS8 private key(code:001)");var x=y(f,0);if(x.length<3)throw new Error("malformed plain PKCS8 private key(code:002)");if(f.substr(x[1],2)!="30")throw new Error("malformed PKCS8 private key(code:003)");var b=y(f,x[1]);if(b.length!=2)throw new Error("malformed PKCS8 private key(code:004)");if(f.substr(b[0],2)!="06")throw new Error("malformed PKCS8 private key(code:005)");if(g.algoid=p(f,b[0]),f.substr(b[1],2)=="06"&&(g.algparam=p(f,b[1])),f.substr(x[2],2)!="04")throw new Error("malformed PKCS8 private key(code:006)");return g.keyidx=v.getVidx(f,x[2]),g},getKeyFromPlainPrivatePKCS8PEM:function(f){var v=nn(f,"PRIVATE KEY"),y=this.getKeyFromPlainPrivatePKCS8Hex(v);return y},getKeyFromPlainPrivatePKCS8Hex:function(f){var v=this.parsePlainPrivatePKCS8Hex(f),y;if(v.algoid=="2a864886f70d010101")y=new Re;else if(te.crypto.DSA&&v.algoid=="2a8648ce380401")y=new te.crypto.DSA;else if(te.crypto.ECDSA&&v.algoid=="2a8648ce3d0201")y=new te.crypto.ECDSA;else throw"unsupported private key algorithm";return y.readPKCS8PrvKeyHex(f),y},_getKeyFromPublicPKCS8Hex:function(f){var v,y=oe.getVbyList(f,0,[0,0],"06");if(y==="2a864886f70d010101")v=new Re;else if(te.crypto.DSA&&y==="2a8648ce380401")v=new te.crypto.DSA;else if(te.crypto.ECDSA&&y==="2a8648ce3d0201")v=new te.crypto.ECDSA;else throw"unsupported PKCS#8 public key hex";return v.readPKCS8PubKeyHex(f),v},parsePublicRawRSAKeyHex:function(f){var v=oe,y=v.getChildIdx,p=v.getV,g={};if(f.substr(0,2)!="30")throw"malformed RSA key(code:001)";var x=y(f,0);if(x.length!=2)throw"malformed RSA key(code:002)";if(f.substr(x[0],2)!="02")throw"malformed RSA key(code:003)";if(g.n=p(f,x[0]),f.substr(x[1],2)!="02")throw"malformed RSA key(code:004)";return g.e=p(f,x[1]),g},parsePublicPKCS8Hex:function(f){var v=oe,y=v.getChildIdx,p=v.getV,g={};g.algparam=null;var x=y(f,0);if(x.length!=2)throw"outer DERSequence shall have 2 elements: "+x.length;var b=x[0];if(f.substr(b,2)!="30")throw"malformed PKCS8 public key(code:001)";var w=y(f,b);if(w.length!=2)throw"malformed PKCS8 public key(code:002)";if(f.substr(w[0],2)!="06")throw"malformed PKCS8 public key(code:003)";if(g.algoid=p(f,w[0]),f.substr(w[1],2)=="06"?g.algparam=p(f,w[1]):f.substr(w[1],2)=="30"&&(g.algparam={},g.algparam.p=v.getVbyList(f,w[1],[0],"02"),g.algparam.q=v.getVbyList(f,w[1],[1],"02"),g.algparam.g=v.getVbyList(f,w[1],[2],"02")),f.substr(x[1],2)!="03")throw"malformed PKCS8 public key(code:004)";return g.key=p(f,x[1]).substr(2),g}}}();en.getKey=function(n,t,e){var r=oe,i=r.getChildIdx;r.getV;var a=r.getVbyList,o=te.crypto,s=o.ECDSA,u=o.DSA,l=Re,c=nn,h=en;if(typeof l!="undefined"&&n instanceof l||typeof s!="undefined"&&n instanceof s||typeof u!="undefined"&&n instanceof u)return n;if(n.curve!==void 0&&n.xy!==void 0&&n.d===void 0)return new s({pub:n.xy,curve:n.curve});if(n.curve!==void 0&&n.d!==void 0)return new s({prv:n.d,curve:n.curve});if(n.kty===void 0&&n.n!==void 0&&n.e!==void 0&&n.d===void 0){var A=new l;return A.setPublic(n.n,n.e),A}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 A=new l;return A.setPrivateEx(n.n,n.e,n.d,n.p,n.q,n.dp,n.dq,n.co),A}if(n.kty===void 0&&n.n!==void 0&&n.e!==void 0&&n.d!==void 0&&n.p===void 0){var A=new l;return A.setPrivate(n.n,n.e,n.d),A}if(n.p!==void 0&&n.q!==void 0&&n.g!==void 0&&n.y!==void 0&&n.x===void 0){var A=new u;return A.setPublic(n.p,n.q,n.g,n.y),A}if(n.p!==void 0&&n.q!==void 0&&n.g!==void 0&&n.y!==void 0&&n.x!==void 0){var A=new u;return A.setPrivate(n.p,n.q,n.g,n.y,n.x),A}if(n.kty==="RSA"&&n.n!==void 0&&n.e!==void 0&&n.d===void 0){var A=new l;return A.setPublic(et(n.n),et(n.e)),A}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 A=new l;return A.setPrivateEx(et(n.n),et(n.e),et(n.d),et(n.p),et(n.q),et(n.dp),et(n.dq),et(n.qi)),A}if(n.kty==="RSA"&&n.n!==void 0&&n.e!==void 0&&n.d!==void 0){var A=new l;return A.setPrivate(et(n.n),et(n.e),et(n.d)),A}if(n.kty==="EC"&&n.crv!==void 0&&n.x!==void 0&&n.y!==void 0&&n.d===void 0){var m=new s({curve:n.crv}),f=m.ecparams.keylen/4,v=("0000000000"+et(n.x)).slice(-f),y=("0000000000"+et(n.y)).slice(-f),p="04"+v+y;return m.setPublicKeyHex(p),m}if(n.kty==="EC"&&n.crv!==void 0&&n.x!==void 0&&n.y!==void 0&&n.d!==void 0){var m=new s({curve:n.crv}),f=m.ecparams.keylen/4,v=("0000000000"+et(n.x)).slice(-f),y=("0000000000"+et(n.y)).slice(-f),p="04"+v+y,g=("0000000000"+et(n.d)).slice(-f);return m.setPublicKeyHex(p),m.setPrivateKeyHex(g),m}if(e==="pkcs5prv"){var x=n,r=oe,b,A;if(b=i(x,0),b.length===9)A=new l,A.readPKCS5PrvKeyHex(x);else if(b.length===6)A=new u,A.readPKCS5PrvKeyHex(x);else if(b.length>2&&x.substr(b[1],2)==="04")A=new s,A.readPKCS5PrvKeyHex(x);else throw"unsupported PKCS#1/5 hexadecimal key";return A}if(e==="pkcs8prv"){var A=h.getKeyFromPlainPrivatePKCS8Hex(n);return A}if(e==="pkcs8pub")return h._getKeyFromPublicPKCS8Hex(n);if(e==="x509pub")return He.getPublicKeyFromCertHex(n);if(n.indexOf("-END CERTIFICATE-",0)!=-1||n.indexOf("-END X509 CERTIFICATE-",0)!=-1||n.indexOf("-END TRUSTED CERTIFICATE-",0)!=-1)return He.getPublicKeyFromCertPEM(n);if(n.indexOf("-END PUBLIC KEY-")!=-1){var w=nn(n,"PUBLIC KEY");return h._getKeyFromPublicPKCS8Hex(w)}if(n.indexOf("-END RSA PRIVATE KEY-")!=-1&&n.indexOf("4,ENCRYPTED")==-1){var E=c(n,"RSA PRIVATE KEY");return h.getKey(E,null,"pkcs5prv")}if(n.indexOf("-END DSA PRIVATE KEY-")!=-1&&n.indexOf("4,ENCRYPTED")==-1){var M=c(n,"DSA PRIVATE KEY"),C=a(M,0,[1],"02"),I=a(M,0,[2],"02"),S=a(M,0,[3],"02"),P=a(M,0,[4],"02"),B=a(M,0,[5],"02"),A=new u;return A.setPrivate(new de(C,16),new de(I,16),new de(S,16),new de(P,16),new de(B,16)),A}if(n.indexOf("-END EC PRIVATE KEY-")!=-1&&n.indexOf("4,ENCRYPTED")==-1){var E=c(n,"EC PRIVATE KEY");return h.getKey(E,null,"pkcs5prv")}if(n.indexOf("-END PRIVATE KEY-")!=-1)return h.getKeyFromPlainPrivatePKCS8PEM(n);if(n.indexOf("-END RSA PRIVATE KEY-")!=-1&&n.indexOf("4,ENCRYPTED")!=-1){var L=h.getDecryptedKeyHex(n,t),k=new Re;return k.readPKCS5PrvKeyHex(L),k}if(n.indexOf("-END EC PRIVATE KEY-")!=-1&&n.indexOf("4,ENCRYPTED")!=-1){var M=h.getDecryptedKeyHex(n,t),A=a(M,0,[1],"04"),O=a(M,0,[2,0],"06"),z=a(M,0,[3,0],"03").substr(2),N="";if(te.crypto.OID.oidhex2name[O]!==void 0)N=te.crypto.OID.oidhex2name[O];else throw"undefined OID(hex) in KJUR.crypto.OID: "+O;var m=new s({curve:N});return m.setPublicKeyHex(z),m.setPrivateKeyHex(A),m.isPublic=!1,m}if(n.indexOf("-END DSA PRIVATE KEY-")!=-1&&n.indexOf("4,ENCRYPTED")!=-1){var M=h.getDecryptedKeyHex(n,t),C=a(M,0,[1],"02"),I=a(M,0,[2],"02"),S=a(M,0,[3],"02"),P=a(M,0,[4],"02"),B=a(M,0,[5],"02"),A=new u;return A.setPrivate(new de(C,16),new de(I,16),new de(S,16),new de(P,16),new de(B,16)),A}if(n.indexOf("-END ENCRYPTED PRIVATE KEY-")!=-1)return h.getKeyFromEncryptedPKCS8PEM(n,t);throw new Error("not supported argument")};(typeof te.asn1=="undefined"||!te.asn1)&&(te.asn1={});te.asn1.ASN1Util={};te.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,a="",o=2;o<n.length;o+=2){var s=parseInt(n.substr(o,2),16),u=("00000000"+s.toString(2)).slice(-8);if(a=a+u.substr(1,7),u.substr(0,1)=="0"){var l=new de(a,2);i=i+"."+l.toString(10),a=""}}return i};var oe=new function(){};oe.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};oe.getL=function(n,t){var e=oe.getLblen(n,t);return e<1?"":n.substr(t+2,e*2)};oe.getVblen=function(n,t){var e,r;return e=oe.getL(n,t),e==""?-1:(e.substr(0,1)==="8"?r=new de(e.substr(2),16):r=new de(e,16),r.intValue())};oe.getVidx=function(n,t){var e=oe.getLblen(n,t);return e<0?e:t+(e+1)*2};oe.getV=function(n,t){var e=oe.getVidx(n,t),r=oe.getVblen(n,t);return n.substr(e,r*2)};oe.getTLV=function(n,t){return n.substr(t,2)+oe.getL(n,t)+oe.getV(n,t)};oe.getTLVblen=function(n,t){return 2+oe.getLblen(n,t)*2+oe.getVblen(n,t)*2};oe.getNextSiblingIdx=function(n,t){var e=oe.getVidx(n,t),r=oe.getVblen(n,t);return e+r*2};oe.getChildIdx=function(n,t){var e=oe,r=[],i,a,o;i=e.getVidx(n,t),a=e.getVblen(n,t)*2,n.substr(t,2)=="03"&&(i+=2,a-=2),o=0;for(var s=i;o<=a;){var u=e.getTLVblen(n,s);if(o+=u,o<=a&&r.push(s),s+=u,o>=a)break}return r};oe.getNthChildIdx=function(n,t,e){var r=oe.getChildIdx(n,t);return r[e]};oe.getIdxbyList=function(n,t,e,r){var i=oe,a,o;return e.length==0?r!==void 0&&n.substr(t,2)!==r?-1:t:(a=e.shift(),o=i.getChildIdx(n,t),a>=o.length?-1:i.getIdxbyList(n,o[a],e,r))};oe.getIdxbyListEx=function(n,t,e,r){var i=oe,a,o;if(e.length==0)return r!==void 0&&n.substr(t,2)!==r?-1:t;a=e.shift(),o=i.getChildIdx(n,t);for(var s=0,u=0;u<o.length;u++){var l=n.substr(o[u],2);if(typeof a=="number"&&!i.isContextTag(l)&&s==a||typeof a=="string"&&i.isContextTag(l,a))return i.getIdxbyListEx(n,o[u],e,r);i.isContextTag(l)||s++}return-1};oe.getTLVbyList=function(n,t,e,r){var i=oe,a=i.getIdxbyList(n,t,e,r);return a==-1||a>=n.length?null:i.getTLV(n,a)};oe.getTLVbyListEx=function(n,t,e,r){var i=oe,a=i.getIdxbyListEx(n,t,e,r);return a==-1?null:i.getTLV(n,a)};oe.getVbyList=function(n,t,e,r,i){var a=oe,o,s;return o=a.getIdxbyList(n,t,e,r),o==-1||o>=n.length?null:(s=a.getV(n,o),i===!0&&(s=s.substr(2)),s)};oe.getVbyListEx=function(n,t,e,r,i){var a=oe,o,s;return o=a.getIdxbyListEx(n,t,e,r),o==-1?null:(s=a.getV(n,o),n.substr(o,2)=="03"&&i!==!1&&(s=s.substr(2)),s)};oe.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=oe.getV(n,t);return r=="02"?parseInt(i,16):_l(i)}catch(a){return e}};oe.getOID=function(n,t,e){e==null&&(e=null);try{if(n.substr(t,2)!="06")return e;var r=oe.getV(n,t);return Wl(r)}catch(i){return e}};oe.getOIDName=function(n,t,e){e==null&&(e=null);try{var r=oe.getOID(n,t,e);if(r==e)return e;var i=te.asn1.x509.OID.oid2name(r);return i==""?r:i}catch(a){return e}};oe.getString=function(n,t,e){e==null&&(e=null);try{var r=oe.getV(n,t);return xr(r)}catch(i){return e}};oe.hextooidstr=function(n){var t=function(h,A){return h.length>=A?h:new Array(A-h.length+1).join("0")+h},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 a=n.substr(2),o=[],s=0;s<a.length/2;s++)o.push(parseInt(a.substr(s*2,2),16));for(var u=[],l="",s=0;s<o.length;s++)o[s]&128?l=l+t((o[s]&127).toString(2),7):(l=l+t((o[s]&127).toString(2),7),u.push(new String(parseInt(l,2))),l="");var c=e.join(".");return u.length>0&&(c=c+"."+u.join(".")),c};oe.isContextTag=function(n,t){n=n.toLowerCase();var e,r;try{e=parseInt(n,16)}catch(a){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(a){return!1}};oe.isASN1HEX=function(n){var t=oe;if(n.length%2==1)return!1;var e=t.getVblen(n,0),r=n.substr(0,2),i=t.getL(n,0),a=n.length-r.length-i.length;return a==e*2};oe.checkStrictDER=function(n,t,e,r,i){var a=oe;if(e===void 0){if(typeof n!="string")throw new Error("not hex string");if(n=n.toLowerCase(),!te.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 o=a.getL(n,t);if(o.length>i*2)throw new Error("L of TLV too long: idx="+t);var s=a.getVblen(n,t);if(s>r)throw new Error("value of L too long than hex: idx="+t);var u=a.getTLV(n,t),l=u.length-2-a.getL(n,t).length;if(l!==s*2)throw new Error("V string length and L's value not the same:"+l+"/"+s*2);if(t===0&&n.length!=u.length)throw new Error("total length and TLV length unmatch:"+n.length+"!="+u.length);var c=n.substr(t,2);if(c==="02"){var h=a.getVidx(n,t);if(n.substr(h,2)=="00"&&n.charCodeAt(h+2)<56)throw new Error("not least zeros for DER INTEGER")}if(parseInt(c,16)&32){for(var A=a.getVblen(n,t),m=0,f=a.getChildIdx(n,t),v=0;v<f.length;v++){var y=a.getTLV(n,f[v]);m+=y.length,a.checkStrictDER(n,f[v],e,r,i)}if(A*2!=m)throw new Error("sum of children's TLV length and L unmatch: "+A*2+"!="+m)}};oe.oidname=function(n){var t=te.asn1;te.lang.String.isHex(n)&&(n=t.ASN1Util.oidHexToInt(n));var e=t.x509.OID.oid2name(n);return e===""&&(e=n),e};(typeof te.asn1=="undefined"||!te.asn1)&&(te.asn1={});(typeof te.asn1.x509=="undefined"||!te.asn1.x509)&&(te.asn1.x509={});te.asn1.x509.AlgorithmIdentifier={};te.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV={SHAwithRSAandMGF1:"300d06092a864886f70d01010a3000",SHA256withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040201a11a301806092a864886f70d010108300b0609608648016503040201a203020120",SHA384withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040202a11a301806092a864886f70d010108300b0609608648016503040202a203020130",SHA512withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040203a11a301806092a864886f70d010108300b0609608648016503040203a203020140"};te.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 te.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 te.asn1.DERObjectIdentifier({oid:e});return this.objCache[t]=r,r}};te.asn1.x509.OID.oid2name=function(n){var t=te.asn1.x509.OID.name2oidList;for(var e in t)if(t[e]==n)return e;return""};te.asn1.x509.OID.oid2atype=function(n){var t=te.asn1.x509.OID.atype2oidList;for(var e in t)if(t[e]==n)return e;return n};te.asn1.x509.OID.name2oid=function(n){if(n.match(/^[0-9.]+$/))return n;var t=te.asn1.x509.OID.name2oidList;return t[n]===void 0?"":t[n]};Re.getPosArrayOfChildrenFromHex=function(n){return oe.getChildIdx(n,0)};Re.getHexValueArrayOfChildrenFromHex=function(n){var t=oe,e=t.getV,A=Re.getPosArrayOfChildrenFromHex(n),r=e(n,A[0]),i=e(n,A[1]),a=e(n,A[2]),o=e(n,A[3]),s=e(n,A[4]),u=e(n,A[5]),l=e(n,A[6]),c=e(n,A[7]),h=e(n,A[8]),A=new Array;return A.push(r,i,a,o,s,u,l,c,h),A};Re.prototype.readPrivateKeyFromPEMString=function(n){var t=nn(n),e=Re.getHexValueArrayOfChildrenFromHex(t);this.setPrivateEx(e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])};Re.prototype.readPKCS5PrvKeyHex=function(n){var t=Re.getHexValueArrayOfChildrenFromHex(n);this.setPrivateEx(t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])};Re.prototype.readPKCS8PrvKeyHex=function(n){var t,e,r,i,a,o,s,u,l=oe,c=l.getVbyListEx;if(l.isASN1HEX(n)===!1)throw new Error("not ASN.1 hex string");try{t=c(n,0,[2,0,1],"02"),e=c(n,0,[2,0,2],"02"),r=c(n,0,[2,0,3],"02"),i=c(n,0,[2,0,4],"02"),a=c(n,0,[2,0,5],"02"),o=c(n,0,[2,0,6],"02"),s=c(n,0,[2,0,7],"02"),u=c(n,0,[2,0,8],"02")}catch(h){throw new Error("malformed PKCS#8 plain RSA private key")}this.setPrivateEx(t,e,r,i,a,o,s,u)};Re.prototype.readPKCS5PubKeyHex=function(n){var t=oe,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]),a=e(n,r[1]);this.setPublic(i,a)};Re.prototype.readPKCS8PubKeyHex=function(n){var t=oe;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)};Re.prototype.readCertPubKeyHex=function(n,t){var e,r;e=new He,e.readCertHex(n),r=e.getPublicKeyHex(),this.readPKCS8PubKeyHex(r)};function a0(n){for(var t in te.crypto.Util.DIGESTINFOHEAD){var e=te.crypto.Util.DIGESTINFOHEAD[t],r=e.length;if(n.substring(0,r)==e){var i=[t,n.substring(r)];return i}}return[]}Re.prototype.verify=function(n,t){if(t=t.toLowerCase(),t.match(/^[0-9a-f]+$/)==null)return!1;var e=yt(t,16),r=this.n.bitLength();if(e.bitLength()>r)return!1;var i=this.doPublic(e),a=i.toString(16);if(a.length+3!=r/4)return!1;var o=a.replace(/^1f+00/,""),s=a0(o);if(s.length==0)return!1;var u=s[0],l=s[1],c=function(A){return te.crypto.Util.hashString(A,u)},h=c(n);return l==h};Re.prototype.verifyWithMessageHash=function(n,t){if(t.length!=Math.ceil(this.n.bitLength()/4))return!1;var e=yt(t,16);if(e.bitLength()>this.n.bitLength())return 0;var r=this.doPublic(e),i=r.toString(16).replace(/^1f+00/,""),a=a0(i);if(a.length==0)return!1;a[0];var o=a[1];return o==n};Re.prototype.verifyPSS=function(n,t,e,r){var i=function(o){return te.crypto.Util.hashHex(o,e)},a=i(Ri(n));return r===void 0&&(r=-1),this.verifyWithMessageHashPSS(a,t,e,r)};Re.prototype.verifyWithMessageHashPSS=function(n,t,e,r){if(t.length!=Math.ceil(this.n.bitLength()/4))return!1;var i=new de(t,16),a=function(g){return te.crypto.Util.hashHex(g,e)},o=xr(n),s=o.length,u=this.n.bitLength()-1,l=Math.ceil(u/8),c;if(r===-1||r===void 0)r=s;else if(r===-2)r=l-s-2;else if(r<-2)throw new Error("invalid salt length");if(l<s+r+2)throw new Error("data too long");var h=this.doPublic(i).toByteArray();for(c=0;c<h.length;c+=1)h[c]&=255;for(;h.length<l;)h.unshift(0);if(h[l-1]!==188)throw new Error("encoded message does not end in 0xbc");h=String.fromCharCode.apply(String,h);var A=h.substr(0,l-s-1),m=h.substr(A.length,s),f=65280>>8*l-u&255;if(A.charCodeAt(0)&f)throw new Error("bits beyond keysize not zero");var v=pss_mgf1_str(m,A.length,a),y=[];for(c=0;c<A.length;c+=1)y[c]=A.charCodeAt(c)^v.charCodeAt(c);y[0]&=~f;var p=l-s-r-2;for(c=0;c<p;c+=1)if(y[c]!==0)throw new Error("leftmost octets not zero");if(y[p]!==1)throw new Error("0x01 marker not found");return m===xr(a(Ri("\0\0\0\0\0\0\0\0"+o+String.fromCharCode.apply(String,y.slice(-r)))))};Re.SALT_LEN_HLEN=-1;Re.SALT_LEN_MAX=-2;Re.SALT_LEN_RECOVER=-2;function He(n){var t=oe,e=t.getChildIdx,r=t.getV,i=t.getTLV,a=t.getVbyList,o=t.getVbyListEx,s=t.getTLVbyList,u=t.getTLVbyListEx,l=t.getIdxbyList,c=t.getIdxbyListEx,h=t.getVidx,A=t.getInt,m=t.oidname,f=t.hextooidstr,v=nn,y;try{y=te.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV}catch(p){}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 p=s(this.hex,0,[0,0]);if(p.substr(0,2)=="a0"){var g=s(p,0,[0]),x=A(g,0);if(x<0||2<x)throw new Error("malformed version field");return this.version=x+1,this.version}else return this.version=1,this.foffset=-1,1},this.getSerialNumberHex=function(){return o(this.hex,0,[0,0],"02")},this.getSignatureAlgorithmField=function(){var p=u(this.hex,0,[0,1]);return this.getAlgorithmIdentifierName(p)},this.getAlgorithmIdentifierName=function(p){for(var g in y)if(p===y[g])return g;return m(o(p,0,[0],"06"))},this.getIssuer=function(){return this.getX500Name(this.getIssuerHex())},this.getIssuerHex=function(){return s(this.hex,0,[0,3+this.foffset],"30")},this.getIssuerString=function(){var p=this.getIssuer();return p.str},this.getSubject=function(){return this.getX500Name(this.getSubjectHex())},this.getSubjectHex=function(){return s(this.hex,0,[0,5+this.foffset],"30")},this.getSubjectString=function(){var p=this.getSubject();return p.str},this.getNotBefore=function(){var p=a(this.hex,0,[0,4+this.foffset,0]);return p=p.replace(/(..)/g,"%$1"),p=decodeURIComponent(p),p},this.getNotAfter=function(){var p=a(this.hex,0,[0,4+this.foffset,1]);return p=p.replace(/(..)/g,"%$1"),p=decodeURIComponent(p),p},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 p=this.getPublicKeyIdx();return l(this.hex,p,[1,0],"30")},this.getPublicKey=function(){return en.getKey(this.getPublicKeyHex(),null,"pkcs8pub")},this.getSignatureAlgorithmName=function(){var p=s(this.hex,0,[1],"30");return this.getAlgorithmIdentifierName(p)},this.getSignatureValueHex=function(){return a(this.hex,0,[2],"03",!0)},this.verifySignature=function(p){var g=this.getSignatureAlgorithmField(),x=this.getSignatureValueHex(),b=s(this.hex,0,[0],"30"),w=new te.crypto.Signature({alg:g});return w.init(p),w.updateHex(b),w.verify(x)},this.parseExt=function(p){var g,x,b;if(p===void 0){if(b=this.hex,this.version!==3)return-1;g=l(b,0,[0,7,0],"30"),x=e(b,g)}else{b=nn(p);var w=l(b,0,[0,3,0,0],"06");if(r(b,w)!="2a864886f70d01090e"){this.aExtInfo=new Array;return}g=l(b,0,[0,3,0,1,0],"30"),x=e(b,g),this.hex=b}this.aExtInfo=new Array;for(var E=0;E<x.length;E++){var M={};M.critical=!1;var C=e(b,x[E]),I=0;C.length===3&&(M.critical=!0,I=1),M.oid=t.hextooidstr(a(b,x[E],[0],"06"));var S=l(b,x[E],[1+I]);M.vidx=h(b,S),this.aExtInfo.push(M)}},this.getExtInfo=function(p){var g=this.aExtInfo,x=p;if(p.match(/^[0-9.]+$/)||(x=te.asn1.x509.OID.name2oid(p)),x!==""){for(var b=0;b<g.length;b++)if(g[b].oid===x)return g[b]}},this.getExtBasicConstraints=function(p,g){if(p===void 0&&g===void 0){var x=this.getExtInfo("basicConstraints");if(x===void 0)return;p=i(this.hex,x.vidx),g=x.critical}var b={extname:"basicConstraints"};if(g&&(b.critical=!0),p==="3000")return b;if(p==="30030101ff")return b.cA=!0,b;if(p.substr(0,12)==="30060101ff02"){var w=r(p,10),E=parseInt(w,16);return b.cA=!0,b.pathLen=E,b}throw new Error("hExtV parse error: "+p)},this.getExtKeyUsage=function(p,g){if(p===void 0&&g===void 0){var x=this.getExtInfo("keyUsage");if(x===void 0)return;p=i(this.hex,x.vidx),g=x.critical}var b={extname:"keyUsage"};return g&&(b.critical=!0),b.names=this.getExtKeyUsageString(p).split(","),b},this.getExtKeyUsageBin=function(p){if(p===void 0){var g=this.getExtInfo("keyUsage");if(g===void 0)return"";p=i(this.hex,g.vidx)}if(p.length!=8&&p.length!=10)throw new Error("malformed key usage value: "+p);var x="000000000000000"+parseInt(p.substr(6),16).toString(2);return p.length==8&&(x=x.slice(-8)),p.length==10&&(x=x.slice(-16)),x=x.replace(/0+$/,""),x==""&&(x="0"),x},this.getExtKeyUsageString=function(p){for(var g=this.getExtKeyUsageBin(p),x=new Array,b=0;b<g.length;b++)g.substr(b,1)=="1"&&x.push(He.KEYUSAGE_NAME[b]);return x.join(",")},this.getExtSubjectKeyIdentifier=function(p,g){if(p===void 0&&g===void 0){var x=this.getExtInfo("subjectKeyIdentifier");if(x===void 0)return;p=i(this.hex,x.vidx),g=x.critical}var b={extname:"subjectKeyIdentifier"};g&&(b.critical=!0);var w=r(p,0);return b.kid={hex:w},b},this.getExtAuthorityKeyIdentifier=function(p,g){if(p===void 0&&g===void 0){var x=this.getExtInfo("authorityKeyIdentifier");if(x===void 0)return;p=i(this.hex,x.vidx),g=x.critical}var b={extname:"authorityKeyIdentifier"};g&&(b.critical=!0);for(var w=e(p,0),E=0;E<w.length;E++){var M=p.substr(w[E],2);if(M==="80"&&(b.kid={hex:r(p,w[E])}),M==="a1"){var C=i(p,w[E]),I=this.getGeneralNames(C);b.issuer=I[0].dn}M==="82"&&(b.sn={hex:r(p,w[E])})}return b},this.getExtExtKeyUsage=function(p,g){if(p===void 0&&g===void 0){var x=this.getExtInfo("extKeyUsage");if(x===void 0)return;p=i(this.hex,x.vidx),g=x.critical}var b={extname:"extKeyUsage",array:[]};g&&(b.critical=!0);for(var w=e(p,0),E=0;E<w.length;E++)b.array.push(m(r(p,w[E])));return b},this.getExtExtKeyUsageName=function(){var p=this.getExtInfo("extKeyUsage");if(p===void 0)return p;var g=new Array,x=i(this.hex,p.vidx);if(x==="")return g;for(var b=e(x,0),w=0;w<b.length;w++)g.push(m(r(x,b[w])));return g},this.getExtSubjectAltName=function(p,g){if(p===void 0&&g===void 0){var x=this.getExtInfo("subjectAltName");if(x===void 0)return;p=i(this.hex,x.vidx),g=x.critical}var b={extname:"subjectAltName",array:[]};return g&&(b.critical=!0),b.array=this.getGeneralNames(p),b},this.getExtIssuerAltName=function(p,g){if(p===void 0&&g===void 0){var x=this.getExtInfo("issuerAltName");if(x===void 0)return;p=i(this.hex,x.vidx),g=x.critical}var b={extname:"issuerAltName",array:[]};return g&&(b.critical=!0),b.array=this.getGeneralNames(p),b},this.getGeneralNames=function(p){for(var g=e(p,0),x=[],b=0;b<g.length;b++){var w=this.getGeneralName(i(p,g[b]));w!==void 0&&x.push(w)}return x},this.getGeneralName=function(p){var g=p.substr(0,2),x=r(p,0),b=xr(x);if(g=="81")return{rfc822:b};if(g=="82")return{dns:b};if(g=="86")return{uri:b};if(g=="87")return{ip:Ro(x)};if(g=="a4")return{dn:this.getX500Name(x)}},this.getExtSubjectAltName2=function(){var p,g,x,b=this.getExtInfo("subjectAltName");if(b===void 0)return b;for(var w=new Array,E=i(this.hex,b.vidx),M=e(E,0),C=0;C<M.length;C++)x=E.substr(M[C],2),p=r(E,M[C]),x==="81"&&(g=sr(p),w.push(["MAIL",g])),x==="82"&&(g=sr(p),w.push(["DNS",g])),x==="84"&&(g=He.hex2dn(p,0),w.push(["DN",g])),x==="86"&&(g=sr(p),w.push(["URI",g])),x==="87"&&(g=Ro(p),w.push(["IP",g]));return w},this.getExtCRLDistributionPoints=function(p,g){if(p===void 0&&g===void 0){var x=this.getExtInfo("cRLDistributionPoints");if(x===void 0)return;p=i(this.hex,x.vidx),g=x.critical}var b={extname:"cRLDistributionPoints",array:[]};g&&(b.critical=!0);for(var w=e(p,0),E=0;E<w.length;E++){var M=i(p,w[E]);b.array.push(this.getDistributionPoint(M))}return b},this.getDistributionPoint=function(p){for(var g={},x=e(p,0),b=0;b<x.length;b++){var w=p.substr(x[b],2),E=i(p,x[b]);w=="a0"&&(g.dpname=this.getDistributionPointName(E))}return g},this.getDistributionPointName=function(p){for(var g={},x=e(p,0),b=0;b<x.length;b++){var w=p.substr(x[b],2),E=i(p,x[b]);w=="a0"&&(g.full=this.getGeneralNames(E))}return g},this.getExtCRLDistributionPointsURI=function(){var p=this.getExtInfo("cRLDistributionPoints");if(p===void 0)return p;for(var g=new Array,x=e(this.hex,p.vidx),b=0;b<x.length;b++)try{var w=a(this.hex,x[b],[0,0,0],"86"),E=sr(w);g.push(E)}catch(M){}return g},this.getExtAIAInfo=function(){var p=this.getExtInfo("authorityInfoAccess");if(p===void 0)return p;for(var g={ocsp:[],caissuer:[]},x=e(this.hex,p.vidx),b=0;b<x.length;b++){var w=a(this.hex,x[b],[0],"06"),E=a(this.hex,x[b],[1],"86");w==="2b06010505073001"&&g.ocsp.push(sr(E)),w==="2b06010505073002"&&g.caissuer.push(sr(E))}return g},this.getExtAuthorityInfoAccess=function(p,g){if(p===void 0&&g===void 0){var x=this.getExtInfo("authorityInfoAccess");if(x===void 0)return;p=i(this.hex,x.vidx),g=x.critical}var b={extname:"authorityInfoAccess",array:[]};g&&(b.critical=!0);for(var w=e(p,0),E=0;E<w.length;E++){var M=o(p,w[E],[0],"06"),C=a(p,w[E],[1],"86"),I=sr(C);if(M=="2b06010505073001")b.array.push({ocsp:I});else if(M=="2b06010505073002")b.array.push({caissuer:I});else throw new Error("unknown method: "+M)}return b},this.getExtCertificatePolicies=function(p,g){if(p===void 0&&g===void 0){var x=this.getExtInfo("certificatePolicies");if(x===void 0)return;p=i(this.hex,x.vidx),g=x.critical}var b={extname:"certificatePolicies",array:[]};g&&(b.critical=!0);for(var w=e(p,0),E=0;E<w.length;E++){var M=i(p,w[E]),C=this.getPolicyInformation(M);b.array.push(C)}return b},this.getPolicyInformation=function(p){var g={},x=a(p,0,[0],"06");g.policyoid=m(x);var b=c(p,0,[1],"30");if(b!=-1){g.array=[];for(var w=e(p,b),E=0;E<w.length;E++){var M=i(p,w[E]),C=this.getPolicyQualifierInfo(M);g.array.push(C)}}return g},this.getPolicyQualifierInfo=function(p){var g={},x=a(p,0,[0],"06");if(x==="2b06010505070201"){var b=o(p,0,[1],"16");g.cps=xr(b)}else if(x==="2b06010505070202"){var w=s(p,0,[1],"30");g.unotice=this.getUserNotice(w)}return g},this.getUserNotice=function(p){for(var g={},x=e(p,0),b=0;b<x.length;b++){var w=i(p,x[b]);w.substr(0,2)!="30"&&(g.exptext=this.getDisplayText(w))}return g},this.getDisplayText=function(p){var g={"0c":"utf8",16:"ia5","1a":"vis","1e":"bmp"},x={};return x.type=g[p.substr(0,2)],x.str=xr(r(p,0)),x},this.getExtCRLNumber=function(p,g){var x={extname:"cRLNumber"};if(g&&(x.critical=!0),p.substr(0,2)=="02")return x.num={hex:r(p,0)},x;throw new Error("hExtV parse error: "+p)},this.getExtCRLReason=function(p,g){var x={extname:"cRLReason"};if(g&&(x.critical=!0),p.substr(0,2)=="0a")return x.code=parseInt(r(p,0),16),x;throw new Error("hExtV parse error: "+p)},this.getExtOcspNonce=function(p,g){var x={extname:"ocspNonce"};g&&(x.critical=!0);var b=r(p,0);return x.hex=b,x},this.getExtOcspNoCheck=function(p,g){var x={extname:"ocspNoCheck"};return g&&(x.critical=!0),x},this.getExtAdobeTimeStamp=function(p,g){if(p===void 0&&g===void 0){var x=this.getExtInfo("adobeTimeStamp");if(x===void 0)return;p=i(this.hex,x.vidx),g=x.critical}var b={extname:"adobeTimeStamp"};g&&(b.critical=!0);var w=e(p,0);if(w.length>1){var E=i(p,w[1]),M=this.getGeneralName(E);M.uri!=null&&(b.uri=M.uri)}if(w.length>2){var C=i(p,w[2]);C=="0101ff"&&(b.reqauth=!0),C=="010100"&&(b.reqauth=!1)}return b},this.getX500NameRule=function(p){for(var g=null,x=[],b=0;b<p.length;b++)for(var w=p[b],E=0;E<w.length;E++)x.push(w[E]);for(var b=0;b<x.length;b++){var M=x[b],C=M.ds,I=M.value,S=M.type;if(C!="prn"&&C!="utf8"&&C!="ia5")return"mixed";if(C=="ia5"){if(S!="CN")return"mixed";if(te.lang.String.isMail(I))continue;return"mixed"}if(S=="C"){if(C=="prn")continue;return"mixed"}if(g==null)g=C;else if(g!==C)return"mixed"}return g==null?"prn":g},this.getX500Name=function(p){var g=this.getX500NameArray(p),x=this.dnarraytostr(g);return{array:g,str:x}},this.getX500NameArray=function(p){for(var g=[],x=e(p,0),b=0;b<x.length;b++)g.push(this.getRDN(i(p,x[b])));return g},this.getRDN=function(p){for(var g=[],x=e(p,0),b=0;b<x.length;b++)g.push(this.getAttrTypeAndValue(i(p,x[b])));return g},this.getAttrTypeAndValue=function(p){var g={type:null,value:null,ds:null},x=e(p,0),b=a(p,x[0],[],"06"),w=a(p,x[1],[]),E=te.asn1.ASN1Util.oidHexToInt(b);return g.type=te.asn1.x509.OID.oid2atype(E),g.ds=this.HEX2STAG[p.substr(x[1],2)],g.ds!="bmp"?g.value=sr(w):g.value=Xl(w),g},this.readCertPEM=function(p){this.readCertHex(v(p))},this.readCertHex=function(p){this.hex=p,this.getVersion();try{l(this.hex,0,[0,7],"a3"),this.parseExt()}catch(g){}},this.getParam=function(){var p={};return p.version=this.getVersion(),p.serial={hex:this.getSerialNumberHex()},p.sigalg=this.getSignatureAlgorithmField(),p.issuer=this.getIssuer(),p.notbefore=this.getNotBefore(),p.notafter=this.getNotAfter(),p.subject=this.getSubject(),p.sbjpubkey=Kl(this.getPublicKeyHex(),"PUBLIC KEY"),this.aExtInfo.length>0&&(p.ext=this.getExtParamArray()),p.sighex=this.getSignatureValueHex(),p},this.getExtParamArray=function(p){if(p==null){var g=c(this.hex,0,[0,"[3]"]);g!=-1&&(p=u(this.hex,0,[0,"[3]",0],"30"))}for(var x=[],b=e(p,0),w=0;w<b.length;w++){var E=i(p,b[w]),M=this.getExtParam(E);M!=null&&x.push(M)}return x},this.getExtParam=function(p){var g=e(p,0),x=g.length;if(x!=2&&x!=3)throw new Error("wrong number elements in Extension: "+x+" "+p);var b=f(a(p,0,[0],"06")),w=!1;x==3&&s(p,0,[1])=="0101ff"&&(w=!0);var E=s(p,0,[x-1,0]),M=void 0;if(b=="2.5.29.14"?M=this.getExtSubjectKeyIdentifier(E,w):b=="2.5.29.15"?M=this.getExtKeyUsage(E,w):b=="2.5.29.17"?M=this.getExtSubjectAltName(E,w):b=="2.5.29.18"?M=this.getExtIssuerAltName(E,w):b=="2.5.29.19"?M=this.getExtBasicConstraints(E,w):b=="2.5.29.31"?M=this.getExtCRLDistributionPoints(E,w):b=="2.5.29.32"?M=this.getExtCertificatePolicies(E,w):b=="2.5.29.35"?M=this.getExtAuthorityKeyIdentifier(E,w):b=="2.5.29.37"?M=this.getExtExtKeyUsage(E,w):b=="1.3.6.1.5.5.7.1.1"?M=this.getExtAuthorityInfoAccess(E,w):b=="2.5.29.20"?M=this.getExtCRLNumber(E,w):b=="2.5.29.21"?M=this.getExtCRLReason(E,w):b=="1.3.6.1.5.5.7.48.1.2"?M=this.getExtOcspNonce(E,w):b=="1.3.6.1.5.5.7.48.1.5"?M=this.getExtOcspNoCheck(E,w):b=="1.2.840.113583.1.1.9.1"&&(M=this.getExtAdobeTimeStamp(E,w)),M!=null)return M;var C={extname:b,extn:E};return w&&(C.critical=!0),C},this.findExt=function(p,g){for(var x=0;x<p.length;x++)if(p[x].extname==g)return p[x];return null},this.dnarraytostr=function(p){function g(b){return b.map(function(w){return x(w).replace(/\+/,"\\+")}).join("+")}function x(b){return b.type+"="+b.value}return"/"+p.map(function(b){return g(b).replace(/\//,"\\/")}).join("/")},this.getInfo=function(){var p=function(X){var G=JSON.stringify(X.array).replace(/[\[\]\{\}\"]/g,"");return G},g=function(X){for(var G="",Q=X.array,H=0;H<Q.length;H++){var K=Q[H];if(G+=" policy oid: "+K.policyoid+`
363
- `,K.array!==void 0)for(var j=0;j<K.array.length;j++){var J=K.array[j];J.cps!==void 0&&(G+=" cps: "+J.cps+`
364
- `)}}return G},x=function(X){for(var G="",Q=X.array,H=0;H<Q.length;H++){var K=Q[H];try{K.dpname.full[0].uri!==void 0&&(G+=" "+K.dpname.full[0].uri+`
365
- `)}catch(j){}try{K.dname.full[0].dn.hex!==void 0&&(G+=" "+He.hex2dn(K.dpname.full[0].dn.hex)+`
366
- `)}catch(j){}}return G},b=function(X){for(var G="",Q=X.array,H=0;H<Q.length;H++){var K=Q[H];K.caissuer!==void 0&&(G+=" caissuer: "+K.caissuer+`
367
- `),K.ocsp!==void 0&&(G+=" ocsp: "+K.ocsp+`
368
- `)}return G},w,E,M;if(w=`Basic Fields
351
+ `),x=2),h.indexOf(`
352
+
353
+ `)!=-1&&(g=h.indexOf(`
354
+
355
+ `),x=1);var b=h.indexOf("-----END");if(g!=-1&&b!=-1){var w=h.substring(g+x*2,b-x);w=w.replace(/\s+/g,""),p.data=w}return p},f=function(h,p,y){for(var v=y.substring(0,16),g=xe.enc.Hex.parse(v),x=xe.enc.Utf8.parse(p),b=l[h].keylen+l[h].ivlen,w="",E=null;;){var I=xe.algo.MD5.create();if(E!=null&&I.update(E),I.update(x),I.update(g),E=I.finalize(),w=w+xe.enc.Hex.stringify(E),w.length>=b*2)break}var M={};return M.keyhex=w.substr(0,l[h].keylen*2),M.ivhex=w.substr(l[h].keylen*2,l[h].ivlen*2),M},A=function(h,p,y,v){var g=xe.enc.Base64.parse(h),x=xe.enc.Hex.stringify(g),b=l[p].proc,w=b(x,y,v);return w},m=function(h,p,y,v){var g=l[p].eproc,x=g(h,y,v);return x};return{version:"1.0.0",parsePKCS5PEM:function(h){return c(h)},getKeyAndUnusedIvByPasscodeAndIvsalt:function(h,p,y){return f(h,p,y)},decryptKeyB64:function(h,p,y,v){return A(h,p,y,v)},getDecryptedKeyHex:function(h,p){var y=c(h),v=y.cipher,g=y.ivsalt,x=y.data,b=f(v,p,g),w=b.keyhex,E=A(x,v,w,g);return E},getEncryptedPKCS5PEMFromPrvKeyHex:function(h,p,y,v,g){var k="";if((typeof v=="undefined"||v==null)&&(v="AES-256-CBC"),typeof l[v]=="undefined")throw"KEYUTIL unsupported algorithm: "+v;if(typeof g=="undefined"||g==null){var x=l[v].ivlen,b=u(x);g=b.toUpperCase()}var w=f(v,y,g),E=w.keyhex,I=m(p,v,E,g),M=I.replace(/(.{64})/g,`$1\r
356
+ `),k="-----BEGIN "+h+` PRIVATE KEY-----\r
357
+ `;return k+=`Proc-Type: 4,ENCRYPTED\r
358
+ `,k+="DEK-Info: "+v+","+g+`\r
359
+ `,k+=`\r
360
+ `,k+=M,k+=`\r
361
+ -----END `+h+` PRIVATE KEY-----\r
362
+ `,k},parseHexOfEncryptedPKCS8:function(h){var p=se,y=p.getChildIdx,v=p.getV,g={},x=y(h,0);if(x.length!=2)throw"malformed format: SEQUENCE(0).items != 2: "+x.length;g.ciphertext=v(h,x[1]);var b=y(h,x[0]);if(b.length!=2)throw"malformed format: SEQUENCE(0.0).items != 2: "+b.length;if(v(h,b[0])!="2a864886f70d01050d")throw"this only supports pkcs5PBES2";var w=y(h,b[1]);if(b.length!=2)throw"malformed format: SEQUENCE(0.0.1).items != 2: "+w.length;var E=y(h,w[1]);if(E.length!=2)throw"malformed format: SEQUENCE(0.0.1.1).items != 2: "+E.length;if(v(h,E[0])!="2a864886f70d0307")throw"this only supports TripleDES";g.encryptionSchemeAlg="TripleDES",g.encryptionSchemeIV=v(h,E[1]);var I=y(h,w[0]);if(I.length!=2)throw"malformed format: SEQUENCE(0.0.1.0).items != 2: "+I.length;if(v(h,I[0])!="2a864886f70d01050c")throw"this only supports pkcs5PBKDF2";var M=y(h,I[1]);if(M.length<2)throw"malformed format: SEQUENCE(0.0.1.0.1).items < 2: "+M.length;g.pbkdf2Salt=v(h,M[0]);var k=v(h,M[1]);try{g.pbkdf2Iter=parseInt(k,16)}catch(B){throw"malformed format pbkdf2Iter: "+k}return g},getPBKDF2KeyHexFromParam:function(h,p){var y=xe.enc.Hex.parse(h.pbkdf2Salt),v=h.pbkdf2Iter,g=xe.PBKDF2(p,y,{keySize:192/32,iterations:v}),x=xe.enc.Hex.stringify(g);return x},_getPlainPKCS8HexFromEncryptedPKCS8PEM:function(h,p){var y=an(h,"ENCRYPTED PRIVATE KEY"),v=this.parseHexOfEncryptedPKCS8(y),g=tn.getPBKDF2KeyHexFromParam(v,p),x={};x.ciphertext=xe.enc.Hex.parse(v.ciphertext);var b=xe.enc.Hex.parse(g),w=xe.enc.Hex.parse(v.encryptionSchemeIV),E=xe.TripleDES.decrypt(x,b,{iv:w}),I=xe.enc.Hex.stringify(E);return I},getKeyFromEncryptedPKCS8PEM:function(h,p){var y=this._getPlainPKCS8HexFromEncryptedPKCS8PEM(h,p),v=this.getKeyFromPlainPrivatePKCS8Hex(y);return v},parsePlainPrivatePKCS8Hex:function(h){var p=se,y=p.getChildIdx,v=p.getV,g={};if(g.algparam=null,h.substr(0,2)!="30")throw new Error("malformed plain PKCS8 private key(code:001)");var x=y(h,0);if(x.length<3)throw new Error("malformed plain PKCS8 private key(code:002)");if(h.substr(x[1],2)!="30")throw new Error("malformed PKCS8 private key(code:003)");var b=y(h,x[1]);if(b.length!=2)throw new Error("malformed PKCS8 private key(code:004)");if(h.substr(b[0],2)!="06")throw new Error("malformed PKCS8 private key(code:005)");if(g.algoid=v(h,b[0]),h.substr(b[1],2)=="06"&&(g.algparam=v(h,b[1])),h.substr(x[2],2)!="04")throw new Error("malformed PKCS8 private key(code:006)");return g.keyidx=p.getVidx(h,x[2]),g},getKeyFromPlainPrivatePKCS8PEM:function(h){var p=an(h,"PRIVATE KEY"),y=this.getKeyFromPlainPrivatePKCS8Hex(p);return y},getKeyFromPlainPrivatePKCS8Hex:function(h){var p=this.parsePlainPrivatePKCS8Hex(h),y;if(p.algoid=="2a864886f70d010101")y=new Be;else if(te.crypto.DSA&&p.algoid=="2a8648ce380401")y=new te.crypto.DSA;else if(te.crypto.ECDSA&&p.algoid=="2a8648ce3d0201")y=new te.crypto.ECDSA;else throw"unsupported private key algorithm";return y.readPKCS8PrvKeyHex(h),y},_getKeyFromPublicPKCS8Hex:function(h){var p,y=se.getVbyList(h,0,[0,0],"06");if(y==="2a864886f70d010101")p=new Be;else if(te.crypto.DSA&&y==="2a8648ce380401")p=new te.crypto.DSA;else if(te.crypto.ECDSA&&y==="2a8648ce3d0201")p=new te.crypto.ECDSA;else throw"unsupported PKCS#8 public key hex";return p.readPKCS8PubKeyHex(h),p},parsePublicRawRSAKeyHex:function(h){var p=se,y=p.getChildIdx,v=p.getV,g={};if(h.substr(0,2)!="30")throw"malformed RSA key(code:001)";var x=y(h,0);if(x.length!=2)throw"malformed RSA key(code:002)";if(h.substr(x[0],2)!="02")throw"malformed RSA key(code:003)";if(g.n=v(h,x[0]),h.substr(x[1],2)!="02")throw"malformed RSA key(code:004)";return g.e=v(h,x[1]),g},parsePublicPKCS8Hex:function(h){var p=se,y=p.getChildIdx,v=p.getV,g={};g.algparam=null;var x=y(h,0);if(x.length!=2)throw"outer DERSequence shall have 2 elements: "+x.length;var b=x[0];if(h.substr(b,2)!="30")throw"malformed PKCS8 public key(code:001)";var w=y(h,b);if(w.length!=2)throw"malformed PKCS8 public key(code:002)";if(h.substr(w[0],2)!="06")throw"malformed PKCS8 public key(code:003)";if(g.algoid=v(h,w[0]),h.substr(w[1],2)=="06"?g.algparam=v(h,w[1]):h.substr(w[1],2)=="30"&&(g.algparam={},g.algparam.p=p.getVbyList(h,w[1],[0],"02"),g.algparam.q=p.getVbyList(h,w[1],[1],"02"),g.algparam.g=p.getVbyList(h,w[1],[2],"02")),h.substr(x[1],2)!="03")throw"malformed PKCS8 public key(code:004)";return g.key=v(h,x[1]).substr(2),g}}}();tn.getKey=function(n,t,e){var r=se,i=r.getChildIdx;r.getV;var a=r.getVbyList,o=te.crypto,s=o.ECDSA,l=o.DSA,u=Be,c=an,f=tn;if(typeof u!="undefined"&&n instanceof u||typeof s!="undefined"&&n instanceof s||typeof l!="undefined"&&n instanceof l)return n;if(n.curve!==void 0&&n.xy!==void 0&&n.d===void 0)return new s({pub:n.xy,curve:n.curve});if(n.curve!==void 0&&n.d!==void 0)return new s({prv:n.d,curve:n.curve});if(n.kty===void 0&&n.n!==void 0&&n.e!==void 0&&n.d===void 0){var A=new u;return A.setPublic(n.n,n.e),A}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 A=new u;return A.setPrivateEx(n.n,n.e,n.d,n.p,n.q,n.dp,n.dq,n.co),A}if(n.kty===void 0&&n.n!==void 0&&n.e!==void 0&&n.d!==void 0&&n.p===void 0){var A=new u;return A.setPrivate(n.n,n.e,n.d),A}if(n.p!==void 0&&n.q!==void 0&&n.g!==void 0&&n.y!==void 0&&n.x===void 0){var A=new l;return A.setPublic(n.p,n.q,n.g,n.y),A}if(n.p!==void 0&&n.q!==void 0&&n.g!==void 0&&n.y!==void 0&&n.x!==void 0){var A=new l;return A.setPrivate(n.p,n.q,n.g,n.y,n.x),A}if(n.kty==="RSA"&&n.n!==void 0&&n.e!==void 0&&n.d===void 0){var A=new u;return A.setPublic(et(n.n),et(n.e)),A}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 A=new u;return A.setPrivateEx(et(n.n),et(n.e),et(n.d),et(n.p),et(n.q),et(n.dp),et(n.dq),et(n.qi)),A}if(n.kty==="RSA"&&n.n!==void 0&&n.e!==void 0&&n.d!==void 0){var A=new u;return A.setPrivate(et(n.n),et(n.e),et(n.d)),A}if(n.kty==="EC"&&n.crv!==void 0&&n.x!==void 0&&n.y!==void 0&&n.d===void 0){var m=new s({curve:n.crv}),h=m.ecparams.keylen/4,p=("0000000000"+et(n.x)).slice(-h),y=("0000000000"+et(n.y)).slice(-h),v="04"+p+y;return m.setPublicKeyHex(v),m}if(n.kty==="EC"&&n.crv!==void 0&&n.x!==void 0&&n.y!==void 0&&n.d!==void 0){var m=new s({curve:n.crv}),h=m.ecparams.keylen/4,p=("0000000000"+et(n.x)).slice(-h),y=("0000000000"+et(n.y)).slice(-h),v="04"+p+y,g=("0000000000"+et(n.d)).slice(-h);return m.setPublicKeyHex(v),m.setPrivateKeyHex(g),m}if(e==="pkcs5prv"){var x=n,r=se,b,A;if(b=i(x,0),b.length===9)A=new u,A.readPKCS5PrvKeyHex(x);else if(b.length===6)A=new l,A.readPKCS5PrvKeyHex(x);else if(b.length>2&&x.substr(b[1],2)==="04")A=new s,A.readPKCS5PrvKeyHex(x);else throw"unsupported PKCS#1/5 hexadecimal key";return A}if(e==="pkcs8prv"){var A=f.getKeyFromPlainPrivatePKCS8Hex(n);return A}if(e==="pkcs8pub")return f._getKeyFromPublicPKCS8Hex(n);if(e==="x509pub")return He.getPublicKeyFromCertHex(n);if(n.indexOf("-END CERTIFICATE-",0)!=-1||n.indexOf("-END X509 CERTIFICATE-",0)!=-1||n.indexOf("-END TRUSTED CERTIFICATE-",0)!=-1)return He.getPublicKeyFromCertPEM(n);if(n.indexOf("-END PUBLIC KEY-")!=-1){var w=an(n,"PUBLIC KEY");return f._getKeyFromPublicPKCS8Hex(w)}if(n.indexOf("-END RSA PRIVATE KEY-")!=-1&&n.indexOf("4,ENCRYPTED")==-1){var E=c(n,"RSA PRIVATE KEY");return f.getKey(E,null,"pkcs5prv")}if(n.indexOf("-END DSA PRIVATE KEY-")!=-1&&n.indexOf("4,ENCRYPTED")==-1){var I=c(n,"DSA PRIVATE KEY"),M=a(I,0,[1],"02"),k=a(I,0,[2],"02"),B=a(I,0,[3],"02"),C=a(I,0,[4],"02"),T=a(I,0,[5],"02"),A=new l;return A.setPrivate(new de(M,16),new de(k,16),new de(B,16),new de(C,16),new de(T,16)),A}if(n.indexOf("-END EC PRIVATE KEY-")!=-1&&n.indexOf("4,ENCRYPTED")==-1){var E=c(n,"EC PRIVATE KEY");return f.getKey(E,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 O=f.getDecryptedKeyHex(n,t),P=new Be;return P.readPKCS5PrvKeyHex(O),P}if(n.indexOf("-END EC PRIVATE KEY-")!=-1&&n.indexOf("4,ENCRYPTED")!=-1){var I=f.getDecryptedKeyHex(n,t),A=a(I,0,[1],"04"),F=a(I,0,[2,0],"06"),V=a(I,0,[3,0],"03").substr(2),z="";if(te.crypto.OID.oidhex2name[F]!==void 0)z=te.crypto.OID.oidhex2name[F];else throw"undefined OID(hex) in KJUR.crypto.OID: "+F;var m=new s({curve:z});return m.setPublicKeyHex(V),m.setPrivateKeyHex(A),m.isPublic=!1,m}if(n.indexOf("-END DSA PRIVATE KEY-")!=-1&&n.indexOf("4,ENCRYPTED")!=-1){var I=f.getDecryptedKeyHex(n,t),M=a(I,0,[1],"02"),k=a(I,0,[2],"02"),B=a(I,0,[3],"02"),C=a(I,0,[4],"02"),T=a(I,0,[5],"02"),A=new l;return A.setPrivate(new de(M,16),new de(k,16),new de(B,16),new de(C,16),new de(T,16)),A}if(n.indexOf("-END ENCRYPTED PRIVATE KEY-")!=-1)return f.getKeyFromEncryptedPKCS8PEM(n,t);throw new Error("not supported argument")};(typeof te.asn1=="undefined"||!te.asn1)&&(te.asn1={});te.asn1.ASN1Util={};te.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,a="",o=2;o<n.length;o+=2){var s=parseInt(n.substr(o,2),16),l=("00000000"+s.toString(2)).slice(-8);if(a=a+l.substr(1,7),l.substr(0,1)=="0"){var u=new de(a,2);i=i+"."+u.toString(10),a=""}}return i};var se=new function(){};se.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};se.getL=function(n,t){var e=se.getLblen(n,t);return e<1?"":n.substr(t+2,e*2)};se.getVblen=function(n,t){var e,r;return e=se.getL(n,t),e==""?-1:(e.substr(0,1)==="8"?r=new de(e.substr(2),16):r=new de(e,16),r.intValue())};se.getVidx=function(n,t){var e=se.getLblen(n,t);return e<0?e:t+(e+1)*2};se.getV=function(n,t){var e=se.getVidx(n,t),r=se.getVblen(n,t);return n.substr(e,r*2)};se.getTLV=function(n,t){return n.substr(t,2)+se.getL(n,t)+se.getV(n,t)};se.getTLVblen=function(n,t){return 2+se.getLblen(n,t)*2+se.getVblen(n,t)*2};se.getNextSiblingIdx=function(n,t){var e=se.getVidx(n,t),r=se.getVblen(n,t);return e+r*2};se.getChildIdx=function(n,t){var e=se,r=[],i,a,o;i=e.getVidx(n,t),a=e.getVblen(n,t)*2,n.substr(t,2)=="03"&&(i+=2,a-=2),o=0;for(var s=i;o<=a;){var l=e.getTLVblen(n,s);if(o+=l,o<=a&&r.push(s),s+=l,o>=a)break}return r};se.getNthChildIdx=function(n,t,e){var r=se.getChildIdx(n,t);return r[e]};se.getIdxbyList=function(n,t,e,r){var i=se,a,o;return e.length==0?r!==void 0&&n.substr(t,2)!==r?-1:t:(a=e.shift(),o=i.getChildIdx(n,t),a>=o.length?-1:i.getIdxbyList(n,o[a],e,r))};se.getIdxbyListEx=function(n,t,e,r){var i=se,a,o;if(e.length==0)return r!==void 0&&n.substr(t,2)!==r?-1:t;a=e.shift(),o=i.getChildIdx(n,t);for(var s=0,l=0;l<o.length;l++){var u=n.substr(o[l],2);if(typeof a=="number"&&!i.isContextTag(u)&&s==a||typeof a=="string"&&i.isContextTag(u,a))return i.getIdxbyListEx(n,o[l],e,r);i.isContextTag(u)||s++}return-1};se.getTLVbyList=function(n,t,e,r){var i=se,a=i.getIdxbyList(n,t,e,r);return a==-1||a>=n.length?null:i.getTLV(n,a)};se.getTLVbyListEx=function(n,t,e,r){var i=se,a=i.getIdxbyListEx(n,t,e,r);return a==-1?null:i.getTLV(n,a)};se.getVbyList=function(n,t,e,r,i){var a=se,o,s;return o=a.getIdxbyList(n,t,e,r),o==-1||o>=n.length?null:(s=a.getV(n,o),i===!0&&(s=s.substr(2)),s)};se.getVbyListEx=function(n,t,e,r,i){var a=se,o,s;return o=a.getIdxbyListEx(n,t,e,r),o==-1?null:(s=a.getV(n,o),n.substr(o,2)=="03"&&i!==!1&&(s=s.substr(2)),s)};se.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=se.getV(n,t);return r=="02"?parseInt(i,16):oc(i)}catch(a){return e}};se.getOID=function(n,t,e){e==null&&(e=null);try{if(n.substr(t,2)!="06")return e;var r=se.getV(n,t);return ac(r)}catch(i){return e}};se.getOIDName=function(n,t,e){e==null&&(e=null);try{var r=se.getOID(n,t,e);if(r==e)return e;var i=te.asn1.x509.OID.oid2name(r);return i==""?r:i}catch(a){return e}};se.getString=function(n,t,e){e==null&&(e=null);try{var r=se.getV(n,t);return xr(r)}catch(i){return e}};se.hextooidstr=function(n){var t=function(f,A){return f.length>=A?f:new Array(A-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 a=n.substr(2),o=[],s=0;s<a.length/2;s++)o.push(parseInt(a.substr(s*2,2),16));for(var l=[],u="",s=0;s<o.length;s++)o[s]&128?u=u+t((o[s]&127).toString(2),7):(u=u+t((o[s]&127).toString(2),7),l.push(new String(parseInt(u,2))),u="");var c=e.join(".");return l.length>0&&(c=c+"."+l.join(".")),c};se.isContextTag=function(n,t){n=n.toLowerCase();var e,r;try{e=parseInt(n,16)}catch(a){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(a){return!1}};se.isASN1HEX=function(n){var t=se;if(n.length%2==1)return!1;var e=t.getVblen(n,0),r=n.substr(0,2),i=t.getL(n,0),a=n.length-r.length-i.length;return a==e*2};se.checkStrictDER=function(n,t,e,r,i){var a=se;if(e===void 0){if(typeof n!="string")throw new Error("not hex string");if(n=n.toLowerCase(),!te.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 o=a.getL(n,t);if(o.length>i*2)throw new Error("L of TLV too long: idx="+t);var s=a.getVblen(n,t);if(s>r)throw new Error("value of L too long than hex: idx="+t);var l=a.getTLV(n,t),u=l.length-2-a.getL(n,t).length;if(u!==s*2)throw new Error("V string length and L's value not the same:"+u+"/"+s*2);if(t===0&&n.length!=l.length)throw new Error("total length and TLV length unmatch:"+n.length+"!="+l.length);var c=n.substr(t,2);if(c==="02"){var f=a.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(c,16)&32){for(var A=a.getVblen(n,t),m=0,h=a.getChildIdx(n,t),p=0;p<h.length;p++){var y=a.getTLV(n,h[p]);m+=y.length,a.checkStrictDER(n,h[p],e,r,i)}if(A*2!=m)throw new Error("sum of children's TLV length and L unmatch: "+A*2+"!="+m)}};se.oidname=function(n){var t=te.asn1;te.lang.String.isHex(n)&&(n=t.ASN1Util.oidHexToInt(n));var e=t.x509.OID.oid2name(n);return e===""&&(e=n),e};(typeof te.asn1=="undefined"||!te.asn1)&&(te.asn1={});(typeof te.asn1.x509=="undefined"||!te.asn1.x509)&&(te.asn1.x509={});te.asn1.x509.AlgorithmIdentifier={};te.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV={SHAwithRSAandMGF1:"300d06092a864886f70d01010a3000",SHA256withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040201a11a301806092a864886f70d010108300b0609608648016503040201a203020120",SHA384withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040202a11a301806092a864886f70d010108300b0609608648016503040202a203020130",SHA512withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040203a11a301806092a864886f70d010108300b0609608648016503040203a203020140"};te.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 te.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 te.asn1.DERObjectIdentifier({oid:e});return this.objCache[t]=r,r}};te.asn1.x509.OID.oid2name=function(n){var t=te.asn1.x509.OID.name2oidList;for(var e in t)if(t[e]==n)return e;return""};te.asn1.x509.OID.oid2atype=function(n){var t=te.asn1.x509.OID.atype2oidList;for(var e in t)if(t[e]==n)return e;return n};te.asn1.x509.OID.name2oid=function(n){if(n.match(/^[0-9.]+$/))return n;var t=te.asn1.x509.OID.name2oidList;return t[n]===void 0?"":t[n]};Be.getPosArrayOfChildrenFromHex=function(n){return se.getChildIdx(n,0)};Be.getHexValueArrayOfChildrenFromHex=function(n){var t=se,e=t.getV,A=Be.getPosArrayOfChildrenFromHex(n),r=e(n,A[0]),i=e(n,A[1]),a=e(n,A[2]),o=e(n,A[3]),s=e(n,A[4]),l=e(n,A[5]),u=e(n,A[6]),c=e(n,A[7]),f=e(n,A[8]),A=new Array;return A.push(r,i,a,o,s,l,u,c,f),A};Be.prototype.readPrivateKeyFromPEMString=function(n){var t=an(n),e=Be.getHexValueArrayOfChildrenFromHex(t);this.setPrivateEx(e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])};Be.prototype.readPKCS5PrvKeyHex=function(n){var t=Be.getHexValueArrayOfChildrenFromHex(n);this.setPrivateEx(t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])};Be.prototype.readPKCS8PrvKeyHex=function(n){var t,e,r,i,a,o,s,l,u=se,c=u.getVbyListEx;if(u.isASN1HEX(n)===!1)throw new Error("not ASN.1 hex string");try{t=c(n,0,[2,0,1],"02"),e=c(n,0,[2,0,2],"02"),r=c(n,0,[2,0,3],"02"),i=c(n,0,[2,0,4],"02"),a=c(n,0,[2,0,5],"02"),o=c(n,0,[2,0,6],"02"),s=c(n,0,[2,0,7],"02"),l=c(n,0,[2,0,8],"02")}catch(f){throw new Error("malformed PKCS#8 plain RSA private key")}this.setPrivateEx(t,e,r,i,a,o,s,l)};Be.prototype.readPKCS5PubKeyHex=function(n){var t=se,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]),a=e(n,r[1]);this.setPublic(i,a)};Be.prototype.readPKCS8PubKeyHex=function(n){var t=se;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)};Be.prototype.readCertPubKeyHex=function(n,t){var e,r;e=new He,e.readCertHex(n),r=e.getPublicKeyHex(),this.readPKCS8PubKeyHex(r)};function d0(n){for(var t in te.crypto.Util.DIGESTINFOHEAD){var e=te.crypto.Util.DIGESTINFOHEAD[t],r=e.length;if(n.substring(0,r)==e){var i=[t,n.substring(r)];return i}}return[]}Be.prototype.verify=function(n,t){if(t=t.toLowerCase(),t.match(/^[0-9a-f]+$/)==null)return!1;var e=yt(t,16),r=this.n.bitLength();if(e.bitLength()>r)return!1;var i=this.doPublic(e),a=i.toString(16);if(a.length+3!=r/4)return!1;var o=a.replace(/^1f+00/,""),s=d0(o);if(s.length==0)return!1;var l=s[0],u=s[1],c=function(A){return te.crypto.Util.hashString(A,l)},f=c(n);return u==f};Be.prototype.verifyWithMessageHash=function(n,t){if(t.length!=Math.ceil(this.n.bitLength()/4))return!1;var e=yt(t,16);if(e.bitLength()>this.n.bitLength())return 0;var r=this.doPublic(e),i=r.toString(16).replace(/^1f+00/,""),a=d0(i);if(a.length==0)return!1;a[0];var o=a[1];return o==n};Be.prototype.verifyPSS=function(n,t,e,r){var i=function(o){return te.crypto.Util.hashHex(o,e)},a=i(Li(n));return r===void 0&&(r=-1),this.verifyWithMessageHashPSS(a,t,e,r)};Be.prototype.verifyWithMessageHashPSS=function(n,t,e,r){if(t.length!=Math.ceil(this.n.bitLength()/4))return!1;var i=new de(t,16),a=function(g){return te.crypto.Util.hashHex(g,e)},o=xr(n),s=o.length,l=this.n.bitLength()-1,u=Math.ceil(l/8),c;if(r===-1||r===void 0)r=s;else if(r===-2)r=u-s-2;else if(r<-2)throw new Error("invalid salt length");if(u<s+r+2)throw new Error("data too long");var f=this.doPublic(i).toByteArray();for(c=0;c<f.length;c+=1)f[c]&=255;for(;f.length<u;)f.unshift(0);if(f[u-1]!==188)throw new Error("encoded message does not end in 0xbc");f=String.fromCharCode.apply(String,f);var A=f.substr(0,u-s-1),m=f.substr(A.length,s),h=65280>>8*u-l&255;if(A.charCodeAt(0)&h)throw new Error("bits beyond keysize not zero");var p=pss_mgf1_str(m,A.length,a),y=[];for(c=0;c<A.length;c+=1)y[c]=A.charCodeAt(c)^p.charCodeAt(c);y[0]&=~h;var v=u-s-r-2;for(c=0;c<v;c+=1)if(y[c]!==0)throw new Error("leftmost octets not zero");if(y[v]!==1)throw new Error("0x01 marker not found");return m===xr(a(Li("\0\0\0\0\0\0\0\0"+o+String.fromCharCode.apply(String,y.slice(-r)))))};Be.SALT_LEN_HLEN=-1;Be.SALT_LEN_MAX=-2;Be.SALT_LEN_RECOVER=-2;function He(n){var t=se,e=t.getChildIdx,r=t.getV,i=t.getTLV,a=t.getVbyList,o=t.getVbyListEx,s=t.getTLVbyList,l=t.getTLVbyListEx,u=t.getIdxbyList,c=t.getIdxbyListEx,f=t.getVidx,A=t.getInt,m=t.oidname,h=t.hextooidstr,p=an,y;try{y=te.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV}catch(v){}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 v=s(this.hex,0,[0,0]);if(v.substr(0,2)=="a0"){var g=s(v,0,[0]),x=A(g,0);if(x<0||2<x)throw new Error("malformed version field");return this.version=x+1,this.version}else return this.version=1,this.foffset=-1,1},this.getSerialNumberHex=function(){return o(this.hex,0,[0,0],"02")},this.getSignatureAlgorithmField=function(){var v=l(this.hex,0,[0,1]);return this.getAlgorithmIdentifierName(v)},this.getAlgorithmIdentifierName=function(v){for(var g in y)if(v===y[g])return g;return m(o(v,0,[0],"06"))},this.getIssuer=function(){return this.getX500Name(this.getIssuerHex())},this.getIssuerHex=function(){return s(this.hex,0,[0,3+this.foffset],"30")},this.getIssuerString=function(){var v=this.getIssuer();return v.str},this.getSubject=function(){return this.getX500Name(this.getSubjectHex())},this.getSubjectHex=function(){return s(this.hex,0,[0,5+this.foffset],"30")},this.getSubjectString=function(){var v=this.getSubject();return v.str},this.getNotBefore=function(){var v=a(this.hex,0,[0,4+this.foffset,0]);return v=v.replace(/(..)/g,"%$1"),v=decodeURIComponent(v),v},this.getNotAfter=function(){var v=a(this.hex,0,[0,4+this.foffset,1]);return v=v.replace(/(..)/g,"%$1"),v=decodeURIComponent(v),v},this.getPublicKeyHex=function(){return t.getTLVbyList(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyIdx=function(){return u(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyContentIdx=function(){var v=this.getPublicKeyIdx();return u(this.hex,v,[1,0],"30")},this.getPublicKey=function(){return tn.getKey(this.getPublicKeyHex(),null,"pkcs8pub")},this.getSignatureAlgorithmName=function(){var v=s(this.hex,0,[1],"30");return this.getAlgorithmIdentifierName(v)},this.getSignatureValueHex=function(){return a(this.hex,0,[2],"03",!0)},this.verifySignature=function(v){var g=this.getSignatureAlgorithmField(),x=this.getSignatureValueHex(),b=s(this.hex,0,[0],"30"),w=new te.crypto.Signature({alg:g});return w.init(v),w.updateHex(b),w.verify(x)},this.parseExt=function(v){var g,x,b;if(v===void 0){if(b=this.hex,this.version!==3)return-1;g=u(b,0,[0,7,0],"30"),x=e(b,g)}else{b=an(v);var w=u(b,0,[0,3,0,0],"06");if(r(b,w)!="2a864886f70d01090e"){this.aExtInfo=new Array;return}g=u(b,0,[0,3,0,1,0],"30"),x=e(b,g),this.hex=b}this.aExtInfo=new Array;for(var E=0;E<x.length;E++){var I={};I.critical=!1;var M=e(b,x[E]),k=0;M.length===3&&(I.critical=!0,k=1),I.oid=t.hextooidstr(a(b,x[E],[0],"06"));var B=u(b,x[E],[1+k]);I.vidx=f(b,B),this.aExtInfo.push(I)}},this.getExtInfo=function(v){var g=this.aExtInfo,x=v;if(v.match(/^[0-9.]+$/)||(x=te.asn1.x509.OID.name2oid(v)),x!==""){for(var b=0;b<g.length;b++)if(g[b].oid===x)return g[b]}},this.getExtBasicConstraints=function(v,g){if(v===void 0&&g===void 0){var x=this.getExtInfo("basicConstraints");if(x===void 0)return;v=i(this.hex,x.vidx),g=x.critical}var b={extname:"basicConstraints"};if(g&&(b.critical=!0),v==="3000")return b;if(v==="30030101ff")return b.cA=!0,b;if(v.substr(0,12)==="30060101ff02"){var w=r(v,10),E=parseInt(w,16);return b.cA=!0,b.pathLen=E,b}throw new Error("hExtV parse error: "+v)},this.getExtKeyUsage=function(v,g){if(v===void 0&&g===void 0){var x=this.getExtInfo("keyUsage");if(x===void 0)return;v=i(this.hex,x.vidx),g=x.critical}var b={extname:"keyUsage"};return g&&(b.critical=!0),b.names=this.getExtKeyUsageString(v).split(","),b},this.getExtKeyUsageBin=function(v){if(v===void 0){var g=this.getExtInfo("keyUsage");if(g===void 0)return"";v=i(this.hex,g.vidx)}if(v.length!=8&&v.length!=10)throw new Error("malformed key usage value: "+v);var x="000000000000000"+parseInt(v.substr(6),16).toString(2);return v.length==8&&(x=x.slice(-8)),v.length==10&&(x=x.slice(-16)),x=x.replace(/0+$/,""),x==""&&(x="0"),x},this.getExtKeyUsageString=function(v){for(var g=this.getExtKeyUsageBin(v),x=new Array,b=0;b<g.length;b++)g.substr(b,1)=="1"&&x.push(He.KEYUSAGE_NAME[b]);return x.join(",")},this.getExtSubjectKeyIdentifier=function(v,g){if(v===void 0&&g===void 0){var x=this.getExtInfo("subjectKeyIdentifier");if(x===void 0)return;v=i(this.hex,x.vidx),g=x.critical}var b={extname:"subjectKeyIdentifier"};g&&(b.critical=!0);var w=r(v,0);return b.kid={hex:w},b},this.getExtAuthorityKeyIdentifier=function(v,g){if(v===void 0&&g===void 0){var x=this.getExtInfo("authorityKeyIdentifier");if(x===void 0)return;v=i(this.hex,x.vidx),g=x.critical}var b={extname:"authorityKeyIdentifier"};g&&(b.critical=!0);for(var w=e(v,0),E=0;E<w.length;E++){var I=v.substr(w[E],2);if(I==="80"&&(b.kid={hex:r(v,w[E])}),I==="a1"){var M=i(v,w[E]),k=this.getGeneralNames(M);b.issuer=k[0].dn}I==="82"&&(b.sn={hex:r(v,w[E])})}return b},this.getExtExtKeyUsage=function(v,g){if(v===void 0&&g===void 0){var x=this.getExtInfo("extKeyUsage");if(x===void 0)return;v=i(this.hex,x.vidx),g=x.critical}var b={extname:"extKeyUsage",array:[]};g&&(b.critical=!0);for(var w=e(v,0),E=0;E<w.length;E++)b.array.push(m(r(v,w[E])));return b},this.getExtExtKeyUsageName=function(){var v=this.getExtInfo("extKeyUsage");if(v===void 0)return v;var g=new Array,x=i(this.hex,v.vidx);if(x==="")return g;for(var b=e(x,0),w=0;w<b.length;w++)g.push(m(r(x,b[w])));return g},this.getExtSubjectAltName=function(v,g){if(v===void 0&&g===void 0){var x=this.getExtInfo("subjectAltName");if(x===void 0)return;v=i(this.hex,x.vidx),g=x.critical}var b={extname:"subjectAltName",array:[]};return g&&(b.critical=!0),b.array=this.getGeneralNames(v),b},this.getExtIssuerAltName=function(v,g){if(v===void 0&&g===void 0){var x=this.getExtInfo("issuerAltName");if(x===void 0)return;v=i(this.hex,x.vidx),g=x.critical}var b={extname:"issuerAltName",array:[]};return g&&(b.critical=!0),b.array=this.getGeneralNames(v),b},this.getGeneralNames=function(v){for(var g=e(v,0),x=[],b=0;b<g.length;b++){var w=this.getGeneralName(i(v,g[b]));w!==void 0&&x.push(w)}return x},this.getGeneralName=function(v){var g=v.substr(0,2),x=r(v,0),b=xr(x);if(g=="81")return{rfc822:b};if(g=="82")return{dns:b};if(g=="86")return{uri:b};if(g=="87")return{ip:No(x)};if(g=="a4")return{dn:this.getX500Name(x)}},this.getExtSubjectAltName2=function(){var v,g,x,b=this.getExtInfo("subjectAltName");if(b===void 0)return b;for(var w=new Array,E=i(this.hex,b.vidx),I=e(E,0),M=0;M<I.length;M++)x=E.substr(I[M],2),v=r(E,I[M]),x==="81"&&(g=sr(v),w.push(["MAIL",g])),x==="82"&&(g=sr(v),w.push(["DNS",g])),x==="84"&&(g=He.hex2dn(v,0),w.push(["DN",g])),x==="86"&&(g=sr(v),w.push(["URI",g])),x==="87"&&(g=No(v),w.push(["IP",g]));return w},this.getExtCRLDistributionPoints=function(v,g){if(v===void 0&&g===void 0){var x=this.getExtInfo("cRLDistributionPoints");if(x===void 0)return;v=i(this.hex,x.vidx),g=x.critical}var b={extname:"cRLDistributionPoints",array:[]};g&&(b.critical=!0);for(var w=e(v,0),E=0;E<w.length;E++){var I=i(v,w[E]);b.array.push(this.getDistributionPoint(I))}return b},this.getDistributionPoint=function(v){for(var g={},x=e(v,0),b=0;b<x.length;b++){var w=v.substr(x[b],2),E=i(v,x[b]);w=="a0"&&(g.dpname=this.getDistributionPointName(E))}return g},this.getDistributionPointName=function(v){for(var g={},x=e(v,0),b=0;b<x.length;b++){var w=v.substr(x[b],2),E=i(v,x[b]);w=="a0"&&(g.full=this.getGeneralNames(E))}return g},this.getExtCRLDistributionPointsURI=function(){var v=this.getExtInfo("cRLDistributionPoints");if(v===void 0)return v;for(var g=new Array,x=e(this.hex,v.vidx),b=0;b<x.length;b++)try{var w=a(this.hex,x[b],[0,0,0],"86"),E=sr(w);g.push(E)}catch(I){}return g},this.getExtAIAInfo=function(){var v=this.getExtInfo("authorityInfoAccess");if(v===void 0)return v;for(var g={ocsp:[],caissuer:[]},x=e(this.hex,v.vidx),b=0;b<x.length;b++){var w=a(this.hex,x[b],[0],"06"),E=a(this.hex,x[b],[1],"86");w==="2b06010505073001"&&g.ocsp.push(sr(E)),w==="2b06010505073002"&&g.caissuer.push(sr(E))}return g},this.getExtAuthorityInfoAccess=function(v,g){if(v===void 0&&g===void 0){var x=this.getExtInfo("authorityInfoAccess");if(x===void 0)return;v=i(this.hex,x.vidx),g=x.critical}var b={extname:"authorityInfoAccess",array:[]};g&&(b.critical=!0);for(var w=e(v,0),E=0;E<w.length;E++){var I=o(v,w[E],[0],"06"),M=a(v,w[E],[1],"86"),k=sr(M);if(I=="2b06010505073001")b.array.push({ocsp:k});else if(I=="2b06010505073002")b.array.push({caissuer:k});else throw new Error("unknown method: "+I)}return b},this.getExtCertificatePolicies=function(v,g){if(v===void 0&&g===void 0){var x=this.getExtInfo("certificatePolicies");if(x===void 0)return;v=i(this.hex,x.vidx),g=x.critical}var b={extname:"certificatePolicies",array:[]};g&&(b.critical=!0);for(var w=e(v,0),E=0;E<w.length;E++){var I=i(v,w[E]),M=this.getPolicyInformation(I);b.array.push(M)}return b},this.getPolicyInformation=function(v){var g={},x=a(v,0,[0],"06");g.policyoid=m(x);var b=c(v,0,[1],"30");if(b!=-1){g.array=[];for(var w=e(v,b),E=0;E<w.length;E++){var I=i(v,w[E]),M=this.getPolicyQualifierInfo(I);g.array.push(M)}}return g},this.getPolicyQualifierInfo=function(v){var g={},x=a(v,0,[0],"06");if(x==="2b06010505070201"){var b=o(v,0,[1],"16");g.cps=xr(b)}else if(x==="2b06010505070202"){var w=s(v,0,[1],"30");g.unotice=this.getUserNotice(w)}return g},this.getUserNotice=function(v){for(var g={},x=e(v,0),b=0;b<x.length;b++){var w=i(v,x[b]);w.substr(0,2)!="30"&&(g.exptext=this.getDisplayText(w))}return g},this.getDisplayText=function(v){var g={"0c":"utf8",16:"ia5","1a":"vis","1e":"bmp"},x={};return x.type=g[v.substr(0,2)],x.str=xr(r(v,0)),x},this.getExtCRLNumber=function(v,g){var x={extname:"cRLNumber"};if(g&&(x.critical=!0),v.substr(0,2)=="02")return x.num={hex:r(v,0)},x;throw new Error("hExtV parse error: "+v)},this.getExtCRLReason=function(v,g){var x={extname:"cRLReason"};if(g&&(x.critical=!0),v.substr(0,2)=="0a")return x.code=parseInt(r(v,0),16),x;throw new Error("hExtV parse error: "+v)},this.getExtOcspNonce=function(v,g){var x={extname:"ocspNonce"};g&&(x.critical=!0);var b=r(v,0);return x.hex=b,x},this.getExtOcspNoCheck=function(v,g){var x={extname:"ocspNoCheck"};return g&&(x.critical=!0),x},this.getExtAdobeTimeStamp=function(v,g){if(v===void 0&&g===void 0){var x=this.getExtInfo("adobeTimeStamp");if(x===void 0)return;v=i(this.hex,x.vidx),g=x.critical}var b={extname:"adobeTimeStamp"};g&&(b.critical=!0);var w=e(v,0);if(w.length>1){var E=i(v,w[1]),I=this.getGeneralName(E);I.uri!=null&&(b.uri=I.uri)}if(w.length>2){var M=i(v,w[2]);M=="0101ff"&&(b.reqauth=!0),M=="010100"&&(b.reqauth=!1)}return b},this.getX500NameRule=function(v){for(var g=null,x=[],b=0;b<v.length;b++)for(var w=v[b],E=0;E<w.length;E++)x.push(w[E]);for(var b=0;b<x.length;b++){var I=x[b],M=I.ds,k=I.value,B=I.type;if(M!="prn"&&M!="utf8"&&M!="ia5")return"mixed";if(M=="ia5"){if(B!="CN")return"mixed";if(te.lang.String.isMail(k))continue;return"mixed"}if(B=="C"){if(M=="prn")continue;return"mixed"}if(g==null)g=M;else if(g!==M)return"mixed"}return g==null?"prn":g},this.getX500Name=function(v){var g=this.getX500NameArray(v),x=this.dnarraytostr(g);return{array:g,str:x}},this.getX500NameArray=function(v){for(var g=[],x=e(v,0),b=0;b<x.length;b++)g.push(this.getRDN(i(v,x[b])));return g},this.getRDN=function(v){for(var g=[],x=e(v,0),b=0;b<x.length;b++)g.push(this.getAttrTypeAndValue(i(v,x[b])));return g},this.getAttrTypeAndValue=function(v){var g={type:null,value:null,ds:null},x=e(v,0),b=a(v,x[0],[],"06"),w=a(v,x[1],[]),E=te.asn1.ASN1Util.oidHexToInt(b);return g.type=te.asn1.x509.OID.oid2atype(E),g.ds=this.HEX2STAG[v.substr(x[1],2)],g.ds!="bmp"?g.value=sr(w):g.value=ic(w),g},this.readCertPEM=function(v){this.readCertHex(p(v))},this.readCertHex=function(v){this.hex=v,this.getVersion();try{u(this.hex,0,[0,7],"a3"),this.parseExt()}catch(g){}},this.getParam=function(){var v={};return v.version=this.getVersion(),v.serial={hex:this.getSerialNumberHex()},v.sigalg=this.getSignatureAlgorithmField(),v.issuer=this.getIssuer(),v.notbefore=this.getNotBefore(),v.notafter=this.getNotAfter(),v.subject=this.getSubject(),v.sbjpubkey=tc(this.getPublicKeyHex(),"PUBLIC KEY"),this.aExtInfo.length>0&&(v.ext=this.getExtParamArray()),v.sighex=this.getSignatureValueHex(),v},this.getExtParamArray=function(v){if(v==null){var g=c(this.hex,0,[0,"[3]"]);g!=-1&&(v=l(this.hex,0,[0,"[3]",0],"30"))}for(var x=[],b=e(v,0),w=0;w<b.length;w++){var E=i(v,b[w]),I=this.getExtParam(E);I!=null&&x.push(I)}return x},this.getExtParam=function(v){var g=e(v,0),x=g.length;if(x!=2&&x!=3)throw new Error("wrong number elements in Extension: "+x+" "+v);var b=h(a(v,0,[0],"06")),w=!1;x==3&&s(v,0,[1])=="0101ff"&&(w=!0);var E=s(v,0,[x-1,0]),I=void 0;if(b=="2.5.29.14"?I=this.getExtSubjectKeyIdentifier(E,w):b=="2.5.29.15"?I=this.getExtKeyUsage(E,w):b=="2.5.29.17"?I=this.getExtSubjectAltName(E,w):b=="2.5.29.18"?I=this.getExtIssuerAltName(E,w):b=="2.5.29.19"?I=this.getExtBasicConstraints(E,w):b=="2.5.29.31"?I=this.getExtCRLDistributionPoints(E,w):b=="2.5.29.32"?I=this.getExtCertificatePolicies(E,w):b=="2.5.29.35"?I=this.getExtAuthorityKeyIdentifier(E,w):b=="2.5.29.37"?I=this.getExtExtKeyUsage(E,w):b=="1.3.6.1.5.5.7.1.1"?I=this.getExtAuthorityInfoAccess(E,w):b=="2.5.29.20"?I=this.getExtCRLNumber(E,w):b=="2.5.29.21"?I=this.getExtCRLReason(E,w):b=="1.3.6.1.5.5.7.48.1.2"?I=this.getExtOcspNonce(E,w):b=="1.3.6.1.5.5.7.48.1.5"?I=this.getExtOcspNoCheck(E,w):b=="1.2.840.113583.1.1.9.1"&&(I=this.getExtAdobeTimeStamp(E,w)),I!=null)return I;var M={extname:b,extn:E};return w&&(M.critical=!0),M},this.findExt=function(v,g){for(var x=0;x<v.length;x++)if(v[x].extname==g)return v[x];return null},this.dnarraytostr=function(v){function g(b){return b.map(function(w){return x(w).replace(/\+/,"\\+")}).join("+")}function x(b){return b.type+"="+b.value}return"/"+v.map(function(b){return g(b).replace(/\//,"\\/")}).join("/")},this.getInfo=function(){var v=function(j){var K=JSON.stringify(j.array).replace(/[\[\]\{\}\"]/g,"");return K},g=function(j){for(var K="",H=j.array,q=0;q<H.length;q++){var J=H[q];if(K+=" policy oid: "+J.policyoid+`
363
+ `,J.array!==void 0)for(var G=0;G<J.array.length;G++){var W=J.array[G];W.cps!==void 0&&(K+=" cps: "+W.cps+`
364
+ `)}}return K},x=function(j){for(var K="",H=j.array,q=0;q<H.length;q++){var J=H[q];try{J.dpname.full[0].uri!==void 0&&(K+=" "+J.dpname.full[0].uri+`
365
+ `)}catch(G){}try{J.dname.full[0].dn.hex!==void 0&&(K+=" "+He.hex2dn(J.dpname.full[0].dn.hex)+`
366
+ `)}catch(G){}}return K},b=function(j){for(var K="",H=j.array,q=0;q<H.length;q++){var J=H[q];J.caissuer!==void 0&&(K+=" caissuer: "+J.caissuer+`
367
+ `),J.ocsp!==void 0&&(K+=" ocsp: "+J.ocsp+`
368
+ `)}return K},w,E,I;if(w=`Basic Fields
369
369
  `,w+=" serial number: "+this.getSerialNumberHex()+`
370
370
  `,w+=" signature algorithm: "+this.getSignatureAlgorithmField()+`
371
371
  `,w+=" issuer: "+this.getIssuerString()+`
@@ -374,49 +374,49 @@
374
374
  `,w+=" subject: "+this.getSubjectString()+`
375
375
  `,w+=` subject public key info:
376
376
  `,E=this.getPublicKey(),w+=" key algorithm: "+E.type+`
377
- `,E.type==="RSA"&&(w+=" n="+ko(E.n.toString(16)).substr(0,16)+`...
378
- `,w+=" e="+ko(E.e.toString(16))+`
379
- `),M=this.aExtInfo,M!=null){w+=`X509v3 Extensions:
380
- `;for(var C=0;C<M.length;C++){var I=M[C],S=te.asn1.x509.OID.oid2name(I.oid);S===""&&(S=I.oid);var P="";if(I.critical===!0&&(P="CRITICAL"),w+=" "+S+" "+P+`:
381
- `,S==="basicConstraints"){var B=this.getExtBasicConstraints();B.cA===void 0?w+=` {}
382
- `:(w+=" cA=true",B.pathLen!==void 0&&(w+=", pathLen="+B.pathLen),w+=`
383
- `)}else if(S==="keyUsage")w+=" "+this.getExtKeyUsageString()+`
384
- `;else if(S==="subjectKeyIdentifier")w+=" "+this.getExtSubjectKeyIdentifier().kid.hex+`
385
- `;else if(S==="authorityKeyIdentifier"){var L=this.getExtAuthorityKeyIdentifier();L.kid!==void 0&&(w+=" kid="+L.kid.hex+`
386
- `)}else if(S==="extKeyUsage"){var k=this.getExtExtKeyUsage().array;w+=" "+k.join(", ")+`
387
- `}else if(S==="subjectAltName"){var O=p(this.getExtSubjectAltName());w+=" "+O+`
388
- `}else if(S==="cRLDistributionPoints"){var z=this.getExtCRLDistributionPoints();w+=x(z)}else if(S==="authorityInfoAccess"){var N=this.getExtAuthorityInfoAccess();w+=b(N)}else S==="certificatePolicies"&&(w+=g(this.getExtCertificatePolicies()))}}return w+="signature algorithm: "+this.getSignatureAlgorithmName()+`
377
+ `,E.type==="RSA"&&(w+=" n="+zo(E.n.toString(16)).substr(0,16)+`...
378
+ `,w+=" e="+zo(E.e.toString(16))+`
379
+ `),I=this.aExtInfo,I!=null){w+=`X509v3 Extensions:
380
+ `;for(var M=0;M<I.length;M++){var k=I[M],B=te.asn1.x509.OID.oid2name(k.oid);B===""&&(B=k.oid);var C="";if(k.critical===!0&&(C="CRITICAL"),w+=" "+B+" "+C+`:
381
+ `,B==="basicConstraints"){var T=this.getExtBasicConstraints();T.cA===void 0?w+=` {}
382
+ `:(w+=" cA=true",T.pathLen!==void 0&&(w+=", pathLen="+T.pathLen),w+=`
383
+ `)}else if(B==="keyUsage")w+=" "+this.getExtKeyUsageString()+`
384
+ `;else if(B==="subjectKeyIdentifier")w+=" "+this.getExtSubjectKeyIdentifier().kid.hex+`
385
+ `;else if(B==="authorityKeyIdentifier"){var O=this.getExtAuthorityKeyIdentifier();O.kid!==void 0&&(w+=" kid="+O.kid.hex+`
386
+ `)}else if(B==="extKeyUsage"){var P=this.getExtExtKeyUsage().array;w+=" "+P.join(", ")+`
387
+ `}else if(B==="subjectAltName"){var F=v(this.getExtSubjectAltName());w+=" "+F+`
388
+ `}else if(B==="cRLDistributionPoints"){var V=this.getExtCRLDistributionPoints();w+=x(V)}else if(B==="authorityInfoAccess"){var z=this.getExtAuthorityInfoAccess();w+=b(z)}else B==="certificatePolicies"&&(w+=g(this.getExtCertificatePolicies()))}}return w+="signature algorithm: "+this.getSignatureAlgorithmName()+`
389
389
  `,w+="signature: "+this.getSignatureValueHex().substr(0,16)+`...
390
- `,w},typeof n=="string"&&(n.indexOf("-----BEGIN")!=-1?this.readCertPEM(n):te.lang.String.isHex(n)&&this.readCertHex(n))}He.hex2dn=function(n,t){t===void 0&&(t=0);var e=new He;oe.getTLV(n,t);var r=e.getX500Name(n);return r.str};He.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=oe.getChildIdx(n,t),i=0;i<r.length;i++)e.push(He.hex2attrTypeValue(n,r[i]));return e=e.map(function(a){return a.replace("+","\\+")}),e.join("+")};He.hex2attrTypeValue=function(n,t){var e=oe,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 a=r(n,i[0]),o=te.asn1.ASN1Util.oidHexToInt(a),s=te.asn1.x509.OID.oid2atype(o),u=r(n,i[1]),l=xr(u);return s+"="+l};He.getPublicKeyFromCertHex=function(n){var t=new He;return t.readCertHex(n),t.getPublicKey()};He.getPublicKeyFromCertPEM=function(n){var t=new He;return t.readCertPEM(n),t.getPublicKey()};He.getPublicKeyInfoPropOfCertPEM=function(n){var t=oe,e=t.getVbyList,r={},i,a;return r.algparam=null,i=new He,i.readCertPEM(n),a=i.getPublicKeyHex(),r.keyhex=e(a,0,[1],"03").substr(2),r.algoid=e(a,0,[0,0],"06"),r.algoid==="2a8648ce3d0201"&&(r.algparam=e(a,0,[0,1],"06")),r};He.KEYUSAGE_NAME=["digitalSignature","nonRepudiation","keyEncipherment","dataEncipherment","keyAgreement","keyCertSign","cRLSign","encipherOnly","decipherOnly"];function Lo(n){return xe.SHA256(n).toString()}var o0=[function(){var n=new He;return n.readCertPEM(function(){var t=113,e=126,r=0,i="";return arguments[r].split(i).map(function(a){return a.charCodeAt(r)>e?a:String.fromCharCode((a.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 Zl(n,t){for(var e=0,r=t;e<r.length;e++){var i=r[e];if(i.getSubjectHex()===n)return i}}function s0(n,t){var e=n.getIssuerHex();if(e===n.getSubjectHex())return n.verifySignature(n.getPublicKey());var r=Zl(e,t);return!r||n.verifySignature(r.getPublicKey())===!1?!1:s0(r,t)}function u0(n){var t=n.getIssuerHex();return t===n.getSubjectHex()?!1:s0(n,o0)}function Yl(n){var t=new He;typeof n=="string"?t.readCertPEM(n):t.readCertHex(n.hex);var e=u0(t);return o0.push(t),e}function $l(n,t,e){var r=new He;if(typeof e=="string"?r.readCertPEM(e):r.readCertHex(e.hex),u0(r)===!1)return!1;var i=new Re;return i.readCertPubKeyHex(r.hex,6),!!i.verify(n,Wa(t))}Yl(function(){var t=113,e=126,r=0,i="";return arguments[r].split(i).map(function(a){return a.charCodeAt(r)>e?a:String.fromCharCode((a.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 Ea=function(n,t){return Ea=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])},Ea(n,t)};function se(n,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");Ea(n,t);function e(){this.constructor=n}n.prototype=t===null?Object.create(t):(e.prototype=t.prototype,new e)}var F=function(){return F=Object.assign||function(t){for(var e,r=1,i=arguments.length;r<i;r++){e=arguments[r];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a])}return t},F.apply(this,arguments)};function Ct(n,t,e,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,e):r,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(n,t,e,r);else for(var s=n.length-1;s>=0;s--)(o=n[s])&&(a=(i<3?o(a):i>3?o(t,e,a):o(t,e))||a);return i>3&&a&&Object.defineProperty(t,e,a),a}function Mt(n,t){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,t)}function ki(n,t,e,r){function i(a){return a instanceof e?a:new e(function(o){o(a)})}return new(e||(e=Promise))(function(a,o){function s(c){try{l(r.next(c))}catch(h){o(h)}}function u(c){try{l(r.throw(c))}catch(h){o(h)}}function l(c){c.done?a(c.value):i(c.value).then(s,u)}l((r=r.apply(n,t||[])).next())})}function Fi(n,t){var e={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},r,i,a,o=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return o.next=s(0),o.throw=s(1),o.return=s(2),typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function s(l){return function(c){return u([l,c])}}function u(l){if(r)throw new TypeError("Generator is already executing.");for(;o&&(o=0,l[0]&&(e=0)),e;)try{if(r=1,i&&(a=l[0]&2?i.return:l[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,l[1])).done)return a;switch(i=0,a&&(l=[l[0]&2,a.value]),l[0]){case 0:case 1:a=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(a=e.trys,!(a=a.length>0&&a[a.length-1])&&(l[0]===6||l[0]===2)){e=0;continue}if(l[0]===3&&(!a||l[1]>a[0]&&l[1]<a[3])){e.label=l[1];break}if(l[0]===6&&e.label<a[1]){e.label=a[1],a=l;break}if(a&&e.label<a[2]){e.label=a[2],e.ops.push(l);break}a[2]&&e.ops.pop(),e.trys.pop();continue}l=t.call(n,e)}catch(c){l=[6,c],i=0}finally{r=a=0}if(l[0]&5)throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}function bt(n,t,e){if(e||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||(a=Array.prototype.slice.call(t,0,r)),a[r]=t[r]);return n.concat(a||Array.prototype.slice.call(t))}function ec(n){return typeof Symbol=="undefined"?"$Symbol<".concat(n,">$"):Symbol(n)}var Qn=ec("$$FIVE_EVENT$$");function Rn(n){return n[Qn]||(n[Qn]={}),n[Qn]}function tc(n){n[Qn]&&delete n[Qn]}var Li=function(){function n(){}return n.prototype.hasListener=function(t){var e=Rn(this);return e&&e[t]&&e[t].callbacks.length>0},n.prototype.on=function(t,e,r){var i=this,a=Rn(this);return a[t]||(a[t]={called:[!1],callbacks:[]}),a[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){tc(this);return}var r=Rn(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,a=Rn(this);a[t]||(a[t]={called:[!1],callbacks:[]}),a[t].called=[!0,e];for(var o=a[t].callbacks.slice(),s=0,u=o;s<u.length;s++){var l=u[s],c=l[0],h=l[1],A=h===void 0?!1:h,m=c.apply(void 0,e);A&&this.off(t,c),m===!1&&(i=!0)}return i},n.prototype.waitUnitl=function(t){var e=this,r=Rn(this);r[t]||(r[t]={called:[!1],callbacks:[]});var i=r[t].called,a=i[0],o=i[1];return a?Promise.resolve(o):new Promise(function(s){e.once(t,function(){for(var u=[],l=0;l<arguments.length;l++)u[l]=arguments[l];return s(u),!0})})},n}();function D(){}var rc=typeof performance!="undefined"&&typeof performance.timing!="undefined"?performance.timing.navigationStart:Date.now(),Ee=typeof performance!="undefined"?function(){return rc+performance.now()}:function(){return Date.now()};function yn(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])&&yn(n[r])}),n}var Oo=/^([^.]+)(\.([^.]+))*$/;function nc(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 an(n){return/^(([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])(\.(?!$)|$)){4}$/.test(n)}function qr(n,t){return Oo.test(n)&&Oo.test(t)&&nc(n,t)}var ic=[/\.([0-9a-z]+)\.jsonp([\?\#].*)?$/i,/jsonp_([0-9a-z]+)([\?\#].*)?$/i],ur=yn(JSON.parse(function(){var t=113,e=126,r=0,i="";return arguments[r].split(i).map(function(a){return a.charCodeAt(r)>e?a:String.fromCharCode((a.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/rnyrr;p{/9/rnyrr;p|z/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"))),_a=function(n){se(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),xi=function(n){se(t,n);function t(e,r,i){var a=n.call(this,"[NETWORK]: response error(type: ".concat(r,", status: ").concat(i,"): ").concat(e))||this;return a.httpStatus=i,a}return t}(Error);(function(n){se(t,n);function t(e,r){return n.call(this,"[NETWORK]: request abort(type: ".concat(r,"): ").concat(e))||this}return t})(Error);var Ca=function(n){se(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),Za=function(n){se(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 ac(n){if(!n)return{};for(var t={},e=n.trim().split(`
391
- `),r=0;r<e.length;r++){var i=e[r],a=i.indexOf(":"),o=i.slice(0,a).trim().toLowerCase(),s=i.slice(a+1).trim();s&&(t[o]?t[o]+=", "+s:t[o]=s)}return t}function Ma(n){for(var t=0,e=ic;t<e.length;t++){var r=e[t],i=n.match(r);if(i)return"jsonp_"+i[1]}return null}function Vo(n){return Ma(n)!==null}function No(n){var t=n.match(/^([0-9a-z]+\:)\/\/(([^:/?#]*)(?::[0-9]+)?)/);return t?t[1]:location.protocol}function Ya(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 l0=function(n){se(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t}(Li);function wn(n,t,e,r,i){t===void 0&&(t={}),e===void 0&&(e=D),r===void 0&&(r=D),i===void 0&&(i=D);var a=Ee(),o=n;return Promise.resolve().then(function(){return t.requestProxy?t.requestProxy(n):n}).then(function(s){return/^https\:/.test(location.href)&&/^http\:/.test(s)?(console.warn("The page at '".concat(location.href,"' was loaded over HTTPS, but requested an insecure element '").concat(s,"'. This request was automatically upgraded to HTTPS")),s.replace(/^http\:/,"https:")):s}).catch(function(s){var u,l=Ma(n),c=l?"Script":"XMLHttpRequest",h=new _a(o,c,s&&s.message?String(s.message):String(s));return(u=t.networkSubscribe)===null||u===void 0||u.emit("network",n,c,"proxy-error",h.message),Promise.reject(h)}).then(function(s){return new Promise(function(u,l){var c,h=t.allowHosts?ur.concat(t.allowHosts):ur.slice(),A=Ya(s),m=Ma(s);if(location.hostname.length!==0&&!an(location.hostname)&&ur.filter(function(L){return qr(L,location.hostname)}).length===0&&!an(A)&&h.filter(function(L){return qr(L,A)}).length===0){var f=m?"Script":"XMLHttpRequest",v=new Za(s,f,"request host(".concat(A,") is not allowed"));r(v),l(v),(c=t.networkSubscribe)===null||c===void 0||c.emit("network",s,f,"forbidden",v.message);return}if(m){var y=window,p=null,g=!1,x=document.createElement("script"),b=function(){var L;if(p=null,g!==!0){g=!0;var k=new Ca(s,"Script",t.timeout||NaN);r(k),l(k),(L=t.networkSubscribe)===null||L===void 0||L.emit("network",s,"Script","timeout",k.message)}},w=function(L){var k,O,z=Ee(),N=z-a;if(delete y[m],x.parentNode&&x.parentNode.removeChild(x),p!==null&&(window.clearTimeout(p),p=null),g!==!0){if(L.indexOf("data:")!==0){var X=new xi(s,"Script",500);r(X),l(X),(k=t.networkSubscribe)===null||k===void 0||k.emit("network",s,"Script","error",X.message);return}var G=L.split(","),Q=(G[0].match(/:(.*?);/)||[])[1],H=G[1];if(t.responseType==="arraybuffer"||t.responseType==="blob"){for(var K=atob(G[1]),j=K.length,J=new Uint8Array(j),Z=0;Z<j;Z++)J[Z]=K.charCodeAt(Z);t.responseType==="arraybuffer"?H=J.buffer:H=new Blob([J],{type:Q})}var Y={},fe={body:H,meta:{origin:o,source:s,requestTime:a,responseTime:z,costs:N,headers:Y}};e(fe),u(fe),(O=t.networkSubscribe)===null||O===void 0||O.emit("network",s,"Script","ok",JSON.stringify(fe.meta)),g=!0}};y[m]=w,x.src=s,document.body.appendChild(x),typeof t.timeout=="number"&&(p=window.setTimeout(b,t.timeout))}else{var E=!1,M=new XMLHttpRequest,C=function(){M&&(M.removeEventListener("timeout",I,!1),M.removeEventListener("progress",S,!1),M.removeEventListener("load",P,!1),M.removeEventListener("error",B,!1)),M=null,C=D},I=function(){var L;if(E!==!0){E=!0,C();var k=new Ca(s,"XMLHttpRequest",t.timeout||NaN);r(k),l(k),(L=t.networkSubscribe)===null||L===void 0||L.emit("network",s,"XMLHttpRequest","timeout",k.message)}},S=function(L){E!==!0&&L.lengthComputable&&(L.total<=0||i(L.loaded/L.total))},P=function(L){var k;if(E!==!0){var O=this.status;if(O===0||O>=200&&O<400){E=!0,C();var z=Ee(),N=z-a,X=ac(this.getAllResponseHeaders()),G=L.total,Q={body:this.response,meta:{origin:o,source:s,requestTime:a,responseTime:z,costs:N,headers:X,size:G}};e(Q),u(Q),(k=t.networkSubscribe)===null||k===void 0||k.emit("network",s,"XMLHttpRequest","ok",JSON.stringify(Q.meta))}else B.call(this)}},B=function(){var L;if(E!==!0){E=!0,C();var k=new xi(s,"XMLHttpRequest",this.status);r(k),l(k),(L=t.networkSubscribe)===null||L===void 0||L.emit("network",s,"XMLHttpRequest","error",k.message)}};M.addEventListener("timeout",I,!1),M.addEventListener("progress",S,!1),M.addEventListener("load",P,!1),M.addEventListener("error",B,!1),t.responseType&&(M.responseType=t.responseType),typeof t.timeout=="number"&&(M.timeout=t.timeout),M.open("GET",s,!0),M.send(null)}})})}var Ki={};function oc(n,t){t===void 0&&(t={});var e=Ee(),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 a,o=new _a(r,"Link",i&&i.message?String(i.message):String(i));return(a=t.networkSubscribe)===null||a===void 0||a.emit("network",n,"Link","proxy-error",o.message),Promise.reject(o)}).then(function(i){return i in Ki?Ki[i]:Ki[i]=new Promise(function(a,o){var s,u=t.allowHosts?ur.concat(t.allowHosts):ur.slice(),l=Ya(i);if(location.hostname.length!==0&&!an(location.hostname)&&ur.filter(function(f){return qr(f,location.hostname)}).length===0&&!an(l)&&u.filter(function(f){return qr(f,l)}).length===0){var c=new Za(i,"Link","request host(".concat(l,") is not allowed"));o(c),(s=t.networkSubscribe)===null||s===void 0||s.emit("network",i,"Link","forbidden",c.message);return}var h=document.createElement("link");h.href=i,h.rel=h.relList&&h.relList.supports("prefetch")?"prefetch":"preload",h.as="fetch",h.crossOrigin="";var A=document.head||document.getElementsByTagName("head")[0];A&&A.appendChild(h);var m=!1;h.onload=function(){var f;if(m!==!0){m=!0,a();var v=Ee(),y=v-e,p={},g={origin:r,source:i,requestTime:e,responseTime:v,costs:y,headers:p};(f=t.networkSubscribe)===null||f===void 0||f.emit("network",i,"Link","preload",JSON.stringify(g))}},h.onerror=function(f){var v;if(m!==!0){m=!0;var y=new xi(i,"Link",0);o(y),(v=t.networkSubscribe)===null||v===void 0||v.emit("network",i,"Link","error",y.message)}}})})}function sc(n,t,e,r,i,a){t===void 0&&(t={}),e===void 0&&(e=D),r===void 0&&(r=D),i===void 0&&(i=D);var o=Ee(),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=new _a(s,"Image",u&&u.message?String(u.message):String(u));return(l=t.networkSubscribe)===null||l===void 0||l.emit("network",n,"Image","proxy-error",c.message),Promise.reject(c)}).then(function(u){return new Promise(function(l,c){var h,A=t.allowHosts?ur.concat(t.allowHosts):ur.slice(),m=Ya(u);if(location.hostname.length!==0&&!an(location.hostname)&&ur.filter(function(b){return qr(b,location.hostname)}).length===0&&!an(m)&&A.filter(function(b){return qr(b,m)}).length===0){var f=new Za(u,"Image","request host(".concat(m,") is not allowed"));r(f),c(f),(h=t.networkSubscribe)===null||h===void 0||h.emit("network",u,"Image","forbidden",f.message);return}var v=a!=null?a:new Image,y=!1,p=null,g=function(){var b;if(v.onload=D,v.onerror=D,p!==null&&(clearTimeout(p),p=null),y!==!0){var w=Ee(),E={headers:{},origin:s,source:u,requestTime:o,responseTime:w,costs:w-o};y=!0;var M={body:v,meta:E};i(1),e(M),l(M),(b=t.networkSubscribe)===null||b===void 0||b.emit("network",u,"Image","ok",JSON.stringify(M.meta))}},x=function(){var b;if(v.onload=D,v.onerror=D,p!==null&&(clearTimeout(p),p=null),y!==!0){y=!0;var w=new xi(u,"Image",0);r(w),c(w),(b=t.networkSubscribe)===null||b===void 0||b.emit("network",u,"Image","ok",w.message)}};typeof t.timeout=="number"&&(p=window.setTimeout(function(){var b;if(v.onload=D,v.onerror=D,p=null,y!==!0){y=!0;var w=new Ca(u,"Image",t.timeout);r(w),c(w),(b=t.networkSubscribe)===null||b===void 0||b.emit("network",u,"Image","timeout",w.message)}},t.timeout)),v.onload=g,v.onerror=x,i(0),v.src=u})})}var $a=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,a){var o;e===void 0&&(e={}),r===void 0&&(r=D),i===void 0&&(i=D),a===void 0&&(a=D);var s=this.options,u={responseType:e.responseType,timeout:(o=e.timeout)!==null&&o!==void 0?o:s.timeout,get allowHosts(){var l;return(l=e.allowHosts)!==null&&l!==void 0?l:s.allowHosts},get requestProxy(){var l;return(l=e.requestProxy)!==null&&l!==void 0?l:s.requestProxy},get networkSubscribe(){var l;return(l=e.networkSubscribe)!==null&&l!==void 0?l:s.networkSubscribe}};return wn(t,u,r,i,a)},n.prototype.loadImage=function(t,e,r,i,a,o){var s;e===void 0&&(e={}),r===void 0&&(r=D),i===void 0&&(i=D),a===void 0&&(a=D);var u=this.options,l={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 sc(t,l,r,i,a,o)},n.prototype.preload=function(t,e){var r;e===void 0&&(e={});var i=this.options,a={timeout:(r=e.timeout)!==null&&r!==void 0?r:i.timeout,get allowHosts(){var o;return(o=e.allowHosts)!==null&&o!==void 0?o:i.allowHosts},get requestProxy(){var o;return(o=e.requestProxy)!==null&&o!==void 0?o:i.requestProxy},get networkSubscribe(){var o;return(o=e.networkSubscribe)!==null&&o!==void 0?o:i.networkSubscribe}};return oc(t,a)},n}(),wi=new $a,uc=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)}}(),lc=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)},cc=5,zo=16,vt=function(){function n(){this.frames=[],this.stoped=!1,this.time=Ee(),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 zo},n.prototype.loop=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];if(!this.stoped){var r=Ee(),i=r-this.time;this.time=r;var a=[];zo=i;for(var o=0,s=this.frames;o<s.length;o++){var u=s[o];if(u.delay>0){u.delay=u.delay-1;continue}try{u.callback.apply(u,bt([r,i],t,!1))}catch(l){console.error(l)}u.once&&a.push(u)}a.length>0&&(this.frames=this.frames.filter(function(l){return a.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):uc(t)},n.prototype.cancelAnimationFrame=function(t){this.context?this.context.cancelAnimationFrame(t):lc(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 a=this;e===void 0&&(e=!1),r===void 0&&(r=0),i===void 0&&(i=cc);var o={callback:t,once:e,delay:r,order:i};return this.frames.push(o),this.frames.sort(function(s,u){return s.order-u.order}),function(){return a.remove(o)}},n.prototype.disponse=function(){this.stoped=!0,this.frames.length=0},n}();function pe(n,t,e){return n<t?t:n>e?e:n}var dc={"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"]}},c0=/^https?\:\/\/?([^\/]+)/;function fc(n){var t=n.match(c0);return t===null?null:t[1]}function dn(n,t){return n.replace(c0,function(e,r){return e.slice(0,e.length-r.length)+t})}function hc(n,t,e){var r=t.split("."),i=r[0],a=r.slice(1);if(i==="texture")return dn(n,e.texture[0]);if(i==="pano"||i==="pano_luminance"){a[0];var o=a[1];switch(o){case"front":case"left":case"up":return dn(n,e.pano[0]);case"down":case"right":case"back":return dn(n,e.pano[1])}}else if(i==="pano_tile"||i==="pano_tile_luminance"){a[0],a[1];var s=a[2],u=a[3],l=a[4],c=Math.pow(2,Number(s))*Number(u)+Number(l);if(!isNaN(c))return dn(n,e.tile[c%2])}else if(i==="model"){var h=a[0],c=Number(h);if(!isNaN(c))return dn(n,e.model[c%2])}return dn(n,e.default[0])}var pc=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 a="";if(t.format!==void 0&&t.format!==i&&(a+="/format/".concat(t.format)),t.cut!==void 0&&(a+="/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 o=(e=t.format)!==null&&e!==void 0?e:i;o&&["jpg","webp","tpg","heif","avif"].indexOf(o)>=0&&(a+="/quality/".concat(t.quality))}if(t.size!==void 0){var s=n.match(/\/cube_(\d+)\//),u=s?Number(s[1]):NaN;u!==Number(t.size)&&(a+="/thumbnail/".concat(t.size,"x"))}return t.sharpen!==void 0&&(a+="/sharpen/".concat(t.sharpen)),a.length&&(a="?imageMogr2"+a),r+a},vc=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 a="",o=[],s=t.format,u=t.quality,l=t.size;if(s!==void 0&&s!==i&&o.push("format,".concat(s==="heif"?"heic":s)),t.cut!==void 0){var c=t.cut,h=c[0],A=c[1],m=c[2],f=c[3];o.push("crop,x_".concat(h,",y_").concat(A,",w_").concat(m,",h_").concat(f,",g_nw"))}if(u!==void 0&&u!==100){var v=(e=t.format)!==null&&e!==void 0?e:i;v&&["jpg","webp"].indexOf(v)>=0&&o.push("quality,Q_".concat(u))}return l&&l!==2048&&o.push("resize,w_".concat(l)),t.sharpen!==void 0&&o.push("sharpen,".concat(t.sharpen)),o.length&&(a="?x-oss-process=image/"+o.join("/")),r+a},fn=9007199254740991;function Wr(n){var t=Math.round(n);return Math.abs(t-n)<.001?t:Math.floor(n)}function Ac(n){return n=Object.assign({},n),n.size!==void 0&&(n.size=Wr(pe(n.size,0,fn))),n.quality!==void 0&&(n.quality=Wr(pe(n.quality,0,100))),n.cut!==void 0&&(n.cut=[Wr(pe(n.cut[0],0,fn)),Wr(pe(n.cut[1],0,fn)),Wr(pe(n.cut[2],0,fn)),Wr(pe(n.cut[3],0,fn))]),n.sharpen!==void 0&&(n.sharpen=Wr(pe(n.sharpen,0,fn))),n}function St(n,t){var e=F(F({},dc),t.mappings),r=fc(n);if(r===null)return n;t=Ac(t);var i=e[r];return i?(n=hc(n,t.key,i),/\.basis(\?|$)/.test(n)&&(n=n.replace(/\.basis(\?|$)/,".jpg$1")),i.type==="tencentCloud"?pc(n,t):i.type==="aliyun"?vc(n,t):n):n}function tn(n,t,e){t===void 0&&(t=St);var r=t(n,e);if(r===n&&e.cut)throw new Error("ImageURL: cut option not applied.");return r}var d0=/\/cube_(\d+)\//;function jn(n){var t=n.match(d0);return t?Number(t[1]):null}function Ft(n,t){return n.replace(d0,"/cube_".concat(t,"/"))}var mc="data:image/webp;base64,UklGRiQAAABXRUJQVlA4IBgAAAAwAQCdASoCAAIAAUAmJaQAA3AA/vz0AAA=",gc="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAAGhbWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAsaWxvYwAAAABEAAACAAEAAAABAAAB3gAAABkAAgAAAAEAAAHJAAAAFQAAAEJpaW5mAAAAAAACAAAAGmluZmUCAAAAAAEAAGF2MDFDb2xvcgAAAAAaaW5mZQIAAAAAAgAAYXYwMUFscGhhAAAAABppcmVmAAAAAAAAAA5hdXhsAAIAAQABAAAA12lwcnAAAACxaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIAAoAAAAAUaXNwZQAAAAAAAAACAAAAAgAAAA5waXhpAAAAAAEIAAAADGF2MUOBABwAAAAAOGF1eEMAAAAAdXJuOm1wZWc6bXBlZ0I6Y2ljcDpzeXN0ZW1zOmF1eGlsaWFyeTphbHBoYQAAAAAeaXBtYQAAAAAAAAACAAEEAQKDBAACBAUGhwgAAAA2bWRhdBIACgQYADLVMgsWQBhhIAQqrNj/+BIACgUYADLEoDIOFkADDDDCQAACDaqCCb4=",yc="data:image/heif;base64,AAAAGGZ0eXBoZWljAAAAAG1pZjFoZWljAAABL21ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAHBpY3QAAAAAAAAAAAAAAAAAAAAADnBpdG0AAAAAAAEAAAAjaWluZgAAAAAAAQAAABVpbmZlAgAAAAABAABodmMxAAAAAK9pcHJwAAAAkmlwY28AAAB2aHZjQwEBYAAAAAAAAAAAAADwAPz9+PgAACcDoAABAB5AAQwG//8BYAAAAwAAAwAAAwAAAwAAAwAAreTLgSChAAEAI0IBBwFgAAADAAADAAADAAADAAADAAChInJJlreTLySZNdggogABAAdEAcA98DMkAAAAFGlzcGUAAAAAAAAAAgAAAAIAAAAVaXBtYQAAAAAAAAABAAECgQIAAAAiaWxvYwAAAABEQAABAAEAAAAAAU8AAQAAAAAAAAAOAAAAFm1kYXQAAAAKJgGvLvkQwuWM4A==";function ji(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 Ji=null;function f0(){return Ji||(Ji=Promise.all([ji(mc),ji(gc),ji(yc)]).then(function(n){return{webp:n[0],avif:n[1],heif:n[2]}}))}var h0=/^(.*)\[(\d+)\]$/;function ze(n){if(!isNaN(n.panoIndex)&&isFinite(n.panoIndex))return"".concat(n.workCode,"[").concat(n.panoIndex,"]");throw new Error("Invalid Pano")}function pt(n){var t=n.match(h0);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 Zt(n,t){return ze(n)===ze(t)}function p0(n){return typeof n=="string"&&h0.test(n)}var bc=function(n){se(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t}(d.Group),Dt=function(n){se(t,n);function t(e,r){var i=n.call(this,e,r)||this;return i.onBeforeRender=xc,i}return t}(d.Mesh);function xc(n,t,e){for(var r=0,i=this.material;r<i.length;r++){var a=i[r];this.model&&a.syncModel(this.model),a.update(n,e)}}var Wn=function(){return typeof document!="undefined"?new d.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 d.Texture}();Wn.minFilter=d.NearestFilter;Wn.magFilter=d.NearestFilter;Wn.wrapS=d.RepeatWrapping;Wn.wrapT=d.RepeatWrapping;var we={pano0:null,pano1:null,shownFloorIndex:-1,modelAlpha:1,opacity:1,progress:0,transition:"FADE",clippers:null,brightness:1,constantColor:null,useEDL:!1,useHQWeight:!1,useHQDepth:!1,pointColor:"RGB",pointSize:"ATTENUATION",pointBack:"DARK",pointShape:"SQUARE",pointScale:.03,pointMaxPixel:40,pointMinPixel:.5,gradientTexture:Wn};function wc(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 Ec(n,t){return n&&t?n.luminanceMap===t.luminanceMap&&n.map===t.map&&n.zoom===t.zoom&&n.matrix.equals(t.matrix):!n&&!t}function v0(n,t){var e=!1;for(var r in t)switch(r){case"clippers":wc(n[r],t[r])||(n[r]=t[r],e=!0);break;case"pano0":case"pano1":Ec(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 wr=function(n){se(t,n);function t(e,r){var i=n.call(this,e,r)||this;return i.onBeforeRender=Cc,i}return t}(d.Points);function Cc(n,t,e){this.model&&this.material.syncModel(this.model),this.material.update(n,e)}var hn=new Set,A0=function(n){se(t,n);function t(){var e=n.call(this)||this;return e.needsRender=!0,e.pbmMaterialParametersVersion=0,e.materialParameters=F({},we),e}return t.prototype.getMaterial=function(){return F({},this.materialParameters)},t.prototype.setMaterial=function(e){var r=this;Object.assign(this.materialParameters,e),hn.clear(),this.traverse(function(i){if(i instanceof Dt)for(var a=0,o=i.material;a<o.length;a++){var s=o[a];hn.has(s)||(Object.assign(s,r.materialParameters),hn.add(s))}i instanceof wr&&(hn.has(i.material)||(Object.assign(i.material,r.materialParameters),hn.add(i.material)))}),hn.clear(),this.needsRender=!0},t}(d.Group),Mc=["right","left","up","down","front","back"];function m0(n,t,e,r){var i=new d.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 d.Matrix4().makeRotationY(Math.PI))}var g0=function(n,t){if(!(n.level>=t))for(var e=n.level+1,r=n.size/2,i=[new d.Vector2(n.position.x,n.position.y),new d.Vector2(n.position.x+r,n.position.y),new d.Vector2(n.position.x,n.position.y+r),new d.Vector2(n.position.x+r,n.position.y+r)],a=0,o=i;a<o.length;a++){var s=o[a],u={face:n.face,level:e,size:r,position:s,box:m0(n.face,s.x,s.y,r),children:[]};n.children.push(u),g0(u,t)}};function Sc(n,t){var e={level:0,face:n,position:new d.Vector2(0,0),size:1,box:m0(n,0,0,1),children:[]};return g0(e,t),e}function Sa(n){var t=Mc.map(function(e){return Sc(e,n)});return{children:t}}function eo(n,t){for(var e=0,r=n.children;e<r.length;e++){var i=r[e],a=t(i);a!==!1&&eo(i,t)}}var _n=new d.BoxBufferGeometry(1,1,1,1,1);_n.deleteAttribute("uv");_n.deleteAttribute("normal");_n.groups=[];_n.scale(-1,1,1);var Ic=`
390
+ `,w},typeof n=="string"&&(n.indexOf("-----BEGIN")!=-1?this.readCertPEM(n):te.lang.String.isHex(n)&&this.readCertHex(n))}He.hex2dn=function(n,t){t===void 0&&(t=0);var e=new He;se.getTLV(n,t);var r=e.getX500Name(n);return r.str};He.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=se.getChildIdx(n,t),i=0;i<r.length;i++)e.push(He.hex2attrTypeValue(n,r[i]));return e=e.map(function(a){return a.replace("+","\\+")}),e.join("+")};He.hex2attrTypeValue=function(n,t){var e=se,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 a=r(n,i[0]),o=te.asn1.ASN1Util.oidHexToInt(a),s=te.asn1.x509.OID.oid2atype(o),l=r(n,i[1]),u=xr(l);return s+"="+u};He.getPublicKeyFromCertHex=function(n){var t=new He;return t.readCertHex(n),t.getPublicKey()};He.getPublicKeyFromCertPEM=function(n){var t=new He;return t.readCertPEM(n),t.getPublicKey()};He.getPublicKeyInfoPropOfCertPEM=function(n){var t=se,e=t.getVbyList,r={},i,a;return r.algparam=null,i=new He,i.readCertPEM(n),a=i.getPublicKeyHex(),r.keyhex=e(a,0,[1],"03").substr(2),r.algoid=e(a,0,[0,0],"06"),r.algoid==="2a8648ce3d0201"&&(r.algparam=e(a,0,[0,1],"06")),r};He.KEYUSAGE_NAME=["digitalSignature","nonRepudiation","keyEncipherment","dataEncipherment","keyAgreement","keyCertSign","cRLSign","encipherOnly","decipherOnly"];function Qo(n){return xe.SHA256(n).toString()}var f0=[function(){var n=new He;return n.readCertPEM(function(){var t=113,e=126,r=0,i="";return arguments[r].split(i).map(function(a){return a.charCodeAt(r)>e?a:String.fromCharCode((a.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 sc(n,t){for(var e=0,r=t;e<r.length;e++){var i=r[e];if(i.getSubjectHex()===n)return i}}function h0(n,t){var e=n.getIssuerHex();if(e===n.getSubjectHex())return n.verifySignature(n.getPublicKey());var r=sc(e,t);return!r||n.verifySignature(r.getPublicKey())===!1?!1:h0(r,t)}function p0(n){var t=n.getIssuerHex();return t===n.getSubjectHex()?!1:h0(n,f0)}function uc(n){var t=new He;typeof n=="string"?t.readCertPEM(n):t.readCertHex(n.hex);var e=p0(t);return f0.push(t),e}function lc(n,t,e){var r=new He;if(typeof e=="string"?r.readCertPEM(e):r.readCertHex(e.hex),p0(r)===!1)return!1;var i=new Be;return i.readCertPubKeyHex(r.hex,6),!!i.verify(n,eo(t))}uc(function(){var t=113,e=126,r=0,i="";return arguments[r].split(i).map(function(a){return a.charCodeAt(r)>e?a:String.fromCharCode((a.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 Ta=function(n,t){return Ta=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])},Ta(n,t)};function ue(n,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");Ta(n,t);function e(){this.constructor=n}n.prototype=t===null?Object.create(t):(e.prototype=t.prototype,new e)}var L=function(){return L=Object.assign||function(t){for(var e,r=1,i=arguments.length;r<i;r++){e=arguments[r];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a])}return t},L.apply(this,arguments)};function Ct(n,t,e,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,e):r,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(n,t,e,r);else for(var s=n.length-1;s>=0;s--)(o=n[s])&&(a=(i<3?o(a):i>3?o(t,e,a):o(t,e))||a);return i>3&&a&&Object.defineProperty(t,e,a),a}function Mt(n,t){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,t)}function Oi(n,t,e,r){function i(a){return a instanceof e?a:new e(function(o){o(a)})}return new(e||(e=Promise))(function(a,o){function s(c){try{u(r.next(c))}catch(f){o(f)}}function l(c){try{u(r.throw(c))}catch(f){o(f)}}function u(c){c.done?a(c.value):i(c.value).then(s,l)}u((r=r.apply(n,t||[])).next())})}function Vi(n,t){var e={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},r,i,a,o=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return o.next=s(0),o.throw=s(1),o.return=s(2),typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function s(u){return function(c){return l([u,c])}}function l(u){if(r)throw new TypeError("Generator is already executing.");for(;o&&(o=0,u[0]&&(e=0)),e;)try{if(r=1,i&&(a=u[0]&2?i.return:u[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,u[1])).done)return a;switch(i=0,a&&(u=[u[0]&2,a.value]),u[0]){case 0:case 1:a=u;break;case 4:return e.label++,{value:u[1],done:!1};case 5:e.label++,i=u[1],u=[0];continue;case 7:u=e.ops.pop(),e.trys.pop();continue;default:if(a=e.trys,!(a=a.length>0&&a[a.length-1])&&(u[0]===6||u[0]===2)){e=0;continue}if(u[0]===3&&(!a||u[1]>a[0]&&u[1]<a[3])){e.label=u[1];break}if(u[0]===6&&e.label<a[1]){e.label=a[1],a=u;break}if(a&&e.label<a[2]){e.label=a[2],e.ops.push(u);break}a[2]&&e.ops.pop(),e.trys.pop();continue}u=t.call(n,e)}catch(c){u=[6,c],i=0}finally{r=a=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}function bt(n,t,e){if(e||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||(a=Array.prototype.slice.call(t,0,r)),a[r]=t[r]);return n.concat(a||Array.prototype.slice.call(t))}function cc(n){return typeof Symbol=="undefined"?"$Symbol<".concat(n,">$"):Symbol(n)}var Dn=cc("$$FIVE_EVENT$$");function Bn(n){return n[Dn]||(n[Dn]={}),n[Dn]}function dc(n){n[Dn]&&delete n[Dn]}var Ni=function(){function n(){}return n.prototype.hasListener=function(t){var e=Bn(this);return e&&e[t]&&e[t].callbacks.length>0},n.prototype.on=function(t,e,r){var i=this,a=Bn(this);return a[t]||(a[t]={called:[!1],callbacks:[]}),a[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){dc(this);return}var r=Bn(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,a=Bn(this);a[t]||(a[t]={called:[!1],callbacks:[]}),a[t].called=[!0,e];for(var o=a[t].callbacks.slice(),s=0,l=o;s<l.length;s++){var u=l[s],c=u[0],f=u[1],A=f===void 0?!1:f,m=c.apply(void 0,e);A&&this.off(t,c),m===!1&&(i=!0)}return i},n.prototype.waitUnitl=function(t){var e=this,r=Bn(this);r[t]||(r[t]={called:[!1],callbacks:[]});var i=r[t].called,a=i[0],o=i[1];return a?Promise.resolve(o):new Promise(function(s){e.once(t,function(){for(var l=[],u=0;u<arguments.length;u++)l[u]=arguments[u];return s(l),!0})})},n}();function D(){}var fc=typeof performance!="undefined"&&typeof performance.timing!="undefined"?performance.timing.navigationStart:Date.now(),Ee=typeof performance!="undefined"?function(){return fc+performance.now()}:function(){return Date.now()};function yn(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])&&yn(n[r])}),n}var Uo=/^([^.]+)(\.([^.]+))*$/;function hc(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 on(n){return/^(([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])(\.(?!$)|$)){4}$/.test(n)}function qr(n,t){return Uo.test(n)&&Uo.test(t)&&hc(n,t)}var pc=[/\.([0-9a-z]+)\.jsonp([\?\#].*)?$/i,/jsonp_([0-9a-z]+)([\?\#].*)?$/i],ur=yn(JSON.parse(function(){var t=113,e=126,r=0,i="";return arguments[r].split(i).map(function(a){return a.charCodeAt(r)>e?a:String.fromCharCode((a.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/rnyrr;p{/9/rnyrr;p|z/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"))),to=function(n){ue(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),Ci=function(n){ue(t,n);function t(e,r,i){var a=n.call(this,"[NETWORK]: response error(type: ".concat(r,", status: ").concat(i,"): ").concat(e))||this;return a.httpStatus=i,a}return t}(Error);(function(n){ue(t,n);function t(e,r){return n.call(this,"[NETWORK]: request abort(type: ".concat(r,"): ").concat(e))||this}return t})(Error);var Pa=function(n){ue(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),ro=function(n){ue(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 vc(n){if(!n)return{};for(var t={},e=n.trim().split(`
391
+ `),r=0;r<e.length;r++){var i=e[r],a=i.indexOf(":"),o=i.slice(0,a).trim().toLowerCase(),s=i.slice(a+1).trim();s&&(t[o]?t[o]+=", "+s:t[o]=s)}return t}function Ba(n){for(var t=0,e=pc;t<e.length;t++){var r=e[t],i=n.match(r);if(i)return"jsonp_"+i[1]}return null}function qo(n){return Ba(n)!==null}function Ho(n){var t=n.match(/^([0-9a-z]+\:)\/\/(([^:/?#]*)(?::[0-9]+)?)/);return t?t[1]:location.protocol}function no(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 v0=function(n){ue(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t}(Ni);function wn(n,t,e,r,i){t===void 0&&(t={}),e===void 0&&(e=D),r===void 0&&(r=D),i===void 0&&(i=D);var a=Ee(),o=n;return Promise.resolve().then(function(){return t.requestProxy?t.requestProxy(n):n}).then(function(s){return/^https\:/.test(location.href)&&/^http\:/.test(s)?(console.warn("The page at '".concat(location.href,"' was loaded over HTTPS, but requested an insecure element '").concat(s,"'. This request was automatically upgraded to HTTPS")),s.replace(/^http\:/,"https:")):s}).catch(function(s){var l,u=Ba(n),c=u?"Script":"XMLHttpRequest",f=new to(o,c,s&&s.message?String(s.message):String(s));return(l=t.networkSubscribe)===null||l===void 0||l.emit("network",n,c,"proxy-error",f.message),Promise.reject(f)}).then(function(s){return new Promise(function(l,u){var c,f=t.allowHosts?ur.concat(t.allowHosts):ur.slice(),A=no(s),m=Ba(s);if(location.hostname.length!==0&&!on(location.hostname)&&ur.filter(function(O){return qr(O,location.hostname)}).length===0&&!on(A)&&f.filter(function(O){return qr(O,A)}).length===0){var h=m?"Script":"XMLHttpRequest",p=new ro(s,h,"request host(".concat(A,") is not allowed"));r(p),u(p),(c=t.networkSubscribe)===null||c===void 0||c.emit("network",s,h,"forbidden",p.message);return}if(m){var y=window,v=null,g=!1,x=document.createElement("script"),b=function(){var O;if(v=null,g!==!0){g=!0;var P=new Pa(s,"Script",t.timeout||NaN);r(P),u(P),(O=t.networkSubscribe)===null||O===void 0||O.emit("network",s,"Script","timeout",P.message)}},w=function(O){var P,F,V=Ee(),z=V-a;if(delete y[m],x.parentNode&&x.parentNode.removeChild(x),v!==null&&(window.clearTimeout(v),v=null),g!==!0){if(O.indexOf("data:")!==0){var j=new Ci(s,"Script",500);r(j),u(j),(P=t.networkSubscribe)===null||P===void 0||P.emit("network",s,"Script","error",j.message);return}var K=O.split(","),H=(K[0].match(/:(.*?);/)||[])[1],q=K[1];if(t.responseType==="arraybuffer"||t.responseType==="blob"){for(var J=atob(K[1]),G=J.length,W=new Uint8Array(G),_=0;_<G;_++)W[_]=J.charCodeAt(_);t.responseType==="arraybuffer"?q=W.buffer:q=new Blob([W],{type:H})}var Y={},oe={body:q,meta:{origin:o,source:s,requestTime:a,responseTime:V,costs:z,headers:Y}};e(oe),l(oe),(F=t.networkSubscribe)===null||F===void 0||F.emit("network",s,"Script","ok",JSON.stringify(oe.meta)),g=!0}};y[m]=w,x.src=s,document.body.appendChild(x),typeof t.timeout=="number"&&(v=window.setTimeout(b,t.timeout))}else{var E=!1,I=new XMLHttpRequest,M=function(){I&&(I.removeEventListener("timeout",k,!1),I.removeEventListener("progress",B,!1),I.removeEventListener("load",C,!1),I.removeEventListener("error",T,!1)),I=null,M=D},k=function(){var O;if(E!==!0){E=!0,M();var P=new Pa(s,"XMLHttpRequest",t.timeout||NaN);r(P),u(P),(O=t.networkSubscribe)===null||O===void 0||O.emit("network",s,"XMLHttpRequest","timeout",P.message)}},B=function(O){E!==!0&&O.lengthComputable&&(O.total<=0||i(O.loaded/O.total))},C=function(O){var P;if(E!==!0){var F=this.status;if(F===0||F>=200&&F<400){E=!0,M();var V=Ee(),z=V-a,j=vc(this.getAllResponseHeaders()),K=O.total,H={body:this.response,meta:{origin:o,source:s,requestTime:a,responseTime:V,costs:z,headers:j,size:K}};e(H),l(H),(P=t.networkSubscribe)===null||P===void 0||P.emit("network",s,"XMLHttpRequest","ok",JSON.stringify(H.meta))}else T.call(this)}},T=function(){var O;if(E!==!0){E=!0,M();var P=new Ci(s,"XMLHttpRequest",this.status);r(P),u(P),(O=t.networkSubscribe)===null||O===void 0||O.emit("network",s,"XMLHttpRequest","error",P.message)}};I.addEventListener("timeout",k,!1),I.addEventListener("progress",B,!1),I.addEventListener("load",C,!1),I.addEventListener("error",T,!1),t.responseType&&(I.responseType=t.responseType),typeof t.timeout=="number"&&(I.timeout=t.timeout),I.open("GET",s,!0),I.send(null)}})})}var Xi={};function Ac(n,t){t===void 0&&(t={});var e=Ee(),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 a,o=new to(r,"Link",i&&i.message?String(i.message):String(i));return(a=t.networkSubscribe)===null||a===void 0||a.emit("network",n,"Link","proxy-error",o.message),Promise.reject(o)}).then(function(i){return i in Xi?Xi[i]:Xi[i]=new Promise(function(a,o){var s,l=t.allowHosts?ur.concat(t.allowHosts):ur.slice(),u=no(i);if(location.hostname.length!==0&&!on(location.hostname)&&ur.filter(function(h){return qr(h,location.hostname)}).length===0&&!on(u)&&l.filter(function(h){return qr(h,u)}).length===0){var c=new ro(i,"Link","request host(".concat(u,") is not allowed"));o(c),(s=t.networkSubscribe)===null||s===void 0||s.emit("network",i,"Link","forbidden",c.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 A=document.head||document.getElementsByTagName("head")[0];A&&A.appendChild(f);var m=!1;f.onload=function(){var h;if(m!==!0){m=!0,a();var p=Ee(),y=p-e,v={},g={origin:r,source:i,requestTime:e,responseTime:p,costs:y,headers:v};(h=t.networkSubscribe)===null||h===void 0||h.emit("network",i,"Link","preload",JSON.stringify(g))}},f.onerror=function(h){var p;if(m!==!0){m=!0;var y=new Ci(i,"Link",0);o(y),(p=t.networkSubscribe)===null||p===void 0||p.emit("network",i,"Link","error",y.message)}}})})}function mc(n,t,e,r,i,a){t===void 0&&(t={}),e===void 0&&(e=D),r===void 0&&(r=D),i===void 0&&(i=D);var o=Ee(),s=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 u,c=new to(s,"Image",l&&l.message?String(l.message):String(l));return(u=t.networkSubscribe)===null||u===void 0||u.emit("network",n,"Image","proxy-error",c.message),Promise.reject(c)}).then(function(l){return new Promise(function(u,c){var f,A=t.allowHosts?ur.concat(t.allowHosts):ur.slice(),m=no(l);if(location.hostname.length!==0&&!on(location.hostname)&&ur.filter(function(b){return qr(b,location.hostname)}).length===0&&!on(m)&&A.filter(function(b){return qr(b,m)}).length===0){var h=new ro(l,"Image","request host(".concat(m,") is not allowed"));r(h),c(h),(f=t.networkSubscribe)===null||f===void 0||f.emit("network",l,"Image","forbidden",h.message);return}var p=a!=null?a:new Image,y=!1,v=null,g=function(){var b;if(p.onload=D,p.onerror=D,v!==null&&(clearTimeout(v),v=null),y!==!0){var w=Ee(),E={headers:{},origin:s,source:l,requestTime:o,responseTime:w,costs:w-o};y=!0;var I={body:p,meta:E};i(1),e(I),u(I),(b=t.networkSubscribe)===null||b===void 0||b.emit("network",l,"Image","ok",JSON.stringify(I.meta))}},x=function(){var b;if(p.onload=D,p.onerror=D,v!==null&&(clearTimeout(v),v=null),y!==!0){y=!0;var w=new Ci(l,"Image",0);r(w),c(w),(b=t.networkSubscribe)===null||b===void 0||b.emit("network",l,"Image","ok",w.message)}};typeof t.timeout=="number"&&(v=window.setTimeout(function(){var b;if(p.onload=D,p.onerror=D,v=null,y!==!0){y=!0;var w=new Pa(l,"Image",t.timeout);r(w),c(w),(b=t.networkSubscribe)===null||b===void 0||b.emit("network",l,"Image","timeout",w.message)}},t.timeout)),p.onload=g,p.onerror=x,i(0),p.src=l})})}var io=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,a){var o;e===void 0&&(e={}),r===void 0&&(r=D),i===void 0&&(i=D),a===void 0&&(a=D);var s=this.options,l={responseType:e.responseType,timeout:(o=e.timeout)!==null&&o!==void 0?o:s.timeout,get allowHosts(){var u;return(u=e.allowHosts)!==null&&u!==void 0?u:s.allowHosts},get requestProxy(){var u;return(u=e.requestProxy)!==null&&u!==void 0?u:s.requestProxy},get networkSubscribe(){var u;return(u=e.networkSubscribe)!==null&&u!==void 0?u:s.networkSubscribe}};return wn(t,l,r,i,a)},n.prototype.loadImage=function(t,e,r,i,a,o){var s;e===void 0&&(e={}),r===void 0&&(r=D),i===void 0&&(i=D),a===void 0&&(a=D);var l=this.options,u={timeout:(s=e.timeout)!==null&&s!==void 0?s:l.timeout,get allowHosts(){var c;return(c=e.allowHosts)!==null&&c!==void 0?c:l.allowHosts},get requestProxy(){var c;return(c=e.requestProxy)!==null&&c!==void 0?c:l.requestProxy},get networkSubscribe(){var c;return(c=e.networkSubscribe)!==null&&c!==void 0?c:l.networkSubscribe}};return mc(t,u,r,i,a,o)},n.prototype.preload=function(t,e){var r;e===void 0&&(e={});var i=this.options,a={timeout:(r=e.timeout)!==null&&r!==void 0?r:i.timeout,get allowHosts(){var o;return(o=e.allowHosts)!==null&&o!==void 0?o:i.allowHosts},get requestProxy(){var o;return(o=e.requestProxy)!==null&&o!==void 0?o:i.requestProxy},get networkSubscribe(){var o;return(o=e.networkSubscribe)!==null&&o!==void 0?o:i.networkSubscribe}};return Ac(t,a)},n}(),Mi=new io,gc=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)}}(),yc=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)},bc=5,Go=16,lt=function(){function n(){this.frames=[],this.stoped=!1,this.time=Ee(),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 Go},n.prototype.loop=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];if(!this.stoped){var r=Ee(),i=r-this.time;this.time=r;var a=[];Go=i;for(var o=0,s=this.frames;o<s.length;o++){var l=s[o];if(l.delay>0){l.delay=l.delay-1;continue}try{l.callback.apply(l,bt([r,i],t,!1))}catch(u){console.error(u)}l.once&&a.push(l)}a.length>0&&(this.frames=this.frames.filter(function(u){return a.indexOf(u)===-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):gc(t)},n.prototype.cancelAnimationFrame=function(t){this.context?this.context.cancelAnimationFrame(t):yc(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 a=this;e===void 0&&(e=!1),r===void 0&&(r=0),i===void 0&&(i=bc);var o={callback:t,once:e,delay:r,order:i};return this.frames.push(o),this.frames.sort(function(s,l){return s.order-l.order}),function(){return a.remove(o)}},n.prototype.disponse=function(){this.stoped=!0,this.frames.length=0},n}();function fe(n,t,e){return n<t?t:n>e?e:n}var xc={"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"]}},A0=/^https?\:\/\/?([^\/]+)/;function wc(n){var t=n.match(A0);return t===null?null:t[1]}function fn(n,t){return n.replace(A0,function(e,r){return e.slice(0,e.length-r.length)+t})}function Ec(n,t,e){var r=t.split("."),i=r[0],a=r.slice(1);if(i==="texture")return fn(n,e.texture[0]);if(i==="pano"||i==="pano_luminance"){a[0];var o=a[1];switch(o){case"front":case"left":case"up":return fn(n,e.pano[0]);case"down":case"right":case"back":return fn(n,e.pano[1])}}else if(i==="pano_tile"||i==="pano_tile_luminance"){a[0],a[1];var s=a[2],l=a[3],u=a[4],c=Math.pow(2,Number(s))*Number(l)+Number(u);if(!isNaN(c))return fn(n,e.tile[c%2])}else if(i==="model"){var f=a[0],c=Number(f);if(!isNaN(c))return fn(n,e.model[c%2])}return fn(n,e.default[0])}var Cc=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 a="";if(t.format!==void 0&&t.format!==i&&(a+="/format/".concat(t.format)),t.cut!==void 0&&(a+="/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 o=(e=t.format)!==null&&e!==void 0?e:i;o&&["jpg","webp","tpg","heif","avif"].indexOf(o)>=0&&(a+="/quality/".concat(t.quality))}if(t.size!==void 0){var s=n.match(/\/cube_(\d+)\//),l=s?Number(s[1]):NaN;l!==Number(t.size)&&(a+="/thumbnail/".concat(t.size,"x"))}return t.sharpen!==void 0&&(a+="/sharpen/".concat(t.sharpen)),a.length&&(a="?imageMogr2"+a),r+a},Mc=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 a="",o=[],s=t.format,l=t.quality,u=t.size;if(s!==void 0&&s!==i&&o.push("format,".concat(s==="heif"?"heic":s)),t.cut!==void 0){var c=t.cut,f=c[0],A=c[1],m=c[2],h=c[3];o.push("crop,x_".concat(f,",y_").concat(A,",w_").concat(m,",h_").concat(h,",g_nw"))}if(l!==void 0&&l!==100){var p=(e=t.format)!==null&&e!==void 0?e:i;p&&["jpg","webp"].indexOf(p)>=0&&o.push("quality,Q_".concat(l))}return u&&u!==2048&&o.push("resize,w_".concat(u)),t.sharpen!==void 0&&o.push("sharpen,".concat(t.sharpen)),o.length&&(a="?x-oss-process=image/"+o.join("/")),r+a},hn=9007199254740991;function Wr(n){var t=Math.round(n);return Math.abs(t-n)<.001?t:Math.floor(n)}function Ic(n){return n=Object.assign({},n),n.size!==void 0&&(n.size=Wr(fe(n.size,0,hn))),n.quality!==void 0&&(n.quality=Wr(fe(n.quality,0,100))),n.cut!==void 0&&(n.cut=[Wr(fe(n.cut[0],0,hn)),Wr(fe(n.cut[1],0,hn)),Wr(fe(n.cut[2],0,hn)),Wr(fe(n.cut[3],0,hn))]),n.sharpen!==void 0&&(n.sharpen=Wr(fe(n.sharpen,0,hn))),n}function It(n,t){var e=L(L({},xc),t.mappings),r=wc(n);if(r===null)return n;t=Ic(t);var i=e[r];return i?(n=Ec(n,t.key,i),/\.basis(\?|$)/.test(n)&&(n=n.replace(/\.basis(\?|$)/,".jpg$1")),i.type==="tencentCloud"?Cc(n,t):i.type==="aliyun"?Mc(n,t):n):n}function rn(n,t,e){t===void 0&&(t=It);var r=t(n,e);if(r===n&&e.cut)throw new Error("ImageURL: cut option not applied.");return r}var m0=/\/cube_(\d+)\//;function Kn(n){var t=n.match(m0);return t?Number(t[1]):null}function Ft(n,t){return n.replace(m0,"/cube_".concat(t,"/"))}var Sc="data:image/webp;base64,UklGRiQAAABXRUJQVlA4IBgAAAAwAQCdASoCAAIAAUAmJaQAA3AA/vz0AAA=",Tc="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAAGhbWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAsaWxvYwAAAABEAAACAAEAAAABAAAB3gAAABkAAgAAAAEAAAHJAAAAFQAAAEJpaW5mAAAAAAACAAAAGmluZmUCAAAAAAEAAGF2MDFDb2xvcgAAAAAaaW5mZQIAAAAAAgAAYXYwMUFscGhhAAAAABppcmVmAAAAAAAAAA5hdXhsAAIAAQABAAAA12lwcnAAAACxaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIAAoAAAAAUaXNwZQAAAAAAAAACAAAAAgAAAA5waXhpAAAAAAEIAAAADGF2MUOBABwAAAAAOGF1eEMAAAAAdXJuOm1wZWc6bXBlZ0I6Y2ljcDpzeXN0ZW1zOmF1eGlsaWFyeTphbHBoYQAAAAAeaXBtYQAAAAAAAAACAAEEAQKDBAACBAUGhwgAAAA2bWRhdBIACgQYADLVMgsWQBhhIAQqrNj/+BIACgUYADLEoDIOFkADDDDCQAACDaqCCb4=",Pc="data:image/heif;base64,AAAAGGZ0eXBoZWljAAAAAG1pZjFoZWljAAABL21ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAHBpY3QAAAAAAAAAAAAAAAAAAAAADnBpdG0AAAAAAAEAAAAjaWluZgAAAAAAAQAAABVpbmZlAgAAAAABAABodmMxAAAAAK9pcHJwAAAAkmlwY28AAAB2aHZjQwEBYAAAAAAAAAAAAADwAPz9+PgAACcDoAABAB5AAQwG//8BYAAAAwAAAwAAAwAAAwAAAwAAreTLgSChAAEAI0IBBwFgAAADAAADAAADAAADAAADAAChInJJlreTLySZNdggogABAAdEAcA98DMkAAAAFGlzcGUAAAAAAAAAAgAAAAIAAAAVaXBtYQAAAAAAAAABAAECgQIAAAAiaWxvYwAAAABEQAABAAEAAAAAAU8AAQAAAAAAAAAOAAAAFm1kYXQAAAAKJgGvLvkQwuWM4A==";function Wi(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 _i=null;function g0(){return _i||(_i=Promise.all([Wi(Sc),Wi(Tc),Wi(Pc)]).then(function(n){return{webp:n[0],avif:n[1],heif:n[2]}}))}var y0=/^(.*)\[(\d+)\]$/;function ze(n){if(!isNaN(n.panoIndex)&&isFinite(n.panoIndex))return"".concat(n.workCode,"[").concat(n.panoIndex,"]");throw new Error("Invalid Pano")}function vt(n){var t=n.match(y0);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 Zt(n,t){return ze(n)===ze(t)}function b0(n){return typeof n=="string"&&y0.test(n)}var Bc=function(n){ue(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t}(d.Group),Dt=function(n){ue(t,n);function t(e,r){var i=n.call(this,e,r)||this;return i.onBeforeRender=Rc,i}return t}(d.Mesh);function Rc(n,t,e){for(var r=0,i=this.material;r<i.length;r++){var a=i[r];this.model&&a.syncModel(this.model),a.update(n,e)}}var Jn=function(){return typeof document!="undefined"?new d.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 d.Texture}();Jn.minFilter=d.NearestFilter;Jn.magFilter=d.NearestFilter;Jn.wrapS=d.RepeatWrapping;Jn.wrapT=d.RepeatWrapping;var we={pano0:null,pano1:null,shownFloorIndex:-1,modelAlpha:1,opacity:1,progress:0,transition:"FADE",clippers:null,brightness:1,constantColor:null,useEDL:!1,useHQWeight:!1,useHQDepth:!1,pointColor:"RGB",pointSize:"ATTENUATION",pointBack:"DARK",pointShape:"SQUARE",pointScale:.03,pointMaxPixel:40,pointMinPixel:.5,gradientTexture:Jn};function kc(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 Fc(n,t){return n&&t?n.luminanceMap===t.luminanceMap&&n.map===t.map&&n.zoom===t.zoom&&n.matrix.equals(t.matrix):!n&&!t}function x0(n,t){var e=!1;for(var r in t)switch(r){case"clippers":kc(n[r],t[r])||(n[r]=t[r],e=!0);break;case"pano0":case"pano1":Fc(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 wr=function(n){ue(t,n);function t(e,r){var i=n.call(this,e,r)||this;return i.onBeforeRender=Lc,i}return t}(d.Points);function Lc(n,t,e){this.model&&this.material.syncModel(this.model),this.material.update(n,e)}var pn=new Set,w0=function(n){ue(t,n);function t(){var e=n.call(this)||this;return e.needsRender=!0,e.pbmMaterialParametersVersion=0,e.materialParameters=L({},we),e}return t.prototype.getMaterial=function(){return L({},this.materialParameters)},t.prototype.setMaterial=function(e){var r=this;Object.assign(this.materialParameters,e),pn.clear(),this.traverse(function(i){if(i instanceof Dt)for(var a=0,o=i.material;a<o.length;a++){var s=o[a];pn.has(s)||(Object.assign(s,r.materialParameters),pn.add(s))}i instanceof wr&&(pn.has(i.material)||(Object.assign(i.material,r.materialParameters),pn.add(i.material)))}),pn.clear(),this.needsRender=!0},t}(d.Group),Oc=["right","left","up","down","front","back"];function E0(n,t,e,r){var i=new d.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 d.Matrix4().makeRotationY(Math.PI))}var C0=function(n,t){if(!(n.level>=t))for(var e=n.level+1,r=n.size/2,i=[new d.Vector2(n.position.x,n.position.y),new d.Vector2(n.position.x+r,n.position.y),new d.Vector2(n.position.x,n.position.y+r),new d.Vector2(n.position.x+r,n.position.y+r)],a=0,o=i;a<o.length;a++){var s=o[a],l={face:n.face,level:e,size:r,position:s,box:E0(n.face,s.x,s.y,r),parent:n,children:[]};n.children.push(l),C0(l,t)}};function Vc(n,t){var e={level:0,face:n,position:new d.Vector2(0,0),size:1,box:E0(n,0,0,1),parent:null,children:[]};return C0(e,t),e}function Ra(n){var t=Oc.map(function(e){return Vc(e,n)});return{children:t}}function ao(n,t){for(var e=0,r=n.children;e<r.length;e++){var i=r[e],a=t(i);a!==!1&&ao(i,t)}}var Xn=new d.BoxBufferGeometry(1,1,1,1,1);Xn.deleteAttribute("uv");Xn.deleteAttribute("normal");Xn.groups=[];Xn.scale(-1,1,1);var Nc=`
392
392
  varying vec3 worldPosition;
393
393
  void main() {
394
394
  vec4 transform = vec4(position, 1.0);
395
395
  worldPosition = (modelMatrix * transform).xyz;
396
396
  gl_Position = projectionMatrix * modelViewMatrix * transform;
397
397
  }
398
- `,Tc=`
398
+ `,zc=`
399
399
  uniform samplerCube map;
400
400
  varying vec3 worldPosition;
401
401
  void main() {
402
402
  gl_FragColor = textureCube(map, worldPosition);
403
403
  }
404
- `,Ia=new d.ShaderMaterial({uniforms:{map:{value:null}},vertexShader:Ic,fragmentShader:Tc,depthTest:!1,depthWrite:!1,stencilWrite:!1,blending:d.NoBlending,lights:!1,toneMapped:!1,fog:!1}),to=new d.Scene;to.matrixAutoUpdate=!1;var y0=new d.Mesh(_n,Ia);y0.matrixAutoUpdate=!1;to.add(y0);function Ta(n,t,e){Ia.uniforms.map.value=n;var r=e.autoClear;e.autoClear=!1;var i=new d.CubeCamera(.1,2,t);i.matrixAutoUpdate=!1,i.update(e,to),e.autoClear=r,Ia.uniforms.map.value=null}var Xi,Tr=(Xi=Math.SQRT1_2)!==null&&Xi!==void 0?Xi:Math.sqrt(2),Pc={up:new d.Quaternion(Tr,0,0,Tr),down:new d.Quaternion(-Tr,0,0,Tr),left:new d.Quaternion(0,Tr,0,Tr),right:new d.Quaternion(0,-Tr,0,Tr),front:new d.Quaternion(0,0,0,1),back:new d.Quaternion(0,1,0,0)},Bc=function(){var n=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),t=new Float32Array([0,0,1,0,0,1,1,1]),e=new Uint8Array([0,1,2,1,3,2]),r=new d.BufferGeometry;return r.setAttribute("position",new d.BufferAttribute(n,3)),r.setAttribute("uv",new d.BufferAttribute(t,2)),r.setIndex(new d.BufferAttribute(e,1)),r}(),Rc=`
404
+ `,ka=new d.ShaderMaterial({uniforms:{map:{value:null}},vertexShader:Nc,fragmentShader:zc,depthTest:!1,depthWrite:!1,stencilWrite:!1,blending:d.NoBlending,lights:!1,toneMapped:!1,fog:!1}),oo=new d.Scene;oo.matrixAutoUpdate=!1;var M0=new d.Mesh(Xn,ka);M0.matrixAutoUpdate=!1;oo.add(M0);function Fa(n,t,e){ka.uniforms.map.value=n;var r=e.autoClear;e.autoClear=!1;var i=new d.CubeCamera(.1,2,t);i.matrixAutoUpdate=!1,i.update(e,oo),e.autoClear=r,ka.uniforms.map.value=null}var Zi,Tr=(Zi=Math.SQRT1_2)!==null&&Zi!==void 0?Zi:Math.sqrt(2),Dc={up:new d.Quaternion(Tr,0,0,Tr),down:new d.Quaternion(-Tr,0,0,Tr),left:new d.Quaternion(0,Tr,0,Tr),right:new d.Quaternion(0,-Tr,0,Tr),front:new d.Quaternion(0,0,0,1),back:new d.Quaternion(0,1,0,0)},Qc=function(){var n=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),t=new Float32Array([0,0,1,0,0,1,1,1]),e=new Uint8Array([0,1,2,1,3,2]),r=new d.BufferGeometry;return r.setAttribute("position",new d.BufferAttribute(n,3)),r.setAttribute("uv",new d.BufferAttribute(t,2)),r.setIndex(new d.BufferAttribute(e,1)),r}(),Uc=`
405
405
  varying vec2 vUv;
406
406
  uniform float flipY;
407
407
  void main() {
408
408
  vUv = vec2(uv.x, mix(uv.y, (1.0 - uv.y), flipY));
409
409
  gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
410
410
  }
411
- `,kc=`
411
+ `,qc=`
412
412
  uniform sampler2D map;
413
413
  varying vec2 vUv;
414
414
  void main() {
415
415
  gl_FragColor = texture2D(map, vUv);
416
416
  }
417
- `,b0=[];function Fc(){var n=b0.pop();return n||new d.ShaderMaterial({uniforms:{map:{value:null},flipY:{value:0}},vertexShader:Rc,fragmentShader:kc,depthTest:!1,depthWrite:!1,stencilWrite:!1,blending:d.NoBlending,lights:!1,toneMapped:!1,fog:!1})}function Lc(n){n.uniforms.map.value=null,b0.push(n)}function Oc(n,t,e){var r=new d.Scene;r.matrixAutoUpdate=!1;var i=new d.Group;i.scale.set(1,1,-1),r.add(i);for(var a=[],o=0,s=n;o<s.length;o++){var u=s[o],l=Fc();a.push(l),l.uniforms.map.value=u.texture,l.uniforms.flipY.value=u.flipY?1:0;var c=new d.Group,h=new d.Mesh(Bc,l);h.position.set(u.position.x+u.size.x/2-.5,1-(u.position.y+u.size.y/2)-.5,-.5),h.scale.set(u.size.x,u.size.y,1),c.quaternion.copy(Pc[u.face]),c.add(h),i.add(c)}var A=e.autoClear;e.autoClear=!1;var m=new d.CubeCamera(.1,2,t);m.matrixAutoUpdate=!1,m.update(e,r),e.autoClear=A;for(var f=0,v=a;f<v.length;f++){var l=v[f];Lc(l)}}var Vc=function(){return!1}();function Ei(){var n=Object.assign(document.createElementNS("http://www.w3.org/1999/xhtml","img"),{crossOrigin:"",close:function(){n.onerror=n.onload=n.close=D,n.decoding="async";var t=n.src;n.removeAttribute("src"),/^blob\:/.test(t)&&URL.revokeObjectURL(t)}});return n}function Pa(n){return new Promise(function(t,e){var r=Ei();r.onload=function(){/^blob\:/.test(r.src)&&URL.revokeObjectURL(r.src),r.onload=r.onerror=D,setTimeout(function(){t(r)},10)},r.onerror=function(){var i=r.src;r.onload=r.onerror=D,r.close(),e(new Error("image load error: ".concat(i)))},r.src=URL.createObjectURL(n)})}var Do=[];function Nc(n,t){var e=Do.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=D,Do.push(r)}});return r}function Qo(n,t){if(t&&(n.width>t.width||n.height>t.height)){var e=Nc(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 d.Texture(e);i.needsUpdate=!0,i.flipY=!0;var a=i.dispose;return i.dispose=function(){e.close(),a.call(i),i.dispose=a},i}else{var o=new d.Texture(n);o.needsUpdate=!0,typeof ImageBitmap!="undefined"&&n instanceof ImageBitmap?o.flipY=!1:o.flipY=!0;var s=o.dispose;return o.dispose=function(){n.close(),s.call(o),o.dispose=s},o}}function zc(n){var t=new d.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 a=i[r];a.close()}e.call(t),t.dispose=e},t}var _r=["right","left","up","down","front","back"],Ne=function(){function n(t,e,r,i,a){this.tileTree=e,this.tileSources=r,this.options=i,this.renderer=a,this.name="",this.needsRender=!1,this.maxRequest=n.DEFAULT_MAX_REQUEST,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,a,o,s;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:d.RGBAFormat,t.texture.minFilter=(r=this.options.minFilter)!==null&&r!==void 0?r:d.LinearFilter,t.texture.magFilter=(i=this.options.magFilter)!==null&&i!==void 0?i:d.LinearFilter,t.texture.wrapS=(a=this.options.wrapS)!==null&&a!==void 0?a:d.ClampToEdgeWrapping,t.texture.wrapT=(o=this.options.wrapT)!==null&&o!==void 0?o:d.ClampToEdgeWrapping,t.texture.generateMipmaps=(s=this.options.generateMipmaps)!==null&&s!==void 0?s:!1,this.baseCubeTexture&&(Ta(this.baseCubeTexture,t,this.renderer),this.baseCubeTexture.dispose(),this.baseCubeTexture=null),this._cubeRenderTarget&&Ta(this._cubeRenderTarget.texture,t,this.renderer),this._cubeRenderTarget=t},enumerable:!1,configurable:!0}),n.prototype.requestTile=function(t){var e=this,r,i,a,o,s,u,l=this.tileSources.filter(function(v){return v.level===t.level})[0];if(!l){this.loadedCubeNodes.add(t);return}var c=l.size,h=Math.pow(2,t.level)*t.position.y,A=Math.pow(2,t.level)*t.position.x,m="".concat(((a=(i=(r=this.options.imageURL)===null||r===void 0?void 0:r.options)===null||i===void 0?void 0:i.key)!==null&&a!==void 0?a:"pano.0").replace(/^pano/,"pano_tile"),".").concat(t.face,".").concat(t.level,".").concat(h,".").concat(A),f=F(F({},(s=(o=this.options.imageURL)===null||o===void 0?void 0:o.options)!==null&&s!==void 0?s:{key:"unknown"}),{key:m,size:l.scale>=1?void 0:c*t.size*l.scale,quality:void 0,cut:[c*t.position.x,c*t.position.y,c*t.size,c*t.size]});this.loadingCubeNodes.add(t),this.options.textureLoader.loadTexture(l[t.face],{imageURL:{transform:(u=this.options.imageURL)===null||u===void 0?void 0:u.transform,options:F({},f)},format:d.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 d.Vector2(t.size,t.size),texture:v.body,flipY:!v.body.flipY}),e.loadedCubeNodes.add(t)}).catch(D).then(function(){e.disposed||e.loadingCubeNodes.delete(t)})},n.prototype.update=function(t,e){var r=this;if(!this.disposed){var i=[];eo(this.tileTree,function(h){if(!(i.length>r.maxRequest-r.loadingCubeNodes.size)){if(r.loadingCubeNodes.has(h)||h.level>e||!t.intersectsBox(h.box))return!1;if(!r.loadedCubeNodes.has(h))return i.push(h),!1}});for(var a=0,o=i;a<o.length;a++){var s=o[a];this.requestTile(s)}if(this.cubeRenderTarget&&this.textures.length){Oc(this.textures,this.cubeRenderTarget,this.renderer);for(var u=0,l=this.textures;u<l.length;u++){var c=l[u];c.texture.dispose()}this.textures.length=0,this.needsRender=!0}}},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.DEFAULT_MAX_REQUEST=3,n}(),Zn=function(){function n(){}return n.prototype.loadTexture=function(t,e,r,i,a,o){var s,u,l,c,h,A,m;r===void 0&&(r=D),i===void 0&&(i=D),a===void 0&&(a=D);var f={};typeof e.flipY!="undefined"&&(f.flipY=e.flipY),typeof e.format!="undefined"&&(f.format=e.format),typeof e.encoding!="undefined"&&(f.encoding=e.encoding),f.generateMipmaps=(s=e.generateMipmaps)!==null&&s!==void 0?s:!1,f.minFilter=(u=e.minFilter)!==null&&u!==void 0?u:d.LinearFilter,f.magFilter=(l=e.magFilter)!==null&&l!==void 0?l:d.LinearFilter;var v=(h=(c=e.imageURL)===null||c===void 0?void 0:c.options)!==null&&h!==void 0?h:{key:"unknown"};t=tn(t,(A=e.imageURL)===null||A===void 0?void 0:A.transform,v);var y=No(t),p=(m=e.viaAjax)!==null&&m!==void 0?m:Vc,g=Vo(t),x=/^https?:/.test(y);if(g?p=!0:x||(p=!1),p){var b=null,w="blob";return e.fetcher.ajax(t,{timeout:e.timeout,responseType:w},void 0,void 0,a).then(function(C){return Pa(C.body)}).then(function(C){return Qo(C,e.maxSize)}).then(function(C){return Object.assign(C,f),C}).then(function(C){var I={meta:b,body:C};return r(I),I}).catch(function(C){return i(C),Promise.reject(C)})}else{var E=null,M;return Promise.resolve().then(function(){return Ei()}).then(function(C){return M=C,e.fetcher.loadImage(t,{timeout:e.timeout},void 0,void 0,a,C)}).then(function(C){return E=C.meta,Qo(C.body,e.maxSize)}).then(function(C){return Object.assign(C,f),C}).then(function(C){var I={meta:E,body:C};return r(I),I}).catch(function(C){return M&&M.close(),i(C),Promise.reject(C)})}},n.prototype.loadCubeTexture=function(t,e,r,i,a,o){var s,u,l,c,h,A,m;r===void 0&&(r=D),i===void 0&&(i=D),a===void 0&&(a=D);var f={};typeof e.format!="undefined"&&(f.format=e.format),f.generateMipmaps=(s=e.generateMipmaps)!==null&&s!==void 0?s:!1,f.minFilter=(u=e.minFilter)!==null&&u!==void 0?u:d.LinearFilter,f.magFilter=(l=e.magFilter)!==null&&l!==void 0?l:d.LinearFilter;for(var v=[t[_r[0]],t[_r[1]],t[_r[2]],t[_r[3]],t[_r[4]],t[_r[5]]],y=[],p=[0,0,0,0,0,0],g=[],x=function(w){var E=(h=(c=e.imageURL)===null||c===void 0?void 0:c.options)!==null&&h!==void 0?h:{key:"unknown"},M=tn(v[w],(A=e.imageURL)===null||A===void 0?void 0:A.transform,F(F({},E),{key:E.key+"."+_r[w]})),C=No(M),I=function(z){p[w]=z,a(p.reduce(function(N,X){return N+X},0)/6)},S=(m=e.viaAjax)!==null&&m!==void 0?m:!1,P=/^https?:$/.test(C),B=Vo(M);if(B?S=!0:P||(S=!1),S){var L="blob",k=e.fetcher.ajax(M,{timeout:e.timeout,responseType:L},void 0,void 0,I).then(function(z){return g[w]=z.meta,Pa(z.body)});y.push(k)}else{var O,k=Promise.resolve().then(function(){return Ei()}).then(function(N){return O=N,e.fetcher.loadImage(M,{timeout:e.timeout},void 0,void 0,I,N)}).then(function(N){return g[w]=N.meta,N.body}).catch(function(N){return O&&O.close(),Promise.reject(N)});y.push(k)}},b=0;b<6;b++)x(b);return Promise.all(y).then(function(w){return zc(w)}).then(function(w){return Object.assign(w,F({encoding:d.sRGBEncoding},f)),w}).then(function(w){var E={body:w,meta:g};return r(E),E}).catch(function(w){for(var E=0,M=y;E<M.length;E++){var C=M[E];C.then(function(I){return I.close()}).catch(D)}return i(w),Promise.reject(w)})},n.prototype.loadTiledCubeTexture=function(t,e,r,i,a,o,s){var u=this;return i===void 0&&(i=D),a===void 0&&(a=D),o===void 0&&(o=D),new Promise(function(l,c){var h,A;u.loadCubeTexture(t,{imageURL:{transform:(h=r.imageURL)===null||h===void 0?void 0:h.transform,options:(A=r.imageURL)===null||A===void 0?void 0:A.options},format:d.RGBAFormat,viaAjax:r.viaAjax,timeout:r.timeout,fetcher:r.fetcher,magFilter:r.magFilter,minFilter:r.minFilter,generateMipmaps:r.generateMipmaps},function(m){var f,v=m.meta,y=m.body,p=(f=r.tileMaxLevel)!==null&&f!==void 0?f:2,g=Math.max(1024*p,512),x=Sa(p),b=new Ne(y,x,e,{textureSize:g,textureLoader:u,imageURL:r.imageURL,magFilter:r.magFilter,minFilter:r.minFilter,generateMipmaps:r.generateMipmaps,timeout:r.timeout,fetcher:r.fetcher},s),w={meta:v,body:b};i(w),l(w)},function(m){a(m),c(m)},o,s).catch(D)})},n}();const Dc=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,a=0,o="";return t[a].split(o).map(function(s){return s.charCodeAt(a)>i?s:String.fromCharCode((s.charCodeAt(a)+r)%i)}).join(o)}("n\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{H0v{pyqr-Ip|zz|{K0v{pyqr-Iz|}untrl}nlrr\x07K0v{pyqr-Ixv{{v{tl}nlrr\x07K0v{pyqr-Iy|tqr}uosl}nlrr\x07K0v{pyqr-Ipyv}}v{tl}yn{rl}nlrr\x07K|vq-znv{56-\n--0v{pyqr-Ixv{onrlrr\x07K--0v{pyqr-Iortv{lrr\x07K--0v{pyqr-Iz|}untrlrr\x07K--0v{pyqr-Ixv{{v{tlrr\x07K--0v{pyqr-I}|wrplrr\x07K--0v{pyqr-Iy|tqr}uoslrr\x07K--0v{pyqr-Ipyv}}v{tl}yn{rlrr\x07K--d|yq]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----d|yq]|vv|{-J-v{n{prZnv\x07-7-d|yq]|vv|{H--0r{qvs--d|yq]|vv|{-J-z|qryZnv\x07-7-d|yq]|vv|{H--zn@-pnzrn_|nv|{Znv\x07-J-zn@5vrZnv\x07h=jh=j9-vrZnv\x07h>jh=j9-vrZnv\x07h?jh=j9-vrZnv\x07h=jh>j9-vrZnv\x07h>jh>j9-vrZnv\x07h?jh>j9-vrZnv\x07h=jh?j9-vrZnv\x07h>jh?j9-vrZnv\x07h?jh?j6H--PnzrnQvrpv|{-J-{|znyv r5pnzrn_|nv|{Znv\x07-7-rp@5=;=9-=;=9-:>;=66H--0v{pyqr-I|yq}|lrr\x07K--0v{pyqr-Is|tlrr\x07K\f"),Qc=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,a=0,o="";return t[a].split(o).map(function(s){return s.charCodeAt(a)>i?s:String.fromCharCode((s.charCodeAt(a)+r)%i)}).join(o)}("0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=6{vs|z-nz}yrPor-}n{|=lzn}H{vs|z-znA-}n{|=lznv\x07H{vs|z-sy|n-}n{|=l ||zH0vs-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\x07H{vs|z-sy|n-}n{|>l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|>lyzv{n{prZn}H0r{qvs{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6--{vs|z-rp@-p|{n{P|y|H0r{qvsn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{H{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H{vs|z-sy|n-|}npv\bH{vs|z-sy|n-ovtu{rH0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-Iqvurv{tl}nlsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-I}rpynzn}l}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{Krp@- ||zcrp|5rp@-qvrpv|{9-rp@-rp|9-sy|n- ||z6-\n--sy|n-urn-J-q|5qvrpv|{9-rp|6H--rp@-q-J-qvrpv|{-7-urnH--rp@-}-J-rp|-:-qH--rp@-\0-J-}-7- ||zH--r{-{|znyv r5q-8-\x006H\f|vq-znv{56-\n--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--tylSntP|y|-J-rpA5>;=9->;=9->;=9-|}npv\b6H--<<-JJJ-纯色-JJJ--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-|}npv\b6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|=lznv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=l ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=lznv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|>lznv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>l ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-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--tylSntP|y|-J-zv\x075}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H--tylSntP|y|;n-J-|}npv\b-7-ovtu{rH--<<-JJJJJJJJJJJJJJJJ--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0v{pyqr-Iqvurv{tlsntzr{K\f"),Uc=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,a=0,o="";return t[a].split(o).map(function(s){return s.charCodeAt(a)>i?s:String.fromCharCode((s.charCodeAt(a)+r)%i)}).join(o)}("0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6--nvor-sy|n-sy||H0ryr--{vs|z-sy|n-sy||H0r{qvsn\bv{t-sy|n-Sy||H0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvs0vs-qrsv{rq5b`RlcR_aRelZN_X6--nvor-sy|n-znxH0r{qvsn\bv{t-sy|n-V_||sZnxHn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-cvr]|vv|{H0v{pyqr-Ip|zz|{K0v{pyqr-Il}nlrr\x07K0v{pyqr-I?l}nlrr\x07K0v{pyqr-Ir{zn}l}nlrr\x07K0v{pyqr-Ip|y|l}nlrr\x07K0v{pyqr-Is|tl}nlrr\x07K0v{pyqr-Iz|}untrl}nlrr\x07K0v{pyqr-Ixv{{v{tl}nlrr\x07K0v{pyqr-Iy|tqr}uosl}nlrr\x07K0v{pyqr-Ipyv}}v{tl}yn{rl}nlrr\x07K|vq-znv{56-\n--0v{pyqr-Ilrr\x07K--0v{pyqr-I?lrr\x07K--0v{pyqr-Ip|y|lrr\x07K--0v{pyqr-Ixv{onrlrr\x07K--0vsqrs-b`RlR[cZN]--0v{pyqr-Iortv{{|znylrr\x07K--0v{pyqr-Iz|}u{|znylrr\x07K--0v{pyqr-Ixv{{|znylrr\x07K--0v{pyqr-Iqrsny{|znylrr\x07K--0r{qvs--0v{pyqr-Iortv{lrr\x07K--0v{pyqr-Iz|}untrlrr\x07K--0v{pyqr-Ixv{{v{tlrr\x07K--0v{pyqr-I}|wrplrr\x07K--0v{pyqr-Iy|tqr}uoslrr\x07K--0v{pyqr-Ipyv}}v{tl}yn{rlrr\x07K--cvr]|vv|{-J-:z]|vv|{;\x07\b H--Sy||-J-sy||H--d|yq]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----d|yq]|vv|{-J-v{n{prZnv\x07-7-d|yq]|vv|{H--0r{qvs--d|yq]|vv|{-J-z|qryZnv\x07-7-d|yq]|vv|{H--zn@-pnzrn_|nv|{Znv\x07-J-zn@5vrZnv\x07h=jh=j9-vrZnv\x07h>jh=j9-vrZnv\x07h?jh=j9-vrZnv\x07h=jh>j9-vrZnv\x07h>jh>j9-vrZnv\x07h?jh>j9-vrZnv\x07h=jh?j9-vrZnv\x07h>jh?j9-vrZnv\x07h?jh?j6H--PnzrnQvrpv|{-J-{|znyv r5pnzrn_|nv|{Znv\x07-7-rp@5=;=9-=;=9-:>;=66H--0vs-qrsv{rq5b`RlRQY6----Y|tQr}u-J-y|t?5:z]|vv|{; 6H--0r{qvs--V_||sZnx-J-=;=H--0vs-qrsv{rq5b`RlcR_aRelZN_X6----V_||sZnx-J-r}5no5znx-:->;=69-=;>6H--0r{qvs--0v{pyqr-I|yq}|lrr\x07K--0v{pyqr-Ir{zn}lrr\x07K--0v{pyqr-Is|tlrr\x07K\f"),qc=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,a=0,o="";return t[a].split(o).map(function(s){return s.charCodeAt(a)>i?s:String.fromCharCode((s.charCodeAt(a)+r)%i)}).join(o)}("0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=6{vs|z-nz}yrPor-}n{|=lzn}H{vs|z-znA-}n{|=lznv\x07H{vs|z-sy|n-}n{|=l ||zH0vs-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\x07H{vs|z-sy|n-}n{|>l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|>lyzv{n{prZn}H0r{qvs{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6--{vs|z-rp@-p|{n{P|y|H0r{qvsp-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{qvs0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvsn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-sy|n-Sy||Hn\bv{t-sy|n-V_||sZnxH{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H{vs|z-rp@-qvssrH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-ovtu{rH{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{H0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-Iqvurv{tl}nlsntzr{K0v{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-Ir{zn}lp|zz|{l}nlsntzr{K0v{pyqr-Ir{zn}l}nlsntzr{K0v{pyqr-Iporllrsyrpv|{lsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-I}rpynzn}l}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{Krp@- ||zcrp|5rp@-qvrpv|{9-rp@-rp|9-sy|n- ||z6-\n--sy|n-urn-J-q|5qvrpv|{9-rp|6H--rp@-q-J-qvrpv|{-7-urnH--rp@-}-J-rp|-:-qH--rp@-\0-J-}-7- ||zH--r{-{|znyv r5q-8-\x006H\f|vq-znv{56-\n--<<-JJJ-顶部裁切-JJJ--sy|n-||sP]|tr-J-}|5pynz}5:PnzrnQvrpv|{;\b9-=;=9->;=69-@;=6H--vs-5----V_||sZnx-K-=;B-33----d|yq]|vv|{;\b-K-z|qryO|{qv{tZn\x07;\b-:-||sP]|tr-7-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6--6-\n----qvpnqH--\f--<<-JJJJJJJJJJJJJJ--<<-JJJ-前置裁切计算-JJJ--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-d|yq]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5Sy||-:-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--<<-JJJJJJJJJJJJJJJJJJ--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--rpA-qvssrP|y|-J-rpA5-qvssr9-|}npv\b-6H--0v{pyqr-Iy|tqr}uoslsntzr{K--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--_rsyrprqYvtu-rsyrprqYvtu-J-_rsyrprqYvtu5-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-6-6H--<<-nppzynv|{-5onxrq-v{qvrp-yvtuv{t-|{y\b6--0vsqrs-b`RlYVTUaZN]----rpA-yvtuZn}ar\x07ryJ-r\x07r?Q5-yvtuZn}9-b?-6H----rsyrprqYvtu;v{qvrpQvssr-8J-yvtuZn}ar\x07rya|Yv{rn5-yvtuZn}ar\x07ry-6;to-7-yvtuZn}V{r{v\bH--0ryr----rsyrprqYvtu;v{qvrpQvssr-8J-rp@5->;=-6H--0r{qvs--<<-z|qynv|{--0v{pyqr-In|zn}lsntzr{K--rsyrprqYvtu;v{qvrpQvssr-7J-qvssrP|y|;toH--rp@-|t|v{tYvtu-J-rsyrprqYvtu;v{qvrpQvssrH--0v{pyqr-Ir{zn}lsntzr{K--tylSntP|y|-J-rpA5-|t|v{tYvtu9-qvssrP|y|;n-6H--<<-JJJ-纯色-JJJ--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-|}npv\b6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-楼层显示-JJJ--sy|n-sy||\\}npv\b-J->;=H--vs-5u|{Sy||V{qr\x07-KJ-=;=-33-no5Sy||-:-u|{Sy||V{qr\x076-KJ->;=6-\n----sy||\\}npv\b-J-=;>-7-zv{55>;=-8-PnzrnQvrpv|{;\b69->;=6H--\f--tylSntP|y|;n-J-tylSntP|y|;n-7-sy||\\}npv\b-7-ovtu{rH--<<-JJJJJJJJJJJJJJ--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|=lznv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=l ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=lznv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|>lznv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>l ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-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--tylSntP|y|-J-zv\x075}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H--<<-JJJJJJJJJJJJJ--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0v{pyqr-Iqvurv{tlsntzr{K--0vs-qrsv{rq5b`RlRQY6----tylSntP|y|;n-J-Y|tQr}uH--0r{qvs\f"),Hc=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,a=0,o="";return t[a].split(o).map(function(s){return s.charCodeAt(a)>i?s:String.fromCharCode((s.charCodeAt(a)+r)%i)}).join(o)}("0qrsv{r-]U\\[T0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6--nvor-sy|n-sy||H0ryr--{vs|z-sy|n-sy||H0r{qvsn\bv{t-sy|n-Sy||H0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvs0vs-qrsv{rq5b`RlcR_aRelZN_X6--nvor-sy|n-znxH0r{qvsn\bv{t-sy|n-V_||sZnxHn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-cvr]|vv|{H0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-Il}nlrr\x07K0v{pyqr-I?l}nlrr\x07K0v{pyqr-Iqv}ynprzr{zn}l}nlrr\x07K0v{pyqr-Ir{zn}l}nlrr\x07K0v{pyqr-Ip|y|l}nlrr\x07K0v{pyqr-Is|tl}nlrr\x07K0v{pyqr-Iz|}untrl}nlrr\x07K0v{pyqr-Ixv{{v{tl}nlrr\x07K0v{pyqr-Iunq|zn}l}nlrr\x07K0v{pyqr-Iy|tqr}uosl}nlrr\x07K0v{pyqr-Ipyv}}v{tl}yn{rl}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-Iz|}u{|znylrr\x07K--0v{pyqr-Ixv{onrlrr\x07K--0v{pyqr-Ixv{{|znylrr\x07K--0v{pyqr-Iqrsny{|znylrr\x07K0vs{qrs-SYNal`UNQRQ-<<-[|zny-p|z}rq-vu-qrvnvr-ur{-SYNal`UNQRQ--[|zny-J-{|znyv r5-n{s|zrq[|zny-6H0r{qvs--0v{pyqr-Iortv{lrr\x07K--0v{pyqr-Iz|}untrlrr\x07K--0v{pyqr-Ixv{{v{tlrr\x07K--0v{pyqr-Iqv}ynprzr{zn}lrr\x07K--0v{pyqr-I}|wrplrr\x07K--0v{pyqr-Iy|tqr}uoslrr\x07K--0v{pyqr-Ipyv}}v{tl}yn{rlrr\x07K--cvr]|vv|{-J-:-z]|vv|{;\x07\b H--Sy||-J-sy||H--d|yq]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----d|yq]|vv|{-J-v{n{prZnv\x07-7-d|yq]|vv|{H--0r{qvs--d|yq]|vv|{-J-z|qryZnv\x07-7-d|yq]|vv|{H--zn@-pnzrn_|nv|{Znv\x07-J-zn@5vrZnv\x07h=jh=j9-vrZnv\x07h>jh=j9-vrZnv\x07h?jh=j9-vrZnv\x07h=jh>j9-vrZnv\x07h>jh>j9-vrZnv\x07h?jh>j9-vrZnv\x07h=jh?j9-vrZnv\x07h>jh?j9-vrZnv\x07h?jh?j6H--PnzrnQvrpv|{-J-{|znyv r5pnzrn_|nv|{Znv\x07-7-rp@5=;=9-=;=9-:>;=66H--0vs-qrsv{rq5b`RlRQY6----Y|tQr}u-J-y|t?5:z]|vv|{; 6H--0r{qvs--V_||sZnx-J-=;=H--0vs-qrsv{rq5b`RlcR_aRelZN_X6----V_||sZnx-J-r}5no5znx-:->;=69-=;>6H--0r{qvs--0v{pyqr-I|yq}|lrr\x07K--0v{pyqr-Ir{zn}lrr\x07K--0v{pyqr-Iunq|zn}lrr\x07K--0v{pyqr-Is|tlrr\x07K\f"),Gc=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,a=0,o="";return t[a].split(o).map(function(s){return s.charCodeAt(a)>i?s:String.fromCharCode((s.charCodeAt(a)+r)%i)}).join(o)}("0qrsv{r-]U\\[T0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=6{vs|z-nz}yrPor-}n{|=lzn}H{vs|z-znA-}n{|=lznv\x07H{vs|z-sy|n-}n{|=l ||zH0vs-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\x07H{vs|z-sy|n-}n{|>l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|>lyzv{n{prZn}H0r{qvs{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6--{vs|z-rp@-p|{n{P|y|H0r{qvsp-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{qvs0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvsn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-sy|n-Sy||Hn\bv{t-sy|n-V_||sZnxH{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H{vs|z-rp@-qvssrH{vs|z-rp@-rzvvrH{vs|z-rp@-}rpynH{vs|z-sy|n-uv{v{rH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-ovtu{rH{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{H0v{pyqr-Ip|zz|{K0v{pyqr-I}npxv{tK0v{pyqr-Iqvurv{tl}nlsntzr{K0v{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}lp|zz|{l}nlsntzr{K0v{pyqr-Ir{zn}l}nlsntzr{K0v{pyqr-Iporllrsyrpv|{lsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-IoqsK0v{pyqr-Iyvtul}nlortv{K0v{pyqr-Iyvtul}u|{tl}nlsntzr{K0v{pyqr-Iunq|zn}l}nlsntzr{K0v{pyqr-Ioz}zn}l}nlsntzr{K0v{pyqr-I{|znyzn}l}nlsntzr{K0v{pyqr-I}rpynzn}l}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{Krp@- ||zcrp|5rp@-qvrpv|{9-rp@-rp|9-sy|n- ||z6-\n--sy|n-urn-J-q|5qvrpv|{9-rp|6H--rp@-q-J-qvrpv|{-7-urnH--rp@-}-J-rp|-:-qH--rp@-\0-J-}-7- ||zH--r{-{|znyv r5q-8-\x006H\f|vq-znv{56-\n--<<-JJJ-顶部裁切-JJJ--sy|n-||sP]|tr-J-}|5pynz}5:PnzrnQvrpv|{;\b9-=;=9->;=69-@;=6H--vs-5----V_||sZnx-K-=;B-33----d|yq]|vv|{;\b-K-z|qryO|{qv{tZn\x07;\b-:-||sP]|tr-7-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6--6-\n----qvpnqH--\f--<<-JJJJJJJJJJJJJJ--<<-JJJ-前置裁切计算-JJJ--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-d|yq]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5Sy||-:-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--<<-JJJJJJJJJJJJJJJJ--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--rpA-qvssrP|y|-J-rpA5-qvssr9-|}npv\b-6H--_rsyrprqYvtu-rsyrprqYvtu-J-_rsyrprqYvtu5-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-6-6H--rp@-|nyRzvvr_nqvn{pr-J-rzvvrH--0v{pyqr-Iy|tqr}uoslsntzr{K--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--<<-nppzynv|{--0v{pyqr-Iyvtul}u|{tlsntzr{K--0v{pyqr-Iyvtulsntzr{lortv{K--0v{pyqr-Iyvtulsntzr{lzn}K--0v{pyqr-Iyvtulsntzr{lr{qK--<<-z|qynv|{--0v{pyqr-In|zn}lsntzr{K--rp@-|t|v{tYvtu-J-rsyrprqYvtu;qvrpQvssr-8-rsyrprqYvtu;v{qvrpQvssr-8-rsyrprqYvtu;qvrp`}rpyn-8-rsyrprqYvtu;v{qvrp`}rpyn-8-|nyRzvvr_nqvn{prH--0v{pyqr-Ir{zn}lsntzr{K--tylSntP|y|-J-rpA5-|t|v{tYvtu9-qvssrP|y|;n-6H--<<-JJJ-纯色-JJJ--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-|}npv\b6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-楼层显示-JJJ--sy|n-sy||\\}npv\b-J->;=H--vs-5u|{Sy||V{qr\x07-KJ-=;=-33-no5Sy||-:-u|{Sy||V{qr\x076-KJ->;=6-\n----sy||\\}npv\b-J-=;>-7-zv{55>;=-8-PnzrnQvrpv|{;\b69->;=6H--\f--tylSntP|y|;n-J-tylSntP|y|;n-7-sy||\\}npv\b-7-ovtu{rH--<<-JJJJJJJJJJJJJJ--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|=lznv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=l ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=lznv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|>lznv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>l ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-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--tylSntP|y|-J-zv\x075}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H--<<-JJJJJJJJJJJJJJ--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0v{pyqr-Iqvurv{tlsntzr{K--0vs-qrsv{rq5b`RlRQY6----tylSntP|y|;n-J-Y|tQr}uH--0r{qvs\f");function Ot(n,t){var e=Math.abs(Math.cos(n.latitude)),r=-Math.sin(n.longitude)*e,i=-Math.sin(n.latitude),a=-Math.cos(n.longitude)*e;return t?t.set(r,i,a):new d.Vector3(r,i,a)}var Kc=1,jc=.1,Jc=2e3,ii=Math.PI*2,Uo=Math.PI/2;function qo(n){return n>0&&n<=ii?n:(n%ii+ii)%ii}function Xc(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 Oi=function(n){se(t,n);function t(e,r,i,a,o,s,u){r===void 0&&(r=Kc),i===void 0&&(i=jc),a===void 0&&(a=Jc),o===void 0&&(o=new d.Vector2),s===void 0&&(s=new d.Vector2(512,512)),u===void 0&&(u=1);var l=n.call(this)||this;l.fov=e,l.aspect=r,l.near=i,l.far=a,l.perspToOrtho=o,l.resolution=s,l.pixelRatio=u,l.needsRender=!0,l.refineModel=!0,l.pose={longitude:0,latitude:0,fov:e,distance:0,offset:new d.Vector3},l.computePose(),l.perspectiveCamera=new d.PerspectiveCamera(l.fov,l.aspect,.001,l.far);var c=Math.max(l.orthoDistance,.01)*Math.tan(.5*l.fov/180*Math.PI),h=-.5*l.aspect*2*c;return l.orthographicCamera=new d.OrthographicCamera(h,-h,c,-c,.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,orthoDistance:l.orthoDistance,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 Ot(this.pose,e)},t.prototype.computePose=function(e){e===void 0&&(e=0),this.updateMatrix();var r=this.matrix.elements,i=new d.Vector3().set(-r[8],-r[9],-r[10]).normalize();this.pose.longitude=qo(-Math.atan2(i.x,-i.z)),this.pose.latitude=-Math.asin(i.y/1),this.pose.fov=this.fov,this.pose.distance=e;var a=new d.Vector3().add(this.position).add(i.clone().setLength(this.pose.distance));return this.pose.offset.copy(a),this},t.prototype.setFromPose=function(e){var r,i,a,o,s,u=qo((r=e.longitude)!==null&&r!==void 0?r:this.pose.longitude),l=Math.max(-Uo+1e-4,Math.min(Uo-1e-4,(i=e.latitude)!==null&&i!==void 0?i:this.pose.latitude)),c=(a=e.fov)!==null&&a!==void 0?a:this.pose.fov,h=(o=e.distance)!==null&&o!==void 0?o:this.pose.distance,A=(s=e.offset)!==null&&s!==void 0?s:this.pose.offset,m=Ot({longitude:u,latitude:l}).normalize();return this.position.set(0,0,0),this.lookAt(m),this.position.add(A).sub(m.clone().setLength(h)),this.fov!==c&&(this.fov=c,this.updateProjectionMatrix()),this.updateMatrixWorld(),this.pose.longitude=u,this.pose.latitude=l,this.pose.fov=c,this.pose.distance=h,this.pose.offset.copy(A),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(){Xc(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,a,o,s){this.perspectiveCamera.setViewOffset(e,r,i,a,o,s),this.orthographicCamera.setViewOffset(e,r,i,a,o,s),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.orthoDistance!==this.orthoDistance||this.lastValues.aspect!==this.aspect){var a=Math.max(this.orthoDistance,.01)*Math.tan(.5*this.fov/180*Math.PI),o=-.5*this.aspect*2*a;this.orthographicCamera.left=o,this.orthographicCamera.right=-o,this.orthographicCamera.top=a,this.orthographicCamera.bottom=-a,this.orthographicCamera.near=this.near,this.orthographicCamera.far=this.far,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.orthoDistance=this.orthoDistance,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(Ee(),0),this},t}(d.Camera),Wc=new d.Vector4,Jn=new d.WebGLCubeRenderTarget(1).texture;Jn.name="EMPTY_TEXTURE";var Wi={modelAlpha:new d.Uniform(0),progress:new d.Uniform(0),pano0_map:new d.Uniform(Jn),pano0_luminanceMap:new d.Uniform(null),pano0_matrix:new d.Uniform(new d.Matrix4),pano0_zoom:new d.Uniform(1),pano1_map:new d.Uniform(Jn),pano1_luminanceMap:new d.Uniform(null),pano1_matrix:new d.Uniform(new d.Matrix4),pano1_zoom:new d.Uniform(1),clippers:new d.Uniform([]),shownFloorIndex:new d.Uniform(-1),constantColor:new d.Uniform(null),geometricError:new d.Uniform(0),pixelRatio:new d.Uniform(1),resolution:new d.Uniform(new d.Vector2(512,512)),floor:new d.Uniform(0),brightness:new d.Uniform(1),modelBoundingMin:new d.Uniform(new d.Vector3),modelBoundingMax:new d.Uniform(new d.Vector3)},_c={none:{vertexShader:Dc,fragmentShader:Qc,uniforms:d.UniformsUtils.merge([Wi,{opacity:{value:1}},d.UniformsLib.fog]),lights:!1},basic:{vertexShader:Uc,fragmentShader:qc,uniforms:d.UniformsUtils.merge([Wi,d.ShaderLib.basic.uniforms]),lights:!1},phong:{vertexShader:Hc,fragmentShader:Gc,uniforms:d.UniformsUtils.merge([Wi,d.ShaderLib.phong.uniforms]),lights:!0}},Pn=function(n){se(t,n);function t(e,r){e===void 0&&(e="basic"),r===void 0&&(r={});var i=this,a,o,s,u,l,c,h,A,m,f,v,y,p,g,x,b,w,E,M,C,I,S=_c[e];i=n.call(this,{vertexShader:S.vertexShader,fragmentShader:S.fragmentShader,uniforms:d.UniformsUtils.clone(S.uniforms),lights:S.lights,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_VERTEX_MARK:!1,USE_LUMINANCE:!1,USE_PANO_OPACITY:!1,USE_BLACK_TRANSITION:!1,USE_SPREAD_TRANSITION:!1,USE_POINT_NORMAL:!1,USE_POINT_CIRCLE:!1,USE_POINT_ADAPTIVE_SIZE:!1,USE_POINT_COLOR_ALTITUDE:!1}})||this,i.shaderType=e,i.color=new d.Color(16777215),i.map=null,i.lightMap=null,i.lightMapIntensity=1,i.aoMap=null,i.aoMapIntensity=1,i.specularMap=null,i.specular=new d.Color(1118481),i.alphaMap=null,i.envMap=null,i.reflectivity=1,i.refractionRatio=.98,i.emissiveMap=null,i.emissive=new d.Color(0),i.emissiveIntensity=1,i.bumpMap=null,i.bumpScale=1,i.normalMap=null,i.normalMapType=d.TangentSpaceNormalMap,i.normalScale=new d.Vector2(1,1),i.displacementMap=null,i.displacementScale=1,i.displacementBias=0,i.shininess=30;var P,B=null,L=null;return Object.defineProperties(i,{pano0:{get:function(){return B},set:function(k){if(B!==k){B=k,k===null?(this.uniforms.pano0_map.value=Jn,this.uniforms.pano0_luminanceMap.value=null,this.uniforms.pano0_matrix.value.identity(),this.uniforms.pano0_zoom.value=1):(this.uniforms.pano0_map.value=k.map instanceof Ne?k.map.texture:k.map,this.uniforms.pano0_luminanceMap.value=k.luminanceMap instanceof Ne?k.luminanceMap.texture:k.luminanceMap,this.uniforms.pano0_matrix.value.copy(k.matrix),this.uniforms.pano0_zoom.value=k.zoom);var O=this.uniforms.pano0_luminanceMap.value!==null&&this.uniforms.pano1_luminanceMap.value!==null,z=this.defines.USE_LUMINANCE;z!==O&&(this.defines.USE_LUMINANCE=O,this.needsUpdate=!0)}}},pano1:{get:function(){return L},set:function(k){if(L!==k){L=k,k===null?(this.uniforms.pano1_map.value=Jn,this.uniforms.pano1_luminanceMap.value=null,this.uniforms.pano1_matrix.value.identity(),this.uniforms.pano1_zoom.value=1):(this.uniforms.pano1_map.value=k.map instanceof Ne?k.map.texture:k.map,this.uniforms.pano1_luminanceMap.value=k.luminanceMap instanceof Ne?k.luminanceMap.texture:k.luminanceMap,this.uniforms.pano1_matrix.value.copy(k.matrix),this.uniforms.pano1_zoom.value=k.zoom);var O=this.uniforms.pano0_luminanceMap.value!==null&&this.uniforms.pano1_luminanceMap.value!==null,z=this.defines.USE_LUMINANCE;z!==O&&(this.defines.USE_LUMINANCE=O,this.needsUpdate=!0)}}},modelAlpha:{get:function(){return this.uniforms.modelAlpha.value},set:function(k){this.uniforms.modelAlpha.value=k}},progress:{get:function(){return this.uniforms.progress.value},set:function(k){this.uniforms.progress.value=k}},transition:{get:function(){return this.defines.USE_BLACK_TRANSITION?"BLACK":this.defines.USE_SPREAD_TRANSITION?"SPREAD":"FADE"},set:function(k){var O=this.defines.USE_BLACK_TRANSITION,z=this.defines.USE_SPREAD_TRANSITION;this.defines.USE_BLACK_TRANSITION=!1,this.defines.USE_SPREAD_TRANSITION=!1,this.defines["USE_".concat(k,"_TRANSITION")]=!0;var N=!1;O!==this.defines.USE_BLACK_TRANSITION&&(N=!0),z!==this.defines.USE_SPREAD_TRANSITION&&(N=!0),N&&(this.needsUpdate=!0)}},constantColor:{get:function(){return this.uniforms.constantColor.value},set:function(k){this.uniforms.constantColor.value=k;var O=this.defines.USE_CONSTANT_COLOR,z=k!==null;O!==z&&(this.defines.USE_CONSTANT_COLOR=z,this.needsUpdate=!0)}},opacity:{get:function(){return this.uniforms.opacity.value},set:function(k){this.uniforms.opacity.value=k}},shownFloorIndex:{get:function(){return this.uniforms.shownFloorIndex.value},set:function(k){this.uniforms.shownFloorIndex.value=k}},brightness:{get:function(){return this.uniforms.brightness.value},set:function(k){this.uniforms.brightness.value=k}},clippers:{get:function(){return P},set:function(k){P!==k&&(P=k,this.uniforms.clippers.value=(P||[]).map(function(O){var z=typeof O.floorIndex=="number"?O.floorIndex:-1,N=new d.Matrix4().getInverse(O.clippingBoxMatrix);return{matrixInverse:N,floorIndex:z}}),this.needsUpdate=!0)}},useEDL:{get:function(){return this.defines.USE_EDL},set:function(k){k!==this.defines.USE_EDL&&(this.defines.USE_EDL=k,this.needsUpdate=!0)}},useHQWeight:{get:function(){return this.defines.USE_HQ_WEIGHT},set:function(k){k!==this.defines.USE_HQ_WEIGHT&&(this.defines.USE_HQ_WEIGHT=k,this.needsUpdate=!0)}},useHQDepth:{get:function(){return this.defines.USE_HQ_DEPTH},set:function(k){k!==this.defines.USE_HQ_DEPTH&&(this.defines.USE_HQ_DEPTH=k,this.needsUpdate=!0)}},floor:{get:function(){return this.uniforms.floor.value},set:function(k){this.uniforms.floor.value=k}}}),i.pano0=(a=r.pano0)!==null&&a!==void 0?a:we.pano0,i.pano1=(o=r.pano1)!==null&&o!==void 0?o:we.pano1,i.modelAlpha=(s=r.modelAlpha)!==null&&s!==void 0?s:we.modelAlpha,i.progress=(u=r.progress)!==null&&u!==void 0?u:we.progress,i.transition=(l=r.transition)!==null&&l!==void 0?l:we.transition,i.constantColor=(c=r.constantColor)!==null&&c!==void 0?c:we.constantColor,i.opacity=(h=r.opacity)!==null&&h!==void 0?h:we.opacity,i.shownFloorIndex=(A=r.shownFloorIndex)!==null&&A!==void 0?A:we.shownFloorIndex,i.clippers=(m=r.clippers)!==null&&m!==void 0?m:we.clippers,i.useEDL=(f=r.useEDL)!==null&&f!==void 0?f:we.useEDL,i.useHQWeight=(v=r.useHQWeight)!==null&&v!==void 0?v:we.useHQWeight,i.useHQDepth=(y=r.useHQDepth)!==null&&y!==void 0?y:we.useHQDepth,i.pointSize=(p=r.pointSize)!==null&&p!==void 0?p:we.pointSize,i.pointColor=(g=r.pointColor)!==null&&g!==void 0?g:we.pointColor,i.pointShape=(x=r.pointShape)!==null&&x!==void 0?x:we.pointShape,i.pointScale=(b=r.pointScale)!==null&&b!==void 0?b:we.pointScale,i.pointBack=(w=r.pointBack)!==null&&w!==void 0?w:we.pointBack,i.pointMinPixel=(E=r.pointMinPixel)!==null&&E!==void 0?E:we.pointMinPixel,i.pointMaxPixel=(M=r.pointMaxPixel)!==null&&M!==void 0?M:we.pointMaxPixel,i.gradientTexture=(C=r.gradientTexture)!==null&&C!==void 0?C:we.gradientTexture,i.brightness=(I=r.brightness)!==null&&I!==void 0?I:we.brightness,i.floor=0,i}return t.prototype.onBeforeCompile=function(e,r){var i,a,o=String((a=(i=this.clippers)===null||i===void 0?void 0:i.length)!==null&&a!==void 0?a:0);e.vertexShader=e.vertexShader.replace(/NUM_CLIPPERS/g,o),e.fragmentShader=e.fragmentShader.replace(/NUM_CLIPPERS/g,o)},t.prototype.refreshUniforms=function(e){var r,i,a=this.uniforms;a.diffuse&&a.diffuse.value.copy(this.color),a.opacity&&(a.opacity.value=this.opacity),a.color&&a.diffuse.value.copy(this.color),a.emissive&&a.emissive.value.copy(this.emissive).multiplyScalar(this.emissiveIntensity),a.map&&(a.map.value=this.map),a.alphaMap&&(a.alphaMap.value=this.alphaMap),a.specularMap&&(a.specularMap.value=this.specularMap),a.envMap&&(a.envMap.value=this.envMap,a.flipEnvMap.value=!((r=this.envMap)===null||r===void 0)&&r.isCubeTexture?-1:1,a.reflectivity.value=this.reflectivity,a.refractionRatio.value=this.refractionRatio,a.maxMipLevel.value=this.envMap&&(i=e.properties.get(this.envMap).__maxMipLevel)!==null&&i!==void 0?i:0),a.lightMap&&(a.lightMap.value=this.lightMap,a.lightMapIntensity.value=this.lightMapIntensity),a.aoMap&&(a.aoMap.value=this.aoMap,a.aoMapIntensity.value=this.aoMapIntensity),a.specular&&a.specular.value.copy(this.specular),a.shininess&&(a.shininess.value=Math.max(this.shininess,1e-4)),a.emissiveMap&&(a.emissiveMap.value=this.emissiveMap),a.bumpMap&&(a.bumpMap.value=this.bumpMap,a.bumpScale.value=this.bumpScale,this.side===d.BackSide&&(a.bumpScale.value*=-1)),a.normalMap&&(a.normalMap.value=this.normalMap,a.normalScale.value.copy(this.normalScale),this.side===d.BackSide&&a.normalScale.value.negate()),a.displacementMap&&(a.displacementMap.value=this.displacementMap,a.displacementScale.value=this.displacementScale,a.displacementBias.value=this.displacementBias);var o;this.map?o=this.map:this.specularMap?o=this.specularMap:this.displacementMap?o=this.displacementMap:this.normalMap?o=this.normalMap:this.bumpMap?o=this.bumpMap:this.alphaMap?o=this.alphaMap:this.emissiveMap&&(o=this.emissiveMap),o!==void 0&&(o.matrixAutoUpdate===!0&&o.updateMatrix(),a.uvTransform.value.copy(o.matrix));var s;this.aoMap?s=this.aoMap:this.lightMap&&(s=this.lightMap),s!==void 0&&(s.matrixAutoUpdate===!0&&s.updateMatrix(),a.uv2Transform.value.copy(s.matrix))},t.prototype.update=function(e,r){if(this.refreshUniforms(e),this.transparent=!1,this.shownFloorIndex>-1&&(this.defines.USE_VERTEX_FLOOR?this.transparent=!0:this.transparent=this.shownFloorIndex!==this.floor),this.opacity<1&&(this.transparent=!0),this.alphaMap&&(this.transparent=!0),this.brightness<1&&(this.transparent=!0),this.blending=this.transparent?d.NormalBlending:d.NoBlending,r instanceof Oi)this.uniforms.pixelRatio.value=r.pixelRatio,this.uniforms.resolution.value.copy(r.resolution);else{this.uniforms.pixelRatio.value=e.getPixelRatio();var i=e.getViewport(Wc);this.uniforms.resolution.value.set(i.z,i.w)}},t.prototype.syncModel=function(e){var r="".concat(e.id,":").concat(e.materialVersion);r!==this.syncModelVersion&&(Object.assign(this,e.getMaterial()),this.uniforms.modelBoundingMax.value.copy(e.bounding.max),this.uniforms.modelBoundingMin.value.copy(e.bounding.min),this.syncModelVersion=r)},t.prototype.copy=function(e){return n.prototype.copy.call(this,e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.specular.copy(e.specular),this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.emissiveMap=e.emissiveMap,this.emissive.copy(e.emissive),this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.shininess=e.shininess,this.pano0=e.pano0,this.pano1=e.pano1,this.modelAlpha=e.modelAlpha,this.progress=e.progress,this.transition=e.transition,this.opacity=e.opacity,this.constantColor=e.constantColor,this.shownFloorIndex=e.shownFloorIndex,this.brightness=e.brightness,this.clippers=e.clippers,this.useEDL=e.useEDL,this.useHQWeight=e.useHQWeight,this.useHQDepth=e.useHQDepth,this.pointColor=e.pointColor,this.pointSize=e.pointSize,this.pointShape=e.pointShape,this.pointScale=e.pointScale,this.pointBack=e.pointBack,this.pointMinPixel=e.pointMinPixel,this.pointMaxPixel=e.pointMaxPixel,this.gradientTexture=e.gradientTexture,this.floor=e.floor,this},t}(d.ShaderMaterial),Yr=function(n){se(t,n);function t(e){var r=e.preserveDrawingBuffer,i=r===void 0?!0:r,a=e.premultipliedAlpha,o=a===void 0?!0:a,s=e.stencil,u=s===void 0?!0:s,l=e.backgroundColor,c=l===void 0?1579548:l,h=e.backgroundAlpha,A=h===void 0?1:h,m=e.pixelRatio,f=m===void 0?1:m,v=e.antialias,y=e.webgl2,p=e.logarithmicDepthBuffer,g=e.precision,x=this,b={antialias:v,alpha:!0,depth:!0,preserveDrawingBuffer:i,stencil:u,premultipliedAlpha:o,powerPreference:"high-performance"},w={logarithmicDepthBuffer:p,precision:g};if(y){var E=document.createElement("canvas"),M=E.getContext("webgl2",b);M?x=n.call(this,F(F(F({},b),w),{antialias:!0,canvas:E,context:M}))||this:(console.error("error occurred when getting webgl2 canvas context, mybe webgl2 not support, fallback to webgl."),x=n.call(this,F(F({},b),w))||this)}else x=n.call(this,F(F({},b),w))||this;return x.setPixelRatio(f),x.setClearColor(c,A),x.outputEncoding=d.sRGBEncoding,x.autoClear=!0,x}return t}(d.WebGLRenderer),x0=function(n){se(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}(d.Scene),ht;(function(n){n[n.Outside=-1]="Outside",n[n.Intersecting=0]="Intersecting",n[n.Inside=1]="Inside"})(ht||(ht={}));var w0=1e-6,De=new d.Vector3,Dr=new d.Matrix4,Pr=new d.Vector3,Br=new d.Vector3,Rr=new d.Vector3,Ba=new d.Vector3,_i=new d.Box3,Zi=new d.Sphere,Ho=new d.Matrix4,Yi=new d.Ray,dt=new d.Object3D,Go=new d.Frustum;function E0(n,t){var e=n.elements;return t.setFromRotationMatrix(Dr.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 Un=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 Dr.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),Go.setFromProjectionMatrix(Dr),this.setFromFrustum(Go),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=ht.Inside,r=0,i=this.planes;r<i.length;r++){var a=i[r],o=t.intersectPlane(a);switch(o){case ht.Outside:return ht.Outside;case ht.Intersecting:e=ht.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),a=0;a<i;++a){var o=1<<a;if(e&o){var s=this.planes[a],u=t.intersectPlane(s);if(u===ht.Outside)return n.MASK_OUTSIDE;u===ht.Intersecting&&(r|=o)}}return r},n}(),C0=function(){function n(){this.type="box",this.center=new d.Vector3,this.halfSize=new d.Vector3,this.rotation=new d.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],a=e[5],o=e[6],s=e[7],u=e[8],l=e[9],c=e[10],h=e[11],A=Math.sqrt(r*r+i*i+a*a),m=Math.sqrt(o*o+s*s+u*u),f=Math.sqrt(l*l+c*c+h*h);this.halfSize.set(A,m,f);var v=this.halfSize.toArray().reduce(function(y,p){return y+p},0);return(isNaN(v)||v<=0)&&this.halfSize.setScalar(w0),this.rotation.fromArray([r/A,i/A,a/A,o/m,s/m,u/m,l/f,c/f,h/f]),isNaN(this.rotation.toArray().reduce(function(y,p){return y+p},0))&&this.rotation.identity(),this},n.prototype.toJson=function(){return this.rotation.extractBasis(Pr,Br,Rr),{box:bt(bt(bt(bt([],this.center.toArray(),!0),Pr.multiplyScalar(this.halfSize.x).toArray(),!0),Br.multiplyScalar(this.halfSize.y).toArray(),!0),Rr.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 dt.position.copy(this.center),E0(this.rotation,dt.quaternion),dt.scale.copy(this.halfSize),dt.matrix.compose(dt.position,dt.quaternion,dt.scale),dt.matrix.premultiply(t),dt.matrix.decompose(dt.position,dt.quaternion,dt.scale),this.center.copy(dt.position),this.rotation.setFromMatrix4(Dr.makeRotationFromQuaternion(dt.quaternion)),this.halfSize.copy(dt.scale),this},n.prototype.getCenter=function(t){return t.copy(this.center)},n.prototype.distanceSquaredToPoint=function(t){var e=this.rotation.elements,r=t.x-this.center.x,i=t.y-this.center.y,a=t.z-this.center.z,o=0,s;return s=r*e[0]+i*e[1]+a*e[2],s<0&&(s=-s),s-=this.halfSize.x,s>0&&(o+=s*s),s=r*e[3]+i*e[4]+a*e[5],s<0&&(s=-s),s-=this.halfSize.y,s>0&&(o+=s*s),s=r*e[6]+i*e[7]+a*e[8],s<0&&(s=-s),s-=this.halfSize.z,s>0&&(o+=s*s),o},n.prototype.distanceToPoint=function(t){return Math.sqrt(this.distanceSquaredToPoint(t))},n.prototype.distanceToPlane=function(t){var e=t.projectPoint(this.center,new d.Vector3);return this.distanceToPoint(e)},n.prototype.getBoundingBox=function(t){return t.makeEmpty(),this.rotation.extractBasis(Pr,Br,Rr),Pr.setLength(this.halfSize.x),Br.setLength(this.halfSize.y),Rr.setLength(this.halfSize.z),t.expandByPoint(De.copy(this.center).add(Pr)),t.expandByPoint(De.copy(this.center).sub(Pr)),t.expandByPoint(De.copy(this.center).add(Br)),t.expandByPoint(De.copy(this.center).sub(Br)),t.expandByPoint(De.copy(this.center).add(Rr)),t.expandByPoint(De.copy(this.center).sub(Rr)),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);De.set(this.halfSize.x,this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,0),De.set(-this.halfSize.x,this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,3),De.set(-this.halfSize.x,-this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,6),De.set(this.halfSize.x,-this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,9),De.set(this.halfSize.x,this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,12),De.set(-this.halfSize.x,this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,15),De.set(-this.halfSize.x,-this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,18),De.set(this.halfSize.x,-this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,21);var r=new d.BufferGeometry;return r.setIndex(new d.BufferAttribute(t,1)),r.setAttribute("position",new d.BufferAttribute(e,3)),r.computeBoundingBox(),r.computeBoundingSphere(),r},n.prototype.intersectPlane=function(t){var e=this.center,r=t.normal,i=this.rotation.elements,a=this.halfSize,o=r.x,s=r.y,u=r.z,l=Math.abs(o*i[0]*a.x+s*i[1]*a.x+u*i[2]*a.x)+Math.abs(o*i[3]*a.y+s*i[4]*a.y+u*i[5]*a.y)+Math.abs(o*i[6]*a.z+s*i[7]*a.z+u*i[8]*a.z),c=r.dot(e)+t.constant;return c<=-l?ht.Outside:c>=l?ht.Inside:ht.Intersecting},n.prototype.intersectRay=function(t,e){if(Ba.copy(this.halfSize).multiplyScalar(2),_i.setFromCenterAndSize(De.set(0,0,0),Ba),this.rotation.extractBasis(Pr,Br,Rr),Dr.makeBasis(Pr,Br,Rr),Dr.setPosition(this.center),Ho.getInverse(Dr),Yi.copy(t).applyMatrix4(Ho),_i.containsPoint(Yi.origin))return!0;var r=Yi.intersectBox(_i,De);return r?e!==void 0?r.applyMatrix4(Dr).distanceTo(t.origin)<e:!0:!1},n}(),M0=function(){function n(){this.type="sphere",this.center=new d.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],w0),this},n.prototype.toJson=function(){return{sphere:bt(bt([],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,Ba.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 a=new d.BufferGeometry;return a.setAttribute("position",new d.BufferAttribute(e,3)),a.computeBoundingBox(),a.computeBoundingSphere(),a},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.distanceSquaredToPoint=function(t){var e=this.distanceToPoint(t);return e*e},n.prototype.distanceToPoint=function(t){var e=this.center.distanceTo(t)-this.radius;return e<=0?0:e},n.prototype.distanceToPlane=function(t){var e=Math.abs(t.distanceToPoint(this.center));return Math.max(0,e-this.radius)},n.prototype.intersectPlane=function(t){var e=this.center,r=this.radius,i=t.normal,a=i.dot(e)+t.constant;return a<-r?ht.Outside:a<r?ht.Intersecting:ht.Inside},n.prototype.intersectRay=function(t,e){if(Zi.set(this.center,this.radius),Zi.containsPoint(t.origin))return!0;var r=t.intersectSphere(Zi,De);return r?e!==void 0?t.origin.distanceTo(r)<e:!0:!1},n}(),Zc=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.distanceToPoint=function(t){throw new Error("not implemented")},n.prototype.distanceSquaredToPoint=function(t){throw new Error("not implemented")},n.prototype.distanceToPlane=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 fi(n){if("box"in n)return new C0().fromJson(n);if("sphere"in n)return new M0().fromJson(n);if("region"in n)return new Zc().fromJson(n);throw new Error("BoundingVolume ".concat(JSON.stringify(n)," never suppored."))}var ai=[4821759,8191922,16637280,16739958,5822969,376977,16747077,9259235,14514687].map(function(n){return new d.LineBasicMaterial({color:n,depthWrite:!1,depthTest:!1,transparent:!0})}),Yc=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);De.set(1,1,1).toArray(t,0),De.set(-1,1,1).toArray(t,3),De.set(-1,-1,1).toArray(t,6),De.set(1,-1,1).toArray(t,9),De.set(1,1,-1).toArray(t,12),De.set(-1,1,-1).toArray(t,15),De.set(-1,-1,-1).toArray(t,18),De.set(1,-1,-1).toArray(t,21);var e=new d.BufferGeometry;return e.setIndex(new d.BufferAttribute(n,1)),e.setAttribute("position",new d.BufferAttribute(t,3)),e.computeBoundingBox(),e.computeBoundingSphere(),e}(),$c=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 d.BufferGeometry;return i.setAttribute("position",new d.BufferAttribute(t,3)),i.computeBoundingBox(),i.computeBoundingSphere(),i}();function ed(n,t){if(n instanceof C0){var e=new d.LineSegments(Yc,ai[Math.min(t,ai.length-1)]);return e.position.copy(n.center),E0(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 M0){var e=new d.LineSegments($c,ai[Math.min(t,ai.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 td=new d.Vector3,ro=function(){function n(t,e,r,i){var a=this,o,s,u;this.parent=null,this.floor=0,this.id=t,this.state={visible:!1,frameNumber:0,selectedFrameNumber:0,requestedFrameNumber:0,touchedFrameNumber:0,distanceToCamera:0,centerZDepth:0,screenSpaceError:0,visibilityPlaneMask:0,inRequestVolume:!1,shouldRefine:!1,stackLength:0,finalResolution:!0,selectionDepth:0,shouldSelect:!1,lastSelect:!1,ancestorWithContent:null,ancestorWithContentAvailable:null},this.parent=i!=null?i:null,this.level=this.parent?this.parent.level+1:0,this.tileset=r,this.refine=(o=e.refine)!==null&&o!==void 0?o:this.parent?this.parent.refine:"REPLACE",this.transform=new d.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=(u=(s=this.parent)===null||s===void 0?void 0:s.geometricError)!==null&&u!==void 0?u: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=fi(e.content.boundingVolume).applyMatrix4(this.transform)),/\.json$/.test(this.content.uri)?this.type="TILESET":this.type="SCENEGRAPH"):(this.content=null,this.type="EMPTY"),this.levelOfContent=this.parent?this.parent.levelOfContent:-1,this.type==="SCENEGRAPH"&&(this.levelOfContent=this.levelOfContent+1),e.boundingVolume&&(this.boundingVolume=fi(e.boundingVolume).applyMatrix4(this.transform)),e.viewerRequestVolume&&(this.viewerRequestVolume=fi(e.viewerRequestVolume).applyMatrix4(this.transform)),this.extras=e.extras||{},typeof this.extras.floor=="number"&&(this.floor=this.extras.floor),this.boundingVolume&&(this.boundingVolumeDebugObject=ed(this.boundingVolume,this.levelOfContent)),e.children?this.children=e.children.map(function(l,c){return new n("".concat(a.id,".").concat(c),l,r,a)}):this.children=[]}return n.prototype.traverse=function(t){t(this);for(var e=0,r=this.children;e<r.length;e++){var i=r[e];i.traverse(t)}},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;if(t.camera.type==="OrthographicCamera"){var i=new d.Plane().setFromNormalAndCoplanarPoint(t.camera.direction,t.camera.position);this.state.distanceToCamera=r.distanceToPlane(i)}else this.state.distanceToCamera=r.distanceToPoint(t.camera.position);var a=r.getCenter(td).sub(t.camera.position);this.state.centerZDepth=t.camera.direction.dot(a);var o=this.parent?this.parent.state.visibilityPlaneMask:Un.MASK_INDETERMINATE;this.state.visibilityPlaneMask=t.cullingVolume.computeVisibilityWithPlaneMask(r,o),this.state.visible=this.state.visibilityPlaneMask!==Un.MASK_OUTSIDE}else this.state.distanceToCamera=0,this.state.centerZDepth=0,this.state.visibilityPlaneMask=Un.MASK_INDETERMINATE,this.state.visible=!0;if(this.levelOfContent<=0&&(this.state.visible=!0),this.viewerRequestVolume){var s=e?this.viewerRequestVolume.clone().applyMatrix4(e):this.viewerRequestVolume;this.state.inRequestVolume=s.distanceSquaredToPoint(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==="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(a){return i.done(),r.loadState=a?"READY":"UNLOADED",a}).catch(function(a){return r.loadState="FAILED",i.done(),Promise.reject(a)}):(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(),a=this.parent?this.parent.geometricError:this.tileset.geometricError,o=i*(r?a:this.geometricError);if(o===0)return 0;var s=Math.max(e,.001),u=o*t.height/(s*t.sseDenominator);return u},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,a=this.tileset.root?this.tileset.root.state.screenSpaceError:0,o=Math.max(a-i,0);return o},n}(),S0=function(){function n(t){this.tileset=t,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(){}},a=new Promise(function(o){return i.resolve=o});return this.requestQueue.push(i),this.requestMap.set(t,a),this.issueNewRequests(),a},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,a=!1,o=function(){a||(a=!0,e.requestMap.delete(r),e.activeRequests--,e.issueNewRequests())};this.activeRequests++,i({done:o})},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.tileset.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,a){return i.priority-a.priority})},n.prototype.updateRequest=function(t){return t.priority=t.getPriority(t.identiy),t.priority<0?(t.resolve(null),!1):!0},n}(),rd=function(){function n(t,e,r){this.item=t,this.previous=e,this.next=r}return n}(),nd=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 rd(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}(),I0=function(){function n(){this.cacheNodeMap=new Map,this.list=new nd,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}(),bn=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),this.array[this._length]=void 0,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.prototype.peek=function(){return this.array[this._length-1]},n}(),T0=function(){function n(t){this.tileset=t,this._canSelectTile=!0,this.root=null}return n.prototype.traverse=function(t,e,r){this.root=t,this.reset()},n.prototype.reset=function(){this.tileset.hasMixedContent=!1,this.tileset.needsRefinedTiles.clear(),this.tileset.requestedTiles.length=0,this.tileset.selectedTiles.length=0},n.prototype.updateTile=function(t,e){this.updateTileVisibility(t,e),t.state.shouldSelect=!1,t.state.finalResolution=!0},n.prototype.selectTile=function(t,e){var r=t.contentAvailable&&this._canSelectTile;r&&(t.state.selectedFrameNumber=e.frameNumber,this.tileset.selectedTiles.push(t),this.tileset.needsRefinedTiles.add(t))},n.prototype.loadTile=function(t,e){t.hasUnloadedContent&&(t.state.requestedFrameNumber=e.frameNumber,this.tileset.requestedTiles.push(t)),this.tileset.needsRefinedTiles.add(t)},n.prototype.touchTile=function(t,e){this.tileset.cache.touch(t),t.state.touchedFrameNumber=e.frameNumber},n.prototype.canTraverse=function(t,e){return t.levelOfContent>=e.maxLevelOfDetail||t.children.length===0?!1:t.levelOfContent<=e.minLevelOfDetail||t.hasTilesetContent?!0:t.state.screenSpaceError>this.tileset.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}var a=t.refine==="REPLACE";if(a&&r&&!this.anyChildrenVisible(t,e)){t.state.visible=!1;return}}},n.prototype.anyChildrenVisible=function(t,e){for(var r=!1,i=t.children,a=0,o=i;a<o.length;a++){var s=o[a];s.updateState(e),r=r||s.state.visible}return r},n.prototype.meetsScreenSpaceErrorEarly=function(t,e){var r=t.parent;return!r||r.refine!=="ADD"||r.levelOfContent<e.minLevelOfDetail?!1:r.levelOfContent>e.maxLevelOfDetail?!0:t.getScreenSpaceError(e,t.state.distanceToCamera,!0)<this.tileset.maxScreenSpaceError},n.prototype.sortTilesByDistanceToCamera=function(t){t.sort(function(e,r){return r.state.distanceToCamera===0&&e.state.distanceToCamera===0?r.state.centerZDepth-e.state.centerZDepth:r.state.distanceToCamera-e.state.distanceToCamera})},n}(),id=function(n){se(t,n);function t(e){var r=n.call(this,e)||this;return r.tileset=e,r._traversalStack=new bn,r._emptyTraversalStack=new bn,r}return t.prototype.traverse=function(e,r,i){i===void 0&&(i=[]),n.prototype.traverse.call(this,e,r,i);for(var a=0,o=i;a<o.length;a++){var s=o[a];this._traversalStack.reset(),this._emptyTraversalStack.reset(),s.camera.refine&&(this._canSelectTile=s.camera.visible,this.updateTile(e,s),this.executeTraversal(e,s))}this._traversalStack.reset(),this._emptyTraversalStack.reset(),r.camera.refine&&(this._canSelectTile=r.camera.visible,this.updateTile(e,r),this.executeTraversal(e,r))},t.prototype.reset=function(){n.prototype.reset.call(this),this._traversalStack.reset(),this._emptyTraversalStack.reset()},t.prototype.executeTraversal=function(e,r){var i=this._traversalStack;for(e.state.visible&&e.state.inRequestVolume&&i.push(e);i.length>0;){var a=i.pop(),o=a.parent,s=!o||o.state.shouldRefine,u=!1;this.canTraverse(a,r)&&(u=this.updateAndPushChildren(a,r,i)&&s);var l=!u&&s;a.hasRenderContent?a.refine==="ADD"?(this.loadTile(a,r),this.selectDesiredTile(a,r)):a.refine==="REPLACE"&&(this.loadTile(a,r),l&&this.selectDesiredTile(a,r)):(this.loadTile(a,r),l&&this.selectDesiredTile(a,r)),this.touchTile(a,r),a.state.shouldRefine=u}},t.prototype.updateAndPushChildren=function(e,r,i){for(var a=e.children,o=0,s=a;o<s.length;o++){var u=s[o];this.updateTile(u,r)}this.sortTilesByDistanceToCamera(a);for(var l=e.refine==="REPLACE"&&e.hasRenderContent,c=!1,h=!0,A=0,m=a;A<m.length;A++){var u=m[A];if(u.state.visible&&u.state.inRequestVolume?(i.find(u)&&i.delete(u),i.push(u),c===!1&&(c=!0)):(l||this.tileset.loadSiblings)&&(this.loadTile(u,r),this.touchTile(u,r)),l){var f=void 0;u.state.inRequestVolume?u.hasRenderContent?f=u.contentAvailable:f=this.executeEmptyTraversal(u,r):f=!1,h=h&&f}}return c||(h=!1),h},t.prototype.selectDesiredTile=function(e,r){e.contentAvailable&&n.prototype.selectTile.call(this,e,r)},t.prototype.executeEmptyTraversal=function(e,r){var i=!0,a=this._emptyTraversalStack;for(a.push(e);a.length>0&&i;){var o=a.pop(),s=!o.hasRenderContent&&this.canTraverse(o,r);if(!s&&!o.contentAvailable&&(i=!1),this.updateTile(o,r),o.state.visible||(this.loadTile(o,r),this.touchTile(o,r)),s)for(var u=o.children,l=0,c=u;l<c.length;l++){var h=c[l];a.find(h)&&a.delete(h),a.push(h)}}return i},t}(T0),ad=function(n){se(t,n);function t(e){var r=n.call(this,e)||this;return r.tileset=e,r.baseScreenSpaceError=1024,r.skipScreenSpaceErrorFactor=16,r.skipLevels=1,r._traversalStack=new bn,r._descendantTraversalStack=new bn,r._selectionTraversalStack=new bn,r._selectionTraversalancestorStack=new bn,r}return t.prototype.traverse=function(e,r,i){i===void 0&&(i=[]),n.prototype.traverse.call(this,e,r,i);for(var a=0,o=i;a<o.length;a++){var s=o[a];this._traversalStack.reset(),s.camera.refine&&(this._canSelectTile=s.camera.visible,this.updateTile(e,s),this.executeTraversal(e,s),this.traverseAndSelect(e,s))}this.tileset.hasMixedContent=!1,this._traversalStack.reset(),this._descendantTraversalStack.reset(),this._selectionTraversalStack.reset(),this._selectionTraversalancestorStack.reset(),r.camera.refine&&(this._canSelectTile=r.camera.visible,this.updateTile(e,r),this.executeTraversal(e,r),this.traverseAndSelect(e,r))},t.prototype.reset=function(){n.prototype.reset.call(this),this._traversalStack.reset(),this._descendantTraversalStack.reset(),this._selectionTraversalStack.reset(),this._selectionTraversalancestorStack.reset()},t.prototype.executeTraversal=function(e,r){var i=this._traversalStack;for(e.state.visible&&e.state.inRequestVolume&&i.push(e);i.length>0;){var a=i.pop();this.updateTileAncestorContentLinks(a,r);var o=a.parent,s=!o||o.state.shouldRefine,u=!1;this.canTraverse(a,r)&&(u=this.updateAndPushChildren(a,r,i)&&s);var l=!u&&s;a.hasRenderContent?a.refine==="ADD"?(this.loadTile(a,r),this.selectDesiredTile(a,r)):a.refine==="REPLACE"&&(this.inBaseTraversal(a,this.baseScreenSpaceError)?(this.loadTile(a,r),l&&this.selectDesiredTile(a,r)):l?(this.loadTile(a,r),this.selectDesiredTile(a,r)):this.reachedSkippingThreshold(a)&&this.loadTile(a,r)):(this.loadTile(a,r),l&&this.selectDesiredTile(a,r)),this.touchTile(a,r),a.state.shouldRefine=u}},t.prototype.updateAndPushChildren=function(e,r,i){for(var a=e.children,o=0,s=a;o<s.length;o++){var u=s[o];this.updateTile(u,r)}this.sortTilesByDistanceToCamera(a);for(var l=!1,c=0,h=a;c<h.length;c++){var u=h[c];u.state.visible&&u.state.inRequestVolume?(i.push(u),l===!1&&(l=!0)):this.tileset.loadSiblings&&(this.loadTile(u,r),this.touchTile(u,r))}return l},t.prototype.selectDesiredTile=function(e,r){var i=e.contentAvailable?e:e.state.ancestorWithContentAvailable;i&&(i.state.shouldSelect=!0),e.contentAvailable||this.selectDescendants(e,r)},t.prototype.selectDescendants=function(e,r){var i=this._descendantTraversalStack;for(i.push(e);i.length>0;)for(var a=i.pop(),o=a.children,s=0,u=o;s<u.length;s++){var l=u[s];l.state.visible&&(l.contentAvailable?(this.updateTile(l,r),this.touchTile(l,r),this.selectTile(l,r)):i.push(l))}},t.prototype.reachedSkippingThreshold=function(e){var r=e.state.ancestorWithContent,i=r!==null&&e.state.screenSpaceError<r.state.screenSpaceError/this.skipScreenSpaceErrorFactor&&e.levelOfContent>r.levelOfContent+this.skipLevels;return i},t.prototype.updateTileAncestorContentLinks=function(e,r){e.state.ancestorWithContent=null,e.state.ancestorWithContentAvailable=null;var i=e.parent;if(i){var a=!(i.hasRenderContent&&i.hasUnloadedContent)||i.state.requestedFrameNumber===r.frameNumber;e.state.ancestorWithContent=a?i:i.state.ancestorWithContent,e.state.ancestorWithContentAvailable=i.contentAvailable?i:i.state.ancestorWithContentAvailable}},t.prototype.inBaseTraversal=function(e,r){return e.state.ancestorWithContent?e.parent&&e.state.screenSpaceError===0?e.parent.state.screenSpaceError>r:e.state.screenSpaceError>r:!0},t.prototype.traverseAndSelect=function(e,r){var i=this._selectionTraversalStack,a=this._selectionTraversalancestorStack,o;for(i.push(e);i.length>0||a.length>0;){if(a.length>0){var s=a.peek();if(s.state.stackLength===i.length){a.pop(),s!==o&&(s.state.finalResolution=!1),this.selectTile(s,r);continue}}var u=i.pop();if(u){var l=this.canTraverse(u,r);if(u.state.shouldSelect)if(u.refine==="ADD")this.selectTile(u,r);else{if(u.state.selectionDepth=a.length,u.state.selectionDepth>0&&(u.tileset.hasMixedContent=!0),o=u,!l){this.selectTile(u,r);continue}a.push(u),u.state.stackLength=i.length}if(l)for(var c=0,h=u.children;c<h.length;c++){var A=h[c];A.state.visible&&i.push(A)}}}},t}(T0),od=new d.Matrix4,gn=function(){function n(t,e,r){var i,a,o,s,u;this.id=t,this.transform=new d.Matrix4,this.transformIsIdentity=!0,this.hasMixedContent=!1,this.url=(i=r.url)!==null&&i!==void 0?i:"",this.referer=(a=r.referer)!==null&&a!==void 0?a:"",this.asset={version:e.asset.version,tilesetVersion:e.asset.tilesetVersion||"",gltfUpAxis:(o=e.asset.gltfUpAxis)!==null&&o!==void 0?o:"Y",overview:e.asset.overview},this.rootMeta=(s=e.rootMeta)!==null&&s!==void 0?s:{},this.properties=(u=e.properties)!==null&&u!==void 0?u:{},this.options=r,this.maxMemoryUsage=n.DEFAULT_MAX_MEMORY_USAGE,this.maxScreenSpaceError=n.DEFAULT_MAX_SCREEN_SPACE_ERROR,this.skipLevelOfDetail=n.DEFAULT_SKIP_LEVEL_OF_DETAIL,this.loadSiblings=n.DEFAULT_LOAD_SIBLINGS,this.maxRequests=n.DEFAULT_MAX_REQUESTS,this.requestedTiles=[],this.selectedTiles=[],this.needsRefinedTiles=new Set,this.cache=new I0,this.normalTraverser=new id(this),this.skipTraverser=new ad(this),this.requestScheduler=new S0(this),this.frameNumber=0,this.pendingCount=0,this.loadedTiles=new Set,this.memoryUsageInBytes=0,this.root=new ro("".concat(this.id,".0"),e.root,this),this.geometricError=e.geometricError}return Object.defineProperty(n.prototype,"traverser",{get:function(){return this.skipLevelOfDetail?this.skipTraverser:this.normalTraverser},enumerable:!1,configurable:!0}),n.prototype.reset=function(){for(var t=this,e=[this.root],r;r=e.pop();){for(var i=0,a=r.children.length;i<a;i++)e.push(r.children[i]);this.cache.unloadTile(r,function(o){return t.unloadTile(o)})}this.cache.reset(),this.traverser.reset(),this.requestScheduler.reset(),this.loadedTiles.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(od),this.traverser.traverse(this.root,t,e),this.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.loadedTiles.delete(i)})},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.loadedTiles.add(t),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_MAX_MEMORY_USAGE=16,n.DEFAULT_MAX_SCREEN_SPACE_ERROR=4,n.DEFAULT_SKIP_LEVEL_OF_DETAIL=!1,n.DEFAULT_LOAD_SIBLINGS=!1,n.DEFAULT_MAX_REQUESTS=6,n}(),P0=function(){function n(t,e){this.position=t,this.indices=e}return n.prototype.getPositionCount=function(){var t,e,r=this.indices,i=this.position;return r?r.array.length/((t=r.stride)!==null&&t!==void 0?t:1):i.array.length/((e=i.stride)!==null&&e!==void 0?e:3)},n.prototype.getPositionByIndex=function(t,e){var r,i,a,o,s=this.indices,u=this.position,l=t;if(s){var c=s.array,h=(r=s.stride)!==null&&r!==void 0?r:1,A=(i=s.offset)!==null&&i!==void 0?i:0;l=c[t*h+A]}var m=u.array,f=(a=u.stride)!==null&&a!==void 0?a:3,v=(o=u.offset)!==null&&o!==void 0?o:0;return l=l*f+v,e.x=m[l],e.y=m[l+1],e.z=m[l+2],e},n.prototype.createTree=function(t,e,r){throw new Error("not implemented")},n.prototype.trianglesInSphere=function(t,e){throw new Error("not implemented")},n.prototype.intersectRay=function(t,e,r,i){throw new Error("not implemented")},n}(),En=function(){function n(t,e,r,i,a){this.id=t,this.extents=e,this.startIndex=r,this.endIndex=i,this.deepth=a}return n}(),br=6*4+4+4+2+2;function B0(n,t){for(var e=new ArrayBuffer(t*br),r=new Float32Array(e),i=new Uint32Array(e),a=new Uint16Array(e),o=[n],s,u;s=o.pop();)u=s.id*br/4,r[u]=s.extents[0],r[u+1]=s.extents[1],r[u+2]=s.extents[2],r[u+3]=s.extents[3],r[u+4]=s.extents[4],r[u+5]=s.extents[5],i[u+6]=s.startIndex,i[u+7]=s.endIndex,u=s.id*br/2,s.node0&&(a[u+16]=s.node0.id,o.push(s.node0)),s.node1&&(a[u+17]=s.node1.id,o.push(s.node1));return e}function R0(n,t,e,r,i,a,o,s,u){u===void 0&&(u=0),e=e-u,r=r-u,i=i-u,a=a+u,o=o+u,s=s+u;var l=0,c=0,h=0,A=0,m=0,f=0;return t.x>=0?(l=(e-n.x)*t.x,c=(a-n.x)*t.x):(l=(a-n.x)*t.x,c=(e-n.x)*t.x),t.y>=0?(h=(r-n.y)*t.y,A=(o-n.y)*t.y):(h=(o-n.y)*t.y,A=(r-n.y)*t.y),!(l>A||h>c||(h>l&&(l=h),A<c&&(c=A),t.z>=0?(m=(i-n.z)*t.z,f=(s-n.z)*t.z):(m=(s-n.z)*t.z,f=(i-n.z)*t.z),l>f||m>c)||(m>l&&(l=m),f<c&&(c=f),c<0))}var on=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,a=t.z,o=e.x,s=e.y,u=e.z;return this.x=i*u-a*s,this.y=a*o-r*u,this.z=r*s-i*o,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}(),k0=function(){function n(t,e,r){this.triangle=t,this.intersectionPoint=e,this.index=r}return n}(),Ko=1e-6,Ue=new on(0,0,0),kr=new on(0,0,0),Fr=new on(0,0,0),Lr=new on(0,0,0),sd=function(n){se(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.createTree=function(e,r,i){r=Math.min(r,16);var a=this.getPositionCount()/3,o=a>65535?new Uint32Array(a):new Uint16Array(a),s=new Float32Array(a*6),u=[],l=0,c=-1;if(i)for(var h=0,A=0,m=0,f=void 0,v=void 0,y=void 0,p=void 0,g=void 0,x=void 0,b=void 0;h<a;h+=1,A+=3,m+=6)o[h]=h,this.getPositionByIndex(A,kr),this.getPositionByIndex(A+1,Fr),this.getPositionByIndex(A+2,Lr),f=p=kr.x,b=Fr.x,b<f&&(f=b),b>p&&(p=b),b=Lr.x,b<f&&(f=b),b>p&&(p=b),v=g=kr.y,b=Fr.y,b<v&&(v=b),b>g&&(g=b),b=Lr.y,b<v&&(v=b),b>g&&(g=b),y=x=kr.z,b=Fr.z,b<y&&(y=b),b>x&&(x=b),b=Lr.z,b<y&&(y=b),b>x&&(x=b),s[m]=f,s[m+1]=v,s[m+2]=y,s[m+3]=p,s[m+4]=g,s[m+5]=x;else{for(var w=1/0,E=1/0,M=1/0,C=-1/0,I=-1/0,S=-1/0,h=0,A=0,m=0,f=void 0,v=void 0,y=void 0,p=void 0,g=void 0,x=void 0,b=void 0;h<a;h+=1,A+=3,m+=6)o[h]=h,this.getPositionByIndex(A,kr),this.getPositionByIndex(A+1,Fr),this.getPositionByIndex(A+2,Lr),f=p=kr.x,b=Fr.x,b<f&&(f=b),b>p&&(p=b),b=Lr.x,b<f&&(f=b),b>p&&(p=b),v=g=kr.y,b=Fr.y,b<v&&(v=b),b>g&&(g=b),b=Lr.y,b<v&&(v=b),b>g&&(g=b),y=x=kr.z,b=Fr.z,b<y&&(y=b),b>x&&(x=b),b=Lr.z,b<y&&(y=b),b>x&&(x=b),s[m]=f,s[m+1]=v,s[m+2]=y,s[m+3]=p,s[m+4]=g,s[m+5]=x,f<w&&(w=f),p>C&&(C=p),v<E&&(E=v),g>I&&(I=g),y<M&&(M=y),x>S&&(S=x);i=[w,E,M,C,I,S]}var P=new En(++c,i,0,a,0);u[l++]=P;var B=[],L=[0,1,2],k=function(z,N){return B[N]-B[z]};function O(z){var N=z.startIndex,X=z.endIndex,G=z.extents;B[0]=G[3]-G[0],B[1]=G[4]-G[1],B[2]=G[5]-G[2],L.sort(k);for(var Q=0;Q<3;Q++){for(var H=L[Q],K=G[H]+G[H+3],j=N,J=X-1,Z=-1,Y=void 0;j<=J;)Z===-1?(Y=o[j],s[Y*6+H]+s[Y*6+H+3]<K?j++:Z=Y):(Y=o[J],s[Y*6+H]+s[Y*6+H+3]>=K||(o[j]=Y,o[J]=Z,Z=-1,j++),J--);if(j>N&&j<X){var fe=new En(++c,jo(o,s,N,j,Ko),N,j,z.deepth+1);fe.deepth<r&&fe.endIndex-fe.startIndex>e&&(u[l++]=fe);var $=new En(++c,jo(o,s,j,X,Ko),j,X,z.deepth+1);$.deepth<r&&$.endIndex-$.startIndex>e&&(u[l++]=$),z.node0=fe,z.node1=$,z.startIndex=0,z.endIndex=0;break}}}for(;l;)O(u[--l]);return this.offsetArray=o,this.rootNodePacked=B0(P,c+1),u.length=0,this},t.prototype.trianglesInSphere=function(e,r){for(var i=this.offsetArray,a=this.rootNodePacked,o=new Float32Array(a),s=new Uint32Array(a),u=new Uint16Array(a),l=[0],c=[],h,A,m,f;(h=l.pop())!==void 0;){f=h*br/4;var v=$i(e.x,o[f],o[f+3])-e.x,y=$i(e.y,o[f+1],o[f+4])-e.y,p=$i(e.z,o[f+2],o[f+5])-e.z;if(v*v+y*y+p*p<=r*r){for(var g=s[f+6];g<s[f+7];g++)c.push(i[g]);f=h*br/2,A=u[f+16],m=u[f+17],A&&l.push(A),m&&l.push(m)}}for(var x=c.length,b=new Float32Array(x*9),g=0;g<x;g++){var w=c[g];this.getPositionByIndex(w,Ue),b[g*9]=Ue.x,b[g*9+1]=Ue.y,b[g*9+2]=Ue.z,this.getPositionByIndex(w+1,Ue),b[g*9+3]=Ue.x,b[g*9+4]=Ue.y,b[g*9+5]=Ue.z,this.getPositionByIndex(w+2,Ue),b[g*9+6]=Ue.x,b[g*9+7]=Ue.y,b[g*9+8]=Ue.z}return b},t.prototype.intersectRay=function(e,r,i,a){for(var o=this.offsetArray,s=this.rootNodePacked,u=new Float32Array(s),l=new Uint32Array(s),c=new Uint16Array(s),h=new on(1/r.x,1/r.y,1/r.z),A=[0],m,f,v,y;(m=A.pop())!==void 0;)if(y=m*br/4,R0(e,h,u[y],u[y+1],u[y+2],u[y+3],u[y+4],u[y+5])){for(var p=l[y+6],g=l[y+7],x=void 0,b=void 0,w=void 0,E=e.x,M=e.y,C=e.z,I=r.x,S=r.y,P=r.z,B=void 0,L=void 0,k=void 0,O=void 0,z=void 0,N=void 0,X=void 0,G=void 0,Q=void 0,H=void 0,K=void 0,j=void 0,J=void 0,Z=void 0,Y=void 0,fe=void 0,$=void 0,ae=void 0,ie=void 0,ce=void 0,ne=void 0,ve=void 0,ue=void 0,he=void 0,Se=void 0,Ce=void 0,Pe=void 0;p<g;p++){if(x=o[p],b=x*3,this.getPositionByIndex(b,Ue),B=Ue.x,L=Ue.y,k=Ue.z,this.getPositionByIndex(b+1,Ue),O=Ue.x,z=Ue.y,N=Ue.z,this.getPositionByIndex(b+2,Ue),X=Ue.x,G=Ue.y,Q=Ue.z,H=O-B,K=z-L,j=N-k,J=X-B,Z=G-L,Y=Q-k,fe=K*Y-j*Z,$=j*J-H*Y,ae=H*Z-K*J,ue=I*fe+S*$+P*ae,ue>0)ve=1;else if(ue<0)ve=-1,ue=-ue;else continue;ie=E-B,ce=M-L,ne=C-k,he=ve*(I*(ce*Y-ne*Z)+S*(ne*J-ie*Y)+P*(ie*Z-ce*J)),!(he<0)&&(Se=ve*(I*(K*ne-j*ce)+S*(j*ie-H*ne)+P*(H*ce-K*ie)),!(Se<0)&&(he+Se>ue||(Ce=-ve*(ie*fe+ce*$+ne*ae),!(Ce<0)&&(Pe=Ce/ue,a.push(new k0([B,L,k,O,z,N,X,G,Q],[E+I*Pe,M+S*Pe,C+P*Pe],x))))))}y=m*br/2,f=c[y+16],v=c[y+17],f&&A.push(f),v&&A.push(v)}return a},t}(P0);function $i(n,t,e){return n<t?t:n>e?e:n}function jo(n,t,e,r,i){if(e>=r)return[0,0,0,0,0,0];for(var a=1/0,o=1/0,s=1/0,u=-1/0,l=-1/0,c=-1/0,h=e,A=void 0,m=void 0;h<r;h++)A=n[h]*6,m=t[A],m<a&&(a=m),m=t[A+1],m<o&&(o=m),m=t[A+2],m<s&&(s=m),m=t[A+3],m>u&&(u=m),m=t[A+4],m>l&&(l=m),m=t[A+5],m>c&&(c=m);return[a-i,o-i,s-i,u+i,l+i,c+i]}var Jo=1e-6,ud=["x","y","z"],st=new on(0,0,0),ld=function(n){se(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.createTree=function(e,r,i){r=Math.min(r,16);var a=this.getPositionByIndex.bind(this),o=this.getPositionCount(),s=o>65535?new Uint32Array(o):new Uint16Array(o),u=[],l=0,c=-1;if(i)for(var h=0;h<o;h+=1)s[h]=h;else{a(0,st);for(var A=st.x,m=st.y,f=st.z,v=A,y=m,p=f,h=0,g=void 0,x=void 0,b=void 0;h<o;h+=1)s[h]=h,a(h,st),g=st.x,x=st.y,b=st.z,g<A?A=g:g>v&&(v=g),x<m?m=x:x>y&&(y=x),b<f?f=b:b>p&&(p=b);i=[A,m,f,v,y,p]}var w=new En(++c,i,0,o,0);u[l++]=w;var E=[],M=[0,1,2],C=function(S,P){return E[P]-E[S]};function I(S){var P=S.startIndex,B=S.endIndex,L=S.extents;E[0]=L[3]-L[0],E[1]=L[4]-L[1],E[2]=L[5]-L[2];for(var k=M.sort(C)[0],O=ud[k],z=(L[k]+L[k+3])/2,N=P,X=B-1,G=-1,Q;N<=X;)G===-1?(Q=s[N],a(Q,st),st[O]<z?N++:G=Q):(Q=s[X],a(Q,st),st[O]>=z||(s[N]=Q,s[X]=G,G=-1,N++),X--);if(N>P){var H=L.slice();H[k+3]=z+Jo;var K=new En(++c,H,P,N,S.deepth+1);K.deepth<r&&K.endIndex-K.startIndex>e&&(u[l++]=K),S.node0=K}if(B>N){var j=L.slice();j[k]=z-Jo;var J=new En(++c,j,N,B,S.deepth+1);J.deepth<r&&J.endIndex-J.startIndex>e&&(u[l++]=J),S.node1=J}S.startIndex=0,S.endIndex=0}for(;l;)I(u[--l]);return this.offsetArray=s,this.rootNodePacked=B0(w,c+1),u.length=0,this},t.prototype.intersectRay=function(e,r,i,a){for(var o=this.offsetArray,s=this.rootNodePacked,u=new Float32Array(s),l=new Uint32Array(s),c=new Uint16Array(s),h=i*i,A=new on(1/r.x,1/r.y,1/r.z),m=[0],f,v,y,p;(f=m.pop())!==void 0;)if(p=f*br/4,R0(e,A,u[p],u[p+1],u[p+2],u[p+3],u[p+4],u[p+5],i)){for(var g=l[p+6],x=l[p+7],b=void 0,w=void 0,E=void 0,M=void 0,C=void 0,I=void 0,S=void 0,P=void 0,B=void 0,L=void 0,k=void 0,O=void 0;g<x;g++)b=o[g],this.getPositionByIndex(b,st),w=st.x,E=st.y,M=st.z,C=e.x,I=e.y,S=e.z,P=r.x,B=r.y,L=r.z,k=P*(w-C)+B*(E-I)+L*(M-S),k>0&&(C+=P*k,I+=B*k,S+=L*k),P=w-C,B=E-I,L=M-S,k=P*P+B*B+L*L,k<=h&&a.push(new k0([w,E,M,w,E,M,w,E,M],[C,I,S],b));p=f*br/2,v=c[p+16],y=c[p+17],v&&m.push(v),y&&m.push(y)}return a},t}(P0);const F0="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBlcj1mdW5jdGlvbihlLHIpe3JldHVybiBlcj1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24odCxvKXt0Ll9fcHJvdG9fXz1vfXx8ZnVuY3Rpb24odCxvKXtmb3IodmFyIGYgaW4gbylPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobyxmKSYmKHRbZl09b1tmXSl9LGVyKGUscil9O2Z1bmN0aW9uIGhyKGUscil7aWYodHlwZW9mIHIhPSJmdW5jdGlvbiImJnIhPT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoIkNsYXNzIGV4dGVuZHMgdmFsdWUgIitTdHJpbmcocikrIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsIik7ZXIoZSxyKTtmdW5jdGlvbiB0KCl7dGhpcy5jb25zdHJ1Y3Rvcj1lfWUucHJvdG90eXBlPXI9PT1udWxsP09iamVjdC5jcmVhdGUocik6KHQucHJvdG90eXBlPXIucHJvdG90eXBlLG5ldyB0KX10eXBlb2YgU3VwcHJlc3NlZEVycm9yPT0iZnVuY3Rpb24iJiZTdXBwcmVzc2VkRXJyb3I7dmFyIGRyPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShyLHQpe3RoaXMucG9zaXRpb249cix0aGlzLmluZGljZXM9dH1yZXR1cm4gZS5wcm90b3R5cGUuZ2V0UG9zaXRpb25Db3VudD1mdW5jdGlvbigpe3ZhciByLHQsbz10aGlzLmluZGljZXMsZj10aGlzLnBvc2l0aW9uO3JldHVybiBvP28uYXJyYXkubGVuZ3RoLygocj1vLnN0cmlkZSkhPT1udWxsJiZyIT09dm9pZCAwP3I6MSk6Zi5hcnJheS5sZW5ndGgvKCh0PWYuc3RyaWRlKSE9PW51bGwmJnQhPT12b2lkIDA/dDozKX0sZS5wcm90b3R5cGUuZ2V0UG9zaXRpb25CeUluZGV4PWZ1bmN0aW9uKHIsdCl7dmFyIG8sZixkLHYsbj10aGlzLmluZGljZXMscz10aGlzLnBvc2l0aW9uLHU9cjtpZihuKXt2YXIgdz1uLmFycmF5LHk9KG89bi5zdHJpZGUpIT09bnVsbCYmbyE9PXZvaWQgMD9vOjEscD0oZj1uLm9mZnNldCkhPT1udWxsJiZmIT09dm9pZCAwP2Y6MDt1PXdbcip5K3BdfXZhciBhPXMuYXJyYXksaD0oZD1zLnN0cmlkZSkhPT1udWxsJiZkIT09dm9pZCAwP2Q6MyxBPSh2PXMub2Zmc2V0KSE9PW51bGwmJnYhPT12b2lkIDA/djowO3JldHVybiB1PXUqaCtBLHQueD1hW3VdLHQueT1hW3UrMV0sdC56PWFbdSsyXSx0fSxlLnByb3RvdHlwZS5jcmVhdGVUcmVlPWZ1bmN0aW9uKHIsdCxvKXt0aHJvdyBuZXcgRXJyb3IoIm5vdCBpbXBsZW1lbnRlZCIpfSxlLnByb3RvdHlwZS50cmlhbmdsZXNJblNwaGVyZT1mdW5jdGlvbihyLHQpe3Rocm93IG5ldyBFcnJvcigibm90IGltcGxlbWVudGVkIil9LGUucHJvdG90eXBlLmludGVyc2VjdFJheT1mdW5jdGlvbihyLHQsbyxmKXt0aHJvdyBuZXcgRXJyb3IoIm5vdCBpbXBsZW1lbnRlZCIpfSxlfSgpLG09ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHIsdCxvLGYsZCl7dGhpcy5pZD1yLHRoaXMuZXh0ZW50cz10LHRoaXMuc3RhcnRJbmRleD1vLHRoaXMuZW5kSW5kZXg9Zix0aGlzLmRlZXB0aD1kfXJldHVybiBlfSgpLFE9Nio0KzQrNCsyKzI7ZnVuY3Rpb24geXIoZSxyKXtmb3IodmFyIHQ9bmV3IEFycmF5QnVmZmVyKHIqUSksbz1uZXcgRmxvYXQzMkFycmF5KHQpLGY9bmV3IFVpbnQzMkFycmF5KHQpLGQ9bmV3IFVpbnQxNkFycmF5KHQpLHY9W2VdLG4scztuPXYucG9wKCk7KXM9bi5pZCpRLzQsb1tzXT1uLmV4dGVudHNbMF0sb1tzKzFdPW4uZXh0ZW50c1sxXSxvW3MrMl09bi5leHRlbnRzWzJdLG9bcyszXT1uLmV4dGVudHNbM10sb1tzKzRdPW4uZXh0ZW50c1s0XSxvW3MrNV09bi5leHRlbnRzWzVdLGZbcys2XT1uLnN0YXJ0SW5kZXgsZltzKzddPW4uZW5kSW5kZXgscz1uLmlkKlEvMixuLm5vZGUwJiYoZFtzKzE2XT1uLm5vZGUwLmlkLHYucHVzaChuLm5vZGUwKSksbi5ub2RlMSYmKGRbcysxN109bi5ub2RlMS5pZCx2LnB1c2gobi5ub2RlMSkpO3JldHVybiB0fWZ1bmN0aW9uIGNyKGUscix0LG8sZixkLHYsbixzKXtzPT09dm9pZCAwJiYocz0wKSx0PXQtcyxvPW8tcyxmPWYtcyxkPWQrcyx2PXYrcyxuPW4rczt2YXIgdT0wLHc9MCx5PTAscD0wLGE9MCxoPTA7cmV0dXJuIHIueD49MD8odT0odC1lLngpKnIueCx3PShkLWUueCkqci54KToodT0oZC1lLngpKnIueCx3PSh0LWUueCkqci54KSxyLnk+PTA/KHk9KG8tZS55KSpyLnkscD0odi1lLnkpKnIueSk6KHk9KHYtZS55KSpyLnkscD0oby1lLnkpKnIueSksISh1PnB8fHk+d3x8KHk+dSYmKHU9eSkscDx3JiYodz1wKSxyLno+PTA/KGE9KGYtZS56KSpyLnosaD0obi1lLnopKnIueik6KGE9KG4tZS56KSpyLnosaD0oZi1lLnopKnIueiksdT5ofHxhPncpfHwoYT51JiYodT1hKSxoPHcmJih3PWgpLHc8MCkpfXZhciBZPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShyLHQsbyl7dGhpcy54PXIsdGhpcy55PXQsdGhpcy56PW99cmV0dXJuIGUucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24ocil7cmV0dXJuIHRoaXMueD1yLngsdGhpcy55PXIueSx0aGlzLno9ci56LHRoaXN9LGUucHJvdG90eXBlLnNldD1mdW5jdGlvbihyLHQsbyl7cmV0dXJuIHRoaXMueD1yLHRoaXMueT10LHRoaXMuej1vLHRoaXN9LGUucHJvdG90eXBlLmZyb21BcnJheT1mdW5jdGlvbihyLHQpe3JldHVybiB0PT09dm9pZCAwJiYodD0wKSx0aGlzLng9clt0XSx0aGlzLnk9clt0KzFdLHRoaXMuej1yW3QrMl0sdGhpc30sZS5wcm90b3R5cGUudG9BcnJheT1mdW5jdGlvbihyLHQpe3JldHVybiByPT09dm9pZCAwJiYocj1bXSksdD09PXZvaWQgMCYmKHQ9MCksclt0XT10aGlzLngsclt0KzFdPXRoaXMueSxyW3QrMl09dGhpcy56LHJ9LGUucHJvdG90eXBlLmFkZD1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy54Kz1yLngsdGhpcy55Kz1yLnksdGhpcy56Kz1yLnosdGhpc30sZS5wcm90b3R5cGUubXVsdGlwbHlTY2FsYXI9ZnVuY3Rpb24ocil7cmV0dXJuIHRoaXMueCo9cix0aGlzLnkqPXIsdGhpcy56Kj1yLHRoaXN9LGUucHJvdG90eXBlLnN1YlZlY3RvcnM9ZnVuY3Rpb24ocix0KXtyZXR1cm4gdGhpcy54PXIueC10LngsdGhpcy55PXIueS10LnksdGhpcy56PXIuei10LnosdGhpc30sZS5wcm90b3R5cGUuYWRkU2NhbGVkVmVjdG9yPWZ1bmN0aW9uKHIsdCl7cmV0dXJuIHRoaXMueCs9ci54KnQsdGhpcy55Kz1yLnkqdCx0aGlzLnorPXIueip0LHRoaXN9LGUucHJvdG90eXBlLmRvdD1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy54KnIueCt0aGlzLnkqci55K3RoaXMueipyLnp9LGUucHJvdG90eXBlLmNyb3NzPWZ1bmN0aW9uKHIpe3ZhciB0PXRoaXMueCxvPXRoaXMueSxmPXRoaXMuejtyZXR1cm4gdGhpcy54PW8qci56LWYqci55LHRoaXMueT1mKnIueC10KnIueix0aGlzLno9dCpyLnktbypyLngsdGhpc30sZS5wcm90b3R5cGUuY3Jvc3NWZWN0b3JzPWZ1bmN0aW9uKHIsdCl7dmFyIG89ci54LGY9ci55LGQ9ci56LHY9dC54LG49dC55LHM9dC56O3JldHVybiB0aGlzLng9ZipzLWQqbix0aGlzLnk9ZCp2LW8qcyx0aGlzLno9bypuLWYqdix0aGlzfSxlLnByb3RvdHlwZS5kaXN0YW5jZVRvPWZ1bmN0aW9uKHIpe3JldHVybiBNYXRoLnNxcnQodGhpcy5kaXN0YW5jZVRvU3F1YXJlZChyKSl9LGUucHJvdG90eXBlLmRpc3RhbmNlVG9TcXVhcmVkPWZ1bmN0aW9uKHIpe3ZhciB0PXRoaXMueC1yLngsbz10aGlzLnktci55LGY9dGhpcy56LXIuejtyZXR1cm4gdCp0K28qbytmKmZ9LGUucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBlKHRoaXMueCx0aGlzLnksdGhpcy56KX0sZX0oKSxwcj1mdW5jdGlvbigpe2Z1bmN0aW9uIGUocix0LG8pe3RoaXMudHJpYW5nbGU9cix0aGlzLmludGVyc2VjdGlvblBvaW50PXQsdGhpcy5pbmRleD1vfXJldHVybiBlfSgpLGxyPTFlLTYsUz1uZXcgWSgwLDAsMCksRD1uZXcgWSgwLDAsMCksZz1uZXcgWSgwLDAsMCksWD1uZXcgWSgwLDAsMCksQXI9ZnVuY3Rpb24oZSl7aHIocixlKTtmdW5jdGlvbiByKCl7cmV0dXJuIGUhPT1udWxsJiZlLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpc31yZXR1cm4gci5wcm90b3R5cGUuY3JlYXRlVHJlZT1mdW5jdGlvbih0LG8sZil7bz1NYXRoLm1pbihvLDE2KTt2YXIgZD10aGlzLmdldFBvc2l0aW9uQ291bnQoKS8zLHY9ZD42NTUzNT9uZXcgVWludDMyQXJyYXkoZCk6bmV3IFVpbnQxNkFycmF5KGQpLG49bmV3IEZsb2F0MzJBcnJheShkKjYpLHM9W10sdT0wLHc9LTE7aWYoZilmb3IodmFyIHk9MCxwPTAsYT0wLGg9dm9pZCAwLEE9dm9pZCAwLGw9dm9pZCAwLEk9dm9pZCAwLGM9dm9pZCAwLHo9dm9pZCAwLGk9dm9pZCAwO3k8ZDt5Kz0xLHArPTMsYSs9Nil2W3ldPXksdGhpcy5nZXRQb3NpdGlvbkJ5SW5kZXgocCxEKSx0aGlzLmdldFBvc2l0aW9uQnlJbmRleChwKzEsZyksdGhpcy5nZXRQb3NpdGlvbkJ5SW5kZXgocCsyLFgpLGg9ST1ELngsaT1nLngsaTxoJiYoaD1pKSxpPkkmJihJPWkpLGk9WC54LGk8aCYmKGg9aSksaT5JJiYoST1pKSxBPWM9RC55LGk9Zy55LGk8QSYmKEE9aSksaT5jJiYoYz1pKSxpPVgueSxpPEEmJihBPWkpLGk+YyYmKGM9aSksbD16PUQueixpPWcueixpPGwmJihsPWkpLGk+eiYmKHo9aSksaT1YLnosaTxsJiYobD1pKSxpPnomJih6PWkpLG5bYV09aCxuW2ErMV09QSxuW2ErMl09bCxuW2ErM109SSxuW2ErNF09YyxuW2ErNV09ejtlbHNle2Zvcih2YXIgaz0xLzAsSD0xLzAsaj0xLzAscT0tMS8wLE09LTEvMCxQPS0xLzAseT0wLHA9MCxhPTAsaD12b2lkIDAsQT12b2lkIDAsbD12b2lkIDAsST12b2lkIDAsYz12b2lkIDAsej12b2lkIDAsaT12b2lkIDA7eTxkO3krPTEscCs9MyxhKz02KXZbeV09eSx0aGlzLmdldFBvc2l0aW9uQnlJbmRleChwLEQpLHRoaXMuZ2V0UG9zaXRpb25CeUluZGV4KHArMSxnKSx0aGlzLmdldFBvc2l0aW9uQnlJbmRleChwKzIsWCksaD1JPUQueCxpPWcueCxpPGgmJihoPWkpLGk+SSYmKEk9aSksaT1YLngsaTxoJiYoaD1pKSxpPkkmJihJPWkpLEE9Yz1ELnksaT1nLnksaTxBJiYoQT1pKSxpPmMmJihjPWkpLGk9WC55LGk8QSYmKEE9aSksaT5jJiYoYz1pKSxsPXo9RC56LGk9Zy56LGk8bCYmKGw9aSksaT56JiYoej1pKSxpPVgueixpPGwmJihsPWkpLGk+eiYmKHo9aSksblthXT1oLG5bYSsxXT1BLG5bYSsyXT1sLG5bYSszXT1JLG5bYSs0XT1jLG5bYSs1XT16LGg8ayYmKGs9aCksST5xJiYocT1JKSxBPEgmJihIPUEpLGM+TSYmKE09YyksbDxqJiYoaj1sKSx6PlAmJihQPXopO2Y9W2ssSCxqLHEsTSxQXX12YXIgVD1uZXcgbSgrK3csZiwwLGQsMCk7c1t1KytdPVQ7dmFyIE49W10sQj1bMCwxLDJdLFY9ZnVuY3Rpb24oVSxfKXtyZXR1cm4gTltfXS1OW1VdfTtmdW5jdGlvbiBSKFUpe3ZhciBfPVUuc3RhcnRJbmRleCwkPVUuZW5kSW5kZXgsRj1VLmV4dGVudHM7TlswXT1GWzNdLUZbMF0sTlsxXT1GWzRdLUZbMV0sTlsyXT1GWzVdLUZbMl0sQi5zb3J0KFYpO2Zvcih2YXIgVz0wO1c8MztXKyspe2Zvcih2YXIgTD1CW1ddLEc9RltMXStGW0wrM10seD1fLEM9JC0xLEs9LTEsSj12b2lkIDA7eDw9QzspSz09PS0xPyhKPXZbeF0sbltKKjYrTF0rbltKKjYrTCszXTxHP3grKzpLPUopOihKPXZbQ10sbltKKjYrTF0rbltKKjYrTCszXT49R3x8KHZbeF09Six2W0NdPUssSz0tMSx4KyspLEMtLSk7aWYoeD5fJiZ4PCQpe3ZhciBiPW5ldyBtKCsrdyxJcih2LG4sXyx4LGxyKSxfLHgsVS5kZWVwdGgrMSk7Yi5kZWVwdGg8byYmYi5lbmRJbmRleC1iLnN0YXJ0SW5kZXg+dCYmKHNbdSsrXT1iKTt2YXIgTz1uZXcgbSgrK3csSXIodixuLHgsJCxscikseCwkLFUuZGVlcHRoKzEpO08uZGVlcHRoPG8mJk8uZW5kSW5kZXgtTy5zdGFydEluZGV4PnQmJihzW3UrK109TyksVS5ub2RlMD1iLFUubm9kZTE9TyxVLnN0YXJ0SW5kZXg9MCxVLmVuZEluZGV4PTA7YnJlYWt9fX1mb3IoO3U7KVIoc1stLXVdKTtyZXR1cm4gdGhpcy5vZmZzZXRBcnJheT12LHRoaXMucm9vdE5vZGVQYWNrZWQ9eXIoVCx3KzEpLHMubGVuZ3RoPTAsdGhpc30sci5wcm90b3R5cGUudHJpYW5nbGVzSW5TcGhlcmU9ZnVuY3Rpb24odCxvKXtmb3IodmFyIGY9dGhpcy5vZmZzZXRBcnJheSxkPXRoaXMucm9vdE5vZGVQYWNrZWQsdj1uZXcgRmxvYXQzMkFycmF5KGQpLG49bmV3IFVpbnQzMkFycmF5KGQpLHM9bmV3IFVpbnQxNkFycmF5KGQpLHU9WzBdLHc9W10seSxwLGEsaDsoeT11LnBvcCgpKSE9PXZvaWQgMDspe2g9eSpRLzQ7dmFyIEE9c3IodC54LHZbaF0sdltoKzNdKS10LngsbD1zcih0LnksdltoKzFdLHZbaCs0XSktdC55LEk9c3IodC56LHZbaCsyXSx2W2grNV0pLXQuejtpZihBKkErbCpsK0kqSTw9bypvKXtmb3IodmFyIGM9bltoKzZdO2M8bltoKzddO2MrKyl3LnB1c2goZltjXSk7aD15KlEvMixwPXNbaCsxNl0sYT1zW2grMTddLHAmJnUucHVzaChwKSxhJiZ1LnB1c2goYSl9fWZvcih2YXIgej13Lmxlbmd0aCxpPW5ldyBGbG9hdDMyQXJyYXkoeio5KSxjPTA7Yzx6O2MrKyl7dmFyIGs9d1tjXTt0aGlzLmdldFBvc2l0aW9uQnlJbmRleChrLFMpLGlbYyo5XT1TLngsaVtjKjkrMV09Uy55LGlbYyo5KzJdPVMueix0aGlzLmdldFBvc2l0aW9uQnlJbmRleChrKzEsUyksaVtjKjkrM109Uy54LGlbYyo5KzRdPVMueSxpW2MqOSs1XT1TLnosdGhpcy5nZXRQb3NpdGlvbkJ5SW5kZXgoaysyLFMpLGlbYyo5KzZdPVMueCxpW2MqOSs3XT1TLnksaVtjKjkrOF09Uy56fXJldHVybiBpfSxyLnByb3RvdHlwZS5pbnRlcnNlY3RSYXk9ZnVuY3Rpb24odCxvLGYsZCl7Zm9yKHZhciB2PXRoaXMub2Zmc2V0QXJyYXksbj10aGlzLnJvb3ROb2RlUGFja2VkLHM9bmV3IEZsb2F0MzJBcnJheShuKSx1PW5ldyBVaW50MzJBcnJheShuKSx3PW5ldyBVaW50MTZBcnJheShuKSx5PW5ldyBZKDEvby54LDEvby55LDEvby56KSxwPVswXSxhLGgsQSxsOyhhPXAucG9wKCkpIT09dm9pZCAwOylpZihsPWEqUS80LGNyKHQseSxzW2xdLHNbbCsxXSxzW2wrMl0sc1tsKzNdLHNbbCs0XSxzW2wrNV0pKXtmb3IodmFyIEk9dVtsKzZdLGM9dVtsKzddLHo9dm9pZCAwLGk9dm9pZCAwLGs9dm9pZCAwLEg9dC54LGo9dC55LHE9dC56LE09by54LFA9by55LFQ9by56LE49dm9pZCAwLEI9dm9pZCAwLFY9dm9pZCAwLFI9dm9pZCAwLFU9dm9pZCAwLF89dm9pZCAwLCQ9dm9pZCAwLEY9dm9pZCAwLFc9dm9pZCAwLEw9dm9pZCAwLEc9dm9pZCAwLHg9dm9pZCAwLEM9dm9pZCAwLEs9dm9pZCAwLEo9dm9pZCAwLGI9dm9pZCAwLE89dm9pZCAwLGFyPXZvaWQgMCxycj12b2lkIDAsdHI9dm9pZCAwLG9yPXZvaWQgMCxpcj12b2lkIDAsWj12b2lkIDAsdnI9dm9pZCAwLGZyPXZvaWQgMCx1cj12b2lkIDAsbnI9dm9pZCAwO0k8YztJKyspe2lmKHo9dltJXSxpPXoqMyx0aGlzLmdldFBvc2l0aW9uQnlJbmRleChpLFMpLE49Uy54LEI9Uy55LFY9Uy56LHRoaXMuZ2V0UG9zaXRpb25CeUluZGV4KGkrMSxTKSxSPVMueCxVPVMueSxfPVMueix0aGlzLmdldFBvc2l0aW9uQnlJbmRleChpKzIsUyksJD1TLngsRj1TLnksVz1TLnosTD1SLU4sRz1VLUIseD1fLVYsQz0kLU4sSz1GLUIsSj1XLVYsYj1HKkoteCpLLE89eCpDLUwqSixhcj1MKkstRypDLFo9TSpiK1AqTytUKmFyLFo+MClpcj0xO2Vsc2UgaWYoWjwwKWlyPS0xLFo9LVo7ZWxzZSBjb250aW51ZTtycj1ILU4sdHI9ai1CLG9yPXEtVix2cj1pciooTSoodHIqSi1vcipLKStQKihvcipDLXJyKkopK1QqKHJyKkstdHIqQykpLCEodnI8MCkmJihmcj1pciooTSooRypvci14KnRyKStQKih4KnJyLUwqb3IpK1QqKEwqdHItRypycikpLCEoZnI8MCkmJih2citmcj5afHwodXI9LWlyKihycipiK3RyKk8rb3IqYXIpLCEodXI8MCkmJihucj11ci9aLGQucHVzaChuZXcgcHIoW04sQixWLFIsVSxfLCQsRixXXSxbSCtNKm5yLGorUCpucixxK1QqbnJdLHopKSkpKSl9bD1hKlEvMixoPXdbbCsxNl0sQT13W2wrMTddLGgmJnAucHVzaChoKSxBJiZwLnB1c2goQSl9cmV0dXJuIGR9LHJ9KGRyKTtmdW5jdGlvbiBzcihlLHIsdCl7cmV0dXJuIGU8cj9yOmU+dD90OmV9ZnVuY3Rpb24gSXIoZSxyLHQsbyxmKXtpZih0Pj1vKXJldHVyblswLDAsMCwwLDAsMF07Zm9yKHZhciBkPTEvMCx2PTEvMCxuPTEvMCxzPS0xLzAsdT0tMS8wLHc9LTEvMCx5PXQscD12b2lkIDAsYT12b2lkIDA7eTxvO3krKylwPWVbeV0qNixhPXJbcF0sYTxkJiYoZD1hKSxhPXJbcCsxXSxhPHYmJih2PWEpLGE9cltwKzJdLGE8biYmKG49YSksYT1yW3ArM10sYT5zJiYocz1hKSxhPXJbcCs0XSxhPnUmJih1PWEpLGE9cltwKzVdLGE+dyYmKHc9YSk7cmV0dXJuW2QtZix2LWYsbi1mLHMrZix1K2YsdytmXX12YXIgd3I9MWUtNix6cj1bIngiLCJ5IiwieiJdLEU9bmV3IFkoMCwwLDApLFByPWZ1bmN0aW9uKGUpe2hyKHIsZSk7ZnVuY3Rpb24gcigpe3JldHVybiBlIT09bnVsbCYmZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXN9cmV0dXJuIHIucHJvdG90eXBlLmNyZWF0ZVRyZWU9ZnVuY3Rpb24odCxvLGYpe289TWF0aC5taW4obywxNik7dmFyIGQ9dGhpcy5nZXRQb3NpdGlvbkJ5SW5kZXguYmluZCh0aGlzKSx2PXRoaXMuZ2V0UG9zaXRpb25Db3VudCgpLG49dj42NTUzNT9uZXcgVWludDMyQXJyYXkodik6bmV3IFVpbnQxNkFycmF5KHYpLHM9W10sdT0wLHc9LTE7aWYoZilmb3IodmFyIHk9MDt5PHY7eSs9MSluW3ldPXk7ZWxzZXtkKDAsRSk7Zm9yKHZhciBwPUUueCxhPUUueSxoPUUueixBPXAsbD1hLEk9aCx5PTAsYz12b2lkIDAsej12b2lkIDAsaT12b2lkIDA7eTx2O3krPTEpblt5XT15LGQoeSxFKSxjPUUueCx6PUUueSxpPUUueixjPHA/cD1jOmM+QSYmKEE9YyksejxhP2E9ejp6PmwmJihsPXopLGk8aD9oPWk6aT5JJiYoST1pKTtmPVtwLGEsaCxBLGwsSV19dmFyIGs9bmV3IG0oKyt3LGYsMCx2LDApO3NbdSsrXT1rO3ZhciBIPVtdLGo9WzAsMSwyXSxxPWZ1bmN0aW9uKFAsVCl7cmV0dXJuIEhbVF0tSFtQXX07ZnVuY3Rpb24gTShQKXt2YXIgVD1QLnN0YXJ0SW5kZXgsTj1QLmVuZEluZGV4LEI9UC5leHRlbnRzO0hbMF09QlszXS1CWzBdLEhbMV09Qls0XS1CWzFdLEhbMl09Qls1XS1CWzJdO2Zvcih2YXIgVj1qLnNvcnQocSlbMF0sUj16cltWXSxVPShCW1ZdK0JbViszXSkvMixfPVQsJD1OLTEsRj0tMSxXO188PSQ7KUY9PT0tMT8oVz1uW19dLGQoVyxFKSxFW1JdPFU/XysrOkY9Vyk6KFc9blskXSxkKFcsRSksRVtSXT49VXx8KG5bX109VyxuWyRdPUYsRj0tMSxfKyspLCQtLSk7aWYoXz5UKXt2YXIgTD1CLnNsaWNlKCk7TFtWKzNdPVUrd3I7dmFyIEc9bmV3IG0oKyt3LEwsVCxfLFAuZGVlcHRoKzEpO0cuZGVlcHRoPG8mJkcuZW5kSW5kZXgtRy5zdGFydEluZGV4PnQmJihzW3UrK109RyksUC5ub2RlMD1HfWlmKE4+Xyl7dmFyIHg9Qi5zbGljZSgpO3hbVl09VS13cjt2YXIgQz1uZXcgbSgrK3cseCxfLE4sUC5kZWVwdGgrMSk7Qy5kZWVwdGg8byYmQy5lbmRJbmRleC1DLnN0YXJ0SW5kZXg+dCYmKHNbdSsrXT1DKSxQLm5vZGUxPUN9UC5zdGFydEluZGV4PTAsUC5lbmRJbmRleD0wfWZvcig7dTspTShzWy0tdV0pO3JldHVybiB0aGlzLm9mZnNldEFycmF5PW4sdGhpcy5yb290Tm9kZVBhY2tlZD15cihrLHcrMSkscy5sZW5ndGg9MCx0aGlzfSxyLnByb3RvdHlwZS5pbnRlcnNlY3RSYXk9ZnVuY3Rpb24odCxvLGYsZCl7Zm9yKHZhciB2PXRoaXMub2Zmc2V0QXJyYXksbj10aGlzLnJvb3ROb2RlUGFja2VkLHM9bmV3IEZsb2F0MzJBcnJheShuKSx1PW5ldyBVaW50MzJBcnJheShuKSx3PW5ldyBVaW50MTZBcnJheShuKSx5PWYqZixwPW5ldyBZKDEvby54LDEvby55LDEvby56KSxhPVswXSxoLEEsbCxJOyhoPWEucG9wKCkpIT09dm9pZCAwOylpZihJPWgqUS80LGNyKHQscCxzW0ldLHNbSSsxXSxzW0krMl0sc1tJKzNdLHNbSSs0XSxzW0krNV0sZikpe2Zvcih2YXIgYz11W0krNl0sej11W0krN10saT12b2lkIDAsaz12b2lkIDAsSD12b2lkIDAsaj12b2lkIDAscT12b2lkIDAsTT12b2lkIDAsUD12b2lkIDAsVD12b2lkIDAsTj12b2lkIDAsQj12b2lkIDAsVj12b2lkIDAsUj12b2lkIDA7Yzx6O2MrKylpPXZbY10sdGhpcy5nZXRQb3NpdGlvbkJ5SW5kZXgoaSxFKSxrPUUueCxIPUUueSxqPUUueixxPXQueCxNPXQueSxQPXQueixUPW8ueCxOPW8ueSxCPW8ueixWPVQqKGstcSkrTiooSC1NKStCKihqLVApLFY+MCYmKHErPVQqVixNKz1OKlYsUCs9QipWKSxUPWstcSxOPUgtTSxCPWotUCxWPVQqVCtOKk4rQipCLFY8PXkmJmQucHVzaChuZXcgcHIoW2ssSCxqLGssSCxqLGssSCxqXSxbcSxNLFBdLGkpKTtJPWgqUS8yLEE9d1tJKzE2XSxsPXdbSSsxN10sQSYmYS5wdXNoKEEpLGwmJmEucHVzaChsKX1yZXR1cm4gZH0scn0oZHIpO2Z1bmN0aW9uIEJyKGUpe29ubWVzc2FnZT1mdW5jdGlvbihyKXtQcm9taXNlLnJlc29sdmUoci5kYXRhKS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiBlKHQpfSkudGhlbihmdW5jdGlvbih0KXt2YXIgbz10Lm91dHB1dCxmPXQudHJhbnNmZXI7cmV0dXJuIHBvc3RNZXNzYWdlKG8sZil9KS5jYXRjaChmdW5jdGlvbih0KXtyZXR1cm4gcG9zdE1lc3NhZ2UoeyQkZXJyb3I6dH0pfSl9fUJyKGZ1bmN0aW9uKGUpe3JldHVybiBQcm9taXNlLnJlc29sdmUoZSkudGhlbihmdW5jdGlvbihyKXtmb3IodmFyIHQ9W10sbz1uZXcgU2V0LGY9MCxkPXI7ZjxkLmxlbmd0aDtmKyspe3ZhciB2PWRbZl0sbj12b2lkIDA7aWYodi50eXBlPT09Im1lc2giKW49bmV3IEFyKHYuYXR0cmlidXRlcy5wb3NpdGlvbix2LmluZGljZXMpO2Vsc2UgaWYodi50eXBlPT09InBvaW50cyIpbj1uZXcgUHIodi5hdHRyaWJ1dGVzLnBvc2l0aW9uLHYuaW5kaWNlcyk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgVHlwZSIpO24uY3JlYXRlVHJlZSh2Lm1heEl0ZW1QZXJOb2RlLHYubWF4VHJlZURlcHRoLHYuZXh0ZW50cyk7dmFyIHM9e3R5cGU6di50eXBlLGF0dHJpYnV0ZXM6di5hdHRyaWJ1dGVzLGluZGljZXM6di5pbmRpY2VzLG9mZnNldEFycmF5Om4ub2Zmc2V0QXJyYXkscm9vdE5vZGVQYWNrZWQ6bi5yb290Tm9kZVBhY2tlZH07dC5wdXNoKHMpO3ZhciB1PXZvaWQgMDtmb3IodmFyIHcgaW4gcy5hdHRyaWJ1dGVzKXt2YXIgeT1zLmF0dHJpYnV0ZXNbd107eSYmeS5idWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciYmby5hZGQoeS5idWZmZXIpfXU9cy5pbmRpY2VzLHUmJnUuYnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXImJm8uYWRkKHUuYnVmZmVyKSx1PXMub2Zmc2V0QXJyYXksdSYmdS5idWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciYmby5hZGQodS5idWZmZXIpLG8uYWRkKHMucm9vdE5vZGVQYWNrZWQpfXJldHVybntvdXRwdXQ6dCx0cmFuc2ZlcjpBcnJheS5mcm9tKG8pfX0pfSl9KSgpOwo=",cd=n=>Uint8Array.from(atob(n),t=>t.charCodeAt(0)),Xo=typeof self!="undefined"&&self.Blob&&new Blob([cd(F0)],{type:"text/javascript;charset=utf-8"});function dd(n){let t;try{if(t=Xo&&(self.URL||self.webkitURL).createObjectURL(Xo),!t)throw"";const e=new Worker(t,{name:n==null?void 0:n.name});return e.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(t)}),e}catch(e){return new Worker("data:text/javascript;base64,"+F0,{name:n==null?void 0:n.name})}finally{t&&(self.URL||self.webkitURL).revokeObjectURL(t)}}var L0=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,a=r.reject;if(e.data&&"$$error"in e.data?a(e.data.$$error):i(e.data),this.queue.length){var o=this.queue.shift(),s=o.resolve,u=o.reject,l=o.input,c=o.transfer;this.workersResolver[t]={resolve:s,reject:u},this.workers[t].postMessage(l,c)}else this.workerStatus^=1<<t},n.prototype.postMessage=function(t,e){var r=this;return e===void 0&&(e=[]),new Promise(function(i,a){var o=r.getIdleWorker();o!==-1?(r.initWorker(o),r.workerStatus|=1<<o,r.workersResolver[o]={resolve:i,reject:a},r.workers[o].postMessage(t,e)):r.queue.push({resolve:i,reject:a,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}(),fd=new L0(function(){return new dd},4),hi=new Map,ea=new Map,Cn=new d.Ray,Wo=new d.Matrix3,qn=new d.Matrix4,O0=new d.Vector3,hd=new d.Vector3,pd=new d.Vector3,vd=new d.Triangle;function Ad(n,t,e,r){var i,a=n.matrixWorld;qn.getInverse(a),Cn.copy(e.ray).applyMatrix4(qn);for(var o=t.intersectRay(Cn.origin,Cn.direction,0,[]),s=n.geometry,u=n.material,l=s.groups,c=s.index,h=0,A=o.length;h<A;h++){var m=o[h],f=m.triangle,v=m.index,y=m.intersectionPoint,p=new d.Vector3(y[0],y[1],y[2]).applyMatrix4(a),g=e.ray.origin.distanceTo(p);if(!(g<e.near||g>e.far)){var x=void 0;if(Array.isArray(u)){if(l)for(var b=v*3,w=0,E=l;w<E.length;w++){var M=E[w];if(b>=M.start&&b-M.start<M.count){x=u[(i=M.materialIndex)!==null&&i!==void 0?i:0];break}}}else x=u;if(x){var C=vd.set(O0.set(f[0],f[1],f[2]).applyMatrix4(a),hd.set(f[3],f[4],f[5]).applyMatrix4(a),pd.set(f[6],f[7],f[8]).applyMatrix4(a)).getNormal(new d.Vector3),I=v*3,S=new d.Face3(c?c.array[I]:I,c?c.array[I+1]:I+1,c?c.array[I+2]:I+2,C),P=e.ray.direction.dot(C);x.side===d.FrontSide&&P>=0||x.side===d.BackSide&&P<=0||r.push({distance:g,object:n,face:S,point:p,distanceToRay:0,faceIndex:v})}}}}function md(n,t,e,r){var i,a,o=n.matrixWorld;Wo.getNormalMatrix(o),qn.getInverse(o);var s=((a=(i=e.params.Points)===null||i===void 0?void 0:i.threshold)!==null&&a!==void 0?a:1)*qn.getMaxScaleOnAxis();Cn.copy(e.ray).applyMatrix4(qn);for(var u=t.intersectRay(Cn.origin,Cn.direction,s,[]),l=n.geometry,c=l.index,h=l.getAttribute("normal"),A=0,m=u.length;A<m;A++){var f=u[A],v=f.triangle,y=f.index,p=f.intersectionPoint,g=new d.Vector3(p[0],p[1],p[2]).applyMatrix4(o),x=e.ray.origin.distanceTo(g);if(!(x<e.near||x>e.far)){var b=O0.set(v[0],v[1],v[2]).applyMatrix4(o),w=c?c.array[y]:y,E=void 0;h instanceof d.BufferAttribute&&(E=new d.Vector3().fromBufferAttribute(h,w).applyNormalMatrix(Wo));var M=new d.Face3(w,w,w,E);r.push({distance:x,object:n,face:M,point:g,distanceToRay:g.distanceTo(b),index:y})}}}function gd(n,t){var e=n.raycast,r=function(i,a){var o=hi.get(this);o?Ad(this,o,i,a):e.call(this,i,a)};return n.raycast=r,hi.set(n,t),function(){hi.delete(n),n.raycast===r&&(n.raycast=e)}}function yd(n,t){var e=n.raycast,r=function(i,a){var o=ea.get(this);o?md(this,o,i,a):e.call(this,i,a)};return n.raycast=r,ea.set(n,t),function(){ea.delete(n),n.raycast===r&&(n.raycast=e)}}function bd(n,t,e,r){var i=[];return n.traverse(function(a){(a instanceof d.Mesh||a instanceof d.Points)&&a.geometry instanceof d.BufferGeometry&&i.push(a)}),Promise.resolve().then(function(){for(var a=[],o=new Set,s=null,u=0;u<i.length;u++){var l=i[u],c=l.geometry;if(c instanceof d.BufferGeometry){var h=void 0;if(l instanceof d.Mesh?h="mesh":l instanceof d.Points&&(h="points"),!!h){var A=c.boundingBox,m=A?[A.min.x,A.min.y,A.min.z,A.max.x,A.max.y,A.max.z]:void 0,f={};for(var v in c.attributes){var y=c.attributes[v];y instanceof d.InterleavedBufferAttribute?(f[v]={array:y.data.array,stride:y.data.stride,offset:y.offset},s=y.data.array,s&&s.buffer instanceof ArrayBuffer&&o.add(s.buffer)):(f[v]={array:y.array},s=y.array,s&&s.buffer instanceof ArrayBuffer&&o.add(s.buffer))}var p=void 0,g=c.getIndex();g&&(g instanceof d.InterleavedBufferAttribute?(p={array:g.data.array,stride:g.data.stride,offset:g.offset},s=g.data.array,s&&s.buffer instanceof ArrayBuffer&&o.add(s.buffer)):(p={array:g.array},s=g.array,s&&s.buffer instanceof ArrayBuffer&&o.add(s.buffer)));var x={type:h,attributes:f,indices:p,maxItemPerNode:e,maxTreeDepth:r,extents:m};a.push(x)}}}return fd.postMessage(a,Array.from(o))}).then(function(a){for(var o=[],s=0;s<i.length;s++){var u=i[s],l=u.geometry,c=a[s];if(l instanceof d.BufferGeometry){for(var h in c.attributes){var A=c.attributes[h].array,m=l.attributes[h];m instanceof d.InterleavedBufferAttribute?m.data.array=A:m.array=A}var f=l.getIndex();if(f&&c.indices){var A=c.indices.array;f instanceof d.InterleavedBufferAttribute?f.data.array=A:f.array=A}if(u instanceof d.Mesh){var v=new sd(c.attributes.position,c.indices);v.offsetArray=c.offsetArray,v.rootNodePacked=c.rootNodePacked;var y=gd(u,v);o.push(y)}else if(u instanceof d.Points){var v=new ld(c.attributes.position,c.indices);v.offsetArray=c.offsetArray,v.rootNodePacked=c.rootNodePacked;var y=yd(u,v);o.push(y)}}}return function(){for(var p=0,g=o;p<g.length;p++){var x=g[p];x()}o.length=0}})}var xd=new d.Vector3,wd=new d.Vector3,Ed=new d.Vector3,V0=function(n){se(t,n);function t(e,r){var i=n.call(this)||this;return i.obj=e,i.objDisposer=r,i.disposers=[r],i.add(e),i}return t.prototype.generateBvhTree=function(){var e=this;return bd(this,!0,200,10).then(function(r){e.disposers.push(r)})},t.prototype.intersectRaycaster=function(e,r,i){var a=this;r===void 0&&(r=!0),i===void 0&&(i=[]);for(var o=this.children.slice(),s,u=[];s=o.pop();)if(s.visible){s.raycast(e,u);for(var l=0,c=s.children.length;l<c;l++)o.push(s.children[l])}return u.forEach(function(h){var A,m,f=0;if((h.object instanceof Dt||h.object instanceof wr)&&h.face){var v=Array.isArray(h.object.material)?h.object.material[h.face.materialIndex]:h.object.material;if(v)if(v.defines.USE_VERTEX_FLOOR){var y=(A=h.object.geometry.attributes.position)===null||A===void 0?void 0:A.array,p=(m=h.object.geometry.attributes.floor)===null||m===void 0?void 0:m.array;if(y&&p){var g=xd.set(y[h.face.a*3],y[h.face.a*3+1],y[h.face.a*3+2]).applyMatrix4(a.matrixWorld),x=wd.set(y[h.face.b*3],y[h.face.b*3+1],y[h.face.b*3+2]).applyMatrix4(a.matrixWorld),b=Ed.set(y[h.face.c*3],y[h.face.c*3+1],y[h.face.c*3+2]).applyMatrix4(a.matrixWorld),w=h.point.distanceTo(g),E=h.point.distanceTo(x),M=h.point.distanceTo(b);f=Math.round((w*p[h.face.a]+E*p[h.face.b]+M*p[h.face.c])/(w+E+M))}}else f=v.floor}h.floor=f}),r&&u.sort(function(h,A){return h.distance-A.distance}),i.push.apply(i,u),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.prototype.clone=function(){return new t(this.obj,this.objDisposer)},t}(d.Group);function xt(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e=[];n=n.map(function(s){return(s!=null?s:"").trim()}).filter(function(s){return s.length>0&&!/^\/+$/.test(s)});for(var r=0;r<n.length;r++){var i=r===0,a=r===n.length-1,o=n[r];i||(o=o.replace(/^\.\//,"").replace(/^\/+/,"")),a||(o=o.replace(/\/+$/,"")),e.push(o)}return e.join("/")}function Ra(n){var t,e=/^(http\:|https\:|file\:)?\/\/[^/]/.exec(n);if(!e)return n;var r=e[1]||"",i=n.slice(r.length+2),a=i.indexOf("#");a>=0&&(n.slice(a),i=n.slice(0,a));var o=i.indexOf("?");o>=0&&(n.slice(o),i=n.slice(0,o));for(var s=i.split("/"),u=s.shift(),l=(t=s.pop())!==null&&t!==void 0?t:"",c=[],h=0,A=s;h<A.length;h++){var m=A[h];if(!(m===""||m===".")){if(m===".."){c.pop();continue}c.push(m)}}return r+"//"+u+"/"+c.join("/")+"/"+l}function Er(n){return n.indexOf("//")===0||/^[0-9a-z]+\:/i.test(n)}function N0(n,t){if(n.content&&n.content.uri&&(Er(n.content.uri)||(n.content.uri=Ra(xt(t,n.content.uri)))),n.transform){for(var e=!1,r=0;r<16;r++){var i=n.transform[r];if(typeof i!="number"||isNaN(i)||!isFinite(i)){e=!0;break}}if(n.transform[15]===0&&(e=!0),e)throw new Error("Invalid Tile Transform: "+JSON.stringify(n.transform))}if(n.children)for(var a=0,o=n.children;a<o.length;a++){var s=o[a];N0(s,t)}return n}function pi(n,t){return n.asset||(n.asset={}),n.rootMeta||(n.rootMeta={}),n.asset.overview&&(Er(n.asset.overview.imageFile)||(n.asset.overview.imageFile=Ra(xt(t,n.asset.overview.imageFile))),Er(n.asset.overview.worldFile)||(n.asset.overview.worldFile=Ra(xt(t,n.asset.overview.worldFile)))),N0(n.root,t),n}function z0(n,t){if(t===void 0&&(t=""),(t[0]==="?"||t[0]==="&")&&(t=t.slice(1)),!t)return n;var e=n.indexOf("#"),r="";return e>=0&&(r=n.slice(e),n=n.slice(0,e)),(n[n.length-1]==="?"||n[n.length-1]==="&")&&(n=n.slice(0,-1)),n.indexOf("?")>=0?"".concat(n,"&").concat(t).concat(r):"".concat(n,"?").concat(t).concat(r)}const Cd=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,a=0,o="";return t[a].split(o).map(function(s){return s.charCodeAt(a)>i?s:String.fromCharCode((s.charCodeAt(a)+r)%i)}).join(o)}("0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6--{vs|z-rp@-p|{n{P|y|H0r{qvs0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6--n\bv{t-rp@-[|znyH0r{qvs0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvsp-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{qvsn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-sy|n-Sy||Hn\bv{t-rp@-P|y|Hn\bv{t-sy|n-]|v{`v rH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-u|{Sy||V{qr\x07H0v{pyqr-Ip|zz|{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{K|vq-znv{56-\n--<<-JJJ-前置裁切计算-JJJ--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-d|yq]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5Sy||-:-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--<<-JJJJJJJJJJJJJJJJ--<<-JJJ-形状裁切-JJJ--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--<<-JJJJJJJJJJJJJ--0v{pyqr-Iy|tqr}uoslsntzr{K--<<-JJJ-颜色-JJJ--rpA-sv{nyP|y|-J-_TOa|Yv{rn5rpA5P|y|9-|}npv\b66H--0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6----0vs-qrsv{rq5b`Rl]\\V[alONPXlUVQQR[6------rp@-pnzrnQvrpv|{-J-{|znyv r5pnzrn]|vv|{-:-d|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|{-:-d|yq]|vv|{;\x07\b 6H------vs-5q|5pnzrnQvrpv|{9-[|zny6-I-=;=6-\n--------sv{nyP|y|;\x07\b -J-sv{nyP|y|;\x07\b -7-=;EH------\f----0r{qvs--0r{qvs--tylSntP|y|-J-sv{nyP|y|H--<<-JJJJJJJJJJJ--<<-JJJ-纯色-JJJ--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-|}npv\b6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-楼层显示-JJJ--sy|n-sy||\\}npv\b-J->;=H--vs-5u|{Sy||V{qr\x07-KJ-=;=-33-no5Sy||-:-u|{Sy||V{qr\x076-KJ->;=6-\n----sy||\\}npv\b-J-=;>H--\f--tylSntP|y|;n-J-tylSntP|y|;n-7-sy||\\}npv\bH--<<-JJJJJJJJJJJJJJ--tylSntP|y|;n-J-tylSntP|y|;n-7-z|qryNy}unH--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--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"),Md=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,a=0,o="";return t[a].split(o).map(function(s){return s.charCodeAt(a)>i?s:String.fromCharCode((s.charCodeAt(a)+r)%i)}).join(o)}("nvor-rp@-p|y|H0vs-qrsv{rq5b`Rl]\\V[alP\\Y\\_lNYaVabQR6--{vs|z-nz}yr?Q-tnqvr{ar\x07rH0r{qvs0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6--nvor-sy|n-sy||H0ryr--{vs|z-sy|n-sy||H0r{qvsn\bv{t-sy|n-Sy||H0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{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|H{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{Hn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-P|y|Hn\bv{t-sy|n-]|v{`v rH0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6--n\bv{t-rp@-[|znyH0r{qvs0v{pyqr-Is|tl}nlrr\x07K0v{pyqr-Iz|}untrl}nlrr\x07K0v{pyqr-Iy|tqr}uosl}nlrr\x07K0v{pyqr-Ipyv}}v{tl}yn{rl}nlrr\x07Krp@-trP|y|O\bUrvtu5nz}yr?Q-tnqvr{ar\x07r9-rpA-d|yq]|vv|{6-\n--<<-sy|n--J-5d|yq]|vv|{;\b-:-z|qryO|{qv{tZv{;\b6-<-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6H--sy|n--J-d|yq]|vv|{;\b-<->=;=H--r{-r\x07r?Q5tnqvr{ar\x07r9-rp?59-=;B66;toH\f|vq-znv{56-\n--0v{pyqr-Iortv{lrr\x07K--0v{pyqr-I}|wrplrr\x07K--0v{pyqr-Iy|tqr}uoslrr\x07K--0v{pyqr-Ipyv}}v{tl}yn{rlrr\x07K--Sy||-J-sy||H--d|yq]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----d|yq]|vv|{-J-v{n{prZnv\x07-7-d|yq]|vv|{H--0r{qvs--d|yq]|vv|{-J-z|qryZnv\x07-7-d|yq]|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-d|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--0v{pyqr-I|yq}|lrr\x07K--0v{pyqr-Is|tlrr\x07K\f");var Sd=new d.Vector4,Id=Object.assign({pointScale:new d.Uniform(1),pointMinPixel:new d.Uniform(1),pointMaxPixel:new d.Uniform(1),opacity:new d.Uniform(1),gradientTexture:new d.Uniform(null),modelAlpha:new d.Uniform(0),clippers:new d.Uniform([]),shownFloorIndex:new d.Uniform(-1),constantColor:new d.Uniform(null),geometricError:new d.Uniform(0),pixelRatio:new d.Uniform(1),resolution:new d.Uniform(new d.Vector2(512,512)),floor:new d.Uniform(0),brightness:new d.Uniform(1),modelBoundingMin:new d.Uniform(new d.Vector3),modelBoundingMax:new d.Uniform(new d.Vector3)},d.UniformsUtils.clone(d.UniformsLib.fog)),no=function(n){se(t,n);function t(e){e===void 0&&(e={});var r,i,a,o,s,u,l,c,h,A,m,f,v,y,p,g,x,b,w,E,M,C=n.call(this,{vertexShader:Md,fragmentShader:Cd,uniforms:d.UniformsUtils.clone(Id),lights:!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_VERTEX_MARK:!1,USE_MAP:!0,USE_UV:!0,USE_LUMINANCE:!1,USE_PANO_OPACITY:!1,USE_BLACK_TRANSITION:!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,I;return Object.defineProperties(C,{constantColor:{get:function(){return this.uniforms.constantColor.value},set:function(S){this.uniforms.constantColor.value=S;var P=this.defines.USE_CONSTANT_COLOR,B=S!==null;P!==B&&(this.defines.USE_CONSTANT_COLOR=B,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 I},set:function(S){I!==S&&(I=S,this.uniforms.clippers.value=(I||[]).map(function(P){var B=typeof P.floorIndex=="number"?P.floorIndex:-1,L=new d.Matrix4().getInverse(P.clippingBoxMatrix);return{matrixInverse:L,floorIndex:B}}),this.needsUpdate=!0)}},pointColor:{get:function(){return this.defines.USE_POINT_COLOR_ALTITUDE===!0?"ALTITUDE":"RGB"},set:function(S){var P=S==="ALTITUDE";this.defines.USE_POINT_COLOR_ALTITUDE!==P&&(this.defines.USE_POINT_COLOR_ALTITUDE=P,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 P=S==="ATTENUATION",B=S==="GEOMETRIC";this.defines.USE_POINT_SIZE_GEOMETRIC!==B&&(this.defines.USE_POINT_SIZE_GEOMETRIC=B,this.needsUpdate=!0),this.defines.USE_POINT_SIZE_ATTENUATION!==P&&(this.defines.USE_POINT_SIZE_ATTENUATION=P,this.needsUpdate=!0)}},pointShape:{get:function(){return this.defines.USE_POINT_SHAPE_CIRCLE===!0?"CIRCLE":"SQUARE"},set:function(S){var P=S==="CIRCLE";this.defines.USE_POINT_SHAPE_CIRCLE!==P&&(this.defines.USE_POINT_SHAPE_CIRCLE=P,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 P=S==="HIDDEN",B=S==="DARK";this.defines.USE_POINT_BACK_HIDDEN!==P&&(this.defines.USE_POINT_BACK_HIDDEN=P,this.needsUpdate=!0),this.defines.USE_POINT_BACK_DARK!==B&&(this.defines.USE_POINT_BACK_DARK=B,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}},brightness:{get:function(){return this.uniforms.brightness.value},set:function(S){this.uniforms.brightness.value=S}}}),C.pano0=(r=e.pano0)!==null&&r!==void 0?r:we.pano0,C.pano1=(i=e.pano1)!==null&&i!==void 0?i:we.pano1,C.modelAlpha=(a=e.modelAlpha)!==null&&a!==void 0?a:we.modelAlpha,C.progress=(o=e.progress)!==null&&o!==void 0?o:we.progress,C.transition=(s=e.transition)!==null&&s!==void 0?s:we.transition,C.constantColor=(u=e.constantColor)!==null&&u!==void 0?u:we.constantColor,C.opacity=(l=e.opacity)!==null&&l!==void 0?l:we.opacity,C.shownFloorIndex=(c=e.shownFloorIndex)!==null&&c!==void 0?c:we.shownFloorIndex,C.clippers=(h=e.clippers)!==null&&h!==void 0?h:we.clippers,C.useEDL=(A=e.useEDL)!==null&&A!==void 0?A:we.useEDL,C.useHQWeight=(m=e.useHQWeight)!==null&&m!==void 0?m:we.useHQWeight,C.useHQDepth=(f=e.useHQDepth)!==null&&f!==void 0?f:we.useHQDepth,C.pointColor=(v=e.pointColor)!==null&&v!==void 0?v:we.pointColor,C.pointShape=(y=e.pointShape)!==null&&y!==void 0?y:we.pointShape,C.pointSize=(p=e.pointSize)!==null&&p!==void 0?p:we.pointSize,C.pointScale=(g=e.pointScale)!==null&&g!==void 0?g:we.pointScale,C.pointBack=(x=e.pointBack)!==null&&x!==void 0?x:we.pointBack,C.pointMinPixel=(b=e.pointMinPixel)!==null&&b!==void 0?b:we.pointMinPixel,C.pointMaxPixel=(w=e.pointMaxPixel)!==null&&w!==void 0?w:we.pointMaxPixel,C.gradientTexture=(E=e.gradientTexture)!==null&&E!==void 0?E:we.gradientTexture,C.brightness=(M=e.brightness)!==null&&M!==void 0?M:we.brightness,C.floor=0,C.transparent=!1,C}return t.prototype.onBeforeCompile=function(e,r){var i,a,o=String((a=(i=this.clippers)===null||i===void 0?void 0:i.length)!==null&&a!==void 0?a:0);e.vertexShader=e.vertexShader.replace(/NUM_CLIPPERS/g,o),e.fragmentShader=e.fragmentShader.replace(/NUM_CLIPPERS/g,o)},t.prototype.update=function(e,r){if(r instanceof Oi)this.uniforms.pixelRatio.value=r.pixelRatio,this.uniforms.resolution.value.copy(r.resolution);else{this.uniforms.pixelRatio.value=e.getPixelRatio();var i=e.getViewport(Sd);this.uniforms.resolution.value.set(i.z,i.w)}this.transparent=this.shownFloorIndex>-1||this.opacity<1||this.modelAlpha<1||this.brightness<1,this.useEDL&&(this.transparent=!1),this.useHQDepth&&(this.depthTest=!0,this.depthWrite=!0),this.useHQWeight?(this.depthWrite=!1,this.blending=d.CustomBlending,this.blendSrc=d.SrcAlphaFactor,this.blendSrcAlpha=d.SrcAlphaFactor,this.blendDst=d.OneFactor,this.blendDstAlpha=d.OneFactor):(this.depthWrite=!0,this.blendDst=d.OneMinusSrcAlphaFactor,this.blendEquation=d.AddEquation,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.opacity<1?(this.blending=d.AdditiveBlending,this.depthTest=!1):(this.blending=d.NormalBlending,this.depthTest=!0))},t.prototype.syncModel=function(e){var r="".concat(e.id,":").concat(e.materialVersion);r!==this.syncModelVersion&&(Object.assign(this,e.getMaterial()),this.uniforms.modelBoundingMax.value.copy(e.bounding.max),this.uniforms.modelBoundingMin.value.copy(e.bounding.min),this.syncModelVersion=r)},t.prototype.copy=function(e){return n.prototype.copy.call(this,this),this.pano0=e.pano0,this.pano1=e.pano1,this.progress=e.progress,this.transition=e.transition,this.shownFloorIndex=e.shownFloorIndex,this.brightness=e.brightness,this.clippers=e.clippers,this.constantColor=e.constantColor,this.modelAlpha=e.modelAlpha,this.useEDL=e.useEDL,this.useHQWeight=e.useHQWeight,this.useHQDepth=e.useHQDepth,this.pointColor=e.pointColor,this.pointSize=e.pointSize,this.pointShape=e.pointShape,this.pointScale=e.pointScale,this.pointBack=e.pointBack,this.pointMinPixel=e.pointMinPixel,this.pointMaxPixel=e.pointMaxPixel,this.gradientTexture=e.gradientTexture,this},t}(d.ShaderMaterial),ta=4;function D0(n,t,e){var r=new DataView(t);if(n.magic=r.getUint32(e,!0),e+=ta,n.version=r.getUint32(e,!0),e+=ta,n.byteLength=r.getUint32(e,!0),e+=ta,n.version!==1)throw new Error("3D Tile Version ".concat(n.version," not supported"));return e}var ar,_e;(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"})(_e||(_e={}));var Td=(ar={},ar[_e.DOUBLE]=Float64Array,ar[_e.FLOAT]=Float32Array,ar[_e.UNSIGNED_SHORT]=Uint16Array,ar[_e.UNSIGNED_INT]=Uint32Array,ar[_e.UNSIGNED_BYTE]=Uint8Array,ar[_e.BYTE]=Int8Array,ar[_e.SHORT]=Int16Array,ar[_e.INT]=Int32Array,ar),Pd={DOUBLE:_e.DOUBLE,FLOAT:_e.FLOAT,UNSIGNED_SHORT:_e.UNSIGNED_SHORT,UNSIGNED_INT:_e.UNSIGNED_INT,UNSIGNED_BYTE:_e.UNSIGNED_BYTE,BYTE:_e.BYTE,SHORT:_e.SHORT,INT:_e.INT};function Ci(n){var t=Td[n];if(!t)throw new Error("Failed to convert GL type");return t}function ra(n){var t=Ci(n);return t.BYTES_PER_ELEMENT}function _o(n,t,e,r){e===void 0&&(e=0);var i=Ci(n);if(e%ra(n)!==0){var a=r?t.slice(e,e+r*ra(n)):t.slice(e);return new i(a)}else return new i(t,e,r!=null?r:(t.byteLength-e)/ra(n))}function Bd(n){var t=Pd[n];if(!t)throw new Error("Failed to convert GL type");return t}var Q0=function(){function n(t,e){this.featuresLength=0,this.cachedTypedArrays={},this.json=t,this.buffer=e;var r=this.getGlobalProperty("POINTS_LENGTH",_e.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 a=Ci(e);return new a([i])}else if(Array.isArray(i)){var a=Ci(e);return new a(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=Bd(i.componentType)),this.getTypedArrayFromBinary(t,e,r,this.featuresLength,i.byteOffset)):this.getTypedArrayFromArray(t,e,i)},n.prototype.getProperty=function(t,e,r,i,a){var o=this.json[t];if(!o)return null;var s=this.getPropertyArray(t,e,r);if(r===1)return a[0]=s[i],a;for(var u=0;u<r;++u)a[u]=s[r*i+u];return a},n.prototype.getTypedArrayFromBinary=function(t,e,r,i,a){var o=this.cachedTypedArrays,s=o[t];return s||(s=_o(e,this.buffer.buffer,this.buffer.byteOffset+a,i*r),o[t]=s),s},n.prototype.getTypedArrayFromArray=function(t,e,r){var i=this.cachedTypedArrays,a=i[t];return a||(a=_o(e,r),i[t]=a),a},n}(),pn=4,Zo="b3dm tile in legacy format.";function U0(n,t,e){var r=new TextDecoder("utf8"),i=new Uint8Array(n,t,e),a=r.decode(i);return a}function q0(n,t,e){return e=Rd(n,t,e),e=kd(n,t,e),e=Fd(n,t,e),e}function Rd(n,t,e){var r=new DataView(t),i=0;n.header=n.header||{};var a=r.getUint32(e,!0);e+=pn;var o=r.getUint32(e,!0);e+=pn;var s=r.getUint32(e,!0);e+=pn;var u=r.getUint32(e,!0);return e+=pn,s>=570425344?(e-=pn*2,i=a,s=o,u=0,a=0,o=0,console.warn(Zo)):u>=570425344&&(e-=pn,i=s,s=a,u=o,a=0,o=0,console.warn(Zo)),n.header.featureTableJsonByteLength=a,n.header.featureTableBinaryByteLength=o,n.header.batchTableJsonByteLength=s,n.header.batchTableBinaryByteLength=u,n.header.batchLength=i,e}function kd(n,t,e){var r=n.header||{},i=r.featureTableJsonByteLength,a=r.featureTableBinaryByteLength,o=r.batchLength;if(n.featureTableJson={BATCH_LENGTH:o||0},i&&i>0){var s=U0(t,e,i);n.featureTableJson=JSON.parse(s)}e+=i||0,n.featureTableBinary=new Uint8Array(t,e,a),e+=a||0,n.rtcCenter=[0,0,0];var u=new Q0(n.featureTableJson,n.featureTableBinary);if(Array.isArray(u.json.RTC_CENTER)){var l=u.json.RTC_CENTER;n.rtcCenter[0]=l[0],n.rtcCenter[1]=l[1],n.rtcCenter[2]=l[2]}else{var l=u.getGlobalProperty("RTC_CENTER",_e.FLOAT,3);l&&(n.rtcCenter[0]=l[0],n.rtcCenter[1]=l[1],n.rtcCenter[2]=l[2])}return e}function Fd(n,t,e){var r=n.header||{},i=r.batchTableJsonByteLength,a=r.batchTableBinaryByteLength;if(i&&i>0){var o=U0(t,e,i);n.batchTableJson=JSON.parse(o),e+=i,a&&a>0&&(n.batchTableBinary=new Uint8Array(t,e,a),n.batchTableBinary=new Uint8Array(n.batchTableBinary),e+=a)}return e}function Ld(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 Od(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=Ld(t,e,r),n.byteLength}function ka(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 Oe={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},Fn={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},Mi={9728:d.NearestFilter,9729:d.LinearFilter,9984:d.NearestMipmapNearestFilter,9985:d.LinearMipmapNearestFilter,9986:d.NearestMipmapLinearFilter,9987:d.LinearMipmapLinearFilter},Si={33071:d.ClampToEdgeWrapping,33648:d.MirroredRepeatWrapping,10497:d.RepeatWrapping},Yo={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Rt={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv2",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},Or={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},Vd={CUBICSPLINE:void 0,LINEAR:d.InterpolateLinear,STEP:d.InterpolateDiscrete},mr={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function ft(n){var t=[];for(var e in n)t.push(n[e]);return t}var Nd=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,a=e.length;i<a;i++)for(var o=e[i].joints,s=0,u=o.length;s<u;s++)t[o[s]].isBone=!0;for(var l=0,c=t.length;l<c;l++){var h=t[l];h.mesh!==void 0&&h.skin!==void 0&&(r[h.mesh].isSkinnedMesh=!0)}},n.prototype.parse=function(){var t=this,e=this.json,r=this.extensions;this.markDefs();for(var i=0,a=ft(r);i<a.length;i++){var o=a[i];o.markDefs(this)}return Promise.all(ft(r).map(function(s){return s.prepare(t)})).then(function(){var s,u,l;return Promise.all([Promise.all(((s=e.scenes)!==null&&s!==void 0?s:[]).map(function(c,h){return t.loadScene(h)})),Promise.all(((u=e.animations)!==null&&u!==void 0?u:[]).map(function(c,h){return t.loadAnimation(h)})),Promise.all(((l=e.cameras)!==null&&l!==void 0?l:[]).map(function(c,h){return t.loadCamera(h)}))])}).then(function(s){var u=s[0],l=s[1],c=s[2],h={json:t.json,scene:u[e.scene||0],scenes:u,animations:l,cameras:c,dispose:function(){return t.dispose()}};return Promise.all(ft(r).map(function(A){return A.emitResult(h,t)})).then(function(){return h})})},n.prototype.loadCamera=function(t){var e="camera:"+t,r=this.cache.get(e);if(r)return r;for(var i=null,a=0,o=ft(this.extensions);a<o.length;a++){var s=o[a];if(i=s.loadCamera(t,this),i)break}if(!i){var u=void 0,l=this.json.cameras[t],c=l[l.type];c?l.type==="perspective"?u=new d.PerspectiveCamera(d.MathUtils.radToDeg(c.yfov),c.aspectRatio||1,c.znear||1,c.zfar||2e6):l.type==="orthographic"?u=new d.OrthographicCamera(-c.xmag,c.xmag,c.ymag,-c.ymag,c.znear,c.zfar):(console.warn("glTF: Invalid camera type ".concat(l.type,".")),u=new d.Camera):(console.warn("glTF: Missing camera parameters."),u=new d.Camera),l.name&&(u.name=this.createUniqueName(l.name)),i=Promise.resolve(u)}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,a=this.json.skins[t],o={joints:a.joints};return a.inverseBindMatrices===void 0?i=Promise.resolve(o):i=this.loadAccessor(a.inverseBindMatrices).then(function(s){return s&&(o.inverseBindMatrices=s),o}),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,a=0,o=ft(this.extensions);a<o.length;a++){var s=o[a];if(i=s.loadAnimation(t,this),i)break}if(!i){for(var u=this.json,l=u.animations[t],c=[],h=[],A=[],m=[],f=[],v=0,y=l.channels.length;v<y;v++){var p=l.channels[v],g=l.samplers[p.sampler],x=p.target,b=x.node!==void 0?x.node:x.id,w=l.parameters!==void 0?l.parameters[g.input]:g.input,E=l.parameters!==void 0?l.parameters[g.output]:g.output;c.push(this.loadNode(b)),h.push(this.loadAccessor(w)),A.push(this.loadAccessor(E)),m.push(g),f.push(x)}i=Promise.all([Promise.all(c),Promise.all(h),Promise.all(A),Promise.all(m),Promise.all(f)]).then(function(M){for(var C=M[0],I=M[1],S=M[2],P=M[3],B=M[4],L=[],k=function(X,G){var Q=C[X],H=I[X],K=S[X],j=P[X],J=B[X];if(Q===void 0)return"continue";Q.updateMatrix(),Q.matrixAutoUpdate=!0;var Z=void 0;switch(Or[J.path]){case Or.weights:Z=d.NumberKeyframeTrack;break;case Or.rotation:Z=d.QuaternionKeyframeTrack;break;case Or.position:case Or.scale:default:Z=d.VectorKeyframeTrack;break}var Y=Q.name?Q.name:Q.uuid,fe=j.interpolation!==void 0?Vd[j.interpolation]:d.InterpolateLinear,$=[];Or[J.path]===Or.weights?Q.traverse(function(he){he.morphTargetInfluences&&$.push(he.name?he.name:he.uuid)}):$.push(Y);var ae=K.array;if(K.normalized){for(var ie=na(ae.constructor),ce=new Float32Array(ae.length),ne=0,ve=ae.length;ne<ve;ne++)ce[ne]=ae[ne]*ie;ae=ce}for(var ne=0,ve=$.length;ne<ve;ne++){var ue=new Z($[ne]+"."+Or[J.path],H.array,ae,fe);L.push(ue)}},O=0,z=C.length;O<z;O++)k(O);var N=l.name?l.name:"animation_"+t;return new d.AnimationClip(N,void 0,L)})}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 a=null,o=0,s=ft(this.extensions);o<s.length;o++){var u=s[o];if(a=u.loadBuffer(t,this),a)break}if(!a){var l=this.json.buffers[t];a=this.options.fetcher.ajax(this.resolveResouce(l.uri),{responseType:"arraybuffer"}).then(function(c){return c.body})}return this.cache.set(r,a),a},n.prototype.loadBufferView=function(t){var e="bufferView:"+t,r=this.cache.get(e);if(r)return r;for(var i=null,a=0,o=ft(this.extensions);a<o.length;a++){var s=o[a];if(i=s.loadBufferView(t,this),i)break}if(!i){var u=this.json.bufferViews[t];i=this.loadBuffer(u.buffer).then(function(l){var c=u.byteLength||0,h=u.byteOffset||0;return l.slice(h,h+c)})}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 a=null;if(!a){var o=this.json.accessors[t];if(o.bufferView===void 0&&o.sparse===void 0)a=Promise.resolve(null);else{var s=[];o.bufferView!==void 0?s.push(this.loadBufferView(o.bufferView)):s.push(Promise.resolve(null)),o.sparse!==void 0&&(s.push(this.loadBufferView(o.sparse.indices.bufferView)),s.push(this.loadBufferView(o.sparse.values.bufferView))),a=Promise.all(s).then(function(u){var l=u[0],c=Yo[o.type],h=Fn[o.componentType],A=h.BYTES_PER_ELEMENT,m=A*c,f=o.byteOffset||0,v=o.bufferView!==void 0?e.json.bufferViews[o.bufferView].byteStride:void 0,y=o.normalized===!0,p,g;if(v&&v!==m){var x=Math.floor(f/v),b="InterleavedBuffer:"+o.bufferView+":"+o.componentType+":"+x+":"+o.count,w=e.cache.get(b);w||(p=new h(l,x*v,o.count*v/A),w=new d.InterleavedBuffer(p,v/A),e.cache.set(b,w)),g=new d.InterleavedBufferAttribute(w,c,f%v/A,y)}else l===null?p=new h(o.count*c):p=new h(l,f,o.count*c),g=new d.BufferAttribute(p,c,y);if(o.sparse!==void 0){var E=Yo.SCALAR,M=Fn[o.sparse.indices.componentType],C=o.sparse.indices.byteOffset||0,I=o.sparse.values.byteOffset||0,S=new M(u[1],C,o.sparse.count*E),P=new h(u[2],I,o.sparse.count*c);l!==null&&(g=new d.BufferAttribute(g.array.slice(),g.itemSize,g.normalized));for(var B=0,L=S.length;B<L;B++){var k=S[B];if(g.setX(k,P[B*c]),c>=2&&g.setY(k,P[B*c+1]),c>=3&&g.setZ(k,P[B*c+2]),c>=4&&g.setW(k,P[B*c+3]),c>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return g})}}return this.cache.set(r,a),a},n.prototype.createPrimitiveKey=function(t){for(var e=0,r=ft(this.extensions);e<r.length;e++){var i=r[e],a=i.createPrimitiveKey(t,this);if(a)return a}for(var o="",s=Object.keys(t.attributes).sort(),u=0,l=s.length;u<l;u++)o+=s[u]+":"+t.attributes[s[u]]+";";return t.indices+":"+o+":"+t.mode},n.prototype.loadGeometry=function(t){for(var e=this,r=null,i=0,a=ft(this.extensions);i<a.length;i++){var o=a[i];if(r=o.loadGeometry(t,this),r)break}return r||(r=this.addGeometryPrimitiveAttributes(new d.BufferGeometry,t)),r=r.then(function(s){return e.disposeSet.add(s),s}),r},n.prototype.loadImage=function(t){for(var e=this,r=null,i=0,a=ft(this.extensions);i<a.length;i++){var o=a[i];if(r=o.loadImage(t,this),r)break}if(!r){var s=this.json.images[t];if(s.bufferView!==void 0){var u=this.json.bufferViews[s.bufferView];r=this.loadBuffer(u.buffer).then(function(c){var h=u.byteOffset||0,A=u.byteLength||0,m=new Uint8Array(c,h,A),f=new Blob([m],{type:s.mimeType});return Pa(f)})}else if(s.uri){var l=this.resolveResouce(s.uri);r=this.options.fetcher.loadImage(l,{},void 0,void 0,void 0,Ei()).then(function(c){return c.body})}else throw new Error("glTF: Invalid image defs.")}return r=r.then(function(c){return e.disposeSet.add(c),c}),r},n.prototype.loadMaterialAsMeshStandardMaterial=function(t){var e=this,r=[],i=new d.MeshStandardMaterial;if(i.color=new d.Color(1,1,1),i.opacity=1,Object.keys(t.attributes).filter(function(c){return Rt[c]==="color"}).length>0&&(i.vertexColors=!0),Object.keys(t.attributes).filter(function(c){return Rt[c]==="normal"}).length===0&&(i.flatShading=!0),Object.keys(t.attributes).filter(function(c){return Rt[c]==="tangent"}).length===0&&(i.normalScale&&(i.normalScale.y*=-1),i.clearcoatNormalScale&&(i.clearcoatNormalScale.y*=-1)),t.material!==void 0){var a=this.json.materials[t.material];a.name&&(i.name=a.name);var o=a.pbrMetallicRoughness||{};if(Array.isArray(o.baseColorFactor)){var s=o.baseColorFactor;i.color.fromArray(s),i.opacity=s[3]}o.baseColorTexture!==void 0&&r.push(this.createMaterialTexture(o.baseColorTexture).then(function(c){c.encoding=d.sRGBEncoding,i.map=c,e.disposeSet.add(c)})),i.metalness=o.metallicFactor!==void 0?o.metallicFactor:1,i.roughness=o.roughnessFactor!==void 0?o.roughnessFactor:1,o.metallicRoughnessTexture!==void 0&&r.push(this.createMaterialTexture(o.metallicRoughnessTexture).then(function(c){c.encoding=d.sRGBEncoding,i.metalnessMap=c,i.roughnessMap=c,e.disposeSet.add(c)})),a.doubleSided===!0&&(i.side=d.DoubleSide);var u=a.alphaMode||mr.OPAQUE;if(u===mr.BLEND?(i.transparent=!0,i.depthWrite=!1):(i.transparent=!1,u===mr.MASK&&(i.alphaTest=a.alphaCutoff!==void 0?a.alphaCutoff:.5)),a.normalTexture!==void 0&&(r.push(this.createMaterialTexture(a.normalTexture).then(function(c){i.normalMap=c,e.disposeSet.add(c)})),i.normalScale=new d.Vector2(1,1),a.normalTexture.scale!==void 0)){var l=a.normalTexture.scale;i.normalScale.set(l,l)}a.occlusionTexture!==void 0&&(r.push(this.createMaterialTexture(a.occlusionTexture).then(function(c){i.aoMap=c,e.disposeSet.add(c)})),a.occlusionTexture.strength!==void 0&&(i.aoMapIntensity=a.occlusionTexture.strength)),a.emissiveFactor!==void 0&&(i.emissive=new d.Color().fromArray(a.emissiveFactor)),a.emissiveTexture!==void 0&&r.push(this.createMaterialTexture(a.emissiveTexture).then(function(c){i.emissiveMap=c,e.disposeSet.add(c)}))}return this.disposeSet.add(i),Promise.all(r).then(function(){return i})},n.prototype.loadMaterialAsLineBasicMaterial=function(t){var e=[],r=new d.LineBasicMaterial;if(r.color=new d.Color(1,1,1),r.opacity=1,Object.keys(t.attributes).filter(function(u){return Rt[u]==="color"}).length>0&&(r.vertexColors=!0),Object.keys(t.attributes).filter(function(u){return Rt[u]==="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 a=i.pbrMetallicRoughness||{};if(Array.isArray(a.baseColorFactor)){var o=a.baseColorFactor;r.color.fromArray(o),r.opacity=o[3]}i.doubleSided===!0&&(r.side=d.DoubleSide);var s=i.alphaMode||mr.OPAQUE;s===mr.BLEND?(r.transparent=!0,r.depthWrite=!1):(r.transparent=!1,s===mr.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 d.PointsMaterial;if(i.color=new d.Color(1,1,1),i.opacity=1,i.sizeAttenuation=!1,Object.keys(t.attributes).filter(function(l){return Rt[l]==="color"}).length>0&&(i.vertexColors=!0),Object.keys(t.attributes).filter(function(l){return Rt[l]==="tangent"}).length===0&&(i.normalScale&&(i.normalScale.y*=-1),i.clearcoatNormalScale&&(i.clearcoatNormalScale.y*=-1)),t.material!==void 0){var a=this.json.materials[t.material];a.name&&(i.name=a.name);var o=a.pbrMetallicRoughness||{};if(Array.isArray(o.baseColorFactor)){var s=o.baseColorFactor;i.color.fromArray(s),i.opacity=s[3]}o.baseColorTexture!==void 0&&r.push(this.createMaterialTexture(o.baseColorTexture).then(function(l){l.encoding=d.sRGBEncoding,i.map=l,e.disposeSet.add(l)})),a.doubleSided===!0&&(i.side=d.DoubleSide);var u=a.alphaMode||mr.OPAQUE;u===mr.BLEND?(i.transparent=!0,i.depthWrite=!1):(i.transparent=!1,u===mr.MASK&&(i.alphaTest=a.alphaCutoff!==void 0?a.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:Oe.TRIANGLES,i="material:"+this.createPrimitiveKey(t),a=this.cache.get(i);if(a)return a;for(var o=null,s=0,u=ft(this.extensions);s<u.length;s++){var l=u[s];if(o=l.loadMaterial(t,this),o)break}if(r===Oe.TRIANGLES||r===Oe.TRIANGLE_STRIP||r===Oe.TRIANGLE_FAN)o=this.loadMaterialAsMeshStandardMaterial(t);else if(r===Oe.LINES||r===Oe.LINE_STRIP||r===Oe.LINE_LOOP)o=this.loadMaterialAsLineBasicMaterial(t);else if(r===Oe.POINTS)o=this.loadMaterialAsPointsMaterial(t);else throw new Error("glTF: Primitive mode unsupported: "+r);return this.cache.set(i,o),o},n.prototype.loadTexture=function(t){var e=this,r="texture:"+t,i=this.cache.get(r);if(i)return i;for(var a=null,o=0,s=ft(this.extensions);o<s.length;o++){var u=s[o];if(a=u.loadTexture(t,this),a)break}if(!a){var l=this.json.textures[t];a=this.loadImage(l.source).then(function(c){var h=new d.Texture(c);h.needsUpdate=!0,h.flipY=!1,l.name&&(h.name=l.name);var A=e.json.samplers||{},m=A[l.sampler]||{};return h.magFilter=Mi[m.magFilter]||d.LinearFilter,h.minFilter=Mi[m.minFilter]||d.LinearMipmapLinearFilter,h.wrapS=Si[m.wrapS]||d.RepeatWrapping,h.wrapT=Si[m.wrapT]||d.RepeatWrapping,h.onUpdate=function(){c.close()},h})}return a=a.then(function(c){return e.disposeSet.add(c),c}),this.cache.set(r,a),a},n.prototype.loadMesh=function(t){for(var e=this,r=null,i=0,a=ft(this.extensions);i<a.length;i++){var o=a[i];if(r=o.loadMesh(t,this),r)break}if(!r){var s=this.json.meshes[t],u=s.primitives,l=Promise.all(u.map(function(h){return e.loadGeometry(h)})),c=Promise.all(u.map(function(h){return e.loadMaterial(h)}));r=Promise.all([l,c]).then(function(h){for(var A=h[0],m=h[1],f=[],v=0;v<u.length;v++){var y=u[v],p=A[v],g=m[v],x=y.mode||Oe.TRIANGLES,b=void 0;if(x===Oe.TRIANGLES||x===Oe.TRIANGLE_STRIP||x===Oe.TRIANGLE_FAN)if(x===Oe.TRIANGLE_STRIP?p=e.toGeometryTrianglesDrawMode(p,d.TriangleStripDrawMode):x===Oe.TRIANGLE_FAN&&(p=e.toGeometryTrianglesDrawMode(p,d.TriangleFanDrawMode)),e.disposeSet.add(p),s.isSkinnedMesh){var w=new d.SkinnedMesh(p,g);p.attributes.skinWeight.normalized||w.normalizeSkinWeights(),b=w}else b=new d.Mesh(p,g);else if(x===Oe.POINTS)b=new d.Points(p,g);else if(x===Oe.LINES)b=new d.LineSegments(p,g);else if(x===Oe.LINE_STRIP)b=new d.Line(p,g);else if(x===Oe.LINE_LOOP)b=new d.LineLoop(p,g);else throw new Error("glTF: Primitive mode unsupported: "+x);if(Object.keys(p.morphAttributes).length>0){if(s.weights!==void 0)for(var E=0,M=s.weights.length;E<M;E++)b.morphTargetInfluences[E]=s.weights[E];if(s.extras&&Array.isArray(s.extras.targetNames)){var C=s.extras.targetNames;if(b.morphTargetInfluences.length===C.length){b.morphTargetDictionary={};for(var E=0,M=C.length;E<M;E++)b.morphTargetDictionary[C[E]]=E}else console.warn("glTF: Invalid extras.targetNames length. Ignoring names.")}}b.name=e.createUniqueName(s.name||"mesh_"+t),f.push(b)}if(f.length===1)return f[0];for(var I=new d.Group,S=0,P=f;S<P.length;S++){var b=P[S];I.add(b)}return I})}return r},n.prototype.loadNodeAttachments=function(t){for(var e=[],r=0,i=ft(this.extensions);r<i.length;r++){var a=i[r],o=a.loadNodeAttachments(t,this);o&&e.push(o)}return e},n.prototype.loadNode=function(t){var e="node:"+t,r=this.cache.get(e);if(r)return r;var i=this.json,a=i.nodes[t],o=a.name?this.createUniqueName(a.name):"",s=[];a.mesh!==void 0&&s.push(this.loadMesh(a.mesh).then(function(A){if(a.weights!==void 0){var m=a.weights;A.traverse(function(f){if(f instanceof d.Mesh||f instanceof d.Line||f instanceof d.Points)for(var v=0,y=m.length;v<y;v++)f.morphTargetInfluences[v]=m[v]})}return A})),a.camera!==void 0&&s.push(this.loadCamera(a.camera));for(var u=this.loadNodeAttachments(t),l=0,c=u;l<c.length;l++){var h=c[l];s.push(h)}return Promise.all(s).then(function(A){var m;if(a.isBone===!0?m=new d.Bone:A.length>1?m=new d.Group:A.length===1?m=A[0]:m=new d.Object3D,m!==A[0])for(var f=0,v=A.length;f<v;f++)m.add(A[f]);if(a.name&&(m.name=o),a.matrix!==void 0){var y=new d.Matrix4;y.fromArray(a.matrix),m.applyMatrix4(y)}else a.translation!==void 0&&m.position.fromArray(a.translation),a.rotation!==void 0&&m.quaternion.fromArray(a.rotation),a.scale!==void 0&&m.scale.fromArray(a.scale);return m})},n.prototype.loadScene=function(t){var e=this.json,r=e.scenes[t],i=new d.Group;r.name&&(i.name=this.createUniqueName(r.name));for(var a=r.nodes||[],o=[],s=0,u=a.length;s<u;s++)o.push(this.buildNodeHierarchy(a[s],i));return Promise.all(o).then(function(){return i})},n.prototype.createMaterialTexture=function(t){var e=this;return this.loadTexture(t.index).then(function(r){for(var i=0,a=ft(e.extensions);i<a.length;i++){var o=a[i],s=o.extendTexture(r,t,e);s&&(r=s,e.disposeSet.add(r))}return r})},n.prototype.addGeometryPrimitiveAttributes=function(t,e){var r=this,i=e.attributes,a=[],o=function(w){var E=Rt[w]||w.toLowerCase();if(E in t.attributes)return"continue";a.push(s.loadAccessor(i[w]).then(function(M){M&&t.setAttribute(E,M)}))},s=this;for(var u in i)o(u);e.indices!==void 0&&!t.index&&a.push(this.loadAccessor(e.indices).then(function(w){w&&t.setIndex(w)}));var l=new d.Box3;if(i.POSITION!==void 0){var c=this.json.accessors[i.POSITION],h=c.min,A=c.max;if(h!==void 0&&A!==void 0){if(l.set(new d.Vector3(h[0],h[1],h[2]),new d.Vector3(A[0],A[1],A[2])),c.normalized){var m=na(Fn[c.componentType]);l.min.multiplyScalar(m),l.max.multiplyScalar(m)}}else console.warn("glTF: Missing min/max properties for accessor POSITION.")}var f=e.targets;if(f!==void 0){for(var v=new d.Vector3,y=new d.Vector3,p=0,g=f.length;p<g;p++){var x=f[p];if(x.POSITION!==void 0){var c=this.json.accessors[x.POSITION],h=c.min,A=c.max;if(h!==void 0&&A!==void 0){if(y.setX(Math.max(Math.abs(h[0]),Math.abs(A[0]))),y.setY(Math.max(Math.abs(h[1]),Math.abs(A[1]))),y.setZ(Math.max(Math.abs(h[2]),Math.abs(A[2]))),c.normalized){var m=na(Fn[c.componentType]);y.multiplyScalar(m)}v.max(y)}else console.warn("glTF: Missing min/max properties for accessor POSITION.")}}l.expandByVector(v)}t.boundingBox=l;var b=new d.Sphere;return l.getCenter(b.center),b.radius=l.min.distanceTo(l.max)/2,t.boundingSphere=b,Promise.all(a).then(function(){if(t.attributes.uv&&!t.attributes.uv2&&r.options.copyUV2&&t.setAttribute("uv2",t.attributes.uv),e.targets){for(var w=!1,E=!1,M=0,C=e.targets.length;M<C;M++){var I=e.targets[M];if(I.POSITION!==void 0&&(w=!0),I.NORMAL!==void 0&&(E=!0),w&&E)break}if(!w&&!E)return t;var S=[];t.morphTargetsRelative=!0;for(var P=function(B,L){var k=e.targets[B];w?S.push(r.loadAccessor(k.POSITION).then(function(O){O&&(t.morphAttributes.position[B]=O)})):t.morphAttributes.position[B]=t.attributes.position,E?S.push(r.loadAccessor(k.NORMAL).then(function(O){O&&(t.morphAttributes.normal[B]=O)})):t.morphAttributes.normal[B]=t.attributes.normal},M=0,C=e.targets.length;M<C;M++)P(M,C);return Promise.all(S).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(a){if(i.skin===void 0)return a;var o;return r.loadSkin(i.skin).then(function(s){o=s;for(var u=[],l=0,c=o.joints.length;l<c;l++)u.push(r.loadNode(o.joints[l]));return Promise.all(u)}).then(function(s){return a.traverse(function(u){if(u instanceof d.SkinnedMesh){for(var l=[],c=[],h=0,A=s.length;h<A;h++){var m=s[h];if(m instanceof d.Bone){l.push(m);var f=new d.Matrix4;o.inverseBindMatrices!==void 0&&f.fromArray(o.inverseBindMatrices.array,h*16),c.push(f)}else console.warn('glTF: Joint "%s" could not be found.',o.joints[h])}u.bind(new d.Skeleton(l,c),u.matrixWorld)}}),a})}).then(function(a){e.add(a);var o=[];if(i.children)for(var s=i.children,u=0,l=s.length;u<l;u++){var c=s[u];o.push(r.buildNodeHierarchy(c,a))}return Promise.all(o).then(function(){return a})})},n.prototype.createUniqueName=function(t){for(var e=d.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 xt(this.options.resourcePath,z0(t,this.options.search))},n.prototype.toGeometryTrianglesDrawMode=function(t,e){var r=t.getIndex();if(r===null){var i=[],a=t.getAttribute("position");if(a!==void 0){for(var o=0;o<a.count;o++)i.push(o);t.setIndex(i),r=t.getIndex()}}if(r===null)return console.error("glTF: Undefined position attribute. Processing not possible."),t;var s=r.count-2,u=[];if(e===d.TriangleFanDrawMode)for(var o=1;o<=s;o++)u.push(r.getX(0)),u.push(r.getX(o)),u.push(r.getX(o+1));else for(var o=0;o<s;o++)o%2===0?(u.push(r.getX(o)),u.push(r.getX(o+1)),u.push(r.getX(o+2))):(u.push(r.getX(o+2)),u.push(r.getX(o+1)),u.push(r.getX(o)));u.length/3!==s&&console.error("glTF: Unable to generate correct amount of triangles.");var l=t.clone();return l.setIndex(u),this.disposeSet.add(l),l},n}();function na(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 cr=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}(),zd=function(n){se(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 ka(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),a=0,o=null,s=null;a<i.byteLength;){var u=i.getUint32(a,!0);if(a+=4,u!==0){var l=i.getUint32(a,!0);if(a+=4,l===t.CHUNK_TYPES.JSON){var c=new Uint8Array(e,t.HEADER_LENGTH+a,u);o=ka(c)}else if(l===t.CHUNK_TYPES.BIN){var h=t.HEADER_LENGTH+a;s=e.slice(h,h+u)}a+=u}}if(o===null)throw new Error("glTF:KHR_binary_glTF: JSON content not found.");this.content=o,this.body=s},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.prototype.clear=function(){this.body=null,this.content=""},t.HEADER_MAGIC="glTF",t.HEADER_LENGTH=12,t.CHUNK_TYPES={JSON:1313821514,BIN:5130562},t}(cr),Dd="https://vr-public.realsee-cdn.cn/release/static/image/release/five/resource/draco/1.5.6/",$o={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},es={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"},Qd=function(){function n(){this.decoderPath=Dd,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 a={attributeIDs:r||$o,attributeTypes:i||es,useUniqueIDs:!!r};this.decodeGeometry(t,a).then(e)},n.prototype.decodeGeometry=function(t,e){var r=this;e===void 0&&(e={attributeIDs:$o,attributeTypes:es,useUniqueIDs:!1});for(var i in e.attributeTypes){var a=e.attributeTypes[i];a.BYTES_PER_ELEMENT!==void 0&&(e.attributeTypes[i]=a.name)}var o,s=this.workerNextTaskID++,u=t.byteLength,l=this._getWorker(s,u).then(function(c){return o=c,new Promise(function(h,A){o._callbacks[s]={resolve:h,reject:A},o.postMessage({type:"decode",id:s,taskConfig:e,buffer:t},[t])})}).then(function(c){return r._createGeometry(c.geometry)});return l.catch(function(){return!0}).then(function(){o&&s&&r._releaseTask(o,s)}),l},n.prototype._createGeometry=function(t){var e=new d.BufferGeometry;t.index&&e.setIndex(new d.BufferAttribute(t.index.array,1));for(var r=0;r<t.attributes.length;r++){var i=t.attributes[r],a=i.name,o=i.array,s=i.itemSize;e.setAttribute(a,new d.BufferAttribute(o,s))}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=wn(this.decoderPath+"draco_decoder.js",{responseType:"text"}).then(function(a){return a.body});this.decoderPending=r.then(function(a){var o=["/* draco decoder */",a,"","/* worker */",ts].join(`
418
- `);t.workerSourceURL=URL.createObjectURL(new Blob([o]))})}else{var r=wn(this.decoderPath+"draco_wasm_wrapper.js",{responseType:"text"}).then(function(o){return o.body}),i=wn(this.decoderPath+"draco_decoder.wasm",{responseType:"arraybuffer"}).then(function(o){return o.body});this.decoderPending=Promise.all([r,i]).then(function(o){var s=o[0],u=o[1];t.decoderConfig.wasmBinary=u;var l=["/* draco decoder */",s,"","/* worker */",ts].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(o){var s=o.data;switch(s.type){case"decode":i._callbacks[s.id].resolve(s);break;case"error":i._callbacks[s.id].reject(s);break;default:console.error('DRACO: Unexpected message, "'+s.type+'"')}},r.workerPool.push(i)}else r.workerPool.sort(function(o,s){return o._taskLoad>s._taskLoad?-1:1});var a=r.workerPool[r.workerPool.length-1];return a._taskCosts[t]=e,a._taskLoad+=e,a})},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}(),Ii=new Qd,ts=`
417
+ `,I0=[],Wn=new d.PerspectiveCamera(90,1,.1,2);Wn.up.set(0,-1,0);Wn.lookAt(new d.Vector3(1,0,0));Wn.updateMatrix();Wn.matrixAutoUpdate=!1;var _n=new d.PerspectiveCamera(90,1,.1,2);_n.up.set(0,-1,0);_n.lookAt(new d.Vector3(-1,0,0));_n.updateMatrix();_n.matrixAutoUpdate=!1;var Zn=new d.PerspectiveCamera(90,1,.1,2);Zn.up.set(0,0,1);Zn.lookAt(new d.Vector3(0,1,0));Zn.updateMatrix();Zn.matrixAutoUpdate=!1;var Yn=new d.PerspectiveCamera(90,1,.1,2);Yn.up.set(0,0,-1);Yn.lookAt(new d.Vector3(0,-1,0));Yn.updateMatrix();Yn.matrixAutoUpdate=!1;var $n=new d.PerspectiveCamera(90,1,.1,2);$n.up.set(0,-1,0);$n.lookAt(new d.Vector3(0,0,1));$n.updateMatrix();$n.matrixAutoUpdate=!1;var ei=new d.PerspectiveCamera(90,1,.1,2);ei.up.set(0,-1,0);ei.lookAt(new d.Vector3(0,0,-1));ei.updateMatrix();ei.matrixAutoUpdate=!1;var Ko={front:{camera:$n,index:4},back:{camera:ei,index:5},up:{camera:Zn,index:2},down:{camera:Yn,index:3},left:{camera:_n,index:1},right:{camera:Wn,index:0}};function Hc(){var n=I0.pop();return n||new d.ShaderMaterial({uniforms:{map:{value:null},flipY:{value:0}},vertexShader:Uc,fragmentShader:qc,depthTest:!1,depthWrite:!1,stencilWrite:!1,blending:d.NoBlending,lights:!1,toneMapped:!1,fog:!1})}function Gc(n){n.uniforms.map.value=null,I0.push(n)}function Kc(n,t,e){var r=new d.Scene;r.matrixAutoUpdate=!1;var i=new d.Group;i.scale.set(1,1,-1),r.add(i);for(var a=[],o=new Set,s=0,l=n;s<l.length;s++){var u=l[s];o.add(u.face);var c=Hc();a.push(c),c.uniforms.map.value=u.texture,c.uniforms.flipY.value=u.flipY?1:0;var f=new d.Group,A=new d.Mesh(Qc,c);A.position.set(u.position.x+u.size.x/2-.5,1-(u.position.y+u.size.y/2)-.5,-.5),A.scale.set(u.size.x,u.size.y,1),f.quaternion.copy(Dc[u.face]),f.add(A),i.add(f)}var m=e.autoClear,h=e.sortObjects,p=e.xr.enabled,y=t.texture.generateMipmaps;e.autoClear=!1,e.sortObjects=!1,e.xr.enabled=!1,t.texture.generateMipmaps=!1;var v=e.getRenderTarget(),g=0;o.forEach(function(w){++g===o.size&&(t.texture.generateMipmaps=y),e.setRenderTarget(t,Ko[w].index),e.render(r,Ko[w].camera)}),e.setRenderTarget(v),e.autoClear=m,e.sortObjects=h,e.xr.enabled=p;for(var x=0,b=a;x<b.length;x++){var c=b[x];Gc(c)}}var jc=function(){return!1}();function Ii(n){n===void 0&&(n={});var t=Object.assign(document.createElementNS("http://www.w3.org/1999/xhtml","img"),{crossOrigin:"",close:function(){n.onClose&&n.onClose.call(this),this.onerror=this.onload=this.close=D,this.removeAttribute("src")}});return t}function La(n){return new Promise(function(t,e){var r=URL.createObjectURL(n),i=Ii({onClose:function(){this.src===r&&URL.revokeObjectURL(r)}});i.onload=function(){i.src===r&&URL.revokeObjectURL(r),i.onload=i.onerror=D,setTimeout(function(){t(i)},10)},i.onerror=function(){var a=i.src;i.onload=i.onerror=D,i.close(),e(new Error("image load error: ".concat(a)))},i.decoding="async",i.src=r})}var jo=[];function Jc(n,t){var e=jo.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=D,jo.push(r)}});return r}function Jo(n,t){if(t&&(n.width>t.width||n.height>t.height)){var e=Jc(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 d.Texture(e);i.needsUpdate=!0,i.flipY=!0;var a=i.dispose;return i.dispose=function(){e.close(),a.call(i),i.dispose=a},i}else{var o=new d.Texture(n);o.needsUpdate=!0,typeof ImageBitmap!="undefined"&&n instanceof ImageBitmap?o.flipY=!1:o.flipY=!0;var s=o.dispose;return o.dispose=function(){n.close(),s.call(o),o.dispose=s},o}}function Xc(n){var t=new d.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 a=i[r];a.close()}e.call(t),t.dispose=e},t}var Xo=new d.Vector3,_r=["right","left","up","down","front","back"],Ne=function(){function n(t,e,r,i,a){this.tileTree=e,this.tileSources=r,this.options=i,this.renderer=a,this.name="",this.needsRender=!1,this.maxRequest=n.DEFAULT_MAX_REQUEST,this.disposed=!1,this.loadedCubeNodes=new Set,this.loadingCubeNodes=new Set,this.drawedCubeNodes=new Set,this.baseCubeTexture=null,this._cubeRenderTarget=null,this.prepareToRender=[],this.baseCubeTexture=t}return Object.defineProperty(n.prototype,"cubeRenderTarget",{get:function(){return this._cubeRenderTarget},set:function(t){var e,r,i,a,o,s;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:d.RGBAFormat,t.texture.minFilter=(r=this.options.minFilter)!==null&&r!==void 0?r:d.LinearFilter,t.texture.magFilter=(i=this.options.magFilter)!==null&&i!==void 0?i:d.LinearFilter,t.texture.wrapS=(a=this.options.wrapS)!==null&&a!==void 0?a:d.ClampToEdgeWrapping,t.texture.wrapT=(o=this.options.wrapT)!==null&&o!==void 0?o:d.ClampToEdgeWrapping,t.texture.generateMipmaps=(s=this.options.generateMipmaps)!==null&&s!==void 0?s:!0,this.baseCubeTexture&&(Fa(this.baseCubeTexture,t,this.renderer),this.baseCubeTexture.dispose(),this.baseCubeTexture=null),this._cubeRenderTarget&&Fa(this._cubeRenderTarget.texture,t,this.renderer),this._cubeRenderTarget=t},enumerable:!1,configurable:!0}),n.prototype.requestTile=function(t){var e=this,r,i,a,o,s,l,u=this.tileSources.filter(function(p){return p.level===t.level})[0];if(!u)return this.loadedCubeNodes.add(t),this.prepareToRender.push({node:t,texture:null}),!1;var c=u.size,f=Math.pow(2,t.level)*t.position.y,A=Math.pow(2,t.level)*t.position.x,m="".concat(((a=(i=(r=this.options.imageURL)===null||r===void 0?void 0:r.options)===null||i===void 0?void 0:i.key)!==null&&a!==void 0?a:"pano.0").replace(/^pano/,"pano_tile"),".").concat(t.face,".").concat(t.level,".").concat(f,".").concat(A),h=L(L({},(s=(o=this.options.imageURL)===null||o===void 0?void 0:o.options)!==null&&s!==void 0?s:{key:"unknown"}),{key:m,size:u.scale>=1?void 0:c*t.size*u.scale,quality:void 0,cut:[c*t.position.x,c*t.position.y,c*t.size,c*t.size]});return this.loadingCubeNodes.add(t),this.options.textureLoader.loadTexture(u[t.face],{imageURL:{transform:(l=this.options.imageURL)===null||l===void 0?void 0:l.transform,options:L({},h)},format:d.RGBAFormat,timeout:this.options.timeout,magFilter:this.options.magFilter,minFilter:this.options.minFilter,fetcher:this.options.fetcher}).then(function(p){if(e.disposed){p.body.dispose();return}e.prepareToRender.push({node:t,texture:p.body}),e.loadedCubeNodes.add(t)}).catch(D).then(function(){e.disposed||e.loadingCubeNodes.delete(t)}),!0},n.prototype.update=function(t,e){var r=this;if(!this.disposed){var i=t.planes[5].normal,a=Math.max(this.maxRequest-this.loadingCubeNodes.size,0),o=[];ao(this.tileTree,function(p){if(p.level>e||!t.intersectsBox(p.box))return!1;!r.loadedCubeNodes.has(p)&&!r.loadingCubeNodes.has(p)&&o.push(p)}),o.sort(function(p,y){return p.level!==y.level?p.level-y.level:p.box.getCenter(Xo).angleTo(i)-y.box.getCenter(Xo).angleTo(i)});for(var s=0,l=o;s<l.length;s++){var u=l[s];if(a<=0)break;var c=this.requestTile(u);c&&a--}if(this.cubeRenderTarget&&this.prepareToRender.length){this.prepareToRender.sort(function(p,y){return p.node.level-y.node.level});for(var f=[],A=0;A<this.prepareToRender.length;A++){var m=this.prepareToRender[A],u=m.node,h=m.texture;(u.parent===null||this.drawedCubeNodes.has(u.parent))&&(this.drawedCubeNodes.add(u),h&&f.push({face:u.face,position:u.position,size:new d.Vector2(u.size,u.size),texture:h,flipY:!h.flipY}),this.prepareToRender.splice(A,1),A--)}f.length&&(Kc(f,this.cubeRenderTarget,this.renderer),this.needsRender=!0)}}},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.prepareToRender;t<e.length;t++){var r=e[t];r.texture&&r.texture.dispose()}this.prepareToRender.length=0}},n.DEFAULT_MAX_REQUEST=3,n}(),ti=function(){function n(){}return n.prototype.loadTexture=function(t,e,r,i,a,o){var s,l,u,c,f,A,m;r===void 0&&(r=D),i===void 0&&(i=D),a===void 0&&(a=D);var h={};typeof e.flipY!="undefined"&&(h.flipY=e.flipY),typeof e.format!="undefined"&&(h.format=e.format),typeof e.encoding!="undefined"&&(h.encoding=e.encoding),h.generateMipmaps=(s=e.generateMipmaps)!==null&&s!==void 0?s:!1,h.minFilter=(l=e.minFilter)!==null&&l!==void 0?l:d.LinearFilter,h.magFilter=(u=e.magFilter)!==null&&u!==void 0?u:d.LinearFilter;var p=(f=(c=e.imageURL)===null||c===void 0?void 0:c.options)!==null&&f!==void 0?f:{key:"unknown"};t=rn(t,(A=e.imageURL)===null||A===void 0?void 0:A.transform,p);var y=Ho(t),v=(m=e.viaAjax)!==null&&m!==void 0?m:jc,g=qo(t),x=/^https?:/.test(y);if(g?v=!0:x||(v=!1),v){var b=null,w="blob";return e.fetcher.ajax(t,{timeout:e.timeout,responseType:w},void 0,void 0,a).then(function(M){return La(M.body)}).then(function(M){return Jo(M,e.maxSize)}).then(function(M){return Object.assign(M,h),M}).then(function(M){var k={meta:b,body:M};return r(k),k}).catch(function(M){return i(M),Promise.reject(M)})}else{var E=null,I;return Promise.resolve().then(function(){return Ii()}).then(function(M){return I=M,e.fetcher.loadImage(t,{timeout:e.timeout},void 0,void 0,a,M)}).then(function(M){return E=M.meta,Jo(M.body,e.maxSize)}).then(function(M){return Object.assign(M,h),M}).then(function(M){var k={meta:E,body:M};return r(k),k}).catch(function(M){return I&&I.close(),i(M),Promise.reject(M)})}},n.prototype.loadCubeTexture=function(t,e,r,i,a,o){var s,l,u,c,f,A,m;r===void 0&&(r=D),i===void 0&&(i=D),a===void 0&&(a=D);var h={};typeof e.format!="undefined"&&(h.format=e.format),h.generateMipmaps=(s=e.generateMipmaps)!==null&&s!==void 0?s:!1,h.minFilter=(l=e.minFilter)!==null&&l!==void 0?l:d.LinearFilter,h.magFilter=(u=e.magFilter)!==null&&u!==void 0?u:d.LinearFilter;for(var p=[t[_r[0]],t[_r[1]],t[_r[2]],t[_r[3]],t[_r[4]],t[_r[5]]],y=[],v=[0,0,0,0,0,0],g=[],x=function(w){var E=(f=(c=e.imageURL)===null||c===void 0?void 0:c.options)!==null&&f!==void 0?f:{key:"unknown"},I=rn(p[w],(A=e.imageURL)===null||A===void 0?void 0:A.transform,L(L({},E),{key:E.key+"."+_r[w]})),M=Ho(I),k=function(V){v[w]=V,a(v.reduce(function(z,j){return z+j},0)/6)},B=(m=e.viaAjax)!==null&&m!==void 0?m:!1,C=/^https?:$/.test(M),T=qo(I);if(T?B=!0:C||(B=!1),B){var O="blob",P=e.fetcher.ajax(I,{timeout:e.timeout,responseType:O},void 0,void 0,k).then(function(V){return g[w]=V.meta,La(V.body)});y.push(P)}else{var F,P=Promise.resolve().then(function(){return Ii()}).then(function(z){return F=z,e.fetcher.loadImage(I,{timeout:e.timeout},void 0,void 0,k,z)}).then(function(z){return g[w]=z.meta,z.body}).catch(function(z){return F&&F.close(),Promise.reject(z)});y.push(P)}},b=0;b<6;b++)x(b);return Promise.all(y).then(function(w){return Xc(w)}).then(function(w){return Object.assign(w,L({encoding:d.sRGBEncoding},h)),w}).then(function(w){var E={body:w,meta:g};return r(E),E}).catch(function(w){for(var E=0,I=y;E<I.length;E++){var M=I[E];M.then(function(k){return k.close()}).catch(D)}return i(w),Promise.reject(w)})},n.prototype.loadTiledCubeTexture=function(t,e,r,i,a,o,s){var l=this;return i===void 0&&(i=D),a===void 0&&(a=D),o===void 0&&(o=D),new Promise(function(u,c){var f,A;l.loadCubeTexture(t,{imageURL:{transform:(f=r.imageURL)===null||f===void 0?void 0:f.transform,options:(A=r.imageURL)===null||A===void 0?void 0:A.options},format:d.RGBAFormat,viaAjax:r.viaAjax,timeout:r.timeout,fetcher:r.fetcher,magFilter:r.magFilter,minFilter:r.minFilter,generateMipmaps:r.generateMipmaps},function(m){var h,p=m.meta,y=m.body,v=(h=r.tileMaxLevel)!==null&&h!==void 0?h:2,g=Math.max(1024*v,512),x=Ra(v),b=new Ne(y,x,e,{textureSize:g,textureLoader:l,imageURL:r.imageURL,magFilter:r.magFilter,minFilter:r.minFilter,generateMipmaps:r.generateMipmaps,timeout:r.timeout,fetcher:r.fetcher},s),w={meta:p,body:b};i(w),u(w)},function(m){a(m),c(m)},o,s).catch(D)})},n}();const Wc=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,a=0,o="";return t[a].split(o).map(function(s){return s.charCodeAt(a)>i?s:String.fromCharCode((s.charCodeAt(a)+r)%i)}).join(o)}("n\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{H0v{pyqr-Ip|zz|{K0v{pyqr-Iz|}untrl}nlrr\x07K0v{pyqr-Ixv{{v{tl}nlrr\x07K0v{pyqr-Iy|tqr}uosl}nlrr\x07K0v{pyqr-Ipyv}}v{tl}yn{rl}nlrr\x07K|vq-znv{56-\n--0v{pyqr-Ixv{onrlrr\x07K--0v{pyqr-Iortv{lrr\x07K--0v{pyqr-Iz|}untrlrr\x07K--0v{pyqr-Ixv{{v{tlrr\x07K--0v{pyqr-I}|wrplrr\x07K--0v{pyqr-Iy|tqr}uoslrr\x07K--0v{pyqr-Ipyv}}v{tl}yn{rlrr\x07K--d|yq]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----d|yq]|vv|{-J-v{n{prZnv\x07-7-d|yq]|vv|{H--0r{qvs--d|yq]|vv|{-J-z|qryZnv\x07-7-d|yq]|vv|{H--zn@-pnzrn_|nv|{Znv\x07-J-zn@5vrZnv\x07h=jh=j9-vrZnv\x07h>jh=j9-vrZnv\x07h?jh=j9-vrZnv\x07h=jh>j9-vrZnv\x07h>jh>j9-vrZnv\x07h?jh>j9-vrZnv\x07h=jh?j9-vrZnv\x07h>jh?j9-vrZnv\x07h?jh?j6H--PnzrnQvrpv|{-J-{|znyv r5pnzrn_|nv|{Znv\x07-7-rp@5=;=9-=;=9-:>;=66H--0v{pyqr-I|yq}|lrr\x07K--0v{pyqr-Is|tlrr\x07K\f"),_c=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,a=0,o="";return t[a].split(o).map(function(s){return s.charCodeAt(a)>i?s:String.fromCharCode((s.charCodeAt(a)+r)%i)}).join(o)}("0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=6{vs|z-nz}yrPor-}n{|=lzn}H{vs|z-znA-}n{|=lznv\x07H{vs|z-sy|n-}n{|=l ||zH0vs-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\x07H{vs|z-sy|n-}n{|>l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|>lyzv{n{prZn}H0r{qvs{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6--{vs|z-rp@-p|{n{P|y|H0r{qvsn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{H{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H{vs|z-sy|n-|}npv\bH{vs|z-sy|n-ovtu{rH0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-Iqvurv{tl}nlsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-I}rpynzn}l}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{Krp@- ||zcrp|5rp@-qvrpv|{9-rp@-rp|9-sy|n- ||z6-\n--sy|n-urn-J-q|5qvrpv|{9-rp|6H--rp@-q-J-qvrpv|{-7-urnH--rp@-}-J-rp|-:-qH--rp@-\0-J-}-7- ||zH--r{-{|znyv r5q-8-\x006H\f|vq-znv{56-\n--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--tylSntP|y|-J-rpA5>;=9->;=9->;=9-|}npv\b6H--<<-JJJ-纯色-JJJ--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-|}npv\b6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|=lznv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=l ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=lznv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|>lznv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>l ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-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--tylSntP|y|-J-zv\x075}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H--tylSntP|y|;n-J-|}npv\b-7-ovtu{rH--<<-JJJJJJJJJJJJJJJJ--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0v{pyqr-Iqvurv{tlsntzr{K\f"),Zc=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,a=0,o="";return t[a].split(o).map(function(s){return s.charCodeAt(a)>i?s:String.fromCharCode((s.charCodeAt(a)+r)%i)}).join(o)}("0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvs0vs-qrsv{rq5b`RlcR_aRelZN_X6--nvor-sy|n-znxH0r{qvsn\bv{t-sy|n-V_||sZnxHn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-cvr]|vv|{H0v{pyqr-Ip|zz|{K0v{pyqr-Il}nlrr\x07K0v{pyqr-I?l}nlrr\x07K0v{pyqr-Ir{zn}l}nlrr\x07K0v{pyqr-Ip|y|l}nlrr\x07K0v{pyqr-Is|tl}nlrr\x07K0v{pyqr-Iz|}untrl}nlrr\x07K0v{pyqr-Ixv{{v{tl}nlrr\x07K0v{pyqr-Iy|tqr}uosl}nlrr\x07K0v{pyqr-Ipyv}}v{tl}yn{rl}nlrr\x07K|vq-znv{56-\n--0v{pyqr-Ilrr\x07K--0v{pyqr-I?lrr\x07K--0v{pyqr-Ip|y|lrr\x07K--0v{pyqr-Ixv{onrlrr\x07K--0vsqrs-b`RlR[cZN]--0v{pyqr-Iortv{{|znylrr\x07K--0v{pyqr-Iz|}u{|znylrr\x07K--0v{pyqr-Ixv{{|znylrr\x07K--0v{pyqr-Iqrsny{|znylrr\x07K--0r{qvs--0v{pyqr-Iortv{lrr\x07K--0v{pyqr-Iz|}untrlrr\x07K--0v{pyqr-Ixv{{v{tlrr\x07K--0v{pyqr-I}|wrplrr\x07K--0v{pyqr-Iy|tqr}uoslrr\x07K--0v{pyqr-Ipyv}}v{tl}yn{rlrr\x07K--cvr]|vv|{-J-:z]|vv|{;\x07\b H--d|yq]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----d|yq]|vv|{-J-v{n{prZnv\x07-7-d|yq]|vv|{H--0r{qvs--d|yq]|vv|{-J-z|qryZnv\x07-7-d|yq]|vv|{H--zn@-pnzrn_|nv|{Znv\x07-J-zn@5vrZnv\x07h=jh=j9-vrZnv\x07h>jh=j9-vrZnv\x07h?jh=j9-vrZnv\x07h=jh>j9-vrZnv\x07h>jh>j9-vrZnv\x07h?jh>j9-vrZnv\x07h=jh?j9-vrZnv\x07h>jh?j9-vrZnv\x07h?jh?j6H--PnzrnQvrpv|{-J-{|znyv r5pnzrn_|nv|{Znv\x07-7-rp@5=;=9-=;=9-:>;=66H--0vs-qrsv{rq5b`RlRQY6----Y|tQr}u-J-y|t?5:z]|vv|{; 6H--0r{qvs--V_||sZnx-J-=;=H--0vs-qrsv{rq5b`RlcR_aRelZN_X6----V_||sZnx-J-r}5no5znx-:->;=69-=;>6H--0r{qvs--0v{pyqr-I|yq}|lrr\x07K--0v{pyqr-Ir{zn}lrr\x07K--0v{pyqr-Is|tlrr\x07K\f"),Yc=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,a=0,o="";return t[a].split(o).map(function(s){return s.charCodeAt(a)>i?s:String.fromCharCode((s.charCodeAt(a)+r)%i)}).join(o)}("0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=6{vs|z-sy|n-sy||H{vs|z-nz}yrPor-}n{|=lzn}H{vs|z-znA-}n{|=lznv\x07H{vs|z-sy|n-}n{|=l ||zH0vs-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\x07H{vs|z-sy|n-}n{|>l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|>lyzv{n{prZn}H0r{qvs{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6--{vs|z-rp@-p|{n{P|y|H0r{qvsp-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{qvs0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvsn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-sy|n-V_||sZnxH{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H{vs|z-rp@-qvssrH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-ovtu{rH{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{H0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-Iqvurv{tl}nlsntzr{K0v{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-Ir{zn}lp|zz|{l}nlsntzr{K0v{pyqr-Ir{zn}l}nlsntzr{K0v{pyqr-Iporllrsyrpv|{lsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-I}rpynzn}l}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{Krp@- ||zcrp|5rp@-qvrpv|{9-rp@-rp|9-sy|n- ||z6-\n--sy|n-urn-J-q|5qvrpv|{9-rp|6H--rp@-q-J-qvrpv|{-7-urnH--rp@-}-J-rp|-:-qH--rp@-\0-J-}-7- ||zH--r{-{|znyv r5q-8-\x006H\f|vq-znv{56-\n--<<-JJJ-顶部裁切-JJJ--sy|n-||sP]|tr-J-}|5pynz}5:PnzrnQvrpv|{;\b9-=;=9->;=69-@;=6H--vs-5----V_||sZnx-K-=;B-33----d|yq]|vv|{;\b-K-z|qryO|{qv{tZn\x07;\b-:-||sP]|tr-7-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6--6-\n----qvpnqH--\f--<<-JJJJJJJJJJJJJJ--<<-JJJ-前置裁切计算-JJJ--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-d|yq]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5sy||-:-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--<<-JJJJJJJJJJJJJJJJJJ--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--rpA-qvssrP|y|-J-rpA5-qvssr9-|}npv\b-6H--0v{pyqr-Iy|tqr}uoslsntzr{K--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--_rsyrprqYvtu-rsyrprqYvtu-J-_rsyrprqYvtu5-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-6-6H--<<-nppzynv|{-5onxrq-v{qvrp-yvtuv{t-|{y\b6--0vsqrs-b`RlYVTUaZN]----rpA-yvtuZn}ar\x07ryJ-r\x07r?Q5-yvtuZn}9-b?-6H----rsyrprqYvtu;v{qvrpQvssr-8J-yvtuZn}ar\x07rya|Yv{rn5-yvtuZn}ar\x07ry-6;to-7-yvtuZn}V{r{v\bH--0ryr----rsyrprqYvtu;v{qvrpQvssr-8J-rp@5->;=-6H--0r{qvs--<<-z|qynv|{--0v{pyqr-In|zn}lsntzr{K--rsyrprqYvtu;v{qvrpQvssr-7J-qvssrP|y|;toH--rp@-|t|v{tYvtu-J-rsyrprqYvtu;v{qvrpQvssrH--0v{pyqr-Ir{zn}lsntzr{K--tylSntP|y|-J-rpA5-|t|v{tYvtu9-qvssrP|y|;n-6H--<<-JJJ-纯色-JJJ--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-|}npv\b6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-楼层显示-JJJ--sy|n-sy||\\}npv\b-J->;=H--vs-5u|{Sy||V{qr\x07-K-:=;=>-33-no5sy||-:-u|{Sy||V{qr\x076-K-=;FF6-\n----sy||\\}npv\b-J-=;?-7-zv{55>;=-8-PnzrnQvrpv|{;\b69->;=6H--\f--tylSntP|y|;n-J-tylSntP|y|;n-7-sy||\\}npv\b-7-ovtu{rH--<<-JJJJJJJJJJJJJJ--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|=lznv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=l ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=lznv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|>lznv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>l ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-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--tylSntP|y|-J-zv\x075}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H--<<-JJJJJJJJJJJJJ--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0v{pyqr-Iqvurv{tlsntzr{K--0vs-qrsv{rq5b`RlRQY6----tylSntP|y|;n-J-Y|tQr}uH--0r{qvs\f"),$c=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,a=0,o="";return t[a].split(o).map(function(s){return s.charCodeAt(a)>i?s:String.fromCharCode((s.charCodeAt(a)+r)%i)}).join(o)}("0qrsv{r-]U\\[T0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvs0vs-qrsv{rq5b`RlcR_aRelZN_X6--nvor-sy|n-znxH0r{qvsn\bv{t-sy|n-V_||sZnxHn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-cvr]|vv|{H0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-Il}nlrr\x07K0v{pyqr-I?l}nlrr\x07K0v{pyqr-Iqv}ynprzr{zn}l}nlrr\x07K0v{pyqr-Ir{zn}l}nlrr\x07K0v{pyqr-Ip|y|l}nlrr\x07K0v{pyqr-Is|tl}nlrr\x07K0v{pyqr-Iz|}untrl}nlrr\x07K0v{pyqr-Ixv{{v{tl}nlrr\x07K0v{pyqr-Iunq|zn}l}nlrr\x07K0v{pyqr-Iy|tqr}uosl}nlrr\x07K0v{pyqr-Ipyv}}v{tl}yn{rl}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-Iz|}u{|znylrr\x07K--0v{pyqr-Ixv{onrlrr\x07K--0v{pyqr-Ixv{{|znylrr\x07K--0v{pyqr-Iqrsny{|znylrr\x07K0vs{qrs-SYNal`UNQRQ-<<-[|zny-p|z}rq-vu-qrvnvr-ur{-SYNal`UNQRQ--[|zny-J-{|znyv r5-n{s|zrq[|zny-6H0r{qvs--0v{pyqr-Iortv{lrr\x07K--0v{pyqr-Iz|}untrlrr\x07K--0v{pyqr-Ixv{{v{tlrr\x07K--0v{pyqr-Iqv}ynprzr{zn}lrr\x07K--0v{pyqr-I}|wrplrr\x07K--0v{pyqr-Iy|tqr}uoslrr\x07K--0v{pyqr-Ipyv}}v{tl}yn{rlrr\x07K--cvr]|vv|{-J-:-z]|vv|{;\x07\b H--d|yq]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----d|yq]|vv|{-J-v{n{prZnv\x07-7-d|yq]|vv|{H--0r{qvs--d|yq]|vv|{-J-z|qryZnv\x07-7-d|yq]|vv|{H--zn@-pnzrn_|nv|{Znv\x07-J-zn@5vrZnv\x07h=jh=j9-vrZnv\x07h>jh=j9-vrZnv\x07h?jh=j9-vrZnv\x07h=jh>j9-vrZnv\x07h>jh>j9-vrZnv\x07h?jh>j9-vrZnv\x07h=jh?j9-vrZnv\x07h>jh?j9-vrZnv\x07h?jh?j6H--PnzrnQvrpv|{-J-{|znyv r5pnzrn_|nv|{Znv\x07-7-rp@5=;=9-=;=9-:>;=66H--0vs-qrsv{rq5b`RlRQY6----Y|tQr}u-J-y|t?5:z]|vv|{; 6H--0r{qvs--V_||sZnx-J-=;=H--0vs-qrsv{rq5b`RlcR_aRelZN_X6----V_||sZnx-J-r}5no5znx-:->;=69-=;>6H--0r{qvs--0v{pyqr-I|yq}|lrr\x07K--0v{pyqr-Ir{zn}lrr\x07K--0v{pyqr-Iunq|zn}lrr\x07K--0v{pyqr-Is|tlrr\x07K\f"),ed=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,a=0,o="";return t[a].split(o).map(function(s){return s.charCodeAt(a)>i?s:String.fromCharCode((s.charCodeAt(a)+r)%i)}).join(o)}("0qrsv{r-]U\\[T0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=6{vs|z-sy|n-sy||H{vs|z-nz}yrPor-}n{|=lzn}H{vs|z-znA-}n{|=lznv\x07H{vs|z-sy|n-}n{|=l ||zH0vs-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\x07H{vs|z-sy|n-}n{|>l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|>lyzv{n{prZn}H0r{qvs{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6--{vs|z-rp@-p|{n{P|y|H0r{qvsp-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{qvs0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvsn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-sy|n-V_||sZnxH{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H{vs|z-rp@-qvssrH{vs|z-rp@-rzvvrH{vs|z-rp@-}rpynH{vs|z-sy|n-uv{v{rH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-ovtu{rH{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{H0v{pyqr-Ip|zz|{K0v{pyqr-I}npxv{tK0v{pyqr-Iqvurv{tl}nlsntzr{K0v{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}lp|zz|{l}nlsntzr{K0v{pyqr-Ir{zn}l}nlsntzr{K0v{pyqr-Iporllrsyrpv|{lsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-IoqsK0v{pyqr-Iyvtul}nlortv{K0v{pyqr-Iyvtul}u|{tl}nlsntzr{K0v{pyqr-Iunq|zn}l}nlsntzr{K0v{pyqr-Ioz}zn}l}nlsntzr{K0v{pyqr-I{|znyzn}l}nlsntzr{K0v{pyqr-I}rpynzn}l}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{Krp@- ||zcrp|5rp@-qvrpv|{9-rp@-rp|9-sy|n- ||z6-\n--sy|n-urn-J-q|5qvrpv|{9-rp|6H--rp@-q-J-qvrpv|{-7-urnH--rp@-}-J-rp|-:-qH--rp@-\0-J-}-7- ||zH--r{-{|znyv r5q-8-\x006H\f|vq-znv{56-\n--<<-JJJ-顶部裁切-JJJ--sy|n-||sP]|tr-J-}|5pynz}5:PnzrnQvrpv|{;\b9-=;=9->;=69-@;=6H--vs-5----V_||sZnx-K-=;B-33----d|yq]|vv|{;\b-K-z|qryO|{qv{tZn\x07;\b-:-||sP]|tr-7-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6--6-\n----qvpnqH--\f--<<-JJJJJJJJJJJJJJ--<<-JJJ-前置裁切计算-JJJ--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-d|yq]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5sy||-:-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--<<-JJJJJJJJJJJJJJJJ--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--rpA-qvssrP|y|-J-rpA5-qvssr9-|}npv\b-6H--_rsyrprqYvtu-rsyrprqYvtu-J-_rsyrprqYvtu5-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-6-6H--rp@-|nyRzvvr_nqvn{pr-J-rzvvrH--0v{pyqr-Iy|tqr}uoslsntzr{K--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--<<-nppzynv|{--0v{pyqr-Iyvtul}u|{tlsntzr{K--0v{pyqr-Iyvtulsntzr{lortv{K--0v{pyqr-Iyvtulsntzr{lzn}K--0v{pyqr-Iyvtulsntzr{lr{qK--<<-z|qynv|{--0v{pyqr-In|zn}lsntzr{K--rp@-|t|v{tYvtu-J-rsyrprqYvtu;qvrpQvssr-8-rsyrprqYvtu;v{qvrpQvssr-8-rsyrprqYvtu;qvrp`}rpyn-8-rsyrprqYvtu;v{qvrp`}rpyn-8-|nyRzvvr_nqvn{prH--0v{pyqr-Ir{zn}lsntzr{K--tylSntP|y|-J-rpA5-|t|v{tYvtu9-qvssrP|y|;n-6H--<<-JJJ-纯色-JJJ--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-|}npv\b6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-楼层显示-JJJ--sy|n-sy||\\}npv\b-J->;=H--vs-5u|{Sy||V{qr\x07-K-:=;=>-33-no5sy||-:-u|{Sy||V{qr\x076-K-=;FF6-\n----sy||\\}npv\b-J-=;?-7-zv{55>;=-8-PnzrnQvrpv|{;\b69->;=6H--\f--tylSntP|y|;n-J-tylSntP|y|;n-7-sy||\\}npv\b-7-ovtu{rH--<<-JJJJJJJJJJJJJJ--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|=lznv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=l ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=lznv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|>lznv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>l ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-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--tylSntP|y|-J-zv\x075}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H--<<-JJJJJJJJJJJJJJ--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0v{pyqr-Iqvurv{tlsntzr{K--0vs-qrsv{rq5b`RlRQY6----tylSntP|y|;n-J-Y|tQr}uH--0r{qvs\f");function Ot(n,t){var e=Math.abs(Math.cos(n.latitude)),r=-Math.sin(n.longitude)*e,i=-Math.sin(n.latitude),a=-Math.cos(n.longitude)*e;return t?t.set(r,i,a):new d.Vector3(r,i,a)}var td=1,rd=.1,nd=2e3,ui=Math.PI*2,Wo=Math.PI/2;function Yi(n){return n>0&&n<=ui?n:(n%ui+ui)%ui}function id(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 zi=function(n){ue(t,n);function t(e,r,i,a,o,s,l){r===void 0&&(r=td),i===void 0&&(i=rd),a===void 0&&(a=nd),o===void 0&&(o=new d.Vector2),s===void 0&&(s=new d.Vector2(512,512)),l===void 0&&(l=1);var u=n.call(this)||this;u.fov=e,u.aspect=r,u.near=i,u.far=a,u.perspToOrtho=o,u.resolution=s,u.pixelRatio=l,u.needsRender=!0,u.refineModel=!0,u.pose={longitude:0,latitude:0,fov:e,distance:0,offset:new d.Vector3},u.computePose(),u.perspectiveCamera=new d.PerspectiveCamera(u.fov,u.aspect,.001,u.far);var c=Math.max(u.orthoDistance,.01)*Math.tan(.5*u.fov/180*Math.PI),f=-.5*u.aspect*2*c;return u.orthographicCamera=new d.OrthographicCamera(f,-f,c,-c,.001,u.far),u.computeProjectionMatrix(),u.lastValues={position:u.position.clone(),quaternion:u.quaternion.clone(),scale:u.scale.clone(),fov:u.fov,aspect:u.aspect,near:u.near,far:u.far,orthoDistance:u.orthoDistance,perspToOrtho:u.perspToOrtho.clone()},u.type=u.perspToOrtho.x<1?"PerspectiveCamera":"OrthographicCamera",u}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 Ot(this.pose,e)},t.prototype.computePose=function(e){e===void 0&&(e=0),this.updateMatrix();var r=this.matrix.elements;return this.pose.latitude=Math.asin(fe(r[9],-1,1)),Math.abs(r[9])<.9999999?this.pose.longitude=Yi(Math.atan2(r[8],r[10])):this.pose.longitude=Yi(Math.atan2(-r[2],r[0])),this.pose.fov=this.fov,this.pose.distance=e,this.pose.offset=new d.Vector3(-r[8],-r[9],-r[10]).setLength(this.pose.distance).add(this.position),this},t.prototype.setFromPose=function(e){var r,i,a,o,s,l=Yi((r=e.longitude)!==null&&r!==void 0?r:this.pose.longitude),u=Math.max(-Wo+1e-4,Math.min(Wo-1e-4,(i=e.latitude)!==null&&i!==void 0?i:this.pose.latitude)),c=(a=e.fov)!==null&&a!==void 0?a:this.pose.fov,f=(o=e.distance)!==null&&o!==void 0?o:this.pose.distance,A=(s=e.offset)!==null&&s!==void 0?s:this.pose.offset,m=Ot({longitude:l,latitude:u}).normalize();return this.position.set(0,0,0),this.lookAt(m),this.position.add(A).sub(m.clone().setLength(f)),this.fov!==c&&(this.fov=c,this.updateProjectionMatrix()),this.updateMatrixWorld(),this.pose.longitude=l,this.pose.latitude=u,this.pose.fov=c,this.pose.distance=f,this.pose.offset.copy(A),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(){id(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,a,o,s){this.perspectiveCamera.setViewOffset(e,r,i,a,o,s),this.orthographicCamera.setViewOffset(e,r,i,a,o,s),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.orthoDistance!==this.orthoDistance||this.lastValues.aspect!==this.aspect){var a=Math.max(this.orthoDistance,.01)*Math.tan(.5*this.fov/180*Math.PI),o=-.5*this.aspect*2*a;this.orthographicCamera.left=o,this.orthographicCamera.right=-o,this.orthographicCamera.top=a,this.orthographicCamera.bottom=-a,this.orthographicCamera.near=this.near,this.orthographicCamera.far=this.far,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.orthoDistance=this.orthoDistance,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(Ee(),0),this},t}(d.Camera),ad=new d.Vector4,$i={modelAlpha:new d.Uniform(0),progress:new d.Uniform(0),pano0_map:new d.Uniform(null),pano0_luminanceMap:new d.Uniform(null),pano0_matrix:new d.Uniform(new d.Matrix4),pano0_zoom:new d.Uniform(1),pano1_map:new d.Uniform(null),pano1_luminanceMap:new d.Uniform(null),pano1_matrix:new d.Uniform(new d.Matrix4),pano1_zoom:new d.Uniform(1),clippers:new d.Uniform([]),shownFloorIndex:new d.Uniform(-1),constantColor:new d.Uniform(null),geometricError:new d.Uniform(0),pixelRatio:new d.Uniform(1),resolution:new d.Uniform(new d.Vector2(512,512)),floor:new d.Uniform(0),brightness:new d.Uniform(1),modelBoundingMin:new d.Uniform(new d.Vector3),modelBoundingMax:new d.Uniform(new d.Vector3)},od={none:{vertexShader:Wc,fragmentShader:_c,uniforms:d.UniformsUtils.merge([$i,{opacity:{value:1}},d.UniformsLib.fog]),lights:!1},basic:{vertexShader:Zc,fragmentShader:Yc,uniforms:d.UniformsUtils.merge([$i,d.ShaderLib.basic.uniforms]),lights:!1},phong:{vertexShader:$c,fragmentShader:ed,uniforms:d.UniformsUtils.merge([$i,d.ShaderLib.phong.uniforms]),lights:!0}},Tn=function(n){ue(t,n);function t(e,r){e===void 0&&(e="basic"),r===void 0&&(r={});var i=this,a,o,s,l,u,c,f,A,m,h,p,y,v,g,x,b,w,E,I,M,k,B=od[e];i=n.call(this,{vertexShader:B.vertexShader,fragmentShader:B.fragmentShader,uniforms:d.UniformsUtils.clone(B.uniforms),lights:B.lights,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_MARK:!1,USE_LUMINANCE:!1,USE_PANO_OPACITY:!1,USE_BLACK_TRANSITION:!1,USE_SPREAD_TRANSITION:!1,USE_POINT_NORMAL:!1,USE_POINT_CIRCLE:!1,USE_POINT_ADAPTIVE_SIZE:!1,USE_POINT_COLOR_ALTITUDE:!1}})||this,i.shaderType=e,i.color=new d.Color(16777215),i.map=null,i.lightMap=null,i.lightMapIntensity=1,i.aoMap=null,i.aoMapIntensity=1,i.specularMap=null,i.specular=new d.Color(1118481),i.alphaMap=null,i.envMap=null,i.reflectivity=1,i.refractionRatio=.98,i.emissiveMap=null,i.emissive=new d.Color(0),i.emissiveIntensity=1,i.bumpMap=null,i.bumpScale=1,i.normalMap=null,i.normalMapType=d.TangentSpaceNormalMap,i.normalScale=new d.Vector2(1,1),i.displacementMap=null,i.displacementScale=1,i.displacementBias=0,i.shininess=30;var C,T=null,O=null;return Object.defineProperties(i,{pano0:{get:function(){return T},set:function(P){if(T!==P){T=P,P===null?(this.uniforms.pano0_map.value=null,this.uniforms.pano0_luminanceMap.value=null,this.uniforms.pano0_matrix.value.identity(),this.uniforms.pano0_zoom.value=1):(this.uniforms.pano0_map.value=P.map instanceof Ne?P.map.texture:P.map,this.uniforms.pano0_luminanceMap.value=P.luminanceMap instanceof Ne?P.luminanceMap.texture:P.luminanceMap,this.uniforms.pano0_matrix.value.copy(P.matrix),this.uniforms.pano0_zoom.value=P.zoom);var F=this.uniforms.pano0_luminanceMap.value!==null&&this.uniforms.pano1_luminanceMap.value!==null,V=this.defines.USE_LUMINANCE;V!==F&&(this.defines.USE_LUMINANCE=F,this.needsUpdate=!0)}}},pano1:{get:function(){return O},set:function(P){if(O!==P){O=P,P===null?(this.uniforms.pano1_map.value=null,this.uniforms.pano1_luminanceMap.value=null,this.uniforms.pano1_matrix.value.identity(),this.uniforms.pano1_zoom.value=1):(this.uniforms.pano1_map.value=P.map instanceof Ne?P.map.texture:P.map,this.uniforms.pano1_luminanceMap.value=P.luminanceMap instanceof Ne?P.luminanceMap.texture:P.luminanceMap,this.uniforms.pano1_matrix.value.copy(P.matrix),this.uniforms.pano1_zoom.value=P.zoom);var F=this.uniforms.pano0_luminanceMap.value!==null&&this.uniforms.pano1_luminanceMap.value!==null,V=this.defines.USE_LUMINANCE;V!==F&&(this.defines.USE_LUMINANCE=F,this.needsUpdate=!0)}}},modelAlpha:{get:function(){return this.uniforms.modelAlpha.value},set:function(P){this.uniforms.modelAlpha.value=P}},progress:{get:function(){return this.uniforms.progress.value},set:function(P){this.uniforms.progress.value=P}},transition:{get:function(){return this.defines.USE_BLACK_TRANSITION?"BLACK":this.defines.USE_SPREAD_TRANSITION?"SPREAD":"FADE"},set:function(P){var F=this.defines.USE_BLACK_TRANSITION,V=this.defines.USE_SPREAD_TRANSITION;this.defines.USE_BLACK_TRANSITION=!1,this.defines.USE_SPREAD_TRANSITION=!1,this.defines["USE_".concat(P,"_TRANSITION")]=!0;var z=!1;F!==this.defines.USE_BLACK_TRANSITION&&(z=!0),V!==this.defines.USE_SPREAD_TRANSITION&&(z=!0),z&&(this.needsUpdate=!0)}},constantColor:{get:function(){return this.uniforms.constantColor.value},set:function(P){this.uniforms.constantColor.value=P;var F=this.defines.USE_CONSTANT_COLOR,V=P!==null;F!==V&&(this.defines.USE_CONSTANT_COLOR=V,this.needsUpdate=!0)}},opacity:{get:function(){return this.uniforms.opacity.value},set:function(P){this.uniforms.opacity.value=P}},shownFloorIndex:{get:function(){return this.uniforms.shownFloorIndex.value},set:function(P){this.uniforms.shownFloorIndex.value=P}},brightness:{get:function(){return this.uniforms.brightness.value},set:function(P){this.uniforms.brightness.value=P}},clippers:{get:function(){return C},set:function(P){C!==P&&(C=P,this.uniforms.clippers.value=(C||[]).map(function(F){var V=typeof F.floorIndex=="number"?F.floorIndex:-1,z=new d.Matrix4().getInverse(F.clippingBoxMatrix);return{matrixInverse:z,floorIndex:V}}),this.needsUpdate=!0)}},useEDL:{get:function(){return this.defines.USE_EDL},set:function(P){P!==this.defines.USE_EDL&&(this.defines.USE_EDL=P,this.needsUpdate=!0)}},useHQWeight:{get:function(){return this.defines.USE_HQ_WEIGHT},set:function(P){P!==this.defines.USE_HQ_WEIGHT&&(this.defines.USE_HQ_WEIGHT=P,this.needsUpdate=!0)}},useHQDepth:{get:function(){return this.defines.USE_HQ_DEPTH},set:function(P){P!==this.defines.USE_HQ_DEPTH&&(this.defines.USE_HQ_DEPTH=P,this.needsUpdate=!0)}},floor:{get:function(){return this.uniforms.floor.value},set:function(P){this.uniforms.floor.value=P}}}),i.pano0=(a=r.pano0)!==null&&a!==void 0?a:we.pano0,i.pano1=(o=r.pano1)!==null&&o!==void 0?o:we.pano1,i.modelAlpha=(s=r.modelAlpha)!==null&&s!==void 0?s:we.modelAlpha,i.progress=(l=r.progress)!==null&&l!==void 0?l:we.progress,i.transition=(u=r.transition)!==null&&u!==void 0?u:we.transition,i.constantColor=(c=r.constantColor)!==null&&c!==void 0?c:we.constantColor,i.opacity=(f=r.opacity)!==null&&f!==void 0?f:we.opacity,i.shownFloorIndex=(A=r.shownFloorIndex)!==null&&A!==void 0?A:we.shownFloorIndex,i.clippers=(m=r.clippers)!==null&&m!==void 0?m:we.clippers,i.useEDL=(h=r.useEDL)!==null&&h!==void 0?h:we.useEDL,i.useHQWeight=(p=r.useHQWeight)!==null&&p!==void 0?p:we.useHQWeight,i.useHQDepth=(y=r.useHQDepth)!==null&&y!==void 0?y:we.useHQDepth,i.pointSize=(v=r.pointSize)!==null&&v!==void 0?v:we.pointSize,i.pointColor=(g=r.pointColor)!==null&&g!==void 0?g:we.pointColor,i.pointShape=(x=r.pointShape)!==null&&x!==void 0?x:we.pointShape,i.pointScale=(b=r.pointScale)!==null&&b!==void 0?b:we.pointScale,i.pointBack=(w=r.pointBack)!==null&&w!==void 0?w:we.pointBack,i.pointMinPixel=(E=r.pointMinPixel)!==null&&E!==void 0?E:we.pointMinPixel,i.pointMaxPixel=(I=r.pointMaxPixel)!==null&&I!==void 0?I:we.pointMaxPixel,i.gradientTexture=(M=r.gradientTexture)!==null&&M!==void 0?M:we.gradientTexture,i.brightness=(k=r.brightness)!==null&&k!==void 0?k:we.brightness,i.floor=0,i.transparent=!0,i}return t.prototype.onBeforeCompile=function(e,r){var i,a,o=String((a=(i=this.clippers)===null||i===void 0?void 0:i.length)!==null&&a!==void 0?a:0);e.vertexShader=e.vertexShader.replace(/NUM_CLIPPERS/g,o),e.fragmentShader=e.fragmentShader.replace(/NUM_CLIPPERS/g,o)},t.prototype.refreshUniforms=function(e){var r,i,a=this.uniforms;a.diffuse&&a.diffuse.value.copy(this.color),a.opacity&&(a.opacity.value=this.opacity),a.color&&a.diffuse.value.copy(this.color),a.emissive&&a.emissive.value.copy(this.emissive).multiplyScalar(this.emissiveIntensity),a.map&&(a.map.value=this.map),a.alphaMap&&(a.alphaMap.value=this.alphaMap),a.specularMap&&(a.specularMap.value=this.specularMap),a.envMap&&(a.envMap.value=this.envMap,a.flipEnvMap.value=!((r=this.envMap)===null||r===void 0)&&r.isCubeTexture?-1:1,a.reflectivity.value=this.reflectivity,a.refractionRatio.value=this.refractionRatio,a.maxMipLevel.value=this.envMap&&(i=e.properties.get(this.envMap).__maxMipLevel)!==null&&i!==void 0?i:0),a.lightMap&&(a.lightMap.value=this.lightMap,a.lightMapIntensity.value=this.lightMapIntensity),a.aoMap&&(a.aoMap.value=this.aoMap,a.aoMapIntensity.value=this.aoMapIntensity),a.specular&&a.specular.value.copy(this.specular),a.shininess&&(a.shininess.value=Math.max(this.shininess,1e-4)),a.emissiveMap&&(a.emissiveMap.value=this.emissiveMap),a.bumpMap&&(a.bumpMap.value=this.bumpMap,a.bumpScale.value=this.bumpScale,this.side===d.BackSide&&(a.bumpScale.value*=-1)),a.normalMap&&(a.normalMap.value=this.normalMap,a.normalScale.value.copy(this.normalScale),this.side===d.BackSide&&a.normalScale.value.negate()),a.displacementMap&&(a.displacementMap.value=this.displacementMap,a.displacementScale.value=this.displacementScale,a.displacementBias.value=this.displacementBias);var o;this.map?o=this.map:this.specularMap?o=this.specularMap:this.displacementMap?o=this.displacementMap:this.normalMap?o=this.normalMap:this.bumpMap?o=this.bumpMap:this.alphaMap?o=this.alphaMap:this.emissiveMap&&(o=this.emissiveMap),o!==void 0&&(o.matrixAutoUpdate===!0&&o.updateMatrix(),a.uvTransform.value.copy(o.matrix));var s;this.aoMap?s=this.aoMap:this.lightMap&&(s=this.lightMap),s!==void 0&&(s.matrixAutoUpdate===!0&&s.updateMatrix(),a.uv2Transform.value.copy(s.matrix))},t.prototype.update=function(e,r){if(this.refreshUniforms(e),this.transparent=!1,this.shownFloorIndex>-1&&(this.transparent=this.shownFloorIndex!==this.floor),this.opacity<1&&(this.transparent=!0),this.alphaMap&&(this.transparent=!0),this.brightness<1&&(this.transparent=!0),this.depthTest=!0,this.depthWrite=!0,this.shaderType==="none"?this.depthWrite=!1:this.transparent&&(this.depthWrite=!1),r instanceof zi)this.uniforms.pixelRatio.value=r.pixelRatio,this.uniforms.resolution.value.copy(r.resolution);else{this.uniforms.pixelRatio.value=e.getPixelRatio();var i=e.getViewport(ad);this.uniforms.resolution.value.set(i.z,i.w)}},t.prototype.syncModel=function(e){var r="".concat(e.id,":").concat(e.materialVersion);r!==this.syncModelVersion&&(Object.assign(this,e.getMaterial()),this.uniforms.modelBoundingMax.value.copy(e.bounding.max),this.uniforms.modelBoundingMin.value.copy(e.bounding.min),this.syncModelVersion=r)},t.prototype.copy=function(e){return n.prototype.copy.call(this,e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.specular.copy(e.specular),this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.emissiveMap=e.emissiveMap,this.emissive.copy(e.emissive),this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.shininess=e.shininess,this.pano0=e.pano0,this.pano1=e.pano1,this.modelAlpha=e.modelAlpha,this.progress=e.progress,this.transition=e.transition,this.opacity=e.opacity,this.constantColor=e.constantColor,this.shownFloorIndex=e.shownFloorIndex,this.brightness=e.brightness,this.clippers=e.clippers,this.useEDL=e.useEDL,this.useHQWeight=e.useHQWeight,this.useHQDepth=e.useHQDepth,this.pointColor=e.pointColor,this.pointSize=e.pointSize,this.pointShape=e.pointShape,this.pointScale=e.pointScale,this.pointBack=e.pointBack,this.pointMinPixel=e.pointMinPixel,this.pointMaxPixel=e.pointMaxPixel,this.gradientTexture=e.gradientTexture,this.floor=e.floor,this},t}(d.ShaderMaterial),$r=function(n){ue(t,n);function t(e){var r=e.preserveDrawingBuffer,i=r===void 0?!0:r,a=e.premultipliedAlpha,o=a===void 0?!0:a,s=e.stencil,l=s===void 0?!0:s,u=e.backgroundColor,c=u===void 0?1579548:u,f=e.backgroundAlpha,A=f===void 0?1:f,m=e.pixelRatio,h=m===void 0?1:m,p=e.antialias,y=e.webgl2,v=e.logarithmicDepthBuffer,g=e.precision,x=this,b={antialias:p,alpha:!0,depth:!0,preserveDrawingBuffer:i,stencil:l,premultipliedAlpha:o,powerPreference:"high-performance"},w={logarithmicDepthBuffer:v,precision:g};if(y){var E=document.createElement("canvas"),I=E.getContext("webgl2",b);I?x=n.call(this,L(L(L({},b),w),{antialias:!0,canvas:E,context:I}))||this:(console.error("error occurred when getting webgl2 canvas context, mybe webgl2 not support, fallback to webgl."),x=n.call(this,L(L({},b),w))||this)}else x=n.call(this,L(L({},b),w))||this;return x.setPixelRatio(h),x.setClearColor(c,A),x.outputEncoding=d.sRGBEncoding,x.autoClear=!0,x}return t}(d.WebGLRenderer),S0=function(n){ue(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}(d.Scene),pt;(function(n){n[n.Outside=-1]="Outside",n[n.Intersecting=0]="Intersecting",n[n.Inside=1]="Inside"})(pt||(pt={}));var T0=1e-6,De=new d.Vector3,Dr=new d.Matrix4,Pr=new d.Vector3,Br=new d.Vector3,Rr=new d.Vector3,Oa=new d.Vector3,ea=new d.Box3,ta=new d.Sphere,_o=new d.Matrix4,ra=new d.Ray,ft=new d.Object3D,Zo=new d.Frustum;function P0(n,t){var e=n.elements;return t.setFromRotationMatrix(Dr.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 Qn=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 Dr.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),Zo.setFromProjectionMatrix(Dr),this.setFromFrustum(Zo),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=pt.Inside,r=0,i=this.planes;r<i.length;r++){var a=i[r],o=t.intersectPlane(a);switch(o){case pt.Outside:return pt.Outside;case pt.Intersecting:e=pt.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),a=0;a<i;++a){var o=1<<a;if(e&o){var s=this.planes[a],l=t.intersectPlane(s);if(l===pt.Outside)return n.MASK_OUTSIDE;l===pt.Intersecting&&(r|=o)}}return r},n}(),B0=function(){function n(){this.type="box",this.center=new d.Vector3,this.halfSize=new d.Vector3,this.rotation=new d.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],a=e[5],o=e[6],s=e[7],l=e[8],u=e[9],c=e[10],f=e[11],A=Math.sqrt(r*r+i*i+a*a),m=Math.sqrt(o*o+s*s+l*l),h=Math.sqrt(u*u+c*c+f*f);this.halfSize.set(A,m,h);var p=this.halfSize.toArray().reduce(function(y,v){return y+v},0);return(isNaN(p)||p<=0)&&this.halfSize.setScalar(T0),this.rotation.fromArray([r/A,i/A,a/A,o/m,s/m,l/m,u/h,c/h,f/h]),isNaN(this.rotation.toArray().reduce(function(y,v){return y+v},0))&&this.rotation.identity(),this},n.prototype.toJson=function(){return this.rotation.extractBasis(Pr,Br,Rr),{box:bt(bt(bt(bt([],this.center.toArray(),!0),Pr.multiplyScalar(this.halfSize.x).toArray(),!0),Br.multiplyScalar(this.halfSize.y).toArray(),!0),Rr.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 ft.position.copy(this.center),P0(this.rotation,ft.quaternion),ft.scale.copy(this.halfSize),ft.matrix.compose(ft.position,ft.quaternion,ft.scale),ft.matrix.premultiply(t),ft.matrix.decompose(ft.position,ft.quaternion,ft.scale),this.center.copy(ft.position),this.rotation.setFromMatrix4(Dr.makeRotationFromQuaternion(ft.quaternion)),this.halfSize.copy(ft.scale),this},n.prototype.getCenter=function(t){return t.copy(this.center)},n.prototype.distanceSquaredToPoint=function(t){var e=this.rotation.elements,r=t.x-this.center.x,i=t.y-this.center.y,a=t.z-this.center.z,o=0,s;return s=r*e[0]+i*e[1]+a*e[2],s<0&&(s=-s),s-=this.halfSize.x,s>0&&(o+=s*s),s=r*e[3]+i*e[4]+a*e[5],s<0&&(s=-s),s-=this.halfSize.y,s>0&&(o+=s*s),s=r*e[6]+i*e[7]+a*e[8],s<0&&(s=-s),s-=this.halfSize.z,s>0&&(o+=s*s),o},n.prototype.distanceToPoint=function(t){return Math.sqrt(this.distanceSquaredToPoint(t))},n.prototype.distanceToPlane=function(t){var e=t.projectPoint(this.center,new d.Vector3);return this.distanceToPoint(e)},n.prototype.getBoundingBox=function(t){return t.makeEmpty(),this.rotation.extractBasis(Pr,Br,Rr),Pr.setLength(this.halfSize.x),Br.setLength(this.halfSize.y),Rr.setLength(this.halfSize.z),t.expandByPoint(De.copy(this.center).add(Pr)),t.expandByPoint(De.copy(this.center).sub(Pr)),t.expandByPoint(De.copy(this.center).add(Br)),t.expandByPoint(De.copy(this.center).sub(Br)),t.expandByPoint(De.copy(this.center).add(Rr)),t.expandByPoint(De.copy(this.center).sub(Rr)),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);De.set(this.halfSize.x,this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,0),De.set(-this.halfSize.x,this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,3),De.set(-this.halfSize.x,-this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,6),De.set(this.halfSize.x,-this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,9),De.set(this.halfSize.x,this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,12),De.set(-this.halfSize.x,this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,15),De.set(-this.halfSize.x,-this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,18),De.set(this.halfSize.x,-this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,21);var r=new d.BufferGeometry;return r.setIndex(new d.BufferAttribute(t,1)),r.setAttribute("position",new d.BufferAttribute(e,3)),r.computeBoundingBox(),r.computeBoundingSphere(),r},n.prototype.intersectPlane=function(t){var e=this.center,r=t.normal,i=this.rotation.elements,a=this.halfSize,o=r.x,s=r.y,l=r.z,u=Math.abs(o*i[0]*a.x+s*i[1]*a.x+l*i[2]*a.x)+Math.abs(o*i[3]*a.y+s*i[4]*a.y+l*i[5]*a.y)+Math.abs(o*i[6]*a.z+s*i[7]*a.z+l*i[8]*a.z),c=r.dot(e)+t.constant;return c<=-u?pt.Outside:c>=u?pt.Inside:pt.Intersecting},n.prototype.intersectRay=function(t,e){if(Oa.copy(this.halfSize).multiplyScalar(2),ea.setFromCenterAndSize(De.set(0,0,0),Oa),this.rotation.extractBasis(Pr,Br,Rr),Dr.makeBasis(Pr,Br,Rr),Dr.setPosition(this.center),_o.getInverse(Dr),ra.copy(t).applyMatrix4(_o),ea.containsPoint(ra.origin))return!0;var r=ra.intersectBox(ea,De);return r?e!==void 0?r.applyMatrix4(Dr).distanceTo(t.origin)<e:!0:!1},n}(),R0=function(){function n(){this.type="sphere",this.center=new d.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],T0),this},n.prototype.toJson=function(){return{sphere:bt(bt([],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,Oa.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 a=new d.BufferGeometry;return a.setAttribute("position",new d.BufferAttribute(e,3)),a.computeBoundingBox(),a.computeBoundingSphere(),a},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.distanceSquaredToPoint=function(t){var e=this.distanceToPoint(t);return e*e},n.prototype.distanceToPoint=function(t){var e=this.center.distanceTo(t)-this.radius;return e<=0?0:e},n.prototype.distanceToPlane=function(t){var e=Math.abs(t.distanceToPoint(this.center));return Math.max(0,e-this.radius)},n.prototype.intersectPlane=function(t){var e=this.center,r=this.radius,i=t.normal,a=i.dot(e)+t.constant;return a<-r?pt.Outside:a<r?pt.Intersecting:pt.Inside},n.prototype.intersectRay=function(t,e){if(ta.set(this.center,this.radius),ta.containsPoint(t.origin))return!0;var r=t.intersectSphere(ta,De);return r?e!==void 0?t.origin.distanceTo(r)<e:!0:!1},n}(),sd=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.distanceToPoint=function(t){throw new Error("not implemented")},n.prototype.distanceSquaredToPoint=function(t){throw new Error("not implemented")},n.prototype.distanceToPlane=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 Ai(n){if("box"in n)return new B0().fromJson(n);if("sphere"in n)return new R0().fromJson(n);if("region"in n)return new sd().fromJson(n);throw new Error("BoundingVolume ".concat(JSON.stringify(n)," never suppored."))}var li=[4821759,8191922,16637280,16739958,5822969,376977,16747077,9259235,14514687].map(function(n){return new d.LineBasicMaterial({color:n,depthWrite:!1,depthTest:!1,transparent:!0})}),ud=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);De.set(1,1,1).toArray(t,0),De.set(-1,1,1).toArray(t,3),De.set(-1,-1,1).toArray(t,6),De.set(1,-1,1).toArray(t,9),De.set(1,1,-1).toArray(t,12),De.set(-1,1,-1).toArray(t,15),De.set(-1,-1,-1).toArray(t,18),De.set(1,-1,-1).toArray(t,21);var e=new d.BufferGeometry;return e.setIndex(new d.BufferAttribute(n,1)),e.setAttribute("position",new d.BufferAttribute(t,3)),e.computeBoundingBox(),e.computeBoundingSphere(),e}(),ld=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 d.BufferGeometry;return i.setAttribute("position",new d.BufferAttribute(t,3)),i.computeBoundingBox(),i.computeBoundingSphere(),i}();function cd(n,t){if(n instanceof B0){var e=new d.LineSegments(ud,li[Math.min(t,li.length-1)]);return e.position.copy(n.center),P0(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 R0){var e=new d.LineSegments(ld,li[Math.min(t,li.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 dd=new d.Vector3,so=function(){function n(t,e,r,i){var a=this,o,s,l,u;this.parent=null,this.floor=0,this.id=t,this.state={visible:!1,frameNumber:0,selectedFrameNumber:0,requestedFrameNumber:0,touchedFrameNumber:0,distanceToCamera:0,centerZDepth:0,screenSpaceError:0,visibilityPlaneMask:0,inRequestVolume:!1,shouldRefine:!1,stackLength:0,finalResolution:!0,selectionDepth:0,shouldSelect:!1,lastSelect:!1,ancestorWithContent:null,ancestorWithContentAvailable:null},this.parent=i!=null?i:null,this.level=this.parent?this.parent.level+1:0,this.tileset=r,this.refine=(o=e.refine)!==null&&o!==void 0?o:this.parent?this.parent.refine:"REPLACE",this.transform=new d.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=(s=this.parent)===null||s===void 0?void 0:s.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=Ai(e.content.boundingVolume).applyMatrix4(this.transform)),/\.json$/.test(this.content.uri)?this.type="TILESET":this.type="SCENEGRAPH"):(this.content=null,this.type="EMPTY"),this.levelOfContent=this.parent?this.parent.levelOfContent:-1,this.type==="SCENEGRAPH"&&(this.levelOfContent=this.levelOfContent+1),e.boundingVolume&&(this.boundingVolume=Ai(e.boundingVolume).applyMatrix4(this.transform)),e.viewerRequestVolume&&(this.viewerRequestVolume=Ai(e.viewerRequestVolume).applyMatrix4(this.transform)),this.extras=(u=e.extras)!==null&&u!==void 0?u:{},typeof this.extras.floor!="number"&&i&&typeof i.extras.floor=="number"&&(this.extras.floor=i.extras.floor),typeof this.extras.floor=="number"&&(this.floor=this.extras.floor),this.boundingVolume&&(this.boundingVolumeDebugObject=cd(this.boundingVolume,this.levelOfContent)),e.children?this.children=e.children.map(function(c,f){return new n("".concat(a.id,".").concat(f),c,r,a)}):this.children=[]}return n.prototype.traverse=function(t){t(this);for(var e=0,r=this.children;e<r.length;e++){var i=r[e];i.traverse(t)}},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;if(t.camera.type==="OrthographicCamera"){var i=new d.Plane().setFromNormalAndCoplanarPoint(t.camera.direction,t.camera.position);this.state.distanceToCamera=r.distanceToPlane(i)}else this.state.distanceToCamera=r.distanceToPoint(t.camera.position);var a=r.getCenter(dd).sub(t.camera.position);this.state.centerZDepth=t.camera.direction.dot(a);var o=this.parent?this.parent.state.visibilityPlaneMask:Qn.MASK_INDETERMINATE;this.state.visibilityPlaneMask=t.cullingVolume.computeVisibilityWithPlaneMask(r,o),this.state.visible=this.state.visibilityPlaneMask!==Qn.MASK_OUTSIDE}else this.state.distanceToCamera=0,this.state.centerZDepth=0,this.state.visibilityPlaneMask=Qn.MASK_INDETERMINATE,this.state.visible=!0;if(this.state.distanceToCamera<t.camera.near&&(this.state.distanceToCamera=t.camera.near),this.levelOfContent<=0&&(this.state.visible=!0),this.viewerRequestVolume){var s=e?this.viewerRequestVolume.clone().applyMatrix4(e):this.viewerRequestVolume;this.state.inRequestVolume=s.distanceSquaredToPoint(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==="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(a){return i.done(),r.loadState=a?"READY":"UNLOADED",a}).catch(function(a){return r.loadState="FAILED",i.done(),Promise.reject(a)}):(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(),a=this.parent?this.parent.geometricError:this.tileset.geometricError,o=i*(r?a:this.geometricError);if(o===0)return 0;var s=Math.max(e,.001),l=o*t.height/(s*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,a=this.tileset.root?this.tileset.root.state.screenSpaceError:0,o=Math.max(a-i,0);return o},n}(),k0=function(){function n(t){this.tileset=t,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(){}},a=new Promise(function(o){return i.resolve=o});return this.requestQueue.push(i),this.requestMap.set(t,a),this.issueNewRequests(),a},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,a=!1,o=function(){a||(a=!0,e.requestMap.delete(r),e.activeRequests--,e.issueNewRequests())};this.activeRequests++,i({done:o})},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.tileset.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,a){return i.priority-a.priority})},n.prototype.updateRequest=function(t){return t.priority=t.getPriority(t.identiy),t.priority<0?(t.resolve(null),!1):!0},n}(),fd=function(){function n(t,e,r){this.item=t,this.previous=e,this.next=r}return n}(),hd=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 fd(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}(),F0=function(){function n(){this.cacheNodeMap=new Map,this.list=new hd,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}(),bn=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),this.array[this._length]=void 0,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.prototype.peek=function(){return this.array[this._length-1]},n}(),L0=function(){function n(t){this.tileset=t,this._canSelectTile=!0,this.root=null}return n.prototype.traverse=function(t,e,r){this.root=t,this.reset()},n.prototype.reset=function(){this.tileset.hasMixedContent=!1,this.tileset.needsRefinedTiles.clear(),this.tileset.requestedTiles.length=0,this.tileset.selectedTiles.length=0},n.prototype.updateTile=function(t,e){this.updateTileVisibility(t,e),t.state.shouldSelect=!1,t.state.finalResolution=!0},n.prototype.selectTile=function(t,e){var r=t.contentAvailable&&this._canSelectTile;r&&(t.state.selectedFrameNumber=e.frameNumber,this.tileset.selectedTiles.push(t),this.tileset.needsRefinedTiles.add(t))},n.prototype.loadTile=function(t,e){t.hasUnloadedContent&&(t.state.requestedFrameNumber=e.frameNumber,this.tileset.requestedTiles.push(t)),this.tileset.needsRefinedTiles.add(t)},n.prototype.touchTile=function(t,e){this.tileset.cache.touch(t),t.state.touchedFrameNumber=e.frameNumber},n.prototype.canTraverse=function(t,e){return t.levelOfContent>=e.maxLevelOfDetail||t.children.length===0?!1:t.levelOfContent<=e.minLevelOfDetail||t.hasTilesetContent?!0:t.state.screenSpaceError>e.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}var a=t.refine==="REPLACE";if(a&&r&&!this.anyChildrenVisible(t,e)){t.state.visible=!1;return}}},n.prototype.anyChildrenVisible=function(t,e){for(var r=!1,i=t.children,a=0,o=i;a<o.length;a++){var s=o[a];s.updateState(e),r=r||s.state.visible}return r},n.prototype.meetsScreenSpaceErrorEarly=function(t,e){var r=t.parent;return!r||r.refine!=="ADD"||r.levelOfContent<e.minLevelOfDetail?!1:r.levelOfContent>e.maxLevelOfDetail?!0:t.getScreenSpaceError(e,t.state.distanceToCamera,!0)<e.maxScreenSpaceError},n.prototype.sortTilesByDistanceToCamera=function(t){t.sort(function(e,r){return r.state.distanceToCamera===0&&e.state.distanceToCamera===0?r.state.centerZDepth-e.state.centerZDepth:r.state.distanceToCamera-e.state.distanceToCamera})},n}(),pd=function(n){ue(t,n);function t(e){var r=n.call(this,e)||this;return r.tileset=e,r._traversalStack=new bn,r._emptyTraversalStack=new bn,r}return t.prototype.traverse=function(e,r,i){i===void 0&&(i=[]),n.prototype.traverse.call(this,e,r,i);for(var a=0,o=i;a<o.length;a++){var s=o[a];this._traversalStack.reset(),this._emptyTraversalStack.reset(),s.camera.refine&&(this._canSelectTile=s.camera.visible,this.updateTile(e,s),this.executeTraversal(e,s))}this._traversalStack.reset(),this._emptyTraversalStack.reset(),r.camera.refine&&(this._canSelectTile=r.camera.visible,this.updateTile(e,r),this.executeTraversal(e,r))},t.prototype.reset=function(){n.prototype.reset.call(this),this._traversalStack.reset(),this._emptyTraversalStack.reset()},t.prototype.executeTraversal=function(e,r){var i=this._traversalStack;for(e.state.visible&&e.state.inRequestVolume&&i.push(e);i.length>0;){var a=i.pop(),o=a.parent,s=!o||o.state.shouldRefine,l=!1;this.canTraverse(a,r)&&(l=this.updateAndPushChildren(a,r,i)&&s);var u=!l&&s;a.hasRenderContent?a.refine==="ADD"?(this.loadTile(a,r),this.selectDesiredTile(a,r)):a.refine==="REPLACE"&&(this.loadTile(a,r),u&&this.selectDesiredTile(a,r)):(this.loadTile(a,r),u&&this.selectDesiredTile(a,r)),this.touchTile(a,r),a.state.shouldRefine=l}},t.prototype.updateAndPushChildren=function(e,r,i){for(var a=e.children,o=0,s=a;o<s.length;o++){var l=s[o];this.updateTile(l,r)}this.sortTilesByDistanceToCamera(a);for(var u=e.refine==="REPLACE"&&e.hasRenderContent,c=!1,f=!0,A=0,m=a;A<m.length;A++){var l=m[A];if(l.state.visible&&l.state.inRequestVolume?(i.find(l)&&i.delete(l),i.push(l),c===!1&&(c=!0)):(u||this.tileset.loadSiblings)&&(this.loadTile(l,r),this.touchTile(l,r)),u){var h=void 0;l.state.inRequestVolume?l.hasRenderContent?h=l.contentAvailable:h=this.executeEmptyTraversal(l,r):h=!1,f=f&&h}}return c||(f=!1),f},t.prototype.selectDesiredTile=function(e,r){e.contentAvailable&&n.prototype.selectTile.call(this,e,r)},t.prototype.executeEmptyTraversal=function(e,r){var i=!0,a=this._emptyTraversalStack;for(a.push(e);a.length>0&&i;){var o=a.pop(),s=!o.hasRenderContent&&this.canTraverse(o,r);if(!s&&!o.contentAvailable&&(i=!1),this.updateTile(o,r),o.state.visible||(this.loadTile(o,r),this.touchTile(o,r)),s)for(var l=o.children,u=0,c=l;u<c.length;u++){var f=c[u];a.find(f)&&a.delete(f),a.push(f)}}return i},t}(L0),vd=function(n){ue(t,n);function t(e){var r=n.call(this,e)||this;return r.tileset=e,r.baseScreenSpaceError=1024,r.skipScreenSpaceErrorFactor=16,r.skipLevels=1,r._traversalStack=new bn,r._descendantTraversalStack=new bn,r._selectionTraversalStack=new bn,r._selectionTraversalancestorStack=new bn,r}return t.prototype.traverse=function(e,r,i){i===void 0&&(i=[]),n.prototype.traverse.call(this,e,r,i);for(var a=0,o=i;a<o.length;a++){var s=o[a];this._traversalStack.reset(),s.camera.refine&&(this._canSelectTile=s.camera.visible,this.updateTile(e,s),this.executeTraversal(e,s),this.traverseAndSelect(e,s))}this.tileset.hasMixedContent=!1,this._traversalStack.reset(),this._descendantTraversalStack.reset(),this._selectionTraversalStack.reset(),this._selectionTraversalancestorStack.reset(),r.camera.refine&&(this._canSelectTile=r.camera.visible,this.updateTile(e,r),this.executeTraversal(e,r),this.traverseAndSelect(e,r))},t.prototype.reset=function(){n.prototype.reset.call(this),this._traversalStack.reset(),this._descendantTraversalStack.reset(),this._selectionTraversalStack.reset(),this._selectionTraversalancestorStack.reset()},t.prototype.executeTraversal=function(e,r){var i=this._traversalStack;for(e.state.visible&&e.state.inRequestVolume&&i.push(e);i.length>0;){var a=i.pop();this.updateTileAncestorContentLinks(a,r);var o=a.parent,s=!o||o.state.shouldRefine,l=!1;this.canTraverse(a,r)&&(l=this.updateAndPushChildren(a,r,i)&&s);var u=!l&&s;a.hasRenderContent?a.refine==="ADD"?(this.loadTile(a,r),this.selectDesiredTile(a,r)):a.refine==="REPLACE"&&(this.inBaseTraversal(a,this.baseScreenSpaceError)?(this.loadTile(a,r),u&&this.selectDesiredTile(a,r)):u?(this.loadTile(a,r),this.selectDesiredTile(a,r)):this.reachedSkippingThreshold(a)&&this.loadTile(a,r)):(this.loadTile(a,r),u&&this.selectDesiredTile(a,r)),this.touchTile(a,r),a.state.shouldRefine=l}},t.prototype.updateAndPushChildren=function(e,r,i){for(var a=e.children,o=0,s=a;o<s.length;o++){var l=s[o];this.updateTile(l,r)}this.sortTilesByDistanceToCamera(a);for(var u=!1,c=0,f=a;c<f.length;c++){var l=f[c];l.state.visible&&l.state.inRequestVolume?(i.push(l),u===!1&&(u=!0)):this.tileset.loadSiblings&&(this.loadTile(l,r),this.touchTile(l,r))}return u},t.prototype.selectDesiredTile=function(e,r){var i=e.contentAvailable?e:e.state.ancestorWithContentAvailable;i&&(i.state.shouldSelect=!0),e.contentAvailable||this.selectDescendants(e,r)},t.prototype.selectDescendants=function(e,r){var i=this._descendantTraversalStack;for(i.push(e);i.length>0;)for(var a=i.pop(),o=a.children,s=0,l=o;s<l.length;s++){var u=l[s];u.state.visible&&(u.contentAvailable?(this.updateTile(u,r),this.touchTile(u,r),this.selectTile(u,r)):i.push(u))}},t.prototype.reachedSkippingThreshold=function(e){var r=e.state.ancestorWithContent,i=r!==null&&e.state.screenSpaceError<r.state.screenSpaceError/this.skipScreenSpaceErrorFactor&&e.levelOfContent>r.levelOfContent+this.skipLevels;return i},t.prototype.updateTileAncestorContentLinks=function(e,r){e.state.ancestorWithContent=null,e.state.ancestorWithContentAvailable=null;var i=e.parent;if(i){var a=!(i.hasRenderContent&&i.hasUnloadedContent)||i.state.requestedFrameNumber===r.frameNumber;e.state.ancestorWithContent=a?i:i.state.ancestorWithContent,e.state.ancestorWithContentAvailable=i.contentAvailable?i:i.state.ancestorWithContentAvailable}},t.prototype.inBaseTraversal=function(e,r){return e.state.ancestorWithContent?e.parent&&e.state.screenSpaceError===0?e.parent.state.screenSpaceError>r:e.state.screenSpaceError>r:!0},t.prototype.traverseAndSelect=function(e,r){var i=this._selectionTraversalStack,a=this._selectionTraversalancestorStack,o;for(i.push(e);i.length>0||a.length>0;){if(a.length>0){var s=a.peek();if(s.state.stackLength===i.length){a.pop(),s!==o&&(s.state.finalResolution=!1),this.selectTile(s,r);continue}}var l=i.pop();if(l){var u=this.canTraverse(l,r);if(l.state.shouldSelect)if(l.refine==="ADD")this.selectTile(l,r);else{if(l.state.selectionDepth=a.length,l.state.selectionDepth>0&&(l.tileset.hasMixedContent=!0),o=l,!u){this.selectTile(l,r);continue}a.push(l),l.state.stackLength=i.length}if(u)for(var c=0,f=l.children;c<f.length;c++){var A=f[c];A.state.visible&&i.push(A)}}}},t}(L0),Ad=new d.Matrix4,gn=function(){function n(t,e,r){var i,a,o,s,l;this.id=t,this.transform=new d.Matrix4,this.transformIsIdentity=!0,this.hasMixedContent=!1,this.url=(i=r.url)!==null&&i!==void 0?i:"",this.referer=(a=r.referer)!==null&&a!==void 0?a:"",this.asset={version:e.asset.version,tilesetVersion:e.asset.tilesetVersion||"",gltfUpAxis:(o=e.asset.gltfUpAxis)!==null&&o!==void 0?o:"Y",overview:e.asset.overview},this.rootMeta=(s=e.rootMeta)!==null&&s!==void 0?s:{},this.properties=(l=e.properties)!==null&&l!==void 0?l:{},this.options=r,this.maxMemoryUsage=n.DEFAULT_MAX_MEMORY_USAGE,this.maxScreenSpaceError=n.DEFAULT_MAX_SCREEN_SPACE_ERROR,this.skipLevelOfDetail=n.DEFAULT_SKIP_LEVEL_OF_DETAIL,this.loadSiblings=n.DEFAULT_LOAD_SIBLINGS,this.maxRequests=n.DEFAULT_MAX_REQUESTS,this.requestedTiles=[],this.selectedTiles=[],this.needsRefinedTiles=new Set,this.cache=new F0,this.normalTraverser=new pd(this),this.skipTraverser=new vd(this),this.requestScheduler=new k0(this),this.frameNumber=0,this.pendingCount=0,this.loadedTiles=new Set,this.memoryUsageInBytes=0,this.root=new so("".concat(this.id,".0"),e.root,this),this.geometricError=e.geometricError}return Object.defineProperty(n.prototype,"traverser",{get:function(){return this.skipLevelOfDetail?this.skipTraverser:this.normalTraverser},enumerable:!1,configurable:!0}),n.prototype.reset=function(){for(var t=this,e=[this.root],r;r=e.pop();){for(var i=0,a=r.children.length;i<a;i++)e.push(r.children[i]);this.cache.unloadTile(r,function(o){return t.unloadTile(o)})}this.cache.reset(),this.traverser.reset(),this.requestScheduler.reset(),this.loadedTiles.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(Ad),this.traverser.traverse(this.root,t,e),this.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.loadedTiles.delete(i)})},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.loadedTiles.add(t),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_MAX_MEMORY_USAGE=16,n.DEFAULT_MAX_SCREEN_SPACE_ERROR=4,n.DEFAULT_SKIP_LEVEL_OF_DETAIL=!1,n.DEFAULT_LOAD_SIBLINGS=!1,n.DEFAULT_MAX_REQUESTS=6,n}(),O0=function(){function n(t,e){this.position=t,this.indices=e}return n.prototype.getPositionCount=function(){var t,e,r=this.indices,i=this.position;return r?r.array.length/((t=r.stride)!==null&&t!==void 0?t:1):i.array.length/((e=i.stride)!==null&&e!==void 0?e:3)},n.prototype.getPositionByIndex=function(t,e){var r,i,a,o,s=this.indices,l=this.position,u=t;if(s){var c=s.array,f=(r=s.stride)!==null&&r!==void 0?r:1,A=(i=s.offset)!==null&&i!==void 0?i:0;u=c[t*f+A]}var m=l.array,h=(a=l.stride)!==null&&a!==void 0?a:3,p=(o=l.offset)!==null&&o!==void 0?o:0;return u=u*h+p,e.x=m[u],e.y=m[u+1],e.z=m[u+2],e},n.prototype.createTree=function(t,e,r){throw new Error("not implemented")},n.prototype.trianglesInSphere=function(t,e){throw new Error("not implemented")},n.prototype.intersectRay=function(t,e,r,i){throw new Error("not implemented")},n}(),En=function(){function n(t,e,r,i,a){this.id=t,this.extents=e,this.startIndex=r,this.endIndex=i,this.deepth=a}return n}(),br=6*4+4+4+2+2;function V0(n,t){for(var e=new ArrayBuffer(t*br),r=new Float32Array(e),i=new Uint32Array(e),a=new Uint16Array(e),o=[n],s,l;s=o.pop();)l=s.id*br/4,r[l]=s.extents[0],r[l+1]=s.extents[1],r[l+2]=s.extents[2],r[l+3]=s.extents[3],r[l+4]=s.extents[4],r[l+5]=s.extents[5],i[l+6]=s.startIndex,i[l+7]=s.endIndex,l=s.id*br/2,s.node0&&(a[l+16]=s.node0.id,o.push(s.node0)),s.node1&&(a[l+17]=s.node1.id,o.push(s.node1));return e}function N0(n,t,e,r,i,a,o,s,l){l===void 0&&(l=0),e=e-l,r=r-l,i=i-l,a=a+l,o=o+l,s=s+l;var u=0,c=0,f=0,A=0,m=0,h=0;return t.x>=0?(u=(e-n.x)*t.x,c=(a-n.x)*t.x):(u=(a-n.x)*t.x,c=(e-n.x)*t.x),t.y>=0?(f=(r-n.y)*t.y,A=(o-n.y)*t.y):(f=(o-n.y)*t.y,A=(r-n.y)*t.y),!(u>A||f>c||(f>u&&(u=f),A<c&&(c=A),t.z>=0?(m=(i-n.z)*t.z,h=(s-n.z)*t.z):(m=(s-n.z)*t.z,h=(i-n.z)*t.z),u>h||m>c)||(m>u&&(u=m),h<c&&(c=h),c<0))}var sn=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,a=t.z,o=e.x,s=e.y,l=e.z;return this.x=i*l-a*s,this.y=a*o-r*l,this.z=r*s-i*o,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}(),z0=function(){function n(t,e,r){this.triangle=t,this.intersectionPoint=e,this.index=r}return n}(),Yo=1e-6,Ue=new sn(0,0,0),kr=new sn(0,0,0),Fr=new sn(0,0,0),Lr=new sn(0,0,0),D0=function(n){ue(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.createTree=function(e,r,i){r=Math.min(r,16);var a=this.getPositionCount()/3,o=a>65535?new Uint32Array(a):new Uint16Array(a),s=new Float32Array(a*6),l=[],u=0,c=-1;if(i)for(var f=0,A=0,m=0,h=void 0,p=void 0,y=void 0,v=void 0,g=void 0,x=void 0,b=void 0;f<a;f+=1,A+=3,m+=6)o[f]=f,this.getPositionByIndex(A,kr),this.getPositionByIndex(A+1,Fr),this.getPositionByIndex(A+2,Lr),h=v=kr.x,b=Fr.x,b<h&&(h=b),b>v&&(v=b),b=Lr.x,b<h&&(h=b),b>v&&(v=b),p=g=kr.y,b=Fr.y,b<p&&(p=b),b>g&&(g=b),b=Lr.y,b<p&&(p=b),b>g&&(g=b),y=x=kr.z,b=Fr.z,b<y&&(y=b),b>x&&(x=b),b=Lr.z,b<y&&(y=b),b>x&&(x=b),s[m]=h,s[m+1]=p,s[m+2]=y,s[m+3]=v,s[m+4]=g,s[m+5]=x;else{for(var w=1/0,E=1/0,I=1/0,M=-1/0,k=-1/0,B=-1/0,f=0,A=0,m=0,h=void 0,p=void 0,y=void 0,v=void 0,g=void 0,x=void 0,b=void 0;f<a;f+=1,A+=3,m+=6)o[f]=f,this.getPositionByIndex(A,kr),this.getPositionByIndex(A+1,Fr),this.getPositionByIndex(A+2,Lr),h=v=kr.x,b=Fr.x,b<h&&(h=b),b>v&&(v=b),b=Lr.x,b<h&&(h=b),b>v&&(v=b),p=g=kr.y,b=Fr.y,b<p&&(p=b),b>g&&(g=b),b=Lr.y,b<p&&(p=b),b>g&&(g=b),y=x=kr.z,b=Fr.z,b<y&&(y=b),b>x&&(x=b),b=Lr.z,b<y&&(y=b),b>x&&(x=b),s[m]=h,s[m+1]=p,s[m+2]=y,s[m+3]=v,s[m+4]=g,s[m+5]=x,h<w&&(w=h),v>M&&(M=v),p<E&&(E=p),g>k&&(k=g),y<I&&(I=y),x>B&&(B=x);i=[w,E,I,M,k,B]}var C=new En(++c,i,0,a,0);l[u++]=C;var T=[],O=[0,1,2],P=function(V,z){return T[z]-T[V]};function F(V){var z=V.startIndex,j=V.endIndex,K=V.extents;T[0]=K[3]-K[0],T[1]=K[4]-K[1],T[2]=K[5]-K[2],O.sort(P);for(var H=0;H<3;H++){for(var q=O[H],J=K[q]+K[q+3],G=z,W=j-1,_=-1,Y=void 0;G<=W;)_===-1?(Y=o[G],s[Y*6+q]+s[Y*6+q+3]<J?G++:_=Y):(Y=o[W],s[Y*6+q]+s[Y*6+q+3]>=J||(o[G]=Y,o[W]=_,_=-1,G++),W--);if(G>z&&G<j){var oe=new En(++c,$o(o,s,z,G,Yo),z,G,V.deepth+1);oe.deepth<r&&oe.endIndex-oe.startIndex>e&&(l[u++]=oe);var $=new En(++c,$o(o,s,G,j,Yo),G,j,V.deepth+1);$.deepth<r&&$.endIndex-$.startIndex>e&&(l[u++]=$),V.node0=oe,V.node1=$,V.startIndex=0,V.endIndex=0;break}}}for(;u;)F(l[--u]);return this.offsetArray=o,this.rootNodePacked=V0(C,c+1),l.length=0,this},t.prototype.trianglesInSphere=function(e,r){for(var i=this.offsetArray,a=this.rootNodePacked,o=new Float32Array(a),s=new Uint32Array(a),l=new Uint16Array(a),u=[0],c=[],f,A,m,h;(f=u.pop())!==void 0;){h=f*br/4;var p=na(e.x,o[h],o[h+3])-e.x,y=na(e.y,o[h+1],o[h+4])-e.y,v=na(e.z,o[h+2],o[h+5])-e.z;if(p*p+y*y+v*v<=r*r){for(var g=s[h+6];g<s[h+7];g++)c.push(i[g]);h=f*br/2,A=l[h+16],m=l[h+17],A&&u.push(A),m&&u.push(m)}}for(var x=c.length,b=new Float32Array(x*9),g=0;g<x;g++){var w=c[g];this.getPositionByIndex(w,Ue),b[g*9]=Ue.x,b[g*9+1]=Ue.y,b[g*9+2]=Ue.z,this.getPositionByIndex(w+1,Ue),b[g*9+3]=Ue.x,b[g*9+4]=Ue.y,b[g*9+5]=Ue.z,this.getPositionByIndex(w+2,Ue),b[g*9+6]=Ue.x,b[g*9+7]=Ue.y,b[g*9+8]=Ue.z}return b},t.prototype.intersectRay=function(e,r,i,a){for(var o=this.offsetArray,s=this.rootNodePacked,l=new Float32Array(s),u=new Uint32Array(s),c=new Uint16Array(s),f=new sn(1/r.x,1/r.y,1/r.z),A=[0],m,h,p,y;(m=A.pop())!==void 0;)if(y=m*br/4,N0(e,f,l[y],l[y+1],l[y+2],l[y+3],l[y+4],l[y+5])){for(var v=u[y+6],g=u[y+7],x=void 0,b=void 0,w=void 0,E=e.x,I=e.y,M=e.z,k=r.x,B=r.y,C=r.z,T=void 0,O=void 0,P=void 0,F=void 0,V=void 0,z=void 0,j=void 0,K=void 0,H=void 0,q=void 0,J=void 0,G=void 0,W=void 0,_=void 0,Y=void 0,oe=void 0,$=void 0,ae=void 0,ne=void 0,le=void 0,ie=void 0,ge=void 0,he=void 0,ve=void 0,Re=void 0,Ce=void 0,Te=void 0;v<g;v++){if(x=o[v],b=x*3,this.getPositionByIndex(b,Ue),T=Ue.x,O=Ue.y,P=Ue.z,this.getPositionByIndex(b+1,Ue),F=Ue.x,V=Ue.y,z=Ue.z,this.getPositionByIndex(b+2,Ue),j=Ue.x,K=Ue.y,H=Ue.z,q=F-T,J=V-O,G=z-P,W=j-T,_=K-O,Y=H-P,oe=J*Y-G*_,$=G*W-q*Y,ae=q*_-J*W,he=k*oe+B*$+C*ae,he>0)ge=1;else if(he<0)ge=-1,he=-he;else continue;ne=E-T,le=I-O,ie=M-P,ve=ge*(k*(le*Y-ie*_)+B*(ie*W-ne*Y)+C*(ne*_-le*W)),!(ve<0)&&(Re=ge*(k*(J*ie-G*le)+B*(G*ne-q*ie)+C*(q*le-J*ne)),!(Re<0)&&(ve+Re>he||(Ce=-ge*(ne*oe+le*$+ie*ae),!(Ce<0)&&(Te=Ce/he,a.push(new z0([T,O,P,F,V,z,j,K,H],[E+k*Te,I+B*Te,M+C*Te],x))))))}y=m*br/2,h=c[y+16],p=c[y+17],h&&A.push(h),p&&A.push(p)}return a},t}(O0);function na(n,t,e){return n<t?t:n>e?e:n}function $o(n,t,e,r,i){if(e>=r)return[0,0,0,0,0,0];for(var a=1/0,o=1/0,s=1/0,l=-1/0,u=-1/0,c=-1/0,f=e,A=void 0,m=void 0;f<r;f++)A=n[f]*6,m=t[A],m<a&&(a=m),m=t[A+1],m<o&&(o=m),m=t[A+2],m<s&&(s=m),m=t[A+3],m>l&&(l=m),m=t[A+4],m>u&&(u=m),m=t[A+5],m>c&&(c=m);return[a-i,o-i,s-i,l+i,u+i,c+i]}var es=1e-6,md=["x","y","z"],st=new sn(0,0,0),Q0=function(n){ue(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.createTree=function(e,r,i){r=Math.min(r,16);var a=this.getPositionByIndex.bind(this),o=this.getPositionCount(),s=o>65535?new Uint32Array(o):new Uint16Array(o),l=[],u=0,c=-1;if(i)for(var f=0;f<o;f+=1)s[f]=f;else{a(0,st);for(var A=st.x,m=st.y,h=st.z,p=A,y=m,v=h,f=0,g=void 0,x=void 0,b=void 0;f<o;f+=1)s[f]=f,a(f,st),g=st.x,x=st.y,b=st.z,g<A?A=g:g>p&&(p=g),x<m?m=x:x>y&&(y=x),b<h?h=b:b>v&&(v=b);i=[A,m,h,p,y,v]}var w=new En(++c,i,0,o,0);l[u++]=w;var E=[],I=[0,1,2],M=function(B,C){return E[C]-E[B]};function k(B){var C=B.startIndex,T=B.endIndex,O=B.extents;E[0]=O[3]-O[0],E[1]=O[4]-O[1],E[2]=O[5]-O[2];for(var P=I.sort(M)[0],F=md[P],V=(O[P]+O[P+3])/2,z=C,j=T-1,K=-1,H;z<=j;)K===-1?(H=s[z],a(H,st),st[F]<V?z++:K=H):(H=s[j],a(H,st),st[F]>=V||(s[z]=H,s[j]=K,K=-1,z++),j--);if(z>C){var q=O.slice();q[P+3]=V+es;var J=new En(++c,q,C,z,B.deepth+1);J.deepth<r&&J.endIndex-J.startIndex>e&&(l[u++]=J),B.node0=J}if(T>z){var G=O.slice();G[P]=V-es;var W=new En(++c,G,z,T,B.deepth+1);W.deepth<r&&W.endIndex-W.startIndex>e&&(l[u++]=W),B.node1=W}B.startIndex=0,B.endIndex=0}for(;u;)k(l[--u]);return this.offsetArray=s,this.rootNodePacked=V0(w,c+1),l.length=0,this},t.prototype.intersectRay=function(e,r,i,a){for(var o=this.offsetArray,s=this.rootNodePacked,l=new Float32Array(s),u=new Uint32Array(s),c=new Uint16Array(s),f=i*i,A=new sn(1/r.x,1/r.y,1/r.z),m=[0],h,p,y,v;(h=m.pop())!==void 0;)if(v=h*br/4,N0(e,A,l[v],l[v+1],l[v+2],l[v+3],l[v+4],l[v+5],i)){for(var g=u[v+6],x=u[v+7],b=void 0,w=void 0,E=void 0,I=void 0,M=void 0,k=void 0,B=void 0,C=void 0,T=void 0,O=void 0,P=void 0,F=void 0;g<x;g++)b=o[g],this.getPositionByIndex(b,st),w=st.x,E=st.y,I=st.z,M=e.x,k=e.y,B=e.z,C=r.x,T=r.y,O=r.z,P=C*(w-M)+T*(E-k)+O*(I-B),P>0&&(M+=C*P,k+=T*P,B+=O*P),C=w-M,T=E-k,O=I-B,P=C*C+T*T+O*O,P<=f&&a.push(new z0([w,E,I,w,E,I,w,E,I],[M,k,B],b));v=h*br/2,p=c[v+16],y=c[v+17],p&&m.push(p),y&&m.push(y)}return a},t}(O0);const U0="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBlcj1mdW5jdGlvbihlLHIpe3JldHVybiBlcj1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24odCxvKXt0Ll9fcHJvdG9fXz1vfXx8ZnVuY3Rpb24odCxvKXtmb3IodmFyIGYgaW4gbylPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobyxmKSYmKHRbZl09b1tmXSl9LGVyKGUscil9O2Z1bmN0aW9uIGhyKGUscil7aWYodHlwZW9mIHIhPSJmdW5jdGlvbiImJnIhPT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoIkNsYXNzIGV4dGVuZHMgdmFsdWUgIitTdHJpbmcocikrIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsIik7ZXIoZSxyKTtmdW5jdGlvbiB0KCl7dGhpcy5jb25zdHJ1Y3Rvcj1lfWUucHJvdG90eXBlPXI9PT1udWxsP09iamVjdC5jcmVhdGUocik6KHQucHJvdG90eXBlPXIucHJvdG90eXBlLG5ldyB0KX10eXBlb2YgU3VwcHJlc3NlZEVycm9yPT0iZnVuY3Rpb24iJiZTdXBwcmVzc2VkRXJyb3I7dmFyIGRyPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShyLHQpe3RoaXMucG9zaXRpb249cix0aGlzLmluZGljZXM9dH1yZXR1cm4gZS5wcm90b3R5cGUuZ2V0UG9zaXRpb25Db3VudD1mdW5jdGlvbigpe3ZhciByLHQsbz10aGlzLmluZGljZXMsZj10aGlzLnBvc2l0aW9uO3JldHVybiBvP28uYXJyYXkubGVuZ3RoLygocj1vLnN0cmlkZSkhPT1udWxsJiZyIT09dm9pZCAwP3I6MSk6Zi5hcnJheS5sZW5ndGgvKCh0PWYuc3RyaWRlKSE9PW51bGwmJnQhPT12b2lkIDA/dDozKX0sZS5wcm90b3R5cGUuZ2V0UG9zaXRpb25CeUluZGV4PWZ1bmN0aW9uKHIsdCl7dmFyIG8sZixkLHYsbj10aGlzLmluZGljZXMscz10aGlzLnBvc2l0aW9uLHU9cjtpZihuKXt2YXIgdz1uLmFycmF5LHk9KG89bi5zdHJpZGUpIT09bnVsbCYmbyE9PXZvaWQgMD9vOjEscD0oZj1uLm9mZnNldCkhPT1udWxsJiZmIT09dm9pZCAwP2Y6MDt1PXdbcip5K3BdfXZhciBhPXMuYXJyYXksaD0oZD1zLnN0cmlkZSkhPT1udWxsJiZkIT09dm9pZCAwP2Q6MyxBPSh2PXMub2Zmc2V0KSE9PW51bGwmJnYhPT12b2lkIDA/djowO3JldHVybiB1PXUqaCtBLHQueD1hW3VdLHQueT1hW3UrMV0sdC56PWFbdSsyXSx0fSxlLnByb3RvdHlwZS5jcmVhdGVUcmVlPWZ1bmN0aW9uKHIsdCxvKXt0aHJvdyBuZXcgRXJyb3IoIm5vdCBpbXBsZW1lbnRlZCIpfSxlLnByb3RvdHlwZS50cmlhbmdsZXNJblNwaGVyZT1mdW5jdGlvbihyLHQpe3Rocm93IG5ldyBFcnJvcigibm90IGltcGxlbWVudGVkIil9LGUucHJvdG90eXBlLmludGVyc2VjdFJheT1mdW5jdGlvbihyLHQsbyxmKXt0aHJvdyBuZXcgRXJyb3IoIm5vdCBpbXBsZW1lbnRlZCIpfSxlfSgpLG09ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHIsdCxvLGYsZCl7dGhpcy5pZD1yLHRoaXMuZXh0ZW50cz10LHRoaXMuc3RhcnRJbmRleD1vLHRoaXMuZW5kSW5kZXg9Zix0aGlzLmRlZXB0aD1kfXJldHVybiBlfSgpLFE9Nio0KzQrNCsyKzI7ZnVuY3Rpb24geXIoZSxyKXtmb3IodmFyIHQ9bmV3IEFycmF5QnVmZmVyKHIqUSksbz1uZXcgRmxvYXQzMkFycmF5KHQpLGY9bmV3IFVpbnQzMkFycmF5KHQpLGQ9bmV3IFVpbnQxNkFycmF5KHQpLHY9W2VdLG4scztuPXYucG9wKCk7KXM9bi5pZCpRLzQsb1tzXT1uLmV4dGVudHNbMF0sb1tzKzFdPW4uZXh0ZW50c1sxXSxvW3MrMl09bi5leHRlbnRzWzJdLG9bcyszXT1uLmV4dGVudHNbM10sb1tzKzRdPW4uZXh0ZW50c1s0XSxvW3MrNV09bi5leHRlbnRzWzVdLGZbcys2XT1uLnN0YXJ0SW5kZXgsZltzKzddPW4uZW5kSW5kZXgscz1uLmlkKlEvMixuLm5vZGUwJiYoZFtzKzE2XT1uLm5vZGUwLmlkLHYucHVzaChuLm5vZGUwKSksbi5ub2RlMSYmKGRbcysxN109bi5ub2RlMS5pZCx2LnB1c2gobi5ub2RlMSkpO3JldHVybiB0fWZ1bmN0aW9uIGNyKGUscix0LG8sZixkLHYsbixzKXtzPT09dm9pZCAwJiYocz0wKSx0PXQtcyxvPW8tcyxmPWYtcyxkPWQrcyx2PXYrcyxuPW4rczt2YXIgdT0wLHc9MCx5PTAscD0wLGE9MCxoPTA7cmV0dXJuIHIueD49MD8odT0odC1lLngpKnIueCx3PShkLWUueCkqci54KToodT0oZC1lLngpKnIueCx3PSh0LWUueCkqci54KSxyLnk+PTA/KHk9KG8tZS55KSpyLnkscD0odi1lLnkpKnIueSk6KHk9KHYtZS55KSpyLnkscD0oby1lLnkpKnIueSksISh1PnB8fHk+d3x8KHk+dSYmKHU9eSkscDx3JiYodz1wKSxyLno+PTA/KGE9KGYtZS56KSpyLnosaD0obi1lLnopKnIueik6KGE9KG4tZS56KSpyLnosaD0oZi1lLnopKnIueiksdT5ofHxhPncpfHwoYT51JiYodT1hKSxoPHcmJih3PWgpLHc8MCkpfXZhciBZPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShyLHQsbyl7dGhpcy54PXIsdGhpcy55PXQsdGhpcy56PW99cmV0dXJuIGUucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24ocil7cmV0dXJuIHRoaXMueD1yLngsdGhpcy55PXIueSx0aGlzLno9ci56LHRoaXN9LGUucHJvdG90eXBlLnNldD1mdW5jdGlvbihyLHQsbyl7cmV0dXJuIHRoaXMueD1yLHRoaXMueT10LHRoaXMuej1vLHRoaXN9LGUucHJvdG90eXBlLmZyb21BcnJheT1mdW5jdGlvbihyLHQpe3JldHVybiB0PT09dm9pZCAwJiYodD0wKSx0aGlzLng9clt0XSx0aGlzLnk9clt0KzFdLHRoaXMuej1yW3QrMl0sdGhpc30sZS5wcm90b3R5cGUudG9BcnJheT1mdW5jdGlvbihyLHQpe3JldHVybiByPT09dm9pZCAwJiYocj1bXSksdD09PXZvaWQgMCYmKHQ9MCksclt0XT10aGlzLngsclt0KzFdPXRoaXMueSxyW3QrMl09dGhpcy56LHJ9LGUucHJvdG90eXBlLmFkZD1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy54Kz1yLngsdGhpcy55Kz1yLnksdGhpcy56Kz1yLnosdGhpc30sZS5wcm90b3R5cGUubXVsdGlwbHlTY2FsYXI9ZnVuY3Rpb24ocil7cmV0dXJuIHRoaXMueCo9cix0aGlzLnkqPXIsdGhpcy56Kj1yLHRoaXN9LGUucHJvdG90eXBlLnN1YlZlY3RvcnM9ZnVuY3Rpb24ocix0KXtyZXR1cm4gdGhpcy54PXIueC10LngsdGhpcy55PXIueS10LnksdGhpcy56PXIuei10LnosdGhpc30sZS5wcm90b3R5cGUuYWRkU2NhbGVkVmVjdG9yPWZ1bmN0aW9uKHIsdCl7cmV0dXJuIHRoaXMueCs9ci54KnQsdGhpcy55Kz1yLnkqdCx0aGlzLnorPXIueip0LHRoaXN9LGUucHJvdG90eXBlLmRvdD1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy54KnIueCt0aGlzLnkqci55K3RoaXMueipyLnp9LGUucHJvdG90eXBlLmNyb3NzPWZ1bmN0aW9uKHIpe3ZhciB0PXRoaXMueCxvPXRoaXMueSxmPXRoaXMuejtyZXR1cm4gdGhpcy54PW8qci56LWYqci55LHRoaXMueT1mKnIueC10KnIueix0aGlzLno9dCpyLnktbypyLngsdGhpc30sZS5wcm90b3R5cGUuY3Jvc3NWZWN0b3JzPWZ1bmN0aW9uKHIsdCl7dmFyIG89ci54LGY9ci55LGQ9ci56LHY9dC54LG49dC55LHM9dC56O3JldHVybiB0aGlzLng9ZipzLWQqbix0aGlzLnk9ZCp2LW8qcyx0aGlzLno9bypuLWYqdix0aGlzfSxlLnByb3RvdHlwZS5kaXN0YW5jZVRvPWZ1bmN0aW9uKHIpe3JldHVybiBNYXRoLnNxcnQodGhpcy5kaXN0YW5jZVRvU3F1YXJlZChyKSl9LGUucHJvdG90eXBlLmRpc3RhbmNlVG9TcXVhcmVkPWZ1bmN0aW9uKHIpe3ZhciB0PXRoaXMueC1yLngsbz10aGlzLnktci55LGY9dGhpcy56LXIuejtyZXR1cm4gdCp0K28qbytmKmZ9LGUucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBlKHRoaXMueCx0aGlzLnksdGhpcy56KX0sZX0oKSxwcj1mdW5jdGlvbigpe2Z1bmN0aW9uIGUocix0LG8pe3RoaXMudHJpYW5nbGU9cix0aGlzLmludGVyc2VjdGlvblBvaW50PXQsdGhpcy5pbmRleD1vfXJldHVybiBlfSgpLGxyPTFlLTYsUz1uZXcgWSgwLDAsMCksRD1uZXcgWSgwLDAsMCksZz1uZXcgWSgwLDAsMCksWD1uZXcgWSgwLDAsMCksQXI9ZnVuY3Rpb24oZSl7aHIocixlKTtmdW5jdGlvbiByKCl7cmV0dXJuIGUhPT1udWxsJiZlLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpc31yZXR1cm4gci5wcm90b3R5cGUuY3JlYXRlVHJlZT1mdW5jdGlvbih0LG8sZil7bz1NYXRoLm1pbihvLDE2KTt2YXIgZD10aGlzLmdldFBvc2l0aW9uQ291bnQoKS8zLHY9ZD42NTUzNT9uZXcgVWludDMyQXJyYXkoZCk6bmV3IFVpbnQxNkFycmF5KGQpLG49bmV3IEZsb2F0MzJBcnJheShkKjYpLHM9W10sdT0wLHc9LTE7aWYoZilmb3IodmFyIHk9MCxwPTAsYT0wLGg9dm9pZCAwLEE9dm9pZCAwLGw9dm9pZCAwLEk9dm9pZCAwLGM9dm9pZCAwLHo9dm9pZCAwLGk9dm9pZCAwO3k8ZDt5Kz0xLHArPTMsYSs9Nil2W3ldPXksdGhpcy5nZXRQb3NpdGlvbkJ5SW5kZXgocCxEKSx0aGlzLmdldFBvc2l0aW9uQnlJbmRleChwKzEsZyksdGhpcy5nZXRQb3NpdGlvbkJ5SW5kZXgocCsyLFgpLGg9ST1ELngsaT1nLngsaTxoJiYoaD1pKSxpPkkmJihJPWkpLGk9WC54LGk8aCYmKGg9aSksaT5JJiYoST1pKSxBPWM9RC55LGk9Zy55LGk8QSYmKEE9aSksaT5jJiYoYz1pKSxpPVgueSxpPEEmJihBPWkpLGk+YyYmKGM9aSksbD16PUQueixpPWcueixpPGwmJihsPWkpLGk+eiYmKHo9aSksaT1YLnosaTxsJiYobD1pKSxpPnomJih6PWkpLG5bYV09aCxuW2ErMV09QSxuW2ErMl09bCxuW2ErM109SSxuW2ErNF09YyxuW2ErNV09ejtlbHNle2Zvcih2YXIgaz0xLzAsSD0xLzAsaj0xLzAscT0tMS8wLE09LTEvMCxQPS0xLzAseT0wLHA9MCxhPTAsaD12b2lkIDAsQT12b2lkIDAsbD12b2lkIDAsST12b2lkIDAsYz12b2lkIDAsej12b2lkIDAsaT12b2lkIDA7eTxkO3krPTEscCs9MyxhKz02KXZbeV09eSx0aGlzLmdldFBvc2l0aW9uQnlJbmRleChwLEQpLHRoaXMuZ2V0UG9zaXRpb25CeUluZGV4KHArMSxnKSx0aGlzLmdldFBvc2l0aW9uQnlJbmRleChwKzIsWCksaD1JPUQueCxpPWcueCxpPGgmJihoPWkpLGk+SSYmKEk9aSksaT1YLngsaTxoJiYoaD1pKSxpPkkmJihJPWkpLEE9Yz1ELnksaT1nLnksaTxBJiYoQT1pKSxpPmMmJihjPWkpLGk9WC55LGk8QSYmKEE9aSksaT5jJiYoYz1pKSxsPXo9RC56LGk9Zy56LGk8bCYmKGw9aSksaT56JiYoej1pKSxpPVgueixpPGwmJihsPWkpLGk+eiYmKHo9aSksblthXT1oLG5bYSsxXT1BLG5bYSsyXT1sLG5bYSszXT1JLG5bYSs0XT1jLG5bYSs1XT16LGg8ayYmKGs9aCksST5xJiYocT1JKSxBPEgmJihIPUEpLGM+TSYmKE09YyksbDxqJiYoaj1sKSx6PlAmJihQPXopO2Y9W2ssSCxqLHEsTSxQXX12YXIgVD1uZXcgbSgrK3csZiwwLGQsMCk7c1t1KytdPVQ7dmFyIE49W10sQj1bMCwxLDJdLFY9ZnVuY3Rpb24oVSxfKXtyZXR1cm4gTltfXS1OW1VdfTtmdW5jdGlvbiBSKFUpe3ZhciBfPVUuc3RhcnRJbmRleCwkPVUuZW5kSW5kZXgsRj1VLmV4dGVudHM7TlswXT1GWzNdLUZbMF0sTlsxXT1GWzRdLUZbMV0sTlsyXT1GWzVdLUZbMl0sQi5zb3J0KFYpO2Zvcih2YXIgVz0wO1c8MztXKyspe2Zvcih2YXIgTD1CW1ddLEc9RltMXStGW0wrM10seD1fLEM9JC0xLEs9LTEsSj12b2lkIDA7eDw9QzspSz09PS0xPyhKPXZbeF0sbltKKjYrTF0rbltKKjYrTCszXTxHP3grKzpLPUopOihKPXZbQ10sbltKKjYrTF0rbltKKjYrTCszXT49R3x8KHZbeF09Six2W0NdPUssSz0tMSx4KyspLEMtLSk7aWYoeD5fJiZ4PCQpe3ZhciBiPW5ldyBtKCsrdyxJcih2LG4sXyx4LGxyKSxfLHgsVS5kZWVwdGgrMSk7Yi5kZWVwdGg8byYmYi5lbmRJbmRleC1iLnN0YXJ0SW5kZXg+dCYmKHNbdSsrXT1iKTt2YXIgTz1uZXcgbSgrK3csSXIodixuLHgsJCxscikseCwkLFUuZGVlcHRoKzEpO08uZGVlcHRoPG8mJk8uZW5kSW5kZXgtTy5zdGFydEluZGV4PnQmJihzW3UrK109TyksVS5ub2RlMD1iLFUubm9kZTE9TyxVLnN0YXJ0SW5kZXg9MCxVLmVuZEluZGV4PTA7YnJlYWt9fX1mb3IoO3U7KVIoc1stLXVdKTtyZXR1cm4gdGhpcy5vZmZzZXRBcnJheT12LHRoaXMucm9vdE5vZGVQYWNrZWQ9eXIoVCx3KzEpLHMubGVuZ3RoPTAsdGhpc30sci5wcm90b3R5cGUudHJpYW5nbGVzSW5TcGhlcmU9ZnVuY3Rpb24odCxvKXtmb3IodmFyIGY9dGhpcy5vZmZzZXRBcnJheSxkPXRoaXMucm9vdE5vZGVQYWNrZWQsdj1uZXcgRmxvYXQzMkFycmF5KGQpLG49bmV3IFVpbnQzMkFycmF5KGQpLHM9bmV3IFVpbnQxNkFycmF5KGQpLHU9WzBdLHc9W10seSxwLGEsaDsoeT11LnBvcCgpKSE9PXZvaWQgMDspe2g9eSpRLzQ7dmFyIEE9c3IodC54LHZbaF0sdltoKzNdKS10LngsbD1zcih0LnksdltoKzFdLHZbaCs0XSktdC55LEk9c3IodC56LHZbaCsyXSx2W2grNV0pLXQuejtpZihBKkErbCpsK0kqSTw9bypvKXtmb3IodmFyIGM9bltoKzZdO2M8bltoKzddO2MrKyl3LnB1c2goZltjXSk7aD15KlEvMixwPXNbaCsxNl0sYT1zW2grMTddLHAmJnUucHVzaChwKSxhJiZ1LnB1c2goYSl9fWZvcih2YXIgej13Lmxlbmd0aCxpPW5ldyBGbG9hdDMyQXJyYXkoeio5KSxjPTA7Yzx6O2MrKyl7dmFyIGs9d1tjXTt0aGlzLmdldFBvc2l0aW9uQnlJbmRleChrLFMpLGlbYyo5XT1TLngsaVtjKjkrMV09Uy55LGlbYyo5KzJdPVMueix0aGlzLmdldFBvc2l0aW9uQnlJbmRleChrKzEsUyksaVtjKjkrM109Uy54LGlbYyo5KzRdPVMueSxpW2MqOSs1XT1TLnosdGhpcy5nZXRQb3NpdGlvbkJ5SW5kZXgoaysyLFMpLGlbYyo5KzZdPVMueCxpW2MqOSs3XT1TLnksaVtjKjkrOF09Uy56fXJldHVybiBpfSxyLnByb3RvdHlwZS5pbnRlcnNlY3RSYXk9ZnVuY3Rpb24odCxvLGYsZCl7Zm9yKHZhciB2PXRoaXMub2Zmc2V0QXJyYXksbj10aGlzLnJvb3ROb2RlUGFja2VkLHM9bmV3IEZsb2F0MzJBcnJheShuKSx1PW5ldyBVaW50MzJBcnJheShuKSx3PW5ldyBVaW50MTZBcnJheShuKSx5PW5ldyBZKDEvby54LDEvby55LDEvby56KSxwPVswXSxhLGgsQSxsOyhhPXAucG9wKCkpIT09dm9pZCAwOylpZihsPWEqUS80LGNyKHQseSxzW2xdLHNbbCsxXSxzW2wrMl0sc1tsKzNdLHNbbCs0XSxzW2wrNV0pKXtmb3IodmFyIEk9dVtsKzZdLGM9dVtsKzddLHo9dm9pZCAwLGk9dm9pZCAwLGs9dm9pZCAwLEg9dC54LGo9dC55LHE9dC56LE09by54LFA9by55LFQ9by56LE49dm9pZCAwLEI9dm9pZCAwLFY9dm9pZCAwLFI9dm9pZCAwLFU9dm9pZCAwLF89dm9pZCAwLCQ9dm9pZCAwLEY9dm9pZCAwLFc9dm9pZCAwLEw9dm9pZCAwLEc9dm9pZCAwLHg9dm9pZCAwLEM9dm9pZCAwLEs9dm9pZCAwLEo9dm9pZCAwLGI9dm9pZCAwLE89dm9pZCAwLGFyPXZvaWQgMCxycj12b2lkIDAsdHI9dm9pZCAwLG9yPXZvaWQgMCxpcj12b2lkIDAsWj12b2lkIDAsdnI9dm9pZCAwLGZyPXZvaWQgMCx1cj12b2lkIDAsbnI9dm9pZCAwO0k8YztJKyspe2lmKHo9dltJXSxpPXoqMyx0aGlzLmdldFBvc2l0aW9uQnlJbmRleChpLFMpLE49Uy54LEI9Uy55LFY9Uy56LHRoaXMuZ2V0UG9zaXRpb25CeUluZGV4KGkrMSxTKSxSPVMueCxVPVMueSxfPVMueix0aGlzLmdldFBvc2l0aW9uQnlJbmRleChpKzIsUyksJD1TLngsRj1TLnksVz1TLnosTD1SLU4sRz1VLUIseD1fLVYsQz0kLU4sSz1GLUIsSj1XLVYsYj1HKkoteCpLLE89eCpDLUwqSixhcj1MKkstRypDLFo9TSpiK1AqTytUKmFyLFo+MClpcj0xO2Vsc2UgaWYoWjwwKWlyPS0xLFo9LVo7ZWxzZSBjb250aW51ZTtycj1ILU4sdHI9ai1CLG9yPXEtVix2cj1pciooTSoodHIqSi1vcipLKStQKihvcipDLXJyKkopK1QqKHJyKkstdHIqQykpLCEodnI8MCkmJihmcj1pciooTSooRypvci14KnRyKStQKih4KnJyLUwqb3IpK1QqKEwqdHItRypycikpLCEoZnI8MCkmJih2citmcj5afHwodXI9LWlyKihycipiK3RyKk8rb3IqYXIpLCEodXI8MCkmJihucj11ci9aLGQucHVzaChuZXcgcHIoW04sQixWLFIsVSxfLCQsRixXXSxbSCtNKm5yLGorUCpucixxK1QqbnJdLHopKSkpKSl9bD1hKlEvMixoPXdbbCsxNl0sQT13W2wrMTddLGgmJnAucHVzaChoKSxBJiZwLnB1c2goQSl9cmV0dXJuIGR9LHJ9KGRyKTtmdW5jdGlvbiBzcihlLHIsdCl7cmV0dXJuIGU8cj9yOmU+dD90OmV9ZnVuY3Rpb24gSXIoZSxyLHQsbyxmKXtpZih0Pj1vKXJldHVyblswLDAsMCwwLDAsMF07Zm9yKHZhciBkPTEvMCx2PTEvMCxuPTEvMCxzPS0xLzAsdT0tMS8wLHc9LTEvMCx5PXQscD12b2lkIDAsYT12b2lkIDA7eTxvO3krKylwPWVbeV0qNixhPXJbcF0sYTxkJiYoZD1hKSxhPXJbcCsxXSxhPHYmJih2PWEpLGE9cltwKzJdLGE8biYmKG49YSksYT1yW3ArM10sYT5zJiYocz1hKSxhPXJbcCs0XSxhPnUmJih1PWEpLGE9cltwKzVdLGE+dyYmKHc9YSk7cmV0dXJuW2QtZix2LWYsbi1mLHMrZix1K2YsdytmXX12YXIgd3I9MWUtNix6cj1bIngiLCJ5IiwieiJdLEU9bmV3IFkoMCwwLDApLFByPWZ1bmN0aW9uKGUpe2hyKHIsZSk7ZnVuY3Rpb24gcigpe3JldHVybiBlIT09bnVsbCYmZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXN9cmV0dXJuIHIucHJvdG90eXBlLmNyZWF0ZVRyZWU9ZnVuY3Rpb24odCxvLGYpe289TWF0aC5taW4obywxNik7dmFyIGQ9dGhpcy5nZXRQb3NpdGlvbkJ5SW5kZXguYmluZCh0aGlzKSx2PXRoaXMuZ2V0UG9zaXRpb25Db3VudCgpLG49dj42NTUzNT9uZXcgVWludDMyQXJyYXkodik6bmV3IFVpbnQxNkFycmF5KHYpLHM9W10sdT0wLHc9LTE7aWYoZilmb3IodmFyIHk9MDt5PHY7eSs9MSluW3ldPXk7ZWxzZXtkKDAsRSk7Zm9yKHZhciBwPUUueCxhPUUueSxoPUUueixBPXAsbD1hLEk9aCx5PTAsYz12b2lkIDAsej12b2lkIDAsaT12b2lkIDA7eTx2O3krPTEpblt5XT15LGQoeSxFKSxjPUUueCx6PUUueSxpPUUueixjPHA/cD1jOmM+QSYmKEE9YyksejxhP2E9ejp6PmwmJihsPXopLGk8aD9oPWk6aT5JJiYoST1pKTtmPVtwLGEsaCxBLGwsSV19dmFyIGs9bmV3IG0oKyt3LGYsMCx2LDApO3NbdSsrXT1rO3ZhciBIPVtdLGo9WzAsMSwyXSxxPWZ1bmN0aW9uKFAsVCl7cmV0dXJuIEhbVF0tSFtQXX07ZnVuY3Rpb24gTShQKXt2YXIgVD1QLnN0YXJ0SW5kZXgsTj1QLmVuZEluZGV4LEI9UC5leHRlbnRzO0hbMF09QlszXS1CWzBdLEhbMV09Qls0XS1CWzFdLEhbMl09Qls1XS1CWzJdO2Zvcih2YXIgVj1qLnNvcnQocSlbMF0sUj16cltWXSxVPShCW1ZdK0JbViszXSkvMixfPVQsJD1OLTEsRj0tMSxXO188PSQ7KUY9PT0tMT8oVz1uW19dLGQoVyxFKSxFW1JdPFU/XysrOkY9Vyk6KFc9blskXSxkKFcsRSksRVtSXT49VXx8KG5bX109VyxuWyRdPUYsRj0tMSxfKyspLCQtLSk7aWYoXz5UKXt2YXIgTD1CLnNsaWNlKCk7TFtWKzNdPVUrd3I7dmFyIEc9bmV3IG0oKyt3LEwsVCxfLFAuZGVlcHRoKzEpO0cuZGVlcHRoPG8mJkcuZW5kSW5kZXgtRy5zdGFydEluZGV4PnQmJihzW3UrK109RyksUC5ub2RlMD1HfWlmKE4+Xyl7dmFyIHg9Qi5zbGljZSgpO3hbVl09VS13cjt2YXIgQz1uZXcgbSgrK3cseCxfLE4sUC5kZWVwdGgrMSk7Qy5kZWVwdGg8byYmQy5lbmRJbmRleC1DLnN0YXJ0SW5kZXg+dCYmKHNbdSsrXT1DKSxQLm5vZGUxPUN9UC5zdGFydEluZGV4PTAsUC5lbmRJbmRleD0wfWZvcig7dTspTShzWy0tdV0pO3JldHVybiB0aGlzLm9mZnNldEFycmF5PW4sdGhpcy5yb290Tm9kZVBhY2tlZD15cihrLHcrMSkscy5sZW5ndGg9MCx0aGlzfSxyLnByb3RvdHlwZS5pbnRlcnNlY3RSYXk9ZnVuY3Rpb24odCxvLGYsZCl7Zm9yKHZhciB2PXRoaXMub2Zmc2V0QXJyYXksbj10aGlzLnJvb3ROb2RlUGFja2VkLHM9bmV3IEZsb2F0MzJBcnJheShuKSx1PW5ldyBVaW50MzJBcnJheShuKSx3PW5ldyBVaW50MTZBcnJheShuKSx5PWYqZixwPW5ldyBZKDEvby54LDEvby55LDEvby56KSxhPVswXSxoLEEsbCxJOyhoPWEucG9wKCkpIT09dm9pZCAwOylpZihJPWgqUS80LGNyKHQscCxzW0ldLHNbSSsxXSxzW0krMl0sc1tJKzNdLHNbSSs0XSxzW0krNV0sZikpe2Zvcih2YXIgYz11W0krNl0sej11W0krN10saT12b2lkIDAsaz12b2lkIDAsSD12b2lkIDAsaj12b2lkIDAscT12b2lkIDAsTT12b2lkIDAsUD12b2lkIDAsVD12b2lkIDAsTj12b2lkIDAsQj12b2lkIDAsVj12b2lkIDAsUj12b2lkIDA7Yzx6O2MrKylpPXZbY10sdGhpcy5nZXRQb3NpdGlvbkJ5SW5kZXgoaSxFKSxrPUUueCxIPUUueSxqPUUueixxPXQueCxNPXQueSxQPXQueixUPW8ueCxOPW8ueSxCPW8ueixWPVQqKGstcSkrTiooSC1NKStCKihqLVApLFY+MCYmKHErPVQqVixNKz1OKlYsUCs9QipWKSxUPWstcSxOPUgtTSxCPWotUCxWPVQqVCtOKk4rQipCLFY8PXkmJmQucHVzaChuZXcgcHIoW2ssSCxqLGssSCxqLGssSCxqXSxbcSxNLFBdLGkpKTtJPWgqUS8yLEE9d1tJKzE2XSxsPXdbSSsxN10sQSYmYS5wdXNoKEEpLGwmJmEucHVzaChsKX1yZXR1cm4gZH0scn0oZHIpO2Z1bmN0aW9uIEJyKGUpe29ubWVzc2FnZT1mdW5jdGlvbihyKXtQcm9taXNlLnJlc29sdmUoci5kYXRhKS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiBlKHQpfSkudGhlbihmdW5jdGlvbih0KXt2YXIgbz10Lm91dHB1dCxmPXQudHJhbnNmZXI7cmV0dXJuIHBvc3RNZXNzYWdlKG8sZil9KS5jYXRjaChmdW5jdGlvbih0KXtyZXR1cm4gcG9zdE1lc3NhZ2UoeyQkZXJyb3I6dH0pfSl9fUJyKGZ1bmN0aW9uKGUpe3JldHVybiBQcm9taXNlLnJlc29sdmUoZSkudGhlbihmdW5jdGlvbihyKXtmb3IodmFyIHQ9W10sbz1uZXcgU2V0LGY9MCxkPXI7ZjxkLmxlbmd0aDtmKyspe3ZhciB2PWRbZl0sbj12b2lkIDA7aWYodi50eXBlPT09Im1lc2giKW49bmV3IEFyKHYuYXR0cmlidXRlcy5wb3NpdGlvbix2LmluZGljZXMpO2Vsc2UgaWYodi50eXBlPT09InBvaW50cyIpbj1uZXcgUHIodi5hdHRyaWJ1dGVzLnBvc2l0aW9uLHYuaW5kaWNlcyk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgVHlwZSIpO24uY3JlYXRlVHJlZSh2Lm1heEl0ZW1QZXJOb2RlLHYubWF4VHJlZURlcHRoLHYuZXh0ZW50cyk7dmFyIHM9e3R5cGU6di50eXBlLGF0dHJpYnV0ZXM6di5hdHRyaWJ1dGVzLGluZGljZXM6di5pbmRpY2VzLG9mZnNldEFycmF5Om4ub2Zmc2V0QXJyYXkscm9vdE5vZGVQYWNrZWQ6bi5yb290Tm9kZVBhY2tlZH07dC5wdXNoKHMpO3ZhciB1PXZvaWQgMDtmb3IodmFyIHcgaW4gcy5hdHRyaWJ1dGVzKXt2YXIgeT1zLmF0dHJpYnV0ZXNbd107eSYmeS5idWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciYmby5hZGQoeS5idWZmZXIpfXU9cy5pbmRpY2VzLHUmJnUuYnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXImJm8uYWRkKHUuYnVmZmVyKSx1PXMub2Zmc2V0QXJyYXksdSYmdS5idWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciYmby5hZGQodS5idWZmZXIpLG8uYWRkKHMucm9vdE5vZGVQYWNrZWQpfXJldHVybntvdXRwdXQ6dCx0cmFuc2ZlcjpBcnJheS5mcm9tKG8pfX0pfSl9KSgpOwo=",gd=n=>Uint8Array.from(atob(n),t=>t.charCodeAt(0)),ts=typeof self!="undefined"&&self.Blob&&new Blob([gd(U0)],{type:"text/javascript;charset=utf-8"});function yd(n){let t;try{if(t=ts&&(self.URL||self.webkitURL).createObjectURL(ts),!t)throw"";const e=new Worker(t,{name:n==null?void 0:n.name});return e.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(t)}),e}catch(e){return new Worker("data:text/javascript;base64,"+U0,{name:n==null?void 0:n.name})}finally{t&&(self.URL||self.webkitURL).revokeObjectURL(t)}}var q0=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,a=r.reject;if(e.data&&"$$error"in e.data?a(e.data.$$error):i(e.data),this.queue.length){var o=this.queue.shift(),s=o.resolve,l=o.reject,u=o.input,c=o.transfer;this.workersResolver[t]={resolve:s,reject:l},this.workers[t].postMessage(u,c)}else this.workerStatus^=1<<t},n.prototype.postMessage=function(t,e){var r=this;return e===void 0&&(e=[]),new Promise(function(i,a){var o=r.getIdleWorker();o!==-1?(r.initWorker(o),r.workerStatus|=1<<o,r.workersResolver[o]={resolve:i,reject:a},r.workers[o].postMessage(t,e)):r.queue.push({resolve:i,reject:a,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}(),bd=new q0(function(){return new yd},4),xd=new Map,Cn=new d.Ray,rs=new d.Matrix3,Un=new d.Matrix4,H0=new d.Vector3,wd=new d.Vector3,Ed=new d.Vector3,Cd=new d.Triangle;function Md(n,t,e,r){var i,a=n.matrixWorld;Un.getInverse(a),Cn.copy(e.ray).applyMatrix4(Un);for(var o=t.intersectRay(Cn.origin,Cn.direction,0,[]),s=n.geometry,l=n.material,u=s.groups,c=s.index,f=0,A=o.length;f<A;f++){var m=o[f],h=m.triangle,p=m.index,y=m.intersectionPoint,v=new d.Vector3(y[0],y[1],y[2]).applyMatrix4(a),g=e.ray.origin.distanceTo(v);if(!(g<e.near||g>e.far)){var x=void 0;if(Array.isArray(l)){if(u)for(var b=p*3,w=0,E=u;w<E.length;w++){var I=E[w];if(b>=I.start&&b-I.start<I.count){x=l[(i=I.materialIndex)!==null&&i!==void 0?i:0];break}}}else x=l;if(x){var M=Cd.set(H0.set(h[0],h[1],h[2]).applyMatrix4(a),wd.set(h[3],h[4],h[5]).applyMatrix4(a),Ed.set(h[6],h[7],h[8]).applyMatrix4(a)).getNormal(new d.Vector3),k=p*3,B=new d.Face3(c?c.array[k]:k,c?c.array[k+1]:k+1,c?c.array[k+2]:k+2,M),C=e.ray.direction.dot(M);x.side===d.FrontSide&&C>=0||x.side===d.BackSide&&C<=0||r.push({distance:g,object:n,face:B,point:v,distanceToRay:0,faceIndex:p})}}}}function Id(n,t,e,r){var i,a,o=n.matrixWorld;rs.getNormalMatrix(o),Un.getInverse(o);var s=((a=(i=e.params.Points)===null||i===void 0?void 0:i.threshold)!==null&&a!==void 0?a:1)*Un.getMaxScaleOnAxis();Cn.copy(e.ray).applyMatrix4(Un);for(var l=t.intersectRay(Cn.origin,Cn.direction,s,[]),u=n.geometry,c=u.index,f=u.getAttribute("normal"),A=0,m=l.length;A<m;A++){var h=l[A],p=h.triangle,y=h.index,v=h.intersectionPoint,g=new d.Vector3(v[0],v[1],v[2]).applyMatrix4(o),x=e.ray.origin.distanceTo(g);if(!(x<e.near||x>e.far)){var b=H0.set(p[0],p[1],p[2]).applyMatrix4(o),w=c?c.array[y]:y,E=void 0;f instanceof d.BufferAttribute&&(E=new d.Vector3().fromBufferAttribute(f,w).applyNormalMatrix(rs));var I=new d.Face3(w,w,w,E);r.push({distance:x,object:n,face:I,point:g,distanceToRay:g.distanceTo(b),index:y})}}}var G0="__bvh_mesh__",Sd=d.Mesh.prototype.raycast;function Td(n,t){var e=Pd(this);e?Md(this,e,n,t):Sd.call(this,n,t)}function Pd(n){var t=n[G0];return t instanceof D0,t}function Bd(n,t){var e;Object.assign(n,(e={},e[G0]=t,e.raycast=Td,e))}var K0="__bvh_points__",Rd=d.Points.prototype.raycast;function kd(n,t){var e=Fd(this);e?Id(this,e,n,t):Rd.call(this,n,t)}function Fd(n){var t=n[K0];return t instanceof Q0,t}function Ld(n,t){var e;Object.assign(n,(e={},e[K0]=t,e.raycast=kd,e))}function Od(n,t,e,r){var i=[];return n.traverse(function(a){(a instanceof d.Mesh||a instanceof d.Points)&&a.geometry instanceof d.BufferGeometry&&i.push(a)}),Promise.resolve().then(function(){for(var a=[],o=new Set,s=null,l=0;l<i.length;l++){var u=i[l],c=u.geometry;if(c instanceof d.BufferGeometry){var f=void 0;if(u instanceof d.Mesh?f="mesh":u instanceof d.Points&&(f="points"),!!f){var A=c.boundingBox,m=A?[A.min.x,A.min.y,A.min.z,A.max.x,A.max.y,A.max.z]:void 0,h={};for(var p in c.attributes){var y=c.attributes[p];y instanceof d.InterleavedBufferAttribute?(h[p]={array:y.data.array,stride:y.data.stride,offset:y.offset},s=y.data.array,s&&s.buffer instanceof ArrayBuffer&&o.add(s.buffer)):(h[p]={array:y.array},s=y.array,s&&s.buffer instanceof ArrayBuffer&&o.add(s.buffer))}var v=void 0,g=c.getIndex();g&&(g instanceof d.InterleavedBufferAttribute?(v={array:g.data.array,stride:g.data.stride,offset:g.offset},s=g.data.array,s&&s.buffer instanceof ArrayBuffer&&o.add(s.buffer)):(v={array:g.array},s=g.array,s&&s.buffer instanceof ArrayBuffer&&o.add(s.buffer)));var x={type:f,attributes:h,indices:v,maxItemPerNode:e,maxTreeDepth:r,extents:m};a.push(x)}}}return bd.postMessage(a,Array.from(o))}).then(function(a){for(var o=0;o<i.length;o++){var s=i[o],l=s.geometry,u=a[o];if(l instanceof d.BufferGeometry){for(var c in u.attributes){var f=u.attributes[c].array,A=l.attributes[c];A instanceof d.InterleavedBufferAttribute?A.data.array=f:A.array=f}var m=l.getIndex();if(m&&u.indices){var f=u.indices.array;m instanceof d.InterleavedBufferAttribute?m.data.array=f:m.array=f}if(s instanceof d.Mesh){var h=new D0(u.attributes.position,u.indices);h.offsetArray=u.offsetArray,h.rootNodePacked=u.rootNodePacked,Bd(s,h)}else if(s instanceof d.Points){var h=new Q0(u.attributes.position,u.indices);h.offsetArray=u.offsetArray,h.rootNodePacked=u.rootNodePacked,Ld(s,h)}}}return n})}new d.Vector3;new d.Vector3;new d.Vector3;var j0=function(n){ue(t,n);function t(e,r){r===void 0&&(r=D);var i=n.call(this)||this;return i.contentObject=e,i.disposer=r,i.disposers=[r],i.add(e),i}return t.prototype.generateBvhTree=function(){return Od(this,!0,200,10)},t.prototype.intersectRaycaster=function(e,r,i){r===void 0&&(r=!0),i===void 0&&(i=[]);for(var a=this.children.slice(),o,s=[];o=a.pop();)if(o.visible){o.raycast(e,s);for(var l=0,u=o.children.length;l<u;l++)a.push(o.children[l])}return s.forEach(function(c){var f=0;if((c.object instanceof Dt||c.object instanceof wr)&&c.face){var A=Array.isArray(c.object.material)?c.object.material[c.face.materialIndex]:c.object.material;A&&(f=A.floor)}c.floor=f}),r&&s.sort(function(c,f){return c.distance-f.distance}),i.push.apply(i,s),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.prototype.clone=function(){return new t(this.contentObject,this.disposer)},t}(d.Group);function xt(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e=[];n=n.map(function(s){return(s!=null?s:"").trim()}).filter(function(s){return s.length>0&&!/^\/+$/.test(s)});for(var r=0;r<n.length;r++){var i=r===0,a=r===n.length-1,o=n[r];i||(o=o.replace(/^\.\//,"").replace(/^\/+/,"")),a||(o=o.replace(/\/+$/,"")),e.push(o)}return e.join("/")}function Va(n){var t,e=/^(http\:|https\:|file\:)?\/\/[^/]/.exec(n);if(!e)return n;var r=e[1]||"",i=n.slice(r.length+2),a=i.indexOf("#");a>=0&&(n.slice(a),i=n.slice(0,a));var o=i.indexOf("?");o>=0&&(n.slice(o),i=n.slice(0,o));for(var s=i.split("/"),l=s.shift(),u=(t=s.pop())!==null&&t!==void 0?t:"",c=[],f=0,A=s;f<A.length;f++){var m=A[f];if(!(m===""||m===".")){if(m===".."){c.pop();continue}c.push(m)}}return r+"//"+l+"/"+c.join("/")+"/"+u}function Er(n){return n.indexOf("//")===0||/^[0-9a-z]+\:/i.test(n)}function J0(n,t,e){if(n.content&&n.content.uri&&(Er(n.content.uri)||(n.content.uri=Va(xt(t,n.content.uri)))),n.transform){for(var r=!1,i=0;i<16;i++){var a=n.transform[i];if(typeof a!="number"||isNaN(a)||!isFinite(a)){r=!0;break}}if(n.transform[15]===0&&(r=!0),r)throw new Error("Invalid Tile Transform: "+JSON.stringify(n.transform))}if(n.children)for(var o=0,s=n.children;o<s.length;o++){var l=s[o];J0(l,t)}return n}function mi(n,t){return n.asset||(n.asset={}),n.rootMeta||(n.rootMeta={}),n.asset.overview&&(Er(n.asset.overview.imageFile)||(n.asset.overview.imageFile=Va(xt(t,n.asset.overview.imageFile))),Er(n.asset.overview.worldFile)||(n.asset.overview.worldFile=Va(xt(t,n.asset.overview.worldFile)))),J0(n.root,t),n}function Vd(n,t,e){for(var r,i,a=Promise.resolve(),o=n.slice(),s=function(){for(var l=[],u=0,c=void 0;c=o.shift();){l.push(c);var f=((r=c.image)===null||r===void 0?void 0:r.width)*((i=c.image)===null||i===void 0?void 0:i.height);if(!isNaN(f)&&isFinite(f)&&(u+=f),u>=e)break}a=a.then(function(){return new Promise(function(A){lt.shared.add(function(){for(var m=0,h=l;m<h.length;m++){var p=h[m];t.initTexture(p)}A()},!0)})}).catch(function(){})};o.length>0;)s();return a}function X0(n,t){if(t===void 0&&(t=""),(t[0]==="?"||t[0]==="&")&&(t=t.slice(1)),!t)return n;var e=n.indexOf("#"),r="";return e>=0&&(r=n.slice(e),n=n.slice(0,e)),(n[n.length-1]==="?"||n[n.length-1]==="&")&&(n=n.slice(0,-1)),n.indexOf("?")>=0?"".concat(n,"&").concat(t).concat(r):"".concat(n,"?").concat(t).concat(r)}const Nd=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,a=0,o="";return t[a].split(o).map(function(s){return s.charCodeAt(a)>i?s:String.fromCharCode((s.charCodeAt(a)+r)%i)}).join(o)}("{vs|z-sy|n-sy||H0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6--{vs|z-rp@-p|{n{P|y|H0r{qvs0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6--n\bv{t-rp@-[|znyH0r{qvs0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvsp-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{qvsn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-P|y|Hn\bv{t-sy|n-]|v{`v rH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-u|{Sy||V{qr\x07H0v{pyqr-Ip|zz|{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{K|vq-znv{56-\n--<<-JJJ-前置裁切计算-JJJ--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-d|yq]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5sy||-:-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--<<-JJJJJJJJJJJJJJJJ--<<-JJJ-形状裁切-JJJ--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--<<-JJJJJJJJJJJJJ--0v{pyqr-Iy|tqr}uoslsntzr{K--<<-JJJ-颜色-JJJ--rpA-sv{nyP|y|-J-_TOa|Yv{rn5rpA5P|y|9-|}npv\b66H--0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6----0vs-qrsv{rq5b`Rl]\\V[alONPXlUVQQR[6------rp@-pnzrnQvrpv|{-J-{|znyv r5pnzrn]|vv|{-:-d|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|{-:-d|yq]|vv|{;\x07\b 6H------vs-5q|5pnzrnQvrpv|{9-[|zny6-I-=;=6-\n--------sv{nyP|y|;\x07\b -J-sv{nyP|y|;\x07\b -7-=;EH------\f----0r{qvs--0r{qvs--tylSntP|y|-J-sv{nyP|y|H--<<-JJJJJJJJJJJ--<<-JJJ-纯色-JJJ--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-|}npv\b6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-楼层显示-JJJ--sy|n-sy||\\}npv\b-J->;=H--vs-5u|{Sy||V{qr\x07-K-:=;=>-33-no5sy||-:-u|{Sy||V{qr\x076-K-=;FF6-\n----sy||\\}npv\b-J-=;>-7-zv{55>;=-8-PnzrnQvrpv|{;\b69->;=6H--\f--tylSntP|y|;n-J-tylSntP|y|;n-7-sy||\\}npv\bH--<<-JJJJJJJJJJJJJJ--tylSntP|y|;n-J-tylSntP|y|;n-7-z|qryNy}unH--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--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"),zd=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,a=0,o="";return t[a].split(o).map(function(s){return s.charCodeAt(a)>i?s:String.fromCharCode((s.charCodeAt(a)+r)%i)}).join(o)}("nvor-rp@-p|y|H0vs-qrsv{rq5b`Rl]\\V[alP\\Y\\_lNYaVabQR6--{vs|z-nz}yr?Q-tnqvr{ar\x07rH0r{qvs{vs|z-sy|n-sy||H0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{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|H{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{Hn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-P|y|Hn\bv{t-sy|n-]|v{`v rH0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6--n\bv{t-rp@-[|znyH0r{qvs0v{pyqr-Is|tl}nlrr\x07K0v{pyqr-Iz|}untrl}nlrr\x07K0v{pyqr-Iy|tqr}uosl}nlrr\x07K0v{pyqr-Ipyv}}v{tl}yn{rl}nlrr\x07Krp@-trP|y|O\bUrvtu5nz}yr?Q-tnqvr{ar\x07r9-rpA-d|yq]|vv|{6-\n--<<-sy|n--J-5d|yq]|vv|{;\b-:-z|qryO|{qv{tZv{;\b6-<-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6H--sy|n--J-d|yq]|vv|{;\b-<->=;=H--r{-r\x07r?Q5tnqvr{ar\x07r9-rp?59-=;B66;toH\f|vq-znv{56-\n--0v{pyqr-Iortv{lrr\x07K--0v{pyqr-I}|wrplrr\x07K--0v{pyqr-Iy|tqr}uoslrr\x07K--0v{pyqr-Ipyv}}v{tl}yn{rlrr\x07K--d|yq]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----d|yq]|vv|{-J-v{n{prZnv\x07-7-d|yq]|vv|{H--0r{qvs--d|yq]|vv|{-J-z|qryZnv\x07-7-d|yq]|vv|{H--zn@-pnzrn_|nv|{Znv\x07-J-zn@5vrZnv\x07h=jh=j9-vrZnv\x07h>jh=j9-vrZnv\x07h?jh=j9-vrZnv\x07h=jh>j9-vrZnv\x07h>jh>j9-vrZnv\x07h?jh>j9-vrZnv\x07h=jh?j9-vrZnv\x07h>jh?j9-vrZnv\x07h?jh?j6H--PnzrnQvrpv|{-J-{|znyv r5pnzrn_|nv|{Znv\x07-7-rp@5=;=9-=;=9-:>;=66H--<<传递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-d|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--0v{pyqr-I|yq}|lrr\x07K--0v{pyqr-Is|tlrr\x07K\f");var Dd=new d.Vector4,Qd=Object.assign({pointScale:new d.Uniform(1),pointMinPixel:new d.Uniform(1),pointMaxPixel:new d.Uniform(1),opacity:new d.Uniform(1),gradientTexture:new d.Uniform(null),modelAlpha:new d.Uniform(0),clippers:new d.Uniform([]),shownFloorIndex:new d.Uniform(-1),constantColor:new d.Uniform(null),geometricError:new d.Uniform(0),pixelRatio:new d.Uniform(1),resolution:new d.Uniform(new d.Vector2(512,512)),floor:new d.Uniform(0),brightness:new d.Uniform(1),modelBoundingMin:new d.Uniform(new d.Vector3),modelBoundingMax:new d.Uniform(new d.Vector3)},d.UniformsUtils.clone(d.UniformsLib.fog)),uo=function(n){ue(t,n);function t(e){e===void 0&&(e={});var r,i,a,o,s,l,u,c,f,A,m,h,p,y,v,g,x,b,w,E,I,M=n.call(this,{vertexShader:zd,fragmentShader:Nd,uniforms:d.UniformsUtils.clone(Qd),lights:!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_MARK:!1,USE_MAP:!0,USE_UV:!0,USE_LUMINANCE:!1,USE_PANO_OPACITY:!1,USE_BLACK_TRANSITION:!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,k;return Object.defineProperties(M,{constantColor:{get:function(){return this.uniforms.constantColor.value},set:function(B){this.uniforms.constantColor.value=B;var C=this.defines.USE_CONSTANT_COLOR,T=B!==null;C!==T&&(this.defines.USE_CONSTANT_COLOR=T,this.needsUpdate=!0)}},opacity:{get:function(){return this.uniforms.opacity.value},set:function(B){this.uniforms.opacity.value=B}},modelAlpha:{get:function(){return this.uniforms.modelAlpha.value},set:function(B){this.uniforms.modelAlpha.value=B}},shownFloorIndex:{get:function(){return this.uniforms.shownFloorIndex.value},set:function(B){this.uniforms.shownFloorIndex.value=B}},clippers:{get:function(){return k},set:function(B){k!==B&&(k=B,this.uniforms.clippers.value=(k||[]).map(function(C){var T=typeof C.floorIndex=="number"?C.floorIndex:-1,O=new d.Matrix4().getInverse(C.clippingBoxMatrix);return{matrixInverse:O,floorIndex:T}}),this.needsUpdate=!0)}},pointColor:{get:function(){return this.defines.USE_POINT_COLOR_ALTITUDE===!0?"ALTITUDE":"RGB"},set:function(B){var C=B==="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(B){var C=B==="ATTENUATION",T=B==="GEOMETRIC";this.defines.USE_POINT_SIZE_GEOMETRIC!==T&&(this.defines.USE_POINT_SIZE_GEOMETRIC=T,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(B){var C=B==="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(B){this.uniforms.pointScale.value=B}},pointBack:{get:function(){return this.defines.USE_POINT_BACK_HIDDEN===!0?"HIDDEN":this.defines.USE_POINT_BACK_DARK===!0?"DARK":"VISIBLE"},set:function(B){var C=B==="HIDDEN",T=B==="DARK";this.defines.USE_POINT_BACK_HIDDEN!==C&&(this.defines.USE_POINT_BACK_HIDDEN=C,this.needsUpdate=!0),this.defines.USE_POINT_BACK_DARK!==T&&(this.defines.USE_POINT_BACK_DARK=T,this.needsUpdate=!0)}},pointMinPixel:{get:function(){return this.uniforms.pointMinPixel.value},set:function(B){this.uniforms.pointMinPixel.value=B}},pointMaxPixel:{get:function(){return this.uniforms.pointMaxPixel.value},set:function(B){this.uniforms.pointMaxPixel.value=B}},useEDL:{get:function(){return this.defines.USE_EDL},set:function(B){B!==this.defines.USE_EDL&&(this.defines.USE_EDL=B,this.needsUpdate=!0)}},useHQWeight:{get:function(){return this.defines.USE_HQ_WEIGHT},set:function(B){B!==this.defines.USE_HQ_WEIGHT&&(this.defines.USE_HQ_WEIGHT=B,this.needsUpdate=!0)}},useHQDepth:{get:function(){return this.defines.USE_HQ_DEPTH},set:function(B){B!==this.defines.USE_HQ_DEPTH&&(this.defines.USE_HQ_DEPTH=B,this.needsUpdate=!0)}},gradientTexture:{get:function(){return this.uniforms.gradientTexture.value},set:function(B){this.uniforms.gradientTexture.value=B}},floor:{get:function(){return this.uniforms.floor.value},set:function(B){this.uniforms.floor.value=B}},brightness:{get:function(){return this.uniforms.brightness.value},set:function(B){this.uniforms.brightness.value=B}}}),M.pano0=(r=e.pano0)!==null&&r!==void 0?r:we.pano0,M.pano1=(i=e.pano1)!==null&&i!==void 0?i:we.pano1,M.modelAlpha=(a=e.modelAlpha)!==null&&a!==void 0?a:we.modelAlpha,M.progress=(o=e.progress)!==null&&o!==void 0?o:we.progress,M.transition=(s=e.transition)!==null&&s!==void 0?s:we.transition,M.constantColor=(l=e.constantColor)!==null&&l!==void 0?l:we.constantColor,M.opacity=(u=e.opacity)!==null&&u!==void 0?u:we.opacity,M.shownFloorIndex=(c=e.shownFloorIndex)!==null&&c!==void 0?c:we.shownFloorIndex,M.clippers=(f=e.clippers)!==null&&f!==void 0?f:we.clippers,M.useEDL=(A=e.useEDL)!==null&&A!==void 0?A:we.useEDL,M.useHQWeight=(m=e.useHQWeight)!==null&&m!==void 0?m:we.useHQWeight,M.useHQDepth=(h=e.useHQDepth)!==null&&h!==void 0?h:we.useHQDepth,M.pointColor=(p=e.pointColor)!==null&&p!==void 0?p:we.pointColor,M.pointShape=(y=e.pointShape)!==null&&y!==void 0?y:we.pointShape,M.pointSize=(v=e.pointSize)!==null&&v!==void 0?v:we.pointSize,M.pointScale=(g=e.pointScale)!==null&&g!==void 0?g:we.pointScale,M.pointBack=(x=e.pointBack)!==null&&x!==void 0?x:we.pointBack,M.pointMinPixel=(b=e.pointMinPixel)!==null&&b!==void 0?b:we.pointMinPixel,M.pointMaxPixel=(w=e.pointMaxPixel)!==null&&w!==void 0?w:we.pointMaxPixel,M.gradientTexture=(E=e.gradientTexture)!==null&&E!==void 0?E:we.gradientTexture,M.brightness=(I=e.brightness)!==null&&I!==void 0?I:we.brightness,M.floor=0,M.transparent=!0,M}return t.prototype.onBeforeCompile=function(e,r){var i,a,o=String((a=(i=this.clippers)===null||i===void 0?void 0:i.length)!==null&&a!==void 0?a:0);e.vertexShader=e.vertexShader.replace(/NUM_CLIPPERS/g,o),e.fragmentShader=e.fragmentShader.replace(/NUM_CLIPPERS/g,o)},t.prototype.update=function(e,r){if(r instanceof zi)this.uniforms.pixelRatio.value=r.pixelRatio,this.uniforms.resolution.value.copy(r.resolution);else{this.uniforms.pixelRatio.value=e.getPixelRatio();var i=e.getViewport(Dd);this.uniforms.resolution.value.set(i.z,i.w)}this.transparent=!1,this.shownFloorIndex>-1&&(this.transparent=this.shownFloorIndex!==this.floor),this.modelAlpha<1&&(this.transparent=!0),this.opacity<1&&(this.transparent=!0),this.brightness<1&&(this.transparent=!0),this.depthWrite=!0,this.depthTest=!0,this.useEDL&&(this.transparent=!1),this.useHQWeight?(this.depthWrite=!1,this.blending=d.CustomBlending,this.blendSrc=d.SrcAlphaFactor,this.blendSrcAlpha=d.SrcAlphaFactor,this.blendDst=d.OneFactor,this.blendDstAlpha=d.OneFactor):(this.blending=d.NormalBlending,this.blendDst=d.OneMinusSrcAlphaFactor,this.blendEquation=d.AddEquation,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null)},t.prototype.syncModel=function(e){var r="".concat(e.id,":").concat(e.materialVersion);r!==this.syncModelVersion&&(Object.assign(this,e.getMaterial()),this.uniforms.modelBoundingMax.value.copy(e.bounding.max),this.uniforms.modelBoundingMin.value.copy(e.bounding.min),this.syncModelVersion=r)},t.prototype.copy=function(e){return n.prototype.copy.call(this,this),this.pano0=e.pano0,this.pano1=e.pano1,this.progress=e.progress,this.transition=e.transition,this.shownFloorIndex=e.shownFloorIndex,this.brightness=e.brightness,this.clippers=e.clippers,this.constantColor=e.constantColor,this.modelAlpha=e.modelAlpha,this.useEDL=e.useEDL,this.useHQWeight=e.useHQWeight,this.useHQDepth=e.useHQDepth,this.pointColor=e.pointColor,this.pointSize=e.pointSize,this.pointShape=e.pointShape,this.pointScale=e.pointScale,this.pointBack=e.pointBack,this.pointMinPixel=e.pointMinPixel,this.pointMaxPixel=e.pointMaxPixel,this.gradientTexture=e.gradientTexture,this},t}(d.ShaderMaterial),ia=4;function W0(n,t,e){var r=new DataView(t);if(n.magic=r.getUint32(e,!0),e+=ia,n.version=r.getUint32(e,!0),e+=ia,n.byteLength=r.getUint32(e,!0),e+=ia,n.version!==1)throw new Error("3D Tile Version ".concat(n.version," not supported"));return e}var ar,_e;(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"})(_e||(_e={}));var Ud=(ar={},ar[_e.DOUBLE]=Float64Array,ar[_e.FLOAT]=Float32Array,ar[_e.UNSIGNED_SHORT]=Uint16Array,ar[_e.UNSIGNED_INT]=Uint32Array,ar[_e.UNSIGNED_BYTE]=Uint8Array,ar[_e.BYTE]=Int8Array,ar[_e.SHORT]=Int16Array,ar[_e.INT]=Int32Array,ar),qd={DOUBLE:_e.DOUBLE,FLOAT:_e.FLOAT,UNSIGNED_SHORT:_e.UNSIGNED_SHORT,UNSIGNED_INT:_e.UNSIGNED_INT,UNSIGNED_BYTE:_e.UNSIGNED_BYTE,BYTE:_e.BYTE,SHORT:_e.SHORT,INT:_e.INT};function Si(n){var t=Ud[n];if(!t)throw new Error("Failed to convert GL type");return t}function aa(n){var t=Si(n);return t.BYTES_PER_ELEMENT}function ns(n,t,e,r){e===void 0&&(e=0);var i=Si(n);if(e%aa(n)!==0){var a=r?t.slice(e,e+r*aa(n)):t.slice(e);return new i(a)}else return new i(t,e,r!=null?r:(t.byteLength-e)/aa(n))}function Hd(n){var t=qd[n];if(!t)throw new Error("Failed to convert GL type");return t}var _0=function(){function n(t,e){this.featuresLength=0,this.cachedTypedArrays={},this.json=t,this.buffer=e;var r=this.getGlobalProperty("POINTS_LENGTH",_e.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 a=Si(e);return new a([i])}else if(Array.isArray(i)){var a=Si(e);return new a(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=Hd(i.componentType)),this.getTypedArrayFromBinary(t,e,r,this.featuresLength,i.byteOffset)):this.getTypedArrayFromArray(t,e,i)},n.prototype.getProperty=function(t,e,r,i,a){var o=this.json[t];if(!o)return null;var s=this.getPropertyArray(t,e,r);if(r===1)return a[0]=s[i],a;for(var l=0;l<r;++l)a[l]=s[r*i+l];return a},n.prototype.getTypedArrayFromBinary=function(t,e,r,i,a){var o=this.cachedTypedArrays,s=o[t];return s||(s=ns(e,this.buffer.buffer,this.buffer.byteOffset+a,i*r),o[t]=s),s},n.prototype.getTypedArrayFromArray=function(t,e,r){var i=this.cachedTypedArrays,a=i[t];return a||(a=ns(e,r),i[t]=a),a},n}(),vn=4,is="b3dm tile in legacy format.";function Z0(n,t,e){var r=new TextDecoder("utf8"),i=new Uint8Array(n,t,e),a=r.decode(i);return a}function Y0(n,t,e){return e=Gd(n,t,e),e=Kd(n,t,e),e=jd(n,t,e),e}function Gd(n,t,e){var r=new DataView(t),i=0;n.header=n.header||{};var a=r.getUint32(e,!0);e+=vn;var o=r.getUint32(e,!0);e+=vn;var s=r.getUint32(e,!0);e+=vn;var l=r.getUint32(e,!0);return e+=vn,s>=570425344?(e-=vn*2,i=a,s=o,l=0,a=0,o=0,console.warn(is)):l>=570425344&&(e-=vn,i=s,s=a,l=o,a=0,o=0,console.warn(is)),n.header.featureTableJsonByteLength=a,n.header.featureTableBinaryByteLength=o,n.header.batchTableJsonByteLength=s,n.header.batchTableBinaryByteLength=l,n.header.batchLength=i,e}function Kd(n,t,e){var r=n.header||{},i=r.featureTableJsonByteLength,a=r.featureTableBinaryByteLength,o=r.batchLength;if(n.featureTableJson={BATCH_LENGTH:o||0},i&&i>0){var s=Z0(t,e,i);n.featureTableJson=JSON.parse(s)}e+=i||0,n.featureTableBinary=new Uint8Array(t,e,a),e+=a||0,n.rtcCenter=[0,0,0];var l=new _0(n.featureTableJson,n.featureTableBinary);if(Array.isArray(l.json.RTC_CENTER)){var u=l.json.RTC_CENTER;n.rtcCenter[0]=u[0],n.rtcCenter[1]=u[1],n.rtcCenter[2]=u[2]}else{var u=l.getGlobalProperty("RTC_CENTER",_e.FLOAT,3);u&&(n.rtcCenter[0]=u[0],n.rtcCenter[1]=u[1],n.rtcCenter[2]=u[2])}return e}function jd(n,t,e){var r=n.header||{},i=r.batchTableJsonByteLength,a=r.batchTableBinaryByteLength;if(i&&i>0){var o=Z0(t,e,i);n.batchTableJson=JSON.parse(o),e+=i,a&&a>0&&(n.batchTableBinary=new Uint8Array(t,e,a),n.batchTableBinary=new Uint8Array(n.batchTableBinary),e+=a)}return e}function Jd(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 Xd(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=Jd(t,e,r),n.byteLength}function Na(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 Oe={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},kn={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},Ti={9728:d.NearestFilter,9729:d.LinearFilter,9984:d.NearestMipmapNearestFilter,9985:d.LinearMipmapNearestFilter,9986:d.NearestMipmapLinearFilter,9987:d.LinearMipmapLinearFilter},Pi={33071:d.ClampToEdgeWrapping,33648:d.MirroredRepeatWrapping,10497:d.RepeatWrapping},as={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Rt={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv2",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},Or={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},Wd={CUBICSPLINE:void 0,LINEAR:d.InterpolateLinear,STEP:d.InterpolateDiscrete},mr={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function ht(n){var t=[];for(var e in n)t.push(n[e]);return t}function _d(n){var t=Array.from(n);return function(){for(var e=0,r=t;e<r.length;e++){var i=r[e];typeof i.dispose=="function"&&i.dispose(),typeof i.close=="function"&&i.close()}}}var Zd=function(){function n(t,e,r){this.json=t,this.extensions=e,this.options=r,this.cache=new Map,this.disposeSet=new Set,this.textureSet=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(),this.textureSet.clear(),this.extensions={},this.json={asset:{version:"unknown"}}},n.prototype.markDefs=function(){for(var t=this.json.nodes||[],e=this.json.skins||[],r=this.json.meshes||[],i=0,a=e.length;i<a;i++)for(var o=e[i].joints,s=0,l=o.length;s<l;s++)t[o[s]].isBone=!0;for(var u=0,c=t.length;u<c;u++){var f=t[u];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,a=ht(r);i<a.length;i++){var o=a[i];o.markDefs(this)}return Promise.all(ht(r).map(function(s){return s.prepare(t)})).then(function(){var s,l,u;return Promise.all([Promise.all(((s=e.scenes)!==null&&s!==void 0?s:[]).map(function(c,f){return t.loadScene(f)})),Promise.all(((l=e.animations)!==null&&l!==void 0?l:[]).map(function(c,f){return t.loadAnimation(f)})),Promise.all(((u=e.cameras)!==null&&u!==void 0?u:[]).map(function(c,f){return t.loadCamera(f)}))])}).then(function(s){var l=s[0],u=s[1],c=s[2],f={json:e,scene:l[e.scene||0],scenes:l,animations:u,cameras:c,textures:[],dispose:D};return f}).then(function(s){return Promise.all(ht(r).map(function(l){return l.emitResult(s,t)})).then(function(){return s})}).then(function(s){var l=Array.from(t.textureSet),u=_d(t.disposeSet);return Object.assign(s,{textures:l,dispose:u}),t.textureSet.clear(),t.disposeSet.clear(),t.dispose(),s})},n.prototype.loadCamera=function(t){var e="camera:"+t,r=this.cache.get(e);if(r)return r;for(var i=null,a=0,o=ht(this.extensions);a<o.length;a++){var s=o[a];if(i=s.loadCamera(t,this),i)break}if(!i){var l=void 0,u=this.json.cameras[t],c=u[u.type];c?u.type==="perspective"?l=new d.PerspectiveCamera(d.MathUtils.radToDeg(c.yfov),c.aspectRatio||1,c.znear||1,c.zfar||2e6):u.type==="orthographic"?l=new d.OrthographicCamera(-c.xmag,c.xmag,c.ymag,-c.ymag,c.znear,c.zfar):(console.warn("glTF: Invalid camera type ".concat(u.type,".")),l=new d.Camera):(console.warn("glTF: Missing camera parameters."),l=new d.Camera),u.name&&(l.name=this.createUniqueName(u.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,a=this.json.skins[t],o={joints:a.joints};return a.inverseBindMatrices===void 0?i=Promise.resolve(o):i=this.loadAccessor(a.inverseBindMatrices).then(function(s){return s&&(o.inverseBindMatrices=s),o}),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,a=0,o=ht(this.extensions);a<o.length;a++){var s=o[a];if(i=s.loadAnimation(t,this),i)break}if(!i){for(var l=this.json,u=l.animations[t],c=[],f=[],A=[],m=[],h=[],p=0,y=u.channels.length;p<y;p++){var v=u.channels[p],g=u.samplers[v.sampler],x=v.target,b=x.node!==void 0?x.node:x.id,w=u.parameters!==void 0?u.parameters[g.input]:g.input,E=u.parameters!==void 0?u.parameters[g.output]:g.output;c.push(this.loadNode(b)),f.push(this.loadAccessor(w)),A.push(this.loadAccessor(E)),m.push(g),h.push(x)}i=Promise.all([Promise.all(c),Promise.all(f),Promise.all(A),Promise.all(m),Promise.all(h)]).then(function(I){for(var M=I[0],k=I[1],B=I[2],C=I[3],T=I[4],O=[],P=function(j,K){var H=M[j],q=k[j],J=B[j],G=C[j],W=T[j];if(H===void 0)return"continue";H.updateMatrix(),H.matrixAutoUpdate=!0;var _=void 0;switch(Or[W.path]){case Or.weights:_=d.NumberKeyframeTrack;break;case Or.rotation:_=d.QuaternionKeyframeTrack;break;case Or.position:case Or.scale:default:_=d.VectorKeyframeTrack;break}var Y=H.name?H.name:H.uuid,oe=G.interpolation!==void 0?Wd[G.interpolation]:d.InterpolateLinear,$=[];Or[W.path]===Or.weights?H.traverse(function(ve){ve.morphTargetInfluences&&$.push(ve.name?ve.name:ve.uuid)}):$.push(Y);var ae=J.array;if(J.normalized){for(var ne=oa(ae.constructor),le=new Float32Array(ae.length),ie=0,ge=ae.length;ie<ge;ie++)le[ie]=ae[ie]*ne;ae=le}for(var ie=0,ge=$.length;ie<ge;ie++){var he=new _($[ie]+"."+Or[W.path],q.array,ae,oe);O.push(he)}},F=0,V=M.length;F<V;F++)P(F);var z=u.name?u.name:"animation_"+t;return new d.AnimationClip(z,void 0,O)})}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 a=null,o=0,s=ht(this.extensions);o<s.length;o++){var l=s[o];if(a=l.loadBuffer(t,this),a)break}if(!a){var u=this.json.buffers[t];a=this.options.fetcher.ajax(this.resolveResouce(u.uri),{responseType:"arraybuffer"}).then(function(c){return c.body})}return this.cache.set(r,a),a},n.prototype.loadBufferView=function(t){var e="bufferView:"+t,r=this.cache.get(e);if(r)return r;for(var i=null,a=0,o=ht(this.extensions);a<o.length;a++){var s=o[a];if(i=s.loadBufferView(t,this),i)break}if(!i){var l=this.json.bufferViews[t];i=this.loadBuffer(l.buffer).then(function(u){var c=l.byteLength||0,f=l.byteOffset||0;return u.slice(f,f+c)})}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 a=null;if(!a){var o=this.json.accessors[t];if(o.bufferView===void 0&&o.sparse===void 0)a=Promise.resolve(null);else{var s=[];o.bufferView!==void 0?s.push(this.loadBufferView(o.bufferView)):s.push(Promise.resolve(null)),o.sparse!==void 0&&(s.push(this.loadBufferView(o.sparse.indices.bufferView)),s.push(this.loadBufferView(o.sparse.values.bufferView))),a=Promise.all(s).then(function(l){var u=l[0],c=as[o.type],f=kn[o.componentType],A=f.BYTES_PER_ELEMENT,m=A*c,h=o.byteOffset||0,p=o.bufferView!==void 0?e.json.bufferViews[o.bufferView].byteStride:void 0,y=o.normalized===!0,v,g;if(p&&p!==m){var x=Math.floor(h/p),b="InterleavedBuffer:"+o.bufferView+":"+o.componentType+":"+x+":"+o.count,w=e.cache.get(b);w||(v=new f(u,x*p,o.count*p/A),w=new d.InterleavedBuffer(v,p/A),e.cache.set(b,w)),g=new d.InterleavedBufferAttribute(w,c,h%p/A,y)}else u===null?v=new f(o.count*c):v=new f(u,h,o.count*c),g=new d.BufferAttribute(v,c,y);if(o.sparse!==void 0){var E=as.SCALAR,I=kn[o.sparse.indices.componentType],M=o.sparse.indices.byteOffset||0,k=o.sparse.values.byteOffset||0,B=new I(l[1],M,o.sparse.count*E),C=new f(l[2],k,o.sparse.count*c);u!==null&&(g=new d.BufferAttribute(g.array.slice(),g.itemSize,g.normalized));for(var T=0,O=B.length;T<O;T++){var P=B[T];if(g.setX(P,C[T*c]),c>=2&&g.setY(P,C[T*c+1]),c>=3&&g.setZ(P,C[T*c+2]),c>=4&&g.setW(P,C[T*c+3]),c>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return g})}}return this.cache.set(r,a),a},n.prototype.createPrimitiveKey=function(t){for(var e=0,r=ht(this.extensions);e<r.length;e++){var i=r[e],a=i.createPrimitiveKey(t,this);if(a)return a}for(var o="",s=Object.keys(t.attributes).sort(),l=0,u=s.length;l<u;l++)o+=s[l]+":"+t.attributes[s[l]]+";";return t.indices+":"+o+":"+t.mode},n.prototype.loadGeometry=function(t){for(var e=this,r=null,i=0,a=ht(this.extensions);i<a.length;i++){var o=a[i];if(r=o.loadGeometry(t,this),r)break}return r||(r=this.addGeometryPrimitiveAttributes(new d.BufferGeometry,t)),r=r.then(function(s){return e.disposeSet.add(s),s}),r},n.prototype.loadImage=function(t){for(var e=this,r=null,i=0,a=ht(this.extensions);i<a.length;i++){var o=a[i];if(r=o.loadImage(t,this),r)break}if(!r){var s=this.json.images[t];if(s.bufferView!==void 0){var l=this.json.bufferViews[s.bufferView];r=this.loadBuffer(l.buffer).then(function(c){var f=l.byteOffset||0,A=l.byteLength||0,m=new Uint8Array(c,f,A),h=new Blob([m],{type:s.mimeType});return La(h)})}else if(s.uri){var u=this.resolveResouce(s.uri);r=this.options.fetcher.loadImage(u,{},void 0,void 0,void 0,Ii()).then(function(c){return c.body})}else throw new Error("glTF: Invalid image defs.")}return r=r.then(function(c){return e.disposeSet.add(c),c}),r},n.prototype.loadMaterialAsMeshStandardMaterial=function(t){var e=this,r=[],i=new d.MeshStandardMaterial;if(i.color=new d.Color(1,1,1),i.opacity=1,Object.keys(t.attributes).filter(function(c){return Rt[c]==="color"}).length>0&&(i.vertexColors=!0),Object.keys(t.attributes).filter(function(c){return Rt[c]==="normal"}).length===0&&(i.flatShading=!0),Object.keys(t.attributes).filter(function(c){return Rt[c]==="tangent"}).length===0&&(i.normalScale&&(i.normalScale.y*=-1),i.clearcoatNormalScale&&(i.clearcoatNormalScale.y*=-1)),t.material!==void 0){var a=this.json.materials[t.material];a.name&&(i.name=a.name);var o=a.pbrMetallicRoughness||{};if(Array.isArray(o.baseColorFactor)){var s=o.baseColorFactor;i.color.fromArray(s),i.opacity=s[3]}o.baseColorTexture!==void 0&&r.push(this.createMaterialTexture(o.baseColorTexture).then(function(c){c.encoding=d.sRGBEncoding,i.map=c,e.disposeSet.add(c)})),i.metalness=o.metallicFactor!==void 0?o.metallicFactor:1,i.roughness=o.roughnessFactor!==void 0?o.roughnessFactor:1,o.metallicRoughnessTexture!==void 0&&r.push(this.createMaterialTexture(o.metallicRoughnessTexture).then(function(c){c.encoding=d.sRGBEncoding,i.metalnessMap=c,i.roughnessMap=c,e.disposeSet.add(c)})),a.doubleSided===!0&&(i.side=d.DoubleSide);var l=a.alphaMode||mr.OPAQUE;if(l===mr.BLEND?(i.transparent=!0,i.depthWrite=!1):(i.transparent=!1,l===mr.MASK&&(i.alphaTest=a.alphaCutoff!==void 0?a.alphaCutoff:.5)),a.normalTexture!==void 0&&(r.push(this.createMaterialTexture(a.normalTexture).then(function(c){i.normalMap=c,e.disposeSet.add(c)})),i.normalScale=new d.Vector2(1,1),a.normalTexture.scale!==void 0)){var u=a.normalTexture.scale;i.normalScale.set(u,u)}a.occlusionTexture!==void 0&&(r.push(this.createMaterialTexture(a.occlusionTexture).then(function(c){i.aoMap=c,e.disposeSet.add(c)})),a.occlusionTexture.strength!==void 0&&(i.aoMapIntensity=a.occlusionTexture.strength)),a.emissiveFactor!==void 0&&(i.emissive=new d.Color().fromArray(a.emissiveFactor)),a.emissiveTexture!==void 0&&r.push(this.createMaterialTexture(a.emissiveTexture).then(function(c){i.emissiveMap=c,e.disposeSet.add(c)}))}return this.disposeSet.add(i),Promise.all(r).then(function(){return i})},n.prototype.loadMaterialAsLineBasicMaterial=function(t){var e=[],r=new d.LineBasicMaterial;if(r.color=new d.Color(1,1,1),r.opacity=1,Object.keys(t.attributes).filter(function(l){return Rt[l]==="color"}).length>0&&(r.vertexColors=!0),Object.keys(t.attributes).filter(function(l){return Rt[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 a=i.pbrMetallicRoughness||{};if(Array.isArray(a.baseColorFactor)){var o=a.baseColorFactor;r.color.fromArray(o),r.opacity=o[3]}i.doubleSided===!0&&(r.side=d.DoubleSide);var s=i.alphaMode||mr.OPAQUE;s===mr.BLEND?(r.transparent=!0,r.depthWrite=!1):(r.transparent=!1,s===mr.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 d.PointsMaterial;if(i.color=new d.Color(1,1,1),i.opacity=1,i.sizeAttenuation=!1,Object.keys(t.attributes).filter(function(u){return Rt[u]==="color"}).length>0&&(i.vertexColors=!0),Object.keys(t.attributes).filter(function(u){return Rt[u]==="tangent"}).length===0&&(i.normalScale&&(i.normalScale.y*=-1),i.clearcoatNormalScale&&(i.clearcoatNormalScale.y*=-1)),t.material!==void 0){var a=this.json.materials[t.material];a.name&&(i.name=a.name);var o=a.pbrMetallicRoughness||{};if(Array.isArray(o.baseColorFactor)){var s=o.baseColorFactor;i.color.fromArray(s),i.opacity=s[3]}o.baseColorTexture!==void 0&&r.push(this.createMaterialTexture(o.baseColorTexture).then(function(u){u.encoding=d.sRGBEncoding,i.map=u,e.disposeSet.add(u)})),a.doubleSided===!0&&(i.side=d.DoubleSide);var l=a.alphaMode||mr.OPAQUE;l===mr.BLEND?(i.transparent=!0,i.depthWrite=!1):(i.transparent=!1,l===mr.MASK&&(i.alphaTest=a.alphaCutoff!==void 0?a.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:Oe.TRIANGLES,i="material:"+this.createPrimitiveKey(t),a=this.cache.get(i);if(a)return a;for(var o=null,s=0,l=ht(this.extensions);s<l.length;s++){var u=l[s];if(o=u.loadMaterial(t,this),o)break}if(r===Oe.TRIANGLES||r===Oe.TRIANGLE_STRIP||r===Oe.TRIANGLE_FAN)o=this.loadMaterialAsMeshStandardMaterial(t);else if(r===Oe.LINES||r===Oe.LINE_STRIP||r===Oe.LINE_LOOP)o=this.loadMaterialAsLineBasicMaterial(t);else if(r===Oe.POINTS)o=this.loadMaterialAsPointsMaterial(t);else throw new Error("glTF: Primitive mode unsupported: "+r);return this.cache.set(i,o),o},n.prototype.loadTexture=function(t){var e=this,r="texture:"+t,i=this.cache.get(r);if(i)return i;for(var a=null,o=0,s=ht(this.extensions);o<s.length;o++){var l=s[o];if(a=l.loadTexture(t,this),a)break}if(!a){var u=this.json.textures[t];a=this.loadImage(u.source).then(function(c){var f=new d.Texture(c);f.needsUpdate=!0,f.flipY=!1,u.name&&(f.name=u.name);var A=e.json.samplers||{},m=A[u.sampler]||{};return f.magFilter=Ti[m.magFilter]||d.LinearFilter,f.minFilter=Ti[m.minFilter]||d.LinearMipmapLinearFilter,f.wrapS=Pi[m.wrapS]||d.RepeatWrapping,f.wrapT=Pi[m.wrapT]||d.RepeatWrapping,f.onUpdate=function(){c.close()},f})}return a=a.then(function(c){return e.disposeSet.add(c),c}),this.cache.set(r,a),a},n.prototype.loadMesh=function(t){for(var e=this,r=null,i=0,a=ht(this.extensions);i<a.length;i++){var o=a[i];if(r=o.loadMesh(t,this),r)break}if(!r){var s=this.json.meshes[t],l=s.primitives,u=Promise.all(l.map(function(f){return e.loadGeometry(f)})),c=Promise.all(l.map(function(f){return e.loadMaterial(f)}));r=Promise.all([u,c]).then(function(f){for(var A=f[0],m=f[1],h=[],p=0;p<l.length;p++){var y=l[p],v=A[p],g=m[p],x=y.mode||Oe.TRIANGLES,b=void 0;if(x===Oe.TRIANGLES||x===Oe.TRIANGLE_STRIP||x===Oe.TRIANGLE_FAN)if(x===Oe.TRIANGLE_STRIP?v=e.toGeometryTrianglesDrawMode(v,d.TriangleStripDrawMode):x===Oe.TRIANGLE_FAN&&(v=e.toGeometryTrianglesDrawMode(v,d.TriangleFanDrawMode)),e.disposeSet.add(v),s.isSkinnedMesh){var w=new d.SkinnedMesh(v,g);v.attributes.skinWeight.normalized||w.normalizeSkinWeights(),b=w}else b=new d.Mesh(v,g);else if(x===Oe.POINTS)b=new d.Points(v,g);else if(x===Oe.LINES)b=new d.LineSegments(v,g);else if(x===Oe.LINE_STRIP)b=new d.Line(v,g);else if(x===Oe.LINE_LOOP)b=new d.LineLoop(v,g);else throw new Error("glTF: Primitive mode unsupported: "+x);if(Object.keys(v.morphAttributes).length>0){if(s.weights!==void 0)for(var E=0,I=s.weights.length;E<I;E++)b.morphTargetInfluences[E]=s.weights[E];if(s.extras&&Array.isArray(s.extras.targetNames)){var M=s.extras.targetNames;if(b.morphTargetInfluences.length===M.length){b.morphTargetDictionary={};for(var E=0,I=M.length;E<I;E++)b.morphTargetDictionary[M[E]]=E}else console.warn("glTF: Invalid extras.targetNames length. Ignoring names.")}}b.name=e.createUniqueName(s.name||"mesh_"+t),h.push(b)}if(h.length===1)return h[0];for(var k=new d.Group,B=0,C=h;B<C.length;B++){var b=C[B];k.add(b)}return k})}return r},n.prototype.loadNodeAttachments=function(t){for(var e=[],r=0,i=ht(this.extensions);r<i.length;r++){var a=i[r],o=a.loadNodeAttachments(t,this);o&&e.push(o)}return e},n.prototype.loadNode=function(t){var e="node:"+t,r=this.cache.get(e);if(r)return r;var i=this.json,a=i.nodes[t],o=a.name?this.createUniqueName(a.name):"",s=[];a.mesh!==void 0&&s.push(this.loadMesh(a.mesh).then(function(A){if(a.weights!==void 0){var m=a.weights;A.traverse(function(h){if(h instanceof d.Mesh||h instanceof d.Line||h instanceof d.Points)for(var p=0,y=m.length;p<y;p++)h.morphTargetInfluences[p]=m[p]})}return A})),a.camera!==void 0&&s.push(this.loadCamera(a.camera));for(var l=this.loadNodeAttachments(t),u=0,c=l;u<c.length;u++){var f=c[u];s.push(f)}return Promise.all(s).then(function(A){var m;if(a.isBone===!0?m=new d.Bone:A.length>1?m=new d.Group:A.length===1?m=A[0]:m=new d.Object3D,m!==A[0])for(var h=0,p=A.length;h<p;h++)m.add(A[h]);if(a.name&&(m.name=o),a.matrix!==void 0){var y=new d.Matrix4;y.fromArray(a.matrix),m.applyMatrix4(y)}else a.translation!==void 0&&m.position.fromArray(a.translation),a.rotation!==void 0&&m.quaternion.fromArray(a.rotation),a.scale!==void 0&&m.scale.fromArray(a.scale);return m})},n.prototype.loadScene=function(t){var e=this.json,r=e.scenes[t],i=new d.Group;r.name&&(i.name=this.createUniqueName(r.name));for(var a=r.nodes||[],o=[],s=0,l=a.length;s<l;s++)o.push(this.buildNodeHierarchy(a[s],i));return Promise.all(o).then(function(){return i})},n.prototype.createMaterialTexture=function(t){var e=this;return this.loadTexture(t.index).then(function(r){for(var i=0,a=ht(e.extensions);i<a.length;i++){var o=a[i],s=o.extendTexture(r,t,e);s&&(r=s,e.disposeSet.add(r))}return e.textureSet.add(r),r})},n.prototype.addGeometryPrimitiveAttributes=function(t,e){var r=this,i=e.attributes,a=[],o=function(w){var E=Rt[w]||w.toLowerCase();if(E in t.attributes)return"continue";a.push(s.loadAccessor(i[w]).then(function(I){I&&t.setAttribute(E,I)}))},s=this;for(var l in i)o(l);e.indices!==void 0&&!t.index&&a.push(this.loadAccessor(e.indices).then(function(w){w&&t.setIndex(w)}));var u=new d.Box3;if(i.POSITION!==void 0){var c=this.json.accessors[i.POSITION],f=c.min,A=c.max;if(f!==void 0&&A!==void 0){if(u.set(new d.Vector3(f[0],f[1],f[2]),new d.Vector3(A[0],A[1],A[2])),c.normalized){var m=oa(kn[c.componentType]);u.min.multiplyScalar(m),u.max.multiplyScalar(m)}}else console.warn("glTF: Missing min/max properties for accessor POSITION.")}var h=e.targets;if(h!==void 0){for(var p=new d.Vector3,y=new d.Vector3,v=0,g=h.length;v<g;v++){var x=h[v];if(x.POSITION!==void 0){var c=this.json.accessors[x.POSITION],f=c.min,A=c.max;if(f!==void 0&&A!==void 0){if(y.setX(Math.max(Math.abs(f[0]),Math.abs(A[0]))),y.setY(Math.max(Math.abs(f[1]),Math.abs(A[1]))),y.setZ(Math.max(Math.abs(f[2]),Math.abs(A[2]))),c.normalized){var m=oa(kn[c.componentType]);y.multiplyScalar(m)}p.max(y)}else console.warn("glTF: Missing min/max properties for accessor POSITION.")}}u.expandByVector(p)}t.boundingBox=u;var b=new d.Sphere;return u.getCenter(b.center),b.radius=u.min.distanceTo(u.max)/2,t.boundingSphere=b,Promise.all(a).then(function(){if(t.attributes.uv&&!t.attributes.uv2&&r.options.copyUV2&&t.setAttribute("uv2",t.attributes.uv),e.targets){for(var w=!1,E=!1,I=0,M=e.targets.length;I<M;I++){var k=e.targets[I];if(k.POSITION!==void 0&&(w=!0),k.NORMAL!==void 0&&(E=!0),w&&E)break}if(!w&&!E)return t;var B=[];t.morphTargetsRelative=!0;for(var C=function(T,O){var P=e.targets[T];w?B.push(r.loadAccessor(P.POSITION).then(function(F){F&&(t.morphAttributes.position[T]=F)})):t.morphAttributes.position[T]=t.attributes.position,E?B.push(r.loadAccessor(P.NORMAL).then(function(F){F&&(t.morphAttributes.normal[T]=F)})):t.morphAttributes.normal[T]=t.attributes.normal},I=0,M=e.targets.length;I<M;I++)C(I,M);return Promise.all(B).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(a){if(i.skin===void 0)return a;var o;return r.loadSkin(i.skin).then(function(s){o=s;for(var l=[],u=0,c=o.joints.length;u<c;u++)l.push(r.loadNode(o.joints[u]));return Promise.all(l)}).then(function(s){return a.traverse(function(l){if(l instanceof d.SkinnedMesh){for(var u=[],c=[],f=0,A=s.length;f<A;f++){var m=s[f];if(m instanceof d.Bone){u.push(m);var h=new d.Matrix4;o.inverseBindMatrices!==void 0&&h.fromArray(o.inverseBindMatrices.array,f*16),c.push(h)}else console.warn('glTF: Joint "%s" could not be found.',o.joints[f])}l.bind(new d.Skeleton(u,c),l.matrixWorld)}}),a})}).then(function(a){e.add(a);var o=[];if(i.children)for(var s=i.children,l=0,u=s.length;l<u;l++){var c=s[l];o.push(r.buildNodeHierarchy(c,a))}return Promise.all(o).then(function(){return a})})},n.prototype.createUniqueName=function(t){for(var e=d.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 xt(this.options.resourcePath,X0(t,this.options.search))},n.prototype.toGeometryTrianglesDrawMode=function(t,e){var r=t.getIndex();if(r===null){var i=[],a=t.getAttribute("position");if(a!==void 0){for(var o=0;o<a.count;o++)i.push(o);t.setIndex(i),r=t.getIndex()}}if(r===null)return console.error("glTF: Undefined position attribute. Processing not possible."),t;var s=r.count-2,l=[];if(e===d.TriangleFanDrawMode)for(var o=1;o<=s;o++)l.push(r.getX(0)),l.push(r.getX(o)),l.push(r.getX(o+1));else for(var o=0;o<s;o++)o%2===0?(l.push(r.getX(o)),l.push(r.getX(o+1)),l.push(r.getX(o+2))):(l.push(r.getX(o+2)),l.push(r.getX(o+1)),l.push(r.getX(o)));l.length/3!==s&&console.error("glTF: Unable to generate correct amount of triangles.");var u=t.clone();return u.setIndex(l),this.disposeSet.add(u),u},n}();function oa(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 cr=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}(),Yd=function(n){ue(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 Na(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),a=0,o=null,s=null;a<i.byteLength;){var l=i.getUint32(a,!0);if(a+=4,l!==0){var u=i.getUint32(a,!0);if(a+=4,u===t.CHUNK_TYPES.JSON){var c=new Uint8Array(e,t.HEADER_LENGTH+a,l);o=Na(c)}else if(u===t.CHUNK_TYPES.BIN){var f=t.HEADER_LENGTH+a;s=e.slice(f,f+l)}a+=l}}if(o===null)throw new Error("glTF:KHR_binary_glTF: JSON content not found.");this.content=o,this.body=s},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.prototype.clear=function(){this.body=null,this.content=""},t.HEADER_MAGIC="glTF",t.HEADER_LENGTH=12,t.CHUNK_TYPES={JSON:1313821514,BIN:5130562},t}(cr),$d="https://vr-public.realsee-cdn.cn/release/static/image/release/five/resource/draco/1.5.6/",os={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},ss={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"},ef=function(){function n(){this.decoderPath=$d,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 a={attributeIDs:r||os,attributeTypes:i||ss,useUniqueIDs:!!r};this.decodeGeometry(t,a).then(e)},n.prototype.decodeGeometry=function(t,e){var r=this;e===void 0&&(e={attributeIDs:os,attributeTypes:ss,useUniqueIDs:!1});for(var i in e.attributeTypes){var a=e.attributeTypes[i];a.BYTES_PER_ELEMENT!==void 0&&(e.attributeTypes[i]=a.name)}var o,s=this.workerNextTaskID++,l=t.byteLength,u=this._getWorker(s,l).then(function(c){return o=c,new Promise(function(f,A){o._callbacks[s]={resolve:f,reject:A},o.postMessage({type:"decode",id:s,taskConfig:e,buffer:t},[t])})}).then(function(c){return r._createGeometry(c.geometry)});return u.catch(function(){return!0}).then(function(){o&&s&&r._releaseTask(o,s)}),u},n.prototype._createGeometry=function(t){var e=new d.BufferGeometry;t.index&&e.setIndex(new d.BufferAttribute(t.index.array,1));for(var r=0;r<t.attributes.length;r++){var i=t.attributes[r],a=i.name,o=i.array,s=i.itemSize;e.setAttribute(a,new d.BufferAttribute(o,s))}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=wn(this.decoderPath+"draco_decoder.js",{responseType:"text"}).then(function(a){return a.body});this.decoderPending=r.then(function(a){var o=["/* draco decoder */",a,"","/* worker */",us].join(`
418
+ `);t.workerSourceURL=URL.createObjectURL(new Blob([o]))})}else{var r=wn(this.decoderPath+"draco_wasm_wrapper.js",{responseType:"text"}).then(function(o){return o.body}),i=wn(this.decoderPath+"draco_decoder.wasm",{responseType:"arraybuffer"}).then(function(o){return o.body});this.decoderPending=Promise.all([r,i]).then(function(o){var s=o[0],l=o[1];t.decoderConfig.wasmBinary=l;var u=["/* draco decoder */",s,"","/* worker */",us].join(`
419
+ `);t.workerSourceURL=URL.createObjectURL(new Blob([u]))})}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(o){var s=o.data;switch(s.type){case"decode":i._callbacks[s.id].resolve(s);break;case"error":i._callbacks[s.id].reject(s);break;default:console.error('DRACO: Unexpected message, "'+s.type+'"')}},r.workerPool.push(i)}else r.workerPool.sort(function(o,s){return o._taskLoad>s._taskLoad?-1:1});var a=r.workerPool[r.workerPool.length-1];return a._taskCosts[t]=e,a._taskLoad+=e,a})},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}(),Bi=new ef,us=`
420
420
  let decoderConfig;
421
421
  let decoderPending;
422
422
 
@@ -611,8 +611,8 @@ void main() {
611
611
  }
612
612
 
613
613
  }
614
- `,ia="KHR_draco_mesh_compression",Ud=function(n){se(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.loadGeometry=function(e,r){return e.extensions&&e.extensions[ia]?this.decodePrimitive(e,r).then(function(i){return r.addGeometryPrimitiveAttributes(i,e)}):null},t.prototype.decodePrimitive=function(e,r){var i=r.json,a=e.extensions[ia].bufferView,o=e.extensions[ia].attributes,s={},u={},l={};for(var c in o){var h=Rt[c]||c.toLowerCase();s[h]=o[c]}for(var c in e.attributes){var h=Rt[c]||c.toLowerCase();if(o[c]!==void 0){var A=i.accessors[e.attributes[c]],m=Fn[A.componentType];l[h]=m,u[h]=A.normalized===!0}}return r.loadBufferView(a).then(function(f){return new Promise(function(v){Ii.decodeDracoFile(f,function(y){for(var p in y.attributes){var g=y.attributes[p],x=u[p];x!==void 0&&(g.normalized=x)}v(y)},s,l)})})},t}(cr),qd=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(),a=i.resolve,o=i.msg,s=i.transfer;this.workersResolve[t]=a,this.workers[t].postMessage(o,s)}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 a=r._getIdleWorker();a!==-1?(r._initWorker(a),r.workerStatus|=1<<a,r.workersResolve[a]=i,r.workers[a].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}(),Hd="https://vr-public.realsee-cdn.cn/release/static/image/release/five/resource/basis/1.16/",Gd=2,Kd=1,jd=function(){function n(){this.transcoderPath=Hd,this.transcoderBinary=null,this.transcoderPending=null,this.workerPool=new qd(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=wn(this.transcoderPath+"basis_transcoder.js",{responseType:"text"}).then(function(i){return i.body}),r=wn(this.transcoderPath+"basis_transcoder.wasm",{responseType:"arraybuffer"}).then(function(i){return i.body});this.transcoderPending=Promise.all([e,r]).then(function(i){var a=i[0],o=i[1],s=["/* constants */","let _EngineFormat = "+JSON.stringify(Wd),"let _TranscoderFormat = "+JSON.stringify(Xd),"let _BasisFormat = "+JSON.stringify(Jd),"/* basis_transcoder.js */",a,"/* worker */",_d].join(`
615
- `);t.workerSourceURL=URL.createObjectURL(new Blob([s])),t.transcoderBinary=o,t.workerPool.setWorkerCreator(function(){var u=new Worker(t.workerSourceURL),l=t.transcoderBinary.slice(0);return u.postMessage({type:"init",config:t.workerConfig,transcoderBinary:l},[l]),u})})}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,a=t.format,o=t.type,s=t.error,u=t.dfdTransferFn,l=t.dfdFlags;if(o==="error")return Promise.reject(s);var c=new d.CompressedTexture(e,r,i,a,d.UnsignedByteType);return c.minFilter=e.length===1?d.LinearFilter:d.LinearMipmapLinearFilter,c.magFilter=d.LinearFilter,c.generateMipmaps=!1,c.needsUpdate=!0,c.encoding=u===Gd?d.sRGBEncoding:d.LinearEncoding,c.premultiplyAlpha=!!(l&Kd),Promise.resolve(c)},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}(),Hn=new jd,Jd={ETC1S:0,UASTC_4x4:1},Xd={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},Wd={RGBAFormat:d.RGBAFormat,RGBA_ASTC_4x4_Format:d.RGBA_ASTC_4x4_Format,RGBA_BPTC_Format:d.RGBA_BPTC_Format,RGBA_ETC2_EAC_Format:d.RGBA_ETC2_EAC_Format,RGBA_PVRTC_4BPPV1_Format:d.RGBA_PVRTC_4BPPV1_Format,RGBA_S3TC_DXT5_Format:d.RGBA_S3TC_DXT5_Format,RGB_ETC1_Format:d.RGB_ETC1_Format,RGB_ETC2_Format:d.RGB_ETC2_Format,RGB_PVRTC_4BPPV1_Format:d.RGB_PVRTC_4BPPV1_Format,RGB_S3TC_DXT1_Format:d.RGB_S3TC_DXT1_Format},_d=`
614
+ `,sa="KHR_draco_mesh_compression",tf=function(n){ue(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.loadGeometry=function(e,r){return e.extensions&&e.extensions[sa]?this.decodePrimitive(e,r).then(function(i){return r.addGeometryPrimitiveAttributes(i,e)}):null},t.prototype.decodePrimitive=function(e,r){var i=r.json,a=e.extensions[sa].bufferView,o=e.extensions[sa].attributes,s={},l={},u={};for(var c in o){var f=Rt[c]||c.toLowerCase();s[f]=o[c]}for(var c in e.attributes){var f=Rt[c]||c.toLowerCase();if(o[c]!==void 0){var A=i.accessors[e.attributes[c]],m=kn[A.componentType];u[f]=m,l[f]=A.normalized===!0}}return r.loadBufferView(a).then(function(h){return new Promise(function(p){Bi.decodeDracoFile(h,function(y){for(var v in y.attributes){var g=y.attributes[v],x=l[v];x!==void 0&&(g.normalized=x)}p(y)},s,u)})})},t}(cr),rf=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(),a=i.resolve,o=i.msg,s=i.transfer;this.workersResolve[t]=a,this.workers[t].postMessage(o,s)}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 a=r._getIdleWorker();a!==-1?(r._initWorker(a),r.workerStatus|=1<<a,r.workersResolve[a]=i,r.workers[a].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}(),nf="https://vr-public.realsee-cdn.cn/release/static/image/release/five/resource/basis/1.16/",af=2,of=1,sf=function(){function n(){this.transcoderPath=nf,this.transcoderBinary=null,this.transcoderPending=null,this.workerPool=new rf(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=wn(this.transcoderPath+"basis_transcoder.js",{responseType:"text"}).then(function(i){return i.body}),r=wn(this.transcoderPath+"basis_transcoder.wasm",{responseType:"arraybuffer"}).then(function(i){return i.body});this.transcoderPending=Promise.all([e,r]).then(function(i){var a=i[0],o=i[1],s=["/* constants */","let _EngineFormat = "+JSON.stringify(cf),"let _TranscoderFormat = "+JSON.stringify(lf),"let _BasisFormat = "+JSON.stringify(uf),"/* basis_transcoder.js */",a,"/* worker */",df].join(`
615
+ `);t.workerSourceURL=URL.createObjectURL(new Blob([s])),t.transcoderBinary=o,t.workerPool.setWorkerCreator(function(){var l=new Worker(t.workerSourceURL),u=t.transcoderBinary.slice(0);return l.postMessage({type:"init",config:t.workerConfig,transcoderBinary:u},[u]),l})})}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,a=t.format,o=t.type,s=t.error,l=t.dfdTransferFn,u=t.dfdFlags;if(o==="error")return Promise.reject(s);var c=new d.CompressedTexture(e,r,i,a,d.UnsignedByteType);return c.minFilter=e.length===1?d.LinearFilter:d.LinearMipmapLinearFilter,c.magFilter=d.LinearFilter,c.generateMipmaps=!1,c.needsUpdate=!0,c.encoding=l===af?d.sRGBEncoding:d.LinearEncoding,c.premultiplyAlpha=!!(u&of),Promise.resolve(c)},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}(),qn=new sf,uf={ETC1S:0,UASTC_4x4:1},lf={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},cf={RGBAFormat:d.RGBAFormat,RGBA_ASTC_4x4_Format:d.RGBA_ASTC_4x4_Format,RGBA_BPTC_Format:d.RGBA_BPTC_Format,RGBA_ETC2_EAC_Format:d.RGBA_ETC2_EAC_Format,RGBA_PVRTC_4BPPV1_Format:d.RGBA_PVRTC_4BPPV1_Format,RGBA_S3TC_DXT5_Format:d.RGBA_S3TC_DXT5_Format,RGB_ETC1_Format:d.RGB_ETC1_Format,RGB_ETC2_Format:d.RGB_ETC2_Format,RGB_PVRTC_4BPPV1_Format:d.RGB_PVRTC_4BPPV1_Format,RGB_S3TC_DXT1_Format:d.RGB_S3TC_DXT1_Format},df=`
616
616
 
617
617
  let config;
618
618
  let transcoderPending;
@@ -880,18 +880,18 @@ void main() {
880
880
  return ( value & ( value - 1 ) ) === 0 && value !== 0;
881
881
 
882
882
  }
883
- `,rs="KHR_texture_basisu",Zd=function(n){se(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[rs])return null;var a=i.extensions[rs],o=r.json.images[a.source],s=null;if(o.bufferView!==void 0)s=r.loadBufferView(o.bufferView).then(function(u){return Hn.parse(u)});else if(o.uri)s=r.options.fetcher.ajax(r.resolveResouce(o.uri),{responseType:"arraybuffer"}).then(function(u){return Hn.parse(u.body)});else throw new Error("glTF: Invalid image defs.");return s},t}(cr),ns="KHR_texture_transform",Yd=function(n){se(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.extendTexture=function(e,r,i){var a=r.extensions!==void 0?r.extensions[ns]:void 0;return a?(a.texCoord!==void 0&&console.warn('glTF: Custom UV sets in "'+ns+'" extension not yet supported.'),a.offset===void 0&&a.rotation===void 0&&a.scale===void 0||(e=e.clone(),e.needsUpdate=!0,a.offset!==void 0&&e.offset.fromArray(a.offset),a.rotation!==void 0&&(e.rotation=a.rotation),a.scale!==void 0&&e.repeat.fromArray(a.scale)),e):null},t}(cr),$d=function(n){se(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t}(cr),ef=function(n){se(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t}(cr),aa=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,a,o=WebAssembly.instantiate(s(i),{}).then(function(p){a=p.instance,a.exports.__wasm_call_ctors()});function s(p){for(var g=new Uint8Array(p.length),x=0;x<p.length;++x){var b=p.charCodeAt(x);g[x]=b>96?b-97:b>64?b-39:b+4}for(var w=0,x=0;x<p.length;++x)g[w++]=g[x]<60?r[g[x]]:(g[x]-60)*64+g[++x];return g.buffer.slice(0,w)}function u(p,g,x,b,w,E){var M=a.exports.sbrk,C=x+3&-4,I=M(C*b),S=M(w.length),P=new Uint8Array(a.exports.memory.buffer);P.set(w,S);var B=p(I,x,b,S,w.length);if(B==0&&E&&E(I,C,b),g.set(P.subarray(I,I+x*b)),M(I-M(0)),B!=0)throw new Error("Malformed buffer data: "+B)}var l={NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},c={ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"},h=[],A=0;function m(p){var g={object:new Worker(p),pending:0,requests:{}};return g.object.onmessage=function(x){var b=x.data;g.pending-=b.count,g.requests[b.id][b.action](b.value),delete g.requests[b.id]},g}function f(p){for(var g="var instance; var ready = WebAssembly.instantiate(new Uint8Array(["+new Uint8Array(s(i))+"]), {}).then(function(result) { instance = result.instance; instance.exports.__wasm_call_ctors(); });self.onmessage = workerProcess;"+u.toString()+y.toString(),x=new Blob([g],{type:"text/javascript"}),b=URL.createObjectURL(x),w=0;w<p;++w)h[w]=m(b);URL.revokeObjectURL(b)}function v(p,g,x,b,w){for(var E=h[0],M=1;M<h.length;++M)h[M].pending<E.pending&&(E=h[M]);return new Promise(function(C,I){var S=new Uint8Array(x),P=A++;E.pending+=p,E.requests[P]={resolve:C,reject:I},E.object.postMessage({id:P,count:p,size:g,source:S,mode:b,filter:w},[S.buffer])})}function y(p){o.then(function(){var g=p.data;try{var x=new Uint8Array(g.count*g.size);u(a.exports[g.mode],x,g.count,g.size,g.source,a.exports[g.filter]),self.postMessage({id:g.id,count:g.count,action:"resolve",value:x},[x.buffer])}catch(b){self.postMessage({id:g.id,count:g.count,action:"reject",value:b})}})}return{ready:o,supported:!0,useWorkers:function(p){f(p)},decodeVertexBuffer:function(p,g,x,b,w){u(a.exports.meshopt_decodeVertexBuffer,p,g,x,b,a.exports[l[w]])},decodeIndexBuffer:function(p,g,x,b){u(a.exports.meshopt_decodeIndexBuffer,p,g,x,b)},decodeIndexSequence:function(p,g,x,b){u(a.exports.meshopt_decodeIndexSequence,p,g,x,b)},decodeGltfBuffer:function(p,g,x,b,w,E){u(a.exports[c[w]],p,g,x,b,a.exports[l[E]])},decodeGltfBufferAsync:function(p,g,x,b,w){return h.length>0?v(p,g,x,c[b],l[w]):o.then(function(){var E=new Uint8Array(p*g);return u(a.exports[c[b]],E,p,g,x,a.exports[l[w]]),E})}}}(),oa="EXT_meshopt_compression",tf=function(n){se(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.loadBufferView=function(e,r){var i=r.json,a=i.bufferViews[e];if(a.extensions&&a.extensions[oa]){var o=a.extensions[oa],s=r.loadBuffer(o.buffer);if(!aa.supported){if(i.extensionsRequired&&i.extensionsRequired.indexOf(oa)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return Promise.all([s,aa.ready]).then(function(u){var l=u[0],c=o.byteOffset||0,h=o.byteLength||0,A=o.count,m=o.byteStride,f=new ArrayBuffer(A*m),v=new Uint8Array(l,c,h);return aa.decodeGltfBuffer(new Uint8Array(f),A,m,v,o.mode,o.filter),f})}else return null},t}(cr),is="EXT_texture_webp",rf=function(n){se(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 f0().then(function(i){r.supportsWep=i.webp})},t.prototype.loadTexture=function(e,r){var i=r.json,a=i.textures[e];if(!a.extensions||!a.extensions[is]||!this.supportsWep)return null;var o=a.extensions[is];return r.loadImage(o.source).then(function(s){var u=new d.Texture(s);u.needsUpdate=!0,u.flipY=!1,a.name&&(u.name=a.name);var l=r.json.samplers||{},c=l[a.sampler]||{};return u.magFilter=Mi[c.magFilter]||d.LinearFilter,u.minFilter=Mi[c.minFilter]||d.LinearMipmapLinearFilter,u.wrapS=Si[c.wrapS]||d.RepeatWrapping,u.wrapT=Si[c.wrapT]||d.RepeatWrapping,u.onUpdate=function(){s.close()},u})},t}(cr),sa="CESIUM_RTC",nf=function(n){se(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.emitResult=function(e,r){if(r.json.extensions[sa]&&r.json.extensions[sa].center){var i=r.json.extensions[sa].center;e.CESIUM_RTC={center:new d.Vector3().fromArray(i)}}},t}(cr),af=function(n){se(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.loadMesh=function(e,r){var i=this,a=r.json.meshes[e],o=a.primitives,s=Promise.all(o.map(function(c){return r.loadGeometry(c)})),u=Promise.all(o.map(function(c){return i.loadPBMMaterial(c,r)})),l=Promise.all([s,u]).then(function(c){for(var h=c[0],A=c[1],m=[],f=0;f<o.length;f++){var v=o[f],y=h[f],p=A[f];y.attributes.normal===void 0&&(p.flatShading=!0),y.attributes.tangent===void 0&&p.normalScale&&(p.normalScale.y*=-1);var g=v.mode||Oe.TRIANGLES,x=void 0;if(g===Oe.TRIANGLES||g===Oe.TRIANGLE_STRIP||g===Oe.TRIANGLE_FAN)g===Oe.TRIANGLE_STRIP?y=r.toGeometryTrianglesDrawMode(y,d.TriangleStripDrawMode):g===Oe.TRIANGLE_FAN&&(y=r.toGeometryTrianglesDrawMode(y,d.TriangleFanDrawMode)),y.clearGroups(),y.addGroup(0,y.index?y.index.count:y.attributes.position.count,0),r.disposeSet.add(y),x=new Dt(y,[p]);else if(g===Oe.POINTS)x=new wr(y,p);else throw new Error("glTF: Primitive mode unsupported: "+g);x.name=r.createUniqueName(a.name||"mesh_"+e),m.push(x)}if(m.length===1)return m[0];for(var b=new d.Group,w=0,E=m;w<E.length;w++){var x=E[w];b.add(x)}return b});return l},t.prototype.loadPBMMaterial=function(e,r){var i,a=(i=e.mode)!==null&&i!==void 0?i:Oe.TRIANGLES,o=null;if(a===Oe.TRIANGLES||a===Oe.TRIANGLE_STRIP||a===Oe.TRIANGLE_FAN)o=this.loadPBMMeshMaterial(e,r);else if(a===Oe.POINTS)o=this.loadPBMPointCloudMaterial(e,r);else throw new Error("glTF: Primitive mode unsupported: "+a);return o},t.prototype.extendTexture=function(e,r,i){return e.minFilter=d.LinearFilter,e.magFilter=d.LinearFilter,e.generateMipmaps=!1,e},t.prototype.loadPBMPointCloudMaterial=function(e,r){var i=new no;return Object.keys(e.attributes).filter(function(a){return Rt[a]==="normal"}).length>0&&(i.defines.USE_POINT_NORMAL=!0),r.disposeSet.add(i),Promise.resolve(i)},t.prototype.loadPBMMeshMaterial=function(e,r){var i=[],a=new Pn("basic");if(a.color=new d.Color(1,1,1),Object.keys(e.attributes).filter(function(c){return Rt[c]==="color"}).length>0&&(a.vertexColors=!0),e.material!==void 0){var o=r.json.materials[e.material];o.name&&(a.name=o.name);var s=o.pbrMetallicRoughness||{};if(Array.isArray(s.baseColorFactor)){var u=s.baseColorFactor;a.color=new d.Color().fromArray(u)}if(s.baseColorTexture!==void 0&&i.push(r.createMaterialTexture(s.baseColorTexture).then(function(c){r.disposeSet.add(c),c.encoding=d.sRGBEncoding,a.map=c})),o.doubleSided===!0&&(a.side=d.DoubleSide),o.normalTexture!==void 0&&(i.push(r.createMaterialTexture(o.normalTexture).then(function(c){r.disposeSet.add(c),a.normalMap=c})),a.normalScale=new d.Vector2(1,1),o.normalTexture.scale!==void 0)){var l=o.normalTexture.scale;a.normalScale.set(l,l)}}return r.disposeSet.add(a),Promise.all(i).then(function(){return a})},t}(cr),Zr={KHR_binary_glTF:zd,KHR_draco_mesh_compression:Ud,KHR_texture_basisu:Zd,KHR_texture_transform:Yd,KHR_mesh_quantization:$d,KHR_materials_unlit:ef,EXT_meshopt_compression:tf,EXT_texture_webp:rf,CESIUM_RTC:nf,PBM_mesh:af};function io(n,t){var e,r,i,a={};if(t.addonExtensions)for(var o=0,s=t.addonExtensions;o<s.length;o++){var u=s[o];u in Zr&&(a[u]=new Zr[u])}var l,c;if(typeof n=="string")c=n;else{var h=Zr.KHR_binary_glTF.getMagic(n);if(h===Zr.KHR_binary_glTF.HEADER_MAGIC){l=new Zr.KHR_binary_glTF;try{l.loadGlbBinary(n)}catch(p){return Promise.reject(p)}a.KHR_binary_glTF=l,c=l.content}else c=ka(new Uint8Array(n))}var A=JSON.parse(c);if(A.asset===void 0||Number(A.asset.version[0])<2)return Promise.reject(new Error("glTF: Unsupported asset. glTF versions >=2.0 are supported."));if(A.extensionsUsed)for(var m=A.extensionsRequired||[],f=0;f<A.extensionsUsed.length;f++){var v=A.extensionsUsed[f];a[v]||(Zr[v]?a[v]=new Zr[v]:m.indexOf(v)>=0&&console.warn('glTF: Unknown extension "'+v+'".'))}var y=new Nd(A,a,{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().then(function(p){return l&&l.clear(),p})}var of=new d.Matrix4().fromArray([1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1]);function H0(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 D0(e,r,i)}).then(function(i){return q0(e,r,i)}).then(function(i){return Od(e,r,i)})}).then(function(){var r;return io(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 a=new d.Matrix4;t.upAxis!=="Z"&&a.premultiply(of);var o=new d.Matrix4().setPosition(e.rtcCenter[0],e.rtcCenter[1],e.rtcCenter[2]);if(a.premultiply(o),i.CESIUM_RTC){var s=new d.Matrix4().setPosition(i.CESIUM_RTC.center);a.premultiply(s)}var u=i.scene;return u.applyMatrix4(a),delete e.gltfArrayBuffer,delete e.featureTableBinary,delete e.batchTableBinary,{type:"b3dm",uri:e.uri,byteLength:e.byteLength,object:u,dispose:function(){return i.dispose()}}})})}const G0="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIEIoYSl7b25tZXNzYWdlPWZ1bmN0aW9uKHIpe1Byb21pc2UucmVzb2x2ZShyLmRhdGEpLnRoZW4oZnVuY3Rpb24obil7cmV0dXJuIGEobil9KS50aGVuKGZ1bmN0aW9uKG4pe3ZhciBlPW4ub3V0cHV0LHQ9bi50cmFuc2ZlcjtyZXR1cm4gcG9zdE1lc3NhZ2UoZSx0KX0pLmNhdGNoKGZ1bmN0aW9uKG4pe3JldHVybiBwb3N0TWVzc2FnZSh7JCRlcnJvcjpufSl9KX19dmFyIHUseTsoZnVuY3Rpb24oYSl7YVthLkJZVEU9NTEyMF09IkJZVEUiLGFbYS5VTlNJR05FRF9CWVRFPTUxMjFdPSJVTlNJR05FRF9CWVRFIixhW2EuU0hPUlQ9NTEyMl09IlNIT1JUIixhW2EuVU5TSUdORURfU0hPUlQ9NTEyM109IlVOU0lHTkVEX1NIT1JUIixhW2EuSU5UPTUxMjRdPSJJTlQiLGFbYS5VTlNJR05FRF9JTlQ9NTEyNV09IlVOU0lHTkVEX0lOVCIsYVthLkZMT0FUPTUxMjZdPSJGTE9BVCIsYVthLkRPVUJMRT01MTMwXT0iRE9VQkxFIn0pKHl8fCh5PXt9KSk7dmFyIGM9KHU9e30sdVt5LkRPVUJMRV09RmxvYXQ2NEFycmF5LHVbeS5GTE9BVF09RmxvYXQzMkFycmF5LHVbeS5VTlNJR05FRF9TSE9SVF09VWludDE2QXJyYXksdVt5LlVOU0lHTkVEX0lOVF09VWludDMyQXJyYXksdVt5LlVOU0lHTkVEX0JZVEVdPVVpbnQ4QXJyYXksdVt5LkJZVEVdPUludDhBcnJheSx1W3kuU0hPUlRdPUludDE2QXJyYXksdVt5LklOVF09SW50MzJBcnJheSx1KSxGPXtET1VCTEU6eS5ET1VCTEUsRkxPQVQ6eS5GTE9BVCxVTlNJR05FRF9TSE9SVDp5LlVOU0lHTkVEX1NIT1JULFVOU0lHTkVEX0lOVDp5LlVOU0lHTkVEX0lOVCxVTlNJR05FRF9CWVRFOnkuVU5TSUdORURfQllURSxCWVRFOnkuQllURSxTSE9SVDp5LlNIT1JULElOVDp5LklOVH07ZnVuY3Rpb24gTyhhKXt2YXIgcj1jW2FdO2lmKCFyKXRocm93IG5ldyBFcnJvcigiRmFpbGVkIHRvIGNvbnZlcnQgR0wgdHlwZSIpO3JldHVybiByfWZ1bmN0aW9uIHAoYSl7dmFyIHI9TyhhKTtyZXR1cm4gci5CWVRFU19QRVJfRUxFTUVOVH1mdW5jdGlvbiBfKGEscixuLGUpe249PT12b2lkIDAmJihuPTApO3ZhciB0PU8oYSk7aWYobiVwKGEpIT09MCl7dmFyIGk9ZT9yLnNsaWNlKG4sbitlKnAoYSkpOnIuc2xpY2Uobik7cmV0dXJuIG5ldyB0KGkpfWVsc2UgcmV0dXJuIG5ldyB0KHIsbixlIT1udWxsP2U6KHIuYnl0ZUxlbmd0aC1uKS9wKGEpKX1mdW5jdGlvbiBsKGEpe3ZhciByPUZbYV07aWYoIXIpdGhyb3cgbmV3IEVycm9yKCJGYWlsZWQgdG8gY29udmVydCBHTCB0eXBlIik7cmV0dXJuIHJ9dmFyIFI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKHIsbil7dGhpcy5mZWF0dXJlc0xlbmd0aD0wLHRoaXMuY2FjaGVkVHlwZWRBcnJheXM9e30sdGhpcy5qc29uPXIsdGhpcy5idWZmZXI9bjt2YXIgZT10aGlzLmdldEdsb2JhbFByb3BlcnR5KCJQT0lOVFNfTEVOR1RIIix5LlVOU0lHTkVEX0lOVCwxKTtlJiZlLmxlbmd0aCYmKHRoaXMuZmVhdHVyZXNMZW5ndGg9ZVswXSl9cmV0dXJuIGEucHJvdG90eXBlLmdldEV4dGVuc2lvbj1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy5qc29uLmV4dGVuc2lvbnMmJnRoaXMuanNvbi5leHRlbnNpb25zW3JdfSxhLnByb3RvdHlwZS5oYXNQcm9wZXJ0eT1mdW5jdGlvbihyKXtyZXR1cm4hIXRoaXMuanNvbltyXX0sYS5wcm90b3R5cGUuZ2V0R2xvYmFsUHJvcGVydHk9ZnVuY3Rpb24ocixuLGUpe3ZhciB0PXRoaXMuanNvbltyXTtpZih0eXBlb2YgdD09Im51bWJlciIpe3ZhciBpPU8obik7cmV0dXJuIG5ldyBpKFt0XSl9ZWxzZSBpZihBcnJheS5pc0FycmF5KHQpKXt2YXIgaT1PKG4pO3JldHVybiBuZXcgaSh0KX1lbHNlIGlmKHQmJk51bWJlci5pc0Zpbml0ZSh0LmJ5dGVPZmZzZXQpKXJldHVybiB0aGlzLmdldFR5cGVkQXJyYXlGcm9tQmluYXJ5KHIsbixlLDEsdC5ieXRlT2Zmc2V0KTtyZXR1cm4gbnVsbH0sYS5wcm90b3R5cGUuZ2V0UHJvcGVydHlBcnJheT1mdW5jdGlvbihyLG4sZSl7dmFyIHQ9dGhpcy5qc29uW3JdO3JldHVybiB0JiZOdW1iZXIuaXNGaW5pdGUodC5ieXRlT2Zmc2V0KT8oImNvbXBvbmVudFR5cGUiaW4gdCYmKG49bCh0LmNvbXBvbmVudFR5cGUpKSx0aGlzLmdldFR5cGVkQXJyYXlGcm9tQmluYXJ5KHIsbixlLHRoaXMuZmVhdHVyZXNMZW5ndGgsdC5ieXRlT2Zmc2V0KSk6dGhpcy5nZXRUeXBlZEFycmF5RnJvbUFycmF5KHIsbix0KX0sYS5wcm90b3R5cGUuZ2V0UHJvcGVydHk9ZnVuY3Rpb24ocixuLGUsdCxpKXt2YXIgbz10aGlzLmpzb25bcl07aWYoIW8pcmV0dXJuIG51bGw7dmFyIHY9dGhpcy5nZXRQcm9wZXJ0eUFycmF5KHIsbixlKTtpZihlPT09MSlyZXR1cm4gaVswXT12W3RdLGk7Zm9yKHZhciBBPTA7QTxlOysrQSlpW0FdPXZbZSp0K0FdO3JldHVybiBpfSxhLnByb3RvdHlwZS5nZXRUeXBlZEFycmF5RnJvbUJpbmFyeT1mdW5jdGlvbihyLG4sZSx0LGkpe3ZhciBvPXRoaXMuY2FjaGVkVHlwZWRBcnJheXMsdj1vW3JdO3JldHVybiB2fHwodj1fKG4sdGhpcy5idWZmZXIuYnVmZmVyLHRoaXMuYnVmZmVyLmJ5dGVPZmZzZXQraSx0KmUpLG9bcl09diksdn0sYS5wcm90b3R5cGUuZ2V0VHlwZWRBcnJheUZyb21BcnJheT1mdW5jdGlvbihyLG4sZSl7dmFyIHQ9dGhpcy5jYWNoZWRUeXBlZEFycmF5cyxpPXRbcl07cmV0dXJuIGl8fChpPV8obixlKSx0W3JdPWkpLGl9LGF9KCk7QihmdW5jdGlvbihhKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGEpLnRoZW4oZnVuY3Rpb24ocil7dmFyIG49bmV3IFIoci5mZWF0dXJlVGFibGVKc29uLHIuZmVhdHVyZVRhYmxlQmluYXJ5KSxlPWQobiksdD1nKG4pLGk9UChuKSxvPVtdO3JldHVybiBlJiZvLnB1c2goZS5hcnJheS5idWZmZXIpLHQmJm8ucHVzaCh0LmFycmF5LmJ1ZmZlciksaSYmby5wdXNoKGkuYXJyYXkuYnVmZmVyKSx7b3V0cHV0Ontwb3NpdGlvbjplLGNvbG9yOnQsbm9ybWFsOml9LHRyYW5zZmVyOm99fSl9KTt2YXIgVT02NTUzNTtmdW5jdGlvbiBkKGEpe2lmKGEuaGFzUHJvcGVydHkoIlBPU0lUSU9OIikpe3ZhciByPWEuZ2V0UHJvcGVydHlBcnJheSgiUE9TSVRJT04iLHkuRkxPQVQsMyk7cmV0dXJue2FycmF5OnIsaXRlbVNpemU6Myxub3JtYWxpemVkOiExfX1lbHNlIGlmKGEuaGFzUHJvcGVydHkoIlBPU0lUSU9OX1FVQU5USVpFRCIpKXt2YXIgbj1hLmdldFByb3BlcnR5QXJyYXkoIlBPU0lUSU9OX1FVQU5USVpFRCIseS5VTlNJR05FRF9TSE9SVCwzKSxlPWEuZ2V0R2xvYmFsUHJvcGVydHkoIlFVQU5USVpFRF9WT0xVTUVfU0NBTEUiLHkuRkxPQVQsMyksdD1hLmdldEdsb2JhbFByb3BlcnR5KCJRVUFOVElaRURfVk9MVU1FX09GRlNFVCIseS5GTE9BVCwzKTtpZighZXx8IXQpdGhyb3cgbmV3IEVycm9yKCJRVUFOVElaRURfVk9MVU1FX1NDQUxFIG9yIFFVQU5USVpFRF9WT0xVTUVfT0ZGU0VUIG5ldmVyIGZvdW5kLiIpO2Zvcih2YXIgaT1uZXcgRmxvYXQzMkFycmF5KG4ubGVuZ3RoKSxvPW4ubGVuZ3RoLzMsdj1lWzBdL1UsQT1lWzFdL1UsTj1lWzJdL1UsRT10WzBdLFM9dFsxXSxzPXRbMl0sVD0wLEk9dm9pZCAwO1Q8bztUKyspST1UKjMsaVtJXT1uW0ldKnYrRSxpWysrSV09bltJXSpBK1MsaVsrK0ldPW5bSV0qTitzO3JldHVybnthcnJheTppLGl0ZW1TaXplOjMsbm9ybWFsaXplZDohMX19cmV0dXJuIG51bGx9ZnVuY3Rpb24gZyhhKXtpZihhLmhhc1Byb3BlcnR5KCJSR0IiKSl7Zm9yKHZhciByPWEuZ2V0UHJvcGVydHlBcnJheSgiUkdCIix5LlVOU0lHTkVEX0JZVEUsMyksbj1yLmxlbmd0aC8zLGU9bmV3IFVpbnQ4QXJyYXkobio0KSx0PTAsaT12b2lkIDAsbz12b2lkIDA7dDxuO3QrKylvPXQqNCxpPXQqMyxlW29dPXJbaV0sZVsrK29dPXJbKytpXSxlWysrb109clsrK2ldO3JldHVybnthcnJheTplLGl0ZW1TaXplOjQsbm9ybWFsaXplZDohMH19ZWxzZSBpZihhLmhhc1Byb3BlcnR5KCJSR0JBIikpe3ZhciByPWEuZ2V0UHJvcGVydHlBcnJheSgiUkdCQSIseS5VTlNJR05FRF9CWVRFLDQpO3JldHVybnthcnJheTpyLGl0ZW1TaXplOjQsbm9ybWFsaXplZDohMH19ZWxzZSBpZihhLmhhc1Byb3BlcnR5KCJSR0I1NjUiKSl7Zm9yKHZhciByPWEuZ2V0UHJvcGVydHlBcnJheSgiUkdCNTY1Iix5LlVOU0lHTkVEX1NIT1JULDEpLG49ci5sZW5ndGgsZT1uZXcgVWludDhBcnJheShuKjQpLHQ9MCx2PXZvaWQgMCxBPXZvaWQgMDt0PG47dCsrKUE9clt0XSx2PXQqNCxlW3ZdPShBPj4xMSYzMSk8PDMsZVsrK3ZdPShBPj41JjYzKTw8MixlWysrdl09KEEmMzEpPDwzO3JldHVybnthcnJheTplLGl0ZW1TaXplOjQsbm9ybWFsaXplZDohMH19cmV0dXJuIG51bGx9dmFyIEc9MjU1LGg9MTI3LEQ9Mi9HO2Z1bmN0aW9uIFAoYSl7aWYoYS5oYXNQcm9wZXJ0eSgiTk9STUFMIikpe2Zvcih2YXIgcj1hLmdldFByb3BlcnR5QXJyYXkoIk5PUk1BTCIseS5GTE9BVCwzKSxuPXIubGVuZ3RoLzMsZT1uZXcgSW50OEFycmF5KG4qNCksdD0wLGk9dm9pZCAwLG89dm9pZCAwO3Q8bjt0Kyspbz10KjQsaT10KjMsZVtvXT1yW2ldKmgsZVsrK29dPXJbKytpXSpoLGVbKytvXT1yWysraV0qaDtyZXR1cm57YXJyYXk6ZSxpdGVtU2l6ZTo0LG5vcm1hbGl6ZWQ6ITB9fWVsc2UgaWYoYS5oYXNQcm9wZXJ0eSgiTk9STUFMX09DVDE2UCIpKXtmb3IodmFyIHI9YS5nZXRQcm9wZXJ0eUFycmF5KCJOT1JNQUxfT0NUMTZQIix5LlVOU0lHTkVEX0JZVEUsMiksbj1yLmxlbmd0aC8yLGU9bmV3IEludDhBcnJheShuKjQpLHQ9MCx2PXZvaWQgMCxBPXZvaWQgMCxOPXZvaWQgMCxFPXZvaWQgMCxTPXZvaWQgMCxzPXZvaWQgMCxUPXZvaWQgMDt0PG47dCsrKXY9dCoyLEE9clt2XSpELTEsTj1yWysrdl0qRC0xLFM9QTwwPy1BOkEscz1OPDA/LU46TixFPTEtKFMrcyksRTwwJiYoQT0oMS1zKSooQTwwPy0xOjEpLE49KDEtUykqKE48MD8tMToxKSksVD1NYXRoLnNxcnQoQSpBK04qTitFKkUpLHY9dCo0LGVbdl09QS9UKmgsZVsrK3ZdPU4vVCpoLGVbKyt2XT1FL1QqaDtyZXR1cm57YXJyYXk6ZSxpdGVtU2l6ZTo0LG5vcm1hbGl6ZWQ6ITB9fXJldHVybiBudWxsfX0pKCk7Cg==",sf=n=>Uint8Array.from(atob(n),t=>t.charCodeAt(0)),as=typeof self!="undefined"&&self.Blob&&new Blob([sf(G0)],{type:"text/javascript;charset=utf-8"});function uf(n){let t;try{if(t=as&&(self.URL||self.webkitURL).createObjectURL(as),!t)throw"";const e=new Worker(t,{name:n==null?void 0:n.name});return e.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(t)}),e}catch(e){return new Worker("data:text/javascript;base64,"+G0,{name:n==null?void 0:n.name})}finally{t&&(self.URL||self.webkitURL).revokeObjectURL(t)}}var lf=new L0(function(){return new uf},2);function cf(n,t,e){var r=new Q0(n.featureTableJson,n.featureTableBinary);return Promise.resolve().then(function(){var i=r.getExtension("3DTILES_draco_point_compression");return i?df(i,r):lf.postMessage({featureTableBinary:r.buffer,featureTableJson:r.json},[r.buffer.buffer])}).then(function(i){return n.attributes=i,e})}function df(n,t){return ki(this,void 0,void 0,function(){var e,r,i,a,o,s;return Fi(this,function(u){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 a=t.buffer.slice(r,r+i),o=n.properties,s={POSITION:"Float32Array",NORMAL:"Float32Array",RGB:"Uint8Array",RGBA:"Uint8Array"},[2,Ii.decodeGeometry(a.buffer,{attributeIDs:o,attributeTypes:s,useUniqueIDs:!0}).then(function(l){var c=l.getAttribute("POSITION"),h=l.getAttribute("RGB"),A=l.getAttribute("RGBA"),m=l.getAttribute("NORMAL"),f;if(A)f=A;else if(h){for(var v=h.count,y=h.array,p=new Uint8Array(v*4),g=0,x=void 0,b=void 0;g<v;g++)b=g*4,x=g*3,p[b]=y[x],p[++b]=y[++x],p[++b]=y[++x];f=new d.BufferAttribute(p,4,h.normalized)}return{position:c?{array:c.array,itemSize:c.itemSize,normalized:c.normalized}:null,color:f?{array:f.array,itemSize:f.itemSize,normalized:f.normalized}:null,normal:m?{array:m.array,itemSize:m.itemSize,normalized:m.normalized}:null}})]})})}function K0(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 D0(e,r,i)}).then(function(i){return q0(e,r,i)}).then(function(i){return cf(e,r,i)})}).then(function(){var r;return ff(e.attributes,{computeBoundingBox:(r=t.computeBoundingBox)!==null&&r!==void 0?r:!0})}).then(function(r){var i=new d.Matrix4,a=new d.Matrix4().setPosition(e.rtcCenter[0],e.rtcCenter[1],e.rtcCenter[2]);return i.premultiply(a),r.object.applyMatrix4(i),delete e.gltfArrayBuffer,delete e.featureTableBinary,delete e.batchTableBinary,{type:"pnts",uri:e.uri,byteLength:e.byteLength,object:r.object,dispose:function(){return r.dispose()}}})}function ff(n,t){var e=new Set,r=new d.BufferGeometry;e.add(r);var i=new no;e.add(i),n.position&&r.setAttribute("position",new d.BufferAttribute(n.position.array,n.position.itemSize,n.position.normalized)),n.color&&r.setAttribute("color",new d.BufferAttribute(n.color.array,n.color.itemSize,n.color.normalized)),n.normal&&(r.setAttribute("normal",new d.BufferAttribute(n.normal.array,n.normal.itemSize,n.normal.normalized)),i.defines.USE_POINT_NORMAL=!0),t.computeBoundingBox&&r.computeBoundingBox();var a=new wr(r,i);return a.matrix.compose(a.position,a.quaternion,a.scale),a.matrixAutoUpdate=!1,a.frustumCulled=!1,Promise.resolve({object:a,dispose:function(){e.forEach(function(o){o.dispose()}),e.clear()}})}function j0(){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,a;i<this._numBitLevels;++i)a=t.decodeBit(this._models,e),e=e<<1|a,r|=a<<i;return r},n.reverseDecode2=function(t,e,r,i){for(var a=1,o=0,s=0,u;s<i;++s)u=r.decodeBit(t,e+a),a=a<<1|u,o|=u<<s;return o},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,a;do if(i=e>>7&1,e<<=1,a=t.decodeBit(this._decoders,(1+i<<8)+r),r=r<<1|a,i!==a){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,a=0,o=0,s=0,u=0,l=0,c=0,h,A,m,f,v,y;for(this._rangeDecoder.setStream(t),this._outWindow.setStream(e),this.init();r<0||l<r;)if(h=l&this._posStateMask,this._rangeDecoder.decodeBit(this._isMatchDecoders,(i<<4)+h)===0)A=this._literalDecoder.getDecoder(l++,c),i>=7?c=A.decodeWithMatchByte(this._rangeDecoder,this._outWindow.getByte(a)):c=A.decodeNormal(this._rangeDecoder),this._outWindow.putByte(c),i=i<4?0:i-(i<10?3:6);else{if(this._rangeDecoder.decodeBit(this._isRepDecoders,i)===1)m=0,this._rangeDecoder.decodeBit(this._isRepG0Decoders,i)===0?this._rangeDecoder.decodeBit(this._isRep0LongDecoders,(i<<4)+h)===0&&(i=i<7?9:11,m=1):(this._rangeDecoder.decodeBit(this._isRepG1Decoders,i)===0?f=o:(this._rangeDecoder.decodeBit(this._isRepG2Decoders,i)===0?f=s:(f=u,u=s),s=o),o=a,a=f),m===0&&(m=2+this._repLenDecoder.decode(this._rangeDecoder,h),i=i<7?8:11);else if(u=s,s=o,o=a,m=2+this._lenDecoder.decode(this._rangeDecoder,h),i=i<7?7:10,v=this._posSlotDecoder[m<=5?m-2:3].decode(this._rangeDecoder),v>=4){if(y=(v>>1)-1,a=(2|v&1)<<y,v<14)a+=n.reverseDecode2(this._posDecoders,a-v-1,this._rangeDecoder,y);else if(a+=this._rangeDecoder.decodeDirectBits(y-4)<<4,a+=this._posAlignDecoder.reverseDecode(this._rangeDecoder),a<0){if(a===-1)break;return!1}}else a=v;if(a>=l||a>=this._dictionarySizeCheck)return!1;this._outWindow.copyBlock(a,m),l+=m,c=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,a,o;return t.size<5||(e=t.readByte(),r=e%9,e=~~(e/9),i=e%5,a=~~(e/5),!this.setLcLpPb(r,i,a))?!1:(o=t.readByte(),o|=t.readByte()<<8,o|=t.readByte()<<16,o+=t.readByte()*16777216,this.setDictionarySize(o))},n.decompress=function(t,e,r,i){var a=new n.Decoder;if(!a.setDecoderProperties(t))throw"Incorrect stream properties";if(!a.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 hf=j0();function pf(){function n(e){for(var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=new Uint8Array(256),a=0;a<r.length;a++)i[r.charCodeAt(a)]=a;var o=e.length*.75,s=e.length,u,l=0,c,h,A,m;e[e.length-1]==="="&&(o--,e[e.length-2]==="="&&o--);var f=new ArrayBuffer(o),v=new Uint8Array(f);for(u=0;u<s;u+=4)c=i[e.charCodeAt(u)],h=i[e.charCodeAt(u+1)],A=i[e.charCodeAt(u+2)],m=i[e.charCodeAt(u+3)],v[l++]=c<<2|h>>4,v[l++]=(h&15)<<4|A>>2,v[l++]=(A&3)<<6|m&63;return f}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 vf(n,t,e){try{var r={data:t,offset:0,readByte:function(){return this.data[this.offset++]}},i=r.data.length,a={data:[],offset:0,writeByte:function(u){var l=Math.floor(this.offset/i);this.data[l]||(this.data[l]=new Uint8Array(i)),this.data[l][this.offset%i]=u,this.offset++}};n.decompressFile(r,a);for(var o=new Uint8Array(a.offset),s=0;s<a.offset;s++)o[s]=a.data[Math.floor(s/i)][s%i];e(null,o)}catch(u){e(u)}}function Af(n,t,e){var r=24;try{var i=new WebAssembly.Memory({initial:16}),a=new WebAssembly.Module(n),o=new WebAssembly.Instance(a,{env:{memory:i,abort:function(){e(new Error("webAssembly abort"))}}}),s=o.exports,u=s.newU8Array(t.length),l=new Uint8Array(i.buffer,u+r,t.length);l.set(t);var c=s.decode(u),h=new Uint32Array(i.buffer,c,4),A=h[0],m=h[2],f=h[3];A?e(null,new Uint8Array(i.buffer,f+r,m).slice(0,m)):e(new Error("lzma deocder error"))}catch(v){e(v)}}var mf=`
883
+ `,ls="KHR_texture_basisu",ff=function(n){ue(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[ls])return null;var a=i.extensions[ls],o=r.json.images[a.source],s=null;if(o.bufferView!==void 0)s=r.loadBufferView(o.bufferView).then(function(l){return qn.parse(l)});else if(o.uri)s=r.options.fetcher.ajax(r.resolveResouce(o.uri),{responseType:"arraybuffer"}).then(function(l){return qn.parse(l.body)});else throw new Error("glTF: Invalid image defs.");return s},t}(cr),cs="KHR_texture_transform",hf=function(n){ue(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.extendTexture=function(e,r,i){var a=r.extensions!==void 0?r.extensions[cs]:void 0;return a?(a.texCoord!==void 0&&console.warn('glTF: Custom UV sets in "'+cs+'" extension not yet supported.'),a.offset===void 0&&a.rotation===void 0&&a.scale===void 0||(e=e.clone(),e.needsUpdate=!0,a.offset!==void 0&&e.offset.fromArray(a.offset),a.rotation!==void 0&&(e.rotation=a.rotation),a.scale!==void 0&&e.repeat.fromArray(a.scale)),e):null},t}(cr),pf=function(n){ue(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t}(cr),vf=function(n){ue(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t}(cr),ua=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,a,o=WebAssembly.instantiate(s(i),{}).then(function(v){a=v.instance,a.exports.__wasm_call_ctors()});function s(v){for(var g=new Uint8Array(v.length),x=0;x<v.length;++x){var b=v.charCodeAt(x);g[x]=b>96?b-97:b>64?b-39:b+4}for(var w=0,x=0;x<v.length;++x)g[w++]=g[x]<60?r[g[x]]:(g[x]-60)*64+g[++x];return g.buffer.slice(0,w)}function l(v,g,x,b,w,E){var I=a.exports.sbrk,M=x+3&-4,k=I(M*b),B=I(w.length),C=new Uint8Array(a.exports.memory.buffer);C.set(w,B);var T=v(k,x,b,B,w.length);if(T==0&&E&&E(k,M,b),g.set(C.subarray(k,k+x*b)),I(k-I(0)),T!=0)throw new Error("Malformed buffer data: "+T)}var u={NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},c={ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"},f=[],A=0;function m(v){var g={object:new Worker(v),pending:0,requests:{}};return g.object.onmessage=function(x){var b=x.data;g.pending-=b.count,g.requests[b.id][b.action](b.value),delete g.requests[b.id]},g}function h(v){for(var g="var instance; var ready = WebAssembly.instantiate(new Uint8Array(["+new Uint8Array(s(i))+"]), {}).then(function(result) { instance = result.instance; instance.exports.__wasm_call_ctors(); });self.onmessage = workerProcess;"+l.toString()+y.toString(),x=new Blob([g],{type:"text/javascript"}),b=URL.createObjectURL(x),w=0;w<v;++w)f[w]=m(b);URL.revokeObjectURL(b)}function p(v,g,x,b,w){for(var E=f[0],I=1;I<f.length;++I)f[I].pending<E.pending&&(E=f[I]);return new Promise(function(M,k){var B=new Uint8Array(x),C=A++;E.pending+=v,E.requests[C]={resolve:M,reject:k},E.object.postMessage({id:C,count:v,size:g,source:B,mode:b,filter:w},[B.buffer])})}function y(v){o.then(function(){var g=v.data;try{var x=new Uint8Array(g.count*g.size);l(a.exports[g.mode],x,g.count,g.size,g.source,a.exports[g.filter]),self.postMessage({id:g.id,count:g.count,action:"resolve",value:x},[x.buffer])}catch(b){self.postMessage({id:g.id,count:g.count,action:"reject",value:b})}})}return{ready:o,supported:!0,useWorkers:function(v){h(v)},decodeVertexBuffer:function(v,g,x,b,w){l(a.exports.meshopt_decodeVertexBuffer,v,g,x,b,a.exports[u[w]])},decodeIndexBuffer:function(v,g,x,b){l(a.exports.meshopt_decodeIndexBuffer,v,g,x,b)},decodeIndexSequence:function(v,g,x,b){l(a.exports.meshopt_decodeIndexSequence,v,g,x,b)},decodeGltfBuffer:function(v,g,x,b,w,E){l(a.exports[c[w]],v,g,x,b,a.exports[u[E]])},decodeGltfBufferAsync:function(v,g,x,b,w){return f.length>0?p(v,g,x,c[b],u[w]):o.then(function(){var E=new Uint8Array(v*g);return l(a.exports[c[b]],E,v,g,x,a.exports[u[w]]),E})}}}(),la="EXT_meshopt_compression",Af=function(n){ue(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.loadBufferView=function(e,r){var i=r.json,a=i.bufferViews[e];if(a.extensions&&a.extensions[la]){var o=a.extensions[la],s=r.loadBuffer(o.buffer);if(!ua.supported){if(i.extensionsRequired&&i.extensionsRequired.indexOf(la)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return Promise.all([s,ua.ready]).then(function(l){var u=l[0],c=o.byteOffset||0,f=o.byteLength||0,A=o.count,m=o.byteStride,h=new ArrayBuffer(A*m),p=new Uint8Array(u,c,f);return ua.decodeGltfBuffer(new Uint8Array(h),A,m,p,o.mode,o.filter),h})}else return null},t}(cr),ds="EXT_texture_webp",mf=function(n){ue(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 g0().then(function(i){r.supportsWep=i.webp})},t.prototype.loadTexture=function(e,r){var i=r.json,a=i.textures[e];if(!a.extensions||!a.extensions[ds]||!this.supportsWep)return null;var o=a.extensions[ds];return r.loadImage(o.source).then(function(s){var l=new d.Texture(s);l.needsUpdate=!0,l.flipY=!1,a.name&&(l.name=a.name);var u=r.json.samplers||{},c=u[a.sampler]||{};return l.magFilter=Ti[c.magFilter]||d.LinearFilter,l.minFilter=Ti[c.minFilter]||d.LinearMipmapLinearFilter,l.wrapS=Pi[c.wrapS]||d.RepeatWrapping,l.wrapT=Pi[c.wrapT]||d.RepeatWrapping,l.onUpdate=function(){s.close()},l})},t}(cr),ca="CESIUM_RTC",gf=function(n){ue(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.emitResult=function(e,r){if(r.json.extensions[ca]&&r.json.extensions[ca].center){var i=r.json.extensions[ca].center;e.CESIUM_RTC={center:new d.Vector3().fromArray(i)}}},t}(cr),yf=function(n){ue(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.loadMesh=function(e,r){var i=this,a=r.json.meshes[e],o=a.primitives,s=Promise.all(o.map(function(c){return r.loadGeometry(c)})),l=Promise.all(o.map(function(c){return i.loadPBMMaterial(c,r)})),u=Promise.all([s,l]).then(function(c){for(var f=c[0],A=c[1],m=[],h=0;h<o.length;h++){var p=o[h],y=f[h],v=A[h];y.attributes.normal===void 0&&(v.flatShading=!0),y.attributes.tangent===void 0&&v.normalScale&&(v.normalScale.y*=-1);var g=p.mode||Oe.TRIANGLES,x=void 0;if(g===Oe.TRIANGLES||g===Oe.TRIANGLE_STRIP||g===Oe.TRIANGLE_FAN)g===Oe.TRIANGLE_STRIP?y=r.toGeometryTrianglesDrawMode(y,d.TriangleStripDrawMode):g===Oe.TRIANGLE_FAN&&(y=r.toGeometryTrianglesDrawMode(y,d.TriangleFanDrawMode)),y.clearGroups(),y.addGroup(0,y.index?y.index.count:y.attributes.position.count,0),r.disposeSet.add(y),x=new Dt(y,[v]);else if(g===Oe.POINTS)x=new wr(y,v);else throw new Error("glTF: Primitive mode unsupported: "+g);x.name=r.createUniqueName(a.name||"mesh_"+e),m.push(x)}if(m.length===1)return m[0];for(var b=new d.Group,w=0,E=m;w<E.length;w++){var x=E[w];b.add(x)}return b});return u},t.prototype.loadPBMMaterial=function(e,r){var i,a=(i=e.mode)!==null&&i!==void 0?i:Oe.TRIANGLES,o=null;if(a===Oe.TRIANGLES||a===Oe.TRIANGLE_STRIP||a===Oe.TRIANGLE_FAN)o=this.loadPBMMeshMaterial(e,r);else if(a===Oe.POINTS)o=this.loadPBMPointCloudMaterial(e,r);else throw new Error("glTF: Primitive mode unsupported: "+a);return o},t.prototype.extendTexture=function(e,r,i){return e.minFilter=d.LinearFilter,e.magFilter=d.LinearFilter,e.generateMipmaps=!1,e},t.prototype.loadPBMPointCloudMaterial=function(e,r){var i=new uo;return Object.keys(e.attributes).filter(function(a){return Rt[a]==="normal"}).length>0&&(i.defines.USE_POINT_NORMAL=!0),r.disposeSet.add(i),Promise.resolve(i)},t.prototype.loadPBMMeshMaterial=function(e,r){var i=[],a=new Tn("basic");if(a.color=new d.Color(1,1,1),Object.keys(e.attributes).filter(function(c){return Rt[c]==="color"}).length>0&&(a.vertexColors=!0),e.material!==void 0){var o=r.json.materials[e.material];o.name&&(a.name=o.name);var s=o.pbrMetallicRoughness||{};if(Array.isArray(s.baseColorFactor)){var l=s.baseColorFactor;a.color=new d.Color().fromArray(l)}if(s.baseColorTexture!==void 0&&i.push(r.createMaterialTexture(s.baseColorTexture).then(function(c){r.disposeSet.add(c),c.encoding=d.sRGBEncoding,a.map=c})),o.doubleSided===!0&&(a.side=d.DoubleSide),o.normalTexture!==void 0&&(i.push(r.createMaterialTexture(o.normalTexture).then(function(c){r.disposeSet.add(c),a.normalMap=c})),a.normalScale=new d.Vector2(1,1),o.normalTexture.scale!==void 0)){var u=o.normalTexture.scale;a.normalScale.set(u,u)}}return r.disposeSet.add(a),Promise.all(i).then(function(){return a})},t}(cr),Zr={KHR_binary_glTF:Yd,KHR_draco_mesh_compression:tf,KHR_texture_basisu:ff,KHR_texture_transform:hf,KHR_mesh_quantization:pf,KHR_materials_unlit:vf,EXT_meshopt_compression:Af,EXT_texture_webp:mf,CESIUM_RTC:gf,PBM_mesh:yf};function lo(n,t){var e,r,i,a={};if(t.addonExtensions)for(var o=0,s=t.addonExtensions;o<s.length;o++){var l=s[o];l in Zr&&(a[l]=new Zr[l])}var u,c;if(typeof n=="string")c=n;else{var f=Zr.KHR_binary_glTF.getMagic(n);if(f===Zr.KHR_binary_glTF.HEADER_MAGIC){u=new Zr.KHR_binary_glTF;try{u.loadGlbBinary(n)}catch(v){return Promise.reject(v)}a.KHR_binary_glTF=u,c=u.content}else c=Na(new Uint8Array(n))}var A=JSON.parse(c);if(A.asset===void 0||Number(A.asset.version[0])<2)return Promise.reject(new Error("glTF: Unsupported asset. glTF versions >=2.0 are supported."));if(A.extensionsUsed)for(var m=A.extensionsRequired||[],h=0;h<A.extensionsUsed.length;h++){var p=A.extensionsUsed[h];a[p]||(Zr[p]?a[p]=new Zr[p]:m.indexOf(p)>=0&&console.warn('glTF: Unknown extension "'+p+'".'))}var y=new Zd(A,a,{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().then(function(v){return u&&u.clear(),v})}var bf=new d.Matrix4().fromArray([1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1]);function $0(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 W0(e,r,i)}).then(function(i){return Y0(e,r,i)}).then(function(i){return Xd(e,r,i)})}).then(function(){var r;return lo(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 a=new d.Matrix4;t.upAxis!=="Z"&&a.premultiply(bf);var o=new d.Matrix4().setPosition(e.rtcCenter[0],e.rtcCenter[1],e.rtcCenter[2]);if(a.premultiply(o),i.CESIUM_RTC){var s=new d.Matrix4().setPosition(i.CESIUM_RTC.center);a.premultiply(s)}var l=i.scene;return l.applyMatrix4(a),delete e.featureTableBinary,delete e.batchTableBinary,delete e.gltfArrayBuffer,{type:"b3dm",uri:e.uri,byteLength:e.byteLength,scene:l,textures:i.textures,dispose:function(){return i.dispose()}}})})}const eu="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIEIoYSl7b25tZXNzYWdlPWZ1bmN0aW9uKHIpe1Byb21pc2UucmVzb2x2ZShyLmRhdGEpLnRoZW4oZnVuY3Rpb24obil7cmV0dXJuIGEobil9KS50aGVuKGZ1bmN0aW9uKG4pe3ZhciBlPW4ub3V0cHV0LHQ9bi50cmFuc2ZlcjtyZXR1cm4gcG9zdE1lc3NhZ2UoZSx0KX0pLmNhdGNoKGZ1bmN0aW9uKG4pe3JldHVybiBwb3N0TWVzc2FnZSh7JCRlcnJvcjpufSl9KX19dmFyIHUseTsoZnVuY3Rpb24oYSl7YVthLkJZVEU9NTEyMF09IkJZVEUiLGFbYS5VTlNJR05FRF9CWVRFPTUxMjFdPSJVTlNJR05FRF9CWVRFIixhW2EuU0hPUlQ9NTEyMl09IlNIT1JUIixhW2EuVU5TSUdORURfU0hPUlQ9NTEyM109IlVOU0lHTkVEX1NIT1JUIixhW2EuSU5UPTUxMjRdPSJJTlQiLGFbYS5VTlNJR05FRF9JTlQ9NTEyNV09IlVOU0lHTkVEX0lOVCIsYVthLkZMT0FUPTUxMjZdPSJGTE9BVCIsYVthLkRPVUJMRT01MTMwXT0iRE9VQkxFIn0pKHl8fCh5PXt9KSk7dmFyIGM9KHU9e30sdVt5LkRPVUJMRV09RmxvYXQ2NEFycmF5LHVbeS5GTE9BVF09RmxvYXQzMkFycmF5LHVbeS5VTlNJR05FRF9TSE9SVF09VWludDE2QXJyYXksdVt5LlVOU0lHTkVEX0lOVF09VWludDMyQXJyYXksdVt5LlVOU0lHTkVEX0JZVEVdPVVpbnQ4QXJyYXksdVt5LkJZVEVdPUludDhBcnJheSx1W3kuU0hPUlRdPUludDE2QXJyYXksdVt5LklOVF09SW50MzJBcnJheSx1KSxGPXtET1VCTEU6eS5ET1VCTEUsRkxPQVQ6eS5GTE9BVCxVTlNJR05FRF9TSE9SVDp5LlVOU0lHTkVEX1NIT1JULFVOU0lHTkVEX0lOVDp5LlVOU0lHTkVEX0lOVCxVTlNJR05FRF9CWVRFOnkuVU5TSUdORURfQllURSxCWVRFOnkuQllURSxTSE9SVDp5LlNIT1JULElOVDp5LklOVH07ZnVuY3Rpb24gTyhhKXt2YXIgcj1jW2FdO2lmKCFyKXRocm93IG5ldyBFcnJvcigiRmFpbGVkIHRvIGNvbnZlcnQgR0wgdHlwZSIpO3JldHVybiByfWZ1bmN0aW9uIHAoYSl7dmFyIHI9TyhhKTtyZXR1cm4gci5CWVRFU19QRVJfRUxFTUVOVH1mdW5jdGlvbiBfKGEscixuLGUpe249PT12b2lkIDAmJihuPTApO3ZhciB0PU8oYSk7aWYobiVwKGEpIT09MCl7dmFyIGk9ZT9yLnNsaWNlKG4sbitlKnAoYSkpOnIuc2xpY2Uobik7cmV0dXJuIG5ldyB0KGkpfWVsc2UgcmV0dXJuIG5ldyB0KHIsbixlIT1udWxsP2U6KHIuYnl0ZUxlbmd0aC1uKS9wKGEpKX1mdW5jdGlvbiBsKGEpe3ZhciByPUZbYV07aWYoIXIpdGhyb3cgbmV3IEVycm9yKCJGYWlsZWQgdG8gY29udmVydCBHTCB0eXBlIik7cmV0dXJuIHJ9dmFyIFI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKHIsbil7dGhpcy5mZWF0dXJlc0xlbmd0aD0wLHRoaXMuY2FjaGVkVHlwZWRBcnJheXM9e30sdGhpcy5qc29uPXIsdGhpcy5idWZmZXI9bjt2YXIgZT10aGlzLmdldEdsb2JhbFByb3BlcnR5KCJQT0lOVFNfTEVOR1RIIix5LlVOU0lHTkVEX0lOVCwxKTtlJiZlLmxlbmd0aCYmKHRoaXMuZmVhdHVyZXNMZW5ndGg9ZVswXSl9cmV0dXJuIGEucHJvdG90eXBlLmdldEV4dGVuc2lvbj1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy5qc29uLmV4dGVuc2lvbnMmJnRoaXMuanNvbi5leHRlbnNpb25zW3JdfSxhLnByb3RvdHlwZS5oYXNQcm9wZXJ0eT1mdW5jdGlvbihyKXtyZXR1cm4hIXRoaXMuanNvbltyXX0sYS5wcm90b3R5cGUuZ2V0R2xvYmFsUHJvcGVydHk9ZnVuY3Rpb24ocixuLGUpe3ZhciB0PXRoaXMuanNvbltyXTtpZih0eXBlb2YgdD09Im51bWJlciIpe3ZhciBpPU8obik7cmV0dXJuIG5ldyBpKFt0XSl9ZWxzZSBpZihBcnJheS5pc0FycmF5KHQpKXt2YXIgaT1PKG4pO3JldHVybiBuZXcgaSh0KX1lbHNlIGlmKHQmJk51bWJlci5pc0Zpbml0ZSh0LmJ5dGVPZmZzZXQpKXJldHVybiB0aGlzLmdldFR5cGVkQXJyYXlGcm9tQmluYXJ5KHIsbixlLDEsdC5ieXRlT2Zmc2V0KTtyZXR1cm4gbnVsbH0sYS5wcm90b3R5cGUuZ2V0UHJvcGVydHlBcnJheT1mdW5jdGlvbihyLG4sZSl7dmFyIHQ9dGhpcy5qc29uW3JdO3JldHVybiB0JiZOdW1iZXIuaXNGaW5pdGUodC5ieXRlT2Zmc2V0KT8oImNvbXBvbmVudFR5cGUiaW4gdCYmKG49bCh0LmNvbXBvbmVudFR5cGUpKSx0aGlzLmdldFR5cGVkQXJyYXlGcm9tQmluYXJ5KHIsbixlLHRoaXMuZmVhdHVyZXNMZW5ndGgsdC5ieXRlT2Zmc2V0KSk6dGhpcy5nZXRUeXBlZEFycmF5RnJvbUFycmF5KHIsbix0KX0sYS5wcm90b3R5cGUuZ2V0UHJvcGVydHk9ZnVuY3Rpb24ocixuLGUsdCxpKXt2YXIgbz10aGlzLmpzb25bcl07aWYoIW8pcmV0dXJuIG51bGw7dmFyIHY9dGhpcy5nZXRQcm9wZXJ0eUFycmF5KHIsbixlKTtpZihlPT09MSlyZXR1cm4gaVswXT12W3RdLGk7Zm9yKHZhciBBPTA7QTxlOysrQSlpW0FdPXZbZSp0K0FdO3JldHVybiBpfSxhLnByb3RvdHlwZS5nZXRUeXBlZEFycmF5RnJvbUJpbmFyeT1mdW5jdGlvbihyLG4sZSx0LGkpe3ZhciBvPXRoaXMuY2FjaGVkVHlwZWRBcnJheXMsdj1vW3JdO3JldHVybiB2fHwodj1fKG4sdGhpcy5idWZmZXIuYnVmZmVyLHRoaXMuYnVmZmVyLmJ5dGVPZmZzZXQraSx0KmUpLG9bcl09diksdn0sYS5wcm90b3R5cGUuZ2V0VHlwZWRBcnJheUZyb21BcnJheT1mdW5jdGlvbihyLG4sZSl7dmFyIHQ9dGhpcy5jYWNoZWRUeXBlZEFycmF5cyxpPXRbcl07cmV0dXJuIGl8fChpPV8obixlKSx0W3JdPWkpLGl9LGF9KCk7QihmdW5jdGlvbihhKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGEpLnRoZW4oZnVuY3Rpb24ocil7dmFyIG49bmV3IFIoci5mZWF0dXJlVGFibGVKc29uLHIuZmVhdHVyZVRhYmxlQmluYXJ5KSxlPWQobiksdD1nKG4pLGk9UChuKSxvPVtdO3JldHVybiBlJiZvLnB1c2goZS5hcnJheS5idWZmZXIpLHQmJm8ucHVzaCh0LmFycmF5LmJ1ZmZlciksaSYmby5wdXNoKGkuYXJyYXkuYnVmZmVyKSx7b3V0cHV0Ontwb3NpdGlvbjplLGNvbG9yOnQsbm9ybWFsOml9LHRyYW5zZmVyOm99fSl9KTt2YXIgVT02NTUzNTtmdW5jdGlvbiBkKGEpe2lmKGEuaGFzUHJvcGVydHkoIlBPU0lUSU9OIikpe3ZhciByPWEuZ2V0UHJvcGVydHlBcnJheSgiUE9TSVRJT04iLHkuRkxPQVQsMyk7cmV0dXJue2FycmF5OnIsaXRlbVNpemU6Myxub3JtYWxpemVkOiExfX1lbHNlIGlmKGEuaGFzUHJvcGVydHkoIlBPU0lUSU9OX1FVQU5USVpFRCIpKXt2YXIgbj1hLmdldFByb3BlcnR5QXJyYXkoIlBPU0lUSU9OX1FVQU5USVpFRCIseS5VTlNJR05FRF9TSE9SVCwzKSxlPWEuZ2V0R2xvYmFsUHJvcGVydHkoIlFVQU5USVpFRF9WT0xVTUVfU0NBTEUiLHkuRkxPQVQsMyksdD1hLmdldEdsb2JhbFByb3BlcnR5KCJRVUFOVElaRURfVk9MVU1FX09GRlNFVCIseS5GTE9BVCwzKTtpZighZXx8IXQpdGhyb3cgbmV3IEVycm9yKCJRVUFOVElaRURfVk9MVU1FX1NDQUxFIG9yIFFVQU5USVpFRF9WT0xVTUVfT0ZGU0VUIG5ldmVyIGZvdW5kLiIpO2Zvcih2YXIgaT1uZXcgRmxvYXQzMkFycmF5KG4ubGVuZ3RoKSxvPW4ubGVuZ3RoLzMsdj1lWzBdL1UsQT1lWzFdL1UsTj1lWzJdL1UsRT10WzBdLFM9dFsxXSxzPXRbMl0sVD0wLEk9dm9pZCAwO1Q8bztUKyspST1UKjMsaVtJXT1uW0ldKnYrRSxpWysrSV09bltJXSpBK1MsaVsrK0ldPW5bSV0qTitzO3JldHVybnthcnJheTppLGl0ZW1TaXplOjMsbm9ybWFsaXplZDohMX19cmV0dXJuIG51bGx9ZnVuY3Rpb24gZyhhKXtpZihhLmhhc1Byb3BlcnR5KCJSR0IiKSl7Zm9yKHZhciByPWEuZ2V0UHJvcGVydHlBcnJheSgiUkdCIix5LlVOU0lHTkVEX0JZVEUsMyksbj1yLmxlbmd0aC8zLGU9bmV3IFVpbnQ4QXJyYXkobio0KSx0PTAsaT12b2lkIDAsbz12b2lkIDA7dDxuO3QrKylvPXQqNCxpPXQqMyxlW29dPXJbaV0sZVsrK29dPXJbKytpXSxlWysrb109clsrK2ldO3JldHVybnthcnJheTplLGl0ZW1TaXplOjQsbm9ybWFsaXplZDohMH19ZWxzZSBpZihhLmhhc1Byb3BlcnR5KCJSR0JBIikpe3ZhciByPWEuZ2V0UHJvcGVydHlBcnJheSgiUkdCQSIseS5VTlNJR05FRF9CWVRFLDQpO3JldHVybnthcnJheTpyLGl0ZW1TaXplOjQsbm9ybWFsaXplZDohMH19ZWxzZSBpZihhLmhhc1Byb3BlcnR5KCJSR0I1NjUiKSl7Zm9yKHZhciByPWEuZ2V0UHJvcGVydHlBcnJheSgiUkdCNTY1Iix5LlVOU0lHTkVEX1NIT1JULDEpLG49ci5sZW5ndGgsZT1uZXcgVWludDhBcnJheShuKjQpLHQ9MCx2PXZvaWQgMCxBPXZvaWQgMDt0PG47dCsrKUE9clt0XSx2PXQqNCxlW3ZdPShBPj4xMSYzMSk8PDMsZVsrK3ZdPShBPj41JjYzKTw8MixlWysrdl09KEEmMzEpPDwzO3JldHVybnthcnJheTplLGl0ZW1TaXplOjQsbm9ybWFsaXplZDohMH19cmV0dXJuIG51bGx9dmFyIEc9MjU1LGg9MTI3LEQ9Mi9HO2Z1bmN0aW9uIFAoYSl7aWYoYS5oYXNQcm9wZXJ0eSgiTk9STUFMIikpe2Zvcih2YXIgcj1hLmdldFByb3BlcnR5QXJyYXkoIk5PUk1BTCIseS5GTE9BVCwzKSxuPXIubGVuZ3RoLzMsZT1uZXcgSW50OEFycmF5KG4qNCksdD0wLGk9dm9pZCAwLG89dm9pZCAwO3Q8bjt0Kyspbz10KjQsaT10KjMsZVtvXT1yW2ldKmgsZVsrK29dPXJbKytpXSpoLGVbKytvXT1yWysraV0qaDtyZXR1cm57YXJyYXk6ZSxpdGVtU2l6ZTo0LG5vcm1hbGl6ZWQ6ITB9fWVsc2UgaWYoYS5oYXNQcm9wZXJ0eSgiTk9STUFMX09DVDE2UCIpKXtmb3IodmFyIHI9YS5nZXRQcm9wZXJ0eUFycmF5KCJOT1JNQUxfT0NUMTZQIix5LlVOU0lHTkVEX0JZVEUsMiksbj1yLmxlbmd0aC8yLGU9bmV3IEludDhBcnJheShuKjQpLHQ9MCx2PXZvaWQgMCxBPXZvaWQgMCxOPXZvaWQgMCxFPXZvaWQgMCxTPXZvaWQgMCxzPXZvaWQgMCxUPXZvaWQgMDt0PG47dCsrKXY9dCoyLEE9clt2XSpELTEsTj1yWysrdl0qRC0xLFM9QTwwPy1BOkEscz1OPDA/LU46TixFPTEtKFMrcyksRTwwJiYoQT0oMS1zKSooQTwwPy0xOjEpLE49KDEtUykqKE48MD8tMToxKSksVD1NYXRoLnNxcnQoQSpBK04qTitFKkUpLHY9dCo0LGVbdl09QS9UKmgsZVsrK3ZdPU4vVCpoLGVbKyt2XT1FL1QqaDtyZXR1cm57YXJyYXk6ZSxpdGVtU2l6ZTo0LG5vcm1hbGl6ZWQ6ITB9fXJldHVybiBudWxsfX0pKCk7Cg==",xf=n=>Uint8Array.from(atob(n),t=>t.charCodeAt(0)),fs=typeof self!="undefined"&&self.Blob&&new Blob([xf(eu)],{type:"text/javascript;charset=utf-8"});function wf(n){let t;try{if(t=fs&&(self.URL||self.webkitURL).createObjectURL(fs),!t)throw"";const e=new Worker(t,{name:n==null?void 0:n.name});return e.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(t)}),e}catch(e){return new Worker("data:text/javascript;base64,"+eu,{name:n==null?void 0:n.name})}finally{t&&(self.URL||self.webkitURL).revokeObjectURL(t)}}var Ef=new q0(function(){return new wf},2);function Cf(n,t,e){var r=new _0(n.featureTableJson,n.featureTableBinary);return Promise.resolve().then(function(){var i=r.getExtension("3DTILES_draco_point_compression");return i?Mf(i,r):Ef.postMessage({featureTableBinary:r.buffer,featureTableJson:r.json},[r.buffer.buffer])}).then(function(i){return n.attributes=i,e})}function Mf(n,t){return Oi(this,void 0,void 0,function(){var e,r,i,a,o,s;return Vi(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 a=t.buffer.slice(r,r+i),o=n.properties,s={POSITION:"Float32Array",NORMAL:"Float32Array",RGB:"Uint8Array",RGBA:"Uint8Array"},[2,Bi.decodeGeometry(a.buffer,{attributeIDs:o,attributeTypes:s,useUniqueIDs:!0}).then(function(u){var c=u.getAttribute("POSITION"),f=u.getAttribute("RGB"),A=u.getAttribute("RGBA"),m=u.getAttribute("NORMAL"),h;if(A)h=A;else if(f){for(var p=f.count,y=f.array,v=new Uint8Array(p*4),g=0,x=void 0,b=void 0;g<p;g++)b=g*4,x=g*3,v[b]=y[x],v[++b]=y[++x],v[++b]=y[++x];h=new d.BufferAttribute(v,4,f.normalized)}return{position:c?{array:c.array,itemSize:c.itemSize,normalized:c.normalized}:null,color:h?{array:h.array,itemSize:h.itemSize,normalized:h.normalized}:null,normal:m?{array:m.array,itemSize:m.itemSize,normalized:m.normalized}:null}})]})})}function tu(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 W0(e,r,i)}).then(function(i){return Y0(e,r,i)}).then(function(i){return Cf(e,r,i)})}).then(function(){var r;return If(e.attributes,{computeBoundingBox:(r=t.computeBoundingBox)!==null&&r!==void 0?r:!0})}).then(function(r){var i=new d.Matrix4,a=new d.Matrix4().setPosition(e.rtcCenter[0],e.rtcCenter[1],e.rtcCenter[2]);return i.premultiply(a),r.object.applyMatrix4(i),delete e.gltfArrayBuffer,delete e.featureTableBinary,delete e.batchTableBinary,{type:"pnts",uri:e.uri,byteLength:e.byteLength,scene:r.object,textures:[],dispose:function(){return r.dispose()}}})}function If(n,t){var e=new Set,r=new d.BufferGeometry;e.add(r);var i=new uo;e.add(i),n.position&&r.setAttribute("position",new d.BufferAttribute(n.position.array,n.position.itemSize,n.position.normalized)),n.color&&r.setAttribute("color",new d.BufferAttribute(n.color.array,n.color.itemSize,n.color.normalized)),n.normal&&(r.setAttribute("normal",new d.BufferAttribute(n.normal.array,n.normal.itemSize,n.normal.normalized)),i.defines.USE_POINT_NORMAL=!0),t.computeBoundingBox&&r.computeBoundingBox();var a=new wr(r,i);return a.matrix.compose(a.position,a.quaternion,a.scale),a.matrixAutoUpdate=!1,a.frustumCulled=!1,Promise.resolve({object:a,dispose:function(){e.forEach(function(o){o.dispose()}),e.clear()}})}function ru(){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,a;i<this._numBitLevels;++i)a=t.decodeBit(this._models,e),e=e<<1|a,r|=a<<i;return r},n.reverseDecode2=function(t,e,r,i){for(var a=1,o=0,s=0,l;s<i;++s)l=r.decodeBit(t,e+a),a=a<<1|l,o|=l<<s;return o},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,a;do if(i=e>>7&1,e<<=1,a=t.decodeBit(this._decoders,(1+i<<8)+r),r=r<<1|a,i!==a){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,a=0,o=0,s=0,l=0,u=0,c=0,f,A,m,h,p,y;for(this._rangeDecoder.setStream(t),this._outWindow.setStream(e),this.init();r<0||u<r;)if(f=u&this._posStateMask,this._rangeDecoder.decodeBit(this._isMatchDecoders,(i<<4)+f)===0)A=this._literalDecoder.getDecoder(u++,c),i>=7?c=A.decodeWithMatchByte(this._rangeDecoder,this._outWindow.getByte(a)):c=A.decodeNormal(this._rangeDecoder),this._outWindow.putByte(c),i=i<4?0:i-(i<10?3:6);else{if(this._rangeDecoder.decodeBit(this._isRepDecoders,i)===1)m=0,this._rangeDecoder.decodeBit(this._isRepG0Decoders,i)===0?this._rangeDecoder.decodeBit(this._isRep0LongDecoders,(i<<4)+f)===0&&(i=i<7?9:11,m=1):(this._rangeDecoder.decodeBit(this._isRepG1Decoders,i)===0?h=o:(this._rangeDecoder.decodeBit(this._isRepG2Decoders,i)===0?h=s:(h=l,l=s),s=o),o=a,a=h),m===0&&(m=2+this._repLenDecoder.decode(this._rangeDecoder,f),i=i<7?8:11);else if(l=s,s=o,o=a,m=2+this._lenDecoder.decode(this._rangeDecoder,f),i=i<7?7:10,p=this._posSlotDecoder[m<=5?m-2:3].decode(this._rangeDecoder),p>=4){if(y=(p>>1)-1,a=(2|p&1)<<y,p<14)a+=n.reverseDecode2(this._posDecoders,a-p-1,this._rangeDecoder,y);else if(a+=this._rangeDecoder.decodeDirectBits(y-4)<<4,a+=this._posAlignDecoder.reverseDecode(this._rangeDecoder),a<0){if(a===-1)break;return!1}}else a=p;if(a>=u||a>=this._dictionarySizeCheck)return!1;this._outWindow.copyBlock(a,m),u+=m,c=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,a,o;return t.size<5||(e=t.readByte(),r=e%9,e=~~(e/9),i=e%5,a=~~(e/5),!this.setLcLpPb(r,i,a))?!1:(o=t.readByte(),o|=t.readByte()<<8,o|=t.readByte()<<16,o+=t.readByte()*16777216,this.setDictionarySize(o))},n.decompress=function(t,e,r,i){var a=new n.Decoder;if(!a.setDecoderProperties(t))throw"Incorrect stream properties";if(!a.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 Sf=ru();function Tf(){function n(e){for(var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=new Uint8Array(256),a=0;a<r.length;a++)i[r.charCodeAt(a)]=a;var o=e.length*.75,s=e.length,l,u=0,c,f,A,m;e[e.length-1]==="="&&(o--,e[e.length-2]==="="&&o--);var h=new ArrayBuffer(o),p=new Uint8Array(h);for(l=0;l<s;l+=4)c=i[e.charCodeAt(l)],f=i[e.charCodeAt(l+1)],A=i[e.charCodeAt(l+2)],m=i[e.charCodeAt(l+3)],p[u++]=c<<2|f>>4,p[u++]=(f&15)<<4|A>>2,p[u++]=(A&3)<<6|m&63;return h}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 Pf(n,t,e){try{var r={data:t,offset:0,readByte:function(){return this.data[this.offset++]}},i=r.data.length,a={data:[],offset:0,writeByte:function(l){var u=Math.floor(this.offset/i);this.data[u]||(this.data[u]=new Uint8Array(i)),this.data[u][this.offset%i]=l,this.offset++}};n.decompressFile(r,a);for(var o=new Uint8Array(a.offset),s=0;s<a.offset;s++)o[s]=a.data[Math.floor(s/i)][s%i];e(null,o)}catch(l){e(l)}}function Bf(n,t,e){var r=24;try{var i=new WebAssembly.Memory({initial:16}),a=new WebAssembly.Module(n),o=new WebAssembly.Instance(a,{env:{memory:i,abort:function(){e(new Error("webAssembly abort"))}}}),s=o.exports,l=s.newU8Array(t.length),u=new Uint8Array(i.buffer,l+r,t.length);u.set(t);var c=s.decode(l),f=new Uint32Array(i.buffer,c,4),A=f[0],m=f[2],h=f[3];A?e(null,new Uint8Array(i.buffer,h+r,m).slice(0,m)):e(new Error("lzma deocder error"))}catch(p){e(p)}}var Rf=`
884
884
  var decodeLZMA = (function() {
885
- var LZMA = (`.concat(j0.toString(),`)();
885
+ var LZMA = (`.concat(ru.toString(),`)();
886
886
  return function(data, callback) {
887
- return (`).concat(vf.toString(),`)(LZMA, data, callback);
887
+ return (`).concat(Pf.toString(),`)(LZMA, data, callback);
888
888
  }
889
889
  })();
890
890
 
891
891
  var decodeLZMAWithWASM = (function() {
892
- var LZMA_WASM = (`).concat(pf.toString(),`)();
892
+ var LZMA_WASM = (`).concat(Tf.toString(),`)();
893
893
  return function(data, callback) {
894
- return (`).concat(Af.toString(),`)(LZMA_WASM, data, callback);
894
+ return (`).concat(Bf.toString(),`)(LZMA_WASM, data, callback);
895
895
  }
896
896
  })();
897
897
 
@@ -925,11 +925,11 @@ self.onmessage = function(event) {
925
925
  }
926
926
  postMessage({ id: packet.id, error: "type never matched." });
927
927
  };
928
- `),Fa=typeof Worker!="undefined"&&typeof Blob!="undefined",J0="";if(Fa)try{var gf=new Blob([mf],{type:"text/javascript"});J0=URL.createObjectURL(gf)}catch(n){}var X0=function(){function n(){var t=this;if(!Fa)throw new Error("LZMAWorker cannot work in this broswer.");this.callCounter=0,this.requests={};var e=this.worker=new Worker(J0);e.onmessage=function(r){var i=r.data,a=i.id,o=i.result,s=i.error,u=t.getKey(a);t.requests[u]&&(s?t.requests[u](new Error(s)):t.requests[u](null,o),delete t.requests[u])},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=Fa,n}();function os(n){return Array.prototype.reduce.call(n,function(t,e,r){return t|e<<r*8},0)}function yf(n){for(var t=[],e=n.length,r=function(o){var s={data:n[o],offset:0,readByte:function(){return this.data[this.offset++]}},u=s.data.length,l={data:[],offset:0,writeByte:function(h){var A=Math.floor(this.offset/u);this.data[A]||(this.data[A]=new Uint8Array(u)),this.data[A][this.offset%u]=h,this.offset++}};hf.decompressFile(s,l),i=new Uint8Array(l.offset);for(var c=0;c<l.offset;c++)i[c]=l.data[Math.floor(c/u)][c%u];t.push(i)},i,a=0;a<e;a++)r(a);return t}function bf(n){for(var t=[],e=n.length,r=function(a){t.push(new Promise(function(o,s){var u=new X0;u.decompress(n[a],function(l,c){if(u.terminate(),l)return s(l);o(c)})}))},i=0;i<e;i++)r(i);return Promise.all(t)}function W0(n){var t=new Uint8Array(n),e=os(t.slice(0,4));if(e>10)return Promise.reject(new Error("LZMA got too many sub chunks."));for(var r=[],i=[],a=4+e*4,o=0;o<e;o++)i[o]=os(t.slice(4+o*4,8+o*4)),o===e-1?r[o]=t.subarray(a,a+i[o]):r[o]=t.slice(a,a+i[o]),a+=i[o];return X0.support?bf(r):Promise.resolve(yf(r))}var ua=!1,_0=[];function Z0(n){if(n===void 0&&(n=!1),!(!n&&ua)){ua=!0;var t=_0.shift();if(t){try{t()}catch(e){}vt.shared.add(function(){return Z0(!0)},!0,2,-100)}else ua=!1}}function Ti(n){return new Promise(function(t,e){var r=function(){try{t(n())}catch(i){e(i)}};_0.push(r),vt.shared.add(function(){return Z0()},!0,2,-100)})}function Vt(n,t){for(var e={},r=0,i=t;r<i.length;r++){var a=i[r];a in n&&(e[a]=n[a])}return e}function xf(n,t){for(var e=F({},n),r=0,i=t;r<i.length;r++){var a=i[r];a in e&&delete e[a]}return e}function Ln(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,a=0;a<i;a++)r+=Ln(n[a],!1)+",";return i>-1&&(r+=Ln(n[a],!1)),r+"]"}if(n instanceof Object){if(typeof n.toJSON=="function")return Ln(n.toJSON(),t);for(var o=Object.keys(n).sort(),s=o.length,r="",a=0;a<s;){var u=o[a],l=Ln(n[u],!0);l!==void 0&&(a&&r!==""&&(r+=","),r+=JSON.stringify(u)+":"+l),a++}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 Mn(n){return"hash::".concat(Ln(n,!1))}const Hr=Ur.Reader,Yt=Ur.util,Nt=Ur.roots["@REALSEE/FIVE:five/loaders/model/proto/pbm.proto"]||(Ur.roots["@REALSEE/FIVE:five/loaders/model/proto/pbm.proto"]={}),Y0=Nt.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=Yt.emptyArray,n.prototype.createAt=Yt.Long?Yt.Long.fromBits(0,0,!0):0,n.prototype.description="",n.decode=function(e,r){e instanceof Hr||(e=Hr.create(e));let i=r===void 0?e.len:e.pos+r,a=new Nt.Model;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:{a.chunks&&a.chunks.length||(a.chunks=[]),a.chunks.push(Nt.Chunk.decode(e,e.uint32()));break}case 2:{a.createAt=e.uint64();break}case 3:{a.description=e.string();break}default:e.skipType(o&7);break}}return a},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Model"},n})();Nt.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 Hr||(e=Hr.create(e));let i=r===void 0?e.len:e.pos+r,a=new Nt.Chunk;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:{a.vertices=Nt.Vertices.decode(e,e.uint32());break}case 2:{a.faces=Nt.Faces.decode(e,e.uint32());break}case 3:{a.name=e.string();break}case 4:{a.texture=e.string();break}default:e.skipType(o&7);break}}if(!a.hasOwnProperty("vertices"))throw Yt.ProtocolError("missing required 'vertices'",{instance:a});if(!a.hasOwnProperty("faces"))throw Yt.ProtocolError("missing required 'faces'",{instance:a});if(!a.hasOwnProperty("name"))throw Yt.ProtocolError("missing required 'name'",{instance:a});return a},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Chunk"},n})();Nt.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=Yt.emptyArray,n.prototype.uvs=Yt.emptyArray,n.prototype.marks=Yt.emptyArray,n.decode=function(e,r){e instanceof Hr||(e=Hr.create(e));let i=r===void 0?e.len:e.pos+r,a=new Nt.Vertices;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:{if(a.xyz&&a.xyz.length||(a.xyz=[]),(o&7)===2){let s=e.uint32()+e.pos;for(;e.pos<s;)a.xyz.push(e.float())}else a.xyz.push(e.float());break}case 2:{if(a.uvs&&a.uvs.length||(a.uvs=[]),(o&7)===2){let s=e.uint32()+e.pos;for(;e.pos<s;)a.uvs.push(e.float())}else a.uvs.push(e.float());break}case 3:{if(a.marks&&a.marks.length||(a.marks=[]),(o&7)===2){let s=e.uint32()+e.pos;for(;e.pos<s;)a.marks.push(e.int32())}else a.marks.push(e.int32());break}default:e.skipType(o&7);break}}return a},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Vertices"},n})();Nt.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=Yt.emptyArray,n.prototype.normals=Yt.emptyArray,n.decode=function(e,r){e instanceof Hr||(e=Hr.create(e));let i=r===void 0?e.len:e.pos+r,a=new Nt.Faces;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:{if(a.indices&&a.indices.length||(a.indices=[]),(o&7)===2){let s=e.uint32()+e.pos;for(;e.pos<s;)a.indices.push(e.uint32())}else a.indices.push(e.uint32());break}case 2:{if(a.normals&&a.normals.length||(a.normals=[]),(o&7)===2){let s=e.uint32()+e.pos;for(;e.pos<s;)a.normals.push(e.float())}else a.normals.push(e.float());break}default:e.skipType(o&7);break}}return a},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Faces"},n})();Nt.VertexMark=(()=>{const n={},t=Object.create(n);return t[n[0]="VERTEX_MARK_UNSPECIFIED"]=0,t[n[1]="VERTEX_MARK_ROOF"]=1,t})();function $0(n,t){var e,r,i,a={byteLength:0},o=oo((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),s={};if(t.textureArray)for(var u=0,l=t.textureArray;u<l.length;u++){var c=l[u];s[c]=ao(c,o,t.fetcher)}return Promise.resolve().then(function(){return t.fetcher.ajax(n,{responseType:"arraybuffer"})}).then(function(h){return a.byteLength=h.body.byteLength,Ti(function(){var A=new Uint8Array(h.body);return Y0.decode(A)})}).then(function(h){return Ti(function(){var A,m;return tu(h,(A=t.textureBaseUri)!==null&&A!==void 0?A:function(){var f=n.lastIndexOf("/");if(f>=0){var v=n.slice(0,f)+"/";return/\/model\/$/.test(v)&&(v=v.replace(/\/model\/$/,"/materials/")),v}return""}(),((m=t.textureArray)!==null&&m!==void 0?m:[]).slice(),o,s,t.fetcher)})}).then(function(h){var A=new d.Group;A.matrixAutoUpdate=!1,A.matrix.compose(A.position,A.quaternion,A.scale),A.name=n;for(var m=0,f=h.objects;m<f.length;m++){var v=f[m];A.add(v)}return h.texturePromise.then(function(){return{type:"pbm",uri:n,byteLength:a.byteLength,object:A,dispose:function(){return h.dispose()}}})})}function eu(n){var t=n.match(/(group|floor)-?(\d+)/);return t?parseInt(t[2],10):0}function La(n){var t=n.match(/(chunk)-?(\d+)/);return t?parseInt(t[2],10):0}function wf(n){var t=n.match(/(sub)-?(\d+)/);return t?parseInt(t[2],10):0}function ss(n){var t=eu(n.name),e=La(n.name),r=wf(n.name);return t*1e6+e*1e3+r}function Ef(n){for(var t,e,r,i=typeof n.createAt=="number"?n.createAt:0,a=(t=n.description)!==null&&t!==void 0?t:"",o=[],s=!0,u=!0,l=0,c=n.chunks;l<c.length;l++){var h=c[l];if(!h.vertices.marks||h.vertices.marks.length===0){u=!1;break}}for(var A=0,m=n.chunks;A<m.length;A++){var h=m[A];if(!h.faces.normals||h.faces.normals.length===0){s=!1;break}}for(var f=n.chunks.sort(function(ue,he){return ss(ue)-ss(he)}),v=[],y=0,p=f;y<p.length;y++){var h=p[y],g=eu(h.name);v[g]||(v[g]=[]),v[g].push(h)}for(var x=0;x<v.length;x++){var b=v[x];if(b)if(s){for(var w=0,E=0;E<b.length;E++){var h=b[E];w+=h.faces.indices.length}for(var M=new Float32Array(w*3),C=new Float32Array(w*2),I=new Float32Array(w*3),S=u?new Float32Array(w):void 0,P=[],B=[1/0,1/0,1/0,-1/0,-1/0,-1/0],L=0,k=0;k<b.length;k++){for(var O=[1/0,1/0,1/0,-1/0,-1/0,-1/0],h=b[k],z=h.vertices.xyz,N=h.vertices.uvs,X=h.faces.indices,G=h.faces.normals,Q=h.vertices.marks,H=X.length,E=0;E<H;E++){var K=X[E],j=M[L*3+E*3]=z[K*3],J=M[L*3+E*3+1]=z[K*3+1],Z=M[L*3+E*3+2]=z[K*3+2];S&&(S[L+E]=Q[K]),C[L*2+E*2]=N[K*2],C[L*2+E*2+1]=N[K*2+1];var Y=Math.floor(E/3)*3;I[L*3+E*3]=G[Y],I[L*3+E*3+1]=G[Y+1],I[L*3+E*3+2]=G[Y+2],j<O[0]&&(O[0]=j),J<O[1]&&(O[1]=J),Z<O[2]&&(O[2]=Z),j>O[3]&&(O[3]=j),J>O[4]&&(O[4]=J),Z>O[5]&&(O[5]=Z)}O[0]<B[0]&&(B[0]=O[0]),O[1]<B[1]&&(B[1]=O[1]),O[2]<B[2]&&(B[2]=O[2]),O[3]>B[3]&&(B[3]=O[3]),O[4]>B[4]&&(B[4]=O[4]),O[5]>B[5]&&(B[5]=O[5]),P.push({materialIndex:k,name:h.name,chunkName:La(h.name),start:L,count:h.faces.indices.length,texture:(e=h.texture)!==null&&e!==void 0?e:void 0}),L+=H}var fe={createAt:i,description:a,vertices:M,uvs:C,normals:I,masks:S,indices:null,floorIndex:x,groups:P,extents:B};o.push(fe)}else{for(var w=0,$=0,E=0;E<b.length;E++){var h=b[E];$+=h.vertices.xyz.length/3,w+=h.faces.indices.length}for(var M=new Float32Array($*3),C=new Float32Array($*2),I=void 0,ae=new Float32Array($),ie=new Uint32Array(w),S=u?new Float32Array(w):void 0,P=[],B=[1/0,1/0,1/0,-1/0,-1/0,-1/0],ce=0,L=0,k=0;k<b.length;k++){for(var O=[1/0,1/0,1/0,-1/0,-1/0,-1/0],h=b[k],z=h.vertices.xyz,ne=h.vertices.marks,N=h.vertices.uvs,X=h.faces.indices,ve=z.length/3,H=X.length,E=0;E<ve;E++){var j=M[L*3+E*3]=z[E*3],J=M[L*3+E*3+1]=z[E*3+1],Z=M[L*3+E*3+2]=z[E*3+2];S&&(S[L+E]=ne[E]),C[L*2+E*2]=N[E*2],C[L*2+E*2+1]=N[E*2+1],ae[L+E]=x,j<O[0]&&(O[0]=j),J<O[1]&&(O[1]=J),Z<O[2]&&(O[2]=Z),j>O[3]&&(O[3]=j),J>O[4]&&(O[4]=J),Z>O[5]&&(O[5]=Z)}O[0]<B[0]&&(B[0]=O[0]),O[1]<B[1]&&(B[1]=O[1]),O[2]<B[2]&&(B[2]=O[2]),O[3]>B[3]&&(B[3]=O[3]),O[4]>B[4]&&(B[4]=O[4]),O[5]>B[5]&&(B[5]=O[5]);for(var E=0;E<H;E++)ie[ce+E]=L+X[E];P.push({materialIndex:k,name:h.name,chunkName:La(h.name),start:ce,count:h.faces.indices.length,texture:(r=h.texture)!==null&&r!==void 0?r:void 0}),L+=ve,ce+=H}var fe={createAt:i,description:a,vertices:M,uvs:C,normals:I,masks:S,indices:ie,floorIndex:x,groups:P,extents:B};o.push(fe)}}return o}function ao(n,t,e,r){var i=F({key:"texture.pbm"},Vt(t,["format","quality","size","sharpen","mappings"])),a=new Zn,o=a.loadTexture(n,{imageURL:{transform:t.transform,options:i},encoding:d.sRGBEncoding,wrapS:d.ClampToEdgeWrapping,wrapT:d.ClampToEdgeWrapping,minFilter:d.LinearFilter,maxSize:typeof i.size=="number"?new d.Vector2(i.size,i.size):void 0,fetcher:e}).then(function(s){var u=s.body;return u.needsUpdate=!0,u});return Object.assign(o,{url:n,textureOptions:t})}function tu(n,t,e,r,i,a,o){i===void 0&&(i={});for(var s=Ef(n),u=0,l="",c=[],h={},A=new Set,m=0,f=s;m<f.length;m++){var v=f[m],y=v.createAt,p=v.description,g=v.vertices,x=v.masks,b=v.uvs,w=v.normals,E=v.indices,M=v.floorIndex,C=v.groups,I=v.extents,S=new d.Box3;S.min.x=I[0],S.min.y=I[1],S.min.z=I[2],S.max.x=I[3],S.max.y=I[4],S.max.z=I[5];var P=new d.BufferGeometry;P.setAttribute("position",new d.BufferAttribute(g,3)),P.setAttribute("uv",new d.BufferAttribute(b,2)),w&&P.setAttribute("normal",new d.BufferAttribute(w,3)),x&&P.setAttribute("mask",new d.BufferAttribute(x,1)),E&&P.setIndex(new d.BufferAttribute(E,1)),P.boundingBox=S,P.boundingSphere=S.getBoundingSphere(new d.Sphere);for(var B=0,L=C;B<L.length;B++){var k=L[B];P.addGroup(k.start,k.count,k.materialIndex)}A.add(P);for(var O=[],z=0,N=C;z<N.length;z++){var k=N[z],X=e[k.chunkName]||(k.texture?xt(t||"",k.texture):void 0),G=new Pn("basic");G.defines.USE_VERTEX_FLOOR=!1,G.floor=M,P.attributes.normal===void 0&&(G.flatShading=!0),P.attributes.mask&&(G.defines.USE_VERTEX_MARK=!0),O.push(G),X?h[X]?h[X].push(G):h[X]=[G]:G.color=new d.Color(16777215),A.add(G)}var Q=new Dt(P,O);Q.name="model_floor_"+M,Q.userData.createAt=y,Q.userData.description=p,Q.matrix.compose(Q.position,Q.quaternion,Q.scale),Q.matrixAutoUpdate=!1,Q.frustumCulled=!1,u=y,l=p,c.push(Q)}var H="",K=function(J){J=oo(J,e.length);var Z=[],Y=Mn(J);if(H===Y)return Promise.resolve();H=Y;for(var fe=function(ce){var ne=null;ce in i&&(Mn(i[ce].textureOptions)===Mn(J)?ne=i[ce]:i[ce].then(function(ve){return ve.dispose()})),ne||(ne=ao(ce,J,a)),Z.push(ne.then(function(ve){if(H!==Y){ve.dispose();return}for(var ue=0,he=h[ce];ue<he.length;ue++){var Se=he[ue];Se.map&&(A.delete(Se.map),Se.map.dispose()),Se.map=ve,A.add(ve)}}).catch(function(){if(H===Y)for(var ve=0,ue=h[ce];ve<ue.length;ve++){var he=ue[ve];he.map&&(A.delete(he.map),he.map.dispose()),he.map=null,he.color=new d.Color(16777215)}}))},$=0,ae=Object.keys(h);$<ae.length;$++){var ie=ae[$];fe(ie)}for(var ie in i)delete i[ie];return Promise.all(Z).then(function(){})},j=K(r);return{createAt:u,description:l,objects:c,texturePromise:j,updateTexture:K,dispose:function(){A.forEach(function(J){J.dispose()}),A.clear()}}}function oo(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 ru(n,t){var e,r,i,a={byteLength:0},o=oo((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),s={};if(t.textureArray)for(var u=0,l=t.textureArray;u<l.length;u++){var c=l[u];s[c]=ao(c,o,t.fetcher)}return Promise.resolve().then(function(){return t.fetcher.ajax(n,{responseType:"arraybuffer"})}).then(function(h){return W0(h.body)}).then(function(h){return Ti(function(){for(var A,m={chunks:[],createAt:void 0,description:void 0},f=0,v=h;f<v.length;f++){var y=v[f],p=Y0.decode(y);p.chunks.length&&((A=m.chunks).push.apply(A,p.chunks),m.createAt=p.createAt,m.description=p.description)}return m})}).then(function(h){return Ti(function(){var A,m,f;return tu(h,(A=t.textureBaseUri)!==null&&A!==void 0?A:function(){var v=n.lastIndexOf("/");if(v>=0){var y=n.slice(0,v)+"/";return/\/model\/$/.test(y)&&(y=y.replace(/\/model\/$/,"/materials/")),y}return""}(),((m=t.textureArray)!==null&&m!==void 0?m:[]).slice(),(f=t.textureOptions)!==null&&f!==void 0?f:{},s,t.fetcher)})}).then(function(h){var A=new d.Group;A.name=n;for(var m=0,f=h.objects;m<f.length;m++){var v=f[m];A.add(v)}return h.texturePromise.then(function(){return{type:"at3d",uri:n,byteLength:a.byteLength,object:A,dispose:function(){return h.dispose()}}})})}const Xe=Ur.Reader,at=Ur.util,Be=Ur.roots["@REALSEE/FIVE:five/loaders/model/proto/dome.proto"]||(Ur.roots["@REALSEE/FIVE:five/loaders/model/proto/dome.proto"]={}),Cf=Be.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=at.emptyArray,n.decode=function(e,r){e instanceof Xe||(e=Xe.create(e));let i=r===void 0?e.len:e.pos+r,a=new Be.Model;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:{a.meshes&&a.meshes.length||(a.meshes=[]),a.meshes.push(Be.Mesh.decode(e,e.uint32()));break}default:e.skipType(o&7);break}}return a},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Model"},n})();Be.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=at.emptyArray,n.prototype.matrix=at.emptyArray,n.decode=function(e,r){e instanceof Xe||(e=Xe.create(e));let i=r===void 0?e.len:e.pos+r,a=new Be.Mesh;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:{a.name=e.string();break}case 2:{a.chunks&&a.chunks.length||(a.chunks=[]),a.chunks.push(Be.Chunk.decode(e,e.uint32()));break}case 3:{a.matrix&&a.matrix.length||(a.matrix=[]),a.matrix.push(Be.Matrix.decode(e,e.uint32()));break}default:e.skipType(o&7);break}}if(!a.hasOwnProperty("name"))throw at.ProtocolError("missing required 'name'",{instance:a});return a},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Mesh"},n})();Be.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=at.emptyArray,n.decode=function(e,r){e instanceof Xe||(e=Xe.create(e));let i=r===void 0?e.len:e.pos+r,a=new Be.Matrix;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:{if(a.elements&&a.elements.length||(a.elements=[]),(o&7)===2){let s=e.uint32()+e.pos;for(;e.pos<s;)a.elements.push(e.float())}else a.elements.push(e.float());break}default:e.skipType(o&7);break}}return a},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Matrix"},n})();Be.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=at.emptyArray,n.decode=function(e,r){e instanceof Xe||(e=Xe.create(e));let i=r===void 0?e.len:e.pos+r,a=new Be.Chunk;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 2:{a.geometry=Be.Geometry.decode(e,e.uint32());break}case 3:{a.material&&a.material.length||(a.material=[]),a.material.push(Be.Material.decode(e,e.uint32()));break}default:e.skipType(o&7);break}}if(!a.hasOwnProperty("geometry"))throw at.ProtocolError("missing required 'geometry'",{instance:a});return a},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Chunk"},n})();Be.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=at.emptyArray,n.decode=function(e,r){e instanceof Xe||(e=Xe.create(e));let i=r===void 0?e.len:e.pos+r,a=new Be.Geometry;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:{a.position=Be.Position.decode(e,e.uint32());break}case 2:{a.uv=Be.UV.decode(e,e.uint32());break}case 3:{a.uv2=Be.UV.decode(e,e.uint32());break}case 4:{a.normal=Be.Normal.decode(e,e.uint32());break}case 5:{a.groups&&a.groups.length||(a.groups=[]),a.groups.push(Be.Group.decode(e,e.uint32()));break}default:e.skipType(o&7);break}}if(!a.hasOwnProperty("position"))throw at.ProtocolError("missing required 'position'",{instance:a});if(!a.hasOwnProperty("normal"))throw at.ProtocolError("missing required 'normal'",{instance:a});return a},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Geometry"},n})();Be.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=at.emptyArray,n.decode=function(e,r){e instanceof Xe||(e=Xe.create(e));let i=r===void 0?e.len:e.pos+r,a=new Be.Position;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:{if(a.array&&a.array.length||(a.array=[]),(o&7)===2){let s=e.uint32()+e.pos;for(;e.pos<s;)a.array.push(e.float())}else a.array.push(e.float());break}default:e.skipType(o&7);break}}return a},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Position"},n})();Be.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=at.emptyArray,n.decode=function(e,r){e instanceof Xe||(e=Xe.create(e));let i=r===void 0?e.len:e.pos+r,a=new Be.UV;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:{if(a.array&&a.array.length||(a.array=[]),(o&7)===2){let s=e.uint32()+e.pos;for(;e.pos<s;)a.array.push(e.float())}else a.array.push(e.float());break}default:e.skipType(o&7);break}}return a},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/UV"},n})();Be.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=at.emptyArray,n.decode=function(e,r){e instanceof Xe||(e=Xe.create(e));let i=r===void 0?e.len:e.pos+r,a=new Be.Normal;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:{if(a.array&&a.array.length||(a.array=[]),(o&7)===2){let s=e.uint32()+e.pos;for(;e.pos<s;)a.array.push(e.float())}else a.array.push(e.float());break}default:e.skipType(o&7);break}}return a},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Normal"},n})();Be.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 Xe||(e=Xe.create(e));let i=r===void 0?e.len:e.pos+r,a=new Be.Group;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:{a.start=e.uint32();break}case 2:{a.count=e.uint32();break}case 3:{a.materialIndex=e.uint32();break}default:e.skipType(o&7);break}}if(!a.hasOwnProperty("start"))throw at.ProtocolError("missing required 'start'",{instance:a});if(!a.hasOwnProperty("count"))throw at.ProtocolError("missing required 'count'",{instance:a});if(!a.hasOwnProperty("materialIndex"))throw at.ProtocolError("missing required 'materialIndex'",{instance:a});return a},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Group"},n})();Be.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 Xe||(e=Xe.create(e));let i=r===void 0?e.len:e.pos+r,a=new Be.Material;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:{a.kd=Be.Color.decode(e,e.uint32());break}case 2:{a.ks=Be.Color.decode(e,e.uint32());break}case 3:{a.ke=Be.Color.decode(e,e.uint32());break}case 4:{a.mapkd=e.string();break}case 5:{a.mapks=e.string();break}case 6:{a.mapke=e.string();break}case 7:{a.norm=e.string();break}case 8:{a.mapbump=e.string();break}case 9:{a.bump=e.string();break}case 10:{a.mapd=e.string();break}case 11:{a.ns=e.float();break}case 12:{a.d=e.float();break}case 13:{a.tr=e.float();break}case 14:{a.mapkdrepeat=e.string();break}default:e.skipType(o&7);break}}return a},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Material"},n})();Be.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=at.emptyArray,n.decode=function(e,r){e instanceof Xe||(e=Xe.create(e));let i=r===void 0?e.len:e.pos+r,a=new Be.Color;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:{if(a.rgb&&a.rgb.length||(a.rgb=[]),(o&7)===2){let s=e.uint32()+e.pos;for(;e.pos<s;)a.rgb.push(e.float())}else a.rgb.push(e.float());break}default:e.skipType(o&7);break}}return a},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Color"},n})();function nu(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,iu(new Uint8Array(r.body),t.textureBaseUri||"",t.textureOptions,t.fetcher)}).then(function(r){var i=new d.Group;i.matrixAutoUpdate=!1,i.matrix.compose(i.position,i.quaternion,i.scale),i.name=n;for(var a=0,o=r.objects;a<o.length;a++){var s=o[a];i.add(s)}return r.texturePromise.then(function(){return{type:"dome",uri:n,byteLength:e.byteLength,object:i,dispose:function(){return r.dispose()}}})})}function Mf(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 Sf(n){var t=n.position,e=n.normal,r=n.uv,i=n.uv2,a=n.groups,o=new d.BufferGeometry;o.setAttribute("position",new d.BufferAttribute(new Float32Array(t.array),3)),e&&o.setAttribute("normal",new d.BufferAttribute(new Float32Array(e.array),3)),r&&o.setAttribute("uv",new d.BufferAttribute(new Float32Array(r.array),2)),i&&o.setAttribute("uv2",new d.BufferAttribute(new Float32Array(i.array),2));for(var s=0,u=a;s<u.length;s++){var l=u[s];o.addGroup(l.start,l.count,l.materialIndex)}return o}function vn(n,t,e,r,i,a,o){if(o.hasOwnProperty(n))return o[n];n=n.split("?")[0],Er(n)||(n=xt(t,n)),n=n.replace(/\/\/vrlab-image\d*.ljcdn.com\//,"//vrlab-public.ljcdn.com/"),n.indexOf("//")===0&&(n="https:"+n);var s=F({key:"texture.dome",size:64},Vt(e,["quality","format","sharpen","mappings"])),u=o[n]=i.loadTexture(n,{imageURL:{transform:e.transform,options:s},wrapS:d.RepeatWrapping,wrapT:d.RepeatWrapping,fetcher:a}).then(function(l){var c=l.body;return r&&c.repeat.copy(r),c.needsUpdate=!0,c.updateMatrix(),c});return u}function If(n,t,e,r,i,a,o){var s=[],u=new Pn("phong");if(o.add(u),n.kd&&(u.color=new d.Color().fromArray(n.kd.rgb).convertLinearToSRGB()),n.mapkd){var l=null;if(n.mapkdrepeat){var c=n.mapkdrepeat.split(/\s+/).map(function(f){return Number(f)}),h=c[0],A=c[1];l=new d.Vector2(h,A)}s.push(vn(n.mapkd,t,e,l,r,i,a).then(function(f){f.encoding=d.sRGBEncoding,u.map=f,o.add(f),u.needsUpdate=!0}).catch(D))}if(n.ks&&(u.specular=new d.Color().fromArray(n.ks.rgb).convertLinearToSRGB()),n.mapks&&s.push(vn(n.mapks,t,e,null,r,i,a).then(function(f){u.specularMap=f,o.add(f)}).catch(D)),n.ke&&(u.emissive=new d.Color().fromArray(n.ke.rgb).convertLinearToSRGB()),n.mapke&&s.push(vn(n.mapke,t,e,null,r,i,a).then(function(f){f.encoding=d.sRGBEncoding,u.emissiveMap=f,o.add(f)}).catch(D)),n.norm&&s.push(vn(n.norm,t,e,null,r,i,a).then(function(f){u.normalMap=f,o.add(f)}).catch(D)),n.mapbump&&s.push(vn(n.mapbump,t,e,null,r,i,a).then(function(f){u.bumpMap=f,o.add(f)}).catch(D)),n.bump&&s.push(vn(n.bump,t,e,null,r,i,a).then(function(f){u.bumpMap=f,o.add(f)}).catch(D)),typeof n.ns=="number"&&(u.shininess=n.ns),typeof n.d=="number"){var m=n.d;m>0&&m<1&&(u.opacity=m)}return u.floor=0,u.defines.USE_VERTEX_FLOOR=!1,{material:u,textureReady:Promise.all(s).then(D)}}function Tf(n){return Cf.decode(n).meshes}function iu(n,t,e,r){for(var i=[],a=[],o=new Set,s=Tf(n),u=new Zn,l=new d.Matrix4,c=new d.Vector3,h=new d.Quaternion,A=new d.Vector3,m={},f=0,v=s;f<v.length;f++){var y=v[f],p=y.name,g=y.chunks,x=y.matrix;if(!(p==="Ceiling"||p==="CeilingDrop"))for(var b=0,w=x;b<w.length;b++){var E=w[b];l.elements=E.elements;for(var M=new d.Group,C=0;C<g.length;C++){var I=Sf(g[C].geometry);I.applyMatrix4(l),l.decompose(c,h,A),A.x*A.y*A.z<0&&I.attributes.normal&&I.attributes.position&&I.attributes.uv&&Mf(I),o.add(I);for(var S=[],P=0,B=g[C].material;P<B.length;P++){var L=B[P],k=If(L,t||"",e,u,r,m,o),O=k.material,z=k.textureReady;a.push(z),S.push(O)}var N=new Dt(I,S);N.name="chunk_"+C,N.matrix.compose(N.position,N.quaternion,N.scale),N.matrixAutoUpdate=!1,N.frustumCulled=!1,M.add(N)}M.name=p,i.push(M)}}var X=Promise.all(a).catch(D),G=function(Q){return Promise.resolve()};return{createAt:0,description:"",objects:i,texturePromise:X,updateTexture:G,dispose:function(){o.forEach(function(Q){Q.dispose()}),o.clear()}}}function au(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,W0(r.body)}).then(function(r){var i=r.reduce(function(s,u){return s+u.length},0),a=new Uint8Array(i),o=0;return r.forEach(function(s){a.set(s,o),o+=s.length}),a}).then(function(r){return iu(r,t.textureBaseUri||"",t.textureOptions,t.fetcher)}).then(function(r){var i=new d.Group;i.name=n;for(var a=0,o=r.objects;a<o.length;a++){var s=o[a];i.add(s)}return r.texturePromise.then(function(){return{type:"domez",uri:n,byteLength:e.byteLength,object:i,dispose:function(){return r.dispose()}}})})}var Pf=new d.Matrix4().fromArray([1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1]);function ou(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 io(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 d.Matrix4;if(t.upAxis!=="Z"&&i.premultiply(Pf),r.CESIUM_RTC){var a=new d.Matrix4().setPosition(r.CESIUM_RTC.center);i.premultiply(a)}var o=r.scene;return o.applyMatrix4(i),{type:"glb",uri:n,byteLength:e,object:o,dispose:function(){return r.dispose()}}})}var An=new d.Vector3,us=new d.Matrix4;function ls(n,t){n.name=t.id;var e=t.tileset.properties.floorInfo;n.traverse(function(r){if("floor"in t.extras){if(r instanceof d.Mesh||r instanceof d.Points)for(var i=Array.isArray(r.material)?r.material:r.material?[r.material]:[],a=0,o=i;a<o.length;a++){var s=o[a];(s instanceof Pn||s instanceof no)&&(s.floor=t.extras.floor)}}else if((r instanceof Dt||r instanceof wr)&&e){var u=r.geometry.index,l=r.geometry.getAttribute("position"),c=0,h=new Float32Array(l.count);if(e)if(u){for(var A=0,m=u.count,f=0;f<m;f++){var b=u.array[f];An.set(l.array[b*3+0],l.array[b*3+1],l.array[b*3+2]),An.applyMatrix4(r.matrixWorld);var v=An.y;h[b]=0;for(var y=0;y<e.length;y++){var w=e[y],g=w.ground,x=w.height;if(v<g+x){h[b]=y;break}}A+=h[b]}c=A/m}else{for(var A=0,m=l.count,f=0;f<m;f++){An.set(l.array[f*3+0],l.array[f*3+1],l.array[f*3+2]),An.applyMatrix4(r.matrixWorld);var v=An.y;h[f]=0;for(var y=0;y<e.length;y++){var p=e[y],g=p.ground,x=p.height;if(v<g+x){h[f]=y;break}}A+=h[f]}c=A/m}t.floor=c,r.geometry.setAttribute("floor",new d.BufferAttribute(h,1)),Array.isArray(r.material)?r.material.forEach(function(E){E.defines.USE_VERTEX_FLOOR=!0,E.needsUpdate=!0}):(r.material.defines.USE_VERTEX_FLOOR=!0,r.material.needsUpdate=!0)}})}function Bf(n,t){if(!n.content)return Promise.resolve(null);var e=n.content,r=z0(e.uri,t.search);if(n.type==="TILESET"){var i=St(r,{key:"model.".concat(n.siblingIndex)});return t.fetcher.ajax(i,{responseType:"text"}).then(function(a){return a.body}).then(function(a){var o=r.slice(0,r.lastIndexOf("/")+1);return pi(JSON.parse(a),o)}).then(function(a){n.children.length===0&&(n.children=[new ro("".concat(n.id,".0"),a.root,n.tileset,n)])}).then(function(){return null})}return n.type==="SCENEGRAPH"?Promise.resolve().then(function(){var a,o,s,u,l,c,h,A,m,f,v="",y=r.split("#"),p=y[0],g=y[1],x=(g||p).split("?")[0].match(/\.([0-9a-zA-Z]+)$/);if(x&&(v=x[1]),v==="b3dm"){var b=St(r,{key:"model.".concat(n.siblingIndex)});return H0(b,{upAxis:n.tileset.asset.gltfUpAxis,fetcher:t.fetcher}).then(function(w){return w.object.applyMatrix4(n.transform),w.object.updateWorldMatrix(!1,!0),w.object.matrixAutoUpdate=!1,ls(w.object,n),w})}if(v==="pnts"){var b=St(r,{key:"model.".concat(n.siblingIndex)});return K0(b,{fetcher:t.fetcher,computeBoundingBox:!1}).then(function(E){if(E.object.applyMatrix4(n.transform),E.object.updateWorldMatrix(!1,!0),E.object.matrixAutoUpdate=!1,n.boundingVolume){var M=n.boundingVolume;E.object.traverse(function(C){if(C instanceof wr){us.getInverse(C.matrixWorld);var I=new d.Box3;M.getBoundingBox(I),I.applyMatrix4(us),C.geometry.boundingBox=I}})}return E})}if(v==="glb"){var b=St(r,{key:"model.".concat(n.siblingIndex)});return ou(b,{upAxis:n.tileset.asset.gltfUpAxis,fetcher:t.fetcher}).then(function(E){return E.object.applyMatrix4(n.transform),E.object.updateWorldMatrix(!1,!0),E.object.matrixAutoUpdate=!1,ls(E.object,n),E})}if(v==="at3d"){var b=n.extras.at3d?r:St(r,{key:"model.".concat(n.siblingIndex)});return ru(b,{textureBaseUri:(a=n.extras.at3d)===null||a===void 0?void 0:a.textureBaseUri,textureArray:(o=n.extras.at3d)===null||o===void 0?void 0:o.textureArray,textureOptions:(s=n.extras.at3d)===null||s===void 0?void 0:s.textureOptions,fetcher:t.fetcher}).then(function(E){return E.object.applyMatrix4(n.transform),E.object.updateWorldMatrix(!1,!0),E.object.matrixAutoUpdate=!1,E})}if(v==="pbm"){var b=n.extras.pbm?r:St(r,{key:"model.".concat(n.siblingIndex)});return $0(b,{textureBaseUri:(u=n.extras.pbm)===null||u===void 0?void 0:u.textureBaseUri,textureArray:(l=n.extras.pbm)===null||l===void 0?void 0:l.textureArray,textureOptions:(c=n.extras.pbm)===null||c===void 0?void 0:c.textureOptions,fetcher:t.fetcher}).then(function(E){return E.object.applyMatrix4(n.transform),E.object.updateWorldMatrix(!1,!0),E.object.matrixAutoUpdate=!1,E})}if(v==="dome"){var b=n.extras.dome?r:St(r,{key:"model.".concat(n.siblingIndex)});return nu(b,{textureBaseUri:(h=n.extras.dome)===null||h===void 0?void 0:h.textureBaseUri,textureOptions:(A=n.extras.dome)===null||A===void 0?void 0:A.textureOptions,fetcher:t.fetcher}).then(function(E){return E.object.applyMatrix4(n.transform),E.object.updateWorldMatrix(!1,!0),E.object.matrixAutoUpdate=!1,E})}if(v==="domez"){var b=n.extras.domez?r:St(r,{key:"model.".concat(n.siblingIndex)});return au(b,{textureBaseUri:(m=n.extras.domez)===null||m===void 0?void 0:m.textureBaseUri,textureOptions:(f=n.extras.domez)===null||f===void 0?void 0:f.textureOptions,fetcher:t.fetcher}).then(function(E){return E.object.applyMatrix4(n.transform),E.object.updateWorldMatrix(!1,!0),E.object.matrixAutoUpdate=!1,E})}return null}).then(function(a){if(!a)return Promise.resolve(null);a.object.traverse(function(s){if(s instanceof wr)s.material.uniforms.geometricError.value=n.geometricError;else if(s instanceof Dt)for(var u=0,l=s.material;u<l.length;u++){var c=l[u];c.uniforms.geometricError.value=n.geometricError}});var o={type:a.type,uri:a.uri,byteLength:a.byteLength,object:new V0(a.object,a.dispose)};return o.object.name=n.id,Promise.resolve().then(function(){return o.object.generateBvhTree()}).then(function(){return o}).catch(function(s){return Oa(o),Promise.reject(s)})}):Promise.resolve(null)}function Oa(n){n&&n.object.dispose()}var cs=new d.Vector3,Rf=new d.Matrix3,kf=new d.Matrix4,ut=6378137,su=298.257223563;function uu(n){for(var t=ut-ut/su,e=(ut*ut-t*t)/(ut*ut),r=Math.sqrt(n.x*n.x+n.y*n.y),i=1e-12,a=1e3,o=0,s=Math.atan2(n.z,r),u=0;o++<a;){var l=Math.sin(s),c=ut/Math.sqrt(1-e*l*l);u=r/Math.cos(s)-c;var h=Math.atan2(n.z/(c*(1-e)+u),r/(c+u));if(isNaN(h))break;var A=Math.abs(h-s);if(A<i)break;s=h}return n.set(s,Math.atan2(n.y,n.x),u)}function Ff(n){var t=n.x,e=n.y,r=n.z,i=ut-ut/su,a=(ut*ut-i*i)/(ut*ut),o=Math.sin(t),s=Math.cos(t),u=Math.sin(e),l=Math.cos(e),c=ut/Math.sqrt(1-a*o*o),h=(c+r)*s*l,A=(c+r)*s*u,m=(i*i/(ut*ut)*c+r)*o;return n.set(h,A,m)}function Lf(n,t){var e=uu(cs.copy(n)),r=e.x,i=e.y,a=e.z,o=Math.sin(r),s=Math.sin(i),u=Math.cos(r),l=Math.cos(i);t.fromArray([-s,-o*l,u*l,0,+l,-o*s,u*s,0,0,u,o,0,0,0,0,1]);var c=Rf.setFromMatrix4(t),h=cs.copy(n).applyMatrix3(c).multiplyScalar(-1);t.setPosition(h);var A=kf.fromArray([1,0,0,0,0,1,0,0,0,0,1,0,0,0,a,1]);return t.premultiply(A),t}var Wt={TILE_MASK:128,SKIP_LOD_MASK:112,SKIP_LOD_BIT_SHIFT:4,CLASSIFICATION_MASK:15},ds=function(){var n=new d.MeshBasicMaterial;return n.side=d.BackSide,n.color.setHex(16711935),n.colorWrite=!1,n.stencilWrite=!0,n.polygonOffset=!0,n.polygonOffsetFactor=2,n.polygonOffsetUnits=2,n.stencilRef=Wt.TILE_MASK,n.stencilFunc=d.AlwaysStencilFunc,n.stencilFuncMask=Wt.TILE_MASK,n.stencilZPass=d.ReplaceStencilOp,n.stencilWriteMask=Wt.TILE_MASK,n}(),fs=function(){var n=new d.MeshBasicMaterial;return n.visible=!1,n}(),Of=new d.BufferGeometry,Vf=new d.MeshBasicMaterial,$r=function(n){se(t,n);function t(e,r,i){var a,o,s,u=n.call(this)||this;return u.modelIndex=0,u.debug=!1,u.name=i.name,u.type=i.type,u.upAxis=i.upAxis,u.model=e,u.fetcher=i.fetcher,u.search=(a=i.search)!==null&&a!==void 0?a:"",u.groundHeight=i.groundHeight,u.coordinateTransform=i.coordinateTransform,u.unloadTileQueue=[],u.boundingBox=new d.Box3,u.idle=!1,u.minLevelOfDetail=t.DEFAULT_MIN_LEVEL_OF_DETAIL,u.maxLevelOfDetail=t.DEFAULT_MAX_LEVEL_OF_DETAIL,u.needsRefined=!0,u.refined=!1,u.refineProgress=[0,0],u.loaded=!1,u.disposed=!1,u.needsRender=!0,u.lastRenderHash="",u.matrixAutoUpdate=!1,u.cacheCameras=[],u.clearStencilObject=new d.Mesh(Of,Vf),u.clearStencilObject.frustumCulled=!1,u.clearStencilObject.onAfterRender=function(l){return l.clearStencil()},u.tileset=new gn((s=(o=u.model.work)===null||o===void 0?void 0:o.workCode)!==null&&s!==void 0?s:"",r,{referer:i.referer,contentLoader:function(l){return u.loadContent(l)},onTileLoad:function(){},onTileUnload:function(l){u.unloadTileQueue.push(l)},onTileError:function(l,c){i.onError&&i.onError(Object.assign(c,{error:c})),console.error("Tile error",l.id,c)}}),u.tileset.root.boundingVolume&&u.tileset.root.boundingVolume.getBoundingBox(u.boundingBox),u}return t.prototype.getRenderHash=function(){return Mn([this.tileset.id,this.tileset.skipLevelOfDetail,this.tileset.selectedTiles.map(function(e){return e.id}),this.debug])},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,"skipLevelOfDetail",{get:function(){return this.tileset.skipLevelOfDetail},set:function(e){this.tileset.skipLevelOfDetail=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"loadSiblings",{get:function(){return this.tileset.loadSiblings},set:function(e){this.tileset.loadSiblings=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.localToEnu=function(e){return e.applyMatrix4(this.coordinateTransform.localToEnuMatrix)},t.prototype.enuToLocal=function(e){return e.applyMatrix4(this.coordinateTransform.enuToLocalMatrix)},t.prototype.localToEcef=function(e){return e.applyMatrix4(this.coordinateTransform.localToEcefMatrix)},t.prototype.ecefToLocal=function(e){return e.applyMatrix4(this.coordinateTransform.ecefToLocalMatrix)},t.prototype.localToLla=function(e){return uu(this.localToEcef(e))},t.prototype.llaToLocal=function(e){return this.ecefToLocal(Ff(e))},t.prototype.worldToEnu=function(e){return this.localToEnu(this.worldToLocal(e))},t.prototype.enuToWorld=function(e){return this.localToWorld(this.enuToLocal(e))},t.prototype.worldToEcef=function(e){return this.localToEcef(this.worldToLocal(e))},t.prototype.ecefToWorld=function(e){return this.localToWorld(this.ecefToLocal(e))},t.prototype.worldToLla=function(e){return this.localToLla(this.worldToLocal(e))},t.prototype.llaToWorld=function(e){return this.localToWorld(this.llaToLocal(e))},t.prototype.loadContent=function(e){var r=this;return Bf(e,{fetcher:this.fetcher,search:this.search}).then(function(i){return e.type==="TILESET"?!0:i&&e.type==="SCENEGRAPH"?r.disposed||!e.content?(Oa(i),!1):(e.content.data=i,e.content.byteLength=i.byteLength,e.content.data&&(e.content.data.object.traverse(function(a){(a instanceof wr||a instanceof Dt)&&(a.model=r.model)}),r.boundingBox.expandByObject(e.content.data.object)),!0):!1})},t.prototype.unloadContent=function(e){e.content&&(e.content.byteLength=0,Oa(e.content.data),e.content.data=void 0)},t.prototype.loadAllTilesets=function(){var e=this,r=function(i){var a=[];return e.tileset.root.traverse(function(o){var s;o.type==="TILESET"&&((s=o.content)===null||s===void 0?void 0:s.loadState)!=="READY"&&a.push(o)}),Promise.all(a.map(function(o){return e.loadContent(o).then(function(){return r()})})).then(function(){})};return r(this.tileset.root)},t.prototype.intersectRaycaster=function(e,r,i){var a=this;r===void 0&&(r=!0),i===void 0&&(i=[]);for(var o=[this.tileset.root],s=this.tileset.transform,u=this.tileset.transformIsIdentity,l,c=[];l=o.pop();){var h=void 0;if(l.boundingVolume){var A=u?l.boundingVolume:l.boundingVolume.clone().applyMatrix4(s);h=A.intersectRay(e.ray,e.far)}else h=!0;if(h){for(var m=0,f=l.children.length;m<f;m++)o.push(l.children[m]);l.selected&&l.content&&l.content.data&&l.content.data.object.visible&&l.content.data.object.intersectRaycaster(e,!1,c)}}return this.model.shownFloorIndex>=0&&(c=c.filter(function(v){return v.floor===a.model.shownFloorIndex})),r&&c.sort(function(v,y){return v.distance-y.distance}),c.map(function(v){v.model=a.model,v.viewLayer=a.viewLayer}),i.push.apply(i,c),i},t.prototype.cloneSkipBackfaceObject=function(e){var r;e instanceof d.Mesh?r=new d.Mesh(e.geometry,Array.isArray(e.material)?e.material.map(function(s){return s.transparent?fs:ds}):e.material&&e.material.transparent?fs:ds):e instanceof d.Group?r=new d.Group:r=new d.Object3D,r.copy(e,!1);for(var i=0,a=e.children;i<a.length;i++){var o=a[i];r.add(this.cloneSkipBackfaceObject(o))}return r},t.prototype.update=function(e,r){var i=this,a,o;this.tileset.transform.equals(this.matrixWorld)||this.tileset.transform.copy(this.matrixWorld),this.tileset.cache.reset(),this.tileset.frameNumber++;var s=this.visible&&(this.parent?this.parent.visible:!0),u={camera:{position:new d.Vector3().copy(r.position),direction:r.getDirection(new d.Vector3),up:new d.Vector3().copy(r.up),visible:r.visible,type:r.type,refine:r.refineModel},minLevelOfDetail:s?Math.min(this.minLevelOfDetail,this.maxLevelOfDetail):-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 Un().setFromCamera(r)},l=this.cacheCameras.map(function(I){return F(F({},u),{camera:{position:new d.Vector3().copy(I.position),direction:I.getWorldDirection(new d.Vector3),type:r.type,up:new d.Vector3().copy(I.up),visible:I.visible,refine:!0},cullingVolume:new Un().setFromCamera(I)})});this.tileset.traverse(u,l),this.refined=!0,this.refineProgress[0]=0,this.refineProgress[1]=0,this.tileset.needsRefinedTiles.forEach(function(I){if(i.refineProgress[1]++,I.content&&I.state.visible){var S=I.content.loadState;if(S==="UNLOADED"||S==="LOADING"){i.refined=!1;return}}i.refineProgress[0]++}),this.loaded===!1&&this.tileset.needsRefinedTiles.size>0&&(this.loaded=!0,this.tileset.needsRefinedTiles.forEach(function(I){if(i.loaded!==!1){if(i.tileset.skipLevelOfDetail){if(I.state.finalResolution&&I.content){var S=I.state.ancestorWithContentAvailable,P=S&&S.content?S.content:I.content,B=P.loadState;(B==="UNLOADED"||B==="LOADING")&&(i.loaded=!1)}}else if(I.state.visible&&I.content&&I.levelOfContent<=0){var B=I.content.loadState;(B==="UNLOADED"||B==="LOADING")&&(i.loaded=!1)}}}));for(var c;c=this.unloadTileQueue.pop();)this.unloadContent(c);this.remove.apply(this,this.children);var h=[],A=[],m=[];this.tileset.skipLevelOfDetail||this.tileset.selectedTiles.sort(function(I,S){return I.floor-S.floor});for(var f=function(I){v.debug&&I.boundingVolumeDebugObject&&A.push(I.boundingVolumeDebugObject);var S=(o=(a=I.content)===null||a===void 0?void 0:a.data)===null||o===void 0?void 0:o.object;if(!S)return"continue";if(v.tileset.skipLevelOfDetail&&v.tileset.hasMixedContent&&!I.state.finalResolution){var P=v.cloneSkipBackfaceObject(S);h.push(P)}var B=I.state.selectionDepth,L=Wt.TILE_MASK|B<<Wt.SKIP_LOD_BIT_SHIFT,k=d.GreaterEqualStencilFunc,O=Wt.SKIP_LOD_MASK,z=d.ReplaceStencilOp,N=Wt.TILE_MASK|Wt.SKIP_LOD_MASK;S.traverse(function(X){if(X instanceof d.Mesh)for(var G=Array.isArray(X.material)?X.material:X.material?[X.material]:[],Q=0,H=G;Q<H.length;Q++){var K=H[Q];i.tileset.hasMixedContent&&i.tileset.skipLevelOfDetail?(K.stencilWrite=!0,K.stencilRef=L,K.stencilFunc=k,K.stencilFuncMask=O,K.stencilZPass=z,K.stencilWriteMask=N):(K.stencilWrite=!1,K.stencilRef=Wt.TILE_MASK,K.stencilFunc=d.AlwaysStencilFunc,K.stencilFuncMask=Wt.TILE_MASK,K.stencilZPass=d.ReplaceStencilOp,K.stencilWriteMask=Wt.TILE_MASK)}}),m.push(S)},v=this,y=0,p=this.tileset.selectedTiles;y<p.length;y++){var g=p[y];f(g)}var x=[];this.tileset.skipLevelOfDetail&&x.push.apply(x,h),x.push.apply(x,m),this.tileset.skipLevelOfDetail&&x.push(this.clearStencilObject),this.debug&&x.push.apply(x,A);for(var b=this.modelIndex*1e4,w=function(I){var S=x[I],P=I+b;S.traverse(function(B){(B instanceof d.Mesh||B instanceof d.Line||B instanceof d.Points)&&(B.renderOrder=P)}),E.add(S)},E=this,M=0;M<x.length;M++)w(M);var C=this.getRenderHash();this.lastRenderHash!==C&&(this.needsRender=!0,this.lastRenderHash=C)},t.prototype.dispose=function(){this.disposed=!0,this.viewLayer=void 0,this.tileset.reset();for(var e;e=this.unloadTileQueue.pop();)this.unloadContent(e)},t.DEFAULT_MIN_LEVEL_OF_DETAIL=0,t.DEFAULT_MAX_LEVEL_OF_DETAIL=20,t.DEFAULT_MAX_MEMORY_USAGE=16,t.DEFAULT_MAX_SCREEN_SPACE_ERROR=gn.DEFAULT_MAX_SCREEN_SPACE_ERROR,t.DEFAULT_SKIP_LEVEL_OF_DETAIL=gn.DEFAULT_SKIP_LEVEL_OF_DETAIL,t.DEFAULT_LOAD_SIBLINGS=gn.DEFAULT_LOAD_SIBLINGS,t.DEFAULT_MAX_REQUESTS=gn.DEFAULT_MAX_REQUESTS,t}(d.Object3D);function Nf(n){return-((n-.25)*360+90)/180*Math.PI}function Va(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(!Va(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 a=i[r];if(!Va(n[a],t[a]))return!1}return!0}return n!==n&&t!==t}function Jt(n){return typeof n=="number"}var hs=function(){return new Error("Invalid input.")},ps=function(){return new Error("Invalid certificate.")},vs=function(){return new Error("Invalid signature.")},zf=function(n){return new Error("date(".concat(n.toString(),") expired."))},Df=function(n){return new Error("host(".concat(JSON.stringify(n),") is not allowed."))};function Qf(n,t){for(var e={},r=0,i=Object.keys(n);r<i.length;r++){var a=i[r];t.indexOf(a)===-1&&(e[a]=n[a])}return e}function On(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,a=0;a<i;a++)r+=On(n[a],!1)+",";return i>-1&&(r+=On(n[a],!1)),r+"]"}if(n instanceof Object){if(typeof n.toJSON=="function")return On(n.toJSON(),t);for(var o=Object.keys(n).sort(),s=o.length,r="",a=0;a<s;){var u=o[a],l=On(n[u],!0);l!==void 0&&(a&&r!==""&&(r+=","),r+=JSON.stringify(u)+":"+l),a++}return"{"+r+"}"}switch(e){case"function":case"undefined":return t?void 0:null;case"number":return 0;default:return isFinite(n)?n:null}}function Uf(n){return String(On(n,!1))}function lu(n){var t,e,r;if(Array.isArray(n)){var i=void 0,a,o;if(n.length<=0)return hs();for(var s=function(w){var E=lu(n[w]);if(E instanceof Error)return{value:E};if(!i)i=E.issuer;else if(i!==E.issuer)return{value:ps()};a?E.expire.getTime()<a.getTime()&&(a=E.expire):a=E.expire,o?o=o.filter(function(M){return E.allowHosts.indexOf(M)!==-1}):o=E.allowHosts},u=0;u<n.length;u++){var l=s(u);if(typeof l=="object")return l.value}return yn({issuer:i,expire:a,allowHosts:o})}var c=JSON.parse(n),h=typeof location!="undefined"?location.hostname:"",A=Date.now();if(typeof c!="object")return hs();var m=new Date(typeof c.expire_at=="string"&&/^\d+$/.test(c.expire_at)?Number(c.expire_at):c.expire_at),f=Array.isArray(c.allow_hosts)?c.allow_hosts:[];if(h.length===0||an(h)||ur.filter(function(w){return qr(w,h)}).length>0){var v=String((t=c.certificate)!==null&&t!==void 0?t:"");if(v){var y=new He;return y.readCertPEM(v),yn({issuer:y.getSubjectString(),expire:m,allowHosts:f})}return yn({issuer:"none",expire:m,allowHosts:f})}var p=String((e=c.certificate)!==null&&e!==void 0?e:"");if(!p)return ps();var g=new He;g.readCertPEM(p);var x=String((r=c._signature)!==null&&r!==void 0?r:"");if(!x)return vs();var b=Uf(Qf(c,["_signature"]));return $l(b,x,g)===!1?vs():A<m.getTime()?f.filter(function(w){return qr(w,h)}).length===0?Df(h):yn({issuer:g.getSubjectString(),expire:m,allowHosts:f}):zf(m)}var As=new d.Matrix4,so=new WeakMap,uo=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 d.Matrix4;{var r=this;this.options={get transform(){return r.transform},set transform(a){r.transform.copy(a)}}}var i=Hf(t,e,this);if(i instanceof Error)throw new Error("[PARSE FAILED]: "+i.message+`
928
+ `),za=typeof Worker!="undefined"&&typeof Blob!="undefined",nu="";if(za)try{var kf=new Blob([Rf],{type:"text/javascript"});nu=URL.createObjectURL(kf)}catch(n){}var iu=function(){function n(){var t=this;if(!za)throw new Error("LZMAWorker cannot work in this broswer.");this.callCounter=0,this.requests={};var e=this.worker=new Worker(nu);e.onmessage=function(r){var i=r.data,a=i.id,o=i.result,s=i.error,l=t.getKey(a);t.requests[l]&&(s?t.requests[l](new Error(s)):t.requests[l](null,o),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=za,n}();function hs(n){return Array.prototype.reduce.call(n,function(t,e,r){return t|e<<r*8},0)}function Ff(n){for(var t=[],e=n.length,r=function(o){var s={data:n[o],offset:0,readByte:function(){return this.data[this.offset++]}},l=s.data.length,u={data:[],offset:0,writeByte:function(f){var A=Math.floor(this.offset/l);this.data[A]||(this.data[A]=new Uint8Array(l)),this.data[A][this.offset%l]=f,this.offset++}};Sf.decompressFile(s,u),i=new Uint8Array(u.offset);for(var c=0;c<u.offset;c++)i[c]=u.data[Math.floor(c/l)][c%l];t.push(i)},i,a=0;a<e;a++)r(a);return t}function Lf(n){for(var t=[],e=n.length,r=function(a){t.push(new Promise(function(o,s){var l=new iu;l.decompress(n[a],function(u,c){if(l.terminate(),u)return s(u);o(c)})}))},i=0;i<e;i++)r(i);return Promise.all(t)}function au(n){var t=new Uint8Array(n),e=hs(t.slice(0,4));if(e>10)return Promise.reject(new Error("LZMA got too many sub chunks."));for(var r=[],i=[],a=4+e*4,o=0;o<e;o++)i[o]=hs(t.slice(4+o*4,8+o*4)),o===e-1?r[o]=t.subarray(a,a+i[o]):r[o]=t.slice(a,a+i[o]),a+=i[o];return iu.support?Lf(r):Promise.resolve(Ff(r))}var da=!1,ou=[];function su(n){if(n===void 0&&(n=!1),!(!n&&da)){da=!0;var t=ou.shift();if(t){try{t()}catch(e){}lt.shared.add(function(){return su(!0)},!0,2,-100)}else da=!1}}function Ri(n){return new Promise(function(t,e){var r=function(){try{t(n())}catch(i){e(i)}};ou.push(r),lt.shared.add(function(){return su()},!0,2,-100)})}function Vt(n,t){for(var e={},r=0,i=t;r<i.length;r++){var a=i[r];a in n&&(e[a]=n[a])}return e}function Of(n,t){for(var e=L({},n),r=0,i=t;r<i.length;r++){var a=i[r];a in e&&delete e[a]}return e}const Hr=Ur.Reader,Yt=Ur.util,Nt=Ur.roots["@REALSEE/FIVE:five/loaders/model/proto/pbm.proto"]||(Ur.roots["@REALSEE/FIVE:five/loaders/model/proto/pbm.proto"]={}),uu=Nt.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=Yt.emptyArray,n.prototype.createAt=Yt.Long?Yt.Long.fromBits(0,0,!0):0,n.prototype.description="",n.decode=function(e,r){e instanceof Hr||(e=Hr.create(e));let i=r===void 0?e.len:e.pos+r,a=new Nt.Model;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:{a.chunks&&a.chunks.length||(a.chunks=[]),a.chunks.push(Nt.Chunk.decode(e,e.uint32()));break}case 2:{a.createAt=e.uint64();break}case 3:{a.description=e.string();break}default:e.skipType(o&7);break}}return a},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Model"},n})();Nt.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 Hr||(e=Hr.create(e));let i=r===void 0?e.len:e.pos+r,a=new Nt.Chunk;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:{a.vertices=Nt.Vertices.decode(e,e.uint32());break}case 2:{a.faces=Nt.Faces.decode(e,e.uint32());break}case 3:{a.name=e.string();break}case 4:{a.texture=e.string();break}default:e.skipType(o&7);break}}if(!a.hasOwnProperty("vertices"))throw Yt.ProtocolError("missing required 'vertices'",{instance:a});if(!a.hasOwnProperty("faces"))throw Yt.ProtocolError("missing required 'faces'",{instance:a});if(!a.hasOwnProperty("name"))throw Yt.ProtocolError("missing required 'name'",{instance:a});return a},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Chunk"},n})();Nt.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=Yt.emptyArray,n.prototype.uvs=Yt.emptyArray,n.prototype.marks=Yt.emptyArray,n.decode=function(e,r){e instanceof Hr||(e=Hr.create(e));let i=r===void 0?e.len:e.pos+r,a=new Nt.Vertices;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:{if(a.xyz&&a.xyz.length||(a.xyz=[]),(o&7)===2){let s=e.uint32()+e.pos;for(;e.pos<s;)a.xyz.push(e.float())}else a.xyz.push(e.float());break}case 2:{if(a.uvs&&a.uvs.length||(a.uvs=[]),(o&7)===2){let s=e.uint32()+e.pos;for(;e.pos<s;)a.uvs.push(e.float())}else a.uvs.push(e.float());break}case 3:{if(a.marks&&a.marks.length||(a.marks=[]),(o&7)===2){let s=e.uint32()+e.pos;for(;e.pos<s;)a.marks.push(e.int32())}else a.marks.push(e.int32());break}default:e.skipType(o&7);break}}return a},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Vertices"},n})();Nt.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=Yt.emptyArray,n.prototype.normals=Yt.emptyArray,n.decode=function(e,r){e instanceof Hr||(e=Hr.create(e));let i=r===void 0?e.len:e.pos+r,a=new Nt.Faces;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:{if(a.indices&&a.indices.length||(a.indices=[]),(o&7)===2){let s=e.uint32()+e.pos;for(;e.pos<s;)a.indices.push(e.uint32())}else a.indices.push(e.uint32());break}case 2:{if(a.normals&&a.normals.length||(a.normals=[]),(o&7)===2){let s=e.uint32()+e.pos;for(;e.pos<s;)a.normals.push(e.float())}else a.normals.push(e.float());break}default:e.skipType(o&7);break}}return a},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Faces"},n})();Nt.VertexMark=(()=>{const n={},t=Object.create(n);return t[n[0]="VERTEX_MARK_UNSPECIFIED"]=0,t[n[1]="VERTEX_MARK_ROOF"]=1,t})();function lu(n,t){var e,r,i,a={byteLength:0},o=fo((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),s={};if(t.textureArray)for(var l=0,u=t.textureArray;l<u.length;l++){var c=u[l];s[c]=co(c,o,t.fetcher)}return Promise.resolve().then(function(){return t.fetcher.ajax(n,{responseType:"arraybuffer"})}).then(function(f){return a.byteLength=f.body.byteLength,Ri(function(){var A=new Uint8Array(f.body);return uu.decode(A)})}).then(function(f){return Ri(function(){var A,m;return du(f,(A=t.textureBaseUri)!==null&&A!==void 0?A:function(){var h=n.lastIndexOf("/");if(h>=0){var p=n.slice(0,h)+"/";return/\/model\/$/.test(p)&&(p=p.replace(/\/model\/$/,"/materials/")),p}return""}(),((m=t.textureArray)!==null&&m!==void 0?m:[]).slice(),o,s,t.fetcher)})}).then(function(f){var A=new d.Group;A.matrixAutoUpdate=!1,A.matrix.compose(A.position,A.quaternion,A.scale),A.name=n;for(var m=0,h=f.objects;m<h.length;m++){var p=h[m];A.add(p)}return{type:"pbm",uri:n,byteLength:a.byteLength,scene:A,textures:f.textures,dispose:function(){return f.dispose()}}})}function cu(n){var t=n.match(/(group|floor)-?(\d+)/);return t?parseInt(t[2],10):0}function Da(n){var t=n.match(/(chunk)-?(\d+)/);return t?parseInt(t[2],10):0}function Vf(n){var t=n.match(/(sub)-?(\d+)/);return t?parseInt(t[2],10):0}function ps(n){var t=cu(n.name),e=Da(n.name),r=Vf(n.name);return t*1e6+e*1e3+r}function Nf(n){for(var t,e,r,i=typeof n.createAt=="number"?n.createAt:0,a=(t=n.description)!==null&&t!==void 0?t:"",o=[],s=!0,l=!0,u=0,c=n.chunks;u<c.length;u++){var f=c[u];if(!f.vertices.marks||f.vertices.marks.length===0){l=!1;break}}for(var A=0,m=n.chunks;A<m.length;A++){var f=m[A];if(!f.faces.normals||f.faces.normals.length===0){s=!1;break}}for(var h=n.chunks.sort(function(he,ve){return ps(he)-ps(ve)}),p=[],y=0,v=h;y<v.length;y++){var f=v[y],g=cu(f.name);p[g]||(p[g]=[]),p[g].push(f)}for(var x=0;x<p.length;x++){var b=p[x];if(b)if(s){for(var w=0,E=0;E<b.length;E++){var f=b[E];w+=f.faces.indices.length}for(var I=new Float32Array(w*3),M=new Float32Array(w*2),k=new Float32Array(w*3),B=l?new Float32Array(w):void 0,C=[],T=[1/0,1/0,1/0,-1/0,-1/0,-1/0],O=0,P=0;P<b.length;P++){for(var F=[1/0,1/0,1/0,-1/0,-1/0,-1/0],f=b[P],V=f.vertices.xyz,z=f.vertices.uvs,j=f.faces.indices,K=f.faces.normals,H=f.vertices.marks,q=j.length,E=0;E<q;E++){var J=j[E],G=I[O*3+E*3]=V[J*3],W=I[O*3+E*3+1]=V[J*3+1],_=I[O*3+E*3+2]=V[J*3+2];B&&(B[O+E]=H[J]),M[O*2+E*2]=z[J*2],M[O*2+E*2+1]=z[J*2+1];var Y=Math.floor(E/3)*3;k[O*3+E*3]=K[Y],k[O*3+E*3+1]=K[Y+1],k[O*3+E*3+2]=K[Y+2],G<F[0]&&(F[0]=G),W<F[1]&&(F[1]=W),_<F[2]&&(F[2]=_),G>F[3]&&(F[3]=G),W>F[4]&&(F[4]=W),_>F[5]&&(F[5]=_)}F[0]<T[0]&&(T[0]=F[0]),F[1]<T[1]&&(T[1]=F[1]),F[2]<T[2]&&(T[2]=F[2]),F[3]>T[3]&&(T[3]=F[3]),F[4]>T[4]&&(T[4]=F[4]),F[5]>T[5]&&(T[5]=F[5]),C.push({materialIndex:P,name:f.name,chunkName:Da(f.name),start:O,count:f.faces.indices.length,texture:(e=f.texture)!==null&&e!==void 0?e:void 0}),O+=q}var oe={createAt:i,description:a,vertices:I,uvs:M,normals:k,masks:B,indices:null,floorIndex:x,groups:C,extents:T};o.push(oe)}else{for(var w=0,$=0,E=0;E<b.length;E++){var f=b[E];$+=f.vertices.xyz.length/3,w+=f.faces.indices.length}for(var I=new Float32Array($*3),M=new Float32Array($*2),k=void 0,ae=new Float32Array($),ne=new Uint32Array(w),B=l?new Float32Array(w):void 0,C=[],T=[1/0,1/0,1/0,-1/0,-1/0,-1/0],le=0,O=0,P=0;P<b.length;P++){for(var F=[1/0,1/0,1/0,-1/0,-1/0,-1/0],f=b[P],V=f.vertices.xyz,ie=f.vertices.marks,z=f.vertices.uvs,j=f.faces.indices,ge=V.length/3,q=j.length,E=0;E<ge;E++){var G=I[O*3+E*3]=V[E*3],W=I[O*3+E*3+1]=V[E*3+1],_=I[O*3+E*3+2]=V[E*3+2];B&&(B[O+E]=ie[E]),M[O*2+E*2]=z[E*2],M[O*2+E*2+1]=z[E*2+1],ae[O+E]=x,G<F[0]&&(F[0]=G),W<F[1]&&(F[1]=W),_<F[2]&&(F[2]=_),G>F[3]&&(F[3]=G),W>F[4]&&(F[4]=W),_>F[5]&&(F[5]=_)}F[0]<T[0]&&(T[0]=F[0]),F[1]<T[1]&&(T[1]=F[1]),F[2]<T[2]&&(T[2]=F[2]),F[3]>T[3]&&(T[3]=F[3]),F[4]>T[4]&&(T[4]=F[4]),F[5]>T[5]&&(T[5]=F[5]);for(var E=0;E<q;E++)ne[le+E]=O+j[E];C.push({materialIndex:P,name:f.name,chunkName:Da(f.name),start:le,count:f.faces.indices.length,texture:(r=f.texture)!==null&&r!==void 0?r:void 0}),O+=ge,le+=q}var oe={createAt:i,description:a,vertices:I,uvs:M,normals:k,masks:B,indices:ne,floorIndex:x,groups:C,extents:T};o.push(oe)}}return o}function co(n,t,e){var r=L({key:"texture.pbm"},Vt(t,["format","quality","size","sharpen","mappings"])),i=new ti,a=i.loadTexture(n,{imageURL:{transform:t.transform,options:r},encoding:d.sRGBEncoding,wrapS:d.ClampToEdgeWrapping,wrapT:d.ClampToEdgeWrapping,minFilter:d.LinearFilter,maxSize:typeof r.size=="number"?new d.Vector2(r.size,r.size):void 0,fetcher:e}).then(function(o){var s=o.body;return s.needsUpdate=!0,s});return Object.assign(a,{url:n,textureOptions:t})}function du(n,t,e,r,i,a){i===void 0&&(i={});for(var o=Nf(n),s=0,l="",u=[],c={},f=new Set,A=0,m=o;A<m.length;A++){var h=m[A],p=h.createAt,y=h.description,v=h.vertices,g=h.masks,x=h.uvs,b=h.normals,w=h.indices,E=h.floorIndex,I=h.groups,M=h.extents,k=new d.Box3;k.min.x=M[0],k.min.y=M[1],k.min.z=M[2],k.max.x=M[3],k.max.y=M[4],k.max.z=M[5];var B=new d.BufferGeometry;B.setAttribute("position",new d.BufferAttribute(v,3)),B.setAttribute("uv",new d.BufferAttribute(x,2)),b&&B.setAttribute("normal",new d.BufferAttribute(b,3)),g&&B.setAttribute("mask",new d.BufferAttribute(g,1)),w&&B.setIndex(new d.BufferAttribute(w,1)),B.boundingBox=k,B.boundingSphere=k.getBoundingSphere(new d.Sphere);for(var C=0,T=I;C<T.length;C++){var O=T[C];B.addGroup(O.start,O.count,O.materialIndex)}f.add(B);for(var P=[],F=0,V=I;F<V.length;F++){var O=V[F],z=e[O.chunkName]||(O.texture?xt(t||"",O.texture):void 0),j=new Tn("basic");j.floor=E,B.attributes.normal===void 0&&(j.flatShading=!0),B.attributes.mask&&(j.defines.USE_VERTEX_MARK=!0),P.push(j),z?c[z]?c[z].push(j):c[z]=[j]:j.color=new d.Color(16777215),f.add(j)}var K=new Dt(B,P);K.name="model_floor_"+E,K.userData.createAt=p,K.userData.description=y,K.matrix.compose(K.position,K.quaternion,K.scale),K.matrixAutoUpdate=!1,K.frustumCulled=!1,s=p,l=y,u.push(K)}var H=function(q){q=fo(q,e.length);for(var J=[],G=function(oe){var $=null;oe in i&&($=i[oe]),$||($=co(oe,q,a)),J.push($.then(function(ae){for(var ne=0,le=c[oe];ne<le.length;ne++){var ie=le[ne];ie.map&&(f.delete(ie.map),ie.map.dispose()),ie.map=ae,f.add(ae)}return ae}).catch(function(){for(var ae=0,ne=c[oe];ae<ne.length;ae++){var le=ne[ae];le.map&&(f.delete(le.map),le.map.dispose()),le.map=null,le.color=new d.Color(16777215)}return null}))},W=0,_=Object.keys(c);W<_.length;W++){var Y=_[W];G(Y)}for(var Y in i)delete i[Y];return Promise.all(J).then(function(oe){return oe.filter(function($){return $})})};return H(r).then(function(q){return{createAt:s,description:l,objects:u,textures:q,dispose:function(){f.forEach(function(J){J.dispose()}),f.clear()}}})}function fo(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 fu(n,t){var e,r,i,a={byteLength:0},o=fo((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),s={};if(t.textureArray)for(var l=0,u=t.textureArray;l<u.length;l++){var c=u[l];s[c]=co(c,o,t.fetcher)}return Promise.resolve().then(function(){return t.fetcher.ajax(n,{responseType:"arraybuffer"})}).then(function(f){return au(f.body)}).then(function(f){return Ri(function(){for(var A,m={chunks:[],createAt:void 0,description:void 0},h=0,p=f;h<p.length;h++){var y=p[h],v=uu.decode(y);v.chunks.length&&((A=m.chunks).push.apply(A,v.chunks),m.createAt=v.createAt,m.description=v.description)}return m})}).then(function(f){return Ri(function(){var A,m,h;return du(f,(A=t.textureBaseUri)!==null&&A!==void 0?A:function(){var p=n.lastIndexOf("/");if(p>=0){var y=n.slice(0,p)+"/";return/\/model\/$/.test(y)&&(y=y.replace(/\/model\/$/,"/materials/")),y}return""}(),((m=t.textureArray)!==null&&m!==void 0?m:[]).slice(),(h=t.textureOptions)!==null&&h!==void 0?h:{},s,t.fetcher)})}).then(function(f){var A=new d.Group;A.name=n;for(var m=0,h=f.objects;m<h.length;m++){var p=h[m];A.add(p)}return{type:"at3d",uri:n,byteLength:a.byteLength,scene:A,textures:f.textures,dispose:function(){return f.dispose()}}})}const We=Ur.Reader,at=Ur.util,Pe=Ur.roots["@REALSEE/FIVE:five/loaders/model/proto/dome.proto"]||(Ur.roots["@REALSEE/FIVE:five/loaders/model/proto/dome.proto"]={}),zf=Pe.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=at.emptyArray,n.decode=function(e,r){e instanceof We||(e=We.create(e));let i=r===void 0?e.len:e.pos+r,a=new Pe.Model;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:{a.meshes&&a.meshes.length||(a.meshes=[]),a.meshes.push(Pe.Mesh.decode(e,e.uint32()));break}default:e.skipType(o&7);break}}return a},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Model"},n})();Pe.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=at.emptyArray,n.prototype.matrix=at.emptyArray,n.decode=function(e,r){e instanceof We||(e=We.create(e));let i=r===void 0?e.len:e.pos+r,a=new Pe.Mesh;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:{a.name=e.string();break}case 2:{a.chunks&&a.chunks.length||(a.chunks=[]),a.chunks.push(Pe.Chunk.decode(e,e.uint32()));break}case 3:{a.matrix&&a.matrix.length||(a.matrix=[]),a.matrix.push(Pe.Matrix.decode(e,e.uint32()));break}default:e.skipType(o&7);break}}if(!a.hasOwnProperty("name"))throw at.ProtocolError("missing required 'name'",{instance:a});return a},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Mesh"},n})();Pe.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=at.emptyArray,n.decode=function(e,r){e instanceof We||(e=We.create(e));let i=r===void 0?e.len:e.pos+r,a=new Pe.Matrix;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:{if(a.elements&&a.elements.length||(a.elements=[]),(o&7)===2){let s=e.uint32()+e.pos;for(;e.pos<s;)a.elements.push(e.float())}else a.elements.push(e.float());break}default:e.skipType(o&7);break}}return a},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Matrix"},n})();Pe.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=at.emptyArray,n.decode=function(e,r){e instanceof We||(e=We.create(e));let i=r===void 0?e.len:e.pos+r,a=new Pe.Chunk;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 2:{a.geometry=Pe.Geometry.decode(e,e.uint32());break}case 3:{a.material&&a.material.length||(a.material=[]),a.material.push(Pe.Material.decode(e,e.uint32()));break}default:e.skipType(o&7);break}}if(!a.hasOwnProperty("geometry"))throw at.ProtocolError("missing required 'geometry'",{instance:a});return a},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Chunk"},n})();Pe.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=at.emptyArray,n.decode=function(e,r){e instanceof We||(e=We.create(e));let i=r===void 0?e.len:e.pos+r,a=new Pe.Geometry;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:{a.position=Pe.Position.decode(e,e.uint32());break}case 2:{a.uv=Pe.UV.decode(e,e.uint32());break}case 3:{a.uv2=Pe.UV.decode(e,e.uint32());break}case 4:{a.normal=Pe.Normal.decode(e,e.uint32());break}case 5:{a.groups&&a.groups.length||(a.groups=[]),a.groups.push(Pe.Group.decode(e,e.uint32()));break}default:e.skipType(o&7);break}}if(!a.hasOwnProperty("position"))throw at.ProtocolError("missing required 'position'",{instance:a});if(!a.hasOwnProperty("normal"))throw at.ProtocolError("missing required 'normal'",{instance:a});return a},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Geometry"},n})();Pe.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=at.emptyArray,n.decode=function(e,r){e instanceof We||(e=We.create(e));let i=r===void 0?e.len:e.pos+r,a=new Pe.Position;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:{if(a.array&&a.array.length||(a.array=[]),(o&7)===2){let s=e.uint32()+e.pos;for(;e.pos<s;)a.array.push(e.float())}else a.array.push(e.float());break}default:e.skipType(o&7);break}}return a},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Position"},n})();Pe.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=at.emptyArray,n.decode=function(e,r){e instanceof We||(e=We.create(e));let i=r===void 0?e.len:e.pos+r,a=new Pe.UV;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:{if(a.array&&a.array.length||(a.array=[]),(o&7)===2){let s=e.uint32()+e.pos;for(;e.pos<s;)a.array.push(e.float())}else a.array.push(e.float());break}default:e.skipType(o&7);break}}return a},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/UV"},n})();Pe.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=at.emptyArray,n.decode=function(e,r){e instanceof We||(e=We.create(e));let i=r===void 0?e.len:e.pos+r,a=new Pe.Normal;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:{if(a.array&&a.array.length||(a.array=[]),(o&7)===2){let s=e.uint32()+e.pos;for(;e.pos<s;)a.array.push(e.float())}else a.array.push(e.float());break}default:e.skipType(o&7);break}}return a},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Normal"},n})();Pe.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 We||(e=We.create(e));let i=r===void 0?e.len:e.pos+r,a=new Pe.Group;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:{a.start=e.uint32();break}case 2:{a.count=e.uint32();break}case 3:{a.materialIndex=e.uint32();break}default:e.skipType(o&7);break}}if(!a.hasOwnProperty("start"))throw at.ProtocolError("missing required 'start'",{instance:a});if(!a.hasOwnProperty("count"))throw at.ProtocolError("missing required 'count'",{instance:a});if(!a.hasOwnProperty("materialIndex"))throw at.ProtocolError("missing required 'materialIndex'",{instance:a});return a},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Group"},n})();Pe.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 We||(e=We.create(e));let i=r===void 0?e.len:e.pos+r,a=new Pe.Material;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:{a.kd=Pe.Color.decode(e,e.uint32());break}case 2:{a.ks=Pe.Color.decode(e,e.uint32());break}case 3:{a.ke=Pe.Color.decode(e,e.uint32());break}case 4:{a.mapkd=e.string();break}case 5:{a.mapks=e.string();break}case 6:{a.mapke=e.string();break}case 7:{a.norm=e.string();break}case 8:{a.mapbump=e.string();break}case 9:{a.bump=e.string();break}case 10:{a.mapd=e.string();break}case 11:{a.ns=e.float();break}case 12:{a.d=e.float();break}case 13:{a.tr=e.float();break}case 14:{a.mapkdrepeat=e.string();break}default:e.skipType(o&7);break}}return a},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Material"},n})();Pe.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=at.emptyArray,n.decode=function(e,r){e instanceof We||(e=We.create(e));let i=r===void 0?e.len:e.pos+r,a=new Pe.Color;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:{if(a.rgb&&a.rgb.length||(a.rgb=[]),(o&7)===2){let s=e.uint32()+e.pos;for(;e.pos<s;)a.rgb.push(e.float())}else a.rgb.push(e.float());break}default:e.skipType(o&7);break}}return a},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Color"},n})();function hu(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,pu(new Uint8Array(r.body),t.textureBaseUri||"",t.textureOptions,t.fetcher)}).then(function(r){var i=new d.Group;i.matrixAutoUpdate=!1,i.matrix.compose(i.position,i.quaternion,i.scale),i.name=n;for(var a=0,o=r.objects;a<o.length;a++){var s=o[a];i.add(s)}return{type:"dome",uri:n,byteLength:e.byteLength,scene:i,textures:r.textures,dispose:function(){return r.dispose()}}})}function Df(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 Qf(n){var t=n.position,e=n.normal,r=n.uv,i=n.uv2,a=n.groups,o=new d.BufferGeometry;o.setAttribute("position",new d.BufferAttribute(new Float32Array(t.array),3)),e&&o.setAttribute("normal",new d.BufferAttribute(new Float32Array(e.array),3)),r&&o.setAttribute("uv",new d.BufferAttribute(new Float32Array(r.array),2)),i&&o.setAttribute("uv2",new d.BufferAttribute(new Float32Array(i.array),2));for(var s=0,l=a;s<l.length;s++){var u=l[s];o.addGroup(u.start,u.count,u.materialIndex)}return o}function An(n,t,e,r,i,a,o){if(o.hasOwnProperty(n))return o[n];n=n.split("?")[0],Er(n)||(n=xt(t,n)),n=n.replace(/\/\/vrlab-image\d*.ljcdn.com\//,"//vrlab-public.ljcdn.com/"),n.indexOf("//")===0&&(n="https:"+n);var s=L({key:"texture.dome",size:64},Vt(e,["quality","format","sharpen","mappings"])),l=o[n]=i.loadTexture(n,{imageURL:{transform:e.transform,options:s},wrapS:d.RepeatWrapping,wrapT:d.RepeatWrapping,fetcher:a}).then(function(u){var c=u.body;return r&&c.repeat.copy(r),c.needsUpdate=!0,c.updateMatrix(),c});return l}function Uf(n,t,e,r,i,a,o,s){var l=[],u=new Tn("phong");if(o.add(u),n.kd&&(u.color=new d.Color().fromArray(n.kd.rgb).convertLinearToSRGB()),n.mapkd){var c=null;if(n.mapkdrepeat){var f=n.mapkdrepeat.split(/\s+/).map(function(p){return Number(p)}),A=f[0],m=f[1];c=new d.Vector2(A,m)}l.push(An(n.mapkd,t,e,c,r,i,a).then(function(p){p.encoding=d.sRGBEncoding,u.map=p,o.add(p),s.add(p),u.needsUpdate=!0}).catch(D))}if(n.ks&&(u.specular=new d.Color().fromArray(n.ks.rgb).convertLinearToSRGB()),n.mapks&&l.push(An(n.mapks,t,e,null,r,i,a).then(function(p){u.specularMap=p,o.add(p),s.add(p)}).catch(D)),n.ke&&(u.emissive=new d.Color().fromArray(n.ke.rgb).convertLinearToSRGB()),n.mapke&&l.push(An(n.mapke,t,e,null,r,i,a).then(function(p){p.encoding=d.sRGBEncoding,u.emissiveMap=p,o.add(p),s.add(p)}).catch(D)),n.norm&&l.push(An(n.norm,t,e,null,r,i,a).then(function(p){u.normalMap=p,o.add(p),s.add(p)}).catch(D)),n.mapbump&&l.push(An(n.mapbump,t,e,null,r,i,a).then(function(p){u.bumpMap=p,o.add(p),s.add(p)}).catch(D)),n.bump&&l.push(An(n.bump,t,e,null,r,i,a).then(function(p){u.bumpMap=p,o.add(p),s.add(p)}).catch(D)),typeof n.ns=="number"&&(u.shininess=n.ns),typeof n.d=="number"){var h=n.d;h>0&&h<1&&(u.opacity=h)}return u.floor=0,{material:u,textureReady:Promise.all(l).then(D)}}function qf(n){return zf.decode(n).meshes}function pu(n,t,e,r){for(var i=[],a=[],o=new Set,s=qf(n),l=new ti,u=new d.Matrix4,c=new d.Vector3,f=new d.Quaternion,A=new d.Vector3,m={},h=new Set,p=0,y=s;p<y.length;p++){var v=y[p],g=v.name,x=v.chunks,b=v.matrix;if(!(g==="Ceiling"||g==="CeilingDrop"))for(var w=0,E=b;w<E.length;w++){var I=E[w];u.elements=I.elements;for(var M=new d.Group,k=0;k<x.length;k++){var B=Qf(x[k].geometry);B.applyMatrix4(u),u.decompose(c,f,A),A.x*A.y*A.z<0&&B.attributes.normal&&B.attributes.position&&B.attributes.uv&&Df(B),o.add(B);for(var C=[],T=0,O=x[k].material;T<O.length;T++){var P=O[T],F=Uf(P,t||"",e,l,r,m,o,h),V=F.material,z=F.textureReady;a.push(z),C.push(V)}var j=new Dt(B,C);j.name="chunk_"+k,j.matrix.compose(j.position,j.quaternion,j.scale),j.matrixAutoUpdate=!1,j.frustumCulled=!1,M.add(j)}M.name=g,i.push(M)}}return Promise.all(a).catch(D).then(function(){return{createAt:0,description:"",objects:i,textures:Array.from(h),dispose:function(){o.forEach(function(K){K.dispose()}),o.clear()}}})}function vu(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,au(r.body)}).then(function(r){var i=r.reduce(function(s,l){return s+l.length},0),a=new Uint8Array(i),o=0;return r.forEach(function(s){a.set(s,o),o+=s.length}),a}).then(function(r){return pu(r,t.textureBaseUri||"",t.textureOptions,t.fetcher)}).then(function(r){var i=new d.Group;i.name=n;for(var a=0,o=r.objects;a<o.length;a++){var s=o[a];i.add(s)}return{type:"domez",uri:n,byteLength:e.byteLength,scene:i,textures:r.textures,dispose:function(){return r.dispose()}}})}var Hf=new d.Matrix4().fromArray([1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1]);function Au(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 lo(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 d.Matrix4;if(t.upAxis!=="Z"&&i.premultiply(Hf),r.CESIUM_RTC){var a=new d.Matrix4().setPosition(r.CESIUM_RTC.center);i.premultiply(a)}var o=r.scene;return o.applyMatrix4(i),{type:"glb",uri:n,byteLength:e,scene:o,textures:r.textures,dispose:function(){return r.dispose()}}})}new d.Vector3;var vs=new d.Matrix4;function fa(n,t){n.name=t.id;var e=t.tileset.properties.floorInfo;n.traverse(function(r){if("floor"in t.extras){if(r instanceof d.Mesh||r instanceof d.Points)for(var i=Array.isArray(r.material)?r.material:r.material?[r.material]:[],a=0,o=i;a<o.length;a++){var s=o[a];(s instanceof Tn||s instanceof uo)&&(s.floor=t.extras.floor)}}else if(!(r instanceof wr)){if(r instanceof Dt&&e){for(var l=new d.Box3().expandByObject(r),u=l.getCenter(new d.Vector3),c=0,f=0;f<e.length;f++){var A=e[f],m=A.ground,h=A.height;if(u.y<m+h){c=f;break}}t.floor=c,r.material.forEach(function(p){return p.floor=c})}}})}function Gf(n,t){if(!n.content)return Promise.resolve(null);var e=n.content,r=X0(e.uri,t.search);if(n.type==="TILESET"){var i=It(r,{key:"model.".concat(n.siblingIndex)});return t.fetcher.ajax(i,{responseType:"text"}).then(function(a){return a.body}).then(function(a){var o=r.slice(0,r.lastIndexOf("/")+1);return mi(JSON.parse(a),o)}).then(function(a){n.children.length===0&&(n.children=[new so("".concat(n.id,".0"),a.root,n.tileset,n)])}).then(function(){return null})}return n.type==="SCENEGRAPH"?Promise.resolve().then(function(){var a,o,s,l,u,c,f,A,m,h,p="",y=r.split("#"),v=y[0],g=y[1],x=(g||v).split("?")[0].match(/\.([0-9a-zA-Z]+)$/);if(x&&(p=x[1]),p==="b3dm"){var b=It(r,{key:"model.".concat(n.siblingIndex)});return $0(b,{upAxis:n.tileset.asset.gltfUpAxis,fetcher:t.fetcher}).then(function(w){return w.scene.applyMatrix4(n.transform),w.scene.updateWorldMatrix(!1,!0),w.scene.matrixAutoUpdate=!1,fa(w.scene,n),w})}if(p==="pnts"){var b=It(r,{key:"model.".concat(n.siblingIndex)});return tu(b,{fetcher:t.fetcher,computeBoundingBox:!1}).then(function(E){if(E.scene.applyMatrix4(n.transform),E.scene.updateWorldMatrix(!1,!0),E.scene.matrixAutoUpdate=!1,n.boundingVolume){var I=n.boundingVolume;E.scene.traverse(function(M){if(M instanceof wr){vs.getInverse(M.matrixWorld);var k=new d.Box3;I.getBoundingBox(k),k.applyMatrix4(vs),M.geometry.boundingBox=k}})}return fa(E.scene,n),E})}if(p==="glb"){var b=It(r,{key:"model.".concat(n.siblingIndex)});return Au(b,{upAxis:n.tileset.asset.gltfUpAxis,fetcher:t.fetcher}).then(function(E){return E.scene.applyMatrix4(n.transform),E.scene.updateWorldMatrix(!1,!0),E.scene.matrixAutoUpdate=!1,fa(E.scene,n),E})}if(p==="at3d"){var b=n.extras.at3d?r:It(r,{key:"model.".concat(n.siblingIndex)});return fu(b,{textureBaseUri:(a=n.extras.at3d)===null||a===void 0?void 0:a.textureBaseUri,textureArray:(o=n.extras.at3d)===null||o===void 0?void 0:o.textureArray,textureOptions:(s=n.extras.at3d)===null||s===void 0?void 0:s.textureOptions,fetcher:t.fetcher}).then(function(E){return E.scene.applyMatrix4(n.transform),E.scene.updateWorldMatrix(!1,!0),E.scene.matrixAutoUpdate=!1,E})}if(p==="pbm"){var b=n.extras.pbm?r:It(r,{key:"model.".concat(n.siblingIndex)});return lu(b,{textureBaseUri:(l=n.extras.pbm)===null||l===void 0?void 0:l.textureBaseUri,textureArray:(u=n.extras.pbm)===null||u===void 0?void 0:u.textureArray,textureOptions:(c=n.extras.pbm)===null||c===void 0?void 0:c.textureOptions,fetcher:t.fetcher}).then(function(E){return E.scene.applyMatrix4(n.transform),E.scene.updateWorldMatrix(!1,!0),E.scene.matrixAutoUpdate=!1,E})}if(p==="dome"){var b=n.extras.dome?r:It(r,{key:"model.".concat(n.siblingIndex)});return hu(b,{textureBaseUri:(f=n.extras.dome)===null||f===void 0?void 0:f.textureBaseUri,textureOptions:(A=n.extras.dome)===null||A===void 0?void 0:A.textureOptions,fetcher:t.fetcher}).then(function(E){return E.scene.applyMatrix4(n.transform),E.scene.updateWorldMatrix(!1,!0),E.scene.matrixAutoUpdate=!1,E})}if(p==="domez"){var b=n.extras.domez?r:It(r,{key:"model.".concat(n.siblingIndex)});return vu(b,{textureBaseUri:(m=n.extras.domez)===null||m===void 0?void 0:m.textureBaseUri,textureOptions:(h=n.extras.domez)===null||h===void 0?void 0:h.textureOptions,fetcher:t.fetcher}).then(function(E){return E.scene.applyMatrix4(n.transform),E.scene.updateWorldMatrix(!1,!0),E.scene.matrixAutoUpdate=!1,E})}return null}).then(function(a){if(!a)return Promise.resolve(null);a.scene.traverse(function(s){if(s instanceof wr)s.material.uniforms.geometricError.value=n.geometricError;else if(s instanceof Dt)for(var l=0,u=s.material;l<u.length;l++){var c=u[l];c.uniforms.geometricError.value=n.geometricError}});var o={type:a.type,uri:a.uri,byteLength:a.byteLength,object:new j0(a.scene,a.dispose)};return o.object.name=n.id,Promise.resolve().then(function(){return Promise.all([o.object.generateBvhTree(),t.renderer&&a.textures.length<16?Vd(a.textures,t.renderer,1024*1024):null])}).then(function(){return o}).catch(function(s){return Qa(o),Promise.reject(s)})}):Promise.resolve(null)}function Qa(n){n&&n.object.dispose()}function Fn(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,a=0;a<i;a++)r+=Fn(n[a],!1)+",";return i>-1&&(r+=Fn(n[a],!1)),r+"]"}if(n instanceof Object){if(typeof n.toJSON=="function")return Fn(n.toJSON(),t);for(var o=Object.keys(n).sort(),s=o.length,r="",a=0;a<s;){var l=o[a],u=Fn(n[l],!0);u!==void 0&&(a&&r!==""&&(r+=","),r+=JSON.stringify(l)+":"+u),a++}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 ho(n){return"hash::".concat(Fn(n,!1))}var As=new d.Vector3,Kf=new d.Matrix3,jf=new d.Matrix4,ut=6378137,mu=298.257223563;function gu(n){for(var t=ut-ut/mu,e=(ut*ut-t*t)/(ut*ut),r=Math.sqrt(n.x*n.x+n.y*n.y),i=1e-12,a=1e3,o=0,s=Math.atan2(n.z,r),l=0;o++<a;){var u=Math.sin(s),c=ut/Math.sqrt(1-e*u*u);l=r/Math.cos(s)-c;var f=Math.atan2(n.z/(c*(1-e)+l),r/(c+l));if(isNaN(f))break;var A=Math.abs(f-s);if(A<i)break;s=f}return n.set(s,Math.atan2(n.y,n.x),l)}function Jf(n){var t=n.x,e=n.y,r=n.z,i=ut-ut/mu,a=(ut*ut-i*i)/(ut*ut),o=Math.sin(t),s=Math.cos(t),l=Math.sin(e),u=Math.cos(e),c=ut/Math.sqrt(1-a*o*o),f=(c+r)*s*u,A=(c+r)*s*l,m=(i*i/(ut*ut)*c+r)*o;return n.set(f,A,m)}function Xf(n,t){var e=gu(As.copy(n)),r=e.x,i=e.y,a=e.z,o=Math.sin(r),s=Math.sin(i),l=Math.cos(r),u=Math.cos(i);t.fromArray([-s,-o*u,l*u,0,+u,-o*s,l*s,0,0,l,o,0,0,0,0,1]);var c=Kf.setFromMatrix4(t),f=As.copy(n).applyMatrix3(c).multiplyScalar(-1);t.setPosition(f);var A=jf.fromArray([1,0,0,0,0,1,0,0,0,0,1,0,0,0,a,1]);return t.premultiply(A),t}var Wt={TILE_MASK:128,SKIP_LOD_MASK:112,SKIP_LOD_BIT_SHIFT:4,CLASSIFICATION_MASK:15},ms=function(){var n=new d.MeshBasicMaterial;return n.side=d.BackSide,n.color.setHex(16711935),n.colorWrite=!1,n.stencilWrite=!0,n.polygonOffset=!0,n.polygonOffsetFactor=2,n.polygonOffsetUnits=2,n.stencilRef=Wt.TILE_MASK,n.stencilFunc=d.AlwaysStencilFunc,n.stencilFuncMask=Wt.TILE_MASK,n.stencilZPass=d.ReplaceStencilOp,n.stencilWriteMask=Wt.TILE_MASK,n}(),gs=function(){var n=new d.MeshBasicMaterial;return n.visible=!1,n}(),Wf=new d.BufferGeometry,_f=new d.MeshBasicMaterial,en=function(n){ue(t,n);function t(e,r,i){var a,o,s,l=n.call(this)||this;return l.modelIndex=0,l.debug=!1,l.name=i.name,l.type=i.type,l.upAxis=i.upAxis,l.model=e,l.fetcher=i.fetcher,l.search=(a=i.search)!==null&&a!==void 0?a:"",l.groundHeight=i.groundHeight,l.coordinateTransform=i.coordinateTransform,l.unloadTileQueue=[],l.boundingBox=new d.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.lastRenderHash="",l.matrixAutoUpdate=!1,l.cacheCameras=[],l.clearStencilObject=new d.Mesh(Wf,_f),l.clearStencilObject.frustumCulled=!1,l.clearStencilObject.onAfterRender=function(u){return u.clearStencil()},l.tileset=new gn((s=(o=l.model.work)===null||o===void 0?void 0:o.workCode)!==null&&s!==void 0?s:"",r,{referer:i.referer,contentLoader:function(u){return l.loadContent(u)},onTileLoad:function(){},onTileUnload:function(u){l.unloadTileQueue.push(u)},onTileError:function(u,c){i.onError&&i.onError(Object.assign(c,{error:c})),console.error("Tile error",u.id,c)}}),l.tileset.root.boundingVolume&&l.tileset.root.boundingVolume.getBoundingBox(l.boundingBox),l}return t.prototype.getRenderHash=function(){return ho([this.tileset.id,this.tileset.skipLevelOfDetail,this.tileset.selectedTiles.map(function(e){return e.id}),this.debug])},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,"skipLevelOfDetail",{get:function(){return this.tileset.skipLevelOfDetail},set:function(e){this.tileset.skipLevelOfDetail=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"loadSiblings",{get:function(){return this.tileset.loadSiblings},set:function(e){this.tileset.loadSiblings=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.localToEnu=function(e){return e.applyMatrix4(this.coordinateTransform.localToEnuMatrix)},t.prototype.enuToLocal=function(e){return e.applyMatrix4(this.coordinateTransform.enuToLocalMatrix)},t.prototype.localToEcef=function(e){return e.applyMatrix4(this.coordinateTransform.localToEcefMatrix)},t.prototype.ecefToLocal=function(e){return e.applyMatrix4(this.coordinateTransform.ecefToLocalMatrix)},t.prototype.localToLla=function(e){return gu(this.localToEcef(e))},t.prototype.llaToLocal=function(e){return this.ecefToLocal(Jf(e))},t.prototype.worldToEnu=function(e){return this.localToEnu(this.worldToLocal(e))},t.prototype.enuToWorld=function(e){return this.localToWorld(this.enuToLocal(e))},t.prototype.worldToEcef=function(e){return this.localToEcef(this.worldToLocal(e))},t.prototype.ecefToWorld=function(e){return this.localToWorld(this.ecefToLocal(e))},t.prototype.worldToLla=function(e){return this.localToLla(this.worldToLocal(e))},t.prototype.llaToWorld=function(e){return this.localToWorld(this.llaToLocal(e))},t.prototype.loadContent=function(e){var r=this;return Gf(e,{fetcher:this.fetcher,search:this.search,renderer:this.renderer}).then(function(i){return e.type==="TILESET"?!0:i&&e.type==="SCENEGRAPH"?r.disposed||!e.content?(Qa(i),!1):(e.content.data=i,e.content.byteLength=i.byteLength,e.content.data&&(e.content.data.object.traverse(function(a){(a instanceof wr||a instanceof Dt)&&(a.model=r.model)}),r.boundingBox.expandByObject(e.content.data.object)),!0):!1})},t.prototype.unloadContent=function(e){e.content&&(e.content.byteLength=0,Qa(e.content.data),e.content.data=void 0)},t.prototype.loadAllTilesets=function(){var e=this,r=function(i){var a=[];return e.tileset.root.traverse(function(o){var s;o.type==="TILESET"&&((s=o.content)===null||s===void 0?void 0:s.loadState)!=="READY"&&a.push(o)}),Promise.all(a.map(function(o){return e.loadContent(o).then(function(){return r()})})).then(function(){})};return r(this.tileset.root)},t.prototype.intersectRaycaster=function(e,r,i){var a=this;r===void 0&&(r=!0),i===void 0&&(i=[]);for(var o=[this.tileset.root],s=this.tileset.transform,l=this.tileset.transformIsIdentity,u,c=[];u=o.pop();){var f=void 0;if(u.boundingVolume){var A=l?u.boundingVolume:u.boundingVolume.clone().applyMatrix4(s);f=A.intersectRay(e.ray,e.far)}else f=!0;if(f){for(var m=0,h=u.children.length;m<h;m++)o.push(u.children[m]);u.selected&&u.content&&u.content.data&&u.content.data.object.visible&&u.content.data.object.intersectRaycaster(e,!1,c)}}return this.model.shownFloorIndex>=0&&(c=c.filter(function(p){return p.floor===a.model.shownFloorIndex})),r&&c.sort(function(p,y){return p.distance-y.distance}),c.map(function(p){p.model=a.model,p.viewLayer=a.viewLayer}),i.push.apply(i,c),i},t.prototype.cloneSkipBackfaceObject=function(e){var r;e instanceof d.Mesh?r=new d.Mesh(e.geometry,Array.isArray(e.material)?e.material.map(function(s){return s.transparent?gs:ms}):e.material&&e.material.transparent?gs:ms):e instanceof d.Group?r=new d.Group:r=new d.Object3D,r.copy(e,!1);for(var i=0,a=e.children;i<a.length;i++){var o=a[i];r.add(this.cloneSkipBackfaceObject(o))}return r},t.prototype.update=function(e,r){var i=this,a,o;this.renderer=e,this.tileset.transform.equals(this.matrixWorld)||this.tileset.transform.copy(this.matrixWorld),this.tileset.cache.reset(),this.tileset.frameNumber++;var s=this.visible,l=Math.max(this.maxLevelOfDetail,0),u=Math.min(this.minLevelOfDetail,l),c=Math.max(u,0),f={camera:{type:r.type,position:new d.Vector3().copy(r.position),direction:r.getDirection(new d.Vector3),near:r.near,far:r.far,up:new d.Vector3().copy(r.up),visible:r.visible,refine:r.refineModel},minLevelOfDetail:u,maxLevelOfDetail:s&&!this.idle&&this.loaded?l:c,maxScreenSpaceError:this.maxScreenSpaceError,height:r.resolution.height,pixelRatio:r.pixelRatio,frameNumber:this.tileset.frameNumber,sseDenominator:2*Math.tan(.5*r.fov/180*Math.PI),cullingVolume:new Qn().setFromCamera(r)},A=this.cacheCameras.map(function(T){return L(L({},f),{camera:{type:r.type,position:new d.Vector3().copy(T.position),direction:T.getWorldDirection(new d.Vector3),near:r.near,far:r.far,up:new d.Vector3().copy(T.up),visible:T.visible,refine:!0},cullingVolume:new Qn().setFromCamera(T)})});this.tileset.traverse(f,A),this.refined=!0,this.refineProgress[0]=0,this.refineProgress[1]=0,this.tileset.needsRefinedTiles.forEach(function(T){if(i.refineProgress[1]++,T.content&&T.state.visible){var O=T.content.loadState;if(O==="UNLOADED"||O==="LOADING"){i.refined=!1;return}}i.refineProgress[0]++}),this.loaded===!1&&this.tileset.needsRefinedTiles.size>0&&(this.loaded=!0,this.tileset.needsRefinedTiles.forEach(function(T){if(i.loaded!==!1){if(i.tileset.skipLevelOfDetail){if(T.state.finalResolution&&T.content){var O=T.state.ancestorWithContentAvailable,P=O&&O.content?O.content:T.content,F=P.loadState;(F==="UNLOADED"||F==="LOADING")&&(i.loaded=!1)}}else if(T.state.visible&&T.content&&T.levelOfContent<=0){var F=T.content.loadState;(F==="UNLOADED"||F==="LOADING")&&(i.loaded=!1)}}}),this.loaded===!0&&(this.refined=!1,this.refineProgress[1]++));for(var m;m=this.unloadTileQueue.pop();)this.unloadContent(m);this.remove.apply(this,this.children);var h=[],p=[],y=[];this.tileset.skipLevelOfDetail||this.tileset.selectedTiles.sort(function(T,O){return T.floor-O.floor});for(var v=function(T){g.debug&&T.boundingVolumeDebugObject&&p.push(T.boundingVolumeDebugObject);var O=(o=(a=T.content)===null||a===void 0?void 0:a.data)===null||o===void 0?void 0:o.object;if(!O)return"continue";if(g.tileset.skipLevelOfDetail&&g.tileset.hasMixedContent&&!T.state.finalResolution){var P=g.cloneSkipBackfaceObject(O);h.push(P)}var F=T.state.selectionDepth,V=Wt.TILE_MASK|F<<Wt.SKIP_LOD_BIT_SHIFT,z=d.GreaterEqualStencilFunc,j=Wt.SKIP_LOD_MASK,K=d.ReplaceStencilOp,H=Wt.TILE_MASK|Wt.SKIP_LOD_MASK;O.traverse(function(q){if(q instanceof d.Mesh)for(var J=Array.isArray(q.material)?q.material:q.material?[q.material]:[],G=0,W=J;G<W.length;G++){var _=W[G];i.tileset.hasMixedContent&&i.tileset.skipLevelOfDetail?(_.stencilWrite=!0,_.stencilRef=V,_.stencilFunc=z,_.stencilFuncMask=j,_.stencilZPass=K,_.stencilWriteMask=H):(_.stencilWrite=!1,_.stencilRef=Wt.TILE_MASK,_.stencilFunc=d.AlwaysStencilFunc,_.stencilFuncMask=Wt.TILE_MASK,_.stencilZPass=d.ReplaceStencilOp,_.stencilWriteMask=Wt.TILE_MASK)}}),y.push(O)},g=this,x=0,b=this.tileset.selectedTiles;x<b.length;x++){var w=b[x];v(w)}var E=[];this.tileset.skipLevelOfDetail&&E.push.apply(E,h),E.push.apply(E,y),this.tileset.skipLevelOfDetail&&E.push(this.clearStencilObject),this.debug&&E.push.apply(E,p);for(var I=this.modelIndex*1e4,M=function(T){var O=E[T],P=T+I;O.traverse(function(F){(F instanceof d.Mesh||F instanceof d.Line||F instanceof d.Points)&&(F.renderOrder=P)}),k.add(O)},k=this,B=0;B<E.length;B++)M(B);var C=this.getRenderHash();this.lastRenderHash!==C&&(this.needsRender=!0,this.lastRenderHash=C)},t.prototype.dispose=function(){this.disposed=!0,this.viewLayer=void 0,this.tileset.reset();for(var e;e=this.unloadTileQueue.pop();)this.unloadContent(e)},t.DEFAULT_MIN_LEVEL_OF_DETAIL=0,t.DEFAULT_MAX_LEVEL_OF_DETAIL=20,t.DEFAULT_MAX_MEMORY_USAGE=16,t.DEFAULT_MAX_SCREEN_SPACE_ERROR=gn.DEFAULT_MAX_SCREEN_SPACE_ERROR,t.DEFAULT_SKIP_LEVEL_OF_DETAIL=gn.DEFAULT_SKIP_LEVEL_OF_DETAIL,t.DEFAULT_LOAD_SIBLINGS=gn.DEFAULT_LOAD_SIBLINGS,t.DEFAULT_MAX_REQUESTS=gn.DEFAULT_MAX_REQUESTS,t}(d.Object3D);function Zf(n){return-((n-.25)*360+90)/180*Math.PI}function Ua(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(!Ua(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 a=i[r];if(!Ua(n[a],t[a]))return!1}return!0}return n!==n&&t!==t}function Jt(n){return typeof n=="number"}var ys=function(){return new Error("Invalid input.")},bs=function(){return new Error("Invalid certificate.")},xs=function(){return new Error("Invalid signature.")},Yf=function(n){return new Error("date(".concat(n.toString(),") expired."))},$f=function(n){return new Error("host(".concat(JSON.stringify(n),") is not allowed."))};function eh(n,t){for(var e={},r=0,i=Object.keys(n);r<i.length;r++){var a=i[r];t.indexOf(a)===-1&&(e[a]=n[a])}return e}function Ln(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,a=0;a<i;a++)r+=Ln(n[a],!1)+",";return i>-1&&(r+=Ln(n[a],!1)),r+"]"}if(n instanceof Object){if(typeof n.toJSON=="function")return Ln(n.toJSON(),t);for(var o=Object.keys(n).sort(),s=o.length,r="",a=0;a<s;){var l=o[a],u=Ln(n[l],!0);u!==void 0&&(a&&r!==""&&(r+=","),r+=JSON.stringify(l)+":"+u),a++}return"{"+r+"}"}switch(e){case"function":case"undefined":return t?void 0:null;case"number":return 0;default:return isFinite(n)?n:null}}function th(n){return String(Ln(n,!1))}function yu(n){var t,e,r;if(Array.isArray(n)){var i=void 0,a,o;if(n.length<=0)return ys();for(var s=function(w){var E=yu(n[w]);if(E instanceof Error)return{value:E};if(!i)i=E.issuer;else if(i!==E.issuer)return{value:bs()};a?E.expire.getTime()<a.getTime()&&(a=E.expire):a=E.expire,o?o=o.filter(function(I){return E.allowHosts.indexOf(I)!==-1}):o=E.allowHosts},l=0;l<n.length;l++){var u=s(l);if(typeof u=="object")return u.value}return yn({issuer:i,expire:a,allowHosts:o})}var c=JSON.parse(n),f=typeof location!="undefined"?location.hostname:"",A=Date.now();if(typeof c!="object")return ys();var m=new Date(typeof c.expire_at=="string"&&/^\d+$/.test(c.expire_at)?Number(c.expire_at):c.expire_at),h=Array.isArray(c.allow_hosts)?c.allow_hosts:[];if(f.length===0||on(f)||ur.filter(function(w){return qr(w,f)}).length>0){var p=String((t=c.certificate)!==null&&t!==void 0?t:"");if(p){var y=new He;return y.readCertPEM(p),yn({issuer:y.getSubjectString(),expire:m,allowHosts:h})}return yn({issuer:"none",expire:m,allowHosts:h})}var v=String((e=c.certificate)!==null&&e!==void 0?e:"");if(!v)return bs();var g=new He;g.readCertPEM(v);var x=String((r=c._signature)!==null&&r!==void 0?r:"");if(!x)return xs();var b=th(eh(c,["_signature"]));return lc(b,x,g)===!1?xs():A<m.getTime()?h.filter(function(w){return qr(w,f)}).length===0?$f(f):yn({issuer:g.getSubjectString(),expire:m,allowHosts:h}):Yf(m)}var ws=new d.Matrix4,po=new WeakMap,vo=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 d.Matrix4;{var r=this;this.options={get transform(){return r.transform},set transform(a){r.transform.copy(a)}}}var i=nh(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=Gn,n}();function ms(n){return n==null?"null":Array.isArray(n)?"array":typeof n=="object"?"dict":"value"}function Na(n,t){var e=ms(n),r=ms(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]=Na(n[i],t[i]);else if(r==="dict")for(var a in t)n[a]=Na(n[a],t[a]);return n}function lo(n,t){return n.indexOf(t)===0}function co(n,t,e,r){var i,a=t;if(r.jsonp===!0){a=t.replace(/([\?\#].*)?$/i,"");var o=Lo("".concat(a)).slice(0,7);a="".concat(a,".").concat(o,".jsonp")}if(r.shortPath===!0){var s=a.replace(n,"").split("."),u=(i=s.shift())!==null&&i!==void 0?i:"",l=s.join(".");a=xt(n,Lo(u))+(l?"."+l:"")}var c=a.replace(n,"");return r.baseURL&&(a=xt(r.baseURL,c)),r.traverseResource&&r.traverseResource({origin:t,absolute:a,relative:c,type:e}),a}function tt(n,t,e,r,i){var a=e;return Er(e)||(t&&(t=xt(t,String(r))),a=xt(t,a)),Er(a)||(a=xt(n,a)),lo(a,n)||console.warn("".concat(a," is not start with base_url(").concat(n,").")),co(n,a,"panorama",i)}function kn(n,t,e){var r=t;return Er(r)||(r=xt(n,t)),lo(r,n)||console.warn("".concat(r," is not start with base_url(").concat(n,").")),co(n,r,"model",e)}function oi(n,t,e,r){var i=t;return Er(i)||(i=xt(e,i)),Er(i)||(i=xt(n,i)),lo(i,n)||console.warn("".concat(i," is not start with base_url(").concat(n,").")),co(n,i,"texture",r)}var gs=function(n){for(var t=0;t<10;t++){var e=512*Math.pow(2,t);if(e>=n)return t}return null},qf=function(n){n=n.slice().sort(function(o,s){return o.level-s.level});for(var t=[],e=0,r=n;e<r.length;e++){var i=r[e];if(t.length===0){t.push(i);continue}var a=t[t.length-1];if(i.level>a.level){t.push(i);continue}if(i.size>a.size){t[t.length-1]=i;continue}}return t};function Hf(n,t,e){for(var r,i,a,o,s,u,l,c,h,A,m,f,v,y,p,g,x,b,w,E=JSON.stringify(t),M=[],C=0,I=[].concat(n);C<I.length;C++){var S=I[C];S instanceof uo?M.push.apply(M,S.raw.works):typeof S=="string"?M.push(S):M.push(JSON.stringify(S))}var P=lu(M);if(P instanceof Error)return P;Array.isArray(t.transform)?e.transform.fromArray(t.transform):t.transform&&e.transform.copy(t.transform),n=M.map(function(ee){return JSON.parse(ee)}).reduce(function(ee,re){return Na(ee,re)}),Object.defineProperty(e,"raw",{configurable:!1,get:function(){return{works:M,options:E}}});{var B;if(t.workCode&&(typeof t.workCode=="string"?B=t.workCode:typeof t.workCode=="function"&&(B=t.workCode(n))),typeof B=="undefined"&&(B=String(n.resource_code||n.basic_code||n.vr_code||n.code||n.project_id||n.work_code||n.workCode)),typeof B=="undefined")return new Error("WorkCode never matched.");Object.defineProperty(e,"workCode",{configurable:!1,get:function(){return B}})}{var L=String(n.name);Object.defineProperty(e,"name",{configurable:!1,get:function(){return L}})}if(P instanceof Error)return P;Object.defineProperty(e,"issuer",{configurable:!1,get:function(){return P.issuer}}),Object.defineProperty(e,"expire",{configurable:!1,get:function(){return P.expire}}),Object.defineProperty(e,"allowHosts",{configurable:!1,get:function(){return P.allowHosts}});var k=(r=n.base_url)!==null&&r!==void 0?r:"";if(k&&k[k.length-1]!=="/"&&(k+="/"),P instanceof Error)return P;if(n.model){var O={work:e,layers:[]},z;n.model.file?z=kn(k,n.model.file,t):n.model.file_url&&(z=kn(k,n.model.file_url,t)),Object.defineProperty(O,"file",{configurable:!1,get:function(){return z}});var N;n.model.textureBase?N=oi(k,"",n.model.textureBase,t):n.model.material_base_url?N=oi(k,"",n.model.material_base_url,t):O.file&&(N=O.file.split("/").slice(0,-1).join("/").replace("/model/","/materials/")),Object.defineProperty(O,"textureBase",{configurable:!1,get:function(){return N}});var X;Array.isArray(n.model.textures)?(X=n.model.textures.map(function(ee){var re,U;return oi(k,ee,(U=(re=n.model.textureBase)!==null&&re!==void 0?re:n.model.material_base_url)!==null&&U!==void 0?U:"",t)}),Object.freeze(X)):Array.isArray(n.model.material_textures)&&(X=n.model.material_textures.map(function(ee){var re,U;return oi(k,ee,(U=(re=n.model.textureBase)!==null&&re!==void 0?re:n.model.material_base_url)!==null&&U!==void 0?U:"",t)}),Object.freeze(X)),Object.defineProperty(O,"textures",{configurable:!1,get:function(){return X}});var G=[];if(Array.isArray(n.model.tiles))for(var Q=0,H=n.model.tiles;Q<H.length;Q++){var K=H[Q];K&&(K.tileset||K.tileset_url)&&G.push(Object.freeze({type:(i=K.type)!==null&&i!==void 0?i:"mesh",name:(a=K.name)!==null&&a!==void 0?a:"",upAxis:(s=(o=K.upAxis)!==null&&o!==void 0?o:K.up_axis)!==null&&s!==void 0?s:"-Y",tileset:kn(k,K.tileset||K.tileset_url,t)}))}else n.model.tiles&&(n.model.tiles.tileset||n.model.tiles.tileset_url)&&G.push(Object.freeze({type:(u=n.model.tiles.type)!==null&&u!==void 0?u:"mesh",name:(l=n.model.tiles.name)!==null&&l!==void 0?l:"lod",upAxis:(h=(c=n.model.tiles.upAxis)!==null&&c!==void 0?c:n.model.tiles.up_axis)!==null&&h!==void 0?h:"-Y",tileset:kn(k,n.model.tiles.tileset||n.model.tiles.tileset_url,t)}));if(Array.isArray(n.model.layers))for(var j=0,J=n.model.layers;j<J.length;j++){var Z=J[j];Z&&(Z.tileset||Z.tileset_url)&&G.push(Object.freeze({type:(A=Z.type)!==null&&A!==void 0?A:"mesh",name:(m=Z.name)!==null&&m!==void 0?m:"",upAxis:(f=Z.upAxis)!==null&&f!==void 0?f:Z.up_axis,tileset:kn(k,Z.tileset||Z.tileset_url,t)}))}Object.freeze(G),Object.defineProperty(O,"layers",{configurable:!1,get:function(){return G}}),Object.defineProperty(e,"model",{configurable:!1,get:function(){if(O.file||O.layers.length)return O}})}if(P instanceof Error)return P;var Y=new Set,fe=new Set;{var $=[];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 ie=function(ee){var re={},U=n.observers[ee];if(!U)return"break";var Ve=ae[ee];if(!Ve)return"break";U=Object.assign({},U,Ve,{active:U.active!==!1&&Ve.active!==!1}),Object.defineProperty(re,"work",{configurable:!1,get:function(){return e}}),Object.defineProperty(re,"index",{configurable:!1,get:function(){return ee}}),fe.add(ee),Object.defineProperty(re,"panoIndex",{configurable:!1,get:function(){return ee}});var ke=ze({workCode:e.workCode,panoIndex:ee});Y.add(ke),Object.defineProperty(re,"panoId",{configurable:!1,get:function(){return ke}});var Te=Object.freeze({workCode:e.workCode,panoIndex:ee});Object.defineProperty(re,"pano",{configurable:!1,get:function(){return Te}});var Ge=U.active!==!1;Object.defineProperty(re,"active",{configurable:!1,get:function(){return Ge}});var be=U.loadable===!0;Object.defineProperty(re,"loadable",{configurable:!1,get:function(){return be}});var ye=U.derived_id;Object.defineProperty(re,"derivedId",{configurable:!1,get:function(){return ye}});var ge=U.derived_id_str;Object.defineProperty(re,"derivedIdStr",{configurable:!1,get:function(){return ge}});var me=(b=(g=(y=(v=n.panorama)===null||v===void 0?void 0:v.pano_high_cube_base_url)!==null&&y!==void 0?y:(p=n.panorama)===null||p===void 0?void 0:p.pano_cube_base_url)!==null&&g!==void 0?g:(x=n.panorama)===null||x===void 0?void 0:x.base_url)!==null&&b!==void 0?b:"",Ae={up:tt(k,me,U.images?U.images.up:U.up,ee,t),down:tt(k,me,U.images?U.images.down:U.down,ee,t),right:tt(k,me,U.images?U.images.right:U.right,ee,t),left:tt(k,me,U.images?U.images.left:U.left,ee,t),front:tt(k,me,U.images?U.images.front:U.front,ee,t),back:tt(k,me,U.images?U.images.back:U.back,ee,t)};if(U.size_list)Ae.sizeList=U.size_list.slice();else{var Qe=jn(Ae.up);if(Qe&&(Ae.sizeList=[Qe],U.tiles))for(var Ke=U.tiles.slice().sort(function(qe,nt){return qe-nt}).map(function(qe){return 512*Math.pow(2,qe)}),rt=0,Kr=Ke;rt<Kr.length;rt++){var Fe=Kr[rt];Fe>Qe&&Ae.sizeList.push(Fe)}}var Ze=U.images?U.images.luminance:U.luminance;Ze&&(Ae.luminance=Object.freeze({up:tt(k,me,Ze.up,ee,t),down:tt(k,me,Ze.down,ee,t),right:tt(k,me,Ze.right,ee,t),left:tt(k,me,Ze.left,ee,t),front:tt(k,me,Ze.front,ee,t),back:tt(k,me,Ze.back,ee,t)}));var ot=void 0;if(U.images)ot=U.images.tiles;else if(Array.isArray(U.size_list)){var $t=U.size_list.slice().sort(function(qe,nt){return qe-nt});if($t[0]){var sn=gs($t[0]);if(sn)for(var er=sn-1;er>=0;er--)$t.unshift(512*Math.pow(2,er));ot=$t}}else Array.isArray(U.tiles)&&(ot=U.tiles.slice(),typeof ot[0]=="number"&&(ot=ot.sort(function(qe,nt){return qe-nt}).map(function(qe){return 512*Math.pow(2,qe)})));if(ot){for(var It=[],tr=0,Cr=ot;tr<Cr.length;tr++){var Fe=Cr[tr];if(typeof Fe=="number"){var Ut=gs(Fe);if(typeof Ut!="number")continue;var rr=jn(Ae.front);if(!rr)continue;if(Fe>rr){var qt=Ft(Ae.up,Fe),lt=Ft(Ae.down,Fe),Le=Ft(Ae.right,Fe),dr=Ft(Ae.left,Fe),At=Ft(Ae.front,Fe),fr=Ft(Ae.back,Fe);It.push(Object.freeze({level:Ut,size:Fe,scale:1,up:qt,down:lt,right:Le,left:dr,front:At,back:fr}))}else{var qt=Ae.up,lt=Ae.down,Le=Ae.right,dr=Ae.left,At=Ae.front,fr=Ae.back;It.push(Object.freeze({level:Ut,size:rr,scale:Fe/rr,up:qt,down:lt,right:Le,left:dr,front:At,back:fr}))}}else{var Ut=Fe.level;if(typeof Ut!="number")continue;var Qe=Fe.size;if(typeof Qe!="number")continue;var qt=tt(k,me,Fe.up,ee,t),lt=tt(k,me,Fe.down,ee,t),Le=tt(k,me,Fe.right,ee,t),dr=tt(k,me,Fe.left,ee,t),At=tt(k,me,Fe.front,ee,t),fr=tt(k,me,Fe.back,ee,t);It.push(Object.freeze({level:Ut,size:Qe,scale:(w=Fe.scale)!==null&&w!==void 0?w:1,up:qt,down:lt,right:Le,left:dr,front:At,back:fr}))}}It=qf(It),Object.freeze(It),Object.defineProperty(Ae,"tiles",{configurable:!1,get:function(){return It}})}Object.freeze(Ae),Object.defineProperty(re,"images",{configurable:!1,get:function(){return Ae}});var hr=new d.Vector3;if(U.position instanceof d.Vector3)hr.copy(U.position);else if(Array.isArray(U.position))hr.fromArray(U.position);else return"break";Object.freeze(hr),Object.defineProperty(re,"position",{configurable:!1,get:function(){return hr}});var Ht=new d.Vector3;if(U.standingPosition instanceof d.Vector3)Ht.copy(U.standingPosition);else if(Array.isArray(U.standingPosition))Ht.fromArray(U.standingPosition);else if(U.standing_position instanceof d.Vector3)Ht.copy(U.standing_position);else if(Array.isArray(U.standing_position))Ht.fromArray(U.standing_position);else return"break";Object.freeze(Ht),Object.defineProperty(re,"standingPosition",{configurable:!1,get:function(){return Ht}});var Et=new d.Quaternion;if(U.quaternion instanceof d.Quaternion)Et.copy(U.quaternion);else if(Array.isArray(U.quaternion))Et.fromArray(U.quaternion);else if(U.quaternion){var pr=U.quaternion,Mr=pr.x,un=pr.y,jr=pr.z,Jr=pr.w;Et.set(Mr,un,jr,Jr)}else return"break";Object.freeze(Et),Object.defineProperty(re,"quaternion",{configurable:!1,get:function(){return Et}});var Gt=0;Jt(U.floorIndex)?Gt=U.floorIndex:Jt(U.floor_index)?Gt=U.floor_index:Jt(U.floor)&&(Gt=U.floor),Object.defineProperty(re,"floorIndex",{configurable:!1,get:function(){return Gt}});var Ye;U.video&&(Ye={},typeof U.video.source=="string"&&(Ye.source=U.video.source),U.video.matrix instanceof d.Matrix4?Ye.matrix=U.video.matrix.clone():Array.isArray(U.video.matrix)&&(Ye.matrix=new d.Matrix4().fromArray(U.video.matrix)),U.video.size instanceof d.Vector2?Ye.size=U.video.size.clone():Array.isArray(U.video.size)&&(Ye.size=new d.Vector2().fromArray(U.video.size)),Ye.source&&Ye.matrix&&Ye.size&&(re.video=Ye)),Object.freeze(Ye),Object.defineProperty(re,"video",{configurable:!1,get:function(){return Ye}}),Array.isArray(U.accessibleNodes)?(re.accessibleNodes=U.accessibleNodes.slice(),re.accessibleIds=U.accessibleNodes.map(function(qe){return ze({workCode:e.workCode,panoIndex:qe})})):Array.isArray(U.accessible_nodes)&&(re.accessibleNodes=U.accessible_nodes.slice(),re.accessibleIds=U.accessible_nodes.map(function(qe){return ze({workCode:e.workCode,panoIndex:qe})})),Array.isArray(U.visibleNodes)?(re.visibleNodes=U.visibleNodes.slice(),re.visibleIds=U.visibleNodes.map(function(qe){return ze({workCode:e.workCode,panoIndex:qe})})):Array.isArray(U.visible_nodes)&&(re.visibleNodes=U.visible_nodes.slice(),re.visibleIds=U.visible_nodes.map(function(qe){return ze({workCode:e.workCode,panoIndex:qe})})),$[ee]=re},ce=0;ce<n.observers.length;ce++){var ne=ie(ce);if(ne==="break")break}}for(var ve=function(ee){if(ee.accessibleIds){var Ve=ee.accessibleIds.filter(function(me){return Y.has(me)});Object.freeze(Ve),Object.defineProperty(ee,"accessibleIds",{configurable:!1,get:function(){return Ve}})}else{for(var re=[],U=0;U<$.length;U++)$[U]!==ee&&(Math.abs($[U].position.y-ee.position.y)>3||$[U].position.distanceTo(ee.position)>10||re.push($[U].panoId));Object.freeze(re),Object.defineProperty(ee,"accessibleIds",{configurable:!1,get:function(){return re}})}if(ee.accessibleNodes){var Te=ee.accessibleNodes.filter(function(me){return fe.has(me)});Object.freeze(Te),Object.defineProperty(ee,"accessibleNodes",{configurable:!1,get:function(){return Te}})}else{for(var ke=[],U=0;U<$.length;U++)$[U]!==ee&&(Math.abs($[U].position.y-ee.position.y)>3||$[U].position.distanceTo(ee.position)>10||ke.push($[U].panoIndex));Object.freeze(ke),Object.defineProperty(ee,"accessibleNodes",{configurable:!1,get:function(){return ke}})}if(ee.visibleIds){var be=ee.visibleIds.filter(function(me){return Y.has(me)});Object.freeze(be),Object.defineProperty(ee,"visibleIds",{configurable:!1,get:function(){return be}})}else{var Ge=ee.accessibleIds.slice();Object.freeze(Ge),Object.defineProperty(ee,"visibleIds",{configurable:!1,get:function(){return Ge}})}if(ee.visibleNodes){var ge=ee.visibleNodes.filter(function(me){return fe.has(me)});Object.freeze(ge),Object.defineProperty(ee,"visibleNodes",{configurable:!1,get:function(){return ge}})}else{var ye=ee.accessibleNodes.slice();Object.freeze(ye),Object.defineProperty(ee,"visibleNodes",{configurable:!1,get:function(){return ye}})}},ue=0,he=$;ue<he.length;ue++){var Se=he[ue];ve(Se)}Object.freeze($),Object.defineProperty(e,"observers",{configurable:!1,get:function(){return $}})}if(P instanceof Error)return P;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),Jt(n.initial.latitude)&&(e.initial.latitude=n.initial.latitude),Jt(n.initial.longitude)?e.initial.longitude=n.initial.longitude:Jt(n.initial.heading)&&(e.initial.longitude=Nf(n.initial.heading)),Jt(n.initial.fov)&&(e.initial.fov=n.initial.fov),e.observers.length>0){var Ce=void 0;Jt(n.initial.panoIndex)?Ce=n.initial.panoIndex:Jt(n.initial.pano_index)?Ce=n.initial.pano_index:Jt(n.initial.pano)&&(Ce=n.initial.pano),typeof Ce=="number"&&(Ce=pe(Ce,0,e.observers.length-1),e.initial.panoIndex=Ce)}if(Jt(n.initial.distance)&&(e.initial.distance=n.initial.distance),Array.isArray(n.initial.offset)){var Pe=[0,0,0].map(function(ee,re){var U=Number(n.initial.offset[re]);return isNaN(U)||!isFinite(U)?0:U});e.initial.offset=new d.Vector3().fromArray(Pe)}!e.initial.mode&&typeof e.initial.panoIndex=="number"&&(e.initial.mode="Panorama")}return P instanceof Error?P:(so.set(e,{works:M,options:E}),e)}function Gn(n,t){typeof n=="string"&&n.trim()[0]==="{"&&(n=JSON.parse(n));var e=so.get(n);if(e){if(t&&!Va(JSON.parse(e.options),t))throw new Error("[PARSE FAILED]: work is parsed with different options.");return n}else try{return new uo(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=Hn,n}();function Es(n){return n==null?"null":Array.isArray(n)?"array":typeof n=="object"?"dict":"value"}function qa(n,t){var e=Es(n),r=Es(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]=qa(n[i],t[i]);else if(r==="dict")for(var a in t)n[a]=qa(n[a],t[a]);return n}function Ao(n,t){return n.indexOf(t)===0}function mo(n,t,e,r){var i,a=t;if(r.jsonp===!0){a=t.replace(/([\?\#].*)?$/i,"");var o=Qo("".concat(a)).slice(0,7);a="".concat(a,".").concat(o,".jsonp")}if(r.shortPath===!0){var s=a.replace(n,"").split("."),l=(i=s.shift())!==null&&i!==void 0?i:"",u=s.join(".");a=xt(n,Qo(l))+(u?"."+u:"")}var c=a.replace(n,"");return r.baseURL&&(a=xt(r.baseURL,c)),r.traverseResource&&r.traverseResource({origin:t,absolute:a,relative:c,type:e}),a}function tt(n,t,e,r,i){var a=e;return Er(e)||(t&&(t=xt(t,String(r))),a=xt(t,a)),Er(a)||(a=xt(n,a)),Ao(a,n)||console.warn("".concat(a," is not start with base_url(").concat(n,").")),mo(n,a,"panorama",i)}function Rn(n,t,e){var r=t;return Er(r)||(r=xt(n,t)),Ao(r,n)||console.warn("".concat(r," is not start with base_url(").concat(n,").")),mo(n,r,"model",e)}function ci(n,t,e,r){var i=t;return Er(i)||(i=xt(e,i)),Er(i)||(i=xt(n,i)),Ao(i,n)||console.warn("".concat(i," is not start with base_url(").concat(n,").")),mo(n,i,"texture",r)}var Cs=function(n){for(var t=10;t>=0;t--){var e=512*Math.pow(2,t);if(e<=n)return t}return null},rh=function(n){n=n.slice().sort(function(o,s){return o.level-s.level});for(var t=[],e=0,r=n;e<r.length;e++){var i=r[e];if(t.length===0){t.push(i);continue}var a=t[t.length-1];if(i.level>a.level){t.push(i);continue}if(i.size>a.size){t[t.length-1]=i;continue}}return t};function nh(n,t,e){for(var r,i,a,o,s,l,u,c,f,A,m,h,p,y,v,g,x,b,w,E=JSON.stringify(t),I=[],M=0,k=[].concat(n);M<k.length;M++){var B=k[M];B instanceof vo?I.push.apply(I,B.raw.works):typeof B=="string"?I.push(B):I.push(JSON.stringify(B))}var C=yu(I);if(C instanceof Error)return C;Array.isArray(t.transform)?e.transform.fromArray(t.transform):t.transform&&e.transform.copy(t.transform),n=I.map(function(ee){return JSON.parse(ee)}).reduce(function(ee,re){return qa(ee,re)}),Object.defineProperty(e,"raw",{configurable:!1,get:function(){return{works:I,options:E}}});{var T;if(t.workCode&&(typeof t.workCode=="string"?T=t.workCode:typeof t.workCode=="function"&&(T=t.workCode(n))),typeof T=="undefined"&&(T=String(n.resource_code||n.basic_code||n.vr_code||n.code||n.project_id||n.work_code||n.workCode)),typeof T=="undefined")return new Error("WorkCode never matched.");Object.defineProperty(e,"workCode",{configurable:!1,get:function(){return T}})}{var O=String(n.name);Object.defineProperty(e,"name",{configurable:!1,get:function(){return O}})}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 P=(r=n.base_url)!==null&&r!==void 0?r:"";if(P&&P[P.length-1]!=="/"&&(P+="/"),C instanceof Error)return C;if(n.model){var F={work:e,layers:[]},V;n.model.file?V=Rn(P,n.model.file,t):n.model.file_url&&(V=Rn(P,n.model.file_url,t)),Object.defineProperty(F,"file",{configurable:!1,get:function(){return V}});var z;n.model.textureBase?z=ci(P,"",n.model.textureBase,t):n.model.material_base_url?z=ci(P,"",n.model.material_base_url,t):F.file&&(z=F.file.split("/").slice(0,-1).join("/").replace("/model/","/materials/")),Object.defineProperty(F,"textureBase",{configurable:!1,get:function(){return z}});var j;Array.isArray(n.model.textures)?(j=n.model.textures.map(function(ee){var re,Q;return ci(P,ee,(Q=(re=n.model.textureBase)!==null&&re!==void 0?re:n.model.material_base_url)!==null&&Q!==void 0?Q:"",t)}),Object.freeze(j)):Array.isArray(n.model.material_textures)&&(j=n.model.material_textures.map(function(ee){var re,Q;return ci(P,ee,(Q=(re=n.model.textureBase)!==null&&re!==void 0?re:n.model.material_base_url)!==null&&Q!==void 0?Q:"",t)}),Object.freeze(j)),Object.defineProperty(F,"textures",{configurable:!1,get:function(){return j}});var K=[];if(Array.isArray(n.model.tiles))for(var H=0,q=n.model.tiles;H<q.length;H++){var J=q[H];J&&(J.tileset||J.tileset_url)&&K.push(Object.freeze({type:(i=J.type)!==null&&i!==void 0?i:"mesh",name:(a=J.name)!==null&&a!==void 0?a:"",upAxis:(s=(o=J.upAxis)!==null&&o!==void 0?o:J.up_axis)!==null&&s!==void 0?s:"-Y",tileset:Rn(P,J.tileset||J.tileset_url,t)}))}else n.model.tiles&&(n.model.tiles.tileset||n.model.tiles.tileset_url)&&K.push(Object.freeze({type:(l=n.model.tiles.type)!==null&&l!==void 0?l:"mesh",name:(u=n.model.tiles.name)!==null&&u!==void 0?u:"lod",upAxis:(f=(c=n.model.tiles.upAxis)!==null&&c!==void 0?c:n.model.tiles.up_axis)!==null&&f!==void 0?f:"-Y",tileset:Rn(P,n.model.tiles.tileset||n.model.tiles.tileset_url,t)}));if(Array.isArray(n.model.layers))for(var G=0,W=n.model.layers;G<W.length;G++){var _=W[G];_&&(_.tileset||_.tileset_url)&&K.push(Object.freeze({type:(A=_.type)!==null&&A!==void 0?A:"mesh",name:(m=_.name)!==null&&m!==void 0?m:"",upAxis:(h=_.upAxis)!==null&&h!==void 0?h:_.up_axis,tileset:Rn(P,_.tileset||_.tileset_url,t)}))}Object.freeze(K),Object.defineProperty(F,"layers",{configurable:!1,get:function(){return K}}),Object.defineProperty(e,"model",{configurable:!1,get:function(){if(F.file||F.layers.length)return F}})}if(C instanceof Error)return C;var Y=new Set,oe=new Set;{var $=[];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 ne=function(ee){var re={},Q=n.observers[ee];if(!Q)return"break";var Ve=ae[ee];if(!Ve)return"break";Q=Object.assign({},Q,Ve,{active:Q.active!==!1&&Ve.active!==!1}),Object.defineProperty(re,"work",{configurable:!1,get:function(){return e}}),Object.defineProperty(re,"index",{configurable:!1,get:function(){return ee}}),oe.add(ee),Object.defineProperty(re,"panoIndex",{configurable:!1,get:function(){return ee}});var ke=ze({workCode:e.workCode,panoIndex:ee});Y.add(ke),Object.defineProperty(re,"panoId",{configurable:!1,get:function(){return ke}});var Se=Object.freeze({workCode:e.workCode,panoIndex:ee});Object.defineProperty(re,"pano",{configurable:!1,get:function(){return Se}});var Ge=Q.active!==!1;Object.defineProperty(re,"active",{configurable:!1,get:function(){return Ge}});var be=Q.loadable===!0;Object.defineProperty(re,"loadable",{configurable:!1,get:function(){return be}});var ye=Q.derived_id;Object.defineProperty(re,"derivedId",{configurable:!1,get:function(){return ye}});var me=Q.derived_id_str;Object.defineProperty(re,"derivedIdStr",{configurable:!1,get:function(){return me}});var Ae=(b=(g=(y=(p=n.panorama)===null||p===void 0?void 0:p.pano_high_cube_base_url)!==null&&y!==void 0?y:(v=n.panorama)===null||v===void 0?void 0:v.pano_cube_base_url)!==null&&g!==void 0?g:(x=n.panorama)===null||x===void 0?void 0:x.base_url)!==null&&b!==void 0?b:"",pe={up:tt(P,Ae,Q.images?Q.images.up:Q.up,ee,t),down:tt(P,Ae,Q.images?Q.images.down:Q.down,ee,t),right:tt(P,Ae,Q.images?Q.images.right:Q.right,ee,t),left:tt(P,Ae,Q.images?Q.images.left:Q.left,ee,t),front:tt(P,Ae,Q.images?Q.images.front:Q.front,ee,t),back:tt(P,Ae,Q.images?Q.images.back:Q.back,ee,t)};if(Q.size_list)pe.sizeList=Q.size_list.slice();else{var Qe=Kn(pe.up);if(Qe&&(pe.sizeList=[Qe],Q.tiles))for(var Ke=Q.tiles.slice().sort(function(qe,nt){return qe-nt}).map(function(qe){return 512*Math.pow(2,qe)}),rt=0,Kr=Ke;rt<Kr.length;rt++){var Fe=Kr[rt];Fe>Qe&&pe.sizeList.push(Fe)}}var Ze=Q.images?Q.images.luminance:Q.luminance;Ze&&(pe.luminance=Object.freeze({up:tt(P,Ae,Ze.up,ee,t),down:tt(P,Ae,Ze.down,ee,t),right:tt(P,Ae,Ze.right,ee,t),left:tt(P,Ae,Ze.left,ee,t),front:tt(P,Ae,Ze.front,ee,t),back:tt(P,Ae,Ze.back,ee,t)}));var ot=void 0;if(Q.images)ot=Q.images.tiles;else if(Array.isArray(Q.size_list)){var $t=Q.size_list.slice().sort(function(qe,nt){return qe-nt});if($t[0]){var un=Cs($t[0]);if(un)for(var er=un-1;er>=0;er--)$t.unshift(512*Math.pow(2,er));ot=$t}}else Array.isArray(Q.tiles)&&(ot=Q.tiles.slice(),typeof ot[0]=="number"&&(ot=ot.sort(function(qe,nt){return qe-nt}).map(function(qe){return 512*Math.pow(2,qe)})));if(ot){for(var St=[],tr=0,Cr=ot;tr<Cr.length;tr++){var Fe=Cr[tr];if(typeof Fe=="number"){var Ut=Cs(Fe);if(typeof Ut!="number")continue;var rr=Kn(pe.front);if(!rr)continue;if(Fe>rr){var qt=Ft(pe.up,Fe),ct=Ft(pe.down,Fe),Le=Ft(pe.right,Fe),dr=Ft(pe.left,Fe),At=Ft(pe.front,Fe),fr=Ft(pe.back,Fe);St.push(Object.freeze({level:Ut,size:Fe,scale:1,up:qt,down:ct,right:Le,left:dr,front:At,back:fr}))}else{var qt=pe.up,ct=pe.down,Le=pe.right,dr=pe.left,At=pe.front,fr=pe.back;St.push(Object.freeze({level:Ut,size:rr,scale:Fe/rr,up:qt,down:ct,right:Le,left:dr,front:At,back:fr}))}}else{var Ut=Fe.level;if(typeof Ut!="number")continue;var Qe=Fe.size;if(typeof Qe!="number")continue;var qt=tt(P,Ae,Fe.up,ee,t),ct=tt(P,Ae,Fe.down,ee,t),Le=tt(P,Ae,Fe.right,ee,t),dr=tt(P,Ae,Fe.left,ee,t),At=tt(P,Ae,Fe.front,ee,t),fr=tt(P,Ae,Fe.back,ee,t);St.push(Object.freeze({level:Ut,size:Qe,scale:(w=Fe.scale)!==null&&w!==void 0?w:1,up:qt,down:ct,right:Le,left:dr,front:At,back:fr}))}}St=rh(St),Object.freeze(St),Object.defineProperty(pe,"tiles",{configurable:!1,get:function(){return St}})}Object.freeze(pe),Object.defineProperty(re,"images",{configurable:!1,get:function(){return pe}});var hr=new d.Vector3;if(Q.position instanceof d.Vector3)hr.copy(Q.position);else if(Array.isArray(Q.position))hr.fromArray(Q.position);else return"break";Object.freeze(hr),Object.defineProperty(re,"position",{configurable:!1,get:function(){return hr}});var Ht=new d.Vector3;if(Q.standingPosition instanceof d.Vector3)Ht.copy(Q.standingPosition);else if(Array.isArray(Q.standingPosition))Ht.fromArray(Q.standingPosition);else if(Q.standing_position instanceof d.Vector3)Ht.copy(Q.standing_position);else if(Array.isArray(Q.standing_position))Ht.fromArray(Q.standing_position);else return"break";Object.freeze(Ht),Object.defineProperty(re,"standingPosition",{configurable:!1,get:function(){return Ht}});var Et=new d.Quaternion;if(Q.quaternion instanceof d.Quaternion)Et.copy(Q.quaternion);else if(Array.isArray(Q.quaternion))Et.fromArray(Q.quaternion);else if(Q.quaternion){var pr=Q.quaternion,Mr=pr.x,ln=pr.y,jr=pr.z,Jr=pr.w;Et.set(Mr,ln,jr,Jr)}else return"break";Object.freeze(Et),Object.defineProperty(re,"quaternion",{configurable:!1,get:function(){return Et}});var Gt=0;Jt(Q.floorIndex)?Gt=Q.floorIndex:Jt(Q.floor_index)?Gt=Q.floor_index:Jt(Q.floor)&&(Gt=Q.floor),Object.defineProperty(re,"floorIndex",{configurable:!1,get:function(){return Gt}});var Ye;Q.video&&(Ye={},typeof Q.video.source=="string"&&(Ye.source=Q.video.source),Q.video.matrix instanceof d.Matrix4?Ye.matrix=Q.video.matrix.clone():Array.isArray(Q.video.matrix)&&(Ye.matrix=new d.Matrix4().fromArray(Q.video.matrix)),Q.video.size instanceof d.Vector2?Ye.size=Q.video.size.clone():Array.isArray(Q.video.size)&&(Ye.size=new d.Vector2().fromArray(Q.video.size)),Ye.source&&Ye.matrix&&Ye.size&&(re.video=Ye)),Object.freeze(Ye),Object.defineProperty(re,"video",{configurable:!1,get:function(){return Ye}}),Array.isArray(Q.accessibleNodes)?(re.accessibleNodes=Q.accessibleNodes.slice(),re.accessibleIds=Q.accessibleNodes.map(function(qe){return ze({workCode:e.workCode,panoIndex:qe})})):Array.isArray(Q.accessible_nodes)&&(re.accessibleNodes=Q.accessible_nodes.slice(),re.accessibleIds=Q.accessible_nodes.map(function(qe){return ze({workCode:e.workCode,panoIndex:qe})})),Array.isArray(Q.visibleNodes)?(re.visibleNodes=Q.visibleNodes.slice(),re.visibleIds=Q.visibleNodes.map(function(qe){return ze({workCode:e.workCode,panoIndex:qe})})):Array.isArray(Q.visible_nodes)&&(re.visibleNodes=Q.visible_nodes.slice(),re.visibleIds=Q.visible_nodes.map(function(qe){return ze({workCode:e.workCode,panoIndex:qe})})),$[ee]=re},le=0;le<n.observers.length;le++){var ie=ne(le);if(ie==="break")break}}for(var ge=function(ee){if(ee.accessibleIds){var Ve=ee.accessibleIds.filter(function(Ae){return Y.has(Ae)});Object.freeze(Ve),Object.defineProperty(ee,"accessibleIds",{configurable:!1,get:function(){return Ve}})}else{for(var re=[],Q=0;Q<$.length;Q++)$[Q]!==ee&&(Math.abs($[Q].position.y-ee.position.y)>3||$[Q].position.distanceTo(ee.position)>10||re.push($[Q].panoId));Object.freeze(re),Object.defineProperty(ee,"accessibleIds",{configurable:!1,get:function(){return re}})}if(ee.accessibleNodes){var Se=ee.accessibleNodes.filter(function(Ae){return oe.has(Ae)});Object.freeze(Se),Object.defineProperty(ee,"accessibleNodes",{configurable:!1,get:function(){return Se}})}else{for(var ke=[],Q=0;Q<$.length;Q++)$[Q]!==ee&&(Math.abs($[Q].position.y-ee.position.y)>3||$[Q].position.distanceTo(ee.position)>10||ke.push($[Q].panoIndex));Object.freeze(ke),Object.defineProperty(ee,"accessibleNodes",{configurable:!1,get:function(){return ke}})}if(ee.visibleIds){var be=ee.visibleIds.filter(function(Ae){return Y.has(Ae)});Object.freeze(be),Object.defineProperty(ee,"visibleIds",{configurable:!1,get:function(){return be}})}else{var Ge=ee.accessibleIds.slice();Object.freeze(Ge),Object.defineProperty(ee,"visibleIds",{configurable:!1,get:function(){return Ge}})}if(ee.visibleNodes){var me=ee.visibleNodes.filter(function(Ae){return oe.has(Ae)});Object.freeze(me),Object.defineProperty(ee,"visibleNodes",{configurable:!1,get:function(){return me}})}else{var ye=ee.accessibleNodes.slice();Object.freeze(ye),Object.defineProperty(ee,"visibleNodes",{configurable:!1,get:function(){return ye}})}},he=0,ve=$;he<ve.length;he++){var Re=ve[he];ge(Re)}Object.freeze($),Object.defineProperty(e,"observers",{configurable:!1,get:function(){return $}})}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),Jt(n.initial.latitude)&&(e.initial.latitude=n.initial.latitude),Jt(n.initial.longitude)?e.initial.longitude=n.initial.longitude:Jt(n.initial.heading)&&(e.initial.longitude=Zf(n.initial.heading)),Jt(n.initial.fov)&&(e.initial.fov=n.initial.fov),e.observers.length>0){var Ce=void 0;Jt(n.initial.panoIndex)?Ce=n.initial.panoIndex:Jt(n.initial.pano_index)?Ce=n.initial.pano_index:Jt(n.initial.pano)&&(Ce=n.initial.pano),typeof Ce=="number"&&(Ce=fe(Ce,0,e.observers.length-1),e.initial.panoIndex=Ce)}if(Jt(n.initial.distance)&&(e.initial.distance=n.initial.distance),Array.isArray(n.initial.offset)){var Te=[0,0,0].map(function(ee,re){var Q=Number(n.initial.offset[re]);return isNaN(Q)||!isFinite(Q)?0:Q});e.initial.offset=new d.Vector3().fromArray(Te)}!e.initial.mode&&typeof e.initial.panoIndex=="number"&&(e.initial.mode="Panorama")}return C instanceof Error?C:(po.set(e,{works:I,options:E}),e)}function Hn(n,t){typeof n=="string"&&n.trim()[0]==="{"&&(n=JSON.parse(n));var e=po.get(n);if(e){if(t&&!Ua(JSON.parse(e.options),t))throw new Error("[PARSE FAILED]: work is parsed with different options.");return n}else try{return new vo(n,t!=null?t:{})}catch(r){throw new Error("[PARSE FAILED]: "+r.message+`
931
931
  Error work input:
932
- `+JSON.stringify(n))}}function za(n){for(var t={},e=[],r={},i=0,a=n;i<a.length;i++){var o=a[i],s=t[o.workCode];s||(s=t[o.workCode]=new d.Matrix4().copy(o.options.transform));for(var u=0,l=o.observers;u<l.length;u++){var c=l[u],h={isResolved:!0,active:c.active,accessibleIds:c.accessibleIds,visibleIds:c.visibleIds,accessibleNodes:c.accessibleNodes,visibleNodes:c.visibleNodes,floorIndex:c.floorIndex,images:c.images,index:c.index,panoIndex:c.panoIndex,loadable:c.loadable,panoId:c.panoId,pano:c.pano,work:c.work,derivedId:c.derivedId,video:c.video,position:new d.Vector3().copy(c.position).applyMatrix4(s),standingPosition:new d.Vector3().copy(c.standingPosition).applyMatrix4(s),quaternion:new d.Quaternion().setFromRotationMatrix(As.makeRotationFromQuaternion(c.quaternion).premultiply(s))};Object.freeze(h),e.push(h),r[h.panoId]=h}}Object.freeze(e);for(var A=n.slice(),m={},f=0,v=A;f<v.length;f++){var o=v[f];m[o.workCode]=o}return Object.freeze(Object.assign(A,{get initial(){return A.length>0?A[0].initial:{work:{}}},get resolvedObservers(){return e},getWork:function(y){return m[y]},getResolvedObserver:function(y){var p,g;return p0(y)?r[y]:typeof y=="number"?r[ze({workCode:(g=(p=n[0])===null||p===void 0?void 0:p.workCode)!==null&&g!==void 0?g:"",panoIndex:y})]:r[ze(y)]},update:function(){for(var y={},p=0,g=A;p<g.length;p++){var x=g[p],b=x.options.transform,w=t[x.workCode];w?w.equals(b)||(w.copy(b),y[x.workCode]=!0):(t[x.workCode]=new d.Matrix4().copy(b),y[x.workCode]=!0)}for(var E=0,M=e;E<M.length;E++){var C=M[E];if(y[C.work.workCode]===!0){var I=C.work.observers[C.index],S=C.work.options.transform;C.position.copy(I.position).applyMatrix4(S),C.standingPosition.copy(I.standingPosition).applyMatrix4(S),C.quaternion.setFromRotationMatrix(As.makeRotationFromQuaternion(I.quaternion).premultiply(S))}}}}))}var cu=new Map;function it(n){var t=cu.get(n);if(t)return t;throw new Error("fetcher never registered.")}function Gf(n,t){return cu.set(n,t)}var ys={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,a=e.normal.array,o=e.uv.array,s=i.length/3;e.tangent===void 0&&n.setAttribute("tangent",new d.BufferAttribute(new Float32Array(4*s),4));for(var u=e.tangent.array,l=[],c=[],h=0;h<s;h++)l[h]=new d.Vector3,c[h]=new d.Vector3;var A=new d.Vector3,m=new d.Vector3,f=new d.Vector3,v=new d.Vector2,y=new d.Vector2,p=new d.Vector2,g=new d.Vector3,x=new d.Vector3;function b(Q,H,K){A.fromArray(i,Q*3),m.fromArray(i,H*3),f.fromArray(i,K*3),v.fromArray(o,Q*2),y.fromArray(o,H*2),p.fromArray(o,K*2);var j=m.x-A.x,J=f.x-A.x,Z=m.y-A.y,Y=f.y-A.y,fe=m.z-A.z,$=f.z-A.z,ae=y.x-v.x,ie=p.x-v.x,ce=y.y-v.y,ne=p.y-v.y,ve=1/(ae*ne-ie*ce);g.set((ne*j-ce*J)*ve,(ne*Z-ce*Y)*ve,(ne*fe-ce*$)*ve),x.set((ae*J-ie*j)*ve,(ae*Y-ie*Z)*ve,(ae*$-ie*fe)*ve),l[Q].add(g),l[H].add(g),l[K].add(g),c[Q].add(x),c[H].add(x),c[K].add(x)}var w=n.groups;w.length===0&&(w=[{start:0,count:r.length}]);for(var h=0,E=w.length;h<E;++h)for(var M=w[h],C=M.start,I=M.count,S=C,P=C+I;S<P;S+=3)b(r[S+0],r[S+1],r[S+2]);var B=new d.Vector3,L=new d.Vector3,k=new d.Vector3,O=new d.Vector3,z,N,X;function G(Q){k.fromArray(a,Q*3),O.copy(k),N=l[Q],B.copy(N),B.sub(k.multiplyScalar(k.dot(N))).normalize(),L.crossVectors(O,N),X=L.dot(c[Q]),z=X<0?-1:1,u[Q*4]=B.x,u[Q*4+1]=B.y,u[Q*4+2]=B.z,u[Q*4+3]=z}for(var h=0,E=w.length;h<E;++h)for(var M=w[h],C=M.start,I=M.count,S=C,P=C+I;S<P;S+=3)G(r[S+0]),G(r[S+1]),G(r[S+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)),a={},o={},s=new d.BufferGeometry,u=0,l=0;l<n.length;++l){var c=n[l];if(e!==(c.index!==null))return null;for(var h in c.attributes){if(!r.has(h))return null;a[h]===void 0&&(a[h]=[]),a[h].push(c.attributes[h])}for(var h in c.morphAttributes){if(!i.has(h))return null;o[h]===void 0&&(o[h]=[]),o[h].push(c.morphAttributes[h])}if(s.userData.mergedUserData=s.userData.mergedUserData||[],s.userData.mergedUserData.push(c.userData),t){var A;if(e)A=c.index.count;else if(c.attributes.position!==void 0)A=c.attributes.position.count;else return null;s.addGroup(u,A,l),u+=A}}if(e){for(var m=0,f=[],l=0;l<n.length;++l){for(var v=n[l].index,y=0;y<v.count;++y)f.push(v.getX(y)+m);m+=n[l].attributes.position.count}s.setIndex(f)}for(var h in a){var p=this.mergeBufferAttributes(a[h]);if(!p)return null;s.setAttribute(h,p)}for(var h in o){var g=o[h][0].length;if(g===0)break;s.morphAttributes=s.morphAttributes||{},s.morphAttributes[h]=[];for(var l=0;l<g;++l){for(var x=[],y=0;y<o[h].length;++y)x.push(o[h][y][l]);var b=this.mergeBufferAttributes(x);if(!b)return null;s.morphAttributes[h].push(b)}}return s},mergeBufferAttributes:function(n){for(var t,e,r,i=0,a=0;a<n.length;++a){var o=n[a];if(o.isInterleavedBufferAttribute||(t===void 0&&(t=o.array.constructor),t!==o.array.constructor)||(e===void 0&&(e=o.itemSize),e!==o.itemSize)||(r===void 0&&(r=o.normalized),r!==o.normalized))return null;i+=o.array.length}for(var s=new t(i),u=0,a=0;a<n.length;++a)s.set(n[a].array,u),u+=n[a].array.length;return new d.BufferAttribute(s,e,r)},interleaveAttributes:function(n){for(var t,e=0,r=0,i=0,a=n.length;i<a;++i){var o=n[i];if(t===void 0&&(t=o.array.constructor),t!==o.array.constructor)return console.warn("AttributeBuffers of different types cannot be interleaved"),null;e+=o.array.length,r+=o.itemSize}for(var s=new d.InterleavedBuffer(new t(e),r),u=0,l=[],c=["getX","getY","getZ","getW"],h=["setX","setY","setZ","setW"],A=0,a=n.length;A<a;A++){var o=n[A],m=o.itemSize,f=o.count,v=new d.InterleavedBufferAttribute(s,m,u,o.normalized);l.push(v),u+=m;for(var y=0;y<f;y++)for(var p=0;p<m;p++)v[h[p]](y,o[c[p]](y))}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"),a=r?r.count:i.count,o=0,s=Object.keys(n.attributes),u={},l={},c=[],h=["getX","getY","getZ","getW"],A=0,m=s.length;A<m;A++){var f=s[A];u[f]=[];var v=n.morphAttributes[f];v&&(l[f]=new Array(v.length).fill().map(function(){return[]}))}for(var y=Math.log10(1/t),p=Math.pow(10,y),A=0;A<a;A++){for(var g=r?r.getX(A):A,x="",b=0,m=s.length;b<m;b++)for(var f=s[b],w=n.getAttribute(f),E=w.itemSize,M=0;M<E;M++)x+="".concat(~~(w[h[M]](g)*p),",");if(x in e)c.push(e[x]);else{for(var b=0,m=s.length;b<m;b++)for(var f=s[b],w=n.getAttribute(f),v=n.morphAttributes[f],E=w.itemSize,C=u[f],I=l[f],M=0;M<E;M++){var S=h[M];if(C.push(w[S](g)),v)for(var P=0,B=v.length;P<B;P++)I[P].push(v[P][S](g))}e[x]=o,c.push(o),o++}}for(var L=n.clone(),A=0,m=s.length;A<m;A++){var f=s[A],k=n.getAttribute(f),O=new k.array.constructor(u[f]),w=new d.BufferAttribute(O,k.itemSize,k.normalized);if(L.setAttribute(f,w),f in l)for(var b=0;b<l[f].length;b++){var z=n.morphAttributes[f][b],O=new z.array.constructor(l[f][b]),N=new d.BufferAttribute(O,z.itemSize,z.normalized);L.morphAttributes[f][b]=N}}return L.setIndex(c),L}};function Da(n){switch(n){case"Floorplan":return!0;case"Mapview":return!0;default:return!1}}function Xn(n){switch(n){case"Panorama":return!0;case"VRPanorama":return!0;case"XRPanorama":return!0;case"Model":return!0;default:return!1}}var _t=new d.Vector3,la=new d.Sphere,ca=new d.Matrix4,bs=new d.Matrix4,xs=new d.Box3,vi=new d.Matrix4().fromArray([1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1]),Ai=new d.Matrix4().fromArray([1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1]),du=new d.Box3(new d.Vector3(-.5,-.5,-.5),new d.Vector3(.5,.5,.5));function ws(n,t,e){switch(n){case"Z":break;case"Y":e.copy(Ai);break;case"-Y":e.copy(vi);break;case"WGS84":case"GCJ02":case"BD09":Lf(t,e);break;default:e.identity();break}return e}function Kf(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 mi=function(){function n(t,e){this.scene=t,this.error=e,t.viewLayer=this}return Object.defineProperty(n.prototype,"name",{get:function(){return this.scene.name},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"type",{get:function(){return this.scene.type},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"upAxis",{get:function(){return this.scene.upAxis},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"groundHeight",{get:function(){return this.scene.groundHeight},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"model",{get:function(){return this.scene.model},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"coordinates",{get:function(){_t.setScalar(0);var t=this.scene.localToLla(_t),e=t.x,r=t.y;return[e,r].map(function(i){return(i/Math.PI*180).toFixed(6)}).join(",")},enumerable:!1,configurable:!0}),n.prototype.getTransformMatrix4=function(t){return t===void 0&&(t=new d.Matrix4),t.copy(this.scene.coordinateTransform.ecefToLocalMatrix),this.scene&&t.premultiply(this.scene.matrixWorld),t},n.prototype.coordinatesToWorldPoint=function(t){var e=new d.Vector3(t.latitude,t.longitude,t.altitude);return this.scene.llaToWorld(e)},n.prototype.worldPointToCoordinates=function(t){return _t.copy(t),this.scene.worldToLla(_t),{latitude:_t.x,longitude:_t.y,altitude:_t.z}},n}(),Qa=function(n){se(t,n);function t(e){e===void 0&&(e={});var r,i,a,o=n.call(this)||this;return o.name="",o.onError=(r=e.onError)!==null&&r!==void 0?r:D,o.onShownFloorChange=(i=e.onShownFloorChange)!==null&&i!==void 0?i:D,o.onLoad=(a=e.onLoad)!==null&&a!==void 0?a:D,o.work=null,o.viewLayers=[],o.bounding=new d.Box3(new d.Vector3,new d.Vector3),o.floorLength=0,o.textureOptions={},o.refined=!1,o.refineProgress=[0,0],o.loaded=!1,o.matrixAutoUpdate=!1,o.needsRender=!0,o.autoRefine=!0,o.materialVersion=0,o.materialParameters=F({},we),o.cacheCameras=[],o.disposed=!1,o}return Object.defineProperty(t.prototype,"empty",{get:function(){return this.viewLayers.length===0},enumerable:!1,configurable:!0}),t.prototype.getMaterial=function(){return F({},this.materialParameters)},t.prototype.setMaterial=function(e){var r=this.materialParameters.shownFloorIndex,i=v0(this.materialParameters,e);if(i){var a=this.materialParameters.shownFloorIndex;r!==a&&this.onShownFloorChange(a),this.materialVersion++,this.needsRender=!0}},Object.defineProperty(t.prototype,"brightness",{get:function(){return this.materialParameters.brightness},set:function(e){this.setMaterial({brightness:typeof e=="number"?e:1})},enumerable:!1,configurable:!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),a=[],o=0,s=this.children;o<s.length;o++){var u=s[o];u instanceof $r&&u.tileset.selectedTiles.forEach(function(l){var c,h,A;if(!(l.boundingVolume&&l.boundingVolume.distanceToPoint(e.center)>e.radius)){var m=(h=(c=l.content)===null||c===void 0?void 0:c.data)===null||h===void 0?void 0:h.object;if(m&&m.visible){var f=[];if(m.traverseVisible(function(K){if(K instanceof d.Mesh){var j=hi.get(K);if(j){ca.copy(K.matrixWorld),bs.getInverse(ca),la.copy(e).applyMatrix4(bs);var J=j.trianglesInSphere(la.center,la.radius),Z=new d.BufferGeometry;Z.setAttribute("position",new d.BufferAttribute(J,3)),Z.applyMatrix4(K.matrixWorld),Z=ys.mergeVertices(Z,.01),f.push(Z)}}}),f.length===0)return;for(var v=["a","b","c"],y=ys.mergeBufferGeometries(f,!1),p=y.getAttribute("position").array,g=((A=y.getIndex())===null||A===void 0?void 0:A.array)||[],x=[],b=[],w=0,E=p.length;w<E;w+=3){var M=new d.Vector3(p[w],p[w+1],p[w+2]);x.push(M)}for(var w=0,E=g.length;w<E;w+=3){var C=g[w],I=g[w+1],S=g[w+2],P=new d.Vector3().crossVectors(x[I].clone().sub(x[C]),x[S].clone().sub(x[C])).normalize();b.push({a:C,b:I,c:S,normal:P})}for(var B={},w=0,E=b.length;w<E;w++)for(var L=b[w],k=0;k<3;k++){var O=L[v[k]],z=L[v[(k+1)%3]],N=[Math.min(O,z),Math.max(O,z)],X=N[0]+"-"+N[1];B[X]===void 0?B[X]={index1:N[0],index2:N[1],face1:w}:B[X].face2=w}for(var X in B){var G=B[X];if(G.face2===void 0||b[G.face1].normal.dot(b[G.face2].normal)<=i){var Q=x[G.index1],H=x[G.index2];a.push(new d.Line3(Q,H))}}x.length=0,b.length=0}}})}return a},t.prototype.intersectRaycaster=function(e,r,i){r===void 0&&(r=null),i===void 0&&(i=!0);for(var a=[],o=0,s=this.children.length;o<s;o++){var u=this.children[o];u.visible&&u instanceof $r&&u.intersectRaycaster(e,!1,a)}return r!=null&&(a=a.filter(function(l){return l.floor===r})),this.getMaterial().pointBack==="HIDDEN"&&(a=a.filter(function(l){return!(l.object instanceof wr&&l.face&&l.face.normal.angleTo(e.ray.direction)<Math.PI/2)})),i&&a.sort(function(l,c){return l.distance-c.distance}),a},t.prototype.load=function(e,r){var i,a=this,o,s,u,l;if(r===void 0&&(r={}),this.work=e,this.name=this.work.workCode,!e.model)return Promise.resolve();for(var c=e.model,h=0,A=0,m=e.observers;A<m.length;A++){var f=m[A];h=Math.max(h,f.floorIndex)}this.floorLength=h+1;for(var v=!1,y=[],p=function(G){var Q=G.tileset,H=G.upAxis,K=G.name,j=G.type;j==="mesh"&&(v=!0);var J=Q.split("#"),Z=J[0],Y=J[1],fe=(o=(Y||Z).split("?")[1])!==null&&o!==void 0?o:"",$=it(e).ajax(Q,{responseType:"text"}).then(function(ae){var ie,ce,ne,ve=Q?Q.slice(0,Q.lastIndexOf("/")+1):"",ue=pi(JSON.parse(ae.body),ve),he=ue.root,Se=ue.rootMeta,Ce=Se===void 0?{}:Se;Ce.upAxis&&Ce.upAxis!==H&&(H=Ce.upAxis),"lodVersion"in ue&&(H="-Y","floorInfo"in ue&&(ue.properties=ue.properties||{},ue.properties.floorInfo=ue.floorInfo.map(function(ge){return{ground:-ge.ground,height:ge.height}}),delete ue.floorInfo),ue.asset.tilesetVersion=String(ue.lodVersion),delete ue.lodVersion);var Pe=he.boundingVolume?fi(he.boundingVolume):void 0;Pe&&he.transform&&Pe.applyMatrix4(ca.fromArray(he.transform));var ee=null,re=new d.Matrix4,U=new d.Matrix4;Ce.coordinate?(ee=Ce.coordinate.ground_height,re.fromArray(Ce.coordinate.pose_ecef_to_enu),U.fromArray(Ce.coordinate.pose_enu_to_ecef)):(Pe?Pe.getCenter(_t):_t.setScalar(0),ws(H,_t,re),U.getInverse(re));var Ve=new d.Matrix4().copy(vi),ke=new d.Matrix4().copy(Ai),Te=new d.Matrix4().premultiply(re).premultiply(Ve),Ge=new d.Matrix4().getInverse(Te);ue.root={refine:(ie=he.refine)!==null&&ie!==void 0?ie:"REPLACE",geometricError:he.geometricError,transform:Te.toArray(),boundingVolume:Pe?Pe.toJson():void 0,viewerRequestVolume:!((ce=r["3d-tiles"])===null||ce===void 0)&&ce.viewerRequestVolume?(ne=r["3d-tiles"])===null||ne===void 0?void 0:ne.viewerRequestVolume.toJson():void 0,children:[he]};var be=new $r(a,ue,{name:K,type:j,upAxis:H,url:Q,referer:Q,search:fe,fetcher:it(e),groundHeight:ee,coordinateTransform:{localToEnuMatrix:ke,enuToLocalMatrix:Ve,enuToEcefMatrix:U,ecefToEnuMatrix:re,localToEcefMatrix:Ge,ecefToLocalMatrix:Te}});if(be.matrix.copy(e.transform),be.matrix.decompose(be.position,be.quaternion,be.scale),be.matrixWorldNeedsUpdate=!0,r["3d-tiles"]){var ye=r["3d-tiles"];typeof ye.debug!="undefined"&&(be.debug=ye.debug),typeof ye.minLevelOfDetail!="undefined"&&(be.minLevelOfDetail=ye.minLevelOfDetail),typeof ye.maxLevelOfDetail!="undefined"&&(be.maxLevelOfDetail=ye.maxLevelOfDetail),typeof ye.skipLevelOfDetail!="undefined"&&(be.skipLevelOfDetail=ye.skipLevelOfDetail),typeof ye.loadSiblings!="undefined"&&(be.loadSiblings=ye.loadSiblings),typeof ye.maxMemoryUsage!="undefined"&&(be.maxMemoryUsage=ye.maxMemoryUsage),typeof ye.maxRequests!="undefined"&&(be.maxRequests=ye.maxRequests),typeof ye.maxScreenSpaceError!="undefined"&&(be.maxScreenSpaceError=ye.maxScreenSpaceError)}return new mi(be,null)});y.push($.catch(function(ae){a.onError(ae);var ie=new d.Matrix4,ce=new d.Matrix4,ne=new d.Matrix4().copy(vi),ve=new d.Matrix4().copy(Ai),ue=new d.Matrix4().premultiply(ie).premultiply(ne),he=new d.Matrix4().getInverse(ue),Se=Q?Q.slice(0,Q.lastIndexOf("/")+1):"",Ce=pi({asset:{version:"0.0"},geometricError:0,root:{geometricError:0}},Se),Pe=new $r(a,Ce,{name:K,type:j,upAxis:H,url:Q,referer:Q,search:fe,fetcher:it(e),groundHeight:null,coordinateTransform:{localToEnuMatrix:ve,enuToLocalMatrix:ne,enuToEcefMatrix:ce,ecefToEnuMatrix:ie,localToEcefMatrix:he,ecefToLocalMatrix:ue},onError:a.onError});return new mi(Pe,ae)}))},g=0,x=c.layers;g<x.length;g++){var b=x[g];p(b)}if(!v&&c.file){var w=c.file,E=c.textureBase,M=c.textures,C=Kf(w)||"at3d",I=C==="at3d"||C==="pbm"?"Z":"Y",S=new d.Matrix4,P=new d.Matrix4,B=new d.Matrix4().copy(vi),L=new d.Matrix4().copy(Ai);ws(I,_t.setScalar(0),S),P.getInverse(S);var k=new d.Matrix4().premultiply(S).premultiply(B),O=new d.Matrix4().getInverse(k),z=pi({asset:{gltfUpAxis:"Z",version:"0.0"},geometricError:0,root:{refine:"REPLACE",geometricError:0,transform:k.toArray(),viewerRequestVolume:!((s=r["3d-tiles"])===null||s===void 0)&&s.viewerRequestVolume?(u=r["3d-tiles"])===null||u===void 0?void 0:u.viewerRequestVolume.toJson():void 0,content:{uri:w},extras:(i={},i[C]={textureBaseUri:E,textureArray:M,textureOptions:(l=r.textureOptions)!==null&&l!==void 0?l:{}},i)}},""),N=new $r(this,z,{name:"fallback",type:"mesh",upAxis:I,url:"",referer:w,fetcher:it(e),groundHeight:null,coordinateTransform:{localToEnuMatrix:L,enuToLocalMatrix:B,enuToEcefMatrix:P,ecefToEnuMatrix:S,localToEcefMatrix:O,ecefToLocalMatrix:k},onError:this.onError});N.matrix.copy(e.transform),N.matrix.decompose(N.position,N.quaternion,N.scale),N.matrixWorldNeedsUpdate=!0;var X=new mi(N,null);y.push(Promise.resolve(X))}return Promise.all(y).then(function(G){for(var Q,H=[],K=[],j=[],J=0,Z=G;J<Z.length;J++){var Y=Z[J];if(a.viewLayers.push(Y),a.disposed){Y.scene.dispose();continue}switch(a.add(Y.scene),Y.scene.visible=!1,Y.scene.type){case"mesh":H.push(Y.scene);break;case"point_cloud":K.push(Y.scene);break;default:j.push(Y.scene);break}}H.length?H[0].visible=!0:K.length?K[0].visible=!0:j.length&&(j[0].visible=!0);var fe=(Q=r["3d-tiles"])===null||Q===void 0?void 0:Q.showLayers;if(typeof fe=="boolean")for(var $=0,ae=G;$<ae.length;$++){var Y=ae[$];Y.scene&&(Y.scene.visible=fe)}else if(Array.isArray(fe))for(var ie=0,ce=G;ie<ce.length;ie++){var Y=ce[ie];Y.scene&&(Y.scene.visible=fe.indexOf(Y.scene.name)!==-1)}})},t.prototype.update=function(e,r,i){if(this.children.length){var a=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 o=0,s=this.viewLayers;o<s.length;o++){var u=s[o],l=u.scene;l&&(this.work&&(l.idle=this.materialParameters.modelAlpha===0||!l.loaded,l.cacheCameras=this.cacheCameras,this.autoRefine===!1?l.needsRefined=!1:Xn(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()||(xs.copy(l.boundingBox).applyMatrix4(l.matrix),this.bounding.union(xs)),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(du),a===!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 d.Vector3,new d.Vector3)},t.prototype.dispose=function(){this.disposed=!0;for(var e;e=this.children[0];)e instanceof $r&&e.dispose(),this.remove(e)},t}(d.Object3D);function Es(){var n=new d.Box3,t=xf(we,["clippers","shownFloorIndex","brightness"]),e=Object.assign([],{bounding:n,needsRender:!1,refined:!1,refineProgress:[0,0],loaded:!1,materialVersion:0,cacheCameras:[],autoUpdate:!0,intersectRaycaster:function(r,i,a){a===void 0&&(a=!0);var o;if(e.length===1)o=e[0].intersectRaycaster(r,i,a);else if(e.length===0)o=[];else{o=[];for(var s=0,u=e;s<u.length;s++){var l=u[s];if(l.visible){var c=l.intersectRaycaster(r,i,!1);c.length&&o.push.apply(o,c)}}a&&o.sort(function(h,A){return h.distance-A.distance})}return o},setMaterial:function(r){var i=v0(t,r);i&&(e.materialVersion++,e.needsRender=!0)},getMaterial:function(){return F({},t)},resetBrightness:function(){for(var r=0,i=e;r<i.length;r++){var a=i[r];a.setMaterial({brightness:1})}},update:function(r,i,a){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 o=0,s=e.cacheCameras;o<s.length;o++){var u=s[o];u.updateMatrixWorld(!0),u.updateProjectionMatrix()}for(var l=0,c=0,h=e;c<h.length;c++){for(var A=h[c],m=0,f=A.viewLayers;m<f.length;m++){var v=f[m];v.scene.modelIndex=l++}A.setMaterial(t),A.cacheCameras=e.cacheCameras,A.update(r,i,a),A.needsRender===!0&&(e.needsRender=!0,A.needsRender=!1),A.refined===!1&&(e.refined=!1),e.refineProgress[0]+=A.refineProgress[0],e.refineProgress[1]+=A.refineProgress[1],A.loaded===!1&&(e.loaded=!1),n.union(A.bounding)}n.isEmpty()&&n.copy(du)}}});return e}function gi(n,t,e){return n+(t-n)*e}function jf(n,t,e,r){var i=(t*e+2*n)/Math.pow(e,3),a=-(2*t*e+3*n)/Math.pow(e,2),o=t,s=n;return i*Math.pow(r,3)+a*Math.pow(r,2)+o*r+s}function Jf(n,t,e,r){var i=(t*e+2*n)/Math.pow(e,3),a=-(2*t*e+3*n)/Math.pow(e,2),o=t;return 3*i*Math.pow(r,2)+2*a*r+o}function Xf(n,t,e,r){var i=r[1]-r[0];return n=Pi(n,r),t=Pi(t,r),t-n>i/2?gi(n+i,t,e):n-t>i/2?gi(n-i,t,e):gi(n,t,e)}function Pi(n,t){var e=t[1]-t[0];return n<t[0]?Pi(n+e,t):n>=t[1]?Pi(n-e,t):n}function Wf(n,t,e,r){return r?Xf(n,t,e,r):gi(n,t,e)}var Me=function(){function n(t){this.config={},this.progress=1,this.ended=!0,this.value={},this.startTime=Ee(),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:F({},this.value)},{progress:1,value:F({},this.value)}]}return n.prototype.getProgress=function(t){var e=t-this.startTime;return e<0?0:e>=this.duration?1:1-jf(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],a={};for(var o in this.config){var s=(t-r.progress)/(i.progress-r.progress);a[o]=Wf(r.value[o],i.value[o],s,this.config[o].circle)}return a}return F({},this.keyframes[this.keyframes.length-1].value)},n.prototype.getProgressVelocity=function(t){var e=t-this.startTime;return e>=this.duration?0:Jf(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 a;r===void 0&&(r=0),isNaN(e)&&(e=0),isNaN(r)&&(r=0),i=i!=null?i:Ee();var o=this.getProgress(i),s=this.getValue(o),u={};for(var l in this.config)u[l]=(a=t[l])!==null&&a!==void 0?a:s[l];var c=[{progress:0,value:s},{progress:1,value:u}];return this.setKeyframes(c,e,r,i)},n.prototype.setKeyframes=function(t,e,r,i){var a=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(o,s){i=i!=null?i:Ee(),a.progress=0,a.ended=!1,a.startTime=i,a.startVelocity=r,a.keyframes=t,a.duration=e,e===0?(a.progress=1,a.value=F({},t[t.length-1].value)):a.value=F({},t[0].value),a.callbacks=[o,s]})},n.prototype.dispose=function(){this.callbacks&&(this.callbacks[1](new Error("motion dispose.")),this.callbacks=void 0)},n}(),Cs=function(n){return n*(2-n)},_f=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 d.BufferGeometry;return r.setAttribute("position",new d.BufferAttribute(n,3)),r.setAttribute("uv",new d.BufferAttribute(t,2)),r.setIndex(new d.BufferAttribute(e,1)),r}(),Zf=`
932
+ `+JSON.stringify(n))}}function Ha(n){for(var t={},e=[],r={},i=0,a=n;i<a.length;i++){var o=a[i],s=t[o.workCode];s||(s=t[o.workCode]=new d.Matrix4().copy(o.options.transform));for(var l=0,u=o.observers;l<u.length;l++){var c=u[l],f={isResolved:!0,active:c.active,accessibleIds:c.accessibleIds,visibleIds:c.visibleIds,accessibleNodes:c.accessibleNodes,visibleNodes:c.visibleNodes,floorIndex:c.floorIndex,images:c.images,index:c.index,panoIndex:c.panoIndex,loadable:c.loadable,panoId:c.panoId,pano:c.pano,work:c.work,derivedId:c.derivedId,video:c.video,position:new d.Vector3().copy(c.position).applyMatrix4(s),standingPosition:new d.Vector3().copy(c.standingPosition).applyMatrix4(s),quaternion:new d.Quaternion().setFromRotationMatrix(ws.makeRotationFromQuaternion(c.quaternion).premultiply(s))};Object.freeze(f),e.push(f),r[f.panoId]=f}}Object.freeze(e);for(var A=n.slice(),m={},h=0,p=A;h<p.length;h++){var o=p[h];m[o.workCode]=o}return Object.freeze(Object.assign(A,{get initial(){return A.length>0?A[0].initial:{work:{}}},get resolvedObservers(){return e},getWork:function(y){return m[y]},getResolvedObserver:function(y){var v,g;return b0(y)?r[y]:typeof y=="number"?r[ze({workCode:(g=(v=n[0])===null||v===void 0?void 0:v.workCode)!==null&&g!==void 0?g:"",panoIndex:y})]:r[ze(y)]},update:function(){for(var y={},v=0,g=A;v<g.length;v++){var x=g[v],b=x.options.transform,w=t[x.workCode];w?w.equals(b)||(w.copy(b),y[x.workCode]=!0):(t[x.workCode]=new d.Matrix4().copy(b),y[x.workCode]=!0)}for(var E=0,I=e;E<I.length;E++){var M=I[E];if(y[M.work.workCode]===!0){var k=M.work.observers[M.index],B=M.work.options.transform;M.position.copy(k.position).applyMatrix4(B),M.standingPosition.copy(k.standingPosition).applyMatrix4(B),M.quaternion.setFromRotationMatrix(ws.makeRotationFromQuaternion(k.quaternion).premultiply(B))}}}}))}var bu=new Map;function it(n){var t=bu.get(n);if(t)return t;throw new Error("fetcher never registered.")}function ih(n,t){return bu.set(n,t)}var Ms={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,a=e.normal.array,o=e.uv.array,s=i.length/3;e.tangent===void 0&&n.setAttribute("tangent",new d.BufferAttribute(new Float32Array(4*s),4));for(var l=e.tangent.array,u=[],c=[],f=0;f<s;f++)u[f]=new d.Vector3,c[f]=new d.Vector3;var A=new d.Vector3,m=new d.Vector3,h=new d.Vector3,p=new d.Vector2,y=new d.Vector2,v=new d.Vector2,g=new d.Vector3,x=new d.Vector3;function b(H,q,J){A.fromArray(i,H*3),m.fromArray(i,q*3),h.fromArray(i,J*3),p.fromArray(o,H*2),y.fromArray(o,q*2),v.fromArray(o,J*2);var G=m.x-A.x,W=h.x-A.x,_=m.y-A.y,Y=h.y-A.y,oe=m.z-A.z,$=h.z-A.z,ae=y.x-p.x,ne=v.x-p.x,le=y.y-p.y,ie=v.y-p.y,ge=1/(ae*ie-ne*le);g.set((ie*G-le*W)*ge,(ie*_-le*Y)*ge,(ie*oe-le*$)*ge),x.set((ae*W-ne*G)*ge,(ae*Y-ne*_)*ge,(ae*$-ne*oe)*ge),u[H].add(g),u[q].add(g),u[J].add(g),c[H].add(x),c[q].add(x),c[J].add(x)}var w=n.groups;w.length===0&&(w=[{start:0,count:r.length}]);for(var f=0,E=w.length;f<E;++f)for(var I=w[f],M=I.start,k=I.count,B=M,C=M+k;B<C;B+=3)b(r[B+0],r[B+1],r[B+2]);var T=new d.Vector3,O=new d.Vector3,P=new d.Vector3,F=new d.Vector3,V,z,j;function K(H){P.fromArray(a,H*3),F.copy(P),z=u[H],T.copy(z),T.sub(P.multiplyScalar(P.dot(z))).normalize(),O.crossVectors(F,z),j=O.dot(c[H]),V=j<0?-1:1,l[H*4]=T.x,l[H*4+1]=T.y,l[H*4+2]=T.z,l[H*4+3]=V}for(var f=0,E=w.length;f<E;++f)for(var I=w[f],M=I.start,k=I.count,B=M,C=M+k;B<C;B+=3)K(r[B+0]),K(r[B+1]),K(r[B+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)),a={},o={},s=new d.BufferGeometry,l=0,u=0;u<n.length;++u){var c=n[u];if(e!==(c.index!==null))return null;for(var f in c.attributes){if(!r.has(f))return null;a[f]===void 0&&(a[f]=[]),a[f].push(c.attributes[f])}for(var f in c.morphAttributes){if(!i.has(f))return null;o[f]===void 0&&(o[f]=[]),o[f].push(c.morphAttributes[f])}if(s.userData.mergedUserData=s.userData.mergedUserData||[],s.userData.mergedUserData.push(c.userData),t){var A;if(e)A=c.index.count;else if(c.attributes.position!==void 0)A=c.attributes.position.count;else return null;s.addGroup(l,A,u),l+=A}}if(e){for(var m=0,h=[],u=0;u<n.length;++u){for(var p=n[u].index,y=0;y<p.count;++y)h.push(p.getX(y)+m);m+=n[u].attributes.position.count}s.setIndex(h)}for(var f in a){var v=this.mergeBufferAttributes(a[f]);if(!v)return null;s.setAttribute(f,v)}for(var f in o){var g=o[f][0].length;if(g===0)break;s.morphAttributes=s.morphAttributes||{},s.morphAttributes[f]=[];for(var u=0;u<g;++u){for(var x=[],y=0;y<o[f].length;++y)x.push(o[f][y][u]);var b=this.mergeBufferAttributes(x);if(!b)return null;s.morphAttributes[f].push(b)}}return s},mergeBufferAttributes:function(n){for(var t,e,r,i=0,a=0;a<n.length;++a){var o=n[a];if(o.isInterleavedBufferAttribute||(t===void 0&&(t=o.array.constructor),t!==o.array.constructor)||(e===void 0&&(e=o.itemSize),e!==o.itemSize)||(r===void 0&&(r=o.normalized),r!==o.normalized))return null;i+=o.array.length}for(var s=new t(i),l=0,a=0;a<n.length;++a)s.set(n[a].array,l),l+=n[a].array.length;return new d.BufferAttribute(s,e,r)},interleaveAttributes:function(n){for(var t,e=0,r=0,i=0,a=n.length;i<a;++i){var o=n[i];if(t===void 0&&(t=o.array.constructor),t!==o.array.constructor)return console.warn("AttributeBuffers of different types cannot be interleaved"),null;e+=o.array.length,r+=o.itemSize}for(var s=new d.InterleavedBuffer(new t(e),r),l=0,u=[],c=["getX","getY","getZ","getW"],f=["setX","setY","setZ","setW"],A=0,a=n.length;A<a;A++){var o=n[A],m=o.itemSize,h=o.count,p=new d.InterleavedBufferAttribute(s,m,l,o.normalized);u.push(p),l+=m;for(var y=0;y<h;y++)for(var v=0;v<m;v++)p[f[v]](y,o[c[v]](y))}return u},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"),a=r?r.count:i.count,o=0,s=Object.keys(n.attributes),l={},u={},c=[],f=["getX","getY","getZ","getW"],A=0,m=s.length;A<m;A++){var h=s[A];l[h]=[];var p=n.morphAttributes[h];p&&(u[h]=new Array(p.length).fill().map(function(){return[]}))}for(var y=Math.log10(1/t),v=Math.pow(10,y),A=0;A<a;A++){for(var g=r?r.getX(A):A,x="",b=0,m=s.length;b<m;b++)for(var h=s[b],w=n.getAttribute(h),E=w.itemSize,I=0;I<E;I++)x+="".concat(~~(w[f[I]](g)*v),",");if(x in e)c.push(e[x]);else{for(var b=0,m=s.length;b<m;b++)for(var h=s[b],w=n.getAttribute(h),p=n.morphAttributes[h],E=w.itemSize,M=l[h],k=u[h],I=0;I<E;I++){var B=f[I];if(M.push(w[B](g)),p)for(var C=0,T=p.length;C<T;C++)k[C].push(p[C][B](g))}e[x]=o,c.push(o),o++}}for(var O=n.clone(),A=0,m=s.length;A<m;A++){var h=s[A],P=n.getAttribute(h),F=new P.array.constructor(l[h]),w=new d.BufferAttribute(F,P.itemSize,P.normalized);if(O.setAttribute(h,w),h in u)for(var b=0;b<u[h].length;b++){var V=n.morphAttributes[h][b],F=new V.array.constructor(u[h][b]),z=new d.BufferAttribute(F,V.itemSize,V.normalized);O.morphAttributes[h][b]=z}}return O.setIndex(c),O}};function Ga(n){switch(n){case"Floorplan":return!0;case"Mapview":return!0;default:return!1}}function jn(n){switch(n){case"Panorama":return!0;case"VRPanorama":return!0;case"XRPanorama":return!0;case"Model":return!0;default:return!1}}var _t=new d.Vector3,ha=new d.Sphere,pa=new d.Matrix4,Is=new d.Matrix4,Ss=new d.Box3,gi=new d.Matrix4().fromArray([1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1]),yi=new d.Matrix4().fromArray([1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1]),xu=new d.Box3(new d.Vector3(-.5,-.5,-.5),new d.Vector3(.5,.5,.5));function Ts(n,t,e){switch(n){case"Z":break;case"Y":e.copy(yi);break;case"-Y":e.copy(gi);break;case"WGS84":case"GCJ02":case"BD09":Xf(t,e);break;default:e.identity();break}return e}function ah(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 bi=function(){function n(t,e){this.scene=t,this.error=e,t.viewLayer=this}return Object.defineProperty(n.prototype,"name",{get:function(){return this.scene.name},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"type",{get:function(){return this.scene.type},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"upAxis",{get:function(){return this.scene.upAxis},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"groundHeight",{get:function(){return this.scene.groundHeight},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"model",{get:function(){return this.scene.model},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"coordinates",{get:function(){_t.setScalar(0);var t=this.scene.localToLla(_t),e=t.x,r=t.y;return[e,r].map(function(i){return(i/Math.PI*180).toFixed(6)}).join(",")},enumerable:!1,configurable:!0}),n.prototype.getTransformMatrix4=function(t){return t===void 0&&(t=new d.Matrix4),t.copy(this.scene.coordinateTransform.ecefToLocalMatrix),this.scene&&t.premultiply(this.scene.matrixWorld),t},n.prototype.coordinatesToWorldPoint=function(t){var e=new d.Vector3(t.latitude,t.longitude,t.altitude);return this.scene.llaToWorld(e)},n.prototype.worldPointToCoordinates=function(t){return _t.copy(t),this.scene.worldToLla(_t),{latitude:_t.x,longitude:_t.y,altitude:_t.z}},n}(),Ka=function(n){ue(t,n);function t(e){e===void 0&&(e={});var r,i,a,o=n.call(this)||this;return o.name="",o.onError=(r=e.onError)!==null&&r!==void 0?r:D,o.onShownFloorChange=(i=e.onShownFloorChange)!==null&&i!==void 0?i:D,o.onLoad=(a=e.onLoad)!==null&&a!==void 0?a:D,o.work=null,o.viewLayers=[],o.bounding=new d.Box3(new d.Vector3,new d.Vector3),o.floorLength=0,o.textureOptions={},o.refined=!1,o.refineProgress=[0,0],o.loaded=!1,o.matrixAutoUpdate=!1,o.needsRender=!0,o.autoRefine=!0,o.materialVersion=0,o.materialParameters=L({},we),o.cacheCameras=[],o.disposed=!1,o}return Object.defineProperty(t.prototype,"empty",{get:function(){return this.viewLayers.length===0},enumerable:!1,configurable:!0}),t.prototype.getMaterial=function(){return L({},this.materialParameters)},t.prototype.setMaterial=function(e){var r=this.materialParameters.shownFloorIndex,i=x0(this.materialParameters,e);if(i){var a=this.materialParameters.shownFloorIndex;r!==a&&this.onShownFloorChange(a),this.materialVersion++,this.needsRender=!0}},Object.defineProperty(t.prototype,"brightness",{get:function(){return this.materialParameters.brightness},set:function(e){this.setMaterial({brightness:typeof e=="number"?e:1})},enumerable:!1,configurable:!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),a=[],o=0,s=this.children;o<s.length;o++){var l=s[o];l instanceof en&&l.tileset.selectedTiles.forEach(function(u){var c,f,A;if(!(u.boundingVolume&&u.boundingVolume.distanceToPoint(e.center)>e.radius)){var m=(f=(c=u.content)===null||c===void 0?void 0:c.data)===null||f===void 0?void 0:f.object;if(m&&m.visible){var h=[];if(m.traverseVisible(function(J){if(J instanceof d.Mesh){var G=xd.get(J);if(G){pa.copy(J.matrixWorld),Is.getInverse(pa),ha.copy(e).applyMatrix4(Is);var W=G.trianglesInSphere(ha.center,ha.radius),_=new d.BufferGeometry;_.setAttribute("position",new d.BufferAttribute(W,3)),_.applyMatrix4(J.matrixWorld),_=Ms.mergeVertices(_,.01),h.push(_)}}}),h.length===0)return;for(var p=["a","b","c"],y=Ms.mergeBufferGeometries(h,!1),v=y.getAttribute("position").array,g=((A=y.getIndex())===null||A===void 0?void 0:A.array)||[],x=[],b=[],w=0,E=v.length;w<E;w+=3){var I=new d.Vector3(v[w],v[w+1],v[w+2]);x.push(I)}for(var w=0,E=g.length;w<E;w+=3){var M=g[w],k=g[w+1],B=g[w+2],C=new d.Vector3().crossVectors(x[k].clone().sub(x[M]),x[B].clone().sub(x[M])).normalize();b.push({a:M,b:k,c:B,normal:C})}for(var T={},w=0,E=b.length;w<E;w++)for(var O=b[w],P=0;P<3;P++){var F=O[p[P]],V=O[p[(P+1)%3]],z=[Math.min(F,V),Math.max(F,V)],j=z[0]+"-"+z[1];T[j]===void 0?T[j]={index1:z[0],index2:z[1],face1:w}:T[j].face2=w}for(var j in T){var K=T[j];if(K.face2===void 0||b[K.face1].normal.dot(b[K.face2].normal)<=i){var H=x[K.index1],q=x[K.index2];a.push(new d.Line3(H,q))}}x.length=0,b.length=0}}})}return a},t.prototype.intersectRaycaster=function(e,r,i){r===void 0&&(r=null),i===void 0&&(i=!0);for(var a=[],o=0,s=this.children.length;o<s;o++){var l=this.children[o];l.visible&&l instanceof en&&l.intersectRaycaster(e,!1,a)}return r!=null&&(a=a.filter(function(u){return u.floor===r})),this.getMaterial().pointBack==="HIDDEN"&&(a=a.filter(function(u){return!(u.object instanceof wr&&u.face&&u.face.normal.angleTo(e.ray.direction)<Math.PI/2)})),i&&a.sort(function(u,c){return u.distance-c.distance}),a},t.prototype.load=function(e,r){var i,a=this,o,s,l,u;if(r===void 0&&(r={}),this.work=e,this.name=this.work.workCode,!e.model)return Promise.resolve();for(var c=e.model,f=0,A=0,m=e.observers;A<m.length;A++){var h=m[A];f=Math.max(f,h.floorIndex)}this.floorLength=f+1;for(var p=!1,y=[],v=function(K){var H=K.tileset,q=K.upAxis,J=K.name,G=K.type;G==="mesh"&&(p=!0);var W=H.split("#"),_=W[0],Y=W[1],oe=(o=(Y||_).split("?")[1])!==null&&o!==void 0?o:"",$=it(e).ajax(H,{responseType:"text"}).then(function(ae){var ne,le,ie,ge=H?H.slice(0,H.lastIndexOf("/")+1):"",he=mi(JSON.parse(ae.body),ge),ve=he.root,Re=he.rootMeta,Ce=Re===void 0?{}:Re;Ce.upAxis&&Ce.upAxis!==q&&(q=Ce.upAxis),"lodVersion"in he&&(q="-Y","floorInfo"in he&&(he.properties=he.properties||{},he.properties.floorInfo=he.floorInfo.map(function(me){return{ground:-me.ground,height:me.height}}),delete he.floorInfo),he.asset.tilesetVersion=String(he.lodVersion),delete he.lodVersion);var Te=ve.boundingVolume?Ai(ve.boundingVolume):void 0;Te&&ve.transform&&Te.applyMatrix4(pa.fromArray(ve.transform));var ee=null,re=new d.Matrix4,Q=new d.Matrix4;Ce.coordinate?(ee=Ce.coordinate.ground_height,re.fromArray(Ce.coordinate.pose_ecef_to_enu),Q.fromArray(Ce.coordinate.pose_enu_to_ecef)):(Te?Te.getCenter(_t):_t.setScalar(0),Ts(q,_t,re),Q.getInverse(re));var Ve=new d.Matrix4().copy(gi),ke=new d.Matrix4().copy(yi),Se=new d.Matrix4().premultiply(re).premultiply(Ve),Ge=new d.Matrix4().getInverse(Se);he.root={refine:(ne=ve.refine)!==null&&ne!==void 0?ne:"REPLACE",geometricError:ve.geometricError,transform:Se.toArray(),boundingVolume:Te?Te.toJson():void 0,viewerRequestVolume:!((le=r["3d-tiles"])===null||le===void 0)&&le.viewerRequestVolume?(ie=r["3d-tiles"])===null||ie===void 0?void 0:ie.viewerRequestVolume.toJson():void 0,children:[ve]};var be=new en(a,he,{name:J,type:G,upAxis:q,url:H,referer:H,search:oe,fetcher:it(e),groundHeight:ee,coordinateTransform:{localToEnuMatrix:ke,enuToLocalMatrix:Ve,enuToEcefMatrix:Q,ecefToEnuMatrix:re,localToEcefMatrix:Ge,ecefToLocalMatrix:Se}});if(be.matrix.copy(e.transform),be.matrix.decompose(be.position,be.quaternion,be.scale),be.matrixWorldNeedsUpdate=!0,r["3d-tiles"]){var ye=r["3d-tiles"];typeof ye.debug!="undefined"&&(be.debug=ye.debug),typeof ye.minLevelOfDetail!="undefined"&&(be.minLevelOfDetail=ye.minLevelOfDetail),typeof ye.maxLevelOfDetail!="undefined"&&(be.maxLevelOfDetail=ye.maxLevelOfDetail),typeof ye.skipLevelOfDetail!="undefined"&&(be.skipLevelOfDetail=ye.skipLevelOfDetail),typeof ye.loadSiblings!="undefined"&&(be.loadSiblings=ye.loadSiblings),typeof ye.maxMemoryUsage!="undefined"&&(be.maxMemoryUsage=ye.maxMemoryUsage),typeof ye.maxRequests!="undefined"&&(be.maxRequests=ye.maxRequests),typeof ye.maxScreenSpaceError!="undefined"&&(be.maxScreenSpaceError=ye.maxScreenSpaceError)}return new bi(be,null)});y.push($.catch(function(ae){a.onError(ae);var ne=new d.Matrix4,le=new d.Matrix4,ie=new d.Matrix4().copy(gi),ge=new d.Matrix4().copy(yi),he=new d.Matrix4().premultiply(ne).premultiply(ie),ve=new d.Matrix4().getInverse(he),Re=H?H.slice(0,H.lastIndexOf("/")+1):"",Ce=mi({asset:{version:"0.0"},geometricError:0,root:{geometricError:0}},Re),Te=new en(a,Ce,{name:J,type:G,upAxis:q,url:H,referer:H,search:oe,fetcher:it(e),groundHeight:null,coordinateTransform:{localToEnuMatrix:ge,enuToLocalMatrix:ie,enuToEcefMatrix:le,ecefToEnuMatrix:ne,localToEcefMatrix:ve,ecefToLocalMatrix:he},onError:a.onError});return new bi(Te,ae)}))},g=0,x=c.layers;g<x.length;g++){var b=x[g];v(b)}if(!p&&c.file){var w=c.file,E=c.textureBase,I=c.textures,M=ah(w)||"at3d",k=M==="at3d"||M==="pbm"?"Z":"Y",B=new d.Matrix4,C=new d.Matrix4,T=new d.Matrix4().copy(gi),O=new d.Matrix4().copy(yi);Ts(k,_t.setScalar(0),B),C.getInverse(B);var P=new d.Matrix4().premultiply(B).premultiply(T),F=new d.Matrix4().getInverse(P),V=mi({asset:{gltfUpAxis:"Z",version:"0.0"},geometricError:0,root:{refine:"REPLACE",geometricError:0,transform:P.toArray(),viewerRequestVolume:!((s=r["3d-tiles"])===null||s===void 0)&&s.viewerRequestVolume?(l=r["3d-tiles"])===null||l===void 0?void 0:l.viewerRequestVolume.toJson():void 0,content:{uri:w},extras:(i={},i[M]={textureBaseUri:E,textureArray:I,textureOptions:(u=r.textureOptions)!==null&&u!==void 0?u:{}},i)}},""),z=new en(this,V,{name:"fallback",type:"mesh",upAxis:k,url:"",referer:w,fetcher:it(e),groundHeight:null,coordinateTransform:{localToEnuMatrix:O,enuToLocalMatrix:T,enuToEcefMatrix:C,ecefToEnuMatrix:B,localToEcefMatrix:F,ecefToLocalMatrix:P},onError:this.onError});z.matrix.copy(e.transform),z.matrix.decompose(z.position,z.quaternion,z.scale),z.matrixWorldNeedsUpdate=!0;var j=new bi(z,null);y.push(Promise.resolve(j))}return Promise.all(y).then(function(K){for(var H,q=[],J=[],G=[],W=0,_=K;W<_.length;W++){var Y=_[W];if(a.viewLayers.push(Y),a.disposed){Y.scene.dispose();continue}switch(a.add(Y.scene),Y.scene.visible=!1,Y.scene.type){case"mesh":q.push(Y.scene);break;case"point_cloud":J.push(Y.scene);break;default:G.push(Y.scene);break}}q.length?q[0].visible=!0:J.length?J[0].visible=!0:G.length&&(G[0].visible=!0);var oe=(H=r["3d-tiles"])===null||H===void 0?void 0:H.showLayers;if(typeof oe=="boolean")for(var $=0,ae=K;$<ae.length;$++){var Y=ae[$];Y.scene&&(Y.scene.visible=oe)}else if(Array.isArray(oe))for(var ne=0,le=K;ne<le.length;ne++){var Y=le[ne];Y.scene&&(Y.scene.visible=oe.indexOf(Y.scene.name)!==-1)}})},t.prototype.update=function(e,r,i){if(this.children.length){var a=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 o=0,s=this.viewLayers;o<s.length;o++){var l=s[o],u=l.scene;u&&(this.work&&(u.idle=this.materialParameters.modelAlpha<=0,u.cacheCameras=this.cacheCameras,this.autoRefine===!1?u.needsRefined=!1:jn(i)?u.needsRefined=this.materialParameters.modelAlpha===0||this.materialParameters.modelAlpha===1:u.needsRefined=!0,this.work.transform.equals(u.matrix)||(u.matrix.copy(this.work.transform),u.matrix.decompose(u.position,u.quaternion,u.scale),u.matrixWorldNeedsUpdate=!0)),u.update(e,r),u.boundingBox.isEmpty()||(Ss.copy(u.boundingBox).applyMatrix4(u.matrix),this.bounding.union(Ss)),u.needsRender===!0&&(u.needsRender=!1,this.needsRender=!0),u.refined===!1&&(this.refined=!1),this.refineProgress[0]+=u.refineProgress[0],this.refineProgress[1]+=u.refineProgress[1],u.loaded===!1&&(this.loaded=!1))}this.bounding.isEmpty()&&this.bounding.copy(xu),a===!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 d.Vector3,new d.Vector3)},t.prototype.dispose=function(){this.disposed=!0;for(var e;e=this.children[0];)e instanceof en&&e.dispose(),this.remove(e)},t}(d.Object3D);function Ps(){var n=new d.Box3,t=Of(we,["clippers","shownFloorIndex","brightness"]),e=Object.assign([],{bounding:n,needsRender:!1,refined:!1,refineProgress:[0,0],loaded:!1,materialVersion:0,cacheCameras:[],autoUpdate:!0,intersectRaycaster:function(r,i,a){a===void 0&&(a=!0);var o;if(e.length===1)o=e[0].intersectRaycaster(r,i,a);else if(e.length===0)o=[];else{o=[];for(var s=0,l=e;s<l.length;s++){var u=l[s];if(u.visible){var c=u.intersectRaycaster(r,i,!1);c.length&&o.push.apply(o,c)}}a&&o.sort(function(f,A){return f.distance-A.distance})}return o},setMaterial:function(r){var i=x0(t,r);i&&(e.materialVersion++,e.needsRender=!0)},getMaterial:function(){return L({},t)},resetBrightness:function(){for(var r=0,i=e;r<i.length;r++){var a=i[r];a.setMaterial({brightness:1})}},update:function(r,i,a){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 o=0,s=e.cacheCameras;o<s.length;o++){var l=s[o];l.updateMatrixWorld(!0),l.updateProjectionMatrix()}for(var u=0,c=0,f=e;c<f.length;c++){for(var A=f[c],m=0,h=A.viewLayers;m<h.length;m++){var p=h[m];p.scene.modelIndex=u++}A.setMaterial(t),A.cacheCameras=e.cacheCameras,A.update(r,i,a),A.needsRender===!0&&(e.needsRender=!0,A.needsRender=!1),A.refined===!1&&(e.refined=!1),e.refineProgress[0]+=A.refineProgress[0],e.refineProgress[1]+=A.refineProgress[1],A.loaded===!1&&(e.loaded=!1),n.union(A.bounding)}n.isEmpty()&&n.copy(xu)}}});return e}function xi(n,t,e){return n+(t-n)*e}function oh(n,t,e,r){var i=(t*e+2*n)/Math.pow(e,3),a=-(2*t*e+3*n)/Math.pow(e,2),o=t,s=n;return i*Math.pow(r,3)+a*Math.pow(r,2)+o*r+s}function sh(n,t,e,r){var i=(t*e+2*n)/Math.pow(e,3),a=-(2*t*e+3*n)/Math.pow(e,2),o=t;return 3*i*Math.pow(r,2)+2*a*r+o}function uh(n,t,e,r){var i=r[1]-r[0];return n=ki(n,r),t=ki(t,r),t-n>i/2?xi(n+i,t,e):n-t>i/2?xi(n-i,t,e):xi(n,t,e)}function ki(n,t){var e=t[1]-t[0];return n<t[0]?ki(n+e,t):n>=t[1]?ki(n-e,t):n}function lh(n,t,e,r){return r?uh(n,t,e,r):xi(n,t,e)}var Me=function(){function n(t){this.config={},this.progress=1,this.ended=!0,this.value={},this.startTime=Ee(),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:L({},this.value)},{progress:1,value:L({},this.value)}]}return n.prototype.getProgress=function(t){var e=t-this.startTime;return e<0?0:e>=this.duration?1:1-oh(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],a={};for(var o in this.config){var s=(t-r.progress)/(i.progress-r.progress);a[o]=lh(r.value[o],i.value[o],s,this.config[o].circle)}return a}return L({},this.keyframes[this.keyframes.length-1].value)},n.prototype.getProgressVelocity=function(t){var e=t-this.startTime;return e>=this.duration?0:sh(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 a;r===void 0&&(r=0),isNaN(e)&&(e=0),isNaN(r)&&(r=0),i=i!=null?i:Ee();var o=this.getProgress(i),s=this.getValue(o),l={};for(var u in this.config)l[u]=(a=t[u])!==null&&a!==void 0?a:s[u];var c=[{progress:0,value:s},{progress:1,value:l}];return this.setKeyframes(c,e,r,i)},n.prototype.setKeyframes=function(t,e,r,i){var a=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(o,s){i=i!=null?i:Ee(),a.progress=0,a.ended=!1,a.startTime=i,a.startVelocity=r,a.keyframes=t,a.duration=e,e===0?(a.progress=1,a.value=L({},t[t.length-1].value)):a.value=L({},t[0].value),a.callbacks=[o,s]})},n.prototype.dispose=function(){this.callbacks&&(this.callbacks[1](new Error("motion dispose.")),this.callbacks=void 0)},n}(),Bs=function(n){return n*(2-n)},ch=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 d.BufferGeometry;return r.setAttribute("position",new d.BufferAttribute(n,3)),r.setAttribute("uv",new d.BufferAttribute(t,2)),r.setIndex(new d.BufferAttribute(e,1)),r}(),dh=`
933
933
  varying vec2 vUv;
934
934
  #include <common>
935
935
  #include <logdepthbuf_pars_vertex>
@@ -938,7 +938,7 @@ void main() {
938
938
  gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
939
939
  #include <logdepthbuf_vertex>
940
940
  }
941
- `,Yf=`
941
+ `,fh=`
942
942
  uniform vec3 baseColor;
943
943
  uniform float circleScale;
944
944
  uniform float ringScale;
@@ -1041,7 +1041,7 @@ void main() {
1041
1041
 
1042
1042
  gl_FragColor = vec4(gl_FragColor.rgb * baseColor, gl_FragColor.a * opacity * opacity);
1043
1043
  }
1044
- `,fu=function(n){se(t,n);function t(e){e===void 0&&(e={});var r,i,a=n.call(this)||this,o=(r=e.color)!==null&&r!==void 0?r:16777215,s=(i=e.scale)!==null&&i!==void 0?i:1;return a.progress=0,a.opacity=0,a.loading=!1,a.current=!1,a.disabled=!1,a.currentMotion=new Me({progress:0}),a.ringMotion=new Me({scale:1,opacity:1}),a.tapMotion=new Me({scale:1,opacity:1}),a.loadingOpacityMotion=new Me({opacity:0}),a.progressMotion=new Me({progress:0}),a.progressOpacityMotion=new Me({opacity:0}),a.opacityMotion=new Me({opacity:0}),a.disableMotion=new Me({progress:0}),a.panoMesh=new d.Mesh(_f,new d.ShaderMaterial({blending:d.CustomBlending,blendSrc:d.SrcAlphaFactor,blendDst:d.OneMinusSrcAlphaFactor,blendSrcAlpha:d.OneFactor,blendDstAlpha:d.OneMinusSrcAlphaFactor,depthWrite:!1,vertexShader:Zf,fragmentShader:Yf,uniforms:{baseColor:{value:new d.Color(o)},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}}})),a.renderOrder=-2,a.panoMesh.renderOrder=-2,a.panoMesh.position.y=.004,a.panoMesh.scale.set(s,1,s),a.add(a.panoMesh),a.currentStartTime=Ee(),a.needsRender=!0,a}return t.prototype.setProgress=function(e){var r=this;this.setDisabled(!1),this.setLoading(!1),this.progress!==e&&(e=pe(e,0,1),this.tapMotion.ended&&(this.progress===0&&this.progressOpacityMotion.set({opacity:1},500).catch(D),e===0?this.progressOpacityMotion.set({opacity:0},500).catch(D).then(function(){r.progressMotion.set({progress:0},0).catch(D)}):this.progressMotion.set({progress:pe(e*1.2,0,1)},100).catch(D)),this.progress=e)},t.prototype.setOpacity=function(e){this.opacity!==e&&(this.opacity=e=pe(e,0,1),this.opacityMotion.set({opacity:e},200).catch(D))},t.prototype.setCurrent=function(e){this.current!==e&&(this.currentMotion.set({progress:e?1:0},2e3).catch(D),this.current=e,this.current===!0&&(this.currentStartTime=Ee()))},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(D))},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(D))},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(D),this.progressMotion.set({progress:0},0).catch(D),this.tapMotion.setKeyframes(r,600).then(function(){e.progressOpacityMotion.set({opacity:e.progress>0?1:0},300).catch(D),e.progressMotion.set({progress:e.progress},120).catch(D)}).catch(D)},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 a=this.progressOpacityMotion.value.opacity;this.panoMesh.material.uniforms.progressOpacity.value=a,this.needsRender=!0}if(!this.opacityMotion.ended){this.opacityMotion.update(e);var a=this.opacityMotion.value.opacity;this.panoMesh.material.uniforms.opacity.value=a,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 o=(e-this.currentStartTime-1500)/2e3;if(o%5<2){var s=1+Math.sin(Math.PI*o)/25*this.currentMotion.value.progress;this.panoMesh.material.uniforms.circleScale.value=s,this.needsRender=!0}}{var u=(e-this.currentStartTime-1500)/2e3;if(u%5<2){var l=u%1;this.panoMesh.material.uniforms.expand0.value=Cs(l)*this.currentMotion.value.progress,this.needsRender=!0}}{var c=(e-this.currentStartTime-1e3)/2e3;if(c%5<2){var l=c%1;this.panoMesh.material.uniforms.expand1.value=Cs(l)*this.currentMotion.value.progress,this.needsRender=!0}}}if(this.currentMotion.value.progress>.2&&this.progress===0&&this.loading===!1){var h=(e-this.currentStartTime-1e3)/2e3;h%5<2?this.ringMotion.getTargetKeyframe().value.scale!==.8&&this.ringMotion.set({scale:.8,opacity:0},600).catch(D):this.ringMotion.getTargetKeyframe().value.scale!==1&&this.ringMotion.set({scale:1,opacity:1},600).catch(D)}else this.ringMotion.getTargetKeyframe().value.scale!==1&&this.ringMotion.set({scale:1,opacity:1},600).catch(D);if(!this.ringMotion.ended){var A=this.ringMotion.value,s=A.scale,a=A.opacity;this.ringMotion.update(e),this.panoMesh.material.uniforms.ringScale.value=s,this.panoMesh.material.uniforms.ringOpacity.value=a,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}(d.Object3D),Ms=function(n){return n*(2-n)},$f=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 d.BufferGeometry;return r.setAttribute("position",new d.BufferAttribute(n,3)),r.setAttribute("uv",new d.BufferAttribute(t,2)),r.setIndex(new d.BufferAttribute(e,1)),r}(),eh=`
1044
+ `,wu=function(n){ue(t,n);function t(e){e===void 0&&(e={});var r,i,a=n.call(this)||this,o=(r=e.color)!==null&&r!==void 0?r:16777215,s=(i=e.scale)!==null&&i!==void 0?i:1;return a.progress=0,a.opacity=0,a.loading=!1,a.current=!1,a.disabled=!1,a.currentMotion=new Me({progress:0}),a.ringMotion=new Me({scale:1,opacity:1}),a.tapMotion=new Me({scale:1,opacity:1}),a.loadingOpacityMotion=new Me({opacity:0}),a.progressMotion=new Me({progress:0}),a.progressOpacityMotion=new Me({opacity:0}),a.opacityMotion=new Me({opacity:0}),a.disableMotion=new Me({progress:0}),a.panoMesh=new d.Mesh(ch,new d.ShaderMaterial({blending:d.CustomBlending,blendSrc:d.SrcAlphaFactor,blendDst:d.OneMinusSrcAlphaFactor,blendSrcAlpha:d.OneFactor,blendDstAlpha:d.OneMinusSrcAlphaFactor,depthWrite:!1,vertexShader:dh,fragmentShader:fh,uniforms:{baseColor:{value:new d.Color(o)},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}}})),a.renderOrder=-2,a.panoMesh.renderOrder=-2,a.panoMesh.position.y=.004,a.panoMesh.scale.set(s,1,s),a.add(a.panoMesh),a.currentStartTime=Ee(),a.needsRender=!0,a}return t.prototype.setProgress=function(e){var r=this;this.setDisabled(!1),this.setLoading(!1),this.progress!==e&&(e=fe(e,0,1),this.tapMotion.ended&&(this.progress===0&&this.progressOpacityMotion.set({opacity:1},500).catch(D),e===0?this.progressOpacityMotion.set({opacity:0},500).catch(D).then(function(){r.progressMotion.set({progress:0},0).catch(D)}):this.progressMotion.set({progress:fe(e*1.2,0,1)},100).catch(D)),this.progress=e)},t.prototype.setOpacity=function(e){this.opacity!==e&&(this.opacity=e=fe(e,0,1),this.opacityMotion.set({opacity:e},200).catch(D))},t.prototype.setCurrent=function(e){this.current!==e&&(this.currentMotion.set({progress:e?1:0},2e3).catch(D),this.current=e,this.current===!0&&(this.currentStartTime=Ee()))},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(D))},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(D))},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(D),this.progressMotion.set({progress:0},0).catch(D),this.tapMotion.setKeyframes(r,600).then(function(){e.progressOpacityMotion.set({opacity:e.progress>0?1:0},300).catch(D),e.progressMotion.set({progress:e.progress},120).catch(D)}).catch(D)},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 a=this.progressOpacityMotion.value.opacity;this.panoMesh.material.uniforms.progressOpacity.value=a,this.needsRender=!0}if(!this.opacityMotion.ended){this.opacityMotion.update(e);var a=this.opacityMotion.value.opacity;this.panoMesh.material.uniforms.opacity.value=a,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 o=(e-this.currentStartTime-1500)/2e3;if(o%5<2){var s=1+Math.sin(Math.PI*o)/25*this.currentMotion.value.progress;this.panoMesh.material.uniforms.circleScale.value=s,this.needsRender=!0}}{var l=(e-this.currentStartTime-1500)/2e3;if(l%5<2){var u=l%1;this.panoMesh.material.uniforms.expand0.value=Bs(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=Bs(u)*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(D):this.ringMotion.getTargetKeyframe().value.scale!==1&&this.ringMotion.set({scale:1,opacity:1},600).catch(D)}else this.ringMotion.getTargetKeyframe().value.scale!==1&&this.ringMotion.set({scale:1,opacity:1},600).catch(D);if(!this.ringMotion.ended){var A=this.ringMotion.value,s=A.scale,a=A.opacity;this.ringMotion.update(e),this.panoMesh.material.uniforms.ringScale.value=s,this.panoMesh.material.uniforms.ringOpacity.value=a,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}(d.Object3D),Rs=function(n){return n*(2-n)},hh=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 d.BufferGeometry;return r.setAttribute("position",new d.BufferAttribute(n,3)),r.setAttribute("uv",new d.BufferAttribute(t,2)),r.setIndex(new d.BufferAttribute(e,1)),r}(),ph=`
1045
1045
  varying vec2 vUv;
1046
1046
  #include <common>
1047
1047
  #include <logdepthbuf_pars_vertex>
@@ -1050,7 +1050,7 @@ void main() {
1050
1050
  gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
1051
1051
  #include <logdepthbuf_vertex>
1052
1052
  }
1053
- `,th=`
1053
+ `,vh=`
1054
1054
  uniform vec3 baseColor;
1055
1055
  uniform float circleScale;
1056
1056
  uniform float circleOpacity;
@@ -1143,7 +1143,7 @@ void main() {
1143
1143
 
1144
1144
  gl_FragColor = vec4(gl_FragColor.rgb * baseColor, gl_FragColor.a * opacity * opacity);
1145
1145
  }
1146
- `,rh=function(n){se(t,n);function t(e){e===void 0&&(e={});var r,i,a=n.call(this)||this,o=(r=e.color)!==null&&r!==void 0?r:16777215,s=(i=e.scale)!==null&&i!==void 0?i:1;return a.progress=0,a.opacity=0,a.loading=!1,a.current=!1,a.disabled=!1,a.currentMotion=new Me({progress:0}),a.tapMotion=new Me({scale:1,opacity:1}),a.loadingOpacityMotion=new Me({opacity:0}),a.progressMotion=new Me({progress:0}),a.progressOpacityMotion=new Me({opacity:0}),a.opacityMotion=new Me({opacity:0}),a.disableMotion=new Me({progress:0}),a.panoMesh=new d.Mesh($f,new d.ShaderMaterial({blending:d.CustomBlending,blendSrc:d.SrcAlphaFactor,blendDst:d.OneMinusSrcAlphaFactor,blendSrcAlpha:d.OneFactor,blendDstAlpha:d.OneMinusSrcAlphaFactor,depthWrite:!1,vertexShader:eh,fragmentShader:th,uniforms:{baseColor:{value:new d.Color(o)},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}}})),a.renderOrder=-2,a.panoMesh.renderOrder=-2,a.panoMesh.position.y=.004,a.panoMesh.scale.set(s,1,s),a.add(a.panoMesh),a.currentStartTime=Ee(),a.needsRender=!0,a}return t.prototype.setProgress=function(e){var r=this;this.setDisabled(!1),this.setLoading(!1),this.progress!==e&&(e=pe(e,0,1),this.tapMotion.ended&&(this.progress===0&&this.progressOpacityMotion.set({opacity:1},500).catch(D),e===0?this.progressOpacityMotion.set({opacity:0},500).catch(D).then(function(){r.progressMotion.set({progress:0},0).catch(D)}):this.progressMotion.set({progress:pe(e*1.2,0,1)},100).catch(D)),this.progress=e)},t.prototype.setOpacity=function(e){this.opacity!==e&&(this.opacity=e=pe(e,0,1),this.opacityMotion.set({opacity:e},200).catch(D))},t.prototype.setCurrent=function(e){this.current!==e&&(this.currentMotion.set({progress:e?1:0},2e3).catch(D),this.current=e,this.current===!0&&(this.currentStartTime=Ee()))},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(D))},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(D))},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(D),this.progressMotion.set({progress:0},0).catch(D),this.tapMotion.setKeyframes(r,600).then(function(){e.progressOpacityMotion.set({opacity:e.progress>0?1:0},300).catch(D),e.progressMotion.set({progress:e.progress},120).catch(D)}).catch(D)},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 a=this.progressOpacityMotion.value.opacity;this.panoMesh.material.uniforms.progressOpacity.value=a,this.needsRender=!0}if(!this.opacityMotion.ended){this.opacityMotion.update(e);var a=this.opacityMotion.value.opacity;this.panoMesh.material.uniforms.opacity.value=a,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 o=(e-this.currentStartTime-1500)/2e3;if(o%5<2){var s=1+Math.sin(Math.PI*o)/25*this.currentMotion.value.progress;this.panoMesh.material.uniforms.circleScale.value=s,this.needsRender=!0}}{var u=(e-this.currentStartTime-1500)/2e3;if(u%5<2){var l=u%1;this.panoMesh.material.uniforms.expand0.value=Ms(l)*this.currentMotion.value.progress,this.needsRender=!0}}{var c=(e-this.currentStartTime-1e3)/2e3;if(c%5<2){var l=c%1;this.panoMesh.material.uniforms.expand1.value=Ms(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}(d.Object3D),Ss=function(n){return n*(2-n)},nh=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 d.BufferGeometry;return r.setAttribute("position",new d.BufferAttribute(n,3)),r.setAttribute("uv",new d.BufferAttribute(t,2)),r.setIndex(new d.BufferAttribute(e,1)),r}(),ih=`
1146
+ `,Ah=function(n){ue(t,n);function t(e){e===void 0&&(e={});var r,i,a=n.call(this)||this,o=(r=e.color)!==null&&r!==void 0?r:16777215,s=(i=e.scale)!==null&&i!==void 0?i:1;return a.progress=0,a.opacity=0,a.loading=!1,a.current=!1,a.disabled=!1,a.currentMotion=new Me({progress:0}),a.tapMotion=new Me({scale:1,opacity:1}),a.loadingOpacityMotion=new Me({opacity:0}),a.progressMotion=new Me({progress:0}),a.progressOpacityMotion=new Me({opacity:0}),a.opacityMotion=new Me({opacity:0}),a.disableMotion=new Me({progress:0}),a.panoMesh=new d.Mesh(hh,new d.ShaderMaterial({blending:d.CustomBlending,blendSrc:d.SrcAlphaFactor,blendDst:d.OneMinusSrcAlphaFactor,blendSrcAlpha:d.OneFactor,blendDstAlpha:d.OneMinusSrcAlphaFactor,depthWrite:!1,vertexShader:ph,fragmentShader:vh,uniforms:{baseColor:{value:new d.Color(o)},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}}})),a.renderOrder=-2,a.panoMesh.renderOrder=-2,a.panoMesh.position.y=.004,a.panoMesh.scale.set(s,1,s),a.add(a.panoMesh),a.currentStartTime=Ee(),a.needsRender=!0,a}return t.prototype.setProgress=function(e){var r=this;this.setDisabled(!1),this.setLoading(!1),this.progress!==e&&(e=fe(e,0,1),this.tapMotion.ended&&(this.progress===0&&this.progressOpacityMotion.set({opacity:1},500).catch(D),e===0?this.progressOpacityMotion.set({opacity:0},500).catch(D).then(function(){r.progressMotion.set({progress:0},0).catch(D)}):this.progressMotion.set({progress:fe(e*1.2,0,1)},100).catch(D)),this.progress=e)},t.prototype.setOpacity=function(e){this.opacity!==e&&(this.opacity=e=fe(e,0,1),this.opacityMotion.set({opacity:e},200).catch(D))},t.prototype.setCurrent=function(e){this.current!==e&&(this.currentMotion.set({progress:e?1:0},2e3).catch(D),this.current=e,this.current===!0&&(this.currentStartTime=Ee()))},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(D))},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(D))},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(D),this.progressMotion.set({progress:0},0).catch(D),this.tapMotion.setKeyframes(r,600).then(function(){e.progressOpacityMotion.set({opacity:e.progress>0?1:0},300).catch(D),e.progressMotion.set({progress:e.progress},120).catch(D)}).catch(D)},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 a=this.progressOpacityMotion.value.opacity;this.panoMesh.material.uniforms.progressOpacity.value=a,this.needsRender=!0}if(!this.opacityMotion.ended){this.opacityMotion.update(e);var a=this.opacityMotion.value.opacity;this.panoMesh.material.uniforms.opacity.value=a,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 o=(e-this.currentStartTime-1500)/2e3;if(o%5<2){var s=1+Math.sin(Math.PI*o)/25*this.currentMotion.value.progress;this.panoMesh.material.uniforms.circleScale.value=s,this.needsRender=!0}}{var l=(e-this.currentStartTime-1500)/2e3;if(l%5<2){var u=l%1;this.panoMesh.material.uniforms.expand0.value=Rs(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=Rs(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}(d.Object3D),ks=function(n){return n*(2-n)},mh=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 d.BufferGeometry;return r.setAttribute("position",new d.BufferAttribute(n,3)),r.setAttribute("uv",new d.BufferAttribute(t,2)),r.setIndex(new d.BufferAttribute(e,1)),r}(),gh=`
1147
1147
  varying vec2 vUv;
1148
1148
  #include <common>
1149
1149
  #include <logdepthbuf_pars_vertex>
@@ -1152,7 +1152,7 @@ void main() {
1152
1152
  gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
1153
1153
  #include <logdepthbuf_vertex>
1154
1154
  }
1155
- `,ah=`
1155
+ `,yh=`
1156
1156
  #if defined(USE_MAP)
1157
1157
  uniform sampler2D map;
1158
1158
  uniform float mapAlpha;
@@ -1286,7 +1286,7 @@ void main() {
1286
1286
 
1287
1287
  gl_FragColor = vec4(gl_FragColor.rgb, gl_FragColor.a * opacity);
1288
1288
  }
1289
- `,oh=function(n){se(t,n);function t(e){e===void 0&&(e={});var r,i,a,o,s,u,l,c=n.call(this)||this,h=(r=e.color)!==null&&r!==void 0?r:16777215,A=(i=e.scale)!==null&&i!==void 0?i:1,m=e.map,f=(a=e.mapAlpha)!==null&&a!==void 0?a:1,v=(o=e.mapUseColor)!==null&&o!==void 0?o:!1,y=(s=e.mapUseReverse)!==null&&s!==void 0?s:!1,p=(u=e.borderWidth)!==null&&u!==void 0?u:.1,g=(l=e.borderColor)!==null&&l!==void 0?l:16777215;return c.progress=0,c.opacity=0,c.loading=!1,c.current=!1,c.disabled=!1,c.currentMotion=new Me({progress:0}),c.tapMotion=new Me({scale:1,opacity:1}),c.loadingOpacityMotion=new Me({opacity:0}),c.progressMotion=new Me({progress:0}),c.progressOpacityMotion=new Me({opacity:0}),c.opacityMotion=new Me({opacity:0}),c.disableMotion=new Me({progress:0}),c.panoMesh=new d.Mesh(nh,new d.ShaderMaterial({blending:d.CustomBlending,blendSrc:d.SrcAlphaFactor,blendDst:d.OneMinusSrcAlphaFactor,blendSrcAlpha:d.OneFactor,blendDstAlpha:d.OneMinusSrcAlphaFactor,depthWrite:!1,vertexShader:ih,fragmentShader:ah,defines:{USE_COLOR:v,USE_MAP:m!==void 0,USE_BORDER:p>0,USE_REVERSE:y},uniforms:{baseColor:{value:new d.Color(h)},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:m},mapAlpha:{value:f},borderWidth:{value:p},borderColor:{value:new d.Color(g)}}})),c.renderOrder=-2,c.panoMesh.renderOrder=-2,c.panoMesh.position.y=.004,c.panoMesh.scale.set(A,1,A),c.add(c.panoMesh),c.currentStartTime=Ee(),c.needsRender=!0,c}return t.prototype.setProgress=function(e){var r=this;this.setDisabled(!1),this.setLoading(!1),this.progress!==e&&(e=pe(e,0,1),this.tapMotion.ended&&(this.progress===0&&this.progressOpacityMotion.set({opacity:1},500).catch(D),e===0?this.progressOpacityMotion.set({opacity:0},500).catch(D).then(function(){r.progressMotion.set({progress:0},0).catch(D)}):this.progressMotion.set({progress:pe(e*1.2,0,1)},100).catch(D)),this.progress=e)},t.prototype.setOpacity=function(e){this.opacity!==e&&(this.opacity=e=pe(e,0,1),this.opacityMotion.set({opacity:e},200).catch(D))},t.prototype.setCurrent=function(e){this.current!==e&&(this.currentMotion.set({progress:e?1:0},2e3).catch(D),this.current=e,this.current===!0&&(this.currentStartTime=Ee()))},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(D))},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(D))},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(D),this.progressMotion.set({progress:0},0).catch(D),this.tapMotion.setKeyframes(r,600).then(function(){e.progressOpacityMotion.set({opacity:e.progress>0?1:0},300).catch(D),e.progressMotion.set({progress:e.progress},120).catch(D)}).catch(D)},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 a=this.progressOpacityMotion.value.opacity;this.panoMesh.material.uniforms.progressOpacity.value=a,this.needsRender=!0}if(!this.opacityMotion.ended){this.opacityMotion.update(e);var a=this.opacityMotion.value.opacity;this.panoMesh.material.uniforms.opacity.value=a,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 o=(e-this.currentStartTime-1500)/2e3;if(o%5<2){var s=o%1;this.panoMesh.material.uniforms.expand0.value=Ss(s)*this.currentMotion.value.progress,this.needsRender=!0}}{var u=(e-this.currentStartTime-1e3)/2e3;if(u%5<2){var s=u%1;this.panoMesh.material.uniforms.expand1.value=Ss(s)*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}(d.Object3D),sh=new d.CircleBufferGeometry(.1,16),uh=`
1289
+ `,bh=function(n){ue(t,n);function t(e){e===void 0&&(e={});var r,i,a,o,s,l,u,c=n.call(this)||this,f=(r=e.color)!==null&&r!==void 0?r:16777215,A=(i=e.scale)!==null&&i!==void 0?i:1,m=e.map,h=(a=e.mapAlpha)!==null&&a!==void 0?a:1,p=(o=e.mapUseColor)!==null&&o!==void 0?o:!1,y=(s=e.mapUseReverse)!==null&&s!==void 0?s:!1,v=(l=e.borderWidth)!==null&&l!==void 0?l:.1,g=(u=e.borderColor)!==null&&u!==void 0?u:16777215;return c.progress=0,c.opacity=0,c.loading=!1,c.current=!1,c.disabled=!1,c.currentMotion=new Me({progress:0}),c.tapMotion=new Me({scale:1,opacity:1}),c.loadingOpacityMotion=new Me({opacity:0}),c.progressMotion=new Me({progress:0}),c.progressOpacityMotion=new Me({opacity:0}),c.opacityMotion=new Me({opacity:0}),c.disableMotion=new Me({progress:0}),c.panoMesh=new d.Mesh(mh,new d.ShaderMaterial({blending:d.CustomBlending,blendSrc:d.SrcAlphaFactor,blendDst:d.OneMinusSrcAlphaFactor,blendSrcAlpha:d.OneFactor,blendDstAlpha:d.OneMinusSrcAlphaFactor,depthWrite:!1,vertexShader:gh,fragmentShader:yh,defines:{USE_COLOR:p,USE_MAP:m!==void 0,USE_BORDER:v>0,USE_REVERSE:y},uniforms:{baseColor:{value:new d.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:m},mapAlpha:{value:h},borderWidth:{value:v},borderColor:{value:new d.Color(g)}}})),c.renderOrder=-2,c.panoMesh.renderOrder=-2,c.panoMesh.position.y=.004,c.panoMesh.scale.set(A,1,A),c.add(c.panoMesh),c.currentStartTime=Ee(),c.needsRender=!0,c}return t.prototype.setProgress=function(e){var r=this;this.setDisabled(!1),this.setLoading(!1),this.progress!==e&&(e=fe(e,0,1),this.tapMotion.ended&&(this.progress===0&&this.progressOpacityMotion.set({opacity:1},500).catch(D),e===0?this.progressOpacityMotion.set({opacity:0},500).catch(D).then(function(){r.progressMotion.set({progress:0},0).catch(D)}):this.progressMotion.set({progress:fe(e*1.2,0,1)},100).catch(D)),this.progress=e)},t.prototype.setOpacity=function(e){this.opacity!==e&&(this.opacity=e=fe(e,0,1),this.opacityMotion.set({opacity:e},200).catch(D))},t.prototype.setCurrent=function(e){this.current!==e&&(this.currentMotion.set({progress:e?1:0},2e3).catch(D),this.current=e,this.current===!0&&(this.currentStartTime=Ee()))},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(D))},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(D))},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(D),this.progressMotion.set({progress:0},0).catch(D),this.tapMotion.setKeyframes(r,600).then(function(){e.progressOpacityMotion.set({opacity:e.progress>0?1:0},300).catch(D),e.progressMotion.set({progress:e.progress},120).catch(D)}).catch(D)},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 a=this.progressOpacityMotion.value.opacity;this.panoMesh.material.uniforms.progressOpacity.value=a,this.needsRender=!0}if(!this.opacityMotion.ended){this.opacityMotion.update(e);var a=this.opacityMotion.value.opacity;this.panoMesh.material.uniforms.opacity.value=a,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 o=(e-this.currentStartTime-1500)/2e3;if(o%5<2){var s=o%1;this.panoMesh.material.uniforms.expand0.value=ks(s)*this.currentMotion.value.progress,this.needsRender=!0}}{var l=(e-this.currentStartTime-1e3)/2e3;if(l%5<2){var s=l%1;this.panoMesh.material.uniforms.expand1.value=ks(s)*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}(d.Object3D),xh=new d.CircleBufferGeometry(.1,16),wh=`
1290
1290
  varying vec2 vUv;
1291
1291
  #include <common>
1292
1292
  #include <logdepthbuf_pars_vertex>
@@ -1295,7 +1295,7 @@ void main() {
1295
1295
  gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
1296
1296
  #include <logdepthbuf_vertex>
1297
1297
  }
1298
- `,lh=`
1298
+ `,Eh=`
1299
1299
  varying vec2 vUv;
1300
1300
  #include <common>
1301
1301
  #include <logdepthbuf_pars_fragment>
@@ -1319,34 +1319,34 @@ void main() {
1319
1319
 
1320
1320
  gl_FragColor = vec4(gl_FragColor.rgb, gl_FragColor.a * outside * inside);
1321
1321
  }
1322
- `,ch=new d.ShaderMaterial({vertexShader:uh,fragmentShader:lh,side:d.DoubleSide,blending:d.CustomBlending,blendSrc:d.SrcAlphaFactor,blendDst:d.OneMinusSrcAlphaFactor,blendSrcAlpha:d.OneFactor,blendDstAlpha:d.OneMinusSrcAlphaFactor,depthWrite:!1}),Vi=function(n){se(t,n);function t(){var e=n.call(this)||this;return e.ringMesh=new d.Mesh(sh,ch),e.ringMesh.position.z=.01,e.ringMesh.renderOrder=-2,e.add(e.ringMesh),e}return t.prototype.dispose=function(){this.remove(this.ringMesh)},t}(d.Object3D);function Vr(){return((1+Math.random())*65536|0).toString(16).substring(1)}function wt(){return(Vr()+Vr()+"-"+Vr()+"-4"+Vr().substr(0,3)+"-"+Vr()+"-"+Vr()+Vr()+Vr()).toLowerCase()}function Vn(n,t,e){var r=Math.abs(n-t);return r<.001||typeof e!="undefined"&&Math.abs(e-r)<.001}function kt(n,t,e){return!Vn(n,t,e)}function Yn(n,t){return n.distanceTo(t)<.001}function yi(n,t){return!Yn(n,t)}var hu=new d.Vector3(0,0,0),dh=function(n){se(t,n);function t(e,r){r===void 0&&(r=hu);var i=n.call(this)||this,a=new d.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);a.clearGroups(),a.addGroup(0,a.index?a.index.count:a.attributes.position.count,0),a.applyMatrix4(new d.Matrix4().makeScale(-1,1,1)),a.computeVertexNormals();var o=new Pn("none");o.depthWrite=!1;var s=new Dt(a,[o]);return s.position.copy(e.getCenter(new d.Vector3)),s.frustumCulled=!1,i.add(s),i.boundingBox=new d.Box3,i.boundingBox.setFromObject(i),i.renderOrder=s.renderOrder=-1001,i}return t}(A0);function fh(n,t){return t===void 0&&(t=hu),new dh(n,t)}function hh(n,t){var e=new d.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),a=-Math.asin(e.y);return{theta:i,phi:a,lookAtVector:e}}var si=Math.PI*2;function Gr(n){return n>=0&&n<si?n:(n%si+si)%si}var Ua=Math.PI,Is=Ua*2;function da(n,t,e){if(n===t)return t;var r=t-n,i=Math.abs(r);if(i<=e)return t;var a=r>0?1:-1;return n+a*e}function ph(n,t,e){if(n.equals(t))return new d.Vector3().copy(t);var r=new d.Vector3().subVectors(t,n);return r.lengthSq()<e*e?r.copy(t):r.setLength(e).add(n)}function Ts(n,t,e){if(n.longitude===t.longitude&&n.latitude===t.latitude)return{longitude:t.longitude,latitude:t.latitude};var r=Gr(n.longitude),i=n.latitude,a=Gr(t.longitude),o=t.latitude;a-r>Ua?r+=Is:r-a>Ua&&(r-=Is);var s=Math.sqrt(Math.pow(a-r,2)+Math.pow(o-i,2)),u=e/s;return u>=1?{longitude:t.longitude,latitude:t.latitude}:{longitude:r+(a-r)*u,latitude:i+(o-i)*u}}function vh(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 Nn=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 W(n,t){for(var e=!1,r={type:n,timeStamp:Ee(),get defaultPrevented(){return e},preventDefault:function(){e=!0}},i=0,a=Object.keys(t);i<a.length;i++){var o=a[i];o in r||(r[o]=t[o])}return r}function Ah(){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 mh(){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"]};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 or(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 Nr(n,t){return n.workCode===t.workCode&&n.mode===t.mode&&n.panoIndex===t.panoIndex&&Vn(n.longitude,t.longitude,Math.PI*2)&&Vn(n.latitude,t.latitude)&&Vn(n.fov,t.fov)&&Yn(n.offset,t.offset)&&Vn(n.distance,t.distance)}var gh=function(n){return Number(n)};function lr(n,t,e){var r;t===void 0&&(t=gh),e===void 0&&(e=!1);for(var i,a=1/0,o=0,s=n;o<s.length;o++){var u=s[o],l=t(u);l<=a&&(r=[u,l],i=r[0],a=r[1])}return isFinite(a)||(a=0),e?[i,a]:i}function Qt(n){for(var t in n)return!1;return!0}function We(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
1322
+ `,Ch=new d.ShaderMaterial({vertexShader:wh,fragmentShader:Eh,side:d.DoubleSide,blending:d.CustomBlending,blendSrc:d.SrcAlphaFactor,blendDst:d.OneMinusSrcAlphaFactor,blendSrcAlpha:d.OneFactor,blendDstAlpha:d.OneMinusSrcAlphaFactor,depthWrite:!1}),Di=function(n){ue(t,n);function t(){var e=n.call(this)||this;return e.ringMesh=new d.Mesh(xh,Ch),e.ringMesh.position.z=.01,e.ringMesh.renderOrder=-2,e.add(e.ringMesh),e}return t.prototype.dispose=function(){this.remove(this.ringMesh)},t}(d.Object3D);function Vr(){return((1+Math.random())*65536|0).toString(16).substring(1)}function wt(){return(Vr()+Vr()+"-"+Vr()+"-4"+Vr().substr(0,3)+"-"+Vr()+"-"+Vr()+Vr()+Vr()).toLowerCase()}function On(n,t,e){var r=Math.abs(n-t);return r<.001||typeof e!="undefined"&&Math.abs(e-r)<.001}function kt(n,t,e){return!On(n,t,e)}function ri(n,t){return n.distanceTo(t)<.001}function wi(n,t){return!ri(n,t)}var Eu=new d.Vector3(0,0,0),Mh=function(n){ue(t,n);function t(e,r){r===void 0&&(r=Eu);var i=n.call(this)||this,a=new d.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);a.clearGroups(),a.addGroup(0,a.index?a.index.count:a.attributes.position.count,0),a.applyMatrix4(new d.Matrix4().makeScale(-1,1,1)),a.computeVertexNormals();var o=new Tn("none"),s=new Dt(a,[o]);return s.position.copy(e.getCenter(new d.Vector3)),s.frustumCulled=!1,i.add(s),i.boundingBox=new d.Box3,i.boundingBox.setFromObject(i),i.renderOrder=s.renderOrder=-1001,i}return t}(w0);function Ih(n,t){return t===void 0&&(t=Eu),new Mh(n,t)}function Sh(n,t){var e=new d.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),a=-Math.asin(e.y);return{theta:i,phi:a,lookAtVector:e}}var di=Math.PI*2;function Gr(n){return n>=0&&n<di?n:(n%di+di)%di}var ja=Math.PI,Fs=ja*2;function va(n,t,e){if(n===t)return t;var r=t-n,i=Math.abs(r);if(i<=e)return t;var a=r>0?1:-1;return n+a*e}function Th(n,t,e){if(n.equals(t))return new d.Vector3().copy(t);var r=new d.Vector3().subVectors(t,n);return r.lengthSq()<e*e?r.copy(t):r.setLength(e).add(n)}function Ls(n,t,e){if(n.longitude===t.longitude&&n.latitude===t.latitude)return{longitude:t.longitude,latitude:t.latitude};var r=Gr(n.longitude),i=n.latitude,a=Gr(t.longitude),o=t.latitude;a-r>ja?r+=Fs:r-a>ja&&(r-=Fs);var s=Math.sqrt(Math.pow(a-r,2)+Math.pow(o-i,2)),l=e/s;return l>=1?{longitude:t.longitude,latitude:t.latitude}:{longitude:r+(a-r)*l,latitude:i+(o-i)*l}}function Ph(n){return!!n&&(typeof n=="object"||typeof n=="function")&&typeof n.then=="function"}var Aa,Yr=typeof navigator!="undefined"?((Aa=navigator==null?void 0:navigator.userAgent)!==null&&Aa!==void 0?Aa:"").toLowerCase():"node";(function(){try{var n=document.createElement("canvas");return!!(window.WebGLRenderingContext&&(n.getContext("webgl")||n.getContext("experimental-webgl")))}catch(t){return!1}})();var Vn=/android/i.test(Yr)||/webos/i.test(Yr)||/ipad|iphone|ipod/i.test(Yr)||/iemobile/i.test(Yr)||/opera mini/i.test(Yr)||/blackberry/i.test(Yr)||/windows phone/i.test(Yr);function X(n,t){for(var e=!1,r={type:n,timeStamp:Ee(),get defaultPrevented(){return e},preventDefault:function(){e=!0}},i=0,a=Object.keys(t);i<a.length;i++){var o=a[i];o in r||(r[o]=t[o])}return r}function Bh(){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 Rh(){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"]};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 or(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 Nr(n,t){return n.workCode===t.workCode&&n.mode===t.mode&&n.panoIndex===t.panoIndex&&On(n.longitude,t.longitude,Math.PI*2)&&On(n.latitude,t.latitude)&&On(n.fov,t.fov)&&ri(n.offset,t.offset)&&On(n.distance,t.distance)}var kh=function(n){return Number(n)};function lr(n,t,e){var r;t===void 0&&(t=kh),e===void 0&&(e=!1);for(var i,a=1/0,o=0,s=n;o<s.length;o++){var l=s[o],u=t(l);u<=a&&(r=[l,u],i=r[0],a=r[1])}return isFinite(a)||(a=0),e?[i,a]:i}function Qt(n){for(var t in n)return!1;return!0}function Je(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
1323
1323
  * http://hammerjs.github.io/
1324
1324
  *
1325
1325
  * Copyright (c) 2016 Jorik Tangelder;
1326
- * Licensed under the MIT license */var zn=function(n,t,e,r){var i=["","webkit","Moz","MS","ms","o"],a=t.createElement?t.createElement("div"):r,o="function",s=Math.round,u=Math.abs,l=Date.now;function c(T,R,V){return setTimeout(g(T,V),R)}function h(T,R,V){return Array.isArray(T)?(A(T,V[R],V),!0):!1}function A(T,R,V){var q;if(T)if(T.forEach)T.forEach(R,V);else if(T.length!==r)for(q=0;q<T.length;)R.call(V,T[q],q,T),q++;else for(q in T)T.hasOwnProperty(q)&&R.call(V,T[q],q,T)}function m(T,R,V){var q="DEPRECATED METHOD: "+R+`
1327
- `+V+` AT
1328
- `;return function(){var _=new Error("get-stack-trace"),le=_&&_.stack?_.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",Ie=n.console&&(n.console.warn||n.console.log);return Ie&&Ie.call(n.console,q,le),T.apply(this,arguments)}}var f;typeof Object.assign!="function"?f=function(R){if(R===r||R===null)throw new TypeError("Cannot convert undefined or null to object");for(var V=Object(R),q=1;q<arguments.length;q++){var _=arguments[q];if(_!==r&&_!==null)for(var le in _)_.hasOwnProperty(le)&&(V[le]=_[le])}return V}:f=Object.assign;var v=m(function(R,V,q){for(var _=Object.keys(V),le=0;le<_.length;)(!q||q&&R[_[le]]===r)&&(R[_[le]]=V[_[le]]),le++;return R},"extend","Use `assign`."),y=m(function(R,V){return v(R,V,!0)},"merge","Use `assign`.");function p(T,R,V){var q=R.prototype,_;_=T.prototype=Object.create(q),_.constructor=T,_._super=q,V&&f(_,V)}function g(T,R){return function(){return T.apply(R,arguments)}}function x(T,R){return typeof T==o?T.apply(R&&R[0]||r,R):T}function b(T,R){return T===r?R:T}function w(T,R,V){A(I(R),function(q){T.addEventListener(q,V,!1)})}function E(T,R,V){A(I(R),function(q){T.removeEventListener(q,V,!1)})}function M(T,R){for(;T;){if(T==R)return!0;T=T.parentNode}return!1}function C(T,R){return T.indexOf(R)>-1}function I(T){return T.trim().split(/\s+/g)}function S(T,R,V){if(T.indexOf&&!V)return T.indexOf(R);for(var q=0;q<T.length;){if(V&&T[q][V]==R||!V&&T[q]===R)return q;q++}return-1}function P(T){return Array.prototype.slice.call(T,0)}function B(T,R,V){for(var q=[],_=[],le=0;le<T.length;){var Ie=T[le][R];S(_,Ie)<0&&q.push(T[le]),_[le]=Ie,le++}return q=q.sort(function(gt,je){return gt[R]>je[R]}),q}function L(T,R){for(var V,q,_=R[0].toUpperCase()+R.slice(1),le=0;le<i.length;){if(V=i[le],q=V?V+_:R,q in T)return q;le++}return r}var k=1;function O(){return k++}function z(T){var R=T.ownerDocument||T;return R.defaultView||R.parentWindow||n}var N=/mobile|tablet|ip(ad|hone|od)|android/i,X="ontouchstart"in n,G=L(n,"PointerEvent")!==r,Q=X&&N.test(navigator.userAgent),H="touch",K="pen",j="mouse",J="kinect",Z=25,Y=1,fe=2,$=4,ae=8,ie=1,ce=2,ne=4,ve=8,ue=16,he=ce|ne,Se=ve|ue,Ce=he|Se,Pe=["x","y"],ee=["clientX","clientY"];function re(T,R){var V=this;this.manager=T,this.callback=R,this.element=T.element,this.target=T.options.inputTarget,this.domHandler=function(q){x(T.options.enable,[T])&&V.handler(q)},this.init()}re.prototype={handler:function(){},init:function(){this.evEl&&w(this.element,this.evEl,this.domHandler),this.evTarget&&w(this.target,this.evTarget,this.domHandler),this.evWin&&w(z(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&E(this.element,this.evEl,this.domHandler),this.evTarget&&E(this.target,this.evTarget,this.domHandler),this.evWin&&E(z(this.element),this.evWin,this.domHandler)}};function U(T){var R,V=T.options.inputClass;return V?R=V:G?R=tr:Q?R=At:X?R=Et:R=ot,new R(T,Ve)}function Ve(T,R,V){var q=V.pointers.length,_=V.changedPointers.length,le=R&Y&&q-_===0,Ie=R&($|ae)&&q-_===0;V.isFirst=!!le,V.isFinal=!!Ie,le&&(T.session={}),V.eventType=R,ke(T,V),T.emit("hammer.input",V),T.recognize(V),T.session.prevInput=V}function ke(T,R){var V=T.session,q=R.pointers,_=q.length;V.firstInput||(V.firstInput=be(R)),_>1&&!V.firstMultiple?V.firstMultiple=be(R):_===1&&(V.firstMultiple=!1);var le=V.firstInput,Ie=V.firstMultiple,$e=Ie?Ie.center:le.center,gt=R.center=ye(q);R.timeStamp=l(),R.deltaTime=R.timeStamp-le.timeStamp,R.angle=Qe($e,gt),R.distance=Ae($e,gt),Te(V,R),R.offsetDirection=me(R.deltaX,R.deltaY);var je=ge(R.deltaTime,R.deltaX,R.deltaY);R.overallVelocityX=je.x,R.overallVelocityY=je.y,R.overallVelocity=u(je.x)>u(je.y)?je.x:je.y,R.scale=Ie?rt(Ie.pointers,q):1,R.rotation=Ie?Ke(Ie.pointers,q):0,R.maxPointers=V.prevInput?R.pointers.length>V.prevInput.maxPointers?R.pointers.length:V.prevInput.maxPointers:R.pointers.length,Ge(V,R);var ir=T.element;M(R.srcEvent.target,ir)&&(ir=R.srcEvent.target),R.target=ir}function Te(T,R){var V=R.center,q=T.offsetDelta||{},_=T.prevDelta||{},le=T.prevInput||{};(R.eventType===Y||le.eventType===$)&&(_=T.prevDelta={x:le.deltaX||0,y:le.deltaY||0},q=T.offsetDelta={x:V.x,y:V.y}),R.deltaX=_.x+(V.x-q.x),R.deltaY=_.y+(V.y-q.y)}function Ge(T,R){var V=T.lastInterval||R,q=R.timeStamp-V.timeStamp,_,le,Ie,$e;if(R.eventType!=ae&&(q>Z||V.velocity===r)){var gt=R.deltaX-V.deltaX,je=R.deltaY-V.deltaY,ir=ge(q,gt,je);le=ir.x,Ie=ir.y,_=u(ir.x)>u(ir.y)?ir.x:ir.y,$e=me(gt,je),T.lastInterval=R}else _=V.velocity,le=V.velocityX,Ie=V.velocityY,$e=V.direction;R.velocity=_,R.velocityX=le,R.velocityY=Ie,R.direction=$e}function be(T){for(var R=[],V=0;V<T.pointers.length;)R[V]={clientX:s(T.pointers[V].clientX),clientY:s(T.pointers[V].clientY)},V++;return{timeStamp:l(),pointers:R,center:ye(R),deltaX:T.deltaX,deltaY:T.deltaY}}function ye(T){var R=T.length;if(R===1)return{x:s(T[0].clientX),y:s(T[0].clientY)};for(var V=0,q=0,_=0;_<R;)V+=T[_].clientX,q+=T[_].clientY,_++;return{x:s(V/R),y:s(q/R)}}function ge(T,R,V){return{x:R/T||0,y:V/T||0}}function me(T,R){return T===R?ie:u(T)>=u(R)?T<0?ce:ne:R<0?ve:ue}function Ae(T,R,V){V||(V=Pe);var q=R[V[0]]-T[V[0]],_=R[V[1]]-T[V[1]];return Math.sqrt(q*q+_*_)}function Qe(T,R,V){V||(V=Pe);var q=R[V[0]]-T[V[0]],_=R[V[1]]-T[V[1]];return Math.atan2(_,q)*180/Math.PI}function Ke(T,R){return Qe(R[1],R[0],ee)+Qe(T[1],T[0],ee)}function rt(T,R){return Ae(R[0],R[1],ee)/Ae(T[0],T[1],ee)}var Kr={mousedown:Y,mousemove:fe,mouseup:$},Fe="mousedown",Ze="mousemove mouseup";function ot(){this.evEl=Fe,this.evWin=Ze,this.pressed=!1,re.apply(this,arguments)}p(ot,re,{handler:function(R){var V=Kr[R.type];V&Y&&(R.button===0||R.button===2)&&(this.pressed=!0),V&fe&&R.which!==1&&(V=$),this.pressed&&(V&$&&(this.pressed=!1),this.callback(this.manager,V,{pointers:[R],changedPointers:[R],pointerType:j,srcEvent:R}))}});var $t={pointerdown:Y,pointermove:fe,pointerup:$,pointercancel:ae,pointerout:ae},sn={2:H,3:K,4:j,5:J},er="pointerdown",It="pointermove pointerup pointercancel";n.MSPointerEvent&&!n.PointerEvent&&(er="MSPointerDown",It="MSPointerMove MSPointerUp MSPointerCancel");function tr(){this.evEl=er,this.evWin=It,re.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}p(tr,re,{handler:function(R){var V=this.store,q=!1,_=!1,le=R.type.toLowerCase().replace("ms",""),Ie=$t[le],$e=sn[R.pointerType]||R.pointerType,gt=$e==H,je=S(V,R.pointerId,"pointerId");Ie&Y&&(R.button===0||R.button===2||gt)?je<0&&(V.push(R),je=V.length-1):Ie&($|ae)?q=!0:!gt&&R.buttons===0&&(q=!0,_=!0,Ie=$t.pointerup),!(je<0)&&(_||(V[je]=R),this.callback(this.manager,Ie,{pointers:V,changedPointers:[R],pointerType:$e,srcEvent:V[je]}),q&&V.splice(je,1))}});var Cr={touchstart:Y,touchmove:fe,touchend:$,touchcancel:ae},Ut="touchstart",rr="touchstart touchmove touchend touchcancel";function qt(){this.evTarget=Ut,this.evWin=rr,this.started=!1,re.apply(this,arguments)}p(qt,re,{handler:function(R){var V=Cr[R.type];if(V===Y&&(this.started=!0),!!this.started){var q=lt.call(this,R,V);V&($|ae)&&q[0].length-q[1].length===0&&(this.started=!1),this.callback(this.manager,V,{pointers:q[0],changedPointers:q[1],pointerType:H,srcEvent:R})}}});function lt(T,R){var V=P(T.touches),q=P(T.changedTouches);return R&($|ae)&&(V=B(V.concat(q),"identifier")),[V,q]}var Le={touchstart:Y,touchmove:fe,touchend:$,touchcancel:ae},dr="touchstart touchmove touchend touchcancel";function At(){this.evTarget=dr,this.targetIds={},re.apply(this,arguments)}p(At,re,{handler:function(R){var V=Le[R.type],q=fr.call(this,R,V);q&&this.callback(this.manager,V,{pointers:q[0],changedPointers:q[1],pointerType:H,srcEvent:R})}});function fr(T,R){var V=P(T.touches),q=this.targetIds;if(R&(Y|fe)&&V.length===1)return q[V[0].identifier]=!0,[V,V];var _,le,Ie=P(T.changedTouches),$e=[],gt=this.target;if(le=V.filter(function(je){return M(je.target,gt)}),R===Y)for(_=0;_<le.length;)q[le[_].identifier]=!0,_++;for(_=0;_<Ie.length;)q[Ie[_].identifier]&&$e.push(Ie[_]),R&($|ae)&&delete q[Ie[_].identifier],_++;if($e.length)return[B(le.concat($e),"identifier"),$e]}var hr=2500,Ht=25;function Et(){re.apply(this,arguments);var T=g(this.handler,this);this.touch=new At(this.manager,T),this.mouse=new ot(this.manager,T),this.primaryTouch=null,this.lastTouches=[]}p(Et,re,{handler:function(R,V,q){var _=q.pointerType==H,le=q.pointerType==j;if(!(le&&q.sourceCapabilities&&q.sourceCapabilities.firesTouchEvents)){if(_)pr.call(this,V,q);else if(le&&un.call(this,q))return;this.callback(R,V,q)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});function pr(T,R){T&Y?(this.primaryTouch=R.changedPointers[0].identifier,Mr.call(this,R)):T&($|ae)&&Mr.call(this,R)}function Mr(T){var R=T.changedPointers[0];if(R.identifier===this.primaryTouch){var V={x:R.clientX,y:R.clientY};this.lastTouches.push(V);var q=this.lastTouches,_=function(){var le=q.indexOf(V);le>-1&&q.splice(le,1)};setTimeout(_,hr)}}function un(T){for(var R=T.srcEvent.clientX,V=T.srcEvent.clientY,q=0;q<this.lastTouches.length;q++){var _=this.lastTouches[q],le=Math.abs(R-_.x),Ie=Math.abs(V-_.y);if(le<=Ht&&Ie<=Ht)return!0}return!1}var jr=a?L(a.style,"touchAction"):r,Jr=jr!==r,Gt="compute",Ye="auto",qe="manipulation",nt="none",mt="pan-x",ct="pan-y",Kt=Vu();function Sr(T,R){this.manager=T,this.set(R)}Sr.prototype={set:function(T){T==Gt&&(T=this.compute()),Jr&&this.manager.element.style&&Kt[T]&&(this.manager.element.style[jr]=T),this.actions=T.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var T=[];return A(this.manager.recognizers,function(R){x(R.options.enable,[R])&&(T=T.concat(R.getTouchAction()))}),Xr(T.join(" "))},preventDefaults:function(T){var R=T.srcEvent,V=T.offsetDirection;if(this.manager.session.prevented){R.preventDefault();return}var q=this.actions,_=C(q,nt)&&!Kt[nt],le=C(q,ct)&&!Kt[ct],Ie=C(q,mt)&&!Kt[mt];if(_){var $e=T.pointers.length===1,gt=T.distance<2,je=T.deltaTime<250;if($e&&gt&&je)return}if(!(Ie&&le)&&(_||le&&V&he||Ie&&V&Se))return this.preventSrc(R)},preventSrc:function(T){this.manager.session.prevented=!0,T.preventDefault()}};function Xr(T){if(C(T,nt))return nt;var R=C(T,mt),V=C(T,ct);return R&&V?nt:R||V?R?mt:ct:C(T,qe)?qe:Ye}function Vu(){if(!Jr)return!1;var T={},R=n.CSS&&n.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach(function(V){T[V]=R?n.CSS.supports("touch-action",V):!0}),T}var ei=1,Tt=2,ln=4,Ir=8,vr=Ir,Bn=16,nr=32;function Ar(T){this.options=f({},this.defaults,T||{}),this.id=O(),this.manager=null,this.options.enable=b(this.options.enable,!0),this.state=ei,this.simultaneous={},this.requireFail=[]}Ar.prototype={defaults:{},set:function(T){return f(this.options,T),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(T){if(h(T,"recognizeWith",this))return this;var R=this.simultaneous;return T=ti(T,this),R[T.id]||(R[T.id]=T,T.recognizeWith(this)),this},dropRecognizeWith:function(T){return h(T,"dropRecognizeWith",this)?this:(T=ti(T,this),delete this.simultaneous[T.id],this)},requireFailure:function(T){if(h(T,"requireFailure",this))return this;var R=this.requireFail;return T=ti(T,this),S(R,T)===-1&&(R.push(T),T.requireFailure(this)),this},dropRequireFailure:function(T){if(h(T,"dropRequireFailure",this))return this;T=ti(T,this);var R=S(this.requireFail,T);return R>-1&&this.requireFail.splice(R,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(T){return!!this.simultaneous[T.id]},emit:function(T){var R=this,V=this.state;function q(_){R.manager.emit(_,T)}V<Ir&&q(R.options.event+Co(V)),q(R.options.event),T.additionalEvent&&q(T.additionalEvent),V>=Ir&&q(R.options.event+Co(V))},tryEmit:function(T){if(this.canEmit())return this.emit(T);this.state=nr},canEmit:function(){for(var T=0;T<this.requireFail.length;){if(!(this.requireFail[T].state&(nr|ei)))return!1;T++}return!0},recognize:function(T){var R=f({},T);if(!x(this.options.enable,[this,R])){this.reset(),this.state=nr;return}this.state&(vr|Bn|nr)&&(this.state=ei),this.state=this.process(R),this.state&(Tt|ln|Ir|Bn)&&this.tryEmit(R)},process:function(T){},getTouchAction:function(){},reset:function(){}};function Co(T){return T&Bn?"cancel":T&Ir?"end":T&ln?"move":T&Tt?"start":""}function Mo(T){return T==ue?"down":T==ve?"up":T==ce?"left":T==ne?"right":""}function ti(T,R){var V=R.manager;return V?V.get(T):T}function jt(){Ar.apply(this,arguments)}p(jt,Ar,{defaults:{pointers:1},attrTest:function(T){var R=this.options.pointers;return R===0||T.pointers.length===R},process:function(T){var R=this.state,V=T.eventType,q=R&(Tt|ln),_=this.attrTest(T);return q&&(V&ae||!_)?R|Bn:q||_?V&$?R|Ir:R&Tt?R|ln:Tt:nr}});function ri(){jt.apply(this,arguments),this.pX=null,this.pY=null}p(ri,jt,{defaults:{event:"pan",threshold:10,pointers:1,direction:Ce},getTouchAction:function(){var T=this.options.direction,R=[];return T&he&&R.push(ct),T&Se&&R.push(mt),R},directionTest:function(T){var R=this.options,V=!0,q=T.distance,_=T.direction,le=T.deltaX,Ie=T.deltaY;return _&R.direction||(R.direction&he?(_=le===0?ie:le<0?ce:ne,V=le!=this.pX,q=Math.abs(T.deltaX)):(_=Ie===0?ie:Ie<0?ve:ue,V=Ie!=this.pY,q=Math.abs(T.deltaY))),T.direction=_,V&&q>R.threshold&&_&R.direction},attrTest:function(T){return jt.prototype.attrTest.call(this,T)&&(this.state&Tt||!(this.state&Tt)&&this.directionTest(T))},emit:function(T){this.pX=T.deltaX,this.pY=T.deltaY;var R=Mo(T.direction);R&&(T.additionalEvent=this.options.event+R),this._super.emit.call(this,T)}});function Qi(){jt.apply(this,arguments)}p(Qi,jt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[nt]},attrTest:function(T){return this._super.attrTest.call(this,T)&&(Math.abs(T.scale-1)>this.options.threshold||this.state&Tt)},emit:function(T){if(T.scale!==1){var R=T.scale<1?"in":"out";T.additionalEvent=this.options.event+R}this._super.emit.call(this,T)}});function Ui(){Ar.apply(this,arguments),this._timer=null,this._input=null}p(Ui,Ar,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[Ye]},process:function(T){var R=this.options,V=T.pointers.length===R.pointers,q=T.distance<R.threshold,_=T.deltaTime>R.time;if(this._input=T,!q||!V||T.eventType&($|ae)&&!_)this.reset();else if(T.eventType&Y)this.reset(),this._timer=c(function(){this.state=vr,this.tryEmit()},R.time,this);else if(T.eventType&$)return vr;return nr},reset:function(){clearTimeout(this._timer)},emit:function(T){this.state===vr&&(T&&T.eventType&$?this.manager.emit(this.options.event+"up",T):(this._input.timeStamp=l(),this.manager.emit(this.options.event,this._input)))}});function qi(){jt.apply(this,arguments)}p(qi,jt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[nt]},attrTest:function(T){return this._super.attrTest.call(this,T)&&(Math.abs(T.rotation)>this.options.threshold||this.state&Tt)}});function Hi(){jt.apply(this,arguments)}p(Hi,jt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:he|Se,pointers:1},getTouchAction:function(){return ri.prototype.getTouchAction.call(this)},attrTest:function(T){var R=this.options.direction,V;return R&(he|Se)?V=T.overallVelocity:R&he?V=T.overallVelocityX:R&Se&&(V=T.overallVelocityY),this._super.attrTest.call(this,T)&&R&T.offsetDirection&&T.distance>this.options.threshold&&T.maxPointers==this.options.pointers&&u(V)>this.options.velocity&&T.eventType&$},emit:function(T){var R=Mo(T.offsetDirection);R&&this.manager.emit(this.options.event+R,T),this.manager.emit(this.options.event,T)}});function ni(){Ar.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}p(ni,Ar,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[qe]},process:function(T){var R=this.options,V=T.pointers.length===R.pointers,q=T.distance<R.threshold,_=T.deltaTime<R.time;if(this.reset(),T.eventType&Y&&this.count===0)return this.failTimeout();if(q&&_&&V){if(T.eventType!=$)return this.failTimeout();var le=this.pTime?T.timeStamp-this.pTime<R.interval:!0,Ie=!this.pCenter||Ae(this.pCenter,T.center)<R.posThreshold;this.pTime=T.timeStamp,this.pCenter=T.center,!Ie||!le?this.count=1:this.count+=1,this._input=T;var $e=this.count%R.taps;if($e===0)return this.hasRequireFailures()?(this._timer=c(function(){this.state=vr,this.tryEmit()},R.interval,this),Tt):vr}return nr},failTimeout:function(){return this._timer=c(function(){this.state=nr},this.options.interval,this),nr},reset:function(){clearTimeout(this._timer)},emit:function(){this.state==vr&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}});function cn(T,R){return R=R||{},R.recognizers=b(R.recognizers,cn.defaults.preset),new Gi(T,R)}cn.VERSION="2.0.7",cn.defaults={domEvents:!1,touchAction:Gt,enable:!0,inputTarget:null,inputClass:null,preset:[[qi,{enable:!1}],[Qi,{enable:!1},["rotate"]],[Hi,{direction:he}],[ri,{direction:he},["swipe"]],[ni],[ni,{event:"doubletap",taps:2},["tap"]],[Ui]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};var Nu=1,So=2;function Gi(T,R){this.options=f({},cn.defaults,R||{}),this.options.inputTarget=this.options.inputTarget||T,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=T,this.input=U(this),this.touchAction=new Sr(this,this.options.touchAction),Io(this,!0),A(this.options.recognizers,function(V){var q=this.add(new V[0](V[1]));V[2]&&q.recognizeWith(V[2]),V[3]&&q.requireFailure(V[3])},this)}Gi.prototype={set:function(T){return f(this.options,T),T.touchAction&&this.touchAction.update(),T.inputTarget&&(this.input.destroy(),this.input.target=T.inputTarget,this.input.init()),this},stop:function(T){this.session.stopped=T?So:Nu},recognize:function(T){var R=this.session;if(!R.stopped){this.touchAction.preventDefaults(T);var V,q=this.recognizers,_=R.curRecognizer;(!_||_&&_.state&vr)&&(_=R.curRecognizer=null);for(var le=0;le<q.length;)V=q[le],R.stopped!==So&&(!_||V==_||V.canRecognizeWith(_))?V.recognize(T):V.reset(),!_&&V.state&(Tt|ln|Ir)&&(_=R.curRecognizer=V),le++}},get:function(T){if(T instanceof Ar)return T;for(var R=this.recognizers,V=0;V<R.length;V++)if(R[V].options.event==T)return R[V];return null},add:function(T){if(h(T,"add",this))return this;var R=this.get(T.options.event);return R&&this.remove(R),this.recognizers.push(T),T.manager=this,this.touchAction.update(),T},remove:function(T){if(h(T,"remove",this))return this;if(T=this.get(T),T){var R=this.recognizers,V=S(R,T);V!==-1&&(R.splice(V,1),this.touchAction.update())}return this},on:function(T,R){if(T!==r&&R!==r){var V=this.handlers;return A(I(T),function(q){V[q]=V[q]||[],V[q].push(R)}),this}},off:function(T,R){if(T!==r){var V=this.handlers;return A(I(T),function(q){R?V[q]&&V[q].splice(S(V[q],R),1):delete V[q]}),this}},emit:function(T,R){this.options.domEvents&&zu(T,R);var V=this.handlers[T]&&this.handlers[T].slice();if(!(!V||!V.length)){R.type=T,R.preventDefault=function(){R.srcEvent.preventDefault()};for(var q=0;q<V.length;)V[q](R),q++}},destroy:function(){this.element&&Io(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}};function Io(T,R){var V=T.element;if(V.style){var q;A(T.options.cssProps,function(_,le){q=L(V.style,le),R?(T.oldCssProps[q]=V.style[q],V.style[q]=_):V.style[q]=T.oldCssProps[q]||""}),R||(T.oldCssProps={})}}function zu(T,R){var V=t.createEvent("Event");V.initEvent(T,!0,!0),V.gesture=R,R.target.dispatchEvent(V)}return f(cn,{INPUT_START:Y,INPUT_MOVE:fe,INPUT_END:$,INPUT_CANCEL:ae,STATE_POSSIBLE:ei,STATE_BEGAN:Tt,STATE_CHANGED:ln,STATE_ENDED:Ir,STATE_RECOGNIZED:vr,STATE_CANCELLED:Bn,STATE_FAILED:nr,DIRECTION_NONE:ie,DIRECTION_LEFT:ce,DIRECTION_RIGHT:ne,DIRECTION_UP:ve,DIRECTION_DOWN:ue,DIRECTION_HORIZONTAL:he,DIRECTION_VERTICAL:Se,DIRECTION_ALL:Ce,Manager:Gi,Input:re,TouchAction:Sr,TouchInput:At,MouseInput:ot,PointerEventInput:tr,TouchMouseInput:Et,SingleTouchInput:qt,Recognizer:Ar,AttrRecognizer:jt,Tap:ni,Pan:ri,Swipe:Hi,Pinch:Qi,Rotate:qi,Press:Ui,on:w,off:E,each:A,merge:y,extend:v,assign:f,inherit:p,bindFn:g,prefixed:L}),cn}(typeof window!="undefined"?window:{},typeof document!="undefined"?document:{});function Ps(n,t,e){var r=t.getBoundingClientRect(),i=r.top,a=r.left,o=r.width,s=r.height;return e&&(a=a+o*e.left,i=i+s*(1-e.bottom-e.height),o=o*e.width,s=s*e.height),new d.Vector2((n.x-a)/o*2-1,-(n.y-i)/s*2+1)}var pu=new d.OrthographicCamera(-1,1,1,-1,0,1),fo=new d.BufferGeometry;fo.setAttribute("position",new d.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3));fo.setAttribute("uv",new d.Float32BufferAttribute([0,2,0,0,2,0],2));var rn=new d.Mesh(fo),ho=new d.Scene;ho.add(rn);var yh=`
1326
+ * Licensed under the MIT license */var Nn=function(n,t,e,r){var i=["","webkit","Moz","MS","ms","o"],a=t.createElement?t.createElement("div"):r,o="function",s=Math.round,l=Math.abs,u=Date.now;function c(S,R,N){return setTimeout(g(S,N),R)}function f(S,R,N){return Array.isArray(S)?(A(S,N[R],N),!0):!1}function A(S,R,N){var U;if(S)if(S.forEach)S.forEach(R,N);else if(S.length!==r)for(U=0;U<S.length;)R.call(N,S[U],U,S),U++;else for(U in S)S.hasOwnProperty(U)&&R.call(N,S[U],U,S)}function m(S,R,N){var U="DEPRECATED METHOD: "+R+`
1327
+ `+N+` AT
1328
+ `;return function(){var Z=new Error("get-stack-trace"),ce=Z&&Z.stack?Z.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",Ie=n.console&&(n.console.warn||n.console.log);return Ie&&Ie.call(n.console,U,ce),S.apply(this,arguments)}}var h;typeof Object.assign!="function"?h=function(R){if(R===r||R===null)throw new TypeError("Cannot convert undefined or null to object");for(var N=Object(R),U=1;U<arguments.length;U++){var Z=arguments[U];if(Z!==r&&Z!==null)for(var ce in Z)Z.hasOwnProperty(ce)&&(N[ce]=Z[ce])}return N}:h=Object.assign;var p=m(function(R,N,U){for(var Z=Object.keys(N),ce=0;ce<Z.length;)(!U||U&&R[Z[ce]]===r)&&(R[Z[ce]]=N[Z[ce]]),ce++;return R},"extend","Use `assign`."),y=m(function(R,N){return p(R,N,!0)},"merge","Use `assign`.");function v(S,R,N){var U=R.prototype,Z;Z=S.prototype=Object.create(U),Z.constructor=S,Z._super=U,N&&h(Z,N)}function g(S,R){return function(){return S.apply(R,arguments)}}function x(S,R){return typeof S==o?S.apply(R&&R[0]||r,R):S}function b(S,R){return S===r?R:S}function w(S,R,N){A(k(R),function(U){S.addEventListener(U,N,!1)})}function E(S,R,N){A(k(R),function(U){S.removeEventListener(U,N,!1)})}function I(S,R){for(;S;){if(S==R)return!0;S=S.parentNode}return!1}function M(S,R){return S.indexOf(R)>-1}function k(S){return S.trim().split(/\s+/g)}function B(S,R,N){if(S.indexOf&&!N)return S.indexOf(R);for(var U=0;U<S.length;){if(N&&S[U][N]==R||!N&&S[U]===R)return U;U++}return-1}function C(S){return Array.prototype.slice.call(S,0)}function T(S,R,N){for(var U=[],Z=[],ce=0;ce<S.length;){var Ie=S[ce][R];B(Z,Ie)<0&&U.push(S[ce]),Z[ce]=Ie,ce++}return U=U.sort(function(gt,je){return gt[R]>je[R]}),U}function O(S,R){for(var N,U,Z=R[0].toUpperCase()+R.slice(1),ce=0;ce<i.length;){if(N=i[ce],U=N?N+Z:R,U in S)return U;ce++}return r}var P=1;function F(){return P++}function V(S){var R=S.ownerDocument||S;return R.defaultView||R.parentWindow||n}var z=/mobile|tablet|ip(ad|hone|od)|android/i,j="ontouchstart"in n,K=O(n,"PointerEvent")!==r,H=j&&z.test(navigator.userAgent),q="touch",J="pen",G="mouse",W="kinect",_=25,Y=1,oe=2,$=4,ae=8,ne=1,le=2,ie=4,ge=8,he=16,ve=le|ie,Re=ge|he,Ce=ve|Re,Te=["x","y"],ee=["clientX","clientY"];function re(S,R){var N=this;this.manager=S,this.callback=R,this.element=S.element,this.target=S.options.inputTarget,this.domHandler=function(U){x(S.options.enable,[S])&&N.handler(U)},this.init()}re.prototype={handler:function(){},init:function(){this.evEl&&w(this.element,this.evEl,this.domHandler),this.evTarget&&w(this.target,this.evTarget,this.domHandler),this.evWin&&w(V(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&E(this.element,this.evEl,this.domHandler),this.evTarget&&E(this.target,this.evTarget,this.domHandler),this.evWin&&E(V(this.element),this.evWin,this.domHandler)}};function Q(S){var R,N=S.options.inputClass;return N?R=N:K?R=tr:H?R=At:j?R=Et:R=ot,new R(S,Ve)}function Ve(S,R,N){var U=N.pointers.length,Z=N.changedPointers.length,ce=R&Y&&U-Z===0,Ie=R&($|ae)&&U-Z===0;N.isFirst=!!ce,N.isFinal=!!Ie,ce&&(S.session={}),N.eventType=R,ke(S,N),S.emit("hammer.input",N),S.recognize(N),S.session.prevInput=N}function ke(S,R){var N=S.session,U=R.pointers,Z=U.length;N.firstInput||(N.firstInput=be(R)),Z>1&&!N.firstMultiple?N.firstMultiple=be(R):Z===1&&(N.firstMultiple=!1);var ce=N.firstInput,Ie=N.firstMultiple,$e=Ie?Ie.center:ce.center,gt=R.center=ye(U);R.timeStamp=u(),R.deltaTime=R.timeStamp-ce.timeStamp,R.angle=Qe($e,gt),R.distance=pe($e,gt),Se(N,R),R.offsetDirection=Ae(R.deltaX,R.deltaY);var je=me(R.deltaTime,R.deltaX,R.deltaY);R.overallVelocityX=je.x,R.overallVelocityY=je.y,R.overallVelocity=l(je.x)>l(je.y)?je.x:je.y,R.scale=Ie?rt(Ie.pointers,U):1,R.rotation=Ie?Ke(Ie.pointers,U):0,R.maxPointers=N.prevInput?R.pointers.length>N.prevInput.maxPointers?R.pointers.length:N.prevInput.maxPointers:R.pointers.length,Ge(N,R);var ir=S.element;I(R.srcEvent.target,ir)&&(ir=R.srcEvent.target),R.target=ir}function Se(S,R){var N=R.center,U=S.offsetDelta||{},Z=S.prevDelta||{},ce=S.prevInput||{};(R.eventType===Y||ce.eventType===$)&&(Z=S.prevDelta={x:ce.deltaX||0,y:ce.deltaY||0},U=S.offsetDelta={x:N.x,y:N.y}),R.deltaX=Z.x+(N.x-U.x),R.deltaY=Z.y+(N.y-U.y)}function Ge(S,R){var N=S.lastInterval||R,U=R.timeStamp-N.timeStamp,Z,ce,Ie,$e;if(R.eventType!=ae&&(U>_||N.velocity===r)){var gt=R.deltaX-N.deltaX,je=R.deltaY-N.deltaY,ir=me(U,gt,je);ce=ir.x,Ie=ir.y,Z=l(ir.x)>l(ir.y)?ir.x:ir.y,$e=Ae(gt,je),S.lastInterval=R}else Z=N.velocity,ce=N.velocityX,Ie=N.velocityY,$e=N.direction;R.velocity=Z,R.velocityX=ce,R.velocityY=Ie,R.direction=$e}function be(S){for(var R=[],N=0;N<S.pointers.length;)R[N]={clientX:s(S.pointers[N].clientX),clientY:s(S.pointers[N].clientY)},N++;return{timeStamp:u(),pointers:R,center:ye(R),deltaX:S.deltaX,deltaY:S.deltaY}}function ye(S){var R=S.length;if(R===1)return{x:s(S[0].clientX),y:s(S[0].clientY)};for(var N=0,U=0,Z=0;Z<R;)N+=S[Z].clientX,U+=S[Z].clientY,Z++;return{x:s(N/R),y:s(U/R)}}function me(S,R,N){return{x:R/S||0,y:N/S||0}}function Ae(S,R){return S===R?ne:l(S)>=l(R)?S<0?le:ie:R<0?ge:he}function pe(S,R,N){N||(N=Te);var U=R[N[0]]-S[N[0]],Z=R[N[1]]-S[N[1]];return Math.sqrt(U*U+Z*Z)}function Qe(S,R,N){N||(N=Te);var U=R[N[0]]-S[N[0]],Z=R[N[1]]-S[N[1]];return Math.atan2(Z,U)*180/Math.PI}function Ke(S,R){return Qe(R[1],R[0],ee)+Qe(S[1],S[0],ee)}function rt(S,R){return pe(R[0],R[1],ee)/pe(S[0],S[1],ee)}var Kr={mousedown:Y,mousemove:oe,mouseup:$},Fe="mousedown",Ze="mousemove mouseup";function ot(){this.evEl=Fe,this.evWin=Ze,this.pressed=!1,re.apply(this,arguments)}v(ot,re,{handler:function(R){var N=Kr[R.type];N&Y&&(R.button===0||R.button===2)&&(this.pressed=!0),N&oe&&R.which!==1&&(N=$),this.pressed&&(N&$&&(this.pressed=!1),this.callback(this.manager,N,{pointers:[R],changedPointers:[R],pointerType:G,srcEvent:R}))}});var $t={pointerdown:Y,pointermove:oe,pointerup:$,pointercancel:ae,pointerout:ae},un={2:q,3:J,4:G,5:W},er="pointerdown",St="pointermove pointerup pointercancel";n.MSPointerEvent&&!n.PointerEvent&&(er="MSPointerDown",St="MSPointerMove MSPointerUp MSPointerCancel");function tr(){this.evEl=er,this.evWin=St,re.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}v(tr,re,{handler:function(R){var N=this.store,U=!1,Z=!1,ce=R.type.toLowerCase().replace("ms",""),Ie=$t[ce],$e=un[R.pointerType]||R.pointerType,gt=$e==q,je=B(N,R.pointerId,"pointerId");Ie&Y&&(R.button===0||R.button===2||gt)?je<0&&(N.push(R),je=N.length-1):Ie&($|ae)?U=!0:!gt&&R.buttons===0&&(U=!0,Z=!0,Ie=$t.pointerup),!(je<0)&&(Z||(N[je]=R),this.callback(this.manager,Ie,{pointers:N,changedPointers:[R],pointerType:$e,srcEvent:N[je]}),U&&N.splice(je,1))}});var Cr={touchstart:Y,touchmove:oe,touchend:$,touchcancel:ae},Ut="touchstart",rr="touchstart touchmove touchend touchcancel";function qt(){this.evTarget=Ut,this.evWin=rr,this.started=!1,re.apply(this,arguments)}v(qt,re,{handler:function(R){var N=Cr[R.type];if(N===Y&&(this.started=!0),!!this.started){var U=ct.call(this,R,N);N&($|ae)&&U[0].length-U[1].length===0&&(this.started=!1),this.callback(this.manager,N,{pointers:U[0],changedPointers:U[1],pointerType:q,srcEvent:R})}}});function ct(S,R){var N=C(S.touches),U=C(S.changedTouches);return R&($|ae)&&(N=T(N.concat(U),"identifier")),[N,U]}var Le={touchstart:Y,touchmove:oe,touchend:$,touchcancel:ae},dr="touchstart touchmove touchend touchcancel";function At(){this.evTarget=dr,this.targetIds={},re.apply(this,arguments)}v(At,re,{handler:function(R){var N=Le[R.type],U=fr.call(this,R,N);U&&this.callback(this.manager,N,{pointers:U[0],changedPointers:U[1],pointerType:q,srcEvent:R})}});function fr(S,R){var N=C(S.touches),U=this.targetIds;if(R&(Y|oe)&&N.length===1)return U[N[0].identifier]=!0,[N,N];var Z,ce,Ie=C(S.changedTouches),$e=[],gt=this.target;if(ce=N.filter(function(je){return I(je.target,gt)}),R===Y)for(Z=0;Z<ce.length;)U[ce[Z].identifier]=!0,Z++;for(Z=0;Z<Ie.length;)U[Ie[Z].identifier]&&$e.push(Ie[Z]),R&($|ae)&&delete U[Ie[Z].identifier],Z++;if($e.length)return[T(ce.concat($e),"identifier"),$e]}var hr=2500,Ht=25;function Et(){re.apply(this,arguments);var S=g(this.handler,this);this.touch=new At(this.manager,S),this.mouse=new ot(this.manager,S),this.primaryTouch=null,this.lastTouches=[]}v(Et,re,{handler:function(R,N,U){var Z=U.pointerType==q,ce=U.pointerType==G;if(!(ce&&U.sourceCapabilities&&U.sourceCapabilities.firesTouchEvents)){if(Z)pr.call(this,N,U);else if(ce&&ln.call(this,U))return;this.callback(R,N,U)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});function pr(S,R){S&Y?(this.primaryTouch=R.changedPointers[0].identifier,Mr.call(this,R)):S&($|ae)&&Mr.call(this,R)}function Mr(S){var R=S.changedPointers[0];if(R.identifier===this.primaryTouch){var N={x:R.clientX,y:R.clientY};this.lastTouches.push(N);var U=this.lastTouches,Z=function(){var ce=U.indexOf(N);ce>-1&&U.splice(ce,1)};setTimeout(Z,hr)}}function ln(S){for(var R=S.srcEvent.clientX,N=S.srcEvent.clientY,U=0;U<this.lastTouches.length;U++){var Z=this.lastTouches[U],ce=Math.abs(R-Z.x),Ie=Math.abs(N-Z.y);if(ce<=Ht&&Ie<=Ht)return!0}return!1}var jr=a?O(a.style,"touchAction"):r,Jr=jr!==r,Gt="compute",Ye="auto",qe="manipulation",nt="none",mt="pan-x",dt="pan-y",Kt=ju();function Ir(S,R){this.manager=S,this.set(R)}Ir.prototype={set:function(S){S==Gt&&(S=this.compute()),Jr&&this.manager.element.style&&Kt[S]&&(this.manager.element.style[jr]=S),this.actions=S.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var S=[];return A(this.manager.recognizers,function(R){x(R.options.enable,[R])&&(S=S.concat(R.getTouchAction()))}),Xr(S.join(" "))},preventDefaults:function(S){var R=S.srcEvent,N=S.offsetDirection;if(this.manager.session.prevented){R.preventDefault();return}var U=this.actions,Z=M(U,nt)&&!Kt[nt],ce=M(U,dt)&&!Kt[dt],Ie=M(U,mt)&&!Kt[mt];if(Z){var $e=S.pointers.length===1,gt=S.distance<2,je=S.deltaTime<250;if($e&&gt&&je)return}if(!(Ie&&ce)&&(Z||ce&&N&ve||Ie&&N&Re))return this.preventSrc(R)},preventSrc:function(S){this.manager.session.prevented=!0,S.preventDefault()}};function Xr(S){if(M(S,nt))return nt;var R=M(S,mt),N=M(S,dt);return R&&N?nt:R||N?R?mt:dt:M(S,qe)?qe:Ye}function ju(){if(!Jr)return!1;var S={},R=n.CSS&&n.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach(function(N){S[N]=R?n.CSS.supports("touch-action",N):!0}),S}var ii=1,Tt=2,cn=4,Sr=8,vr=Sr,Pn=16,nr=32;function Ar(S){this.options=h({},this.defaults,S||{}),this.id=F(),this.manager=null,this.options.enable=b(this.options.enable,!0),this.state=ii,this.simultaneous={},this.requireFail=[]}Ar.prototype={defaults:{},set:function(S){return h(this.options,S),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(S){if(f(S,"recognizeWith",this))return this;var R=this.simultaneous;return S=ai(S,this),R[S.id]||(R[S.id]=S,S.recognizeWith(this)),this},dropRecognizeWith:function(S){return f(S,"dropRecognizeWith",this)?this:(S=ai(S,this),delete this.simultaneous[S.id],this)},requireFailure:function(S){if(f(S,"requireFailure",this))return this;var R=this.requireFail;return S=ai(S,this),B(R,S)===-1&&(R.push(S),S.requireFailure(this)),this},dropRequireFailure:function(S){if(f(S,"dropRequireFailure",this))return this;S=ai(S,this);var R=B(this.requireFail,S);return R>-1&&this.requireFail.splice(R,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(S){return!!this.simultaneous[S.id]},emit:function(S){var R=this,N=this.state;function U(Z){R.manager.emit(Z,S)}N<Sr&&U(R.options.event+Bo(N)),U(R.options.event),S.additionalEvent&&U(S.additionalEvent),N>=Sr&&U(R.options.event+Bo(N))},tryEmit:function(S){if(this.canEmit())return this.emit(S);this.state=nr},canEmit:function(){for(var S=0;S<this.requireFail.length;){if(!(this.requireFail[S].state&(nr|ii)))return!1;S++}return!0},recognize:function(S){var R=h({},S);if(!x(this.options.enable,[this,R])){this.reset(),this.state=nr;return}this.state&(vr|Pn|nr)&&(this.state=ii),this.state=this.process(R),this.state&(Tt|cn|Sr|Pn)&&this.tryEmit(R)},process:function(S){},getTouchAction:function(){},reset:function(){}};function Bo(S){return S&Pn?"cancel":S&Sr?"end":S&cn?"move":S&Tt?"start":""}function Ro(S){return S==he?"down":S==ge?"up":S==le?"left":S==ie?"right":""}function ai(S,R){var N=R.manager;return N?N.get(S):S}function jt(){Ar.apply(this,arguments)}v(jt,Ar,{defaults:{pointers:1},attrTest:function(S){var R=this.options.pointers;return R===0||S.pointers.length===R},process:function(S){var R=this.state,N=S.eventType,U=R&(Tt|cn),Z=this.attrTest(S);return U&&(N&ae||!Z)?R|Pn:U||Z?N&$?R|Sr:R&Tt?R|cn:Tt:nr}});function oi(){jt.apply(this,arguments),this.pX=null,this.pY=null}v(oi,jt,{defaults:{event:"pan",threshold:10,pointers:1,direction:Ce},getTouchAction:function(){var S=this.options.direction,R=[];return S&ve&&R.push(dt),S&Re&&R.push(mt),R},directionTest:function(S){var R=this.options,N=!0,U=S.distance,Z=S.direction,ce=S.deltaX,Ie=S.deltaY;return Z&R.direction||(R.direction&ve?(Z=ce===0?ne:ce<0?le:ie,N=ce!=this.pX,U=Math.abs(S.deltaX)):(Z=Ie===0?ne:Ie<0?ge:he,N=Ie!=this.pY,U=Math.abs(S.deltaY))),S.direction=Z,N&&U>R.threshold&&Z&R.direction},attrTest:function(S){return jt.prototype.attrTest.call(this,S)&&(this.state&Tt||!(this.state&Tt)&&this.directionTest(S))},emit:function(S){this.pX=S.deltaX,this.pY=S.deltaY;var R=Ro(S.direction);R&&(S.additionalEvent=this.options.event+R),this._super.emit.call(this,S)}});function Hi(){jt.apply(this,arguments)}v(Hi,jt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[nt]},attrTest:function(S){return this._super.attrTest.call(this,S)&&(Math.abs(S.scale-1)>this.options.threshold||this.state&Tt)},emit:function(S){if(S.scale!==1){var R=S.scale<1?"in":"out";S.additionalEvent=this.options.event+R}this._super.emit.call(this,S)}});function Gi(){Ar.apply(this,arguments),this._timer=null,this._input=null}v(Gi,Ar,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[Ye]},process:function(S){var R=this.options,N=S.pointers.length===R.pointers,U=S.distance<R.threshold,Z=S.deltaTime>R.time;if(this._input=S,!U||!N||S.eventType&($|ae)&&!Z)this.reset();else if(S.eventType&Y)this.reset(),this._timer=c(function(){this.state=vr,this.tryEmit()},R.time,this);else if(S.eventType&$)return vr;return nr},reset:function(){clearTimeout(this._timer)},emit:function(S){this.state===vr&&(S&&S.eventType&$?this.manager.emit(this.options.event+"up",S):(this._input.timeStamp=u(),this.manager.emit(this.options.event,this._input)))}});function Ki(){jt.apply(this,arguments)}v(Ki,jt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[nt]},attrTest:function(S){return this._super.attrTest.call(this,S)&&(Math.abs(S.rotation)>this.options.threshold||this.state&Tt)}});function ji(){jt.apply(this,arguments)}v(ji,jt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:ve|Re,pointers:1},getTouchAction:function(){return oi.prototype.getTouchAction.call(this)},attrTest:function(S){var R=this.options.direction,N;return R&(ve|Re)?N=S.overallVelocity:R&ve?N=S.overallVelocityX:R&Re&&(N=S.overallVelocityY),this._super.attrTest.call(this,S)&&R&S.offsetDirection&&S.distance>this.options.threshold&&S.maxPointers==this.options.pointers&&l(N)>this.options.velocity&&S.eventType&$},emit:function(S){var R=Ro(S.offsetDirection);R&&this.manager.emit(this.options.event+R,S),this.manager.emit(this.options.event,S)}});function si(){Ar.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}v(si,Ar,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[qe]},process:function(S){var R=this.options,N=S.pointers.length===R.pointers,U=S.distance<R.threshold,Z=S.deltaTime<R.time;if(this.reset(),S.eventType&Y&&this.count===0)return this.failTimeout();if(U&&Z&&N){if(S.eventType!=$)return this.failTimeout();var ce=this.pTime?S.timeStamp-this.pTime<R.interval:!0,Ie=!this.pCenter||pe(this.pCenter,S.center)<R.posThreshold;this.pTime=S.timeStamp,this.pCenter=S.center,!Ie||!ce?this.count=1:this.count+=1,this._input=S;var $e=this.count%R.taps;if($e===0)return this.hasRequireFailures()?(this._timer=c(function(){this.state=vr,this.tryEmit()},R.interval,this),Tt):vr}return nr},failTimeout:function(){return this._timer=c(function(){this.state=nr},this.options.interval,this),nr},reset:function(){clearTimeout(this._timer)},emit:function(){this.state==vr&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}});function dn(S,R){return R=R||{},R.recognizers=b(R.recognizers,dn.defaults.preset),new Ji(S,R)}dn.VERSION="2.0.7",dn.defaults={domEvents:!1,touchAction:Gt,enable:!0,inputTarget:null,inputClass:null,preset:[[Ki,{enable:!1}],[Hi,{enable:!1},["rotate"]],[ji,{direction:ve}],[oi,{direction:ve},["swipe"]],[si],[si,{event:"doubletap",taps:2},["tap"]],[Gi]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};var Ju=1,ko=2;function Ji(S,R){this.options=h({},dn.defaults,R||{}),this.options.inputTarget=this.options.inputTarget||S,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=S,this.input=Q(this),this.touchAction=new Ir(this,this.options.touchAction),Fo(this,!0),A(this.options.recognizers,function(N){var U=this.add(new N[0](N[1]));N[2]&&U.recognizeWith(N[2]),N[3]&&U.requireFailure(N[3])},this)}Ji.prototype={set:function(S){return h(this.options,S),S.touchAction&&this.touchAction.update(),S.inputTarget&&(this.input.destroy(),this.input.target=S.inputTarget,this.input.init()),this},stop:function(S){this.session.stopped=S?ko:Ju},recognize:function(S){var R=this.session;if(!R.stopped){this.touchAction.preventDefaults(S);var N,U=this.recognizers,Z=R.curRecognizer;(!Z||Z&&Z.state&vr)&&(Z=R.curRecognizer=null);for(var ce=0;ce<U.length;)N=U[ce],R.stopped!==ko&&(!Z||N==Z||N.canRecognizeWith(Z))?N.recognize(S):N.reset(),!Z&&N.state&(Tt|cn|Sr)&&(Z=R.curRecognizer=N),ce++}},get:function(S){if(S instanceof Ar)return S;for(var R=this.recognizers,N=0;N<R.length;N++)if(R[N].options.event==S)return R[N];return null},add:function(S){if(f(S,"add",this))return this;var R=this.get(S.options.event);return R&&this.remove(R),this.recognizers.push(S),S.manager=this,this.touchAction.update(),S},remove:function(S){if(f(S,"remove",this))return this;if(S=this.get(S),S){var R=this.recognizers,N=B(R,S);N!==-1&&(R.splice(N,1),this.touchAction.update())}return this},on:function(S,R){if(S!==r&&R!==r){var N=this.handlers;return A(k(S),function(U){N[U]=N[U]||[],N[U].push(R)}),this}},off:function(S,R){if(S!==r){var N=this.handlers;return A(k(S),function(U){R?N[U]&&N[U].splice(B(N[U],R),1):delete N[U]}),this}},emit:function(S,R){this.options.domEvents&&Xu(S,R);var N=this.handlers[S]&&this.handlers[S].slice();if(!(!N||!N.length)){R.type=S,R.preventDefault=function(){R.srcEvent.preventDefault()};for(var U=0;U<N.length;)N[U](R),U++}},destroy:function(){this.element&&Fo(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}};function Fo(S,R){var N=S.element;if(N.style){var U;A(S.options.cssProps,function(Z,ce){U=O(N.style,ce),R?(S.oldCssProps[U]=N.style[U],N.style[U]=Z):N.style[U]=S.oldCssProps[U]||""}),R||(S.oldCssProps={})}}function Xu(S,R){var N=t.createEvent("Event");N.initEvent(S,!0,!0),N.gesture=R,R.target.dispatchEvent(N)}return h(dn,{INPUT_START:Y,INPUT_MOVE:oe,INPUT_END:$,INPUT_CANCEL:ae,STATE_POSSIBLE:ii,STATE_BEGAN:Tt,STATE_CHANGED:cn,STATE_ENDED:Sr,STATE_RECOGNIZED:vr,STATE_CANCELLED:Pn,STATE_FAILED:nr,DIRECTION_NONE:ne,DIRECTION_LEFT:le,DIRECTION_RIGHT:ie,DIRECTION_UP:ge,DIRECTION_DOWN:he,DIRECTION_HORIZONTAL:ve,DIRECTION_VERTICAL:Re,DIRECTION_ALL:Ce,Manager:Ji,Input:re,TouchAction:Ir,TouchInput:At,MouseInput:ot,PointerEventInput:tr,TouchMouseInput:Et,SingleTouchInput:qt,Recognizer:Ar,AttrRecognizer:jt,Tap:si,Pan:oi,Swipe:ji,Pinch:Hi,Rotate:Ki,Press:Gi,on:w,off:E,each:A,merge:y,extend:p,assign:h,inherit:v,bindFn:g,prefixed:O}),dn}(typeof window!="undefined"?window:{},typeof document!="undefined"?document:{});function Os(n,t,e){var r=t.getBoundingClientRect(),i=r.top,a=r.left,o=r.width,s=r.height;return e&&(a=a+o*e.left,i=i+s*(1-e.bottom-e.height),o=o*e.width,s=s*e.height),new d.Vector2((n.x-a)/o*2-1,-(n.y-i)/s*2+1)}var Cu=new d.OrthographicCamera(-1,1,1,-1,0,1),go=new d.BufferGeometry;go.setAttribute("position",new d.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3));go.setAttribute("uv",new d.Float32BufferAttribute([0,2,0,0,2,0],2));var nn=new d.Mesh(go),yo=new d.Scene;yo.add(nn);var Fh=`
1329
1329
  varying vec2 vUv;
1330
1330
  void main() {
1331
1331
  vUv = uv;
1332
1332
  gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
1333
1333
  }
1334
- `,Ni=function(){function n(t,e){var r;this.renderer=t,this.material=new d.ShaderMaterial({vertexShader:(r=e.vertex)!==null&&r!==void 0?r:yh,fragmentShader:e.fragment,uniforms:Object.assign({inputBuffer:new d.Uniform(null)},e.uniforms),defines:Object.assign({},e.defines),blending:d.NoBlending,depthWrite:!1,depthTest:!1})}return n.prototype.render=function(t,e){var r=this.renderer.getRenderTarget(),i=rn.material;this.material.uniforms.inputBuffer.value=t.texture,rn.material=this.material,this.renderer.setRenderTarget(e||null),this.renderer.render(ho,pu),this.renderer.setRenderTarget(r),rn.material=i},n.prototype.dispose=function(){this.material.dispose()},n}(),bh=`
1334
+ `,Qi=function(){function n(t,e){var r;this.renderer=t,this.material=new d.ShaderMaterial({vertexShader:(r=e.vertex)!==null&&r!==void 0?r:Fh,fragmentShader:e.fragment,uniforms:Object.assign({inputBuffer:new d.Uniform(null)},e.uniforms),defines:Object.assign({},e.defines),blending:d.NoBlending,depthWrite:!1,depthTest:!1})}return n.prototype.render=function(t,e){var r=this.renderer.getRenderTarget(),i=nn.material;this.material.uniforms.inputBuffer.value=t.texture,nn.material=this.material,this.renderer.setRenderTarget(e||null),this.renderer.render(yo,Cu),this.renderer.setRenderTarget(r),nn.material=i},n.prototype.dispose=function(){this.material.dispose()},n}(),Lh=`
1335
1335
  void main() {
1336
1336
  gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
1337
1337
  }
1338
- `,xh=`
1338
+ `,Oh=`
1339
1339
  uniform vec3 inputValue;
1340
1340
  void main() {
1341
1341
  gl_FragColor = vec4(inputValue, 1.0);
1342
1342
  }
1343
- `,wh=function(){function n(t){this.renderer=t,this.material=new d.ShaderMaterial({vertexShader:bh,fragmentShader:xh,uniforms:Object.assign({inputValue:new d.Uniform(new d.Vector3)}),blending:d.NoBlending,depthWrite:!1,depthTest:!1})}return n.prototype.render=function(t,e){var r=this.renderer.getRenderTarget(),i=rn.material;this.material.uniforms.inputValue.value.copy(t),rn.material=this.material,this.renderer.setRenderTarget(e||null),this.renderer.render(ho,pu),this.renderer.setRenderTarget(r),rn.material=i},n.prototype.dispose=function(){this.material.dispose()},n}(),Eh=`
1343
+ `,Vh=function(){function n(t){this.renderer=t,this.material=new d.ShaderMaterial({vertexShader:Lh,fragmentShader:Oh,uniforms:Object.assign({inputValue:new d.Uniform(new d.Vector3)}),blending:d.NoBlending,depthWrite:!1,depthTest:!1})}return n.prototype.render=function(t,e){var r=this.renderer.getRenderTarget(),i=nn.material;this.material.uniforms.inputValue.value.copy(t),nn.material=this.material,this.renderer.setRenderTarget(e||null),this.renderer.render(yo,Cu),this.renderer.setRenderTarget(r),nn.material=i},n.prototype.dispose=function(){this.material.dispose()},n}(),Nh=`
1344
1344
  uniform sampler2D inputBuffer;
1345
1345
  varying vec2 vUv;
1346
1346
  void main() {
1347
1347
  gl_FragColor = texture2D(inputBuffer, vUv);
1348
1348
  }
1349
- `,vu=function(n){se(t,n);function t(e){return n.call(this,e,{fragment:Eh})||this}return t}(Ni),Ch=`
1349
+ `,Mu=function(n){ue(t,n);function t(e){return n.call(this,e,{fragment:Nh})||this}return t}(Qi),zh=`
1350
1350
  precision mediump float;
1351
1351
  precision mediump int;
1352
1352
  uniform sampler2D depthBuffer;
@@ -1355,7 +1355,7 @@ void main() {
1355
1355
  gl_FragColor = vec4(0.0,0.0,0.0,1.0);
1356
1356
  gl_FragDepthEXT = texture2D(depthBuffer, vUv).r;
1357
1357
  }
1358
- `,Mh=`
1358
+ `,Dh=`
1359
1359
 
1360
1360
  varying vec2 vUv;
1361
1361
 
@@ -1366,7 +1366,7 @@ void main() {
1366
1366
 
1367
1367
  gl_Position = projectionMatrix * mvPosition;
1368
1368
  }
1369
- `,Sh=new d.OrthographicCamera(-1,1,1,-1,0,1),po=new d.BufferGeometry;po.setAttribute("position",new d.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3));po.setAttribute("uv",new d.Float32BufferAttribute([0,2,0,0,2,0],2));var Au=new d.MeshBasicMaterial,qa=new d.Mesh(po,Au),mu=new d.Scene;mu.add(qa);var Ih=function(){function n(t){this.renderer=t,this.material=new d.ShaderMaterial({vertexShader:Mh,fragmentShader:Ch,uniforms:Object.assign({depthBuffer:new d.Uniform(null)}),blending:d.NoBlending,depthWrite:!0,depthTest:!0}),this.renderer.getContext()&&this.renderer.getContext()instanceof WebGLRenderingContext&&(this.material.extensions.fragDepth=!0)}return n.prototype.render=function(t,e){var r=this.renderer.getRenderTarget();this.material.uniforms.depthBuffer.value=t,qa.material=this.material,this.renderer.setRenderTarget(e||null),this.renderer.render(mu,Sh),this.renderer.setRenderTarget(r),qa.material=Au},n.prototype.dispose=function(){this.material.dispose()},n}(),fa=new d.Vector2,vo=function(n){se(t,n);function t(e){var r,i,a,o,s,u,l=n.call(this)||this,c=t.parseArgs(e);l.mode="",l.pending=new Set,l.userAction=c.initial.userAction,l.destroyed=!1,l.ident=c.ident,l.scene=c.scene,l.xrCustomObjectsScene=c.xrCustomObjectsScene,l.helper=c.helper,l.boundingMesh=c.boundingMesh,l.camera=c.camera,l.renderer=c.renderer,l.scissor=c.scissor,l.element=c.element,l.models=c.models,l.enableWheel=c.enableWheel,l.enableIOSEDR=(r=c.enableIOSEDR)!==null&&r!==void 0?r:!1,l.enableEDL=(i=c.enableEDL)!==null&&i!==void 0?i:!0,l.enableHQ=(a=c.enableHQ)!==null&&a!==void 0?a:!0,l.works=c.works,l.imageOptions=c.imageOptions,l.videoTexture=c.videoTexture,l.extraElements=c.extraElements,l.initial=c.initial,l.currentPano=typeof l.initial.state.panoIndex=="number"?{workCode:(u=(o=l.initial.state.workCode)!==null&&o!==void 0?o:(s=c.works[0])===null||s===void 0?void 0:s.workCode)!==null&&u!==void 0?u:"",panoIndex:l.initial.state.panoIndex}:{workCode:l.initial.currentState.workCode,panoIndex:l.initial.currentState.panoIndex},l.needsRender=!0,l.modelSceneNeedsRender=!0,l.cameraMotion=new Me({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=[c.element].concat(c.extraElements||[]).map(function(A){return l.bindEvents(A)}),l.pending.add("init-animation"),l.initAnimationReady=new Promise(function(A){vt.shared.add(function(){l.initAnimation().then(function(){l.pending.delete("init-animation"),A()})},!0)}),l.initAnimationIsReady=!1,l.initAnimationReady.then(function(){return l.initAnimationIsReady=!0}),l.modelScene=c.modelScene;var h=new d.Vector2;return l.renderer.getDrawingBufferSize(h),l.modelRenderTarget=c.modelRenderTarget,l.copyPass=new vu(l.renderer),l.depthCopyPass=new Ih(l.renderer),l.screenBuffers=[],l.lastPostProcessingType=null,l}return t.parseArgs=function(e){return e instanceof t?e:F({},e)},t.initAnimationEndState=function(e){var r,i,a,o,s,u,l,c,h=this.parseArgs(e),A=h.initial,m=A.state,f=A.currentState,v=typeof m.panoIndex=="number"?{workCode:(a=(r=m.workCode)!==null&&r!==void 0?r:(i=h.works[0])===null||i===void 0?void 0:i.workCode)!==null&&a!==void 0?a:"",panoIndex:m.panoIndex}:{workCode:f.workCode,panoIndex:f.panoIndex};return F(F({},v),{mode:"",longitude:(o=m.longitude)!==null&&o!==void 0?o:f.longitude,latitude:(s=m.latitude)!==null&&s!==void 0?s:f.latitude,fov:(u=m.fov)!==null&&u!==void 0?u:f.fov,offset:(l=m.offset)!==null&&l!==void 0?l:f.offset,distance:(c=m.distance)!==null&&c!==void 0?c:f.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 a=i[r];a()}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 a=i[r];if(a.element===e)return}this.eventUnbinds.push(this.bindEvents(e))},t.prototype.unbindExtraElement=function(e){for(var r=[],i=0,a=this.eventUnbinds;i<a.length;i++){var o=a[i];o.element===e?o():r.push(o)}this.eventUnbinds=r},t.prototype.updateRenderSize=function(e){this.needsRender=!0,this.modelSceneNeedsRender=!0,this.modelRenderTarget.setSize(e.x,e.y),this.screenBuffers.forEach(function(r){r.setSize(e.x,e.y)})},t.prototype.updateModel=function(e){this.needsRender=!0,this.modelSceneNeedsRender=!0},t.prototype.updateWork=function(e,r,i,a){return this.works=e,this.userAction=a,!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),Qt(i)&&this.setCamera(i)}},t.prototype.render=function(e,r){var i=this.renderer.getRenderTarget();this.updateScreenBuffer(r),e&&(this.renderer.setRenderTarget(this.modelRenderTarget),this.renderer.render(this.modelScene,this.camera)),this.depthCopyPass.render(this.modelRenderTarget.depthTexture,i),this.renderer.autoClearDepth=!1,this.renderer.autoClearColor=!0,this.copyPass.render(this.modelRenderTarget,i),this.renderer.setRenderTarget(i),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,this.camera),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0},t.prototype.postProcessing=function(e,r){this.destroyed},t.prototype.updateCamera=function(e,r,i){var a=this;return this.initAnimationReady.then(function(){a.userAction=i,a.stopMomentumMovement();var o={};return e.longitude!==void 0&&(o.longitude=e.longitude),e.latitude!==void 0&&(o.latitude=e.latitude),e.fov!==void 0&&(o.fov=e.fov),a.cameraMotion.set(o,r).catch(D)})},t.prototype.updateCameraWithKeyframes=function(e,r,i){var a=this;return this.initAnimationReady.then(function(){a.userAction=i,a.stopMomentumMovement();for(var o=[],s=0,u=e;s<u.length;s++){var l=u[s];o.push({key:l.key,progress:l.progress,value:{longitude:l.value.longitude,latitude:l.value.latitude,fov:l.value.fov}})}return a.cameraMotion.setKeyframes(o,r)})},t.prototype.getTargetState=function(){var e=this.cameraMotion.getKeyFrameSegment(Ee())[1];return F(F({},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",W("initAnimation.start",{state:i,userAction:this.userAction})),this.emit("initAnimation.end",W("initAnimation.end",{state:i,userAction:this.userAction})),Promise.resolve()},t.prototype.setCamera=function(e){var r,i,a,o,s;e===void 0&&(e={});var u=(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,c=(a=e.fov)!==null&&a!==void 0?a:this.camera.pose.fov,h=(o=e.distance)!==null&&o!==void 0?o:this.camera.pose.distance,A=(s=e.offset)!==null&&s!==void 0?s:this.camera.pose.offset,m=kt(u,this.camera.pose.longitude,Math.PI*2)||kt(l,this.camera.pose.latitude),f=kt(c,this.camera.pose.fov),v=kt(h,this.camera.pose.distance),y=yi(A,this.camera.pose.offset);(f||m||y||v)&&(this.camera.setFromPose({longitude:u,latitude:l,fov:c,distance:h,offset:A}),this.emit("camera.update",W("camera.update",{userAction:this.userAction,state:F(F({},this.currentPano),{mode:this.mode,longitude:u,latitude:l,fov:c,offset:A,distance:h})})),this.needsRender=!0,this.modelSceneNeedsRender=!0)},t.prototype.stopMomentumMovement=function(){if(this.inMomentumMovement&&this.inMomentumMovement.event&&!this.inMomentumMovement.event.defaultPrevented&&!this.inMomentumMovement.event.isFinal){var e=W("gesture.momentum",F(F({},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 Ps(e,this.element,this.scissor)},t.prototype.bindEvents=function(e){var r=this,i=function(C){var I=Ps(C,r.element,r.scissor);return!(Math.abs(I.x)>1||Math.abs(I.y)>1)},a=new zn.Manager(e),o=function(C){var I=C.session;return I.firstInput||null};a.add(new zn.Pan({threshold:10,pointers:0})),a.add(new zn.Tap({interval:410})),a.add(new zn.Pinch({threshold:0,pointers:2})),a.on("panstart pan",function(C){var I=o(a);if(!(I&&!i(I.center))){var S=W("gesture.pan",{target:C.target,pointerType:C.pointerType,srcEvent:C.srcEvent,pointers:C.pointers.map(function(P){var B=r.relativeClientPosition(P),L=new d.Raycaster;return L.params.Points={threshold:.1},L.setFromCamera(B,r.camera),{x:P.x,y:P.y,delta:0,buttons:0,coords:B,raycaster:L}}),isFirst:C.isFirst,isFinal:C.isFinal,scale:C.scale,center:function(P){var B=r.relativeClientPosition(P),L=new d.Raycaster;return L.params.Points={threshold:.1},L.setFromCamera(B,r.camera),{x:P.x,y:P.y,delta:0,buttons:0,coords:B,raycaster:L}}(C.center),velocityX:C.velocityX,velocityY:C.velocityY,overallVelocityX:C.overallVelocityX,overallVelocityY:C.overallVelocityY,userAction:!0,state:F(F({mode:r.mode},r.currentPano),We(r.camera.pose))});r.onPanGesture(S),y()}}),a.on("tap",function(C){if(!(C.pointerType==="mouse"&&C.srcEvent.button!==0)){var I=o(a);if(!(I&&!i(I.center))){var S=W("gesture.tap",{target:C.target,pointerType:C.pointerType,srcEvent:C.srcEvent,pointers:C.pointers.map(function(P){var B=r.relativeClientPosition(P),L=new d.Raycaster;return L.params.Points={threshold:.1},L.setFromCamera(B,r.camera),{x:P.x,y:P.y,delta:0,buttons:0,coords:B,raycaster:L}}),isFirst:!0,isFinal:!0,scale:C.scale,center:function(P){var B=r.relativeClientPosition(P),L=new d.Raycaster;return L.params.Points={threshold:.1},L.setFromCamera(B,r.camera),{x:P.x,y:P.y,delta:0,buttons:0,coords:B,raycaster:L}}(C.center),velocityX:C.velocityX,velocityY:C.velocityY,overallVelocityX:C.overallVelocityX,overallVelocityY:C.overallVelocityY,userAction:!0,state:F(F({mode:r.mode},r.currentPano),We(r.camera.pose))});r.onTapGesture(S),y()}}}),a.on("pinchstart pinch pinchend",function(C){var I=o(a);if(!(I&&!i(I.center))){var S=W("gesture.pinch",{target:C.target,pointerType:C.pointerType,srcEvent:C.srcEvent,pointers:C.pointers.map(function(P){var B,L=r.relativeClientPosition(P),k=new d.Raycaster;return k.params.Points={threshold:.1},k.setFromCamera(L,r.camera),{x:P.x,y:P.y,delta:(B=P.delta)!==null&&B!==void 0?B:0,buttons:0,coords:L,raycaster:k}}),isFirst:C.type==="pinchstart",isFinal:C.type==="pinchend",scale:C.scale,center:function(P){var B=r.relativeClientPosition(P),L=new d.Raycaster;return L.params.Points={threshold:.1},L.setFromCamera(B,r.camera),{x:P.x,y:P.y,delta:0,buttons:0,coords:B,raycaster:L}}(C.center),velocityX:C.velocityX,velocityY:C.velocityY,overallVelocityX:C.overallVelocityX,overallVelocityY:C.overallVelocityY,userAction:!0,state:F(F({mode:r.mode},r.currentPano),We(r.camera.pose))});r.onPinchGesture(S),y()}});var s=null,u=null,l=function(C,I,S){var P={x:S.clientX,y:S.clientY},B=r.relativeClientPosition(P),L=new d.Raycaster;L.params.Points={threshold:.1},L.setFromCamera(B,r.camera);var k=F(F({},P),{coords:B,raycaster:L,buttons:S.buttons,delta:0}),O=C==="pinchend"?I:I-S.deltaY/280,z=W("gesture.pinch",{target:S.target,pointerType:"mouse",srcEvent:S,pointers:[F({},k)],isFirst:C==="pinchstart",isFinal:C==="pinchend",scale:pe(O,.1,10),center:F({},k),velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:F(F({mode:r.mode},r.currentPano),We(r.camera.pose))});return z},c=function(C){var I,S={x:C.clientX,y:C.clientY};if(i(S)){if(C.preventDefault(),C.ctrlKey){var P=(I=s==null?void 0:s.prevEvent.scale)!==null&&I!==void 0?I:1,B=l(s?"pinch":"pinchstart",P,C);s===null?s={firstEvent:B,prevEvent:B}:s.prevEvent=B,r.onPinchGesture(B),u!==null&&window.clearTimeout(u),u=window.setTimeout(function(){var G;u=null;var Q=(G=s==null?void 0:s.prevEvent.scale)!==null&&G!==void 0?G:1,H=l("pinchend",Q,C);s=null,r.onPinchGesture(H)},200)}else{var L=(Math.abs(C.deltaY)>Math.abs(C.deltaX)?C.deltaY:C.deltaX)/-60,k=r.mouseWheelState!==void 0,O={x:C.clientX,y:C.clientY},z=r.relativeClientPosition(O),N=new d.Raycaster;N.params.Points={threshold:.1},N.setFromCamera(z,r.camera);var X=F(F({},O),{coords:z,raycaster:N,buttons:C.buttons,delta:L}),B=W("gesture.mousewheel",{target:C.target,pointerType:"mouse",srcEvent:C,pointers:[F({},X)],isFirst:k,isFinal:!1,scale:0,center:F({},X),velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:F(F({mode:r.mode},r.currentPano),We(r.camera.pose))});r.onMouseWheel(B),r.mouseWheelState&&clearTimeout(r.mouseWheelState.timer),r.mouseWheelState={timer:setTimeout(function(){delete r.mouseWheelState;var Q=W("gesture.mousewheel",{target:C.target,pointerType:"mouse",srcEvent:C,pointers:[F(F({},X),{delta:0})],isFirst:!1,isFinal:!0,scale:0,center:F(F({},X),{delta:0}),velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:F(F({mode:r.mode},r.currentPano),We(r.camera.pose))});r.onMouseWheel(Q)},100)}}y()}},h=function(C){if(!Nn()){if(!i({x:C.clientX,y:C.clientY})){A();return}var I=!1;r.mouseMoveState||(I=!0);var S={x:C.clientX,y:C.clientY},P=r.relativeClientPosition(S),B=new d.Raycaster;B.params.Points={threshold:.1},B.setFromCamera(P,r.camera);var L=F(F({},S),{coords:P,raycaster:B,buttons:C.buttons,delta:0}),k=W("gesture.mousemove",{target:C.target,pointerType:"mouse",srcEvent:C,pointers:[F({},L)],isFirst:I,isFinal:!1,scale:0,center:F({},L),velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:F(F({mode:r.mode},r.currentPano),We(r.camera.pose))});r.mouseMoveState={timeStamp:Ee(),event:k},r.onMouseMove(k),r.pressState&&Math.abs(C.clientX-r.pressState.event.center.y)>10&&Math.abs(C.clientY-r.pressState.event.center.y)>10&&y()}},A=function(){if(r.mouseMoveState){var C=W(r.mouseMoveState.event.type,F(F({},r.mouseMoveState.event),{isFinal:!0}));delete r.mouseMoveState,r.onMouseMove(C)}y()},m=function(C){if(!i(C.center)){y();return}var I=!1;r.pressState||(I=!0,r.pressState={event:C,timeStamp:Ee(),stop:D});var S=Ee()-r.pressState.timeStamp,P=W(r.pressState.event.type,F(F({},r.pressState.event),{isFirst:I,isFinal:!1,center:F(F({},r.pressState.event.center),{delta:S}),pointers:r.pressState.event.pointers.map(function(B){return F(F({},B),{delta:S})})}));r.onPressGesture(P),r.pressState&&(r.pressState.stop=vt.shared.add(function(B){m(C)},!0,1))},f=function(C){if(y(),!(C.touches.length>1||C.changedTouches.length<=0)){var I={x:C.changedTouches[0].clientX,y:C.changedTouches[0].clientY},S=r.relativeClientPosition(I),P=new d.Raycaster;P.params.Points={threshold:.1},P.setFromCamera(S,r.camera);var B=F(F({},I),{coords:S,raycaster:P,buttons:0,delta:0}),L=W("gesture.press",{target:C.target,pointerType:"touch",srcEvent:C,pointers:[F({},B)],isFirst:!1,isFinal:!1,scale:0,center:B,velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:F(F({mode:r.mode},r.currentPano),We(r.camera.pose))});m(L)}},v=function(C){y();var I={x:C.clientX,y:C.clientY},S=r.relativeClientPosition(I),P=new d.Raycaster;P.params.Points={threshold:.1},P.setFromCamera(S,r.camera);var B=F(F({},I),{coords:S,raycaster:P,buttons:C.buttons,delta:0}),L=W("gesture.press",{target:C.target,pointerType:"mouse",srcEvent:C,pointers:[F({},B)],isFirst:!1,isFinal:!1,scale:0,center:B,velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:F(F({mode:r.mode},r.currentPano),We(r.camera.pose))});m(L)},y=function(){var C;if(r.pressState){var I=Ee()-r.pressState.timeStamp,S=W(r.pressState.event.type,F(F({},r.pressState.event),{center:F(F({},r.pressState.event.center),{delta:I}),isFirst:!1,isFinal:!0,pointers:r.pressState.event.pointers.map(function(P){return F(F({},P),{delta:I})})}));r.onPressGesture(S),(C=r.pressState)===null||C===void 0||C.stop(),delete r.pressState}},p=null,g=function(C){var I,S=!1,P=!1;switch(C.type){case"gesturestart":S=!0;break;case"gestureend":P=!0;break}var B={x:C.clientX,y:C.clientY},L=r.relativeClientPosition(B),k=new d.Raycaster;k.params.Points={threshold:.1},k.setFromCamera(L,r.camera);var O=F(F({},B),{coords:L,raycaster:k,buttons:0,delta:0}),z=W("gesture.pinch",{target:C.target,pointerType:"mouse",srcEvent:C,pointers:[F({},O)],isFirst:S,isFinal:P,scale:(I=C.scale)!==null&&I!==void 0?I:1,center:F({},O),velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:F(F({mode:r.mode},r.currentPano),We(r.camera.pose))});return z},x=function(C){if(C.preventDefault(),!Nn()){var I=g(C);p={firstEvent:I};var S=p.firstEvent;S&&!i(S.center)||r.onPinchGesture(I)}},b=function(C){if(C.preventDefault(),!Nn()&&p){var I=g(C),S=p.firstEvent;S&&!i(S.center)||r.onPinchGesture(I)}},w=function(C){if(C.preventDefault(),!Nn()&&p){var I=g(C),S=p.firstEvent;p=null,!(S&&!i(S.center))&&r.onPinchGesture(I)}},E=function(C){if(C&&typeof C.preventDefault=="function"&&C.currentTarget===e&&C.preventDefault(),typeof getSelection=="function"){var I=getSelection();I&&I.focusNode&&(I.removeAllRanges&&I.removeAllRanges(),I.empty&&I.empty())}};this.enableWheel&&e.addEventListener("wheel",c,{passive:!1}),e.addEventListener("mousemove",h,!1),e.addEventListener("mouseout",A,!1),e.addEventListener("touchstart",f,{passive:!0}),e.addEventListener("touchend",y,!1),e.addEventListener("touchcancel",y,!1),e.addEventListener("mousedown",v,!1),e.addEventListener("mouseup",y,!1),e.addEventListener("gesturestart",x,{passive:!1}),e.addEventListener("gesturechange",b,{passive:!1}),e.addEventListener("gestureend",w,{passive:!1}),e.addEventListener("touchstart",E,{passive:!1}),e.addEventListener("contextmenu",E,!1);var M=function(){a.destroy(),e.removeEventListener("wheel",c,!1),e.removeEventListener("mousemove",h,!1),e.removeEventListener("mouseout",A,!1),e.removeEventListener("touchstart",f,!1),e.removeEventListener("touchend",y,!1),e.removeEventListener("touchcancel",y,!1),e.removeEventListener("mousedown",v,!1),e.removeEventListener("mouseup",y,!1),e.removeEventListener("gesturestart",x,!1),e.removeEventListener("gesturechange",b,!1),e.removeEventListener("gestureend",w,!1),e.removeEventListener("touchstart",E,!1),e.removeEventListener("contextmenu",E,!1)};return Object.assign(M,{element:e})},t.prototype.preloadPano=function(e,r){var i=this;r===void 0&&(r=D);var a=this.works.getResolvedObserver(e);if(!a)return Promise.resolve();var o=["right","left","up","down","front","back"];return Promise.all(o.map(function(s){var u=F({key:"pano.".concat(ze(e),".").concat(s)},Vt(i.imageOptions,["size","format","quality","mappings"])),l=a.images[s],c=tn(l,i.imageOptions.transform,u);return it(a.work).preload(c)})).then(function(){return r(e),e})},t.prototype.updateScreenBuffer=function(e){var r,i,a,o,s,u;if(this.lastPostProcessingType!==e)if(this.lastPostProcessingType=e,e==="luminance"){if(this.screenBuffers.length===0){var l=this.renderer.getDrawingBufferSize(fa);this.screenBuffers=[new d.WebGLRenderTarget(l.x,l.y,{generateMipmaps:!1,encoding:(i=(r=this.renderer)===null||r===void 0?void 0:r.outputEncoding)!==null&&i!==void 0?i:d.sRGBEncoding}),this.modelRenderTarget]}}else if(e==="edl"){if(this.screenBuffers.length===0){var l=this.renderer.getDrawingBufferSize(fa);this.screenBuffers=[new d.WebGLRenderTarget(l.x,l.y,{generateMipmaps:!1,encoding:(o=(a=this.renderer)===null||a===void 0?void 0:a.outputEncoding)!==null&&o!==void 0?o:d.sRGBEncoding,minFilter:d.NearestFilter,magFilter:d.NearestFilter,format:d.RGBAFormat,type:d.FloatType}),this.modelRenderTarget]}this.models.setMaterial({useEDL:!0})}else if(e==="hq"){if(this.screenBuffers.length===0){var l=this.renderer.getDrawingBufferSize(fa),c=new d.WebGLRenderTarget(l.x,l.y,{generateMipmaps:!1,minFilter:d.NearestFilter,magFilter:d.NearestFilter,format:d.RGBAFormat,type:d.FloatType,depthTexture:new d.DepthTexture(l.x,l.y,d.UnsignedIntType)});c.depthTexture.format=d.DepthFormat,c.depthBuffer=!0;var h=new d.WebGLRenderTarget(l.x,l.y,{generateMipmaps:!1,encoding:(u=(s=this.renderer)===null||s===void 0?void 0:s.outputEncoding)!==null&&u!==void 0?u:d.sRGBEncoding,minFilter:d.NearestFilter,magFilter:d.NearestFilter,format:d.RGBAFormat,type:d.FloatType,depthTexture:c.depthTexture});this.screenBuffers=[c,h,this.modelRenderTarget]}this.models.setMaterial({useHQDepth:!0,useHQWeight:!1,pointShape:"CIRCLE"})}else this.screenBuffers&&(this.screenBuffers.forEach(function(A){A.dispose()}),this.screenBuffers=[]),this.models.setMaterial({useEDL:!1,useHQDepth:!1,useHQWeight:!1})},t}(Li),Ha=function(n){se(t,n);function t(e){var r=this,i,a=t.parseArgs(e);return r=n.call(this,a)||this,r.mode="Floorplan",r.defaultLongitude=a.defaultLongitude,r.defaultLatitude=a.defaultLatitude,r.defaultFov=a.defaultFov,r.maxFov=a.maxFov,r.minFov=a.minFov,r.maxLatitude=a.maxLatitude,r.minLatitude=a.minLatitude,r.modelInScreen=a.modelInScreen,r.locationMotion=new Me({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 Me({modelAlpha:(i=r.models.getMaterial().modelAlpha)!==null&&i!==void 0?i:0}),r.perspToOrthoMotion=new Me({perspToOrtho:r.camera.perspToOrtho.x}),r.currentTapId=null,r.intersectMeshCreator=a.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 a=e.bounding,o=Math.pow(Math.pow(a.max.x-a.min.x+1,2)+Math.pow(a.max.y-a.min.y+1,2)+Math.pow(a.max.z-a.min.z+1,2),1/2),s=o/2/Math.tan(Math.PI*r/360);return i<1&&(s=s/i),isNaN(s)?o:s},t.parseArgs=function(e){var r,i,a,o,s,u,l,c,h;if(e instanceof t)return e;var A=n.parseArgs.call(this,e);return F(F({},A),{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:(a=e.defaultFov)!==null&&a!==void 0?a:80,maxFov:(o=e.maxFov)!==null&&o!==void 0?o:120,minFov:(s=e.minFov)!==null&&s!==void 0?s:20,maxLatitude:(u=e.maxLatitude)!==null&&u!==void 0?u:+Math.PI/2,minLatitude:(l=e.minLatitude)!==null&&l!==void 0?l:-Math.PI/2,modelInScreen:(c=e.modelInScreen)!==null&&c!==void 0?c:"boundingbox-center",intersectMeshCreator:(h=e.intersectMeshCreator)!==null&&h!==void 0?h:function(){return new Vi}})},t.initAnimationEndState=function(e){var r,i,a,o,s,u,l,c=this.parseArgs(e),h=e.initial,A=h.state,m=h.currentState,f=typeof A.panoIndex=="number"?{workCode:(a=(r=A.workCode)!==null&&r!==void 0?r:(i=c.works[0])===null||i===void 0?void 0:i.workCode)!==null&&a!==void 0?a:"",panoIndex:A.panoIndex}:{workCode:m.workCode,panoIndex:m.panoIndex},v=F(F({},f),{mode:"Floorplan",longitude:(o=A.longitude)!==null&&o!==void 0?o:Da(m.mode)?m.longitude:c.defaultLongitude,latitude:pe((s=A.latitude)!==null&&s!==void 0?s:m.mode==="Floorplan"?m.latitude:c.defaultLatitude,c.minLatitude,c.maxLatitude),fov:(u=A.fov)!==null&&u!==void 0?u:c.defaultFov,offset:A.offset?A.offset.clone():e.models.bounding.getCenter(new d.Vector3),distance:(l=A.distance)!==null&&l!==void 0?l:t.distanceFromModel(c.models,c.defaultFov,c.camera.aspect)});return v},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,a){var o;return this.works=e,this.updateCamera(r,(o=i.duration)!==null&&o!==void 0?o:0,a),!0},t.prototype.updateModel=function(e){n.prototype.updateModel.call(this,e);var r=e.bounding.getCenter(new d.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(D)},t.prototype.updateCamera=function(e,r,i){var a=this;return this.initAnimationReady.then(function(){a.userAction=i,a.stopMomentumMovement();var o={},s={};return e.distance!==void 0&&(o.distance=e.distance),e.offset!==void 0&&(o.x=e.offset.x,o.y=e.offset.y,o.z=e.offset.z),e.longitude!==void 0&&(s.longitude=e.longitude),e.latitude!==void 0&&(s.latitude=e.latitude),e.fov!==void 0&&(s.fov=e.fov),a.locationMotion.set(o,r).catch(D),a.cameraMotion.set(s,r).catch(D)})},t.prototype.updateCameraWithKeyframes=function(e,r,i){var a=this;return this.initAnimationReady.then(function(){a.userAction=i,a.stopMomentumMovement();for(var o=[],s=[],u=0,l=e;u<l.length;u++){var c=l[u];o.push({key:c.key,progress:c.progress,value:{distance:c.value.distance,x:c.value.offset.x,y:c.value.offset.x,z:c.value.offset.x}}),s.push({key:c.key,progress:c.progress,value:{longitude:c.value.longitude,latitude:c.value.latitude,fov:c.value.fov}})}return a.locationMotion.setKeyframes(o,r).catch(D),a.cameraMotion.setKeyframes(e,r)})},t.prototype.updateTime=function(e,r){if(!this.destroyed){var i={},a={};this.modelAlphaMotion.ended||(this.modelAlphaMotion.update(e),i.modelAlpha=this.modelAlphaMotion.value.modelAlpha),this.perspToOrthoMotion.ended||(this.perspToOrthoMotion.update(e),this.camera.perspToOrtho.setScalar(pe(this.perspToOrthoMotion.value.perspToOrtho,0,1))),this.locationMotion.ended||(this.locationMotion.update(e),a.distance=this.locationMotion.value.distance,a.offset=new d.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z)),this.cameraMotion.ended||(this.cameraMotion.update(e),a.longitude=this.cameraMotion.value.longitude,a.latitude=this.cameraMotion.value.latitude,a.fov=this.cameraMotion.value.fov),Qt(i)||this.models.setMaterial(i),Qt(a)||this.setCamera(a)}},t.prototype.getTargetState=function(){var e=this.cameraMotion.getKeyFrameSegment(Ee())[1],r=this.locationMotion.getKeyFrameSegment(Ee())[1];return F(F({},this.currentPano),{mode:this.mode,longitude:e.value.longitude,latitude:e.value.latitude,fov:e.value.fov,offset:new d.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 a=i.duration,o=i.userAction;e.userAction=o;var s=t.initAnimationEndState(e),u=Vt(s,["longitude","latitude","fov"]),l={x:s.offset.x,y:s.offset.y,z:s.offset.z,distance:s.distance},c={modelAlpha:1},h={perspToOrtho:0};e.emit("initAnimation.start",W("initAnimation.start",{state:s,userAction:e.userAction})),e.modelAlphaMotion.set(c,a/3).catch(D),e.perspToOrthoMotion.set(h,a).catch(D),e.cameraMotion.set(u,a).catch(D),e.locationMotion.set(l,a).then(function(){e.emit("initAnimation.end",W("initAnimation.end",{state:s,userAction:e.userAction}))},function(A){var m=F(F(F({},e.currentPano),{mode:e.mode}),We(e.camera.pose));e.emit("initAnimation.end",W("initAnimation.end",{state:m,userAction:e.userAction}))}).then(function(){r()})})},t.prototype.updateRenderSize=function(e){this.needsRender=!0,this.modelSceneNeedsRender=!0,this.screenBuffers.forEach(function(r){r.setSize(e.x,e.y)})},t.prototype.getForwardObserverOrNot=function(e){var r=this.models.intersectRaycaster(e)[0];if(!r)return null;var i=this.works.resolvedObservers,a=lr(i,function(u){return u.standingPosition.distanceTo(r.point)},!0),o=a[0],s=a[1];return o&&s<10?o:null},t.prototype.coordinatesForOffset=function(e){var r=this.renderer.getSize(new d.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,a){var o=this;if(this.inMomentumMovement!==null){for(var s=F({},i),u={longitude:0,latitude:0},l=0;l<a;l++)s.longitude*=.996,s.latitude*=.996*.998,u.longitude+=s.longitude,u.latitude+=s.latitude;var c=Gr(this.cameraMotion.value.longitude+u.longitude),h=pe(this.cameraMotion.value.latitude+u.latitude,this.minLatitude,this.maxLatitude),A=F(F({},this.currentPano),{mode:this.mode,longitude:c,latitude:h,fov:this.cameraMotion.value.fov,offset:this.camera.pose.offset.clone(),distance:this.camera.pose.distance}),m=!(s.longitude>1e-4||s.longitude<-1e-4||s.latitude>1e-4||s.latitude<-1e-4),f=W("gesture.momentum",F(F({},e),{isFirst:r,isFinal:m,state:A}));if(this.inMomentumMovement.event=f,this.emit("gesture.momentum",f),e.defaultPrevented){this.inMomentumMovement=null;return}this.inMomentumMovement&&(this.cameraMotion.set({longitude:c,latitude:h},0).catch(D),m?this.inMomentumMovement=null:vt.shared.add(function(v,y){o.requestMomentumMovement(e,!1,s,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 a={x:e.center.x-r.x,y:e.center.y-r.y},o=this.relativeClientPosition(e.center),s=this.camera.pose.latitude<Math.PI/6||o.y<0?1:-1;a.x*=s;var u=this.coordinatesForOffset(a),l=Gr(this.cameraMotion.value.longitude+u.longitude),c=pe(this.cameraMotion.value.latitude+u.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 h=F(F({},this.currentPano),{mode:this.mode,longitude:l,latitude:c,fov:this.camera.pose.fov,offset:this.camera.pose.offset,distance:this.camera.pose.distance});if(e.state=h,this.emit("gesture.pan",e),!e.defaultPrevented&&(this.cameraMotion.set({longitude:h.longitude,latitude:h.latitude},0).catch(D),e.isFinal)){var A=e.velocityX*s,m=e.velocityY;this.inMomentumMovement={uuid:wt()},this.requestMomentumMovement(e,!0,this.coordinatesForOffset({x:A,y:m}),0)}}},t.prototype.onPinchGesture=function(e){var r;if(this.initAnimationIsReady){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 a=pe(i/e.scale,this.minFov,this.maxFov);e.state.fov=a,this.emit("gesture.pinch",e),!e.defaultPrevented&&(this.cameraMotion.set({fov:a},0).catch(D),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 a=e.center.raycaster;if(e.isFinal&&this.intersectMesh.parent&&this.intersectMesh.visible===!0){this.hideIntersectMesh();return}var o=this.models.intersectRaycaster(a)[0],s=W("intersect.update",{raycaster:a,intersection:o!=null?o:null,object:this.intersectMesh});if(this.emit("intersect.update",s),s.defaultPrevented){this.hideIntersectMesh();return}if(o){var u=(i=(r=o.face)===null||r===void 0?void 0:r.normal)!==null&&i!==void 0?i:new d.Vector3().copy(a.ray.direction).multiplyScalar(-1),l=u.clone(),c=o.point.clone();this.intersectMesh.position.copy(c);var h=a.ray.origin.distanceTo(c),A=2*Math.tan(.5*this.camera.fov/180*Math.PI),m=Math.max(h*A/10,1);this.intersectMesh.scale.set(m,m,m);var f=c.clone().add(l);if(this.intersectMesh.lookAt(f),Math.abs(u.y)>.99){var v=this.camera.position.clone().sub(c);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.initAnimationIsReady){this.userAction=e.userAction,this.stopMomentumMovement();var r=this,i=r.minFov,a=r.maxFov,o=pe(this.camera.fov-e.center.delta,i,a);e.state.fov=o,this.emit("gesture.mousewheel",e),!e.defaultPrevented&&this.cameraMotion.set({fov:o},0).catch(D)}},t.prototype.onTapGesture=function(e){var r=this;this.userAction=!0,this.stopMomentumMovement();var i=e.center.raycaster,a=this.getForwardObserverOrNot(i);if(!a)this.emit("gesture.tap",e);else{var o={longitude:this.camera.pose.longitude,latitude:0},s=F(F({},e.state),{mode:"Panorama",workCode:a.pano.workCode,panoIndex:a.pano.panoIndex,longitude:o.longitude,latitude:o.latitude,offset:a?a.position.clone():new d.Vector3,distance:0});if(e.state=s,this.emit("gesture.tap",e),!e.defaultPrevented&&(this.emit("pano.select",W("pano.select",{prevPano:this.currentPano,state:s,userAction:e.userAction,options:o,progress:0,error:null})),a&&a.active)){var u=this.currentTapId=wt();this.preloadPano(a.pano).then(function(l){r.currentTapId===u&&r.emit("pano.request",W("pano.request",{userAction:!0,prevPano:r.currentPano,progress:0,state:s,options:o,error:null}))})}}},t.prototype.hideIntersectMesh=function(){this.intersectMesh.visible=!1,this.needsRender=!0},t}(vo),Th=function(n){se(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=F(F({},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 F(F({},i),{longitude:r.defaultLongitude,latitude:r.defaultLatitude,mode:"Topview"})},t.prototype.updateModel=function(e){this.needsRender=!0,this.modelSceneNeedsRender=!0;var r=this.models.bounding.getCenter(new d.Vector3);this.locationMotion.set({x:r.x,y:r.y,z:r.z,distance:Ha.distanceFromModel(this.models,this.defaultFov,this.camera.aspect)},0).catch(D)},t.prototype.updateCamera=function(e,r,i){var a=this;return this.initAnimationReady.then(function(){a.userAction=i,a.stopMomentumMovement();var o={},s={};return e.distance!==void 0&&(o.distance=e.distance),e.offset!==void 0&&(o.x=e.offset.x,o.y=e.offset.y,o.z=e.offset.z),e.longitude!==void 0&&(s.longitude=e.longitude),e.latitude!==void 0&&(s.latitude=e.latitude),e.fov!==void 0&&(s.fov=e.fov),a.locationMotion.set(o,r).catch(D),a.cameraMotion.set(s,r).catch(D)})},t.prototype.updateCameraWithKeyframes=function(e,r,i){var a=this;return this.initAnimationReady.then(function(){a.userAction=i,a.stopMomentumMovement();for(var o=[],s=[],u=0,l=e;u<l.length;u++){var c=l[u];o.push({key:c.key,progress:c.progress,value:{distance:c.value.distance,x:c.value.offset.x,y:c.value.offset.y,z:c.value.offset.z}}),s.push({key:c.key,progress:c.progress,value:{longitude:c.value.longitude,latitude:c.value.latitude,fov:c.value.fov}})}return a.locationMotion.setKeyframes(o,r).catch(D),a.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 a=i.duration,o=i.userAction;e.userAction=o;var s=t.initAnimationEndState(e),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},c={modelAlpha:1},h={perspToOrtho:1};e.emit("initAnimation.start",W("initAnimation.start",{state:s,userAction:e.userAction})),e.modelAlphaMotion.set(c,a/3).catch(D),e.perspToOrthoMotion.set(h,a).catch(D),e.cameraMotion.set(u,a).catch(D),e.locationMotion.set(l,a).then(function(){e.emit("initAnimation.end",W("initAnimation.end",{state:s,userAction:e.userAction}))},function(A){var m=F(F(F({},e.currentPano),{mode:e.mode}),We(e.camera.pose));e.emit("initAnimation.end",W("initAnimation.end",{state:m,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 a={x:e.center.x-r.x,y:e.center.y-r.y},o=new d.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z),s=this.locationMotion.value.distance;s*=Math.tan(this.cameraMotion.value.fov/2*Math.PI/180);var u=this.renderer.getSize(new d.Vector2),l=2*a.x*s/u.y,c=2*a.y*s/u.y,h=new d.Vector3;h.setFromMatrixColumn(this.camera.matrix,0),h.multiplyScalar(-l),o.add(h),h.setFromMatrixColumn(this.camera.matrix,0),h.crossVectors(this.camera.up,h),h.multiplyScalar(c),o.add(h),this.modelInScreen==="boundingbox-center"&&o.clamp(this.models.bounding.min,this.models.bounding.max);var A=F(F({},this.currentPano),{mode:this.mode,longitude:0,latitude:Math.PI/2,fov:this.cameraMotion.value.fov,offset:o,distance:this.locationMotion.value.distance});e.state=A,this.emit("gesture.pan",e),!e.defaultPrevented&&this.locationMotion.set({x:o.x,y:o.y,z:o.z},0).catch(D)}},t.prototype.onPinchGesture=function(e){var r;if(this.initAnimationIsReady){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 a=pe(i/e.scale,this.minFov,this.maxFov);e.state.fov=a,this.emit("gesture.pinch",e),!e.defaultPrevented&&(this.cameraMotion.set({fov:a},0).catch(D),e.type="gesture.pan",this.onPanGesture(e))}}},t.prototype.onMouseWheel=function(e){if(this.initAnimationIsReady){this.userAction=e.userAction,this.stopMomentumMovement();var r=pe(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(D)}},t}(Ha),gu=function(n){se(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,a,o,s,u,l,c;if(e instanceof t)return e;var h=n.parseArgs.call(this,e);return F(F({},h),{defaultLatitude:(r=e.defaultLatitude)!==null&&r!==void 0?r:0,defaultFov:(i=e.defaultFov)!==null&&i!==void 0?i:90,maxFov:(a=e.maxFov)!==null&&a!==void 0?a:120,minFov:(o=e.minFov)!==null&&o!==void 0?o:40,maxLatitude:(s=e.maxLatitude)!==null&&s!==void 0?s:+Math.PI/2,minLatitude:(u=e.minLatitude)!==null&&u!==void 0?u:-Math.PI/2,moveSpeed:(l=e.moveSpeed)!==null&&l!==void 0?l:3.4,intersectMeshCreator:(c=e.intersectMeshCreator)!==null&&c!==void 0?c:function(){return new Vi}})},t.initAnimationEndState=function(e){var r,i,a,o,s,u,l=this.parseArgs(e),c=l.works,h=e.initial,A=h.state,m=h.currentState,f=typeof A.panoIndex=="number"?{workCode:(a=(r=A.workCode)!==null&&r!==void 0?r:(i=l.works[0])===null||i===void 0?void 0:i.workCode)!==null&&a!==void 0?a:"",panoIndex:A.panoIndex}:{workCode:m.workCode,panoIndex:m.panoIndex},v=c.getResolvedObserver(f),y=(o=A.longitude)!==null&&o!==void 0?o:m.longitude,p=pe((s=A.latitude)!==null&&s!==void 0?s:Xn(m.mode)?m.latitude:l.defaultLatitude,l.minLatitude,l.maxLatitude),g=pe((u=A.fov)!==null&&u!==void 0?u:Xn(m.mode)?m.fov:l.defaultFov,l.minFov,l.maxFov),x=v?v.position.clone():new d.Vector3;return{workCode:f.workCode,panoIndex:f.panoIndex,mode:"PanoramaLike",longitude:y,latitude:p,fov:g,offset:x,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 pe(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,a=this.renderer.getSize(new d.Vector2);return{longitude:2*e.x/(a.x*this.scissor.width)*r/95*i,latitude:-2*e.y/(a.y*this.scissor.height)*r/95}},t.prototype.cameraBounce=function(){var e=this.cameraMotion.value,r=e.longitude,i=e.latitude,a=e.fov,o=[{progress:0,value:{longitude:r,latitude:i,fov:a}},{progress:.5,value:{longitude:r,latitude:i,fov:a*.98}},{progress:1,value:{longitude:r,latitude:i,fov:a}}];this.cameraMotion.setKeyframes(o,500).catch(D)},t.prototype.requestMomentumMovement=function(e,r,i,a){var o=this;if(this.inMomentumMovement!==null){for(var s=F({},i),u={longitude:0,latitude:0},l=0;l<a;l++)s.longitude*=.996,s.latitude*=.996*.99,u.longitude+=s.longitude,u.latitude+=s.latitude;var c=Gr(this.cameraMotion.value.longitude+u.longitude),h=pe(this.cameraMotion.value.latitude+u.latitude,this.minLatitude,this.maxLatitude),A=F(F({},this.currentPano),{mode:this.mode,longitude:c,latitude:h,fov:this.cameraMotion.value.fov,offset:this.camera.pose.offset.clone(),distance:this.camera.pose.distance}),m=!(s.longitude>1e-4||s.longitude<-1e-4||s.latitude>1e-4||s.latitude<-1e-4),f=W("gesture.momentum",F(F({},e),{isFirst:r,isFinal:m,state:A}));if(this.inMomentumMovement.event=f,this.emit("gesture.momentum",f),e.defaultPrevented){this.inMomentumMovement=null;return}this.inMomentumMovement&&(this.cameraMotion.set({longitude:c,latitude:h},0).catch(D),m?this.inMomentumMovement=null:vt.shared.add(function(v,y){o.requestMomentumMovement(e,!1,s,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 a={x:e.center.x-r.x,y:e.center.y-r.y},o=this.coordinatesForOffset(a),s=Gr(this.cameraMotion.value.longitude+o.longitude),u=pe(this.cameraMotion.value.latitude+o.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&&(u=this.cameraMotion.value.latitude);var l=F(F({},this.currentPano),{mode:this.mode,longitude:s,latitude:u,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 c={longitude:l.longitude,latitude:l.latitude,fov:l.fov};if(this.cameraMotion.set(c,0).catch(D),e.isFinal){var h=e.velocityX,A=e.velocityY*.6;Math.abs(A)>.5&&Math.abs(h)<.5&&(h=0),this.inMomentumMovement={uuid:wt()},this.requestMomentumMovement(e,!0,this.coordinatesForOffset({x:h,y:A}),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,a=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 o=pe(i/a,this.minFov,this.maxFov);e.state.fov=o,this.emit("gesture.pinch",e),!e.defaultPrevented&&(this.cameraMotion.set({fov:o},0).catch(D),e.type="gesture.pan",this.onPanGesture(e))}},t.prototype.onMouseWheel=function(e){this.userAction=e.userAction,this.stopMomentumMovement();var r=pe(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(D),this.onMouseMove(e))},t.prototype.onMouseMove=function(e){var r,i;if(this.intersectMesh.parent&&!this.panState&&(this.emit("gesture.mousemove",e),!e.defaultPrevented)){var a=e.center.raycaster;if(e.isFinal&&this.intersectMesh.parent){this.hideIntersectMesh();return}var o=this.models.intersectRaycaster(a)[0],s=W("intersect.update",{raycaster:a,intersection:o!=null?o:null,object:this.intersectMesh});if(this.emit("intersect.update",s),s.defaultPrevented){this.hideIntersectMesh();return}if(o){var u=(i=(r=o.face)===null||r===void 0?void 0:r.normal)!==null&&i!==void 0?i:new d.Vector3().copy(a.ray.direction).multiplyScalar(-1),l=u.clone(),c=o.point.clone();this.intersectMesh.position.copy(c);var h=c.clone().add(l);if(this.intersectMesh.lookAt(h),Math.abs(u.y)>.99){var A=this.camera.position.clone().sub(c);this.intersectMesh.rotation.z=-Math.atan2(A.z,A.x)}this.intersectMesh.visible=!0,this.needsRender=!0}else this.hideIntersectMesh()}},t}(vo),Ph="data:video/mp4;base64,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",ha;function yu(){return ha||(ha=new Promise(function(n){var t,e=document.createElement("video");e.muted=!0,e.src=Ph,e.addEventListener("timeupdate",function r(){e.removeEventListener("timeupdate",r,!1),clearTimeout(t);var i=document.createElement("canvas");i.width=i.height=1;var a=i.getContext("2d");if(!a){n(!1);return}a.drawImage(e,0,0,1,1);var o=a.getImageData(0,0,1,1).data;o[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 Bh=`
1369
+ `,Qh=new d.OrthographicCamera(-1,1,1,-1,0,1),bo=new d.BufferGeometry;bo.setAttribute("position",new d.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3));bo.setAttribute("uv",new d.Float32BufferAttribute([0,2,0,0,2,0],2));var Iu=new d.MeshBasicMaterial,Ja=new d.Mesh(bo,Iu),Su=new d.Scene;Su.add(Ja);var Uh=function(){function n(t){this.renderer=t,this.material=new d.ShaderMaterial({vertexShader:Dh,fragmentShader:zh,uniforms:Object.assign({depthBuffer:new d.Uniform(null)}),blending:d.NoBlending,depthWrite:!0,depthTest:!0}),this.renderer.getContext()&&this.renderer.getContext()instanceof WebGLRenderingContext&&(this.material.extensions.fragDepth=!0)}return n.prototype.render=function(t,e){var r=this.renderer.getRenderTarget();this.material.uniforms.depthBuffer.value=t,Ja.material=this.material,this.renderer.setRenderTarget(e||null),this.renderer.render(Su,Qh),this.renderer.setRenderTarget(r),Ja.material=Iu},n.prototype.dispose=function(){this.material.dispose()},n}(),ma=new d.Vector2,xo=function(n){ue(t,n);function t(e){var r,i,a,o,s,l,u=n.call(this)||this,c=t.parseArgs(e);u.mode="",u.pending=new Set,u.userAction=c.initial.userAction,u.destroyed=!1,u.ident=c.ident,u.scene=c.scene,u.xrCustomObjectsScene=c.xrCustomObjectsScene,u.helper=c.helper,u.boundingMesh=c.boundingMesh,u.camera=c.camera,u.renderer=c.renderer,u.scissor=c.scissor,u.element=c.element,u.models=c.models,u.enableWheel=c.enableWheel,u.enableIOSEDR=(r=c.enableIOSEDR)!==null&&r!==void 0?r:!1,u.enableEDL=(i=c.enableEDL)!==null&&i!==void 0?i:!0,u.enableHQ=(a=c.enableHQ)!==null&&a!==void 0?a:!0,u.works=c.works,u.imageOptions=c.imageOptions,u.videoTexture=c.videoTexture,u.extraElements=c.extraElements,u.initial=c.initial,u.currentPano=typeof u.initial.state.panoIndex=="number"?{workCode:(l=(o=u.initial.state.workCode)!==null&&o!==void 0?o:(s=c.works[0])===null||s===void 0?void 0:s.workCode)!==null&&l!==void 0?l:"",panoIndex:u.initial.state.panoIndex}:{workCode:u.initial.currentState.workCode,panoIndex:u.initial.currentState.panoIndex},u.needsRender=!0,u.modelSceneNeedsRender=!0,u.cameraMotion=new Me({longitude:{value:u.camera.pose.longitude,circle:[0,Math.PI*2]},latitude:u.camera.pose.latitude,fov:u.camera.pose.fov}),u.inMomentumMovement=null,u.eventUnbinds=[c.element].concat(c.extraElements||[]).map(function(A){return u.bindEvents(A)}),u.pending.add("init-animation"),u.initAnimationReady=new Promise(function(A){lt.shared.add(function(){u.initAnimation().then(function(){u.pending.delete("init-animation"),A()})},!0)}),u.initAnimationIsReady=!1,u.initAnimationReady.then(function(){return u.initAnimationIsReady=!0}),u.modelScene=c.modelScene;var f=new d.Vector2;return u.renderer.getDrawingBufferSize(f),u.modelRenderTarget=c.modelRenderTarget,u.copyPass=new Mu(u.renderer),u.depthCopyPass=new Uh(u.renderer),u.screenBuffers=[],u.lastPostProcessingType=null,u}return t.parseArgs=function(e){return e instanceof t?e:L({},e)},t.initAnimationEndState=function(e){var r,i,a,o,s,l,u,c,f=this.parseArgs(e),A=f.initial,m=A.state,h=A.currentState,p=typeof m.panoIndex=="number"?{workCode:(a=(r=m.workCode)!==null&&r!==void 0?r:(i=f.works[0])===null||i===void 0?void 0:i.workCode)!==null&&a!==void 0?a:"",panoIndex:m.panoIndex}:{workCode:h.workCode,panoIndex:h.panoIndex};return L(L({},p),{mode:"",longitude:(o=m.longitude)!==null&&o!==void 0?o:h.longitude,latitude:(s=m.latitude)!==null&&s!==void 0?s:h.latitude,fov:(l=m.fov)!==null&&l!==void 0?l:h.fov,offset:(u=m.offset)!==null&&u!==void 0?u:h.offset,distance:(c=m.distance)!==null&&c!==void 0?c:h.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 a=i[r];a()}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 a=i[r];if(a.element===e)return}this.eventUnbinds.push(this.bindEvents(e))},t.prototype.unbindExtraElement=function(e){for(var r=[],i=0,a=this.eventUnbinds;i<a.length;i++){var o=a[i];o.element===e?o():r.push(o)}this.eventUnbinds=r},t.prototype.updateRenderSize=function(e){this.needsRender=!0,this.modelSceneNeedsRender=!0,this.modelRenderTarget.setSize(e.x,e.y),this.screenBuffers.forEach(function(r){r.setSize(e.x,e.y)})},t.prototype.updateModel=function(e){this.needsRender=!0,this.modelSceneNeedsRender=!0},t.prototype.updateWork=function(e,r,i,a){return this.works=e,this.userAction=a,!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),Qt(i)&&this.setCamera(i)}},t.prototype.render=function(e,r){var i=this.renderer.getRenderTarget();this.updateScreenBuffer(r),e&&(this.renderer.setRenderTarget(this.modelRenderTarget),this.renderer.render(this.modelScene,this.camera)),this.depthCopyPass.render(this.modelRenderTarget.depthTexture,i),this.renderer.autoClearDepth=!1,this.renderer.autoClearColor=!0,this.copyPass.render(this.modelRenderTarget,i),this.renderer.setRenderTarget(i),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,this.camera),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0},t.prototype.postProcessing=function(e,r){this.destroyed},t.prototype.updateCamera=function(e,r,i){var a=this;return this.initAnimationReady.then(function(){a.userAction=i,a.stopMomentumMovement();var o={};return e.longitude!==void 0&&(o.longitude=e.longitude),e.latitude!==void 0&&(o.latitude=e.latitude),e.fov!==void 0&&(o.fov=e.fov),a.cameraMotion.set(o,r).catch(D)})},t.prototype.updateCameraWithKeyframes=function(e,r,i){var a=this;return this.initAnimationReady.then(function(){a.userAction=i,a.stopMomentumMovement();for(var o=[],s=0,l=e;s<l.length;s++){var u=l[s];o.push({key:u.key,progress:u.progress,value:{longitude:u.value.longitude,latitude:u.value.latitude,fov:u.value.fov}})}return a.cameraMotion.setKeyframes(o,r)})},t.prototype.getTargetState=function(){var e=this.cameraMotion.getKeyFrameSegment(Ee())[1];return L(L({},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",X("initAnimation.start",{state:i,userAction:this.userAction})),this.emit("initAnimation.end",X("initAnimation.end",{state:i,userAction:this.userAction})),Promise.resolve()},t.prototype.setCamera=function(e){var r,i,a,o,s;e===void 0&&(e={});var l=(r=e.longitude)!==null&&r!==void 0?r:this.camera.pose.longitude,u=(i=e.latitude)!==null&&i!==void 0?i:this.camera.pose.latitude,c=(a=e.fov)!==null&&a!==void 0?a:this.camera.pose.fov,f=(o=e.distance)!==null&&o!==void 0?o:this.camera.pose.distance,A=(s=e.offset)!==null&&s!==void 0?s:this.camera.pose.offset,m=kt(l,this.camera.pose.longitude,Math.PI*2)||kt(u,this.camera.pose.latitude),h=kt(c,this.camera.pose.fov),p=kt(f,this.camera.pose.distance),y=wi(A,this.camera.pose.offset);(h||m||y||p)&&(this.camera.setFromPose({longitude:l,latitude:u,fov:c,distance:f,offset:A}),this.emit("camera.update",X("camera.update",{userAction:this.userAction,state:L(L({},this.currentPano),{mode:this.mode,longitude:l,latitude:u,fov:c,offset:A,distance:f})})),this.needsRender=!0,this.modelSceneNeedsRender=!0)},t.prototype.stopMomentumMovement=function(){if(this.inMomentumMovement&&this.inMomentumMovement.event&&!this.inMomentumMovement.event.defaultPrevented&&!this.inMomentumMovement.event.isFinal){var e=X("gesture.momentum",L(L({},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.onDblTapGesture=function(e){this.stopMomentumMovement(),this.emit("gesture.dbltap",e),!e.defaultPrevented&&(e.type="gesture.tap",this.onTapGesture(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 Os(e,this.element,this.scissor)},t.prototype.bindEvents=function(e){var r=this,i=function(C){var T=Os(C,r.element,r.scissor);return!(Math.abs(T.x)>1||Math.abs(T.y)>1)},a=new Nn.Manager(e),o=function(C){var T=C.session;return T.firstInput||null},s=new Nn.Pan({threshold:10,pointers:0}),l=new Nn.Tap({interval:410}),u=new Nn.Pinch({threshold:0,pointers:2});a.add([s,l,u]),a.on("panstart pan",function(C){var T=o(a);if(!(T&&!i(T.center))){var O=X("gesture.pan",{target:C.target,pointerType:C.pointerType,srcEvent:C.srcEvent,pointers:C.pointers.map(function(P){var F=r.relativeClientPosition(P),V=new d.Raycaster;return V.params.Points={threshold:.1},V.setFromCamera(F,r.camera),{x:P.x,y:P.y,delta:0,buttons:0,coords:F,raycaster:V}}),isFirst:C.isFirst,isFinal:C.isFinal,scale:C.scale,center:function(P){var F=r.relativeClientPosition(P),V=new d.Raycaster;return V.params.Points={threshold:.1},V.setFromCamera(F,r.camera),{x:P.x,y:P.y,delta:0,buttons:0,coords:F,raycaster:V}}(C.center),velocityX:C.velocityX,velocityY:C.velocityY,overallVelocityX:C.overallVelocityX,overallVelocityY:C.overallVelocityY,userAction:!0,state:L(L({mode:r.mode},r.currentPano),Je(r.camera.pose))});r.onPanGesture(O),x()}}),a.on("tap",function(C){if(!(C.pointerType==="mouse"&&C.srcEvent.button!==0)){var T=o(a);if(!(T&&!i(T.center))){var O=X("gesture.tap",{target:C.target,pointerType:C.pointerType,srcEvent:C.srcEvent,pointers:C.pointers.map(function(P){var F=r.relativeClientPosition(P),V=new d.Raycaster;return V.params.Points={threshold:.1},V.setFromCamera(F,r.camera),{x:P.x,y:P.y,delta:0,buttons:0,coords:F,raycaster:V}}),isFirst:!0,isFinal:!0,scale:C.scale,center:function(P){var F=r.relativeClientPosition(P),V=new d.Raycaster;return V.params.Points={threshold:.1},V.setFromCamera(F,r.camera),{x:P.x,y:P.y,delta:0,buttons:0,coords:F,raycaster:V}}(C.center),velocityX:C.velocityX,velocityY:C.velocityY,overallVelocityX:C.overallVelocityX,overallVelocityY:C.overallVelocityY,userAction:!0,state:L(L({mode:r.mode},r.currentPano),Je(r.camera.pose))});r.onTapGesture(O),x()}}}),a.on("pinchstart pinch pinchend",function(C){var T=o(a);if(!(T&&!i(T.center))){var O=X("gesture.pinch",{target:C.target,pointerType:C.pointerType,srcEvent:C.srcEvent,pointers:C.pointers.map(function(P){var F,V=r.relativeClientPosition(P),z=new d.Raycaster;return z.params.Points={threshold:.1},z.setFromCamera(V,r.camera),{x:P.x,y:P.y,delta:(F=P.delta)!==null&&F!==void 0?F:0,buttons:0,coords:V,raycaster:z}}),isFirst:C.type==="pinchstart",isFinal:C.type==="pinchend",scale:C.scale,center:function(P){var F=r.relativeClientPosition(P),V=new d.Raycaster;return V.params.Points={threshold:.1},V.setFromCamera(F,r.camera),{x:P.x,y:P.y,delta:0,buttons:0,coords:F,raycaster:V}}(C.center),velocityX:C.velocityX,velocityY:C.velocityY,overallVelocityX:C.overallVelocityX,overallVelocityY:C.overallVelocityY,userAction:!0,state:L(L({mode:r.mode},r.currentPano),Je(r.camera.pose))});r.onPinchGesture(O),x()}}),a.on("dbltap",function(C){if(!(C.pointerType==="mouse"&&C.srcEvent.button!==0)){var T=o(a);if(!(T&&!i(T.center))){var O=X("gesture.dbltap",{target:C.target,pointerType:C.pointerType,srcEvent:C.srcEvent,pointers:C.pointers.map(function(P){var F=r.relativeClientPosition(P),V=new d.Raycaster;return V.params.Points={threshold:.1},V.setFromCamera(F,r.camera),{x:P.x,y:P.y,delta:0,buttons:0,coords:F,raycaster:V}}),isFirst:!0,isFinal:!0,scale:C.scale,center:function(P){var F=r.relativeClientPosition(P),V=new d.Raycaster;return V.params.Points={threshold:.1},V.setFromCamera(F,r.camera),{x:P.x,y:P.y,delta:0,buttons:0,coords:F,raycaster:V}}(C.center),velocityX:C.velocityX,velocityY:C.velocityY,overallVelocityX:C.overallVelocityX,overallVelocityY:C.overallVelocityY,userAction:!0,state:L(L({mode:r.mode},r.currentPano),Je(r.camera.pose))});r.onDblTapGesture(O),x()}}});var c=null,f=null,A=function(C,T,O){var P={x:O.clientX,y:O.clientY},F=r.relativeClientPosition(P),V=new d.Raycaster;V.params.Points={threshold:.1},V.setFromCamera(F,r.camera);var z=L(L({},P),{coords:F,raycaster:V,buttons:O.buttons,delta:0}),j=C==="pinchend"?T:T-O.deltaY/280,K=X("gesture.pinch",{target:O.target,pointerType:"mouse",srcEvent:O,pointers:[L({},z)],isFirst:C==="pinchstart",isFinal:C==="pinchend",scale:fe(j,.1,10),center:L({},z),velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:L(L({mode:r.mode},r.currentPano),Je(r.camera.pose))});return K},m=function(C){var T,O={x:C.clientX,y:C.clientY};if(i(O)){if(C.preventDefault(),C.ctrlKey){var P=(T=c==null?void 0:c.prevEvent.scale)!==null&&T!==void 0?T:1,F=A(c?"pinch":"pinchstart",P,C);c===null?c={firstEvent:F,prevEvent:F}:c.prevEvent=F,r.onPinchGesture(F),f!==null&&window.clearTimeout(f),f=window.setTimeout(function(){var J;f=null;var G=(J=c==null?void 0:c.prevEvent.scale)!==null&&J!==void 0?J:1,W=A("pinchend",G,C);c=null,r.onPinchGesture(W)},200)}else{var V=(Math.abs(C.deltaY)>Math.abs(C.deltaX)?C.deltaY:C.deltaX)/-60,z=r.mouseWheelState!==void 0,j={x:C.clientX,y:C.clientY},K=r.relativeClientPosition(j),H=new d.Raycaster;H.params.Points={threshold:.1},H.setFromCamera(K,r.camera);var q=L(L({},j),{coords:K,raycaster:H,buttons:C.buttons,delta:V}),F=X("gesture.mousewheel",{target:C.target,pointerType:"mouse",srcEvent:C,pointers:[L({},q)],isFirst:z,isFinal:!1,scale:0,center:L({},q),velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:L(L({mode:r.mode},r.currentPano),Je(r.camera.pose))});r.onMouseWheel(F),r.mouseWheelState&&clearTimeout(r.mouseWheelState.timer),r.mouseWheelState={timer:setTimeout(function(){delete r.mouseWheelState;var G=X("gesture.mousewheel",{target:C.target,pointerType:"mouse",srcEvent:C,pointers:[L(L({},q),{delta:0})],isFirst:!1,isFinal:!0,scale:0,center:L(L({},q),{delta:0}),velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:L(L({mode:r.mode},r.currentPano),Je(r.camera.pose))});r.onMouseWheel(G)},100)}}x()}},h=function(C){if(!Vn){if(!i({x:C.clientX,y:C.clientY})){p();return}var T=!1;r.mouseMoveState||(T=!0);var O={x:C.clientX,y:C.clientY},P=r.relativeClientPosition(O),F=new d.Raycaster;F.params.Points={threshold:.1},F.setFromCamera(P,r.camera);var V=L(L({},O),{coords:P,raycaster:F,buttons:C.buttons,delta:0}),z=X("gesture.mousemove",{target:C.target,pointerType:"mouse",srcEvent:C,pointers:[L({},V)],isFirst:T,isFinal:!1,scale:0,center:L({},V),velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:L(L({mode:r.mode},r.currentPano),Je(r.camera.pose))});r.mouseMoveState={timeStamp:Ee(),event:z},r.onMouseMove(z),r.pressState&&Math.abs(C.clientX-r.pressState.event.center.y)>10&&Math.abs(C.clientY-r.pressState.event.center.y)>10&&x()}},p=function(){if(r.mouseMoveState){var C=X(r.mouseMoveState.event.type,L(L({},r.mouseMoveState.event),{isFinal:!0}));delete r.mouseMoveState,r.onMouseMove(C)}x()},y=function(C){if(!i(C.center)){x();return}var T=!1;r.pressState||(T=!0,r.pressState={event:C,timeStamp:Ee(),stop:D});var O=Ee()-r.pressState.timeStamp,P=X(r.pressState.event.type,L(L({},r.pressState.event),{isFirst:T,isFinal:!1,center:L(L({},r.pressState.event.center),{delta:O}),pointers:r.pressState.event.pointers.map(function(F){return L(L({},F),{delta:O})})}));r.onPressGesture(P),r.pressState&&(r.pressState.stop=lt.shared.add(function(F){y(C)},!0,1))},v=function(C){if(x(),!(C.touches.length>1||C.changedTouches.length<=0)){var T={x:C.changedTouches[0].clientX,y:C.changedTouches[0].clientY},O=r.relativeClientPosition(T),P=new d.Raycaster;P.params.Points={threshold:.1},P.setFromCamera(O,r.camera);var F=L(L({},T),{coords:O,raycaster:P,buttons:0,delta:0}),V=X("gesture.press",{target:C.target,pointerType:"touch",srcEvent:C,pointers:[L({},F)],isFirst:!1,isFinal:!1,scale:0,center:F,velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:L(L({mode:r.mode},r.currentPano),Je(r.camera.pose))});y(V)}},g=function(C){x();var T={x:C.clientX,y:C.clientY},O=r.relativeClientPosition(T),P=new d.Raycaster;P.params.Points={threshold:.1},P.setFromCamera(O,r.camera);var F=L(L({},T),{coords:O,raycaster:P,buttons:C.buttons,delta:0}),V=X("gesture.press",{target:C.target,pointerType:"mouse",srcEvent:C,pointers:[L({},F)],isFirst:!1,isFinal:!1,scale:0,center:F,velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:L(L({mode:r.mode},r.currentPano),Je(r.camera.pose))});y(V)},x=function(){var C;if(r.pressState){var T=Ee()-r.pressState.timeStamp,O=X(r.pressState.event.type,L(L({},r.pressState.event),{center:L(L({},r.pressState.event.center),{delta:T}),isFirst:!1,isFinal:!0,pointers:r.pressState.event.pointers.map(function(P){return L(L({},P),{delta:T})})}));r.onPressGesture(O),(C=r.pressState)===null||C===void 0||C.stop(),delete r.pressState}},b=null,w=function(C){var T,O=!1,P=!1;switch(C.type){case"gesturestart":O=!0;break;case"gestureend":P=!0;break}var F={x:C.clientX,y:C.clientY},V=r.relativeClientPosition(F),z=new d.Raycaster;z.params.Points={threshold:.1},z.setFromCamera(V,r.camera);var j=L(L({},F),{coords:V,raycaster:z,buttons:0,delta:0}),K=X("gesture.pinch",{target:C.target,pointerType:"mouse",srcEvent:C,pointers:[L({},j)],isFirst:O,isFinal:P,scale:(T=C.scale)!==null&&T!==void 0?T:1,center:L({},j),velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:L(L({mode:r.mode},r.currentPano),Je(r.camera.pose))});return K},E=function(C){if(C.preventDefault(),!Vn){var T=w(C);b={firstEvent:T};var O=b.firstEvent;O&&!i(O.center)||r.onPinchGesture(T)}},I=function(C){if(C.preventDefault(),!Vn&&b){var T=w(C),O=b.firstEvent;O&&!i(O.center)||r.onPinchGesture(T)}},M=function(C){if(C.preventDefault(),!Vn&&b){var T=w(C),O=b.firstEvent;b=null,!(O&&!i(O.center))&&r.onPinchGesture(T)}},k=function(C){if(C&&typeof C.preventDefault=="function"&&C.currentTarget===e&&C.preventDefault(),typeof getSelection=="function"){var T=getSelection();T&&T.focusNode&&(T.removeAllRanges&&T.removeAllRanges(),T.empty&&T.empty())}};this.enableWheel&&e.addEventListener("wheel",m,{passive:!1}),e.addEventListener("mousemove",h,!1),e.addEventListener("mouseout",p,!1),e.addEventListener("touchstart",v,{passive:!0}),e.addEventListener("touchend",x,!1),e.addEventListener("touchcancel",x,!1),e.addEventListener("mousedown",g,!1),e.addEventListener("mouseup",x,!1),e.addEventListener("gesturestart",E,{passive:!1}),e.addEventListener("gesturechange",I,{passive:!1}),e.addEventListener("gestureend",M,{passive:!1}),e.addEventListener("touchstart",k,{passive:!1}),e.addEventListener("contextmenu",k,!1);var B=function(){a.destroy(),e.removeEventListener("wheel",m,!1),e.removeEventListener("mousemove",h,!1),e.removeEventListener("mouseout",p,!1),e.removeEventListener("touchstart",v,!1),e.removeEventListener("touchend",x,!1),e.removeEventListener("touchcancel",x,!1),e.removeEventListener("mousedown",g,!1),e.removeEventListener("mouseup",x,!1),e.removeEventListener("gesturestart",E,!1),e.removeEventListener("gesturechange",I,!1),e.removeEventListener("gestureend",M,!1),e.removeEventListener("touchstart",k,!1),e.removeEventListener("contextmenu",k,!1)};return Object.assign(B,{element:e})},t.prototype.preloadPano=function(e,r){var i=this;r===void 0&&(r=D);var a=this.works.getResolvedObserver(e);if(!a)return Promise.resolve();var o=["right","left","up","down","front","back"];return Promise.all(o.map(function(s){var l=L({key:"pano.".concat(ze(e),".").concat(s)},Vt(i.imageOptions,["size","format","quality","mappings"])),u=a.images[s],c=rn(u,i.imageOptions.transform,l);return it(a.work).preload(c)})).then(function(){return r(e),e})},t.prototype.updateScreenBuffer=function(e){var r,i,a,o,s,l;if(this.lastPostProcessingType!==e)if(this.lastPostProcessingType=e,e==="luminance"){if(this.screenBuffers.length===0){var u=this.renderer.getDrawingBufferSize(ma);this.screenBuffers=[new d.WebGLRenderTarget(u.x,u.y,{generateMipmaps:!1,encoding:(i=(r=this.renderer)===null||r===void 0?void 0:r.outputEncoding)!==null&&i!==void 0?i:d.sRGBEncoding}),this.modelRenderTarget]}}else if(e==="edl"){if(this.screenBuffers.length===0){var u=this.renderer.getDrawingBufferSize(ma);this.screenBuffers=[new d.WebGLRenderTarget(u.x,u.y,{generateMipmaps:!1,encoding:(o=(a=this.renderer)===null||a===void 0?void 0:a.outputEncoding)!==null&&o!==void 0?o:d.sRGBEncoding,minFilter:d.NearestFilter,magFilter:d.NearestFilter,format:d.RGBAFormat,type:d.FloatType}),this.modelRenderTarget]}this.models.setMaterial({useEDL:!0})}else if(e==="hq"){if(this.screenBuffers.length===0){var u=this.renderer.getDrawingBufferSize(ma),c=new d.WebGLRenderTarget(u.x,u.y,{generateMipmaps:!1,minFilter:d.NearestFilter,magFilter:d.NearestFilter,format:d.RGBAFormat,type:d.FloatType,depthTexture:new d.DepthTexture(u.x,u.y,d.UnsignedIntType)});c.depthTexture.format=d.DepthFormat,c.depthBuffer=!0;var f=new d.WebGLRenderTarget(u.x,u.y,{generateMipmaps:!1,encoding:(l=(s=this.renderer)===null||s===void 0?void 0:s.outputEncoding)!==null&&l!==void 0?l:d.sRGBEncoding,minFilter:d.NearestFilter,magFilter:d.NearestFilter,format:d.RGBAFormat,type:d.FloatType,depthTexture:c.depthTexture});this.screenBuffers=[c,f,this.modelRenderTarget]}this.models.setMaterial({useHQDepth:!0,useHQWeight:!1,pointShape:"CIRCLE"})}else this.screenBuffers&&(this.screenBuffers.forEach(function(A){A.dispose()}),this.screenBuffers=[]),this.models.setMaterial({useEDL:!1,useHQDepth:!1,useHQWeight:!1})},t}(Ni),Xa=function(n){ue(t,n);function t(e){var r=this,i,a=t.parseArgs(e);return r=n.call(this,a)||this,r.mode="Floorplan",r.defaultLongitude=a.defaultLongitude,r.defaultLatitude=a.defaultLatitude,r.defaultFov=a.defaultFov,r.maxFov=a.maxFov,r.minFov=a.minFov,r.maxLatitude=a.maxLatitude,r.minLatitude=a.minLatitude,r.modelInScreen=a.modelInScreen,r.locationMotion=new Me({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 Me({modelAlpha:(i=r.models.getMaterial().modelAlpha)!==null&&i!==void 0?i:0}),r.perspToOrthoMotion=new Me({perspToOrtho:r.camera.perspToOrtho.x}),r.currentTapId=null,r.intersectMeshCreator=a.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 a=e.bounding,o=Math.pow(Math.pow(a.max.x-a.min.x+1,2)+Math.pow(a.max.y-a.min.y+1,2)+Math.pow(a.max.z-a.min.z+1,2),1/2),s=o/2/Math.tan(Math.PI*r/360);return i<1&&(s=s/i),isNaN(s)?o:s},t.parseArgs=function(e){var r,i,a,o,s,l,u,c,f;if(e instanceof t)return e;var A=n.parseArgs.call(this,e);return L(L({},A),{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:(a=e.defaultFov)!==null&&a!==void 0?a:80,maxFov:(o=e.maxFov)!==null&&o!==void 0?o:120,minFov:(s=e.minFov)!==null&&s!==void 0?s:20,maxLatitude:(l=e.maxLatitude)!==null&&l!==void 0?l:+Math.PI/2,minLatitude:(u=e.minLatitude)!==null&&u!==void 0?u:-Math.PI/2,modelInScreen:(c=e.modelInScreen)!==null&&c!==void 0?c:"boundingbox-center",intersectMeshCreator:(f=e.intersectMeshCreator)!==null&&f!==void 0?f:function(){return new Di}})},t.initAnimationEndState=function(e){var r,i,a,o,s,l,u,c=this.parseArgs(e),f=e.initial,A=f.state,m=f.currentState,h=typeof A.panoIndex=="number"?{workCode:(a=(r=A.workCode)!==null&&r!==void 0?r:(i=c.works[0])===null||i===void 0?void 0:i.workCode)!==null&&a!==void 0?a:"",panoIndex:A.panoIndex}:{workCode:m.workCode,panoIndex:m.panoIndex},p=L(L({},h),{mode:"Floorplan",longitude:(o=A.longitude)!==null&&o!==void 0?o:Ga(m.mode)?m.longitude:c.defaultLongitude,latitude:fe((s=A.latitude)!==null&&s!==void 0?s:m.mode==="Floorplan"?m.latitude:c.defaultLatitude,c.minLatitude,c.maxLatitude),fov:(l=A.fov)!==null&&l!==void 0?l:c.defaultFov,offset:A.offset?A.offset.clone():e.models.bounding.getCenter(new d.Vector3),distance:(u=A.distance)!==null&&u!==void 0?u:t.distanceFromModel(c.models,c.defaultFov,c.camera.aspect)});return p},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,a){var o;return this.works=e,this.updateCamera(r,(o=i.duration)!==null&&o!==void 0?o:0,a),!0},t.prototype.updateModel=function(e){n.prototype.updateModel.call(this,e);var r=e.bounding.getCenter(new d.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(D)},t.prototype.updateCamera=function(e,r,i){var a=this;return this.initAnimationReady.then(function(){a.userAction=i,a.stopMomentumMovement();var o={},s={};return e.distance!==void 0&&(o.distance=e.distance),e.offset!==void 0&&(o.x=e.offset.x,o.y=e.offset.y,o.z=e.offset.z),e.longitude!==void 0&&(s.longitude=e.longitude),e.latitude!==void 0&&(s.latitude=e.latitude),e.fov!==void 0&&(s.fov=e.fov),a.locationMotion.set(o,r).catch(D),a.cameraMotion.set(s,r).catch(D)})},t.prototype.updateCameraWithKeyframes=function(e,r,i){var a=this;return this.initAnimationReady.then(function(){a.userAction=i,a.stopMomentumMovement();for(var o=[],s=[],l=0,u=e;l<u.length;l++){var c=u[l];o.push({key:c.key,progress:c.progress,value:{distance:c.value.distance,x:c.value.offset.x,y:c.value.offset.x,z:c.value.offset.x}}),s.push({key:c.key,progress:c.progress,value:{longitude:c.value.longitude,latitude:c.value.latitude,fov:c.value.fov}})}return a.locationMotion.setKeyframes(o,r).catch(D),a.cameraMotion.setKeyframes(e,r)})},t.prototype.updateTime=function(e,r){if(!this.destroyed){var i={},a={};this.modelAlphaMotion.ended||(this.modelAlphaMotion.update(e),i.modelAlpha=this.modelAlphaMotion.value.modelAlpha),this.perspToOrthoMotion.ended||(this.perspToOrthoMotion.update(e),this.camera.perspToOrtho.setScalar(fe(this.perspToOrthoMotion.value.perspToOrtho,0,1))),this.locationMotion.ended||(this.locationMotion.update(e),a.distance=this.locationMotion.value.distance,a.offset=new d.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z)),this.cameraMotion.ended||(this.cameraMotion.update(e),a.longitude=this.cameraMotion.value.longitude,a.latitude=this.cameraMotion.value.latitude,a.fov=this.cameraMotion.value.fov),Qt(i)||this.models.setMaterial(i),Qt(a)||this.setCamera(a)}},t.prototype.getTargetState=function(){var e=this.cameraMotion.getKeyFrameSegment(Ee())[1],r=this.locationMotion.getKeyFrameSegment(Ee())[1];return L(L({},this.currentPano),{mode:this.mode,longitude:e.value.longitude,latitude:e.value.latitude,fov:e.value.fov,offset:new d.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 a=i.duration,o=i.userAction;e.userAction=o;var s=t.initAnimationEndState(e),l=Vt(s,["longitude","latitude","fov"]),u={x:s.offset.x,y:s.offset.y,z:s.offset.z,distance:s.distance},c={modelAlpha:1},f={perspToOrtho:0};e.emit("initAnimation.start",X("initAnimation.start",{state:s,userAction:e.userAction})),e.modelAlphaMotion.set(c,a/3).catch(D),e.perspToOrthoMotion.set(f,a).catch(D),e.cameraMotion.set(l,a).catch(D),e.locationMotion.set(u,a).then(function(){e.emit("initAnimation.end",X("initAnimation.end",{state:s,userAction:e.userAction}))},function(A){var m=L(L(L({},e.currentPano),{mode:e.mode}),Je(e.camera.pose));e.emit("initAnimation.end",X("initAnimation.end",{state:m,userAction:e.userAction}))}).then(function(){r()})})},t.prototype.updateRenderSize=function(e){this.needsRender=!0,this.modelSceneNeedsRender=!0,this.screenBuffers.forEach(function(r){r.setSize(e.x,e.y)})},t.prototype.getForwardObserverOrNot=function(e){var r=this,i=this.models.intersectRaycaster(e)[0];if(!i)return null;var a=this.works.resolvedObservers.filter(function(u){for(var c,f=0,A=r.models;f<A.length;f++){var m=A[f];if(m.visible&&((c=m.work)===null||c===void 0?void 0:c.workCode)===u.work.workCode)return!0}return!1}),o=lr(a,function(u){return u.standingPosition.distanceTo(i.point)},!0),s=o[0],l=o[1];return s&&l<10?s:null},t.prototype.coordinatesForOffset=function(e){var r=this.renderer.getSize(new d.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,a){var o=this;if(this.inMomentumMovement!==null){for(var s=L({},i),l={longitude:0,latitude:0},u=0;u<a;u++)s.longitude*=.996,s.latitude*=.996*.998,l.longitude+=s.longitude,l.latitude+=s.latitude;var c=Gr(this.cameraMotion.value.longitude+l.longitude),f=fe(this.cameraMotion.value.latitude+l.latitude,this.minLatitude,this.maxLatitude),A=L(L({},this.currentPano),{mode:this.mode,longitude:c,latitude:f,fov:this.cameraMotion.value.fov,offset:this.camera.pose.offset.clone(),distance:this.camera.pose.distance}),m=!(s.longitude>1e-4||s.longitude<-1e-4||s.latitude>1e-4||s.latitude<-1e-4),h=X("gesture.momentum",L(L({},e),{isFirst:r,isFinal:m,state:A}));if(this.inMomentumMovement.event=h,this.emit("gesture.momentum",h),e.defaultPrevented){this.inMomentumMovement=null;return}this.inMomentumMovement&&(this.cameraMotion.set({longitude:c,latitude:f},0).catch(D),m?this.inMomentumMovement=null:lt.shared.add(function(p,y){o.requestMomentumMovement(e,!1,s,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 a={x:e.center.x-r.x,y:e.center.y-r.y},o=this.relativeClientPosition(e.center),s=this.camera.pose.latitude<Math.PI/6||o.y<0?1:-1;a.x*=s;var l=this.coordinatesForOffset(a),u=Gr(this.cameraMotion.value.longitude+l.longitude),c=fe(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&&(c=this.cameraMotion.value.latitude);var f=L(L({},this.currentPano),{mode:this.mode,longitude:u,latitude:c,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(D),e.isFinal)){var A=e.velocityX*s,m=e.velocityY;this.inMomentumMovement={uuid:wt()},this.requestMomentumMovement(e,!0,this.coordinatesForOffset({x:A,y:m}),0)}}},t.prototype.onPinchGesture=function(e){var r;if(this.initAnimationIsReady){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 a=fe(i/e.scale,this.minFov,this.maxFov);e.state.fov=a,this.emit("gesture.pinch",e),!e.defaultPrevented&&(this.cameraMotion.set({fov:a},0).catch(D),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 a=e.center.raycaster;if(e.isFinal&&this.intersectMesh.parent&&this.intersectMesh.visible===!0){this.hideIntersectMesh();return}var o=this.models.intersectRaycaster(a)[0],s=X("intersect.update",{raycaster:a,intersection:o!=null?o:null,object:this.intersectMesh});if(this.emit("intersect.update",s),s.defaultPrevented){this.hideIntersectMesh();return}if(o){var l=(i=(r=o.face)===null||r===void 0?void 0:r.normal)!==null&&i!==void 0?i:new d.Vector3().copy(a.ray.direction).multiplyScalar(-1),u=l.clone(),c=o.point.clone();this.intersectMesh.position.copy(c);var f=a.ray.origin.distanceTo(c),A=2*Math.tan(.5*this.camera.fov/180*Math.PI),m=Math.max(f*A/10,1);this.intersectMesh.scale.set(m,m,m);var h=c.clone().add(u);if(this.intersectMesh.lookAt(h),Math.abs(l.y)>.99){var p=this.camera.position.clone().sub(c);this.intersectMesh.rotation.z=-Math.atan2(p.z,p.x)}this.intersectMesh.visible=!0,this.needsRender=!0}else this.hideIntersectMesh()}},t.prototype.onMouseWheel=function(e){if(this.initAnimationIsReady){this.userAction=e.userAction,this.stopMomentumMovement();var r=this,i=r.minFov,a=r.maxFov,o=fe(this.camera.fov-e.center.delta,i,a);e.state.fov=o,this.emit("gesture.mousewheel",e),!e.defaultPrevented&&this.cameraMotion.set({fov:o},0).catch(D)}},t.prototype.onTapGesture=function(e){var r=this;this.userAction=!0,this.stopMomentumMovement();var i=e.center.raycaster,a=this.getForwardObserverOrNot(i);if(!a)this.emit("gesture.tap",e);else{var o={longitude:this.camera.pose.longitude,latitude:0},s=L(L({},e.state),{mode:"Panorama",workCode:a.pano.workCode,panoIndex:a.pano.panoIndex,longitude:o.longitude,latitude:o.latitude,offset:a?a.position.clone():new d.Vector3,distance:0});if(e.state=s,this.emit("gesture.tap",e),!e.defaultPrevented&&(this.emit("pano.select",X("pano.select",{prevPano:this.currentPano,state:s,userAction:e.userAction,options:o,progress:0,error:null})),a&&a.active)){var l=this.currentTapId=wt();this.preloadPano(a.pano).then(function(u){r.currentTapId===l&&r.emit("pano.request",X("pano.request",{userAction:!0,prevPano:r.currentPano,progress:0,state:s,options:o,error:null}))})}}},t.prototype.onDblTapGesture=function(e){this.userAction=e.userAction,this.stopMomentumMovement();var r=this.cameraMotion.value.fov,i=this.minFov-r<r-this.defaultFov?this.minFov:this.defaultFov;e.state.fov=i,this.emit("gesture.dbltap",e),!e.defaultPrevented&&(this.cameraMotion.set({fov:i},360).catch(D),this.hideIntersectMesh())},t.prototype.hideIntersectMesh=function(){this.intersectMesh.visible=!1,this.needsRender=!0},t}(xo),qh=function(n){ue(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=L(L({},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 L(L({},i),{longitude:r.defaultLongitude,latitude:r.defaultLatitude,mode:"Topview"})},t.prototype.updateModel=function(e){this.needsRender=!0,this.modelSceneNeedsRender=!0;var r=this.models.bounding.getCenter(new d.Vector3);this.locationMotion.set({x:r.x,y:r.y,z:r.z,distance:Xa.distanceFromModel(this.models,this.defaultFov,this.camera.aspect)},0).catch(D)},t.prototype.updateCamera=function(e,r,i){var a=this;return this.initAnimationReady.then(function(){a.userAction=i,a.stopMomentumMovement();var o={},s={};return e.distance!==void 0&&(o.distance=e.distance),e.offset!==void 0&&(o.x=e.offset.x,o.y=e.offset.y,o.z=e.offset.z),e.longitude!==void 0&&(s.longitude=e.longitude),e.latitude!==void 0&&(s.latitude=e.latitude),e.fov!==void 0&&(s.fov=e.fov),a.locationMotion.set(o,r).catch(D),a.cameraMotion.set(s,r).catch(D)})},t.prototype.updateCameraWithKeyframes=function(e,r,i){var a=this;return this.initAnimationReady.then(function(){a.userAction=i,a.stopMomentumMovement();for(var o=[],s=[],l=0,u=e;l<u.length;l++){var c=u[l];o.push({key:c.key,progress:c.progress,value:{distance:c.value.distance,x:c.value.offset.x,y:c.value.offset.y,z:c.value.offset.z}}),s.push({key:c.key,progress:c.progress,value:{longitude:c.value.longitude,latitude:c.value.latitude,fov:c.value.fov}})}return a.locationMotion.setKeyframes(o,r).catch(D),a.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 a=i.duration,o=i.userAction;e.userAction=o;var s=t.initAnimationEndState(e),l={longitude:s.longitude,latitude:s.latitude,fov:s.fov},u={x:s.offset.x,y:s.offset.y,z:s.offset.z,distance:s.distance},c={modelAlpha:1},f={perspToOrtho:1};e.emit("initAnimation.start",X("initAnimation.start",{state:s,userAction:e.userAction})),e.modelAlphaMotion.set(c,a/3).catch(D),e.perspToOrthoMotion.set(f,a).catch(D),e.cameraMotion.set(l,a).catch(D),e.locationMotion.set(u,a).then(function(){e.emit("initAnimation.end",X("initAnimation.end",{state:s,userAction:e.userAction}))},function(A){var m=L(L(L({},e.currentPano),{mode:e.mode}),Je(e.camera.pose));e.emit("initAnimation.end",X("initAnimation.end",{state:m,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 a={x:e.center.x-r.x,y:e.center.y-r.y},o=new d.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z),s=this.locationMotion.value.distance;s*=Math.tan(this.cameraMotion.value.fov/2*Math.PI/180);var l=this.renderer.getSize(new d.Vector2),u=2*a.x*s/l.y,c=2*a.y*s/l.y,f=new d.Vector3;f.setFromMatrixColumn(this.camera.matrix,0),f.multiplyScalar(-u),o.add(f),f.setFromMatrixColumn(this.camera.matrix,0),f.crossVectors(this.camera.up,f),f.multiplyScalar(c),o.add(f),this.modelInScreen==="boundingbox-center"&&o.clamp(this.models.bounding.min,this.models.bounding.max);var A=L(L({},this.currentPano),{mode:this.mode,longitude:0,latitude:Math.PI/2,fov:this.cameraMotion.value.fov,offset:o,distance:this.locationMotion.value.distance});e.state=A,this.emit("gesture.pan",e),!e.defaultPrevented&&this.locationMotion.set({x:o.x,y:o.y,z:o.z},0).catch(D)}},t.prototype.onPinchGesture=function(e){var r;if(this.initAnimationIsReady){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 a=fe(i/e.scale,this.minFov,this.maxFov);e.state.fov=a,this.emit("gesture.pinch",e),!e.defaultPrevented&&(this.cameraMotion.set({fov:a},0).catch(D),e.type="gesture.pan",this.onPanGesture(e))}}},t.prototype.onMouseWheel=function(e){if(this.initAnimationIsReady){this.userAction=e.userAction,this.stopMomentumMovement();var r=fe(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(D)}},t}(Xa),Tu=function(n){ue(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,a,o,s,l,u,c;if(e instanceof t)return e;var f=n.parseArgs.call(this,e);return L(L({},f),{defaultLatitude:(r=e.defaultLatitude)!==null&&r!==void 0?r:0,defaultFov:(i=e.defaultFov)!==null&&i!==void 0?i:90,maxFov:(a=e.maxFov)!==null&&a!==void 0?a:120,minFov:(o=e.minFov)!==null&&o!==void 0?o:20,maxLatitude:(s=e.maxLatitude)!==null&&s!==void 0?s:+Math.PI/2,minLatitude:(l=e.minLatitude)!==null&&l!==void 0?l:-Math.PI/2,moveSpeed:(u=e.moveSpeed)!==null&&u!==void 0?u:3.4,intersectMeshCreator:(c=e.intersectMeshCreator)!==null&&c!==void 0?c:function(){return new Di}})},t.initAnimationEndState=function(e){var r,i,a,o,s,l,u=this.parseArgs(e),c=u.works,f=e.initial,A=f.state,m=f.currentState,h=typeof A.panoIndex=="number"?{workCode:(a=(r=A.workCode)!==null&&r!==void 0?r:(i=u.works[0])===null||i===void 0?void 0:i.workCode)!==null&&a!==void 0?a:"",panoIndex:A.panoIndex}:{workCode:m.workCode,panoIndex:m.panoIndex},p=c.getResolvedObserver(h),y=(o=A.longitude)!==null&&o!==void 0?o:m.longitude,v=fe((s=A.latitude)!==null&&s!==void 0?s:jn(m.mode)?m.latitude:u.defaultLatitude,u.minLatitude,u.maxLatitude),g=fe((l=A.fov)!==null&&l!==void 0?l:jn(m.mode)?m.fov:u.defaultFov,u.minFov,u.maxFov),x=p?p.position.clone():new d.Vector3;return{workCode:h.workCode,panoIndex:h.panoIndex,mode:"PanoramaLike",longitude:y,latitude:v,fov:g,offset:x,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 fe(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,a=this.renderer.getSize(new d.Vector2);return{longitude:2*e.x/(a.x*this.scissor.width)*r/95*i,latitude:-2*e.y/(a.y*this.scissor.height)*r/95}},t.prototype.cameraBounce=function(){var e=this.cameraMotion.value,r=e.longitude,i=e.latitude,a=e.fov,o=[{progress:0,value:{longitude:r,latitude:i,fov:a}},{progress:.5,value:{longitude:r,latitude:i,fov:a*.98}},{progress:1,value:{longitude:r,latitude:i,fov:a}}];this.cameraMotion.setKeyframes(o,500).catch(D)},t.prototype.requestMomentumMovement=function(e,r,i,a){var o=this;if(this.inMomentumMovement!==null){for(var s=L({},i),l={longitude:0,latitude:0},u=0;u<a;u++)s.longitude*=.996,s.latitude*=.996*.99,l.longitude+=s.longitude,l.latitude+=s.latitude;var c=Gr(this.cameraMotion.value.longitude+l.longitude),f=fe(this.cameraMotion.value.latitude+l.latitude,this.minLatitude,this.maxLatitude),A=L(L({},this.currentPano),{mode:this.mode,longitude:c,latitude:f,fov:this.cameraMotion.value.fov,offset:this.camera.pose.offset.clone(),distance:this.camera.pose.distance}),m=!(s.longitude>1e-4||s.longitude<-1e-4||s.latitude>1e-4||s.latitude<-1e-4),h=X("gesture.momentum",L(L({},e),{isFirst:r,isFinal:m,state:A}));if(this.inMomentumMovement.event=h,this.emit("gesture.momentum",h),e.defaultPrevented){this.inMomentumMovement=null;return}this.inMomentumMovement&&(this.cameraMotion.set({longitude:c,latitude:f},0).catch(D),m?this.inMomentumMovement=null:lt.shared.add(function(p,y){o.requestMomentumMovement(e,!1,s,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 a={x:e.center.x-r.x,y:e.center.y-r.y},o=this.coordinatesForOffset(a),s=Gr(this.cameraMotion.value.longitude+o.longitude),l=fe(this.cameraMotion.value.latitude+o.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 u=L(L({},this.currentPano),{mode:this.mode,longitude:s,latitude:l,fov:this.cameraMotion.value.fov,offset:this.camera.pose.offset.clone(),distance:this.camera.pose.distance});if(e.state=u,this.emit("gesture.pan",e),!e.defaultPrevented){var c={longitude:u.longitude,latitude:u.latitude,fov:u.fov};if(this.cameraMotion.set(c,0).catch(D),e.isFinal){var f=e.velocityX,A=e.velocityY*.6;Math.abs(A)>.5&&Math.abs(f)<.5&&(f=0),this.inMomentumMovement={uuid:wt()},this.requestMomentumMovement(e,!0,this.coordinatesForOffset({x:f,y:A}),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,a=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 o=fe(i/a,this.minFov,this.maxFov);e.state.fov=o,this.emit("gesture.pinch",e),!e.defaultPrevented&&(this.cameraMotion.set({fov:o},0).catch(D),e.type="gesture.pan",this.onPanGesture(e))}},t.prototype.onMouseWheel=function(e){this.userAction=e.userAction,this.stopMomentumMovement();var r=fe(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(D),this.onMouseMove(e))},t.prototype.onMouseMove=function(e){var r,i;if(this.intersectMesh.parent&&!this.panState&&(this.emit("gesture.mousemove",e),!e.defaultPrevented)){var a=e.center.raycaster;if(e.isFinal&&this.intersectMesh.parent){this.hideIntersectMesh();return}var o=this.models.intersectRaycaster(a)[0],s=X("intersect.update",{raycaster:a,intersection:o!=null?o:null,object:this.intersectMesh});if(this.emit("intersect.update",s),s.defaultPrevented){this.hideIntersectMesh();return}if(o){var l=(i=(r=o.face)===null||r===void 0?void 0:r.normal)!==null&&i!==void 0?i:new d.Vector3().copy(a.ray.direction).multiplyScalar(-1),u=l.clone(),c=o.point.clone();this.intersectMesh.position.copy(c);var f=c.clone().add(u);if(this.intersectMesh.lookAt(f),Math.abs(l.y)>.99){var A=this.camera.position.clone().sub(c);this.intersectMesh.rotation.z=-Math.atan2(A.z,A.x)}this.intersectMesh.visible=!0,this.needsRender=!0}else this.hideIntersectMesh()}},t.prototype.onDblTapGesture=function(e){this.userAction=e.userAction,this.stopMomentumMovement();var r=this.cameraMotion.value.fov,i=2,a=this.works.getResolvedObserver(this.currentPano);if(a){var o=a.images.tiles;o&&o.length&&(i=Math.max.apply(Math,o.map(function(u){return u.level})))}var s=Math.max(40-i*5,this.minFov,5),l=s-r<r-this.defaultFov?s:this.defaultFov;e.state.fov=l,this.emit("gesture.dbltap",e),!e.defaultPrevented&&(this.cameraMotion.set({fov:l},360).catch(D),this.hideIntersectMesh())},t}(xo),Hh="data:video/mp4;base64,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",ga;function Pu(){return ga||(ga=new Promise(function(n){var t,e=document.createElement("video");e.muted=!0,e.src=Hh,e.addEventListener("timeupdate",function r(){e.removeEventListener("timeupdate",r,!1),clearTimeout(t);var i=document.createElement("canvas");i.width=i.height=1;var a=i.getContext("2d");if(!a){n(!1);return}a.drawImage(e,0,0,1,1);var o=a.getImageData(0,0,1,1).data;o[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 Gh=`
1370
1370
  #include <common>
1371
1371
  uniform sampler2D inputBuffer;
1372
1372
  uniform float scale;
@@ -1379,7 +1379,7 @@ void main() {
1379
1379
  float luminance = clamp(linearToRelativeLuminance(rgb), 0.1, 0.9);
1380
1380
  gl_FragColor = vec4(luminance);
1381
1381
  }
1382
- `,Rh=function(n){se(t,n);function t(e,r){return r===void 0&&(r=.5),n.call(this,e,{uniforms:{inputBuffer:new d.Uniform(null),scale:new d.Uniform(r)},fragment:Bh})||this}return t}(Ni),Ao=function(){function n(t,e,r,i){this.enable=!0,this.renderer=t,this.camera=r,this.models=i,this.scene=e,this.copyPass=new vu(this.renderer)}return n.prototype.render=function(t,e){},n.prototype.dispose=function(){this.copyPass.dispose()},n}(),kh=function(n){se(t,n);function t(e,r){r===void 0&&(r=.002);var i=n.call(this,e,{uniforms:{targetBuffer:new d.Uniform(null),inputBuffer:new d.Uniform(null),step:new d.Uniform(r)},fragment:`
1382
+ `,Kh=function(n){ue(t,n);function t(e,r){return r===void 0&&(r=.5),n.call(this,e,{uniforms:{inputBuffer:new d.Uniform(null),scale:new d.Uniform(r)},fragment:Gh})||this}return t}(Qi),wo=function(){function n(t,e,r,i){this.enable=!0,this.renderer=t,this.camera=r,this.models=i,this.scene=e,this.copyPass=new Mu(this.renderer)}return n.prototype.render=function(t,e){},n.prototype.dispose=function(){this.copyPass.dispose()},n}(),jh=function(n){ue(t,n);function t(e,r){r===void 0&&(r=.002);var i=n.call(this,e,{uniforms:{targetBuffer:new d.Uniform(null),inputBuffer:new d.Uniform(null),step:new d.Uniform(r)},fragment:`
1383
1383
  uniform sampler2D targetBuffer;
1384
1384
  uniform sampler2D inputBuffer;
1385
1385
  uniform float step;
@@ -1407,7 +1407,7 @@ void main() {
1407
1407
  }
1408
1408
  gl_FragColor = vec4(result, result, result, 1.0);
1409
1409
  }
1410
- `})||this;return i.material.extensions.shaderTextureLOD=!0,i}return Object.defineProperty(t.prototype,"targetBuffer",{get:function(){return this.material.uniforms.targetBuffer.value},set:function(e){this.material.uniforms.targetBuffer.value=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"step",{get:function(){return this.material.uniforms.step.value},set:function(e){this.material.uniforms.step.value=e},enumerable:!1,configurable:!0}),t}(Ni),Fh=function(n){se(t,n);function t(e){var r=n.call(this,e,{uniforms:{inputBuffer:new d.Uniform(null),luminanceAdaptiveBuffer:new d.Uniform(null),progress:new d.Uniform(0)},fragment:`
1410
+ `})||this;return i.material.extensions.shaderTextureLOD=!0,i}return Object.defineProperty(t.prototype,"targetBuffer",{get:function(){return this.material.uniforms.targetBuffer.value},set:function(e){this.material.uniforms.targetBuffer.value=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"step",{get:function(){return this.material.uniforms.step.value},set:function(e){this.material.uniforms.step.value=e},enumerable:!1,configurable:!0}),t}(Qi),Jh=function(n){ue(t,n);function t(e){var r=n.call(this,e,{uniforms:{inputBuffer:new d.Uniform(null),luminanceAdaptiveBuffer:new d.Uniform(null),progress:new d.Uniform(0)},fragment:`
1411
1411
  #include <common>
1412
1412
  uniform sampler2D inputBuffer;
1413
1413
  uniform sampler2D luminanceAdaptiveBuffer;
@@ -1429,14 +1429,14 @@ void main() {
1429
1429
  rgb = clamp(lumCompressed * rgb, 0.0, 1.0);
1430
1430
  gl_FragColor = mix(inputColor, vec4(rgb, alpha), progress * 0.9);
1431
1431
  }
1432
- `})||this;return r.material.transparent=!0,r}return Object.defineProperty(t.prototype,"luminanceAdaptiveBuffer",{get:function(){return this.material.uniforms.luminanceAdaptiveBuffer.value},set:function(e){this.material.uniforms.luminanceAdaptiveBuffer.value=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"progress",{get:function(){return this.material.uniforms.progress.value},set:function(e){this.material.uniforms.progress.value=e},enumerable:!1,configurable:!0}),t}(Ni),Bs=function(n){se(t,n);function t(e,r,i,a){var o=n.call(this,e,r,i,a)||this;return o.enableTime=Ee(),o.renderer=e,o.valuePass=new wh(o.renderer),o.luminancePass=new Rh(o.renderer,Math.sqrt(1/3)),o.nextStepPass=new kh(o.renderer,.01),o.luminanceAdaptivePass=new Fh(o.renderer),o}return t.prototype.render=function(e){this.renderer.setRenderTarget(e[0]),this.renderer.render(this.scene,this.camera),this.enableTime===null&&(this.enableTime=Ee()),this.luminanceTargetBuffer||(this.luminanceTargetBuffer=new d.WebGLRenderTarget(128,128,{minFilter:d.LinearMipmapLinearFilter,magFilter:d.LinearFilter,encoding:this.renderer.outputEncoding,stencilBuffer:!1,depthBuffer:!1,format:d.RGBAFormat,generateMipmaps:!0}),this.nextStepPass.targetBuffer=this.luminanceTargetBuffer.texture),this.luminancePass.render(e[0],this.luminanceTargetBuffer),this.luminancePrevBuffer||(this.luminancePrevBuffer=new d.WebGLRenderTarget(1,1,{minFilter:d.NearestFilter,magFilter:d.NearestFilter,type:d.HalfFloatType,encoding:this.renderer.outputEncoding,stencilBuffer:!1,depthBuffer:!1}),this.valuePass.render(new d.Vector3(.5,.5,.5),this.luminancePrevBuffer)),this.luminanceNextBuffer||(this.luminanceNextBuffer=new d.WebGLRenderTarget(1,1,{minFilter:d.NearestFilter,magFilter:d.NearestFilter,type:d.HalfFloatType,encoding:this.renderer.outputEncoding,stencilBuffer:!1,depthBuffer:!1}),this.valuePass.render(new d.Vector3(.5,.5,.5),this.luminanceNextBuffer),this.luminanceAdaptivePass.luminanceAdaptiveBuffer=this.luminanceNextBuffer.texture),this.copyPass.render(this.luminanceNextBuffer,this.luminancePrevBuffer),this.nextStepPass.render(this.luminancePrevBuffer,this.luminanceNextBuffer),this.luminanceAdaptivePass.progress=Math.min((Ee()-this.enableTime)/100,1),this.luminanceAdaptivePass.render(e[0],e[1])},t.prototype.dispose=function(){var e,r,i;(e=this.luminanceTargetBuffer)===null||e===void 0||e.dispose(),(r=this.luminancePrevBuffer)===null||r===void 0||r.dispose(),(i=this.luminanceNextBuffer)===null||i===void 0||i.dispose(),this.copyPass.dispose(),this.luminancePass.dispose(),this.nextStepPass.dispose(),this.luminanceAdaptivePass.dispose()},t}(Ao),pa,Rs=new d.Vector3,Lh=64,zr=(pa=Math.SQRT1_2)!==null&&pa!==void 0?pa:Math.sqrt(2),Oh={up:new d.Quaternion(zr,0,0,zr),down:new d.Quaternion(-zr,0,0,zr),left:new d.Quaternion(0,zr,0,zr),right:new d.Quaternion(0,-zr,0,zr),front:new d.Quaternion(0,0,0,1),back:new d.Quaternion(0,1,0,0)},Vh=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),Nh=new Float32Array([0,0,1,0,0,1,1,1]),zh=new Uint8Array([0,1,2,1,3,2]),zi=new d.BufferGeometry;zi.setAttribute("position",new d.BufferAttribute(Vh,3));zi.setAttribute("uv",new d.BufferAttribute(Nh,2));zi.setIndex(new d.BufferAttribute(zh,1));var Dh=`
1432
+ `})||this;return r.material.transparent=!0,r}return Object.defineProperty(t.prototype,"luminanceAdaptiveBuffer",{get:function(){return this.material.uniforms.luminanceAdaptiveBuffer.value},set:function(e){this.material.uniforms.luminanceAdaptiveBuffer.value=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"progress",{get:function(){return this.material.uniforms.progress.value},set:function(e){this.material.uniforms.progress.value=e},enumerable:!1,configurable:!0}),t}(Qi),Vs=function(n){ue(t,n);function t(e,r,i,a){var o=n.call(this,e,r,i,a)||this;return o.enableTime=Ee(),o.renderer=e,o.valuePass=new Vh(o.renderer),o.luminancePass=new Kh(o.renderer,Math.sqrt(1/3)),o.nextStepPass=new jh(o.renderer,.01),o.luminanceAdaptivePass=new Jh(o.renderer),o}return t.prototype.render=function(e){this.renderer.setRenderTarget(e[0]),this.renderer.render(this.scene,this.camera),this.enableTime===null&&(this.enableTime=Ee()),this.luminanceTargetBuffer||(this.luminanceTargetBuffer=new d.WebGLRenderTarget(128,128,{minFilter:d.LinearMipmapLinearFilter,magFilter:d.LinearFilter,encoding:this.renderer.outputEncoding,stencilBuffer:!1,depthBuffer:!1,format:d.RGBAFormat,generateMipmaps:!0}),this.nextStepPass.targetBuffer=this.luminanceTargetBuffer.texture),this.luminancePass.render(e[0],this.luminanceTargetBuffer),this.luminancePrevBuffer||(this.luminancePrevBuffer=new d.WebGLRenderTarget(1,1,{minFilter:d.NearestFilter,magFilter:d.NearestFilter,type:d.HalfFloatType,encoding:this.renderer.outputEncoding,stencilBuffer:!1,depthBuffer:!1}),this.valuePass.render(new d.Vector3(.5,.5,.5),this.luminancePrevBuffer)),this.luminanceNextBuffer||(this.luminanceNextBuffer=new d.WebGLRenderTarget(1,1,{minFilter:d.NearestFilter,magFilter:d.NearestFilter,type:d.HalfFloatType,encoding:this.renderer.outputEncoding,stencilBuffer:!1,depthBuffer:!1}),this.valuePass.render(new d.Vector3(.5,.5,.5),this.luminanceNextBuffer),this.luminanceAdaptivePass.luminanceAdaptiveBuffer=this.luminanceNextBuffer.texture),this.copyPass.render(this.luminanceNextBuffer,this.luminancePrevBuffer),this.nextStepPass.render(this.luminancePrevBuffer,this.luminanceNextBuffer),this.luminanceAdaptivePass.progress=Math.min((Ee()-this.enableTime)/100,1),this.luminanceAdaptivePass.render(e[0],e[1])},t.prototype.dispose=function(){var e,r,i;(e=this.luminanceTargetBuffer)===null||e===void 0||e.dispose(),(r=this.luminancePrevBuffer)===null||r===void 0||r.dispose(),(i=this.luminanceNextBuffer)===null||i===void 0||i.dispose(),this.copyPass.dispose(),this.luminancePass.dispose(),this.nextStepPass.dispose(),this.luminanceAdaptivePass.dispose()},t}(wo),ya,Ns=new d.Vector3,Xh=64,zr=(ya=Math.SQRT1_2)!==null&&ya!==void 0?ya:Math.sqrt(2),Wh={up:new d.Quaternion(zr,0,0,zr),down:new d.Quaternion(-zr,0,0,zr),left:new d.Quaternion(0,zr,0,zr),right:new d.Quaternion(0,-zr,0,zr),front:new d.Quaternion(0,0,0,1),back:new d.Quaternion(0,1,0,0)},_h=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),Zh=new Float32Array([0,0,1,0,0,1,1,1]),Yh=new Uint8Array([0,1,2,1,3,2]),Ui=new d.BufferGeometry;Ui.setAttribute("position",new d.BufferAttribute(_h,3));Ui.setAttribute("uv",new d.BufferAttribute(Zh,2));Ui.setIndex(new d.BufferAttribute(Yh,1));var $h=`
1433
1433
  uniform float flipY;
1434
1434
  varying vec2 vUv;
1435
1435
  void main() {
1436
1436
  vUv = vec2(uv.x, mix((1.0 - uv.y), uv.y, flipY));
1437
1437
  gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
1438
1438
  }
1439
- `,Qh=`
1439
+ `,ep=`
1440
1440
  #if defined(USE_LUMINANCE)
1441
1441
  uniform sampler2D luminanceMap;
1442
1442
  #endif
@@ -1450,7 +1450,7 @@ void main() {
1450
1450
  gl_FragColor.a = 1.0 - texture2D(luminanceMap, vUv).r;
1451
1451
  #endif
1452
1452
  }
1453
- `,Uh=function(n){se(t,n);function t(){var e=n.call(this,{uniforms:{map:{value:null},luminanceMap:{value:null},flipY:{value:1},level:{value:0}},vertexShader:Dh,fragmentShader:Qh})||this;return e.depthTest=!1,e.depthWrite=!1,e.blending=d.NoBlending,e.map=e.uniforms.map.value,e.luminanceMap=e.uniforms.luminanceMap.value,e.flipY=!!e.uniforms.flipY.value,e.level=e.uniforms.level.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}},level:{get:function(){return this.uniforms.level.value},set:function(r){this.uniforms.level.value=r}}}),e}return t}(d.ShaderMaterial),qh=function(n){se(t,n);function t(e,r){var i=n.call(this,zi,new Uh)||this;return e.box.getCenter(i.position),i.quaternion.multiplyQuaternions(new d.Quaternion().setFromAxisAngle(new d.Vector3(0,1,0),-Math.PI),Oh[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(a){var o=a[0],s=a[1];i.disposed?(o.dispose(),s==null||s.dispose()):(i.material.map=o,i.material.luminanceMap=s,i.material.flipY=!!o.flipY,i.material.level=e.level,i.material.needsUpdate=!0,i.material.visible=!0,i.needsRender=!0)}).catch(D),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}(d.Mesh),Hh=function(n){se(t,n);function t(){var e=n.call(this)||this;return e.needsRender=!1,e.name="tiling",e}return t}(d.Group),Gh=function(){function n(t,e,r){this.disposed=!1,this.textureLoader=new Zn,this.minLevel=e,this.level=0,this.panoId="[0]",this.maxRequest=n.DEFAULT_MAX_REQUEST,this.pedding=0,this.tileTree=Sa(this.minLevel),this.tileMeshes=new Map,this.resource=[],this.luminance=null,this.imageOptions=r,this.fetcher=t,this.object=new Hh,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 a=(i=(r=t.slice().sort(function(o,s){return s.level-o.level})[0])===null||r===void 0?void 0:r.level)!==null&&i!==void 0?i:0;this.tileTree=Sa(a),this.luminance=e,this.object.needsRender=!0}},n.prototype.update=function(t,e,r){var i=this;if(!this.disposed){this.level=e;var a=t.planes[5].normal,o=[];e>=this.minLevel&&eo(this.tileTree,function(g){if(!(g.level<i.minLevel)){if(g.level>e||!t.intersectsBox(g.box))return!1;o.push(g)}}),o.sort(function(g,x){return g.level!==x.level?g.level-x.level:g.box.getCenter(Rs).angleTo(a)-x.box.getCenter(Rs).angleTo(a)});for(var s=new Set,u=function(g){var x=l.resource.filter(function(H){return H.level===g.level})[0];if(!x)return"continue";if(s.add(g),l.tileMeshes.has(g))return l.tileMeshes.get(g).activeTime=r,"continue";if(l.pedding>=l.maxRequest)return"continue";var b=x.size,w=l.imageOptions.transform,E=Math.pow(2,g.level)*g.position.y,M=Math.pow(2,g.level)*g.position.x,C="".concat(l.panoId,".").concat(g.face,".").concat(g.level,".").concat(E,".").concat(M),I=F(F({key:"pano_tile.".concat(C)},Vt(l.imageOptions,["format","size","quality","sharpen","mappings"])),{size:x.scale>=1?void 0:b*g.size*x.scale,cut:[b*g.position.x,b*g.position.y,b*g.size,b*g.size]}),S=l.textureLoader.loadTexture(x[g.face],{imageURL:{transform:w,options:I},minFilter:d.LinearFilter,magFilter:d.LinearFilter,generateMipmaps:!1,fetcher:l.fetcher}).then(function(H){return H.body}),P=null;if(l.luminance){var B=l.luminance[g.face],L=B.match(/\/cube_(\d+)\//),k=L?Number(L[1]):!1;if(k!==!1){var O=x.size*x.scale/2,z=O*g.size,N=k<O?B.replace(/\/cube_(\d+)\//,"cube_"+O):B,X=F(F({},I),{size:k*g.size===z?void 0:z,cut:[k*g.position.x,k*g.position.y,k*g.size,k*g.size],key:"pano_tile_luminance.".concat(C)});P=l.textureLoader.loadTexture(N,{imageURL:{transform:l.imageOptions.transform,options:X},minFilter:d.LinearFilter,magFilter:d.LinearFilter,fetcher:l.fetcher}).then(function(H){return H.body}).catch(function(){return null})}}l.pedding++;var G=Promise.all([S,P]).then(function(H){return i.pedding--,H},function(H){return i.pedding--,Promise.reject(H)}),Q=new qh(g,G);Q.name="tiling:tile-".concat(C),Q.activeTime=r,Q.renderOrder=g.level,l.tileMeshes.set(g,Q),l.object.needsRender=!0,l.object.add(Q)},l=this,c=0,h=o;c<h.length;c++){var A=h[c];u(A)}var m=[];this.tileMeshes.forEach(function(g,x){s.has(x)||m.push(x),g.visible=x.level<=e});for(var f=m.sort(function(g,x){var b,w,E,M;return((w=(b=i.tileMeshes.get(x))===null||b===void 0?void 0:b.activeTime)!==null&&w!==void 0?w:0)-((M=(E=i.tileMeshes.get(g))===null||E===void 0?void 0:E.activeTime)!==null&&M!==void 0?M:0)}).slice(Math.max(0,Lh-s.size)),v=0,y=f;v<y.length;v++){var A=y[v],p=this.tileMeshes.get(A);p&&(p.dispose(),this.object.remove(p),this.object.needsRender=!0),this.tileMeshes.delete(A)}}},n.prototype.dispose=function(){this.cleanup(),this.resource=[],this.disposed=!0},n.DEFAULT_MAX_REQUEST=3,n}(),Kh=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]),jh=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]),mo=new d.BufferGeometry;mo.setAttribute("position",new d.BufferAttribute(Kh,3));mo.setIndex(new d.BufferAttribute(jh,1));var Jh=`
1453
+ `,tp=function(n){ue(t,n);function t(){var e=n.call(this,{uniforms:{map:{value:null},luminanceMap:{value:null},flipY:{value:1},level:{value:0}},vertexShader:$h,fragmentShader:ep})||this;return e.depthTest=!1,e.depthWrite=!1,e.blending=d.NoBlending,e.map=e.uniforms.map.value,e.luminanceMap=e.uniforms.luminanceMap.value,e.flipY=!!e.uniforms.flipY.value,e.level=e.uniforms.level.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}},level:{get:function(){return this.uniforms.level.value},set:function(r){this.uniforms.level.value=r}}}),e}return t}(d.ShaderMaterial),rp=function(n){ue(t,n);function t(e,r){var i=n.call(this,Ui,new tp)||this;return e.box.getCenter(i.position),i.quaternion.multiplyQuaternions(new d.Quaternion().setFromAxisAngle(new d.Vector3(0,1,0),-Math.PI),Wh[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(a){var o=a[0],s=a[1];i.disposed?(o.dispose(),s==null||s.dispose()):(i.material.map=o,i.material.luminanceMap=s,i.material.flipY=!!o.flipY,i.material.level=e.level,i.material.needsUpdate=!0,i.material.visible=!0,i.needsRender=!0)}).catch(D),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}(d.Mesh),np=function(n){ue(t,n);function t(){var e=n.call(this)||this;return e.needsRender=!1,e.name="tiling",e}return t}(d.Group),ip=function(){function n(t,e,r){this.disposed=!1,this.textureLoader=new ti,this.minLevel=e,this.level=0,this.panoId="[0]",this.maxRequest=n.DEFAULT_MAX_REQUEST,this.pedding=0,this.tileTree=Ra(this.minLevel),this.tileMeshes=new Map,this.resource=[],this.luminance=null,this.imageOptions=r,this.fetcher=t,this.object=new np,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 a=(i=(r=t.slice().sort(function(o,s){return s.level-o.level})[0])===null||r===void 0?void 0:r.level)!==null&&i!==void 0?i:0;this.tileTree=Ra(a),this.luminance=e,this.object.needsRender=!0}},n.prototype.update=function(t,e,r){var i=this;if(!this.disposed){this.level=e;var a=t.planes[5].normal,o=[];e>=this.minLevel&&ao(this.tileTree,function(g){if(!(g.level<i.minLevel)){if(g.level>e||!t.intersectsBox(g.box))return!1;o.push(g)}}),o.sort(function(g,x){return g.level!==x.level?g.level-x.level:g.box.getCenter(Ns).angleTo(a)-x.box.getCenter(Ns).angleTo(a)});for(var s=new Set,l=function(g){var x=u.resource.filter(function(q){return q.level===g.level})[0];if(!x)return"continue";if(s.add(g),u.tileMeshes.has(g))return u.tileMeshes.get(g).activeTime=r,"continue";if(u.pedding>=u.maxRequest)return"continue";var b=x.size,w=u.imageOptions.transform,E=Math.pow(2,g.level)*g.position.y,I=Math.pow(2,g.level)*g.position.x,M="".concat(u.panoId,".").concat(g.face,".").concat(g.level,".").concat(E,".").concat(I),k=L(L({key:"pano_tile.".concat(M)},Vt(u.imageOptions,["format","size","quality","sharpen","mappings"])),{size:x.scale>=1?void 0:b*g.size*x.scale,cut:[b*g.position.x,b*g.position.y,b*g.size,b*g.size]}),B=u.textureLoader.loadTexture(x[g.face],{imageURL:{transform:w,options:k},minFilter:d.LinearFilter,magFilter:d.LinearFilter,generateMipmaps:!1,fetcher:u.fetcher}).then(function(q){return q.body}),C=null;if(u.luminance){var T=u.luminance[g.face],O=T.match(/\/cube_(\d+)\//),P=O?Number(O[1]):!1;if(P!==!1){var F=x.size*x.scale/2,V=F*g.size,z=P<F?T.replace(/\/cube_(\d+)\//,"cube_"+F):T,j=L(L({},k),{size:P*g.size===V?void 0:V,cut:[P*g.position.x,P*g.position.y,P*g.size,P*g.size],key:"pano_tile_luminance.".concat(M)});C=u.textureLoader.loadTexture(z,{imageURL:{transform:u.imageOptions.transform,options:j},minFilter:d.LinearFilter,magFilter:d.LinearFilter,fetcher:u.fetcher}).then(function(q){return q.body}).catch(function(){return null})}}u.pedding++;var K=Promise.all([B,C]).then(function(q){return i.pedding--,q},function(q){return i.pedding--,Promise.reject(q)}),H=new rp(g,K);H.name="tiling:tile-".concat(M),H.activeTime=r,H.renderOrder=g.level,u.tileMeshes.set(g,H),u.object.needsRender=!0,u.object.add(H)},u=this,c=0,f=o;c<f.length;c++){var A=f[c];l(A)}var m=[];this.tileMeshes.forEach(function(g,x){s.has(x)||m.push(x),g.visible=x.level<=e});for(var h=m.sort(function(g,x){var b,w,E,I;return((w=(b=i.tileMeshes.get(x))===null||b===void 0?void 0:b.activeTime)!==null&&w!==void 0?w:0)-((I=(E=i.tileMeshes.get(g))===null||E===void 0?void 0:E.activeTime)!==null&&I!==void 0?I:0)}).slice(Math.max(0,Xh-s.size)),p=0,y=h;p<y.length;p++){var A=y[p],v=this.tileMeshes.get(A);v&&(v.dispose(),this.object.remove(v),this.object.needsRender=!0),this.tileMeshes.delete(A)}}},n.prototype.dispose=function(){this.cleanup(),this.resource=[],this.disposed=!0},n.DEFAULT_MAX_REQUEST=3,n}(),ap=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]),op=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]),Eo=new d.BufferGeometry;Eo.setAttribute("position",new d.BufferAttribute(ap,3));Eo.setIndex(new d.BufferAttribute(op,1));var sp=`
1454
1454
  #if defined(USE_PANO_VIDEO)
1455
1455
  varying vec3 worldPosition;
1456
1456
  #endif
@@ -1461,7 +1461,7 @@ void main() {
1461
1461
  #endif
1462
1462
  gl_Position = projectionMatrix * modelViewMatrix * transformed;
1463
1463
  }
1464
- `,Xh=`
1464
+ `,up=`
1465
1465
  uniform vec2 size;
1466
1466
  uniform mat4 matrix;
1467
1467
  uniform float alpha;
@@ -1485,7 +1485,7 @@ void main() {
1485
1485
  gl_FragColor = vec4(videoColor.rgb, match * blendAlpha * alpha);
1486
1486
  #endif
1487
1487
  }
1488
- `,Wh=function(){function n(){this.material=new d.ShaderMaterial({vertexShader:Jh,fragmentShader:Xh,uniforms:{size:new d.Uniform(null),matrix:new d.Uniform(null),alpha:new d.Uniform(null),map:new d.Uniform(null)},depthTest:!1,depthWrite:!1,defines:{USE_PANO_VIDEO:!1},blending:d.CustomBlending,blendSrc:d.SrcAlphaFactor,blendDst:d.OneMinusSrcAlphaFactor,blendSrcAlpha:d.OneFactor,blendDstAlpha:d.OneMinusSrcAlphaFactor}),this.object=new d.Mesh(mo,this.material),this.object.visible=!1,this.object.renderOrder=-1,this.object.frustumCulled=!1,this.object.name="pano-video",this.alphaMotion=new Me({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(D),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(D));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}(),_h=new d.Matrix4().makeRotationAxis(new d.Vector3(0,1,0),Math.PI),ks=new d.Vector3(-1,1,1),Fs=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 d.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}(),go=function(n){se(t,n);function t(e){var r=this,i,a,o,s,u=t.parseArgs(e);r=n.call(this,u)||this,r.TILED_CUBE_TEXTURE_LEVEL=2,r.mode="Panorama",r.tileLevel=0,r.initAnimationed=!1,r.maxAccessibleDistance=u.maxAccessibleDistance,r.panoTapTriggerRadius=u.panoTapTriggerRadius,r.panoCircleMeshCreator=u.panoCircleMeshCreator,r.tileLevelForFov=u.tileLevelForFov,r.tileMaxRequest=u.tileMaxRequest,r.luminanceAdaptiveEffectEnable=u.luminanceAdaptiveEffectEnable,r.luminanceAdaptiveEffect=new Bs(r.renderer,r.modelScene,r.camera,r.models),r.colorCubeRenderTargetPool=new Fs,r.luminanceCubeRenderTargetPool=new Fs;var l=r.models.getMaterial()||{},c=l.pano0,h=l.pano1;c&&(h==null?void 0:h.map)!==c.map&&(r.models.setMaterial({pano0:h}),c.map.dispose(),c.map instanceof Ne&&c.map.cubeRenderTarget&&r.colorCubeRenderTargetPool.push(c.map.cubeRenderTarget),c.luminanceMap&&(c.luminanceMap.dispose(),c.luminanceMap instanceof Ne&&c.luminanceMap.cubeRenderTarget&&r.luminanceCubeRenderTargetPool.push(c.luminanceMap.cubeRenderTarget)));for(var A=r.colorCubeRenderTargetPool.size;A<2;A++){var m=Math.max(1024*r.TILED_CUBE_TEXTURE_LEVEL,512),f=r.colorCubeRenderTargetPool.create();f.setSize(m,m),Ta(null,f,r.renderer),r.colorCubeRenderTargetPool.push(f)}r.panoMeshes={},r.updatePanoMeshes(),r.locationMotion=new Me({count:0,distance:r.camera.pose.distance}),r.modelAlphaMotion=new Me({modelAlpha:(a=(i=r.models.getMaterial())===null||i===void 0?void 0:i.modelAlpha)!==null&&a!==void 0?a:0}),r.perspToOrthoMotion=new Me({perspToOrtho:r.camera.perspToOrtho.x}),r.panoResources={},r.panoResources[r.locationMotion.keyframes[0].key=r.locationMotion.keyframes[1].key=wt()]={panoId:ze(r.currentPano),panoPicture:(s=(o=r.models.getMaterial())===null||o===void 0?void 0:o.pano1)!==null&&s!==void 0?s:null,position:r.camera.pose.offset.clone(),effect:"fly",fixCameraTransform:new d.Matrix4};var v=r.works.getResolvedObserver(r.currentPano);return r.textureLoader=new Zn,r.tiling=new Gh(v?it(v.work):wi,r.TILED_CUBE_TEXTURE_LEVEL+1,r.imageOptions),r.scene.add(r.tiling.object),r.panoVideo=new Wh,r.scene.add(r.panoVideo.object),r}return t.parseArgs=function(e){var r,i,a,o,s,u;if(e instanceof t)return e;var l=n.parseArgs.call(this,e);return F(F({},l),{maxAccessibleDistance:(r=e.maxAccessibleDistance)!==null&&r!==void 0?r:5,panoTapTriggerRadius:(i=e.panoTapTriggerRadius)!==null&&i!==void 0?i:.5,panoCircleMeshCreator:(a=e.panoCircleMeshCreator)!==null&&a!==void 0?a:function(c){return new fu},tileLevelForFov:(o=e.tileLevelForFov)!==null&&o!==void 0?o:function(c,h){var A=function(p){return p/Math.PI*180},m=function(p){return p/180*Math.PI},f=h.height/2/Math.tan(m(c/2)),v=h.width>h.height?c:A(Math.atan(Math.tan(m(c/2))*(h.width/h.height))*2);v*=.9;var y=f*(Math.tan(m(v/2))-Math.tan(m(v/2-1)));return y>80?5:y>60?4:y>30?3:y>18?2:y>12?1:0},tileMaxRequest:(s=e.tileMaxRequest)!==null&&s!==void 0?s:3,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 F(F({},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),a=0,o=i;a<o.length;a++){var s=o[a],u=this.panoMeshes[s];this.helper.remove(u),u.dispose(),delete this.panoMeshes[s]}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 c=(e=this.models.getMaterial())!==null&&e!==void 0?e:{},h=c.pano0,A=c.pano1,m=0,f=Object.keys(this.panoResources);m<f.length;m++){var v=f[m],y=this.panoResources[v];if(y.panoPicture){var p=y.panoPicture.map;p&&p!==(h==null?void 0:h.map)&&p!==(A==null?void 0:A.map)&&(p.dispose(),(r=y.panoPicture.luminanceMap)===null||r===void 0||r.dispose(),y.panoPicture=null)}delete this.panoResources[v]}this.luminanceAdaptiveEffect.dispose()},t.prototype.isReady=function(){return this.locationMotion.ended!==!0?!1:n.prototype.isReady.call(this)},t.prototype.isTileReady=function(){var e,r,i,a=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),o=((e=a.panoPicture)===null||e===void 0?void 0:e.map)instanceof Ne&&(i=(r=a.panoPicture)===null||r===void 0?void 0:r.map.tilePending)!==null&&i!==void 0?i:0,s=this.tiling.pedding;return this.initAnimationed&&o<=0&&s<=0},t.prototype.updateWork=function(e,r,i,a){var o=this;this.userAction=a,this.works=e;var s=t.initAnimationEndState(F(F({},this),{initial:{currentState:F(F({},this.currentPano),this.camera.pose),duration:i.duration,effect:i.effect,state:r,userAction:a}})),u={workCode:s.workCode,panoIndex:s.panoIndex},l=this.works.getWork(u.workCode);return this.tiling.setFetcher(l?it(l):wi),this.tiling.cleanup(),this.initAnimationed=!1,this.hideIntersectMesh(),this.updatePanoMeshes(),this.moveToPano(u,{effect:i.effect,duration:i.duration,longitude:r.longitude,latitude:r.latitude,fov:r.fov,moveEndCallback:function(){o.initAnimationed=!0},moveCancelCallback:function(){o.initAnimationed=!0}},a),!0},t.prototype.updateModel=function(e){this.models=e,this.updatePanoMeshes()},t.prototype.updateTime=function(e,r){var i=this,a,o,s,u,l,c,h,A,m,f;if(!this.destroyed){var v={},y={},p=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),g=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),x=!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),v.modelAlpha=this.modelAlphaMotion.value.modelAlpha),this.perspToOrthoMotion.ended===!1&&(this.perspToOrthoMotion.update(e),this.camera.perspToOrtho.setScalar(pe(this.perspToOrthoMotion.value.perspToOrtho,0,1))),this.locationMotion.ended===!1){this.locationMotion.update(e);var b=this.locationMotion.getKeyFrameSegment(e),w=b[0],E=b[1],M=this.panoResourceFromLocationMotionKeyframe(w),C=this.panoResourceFromLocationMotionKeyframe(E),I=new d.Vector3().copy(M.position),S=new d.Vector3().copy(C.position),P=this.locationMotion.value.count-E.value.count+1;v.progress=P,C.panoPicture&&(P<1?M.panoPicture&&(v.pano0=M.panoPicture):v.pano0=C.panoPicture,v.pano1=C.panoPicture),C.effect==="montage"?v.transition="BLACK":C.effect==="spread"?v.transition="SPREAD":v.transition="FADE",(C.effect==="zoomin"||C.effect==="zoomout")&&(v.progress=Math.pow(P,3)),P<1&&C.effect!=="fly"&&(v.pano0&&M.panoPicture&&(v.pano0={map:v.pano0.map,zoom:v.pano0.zoom,luminanceMap:v.pano0.luminanceMap,matrix:M.panoPicture.matrix.clone().premultiply(M.fixCameraTransform).setPosition(C.position)}),I.copy(S),x=!0),y.distance=this.locationMotion.value.distance,y.offset=new d.Vector3(I.x+(S.x-I.x)*P,I.y+(S.y-I.y)*P,I.z+(S.z-I.z)*P);for(var B=[],L=[],k=0,O=this.locationMotion.keyframes;k<O.length;k++){var z=O[k],N=z.key,X=z.progress;N!==void 0&&(B.push(N),X>this.locationMotion.progress&&L.push(N))}for(var G=0,Q=Object.keys(this.panoResources);G<Q.length;G++){var H=Q[G];if(!(L.indexOf(H)>=0)){var K=this.panoResources[H];if(K.panoPicture){var j=K.panoPicture.map,J=K.panoPicture.luminanceMap;if(j){if(j===((a=v.pano0)===null||a===void 0?void 0:a.map)||j===((o=v.pano1)===null||o===void 0?void 0:o.map))continue;j instanceof Ne&&j.cubeRenderTarget&&this.colorCubeRenderTargetPool.push(j.cubeRenderTarget),j.dispose(),J&&(J instanceof Ne&&J.cubeRenderTarget&&this.luminanceCubeRenderTargetPool.push(J.cubeRenderTarget),J.dispose()),K.panoPicture=null}}B.indexOf(H)>=0||delete this.panoResources[H]}}this.currentPano=pt(C.panoId),this.emit("pano.moving",W("pano.moving",{userAction:this.userAction,prevPano:pt(p.panoId),state:F(F(F(F({},pt(g.panoId)),{mode:this.mode}),We(this.camera.pose)),y),options:{},progress:this.locationMotion.progress,error:null}))}Qt(v)===!1&&(!((s=v.pano0)===null||s===void 0)&&s.map&&v.pano0.map instanceof Ne&&!v.pano0.map.cubeRenderTarget&&(v.pano0.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),!((u=v.pano0)===null||u===void 0)&&u.luminanceMap&&v.pano0.luminanceMap instanceof Ne&&!v.pano0.luminanceMap.cubeRenderTarget&&(v.pano0.luminanceMap.cubeRenderTarget=this.luminanceCubeRenderTargetPool.pop()),!((l=v.pano1)===null||l===void 0)&&l.map&&v.pano1.map instanceof Ne&&!v.pano1.map.cubeRenderTarget&&(v.pano1.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),!((c=v.pano1)===null||c===void 0)&&c.luminanceMap&&v.pano1.luminanceMap instanceof Ne&&!v.pano1.luminanceMap.cubeRenderTarget&&(v.pano1.luminanceMap.cubeRenderTarget=this.luminanceCubeRenderTargetPool.pop()),this.models.setMaterial(v)),Qt(y)===!1&&this.setCamera(y);var Z=this.works.getResolvedObserver(this.currentPano),Y=this.locationMotion.ended?this.getForwardObserverOrNot():null;if(this.camera.pose.distance>.1||x)for(var fe=0,$=Object.keys(this.panoMeshes);fe<$.length;fe++){var ae=$[fe],ie=this.panoMeshes[ae];ie.setOpacity(0),ie.setCurrent(!1),ie.updateTime&&ie.updateTime(e,r),ie.visible=!1}else if(Z){var ce=lr(Z.visibleIds,function(ye){var ge=i.works.getResolvedObserver(ye);return ge?Z.standingPosition.distanceTo(ge.standingPosition):1/0},!0),ne=ce[1];ne=pe(ne,2.5,1/0);for(var ve=Z.visibleIds.concat(ze(this.currentPano)),ue=this.camera.getDirection(new d.Vector3),he=0,Se=Object.keys(this.panoMeshes);he<Se.length;he++){var ae=Se[he],ie=this.panoMeshes[ae],Ce=this.works.getResolvedObserver(ae);if(ve.indexOf(ae)===-1)ie.setCurrent(!1),ie.setOpacity(0);else if(!Ce)ie.setCurrent(!1),ie.setOpacity(0);else if(!Ce.loadable&&!Ce.active)ie.setCurrent(!1),ie.setOpacity(0);else{var Pe=ie.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);ie.setCurrent(!ie.loading&&ie.progress===0&&Y!==null&&Y.panoId===ae),ie.setOpacity(Pe<.01?0:pe(ne/Pe*1.2,.4,.85));var ee=this.camera.position.clone().setY(ie.position.y),re=new d.Vector3().copy(ie.position).sub(ee).normalize();if(ae===ze(this.currentPano)){var U=pe((.5-ee.distanceTo(ie.position))/.5,0,1);re.multiplyScalar(1-U).add(ue.clone().multiplyScalar(U))}re.length()>0&&ie.quaternion.setFromEuler(new d.Euler(0,Math.atan2(re.x,re.z),0))}ie.updateTime&&ie.updateTime(e,r)}}var Ve=this.tileLevel=function(){if(i.tileLevelForFov===!1)return 0;var ye=i.renderer.getDrawingBufferSize(new d.Vector2);ye.width*=i.scissor.width,ye.height*=i.scissor.height;var ge=g.panoId,me=i.works.getResolvedObserver(ge),Ae=i.imageOptions.size;if(typeof Ae=="undefined"&&me){var Qe=me.images.up.match(/\/cube_(\d+)\//);Qe&&(Ae=Number(Qe[1]))}typeof Ae=="undefined"&&(Ae=2048);var Ke=0;Ae>=1024&&(Ke=1),Ae>=2048&&(Ke=2),Ae>=4096&&(Ke=3),Ae>=8192&&(Ke=4);var rt=i.tileLevelForFov(i.camera.fov,ye);return rt>Ke?rt:0}(),ke=function(){var ye=i.camera.quaternion.clone(),ge=i.works.getResolvedObserver(g.panoId),me=ge!=null?ge:Z;me&&ye.premultiply(me.quaternion.clone().inverse());var Ae=new d.Matrix4().makeRotationFromQuaternion(ye),Qe=new d.Matrix4().getInverse(Ae),Ke=new d.Frustum().setFromProjectionMatrix(new d.Matrix4().multiplyMatrices(i.camera.projectionMatrix,Qe));return Ke}();g.panoId===ze(this.currentPano)&&(((h=g.panoPicture)===null||h===void 0?void 0:h.map)instanceof Ne&&(g.panoPicture.map.maxRequest=this.tileMaxRequest,g.panoPicture.map.update(ke,Ve),g.panoPicture.map.needsRender===!0&&(g.panoPicture.map.needsRender=!1,this.needsRender=!0,this.modelSceneNeedsRender=!0)),((A=g.panoPicture)===null||A===void 0?void 0:A.luminanceMap)instanceof Ne&&(g.panoPicture.luminanceMap.maxRequest=this.tileMaxRequest,g.panoPicture.luminanceMap.update(ke,Ve),g.panoPicture.luminanceMap.needsRender===!0&&(g.panoPicture.luminanceMap.needsRender=!1,this.needsRender=!0,this.modelSceneNeedsRender=!0)));{var Te=this.tiling.object.visible;if(this.initAnimationed){var Ge=g.panoId,be=this.works.getResolvedObserver(Ge);be?Yn(this.camera.position,be.position)&&this.locationMotion.ended?(this.tiling.object.visible=!0,this.tiling.panoId!==Ge&&this.tiling.cleanup(),this.tiling.panoId=Ge,this.tiling.setResource((f=(m=be.images)===null||m===void 0?void 0:m.tiles)!==null&&f!==void 0?f:[],this.enableIOSEDR&&be.images.luminance?be.images.luminance:null),this.tiling.setFetcher(it(be.work)),this.tiling.setRotation(be.quaternion),this.tiling.setPosition(be.position),this.tiling.maxRequest=this.tileMaxRequest,Ve>this.TILED_CUBE_TEXTURE_LEVEL?this.tiling.update(ke,Ve,e):this.tiling.update(ke,0,e)):this.tiling.object.visible=!1:this.tiling.object.visible=!1}else this.tiling.object.visible=!1;Te!==this.tiling.object.visible&&(this.tiling.object.needsRender=!0,this.modelSceneNeedsRender=!0)}this.panoVideo.object.position.copy(this.camera.position),this.panoVideo.updateTime(e),this.intersectMesh.scale.setScalar(pe(this.cameraMotion.value.fov/45,0,1))}},t.prototype.render=function(e,r){var i=this.renderer.getRenderTarget(),a=this.works.getResolvedObserver(this.currentPano);a&&a.video&&(this.needsRender=!0,this.modelSceneNeedsRender=!0),this.updateScreenBuffer(r),e&&(r==="luminance"?(this.luminanceAdaptiveEffect.enable=this.luminanceAdaptiveEffectEnable,this.luminanceAdaptiveEffect.render(this.screenBuffers)):(this.renderer.setRenderTarget(this.modelRenderTarget),this.renderer.render(this.modelScene,this.camera))),this.depthCopyPass.render(this.modelRenderTarget.depthTexture,i),this.renderer.autoClearDepth=!1,this.renderer.autoClearColor=!0,this.copyPass.render(this.modelRenderTarget,i),this.renderer.setRenderTarget(i),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,this.camera),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0},t.prototype.postProcessing=function(e,r){if(!this.destroyed&&r==="luminance")return this.luminanceAdaptiveEffect||(this.luminanceAdaptiveEffect=new Bs(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(Ee())[1],r=this.locationMotion.getKeyFrameSegment(Ee())[1],i=this.panoResourceFromLocationMotionKeyframe(r),a=this.works.getResolvedObserver(i.panoId);return{workCode:a?a.work.workCode:this.currentPano.workCode,panoIndex:a?a.panoIndex:this.currentPano.panoIndex,mode:this.mode,longitude:e.value.longitude,latitude:e.value.latitude,fov:e.value.fov,offset:a?a.position.clone():this.camera.position.clone(),distance:this.locationMotion.value.distance}},t.prototype.moveToPano=function(e,r,i){var a=this,o,s,u,l,c=(o=r.effect)!==null&&o!==void 0?o:"fly";this.userAction=i,this.stopMomentumMovement();var h=this.works.getResolvedObserver(e);if(!h)throw new Error("Invalid PanoId ".concat(JSON.stringify(e)));var A=jn(h.images.up),m=this.imageOptions.size;typeof m=="undefined"&&h&&A&&(m=Number(A)),typeof m=="undefined"&&(m=2048);var f=this.imageOptions.transform,v=F({key:"pano.".concat(h.panoId)},Vt(this.imageOptions,["format","size","quality","sharpen","mappings"])),y=h.images,p=(u=(s=h.images.tiles)===null||s===void 0?void 0:s.filter(function(O){return O.size>m}))!==null&&u!==void 0?u:null,g=f,x={key:"pano_luminance.".concat(h.panoId),size:v.size?v.size/2:void 0},b=this.enableIOSEDR&&h.images.luminance?h.images.luminance:null,w=function(){if(!h.images.tiles||!b)return null;var O=jn(b.up);return O?p==null?void 0:p.map(function(z){var N=z.size*z.scale/2;return O<N?{level:z.level,size:N,scale:1,back:Ft(b.back,N),front:Ft(b.front,N),left:Ft(b.left,N),right:Ft(b.right,N),up:Ft(b.up,N),down:Ft(b.down,N)}:{level:z.level,size:O,scale:N/O,back:b.back,front:b.front,left:b.left,right:b.right,up:b.up,down:b.down}}):null}(),E="pano:"+Mn([y,v,f]);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===E)return;var M=this.pendingTextureTask.panoId;(l=this.panoMeshes[M])===null||l===void 0||l.setProgress(0),this.emit("pano.texture.abort",W("pano.texture.abort",{error:null,progress:0,meta:null,pano:h.pano}))}var C="move-to-pano-"+h.panoId;this.pending.add(C);var I=this.models.getMaterial()||{},S=I.pano0,P=I.pano1,B;if(S&&S.map.name===E&&S.luminanceMap!==null===this.enableIOSEDR?B=S:(P==null?void 0:P.map.name)===E&&P.luminanceMap!==null===this.enableIOSEDR&&(B=P),B){var L={panoId:h.panoId,effect:c,panoPicture:{zoom:1,map:B.map,luminanceMap:B.luminanceMap,matrix:new d.Matrix4().compose(h.position,h.quaternion,ks)},position:h.position.clone(),fixCameraTransform:new d.Matrix4};vt.shared.add(function(){a.pending.delete(C),a.doMoveToPano(h.pano,L,r)},!0,1);return}this.pendingTextureTask={panoId:h.panoId,hash:E,onLoad:function(O,z){var N;if(a.pending.delete(C),a.destroyed)O.body.dispose();else{O.body.name=E;var X={panoId:h.panoId,effect:c,panoPicture:{zoom:1,map:O.body,luminanceMap:(N=z==null?void 0:z.body)!==null&&N!==void 0?N:null,matrix:new d.Matrix4().compose(h.position,h.quaternion,ks)},position:h.position.clone(),fixCameraTransform:new d.Matrix4};a.doMoveToPano(h.pano,X,r)}},onError:function(O){a.pending.delete(C);var z=F(F(F({},h.pano),{mode:a.mode}),We(a.camera.pose));a.emit("pano.error",W("pano.error",{error:O,userAction:a.userAction,options:r,prevPano:a.currentPano,progress:0,state:z})),a.emit("pano.cancel",W("pano.cancel",{error:O,userAction:a.userAction,options:r,prevPano:a.currentPano,progress:0,state:z})),a.emit("error",O),r.moveCancelCallback&&r.moveCancelCallback()}};var k=this.panoMeshes[h.panoId];k&&k.tap&&k.tap(),Promise.all([this.tileLevelForFov&&p&&p.length?this.textureLoader.loadTiledCubeTexture(y,p,{tileMaxLevel:this.TILED_CUBE_TEXTURE_LEVEL,imageURL:{transform:f,options:v},minFilter:d.LinearFilter,magFilter:d.LinearFilter,generateMipmaps:!1,format:d.RGBAFormat,viaAjax:!0,fetcher:it(h.work)},void 0,void 0,function(O){var z,N;a.emit("pano.texture.progress",W("pano.texture.progress",{error:null,progress:O,meta:null,pano:h.pano})),((z=a.pendingTextureTask)===null||z===void 0?void 0:z.hash)===E&&((N=a.panoMeshes[h.panoId])===null||N===void 0||N.setProgress(O))},this.renderer):this.textureLoader.loadCubeTexture(y,{imageURL:{transform:f,options:v},format:d.RGBAFormat,viaAjax:!0,fetcher:it(h.work)},void 0,void 0,function(O){var z,N;a.emit("pano.texture.progress",W("pano.texture.progress",{error:null,progress:O,meta:null,pano:h.pano})),((z=a.pendingTextureTask)===null||z===void 0?void 0:z.hash)===E&&((N=a.panoMeshes[h.panoId])===null||N===void 0||N.setProgress(O))},this.renderer),b?this.tileLevelForFov&&w&&w.length?this.textureLoader.loadTiledCubeTexture(b,w,{tileMaxLevel:this.TILED_CUBE_TEXTURE_LEVEL,imageURL:{transform:g,options:x},minFilter:d.LinearFilter,magFilter:d.LinearFilter,generateMipmaps:!1,fetcher:it(h.work)},void 0,void 0,void 0,this.renderer).catch(function(){return null}):this.textureLoader.loadCubeTexture(b,{imageURL:{transform:g,options:x},fetcher:it(h.work)},void 0,void 0,void 0,this.renderer).catch(function(){return null}):Promise.resolve(null)]).then(function(O){var z,N,X=O[0],G=O[1];((z=a.pendingTextureTask)===null||z===void 0?void 0:z.hash)===E?(a.pendingTextureTask.onLoad(X,G),(N=a.panoMeshes[h.panoId])===null||N===void 0||N.setProgress(0),delete a.pendingTextureTask,a.emit("pano.texture.success",W("pano.texture.success",{error:null,progress:1,meta:X.meta,pano:h.pano}))):(X.body.dispose(),G==null||G.body.dispose())}).catch(function(O){var z,N;((z=a.pendingTextureTask)===null||z===void 0?void 0:z.hash)===E&&(a.pendingTextureTask.onError(O),(N=a.panoMeshes[h.panoId])===null||N===void 0||N.setProgress(0),delete a.pendingTextureTask,a.emit("pano.texture.error",W("pano.texture.error",{error:O,progress:0,meta:null,pano:h.pano})),a.emit("error",O))}),this.emit("pano.texture.load",W("pano.texture.load",{error:null,progress:0,meta:null,pano:h.pano}))},t.prototype.initAnimation=function(){var e=this;return this.destroyed?Promise.resolve():new Promise(function(r){var i=e.initial,a=i.duration,o=i.effect,s=i.userAction;e.userAction=s;var u=t.initAnimationEndState(e),l={workCode:u.workCode,panoIndex:u.panoIndex},c={modelAlpha:0},h={perspToOrtho:0},A=!1;e.moveToPano(l,{longitude:u.longitude,latitude:u.latitude,fov:u.fov,effect:o,duration:a,moveStartCallback:function(m){A=!0,e.perspToOrthoMotion.set(h,a).catch(D),e.modelAlphaMotion.setKeyframes([{progress:0,value:F({},e.modelAlphaMotion.value)},{progress:.6,value:F({},e.modelAlphaMotion.value)},{progress:1,value:c}],a).catch(D),e.emit("initAnimation.start",W("initAnimation.start",{state:m,userAction:e.userAction}))},moveEndCallback:function(m){e.emit("initAnimation.end",W("initAnimation.end",{state:m,userAction:e.userAction})),e.initAnimationed=!0,r()},moveCancelCallback:function(){var m=F(F(F({},l),{mode:e.mode}),We(e.camera.pose));A===!1&&e.emit("initAnimation.start",W("initAnimation.start",{state:m,userAction:e.userAction})),e.emit("initAnimation.end",W("initAnimation.end",{state:m,userAction:e.userAction})),e.initAnimationed=!0,r()}},s)})},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 a=this.panoResourceFromLocationMotionKeyframe(e[i-1]).position,o=this.panoResourceFromLocationMotionKeyframe(e[i]).position,s=a.distanceTo(o)*(e[i].value.count-e[i-1].value.count);r+=s}return r},t.prototype.updatePanoMeshes=function(){for(var e=this,r={},i=Object.keys(this.panoMeshes),a=0,o=i;a<o.length;a++){var s=o[a],u=this.panoMeshes[s];r[s]=u,delete this.panoMeshes[s]}for(var l=1,c={},h=function(E){var M=lr(E.accessibleIds,function(I){var S=e.works.getResolvedObserver(I);if(!S)return 1/0;var P=S.standingPosition.distanceTo(E.standingPosition);return pe(P,1,1/0)},!0),C=M[1];c[E.panoId]===void 0&&(c[E.panoId]=C)},A=0,m=this.works.resolvedObservers;A<m.length;A++){var f=m[A];h(f)}var v=Object.keys(c).map(function(E){return c[E]});if(v.length){var y=v.reduce(function(E,M){return E+M},0)/v.length;l=pe(y*.6,1,3)}for(var p=0,g=this.works.resolvedObservers;p<g.length;p++){var f=g[p],u=void 0;r[f.panoId]?(u=r[f.panoId],u.loading===!0&&f.loadable===!1&&u.setLoading(!1),delete r[f.panoId]):(u=this.panoCircleMeshCreator(f.pano),u.name="PanoCircleMesh_"+f.panoId,this.helper.add(u)),u.scale.set(l,1,l),u.position.copy(f.standingPosition),this.panoMeshes[f.panoId]=u}for(var x=0,b=Object.keys(r);x<b.length;x++){var w=b[x];this.helper.remove(r[w]),r[w].dispose(),delete r[w]}},t.prototype.doMoveToPano=function(e,r,i){var a=this,o,s,u,l,c,h,A,m,f,v,y;i===void 0&&(i={});var p=Ee(),g=wt();this.tiling.cleanup(),this.panoResources[g]=r;var x=1,b,w,E;if(this.locationMotion.ended){var M=this.locationMotion.getKeyFrameSegment(p);M[0];var C=M[1],I=this.locationMotion.value,S=((o=this.panoResourceFromLocationMotionKeyframe(C))!==null&&o!==void 0?o:this.camera).position,P=r.position;b=Math.max(S.distanceTo(P),x),w=[{key:C.key,progress:0,value:F(F({},I),{count:0})},{key:g,progress:1,value:{distance:0,count:1}}],E=0}else{var B=this.locationMotion.getKeyFrameSegment(p),L=B[0],C=B[1],I=this.locationMotion.value,k=this.panoResourceFromLocationMotionKeyframe(L).position,S=this.panoResourceFromLocationMotionKeyframe(C).position,P=r.position,O=C.value.count-I.count,z=Math.max(k.distanceTo(S),x)*O,N=Math.max(S.distanceTo(P),x);b=z+N,w=[{key:L.key,progress:0,value:F({},I)},{key:C.key,progress:z/b,value:C.value},{key:g,progress:1,value:{count:C.value.count+1,distance:0}}];var X=this.locationMotionKeyframesLength(this.locationMotion.keyframes),G=this.locationMotionKeyframesLength(w);X===0||X===0?E=0:E=this.locationMotion.getProgressVelocity(p)*X/G}var Q=r.effect==="instant"?0:this.calculateMovingDuration(i.duration,r.effect==="fly"?b:0),H={longitude:i.longitude,latitude:i.latitude,fov:i.fov},K=F(F({},e),{mode:this.mode,longitude:(s=H.longitude)!==null&&s!==void 0?s:this.camera.pose.longitude,latitude:(u=H.latitude)!==null&&u!==void 0?u:this.camera.pose.latitude,fov:(l=H.fov)!==null&&l!==void 0?l:this.camera.pose.fov,offset:r.position.clone(),distance:this.camera.pose.distance}),j=this.currentPano;if(this.emit("pano.moveTo",W("pano.moveTo",{options:i,prevPano:j,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=D,this.videoTexture.needsUpdate=!0),this.panoVideo.setMaterial(null),r.effect==="fly")this.cameraMotion.set(H,Q).catch(D);else{var J=Ot({longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude}),Z=Ot({longitude:(c=H.longitude)!==null&&c!==void 0?c:this.cameraMotion.value.longitude,latitude:(h=H.latitude)!==null&&h!==void 0?h:this.cameraMotion.value.latitude}),Y=new d.Object3D;Y.lookAt(J);var fe=new d.Matrix4().makeRotationFromQuaternion(Y.quaternion);Y.lookAt(Z);var $=new d.Matrix4().makeRotationFromQuaternion(Y.quaternion),ae=new d.Matrix4().getInverse(fe).premultiply($),ie=this.cameraMotion.value.fov,ce=(A=H.fov)!==null&&A!==void 0?A:this.cameraMotion.value.fov,ne=1;r.effect==="zoomin"?ne=1.5:r.effect==="zoomout"&&(ne=.4);for(var ve=pe(ce*ne,1,170),ue=0;ue<w.length-1;ue++){var he=w[ue].key;if(he){var Se=this.panoResources[he];Se&&(Se.fixCameraTransform.copy(ae),Se.panoPicture&&(Se.panoPicture.zoom=Math.tan(ie/2/180*Math.PI)/Math.tan(ve/2/180*Math.PI)))}}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=H.longitude)!==null&&m!==void 0?m:this.cameraMotion.value.longitude,latitude:(f=H.latitude)!==null&&f!==void 0?f:this.cameraMotion.value.latitude,fov:ve}},{progress:1,value:{longitude:(v=H.longitude)!==null&&v!==void 0?v:this.cameraMotion.value.longitude,latitude:(y=H.latitude)!==null&&y!==void 0?y:this.cameraMotion.value.latitude,fov:ce}}],Q).catch(D)}var Ce=this.locationMotion.setKeyframes(w,Q,E);Ce.then(function(){for(var Pe,ee,re=0,U=a.models;re<U.length;re++){var Ve=U[re];Ve.show()}var ke=F(F({},e),{mode:a.mode,longitude:a.camera.pose.longitude,latitude:a.camera.pose.latitude,fov:a.camera.pose.fov,offset:a.camera.pose.offset.clone(),distance:a.camera.pose.distance});a.emit("pano.arrived",W("pano.arrived",{options:i,prevPano:j,progress:1,state:ke,userAction:a.userAction,error:null})),i.moveEndCallback&&i.moveEndCallback(ke);var Te=a.works.getResolvedObserver(e);if(Te&&Te.video&&a.videoTexture&&a.videoTexture.image instanceof HTMLVideoElement){var Ge=_h.clone().multiply((ee=(Pe=a.models.getMaterial().pano1)===null||Pe===void 0?void 0:Pe.matrix)!==null&&ee!==void 0?ee:new d.Matrix4).multiply(Te.video.matrix),be={map:a.videoTexture,size:Te.video.size,matrix:Ge,alpha:1},ye=wt(),ge=a.videoTexture.image;ge.setAttribute("uuid",ye),yu().then(function(me){me&&Te.video&&ge.getAttribute("uuid")===ye&&(ge.oncanplay=function(){ge.oncanplay=D,ge.play()},ge.ontimeupdate=function(){ge.currentTime>.5&&(ge.ontimeupdate=D,a.panoVideo.setMaterial(be))},ge.src=Te.video.source)}).catch(function(){ge.removeAttribute("uuid")})}},function(){a.emit("pano.cancel",W("pano.cancel",{options:i,prevPano:j,progress:0,state:K,userAction:a.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 a=e!=null?e:new d.Raycaster(this.camera.position.clone(),this.camera.getDirection(new d.Vector3));a.params.Points={threshold:.1};var o=i.standingPosition.clone();if(i.position.distanceTo(a.ray.origin)>1){var s=this.models.intersectRaycaster(new d.Raycaster(a.ray.origin,new d.Vector3(0,-1,0)))[0];s&&s.distance<=2?o.copy(s.point):o.copy(a.ray.origin).add(new d.Vector3(0,-1.5,0))}var u=this.models.intersectRaycaster(a)[0],l=u?u.point:a.ray.origin.clone().add(a.ray.direction.clone().normalize().multiplyScalar(3)),c=l.clone().sub(o).normalize();if(c.length()===0)return null;for(var h=i.accessibleIds.filter(function(w){if(w===ze(r.currentPano))return!1;var E=r.works.getResolvedObserver(w);if(!E)return!1;var M=E.standingPosition.clone().project(r.camera);return Math.abs(M.z)>1||Math.abs(M.x)>1||Math.abs(M.y)>1?!1:E.loadable||E.active}),A=h.slice().sort(function(w,E){var M=r.works.getResolvedObserver(w).standingPosition.clone().distanceTo(o),C=r.works.getResolvedObserver(E).standingPosition.clone().distanceTo(o);return M-C}),m=0,f=[Math.PI/8,Math.PI/6,Math.PI/4,Math.PI/3];m<f.length;m++)for(var v=f[m],y=0,p=A;y<p.length;y++){var g=p[y],x=this.works.getResolvedObserver(g);if(x){var b=x.standingPosition.clone().sub(o);if(b&&b.length()!==0&&c.angleTo(b)<v)return x}}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 a=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]);if(a.panoId!==ze(this.currentPano))return}var o=e.center.raycaster,s=this.camera.getDirection(new d.Vector3).setY(0),u=null,l=this.works.getResolvedObserver(this.currentPano);if(l){var c=l.accessibleIds.filter(function(G){if(G===ze(r.currentPano))return!1;var Q=r.works.getResolvedObserver(G);return!Q||Q.position.distanceTo(r.camera.position)>r.maxAccessibleDistance?!1:Q.loadable||Q.active}),h=this.models.intersectRaycaster(o)[0];if(h){var A=lr(c,function(G){var Q=r.works.getResolvedObserver(G);if(!Q)return 1/0;var H=Q.standingPosition.clone();return H.distanceTo(h.point)},!0),m=A[0],f=A[1];m&&f<this.panoTapTriggerRadius&&(u=(i=this.works.getResolvedObserver(m))!==null&&i!==void 0?i:null)}u||(u=this.getForwardObserverOrNot(o));for(var v=0,y=this.locationMotion.keyframes;v<y.length;v++){var p=y[v],g=this.panoResourceFromLocationMotionKeyframe(p);if(!(p.progress<this.locationMotion.progress)&&u&&g.panoId===u.panoId){u=null;break}}if(!u)this.emit("gesture.tap",e),e.defaultPrevented||this.locationMotion.ended===!0&&this.cameraBounce();else{for(var x={},b=Math.PI/6,w=Math.PI/12,E=u.position.clone().setY(0).sub(l.position.clone().setY(0)).normalize(),M=[],C=[],I=[],S=0,P=u.accessibleIds;S<P.length;S++){var m=P[S],B=pt(m);if(!(Zt(B,this.currentPano)||Zt(B,u.pano))){var L=this.works.getResolvedObserver(m);if(L){var k=L.position.clone().sub(u.position).setY(0);E.angleTo(k)<b&&I.push(k)}}}var O=I.length>0?I:bt(bt([],M,!0),C,!0),z=O.slice().sort(function(G,Q){return G.angleTo(E)-Q.angleTo(E)})[0];z&&z.angleTo(s)>w&&(x.longitude=Math.atan2(-z.x,-z.z)),this.cameraMotion.value.latitude<-Math.PI/4&&(x.latitude=pe(0,this.minLatitude,this.maxLatitude));var N=F({},e.state);if(N.workCode=u.pano.workCode,N.panoIndex=u.pano.panoIndex,x.longitude!==void 0&&(N.longitude=x.longitude),x.latitude!==void 0&&(N.latitude=x.latitude),x.fov!==void 0&&(N.fov=x.fov),N.distance=0,N.offset=u.position.clone(),e.state=N,this.emit("gesture.tap",e),!e.defaultPrevented){if(this.emit("pano.select",W("pano.select",{prevPano:this.currentPano,state:N,userAction:e.userAction,options:x,progress:0,error:null})),u&&!u.active){var X=u.panoId;this.panoMeshes[X]&&(this.panoMeshes[X].setDisabled(!1),this.panoMeshes[X].setLoading(!0))}u&&u.active&&this.emit("pano.request",W("pano.request",{userAction:e.userAction,prevPano:this.currentPano,progress:0,state:N,options:x,error:null}))}}}}},t}(gu),gr=Math.PI/180,xn=180/Math.PI,bu=.001,xu=1,Kn=function(){var n=typeof navigator!="undefined"&&/iPad|iPhone|iPod/.test(navigator.platform);return function(){return n}}(),Zh=function(){var n=typeof navigator!="undefined"&&/^((?!chrome|android).)*safari/i.test(navigator.userAgent);return function(){return n}}(),Yh=function(){var n=typeof navigator!="undefined"&&navigator.userAgent.indexOf("Firefox")!==-1&&navigator.userAgent.indexOf("Android")!==-1;return function(){return n}}(),wu=function(){var n=typeof navigator!="undefined"?navigator.userAgent.match(/.*Chrome\/([0-9]+)/):null,t=n?parseInt(n[1],10):null;return function(){return t}}(),$h=function(){var n=!1;if(wu()===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}}(),ep=function(){var n=Kn()&&Zh()&&typeof navigator!="undefined"&&navigator.userAgent.indexOf("13_4")!==-1;return function(){return n}}(),Eu=function(){var n=typeof navigator!="undefined"&&navigator.userAgent.indexOf("R7 Build")!==-1;return function(){return n}}();function Ls(){var n=typeof window!="undefined"&&(window.orientation==90||window.orientation==-90);return Eu()?!n:n}function tp(n){return!(isNaN(n)||n<=bu||n>xu)}function rp(n){if(n.w>1)return 0;var t=2*Math.acos(n.w);return t}var Os=function(){var n={};return function(t,e){n[t]===void 0&&(console.warn("cardboard: "+e),n[t]=!0)}}();function Vs(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 np(){if(typeof window=="undefined"||typeof document=="undefined")return!1;var n=window.self!==window.top,t=Vs(document.referrer),e=Vs(window.location.href);return n&&t!==e}var Ns=function(){function n(r,i,a){var o=i?i[0]:0,s=i?i[1]:0,u=i?i[2]:0,l=i?i[3]:1,c=o+o,h=s+s,A=u+u,m=o*c,f=o*h,v=o*A,y=s*h,p=s*A,g=u*A,x=l*c,b=l*h,w=l*A;return r[0]=1-(y+g),r[1]=f+w,r[2]=v-b,r[3]=0,r[4]=f-w,r[5]=1-(m+g),r[6]=p+x,r[7]=0,r[8]=v+b,r[9]=p-x,r[10]=1-(m+y),r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function t(r,i,a){var o=a[0],s=a[1],u=a[2],l,c,h,A,m,f,v,y,p,g,x,b;return i===r?(r[12]=i[0]*o+i[4]*s+i[8]*u+i[12],r[13]=i[1]*o+i[5]*s+i[9]*u+i[13],r[14]=i[2]*o+i[6]*s+i[10]*u+i[14],r[15]=i[3]*o+i[7]*s+i[11]*u+i[15]):(l=i[0],c=i[1],h=i[2],A=i[3],m=i[4],f=i[5],v=i[6],y=i[7],p=i[8],g=i[9],x=i[10],b=i[11],r[0]=l,r[1]=c,r[2]=h,r[3]=A,r[4]=m,r[5]=f,r[6]=v,r[7]=y,r[8]=p,r[9]=g,r[10]=x,r[11]=b,r[12]=l*o+m*s+p*u+i[12],r[13]=c*o+f*s+g*u+i[13],r[14]=h*o+v*s+x*u+i[14],r[15]=A*o+y*s+b*u+i[15]),r}function e(r,i){var a=i[0],o=i[1],s=i[2],u=i[3],l=i[4],c=i[5],h=i[6],A=i[7],m=i[8],f=i[9],v=i[10],y=i[11],p=i[12],g=i[13],x=i[14],b=i[15],w=a*c-o*l,E=a*h-s*l,M=a*A-u*l,C=o*h-s*c,I=o*A-u*c,S=s*A-u*h,P=m*g-f*p,B=m*x-v*p,L=m*b-y*p,k=f*x-v*g,O=f*b-y*g,z=v*b-y*x,N=w*z-E*O+M*k+C*L-I*B+S*P;return N?(N=1/N,r[0]=(c*z-h*O+A*k)*N,r[1]=(s*O-o*z-u*k)*N,r[2]=(g*S-x*I+b*C)*N,r[3]=(v*I-f*S-y*C)*N,r[4]=(h*L-l*z-A*B)*N,r[5]=(a*z-s*L+u*B)*N,r[6]=(x*M-p*S-b*E)*N,r[7]=(m*S-v*M+y*E)*N,r[8]=(l*O-c*L+A*P)*N,r[9]=(o*L-a*O-u*P)*N,r[10]=(p*I-g*M+b*w)*N,r[11]=(f*M-m*I-y*w)*N,r[12]=(c*B-l*k-h*P)*N,r[13]=(a*k-o*B+s*P)*N,r[14]=(g*E-p*C-x*w)*N,r[15]=(m*C-f*E+v*w)*N,r):null}return function(r,i,a){n(r,i),a&&t(r,r,a),e(r,r)}}(),va=function(){function n(t,e){t===void 0&&(t=new d.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}(),ip=function(){function n(t,e){this.kFilter=t,this.isDebug=e,this.currentAccelMeasurement=new va,this.currentGyroMeasurement=new va,this.previousGyroMeasurement=new va,Kn()?this.filterQ=new d.Quaternion(-1,0,0,1):this.filterQ=new d.Quaternion(1,0,0,1),this.previousFilterQ=new d.Quaternion,this.previousFilterQ.copy(this.filterQ),this.accelQ=new d.Quaternion,this.isOrientationInitialized=!1,this.estimatedGravity=new d.Vector3,this.measuredGravity=new d.Vector3,this.gyroIntegralQ=new d.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;tp(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 d.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 d.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)",xn*rp(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 a=new d.Quaternion;a.copy(this.filterQ),a.multiply(i),this.filterQ.slerp(a,1-this.kFilter),this.previousFilterQ.copy(this.filterQ)},n.prototype.accelToQuaternion_=function(t){var e=new d.Vector3;e.copy(t),e.normalize();var r=new d.Quaternion;return r.setFromUnitVectors(new d.Vector3(0,0,-1),e),r.inverse(),r},n.prototype.gyroToQuaternionDelta_=function(t,e){var r=new d.Quaternion,i=new d.Vector3;return i.copy(t),i.normalize(),r.setFromAxisAngle(i,t.length()*e),r},n}(),ap=function(){function n(t,e){this.predictionTimeS=t,this.isDebug=e,this.previousQ=new d.Quaternion,this.previousTimestampS=null,this.deltaQ=new d.Quaternion,this.outQ=new d.Quaternion}return n.prototype.getPrediction=function(t,e,r){if(!this.previousTimestampS)return this.previousQ.copy(t),this.previousTimestampS=r,t;var i=new d.Vector3;i.copy(e),i.normalize();var a=e.length();if(a<gr*20)return this.isDebug&&console.log("Moving slowly, at %s deg/s: no prediction",(xn*a).toFixed(1)),this.outQ.copy(t),this.previousQ.copy(t),this.outQ;var o=a*this.predictionTimeS;return this.deltaQ.setFromAxisAngle(i,o),this.outQ.copy(this.previousQ),this.outQ.multiply(this.deltaQ),this.previousQ.copy(t),this.previousTimestampS=r,this.outQ},n}(),op=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 a=t-this.distort(r),o=r-a*((r-e)/(a-i));e=r,r=o,i=a}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}(),sp=function(){function n(){this.angularAcceleration=null,this.angularVelocity=null,this.linearAcceleration=null,this.linearVelocity=null,this.orientation=null,this.position=null}return n}(),zs=function(){function n(){this.leftDegrees=0,this.rightDegrees=0,this.upDegrees=0,this.downDegrees=0}return n}(),up=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 d.Vector3,this.gyroscope=new d.Vector3,this.filter=new ip(t,i),this.posePredictor=new ap(e,i),this.isFirefoxAndroid=Yh(),this.isIOS=Kn();var a=wu();this.isDeviceMotionInRadians=!this.isIOS&&a!==null&&a<66,this.isWithoutDeviceMotion=$h()||ep(),this.filterToWorldQ=new d.Quaternion,Kn()?this.filterToWorldQ.setFromAxisAngle(new d.Vector3(1,0,0),Math.PI/2):this.filterToWorldQ.setFromAxisAngle(new d.Vector3(1,0,0),-Math.PI/2),this.inverseWorldToScreenQ=new d.Quaternion,this.worldToScreenQ=new d.Quaternion,this.originalPoseAdjustQ=new d.Quaternion;var o=typeof window!="undefined"?-window.orientation*Math.PI/180:0;this.originalPoseAdjustQ.setFromAxisAngle(new d.Vector3(0,0,1),o),this.setScreenTransform_(),Ls()&&this.filterToWorldQ.multiply(this.inverseWorldToScreenQ),this.resetQ=new d.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 a=new d.Quaternion().setFromAxisAngle(new d.Vector3(0,0,-1),0),o=new d.Quaternion;return typeof window!="undefined"&&window.orientation===-90?o.setFromAxisAngle(new d.Vector3(0,1,0),Math.PI/-2):o.setFromAxisAngle(new d.Vector3(0,1,0),Math.PI/2),a.multiply(o)}(),this.deviceOrientationFilterToWorldQ=this.deviceOrientationFilterToWorldQ||function(){var a=new d.Quaternion;return a.setFromAxisAngle(new d.Vector3(1,0,0),-Math.PI/2),a}(),t=this._deviceOrientationQ;var e=new d.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 d.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 sp;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(),Ls()&&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),Ns(t.leftViewMatrix,e,r.left),Ns(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 Kn()&&np()&&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 a=t.left.upDegrees*gr,o=t.left.downDegrees*gr,s=t.left.leftDegrees*gr,u=t.left.rightDegrees*gr,l=2/(s+u),c=2/(a+o);i.left[0]=l,i.left[1]=0,i.left[2]=0,i.left[3]=0,i.left[4]=0,i.left[5]=c,i.left[6]=0,i.left[7]=0,i.left[8]=-((s-u)*l*.5),i.left[9]=(a-o)*c*.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 a=t.right.upDegrees*gr,o=t.right.downDegrees*gr,s=t.right.leftDegrees*gr,u=t.right.rightDegrees*gr,l=2/(s+u),c=2/(a+o);i.right[0]=l,i.right[1]=0,i.right[2]=0,i.right[3]=0,i.right[4]=0,i.right[5]=c,i.right[6]=0,i.right[7]=0,i.right[8]=-((s-u)*l*.5),i.right[9]=(a-o)*c*.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 op(t.distortionCoefficients),i=t.screenLensDistance,a=(e.widthMeters-t.interLensDistance)/2,o=t.interLensDistance/2,s=t.baselineLensDistance-e.bevelMeters,u=e.heightMeters-s,l=xn*Math.atan(r.distort(a/i)),c=xn*Math.atan(r.distort(o/i)),h=xn*Math.atan(r.distort(s/i)),A=xn*Math.atan(r.distort(u/i)),m=new zs,f=new zs;return m.leftDegrees=Math.min(l,t.fov),m.rightDegrees=Math.min(c,t.fov),m.downDegrees=Math.min(h,t.fov),m.upDegrees=Math.min(A,t.fov),f.leftDegrees=m.rightDegrees,f.rightDegrees=m.leftDegrees,f.upDegrees=m.upDegrees,f.downDegrees=m.downDegrees,{left:m,right:f}},n.prototype.onDeviceOrientation_=function(t){this._deviceOrientationQ=this._deviceOrientationQ||new d.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 d.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,a=i-this.previousTimestampS;if(a<0){Os("fusion-pose-sensor:invalid:non-monotonic","Invalid timestamps detected: non-monotonic timestamp from devicemotion"),this.previousTimestampS=i;return}else if(a<=bu||a>xu){Os("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&&(Eu()?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 d.Vector3(0,0,1),-Math.PI/2);break;case-90:this.worldToScreenQ.setFromAxisAngle(new d.Vector3(0,0,1),Math.PI/2);break}this.inverseWorldToScreenQ.copy(this.worldToScreenQ),this.inverseWorldToScreenQ.inverse()},n}(),ui=[0,0,.5,1],li=[.5,0,.5,1],lp=function(){function n(t){var e=this;this.renderer=t,this.sensor=new up(.98,.04,!1,!1),this.scale=1,this.cameraL=new d.PerspectiveCamera,this.cameraR=new d.PerspectiveCamera;var r=this.sensor.start();this.dispose=function(){var i=e.renderer.getSize(new d.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 d.Vector2);if(r.width>r.height){var i=t.autoUpdate;i&&(t.updateMatrixWorld(),t.autoUpdate=!1);var a={x:Math.round(r.width*ui[0]),y:Math.round(r.height*ui[1]),width:Math.round(r.width*ui[2]),height:Math.round(r.height*ui[3])},o={x:Math.round(r.width*li[0]),y:Math.round(r.height*li[1]),width:Math.round(r.width*li[2]),height:Math.round(r.height*li[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 s=this.sensor.getEyeOffset();this.cameraL.translateOnAxis(new d.Vector3().fromArray(s.left),this.scale),this.cameraR.translateOnAxis(new d.Vector3().fromArray(s.right),this.scale);var u=this.sensor.getEyeProjectionMatrix();this.cameraL.projectionMatrix.elements=u.left.slice(),this.cameraR.projectionMatrix.elements=u.right.slice(),this.renderer.setViewport(a.x,a.y,a.width,a.height),this.renderer.setScissor(a.x,a.y,a.width,a.height),this.renderer.render(t,this.cameraL),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.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 cp="data:image/png;base64,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",dp="data:image/png;base64,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";var Aa,ma={zh:{TITLE:"眼镜模式",HIT:"请将手机横屏放入 VR 眼镜中"},en:{TITLE:"GLASSES MODE",HIT:"Please put the mobile phone horizontally into the VR glasses."},ja:{TITLE:"メガネモード",HIT:"携帯電話をVRメガネに水平に入れてください。"}},Ds=typeof navigator!="undefined"&&(Aa=ma[navigator.language.split("-")[0]])!==null&&Aa!==void 0?Aa:ma.zh,fp=`
1488
+ `,lp=function(){function n(){this.material=new d.ShaderMaterial({vertexShader:sp,fragmentShader:up,uniforms:{size:new d.Uniform(null),matrix:new d.Uniform(null),alpha:new d.Uniform(null),map:new d.Uniform(null)},depthTest:!1,depthWrite:!1,defines:{USE_PANO_VIDEO:!1},blending:d.CustomBlending,blendSrc:d.SrcAlphaFactor,blendDst:d.OneMinusSrcAlphaFactor,blendSrcAlpha:d.OneFactor,blendDstAlpha:d.OneMinusSrcAlphaFactor}),this.object=new d.Mesh(Eo,this.material),this.object.visible=!1,this.object.renderOrder=-1,this.object.frustumCulled=!1,this.object.name="pano-video",this.alphaMotion=new Me({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(D),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(D));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}(),cp=new d.Matrix4().makeRotationAxis(new d.Vector3(0,1,0),Math.PI),zs=new d.Vector3(-1,1,1),Ds=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 d.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}(),Co=function(n){ue(t,n);function t(e){var r=this,i,a,o,s,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.tileMaxRequest=l.tileMaxRequest,r.luminanceAdaptiveEffectEnable=l.luminanceAdaptiveEffectEnable,r.luminanceAdaptiveEffect=new Vs(r.renderer,r.modelScene,r.camera,r.models),r.colorCubeRenderTargetPool=new Ds,r.luminanceCubeRenderTargetPool=new Ds;var u=r.models.getMaterial()||{},c=u.pano0,f=u.pano1;c&&(f==null?void 0:f.map)!==c.map&&(r.models.setMaterial({pano0:f}),c.map.dispose(),c.map instanceof Ne&&c.map.cubeRenderTarget&&r.colorCubeRenderTargetPool.push(c.map.cubeRenderTarget),c.luminanceMap&&(c.luminanceMap.dispose(),c.luminanceMap instanceof Ne&&c.luminanceMap.cubeRenderTarget&&r.luminanceCubeRenderTargetPool.push(c.luminanceMap.cubeRenderTarget)));for(var A=r.colorCubeRenderTargetPool.size;A<2;A++){var m=Math.max(1024*r.TILED_CUBE_TEXTURE_LEVEL,512),h=r.colorCubeRenderTargetPool.create();h.setSize(m,m),Fa(null,h,r.renderer),r.colorCubeRenderTargetPool.push(h)}r.panoMeshes={},r.updatePanoMeshes(),r.locationMotion=new Me({count:0,distance:r.camera.pose.distance}),r.modelAlphaMotion=new Me({modelAlpha:(a=(i=r.models.getMaterial())===null||i===void 0?void 0:i.modelAlpha)!==null&&a!==void 0?a:0}),r.perspToOrthoMotion=new Me({perspToOrtho:r.camera.perspToOrtho.x}),r.panoResources={},r.panoResources[r.locationMotion.keyframes[0].key=r.locationMotion.keyframes[1].key=wt()]={panoId:ze(r.currentPano),panoPicture:(s=(o=r.models.getMaterial())===null||o===void 0?void 0:o.pano1)!==null&&s!==void 0?s:null,position:r.camera.pose.offset.clone(),effect:"fly",fixCameraTransform:new d.Matrix4};var p=r.works.getResolvedObserver(r.currentPano);return r.textureLoader=new ti,r.tiling=new ip(p?it(p.work):Mi,r.TILED_CUBE_TEXTURE_LEVEL+1,r.imageOptions),r.scene.add(r.tiling.object),r.panoVideo=new lp,r.scene.add(r.panoVideo.object),r}return t.parseArgs=function(e){var r,i,a,o,s,l;if(e instanceof t)return e;var u=n.parseArgs.call(this,e);return L(L({},u),{maxAccessibleDistance:(r=e.maxAccessibleDistance)!==null&&r!==void 0?r:5,panoTapTriggerRadius:(i=e.panoTapTriggerRadius)!==null&&i!==void 0?i:.5,panoCircleMeshCreator:(a=e.panoCircleMeshCreator)!==null&&a!==void 0?a:function(c){return new wu},tileLevelForFov:(o=e.tileLevelForFov)!==null&&o!==void 0?o:function(c,f){var A=function(v){return v/Math.PI*180},m=function(v){return v/180*Math.PI},h=f.height/2/Math.tan(m(c/2)),p=f.width>f.height?c:A(Math.atan(Math.tan(m(c/2))*(f.width/f.height))*2);p*=.9;var y=h*(Math.tan(m(p/2))-Math.tan(m(p/2-1)));return y>80?5:y>60?4:y>40?3:y>18?2:y>12?1:0},tileMaxRequest:(s=e.tileMaxRequest)!==null&&s!==void 0?s:3,luminanceAdaptiveEffectEnable:(l=e.luminanceAdaptiveEffectEnable)!==null&&l!==void 0?l:!0})},t.initAnimationEndState=function(e){var r=this.parseArgs(e),i=n.initAnimationEndState.call(this,r);return L(L({},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),a=0,o=i;a<o.length;a++){var s=o[a],l=this.panoMeshes[s];this.helper.remove(l),l.dispose(),delete this.panoMeshes[s]}var u=this.videoTexture.image;u.pause(),u.oncanplay=function(){},u.ontimeupdate=function(){},this.scene.remove(this.panoVideo.object),this.panoVideo.setMaterial(null),this.panoVideo.dispose();for(var c=(e=this.models.getMaterial())!==null&&e!==void 0?e:{},f=c.pano0,A=c.pano1,m=0,h=Object.keys(this.panoResources);m<h.length;m++){var p=h[m],y=this.panoResources[p];if(y.panoPicture){var v=y.panoPicture.map;v&&v!==(f==null?void 0:f.map)&&v!==(A==null?void 0:A.map)&&(v.dispose(),(r=y.panoPicture.luminanceMap)===null||r===void 0||r.dispose(),y.panoPicture=null)}delete this.panoResources[p]}this.luminanceAdaptiveEffect.dispose()},t.prototype.isReady=function(){return this.locationMotion.ended!==!0?!1:n.prototype.isReady.call(this)},t.prototype.isTileReady=function(){var e,r,i,a=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),o=((e=a.panoPicture)===null||e===void 0?void 0:e.map)instanceof Ne&&(i=(r=a.panoPicture)===null||r===void 0?void 0:r.map.tilePending)!==null&&i!==void 0?i:0,s=this.tiling.pedding;return this.initAnimationed&&o<=0&&s<=0},t.prototype.updateWork=function(e,r,i,a){var o=this;this.userAction=a,this.works=e;var s=t.initAnimationEndState(L(L({},this),{initial:{currentState:L(L({},this.currentPano),this.camera.pose),duration:i.duration,effect:i.effect,state:r,userAction:a}})),l={workCode:s.workCode,panoIndex:s.panoIndex},u=this.works.getWork(l.workCode);return this.tiling.setFetcher(u?it(u):Mi),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(){o.initAnimationed=!0},moveCancelCallback:function(){o.initAnimationed=!0}},a),!0},t.prototype.updateModel=function(e){this.models=e,this.updatePanoMeshes()},t.prototype.updateTime=function(e,r){var i=this,a,o,s,l,u,c,f,A,m,h;if(!this.destroyed){var p={},y={},v=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),g=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),x=!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),p.modelAlpha=this.modelAlphaMotion.value.modelAlpha),this.perspToOrthoMotion.ended===!1&&(this.perspToOrthoMotion.update(e),this.camera.perspToOrtho.setScalar(fe(this.perspToOrthoMotion.value.perspToOrtho,0,1))),this.locationMotion.ended===!1){this.locationMotion.update(e);var b=this.locationMotion.getKeyFrameSegment(e),w=b[0],E=b[1],I=this.panoResourceFromLocationMotionKeyframe(w),M=this.panoResourceFromLocationMotionKeyframe(E),k=new d.Vector3().copy(I.position),B=new d.Vector3().copy(M.position),C=this.locationMotion.value.count-E.value.count+1;p.progress=C,M.panoPicture&&(C<1?I.panoPicture&&(p.pano0=I.panoPicture):p.pano0=M.panoPicture,p.pano1=M.panoPicture),M.effect==="montage"?p.transition="BLACK":M.effect==="spread"?p.transition="SPREAD":p.transition="FADE",(M.effect==="zoomin"||M.effect==="zoomout")&&(p.progress=Math.pow(C,3)),C<1&&M.effect!=="fly"&&(p.pano0&&I.panoPicture&&(p.pano0={map:p.pano0.map,zoom:p.pano0.zoom,luminanceMap:p.pano0.luminanceMap,matrix:I.panoPicture.matrix.clone().premultiply(I.fixCameraTransform).setPosition(M.position)}),k.copy(B),x=!0),y.distance=this.locationMotion.value.distance,y.offset=new d.Vector3(k.x+(B.x-k.x)*C,k.y+(B.y-k.y)*C,k.z+(B.z-k.z)*C);for(var T=[],O=[],P=0,F=this.locationMotion.keyframes;P<F.length;P++){var V=F[P],z=V.key,j=V.progress;z!==void 0&&(T.push(z),j>this.locationMotion.progress&&O.push(z))}for(var K=0,H=Object.keys(this.panoResources);K<H.length;K++){var q=H[K];if(!(O.indexOf(q)>=0)){var J=this.panoResources[q];if(J.panoPicture){var G=J.panoPicture.map,W=J.panoPicture.luminanceMap;if(G){if(G===((a=p.pano0)===null||a===void 0?void 0:a.map)||G===((o=p.pano1)===null||o===void 0?void 0:o.map))continue;G instanceof Ne&&G.cubeRenderTarget&&this.colorCubeRenderTargetPool.push(G.cubeRenderTarget),G.dispose(),W&&(W instanceof Ne&&W.cubeRenderTarget&&this.luminanceCubeRenderTargetPool.push(W.cubeRenderTarget),W.dispose()),J.panoPicture=null}}T.indexOf(q)>=0||delete this.panoResources[q]}}this.currentPano=vt(M.panoId),this.emit("pano.moving",X("pano.moving",{userAction:this.userAction,prevPano:vt(v.panoId),state:L(L(L(L({},vt(g.panoId)),{mode:this.mode}),Je(this.camera.pose)),y),options:{},progress:this.locationMotion.progress,error:null}))}Qt(p)===!1&&(!((s=p.pano0)===null||s===void 0)&&s.map&&p.pano0.map instanceof Ne&&!p.pano0.map.cubeRenderTarget&&(p.pano0.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),!((l=p.pano0)===null||l===void 0)&&l.luminanceMap&&p.pano0.luminanceMap instanceof Ne&&!p.pano0.luminanceMap.cubeRenderTarget&&(p.pano0.luminanceMap.cubeRenderTarget=this.luminanceCubeRenderTargetPool.pop()),!((u=p.pano1)===null||u===void 0)&&u.map&&p.pano1.map instanceof Ne&&!p.pano1.map.cubeRenderTarget&&(p.pano1.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),!((c=p.pano1)===null||c===void 0)&&c.luminanceMap&&p.pano1.luminanceMap instanceof Ne&&!p.pano1.luminanceMap.cubeRenderTarget&&(p.pano1.luminanceMap.cubeRenderTarget=this.luminanceCubeRenderTargetPool.pop()),this.models.setMaterial(p)),Qt(y)===!1&&this.setCamera(y);var _=this.works.getResolvedObserver(this.currentPano),Y=this.locationMotion.ended?this.getForwardObserverOrNot():null;if(this.camera.pose.distance>.1||x)for(var oe=0,$=Object.keys(this.panoMeshes);oe<$.length;oe++){var ae=$[oe],ne=this.panoMeshes[ae];ne.setOpacity(0),ne.setCurrent(!1),ne.updateTime&&ne.updateTime(e,r),ne.visible=!1}else if(_){var le=lr(_.visibleIds,function(ye){var me=i.works.getResolvedObserver(ye);return me?_.standingPosition.distanceTo(me.standingPosition):1/0},!0),ie=le[1];ie=fe(ie,2.5,1/0);for(var ge=_.visibleIds.concat(ze(this.currentPano)),he=this.camera.getDirection(new d.Vector3),ve=0,Re=Object.keys(this.panoMeshes);ve<Re.length;ve++){var ae=Re[ve],ne=this.panoMeshes[ae],Ce=this.works.getResolvedObserver(ae);if(ge.indexOf(ae)===-1)ne.setCurrent(!1),ne.setOpacity(0);else if(!Ce)ne.setCurrent(!1),ne.setOpacity(0);else if(!Ce.loadable&&!Ce.active)ne.setCurrent(!1),ne.setOpacity(0);else{var Te=ne.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);ne.setCurrent(!ne.loading&&ne.progress===0&&Y!==null&&Y.panoId===ae),ne.setOpacity(Te<.01?0:fe(ie/Te*1.2,.4,.85));var ee=this.camera.position.clone().setY(ne.position.y),re=new d.Vector3().copy(ne.position).sub(ee).normalize();if(ae===ze(this.currentPano)){var Q=fe((.5-ee.distanceTo(ne.position))/.5,0,1);re.multiplyScalar(1-Q).add(he.clone().multiplyScalar(Q))}re.length()>0&&ne.quaternion.setFromEuler(new d.Euler(0,Math.atan2(re.x,re.z),0))}ne.updateTime&&ne.updateTime(e,r)}}var Ve=this.tileLevel=function(){if(i.tileLevelForFov===!1)return 0;var ye=i.renderer.getDrawingBufferSize(new d.Vector2);ye.width*=i.scissor.width,ye.height*=i.scissor.height;var me=g.panoId,Ae=i.works.getResolvedObserver(me),pe=i.imageOptions.size;if(typeof pe=="undefined"&&Ae){var Qe=Ae.images.up.match(/\/cube_(\d+)\//);Qe&&(pe=Number(Qe[1]))}typeof pe=="undefined"&&(pe=2048);var Ke=0;pe>=1024&&(Ke=1),pe>=2048&&(Ke=2),pe>=4096&&(Ke=3),pe>=8192&&(Ke=4);var rt=i.tileLevelForFov(i.camera.fov,ye);return rt>Ke?rt:0}(),ke=function(){var ye=i.camera.quaternion.clone(),me=i.works.getResolvedObserver(g.panoId),Ae=me!=null?me:_;Ae&&ye.premultiply(Ae.quaternion.clone().inverse());var pe=new d.Matrix4().makeRotationFromQuaternion(ye),Qe=new d.Matrix4().getInverse(pe),Ke=new d.Frustum().setFromProjectionMatrix(new d.Matrix4().multiplyMatrices(i.camera.projectionMatrix,Qe));return Ke}();g.panoId===ze(this.currentPano)&&(((f=g.panoPicture)===null||f===void 0?void 0:f.map)instanceof Ne&&(g.panoPicture.map.maxRequest=this.tileMaxRequest,g.panoPicture.map.update(ke,Ve),g.panoPicture.map.needsRender===!0&&(g.panoPicture.map.needsRender=!1,this.needsRender=!0,this.modelSceneNeedsRender=!0)),((A=g.panoPicture)===null||A===void 0?void 0:A.luminanceMap)instanceof Ne&&(g.panoPicture.luminanceMap.maxRequest=this.tileMaxRequest,g.panoPicture.luminanceMap.update(ke,Ve),g.panoPicture.luminanceMap.needsRender===!0&&(g.panoPicture.luminanceMap.needsRender=!1,this.needsRender=!0,this.modelSceneNeedsRender=!0)));{var Se=this.tiling.object.visible;if(this.initAnimationed){var Ge=g.panoId,be=this.works.getResolvedObserver(Ge);be?ri(this.camera.position,be.position)&&this.locationMotion.ended?(this.tiling.object.visible=!0,this.tiling.panoId!==Ge&&this.tiling.cleanup(),this.tiling.panoId=Ge,this.tiling.setResource((h=(m=be.images)===null||m===void 0?void 0:m.tiles)!==null&&h!==void 0?h:[],this.enableIOSEDR&&be.images.luminance?be.images.luminance:null),this.tiling.setFetcher(it(be.work)),this.tiling.setRotation(be.quaternion),this.tiling.setPosition(be.position),this.tiling.maxRequest=this.tileMaxRequest,Ve>this.TILED_CUBE_TEXTURE_LEVEL?this.tiling.update(ke,Ve,e):this.tiling.update(ke,0,e)):this.tiling.object.visible=!1:this.tiling.object.visible=!1}else this.tiling.object.visible=!1;Se!==this.tiling.object.visible&&(this.tiling.object.needsRender=!0,this.modelSceneNeedsRender=!0)}this.panoVideo.object.position.copy(this.camera.position),this.panoVideo.updateTime(e),this.intersectMesh.scale.setScalar(fe(this.cameraMotion.value.fov/45,0,1))}},t.prototype.render=function(e,r){var i=this.renderer.getRenderTarget(),a=this.works.getResolvedObserver(this.currentPano);a&&a.video&&(this.needsRender=!0,this.modelSceneNeedsRender=!0),this.updateScreenBuffer(r),e&&(r==="luminance"?(this.luminanceAdaptiveEffect.enable=this.luminanceAdaptiveEffectEnable,this.luminanceAdaptiveEffect.render(this.screenBuffers)):(this.renderer.setRenderTarget(this.modelRenderTarget),this.renderer.render(this.modelScene,this.camera))),this.depthCopyPass.render(this.modelRenderTarget.depthTexture,i),this.renderer.autoClearDepth=!1,this.renderer.autoClearColor=!0,this.copyPass.render(this.modelRenderTarget,i),this.renderer.setRenderTarget(i),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,this.camera),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0},t.prototype.postProcessing=function(e,r){if(!this.destroyed&&r==="luminance")return this.luminanceAdaptiveEffect||(this.luminanceAdaptiveEffect=new Vs(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(Ee())[1],r=this.locationMotion.getKeyFrameSegment(Ee())[1],i=this.panoResourceFromLocationMotionKeyframe(r),a=this.works.getResolvedObserver(i.panoId);return{workCode:a?a.work.workCode:this.currentPano.workCode,panoIndex:a?a.panoIndex:this.currentPano.panoIndex,mode:this.mode,longitude:e.value.longitude,latitude:e.value.latitude,fov:e.value.fov,offset:a?a.position.clone():this.camera.position.clone(),distance:this.locationMotion.value.distance}},t.prototype.moveToPano=function(e,r,i){var a=this,o,s,l,u,c=(o=r.effect)!==null&&o!==void 0?o:"fly";this.userAction=i,this.stopMomentumMovement();var f=this.works.getResolvedObserver(e);if(!f)throw new Error("Invalid PanoId ".concat(JSON.stringify(e)));var A=Kn(f.images.up),m=this.imageOptions.size;typeof m=="undefined"&&f&&A&&(m=Number(A)),typeof m=="undefined"&&(m=2048);var h=this.imageOptions.transform,p=L({key:"pano.".concat(f.panoId)},Vt(this.imageOptions,["format","size","quality","sharpen","mappings"])),y=f.images,v=(l=(s=f.images.tiles)===null||s===void 0?void 0:s.filter(function(F){return F.size>m}))!==null&&l!==void 0?l:null,g=h,x={key:"pano_luminance.".concat(f.panoId),size:p.size?p.size/2:void 0},b=this.enableIOSEDR&&f.images.luminance?f.images.luminance:null,w=function(){if(!f.images.tiles||!b)return null;var F=Kn(b.up);return F?v==null?void 0:v.map(function(V){var z=V.size*V.scale/2;return F<z?{level:V.level,size:z,scale:1,back:Ft(b.back,z),front:Ft(b.front,z),left:Ft(b.left,z),right:Ft(b.right,z),up:Ft(b.up,z),down:Ft(b.down,z)}:{level:V.level,size:F,scale:z/F,back:b.back,front:b.front,left:b.left,right:b.right,up:b.up,down:b.down}}):null}(),E="pano:"+ho([y,p,h]);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===E)return;var I=this.pendingTextureTask.panoId;(u=this.panoMeshes[I])===null||u===void 0||u.setProgress(0),this.emit("pano.texture.abort",X("pano.texture.abort",{error:null,progress:0,meta:null,pano:f.pano}))}var M="move-to-pano-"+f.panoId;this.pending.add(M);var k=this.models.getMaterial()||{},B=k.pano0,C=k.pano1,T;if(B&&B.map.name===E&&B.luminanceMap!==null===this.enableIOSEDR?T=B:(C==null?void 0:C.map.name)===E&&C.luminanceMap!==null===this.enableIOSEDR&&(T=C),T){var O={panoId:f.panoId,effect:c,panoPicture:{zoom:1,map:T.map,luminanceMap:T.luminanceMap,matrix:new d.Matrix4().compose(f.position,f.quaternion,zs)},position:f.position.clone(),fixCameraTransform:new d.Matrix4};lt.shared.add(function(){a.pending.delete(M),a.doMoveToPano(f.pano,O,r)},!0,1);return}this.pendingTextureTask={panoId:f.panoId,hash:E,onLoad:function(F,V){var z;if(a.pending.delete(M),a.destroyed)F.body.dispose();else{F.body.name=E;var j={panoId:f.panoId,effect:c,panoPicture:{zoom:1,map:F.body,luminanceMap:(z=V==null?void 0:V.body)!==null&&z!==void 0?z:null,matrix:new d.Matrix4().compose(f.position,f.quaternion,zs)},position:f.position.clone(),fixCameraTransform:new d.Matrix4};a.doMoveToPano(f.pano,j,r)}},onError:function(F){a.pending.delete(M);var V=L(L(L({},f.pano),{mode:a.mode}),Je(a.camera.pose));a.emit("pano.error",X("pano.error",{error:F,userAction:a.userAction,options:r,prevPano:a.currentPano,progress:0,state:V})),a.emit("pano.cancel",X("pano.cancel",{error:F,userAction:a.userAction,options:r,prevPano:a.currentPano,progress:0,state:V})),a.emit("error",F),r.moveCancelCallback&&r.moveCancelCallback()}};var P=this.panoMeshes[f.panoId];P&&P.tap&&P.tap(),Promise.all([this.tileLevelForFov&&v&&v.length?this.textureLoader.loadTiledCubeTexture(y,v,{tileMaxLevel:this.TILED_CUBE_TEXTURE_LEVEL,imageURL:{transform:h,options:p},minFilter:d.LinearFilter,magFilter:d.LinearFilter,generateMipmaps:!1,format:d.RGBAFormat,viaAjax:!0,fetcher:it(f.work)},void 0,void 0,function(F){var V,z;a.emit("pano.texture.progress",X("pano.texture.progress",{error:null,progress:F,meta:null,pano:f.pano})),((V=a.pendingTextureTask)===null||V===void 0?void 0:V.hash)===E&&((z=a.panoMeshes[f.panoId])===null||z===void 0||z.setProgress(F))},this.renderer):this.textureLoader.loadCubeTexture(y,{imageURL:{transform:h,options:p},format:d.RGBAFormat,viaAjax:!0,fetcher:it(f.work)},void 0,void 0,function(F){var V,z;a.emit("pano.texture.progress",X("pano.texture.progress",{error:null,progress:F,meta:null,pano:f.pano})),((V=a.pendingTextureTask)===null||V===void 0?void 0:V.hash)===E&&((z=a.panoMeshes[f.panoId])===null||z===void 0||z.setProgress(F))},this.renderer),b?this.tileLevelForFov&&w&&w.length?this.textureLoader.loadTiledCubeTexture(b,w,{tileMaxLevel:this.TILED_CUBE_TEXTURE_LEVEL,imageURL:{transform:g,options:x},minFilter:d.LinearFilter,magFilter:d.LinearFilter,generateMipmaps:!1,fetcher:it(f.work)},void 0,void 0,void 0,this.renderer).catch(function(){return null}):this.textureLoader.loadCubeTexture(b,{imageURL:{transform:g,options:x},fetcher:it(f.work)},void 0,void 0,void 0,this.renderer).catch(function(){return null}):Promise.resolve(null)]).then(function(F){var V,z,j=F[0],K=F[1];((V=a.pendingTextureTask)===null||V===void 0?void 0:V.hash)===E?(a.pendingTextureTask.onLoad(j,K),(z=a.panoMeshes[f.panoId])===null||z===void 0||z.setProgress(0),delete a.pendingTextureTask,a.emit("pano.texture.success",X("pano.texture.success",{error:null,progress:1,meta:j.meta,pano:f.pano}))):(j.body.dispose(),K==null||K.body.dispose())}).catch(function(F){var V,z;((V=a.pendingTextureTask)===null||V===void 0?void 0:V.hash)===E&&(a.pendingTextureTask.onError(F),(z=a.panoMeshes[f.panoId])===null||z===void 0||z.setProgress(0),delete a.pendingTextureTask,a.emit("pano.texture.error",X("pano.texture.error",{error:F,progress:0,meta:null,pano:f.pano})),a.emit("error",F))}),this.emit("pano.texture.load",X("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,a=i.duration,o=i.effect,s=i.userAction;e.userAction=s;var l=t.initAnimationEndState(e),u={workCode:l.workCode,panoIndex:l.panoIndex},c={modelAlpha:0},f={perspToOrtho:0},A=!1;e.moveToPano(u,{longitude:l.longitude,latitude:l.latitude,fov:l.fov,effect:o,duration:a,moveStartCallback:function(m){A=!0,e.perspToOrthoMotion.set(f,a).catch(D),e.modelAlphaMotion.setKeyframes([{progress:0,value:L({},e.modelAlphaMotion.value)},{progress:.6,value:L({},e.modelAlphaMotion.value)},{progress:1,value:c}],a).catch(D),e.emit("initAnimation.start",X("initAnimation.start",{state:m,userAction:e.userAction}))},moveEndCallback:function(m){e.emit("initAnimation.end",X("initAnimation.end",{state:m,userAction:e.userAction})),e.initAnimationed=!0,r()},moveCancelCallback:function(){var m=L(L(L({},u),{mode:e.mode}),Je(e.camera.pose));A===!1&&e.emit("initAnimation.start",X("initAnimation.start",{state:m,userAction:e.userAction})),e.emit("initAnimation.end",X("initAnimation.end",{state:m,userAction:e.userAction})),e.initAnimationed=!0,r()}},s)})},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 a=this.panoResourceFromLocationMotionKeyframe(e[i-1]).position,o=this.panoResourceFromLocationMotionKeyframe(e[i]).position,s=a.distanceTo(o)*(e[i].value.count-e[i-1].value.count);r+=s}return r},t.prototype.updatePanoMeshes=function(){for(var e=this,r={},i=Object.keys(this.panoMeshes),a=0,o=i;a<o.length;a++){var s=o[a],l=this.panoMeshes[s];r[s]=l,delete this.panoMeshes[s]}for(var u=1,c={},f=function(E){var I=lr(E.accessibleIds,function(k){var B=e.works.getResolvedObserver(k);if(!B)return 1/0;var C=B.standingPosition.distanceTo(E.standingPosition);return fe(C,1,1/0)},!0),M=I[1];c[E.panoId]===void 0&&(c[E.panoId]=M)},A=0,m=this.works.resolvedObservers;A<m.length;A++){var h=m[A];f(h)}var p=Object.keys(c).map(function(E){return c[E]});if(p.length){var y=p.reduce(function(E,I){return E+I},0)/p.length;u=fe(y*.6,1,3)}for(var v=0,g=this.works.resolvedObservers;v<g.length;v++){var h=g[v],l=void 0;r[h.panoId]?(l=r[h.panoId],l.loading===!0&&h.loadable===!1&&l.setLoading(!1),delete r[h.panoId]):(l=this.panoCircleMeshCreator(h.pano),l.name="PanoCircleMesh_"+h.panoId,this.helper.add(l)),l.scale.set(u,1,u),l.position.copy(h.standingPosition),this.panoMeshes[h.panoId]=l}for(var x=0,b=Object.keys(r);x<b.length;x++){var w=b[x];this.helper.remove(r[w]),r[w].dispose(),delete r[w]}},t.prototype.doMoveToPano=function(e,r,i){var a=this,o,s,l,u,c,f,A,m,h,p,y;i===void 0&&(i={});var v=Ee(),g=wt();this.tiling.cleanup(),this.panoResources[g]=r;var x=1,b,w,E;if(this.locationMotion.ended){var I=this.locationMotion.getKeyFrameSegment(v);I[0];var M=I[1],k=this.locationMotion.value,B=((o=this.panoResourceFromLocationMotionKeyframe(M))!==null&&o!==void 0?o:this.camera).position,C=r.position;b=Math.max(B.distanceTo(C),x),w=[{key:M.key,progress:0,value:L(L({},k),{count:0})},{key:g,progress:1,value:{distance:0,count:1}}],E=0}else{var T=this.locationMotion.getKeyFrameSegment(v),O=T[0],M=T[1],k=this.locationMotion.value,P=this.panoResourceFromLocationMotionKeyframe(O).position,B=this.panoResourceFromLocationMotionKeyframe(M).position,C=r.position,F=M.value.count-k.count,V=Math.max(P.distanceTo(B),x)*F,z=Math.max(B.distanceTo(C),x);b=V+z,w=[{key:O.key,progress:0,value:L({},k)},{key:M.key,progress:V/b,value:M.value},{key:g,progress:1,value:{count:M.value.count+1,distance:0}}];var j=this.locationMotionKeyframesLength(this.locationMotion.keyframes),K=this.locationMotionKeyframesLength(w);j===0||j===0?E=0:E=this.locationMotion.getProgressVelocity(v)*j/K}var H=r.effect==="instant"?0:this.calculateMovingDuration(i.duration,r.effect==="fly"?b:0),q={longitude:i.longitude,latitude:i.latitude,fov:i.fov},J=L(L({},e),{mode:this.mode,longitude:(s=q.longitude)!==null&&s!==void 0?s:this.camera.pose.longitude,latitude:(l=q.latitude)!==null&&l!==void 0?l:this.camera.pose.latitude,fov:(u=q.fov)!==null&&u!==void 0?u:this.camera.pose.fov,offset:r.position.clone(),distance:this.camera.pose.distance}),G=this.currentPano;if(this.emit("pano.moveTo",X("pano.moveTo",{options:i,prevPano:G,progress:0,state:J,userAction:this.userAction,error:null})),i.moveStartCallback&&i.moveStartCallback(J),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=D,this.videoTexture.needsUpdate=!0),this.panoVideo.setMaterial(null),r.effect==="fly")this.cameraMotion.set(q,H).catch(D);else{var W=Ot({longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude}),_=Ot({longitude:(c=q.longitude)!==null&&c!==void 0?c:this.cameraMotion.value.longitude,latitude:(f=q.latitude)!==null&&f!==void 0?f:this.cameraMotion.value.latitude}),Y=new d.Object3D;Y.lookAt(W);var oe=new d.Matrix4().makeRotationFromQuaternion(Y.quaternion);Y.lookAt(_);var $=new d.Matrix4().makeRotationFromQuaternion(Y.quaternion),ae=new d.Matrix4().getInverse(oe).premultiply($),ne=this.cameraMotion.value.fov,le=(A=q.fov)!==null&&A!==void 0?A:this.cameraMotion.value.fov,ie=1;r.effect==="zoomin"?ie=1.5:r.effect==="zoomout"&&(ie=.4);for(var ge=fe(le*ie,1,170),he=0;he<w.length-1;he++){var ve=w[he].key;if(ve){var Re=this.panoResources[ve];Re&&(Re.fixCameraTransform.copy(ae),Re.panoPicture&&(Re.panoPicture.zoom=Math.tan(ne/2/180*Math.PI)/Math.tan(ge/2/180*Math.PI)))}}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=q.longitude)!==null&&m!==void 0?m:this.cameraMotion.value.longitude,latitude:(h=q.latitude)!==null&&h!==void 0?h:this.cameraMotion.value.latitude,fov:ge}},{progress:1,value:{longitude:(p=q.longitude)!==null&&p!==void 0?p:this.cameraMotion.value.longitude,latitude:(y=q.latitude)!==null&&y!==void 0?y:this.cameraMotion.value.latitude,fov:le}}],H).catch(D)}var Ce=this.locationMotion.setKeyframes(w,H,E);Ce.then(function(){for(var Te,ee,re=0,Q=a.models;re<Q.length;re++){var Ve=Q[re];Ve.show()}var ke=L(L({},e),{mode:a.mode,longitude:a.camera.pose.longitude,latitude:a.camera.pose.latitude,fov:a.camera.pose.fov,offset:a.camera.pose.offset.clone(),distance:a.camera.pose.distance});a.emit("pano.arrived",X("pano.arrived",{options:i,prevPano:G,progress:1,state:ke,userAction:a.userAction,error:null})),i.moveEndCallback&&i.moveEndCallback(ke);var Se=a.works.getResolvedObserver(e);if(Se&&Se.video&&a.videoTexture&&a.videoTexture.image instanceof HTMLVideoElement){var Ge=cp.clone().multiply((ee=(Te=a.models.getMaterial().pano1)===null||Te===void 0?void 0:Te.matrix)!==null&&ee!==void 0?ee:new d.Matrix4).multiply(Se.video.matrix),be={map:a.videoTexture,size:Se.video.size,matrix:Ge,alpha:1},ye=wt(),me=a.videoTexture.image;me.setAttribute("uuid",ye),Pu().then(function(Ae){Ae&&Se.video&&me.getAttribute("uuid")===ye&&(me.oncanplay=function(){me.oncanplay=D,me.play()},me.ontimeupdate=function(){me.currentTime>.5&&(me.ontimeupdate=D,a.panoVideo.setMaterial(be))},me.src=Se.video.source)}).catch(function(){me.removeAttribute("uuid")})}},function(){a.emit("pano.cancel",X("pano.cancel",{options:i,prevPano:G,progress:0,state:J,userAction:a.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 a=e!=null?e:new d.Raycaster(this.camera.position.clone(),this.camera.getDirection(new d.Vector3));a.params.Points={threshold:.1};var o=i.standingPosition.clone();if(i.position.distanceTo(a.ray.origin)>1){var s=this.models.intersectRaycaster(new d.Raycaster(a.ray.origin,new d.Vector3(0,-1,0)))[0];s&&s.distance<=2?o.copy(s.point):o.copy(a.ray.origin).add(new d.Vector3(0,-1.5,0))}var l=this.models.intersectRaycaster(a)[0],u=l?l.point:a.ray.origin.clone().add(a.ray.direction.clone().normalize().multiplyScalar(3)),c=u.clone().sub(o).normalize();if(c.length()===0)return null;for(var f=i.accessibleIds.filter(function(w){if(w===ze(r.currentPano))return!1;var E=r.works.getResolvedObserver(w);if(!E)return!1;var I=E.standingPosition.clone().project(r.camera);return Math.abs(I.z)>1||Math.abs(I.x)>1||Math.abs(I.y)>1?!1:E.loadable||E.active}),A=f.slice().sort(function(w,E){var I=r.works.getResolvedObserver(w).standingPosition.clone().distanceTo(o),M=r.works.getResolvedObserver(E).standingPosition.clone().distanceTo(o);return I-M}),m=0,h=[Math.PI/8,Math.PI/6,Math.PI/4,Math.PI/3];m<h.length;m++)for(var p=h[m],y=0,v=A;y<v.length;y++){var g=v[y],x=this.works.getResolvedObserver(g);if(x){var b=x.standingPosition.clone().sub(o);if(b&&b.length()!==0&&c.angleTo(b)<p)return x}}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 a=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]);if(a.panoId!==ze(this.currentPano))return}var o=e.center.raycaster,s=this.camera.getDirection(new d.Vector3).setY(0),l=null,u=this.works.getResolvedObserver(this.currentPano);if(u){var c=u.accessibleIds.filter(function(K){if(K===ze(r.currentPano))return!1;var H=r.works.getResolvedObserver(K);return!H||H.position.distanceTo(r.camera.position)>r.maxAccessibleDistance?!1:H.loadable||H.active}),f=this.models.intersectRaycaster(o)[0];if(f){var A=lr(c,function(K){var H=r.works.getResolvedObserver(K);if(!H)return 1/0;var q=H.standingPosition.clone();return q.distanceTo(f.point)},!0),m=A[0],h=A[1];m&&h<this.panoTapTriggerRadius&&(l=(i=this.works.getResolvedObserver(m))!==null&&i!==void 0?i:null)}l||(l=this.getForwardObserverOrNot(o));for(var p=0,y=this.locationMotion.keyframes;p<y.length;p++){var v=y[p],g=this.panoResourceFromLocationMotionKeyframe(v);if(!(v.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 x={},b=Math.PI/6,w=Math.PI/12,E=l.position.clone().setY(0).sub(u.position.clone().setY(0)).normalize(),I=[],M=[],k=[],B=0,C=l.accessibleIds;B<C.length;B++){var m=C[B],T=vt(m);if(!(Zt(T,this.currentPano)||Zt(T,l.pano))){var O=this.works.getResolvedObserver(m);if(O){var P=O.position.clone().sub(l.position).setY(0);E.angleTo(P)<b&&k.push(P)}}}var F=k.length>0?k:bt(bt([],I,!0),M,!0),V=F.slice().sort(function(K,H){return K.angleTo(E)-H.angleTo(E)})[0];V&&V.angleTo(s)>w&&(x.longitude=Math.atan2(-V.x,-V.z)),this.cameraMotion.value.latitude<-Math.PI/4&&(x.latitude=fe(0,this.minLatitude,this.maxLatitude));var z=L({},e.state);if(z.workCode=l.pano.workCode,z.panoIndex=l.pano.panoIndex,x.longitude!==void 0&&(z.longitude=x.longitude),x.latitude!==void 0&&(z.latitude=x.latitude),x.fov!==void 0&&(z.fov=x.fov),z.distance=0,z.offset=l.position.clone(),e.state=z,this.emit("gesture.tap",e),!e.defaultPrevented){if(this.emit("pano.select",X("pano.select",{prevPano:this.currentPano,state:z,userAction:e.userAction,options:x,progress:0,error:null})),l&&!l.active){var j=l.panoId;this.panoMeshes[j]&&(this.panoMeshes[j].setDisabled(!1),this.panoMeshes[j].setLoading(!0))}l&&l.active&&this.emit("pano.request",X("pano.request",{userAction:e.userAction,prevPano:this.currentPano,progress:0,state:z,options:x,error:null}))}}}}},t}(Tu),gr=Math.PI/180,xn=180/Math.PI,Bu=.001,Ru=1,Gn=function(){var n=typeof navigator!="undefined"&&/iPad|iPhone|iPod/.test(navigator.platform);return function(){return n}}(),dp=function(){var n=typeof navigator!="undefined"&&/^((?!chrome|android).)*safari/i.test(navigator.userAgent);return function(){return n}}(),fp=function(){var n=typeof navigator!="undefined"&&navigator.userAgent.indexOf("Firefox")!==-1&&navigator.userAgent.indexOf("Android")!==-1;return function(){return n}}(),ku=function(){var n=typeof navigator!="undefined"?navigator.userAgent.match(/.*Chrome\/([0-9]+)/):null,t=n?parseInt(n[1],10):null;return function(){return t}}(),hp=function(){var n=!1;if(ku()===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}}(),pp=function(){var n=Gn()&&dp()&&typeof navigator!="undefined"&&navigator.userAgent.indexOf("13_4")!==-1;return function(){return n}}(),Fu=function(){var n=typeof navigator!="undefined"&&navigator.userAgent.indexOf("R7 Build")!==-1;return function(){return n}}();function Qs(){var n=typeof window!="undefined"&&(window.orientation==90||window.orientation==-90);return Fu()?!n:n}function vp(n){return!(isNaN(n)||n<=Bu||n>Ru)}function Ap(n){if(n.w>1)return 0;var t=2*Math.acos(n.w);return t}var Us=function(){var n={};return function(t,e){n[t]===void 0&&(console.warn("cardboard: "+e),n[t]=!0)}}();function qs(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 mp(){if(typeof window=="undefined"||typeof document=="undefined")return!1;var n=window.self!==window.top,t=qs(document.referrer),e=qs(window.location.href);return n&&t!==e}var Hs=function(){function n(r,i,a){var o=i?i[0]:0,s=i?i[1]:0,l=i?i[2]:0,u=i?i[3]:1,c=o+o,f=s+s,A=l+l,m=o*c,h=o*f,p=o*A,y=s*f,v=s*A,g=l*A,x=u*c,b=u*f,w=u*A;return r[0]=1-(y+g),r[1]=h+w,r[2]=p-b,r[3]=0,r[4]=h-w,r[5]=1-(m+g),r[6]=v+x,r[7]=0,r[8]=p+b,r[9]=v-x,r[10]=1-(m+y),r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function t(r,i,a){var o=a[0],s=a[1],l=a[2],u,c,f,A,m,h,p,y,v,g,x,b;return i===r?(r[12]=i[0]*o+i[4]*s+i[8]*l+i[12],r[13]=i[1]*o+i[5]*s+i[9]*l+i[13],r[14]=i[2]*o+i[6]*s+i[10]*l+i[14],r[15]=i[3]*o+i[7]*s+i[11]*l+i[15]):(u=i[0],c=i[1],f=i[2],A=i[3],m=i[4],h=i[5],p=i[6],y=i[7],v=i[8],g=i[9],x=i[10],b=i[11],r[0]=u,r[1]=c,r[2]=f,r[3]=A,r[4]=m,r[5]=h,r[6]=p,r[7]=y,r[8]=v,r[9]=g,r[10]=x,r[11]=b,r[12]=u*o+m*s+v*l+i[12],r[13]=c*o+h*s+g*l+i[13],r[14]=f*o+p*s+x*l+i[14],r[15]=A*o+y*s+b*l+i[15]),r}function e(r,i){var a=i[0],o=i[1],s=i[2],l=i[3],u=i[4],c=i[5],f=i[6],A=i[7],m=i[8],h=i[9],p=i[10],y=i[11],v=i[12],g=i[13],x=i[14],b=i[15],w=a*c-o*u,E=a*f-s*u,I=a*A-l*u,M=o*f-s*c,k=o*A-l*c,B=s*A-l*f,C=m*g-h*v,T=m*x-p*v,O=m*b-y*v,P=h*x-p*g,F=h*b-y*g,V=p*b-y*x,z=w*V-E*F+I*P+M*O-k*T+B*C;return z?(z=1/z,r[0]=(c*V-f*F+A*P)*z,r[1]=(s*F-o*V-l*P)*z,r[2]=(g*B-x*k+b*M)*z,r[3]=(p*k-h*B-y*M)*z,r[4]=(f*O-u*V-A*T)*z,r[5]=(a*V-s*O+l*T)*z,r[6]=(x*I-v*B-b*E)*z,r[7]=(m*B-p*I+y*E)*z,r[8]=(u*F-c*O+A*C)*z,r[9]=(o*O-a*F-l*C)*z,r[10]=(v*k-g*I+b*w)*z,r[11]=(h*I-m*k-y*w)*z,r[12]=(c*T-u*P-f*C)*z,r[13]=(a*P-o*T+s*C)*z,r[14]=(g*E-v*M-x*w)*z,r[15]=(m*M-h*E+p*w)*z,r):null}return function(r,i,a){n(r,i),a&&t(r,r,a),e(r,r)}}(),ba=function(){function n(t,e){t===void 0&&(t=new d.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}(),gp=function(){function n(t,e){this.kFilter=t,this.isDebug=e,this.currentAccelMeasurement=new ba,this.currentGyroMeasurement=new ba,this.previousGyroMeasurement=new ba,Gn()?this.filterQ=new d.Quaternion(-1,0,0,1):this.filterQ=new d.Quaternion(1,0,0,1),this.previousFilterQ=new d.Quaternion,this.previousFilterQ.copy(this.filterQ),this.accelQ=new d.Quaternion,this.isOrientationInitialized=!1,this.estimatedGravity=new d.Vector3,this.measuredGravity=new d.Vector3,this.gyroIntegralQ=new d.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;vp(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 d.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 d.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)",xn*Ap(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 a=new d.Quaternion;a.copy(this.filterQ),a.multiply(i),this.filterQ.slerp(a,1-this.kFilter),this.previousFilterQ.copy(this.filterQ)},n.prototype.accelToQuaternion_=function(t){var e=new d.Vector3;e.copy(t),e.normalize();var r=new d.Quaternion;return r.setFromUnitVectors(new d.Vector3(0,0,-1),e),r.inverse(),r},n.prototype.gyroToQuaternionDelta_=function(t,e){var r=new d.Quaternion,i=new d.Vector3;return i.copy(t),i.normalize(),r.setFromAxisAngle(i,t.length()*e),r},n}(),yp=function(){function n(t,e){this.predictionTimeS=t,this.isDebug=e,this.previousQ=new d.Quaternion,this.previousTimestampS=null,this.deltaQ=new d.Quaternion,this.outQ=new d.Quaternion}return n.prototype.getPrediction=function(t,e,r){if(!this.previousTimestampS)return this.previousQ.copy(t),this.previousTimestampS=r,t;var i=new d.Vector3;i.copy(e),i.normalize();var a=e.length();if(a<gr*20)return this.isDebug&&console.log("Moving slowly, at %s deg/s: no prediction",(xn*a).toFixed(1)),this.outQ.copy(t),this.previousQ.copy(t),this.outQ;var o=a*this.predictionTimeS;return this.deltaQ.setFromAxisAngle(i,o),this.outQ.copy(this.previousQ),this.outQ.multiply(this.deltaQ),this.previousQ.copy(t),this.previousTimestampS=r,this.outQ},n}(),bp=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 a=t-this.distort(r),o=r-a*((r-e)/(a-i));e=r,r=o,i=a}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}(),xp=function(){function n(){this.angularAcceleration=null,this.angularVelocity=null,this.linearAcceleration=null,this.linearVelocity=null,this.orientation=null,this.position=null}return n}(),Gs=function(){function n(){this.leftDegrees=0,this.rightDegrees=0,this.upDegrees=0,this.downDegrees=0}return n}(),wp=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 d.Vector3,this.gyroscope=new d.Vector3,this.filter=new gp(t,i),this.posePredictor=new yp(e,i),this.isFirefoxAndroid=fp(),this.isIOS=Gn();var a=ku();this.isDeviceMotionInRadians=!this.isIOS&&a!==null&&a<66,this.isWithoutDeviceMotion=hp()||pp(),this.filterToWorldQ=new d.Quaternion,Gn()?this.filterToWorldQ.setFromAxisAngle(new d.Vector3(1,0,0),Math.PI/2):this.filterToWorldQ.setFromAxisAngle(new d.Vector3(1,0,0),-Math.PI/2),this.inverseWorldToScreenQ=new d.Quaternion,this.worldToScreenQ=new d.Quaternion,this.originalPoseAdjustQ=new d.Quaternion;var o=typeof window!="undefined"?-window.orientation*Math.PI/180:0;this.originalPoseAdjustQ.setFromAxisAngle(new d.Vector3(0,0,1),o),this.setScreenTransform_(),Qs()&&this.filterToWorldQ.multiply(this.inverseWorldToScreenQ),this.resetQ=new d.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 a=new d.Quaternion().setFromAxisAngle(new d.Vector3(0,0,-1),0),o=new d.Quaternion;return typeof window!="undefined"&&window.orientation===-90?o.setFromAxisAngle(new d.Vector3(0,1,0),Math.PI/-2):o.setFromAxisAngle(new d.Vector3(0,1,0),Math.PI/2),a.multiply(o)}(),this.deviceOrientationFilterToWorldQ=this.deviceOrientationFilterToWorldQ||function(){var a=new d.Quaternion;return a.setFromAxisAngle(new d.Vector3(1,0,0),-Math.PI/2),a}(),t=this._deviceOrientationQ;var e=new d.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 d.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 xp;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(),Qs()&&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),Hs(t.leftViewMatrix,e,r.left),Hs(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 Gn()&&mp()&&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 a=t.left.upDegrees*gr,o=t.left.downDegrees*gr,s=t.left.leftDegrees*gr,l=t.left.rightDegrees*gr,u=2/(s+l),c=2/(a+o);i.left[0]=u,i.left[1]=0,i.left[2]=0,i.left[3]=0,i.left[4]=0,i.left[5]=c,i.left[6]=0,i.left[7]=0,i.left[8]=-((s-l)*u*.5),i.left[9]=(a-o)*c*.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 a=t.right.upDegrees*gr,o=t.right.downDegrees*gr,s=t.right.leftDegrees*gr,l=t.right.rightDegrees*gr,u=2/(s+l),c=2/(a+o);i.right[0]=u,i.right[1]=0,i.right[2]=0,i.right[3]=0,i.right[4]=0,i.right[5]=c,i.right[6]=0,i.right[7]=0,i.right[8]=-((s-l)*u*.5),i.right[9]=(a-o)*c*.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 bp(t.distortionCoefficients),i=t.screenLensDistance,a=(e.widthMeters-t.interLensDistance)/2,o=t.interLensDistance/2,s=t.baselineLensDistance-e.bevelMeters,l=e.heightMeters-s,u=xn*Math.atan(r.distort(a/i)),c=xn*Math.atan(r.distort(o/i)),f=xn*Math.atan(r.distort(s/i)),A=xn*Math.atan(r.distort(l/i)),m=new Gs,h=new Gs;return m.leftDegrees=Math.min(u,t.fov),m.rightDegrees=Math.min(c,t.fov),m.downDegrees=Math.min(f,t.fov),m.upDegrees=Math.min(A,t.fov),h.leftDegrees=m.rightDegrees,h.rightDegrees=m.leftDegrees,h.upDegrees=m.upDegrees,h.downDegrees=m.downDegrees,{left:m,right:h}},n.prototype.onDeviceOrientation_=function(t){this._deviceOrientationQ=this._deviceOrientationQ||new d.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 d.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,a=i-this.previousTimestampS;if(a<0){Us("fusion-pose-sensor:invalid:non-monotonic","Invalid timestamps detected: non-monotonic timestamp from devicemotion"),this.previousTimestampS=i;return}else if(a<=Bu||a>Ru){Us("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&&(Fu()?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 d.Vector3(0,0,1),-Math.PI/2);break;case-90:this.worldToScreenQ.setFromAxisAngle(new d.Vector3(0,0,1),Math.PI/2);break}this.inverseWorldToScreenQ.copy(this.worldToScreenQ),this.inverseWorldToScreenQ.inverse()},n}(),fi=[0,0,.5,1],hi=[.5,0,.5,1],Ep=function(){function n(t){var e=this;this.renderer=t,this.sensor=new wp(.98,.04,!1,!1),this.scale=1,this.cameraL=new d.PerspectiveCamera,this.cameraR=new d.PerspectiveCamera;var r=this.sensor.start();this.dispose=function(){var i=e.renderer.getSize(new d.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 d.Vector2);if(r.width>r.height){var i=t.autoUpdate;i&&(t.updateMatrixWorld(),t.autoUpdate=!1);var a={x:Math.round(r.width*fi[0]),y:Math.round(r.height*fi[1]),width:Math.round(r.width*fi[2]),height:Math.round(r.height*fi[3])},o={x:Math.round(r.width*hi[0]),y:Math.round(r.height*hi[1]),width:Math.round(r.width*hi[2]),height:Math.round(r.height*hi[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 s=this.sensor.getEyeOffset();this.cameraL.translateOnAxis(new d.Vector3().fromArray(s.left),this.scale),this.cameraR.translateOnAxis(new d.Vector3().fromArray(s.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(a.x,a.y,a.width,a.height),this.renderer.setScissor(a.x,a.y,a.width,a.height),this.renderer.render(t,this.cameraL),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.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 Cp="data:image/png;base64,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",Mp="data:image/png;base64,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";var xa,wa={zh:{TITLE:"眼镜模式",HIT:"请将手机横屏放入 VR 眼镜中"},en:{TITLE:"GLASSES MODE",HIT:"Please put the mobile phone horizontally into the VR glasses."},ja:{TITLE:"メガネモード",HIT:"携帯電話をVRメガネに水平に入れてください。"}},Ks=typeof navigator!="undefined"&&(xa=wa[navigator.language.split("-")[0]])!==null&&xa!==void 0?xa:wa.zh,Ip=`
1489
1489
  <style>
1490
1490
  .$id {
1491
1491
  all: initial;
@@ -1568,7 +1568,7 @@ void main() {
1568
1568
  .$id-modal-content-guide-cardboard-image {
1569
1569
  width: 100px;
1570
1570
  height: 82px;
1571
- background-image: url(`.concat(cp,`);
1571
+ background-image: url(`.concat(Cp,`);
1572
1572
  background-size: 100%;
1573
1573
  background-repeat: no-repeat;
1574
1574
  }
@@ -1610,7 +1610,7 @@ void main() {
1610
1610
  .$id-modal-content-guide-phone-image {
1611
1611
  width: 58px;
1612
1612
  height: 56px;
1613
- background-image: url(`).concat(dp,`);
1613
+ background-image: url(`).concat(Mp,`);
1614
1614
  background-size: 100%;
1615
1615
  background-repeat: no-repeat;
1616
1616
  }
@@ -1687,8 +1687,8 @@ Z
1687
1687
  </div>
1688
1688
  </div>
1689
1689
  <div class="$id-modal-content">
1690
- <div class="$id-modal-content-title">`).concat(Ds.TITLE,`</div>
1691
- <div class="$id-modal-content-hit">`).concat(Ds.HIT,`</div>
1690
+ <div class="$id-modal-content-title">`).concat(Ks.TITLE,`</div>
1691
+ <div class="$id-modal-content-hit">`).concat(Ks.HIT,`</div>
1692
1692
  <div class="$id-modal-content-guide">
1693
1693
  <div class="$id-modal-content-guide-phone">
1694
1694
  <div class="$id-modal-content-guide-phone-move-x">
@@ -1746,7 +1746,7 @@ Z
1746
1746
  </svg>
1747
1747
  </div>
1748
1748
  </div>
1749
- `);function hp(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 a=i.getAttribute("content")||"",o=a.match(/initial\-scale\=([\d|\.]+)/);o&&(t=Number(o[1])),isNaN(t)&&(t=1)}}var s=function(u){return Math.floor(u*t)+"px"};return fp.replace(/\n/g," ").replace(/\ +/g," ").replace(/\$id/g,n).replace(/(\d+)px/g,function(u,l){return s(Number(l))})}function pp(){var n="five_vr_helper_"+wt(),t=hp(n),e=document.createElement("div");return e.className=n,e.innerHTML=t,e}var ga=new d.CircleBufferGeometry(.12,16),vp=`
1749
+ `);function Sp(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 a=i.getAttribute("content")||"",o=a.match(/initial\-scale\=([\d|\.]+)/);o&&(t=Number(o[1])),isNaN(t)&&(t=1)}}var s=function(l){return Math.floor(l*t)+"px"};return Ip.replace(/\n/g," ").replace(/\ +/g," ").replace(/\$id/g,n).replace(/(\d+)px/g,function(l,u){return s(Number(u))})}function Tp(){var n="five_vr_helper_"+wt(),t=Sp(n),e=document.createElement("div");return e.className=n,e.innerHTML=t,e}var Ea=new d.CircleBufferGeometry(.12,16),Pp=`
1750
1750
  varying vec2 vUv;
1751
1751
  #include <common>
1752
1752
  #include <logdepthbuf_pars_vertex>
@@ -1755,7 +1755,7 @@ void main() {
1755
1755
  gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
1756
1756
  #include <logdepthbuf_vertex>
1757
1757
  }
1758
- `,Ap=`
1758
+ `,Bp=`
1759
1759
  uniform float circleScale;
1760
1760
  uniform float circleFade;
1761
1761
  uniform float circleOpacity;
@@ -1812,7 +1812,7 @@ void main() {
1812
1812
 
1813
1813
  gl_FragColor = vec4(gl_FragColor.rgb, gl_FragColor.a * opacity);
1814
1814
  }
1815
- `,mp=`
1815
+ `,Rp=`
1816
1816
  varying vec2 vUv;
1817
1817
  #include <common>
1818
1818
  #include <logdepthbuf_pars_vertex>
@@ -1821,7 +1821,7 @@ void main() {
1821
1821
  gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
1822
1822
  #include <logdepthbuf_vertex>
1823
1823
  }
1824
- `,gp=`
1824
+ `,kp=`
1825
1825
  varying vec2 vUv;
1826
1826
  uniform float opacity;
1827
1827
  #include <common>
@@ -1846,8 +1846,8 @@ void main() {
1846
1846
 
1847
1847
  gl_FragColor = vec4(gl_FragColor.rgb, gl_FragColor.a * opacity * outside * inside);
1848
1848
  }
1849
- `,yp=function(n){se(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 Me({ringScale:1.1,ringOpacity:0,circleFade:0,circleOpacity:.85,circleScale:1}),e.opacityMotion=new Me({opacity:0}),e.loadingMotion=new Me({opacity:0}),e.disableMotion=new Me({opacity:0});var r={blending:d.CustomBlending,blendSrc:d.SrcAlphaFactor,blendDst:d.OneMinusSrcAlphaFactor,blendSrcAlpha:d.OneFactor,blendDstAlpha:d.OneMinusSrcAlphaFactor,depthWrite:!1,transparent:!0};return e.hitTestMesh=new d.Mesh(ga,new d.MeshBasicMaterial(F(F({},r),{color:0,opacity:0}))),e.hitTestMesh.scale.set(1.5,1.5,1.5),e.ringMesh=new d.Mesh(ga,new d.ShaderMaterial(F(F({},r),{vertexShader:mp,fragmentShader:gp,uniforms:{opacity:{value:0}}}))),e.panoMesh=new d.Mesh(ga,new d.ShaderMaterial(F(F({},r),{vertexShader:vp,fragmentShader:Ap,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=pe(e,0,1),this.opacityMotion.set({opacity:e},30).catch(D))},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(D)}else{var r=[{progress:0,value:F({},this.currentMotion.value)},{progress:1,value:{ringScale:1.1,ringOpacity:0,circleFade:0,circleOpacity:.85,circleScale:1}}];this.currentMotion.setKeyframes(r,200).catch(D)}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(D):this.loadingMotion.set({opacity:0},0).catch(D),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(D),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 a=this.currentMotion.value,o=a.ringScale,s=a.ringOpacity,u=a.circleFade,l=a.circleOpacity,c=a.circleScale;this.ringMesh.scale.set(o,1,o),this.ringMesh.material.uniforms.opacity.value=s*i,this.panoMesh.material.uniforms.opacity.value=i,this.panoMesh.material.uniforms.circleOpacity.value=l,this.panoMesh.material.uniforms.circleScale.value=c,this.panoMesh.material.uniforms.circleFade.value=u,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}(d.Object3D),bp=1500,xp=function(n){se(t,n);function t(e){var r=this,i=t.parseArgs(e);r=n.call(this,i)||this,r.mode="VRPanorama",r.cardboard=new lp(r.renderer);var a=pp();r.helperElement=a;var o=new zn(a);return r.element.parentNode&&(r.element.parentNode.insertBefore(a,r.element),r.setHelperElementSize(),o.on("tap",function(){return r.emit("vr.requestExit",W("vr.requestExit",{}))})),r.destroyHelper=function(){o.destroy(),a.parentNode&&a.parentNode.removeChild(a),delete r.helperElement},r}return t.parseArgs=function(e){if(e instanceof t)return e;var r=F(F({},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 F(F({},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 a=i[r],o=this.panoMeshes[a];this.helper.remove(o),o.dispose(),delete this.panoMeshes[a]}},t.prototype.isReady=function(){return!1},t.prototype.updateRenderSize=function(){this.needsRender=!0,this.modelSceneNeedsRender=!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(ze(this.currentPano)),i=0,a=this.works.resolvedObservers;i<a.length;i++){var o=a[i],s=this.panoMeshes[o.panoId];s&&(r.indexOf(o.panoId)>=0?s.parent!==this.helper&&this.helper.add(s):s.parent===this.helper&&(this.helper.remove(s),s.setOpacity(0)))}},t.prototype.updatePanoMeshes=function(){for(var e=Object.keys(this.panoMeshes),r=0,i=e;r<i.length;r++){var a=i[r],o=this.panoMeshes[a];this.helper.remove(o),o.dispose(),delete this.panoMeshes[a]}for(var s=0,u=this.works.resolvedObservers;s<u.length;s++){var l=u[s],c=l.panoId,h=new yp;h.name="panoSphere_".concat(c),h.position.copy(l.position),h.needsRender=!0,this.panoMeshes[c]=h}this.updatePanoMeshesVisible()},t.prototype.updateTime=function(e,r){var i=this,a,o,s,u,l,c,h,A,m,f;if(!this.destroyed){var v=this.currentPano;this.userAction=!0,this.needsRender=!0,this.modelSceneNeedsRender=!0;var y={},p={},g=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),x=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),b=!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(pe(this.perspToOrthoMotion.value.perspToOrtho,0,1))),this.locationMotion.ended===!1){this.locationMotion.update(e);var w=this.locationMotion.getKeyFrameSegment(e),E=w[0],M=w[1],C=this.panoResourceFromLocationMotionKeyframe(E),I=this.panoResourceFromLocationMotionKeyframe(M),S=C.position,P=I.position,B=this.locationMotion.value.count-M.value.count+1;y.progress=B,I.panoPicture&&(B<1?C.panoPicture&&(y.pano0=C.panoPicture):y.pano0=I.panoPicture,y.pano1=I.panoPicture),I.effect==="montage"?y.transition="BLACK":I.effect==="spread"?y.transition="SPREAD":y.transition="FADE",(I.effect==="zoomin"||I.effect==="zoomout")&&(y.progress=Math.pow(B,3)),B<1&&I.effect!=="fly"&&(y.pano0&&C.panoPicture&&(y.pano0={map:y.pano0.map,zoom:y.pano0.zoom,luminanceMap:y.pano0.luminanceMap,matrix:C.panoPicture.matrix.clone().premultiply(C.fixCameraTransform).setPosition(I.position)}),S.copy(P),b=!0),p.distance=this.locationMotion.value.distance,p.offset=new d.Vector3(S.x+(P.x-S.x)*B,S.y+(P.y-S.y)*B,S.z+(P.z-S.z)*B);for(var L=[],k=[],O=0,z=this.locationMotion.keyframes;O<z.length;O++){var N=z[O],X=N.key,G=N.progress;X!==void 0&&(L.push(X),G>this.locationMotion.progress&&k.push(X))}for(var Q=0,H=Object.keys(this.panoResources);Q<H.length;Q++){var K=H[Q];if(!(k.indexOf(K)>=0)){var j=this.panoResources[K];if(j.panoPicture){var J=j.panoPicture.map,Z=j.panoPicture.luminanceMap;if(J){if(J===((a=y.pano0)===null||a===void 0?void 0:a.map)||J===((o=y.pano1)===null||o===void 0?void 0:o.map))continue;J instanceof Ne&&J.cubeRenderTarget&&this.colorCubeRenderTargetPool.push(J.cubeRenderTarget),J.dispose(),Z&&(Z instanceof Ne&&Z.cubeRenderTarget&&this.luminanceCubeRenderTargetPool.push(Z.cubeRenderTarget),Z.dispose()),j.panoPicture=null}}L.indexOf(K)>=0||delete this.panoResources[K]}}this.currentPano=pt(I.panoId),this.emit("pano.moving",W("pano.moving",{userAction:this.userAction,prevPano:pt(g.panoId),state:F(F(F(F({},pt(x.panoId)),{mode:this.mode}),We(this.camera.pose)),p),options:{},progress:this.locationMotion.progress,error:null}))}Qt(y)===!1&&(!((s=y.pano0)===null||s===void 0)&&s.map&&y.pano0.map instanceof Ne&&!y.pano0.map.cubeRenderTarget&&(y.pano0.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),!((u=y.pano0)===null||u===void 0)&&u.luminanceMap&&y.pano0.luminanceMap instanceof Ne&&!y.pano0.luminanceMap.cubeRenderTarget&&(y.pano0.luminanceMap.cubeRenderTarget=this.luminanceCubeRenderTargetPool.pop()),!((l=y.pano1)===null||l===void 0)&&l.map&&y.pano1.map instanceof Ne&&!y.pano1.map.cubeRenderTarget&&(y.pano1.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),!((c=y.pano1)===null||c===void 0)&&c.luminanceMap&&y.pano1.luminanceMap instanceof Ne&&!y.pano1.luminanceMap.cubeRenderTarget&&(y.pano1.luminanceMap.cubeRenderTarget=this.luminanceCubeRenderTargetPool.pop()),this.models.setMaterial(y)),p.offset&&this.camera.position.copy(p.offset),Zt(this.currentPano,v)&&this.updatePanoMeshesVisible();var Y=this.camera.pose.longitude,fe=this.camera.pose.latitude;this.camera.quaternion.fromArray(this.cardboard.sensor.getOrientation()),this.camera.computePose();var $=this.works.getResolvedObserver(this.currentPano);if(this.camera.pose.distance>.1||b)for(var ae=0,ie=Object.keys(this.panoMeshes);ae<ie.length;ae++){var ce=ie[ae],ne=this.panoMeshes[ce];ne.setOpacity(0),ne.updateTime&&ne.updateTime(e,r),ne.visible=!1}else if($)for(var ve=$.visibleIds.concat(ze(this.currentPano)),ue=0,he=ve;ue<he.length;ue++){var ce=he[ue],Se=pt(ce),Ce=this.works.getResolvedObserver(Se);if(Ce){var ne=this.panoMeshes[ce];if(!Ce.loadable&&!Ce.active){ne.setOpacity(0);continue}var Pe=ne.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);Pe<.05?ne.setOpacity(0):ne.setOpacity(pe(1.5/Pe,0,1)),Zt(this.currentPano,Se)&&ne.setOpacity(0),ne.lookAt(this.camera.position)}}if(this.locationMotion.ended)for(var ee=this.intersect(e),re=0,U=this.works.resolvedObservers;re<U.length;re++){var Ce=U[re],ne=this.panoMeshes[Ce.panoId];ne&&(ne.setCurrent(ne===ee),ne.updateTime&&ne.updateTime(e,r))}(Y!==this.camera.pose.longitude||fe!==this.camera.pose.latitude)&&(this.cameraMotion.set(Vt(this.camera.pose,["longitude","latitude"]),0).catch(D),this.emit("camera.update",W("camera.update",{userAction:!0,state:F(F(F({},this.currentPano),{mode:this.mode}),We(this.camera.pose))})));var Ve=this.tileLevel=function(){if(i.tileLevelForFov===!1)return 0;var ye=i.renderer.getDrawingBufferSize(new d.Vector2);ye.width*=i.scissor.width,ye.height*=i.scissor.height;var ge=x.panoId,me=i.works.getResolvedObserver(ge),Ae=i.imageOptions.size;if(typeof Ae=="undefined"&&me){var Qe=me.images.up.match(/\/cube_(\d+)\//);Qe&&(Ae=Number(Qe[1]))}typeof Ae=="undefined"&&(Ae=2048);var Ke=0;Ae>=1024&&(Ke=1),Ae>=2048&&(Ke=2),Ae>=4096&&(Ke=3),Ae>=8192&&(Ke=4);var rt=i.tileLevelForFov(i.camera.fov,ye);return rt>Ke?rt:0}(),ke=function(){var ye=i.camera.quaternion.clone(),ge=i.works.getResolvedObserver(x.panoId),me=ge!=null?ge:$;me&&ye.premultiply(me.quaternion.clone().inverse());var Ae=new d.Matrix4().makeRotationFromQuaternion(ye),Qe=new d.Matrix4().getInverse(Ae),Ke=new d.Frustum().setFromProjectionMatrix(new d.Matrix4().multiplyMatrices(i.camera.projectionMatrix,Qe));return Ke}();x.panoId===ze(this.currentPano)&&(((h=x.panoPicture)===null||h===void 0?void 0:h.map)instanceof Ne&&(x.panoPicture.map.maxRequest=this.tileMaxRequest,x.panoPicture.map.update(ke,Ve),x.panoPicture.map.needsRender===!0&&(x.panoPicture.map.needsRender=!1,this.needsRender=!0,this.modelSceneNeedsRender=!0)),((A=x.panoPicture)===null||A===void 0?void 0:A.luminanceMap)instanceof Ne&&(x.panoPicture.luminanceMap.maxRequest=this.tileMaxRequest,x.panoPicture.luminanceMap.update(ke,Ve),x.panoPicture.luminanceMap.needsRender===!0&&(x.panoPicture.luminanceMap.needsRender=!1,this.needsRender=!0,this.modelSceneNeedsRender=!0)));{var Te=this.tiling.object.visible;if(this.initAnimationed){var Ge=x.panoId,be=this.works.getResolvedObserver(Ge);be?Yn(this.camera.position,be.position)&&this.locationMotion.ended?(this.tiling.object.visible=!0,this.tiling.panoId!==Ge&&this.tiling.cleanup(),this.tiling.panoId=Ge,this.tiling.setResource((f=(m=be.images)===null||m===void 0?void 0:m.tiles)!==null&&f!==void 0?f:[],this.enableIOSEDR&&be.images.luminance?be.images.luminance:null),this.tiling.setFetcher(it(be.work)),this.tiling.setRotation(be.quaternion),this.tiling.setPosition(be.position),this.tiling.maxRequest=this.tileMaxRequest,Ve>this.TILED_CUBE_TEXTURE_LEVEL?this.tiling.update(ke,Ve,e):this.tiling.update(ke,0,e)):this.tiling.object.visible=!1:this.tiling.object.visible=!1}else this.tiling.object.visible=!1;Te!==this.tiling.object.visible&&(this.tiling.object.needsRender=!0,this.modelSceneNeedsRender=!0)}this.panoVideo.object.position.copy(this.camera.position),this.panoVideo.updateTime(e)}},t.prototype.render=function(){this.cardboard.render(this.modelScene,this.camera),this.renderer.autoClear=!1,this.cardboard.render(this.scene,this.camera),this.renderer.autoClear=!0},t.prototype.setCamera=function(e){},t.prototype.destroyHelper=function(){},t.prototype.setHelperElementSize=function(){if(this.helperElement){var e=new d.Vector2(this.element.offsetWidth,this.element.offsetHeight),r=e.x*this.scissor.left,i=e.y*(1-this.scissor.bottom-this.scissor.height),a=e.x*this.scissor.width,o=e.y*this.scissor.height;this.helperElement.style.marginLeft=r+"px",this.helperElement.style.marginTop=i+"px",this.helperElement.style.width=a+"px",this.helperElement.style.height=o+"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>bp){for(var a=this.activePanoMesh,o=Object.keys(this.panoMeshes),s=null,u=0,l=o;u<l.length;u++){var c=l[u];if(this.panoMeshes[c]===a){s=c;break}}return s!==null&&this.moveToPano(pt(s),{},!0),delete this.activePanoMesh,delete this.activeTime,a}var h=this.camera.getDirection(new d.Vector3),A=new d.Raycaster(this.camera.position,h);A.params.Points={threshold:.1};for(var m=void 0,f=[],v=this.works.getResolvedObserver(this.currentPano),y=v?v.visibleIds:[],p=0,g=y;p<g.length;p++){var s=g[p],x=this.panoMeshes[s],b=A.intersectObject((r=x.hitTestMesh)!==null&&r!==void 0?r:x,!0)[0];b&&f.push({panoMesh:x,intersection:F({floor:(i=v==null?void 0:v.floorIndex)!==null&&i!==void 0?i:0},b)})}var w=f.sort(function(S,P){return S.intersection.distance-P.intersection.distance})[0];w?(m=w.intersection,this.activePanoMesh!==w.panoMesh&&(this.activePanoMesh=w.panoMesh,this.activeTime=e),this.intersectMesh.position.copy(w.panoMesh.position),this.intersectMesh.lookAt(this.camera.position)):(this.activePanoMesh=void 0,this.activeTime=void 0),m||(m=this.models.intersectRaycaster(A)[0]);var E=W("intersect.update",{raycaster:A,intersection:m!=null?m:null,object:this.intersectMesh});if(this.emit("intersect.update",E),E.defaultPrevented){this.hideIntersectMesh();return}if(m&&m.face){var M=m.face.normal,C=new d.Quaternion;C.setFromUnitVectors(new d.Vector3(0,0,1),M),this.intersectMesh.quaternion.copy(C);var I=m.point.clone();this.intersectMesh.position.copy(I),w?this.intersectMesh.visible=!1:this.intersectMesh.visible=!0}else this.intersectMesh.visible=!1;return w==null?void 0:w.panoMesh},t.prototype.onPanGesture=function(){},t.prototype.onTapGesture=function(){},t.prototype.onPinchGesture=function(){},t.prototype.onMouseMove=function(){},t.prototype.onMouseOut=function(){},t}(go),wp=new d.Vector3(0,1.6,0),Ep=function(n){se(t,n);function t(e){var r=this,i,a=t.parseArgs(e);return r=n.call(this,a)||this,r.mode="Model",r.locationMotion=new Me({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 Me({modelAlpha:(i=r.models.getMaterial().modelAlpha)!==null&&i!==void 0?i:0}),r.perspToOrthoMotion=new Me({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,a,o,s,u,l=this.parseArgs(e),c=l.works,h=e.initial,A=h.state,m=h.currentState,f=typeof A.panoIndex=="number"?{workCode:(a=(r=A.workCode)!==null&&r!==void 0?r:(i=l.works[0])===null||i===void 0?void 0:i.workCode)!==null&&a!==void 0?a:"",panoIndex:A.panoIndex}:{workCode:m.workCode,panoIndex:m.panoIndex},v=c.getResolvedObserver(f),y=(o=A.longitude)!==null&&o!==void 0?o:m.longitude,p=pe((s=A.latitude)!==null&&s!==void 0?s:!v||Xn(m.mode)?m.latitude:l.defaultLatitude,l.minLatitude,l.maxLatitude),g=pe((u=A.fov)!==null&&u!==void 0?u:!v||Xn(m.mode)?m.fov:l.defaultFov,l.minFov,l.maxFov),x=new d.Vector3;if(l.initial.state.offset)x.copy(l.initial.state.offset);else if(v)x.copy(v.position);else{var b=Ot(m).setLength(m.distance);x.copy(l.initial.currentState.offset).sub(b)}return{workCode:f.workCode,panoIndex:f.panoIndex,mode:"Model",longitude:y,latitude:p,fov:g,offset:x,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,a){this.works=e;var o=t.initAnimationEndState(F(F({},this),{initial:{currentState:F(F({},this.currentPano),this.camera.pose),duration:i.duration,effect:i.effect,state:r,userAction:a}}));return this.hideIntersectMesh(),this.moveToPosition(o.offset,{duration:0,longitude:o.longitude,latitude:o.latitude,fov:o.fov},a),!0},t.prototype.updateCamera=function(e,r,i){var a=this;return this.initAnimationReady.then(function(){a.userAction=i,a.stopMomentumMovement();var o={},s={};return o.distance=0,e.offset!==void 0&&(o.x=e.offset.x,o.y=e.offset.y,o.z=e.offset.z),e.longitude!==void 0&&(s.longitude=e.longitude),e.latitude!==void 0&&(s.latitude=e.latitude),e.fov!==void 0&&(s.fov=e.fov),a.locationMotion.set(o,r).catch(D),a.cameraMotion.set(s,r).catch(D)})},t.prototype.updateCameraWithKeyframes=function(e,r,i){var a=this;return this.initAnimationReady.then(function(){a.userAction=i,a.stopMomentumMovement();for(var o=[],s=[],u=0,l=e;u<l.length;u++){var c=l[u];o.push({key:c.key,progress:c.progress,value:{distance:0,x:c.value.offset.x,y:c.value.offset.x,z:c.value.offset.x}}),s.push({key:c.key,progress:c.progress,value:{longitude:c.value.longitude,latitude:c.value.latitude,fov:c.value.fov}})}return a.locationMotion.setKeyframes(o,r).catch(D),a.cameraMotion.setKeyframes(e,r)})},t.prototype.updateTime=function(e,r){if(!this.destroyed){var i={},a={};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(pe(this.perspToOrthoMotion.value.perspToOrtho,0,1))),!this.locationMotion.ended){this.locationMotion.update(e),a.distance=this.locationMotion.value.distance,a.offset=new d.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z);var o=new d.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z),s=this.works.resolvedObservers,u=lr(s,function(l){return l.position.distanceTo(o)});this.currentPano=u?{workCode:u.work.workCode,panoIndex:u.panoIndex}:{workCode:"",panoIndex:0}}this.cameraMotion.ended||(this.cameraMotion.update(e),a.longitude=this.cameraMotion.value.longitude,a.latitude=this.cameraMotion.value.latitude,a.fov=this.cameraMotion.value.fov),Qt(i)||this.models.setMaterial(i),Qt(a)||this.setCamera(a)}},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 a=i.duration,o=i.userAction;e.userAction=o;var s=t.initAnimationEndState(e),u={modelAlpha:1},l={perspToOrtho:0},c={longitude:s.longitude,latitude:s.latitude,fov:s.fov,duration:a,moveStartCallback:function(h){e.perspToOrthoMotion.set(l,a).catch(D),e.modelAlphaMotion.set(u,a).catch(D),e.emit("initAnimation.start",W("initAnimation.start",{state:h,userAction:e.userAction}))},moveEndCallback:function(h){e.emit("initAnimation.end",W("initAnimation.end",{state:h,userAction:e.userAction})),r()},moveCancelCallback:function(){var h=e.currentPano,A=F(F({},h),{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",W("initAnimation.end",{state:A,userAction:e.userAction})),r()}};e.moveToPosition(s.offset,c,o)})},t.prototype.getTargetState=function(){var e=this.cameraMotion.getKeyFrameSegment(Ee())[1],r=this.locationMotion.getKeyFrameSegment(Ee())[1];return F(F({},this.currentPano),{mode:this.mode,longitude:e.value.longitude,latitude:e.value.latitude,fov:e.value.fov,offset:new d.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 a=this.works.getResolvedObserver(e);a&&this.moveToPosition(a.position,r,i)},t.prototype.moveToPosition=function(e,r,i){var a=this,o,s,u;r===void 0&&(r={}),this.userAction=i,this.stopMomentumMovement();for(var l=Ee(),c=new d.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z),h=c.distanceTo(e),A=this.locationMotion.getProgressVelocity(l),m=0,f=1;f<this.locationMotion.keyframes.length;f++){var v=this.locationMotion.keyframes[f-1].value,y=v.x,p=v.y,g=v.z,x=this.locationMotion.keyframes[f].value,b=x.x,w=x.y,E=x.z;m+=Math.sqrt(Math.pow(b-y,2)+Math.pow(w-p,2)+Math.pow(E-g,2))}var M=h===0?0:A*m/h,C=this.calculateMovingDuration(r.duration,h),I={x:e.x,y:e.y,z:e.z,distance:0},S={longitude:r.longitude,latitude:r.latitude,fov:r.fov},P=this.works.resolvedObservers,B=lr(P,function(z){return z.position.distanceTo(c)}),L=B?{workCode:B.work.workCode,panoIndex:B.panoIndex}:{workCode:"",panoIndex:0},k=F(F({},L),{mode:this.mode,longitude:(o=S.longitude)!==null&&o!==void 0?o:this.camera.pose.longitude,latitude:(s=S.latitude)!==null&&s!==void 0?s:this.camera.pose.latitude,fov:(u=S.fov)!==null&&u!==void 0?u:this.camera.pose.fov,offset:e.clone(),distance:0}),O=this.currentPano;this.emit("pano.moveTo",W("pano.moveTo",{options:r,prevPano:O,progress:0,state:k,userAction:this.userAction,error:null})),r.moveStartCallback&&r.moveStartCallback(k),this.cameraMotion.set(S,C).catch(D),this.locationMotion.set(I,C,M).then(function(){for(var z=0,N=a.models;z<N.length;z++){var X=N[z];X.show()}var G=F(F(F({},L),{mode:a.mode}),We(a.camera.pose));a.emit("pano.arrived",W("pano.arrived",{options:r,prevPano:O,progress:0,state:G,userAction:a.userAction,error:null})),r.moveEndCallback&&r.moveEndCallback(G)},function(){r.moveCancelCallback&&r.moveCancelCallback(),a.emit("pano.cancel",W("pano.cancel",{options:r,prevPano:O,progress:0,state:k,userAction:a.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 a=i.face.normal,o=i.point;if(new d.Vector3(0,1,0).angleTo(a)>Math.PI/3){var s=a.clone().setLength(.3).add(o);r.set(s,new d.Vector3(0,-1,0)),i=this.models.intersectRaycaster(r)[0]}}if(i){var u=new d.Vector3().copy(i.point).add(wp),l=this.works.resolvedObservers,c=lr(l,function(m){return m.position.distanceTo(u)},!0),h=c[0],A=c[1];h&&A<5&&(u.y=h.position.y),e.state.offset.copy(u),e.state.distance=0,this.emit("gesture.tap",e),e.defaultPrevented||this.moveToPosition(u,{},!0)}else this.emit("gesture.tap",e),e.defaultPrevented||this.cameraBounce()},t}(gu);const Cp=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,a=0,o="";return t[a].split(o).map(function(s){return s.charCodeAt(a)>i?s:String.fromCharCode((s.charCodeAt(a)+r)%i)}).join(o)}(`}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-
1850
- b-J-HrpA-z]|vv|{-J-z|qrycvrZnv\x07-7-rpA5}|vv|{9>;=6Htyl]|vv|{-J-}|wrpv|{Znv\x07-7-z]|vv|{H\f`),Mp=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,a=0,o="";return t[a].split(o).map(function(s){return s.charCodeAt(a)>i?s:String.fromCharCode((s.charCodeAt(a)+r)%i)}).join(o)}(`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
1849
+ `,Fp=function(n){ue(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 Me({ringScale:1.1,ringOpacity:0,circleFade:0,circleOpacity:.85,circleScale:1}),e.opacityMotion=new Me({opacity:0}),e.loadingMotion=new Me({opacity:0}),e.disableMotion=new Me({opacity:0});var r={blending:d.CustomBlending,blendSrc:d.SrcAlphaFactor,blendDst:d.OneMinusSrcAlphaFactor,blendSrcAlpha:d.OneFactor,blendDstAlpha:d.OneMinusSrcAlphaFactor,depthWrite:!1,transparent:!0};return e.hitTestMesh=new d.Mesh(Ea,new d.MeshBasicMaterial(L(L({},r),{color:0,opacity:0}))),e.hitTestMesh.scale.set(1.5,1.5,1.5),e.ringMesh=new d.Mesh(Ea,new d.ShaderMaterial(L(L({},r),{vertexShader:Rp,fragmentShader:kp,uniforms:{opacity:{value:0}}}))),e.panoMesh=new d.Mesh(Ea,new d.ShaderMaterial(L(L({},r),{vertexShader:Pp,fragmentShader:Bp,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=fe(e,0,1),this.opacityMotion.set({opacity:e},30).catch(D))},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(D)}else{var r=[{progress:0,value:L({},this.currentMotion.value)},{progress:1,value:{ringScale:1.1,ringOpacity:0,circleFade:0,circleOpacity:.85,circleScale:1}}];this.currentMotion.setKeyframes(r,200).catch(D)}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(D):this.loadingMotion.set({opacity:0},0).catch(D),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(D),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 a=this.currentMotion.value,o=a.ringScale,s=a.ringOpacity,l=a.circleFade,u=a.circleOpacity,c=a.circleScale;this.ringMesh.scale.set(o,1,o),this.ringMesh.material.uniforms.opacity.value=s*i,this.panoMesh.material.uniforms.opacity.value=i,this.panoMesh.material.uniforms.circleOpacity.value=u,this.panoMesh.material.uniforms.circleScale.value=c,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}(d.Object3D),Lp=1500,Op=function(n){ue(t,n);function t(e){var r=this,i=t.parseArgs(e);r=n.call(this,i)||this,r.mode="VRPanorama",r.cardboard=new Ep(r.renderer);var a=Tp();r.helperElement=a;var o=new Nn(a);return r.element.parentNode&&(r.element.parentNode.insertBefore(a,r.element),r.setHelperElementSize(),o.on("tap",function(){return r.emit("vr.requestExit",X("vr.requestExit",{}))})),r.destroyHelper=function(){o.destroy(),a.parentNode&&a.parentNode.removeChild(a),delete r.helperElement},r}return t.parseArgs=function(e){if(e instanceof t)return e;var r=L(L({},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 L(L({},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 a=i[r],o=this.panoMeshes[a];this.helper.remove(o),o.dispose(),delete this.panoMeshes[a]}},t.prototype.isReady=function(){return!1},t.prototype.updateRenderSize=function(){this.needsRender=!0,this.modelSceneNeedsRender=!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(ze(this.currentPano)),i=0,a=this.works.resolvedObservers;i<a.length;i++){var o=a[i],s=this.panoMeshes[o.panoId];s&&(r.indexOf(o.panoId)>=0?s.parent!==this.helper&&this.helper.add(s):s.parent===this.helper&&(this.helper.remove(s),s.setOpacity(0)))}},t.prototype.updatePanoMeshes=function(){for(var e=Object.keys(this.panoMeshes),r=0,i=e;r<i.length;r++){var a=i[r],o=this.panoMeshes[a];this.helper.remove(o),o.dispose(),delete this.panoMeshes[a]}for(var s=0,l=this.works.resolvedObservers;s<l.length;s++){var u=l[s],c=u.panoId,f=new Fp;f.name="panoSphere_".concat(c),f.position.copy(u.position),f.needsRender=!0,this.panoMeshes[c]=f}this.updatePanoMeshesVisible()},t.prototype.updateTime=function(e,r){var i=this,a,o,s,l,u,c,f,A,m,h;if(!this.destroyed){var p=this.currentPano;this.userAction=!0,this.needsRender=!0,this.modelSceneNeedsRender=!0;var y={},v={},g=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),x=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),b=!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(fe(this.perspToOrthoMotion.value.perspToOrtho,0,1))),this.locationMotion.ended===!1){this.locationMotion.update(e);var w=this.locationMotion.getKeyFrameSegment(e),E=w[0],I=w[1],M=this.panoResourceFromLocationMotionKeyframe(E),k=this.panoResourceFromLocationMotionKeyframe(I),B=M.position,C=k.position,T=this.locationMotion.value.count-I.value.count+1;y.progress=T,k.panoPicture&&(T<1?M.panoPicture&&(y.pano0=M.panoPicture):y.pano0=k.panoPicture,y.pano1=k.panoPicture),k.effect==="montage"?y.transition="BLACK":k.effect==="spread"?y.transition="SPREAD":y.transition="FADE",(k.effect==="zoomin"||k.effect==="zoomout")&&(y.progress=Math.pow(T,3)),T<1&&k.effect!=="fly"&&(y.pano0&&M.panoPicture&&(y.pano0={map:y.pano0.map,zoom:y.pano0.zoom,luminanceMap:y.pano0.luminanceMap,matrix:M.panoPicture.matrix.clone().premultiply(M.fixCameraTransform).setPosition(k.position)}),B.copy(C),b=!0),v.distance=this.locationMotion.value.distance,v.offset=new d.Vector3(B.x+(C.x-B.x)*T,B.y+(C.y-B.y)*T,B.z+(C.z-B.z)*T);for(var O=[],P=[],F=0,V=this.locationMotion.keyframes;F<V.length;F++){var z=V[F],j=z.key,K=z.progress;j!==void 0&&(O.push(j),K>this.locationMotion.progress&&P.push(j))}for(var H=0,q=Object.keys(this.panoResources);H<q.length;H++){var J=q[H];if(!(P.indexOf(J)>=0)){var G=this.panoResources[J];if(G.panoPicture){var W=G.panoPicture.map,_=G.panoPicture.luminanceMap;if(W){if(W===((a=y.pano0)===null||a===void 0?void 0:a.map)||W===((o=y.pano1)===null||o===void 0?void 0:o.map))continue;W instanceof Ne&&W.cubeRenderTarget&&this.colorCubeRenderTargetPool.push(W.cubeRenderTarget),W.dispose(),_&&(_ instanceof Ne&&_.cubeRenderTarget&&this.luminanceCubeRenderTargetPool.push(_.cubeRenderTarget),_.dispose()),G.panoPicture=null}}O.indexOf(J)>=0||delete this.panoResources[J]}}this.currentPano=vt(k.panoId),this.emit("pano.moving",X("pano.moving",{userAction:this.userAction,prevPano:vt(g.panoId),state:L(L(L(L({},vt(x.panoId)),{mode:this.mode}),Je(this.camera.pose)),v),options:{},progress:this.locationMotion.progress,error:null}))}Qt(y)===!1&&(!((s=y.pano0)===null||s===void 0)&&s.map&&y.pano0.map instanceof Ne&&!y.pano0.map.cubeRenderTarget&&(y.pano0.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),!((l=y.pano0)===null||l===void 0)&&l.luminanceMap&&y.pano0.luminanceMap instanceof Ne&&!y.pano0.luminanceMap.cubeRenderTarget&&(y.pano0.luminanceMap.cubeRenderTarget=this.luminanceCubeRenderTargetPool.pop()),!((u=y.pano1)===null||u===void 0)&&u.map&&y.pano1.map instanceof Ne&&!y.pano1.map.cubeRenderTarget&&(y.pano1.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),!((c=y.pano1)===null||c===void 0)&&c.luminanceMap&&y.pano1.luminanceMap instanceof Ne&&!y.pano1.luminanceMap.cubeRenderTarget&&(y.pano1.luminanceMap.cubeRenderTarget=this.luminanceCubeRenderTargetPool.pop()),this.models.setMaterial(y)),v.offset&&this.camera.position.copy(v.offset),Zt(this.currentPano,p)&&this.updatePanoMeshesVisible();var Y=this.camera.pose.longitude,oe=this.camera.pose.latitude;this.camera.quaternion.fromArray(this.cardboard.sensor.getOrientation()),this.camera.computePose();var $=this.works.getResolvedObserver(this.currentPano);if(this.camera.pose.distance>.1||b)for(var ae=0,ne=Object.keys(this.panoMeshes);ae<ne.length;ae++){var le=ne[ae],ie=this.panoMeshes[le];ie.setOpacity(0),ie.updateTime&&ie.updateTime(e,r),ie.visible=!1}else if($)for(var ge=$.visibleIds.concat(ze(this.currentPano)),he=0,ve=ge;he<ve.length;he++){var le=ve[he],Re=vt(le),Ce=this.works.getResolvedObserver(Re);if(Ce){var ie=this.panoMeshes[le];if(!Ce.loadable&&!Ce.active){ie.setOpacity(0);continue}var Te=ie.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);Te<.05?ie.setOpacity(0):ie.setOpacity(fe(1.5/Te,0,1)),Zt(this.currentPano,Re)&&ie.setOpacity(0),ie.lookAt(this.camera.position)}}if(this.locationMotion.ended)for(var ee=this.intersect(e),re=0,Q=this.works.resolvedObservers;re<Q.length;re++){var Ce=Q[re],ie=this.panoMeshes[Ce.panoId];ie&&(ie.setCurrent(ie===ee),ie.updateTime&&ie.updateTime(e,r))}(Y!==this.camera.pose.longitude||oe!==this.camera.pose.latitude)&&(this.cameraMotion.set(Vt(this.camera.pose,["longitude","latitude"]),0).catch(D),this.emit("camera.update",X("camera.update",{userAction:!0,state:L(L(L({},this.currentPano),{mode:this.mode}),Je(this.camera.pose))})));var Ve=this.tileLevel=function(){if(i.tileLevelForFov===!1)return 0;var ye=i.renderer.getDrawingBufferSize(new d.Vector2);ye.width*=i.scissor.width,ye.height*=i.scissor.height;var me=x.panoId,Ae=i.works.getResolvedObserver(me),pe=i.imageOptions.size;if(typeof pe=="undefined"&&Ae){var Qe=Ae.images.up.match(/\/cube_(\d+)\//);Qe&&(pe=Number(Qe[1]))}typeof pe=="undefined"&&(pe=2048);var Ke=0;pe>=1024&&(Ke=1),pe>=2048&&(Ke=2),pe>=4096&&(Ke=3),pe>=8192&&(Ke=4);var rt=i.tileLevelForFov(i.camera.fov,ye);return rt>Ke?rt:0}(),ke=function(){var ye=i.camera.quaternion.clone(),me=i.works.getResolvedObserver(x.panoId),Ae=me!=null?me:$;Ae&&ye.premultiply(Ae.quaternion.clone().inverse());var pe=new d.Matrix4().makeRotationFromQuaternion(ye),Qe=new d.Matrix4().getInverse(pe),Ke=new d.Frustum().setFromProjectionMatrix(new d.Matrix4().multiplyMatrices(i.camera.projectionMatrix,Qe));return Ke}();x.panoId===ze(this.currentPano)&&(((f=x.panoPicture)===null||f===void 0?void 0:f.map)instanceof Ne&&(x.panoPicture.map.maxRequest=this.tileMaxRequest,x.panoPicture.map.update(ke,Ve),x.panoPicture.map.needsRender===!0&&(x.panoPicture.map.needsRender=!1,this.needsRender=!0,this.modelSceneNeedsRender=!0)),((A=x.panoPicture)===null||A===void 0?void 0:A.luminanceMap)instanceof Ne&&(x.panoPicture.luminanceMap.maxRequest=this.tileMaxRequest,x.panoPicture.luminanceMap.update(ke,Ve),x.panoPicture.luminanceMap.needsRender===!0&&(x.panoPicture.luminanceMap.needsRender=!1,this.needsRender=!0,this.modelSceneNeedsRender=!0)));{var Se=this.tiling.object.visible;if(this.initAnimationed){var Ge=x.panoId,be=this.works.getResolvedObserver(Ge);be?ri(this.camera.position,be.position)&&this.locationMotion.ended?(this.tiling.object.visible=!0,this.tiling.panoId!==Ge&&this.tiling.cleanup(),this.tiling.panoId=Ge,this.tiling.setResource((h=(m=be.images)===null||m===void 0?void 0:m.tiles)!==null&&h!==void 0?h:[],this.enableIOSEDR&&be.images.luminance?be.images.luminance:null),this.tiling.setFetcher(it(be.work)),this.tiling.setRotation(be.quaternion),this.tiling.setPosition(be.position),this.tiling.maxRequest=this.tileMaxRequest,Ve>this.TILED_CUBE_TEXTURE_LEVEL?this.tiling.update(ke,Ve,e):this.tiling.update(ke,0,e)):this.tiling.object.visible=!1:this.tiling.object.visible=!1}else this.tiling.object.visible=!1;Se!==this.tiling.object.visible&&(this.tiling.object.needsRender=!0,this.modelSceneNeedsRender=!0)}this.panoVideo.object.position.copy(this.camera.position),this.panoVideo.updateTime(e)}},t.prototype.render=function(){this.cardboard.render(this.modelScene,this.camera),this.renderer.autoClear=!1,this.cardboard.render(this.scene,this.camera),this.renderer.autoClear=!0},t.prototype.setCamera=function(e){},t.prototype.destroyHelper=function(){},t.prototype.setHelperElementSize=function(){if(this.helperElement){var e=new d.Vector2(this.element.offsetWidth,this.element.offsetHeight),r=e.x*this.scissor.left,i=e.y*(1-this.scissor.bottom-this.scissor.height),a=e.x*this.scissor.width,o=e.y*this.scissor.height;this.helperElement.style.marginLeft=r+"px",this.helperElement.style.marginTop=i+"px",this.helperElement.style.width=a+"px",this.helperElement.style.height=o+"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>Lp){for(var a=this.activePanoMesh,o=Object.keys(this.panoMeshes),s=null,l=0,u=o;l<u.length;l++){var c=u[l];if(this.panoMeshes[c]===a){s=c;break}}return s!==null&&this.moveToPano(vt(s),{},!0),delete this.activePanoMesh,delete this.activeTime,a}var f=this.camera.getDirection(new d.Vector3),A=new d.Raycaster(this.camera.position,f);A.params.Points={threshold:.1};for(var m=void 0,h=[],p=this.works.getResolvedObserver(this.currentPano),y=p?p.visibleIds:[],v=0,g=y;v<g.length;v++){var s=g[v],x=this.panoMeshes[s],b=A.intersectObject((r=x.hitTestMesh)!==null&&r!==void 0?r:x,!0)[0];b&&h.push({panoMesh:x,intersection:L({floor:(i=p==null?void 0:p.floorIndex)!==null&&i!==void 0?i:0},b)})}var w=h.sort(function(B,C){return B.intersection.distance-C.intersection.distance})[0];w?(m=w.intersection,this.activePanoMesh!==w.panoMesh&&(this.activePanoMesh=w.panoMesh,this.activeTime=e),this.intersectMesh.position.copy(w.panoMesh.position),this.intersectMesh.lookAt(this.camera.position)):(this.activePanoMesh=void 0,this.activeTime=void 0),m||(m=this.models.intersectRaycaster(A)[0]);var E=X("intersect.update",{raycaster:A,intersection:m!=null?m:null,object:this.intersectMesh});if(this.emit("intersect.update",E),E.defaultPrevented){this.hideIntersectMesh();return}if(m&&m.face){var I=m.face.normal,M=new d.Quaternion;M.setFromUnitVectors(new d.Vector3(0,0,1),I),this.intersectMesh.quaternion.copy(M);var k=m.point.clone();this.intersectMesh.position.copy(k),w?this.intersectMesh.visible=!1:this.intersectMesh.visible=!0}else this.intersectMesh.visible=!1;return w==null?void 0:w.panoMesh},t.prototype.onPanGesture=function(){},t.prototype.onTapGesture=function(){},t.prototype.onPinchGesture=function(){},t.prototype.onMouseMove=function(){},t.prototype.onMouseOut=function(){},t}(Co),Vp=new d.Vector3(0,1.6,0),Np=function(n){ue(t,n);function t(e){var r=this,i,a=t.parseArgs(e);return r=n.call(this,a)||this,r.mode="Model",r.locationMotion=new Me({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 Me({modelAlpha:(i=r.models.getMaterial().modelAlpha)!==null&&i!==void 0?i:0}),r.perspToOrthoMotion=new Me({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,a,o,s,l,u=this.parseArgs(e),c=u.works,f=e.initial,A=f.state,m=f.currentState,h=typeof A.panoIndex=="number"?{workCode:(a=(r=A.workCode)!==null&&r!==void 0?r:(i=u.works[0])===null||i===void 0?void 0:i.workCode)!==null&&a!==void 0?a:"",panoIndex:A.panoIndex}:{workCode:m.workCode,panoIndex:m.panoIndex},p=c.getResolvedObserver(h),y=(o=A.longitude)!==null&&o!==void 0?o:m.longitude,v=fe((s=A.latitude)!==null&&s!==void 0?s:!p||jn(m.mode)?m.latitude:u.defaultLatitude,u.minLatitude,u.maxLatitude),g=fe((l=A.fov)!==null&&l!==void 0?l:!p||jn(m.mode)?m.fov:u.defaultFov,u.minFov,u.maxFov),x=new d.Vector3;if(u.initial.state.offset)x.copy(u.initial.state.offset);else if(p)x.copy(p.position);else{var b=Ot(m).setLength(m.distance);x.copy(u.initial.currentState.offset).sub(b)}return{workCode:h.workCode,panoIndex:h.panoIndex,mode:"Model",longitude:y,latitude:v,fov:g,offset:x,distance:0}},t.prototype.destroy=function(){n.prototype.destroy.call(this),this.locationMotion.dispose()},t.prototype.isReady=function(){return this.locationMotion.ended===!1?!1:n.prototype.isReady.call(this)},t.prototype.updateWork=function(e,r,i,a){this.works=e;var o=t.initAnimationEndState(L(L({},this),{initial:{currentState:L(L({},this.currentPano),this.camera.pose),duration:i.duration,effect:i.effect,state:r,userAction:a}}));return this.hideIntersectMesh(),this.moveToPosition(o.offset,{duration:0,longitude:o.longitude,latitude:o.latitude,fov:o.fov},a),!0},t.prototype.updateCamera=function(e,r,i){var a=this;return this.initAnimationReady.then(function(){a.userAction=i,a.stopMomentumMovement();var o={},s={};return o.distance=0,e.offset!==void 0&&(o.x=e.offset.x,o.y=e.offset.y,o.z=e.offset.z),e.longitude!==void 0&&(s.longitude=e.longitude),e.latitude!==void 0&&(s.latitude=e.latitude),e.fov!==void 0&&(s.fov=e.fov),a.locationMotion.set(o,r).catch(D),a.cameraMotion.set(s,r).catch(D)})},t.prototype.updateCameraWithKeyframes=function(e,r,i){var a=this;return this.initAnimationReady.then(function(){a.userAction=i,a.stopMomentumMovement();for(var o=[],s=[],l=0,u=e;l<u.length;l++){var c=u[l];o.push({key:c.key,progress:c.progress,value:{distance:0,x:c.value.offset.x,y:c.value.offset.x,z:c.value.offset.x}}),s.push({key:c.key,progress:c.progress,value:{longitude:c.value.longitude,latitude:c.value.latitude,fov:c.value.fov}})}return a.locationMotion.setKeyframes(o,r).catch(D),a.cameraMotion.setKeyframes(e,r)})},t.prototype.updateTime=function(e,r){if(!this.destroyed){var i={},a={};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(fe(this.perspToOrthoMotion.value.perspToOrtho,0,1))),!this.locationMotion.ended){this.locationMotion.update(e),a.distance=this.locationMotion.value.distance,a.offset=new d.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z);var o=new d.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z),s=this.works.resolvedObservers,l=lr(s,function(u){return u.position.distanceTo(o)});this.currentPano=l?{workCode:l.work.workCode,panoIndex:l.panoIndex}:{workCode:"",panoIndex:0}}this.cameraMotion.ended||(this.cameraMotion.update(e),a.longitude=this.cameraMotion.value.longitude,a.latitude=this.cameraMotion.value.latitude,a.fov=this.cameraMotion.value.fov),Qt(i)||this.models.setMaterial(i),Qt(a)||this.setCamera(a)}},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 a=i.duration,o=i.userAction;e.userAction=o;var s=t.initAnimationEndState(e),l={modelAlpha:1},u={perspToOrtho:0},c={longitude:s.longitude,latitude:s.latitude,fov:s.fov,duration:a,moveStartCallback:function(f){e.perspToOrthoMotion.set(u,a).catch(D),e.modelAlphaMotion.set(l,a).catch(D),e.emit("initAnimation.start",X("initAnimation.start",{state:f,userAction:e.userAction}))},moveEndCallback:function(f){e.emit("initAnimation.end",X("initAnimation.end",{state:f,userAction:e.userAction})),r()},moveCancelCallback:function(){var f=e.currentPano,A=L(L({},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",X("initAnimation.end",{state:A,userAction:e.userAction})),r()}};e.moveToPosition(s.offset,c,o)})},t.prototype.getTargetState=function(){var e=this.cameraMotion.getKeyFrameSegment(Ee())[1],r=this.locationMotion.getKeyFrameSegment(Ee())[1];return L(L({},this.currentPano),{mode:this.mode,longitude:e.value.longitude,latitude:e.value.latitude,fov:e.value.fov,offset:new d.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 a=this.works.getResolvedObserver(e);a&&this.moveToPosition(a.position,r,i)},t.prototype.moveToPosition=function(e,r,i){var a=this,o,s,l;r===void 0&&(r={}),this.userAction=i,this.stopMomentumMovement();for(var u=Ee(),c=new d.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z),f=c.distanceTo(e),A=this.locationMotion.getProgressVelocity(u),m=0,h=1;h<this.locationMotion.keyframes.length;h++){var p=this.locationMotion.keyframes[h-1].value,y=p.x,v=p.y,g=p.z,x=this.locationMotion.keyframes[h].value,b=x.x,w=x.y,E=x.z;m+=Math.sqrt(Math.pow(b-y,2)+Math.pow(w-v,2)+Math.pow(E-g,2))}var I=f===0?0:A*m/f,M=this.calculateMovingDuration(r.duration,f),k={x:e.x,y:e.y,z:e.z,distance:0},B={longitude:r.longitude,latitude:r.latitude,fov:r.fov},C=this.works.resolvedObservers,T=lr(C,function(V){return V.position.distanceTo(c)}),O=T?{workCode:T.work.workCode,panoIndex:T.panoIndex}:{workCode:"",panoIndex:0},P=L(L({},O),{mode:this.mode,longitude:(o=B.longitude)!==null&&o!==void 0?o:this.camera.pose.longitude,latitude:(s=B.latitude)!==null&&s!==void 0?s:this.camera.pose.latitude,fov:(l=B.fov)!==null&&l!==void 0?l:this.camera.pose.fov,offset:e.clone(),distance:0}),F=this.currentPano;this.emit("pano.moveTo",X("pano.moveTo",{options:r,prevPano:F,progress:0,state:P,userAction:this.userAction,error:null})),r.moveStartCallback&&r.moveStartCallback(P),this.cameraMotion.set(B,M).catch(D),this.locationMotion.set(k,M,I).then(function(){for(var V=0,z=a.models;V<z.length;V++){var j=z[V];j.show()}var K=L(L(L({},O),{mode:a.mode}),Je(a.camera.pose));a.emit("pano.arrived",X("pano.arrived",{options:r,prevPano:F,progress:0,state:K,userAction:a.userAction,error:null})),r.moveEndCallback&&r.moveEndCallback(K)},function(){r.moveCancelCallback&&r.moveCancelCallback(),a.emit("pano.cancel",X("pano.cancel",{options:r,prevPano:F,progress:0,state:P,userAction:a.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 a=i.face.normal,o=i.point;if(new d.Vector3(0,1,0).angleTo(a)>Math.PI/3){var s=a.clone().setLength(.3).add(o);r.set(s,new d.Vector3(0,-1,0)),i=this.models.intersectRaycaster(r)[0]}}if(i){var l=new d.Vector3().copy(i.point).add(Vp),u=this.works.resolvedObservers,c=lr(u,function(m){return m.position.distanceTo(l)},!0),f=c[0],A=c[1];f&&A<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}(Tu);const zp=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,a=0,o="";return t[a].split(o).map(function(s){return s.charCodeAt(a)>i?s:String.fromCharCode((s.charCodeAt(a)+r)%i)}).join(o)}(`}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-
1850
+ b-J-HrpA-z]|vv|{-J-z|qrycvrZnv\x07-7-rpA5}|vv|{9>;=6Htyl]|vv|{-J-}|wrpv|{Znv\x07-7-z]|vv|{H\f`),Dp=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,a=0,o="";return t[a].split(o).map(function(s){return s.charCodeAt(a)>i?s:String.fromCharCode((s.charCodeAt(a)+r)%i)}).join(o)}(`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
1851
1851
  --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
1852
1852
  ----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
1853
1853
  ------vs5qr}u-JJ-=;=6
@@ -1855,11 +1855,11 @@ void main() {
1855
1855
  --------z-8J-zn\x075=;=9-qr}u-:-{rvtuo|Qr}u6H------\f----\f--\f--r{-z-<-sy|n5[RVTUO\\b_lP\\b[a6H\f|vq-znv{56
1856
1856
  --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--
1857
1857
  -<<-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
1858
- ----qvpnqH--\f\f`);var Sp=function(n){se(t,n);function t(e){var r=n.call(this)||this;return r.uniforms={screenWidth:Pt("f",0),screenHeight:Pt("f",0),edlStrength:Pt("f",1),uNear:Pt("f",1),uFar:Pt("f",1),radius:Pt("f",1),neighbours:Pt("2fv",new Float32Array),depthMap:Pt("t",new d.Texture),uEDLColor:Pt("t",new d.Texture),uEDLDepth:Pt("t",new d.Texture),opacity:Pt("f",1),uProj:Pt("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+`
1859
- `,e},t.prototype.updateShaderSource=function(){var e=this.getDefines()+Cp,r=this.getDefines()+Mp;this.setValues({vertexShader:e,fragmentShader:r}),this.needsUpdate=!0},Ct([Xt("screenWidth"),Mt("design:type",Number)],t.prototype,"screenWidth",void 0),Ct([Xt("screenHeight"),Mt("design:type",Number)],t.prototype,"screenHeight",void 0),Ct([Xt("edlStrength"),Mt("design:type",Number)],t.prototype,"edlStrength",void 0),Ct([Xt("uNear"),Mt("design:type",Number)],t.prototype,"uNear",void 0),Ct([Xt("uFar"),Mt("design:type",Number)],t.prototype,"uFar",void 0),Ct([Xt("radius"),Mt("design:type",Number)],t.prototype,"radius",void 0),Ct([Xt("neighbours",!0),Mt("design:type",Float32Array)],t.prototype,"neighbours",void 0),Ct([Xt("depthMap"),Mt("design:type",d.Texture)],t.prototype,"depthMap",void 0),Ct([Xt("uEDLColor"),Mt("design:type",d.Texture)],t.prototype,"uEDLColor",void 0),Ct([Xt("uEDLDepth"),Mt("design:type",d.Texture)],t.prototype,"uEDLDepth",void 0),Ct([Xt("uProj"),Mt("design:type",Array)],t.prototype,"uProj",void 0),t}(d.RawShaderMaterial);function Pt(n,t){return{type:n,value:t}}function Xt(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 Ip=new d.OrthographicCamera(-1,1,1,-1,0,1),yo=new d.BufferGeometry;yo.setAttribute("position",new d.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3));yo.setAttribute("uv",new d.Float32BufferAttribute([0,2,0,0,2,0],2));var Cu=new d.Mesh(yo),Mu=new d.Scene;Mu.add(Cu);var Tp=function(n){se(t,n);function t(e,r,i,a){var o=n.call(this,e,r,i,a)||this;return o.sharedV2=new d.Vector2,o.renderer=e,o.material=new Sp,Cu.material=o.material,o.material.needsUpdate=!0,o}return t.prototype.render=function(e){this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0,this.renderer.setRenderTarget(e[0]),this.renderer.render(this.scene,this.camera);var r=this.camera,i=this.material.uniforms,a=this.renderer.getSize(this.sharedV2);i.screenWidth.value=a.x,i.screenHeight.value=a.y;var o=r.projectionMatrix,s=new Float32Array(16);s.set(o.elements);for(var u=new Float32Array(this.material.neighbourCount*2),l=0;l<this.material.neighbourCount;l++)u[2*l+0]=Math.cos(2*l*Math.PI/this.material.neighbourCount),u[2*l+1]=Math.sin(2*l*Math.PI/this.material.neighbourCount);i.neighbours.value=u,i.uNear.value=r.near,i.uFar.value=r.far,i.uEDLColor.value=e[0].texture,i.uProj.value=s,i.edlStrength.value=.25,i.radius.value=1,i.opacity.value=1,this.renderer.setRenderTarget(e[1]),this.renderer.render(Mu,Ip)},t.prototype.dispose=function(){this.copyPass.dispose()},t}(Ao);const Pp=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,a=0,o="";return t[a].split(o).map(function(s){return s.charCodeAt(a)>i?s:String.fromCharCode((s.charCodeAt(a)+r)%i)}).join(o)}(`}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-
1858
+ ----qvpnqH--\f\f`);var Qp=function(n){ue(t,n);function t(e){var r=n.call(this)||this;return r.uniforms={screenWidth:Pt("f",0),screenHeight:Pt("f",0),edlStrength:Pt("f",1),uNear:Pt("f",1),uFar:Pt("f",1),radius:Pt("f",1),neighbours:Pt("2fv",new Float32Array),depthMap:Pt("t",new d.Texture),uEDLColor:Pt("t",new d.Texture),uEDLDepth:Pt("t",new d.Texture),opacity:Pt("f",1),uProj:Pt("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+`
1859
+ `,e},t.prototype.updateShaderSource=function(){var e=this.getDefines()+zp,r=this.getDefines()+Dp;this.setValues({vertexShader:e,fragmentShader:r}),this.needsUpdate=!0},Ct([Xt("screenWidth"),Mt("design:type",Number)],t.prototype,"screenWidth",void 0),Ct([Xt("screenHeight"),Mt("design:type",Number)],t.prototype,"screenHeight",void 0),Ct([Xt("edlStrength"),Mt("design:type",Number)],t.prototype,"edlStrength",void 0),Ct([Xt("uNear"),Mt("design:type",Number)],t.prototype,"uNear",void 0),Ct([Xt("uFar"),Mt("design:type",Number)],t.prototype,"uFar",void 0),Ct([Xt("radius"),Mt("design:type",Number)],t.prototype,"radius",void 0),Ct([Xt("neighbours",!0),Mt("design:type",Float32Array)],t.prototype,"neighbours",void 0),Ct([Xt("depthMap"),Mt("design:type",d.Texture)],t.prototype,"depthMap",void 0),Ct([Xt("uEDLColor"),Mt("design:type",d.Texture)],t.prototype,"uEDLColor",void 0),Ct([Xt("uEDLDepth"),Mt("design:type",d.Texture)],t.prototype,"uEDLDepth",void 0),Ct([Xt("uProj"),Mt("design:type",Array)],t.prototype,"uProj",void 0),t}(d.RawShaderMaterial);function Pt(n,t){return{type:n,value:t}}function Xt(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 Up=new d.OrthographicCamera(-1,1,1,-1,0,1),Mo=new d.BufferGeometry;Mo.setAttribute("position",new d.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3));Mo.setAttribute("uv",new d.Float32BufferAttribute([0,2,0,0,2,0],2));var Lu=new d.Mesh(Mo),Ou=new d.Scene;Ou.add(Lu);var qp=function(n){ue(t,n);function t(e,r,i,a){var o=n.call(this,e,r,i,a)||this;return o.sharedV2=new d.Vector2,o.renderer=e,o.material=new Qp,Lu.material=o.material,o.material.needsUpdate=!0,o}return t.prototype.render=function(e){this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0,this.renderer.setRenderTarget(e[0]),this.renderer.render(this.scene,this.camera);var r=this.camera,i=this.material.uniforms,a=this.renderer.getSize(this.sharedV2);i.screenWidth.value=a.x,i.screenHeight.value=a.y;var o=r.projectionMatrix,s=new Float32Array(16);s.set(o.elements);for(var l=new Float32Array(this.material.neighbourCount*2),u=0;u<this.material.neighbourCount;u++)l[2*u+0]=Math.cos(2*u*Math.PI/this.material.neighbourCount),l[2*u+1]=Math.sin(2*u*Math.PI/this.material.neighbourCount);i.neighbours.value=l,i.uNear.value=r.near,i.uFar.value=r.far,i.uEDLColor.value=e[0].texture,i.uProj.value=s,i.edlStrength.value=.25,i.radius.value=1,i.opacity.value=1,this.renderer.setRenderTarget(e[1]),this.renderer.render(Ou,Up)},t.prototype.dispose=function(){this.copyPass.dispose()},t}(wo);const Hp=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,a=0,o="";return t[a].split(o).map(function(s){return s.charCodeAt(a)>i?s:String.fromCharCode((s.charCodeAt(a)+r)%i)}).join(o)}(`}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-
1860
1860
  sy|n-qr}u-J-r\x07r?Q5Qr}uZn}9-b6;Hvs5qr}u-KJ->;=6
1861
- 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`),Bp=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,a=0,o="";return t[a].split(o).map(function(s){return s.charCodeAt(a)>i?s:String.fromCharCode((s.charCodeAt(a)+r)%i)}).join(o)}(`}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-
1862
- b-J-Htyl]|vv|{-J-}|wrpv|{Znv\x07-7-z|qrycvrZnv\x07-7-rpA5}|vv|{9>;=6H\f`);var Rp=function(n){se(t,n);function t(e){var r=n.call(this,{vertexShader:Bp,fragmentShader:Pp})||this;return r.uniforms={uDepthMap:Qs("t",null),uWeightMap:Qs("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}},Ct([Us("uDepthMap"),Mt("design:type",Number)],t.prototype,"uDepthMap",void 0),Ct([Us("uWeightMap"),Mt("design:type",Number)],t.prototype,"uWeightMap",void 0),t}(d.RawShaderMaterial);function Qs(n,t){return{type:n,value:t}}function Us(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 kp=new d.OrthographicCamera(-1,1,1,-1,0,1),bo=new d.BufferGeometry;bo.setAttribute("position",new d.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3));bo.setAttribute("uv",new d.Float32BufferAttribute([0,2,0,0,2,0],2));var Su=new d.Mesh(bo),Iu=new d.Scene;Iu.add(Su);var Fp=function(n){se(t,n);function t(e,r,i,a){var o=n.call(this,e,r,i,a)||this;return o.sharedV2=new d.Vector2,o.renderer=e,o.material=new Rp,o.camera=i,Su.material=o.material,o}return t.prototype.render=function(e){this.models.setMaterial({useHQDepth:!0,useHQWeight:!1}),this.models.update(this.renderer,this.camera,"Mapview"),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0,this.renderer.setRenderTarget(e[0]),this.renderer.render(this.scene,this.camera),this.models.setMaterial({useHQWeight:!0,useHQDepth:!1}),this.models.update(this.renderer,this.camera,"Mapview"),this.renderer.autoClearDepth=!1,this.renderer.autoClearColor=!0,this.renderer.setClearColor(new d.Color(0,0,0)),this.renderer.setClearAlpha(0),this.renderer.setRenderTarget(e[1]),this.renderer.render(this.scene,this.camera),this.material.uniforms.uWeightMap.value=e[1].texture,this.material.uniforms.uDepthMap.value=e[0].depthTexture,this.renderer.autoClearDepth=!0,this.renderer.autoClearColor=!0,this.renderer.setClearColor(new d.Color(0,0,0)),this.renderer.setClearAlpha(1),this.renderer.setRenderTarget(e[2]),this.renderer.render(Iu,kp)},t.prototype.dispose=function(){this.copyPass.dispose()},t}(Ao),ya=.5,ba=0,qs=Math.PI/9,Lp=function(n){se(t,n);function t(e){var r=this,i,a=t.parseArgs(e);return r=n.call(this,a)||this,r.mode="Mapview",r.defaultLongitude=a.defaultLongitude,r.defaultLatitude=a.defaultLatitude,r.defaultDistance=a.defaultDistance,r.maxLatitude=a.maxLatitude,r.minLatitude=a.minLatitude,r.cameraType=a.cameraType,r.modelInScreen=a.modelInScreen,r.locationMotion=new Me({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 Me({modelAlpha:(i=r.models.getMaterial().modelAlpha)!==null&&i!==void 0?i:0}),r.perspToOrthoMotion=new Me({perspToOrtho:r.camera.perspToOrtho.x}),r.intersectMeshCreator=a.intersectMeshCreator,r.intersectMesh=r.intersectMeshCreator(),r.intersectMesh.name="intersect",r.intersectMesh.visible=!1,r.currentTapId=null,r.helper.add(r.intersectMesh),r.edlTarget=new d.WebGLRenderTarget(1024,1024,{generateMipmaps:!1,minFilter:d.NearestFilter,magFilter:d.NearestFilter,format:d.RGBAFormat,type:d.FloatType,depthTexture:new d.DepthTexture(1024,1024,d.UnsignedIntType)}),r.edlEffect=new Tp(r.renderer,r.modelScene,r.camera,r.models),r.hqEffect=new Fp(r.renderer,r.modelScene,r.camera,r.models),r}return t.parseArgs=function(e){var r,i,a,o,s,u,l,c;if(e instanceof t)return e;var h=n.parseArgs.call(this,e);return F(F({},h),{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:(a=e.defaultDistance)!==null&&a!==void 0?a:150,maxLatitude:(o=e.maxLatitude)!==null&&o!==void 0?o:+Math.PI/2,minLatitude:(s=e.minLatitude)!==null&&s!==void 0?s:0,cameraType:(u=e.cameraType)!==null&&u!==void 0?u:"auto",modelInScreen:(l=e.modelInScreen)!==null&&l!==void 0?l:"boundingbox-center",intersectMeshCreator:(c=e.intersectMeshCreator)!==null&&c!==void 0?c:function(){return new Vi}})},t.distanceFromModel=function(e,r,i){var a=e.bounding,o=Math.pow(Math.pow(a.max.x-a.min.x+1,2)+Math.pow(a.max.y-a.min.y+1,2)+Math.pow(a.max.z-a.min.z+1,2),1/2),s=o/2/Math.tan(Math.PI*r/360);return i<1&&(s=s/i),isNaN(s)?o:s},t.initAnimationEndState=function(e){var r,i,a,o,s,u,l,c=this.parseArgs(e),h=c.works,A=c.models,m=e.initial,f=m.state,v=m.currentState,y=typeof f.panoIndex=="number"?{workCode:(a=(r=f.workCode)!==null&&r!==void 0?r:(i=c.works[0])===null||i===void 0?void 0:i.workCode)!==null&&a!==void 0?a:"",panoIndex:f.panoIndex}:{workCode:v.workCode,panoIndex:v.panoIndex},p=h.getResolvedObserver(y),g=(o=f.fov)!==null&&o!==void 0?o:60,x=pe((s=f.latitude)!==null&&s!==void 0?s:Da(v.mode)?v.latitude:c.defaultLatitude,c.minLatitude,c.maxLatitude),b=t.distanceFromModel(c.models,g,c.camera.aspect),w=new d.Vector3,E=(u=f.distance)!==null&&u!==void 0?u:Math.min(c.defaultDistance,b),M=(l=f.longitude)!==null&&l!==void 0?l:Da(v.mode)?v.longitude:c.defaultLongitude;return f.offset?w.copy(f.offset):c.defaultDistance<b&&p?(w.copy(p.position),f.longitude===void 0&&(M=v.longitude)):w.copy(A.bounding.getCenter(w)),A.bounding.containsPoint(w)||A.bounding.getCenter(w),F(F({},y),{mode:"Mapview",longitude:M,latitude:x,fov:g,offset:w,distance:E})},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,a){this.userAction=a,this.works=e;var o=t.initAnimationEndState(F(F({},this),{initial:{currentState:F(F({},this.currentPano),this.camera.pose),duration:i.duration,effect:i.effect,state:r,userAction:a}}));this.currentPano={workCode:o.workCode,panoIndex:o.panoIndex};var s={longitude:o.longitude,latitude:o.latitude,fov:o.fov},u={x:o.offset.x,y:o.offset.y,z:o.offset.z,distance:o.distance,orthoDistance:o.distance};return this.locationMotion.set(u,i.duration).catch(D),this.cameraMotion.set(s,i.duration).catch(D),!0},t.prototype.updateModel=function(e){n.prototype.updateModel.call(this,e)},t.prototype.updateCamera=function(e,r,i){var a=this;return this.initAnimationReady.then(function(){a.userAction=i,a.stopMomentumMovement();var o={},s={};return e.distance!==void 0&&(o.distance=e.distance),e.offset!==void 0&&(o.x=e.offset.x,o.y=e.offset.y,o.z=e.offset.z),e.longitude!==void 0&&(s.longitude=e.longitude),e.latitude!==void 0&&(s.latitude=e.latitude),e.fov!==void 0&&(s.fov=e.fov),a.locationMotion.set(o,r).catch(D),a.cameraMotion.set(s,r).catch(D)})},t.prototype.updateCameraWithKeyframes=function(e,r,i){var a=this;return this.initAnimationReady.then(function(){a.userAction=i,a.stopMomentumMovement();for(var o=[],s=[],u=0,l=e;u<l.length;u++){var c=l[u];o.push({key:c.key,progress:c.progress,value:{distance:c.value.distance,x:c.value.offset.x,y:c.value.offset.x,z:c.value.offset.x}}),s.push({key:c.key,progress:c.progress,value:{longitude:c.value.longitude,latitude:c.value.latitude,fov:c.value.fov}})}return a.locationMotion.setKeyframes(o,r).catch(D),a.cameraMotion.setKeyframes(e,r)})},t.prototype.updateTime=function(e,r){if(!this.destroyed){var i={},a={};this.locationMotion.ended||(this.locationMotion.update(e),a.distance=this.locationMotion.value.distance,a.offset=new d.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z)),this.cameraMotion.ended||(this.cameraMotion.update(e),a.longitude=this.cameraMotion.value.longitude,a.latitude=this.cameraMotion.value.latitude,a.fov=this.cameraMotion.value.fov),this.modelAlphaMotion.ended||(this.modelAlphaMotion.update(e),i.modelAlpha=this.modelAlphaMotion.value.modelAlpha);var o=0;this.cameraType==="auto"?o=Math.PI/2-this.cameraMotion.value.latitude<.02?1:0:this.cameraType==="perspective"?o=0:this.cameraType==="orthographic"&&(o=1),this.perspToOrthoMotion.getTargetKeyframe().value.perspToOrtho!==o&&this.perspToOrthoMotion.set({perspToOrtho:o},500).catch(D),this.perspToOrthoMotion.ended||(this.perspToOrthoMotion.update(e),this.camera.perspToOrtho.setScalar(pe(this.perspToOrthoMotion.value.perspToOrtho,0,1))),Qt(i)||this.models.setMaterial(i),Qt(a)||this.setCamera(a)}},t.prototype.getTargetState=function(){var e=this.cameraMotion.getKeyFrameSegment(Ee())[1],r=this.locationMotion.getKeyFrameSegment(Ee())[1];return F(F({},this.currentPano),{mode:this.mode,longitude:e.value.longitude,latitude:e.value.latitude,fov:e.value.fov,distance:r.value.distance,offset:new d.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 a=i.duration,o=i.userAction;e.userAction=o;var s=t.initAnimationEndState(e),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},c={modelAlpha:1},h={perspToOrtho:0};e.emit("initAnimation.start",W("initAnimation.start",{state:s,userAction:e.userAction})),e.perspToOrthoMotion.set(h,a).catch(D),e.modelAlphaMotion.set(c,a/3).catch(D),e.cameraMotion.set(u,a).catch(D),e.locationMotion.set(l,a).then(function(){e.emit("initAnimation.end",W("initAnimation.end",{state:s,userAction:e.userAction}))},function(A){var m=F(F(F({},e.currentPano),{mode:e.mode}),We(e.camera.pose));e.emit("initAnimation.end",W("initAnimation.end",{state:m,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,a=lr(i,function(u){return u.standingPosition.distanceTo(r.point)},!0),o=a[0],s=a[1];return o&&s<10?o:null},t.prototype.coordinatesForOffset=function(e){var r=this.renderer.getSize(new d.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,a){var o=this;if(this.inMomentumMovement!==null){for(var s=F({},i),u={longitude:0,latitude:0,x:0,y:0,z:0},l=0;l<a;l++)s.longitude*=.996,s.latitude*=.996*.998,s.x*=.99,s.y*=.99,s.z*=.99,u.longitude+=s.longitude,u.latitude+=s.latitude,u.x+=s.x,u.y+=s.y,u.z+=s.z;var c=Gr(this.cameraMotion.value.longitude+u.longitude),h=pe(this.cameraMotion.value.latitude+u.latitude,this.minLatitude,this.maxLatitude),A=new d.Vector3(this.locationMotion.value.x+u.x,this.locationMotion.value.y+u.y,this.locationMotion.value.z+u.z);this.modelInScreen==="boundingbox-center"&&A.clamp(this.models.bounding.min,this.models.bounding.max);var m=F(F({},this.currentPano),{mode:this.mode,longitude:c,latitude:h,offset:A,fov:this.cameraMotion.value.fov,distance:this.camera.pose.distance}),f=!(Math.abs(s.longitude)>1e-4||Math.abs(s.latitude)>1e-4||Math.abs(s.x)>1e-4||Math.abs(s.y)>1e-4||Math.abs(s.z)>1e-4),v=W("gesture.momentum",F(F({},e),{isFirst:r,isFinal:f,state:m}));if(this.inMomentumMovement.event=v,this.emit("gesture.momentum",v),e.defaultPrevented){this.inMomentumMovement=null;return}this.inMomentumMovement&&(this.cameraMotion.set({longitude:c,latitude:h},0).catch(D),this.locationMotion.set({x:m.offset.x,y:m.offset.y,z:m.offset.z},0).catch(D),f?this.inMomentumMovement=null:vt.shared.add(function(y,p){o.requestMomentumMovement(e,!1,s,p|0)},!0,1))}},t.prototype.fixFinalState=function(e){if(this.perspToOrthoMotion.getTargetKeyframe().value.perspToOrtho!==1){var r=Ot(e,new d.Vector3),i=new d.Vector3().copy(e.offset).sub(r.clone().multiplyScalar(e.distance)),a=new d.Raycaster(i,r);a.params.Points={threshold:.1},a.near=ya;var o=this.models.intersectRaycaster(a)[0];if(!o&&a.ray.direction.y<-.3){var s=new d.Plane(new d.Vector3(0,1,0),-this.models.bounding.min.y),u=a.ray.intersectPlane(s,new d.Vector3);if(u){var l=u.distanceTo(a.ray.origin);l<1e4&&l>=a.near&&(o={distance:l,floor:0,point:u,object:this.scene,face:null})}}o&&(e.distance=pe(o.distance,ba,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,a=0;e.pointerType==="mouse"&&(a=e.srcEvent.buttons),i&&a===0&&i.buttons!==0&&(a=i.buttons);var o=i==null?void 0:i.target;if(!o){var s=this.relativeClientPosition(e.center),u=new d.Raycaster;u.params.Points={threshold:.1},u.setFromCamera(s,this.camera),u.near=ya,o=new d.Vector3().copy(u.ray.direction).multiplyScalar(3).add(u.ray.origin);var l=this.models.intersectRaycaster(u)[0];if(!l&&u.ray.direction.y<-.3){var c=new d.Plane(new d.Vector3(0,1,0),0),h=u.ray.intersectPlane(c,new d.Vector3);if(h){var A=h.distanceTo(u.ray.origin);A<1e4&&A>=u.near&&(l={distance:A,floor:0,point:h,object:this.scene})}}if(l)o.copy(l.point);else{var m=new d.Vector3().copy(this.camera.pose.offset).sub(this.camera.position),c=new d.Plane().setFromNormalAndCoplanarPoint(m,this.camera.pose.offset);u.ray.intersectPlane(c,o)}}if(e.isFinal?delete this.panState:this.panState={target:o,buttons:a,pointerLength:r,x:e.center.x,y:e.center.y},!(typeof i=="undefined"||i.pointerLength!==r)){var f=r>1||a===2;if(f){var v={x:e.center.x-i.x,y:e.center.y-i.y},y=new d.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z),p=Ot(this.cameraMotion.value).setLength(this.locationMotion.value.distance).add(y),g=new d.Vector3().copy(p).sub(i.target).length();g*=Math.tan(this.camera.pose.fov/2*Math.PI/180);var x=this.renderer.getSize(new d.Vector2),b=2*v.x*g/x.y,w=2*v.y*g/x.y,E=new d.Vector3;E.setFromMatrixColumn(this.camera.matrix,0),E.multiplyScalar(-b),y.add(E),this.camera.pose.latitude<qs?E.setFromMatrixColumn(this.camera.matrix,1):(E.setFromMatrixColumn(this.camera.matrix,0),E.crossVectors(this.camera.up,E)),E.multiplyScalar(w),y.add(E),this.modelInScreen==="boundingbox-center"&&y.clamp(this.models.bounding.min,this.models.bounding.max);var M=F(F({},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=M,this.emit("gesture.pan",e),e.defaultPrevented)return;if(this.locationMotion.set({x:M.offset.x,y:M.offset.y,z:M.offset.z},0).catch(D),e.isFinal&&(this.fixFinalState(M),this.locationMotion.set({distance:M.distance,x:M.offset.x,y:M.offset.y,z:M.offset.z},0).catch(D)),e.isFinal){var C=this.renderer.getSize(new d.Vector2),I=2*e.velocityX*g/C.y,S=2*e.velocityY*g/C.y,P=new d.Vector3,B=new d.Vector3;P.setFromMatrixColumn(this.camera.matrix,0),P.multiplyScalar(-I),B.add(P),this.camera.pose.latitude<qs?P.setFromMatrixColumn(this.camera.matrix,1):(P.setFromMatrixColumn(this.camera.matrix,0),P.crossVectors(this.camera.up,P)),P.multiplyScalar(S),B.add(P),this.inMomentumMovement={uuid:wt()},this.requestMomentumMovement(e,!0,{longitude:0,latitude:0,x:B.x,y:B.y,z:B.z},0)}}else{var v={x:e.center.x-i.x,y:e.center.y-i.y},L=this.coordinatesForOffset(v),k=Gr(this.cameraMotion.value.longitude+L.longitude),O=pe(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&&(O=this.cameraMotion.value.latitude);var M=F(F({},this.currentPano),{mode:this.mode,longitude:k,latitude:O,fov:this.camera.pose.fov,offset:this.camera.pose.offset,distance:this.camera.pose.distance});if(e.isFinal&&this.fixFinalState(M),e.state=M,this.emit("gesture.pan",e),e.defaultPrevented)return;if(e.isFinal?this.locationMotion.set({distance:M.distance,x:M.offset.x,y:M.offset.y,z:M.offset.z},0).catch(D):this.cameraMotion.set({longitude:M.longitude,latitude:M.latitude},0).catch(D),e.isFinal){var z=e.velocityX,N=e.velocityY;this.inMomentumMovement={uuid:wt()},this.requestMomentumMovement(e,!0,F(F({},this.coordinatesForOffset({x:z,y:N})),{x:0,y:0,z:0}),0)}}}},t.prototype.onPinchGesture=function(e){var r;if(this.initAnimationIsReady){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 a=this.models.bounding.getCenter(new d.Vector3),o=t.distanceFromModel(this.models,this.cameraMotion.value.fov,this.camera.aspect),s=pe(i/e.scale,ba,1/0),u=e.state.offset.clone().sub(Ot(e.state).setLength(s)),l=this.models.bounding.containsPoint(u),c;!l&&this.pinchState&&this.pinchState.scale>e.scale&&a.distanceTo(u)>o?c=e.state.distance:(c=s,this.pinchState&&(this.pinchState.scale=e.scale)),e.state.distance=c,this.emit("gesture.pinch",e),!e.defaultPrevented&&(this.locationMotion.set({distance:e.state.distance},0).catch(D),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 a=e.center.raycaster;if(a.near=ya,a.far=500,e.isFinal&&this.intersectMesh.parent&&this.intersectMesh.visible===!0){this.hideIntersectMesh();return}var o=this.models.intersectRaycaster(a)[0],s=W("intersect.update",{raycaster:a,intersection:o!=null?o:null,object:this.intersectMesh});if(this.emit("intersect.update",s),s.defaultPrevented){this.hideIntersectMesh();return}if(o){var u=(i=(r=o.face)===null||r===void 0?void 0:r.normal)!==null&&i!==void 0?i:new d.Vector3().copy(a.ray.direction).multiplyScalar(-1),l=u.clone(),c=o.point.clone();this.intersectMesh.position.copy(c);var h=a.ray.origin.distanceTo(c),A=2*Math.tan(.5*this.camera.fov/180*Math.PI),m=Math.max(h*A/10,1);this.intersectMesh.scale.set(m,m,m);var f=c.clone().add(l);if(this.intersectMesh.lookAt(f),Math.abs(u.y)>.99){var v=this.camera.position.clone().sub(c);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.initAnimationIsReady)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(D)}else{var a=e.center.delta/2*Math.max(Math.log(this.locationMotion.value.distance),1),o=this.models.bounding.getCenter(new d.Vector3),s=t.distanceFromModel(this.models,this.cameraMotion.value.fov,this.camera.aspect),u=pe(this.locationMotion.value.distance-a,ba,1/0),l=e.state.offset.clone().sub(Ot(e.state).setLength(u)),c=this.models.bounding.containsPoint(l);if(this.modelInScreen!=="none"&&(u=!c&&a<0&&o.distanceTo(l)>s?e.state.distance:u),e.state.distance=u,this.emit("gesture.mousewheel",e),e.defaultPrevented)return;this.locationMotion.set({distance:u},0).catch(D)}},t.prototype.onTapGesture=function(e){var r=this;this.userAction=e.userAction,this.stopMomentumMovement();var i=e.center.raycaster,a=this.getForwardObserverOrNot(i);if(!a)this.emit("gesture.tap",e);else{var o={longitude:this.camera.pose.longitude,latitude:0},s=F(F({},e.state),{mode:"Panorama",workCode:a.pano.workCode,panoIndex:a.pano.panoIndex,longitude:o.longitude,latitude:o.latitude,offset:a?a.position.clone():new d.Vector3,distance:0});if(e.state=s,this.emit("gesture.tap",e),!e.defaultPrevented&&(this.emit("pano.select",W("pano.select",{prevPano:this.currentPano,state:s,userAction:e.userAction,options:o,progress:0,error:null})),a&&a.active)){var u=this.currentTapId=wt();this.preloadPano(a.pano).then(function(l){r.currentTapId===u&&r.emit("pano.request",W("pano.request",{userAction:!0,prevPano:r.currentPano,progress:0,state:s,options:o,error:null}))})}}},t.prototype.hideIntersectMesh=function(){this.intersectMesh.visible=!1,this.needsRender=!0},t.prototype.render=function(e,r){var i=this.renderer.getRenderTarget();this.updateScreenBuffer(r),e&&(r==="edl"?this.edlEffect.render(this.screenBuffers):r==="hq"?this.hqEffect.render(this.screenBuffers):(this.renderer.setRenderTarget(this.modelRenderTarget),this.renderer.render(this.modelScene,this.camera))),this.depthCopyPass.render(this.modelRenderTarget.depthTexture,i),this.renderer.autoClearDepth=!1,this.renderer.autoClearColor=!0,this.copyPass.render(this.modelRenderTarget,i),this.renderer.setRenderTarget(i),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,this.camera),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0},t}(vo);function Hs(n){return n==null}var Op={type:"move"},Gs=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 d.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 d.Group,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new d.Vector3,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new d.Vector3),this._targetRay},n.prototype.getGripSpace=function(){return this._grip===null&&(this._grip=new d.Group,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new d.Vector3,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new d.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,a=null,o=null,s=this._targetRay,u=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(s!==null&&(i=e.getPose(t.targetRaySpace,r),i!==null&&(s.matrix.fromArray(i.transform.matrix),s.matrix.decompose(s.position,s.rotation,s.scale),i.linearVelocity?(s.hasLinearVelocity=!0,s.linearVelocity.copy(i.linearVelocity)):s.hasLinearVelocity=!1,i.angularVelocity?(s.hasAngularVelocity=!0,s.angularVelocity.copy(i.angularVelocity)):s.hasAngularVelocity=!1,this.dispatchEvent(Op))),l&&t.hand){o=!0;for(var c=0,h=t.hand.values();c<h.length;c++){var A=h[c],m=e.getJointPose(A,r);if(l.joints[A.jointName]===void 0){var f=new d.Group;f.matrixAutoUpdate=!1,f.visible=!1,l.joints[A.jointName]=f,l.add(f)}var v=l.joints[A.jointName];m!==null&&(v.matrix.fromArray(m.transform.matrix),v.matrix.decompose(v.position,v.rotation,v.scale),v.jointRadius=m.radius),v.visible=m!==null}var y=l.joints["index-finger-tip"],p=l.joints["thumb-tip"],g=y.position.distanceTo(p.position),x=.02,b=.005;l.inputState.pinching&&g>x+b?(l.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:t.handedness,target:this})):!l.inputState.pinching&&g<=x-b&&(l.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:t.handedness,target:this}))}else u!==null&&t.gripSpace&&(a=e.getPose(t.gripSpace,r),a!==null&&(u.matrix.fromArray(a.transform.matrix),u.matrix.decompose(u.position,u.rotation,u.scale),a.linearVelocity?(u.hasLinearVelocity=!0,u.linearVelocity.copy(a.linearVelocity)):u.hasLinearVelocity=!1,a.angularVelocity?(u.hasAngularVelocity=!0,u.angularVelocity.copy(a.angularVelocity)):u.hasAngularVelocity=!1));return s!==null&&(s.visible=i!==null),u!==null&&(u.visible=a!==null),l!==null&&(l.visible=o!==null),this},n}(),Vp=1,Np=function(){function n(t,e,r){var i,a,o,s,u;this.isPanorama=(i=r==null?void 0:r.isPanorama)!==null&&i!==void 0?i:!0;var l=navigator.userAgent.toLowerCase(),c;l.includes("oculus")?c="Oculus":l.includes("pico")?c="Pico":c="VP",this.machineType=(a=r==null?void 0:r.machineType)!==null&&a!==void 0?a:c,this.renderer=t,this.gl=e,this.enabled=!1,this.session=null,this.referenceSpaceType=(o=r==null?void 0:r.referenceSpaceType)!==null&&o!==void 0?o:"local-floor",this.referenceSpace=null,this.onSessionStartCallback=(s=r==null?void 0:r.onSessionStart)!==null&&s!==void 0?s:D,this.onSessionEndCallback=(u=r==null?void 0:r.onSessionEnd)!==null&&u!==void 0?u:D,this.controllers=[new Gs,new Gs],this.inputSourcesMap=new Map,this.cameraVR=new d.ArrayCamera,this.cameraL=new d.PerspectiveCamera,this.cameraR=new d.PerspectiveCamera,this.cameraL.viewport=new d.Vector4,this.cameraR.viewport=new d.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 d.Vector3,this.cameraRPos=new d.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),a=e.projectionMatrix.elements,o=r.projectionMatrix.elements,s=a[14]/(a[10]-1),u=a[14]/(a[10]+1),l=(a[9]+1)/a[5],c=(a[9]-1)/a[5],h=(a[8]-1)/a[0],A=(o[8]+1)/o[0],m=s*h,f=s*A,v=i/(-h+A),y=v*-h;e.matrixWorld.decompose(t.position,t.quaternion,t.scale),t.translateX(y),t.translateZ(v),t.matrixWorld.compose(t.position,t.quaternion,t.scale),t.matrixWorldInverse.getInverse(t.matrixWorld);var p=s+v,g=u+v,x=m-y,b=f+(i-y),w=l*u/g*p,E=c*u/g*p;t.projectionMatrix.makePerspective(x,b,w,E,p,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 a=t.children,i=0,o=a.length;i<o;i++)a[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],a=this.inputSourcesMap.get(i);a&&(a.dispatchEvent({type:"disconnected",data:i}),this.inputSourcesMap.delete(i))}for(var r=0;r<t.added.length;r++){var i=t.added[r],a=this.inputSourcesMap.get(i);a&&a.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,vt.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:Vp};if(!e.session){console.error("session is lose while set session!");return}switch(e.machineType){case"Pico":case"VP":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(a){e.onRequestReferenceSpace(a)}),e.session.addEventListener("inputsourceschange",function(a){e.updateInputSources(a)})})}},n}(),xo=function(n){se(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],a=[0,2,1,2,3,1,2,4,3,4,5,3,4,6,5,6,7,5];return e.setIndex(a),e.setAttribute("position",new d.Float32BufferAttribute(r,3)),e.setAttribute("uv",new d.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 d.InstancedInterleavedBuffer(r,6,1);return this.setAttribute("instanceStart",new d.InterleavedBufferAttribute(i,3,0)),this.setAttribute("instanceEnd",new d.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 d.InstancedInterleavedBuffer(r,6,1);return this.setAttribute("instanceColorStart",new d.InterleavedBufferAttribute(i,3,0)),this.setAttribute("instanceColorEnd",new d.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 d.WireframeGeometry(e.geometry)),this},t.prototype.fromLineSegments=function(e){var r=e.geometry;if(r instanceof d.Geometry){var i=new d.BufferGeometry().fromGeometry(r);this.setPositions(i.attributes.position.array)}else r instanceof d.BufferGeometry&&this.setPositions(r.attributes.position.array);return this},t.prototype.computeBoundingBox=function(){this.boundingBox===null&&(this.boundingBox=new d.Box3);var e=this.attributes.instanceStart,r=this.attributes.instanceEnd;if(e!==void 0&&r!==void 0){var i=new d.Box3;this.boundingBox.setFromBufferAttribute(e),i.setFromBufferAttribute(r),this.boundingBox.union(i)}},t.prototype.computeBoundingSphere=function(){this.boundingSphere===null&&(this.boundingSphere=new d.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 a=0,o=new d.Vector3,s=0,u=e.count;s<u;s++)o.fromBufferAttribute(e,s),a=Math.max(a,i.distanceToSquared(o)),o.fromBufferAttribute(r,s),a=Math.max(a,i.distanceToSquared(o));this.boundingSphere.radius=Math.sqrt(a),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}(d.InstancedBufferGeometry);Object.assign(xo.prototype,{isLineSegmentsGeometry:!0});var xa={uniforms:d.UniformsUtils.merge([d.UniformsLib.common,d.UniformsLib.fog,{linewidth:{value:1},resolution:{value:new d.Vector2(1,1)},dashScale:{value:1},dashSize:{value:1},gapSize:{value:1},opacity:{value:1}}]),vertexShader:`
1861
+ 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`),Gp=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,a=0,o="";return t[a].split(o).map(function(s){return s.charCodeAt(a)>i?s:String.fromCharCode((s.charCodeAt(a)+r)%i)}).join(o)}(`}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-
1862
+ b-J-Htyl]|vv|{-J-}|wrpv|{Znv\x07-7-z|qrycvrZnv\x07-7-rpA5}|vv|{9>;=6H\f`);var Kp=function(n){ue(t,n);function t(e){var r=n.call(this,{vertexShader:Gp,fragmentShader:Hp})||this;return r.uniforms={uDepthMap:js("t",null),uWeightMap:js("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}},Ct([Js("uDepthMap"),Mt("design:type",Number)],t.prototype,"uDepthMap",void 0),Ct([Js("uWeightMap"),Mt("design:type",Number)],t.prototype,"uWeightMap",void 0),t}(d.RawShaderMaterial);function js(n,t){return{type:n,value:t}}function Js(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 jp=new d.OrthographicCamera(-1,1,1,-1,0,1),Io=new d.BufferGeometry;Io.setAttribute("position",new d.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3));Io.setAttribute("uv",new d.Float32BufferAttribute([0,2,0,0,2,0],2));var Vu=new d.Mesh(Io),Nu=new d.Scene;Nu.add(Vu);var Jp=function(n){ue(t,n);function t(e,r,i,a){var o=n.call(this,e,r,i,a)||this;return o.sharedV2=new d.Vector2,o.renderer=e,o.material=new Kp,o.camera=i,Vu.material=o.material,o}return t.prototype.render=function(e){this.models.setMaterial({useHQDepth:!0,useHQWeight:!1}),this.models.update(this.renderer,this.camera,"Mapview"),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0,this.renderer.setRenderTarget(e[0]),this.renderer.render(this.scene,this.camera),this.models.setMaterial({useHQWeight:!0,useHQDepth:!1}),this.models.update(this.renderer,this.camera,"Mapview"),this.renderer.autoClearDepth=!1,this.renderer.autoClearColor=!0,this.renderer.setClearColor(new d.Color(0,0,0)),this.renderer.setClearAlpha(0),this.renderer.setRenderTarget(e[1]),this.renderer.render(this.scene,this.camera),this.material.uniforms.uWeightMap.value=e[1].texture,this.material.uniforms.uDepthMap.value=e[0].depthTexture,this.renderer.autoClearDepth=!0,this.renderer.autoClearColor=!0,this.renderer.setClearColor(new d.Color(0,0,0)),this.renderer.setClearAlpha(1),this.renderer.setRenderTarget(e[2]),this.renderer.render(Nu,jp)},t.prototype.dispose=function(){this.copyPass.dispose()},t}(wo),Ca=.5,Ma=.5,Xs=Math.PI/7,Xp=function(n){ue(t,n);function t(e){var r=this,i,a=t.parseArgs(e);return r=n.call(this,a)||this,r.mode="Mapview",r.defaultLongitude=a.defaultLongitude,r.defaultLatitude=a.defaultLatitude,r.defaultDistance=a.defaultDistance,r.maxLatitude=a.maxLatitude,r.minLatitude=a.minLatitude,r.cameraType=a.cameraType,r.modelInScreen=a.modelInScreen,r.locationMotion=new Me({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 Me({modelAlpha:(i=r.models.getMaterial().modelAlpha)!==null&&i!==void 0?i:0}),r.perspToOrthoMotion=new Me({perspToOrtho:r.camera.perspToOrtho.x}),r.intersectMeshCreator=a.intersectMeshCreator,r.intersectMesh=r.intersectMeshCreator(),r.intersectMesh.name="intersect",r.intersectMesh.visible=!1,r.currentTapId=null,r.helper.add(r.intersectMesh),r.edlTarget=new d.WebGLRenderTarget(1024,1024,{generateMipmaps:!1,minFilter:d.NearestFilter,magFilter:d.NearestFilter,format:d.RGBAFormat,type:d.FloatType,depthTexture:new d.DepthTexture(1024,1024,d.UnsignedIntType)}),r.edlEffect=new qp(r.renderer,r.modelScene,r.camera,r.models),r.hqEffect=new Jp(r.renderer,r.modelScene,r.camera,r.models),r}return t.parseArgs=function(e){var r,i,a,o,s,l,u,c;if(e instanceof t)return e;var f=n.parseArgs.call(this,e);return L(L({},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,defaultDistance:(a=e.defaultDistance)!==null&&a!==void 0?a:150,maxLatitude:(o=e.maxLatitude)!==null&&o!==void 0?o:+Math.PI/2,minLatitude:(s=e.minLatitude)!==null&&s!==void 0?s:0,cameraType:(l=e.cameraType)!==null&&l!==void 0?l:"auto",modelInScreen:(u=e.modelInScreen)!==null&&u!==void 0?u:"boundingbox-center",intersectMeshCreator:(c=e.intersectMeshCreator)!==null&&c!==void 0?c:function(){return new Di}})},t.distanceFromModel=function(e,r,i){var a=e.bounding,o=Math.pow(Math.pow(a.max.x-a.min.x+1,2)+Math.pow(a.max.y-a.min.y+1,2)+Math.pow(a.max.z-a.min.z+1,2),1/2),s=o/2/Math.tan(Math.PI*r/360);return i<1&&(s=s/i),isNaN(s)?o:s},t.initAnimationEndState=function(e){var r,i,a,o,s,l,u,c=this.parseArgs(e),f=c.works,A=c.models,m=e.initial,h=m.state,p=m.currentState,y=typeof h.panoIndex=="number"?{workCode:(a=(r=h.workCode)!==null&&r!==void 0?r:(i=c.works[0])===null||i===void 0?void 0:i.workCode)!==null&&a!==void 0?a:"",panoIndex:h.panoIndex}:{workCode:p.workCode,panoIndex:p.panoIndex},v=f.getResolvedObserver(y),g=(o=h.fov)!==null&&o!==void 0?o:60,x=fe((s=h.latitude)!==null&&s!==void 0?s:Ga(p.mode)?p.latitude:c.defaultLatitude,c.minLatitude,c.maxLatitude),b=t.distanceFromModel(c.models,g,c.camera.aspect),w=new d.Vector3,E=(l=h.distance)!==null&&l!==void 0?l:Math.min(c.defaultDistance,b),I=(u=h.longitude)!==null&&u!==void 0?u:Ga(p.mode)?p.longitude:c.defaultLongitude;return h.offset?w.copy(h.offset):c.defaultDistance<b&&v?(w.copy(v.position),h.longitude===void 0&&(I=p.longitude)):w.copy(A.bounding.getCenter(w)),A.bounding.containsPoint(w)||A.bounding.getCenter(w),L(L({},y),{mode:"Mapview",longitude:I,latitude:x,fov:g,offset:w,distance:E})},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,a){this.userAction=a,this.works=e;var o=t.initAnimationEndState(L(L({},this),{initial:{currentState:L(L({},this.currentPano),this.camera.pose),duration:i.duration,effect:i.effect,state:r,userAction:a}}));this.currentPano={workCode:o.workCode,panoIndex:o.panoIndex};var s={longitude:o.longitude,latitude:o.latitude,fov:o.fov},l={x:o.offset.x,y:o.offset.y,z:o.offset.z,distance:o.distance,orthoDistance:o.distance};return this.locationMotion.set(l,i.duration).catch(D),this.cameraMotion.set(s,i.duration).catch(D),!0},t.prototype.updateModel=function(e){n.prototype.updateModel.call(this,e)},t.prototype.updateCamera=function(e,r,i){var a=this;return this.initAnimationReady.then(function(){a.userAction=i,a.stopMomentumMovement();var o={},s={};return e.distance!==void 0&&(o.distance=e.distance),e.offset!==void 0&&(o.x=e.offset.x,o.y=e.offset.y,o.z=e.offset.z),e.longitude!==void 0&&(s.longitude=e.longitude),e.latitude!==void 0&&(s.latitude=e.latitude),e.fov!==void 0&&(s.fov=e.fov),a.locationMotion.set(o,r).catch(D),a.cameraMotion.set(s,r).catch(D)})},t.prototype.updateCameraWithKeyframes=function(e,r,i){var a=this;return this.initAnimationReady.then(function(){a.userAction=i,a.stopMomentumMovement();for(var o=[],s=[],l=0,u=e;l<u.length;l++){var c=u[l];o.push({key:c.key,progress:c.progress,value:{distance:c.value.distance,x:c.value.offset.x,y:c.value.offset.x,z:c.value.offset.x}}),s.push({key:c.key,progress:c.progress,value:{longitude:c.value.longitude,latitude:c.value.latitude,fov:c.value.fov}})}return a.locationMotion.setKeyframes(o,r).catch(D),a.cameraMotion.setKeyframes(e,r)})},t.prototype.updateTime=function(e,r){if(!this.destroyed){var i={},a={};this.locationMotion.ended||(this.locationMotion.update(e),a.distance=this.locationMotion.value.distance,a.offset=new d.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z)),this.cameraMotion.ended||(this.cameraMotion.update(e),a.longitude=this.cameraMotion.value.longitude,a.latitude=this.cameraMotion.value.latitude,a.fov=this.cameraMotion.value.fov),this.modelAlphaMotion.ended||(this.modelAlphaMotion.update(e),i.modelAlpha=this.modelAlphaMotion.value.modelAlpha);var o=0;this.cameraType==="auto"?o=Math.PI/2-this.cameraMotion.value.latitude<.02?1:0:this.cameraType==="perspective"?o=0:this.cameraType==="orthographic"&&(o=1),this.perspToOrthoMotion.getTargetKeyframe().value.perspToOrtho!==o&&this.perspToOrthoMotion.set({perspToOrtho:o},500).catch(D),this.perspToOrthoMotion.ended||(this.perspToOrthoMotion.update(e),this.camera.perspToOrtho.setScalar(fe(this.perspToOrthoMotion.value.perspToOrtho,0,1))),Qt(i)||this.models.setMaterial(i),Qt(a)||this.setCamera(a)}},t.prototype.getTargetState=function(){var e=this.cameraMotion.getKeyFrameSegment(Ee())[1],r=this.locationMotion.getKeyFrameSegment(Ee())[1];return L(L({},this.currentPano),{mode:this.mode,longitude:e.value.longitude,latitude:e.value.latitude,fov:e.value.fov,distance:r.value.distance,offset:new d.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 a=i.duration,o=i.userAction;e.userAction=o;var s=t.initAnimationEndState(e),l={longitude:s.longitude,latitude:s.latitude,fov:s.fov},u={x:s.offset.x,y:s.offset.y,z:s.offset.z,distance:s.distance},c={modelAlpha:1},f={perspToOrtho:0};e.emit("initAnimation.start",X("initAnimation.start",{state:s,userAction:e.userAction})),e.perspToOrthoMotion.set(f,a).catch(D),e.modelAlphaMotion.set(c,a/3).catch(D),e.cameraMotion.set(l,a).catch(D),e.locationMotion.set(u,a).then(function(){e.emit("initAnimation.end",X("initAnimation.end",{state:s,userAction:e.userAction}))},function(A){var m=L(L(L({},e.currentPano),{mode:e.mode}),Je(e.camera.pose));e.emit("initAnimation.end",X("initAnimation.end",{state:m,userAction:e.userAction}))}).then(function(){r()})})},t.prototype.getForwardObserverOrNot=function(e){var r=this,i=this.models.intersectRaycaster(e)[0];if(!i)return null;var a=this.works.resolvedObservers.filter(function(u){for(var c,f=0,A=r.models;f<A.length;f++){var m=A[f];if(m.visible&&((c=m.work)===null||c===void 0?void 0:c.workCode)===u.work.workCode)return!0}return!1}),o=lr(a,function(u){return u.standingPosition.distanceTo(i.point)},!0),s=o[0],l=o[1];return s&&l<10?s:null},t.prototype.coordinatesForOffset=function(e){var r=this.renderer.getSize(new d.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,a){var o=this;if(this.inMomentumMovement!==null){for(var s=L({},i),l={longitude:0,latitude:0,x:0,y:0,z:0},u=0;u<a;u++)s.longitude*=.996,s.latitude*=.996*.998,s.x*=.99,s.y*=.99,s.z*=.99,l.longitude+=s.longitude,l.latitude+=s.latitude,l.x+=s.x,l.y+=s.y,l.z+=s.z;var c=Gr(this.cameraMotion.value.longitude+l.longitude),f=fe(this.cameraMotion.value.latitude+l.latitude,this.minLatitude,this.maxLatitude),A=new d.Vector3(this.locationMotion.value.x+l.x,this.locationMotion.value.y+l.y,this.locationMotion.value.z+l.z),m=L(L({},this.currentPano),{mode:this.mode,longitude:c,latitude:f,offset:A,fov:this.cameraMotion.value.fov,distance:this.camera.pose.distance}),h=!(Math.abs(s.longitude)>1e-4||Math.abs(s.latitude)>1e-4||Math.abs(s.x)>1e-4||Math.abs(s.y)>1e-4||Math.abs(s.z)>1e-4),p=X("gesture.momentum",L(L({},e),{isFirst:r,isFinal:h,state:m}));if(this.inMomentumMovement.event=p,this.emit("gesture.momentum",p),e.defaultPrevented){this.inMomentumMovement=null;return}this.inMomentumMovement&&(this.cameraMotion.set({longitude:c,latitude:f},0).catch(D),this.locationMotion.set({x:m.offset.x,y:m.offset.y,z:m.offset.z},0).catch(D),h?this.inMomentumMovement=null:lt.shared.add(function(y,v){o.requestMomentumMovement(e,!1,s,v|0)},!0,1))}},t.prototype.fixFinalState=function(e){if(this.perspToOrthoMotion.getTargetKeyframe().value.perspToOrtho!==1){var r=Ot(e,new d.Vector3),i=new d.Vector3().copy(e.offset).sub(r.clone().multiplyScalar(e.distance)),a=new d.Raycaster(i,r);a.params.Points={threshold:.1},a.near=Ca;var o;if(a.ray.direction.y<-.3&&(o=this.models.intersectRaycaster(a).filter(function(f){var A,m=(A=f.face)===null||A===void 0?void 0:A.normal;return m&&a.ray.direction.dot(m)>=0?!1:f.distance>Ma+a.near})[0],!o)){var s=new d.Plane(new d.Vector3(0,1,0),-this.models.bounding.min.y),l=a.ray.intersectPlane(s,new d.Vector3);if(l){var u=l.distanceTo(a.ray.origin);u<1e4&&u>=a.near&&(o={distance:u,floor:0,point:l,object:this.scene,face:null})}}if(!o){var c=Math.max(e.distance,3);o={distance:c,floor:0,point:a.ray.direction.clone().setLength(c).add(a.ray.origin),object:this.scene,face:null}}o&&(e.distance=fe(o.distance,0,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,a=0;e.pointerType==="mouse"&&(a=e.srcEvent.buttons),i&&a===0&&i.buttons!==0&&(a=i.buttons);var o=i==null?void 0:i.target;if(!o){var s=this.relativeClientPosition(e.center),l=new d.Raycaster;l.params.Points={threshold:.1},l.setFromCamera(s,this.camera),l.near=Ca,o=new d.Vector3().copy(l.ray.direction).multiplyScalar(3).add(l.ray.origin);var u=this.models.intersectRaycaster(l)[0];if(!u&&l.ray.direction.y<-.3){var c=new d.Plane(new d.Vector3(0,1,0),0),f=l.ray.intersectPlane(c,new d.Vector3);if(f){var A=f.distanceTo(l.ray.origin);A<1e4&&A>=l.near&&(u={distance:A,floor:0,point:f,object:this.scene})}}if(u)o.copy(u.point);else{var m=new d.Vector3().copy(this.camera.pose.offset).sub(this.camera.position).normalize(),c=new d.Plane().setFromNormalAndCoplanarPoint(m,this.camera.pose.offset);l.ray.intersectPlane(c,o)}}if(e.isFinal?delete this.panState:this.panState={target:o,buttons:a,pointerLength:r,x:e.center.x,y:e.center.y},!(typeof i=="undefined"||i.pointerLength!==r)){var h=r>1||a===2;if(h){var p={x:e.center.x-i.x,y:e.center.y-i.y},y=new d.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z),v=Ot(this.cameraMotion.value).setLength(this.locationMotion.value.distance).add(y),g=new d.Vector3().copy(v).sub(i.target).length();g*=Math.tan(this.camera.pose.fov/2*Math.PI/180);var x=this.renderer.getSize(new d.Vector2),b=2*p.x*g/x.y,w=2*p.y*g/x.y,E=new d.Vector3;if(E.setFromMatrixColumn(this.camera.matrix,0),E.multiplyScalar(-b),y.add(E),this.camera.pose.latitude<Xs?E.setFromMatrixColumn(this.camera.matrix,1):(E.setFromMatrixColumn(this.camera.matrix,0),E.crossVectors(this.camera.up,E)),E.multiplyScalar(w),y.add(E),this.modelInScreen==="boundingbox-center"){var I=this.models.bounding.clone();I.expandByScalar(this.camera.pose.distance),y.clamp(I.min,I.max)}var M=L(L({},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=M,this.emit("gesture.pan",e),e.defaultPrevented)return;if(this.locationMotion.set({x:M.offset.x,y:M.offset.y,z:M.offset.z},0).catch(D),e.isFinal&&(this.fixFinalState(M),Object.assign(e,{__fixFinalState:!0}),this.locationMotion.set({distance:M.distance,x:M.offset.x,y:M.offset.y,z:M.offset.z},0).catch(D)),e.isFinal){var k=this.renderer.getSize(new d.Vector2),B=2*e.velocityX*g/k.y,C=2*e.velocityY*g/k.y,T=new d.Vector3,O=new d.Vector3;T.setFromMatrixColumn(this.camera.matrix,0),T.multiplyScalar(-B),O.add(T),this.camera.pose.latitude<Xs?T.setFromMatrixColumn(this.camera.matrix,1):(T.setFromMatrixColumn(this.camera.matrix,0),T.crossVectors(this.camera.up,T)),T.multiplyScalar(C),O.add(T),this.inMomentumMovement={uuid:wt()},this.requestMomentumMovement(e,!0,{longitude:0,latitude:0,x:O.x,y:O.y,z:O.z},0)}}else{var p={x:e.center.x-i.x,y:e.center.y-i.y},P=this.coordinatesForOffset(p),F=Gr(this.cameraMotion.value.longitude+P.longitude),V=fe(this.cameraMotion.value.latitude+P.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&&(V=this.cameraMotion.value.latitude);var M=L(L({},this.currentPano),{mode:this.mode,longitude:F,latitude:V,fov:this.camera.pose.fov,offset:this.camera.pose.offset,distance:this.camera.pose.distance});if(e.isFinal&&Object.assign(e,{__fixFinalState:!0}),e.state=M,this.emit("gesture.pan",e),e.defaultPrevented)return;if(e.isFinal?this.locationMotion.set({distance:M.distance,x:M.offset.x,y:M.offset.y,z:M.offset.z},0).catch(D):this.cameraMotion.set({longitude:M.longitude,latitude:M.latitude},0).catch(D),e.isFinal){var z=e.velocityX,j=e.velocityY;this.inMomentumMovement={uuid:wt()},this.requestMomentumMovement(e,!0,L(L({},this.coordinatesForOffset({x:z,y:j})),{x:0,y:0,z:0}),0)}}}},t.prototype.onPinchGesture=function(e){var r;if(this.initAnimationIsReady){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(typeof i!="undefined"){var a=this.models.bounding.getCenter(new d.Vector3),o=t.distanceFromModel(this.models,this.cameraMotion.value.fov,this.camera.aspect),s=fe(i/e.scale,Ma,1/0),l=e.state.offset.clone().sub(Ot(e.state).setLength(s)),u=this.models.bounding.containsPoint(l),c;if(!u&&this.pinchState&&this.pinchState.scale>e.scale&&a.distanceTo(l)>o?c=e.state.distance:(c=s,this.pinchState&&(this.pinchState.scale=e.scale)),e.state.distance=c,this.emit("gesture.pinch",e),!e.defaultPrevented&&(this.locationMotion.set({distance:e.state.distance},0).catch(D),e.pointerType!=="mouse"&&(e.type="gesture.pan",this.onPanGesture(e)),e.isFinal)){if(!("__fixFinalState"in e)){var f=e.state;this.fixFinalState(e.state);var A={x:f.offset.x,y:f.offset.y,z:f.offset.z,distance:f.distance};this.locationMotion.set(A,0).catch(D)}delete this.panState,delete this.pinchState}}}},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 a=e.center.raycaster;if(a.near=Ca,a.far=500,e.isFinal&&this.intersectMesh.parent&&this.intersectMesh.visible===!0){this.hideIntersectMesh();return}var o=this.models.intersectRaycaster(a)[0],s=X("intersect.update",{raycaster:a,intersection:o!=null?o:null,object:this.intersectMesh});if(this.emit("intersect.update",s),s.defaultPrevented){this.hideIntersectMesh();return}if(o){var l=(i=(r=o.face)===null||r===void 0?void 0:r.normal)!==null&&i!==void 0?i:new d.Vector3().copy(a.ray.direction).multiplyScalar(-1),u=l.clone(),c=o.point.clone();this.intersectMesh.position.copy(c);var f=a.ray.origin.distanceTo(c),A=2*Math.tan(.5*this.camera.fov/180*Math.PI),m=Math.max(f*A/10,1);this.intersectMesh.scale.set(m,m,m);var h=c.clone().add(u);if(this.intersectMesh.lookAt(h),Math.abs(l.y)>.99){var p=this.camera.position.clone().sub(c);this.intersectMesh.rotation.z=-Math.atan2(p.z,p.x)}this.intersectMesh.visible=!0,this.needsRender=!0}else this.hideIntersectMesh()}},t.prototype.onMouseWheel=function(e){if(this.initAnimationIsReady)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(D)}else{var a=e.center.delta/2*Math.max(Math.log(this.locationMotion.value.distance),1),o=this.models.bounding.getCenter(new d.Vector3),s=t.distanceFromModel(this.models,this.cameraMotion.value.fov,this.camera.aspect),l=fe(this.locationMotion.value.distance-a,Ma,1/0),u=e.state.offset.clone().sub(Ot(e.state).setLength(l)),c=this.models.bounding.containsPoint(u);if(this.modelInScreen!=="none"&&(l=!c&&a<0&&o.distanceTo(u)>s?e.state.distance:l),e.state.distance=l,this.emit("gesture.mousewheel",e),e.defaultPrevented)return;this.locationMotion.set({distance:l},0).catch(D)}},t.prototype.onTapGesture=function(e){var r=this;this.userAction=e.userAction,this.stopMomentumMovement();var i=e.center.raycaster,a=this.getForwardObserverOrNot(i);if(!a)this.emit("gesture.tap",e);else{var o={longitude:this.camera.pose.longitude,latitude:0},s=L(L({},e.state),{mode:"Panorama",workCode:a.pano.workCode,panoIndex:a.pano.panoIndex,longitude:o.longitude,latitude:o.latitude,offset:a?a.position.clone():new d.Vector3,distance:0});if(e.state=s,this.emit("gesture.tap",e),!e.defaultPrevented&&(this.emit("pano.select",X("pano.select",{prevPano:this.currentPano,state:s,userAction:e.userAction,options:o,progress:0,error:null})),a&&a.active)){var l=this.currentTapId=wt();this.preloadPano(a.pano).then(function(u){r.currentTapId===l&&r.emit("pano.request",X("pano.request",{userAction:!0,prevPano:r.currentPano,progress:0,state:s,options:o,error:null}))})}}},t.prototype.onDblTapGesture=function(e){if(this.initAnimationIsReady){this.userAction=e.userAction,this.stopMomentumMovement(),this.hideIntersectMesh();var r=e.state,i=e.center.raycaster,a=i.ray.origin.clone().add(i.ray.direction.clone().setLength(3)),o=1,s=3,l=o,u=this.models.intersectRaycaster(i)[0];if(u&&(a=u.point.clone(),u.distance>(o+s)/2?l=o:l=s),e.state.distance=l,e.state.offset=a,this.emit("gesture.dbltap",e),!e.defaultPrevented){var c={x:r.offset.x,y:r.offset.y,z:r.offset.z,distance:r.distance};this.locationMotion.set(c,360).catch(D),this.hideIntersectMesh()}}},t.prototype.hideIntersectMesh=function(){this.intersectMesh.visible=!1,this.needsRender=!0},t.prototype.render=function(e,r){var i=this.renderer.getRenderTarget();this.updateScreenBuffer(r),e&&(r==="edl"?this.edlEffect.render(this.screenBuffers):r==="hq"?this.hqEffect.render(this.screenBuffers):(this.renderer.setRenderTarget(this.modelRenderTarget),this.renderer.render(this.modelScene,this.camera))),this.depthCopyPass.render(this.modelRenderTarget.depthTexture,i),this.renderer.autoClearDepth=!1,this.renderer.autoClearColor=!0,this.copyPass.render(this.modelRenderTarget,i),this.renderer.setRenderTarget(i),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,this.camera),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0},t}(xo);function Ws(n){return n==null}var Wp={type:"move"},_s=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 d.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 d.Group,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new d.Vector3,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new d.Vector3),this._targetRay},n.prototype.getGripSpace=function(){return this._grip===null&&(this._grip=new d.Group,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new d.Vector3,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new d.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,a=null,o=null,s=this._targetRay,l=this._grip,u=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(s!==null&&(i=e.getPose(t.targetRaySpace,r),i!==null&&(s.matrix.fromArray(i.transform.matrix),s.matrix.decompose(s.position,s.rotation,s.scale),i.linearVelocity?(s.hasLinearVelocity=!0,s.linearVelocity.copy(i.linearVelocity)):s.hasLinearVelocity=!1,i.angularVelocity?(s.hasAngularVelocity=!0,s.angularVelocity.copy(i.angularVelocity)):s.hasAngularVelocity=!1,this.dispatchEvent(Wp))),u&&t.hand){o=!0;for(var c=0,f=t.hand.values();c<f.length;c++){var A=f[c],m=e.getJointPose(A,r);if(u.joints[A.jointName]===void 0){var h=new d.Group;h.matrixAutoUpdate=!1,h.visible=!1,u.joints[A.jointName]=h,u.add(h)}var p=u.joints[A.jointName];m!==null&&(p.matrix.fromArray(m.transform.matrix),p.matrix.decompose(p.position,p.rotation,p.scale),p.jointRadius=m.radius),p.visible=m!==null}var y=u.joints["index-finger-tip"],v=u.joints["thumb-tip"],g=y.position.distanceTo(v.position),x=.02,b=.005;u.inputState.pinching&&g>x+b?(u.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:t.handedness,target:this})):!u.inputState.pinching&&g<=x-b&&(u.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:t.handedness,target:this}))}else l!==null&&t.gripSpace&&(a=e.getPose(t.gripSpace,r),a!==null&&(l.matrix.fromArray(a.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),a.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(a.linearVelocity)):l.hasLinearVelocity=!1,a.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(a.angularVelocity)):l.hasAngularVelocity=!1));return s!==null&&(s.visible=i!==null),l!==null&&(l.visible=a!==null),u!==null&&(u.visible=o!==null),this},n}(),_p=1,Zp=function(){function n(t,e,r){var i,a,o,s,l;this.isPanorama=(i=r==null?void 0:r.isPanorama)!==null&&i!==void 0?i:!0;var u=navigator.userAgent.toLowerCase(),c;u.includes("pico")?c="Pico":u.includes("oculus")?c="Oculus":c="VP",this.machineType=(a=r==null?void 0:r.machineType)!==null&&a!==void 0?a:c,this.renderer=t,this.gl=e,this.enabled=!1,this.session=null,this.referenceSpaceType=(o=r==null?void 0:r.referenceSpaceType)!==null&&o!==void 0?o:"local-floor",this.referenceSpace=null,this.onSessionStartCallback=(s=r==null?void 0:r.onSessionStart)!==null&&s!==void 0?s:D,this.onSessionEndCallback=(l=r==null?void 0:r.onSessionEnd)!==null&&l!==void 0?l:D,this.controllers=[new _s,new _s],this.inputSourcesMap=new Map,this.cameraVR=new d.ArrayCamera,this.cameraL=new d.PerspectiveCamera,this.cameraR=new d.PerspectiveCamera,this.cameraL.viewport=new d.Vector4,this.cameraR.viewport=new d.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 d.Vector3,this.cameraRPos=new d.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),a=e.projectionMatrix.elements,o=r.projectionMatrix.elements,s=a[14]/(a[10]-1),l=a[14]/(a[10]+1),u=(a[9]+1)/a[5],c=(a[9]-1)/a[5],f=(a[8]-1)/a[0],A=(o[8]+1)/o[0],m=s*f,h=s*A,p=i/(-f+A),y=p*-f;e.matrixWorld.decompose(t.position,t.quaternion,t.scale),t.translateX(y),t.translateZ(p),t.matrixWorld.compose(t.position,t.quaternion,t.scale),t.matrixWorldInverse.getInverse(t.matrixWorld);var v=s+p,g=l+p,x=m-y,b=h+(i-y),w=u*l/g*v,E=c*l/g*v;t.projectionMatrix.makePerspective(x,b,w,E,v,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 a=t.children,i=0,o=a.length;i<o;i++)a[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],a=this.inputSourcesMap.get(i);a&&(a.dispatchEvent({type:"disconnected",data:i}),this.inputSourcesMap.delete(i))}for(var r=0;r<t.added.length;r++){var i=t.added[r],a=this.inputSourcesMap.get(i);a&&a.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,lt.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:_p};if(!e.session){console.error("session is lose while set session!");return}switch(e.machineType){case"Pico":case"VP":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(a){e.onRequestReferenceSpace(a)}),e.session.addEventListener("inputsourceschange",function(a){e.updateInputSources(a)})})}},n}(),So=function(n){ue(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],a=[0,2,1,2,3,1,2,4,3,4,5,3,4,6,5,6,7,5];return e.setIndex(a),e.setAttribute("position",new d.Float32BufferAttribute(r,3)),e.setAttribute("uv",new d.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 d.InstancedInterleavedBuffer(r,6,1);return this.setAttribute("instanceStart",new d.InterleavedBufferAttribute(i,3,0)),this.setAttribute("instanceEnd",new d.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 d.InstancedInterleavedBuffer(r,6,1);return this.setAttribute("instanceColorStart",new d.InterleavedBufferAttribute(i,3,0)),this.setAttribute("instanceColorEnd",new d.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 d.WireframeGeometry(e.geometry)),this},t.prototype.fromLineSegments=function(e){var r=e.geometry;if(r instanceof d.Geometry){var i=new d.BufferGeometry().fromGeometry(r);this.setPositions(i.attributes.position.array)}else r instanceof d.BufferGeometry&&this.setPositions(r.attributes.position.array);return this},t.prototype.computeBoundingBox=function(){this.boundingBox===null&&(this.boundingBox=new d.Box3);var e=this.attributes.instanceStart,r=this.attributes.instanceEnd;if(e!==void 0&&r!==void 0){var i=new d.Box3;this.boundingBox.setFromBufferAttribute(e),i.setFromBufferAttribute(r),this.boundingBox.union(i)}},t.prototype.computeBoundingSphere=function(){this.boundingSphere===null&&(this.boundingSphere=new d.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 a=0,o=new d.Vector3,s=0,l=e.count;s<l;s++)o.fromBufferAttribute(e,s),a=Math.max(a,i.distanceToSquared(o)),o.fromBufferAttribute(r,s),a=Math.max(a,i.distanceToSquared(o));this.boundingSphere.radius=Math.sqrt(a),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}(d.InstancedBufferGeometry);Object.assign(So.prototype,{isLineSegmentsGeometry:!0});var Ia={uniforms:d.UniformsUtils.merge([d.UniformsLib.common,d.UniformsLib.fog,{linewidth:{value:1},resolution:{value:new d.Vector2(1,1)},dashScale:{value:1},dashSize:{value:1},gapSize:{value:1},opacity:{value:1}}]),vertexShader:`
1863
1863
  #include <common>
1864
1864
  #include <color_pars_vertex>
1865
1865
  #include <fog_pars_vertex>
@@ -2058,7 +2058,7 @@ void main() {
2058
2058
  #include <premultiplied_alpha_fragment>
2059
2059
 
2060
2060
  }
2061
- `},wo=function(n){se(t,n);function t(e){var r=n.call(this,{uniforms:d.UniformsUtils.clone(xa.uniforms),vertexShader:xa.vertexShader,fragmentShader:xa.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}(d.ShaderMaterial);Object.assign(wo.prototype,{isLineMaterial:!0});var Tu=function(n){se(t,n);function t(e,r){var i=n.call(this)||this;return i.type="LineSegments2",i.geometry=e!==void 0?e:new xo,i.material=r!==void 0?r:new wo({color:Math.random()*16777215}),i}return t.prototype.computeLineDistances=function(){for(var e=this.geometry,r=e.attributes.instanceStart,i=e.attributes.instanceEnd,a=new Float32Array(2*r.count),o=new d.Vector3,s=new d.Vector3,u=0,l=0,c=r.count;u<c;u++,l+=2)o.fromBufferAttribute(r,u),s.fromBufferAttribute(i,u),a[l]=l===0?0:a[l-1],a[l+1]=a[l]+o.distanceTo(s);var h=new d.InstancedInterleavedBuffer(a,2,1);return e.setAttribute("instanceDistanceStart",new d.InterleavedBufferAttribute(h,1,0)),e.setAttribute("instanceDistanceEnd",new d.InterleavedBufferAttribute(h,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,a=e.camera,o=a.projectionMatrix,s=this.geometry,u=this.material,l=u.resolution,c=u.linewidth,h=s.attributes.instanceStart,A=s.attributes.instanceEnd,m=new d.Vector4,f=new d.Vector4,v=new d.Vector4,y=new d.Vector3,p=new d.Matrix4,g=new d.Line3,x=new d.Vector3;i.at(1,v),v.w=1,v.applyMatrix4(a.matrixWorldInverse),v.applyMatrix4(o),v.multiplyScalar(1/v.w),v.x*=l.x/2,v.y*=l.y/2,v.z=0,y.copy(v);var b=this.matrixWorld;p.multiplyMatrices(a.matrixWorldInverse,b);for(var w=0,E=h.count;w<E;w++){m.fromBufferAttribute(h,w),f.fromBufferAttribute(A,w),m.w=1,f.w=1,m.applyMatrix4(p),f.applyMatrix4(p),m.applyMatrix4(o),f.applyMatrix4(o),m.multiplyScalar(1/m.w),f.multiplyScalar(1/f.w);var M=m.z<-1&&f.z<-1,C=m.z>1&&f.z>1;if(!(M||C)){m.x*=l.x/2,m.y*=l.y/2,f.x*=l.x/2,f.y*=l.y/2,g.start.copy(m),g.start.z=0,g.end.copy(f),g.end.z=0;var I=g.closestPointToPointParameter(y,!0);g.at(I,x);var S=d.MathUtils.lerp(m.z,f.z,I),P=S>=-1&&S<=1,B=y.distanceTo(x)<c*.5;if(P&&B){g.start.fromBufferAttribute(h,w),g.end.fromBufferAttribute(A,w),g.start.applyMatrix4(b),g.end.applyMatrix4(b);var L=new d.Vector3,k=new d.Vector3;i.distanceSqToSegment(g.start,g.end,k,L),r.push({point:k,pointOnLine:L,distance:i.origin.distanceTo(k),object:this,faceIndex:w})}}}},t}(d.Mesh);Object.assign(Tu.prototype,{isLineSegments2:!0});var Pu=function(n){se(t,n);function t(e,r){var i=n.call(this,e,r)||this;return i.type="Line2",i}return t}(Tu);Object.assign(Pu.prototype,{isLine2:!0});var Bu=function(n){se(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),a=0;a<r;a+=3)i[2*a]=e[a],i[2*a+1]=e[a+1],i[2*a+2]=e[a+2],i[2*a+3]=e[a+3],i[2*a+4]=e[a+4],i[2*a+5]=e[a+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),a=0;a<r;a+=3)i[2*a]=e[a],i[2*a+1]=e[a+1],i[2*a+2]=e[a+2],i[2*a+3]=e[a+3],i[2*a+4]=e[a+4],i[2*a+5]=e[a+5];return n.prototype.setColors.call(this,i),this},t.prototype.fromLine=function(e){var r=e.geometry;if(r instanceof d.Geometry){var i=new d.BufferGeometry().fromGeometry(r);this.setPositions(i.attributes.position.array)}else r instanceof d.BufferGeometry&&this.setPositions(r.attributes.position.array);return this},t.prototype.copy=function(){return this},t}(xo);Object.assign(Bu.prototype,{isLineGeometry:!0});var zp="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==",Ks=14467195,Dp=8,Qp=2,Up=20,js=null,Ga=function(n){se(t,n);function t(e,r){e===void 0&&(e=new d.Vector3),r===void 0&&(r=new d.Vector3);var i=n.call(this)||this;i.type="FiveLine",i.needsRender=!0;var a=new Bu,o=new wo({color:Ks,linewidth:Qp,dashScale:Up,dashed:!1});i.line=new Pu(a,o);var s=new d.BufferGeometry,u=new d.PointsMaterial({color:Ks,size:Dp,map:js||(js=new d.TextureLoader().load(zp)),sizeAttenuation:!1,transparent:!0});return i.points=new d.Points(s,u),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.2.0-alpha.8"},enumerable:!1,configurable:!0}),t.prototype.setPoints=function(e,r){var i=[].concat(e.toArray(),r.toArray());this.points.geometry.setAttribute("position",new d.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 d.Vector3(e[0],e[1],e[2]),new d.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 a=e[i];i==="dashed"?(r.dashed=a,a?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}(d.Object3D);Object.assign(Ga.prototype,{isFiveLine:!0});var Je={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 Ru(n){return ki(this,void 0,void 0,function(){var t;return Fi(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 qp(n){return ki(this,void 0,void 0,function(){var t,e;return Fi(this,function(r){switch(r.label){case 0:if(!n)throw new Error("No basePath supplied");return t="profilesList.json",[4,Ru("".concat(n,"/").concat(t))];case 1:return e=r.sent(),[2,e]}})})}function Hp(n,t){return ki(this,arguments,void 0,function(e,r,i,a){var o,s,u,l,c,h;return i===void 0&&(i=null),a===void 0&&(a=!0),Fi(this,function(A){switch(A.label){case 0:if(!e)throw new Error("No xrInputSource supplied");if(!r)throw new Error("No basePath supplied");return[4,qp(r)];case 1:if(o=A.sent(),e.profiles.some(function(m){var f=o[m];return f&&(s={profileId:m,profilePath:"".concat(r,"/").concat(f.path),deprecated:!!f.deprecated}),!!s}),!s){if(!i)throw new Error("No matching profile name found");if(u=o[i],!u)throw new Error('No matching profile name found and default profile "'.concat(i,'" missing.'));s={profileId:i,profilePath:"".concat(r,"/").concat(u.path),deprecated:!!u.deprecated}}return[4,Ru(s.profilePath)];case 2:if(l=A.sent(),a){if(h=void 0,h=l.layouts[e.handedness],!h)throw new Error("No matching handedness, ".concat(e.handedness,", in profile ").concat(s.profileId));h.assetPath&&(c=s.profilePath.replace("profile.json",h.assetPath))}return[2,{profile:l,assetPath:c}]}})})}var Gp={xAxis:0,yAxis:0,button:0,state:Je.ComponentState.DEFAULT};function Kp(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 a=Math.atan2(t,n);e=Math.cos(a),r=Math.sin(a)}var o={normalizedXAxis:e*.5+.5,normalizedYAxis:r*.5+.5};return o}var jp=function(){function n(t){this.componentProperty=t.componentProperty,this.states=t.states,this.valueNodeName=t.valueNodeName,this.valueNodeProperty=t.valueNodeProperty,this.valueNodeProperty===Je.VisualResponseProperty.TRANSFORM&&(this.minNodeName=t.minNodeName,this.maxNodeName=t.maxNodeName),this.value=0,this.updateFromComponent(Gp)}return n.prototype.updateFromComponent=function(t){var e=t.xAxis,r=t.yAxis,i=t.button,a=t.state,o=Kp(e,r),s=o.normalizedXAxis,u=o.normalizedYAxis;switch(this.componentProperty){case Je.ComponentProperty.X_AXIS:this.value=this.states.includes(a)?s:.5;break;case Je.ComponentProperty.Y_AXIS:this.value=this.states.includes(a)?u:.5;break;case Je.ComponentProperty.BUTTON:this.value=this.states.includes(a)?i:0;break;case Je.ComponentProperty.STATE:this.valueNodeProperty===Je.VisualResponseProperty.VISIBILITY?this.value=this.states.includes(a):this.value=this.states.includes(a)?1:0;break;default:throw new Error("Unexpected visualResponse componentProperty ".concat(this.componentProperty))}},n}(),Jp=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 a=new jp(e.visualResponses[i]);r.visualResponses[i]=a}),this.gamepadIndices=Object.assign({},e.gamepadIndices),this.values={state:Je.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=F({id:this.id},this.values);return t},enumerable:!1,configurable:!0}),n.prototype.updateFromGamepad=function(t){var e=this;if(this.values.state=Je.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=Je.ComponentState.PRESSED:(r.touched||this.values.button>Je.ButtonTouchThreshold)&&(this.values.state=Je.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===Je.ComponentState.DEFAULT&&Math.abs(this.values.xAxis)>Je.AxisTouchThreshold&&(this.values.state=Je.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===Je.ComponentState.DEFAULT&&Math.abs(this.values.yAxis)>Je.AxisTouchThreshold&&(this.values.state=Je.ComponentState.TOUCHED)),Object.values(this.visualResponses).forEach(function(i){i.updateFromComponent(e.values)})},n}(),Xp=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(a){var o=i.layoutDescription.components[a];i.components[a]=new Jp(a,o)}),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}(),Wp="https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles",_p="generic-trigger",Zp=function(n){se(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 d.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 a=i.valueNode,o=i.minNode,s=i.maxNode,u=i.value,l=i.valueNodeProperty;a&&(l===Je.VisualResponseProperty.VISIBILITY?a.visible=u:l===Je.VisualResponseProperty.TRANSFORM&&(a.quaternion.copy(o.quaternion).slerp(s.quaternion,u),a.position.lerpVectors(o.position,s.position,u)))})}))},t}(Dn.Object3D);function Yp(n,t){Object.values(n.components).forEach(function(e){var r=e.type,i=e.touchPointNodeName,a=e.visualResponses;if(r===Je.ComponentType.TOUCHPAD)if(e.touchPointNode=t.getObjectByName(i),e.touchPointNode){var o=new Dn.SphereGeometry(.001),s=new Dn.MeshBasicMaterial({color:255}),u=new Dn.Mesh(o,s);e.touchPointNode.add(u)}else console.warn("Could not find touch dot, ".concat(e.touchPointNodeName,", in touchpad component ").concat(e.id));Object.values(a).forEach(function(l){var c=l.valueNodeName,h=l.minNodeName,A=l.maxNodeName,m=l.valueNodeProperty;if(m===Je.VisualResponseProperty.TRANSFORM){if(l.minNode=t.getObjectByName(h),l.maxNode=t.getObjectByName(A),!l.minNode){console.warn("Could not find ".concat(h," in the model"));return}if(!l.maxNode){console.warn("Could not find ".concat(A," in the model"));return}}l.valueNode=t.getObjectByName(c),l.valueNode||console.warn("Could not find ".concat(c," in the model"))})})}function Js(n,t){Yp(n.motionController,t),n.envMap&&t.traverse(function(e){e instanceof d.Mesh&&e.isMesh&&(e.material.envMap=n.envMap,e.material.needsUpdate=!0)}),n.add(t)}var $p=function(){function n(t){t===void 0&&(t=null),this.gltfLoader=t,this.path=Wp,this._assetCache={}}return n.prototype.createControllerModel=function(t){var e=this,r=new Zp,i=null;return t.addEventListener("connected",function(a){var o=a.data;o.targetRayMode!=="tracked-pointer"||!o.gamepad||Hp(o,e.path,_p).then(function(s){var u=s.profile,l=s.assetPath;r.motionController=new Xp(o,u,l);var c=e._assetCache[r.motionController.assetUrl];if(c)i=c.scene.clone(),Js(r,i);else{if(!e.gltfLoader)throw new Error("GLTFLoader not set.");e.gltfLoader.load(r.motionController.assetUrl,function(h){e._assetCache[r.motionController.assetUrl]=h,i=h.scene.clone(),Js(r,i)})}}).catch(function(s){console.warn(s)})}),t.addEventListener("disconnected",function(){r.motionController=null,r.remove(i),i=null}),r},n}();function ev(n,t){return n}var Xs=300,tv=new d.Matrix4().makeRotationAxis(new d.Vector3(0,1,0),Math.PI),Ws=new d.Vector3(-1,1,1),rv=function(n){se(t,n);function t(e){var r=n.call(this,e)||this;r.xrManager=new Np(r.renderer,r.renderer.getContext(),{onSessionStart:function(u){r.emit("xr.session.start",W("xr.session.start",{session:u,machineType:r.xrManager.machineType}))},onSessionEnd:function(){r.emit("xr.session.end",W("xr.session.end",{session:null,machineType:r.xrManager.machineType}))}}),r.xrControllerRay={left:new d.Raycaster,right:new d.Raycaster},r.xrControllerRay.left.params.Points={threshold:.1},r.xrControllerRay.right.params.Points={threshold:.1},r.gazeRay=null,r.pointerLines={left:new Ga,right:new Ga},r.pointerLines.left.visible=!1,r.pointerLines.right.visible=!0,r.pointerLines.left.setMaterial({color:new d.Vector3(1,1,1)}),r.pointerLines.left.points.material.depthTest=!1,r.pointerLines.right.setMaterial({color:new d.Vector3(1,1,1)}),r.pointerLines.right.points.material.depthTest=!1,r.controllerWrappers=[new d.Group,new d.Group];var i=r.xrManager.getController(0);r.controllerWrappers[0].add(i);var a=r.xrManager.getController(1);r.controllerWrappers[1].add(a);var o=new $p;o.gltfLoader={load:function(u,l){wi.ajax(u,{responseType:"arraybuffer"}).then(function(c){var h;return io(c.body,{resourcePath:u.slice(0,u.lastIndexOf("/")+1),search:(h=u.split("?")[1])!==null&&h!==void 0?h:"",fetcher:wi})}).then(function(c){return l(c)})}},(r.xrManager.machineType==="Oculus"||r.xrManager.machineType==="Pico")&&r.scene.add(r.pointerLines.left,r.pointerLines.right,r.controllerWrappers[0],r.controllerWrappers[1]),r.panoResources={},r.panoResources[r.locationMotion.keyframes[0].key=r.locationMotion.keyframes[1].key=wt()]={panoId:ze(r.currentPano),leftPanoPicture:null,position:r.camera.pose.offset.clone(),effect:"fade",fixCameraTransform:new d.Matrix4},r.parallaxCameraMatrixs=[];var s=vt.shared.getContext();return s?(r.on("xr.session.end",function(){r.scene.remove(r.pointerLines.left,r.pointerLines.right)}),r.xrManager.setSession(s),r.on("xr.session.start",function(){var u=r.xrManager.getControllerGrip(0);u.add(o.createControllerModel(u)),r.controllerWrappers[0].add(u);var l=r.xrManager.getControllerGrip(1);l.add(o.createControllerModel(l)),r.controllerWrappers[1].add(l)}),r.xrHandleState={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.xrManager.machineType==="VP"&&r.initHandEvent(),r):(console.error("获取session失败,请退出重试"),r)}return t.parseArgs=function(e){if(e instanceof t)return e;var r=F(F({},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 F(F({},i),{mode:"XRPanorama"})},t.prototype.moveToPano=function(e,r,i){var a=this,o,s,u,l,c=(o=r.effect)!==null&&o!==void 0?o:"fade";this.userAction=i,this.stopMomentumMovement();var h=this.works.getResolvedObserver(e);if(!h)throw new Error("Invalid PanoIndex");var A=jn(h.images.up),m=this.imageOptions.size;typeof m=="undefined"&&h&&A&&(m=Number(A)),typeof m=="undefined"&&(m=2048);var f=this.imageOptions.transform,v=function(P,B){return ev(tn(P,f,B))},y=F({key:"pano.".concat(h.panoId)},Vt(this.imageOptions,["format","size","quality"])),p=h.images,g=(u=(s=h.images.tiles)===null||s===void 0?void 0:s.filter(function(P){return P.size>m}))!==null&&u!==void 0?u:null,x="pano:"+Mn([p,y,f]);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===x)return;var b=this.pendingTextureTask.panoId;(l=this.panoMeshes[b])===null||l===void 0||l.setProgress(0),this.emit("pano.texture.abort",W("pano.texture.abort",{error:null,progress:0,meta:null,pano:h.pano}))}var w=this.models.getMaterial()||{},E=w.pano0,M=w.pano1,C;if((E==null?void 0:E.map.name)===x?C=E:(M==null?void 0:M.map.name)===x&&(C=M),C){var I={panoId:h.panoId,effect:c,leftPanoPicture:{zoom:1,map:C.map,luminanceMap:C.luminanceMap,matrix:new d.Matrix4().compose(h.position,h.quaternion,Ws)},position:h.position.clone(),fixCameraTransform:new d.Matrix4};this.doMoveToPano(h.pano,I,r);return}var S="move-to-pano-"+h.panoId;this.pending.add(S),this.pendingTextureTask={panoId:h.panoId,hash:x,onLoad:function(P){if(a.pending.delete(S),a.destroyed)P.body.dispose();else{P.body.name=x;var B={panoId:h.panoId,effect:c,leftPanoPicture:{zoom:1,map:P.body,luminanceMap:null,matrix:new d.Matrix4().compose(h.position,h.quaternion,Ws)},position:h.position.clone(),fixCameraTransform:new d.Matrix4};a.doMoveToPano(h.pano,B,r)}},onError:function(P){a.pending.delete(S);var B=F(F(F({},h.pano),{mode:a.mode}),We(a.camera.pose));a.emit("pano.error",W("pano.error",{error:P,userAction:a.userAction,options:r,prevPano:a.currentPano,progress:0,state:B})),a.emit("pano.cancel",W("pano.cancel",{error:null,userAction:a.userAction,options:r,prevPano:a.currentPano,progress:0,state:B})),r.moveCancelCallback&&r.moveCancelCallback()}},Promise.all([this.tileLevelForFov&&g&&g.length?this.textureLoader.loadTiledCubeTexture(p,g,{tileMaxLevel:this.TILED_CUBE_TEXTURE_LEVEL,imageURL:{transform:v,options:y},format:d.RGBAFormat,minFilter:d.LinearFilter,magFilter:d.LinearFilter,generateMipmaps:!1,viaAjax:!0,fetcher:it(h.work)},void 0,void 0,function(P){var B,L;a.emit("pano.texture.progress",W("pano.texture.progress",{error:null,progress:P,meta:null,pano:h.pano})),((B=a.pendingTextureTask)===null||B===void 0?void 0:B.hash)===x&&((L=a.panoMeshes[h.panoId])===null||L===void 0||L.setProgress(P))},this.renderer):this.textureLoader.loadCubeTexture(p,{imageURL:{transform:v,options:y},format:d.RGBAFormat,fetcher:it(h.work)},void 0,void 0,function(P){var B,L;((B=a.pendingTextureTask)===null||B===void 0?void 0:B.hash)===x&&((L=a.panoMeshes[h.panoId])===null||L===void 0||L.setProgress(P)),a.emit("pano.texture.progress",W("pano.texture.progress",{error:null,progress:P,meta:null,pano:h.pano}))},this.renderer)]).then(function(P){var B,L,k=P[0];((B=a.pendingTextureTask)===null||B===void 0?void 0:B.hash)===x?(a.pendingTextureTask.onLoad(k),(L=a.panoMeshes[h.panoId])===null||L===void 0||L.setProgress(0),delete a.pendingTextureTask,a.emit("pano.texture.success",W("pano.texture.success",{error:null,progress:1,meta:k.meta,pano:h.pano}))):k.body.dispose()}).catch(function(P){var B,L;((B=a.pendingTextureTask)===null||B===void 0?void 0:B.hash)===x&&(a.pendingTextureTask.onError(P),(L=a.panoMeshes[h.panoId])===null||L===void 0||L.setProgress(0),delete a.pendingTextureTask,a.emit("pano.texture.error",W("pano.texture.error",{error:P,progress:0,meta:null,pano:h.pano})),a.emit("error",P))}),this.emit("pano.texture.load",W("pano.texture.load",{error:null,progress:0,meta:null,pano:h.pano}))},t.prototype.doMoveToPano=function(e,r,i){var a=this,o,s,u,l,c,h,A,m,f,v;i===void 0&&(i={});var y=Ee(),p=wt();this.panoResources[p]=r;var g=1,x,b,w;if(this.locationMotion.ended){var E=this.locationMotion.getKeyFrameSegment(y);E[0];var M=E[1],C=this.locationMotion.value,I=this.panoResourceFromLocationMotionKeyframe(M).position,S=r.position;x=Math.max(I.distanceTo(S),g),b=[{key:M.key,progress:0,value:F(F({},C),{count:0})},{key:p,progress:1,value:{distance:0,count:1}}],w=0}else{var P=this.locationMotion.getKeyFrameSegment(y),B=P[0],M=P[1],C=this.locationMotion.value,L=this.panoResourceFromLocationMotionKeyframe(B).position,I=this.panoResourceFromLocationMotionKeyframe(M).position,S=r.position,k=M.value.count-C.count,O=Math.max(L.distanceTo(I),g)*k,z=Math.max(I.distanceTo(S),g);x=O+z,b=[{key:B.key,progress:0,value:F({},C)},{key:M.key,progress:O/x,value:M.value},{key:p,progress:1,value:{count:M.value.count+1,distance:0}}];var N=this.locationMotionKeyframesLength(this.locationMotion.keyframes),X=this.locationMotionKeyframesLength(b);w=this.locationMotion.getProgressVelocity(y)*N/X}var G=r.effect==="instant"?0:this.calculateMovingDuration(i.duration,r.effect==="fly"?x:0),Q={longitude:i.longitude,latitude:i.latitude,fov:i.fov},H=F(F({},e),{mode:this.mode,longitude:(o=Q.longitude)!==null&&o!==void 0?o:this.camera.pose.longitude,latitude:(s=Q.latitude)!==null&&s!==void 0?s:this.camera.pose.latitude,fov:(u=Q.fov)!==null&&u!==void 0?u:this.camera.pose.fov,offset:r.position.clone(),distance:0}),K=this.currentPano;if(this.emit("pano.moveTo",W("pano.moveTo",{options:i,prevPano:K,progress:0,state:H,userAction:this.userAction,error:null})),i.moveStartCallback&&i.moveStartCallback(H),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=D,this.videoTexture.needsUpdate=!0),this.panoVideo.setMaterial(null),r.effect==="fly")this.cameraMotion.set(Q,G).catch(D);else{var j=Ot({longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude}),J=Ot({longitude:(l=Q.longitude)!==null&&l!==void 0?l:this.cameraMotion.value.longitude,latitude:(c=Q.latitude)!==null&&c!==void 0?c:this.cameraMotion.value.latitude}),Z=new d.Object3D;Z.lookAt(j);var Y=new d.Matrix4().makeRotationFromQuaternion(Z.quaternion);Z.lookAt(J);var fe=new d.Matrix4().makeRotationFromQuaternion(Z.quaternion),$=new d.Matrix4().getInverse(Y).premultiply(fe),ae=this.cameraMotion.value.fov,ie=(h=Q.fov)!==null&&h!==void 0?h:this.cameraMotion.value.fov,ce=1;r.effect==="zoomin"?ce=1.5:r.effect==="zoomout"&&(ce=.4);for(var ne=ie*ce,ve=0;ve<b.length-1;ve++){var ue=b[ve].key;if(ue){var he=this.panoResources[ue];he&&(he.fixCameraTransform.copy($),he.leftPanoPicture&&(he.leftPanoPicture.zoom=Math.tan(ae/2/180*Math.PI)/Math.tan(ne/2/180*Math.PI)))}}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:(A=Q.longitude)!==null&&A!==void 0?A:this.cameraMotion.value.longitude,latitude:(m=Q.latitude)!==null&&m!==void 0?m:this.cameraMotion.value.latitude,fov:ne}},{progress:1,value:{longitude:(f=Q.longitude)!==null&&f!==void 0?f:this.cameraMotion.value.longitude,latitude:(v=Q.latitude)!==null&&v!==void 0?v:this.cameraMotion.value.latitude,fov:ie}}],G).catch(D)}var Se=this.locationMotion.setKeyframes(b,G,w);Se.then(function(){for(var Ce,Pe,ee,re=0,U=a.models;re<U.length;re++){var Ve=U[re];Ve.show()}var ke=F(F({},e),{mode:a.mode,longitude:a.camera.pose.longitude,latitude:a.camera.pose.latitude,fov:a.camera.pose.fov,offset:a.camera.pose.offset.clone(),distance:0});a.emit("pano.arrived",W("pano.arrived",{options:i,prevPano:K,progress:1,state:ke,userAction:a.userAction,error:null})),i.moveEndCallback&&i.moveEndCallback(ke);var Te=a.works.getResolvedObserver(a.currentPano);if(Te&&Te.video&&a.videoTexture&&a.videoTexture.image instanceof HTMLVideoElement){var Ge=tv.clone().multiply((ee=(Pe=(Ce=a.models.getMaterial())===null||Ce===void 0?void 0:Ce.pano1)===null||Pe===void 0?void 0:Pe.matrix)!==null&&ee!==void 0?ee:new d.Matrix4).multiply(Te.video.matrix),be={map:a.videoTexture,size:Te.video.size,matrix:Ge,alpha:1},ye=wt(),ge=a.videoTexture.image;ge.setAttribute("uuid",ye),yu().then(function(me){me&&Te.video&&ge.getAttribute("uuid")===ye&&(ge.oncanplay=function(){ge.oncanplay=D,ge.play()},ge.ontimeupdate=function(){ge.currentTime>.5&&(ge.ontimeupdate=D,a.panoVideo.setMaterial(be))},ge.src=Te.video.source)}).catch(function(){ge.removeAttribute("uuid")})}},function(){a.emit("pano.cancel",W("pano.cancel",{options:i,prevPano:K,progress:0,state:H,userAction:a.userAction,error:null})),i.moveCancelCallback&&i.moveCancelCallback()})},t.prototype.checkSelectedPano=function(e){var r=this,i,a,o,s;this.stopMomentumMovement();var u=this.camera.getDirection(new d.Vector3).setY(0),l=null,c=this.works.getResolvedObserver(this.currentPano);if(!c)return null;var h=c.accessibleIds.filter(function(J){var Z=pt(J);if(Zt(Z,r.currentPano))return!1;var Y=r.works.getResolvedObserver(Z);return!Y||Y.position.distanceTo(r.camera.position)>r.maxAccessibleDistance?!1:Y.loadable||Y.active}),A=this.models.intersectRaycaster(e)[0];if(A){var m=lr(h,function(J){var Z=r.works.getResolvedObserver(J);if(!Z)return 1/0;var Y=Z.standingPosition.clone();return Y.distanceTo(A.point)},!0),f=m[0],v=m[1];f&&v<this.panoTapTriggerRadius&&(l=(i=this.works.getResolvedObserver(f))!==null&&i!==void 0?i:null)}if(Hs(l)){var y=this.getForwardObserverOrNot(e);y&&(l=y)}for(var p=0,g=this.locationMotion.keyframes;p<g.length;p++){var x=g[p],b=this.panoResourceFromLocationMotionKeyframe(x);if(!(x.progress<this.locationMotion.progress)&&l&&b.panoId===l.panoId){l=null;break}}if(Hs(l))return this.locationMotion.ended===!0&&this.cameraBounce(),null;if(l&&!l.active){var w=l.panoId;this.panoMeshes[w]&&(this.panoMeshes[w].setDisabled(!1),this.panoMeshes[w].setLoading(!0))}var E={};if(l){for(var M=Math.PI/6,C=Math.PI/12,I=new d.Vector3(0,1,0),S=l.position.clone().setY(0).sub(c.position.clone().setY(0)).normalize(),P=S.clone().applyAxisAngle(I,M),B=S.clone().applyAxisAngle(I,-M),L=[],k=[],O=[],z=0,N=l.accessibleIds;z<N.length;z++){var f=N[z],X=pt(f);if(!(Zt(X,this.currentPano)||Zt(X,l.pano))){var G=this.works.getResolvedObserver(f);if(G){var Q=G.position.clone().sub(l.position).setY(0);S.angleTo(Q)<M?O.push(Q):P.angleTo(Q)<M?L.push(Q):B.angleTo(Q)<M&&k.push(Q)}}}var H=O.length>0?O:bt(bt([],L,!0),k,!0),K=H.slice().sort(function(J,Z){return J.angleTo(S)-Z.angleTo(S)})[0];K&&K.angleTo(u)>C&&(E.longitude=Math.atan2(-K.x,-K.z))}this.cameraMotion.value.latitude<-Math.PI/4&&(E.latitude=pe(0,this.minLatitude,this.maxLatitude)),this.cameraMotion.value.fov<60&&(E.fov=this.defaultFov);var j={workCode:l.pano.workCode,panoIndex:l.pano.panoIndex,mode:this.mode,longitude:(a=E.longitude)!==null&&a!==void 0?a:this.camera.pose.longitude,latitude:(o=E.latitude)!==null&&o!==void 0?o:this.camera.pose.latitude,fov:(s=E.fov)!==null&&s!==void 0?s:this.camera.pose.fov,distance:0,offset:l?l.position.clone():new d.Vector3};return this.emit("pano.select",W("pano.select",{prevPano:this.currentPano,state:j,userAction:!0,options:E,progress:0,error:null})),l&&l.active?(this.emit("pano.request",W("pano.request",{userAction:!0,prevPano:this.currentPano,progress:0,state:j,options:E,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,a,o,s,u,l,c,h,A,m=[],f=2;f<arguments.length;f++)m[f-2]=arguments[f];this.userAction=!0;var v={},y={},p=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),g=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),x=!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),v.modelAlpha=this.modelAlphaMotion.value.modelAlpha),this.perspToOrthoMotion.ended===!1&&(this.perspToOrthoMotion.update(e),this.camera.perspToOrtho.setScalar(pe(this.perspToOrthoMotion.value.perspToOrtho,0,1))),this.locationMotion.ended===!1){this.locationMotion.update(e);var b=this.locationMotion.getKeyFrameSegment(e),w=b[0],E=b[1],M=this.panoResourceFromLocationMotionKeyframe(w),C=this.panoResourceFromLocationMotionKeyframe(E),I=new d.Vector3().copy(M.position),S=new d.Vector3().copy(C.position),P=this.locationMotion.value.count-E.value.count+1;v.progress=P,C.leftPanoPicture&&(P<1?M.leftPanoPicture&&(v.pano0=M.leftPanoPicture):v.pano0=C.leftPanoPicture,v.pano1=C.leftPanoPicture),C.effect==="montage"?v.transition="BLACK":C.effect==="spread"?v.transition="SPREAD":v.transition="FADE",(C.effect==="zoomin"||C.effect==="zoomout")&&(v.progress=Math.pow(P,3)),P<1&&C.effect!=="fly"&&(v.pano0&&M.leftPanoPicture&&(v.pano0={map:v.pano0.map,zoom:v.pano0.zoom,luminanceMap:v.pano0.luminanceMap,matrix:M.leftPanoPicture.matrix.clone().setPosition(C.position)}),I.copy(S),x=!0),y.distance=this.locationMotion.value.distance,y.offset=new d.Vector3(I.x+(S.x-I.x)*P,I.y+(S.y-I.y)*P,I.z+(S.z-I.z)*P);for(var B=[],L=[],k=0,O=this.locationMotion.keyframes;k<O.length;k++){var z=O[k],N=z.key,X=z.progress;N!==void 0&&(B.push(N),X>this.locationMotion.progress&&L.push(N))}for(var G=0,Q=Object.keys(this.panoResources);G<Q.length;G++){var H=Q[G];if(!(L.indexOf(H)>=0)){var K=this.panoResources[H];if(K.leftPanoPicture){var j=K.leftPanoPicture.map;if(j){if(j===((a=v.pano0)===null||a===void 0?void 0:a.map)||j===((o=v.pano1)===null||o===void 0?void 0:o.map))continue;j instanceof Ne&&j.cubeRenderTarget&&this.colorCubeRenderTargetPool.push(j.cubeRenderTarget),j.dispose(),K.leftPanoPicture=null}}B.indexOf(H)>=0||delete this.panoResources[H]}}this.currentPano=pt(C.panoId),this.emit("pano.moving",W("pano.moving",{userAction:this.userAction,prevPano:pt(p.panoId),state:F(F(F(F({},pt(g.panoId)),{mode:this.mode}),We(this.camera.pose)),y),options:{},progress:this.locationMotion.progress,error:null}))}Qt(v)===!1&&(!((s=v.pano0)===null||s===void 0)&&s.map&&v.pano0.map instanceof Ne&&!v.pano0.map.cubeRenderTarget&&(v.pano0.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),!((u=v.pano1)===null||u===void 0)&&u.map&&v.pano1.map instanceof Ne&&!v.pano1.map.cubeRenderTarget&&(v.pano1.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),this.models.setMaterial(v)),Qt(y)===!1&&this.setCamera(y);var J=this.works.getResolvedObserver(this.currentPano),Z=m[1];if(!Z){console.error("xrFrame丢失,请重试");return}if(!this.xrManager.session){console.error("session丢失,请重试");return}var Y=this.xrManager.referenceSpace;if(Y){var fe=this.xrManager.cameraVR,$=this.xrManager.cameraL,ae=this.xrManager.cameraR,ie=[$,ae],ce=Z.getViewerPose(Y),ne=new d.Vector3(0,0,0);if(ce){var ve;ve=this.xrManager.session.renderState.baseLayer;var ue=ce.views;if(!ve){console.error("no layer found");return}this.renderer.setFramebuffer(ve.framebuffer);var he=!1;ue.length!==fe.cameras.length&&(fe.cameras.length=0,he=!0),this.parallaxCameraMatrixs=[];var Se=new d.Vector3,Ce=new d.Vector3;new d.Matrix4().fromArray(ue[0].transform.matrix).decompose(Se,new d.Quaternion,new d.Vector3),new d.Matrix4().fromArray(ue[1].transform.matrix).decompose(Ce,new d.Quaternion,new d.Vector3),Ce.clone().sub(Se).normalize();var Pe=new d.Vector3,ee=new d.Quaternion,re=new d.Vector3;this.camera.matrix.decompose(Pe,ee,re);for(var U=0;U<ue.length;U++){var Ve=ue[U],ke=ve.getViewport(Ve),Te=ie[U];Te.matrix.fromArray(Ve.transform.matrix);var Ge=new d.Vector3,be=new d.Quaternion,ye=new d.Vector3;Te.matrix.decompose(Ge,be,ye),ne.copy(Pe),Te.position.copy(Pe),Te.quaternion.copy(be),Te.scale.copy(ye),Te.updateMatrix(),Te.projectionMatrix.fromArray(Ve.projectionMatrix),Te.viewport.set(ke.x,ke.y,ke.width,ke.height),he===!0&&fe.cameras.push(Te)}if(this.xrManager.session&&this.xrManager.session.inputSources){for(var U=0;U<this.xrManager.session.inputSources.length;U++)if(this.xrManager.session.inputSources[U]&&this.xrManager.session.inputSources[U].targetRayMode==="transient-pointer"){var ge=Z.getPose(this.xrManager.session.inputSources[U].targetRaySpace,Y);if(ge){var me=new d.Vector3(0,0,-1).applyQuaternion(ge.transform.orientation),Ae=new d.Raycaster(this.camera.position,me);this.gazeRay=Ae}}}if(this.xrManager.machineType==="Oculus"||this.xrManager.machineType==="Pico"){for(var Qe=this.xrManager.session.inputSources,U=0;U<Qe.length;U++){var Ke=this.xrManager.controllers[U],rt=Qe[U];if(rt){Ke&&Ke.update(rt,Z,Y);var Ae=this.xrManager.getController(U),Kr=new d.Vector3(0,1.2,0),Fe=Ae.position.clone().add(ne).sub(Kr);rt.handedness==="left"?this.xrControllerRay.left.set(Fe,new d.Vector3(0,0,-1).applyEuler(Ae.rotation)):rt.handedness==="right"&&this.xrControllerRay.right.set(Fe,new d.Vector3(0,0,-1).applyEuler(Ae.rotation)),this.controllerWrappers[U].position.copy(new d.Vector3(0,0,0).add(ne).sub(Kr));var Ze=this.models.intersectRaycaster(this.xrControllerRay.right);if(Ze.length===0&&(Ze=this.xrControllerRay.right.intersectObject(this.boundingMesh,!0).map(function(Sr){var Xr;return F({floor:(Xr=J==null?void 0:J.floorIndex)!==null&&Xr!==void 0?Xr:0},Sr)})),Ze.length>=1&&Ze[0].face)if(rt.handedness==="right"){var ot=this.xrControllerRay.right.intersectObject(this.xrCustomObjectsScene,!0),$t=Ze[0].face.normal,sn=$t.clone(),er=Ze[0].point.clone();this.intersectMesh.position.copy(er);var It=er.clone().add(sn);if(this.intersectMesh.lookAt(It),Math.abs($t.y)>.99){var tr=this.camera.position.clone().sub(er);this.intersectMesh.rotation.z=-Math.atan2(tr.z,tr.x)}this.intersectMesh.visible=!0,this.needsRender=!0,ot.length>0?(this.pointerLines.right.setPoints(Fe,ot[0].point),this.pointerLines.right.points.visible=!0,this.intersectMesh.visible=!1):(this.pointerLines.right.points.visible=!1,this.pointerLines.right.setPoints(Fe,Ze[0].point));var Cr=Ze[0],Ut=W("intersect.update",{raycaster:(l=this.xrControllerRay.right)!==null&&l!==void 0?l:null,intersection:Cr!=null?Cr:null,object:this.intersectMesh});if(this.emit("intersect.update",Ut),Ut.defaultPrevented){this.hideIntersectMesh();return}}else this.pointerLines.left.setPoints(Fe,Ze[0].point)}}this.updateControllerHelper(Qe,e,r)}if(this.camera.pose.distance>.1||x)for(var rr=0,qt=Object.keys(this.panoMeshes);rr<qt.length;rr++){var lt=qt[rr],Le=this.panoMeshes[lt];Le.setOpacity(0),Le.setCurrent(!1),Le.updateTime&&Le.updateTime(e,r),Le.visible=!1}else if(J){var dr=lr(J.visibleIds,function(ct){var Kt=i.works.getResolvedObserver(ct);return Kt?J.standingPosition.distanceTo(Kt.standingPosition):1/0},!0),At=dr[1];At=pe(At,2.5,1/0);for(var fr=J.visibleIds.concat(ze(this.currentPano)),hr=this.getForwardObserverOrNot(),Ht=this.camera.getDirection(new d.Vector3),Et=0,pr=Object.keys(this.panoMeshes);Et<pr.length;Et++){var lt=pr[Et],Le=this.panoMeshes[lt],Mr=this.works.getResolvedObserver(lt);if(fr.indexOf(lt)===-1)Le.setCurrent(!1),Le.setOpacity(0);else if(!Mr)Le.setCurrent(!1),Le.setOpacity(0);else if(!Mr.loadable&&!Mr.active)Le.setCurrent(!1),Le.setOpacity(0);else{var un=Le.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);Le.setCurrent(!Le.loading&&Le.progress===0&&hr!==null&&hr.panoId===lt),Le.setOpacity(un<.01?0:pe(At/un*1.2,.65,.98));var jr=this.camera.position.clone().setY(Le.position.y),me=new d.Vector3().copy(Le.position).sub(jr).normalize();if(lt===ze(this.currentPano)){var Jr=pe((.5-jr.distanceTo(Le.position))/.5,0,1);me.multiplyScalar(1-Jr).add(Ht.clone().multiplyScalar(Jr))}me.length()>0&&Le.quaternion.setFromEuler(new d.Euler(0,Math.atan2(me.x,me.z),0))}Le.updateTime&&Le.updateTime(e,r)}}var Gt=function(){return 4}(),Ye=function(){var ct=new d.PerspectiveCamera;ct.applyMatrix4(fe.matrix),ct.position.set(0,0,0);var Kt=i.works.getResolvedObserver(g.panoId),Sr=Kt!=null?Kt:J;Sr&&ct.quaternion.premultiply(Sr.quaternion.clone().inverse()),ct.updateProjectionMatrix(),ct.updateMatrixWorld(!0);var Xr=new d.Frustum().setFromProjectionMatrix(new d.Matrix4().multiplyMatrices(ct.projectionMatrix,ct.matrixWorldInverse));return Xr}();g.panoId===ze(this.currentPano)&&((c=g.leftPanoPicture)===null||c===void 0?void 0:c.map)instanceof Ne&&(g.leftPanoPicture.map.maxRequest=this.tileMaxRequest,g.leftPanoPicture.map.update(Ye,Gt),g.leftPanoPicture.map.needsRender===!0&&(this.needsRender=!0,this.modelSceneNeedsRender=!0));{var qe=this.tiling.object.visible;if(this.initAnimationed){var nt=g.panoId,mt=this.works.getResolvedObserver(nt);mt?Yn(this.camera.position,mt.position)&&this.locationMotion.ended?(this.tiling.object.visible=!0,this.tiling.panoId!==nt&&this.tiling.cleanup(),this.tiling.panoId=nt,this.tiling.setResource((A=(h=mt.images)===null||h===void 0?void 0:h.tiles)!==null&&A!==void 0?A:[],this.enableIOSEDR&&mt.images.luminance?mt.images.luminance:null),this.tiling.setFetcher(it(mt.work)),this.tiling.setRotation(mt.quaternion),this.tiling.setPosition(mt.position),this.tiling.maxRequest=this.tileMaxRequest,Gt>this.TILED_CUBE_TEXTURE_LEVEL?this.tiling.update(Ye,Gt,e):this.tiling.update(Ye,0,e)):this.tiling.object.visible=!1:this.tiling.object.visible=!1}else this.tiling.object.visible=!1;qe!==this.tiling.object.visible&&(this.tiling.object.needsRender=!0,this.modelSceneNeedsRender=!0)}this.panoVideo.object.position.copy(this.camera.position),this.panoVideo.updateTime(e)}}},t.prototype.render=function(){var e=this.xrManager.getCamera(this.camera);this.renderer.render(this.modelScene,e),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,e),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0},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 a=this.xrControllerRay.left,o=this.xrControllerRay.right;if(!(!e||e.length===0)){for(var s={buttons:{X:!1,Y:!1,LeftTrigger:!1,LeftPinch:!1,A:!1,B:!1,RightTrigger:!1,RightPinch:!1}},u=0;u<e.length;u++){var l=e[u].handedness,c=e[u].gamepad;switch(l){case"left":c.axes&&(this.emitHandleEvent(c.axes[2]===-1,"LeftAxesLeft",r),this.emitHandleEvent(c.axes[2]===1,"LeftAxesRight",r),this.emitHandleEvent(c.axes[3]===-1,"LeftAxesUp",r),this.emitHandleEvent(c.axes[3]===1,"LeftAxesDown",r)),c!=null&&c.buttons&&(c.buttons[4]&&this.emitHandleEvent(c.buttons[4].pressed,"X",r),c.buttons[5]&&this.emitHandleEvent(c.buttons[5].pressed,"Y",r),c.buttons[0]&&this.emitHandleEvent(c.buttons[0].pressed,"LeftTrigger",r),c.buttons[1]&&this.emitHandleEvent(c.buttons[1].pressed,"LeftPinch",r));var h={raycaster:a,axes:{up:c.axes&&c.axes[3]<0?Math.abs(c.axes[3]):0,down:c.axes&&c.axes[3]<0?0:Math.abs(c.axes[3]),left:c.axes&&c.axes[2]<0?Math.abs(c.axes[2]):0,right:c.axes&&c.axes[2]<0?0:Math.abs(c.axes[2])},deltaTime:i};s.buttons.X=c.buttons&&c.buttons[4]?c.buttons[4].pressed:!1,s.buttons.Y=c.buttons&&c.buttons[5]?c==null?void 0:c.buttons[5].pressed:!1,s.buttons.LeftTrigger=c.buttons&&c.buttons[0]?c==null?void 0:c.buttons[0].pressed:!1,s.buttons.LeftPinch=c.buttons&&c.buttons[1]?c==null?void 0:c.buttons[1].pressed:!1,s.left=h;break;case"right":c.axes&&(this.emitHandleEvent(c.axes[2]===-1,"RightAxesLeft",r),this.emitHandleEvent(c.axes[2]===1,"RightAxesRight",r),this.emitHandleEvent(c.axes[3]===-1,"RightAxesUp",r),this.emitHandleEvent(c.axes[3]===1,"RightAxesDown",r)),c.buttons&&(c.buttons[4]&&this.emitHandleEvent(c.buttons[4].pressed,"A",r),c.buttons[5]&&this.emitHandleEvent(c.buttons[5].pressed,"B",r),c.buttons[0]&&this.emitHandleEvent(c.buttons[0].pressed,"RightTrigger",r),c.buttons[1]&&this.emitHandleEvent(c.buttons[1].pressed,"RightPinch",r));var A={raycaster:o,axes:{up:c.axes&&c.axes[3]<0?Math.abs(c.axes[3]):0,down:c.axes&&c.axes[3]<0?0:Math.abs(c.axes[3]),left:c.axes&&c.axes[2]<0?Math.abs(c.axes[2]):0,right:c.axes&&c.axes[2]<0?0:Math.abs(c.axes[2])},deltaTime:i};s.right=A,s.buttons.A=c.buttons&&c.buttons[4]?c==null?void 0:c.buttons[4].pressed:!1,s.buttons.B=c.buttons&&c.buttons[5]?c==null?void 0:c.buttons[5].pressed:!1,s.buttons.RightTrigger=c.buttons&&c.buttons[0]?c==null?void 0:c.buttons[0].pressed:!1,s.buttons.RightPinch=c.buttons&&c.buttons[1]?c==null?void 0:c.buttons[1].pressed:!1;break}}this.emit("xr.controller.update",W("xr.controller.update",s))}},t.prototype.emitHandleEvent=function(e,r,i){var a=this.xrControllerRay.left,o=this.xrControllerRay.right;if(e)if(this.xrHandleState[r].touchStart===!1)this.xrHandleState[r].touchStartTime=i,this.xrHandleState[r].touchStart=!0,this.emit("xr.gesture.buttonDown",W("xr.gesture.buttonDown",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!1,isFirst:!0,controllers:{raycaster:{leftRay:a,rightRay:o}}}));else{var s=i-this.xrHandleState[r].touchStartTime;s>Xs&&this.emit("xr.gesture.press",W("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!0,controllers:{raycaster:{leftRay:a,rightRay:o}}}))}else if(this.xrHandleState[r].touchStart===!0){this.emit("xr.gesture.buttonUp",W("xr.gesture.buttonUp",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:a,rightRay:o}}}));var s=i-this.xrHandleState[r].touchStartTime;if(s<=Xs){var u=W("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:a,rightRay:o}}}),l=this.emit("xr.gesture.tap",u);!l&&!u.defaultPrevented&&r==="RightTrigger"&&this.checkSelectedPano(this.xrControllerRay.right)}this.xrHandleState[r].touchStart=!1,this.xrHandleState[r].touchStartTime=0}},t.prototype.initHandEvent=function(){var e=this;if(!this.xrManager.session)throw new Error("初始化失败");this.xrManager.session.addEventListener("select",function(r){e.gazeRay&&e.checkSelectedPano(e.gazeRay)})},t}(go),Bt={Floorplan:Ha,Topview:Th,Panorama:go,VRPanorama:xp,Model:Ep,Mapview:Lp,XRPanorama:rv},ku=["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 nv(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=Ot(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 iv(){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 _s(n){{var t=new d.DirectionalLight(16777215,.3);t.position.copy(new d.Vector3(1,1,1)),n.add(t)}{var t=new d.DirectionalLight(16777215,.1);t.position.copy(new d.Vector3(-1,-1,-1)),n.add(t)}{var t=new d.DirectionalLight(16777215,.1);n.add(t)}{var t=new d.AmbientLight(16777215,.6);n.add(t)}}function av(n){for(var t,e,r={},i=n.split(/(\;|\,)/),a=0,o=i;a<o.length;a++){var s=o[a],u=s.split("="),l=(t=u[0])===null||t===void 0?void 0:t.trim(),c=(e=u[1])===null||e===void 0?void 0:e.trim();l&&c&&(r[l]=c)}return r}function Fu(){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=av((n=r.getAttribute("content"))!==null&&n!==void 0?n:""),a=Number(i["initial-scale"]);if(!isNaN(a))return a}}return 1}const ov="data:image/png;base64,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";var Zs=[351,63],Ys=[20,20],sv=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),uv=new Float32Array([0,0,1,0,0,1,1,1]),lv=new Uint8Array([0,1,2,1,3,2]),Di=new d.BufferGeometry;Di.setAttribute("position",new d.BufferAttribute(sv,3));Di.setAttribute("uv",new d.BufferAttribute(uv,2));Di.setIndex(new d.BufferAttribute(lv,1));var bi=new d.MeshBasicMaterial({transparent:!0,depthTest:!1,depthWrite:!1,stencilWrite:!1,fog:!1}),Lu=new d.Mesh(Di,bi);Lu.matrixAutoUpdate=!1;var Eo=new d.Scene;Eo.add(Lu);Eo.matrixAutoUpdate=!1;var $n=new d.OrthographicCamera(-.5,.5,.5,-.5,.1,1);$n.position.set(0,0,.5);$n.lookAt(0,0,0);$n.updateMatrixWorld(!0);$n.matrixAutoUpdate=!1;var cv=new d.Vector4,dv=new d.Vector4;function fv(n){if(bi.map){var r=n.getViewport(cv),i=n.getScissor(dv),a=n.getScissorTest(),o=n.autoClear,s=i.x+Ys[0]/3,u=i.y+Ys[1]/3,l=Zs[0]/3,c=Zs[1]/3;n.setViewport(s,u,l,c),n.setScissor(s,u,l,c),n.setScissorTest(!0),n.autoClear=!1,n.render(Eo,$n),n.setViewport(r),n.setScissor(i),n.setScissorTest(a),n.autoClear=o}else{var t=new d.Texture,e=new Image;e.onload=function(){t.image=e,t.wrapS=d.ClampToEdgeWrapping,t.wrapT=d.ClampToEdgeWrapping,t.minFilter=d.LinearFilter,t.needsUpdate=!0,t.generateMipmaps=!1,bi.needsUpdate=!0,e.onload=D},e.src=ov,bi.map=t}}var hv=800,$s=90,pv=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/")},vv=new d.Vector2,ci=new d.Frustum,di=new d.Matrix4,e0=new WeakMap,wa=new WeakMap,t0=za([]),Ou=function(n){se(t,n);function t(e){e===void 0&&(e={});var r,i,a,o,s,u,l,c,h,A,m,f=n.call(this)||this;if(f.ident=wt(),typeof window!="undefined"&&(Ka.instances[f.ident]=f),f.renderSwitch01=0,f.currentMode="Panorama",f.pano={workCode:"",panoIndex:0},f.needsRender=!1,f.modelSceneNeedsRender=!1,f.onlyRenderIfNeeds=(r=e.onlyRenderIfNeeds)!==null&&r!==void 0?r:!0,f.imageOptions=F({},(i=e.imageOptions)!==null&&i!==void 0?i:{}),f.textureOptions=F({},(a=e.textureOptions)!==null&&a!==void 0?a:{}),f.poweredByRealsee=(o=e.poweredByRealsee)!==null&&o!==void 0?o:!0,f.extraElements=[],f.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)},f.fps={testCount:0,testTime:Ee()},f.info=null,f.modeChangeDuration=(s=e.modeChangeDuration)!==null&&s!==void 0?s:hv,f.enableWheel=(u=e.enableWheel)!==null&&u!==void 0?u:!0,typeof window!="undefined")if("renderer"in e)e.renderer instanceof Yr&&f.throwError(new Error("cannot render a internal renderer")),f.renderer=e.renderer;else try{f.renderer=new Yr({preserveDrawingBuffer:e.preserveDrawingBuffer,backgroundColor:e.backgroundColor,backgroundAlpha:e.backgroundAlpha,antialias:e.antialias,webgl2:e.webgl2,logarithmicDepthBuffer:e.logarithmicDepthBuffer,precision:e.precision});var v=Fu();f.renderer.setPixelRatio(v===1?window.devicePixelRatio:1),f.renderer.setSize(512,512)}catch(S){S instanceof Error&&f.throwError(S)}f.getPixelsRenderTarget=new d.WebGLRenderTarget(1,1,{encoding:(c=(l=f.renderer)===null||l===void 0?void 0:l.outputEncoding)!==null&&c!==void 0?c:d.sRGBEncoding,generateMipmaps:!1});var y=new d.DepthTexture(1,1);y.generateMipmaps=!1,y.format=d.DepthStencilFormat,y.type=d.UnsignedInt248Type,f.modelRenderTarget=new d.WebGLRenderTarget(1,1,{encoding:(A=(h=f.renderer)===null||h===void 0?void 0:h.outputEncoding)!==null&&A!==void 0?A:d.sRGBEncoding,depthTexture:y,generateMipmaps:!1,depthBuffer:!0,stencilBuffer:!0}),f.scissor=Object.assign({left:0,bottom:0,width:1,height:1},e.scissor),f.camera=new Oi($s),f.scene=new x0,f.xrCustomObjectsScene=new d.Scene,f.scene.add(f.xrCustomObjectsScene),f.scene.matrixAutoUpdate=!1,f.lastLoadWorkTask=Promise.resolve(),f.requestProxy=(m=e.requestProxy)!==null&&m!==void 0?m:pv,f.networkSubscribe=new l0,f.networkSubscribe.on("network",function(S,P,B,L){var k;f.emit("network.resource",W("network.resource",{source:S,requestType:P,requestState:B,detail:L})),(k=f.analysis)===null||k===void 0||k.network(f.works,S,P,B,L)}),f.boundingMesh=fh(new d.Box3(new d.Vector3(-.5,-.5,-.5),new d.Vector3(.5,.5,.5))),f.boundingMesh.name="bounding",f.models=Es(),f.models.push(new Qa),f.lastModels=Es(),f.lastWorks=za([]),f.readyCallbacks=[],f.syncingState=!1,f.helperGroup=new d.Group,f.helperGroup.name="helper",f.helperGroup.matrixAutoUpdate=!1,f.scene.add(f.helperGroup),f.modelGroup=new d.Group,f.modelGroup.visible=!1,f.modelGroup.name="model",f.modelGroup.matrixAutoUpdate=!1,f.modelScene=new d.Scene,f.modelScene.add(f.modelGroup),f.modelScene.add(f.boundingMesh),f.modelScene.matrixAutoUpdate=!1,f.videoTexture=new d.VideoTexture(e.videoInstance||iv()),_s(f.scene),_s(f.modelScene),f.state={mode:f.currentMode,workCode:f.pano.workCode,panoIndex:f.pano.panoIndex,longitude:f.camera.pose.longitude,latitude:f.camera.pose.latitude,fov:f.camera.pose.fov,offset:f.camera.pose.offset.clone(),distance:f.camera.pose.distance},f.stateSynced=!1,f._enablePostProcessing=!1,f._enableIOSEDR=!1,f._enableEDL=!1,f._enableHQ=!1,f.destroyed=!1,f.paused=!0,typeof window!="undefined"&&(e.play!==!1&&f.play(),f.stopAnimationLoop=vt.shared.add(function(S,P){for(var B=[],L=2;L<arguments.length;L++)B[L-2]=arguments[L];f.updateTime.apply(f,bt([S,P],B,!1))},!1,0,10));var p=function(){typeof document!="undefined"&&document.fullscreenElement===null&&f.currentMode==="VRPanorama"&&f.controller.emit("vr.requestExit",W("vr.requestExit",{}))},g=function(){f.needsRender=!0,f.modelSceneNeedsRender=!0};if(typeof document!="undefined"&&document.addEventListener("fullscreenchange",p,!1),f.renderer&&f.renderer.domElement.addEventListener("webglcontextrestored",g,!1),f.removeEventListeners=function(){typeof document!="undefined"&&document.removeEventListener("fullscreenchange",p,!1),f.renderer&&f.renderer.domElement.removeEventListener("webglcontextrestored",g,!1)},f.plugins={},e.plugins&&e.plugins.length)for(var x=0,b=e.plugins;x<b.length;x++){var w=b[x];if(typeof w=="function")w(f);else if(Array.isArray(w)){var E=w[0],M=w[1],C=w[2];if(typeof E=="function"){var I=E(f,C);typeof M=="string"&&(f.plugins[M]?f.throwError(new Error("plugin name ".concat(M," is exists."))):f.plugins[M]=I)}}}return f.gpuPickingRenderTarget=new d.WebGLRenderTarget(1,1,{generateMipmaps:!1}),f.meshReplaceMaterialMap=new Map,f.meshOriginMaterialMap=new Map,nv(f),f}return Object.defineProperty(t,"version",{get:function(){return"6.2.0-alpha.8"},enumerable:!1,configurable:!0}),Object.defineProperty(t,"dracoPath",{get:function(){return Ii.decoderPath},set:function(e){Ii.setDecoderPath(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t,"ktx2Path",{get:function(){return Hn.transcoderPath},set:function(e){Hn.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,a,o){var s=this;if(a===void 0&&(a=1),o===void 0&&(o=new d.Vector3(0,0,0)),!this.renderer)throw new Error("renderer is not initialized.");this.models.setMaterial({constantColor:o}),this.scene.traverse(function(h){if(!(!(h instanceof d.Mesh)||h instanceof Dt)){var A=Object.keys(i).filter(function(f){return f===h.uuid})[0];if(A)if(s.meshOriginMaterialMap.set(A,h.material),s.meshReplaceMaterialMap.get(A))h.material=s.meshReplaceMaterialMap.get(A);else{var m=new d.ShaderMaterial({uniforms:{color:{value:i[A]}},vertexShader:`
2061
+ `},To=function(n){ue(t,n);function t(e){var r=n.call(this,{uniforms:d.UniformsUtils.clone(Ia.uniforms),vertexShader:Ia.vertexShader,fragmentShader:Ia.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}(d.ShaderMaterial);Object.assign(To.prototype,{isLineMaterial:!0});var zu=function(n){ue(t,n);function t(e,r){var i=n.call(this)||this;return i.type="LineSegments2",i.geometry=e!==void 0?e:new So,i.material=r!==void 0?r:new To({color:Math.random()*16777215}),i}return t.prototype.computeLineDistances=function(){for(var e=this.geometry,r=e.attributes.instanceStart,i=e.attributes.instanceEnd,a=new Float32Array(2*r.count),o=new d.Vector3,s=new d.Vector3,l=0,u=0,c=r.count;l<c;l++,u+=2)o.fromBufferAttribute(r,l),s.fromBufferAttribute(i,l),a[u]=u===0?0:a[u-1],a[u+1]=a[u]+o.distanceTo(s);var f=new d.InstancedInterleavedBuffer(a,2,1);return e.setAttribute("instanceDistanceStart",new d.InterleavedBufferAttribute(f,1,0)),e.setAttribute("instanceDistanceEnd",new d.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,a=e.camera,o=a.projectionMatrix,s=this.geometry,l=this.material,u=l.resolution,c=l.linewidth,f=s.attributes.instanceStart,A=s.attributes.instanceEnd,m=new d.Vector4,h=new d.Vector4,p=new d.Vector4,y=new d.Vector3,v=new d.Matrix4,g=new d.Line3,x=new d.Vector3;i.at(1,p),p.w=1,p.applyMatrix4(a.matrixWorldInverse),p.applyMatrix4(o),p.multiplyScalar(1/p.w),p.x*=u.x/2,p.y*=u.y/2,p.z=0,y.copy(p);var b=this.matrixWorld;v.multiplyMatrices(a.matrixWorldInverse,b);for(var w=0,E=f.count;w<E;w++){m.fromBufferAttribute(f,w),h.fromBufferAttribute(A,w),m.w=1,h.w=1,m.applyMatrix4(v),h.applyMatrix4(v),m.applyMatrix4(o),h.applyMatrix4(o),m.multiplyScalar(1/m.w),h.multiplyScalar(1/h.w);var I=m.z<-1&&h.z<-1,M=m.z>1&&h.z>1;if(!(I||M)){m.x*=u.x/2,m.y*=u.y/2,h.x*=u.x/2,h.y*=u.y/2,g.start.copy(m),g.start.z=0,g.end.copy(h),g.end.z=0;var k=g.closestPointToPointParameter(y,!0);g.at(k,x);var B=d.MathUtils.lerp(m.z,h.z,k),C=B>=-1&&B<=1,T=y.distanceTo(x)<c*.5;if(C&&T){g.start.fromBufferAttribute(f,w),g.end.fromBufferAttribute(A,w),g.start.applyMatrix4(b),g.end.applyMatrix4(b);var O=new d.Vector3,P=new d.Vector3;i.distanceSqToSegment(g.start,g.end,P,O),r.push({point:P,pointOnLine:O,distance:i.origin.distanceTo(P),object:this,faceIndex:w})}}}},t}(d.Mesh);Object.assign(zu.prototype,{isLineSegments2:!0});var Du=function(n){ue(t,n);function t(e,r){var i=n.call(this,e,r)||this;return i.type="Line2",i}return t}(zu);Object.assign(Du.prototype,{isLine2:!0});var Qu=function(n){ue(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),a=0;a<r;a+=3)i[2*a]=e[a],i[2*a+1]=e[a+1],i[2*a+2]=e[a+2],i[2*a+3]=e[a+3],i[2*a+4]=e[a+4],i[2*a+5]=e[a+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),a=0;a<r;a+=3)i[2*a]=e[a],i[2*a+1]=e[a+1],i[2*a+2]=e[a+2],i[2*a+3]=e[a+3],i[2*a+4]=e[a+4],i[2*a+5]=e[a+5];return n.prototype.setColors.call(this,i),this},t.prototype.fromLine=function(e){var r=e.geometry;if(r instanceof d.Geometry){var i=new d.BufferGeometry().fromGeometry(r);this.setPositions(i.attributes.position.array)}else r instanceof d.BufferGeometry&&this.setPositions(r.attributes.position.array);return this},t.prototype.copy=function(){return this},t}(So);Object.assign(Qu.prototype,{isLineGeometry:!0});var Yp="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==",Zs=14467195,$p=8,ev=2,tv=20,Ys=null,Wa=function(n){ue(t,n);function t(e,r){e===void 0&&(e=new d.Vector3),r===void 0&&(r=new d.Vector3);var i=n.call(this)||this;i.type="FiveLine",i.needsRender=!0;var a=new Qu,o=new To({color:Zs,linewidth:ev,dashScale:tv,dashed:!1});i.line=new Du(a,o);var s=new d.BufferGeometry,l=new d.PointsMaterial({color:Zs,size:$p,map:Ys||(Ys=new d.TextureLoader().load(Yp)),sizeAttenuation:!1,transparent:!0});return i.points=new d.Points(s,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.2.0"},enumerable:!1,configurable:!0}),t.prototype.setPoints=function(e,r){var i=[].concat(e.toArray(),r.toArray());this.points.geometry.setAttribute("position",new d.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 d.Vector3(e[0],e[1],e[2]),new d.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 a=e[i];i==="dashed"?(r.dashed=a,a?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}(d.Object3D);Object.assign(Wa.prototype,{isFiveLine:!0});var Xe={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 Uu(n){return Oi(this,void 0,void 0,function(){var t;return Vi(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 rv(n){return Oi(this,void 0,void 0,function(){var t,e;return Vi(this,function(r){switch(r.label){case 0:if(!n)throw new Error("No basePath supplied");return t="profilesList.json",[4,Uu("".concat(n,"/").concat(t))];case 1:return e=r.sent(),[2,e]}})})}function nv(n,t){return Oi(this,arguments,void 0,function(e,r,i,a){var o,s,l,u,c,f;return i===void 0&&(i=null),a===void 0&&(a=!0),Vi(this,function(A){switch(A.label){case 0:if(!e)throw new Error("No xrInputSource supplied");if(!r)throw new Error("No basePath supplied");return[4,rv(r)];case 1:if(o=A.sent(),e.profiles.some(function(m){var h=o[m];return h&&(s={profileId:m,profilePath:"".concat(r,"/").concat(h.path),deprecated:!!h.deprecated}),!!s}),!s){if(!i)throw new Error("No matching profile name found");if(l=o[i],!l)throw new Error('No matching profile name found and default profile "'.concat(i,'" missing.'));s={profileId:i,profilePath:"".concat(r,"/").concat(l.path),deprecated:!!l.deprecated}}return[4,Uu(s.profilePath)];case 2:if(u=A.sent(),a){if(f=void 0,f=u.layouts[e.handedness],!f)throw new Error("No matching handedness, ".concat(e.handedness,", in profile ").concat(s.profileId));f.assetPath&&(c=s.profilePath.replace("profile.json",f.assetPath))}return[2,{profile:u,assetPath:c}]}})})}var iv={xAxis:0,yAxis:0,button:0,state:Xe.ComponentState.DEFAULT};function av(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 a=Math.atan2(t,n);e=Math.cos(a),r=Math.sin(a)}var o={normalizedXAxis:e*.5+.5,normalizedYAxis:r*.5+.5};return o}var ov=function(){function n(t){this.componentProperty=t.componentProperty,this.states=t.states,this.valueNodeName=t.valueNodeName,this.valueNodeProperty=t.valueNodeProperty,this.valueNodeProperty===Xe.VisualResponseProperty.TRANSFORM&&(this.minNodeName=t.minNodeName,this.maxNodeName=t.maxNodeName),this.value=0,this.updateFromComponent(iv)}return n.prototype.updateFromComponent=function(t){var e=t.xAxis,r=t.yAxis,i=t.button,a=t.state,o=av(e,r),s=o.normalizedXAxis,l=o.normalizedYAxis;switch(this.componentProperty){case Xe.ComponentProperty.X_AXIS:this.value=this.states.includes(a)?s:.5;break;case Xe.ComponentProperty.Y_AXIS:this.value=this.states.includes(a)?l:.5;break;case Xe.ComponentProperty.BUTTON:this.value=this.states.includes(a)?i:0;break;case Xe.ComponentProperty.STATE:this.valueNodeProperty===Xe.VisualResponseProperty.VISIBILITY?this.value=this.states.includes(a):this.value=this.states.includes(a)?1:0;break;default:throw new Error("Unexpected visualResponse componentProperty ".concat(this.componentProperty))}},n}(),sv=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 a=new ov(e.visualResponses[i]);r.visualResponses[i]=a}),this.gamepadIndices=Object.assign({},e.gamepadIndices),this.values={state:Xe.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=L({id:this.id},this.values);return t},enumerable:!1,configurable:!0}),n.prototype.updateFromGamepad=function(t){var e=this;if(this.values.state=Xe.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=Xe.ComponentState.PRESSED:(r.touched||this.values.button>Xe.ButtonTouchThreshold)&&(this.values.state=Xe.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===Xe.ComponentState.DEFAULT&&Math.abs(this.values.xAxis)>Xe.AxisTouchThreshold&&(this.values.state=Xe.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===Xe.ComponentState.DEFAULT&&Math.abs(this.values.yAxis)>Xe.AxisTouchThreshold&&(this.values.state=Xe.ComponentState.TOUCHED)),Object.values(this.visualResponses).forEach(function(i){i.updateFromComponent(e.values)})},n}(),uv=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(a){var o=i.layoutDescription.components[a];i.components[a]=new sv(a,o)}),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}(),lv="https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles",cv="generic-trigger",dv=function(n){ue(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 d.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 a=i.valueNode,o=i.minNode,s=i.maxNode,l=i.value,u=i.valueNodeProperty;a&&(u===Xe.VisualResponseProperty.VISIBILITY?a.visible=l:u===Xe.VisualResponseProperty.TRANSFORM&&(a.quaternion.copy(o.quaternion).slerp(s.quaternion,l),a.position.lerpVectors(o.position,s.position,l)))})}))},t}(zn.Object3D);function fv(n,t){Object.values(n.components).forEach(function(e){var r=e.type,i=e.touchPointNodeName,a=e.visualResponses;if(r===Xe.ComponentType.TOUCHPAD)if(e.touchPointNode=t.getObjectByName(i),e.touchPointNode){var o=new zn.SphereGeometry(.001),s=new zn.MeshBasicMaterial({color:255}),l=new zn.Mesh(o,s);e.touchPointNode.add(l)}else console.warn("Could not find touch dot, ".concat(e.touchPointNodeName,", in touchpad component ").concat(e.id));Object.values(a).forEach(function(u){var c=u.valueNodeName,f=u.minNodeName,A=u.maxNodeName,m=u.valueNodeProperty;if(m===Xe.VisualResponseProperty.TRANSFORM){if(u.minNode=t.getObjectByName(f),u.maxNode=t.getObjectByName(A),!u.minNode){console.warn("Could not find ".concat(f," in the model"));return}if(!u.maxNode){console.warn("Could not find ".concat(A," in the model"));return}}u.valueNode=t.getObjectByName(c),u.valueNode||console.warn("Could not find ".concat(c," in the model"))})})}function $s(n,t){fv(n.motionController,t),n.envMap&&t.traverse(function(e){e instanceof d.Mesh&&e.isMesh&&(e.material.envMap=n.envMap,e.material.needsUpdate=!0)}),n.add(t)}var hv=function(){function n(t){t===void 0&&(t=null),this.gltfLoader=t,this.path=lv,this._assetCache={}}return n.prototype.createControllerModel=function(t){var e=this,r=new dv,i=null;return t.addEventListener("connected",function(a){var o=a.data;o.targetRayMode!=="tracked-pointer"||!o.gamepad||nv(o,e.path,cv).then(function(s){var l=s.profile,u=s.assetPath;r.motionController=new uv(o,l,u);var c=e._assetCache[r.motionController.assetUrl];if(c)i=c.scene.clone(),$s(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(),$s(r,i)})}}).catch(function(s){console.warn(s)})}),t.addEventListener("disconnected",function(){r.motionController=null,r.remove(i),i=null}),r},n}();function pv(n,t){return n}var e0=300,vv=new d.Matrix4().makeRotationAxis(new d.Vector3(0,1,0),Math.PI),t0=new d.Vector3(-1,1,1),Av=function(n){ue(t,n);function t(e){var r=n.call(this,e)||this;r.xrManager=new Zp(r.renderer,r.renderer.getContext(),{onSessionStart:function(l){r.emit("xr.session.start",X("xr.session.start",{session:l,machineType:r.xrManager.machineType}))},onSessionEnd:function(){r.emit("xr.session.end",X("xr.session.end",{session:null,machineType:r.xrManager.machineType}))}}),r.xrControllerRay={left:new d.Raycaster,right:new d.Raycaster},r.xrControllerRay.left.params.Points={threshold:.1},r.xrControllerRay.right.params.Points={threshold:.1},r.gazeRay=null,r.pointerLines={left:new Wa,right:new Wa},r.pointerLines.left.visible=!1,r.pointerLines.right.visible=!0,r.pointerLines.left.setMaterial({color:new d.Vector3(1,1,1)}),r.pointerLines.left.points.material.depthTest=!1,r.pointerLines.right.setMaterial({color:new d.Vector3(1,1,1)}),r.pointerLines.right.points.material.depthTest=!1,r.controllerWrappers=[new d.Group,new d.Group];var i=r.xrManager.getController(0);r.controllerWrappers[0].add(i);var a=r.xrManager.getController(1);r.controllerWrappers[1].add(a);var o=new hv;o.gltfLoader={load:function(l,u){Mi.ajax(l,{responseType:"arraybuffer"}).then(function(c){var f;return lo(c.body,{resourcePath:l.slice(0,l.lastIndexOf("/")+1),search:(f=l.split("?")[1])!==null&&f!==void 0?f:"",fetcher:Mi})}).then(function(c){return u(c)})}},(r.xrManager.machineType==="Oculus"||r.xrManager.machineType==="Pico")&&r.scene.add(r.pointerLines.left,r.pointerLines.right,r.controllerWrappers[0],r.controllerWrappers[1]),r.panoResources={},r.panoResources[r.locationMotion.keyframes[0].key=r.locationMotion.keyframes[1].key=wt()]={panoId:ze(r.currentPano),leftPanoPicture:null,position:r.camera.pose.offset.clone(),effect:"fade",fixCameraTransform:new d.Matrix4},r.parallaxCameraMatrixs=[];var s=lt.shared.getContext();return s?(r.on("xr.session.end",function(){r.scene.remove(r.pointerLines.left,r.pointerLines.right)}),r.xrManager.setSession(s),r.on("xr.session.start",function(){var l=r.xrManager.getControllerGrip(0);l.add(o.createControllerModel(l)),r.controllerWrappers[0].add(l);var u=r.xrManager.getControllerGrip(1);u.add(o.createControllerModel(u)),r.controllerWrappers[1].add(u)}),r.xrHandleState={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.xrManager.machineType==="VP"&&r.initHandEvent(),r):(console.error("获取session失败,请退出重试"),r)}return t.parseArgs=function(e){if(e instanceof t)return e;var r=L(L({},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 L(L({},i),{mode:"XRPanorama"})},t.prototype.moveToPano=function(e,r,i){var a=this,o,s,l,u,c=(o=r.effect)!==null&&o!==void 0?o:"fade";this.userAction=i,this.stopMomentumMovement();var f=this.works.getResolvedObserver(e);if(!f)throw new Error("Invalid PanoIndex");var A=Kn(f.images.up),m=this.imageOptions.size;typeof m=="undefined"&&f&&A&&(m=Number(A)),typeof m=="undefined"&&(m=2048);var h=this.imageOptions.transform,p=function(C,T){return pv(rn(C,h,T))},y=L({key:"pano.".concat(f.panoId)},Vt(this.imageOptions,["format","size","quality"])),v=f.images,g=(l=(s=f.images.tiles)===null||s===void 0?void 0:s.filter(function(C){return C.size>m}))!==null&&l!==void 0?l:null,x="pano:"+ho([v,y,h]);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===x)return;var b=this.pendingTextureTask.panoId;(u=this.panoMeshes[b])===null||u===void 0||u.setProgress(0),this.emit("pano.texture.abort",X("pano.texture.abort",{error:null,progress:0,meta:null,pano:f.pano}))}var w=this.models.getMaterial()||{},E=w.pano0,I=w.pano1,M;if((E==null?void 0:E.map.name)===x?M=E:(I==null?void 0:I.map.name)===x&&(M=I),M){var k={panoId:f.panoId,effect:c,leftPanoPicture:{zoom:1,map:M.map,luminanceMap:M.luminanceMap,matrix:new d.Matrix4().compose(f.position,f.quaternion,t0)},position:f.position.clone(),fixCameraTransform:new d.Matrix4};this.doMoveToPano(f.pano,k,r);return}var B="move-to-pano-"+f.panoId;this.pending.add(B),this.pendingTextureTask={panoId:f.panoId,hash:x,onLoad:function(C){if(a.pending.delete(B),a.destroyed)C.body.dispose();else{C.body.name=x;var T={panoId:f.panoId,effect:c,leftPanoPicture:{zoom:1,map:C.body,luminanceMap:null,matrix:new d.Matrix4().compose(f.position,f.quaternion,t0)},position:f.position.clone(),fixCameraTransform:new d.Matrix4};a.doMoveToPano(f.pano,T,r)}},onError:function(C){a.pending.delete(B);var T=L(L(L({},f.pano),{mode:a.mode}),Je(a.camera.pose));a.emit("pano.error",X("pano.error",{error:C,userAction:a.userAction,options:r,prevPano:a.currentPano,progress:0,state:T})),a.emit("pano.cancel",X("pano.cancel",{error:null,userAction:a.userAction,options:r,prevPano:a.currentPano,progress:0,state:T})),r.moveCancelCallback&&r.moveCancelCallback()}},Promise.all([this.tileLevelForFov&&g&&g.length?this.textureLoader.loadTiledCubeTexture(v,g,{tileMaxLevel:this.TILED_CUBE_TEXTURE_LEVEL,imageURL:{transform:p,options:y},format:d.RGBAFormat,minFilter:d.LinearFilter,magFilter:d.LinearFilter,generateMipmaps:!1,viaAjax:!0,fetcher:it(f.work)},void 0,void 0,function(C){var T,O;a.emit("pano.texture.progress",X("pano.texture.progress",{error:null,progress:C,meta:null,pano:f.pano})),((T=a.pendingTextureTask)===null||T===void 0?void 0:T.hash)===x&&((O=a.panoMeshes[f.panoId])===null||O===void 0||O.setProgress(C))},this.renderer):this.textureLoader.loadCubeTexture(v,{imageURL:{transform:p,options:y},format:d.RGBAFormat,fetcher:it(f.work)},void 0,void 0,function(C){var T,O;((T=a.pendingTextureTask)===null||T===void 0?void 0:T.hash)===x&&((O=a.panoMeshes[f.panoId])===null||O===void 0||O.setProgress(C)),a.emit("pano.texture.progress",X("pano.texture.progress",{error:null,progress:C,meta:null,pano:f.pano}))},this.renderer)]).then(function(C){var T,O,P=C[0];((T=a.pendingTextureTask)===null||T===void 0?void 0:T.hash)===x?(a.pendingTextureTask.onLoad(P),(O=a.panoMeshes[f.panoId])===null||O===void 0||O.setProgress(0),delete a.pendingTextureTask,a.emit("pano.texture.success",X("pano.texture.success",{error:null,progress:1,meta:P.meta,pano:f.pano}))):P.body.dispose()}).catch(function(C){var T,O;((T=a.pendingTextureTask)===null||T===void 0?void 0:T.hash)===x&&(a.pendingTextureTask.onError(C),(O=a.panoMeshes[f.panoId])===null||O===void 0||O.setProgress(0),delete a.pendingTextureTask,a.emit("pano.texture.error",X("pano.texture.error",{error:C,progress:0,meta:null,pano:f.pano})),a.emit("error",C))}),this.emit("pano.texture.load",X("pano.texture.load",{error:null,progress:0,meta:null,pano:f.pano}))},t.prototype.doMoveToPano=function(e,r,i){var a=this,o,s,l,u,c,f,A,m,h,p;i===void 0&&(i={});var y=Ee(),v=wt();this.panoResources[v]=r;var g=1,x,b,w;if(this.locationMotion.ended){var E=this.locationMotion.getKeyFrameSegment(y);E[0];var I=E[1],M=this.locationMotion.value,k=this.panoResourceFromLocationMotionKeyframe(I).position,B=r.position;x=Math.max(k.distanceTo(B),g),b=[{key:I.key,progress:0,value:L(L({},M),{count:0})},{key:v,progress:1,value:{distance:0,count:1}}],w=0}else{var C=this.locationMotion.getKeyFrameSegment(y),T=C[0],I=C[1],M=this.locationMotion.value,O=this.panoResourceFromLocationMotionKeyframe(T).position,k=this.panoResourceFromLocationMotionKeyframe(I).position,B=r.position,P=I.value.count-M.count,F=Math.max(O.distanceTo(k),g)*P,V=Math.max(k.distanceTo(B),g);x=F+V,b=[{key:T.key,progress:0,value:L({},M)},{key:I.key,progress:F/x,value:I.value},{key:v,progress:1,value:{count:I.value.count+1,distance:0}}];var z=this.locationMotionKeyframesLength(this.locationMotion.keyframes),j=this.locationMotionKeyframesLength(b);w=this.locationMotion.getProgressVelocity(y)*z/j}var K=r.effect==="instant"?0:this.calculateMovingDuration(i.duration,r.effect==="fly"?x:0),H={longitude:i.longitude,latitude:i.latitude,fov:i.fov},q=L(L({},e),{mode:this.mode,longitude:(o=H.longitude)!==null&&o!==void 0?o:this.camera.pose.longitude,latitude:(s=H.latitude)!==null&&s!==void 0?s:this.camera.pose.latitude,fov:(l=H.fov)!==null&&l!==void 0?l:this.camera.pose.fov,offset:r.position.clone(),distance:0}),J=this.currentPano;if(this.emit("pano.moveTo",X("pano.moveTo",{options:i,prevPano:J,progress:0,state:q,userAction:this.userAction,error:null})),i.moveStartCallback&&i.moveStartCallback(q),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=D,this.videoTexture.needsUpdate=!0),this.panoVideo.setMaterial(null),r.effect==="fly")this.cameraMotion.set(H,K).catch(D);else{var G=Ot({longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude}),W=Ot({longitude:(u=H.longitude)!==null&&u!==void 0?u:this.cameraMotion.value.longitude,latitude:(c=H.latitude)!==null&&c!==void 0?c:this.cameraMotion.value.latitude}),_=new d.Object3D;_.lookAt(G);var Y=new d.Matrix4().makeRotationFromQuaternion(_.quaternion);_.lookAt(W);var oe=new d.Matrix4().makeRotationFromQuaternion(_.quaternion),$=new d.Matrix4().getInverse(Y).premultiply(oe),ae=this.cameraMotion.value.fov,ne=(f=H.fov)!==null&&f!==void 0?f:this.cameraMotion.value.fov,le=1;r.effect==="zoomin"?le=1.5:r.effect==="zoomout"&&(le=.4);for(var ie=ne*le,ge=0;ge<b.length-1;ge++){var he=b[ge].key;if(he){var ve=this.panoResources[he];ve&&(ve.fixCameraTransform.copy($),ve.leftPanoPicture&&(ve.leftPanoPicture.zoom=Math.tan(ae/2/180*Math.PI)/Math.tan(ie/2/180*Math.PI)))}}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:(A=H.longitude)!==null&&A!==void 0?A:this.cameraMotion.value.longitude,latitude:(m=H.latitude)!==null&&m!==void 0?m:this.cameraMotion.value.latitude,fov:ie}},{progress:1,value:{longitude:(h=H.longitude)!==null&&h!==void 0?h:this.cameraMotion.value.longitude,latitude:(p=H.latitude)!==null&&p!==void 0?p:this.cameraMotion.value.latitude,fov:ne}}],K).catch(D)}var Re=this.locationMotion.setKeyframes(b,K,w);Re.then(function(){for(var Ce,Te,ee,re=0,Q=a.models;re<Q.length;re++){var Ve=Q[re];Ve.show()}var ke=L(L({},e),{mode:a.mode,longitude:a.camera.pose.longitude,latitude:a.camera.pose.latitude,fov:a.camera.pose.fov,offset:a.camera.pose.offset.clone(),distance:0});a.emit("pano.arrived",X("pano.arrived",{options:i,prevPano:J,progress:1,state:ke,userAction:a.userAction,error:null})),i.moveEndCallback&&i.moveEndCallback(ke);var Se=a.works.getResolvedObserver(a.currentPano);if(Se&&Se.video&&a.videoTexture&&a.videoTexture.image instanceof HTMLVideoElement){var Ge=vv.clone().multiply((ee=(Te=(Ce=a.models.getMaterial())===null||Ce===void 0?void 0:Ce.pano1)===null||Te===void 0?void 0:Te.matrix)!==null&&ee!==void 0?ee:new d.Matrix4).multiply(Se.video.matrix),be={map:a.videoTexture,size:Se.video.size,matrix:Ge,alpha:1},ye=wt(),me=a.videoTexture.image;me.setAttribute("uuid",ye),Pu().then(function(Ae){Ae&&Se.video&&me.getAttribute("uuid")===ye&&(me.oncanplay=function(){me.oncanplay=D,me.play()},me.ontimeupdate=function(){me.currentTime>.5&&(me.ontimeupdate=D,a.panoVideo.setMaterial(be))},me.src=Se.video.source)}).catch(function(){me.removeAttribute("uuid")})}},function(){a.emit("pano.cancel",X("pano.cancel",{options:i,prevPano:J,progress:0,state:q,userAction:a.userAction,error:null})),i.moveCancelCallback&&i.moveCancelCallback()})},t.prototype.checkSelectedPano=function(e){var r=this,i,a,o,s;this.stopMomentumMovement();var l=this.camera.getDirection(new d.Vector3).setY(0),u=null,c=this.works.getResolvedObserver(this.currentPano);if(!c)return null;var f=c.accessibleIds.filter(function(W){var _=vt(W);if(Zt(_,r.currentPano))return!1;var Y=r.works.getResolvedObserver(_);return!Y||Y.position.distanceTo(r.camera.position)>r.maxAccessibleDistance?!1:Y.loadable||Y.active}),A=this.models.intersectRaycaster(e)[0];if(A){var m=lr(f,function(W){var _=r.works.getResolvedObserver(W);if(!_)return 1/0;var Y=_.standingPosition.clone();return Y.distanceTo(A.point)},!0),h=m[0],p=m[1];h&&p<this.panoTapTriggerRadius&&(u=(i=this.works.getResolvedObserver(h))!==null&&i!==void 0?i:null)}if(Ws(u)){var y=this.getForwardObserverOrNot(e);y&&(u=y)}for(var v=0,g=this.locationMotion.keyframes;v<g.length;v++){var x=g[v],b=this.panoResourceFromLocationMotionKeyframe(x);if(!(x.progress<this.locationMotion.progress)&&u&&b.panoId===u.panoId){u=null;break}}if(Ws(u))return this.locationMotion.ended===!0&&this.cameraBounce(),null;if(u&&!u.active){var w=u.panoId;this.panoMeshes[w]&&(this.panoMeshes[w].setDisabled(!1),this.panoMeshes[w].setLoading(!0))}var E={};if(u){for(var I=Math.PI/6,M=Math.PI/12,k=new d.Vector3(0,1,0),B=u.position.clone().setY(0).sub(c.position.clone().setY(0)).normalize(),C=B.clone().applyAxisAngle(k,I),T=B.clone().applyAxisAngle(k,-I),O=[],P=[],F=[],V=0,z=u.accessibleIds;V<z.length;V++){var h=z[V],j=vt(h);if(!(Zt(j,this.currentPano)||Zt(j,u.pano))){var K=this.works.getResolvedObserver(h);if(K){var H=K.position.clone().sub(u.position).setY(0);B.angleTo(H)<I?F.push(H):C.angleTo(H)<I?O.push(H):T.angleTo(H)<I&&P.push(H)}}}var q=F.length>0?F:bt(bt([],O,!0),P,!0),J=q.slice().sort(function(W,_){return W.angleTo(B)-_.angleTo(B)})[0];J&&J.angleTo(l)>M&&(E.longitude=Math.atan2(-J.x,-J.z))}this.cameraMotion.value.latitude<-Math.PI/4&&(E.latitude=fe(0,this.minLatitude,this.maxLatitude)),this.cameraMotion.value.fov<60&&(E.fov=this.defaultFov);var G={workCode:u.pano.workCode,panoIndex:u.pano.panoIndex,mode:this.mode,longitude:(a=E.longitude)!==null&&a!==void 0?a:this.camera.pose.longitude,latitude:(o=E.latitude)!==null&&o!==void 0?o:this.camera.pose.latitude,fov:(s=E.fov)!==null&&s!==void 0?s:this.camera.pose.fov,distance:0,offset:u?u.position.clone():new d.Vector3};return this.emit("pano.select",X("pano.select",{prevPano:this.currentPano,state:G,userAction:!0,options:E,progress:0,error:null})),u&&u.active?(this.emit("pano.request",X("pano.request",{userAction:!0,prevPano:this.currentPano,progress:0,state:G,options:E,error:null})),u.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,a,o,s,l,u,c,f,A,m=[],h=2;h<arguments.length;h++)m[h-2]=arguments[h];this.userAction=!0;var p={},y={},v=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),g=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),x=!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),p.modelAlpha=this.modelAlphaMotion.value.modelAlpha),this.perspToOrthoMotion.ended===!1&&(this.perspToOrthoMotion.update(e),this.camera.perspToOrtho.setScalar(fe(this.perspToOrthoMotion.value.perspToOrtho,0,1))),this.locationMotion.ended===!1){this.locationMotion.update(e);var b=this.locationMotion.getKeyFrameSegment(e),w=b[0],E=b[1],I=this.panoResourceFromLocationMotionKeyframe(w),M=this.panoResourceFromLocationMotionKeyframe(E),k=new d.Vector3().copy(I.position),B=new d.Vector3().copy(M.position),C=this.locationMotion.value.count-E.value.count+1;p.progress=C,M.leftPanoPicture&&(C<1?I.leftPanoPicture&&(p.pano0=I.leftPanoPicture):p.pano0=M.leftPanoPicture,p.pano1=M.leftPanoPicture),M.effect==="montage"?p.transition="BLACK":M.effect==="spread"?p.transition="SPREAD":p.transition="FADE",(M.effect==="zoomin"||M.effect==="zoomout")&&(p.progress=Math.pow(C,3)),C<1&&M.effect!=="fly"&&(p.pano0&&I.leftPanoPicture&&(p.pano0={map:p.pano0.map,zoom:p.pano0.zoom,luminanceMap:p.pano0.luminanceMap,matrix:I.leftPanoPicture.matrix.clone().setPosition(M.position)}),k.copy(B),x=!0),y.distance=this.locationMotion.value.distance,y.offset=new d.Vector3(k.x+(B.x-k.x)*C,k.y+(B.y-k.y)*C,k.z+(B.z-k.z)*C);for(var T=[],O=[],P=0,F=this.locationMotion.keyframes;P<F.length;P++){var V=F[P],z=V.key,j=V.progress;z!==void 0&&(T.push(z),j>this.locationMotion.progress&&O.push(z))}for(var K=0,H=Object.keys(this.panoResources);K<H.length;K++){var q=H[K];if(!(O.indexOf(q)>=0)){var J=this.panoResources[q];if(J.leftPanoPicture){var G=J.leftPanoPicture.map;if(G){if(G===((a=p.pano0)===null||a===void 0?void 0:a.map)||G===((o=p.pano1)===null||o===void 0?void 0:o.map))continue;G instanceof Ne&&G.cubeRenderTarget&&this.colorCubeRenderTargetPool.push(G.cubeRenderTarget),G.dispose(),J.leftPanoPicture=null}}T.indexOf(q)>=0||delete this.panoResources[q]}}this.currentPano=vt(M.panoId),this.emit("pano.moving",X("pano.moving",{userAction:this.userAction,prevPano:vt(v.panoId),state:L(L(L(L({},vt(g.panoId)),{mode:this.mode}),Je(this.camera.pose)),y),options:{},progress:this.locationMotion.progress,error:null}))}Qt(p)===!1&&(!((s=p.pano0)===null||s===void 0)&&s.map&&p.pano0.map instanceof Ne&&!p.pano0.map.cubeRenderTarget&&(p.pano0.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),!((l=p.pano1)===null||l===void 0)&&l.map&&p.pano1.map instanceof Ne&&!p.pano1.map.cubeRenderTarget&&(p.pano1.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),this.models.setMaterial(p)),Qt(y)===!1&&this.setCamera(y);var W=this.works.getResolvedObserver(this.currentPano),_=m[1];if(!_){console.error("xrFrame丢失,请重试");return}if(!this.xrManager.session){console.error("session丢失,请重试");return}var Y=this.xrManager.referenceSpace;if(Y){var oe=this.xrManager.cameraVR,$=this.xrManager.cameraL,ae=this.xrManager.cameraR,ne=[$,ae],le=_.getViewerPose(Y),ie=new d.Vector3(0,0,0);if(le){var ge;ge=this.xrManager.session.renderState.baseLayer;var he=le.views;if(!ge){console.error("no layer found");return}this.renderer.setFramebuffer(ge.framebuffer);var ve=!1;he.length!==oe.cameras.length&&(oe.cameras.length=0,ve=!0),this.parallaxCameraMatrixs=[];var Re=new d.Vector3,Ce=new d.Vector3;new d.Matrix4().fromArray(he[0].transform.matrix).decompose(Re,new d.Quaternion,new d.Vector3),new d.Matrix4().fromArray(he[1].transform.matrix).decompose(Ce,new d.Quaternion,new d.Vector3),Ce.clone().sub(Re).normalize();var Te=new d.Vector3,ee=new d.Quaternion,re=new d.Vector3;this.camera.matrix.decompose(Te,ee,re);for(var Q=0;Q<he.length;Q++){var Ve=he[Q],ke=ge.getViewport(Ve),Se=ne[Q];Se.matrix.fromArray(Ve.transform.matrix);var Ge=new d.Vector3,be=new d.Quaternion,ye=new d.Vector3;Se.matrix.decompose(Ge,be,ye),ie.copy(Te),Se.position.copy(Te),Se.quaternion.copy(be),Se.scale.copy(ye),Se.updateMatrix(),Se.projectionMatrix.fromArray(Ve.projectionMatrix),Se.viewport.set(ke.x,ke.y,ke.width,ke.height),ve===!0&&oe.cameras.push(Se)}if(this.xrManager.session&&this.xrManager.session.inputSources){for(var Q=0;Q<this.xrManager.session.inputSources.length;Q++)if(this.xrManager.session.inputSources[Q]&&this.xrManager.session.inputSources[Q].targetRayMode==="transient-pointer"){var me=_.getPose(this.xrManager.session.inputSources[Q].targetRaySpace,Y);if(me){var Ae=new d.Vector3(0,0,-1).applyQuaternion(me.transform.orientation),pe=new d.Raycaster(this.camera.position,Ae);this.gazeRay=pe}}}if(this.xrManager.machineType==="Oculus"||this.xrManager.machineType==="Pico"){for(var Qe=this.xrManager.session.inputSources,Q=0;Q<Qe.length;Q++){var Ke=this.xrManager.controllers[Q],rt=Qe[Q];if(rt){Ke&&Ke.update(rt,_,Y);var pe=this.xrManager.getController(Q),Kr=new d.Vector3(0,1.2,0),Fe=pe.position.clone().add(ie).sub(Kr);rt.handedness==="left"?this.xrControllerRay.left.set(Fe,new d.Vector3(0,0,-1).applyEuler(pe.rotation)):rt.handedness==="right"&&this.xrControllerRay.right.set(Fe,new d.Vector3(0,0,-1).applyEuler(pe.rotation)),this.controllerWrappers[Q].position.copy(new d.Vector3(0,0,0).add(ie).sub(Kr));var Ze=this.models.intersectRaycaster(this.xrControllerRay.right);if(Ze.length===0&&(Ze=this.xrControllerRay.right.intersectObject(this.boundingMesh,!0).map(function(Ir){var Xr;return L({floor:(Xr=W==null?void 0:W.floorIndex)!==null&&Xr!==void 0?Xr:0},Ir)})),Ze.length>=1&&Ze[0].face)if(rt.handedness==="right"){var ot=this.xrControllerRay.right.intersectObject(this.xrCustomObjectsScene,!0),$t=Ze[0].face.normal,un=$t.clone(),er=Ze[0].point.clone();this.intersectMesh.position.copy(er);var St=er.clone().add(un);if(this.intersectMesh.lookAt(St),Math.abs($t.y)>.99){var tr=this.camera.position.clone().sub(er);this.intersectMesh.rotation.z=-Math.atan2(tr.z,tr.x)}this.intersectMesh.visible=!0,this.needsRender=!0,ot.length>0?(this.pointerLines.right.setPoints(Fe,ot[0].point),this.pointerLines.right.points.visible=!0,this.intersectMesh.visible=!1):(this.pointerLines.right.points.visible=!1,this.pointerLines.right.setPoints(Fe,Ze[0].point));var Cr=Ze[0],Ut=X("intersect.update",{raycaster:(u=this.xrControllerRay.right)!==null&&u!==void 0?u:null,intersection:Cr!=null?Cr:null,object:this.intersectMesh});if(this.emit("intersect.update",Ut),Ut.defaultPrevented){this.hideIntersectMesh();return}}else this.pointerLines.left.setPoints(Fe,Ze[0].point)}}this.updateControllerHelper(Qe,e,r)}if(this.camera.pose.distance>.1||x)for(var rr=0,qt=Object.keys(this.panoMeshes);rr<qt.length;rr++){var ct=qt[rr],Le=this.panoMeshes[ct];Le.setOpacity(0),Le.setCurrent(!1),Le.updateTime&&Le.updateTime(e,r),Le.visible=!1}else if(W){var dr=lr(W.visibleIds,function(dt){var Kt=i.works.getResolvedObserver(dt);return Kt?W.standingPosition.distanceTo(Kt.standingPosition):1/0},!0),At=dr[1];At=fe(At,2.5,1/0);for(var fr=W.visibleIds.concat(ze(this.currentPano)),hr=this.getForwardObserverOrNot(),Ht=this.camera.getDirection(new d.Vector3),Et=0,pr=Object.keys(this.panoMeshes);Et<pr.length;Et++){var ct=pr[Et],Le=this.panoMeshes[ct],Mr=this.works.getResolvedObserver(ct);if(fr.indexOf(ct)===-1)Le.setCurrent(!1),Le.setOpacity(0);else if(!Mr)Le.setCurrent(!1),Le.setOpacity(0);else if(!Mr.loadable&&!Mr.active)Le.setCurrent(!1),Le.setOpacity(0);else{var ln=Le.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);Le.setCurrent(!Le.loading&&Le.progress===0&&hr!==null&&hr.panoId===ct),Le.setOpacity(ln<.01?0:fe(At/ln*1.2,.65,.98));var jr=this.camera.position.clone().setY(Le.position.y),Ae=new d.Vector3().copy(Le.position).sub(jr).normalize();if(ct===ze(this.currentPano)){var Jr=fe((.5-jr.distanceTo(Le.position))/.5,0,1);Ae.multiplyScalar(1-Jr).add(Ht.clone().multiplyScalar(Jr))}Ae.length()>0&&Le.quaternion.setFromEuler(new d.Euler(0,Math.atan2(Ae.x,Ae.z),0))}Le.updateTime&&Le.updateTime(e,r)}}var Gt=function(){return 4}(),Ye=function(){var dt=new d.PerspectiveCamera;dt.applyMatrix4(oe.matrix),dt.position.set(0,0,0);var Kt=i.works.getResolvedObserver(g.panoId),Ir=Kt!=null?Kt:W;Ir&&dt.quaternion.premultiply(Ir.quaternion.clone().inverse()),dt.updateProjectionMatrix(),dt.updateMatrixWorld(!0);var Xr=new d.Frustum().setFromProjectionMatrix(new d.Matrix4().multiplyMatrices(dt.projectionMatrix,dt.matrixWorldInverse));return Xr}();g.panoId===ze(this.currentPano)&&((c=g.leftPanoPicture)===null||c===void 0?void 0:c.map)instanceof Ne&&(g.leftPanoPicture.map.maxRequest=this.tileMaxRequest,g.leftPanoPicture.map.update(Ye,Gt),g.leftPanoPicture.map.needsRender===!0&&(this.needsRender=!0,this.modelSceneNeedsRender=!0));{var qe=this.tiling.object.visible;if(this.initAnimationed){var nt=g.panoId,mt=this.works.getResolvedObserver(nt);mt?ri(this.camera.position,mt.position)&&this.locationMotion.ended?(this.tiling.object.visible=!0,this.tiling.panoId!==nt&&this.tiling.cleanup(),this.tiling.panoId=nt,this.tiling.setResource((A=(f=mt.images)===null||f===void 0?void 0:f.tiles)!==null&&A!==void 0?A:[],this.enableIOSEDR&&mt.images.luminance?mt.images.luminance:null),this.tiling.setFetcher(it(mt.work)),this.tiling.setRotation(mt.quaternion),this.tiling.setPosition(mt.position),this.tiling.maxRequest=this.tileMaxRequest,Gt>this.TILED_CUBE_TEXTURE_LEVEL?this.tiling.update(Ye,Gt,e):this.tiling.update(Ye,0,e)):this.tiling.object.visible=!1:this.tiling.object.visible=!1}else this.tiling.object.visible=!1;qe!==this.tiling.object.visible&&(this.tiling.object.needsRender=!0,this.modelSceneNeedsRender=!0)}this.panoVideo.object.position.copy(this.camera.position),this.panoVideo.updateTime(e)}}},t.prototype.render=function(){var e=this.xrManager.getCamera(this.camera);this.renderer.render(this.modelScene,e),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,e),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0},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 a=this.xrControllerRay.left,o=this.xrControllerRay.right;if(!(!e||e.length===0)){for(var s={buttons:{X:!1,Y:!1,LeftTrigger:!1,LeftPinch:!1,A:!1,B:!1,RightTrigger:!1,RightPinch:!1}},l=0;l<e.length;l++){var u=e[l].handedness,c=e[l].gamepad;switch(u){case"left":c.axes&&(this.emitHandleEvent(c.axes[2]===-1,"LeftAxesLeft",r),this.emitHandleEvent(c.axes[2]===1,"LeftAxesRight",r),this.emitHandleEvent(c.axes[3]===-1,"LeftAxesUp",r),this.emitHandleEvent(c.axes[3]===1,"LeftAxesDown",r)),c!=null&&c.buttons&&(c.buttons[4]&&this.emitHandleEvent(c.buttons[4].pressed,"X",r),c.buttons[5]&&this.emitHandleEvent(c.buttons[5].pressed,"Y",r),c.buttons[0]&&this.emitHandleEvent(c.buttons[0].pressed,"LeftTrigger",r),c.buttons[1]&&this.emitHandleEvent(c.buttons[1].pressed,"LeftPinch",r));var f={raycaster:a,axes:{up:c.axes&&c.axes[3]<0?Math.abs(c.axes[3]):0,down:c.axes&&c.axes[3]<0?0:Math.abs(c.axes[3]),left:c.axes&&c.axes[2]<0?Math.abs(c.axes[2]):0,right:c.axes&&c.axes[2]<0?0:Math.abs(c.axes[2])},deltaTime:i};s.buttons.X=c.buttons&&c.buttons[4]?c.buttons[4].pressed:!1,s.buttons.Y=c.buttons&&c.buttons[5]?c==null?void 0:c.buttons[5].pressed:!1,s.buttons.LeftTrigger=c.buttons&&c.buttons[0]?c==null?void 0:c.buttons[0].pressed:!1,s.buttons.LeftPinch=c.buttons&&c.buttons[1]?c==null?void 0:c.buttons[1].pressed:!1,s.left=f;break;case"right":c.axes&&(this.emitHandleEvent(c.axes[2]===-1,"RightAxesLeft",r),this.emitHandleEvent(c.axes[2]===1,"RightAxesRight",r),this.emitHandleEvent(c.axes[3]===-1,"RightAxesUp",r),this.emitHandleEvent(c.axes[3]===1,"RightAxesDown",r)),c.buttons&&(c.buttons[4]&&this.emitHandleEvent(c.buttons[4].pressed,"A",r),c.buttons[5]&&this.emitHandleEvent(c.buttons[5].pressed,"B",r),c.buttons[0]&&this.emitHandleEvent(c.buttons[0].pressed,"RightTrigger",r),c.buttons[1]&&this.emitHandleEvent(c.buttons[1].pressed,"RightPinch",r));var A={raycaster:o,axes:{up:c.axes&&c.axes[3]<0?Math.abs(c.axes[3]):0,down:c.axes&&c.axes[3]<0?0:Math.abs(c.axes[3]),left:c.axes&&c.axes[2]<0?Math.abs(c.axes[2]):0,right:c.axes&&c.axes[2]<0?0:Math.abs(c.axes[2])},deltaTime:i};s.right=A,s.buttons.A=c.buttons&&c.buttons[4]?c==null?void 0:c.buttons[4].pressed:!1,s.buttons.B=c.buttons&&c.buttons[5]?c==null?void 0:c.buttons[5].pressed:!1,s.buttons.RightTrigger=c.buttons&&c.buttons[0]?c==null?void 0:c.buttons[0].pressed:!1,s.buttons.RightPinch=c.buttons&&c.buttons[1]?c==null?void 0:c.buttons[1].pressed:!1;break}}this.emit("xr.controller.update",X("xr.controller.update",s))}},t.prototype.emitHandleEvent=function(e,r,i){var a=this.xrControllerRay.left,o=this.xrControllerRay.right;if(e)if(this.xrHandleState[r].touchStart===!1)this.xrHandleState[r].touchStartTime=i,this.xrHandleState[r].touchStart=!0,this.emit("xr.gesture.buttonDown",X("xr.gesture.buttonDown",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!1,isFirst:!0,controllers:{raycaster:{leftRay:a,rightRay:o}}}));else{var s=i-this.xrHandleState[r].touchStartTime;s>e0&&this.emit("xr.gesture.press",X("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!0,controllers:{raycaster:{leftRay:a,rightRay:o}}}))}else if(this.xrHandleState[r].touchStart===!0){this.emit("xr.gesture.buttonUp",X("xr.gesture.buttonUp",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:a,rightRay:o}}}));var s=i-this.xrHandleState[r].touchStartTime;if(s<=e0){var l=X("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:a,rightRay:o}}}),u=this.emit("xr.gesture.tap",l);!u&&!l.defaultPrevented&&r==="RightTrigger"&&this.checkSelectedPano(this.xrControllerRay.right)}this.xrHandleState[r].touchStart=!1,this.xrHandleState[r].touchStartTime=0}},t.prototype.initHandEvent=function(){var e=this;if(!this.xrManager.session)throw new Error("初始化失败");this.xrManager.session.addEventListener("select",function(r){e.gazeRay&&e.checkSelectedPano(e.gazeRay)})},t}(Co),Bt={Floorplan:Xa,Topview:qh,Panorama:Co,VRPanorama:Op,Model:Np,Mapview:Xp,XRPanorama:Av},qu=["gesture.pan","gesture.tap","gesture.dbltap","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 mv(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.dbltap",function(t){var e=!1;e=n.emit("wantsGesture","dbltap",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsDblTapGesture",t.center.raycaster,t.center.coords,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","dbltap",t.pointers,t.isFinal),n.emit("dblTapGesture",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=Ot(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 gv(){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 r0(n){{var t=new d.DirectionalLight(16777215,.3);t.position.copy(new d.Vector3(1,1,1)),n.add(t)}{var t=new d.DirectionalLight(16777215,.1);t.position.copy(new d.Vector3(-1,-1,-1)),n.add(t)}{var t=new d.DirectionalLight(16777215,.1);n.add(t)}{var t=new d.AmbientLight(16777215,.6);n.add(t)}}function yv(n){for(var t,e,r={},i=n.split(/(\;|\,)/),a=0,o=i;a<o.length;a++){var s=o[a],l=s.split("="),u=(t=l[0])===null||t===void 0?void 0:t.trim(),c=(e=l[1])===null||e===void 0?void 0:e.trim();u&&c&&(r[u]=c)}return r}function Hu(){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=yv((n=r.getAttribute("content"))!==null&&n!==void 0?n:""),a=Number(i["initial-scale"]);if(!isNaN(a))return a}}return 1}const bv="data:image/png;base64,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";var n0=[351,63],i0=[20,20],xv=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),wv=new Float32Array([0,0,1,0,0,1,1,1]),Ev=new Uint8Array([0,1,2,1,3,2]),qi=new d.BufferGeometry;qi.setAttribute("position",new d.BufferAttribute(xv,3));qi.setAttribute("uv",new d.BufferAttribute(wv,2));qi.setIndex(new d.BufferAttribute(Ev,1));var Ei=new d.MeshBasicMaterial({transparent:!0,depthTest:!1,depthWrite:!1,stencilWrite:!1,fog:!1}),Gu=new d.Mesh(qi,Ei);Gu.matrixAutoUpdate=!1;var Po=new d.Scene;Po.add(Gu);Po.matrixAutoUpdate=!1;var ni=new d.OrthographicCamera(-.5,.5,.5,-.5,.1,1);ni.position.set(0,0,.5);ni.lookAt(0,0,0);ni.updateMatrixWorld(!0);ni.matrixAutoUpdate=!1;var Cv=new d.Vector4,Mv=new d.Vector4;function Iv(n){if(Ei.map){var r=n.getViewport(Cv),i=n.getScissor(Mv),a=n.getScissorTest(),o=n.autoClear,s=i.x+i0[0]/3,l=i.y+i0[1]/3,u=n0[0]/3,c=n0[1]/3;n.setViewport(s,l,u,c),n.setScissor(s,l,u,c),n.setScissorTest(!0),n.autoClear=!1,n.render(Po,ni),n.setViewport(r),n.setScissor(i),n.setScissorTest(a),n.autoClear=o}else{var t=new d.Texture,e=new Image;e.onload=function(){t.image=e,t.wrapS=d.ClampToEdgeWrapping,t.wrapT=d.ClampToEdgeWrapping,t.minFilter=d.LinearFilter,t.needsUpdate=!0,t.generateMipmaps=!1,Ei.needsUpdate=!0,e.onload=D},e.src=bv,Ei.map=t}}var Sv=800,a0=90,Tv=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/")},Pv=new d.Vector2,pi=new d.Frustum,vi=new d.Matrix4,o0=new WeakMap,Sa=new WeakMap,s0=Ha([]),Ku=function(n){ue(t,n);function t(e){e===void 0&&(e={});var r,i,a,o,s,l,u,c,f,A,m,h=n.call(this)||this;if(h.ident=wt(),typeof window!="undefined"&&(_a.instances[h.ident]=h),h.renderSwitch01=0,h.currentMode="Panorama",h.pano={workCode:"",panoIndex:0},h.needsRender=!1,h.modelSceneNeedsRender=!1,h.onlyRenderIfNeeds=(r=e.onlyRenderIfNeeds)!==null&&r!==void 0?r:!0,h.imageOptions=L({},(i=e.imageOptions)!==null&&i!==void 0?i:{}),h.textureOptions=L({},(a=e.textureOptions)!==null&&a!==void 0?a:{}),h.poweredByRealsee=(o=e.poweredByRealsee)!==null&&o!==void 0?o:!0,h.extraElements=[],h.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)},h.fps={testCount:0,testTime:Ee()},h.info=null,h.modeChangeDuration=(s=e.modeChangeDuration)!==null&&s!==void 0?s:Sv,h.enableWheel=(l=e.enableWheel)!==null&&l!==void 0?l:!0,typeof window!="undefined")if("renderer"in e)e.renderer instanceof $r&&h.throwError(new Error("cannot render a internal renderer")),h.renderer=e.renderer;else try{h.renderer=new $r({preserveDrawingBuffer:e.preserveDrawingBuffer,backgroundColor:e.backgroundColor,backgroundAlpha:e.backgroundAlpha,antialias:e.antialias,webgl2:e.webgl2,logarithmicDepthBuffer:e.logarithmicDepthBuffer,precision:e.precision});var p=Hu();h.renderer.setPixelRatio(p===1?window.devicePixelRatio:1),h.renderer.setSize(512,512)}catch(B){B instanceof Error&&h.throwError(B)}h.getPixelsRenderTarget=new d.WebGLRenderTarget(1,1,{encoding:(c=(u=h.renderer)===null||u===void 0?void 0:u.outputEncoding)!==null&&c!==void 0?c:d.sRGBEncoding,generateMipmaps:!1});var y=new d.DepthTexture(1,1);y.generateMipmaps=!1,y.format=d.DepthStencilFormat,y.type=d.UnsignedInt248Type,h.modelRenderTarget=new d.WebGLRenderTarget(1,1,{encoding:(A=(f=h.renderer)===null||f===void 0?void 0:f.outputEncoding)!==null&&A!==void 0?A:d.sRGBEncoding,depthTexture:y,generateMipmaps:!1,depthBuffer:!0,stencilBuffer:!0}),h.scissor=Object.assign({left:0,bottom:0,width:1,height:1},e.scissor),h.camera=new zi(a0),h.scene=new S0,h.xrCustomObjectsScene=new d.Scene,h.scene.add(h.xrCustomObjectsScene),h.scene.matrixAutoUpdate=!1,h.lastLoadWorkTask=Promise.resolve(),h.requestProxy=(m=e.requestProxy)!==null&&m!==void 0?m:Tv,h.networkSubscribe=new v0,h.networkSubscribe.on("network",function(B,C,T,O){var P;h.emit("network.resource",X("network.resource",{source:B,requestType:C,requestState:T,detail:O})),(P=h.analysis)===null||P===void 0||P.network(h.works,B,C,T,O)}),h.boundingMesh=Ih(new d.Box3(new d.Vector3(-.5,-.5,-.5),new d.Vector3(.5,.5,.5))),h.boundingMesh.name="bounding",h.models=Ps(),h.models.push(new Ka),h.lastModels=Ps(),h.lastWorks=Ha([]),h.readyCallbacks=[],h.syncingState=!1,h.helperGroup=new d.Group,h.helperGroup.name="helper",h.helperGroup.matrixAutoUpdate=!1,h.scene.add(h.helperGroup),h.modelGroup=new d.Group,h.modelGroup.visible=!1,h.modelGroup.name="model",h.modelGroup.matrixAutoUpdate=!1,h.modelScene=new d.Scene,h.modelScene.add(h.modelGroup),h.modelScene.add(h.boundingMesh),h.modelScene.matrixAutoUpdate=!1,h.videoTexture=new d.VideoTexture(e.videoInstance||gv()),r0(h.scene),r0(h.modelScene),h.state={mode:h.currentMode,workCode:h.pano.workCode,panoIndex:h.pano.panoIndex,longitude:h.camera.pose.longitude,latitude:h.camera.pose.latitude,fov:h.camera.pose.fov,offset:h.camera.pose.offset.clone(),distance:h.camera.pose.distance},h.stateSynced=!1,h._enablePostProcessing=!1,h._enableIOSEDR=!1,h._enableEDL=!1,h._enableHQ=!1,h.destroyed=!1,h.paused=!0,typeof window!="undefined"&&(e.play!==!1&&h.play(),h.stopAnimationLoop=lt.shared.add(function(B,C){for(var T=[],O=2;O<arguments.length;O++)T[O-2]=arguments[O];h.updateTime.apply(h,bt([B,C],T,!1))},!1,0,10));var v=function(){typeof document!="undefined"&&document.fullscreenElement===null&&h.currentMode==="VRPanorama"&&h.controller.emit("vr.requestExit",X("vr.requestExit",{}))},g=function(){h.needsRender=!0,h.modelSceneNeedsRender=!0};if(typeof document!="undefined"&&document.addEventListener("fullscreenchange",v,!1),h.renderer&&h.renderer.domElement.addEventListener("webglcontextrestored",g,!1),h.removeEventListeners=function(){typeof document!="undefined"&&document.removeEventListener("fullscreenchange",v,!1),h.renderer&&h.renderer.domElement.removeEventListener("webglcontextrestored",g,!1)},h.plugins={},e.plugins&&e.plugins.length)for(var x=0,b=e.plugins;x<b.length;x++){var w=b[x];if(typeof w=="function")w(h);else if(Array.isArray(w)){var E=w[0],I=w[1],M=w[2];if(typeof E=="function"){var k=E(h,M);typeof I=="string"&&(h.plugins[I]?h.throwError(new Error("plugin name ".concat(I," is exists."))):h.plugins[I]=k)}}}return h.gpuPickingRenderTarget=new d.WebGLRenderTarget(1,1,{generateMipmaps:!1}),h.meshReplaceMaterialMap=new Map,h.meshOriginMaterialMap=new Map,mv(h),h}return Object.defineProperty(t,"version",{get:function(){return"6.2.0"},enumerable:!1,configurable:!0}),Object.defineProperty(t,"dracoPath",{get:function(){return Bi.decoderPath},set:function(e){Bi.setDecoderPath(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t,"ktx2Path",{get:function(){return qn.transcoderPath},set:function(e){qn.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,a,o){var s=this;if(a===void 0&&(a=1),o===void 0&&(o=new d.Vector3(0,0,0)),!this.renderer)throw new Error("renderer is not initialized.");this.models.setMaterial({constantColor:o}),this.scene.traverse(function(f){if(!(!(f instanceof d.Mesh)||f instanceof Dt)){var A=Object.keys(i).filter(function(h){return h===f.uuid})[0];if(A)if(s.meshOriginMaterialMap.set(A,f.material),s.meshReplaceMaterialMap.get(A))f.material=s.meshReplaceMaterialMap.get(A);else{var m=new d.ShaderMaterial({uniforms:{color:{value:i[A]}},vertexShader:`
2062
2062
  void main() {
2063
2063
  vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );
2064
2064
  gl_Position = projectionMatrix * mvPosition;
@@ -2068,4 +2068,4 @@ void main() {
2068
2068
  void main() {
2069
2069
  gl_FragColor = vec4( color, 1.0 );
2070
2070
  }
2071
- `});m.depthTest=h.material.depthTest,m.side=h.material.side,s.meshReplaceMaterialMap.set(A,m),h.material=m}}});var u=this.renderer.getSize(new d.Vector2);this.camera.setViewOffset(u.width,u.height,e*a,r*a,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(h){!(h instanceof d.Mesh)||h instanceof Dt||s.meshOriginMaterialMap.get(h.uuid)&&(h.material=s.meshOriginMaterialMap.get(h.uuid))}),this.models.setMaterial({constantColor:null});var c=Object.keys(i).filter(function(h){return i[h].equals(new d.Color().setRGB(l[0]/255,l[1]/255,l[2]/255))})[0];return c||!1},t.prototype.dispose=function(){var e,r;if(this.destroyed!==!0){delete Ka.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 a=this.models.getMaterial();a&&(a.pano0&&a.pano0.map.dispose(),a.pano1&&a.pano1.map!==((r=a.pano0)===null||r===void 0?void 0:r.map)&&a.pano1.map.dispose());for(var o=0,s=this.models;o<s.length;o++){var u=s[o];u.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 Yr&&this.renderer.forceContextLoss&&this.renderer.forceContextLoss()}},t.prototype.setScissor=function(e){var r;if(Object.assign(this.scissor,e),this.controller&&this.controller.updateRenderSize){var i=new d.Vector2;(r=this.renderer)===null||r===void 0||r.getDrawingBufferSize(i),this.controller.updateRenderSize(i)}},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",W("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&&this.enablePostProcessing?"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._enableEDL},set:function(e){if(e===!0&&this.currentMode!==t.Mode.Mapview)throw new Error("只支持Mapview下开启EDL");this._enableEDL!==e&&(this._enableEDL=e,this.boundingMesh.visible=!e,this.needsRender=!0,this.modelSceneNeedsRender=!0)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableHQ",{get:function(){return this._enableHQ},set:function(e){if(e===!0&&this.currentMode!==t.Mode.Mapview)throw new Error("只支持Mapview下开启HQ");this._enableHQ!==e&&(this._enableHQ=e,this.boundingMesh.visible=!e,this.needsRender=!0,this.modelSceneNeedsRender=!0)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enablePostProcessing",{get:function(){return this._enablePostProcessing},set:function(e){this._enablePostProcessing!==e&&(this._enablePostProcessing=e),this.needsRender=!0,this.modelSceneNeedsRender=!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.mapview),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 Yr)){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 a=window.getComputedStyle(e).position;a!=="relative"&&a!=="absolute"&&a!=="fixed"&&a!=="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 a=i.parentNode;if(a&&a.nodeName){var o=e.width,s=o===void 0?a.offsetWidth:o,u=e.height,l=u===void 0?a.offsetHeight:u;this.renderer instanceof Yr&&(r&&this.renderer.setPixelRatio(r),this.renderer.setSize(s,l))}var c=new d.Vector2;this.renderer.getDrawingBufferSize(c),this.controller&&this.controller.updateRenderSize&&this.controller.updateRenderSize(c),this.modelRenderTarget.setSize(c.x,c.y),this.modelRenderTarget.depthTexture.dispose();var h=new d.DepthTexture(c.x,c.y);h.generateMipmaps=!1,h.format=d.DepthStencilFormat,h.type=d.UnsignedInt248Type,this.modelRenderTarget.depthTexture=h,this.modelRenderTarget.depthTexture.needsUpdate=!0,this.needsRender=!0,this.modelSceneNeedsRender=!0,this.render(D,!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,a=e.fov,o=e.offset,s=e.distance;return{longitude:r,latitude:i,fov:a,offset:o.clone(),distance:s}},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 d.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,hh(this.camera,r)}}return null},Object.defineProperty(t.prototype,"works",{get:function(){var e=wa.get(this);if(!e)return t0;for(var r=0,i=e;r<i.length;r++){var a=i[r];if(!so.has(a))return t0}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,a){var o=this;if(a===void 0&&(a=!0),!this.renderer)throw new Error("renderer is not initialized");var s=this.lastLoadWorkTask.then(function(){return vh(e)?e.then(function(u){return o.load_(u,r,i,a)}):o.load_(e,r,i,a)});return this.lastLoadWorkTask=s.catch(function(u){o.throwError(u)}),s},t.prototype.load_=function(e,r,i,a){var o=this,s,u,l,c,h,A,m,f;a===void 0&&(a=!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 y=[];if(Array.isArray(e))for(var p=0,g=e;p<g.length;p++){var x=g[p];typeof x!="string"&&"work"in x?y.push(Gn(x.work,x)):y.push(Gn(x))}else y.push(Gn(e));for(var b=za(y),w=function(J){var Z=E,Y=new $a({allowHosts:J.allowHosts,get requestProxy(){return Z.requestProxy},get networkSubscribe(){return Z.networkSubscribe}});Gf(J,Y)},E=this,M=0,C=b;M<C.length;M++){var I=C[M];w(I)}this.lastWorks=this.works,r===void 0&&(r="inherit"),r==="inherit"&&this.lastWorks.length===0&&(r="initial");var S=b.initial,P=S.work.observers[0],B=P?{workCode:P.work.workCode,panoIndex:P.panoIndex}:{workCode:S.work.workCode,panoIndex:0},L=(s=S.mode)!==null&&s!==void 0?s:P?"Panorama":"Mapview",k={};if(r==="inherit"){L=this.currentMode;var O=b.resolvedObservers[this.panoIndex];O?B={workCode:O.work.workCode,panoIndex:O.panoIndex}:typeof b.initial.panoIndex=="number"?B={workCode:b.initial.work.workCode,panoIndex:b.initial.panoIndex}:(L==="Panorama"||L==="VRPanorama"||L==="XRPanorama")&&(L="Mapview"),k={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 S.panoIndex=="number"&&(B={workCode:S.work.workCode,panoIndex:S.panoIndex}),S.mode&&(L=S.mode),k={longitude:S.longitude,latitude:S.latitude,fov:S.fov,distance:S.distance,offset:(u=S.offset)===null||u===void 0?void 0:u.clone()};else{if(L=(l=r.mode)!==null&&l!==void 0?l:this.currentMode,typeof r.panoIndex=="number"){var O=b.getResolvedObserver({workCode:(h=(c=r.workCode)!==null&&c!==void 0?c:S.work.workCode)!==null&&h!==void 0?h:"",panoIndex:r.panoIndex});O&&(B={workCode:O.work.workCode,panoIndex:O.panoIndex})}k={longitude:r.longitude,latitude:r.latitude,fov:r.fov,distance:r.distance,offset:r.offset}}var z=F(F(F({},B),{mode:L}),k);this.emit("works.request",W("works.request",{input:e,works:b,state:z,userAction:a}));var N=function(){var J,Z;o.pano=B;var Y=(J=v.duration)!==null&&J!==void 0?J:o.modeChangeDuration,fe=(Z=v.effect)!==null&&Z!==void 0?Z:"fade",$=F(F({initial:{state:z,currentState:o.getCurrentState(),duration:Y,effect:fe,userAction:a}},o.commonParams()),o.controllerInits[L]);if(o.controller&&o.currentMode===L)o.controller.updateWork(b,z,{effect:fe,duration:Y},a)===!1&&(o.controller.destroy(),o.controller=o.applyController(L,$));else{var ae=o.currentMode,ie=Bt[L].initAnimationEndState($);if(o.controller)o.controller.destroy();else{var ce=Bt[L].initAnimationEndState($);o.camera.setFromPose(ce),o.modelGroup.visible=!0,o.emit("camera.update",W("camera.update",{state:o.getCurrentState(),userAction:a}))}o.controller=o.applyController(L,$);var ne=W("mode.change",{prevMode:ae,mode:L,state:ie,userAction:a});o.emit("mode.change",ne)}};if(wa.set(this,b),!this.controller){var X=F(F({initial:{state:z,currentState:this.getCurrentState(),duration:(A=v.duration)!==null&&A!==void 0?A:this.modeChangeDuration,effect:(m=v.effect)!==null&&m!==void 0?m:"fade",userAction:a}},this.commonParams()),this.controllerInits[L]),G=Bt[L].initAnimationEndState(X);this.camera.setFromPose(G),this.emit("camera.update",W("camera.update",{state:this.getCurrentState(),userAction:a}))}if(this.updateConfiguration(v,!1),L===t.Mode.Floorplan||L===t.Mode.Topview||L===t.Mode.Mapview||L===t.Mode.Model)this.loadModel(b,v).then(function(){o.needsRender=!0,o.modelSceneNeedsRender=!0,N(),o.emit("camera.update",W("camera.update",{state:o.getCurrentState(),userAction:a}))});else{if(!this.controller){var Q=new d.Vector3,H=b.getResolvedObserver(B);H&&Q.copy(H.position),this.camera.setFromPose({fov:k.fov,longitude:k.longitude,latitude:k.latitude,distance:k.distance,offset:(f=k.offset)!==null&&f!==void 0?f:Q}),this.needsRender=!0,this.modelSceneNeedsRender=!0}N();var K=!1,j=function(){var J;o.needsRender=!0,o.modelSceneNeedsRender=!0,o.emit("camera.update",W("camera.update",{state:o.getCurrentState(),userAction:a})),setTimeout(function(){o.works===b&&K===!1&&(o.loadModel(b,v),K=!0)},(J=v.duration)!==null&&J!==void 0?J:o.modeChangeDuration)};this.controller.once("pano.moveTo",j),this.controller.once("pano.cancel",j)}return this.emit("works.load",W("works.load",{input:e,state:this.getCurrentState(),userAction:a,works:b})),this.ready().then(function(){var J;o.emit("works.ready",W("works.ready",{input:e,state:o.getCurrentState(),userAction:a,works:b})),(J=o.analysis)===null||J===void 0||J.work(b)})},t.prototype.reset=function(){var e=this,r=this.lastLoadWorkTask.then(function(){return e.reset_()});return this.lastLoadWorkTask=r.catch(function(i){e.throwError(i)}),r},t.prototype.reset_=function(){var e=this;return new Promise(function(r){var i;e.controller&&(e.controller.destroy(),e.controller=void 0);var a=e.models.getMaterial();a&&(a.pano0&&a.pano0.map.dispose(),a.pano1&&a.pano1.map!==((i=a.pano0)===null||i===void 0?void 0:i.map)&&a.pano1.map.dispose()),e.models.setMaterial({pano0:null,pano1:null});for(var o=0,s=e.models;o<s.length;o++){var u=s[o];e.lastModels.push(u)}if(e.models.length=0,e.lastModels.length>0){for(var l=0,c=e.lastModels;l<c.length;l++){var u=c[l];e.modelGroup.remove(u),u.dispose(),e.needsRender=!0,e.modelSceneNeedsRender=!0}e.lastModels.length=0}e.lastWorks&&delete e.lastWorks,wa.delete(e),e.currentMode="Panorama",e.pano={workCode:"",panoIndex:0},e.camera.setFromPose({distance:0,fov:$s,longitude:0,latitude:0,offset:new d.Vector3(0,0,0)}),e.state={mode:e.currentMode,workCode:e.pano.workCode,panoIndex:e.pano.panoIndex,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.models.needsRender=!1,e.camera.needsRender=!1,e.needsRender=!1,e.modelSceneNeedsRender=!1,r()})},t.prototype.changeMode=function(e,r,i,a,o){var s=this;return r===void 0&&(r={}),a===void 0&&(a=!0),o===void 0&&(o=!1),new Promise(function(u,l){var c,h,A,m;if(!s.renderer)throw new Error("renderer is not initialized.");r=F({},r);var f=0;s.controller&&(typeof i=="number"?f=i:f=(c=i==null?void 0:i.duration)!==null&&c!==void 0?c:s.modeChangeDuration);var v="fly";s.controller&&typeof i=="object"&&i.effect&&(v=i.effect);var y=typeof r.panoIndex=="number"?{workCode:(m=(h=r.workCode)!==null&&h!==void 0?h:(A=s.work)===null||A===void 0?void 0:A.workCode)!==null&&m!==void 0?m:"",panoIndex:r.panoIndex}:s.pano;if(!t.Mode.hasOwnProperty(e)){var p=new Error('mode "'.concat(e,'" is not existed'));s.throwError(p),l(p);return}if((e===t.Mode.Floorplan||e===t.Mode.Topview||e===t.Mode.Mapview||e===t.Mode.Model)&&!s.models.loaded){var p=new Error("model is not ready.");s.throwError(p),l(p);return}if((e===t.Mode.Panorama||e===t.Mode.VRPanorama||e===t.Mode.XRPanorama)&&!s.works.getResolvedObserver(y)){var p=new Error("PanoId ".concat(ze(y)," not existed."));s.throwError(p),l(p);return}var g=s.controller,x=s.currentMode,b=function(){if(s.controller&&s.controller.stopMomentumMovement(),s.controller&&o===!1&&x===e)e===t.Mode.Panorama||e===t.Mode.Model||e===t.Mode.VRPanorama||e===t.Mode.XRPanorama?Zt(s.pano,y)&&"moveToPano"in s.controller&&typeof s.controller.moveToPano=="function"?s.controller.moveToPano(y,F({duration:f},r),a):s.controller.updateCamera(r,f,a).catch(D):(Zt(s.pano,y)||(s.pano=y),s.controller.updateCamera(r,f,a).catch(D));else{var E=F(F({},r),y),M=F(F({initial:{state:E,currentState:s.getCurrentState(),duration:f,effect:v,userAction:a}},s.commonParams()),s.controllerInits[e]),C=Bt[e].initAnimationEndState(M),I=W("mode.change.request",{prevMode:s.currentMode,mode:e,state:C,userAction:a});if(s.emit("mode.change.request",I),!I.defaultPrevented){g&&g.destroy(),s.controller=s.applyController(e,M);var S=W("mode.change",{prevMode:s.currentMode,mode:e,state:C,userAction:a});s.emit("mode.change",S)}}u()};if(e===t.Mode.VRPanorama)s.requestFullscreen(),Ah().then(function(){return b()}).catch(function(E){E instanceof Error&&(s.exitFullscreen(),s.throwError(E),l(E))});else if(e===t.Mode.XRPanorama){var w=vt.shared.getContext();w?w.end():mh().then(function(E){vt.shared.setContext(E),b()}).catch(function(E){E instanceof Error&&(s.throwError(E),l(E))})}else b()})},t.prototype.getPixels=function(e,r,i,a,o,s,u){if(!this.renderer)throw new Error("renderer is not initialized.");var l=this.renderer.getPixelRatio(),c=this.renderer.getRenderTarget(),h=this.renderer.getSize(new d.Vector2);e=Math.ceil(e),r=Math.ceil(r),i=Math.ceil(i),a=Math.ceil(a),o=Math.ceil(o!=null?o:l),s=s!=null?s:!1;var A=this.getPixelsRenderTarget;A.setSize(i*o,a*o),this.renderer.setRenderTarget(A),this.camera.setViewOffset(h.width,h.height,e,h.height-r-a,i,a),this.camera.pixelRatio=o,this.camera.resolution.set(i,a),this.camera.aspect=this.camera.resolution.width/this.camera.resolution.height;for(var m=0,f=this.scene.children;m<f.length;m++){var v=f[m];v instanceof d.Object3D&&v.traverseVisible(function(P){P.setResolution&&P.setResolution(i*o/l,a*o/l)})}this.controller?(this.controller.updateRenderSize(new d.Vector2(i*o,a*o)),this.controller.render(!0,this.postProcessingType)):(this.renderer.render(this.scene,this.camera),this.renderer.autoClearDepth=!1,this.renderer.autoClearColor=!1,this.renderer.render(this.modelScene,this.camera),this.renderer.autoClearDepth=!0,this.renderer.autoClearColor=!0);var y=i*o,p=a*o,g=y*p,x=g*4,b;try{if(u){if(u.length!==x)throw new Error("buffer length is not equals pixels ".concat(x))}else u=new Uint8Array(x);if(this.renderer.readRenderTargetPixels(A,0,0,i*o,a*o,u),s)for(var w=g/2,E=0,M=0,C=0,I=0;M<w;M++)for(I=(p-Math.floor(M/y)-1)*y+M%y,C=0;C<4;C++)E=u[M*4+C],u[M*4+C]=u[I*4+C],u[I*4+C]=E}catch(P){b=P}if(this.renderer.setRenderTarget(c),this.controller&&this.controller.updateRenderSize){var S=new d.Vector2;this.renderer.getDrawingBufferSize(S),this.controller.updateRenderSize(S)}if(this.camera.clearViewOffset(),this.camera.pixelRatio=l,this.getSize(this.camera.resolution),this.camera.aspect=this.camera.resolution.width/this.camera.resolution.height,b)throw b;return u},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 a=this.renderer.getSize(vv);this.scene.traverseVisible(function(o){o.setResolution&&o.setResolution(a.x,a.y)})}return this.aroundScissor(function(){i.renderer&&(i.controller?(i.controller.render(i.onlyRenderIfNeeds?i.modelSceneNeedsRender:!0,i.postProcessingType),i.info={memory:F({},i.controller.renderer.info.memory),render:F({},i.controller.renderer.info.render)}):(i.renderer.render(i.scene,i.camera),i.info={memory:F({},i.renderer.info.memory),render:F({},i.renderer.info.render)}),i.poweredByRealsee&&i.currentMode!=="VRPanorama"&&i.currentMode!=="XRPanorama"&&i.renderer.getRenderTarget()!==i.getPixelsRenderTarget&&fv(i.renderer)),e&&vt.shared.add(e,!0)}),null},t.prototype.updateTime=function(e,r){for(var i,a=this,o,s,u=[],l=2;l<arguments.length;l++)u[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,bt([e,r],u,!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){Hn.detectSupport(this.renderer);var c=this.models.loaded,h=this.models.refined;if(this.models.update(this.renderer,this.camera,this.currentMode),c===!1&&this.models.loaded===!0&&this.emit("models.load",W("models.load",{models:this.models})),h===!1&&this.models.refined===!0&&this.emit("models.refined",W("models.refined",{models:this.models})),this.models.loaded){for(var A=0,m=this.models;A<m.length;A++){var f=m[A];f.parent!==this.modelGroup&&(this.modelGroup.add(f),this.needsRender=!0,this.modelSceneNeedsRender=!0)}if(this.lastModels.length>0){for(var v=0,y=this.lastModels;v<y.length;v++){var f=y[v];this.modelGroup.remove(f),f.dispose(),this.needsRender=!0,this.modelSceneNeedsRender=!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 p=new d.Vector2(512,512),g=new d.Vector2(512,512);this.renderer&&(this.renderer.getSize(p),p.x*=this.scissor.width,p.y*=this.scissor.height,this.renderer.getDrawingBufferSize(g),g.x*=this.scissor.width,g.y*=this.scissor.height);{for(var x=new d.Box3,b=new d.Box3,w=new d.Vector3(4,4,4),E=0,M=this.works.resolvedObservers;E<M.length;E++){var C=M[E];b.setFromCenterAndSize(C.position,w),x.union(b)}if(x.union(this.models.bounding),this.lastWorks)for(var I=0,S=this.lastWorks.resolvedObservers;I<S.length;I++){var C=S[I];b.setFromCenterAndSize(C.position,w),x.union(b)}x.union(this.lastModels.bounding),x.getCenter(this.boundingMesh.position),x.getSize(this.boundingMesh.scale),this.boundingMesh.boundingBox.copy(x);var P=(o=this.models.getMaterial())!==null&&o!==void 0?o:{},B=1-((s=P.modelAlpha)!==null&&s!==void 0?s:0);P.opacity=pe(B*4-3,0,1),P.clippers=null,P.shownFloorIndex=-2,this.boundingMesh.setMaterial(P),this.boundingMesh.needsRender=!1}var L=W("render.prepare",{needsRender:!0,info:null});if(this.emit("render.prepare",L),!L.defaultPrevented){var k=[];di.multiplyMatrices(this.camera.projectionMatrix,this.camera.matrixWorldInverse),ci.setFromProjectionMatrix(di);for(var O=0,z=this.scene.children;O<z.length;O++){var N=z[O];N!==this.modelGroup&&N!==this.boundingMesh&&N instanceof d.Object3D&&N.traverseVisible(function(j){if(j.setResolution&&j.setResolution(p.x,p.y),j.setTime&&j.setTime(e),j.mixer instanceof d.AnimationMixer){var J=e0.get(j.mixer);J||(J=new d.Clock,e0.set(j.mixer,J)),j.mixer.update(J.getDelta())}(j instanceof d.Mesh||j instanceof d.Line||j instanceof d.Points)&&(j instanceof d.ImmediateRenderObject||!j.frustumCulled||ci.intersectsObject(j))&&k.push(j)})}if(g.width*g.height>4096*2048?this.renderSwitch01=this.renderSwitch01^1:this.renderSwitch01=0,this.renderer&&this.paused===!1&&this.renderSwitch01===0){var X=void 0;if(this.onlyRenderIfNeeds!==!0)X=this.render();else{if(this.controller&&(this.controller.needsRender===!0&&(this.controller.needsRender=!1,this.needsRender=!0),this.controller.modelSceneNeedsRender===!0&&(this.controller.modelSceneNeedsRender=!1,this.modelSceneNeedsRender=!0)),this.camera.needsRender===!0&&(this.camera.needsRender=!1,this.needsRender=!0,this.modelSceneNeedsRender=!0),this.models.needsRender===!0&&(this.models.needsRender=!1,this.needsRender=!0,this.modelSceneNeedsRender=!0),this.needsRender!==!0)for(var G=0,Q=k;G<Q.length;G++){var H=Q[G],K=function(j){j.needsRender===!0?(j.needsRender=!1,a.needsRender=!0):j.mixer&&j.mixer.stats.actions.inUse>0&&(a.needsRender=!0)};K(H),H.traverseAncestors(K)}(this.needsRender!==!1||this.modelSceneNeedsRender!==!1)&&(X=this.render())}this.needsRender=!1,this.modelSceneNeedsRender=!1,this.hasListener("render")&&this.emit("render",W("render",{needsRender:X!==void 0,info:this.info}))}this.needsRender=!1,this.modelSceneNeedsRender=!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 Yr&&this.renderer.clear(!0,!0,!0)},t.prototype.play=function(){this.needsRender=!0,this.modelSceneNeedsRender=!0,this.paused=!1},t.prototype.moveToPano=function(e,r,i){r===void 0&&(r={}),i===void 0&&(i=!0);var a=this,o=a.controller,s=a.renderer;if(!o)return this.throwError(new Error("controller is not initialized.")),Promise.resolve();if(!s)return this.throwError(new Error("renderer is not initialized.")),Promise.resolve();var u=this.works.getResolvedObserver(e);if(!u)return this.throwError(new Error("pano ".concat(JSON.stringify(e)," not existed."))),Promise.resolve();var l={workCode:u.work.workCode,panoIndex:u.panoIndex};return"moveToPano"in o&&typeof o.moveToPano=="function"?o.moveToPano(l,r,i):u&&(this.pano=l,this.once("initAnimation.start",function(c){r.moveStartCallback&&r.moveStartCallback(c.state)}),this.once("initAnimation.end",function(c){r.moveEndCallback&&r.moveEndCallback(c.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=D);var a=this.works.getResolvedObserver(e);if(!a)return Promise.reject(new Error("Pano ".concat(JSON.stringify(e)," never found")));var o=["right","left","up","down","front","back"],s=Ee();return Promise.all(o.map(function(u){var l=F({key:"pano.".concat(a.panoId,".").concat(u)},Vt(i.imageOptions,["size","format","quality","mappings"])),c=a.images[u],h=i.imageOptions.transform?i.imageOptions.transform(c,l):St(c,l);return it(a.work).preload(h)})).then(function(){var u=Ee()-s;return r(u),u})},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,a=e.clone().sub(i),o=new d.Raycaster(i,a.clone().normalize());o.params.Points={threshold:.1};var s=this.models.intersectRaycaster(o)[0];if(s&&s.distance+.01<a.length())return null}var u=e.clone().project(this.camera);if(Math.abs(u.z)>1)return null;var l=this.renderer.getSize(new d.Vector2),c=l.x*this.scissor.width,h=l.y*this.scissor.height,A=l.x*this.scissor.left+(u.x+1)/2*c,m=l.y*(1-this.scissor.bottom-this.scissor.height)+(-u.y+1)/2*h;return new d.Vector2(A,m)},t.prototype.getRenderObjects=function(e){di.multiplyMatrices(this.camera.projectionMatrix,this.camera.matrixWorldInverse),ci.setFromProjectionMatrix(di),e||(e=this.scene);var r=[];return e.traverseVisible(function(i){(i instanceof d.Mesh||i instanceof d.Line||i instanceof d.Points)&&(i instanceof d.ImmediateRenderObject||!i.frustumCulled||ci.intersectsObject(i))&&r.push(i)}),r},t.prototype.getCurrentState=function(){return F(F({},this.getPose()),{mode:this.currentMode,workCode:this.pano.workCode,panoIndex:this.pano.panoIndex})},t.prototype.setState=function(e,r,i){var a,o,s,u,l,c,h,A,m,f;r===void 0&&(r=!1),i===void 0&&(i=!0),e=Object.assign({},e),e.offset&&!(e instanceof d.Vector3)&&(e.offset=new d.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:(o=(a=this.work)===null||a===void 0?void 0:a.workCode)!==null&&o!==void 0?o:"",panoIndex:e.panoIndex});var y=(s=e.mode)!==null&&s!==void 0?s:this.state.mode,p,g,x,b,w;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 E={workCode:v==null?void 0:v.workCode,panoIndex:v==null?void 0:v.panoIndex};typeof e.longitude=="number"&&(E.longitude=e.longitude),typeof e.latitude=="number"&&(E.latitude=e.latitude),typeof e.fov=="number"&&(E.fov=e.fov),typeof e.distance=="number"&&(E.distance=e.distance),e.offset instanceof d.Vector3&&(E.offset=e.offset);var M=F(F({initial:{state:E,currentState:this.getCurrentState(),duration:this.modeChangeDuration,effect:"fly",userAction:!1}},this.commonParams()),this.controllerInits[y]),C=Bt[y].initAnimationEndState(M);p=C.longitude,g=C.latitude,x=C.fov,b=C.offset,w=C.distance}else p=(u=e.longitude)!==null&&u!==void 0?u:this.state.longitude,g=(l=e.latitude)!==null&&l!==void 0?l:this.state.latitude,x=(c=e.fov)!==null&&c!==void 0?c:this.state.fov,b=(h=e.offset)!==null&&h!==void 0?h:this.state.offset,w=(A=e.distance)!==null&&A!==void 0?A:this.state.distance;var I={workCode:(v!=null?v:this.pano).workCode,panoIndex:(v!=null?v:this.pano).panoIndex,mode:y,longitude:p,latitude:g,fov:x,offset:b,distance:w};this.emit("state.set",W("state.set",{userAction:i,state:I})),Nr(this.state,I)||(this.controller&&I.mode==="VRPanorama"&&I.mode!==this.state.mode?(or(this.state,I),this.changeMode("VRPanorama")):this.controller&&I.mode==="XRPanorama"&&I.mode!==this.state.mode?(or(this.state,I),this.changeMode("XRPanorama")):(or(this.state,I),this.controller&&i&&(this.controller.userAction=!1),r&&this.state.mode===I.mode&&(this.syncingState=this.syncState(Ee(),0,r),this.syncingState&&((m=this.controller)===null||m===void 0||m.updateTime(Ee(),0),this.syncingState=!1)),this.emit("state.change",W("state.change",{userAction:i,state:this.state})),(f=this.analysis)===null||f===void 0||f.state(this.works,this.state)))},t.prototype.aroundScissor=function(e){if(this.renderer){if(this.state.mode==="XRPanorama"){e();return}var r=new d.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 a=Math.floor(r.x*this.scissor.left),o=Math.floor(r.y*this.scissor.bottom),s=Math.floor(r.x*this.scissor.width),u=Math.floor(r.y*this.scissor.height);this.renderer.setViewport(a,o,s,u),this.renderer.setScissor(a,o,s,u),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 a=this.stateSynced;if(this.stateSynced=!1,this.works.length===0||!this.controller)return!1;if(this.state.mode!==this.currentMode){var o={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,o,this.modeChangeDuration,this.controller.userAction),!0}if(!this.controller.isReady())return!1;if(this.controller instanceof Bt.Model){if(yi(this.camera.pose.offset,this.state.offset)){var s={longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset};return this.controller.moveToPosition(this.state.offset,F(F({},s),{duration:i?0:void 0}),!1),!0}}else{var u={workCode:this.state.workCode,panoIndex:this.state.panoIndex};if(!Zt(u,this.pano)&&"moveToPano"in this.controller&&typeof this.controller.moveToPano=="function"){var s={longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset,distance:this.state.distance};return this.controller.moveToPano(u,s,!1),!0}}if(this.controller instanceof Bt.Floorplan||this.controller instanceof Bt.Topview||this.controller instanceof Bt.Mapview){var l=1,c=.2,h=.2,A=Math.PI/45,m=i?this.state.fov:da(this.camera.pose.fov,this.state.fov,l),f=Math.abs(this.camera.pose.distance-this.state.distance),v=f>h*15?f/15:c,y=i?this.state.distance:da(this.camera.pose.distance,this.state.distance,v),p=this.camera.pose.offset.distanceTo(this.state.offset),g=p>h*15?p/15:h,x=i?new d.Vector3().copy(this.state.offset):ph(this.camera.pose.offset,this.state.offset,g),b=i?{longitude:this.state.longitude,latitude:this.state.latitude}:Ts({longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},{longitude:this.state.longitude,latitude:this.state.latitude},A),w=b.longitude,E=b.latitude;if(kt(m,this.camera.pose.fov)||yi(x,this.camera.pose.offset)||kt(y,this.camera.pose.distance)||kt(w,this.camera.pose.longitude,Math.PI*2)||kt(E,this.camera.pose.latitude)){var M={x:x.x,y:x.y,z:x.z},C={fov:m};return Object.assign(M,{distance:y}),Object.assign(C,{longitude:w,latitude:E}),this.controller.stopMomentumMovement(),this.controller.cameraMotion.set(C,0).catch(D),this.controller.locationMotion.set(M,0).catch(D),!0}}else{var I=1,S=Math.PI/45,m=i?this.state.fov:da(this.camera.pose.fov,this.state.fov,I),P=i?{longitude:this.state.longitude,latitude:this.state.latitude}:Ts({longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},{longitude:this.state.longitude,latitude:this.state.latitude},S),w=P.longitude,E=P.latitude,y=this.state.distance,x=new d.Vector3().copy(this.state.offset);if(kt(y,this.camera.pose.distance)&&(this.state.distance=this.camera.pose.distance),yi(x,this.camera.pose.offset)&&(this.state.offset=this.camera.pose.offset.clone()),kt(w,this.camera.pose.longitude,Math.PI*2)||kt(E,this.camera.pose.latitude)||kt(m,this.camera.pose.fov))return this.controller.stopMomentumMovement(),this.controller.cameraMotion.set({longitude:w,latitude:E,fov:m},0).catch(D),!0}if(this.stateSynced=!0,a===!1&&this.emit("state.synced",W("state.synced",{userAction:!1,state:this.state})),this.readyCallbacks.length&&this.stateSynced){var B=this.currentMode,L=B===t.Mode.Floorplan||B===t.Mode.Topview||B===t.Mode.Mapview||B===t.Mode.Model;if(!L||this.models.loaded){var k=this.readyCallbacks.slice();this.readyCallbacks.length=0;for(var O=0,z=k;O<z.length;O++){var N=z[O];this.controller instanceof Bt.Panorama&&N.tile===!0&&!this.controller.isTileReady()?this.readyCallbacks.push(N):N()}}}return!1},t.prototype.ready=function(e){var r=this;return e===void 0&&(e={}),new Promise(function(i){var a;r.readyCallbacks.push(Object.assign(i,{tile:(a=e.tile)!==null&&a!==void 0?a:!1}))})},t.prototype.requestFullscreen=function(){var e;if(Nn()){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,a=[],o=function(y){var p=s.models.filter(function(x){var b;return((b=x.work)===null||b===void 0?void 0:b.workCode)===y.workCode})[0];if(p)p.work=y,a.push(p);else{var g=new Qa({onError:function(x){i.emit("model.error",W("model.error",{work:y,model:g,error:x})),i.throwError(x)},onShownFloorChange:function(x){i.emit("model.changeShownFloor",W("model.changeShownFloor",{work:y,model:g,error:null}))},onLoad:function(){i.emit("model.load",W("model.load",{work:y,model:g,error:null}))}});a.push(g),s.emit("model.request",W("model.request",{work:y,model:g,error:null})),g.load(y,{textureOptions:s.textureOptions,"3d-tiles":r["3d-tiles"]})}},s=this,u=0,l=e;u<l.length;u++){var c=l[u];o(c)}if(this.models.length>0){for(var h=0,A=this.models;h<A.length;h++){var m=A[h];a.indexOf(m)===-1&&this.lastModels.push(m)}this.models.length=0}for(var f=0,v=a;f<v.length;f++){var m=v[f];this.models.push(m)}return this.renderer&&(this.models.loaded=!1),new Promise(function(y){i.on("models.load",function(){y()})})},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,modelScene:this.modelScene,modelRenderTarget:this.modelRenderTarget}},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 a=Bt[e];this.currentMode=e;for(var o=new a(r),s=function(m){o.on(m,function(){for(var f=[],v=0;v<arguments.length;v++)f[v]=arguments[v];var y=i.emit.apply(i,bt([m],f,!1));if(y)return!1})},u=0,l=ku;u<l.length;u++){var c=l[u];s(c)}{var h=Bt[e].initAnimationEndState(r),A=r.initial.userAction;Nr(this.state,h)||(or(this.state,h),this.emit("state.change",W("state.change",{userAction:A,state:this.state}))),this.emit("currentState.change",W("currentState.change",{userAction:A,state:this.getCurrentState()}))}return o.on("camera.update",function(m){var f;if(i.controller){var v=i.controller.getTargetState();m.userAction&&i.syncingState===!1&&i.state.mode===v.mode&&!Nr(i.state,v)&&(or(i.state,v),i.emit("state.change",W("state.change",{userAction:m.userAction,state:i.state})),(f=i.analysis)===null||f===void 0||f.state(i.works,i.state))}i.emit("currentState.change",W("currentState.change",{userAction:m.userAction,state:i.getCurrentState()}))}),o.on("initAnimation.start",function(m){var f,v=m.state,y=m.userAction;y&&i.state.mode===v.mode&&!Nr(i.state,v)&&(or(i.state,v),i.emit("state.change",W("state.change",{userAction:y,state:i.state})),(f=i.analysis)===null||f===void 0||f.state(i.works,i.state))}),o.on("initAnimation.end",function(m){var f,v=m.state,y=m.userAction;y&&i.state.mode===v.mode&&!Nr(i.state,v)&&(or(i.state,v),i.emit("state.change",W("state.change",{userAction:y,state:i.state})),(f=i.analysis)===null||f===void 0||f.state(i.works,i.state))}),o.on("pano.moveTo",function(m){var f,v=m.state,y=m.userAction;i.pano={workCode:v.workCode,panoIndex:v.panoIndex},y&&i.state.mode===v.mode&&!Nr(i.state,v)&&(or(i.state,v),i.emit("state.change",W("state.change",{userAction:y,state:i.state})),(f=i.analysis)===null||f===void 0||f.state(i.works,i.state))}),o.on("pano.arrived",function(m){var f,v=m.state,y=m.userAction;y&&i.state.mode===v.mode&&!Nr(i.state,v)&&(or(i.state,v),i.emit("state.change",W("state.change",{userAction:y,state:i.state})),(f=i.analysis)===null||f===void 0||f.state(i.works,i.state))}),o.on("pano.cancel",function(m){var f,v=m.state,y=m.userAction;y&&i.state.mode===v.mode&&!Nr(i.state,v)&&(or(i.state,v),i.emit("state.change",W("state.change",{userAction:y,state:i.state})),(f=i.analysis)===null||f===void 0||f.state(i.works,i.state))}),o.on("pano.moveTo",function(m){var f=m.userAction;i.emit("currentState.change",W("currentState.change",{userAction:f,state:i.getCurrentState()}))}),o.on("pano.request",function(m){i.emit("pano.request",m),m.defaultPrevented||i.moveToPano(m.state,m.options,m.userAction)}),o.on("vr.requestExit",function(){i.currentMode===t.Mode.VRPanorama&&(i.exitFullscreen(),i.changeMode(t.Mode.Panorama))}),o.on("error",function(m){return i.throwError(m)}),o},t.prototype.removeEventListeners=function(){},t.prototype.getWorkResources=function(e){var r=this,i,a=this.models.find(function(l){return l.work===e}),o=((i=a==null?void 0:a.viewLayers)!==null&&i!==void 0?i:[]).map(function(l){return l.scene});function s(l){var c=/([0-9a-z\.\_\-]+)([\?\#].*)?$/i.exec(l);if(c){var h=String(c[1]).trim().split(".").slice(1).reverse()[0];if(h)return h}return""}function u(l,c){c===void 0&&(c=0);var h=[];if(l.content&&l.content.uri){var A=s(l.content.uri);if(A==="json"){var m=St(l.content.uri,{key:"model.".concat(c)});h.push({url:m,type:"tileset"})}else if(A==="at3d"&&l.extras[A]){var m=l.content.uri;h.push({url:m,type:"model"});for(var f=l.extras[A],v=f.textureArray,y=f.textureOptions,p=0,g=v;p<g.length;p++){var x=g[p],b=F({key:"texture.pbm"},Vt(y,["format","quality","size","sharpen","mappings"])),w=tn(x,y==null?void 0:y.transform,b);h.push({url:w,type:"texture"})}}else{var m=St(l.content.uri,{key:"model.".concat(c)});h.push({url:m,type:"model"})}}if(l.children)for(var E=0;E<l.children.length;E++){var M=l.children[E];h.push.apply(h,u(M,E))}return h}return Promise.all(o.map(function(l){return l.loadAllTilesets()})).then(function(){for(var l=[],c=["right","left","up","down","front","back"],h=0,A=e.observers;h<A.length;h++){for(var m=A[h],f=0,v=c;f<v.length;f++){var y=v[f],p=F({key:"pano.".concat(ze(m.pano),".").concat(y)},Vt(r.imageOptions,["size","format","quality","mappings"])),g=m.images[y],x=tn(g,r.imageOptions.transform,p);l.push({url:x,type:"pano"})}if(m.images.tiles)for(var b=0,w=m.images.tiles;b<w.length;b++)for(var E=w[b],M=0,C=c;M<C.length;M++)for(var y=C[M],I=E.size,S=Math.pow(2,E.level),P=1/S,B=0;B<S;B++)for(var L=0;L<S;L++){var k="".concat(m.panoId,".").concat(y,".").concat(E.level,".").concat(B,".").concat(L),p=F(F({key:"pano_tile.".concat(k)},Vt(r.imageOptions,["format","size","quality","sharpen","mappings"])),{size:E.scale>=1?void 0:I*P*E.scale,cut:[I*P*L,I*P*B,I*P,I*P]}),x=tn(E[y],r.imageOptions.transform,p);l.push({url:x,type:"pano_tile"})}}for(var O=0,z=o;O<z.length;O++){var N=z[O];N.tileset.url&&l.push({url:N.tileset.url,type:"model"}),l.push.apply(l,u(N.tileset.root))}return l})},t.Mode={Panorama:"Panorama",Model:"Model",Floorplan:"Floorplan",Topview:"Topview",Mapview:"Mapview",VRPanorama:"VRPanorama",XRPanorama:"XRPanorama"},t.Line=null,t}(Li),Ka={instances:{},constructor:Ou};typeof window!="undefined"&&Object.assign(window,{__FIVE_DEBUG__:Ka});var Av=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 a(){i(),e.textContent="VR NOT SUPPORTED"}function o(u){u.style.position="absolute",u.style.bottom="20px",u.style.padding="12px 6px",u.style.border="1px solid #fff",u.style.borderRadius="4px",u.style.background="rgba(0,0,0,0.1)",u.style.color="#fff",u.style.font="normal 13px sans-serif",u.style.textAlign="center",u.style.opacity="0.5",u.style.outline="none",u.style.zIndex="999"}if("xr"in navigator)return e.id="VRButton",e.style.display="none",o(e),navigator.xr.isSessionSupported("immersive-vr").then(function(u){u?r():a()}),e;var s=document.createElement("a");return window.isSecureContext===!1?(s.href=document.location.href.replace(/^http:/,"https:"),s.innerHTML="WEBXR NEEDS HTTPS"):(s.href="https://immersiveweb.dev/",s.innerHTML="WEBXR NOT AVAILABLE"),s.style.left="calc(50% - 90px)",s.style.width="180px",s.style.textDecoration="none",o(s),s},n}();exports.AnimationFrameLoop=vt;exports.Camera=Oi;exports.Fetcher=$a;exports.Five=Ou;exports.InternalWebGLRenderer=Yr;exports.IntersectMesh=Vi;exports.Model=Qa;exports.ModelViewLayer=mi;exports.NetworkSubscribe=l0;exports.PBMContainer=A0;exports.PBMGroup=bc;exports.PBMMesh=Dt;exports.PBMMeshMaterial=Pn;exports.PROXY_CONTROLLER_EVENT_NAMES=ku;exports.PanoCircleMesh=fu;exports.PanoCircleMeshCustom=oh;exports.PanoCircleMeshSolid=rh;exports.Scene=x0;exports.Subscribe=Li;exports.TextureLoader=Zn;exports.Tile=ro;exports.Tile3DModel=$r;exports.TileCache=I0;exports.TileCubeTextureTarget=Ne;exports.TileNode=V0;exports.TileRequestScheduler=S0;exports.Tileset=gn;exports.Work=uo;exports.XRButton=Av;exports.defaultImageURLTransform=St;exports.defaultPbmParameters=we;exports.getViewportScale=Fu;exports.imageSupport=f0;exports.isPanoId=p0;exports.loadAt3d=ru;exports.loadB3dm=H0;exports.loadDome=nu;exports.loadDomez=au;exports.loadGlb=ou;exports.loadPbm=$0;exports.loadPnts=K0;exports.panoEqual=Zt;exports.panoParse=pt;exports.panoStringify=ze;exports.parseWork=Gn;
2071
+ `});m.depthTest=f.material.depthTest,m.side=f.material.side,s.meshReplaceMaterialMap.set(A,m),f.material=m}}});var l=this.renderer.getSize(new d.Vector2);this.camera.setViewOffset(l.width,l.height,e*a,r*a,1,1),this.renderer.setRenderTarget(this.gpuPickingRenderTarget),this.render();var u=new Uint8Array(4);this.renderer.readRenderTargetPixels(this.gpuPickingRenderTarget,0,0,1,1,u),this.renderer.setRenderTarget(null),this.camera.clearViewOffset(),this.scene.traverse(function(f){!(f instanceof d.Mesh)||f instanceof Dt||s.meshOriginMaterialMap.get(f.uuid)&&(f.material=s.meshOriginMaterialMap.get(f.uuid))}),this.models.setMaterial({constantColor:null});var c=Object.keys(i).filter(function(f){return i[f].equals(new d.Color().setRGB(u[0]/255,u[1]/255,u[2]/255))})[0];return c||!1},t.prototype.dispose=function(){var e,r;if(this.destroyed!==!0){delete _a.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 a=this.models.getMaterial();a&&(a.pano0&&a.pano0.map.dispose(),a.pano1&&a.pano1.map!==((r=a.pano0)===null||r===void 0?void 0:r.map)&&a.pano1.map.dispose());for(var o=0,s=this.models;o<s.length;o++){var l=s[o];l.dispose()}this.models.length=0,this.models.setMaterial({pano0:null,pano1:null}),this.meshReplaceMaterialMap.forEach(function(u){u.dispose()}),this.meshOriginMaterialMap.forEach(function(u){u.dispose()}),this.renderer instanceof $r&&this.renderer.forceContextLoss&&this.renderer.forceContextLoss()}},t.prototype.setScissor=function(e){var r;if(Object.assign(this.scissor,e),this.controller&&this.controller.updateRenderSize){var i=new d.Vector2;(r=this.renderer)===null||r===void 0||r.getDrawingBufferSize(i),this.controller.updateRenderSize(i)}},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",X("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&&this.enablePostProcessing?"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._enableEDL},set:function(e){if(e===!0&&this.currentMode!==t.Mode.Mapview)throw new Error("只支持Mapview下开启EDL");this._enableEDL!==e&&(this._enableEDL=e,this.boundingMesh.visible=!e,this.needsRender=!0,this.modelSceneNeedsRender=!0)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableHQ",{get:function(){return this._enableHQ},set:function(e){if(e===!0&&this.currentMode!==t.Mode.Mapview)throw new Error("只支持Mapview下开启HQ");this._enableHQ!==e&&(this._enableHQ=e,this.boundingMesh.visible=!e,this.needsRender=!0,this.modelSceneNeedsRender=!0)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enablePostProcessing",{get:function(){return this._enablePostProcessing},set:function(e){this._enablePostProcessing!==e&&(this._enablePostProcessing=e),this.needsRender=!0,this.modelSceneNeedsRender=!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.mapview),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 $r)){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 a=window.getComputedStyle(e).position;a!=="relative"&&a!=="absolute"&&a!=="fixed"&&a!=="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 a=i.parentNode;if(a&&a.nodeName){var o=e.width,s=o===void 0?a.offsetWidth:o,l=e.height,u=l===void 0?a.offsetHeight:l;this.renderer instanceof $r&&(r&&this.renderer.setPixelRatio(r),this.renderer.setSize(s,u))}var c=new d.Vector2;if(this.renderer.getDrawingBufferSize(c),this.controller&&this.controller.updateRenderSize&&this.controller.updateRenderSize(c),this.modelRenderTarget.width!==c.x||this.modelRenderTarget.height!==c.y){this.modelRenderTarget.setSize(c.x,c.y),this.modelRenderTarget.depthTexture.dispose();var f=new d.DepthTexture(c.x,c.y);f.generateMipmaps=!1,f.format=d.DepthStencilFormat,f.type=d.UnsignedInt248Type,this.modelRenderTarget.depthTexture=f,this.modelRenderTarget.depthTexture.needsUpdate=!0}this.needsRender=!0,this.modelSceneNeedsRender=!0,this.render(D,!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,a=e.fov,o=e.offset,s=e.distance;return{longitude:r,latitude:i,fov:a,offset:o.clone(),distance:s}},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 d.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,Sh(this.camera,r)}}return null},Object.defineProperty(t.prototype,"works",{get:function(){var e=Sa.get(this);if(!e)return s0;for(var r=0,i=e;r<i.length;r++){var a=i[r];if(!po.has(a))return s0}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,a){var o=this;if(a===void 0&&(a=!0),!this.renderer)throw new Error("renderer is not initialized");var s=this.lastLoadWorkTask.then(function(){return Ph(e)?e.then(function(l){return o.load_(l,r,i,a)}):o.load_(e,r,i,a)});return this.lastLoadWorkTask=s.catch(function(l){o.throwError(l)}),s},t.prototype.load_=function(e,r,i,a){var o=this,s,l,u,c,f,A,m,h,p;a===void 0&&(a=!0);var y={};typeof i=="number"?y.duration=i:typeof i=="object"&&Object.assign(y,i),this.controller||(y.duration=0,y.effect="instant");var v=[];if(Array.isArray(e))for(var g=0,x=e;g<x.length;g++){var b=x[g];typeof b!="string"&&"work"in b?v.push(Hn(b.work,b)):v.push(Hn(b))}else v.push(Hn(e));for(var w=Ha(v),E=function(_){var Y=I,oe=new io({allowHosts:_.allowHosts,get requestProxy(){return Y.requestProxy},get networkSubscribe(){return Y.networkSubscribe}});ih(_,oe)},I=this,M=0,k=w;M<k.length;M++){var B=k[M];E(B)}this.lastWorks=this.works,r===void 0&&(r="inherit"),r==="inherit"&&this.lastWorks.length===0&&(r="initial");var C=w.initial,T=C.work.observers[0],O=T?{workCode:T.work.workCode,panoIndex:T.panoIndex}:{workCode:C.work.workCode,panoIndex:0},P=(s=C.mode)!==null&&s!==void 0?s:T?"Panorama":"Mapview",F={};if(r==="inherit"){P=this.currentMode;var V=w.resolvedObservers[this.panoIndex];V?O={workCode:V.work.workCode,panoIndex:V.panoIndex}:typeof w.initial.panoIndex=="number"?O={workCode:w.initial.work.workCode,panoIndex:w.initial.panoIndex}:(P==="Panorama"||P==="VRPanorama"||P==="XRPanorama")&&(P="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 C.panoIndex=="number"&&(O={workCode:C.work.workCode,panoIndex:C.panoIndex}),C.mode&&(P=C.mode),F={longitude:C.longitude,latitude:C.latitude,fov:C.fov,distance:C.distance,offset:(l=C.offset)===null||l===void 0?void 0:l.clone()};else{if(P=(u=r.mode)!==null&&u!==void 0?u:this.currentMode,typeof r.panoIndex=="number"){var V=w.getResolvedObserver({workCode:(f=(c=r.workCode)!==null&&c!==void 0?c:C.work.workCode)!==null&&f!==void 0?f:"",panoIndex:r.panoIndex});V&&(O={workCode:V.work.workCode,panoIndex:V.panoIndex})}F={longitude:r.longitude,latitude:r.latitude,fov:r.fov,distance:r.distance,offset:r.offset}}var z=L(L(L({},O),{mode:P}),F);this.emit("works.request",X("works.request",{input:e,works:w,state:z,userAction:a}));var j=function(){var _,Y;o.pano=O;var oe=(_=y.duration)!==null&&_!==void 0?_:o.modeChangeDuration,$=(Y=y.effect)!==null&&Y!==void 0?Y:"fade",ae=L(L({initial:{state:z,currentState:o.getCurrentState(),duration:oe,effect:$,userAction:a}},o.commonParams()),o.controllerInits[P]);if(o.controller&&o.currentMode===P)o.controller.updateWork(w,z,{effect:$,duration:oe},a)===!1&&(o.controller.destroy(),o.controller=o.applyController(P,ae));else{var ne=o.currentMode,le=Bt[P].initAnimationEndState(ae);if(o.controller)o.controller.destroy();else{var ie=Bt[P].initAnimationEndState(ae);o.camera.setFromPose(ie),o.modelGroup.visible=!0,o.emit("camera.update",X("camera.update",{state:o.getCurrentState(),userAction:a}))}o.controller=o.applyController(P,ae);var ge=X("mode.change",{prevMode:ne,mode:P,state:le,userAction:a});o.emit("mode.change",ge)}};if(Sa.set(this,w),!this.controller){var K=L(L({initial:{state:z,currentState:this.getCurrentState(),duration:(A=y.duration)!==null&&A!==void 0?A:this.modeChangeDuration,effect:(m=y.effect)!==null&&m!==void 0?m:"fade",userAction:a}},this.commonParams()),this.controllerInits[P]),H=Bt[P].initAnimationEndState(K);this.camera.setFromPose(H),this.emit("camera.update",X("camera.update",{state:this.getCurrentState(),userAction:a}))}if(this.updateConfiguration(y,!1),P===t.Mode.Floorplan||P===t.Mode.Topview||P===t.Mode.Mapview||P===t.Mode.Model)this.loadModel(w,y).then(function(){o.needsRender=!0,o.modelSceneNeedsRender=!0,j(),o.emit("camera.update",X("camera.update",{state:o.getCurrentState(),userAction:a}))});else{if(!this.controller){var q=new d.Vector3,J=w.getResolvedObserver(O);J&&q.copy(J.position),this.camera.setFromPose({fov:F.fov,longitude:F.longitude,latitude:F.latitude,distance:F.distance,offset:(h=F.offset)!==null&&h!==void 0?h:q}),this.needsRender=!0,this.modelSceneNeedsRender=!0}j();var G=!1,W=function(){o.works===w&&G===!1&&(o.needsRender=!0,o.modelSceneNeedsRender=!0,o.emit("camera.update",X("camera.update",{state:o.getCurrentState(),userAction:a})),o.loadModel(w,y),G=!0)};this.controller.once("pano.arrived",W),this.controller.once("pano.cancel",W),setTimeout(W,((p=y.duration)!==null&&p!==void 0?p:this.modeChangeDuration)+1e3)}return this.emit("works.load",X("works.load",{input:e,state:this.getCurrentState(),userAction:a,works:w})),this.ready().then(function(){var _;o.emit("works.ready",X("works.ready",{input:e,state:o.getCurrentState(),userAction:a,works:w})),(_=o.analysis)===null||_===void 0||_.work(w)})},t.prototype.reset=function(){var e=this,r=this.lastLoadWorkTask.then(function(){return e.reset_()});return this.lastLoadWorkTask=r.catch(function(i){e.throwError(i)}),r},t.prototype.reset_=function(){var e=this;return new Promise(function(r){var i;e.controller&&(e.controller.destroy(),e.controller=void 0);var a=e.models.getMaterial();a&&(a.pano0&&a.pano0.map.dispose(),a.pano1&&a.pano1.map!==((i=a.pano0)===null||i===void 0?void 0:i.map)&&a.pano1.map.dispose()),e.models.setMaterial({pano0:null,pano1:null});for(var o=0,s=e.models;o<s.length;o++){var l=s[o];e.lastModels.push(l)}if(e.models.length=0,e.lastModels.length>0){for(var u=0,c=e.lastModels;u<c.length;u++){var l=c[u];e.modelGroup.remove(l),l.dispose(),e.needsRender=!0,e.modelSceneNeedsRender=!0}e.lastModels.length=0}e.lastWorks&&delete e.lastWorks,Sa.delete(e),e.currentMode="Panorama",e.pano={workCode:"",panoIndex:0},e.camera.setFromPose({distance:0,fov:a0,longitude:0,latitude:0,offset:new d.Vector3(0,0,0)}),e.state={mode:e.currentMode,workCode:e.pano.workCode,panoIndex:e.pano.panoIndex,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.models.needsRender=!1,e.camera.needsRender=!1,e.needsRender=!1,e.modelSceneNeedsRender=!1,r()})},t.prototype.changeMode=function(e,r,i,a,o){var s=this;return r===void 0&&(r={}),a===void 0&&(a=!0),o===void 0&&(o=!1),new Promise(function(l,u){var c,f,A,m;if(!s.renderer)throw new Error("renderer is not initialized.");r=L({},r);var h=0;s.controller&&(typeof i=="number"?h=i:h=(c=i==null?void 0:i.duration)!==null&&c!==void 0?c:s.modeChangeDuration);var p="fly";s.controller&&typeof i=="object"&&i.effect&&(p=i.effect);var y=typeof r.panoIndex=="number"?{workCode:(m=(f=r.workCode)!==null&&f!==void 0?f:(A=s.work)===null||A===void 0?void 0:A.workCode)!==null&&m!==void 0?m:"",panoIndex:r.panoIndex}:s.pano;if(!t.Mode.hasOwnProperty(e)){var v=new Error('mode "'.concat(e,'" is not existed'));s.throwError(v),u(v);return}if((e===t.Mode.Floorplan||e===t.Mode.Topview||e===t.Mode.Mapview||e===t.Mode.Model)&&!s.models.loaded){var v=new Error("model is not ready.");s.throwError(v),u(v);return}if((e===t.Mode.Panorama||e===t.Mode.VRPanorama||e===t.Mode.XRPanorama)&&!s.works.getResolvedObserver(y)){var v=new Error("PanoId ".concat(ze(y)," not existed."));s.throwError(v),u(v);return}var g=s.controller,x=s.currentMode,b=function(){if(s.controller&&s.controller.stopMomentumMovement(),s.controller&&o===!1&&x===e)e===t.Mode.Panorama||e===t.Mode.Model||e===t.Mode.VRPanorama||e===t.Mode.XRPanorama?Zt(s.pano,y)&&"moveToPano"in s.controller&&typeof s.controller.moveToPano=="function"?s.controller.moveToPano(y,L({duration:h},r),a):s.controller.updateCamera(r,h,a).catch(D):(Zt(s.pano,y)||(s.pano=y),s.controller.updateCamera(r,h,a).catch(D));else{var E=L(L({},r),y),I=L(L({initial:{state:E,currentState:s.getCurrentState(),duration:h,effect:p,userAction:a}},s.commonParams()),s.controllerInits[e]),M=Bt[e].initAnimationEndState(I),k=X("mode.change.request",{prevMode:s.currentMode,mode:e,state:M,userAction:a});if(s.emit("mode.change.request",k),!k.defaultPrevented){g&&g.destroy(),s.controller=s.applyController(e,I);var B=X("mode.change",{prevMode:s.currentMode,mode:e,state:M,userAction:a});s.emit("mode.change",B)}}l()};if(e===t.Mode.VRPanorama)s.requestFullscreen(),Bh().then(function(){return b()}).catch(function(E){E instanceof Error&&(s.exitFullscreen(),s.throwError(E),u(E))});else if(e===t.Mode.XRPanorama){var w=lt.shared.getContext();w?w.end():Rh().then(function(E){lt.shared.setContext(E),b()}).catch(function(E){E instanceof Error&&(s.throwError(E),u(E))})}else b()})},t.prototype.getPixels=function(e,r,i,a,o,s,l){if(!this.renderer)throw new Error("renderer is not initialized.");var u=this.renderer.getPixelRatio(),c=this.renderer.getRenderTarget(),f=this.renderer.getSize(new d.Vector2);e=Math.ceil(e),r=Math.ceil(r),i=Math.ceil(i),a=Math.ceil(a),o=Math.ceil(o!=null?o:u),s=s!=null?s:!1;var A=this.getPixelsRenderTarget;A.setSize(i*o,a*o),this.renderer.setRenderTarget(A),this.camera.setViewOffset(f.width,f.height,e,f.height-r-a,i,a),this.camera.pixelRatio=o,this.camera.resolution.set(i,a),this.camera.aspect=this.camera.resolution.width/this.camera.resolution.height;for(var m=0,h=this.scene.children;m<h.length;m++){var p=h[m];p instanceof d.Object3D&&p.traverseVisible(function(C){C.setResolution&&C.setResolution(i*o/u,a*o/u)})}this.controller?(this.controller.updateRenderSize(new d.Vector2(i*o,a*o)),this.controller.render(!0,this.postProcessingType)):(this.renderer.render(this.scene,this.camera),this.renderer.autoClearDepth=!1,this.renderer.autoClearColor=!1,this.renderer.render(this.modelScene,this.camera),this.renderer.autoClearDepth=!0,this.renderer.autoClearColor=!0);var y=i*o,v=a*o,g=y*v,x=g*4,b;try{if(l){if(l.length!==x)throw new Error("buffer length is not equals pixels ".concat(x))}else l=new Uint8Array(x);if(this.renderer.readRenderTargetPixels(A,0,0,i*o,a*o,l),s)for(var w=g/2,E=0,I=0,M=0,k=0;I<w;I++)for(k=(v-Math.floor(I/y)-1)*y+I%y,M=0;M<4;M++)E=l[I*4+M],l[I*4+M]=l[k*4+M],l[k*4+M]=E}catch(C){b=C}if(this.renderer.setRenderTarget(c),this.controller&&this.controller.updateRenderSize){var B=new d.Vector2;this.renderer.getDrawingBufferSize(B),this.controller.updateRenderSize(B)}if(this.camera.clearViewOffset(),this.camera.pixelRatio=u,this.getSize(this.camera.resolution),this.camera.aspect=this.camera.resolution.width/this.camera.resolution.height,b)throw b;return 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 a=this.renderer.getSize(Pv);this.scene.traverseVisible(function(o){o.setResolution&&o.setResolution(a.x,a.y)})}return this.aroundScissor(function(){i.renderer&&(i.controller?(i.controller.render(i.onlyRenderIfNeeds?i.modelSceneNeedsRender:!0,i.postProcessingType),i.info={memory:L({},i.controller.renderer.info.memory),render:L({},i.controller.renderer.info.render)}):(i.renderer.render(i.scene,i.camera),i.info={memory:L({},i.renderer.info.memory),render:L({},i.renderer.info.render)}),i.poweredByRealsee&&i.currentMode!=="VRPanorama"&&i.currentMode!=="XRPanorama"&&i.renderer.getRenderTarget()!==i.getPixelsRenderTarget&&Iv(i.renderer)),e&&lt.shared.add(e,!0)}),null},t.prototype.updateTime=function(e,r){for(var i,a=this,o,s,l=[],u=2;u<arguments.length;u++)l[u-2]=arguments[u];if(!this.destroyed){if(this.works.update(),this.syncingState=this.syncState(e,r),this.controller&&(i=this.controller).updateTime.apply(i,bt([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){qn.detectSupport(this.renderer);var c=this.models.loaded,f=this.models.refined;if(this.models.update(this.renderer,this.camera,this.currentMode),c===!1&&this.models.loaded===!0&&this.emit("models.load",X("models.load",{models:this.models})),f===!1&&this.models.refined===!0&&this.emit("models.refined",X("models.refined",{models:this.models})),this.models.loaded){for(var A=0,m=this.models;A<m.length;A++){var h=m[A];h.parent!==this.modelGroup&&(this.modelGroup.add(h),this.needsRender=!0,this.modelSceneNeedsRender=!0)}if(this.lastModels.length>0){for(var p=0,y=this.lastModels;p<y.length;p++){var h=y[p];this.modelGroup.remove(h),h.dispose(),this.needsRender=!0,this.modelSceneNeedsRender=!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 v=new d.Vector2(512,512),g=new d.Vector2(512,512);this.renderer&&(this.renderer.getSize(v),v.x*=this.scissor.width,v.y*=this.scissor.height,this.renderer.getDrawingBufferSize(g),g.x*=this.scissor.width,g.y*=this.scissor.height);{for(var x=new d.Box3,b=new d.Box3,w=new d.Vector3(4,4,4),E=0,I=this.works.resolvedObservers;E<I.length;E++){var M=I[E];b.setFromCenterAndSize(M.position,w),x.union(b)}if(x.union(this.models.bounding),this.lastWorks)for(var k=0,B=this.lastWorks.resolvedObservers;k<B.length;k++){var M=B[k];b.setFromCenterAndSize(M.position,w),x.union(b)}x.union(this.lastModels.bounding),x.getCenter(this.boundingMesh.position),x.getSize(this.boundingMesh.scale),this.boundingMesh.boundingBox.copy(x);var C=(o=this.models.getMaterial())!==null&&o!==void 0?o:{},T=1-((s=C.modelAlpha)!==null&&s!==void 0?s:0);C.opacity=fe(T*4-3,0,1),C.clippers=null,C.shownFloorIndex=-2,this.boundingMesh.setMaterial(C),this.boundingMesh.needsRender=!1}var O=X("render.prepare",{needsRender:!0,info:null});if(this.emit("render.prepare",O),!O.defaultPrevented){var P=[];vi.multiplyMatrices(this.camera.projectionMatrix,this.camera.matrixWorldInverse),pi.setFromProjectionMatrix(vi);for(var F=0,V=this.scene.children;F<V.length;F++){var z=V[F];z!==this.modelGroup&&z!==this.boundingMesh&&z instanceof d.Object3D&&z.traverseVisible(function(G){if(G.setResolution&&G.setResolution(v.x,v.y),G.setTime&&G.setTime(e),G.mixer instanceof d.AnimationMixer){var W=o0.get(G.mixer);W||(W=new d.Clock,o0.set(G.mixer,W)),G.mixer.update(W.getDelta())}(G instanceof d.Mesh||G instanceof d.Line||G instanceof d.Points)&&(G instanceof d.ImmediateRenderObject||!G.frustumCulled||pi.intersectsObject(G))&&P.push(G)})}if(g.width*g.height>4096*2048?this.renderSwitch01=this.renderSwitch01^1:this.renderSwitch01=0,this.renderer&&this.paused===!1&&this.renderSwitch01===0){var j=void 0;if(this.onlyRenderIfNeeds!==!0)j=this.render();else{if(this.controller&&(this.controller.needsRender===!0&&(this.controller.needsRender=!1,this.needsRender=!0),this.controller.modelSceneNeedsRender===!0&&(this.controller.modelSceneNeedsRender=!1,this.modelSceneNeedsRender=!0)),this.camera.needsRender===!0&&(this.camera.needsRender=!1,this.needsRender=!0,this.modelSceneNeedsRender=!0),this.models.needsRender===!0&&(this.models.needsRender=!1,this.needsRender=!0,this.modelSceneNeedsRender=!0),this.needsRender!==!0)for(var K=0,H=P;K<H.length;K++){var q=H[K],J=function(G){G.needsRender===!0?(G.needsRender=!1,a.needsRender=!0):G.mixer&&G.mixer.stats.actions.inUse>0&&(a.needsRender=!0)};J(q),q.traverseAncestors(J)}(this.needsRender!==!1||this.modelSceneNeedsRender!==!1)&&(j=this.render())}this.needsRender=!1,this.modelSceneNeedsRender=!1,this.hasListener("render")&&this.emit("render",X("render",{needsRender:j!==void 0,info:this.info}))}this.needsRender=!1,this.modelSceneNeedsRender=!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 $r&&this.renderer.clear(!0,!0,!0)},t.prototype.play=function(){this.needsRender=!0,this.modelSceneNeedsRender=!0,this.paused=!1},t.prototype.moveToPano=function(e,r,i){r===void 0&&(r={}),i===void 0&&(i=!0);var a=this,o=a.controller,s=a.renderer;if(!o)return this.throwError(new Error("controller is not initialized.")),Promise.resolve();if(!s)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 u={workCode:l.work.workCode,panoIndex:l.panoIndex};return"moveToPano"in o&&typeof o.moveToPano=="function"?o.moveToPano(u,r,i):l&&(this.pano=u,this.once("initAnimation.start",function(c){r.moveStartCallback&&r.moveStartCallback(c.state)}),this.once("initAnimation.end",function(c){r.moveEndCallback&&r.moveEndCallback(c.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=D);var a=this.works.getResolvedObserver(e);if(!a)return Promise.reject(new Error("Pano ".concat(JSON.stringify(e)," never found")));var o=["right","left","up","down","front","back"],s=Ee();return Promise.all(o.map(function(l){var u=L({key:"pano.".concat(a.panoId,".").concat(l)},Vt(i.imageOptions,["size","format","quality","mappings"])),c=a.images[l],f=i.imageOptions.transform?i.imageOptions.transform(c,u):It(c,u);return it(a.work).preload(f)})).then(function(){var l=Ee()-s;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,a=e.clone().sub(i),o=new d.Raycaster(i,a.clone().normalize());o.params.Points={threshold:.1};var s=this.models.intersectRaycaster(o)[0];if(s&&s.distance+.01<a.length())return null}var l=e.clone().project(this.camera);if(Math.abs(l.z)>1)return null;var u=this.renderer.getSize(new d.Vector2),c=u.x*this.scissor.width,f=u.y*this.scissor.height,A=u.x*this.scissor.left+(l.x+1)/2*c,m=u.y*(1-this.scissor.bottom-this.scissor.height)+(-l.y+1)/2*f;return new d.Vector2(A,m)},t.prototype.getRenderObjects=function(e){vi.multiplyMatrices(this.camera.projectionMatrix,this.camera.matrixWorldInverse),pi.setFromProjectionMatrix(vi),e||(e=this.scene);var r=[];return e.traverseVisible(function(i){(i instanceof d.Mesh||i instanceof d.Line||i instanceof d.Points)&&(i instanceof d.ImmediateRenderObject||!i.frustumCulled||pi.intersectsObject(i))&&r.push(i)}),r},t.prototype.getCurrentState=function(){return L(L({},this.getPose()),{mode:this.currentMode,workCode:this.pano.workCode,panoIndex:this.pano.panoIndex})},t.prototype.setState=function(e,r,i){var a,o,s,l,u,c,f,A,m,h;r===void 0&&(r=!1),i===void 0&&(i=!0),e=Object.assign({},e),e.offset&&!(e instanceof d.Vector3)&&(e.offset=new d.Vector3(e.offset.x,e.offset.y,e.offset.z));var p;typeof e.panoIndex=="number"&&(e.workCode?p={workCode:e.workCode,panoIndex:e.panoIndex}:p={workCode:(o=(a=this.work)===null||a===void 0?void 0:a.workCode)!==null&&o!==void 0?o:"",panoIndex:e.panoIndex});var y=(s=e.mode)!==null&&s!==void 0?s:this.state.mode,v,g,x,b,w;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 E={workCode:p==null?void 0:p.workCode,panoIndex:p==null?void 0:p.panoIndex};typeof e.longitude=="number"&&(E.longitude=e.longitude),typeof e.latitude=="number"&&(E.latitude=e.latitude),typeof e.fov=="number"&&(E.fov=e.fov),typeof e.distance=="number"&&(E.distance=e.distance),e.offset instanceof d.Vector3&&(E.offset=e.offset);var I=L(L({initial:{state:E,currentState:this.getCurrentState(),duration:this.modeChangeDuration,effect:"fly",userAction:!1}},this.commonParams()),this.controllerInits[y]),M=Bt[y].initAnimationEndState(I);v=M.longitude,g=M.latitude,x=M.fov,b=M.offset,w=M.distance}else v=(l=e.longitude)!==null&&l!==void 0?l:this.state.longitude,g=(u=e.latitude)!==null&&u!==void 0?u:this.state.latitude,x=(c=e.fov)!==null&&c!==void 0?c:this.state.fov,b=(f=e.offset)!==null&&f!==void 0?f:this.state.offset,w=(A=e.distance)!==null&&A!==void 0?A:this.state.distance;var k={workCode:(p!=null?p:this.pano).workCode,panoIndex:(p!=null?p:this.pano).panoIndex,mode:y,longitude:v,latitude:g,fov:x,offset:b,distance:w};this.emit("state.set",X("state.set",{userAction:i,state:k})),Nr(this.state,k)||(this.controller&&k.mode==="VRPanorama"&&k.mode!==this.state.mode?(or(this.state,k),this.changeMode("VRPanorama")):this.controller&&k.mode==="XRPanorama"&&k.mode!==this.state.mode?(or(this.state,k),this.changeMode("XRPanorama")):(or(this.state,k),this.controller&&i&&(this.controller.userAction=!1),r&&this.state.mode===k.mode&&(this.syncingState=this.syncState(Ee(),0,r),this.syncingState&&((m=this.controller)===null||m===void 0||m.updateTime(Ee(),0),this.syncingState=!1)),this.emit("state.change",X("state.change",{userAction:i,state:this.state})),(h=this.analysis)===null||h===void 0||h.state(this.works,this.state)))},t.prototype.aroundScissor=function(e){if(this.renderer){if(this.state.mode==="XRPanorama"){e();return}var r=new d.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 a=Math.floor(r.x*this.scissor.left),o=Math.floor(r.y*this.scissor.bottom),s=Math.floor(r.x*this.scissor.width),l=Math.floor(r.y*this.scissor.height);this.renderer.setViewport(a,o,s,l),this.renderer.setScissor(a,o,s,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 a=this.stateSynced;if(this.stateSynced=!1,this.works.length===0||!this.controller)return!1;if(this.state.mode!==this.currentMode){var o={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,o,this.modeChangeDuration,this.controller.userAction),!0}if(!this.controller.isReady())return!1;if(this.controller instanceof Bt.Model){if(wi(this.camera.pose.offset,this.state.offset)){var s={longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset};return this.controller.moveToPosition(this.state.offset,L(L({},s),{duration:i?0:void 0}),!1),!0}}else{var l={workCode:this.state.workCode,panoIndex:this.state.panoIndex};if(!Zt(l,this.pano)&&"moveToPano"in this.controller&&typeof this.controller.moveToPano=="function"){var s={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,s,!1),!0}}if(this.controller instanceof Bt.Floorplan||this.controller instanceof Bt.Topview||this.controller instanceof Bt.Mapview){var u=1,c=.2,f=.2,A=Math.PI/45,m=i?this.state.fov:va(this.camera.pose.fov,this.state.fov,u),h=Math.abs(this.camera.pose.distance-this.state.distance),p=h>f*15?h/15:c,y=i?this.state.distance:va(this.camera.pose.distance,this.state.distance,p),v=this.camera.pose.offset.distanceTo(this.state.offset),g=v>f*15?v/15:f,x=i?new d.Vector3().copy(this.state.offset):Th(this.camera.pose.offset,this.state.offset,g),b=i?{longitude:this.state.longitude,latitude:this.state.latitude}:Ls({longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},{longitude:this.state.longitude,latitude:this.state.latitude},A),w=b.longitude,E=b.latitude;if(kt(m,this.camera.pose.fov)||wi(x,this.camera.pose.offset)||kt(y,this.camera.pose.distance)||kt(w,this.camera.pose.longitude,Math.PI*2)||kt(E,this.camera.pose.latitude)){var I={x:x.x,y:x.y,z:x.z},M={fov:m};return Object.assign(I,{distance:y}),Object.assign(M,{longitude:w,latitude:E}),this.controller.stopMomentumMovement(),this.controller.cameraMotion.set(M,0).catch(D),this.controller.locationMotion.set(I,0).catch(D),!0}}else{var k=1,B=Math.PI/45,m=i?this.state.fov:va(this.camera.pose.fov,this.state.fov,k),C=i?{longitude:this.state.longitude,latitude:this.state.latitude}:Ls({longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},{longitude:this.state.longitude,latitude:this.state.latitude},B),w=C.longitude,E=C.latitude,y=this.state.distance,x=new d.Vector3().copy(this.state.offset);if(kt(y,this.camera.pose.distance)&&(this.state.distance=this.camera.pose.distance),wi(x,this.camera.pose.offset)&&(this.state.offset=this.camera.pose.offset.clone()),kt(w,this.camera.pose.longitude,Math.PI*2)||kt(E,this.camera.pose.latitude)||kt(m,this.camera.pose.fov))return this.controller.stopMomentumMovement(),this.controller.cameraMotion.set({longitude:w,latitude:E,fov:m},0).catch(D),!0}if(this.stateSynced=!0,a===!1&&this.emit("state.synced",X("state.synced",{userAction:!1,state:this.state})),this.readyCallbacks.length&&this.stateSynced){var T=this.currentMode,O=T===t.Mode.Floorplan||T===t.Mode.Topview||T===t.Mode.Mapview||T===t.Mode.Model;if(!O||this.models.loaded){var P=this.readyCallbacks.slice();this.readyCallbacks.length=0;for(var F=0,V=P;F<V.length;F++){var z=V[F];this.controller instanceof Bt.Panorama&&z.tile===!0&&!this.controller.isTileReady()?this.readyCallbacks.push(z):z()}}}return!1},t.prototype.ready=function(e){var r=this;return e===void 0&&(e={}),new Promise(function(i){var a;r.readyCallbacks.push(Object.assign(i,{tile:(a=e.tile)!==null&&a!==void 0?a:!1}))})},t.prototype.requestFullscreen=function(){var e;if(Vn){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,a=[],o=function(y){var v=s.models.filter(function(x){var b;return((b=x.work)===null||b===void 0?void 0:b.workCode)===y.workCode})[0];if(v)v.work=y,a.push(v);else{var g=new Ka({onError:function(x){i.emit("model.error",X("model.error",{work:y,model:g,error:x})),i.throwError(x)},onShownFloorChange:function(x){i.emit("model.changeShownFloor",X("model.changeShownFloor",{work:y,model:g,error:null}))},onLoad:function(){i.emit("model.load",X("model.load",{work:y,model:g,error:null}))}});a.push(g),s.emit("model.request",X("model.request",{work:y,model:g,error:null})),g.load(y,{textureOptions:s.textureOptions,"3d-tiles":r["3d-tiles"]})}},s=this,l=0,u=e;l<u.length;l++){var c=u[l];o(c)}if(this.models.length>0){for(var f=0,A=this.models;f<A.length;f++){var m=A[f];a.indexOf(m)===-1&&this.lastModels.push(m)}this.models.length=0}for(var h=0,p=a;h<p.length;h++){var m=p[h];this.models.push(m)}return this.renderer&&(this.models.loaded=!1),new Promise(function(y){i.on("models.load",function(){y()})})},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,modelScene:this.modelScene,modelRenderTarget:this.modelRenderTarget}},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 a=Bt[e];this.currentMode=e;for(var o=new a(r),s=function(m){o.on(m,function(){for(var h=[],p=0;p<arguments.length;p++)h[p]=arguments[p];var y=i.emit.apply(i,bt([m],h,!1));if(y)return!1})},l=0,u=qu;l<u.length;l++){var c=u[l];s(c)}{var f=Bt[e].initAnimationEndState(r),A=r.initial.userAction;Nr(this.state,f)||(or(this.state,f),this.emit("state.change",X("state.change",{userAction:A,state:this.state}))),this.emit("currentState.change",X("currentState.change",{userAction:A,state:this.getCurrentState()}))}return o.on("camera.update",function(m){var h;if(i.controller){var p=i.controller.getTargetState();m.userAction&&i.syncingState===!1&&i.state.mode===p.mode&&!Nr(i.state,p)&&(or(i.state,p),i.emit("state.change",X("state.change",{userAction:m.userAction,state:i.state})),(h=i.analysis)===null||h===void 0||h.state(i.works,i.state))}i.emit("currentState.change",X("currentState.change",{userAction:m.userAction,state:i.getCurrentState()}))}),o.on("initAnimation.start",function(m){var h,p=m.state,y=m.userAction;y&&i.state.mode===p.mode&&!Nr(i.state,p)&&(or(i.state,p),i.emit("state.change",X("state.change",{userAction:y,state:i.state})),(h=i.analysis)===null||h===void 0||h.state(i.works,i.state))}),o.on("initAnimation.end",function(m){var h,p=m.state,y=m.userAction;y&&i.state.mode===p.mode&&!Nr(i.state,p)&&(or(i.state,p),i.emit("state.change",X("state.change",{userAction:y,state:i.state})),(h=i.analysis)===null||h===void 0||h.state(i.works,i.state))}),o.on("pano.moveTo",function(m){var h,p=m.state,y=m.userAction;i.pano={workCode:p.workCode,panoIndex:p.panoIndex},y&&i.state.mode===p.mode&&!Nr(i.state,p)&&(or(i.state,p),i.emit("state.change",X("state.change",{userAction:y,state:i.state})),(h=i.analysis)===null||h===void 0||h.state(i.works,i.state))}),o.on("pano.arrived",function(m){var h,p=m.state,y=m.userAction;y&&i.state.mode===p.mode&&!Nr(i.state,p)&&(or(i.state,p),i.emit("state.change",X("state.change",{userAction:y,state:i.state})),(h=i.analysis)===null||h===void 0||h.state(i.works,i.state))}),o.on("pano.cancel",function(m){var h,p=m.state,y=m.userAction;y&&i.state.mode===p.mode&&!Nr(i.state,p)&&(or(i.state,p),i.emit("state.change",X("state.change",{userAction:y,state:i.state})),(h=i.analysis)===null||h===void 0||h.state(i.works,i.state))}),o.on("pano.moveTo",function(m){var h=m.userAction;i.emit("currentState.change",X("currentState.change",{userAction:h,state:i.getCurrentState()}))}),o.on("pano.request",function(m){i.emit("pano.request",m),m.defaultPrevented||i.moveToPano(m.state,m.options,m.userAction)}),o.on("vr.requestExit",function(){i.currentMode===t.Mode.VRPanorama&&(i.exitFullscreen(),i.changeMode(t.Mode.Panorama))}),o.on("error",function(m){return i.throwError(m)}),o},t.prototype.removeEventListeners=function(){},t.prototype.getWorkResources=function(e){var r=this,i,a=this.models.find(function(u){return u.work===e}),o=((i=a==null?void 0:a.viewLayers)!==null&&i!==void 0?i:[]).map(function(u){return u.scene});function s(u){var c=/([0-9a-z\.\_\-]+)([\?\#].*)?$/i.exec(u);if(c){var f=String(c[1]).trim().split(".").slice(1).reverse()[0];if(f)return f}return""}function l(u,c){c===void 0&&(c=0);var f=[];if(u.content&&u.content.uri){var A=s(u.content.uri);if(A==="json"){var m=It(u.content.uri,{key:"model.".concat(c)});f.push({url:m,type:"tileset"})}else if(A==="at3d"&&u.extras[A]){var m=u.content.uri;f.push({url:m,type:"model"});for(var h=u.extras[A],p=h.textureArray,y=h.textureOptions,v=0,g=p;v<g.length;v++){var x=g[v],b=L({key:"texture.pbm"},Vt(y,["format","quality","size","sharpen","mappings"])),w=rn(x,y==null?void 0:y.transform,b);f.push({url:w,type:"texture"})}}else{var m=It(u.content.uri,{key:"model.".concat(c)});f.push({url:m,type:"model"})}}if(u.children)for(var E=0;E<u.children.length;E++){var I=u.children[E];f.push.apply(f,l(I,E))}return f}return Promise.all(o.map(function(u){return u.loadAllTilesets()})).then(function(){for(var u=[],c=["right","left","up","down","front","back"],f=0,A=e.observers;f<A.length;f++){for(var m=A[f],h=0,p=c;h<p.length;h++){var y=p[h],v=L({key:"pano.".concat(ze(m.pano),".").concat(y)},Vt(r.imageOptions,["size","format","quality","mappings"])),g=m.images[y],x=rn(g,r.imageOptions.transform,v);u.push({url:x,type:"pano"})}if(m.images.tiles)for(var b=0,w=m.images.tiles;b<w.length;b++)for(var E=w[b],I=0,M=c;I<M.length;I++)for(var y=M[I],k=E.size,B=Math.pow(2,E.level),C=1/B,T=0;T<B;T++)for(var O=0;O<B;O++){var P="".concat(m.panoId,".").concat(y,".").concat(E.level,".").concat(T,".").concat(O),v=L(L({key:"pano_tile.".concat(P)},Vt(r.imageOptions,["format","size","quality","sharpen","mappings"])),{size:E.scale>=1?void 0:k*C*E.scale,cut:[k*C*O,k*C*T,k*C,k*C]}),x=rn(E[y],r.imageOptions.transform,v);u.push({url:x,type:"pano_tile"})}}for(var F=0,V=o;F<V.length;F++){var z=V[F];z.tileset.url&&u.push({url:z.tileset.url,type:"model"}),u.push.apply(u,l(z.tileset.root))}return u})},t.Mode={Panorama:"Panorama",Model:"Model",Floorplan:"Floorplan",Topview:"Topview",Mapview:"Mapview",VRPanorama:"VRPanorama",XRPanorama:"XRPanorama"},t.Line=null,t}(Ni),_a={instances:{},constructor:Ku};typeof window!="undefined"&&Object.assign(window,{__FIVE_DEBUG__:_a});var Bv=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 a(){i(),e.textContent="VR NOT SUPPORTED"}function o(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",o(e),navigator.xr.isSessionSupported("immersive-vr").then(function(l){l?r():a()}),e;var s=document.createElement("a");return window.isSecureContext===!1?(s.href=document.location.href.replace(/^http:/,"https:"),s.innerHTML="WEBXR NEEDS HTTPS"):(s.href="https://immersiveweb.dev/",s.innerHTML="WEBXR NOT AVAILABLE"),s.style.left="calc(50% - 90px)",s.style.width="180px",s.style.textDecoration="none",o(s),s},n}();exports.AnimationFrameLoop=lt;exports.Camera=zi;exports.Fetcher=io;exports.Five=Ku;exports.InternalWebGLRenderer=$r;exports.IntersectMesh=Di;exports.Model=Ka;exports.ModelViewLayer=bi;exports.NetworkSubscribe=v0;exports.PBMContainer=w0;exports.PBMGroup=Bc;exports.PBMMesh=Dt;exports.PBMMeshMaterial=Tn;exports.PROXY_CONTROLLER_EVENT_NAMES=qu;exports.PanoCircleMesh=wu;exports.PanoCircleMeshCustom=bh;exports.PanoCircleMeshSolid=Ah;exports.Scene=S0;exports.Subscribe=Ni;exports.TextureLoader=ti;exports.Tile=so;exports.Tile3DModel=en;exports.TileCache=F0;exports.TileCubeTextureTarget=Ne;exports.TileNode=j0;exports.TileRequestScheduler=k0;exports.Tileset=gn;exports.Work=vo;exports.XRButton=Bv;exports.defaultImageURLTransform=It;exports.defaultPbmParameters=we;exports.getViewportScale=Hu;exports.imageSupport=g0;exports.isPanoId=b0;exports.loadAt3d=fu;exports.loadB3dm=$0;exports.loadDome=hu;exports.loadDomez=vu;exports.loadGlb=Au;exports.loadPbm=lu;exports.loadPnts=tu;exports.panoEqual=Zt;exports.panoParse=vt;exports.panoStringify=ze;exports.parseWork=Hn;