@realsee/five 6.0.0-alpha.48 → 6.0.0-alpha.49
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/assets/search.js +1 -1
- package/docs/classes/five.AnimationFrameLoop.html +1 -1
- package/docs/classes/five.BVH.html +1 -1
- package/docs/classes/five.BVHIntersect.html +1 -1
- package/docs/classes/five.BVHNode.html +1 -1
- package/docs/classes/five.BVHVector3.html +1 -1
- package/docs/classes/five.BoxBoundingVolume.html +1 -1
- package/docs/classes/five.Camera.html +1 -1
- package/docs/classes/five.CullingVolume.html +1 -1
- package/docs/classes/five.Fetcher.html +1 -1
- package/docs/classes/five.Five.html +19 -19
- package/docs/classes/five.InternalWebGLRenderer.html +1 -1
- package/docs/classes/five.IntersectMesh.html +1 -1
- package/docs/classes/five.Model.html +19 -17
- package/docs/classes/five.NetworkAbortError.html +1 -1
- package/docs/classes/five.NetworkFirbiddenError.html +1 -1
- package/docs/classes/five.NetworkResponseError.html +1 -1
- package/docs/classes/five.NetworkSubscribe.html +1 -1
- package/docs/classes/five.NetworkTimeoutError.html +1 -1
- package/docs/classes/five.PBMContainer.html +1 -1
- package/docs/classes/five.PBMGroup.html +1 -1
- package/docs/classes/five.PBMMesh.html +1 -1
- package/docs/classes/five.PBMMeshMaterial.html +1 -1
- package/docs/classes/five.PanoCircleMesh.html +1 -1
- package/docs/classes/five.PanoCircleMeshCustom.html +1 -1
- package/docs/classes/five.PanoCircleMeshSolid.html +1 -1
- package/docs/classes/five.RegionBoundingVolume.html +1 -1
- package/docs/classes/five.RequestScheduler.html +1 -1
- package/docs/classes/five.Scene.html +1 -1
- package/docs/classes/five.SphereBoundingVolume.html +1 -1
- package/docs/classes/five.Subscribe.html +1 -1
- package/docs/classes/five.TextureLoader.html +1 -1
- package/docs/classes/five.Tile.html +1 -1
- package/docs/classes/five.Tile3DModel.html +1 -1
- package/docs/classes/five.TileCubeTextureTarget.html +1 -1
- package/docs/classes/five.TileNode.html +1 -1
- package/docs/classes/five.Tileset.html +1 -1
- package/docs/classes/five.TilesetCache.html +1 -1
- package/docs/classes/five.TilesetTraverser.html +1 -1
- package/docs/classes/five.Work.html +1 -1
- package/docs/classes/five.XRButton.html +1 -1
- package/docs/classes/gltf_loader.DDSLoader.html +1 -1
- package/docs/classes/gltf_loader.DRACOLoader.html +1 -1
- package/docs/classes/gltf_loader.GLTFLoader.html +1 -1
- package/docs/classes/gltf_loader.GLTFObject.html +1 -1
- package/docs/classes/gltf_loader.GLTFParser.html +1 -1
- package/docs/classes/gltf_loader.THREEGLTFLoader.html +1 -1
- package/docs/classes/line.Line.html +1 -1
- package/docs/classes/line.LineGeometry.html +1 -1
- package/docs/classes/line.LineMaterial.html +1 -1
- package/docs/classes/line.LineSegmentsGeometry.html +1 -1
- package/docs/classes/line.THREE_Line2.html +1 -1
- package/docs/classes/line.THREE_LineSegments2.html +1 -1
- package/docs/classes/react.Store.html +1 -1
- package/docs/classes/sticker.Sticker.html +1 -1
- package/docs/classes/vfx.Airflow.html +1 -1
- package/docs/classes/vfx.Flame.html +1 -1
- package/docs/classes/vfx.Particle.html +1 -1
- package/docs/classes/vfx.SpotLight.html +1 -1
- package/docs/enums/five.VolumePlaneIntersect.html +1 -1
- package/docs/index.html +1 -1
- package/docs/interfaces/five.AddableObject.html +1 -1
- package/docs/interfaces/five.AjaxOptions.html +1 -1
- package/docs/interfaces/five.AnimationFrame.html +1 -1
- package/docs/interfaces/five.BaseEvent.html +1 -1
- package/docs/interfaces/five.BoundingVolume.html +1 -1
- package/docs/interfaces/five.CameraPose.html +1 -1
- package/docs/interfaces/five.ClipperParameter.html +1 -1
- package/docs/interfaces/five.DepthPanoramaControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.EventCallback.html +13 -11
- package/docs/interfaces/five.FiveInitArgs.html +1 -1
- package/docs/interfaces/five.FloorplanControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.GestureEvent.html +1 -1
- package/docs/interfaces/five.ImageOptions.html +1 -1
- package/docs/interfaces/five.ImageURLMappings.html +1 -1
- package/docs/interfaces/five.ImageURLOptions.html +1 -1
- package/docs/interfaces/five.IntersectEvent.html +1 -1
- package/docs/interfaces/five.IntersectMeshInterface.html +1 -1
- package/docs/interfaces/five.Intersection.html +1 -1
- package/docs/interfaces/five.MapviewControllerCustomInitArgs.html +6 -6
- package/docs/interfaces/five.ModeChangeEvent.html +1 -1
- package/docs/interfaces/five.ModelControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.ModelEvent.html +1 -1
- package/docs/interfaces/five.ModelLodOptions.html +1 -1
- package/docs/interfaces/five.ModelsEvent.html +1 -1
- package/docs/interfaces/five.MotionKeyframe.html +1 -1
- package/docs/interfaces/five.MovePanoOptions.html +1 -1
- package/docs/interfaces/five.NetworkOptions.html +1 -1
- package/docs/interfaces/five.NetworkResourceEvent.html +1 -1
- package/docs/interfaces/five.ObjectEvent.html +1 -1
- package/docs/interfaces/five.PBMPanoPicture.html +1 -1
- package/docs/interfaces/five.PBMParameters.html +1 -1
- package/docs/interfaces/five.PanoCircleMeshCustomOptions.html +1 -1
- package/docs/interfaces/five.PanoCircleMeshInterface.html +1 -1
- package/docs/interfaces/five.PanoCircleMeshOptions.html +1 -1
- package/docs/interfaces/five.PanoCircleMeshSolidOptions.html +1 -1
- package/docs/interfaces/five.PanoEvent.html +1 -1
- package/docs/interfaces/five.PanoTextureEvent.html +1 -1
- package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.Pose.html +1 -1
- package/docs/interfaces/five.RenderEvent.html +1 -1
- package/docs/interfaces/five.Scissor.html +1 -1
- package/docs/interfaces/five.State.html +1 -1
- package/docs/interfaces/five.StateEvent.html +1 -1
- package/docs/interfaces/five.SubscribeMixinType.emit.html +1 -1
- package/docs/interfaces/five.SubscribeMixinType.hasListener.html +1 -1
- package/docs/interfaces/five.SubscribeMixinType.off.html +1 -1
- package/docs/interfaces/five.SubscribeMixinType.on.html +1 -1
- package/docs/interfaces/five.SubscribeMixinType.once.html +1 -1
- package/docs/interfaces/five.SubscribeMixinType.waitUnitl.html +1 -1
- package/docs/interfaces/five.TextureOptions.html +1 -1
- package/docs/interfaces/five.Tile3DModelLoaderOptions.html +2 -2
- package/docs/interfaces/five.TileCubeNode.html +1 -1
- package/docs/interfaces/five.TileCubeTree.html +1 -1
- package/docs/interfaces/five.TileHeader.html +1 -1
- package/docs/interfaces/five.TilesetHeader.html +1 -1
- package/docs/interfaces/five.TilesetOptions.html +1 -1
- package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.WebXRAxesParams.html +1 -1
- package/docs/interfaces/five.WebXRControllerParams.html +1 -1
- package/docs/interfaces/five.WorkCubeImage.html +1 -1
- package/docs/interfaces/five.WorkImage.html +1 -1
- package/docs/interfaces/five.WorkInitial.html +1 -1
- package/docs/interfaces/five.WorkModel.html +1 -1
- package/docs/interfaces/five.WorkObserver.html +1 -1
- package/docs/interfaces/five.WorkOptions.html +1 -1
- package/docs/interfaces/five.WorkResolvedObserver.html +1 -1
- package/docs/interfaces/five.WorkTile.html +1 -1
- package/docs/interfaces/five.WorkVideo.html +1 -1
- package/docs/interfaces/five.WorksEvent.html +1 -1
- package/docs/interfaces/five.XRControllerEvent.html +1 -1
- package/docs/interfaces/five.XRGestureEvent.html +1 -1
- package/docs/interfaces/five.XRPanoramaControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.XRSessionEvent.html +1 -1
- package/docs/interfaces/gltf_loader.DDS.html +1 -1
- package/docs/interfaces/gltf_loader.GLTF.html +1 -1
- package/docs/interfaces/gltf_loader.GLTFReference.html +1 -1
- package/docs/interfaces/gltf_loader.THREEGLTF.html +1 -1
- package/docs/interfaces/react.FiveActionReactCallbacks.html +1 -1
- package/docs/interfaces/react.FiveInjectionTypes.html +4 -4
- package/docs/interfaces/react.PropTypeOfFiveFeatures.html +1 -1
- package/docs/interfaces/sticker.IntersectionLike.html +1 -1
- package/docs/interfaces/vfx.ParticleArgs.html +1 -1
- package/docs/interfaces/vfx.ParticleTweenKeyframe.html +1 -1
- package/docs/interfaces/vue.FiveActionVueCallbacks.html +1 -1
- package/docs/modules/five.SubscribeMixinType.html +1 -1
- package/docs/modules/five.html +4 -4
- package/docs/modules/gltf_loader.html +1 -1
- package/docs/modules/line.html +1 -1
- package/docs/modules/react.html +1 -1
- package/docs/modules/sticker.html +1 -1
- package/docs/modules/vfx.html +1 -1
- package/docs/modules/vue.html +1 -1
- package/docs/modules.html +1 -1
- package/five/index.d.ts +28 -7
- package/five/index.js +4 -4
- package/gltf-loader/index.js +3 -3
- package/line/index.js +3 -3
- package/package.json +1 -1
- package/react/index.js +2 -2
- package/sticker/index.js +3 -3
- package/umd/five-gltf-loader.js +1 -1
- package/umd/five-line.js +1 -1
- package/umd/five-sticker.js +1 -1
- package/umd/five.js +1 -1
- package/vfx/index.js +2 -2
- package/vue/index.js +2 -2
package/five/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @realsee/five
|
|
3
3
|
*
|
|
4
|
-
* Generated: 2023-11-
|
|
5
|
-
* Version: 6.0.0-alpha.
|
|
4
|
+
* Generated: 2023-11-23
|
|
5
|
+
* Version: 6.0.0-alpha.49
|
|
6
6
|
*
|
|
7
7
|
* Terms:
|
|
8
8
|
* Realsee SDK License Agreement
|
|
@@ -354,9 +354,9 @@ function(){if(this.s<0){if(1==this.t)return this[0]-this.DV;if(0==this.t)return-
|
|
|
354
354
|
var x="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",w="=";function E(e){var t,r,n,i="",o=0;for(t=0;t<e.length&&e.charAt(t)!=w;++t)(n=x.indexOf(e.charAt(t)))<0||(0==o?(i+=v(n>>2),r=3&n,o=1):1==o?(i+=v(r<<2|n>>4),r=15&n,o=2):2==o?(i+=v(r),i+=v(n>>2),r=3&n,o=3):(i+=v(r<<2|n>>4),i+=v(15&n),o=0));return 1==o&&(i+=v(r<<2)),i}
|
|
355
355
|
/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ */function M(e,t){return new c(e,t)}function C(e,t,r){for(var n="",i=0;n.length<t;)n+=r(String.fromCharCode.apply(String,e.concat([(4278190080&i)>>24,(16711680&i)>>16,(65280&i)>>8,255&i]))),i+=1;return n}function S(){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 I(e,t,r){for(var n="",i=0;n.length<t;)n+=r(e+String.fromCharCode.apply(String,[(4278190080&i)>>24,(16711680&i)>>16,(65280&i)>>8,255&i])),i+=1;return n}function P(e){return E(function(e){return e.length%4==2?e+="==":e.length%4==3&&(e+="="),(e=e.replace(/-/g,"+")).replace(/_/g,"/")}(e))}function T(e){return decodeURIComponent(function(e){return e.replace(/(..)/g,"%$1")}(e))}function B(e){for(var t="",r=0;r<e.length-1;r+=2)t+=String.fromCharCode(parseInt(e.substr(r,2),16));return t}function R(e){for(var t="",r=0;r<e.length;r++)t+=("0"+e.charCodeAt(r).toString(16)).slice(-2);return t}function k(e){return function(e){var t,r,n="";for(t=0;t+3<=e.length;t+=3)r=parseInt(e.substring(t,t+3),16),n+=x.charAt(r>>6)+x.charAt(63&r);for(t+1==e.length?(r=parseInt(e.substring(t,t+1),16),n+=x.charAt(r<<2)):t+2==e.length&&(r=parseInt(e.substring(t,t+2),16),n+=x.charAt(r>>2)+x.charAt((3&r)<<4));(3&n.length)>0;)n+=w;return n}(e)}function O(e,t){var r=function(e){var t=k(e).replace(/(.{64})/g,"$1\r\n");return t.replace(/\r\n$/,"")}(e);return"-----BEGIN "+t+"-----\r\n"+r+"\r\n-----END "+t+"-----\r\n"}function F(e,t){if(-1==e.indexOf("-----BEGIN "))throw"can't find PEM header: "+t;return function(e){return E(e.replace(/[^0-9A-Za-z\/+=]*/g,""))}(e=void 0!==t?(e=e.replace(new RegExp("^[^]*-----BEGIN "+t+"-----"),"")).replace(new RegExp("-----END "+t+"-----[^]*$"),""):(e=e.replace(/^[^]*-----BEGIN [^-]+-----/,"")).replace(/-----END [^-]+-----[^]*$/,""))}function D(e){var t="malformed hex value";if(!e.match(/^([0-9A-Fa-f][0-9A-Fa-f]){1,}$/))throw t;if(8!=e.length)return 32==e.length?function(e){if(!e.match(/^[0-9A-Fa-f]{32}$/))throw"malformed IPv6 address octet";for(var t=(e=e.toLowerCase()).match(/.{1,4}/g),r=0;r<8;r++)t[r]=t[r].replace(/^0+/,""),""==t[r]&&(t[r]="0");var n=(e=":"+t.join(":")+":").match(/:(0:){2,}/g);if(null===n)return e.slice(1,-1);var i="";for(r=0;r<n.length;r++)n[r].length>i.length&&(i=n[r]);return(e=e.replace(i,"::")).slice(1,-1)}(e):e;try{return parseInt(e.substr(0,2),16)+"."+parseInt(e.substr(2,2),16)+"."+parseInt(e.substr(4,2),16)+"."+parseInt(e.substr(6,2),16)}catch(e){throw t}}function Q(e){return!(e.length%2!=0||!e.match(/^[0-9a-f]+$/)&&!e.match(/^[0-9A-F]+$/))}function L(e){return e.length%2==1?"0"+e:e.substr(0,1)>"7"?"00"+e:e}S.prototype.doPublic=function(e){return e.modPowInt(this.e,this.n)},S.prototype.setPublic=function(e,t){if(this.isPublic=!0,this.isPrivate=!1,"string"!=typeof e)this.n=e,this.e=t;else{if(!(null!=e&&null!=t&&e.length>0&&t.length>0))throw"Invalid RSA public key";this.n=M(e,16),this.e=parseInt(t,16)}},S.prototype.encrypt=function(e){var t=function(e,t){if(t<e.length+11)throw"Message too long for RSA";for(var r=new Array,n=e.length-1;n>=0&&t>0;){var i=e.charCodeAt(n--);i<128?r[--t]=i:i>127&&i<2048?(r[--t]=63&i|128,r[--t]=i>>6|192):(r[--t]=63&i|128,r[--t]=i>>6&63|128,r[--t]=i>>12|224)}r[--t]=0;for(var o=new SecureRandom,a=new Array;t>2;){for(a[0]=0;0==a[0];)o.nextBytes(a);r[--t]=a[0]}return r[--t]=2,r[--t]=0,new c(r)}(e,this.n.bitLength()+7>>3);if(null==t)return null;var r=this.doPublic(t);if(null==r)return null;var n=r.toString(16);return 0==(1&n.length)?n:"0"+n},S.prototype.encryptOAEP=function(e,t,r){var n=function(e,t,r,n){var i=s.crypto.MessageDigest,o=s.crypto.Util,a=null;if(r||(r="sha1"),"string"==typeof r&&(a=i.getCanonicalAlgName(r),n=i.getHashLength(a),r=function(e){return B(o.hashHex(R(e),a))}),e.length+2*n+2>t)throw"Message too long for RSA";var l,u="";for(l=0;l<t-e.length-2*n-2;l+=1)u+="\0";var d=r("")+u+""+e,p=new Array(n);(new SecureRandom).nextBytes(p);var h=C(p,d.length,r),f=[];for(l=0;l<d.length;l+=1)f[l]=d.charCodeAt(l)^h.charCodeAt(l);var v=C(f,p.length,r),m=[0];for(l=0;l<p.length;l+=1)m[l+1]=p[l]^v.charCodeAt(l);return new c(m.concat(f))}(e,this.n.bitLength()+7>>3,t,r);if(null==n)return null;var i=this.doPublic(n);if(null==i)return null;var o=i.toString(16);return 0==(1&o.length)?o:"0"+o},S.prototype.type="RSA",S.prototype.doPrivate=function(e){if(null==this.p||null==this.q)return e.modPow(this.d,this.n);for(var t=e.mod(this.p).modPow(this.dmp1,this.p),r=e.mod(this.q).modPow(this.dmq1,this.q);t.compareTo(r)<0;)t=t.add(this.p);return t.subtract(r).multiply(this.coeff).mod(this.p).multiply(this.q).add(r)},S.prototype.setPrivate=function(e,t,r){if(this.isPrivate=!0,"string"!=typeof e)this.n=e,this.e=t,this.d=r;else{if(!(null!=e&&null!=t&&e.length>0&&t.length>0))throw"Invalid RSA private key";this.n=M(e,16),this.e=parseInt(t,16),this.d=M(r,16)}},S.prototype.setPrivateEx=function(e,t,r,n,i,o,a,s){if(this.isPrivate=!0,this.isPublic=!1,null==e)throw"RSASetPrivateEx N == null";if(null==t)throw"RSASetPrivateEx E == null";if(0==e.length)throw"RSASetPrivateEx N.length == 0";if(0==t.length)throw"RSASetPrivateEx E.length == 0";if(!(null!=e&&null!=t&&e.length>0&&t.length>0))throw"Invalid RSA private key in RSASetPrivateEx";this.n=M(e,16),this.e=parseInt(t,16),this.d=M(r,16),this.p=M(n,16),this.q=M(i,16),this.dmp1=M(o,16),this.dmq1=M(a,16),this.coeff=M(s,16)},S.prototype.decrypt=function(e){if(e.length!=Math.ceil(this.n.bitLength()/4))throw new Error("wrong ctext length");var t=M(e,16),r=this.doPrivate(t);return null==r?null:
|
|
356
356
|
/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ */
|
|
357
|
-
function(e,t){for(var r=e.toByteArray(),n=0;n<r.length&&0==r[n];)++n;if(r.length-n!=t-1||2!=r[n])return null;for(++n;0!=r[n];)if(++n>=r.length)return null;for(var i="";++n<r.length;){var o=255&r[n];o<128?i+=String.fromCharCode(o):o>191&&o<224?(i+=String.fromCharCode((31&o)<<6|63&r[n+1]),++n):(i+=String.fromCharCode((15&o)<<12|(63&r[n+1])<<6|63&r[n+2]),n+=2)}return i}(r,this.n.bitLength()+7>>3)},S.prototype.decryptOAEP=function(e,t,r){if(e.length!=Math.ceil(this.n.bitLength()/4))throw new Error("wrong ctext length");var n=M(e,16),i=this.doPrivate(n);return null==i?null:function(e,t,r,n){var i=s.crypto.MessageDigest,o=s.crypto.Util,a=null;for(r||(r="sha1"),"string"==typeof r&&(a=i.getCanonicalAlgName(r),n=i.getHashLength(a),r=function(e){return B(o.hashHex(R(e),a))}),e=e.toByteArray(),l=0;l<e.length;l+=1)e[l]&=255;for(;e.length<t;)e.unshift(0);if((e=String.fromCharCode.apply(String,e)).length<2*n+2)throw"Cipher too short";var l,c=e.substr(1,n),u=e.substr(n+1),d=I(u,n,r),p=[];for(l=0;l<c.length;l+=1)p[l]=c.charCodeAt(l)^d.charCodeAt(l);var h=I(String.fromCharCode.apply(String,p),e.length-n,r),f=[];for(l=0;l<u.length;l+=1)f[l]=u.charCodeAt(l)^h.charCodeAt(l);if((f=String.fromCharCode.apply(String,f)).substr(0,n)!==r(""))throw"Hash mismatch";var v=(f=f.substr(n)).indexOf("");if((-1!=v?f.substr(0,v).lastIndexOf("\0"):-1)+1!=v)throw"Malformed data";return f.substr(v+1)}(i,this.n.bitLength()+7>>3,t,r)},void 0!==s.lang&&s.lang||(s.lang={}),s.lang.String=function(){},s.lang.String.isHex=function(e){return Q(e)},s.lang.String.isMail=function(e){return null!==e.match(/^[A-Za-z0-9]{1}[A-Za-z0-9_.-]*@{1}[A-Za-z0-9_.-]{1,}\.[A-Za-z0-9]{1,}$/)};var N=function(e,t,r){return null==r&&(r="0"),e.length>=t?e:new Array(t-e.length+1).join(r)+e};void 0!==s.crypto&&s.crypto||(s.crypto={}),s.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:l.algo.MD5,sha1:l.algo.SHA1,sha224:l.algo.SHA224,sha256:l.algo.SHA256,sha384:l.algo.SHA384,sha512:l.algo.SHA512,ripemd160:l.algo.RIPEMD160},this.hashString=function(e,t){return new s.crypto.MessageDigest({alg:t}).digestString(e)},this.hashHex=function(e,t){return new s.crypto.MessageDigest({alg:t}).digestHex(e)},this.sha1=function(e){return this.hashString(e,"sha1")},this.sha256=function(e){return this.hashString(e,"sha256")},this.sha256Hex=function(e){return this.hashHex(e,"sha256")},this.sha512=function(e){return this.hashString(e,"sha512")},this.sha512Hex=function(e){return this.hashHex(e,"sha512")}},s.crypto.MessageDigest=function(e){this.setAlgAndProvider=function(e,t){if(null!==(e=s.crypto.MessageDigest.getCanonicalAlgName(e))&&void 0===t&&(t=s.crypto.Util.DEFAULTPROVIDER[e]),-1!=":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:".indexOf(e)&&"cryptojs"==t){try{this.md=s.crypto.Util.CRYPTOJSMESSAGEDIGESTNAME[e].create()}catch(t){throw"setAlgAndProvider hash alg set fail alg="+e+"/"+t}this.updateString=function(e){this.md.update(e)},this.updateHex=function(e){var t=l.enc.Hex.parse(e);this.md.update(t)},this.digest=function(){return this.md.finalize().toString(l.enc.Hex)},this.digestString=function(e){return this.updateString(e),this.digest()},this.digestHex=function(e){return this.updateHex(e),this.digest()}}if(-1!=":sha256:".indexOf(e)&&"sjcl"==t){try{this.md=new sjcl.hash.sha256}catch(t){throw"setAlgAndProvider hash alg set fail alg="+e+"/"+t}this.updateString=function(e){this.md.update(e)},this.updateHex=function(e){var t=sjcl.codec.hex.toBits(e);this.md.update(t)},this.digest=function(){var e=this.md.finalize();return sjcl.codec.hex.fromBits(e)},this.digestString=function(e){return this.updateString(e),this.digest()},this.digestHex=function(e){return this.updateHex(e),this.digest()}}},this.updateString=function(e){throw"updateString(str) not supported for this alg/prov: "+this.algName+"/"+this.provName},this.updateHex=function(e){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(e){throw"digestString(str) not supported for this alg/prov: "+this.algName+"/"+this.provName},this.digestHex=function(e){throw"digestHex(hex) not supported for this alg/prov: "+this.algName+"/"+this.provName},void 0!==e&&void 0!==e.alg&&(this.algName=e.alg,void 0===e.prov&&(this.provName=s.crypto.Util.DEFAULTPROVIDER[this.algName]),this.setAlgAndProvider(this.algName,this.provName))},s.crypto.MessageDigest.getCanonicalAlgName=function(e){return"string"==typeof e&&(e=(e=e.toLowerCase()).replace(/-/,"")),e},s.crypto.MessageDigest.getHashLength=function(e){var t=s.crypto.MessageDigest,r=t.getCanonicalAlgName(e);if(void 0===t.HASHLENGTH[r])throw"not supported algorithm: "+e;return t.HASHLENGTH[r]},s.crypto.MessageDigest.HASHLENGTH={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,ripemd160:20},s.crypto.Signature=function(e){var t=null;if(this._setAlgNames=function(){var e=this.algName.match(/^(.+)with(.+)$/);e&&(this.mdAlgName=e[1].toLowerCase(),this.pubkeyAlgName=e[2].toLowerCase(),"rsaandmgf1"==this.pubkeyAlgName&&"sha"==this.mdAlgName&&(this.mdAlgName="sha1"))},this._zeroPaddingOfSignature=function(e,t){for(var r="",n=t/4-e.length,i=0;i<n;i++)r+="0";return r+e},this.setAlgAndProvider=function(e,t){if(this._setAlgNames(),"cryptojs/jsrsa"!=t)throw new Error("provider not supported: "+t);if(-1!=":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:".indexOf(this.mdAlgName)){try{this.md=new s.crypto.MessageDigest({alg:this.mdAlgName})}catch(e){throw new Error("setAlgAndProvider hash alg set fail alg="+this.mdAlgName+"/"+e)}this.init=function(e,t){var r=null;try{r=void 0===t?K.getKey(e):K.getKey(e,t)}catch(e){throw"init failed:"+e}if(!0===r.isPrivate)this.prvKey=r,this.state="SIGN";else{if(!0!==r.isPublic)throw"init failed.:"+r;this.pubKey=r,this.state="VERIFY"}},this.updateString=function(e){this.md.updateString(e)},this.updateHex=function(e){this.md.updateHex(e)},this.verify=function(e){if(this.sHashHex=this.md.digest(),this.pubKey instanceof S&&"rsaandmgf1"===this.pubkeyAlgName)return this.pubKey.verifyWithMessageHashPSS(this.sHashHex,e,this.mdAlgName,this.pssSaltLen);if(this.pubKey instanceof S&&"rsa"===this.pubkeyAlgName)return this.pubKey.verifyWithMessageHash(this.sHashHex,e);throw"Signature: unsupported public key alg: "+this.pubkeyAlgName}}},this.init=function(e,t){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=e,void 0!==e&&(void 0!==e.alg&&(this.algName=e.alg,void 0===e.prov?this.provName=s.crypto.Util.DEFAULTPROVIDER[this.algName]:this.provName=e.prov,this.algProvName=this.algName+":"+this.provName,this.setAlgAndProvider(this.algName,this.provName),this._setAlgNames()),void 0!==e.psssaltlen&&(this.pssSaltLen=e.psssaltlen),void 0!==e.prvkeypem)){if(void 0!==e.prvkeypas)throw"both prvkeypem and prvkeypas parameters not supported";try{t=K.getKey(e.prvkeypem);this.init(t)}catch(e){throw"fatal error to load pem private key: "+e}}},s.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 V,z,j,U,q,_,H,G,K=(V=function(e,t,r){return z(l.AES,e,t,r)},z=function(e,t,r,n){var i=l.enc.Hex.parse(t),o=l.enc.Hex.parse(r),a=l.enc.Hex.parse(n),s={};s.key=o,s.iv=a,s.ciphertext=i;var c=e.decrypt(s,o,{iv:a});return l.enc.Hex.stringify(c)},j=function(e,t,r){return U(l.AES,e,t,r)},U=function(e,t,r,n){var i=l.enc.Hex.parse(t),o=l.enc.Hex.parse(r),a=l.enc.Hex.parse(n),s=e.encrypt(i,o,{iv:a}),c=l.enc.Hex.parse(s.toString());return l.enc.Base64.stringify(c)},q={"AES-256-CBC":{proc:V,eproc:j,keylen:32,ivlen:16},"AES-192-CBC":{proc:V,eproc:j,keylen:24,ivlen:16},"AES-128-CBC":{proc:V,eproc:j,keylen:16,ivlen:16},"DES-EDE3-CBC":{proc:function(e,t,r){return z(l.TripleDES,e,t,r)},eproc:function(e,t,r){return U(l.TripleDES,e,t,r)},keylen:24,ivlen:8},"DES-CBC":{proc:function(e,t,r){return z(l.DES,e,t,r)},eproc:function(e,t,r){return U(l.DES,e,t,r)},keylen:8,ivlen:8}},_=function(e){var t={},r=e.match(new RegExp("DEK-Info: ([^,]+),([0-9A-Fa-f]+)","m"));r&&(t.cipher=r[1],t.ivsalt=r[2]);var n=e.match(new RegExp("-----BEGIN ([A-Z]+) PRIVATE KEY-----"));n&&(t.type=n[1]);var i=-1,o=0;-1!=e.indexOf("\r\n\r\n")&&(i=e.indexOf("\r\n\r\n"),o=2),-1!=e.indexOf("\n\n")&&(i=e.indexOf("\n\n"),o=1);var a=e.indexOf("-----END");if(-1!=i&&-1!=a){var s=e.substring(i+2*o,a-o);s=s.replace(/\s+/g,""),t.data=s}return t},H=function(e,t,r){for(var n=r.substring(0,16),i=l.enc.Hex.parse(n),o=l.enc.Utf8.parse(t),a=q[e].keylen+q[e].ivlen,s="",c=null;;){var u=l.algo.MD5.create();if(null!=c&&u.update(c),u.update(o),u.update(i),c=u.finalize(),(s+=l.enc.Hex.stringify(c)).length>=2*a)break}var d={};return d.keyhex=s.substr(0,2*q[e].keylen),d.ivhex=s.substr(2*q[e].keylen,2*q[e].ivlen),d},G=function(e,t,r,n){var i=l.enc.Base64.parse(e),o=l.enc.Hex.stringify(i);return(0,q[t].proc)(o,r,n)},{version:"1.0.0",parsePKCS5PEM:function(e){return _(e)},getKeyAndUnusedIvByPasscodeAndIvsalt:function(e,t,r){return H(e,t,r)},decryptKeyB64:function(e,t,r,n){return G(e,t,r,n)},getDecryptedKeyHex:function(e,t){var r=_(e),n=r.cipher,i=r.ivsalt,o=r.data,a=H(n,t,i).keyhex;return G(o,n,a,i)},getEncryptedPKCS5PEMFromPrvKeyHex:function(e,t,r,n,i){var o="";if(void 0!==n&&null!=n||(n="AES-256-CBC"),void 0===q[n])throw"KEYUTIL unsupported algorithm: "+n;if(void 0===i||null==i){var a=function(e){var t=l.lib.WordArray.random(e);return l.enc.Hex.stringify(t)}(q[n].ivlen);i=a.toUpperCase()}var s=function(e,t,r,n){return(0,q[t].eproc)(e,r,n)}(t,n,H(n,r,i).keyhex,i);return o="-----BEGIN "+e+" PRIVATE KEY-----\r\n",o+="Proc-Type: 4,ENCRYPTED\r\n",o+="DEK-Info: "+n+","+i+"\r\n",o+="\r\n",o+=s.replace(/(.{64})/g,"$1\r\n"),o+="\r\n-----END "+e+" PRIVATE KEY-----\r\n"},parseHexOfEncryptedPKCS8:function(e){var t=W,r=t.getChildIdx,n=t.getV,i={},o=r(e,0);if(2!=o.length)throw"malformed format: SEQUENCE(0).items != 2: "+o.length;i.ciphertext=n(e,o[1]);var a=r(e,o[0]);if(2!=a.length)throw"malformed format: SEQUENCE(0.0).items != 2: "+a.length;if("2a864886f70d01050d"!=n(e,a[0]))throw"this only supports pkcs5PBES2";var s=r(e,a[1]);if(2!=a.length)throw"malformed format: SEQUENCE(0.0.1).items != 2: "+s.length;var l=r(e,s[1]);if(2!=l.length)throw"malformed format: SEQUENCE(0.0.1.1).items != 2: "+l.length;if("2a864886f70d0307"!=n(e,l[0]))throw"this only supports TripleDES";i.encryptionSchemeAlg="TripleDES",i.encryptionSchemeIV=n(e,l[1]);var c=r(e,s[0]);if(2!=c.length)throw"malformed format: SEQUENCE(0.0.1.0).items != 2: "+c.length;if("2a864886f70d01050c"!=n(e,c[0]))throw"this only supports pkcs5PBKDF2";var u=r(e,c[1]);if(u.length<2)throw"malformed format: SEQUENCE(0.0.1.0.1).items < 2: "+u.length;i.pbkdf2Salt=n(e,u[0]);var d=n(e,u[1]);try{i.pbkdf2Iter=parseInt(d,16)}catch(e){throw"malformed format pbkdf2Iter: "+d}return i},getPBKDF2KeyHexFromParam:function(e,t){var r=l.enc.Hex.parse(e.pbkdf2Salt),n=e.pbkdf2Iter,i=l.PBKDF2(t,r,{keySize:6,iterations:n});return l.enc.Hex.stringify(i)},_getPlainPKCS8HexFromEncryptedPKCS8PEM:function(e,t){var r=F(e,"ENCRYPTED PRIVATE KEY"),n=this.parseHexOfEncryptedPKCS8(r),i=K.getPBKDF2KeyHexFromParam(n,t),o={};o.ciphertext=l.enc.Hex.parse(n.ciphertext);var a=l.enc.Hex.parse(i),s=l.enc.Hex.parse(n.encryptionSchemeIV),c=l.TripleDES.decrypt(o,a,{iv:s});return l.enc.Hex.stringify(c)},getKeyFromEncryptedPKCS8PEM:function(e,t){var r=this._getPlainPKCS8HexFromEncryptedPKCS8PEM(e,t);return this.getKeyFromPlainPrivatePKCS8Hex(r)},parsePlainPrivatePKCS8Hex:function(e){var t=W,r=t.getChildIdx,n=t.getV,i={algparam:null};if("30"!=e.substr(0,2))throw new Error("malformed plain PKCS8 private key(code:001)");var o=r(e,0);if(o.length<3)throw new Error("malformed plain PKCS8 private key(code:002)");if("30"!=e.substr(o[1],2))throw new Error("malformed PKCS8 private key(code:003)");var a=r(e,o[1]);if(2!=a.length)throw new Error("malformed PKCS8 private key(code:004)");if("06"!=e.substr(a[0],2))throw new Error("malformed PKCS8 private key(code:005)");if(i.algoid=n(e,a[0]),"06"==e.substr(a[1],2)&&(i.algparam=n(e,a[1])),"04"!=e.substr(o[2],2))throw new Error("malformed PKCS8 private key(code:006)");return i.keyidx=t.getVidx(e,o[2]),i},getKeyFromPlainPrivatePKCS8PEM:function(e){var t=F(e,"PRIVATE KEY");return this.getKeyFromPlainPrivatePKCS8Hex(t)},getKeyFromPlainPrivatePKCS8Hex:function(e){var t,r=this.parsePlainPrivatePKCS8Hex(e);if("2a864886f70d010101"==r.algoid)t=new S;else if(s.crypto.DSA&&"2a8648ce380401"==r.algoid)t=new s.crypto.DSA;else{if(!s.crypto.ECDSA||"2a8648ce3d0201"!=r.algoid)throw"unsupported private key algorithm";t=new s.crypto.ECDSA}return t.readPKCS8PrvKeyHex(e),t},_getKeyFromPublicPKCS8Hex:function(e){var t,r=W.getVbyList(e,0,[0,0],"06");if("2a864886f70d010101"===r)t=new S;else if(s.crypto.DSA&&"2a8648ce380401"===r)t=new s.crypto.DSA;else{if(!s.crypto.ECDSA||"2a8648ce3d0201"!==r)throw"unsupported PKCS#8 public key hex";t=new s.crypto.ECDSA}return t.readPKCS8PubKeyHex(e),t},parsePublicRawRSAKeyHex:function(e){var t=W,r=t.getChildIdx,n=t.getV,i={};if("30"!=e.substr(0,2))throw"malformed RSA key(code:001)";var o=r(e,0);if(2!=o.length)throw"malformed RSA key(code:002)";if("02"!=e.substr(o[0],2))throw"malformed RSA key(code:003)";if(i.n=n(e,o[0]),"02"!=e.substr(o[1],2))throw"malformed RSA key(code:004)";return i.e=n(e,o[1]),i},parsePublicPKCS8Hex:function(e){var t=W,r=t.getChildIdx,n=t.getV,i={algparam:null},o=r(e,0);if(2!=o.length)throw"outer DERSequence shall have 2 elements: "+o.length;var a=o[0];if("30"!=e.substr(a,2))throw"malformed PKCS8 public key(code:001)";var s=r(e,a);if(2!=s.length)throw"malformed PKCS8 public key(code:002)";if("06"!=e.substr(s[0],2))throw"malformed PKCS8 public key(code:003)";if(i.algoid=n(e,s[0]),"06"==e.substr(s[1],2)?i.algparam=n(e,s[1]):"30"==e.substr(s[1],2)&&(i.algparam={},i.algparam.p=t.getVbyList(e,s[1],[0],"02"),i.algparam.q=t.getVbyList(e,s[1],[1],"02"),i.algparam.g=t.getVbyList(e,s[1],[2],"02")),"03"!=e.substr(o[1],2))throw"malformed PKCS8 public key(code:004)";return i.key=n(e,o[1]).substr(2),i}});K.getKey=function(e,t,r){var n=(g=W).getChildIdx;g.getV;var i=g.getVbyList,o=s.crypto,a=o.ECDSA,l=o.DSA,u=S,d=F,p=K;if(void 0!==u&&e instanceof u)return e;if(void 0!==a&&e instanceof a)return e;if(void 0!==l&&e instanceof l)return e;if(void 0!==e.curve&&void 0!==e.xy&&void 0===e.d)return new a({pub:e.xy,curve:e.curve});if(void 0!==e.curve&&void 0!==e.d)return new a({prv:e.d,curve:e.curve});if(void 0===e.kty&&void 0!==e.n&&void 0!==e.e&&void 0===e.d)return(R=new u).setPublic(e.n,e.e),R;if(void 0===e.kty&&void 0!==e.n&&void 0!==e.e&&void 0!==e.d&&void 0!==e.p&&void 0!==e.q&&void 0!==e.dp&&void 0!==e.dq&&void 0!==e.co&&void 0===e.qi)return(R=new u).setPrivateEx(e.n,e.e,e.d,e.p,e.q,e.dp,e.dq,e.co),R;if(void 0===e.kty&&void 0!==e.n&&void 0!==e.e&&void 0!==e.d&&void 0===e.p)return(R=new u).setPrivate(e.n,e.e,e.d),R;if(void 0!==e.p&&void 0!==e.q&&void 0!==e.g&&void 0!==e.y&&void 0===e.x)return(R=new l).setPublic(e.p,e.q,e.g,e.y),R;if(void 0!==e.p&&void 0!==e.q&&void 0!==e.g&&void 0!==e.y&&void 0!==e.x)return(R=new l).setPrivate(e.p,e.q,e.g,e.y,e.x),R;if("RSA"===e.kty&&void 0!==e.n&&void 0!==e.e&&void 0===e.d)return(R=new u).setPublic(P(e.n),P(e.e)),R;if("RSA"===e.kty&&void 0!==e.n&&void 0!==e.e&&void 0!==e.d&&void 0!==e.p&&void 0!==e.q&&void 0!==e.dp&&void 0!==e.dq&&void 0!==e.qi)return(R=new u).setPrivateEx(P(e.n),P(e.e),P(e.d),P(e.p),P(e.q),P(e.dp),P(e.dq),P(e.qi)),R;if("RSA"===e.kty&&void 0!==e.n&&void 0!==e.e&&void 0!==e.d)return(R=new u).setPrivate(P(e.n),P(e.e),P(e.d)),R;if("EC"===e.kty&&void 0!==e.crv&&void 0!==e.x&&void 0!==e.y&&void 0===e.d){var h=(B=new a({curve:e.crv})).ecparams.keylen/4,f="04"+("0000000000"+P(e.x)).slice(-h)+("0000000000"+P(e.y)).slice(-h);return B.setPublicKeyHex(f),B}if("EC"===e.kty&&void 0!==e.crv&&void 0!==e.x&&void 0!==e.y&&void 0!==e.d){h=(B=new a({curve:e.crv})).ecparams.keylen/4,f="04"+("0000000000"+P(e.x)).slice(-h)+("0000000000"+P(e.y)).slice(-h);var v=("0000000000"+P(e.d)).slice(-h);return B.setPublicKeyHex(f),B.setPrivateKeyHex(v),B}if("pkcs5prv"===r){var m,A=e,g=W;if(9===(m=n(A,0)).length)(R=new u).readPKCS5PrvKeyHex(A);else if(6===m.length)(R=new l).readPKCS5PrvKeyHex(A);else{if(!(m.length>2&&"04"===A.substr(m[1],2)))throw"unsupported PKCS#1/5 hexadecimal key";(R=new a).readPKCS5PrvKeyHex(A)}return R}if("pkcs8prv"===r)return R=p.getKeyFromPlainPrivatePKCS8Hex(e);if("pkcs8pub"===r)return p._getKeyFromPublicPKCS8Hex(e);if("x509pub"===r)return X.getPublicKeyFromCertHex(e);if(-1!=e.indexOf("-END CERTIFICATE-",0)||-1!=e.indexOf("-END X509 CERTIFICATE-",0)||-1!=e.indexOf("-END TRUSTED CERTIFICATE-",0))return X.getPublicKeyFromCertPEM(e);if(-1!=e.indexOf("-END PUBLIC KEY-")){var y=F(e,"PUBLIC KEY");return p._getKeyFromPublicPKCS8Hex(y)}if(-1!=e.indexOf("-END RSA PRIVATE KEY-")&&-1==e.indexOf("4,ENCRYPTED")){var b=d(e,"RSA PRIVATE KEY");return p.getKey(b,null,"pkcs5prv")}if(-1!=e.indexOf("-END DSA PRIVATE KEY-")&&-1==e.indexOf("4,ENCRYPTED")){var x=i(D=d(e,"DSA PRIVATE KEY"),0,[1],"02"),w=i(D,0,[2],"02"),E=i(D,0,[3],"02"),M=i(D,0,[4],"02"),C=i(D,0,[5],"02");return(R=new l).setPrivate(new c(x,16),new c(w,16),new c(E,16),new c(M,16),new c(C,16)),R}if(-1!=e.indexOf("-END EC PRIVATE KEY-")&&-1==e.indexOf("4,ENCRYPTED")){b=d(e,"EC PRIVATE KEY");return p.getKey(b,null,"pkcs5prv")}if(-1!=e.indexOf("-END PRIVATE KEY-"))return p.getKeyFromPlainPrivatePKCS8PEM(e);if(-1!=e.indexOf("-END RSA PRIVATE KEY-")&&-1!=e.indexOf("4,ENCRYPTED")){var I=p.getDecryptedKeyHex(e,t),T=new S;return T.readPKCS5PrvKeyHex(I),T}if(-1!=e.indexOf("-END EC PRIVATE KEY-")&&-1!=e.indexOf("4,ENCRYPTED")){var B,R=i(D=p.getDecryptedKeyHex(e,t),0,[1],"04"),k=i(D,0,[2,0],"06"),O=i(D,0,[3,0],"03").substr(2);if(void 0===s.crypto.OID.oidhex2name[k])throw"undefined OID(hex) in KJUR.crypto.OID: "+k;return(B=new a({curve:s.crypto.OID.oidhex2name[k]})).setPublicKeyHex(O),B.setPrivateKeyHex(R),B.isPublic=!1,B}if(-1!=e.indexOf("-END DSA PRIVATE KEY-")&&-1!=e.indexOf("4,ENCRYPTED")){var D;x=i(D=p.getDecryptedKeyHex(e,t),0,[1],"02"),w=i(D,0,[2],"02"),E=i(D,0,[3],"02"),M=i(D,0,[4],"02"),C=i(D,0,[5],"02");return(R=new l).setPrivate(new c(x,16),new c(w,16),new c(E,16),new c(M,16),new c(C,16)),R}if(-1!=e.indexOf("-END ENCRYPTED PRIVATE KEY-"))return p.getKeyFromEncryptedPKCS8PEM(e,t);throw new Error("not supported argument")},void 0!==s.asn1&&s.asn1||(s.asn1={}),s.asn1.ASN1Util={},s.asn1.ASN1Util.oidHexToInt=function(e){for(var t="",r=parseInt(e.substr(0,2),16),n=(t=Math.floor(r/40)+"."+r%40,""),i=2;i<e.length;i+=2){var o=("00000000"+parseInt(e.substr(i,2),16).toString(2)).slice(-8);if(n+=o.substr(1,7),"0"==o.substr(0,1))t=t+"."+new c(n,2).toString(10),n=""}return t};var W=new function(){};function Y(e){for(var t in s.crypto.Util.DIGESTINFOHEAD){var r=s.crypto.Util.DIGESTINFOHEAD[t],n=r.length;if(e.substring(0,n)==r)return[t,e.substring(n)]}return[]}function X(e){var t,r=W,n=r.getChildIdx,i=r.getV,o=r.getTLV,a=r.getVbyList,l=r.getVbyListEx,c=r.getTLVbyList,u=r.getTLVbyListEx,d=r.getIdxbyList,p=r.getIdxbyListEx,h=r.getVidx,f=r.getInt,v=r.oidname,m=r.hextooidstr,A=F;try{t=s.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV}catch(e){}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(null===this.hex||0!==this.version)return this.version;var e=c(this.hex,0,[0,0]);if("a0"==e.substr(0,2)){var t=c(e,0,[0]),r=f(t,0);if(r<0||2<r)throw new Error("malformed version field");return this.version=r+1,this.version}return this.version=1,this.foffset=-1,1},this.getSerialNumberHex=function(){return l(this.hex,0,[0,0],"02")},this.getSignatureAlgorithmField=function(){var e=u(this.hex,0,[0,1]);return this.getAlgorithmIdentifierName(e)},this.getAlgorithmIdentifierName=function(e){for(var r in t)if(e===t[r])return r;return v(l(e,0,[0],"06"))},this.getIssuer=function(){return this.getX500Name(this.getIssuerHex())},this.getIssuerHex=function(){return c(this.hex,0,[0,3+this.foffset],"30")},this.getIssuerString=function(){return this.getIssuer().str},this.getSubject=function(){return this.getX500Name(this.getSubjectHex())},this.getSubjectHex=function(){return c(this.hex,0,[0,5+this.foffset],"30")},this.getSubjectString=function(){return this.getSubject().str},this.getNotBefore=function(){var e=a(this.hex,0,[0,4+this.foffset,0]);return e=e.replace(/(..)/g,"%$1"),e=decodeURIComponent(e)},this.getNotAfter=function(){var e=a(this.hex,0,[0,4+this.foffset,1]);return e=e.replace(/(..)/g,"%$1"),e=decodeURIComponent(e)},this.getPublicKeyHex=function(){return r.getTLVbyList(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyIdx=function(){return d(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyContentIdx=function(){var e=this.getPublicKeyIdx();return d(this.hex,e,[1,0],"30")},this.getPublicKey=function(){return K.getKey(this.getPublicKeyHex(),null,"pkcs8pub")},this.getSignatureAlgorithmName=function(){var e=c(this.hex,0,[1],"30");return this.getAlgorithmIdentifierName(e)},this.getSignatureValueHex=function(){return a(this.hex,0,[2],"03",!0)},this.verifySignature=function(e){var t=this.getSignatureAlgorithmField(),r=this.getSignatureValueHex(),n=c(this.hex,0,[0],"30"),i=new s.crypto.Signature({alg:t});return i.init(e),i.updateHex(n),i.verify(r)},this.parseExt=function(e){var t,o,s;if(void 0===e){if(s=this.hex,3!==this.version)return-1;t=d(s,0,[0,7,0],"30"),o=n(s,t)}else{s=F(e);var l=d(s,0,[0,3,0,0],"06");if("2a864886f70d01090e"!=i(s,l))return void(this.aExtInfo=new Array);t=d(s,0,[0,3,0,1,0],"30"),o=n(s,t),this.hex=s}this.aExtInfo=new Array;for(var c=0;c<o.length;c++){var u={critical:!1},p=0;3===n(s,o[c]).length&&(u.critical=!0,p=1),u.oid=r.hextooidstr(a(s,o[c],[0],"06"));var f=d(s,o[c],[1+p]);u.vidx=h(s,f),this.aExtInfo.push(u)}},this.getExtInfo=function(e){var t=this.aExtInfo,r=e;if(e.match(/^[0-9.]+$/)||(r=s.asn1.x509.OID.name2oid(e)),""!==r)for(var n=0;n<t.length;n++)if(t[n].oid===r)return t[n]},this.getExtBasicConstraints=function(e,t){if(void 0===e&&void 0===t){var r=this.getExtInfo("basicConstraints");if(void 0===r)return;e=o(this.hex,r.vidx),t=r.critical}var n={extname:"basicConstraints"};if(t&&(n.critical=!0),"3000"===e)return n;if("30030101ff"===e)return n.cA=!0,n;if("30060101ff02"===e.substr(0,12)){var a=i(e,10),s=parseInt(a,16);return n.cA=!0,n.pathLen=s,n}throw new Error("hExtV parse error: "+e)},this.getExtKeyUsage=function(e,t){if(void 0===e&&void 0===t){var r=this.getExtInfo("keyUsage");if(void 0===r)return;e=o(this.hex,r.vidx),t=r.critical}var n={extname:"keyUsage"};return t&&(n.critical=!0),n.names=this.getExtKeyUsageString(e).split(","),n},this.getExtKeyUsageBin=function(e){if(void 0===e){var t=this.getExtInfo("keyUsage");if(void 0===t)return"";e=o(this.hex,t.vidx)}if(8!=e.length&&10!=e.length)throw new Error("malformed key usage value: "+e);var r="000000000000000"+parseInt(e.substr(6),16).toString(2);return 8==e.length&&(r=r.slice(-8)),10==e.length&&(r=r.slice(-16)),""==(r=r.replace(/0+$/,""))&&(r="0"),r},this.getExtKeyUsageString=function(e){for(var t=this.getExtKeyUsageBin(e),r=new Array,n=0;n<t.length;n++)"1"==t.substr(n,1)&&r.push(X.KEYUSAGE_NAME[n]);return r.join(",")},this.getExtSubjectKeyIdentifier=function(e,t){if(void 0===e&&void 0===t){var r=this.getExtInfo("subjectKeyIdentifier");if(void 0===r)return;e=o(this.hex,r.vidx),t=r.critical}var n={extname:"subjectKeyIdentifier"};t&&(n.critical=!0);var a=i(e,0);return n.kid={hex:a},n},this.getExtAuthorityKeyIdentifier=function(e,t){if(void 0===e&&void 0===t){var r=this.getExtInfo("authorityKeyIdentifier");if(void 0===r)return;e=o(this.hex,r.vidx),t=r.critical}var a={extname:"authorityKeyIdentifier"};t&&(a.critical=!0);for(var s=n(e,0),l=0;l<s.length;l++){var c=e.substr(s[l],2);if("80"===c&&(a.kid={hex:i(e,s[l])}),"a1"===c){var u=o(e,s[l]),d=this.getGeneralNames(u);a.issuer=d[0].dn}"82"===c&&(a.sn={hex:i(e,s[l])})}return a},this.getExtExtKeyUsage=function(e,t){if(void 0===e&&void 0===t){var r=this.getExtInfo("extKeyUsage");if(void 0===r)return;e=o(this.hex,r.vidx),t=r.critical}var a={extname:"extKeyUsage",array:[]};t&&(a.critical=!0);for(var s=n(e,0),l=0;l<s.length;l++)a.array.push(v(i(e,s[l])));return a},this.getExtExtKeyUsageName=function(){var e=this.getExtInfo("extKeyUsage");if(void 0===e)return e;var t=new Array,r=o(this.hex,e.vidx);if(""===r)return t;for(var a=n(r,0),s=0;s<a.length;s++)t.push(v(i(r,a[s])));return t},this.getExtSubjectAltName=function(e,t){if(void 0===e&&void 0===t){var r=this.getExtInfo("subjectAltName");if(void 0===r)return;e=o(this.hex,r.vidx),t=r.critical}var n={extname:"subjectAltName",array:[]};return t&&(n.critical=!0),n.array=this.getGeneralNames(e),n},this.getExtIssuerAltName=function(e,t){if(void 0===e&&void 0===t){var r=this.getExtInfo("issuerAltName");if(void 0===r)return;e=o(this.hex,r.vidx),t=r.critical}var n={extname:"issuerAltName",array:[]};return t&&(n.critical=!0),n.array=this.getGeneralNames(e),n},this.getGeneralNames=function(e){for(var t=n(e,0),r=[],i=0;i<t.length;i++){var a=this.getGeneralName(o(e,t[i]));void 0!==a&&r.push(a)}return r},this.getGeneralName=function(e){var t=e.substr(0,2),r=i(e,0),n=B(r);return"81"==t?{rfc822:n}:"82"==t?{dns:n}:"86"==t?{uri:n}:"87"==t?{ip:D(r)}:"a4"==t?{dn:this.getX500Name(r)}:void 0},this.getExtSubjectAltName2=function(){var e,t,r,a=this.getExtInfo("subjectAltName");if(void 0===a)return a;for(var s=new Array,l=o(this.hex,a.vidx),c=n(l,0),u=0;u<c.length;u++)r=l.substr(c[u],2),e=i(l,c[u]),"81"===r&&(t=T(e),s.push(["MAIL",t])),"82"===r&&(t=T(e),s.push(["DNS",t])),"84"===r&&(t=X.hex2dn(e,0),s.push(["DN",t])),"86"===r&&(t=T(e),s.push(["URI",t])),"87"===r&&(t=D(e),s.push(["IP",t]));return s},this.getExtCRLDistributionPoints=function(e,t){if(void 0===e&&void 0===t){var r=this.getExtInfo("cRLDistributionPoints");if(void 0===r)return;e=o(this.hex,r.vidx),t=r.critical}var i={extname:"cRLDistributionPoints",array:[]};t&&(i.critical=!0);for(var a=n(e,0),s=0;s<a.length;s++){var l=o(e,a[s]);i.array.push(this.getDistributionPoint(l))}return i},this.getDistributionPoint=function(e){for(var t={},r=n(e,0),i=0;i<r.length;i++){var a=e.substr(r[i],2),s=o(e,r[i]);"a0"==a&&(t.dpname=this.getDistributionPointName(s))}return t},this.getDistributionPointName=function(e){for(var t={},r=n(e,0),i=0;i<r.length;i++){var a=e.substr(r[i],2),s=o(e,r[i]);"a0"==a&&(t.full=this.getGeneralNames(s))}return t},this.getExtCRLDistributionPointsURI=function(){var e=this.getExtInfo("cRLDistributionPoints");if(void 0===e)return e;for(var t=new Array,r=n(this.hex,e.vidx),i=0;i<r.length;i++)try{var o=T(a(this.hex,r[i],[0,0,0],"86"));t.push(o)}catch(e){}return t},this.getExtAIAInfo=function(){var e=this.getExtInfo("authorityInfoAccess");if(void 0===e)return e;for(var t={ocsp:[],caissuer:[]},r=n(this.hex,e.vidx),i=0;i<r.length;i++){var o=a(this.hex,r[i],[0],"06"),s=a(this.hex,r[i],[1],"86");"2b06010505073001"===o&&t.ocsp.push(T(s)),"2b06010505073002"===o&&t.caissuer.push(T(s))}return t},this.getExtAuthorityInfoAccess=function(e,t){if(void 0===e&&void 0===t){var r=this.getExtInfo("authorityInfoAccess");if(void 0===r)return;e=o(this.hex,r.vidx),t=r.critical}var i={extname:"authorityInfoAccess",array:[]};t&&(i.critical=!0);for(var s=n(e,0),c=0;c<s.length;c++){var u=l(e,s[c],[0],"06"),d=T(a(e,s[c],[1],"86"));if("2b06010505073001"==u)i.array.push({ocsp:d});else{if("2b06010505073002"!=u)throw new Error("unknown method: "+u);i.array.push({caissuer:d})}}return i},this.getExtCertificatePolicies=function(e,t){if(void 0===e&&void 0===t){var r=this.getExtInfo("certificatePolicies");if(void 0===r)return;e=o(this.hex,r.vidx),t=r.critical}var i={extname:"certificatePolicies",array:[]};t&&(i.critical=!0);for(var a=n(e,0),s=0;s<a.length;s++){var l=o(e,a[s]),c=this.getPolicyInformation(l);i.array.push(c)}return i},this.getPolicyInformation=function(e){var t={},r=a(e,0,[0],"06");t.policyoid=v(r);var i=p(e,0,[1],"30");if(-1!=i){t.array=[];for(var s=n(e,i),l=0;l<s.length;l++){var c=o(e,s[l]),u=this.getPolicyQualifierInfo(c);t.array.push(u)}}return t},this.getPolicyQualifierInfo=function(e){var t={},r=a(e,0,[0],"06");if("2b06010505070201"===r){var n=l(e,0,[1],"16");t.cps=B(n)}else if("2b06010505070202"===r){var i=c(e,0,[1],"30");t.unotice=this.getUserNotice(i)}return t},this.getUserNotice=function(e){for(var t={},r=n(e,0),i=0;i<r.length;i++){var a=o(e,r[i]);"30"!=a.substr(0,2)&&(t.exptext=this.getDisplayText(a))}return t},this.getDisplayText=function(e){var t={};return t.type={"0c":"utf8",16:"ia5","1a":"vis","1e":"bmp"}[e.substr(0,2)],t.str=B(i(e,0)),t},this.getExtCRLNumber=function(e,t){var r={extname:"cRLNumber"};if(t&&(r.critical=!0),"02"==e.substr(0,2))return r.num={hex:i(e,0)},r;throw new Error("hExtV parse error: "+e)},this.getExtCRLReason=function(e,t){var r={extname:"cRLReason"};if(t&&(r.critical=!0),"0a"==e.substr(0,2))return r.code=parseInt(i(e,0),16),r;throw new Error("hExtV parse error: "+e)},this.getExtOcspNonce=function(e,t){var r={extname:"ocspNonce"};t&&(r.critical=!0);var n=i(e,0);return r.hex=n,r},this.getExtOcspNoCheck=function(e,t){var r={extname:"ocspNoCheck"};return t&&(r.critical=!0),r},this.getExtAdobeTimeStamp=function(e,t){if(void 0===e&&void 0===t){var r=this.getExtInfo("adobeTimeStamp");if(void 0===r)return;e=o(this.hex,r.vidx),t=r.critical}var i={extname:"adobeTimeStamp"};t&&(i.critical=!0);var a=n(e,0);if(a.length>1){var s=o(e,a[1]),l=this.getGeneralName(s);null!=l.uri&&(i.uri=l.uri)}if(a.length>2){var c=o(e,a[2]);"0101ff"==c&&(i.reqauth=!0),"010100"==c&&(i.reqauth=!1)}return i},this.getX500NameRule=function(e){for(var t=null,r=[],n=0;n<e.length;n++)for(var i=e[n],o=0;o<i.length;o++)r.push(i[o]);for(n=0;n<r.length;n++){var a=r[n],l=a.ds,c=a.value,u=a.type;if("prn"!=l&&"utf8"!=l&&"ia5"!=l)return"mixed";if("ia5"==l){if("CN"!=u)return"mixed";if(s.lang.String.isMail(c))continue;return"mixed"}if("C"==u){if("prn"==l)continue;return"mixed"}if(null==t)t=l;else if(t!==l)return"mixed"}return null==t?"prn":t},this.getX500Name=function(e){var t=this.getX500NameArray(e);return{array:t,str:this.dnarraytostr(t)}},this.getX500NameArray=function(e){for(var t=[],r=n(e,0),i=0;i<r.length;i++)t.push(this.getRDN(o(e,r[i])));return t},this.getRDN=function(e){for(var t=[],r=n(e,0),i=0;i<r.length;i++)t.push(this.getAttrTypeAndValue(o(e,r[i])));return t},this.getAttrTypeAndValue=function(e){var t={type:null,value:null,ds:null},r=n(e,0),i=a(e,r[0],[],"06"),o=a(e,r[1],[]),l=s.asn1.ASN1Util.oidHexToInt(i);return t.type=s.asn1.x509.OID.oid2atype(l),t.ds=this.HEX2STAG[e.substr(r[1],2)],"bmp"!=t.ds?t.value=T(o):t.value=function(e){var t=e.match(/.{4}/g).map((function(e){var t=parseInt(e.substr(0,2),16),r=parseInt(e.substr(2),16);if(0==t&r<128)return String.fromCharCode(r);if(t<8){var n=128|63&r;return T((192|(7&t)<<3|(192&r)>>6).toString(16)+n.toString(16))}n=128|(15&t)<<2|(192&r)>>6;var i=128|63&r;return T((224|(240&t)>>4).toString(16)+n.toString(16)+i.toString(16))}));return t.join("")}(o),t},this.readCertPEM=function(e){this.readCertHex(A(e))},this.readCertHex=function(e){this.hex=e,this.getVersion();try{d(this.hex,0,[0,7],"a3"),this.parseExt()}catch(e){}},this.getParam=function(){var e={};return e.version=this.getVersion(),e.serial={hex:this.getSerialNumberHex()},e.sigalg=this.getSignatureAlgorithmField(),e.issuer=this.getIssuer(),e.notbefore=this.getNotBefore(),e.notafter=this.getNotAfter(),e.subject=this.getSubject(),e.sbjpubkey=O(this.getPublicKeyHex(),"PUBLIC KEY"),this.aExtInfo.length>0&&(e.ext=this.getExtParamArray()),e.sighex=this.getSignatureValueHex(),e},this.getExtParamArray=function(e){null==e&&(-1!=p(this.hex,0,[0,"[3]"])&&(e=u(this.hex,0,[0,"[3]",0],"30")));for(var t=[],r=n(e,0),i=0;i<r.length;i++){var a=o(e,r[i]),s=this.getExtParam(a);null!=s&&t.push(s)}return t},this.getExtParam=function(e){var t=n(e,0).length;if(2!=t&&3!=t)throw new Error("wrong number elements in Extension: "+t+" "+e);var r=m(a(e,0,[0],"06")),i=!1;3==t&&"0101ff"==c(e,0,[1])&&(i=!0);var o=c(e,0,[t-1,0]),s=void 0;if("2.5.29.14"==r?s=this.getExtSubjectKeyIdentifier(o,i):"2.5.29.15"==r?s=this.getExtKeyUsage(o,i):"2.5.29.17"==r?s=this.getExtSubjectAltName(o,i):"2.5.29.18"==r?s=this.getExtIssuerAltName(o,i):"2.5.29.19"==r?s=this.getExtBasicConstraints(o,i):"2.5.29.31"==r?s=this.getExtCRLDistributionPoints(o,i):"2.5.29.32"==r?s=this.getExtCertificatePolicies(o,i):"2.5.29.35"==r?s=this.getExtAuthorityKeyIdentifier(o,i):"2.5.29.37"==r?s=this.getExtExtKeyUsage(o,i):"1.3.6.1.5.5.7.1.1"==r?s=this.getExtAuthorityInfoAccess(o,i):"2.5.29.20"==r?s=this.getExtCRLNumber(o,i):"2.5.29.21"==r?s=this.getExtCRLReason(o,i):"1.3.6.1.5.5.7.48.1.2"==r?s=this.getExtOcspNonce(o,i):"1.3.6.1.5.5.7.48.1.5"==r?s=this.getExtOcspNoCheck(o,i):"1.2.840.113583.1.1.9.1"==r&&(s=this.getExtAdobeTimeStamp(o,i)),null!=s)return s;var l={extname:r,extn:o};return i&&(l.critical=!0),l},this.findExt=function(e,t){for(var r=0;r<e.length;r++)if(e[r].extname==t)return e[r];return null},this.dnarraytostr=function(e){return"/"+e.map((function(e){return function(e){return e.map((function(e){return function(e){return e.type+"="+e.value}(e).replace(/\+/,"\\+")})).join("+")}(e).replace(/\//,"\\/")})).join("/")},this.getInfo=function(){var e,t,r,n,i=function(e){for(var t="",r=e.array,n=0;n<r.length;n++){var i=r[n];if(t+=" policy oid: "+i.policyoid+"\n",void 0!==i.array)for(var o=0;o<i.array.length;o++){var a=i.array[o];void 0!==a.cps&&(t+=" cps: "+a.cps+"\n")}}return t},o=function(e){for(var t="",r=e.array,n=0;n<r.length;n++){var i=r[n];try{void 0!==i.dpname.full[0].uri&&(t+=" "+i.dpname.full[0].uri+"\n")}catch(e){}try{void 0!==i.dname.full[0].dn.hex&&(t+=" "+X.hex2dn(i.dpname.full[0].dn.hex)+"\n")}catch(e){}}return t},a=function(e){for(var t="",r=e.array,n=0;n<r.length;n++){var i=r[n];void 0!==i.caissuer&&(t+=" caissuer: "+i.caissuer+"\n"),void 0!==i.ocsp&&(t+=" ocsp: "+i.ocsp+"\n")}return t};if(e="Basic Fields\n",e+=" serial number: "+this.getSerialNumberHex()+"\n",e+=" signature algorithm: "+this.getSignatureAlgorithmField()+"\n",e+=" issuer: "+this.getIssuerString()+"\n",e+=" notBefore: "+this.getNotBefore()+"\n",e+=" notAfter: "+this.getNotAfter()+"\n",e+=" subject: "+this.getSubjectString()+"\n",e+=" subject public key info: \n",e+=" key algorithm: "+(t=this.getPublicKey()).type+"\n","RSA"===t.type&&(e+=" n="+L(t.n.toString(16)).substr(0,16)+"...\n",e+=" e="+L(t.e.toString(16))+"\n"),null!=(r=this.aExtInfo)){e+="X509v3 Extensions:\n";for(var l=0;l<r.length;l++){var c=r[l],u=s.asn1.x509.OID.oid2name(c.oid);""===u&&(u=c.oid);var d="";if(!0===c.critical&&(d="CRITICAL"),e+=" "+u+" "+d+":\n","basicConstraints"===u){var p=this.getExtBasicConstraints();void 0===p.cA?e+=" {}\n":(e+=" cA=true",void 0!==p.pathLen&&(e+=", pathLen="+p.pathLen),e+="\n")}else if("keyUsage"===u)e+=" "+this.getExtKeyUsageString()+"\n";else if("subjectKeyIdentifier"===u)e+=" "+this.getExtSubjectKeyIdentifier().kid.hex+"\n";else if("authorityKeyIdentifier"===u){var h=this.getExtAuthorityKeyIdentifier();void 0!==h.kid&&(e+=" kid="+h.kid.hex+"\n")}else{if("extKeyUsage"===u)e+=" "+this.getExtExtKeyUsage().array.join(", ")+"\n";else if("subjectAltName"===u)e+=" "+(n=this.getExtSubjectAltName(),JSON.stringify(n.array).replace(/[\[\]\{\}\"]/g,""))+"\n";else if("cRLDistributionPoints"===u)e+=o(this.getExtCRLDistributionPoints());else if("authorityInfoAccess"===u)e+=a(this.getExtAuthorityInfoAccess());else"certificatePolicies"===u&&(e+=i(this.getExtCertificatePolicies()))}}}return e+="signature algorithm: "+this.getSignatureAlgorithmName()+"\n",e+="signature: "+this.getSignatureValueHex().substr(0,16)+"...\n"},"string"==typeof e&&(-1!=e.indexOf("-----BEGIN")?this.readCertPEM(e):s.lang.String.isHex(e)&&this.readCertHex(e))}function J(e){return l.SHA256(e).toString()}W.getLblen=function(e,t){if("8"!=e.substr(t+2,1))return 1;var r=parseInt(e.substr(t+3,1));return 0==r?-1:0<r&&r<10?r+1:-2},W.getL=function(e,t){var r=W.getLblen(e,t);return r<1?"":e.substr(t+2,2*r)},W.getVblen=function(e,t){var r;return""==(r=W.getL(e,t))?-1:("8"===r.substr(0,1)?new c(r.substr(2),16):new c(r,16)).intValue()},W.getVidx=function(e,t){var r=W.getLblen(e,t);return r<0?r:t+2*(r+1)},W.getV=function(e,t){var r=W.getVidx(e,t),n=W.getVblen(e,t);return e.substr(r,2*n)},W.getTLV=function(e,t){return e.substr(t,2)+W.getL(e,t)+W.getV(e,t)},W.getTLVblen=function(e,t){return 2+2*W.getLblen(e,t)+2*W.getVblen(e,t)},W.getNextSiblingIdx=function(e,t){return W.getVidx(e,t)+2*W.getVblen(e,t)},W.getChildIdx=function(e,t){var r,n,i,o=W,a=[];r=o.getVidx(e,t),n=2*o.getVblen(e,t),"03"==e.substr(t,2)&&(r+=2,n-=2),i=0;for(var s=r;i<=n;){var l=o.getTLVblen(e,s);if((i+=l)<=n&&a.push(s),s+=l,i>=n)break}return a},W.getNthChildIdx=function(e,t,r){return W.getChildIdx(e,t)[r]},W.getIdxbyList=function(e,t,r,n){var i,o,a=W;return 0==r.length?void 0!==n&&e.substr(t,2)!==n?-1:t:(i=r.shift())>=(o=a.getChildIdx(e,t)).length?-1:a.getIdxbyList(e,o[i],r,n)},W.getIdxbyListEx=function(e,t,r,n){var i,o,a=W;if(0==r.length)return void 0!==n&&e.substr(t,2)!==n?-1:t;i=r.shift(),o=a.getChildIdx(e,t);for(var s=0,l=0;l<o.length;l++){var c=e.substr(o[l],2);if("number"==typeof i&&!a.isContextTag(c)&&s==i||"string"==typeof i&&a.isContextTag(c,i))return a.getIdxbyListEx(e,o[l],r,n);a.isContextTag(c)||s++}return-1},W.getTLVbyList=function(e,t,r,n){var i=W,o=i.getIdxbyList(e,t,r,n);return-1==o||o>=e.length?null:i.getTLV(e,o)},W.getTLVbyListEx=function(e,t,r,n){var i=W,o=i.getIdxbyListEx(e,t,r,n);return-1==o?null:i.getTLV(e,o)},W.getVbyList=function(e,t,r,n,i){var o,a,s=W;return-1==(o=s.getIdxbyList(e,t,r,n))||o>=e.length?null:(a=s.getV(e,o),!0===i&&(a=a.substr(2)),a)},W.getVbyListEx=function(e,t,r,n,i){var o,a,s=W;return-1==(o=s.getIdxbyListEx(e,t,r,n))?null:(a=s.getV(e,o),"03"==e.substr(o,2)&&!1!==i&&(a=a.substr(2)),a)},W.getInt=function(e,t,r){null==r&&(r=-1);try{var n=e.substr(t,2);if("02"!=n&&"03"!=n)return r;var i=W.getV(e,t);return"02"==n?parseInt(i,16):function(e){try{var t=e.substr(0,2);if("00"==t)return parseInt(e.substr(2),16);var r=parseInt(t,16),n=e.substr(2),i=parseInt(n,16).toString(2);return"0"==i&&(i="00000000"),i=i.slice(0,0-r),parseInt(i,2)}catch(e){return-1}}(i)}catch(e){return r}},W.getOID=function(e,t,r){null==r&&(r=null);try{return"06"!=e.substr(t,2)?r:function(e){if(!Q(e))return null;try{var t=[],r=e.substr(0,2),n=parseInt(r,16);t[0]=new String(Math.floor(n/40)),t[1]=new String(n%40);for(var i=e.substr(2),o=[],a=0;a<i.length/2;a++)o.push(parseInt(i.substr(2*a,2),16));var s=[],l="";for(a=0;a<o.length;a++)128&o[a]?l+=N((127&o[a]).toString(2),7):(l+=N((127&o[a]).toString(2),7),s.push(new String(parseInt(l,2))),l="");var c=t.join(".");return s.length>0&&(c=c+"."+s.join(".")),c}catch(e){return null}}(W.getV(e,t))}catch(e){return r}},W.getOIDName=function(e,t,r){null==r&&(r=null);try{var n=W.getOID(e,t,r);if(n==r)return r;var i=s.asn1.x509.OID.oid2name(n);return""==i?n:i}catch(e){return r}},W.getString=function(e,t,r){null==r&&(r=null);try{return B(W.getV(e,t))}catch(e){return r}},W.hextooidstr=function(e){var t=function(e,t){return e.length>=t?e:new Array(t-e.length+1).join("0")+e},r=[],n=e.substr(0,2),i=parseInt(n,16);r[0]=new String(Math.floor(i/40)),r[1]=new String(i%40);for(var o=e.substr(2),a=[],s=0;s<o.length/2;s++)a.push(parseInt(o.substr(2*s,2),16));var l=[],c="";for(s=0;s<a.length;s++)128&a[s]?c+=t((127&a[s]).toString(2),7):(c+=t((127&a[s]).toString(2),7),l.push(new String(parseInt(c,2))),c="");var u=r.join(".");return l.length>0&&(u=u+"."+l.join(".")),u},W.isContextTag=function(e,t){var r,n;e=e.toLowerCase();try{r=parseInt(e,16)}catch(e){return-1}if(void 0===t)return 128==(192&r);try{return null!=t.match(/^\[[0-9]+\]$/)&&(!((n=parseInt(t.substr(1,t.length-1),10))>31)&&(128==(192&r)&&(31&r)==n))}catch(e){return!1}},W.isASN1HEX=function(e){var t=W;if(e.length%2==1)return!1;var r=t.getVblen(e,0),n=e.substr(0,2),i=t.getL(e,0);return e.length-n.length-i.length==2*r},W.checkStrictDER=function(e,t,r,n,i){var o=W;if(void 0===r){if("string"!=typeof e)throw new Error("not hex string");if(e=e.toLowerCase(),!s.lang.String.isHex(e))throw new Error("not hex string");r=e.length,i=(n=e.length/2)<128?1:Math.ceil(n.toString(16))+1}if(o.getL(e,t).length>2*i)throw new Error("L of TLV too long: idx="+t);var a=o.getVblen(e,t);if(a>n)throw new Error("value of L too long than hex: idx="+t);var l=o.getTLV(e,t),c=l.length-2-o.getL(e,t).length;if(c!==2*a)throw new Error("V string length and L's value not the same:"+c+"/"+2*a);if(0===t&&e.length!=l.length)throw new Error("total length and TLV length unmatch:"+e.length+"!="+l.length);var u=e.substr(t,2);if("02"===u){var d=o.getVidx(e,t);if("00"==e.substr(d,2)&&e.charCodeAt(d+2)<56)throw new Error("not least zeros for DER INTEGER")}if(32&parseInt(u,16)){for(var p=o.getVblen(e,t),h=0,f=o.getChildIdx(e,t),v=0;v<f.length;v++){h+=o.getTLV(e,f[v]).length,o.checkStrictDER(e,f[v],r,n,i)}if(2*p!=h)throw new Error("sum of children's TLV length and L unmatch: "+2*p+"!="+h)}},W.oidname=function(e){var t=s.asn1;s.lang.String.isHex(e)&&(e=t.ASN1Util.oidHexToInt(e));var r=t.x509.OID.oid2name(e);return""===r&&(r=e),r},void 0!==s.asn1&&s.asn1||(s.asn1={}),void 0!==s.asn1.x509&&s.asn1.x509||(s.asn1.x509={}),s.asn1.x509.AlgorithmIdentifier={},s.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV={SHAwithRSAandMGF1:"300d06092a864886f70d01010a3000",SHA256withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040201a11a301806092a864886f70d010108300b0609608648016503040201a203020120",SHA384withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040202a11a301806092a864886f70d010108300b0609608648016503040202a203020130",SHA512withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040203a11a301806092a864886f70d010108300b0609608648016503040203a203020140"},s.asn1.x509.OID=new function(e){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(e){if(void 0!==this.objCache[e])return this.objCache[e];if(void 0===this.name2oidList[e])throw"Name of ObjectIdentifier not defined: "+e;var t=this.name2oidList[e],r=new s.asn1.DERObjectIdentifier({oid:t});return this.objCache[e]=r,r},this.atype2obj=function(e){if(void 0!==this.objCache[e])return this.objCache[e];var t;if(e.match(/^\d+\.\d+\.[0-9.]+$/))t=e;else if(void 0!==this.atype2oidList[e])t=this.atype2oidList[e];else{if(void 0===this.name2oidList[e])throw"AttributeType name undefined: "+e;t=this.name2oidList[e]}var r=new s.asn1.DERObjectIdentifier({oid:t});return this.objCache[e]=r,r}},s.asn1.x509.OID.oid2name=function(e){var t=s.asn1.x509.OID.name2oidList;for(var r in t)if(t[r]==e)return r;return""},s.asn1.x509.OID.oid2atype=function(e){var t=s.asn1.x509.OID.atype2oidList;for(var r in t)if(t[r]==e)return r;return e},s.asn1.x509.OID.name2oid=function(e){if(e.match(/^[0-9.]+$/))return e;var t=s.asn1.x509.OID.name2oidList;return void 0===t[e]?"":t[e]},S.getPosArrayOfChildrenFromHex=function(e){return W.getChildIdx(e,0)},S.getHexValueArrayOfChildrenFromHex=function(e){var t,r=W.getV,n=r(e,(t=S.getPosArrayOfChildrenFromHex(e))[0]),i=r(e,t[1]),o=r(e,t[2]),a=r(e,t[3]),s=r(e,t[4]),l=r(e,t[5]),c=r(e,t[6]),u=r(e,t[7]),d=r(e,t[8]);return(t=new Array).push(n,i,o,a,s,l,c,u,d),t},S.prototype.readPrivateKeyFromPEMString=function(e){var t=F(e),r=S.getHexValueArrayOfChildrenFromHex(t);this.setPrivateEx(r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8])},S.prototype.readPKCS5PrvKeyHex=function(e){var t=S.getHexValueArrayOfChildrenFromHex(e);this.setPrivateEx(t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},S.prototype.readPKCS8PrvKeyHex=function(e){var t,r,n,i,o,a,s,l,c=W,u=c.getVbyListEx;if(!1===c.isASN1HEX(e))throw new Error("not ASN.1 hex string");try{t=u(e,0,[2,0,1],"02"),r=u(e,0,[2,0,2],"02"),n=u(e,0,[2,0,3],"02"),i=u(e,0,[2,0,4],"02"),o=u(e,0,[2,0,5],"02"),a=u(e,0,[2,0,6],"02"),s=u(e,0,[2,0,7],"02"),l=u(e,0,[2,0,8],"02")}catch(e){throw new Error("malformed PKCS#8 plain RSA private key")}this.setPrivateEx(t,r,n,i,o,a,s,l)},S.prototype.readPKCS5PubKeyHex=function(e){var t=W,r=t.getV;if(!1===t.isASN1HEX(e))throw new Error("keyHex is not ASN.1 hex string");var n=t.getChildIdx(e,0);if(2!==n.length||"02"!==e.substr(n[0],2)||"02"!==e.substr(n[1],2))throw new Error("wrong hex for PKCS#5 public key");var i=r(e,n[0]),o=r(e,n[1]);this.setPublic(i,o)},S.prototype.readPKCS8PubKeyHex=function(e){var t=W;if(!1===t.isASN1HEX(e))throw new Error("not ASN.1 hex string");if("06092a864886f70d010101"!==t.getTLVbyListEx(e,0,[0,0]))throw new Error("not PKCS8 RSA public key");var r=t.getTLVbyListEx(e,0,[1,0]);this.readPKCS5PubKeyHex(r)},S.prototype.readCertPubKeyHex=function(e,t){var r,n;(r=new X).readCertHex(e),n=r.getPublicKeyHex(),this.readPKCS8PubKeyHex(n)},S.prototype.verify=function(e,t){if(null==(t=t.toLowerCase()).match(/^[0-9a-f]+$/))return!1;var r=M(t,16),n=this.n.bitLength();if(r.bitLength()>n)return!1;var i=this.doPublic(r).toString(16);if(i.length+3!=n/4)return!1;var o=Y(i.replace(/^1f+00/,""));if(0==o.length)return!1;var a,l=o[0];return o[1]==(a=e,s.crypto.Util.hashString(a,l))},S.prototype.verifyWithMessageHash=function(e,t){if(t.length!=Math.ceil(this.n.bitLength()/4))return!1;var r=M(t,16);if(r.bitLength()>this.n.bitLength())return 0;var n=Y(this.doPublic(r).toString(16).replace(/^1f+00/,""));return 0!=n.length&&(n[0],n[1]==e)},S.prototype.verifyPSS=function(e,t,r,n){var i=function(e){return s.crypto.Util.hashHex(e,r)}(R(e));return void 0===n&&(n=-1),this.verifyWithMessageHashPSS(i,t,r,n)},S.prototype.verifyWithMessageHashPSS=function(e,t,r,n){if(t.length!=Math.ceil(this.n.bitLength()/4))return!1;var i,o=new c(t,16),a=function(e){return s.crypto.Util.hashHex(e,r)},l=B(e),u=l.length,d=this.n.bitLength()-1,p=Math.ceil(d/8);if(-1===n||void 0===n)n=u;else if(-2===n)n=p-u-2;else if(n<-2)throw new Error("invalid salt length");if(p<u+n+2)throw new Error("data too long");var h=this.doPublic(o).toByteArray();for(i=0;i<h.length;i+=1)h[i]&=255;for(;h.length<p;)h.unshift(0);if(188!==h[p-1])throw new Error("encoded message does not end in 0xbc");var f=(h=String.fromCharCode.apply(String,h)).substr(0,p-u-1),v=h.substr(f.length,u),m=65280>>8*p-d&255;if(0!=(f.charCodeAt(0)&m))throw new Error("bits beyond keysize not zero");var A=pss_mgf1_str(v,f.length,a),g=[];for(i=0;i<f.length;i+=1)g[i]=f.charCodeAt(i)^A.charCodeAt(i);g[0]&=~m;var y=p-u-n-2;for(i=0;i<y;i+=1)if(0!==g[i])throw new Error("leftmost octets not zero");if(1!==g[y])throw new Error("0x01 marker not found");return v===B(a(R("\0\0\0\0\0\0\0\0"+l+String.fromCharCode.apply(String,g.slice(-n)))))},S.SALT_LEN_HLEN=-1,S.SALT_LEN_MAX=-2,S.SALT_LEN_RECOVER=-2,X.hex2dn=function(e,t){void 0===t&&(t=0);var r=new X;return W.getTLV(e,t),r.getX500Name(e).str},X.hex2rdn=function(e,t){if(void 0===t&&(t=0),"31"!==e.substr(t,2))throw new Error("malformed RDN");for(var r=new Array,n=W.getChildIdx(e,t),i=0;i<n.length;i++)r.push(X.hex2attrTypeValue(e,n[i]));return r=r.map((function(e){return e.replace("+","\\+")})),r.join("+")},X.hex2attrTypeValue=function(e,t){var r=W,n=r.getV;if(void 0===t&&(t=0),"30"!==e.substr(t,2))throw new Error("malformed attribute type and value");var i=r.getChildIdx(e,t);2!==i.length||e.substr(i[0],2);var o=n(e,i[0]),a=s.asn1.ASN1Util.oidHexToInt(o);return s.asn1.x509.OID.oid2atype(a)+"="+B(n(e,i[1]))},X.getPublicKeyFromCertHex=function(e){var t=new X;return t.readCertHex(e),t.getPublicKey()},X.getPublicKeyFromCertPEM=function(e){var t=new X;return t.readCertPEM(e),t.getPublicKey()},X.getPublicKeyInfoPropOfCertPEM=function(e){var t,r,n=W.getVbyList,i={};return i.algparam=null,(t=new X).readCertPEM(e),r=t.getPublicKeyHex(),i.keyhex=n(r,0,[1],"03").substr(2),i.algoid=n(r,0,[0,0],"06"),"2a8648ce3d0201"===i.algoid&&(i.algparam=n(r,0,[0,1],"06")),i},X.KEYUSAGE_NAME=["digitalSignature","nonRepudiation","keyEncipherment","dataEncipherment","keyAgreement","keyCertSign","cRLSign","encipherOnly","decipherOnly"];var Z,$=[(Z=new X,Z.readCertPEM(function(){return arguments[0].split("").map((function(e){return e.charCodeAt(0)>126?e:String.fromCharCode((e.charCodeAt(0)+113)%126)})).join("")}(":::::ORTV[-PR_aVSVPNaR:::::ZVVS@\tPPNErtNVONtVWNZR}@]nU\0ZaZN=TP`\0T`Vo@Q^ROPbNZVTSZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg\tR^ZNATN>bROU^zc}nzyg\tR]ZN=TN>bRPtTn?bf?FZ_NQtfQc^^YQNq`gdSp?cyZ^P^fQc^^QQNWQ^aRvZPNTP`\0T`Vo@Q^RWN_fapzFqSFwfbOndSnzyuYz[oaNrS=\\QN>Z\tN\\Q^B[QqnS=\b\\QN>Zwp\\Q^B[QqnZVTSZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg\tR^ZNATN>bROU^zc}nzyg\tR]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@ebN[bqx=ng?\tS^w@|XAz|qUTwfzn]Bu<qs_ae\\y<}u`eRAoE`_\\s\0r|b{rp_o<oC@o=x\bw_cUUZPApQevD\\FxFoFgE=<sq[p<coqyn>TEpP@aSC_YDU8\0|8TB?c>r\\=rp`pcwP}c\0PP_\\RS\\EPVSy8x`\0?R|NP\tP>}A^VP}Ex\bUZa=syDw}>Ya8wPp[pRnn\brU^dE8U?a\bcW|<FEbbupn^`ZNr\tsof[wA}e{\\z}w[YDQ|dt=wC\tNvbRZ@@U|ZAYpFsabCBB\\`wrqxsYW8uFyWdaWezeUeA_8VoVupvY[TD[OYdpO\bC[wX\\O]=[QRpV\0d`N\0RXt^Z}vEpdC=\bY?=V}?^W\bad|qN@Ww>@PycaqANE]asPcE^OB_VA?>wzeftac\tZ\tguf\bF]DCP?znNYf\tuaYu[`=b|v]Bp=RAS``\\PRDW]_`UXdUg=SuqwVFDeB\tD8{B>\\sPYbEU\tFQXz\0@`zsqgfD\0[WY\bPeZc}\t\0bx?Rfed}BUe|Uo\0y?\bsSXZOSBCgbFqf\0Bs?b?d<VE\\Zzns\\d@?dPvf\\{}_\0Sd[<q_YBY`Ffg=sY>{t<fu]xrFNtZONNTwbQO\\ZO=TN>bqQt^dOOaAFXw=\tPCVxsv?{`a\bvS8YQ[aNsOt[cU`ZRTQNdtOaAFXw=\tPCVxsv?{`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=EnO}Pud8TA\t?yPrVv{\\>E]o`BO^RE^X[W[rEU?x\bf>V\tOUwY=>X[\\E`tW[8}VwpFBQcnrPF}yUtd8<Doe_\b[oOVUep@pYY\0cegY{r\t?\bAbq?ff8}UaXoN_D]_X_8yozYFT`N{`\\{zvu?\bDWT}=_<StX\tNx\0\b\t\0aT=c@ucnWfR[vf>RFxAFV}{N`dN^\\<eawBPxx}quT=|{T_R@Fp^Y<ZevRsWaZ]V\tCVrRVtAAc[\tQp|d|tqoQ=T|XX\t=u\\N8XNCx\\aU>wz\tX<e@Vc?dy\\|^FEq|=p`pBdF@bs^d<]vp\\^TZ\tP\bZ\b\\YNNSZ_\\w^|TsD8db\t_\tY\\o^Cw>Z\0x\\^aN]wWf\bA}\tC^d_{ZC@\by]gY@E\tBFY?OsaqbDcVgQbZeFc\tovtucxnq|<TnuyXRveYFOegCpAs{YTe|>bE<OXsSqCBWD_SVepfvCCUg]z\tZvQ[\0s|U>pFz\b=OwT``fNJJ:::::R[Q-PR_aVSVPNaR:::::")),Z)];function ee(e,t){var r=e.getIssuerHex();if(r===e.getSubjectHex())return e.verifySignature(e.getPublicKey());var n=function(e,t){for(var r=0,n=t;r<n.length;r++){var i=n[r];if(i.getSubjectHex()===e)return i}}(r,t);return!!n&&(!1!==e.verifySignature(n.getPublicKey())&&ee(n,t))}function te(e){return e.getIssuerHex()!==e.getSubjectHex()&&ee(e,$)}!function(e){var t=new X;"string"==typeof e?t.readCertPEM(e):t.readCertHex(e.hex);var r=te(t);$.push(t)}(function(){return arguments[0].split("").map((function(e){return e.charCodeAt(0)>126?e:String.fromCharCode((e.charCodeAt(0)+113)%126)})).join("")}(":::::ORTV[-PR_aVSVPNaR:::::ZVVTU\tPPONrtNVONtVWNW=_SVw\tVE=ZN=TP`\0T`Vo@Q^ROPbNZVTSZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg\tR^ZNATN>bROU^zc}nzyg\tR]ZN=TN>bRPtTn?bf?FZ_NQtfQc^^YQNq`gdSp?cyZ^P^fQc^^QQNWQ^aRvZPNTP`\0T`Vo@Q^RWN_fapzFqSFwfbOndSnzyuYz[oaNrS=\bZQNAZaN\\aZ\t[QSnS=\b[aNBZQZ\\aZ\t[QSnZVTaZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg\tR^ZNATN>bROU^zc}nzyg\tRbZOVTN>bRPtYoTyuoz}}f`Bwo?=RQN\\Ot[cONZO>Wyfd\tgdbRaN]Ot[cONZZPRuupz_@feWyZ`bVfWX|gVup[N^xOSugnec|fdyndB{^T}fdB\0ndRf?FZVVPVwN[Otx\0uxvTF=ON^RSNN\\PNtENZVVPPtXPNtRN?=?]q[VD|{\\oyo`oOu}F\tSAe`tn[t\tu\b8^a]qx\bE_^ZN?[QC\0yuOpybY8r\\RPAS=8rUq\0E8>xean^e\bf]Y`XO}{C[Ur^?\0x[SRXvVQ\\CFr}QnAPRQFO=Yw\0_TePCOFV@|N>ROXcDrT<>bW<ssO?NOT{^s]uU\0gS\bBffsfE\0AfDyQEZR`]XBo|Qw}yYdwwTvOFcBndUz^\\{]\tb=^yQYSTQ`]\0?tR{WRUun\\\0bVe_E|VWWV|r\tAo\0\tF`fdzCnRtq\br\t\b8eBp=Z\\TRaadc}@Eub`quuNqAdF\0aUay{}x>tgVz`\t_YBFwu_q?egt8v[o\x008\twTQcrA\t<z{DZoEE^rZTrpaZQzqpBY]^zt8[bQv}yEWw\tXDYQB\0QB\bx_^X]|uEDtPf[n[r_bpB[bE}?ung|bnU|NYOoedY_tvXySZfYPdWV]OE^\bOFwA}<uXoO}_NDz8aonzWOfcv@?>snfqu@FeEx^\\\bVfuO`\\\0tSg]zDU}QrAT|\tOZV|OvpVD<sN@z`<_cSrNCW>?=Au?g_8v{|}}WF>Sr>QBxO\td_D}eBb?Uq^b\t[y}x]}{?P|BQtecTB[pQBW>|p|nfv\0zUxOO}WqwE=<PURZy@X8r\\]u=<pPNRNNn\\OtaO<ZOETPdPT`NTT8RVOQ^^`SuO`gdSp?cyVRg\bo?B=VR[OZO=TN>bqQt^dOO`FyWadZcAD\tpeXybcW@}Qf\\QNsOt[cU`ZRTQNdtOaAFXw=\tPCVxsv?{`a\bvS8YQ[aN]Ot[cU_ZONsEROaNQN^U<ZNTN>bqQ^RNVOOwN[Otx\0uxvTF=ON^SNN\\PNtRNrx\ta[}tP_g8FbD\0^\0qt<f88ufuN]^}]gp\bqYudF88Fas_Ef`\t?^x>X}esa{>\\r?eE]CC_cZ[vQs\t\t>gX[szONg=^pn=<e]nbSz\bZvac\b[w^nA_`vP|@8w[}nQobe=??oRYf{vpRxcC}yCd>8[NDx{Ne\\t8oou=guC>>gvb}ACd\t``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\tXSq\t{\0DvAVBbnTqEE[QzDyqF`bF}R=Q?VeDo<Vzb\0w}D}NZ\0t}^?OyFP\bVaVNrTNYqe?[NRYTSQby@yzWvT`wQo}y]c_WgxBYCy\tRNRg@NZCaaq8?`\t^`?ryD\t=obzw?E]Ou]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{ug8^f[YQAWad8FNqxFQE?ZOo\t}RnO\bsQc\txyccn=nxvs>bDBf\b\bW\\TuTnvAO^U\0QXC>xx8FxRFf<tJ:::::R[Q-PR_aVSVPNaR:::::"));var re=function(e,t){return re=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},re(e,t)};function ne(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}re(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var ie=function(){return ie=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},ie.apply(this,arguments)};function oe(e,t,r,n){var i,o=arguments.length,a=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(a=(o<3?i(a):o>3?i(t,r,a):i(t,r))||a);return o>3&&a&&Object.defineProperty(t,r,a),a}function ae(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function se(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{l(n.next(e))}catch(e){o(e)}}function s(e){try{l(n.throw(e))}catch(e){o(e)}}function l(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}l((n=n.apply(e,t||[])).next())}))}function le(e,t){var r,n,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(l){return function(s){if(r)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(r=1,n&&(i=2&s[0]?n.return:s[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,s[1])).done)return i;switch(n=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]<i[3])){a.label=s[1];break}if(6===s[0]&&a.label<i[1]){a.label=i[1],i=s;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(s);break}i[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],n=0}finally{r=i=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,l])}}}function ce(e,t,r){if(r||2===arguments.length)for(var n,i=0,o=t.length;i<o;i++)!n&&i in t||(n||(n=Array.prototype.slice.call(t,0,i)),n[i]=t[i]);return e.concat(n||Array.prototype.slice.call(t))}var ue,de=(ue="$$FIVE_EVENT$$","undefined"==typeof Symbol?"$Symbol<".concat(ue,">$"):Symbol(ue));function pe(e){return e[de]||(e[de]={}),e[de]}var he=function(){function e(){}return e.prototype.hasListener=function(e){var t=pe(this);return t&&t[e]&&t[e].callbacks.length>0},e.prototype.on=function(e,t,r){var n=this,i=pe(this);return i[e]||(i[e]={called:[!1],callbacks:[]}),i[e].callbacks.push([t,r||!1]),function(){return n.off(e,t)}},e.prototype.once=function(e,t){return this.on(e,t,!0)},e.prototype.off=function(e,t){if(void 0!==e){var r,n=pe(this);if(n[e]||(n[e]={called:[!1],callbacks:[]}),void 0!==t){for(var i=0;i<n[e].callbacks.length&&n[e].callbacks[i][0]!==t;i++);i<n[e].callbacks.length&&n[e].callbacks.splice(i,1)}else n[e].callbacks.length=0}else(r=this)[de]||delete r[de]},e.prototype.emit=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];var n=!1,i=pe(this);i[e]||(i[e]={called:[!1],callbacks:[]}),i[e].called=[!0,t];for(var o=0,a=i[e].callbacks.slice();o<a.length;o++){var s=a[o],l=s[0],c=s[1],u=void 0!==c&&c,d=l.apply(void 0,t);u&&this.off(e,l),!1===d&&(n=!0)}return n},e.prototype.waitUnitl=function(e){var t=this,r=pe(this);r[e]||(r[e]={called:[!1],callbacks:[]});var n=r[e].called,i=n[0],o=n[1];return i?Promise.resolve(o):new Promise((function(r){t.once(e,(function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return r(e),!0}))}))},e}();function fe(){}var ve="undefined"!=typeof performance&&void 0!==performance.timing?performance.timing.navigationStart:Date.now(),me="undefined"!=typeof performance?function(){return ve+performance.now()}:function(){return Date.now()};function Ae(e){Object.freeze(e);var t="function"==typeof e,r=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(e).forEach((function(n){!r.call(e,n)||t&&("caller"===n||"callee"===n||"arguments"===n)||null===e[n]||"object"!=typeof e[n]&&"function"!=typeof e[n]||Object.isFrozen(e[n])||Ae(e[n])})),e}var ge=/^([^.]+)(\.([^.]+))*$/;function ye(e){return/^(([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])(\.(?!$)|$)){4}$/.test(e)}function be(e,t){return ge.test(e)&&ge.test(t)&&function(e,t){if("*"===e)return!0;var r=e.split(".").reverse(),n=t.split(".").reverse();if(r.length<=1)return e===t;for(var i=0;i<r.length;i++)if(r[i]!==n[i])return!1;return!0}(e,t)}var xe=[/\.([0-9a-z]+)\.jsonp([\?\#].*)?$/i,/jsonp_([0-9a-z]+)([\?\#].*)?$/i],we=Ae(JSON.parse(function(){return arguments[0].split("").map((function(e){return e.charCodeAt(0)>126?e:String.fromCharCode((e.charCodeAt(0)+113)%126)})).join("")}("h/y|pnyu|/9/xr;p|z/9/yvn{wvn;p|z/9/rnyrr;p|z/9/rnyrr;p{/9/rnyrr;w}/9/uv;p|z/9/uv;p{/9/ywpq{;p|z/9/rnyrr:pq{;p|z/9/rnyrr:pq{;p{/9/rnyrr;nv/9/;p{/9/pq{;p{/9/pnyp{|qr;vr/j"))),Ee=function(e){function t(t,r,n){return e.call(this,"[NETWORK]: request proxy error(type: ".concat(r,", reason: ").concat(n,"): ").concat(t))||this}return ne(t,e),t}(Error),Me=function(e){function t(t,r,n){var i=e.call(this,"[NETWORK]: response error(type: ".concat(r,", status: ").concat(n,"): ").concat(t))||this;return i.httpStatus=n,i}return ne(t,e),t}(Error);!function(e){function t(t,r){return e.call(this,"[NETWORK]: request abort(type: ".concat(r,"): ").concat(t))||this}ne(t,e)}(Error);var Ce=function(e){function t(t,r,n){return e.call(this,"[NETWORK]: request timeout(type: ".concat(r,", timeout: ").concat(n,"ms): ").concat(t))||this}return ne(t,e),t}(Error),Se=function(e){function t(t,r,n){return e.call(this,"[NETWORK]: request forbidden(type: ".concat(r,", reason: ").concat(n,"): ").concat(t))||this}return ne(t,e),t}(Error);function Ie(e){for(var t=0,r=xe;t<r.length;t++){var n=r[t],i=e.match(n);if(i)return"jsonp_"+i[1]}return null}function Pe(e){return null!==Ie(e)}function Te(e){var t=e.match(/^([0-9a-z]+\:)\/\/(([^:/?#]*)(?::[0-9]+)?)/);return t?t[1]:location.protocol}function Be(e){if(/^blob\:/i.test(e))return"blob:";if(/^data\:/i.test(e))return"data:";var t=e.match(/^[0-9a-z]+\:\/\/(([^:/?#]*)(?::[0-9]+)?)/i);return t?t[2]:location.hostname}var Re=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return ne(t,e),t}(he);function ke(e,t,r,n,i){void 0===t&&(t={}),void 0===r&&(r=fe),void 0===n&&(n=fe),void 0===i&&(i=fe);var o=me(),a=e;return Promise.resolve().then((function(){return t.requestProxy?t.requestProxy(e):e})).then((function(e){return/^https\:/.test(location.href)&&/^http\:/.test(e)?(console.warn("The page at '".concat(location.href,"' was loaded over HTTPS, but requested an insecure element '").concat(e,"'. This request was automatically upgraded to HTTPS")),e.replace(/^http\:/,"https:")):e})).catch((function(r){var n,i=Ie(e)?"Script":"XMLHttpRequest",o=new Ee(a,i,r&&r.message?String(r.message):String(r));return null===(n=t.networkSubscribe)||void 0===n||n.emit("network",e,i,"proxy-error",o.message),Promise.reject(o)})).then((function(e){return new Promise((function(s,l){var c,u=t.allowHosts?we.concat(t.allowHosts):we.slice(),d=Be(e),p=Ie(e);if(0!==location.hostname.length&&!ye(location.hostname)&&0===we.filter((function(e){return be(e,location.hostname)})).length&&!ye(d)&&0===u.filter((function(e){return be(e,d)})).length){var h=p?"Script":"XMLHttpRequest",f=new Se(e,h,"request host(".concat(d,") is not allowed"));return n(f),l(f),void(null===(c=t.networkSubscribe)||void 0===c||c.emit("network",e,h,"forbidden",f.message))}if(p){var v=window,m=null,A=!1,g=document.createElement("script");v[p]=function(i){var c,u,d=me(),h=d-o;if(delete v[p],g.parentNode&&g.parentNode.removeChild(g),null!==m&&(window.clearTimeout(m),m=null),!0!==A){if(0!==i.indexOf("data:")){var f=new Me(e,"Script",500);return n(f),l(f),void(null===(c=t.networkSubscribe)||void 0===c||c.emit("network",e,"Script","error",f.message))}var y=i.split(","),b=(y[0].match(/:(.*?);/)||[])[1],x=y[1];if("arraybuffer"===t.responseType||"blob"===t.responseType){for(var w=atob(y[1]),E=w.length,M=new Uint8Array(E),C=0;C<E;C++)M[C]=w.charCodeAt(C);x="arraybuffer"===t.responseType?M.buffer:new Blob([M],{type:b})}var S={body:x,meta:{origin:a,source:e,requestTime:o,responseTime:d,costs:h,headers:{}}};r(S),s(S),null===(u=t.networkSubscribe)||void 0===u||u.emit("network",e,"Script","ok",JSON.stringify(S.meta)),A=!0}},g.src=e,document.body.appendChild(g),"number"==typeof t.timeout&&(m=window.setTimeout((function(){var r;if(m=null,!0!==A){A=!0;var i=new Ce(e,"Script",t.timeout||NaN);n(i),l(i),null===(r=t.networkSubscribe)||void 0===r||r.emit("network",e,"Script","timeout",i.message)}}),t.timeout))}else{var y=!1,b=new XMLHttpRequest,x=function(){b&&(b.removeEventListener("timeout",w,!1),b.removeEventListener("progress",E,!1),b.removeEventListener("load",M,!1),b.removeEventListener("error",C,!1)),b=null,x=fe},w=function(){var r;if(!0!==y){y=!0,x();var i=new Ce(e,"XMLHttpRequest",t.timeout||NaN);n(i),l(i),null===(r=t.networkSubscribe)||void 0===r||r.emit("network",e,"XMLHttpRequest","timeout",i.message)}},E=function(e){!0!==y&&e.lengthComputable&&(e.total<=0||i(e.loaded/e.total))},M=function(n){var i;if(!0!==y){var l=this.status;if(0===l||l>=200&&l<400){y=!0,x();var c=me(),u=c-o,d=function(e){if(!e)return{};for(var t={},r=e.trim().split("\n"),n=0;n<r.length;n++){var i=r[n],o=i.indexOf(":"),a=i.slice(0,o).trim().toLowerCase(),s=i.slice(o+1).trim();s&&(t[a]?t[a]+=", "+s:t[a]=s)}return t}(this.getAllResponseHeaders()),p=n.total,h={body:this.response,meta:{origin:a,source:e,requestTime:o,responseTime:c,costs:u,headers:d,size:p}};r(h),s(h),null===(i=t.networkSubscribe)||void 0===i||i.emit("network",e,"XMLHttpRequest","ok",JSON.stringify(h.meta))}else C.call(this)}},C=function(){var r;if(!0!==y){y=!0,x();var i=new Me(e,"XMLHttpRequest",this.status);n(i),l(i),null===(r=t.networkSubscribe)||void 0===r||r.emit("network",e,"XMLHttpRequest","error",i.message)}};b.addEventListener("timeout",w,!1),b.addEventListener("progress",E,!1),b.addEventListener("load",M,!1),b.addEventListener("error",C,!1),t.responseType&&(b.responseType=t.responseType),"number"==typeof t.timeout&&(b.timeout=t.timeout),b.open("GET",e,!0),b.send(null)}}))}))}var Oe={};var Fe=function(){function e(e){void 0===e&&(e={}),this.options=Ae(e)}return e.prototype.ajax=function(e,t,r,n,i){var o;void 0===t&&(t={}),void 0===r&&(r=fe),void 0===n&&(n=fe),void 0===i&&(i=fe);var a=this.options;return ke(e,{responseType:t.responseType,timeout:null!==(o=t.timeout)&&void 0!==o?o:a.timeout,get allowHosts(){var e;return null!==(e=t.allowHosts)&&void 0!==e?e:a.allowHosts},get requestProxy(){var e;return null!==(e=t.requestProxy)&&void 0!==e?e:a.requestProxy},get networkSubscribe(){var e;return null!==(e=t.networkSubscribe)&&void 0!==e?e:a.networkSubscribe}},r,n,i)},e.prototype.loadImage=function(e,t,r,n,i,o){var a;void 0===t&&(t={}),void 0===r&&(r=fe),void 0===n&&(n=fe),void 0===i&&(i=fe);var s=this.options;return function(e,t,r,n,i,o){void 0===t&&(t={}),void 0===r&&(r=fe),void 0===n&&(n=fe),void 0===i&&(i=fe);var a=me(),s=e;return Promise.resolve().then((function(){return t.requestProxy?t.requestProxy(e):e})).then((function(e){return/^https\:/.test(location.href)&&/^http\:/.test(e)?(console.warn("The page at '".concat(location.href,"' was loaded over HTTPS, but requested an insecure element '").concat(e,"'. This request was automatically upgraded to HTTPS")),e.replace(/^http\:/,"https:")):e})).catch((function(r){var n,i=new Ee(s,"Image",r&&r.message?String(r.message):String(r));return null===(n=t.networkSubscribe)||void 0===n||n.emit("network",e,"Image","proxy-error",i.message),Promise.reject(i)})).then((function(e){return new Promise((function(l,c){var u,d=t.allowHosts?we.concat(t.allowHosts):we.slice(),p=Be(e);if(0!==location.hostname.length&&!ye(location.hostname)&&0===we.filter((function(e){return be(e,location.hostname)})).length&&!ye(p)&&0===d.filter((function(e){return be(e,p)})).length){var h=new Se(e,"Image","request host(".concat(p,") is not allowed"));return n(h),c(h),void(null===(u=t.networkSubscribe)||void 0===u||u.emit("network",e,"Image","forbidden",h.message))}var f=null!=o?o:new Image,v=!1,m=null;"number"==typeof t.timeout&&(m=window.setTimeout((function(){var r;if(f.onload=fe,f.onerror=fe,m=null,!0!==v){v=!0;var i=new Ce(e,"Image",t.timeout);n(i),c(i),null===(r=t.networkSubscribe)||void 0===r||r.emit("network",e,"Image","timeout",i.message)}}),t.timeout)),f.onload=function(){var n;if(f.onload=fe,f.onerror=fe,null!==m&&(clearTimeout(m),m=null),!0!==v){var o=me();v=!0;var c={body:f,meta:{headers:{},origin:s,source:e,requestTime:a,responseTime:o,costs:o-a}};i(1),r(c),l(c),null===(n=t.networkSubscribe)||void 0===n||n.emit("network",e,"Image","ok",JSON.stringify(c.meta))}},f.onerror=function(){var r;if(f.onload=fe,f.onerror=fe,null!==m&&(clearTimeout(m),m=null),!0!==v){v=!0;var i=new Me(e,"Image",0);n(i),c(i),null===(r=t.networkSubscribe)||void 0===r||r.emit("network",e,"Image","ok",i.message)}},i(0),f.src=e}))}))}(e,{timeout:null!==(a=t.timeout)&&void 0!==a?a:s.timeout,get allowHosts(){var e;return null!==(e=t.allowHosts)&&void 0!==e?e:s.allowHosts},get requestProxy(){var e;return null!==(e=t.requestProxy)&&void 0!==e?e:s.requestProxy},get networkSubscribe(){var e;return null!==(e=t.networkSubscribe)&&void 0!==e?e:s.networkSubscribe}},r,n,i,o)},e.prototype.preload=function(e,t){var r;void 0===t&&(t={});var n=this.options;return function(e,t){void 0===t&&(t={});var r=me(),n=e;return Promise.resolve().then((function(){return t.requestProxy?t.requestProxy(e):e})).then((function(e){return/^https\:/.test(location.href)&&/^http\:/.test(e)?(console.warn("The page at '".concat(location.href,"' was loaded over HTTPS, but requested an insecure element '").concat(e,"'. This request was automatically upgraded to HTTPS")),e.replace(/^http\:/,"https:")):e})).catch((function(r){var i,o=new Ee(n,"Link",r&&r.message?String(r.message):String(r));return null===(i=t.networkSubscribe)||void 0===i||i.emit("network",e,"Link","proxy-error",o.message),Promise.reject(o)})).then((function(e){return e in Oe?Oe[e]:Oe[e]=new Promise((function(i,o){var a,s=t.allowHosts?we.concat(t.allowHosts):we.slice(),l=Be(e);if(0!==location.hostname.length&&!ye(location.hostname)&&0===we.filter((function(e){return be(e,location.hostname)})).length&&!ye(l)&&0===s.filter((function(e){return be(e,l)})).length){var c=new Se(e,"Link","request host(".concat(l,") is not allowed"));return o(c),void(null===(a=t.networkSubscribe)||void 0===a||a.emit("network",e,"Link","forbidden",c.message))}var u=document.createElement("link");u.href=e,u.rel=u.relList&&u.relList.supports("prefetch")?"prefetch":"preload",u.as="fetch",u.crossOrigin="";var d=document.head||document.getElementsByTagName("head")[0];d&&d.appendChild(u);var p=!1;u.onload=function(){var o;if(!0!==p){p=!0,i();var a=me(),s={origin:n,source:e,requestTime:r,responseTime:a,costs:a-r,headers:{}};null===(o=t.networkSubscribe)||void 0===o||o.emit("network",e,"Link","preload",JSON.stringify(s))}},u.onerror=function(r){var n;if(!0!==p){p=!0;var i=new Me(e,"Link",0);o(i),null===(n=t.networkSubscribe)||void 0===n||n.emit("network",e,"Link","error",i.message)}}}))}))}(e,{timeout:null!==(r=t.timeout)&&void 0!==r?r:n.timeout,get allowHosts(){var e;return null!==(e=t.allowHosts)&&void 0!==e?e:n.allowHosts},get requestProxy(){var e;return null!==(e=t.requestProxy)&&void 0!==e?e:n.requestProxy},get networkSubscribe(){var e;return null!==(e=t.networkSubscribe)&&void 0!==e?e:n.networkSubscribe}})},e}(),De=new Fe,Qe=function(){if("undefined"!=typeof window){var e=window;return e.requestAnimationFrame||e.mozRequestAnimationFrame||e.webkitRequestAnimationFrame||e.msRequestAnimationFrame||function(e){return setTimeout(e,16)}}return function(e){return setTimeout(e,16)}}(),Le=16,Ne=function(){function e(){this.frames=[],this.stoped=!1,this.time=me(),this.context=null,this.loop=this.loop.bind(this),this.loop()}return Object.defineProperty(e,"shared",{get:function(){return this.sharedInstance||(this.sharedInstance=new e),this.sharedInstance},enumerable:!1,configurable:!0}),e.getFrameTime=function(){return Le},e.prototype.loop=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];if(!this.stoped){var r=me(),n=r-this.time;this.time=r;var i=[];Le=n;for(var o=0,a=this.frames;o<a.length;o++){var s=a[o];if(s.delay>0)s.delay=s.delay-1;else{try{s.callback.apply(s,ce([r,n],e,!1))}catch(e){console.error(e)}s.once&&i.push(s)}}i.length>0&&(this.frames=this.frames.filter((function(e){return-1===i.indexOf(e)}))),this.requestAnimationFrame(this.loop)}},e.prototype.setContext=function(e){this.cancelAnimationFrame(this.requestId),this.context=e,this.requestId=this.requestAnimationFrame(this.loop)},e.prototype.getContext=function(){return this.context},e.prototype.requestAnimationFrame=function(e){return this.context?this.context.requestAnimationFrame(e):Qe(e)},e.prototype.cancelAnimationFrame=function(e){this.context?this.context.cancelAnimationFrame(e):function(e){var t;if("undefined"!=typeof window){var r=window;t=r.cancelAnimationFrame||r.mozCancelAnimationFrame||r.webkitCancelAnimationFrame||r.msCancelAnimationFrame||function(e){return window.clearTimeout(e)}}else t=function(e){return window.clearTimeout(e)};t(e)}(this.loop),this.requestId=null},e.prototype.remove=function(e){var t=this.frames.indexOf(e);t>=0&&this.frames.splice(t,1)},e.prototype.add=function(e,t,r,n){var i=this;void 0===t&&(t=!1),void 0===r&&(r=0),void 0===n&&(n=5);var o={callback:e,once:t,delay:r,order:n};return this.frames.push(o),this.frames.sort((function(e,t){return e.order-t.order})),function(){return i.remove(o)}},e.prototype.disponse=function(){this.stoped=!0,this.frames.length=0},e}(),Ve={"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"]}},ze=/^https?\:\/\/?([^\/]+)/;function je(e,t){return e.replace(ze,(function(e,r){return e.slice(0,e.length-r.length)+t}))}var Ue=function(e,t){var r,n=e.split("?")[0],i=n.split(".").pop();if("jpeg"===i&&(i="jpg"),"png"!==i&&"jpg"!==i)return e;var o="";if(void 0!==t.format&&t.format!==i&&(o+="/format/".concat(t.format)),void 0!==t.cut&&(o+="/cut/".concat(t.cut[2],"x").concat(t.cut[3],"x").concat(t.cut[0],"x").concat(t.cut[1])),void 0!==t.quality){var a=null!==(r=t.format)&&void 0!==r?r:i;a&&["jpg","webp","tpg","heif","avif"].indexOf(a)>=0&&(o+="/quality/".concat(t.quality))}if(void 0!==t.size){var s=e.match(/\/cube_(\d+)\//);(s?Number(s[1]):NaN)!==Number(t.size)&&(o+="/thumbnail/".concat(t.size,"x"))}return void 0!==t.sharpen&&(o+="/sharpen/".concat(t.sharpen)),o.length&&(o="?imageMogr2"+o),n+o},qe=function(e,t){var r,n=e.split("?")[0],i=n.split(".").pop();if("jpeg"===i&&(i="jpg"),"png"!==i&&"jpg"!==i)return e;var o="",a=[],s=t.format,l=t.quality,c=t.size;if(void 0!==s&&s!==i&&a.push("format,".concat("heif"===s?"heic":s)),void 0!==t.cut){var u=t.cut,d=u[0],p=u[1],h=u[2],f=u[3];a.push("crop,x_".concat(d,",y_").concat(p,",w_").concat(h,",h_").concat(f,",g_nw"))}if(void 0!==l&&100!==l){var v=null!==(r=t.format)&&void 0!==r?r:i;v&&["jpg","webp"].indexOf(v)>=0&&a.push("quality,Q_".concat(l))}return c&&2048!==c&&a.push("resize,w_".concat(c)),void 0!==t.sharpen&&a.push("sharpen,".concat(t.sharpen)),a.length&&(o="?x-oss-process=image/"+a.join("/")),n+o};function _e(e,t){var r=ie(ie({},Ve),t.mappings),n=function(e){var t=e.match(ze);return null===t?null:t[1]}(e);if(null===n)return e;var i=r[n];return i?(e=function(e,t,r){var n=t.split("."),i=n[0],o=n.slice(1);if("texture"===i)return je(e,r.texture[0]);if("pano"===i||"pano_luminance"===i)switch(o[0],o[1]){case"front":case"left":case"up":return je(e,r.pano[0]);case"down":case"right":case"back":return je(e,r.pano[1])}else if("pano_tile"===i||"pano_tile_luminance"===i){o[0],o[1];var a=o[2],s=o[3],l=o[4],c=Math.pow(2,Number(a))*Number(s)+Number(l);if(!isNaN(c))return je(e,r.tile[c%2])}else if("model"===i){var u=o[0];if(c=Number(u),!isNaN(c))return je(e,r.model[c%2])}return je(e,r.default[0])}(e,t.key,i),/\.basis(\?|$)/.test(e)&&(e=e.replace(/\.basis(\?|$)/,".jpg$1")),"tencentCloud"===i.type?Ue(e,t):"aliyun"===i.type?qe(e,t):e):e}function He(e,t,r){void 0===t&&(t=_e);var n=t(e,r);if(n===e&&r.cut)throw new Error("ImageURL: cut option not applied.");return n}function Ge(e){return new Promise((function(t){var r=new Image,n=setTimeout((function(){r.onload=r.onerror=function(){},clearTimeout(n),t(!1)}),100);r.onload=r.onerror=function(){r.onload=r.onerror=function(){},clearTimeout(n),t(2===r.height)},r.src=e}))}var Ke=null;function We(){return Ke||(Ke=Promise.all([Ge("data:image/webp;base64,UklGRiQAAABXRUJQVlA4IBgAAAAwAQCdASoCAAIAAUAmJaQAA3AA/vz0AAA="),Ge("data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAAGhbWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAsaWxvYwAAAABEAAACAAEAAAABAAAB3gAAABkAAgAAAAEAAAHJAAAAFQAAAEJpaW5mAAAAAAACAAAAGmluZmUCAAAAAAEAAGF2MDFDb2xvcgAAAAAaaW5mZQIAAAAAAgAAYXYwMUFscGhhAAAAABppcmVmAAAAAAAAAA5hdXhsAAIAAQABAAAA12lwcnAAAACxaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIAAoAAAAAUaXNwZQAAAAAAAAACAAAAAgAAAA5waXhpAAAAAAEIAAAADGF2MUOBABwAAAAAOGF1eEMAAAAAdXJuOm1wZWc6bXBlZ0I6Y2ljcDpzeXN0ZW1zOmF1eGlsaWFyeTphbHBoYQAAAAAeaXBtYQAAAAAAAAACAAEEAQKDBAACBAUGhwgAAAA2bWRhdBIACgQYADLVMgsWQBhhIAQqrNj/+BIACgUYADLEoDIOFkADDDDCQAACDaqCCb4="),Ge("data:image/heif;base64,AAAAGGZ0eXBoZWljAAAAAG1pZjFoZWljAAABL21ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAHBpY3QAAAAAAAAAAAAAAAAAAAAADnBpdG0AAAAAAAEAAAAjaWluZgAAAAAAAQAAABVpbmZlAgAAAAABAABodmMxAAAAAK9pcHJwAAAAkmlwY28AAAB2aHZjQwEBYAAAAAAAAAAAAADwAPz9+PgAACcDoAABAB5AAQwG//8BYAAAAwAAAwAAAwAAAwAAAwAAreTLgSChAAEAI0IBBwFgAAADAAADAAADAAADAAADAAChInJJlreTLySZNdggogABAAdEAcA98DMkAAAAFGlzcGUAAAAAAAAAAgAAAAIAAAAVaXBtYQAAAAAAAAABAAECgQIAAAAiaWxvYwAAAABEQAABAAEAAAAAAU8AAQAAAAAAAAAOAAAAFm1kYXQAAAAKJgGvLvkQwuWM4A==")]).then((function(e){return{webp:e[0],avif:e[1],heif:e[2]}})))}var Ye=/^(.*)\[(\d+)\]$/;function Xe(e){if(!isNaN(e.panoIndex)&&isFinite(e.panoIndex))return"".concat(e.workCode,"[").concat(e.panoIndex,"]");throw new Error("Invalid Pano")}function Je(e){var t=e.match(Ye);if(t){t[0];var r=t[1],n=t[2],i=Math.floor(Number(n));if(!isNaN(i)&&isFinite(i))return{workCode:r,panoIndex:i}}throw new Error("Invalid PanoId")}function Ze(e,t){return Xe(e)===Xe(t)}function $e(e){return"string"==typeof e&&Ye.test(e)}var et=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return ne(t,e),t}(n.Group),tt=function(e){function t(t,r){var n=e.call(this,t,r)||this;return n.onBeforeRender=rt,n}return ne(t,e),t}(n.Mesh);function rt(e,t,r){for(var n=0,i=this.material;n<i.length;n++){var o=i[n];this.model&&o.syncModel(this.model),o.update(e,r)}}var nt=(new n.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=");nt.minFilter=n.NearestFilter,nt.magFilter=n.NearestFilter,nt.wrapS=n.RepeatWrapping,nt.wrapT=n.RepeatWrapping;var it={pano0:null,pano1:null,shownFloorIndex:-1,modelAlpha:1,opacity:1,progress:0,useBlackTransition:!1,clippers:null,constantColor:null,useEDL:!1,useHQWeight:!1,useHQDepth:!1,pointColor:"RGB",pointSize:"ATTENUATION",pointBack:"DARK",pointShape:"SQUARE",pointScale:.03,pointMaxPixel:40,pointMinPixel:.5,gradientTexture:nt};function ot(e,t){var r=null!=e?e:[],n=null!=t?t:[];if(n.length!==r.length)return!1;for(var i=0;i<n.length;i++)if(!r[i].clippingBoxMatrix.equals(n[i].clippingBoxMatrix)||r[i].floorIndex!==n[i].floorIndex)return!1;return!0}function at(e,t){var r,n,i=!1;for(var o in t)switch(o){case"clippers":ot(e[o],t[o])||(e[o]=t[o],i=!0);break;case"pano0":case"pano1":r=e[o],n=t[o],(r&&n?r.luminanceMap===n.luminanceMap&&r.map===n.map&&r.matrix.equals(n.matrix):!r&&!n)||(e[o]=t[o],i=!0);break;default:e[o]!==t[o]&&(e[o]=t[o],i=!0)}return i}var st=function(e){function t(t,r){var n=e.call(this,t,r)||this;return n.onBeforeRender=lt,n}return ne(t,e),t}(n.Points);function lt(e,t,r){this.model&&this.material.syncModel(this.model),this.material.update(e,r)}var ct=new Set,ut=function(e){function t(){var t=e.call(this)||this;return t.needsRender=!0,t.pbmMaterialParametersVersion=0,t.materialParameters=ie({},it),t}return ne(t,e),t.prototype.getMaterial=function(){return ie({},this.materialParameters)},t.prototype.setMaterial=function(e){var t=this;Object.assign(this.materialParameters,e),ct.clear(),this.traverse((function(e){if(e instanceof tt)for(var r=0,n=e.material;r<n.length;r++){var i=n[r];ct.has(i)||(Object.assign(i,t.materialParameters),ct.add(i))}e instanceof st&&(ct.has(e.material)||(Object.assign(e.material,t.materialParameters),ct.add(e.material)))})),ct.clear(),this.needsRender=!0},t}(n.Group),dt=["right","left","up","down","front","back"];function pt(e,t,r,i){var o=new n.Box3;switch(e){case"up":o.min.y=.5,o.max.y=.5,o.min.x=+t-.5,o.max.x=+t-.5+i,o.min.z=.5-r-i,o.max.z=.5-r;break;case"down":o.min.y=-.5,o.max.y=-.5,o.min.x=+t-.5,o.max.x=+t-.5+i,o.min.z=+r-.5,o.max.z=+r-.5+i;break;case"left":o.min.x=-.5,o.max.x=-.5,o.min.z=.5-t-i,o.max.z=.5-t,o.min.y=.5-r-i,o.max.y=.5-r;break;case"right":o.min.x=.5,o.max.x=.5,o.min.z=+t-.5,o.max.z=+t-.5+i,o.min.y=.5-r-i,o.max.y=.5-r;break;case"front":o.min.z=-.5,o.max.z=-.5,o.min.x=+t-.5,o.max.x=+t-.5+i,o.min.y=.5-r-i,o.max.y=.5-r;break;case"back":o.min.z=.5,o.max.z=.5,o.min.x=.5-t-i,o.max.x=.5-t,o.min.y=.5-r-i,o.max.y=.5-r}return o.applyMatrix4((new n.Matrix4).makeRotationY(Math.PI))}var ht=function(e,t){if(!(e.level>=t))for(var r=e.level+1,i=e.size/2,o=0,a=[new n.Vector2(e.position.x,e.position.y),new n.Vector2(e.position.x+i,e.position.y),new n.Vector2(e.position.x,e.position.y+i),new n.Vector2(e.position.x+i,e.position.y+i)];o<a.length;o++){var s=a[o],l={face:e.face,level:r,size:i,position:s,box:pt(e.face,s.x,s.y,i),children:[]};e.children.push(l),ht(l,t)}};function ft(e){var t=dt.map((function(t){return function(e,t){var r={level:0,face:e,position:new n.Vector2(0,0),size:1,box:pt(e,0,0,1),children:[]};return ht(r,t),r}(t,e)}));return{children:t}}function vt(e,t){for(var r=0,n=e.children;r<n.length;r++){var i=n[r];!1!==t(i)&&vt(i,t)}}var mt=new n.BoxBufferGeometry(1,1,1,1,1);mt.deleteAttribute("uv"),mt.deleteAttribute("normal"),mt.groups=[],mt.scale(-1,1,1);var At=new n.ShaderMaterial({uniforms:{map:{value:null}},vertexShader:"\nvarying vec3 worldPosition;\nvoid main() {\n vec4 transform = vec4(position, 1.0);\n worldPosition = (modelMatrix * transform).xyz;\n gl_Position = projectionMatrix * modelViewMatrix * transform;\n}\n",fragmentShader:"\nuniform samplerCube map;\nvarying vec3 worldPosition;\nvoid main() {\n gl_FragColor = textureCube(map, worldPosition);\n}\n",depthTest:!1,depthWrite:!1,stencilWrite:!1,blending:n.NoBlending,lights:!1,toneMapped:!1,fog:!1}),gt=new n.Scene;gt.matrixAutoUpdate=!1;var yt,bt=new n.Mesh(mt,At);function xt(e,t,r){At.uniforms.map.value=e;var i=r.autoClear;r.autoClear=!1;var o=new n.CubeCamera(.1,2,t);o.matrixAutoUpdate=!1,o.update(r,gt),r.autoClear=i,At.uniforms.map.value=null}bt.matrixAutoUpdate=!1,gt.add(bt);var wt=null!==(yt=Math.SQRT1_2)&&void 0!==yt?yt:Math.sqrt(2),Et={up:new n.Quaternion(wt,0,0,wt),down:new n.Quaternion(-wt,0,0,wt),left:new n.Quaternion(0,wt,0,wt),right:new n.Quaternion(0,-wt,0,wt),front:new n.Quaternion(0,0,0,1),back:new n.Quaternion(0,1,0,0)},Mt=function(){var e=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]),r=new Uint8Array([0,1,2,1,3,2]),i=new n.BufferGeometry;return i.setAttribute("position",new n.BufferAttribute(e,3)),i.setAttribute("uv",new n.BufferAttribute(t,2)),i.setIndex(new n.BufferAttribute(r,1)),i}(),Ct="\nvarying vec2 vUv;\nuniform float flipY;\nvoid main() {\n vUv = vec2(uv.x, mix(uv.y, (1.0 - uv.y), flipY));\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n",St="\nuniform sampler2D map;\nvarying vec2 vUv;\nvoid main() {\n gl_FragColor = texture2D(map, vUv);\n}\n",It=[];function Pt(e){e.uniforms.map.value=null,It.push(e)}var Tt=[],Bt=0;Ne.shared.add((function(){if(Bt=6,Tt.length)for(var e=0,t=Tt.splice(0,Bt);e<t.length;e++){var r=t[e];Bt--,r()}}));var Rt=!!window.ImageBitmap,kt=!1;function Ot(){var e=Object.assign(document.createElementNS("http://www.w3.org/1999/xhtml","img"),{crossOrigin:"",close:function(){e.onerror=e.onload=e.close=fe,e.removeAttribute("src"),/^blob\:/.test(e.src)&&URL.revokeObjectURL(e.src)}});return e}function Ft(e){return new Promise((function(t,r){var n=Ot();n.onload=function(){/^blob\:/.test(n.src)&&URL.revokeObjectURL(n.src),n.onload=n.onerror=fe,setTimeout((function(){t(n)}),0)},n.onerror=function(){var e=n.src;n.onload=n.onerror=fe,n.close(),r(new Error("image load error: ".concat(e)))},n.src=URL.createObjectURL(e)}))}function Dt(e){return new Promise((function(t){Tt.push((function(){t(Ft(e))}))}))}var Qt=[];function Lt(e,t){if(t&&(e.width>t.width||e.height>t.height)){var r=function(e,t){var r=Qt.shift();if(r)return r.width=e,r.height=t,r;var n=Object.assign(document.createElementNS("http://www.w3.org/1999/xhtml","canvas"),{close:function(){n.close=fe,Qt.push(n)}});return n}(Math.min(e.width,t.width),Math.min(e.height,t.height)),i=r.getContext("2d");i.clearRect(0,0,r.width,r.height),i.drawImage(e,0,0,r.width,r.height),e.close();var o=new n.Texture(r);o.needsUpdate=!0,o.flipY=!0;var a=o.dispose;return o.dispose=function(){r.close(),a.call(o),o.dispose=a},o}var s=new n.Texture(e);s.needsUpdate=!0,Rt&&e instanceof ImageBitmap?s.flipY=!1:s.flipY=!0;var l=s.dispose;return s.dispose=function(){e.close(),l.call(s),s.dispose=l},s}var Nt=["right","left","up","down","front","back"],Vt=function(){function e(e,t,r,n,i){this.tileTree=t,this.tileSources=r,this.options=n,this.renderer=i,this.name="",this.needsRender=!1,this.disposed=!1,this.loadedCubeNodes=new Set,this.loadingCubeNodes=new Set,this.baseCubeTexture=null,this._cubeRenderTarget=null,this.textures=[],this.baseCubeTexture=e}return Object.defineProperty(e.prototype,"cubeRenderTarget",{get:function(){return this._cubeRenderTarget},set:function(e){var t,r,i,o,a;if(null===e)throw new Error("cannot set cubeRenderTarget to null.");e.width!==this.options.textureSize&&e.setSize(this.options.textureSize,this.options.textureSize),e.texture.format=null!==(t=this.options.format)&&void 0!==t?t:n.RGBAFormat,e.texture.minFilter=null!==(r=this.options.minFilter)&&void 0!==r?r:n.LinearFilter,e.texture.magFilter=null!==(i=this.options.magFilter)&&void 0!==i?i:n.LinearFilter,e.texture.wrapS=null!==(o=this.options.wrapS)&&void 0!==o?o:n.ClampToEdgeWrapping,e.texture.wrapT=null!==(a=this.options.wrapT)&&void 0!==a?a:n.ClampToEdgeWrapping,this.baseCubeTexture&&(xt(this.baseCubeTexture,e,this.renderer),this.baseCubeTexture.dispose(),this.baseCubeTexture=null),this._cubeRenderTarget&&xt(this._cubeRenderTarget.texture,e,this.renderer),this._cubeRenderTarget=e},enumerable:!1,configurable:!0}),e.prototype.requestTile=function(e){var t,r,i,o,a,s,l=this,c=this.tileSources.filter((function(t){return t.level===e.level}))[0];if(c){var u=c.size,d=Math.pow(2,e.level)*e.position.y,p=Math.pow(2,e.level)*e.position.x,h="".concat((null!==(i=null===(r=null===(t=this.options.imageURL)||void 0===t?void 0:t.options)||void 0===r?void 0:r.key)&&void 0!==i?i:"pano.0").replace(/^pano/,"pano_tile"),".").concat(e.face,".").concat(e.level,".").concat(d,".").concat(p),f=ie(ie({},null!==(a=null===(o=this.options.imageURL)||void 0===o?void 0:o.options)&&void 0!==a?a:{key:"unknown"}),{key:h,size:u*e.size===this.options.tileImageSize?void 0:this.options.tileImageSize,quality:void 0,cut:[u*e.position.x,u*e.position.y,u*e.size,u*e.size]});this.loadingCubeNodes.add(e),this.options.textureLoader.loadTexture(c[e.face],{imageURL:{transform:null===(s=this.options.imageURL)||void 0===s?void 0:s.transform,options:ie({},f)},format:n.RGBAFormat,viaAjax:kt,timeout:this.options.timeout,fetcher:this.options.fetcher}).then((function(t){l.disposed?t.body.dispose():(l.textures.push({face:e.face,level:e.level,position:e.position,size:new n.Vector2(e.size,e.size),texture:t.body,flipY:!t.body.flipY}),l.loadedCubeNodes.add(e))})).catch(fe).then((function(){l.disposed||l.loadingCubeNodes.delete(e)}))}else this.loadedCubeNodes.add(e)},e.prototype.update=function(e,t){var r=this;if(!this.disposed){var i=[];vt(this.tileTree,(function(n){return!r.loadingCubeNodes.has(n)&&(!(n.level>t)&&(!!e.intersectsBox(n.box)&&(r.loadedCubeNodes.has(n)?void 0:(i.push(n),!1))))}));for(var o=0,a=i;o<a.length;o++){var s=a[o];this.requestTile(s)}if(this.cubeRenderTarget&&this.textures.length){var l=this.textures.splice(0,4);!function(e,t,r){var i=new n.Scene;i.matrixAutoUpdate=!1;var o=new n.Group;o.scale.set(1,1,-1),i.add(o);for(var a=[],s=0,l=e;s<l.length;s++){var c=l[s],u=It.pop()||new n.ShaderMaterial({uniforms:{map:{value:null},flipY:{value:0}},vertexShader:Ct,fragmentShader:St,depthTest:!1,depthWrite:!1,stencilWrite:!1,blending:n.NoBlending,lights:!1,toneMapped:!1,fog:!1});a.push(u),u.uniforms.map.value=c.texture,u.uniforms.flipY.value=c.flipY?1:0;var d=new n.Group,p=new n.Mesh(Mt,u);p.position.set(c.position.x+c.size.x/2-.5,1-(c.position.y+c.size.y/2)-.5,-.5),p.scale.set(c.size.x,c.size.y,1),d.quaternion.copy(Et[c.face]),d.add(p),o.add(d)}var h=r.autoClear;r.autoClear=!1;var f=new n.CubeCamera(.1,2,t);f.matrixAutoUpdate=!1,f.update(r,i),r.autoClear=h;for(var v=0,m=a;v<m.length;v++)Pt(u=m[v])}(l,this.cubeRenderTarget,this.renderer),this.needsRender=!0;for(var c=0,u=l;c<u.length;c++){u[c].texture.dispose()}}}},Object.defineProperty(e.prototype,"tilePending",{get:function(){return this.loadingCubeNodes.size},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"texture",{get:function(){if(!this._cubeRenderTarget)throw new Error("cubeRenderTarget never set.");return this._cubeRenderTarget.texture},enumerable:!1,configurable:!0}),e.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 e=0,t=this.textures;e<t.length;e++){t[e].texture.dispose()}this.textures.length=0}},e}(),zt=function(){function e(){}return e.prototype.loadTexture=function(e,t,r,n,i,o){var a,s,l,c;void 0===r&&(r=fe),void 0===n&&(n=fe),void 0===i&&(i=fe);var u={};void 0!==t.flipY&&(u.flipY=t.flipY),void 0!==t.format&&(u.format=t.format),void 0!==t.minFilter&&(u.minFilter=t.minFilter),void 0!==t.magFilter&&(u.magFilter=t.magFilter);var d=null!==(s=null===(a=t.imageURL)||void 0===a?void 0:a.options)&&void 0!==s?s:{key:"unknown"},p=Te(e=He(e,null===(l=t.imageURL)||void 0===l?void 0:l.transform,d)),h=null!==(c=t.viaAjax)&&void 0!==c&&c,f=Pe(e),v=/^https?:/.test(p);if(f?h=!0:v||(h=!1),h){return t.fetcher.ajax(e,{timeout:t.timeout,responseType:"blob"},void 0,void 0,i).then((function(e){return Dt(e.body)})).then((function(e){return Lt(e,t.maxSize)})).then((function(e){return Object.assign(e,u),e})).then((function(e){var t={meta:null,body:e};return r(t),t})).catch((function(e){return n(e),Promise.reject(e)}))}var m,A=null;return Promise.resolve().then((function(){return Ot()})).then((function(r){return m=r,t.fetcher.loadImage(e,{timeout:t.timeout},void 0,void 0,i,r)})).then((function(e){return A=e.meta,Lt(e.body,t.maxSize)})).then((function(e){return Object.assign(e,u),e})).then((function(e){var t={meta:A,body:e};return r(t),t})).catch((function(e){return m&&m.close(),n(e),Promise.reject(e)}))},e.prototype.loadCubeTexture=function(e,t,r,i,o,a){var s,l,c,u;void 0===r&&(r=fe),void 0===i&&(i=fe),void 0===o&&(o=fe),void 0!==t.format&&t.format,void 0!==t.minFilter&&t.minFilter,void 0!==t.magFilter&&t.magFilter;for(var d=[e[Nt[0]],e[Nt[1]],e[Nt[2]],e[Nt[3]],e[Nt[4]],e[Nt[5]]],p=[],h=[0,0,0,0,0,0],f=[],v=function(e){var r=null!==(l=null===(s=t.imageURL)||void 0===s?void 0:s.options)&&void 0!==l?l:{key:"unknown"},n=He(d[e],null===(c=t.imageURL)||void 0===c?void 0:c.transform,ie(ie({},r),{key:r.key+"."+Nt[e]})),i=Te(n),a=function(t){h[e]=t,o(h.reduce((function(e,t){return e+t}),0)/6)},v=null!==(u=t.viaAjax)&&void 0!==u&&u,m=/^https?:$/.test(i);if(Pe(n)?v=!0:m||(v=!1),v){var A=t.fetcher.ajax(n,{timeout:t.timeout,responseType:"blob"},void 0,void 0,a).then((function(t){return f[e]=t.meta,Dt(t.body)}));p.push(A)}else{var g;A=Promise.resolve().then((function(){return Ot()})).then((function(e){return g=e,t.fetcher.loadImage(n,{timeout:t.timeout},void 0,void 0,a,e)})).then((function(t){return f[e]=t.meta,t.body})).catch((function(e){return g&&g.close(),Promise.reject(e)}));p.push(A)}},m=0;m<6;m++)v(m);return Promise.all(p).then((function(e){return function(e){var t=new n.CubeTexture(e);t.needsUpdate=!0,t.flipY=!1;var r=t.dispose;return t.dispose=function(){for(var n=0,i=e;n<i.length;n++)i[n].close();r.call(t),t.dispose=r},t}(e)})).then((function(e){return Object.assign(e,ie({encoding:n.sRGBEncoding},t)),e})).then((function(e){var t={body:e,meta:f};return r(t),t})).catch((function(e){for(var t=0,r=p;t<r.length;t++){r[t].then((function(e){return e.close()})).catch(fe)}return i(e),Promise.reject(e)}))},e.prototype.loadTiledCubeTexture=function(e,t,r,i,o,a,s){var l=this;return void 0===i&&(i=fe),void 0===o&&(o=fe),void 0===a&&(a=fe),new Promise((function(c,u){var d,p;l.loadCubeTexture(e,{imageURL:{transform:null===(d=r.imageURL)||void 0===d?void 0:d.transform,options:null===(p=r.imageURL)||void 0===p?void 0:p.options},format:n.RGBAFormat,viaAjax:r.viaAjax,timeout:r.timeout,fetcher:r.fetcher},(function(e){var n,o,a=e.meta,u=e.body,d=null!==(n=r.tileImageSize)&&void 0!==n?n:512,p=null!==(o=r.tileMaxLevel)&&void 0!==o?o:2,h=Math.max(1024*p,512),f=ft(p),v={meta:a,body:new Vt(u,f,t,{textureSize:h,tileImageSize:d,textureLoader:l,imageURL:r.imageURL,timeout:r.timeout,fetcher:r.fetcher},s)};i(v),c(v)}),(function(e){o(e),u(e)}),a,s).catch(fe)}))},e}(),jt=function(){return arguments[0].split("").map((function(e){return e.charCodeAt(0)>126?e:String.fromCharCode((e.charCodeAt(0)+113)%126)})).join("")}("0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6--nvor-sy|n-sy||H--n\bv{t-sy|n-Sy||H0r{qvsnvor-sy|n-v_||sZnxHn\bv{t-sy|n-V_||sZnxHn\bv{t-rp@-[|znyHn\bv{t-rp@-cvr]|vv|{Hn\bv{t-rpA-|yq]|vv|{Hn\bv{t-sy|n-Y|tQr}uHn\bv{t-znA-cvrZnvH0v{pyqr-Ip|zz|{K0v{pyqr-Il}nlrrK0v{pyqr-I?l}nlrrK0v{pyqr-Ip|y|l}nlrrK0v{pyqr-Iunq|zn}l}nlrrK|vq-znv{56-\n--0v{pyqr-IlrrK--0v{pyqr-I?lrrK--0v{pyqr-Ip|y|lrrK--0v{pyqr-Iortv{{|znylrrK--0v{pyqr-Iqrsny{|znylrrK--rpA-n{s|zrq-J-rpA5}|vv|{9->;=6H--rpA-z]|vv|{-J-z|qrycvrZnv-7-n{s|zrqH--[|zny-J-{|znyv\tr5n{s|zrq[|zny6H--0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6----Sy||-J-sy||H--0r{qvs--cvr]|vv|{-J-:z]|vv|{;\b\tH--|yq]|vv|{-J-z|qryZnv-7-n{s|zrqH--tyl]|vv|{-J-}|wrpv|{Znv-7-z|qrycvrZnv-7-n{s|zrqH--0v{pyqr-Iunq|zn}lrrK--Y|tQr}u-J-y|t?5:z]|vv|{;\t6H--cvrZnv-J-vrZnvH--V_||sZnx-J-v_||sZnxH\f"),Ut=function(){return arguments[0].split("").map((function(e){return e.charCodeAt(0)>126?e:String.fromCharCode((e.charCodeAt(0)+113)%126)})).join("")}("0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=60qrsv{r-aNb-C;?E@>EB?{vs|z-nz}yrPor-}n{|=lzn}H{vs|z-znA-}n{|=lznvH0vs-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{|>lznvH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|>lyzv{n{prZn}H0r{qvs{vs|z-rp@-qvssrH{vs|z-rp@-rzvvrH{vs|z-rp@-}rpynH{vs|z-sy|n-uv{v{rH{vs|z-sy|n-r}|rH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH{vs|z-sy|n-u|{Sy||V{qrHn\bv{t-sy|n-V_||sZnxH0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6--{vs|z-rp@-p|{n{P|y|H0r{qvs0vs-qrsv{rq5b`Rl]N[\\lcVQR\\6--{vs|z-rp?-}n{|cvqr|lv\trH--{vs|z-znA-}n{|cvqr|lznvH--{vs|z-sy|n-}n{|cvqr|lny}unH--{vs|z-nz}yr?Q-}n{|cvqr|lzn}H0r{qvs0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6--n\bv{t-sy|n-Sy||H0ryr--{vs|z-sy|n-sy||H0r{qvsn\bv{t-rpA-|yq]|vv|{Hn\bv{t-sy|n-Y|tQr}uHn\bv{t-znA-cvrZnvHp-Pyv}}r-\n--znA-znvV{rrH--sy|n-sy||V{qrH\fH0vs-[bZlPYV]]R_`-K-=--{vs|z-Pyv}}r-pyv}}rh[bZlPYV]]R_`jH0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-I}npxv{tK0v{pyqr-Ip|y|l}nlsntzr{K0v{pyqr-Il}nlsntzr{K0v{pyqr-I?l}nlsntzr{K0v{pyqr-Izn}l}nlsntzr{K0v{pyqr-Iny}unzn}l}nlsntzr{K0v{pyqr-In|zn}l}nlsntzr{K0v{pyqr-Iyvtuzn}l}nlsntzr{K0v{pyqr-Irzvvrzn}l}nlsntzr{K0v{pyqr-Ir{zn}l}nlsntzr{K0v{pyqr-Itnqvr{zn}l}nlsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-IoqsK0v{pyqr-Iyvtul}nlortv{K0v{pyqr-Iyvtul}u|{tl}nlsntzr{K0v{pyqr-Iunq|zn}l}nlsntzr{Krp?-|P||q5rp@-rp|6-\n--sy|n--J-yr{tu5rp|6H--sy|n-urn-J-np|5rp|;\b-<-6H--sy|n-}uv-J-nn{5rp|;9-rp|;\t6H--r{-rp?5=;B-8-}uv-<-aNb9-urn-<-]V6H\f|vq-znv{56-\n--sy|n-ory|{tv{tSY||-J-=;=H--0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6----ory|{tv{tSY||-J-Sy||H--0ryr----ory|{tv{tSY||-J-sy||H--0r{qvs--zn@-pnzrn_|nv|{Znv-J-zn@5cvrZnvh=jh=j9-cvrZnvh>jh=j9-cvrZnvh?jh=j9cvrZnvh=jh>j9-cvrZnvh>jh>j9-cvrZnvh?jh>j9cvrZnvh=jh?j9-cvrZnvh>jh?j9-cvrZnvh?jh?j6H--rp@-pnzrnQvrpv|{-J-{|znyv\tr5pnzrn_|nv|{Znv-7-rp@5=;=9=;=9>;=66H--vs5pnzrnQvrpv|{;\b-K-=;E-33-V_||sZnx-JJ->;=6-\n----qvpnqH--\f--<<前置裁切计算--0vs-[bZlPYV]]R_`-K-=----o||y-pyv}}rqH----rpA-pyv}}r]|vv|{H----0}ntzn-{|yyly||}ln----s|-5-v{-v-J-=H-v-I-[bZlPYV]]R_`H-v-88-6-\n------pyv}}r]|vv|{-J-pyv}}rh-v-j;znvV{rr-7-|yq]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr-I-=;=-\v\v-no5ory|{tv{tSY||-:-pyv}}rh-v-j;sy||V{qr6-I->;=6H------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;-K-:=;B-33-pyv}}r]|vv|{;-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|{;\t-K-:=;B-33-pyv}}r]|vv|{;\t-I-=;BH------vs-5pyv}}rq6-\n--------qvpnqH------\f----\f----0}ntzn-{|yyly||}lr{q--0r{qvs--0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6----tylSntP|y|-J-rpA5p|{n{P|y|;9-p|{n{P|y|;t9-p|{n{P|y|;o9->;=6H----r{H--0r{qvs--<<楼层选择计算--sy|n-sy||\\}npv\b-J->;=H--vs-5u|{Sy||V{qr-KJ-=;=-33-no5ory|{tv{tSY||-:-u|{Sy||V{qr6-KJ->;=6-\n----sy||\\}npv\b-J-=;>H--\f--rpA-qvssrP|y|-J-rpA5qvssr;to9-|}npv\b6H--_rsyrprqYvtu-rsyrprqYvtu-J-_rsyrprqYvtu5rp@5=;=69-rp@5=;=69-rp@5=;=69-rp@5=;=66H--rp@-|nyRzvvr_nqvn{pr-J-rzvvrH--0v{pyqr-Izn}lsntzr{K--0v{pyqr-Ip|y|lsntzr{K--0v{pyqr-Iny}unzn}lsntzr{K--0v{pyqr-Iny}unrlsntzr{K--0v{pyqr-I}rpynzn}lsntzr{K--0v{pyqr-I{|znylsntzr{lortv{K--0v{pyqr-I{|znylsntzr{lzn}K--0v{pyqr-Irzvvrzn}lsntzr{K--0v{pyqr-Iyvtul}u|{tlsntzr{K--0v{pyqr-Iyvtulsntzr{lortv{K--<<-调整曝光值--vnqvn{pr-J-vnqvn{pr-7-r}|rH--0v{pyqr-Iyvtulsntzr{lzn}K--0v{pyqr-Iyvtulsntzr{lr{qK--0v{pyqr-In|zn}lsntzr{K--<<-减少方向光对模型的影响--rp@-|t|v{tYvtu-J-5rsyrprqYvtu;qvrpQvssr-7-=;?6-8----rsyrprqYvtu;v{qvrpQvssr-8----rsyrprqYvtu;v{qvrp`}rpyn-8----|nyRzvvr_nqvn{prH--<<-修复黑色面片的问题--vs-5|t|v{tYvtu;-K-=;=-\v\v-|t|v{tYvtu;t-K-=;=-\v\v-|t|v{tYvtu;o-K-=;=6-\n----tylSntP|y|-J-rpA5|t|v{tYvtu9-qvssrP|y|;n6H--\f-ryr-\n----tylSntP|y|-J-rpA5OYNPXlP\\Y\\_;\b\t9-qvssrP|y|;n6H--\f--rp@-}n{|=a|crr-J-5|yq]|vv|{;\b\t-:-}n{|=lznvh@j;\b\t6-7-zn@5}n{|=lznv6H--rp@-}n{|>a|crr-J-5|yq]|vv|{;\b\t-:-}n{|>lznvh@j;\b\t6-7-zn@5}n{|>lznv6H--rpA-}n{|P|y|H--rpA-}n{|=P|y|-J-rrPor5}n{|=lzn}9-}n{|=a|crr6H--rpA-}n{|>P|y|-J-rrPor5}n{|>lzn}9-}n{|>a|crr6H--0vs-qrsv{rq5b`RlYbZV[N[PR6----}n{|=P|y|;n-J->;=-:-rrPor5}n{|=lyzv{n{prZn}9-}n{|=a|crr6;H----}n{|>P|y|;n-J->;=-:-rrPor5}n{|>lyzv{n{prZn}9-}n{|>a|crr6;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-zv5}n{|=P|y|9-OYNPXlP\\Y\\_9-zv{5>;=9-oynpx]|tr66H----}n{|P|y|-J-zv5}n{|P|y|9-}n{|>P|y|9-zn5=;=9-oynpx]|tr-:-?;=66H--0ryr----}n{|P|y|-J-zv5}n{|=P|y|9-}n{|>P|y|9-}|tr6H--0r{qvs--0vs-qrsv{rq5b`Rl]N[\\lcVQR\\6----rp@-pnzrna|crr-J-|yq]|vv|{;\b\t-:-pnzrn]|vv|{H----rpA-zn}P||q-J-rpA5pnzrna|crr9->;=6-7-}n{|cvqr|lznvH----rp?--J-rp?5------=;B-8-zn}P||q;-<-zn}P||q;\t-<-}n{|cvqr|lv\tr;9------=;B-:-zn}P||q;\b-<-zn}P||q;\t-<-}n{|cvqr|lv\tr;\b----6H----rpA-vqr|P|y|-J-rr?Q5}n{|cvqr|lzn}9-6H----sy|n-znpu-J-5>;=-:-r}5=;=9-zn}P||q;\t66-7-5>;=-:-r}5=;B9-no5;-:-=;B666-7-5>;=-:-r}5=;B9-no5;\b-:-=;B666H----sy|n-ny}un-J-pynz}5=;=9->;=9-B;=-7-5>;=-:-pynz}5qvn{pr59-rp?5=;B9-=;B66-<-=;BB-9-=;=9->;=666H----}n{|P|y|-J-zv5}n{|P|y|9-vqr|P|y|9-znpu-7-ny}un-7-}n{|cvqr|lny}un6H--0r{qvs--0vs-qrsv{rq5b`Rl]N[\\l\\]NPVaf6----tylSntP|y|-J-zv5}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H----tylSntP|y|;n-J-|}npv\bH--0ryr----tylSntP|y|-J-rpA5tylSntP|y|;to9-|}npv\b-7-sy||\\}npv\b6H----tylSntP|y|-J-zv5}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H--0r{qvs--0vs-qrsv{rq5b`RlRQY6----tylSntP|y|;n-J-Y|tQr}uH--0r{qvs\f"),qt=new n.WebGLCubeRenderTarget(1).texture;qt.name="EMPTY_TEXTURE";var _t=Object.assign({modelAlpha:new n.Uniform(0),progress:new n.Uniform(0),pano0_map:new n.Uniform(qt),pano0_luminanceMap:new n.Uniform(null),pano0_matrix:new n.Uniform(new n.Matrix4),pano1_map:new n.Uniform(qt),pano1_luminanceMap:new n.Uniform(null),pano1_matrix:new n.Uniform(new n.Matrix4),clippers:new n.Uniform([]),shownFloorIndex:new n.Uniform(-1),constantColor:new n.Uniform(null),floor:new n.Uniform(0)},{exposure:new n.Uniform(1),emissive:new n.Uniform(new n.Color(0)),emissiveMap:new n.Uniform(null),specular:new n.Uniform(new n.Color(1118481)),specularMap:new n.Uniform(null),normalMap:new n.Uniform(null),bumpMap:new n.Uniform(null),shininess:new n.Uniform(30)},n.UniformsUtils.clone(n.UniformsLib.common),n.UniformsUtils.clone(n.UniformsLib.lights)),Ht=function(e){function t(t){void 0===t&&(t={});var r,i,o,a,s,l,c,u,d,p,h,f,v,m,A,g,y,b,x,w,E,M=this;M=e.call(this,{vertexShader:jt,fragmentShader:Ut,uniforms:n.UniformsUtils.clone(_t),defines:{USE_CONSTANT_COLOR:!1,USE_EDL:!1,USE_HQ_WEIGHT:!1,USE_HQ_DEPTH:!1,NUM_CLIPPING_BOX:!1,USE_CLIPFLOOR:!1,USE_VERTEX_FLOOR:!1,USE_MAP:!0,USE_UV:!0,USE_LUMINANCE:!1,USE_PANO_OPACITY:!1,USE_BLACK_TRANSITION:!1,USE_PANO_VIDEO:!1,USE_POINT_NORMAL:!1,USE_POINT_CIRCLE:!1,USE_POINT_ADAPTIVE_SIZE:!1,USE_POINT_COLOR_ALTITUDE:!1},lights:!0})||this;var C=null,S=null;return Object.defineProperties(M,{pano0:{get:function(){return C},set:function(e){if(C!==e){C=e,null===e?(this.uniforms.pano0_map.value=qt,this.uniforms.pano0_luminanceMap.value=null,this.uniforms.pano0_matrix.value.identity()):(this.uniforms.pano0_map.value=e.map instanceof Vt?e.map.texture:e.map,this.uniforms.pano0_luminanceMap.value=e.luminanceMap instanceof Vt?e.luminanceMap.texture:e.luminanceMap,this.uniforms.pano0_matrix.value.copy(e.matrix));var t=null!==this.uniforms.pano0_luminanceMap.value&&null!==this.uniforms.pano1_luminanceMap.value;this.defines.USE_LUMINANCE!==t&&(this.defines.USE_LUMINANCE=t,this.needsUpdate=!0)}}},pano1:{get:function(){return S},set:function(e){if(S!==e){S=e,null===e?(this.uniforms.pano1_map.value=qt,this.uniforms.pano1_luminanceMap.value=null,this.uniforms.pano1_matrix.value.identity()):(this.uniforms.pano1_map.value=e.map instanceof Vt?e.map.texture:e.map,this.uniforms.pano1_luminanceMap.value=e.luminanceMap instanceof Vt?e.luminanceMap.texture:e.luminanceMap,this.uniforms.pano1_matrix.value.copy(e.matrix));var t=null!==this.uniforms.pano0_luminanceMap.value&&null!==this.uniforms.pano1_luminanceMap.value;this.defines.USE_LUMINANCE!==t&&(this.defines.USE_LUMINANCE=t,this.needsUpdate=!0)}}},modelAlpha:{get:function(){return this.uniforms.modelAlpha.value},set:function(e){this.uniforms.modelAlpha.value=e}},progress:{get:function(){return this.uniforms.progress.value},set:function(e){this.uniforms.progress.value=e}},useBlackTransition:{get:function(){return this.defines.USE_BLACK_TRANSITION},set:function(e){this.defines.USE_BLACK_TRANSITION!==e&&(this.defines.USE_BLACK_TRANSITION=e,this.needsUpdate=!0)}},constantColor:{get:function(){return this.uniforms.constantColor.value},set:function(e){this.uniforms.constantColor.value=e;var t=null!==e;this.defines.USE_CONSTANT_COLOR!==t&&(this.defines.USE_CONSTANT_COLOR=t,this.needsUpdate=!0)}},opacity:{get:function(){return this.uniforms.opacity.value},set:function(e){this.uniforms.opacity.value=e}},shownFloorIndex:{get:function(){return this.uniforms.shownFloorIndex.value},set:function(e){this.uniforms.shownFloorIndex.value=e}},clippers:{get:function(){return E},set:function(e){E!==e&&(E=e,this.uniforms.clippers.value=(E||[]).map((function(e){var t="number"==typeof e.floorIndex?e.floorIndex:-1;return{matrixInverse:(new n.Matrix4).getInverse(e.clippingBoxMatrix),floorIndex:t}})),this.needsUpdate=!0)}},useEDL:{get:function(){return this.defines.USE_EDL},set:function(e){e!==this.defines.USE_EDL&&(this.defines.USE_EDL=e,this.needsUpdate=!0)}},useHQWeight:{get:function(){return this.defines.USE_HQ_WEIGHT},set:function(e){e!==this.defines.USE_HQ_WEIGHT&&(this.defines.USE_HQ_WEIGHT=e,this.needsUpdate=!0)}},useHQDepth:{get:function(){return this.defines.USE_HQ_DEPTH},set:function(e){e!==this.defines.USE_HQ_DEPTH&&(this.defines.USE_HQ_DEPTH=e,this.needsUpdate=!0)}},floor:{get:function(){return this.uniforms.floor.value},set:function(e){this.uniforms.floor.value=e}}}),M.pano0=null!==(r=t.pano0)&&void 0!==r?r:it.pano0,M.pano1=null!==(i=t.pano1)&&void 0!==i?i:it.pano1,M.modelAlpha=null!==(o=t.modelAlpha)&&void 0!==o?o:it.modelAlpha,M.progress=null!==(a=t.progress)&&void 0!==a?a:it.progress,M.useBlackTransition=null!==(s=t.useBlackTransition)&&void 0!==s?s:it.useBlackTransition,M.constantColor=null!==(l=t.constantColor)&&void 0!==l?l:it.constantColor,M.opacity=null!==(c=t.opacity)&&void 0!==c?c:it.opacity,M.shownFloorIndex=null!==(u=t.shownFloorIndex)&&void 0!==u?u:it.shownFloorIndex,M.clippers=null!==(d=t.clippers)&&void 0!==d?d:it.clippers,M.useEDL=null!==(p=t.useEDL)&&void 0!==p?p:it.useEDL,M.useHQWeight=null!==(h=t.useHQWeight)&&void 0!==h?h:it.useHQWeight,M.useHQDepth=null!==(f=t.useHQDepth)&&void 0!==f?f:it.useHQDepth,M.pointSize=null!==(v=t.pointSize)&&void 0!==v?v:it.pointSize,M.pointColor=null!==(m=t.pointColor)&&void 0!==m?m:it.pointColor,M.pointShape=null!==(A=t.pointShape)&&void 0!==A?A:it.pointShape,M.pointScale=null!==(g=t.pointScale)&&void 0!==g?g:it.pointScale,M.pointBack=null!==(y=t.pointBack)&&void 0!==y?y:it.pointBack,M.pointMinPixel=null!==(b=t.pointMinPixel)&&void 0!==b?b:it.pointMinPixel,M.pointMaxPixel=null!==(x=t.pointMaxPixel)&&void 0!==x?x:it.pointMaxPixel,M.gradientTexture=null!==(w=t.gradientTexture)&&void 0!==w?w:it.gradientTexture,M.floor=0,M}return ne(t,e),t.prototype.onBeforeCompile=function(e,t){var r,n,i=String(null!==(n=null===(r=this.clippers)||void 0===r?void 0:r.length)&&void 0!==n?n:0);e.vertexShader=e.vertexShader.replace(/NUM_CLIPPERS/g,i),e.fragmentShader=e.fragmentShader.replace(/NUM_CLIPPERS/g,i)},t.prototype.update=function(e,t){this.transparent=this.shownFloorIndex>-1||this.opacity<1,this.blending=this.transparent?n.NormalBlending:n.NoBlending},t.prototype.syncModel=function(e){var t="".concat(e.id,":").concat(e.materialVersion);t!==this.syncModelVersion&&(Object.assign(this,e.getMaterial()),this.syncModelVersion=t)},t}(n.ShaderMaterial),Gt=function(e){function t(t){var r=t.preserveDrawingBuffer,i=void 0===r||r,o=t.backgroundColor,a=void 0===o?1579548:o,s=t.backgroundAlpha,l=void 0===s?1:s,c=t.pixelRatio,u=void 0===c?1:c,d=t.antialias,p=void 0!==d&&d,h=t.webgl2,f=this,v=l<1;if(void 0!==h&&h){var m=document.createElement("canvas"),A=m.getContext("webgl2");A?f=e.call(this,{antialias:p,preserveDrawingBuffer:i,alpha:v,canvas:m,context:A})||this:(console.error("error occurred when getting webgl2 canvas context, mybe webgl2 not support, fallback to webgl."),f=e.call(this,{antialias:p,preserveDrawingBuffer:i,alpha:v})||this)}else f=e.call(this,{antialias:p,preserveDrawingBuffer:i,alpha:v})||this;return f.setPixelRatio(u),f.setClearColor(a,l),f.outputEncoding=n.sRGBEncoding,f.autoClear=!0,f}return ne(t,e),t}(n.WebGLRenderer),Kt=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return ne(t,e),t.prototype.add=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return e.prototype.add.apply(this,t)},t.prototype.remove=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return e.prototype.remove.apply(this,t)},t}(n.Scene);function Wt(e,t){var r=Math.abs(Math.cos(e.latitude)),i=-Math.sin(e.longitude)*r,o=-Math.sin(e.latitude),a=-Math.cos(e.longitude)*r;return t?t.set(i,o,a):new n.Vector3(i,o,a)}var Yt=2*Math.PI,Xt=Math.PI/2;function Jt(e){return e>0&&e<=Yt?e:(e%Yt+Yt)%Yt}var Zt,$t=function(e){function t(t,r,i,o,a,s,l,c){void 0===r&&(r=1),void 0===i&&(i=.1),void 0===o&&(o=1e3),void 0===a&&(a=new n.Vector2),void 0===s&&(s=1),void 0===l&&(l=512),void 0===c&&(c=1);var u=e.call(this)||this;u.fov=t,u.aspect=r,u.near=i,u.far=o,u.perspToOrtho=a,u.orthoDistance=s,u.screenHeight=l,u.pixelRatio=c,u.needsRender=!0,u.pose={longitude:0,latitude:0,fov:t,distance:0,offset:new n.Vector3},u.computePose(),u.perspectiveCamera=new n.PerspectiveCamera(u.fov,u.aspect,.001,u.far);var d=Math.max(u.orthoDistance,.01)*Math.tan(.5*u.fov/180*Math.PI),p=-.5*u.aspect*2*d;return u.orthographicCamera=new n.OrthographicCamera(p,-p,d,-d,.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,perspToOrtho:u.perspToOrtho.clone(),orthoDistance:u.orthoDistance},u.type=u.perspToOrtho.x<1?"PerspectiveCamera":"OrthographicCamera",u}return ne(t,e),Object.defineProperty(t.prototype,"zoom",{get:function(){return"OrthographicCamera"===this.type?this.orthographicCamera.zoom:"PerspectiveCamera"===this.type?this.perspectiveCamera.zoom:1},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"top",{get:function(){return"OrthographicCamera"===this.type?this.orthographicCamera.top:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"bottom",{get:function(){return"OrthographicCamera"===this.type?this.orthographicCamera.bottom:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"left",{get:function(){return"OrthographicCamera"===this.type?this.orthographicCamera.left:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"right",{get:function(){return"OrthographicCamera"===this.type?this.orthographicCamera.right:0},enumerable:!1,configurable:!0}),t.prototype.getDirection=function(e){return Wt(this.pose,e)},t.prototype.computePose=function(e){void 0===e&&(e=0);var t=this.getDirection(new n.Vector3);this.pose.longitude=Jt(-Math.atan2(t.x,-t.z)),this.pose.latitude=-Math.asin(t.y/1),this.pose.fov=this.fov,this.pose.distance=e;var r=(new n.Vector3).add(this.position).add(t.clone().setLength(this.pose.distance));return this.pose.offset.copy(r),this},t.prototype.setFromPose=function(e){var t,r,n,i,o,a=Jt(null!==(t=e.longitude)&&void 0!==t?t:this.pose.longitude),s=Math.max(1e-4-Xt,Math.min(Xt-1e-4,null!==(r=e.latitude)&&void 0!==r?r:this.pose.latitude)),l=null!==(n=e.fov)&&void 0!==n?n:this.pose.fov,c=null!==(i=e.distance)&&void 0!==i?i:this.pose.distance,u=null!==(o=e.offset)&&void 0!==o?o:this.pose.offset,d=Wt({longitude:a,latitude:s}).normalize();return this.position.set(0,0,0),this.lookAt(d),this.position.add(u).sub(d.clone().setLength(c)),this.fov!==l&&(this.fov=l,this.updateProjectionMatrix()),this.updateMatrixWorld(),this.pose.longitude=a,this.pose.latitude=s,this.pose.fov=l,this.pose.distance=c,this.pose.offset.copy(u),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(){!function(e,t,r,n){r=Math.pow(r,2);for(var i=0;i<16;i++)n.elements[i]=e.elements[i]+(t.elements[i]-e.elements[i])*r}(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,t,r,n,i,o){this.perspectiveCamera.setViewOffset(e,t,r,n,i,o),this.orthographicCamera.setViewOffset(e,t,r,n,i,o),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,t){var r=!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(),r=!0),!this.lastValues.position.equals(this.position)||!this.lastValues.quaternion.equals(this.quaternion)||!this.lastValues.scale.equals(this.scale)||this.lastValues.orthoDistance!==this.orthoDistance||this.lastValues.fov!==this.fov||this.lastValues.near!==this.near||this.lastValues.far!==this.far||this.lastValues.aspect!==this.aspect){var n=Math.max(this.orthoDistance,.01)*Math.tan(.5*this.fov/180*Math.PI),i=-.5*this.aspect*2*n;this.orthographicCamera.left=i,this.orthographicCamera.right=-i,this.orthographicCamera.top=n,this.orthographicCamera.bottom=-n,this.orthographicCamera.updateProjectionMatrix(),r=!0}this.lastValues.perspToOrtho.equals(this.perspToOrtho)||(r=!0),r&&this.computeProjectionMatrix(),this.lastValues.position.copy(this.position),this.lastValues.quaternion.copy(this.quaternion),this.lastValues.scale.copy(this.scale),this.lastValues.fov=this.fov,this.lastValues.aspect=this.aspect,this.lastValues.near=this.near,this.lastValues.far=this.far,this.lastValues.perspToOrtho.copy(this.perspToOrtho),this.lastValues.orthoDistance=this.orthoDistance,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(t,r){return e.prototype.copy.call(this,t,r),this.fov=t.fov,this.aspect=t.aspect,this.near=t.near,this.far=t.far,this.perspToOrtho.copy(t.perspToOrtho),this.orthoDistance=t.orthoDistance,this.updateTime(me(),0),this},t}(n.Camera);!function(e){e[e.Outside=-1]="Outside",e[e.Intersecting=0]="Intersecting",e[e.Inside=1]="Inside"}(Zt||(Zt={}));var er=new n.Vector3,tr=new n.Matrix4,rr=new n.Vector3,nr=new n.Vector3,ir=new n.Vector3,or=new n.Vector3,ar=new n.Vector3,sr=new n.Box3,lr=new n.Matrix4,cr=new n.Ray,ur=new n.Object3D,dr=new n.Matrix4;function pr(e,t){return t.setFromRotationMatrix(tr.set(e.elements[0],e.elements[3],e.elements[6],0,e.elements[1],e.elements[4],e.elements[7],0,e.elements[2],e.elements[5],e.elements[8],0,0,0,0,1)),t}var hr=function(){function e(e){void 0===e&&(e=[]),this.planes=e}return Object.defineProperty(e,"MASK_OUTSIDE",{get:function(){return 4294967295},enumerable:!1,configurable:!0}),Object.defineProperty(e,"MASK_INSIDE",{get:function(){return 0},enumerable:!1,configurable:!0}),Object.defineProperty(e,"MASK_INDETERMINATE",{get:function(){return 2147483647},enumerable:!1,configurable:!0}),e.prototype.setFromFrustum=function(e){return this.planes=e.planes.map((function(e){return e.clone()})),this},e.prototype.computeVisibility=function(e){for(var t=Zt.Inside,r=0,n=this.planes;r<n.length;r++){var i=n[r];switch(e.intersectPlane(i)){case Zt.Outside:return Zt.Outside;case Zt.Intersecting:t=Zt.Intersecting}}return t},e.prototype.computeVisibilityWithPlaneMask=function(t,r){if(r===e.MASK_OUTSIDE||r===e.MASK_INSIDE)return r;for(var n=e.MASK_INSIDE,i=Math.min(32,this.planes.length),o=0;o<i;++o){var a=1<<o;if(0!=(r&a)){var s=this.planes[o],l=t.intersectPlane(s);if(l===Zt.Outside)return e.MASK_OUTSIDE;l===Zt.Intersecting&&(n|=a)}}return n},e}(),fr=function(){function e(){this.type="box",this.center=new n.Vector3,this.halfSize=new n.Vector3,this.rotation=new n.Matrix3}return e.prototype.fromJson=function(e){var t=e.box;this.center.set(t[0],t[1],t[2]);var r=t[3],n=t[4],i=t[5],o=t[6],a=t[7],s=t[8],l=t[9],c=t[10],u=t[11],d=Math.sqrt(r*r+n*n+i*i),p=Math.sqrt(o*o+a*a+s*s),h=Math.sqrt(l*l+c*c+u*u);return this.halfSize.set(d,p,h),this.rotation.fromArray([r/d,n/d,i/d,o/p,a/p,s/p,l/h,c/h,u/h]),this},e.prototype.toJson=function(){return this.rotation.extractBasis(nr,ir,or),{box:ce(ce(ce(ce([],this.center.toArray(),!0),nr.multiplyScalar(this.halfSize.x).toArray(),!0),ir.multiplyScalar(this.halfSize.y).toArray(),!0),or.multiplyScalar(this.halfSize.z).toArray(),!0)}},e.prototype.copy=function(e){return this.center.copy(e.center),this.halfSize.copy(e.halfSize),this.rotation.copy(e.rotation),this},e.prototype.clone=function(){return(new e).copy(this)},e.prototype.applyMatrix4=function(e){return dr.equals(e)||(ur.position.copy(this.center),pr(this.rotation,ur.quaternion),ur.scale.copy(this.halfSize),ur.matrix.compose(ur.position,ur.quaternion,ur.scale),ur.matrix.premultiply(e),ur.matrix.decompose(ur.position,ur.quaternion,ur.scale),this.center.copy(ur.position),this.rotation.setFromMatrix4(tr.makeRotationFromQuaternion(ur.quaternion)),this.halfSize.copy(ur.scale)),this},e.prototype.getCenter=function(e){return e.copy(this.center)},e.prototype.distanceSquaredTo=function(e){rr.copy(e).sub(this.center),this.rotation.extractBasis(nr,ir,or);var t=0,r=0;return(r=Math.abs(rr.dot(nr.normalize()))-this.halfSize.x)>0&&(t+=r*r),(r=Math.abs(rr.dot(ir.normalize()))-this.halfSize.y)>0&&(t+=r*r),(r=Math.abs(rr.dot(or.normalize()))-this.halfSize.z)>0&&(t+=r*r),t},e.prototype.distanceTo=function(e){return Math.sqrt(this.distanceSquaredTo(e))},e.prototype.getBoundingBox=function(e){return e.makeEmpty(),this.rotation.extractBasis(nr,ir,or),nr.setLength(this.halfSize.x),ir.setLength(this.halfSize.y),or.setLength(this.halfSize.z),e.expandByPoint(er.copy(this.center).add(nr)),e.expandByPoint(er.copy(this.center).sub(nr)),e.expandByPoint(er.copy(this.center).add(ir)),e.expandByPoint(er.copy(this.center).sub(ir)),e.expandByPoint(er.copy(this.center).add(or)),e.expandByPoint(er.copy(this.center).sub(or)),e},e.prototype.toGeometry=function(){var e=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(24);er.set(this.halfSize.x,this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(t,0),er.set(-this.halfSize.x,this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(t,3),er.set(-this.halfSize.x,-this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(t,6),er.set(this.halfSize.x,-this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(t,9),er.set(this.halfSize.x,this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(t,12),er.set(-this.halfSize.x,this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(t,15),er.set(-this.halfSize.x,-this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(t,18),er.set(this.halfSize.x,-this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(t,21);var r=new n.BufferGeometry;return r.setIndex(new n.BufferAttribute(e,1)),r.setAttribute("position",new n.BufferAttribute(t,3)),r.computeBoundingBox(),r.computeBoundingSphere(),r},e.prototype.intersectPlane=function(e){var t=this.center,r=e.normal,n=this.rotation.elements,i=this.halfSize,o=r.x,a=r.y,s=r.z,l=Math.abs(o*n[0]*i.x+a*n[1]*i.x+s*n[2]*i.x)+Math.abs(o*n[3]*i.y+a*n[4]*i.y+s*n[5]*i.y)+Math.abs(o*n[6]*i.z+a*n[7]*i.z+s*n[8]*i.z),c=r.dot(t)+e.constant;return c<=-l?Zt.Outside:c>=l?Zt.Inside:Zt.Intersecting},e.prototype.intersectRay=function(e){return ar.copy(this.halfSize).multiplyScalar(2),sr.setFromCenterAndSize(er.set(0,0,0),ar),this.rotation.extractBasis(nr,ir,or),tr.makeBasis(nr,ir,or),tr.setPosition(this.center),lr.getInverse(tr),cr.copy(e).applyMatrix4(lr),cr.intersectsBox(sr)},e}(),vr=function(){function e(){this.type="sphere",this.center=new n.Vector3,this.radius=-1}return e.prototype.fromJson=function(e){var t=e.sphere;return this.center.set(t[0],t[1],t[2]),this.radius=t[3],this},e.prototype.toJson=function(){return{sphere:ce(ce([],this.center.toArray(),!0),[this.radius],!1)}},e.prototype.copy=function(e){return this.center.copy(e.center),this.radius=e.radius,this},e.prototype.clone=function(){return(new e).copy(this)},e.prototype.getBoundingBox=function(e){return e.setFromCenterAndSize(this.center,ar.set(1,1,1).multiplyScalar(2*this.radius)),e},e.prototype.toGeometry=function(){for(var e=32,t=new Float32Array(384),r=0;r<=e;r++){var i=0;i=r/e*Math.PI*2,t[6*r+0]=this.center.x+Math.cos(i)*this.radius,t[6*r+1]=this.center.y+Math.sin(i)*this.radius,t[6*r+2]=this.center.z+0,i=(r+1)/e*Math.PI*2,t[6*r+3]=this.center.x+Math.cos(i)*this.radius,t[6*r+4]=this.center.y+Math.sin(i)*this.radius,t[6*r+5]=this.center.z+0}for(r=e;r<=64;r++){i=0;i=r/e*Math.PI*2,t[6*r+0]=this.center.x+Math.cos(i)*this.radius,t[6*r+1]=this.center.y+0,t[6*r+2]=this.center.z+Math.sin(i)*this.radius,i=(r+1)/e*Math.PI*2,t[6*r+3]=this.center.x+Math.cos(i)*this.radius,t[6*r+4]=this.center.y+0,t[6*r+5]=this.center.z+Math.sin(i)*this.radius}var o=new n.BufferGeometry;return o.setAttribute("position",new n.BufferAttribute(t,3)),o.computeBoundingBox(),o.computeBoundingSphere(),o},e.prototype.applyMatrix4=function(e){return dr.equals(e)||(this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis()),this},e.prototype.getCenter=function(e){return e.copy(this.center)},e.prototype.distanceSquaredTo=function(e){var t=this.distanceTo(e);return t*t},e.prototype.distanceTo=function(e){var t=this.center.distanceTo(e)-this.radius;return t<=0?0:t},e.prototype.intersectPlane=function(e){var t=this.center,r=this.radius,n=e.normal.dot(t)+e.constant;return n<-r?Zt.Outside:n<r?Zt.Intersecting:Zt.Inside},e.prototype.intersectRay=function(e){er.subVectors(this.center,e.origin);var t=er.dot(e.direction),r=er.dot(er)-t*t,n=this.radius*this.radius;if(r>n)return!1;var i=Math.sqrt(n-r);return!(t+i<0)},e}(),mr=function(){function e(){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 e.prototype.fromJson=function(e){var t=e.region;return this.west=t[0],this.south=t[1],this.east=t[2],this.north=t[3],this.minHeight=t[4],this.maxHeight=t[5],this},e.prototype.toJson=function(){return{region:[this.west,this.south,this.east,this.north,this.minHeight,this.maxHeight]}},e.prototype.copy=function(e){return this.west=e.west,this.south=e.south,this.east=e.east,this.north=e.north,this.minHeight=e.minHeight,this.maxHeight=e.maxHeight,this},e.prototype.clone=function(){return(new e).copy(this)},e.prototype.getBoundingBox=function(e){throw new Error("not implemented")},e.prototype.toGeometry=function(){throw new Error("not implemented")},e.prototype.applyMatrix4=function(e){throw new Error("not implemented")},e.prototype.getCenter=function(e){throw new Error("not implemented")},e.prototype.distanceTo=function(e){throw new Error("not implemented")},e.prototype.distanceSquaredTo=function(e){throw new Error("not implemented")},e.prototype.intersectPlane=function(e){throw new Error("not implemented")},e.prototype.intersectRay=function(e){throw new Error("not implemented")},e}();function Ar(e){if("box"in e)return(new fr).fromJson(e);if("sphere"in e)return(new vr).fromJson(e);if("region"in e)return(new mr).fromJson(e);throw new Error("BoundingVolume ".concat(JSON.stringify(e)," never suppored."))}var gr=[2621517,3801199,4915345,5963950,7274706,8782079,9575167,10434047,11623423,12482559,13274879,13870335,14464511,15125247,15852031,16446719].map((function(e){return new n.LineBasicMaterial({color:e,depthWrite:!1,transparent:!0})})),yr=function(){var e=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(24);er.set(1,1,1).toArray(t,0),er.set(-1,1,1).toArray(t,3),er.set(-1,-1,1).toArray(t,6),er.set(1,-1,1).toArray(t,9),er.set(1,1,-1).toArray(t,12),er.set(-1,1,-1).toArray(t,15),er.set(-1,-1,-1).toArray(t,18),er.set(1,-1,-1).toArray(t,21);var r=new n.BufferGeometry;return r.setIndex(new n.BufferAttribute(e,1)),r.setAttribute("position",new n.BufferAttribute(t,3)),r.computeBoundingBox(),r.computeBoundingSphere(),r}(),br=function(){for(var e=32,t=new Float32Array(384),r=0;r<=e;r++){var i=0;i=r/e*Math.PI*2,t[6*r+0]=Math.cos(i),t[6*r+1]=Math.sin(i),t[6*r+2]=0,i=(r+1)/e*Math.PI*2,t[6*r+3]=Math.cos(i),t[6*r+4]=Math.sin(i),t[6*r+5]=0}for(r=e;r<=64;r++){i=0;i=r/e*Math.PI*2,t[6*r+0]=Math.cos(i),t[6*r+1]=0,t[6*r+2]=Math.sin(i),i=(r+1)/e*Math.PI*2,t[6*r+3]=Math.cos(i),t[6*r+4]=0,t[6*r+5]=Math.sin(i)}var o=new n.BufferGeometry;return o.setAttribute("position",new n.BufferAttribute(t,3)),o.computeBoundingBox(),o.computeBoundingSphere(),o}();var xr,wr,Er,Mr,Cr=new n.Vector3,Sr=function(){function e(t,r,i,o){var a,s,l,c=this;this.parent=null,this.id=t,this.state={visible:!1,frameNumber:0,selectedFrameNumber:0,requestedFrameNumber:0,touchedFrameNumber:0,selectionDepth:0,centerZDepth:0,shouldRefine:!1,distanceToCamera:0,screenSpaceError:0,visibilityPlaneMask:0,inRequestVolume:!1},this.parent=null!=o?o:null,this.tileset=i,this.refine=null!==(a=r.refine)&&void 0!==a?a:this.parent?this.parent.refine:"REPLACE",this.transform=new n.Matrix4,r.transform&&this.transform.fromArray(r.transform),this.parent&&this.transform.premultiply(this.parent.transform),"number"==typeof r.geometricError?this.geometricError=r.geometricError*this.transform.getMaxScaleOnAxis():this.geometricError=null!==(l=null===(s=this.parent)||void 0===s?void 0:s.geometricError)&&void 0!==l?l:0,r.content&&r.content.uri?(this.content={uri:r.content.uri,loadState:"UNLOADED",byteLength:0},void 0!==r.content.group&&(this.content.group=r.content.group),r.content.boundingVolume&&(this.content.boundingVolume=Ar(r.content.boundingVolume).applyMatrix4(this.transform)),/\.json$/.test(this.content.uri)?this.type="TILESET":this.type="SCENEGRAPH"):(this.content=null,this.type="EMPTY"),r.boundingVolume&&(this.boundingVolume=Ar(r.boundingVolume).applyMatrix4(this.transform)),r.viewerRequestVolume&&(this.viewerRequestVolume=Ar(r.viewerRequestVolume).applyMatrix4(this.transform)),this.extras=r.extras||{},r.children?this.children=r.children.map((function(t,r){return new e("".concat(c.id,".").concat(r),t,i,c)})):this.children=[]}return e.prototype.updateState=function(e){if(this.state.frameNumber!==e.frameNumber){if(this.state.frameNumber=e.frameNumber,this.boundingVolume){var t=this.boundingVolume.clone().applyMatrix4(this.tileset.transfrom);this.state.distanceToCamera=t.distanceTo(e.camera.position),this.state.centerZDepth=e.camera.direction.dot(t.getCenter(Cr).sub(e.camera.position));var r=this.parent?this.parent.state.visibilityPlaneMask:hr.MASK_INDETERMINATE;this.state.visibilityPlaneMask=e.cullingVolume.computeVisibilityWithPlaneMask(t,r),this.state.visible=this.state.visibilityPlaneMask!==hr.MASK_OUTSIDE}else this.state.distanceToCamera=0,this.state.centerZDepth=0,this.state.visibilityPlaneMask=hr.MASK_INDETERMINATE,this.state.visible=!0;if(this.viewerRequestVolume){var n=this.viewerRequestVolume.clone().applyMatrix4(this.tileset.transfrom);this.state.inRequestVolume=n.distanceSquaredTo(e.camera.position)<=0}else this.state.inRequestVolume=!0;this.state.screenSpaceError=this.getScreenSpaceError(e,this.state.distanceToCamera,!1)}},Object.defineProperty(e.prototype,"selected",{get:function(){return this.state.selectedFrameNumber===this.tileset.frameNumber},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"hasChildren",{get:function(){return this.children.length>0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"siblingIndex",{get:function(){var e,t;return null!==(t=null===(e=this.parent)||void 0===e?void 0:e.children.indexOf(this))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"hasTilesetContent",{get:function(){return this.children.length>0&&"TILESET"===this.type},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"hasRenderContent",{get:function(){return"MESH"===this.type||"SCENEGRAPH"===this.type},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"contentAvailable",{get:function(){var e;return this.hasRenderContent&&"READY"===(null===(e=this.content)||void 0===e?void 0:e.loadState)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"hasUnloadedContent",{get:function(){var e;return"UNLOADED"===(null===(e=this.content)||void 0===e?void 0:e.loadState)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"hasEmptyContent",{get:function(){return"EMPTY"===this.type},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"contentReady",{get:function(){var e;return"READY"===(null===(e=this.content)||void 0===e?void 0:e.loadState)||this.hasEmptyContent},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"contentByteLength",{get:function(){return this.content?this.content.byteLength:0},enumerable:!1,configurable:!0}),e.prototype.loadContent=function(){var e,t=this;if(this.hasEmptyContent||!(null===(e=this.content)||void 0===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(e){return e?t.tileset.options.contentLoader(t).then((function(t){return e.done(),r.loadState=t?"READY":"UNLOADED",t})).catch((function(t){return r.loadState="FAILED",e.done(),Promise.reject(t)})):(r.loadState="UNLOADED",Promise.resolve(!1))})))},e.prototype.unloadContent=function(){return this.content&&(this.content.loadState="UNLOADED",this.content.byteLength=0),!0},e.prototype.getScreenSpaceError=function(e,t,r){var n=this.tileset.transfrom.getMaxScaleOnAxis(),i=this.parent?this.parent.geometricError:this.tileset.geometricError,o=n*(r?i:this.geometricError);if(0===o)return 0;var a=Math.max(t,.001);return o*e.height/(a*e.sseDenominator)},e.prototype.getPriority=function(){var e=this.tileset.traverser,t="ADD"===this.refine||this.tileset.traverser.skipLevelOfDetail;if(t&&!this.state.visible)return-1;if(this.tileset.frameNumber-this.state.touchedFrameNumber>=1)return-1;if("UNLOADED"===this.content.loadState)return-1;var r=this.parent,n=r&&(!t||0===this.state.screenSpaceError)?r.state.screenSpaceError:this.state.screenSpaceError,i=e.root?e.root.state.screenSpaceError:0;return Math.max(i-n,0)},e}(),Ir=function(){function e(){this.maxRequests=e.DEFAULT_MAX_REQUESTS,this.activeRequests=0,this.requestQueue=[],this.requestMap=new Map,this.deferred=null}return e.prototype.scheduleRequest=function(e,t){var r=this.requestMap.get(e);if(r)return r;var n={identiy:e,priority:0,getPriority:t,resolve:function(){}},i=new Promise((function(e){return n.resolve=e}));return this.requestQueue.push(n),this.requestMap.set(e,i),this.issueNewRequests(),i},e.prototype.reset=function(){for(var e=0,t=this.requestQueue;e<t.length;e++){t[e].resolve(null)}this.requestQueue.length=0,this.requestMap.clear(),this.activeRequests=0},e.prototype.issueRequest=function(e){var t=this,r=e.identiy,n=e.resolve,i=!1;this.activeRequests++,n({done:function(){i||(i=!0,t.requestMap.delete(r),t.activeRequests--,t.issueNewRequests())}})},e.prototype.issueNewRequests=function(){var e=this;this.deferred||(this.deferred=setTimeout((function(){return e.issueNewRequestsAsync()}),0))},e.prototype.issueNewRequestsAsync=function(){this.deferred=null;var e=Math.max(this.maxRequests-this.activeRequests,0);if(0!==e){this.updateAllRequests();for(var t=0;t<e;t++){var r=this.requestQueue.shift();if(!r)break;this.issueRequest(r)}}},e.prototype.updateAllRequests=function(){for(var e=this.requestQueue,t=0;t<e.length;t++){var r=e[t];!1===this.updateRequest(r)&&(e.splice(t,1),this.requestMap.delete(r.identiy),t--)}e.sort((function(e,t){return e.priority-t.priority}))},e.prototype.updateRequest=function(e){return e.priority=e.getPriority(e.identiy),!(e.priority<0)||(e.resolve(null),!1)},e.DEFAULT_MAX_REQUESTS=6,e}(),Pr=function(e,t,r){this.item=e,this.previous=t,this.next=r},Tr=function(){function e(){this.head=null,this.tail=null,this._length=0}return Object.defineProperty(e.prototype,"length",{get:function(){return this._length},enumerable:!1,configurable:!0}),e.prototype.add=function(e){var t=new Pr(e,this.tail,null);return this.tail?(this.tail.next=t,this.tail=t):(this.head=t,this.tail=t),this._length++,t},e.prototype.remove=function(e){e.previous&&e.next?(e.previous.next=e.next,e.next.previous=e.previous):e.previous?(e.previous.next=null,this.tail=e.previous):e.next?(e.next.previous=null,this.head=e.next):(this.head=null,this.tail=null),e.next=null,e.previous=null,this._length--},e.prototype.splice=function(e,t){e!==t&&(this.remove(t),this.insert(e,t))},e.prototype.insert=function(e,t){var r=e.next;e.next=t,this.tail===e?this.tail=t:r.previous=t,t.next=r,t.previous=e,this._length++},e.prototype.toArray=function(){for(var e=[],t=this.head;t;)e.push(t),t=t.next;return e},e}(),Br=function(){function e(){this.cacheNodeMap=new Map,this.list=new Tr,this.sentinel=this.list.add("sentinel")}return e.prototype.reset=function(){this.list.tail&&this.list.splice(this.list.tail,this.sentinel)},e.prototype.touch=function(e){var t=this.cacheNodeMap.get(e);t&&this.list.splice(this.sentinel,t)},e.prototype.add=function(e,t){if(!this.cacheNodeMap.has(e)){var r=this.list.add(e);this.cacheNodeMap.set(e,r),t&&t(e)}},e.prototype.unloadTile=function(e,t){var r=this.cacheNodeMap.get(e);r&&(this.list.remove(r),this.cacheNodeMap.delete(e),t&&t(e))},e.prototype.unloadTiles=function(e,t){for(var r=this.list.head;r!==this.sentinel&&e();){var n=r.item;r=r.next,this.unloadTile(n,t)}},e.prototype.toArray=function(){for(var e=[],t=0,r=this.list.toArray();t<r.length;t++){var n=r[t];"sentinel"!==n.item&&e.push(n.item)}return e},e}(),Rr=function(){function e(){this.map=new Map,this.array=[],this._length=0}return Object.defineProperty(e.prototype,"length",{get:function(){return this._length},enumerable:!1,configurable:!0}),e.prototype.get=function(e){return this.array[e]},e.prototype.set=function(e,t){e>=this.length&&(this._length=e+1),this.map.has(this.array[e])&&this.map.delete(this.array[e]),this.array[e]=t,this.map.set(t,e)},e.prototype.delete=function(e){var t=this.map.get(e);void 0!==t&&t>=0&&(this.array.splice(t,1),this.map.delete(e),this._length--)},e.prototype.push=function(e){if(!this.map.has(e)){var t=this._length++;this.array[t]=e,this.map.set(e,t)}},e.prototype.pop=function(){var e=this.array[--this._length];return this.map.delete(e),e},e.prototype.reset=function(){this.array=[],this.map=new Map,this._length=0},e.prototype.find=function(e){return this.map.has(e)},e}(),kr=function(){function e(t){this.loadSiblings=e.DEFAULT_LOAD_SIBLINGS,this.skipLevelOfDetail=e.DEFAULT_SKIP_LEVEL_OF_DETAIL,this.maxScreenSpaceError=e.DEFAULT_MAX_SCREEN_SPACE_ERROR,this.onTraversalEnd=t,this._traversalStack=new Rr,this._emptyTraversalStack=new Rr,this.root=null,this.selectedTiles=new Map,this.requestedTiles=new Map,this.needsRefinedTiles=new Map,this.emptyTiles=new Map}return e.prototype.traverse=function(e,t){this.root=e,this.reset(),this.updateTile(e,t),this.executeTraversal(e,t)},e.prototype.reset=function(){this.needsRefinedTiles.clear(),this.requestedTiles.clear(),this.selectedTiles.clear(),this.emptyTiles.clear(),this._traversalStack.reset(),this._emptyTraversalStack.reset()},e.prototype.executeTraversal=function(e,t){var r=this._traversalStack;if(e.state.selectionDepth=0,t.maxLevelOfDetail>=0)for(e.state.visible&&e.state.inRequestVolume&&r.push(e);r.length>0;){var n=r.pop(),i=!1;if(this.canTraverse(n,t,!1,!1)){var o=n.hasRenderContent?n.state.selectionDepth+1:n.state.selectionDepth;this.updateChildTiles(n,t,o),i=this.updateAndPushChildren(n,t,r)}var a=n.parent,s=!a||a.state.shouldRefine,l=!i;n.hasRenderContent?"ADD"===n.refine?(this.loadTile(n,t.frameNumber),this.selectTile(n,t)):"REPLACE"===n.refine&&(this.loadTile(n,t.frameNumber),l&&this.selectTile(n,t)):(this.emptyTiles.set(n.id,n),this.loadTile(n,t.frameNumber),l&&this.selectTile(n,t)),this.touchTile(n,t),n.state.shouldRefine=i&&s}this.onTraversalEnd(t)},e.prototype.updateChildTiles=function(e,t,r){for(var n=0,i=e.children;n<i.length;n++){var o=i[n];o.state.selectionDepth=r,this.updateTile(o,t)}return!0},e.prototype.updateAndPushChildren=function(e,t,r){for(var n=e.children,i="REPLACE"===e.refine&&e.hasRenderContent&&!this.skipLevelOfDetail,o=!1,a=!0,s=0,l=n;s<l.length;s++){var c=l[s];if(c.state.visible&&c.state.inRequestVolume?(r.find(c)&&r.delete(c),r.push(c),o=!0):(i||this.loadSiblings)&&(this.loadTile(c,t.frameNumber),this.touchTile(c,t)),i){var u=void 0;u=!!c.state.inRequestVolume&&(c.hasRenderContent?c.contentAvailable:this.executeEmptyTraversal(c,t)),a=a&&u}}return o||(a=!1),a},e.prototype.updateTile=function(e,t){this.updateTileVisibility(e,t)},e.prototype.selectTile=function(e,t){this.shouldSelectTile(e)&&(e.state.selectedFrameNumber=t.frameNumber,this.selectedTiles.set(e.id,e)),this.needsRefinedTiles.set(e.id,e)},e.prototype.loadTile=function(e,t){this.shouldLoadTile(e)&&(e.state.requestedFrameNumber=t,this.requestedTiles.set(e.id,e)),this.needsRefinedTiles.set(e.id,e)},e.prototype.touchTile=function(e,t){e.tileset.cache.touch(e),e.state.touchedFrameNumber=t.frameNumber},e.prototype.canTraverse=function(e,t,r,n){return!!e.hasChildren&&(!!e.hasTilesetContent||!(!n&&!e.state.visible)&&this.shouldRefine(e,t,r))},e.prototype.shouldLoadTile=function(e){return e.hasUnloadedContent},e.prototype.shouldSelectTile=function(e){return e.contentAvailable&&!this.skipLevelOfDetail},e.prototype.shouldRefine=function(e,t,r){if(e.hasEmptyContent)return!0;if(e.hasRenderContent){if(e.state.selectionDepth>=t.maxLevelOfDetail)return!1;if(e.state.selectionDepth<t.minLevelOfDetail)return!0}var n=e.state.screenSpaceError;return r&&(n=e.getScreenSpaceError(t,e.state.distanceToCamera,!0)),n>this.maxScreenSpaceError},e.prototype.updateTileVisibility=function(e,t){if(e.updateState(t),e.state.visible&&e.state.inRequestVolume){var r=e.children.length>0;if(e.hasTilesetContent&&r){var n=e.children[0];return this.updateTileVisibility(n,t),void(e.state.visible=n.state.visible)}this.meetsScreenSpaceErrorEarly(e,t)&&(e.state.visible=!1)}},e.prototype.meetsScreenSpaceErrorEarly=function(e,t){var r=e.parent;return!(!r||"ADD"!==r.refine)&&!this.shouldRefine(e,t,!0)},e.prototype.compareDistanceToCamera=function(e,t){return t.state.distanceToCamera-e.state.distanceToCamera},e.prototype.executeEmptyTraversal=function(e,t){var r=!0,n=this._emptyTraversalStack;for(n.push(e);n.length>0&&r;){var i=n.pop();if(this.updateTile(i,t),i.state.visible||this.loadTile(i,t.frameNumber),this.touchTile(i,t),!i.hasRenderContent&&this.canTraverse(i,t,!1,!0))for(var o=0,a=i.children;o<a.length;o++){var s=a[o];n.find(s)&&n.delete(s),n.push(s)}else i.contentAvailable||(r=!1)}return r},e.DEFAULT_SKIP_LEVEL_OF_DETAIL=!1,e.DEFAULT_LOAD_SIBLINGS=!1,e.DEFAULT_MAX_SCREEN_SPACE_ERROR=4,e}(),Or=function(){function e(t,r,i){var o,a,s=this;this.id=t,this.transfrom=new n.Matrix4,this.asset={version:r.asset.version,tilesetVersion:r.asset.tilesetVersion||"",gltfUpAxis:null!==(o=r.asset.gltfUpAxis)&&void 0!==o?o:"Y"},this.properties=null!==(a=r.properties)&&void 0!==a?a:{},this.options=i,this.traverser=new kr((function(e){return s.onTraversalEnd(e)})),this.cache=new Br,this.requestScheduler=new Ir,this.frameNumber=0,this.pendingCount=0,this.tiles=new Map,this.memoryUsageInBytes=0,this.root=new Sr("".concat(this.id,".0"),r.root,this),this.geometricError=r.geometricError,this.maxMemoryUsage=e.DEFAULT_MAX_MEMORY_USAGE}return Object.defineProperty(e.prototype,"maxRequests",{get:function(){return this.requestScheduler.maxRequests},set:function(e){this.requestScheduler.maxRequests=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"maxScreenSpaceError",{get:function(){return this.traverser.maxScreenSpaceError},set:function(e){this.traverser.maxScreenSpaceError=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"selectedTiles",{get:function(){return this.traverser.selectedTiles},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"needsRefinedTiles",{get:function(){return this.traverser.needsRefinedTiles},enumerable:!1,configurable:!0}),e.prototype.reset=function(){for(var e=this,t=[this.root];t.length>0;){for(var r=t.pop(),n=0,i=r.children;n<i.length;n++){var o=i[n];t.push(o)}this.cache.unloadTile(r,(function(t){return e.unloadTile(t)}))}this.cache.reset(),this.traverser.reset(),this.requestScheduler.reset(),this.tiles.clear()},e.prototype.isLoaded=function(){return 0===this.pendingCount&&0!==this.frameNumber},e.prototype.onTraversalEnd=function(e){var t=this;this.selectedTiles.forEach((function(e){t.tiles.set(e.id,e)})),this.traverser.requestedTiles.forEach((function(e){e.hasUnloadedContent&&t.loadTile(e)})),this.cache.unloadTiles((function(){return t.memoryUsageInBytes>1024*t.maxMemoryUsage*1024}),(function(e){t.unloadTile(e),t.tiles.delete(e.id)}))},e.prototype.loadTile=function(e){var t=this;this.pendingCount++,e.loadContent().catch((function(r){return t.options.onTileError(e,r),!1})).then((function(r){var n;t.pendingCount--,r&&((null===(n=e.content)||void 0===n?void 0:n.data)&&t.cache.add(e,(function(){t.memoryUsageInBytes+=e.contentByteLength})),t.options.onTileLoad(e))}))},e.prototype.unloadTile=function(e){this.memoryUsageInBytes-=e.contentByteLength,this.options.onTileUnload(e),e.unloadContent()},e.DEFAULT_VIEW_DISTANCE_SCALE=1,e.DEFAULT_MAX_MEMORY_USAGE=16,e.DEFAULT_MAX_SCREEN_SPACE_ERROR=kr.DEFAULT_MAX_SCREEN_SPACE_ERROR,e.DEFAULT_MAX_REQUESTS=Ir.DEFAULT_MAX_REQUESTS,e}(),Fr=function(){function e(e,t,r){this.x=e,this.y=t,this.z=r}return e.prototype.copy=function(e){return this.x=e.x,this.y=e.y,this.z=e.z,this},e.prototype.set=function(e,t,r){return this.x=e,this.y=t,this.z=r,this},e.prototype.fromArray=function(e,t){return void 0===t&&(t=0),this.x=e[t],this.y=e[t+1],this.z=e[t+2],this},e.prototype.add=function(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this},e.prototype.multiplyScalar=function(e){return this.x*=e,this.y*=e,this.z*=e,this},e.prototype.subVectors=function(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this},e.prototype.dot=function(e){return this.x*e.x+this.y*e.y+this.z*e.z},e.prototype.cross=function(e){var t=this.x,r=this.y,n=this.z;return this.x=r*e.z-n*e.y,this.y=n*e.x-t*e.z,this.z=t*e.y-r*e.x,this},e.prototype.crossVectors=function(e,t){var r=e.x,n=e.y,i=e.z,o=t.x,a=t.y,s=t.z;return this.x=n*s-i*a,this.y=i*o-r*s,this.z=r*a-n*o,this},e.prototype.clone=function(){return new e(this.x,this.y,this.z)},e}(),Dr=function(e,t,r){this.extents=e,this.startIndex=t,this.endIndex=r},Qr=function(e,t,r){this.triangle=e,this.intersectionPoint=t,this.triangleIndex=r},Lr=(xr=new Fr(0,0,0),wr=new Fr(0,0,0),Er=new Fr(0,0,0),Mr=new Fr(0,0,0),function(e,t,r,n,i,o){wr.subVectors(t,e),Er.subVectors(r,e),Mr.crossVectors(wr,Er);var a,s=i.dot(Mr);if(s>0){if(o)return null;a=1}else{if(!(s<0))return null;a=-1,s=-s}xr.subVectors(n,e);var l=a*i.dot(Er.crossVectors(xr,Er));if(l<0)return null;var c=a*i.dot(wr.cross(xr));if(c<0)return null;if(l+c>s)return null;var u=-a*xr.dot(Mr);if(u<0)return null;var d=u/s;return new Fr(0,0,0).copy(i).multiplyScalar(d).add(n)}),Nr=function(e,t){this.min=e,this.max=t};function Vr(e,t,r){var n=new Nr(0,0);t.x>=0?(n.min=(r.extents[0]-e.x)*t.x,n.max=(r.extents[3]-e.x)*t.x):(n.min=(r.extents[3]-e.x)*t.x,n.max=(r.extents[0]-e.x)*t.x);var i=new Nr(0,0);if(t.y>=0?(i.min=(r.extents[1]-e.y)*t.y,i.max=(r.extents[4]-e.y)*t.y):(i.min=(r.extents[4]-e.y)*t.y,i.max=(r.extents[1]-e.y)*t.y),n.min>i.max||i.min>n.max)return!1;i.min>n.min&&(n.min=i.min),i.max<n.max&&(n.max=i.max);var o=new Nr(0,0);return t.z>=0?(o.min=(r.extents[2]-e.z)*t.z,o.max=(r.extents[5]-e.z)*t.z):(o.min=(r.extents[5]-e.z)*t.z,o.max=(r.extents[2]-e.z)*t.z),!(n.min>o.max||o.min>n.max)&&(o.min>n.min&&(n.min=o.min),o.max<n.max&&(n.max=o.max),!(n.max<0))}function zr(e,t,r,n,i){if(r>=n)return[0,0,0,0,0,0];for(var o=1/0,a=1/0,s=1/0,l=-1/0,c=-1/0,u=-1/0,d=r,p=void 0,h=void 0;d<n;d++)(h=t[p=6*e[d]])<o&&(o=h),(h=t[p+1])<a&&(a=h),(h=t[p+2])<s&&(s=h),(h=t[p+3])>l&&(l=h),(h=t[p+4])>c&&(c=h),(h=t[p+5])>u&&(u=h);return[o-i,a-i,s-i,l+i,c+i,u+i]}function jr(e,t,r){return e<t?t:e>r?r:e}var Ur=1e-6,qr=function(){function e(){}return e.prototype.create=function(e){return this.trianglesArray=e,this},e.prototype.splitNode=function(e){if(!this.trianglesArray)throw new Error("bvh-tree never perpared. call `create` to initialize.");for(var t=this.trianglesArray,r=t.length/9,n=new Uint32Array(r),i=new Float32Array(6*r),o=[],a=0,s=1/0,l=1/0,c=1/0,u=-1/0,d=-1/0,p=-1/0,h=0,f=0,v=0,m=void 0,A=void 0,g=void 0,y=void 0,b=void 0,x=void 0,w=void 0;h<r;h++,f+=6,v+=9)n[h]=h,m=y=t[v],(w=t[v+3])<m&&(m=w),w>y&&(y=w),(w=t[v+6])<m&&(m=w),w>y&&(y=w),A=b=t[v+1],(w=t[v+4])<A&&(A=w),w>b&&(b=w),(w=t[v+7])<A&&(A=w),w>b&&(b=w),g=x=t[v+2],(w=t[v+5])<g&&(g=w),w>x&&(x=w),(w=t[v+8])<g&&(g=w),w>x&&(x=w),m<s&&(s=m),y>u&&(u=y),A<l&&(l=A),b>d&&(d=b),g<c&&(c=g),x>p&&(p=x),i[f]=m,i[f+1]=A,i[f+2]=g,i[f+3]=y,i[f+4]=b,i[f+5]=x;var E=new Dr([s,l,c,u,d,p],0,r);function M(t){for(var r=t.startIndex,s=t.endIndex,l=t.extents,c=[l[3]-l[0],l[4]-l[1],l[5]-l[2]],u=[0,1,2].sort((function(e,t){return c[t]-c[e]})),d=0;d<3;d++){for(var p=u[d],h=l[p]+l[p+3],f=r,v=s-1,m=-1,A=void 0;f<=v;)-1===m?(A=n[f],i[6*A+p]+i[6*A+p+3]<h?f++:m=A):(A=n[v],i[6*A+p]+i[6*A+p+3]>=h||(n[f]=A,n[v]=m,m=-1,f++),v--);if(f>r&&f<s){var g=new Dr(zr(n,i,r,f,Ur),r,f);g.endIndex-g.startIndex>e&&(o[a++]=g);var y=new Dr(zr(n,i,f,s,Ur),f,s);y.endIndex-y.startIndex>e&&(o[a++]=y),t.node0=g,t.node1=y,t.startIndex=0,t.endIndex=0;break}}}for(o[a++]=E;a;)M(o[--a]);return this.offsetArray=n,this.rootNode=E,o.length=0,this},e.prototype.intersectRay=function(e,t,r){if(!this.trianglesArray)throw new Error("bvh-tree never perpared. call `create` to initialize.");if(!this.rootNode||!this.offsetArray)throw new Error("bvh-tree never perpared. call `splitNode` to perpare.");for(var n,i=this.trianglesArray,o=this.offsetArray,a=this.rootNode,s=[],l=[],c=new Fr(1/t.x,1/t.y,1/t.z),u=[a];n=u.pop();)if(Vr(e,c,n)){n.node0&&u.push(n.node0),n.node1&&u.push(n.node1);for(var d=n.startIndex;d<n.endIndex;d++)s.push(o[d])}for(var p=new Fr(0,0,0),h=new Fr(0,0,0),f=new Fr(0,0,0),v=new Fr(e.x,e.y,e.z),m=new Fr(t.x,t.y,t.z),A=(d=0,void 0),g=void 0,y=s.length;d<y;d++){g=9*(A=s[d]),p.x=i[g],p.y=i[g+1],p.z=i[g+2],h.x=i[g+3],h.y=i[g+3+1],h.z=i[g+3+2],f.x=i[g+6],f.y=i[g+6+1],f.z=i[g+6+2];var b=Lr(p,h,f,v,m,r);b&&l.push(new Qr([p.clone(),h.clone(),f.clone()],b,A))}return l},e.prototype.trianglesInSphere=function(e,t){if(!this.trianglesArray)throw new Error("bvh-tree never perpared. call `create` to initialize.");if(!this.rootNode||!this.offsetArray)throw new Error("bvh-tree never perpared. call `splitNode` to perpare.");for(var r,n=this.trianglesArray,i=this.offsetArray,o=[this.rootNode],a=[];r=o.pop();){var s=jr(e.x,r.extents[0],r.extents[3])-e.x,l=jr(e.y,r.extents[1],r.extents[4])-e.y,c=jr(e.z,r.extents[2],r.extents[5])-e.z;if(s*s+l*l+c*c<=t*t){r.node0&&o.push(r.node0),r.node1&&o.push(r.node1);for(var u=r.startIndex;u<r.endIndex;u++)a.push(i[u])}}var d=a.length,p=new Float32Array(9*d);for(u=0;u<d;u++){var h=9*a[u];p[9*u]=n[h],p[9*u+1]=n[h+1],p[9*u+2]=n[h+2],p[9*u+3]=n[h+3],p[9*u+4]=n[h+4],p[9*u+5]=n[h+5],p[9*u+6]=n[h+6],p[9*u+7]=n[h+7],p[9*u+8]=n[h+8]}return p},e.prototype.dispose=function(){delete this.offsetArray,delete this.rootNode},e}(),_r=new n.Ray,Hr=new n.Vector3,Gr=new n.Matrix3,Kr=new n.Matrix4,Wr=new n.Vector3,Yr=new n.Vector3,Xr=new n.Vector3,Jr=new n.Triangle,Zr=function(e){function t(t,r,n){var i=e.call(this)||this;return i.objType=r,i.renderOrder=-4,i.add(t),i.objDisposer=n,i}return ne(t,e),t.prototype.buildBvhTree=function(){if("mesh"===this.objType&&!this.bvhTree){var e=this.parent;this.parent=null,this.updateWorldMatrix(!1,!0);var t=[];this.traverse((function(e){var r,i,o;if(e instanceof n.Mesh){var a=e.geometry;if(a instanceof n.BufferGeometry){var s=null===(r=a.attributes)||void 0===r?void 0:r.position.array;if(s){var l=null===(i=a.index)||void 0===i?void 0:i.array,c=null===(o=a.attributes.floor)||void 0===o?void 0:o.array,u=e.matrixWorld;t.push({position:s,floor:c,index:l,matrix:u})}}}}));for(var r=0,i=0,o=t;i<o.length;i++){var a=o[i],s=a.index,l=a.position,c=0;c=s?s.length:l.length/3,r+=3*Math.floor(c/3)}for(var u=new Float32Array(3*r),d=new Uint8Array(r),p=0,h=0,f=t;h<f.length;h++){var v=f[h],m=(s=v.index,l=v.position,v.floor),A=v.matrix;if(s){for(var g=3*Math.floor(s.length/3),y=0,b=void 0,x=void 0;y<g;y++)b=3*(p+y),x=3*s[y],Hr.set(l[x],l[x+1],l[x+2]),Hr.applyMatrix4(A),u[b]=Hr.x,u[b+1]=Hr.y,u[b+2]=Hr.z,m&&(d[p+y]=m[s[y]]);p+=g}else{for(g=3*Math.floor(l.length/3/3),y=0,b=void 0,x=void 0;y<g;y++)b=3*(p+y),x=3*y,Hr.set(l[x],l[x+1],l[x+2]),Hr.applyMatrix4(A),u[b]=Hr.x,u[b+1]=Hr.y,u[b+2]=Hr.z,m&&(d[p+y]=m[y]);p+=g}}this.floorsArray=d,this.bvhTree=(new qr).create(u).splitNode(100),this.parent=e,this.matrixWorldNeedsUpdate=!0}},t.prototype.intersectRaycaster=function(e){var t=this;if("point_cloud"===this.objType){e.params||(e.params={});return e.params.Points={threshold:.1},e.intersectObjects(this.children,!0).filter((function(t){if(t.distanceToRay>.1)return!1;if(t.object instanceof n.Points&&t.object.geometry instanceof n.BufferGeometry){var r=t.object.geometry.attributes.normal;if(r){var i=t.index,o=new n.Vector3(r.getX(i),r.getY(i),r.getZ(i));if(o.applyMatrix3(Gr.setFromMatrix4(t.object.matrixWorld)).normalize(),t.face=new n.Face3(i,i,i,o),e.ray.direction.dot(o)>0)return!1}}return!0})).map((function(e){var t,r=0;if(e.object instanceof st&&"number"==typeof e.index){var n=null===(t=e.object.geometry.attributes.floor)||void 0===t?void 0:t.array;n&&(r=n[e.index])}return{distance:e.distance,point:e.point,face:e.face?{normal:e.face.normal}:null,floor:r}}))}return"mesh"===this.objType?this.bvhTree?(this.updateWorldMatrix(!0,!1),Kr.getInverse(this.matrixWorld),_r.copy(e.ray).applyMatrix4(Kr),this.bvhTree.intersectRay(_r.origin,_r.direction,!0).map((function(r){var i=r.intersectionPoint,o=r.triangle,a=r.triangleIndex,s=(new n.Vector3).set(i.x,i.y,i.z).applyMatrix4(t.matrixWorld),l=Wr.set(o[0].x,o[0].y,o[0].z).applyMatrix4(t.matrixWorld),c=Yr.set(o[1].x,o[1].y,o[1].z).applyMatrix4(t.matrixWorld),u=Xr.set(o[2].x,o[2].y,o[2].z).applyMatrix4(t.matrixWorld),d=Jr.set(l,c,u).getNormal(new n.Vector3),p=e.ray.origin.distanceTo(s),h=0;if(t.floorsArray){var f=s.distanceTo(l),v=s.distanceTo(c),m=s.distanceTo(u),A=3*a;h=Math.round((f*t.floorsArray[A]+v*t.floorsArray[A+1]+m*t.floorsArray[A+2])/(f+v+m))}return{point:s,face:{normal:d},distance:p,floor:h}})).filter((function(t){return t.distance>=e.near&&t.distance<=e.far}))):e.intersectObjects(this.children,!0).map((function(e){var r,n,i=0;if(e.object instanceof tt&&e.face){var o=null===(r=e.object.geometry.attributes.position)||void 0===r?void 0:r.array,a=null===(n=e.object.geometry.attributes.floor)||void 0===n?void 0:n.array;if(o&&a){var s=Wr.set(o[3*e.face.a],o[3*e.face.a+1],o[3*e.face.a+2]).applyMatrix4(t.matrixWorld),l=Wr.set(o[3*e.face.b],o[3*e.face.b+1],o[3*e.face.b+2]).applyMatrix4(t.matrixWorld),c=Wr.set(o[3*e.face.c],o[3*e.face.c+1],o[3*e.face.c+2]).applyMatrix4(t.matrixWorld),u=e.point.distanceTo(s),d=e.point.distanceTo(l),p=e.point.distanceTo(c);i=Math.round((u*a[e.face.a]+d*a[e.face.b]+p*a[e.face.c])/(u+d+p))}}return{distance:e.distance,point:e.point,face:e.face?{normal:e.face.normal}:null,floor:i}})):[]},t.prototype.dispose=function(){this.bvhTree=void 0,this.objDisposer()},t}(n.Group);function $r(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=[];e=e.map((function(e){return(null!=e?e:"").trim()})).filter((function(e){return e.length>0&&!/^\/+$/.test(e)}));for(var n=0;n<e.length;n++){var i=0===n,o=n===e.length-1,a=e[n];i||(a=a.replace(/^\.\//,"").replace(/^\/+/,"")),o||(a=a.replace(/\/+$/,"")),r.push(a)}return r.join("/")}function en(e){return 0===e.indexOf("//")||/^[0-9a-z]+\:/i.test(e)}function tn(e,t){if(e.content&&e.content.uri&&(en(e.content.uri)||(e.content.uri=$r(t,e.content.uri))),e.children)for(var r=0,n=e.children;r<n.length;r++){tn(n[r],t)}return e}function rn(e,t){return tn(e.root,t),e}function nn(e,t){return"?"!==t[0]&&"&"!==t[0]||(t=t.slice(1)),t?("?"!==e[e.length-1]&&"&"!==e[e.length-1]||(e=e.slice(0,-1)),e.indexOf("?")>=0?"".concat(e,"&").concat(t):"".concat(e,"?").concat(t)):e}var on,an,sn=4;function ln(e,t,r){var n=new DataView(t);if(e.magic=n.getUint32(r,!0),r+=sn,e.version=n.getUint32(r,!0),r+=sn,e.byteLength=n.getUint32(r,!0),r+=sn,1!==e.version)throw new Error("3D Tile Version ".concat(e.version," not supported"));return r}!function(e){e[e.BYTE=5120]="BYTE",e[e.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",e[e.SHORT=5122]="SHORT",e[e.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",e[e.INT=5124]="INT",e[e.UNSIGNED_INT=5125]="UNSIGNED_INT",e[e.FLOAT=5126]="FLOAT",e[e.DOUBLE=5130]="DOUBLE"}(an||(an={}));var cn=((on={})[an.DOUBLE]=Float64Array,on[an.FLOAT]=Float32Array,on[an.UNSIGNED_SHORT]=Uint16Array,on[an.UNSIGNED_INT]=Uint32Array,on[an.UNSIGNED_BYTE]=Uint8Array,on[an.BYTE]=Int8Array,on[an.SHORT]=Int16Array,on[an.INT]=Int32Array,on),un={DOUBLE:an.DOUBLE,FLOAT:an.FLOAT,UNSIGNED_SHORT:an.UNSIGNED_SHORT,UNSIGNED_INT:an.UNSIGNED_INT,UNSIGNED_BYTE:an.UNSIGNED_BYTE,BYTE:an.BYTE,SHORT:an.SHORT,INT:an.INT};function dn(e){var t=cn[e];if(!t)throw new Error("Failed to convert GL type");return t}function pn(e){return dn(e).BYTES_PER_ELEMENT}function hn(e,t,r,n){void 0===r&&(r=0);var i=dn(e);return r%pn(e)!=0?new i(n?t.slice(r,r+n*pn(e)):t.slice(r)):new i(t,r,null!=n?n:(t.byteLength-r)/pn(e))}var fn=function(){function e(e,t){this.featuresLength=0,this.cachedTypedArrays={},this.json=e,this.buffer=t;var r=this.getGlobalProperty("POINTS_LENGTH",an.UNSIGNED_INT,1);r&&r.length&&(this.featuresLength=r[0])}return e.prototype.getExtension=function(e){return this.json.extensions&&this.json.extensions[e]},e.prototype.hasProperty=function(e){return Boolean(this.json[e])},e.prototype.getGlobalProperty=function(e,t,r){var n=this.json[e];return"number"==typeof n?new(dn(t))([n]):Array.isArray(n)?new(dn(t))(n):n&&Number.isFinite(n.byteOffset)?this.getTypedArrayFromBinary(e,t,r,1,n.byteOffset):null},e.prototype.getPropertyArray=function(e,t,r){var n=this.json[e];return n&&Number.isFinite(n.byteOffset)?("componentType"in n&&(t=function(e){var t=un[e];if(!t)throw new Error("Failed to convert GL type");return t}(n.componentType)),this.getTypedArrayFromBinary(e,t,r,this.featuresLength,n.byteOffset)):this.getTypedArrayFromArray(e,t,n)},e.prototype.getProperty=function(e,t,r,n,i){if(!this.json[e])return null;var o=this.getPropertyArray(e,t,r);if(1===r)return i[0]=o[n],i;for(var a=0;a<r;++a)i[a]=o[r*n+a];return i},e.prototype.getTypedArrayFromBinary=function(e,t,r,n,i){var o=this.cachedTypedArrays,a=o[e];return a||(a=hn(t,this.buffer.buffer,this.buffer.byteOffset+i,n*r),o[e]=a),a},e.prototype.getTypedArrayFromArray=function(e,t,r){var n=this.cachedTypedArrays,i=n[e];return i||(i=hn(t,r),n[e]=i),i},e}(),vn=4,mn="b3dm tile in legacy format.";function An(e,t,r){var n=new TextDecoder("utf8"),i=new Uint8Array(e,t,r);return n.decode(i)}function gn(e,t,r){return r=function(e,t,r){var n=new DataView(t),i=0;e.header=e.header||{};var o=n.getUint32(r,!0);r+=vn;var a=n.getUint32(r,!0);r+=vn;var s=n.getUint32(r,!0);r+=vn;var l=n.getUint32(r,!0);r+=vn,s>=570425344?(r-=2*vn,i=o,s=a,l=0,o=0,a=0,console.warn(mn)):l>=570425344&&(r-=vn,i=s,s=o,l=a,o=0,a=0,console.warn(mn));return e.header.featureTableJsonByteLength=o,e.header.featureTableBinaryByteLength=a,e.header.batchTableJsonByteLength=s,e.header.batchTableBinaryByteLength=l,e.header.batchLength=i,r}(e,t,r),r=function(e,t,r){var i=e.header||{},o=i.featureTableJsonByteLength,a=i.featureTableBinaryByteLength,s=i.batchLength;if(e.featureTableJson={BATCH_LENGTH:s||0},o&&o>0){var l=An(t,r,o);e.featureTableJson=JSON.parse(l)}r+=o||0,e.featureTableBinary=new Uint8Array(t,r,a),r+=a||0,e.rtcCenter=new n.Vector3;var c=new fn(e.featureTableJson,e.featureTableBinary);if(Array.isArray(c.json.RTC_CENTER))e.rtcCenter.fromArray(c.json.RTC_CENTER);else{var u=c.getGlobalProperty("RTC_CENTER",an.FLOAT,3);u&&e.rtcCenter.fromArray(u)}return r}(e,t,r),r=function(e,t,r){var n=e.header||{},i=n.batchTableJsonByteLength,o=n.batchTableBinaryByteLength;if(i&&i>0){var a=An(t,r,i);e.batchTableJson=JSON.parse(a),r+=i,o&&o>0&&(e.batchTableBinary=new Uint8Array(t,r,o),e.batchTableBinary=new Uint8Array(e.batchTableBinary),r+=o)}return r}(e,t,r),r}function yn(e,t,r){var n=e.byteLength-r;if(0===n)throw new Error("glTF byte length must be greater than 0.");return r%4!=0&&console.warn("".concat(e.type,": embedded glb is not aligned to a 4-byte boundary.")),e.gltfArrayBuffer=function(e,t,r){var n=void 0!==r?new Uint8Array(e).subarray(t,t+r):new Uint8Array(e).subarray(t);return new Uint8Array(n).buffer}(t,r,n),e.byteLength}function bn(e){if("undefined"!=typeof TextDecoder)return(new TextDecoder).decode(e);for(var t="",r=0,n=e.length;r<n;r++)t+=String.fromCharCode(e[r]);try{return decodeURIComponent(escape(t))}catch(e){return t}}var xn=0,wn=1,En=2,Mn=3,Cn=4,Sn=5,In=6,Pn={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},Tn={9728:n.NearestFilter,9729:n.LinearFilter,9984:n.NearestMipmapNearestFilter,9985:n.LinearMipmapNearestFilter,9986:n.NearestMipmapLinearFilter,9987:n.LinearMipmapLinearFilter},Bn={33071:n.ClampToEdgeWrapping,33648:n.MirroredRepeatWrapping,10497:n.RepeatWrapping},Rn={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},kn={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv2",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},On={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},Fn={CUBICSPLINE:void 0,LINEAR:n.InterpolateLinear,STEP:n.InterpolateDiscrete},Dn="OPAQUE",Qn="MASK",Ln="BLEND";function Nn(e){var t=[];for(var r in e)t.push(e[r]);return t}var Vn=function(){function e(e,t,r){this.json=e,this.extensions=t,this.options=r,this.cache=new Map,this.disposeSet=new Set,this.nodeNamesUsed={}}return e.prototype.dispose=function(){this.cache.clear(),this.disposeSet.forEach((function(e){e.dispose()})),this.disposeSet.clear()},e.prototype.markDefs=function(){for(var e=this.json.nodes||[],t=this.json.skins||[],r=this.json.meshes||[],n=0,i=t.length;n<i;n++)for(var o=t[n].joints,a=0,s=o.length;a<s;a++)e[o[a]].isBone=!0;for(var l=0,c=e.length;l<c;l++){var u=e[l];void 0!==u.mesh&&void 0!==u.skin&&(r[u.mesh].isSkinnedMesh=!0)}},e.prototype.parse=function(){var e=this,t=this.json,r=this.extensions;this.dispose(),this.markDefs();for(var n=0,i=Nn(r);n<i.length;n++){i[n].markDefs(this)}return Promise.all(Nn(r).map((function(t){return t.prepare(e)}))).then((function(){var r,n,i;return Promise.all([Promise.all((null!==(r=t.scenes)&&void 0!==r?r:[]).map((function(t,r){return e.loadScene(r)}))),Promise.all((null!==(n=t.animations)&&void 0!==n?n:[]).map((function(t,r){return e.loadAnimation(r)}))),Promise.all((null!==(i=t.cameras)&&void 0!==i?i:[]).map((function(t,r){return e.loadCamera(r)})))])})).then((function(n){var i=n[0],o=n[1],a=n[2],s={json:e.json,scene:i[t.scene||0],scenes:i,animations:o,cameras:a,dispose:function(){return e.dispose()}};return Promise.all(Nn(r).map((function(t){return t.emitResult(s,e)}))).then((function(){return s}))}))},e.prototype.loadCamera=function(e){var t="camera:"+e,r=this.cache.get(t);if(r)return r;for(var i=null,o=0,a=Nn(this.extensions);o<a.length;o++){if(i=a[o].loadCamera(e,this))break}if(!i){var s=void 0,l=this.json.cameras[e],c=l[l.type];c?"perspective"===l.type?s=new n.PerspectiveCamera(n.MathUtils.radToDeg(c.yfov),c.aspectRatio||1,c.znear||1,c.zfar||2e6):"orthographic"===l.type?s=new n.OrthographicCamera(-c.xmag,c.xmag,c.ymag,-c.ymag,c.znear,c.zfar):(console.warn("glTF: Invalid camera type ".concat(l.type,".")),s=new n.Camera):(console.warn("glTF: Missing camera parameters."),s=new n.Camera),l.name&&(s.name=this.createUniqueName(l.name)),i=Promise.resolve(s)}return this.cache.set(t,i),i},e.prototype.loadSkin=function(e){var t,r="animation:"+e,n=this.cache.get(r);if(n)return n;var i=this.json.skins[e],o={joints:i.joints};return t=void 0===i.inverseBindMatrices?Promise.resolve(o):this.loadAccessor(i.inverseBindMatrices).then((function(e){return e&&(o.inverseBindMatrices=e),o})),this.cache.set(r,t),t},e.prototype.loadAnimation=function(e){var t="animation:"+e,r=this.cache.get(t);if(r)return r;for(var i=null,o=0,a=Nn(this.extensions);o<a.length;o++){if(i=a[o].loadAnimation(e,this))break}if(!i){for(var s=this.json.animations[e],l=[],c=[],u=[],d=[],p=[],h=0,f=s.channels.length;h<f;h++){var v=s.channels[h],m=s.samplers[v.sampler],A=v.target,g=void 0!==A.node?A.node:A.id,y=void 0!==s.parameters?s.parameters[m.input]:m.input,b=void 0!==s.parameters?s.parameters[m.output]:m.output;l.push(this.loadNode(g)),c.push(this.loadAccessor(y)),u.push(this.loadAccessor(b)),d.push(m),p.push(A)}i=Promise.all([Promise.all(l),Promise.all(c),Promise.all(u),Promise.all(d),Promise.all(p)]).then((function(t){for(var r=t[0],i=t[1],o=t[2],a=t[3],l=t[4],c=[],u=function(e,t){var s=r[e],u=i[e],d=o[e],p=a[e],h=l[e];if(void 0===s)return"continue";s.updateMatrix(),s.matrixAutoUpdate=!0;var f=void 0;switch(On[h.path]){case On.weights:f=n.NumberKeyframeTrack;break;case On.rotation:f=n.QuaternionKeyframeTrack;break;default:f=n.VectorKeyframeTrack}var v=s.name?s.name:s.uuid,m=void 0!==p.interpolation?Fn[p.interpolation]:n.InterpolateLinear,A=[];On[h.path]===On.weights?s.traverse((function(e){e.morphTargetInfluences&&A.push(e.name?e.name:e.uuid)})):A.push(v);var g=d.array;if(d.normalized){for(var y=zn(g.constructor),b=new Float32Array(g.length),x=0,w=g.length;x<w;x++)b[x]=g[x]*y;g=b}for(x=0,w=A.length;x<w;x++){var E=new f(A[x]+"."+On[h.path],u.array,g,m);c.push(E)}},d=0,p=r.length;d<p;d++)u(d);var h=s.name?s.name:"animation_"+e;return new n.AnimationClip(h,void 0,c)}))}return this.cache.set(t,i),i},e.prototype.loadBuffer=function(e){var t=this.json.buffers[e];if(t.type&&"arraybuffer"!==t.type)throw new Error("glTF: "+t.type+" buffer type is not supported.");var r="buffer:"+e,n=this.cache.get(r);if(n)return n;for(var i=null,o=0,a=Nn(this.extensions);o<a.length;o++){if(i=a[o].loadBuffer(e,this))break}if(!i){var s=this.json.buffers[e];i=this.options.fetcher.ajax(this.resolveResouce(s.uri),{responseType:"arraybuffer"}).then((function(e){return e.body}))}return this.cache.set(r,i),i},e.prototype.loadBufferView=function(e){var t="bufferView:"+e,r=this.cache.get(t);if(r)return r;for(var n=null,i=0,o=Nn(this.extensions);i<o.length;i++){if(n=o[i].loadBufferView(e,this))break}if(!n){var a=this.json.bufferViews[e];n=this.loadBuffer(a.buffer).then((function(e){var t=a.byteLength||0,r=a.byteOffset||0;return e.slice(r,r+t)}))}return this.cache.set(t,n),n},e.prototype.loadAccessor=function(e){var t=this,r="accessor:"+e,i=this.cache.get(r);if(i)return i;var o=null;if(!o){var a=this.json.accessors[e];if(void 0===a.bufferView&&void 0===a.sparse)o=Promise.resolve(null);else{var s=[];void 0!==a.bufferView?s.push(this.loadBufferView(a.bufferView)):s.push(Promise.resolve(null)),void 0!==a.sparse&&(s.push(this.loadBufferView(a.sparse.indices.bufferView)),s.push(this.loadBufferView(a.sparse.values.bufferView))),o=Promise.all(s).then((function(e){var r,i,o=e[0],s=Rn[a.type],l=Pn[a.componentType],c=l.BYTES_PER_ELEMENT,u=c*s,d=a.byteOffset||0,p=void 0!==a.bufferView?t.json.bufferViews[a.bufferView].byteStride:void 0,h=!0===a.normalized;if(p&&p!==u){var f=Math.floor(d/p),v="InterleavedBuffer:"+a.bufferView+":"+a.componentType+":"+f+":"+a.count,m=t.cache.get(v);m||(r=new l(o,f*p,a.count*p/c),m=new n.InterleavedBuffer(r,p/c),t.cache.set(v,m)),i=new n.InterleavedBufferAttribute(m,s,d%p/c,h)}else r=null===o?new l(a.count*s):new l(o,d,a.count*s),i=new n.BufferAttribute(r,s,h);if(void 0!==a.sparse){var A=Rn.SCALAR,g=Pn[a.sparse.indices.componentType],y=a.sparse.indices.byteOffset||0,b=a.sparse.values.byteOffset||0,x=new g(e[1],y,a.sparse.count*A),w=new l(e[2],b,a.sparse.count*s);null!==o&&(i=new n.BufferAttribute(i.array.slice(),i.itemSize,i.normalized));for(var E=0,M=x.length;E<M;E++){var C=x[E];if(i.setX(C,w[E*s]),s>=2&&i.setY(C,w[E*s+1]),s>=3&&i.setZ(C,w[E*s+2]),s>=4&&i.setW(C,w[E*s+3]),s>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return i}))}}return this.cache.set(r,o),o},e.prototype.createPrimitiveKey=function(e){for(var t=0,r=Nn(this.extensions);t<r.length;t++){var n=r[t].createPrimitiveKey(e,this);if(n)return n}for(var i="",o=Object.keys(e.attributes).sort(),a=0,s=o.length;a<s;a++)i+=o[a]+":"+e.attributes[o[a]]+";";return e.indices+":"+i+":"+e.mode},e.prototype.loadGeometry=function(e){var t=this,r="geometry:"+this.createPrimitiveKey(e),i=this.cache.get(r);if(i)return i;for(var o=null,a=0,s=Nn(this.extensions);a<s.length;a++){if(o=s[a].loadGeometry(e,this))break}return o||(o=this.addGeometryPrimitiveAttributes(new n.BufferGeometry,e)),o=o.then((function(e){return t.disposeSet.add(e),e})),this.cache.set(r,o),o},e.prototype.loadImage=function(e){var t="image:"+e,r=this.cache.get(t);if(r)return r;for(var n=null,i=0,o=Nn(this.extensions);i<o.length;i++){if(n=o[i].loadImage(e,this))break}if(!n){var a=this.json.images[e];if(a.bufferView)n=this.loadBufferView(a.bufferView).then((function(e){return Ft(new Blob([e],{type:a.mimeType}))}));else{if(!a.uri)throw new Error("glTF: Invalid image defs.");var s=this.resolveResouce(a.uri);n=this.options.fetcher.loadImage(s,{},void 0,void 0,void 0,Ot()).then((function(e){return e.body}))}}return this.cache.set(t,n),n},e.prototype.loadMaterialAsMeshStandardMaterial=function(e){var t=this,r=[],i=new n.MeshStandardMaterial;if(i.color=new n.Color(1,1,1),i.opacity=1,Object.keys(e.attributes).filter((function(e){return"color"===kn[e]})).length>0&&(i.vertexColors=!0),0===Object.keys(e.attributes).filter((function(e){return"normal"===kn[e]})).length&&(i.flatShading=!0),0===Object.keys(e.attributes).filter((function(e){return"tangent"===kn[e]})).length&&(i.normalScale&&(i.normalScale.y*=-1),i.clearcoatNormalScale&&(i.clearcoatNormalScale.y*=-1)),void 0!==e.material){var o=this.json.materials[e.material];o.name&&(i.name=o.name);var a=o.pbrMetallicRoughness||{};if(Array.isArray(a.baseColorFactor)){var s=a.baseColorFactor;i.color.fromArray(s),i.opacity=s[3]}void 0!==a.baseColorTexture&&r.push(this.createMaterialTexture(a.baseColorTexture).then((function(e){e.encoding=n.sRGBEncoding,i.map=e,t.disposeSet.add(e)}))),i.metalness=void 0!==a.metallicFactor?a.metallicFactor:1,i.roughness=void 0!==a.roughnessFactor?a.roughnessFactor:1,void 0!==a.metallicRoughnessTexture&&r.push(this.createMaterialTexture(a.metallicRoughnessTexture).then((function(e){e.encoding=n.sRGBEncoding,i.metalnessMap=e,i.roughnessMap=e,t.disposeSet.add(e)}))),!0===o.doubleSided&&(i.side=n.DoubleSide);var l=o.alphaMode||Dn;if(l===Ln?(i.transparent=!0,i.depthWrite=!1):(i.transparent=!1,l===Qn&&(i.alphaTest=void 0!==o.alphaCutoff?o.alphaCutoff:.5)),void 0!==o.normalTexture&&(r.push(this.createMaterialTexture(o.normalTexture).then((function(e){i.normalMap=e,t.disposeSet.add(e)}))),i.normalScale=new n.Vector2(1,1),void 0!==o.normalTexture.scale)){var c=o.normalTexture.scale;i.normalScale.set(c,c)}void 0!==o.occlusionTexture&&(r.push(this.createMaterialTexture(o.occlusionTexture).then((function(e){i.aoMap=e,t.disposeSet.add(e)}))),void 0!==o.occlusionTexture.strength&&(i.aoMapIntensity=o.occlusionTexture.strength)),void 0!==o.emissiveFactor&&(i.emissive=(new n.Color).fromArray(o.emissiveFactor)),void 0!==o.emissiveTexture&&r.push(this.createMaterialTexture(o.emissiveTexture).then((function(e){i.emissiveMap=e,t.disposeSet.add(e)})))}return this.disposeSet.add(i),Promise.all(r).then((function(){return i}))},e.prototype.loadMaterialAsLineBasicMaterial=function(e){var t=new n.LineBasicMaterial;if(t.color=new n.Color(1,1,1),t.opacity=1,Object.keys(e.attributes).filter((function(e){return"color"===kn[e]})).length>0&&(t.vertexColors=!0),0===Object.keys(e.attributes).filter((function(e){return"tangent"===kn[e]})).length&&(t.normalScale&&(t.normalScale.y*=-1),t.clearcoatNormalScale&&(t.clearcoatNormalScale.y*=-1)),void 0!==e.material){var r=this.json.materials[e.material];r.name&&(t.name=r.name);var i=r.pbrMetallicRoughness||{};if(Array.isArray(i.baseColorFactor)){var o=i.baseColorFactor;t.color.fromArray(o),t.opacity=o[3]}!0===r.doubleSided&&(t.side=n.DoubleSide);var a=r.alphaMode||Dn;a===Ln?(t.transparent=!0,t.depthWrite=!1):(t.transparent=!1,a===Qn&&(t.alphaTest=void 0!==r.alphaCutoff?r.alphaCutoff:.5))}return this.disposeSet.add(t),Promise.all([]).then((function(){return t}))},e.prototype.loadMaterialAsPointsMaterial=function(e){var t=this,r=[],i=new n.PointsMaterial;if(i.color=new n.Color(1,1,1),i.opacity=1,i.sizeAttenuation=!1,Object.keys(e.attributes).filter((function(e){return"color"===kn[e]})).length>0&&(i.vertexColors=!0),0===Object.keys(e.attributes).filter((function(e){return"tangent"===kn[e]})).length&&(i.normalScale&&(i.normalScale.y*=-1),i.clearcoatNormalScale&&(i.clearcoatNormalScale.y*=-1)),void 0!==e.material){var o=this.json.materials[e.material];o.name&&(i.name=o.name);var a=o.pbrMetallicRoughness||{};if(Array.isArray(a.baseColorFactor)){var s=a.baseColorFactor;i.color.fromArray(s),i.opacity=s[3]}void 0!==a.baseColorTexture&&r.push(this.createMaterialTexture(a.baseColorTexture).then((function(e){e.encoding=n.sRGBEncoding,i.map=e,t.disposeSet.add(e)}))),!0===o.doubleSided&&(i.side=n.DoubleSide);var l=o.alphaMode||Dn;l===Ln?(i.transparent=!0,i.depthWrite=!1):(i.transparent=!1,l===Qn&&(i.alphaTest=void 0!==o.alphaCutoff?o.alphaCutoff:.5))}return this.disposeSet.add(i),Promise.all(r).then((function(){return i}))},e.prototype.loadMaterial=function(e){var t,r=this,n=null!==(t=e.mode)&&void 0!==t?t:Cn,i="material:"+this.createPrimitiveKey(e),o=this.cache.get(i);if(o)return o;for(var a=null,s=0,l=Nn(this.extensions);s<l.length;s++){if(a=l[s].loadMaterial(e,this))break}if(n===Cn||n===Sn||n===In)a=this.loadMaterialAsMeshStandardMaterial(e);else if(n===wn||n===Mn||n===En)a=this.loadMaterialAsLineBasicMaterial(e);else{if(n!==xn)throw new Error("glTF: Primitive mode unsupported: "+n);a=this.loadMaterialAsPointsMaterial(e)}return a=a.then((function(e){return r.disposeSet.add(e),e})),this.cache.set(i,a),a},e.prototype.loadTexture=function(e){var t=this,r="texture:"+e,i=this.cache.get(r);if(i)return i;for(var o=null,a=0,s=Nn(this.extensions);a<s.length;a++){if(o=s[a].loadTexture(e,this))break}if(!o){var l=this.json.textures[e];o=this.loadImage(l.source).then((function(e){var r=new n.Texture(e);r.needsUpdate=!0,r.flipY=!1,l.name&&(r.name=l.name);var i=(t.json.samplers||{})[l.sampler]||{};r.magFilter=Tn[i.magFilter]||n.LinearFilter,r.minFilter=Tn[i.minFilter]||n.LinearMipmapLinearFilter,r.wrapS=Bn[i.wrapS]||n.RepeatWrapping,r.wrapT=Bn[i.wrapT]||n.RepeatWrapping;var o=r.dispose;return r.dispose=function(){return r.dispose=o,e.close(),o.call(this)},r}))}return o=o.then((function(e){return t.disposeSet.add(e),e})),this.cache.set(r,o),o},e.prototype.loadMesh=function(e){for(var t=this,r=null,i=0,o=Nn(this.extensions);i<o.length;i++){if(r=o[i].loadMesh(e,this))break}if(!r){var a=this.json.meshes[e],s=a.primitives,l=Promise.all(s.map((function(e){return t.loadGeometry(e)}))),c=Promise.all(s.map((function(e){return t.loadMaterial(e)})));r=Promise.all([l,c]).then((function(r){for(var i=r[0],o=r[1],l=[],c=0;c<s.length;c++){var u=s[c],d=i[c],p=o[c],h=u.mode||Cn,f=void 0;if(h===Cn||h===Sn||h===In)if(h===Sn?d=t.toGeometryTrianglesDrawMode(d,n.TriangleStripDrawMode):h===In&&(d=t.toGeometryTrianglesDrawMode(d,n.TriangleFanDrawMode)),a.isSkinnedMesh){var v=new n.SkinnedMesh(d,p);d.attributes.skinWeight.normalized||v.normalizeSkinWeights(),f=v}else f=new n.Mesh(d,p);else if(h===xn)f=new n.Points(d,p);else if(h===wn)f=new n.LineSegments(d,p);else if(h===Mn)f=new n.Line(d,p);else{if(h!==En)throw new Error("glTF: Primitive mode unsupported: "+h);f=new n.LineLoop(d,p)}if(Object.keys(d.morphAttributes).length>0){if(void 0!==a.weights)for(var m=0,A=a.weights.length;m<A;m++)f.morphTargetInfluences[m]=a.weights[m];if(a.extras&&Array.isArray(a.extras.targetNames)){var g=a.extras.targetNames;if(f.morphTargetInfluences.length===g.length){f.morphTargetDictionary={};for(m=0,A=g.length;m<A;m++)f.morphTargetDictionary[g[m]]=m}else console.warn("glTF: Invalid extras.targetNames length. Ignoring names.")}}f.name=t.createUniqueName(a.name||"mesh_"+e),l.push(f)}if(1===l.length)return l[0];for(var y=new n.Group,b=0,x=l;b<x.length;b++){f=x[b];y.add(f)}return y}))}return r},e.prototype.loadNodeAttachments=function(e){for(var t=[],r=0,n=Nn(this.extensions);r<n.length;r++){var i=n[r].loadNodeAttachments(e,this);i&&t.push(i)}return t},e.prototype.loadNode=function(e){var t="node:"+e,r=this.cache.get(t);if(r)return r;var i=this.json.nodes[e],o=i.name?this.createUniqueName(i.name):"",a=[];void 0!==i.mesh&&a.push(this.loadMesh(i.mesh).then((function(e){if(void 0!==i.weights){var t=i.weights;e.traverse((function(e){if(e instanceof n.Mesh||e instanceof n.Line||e instanceof n.Points)for(var r=0,i=t.length;r<i;r++)e.morphTargetInfluences[r]=t[r]}))}return e}))),void 0!==i.camera&&a.push(this.loadCamera(i.camera));for(var s=0,l=this.loadNodeAttachments(e);s<l.length;s++){var c=l[s];a.push(c)}return Promise.all(a).then((function(e){var t;if((t=!0===i.isBone?new n.Bone:e.length>1?new n.Group:1===e.length?e[0]:new n.Object3D)!==e[0])for(var r=0,a=e.length;r<a;r++)t.add(e[r]);if(i.name&&(t.name=o),void 0!==i.matrix){var s=new n.Matrix4;s.fromArray(i.matrix),t.applyMatrix4(s)}else void 0!==i.translation&&t.position.fromArray(i.translation),void 0!==i.rotation&&t.quaternion.fromArray(i.rotation),void 0!==i.scale&&t.scale.fromArray(i.scale);return t}))},e.prototype.loadScene=function(e){var t=this.json.scenes[e],r=new n.Group;t.name&&(r.name=this.createUniqueName(t.name));for(var i=t.nodes||[],o=[],a=0,s=i.length;a<s;a++)o.push(this.buildNodeHierarchy(i[a],r));return Promise.all(o).then((function(){return r}))},e.prototype.createMaterialTexture=function(e){var t=this;return this.loadTexture(e.index).then((function(r){for(var n=0,i=Nn(t.extensions);n<i.length;n++){var o=i[n].extendTexture(r,e,t);o&&(r=o)}return r}))},e.prototype.addGeometryPrimitiveAttributes=function(e,t){var r=this,i=t.attributes,o=[],a=function(t){var r=kn[t]||t.toLowerCase();if(r in e.attributes)return"continue";o.push(s.loadAccessor(i[t]).then((function(t){t&&e.setAttribute(r,t)})))},s=this;for(var l in i)a(l);void 0===t.indices||e.index||o.push(this.loadAccessor(t.indices).then((function(t){t&&e.setIndex(t)})));var c=new n.Box3;if(void 0!==i.POSITION){var u=(y=this.json.accessors[i.POSITION]).min,d=y.max;if(void 0!==u&&void 0!==d){if(c.set(new n.Vector3(u[0],u[1],u[2]),new n.Vector3(d[0],d[1],d[2])),y.normalized){var p=zn(Pn[y.componentType]);c.min.multiplyScalar(p),c.max.multiplyScalar(p)}}else console.warn("glTF: Missing min/max properties for accessor POSITION.")}var h=t.targets;if(void 0!==h){for(var f=new n.Vector3,v=new n.Vector3,m=0,A=h.length;m<A;m++){var g=h[m];if(void 0!==g.POSITION){var y;u=(y=this.json.accessors[g.POSITION]).min,d=y.max;if(void 0!==u&&void 0!==d){if(v.setX(Math.max(Math.abs(u[0]),Math.abs(d[0]))),v.setY(Math.max(Math.abs(u[1]),Math.abs(d[1]))),v.setZ(Math.max(Math.abs(u[2]),Math.abs(d[2]))),y.normalized){p=zn(Pn[y.componentType]);v.multiplyScalar(p)}f.max(v)}else console.warn("glTF: Missing min/max properties for accessor POSITION.")}}c.expandByVector(f)}e.boundingBox=c;var b=new n.Sphere;return c.getCenter(b.center),b.radius=c.min.distanceTo(c.max)/2,e.boundingSphere=b,Promise.all(o).then((function(){if(e.attributes.uv&&!e.attributes.uv2&&r.options.copyUV2&&e.setAttribute("uv2",e.attributes.uv),t.targets){for(var n=!1,i=!1,o=0,a=t.targets.length;o<a;o++){var s=t.targets[o];if(void 0!==s.POSITION&&(n=!0),void 0!==s.NORMAL&&(i=!0),n&&i)break}if(!n&&!i)return e;var l=[];e.morphTargetsRelative=!0;var c=function(o,a){var s=t.targets[o];n?l.push(r.loadAccessor(s.POSITION).then((function(t){t&&(e.morphAttributes.position[o]=t)}))):e.morphAttributes.position[o]=e.attributes.position,i?l.push(r.loadAccessor(s.NORMAL).then((function(t){t&&(e.morphAttributes.normal[o]=t)}))):e.morphAttributes.normal[o]=e.attributes.normal};for(o=0,a=t.targets.length;o<a;o++)c(o);return Promise.all(l).then((function(){return e}))}return e}))},e.prototype.buildNodeHierarchy=function(e,t){var r=this,i=this.json.nodes[e];return this.loadNode(e).then((function(e){return void 0===i.skin?e:r.loadSkin(i.skin).then((function(e){for(var n=[],i=0,o=(t=e).joints.length;i<o;i++)n.push(r.loadNode(t.joints[i]));return Promise.all(n)})).then((function(r){return e.traverse((function(e){if(e instanceof n.SkinnedMesh){for(var i=[],o=[],a=0,s=r.length;a<s;a++){var l=r[a];if(l instanceof n.Bone){i.push(l);var c=new n.Matrix4;void 0!==t.inverseBindMatrices&&c.fromArray(t.inverseBindMatrices.array,16*a),o.push(c)}else console.warn('glTF: Joint "%s" could not be found.',t.joints[a])}e.bind(new n.Skeleton(i,o),e.matrixWorld)}})),e}));var t})).then((function(e){t.add(e);var n=[];if(i.children)for(var o=i.children,a=0,s=o.length;a<s;a++){var l=o[a];n.push(r.buildNodeHierarchy(l,e))}return Promise.all(n).then((function(){return e}))}))},e.prototype.createUniqueName=function(e){for(var t=n.PropertyBinding.sanitizeNodeName(e||""),r=t,i=1;this.nodeNamesUsed[r];++i)r=t+"_"+i;return this.nodeNamesUsed[r]=!0,r},e.prototype.resolveResouce=function(e){return $r(this.options.resourcePath,nn(e,this.options.search))},e.prototype.toGeometryTrianglesDrawMode=function(e,t){var r=e.getIndex();if(null===r){var i=[],o=e.getAttribute("position");if(void 0!==o){for(var a=0;a<o.count;a++)i.push(a);e.setIndex(i),r=e.getIndex()}}if(null===r)return console.error("glTF: Undefined position attribute. Processing not possible."),e;var s=r.count-2,l=[];if(t===n.TriangleFanDrawMode)for(a=1;a<=s;a++)l.push(r.getX(0)),l.push(r.getX(a)),l.push(r.getX(a+1));else for(a=0;a<s;a++)a%2==0?(l.push(r.getX(a)),l.push(r.getX(a+1)),l.push(r.getX(a+2))):(l.push(r.getX(a+2)),l.push(r.getX(a+1)),l.push(r.getX(a)));l.length/3!==s&&console.error("glTF: Unable to generate correct amount of triangles.");var c=e.clone();return c.setIndex(l),c},e}();function zn(e){switch(e){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 jn=function(){function e(){}return e.prototype.markDefs=function(e){},e.prototype.prepare=function(e){},e.prototype.emitResult=function(e,t){},e.prototype.createPrimitiveKey=function(e,t){},e.prototype.extendTexture=function(e,t,r){return null},e.prototype.loadBuffer=function(e,t){return null},e.prototype.loadBufferView=function(e,t){return null},e.prototype.loadImage=function(e,t){return null},e.prototype.loadTexture=function(e,t){return null},e.prototype.loadGeometry=function(e,t){return null},e.prototype.loadMaterial=function(e,t){return null},e.prototype.loadMesh=function(e,t){return null},e.prototype.loadNodeAttachments=function(e,t){return null},e.prototype.loadCamera=function(e,t){return null},e.prototype.loadAnimation=function(e,t){return null},e}(),Un=function(e){function t(){var t=e.call(this)||this;return t.header={magic:"",version:0,length:0},t.content="",t.body=null,t}return ne(t,e),t.getMagic=function(e){return bn(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 n=new DataView(e,t.HEADER_LENGTH),i=0,o=null,a=null;i<n.byteLength;){var s=n.getUint32(i,!0);i+=4;var l=n.getUint32(i,!0);if(i+=4,l===t.CHUNK_TYPES.JSON)o=bn(new Uint8Array(e,t.HEADER_LENGTH+i,s));else if(l===t.CHUNK_TYPES.BIN){var c=t.HEADER_LENGTH+i;a=e.slice(c,c+s)}i+=s}if(null===o)throw new Error("glTF:KHR_binary_glTF: JSON content not found.");this.content=o,this.body=a},t.prototype.loadBuffer=function(e,t){return void 0===t.json.buffers[e].uri&&0===e&&this.body?Promise.resolve(this.body):null},t.HEADER_MAGIC="glTF",t.HEADER_LENGTH=12,t.CHUNK_TYPES={JSON:1313821514,BIN:5130562},t}(jn),qn={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},_n={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"},Hn=function(){function e(){this.decoderPath="https://vr-public.realsee-cdn.cn/release/static/image/release/five/resource/draco/1.5.6/",this.decoderConfig={},this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL=""}return e.prototype.setDecoderPath=function(e){this.decoderPath=e},e.prototype.setDecoderConfig=function(e){return this.decoderConfig=e,this},e.prototype.setWorkerLimit=function(e){return this.workerLimit=e,this},e.prototype.decodeDracoFile=function(e,t,r,n){var i={attributeIDs:r||qn,attributeTypes:n||_n,useUniqueIDs:!!r};this.decodeGeometry(e,i).then(t)},e.prototype.decodeGeometry=function(e,t){var r,n=this;for(var i in void 0===t&&(t={attributeIDs:qn,attributeTypes:_n,useUniqueIDs:!1}),t.attributeTypes){var o=t.attributeTypes[i];void 0!==o.BYTES_PER_ELEMENT&&(t.attributeTypes[i]=o.name)}var a=this.workerNextTaskID++,s=e.byteLength,l=this._getWorker(a,s).then((function(n){return r=n,new Promise((function(n,i){r._callbacks[a]={resolve:n,reject:i},r.postMessage({type:"decode",id:a,taskConfig:t,buffer:e},[e])}))})).then((function(e){return n._createGeometry(e.geometry)}));return l.catch((function(){return!0})).then((function(){r&&a&&n._releaseTask(r,a)})),l},e.prototype._createGeometry=function(e){var t=new n.BufferGeometry;e.index&&t.setIndex(new n.BufferAttribute(e.index.array,1));for(var r=0;r<e.attributes.length;r++){var i=e.attributes[r],o=i.name,a=i.array,s=i.itemSize;t.setAttribute(o,new n.BufferAttribute(a,s))}return t},e.prototype._initDecoder=function(){var e=this;if(this.decoderPending)return this.decoderPending;if("object"!=typeof WebAssembly||"js"===this.decoderConfig.type){var t=ke(this.decoderPath+"draco_decoder.js",{responseType:"text"}).then((function(e){return e.body}));this.decoderPending=t.then((function(t){var r=["/* draco decoder */",t,"","/* worker */",Kn].join("\n");e.workerSourceURL=URL.createObjectURL(new Blob([r]))}))}else{t=ke(this.decoderPath+"draco_wasm_wrapper.js",{responseType:"text"}).then((function(e){return e.body}));var r=ke(this.decoderPath+"draco_decoder.wasm",{responseType:"arraybuffer"}).then((function(e){return e.body}));this.decoderPending=Promise.all([t,r]).then((function(t){var r=t[0],n=t[1];e.decoderConfig.wasmBinary=n;var i=["/* draco decoder */",r,"","/* worker */",Kn].join("\n");e.workerSourceURL=URL.createObjectURL(new Blob([i]))}))}return this.decoderPending},e.prototype._getWorker=function(e,t){var r=this;return this._initDecoder().then((function(){if(r.workerPool.length<r.workerLimit){var n=new Worker(r.workerSourceURL);n._callbacks={},n._taskCosts={},n._taskLoad=0,n.postMessage({type:"init",decoderConfig:r.decoderConfig}),n.onmessage=function(e){var t=e.data;switch(t.type){case"decode":n._callbacks[t.id].resolve(t);break;case"error":n._callbacks[t.id].reject(t);break;default:console.error('DRACO: Unexpected message, "'+t.type+'"')}},r.workerPool.push(n)}else r.workerPool.sort((function(e,t){return e._taskLoad>t._taskLoad?-1:1}));var i=r.workerPool[r.workerPool.length-1];return i._taskCosts[e]=t,i._taskLoad+=t,i}))},e.prototype._releaseTask=function(e,t){e._taskLoad-=e._taskCosts[t],delete e._callbacks[t],delete e._taskCosts[t]},e.prototype.dispose=function(){for(var e=0;e<this.workerPool.length;++e)this.workerPool[e].terminate();return this.workerPool.length=0,this},e}(),Gn=new Hn,Kn="\n let decoderConfig;\n let decoderPending;\n\n onmessage = function ( e ) {\n\n const message = e.data;\n\n switch ( message.type ) {\n\n case 'init':\n decoderConfig = message.decoderConfig;\n decoderPending = new Promise( function ( resolve/*, reject*/ ) {\n\n decoderConfig.onModuleLoaded = function ( draco ) {\n\n // Module is Promise-like. Wrap before resolving to avoid loop.\n resolve( { draco: draco } );\n\n };\n\n DracoDecoderModule( decoderConfig ); // eslint-disable-line no-undef\n\n } );\n break;\n\n case 'decode':\n const buffer = message.buffer;\n const taskConfig = message.taskConfig;\n decoderPending.then( ( module ) => {\n\n const draco = module.draco;\n const decoder = new draco.Decoder();\n const decoderBuffer = new draco.DecoderBuffer();\n decoderBuffer.Init( new Int8Array( buffer ), buffer.byteLength );\n\n try {\n\n const geometry = decodeGeometry( draco, decoder, decoderBuffer, taskConfig );\n\n const buffers = geometry.attributes.map( ( attr ) => attr.array.buffer );\n\n if ( geometry.index ) buffers.push( geometry.index.array.buffer );\n\n self.postMessage( { type: 'decode', id: message.id, geometry }, buffers );\n\n } catch ( error ) {\n\n console.error( error );\n\n self.postMessage( { type: 'error', id: message.id, error: error.message } );\n\n } finally {\n\n draco.destroy( decoderBuffer );\n draco.destroy( decoder );\n\n }\n\n } );\n break;\n\n }\n\n };\n\n function decodeGeometry( draco, decoder, decoderBuffer, taskConfig ) {\n\n const attributeIDs = taskConfig.attributeIDs;\n const attributeTypes = taskConfig.attributeTypes;\n\n let dracoGeometry;\n let decodingStatus;\n\n const geometryType = decoder.GetEncodedGeometryType( decoderBuffer );\n\n if ( geometryType === draco.TRIANGULAR_MESH ) {\n\n dracoGeometry = new draco.Mesh();\n decodingStatus = decoder.DecodeBufferToMesh( decoderBuffer, dracoGeometry );\n\n } else if ( geometryType === draco.POINT_CLOUD ) {\n\n dracoGeometry = new draco.PointCloud();\n decodingStatus = decoder.DecodeBufferToPointCloud( decoderBuffer, dracoGeometry );\n\n } else {\n\n throw new Error( 'THREE.DRACOLoader: Unexpected geometry type.' );\n\n }\n\n if ( ! decodingStatus.ok() || dracoGeometry.ptr === 0 ) {\n\n throw new Error( 'THREE.DRACOLoader: Decoding failed: ' + decodingStatus.error_msg() );\n\n }\n\n const geometry = { index: null, attributes: [] };\n\n // Gather all vertex attributes.\n for ( const attributeName in attributeIDs ) {\n\n const attributeType = self[ attributeTypes[ attributeName ] ];\n\n let attribute;\n let attributeID;\n\n // A Draco file may be created with default vertex attributes, whose attribute IDs\n // are mapped 1:1 from their semantic name (POSITION, NORMAL, ...). Alternatively,\n // a Draco file may contain a custom set of attributes, identified by known unique\n // IDs. glTF files always do the latter, and .drc files typically do the former.\n if ( taskConfig.useUniqueIDs ) {\n\n attributeID = attributeIDs[ attributeName ];\n attribute = decoder.GetAttributeByUniqueId( dracoGeometry, attributeID );\n\n } else {\n\n attributeID = decoder.GetAttributeId( dracoGeometry, draco[ attributeIDs[ attributeName ] ] );\n\n if ( attributeID === - 1 ) continue;\n\n attribute = decoder.GetAttribute( dracoGeometry, attributeID );\n\n }\n\n geometry.attributes.push( decodeAttribute( draco, decoder, dracoGeometry, attributeName, attributeType, attribute ) );\n\n }\n\n // Add index.\n if ( geometryType === draco.TRIANGULAR_MESH ) {\n\n geometry.index = decodeIndex( draco, decoder, dracoGeometry );\n\n }\n\n draco.destroy( dracoGeometry );\n\n return geometry;\n\n }\n\n function decodeIndex( draco, decoder, dracoGeometry ) {\n\n const numFaces = dracoGeometry.num_faces();\n const numIndices = numFaces * 3;\n const byteLength = numIndices * 4;\n\n const ptr = draco._malloc( byteLength );\n decoder.GetTrianglesUInt32Array( dracoGeometry, byteLength, ptr );\n const index = new Uint32Array( draco.HEAPF32.buffer, ptr, numIndices ).slice();\n draco._free( ptr );\n\n return { array: index, itemSize: 1 };\n\n }\n\n function decodeAttribute( draco, decoder, dracoGeometry, attributeName, attributeType, attribute ) {\n\n const numComponents = attribute.num_components();\n const numPoints = dracoGeometry.num_points();\n const numValues = numPoints * numComponents;\n const byteLength = numValues * attributeType.BYTES_PER_ELEMENT;\n const dataType = getDracoDataType( draco, attributeType );\n\n const ptr = draco._malloc( byteLength );\n decoder.GetAttributeDataArrayForAllPoints( dracoGeometry, attribute, dataType, byteLength, ptr );\n const array = new attributeType( draco.HEAPF32.buffer, ptr, numValues ).slice();\n draco._free( ptr );\n\n return {\n name: attributeName,\n array: array,\n itemSize: numComponents\n };\n\n }\n\n function getDracoDataType( draco, attributeType ) {\n\n switch ( attributeType ) {\n\n case Float32Array: return draco.DT_FLOAT32;\n case Int8Array: return draco.DT_INT8;\n case Int16Array: return draco.DT_INT16;\n case Int32Array: return draco.DT_INT32;\n case Uint8Array: return draco.DT_UINT8;\n case Uint16Array: return draco.DT_UINT16;\n case Uint32Array: return draco.DT_UINT32;\n\n }\n\n }\n",Wn="KHR_draco_mesh_compression",Yn=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return ne(t,e),t.prototype.loadGeometry=function(e,t){return e.extensions&&e.extensions[Wn]?this.decodePrimitive(e,t).then((function(r){return t.addGeometryPrimitiveAttributes(r,e)})):null},t.prototype.decodePrimitive=function(e,t){var r=t.json,n=e.extensions[Wn].bufferView,i=e.extensions[Wn].attributes,o={},a={},s={};for(var l in i){var c=kn[l]||l.toLowerCase();o[c]=i[l]}for(var l in e.attributes){c=kn[l]||l.toLowerCase();if(void 0!==i[l]){var u=r.accessors[e.attributes[l]],d=Pn[u.componentType];s[c]=d,a[c]=!0===u.normalized}}return t.loadBufferView(n).then((function(e){return new Promise((function(t){Gn.decodeDracoFile(e,(function(e){for(var r in e.attributes){var n=e.attributes[r],i=a[r];void 0!==i&&(n.normalized=i)}t(e)}),o,s)}))}))},t}(jn),Xn=function(){function e(e){this.pool=e,this.queue=[],this.workers=[],this.workersResolve=[],this.workerStatus=0,this.workerCreator=null}return e.prototype._initWorker=function(e){if(this.workerCreator&&!this.workers[e]){var t=this.workerCreator();t.addEventListener("message",this._onMessage.bind(this,e)),this.workers[e]=t}},e.prototype._getIdleWorker=function(){for(var e=0;e<this.pool;e++)if(!(this.workerStatus&1<<e))return e;return-1},e.prototype._onMessage=function(e,t){var r=this.workersResolve[e];if(r&&r(t),this.queue.length){var n=this.queue.shift(),i=n.resolve,o=n.msg,a=n.transfer;this.workersResolve[e]=i,this.workers[e].postMessage(o,a)}else this.workerStatus^=1<<e},e.prototype.setWorkerCreator=function(e){this.workerCreator=e},e.prototype.setWorkerLimit=function(e){this.pool=e},e.prototype.postMessage=function(e,t){var r=this;return new Promise((function(n){var i=r._getIdleWorker();-1!==i?(r._initWorker(i),r.workerStatus|=1<<i,r.workersResolve[i]=n,r.workers[i].postMessage(e,t)):r.queue.push({resolve:n,msg:e,transfer:t})}))},e.prototype.dispose=function(){this.workers.forEach((function(e){return e.terminate()})),this.workersResolve.length=0,this.workers.length=0,this.queue.length=0,this.workerStatus=0},e}(),Jn=function(){function e(){this.transcoderPath="https://vr-public.realsee-cdn.cn/release/static/image/release/five/resource/basis/1.16/",this.transcoderBinary=null,this.transcoderPending=null,this.workerPool=new Xn(4),this.workerSourceURL="",this.workerConfig=null}return e.prototype.setTranscoderPath=function(e){this.transcoderPath=e},e.prototype.detectSupport=function(e){if(!this.workerConfig){var t=console.warn;console.warn=function(){},this.workerConfig={astcSupported:!!e.extensions.get("WEBGL_compressed_texture_astc"),etc1Supported:!!e.extensions.get("WEBGL_compressed_texture_etc1"),etc2Supported:!!e.extensions.get("WEBGL_compressed_texture_etc"),dxtSupported:!!e.extensions.get("WEBGL_compressed_texture_s3tc"),bptcSupported:!!e.extensions.get("EXT_texture_compression_bptc"),pvrtcSupported:!!e.extensions.get("WEBGL_compressed_texture_pvrtc")||!!e.extensions.get("WEBKIT_WEBGL_compressed_texture_pvrtc")},console.warn=t}return this},e.prototype.init=function(){var e=this;if(!this.transcoderPending){var t=ke(this.transcoderPath+"basis_transcoder.js",{responseType:"text"}).then((function(e){return e.body})),r=ke(this.transcoderPath+"basis_transcoder.wasm",{responseType:"arraybuffer"}).then((function(e){return e.body}));this.transcoderPending=Promise.all([t,r]).then((function(t){var r=t[0],n=t[1],i=["/* constants */","let _EngineFormat = "+JSON.stringify(ti),"let _TranscoderFormat = "+JSON.stringify(ei),"let _BasisFormat = "+JSON.stringify($n),"/* basis_transcoder.js */",r,"/* worker */",ri].join("\n");e.workerSourceURL=URL.createObjectURL(new Blob([i])),e.transcoderBinary=n,e.workerPool.setWorkerCreator((function(){var t=new Worker(e.workerSourceURL),r=e.transcoderBinary.slice(0);return t.postMessage({type:"init",config:e.workerConfig,transcoderBinary:r},[r]),t}))}))}return this.transcoderPending},e.prototype.parse=function(e){return this._createTexture([e])},e.prototype._createTextureFrom=function(e){var t=e.mipmaps,r=e.width,i=e.height,o=e.format,a=e.type,s=e.error,l=e.dfdTransferFn,c=e.dfdFlags;if("error"===a)return Promise.reject(s);var u=new n.CompressedTexture(t,r,i,o,n.UnsignedByteType);return u.minFilter=1===t.length?n.LinearFilter:n.LinearMipmapLinearFilter,u.magFilter=n.LinearFilter,u.generateMipmaps=!1,u.needsUpdate=!0,u.encoding=2===l?n.sRGBEncoding:n.LinearEncoding,u.premultiplyAlpha=!!(1&c),Promise.resolve(u)},e.prototype._createTexture=function(e){var t=this;return this.init().then((function(){return t.workerPool.postMessage({type:"transcode",buffers:e},e)})).then((function(e){return t._createTextureFrom(e.data)}))},e.prototype.dispose=function(){return URL.revokeObjectURL(this.workerSourceURL),this.workerPool.dispose(),this},e}(),Zn=new Jn,$n={ETC1S:0,UASTC_4x4:1},ei={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},ti={RGBAFormat:n.RGBAFormat,RGBA_ASTC_4x4_Format:n.RGBA_ASTC_4x4_Format,RGBA_BPTC_Format:n.RGBA_BPTC_Format,RGBA_ETC2_EAC_Format:n.RGBA_ETC2_EAC_Format,RGBA_PVRTC_4BPPV1_Format:n.RGBA_PVRTC_4BPPV1_Format,RGBA_S3TC_DXT5_Format:n.RGBA_S3TC_DXT5_Format,RGB_ETC1_Format:n.RGB_ETC1_Format,RGB_ETC2_Format:n.RGB_ETC2_Format,RGB_PVRTC_4BPPV1_Format:n.RGB_PVRTC_4BPPV1_Format,RGB_S3TC_DXT1_Format:n.RGB_S3TC_DXT1_Format},ri="\n\n let config;\n let transcoderPending;\n let BasisModule;\n\n const EngineFormat = _EngineFormat; // eslint-disable-line no-undef\n const TranscoderFormat = _TranscoderFormat; // eslint-disable-line no-undef\n const BasisFormat = _BasisFormat; // eslint-disable-line no-undef\n\n self.addEventListener( 'message', function ( e ) {\n\n const message = e.data;\n\n switch ( message.type ) {\n\n case 'init':\n config = message.config;\n init( message.transcoderBinary );\n break;\n\n case 'transcode':\n transcoderPending.then( () => {\n\n try {\n\n const { width, height, hasAlpha, mipmaps, format, dfdTransferFn, dfdFlags } = transcode( message.buffers[ 0 ] );\n\n const buffers = [];\n\n for ( let i = 0; i < mipmaps.length; ++ i ) {\n\n buffers.push( mipmaps[ i ].data.buffer );\n\n }\n\n self.postMessage( { type: 'transcode', id: message.id, width, height, hasAlpha, mipmaps, format, dfdTransferFn, dfdFlags }, buffers );\n\n } catch ( error ) {\n\n console.error( error );\n\n self.postMessage( { type: 'error', id: message.id, error: error.message } );\n\n }\n\n } );\n break;\n\n }\n\n } );\n\n function init( wasmBinary ) {\n\n transcoderPending = new Promise( ( resolve ) => {\n\n BasisModule = { wasmBinary, onRuntimeInitialized: resolve };\n BASIS( BasisModule ); // eslint-disable-line no-undef\n\n } ).then( () => {\n\n BasisModule.initializeBasis();\n\n if ( BasisModule.KTX2File === undefined ) {\n\n console.warn( 'THREE.KTX2Loader: Please update Basis Universal transcoder.' );\n\n }\n\n } );\n\n }\n\n function transcode( buffer ) {\n\n const ktx2File = new BasisModule.KTX2File( new Uint8Array( buffer ) );\n\n function cleanup() {\n\n ktx2File.close();\n ktx2File.delete();\n\n }\n\n if ( ! ktx2File.isValid() ) {\n\n cleanup();\n throw new Error( 'THREE.KTX2Loader:\tInvalid or unsupported .ktx2 file' );\n\n }\n\n const basisFormat = ktx2File.isUASTC() ? BasisFormat.UASTC_4x4 : BasisFormat.ETC1S;\n const width = ktx2File.getWidth();\n const height = ktx2File.getHeight();\n const levels = ktx2File.getLevels();\n const hasAlpha = ktx2File.getHasAlpha();\n const dfdTransferFn = ktx2File.getDFDTransferFunc();\n const dfdFlags = ktx2File.getDFDFlags();\n\n const { transcoderFormat, engineFormat } = getTranscoderFormat( basisFormat, width, height, hasAlpha );\n\n if ( ! width || ! height || ! levels ) {\n\n cleanup();\n throw new Error( 'THREE.KTX2Loader:\tInvalid texture' );\n\n }\n\n if ( ! ktx2File.startTranscoding() ) {\n\n cleanup();\n throw new Error( 'THREE.KTX2Loader: .startTranscoding failed' );\n\n }\n\n const mipmaps = [];\n\n for ( let mip = 0; mip < levels; mip ++ ) {\n\n const levelInfo = ktx2File.getImageLevelInfo( mip, 0, 0 );\n const mipWidth = levelInfo.origWidth;\n const mipHeight = levelInfo.origHeight;\n const dst = new Uint8Array( ktx2File.getImageTranscodedSizeInBytes( mip, 0, 0, transcoderFormat ) );\n\n const status = ktx2File.transcodeImage(\n dst,\n mip,\n 0,\n 0,\n transcoderFormat,\n 0,\n - 1,\n - 1,\n );\n\n if ( ! status ) {\n\n cleanup();\n throw new Error( 'THREE.KTX2Loader: .transcodeImage failed.' );\n\n }\n\n mipmaps.push( { data: dst, width: mipWidth, height: mipHeight } );\n\n }\n\n cleanup();\n\n return { width, height, hasAlpha, mipmaps, format: engineFormat, dfdTransferFn, dfdFlags };\n\n }\n\n //\n\n // Optimal choice of a transcoder target format depends on the Basis format (ETC1S or UASTC),\n // device capabilities, and texture dimensions. The list below ranks the formats separately\n // for ETC1S and UASTC.\n //\n // In some cases, transcoding UASTC to RGBA32 might be preferred for higher quality (at\n // significant memory cost) compared to ETC1/2, BC1/3, and PVRTC. The transcoder currently\n // chooses RGBA32 only as a last resort and does not expose that option to the caller.\n const FORMAT_OPTIONS = [\n {\n if: 'astcSupported',\n basisFormat: [ BasisFormat.UASTC_4x4 ],\n transcoderFormat: [ TranscoderFormat.ASTC_4x4, TranscoderFormat.ASTC_4x4 ],\n engineFormat: [ EngineFormat.RGBA_ASTC_4x4_Format, EngineFormat.RGBA_ASTC_4x4_Format ],\n priorityETC1S: Infinity,\n priorityUASTC: 1,\n needsPowerOfTwo: false,\n },\n {\n if: 'bptcSupported',\n basisFormat: [ BasisFormat.ETC1S, BasisFormat.UASTC_4x4 ],\n transcoderFormat: [ TranscoderFormat.BC7_M5, TranscoderFormat.BC7_M5 ],\n engineFormat: [ EngineFormat.RGBA_BPTC_Format, EngineFormat.RGBA_BPTC_Format ],\n priorityETC1S: 3,\n priorityUASTC: 2,\n needsPowerOfTwo: false,\n },\n {\n if: 'dxtSupported',\n basisFormat: [ BasisFormat.ETC1S, BasisFormat.UASTC_4x4 ],\n transcoderFormat: [ TranscoderFormat.BC1, TranscoderFormat.BC3 ],\n engineFormat: [ EngineFormat.RGB_S3TC_DXT1_Format, EngineFormat.RGBA_S3TC_DXT5_Format ],\n priorityETC1S: 4,\n priorityUASTC: 5,\n needsPowerOfTwo: false,\n },\n {\n if: 'etc2Supported',\n basisFormat: [ BasisFormat.ETC1S, BasisFormat.UASTC_4x4 ],\n transcoderFormat: [ TranscoderFormat.ETC1, TranscoderFormat.ETC2 ],\n engineFormat: [ EngineFormat.RGB_ETC2_Format, EngineFormat.RGBA_ETC2_EAC_Format ],\n priorityETC1S: 1,\n priorityUASTC: 3,\n needsPowerOfTwo: false,\n },\n {\n if: 'etc1Supported',\n basisFormat: [ BasisFormat.ETC1S, BasisFormat.UASTC_4x4 ],\n transcoderFormat: [ TranscoderFormat.ETC1, TranscoderFormat.ETC1 ],\n engineFormat: [ EngineFormat.RGB_ETC1_Format, EngineFormat.RGB_ETC1_Format ],\n priorityETC1S: 2,\n priorityUASTC: 4,\n needsPowerOfTwo: false,\n },\n {\n if: 'pvrtcSupported',\n basisFormat: [ BasisFormat.ETC1S, BasisFormat.UASTC_4x4 ],\n transcoderFormat: [ TranscoderFormat.PVRTC1_4_RGB, TranscoderFormat.PVRTC1_4_RGBA ],\n engineFormat: [ EngineFormat.RGB_PVRTC_4BPPV1_Format, EngineFormat.RGBA_PVRTC_4BPPV1_Format ],\n priorityETC1S: 5,\n priorityUASTC: 6,\n needsPowerOfTwo: true,\n },\n ];\n\n const ETC1S_OPTIONS = FORMAT_OPTIONS.sort( function ( a, b ) {\n\n return a.priorityETC1S - b.priorityETC1S;\n\n } );\n const UASTC_OPTIONS = FORMAT_OPTIONS.sort( function ( a, b ) {\n\n return a.priorityUASTC - b.priorityUASTC;\n\n } );\n\n function getTranscoderFormat( basisFormat, width, height, hasAlpha ) {\n\n let transcoderFormat;\n let engineFormat;\n\n const options = basisFormat === BasisFormat.ETC1S ? ETC1S_OPTIONS : UASTC_OPTIONS;\n\n for ( let i = 0; i < options.length; i ++ ) {\n\n const opt = options[ i ];\n\n if ( ! config[ opt.if ] ) continue;\n if ( ! opt.basisFormat.includes( basisFormat ) ) continue;\n if ( opt.needsPowerOfTwo && ! ( isPowerOfTwo( width ) && isPowerOfTwo( height ) ) ) continue;\n\n transcoderFormat = opt.transcoderFormat[ hasAlpha ? 1 : 0 ];\n engineFormat = opt.engineFormat[ hasAlpha ? 1 : 0 ];\n\n return { transcoderFormat, engineFormat };\n\n }\n\n console.warn( 'KTX2: No suitable compressed texture format found. Decoding to RGBA32.' );\n\n transcoderFormat = TranscoderFormat.RGBA32;\n engineFormat = EngineFormat.RGBAFormat;\n\n return { transcoderFormat, engineFormat };\n\n }\n\n function isPowerOfTwo( value ) {\n\n if ( value <= 2 ) return true;\n\n return ( value & ( value - 1 ) ) === 0 && value !== 0;\n\n }\n",ni="KHR_texture_basisu",ii=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return ne(t,e),t.prototype.loadTexture=function(e,t){var r=t.json.textures[e];if(!r.extensions||!r.extensions[ni])return null;var n=r.extensions[ni],i=t.json.images[n.source],o=null;if(i.bufferView)o=t.loadBufferView(i.bufferView).then((function(e){return Zn.parse(e)}));else{if(!i.uri)throw new Error("glTF: Invalid image defs.");o=t.options.fetcher.ajax(t.resolveResouce(i.uri),{responseType:"arraybuffer"}).then((function(e){return Zn.parse(e.body)}))}return o},t}(jn),oi="KHR_texture_transform",ai=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return ne(t,e),t.prototype.extendTexture=function(e,t,r){var n=void 0!==t.extensions?t.extensions[oi]:void 0;return n?(void 0!==n.texCoord&&console.warn('glTF: Custom UV sets in "'+oi+'" extension not yet supported.'),void 0===n.offset&&void 0===n.rotation&&void 0===n.scale||((e=e.clone()).needsUpdate=!0,void 0!==n.offset&&e.offset.fromArray(n.offset),void 0!==n.rotation&&(e.rotation=n.rotation),void 0!==n.scale&&e.repeat.fromArray(n.scale)),e):null},t}(jn),si=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return ne(t,e),t}(jn),li=function(){var 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]),t=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("object"!=typeof WebAssembly)return{supported:!1};var r,n=WebAssembly.validate(e)?"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":"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",i=WebAssembly.instantiate(o(n),{}).then((function(e){(r=e.instance).exports.__wasm_call_ctors()}));function o(e){for(var r=new Uint8Array(e.length),n=0;n<e.length;++n){var i=e.charCodeAt(n);r[n]=i>96?i-97:i>64?i-39:i+4}var o=0;for(n=0;n<e.length;++n)r[o++]=r[n]<60?t[r[n]]:64*(r[n]-60)+r[++n];return r.buffer.slice(0,o)}function a(e,t,n,i,o,a){var s=r.exports.sbrk,l=n+3&-4,c=s(l*i),u=s(o.length),d=new Uint8Array(r.exports.memory.buffer);d.set(o,u);var p=e(c,n,i,u,o.length);if(0==p&&a&&a(c,l,i),t.set(d.subarray(c,c+n*i)),s(c-s(0)),0!=p)throw new Error("Malformed buffer data: "+p)}var s={NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},l={ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"},c=[],u=0;function d(e){var t={object:new Worker(e),pending:0,requests:{}};return t.object.onmessage=function(e){var r=e.data;t.pending-=r.count,t.requests[r.id][r.action](r.value),delete t.requests[r.id]},t}function p(e){for(var t="var instance; var ready = WebAssembly.instantiate(new Uint8Array(["+new Uint8Array(o(n))+"]), {}).then(function(result) { instance = result.instance; instance.exports.__wasm_call_ctors(); });self.onmessage = workerProcess;"+a.toString()+h.toString(),r=new Blob([t],{type:"text/javascript"}),i=URL.createObjectURL(r),s=0;s<e;++s)c[s]=d(i);URL.revokeObjectURL(i)}function h(e){i.then((function(){var t=e.data;try{var n=new Uint8Array(t.count*t.size);a(r.exports[t.mode],n,t.count,t.size,t.source,r.exports[t.filter]),self.postMessage({id:t.id,count:t.count,action:"resolve",value:n},[n.buffer])}catch(e){self.postMessage({id:t.id,count:t.count,action:"reject",value:e})}}))}return{ready:i,supported:!0,useWorkers:function(e){p(e)},decodeVertexBuffer:function(e,t,n,i,o){a(r.exports.meshopt_decodeVertexBuffer,e,t,n,i,r.exports[s[o]])},decodeIndexBuffer:function(e,t,n,i){a(r.exports.meshopt_decodeIndexBuffer,e,t,n,i)},decodeIndexSequence:function(e,t,n,i){a(r.exports.meshopt_decodeIndexSequence,e,t,n,i)},decodeGltfBuffer:function(e,t,n,i,o,c){a(r.exports[l[o]],e,t,n,i,r.exports[s[c]])},decodeGltfBufferAsync:function(e,t,n,o,d){return c.length>0?function(e,t,r,n,i){for(var o=c[0],a=1;a<c.length;++a)c[a].pending<o.pending&&(o=c[a]);return new Promise((function(a,s){var l=new Uint8Array(r),c=u++;o.pending+=e,o.requests[c]={resolve:a,reject:s},o.object.postMessage({id:c,count:e,size:t,source:l,mode:n,filter:i},[l.buffer])}))}(e,t,n,l[o],s[d]):i.then((function(){var i=new Uint8Array(e*t);return a(r.exports[l[o]],i,e,t,n,r.exports[s[d]]),i}))}}}(),ci="EXT_meshopt_compression",ui=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return ne(t,e),t.prototype.loadBufferView=function(e,t){var r=t.json,n=r.bufferViews[e];if(n.extensions&&n.extensions[ci]){var i=n.extensions[ci],o=t.loadBuffer(i.buffer);if(!li.supported){if(r.extensionsRequired&&r.extensionsRequired.indexOf(ci)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return Promise.all([o,li.ready]).then((function(e){var t=e[0],r=i.byteOffset||0,n=i.byteLength||0,o=i.count,a=i.byteStride,s=new ArrayBuffer(o*a),l=new Uint8Array(t,r,n);return li.decodeGltfBuffer(new Uint8Array(s),o,a,l,i.mode,i.filter),s}))}return null},t}(jn),di="EXT_texture_webp",pi=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.supportsWep=!1,t}return ne(t,e),t.prototype.prepare=function(e){var t=this;return We().then((function(e){t.supportsWep=e.webp}))},t.prototype.loadTexture=function(e,t){var r=t.json.textures[e];if(!r.extensions||!r.extensions[di])return null;if(!this.supportsWep)return null;var i=r.extensions[di];return t.loadImage(i.source).then((function(e){var i=new n.Texture(e);i.needsUpdate=!0,i.flipY=!1,r.name&&(i.name=r.name);var o=(t.json.samplers||{})[r.sampler]||{};return i.magFilter=Tn[o.magFilter]||n.LinearFilter,i.minFilter=Tn[o.minFilter]||n.LinearMipmapLinearFilter,i.wrapS=Bn[o.wrapS]||n.RepeatWrapping,i.wrapT=Bn[o.wrapT]||n.RepeatWrapping,i}))},t}(jn),hi="CESIUM_RTC",fi=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return ne(t,e),t.prototype.emitResult=function(e,t){if(t.json.extensions[hi]&&t.json.extensions[hi].center){var r=t.json.extensions[hi].center;e.CESIUM_RTC={center:(new n.Vector3).fromArray(r)}}},t}(jn),vi=function(){return arguments[0].split("").map((function(e){return e.charCodeAt(0)>126?e:String.fromCharCode((e.charCodeAt(0)+113)%126)})).join("")}("{vs|z-sy|n-|}npv\bH{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-u|{Sy||V{qrH0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6--{vs|z-rp@-p|{n{P|y|H0r{qvs0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6n\bv{t-rp@-[|znyH0r{qvs0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6--n\bv{t-sy|n-Sy||H0ryr--{vs|z-sy|n-sy||H0r{qvsn\bv{t-rpA-|yq]|vv|{Hn\bv{t-rp@-cvr]|vv|{Hn\bv{t-rp@-P|y|Hn\bv{t-sy|n-Y|tQr}uHn\bv{t-sy|n-]|v{`v\trHp-Pyv}}r-\n--znA-znvV{rrH--sy|n-sy||V{qrH\fH0vs-[bZlPYV]]R_`-K-=--{vs|z-Pyv}}r-pyv}}rh[bZlPYV]]R_`jH0r{qvs|vq-znv{56-\n--sy|n-ory|{tv{tSY||-J-=;=H--0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6----ory|{tv{tSY||-J-Sy||H--0ryr----ory|{tv{tSY||-J-sy||H--0r{qvs--<<前置裁切计算--0vs-[bZlPYV]]R_`-K-=----o||y-pyv}}rqH----rpA-pyv}}r]|vv|{H----0}ntzn-{|yyly||}ln----s|-5-v{-v-J-=H-v-I-[bZlPYV]]R_`H-v-88-6-\n------pyv}}r]|vv|{-J-pyv}}rh-v-j;znvV{rr-7-|yq]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr-I-=;=-\v\v-no5ory|{tv{tSY||-:-pyv}}rh-v-j;sy||V{qr6-I->;=6H------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;-K-:=;B-33-pyv}}r]|vv|{;-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|{;\t-K-:=;B-33-pyv}}r]|vv|{;\t-I-=;BH------vs-5pyv}}rq6-\n--------qvpnqH------\f----\f----0}ntzn-{|yyly||}lr{q--0r{qvs---<<楼层选择计算--sy|n-sy||\\}npv\b-J->;=H--vs-5u|{Sy||V{qr-KJ-=;=-33-no5ory|{tv{tSY||-:-u|{Sy||V{qr6-KJ->;=6-\n----sy||\\}npv\b-J-=;>H--\f--rp@-sv{nyP|y|-J-P|y|H--0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6----0vs-qrsv{rq5b`Rl]\\V[alONPXlUVQQR[6------rp@-pnzrnQvrpv|{-J-{|znyv\tr5pnzrn]|vv|{-:-|yq]|vv|{;\b\t6H------vs-5q|5pnzrnQvrpv|{9-[|zny6-I-=;=6-\n--------qvpnqH------\f----0ryvs-qrsv{rq5b`Rl]\\V[alONPXlQN_X6------rp@-pnzrnQvrpv|{-J-{|znyv\tr5pnzrn]|vv|{-:-|yq]|vv|{;\b\t6H------vs-5q|5pnzrnQvrpv|{9-[|zny6-I-=;=6-\n--------sv{nyP|y|-J-sv{nyP|y|-7-=;DBH------\f----0r{qvs--0r{qvs--0vs-qrsv{rq5b`Rl]\\V[al`UN]RlPV_PYR6----sy|n--J-?;=-7-tyl]|v{P||q;-:->;=H----sy|n--J-?;=-7-tyl]|v{P||q;\b-:->;=H----sy|n-pp-J-7-8-7H----vs-5]|v{`v\tr-K-E;=-33-pp-K->;=6-\n------qvpnqH----\f--0r{qvs--0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6----tylSntP|y|-J-rpA5p|{n{P|y|;9-p|{n{P|y|;t9-p|{n{P|y|;o9->;=6H--0ryr----tylSntP|y|-J-rpA5sv{nyP|y|9-z|qryNy}un-7-|}npv\b-7-sy||\\}npv\b6H--0r{qvs--0vs-qrsv{rq5b`RlRQY6----tylSntP|y|;n-J-Y|tQr}uH--0r{qvs--0vs-qrsv{rq5b`RlU^ldRVTUa6----sy|n-qvn{pr-J-?;=-7-yr{tu5tyl]|v{P||q;\b-:-=;B6H----sy|n-rvtu-J-zn5=;=9->;=-:-qvn{pr6H----rvtu-J-}|5rvtu9->;B6H----tylSntP|y|;n-J-rvtuH----tylSntP|y|;\b\t-J-tylSntP|y|;\b\t-7-rvtuH--0r{qvs\f"),mi=function(){return arguments[0].split("").map((function(e){return e.charCodeAt(0)>126?e:String.fromCharCode((e.charCodeAt(0)+113)%126)})).join("")}("nvor-rp@-p|y|H0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6--nvor-sy|n-sy||H--n\bv{t-sy|n-Sy||H0r{qvs{vs|z-sy|n-prr{UrvtuH{vs|z-sy|n-}vry_nv|H{vs|z-sy|n-}|v{`pnyrH{vs|z-sy|n-}|v{Zv{]vryH{vs|z-sy|n-}|v{Zn]vryH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-tr|zrvpR|H0vs-qrsv{rq5b`Rl]\\V[alP\\Y\\_lNYaVabQR6--{vs|z-nz}yr?Q-tnqvr{arrH0r{qvsn\bv{t-rpA-|yq]|vv|{Hn\bv{t-rp@-P|y|H0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6--n\bv{t-rp@-[|znyH0r{qvs0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvsn\bv{t-sy|n-]|v{`v\trHn\bv{t-rp@-cvr]|vv|{H0qrsv{r-]V-@;>A>BF?CB@BEFDF@o||y-v]r}rpvrZnv5-znA-z-6-\n--r{-zh-?-jh-@-j-JJ-:>;=H\frp@-_TOa|Yv{rn5-rp@-nyr-6-\n--r{-rp@5-zv5-}|5-nyr;to-7-=;FADECD?FEC-8-rp@5-=;=B?>@?D=>A-69-rp@5-?;A-6-69-nyr;to-7-=;=DD@FF@E=E9-rp@5-yraun{R\0ny5-nyr;to9-rp@5-=;=A=AB-6-6-6-66H\frp@-Yv{rna|_TO5-rp@-nyr-6-\nr{-rp@5-zv5-}|5-nyr;to9-rp@5-=;A>CCC-6-6-7->;=BB-:-rp@5-=;=BB-69-nyr;to-7->?;F?9-rp@5-yraun{R\0ny5-nyr;to9-rp@5-=;==@>@=E-6-6-6-66H\frp@-trP|y|O\bUrvtu5nz}yr?Q-tnqvr{arr9-rpA-|yq]|vv|{6-\n--rp@-p|y|-J-rr?Q5tnqvr{arr9-rp?5|yq]|vv|{;\b-<->=;=9-=;B66;toH--r{-p|y|H\f|vq-znv{56-\n--rpA-n{s|zrq-J-rpA5}|vv|{9->;=6H--rpA-z]|vv|{-J-z|qrycvrZnv-7-n{s|zrqH--|yq]|vv|{-J-z|qryZnv-7-n{s|zrqH--0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6----Sy||-J-sy||H--0r{qvs-----cvr]|vv|{-J-:z]|vv|{;\b\tH--tyl]|vv|{-J-}|wrpv|{Znv-7-z]|vv|{H--<<传递nvor的p|y|到s里使用--<<动态调整}|v{`v\tr--sy|n-rny]|v{`v\tr-J-}|v{`pnyr-7-}vry_nv|H--0vs-qrsv{rq5b`Rl]\\V[al`VgRlTR\\ZRa_VP6----o||y-v]r}rpvr-J-v]r}rpvrZnv5}|wrpv|{Znv6H----rny]|v{`v\tr-7J-tr|zrvpR|H----vs-5v]r}rpvr6-\n------sy|n-urvtu-J->;=-<-}|wrpv|{Znvh>jh>j-7-:z]|vv|{;\t-7-?;=H------rny]|v{`v\tr-J-prr{Urvtu-7-rny]|v{`v\tr-<-urvtuH----\f-ryr-\n------sy|n-urvtu-J->;=-<-}|wrpv|{Znvh>jh>j-7-?;=H------rny]|v{`v\tr-J-prr{Urvtu-7-rny]|v{`v\tr-<-urvtuH----\f--0ryvs-qrsv{rq5b`Rl]\\V[al`VgRlNaaR[bNaV\\[6----o||y-v]r}rpvr-J-v]r}rpvrZnv5}|wrpv|{Znv6H----vs-5v]r}rpvr6-\n------sy|n-urvtu-J->;=-<-}|wrpv|{Znvh>jh>j-7-:z]|vv|{;\t-7-?;=H------rny]|v{`v\tr-J-prr{Urvtu-7-rny]|v{`v\tr-<-urvtuH----\f-ryr-\n------sy|n-urvtu-J->;=-<-}|wrpv|{Znvh>jh>j-7-?;=H------rny]|v{`v\tr-J-prr{Urvtu-7-rny]|v{`v\tr-<-urvtuH----\f--0r{qvs--]|v{`v\tr-J-pynz}5rny]|v{`v\tr9-}|v{Zv{]vry-7-}vry_nv|9-}|v{Zn]vry-7-}vry_nv|6H--tyl]|v{`v\tr-J-]|v{`v\trH--0vs-qrsv{rq5b`Rl]\\V[alP\\Y\\_lNYaVabQR6----P|y|-J-trP|y|O\bUrvtu5tnqvr{arr9-|yq]|vv|{6H--0ryr----P|y|-J-p|y|H--0r{qvs--0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6----[|zny-J-{|znyv\tr5zn@5z|qryZnv6-7-{|zny6H--0r{qvs--0vs-qrsv{rq5b`RlRQY6----Y|tQr}u-J-y|t?5:z]|vv|{;\t6H--0r{qvs--0vs-qrsv{rq5b`RlU^lQR]aU6----<<-sy|n-}|wSnp|-J-:=;B-7-prr{Urvtu-<-5n{5s|-<-?;=6-7-z]|vv|{;\t6H----<<-sy|n-_nqv-J-rny]|v{`v\tr-<-}|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|{;\b\t-J-z]|vv|{;\b\t-7-nqwH----tyl]|vv|{-J-}|wrpv|{Znv-7-z]|vv|{H0r{qvs\f"),Ai=new n.Vector4,gi=Object.assign({pointScale:new n.Uniform(1),pointMinPixel:new n.Uniform(1),pointMaxPixel:new n.Uniform(1),opacity:new n.Uniform(1),gradientTexture:new n.Uniform(null),modelAlpha:new n.Uniform(0),clippers:new n.Uniform([]),shownFloorIndex:new n.Uniform(-1),constantColor:new n.Uniform(null),geometricError:new n.Uniform(0),pixelRatio:new n.Uniform(1),screenHeight:new n.Uniform(512),floor:new n.Uniform(0)},n.UniformsUtils.clone(n.UniformsLib.common)),yi=function(e){function t(t){void 0===t&&(t={});var r,i,o,a,s,l,c,u,d,p,h,f,v,m,A,g,y,b,x,w,E,M=this;return M=e.call(this,{vertexShader:mi,fragmentShader:vi,uniforms:n.UniformsUtils.clone(gi),defines:{USE_CONSTANT_COLOR:!1,USE_EDL:!1,USE_HQ_WEIGHT:!1,USE_HQ_DEPTH:!1,NUM_CLIPPING_BOX:!1,USE_CLIPFLOOR:!1,USE_VERTEX_FLOOR:!1,USE_MAP:!0,USE_UV:!0,USE_LUMINANCE:!1,USE_PANO_OPACITY:!1,USE_BLACK_TRANSITION:!1,USE_PANO_VIDEO:!1,USE_POINT_NORMAL:!1,USE_POINT_SHAPE_CIRCLE:!1,USE_POINT_SIZE_ATTENUATION:!1,USE_POINT_SIZE_GEOMETRIC:!1,USE_POINT_BACK_HIDDEN:!1,USE_POINT_BACK_DARK:!1}})||this,Object.defineProperties(M,{constantColor:{get:function(){return this.uniforms.constantColor.value},set:function(e){this.uniforms.constantColor.value=e;var t=null!==e;this.defines.USE_CONSTANT_COLOR!==t&&(this.defines.USE_CONSTANT_COLOR=t,this.needsUpdate=!0)}},opacity:{get:function(){return this.uniforms.opacity.value},set:function(e){this.uniforms.opacity.value=e}},modelAlpha:{get:function(){return this.uniforms.modelAlpha.value},set:function(e){this.uniforms.modelAlpha.value=e}},shownFloorIndex:{get:function(){return this.uniforms.shownFloorIndex.value},set:function(e){this.uniforms.shownFloorIndex.value=e}},clippers:{get:function(){return E},set:function(e){E!==e&&(E=e,this.uniforms.clippers.value=(E||[]).map((function(e){var t="number"==typeof e.floorIndex?e.floorIndex:-1;return{matrixInverse:(new n.Matrix4).getInverse(e.clippingBoxMatrix),floorIndex:t}})),this.needsUpdate=!0)}},pointColor:{get:function(){return!0===this.defines.USE_POINT_COLOR_ALTITUDE?"ALTITUDE":"RGB"},set:function(e){var t="ALTITUDE"===e;this.defines.USE_POINT_COLOR_ALTITUDE!==t&&(this.defines.USE_POINT_COLOR_ALTITUDE=t,this.needsUpdate=!0)}},pointSize:{get:function(){return!0===this.defines.USE_POINT_SIZE_GEOMETRIC?"GEOMETRIC":!0===this.defines.USE_POINT_SIZE_ATTENUATION?"ATTENUATION":"FIXED"},set:function(e){var t="ATTENUATION"===e,r="GEOMETRIC"===e;this.defines.USE_POINT_SIZE_GEOMETRIC!==r&&(this.defines.USE_POINT_SIZE_GEOMETRIC=r,this.needsUpdate=!0),this.defines.USE_POINT_SIZE_ATTENUATION!==t&&(this.defines.USE_POINT_SIZE_ATTENUATION=t,this.needsUpdate=!0)}},pointShape:{get:function(){return!0===this.defines.USE_POINT_SHAPE_CIRCLE?"CIRCLE":"SQUARE"},set:function(e){var t="CIRCLE"===e;this.defines.USE_POINT_SHAPE_CIRCLE!==t&&(this.defines.USE_POINT_SHAPE_CIRCLE=t,this.needsUpdate=!0)}},pointScale:{get:function(){return this.uniforms.pointScale.value},set:function(e){this.uniforms.pointScale.value=e}},pointBack:{get:function(){return!0===this.defines.USE_POINT_BACK_HIDDEN?"HIDDEN":!0===this.defines.USE_POINT_BACK_DARK?"DARK":"VISIBLE"},set:function(e){var t="HIDDEN"===e,r="DARK"===e;this.defines.USE_POINT_BACK_HIDDEN!==t&&(this.defines.USE_POINT_BACK_HIDDEN=t,this.needsUpdate=!0),this.defines.USE_POINT_BACK_DARK!==r&&(this.defines.USE_POINT_BACK_DARK=r,this.needsUpdate=!0)}},pointMinPixel:{get:function(){return this.uniforms.pointMinPixel.value},set:function(e){this.uniforms.pointMinPixel.value=e}},pointMaxPixel:{get:function(){return this.uniforms.pointMaxPixel.value},set:function(e){this.uniforms.pointMaxPixel.value=e}},useEDL:{get:function(){return this.defines.USE_EDL},set:function(e){e!==this.defines.USE_EDL&&(this.defines.USE_EDL=e,this.needsUpdate=!0)}},useHQWeight:{get:function(){return this.defines.USE_HQ_WEIGHT},set:function(e){e!==this.defines.USE_HQ_WEIGHT&&(this.defines.USE_HQ_WEIGHT=e,this.needsUpdate=!0)}},useHQDepth:{get:function(){return this.defines.USE_HQ_DEPTH},set:function(e){e!==this.defines.USE_HQ_DEPTH&&(this.defines.USE_HQ_DEPTH=e,this.needsUpdate=!0)}},gradientTexture:{get:function(){return this.uniforms.gradientTexture.value},set:function(e){this.uniforms.gradientTexture.value=e}},floor:{get:function(){return this.uniforms.floor.value},set:function(e){this.uniforms.floor.value=e}}}),M.pano0=null!==(r=t.pano0)&&void 0!==r?r:it.pano0,M.pano1=null!==(i=t.pano1)&&void 0!==i?i:it.pano1,M.modelAlpha=null!==(o=t.modelAlpha)&&void 0!==o?o:it.modelAlpha,M.progress=null!==(a=t.progress)&&void 0!==a?a:it.progress,M.useBlackTransition=null!==(s=t.useBlackTransition)&&void 0!==s?s:it.useBlackTransition,M.constantColor=null!==(l=t.constantColor)&&void 0!==l?l:it.constantColor,M.opacity=null!==(c=t.opacity)&&void 0!==c?c:it.opacity,M.shownFloorIndex=null!==(u=t.shownFloorIndex)&&void 0!==u?u:it.shownFloorIndex,M.clippers=null!==(d=t.clippers)&&void 0!==d?d:it.clippers,M.useEDL=null!==(p=t.useEDL)&&void 0!==p?p:it.useEDL,M.useHQWeight=null!==(h=t.useHQWeight)&&void 0!==h?h:it.useHQWeight,M.useHQDepth=null!==(f=t.useHQDepth)&&void 0!==f?f:it.useHQDepth,M.pointColor=null!==(v=t.pointColor)&&void 0!==v?v:it.pointColor,M.pointShape=null!==(m=t.pointShape)&&void 0!==m?m:it.pointShape,M.pointSize=null!==(A=t.pointSize)&&void 0!==A?A:it.pointSize,M.pointScale=null!==(g=t.pointScale)&&void 0!==g?g:it.pointScale,M.pointBack=null!==(y=t.pointBack)&&void 0!==y?y:it.pointBack,M.pointMinPixel=null!==(b=t.pointMinPixel)&&void 0!==b?b:it.pointMinPixel,M.pointMaxPixel=null!==(x=t.pointMaxPixel)&&void 0!==x?x:it.pointMaxPixel,M.gradientTexture=null!==(w=t.gradientTexture)&&void 0!==w?w:it.gradientTexture,M.floor=0,M.transparent=!1,M}return ne(t,e),t.prototype.onBeforeCompile=function(e,t){var r,n,i=String(null!==(n=null===(r=this.clippers)||void 0===r?void 0:r.length)&&void 0!==n?n:0);e.vertexShader=e.vertexShader.replace(/NUM_CLIPPERS/g,i),e.fragmentShader=e.fragmentShader.replace(/NUM_CLIPPERS/g,i)},t.prototype.update=function(e,t){var r=t instanceof $t?t.pixelRatio:e.getPixelRatio(),i=t instanceof $t?t.screenHeight:e.getViewport(Ai).z;this.uniforms.pixelRatio.value=r,this.uniforms.screenHeight.value=i,this.transparent=this.shownFloorIndex>-1||this.opacity<1||this.modelAlpha<1,this.useEDL&&(this.transparent=!1),this.useHQDepth&&(this.depthTest=!0,this.depthWrite=!0),this.useHQWeight?(this.depthWrite=!1,this.blending=n.CustomBlending,this.blendSrc=n.SrcAlphaFactor,this.blendSrcAlpha=n.SrcAlphaFactor,this.blendDst=n.OneFactor,this.blendDstAlpha=n.OneFactor):(this.depthWrite=!0,this.transparent=this.shownFloorIndex>-1||this.opacity<1||this.modelAlpha<1,this.blendDst=n.OneMinusSrcAlphaFactor,this.blendEquation=n.AddEquation,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.blending=n.NormalBlending)},t.prototype.syncModel=function(e){var t="".concat(e.id,":").concat(e.materialVersion);t!==this.syncModelVersion&&(Object.assign(this,e.getMaterial()),this.syncModelVersion=t)},t}(n.ShaderMaterial),bi=new yi;bi.dispose=function(){};var xi=new yi;xi.defines.USE_POINT_NORMAL=!0,xi.dispose=function(){};var wi=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return ne(t,e),t.prototype.loadMesh=function(e,t){var r=this,i=t.json.meshes[e],o=i.primitives,a=Promise.all(o.map((function(e){return t.loadGeometry(e)}))),s=Promise.all(o.map((function(e){return e.mode,r.loadPBMMaterial(e,t)}))),l=Promise.all([a,s]).then((function(r){for(var a=r[0],s=r[1],l=[],c=0;c<o.length;c++){var u=o[c],d=a[c],p=s[c];void 0===d.attributes.normal&&(p.flatShading=!0),void 0===d.attributes.tangent&&p.normalScale&&(p.normalScale.y*=-1);var h=u.mode||Cn,f=void 0;if(h===Cn||h===Sn||h===In)h===Sn?d=t.toGeometryTrianglesDrawMode(d,n.TriangleStripDrawMode):h===In&&(d=t.toGeometryTrianglesDrawMode(d,n.TriangleFanDrawMode)),(d=d.clone()).clearGroups(),d.addGroup(0,d.index?d.index.count:d.attributes.position.count,0),d.attributes.normal||d.computeVertexNormals(),f=new tt(d,[p]);else{if(h!==xn)throw new Error("glTF: Primitive mode unsupported: "+h);f=new st(d,p)}f.name=t.createUniqueName(i.name||"mesh_"+e),l.push(f)}if(1===l.length)return l[0];for(var v=new n.Group,m=0,A=l;m<A.length;m++){f=A[m];v.add(f)}return v}));return l},t.prototype.loadPBMMaterial=function(e,t){var r=e.mode,n=null;if(r===Cn||r===Sn||r===In)n=this.loadPBMMeshMaterial(e,t);else{if(r!==xn)throw new Error("glTF: Primitive mode unsupported: "+r);n=this.loadPBMPointCloudMaterial(e,t)}return n},t.prototype.loadPBMPointCloudMaterial=function(e,t){return Object.keys(e.attributes).filter((function(e){return"normal"===kn[e]})).length>0?Promise.resolve(xi):Promise.resolve(bi)},t.prototype.loadPBMMeshMaterial=function(e,t){var r=[],i=new Ht;if(i.uniforms.diffuse.value=new n.Color(1,1,1),i.uniforms.exposure.value=3.3,i.defines.USE_MAP=!1,Object.keys(e.attributes).filter((function(e){return"color"===kn[e]})).length>0&&(i.vertexColors=!0),0===Object.keys(e.attributes).filter((function(e){return"tangent"===kn[e]})).length&&(i.normalScale&&(i.normalScale.y*=-1),i.clearcoatNormalScale&&(i.clearcoatNormalScale.y*=-1)),void 0!==e.material){var o=t.json.materials[e.material];o.name&&(i.name=o.name);var a=o.pbrMetallicRoughness||{};if(Array.isArray(a.baseColorFactor)){var s=a.baseColorFactor;i.uniforms.diffuse.value.fromArray(s)}if(void 0!==a.baseColorTexture&&r.push(t.createMaterialTexture(a.baseColorTexture).then((function(e){i.uniforms.map.value=e,i.defines.USE_MAP=!0}))),!0===o.doubleSided&&(i.side=n.DoubleSide),void 0!==o.normalTexture&&(r.push(t.createMaterialTexture(o.normalTexture).then((function(e){i.uniforms.normalMap.value=e}))),i.uniforms.normalScale.value=new n.Vector2(1,1),void 0!==o.normalTexture.scale)){var l=o.normalTexture.scale;i.uniforms.normalScale.value.set(l,l)}}return Promise.all(r).then((function(){return i}))},t}(jn),Ei={KHR_binary_glTF:Un,KHR_draco_mesh_compression:Yn,KHR_texture_basisu:ii,KHR_texture_transform:ai,KHR_mesh_quantization:si,EXT_meshopt_compression:ui,EXT_texture_webp:pi,CESIUM_RTC:fi,PBM_mesh:wi};function Mi(e,t){var r,n,i,o,a={};if(t.addonExtensions)for(var s=0,l=t.addonExtensions;s<l.length;s++){var c=l[s];a[c]=new Ei[c]}if("string"==typeof e)o=e;else if(Ei.KHR_binary_glTF.getMagic(e)===Ei.KHR_binary_glTF.HEADER_MAGIC){var u=new Ei.KHR_binary_glTF;try{u.loadGlbBinary(e)}catch(e){return Promise.reject(e)}a.KHR_binary_glTF=u,o=u.content}else o=bn(new Uint8Array(e));var d=JSON.parse(o);if(void 0===d.asset||Number(d.asset.version[0])<2)return Promise.reject(new Error("glTF: Unsupported asset. glTF versions >=2.0 are supported."));if(d.extensionsUsed)for(var p=d.extensionsRequired||[],h=0;h<d.extensionsUsed.length;h++){var f=d.extensionsUsed[h];a[f]||(Ei[f]?a[f]=new Ei[f]:p.indexOf(f)>=0&&console.warn('glTF: Unknown extension "'+f+'".'))}return new Vn(d,a,{copyUV2:null===(r=t.copyUV2)||void 0===r||r,resourcePath:null!==(n=t.resourcePath)&&void 0!==n?n:"",search:null!==(i=t.search)&&void 0!==i?i:"",fetcher:t.fetcher}).parse()}var Ci=(new n.Matrix4).fromArray([1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1]);function Si(e,t){var r={uri:e,gltfUpAxis:t.upAxis};return Promise.resolve().then((function(){return t.fetcher.ajax(e,{responseType:"arraybuffer"}).then((function(e){return e.body}))})).then((function(e){return Promise.resolve(0).then((function(t){return ln(r,e,t)})).then((function(t){return gn(r,e,t)})).then((function(t){return yn(r,e,t)}))})).then((function(){var i;return Mi(r.gltfArrayBuffer,{copyUV2:!1,addonExtensions:["PBM_mesh"],resourcePath:e.slice(0,e.lastIndexOf("/")+1),search:null!==(i=e.split("?")[1])&&void 0!==i?i:"",fetcher:t.fetcher}).then((function(e){var i=new n.Matrix4;"Z"!==t.upAxis&&i.premultiply(Ci);var o=(new n.Matrix4).setPosition(r.rtcCenter);if(i.premultiply(o),e.CESIUM_RTC){var a=(new n.Matrix4).setPosition(e.CESIUM_RTC.center);i.premultiply(a)}var s=e.scene;return s.applyMatrix4(i),{type:"b3dm",uri:r.uri,byteLength:r.byteLength,object:s,dispose:function(){return e.dispose()}}}))}))}var Ii=new n.Vector3,Pi=new n.Vector3,Ti=new n.Vector3,Bi=new n.Vector3;function Ri(e,t,r){var n=new fn(e.featureTableJson,e.featureTableBinary);return Promise.resolve().then((function(){var e=n.getExtension("3DTILES_draco_point_compression");return e?function(e,t){return se(this,void 0,void 0,(function(){var r,n,i,o,a,s;return le(this,(function(l){if(r=e.properties||{},n=e.byteOffset,i=e.byteLength,!r||!Number.isFinite(n)||!i)throw new Error("Draco properties, byteOffset, and byteLength must be defined");return o=t.buffer.slice(n,n+i),a=e.properties,s={POSITION:"Float32Array",NORMAL:"Float32Array",RGB:"Uint8Array",RGBA:"Uint8Array"},[2,Gn.decodeGeometry(o.buffer,{attributeIDs:a,attributeTypes:s,useUniqueIDs:!0}).then((function(e){var t=e.getAttribute("POSITION"),r=e.getAttribute("RGB")||e.getAttribute("RGBA"),n=e.getAttribute("NORMAL");return{position:t?ki(an.FLOAT,t.array,t.itemSize):null,color:r?ki(an.UNSIGNED_BYTE,r.array,r.itemSize):null,normal:n?ki(an.FLOAT,n.array,n.itemSize):null}}))]}))}))}(e,n):{position:Oi(n),color:Fi(n),normal:Qi(n)}})).then((function(t){return e.attributes=t,r}))}function ki(e,t,r){return{type:e,array:t,size:r}}function Oi(e){if(e.hasProperty("POSITION")){var t=e.getPropertyArray("POSITION",an.FLOAT,3);return ki(an.FLOAT,t,3)}if(e.hasProperty("POSITION_QUANTIZED")){var r=e.getPropertyArray("POSITION_QUANTIZED",an.UNSIGNED_SHORT,3),n=e.getGlobalProperty("QUANTIZED_VOLUME_SCALE",an.FLOAT,3),i=e.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",an.FLOAT,3);if(!n||!i)throw new Error("QUANTIZED_VOLUME_SCALE or QUANTIZED_VOLUME_OFFSET never found.");var o=new Float32Array(r.length),a=r.length/3;Pi.fromArray(n),Ti.fromArray(i);for(var s=0;s<a;s++)Ii.fromArray(r,3*s).divideScalar(65535).multiply(Pi).add(Ti).toArray(o,3*s);return ki(an.FLOAT,o,3)}return null}function Fi(e){if(e.hasProperty("RGBA")){var t=e.getPropertyArray("RGBA",an.UNSIGNED_BYTE,4);return ki(an.UNSIGNED_BYTE,t,4)}if(e.hasProperty("RGB")){t=e.getPropertyArray("RGB",an.UNSIGNED_BYTE,3);return ki(an.UNSIGNED_BYTE,t,3)}if(e.hasProperty("RGB565")){for(var r=(t=e.getPropertyArray("RGB565",an.UNSIGNED_SHORT,1)).length,n=new Uint8Array(3*r),i=0;i<r;i++){var o=Di(t[i]);n[3*i]=o[0],n[3*i+1]=o[1],n[3*i+2]=o[2]}return ki(an.UNSIGNED_BYTE,n,3)}return null}function Di(e,t){void 0===t&&(t=[0,0,0]);var r=e>>11&31,n=e>>5&63,i=31&e;return t[0]=r<<3,t[1]=n<<2,t[2]=i<<3,t}function Qi(e){if(e.hasProperty("NORMAL")){var t=e.getPropertyArray("NORMAL",an.FLOAT,3);return ki(an.FLOAT,t,3)}if(e.hasProperty("NORMAL_OCT16P")){for(var r=(t=e.getPropertyArray("NORMAL_OCT16P",an.UNSIGNED_BYTE,2)).length/2,n=new Float32Array(3*r),i=0;i<r;i++)Li(t[2*i],t[2*i+1],255,Bi),Bi.toArray(n,3*i);return ki(an.FLOAT,n,3)}return null}function Li(e,t,r,n){if(e<0||e>r||t<0||t>r)throw new Error("x and y must be unsigned normalized integers between 0 and ".concat(r));if(n.x=Vi(e,0,r),n.y=Vi(t,0,r),n.z=1-(Math.abs(n.x)+Math.abs(n.y)),n.z<0){var i=n.x;n.x=(1-Math.abs(n.y))*Ni(i),n.y=(1-Math.abs(i))*Ni(n.y)}return n.normalize()}function Ni(e){return e<0?-1:1}function Vi(e,t,r){return e<t&&(e=t),e>r&&(e=r),e/r*2-1}function zi(e,t){var r={uri:e};return Promise.resolve().then((function(){return t.fetcher.ajax(e,{responseType:"arraybuffer"}).then((function(e){return e.body}))})).then((function(e){return Promise.resolve(0).then((function(t){return ln(r,e,t)})).then((function(t){return gn(r,e,t)})).then((function(e){return Ri(r,0,e)}))})).then((function(){return function(e){var t=new Set,r=new n.BufferGeometry;t.add(r);var i=new yi;t.add(i),e.position&&r.setAttribute("position",new n.BufferAttribute(e.position.array,e.position.size,!1));e.color&&r.setAttribute("color",new n.BufferAttribute(e.color.array,e.color.size,!0));e.normal&&(r.setAttribute("normal",new n.BufferAttribute(e.normal.array,e.normal.size,!1)),i.defines.USE_POINT_NORMAL=!0);r.computeBoundingBox(),r.computeBoundingSphere();var o=new st(r,i);return o.matrix.compose(o.position,o.quaternion,o.scale),o.matrixAutoUpdate=!1,o.frustumCulled=!1,o.renderOrder=-1e3,Promise.resolve({object:o,dispose:function(){t.forEach((function(e){e.dispose()})),t.clear()}})}(r.attributes)})).then((function(e){var t=new n.Matrix4,i=(new n.Matrix4).setPosition(r.rtcCenter);return t.premultiply(i),e.object.applyMatrix4(t),{type:"pnts",uri:r.uri,byteLength:r.byteLength,object:e.object,dispose:function(){return e.dispose()}}}))}function ji(){var e={OutWindow:function(){this._windowSize=0}};return e.OutWindow.prototype.create=function(e){this._buffer&&this._windowSize===e||(this._buffer=[]),this._windowSize=e,this._pos=0,this._streamPos=0},e.OutWindow.prototype.flush=function(){var e=this._pos-this._streamPos;if(0!==e){for(;e--;)this._stream.writeByte(this._buffer[this._streamPos++]);this._pos>=this._windowSize&&(this._pos=0),this._streamPos=this._pos}},e.OutWindow.prototype.releaseStream=function(){this.flush(),this._stream=null},e.OutWindow.prototype.setStream=function(e){this.releaseStream(),this._stream=e},e.OutWindow.prototype.init=function(e){e||(this._streamPos=0,this._pos=0)},e.OutWindow.prototype.copyBlock=function(e,t){var r=this._pos-e-1;for(r<0&&(r+=this._windowSize);t--;)r>=this._windowSize&&(r=0),this._buffer[this._pos++]=this._buffer[r++],this._pos>=this._windowSize&&this.flush()},e.OutWindow.prototype.putByte=function(e){this._buffer[this._pos++]=e,this._pos>=this._windowSize&&this.flush()},e.OutWindow.prototype.getByte=function(e){var t=this._pos-e-1;return t<0&&(t+=this._windowSize),this._buffer[t]},e.RangeDecoder=function(){},e.RangeDecoder.prototype.setStream=function(e){this._stream=e},e.RangeDecoder.prototype.releaseStream=function(){this._stream=null},e.RangeDecoder.prototype.init=function(){var e=5;for(this._code=0,this._range=-1;e--;)this._code=this._code<<8|this._stream.readByte()},e.RangeDecoder.prototype.decodeDirectBits=function(e){for(var t,r=0,n=e;n--;)this._range>>>=1,t=this._code-this._range>>>31,this._code-=this._range&t-1,r=r<<1|1-t,0==(4278190080&this._range)&&(this._code=this._code<<8|this._stream.readByte(),this._range<<=8);return r},e.RangeDecoder.prototype.decodeBit=function(e,t){var r=e[t],n=(this._range>>>11)*r;return(2147483648^this._code)<(2147483648^n)?(this._range=n,e[t]+=2048-r>>>5,0==(4278190080&this._range)&&(this._code=this._code<<8|this._stream.readByte(),this._range<<=8),0):(this._range-=n,this._code-=n,e[t]-=r>>>5,0==(4278190080&this._range)&&(this._code=this._code<<8|this._stream.readByte(),this._range<<=8),1)},e.initBitModels=function(e,t){for(;t--;)e[t]=1024},e.BitTreeDecoder=function(e){this._models=[],this._numBitLevels=e},e.BitTreeDecoder.prototype.init=function(){e.initBitModels(this._models,1<<this._numBitLevels)},e.BitTreeDecoder.prototype.decode=function(e){for(var t=1,r=this._numBitLevels;r--;)t=t<<1|e.decodeBit(this._models,t);return t-(1<<this._numBitLevels)},e.BitTreeDecoder.prototype.reverseDecode=function(e){for(var t,r=1,n=0,i=0;i<this._numBitLevels;++i)r=r<<1|(t=e.decodeBit(this._models,r)),n|=t<<i;return n},e.reverseDecode2=function(e,t,r,n){for(var i,o=1,a=0,s=0;s<n;++s)o=o<<1|(i=r.decodeBit(e,t+o)),a|=i<<s;return a},e.LenDecoder=function(){this._choice=[],this._lowCoder=[],this._midCoder=[],this._highCoder=new e.BitTreeDecoder(8),this._numPosStates=0},e.LenDecoder.prototype.create=function(t){for(;this._numPosStates<t;++this._numPosStates)this._lowCoder[this._numPosStates]=new e.BitTreeDecoder(3),this._midCoder[this._numPosStates]=new e.BitTreeDecoder(3)},e.LenDecoder.prototype.init=function(){var t=this._numPosStates;for(e.initBitModels(this._choice,2);t--;)this._lowCoder[t].init(),this._midCoder[t].init();this._highCoder.init()},e.LenDecoder.prototype.decode=function(e,t){return 0===e.decodeBit(this._choice,0)?this._lowCoder[t].decode(e):0===e.decodeBit(this._choice,1)?8+this._midCoder[t].decode(e):16+this._highCoder.decode(e)},e.Decoder2=function(){this._decoders=[]},e.Decoder2.prototype.init=function(){e.initBitModels(this._decoders,768)},e.Decoder2.prototype.decodeNormal=function(e){var t=1;do{t=t<<1|e.decodeBit(this._decoders,t)}while(t<256);return 255&t},e.Decoder2.prototype.decodeWithMatchByte=function(e,t){var r,n,i=1;do{if(r=t>>7&1,t<<=1,i=i<<1|(n=e.decodeBit(this._decoders,(1+r<<8)+i)),r!==n){for(;i<256;)i=i<<1|e.decodeBit(this._decoders,i);break}}while(i<256);return 255&i},e.LiteralDecoder=function(){},e.LiteralDecoder.prototype.create=function(t,r){var n;if(!this._coders||this._numPrevBits!==r||this._numPosBits!==t)for(this._numPosBits=t,this._posMask=(1<<t)-1,this._numPrevBits=r,this._coders=[],n=1<<this._numPrevBits+this._numPosBits;n--;)this._coders[n]=new e.Decoder2},e.LiteralDecoder.prototype.init=function(){for(var e=1<<this._numPrevBits+this._numPosBits;e--;)this._coders[e].init()},e.LiteralDecoder.prototype.getDecoder=function(e,t){return this._coders[((e&this._posMask)<<this._numPrevBits)+((255&t)>>>8-this._numPrevBits)]},e.Decoder=function(){this._outWindow=new e.OutWindow,this._rangeDecoder=new e.RangeDecoder,this._isMatchDecoders=[],this._isRepDecoders=[],this._isRepG0Decoders=[],this._isRepG1Decoders=[],this._isRepG2Decoders=[],this._isRep0LongDecoders=[],this._posSlotDecoder=[],this._posDecoders=[],this._posAlignDecoder=new e.BitTreeDecoder(4),this._lenDecoder=new e.LenDecoder,this._repLenDecoder=new e.LenDecoder,this._literalDecoder=new e.LiteralDecoder,this._dictionarySize=-1,this._dictionarySizeCheck=-1,this._posSlotDecoder[0]=new e.BitTreeDecoder(6),this._posSlotDecoder[1]=new e.BitTreeDecoder(6),this._posSlotDecoder[2]=new e.BitTreeDecoder(6),this._posSlotDecoder[3]=new e.BitTreeDecoder(6)},e.Decoder.prototype.setDictionarySize=function(e){return!(e<0)&&(this._dictionarySize!==e&&(this._dictionarySize=e,this._dictionarySizeCheck=Math.max(this._dictionarySize,1),this._outWindow.create(Math.max(this._dictionarySizeCheck,4096))),!0)},e.Decoder.prototype.setLcLpPb=function(e,t,r){var n=1<<r;return!(e>8||t>4||r>4)&&(this._literalDecoder.create(t,e),this._lenDecoder.create(n),this._repLenDecoder.create(n),this._posStateMask=n-1,!0)},e.Decoder.prototype.init=function(){var t=4;for(this._outWindow.init(!1),e.initBitModels(this._isMatchDecoders,192),e.initBitModels(this._isRep0LongDecoders,192),e.initBitModels(this._isRepDecoders,12),e.initBitModels(this._isRepG0Decoders,12),e.initBitModels(this._isRepG1Decoders,12),e.initBitModels(this._isRepG2Decoders,12),e.initBitModels(this._posDecoders,114),this._literalDecoder.init();t--;)this._posSlotDecoder[t].init();this._lenDecoder.init(),this._repLenDecoder.init(),this._posAlignDecoder.init(),this._rangeDecoder.init()},e.Decoder.prototype.decode=function(t,r,n){var i,o,a,s,l,c,u=0,d=0,p=0,h=0,f=0,v=0,m=0;for(this._rangeDecoder.setStream(t),this._outWindow.setStream(r),this.init();n<0||v<n;)if(i=v&this._posStateMask,0===this._rangeDecoder.decodeBit(this._isMatchDecoders,(u<<4)+i))o=this._literalDecoder.getDecoder(v++,m),m=u>=7?o.decodeWithMatchByte(this._rangeDecoder,this._outWindow.getByte(d)):o.decodeNormal(this._rangeDecoder),this._outWindow.putByte(m),u=u<4?0:u-(u<10?3:6);else{if(1===this._rangeDecoder.decodeBit(this._isRepDecoders,u))a=0,0===this._rangeDecoder.decodeBit(this._isRepG0Decoders,u)?0===this._rangeDecoder.decodeBit(this._isRep0LongDecoders,(u<<4)+i)&&(u=u<7?9:11,a=1):(0===this._rangeDecoder.decodeBit(this._isRepG1Decoders,u)?s=p:(0===this._rangeDecoder.decodeBit(this._isRepG2Decoders,u)?s=h:(s=f,f=h),h=p),p=d,d=s),0===a&&(a=2+this._repLenDecoder.decode(this._rangeDecoder,i),u=u<7?8:11);else if(f=h,h=p,p=d,a=2+this._lenDecoder.decode(this._rangeDecoder,i),u=u<7?7:10,(l=this._posSlotDecoder[a<=5?a-2:3].decode(this._rangeDecoder))>=4){if(d=(2|1&l)<<(c=(l>>1)-1),l<14)d+=e.reverseDecode2(this._posDecoders,d-l-1,this._rangeDecoder,c);else if(d+=this._rangeDecoder.decodeDirectBits(c-4)<<4,(d+=this._posAlignDecoder.reverseDecode(this._rangeDecoder))<0){if(-1===d)break;return!1}}else d=l;if(d>=v||d>=this._dictionarySizeCheck)return!1;this._outWindow.copyBlock(d,a),v+=a,m=this._outWindow.getByte(0)}return this._outWindow.flush(),this._outWindow.releaseStream(),this._rangeDecoder.releaseStream(),!0},e.Decoder.prototype.setDecoderProperties=function(e){var t,r,n,i,o;return!(e.size<5)&&(r=(t=e.readByte())%9,n=(t=~~(t/9))%5,i=~~(t/5),!!this.setLcLpPb(r,n,i)&&(o=e.readByte(),o|=e.readByte()<<8,o|=e.readByte()<<16,o+=16777216*e.readByte(),this.setDictionarySize(o)))},e.decompress=function(t,r,n,i){var o=new e.Decoder;if(!o.setDecoderProperties(t))throw"Incorrect stream properties";if(!o.decode(r,n,i))throw"Error in data stream";return!0},e.decompressFile=function(t,r){var n,i=new e.Decoder;if(!i.setDecoderProperties(t))throw"Incorrect stream properties";if(n=t.readByte(),n|=t.readByte()<<8,n|=t.readByte()<<16,n+=16777216*t.readByte(),t.readByte(),t.readByte(),t.readByte(),t.readByte(),!i.decode(t,r,n))throw"Error in data stream";return!0},e}var Ui=ji();var qi="\nvar decodeLZMA = (function() {\n var LZMA = (".concat(ji.toString(),")();\n return function(data, callback) {\n return (").concat(function(e,t,r){try{var n={data:t,offset:0,readByte:function(){return this.data[this.offset++]}},i=n.data.length,o={data:[],offset:0,writeByte:function(e){var t=Math.floor(this.offset/i);this.data[t]||(this.data[t]=new Uint8Array(i)),this.data[t][this.offset%i]=e,this.offset++}};e.decompressFile(n,o);for(var a=new Uint8Array(o.offset),s=0;s<o.offset;s++)a[s]=o.data[Math.floor(s/i)][s%i];r(null,a)}catch(e){r(e)}}.toString(),")(LZMA, data, callback);\n }\n})();\n\nvar decodeLZMAWithWASM = (function() {\n var LZMA_WASM = (").concat(function(){return function(e){for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r=new Uint8Array(256),n=0;n<64;n++)r[t.charCodeAt(n)]=n;var i,o,a,s,l,c=.75*e.length,u=e.length,d=0;"="===e[e.length-1]&&(c--,"="===e[e.length-2]&&c--);var p=new ArrayBuffer(c),h=new Uint8Array(p);for(i=0;i<u;i+=4)o=r[e.charCodeAt(i)],a=r[e.charCodeAt(i+1)],s=r[e.charCodeAt(i+2)],l=r[e.charCodeAt(i+3)],h[d++]=o<<2|a>>4,h[d++]=(15&a)<<4|s>>2,h[d++]=(3&s)<<6|63&l;return p}("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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")}.toString(),")();\n return function(data, callback) {\n return (").concat(function(e,t,r){try{var n=new WebAssembly.Memory({initial:16}),i=new WebAssembly.Module(e),o=new WebAssembly.Instance(i,{env:{memory:n,abort:function(){r(new Error("webAssembly abort"))}}}).exports,a=o.newU8Array(t.length);new Uint8Array(n.buffer,a+24,t.length).set(t);var s=o.decode(a),l=new Uint32Array(n.buffer,s,4),c=l[0],u=l[2],d=l[3];c?r(null,new Uint8Array(n.buffer,d+24,u).slice(0,u)):r(new Error("lzma deocder error"))}catch(e){r(e)}}.toString(),')(LZMA_WASM, data, callback);\n }\n})();\n\nself.onmessage = function(event) {\n var packet = event.data;\n if (!packet.id) {\n postMessage({ id: packet.id, error: "No incoming id." });\n return;\n }\n if (!packet.data) {\n postMessage({ id: packet.id, error: "No input data." });\n return;\n }\n if (packet.type == "decompress") {\n if (packet.data.constructor !== Uint8Array) {\n postMessage({ id: packet.id, error: "Input data is not Uint8Array." });\n }\n const callback = function(error, result) {\n if (error) {\n postMessage({ id: packet.id, error: error.toString() });\n } else {\n postMessage({ id: packet.id, result: result, error: null }, [ result.buffer ]);\n }\n }\n if (typeof WebAssembly !== "undefined" && WebAssembly.instantiate) {\n decodeLZMAWithWASM(packet.data, callback);\n } else {\n decodeLZMA(packet.data, callback);\n }\n return;\n }\n postMessage({ id: packet.id, error: "type never matched." });\n};\n'),_i="undefined"!=typeof Worker&&"undefined"!=typeof Blob,Hi="";if(_i)try{var Gi=new Blob([qi],{type:"text/javascript"});Hi=URL.createObjectURL(Gi)}catch(e){}var Ki=function(){function e(){var e=this;if(!_i)throw new Error("LZMAWorker cannot work in this broswer.");this.callCounter=0,this.requests={};var t=this.worker=new Worker(Hi);t.onmessage=function(t){var r=t.data,n=r.id,i=r.result,o=r.error,a=e.getKey(n);e.requests[a]&&(o?e.requests[a](new Error(o)):e.requests[a](null,i),delete e.requests[a])},t.onerror=function(e){return console.error(e)}}return e.prototype.getKey=function(e){return"key_"+String(e)},e.prototype.decompress=function(e,t){var r=++this.callCounter;this.requests[this.getKey(r)]=t,this.worker.postMessage({type:"decompress",id:r,data:e},[e.buffer])},e.prototype.terminate=function(){this.worker.terminate()},e.support=_i,e}();function Wi(e){return Array.prototype.reduce.call(e,(function(e,t,r){return e|t<<8*r}),0)}function Yi(e){var t=new Uint8Array(e),r=Wi(t.slice(0,4));if(r>10)return Promise.reject(new Error("LZMA got too many sub chunks."));for(var n=[],i=[],o=4+4*r,a=0;a<r;a++)i[a]=Wi(t.slice(4+4*a,8+4*a)),n[a]=a===r-1?t.subarray(o,o+i[a]):t.slice(o,o+i[a]),o+=i[a];return Ki.support?function(e){for(var t=[],r=e.length,n=function(r){t.push(new Promise((function(t,n){var i=new Ki;i.decompress(e[r],(function(e,r){if(i.terminate(),e)return n(e);t(r)}))})))},i=0;i<r;i++)n(i);return Promise.all(t)}(n):Promise.resolve(function(e){for(var t,r=[],n=e.length,i=function(n){var i={data:e[n],offset:0,readByte:function(){return this.data[this.offset++]}},o=i.data.length,a={data:[],offset:0,writeByte:function(e){var t=Math.floor(this.offset/o);this.data[t]||(this.data[t]=new Uint8Array(o)),this.data[t][this.offset%o]=e,this.offset++}};Ui.decompressFile(i,a),t=new Uint8Array(a.offset);for(var s=0;s<a.offset;s++)t[s]=a.data[Math.floor(s/o)][s%o];r.push(t)},o=0;o<n;o++)i(o);return r}(n))}var Xi=!1,Ji=[];function Zi(e){if(void 0===e&&(e=!1),e||!Xi){Xi=!0;var t=Ji.shift();if(t){try{t()}catch(e){}Ne.shared.add((function(){return Zi(!0)}),!0,2,-100)}else Xi=!1}}function $i(e){return new Promise((function(t,r){Ji.push((function(){try{t(e())}catch(e){r(e)}})),Ne.shared.add((function(){return Zi()}),!0,2,-100)}))}function eo(e,t){for(var r={},n=0,i=t;n<i.length;n++){var o=i[n];o in e&&(r[o]=e[o])}return r}function to(e,t){void 0===t&&(t=!1);var r=typeof e;if("string"===r)return JSON.stringify(e);if(!0===e)return"true";if(!1===e)return"false";if(null===e)return"null";if(e instanceof Array){for(var n="[",i=e.length-1,o=0;o<i;o++)n+=to(e[o],!1)+",";return i>-1&&(n+=to(e[o],!1)),n+"]"}if(e instanceof Object){if("function"==typeof e.toJSON)return to(e.toJSON(),t);var a=Object.keys(e).sort(),s=a.length;for(n="",o=0;o<s;){var l=a[o],c=to(e[l],!0);void 0!==c&&(o&&""!==n&&(n+=","),n+=JSON.stringify(l)+":"+c),o++}return"{"+n+"}"}switch(r){case"function":return JSON.stringify(e.toString());case"undefined":return t?void 0:null;case"number":return e;default:return isFinite(e)?e:null}}function ro(e){return"hash::".concat(to(e,!1))}var no=new n.WebGLRenderTarget(1,1),io=new n.OrthographicCamera(-1,1,1,-1,0,1);io.matrixAutoUpdate=!1;var oo=new n.BufferGeometry;oo.setAttribute("position",new n.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3));var ao=new n.Mesh(oo);ao.matrixAutoUpdate=!1;var so=new n.Scene;so.add(ao),so.matrixAutoUpdate=!1;var lo=new n.RawShaderMaterial({uniforms:{map:{value:null}},vertexShader:"\n void main() {\n gl_Position = vec4(0, 0, 0, 0);\n }\n ",fragmentShader:"\n uniform sampler2D map;\n void main() {\n gl_FragColor = texture2D(map, vec2(0, 0));\n }\n ",depthTest:!1,depthWrite:!1,stencilWrite:!1,colorWrite:!1,blending:n.NoBlending,lights:!1,toneMapped:!1}),co=new n.RawShaderMaterial({uniforms:{map:{value:null}},vertexShader:"\n void main() {\n gl_Position = vec4(0, 0, 0, 0);\n }\n ",fragmentShader:"\n uniform samplerCube map;\n void main() {\n gl_FragColor = textureCube(map, vec3(0, 0, 0));\n }\n ",depthTest:!1,depthWrite:!1,stencilWrite:!1,blending:n.NoBlending,lights:!1,toneMapped:!1}),uo=Promise.resolve();const po=i.Reader,ho=i.util,fo=i.roots["@REALSEE/FIVE:five/loaders/model/proto/pbm.proto"]||(i.roots["@REALSEE/FIVE:five/loaders/model/proto/pbm.proto"]={}),vo=fo.Model=(()=>{function e(e){if(this.chunks=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.chunks=ho.emptyArray,e.prototype.createAt=ho.Long?ho.Long.fromBits(0,0,!0):0,e.prototype.description="",e.decode=function(e,t){e instanceof po||(e=po.create(e));let r=void 0===t?e.len:e.pos+t,n=new fo.Model;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.chunks&&n.chunks.length||(n.chunks=[]),n.chunks.push(fo.Chunk.decode(e,e.uint32()));break;case 2:n.createAt=e.uint64();break;case 3:n.description=e.string();break;default:e.skipType(7&t)}}return n},e})();function mo(e,t){var r,i,o,a={byteLength:0},s=Eo(null!==(r=t.textureOptions)&&void 0!==r?r:{},null!==(o=null===(i=t.textureArray)||void 0===i?void 0:i.length)&&void 0!==o?o:0),l={};if(t.textureArray)for(var c=0,u=t.textureArray;c<u.length;c++){var d=u[c];l[d]=xo(d,s,t.fetcher)}return Promise.resolve().then((function(){return t.fetcher.ajax(e,{responseType:"arraybuffer"})})).then((function(e){return a.byteLength=e.body.byteLength,$i((function(){var t=new Uint8Array(e.body);return vo.decode(t)}))})).then((function(r){return $i((function(){var n,i;return wo(r,null!==(n=t.textureBaseUri)&&void 0!==n?n:function(){var t=e.lastIndexOf("/");if(t>=0){var r=e.slice(0,t)+"/";return/\/model\/$/.test(r)&&(r=r.replace(/\/model\/$/,"/materials/")),r}return""}(),(null!==(i=t.textureArray)&&void 0!==i?i:[]).slice(),s,l,t.fetcher)}))})).then((function(t){var r=new n.Group;r.renderOrder=-4,r.matrixAutoUpdate=!1,r.matrix.compose(r.position,r.quaternion,r.scale),r.name=e;for(var i=0,o=t.objects;i<o.length;i++){var s=o[i];r.add(s)}return t.texturePromise.then((function(){return{type:"pbm",uri:e,byteLength:a.byteLength,object:r,dispose:function(){return t.dispose()}}}))}))}fo.Chunk=(()=>{function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.vertices=null,e.prototype.faces=null,e.prototype.name="",e.prototype.texture="",e.decode=function(e,t){e instanceof po||(e=po.create(e));let r=void 0===t?e.len:e.pos+t,n=new fo.Chunk;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.vertices=fo.Vertices.decode(e,e.uint32());break;case 2:n.faces=fo.Faces.decode(e,e.uint32());break;case 3:n.name=e.string();break;case 4:n.texture=e.string();break;default:e.skipType(7&t)}}if(!n.hasOwnProperty("vertices"))throw ho.ProtocolError("missing required 'vertices'",{instance:n});if(!n.hasOwnProperty("faces"))throw ho.ProtocolError("missing required 'faces'",{instance:n});if(!n.hasOwnProperty("name"))throw ho.ProtocolError("missing required 'name'",{instance:n});return n},e})(),fo.VertexMark=(()=>{const e={},t=Object.create(e);return t[e[0]="VERTEX_MARK_UNSPECIFIED"]=0,t[e[1]="VERTEX_MARK_ROOF"]=1,t})(),fo.Vertices=(()=>{function e(e){if(this.xyz=[],this.uvs=[],this.marks=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.xyz=ho.emptyArray,e.prototype.uvs=ho.emptyArray,e.prototype.marks=ho.emptyArray,e.decode=function(e,t){e instanceof po||(e=po.create(e));let r=void 0===t?e.len:e.pos+t,n=new fo.Vertices;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:if(n.xyz&&n.xyz.length||(n.xyz=[]),2==(7&t)){let t=e.uint32()+e.pos;for(;e.pos<t;)n.xyz.push(e.float())}else n.xyz.push(e.float());break;case 2:if(n.uvs&&n.uvs.length||(n.uvs=[]),2==(7&t)){let t=e.uint32()+e.pos;for(;e.pos<t;)n.uvs.push(e.float())}else n.uvs.push(e.float());break;case 3:if(n.marks&&n.marks.length||(n.marks=[]),2==(7&t)){let t=e.uint32()+e.pos;for(;e.pos<t;)n.marks.push(e.int32())}else n.marks.push(e.int32());break;default:e.skipType(7&t)}}return n},e})(),fo.Faces=(()=>{function e(e){if(this.indices=[],this.normals=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.indices=ho.emptyArray,e.prototype.normals=ho.emptyArray,e.decode=function(e,t){e instanceof po||(e=po.create(e));let r=void 0===t?e.len:e.pos+t,n=new fo.Faces;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:if(n.indices&&n.indices.length||(n.indices=[]),2==(7&t)){let t=e.uint32()+e.pos;for(;e.pos<t;)n.indices.push(e.uint32())}else n.indices.push(e.uint32());break;case 2:if(n.normals&&n.normals.length||(n.normals=[]),2==(7&t)){let t=e.uint32()+e.pos;for(;e.pos<t;)n.normals.push(e.float())}else n.normals.push(e.float());break;default:e.skipType(7&t)}}return n},e})();var Ao=(new n.Matrix4).set(1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1).elements;function go(e){var t=e.match(/(group|floor)-?(\d+)/);return t?parseInt(t[2],10):0}function yo(e){var t=e.match(/(chunk)-?(\d+)/);return t?parseInt(t[2],10):0}function bo(e){var t=go(e.name),r=yo(e.name),n=function(e){var t=e.match(/(sub)-?(\d+)/);return t?parseInt(t[2],10):0}(e.name);return 1e6*t+1e3*r+n}function xo(e,t,r,i){var o=ie({key:"texture.pbm"},eo(t,["format","quality","size","sharpen","mappings"])),a=(new zt).loadTexture(e,{imageURL:{transform:t.transform,options:o},wrapS:n.ClampToEdgeWrapping,wrapT:n.ClampToEdgeWrapping,minFilter:n.LinearFilter,maxSize:"number"==typeof o.size?new n.Vector2(o.size,o.size):void 0,fetcher:r}).then((function(e){var t=e.body;return t.needsUpdate=!0,function(e,t){if(!t)return Promise.resolve(e);var r=t.getRenderTarget();t.setRenderTarget(no),e instanceof n.CubeTexture?(ao.material=co,co.uniforms.map.value=e,t.render(so,io),co.uniforms.map.value=null):(ao.material=lo,lo.uniforms.map.value=e,t.render(so,io),co.uniforms.map.value=null),t.setRenderTarget(r);var i=uo.then((function(){return new Promise((function(t){Ne.shared.add((function(){t(e)}),!0)}))}));return uo=i.catch((function(){})),i}(t,i)}));return Object.assign(a,{url:e,textureOptions:t})}function wo(e,t,r,i,o,a,s){void 0===o&&(o={});for(var l=function(e){for(var t,r,n,i="number"==typeof e.createAt?e.createAt:null===e.createAt||void 0===e.createAt?0:e.createAt.toNumber(),o=null!==(t=e.description)&&void 0!==t?t:"",a=[],s=!0,l=!0,c=0,u=e.chunks;c<u.length;c++)if(!(ie=u[c]).vertices.marks||0===ie.vertices.marks.length){l=!1;break}for(var d=0,p=e.chunks;d<p.length;d++)if(!(ie=p[d]).faces.normals||0===ie.faces.normals.length){s=!1;break}for(var h=e.chunks.sort((function(e,t){return bo(e)-bo(t)})),f=[],v=0,m=h;v<m.length;v++){var A=go((ie=m[v]).name);f[A]||(f[A]=[]),f[A].push(ie)}for(var g=0;g<f.length;g++){var y=f[g];if(y)if(s){for(var b=0,x=0;x<y.length;x++)b+=(ie=y[x]).faces.indices.length;for(var w=new Float32Array(3*b),E=new Float32Array(b),M=new Float32Array(2*b),C=new Float32Array(3*b),S=[],I=[1/0,1/0,1/0,-1/0,-1/0,-1/0],P=0,T=0;T<y.length;T++){var B=[1/0,1/0,1/0,-1/0,-1/0,-1/0],R=(ie=y[T]).vertices.xyz,k=ie.vertices.uvs,O=ie.faces.indices,F=ie.faces.normals,D=ie.vertices.marks,Q=O.length;for(x=0;x<Q;x++){var L=O[x],N=R[3*L],V=R[3*L+1],z=R[3*L+2],j=1/(Ao[3]*N+Ao[7]*V+Ao[11]*z+Ao[15]),U=(Ao[0]*N+Ao[4]*V+Ao[8]*z+Ao[12])*j,q=(Ao[1]*N+Ao[5]*V+Ao[9]*z+Ao[13])*j,_=(Ao[2]*N+Ao[6]*V+Ao[10]*z+Ao[14])*j;w[3*P+3*x]=U,w[3*P+3*x+1]=q,w[3*P+3*x+2]=_,E[P+x]=l?D[L]:0,M[2*P+2*x]=k[2*L],M[2*P+2*x+1]=k[2*L+1];var H=3*Math.floor(x/3),G=F[H],K=F[H+1],W=F[H+2],Y=1/(Ao[3]*G+Ao[7]*K+Ao[11]*W+Ao[15]),X=(Ao[0]*G+Ao[4]*K+Ao[8]*W+Ao[12])*Y,J=(Ao[1]*G+Ao[5]*K+Ao[9]*W+Ao[13])*Y,Z=(Ao[2]*G+Ao[6]*K+Ao[10]*W+Ao[14])*Y;C[3*P+3*x]=X,C[3*P+3*x+1]=J,C[3*P+3*x+2]=Z,U<B[0]&&(B[0]=U),q<B[1]&&(B[1]=q),_<B[2]&&(B[2]=_),U>B[3]&&(B[3]=U),q>B[4]&&(B[4]=q),_>B[5]&&(B[5]=_)}B[0]<I[0]&&(I[0]=B[0]),B[1]<I[1]&&(I[1]=B[1]),B[2]<I[2]&&(I[2]=B[2]),B[3]>I[3]&&(I[3]=B[3]),B[4]>I[4]&&(I[4]=B[4]),B[5]>I[5]&&(I[5]=B[5]),S.push({materialIndex:T,name:ie.name,chunkName:yo(ie.name),start:P,count:ie.faces.indices.length,texture:null!==(r=ie.texture)&&void 0!==r?r:void 0}),P+=Q}var $={createAt:i,description:o,vertices:w,uvs:M,normals:C,indices:null,floorIndex:g,groups:S,extents:I,vertexMarks:E};a.push($)}else{b=0;var ee=0;for(x=0;x<y.length;x++)ee+=(ie=y[x]).vertices.xyz.length/3,b+=ie.faces.indices.length;w=new Float32Array(3*ee),M=new Float32Array(2*ee),C=new Float32Array(3*ee);var te=new Float32Array(ee),re=new Uint32Array(b),ne=(E=new Float32Array(b),S=[],I=[1/0,1/0,1/0,-1/0,-1/0,-1/0],0);for(P=0,T=0;T<y.length;T++){B=[1/0,1/0,1/0,-1/0,-1/0,-1/0],R=(ie=y[T]).vertices.xyz,D=ie.vertices.marks,k=ie.vertices.uvs,O=ie.faces.indices;var ie,oe=R.length/3;for(Q=O.length,x=0;x<oe;x++)N=R[3*x],V=R[3*x+1],z=R[3*x+2],j=1/(Ao[3]*N+Ao[7]*V+Ao[11]*z+Ao[15]),U=(Ao[0]*N+Ao[4]*V+Ao[8]*z+Ao[12])*j,q=(Ao[1]*N+Ao[5]*V+Ao[9]*z+Ao[13])*j,_=(Ao[2]*N+Ao[6]*V+Ao[10]*z+Ao[14])*j,w[3*P+3*x]=U,w[3*P+3*x+1]=q,w[3*P+3*x+2]=_,E[P+x]=l?D[x]:0,M[2*P+2*x]=k[2*x],M[2*P+2*x+1]=k[2*x+1],te[P+x]=g,U<B[0]&&(B[0]=U),q<B[1]&&(B[1]=q),_<B[2]&&(B[2]=_),U>B[3]&&(B[3]=U),q>B[4]&&(B[4]=q),_>B[5]&&(B[5]=_);for(B[0]<I[0]&&(I[0]=B[0]),B[1]<I[1]&&(I[1]=B[1]),B[2]<I[2]&&(I[2]=B[2]),B[3]>I[3]&&(I[3]=B[3]),B[4]>I[4]&&(I[4]=B[4]),B[5]>I[5]&&(I[5]=B[5]),x=0;x<Q;x++)re[ne+x]=P+O[x];S.push({materialIndex:T,name:ie.name,chunkName:yo(ie.name),start:ne,count:ie.faces.indices.length,texture:null!==(n=ie.texture)&&void 0!==n?n:void 0}),P+=oe,ne+=Q}for(x=0;x<b;x+=3){var ae,se,le,ce,ue,de,pe,he,fe,ve,me,Ae,ge,ye,be,xe;G=void 0,K=void 0,W=void 0,ae=3*re[x],se=3*re[x+1],le=3*re[x+2],ce=w[ae],ue=w[ae+1],de=w[ae+2],pe=w[se],he=w[se+1],fe=w[se+2],ve=w[le],G=(Ae=w[le+1]-he)*(xe=de-fe)-(ge=w[le+2]-fe)*(be=ue-he),K=ge*(ye=ce-pe)-(me=ve-pe)*xe,W=me*be-Ae*ye,C[ae]+=G,C[ae+1]+=K,C[ae+2]+=W,C[se]+=G,C[se+1]+=K,C[se+2]+=W,C[le]+=G,C[le+1]+=K,C[le+2]+=W}$={createAt:i,description:o,vertices:w,uvs:M,normals:C,indices:re,floorIndex:g,groups:S,extents:I,vertexMarks:E},a.push($)}}return a}(e),c=0,u="",d=[],p={},h=new Set,f=0,v=l;f<v.length;f++){var m=v[f],A=m.createAt,g=m.description,y=m.vertices,b=m.vertexMarks,x=m.uvs,w=m.normals,E=m.indices,M=m.floorIndex,C=m.groups,S=m.extents,I=new n.Box3;I.min.x=S[0],I.min.y=S[1],I.min.z=S[2],I.max.x=S[3],I.max.y=S[4],I.max.z=S[5];var P=new n.BufferGeometry;P.setAttribute("position",new n.BufferAttribute(y,3)),P.setAttribute("uv",new n.BufferAttribute(x,2)),P.setAttribute("normal",new n.BufferAttribute(w,3)),P.setAttribute("isRoofMark",new n.BufferAttribute(b,1)),E&&P.setIndex(new n.BufferAttribute(E,1)),P.boundingBox=I,P.boundingSphere=I.getBoundingSphere(new n.Sphere);for(var T=0,B=C;T<B.length;T++){var R=B[T];P.addGroup(R.start,R.count,R.materialIndex)}h.add(P);for(var k=[],O=0,F=C;O<F.length;O++){R=F[O];var D=r[R.chunkName]||(R.texture?$r(t||"",R.texture):void 0),Q=new Ht;Q.defines.USE_VERTEX_FLOOR=!1,Q.floor=M,k.push(Q),D?p[D]?p[D].push(Q):p[D]=[Q]:(Q.defines.USE_MAP=!1,Q.uniforms.diffuse.value=new n.Color(16777215)),h.add(Q)}var L=new tt(P,k);L.name="model_floor_"+M,L.userData.createAt=A,L.userData.description=g,L.matrix.compose(L.position,L.quaternion,L.scale),L.matrixAutoUpdate=!1,L.frustumCulled=!1,L.renderOrder=-1e3+M,c=A,u=g,d.push(L)}var N="",V=function(e){e=Eo(e,r.length);var t=[],i=ro(e);if(N===i)return Promise.resolve();N=i;for(var l=function(r){var l=null;r in o&&(ro(o[r].textureOptions)===ro(e)?l=o[r]:o[r].then((function(e){return e.dispose()}))),l||(l=xo(r,e,a,s)),t.push(l.then((function(e){if(N===i)for(var t=0,n=p[r];t<n.length;t++){var o=n[t];o.uniforms.map.value&&(h.delete(o.uniforms.map.value),o.uniforms.map.value.dispose()),o.uniforms.map.value=e,h.add(e),o.uniforms.exposure.value=3.3}else e.dispose()})).catch((function(){if(N===i)for(var e=0,t=p[r];e<t.length;e++){var o=t[e];o.uniforms.map.value&&(h.delete(o.uniforms.map.value),o.uniforms.map.value.dispose()),o.uniforms.map.value=null,o.defines.USE_MAP=!1,o.uniforms.diffuse.value=new n.Color(16777215)}})))},c=0,u=Object.keys(p);c<u.length;c++){l(d=u[c])}for(var d in o)delete o[d];return Promise.all(t).then((function(){}))};return{createAt:c,description:u,objects:d,texturePromise:V(i),updateTexture:V,dispose:function(){h.forEach((function(e){e.dispose()})),h.clear()}}}function Eo(e,t){return!1!==(e=Object.assign({},e)).autoResize&&(t>96?e.size=Math.min(e.size||1/0,100):t>48?e.size=Math.min(e.size||1/0,200):t>24?e.size=Math.min(e.size||1/0,400):t>22?e.size=Math.min(e.size||1/0,800):t>5&&(e.size=Math.min(e.size||1/0,1024))),e}function Mo(e,t){var r,i,o,a=0,s=Eo(null!==(r=t.textureOptions)&&void 0!==r?r:{},null!==(o=null===(i=t.textureArray)||void 0===i?void 0:i.length)&&void 0!==o?o:0),l={};if(t.textureArray)for(var c=0,u=t.textureArray;c<u.length;c++){var d=u[c];l[d]=xo(d,s,t.fetcher)}return Promise.resolve().then((function(){return t.fetcher.ajax(e,{responseType:"arraybuffer"})})).then((function(e){return Yi(e.body)})).then((function(e){return $i((function(){for(var t,r={chunks:[],createAt:void 0,description:void 0},n=0,i=e;n<i.length;n++){var o=i[n],a=vo.decode(o);a.chunks.length&&((t=r.chunks).push.apply(t,a.chunks),r.createAt=a.createAt,r.description=a.description)}return r}))})).then((function(r){return $i((function(){var n,i,o;return wo(r,null!==(n=t.textureBaseUri)&&void 0!==n?n:function(){var t=e.lastIndexOf("/");if(t>=0){var r=e.slice(0,t)+"/";return/\/model\/$/.test(r)&&(r=r.replace(/\/model\/$/,"/materials/")),r}return""}(),(null!==(i=t.textureArray)&&void 0!==i?i:[]).slice(),null!==(o=t.textureOptions)&&void 0!==o?o:{},l,t.fetcher)}))})).then((function(t){var r=new n.Group;r.renderOrder=-4,r.name=e;for(var i=0,o=t.objects;i<o.length;i++){var s=o[i];r.add(s)}return t.texturePromise.then((function(){return{type:"at3d",uri:e,byteLength:a,object:r,dispose:function(){return t.dispose()}}}))}))}const Co=i.Reader,So=i.util,Io=i.roots["@REALSEE/FIVE:five/loaders/model/proto/dome.proto"]||(i.roots["@REALSEE/FIVE:five/loaders/model/proto/dome.proto"]={}),Po=Io.Model=(()=>{function e(e){if(this.meshes=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.meshes=So.emptyArray,e.decode=function(e,t){e instanceof Co||(e=Co.create(e));let r=void 0===t?e.len:e.pos+t,n=new Io.Model;for(;e.pos<r;){let t=e.uint32();if(t>>>3==1)n.meshes&&n.meshes.length||(n.meshes=[]),n.meshes.push(Io.Mesh.decode(e,e.uint32()));else e.skipType(7&t)}return n},e})();function To(e,t){var r={byteLength:0};return Promise.resolve().then((function(){return t.fetcher.ajax(e,{responseType:"arraybuffer"})})).then((function(e){return r.byteLength=e.body.byteLength,Fo(new Uint8Array(e.body),t.textureBaseUri||"",t.textureOptions,t.fetcher)})).then((function(t){var i=new n.Group;i.renderOrder=-4,i.matrixAutoUpdate=!1,i.matrix.compose(i.position,i.quaternion,i.scale),i.name=e;for(var o=0,a=t.objects;o<a.length;o++){var s=a[o];i.add(s)}return t.texturePromise.then((function(){return{type:"dome",uri:e,byteLength:r.byteLength,object:i,dispose:function(){return t.dispose()}}}))}))}function Bo(e){for(var t=[0,0,0],r=0;r<e.attributes.normal.array.length/9;r++)t[0]=e.attributes.normal.array[9*r],t[1]=e.attributes.normal.array[9*r+1],t[2]=e.attributes.normal.array[9*r+2],e.attributes.normal.array[9*r]=e.attributes.normal.array[9*r+6],e.attributes.normal.array[9*r+1]=e.attributes.normal.array[9*r+7],e.attributes.normal.array[9*r+2]=e.attributes.normal.array[9*r+8],e.attributes.normal.array[9*r+6]=t[0],e.attributes.normal.array[9*r+7]=t[1],e.attributes.normal.array[9*r+8]=t[2];for(r=0;r<e.attributes.position.array.length/9;r++)t[0]=e.attributes.position.array[9*r],t[1]=e.attributes.position.array[9*r+1],t[2]=e.attributes.position.array[9*r+2],e.attributes.position.array[9*r]=e.attributes.position.array[9*r+6],e.attributes.position.array[9*r+1]=e.attributes.position.array[9*r+7],e.attributes.position.array[9*r+2]=e.attributes.position.array[9*r+8],e.attributes.position.array[9*r+6]=t[0],e.attributes.position.array[9*r+7]=t[1],e.attributes.position.array[9*r+8]=t[2];for(r=0;r<e.attributes.uv.array.length/6;r++)t[0]=e.attributes.uv.array[6*r],t[1]=e.attributes.uv.array[6*r+1],e.attributes.uv.array[6*r]=e.attributes.uv.array[6*r+4],e.attributes.uv.array[6*r+1]=e.attributes.uv.array[6*r+5],e.attributes.uv.array[6*r+4]=t[0],e.attributes.uv.array[6*r+5]=t[1];e.attributes.normal.needsUpdate=!0,e.attributes.position.needsUpdate=!0,e.attributes.uv.needsUpdate=!0}function Ro(e){var t=e.position,r=e.normal,i=e.uv,o=e.uv2,a=e.groups,s=new n.BufferGeometry;s.setAttribute("position",new n.BufferAttribute(new Float32Array(t.array),3)),r&&s.setAttribute("normal",new n.BufferAttribute(new Float32Array(r.array),3)),i&&s.setAttribute("uv",new n.BufferAttribute(new Float32Array(i.array),2)),o&&s.setAttribute("uv2",new n.BufferAttribute(new Float32Array(o.array),2));for(var l=0,c=a;l<c.length;l++){var u=c[l];s.addGroup(u.start,u.count,u.materialIndex)}return s}function ko(e,t,r,i,o,a,s){if(s.hasOwnProperty(e))return s[e];en(e=e.split("?")[0])||(e=$r(t,e)),0===(e=e.replace(/\/\/vrlab-image\d*.ljcdn.com\//,"//vrlab-public.ljcdn.com/")).indexOf("//")&&(e="https:"+e);var l=ie({key:"texture.dome",size:64},eo(r,["quality","format","sharpen","mappings"]));return s[e]=o.loadTexture(e,{imageURL:{transform:r.transform,options:l},wrapS:n.RepeatWrapping,wrapT:n.RepeatWrapping,fetcher:a}).then((function(e){var t=e.body;return i&&t.repeat.copy(i),t.needsUpdate=!0,t.updateMatrix(),t}))}function Oo(e,t,r,i,o,a,s){var l=[],c=new Ht;s.add(c);var u=c.uniforms;u.exposure.value=4.3;var d=c.defines;if(d.USE_MAP=!1,d.USE_UV=!1,e.kd&&(u.diffuse.value=(new n.Color).fromArray(e.kd.rgb)),e.mapkd){var p=null;if(e.mapkdrepeat){var h=e.mapkdrepeat.split(/\s+/).map((function(e){return Number(e)})),f=h[0],v=h[1];p=new n.Vector2(f,v)}l.push(ko(e.mapkd,t,r,p,i,o,a).then((function(e){d.USE_MAP=!0,d.USE_UV=!0,u.map.value=e,s.add(e),u.uvTransform.value=e.matrix,c.needsUpdate=!0})).catch(fe))}if(e.ks&&(u.specular.value=(new n.Color).fromArray(e.ks.rgb)),e.mapks&&l.push(ko(e.mapks,t,r,null,i,o,a).then((function(e){u.specularMap.value=e,s.add(e)})).catch(fe)),e.ke&&(u.emissive.value=(new n.Color).fromArray(e.ke.rgb)),e.mapke&&l.push(ko(e.mapke,t,r,null,i,o,a).then((function(e){u.emissiveMap.value=e,s.add(e)})).catch(fe)),e.norm&&l.push(ko(e.norm,t,r,null,i,o,a).then((function(e){u.normalMap.value=e,s.add(e)})).catch(fe)),e.mapbump&&l.push(ko(e.mapbump,t,r,null,i,o,a).then((function(e){u.bumpMap.value=e,s.add(e)})).catch(fe)),e.bump&&l.push(ko(e.bump,t,r,null,i,o,a).then((function(e){u.bumpMap.value=e,s.add(e)})).catch(fe)),"number"==typeof e.ns&&(u.shininess.value=e.ns),"number"==typeof e.d){var m=e.d;m>0&&m<1&&(c.opacity=m)}return c.floor=0,c.defines.USE_VERTEX_FLOOR=!1,{material:c,textureReady:Promise.all(l).then(fe)}}function Fo(e,t,r,i){for(var o,a=[],s=[],l=new Set,c=(o=e,Po.decode(o).meshes),u=new zt,d=new n.Matrix4,p=new n.Vector3,h=new n.Quaternion,f=new n.Vector3,v={},m=0,A=c;m<A.length;m++){var g=A[m],y=g.name,b=g.chunks,x=g.matrix;if("Ceiling"!==y&&"CeilingDrop"!==y)for(var w=0,E=x;w<E.length;w++){var M=E[w];d.elements=M.elements;var C=new n.Group;C.renderOrder=-4;for(var S=0;S<b.length;S++){var I=Ro(b[S].geometry);I.applyMatrix4(d),d.decompose(p,h,f),f.x*f.y*f.z<0&&I.attributes.normal&&I.attributes.position&&I.attributes.uv&&Bo(I),l.add(I);for(var P=[],T=0,B=b[S].material;T<B.length;T++){var R=Oo(B[T],t||"",r,u,i,v,l),k=R.material,O=R.textureReady;s.push(O),P.push(k)}var F=new tt(I,P);F.name="chunk_"+S,F.matrix.compose(F.position,F.quaternion,F.scale),F.matrixAutoUpdate=!1,F.frustumCulled=!1,F.renderOrder=-1e3,C.add(F)}C.name=y,a.push(C)}}return{createAt:0,description:"",objects:a,texturePromise:Promise.all(s).catch(fe),updateTexture:function(e){return Promise.resolve()},dispose:function(){l.forEach((function(e){e.dispose()})),l.clear()}}}function Do(e,t){var r={byteLength:0};return Promise.resolve().then((function(){return t.fetcher.ajax(e,{responseType:"arraybuffer"})})).then((function(e){return r.byteLength=e.body.byteLength,Yi(e.body)})).then((function(e){var t=e.reduce((function(e,t){return e+t.length}),0),r=new Uint8Array(t),n=0;return e.forEach((function(e){r.set(e,n),n+=e.length})),r})).then((function(e){return Fo(e,t.textureBaseUri||"",t.textureOptions,t.fetcher)})).then((function(t){var i=new n.Group;i.renderOrder=-4,i.name=e;for(var o=0,a=t.objects;o<a.length;o++){var s=a[o];i.add(s)}return t.texturePromise.then((function(){return{type:"domez",uri:e,byteLength:r.byteLength,object:i,dispose:function(){return t.dispose()}}}))}))}Io.Mesh=(()=>{function e(e){if(this.chunks=[],this.matrix=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.name="",e.prototype.chunks=So.emptyArray,e.prototype.matrix=So.emptyArray,e.decode=function(e,t){e instanceof Co||(e=Co.create(e));let r=void 0===t?e.len:e.pos+t,n=new Io.Mesh;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.name=e.string();break;case 2:n.chunks&&n.chunks.length||(n.chunks=[]),n.chunks.push(Io.Chunk.decode(e,e.uint32()));break;case 3:n.matrix&&n.matrix.length||(n.matrix=[]),n.matrix.push(Io.Matrix.decode(e,e.uint32()));break;default:e.skipType(7&t)}}if(!n.hasOwnProperty("name"))throw So.ProtocolError("missing required 'name'",{instance:n});return n},e})(),Io.Matrix=(()=>{function e(e){if(this.elements=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.elements=So.emptyArray,e.decode=function(e,t){e instanceof Co||(e=Co.create(e));let r=void 0===t?e.len:e.pos+t,n=new Io.Matrix;for(;e.pos<r;){let t=e.uint32();if(t>>>3==1)if(n.elements&&n.elements.length||(n.elements=[]),2==(7&t)){let t=e.uint32()+e.pos;for(;e.pos<t;)n.elements.push(e.float())}else n.elements.push(e.float());else e.skipType(7&t)}return n},e})(),Io.Chunk=(()=>{function e(e){if(this.material=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.geometry=null,e.prototype.material=So.emptyArray,e.decode=function(e,t){e instanceof Co||(e=Co.create(e));let r=void 0===t?e.len:e.pos+t,n=new Io.Chunk;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 2:n.geometry=Io.Geometry.decode(e,e.uint32());break;case 3:n.material&&n.material.length||(n.material=[]),n.material.push(Io.Material.decode(e,e.uint32()));break;default:e.skipType(7&t)}}if(!n.hasOwnProperty("geometry"))throw So.ProtocolError("missing required 'geometry'",{instance:n});return n},e})(),Io.Geometry=(()=>{function e(e){if(this.groups=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.position=null,e.prototype.uv=null,e.prototype.uv2=null,e.prototype.normal=null,e.prototype.groups=So.emptyArray,e.decode=function(e,t){e instanceof Co||(e=Co.create(e));let r=void 0===t?e.len:e.pos+t,n=new Io.Geometry;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.position=Io.Position.decode(e,e.uint32());break;case 2:n.uv=Io.UV.decode(e,e.uint32());break;case 3:n.uv2=Io.UV.decode(e,e.uint32());break;case 4:n.normal=Io.Normal.decode(e,e.uint32());break;case 5:n.groups&&n.groups.length||(n.groups=[]),n.groups.push(Io.Group.decode(e,e.uint32()));break;default:e.skipType(7&t)}}if(!n.hasOwnProperty("position"))throw So.ProtocolError("missing required 'position'",{instance:n});if(!n.hasOwnProperty("normal"))throw So.ProtocolError("missing required 'normal'",{instance:n});return n},e})(),Io.Position=(()=>{function e(e){if(this.array=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.array=So.emptyArray,e.decode=function(e,t){e instanceof Co||(e=Co.create(e));let r=void 0===t?e.len:e.pos+t,n=new Io.Position;for(;e.pos<r;){let t=e.uint32();if(t>>>3==1)if(n.array&&n.array.length||(n.array=[]),2==(7&t)){let t=e.uint32()+e.pos;for(;e.pos<t;)n.array.push(e.float())}else n.array.push(e.float());else e.skipType(7&t)}return n},e})(),Io.UV=(()=>{function e(e){if(this.array=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.array=So.emptyArray,e.decode=function(e,t){e instanceof Co||(e=Co.create(e));let r=void 0===t?e.len:e.pos+t,n=new Io.UV;for(;e.pos<r;){let t=e.uint32();if(t>>>3==1)if(n.array&&n.array.length||(n.array=[]),2==(7&t)){let t=e.uint32()+e.pos;for(;e.pos<t;)n.array.push(e.float())}else n.array.push(e.float());else e.skipType(7&t)}return n},e})(),Io.Normal=(()=>{function e(e){if(this.array=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.array=So.emptyArray,e.decode=function(e,t){e instanceof Co||(e=Co.create(e));let r=void 0===t?e.len:e.pos+t,n=new Io.Normal;for(;e.pos<r;){let t=e.uint32();if(t>>>3==1)if(n.array&&n.array.length||(n.array=[]),2==(7&t)){let t=e.uint32()+e.pos;for(;e.pos<t;)n.array.push(e.float())}else n.array.push(e.float());else e.skipType(7&t)}return n},e})(),Io.Group=(()=>{function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.start=0,e.prototype.count=0,e.prototype.materialIndex=0,e.decode=function(e,t){e instanceof Co||(e=Co.create(e));let r=void 0===t?e.len:e.pos+t,n=new Io.Group;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.start=e.uint32();break;case 2:n.count=e.uint32();break;case 3:n.materialIndex=e.uint32();break;default:e.skipType(7&t)}}if(!n.hasOwnProperty("start"))throw So.ProtocolError("missing required 'start'",{instance:n});if(!n.hasOwnProperty("count"))throw So.ProtocolError("missing required 'count'",{instance:n});if(!n.hasOwnProperty("materialIndex"))throw So.ProtocolError("missing required 'materialIndex'",{instance:n});return n},e})(),Io.Material=(()=>{function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.kd=null,e.prototype.ks=null,e.prototype.ke=null,e.prototype.mapkd="",e.prototype.mapks="",e.prototype.mapke="",e.prototype.norm="",e.prototype.mapbump="",e.prototype.bump="",e.prototype.mapd="",e.prototype.ns=0,e.prototype.d=0,e.prototype.tr=0,e.prototype.mapkdrepeat="",e.decode=function(e,t){e instanceof Co||(e=Co.create(e));let r=void 0===t?e.len:e.pos+t,n=new Io.Material;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.kd=Io.Color.decode(e,e.uint32());break;case 2:n.ks=Io.Color.decode(e,e.uint32());break;case 3:n.ke=Io.Color.decode(e,e.uint32());break;case 4:n.mapkd=e.string();break;case 5:n.mapks=e.string();break;case 6:n.mapke=e.string();break;case 7:n.norm=e.string();break;case 8:n.mapbump=e.string();break;case 9:n.bump=e.string();break;case 10:n.mapd=e.string();break;case 11:n.ns=e.float();break;case 12:n.d=e.float();break;case 13:n.tr=e.float();break;case 14:n.mapkdrepeat=e.string();break;default:e.skipType(7&t)}}return n},e})(),Io.Color=(()=>{function e(e){if(this.rgb=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.rgb=So.emptyArray,e.decode=function(e,t){e instanceof Co||(e=Co.create(e));let r=void 0===t?e.len:e.pos+t,n=new Io.Color;for(;e.pos<r;){let t=e.uint32();if(t>>>3==1)if(n.rgb&&n.rgb.length||(n.rgb=[]),2==(7&t)){let t=e.uint32()+e.pos;for(;e.pos<t;)n.rgb.push(e.float())}else n.rgb.push(e.float());else e.skipType(7&t)}return n},e})();var Qo=(new n.Matrix4).fromArray([1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1]);var Lo=new n.Vector3,No=new n.Matrix4,Vo=new n.Frustum;function zo(e,t){var r=t.tileset.properties.floorInfo;e.traverse((function(e){if("floor"in t.extras)e instanceof tt?(e.material.forEach((function(e){e.floor=t.extras.floor})),e.renderOrder=-1e3+t.extras.floor):e instanceof st&&(e.material.floor=t.extras.floor,e.renderOrder=-1e3+t.extras.floor);else if((e instanceof tt||e instanceof st)&&r){var i=e.geometry.index,o=e.geometry.getAttribute("position"),a=0,s=new Float32Array(o.count);if(r)if(i){for(u=0,d=i.count,p=0;p<d;p++){var l=i.array[p];Lo.set(o.array[3*l+0],o.array[3*l+1],o.array[3*l+2]),Lo.applyMatrix4(e.matrixWorld);h=Lo.y;s[l]=0;for(f=0;f<r.length;f++){var c=r[f];if(h<c.ground+c.height){s[l]=f;break}}u+=s[l]}a=u/d}else{for(var u=0,d=o.count,p=0;p<d;p++){Lo.set(o.array[3*p+0],o.array[3*p+1],o.array[3*p+2]),Lo.applyMatrix4(e.matrixWorld);var h=Lo.y;s[p]=0;for(var f=0;f<r.length;f++){var v=r[f];if(h<v.ground+v.height){s[p]=f;break}}u+=s[p]}a=u/d}e.renderOrder=-1e3+a,e.geometry.setAttribute("floor",new n.BufferAttribute(s,1)),Array.isArray(e.material)?e.material.forEach((function(e){e.defines.USE_VERTEX_FLOOR=!0,e.needsUpdate=!0})):(e.material.defines.USE_VERTEX_FLOOR=!0,e.material.needsUpdate=!0)}}))}var jo=function(e){function t(r,i,o,a){var s,l,c,u,d=this;(d=e.call(this)||this).model=r,d.objType=i,d.search=null!==(s=a.search)&&void 0!==s?s:"",d.unloadTileQueue=[],d.boundingBox=new n.Box3,d.minLevelOfDetail=t.DEFAULT_MIN_LEVEL_OF_DETAIL,d.maxLevelOfDetail=t.DEFAULT_MAX_LEVEL_OF_DETAIL,d.needsRefined=!0,d.refined=!1,d.refineProgress=[0,0],d.loaded=!1,d.disposed=!1,d.needsRender=!0,d.lastRefineTime=-1,d.matrixAutoUpdate=!1,d.renderOrder=-4,d.frameState=null,d.nodes=new Map,d.nodeGroup=new n.Group,d.nodeGroup.matrixAutoUpdate=!1,d.nodeGroup.renderOrder=-4,d.add(d.nodeGroup),d.debugBoundings=new Map,d.debugBoundingGroup=new n.Group,d.debugBoundingGroup.visible=!1,d.debugBoundingGroup.matrixAutoUpdate=!1,d.debugBoundingGroup.renderOrder=-4,d.add(d.debugBoundingGroup);var p=rn(o,null!==(l=a.resourcePath)&&void 0!==l?l:"");return d.tileset=new Or(null!==(u=null===(c=d.model.work)||void 0===c?void 0:c.workCode)&&void 0!==u?u:"",p,{contentLoader:function(e){return d.loadContent(e,{fetcher:a.fetcher})},onTileLoad:function(){},onTileUnload:function(e){d.unloadTileQueue.push(e)},onTileError:function(e,t){a.onError&&a.onError(Object.assign(t,{error:t})),console.error("Tile error",e.id,t)}}),d.tileset.root.boundingVolume&&d.tileset.root.boundingVolume.getBoundingBox(d.boundingBox),d}return ne(t,e),Object.defineProperty(t.prototype,"debug",{get:function(){return this.debugBoundingGroup.visible},set:function(e){this.debugBoundingGroup.visible!==e&&(this.debugBoundingGroup.visible=e,this.needsRender=!0)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxMemoryUsage",{get:function(){return this.tileset.maxMemoryUsage},set:function(e){this.tileset.maxMemoryUsage=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxRequests",{get:function(){return this.tileset.maxRequests},set:function(e){this.tileset.maxRequests=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxScreenSpaceError",{get:function(){return this.tileset.maxScreenSpaceError},set:function(e){this.tileset.maxScreenSpaceError=e},enumerable:!1,configurable:!0}),t.prototype.loadContent=function(e,t){var r=this;if(!e.content)return Promise.resolve(!1);var i=e.content,o=nn(i.uri,this.search);if("TILESET"===e.type){var a=_e(o,{key:"model.".concat(e.siblingIndex)});return t.fetcher.ajax(a,{responseType:"text"}).then((function(e){return e.body})).then((function(e){var t=a.slice(0,a.lastIndexOf("/")+1);return rn(JSON.parse(e),t)})).then((function(t){return e.geometricError=t.geometricError,0===e.children.length&&(e.children=[new Sr("".concat(e.id,".0"),t.root,e.tileset,e)]),!0}))}return"SCENEGRAPH"===e.type?Promise.resolve().then((function(){var r,i,a,s,l,c,u,d,p,h,f="",v=o.split("#"),m=v[0],A=(v[1]||m).split("?")[0].match(/\.([0-9a-zA-Z]+)$/);return A&&(f=A[1]),"b3dm"===f?Si(_e(o,{key:"model.".concat(e.siblingIndex)}),{upAxis:e.tileset.asset.gltfUpAxis,fetcher:t.fetcher}).then((function(t){return zo(t.object,e),t})):"pnts"===f?zi(_e(o,{key:"model.".concat(e.siblingIndex)}),{fetcher:t.fetcher}).then((function(t){return zo(t.object,e),t})):"glb"===f?function(e,t){var r=0;return Promise.resolve().then((function(){return t.fetcher.ajax(e,{responseType:"arraybuffer"}).then((function(e){return r=e.body.byteLength,e.body}))})).then((function(r){var n;return Mi(r,{copyUV2:!1,addonExtensions:["PBM_mesh"],resourcePath:e.slice(0,e.lastIndexOf("/")+1),search:null!==(n=e.split("?")[1])&&void 0!==n?n:"",fetcher:t.fetcher})})).then((function(i){var o=new n.Matrix4;if("Z"!==t.upAxis&&o.premultiply(Qo),i.CESIUM_RTC){var a=(new n.Matrix4).setPosition(i.CESIUM_RTC.center);o.premultiply(a)}var s=i.scene;return s.applyMatrix4(o),{type:"glb",uri:e,byteLength:r,object:s,dispose:function(){return i.dispose()}}}))}(_e(o,{key:"model.".concat(e.siblingIndex)}),{upAxis:e.tileset.asset.gltfUpAxis,fetcher:t.fetcher}).then((function(t){return zo(t.object,e),t})):"at3d"===f?Mo(e.extras.at3d?o:_e(o,{key:"model.".concat(e.siblingIndex)}),{textureBaseUri:null===(r=e.extras.at3d)||void 0===r?void 0:r.textureBaseUri,textureArray:null===(i=e.extras.at3d)||void 0===i?void 0:i.textureArray,textureOptions:null===(a=e.extras.at3d)||void 0===a?void 0:a.textureOptions,fetcher:t.fetcher}):"pbm"===f?mo(e.extras.pbm?o:_e(o,{key:"model.".concat(e.siblingIndex)}),{textureBaseUri:null===(s=e.extras.pbm)||void 0===s?void 0:s.textureBaseUri,textureArray:null===(l=e.extras.pbm)||void 0===l?void 0:l.textureArray,textureOptions:null===(c=e.extras.pbm)||void 0===c?void 0:c.textureOptions,fetcher:t.fetcher}):"dome"===f?To(e.extras.dome?o:_e(o,{key:"model.".concat(e.siblingIndex)}),{textureBaseUri:null===(u=e.extras.dome)||void 0===u?void 0:u.textureBaseUri,textureOptions:null===(d=e.extras.dome)||void 0===d?void 0:d.textureOptions,fetcher:t.fetcher}):"domez"===f?Do(e.extras.domez?o:_e(o,{key:"model.".concat(e.siblingIndex)}),{textureBaseUri:null===(p=e.extras.domez)||void 0===p?void 0:p.textureBaseUri,textureOptions:null===(h=e.extras.domez)||void 0===h?void 0:h.textureOptions,fetcher:t.fetcher}):void 0})).then((function(t){if(!t)return!1;var o={type:t.type,uri:t.uri,byteLength:t.byteLength,object:new Zr(t.object,r.objType,t.dispose)};if(r.disposed)return o.object.dispose(),i.data=void 0,i.byteLength=0,!1;if(o.object.traverse((function(e){(e instanceof st||e instanceof tt)&&(e.model=r.model)})),"pnts"!==o.type&&o.object.buildBvhTree(),"pnts"===t.type&&(t.object.material.uniforms.geometricError.value=e.geometricError),i.data=o,i.byteLength=o.byteLength,o.object.applyMatrix4(e.transform),o.object.updateWorldMatrix(!1,!0),o.object.matrixAutoUpdate=!1,o.object.traverse((function(e){e.renderOrder>-4&&(e.renderOrder=-4)})),o.object.visible=!1,r.boundingBox.expandByObject(o.object),r.nodes.set(e.id,o.object),r.nodeGroup.add(o.object),e.boundingVolume){var a=function(e,t){var r;if(e instanceof fr)return(r=new n.LineSegments(yr,gr[Math.min(t,gr.length-1)])).position.copy(e.center),pr(e.rotation,r.quaternion),r.scale.set(e.halfSize.x,e.halfSize.y,e.halfSize.z),r.matrix.compose(r.position,r.quaternion,r.scale),r;if(e instanceof vr)return(r=new n.LineSegments(br,gr[Math.min(t,gr.length-1)])).position.copy(e.center),r.scale.set(e.radius,e.radius,e.radius),r.matrix.compose(r.position,r.quaternion,r.scale),r;throw new Error("never")}(e.boundingVolume,e.state.selectionDepth);a.matrixWorldNeedsUpdate=!0,a.matrixAutoUpdate=!1,a.frustumCulled=!1,a.visible=!0,r.debugBoundings.set(e.id,a),r.debugBoundingGroup.add(a)}return!0})):Promise.resolve(!1)},t.prototype.intersectRaycaster=function(e,t){var r=this,n=[];return this.tileset.selectedTiles.forEach((function(t){var i;if(null===(i=t.content)||void 0===i?void 0:i.data){if(t.boundingVolume)if(!1===t.boundingVolume.clone().applyMatrix4(r.tileset.transfrom).intersectRay(e.ray))return;var o=t.content.data.object.intersectRaycaster(e);o.length&&n.push.apply(n,o)}})),t&&n.sort((function(e,t){return e.distance-t.distance})),n},t.prototype.update=function(e,t){var r,i,o=this;if(this.tileset.transfrom.equals(this.matrixWorld)||this.tileset.transfrom.copy(this.matrixWorld),this.needsRefined){var a=me();if(a-this.lastRefineTime>15){this.lastRefineTime=a,this.tileset.frameNumber++;var s=t.fov/180*Math.PI,l=2*Math.tan(.5*s);No.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),Vo.setFromProjectionMatrix(No);var c=(new hr).setFromFrustum(Vo),u={camera:{position:(new n.Vector3).copy(t.position),direction:t.getDirection(new n.Vector3),up:(new n.Vector3).copy(t.up)},minLevelOfDetail:this.visible?this.minLevelOfDetail:-1,maxLevelOfDetail:this.visible?this.maxLevelOfDetail:-1,height:t.screenHeight,pixelRatio:t.pixelRatio,frameNumber:this.tileset.frameNumber,sseDenominator:l,cullingVolume:c};this.tileset.cache.reset(),this.tileset.traverser.traverse(this.tileset.root,u),this.frameState=u,this.refined=!0,this.refineProgress[0]=0,this.refineProgress[1]=0,this.tileset.needsRefinedTiles.forEach((function(e){if(o.refineProgress[1]++,e.content&&e.state.visible){var t=e.content.loadState;if("UNLOADED"===t||"LOADING"===t)return void(o.refined=!1)}o.refineProgress[0]++})),!1===this.loaded&&(this.loaded=!0,this.tileset.needsRefinedTiles.forEach((function(e){if(!1!==o.loaded&&e.content&&e.state.visible&&0===e.state.selectionDepth){var t=e.content.loadState;"UNLOADED"!==t&&"LOADING"!==t||(o.loaded=!1)}})))}}for(this.tileset.tiles.forEach((function(e){var t=e.selected,n=e.id;(r=o.nodes.get(n))&&r.visible!==t&&(r.visible=t,o.needsRender=!0),(r=o.debugBoundings.get(n))&&r.visible!==t&&(r.visible=t,o.needsRender=!0)}));i=this.unloadTileQueue.pop();){var d=i.id,p=i.content;p&&p.data&&(p.data.object.dispose(),p.data=void 0,p.byteLength=0),(r=this.nodes.get(d))&&(this.nodeGroup.remove(r),this.nodes.delete(d),this.needsRender=!0),(r=this.debugBoundings.get(d))&&(this.debugBoundingGroup.remove(r),this.debugBoundings.delete(d),this.needsRender=!0)}},t.prototype.dispose=function(){var e,t,r=this;for(this.disposed=!0,this.tileset.reset();e=this.unloadTileQueue.pop();){var n=e.id,i=e.content;i&&i.data&&(i.data.object.dispose(),i.data=void 0,i.byteLength=0),(t=this.nodes.get(n))&&(this.nodeGroup.remove(t),this.nodes.delete(n),this.needsRender=!0),(t=this.debugBoundings.get(n))&&(this.debugBoundingGroup.remove(t),this.debugBoundings.delete(n),this.needsRender=!0)}this.nodes.forEach((function(e,t,n){r.nodeGroup.remove(e),e.dispose(),n.delete(t)}))},t.DEFAULT_MIN_LEVEL_OF_DETAIL=-1,t.DEFAULT_MAX_LEVEL_OF_DETAIL=20,t.DEFAULT_MAX_MEMORY_USAGE=16,t.DEFAULT_MAX_SCREEN_SPACE_ERROR=Or.DEFAULT_MAX_SCREEN_SPACE_ERROR,t.DEFAULT_MAX_REQUESTS=Or.DEFAULT_MAX_REQUESTS,t}(n.Object3D);function Uo(e,t){if(e===t)return!0;if(e&&t&&"object"==typeof e&&"object"==typeof t){if(e.constructor!==t.constructor)return!1;var r,n,i;if(Array.isArray(e)){if((r=e.length)!=t.length)return!1;for(n=r;0!=n--;)if(!Uo(e[n],t[n]))return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();if((r=(i=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(n=r;0!=n--;)if(!Object.prototype.hasOwnProperty.call(t,i[n]))return!1;for(n=r;0!=n--;){var o=i[n];if(!Uo(e[o],t[o]))return!1}return!0}return e!=e&&t!=t}function qo(e){return"number"==typeof e}var _o=function(){return new Error("Invalid input.")},Ho=function(){return new Error("Invalid certificate.")},Go=function(){return new Error("Invalid signature.")},Ko=function(e){return new Error("date(".concat(e.toString(),") expired."))},Wo=function(e){return new Error("host(".concat(JSON.stringify(e),") is not allowed."))};function Yo(e,t){void 0===t&&(t=!1);var r=typeof e;if("string"===r)return JSON.stringify(e);if(!0===e)return"true";if(!1===e)return"false";if(null===e)return"null";if(e instanceof Array){for(var n="[",i=e.length-1,o=0;o<i;o++)n+=Yo(e[o],!1)+",";return i>-1&&(n+=Yo(e[o],!1)),n+"]"}if(e instanceof Object){if("function"==typeof e.toJSON)return Yo(e.toJSON(),t);var a=Object.keys(e).sort(),s=a.length;for(n="",o=0;o<s;){var l=a[o],c=Yo(e[l],!0);void 0!==c&&(o&&""!==n&&(n+=","),n+=JSON.stringify(l)+":"+c),o++}return"{"+n+"}"}switch(r){case"function":case"undefined":return t?void 0:null;case"number":return 0;default:return isFinite(e)?e:null}}function Xo(e){return String(Yo(e,!1))}function Jo(e){var t,r,n;if(Array.isArray(e)){var i,o,a=void 0;if(e.length<=0)return _o();for(var s=function(t){var r=Jo(e[t]);if(r instanceof Error)return{value:r};if(a){if(a!==r.issuer)return{value:Ho()}}else a=r.issuer;i?r.expire.getTime()<i.getTime()&&(i=r.expire):i=r.expire,o=o?o.filter((function(e){return-1!==r.allowHosts.indexOf(e)})):r.allowHosts},l=0;l<e.length;l++){var c=s(l);if("object"==typeof c)return c.value}return Ae({issuer:a,expire:i,allowHosts:o})}var u=JSON.parse(e),d="undefined"!=typeof location?location.hostname:"",p=Date.now();if("object"!=typeof u)return _o();var h=new Date("string"==typeof u.expire_at&&/^\d+$/.test(u.expire_at)?Number(u.expire_at):u.expire_at),f=Array.isArray(u.allow_hosts)?u.allow_hosts:[];if(0===d.length||ye(d)||we.filter((function(e){return be(e,d)})).length>0){var v=String(null!==(t=u.certificate)&&void 0!==t?t:"");if(v){var m=new X;return m.readCertPEM(v),Ae({issuer:m.getSubjectString(),expire:h,allowHosts:f})}return Ae({issuer:"none",expire:h,allowHosts:f})}var A=String(null!==(r=u.certificate)&&void 0!==r?r:"");if(!A)return Ho();var g=new X;g.readCertPEM(A);var y=String(null!==(n=u._signature)&&void 0!==n?n:"");if(!y)return Go();var b=Xo(function(e,t){for(var r={},n=0,i=Object.keys(e);n<i.length;n++){var o=i[n];-1===t.indexOf(o)&&(r[o]=e[o])}return r}(u,["_signature"]));return!1===function(e,t,r){var n=new X;if("string"==typeof r?n.readCertPEM(r):n.readCertHex(r.hex),!1===te(n))return!1;var i=new S;return i.readCertPubKeyHex(n.hex,6),!!i.verify(e,E(t))}(b,y,g)?Go():p<h.getTime()?0===f.filter((function(e){return be(e,d)})).length?Wo(d):Ae({issuer:g.getSubjectString(),expire:h,allowHosts:f}):Ko(h)}var Zo=new n.Matrix4,$o=new WeakMap,ea=function(){function e(e,t){this.name="",this.workCode="",this.expire=new Date,this.allowHosts=[],this.initial={work:this},this.observers=[],this.issuer="none",this.raw={works:[""],options:""},this.options={transform:new n.Matrix4};var r=la(e,t,this);if(r instanceof Error)throw new Error("[PARSE FAILED]: "+r.message+"\nError work input:\n"+JSON.stringify(e))}return e.prototype.toJSON=function(){return this.raw},e.parse=ca,e}();function ta(e){return null==e?"null":Array.isArray(e)?"array":"object"==typeof e?"dict":"value"}function ra(e,t){var r=ta(e),n=ta(t);if("null"===n)return e;if("value"===n)return t;if(n!==r)return JSON.parse(JSON.stringify(t));if("array"===n)for(var i=0;i<t.length;i++)e[i]=ra(e[i],t[i]);else if("dict"===n)for(var o in t)e[o]=ra(e[o],t[o]);return e}function na(e,t){return 0===e.indexOf(t)}function ia(e,t,r,n){var i,o=t;if(!0===n.jsonp){o=t.replace(/([\?\#].*)?$/i,"");var a=J("".concat(o)).slice(0,7);o="".concat(o,".").concat(a,".jsonp")}if(!0===n.shortPath){var s=o.replace(e,"").split("."),l=null!==(i=s.shift())&&void 0!==i?i:"",c=s.join(".");o=$r(e,J(l))+(c?"."+c:"")}var u=o.replace(e,"");return n.baseURL&&(o=$r(n.baseURL,u)),o}function oa(e,t,r,n,i){var o=r;return en(r)||(t&&(t=$r(t,String(n))),o=$r(t,o)),en(o)||(o=$r(e,o)),na(o,e)||console.warn("".concat(o," is not start with base_url(").concat(e,").")),ia(e,o,0,i)}function aa(e,t,r){var n=t;return en(n)||(n=$r(e,t)),na(n,e)||console.warn("".concat(n," is not start with base_url(").concat(e,").")),ia(e,n,0,r)}function sa(e,t,r,n){var i=t;return en(i)||(i=$r(r,i)),en(i)||(i=$r(e,i)),na(i,e)||console.warn("".concat(i," is not start with base_url(").concat(e,").")),ia(e,i,0,n)}function la(e,t,r){for(var i,o,a,s,l,c,u,d,p,h,f,v,m,A,g,y,b,x,w=JSON.stringify(t),E=[],M=0,C=[].concat(e);M<C.length;M++){var S=C[M];S instanceof ea?E.push.apply(E,S.raw.works):"string"==typeof S?E.push(S):E.push(JSON.stringify(S))}var I=Jo(E);if(I instanceof Error)return I;t=JSON.parse(w);var P,T={transform:new n.Matrix4};if(void 0!==t.debug&&(T.debug=t.debug),t.transform&&(Array.isArray(t.transform)?T.transform.fromArray(t.transform):T.transform.copy(t.transform)),t.viewerRequestVolume&&("clone"in t.viewerRequestVolume?T.viewerRequestVolume=t.viewerRequestVolume.clone():T.viewerRequestVolume=Ar(t.viewerRequestVolume)),void 0!==t.modelMinLevelOfDetail&&t.modelMinLevelOfDetail>=0&&(T.modelMinLevelOfDetail=t.modelMinLevelOfDetail),void 0!==t.modelMaxLevelOfDetail&&t.modelMaxLevelOfDetail>=0&&(T.modelMaxLevelOfDetail=t.modelMaxLevelOfDetail),void 0!==t.modelMaxRequests&&t.modelMaxRequests>=0&&(T.modelMaxRequests=t.modelMaxRequests),void 0!==t.modelMaxMemoryUsage&&t.modelMaxMemoryUsage>=0&&(T.modelMaxMemoryUsage=t.modelMaxMemoryUsage),void 0!==t.modelMaxScreenSpaceError&&t.modelMaxScreenSpaceError>=0&&(T.modelMaxScreenSpaceError=t.modelMaxScreenSpaceError),Object.defineProperty(r,"options",{configurable:!1,get:function(){return T}}),e=E.map((function(e){return JSON.parse(e)})).reduce((function(e,t){return ra(e,t)})),Object.defineProperty(r,"raw",{configurable:!1,get:function(){return{works:E,options:w}}}),t.workCode&&("string"==typeof t.workCode?P=t.workCode:"function"==typeof t.workCode&&(P=t.workCode(e))),void 0===P&&(P=String(e.resource_code||e.basic_code||e.vr_code||e.code||e.project_id||e.work_code||e.workCode)),void 0===P)return new Error("WorkCode never matched.");Object.defineProperty(r,"workCode",{configurable:!1,get:function(){return P}});var B=String(e.name);if(Object.defineProperty(r,"name",{configurable:!1,get:function(){return B}}),I instanceof Error)return I;Object.defineProperty(r,"issuer",{configurable:!1,get:function(){return I.issuer}}),Object.defineProperty(r,"expire",{configurable:!1,get:function(){return I.expire}}),Object.defineProperty(r,"allowHosts",{configurable:!1,get:function(){return I.allowHosts}});var R=null!==(i=e.base_url)&&void 0!==i?i:"";if(R&&"/"!==R[R.length-1]&&(R+="/"),I instanceof Error)return I;if(e.model){var k,O,F,D={work:r,layers:[]};e.model.file?k=aa(R,e.model.file,t):e.model.file_url&&(k=aa(R,e.model.file_url,t)),Object.defineProperty(D,"file",{configurable:!1,get:function(){return k}}),e.model.textureBase?O=sa(R,"",e.model.textureBase,t):e.model.material_base_url?O=sa(R,"",e.model.material_base_url,t):D.file&&(O=D.file.split("/").slice(0,-1).join("/").replace("/model/","/materials/")),Object.defineProperty(D,"textureBase",{configurable:!1,get:function(){return O}}),Array.isArray(e.model.textures)?(F=e.model.textures.map((function(r){var n,i;return sa(R,r,null!==(i=null!==(n=e.model.textureBase)&&void 0!==n?n:e.model.material_base_url)&&void 0!==i?i:"",t)})),Object.freeze(F)):Array.isArray(e.model.material_textures)&&(F=e.model.material_textures.map((function(r){var n,i;return sa(R,r,null!==(i=null!==(n=e.model.textureBase)&&void 0!==n?n:e.model.material_base_url)&&void 0!==i?i:"",t)})),Object.freeze(F)),Object.defineProperty(D,"textures",{configurable:!1,get:function(){return F}});var Q=[];if(Array.isArray(e.model.tiles))for(var L=0,N=e.model.tiles;L<N.length;L++){var V=N[L];V&&(V.tileset||V.tileset_url)&&Q.push(Object.freeze({type:null!==(o=V.type)&&void 0!==o?o:"mesh",name:null!==(a=V.name)&&void 0!==a?a:"",upAxis:null!==(l=null!==(s=V.upAxis)&&void 0!==s?s:V.up_axis)&&void 0!==l?l:"-Y",tileset:V.tileset||V.tileset_url}))}else e.model.tiles&&(e.model.tiles.tileset||e.model.tiles.tileset_url)&&Q.push(Object.freeze({type:null!==(c=e.model.tiles.type)&&void 0!==c?c:"mesh",name:null!==(u=e.model.tiles.name)&&void 0!==u?u:"lod",upAxis:null!==(p=null!==(d=e.model.tiles.upAxis)&&void 0!==d?d:e.model.tiles.up_axis)&&void 0!==p?p:"-Y",tileset:e.model.tiles.tileset||e.model.tiles.tileset_url}));if(Array.isArray(e.model.layers))for(var z=0,j=e.model.layers;z<j.length;z++){var U=j[z];U&&(U.tileset||U.tileset_url)&&Q.push(Object.freeze({type:null!==(h=U.type)&&void 0!==h?h:"mesh",name:null!==(f=U.name)&&void 0!==f?f:"",upAxis:null!==(v=U.upAxis)&&void 0!==v?v:U.up_axis,tileset:U.tileset||U.tileset_url}))}Object.freeze(Q),Object.defineProperty(D,"layers",{configurable:!1,get:function(){return Q}}),Object.defineProperty(r,"model",{configurable:!1,get:function(){if(D.file||D.layers.length)return D}})}if(I instanceof Error)return I;var q=[];if(e.observers&&Array.isArray(e.observers)){var _=[];e.panorama&&(Array.isArray(e.panorama)?_=e.panorama:Array.isArray(e.panorama.list)?_=e.panorama.list:Array.isArray(e.panorama.info)&&(_=e.panorama.info));for(var H=function(i){var o={},a=e.observers[i];if(!a)return"break";var s=_[i];if(!s)return"break";a=Object.assign({},a,s,{active:!1!==a.active&&!1!==s.active}),Object.defineProperty(o,"work",{configurable:!1,get:function(){return r}}),Object.defineProperty(o,"index",{configurable:!1,get:function(){return i}}),Object.defineProperty(o,"panoIndex",{configurable:!1,get:function(){return i}});var l=Xe({workCode:r.workCode,panoIndex:i});Object.defineProperty(o,"panoId",{configurable:!1,get:function(){return l}});var c=Object.freeze({workCode:r.workCode,panoIndex:i});Object.defineProperty(o,"pano",{configurable:!1,get:function(){return c}});var u=!1!==a.active;Object.defineProperty(o,"active",{configurable:!1,get:function(){return u}});var d=!0===a.loadable;Object.defineProperty(o,"loadable",{configurable:!1,get:function(){return d}});var p=a.derived_id;Object.defineProperty(o,"derivedId",{configurable:!1,get:function(){return p}});var h=a.derived_id_str;Object.defineProperty(o,"derivedIdStr",{configurable:!1,get:function(){return h}});var f=null!==(x=null!==(y=null!==(A=null===(m=e.panorama)||void 0===m?void 0:m.pano_high_cube_base_url)&&void 0!==A?A:null===(g=e.panorama)||void 0===g?void 0:g.pano_cube_base_url)&&void 0!==y?y:null===(b=e.panorama)||void 0===b?void 0:b.base_url)&&void 0!==x?x:"",v={up:oa(R,f,a.images?a.images.up:a.up,i,t),down:oa(R,f,a.images?a.images.down:a.down,i,t),right:oa(R,f,a.images?a.images.right:a.right,i,t),left:oa(R,f,a.images?a.images.left:a.left,i,t),front:oa(R,f,a.images?a.images.front:a.front,i,t),back:oa(R,f,a.images?a.images.back:a.back,i,t)},w=a.images?a.images.depth:a.depth;w&&(v.depth=oa(R,f,w,i,t));var E=a.images?a.images.luminance:a.luminance;E&&(v.luminance=Object.freeze({up:oa(R,f,E.up,i,t),down:oa(R,f,E.down,i,t),right:oa(R,f,E.right,i,t),left:oa(R,f,E.left,i,t),front:oa(R,f,E.front,i,t),back:oa(R,f,E.back,i,t)}));var M=a.images?a.images.tiles:a.tiles;if(M){for(var C=[],S=function(e){var t=e.match(/\/cube_(\d+)\//);if(t){var r=Number(t[1]);if(function(e){return 0==(e&e-1)&&0!==e}(r))return r}return!1},I=function(e,t){return e.replace(/\/cube_(\d+)\//,(function(){return"/cube_".concat(t,"/")}))},P=0,T=M;P<T.length;P++){var B=T[P];if("number"==typeof B){var k=B,O=S(v.front);if(!1===O)continue;if((z=Math.max(O,512*Math.pow(2,k)))>2048){var F=I(v.up,z),D=I(v.down,z),Q=I(v.right,z),L=I(v.left,z),N=I(v.front,z),V=I(v.back,z);C.push(Object.freeze({level:k,size:z,up:F,down:D,right:Q,left:L,front:N,back:V}))}else{F=v.up,D=v.down,Q=v.right,L=v.left,N=v.front,V=v.back;C.push(Object.freeze({level:k,size:z,up:F,down:D,right:Q,left:L,front:N,back:V}))}}else{var z;if("number"!=typeof(k=B.level))continue;if("number"!=typeof(z=B.size))continue;F=oa(R,f,B.up,i,t),D=oa(R,f,B.down,i,t),Q=oa(R,f,B.right,i,t),L=oa(R,f,B.left,i,t),N=oa(R,f,B.front,i,t),V=oa(R,f,B.back,i,t);C.push(Object.freeze({level:k,size:z,up:F,down:D,right:Q,left:L,front:N,back:V}))}}C.sort((function(e,t){return e.level-t.level})),Object.freeze(C),Object.defineProperty(v,"tiles",{configurable:!1,get:function(){return C}})}Object.freeze(v),Object.defineProperty(o,"images",{configurable:!1,get:function(){return v}});var j=new n.Vector3;if(a.position instanceof n.Vector3)j.copy(a.position);else{if(!Array.isArray(a.position))return"break";j.fromArray(a.position)}Object.freeze(j),Object.defineProperty(o,"position",{configurable:!1,get:function(){return j}});var U=new n.Vector3;if(a.standingPosition instanceof n.Vector3)U.copy(a.standingPosition);else if(Array.isArray(a.standingPosition))U.fromArray(a.standingPosition);else if(a.standing_position instanceof n.Vector3)U.copy(a.standing_position);else{if(!Array.isArray(a.standing_position))return"break";U.fromArray(a.standing_position)}Object.freeze(U),Object.defineProperty(o,"standingPosition",{configurable:!1,get:function(){return U}});var H=new n.Quaternion;if(a.quaternion instanceof n.Quaternion)H.copy(a.quaternion);else if(Array.isArray(a.quaternion))H.fromArray(a.quaternion);else{if(!a.quaternion)return"break";var G=a.quaternion,K=G.x,W=G.y,Y=G.z,X=G.w;H.set(K,W,Y,X)}Object.freeze(H),Object.defineProperty(o,"quaternion",{configurable:!1,get:function(){return H}});var J,Z=0;qo(a.floorIndex)?Z=a.floorIndex:qo(a.floor_index)?Z=a.floor_index:qo(a.floor)&&(Z=a.floor),Object.defineProperty(o,"floorIndex",{configurable:!1,get:function(){return Z}}),a.video&&(J={},"string"==typeof a.video.source&&(J.source=a.video.source),a.video.matrix instanceof n.Matrix4?J.matrix=a.video.matrix.clone():Array.isArray(a.video.matrix)&&(J.matrix=(new n.Matrix4).fromArray(a.video.matrix)),a.video.size instanceof n.Vector2?J.size=a.video.size.clone():Array.isArray(a.video.size)&&(J.size=(new n.Vector2).fromArray(a.video.size)),J.source&&J.matrix&&J.size&&(o.video=J)),Object.freeze(J),Object.defineProperty(o,"video",{configurable:!1,get:function(){return J}}),Array.isArray(a.accessibleNodes)?(o.accessibleNodes=a.accessibleNodes.slice(),o.accessibleIds=a.accessibleNodes.map((function(e){return Xe({workCode:r.workCode,panoIndex:e})}))):Array.isArray(a.accessible_nodes)&&(o.accessibleNodes=a.accessible_nodes.slice(),o.accessibleIds=a.accessible_nodes.map((function(e){return Xe({workCode:r.workCode,panoIndex:e})}))),Array.isArray(a.visibleNodes)?(o.visibleNodes=a.visibleNodes.slice(),o.visibleIds=a.visibleNodes.map((function(e){return Xe({workCode:r.workCode,panoIndex:e})}))):Array.isArray(a.visible_nodes)&&(o.visibleNodes=a.visible_nodes.slice(),o.visibleIds=a.visible_nodes.map((function(e){return Xe({workCode:r.workCode,panoIndex:e})}))),q[i]=o},G=0;G<e.observers.length;G++){if("break"===H(G))break}}for(var K=function(e){if(e.accessibleIds){var t=e.accessibleIds.filter((function(e){return!!q.find((function(t){return t.panoId===e}))}));Object.freeze(t),Object.defineProperty(e,"accessibleIds",{configurable:!1,get:function(){return t}})}else{for(var r=[],n=0;n<q.length;n++)q[n]!==e&&(Math.abs(q[n].position.y-e.position.y)>3||q[n].position.distanceTo(e.position)>10||r.push(q[n].panoId));Object.freeze(r),Object.defineProperty(e,"accessibleIds",{configurable:!1,get:function(){return r}})}if(e.accessibleNodes){var i=e.accessibleNodes.filter((function(e){return!!q.find((function(t){return t.panoIndex===e}))}));Object.freeze(i),Object.defineProperty(e,"accessibleNodes",{configurable:!1,get:function(){return i}})}else{var o=[];for(n=0;n<q.length;n++)q[n]!==e&&(Math.abs(q[n].position.y-e.position.y)>3||q[n].position.distanceTo(e.position)>10||o.push(q[n].panoIndex));Object.freeze(o),Object.defineProperty(e,"accessibleNodes",{configurable:!1,get:function(){return o}})}if(e.visibleIds){var a=e.visibleIds.filter((function(e){return!!q.find((function(t){return t.panoId===e}))}));Object.freeze(a),Object.defineProperty(e,"visibleIds",{configurable:!1,get:function(){return a}})}else{var s=e.accessibleIds.slice();Object.freeze(s),Object.defineProperty(e,"visibleIds",{configurable:!1,get:function(){return s}})}if(e.visibleNodes){var l=e.visibleNodes.filter((function(e){return!!q.find((function(t){return t.panoIndex===e}))}));Object.freeze(l),Object.defineProperty(e,"visibleNodes",{configurable:!1,get:function(){return l}})}else{var c=e.accessibleNodes.slice();Object.freeze(c),Object.defineProperty(e,"visibleNodes",{configurable:!1,get:function(){return c}})}},W=0,Y=q;W<Y.length;W++){K(Y[W])}if(Object.freeze(q),Object.defineProperty(r,"observers",{configurable:!1,get:function(){return q}}),I instanceof Error)return I;if(e.initial){if(("Panorama"===e.initial.mode&&0===r.observers.length||"Floorplan"===e.initial.mode||"Topview"===e.initial.mode||"Model"===e.initial.mode||"Mapview"===e.initial.mode||"DepthPanorama"===e.initial.mode)&&(r.initial.mode=e.initial.mode),qo(e.initial.latitude)&&(r.initial.latitude=e.initial.latitude),qo(e.initial.longitude)?r.initial.longitude=e.initial.longitude:qo(e.initial.heading)&&(r.initial.longitude=-(360*(e.initial.heading-.25)+90)/180*Math.PI),qo(e.initial.fov)&&(r.initial.fov=e.initial.fov),r.observers.length>0){var X=void 0;qo(e.initial.panoIndex)?X=e.initial.panoIndex:qo(e.initial.pano_index)?X=e.initial.pano_index:qo(e.initial.pano)&&(X=e.initial.pano),"number"==typeof X&&(X=jr(X,0,r.observers.length-1),r.initial.panoIndex=X)}if(qo(e.initial.distance)&&(r.initial.distance=e.initial.distance),Array.isArray(e.initial.offset)){var J=[0,0,0].map((function(t,r){var n=Number(e.initial.offset[r]);return isNaN(n)||!isFinite(n)?0:n}));r.initial.offset=(new n.Vector3).fromArray(J)}r.initial.mode||"number"!=typeof r.initial.panoIndex||(r.initial.mode="Panorama")}return I instanceof Error?I:($o.set(r,{works:E,options:w}),r)}function ca(e,t){"string"==typeof e&&"{"===e.trim()[0]&&(e=JSON.parse(e));var r=$o.get(e);if(r){if(t&&!Uo(JSON.parse(r.options),t))throw new Error("[PARSE FAILED]: work is parsed with different options.");return e}try{return new ea(e,null!=t?t:{})}catch(t){throw new Error("[PARSE FAILED]: "+t.message+"\nError work input:\n"+JSON.stringify(e))}}function ua(e){for(var t={},r=[],i={},o=0,a=e;o<a.length;o++){var s=a[o],l=t[s.workCode];l||(l=t[s.workCode]=(new n.Matrix4).copy(s.options.transform));for(var c=0,u=s.observers;c<u.length;c++){var d=u[c],p={isResolved:!0,active:d.active,accessibleIds:d.accessibleIds,visibleIds:d.visibleIds,accessibleNodes:d.accessibleNodes,visibleNodes:d.visibleNodes,floorIndex:d.floorIndex,images:d.images,index:d.index,panoIndex:d.panoIndex,loadable:d.loadable,panoId:d.panoId,pano:d.pano,work:d.work,derivedId:d.derivedId,video:d.video,position:(new n.Vector3).copy(d.position).applyMatrix4(l),standingPosition:(new n.Vector3).copy(d.standingPosition).applyMatrix4(l),quaternion:(new n.Quaternion).setFromRotationMatrix(Zo.makeRotationFromQuaternion(d.quaternion).premultiply(l))};Object.freeze(p),r.push(p),i[p.panoId]=p}}Object.freeze(r);for(var h=e.slice(),f={},v=0,m=h;v<m.length;v++){s=m[v];f[s.workCode]=s}return Object.freeze(Object.assign(h,{get initial(){return h.length>0?h[0].initial:{work:{}}},get resolvedObservers(){return r},getWork:function(e){return f[e]},getResolvedObserver:function(t){var r,n;return $e(t)?i[t]:"number"==typeof t?i[Xe({workCode:null!==(n=null===(r=e[0])||void 0===r?void 0:r.workCode)&&void 0!==n?n:"",panoIndex:t})]:i[Xe(t)]},update:function(){for(var e={},i=0,o=h;i<o.length;i++){var a=o[i],s=a.options.transform,l=t[a.workCode];l?l.equals(s)||(l.copy(s),e[a.workCode]=!0):(t[a.workCode]=(new n.Matrix4).copy(s),e[a.workCode]=!0)}for(var c=0,u=r;c<u.length;c++){var d=u[c];if(!0===e[d.work.workCode]){var p=d.work.observers[d.index],f=d.work.options.transform;d.position.copy(p.position).applyMatrix4(f),d.standingPosition.copy(p.standingPosition).applyMatrix4(f),d.quaternion.setFromRotationMatrix(Zo.makeRotationFromQuaternion(p.quaternion).premultiply(f))}}}}))}var da=new Map;function pa(e){var t=da.get(e);if(t)return t;throw new Error("fetcher never registered.")}var ha=function(e,t){void 0===t&&(t=1e-4),t=Math.max(t,Number.EPSILON);for(var r={},i=e.getIndex(),o=e.getAttribute("position"),a=i?i.count:o.count,s=0,l=Object.keys(e.attributes),c={},u={},d=[],p=["getX","getY","getZ","getW"],h=0,f=l.length;h<f;h++){c[b=l[h]]=[],(M=e.morphAttributes[b])&&(u[b]=new Array(M.length).fill().map((function(){return[]})))}var v=Math.log10(1/t),m=Math.pow(10,v);for(h=0;h<a;h++){var A=i?i.getX(h):h,g="",y=0;for(f=l.length;y<f;y++)for(var b=l[y],x=(E=e.getAttribute(b)).itemSize,w=0;w<x;w++)g+="".concat(~~(E[p[w]](A)*m),",");if(g in r)d.push(r[g]);else{for(y=0,f=l.length;y<f;y++){b=l[y];var E=e.getAttribute(b),M=e.morphAttributes[b],C=(x=E.itemSize,c[b]),S=u[b];for(w=0;w<x;w++){var I=p[w];if(C.push(E[I](A)),M)for(var P=0,T=M.length;P<T;P++)S[P].push(M[P][I](A))}}r[g]=s,d.push(s),s++}}var B=e.clone();for(h=0,f=l.length;h<f;h++){b=l[h];var R=e.getAttribute(b),k=new R.array.constructor(c[b]);E=new n.BufferAttribute(k,R.itemSize,R.normalized);if(B.setAttribute(b,E),b in u)for(y=0;y<u[b].length;y++){var O=e.morphAttributes[b][y],F=(k=new O.array.constructor(u[b][y]),new n.BufferAttribute(k,O.itemSize,O.normalized));B.morphAttributes[b][y]=F}}return B.setIndex(d),B},fa=new n.Vector3,va=new n.Matrix3,ma=6378137,Aa=298.257223563;function ga(e){for(var t=ma-ma/Aa,r=(ma*ma-t*t)/(ma*ma),n=Math.sqrt(e.x*e.x+e.y*e.y),i=0,o=Math.atan2(e.z,n),a=0;i++<1e3;){var s=Math.sin(o),l=ma/Math.sqrt(1-r*s*s);a=n/Math.cos(o)-l;var c=Math.atan2(e.z/(l*(1-r)+a),n/(l+a));if(Math.abs(c-o)<1e-12)break;o=c}return{longitude:Math.atan2(e.y,e.x),latitude:o,altitude:a}}function ya(e){switch(e){case"Floorplan":case"Mapview":return!0;default:return!1}}function ba(e){switch(e){case"Panorama":case"VRPanorama":case"XRPanorama":case"Model":case"DepthPanorama":return!0;default:return!1}}var xa=new n.Vector3,wa=new n.Sphere,Ea=new n.Matrix4,Ma=new n.Matrix4,Ca=new n.Box3,Sa=(new n.Matrix4).fromArray([1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1]),Ia=(new n.Matrix4).fromArray([1,0,0,0,0,-1,0,0,0,0,-1,0,0,0,0,1]),Pa=new n.Box3(new n.Vector3(-.5,-.5,-.5),new n.Vector3(.5,.5,.5));function Ta(e){var t=/([0-9a-z\.\_\-]+)([\?\#].*)?$/i.exec(e);if(t){var r=String(t[1]).trim().split(".").slice(1).reverse()[0];if(r)return r}return""}var Ba=function(e){function t(t){void 0===t&&(t={});var r,i,o,a=this;return(a=e.call(this)||this).name="",a.onError=null!==(r=t.onError)&&void 0!==r?r:fe,a.onShownFloorChange=null!==(i=t.onShownFloorChange)&&void 0!==i?i:fe,a.onLoad=null!==(o=t.onLoad)&&void 0!==o?o:fe,a.work=null,a.viewLayers=[],a.bounding=new n.Box3(new n.Vector3,new n.Vector3),a.floorLength=0,a.textureOptions={},a.refined=!1,a.refineProgress=[0,0],a.loaded=!1,a.matrixAutoUpdate=!1,a.renderOrder=-4,a.needsRender=!0,a.materialVersion=0,a.materialParameters=ie({},it),a.disposed=!1,a}return ne(t,e),Object.defineProperty(t.prototype,"empty",{get:function(){return 0===this.viewLayers.length},enumerable:!1,configurable:!0}),t.prototype.getMaterial=function(){return ie({},this.materialParameters)},t.prototype.setMaterial=function(e){var t=this.materialParameters.shownFloorIndex;if(at(this.materialParameters,e)){var r=this.materialParameters.shownFloorIndex;t!==r&&this.onShownFloorChange(r),this.materialVersion++,this.needsRender=!0}},Object.defineProperty(t.prototype,"shownFloorIndex",{get:function(){return this.materialParameters.shownFloorIndex},set:function(e){this.setMaterial({shownFloorIndex:e})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"shownFloor",{get:function(){return-1===this.shownFloorIndex?null:this.shownFloorIndex},set:function(e){this.shownFloorIndex=null===e?-1:e},enumerable:!1,configurable:!0}),t.prototype.show=function(e){this.shownFloor=null!=e?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,t){void 0===t&&(t=30/180*Math.PI);for(var r=Math.cos(t),i=[],o=0,a=this.children;o<a.length;o++){var s=a[o];if(s instanceof jo)s.tileset.selectedTiles.forEach((function(t){var o,a,s;if(!(t.boundingVolume&&t.boundingVolume.distanceTo(e.center)>e.radius)){var l=null===(a=null===(o=t.content)||void 0===o?void 0:o.data)||void 0===a?void 0:a.object;if(l&&l.visible&&l.bvhTree){Ea.copy(l.matrixWorld),Ma.getInverse(Ea),wa.copy(e).applyMatrix4(Ma);var c={},u=["a","b","c"],d=l.bvhTree.trianglesInSphere(wa.center,wa.radius),p=new n.BufferGeometry;p.setAttribute("position",new n.BufferAttribute(d,3));var h=ha(p),f=h.getAttribute("position").array,v=(null===(s=h.getIndex())||void 0===s?void 0:s.array)||[];p.dispose(),h.dispose();for(var m=[],A=[],g=0,y=f.length;g<y;g+=3){var b=new n.Vector3(f[g],f[g+1],f[g+2]).applyMatrix4(Ea);m.push(b)}for(g=0,y=v.length;g<y;g+=3){var x=v[g],w=v[g+1],E=v[g+2],M=(new n.Vector3).crossVectors(m[w].clone().sub(m[x]),m[E].clone().sub(m[x])).normalize();A.push({a:x,b:w,c:E,normal:M})}for(g=0,y=A.length;g<y;g++)for(var C=A[g],S=0;S<3;S++){var I=C[u[S]],P=C[u[(S+1)%3]],T=[Math.min(I,P),Math.max(I,P)];void 0===c[B=T[0]+"-"+T[1]]?c[B]={index1:T[0],index2:T[1],face1:g}:c[B].face2=g}for(var B in c){var R=c[B];if(void 0===R.face2||A[R.face1].normal.dot(A[R.face2].normal)<=r){var k=m[R.index1],O=m[R.index2];i.push(new n.Line3(k,O))}}m.length=0,A.length=0}}}))}return i},t.prototype.intersectRaycaster=function(e,t){for(var r=[],n=0,i=this.children;n<i.length;n++){var o=i[n];if(o instanceof jo&&o.visible){var a=o.intersectRaycaster(e,!1);a.length&&r.push.apply(r,a)}}return"number"==typeof t&&(r=r.filter((function(e){return e.floor===t}))),r=r.sort((function(e,t){return e.distance-t.distance})),r},t.prototype.load=function(e,t){var r,i,o,a=this;if(void 0===t&&(t={}),this.work=e,this.name=this.work.workCode,!e.model)return Promise.resolve();for(var s=e.model,l=e.options,c=0,u=0,d=e.observers;u<d.length;u++){var p=d[u];c=Math.max(c,p.floorIndex)}this.floorLength=c+1;for(var h=!1,f=[],v=function(t){var r=t.tileset,o=t.upAxis,s=t.name,c=t.type,u="";"mesh"===c&&(h=!0);var d=r.split("#"),p=d[0],v=d[1],m=null!==(i=(v||p).split("?")[1])&&void 0!==i?i:"",A=pa(e).ajax(_e(r,{key:"model.0"}),{responseType:"text"}).then((function(t){var i=JSON.parse(t.body),d=i.root;"lodVersion"in i&&(o="-Y","floorInfo"in i&&(i.properties=i.properties||{},i.properties.floorInfo=i.floorInfo.map((function(e){return{ground:-e.ground,height:e.height}})),delete i.floorInfo),i.asset.tilesetVersion=String(i.lodVersion),delete i.lodVersion);var p=new n.Matrix4,h=d.boundingVolume?Ar(d.boundingVolume):void 0;switch(h&&d.transform&&h.applyMatrix4(Ea.fromArray(d.transform)),o){case"Z":p.copy(Sa);break;case"-Y":p.copy(Ia);break;case"WGS84":if(h){h.getCenter(xa),function(e,t){var r=ga(e),i=r.longitude,o=r.latitude,a=r.altitude,s=Math.sin(o),l=Math.sin(i),c=Math.cos(o),u=Math.cos(i),d=t.fromArray([-l,-s*u,c*u,0,+u,-s*l,c*l,0,0,c,s,0,0,0,0,1]),p=va.setFromMatrix4(d),h=fa.copy(e).applyMatrix3(p).multiplyScalar(-1);d.setPosition(h);var f=(new n.Matrix4).fromArray([1,0,0,0,0,1,0,0,0,0,1,0,0,0,a,1]);d.premultiply(f)}(xa,p),p.premultiply(Sa);var f=ga(xa),v=f.longitude,A=f.latitude;u=[A,v].map((function(e){return(e/Math.PI*180).toFixed(6)})).join(",")}}i.root={refine:"REPLACE",geometricError:i.geometricError,transform:p.toArray(),boundingVolume:h?h.toJson():void 0,viewerRequestVolume:l.viewerRequestVolume?l.viewerRequestVolume.toJson():void 0,children:[d]};var g=r?r.slice(0,r.lastIndexOf("/")+1):"",y=new jo(a,c,i,{resourcePath:g,search:m,fetcher:pa(e)});y.name=r,y.matrix.copy(l.transform),y.matrix.decompose(y.position,y.quaternion,y.scale),y.matrixWorldNeedsUpdate=!0;return{name:s,type:c,upAxis:o,coordinates:u,scene:y,error:null,coordinatesToWorldPoint:function(e){if("WGS84"!==o)throw new Error("coordinatesToWorldPoint require WGS84 upAxis.");var t=function(e){var t=ma-ma/Aa,r=(ma*ma-t*t)/(ma*ma),i=Math.sin(e.latitude),o=Math.cos(e.latitude),a=Math.sin(e.longitude),s=Math.cos(e.longitude),l=ma/Math.sqrt(1-r*i*i),c=(l+e.altitude)*o*s,u=(l+e.altitude)*o*a,d=(t*t/(ma*ma)*l+e.altitude)*i;return new n.Vector3(c,u,d)}(e);return t.applyMatrix4(p).applyMatrix4(y.matrix)},worldPointToCoordinates:function(e){if("WGS84"!==o)throw new Error("worldPointToCoordinates require WGS84 upAxis.");var t=(new n.Matrix4).premultiply(p).premultiply(y.matrix),r=(new n.Matrix4).getInverse(t);return ga(e.clone().applyMatrix4(r))}}}));f.push(A.catch((function(e){a.onError(e);return{name:s,type:c,scene:null,error:e,upAxis:o,coordinates:"",coordinatesToWorldPoint:function(e){throw new Error("coordinatesToWorldPoint require WGS84 upAxis.")},worldPointToCoordinates:function(e){throw new Error("worldPointToCoordinates require WGS84 upAxis.")}}})))},m=0,A=s.layers;m<A.length;m++){v(A[m])}if(!h&&s.file){var g=s.file,y=s.textureBase,b=s.textures,x={asset:{gltfUpAxis:"Z",version:"0.0"},geometricError:0,root:{content:{uri:g},refine:"REPLACE",geometricError:0,viewerRequestVolume:l.viewerRequestVolume?l.viewerRequestVolume.toJson():void 0,extras:(r={},r[Ta(g)||"at3d"]={textureBaseUri:y,textureArray:b,textureOptions:null!==(o=t.textureOptions)&&void 0!==o?o:{}},r)}},w=g.slice(0,g.lastIndexOf("/")+1),E=new jo(this,"mesh",x,{resourcePath:w,fetcher:pa(e)});E.name=g,E.matrix.copy(l.transform),E.matrix.decompose(E.position,E.quaternion,E.scale),E.matrixWorldNeedsUpdate=!0;var M=Promise.resolve({scene:E,error:null,coordinates:"",name:"fallback",type:"mesh",upAxis:"Y",coordinatesToWorldPoint:function(e){throw new Error("coordinatesToWorldPoint require WGS84 upAxis.")},worldPointToCoordinates:function(e){throw new Error("worldPointToCoordinates require WGS84 upAxis.")}});f.push(M)}return Promise.all(f).then((function(e){for(var t=[],r=[],n=[],i=0,o=e;i<o.length;i++){var s=o[i];if(a.viewLayers.push(s),s.scene){if(a.disposed){s.scene.dispose();continue}switch(a.add(s.scene),s.scene.visible=!1,s.type){case"lod":t.push(s.scene);break;case"point_cloud":r.push(s.scene);break;default:n.push(s.scene)}}}t.length?t[0].visible=!0:r.length?r[0].visible=!0:n.length&&(n[0].visible=!0)}))},t.prototype.update=function(e,t,r){var i,o,a,s,l,c;if(this.children.length){var u=this.loaded;this.refined=null!==this.work,this.refineProgress[0]=0,this.refineProgress[1]=0,this.loaded=null!==this.work,this.bounding.makeEmpty();for(var d=0,p=this.children;d<p.length;d++){var h=p[d];h instanceof jo&&(this.work&&(h.minLevelOfDetail=null!==(i=this.work.options.modelMinLevelOfDetail)&&void 0!==i?i:jo.DEFAULT_MIN_LEVEL_OF_DETAIL,h.maxLevelOfDetail=0!==this.materialParameters.modelAlpha&&h.loaded?null!==(o=this.work.options.modelMaxLevelOfDetail)&&void 0!==o?o:jo.DEFAULT_MAX_LEVEL_OF_DETAIL:0,h.maxScreenSpaceError=null!==(a=this.work.options.modelMaxScreenSpaceError)&&void 0!==a?a:jo.DEFAULT_MAX_SCREEN_SPACE_ERROR,h.maxRequests=null!==(s=this.work.options.modelMaxRequests)&&void 0!==s?s:jo.DEFAULT_MAX_REQUESTS,h.maxMemoryUsage=null!==(l=this.work.options.modelMaxMemoryUsage)&&void 0!==l?l:jo.DEFAULT_MAX_MEMORY_USAGE,h.debug=null!==(c=this.work.options.debug)&&void 0!==c&&c,ba(r)?h.needsRefined=0===this.materialParameters.modelAlpha||1===this.materialParameters.modelAlpha:h.needsRefined=!0,this.work.options.transform.equals(h.matrix)||(h.matrix.copy(this.work.options.transform),h.matrix.decompose(h.position,h.quaternion,h.scale),h.matrixWorldNeedsUpdate=!0)),h.update(e,t),h.boundingBox.isEmpty()||(Ca.copy(h.boundingBox).applyMatrix4(h.matrix),this.bounding.union(Ca)),!0===h.needsRender&&(h.needsRender=!1,this.needsRender=!0),!1===h.refined&&(this.refined=!1),this.refineProgress[0]+=h.refineProgress[0],this.refineProgress[1]+=h.refineProgress[1],!1===h.loaded&&(this.loaded=!1))}this.bounding.isEmpty()&&this.bounding.copy(Pa),!1===u&&!0===this.loaded&&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 n.Vector3,new n.Vector3)},t.prototype.dispose=function(){var e;for(this.disposed=!0;e=this.children[0];)e instanceof jo&&e.dispose(),this.remove(e)},t}(n.Object3D);function Ra(){var e=new n.Box3,t=function(e,t){for(var r=ie({},e),n=0,i=t;n<i.length;n++){var o=i[n];o in r&&delete r[o]}return r}(it,["clippers","shownFloorIndex"]),r=Object.assign([],{bounding:e,needsRender:!1,refined:!1,refineProgress:[0,0],loaded:!1,materialVersion:0,intersectRaycaster:function(e,t){var n;if(0===r.length)n=[];else if(1===r.length)n=r[0].intersectRaycaster(e,t);else{n=[];for(var i=0,o=r;i<o.length;i++){var a=o[i];if(a.visible){var s=a.intersectRaycaster(e,t);s.length&&n.push.apply(n,s)}}n.sort((function(e,t){return e.distance-t.distance}))}return n},setMaterial:function(e){at(t,e)&&(r.materialVersion++,r.needsRender=!0)},getMaterial:function(){return ie({},t)},update:function(n,i,o){r.refined=r.length>0,r.loaded=r.length>0,r.refineProgress[0]=0,r.refineProgress[1]=0,e.makeEmpty();for(var a=0,s=r;a<s.length;a++){var l=s[a];l.setMaterial(t),l.update(n,i,o),!0===l.needsRender&&(r.needsRender=!0,l.needsRender=!1),!1===l.refined&&(r.refined=!1),r.refineProgress[0]+=l.refineProgress[0],r.refineProgress[1]+=l.refineProgress[1],!1===l.loaded&&(r.loaded=!1),e.union(l.bounding)}e.isEmpty()&&e.copy(Pa)}});return r}function ka(e,t,r){return e+(t-e)*r}function Oa(e,t){var r=t[1]-t[0];return e<t[0]?Oa(e+r,t):e>=t[1]?Oa(e-r,t):e}function Fa(e,t,r,n){return n?function(e,t,r,n){var i=n[1]-n[0];return e=Oa(e,n),ka((t=Oa(t,n))-e>i/2?e+i:e-t>i/2?e-i:e,t,r)}(e,t,r,n):ka(e,t,r)}var Da=function(){function e(e){for(var t in this.config={},this.progress=1,this.ended=!0,this.value={},this.startTime=me(),this.startVelocity=0,this.duration=0,this.keyframes=[],e){var r=e[t];"number"==typeof r?(this.value[t]=r,this.config[t]={circle:!1}):(this.value[t]=r.value,this.config[t]={circle:r.circle})}this.keyframes=[{progress:0,value:ie({},this.value)},{progress:1,value:ie({},this.value)}]}return e.prototype.getProgress=function(e){var t=e-this.startTime;return t<0?0:t>=this.duration?1:1-function(e,t,r,n){var i=(t*r+2*e)/Math.pow(r,3),o=-(2*t*r+3*e)/Math.pow(r,2),a=t,s=e;return i*Math.pow(n,3)+o*Math.pow(n,2)+a*n+s}(1,this.startVelocity,this.duration,t)},e.prototype.getValue=function(e){for(var t=1;t<this.keyframes.length;t++)if(this.keyframes[t].progress>e){var r=this.keyframes[t-1],n=this.keyframes[t],i={};for(var o in this.config){var a=(e-r.progress)/(n.progress-r.progress);i[o]=Fa(r.value[o],n.value[o],a,this.config[o].circle)}return i}return ie({},this.keyframes[this.keyframes.length-1].value)},e.prototype.getProgressVelocity=function(e){var t=e-this.startTime;return t>=this.duration?0:function(e,t,r,n){var i=(t*r+2*e)/Math.pow(r,3),o=-(2*t*r+3*e)/Math.pow(r,2),a=t;return 3*i*Math.pow(n,2)+2*o*n+a}(1,this.startVelocity,this.duration,t)},e.prototype.update=function(e){return!!this.ended||(this.progress=Math.min(1,Math.max(0,this.progress,this.getProgress(e))),this.value=this.getValue(this.progress),this.ended=this.progress>=1,this.ended&&this.callbacks&&(this.callbacks[0](),this.callbacks=void 0),this.ended)},e.prototype.getKeyFrameSegment=function(e){for(var t=this.getProgress(e),r=1;r<this.keyframes.length;r++)if(this.keyframes[r].progress>t)return[this.keyframes[r-1],this.keyframes[r]];return[this.keyframes[this.keyframes.length-2],this.keyframes[this.keyframes.length-1]]},e.prototype.getTargetKeyframe=function(){return this.keyframes[this.keyframes.length-1]},e.prototype.set=function(e,t,r,n){var i;void 0===r&&(r=0),isNaN(t)&&(t=0),isNaN(r)&&(r=0),n=null!=n?n:me();var o=this.getProgress(n),a=this.getValue(o),s={};for(var l in this.config)s[l]=null!==(i=e[l])&&void 0!==i?i:a[l];var c=[{progress:0,value:a},{progress:1,value:s}];return this.setKeyframes(c,t,r,n)},e.prototype.setKeyframes=function(e,t,r,n){var i=this;if(void 0===r&&(r=0),e.length<2)throw new Error("keyframes invalid.");return isNaN(t)&&(t=0),isNaN(r)&&(r=0),this.callbacks&&(this.callbacks[1](new Error("motion aborted.")),this.callbacks=void 0),new Promise((function(o,a){n=null!=n?n:me(),i.progress=0,i.ended=!1,i.startTime=n,i.startVelocity=r,i.keyframes=e,i.duration=t,0===t?(i.progress=1,i.value=ie({},e[e.length-1].value)):i.value=ie({},e[0].value),i.callbacks=[o,a]}))},e.prototype.dispose=function(){this.callbacks&&(this.callbacks[1](new Error("motion dispose.")),this.callbacks=void 0)},e}(),Qa=function(e){return e*(2-e)},La=function(){var e=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]),r=new Uint8Array([0,2,1,2,3,1]),i=new n.BufferGeometry;return i.setAttribute("position",new n.BufferAttribute(e,3)),i.setAttribute("uv",new n.BufferAttribute(t,2)),i.setIndex(new n.BufferAttribute(r,1)),i}(),Na=function(e){function t(t){void 0===t&&(t={});var r,i,o=this;o=e.call(this)||this;var a=null!==(r=t.color)&&void 0!==r?r:16777215,s=null!==(i=t.scale)&&void 0!==i?i:1;return o.progress=0,o.opacity=0,o.loading=!1,o.current=!1,o.disabled=!1,o.currentMotion=new Da({progress:0}),o.ringMotion=new Da({scale:1,opacity:1}),o.tapMotion=new Da({scale:1,opacity:1}),o.loadingOpacityMotion=new Da({opacity:0}),o.progressMotion=new Da({progress:0}),o.progressOpacityMotion=new Da({opacity:0}),o.opacityMotion=new Da({opacity:0}),o.disableMotion=new Da({progress:0}),o.panoMesh=new n.Mesh(La,new n.ShaderMaterial({blending:n.CustomBlending,blendSrc:n.SrcAlphaFactor,blendDst:n.OneMinusSrcAlphaFactor,blendSrcAlpha:n.OneFactor,blendDstAlpha:n.OneMinusSrcAlphaFactor,depthWrite:!1,vertexShader:"\nvarying vec2 vUv;\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n",fragmentShader:"\nuniform vec3 baseColor;\nuniform float circleScale;\nuniform float ringScale;\nuniform float ringOpacity;\nuniform float loadingAngle;\nuniform float loadingOpacity;\nuniform float progress;\nuniform float progressOpacity;\nuniform float expand0;\nuniform float expand1;\nuniform float expandOpacity;\nuniform float opacity;\nuniform float tapScale;\nuniform float tapOpacity;\nuniform float disable;\nvarying vec2 vUv;\n\n#define PI 3.141592653589793\n#define TAU 6.283185307179586\n#define SMOOTH_DIST 0.017\n#define CENTER vec2(0.5, 0.5)\n\nfloat inside(float innerDist) {\n float dist = length(CENTER - vUv);\n return smoothstep(innerDist, innerDist + SMOOTH_DIST, dist);\n}\nfloat outside(float outerDist) {\n float dist = length(CENTER - vUv);\n return 1.0 - smoothstep(outerDist - SMOOTH_DIST, outerDist, dist);\n}\n\nvec4 create_circle() {\n float dist = length(CENTER - vUv);\n float gradient = clamp(0.8 + abs(dot(normalize(vec2(1.0, -1.0)), vUv - CENTER)) * 1.5, 0.0, 1.0);\n return vec4(1.0, 1.0, 1.0, gradient * tapOpacity * inside(0.15 * circleScale * tapScale) * outside(0.234 * circleScale * tapScale));\n}\n\nvec4 create_disable() {\n float dist = length(CENTER - vUv);\n return vec4(1.0, 1.0, 1.0, 0.5 * tapOpacity * outside(0.32 * circleScale * tapScale));\n}\n\nvec4 create_ring() {\n float gradient = clamp(0.5 + abs(dot(normalize(vec2(1.0, 1.0)), vUv - CENTER)), 0.0, 1.0);\n return vec4(1.0, 1.0, 1.0, gradient * tapOpacity * ringOpacity * inside(0.27 * ringScale * tapScale) * outside(0.32 * ringScale * tapScale));\n}\n\nvec4 create_loading() {\n float angle = PI - atan(CENTER.x - vUv.x, CENTER.y - vUv.y);\n angle = mod(angle + loadingAngle, TAU);\n float gradient = (1.0 - smoothstep(0.0, TAU, angle)) * 0.4 + 0.1;\n return vec4(1.0, 1.0, 1.0, gradient * tapOpacity * loadingOpacity * inside(0.208 * circleScale * tapScale) * outside(0.3 * circleScale * tapScale));\n}\n\nvec4 create_progress() {\n float angle = PI + atan(CENTER.x - vUv.x, CENTER.y - vUv.y);\n float bar = (1.0 - step(progress * TAU, angle)) * 0.5;\n return vec4(1.0, 1.0, 1.0, bar * tapOpacity * progressOpacity * inside(0.208 * circleScale * tapScale) * outside(0.3 * circleScale * tapScale));\n}\n\nvec4 create_expand0() {\n float width = 0.2;\n float radius = 0.2 + (0.43 - 0.2) * expand0;\n float dist = length(CENTER - vUv);\n float gradient = (1.0 - clamp((radius - dist) / width, 0.0, 1.0)) * 0.8 * clamp((1.0 - abs(expand0 - 0.5) * 2.0) * 1.2, 0.0, 1.0);\n return vec4(1.0, 1.0, 1.0, gradient * expandOpacity * outside(radius));\n}\n\nvec4 create_expand1() {\n float width = 0.2;\n float radius = 0.2 + (0.43 - 0.2) * expand1;\n float dist = length(CENTER - vUv);\n float gradient = (1.0 - clamp((radius - dist) / width, 0.0, 1.0)) * 0.8 * clamp((1.0 - abs(expand1 - 0.5) * 2.0) * 1.2, 0.0, 1.0);\n return vec4(1.0, 1.0, 1.0, gradient * expandOpacity * outside(radius));\n}\n\nvoid main() {\n gl_FragColor = vec4(1.0, 1.0, 1.0, 0);\n\n vec4 expand1Color = create_expand1();\n gl_FragColor = mix(gl_FragColor, expand1Color, expand1Color.a);\n\n vec4 expand0Color = create_expand0();\n gl_FragColor = mix(gl_FragColor, expand0Color, expand0Color.a);\n\n vec4 progressColor = create_progress();\n gl_FragColor = mix(gl_FragColor, progressColor, progressColor.a);\n\n vec4 loadingColor = create_loading();\n gl_FragColor = mix(gl_FragColor, loadingColor, loadingColor.a);\n\n vec4 circleColor = create_circle();\n gl_FragColor = mix(gl_FragColor, circleColor, circleColor.a);\n\n vec4 ringColor = create_ring();\n gl_FragColor = mix(gl_FragColor, ringColor, ringColor.a);\n\n gl_FragColor = mix(gl_FragColor, create_disable(), disable);\n\n gl_FragColor = vec4(gl_FragColor.rgb * baseColor, gl_FragColor.a * opacity * opacity);\n}\n",uniforms:{baseColor:{value:new n.Color(a)},circleScale:{value:1},ringScale:{value:1},ringOpacity:{value:1},loadingAngle:{value:0},loadingOpacity:{value:0},progress:{value:0},progressOpacity:{value:0},expand0:{value:0},expand1:{value:0},expandOpacity:{value:0},opacity:{value:0},tapScale:{value:1},tapOpacity:{value:1},disable:{value:0}}})),o.renderOrder=-2,o.panoMesh.renderOrder=-2,o.panoMesh.position.y=.004,o.panoMesh.scale.set(s,1,s),o.add(o.panoMesh),o.currentStartTime=me(),o.needsRender=!0,o}return ne(t,e),t.prototype.setProgress=function(e){var t=this;this.setDisabled(!1),this.setLoading(!1),this.progress!==e&&(e=jr(e,0,1),this.tapMotion.ended&&(0===this.progress&&this.progressOpacityMotion.set({opacity:1},500).catch(fe),0===e?this.progressOpacityMotion.set({opacity:0},500).catch(fe).then((function(){t.progressMotion.set({progress:0},0).catch(fe)})):this.progressMotion.set({progress:jr(1.2*e,0,1)},100).catch(fe)),this.progress=e)},t.prototype.setOpacity=function(e){this.opacity!==e&&(this.opacity=e=jr(e,0,1),this.opacityMotion.set({opacity:e},200).catch(fe))},t.prototype.setCurrent=function(e){this.current!==e&&(this.currentMotion.set({progress:e?1:0},2e3).catch(fe),this.current=e,!0===this.current&&(this.currentStartTime=me()))},t.prototype.setLoading=function(e){this.loading!==e&&(this.loading=e,!0===this.disabled&&this.setDisabled(!1),this.loadingOpacityMotion.set({opacity:e?1:0},500).catch(fe))},t.prototype.setDisabled=function(e){this.disabled!==e&&(this.disabled=e,!0===this.loading&&this.setLoading(!1),this.disableMotion.set({progress:e?1:0},500).catch(fe))},t.prototype.tap=function(){var e=this;if(!this.tapMotion.ended)return Promise.resolve();return this.progressOpacityMotion.set({opacity:0},0).catch(fe),this.progressMotion.set({progress:0},0).catch(fe),this.tapMotion.setKeyframes([{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}}],600).then((function(){e.progressOpacityMotion.set({opacity:e.progress>0?1:0},300).catch(fe),e.progressMotion.set({progress:e.progress},120).catch(fe)})).catch(fe)},t.prototype.updateTime=function(e,t){if(!this.progressMotion.ended){this.progressMotion.update(e);var r=this.progressMotion.value.progress;this.panoMesh.material.uniforms.progress.value=r,this.needsRender=!0}if(!this.progressOpacityMotion.ended){this.progressOpacityMotion.update(e);var n=this.progressOpacityMotion.value.opacity;this.panoMesh.material.uniforms.progressOpacity.value=n,this.needsRender=!0}if(!this.opacityMotion.ended){this.opacityMotion.update(e);n=this.opacityMotion.value.opacity;this.panoMesh.material.uniforms.opacity.value=n,this.needsRender=!0}if(this.visible=0!==this.opacityMotion.value.opacity,(!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%(2*Math.PI),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 i=(e-this.currentStartTime-1500)/2e3;if(i%5<2){var o=1+Math.sin(Math.PI*i)/25*this.currentMotion.value.progress;this.panoMesh.material.uniforms.circleScale.value=o,this.needsRender=!0}var a=(e-this.currentStartTime-1500)/2e3;if(a%5<2){var s=a%1;this.panoMesh.material.uniforms.expand0.value=Qa(s)*this.currentMotion.value.progress,this.needsRender=!0}var l=(e-this.currentStartTime-1e3)/2e3;if(l%5<2){s=l%1;this.panoMesh.material.uniforms.expand1.value=Qa(s)*this.currentMotion.value.progress,this.needsRender=!0}}this.currentMotion.value.progress>.2&&0===this.progress&&!1===this.loading?(e-this.currentStartTime-1e3)/2e3%5<2?.8!==this.ringMotion.getTargetKeyframe().value.scale&&this.ringMotion.set({scale:.8,opacity:0},600).catch(fe):1!==this.ringMotion.getTargetKeyframe().value.scale&&this.ringMotion.set({scale:1,opacity:1},600).catch(fe):1!==this.ringMotion.getTargetKeyframe().value.scale&&this.ringMotion.set({scale:1,opacity:1},600).catch(fe);if(!this.ringMotion.ended){var c=this.ringMotion.value;o=c.scale,n=c.opacity;this.ringMotion.update(e),this.panoMesh.material.uniforms.ringScale.value=o,this.panoMesh.material.uniforms.ringOpacity.value=n,this.needsRender=!0}if(!this.disableMotion.ended){r=this.disableMotion.value.progress;this.disableMotion.update(e),this.panoMesh.material.uniforms.disable.value=r,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}(n.Object3D),Va=function(e){return e*(2-e)},za=function(){var e=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]),r=new Uint8Array([0,2,1,2,3,1]),i=new n.BufferGeometry;return i.setAttribute("position",new n.BufferAttribute(e,3)),i.setAttribute("uv",new n.BufferAttribute(t,2)),i.setIndex(new n.BufferAttribute(r,1)),i}(),ja=function(e){function t(t){void 0===t&&(t={});var r,i,o=this;o=e.call(this)||this;var a=null!==(r=t.color)&&void 0!==r?r:16777215,s=null!==(i=t.scale)&&void 0!==i?i:1;return o.progress=0,o.opacity=0,o.loading=!1,o.current=!1,o.disabled=!1,o.currentMotion=new Da({progress:0}),o.tapMotion=new Da({scale:1,opacity:1}),o.loadingOpacityMotion=new Da({opacity:0}),o.progressMotion=new Da({progress:0}),o.progressOpacityMotion=new Da({opacity:0}),o.opacityMotion=new Da({opacity:0}),o.disableMotion=new Da({progress:0}),o.panoMesh=new n.Mesh(za,new n.ShaderMaterial({blending:n.CustomBlending,blendSrc:n.SrcAlphaFactor,blendDst:n.OneMinusSrcAlphaFactor,blendSrcAlpha:n.OneFactor,blendDstAlpha:n.OneMinusSrcAlphaFactor,depthWrite:!1,vertexShader:"\nvarying vec2 vUv;\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n",fragmentShader:"\nuniform vec3 baseColor;\nuniform float circleScale;\nuniform float circleOpacity;\nuniform float loadingAngle;\nuniform float loadingOpacity;\nuniform float progress;\nuniform float progressOpacity;\nuniform float expand0;\nuniform float expand1;\nuniform float expandOpacity;\nuniform float opacity;\nuniform float tapScale;\nuniform float tapOpacity;\nuniform float disable;\nvarying vec2 vUv;\n\n#define PI 3.141592653589793\n#define TAU 6.283185307179586\n#define SMOOTH_DIST 0.017\n#define CENTER vec2(0.5, 0.5)\n\nfloat inside(float innerDist) {\n float dist = length(CENTER - vUv);\n return smoothstep(innerDist, innerDist + SMOOTH_DIST, dist);\n}\nfloat outside(float outerDist) {\n float dist = length(CENTER - vUv);\n return 1.0 - smoothstep(outerDist - SMOOTH_DIST, outerDist, dist);\n}\n\nvec4 create_circle() {\n float dist = length(CENTER - vUv);\n return vec4(1.0, 1.0, 1.0, 0.8 * circleOpacity * tapOpacity * inside(0.2 * circleScale * tapScale) * outside(0.3 * circleScale * tapScale));\n}\n\nvec4 create_disable() {\n float dist = length(CENTER - vUv);\n return vec4(1.0, 1.0, 1.0, 0.5 * tapOpacity * outside(0.32 * circleScale * tapScale));\n}\n\nvec4 create_loading() {\n float angle = PI - atan(CENTER.x - vUv.x, CENTER.y - vUv.y);\n angle = mod(angle + loadingAngle, TAU);\n float gradient = (1.0 - smoothstep(0.0, TAU, angle)) * 0.9 + 0.1;\n return vec4(1.0, 1.0, 1.0, gradient * tapOpacity * loadingOpacity * inside(0.2 * circleScale * tapScale) * outside(0.3 * circleScale * tapScale));\n}\n\nvec4 create_progress() {\n float angle = PI + atan(CENTER.x - vUv.x, CENTER.y - vUv.y);\n float bar = (1.0 - step(progress * TAU, angle)) * 0.7;\n return vec4(1.0, 1.0, 1.0, bar * tapOpacity * progressOpacity * inside(0.2 * circleScale * tapScale) * outside(0.3 * circleScale * tapScale));\n}\n\nvec4 create_expand0() {\n float width = 0.2;\n float radius = 0.25 + (0.5 - 0.25) * expand0;\n float dist = length(CENTER - vUv);\n float gradient = (1.0 - clamp((radius - dist) / width, 0.0, 1.0)) * 0.8 * clamp((1.0 - abs(expand0 - 0.5) * 2.0) * 1.2, 0.0, 1.0);\n return vec4(1.0, 1.0, 1.0, gradient * expandOpacity * outside(radius));\n}\n\nvec4 create_expand1() {\n float width = 0.2;\n float radius = 0.25 + (0.48 - 0.25) * expand1;\n float dist = length(CENTER - vUv);\n float gradient = (1.0 - clamp((radius - dist) / width, 0.0, 1.0)) * 0.8 * clamp((1.0 - abs(expand1 - 0.5) * 2.0) * 1.2, 0.0, 1.0);\n return vec4(1.0, 1.0, 1.0, gradient * expandOpacity * outside(radius));\n}\n\nvoid main() {\n gl_FragColor = vec4(1.0, 1.0, 1.0, 0);\n\n vec4 expand1Color = create_expand1();\n gl_FragColor = mix(gl_FragColor, expand1Color, expand1Color.a);\n\n vec4 expand0Color = create_expand0();\n gl_FragColor = mix(gl_FragColor, expand0Color, expand0Color.a);\n\n vec4 circleColor = create_circle();\n gl_FragColor = mix(gl_FragColor, circleColor, circleColor.a);\n\n vec4 progressColor = create_progress();\n gl_FragColor = mix(gl_FragColor, progressColor, progressColor.a);\n\n vec4 loadingColor = create_loading();\n gl_FragColor = mix(gl_FragColor, loadingColor, loadingColor.a);\n\n gl_FragColor = mix(gl_FragColor, create_disable(), disable);\n\n gl_FragColor = vec4(gl_FragColor.rgb * baseColor, gl_FragColor.a * opacity * opacity);\n}\n",uniforms:{baseColor:{value:new n.Color(a)},circleScale:{value:1},circleOpacity:{value:1},loadingAngle:{value:0},loadingOpacity:{value:0},progress:{value:0},progressOpacity:{value:0},expand0:{value:0},expand1:{value:0},expandOpacity:{value:0},opacity:{value:0},tapScale:{value:1},tapOpacity:{value:1},disable:{value:0}}})),o.renderOrder=-2,o.panoMesh.renderOrder=-2,o.panoMesh.position.y=.004,o.panoMesh.scale.set(s,1,s),o.add(o.panoMesh),o.currentStartTime=me(),o.needsRender=!0,o}return ne(t,e),t.prototype.setProgress=function(e){var t=this;this.setDisabled(!1),this.setLoading(!1),this.progress!==e&&(e=jr(e,0,1),this.tapMotion.ended&&(0===this.progress&&this.progressOpacityMotion.set({opacity:1},500).catch(fe),0===e?this.progressOpacityMotion.set({opacity:0},500).catch(fe).then((function(){t.progressMotion.set({progress:0},0).catch(fe)})):this.progressMotion.set({progress:jr(1.2*e,0,1)},100).catch(fe)),this.progress=e)},t.prototype.setOpacity=function(e){this.opacity!==e&&(this.opacity=e=jr(e,0,1),this.opacityMotion.set({opacity:e},200).catch(fe))},t.prototype.setCurrent=function(e){this.current!==e&&(this.currentMotion.set({progress:e?1:0},2e3).catch(fe),this.current=e,!0===this.current&&(this.currentStartTime=me()))},t.prototype.setLoading=function(e){this.loading!==e&&(this.loading=e,!0===this.disabled&&this.setDisabled(!1),this.loadingOpacityMotion.set({opacity:e?1:0},500).catch(fe))},t.prototype.setDisabled=function(e){this.disabled!==e&&(this.disabled=e,!0===this.loading&&this.setLoading(!1),this.disableMotion.set({progress:e?1:0},500).catch(fe))},t.prototype.tap=function(){var e=this;if(!this.tapMotion.ended)return Promise.resolve();return this.progressOpacityMotion.set({opacity:0},0).catch(fe),this.progressMotion.set({progress:0},0).catch(fe),this.tapMotion.setKeyframes([{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}}],600).then((function(){e.progressOpacityMotion.set({opacity:e.progress>0?1:0},300).catch(fe),e.progressMotion.set({progress:e.progress},120).catch(fe)})).catch(fe)},t.prototype.updateTime=function(e,t){if(!this.progressMotion.ended){this.progressMotion.update(e);var r=this.progressMotion.value.progress;this.panoMesh.material.uniforms.progress.value=r,this.needsRender=!0}if(!this.progressOpacityMotion.ended){this.progressOpacityMotion.update(e);var n=this.progressOpacityMotion.value.opacity;this.panoMesh.material.uniforms.progressOpacity.value=n,this.needsRender=!0}if(!this.opacityMotion.ended){this.opacityMotion.update(e);n=this.opacityMotion.value.opacity;this.panoMesh.material.uniforms.opacity.value=n,this.needsRender=!0}if(this.visible=0!==this.opacityMotion.value.opacity,(!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%(2*Math.PI),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 i=(e-this.currentStartTime-1500)/2e3;if(i%5<2){var o=1+Math.sin(Math.PI*i)/25*this.currentMotion.value.progress;this.panoMesh.material.uniforms.circleScale.value=o,this.needsRender=!0}var a=(e-this.currentStartTime-1500)/2e3;if(a%5<2){var s=a%1;this.panoMesh.material.uniforms.expand0.value=Va(s)*this.currentMotion.value.progress,this.needsRender=!0}var l=(e-this.currentStartTime-1e3)/2e3;if(l%5<2){s=l%1;this.panoMesh.material.uniforms.expand1.value=Va(s)*this.currentMotion.value.progress,this.needsRender=!0}}if(!this.disableMotion.ended){r=this.disableMotion.value.progress;this.disableMotion.update(e),this.panoMesh.material.uniforms.disable.value=r,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}(n.Object3D),Ua=function(e){return e*(2-e)},qa=function(){var e=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]),r=new Uint8Array([0,2,1,2,3,1]),i=new n.BufferGeometry;return i.setAttribute("position",new n.BufferAttribute(e,3)),i.setAttribute("uv",new n.BufferAttribute(t,2)),i.setIndex(new n.BufferAttribute(r,1)),i}(),_a=function(e){function t(t){void 0===t&&(t={});var r,i,o,a,s,l,c,u=this;u=e.call(this)||this;var d=null!==(r=t.color)&&void 0!==r?r:16777215,p=null!==(i=t.scale)&&void 0!==i?i:1,h=t.map,f=null!==(o=t.mapAlpha)&&void 0!==o?o:1,v=null!==(a=t.mapUseColor)&&void 0!==a&&a,m=null!==(s=t.mapUseReverse)&&void 0!==s&&s,A=null!==(l=t.borderWidth)&&void 0!==l?l:.1,g=null!==(c=t.borderColor)&&void 0!==c?c:16777215;return u.progress=0,u.opacity=0,u.loading=!1,u.current=!1,u.disabled=!1,u.currentMotion=new Da({progress:0}),u.tapMotion=new Da({scale:1,opacity:1}),u.loadingOpacityMotion=new Da({opacity:0}),u.progressMotion=new Da({progress:0}),u.progressOpacityMotion=new Da({opacity:0}),u.opacityMotion=new Da({opacity:0}),u.disableMotion=new Da({progress:0}),u.panoMesh=new n.Mesh(qa,new n.ShaderMaterial({blending:n.CustomBlending,blendSrc:n.SrcAlphaFactor,blendDst:n.OneMinusSrcAlphaFactor,blendSrcAlpha:n.OneFactor,blendDstAlpha:n.OneMinusSrcAlphaFactor,depthWrite:!1,vertexShader:"\nvarying vec2 vUv;\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n",fragmentShader:"\n#if defined(USE_MAP)\nuniform sampler2D map;\nuniform float mapAlpha;\n#endif\n#if defined(USE_BORDER)\nuniform float borderWidth;\nuniform vec3 borderColor;\n#endif\nuniform vec3 baseColor;\nuniform float circleScale;\nuniform float circleOpacity;\nuniform float loadingAngle;\nuniform float loadingOpacity;\nuniform float progress;\nuniform float progressOpacity;\nuniform float expand0;\nuniform float expand1;\nuniform float expandOpacity;\nuniform float opacity;\nuniform float tapScale;\nuniform float tapOpacity;\nuniform float disable;\nvarying vec2 vUv;\n\n#define PI 3.141592653589793\n#define TAU 6.283185307179586\n#define SMOOTH_DIST 0.017\n#define CENTER vec2(0.5, 0.5)\n\nfloat inside(float innerDist) {\n float dist = length(CENTER - vUv);\n return smoothstep(innerDist, innerDist + SMOOTH_DIST, dist);\n}\nfloat outside(float outerDist) {\n float dist = length(CENTER - vUv);\n return 1.0 - smoothstep(outerDist - SMOOTH_DIST, outerDist, dist);\n}\n\nvec4 create_circle() {\n float dist = length(CENTER - vUv);\n float radius = 0.3 * circleScale * tapScale;\n #if defined(USE_MAP)\n float delta = radius / 0.5;\n vec2 deltaUv = (vUv - CENTER) / delta + CENTER;\n vec4 image = texture2D(map, deltaUv);\n image.a = image.a * mapAlpha;\n #if defined(USE_COLOR)\n image = vec4(baseColor, 1.0) * image;\n #endif\n #endif\n #if defined(USE_REVERSE)\n image = vec4(baseColor, 1.0 - image.a);\n #else\n #if defined(USE_BORDER)\n float borderDist = clamp(borderWidth, 0.0, 1.0);\n float clipAlpha = inside(radius - borderDist * radius);\n float gradient = clamp(borderWidth * 2.0 + abs(dot(normalize(vec2(1.0, -1.0)), vUv - CENTER)), 0.0, 1.0);\n vec4 borderColor = vec4(borderColor, clipAlpha * gradient);\n image = mix(borderColor, image, image.a);\n #endif\n #endif\n return vec4(image.rgb, image.a * circleOpacity * tapOpacity * outside(radius));\n}\n\nvec4 create_disable() {\n float dist = length(CENTER - vUv);\n return vec4(baseColor, 0.5 * tapOpacity * outside(0.32 * circleScale * tapScale));\n}\n\nvec4 create_loading() {\n float angle = PI - atan(CENTER.x - vUv.x, CENTER.y - vUv.y);\n angle = mod(angle + loadingAngle, TAU);\n float gradient = (1.0 - smoothstep(0.0, TAU, angle)) * 0.9 + 0.1;\n float radius = 0.3 * circleScale * tapScale;\n float inner = inside(radius - 0.2 * radius);\n #if defined(USE_BORDER)\n float borderDist = clamp(borderWidth, 0.0, 1.0);\n inner = inside(radius - borderDist * radius);\n #endif\n return vec4(baseColor, gradient * tapOpacity * loadingOpacity * inner * outside(radius));\n}\n\nvec4 create_progress() {\n float angle = PI + atan(CENTER.x - vUv.x, CENTER.y - vUv.y);\n float bar = (1.0 - step(progress * TAU, angle)) * 0.7;\n float radius = 0.3 * circleScale * tapScale;\n float inner = inside(radius - 0.2 * radius);\n #if defined(USE_BORDER)\n float borderDist = clamp(borderWidth, 0.0, 1.0);\n inner = inside(radius - borderDist * radius);\n #endif\n return vec4(baseColor, bar * tapOpacity * progressOpacity * inner * outside(radius));\n}\n\nvec4 create_expand0() {\n float width = 0.2;\n float radius = 0.25 + (0.5 - 0.25) * expand0;\n float dist = length(CENTER - vUv);\n float gradient = (1.0 - clamp((radius - dist) / width, 0.0, 1.0)) * 0.8 * clamp((1.0 - abs(expand0 - 0.5) * 2.0) * 1.2, 0.0, 1.0);\n return vec4(baseColor, gradient * expandOpacity * outside(radius));\n}\n\nvec4 create_expand1() {\n float width = 0.2;\n float radius = 0.25 + (0.48 - 0.25) * expand1;\n float dist = length(CENTER - vUv);\n float gradient = (1.0 - clamp((radius - dist) / width, 0.0, 1.0)) * 0.8 * clamp((1.0 - abs(expand1 - 0.5) * 2.0) * 1.2, 0.0, 1.0);\n return vec4(baseColor, gradient * expandOpacity * outside(radius));\n}\n\nvoid main() {\n gl_FragColor = vec4(baseColor, 0);\n\n vec4 expand1Color = create_expand1();\n gl_FragColor = mix(gl_FragColor, expand1Color, expand1Color.a);\n\n vec4 expand0Color = create_expand0();\n gl_FragColor = mix(gl_FragColor, expand0Color, expand0Color.a);\n\n vec4 circleColor = create_circle();\n gl_FragColor = mix(gl_FragColor, circleColor, circleColor.a);\n\n vec4 progressColor = create_progress();\n gl_FragColor = mix(gl_FragColor, progressColor, progressColor.a);\n\n vec4 loadingColor = create_loading();\n gl_FragColor = mix(gl_FragColor, loadingColor, loadingColor.a);\n\n gl_FragColor = mix(gl_FragColor, create_disable(), disable);\n\n gl_FragColor = vec4(gl_FragColor.rgb, gl_FragColor.a * opacity);\n}\n",defines:{USE_COLOR:v,USE_MAP:void 0!==h,USE_BORDER:A>0,USE_REVERSE:m},uniforms:{baseColor:{value:new n.Color(d)},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:h},mapAlpha:{value:f},borderWidth:{value:A},borderColor:{value:new n.Color(g)}}})),u.renderOrder=-2,u.panoMesh.renderOrder=-2,u.panoMesh.position.y=.004,u.panoMesh.scale.set(p,1,p),u.add(u.panoMesh),u.currentStartTime=me(),u.needsRender=!0,u}return ne(t,e),t.prototype.setProgress=function(e){var t=this;this.setDisabled(!1),this.setLoading(!1),this.progress!==e&&(e=jr(e,0,1),this.tapMotion.ended&&(0===this.progress&&this.progressOpacityMotion.set({opacity:1},500).catch(fe),0===e?this.progressOpacityMotion.set({opacity:0},500).catch(fe).then((function(){t.progressMotion.set({progress:0},0).catch(fe)})):this.progressMotion.set({progress:jr(1.2*e,0,1)},100).catch(fe)),this.progress=e)},t.prototype.setOpacity=function(e){this.opacity!==e&&(this.opacity=e=jr(e,0,1),this.opacityMotion.set({opacity:e},200).catch(fe))},t.prototype.setCurrent=function(e){this.current!==e&&(this.currentMotion.set({progress:e?1:0},2e3).catch(fe),this.current=e,!0===this.current&&(this.currentStartTime=me()))},t.prototype.setLoading=function(e){this.loading!==e&&(this.loading=e,!0===this.disabled&&this.setDisabled(!1),this.loadingOpacityMotion.set({opacity:e?1:0},500).catch(fe))},t.prototype.setDisabled=function(e){this.disabled!==e&&(this.disabled=e,!0===this.loading&&this.setLoading(!1),this.disableMotion.set({progress:e?1:0},500).catch(fe))},t.prototype.tap=function(){var e=this;if(!this.tapMotion.ended)return Promise.resolve();return this.progressOpacityMotion.set({opacity:0},0).catch(fe),this.progressMotion.set({progress:0},0).catch(fe),this.tapMotion.setKeyframes([{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}}],600).then((function(){e.progressOpacityMotion.set({opacity:e.progress>0?1:0},300).catch(fe),e.progressMotion.set({progress:e.progress},120).catch(fe)})).catch(fe)},t.prototype.updateTime=function(e,t){if(!this.progressMotion.ended){this.progressMotion.update(e);var r=this.progressMotion.value.progress;this.panoMesh.material.uniforms.progress.value=r,this.needsRender=!0}if(!this.progressOpacityMotion.ended){this.progressOpacityMotion.update(e);var n=this.progressOpacityMotion.value.opacity;this.panoMesh.material.uniforms.progressOpacity.value=n,this.needsRender=!0}if(!this.opacityMotion.ended){this.opacityMotion.update(e);n=this.opacityMotion.value.opacity;this.panoMesh.material.uniforms.opacity.value=n,this.needsRender=!0}if(this.visible=0!==this.opacityMotion.value.opacity,(!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%(2*Math.PI),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 i=(e-this.currentStartTime-1500)/2e3;if(i%5<2){var o=i%1;this.panoMesh.material.uniforms.expand0.value=Ua(o)*this.currentMotion.value.progress,this.needsRender=!0}var a=(e-this.currentStartTime-1e3)/2e3;if(a%5<2){o=a%1;this.panoMesh.material.uniforms.expand1.value=Ua(o)*this.currentMotion.value.progress,this.needsRender=!0}}if(!this.disableMotion.ended){r=this.disableMotion.value.progress;this.disableMotion.update(e),this.panoMesh.material.uniforms.disable.value=r,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}(n.Object3D),Ha=new n.CircleBufferGeometry(.1,16),Ga=new n.ShaderMaterial({vertexShader:"\nvarying vec2 vUv;\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n",fragmentShader:"\nvarying vec2 vUv;\n\nfloat smoothDist = 0.01;\nvoid main() {\n vec2 center = vec2(0.5, 0.5);\n float dist = length(center - vUv);\n float outerDist = 0.49;\n float innerDist = 0.29;\n\n float outside = 1.0 - smoothstep(outerDist - smoothDist, outerDist, dist);\n float inside = smoothstep(innerDist, innerDist + smoothDist, dist);\n\n vec4 bg = vec4(0.576, 0.635, 1.0, 0.3);\n float gradientAlpha = clamp(abs(dist - (outerDist + innerDist) / 2.0) / (outerDist - innerDist) * 1.5 + 0.1, 0.0, 1.0);\n vec4 gradient = vec4(1.0, 1.0, 1.0, gradientAlpha);\n\n gl_FragColor = mix(bg, gradient, gradient.a);\n\n gl_FragColor = vec4(gl_FragColor.rgb, gl_FragColor.a * outside * inside);\n}\n",transparent:!0}),Ka=function(e){function t(){var t=e.call(this)||this;return t.ringMesh=new n.Mesh(Ha,Ga),t.ringMesh.renderOrder=-2,t.add(t.ringMesh),t}return ne(t,e),t.prototype.dispose=function(){this.remove(this.ringMesh)},t}(n.Object3D);function Wa(){return(65536*(1+Math.random())|0).toString(16).substring(1)}function Ya(){return(Wa()+Wa()+"-"+Wa()+"-4"+Wa().substr(0,3)+"-"+Wa()+"-"+Wa()+Wa()+Wa()).toLowerCase()}function Xa(e,t,r){var n=Math.abs(e-t);return n<.001||void 0!==r&&Math.abs(r-n)<.001}function Ja(e,t,r){return!Xa(e,t,r)}function Za(e,t){return e.distanceTo(t)<.001}function $a(e,t){return!Za(e,t)}var es=new n.Vector3(0,0,0),ts=function(e){function t(t,r){void 0===r&&(r=es);var i=e.call(this)||this,o=new n.BoxBufferGeometry(t.max.x-t.min.x+2*r.x,t.max.y-t.min.y+2*r.y,t.max.z-t.min.z+2*r.z,1,1);o.clearGroups(),o.addGroup(0,o.index?o.index.count:o.attributes.position.count,0),o.applyMatrix4((new n.Matrix4).makeScale(-1,1,1)),o.computeVertexNormals();var a=new Ht;a.defines.USE_MAP=!1,a.defines.USE_UV=!1,a.defines.USE_PANO_OPACITY=!0,a.uniforms.diffuse.value=new n.Color(10066329),a.depthWrite=!1;var s=new tt(o,[a]);return s.position.copy(t.getCenter(new n.Vector3)),s.frustumCulled=!1,i.add(s),i.boundingBox=new n.Box3,i.boundingBox.setFromObject(i),i.renderOrder=s.renderOrder=-1001,i}return ne(t,e),t}(ut);var rs=2*Math.PI;function ns(e){return e>=0&&e<rs?e:(e%rs+rs)%rs}var is=Math.PI,os=2*is;function as(e,t,r){if(e===t)return t;var n=t-e;return Math.abs(n)<=r?t:e+(n>0?1:-1)*r}function ss(e,t,r){if(e.longitude===t.longitude&&e.latitude===t.latitude)return{longitude:t.longitude,latitude:t.latitude};var n=ns(e.longitude),i=e.latitude,o=ns(t.longitude),a=t.latitude;o-n>is?n+=os:n-o>is&&(n-=os);var s=r/Math.sqrt(Math.pow(o-n,2)+Math.pow(a-i,2));return s>=1?{longitude:t.longitude,latitude:t.latitude}:{longitude:n+(o-n)*s,latitude:i+(a-i)*s}}!function(){try{var e=document.createElement("canvas");return!(!window.WebGLRenderingContext||!e.getContext("webgl")&&!e.getContext("experimental-webgl"))}catch(e){return!1}}();var ls=function(){var e="undefined"!=typeof navigator?navigator.userAgent.toLowerCase():"node";return/android/i.test(e)||/webos/i.test(e)||/ipad|iphone|ipod/i.test(e)||/iemobile/i.test(e)||/opera mini/i.test(e)||/blackberry/i.test(e)||/windows phone/i.test(e)};function cs(e,t){for(var r=!1,n={type:e,timeStamp:me(),get defaultPrevented(){return r},preventDefault:function(){r=!0}},i=0,o=Object.keys(t);i<o.length;i++){var a=o[i];a in n||(n[a]=t[a])}return n}function us(e,t){e.mode=t.mode,e.workCode=t.workCode,e.panoIndex=t.panoIndex,e.longitude=t.longitude,e.latitude=t.latitude,e.fov=t.fov,e.offset.copy(t.offset),e.distance=t.distance}function ds(e,t){return e.workCode===t.workCode&&e.mode===t.mode&&e.panoIndex===t.panoIndex&&Xa(e.longitude,t.longitude,2*Math.PI)&&Xa(e.latitude,t.latitude)&&Xa(e.fov,t.fov)&&Za(e.offset,t.offset)&&Xa(e.distance,t.distance)}var ps=function(e){return Number(e)};function hs(e,t,r){var n;void 0===t&&(t=ps),void 0===r&&(r=!1);for(var i,o=1/0,a=0,s=e;a<s.length;a++){var l=s[a],c=t(l);c<=o&&(i=(n=[l,c])[0],o=n[1])}return isFinite(o)||(o=0),r?[i,o]:i}function fs(e){for(var t in e)return!1;return!0}function vs(e){return{longitude:e.longitude,latitude:e.latitude,fov:e.fov,offset:e.offset.clone(),distance:e.distance}}
|
|
357
|
+
function(e,t){for(var r=e.toByteArray(),n=0;n<r.length&&0==r[n];)++n;if(r.length-n!=t-1||2!=r[n])return null;for(++n;0!=r[n];)if(++n>=r.length)return null;for(var i="";++n<r.length;){var o=255&r[n];o<128?i+=String.fromCharCode(o):o>191&&o<224?(i+=String.fromCharCode((31&o)<<6|63&r[n+1]),++n):(i+=String.fromCharCode((15&o)<<12|(63&r[n+1])<<6|63&r[n+2]),n+=2)}return i}(r,this.n.bitLength()+7>>3)},S.prototype.decryptOAEP=function(e,t,r){if(e.length!=Math.ceil(this.n.bitLength()/4))throw new Error("wrong ctext length");var n=M(e,16),i=this.doPrivate(n);return null==i?null:function(e,t,r,n){var i=s.crypto.MessageDigest,o=s.crypto.Util,a=null;for(r||(r="sha1"),"string"==typeof r&&(a=i.getCanonicalAlgName(r),n=i.getHashLength(a),r=function(e){return B(o.hashHex(R(e),a))}),e=e.toByteArray(),l=0;l<e.length;l+=1)e[l]&=255;for(;e.length<t;)e.unshift(0);if((e=String.fromCharCode.apply(String,e)).length<2*n+2)throw"Cipher too short";var l,c=e.substr(1,n),u=e.substr(n+1),d=I(u,n,r),p=[];for(l=0;l<c.length;l+=1)p[l]=c.charCodeAt(l)^d.charCodeAt(l);var h=I(String.fromCharCode.apply(String,p),e.length-n,r),f=[];for(l=0;l<u.length;l+=1)f[l]=u.charCodeAt(l)^h.charCodeAt(l);if((f=String.fromCharCode.apply(String,f)).substr(0,n)!==r(""))throw"Hash mismatch";var v=(f=f.substr(n)).indexOf("");if((-1!=v?f.substr(0,v).lastIndexOf("\0"):-1)+1!=v)throw"Malformed data";return f.substr(v+1)}(i,this.n.bitLength()+7>>3,t,r)},void 0!==s.lang&&s.lang||(s.lang={}),s.lang.String=function(){},s.lang.String.isHex=function(e){return Q(e)},s.lang.String.isMail=function(e){return null!==e.match(/^[A-Za-z0-9]{1}[A-Za-z0-9_.-]*@{1}[A-Za-z0-9_.-]{1,}\.[A-Za-z0-9]{1,}$/)};var N=function(e,t,r){return null==r&&(r="0"),e.length>=t?e:new Array(t-e.length+1).join(r)+e};void 0!==s.crypto&&s.crypto||(s.crypto={}),s.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:l.algo.MD5,sha1:l.algo.SHA1,sha224:l.algo.SHA224,sha256:l.algo.SHA256,sha384:l.algo.SHA384,sha512:l.algo.SHA512,ripemd160:l.algo.RIPEMD160},this.hashString=function(e,t){return new s.crypto.MessageDigest({alg:t}).digestString(e)},this.hashHex=function(e,t){return new s.crypto.MessageDigest({alg:t}).digestHex(e)},this.sha1=function(e){return this.hashString(e,"sha1")},this.sha256=function(e){return this.hashString(e,"sha256")},this.sha256Hex=function(e){return this.hashHex(e,"sha256")},this.sha512=function(e){return this.hashString(e,"sha512")},this.sha512Hex=function(e){return this.hashHex(e,"sha512")}},s.crypto.MessageDigest=function(e){this.setAlgAndProvider=function(e,t){if(null!==(e=s.crypto.MessageDigest.getCanonicalAlgName(e))&&void 0===t&&(t=s.crypto.Util.DEFAULTPROVIDER[e]),-1!=":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:".indexOf(e)&&"cryptojs"==t){try{this.md=s.crypto.Util.CRYPTOJSMESSAGEDIGESTNAME[e].create()}catch(t){throw"setAlgAndProvider hash alg set fail alg="+e+"/"+t}this.updateString=function(e){this.md.update(e)},this.updateHex=function(e){var t=l.enc.Hex.parse(e);this.md.update(t)},this.digest=function(){return this.md.finalize().toString(l.enc.Hex)},this.digestString=function(e){return this.updateString(e),this.digest()},this.digestHex=function(e){return this.updateHex(e),this.digest()}}if(-1!=":sha256:".indexOf(e)&&"sjcl"==t){try{this.md=new sjcl.hash.sha256}catch(t){throw"setAlgAndProvider hash alg set fail alg="+e+"/"+t}this.updateString=function(e){this.md.update(e)},this.updateHex=function(e){var t=sjcl.codec.hex.toBits(e);this.md.update(t)},this.digest=function(){var e=this.md.finalize();return sjcl.codec.hex.fromBits(e)},this.digestString=function(e){return this.updateString(e),this.digest()},this.digestHex=function(e){return this.updateHex(e),this.digest()}}},this.updateString=function(e){throw"updateString(str) not supported for this alg/prov: "+this.algName+"/"+this.provName},this.updateHex=function(e){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(e){throw"digestString(str) not supported for this alg/prov: "+this.algName+"/"+this.provName},this.digestHex=function(e){throw"digestHex(hex) not supported for this alg/prov: "+this.algName+"/"+this.provName},void 0!==e&&void 0!==e.alg&&(this.algName=e.alg,void 0===e.prov&&(this.provName=s.crypto.Util.DEFAULTPROVIDER[this.algName]),this.setAlgAndProvider(this.algName,this.provName))},s.crypto.MessageDigest.getCanonicalAlgName=function(e){return"string"==typeof e&&(e=(e=e.toLowerCase()).replace(/-/,"")),e},s.crypto.MessageDigest.getHashLength=function(e){var t=s.crypto.MessageDigest,r=t.getCanonicalAlgName(e);if(void 0===t.HASHLENGTH[r])throw"not supported algorithm: "+e;return t.HASHLENGTH[r]},s.crypto.MessageDigest.HASHLENGTH={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,ripemd160:20},s.crypto.Signature=function(e){var t=null;if(this._setAlgNames=function(){var e=this.algName.match(/^(.+)with(.+)$/);e&&(this.mdAlgName=e[1].toLowerCase(),this.pubkeyAlgName=e[2].toLowerCase(),"rsaandmgf1"==this.pubkeyAlgName&&"sha"==this.mdAlgName&&(this.mdAlgName="sha1"))},this._zeroPaddingOfSignature=function(e,t){for(var r="",n=t/4-e.length,i=0;i<n;i++)r+="0";return r+e},this.setAlgAndProvider=function(e,t){if(this._setAlgNames(),"cryptojs/jsrsa"!=t)throw new Error("provider not supported: "+t);if(-1!=":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:".indexOf(this.mdAlgName)){try{this.md=new s.crypto.MessageDigest({alg:this.mdAlgName})}catch(e){throw new Error("setAlgAndProvider hash alg set fail alg="+this.mdAlgName+"/"+e)}this.init=function(e,t){var r=null;try{r=void 0===t?K.getKey(e):K.getKey(e,t)}catch(e){throw"init failed:"+e}if(!0===r.isPrivate)this.prvKey=r,this.state="SIGN";else{if(!0!==r.isPublic)throw"init failed.:"+r;this.pubKey=r,this.state="VERIFY"}},this.updateString=function(e){this.md.updateString(e)},this.updateHex=function(e){this.md.updateHex(e)},this.verify=function(e){if(this.sHashHex=this.md.digest(),this.pubKey instanceof S&&"rsaandmgf1"===this.pubkeyAlgName)return this.pubKey.verifyWithMessageHashPSS(this.sHashHex,e,this.mdAlgName,this.pssSaltLen);if(this.pubKey instanceof S&&"rsa"===this.pubkeyAlgName)return this.pubKey.verifyWithMessageHash(this.sHashHex,e);throw"Signature: unsupported public key alg: "+this.pubkeyAlgName}}},this.init=function(e,t){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=e,void 0!==e&&(void 0!==e.alg&&(this.algName=e.alg,void 0===e.prov?this.provName=s.crypto.Util.DEFAULTPROVIDER[this.algName]:this.provName=e.prov,this.algProvName=this.algName+":"+this.provName,this.setAlgAndProvider(this.algName,this.provName),this._setAlgNames()),void 0!==e.psssaltlen&&(this.pssSaltLen=e.psssaltlen),void 0!==e.prvkeypem)){if(void 0!==e.prvkeypas)throw"both prvkeypem and prvkeypas parameters not supported";try{t=K.getKey(e.prvkeypem);this.init(t)}catch(e){throw"fatal error to load pem private key: "+e}}},s.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 V,z,j,U,q,_,H,G,K=(V=function(e,t,r){return z(l.AES,e,t,r)},z=function(e,t,r,n){var i=l.enc.Hex.parse(t),o=l.enc.Hex.parse(r),a=l.enc.Hex.parse(n),s={};s.key=o,s.iv=a,s.ciphertext=i;var c=e.decrypt(s,o,{iv:a});return l.enc.Hex.stringify(c)},j=function(e,t,r){return U(l.AES,e,t,r)},U=function(e,t,r,n){var i=l.enc.Hex.parse(t),o=l.enc.Hex.parse(r),a=l.enc.Hex.parse(n),s=e.encrypt(i,o,{iv:a}),c=l.enc.Hex.parse(s.toString());return l.enc.Base64.stringify(c)},q={"AES-256-CBC":{proc:V,eproc:j,keylen:32,ivlen:16},"AES-192-CBC":{proc:V,eproc:j,keylen:24,ivlen:16},"AES-128-CBC":{proc:V,eproc:j,keylen:16,ivlen:16},"DES-EDE3-CBC":{proc:function(e,t,r){return z(l.TripleDES,e,t,r)},eproc:function(e,t,r){return U(l.TripleDES,e,t,r)},keylen:24,ivlen:8},"DES-CBC":{proc:function(e,t,r){return z(l.DES,e,t,r)},eproc:function(e,t,r){return U(l.DES,e,t,r)},keylen:8,ivlen:8}},_=function(e){var t={},r=e.match(new RegExp("DEK-Info: ([^,]+),([0-9A-Fa-f]+)","m"));r&&(t.cipher=r[1],t.ivsalt=r[2]);var n=e.match(new RegExp("-----BEGIN ([A-Z]+) PRIVATE KEY-----"));n&&(t.type=n[1]);var i=-1,o=0;-1!=e.indexOf("\r\n\r\n")&&(i=e.indexOf("\r\n\r\n"),o=2),-1!=e.indexOf("\n\n")&&(i=e.indexOf("\n\n"),o=1);var a=e.indexOf("-----END");if(-1!=i&&-1!=a){var s=e.substring(i+2*o,a-o);s=s.replace(/\s+/g,""),t.data=s}return t},H=function(e,t,r){for(var n=r.substring(0,16),i=l.enc.Hex.parse(n),o=l.enc.Utf8.parse(t),a=q[e].keylen+q[e].ivlen,s="",c=null;;){var u=l.algo.MD5.create();if(null!=c&&u.update(c),u.update(o),u.update(i),c=u.finalize(),(s+=l.enc.Hex.stringify(c)).length>=2*a)break}var d={};return d.keyhex=s.substr(0,2*q[e].keylen),d.ivhex=s.substr(2*q[e].keylen,2*q[e].ivlen),d},G=function(e,t,r,n){var i=l.enc.Base64.parse(e),o=l.enc.Hex.stringify(i);return(0,q[t].proc)(o,r,n)},{version:"1.0.0",parsePKCS5PEM:function(e){return _(e)},getKeyAndUnusedIvByPasscodeAndIvsalt:function(e,t,r){return H(e,t,r)},decryptKeyB64:function(e,t,r,n){return G(e,t,r,n)},getDecryptedKeyHex:function(e,t){var r=_(e),n=r.cipher,i=r.ivsalt,o=r.data,a=H(n,t,i).keyhex;return G(o,n,a,i)},getEncryptedPKCS5PEMFromPrvKeyHex:function(e,t,r,n,i){var o="";if(void 0!==n&&null!=n||(n="AES-256-CBC"),void 0===q[n])throw"KEYUTIL unsupported algorithm: "+n;if(void 0===i||null==i){var a=function(e){var t=l.lib.WordArray.random(e);return l.enc.Hex.stringify(t)}(q[n].ivlen);i=a.toUpperCase()}var s=function(e,t,r,n){return(0,q[t].eproc)(e,r,n)}(t,n,H(n,r,i).keyhex,i);return o="-----BEGIN "+e+" PRIVATE KEY-----\r\n",o+="Proc-Type: 4,ENCRYPTED\r\n",o+="DEK-Info: "+n+","+i+"\r\n",o+="\r\n",o+=s.replace(/(.{64})/g,"$1\r\n"),o+="\r\n-----END "+e+" PRIVATE KEY-----\r\n"},parseHexOfEncryptedPKCS8:function(e){var t=W,r=t.getChildIdx,n=t.getV,i={},o=r(e,0);if(2!=o.length)throw"malformed format: SEQUENCE(0).items != 2: "+o.length;i.ciphertext=n(e,o[1]);var a=r(e,o[0]);if(2!=a.length)throw"malformed format: SEQUENCE(0.0).items != 2: "+a.length;if("2a864886f70d01050d"!=n(e,a[0]))throw"this only supports pkcs5PBES2";var s=r(e,a[1]);if(2!=a.length)throw"malformed format: SEQUENCE(0.0.1).items != 2: "+s.length;var l=r(e,s[1]);if(2!=l.length)throw"malformed format: SEQUENCE(0.0.1.1).items != 2: "+l.length;if("2a864886f70d0307"!=n(e,l[0]))throw"this only supports TripleDES";i.encryptionSchemeAlg="TripleDES",i.encryptionSchemeIV=n(e,l[1]);var c=r(e,s[0]);if(2!=c.length)throw"malformed format: SEQUENCE(0.0.1.0).items != 2: "+c.length;if("2a864886f70d01050c"!=n(e,c[0]))throw"this only supports pkcs5PBKDF2";var u=r(e,c[1]);if(u.length<2)throw"malformed format: SEQUENCE(0.0.1.0.1).items < 2: "+u.length;i.pbkdf2Salt=n(e,u[0]);var d=n(e,u[1]);try{i.pbkdf2Iter=parseInt(d,16)}catch(e){throw"malformed format pbkdf2Iter: "+d}return i},getPBKDF2KeyHexFromParam:function(e,t){var r=l.enc.Hex.parse(e.pbkdf2Salt),n=e.pbkdf2Iter,i=l.PBKDF2(t,r,{keySize:6,iterations:n});return l.enc.Hex.stringify(i)},_getPlainPKCS8HexFromEncryptedPKCS8PEM:function(e,t){var r=F(e,"ENCRYPTED PRIVATE KEY"),n=this.parseHexOfEncryptedPKCS8(r),i=K.getPBKDF2KeyHexFromParam(n,t),o={};o.ciphertext=l.enc.Hex.parse(n.ciphertext);var a=l.enc.Hex.parse(i),s=l.enc.Hex.parse(n.encryptionSchemeIV),c=l.TripleDES.decrypt(o,a,{iv:s});return l.enc.Hex.stringify(c)},getKeyFromEncryptedPKCS8PEM:function(e,t){var r=this._getPlainPKCS8HexFromEncryptedPKCS8PEM(e,t);return this.getKeyFromPlainPrivatePKCS8Hex(r)},parsePlainPrivatePKCS8Hex:function(e){var t=W,r=t.getChildIdx,n=t.getV,i={algparam:null};if("30"!=e.substr(0,2))throw new Error("malformed plain PKCS8 private key(code:001)");var o=r(e,0);if(o.length<3)throw new Error("malformed plain PKCS8 private key(code:002)");if("30"!=e.substr(o[1],2))throw new Error("malformed PKCS8 private key(code:003)");var a=r(e,o[1]);if(2!=a.length)throw new Error("malformed PKCS8 private key(code:004)");if("06"!=e.substr(a[0],2))throw new Error("malformed PKCS8 private key(code:005)");if(i.algoid=n(e,a[0]),"06"==e.substr(a[1],2)&&(i.algparam=n(e,a[1])),"04"!=e.substr(o[2],2))throw new Error("malformed PKCS8 private key(code:006)");return i.keyidx=t.getVidx(e,o[2]),i},getKeyFromPlainPrivatePKCS8PEM:function(e){var t=F(e,"PRIVATE KEY");return this.getKeyFromPlainPrivatePKCS8Hex(t)},getKeyFromPlainPrivatePKCS8Hex:function(e){var t,r=this.parsePlainPrivatePKCS8Hex(e);if("2a864886f70d010101"==r.algoid)t=new S;else if(s.crypto.DSA&&"2a8648ce380401"==r.algoid)t=new s.crypto.DSA;else{if(!s.crypto.ECDSA||"2a8648ce3d0201"!=r.algoid)throw"unsupported private key algorithm";t=new s.crypto.ECDSA}return t.readPKCS8PrvKeyHex(e),t},_getKeyFromPublicPKCS8Hex:function(e){var t,r=W.getVbyList(e,0,[0,0],"06");if("2a864886f70d010101"===r)t=new S;else if(s.crypto.DSA&&"2a8648ce380401"===r)t=new s.crypto.DSA;else{if(!s.crypto.ECDSA||"2a8648ce3d0201"!==r)throw"unsupported PKCS#8 public key hex";t=new s.crypto.ECDSA}return t.readPKCS8PubKeyHex(e),t},parsePublicRawRSAKeyHex:function(e){var t=W,r=t.getChildIdx,n=t.getV,i={};if("30"!=e.substr(0,2))throw"malformed RSA key(code:001)";var o=r(e,0);if(2!=o.length)throw"malformed RSA key(code:002)";if("02"!=e.substr(o[0],2))throw"malformed RSA key(code:003)";if(i.n=n(e,o[0]),"02"!=e.substr(o[1],2))throw"malformed RSA key(code:004)";return i.e=n(e,o[1]),i},parsePublicPKCS8Hex:function(e){var t=W,r=t.getChildIdx,n=t.getV,i={algparam:null},o=r(e,0);if(2!=o.length)throw"outer DERSequence shall have 2 elements: "+o.length;var a=o[0];if("30"!=e.substr(a,2))throw"malformed PKCS8 public key(code:001)";var s=r(e,a);if(2!=s.length)throw"malformed PKCS8 public key(code:002)";if("06"!=e.substr(s[0],2))throw"malformed PKCS8 public key(code:003)";if(i.algoid=n(e,s[0]),"06"==e.substr(s[1],2)?i.algparam=n(e,s[1]):"30"==e.substr(s[1],2)&&(i.algparam={},i.algparam.p=t.getVbyList(e,s[1],[0],"02"),i.algparam.q=t.getVbyList(e,s[1],[1],"02"),i.algparam.g=t.getVbyList(e,s[1],[2],"02")),"03"!=e.substr(o[1],2))throw"malformed PKCS8 public key(code:004)";return i.key=n(e,o[1]).substr(2),i}});K.getKey=function(e,t,r){var n=(g=W).getChildIdx;g.getV;var i=g.getVbyList,o=s.crypto,a=o.ECDSA,l=o.DSA,u=S,d=F,p=K;if(void 0!==u&&e instanceof u)return e;if(void 0!==a&&e instanceof a)return e;if(void 0!==l&&e instanceof l)return e;if(void 0!==e.curve&&void 0!==e.xy&&void 0===e.d)return new a({pub:e.xy,curve:e.curve});if(void 0!==e.curve&&void 0!==e.d)return new a({prv:e.d,curve:e.curve});if(void 0===e.kty&&void 0!==e.n&&void 0!==e.e&&void 0===e.d)return(R=new u).setPublic(e.n,e.e),R;if(void 0===e.kty&&void 0!==e.n&&void 0!==e.e&&void 0!==e.d&&void 0!==e.p&&void 0!==e.q&&void 0!==e.dp&&void 0!==e.dq&&void 0!==e.co&&void 0===e.qi)return(R=new u).setPrivateEx(e.n,e.e,e.d,e.p,e.q,e.dp,e.dq,e.co),R;if(void 0===e.kty&&void 0!==e.n&&void 0!==e.e&&void 0!==e.d&&void 0===e.p)return(R=new u).setPrivate(e.n,e.e,e.d),R;if(void 0!==e.p&&void 0!==e.q&&void 0!==e.g&&void 0!==e.y&&void 0===e.x)return(R=new l).setPublic(e.p,e.q,e.g,e.y),R;if(void 0!==e.p&&void 0!==e.q&&void 0!==e.g&&void 0!==e.y&&void 0!==e.x)return(R=new l).setPrivate(e.p,e.q,e.g,e.y,e.x),R;if("RSA"===e.kty&&void 0!==e.n&&void 0!==e.e&&void 0===e.d)return(R=new u).setPublic(P(e.n),P(e.e)),R;if("RSA"===e.kty&&void 0!==e.n&&void 0!==e.e&&void 0!==e.d&&void 0!==e.p&&void 0!==e.q&&void 0!==e.dp&&void 0!==e.dq&&void 0!==e.qi)return(R=new u).setPrivateEx(P(e.n),P(e.e),P(e.d),P(e.p),P(e.q),P(e.dp),P(e.dq),P(e.qi)),R;if("RSA"===e.kty&&void 0!==e.n&&void 0!==e.e&&void 0!==e.d)return(R=new u).setPrivate(P(e.n),P(e.e),P(e.d)),R;if("EC"===e.kty&&void 0!==e.crv&&void 0!==e.x&&void 0!==e.y&&void 0===e.d){var h=(B=new a({curve:e.crv})).ecparams.keylen/4,f="04"+("0000000000"+P(e.x)).slice(-h)+("0000000000"+P(e.y)).slice(-h);return B.setPublicKeyHex(f),B}if("EC"===e.kty&&void 0!==e.crv&&void 0!==e.x&&void 0!==e.y&&void 0!==e.d){h=(B=new a({curve:e.crv})).ecparams.keylen/4,f="04"+("0000000000"+P(e.x)).slice(-h)+("0000000000"+P(e.y)).slice(-h);var v=("0000000000"+P(e.d)).slice(-h);return B.setPublicKeyHex(f),B.setPrivateKeyHex(v),B}if("pkcs5prv"===r){var m,A=e,g=W;if(9===(m=n(A,0)).length)(R=new u).readPKCS5PrvKeyHex(A);else if(6===m.length)(R=new l).readPKCS5PrvKeyHex(A);else{if(!(m.length>2&&"04"===A.substr(m[1],2)))throw"unsupported PKCS#1/5 hexadecimal key";(R=new a).readPKCS5PrvKeyHex(A)}return R}if("pkcs8prv"===r)return R=p.getKeyFromPlainPrivatePKCS8Hex(e);if("pkcs8pub"===r)return p._getKeyFromPublicPKCS8Hex(e);if("x509pub"===r)return X.getPublicKeyFromCertHex(e);if(-1!=e.indexOf("-END CERTIFICATE-",0)||-1!=e.indexOf("-END X509 CERTIFICATE-",0)||-1!=e.indexOf("-END TRUSTED CERTIFICATE-",0))return X.getPublicKeyFromCertPEM(e);if(-1!=e.indexOf("-END PUBLIC KEY-")){var y=F(e,"PUBLIC KEY");return p._getKeyFromPublicPKCS8Hex(y)}if(-1!=e.indexOf("-END RSA PRIVATE KEY-")&&-1==e.indexOf("4,ENCRYPTED")){var b=d(e,"RSA PRIVATE KEY");return p.getKey(b,null,"pkcs5prv")}if(-1!=e.indexOf("-END DSA PRIVATE KEY-")&&-1==e.indexOf("4,ENCRYPTED")){var x=i(D=d(e,"DSA PRIVATE KEY"),0,[1],"02"),w=i(D,0,[2],"02"),E=i(D,0,[3],"02"),M=i(D,0,[4],"02"),C=i(D,0,[5],"02");return(R=new l).setPrivate(new c(x,16),new c(w,16),new c(E,16),new c(M,16),new c(C,16)),R}if(-1!=e.indexOf("-END EC PRIVATE KEY-")&&-1==e.indexOf("4,ENCRYPTED")){b=d(e,"EC PRIVATE KEY");return p.getKey(b,null,"pkcs5prv")}if(-1!=e.indexOf("-END PRIVATE KEY-"))return p.getKeyFromPlainPrivatePKCS8PEM(e);if(-1!=e.indexOf("-END RSA PRIVATE KEY-")&&-1!=e.indexOf("4,ENCRYPTED")){var I=p.getDecryptedKeyHex(e,t),T=new S;return T.readPKCS5PrvKeyHex(I),T}if(-1!=e.indexOf("-END EC PRIVATE KEY-")&&-1!=e.indexOf("4,ENCRYPTED")){var B,R=i(D=p.getDecryptedKeyHex(e,t),0,[1],"04"),k=i(D,0,[2,0],"06"),O=i(D,0,[3,0],"03").substr(2);if(void 0===s.crypto.OID.oidhex2name[k])throw"undefined OID(hex) in KJUR.crypto.OID: "+k;return(B=new a({curve:s.crypto.OID.oidhex2name[k]})).setPublicKeyHex(O),B.setPrivateKeyHex(R),B.isPublic=!1,B}if(-1!=e.indexOf("-END DSA PRIVATE KEY-")&&-1!=e.indexOf("4,ENCRYPTED")){var D;x=i(D=p.getDecryptedKeyHex(e,t),0,[1],"02"),w=i(D,0,[2],"02"),E=i(D,0,[3],"02"),M=i(D,0,[4],"02"),C=i(D,0,[5],"02");return(R=new l).setPrivate(new c(x,16),new c(w,16),new c(E,16),new c(M,16),new c(C,16)),R}if(-1!=e.indexOf("-END ENCRYPTED PRIVATE KEY-"))return p.getKeyFromEncryptedPKCS8PEM(e,t);throw new Error("not supported argument")},void 0!==s.asn1&&s.asn1||(s.asn1={}),s.asn1.ASN1Util={},s.asn1.ASN1Util.oidHexToInt=function(e){for(var t="",r=parseInt(e.substr(0,2),16),n=(t=Math.floor(r/40)+"."+r%40,""),i=2;i<e.length;i+=2){var o=("00000000"+parseInt(e.substr(i,2),16).toString(2)).slice(-8);if(n+=o.substr(1,7),"0"==o.substr(0,1))t=t+"."+new c(n,2).toString(10),n=""}return t};var W=new function(){};function Y(e){for(var t in s.crypto.Util.DIGESTINFOHEAD){var r=s.crypto.Util.DIGESTINFOHEAD[t],n=r.length;if(e.substring(0,n)==r)return[t,e.substring(n)]}return[]}function X(e){var t,r=W,n=r.getChildIdx,i=r.getV,o=r.getTLV,a=r.getVbyList,l=r.getVbyListEx,c=r.getTLVbyList,u=r.getTLVbyListEx,d=r.getIdxbyList,p=r.getIdxbyListEx,h=r.getVidx,f=r.getInt,v=r.oidname,m=r.hextooidstr,A=F;try{t=s.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV}catch(e){}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(null===this.hex||0!==this.version)return this.version;var e=c(this.hex,0,[0,0]);if("a0"==e.substr(0,2)){var t=c(e,0,[0]),r=f(t,0);if(r<0||2<r)throw new Error("malformed version field");return this.version=r+1,this.version}return this.version=1,this.foffset=-1,1},this.getSerialNumberHex=function(){return l(this.hex,0,[0,0],"02")},this.getSignatureAlgorithmField=function(){var e=u(this.hex,0,[0,1]);return this.getAlgorithmIdentifierName(e)},this.getAlgorithmIdentifierName=function(e){for(var r in t)if(e===t[r])return r;return v(l(e,0,[0],"06"))},this.getIssuer=function(){return this.getX500Name(this.getIssuerHex())},this.getIssuerHex=function(){return c(this.hex,0,[0,3+this.foffset],"30")},this.getIssuerString=function(){return this.getIssuer().str},this.getSubject=function(){return this.getX500Name(this.getSubjectHex())},this.getSubjectHex=function(){return c(this.hex,0,[0,5+this.foffset],"30")},this.getSubjectString=function(){return this.getSubject().str},this.getNotBefore=function(){var e=a(this.hex,0,[0,4+this.foffset,0]);return e=e.replace(/(..)/g,"%$1"),e=decodeURIComponent(e)},this.getNotAfter=function(){var e=a(this.hex,0,[0,4+this.foffset,1]);return e=e.replace(/(..)/g,"%$1"),e=decodeURIComponent(e)},this.getPublicKeyHex=function(){return r.getTLVbyList(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyIdx=function(){return d(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyContentIdx=function(){var e=this.getPublicKeyIdx();return d(this.hex,e,[1,0],"30")},this.getPublicKey=function(){return K.getKey(this.getPublicKeyHex(),null,"pkcs8pub")},this.getSignatureAlgorithmName=function(){var e=c(this.hex,0,[1],"30");return this.getAlgorithmIdentifierName(e)},this.getSignatureValueHex=function(){return a(this.hex,0,[2],"03",!0)},this.verifySignature=function(e){var t=this.getSignatureAlgorithmField(),r=this.getSignatureValueHex(),n=c(this.hex,0,[0],"30"),i=new s.crypto.Signature({alg:t});return i.init(e),i.updateHex(n),i.verify(r)},this.parseExt=function(e){var t,o,s;if(void 0===e){if(s=this.hex,3!==this.version)return-1;t=d(s,0,[0,7,0],"30"),o=n(s,t)}else{s=F(e);var l=d(s,0,[0,3,0,0],"06");if("2a864886f70d01090e"!=i(s,l))return void(this.aExtInfo=new Array);t=d(s,0,[0,3,0,1,0],"30"),o=n(s,t),this.hex=s}this.aExtInfo=new Array;for(var c=0;c<o.length;c++){var u={critical:!1},p=0;3===n(s,o[c]).length&&(u.critical=!0,p=1),u.oid=r.hextooidstr(a(s,o[c],[0],"06"));var f=d(s,o[c],[1+p]);u.vidx=h(s,f),this.aExtInfo.push(u)}},this.getExtInfo=function(e){var t=this.aExtInfo,r=e;if(e.match(/^[0-9.]+$/)||(r=s.asn1.x509.OID.name2oid(e)),""!==r)for(var n=0;n<t.length;n++)if(t[n].oid===r)return t[n]},this.getExtBasicConstraints=function(e,t){if(void 0===e&&void 0===t){var r=this.getExtInfo("basicConstraints");if(void 0===r)return;e=o(this.hex,r.vidx),t=r.critical}var n={extname:"basicConstraints"};if(t&&(n.critical=!0),"3000"===e)return n;if("30030101ff"===e)return n.cA=!0,n;if("30060101ff02"===e.substr(0,12)){var a=i(e,10),s=parseInt(a,16);return n.cA=!0,n.pathLen=s,n}throw new Error("hExtV parse error: "+e)},this.getExtKeyUsage=function(e,t){if(void 0===e&&void 0===t){var r=this.getExtInfo("keyUsage");if(void 0===r)return;e=o(this.hex,r.vidx),t=r.critical}var n={extname:"keyUsage"};return t&&(n.critical=!0),n.names=this.getExtKeyUsageString(e).split(","),n},this.getExtKeyUsageBin=function(e){if(void 0===e){var t=this.getExtInfo("keyUsage");if(void 0===t)return"";e=o(this.hex,t.vidx)}if(8!=e.length&&10!=e.length)throw new Error("malformed key usage value: "+e);var r="000000000000000"+parseInt(e.substr(6),16).toString(2);return 8==e.length&&(r=r.slice(-8)),10==e.length&&(r=r.slice(-16)),""==(r=r.replace(/0+$/,""))&&(r="0"),r},this.getExtKeyUsageString=function(e){for(var t=this.getExtKeyUsageBin(e),r=new Array,n=0;n<t.length;n++)"1"==t.substr(n,1)&&r.push(X.KEYUSAGE_NAME[n]);return r.join(",")},this.getExtSubjectKeyIdentifier=function(e,t){if(void 0===e&&void 0===t){var r=this.getExtInfo("subjectKeyIdentifier");if(void 0===r)return;e=o(this.hex,r.vidx),t=r.critical}var n={extname:"subjectKeyIdentifier"};t&&(n.critical=!0);var a=i(e,0);return n.kid={hex:a},n},this.getExtAuthorityKeyIdentifier=function(e,t){if(void 0===e&&void 0===t){var r=this.getExtInfo("authorityKeyIdentifier");if(void 0===r)return;e=o(this.hex,r.vidx),t=r.critical}var a={extname:"authorityKeyIdentifier"};t&&(a.critical=!0);for(var s=n(e,0),l=0;l<s.length;l++){var c=e.substr(s[l],2);if("80"===c&&(a.kid={hex:i(e,s[l])}),"a1"===c){var u=o(e,s[l]),d=this.getGeneralNames(u);a.issuer=d[0].dn}"82"===c&&(a.sn={hex:i(e,s[l])})}return a},this.getExtExtKeyUsage=function(e,t){if(void 0===e&&void 0===t){var r=this.getExtInfo("extKeyUsage");if(void 0===r)return;e=o(this.hex,r.vidx),t=r.critical}var a={extname:"extKeyUsage",array:[]};t&&(a.critical=!0);for(var s=n(e,0),l=0;l<s.length;l++)a.array.push(v(i(e,s[l])));return a},this.getExtExtKeyUsageName=function(){var e=this.getExtInfo("extKeyUsage");if(void 0===e)return e;var t=new Array,r=o(this.hex,e.vidx);if(""===r)return t;for(var a=n(r,0),s=0;s<a.length;s++)t.push(v(i(r,a[s])));return t},this.getExtSubjectAltName=function(e,t){if(void 0===e&&void 0===t){var r=this.getExtInfo("subjectAltName");if(void 0===r)return;e=o(this.hex,r.vidx),t=r.critical}var n={extname:"subjectAltName",array:[]};return t&&(n.critical=!0),n.array=this.getGeneralNames(e),n},this.getExtIssuerAltName=function(e,t){if(void 0===e&&void 0===t){var r=this.getExtInfo("issuerAltName");if(void 0===r)return;e=o(this.hex,r.vidx),t=r.critical}var n={extname:"issuerAltName",array:[]};return t&&(n.critical=!0),n.array=this.getGeneralNames(e),n},this.getGeneralNames=function(e){for(var t=n(e,0),r=[],i=0;i<t.length;i++){var a=this.getGeneralName(o(e,t[i]));void 0!==a&&r.push(a)}return r},this.getGeneralName=function(e){var t=e.substr(0,2),r=i(e,0),n=B(r);return"81"==t?{rfc822:n}:"82"==t?{dns:n}:"86"==t?{uri:n}:"87"==t?{ip:D(r)}:"a4"==t?{dn:this.getX500Name(r)}:void 0},this.getExtSubjectAltName2=function(){var e,t,r,a=this.getExtInfo("subjectAltName");if(void 0===a)return a;for(var s=new Array,l=o(this.hex,a.vidx),c=n(l,0),u=0;u<c.length;u++)r=l.substr(c[u],2),e=i(l,c[u]),"81"===r&&(t=T(e),s.push(["MAIL",t])),"82"===r&&(t=T(e),s.push(["DNS",t])),"84"===r&&(t=X.hex2dn(e,0),s.push(["DN",t])),"86"===r&&(t=T(e),s.push(["URI",t])),"87"===r&&(t=D(e),s.push(["IP",t]));return s},this.getExtCRLDistributionPoints=function(e,t){if(void 0===e&&void 0===t){var r=this.getExtInfo("cRLDistributionPoints");if(void 0===r)return;e=o(this.hex,r.vidx),t=r.critical}var i={extname:"cRLDistributionPoints",array:[]};t&&(i.critical=!0);for(var a=n(e,0),s=0;s<a.length;s++){var l=o(e,a[s]);i.array.push(this.getDistributionPoint(l))}return i},this.getDistributionPoint=function(e){for(var t={},r=n(e,0),i=0;i<r.length;i++){var a=e.substr(r[i],2),s=o(e,r[i]);"a0"==a&&(t.dpname=this.getDistributionPointName(s))}return t},this.getDistributionPointName=function(e){for(var t={},r=n(e,0),i=0;i<r.length;i++){var a=e.substr(r[i],2),s=o(e,r[i]);"a0"==a&&(t.full=this.getGeneralNames(s))}return t},this.getExtCRLDistributionPointsURI=function(){var e=this.getExtInfo("cRLDistributionPoints");if(void 0===e)return e;for(var t=new Array,r=n(this.hex,e.vidx),i=0;i<r.length;i++)try{var o=T(a(this.hex,r[i],[0,0,0],"86"));t.push(o)}catch(e){}return t},this.getExtAIAInfo=function(){var e=this.getExtInfo("authorityInfoAccess");if(void 0===e)return e;for(var t={ocsp:[],caissuer:[]},r=n(this.hex,e.vidx),i=0;i<r.length;i++){var o=a(this.hex,r[i],[0],"06"),s=a(this.hex,r[i],[1],"86");"2b06010505073001"===o&&t.ocsp.push(T(s)),"2b06010505073002"===o&&t.caissuer.push(T(s))}return t},this.getExtAuthorityInfoAccess=function(e,t){if(void 0===e&&void 0===t){var r=this.getExtInfo("authorityInfoAccess");if(void 0===r)return;e=o(this.hex,r.vidx),t=r.critical}var i={extname:"authorityInfoAccess",array:[]};t&&(i.critical=!0);for(var s=n(e,0),c=0;c<s.length;c++){var u=l(e,s[c],[0],"06"),d=T(a(e,s[c],[1],"86"));if("2b06010505073001"==u)i.array.push({ocsp:d});else{if("2b06010505073002"!=u)throw new Error("unknown method: "+u);i.array.push({caissuer:d})}}return i},this.getExtCertificatePolicies=function(e,t){if(void 0===e&&void 0===t){var r=this.getExtInfo("certificatePolicies");if(void 0===r)return;e=o(this.hex,r.vidx),t=r.critical}var i={extname:"certificatePolicies",array:[]};t&&(i.critical=!0);for(var a=n(e,0),s=0;s<a.length;s++){var l=o(e,a[s]),c=this.getPolicyInformation(l);i.array.push(c)}return i},this.getPolicyInformation=function(e){var t={},r=a(e,0,[0],"06");t.policyoid=v(r);var i=p(e,0,[1],"30");if(-1!=i){t.array=[];for(var s=n(e,i),l=0;l<s.length;l++){var c=o(e,s[l]),u=this.getPolicyQualifierInfo(c);t.array.push(u)}}return t},this.getPolicyQualifierInfo=function(e){var t={},r=a(e,0,[0],"06");if("2b06010505070201"===r){var n=l(e,0,[1],"16");t.cps=B(n)}else if("2b06010505070202"===r){var i=c(e,0,[1],"30");t.unotice=this.getUserNotice(i)}return t},this.getUserNotice=function(e){for(var t={},r=n(e,0),i=0;i<r.length;i++){var a=o(e,r[i]);"30"!=a.substr(0,2)&&(t.exptext=this.getDisplayText(a))}return t},this.getDisplayText=function(e){var t={};return t.type={"0c":"utf8",16:"ia5","1a":"vis","1e":"bmp"}[e.substr(0,2)],t.str=B(i(e,0)),t},this.getExtCRLNumber=function(e,t){var r={extname:"cRLNumber"};if(t&&(r.critical=!0),"02"==e.substr(0,2))return r.num={hex:i(e,0)},r;throw new Error("hExtV parse error: "+e)},this.getExtCRLReason=function(e,t){var r={extname:"cRLReason"};if(t&&(r.critical=!0),"0a"==e.substr(0,2))return r.code=parseInt(i(e,0),16),r;throw new Error("hExtV parse error: "+e)},this.getExtOcspNonce=function(e,t){var r={extname:"ocspNonce"};t&&(r.critical=!0);var n=i(e,0);return r.hex=n,r},this.getExtOcspNoCheck=function(e,t){var r={extname:"ocspNoCheck"};return t&&(r.critical=!0),r},this.getExtAdobeTimeStamp=function(e,t){if(void 0===e&&void 0===t){var r=this.getExtInfo("adobeTimeStamp");if(void 0===r)return;e=o(this.hex,r.vidx),t=r.critical}var i={extname:"adobeTimeStamp"};t&&(i.critical=!0);var a=n(e,0);if(a.length>1){var s=o(e,a[1]),l=this.getGeneralName(s);null!=l.uri&&(i.uri=l.uri)}if(a.length>2){var c=o(e,a[2]);"0101ff"==c&&(i.reqauth=!0),"010100"==c&&(i.reqauth=!1)}return i},this.getX500NameRule=function(e){for(var t=null,r=[],n=0;n<e.length;n++)for(var i=e[n],o=0;o<i.length;o++)r.push(i[o]);for(n=0;n<r.length;n++){var a=r[n],l=a.ds,c=a.value,u=a.type;if("prn"!=l&&"utf8"!=l&&"ia5"!=l)return"mixed";if("ia5"==l){if("CN"!=u)return"mixed";if(s.lang.String.isMail(c))continue;return"mixed"}if("C"==u){if("prn"==l)continue;return"mixed"}if(null==t)t=l;else if(t!==l)return"mixed"}return null==t?"prn":t},this.getX500Name=function(e){var t=this.getX500NameArray(e);return{array:t,str:this.dnarraytostr(t)}},this.getX500NameArray=function(e){for(var t=[],r=n(e,0),i=0;i<r.length;i++)t.push(this.getRDN(o(e,r[i])));return t},this.getRDN=function(e){for(var t=[],r=n(e,0),i=0;i<r.length;i++)t.push(this.getAttrTypeAndValue(o(e,r[i])));return t},this.getAttrTypeAndValue=function(e){var t={type:null,value:null,ds:null},r=n(e,0),i=a(e,r[0],[],"06"),o=a(e,r[1],[]),l=s.asn1.ASN1Util.oidHexToInt(i);return t.type=s.asn1.x509.OID.oid2atype(l),t.ds=this.HEX2STAG[e.substr(r[1],2)],"bmp"!=t.ds?t.value=T(o):t.value=function(e){var t=e.match(/.{4}/g).map((function(e){var t=parseInt(e.substr(0,2),16),r=parseInt(e.substr(2),16);if(0==t&r<128)return String.fromCharCode(r);if(t<8){var n=128|63&r;return T((192|(7&t)<<3|(192&r)>>6).toString(16)+n.toString(16))}n=128|(15&t)<<2|(192&r)>>6;var i=128|63&r;return T((224|(240&t)>>4).toString(16)+n.toString(16)+i.toString(16))}));return t.join("")}(o),t},this.readCertPEM=function(e){this.readCertHex(A(e))},this.readCertHex=function(e){this.hex=e,this.getVersion();try{d(this.hex,0,[0,7],"a3"),this.parseExt()}catch(e){}},this.getParam=function(){var e={};return e.version=this.getVersion(),e.serial={hex:this.getSerialNumberHex()},e.sigalg=this.getSignatureAlgorithmField(),e.issuer=this.getIssuer(),e.notbefore=this.getNotBefore(),e.notafter=this.getNotAfter(),e.subject=this.getSubject(),e.sbjpubkey=O(this.getPublicKeyHex(),"PUBLIC KEY"),this.aExtInfo.length>0&&(e.ext=this.getExtParamArray()),e.sighex=this.getSignatureValueHex(),e},this.getExtParamArray=function(e){null==e&&(-1!=p(this.hex,0,[0,"[3]"])&&(e=u(this.hex,0,[0,"[3]",0],"30")));for(var t=[],r=n(e,0),i=0;i<r.length;i++){var a=o(e,r[i]),s=this.getExtParam(a);null!=s&&t.push(s)}return t},this.getExtParam=function(e){var t=n(e,0).length;if(2!=t&&3!=t)throw new Error("wrong number elements in Extension: "+t+" "+e);var r=m(a(e,0,[0],"06")),i=!1;3==t&&"0101ff"==c(e,0,[1])&&(i=!0);var o=c(e,0,[t-1,0]),s=void 0;if("2.5.29.14"==r?s=this.getExtSubjectKeyIdentifier(o,i):"2.5.29.15"==r?s=this.getExtKeyUsage(o,i):"2.5.29.17"==r?s=this.getExtSubjectAltName(o,i):"2.5.29.18"==r?s=this.getExtIssuerAltName(o,i):"2.5.29.19"==r?s=this.getExtBasicConstraints(o,i):"2.5.29.31"==r?s=this.getExtCRLDistributionPoints(o,i):"2.5.29.32"==r?s=this.getExtCertificatePolicies(o,i):"2.5.29.35"==r?s=this.getExtAuthorityKeyIdentifier(o,i):"2.5.29.37"==r?s=this.getExtExtKeyUsage(o,i):"1.3.6.1.5.5.7.1.1"==r?s=this.getExtAuthorityInfoAccess(o,i):"2.5.29.20"==r?s=this.getExtCRLNumber(o,i):"2.5.29.21"==r?s=this.getExtCRLReason(o,i):"1.3.6.1.5.5.7.48.1.2"==r?s=this.getExtOcspNonce(o,i):"1.3.6.1.5.5.7.48.1.5"==r?s=this.getExtOcspNoCheck(o,i):"1.2.840.113583.1.1.9.1"==r&&(s=this.getExtAdobeTimeStamp(o,i)),null!=s)return s;var l={extname:r,extn:o};return i&&(l.critical=!0),l},this.findExt=function(e,t){for(var r=0;r<e.length;r++)if(e[r].extname==t)return e[r];return null},this.dnarraytostr=function(e){return"/"+e.map((function(e){return function(e){return e.map((function(e){return function(e){return e.type+"="+e.value}(e).replace(/\+/,"\\+")})).join("+")}(e).replace(/\//,"\\/")})).join("/")},this.getInfo=function(){var e,t,r,n,i=function(e){for(var t="",r=e.array,n=0;n<r.length;n++){var i=r[n];if(t+=" policy oid: "+i.policyoid+"\n",void 0!==i.array)for(var o=0;o<i.array.length;o++){var a=i.array[o];void 0!==a.cps&&(t+=" cps: "+a.cps+"\n")}}return t},o=function(e){for(var t="",r=e.array,n=0;n<r.length;n++){var i=r[n];try{void 0!==i.dpname.full[0].uri&&(t+=" "+i.dpname.full[0].uri+"\n")}catch(e){}try{void 0!==i.dname.full[0].dn.hex&&(t+=" "+X.hex2dn(i.dpname.full[0].dn.hex)+"\n")}catch(e){}}return t},a=function(e){for(var t="",r=e.array,n=0;n<r.length;n++){var i=r[n];void 0!==i.caissuer&&(t+=" caissuer: "+i.caissuer+"\n"),void 0!==i.ocsp&&(t+=" ocsp: "+i.ocsp+"\n")}return t};if(e="Basic Fields\n",e+=" serial number: "+this.getSerialNumberHex()+"\n",e+=" signature algorithm: "+this.getSignatureAlgorithmField()+"\n",e+=" issuer: "+this.getIssuerString()+"\n",e+=" notBefore: "+this.getNotBefore()+"\n",e+=" notAfter: "+this.getNotAfter()+"\n",e+=" subject: "+this.getSubjectString()+"\n",e+=" subject public key info: \n",e+=" key algorithm: "+(t=this.getPublicKey()).type+"\n","RSA"===t.type&&(e+=" n="+L(t.n.toString(16)).substr(0,16)+"...\n",e+=" e="+L(t.e.toString(16))+"\n"),null!=(r=this.aExtInfo)){e+="X509v3 Extensions:\n";for(var l=0;l<r.length;l++){var c=r[l],u=s.asn1.x509.OID.oid2name(c.oid);""===u&&(u=c.oid);var d="";if(!0===c.critical&&(d="CRITICAL"),e+=" "+u+" "+d+":\n","basicConstraints"===u){var p=this.getExtBasicConstraints();void 0===p.cA?e+=" {}\n":(e+=" cA=true",void 0!==p.pathLen&&(e+=", pathLen="+p.pathLen),e+="\n")}else if("keyUsage"===u)e+=" "+this.getExtKeyUsageString()+"\n";else if("subjectKeyIdentifier"===u)e+=" "+this.getExtSubjectKeyIdentifier().kid.hex+"\n";else if("authorityKeyIdentifier"===u){var h=this.getExtAuthorityKeyIdentifier();void 0!==h.kid&&(e+=" kid="+h.kid.hex+"\n")}else{if("extKeyUsage"===u)e+=" "+this.getExtExtKeyUsage().array.join(", ")+"\n";else if("subjectAltName"===u)e+=" "+(n=this.getExtSubjectAltName(),JSON.stringify(n.array).replace(/[\[\]\{\}\"]/g,""))+"\n";else if("cRLDistributionPoints"===u)e+=o(this.getExtCRLDistributionPoints());else if("authorityInfoAccess"===u)e+=a(this.getExtAuthorityInfoAccess());else"certificatePolicies"===u&&(e+=i(this.getExtCertificatePolicies()))}}}return e+="signature algorithm: "+this.getSignatureAlgorithmName()+"\n",e+="signature: "+this.getSignatureValueHex().substr(0,16)+"...\n"},"string"==typeof e&&(-1!=e.indexOf("-----BEGIN")?this.readCertPEM(e):s.lang.String.isHex(e)&&this.readCertHex(e))}function J(e){return l.SHA256(e).toString()}W.getLblen=function(e,t){if("8"!=e.substr(t+2,1))return 1;var r=parseInt(e.substr(t+3,1));return 0==r?-1:0<r&&r<10?r+1:-2},W.getL=function(e,t){var r=W.getLblen(e,t);return r<1?"":e.substr(t+2,2*r)},W.getVblen=function(e,t){var r;return""==(r=W.getL(e,t))?-1:("8"===r.substr(0,1)?new c(r.substr(2),16):new c(r,16)).intValue()},W.getVidx=function(e,t){var r=W.getLblen(e,t);return r<0?r:t+2*(r+1)},W.getV=function(e,t){var r=W.getVidx(e,t),n=W.getVblen(e,t);return e.substr(r,2*n)},W.getTLV=function(e,t){return e.substr(t,2)+W.getL(e,t)+W.getV(e,t)},W.getTLVblen=function(e,t){return 2+2*W.getLblen(e,t)+2*W.getVblen(e,t)},W.getNextSiblingIdx=function(e,t){return W.getVidx(e,t)+2*W.getVblen(e,t)},W.getChildIdx=function(e,t){var r,n,i,o=W,a=[];r=o.getVidx(e,t),n=2*o.getVblen(e,t),"03"==e.substr(t,2)&&(r+=2,n-=2),i=0;for(var s=r;i<=n;){var l=o.getTLVblen(e,s);if((i+=l)<=n&&a.push(s),s+=l,i>=n)break}return a},W.getNthChildIdx=function(e,t,r){return W.getChildIdx(e,t)[r]},W.getIdxbyList=function(e,t,r,n){var i,o,a=W;return 0==r.length?void 0!==n&&e.substr(t,2)!==n?-1:t:(i=r.shift())>=(o=a.getChildIdx(e,t)).length?-1:a.getIdxbyList(e,o[i],r,n)},W.getIdxbyListEx=function(e,t,r,n){var i,o,a=W;if(0==r.length)return void 0!==n&&e.substr(t,2)!==n?-1:t;i=r.shift(),o=a.getChildIdx(e,t);for(var s=0,l=0;l<o.length;l++){var c=e.substr(o[l],2);if("number"==typeof i&&!a.isContextTag(c)&&s==i||"string"==typeof i&&a.isContextTag(c,i))return a.getIdxbyListEx(e,o[l],r,n);a.isContextTag(c)||s++}return-1},W.getTLVbyList=function(e,t,r,n){var i=W,o=i.getIdxbyList(e,t,r,n);return-1==o||o>=e.length?null:i.getTLV(e,o)},W.getTLVbyListEx=function(e,t,r,n){var i=W,o=i.getIdxbyListEx(e,t,r,n);return-1==o?null:i.getTLV(e,o)},W.getVbyList=function(e,t,r,n,i){var o,a,s=W;return-1==(o=s.getIdxbyList(e,t,r,n))||o>=e.length?null:(a=s.getV(e,o),!0===i&&(a=a.substr(2)),a)},W.getVbyListEx=function(e,t,r,n,i){var o,a,s=W;return-1==(o=s.getIdxbyListEx(e,t,r,n))?null:(a=s.getV(e,o),"03"==e.substr(o,2)&&!1!==i&&(a=a.substr(2)),a)},W.getInt=function(e,t,r){null==r&&(r=-1);try{var n=e.substr(t,2);if("02"!=n&&"03"!=n)return r;var i=W.getV(e,t);return"02"==n?parseInt(i,16):function(e){try{var t=e.substr(0,2);if("00"==t)return parseInt(e.substr(2),16);var r=parseInt(t,16),n=e.substr(2),i=parseInt(n,16).toString(2);return"0"==i&&(i="00000000"),i=i.slice(0,0-r),parseInt(i,2)}catch(e){return-1}}(i)}catch(e){return r}},W.getOID=function(e,t,r){null==r&&(r=null);try{return"06"!=e.substr(t,2)?r:function(e){if(!Q(e))return null;try{var t=[],r=e.substr(0,2),n=parseInt(r,16);t[0]=new String(Math.floor(n/40)),t[1]=new String(n%40);for(var i=e.substr(2),o=[],a=0;a<i.length/2;a++)o.push(parseInt(i.substr(2*a,2),16));var s=[],l="";for(a=0;a<o.length;a++)128&o[a]?l+=N((127&o[a]).toString(2),7):(l+=N((127&o[a]).toString(2),7),s.push(new String(parseInt(l,2))),l="");var c=t.join(".");return s.length>0&&(c=c+"."+s.join(".")),c}catch(e){return null}}(W.getV(e,t))}catch(e){return r}},W.getOIDName=function(e,t,r){null==r&&(r=null);try{var n=W.getOID(e,t,r);if(n==r)return r;var i=s.asn1.x509.OID.oid2name(n);return""==i?n:i}catch(e){return r}},W.getString=function(e,t,r){null==r&&(r=null);try{return B(W.getV(e,t))}catch(e){return r}},W.hextooidstr=function(e){var t=function(e,t){return e.length>=t?e:new Array(t-e.length+1).join("0")+e},r=[],n=e.substr(0,2),i=parseInt(n,16);r[0]=new String(Math.floor(i/40)),r[1]=new String(i%40);for(var o=e.substr(2),a=[],s=0;s<o.length/2;s++)a.push(parseInt(o.substr(2*s,2),16));var l=[],c="";for(s=0;s<a.length;s++)128&a[s]?c+=t((127&a[s]).toString(2),7):(c+=t((127&a[s]).toString(2),7),l.push(new String(parseInt(c,2))),c="");var u=r.join(".");return l.length>0&&(u=u+"."+l.join(".")),u},W.isContextTag=function(e,t){var r,n;e=e.toLowerCase();try{r=parseInt(e,16)}catch(e){return-1}if(void 0===t)return 128==(192&r);try{return null!=t.match(/^\[[0-9]+\]$/)&&(!((n=parseInt(t.substr(1,t.length-1),10))>31)&&(128==(192&r)&&(31&r)==n))}catch(e){return!1}},W.isASN1HEX=function(e){var t=W;if(e.length%2==1)return!1;var r=t.getVblen(e,0),n=e.substr(0,2),i=t.getL(e,0);return e.length-n.length-i.length==2*r},W.checkStrictDER=function(e,t,r,n,i){var o=W;if(void 0===r){if("string"!=typeof e)throw new Error("not hex string");if(e=e.toLowerCase(),!s.lang.String.isHex(e))throw new Error("not hex string");r=e.length,i=(n=e.length/2)<128?1:Math.ceil(n.toString(16))+1}if(o.getL(e,t).length>2*i)throw new Error("L of TLV too long: idx="+t);var a=o.getVblen(e,t);if(a>n)throw new Error("value of L too long than hex: idx="+t);var l=o.getTLV(e,t),c=l.length-2-o.getL(e,t).length;if(c!==2*a)throw new Error("V string length and L's value not the same:"+c+"/"+2*a);if(0===t&&e.length!=l.length)throw new Error("total length and TLV length unmatch:"+e.length+"!="+l.length);var u=e.substr(t,2);if("02"===u){var d=o.getVidx(e,t);if("00"==e.substr(d,2)&&e.charCodeAt(d+2)<56)throw new Error("not least zeros for DER INTEGER")}if(32&parseInt(u,16)){for(var p=o.getVblen(e,t),h=0,f=o.getChildIdx(e,t),v=0;v<f.length;v++){h+=o.getTLV(e,f[v]).length,o.checkStrictDER(e,f[v],r,n,i)}if(2*p!=h)throw new Error("sum of children's TLV length and L unmatch: "+2*p+"!="+h)}},W.oidname=function(e){var t=s.asn1;s.lang.String.isHex(e)&&(e=t.ASN1Util.oidHexToInt(e));var r=t.x509.OID.oid2name(e);return""===r&&(r=e),r},void 0!==s.asn1&&s.asn1||(s.asn1={}),void 0!==s.asn1.x509&&s.asn1.x509||(s.asn1.x509={}),s.asn1.x509.AlgorithmIdentifier={},s.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV={SHAwithRSAandMGF1:"300d06092a864886f70d01010a3000",SHA256withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040201a11a301806092a864886f70d010108300b0609608648016503040201a203020120",SHA384withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040202a11a301806092a864886f70d010108300b0609608648016503040202a203020130",SHA512withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040203a11a301806092a864886f70d010108300b0609608648016503040203a203020140"},s.asn1.x509.OID=new function(e){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(e){if(void 0!==this.objCache[e])return this.objCache[e];if(void 0===this.name2oidList[e])throw"Name of ObjectIdentifier not defined: "+e;var t=this.name2oidList[e],r=new s.asn1.DERObjectIdentifier({oid:t});return this.objCache[e]=r,r},this.atype2obj=function(e){if(void 0!==this.objCache[e])return this.objCache[e];var t;if(e.match(/^\d+\.\d+\.[0-9.]+$/))t=e;else if(void 0!==this.atype2oidList[e])t=this.atype2oidList[e];else{if(void 0===this.name2oidList[e])throw"AttributeType name undefined: "+e;t=this.name2oidList[e]}var r=new s.asn1.DERObjectIdentifier({oid:t});return this.objCache[e]=r,r}},s.asn1.x509.OID.oid2name=function(e){var t=s.asn1.x509.OID.name2oidList;for(var r in t)if(t[r]==e)return r;return""},s.asn1.x509.OID.oid2atype=function(e){var t=s.asn1.x509.OID.atype2oidList;for(var r in t)if(t[r]==e)return r;return e},s.asn1.x509.OID.name2oid=function(e){if(e.match(/^[0-9.]+$/))return e;var t=s.asn1.x509.OID.name2oidList;return void 0===t[e]?"":t[e]},S.getPosArrayOfChildrenFromHex=function(e){return W.getChildIdx(e,0)},S.getHexValueArrayOfChildrenFromHex=function(e){var t,r=W.getV,n=r(e,(t=S.getPosArrayOfChildrenFromHex(e))[0]),i=r(e,t[1]),o=r(e,t[2]),a=r(e,t[3]),s=r(e,t[4]),l=r(e,t[5]),c=r(e,t[6]),u=r(e,t[7]),d=r(e,t[8]);return(t=new Array).push(n,i,o,a,s,l,c,u,d),t},S.prototype.readPrivateKeyFromPEMString=function(e){var t=F(e),r=S.getHexValueArrayOfChildrenFromHex(t);this.setPrivateEx(r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8])},S.prototype.readPKCS5PrvKeyHex=function(e){var t=S.getHexValueArrayOfChildrenFromHex(e);this.setPrivateEx(t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},S.prototype.readPKCS8PrvKeyHex=function(e){var t,r,n,i,o,a,s,l,c=W,u=c.getVbyListEx;if(!1===c.isASN1HEX(e))throw new Error("not ASN.1 hex string");try{t=u(e,0,[2,0,1],"02"),r=u(e,0,[2,0,2],"02"),n=u(e,0,[2,0,3],"02"),i=u(e,0,[2,0,4],"02"),o=u(e,0,[2,0,5],"02"),a=u(e,0,[2,0,6],"02"),s=u(e,0,[2,0,7],"02"),l=u(e,0,[2,0,8],"02")}catch(e){throw new Error("malformed PKCS#8 plain RSA private key")}this.setPrivateEx(t,r,n,i,o,a,s,l)},S.prototype.readPKCS5PubKeyHex=function(e){var t=W,r=t.getV;if(!1===t.isASN1HEX(e))throw new Error("keyHex is not ASN.1 hex string");var n=t.getChildIdx(e,0);if(2!==n.length||"02"!==e.substr(n[0],2)||"02"!==e.substr(n[1],2))throw new Error("wrong hex for PKCS#5 public key");var i=r(e,n[0]),o=r(e,n[1]);this.setPublic(i,o)},S.prototype.readPKCS8PubKeyHex=function(e){var t=W;if(!1===t.isASN1HEX(e))throw new Error("not ASN.1 hex string");if("06092a864886f70d010101"!==t.getTLVbyListEx(e,0,[0,0]))throw new Error("not PKCS8 RSA public key");var r=t.getTLVbyListEx(e,0,[1,0]);this.readPKCS5PubKeyHex(r)},S.prototype.readCertPubKeyHex=function(e,t){var r,n;(r=new X).readCertHex(e),n=r.getPublicKeyHex(),this.readPKCS8PubKeyHex(n)},S.prototype.verify=function(e,t){if(null==(t=t.toLowerCase()).match(/^[0-9a-f]+$/))return!1;var r=M(t,16),n=this.n.bitLength();if(r.bitLength()>n)return!1;var i=this.doPublic(r).toString(16);if(i.length+3!=n/4)return!1;var o=Y(i.replace(/^1f+00/,""));if(0==o.length)return!1;var a,l=o[0];return o[1]==(a=e,s.crypto.Util.hashString(a,l))},S.prototype.verifyWithMessageHash=function(e,t){if(t.length!=Math.ceil(this.n.bitLength()/4))return!1;var r=M(t,16);if(r.bitLength()>this.n.bitLength())return 0;var n=Y(this.doPublic(r).toString(16).replace(/^1f+00/,""));return 0!=n.length&&(n[0],n[1]==e)},S.prototype.verifyPSS=function(e,t,r,n){var i=function(e){return s.crypto.Util.hashHex(e,r)}(R(e));return void 0===n&&(n=-1),this.verifyWithMessageHashPSS(i,t,r,n)},S.prototype.verifyWithMessageHashPSS=function(e,t,r,n){if(t.length!=Math.ceil(this.n.bitLength()/4))return!1;var i,o=new c(t,16),a=function(e){return s.crypto.Util.hashHex(e,r)},l=B(e),u=l.length,d=this.n.bitLength()-1,p=Math.ceil(d/8);if(-1===n||void 0===n)n=u;else if(-2===n)n=p-u-2;else if(n<-2)throw new Error("invalid salt length");if(p<u+n+2)throw new Error("data too long");var h=this.doPublic(o).toByteArray();for(i=0;i<h.length;i+=1)h[i]&=255;for(;h.length<p;)h.unshift(0);if(188!==h[p-1])throw new Error("encoded message does not end in 0xbc");var f=(h=String.fromCharCode.apply(String,h)).substr(0,p-u-1),v=h.substr(f.length,u),m=65280>>8*p-d&255;if(0!=(f.charCodeAt(0)&m))throw new Error("bits beyond keysize not zero");var A=pss_mgf1_str(v,f.length,a),g=[];for(i=0;i<f.length;i+=1)g[i]=f.charCodeAt(i)^A.charCodeAt(i);g[0]&=~m;var y=p-u-n-2;for(i=0;i<y;i+=1)if(0!==g[i])throw new Error("leftmost octets not zero");if(1!==g[y])throw new Error("0x01 marker not found");return v===B(a(R("\0\0\0\0\0\0\0\0"+l+String.fromCharCode.apply(String,g.slice(-n)))))},S.SALT_LEN_HLEN=-1,S.SALT_LEN_MAX=-2,S.SALT_LEN_RECOVER=-2,X.hex2dn=function(e,t){void 0===t&&(t=0);var r=new X;return W.getTLV(e,t),r.getX500Name(e).str},X.hex2rdn=function(e,t){if(void 0===t&&(t=0),"31"!==e.substr(t,2))throw new Error("malformed RDN");for(var r=new Array,n=W.getChildIdx(e,t),i=0;i<n.length;i++)r.push(X.hex2attrTypeValue(e,n[i]));return r=r.map((function(e){return e.replace("+","\\+")})),r.join("+")},X.hex2attrTypeValue=function(e,t){var r=W,n=r.getV;if(void 0===t&&(t=0),"30"!==e.substr(t,2))throw new Error("malformed attribute type and value");var i=r.getChildIdx(e,t);2!==i.length||e.substr(i[0],2);var o=n(e,i[0]),a=s.asn1.ASN1Util.oidHexToInt(o);return s.asn1.x509.OID.oid2atype(a)+"="+B(n(e,i[1]))},X.getPublicKeyFromCertHex=function(e){var t=new X;return t.readCertHex(e),t.getPublicKey()},X.getPublicKeyFromCertPEM=function(e){var t=new X;return t.readCertPEM(e),t.getPublicKey()},X.getPublicKeyInfoPropOfCertPEM=function(e){var t,r,n=W.getVbyList,i={};return i.algparam=null,(t=new X).readCertPEM(e),r=t.getPublicKeyHex(),i.keyhex=n(r,0,[1],"03").substr(2),i.algoid=n(r,0,[0,0],"06"),"2a8648ce3d0201"===i.algoid&&(i.algparam=n(r,0,[0,1],"06")),i},X.KEYUSAGE_NAME=["digitalSignature","nonRepudiation","keyEncipherment","dataEncipherment","keyAgreement","keyCertSign","cRLSign","encipherOnly","decipherOnly"];var Z,$=[(Z=new X,Z.readCertPEM(function(){return arguments[0].split("").map((function(e){return e.charCodeAt(0)>126?e:String.fromCharCode((e.charCodeAt(0)+113)%126)})).join("")}(":::::ORTV[-PR_aVSVPNaR:::::ZVVS@\tPPNErtNVONtVWNZR}@]nU\0ZaZN=TP`\0T`Vo@Q^ROPbNZVTSZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg\tR^ZNATN>bROU^zc}nzyg\tR]ZN=TN>bRPtTn?bf?FZ_NQtfQc^^YQNq`gdSp?cyZ^P^fQc^^QQNWQ^aRvZPNTP`\0T`Vo@Q^RWN_fapzFqSFwfbOndSnzyuYz[oaNrS=\\QN>Z\tN\\Q^B[QqnS=\b\\QN>Zwp\\Q^B[QqnZVTSZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg\tR^ZNATN>bROU^zc}nzyg\tR]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@ebN[bqx=ng?\tS^w@|XAz|qUTwfzn]Bu<qs_ae\\y<}u`eRAoE`_\\s\0r|b{rp_o<oC@o=x\bw_cUUZPApQevD\\FxFoFgE=<sq[p<coqyn>TEpP@aSC_YDU8\0|8TB?c>r\\=rp`pcwP}c\0PP_\\RS\\EPVSy8x`\0?R|NP\tP>}A^VP}Ex\bUZa=syDw}>Ya8wPp[pRnn\brU^dE8U?a\bcW|<FEbbupn^`ZNr\tsof[wA}e{\\z}w[YDQ|dt=wC\tNvbRZ@@U|ZAYpFsabCBB\\`wrqxsYW8uFyWdaWezeUeA_8VoVupvY[TD[OYdpO\bC[wX\\O]=[QRpV\0d`N\0RXt^Z}vEpdC=\bY?=V}?^W\bad|qN@Ww>@PycaqANE]asPcE^OB_VA?>wzeftac\tZ\tguf\bF]DCP?znNYf\tuaYu[`=b|v]Bp=RAS``\\PRDW]_`UXdUg=SuqwVFDeB\tD8{B>\\sPYbEU\tFQXz\0@`zsqgfD\0[WY\bPeZc}\t\0bx?Rfed}BUe|Uo\0y?\bsSXZOSBCgbFqf\0Bs?b?d<VE\\Zzns\\d@?dPvf\\{}_\0Sd[<q_YBY`Ffg=sY>{t<fu]xrFNtZONNTwbQO\\ZO=TN>bqQt^dOOaAFXw=\tPCVxsv?{`a\bvS8YQ[aNsOt[cU`ZRTQNdtOaAFXw=\tPCVxsv?{`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=EnO}Pud8TA\t?yPrVv{\\>E]o`BO^RE^X[W[rEU?x\bf>V\tOUwY=>X[\\E`tW[8}VwpFBQcnrPF}yUtd8<Doe_\b[oOVUep@pYY\0cegY{r\t?\bAbq?ff8}UaXoN_D]_X_8yozYFT`N{`\\{zvu?\bDWT}=_<StX\tNx\0\b\t\0aT=c@ucnWfR[vf>RFxAFV}{N`dN^\\<eawBPxx}quT=|{T_R@Fp^Y<ZevRsWaZ]V\tCVrRVtAAc[\tQp|d|tqoQ=T|XX\t=u\\N8XNCx\\aU>wz\tX<e@Vc?dy\\|^FEq|=p`pBdF@bs^d<]vp\\^TZ\tP\bZ\b\\YNNSZ_\\w^|TsD8db\t_\tY\\o^Cw>Z\0x\\^aN]wWf\bA}\tC^d_{ZC@\by]gY@E\tBFY?OsaqbDcVgQbZeFc\tovtucxnq|<TnuyXRveYFOegCpAs{YTe|>bE<OXsSqCBWD_SVepfvCCUg]z\tZvQ[\0s|U>pFz\b=OwT``fNJJ:::::R[Q-PR_aVSVPNaR:::::")),Z)];function ee(e,t){var r=e.getIssuerHex();if(r===e.getSubjectHex())return e.verifySignature(e.getPublicKey());var n=function(e,t){for(var r=0,n=t;r<n.length;r++){var i=n[r];if(i.getSubjectHex()===e)return i}}(r,t);return!!n&&(!1!==e.verifySignature(n.getPublicKey())&&ee(n,t))}function te(e){return e.getIssuerHex()!==e.getSubjectHex()&&ee(e,$)}!function(e){var t=new X;"string"==typeof e?t.readCertPEM(e):t.readCertHex(e.hex);var r=te(t);$.push(t)}(function(){return arguments[0].split("").map((function(e){return e.charCodeAt(0)>126?e:String.fromCharCode((e.charCodeAt(0)+113)%126)})).join("")}(":::::ORTV[-PR_aVSVPNaR:::::ZVVTU\tPPONrtNVONtVWNW=_SVw\tVE=ZN=TP`\0T`Vo@Q^ROPbNZVTSZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg\tR^ZNATN>bROU^zc}nzyg\tR]ZN=TN>bRPtTn?bf?FZ_NQtfQc^^YQNq`gdSp?cyZ^P^fQc^^QQNWQ^aRvZPNTP`\0T`Vo@Q^RWN_fapzFqSFwfbOndSnzyuYz[oaNrS=\bZQNAZaN\\aZ\t[QSnS=\b[aNBZQZ\\aZ\t[QSnZVTaZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg\tR^ZNATN>bROU^zc}nzyg\tRbZOVTN>bRPtYoTyuoz}}f`Bwo?=RQN\\Ot[cONZO>Wyfd\tgdbRaN]Ot[cONZZPRuupz_@feWyZ`bVfWX|gVup[N^xOSugnec|fdyndB{^T}fdB\0ndRf?FZVVPVwN[Otx\0uxvTF=ON^RSNN\\PNtENZVVPPtXPNtRN?=?]q[VD|{\\oyo`oOu}F\tSAe`tn[t\tu\b8^a]qx\bE_^ZN?[QC\0yuOpybY8r\\RPAS=8rUq\0E8>xean^e\bf]Y`XO}{C[Ur^?\0x[SRXvVQ\\CFr}QnAPRQFO=Yw\0_TePCOFV@|N>ROXcDrT<>bW<ssO?NOT{^s]uU\0gS\bBffsfE\0AfDyQEZR`]XBo|Qw}yYdwwTvOFcBndUz^\\{]\tb=^yQYSTQ`]\0?tR{WRUun\\\0bVe_E|VWWV|r\tAo\0\tF`fdzCnRtq\br\t\b8eBp=Z\\TRaadc}@Eub`quuNqAdF\0aUay{}x>tgVz`\t_YBFwu_q?egt8v[o\x008\twTQcrA\t<z{DZoEE^rZTrpaZQzqpBY]^zt8[bQv}yEWw\tXDYQB\0QB\bx_^X]|uEDtPf[n[r_bpB[bE}?ung|bnU|NYOoedY_tvXySZfYPdWV]OE^\bOFwA}<uXoO}_NDz8aonzWOfcv@?>snfqu@FeEx^\\\bVfuO`\\\0tSg]zDU}QrAT|\tOZV|OvpVD<sN@z`<_cSrNCW>?=Au?g_8v{|}}WF>Sr>QBxO\td_D}eBb?Uq^b\t[y}x]}{?P|BQtecTB[pQBW>|p|nfv\0zUxOO}WqwE=<PURZy@X8r\\]u=<pPNRNNn\\OtaO<ZOETPdPT`NTT8RVOQ^^`SuO`gdSp?cyVRg\bo?B=VR[OZO=TN>bqQt^dOO`FyWadZcAD\tpeXybcW@}Qf\\QNsOt[cU`ZRTQNdtOaAFXw=\tPCVxsv?{`a\bvS8YQ[aN]Ot[cU_ZONsEROaNQN^U<ZNTN>bqQ^RNVOOwN[Otx\0uxvTF=ON^SNN\\PNtRNrx\ta[}tP_g8FbD\0^\0qt<f88ufuN]^}]gp\bqYudF88Fas_Ef`\t?^x>X}esa{>\\r?eE]CC_cZ[vQs\t\t>gX[szONg=^pn=<e]nbSz\bZvac\b[w^nA_`vP|@8w[}nQobe=??oRYf{vpRxcC}yCd>8[NDx{Ne\\t8oou=guC>>gvb}ACd\t``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\tXSq\t{\0DvAVBbnTqEE[QzDyqF`bF}R=Q?VeDo<Vzb\0w}D}NZ\0t}^?OyFP\bVaVNrTNYqe?[NRYTSQby@yzWvT`wQo}y]c_WgxBYCy\tRNRg@NZCaaq8?`\t^`?ryD\t=obzw?E]Ou]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{ug8^f[YQAWad8FNqxFQE?ZOo\t}RnO\bsQc\txyccn=nxvs>bDBf\b\bW\\TuTnvAO^U\0QXC>xx8FxRFf<tJ:::::R[Q-PR_aVSVPNaR:::::"));var re=function(e,t){return re=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},re(e,t)};function ne(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}re(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var ie=function(){return ie=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},ie.apply(this,arguments)};function oe(e,t,r,n){var i,o=arguments.length,a=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(a=(o<3?i(a):o>3?i(t,r,a):i(t,r))||a);return o>3&&a&&Object.defineProperty(t,r,a),a}function ae(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function se(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{l(n.next(e))}catch(e){o(e)}}function s(e){try{l(n.throw(e))}catch(e){o(e)}}function l(e){e.done?i(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}l((n=n.apply(e,t||[])).next())}))}function le(e,t){var r,n,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(l){return function(s){if(r)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(r=1,n&&(i=2&s[0]?n.return:s[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,s[1])).done)return i;switch(n=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]<i[3])){a.label=s[1];break}if(6===s[0]&&a.label<i[1]){a.label=i[1],i=s;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(s);break}i[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],n=0}finally{r=i=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,l])}}}function ce(e,t,r){if(r||2===arguments.length)for(var n,i=0,o=t.length;i<o;i++)!n&&i in t||(n||(n=Array.prototype.slice.call(t,0,i)),n[i]=t[i]);return e.concat(n||Array.prototype.slice.call(t))}var ue,de=(ue="$$FIVE_EVENT$$","undefined"==typeof Symbol?"$Symbol<".concat(ue,">$"):Symbol(ue));function pe(e){return e[de]||(e[de]={}),e[de]}var he=function(){function e(){}return e.prototype.hasListener=function(e){var t=pe(this);return t&&t[e]&&t[e].callbacks.length>0},e.prototype.on=function(e,t,r){var n=this,i=pe(this);return i[e]||(i[e]={called:[!1],callbacks:[]}),i[e].callbacks.push([t,r||!1]),function(){return n.off(e,t)}},e.prototype.once=function(e,t){return this.on(e,t,!0)},e.prototype.off=function(e,t){if(void 0!==e){var r,n=pe(this);if(n[e]||(n[e]={called:[!1],callbacks:[]}),void 0!==t){for(var i=0;i<n[e].callbacks.length&&n[e].callbacks[i][0]!==t;i++);i<n[e].callbacks.length&&n[e].callbacks.splice(i,1)}else n[e].callbacks.length=0}else(r=this)[de]||delete r[de]},e.prototype.emit=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];var n=!1,i=pe(this);i[e]||(i[e]={called:[!1],callbacks:[]}),i[e].called=[!0,t];for(var o=0,a=i[e].callbacks.slice();o<a.length;o++){var s=a[o],l=s[0],c=s[1],u=void 0!==c&&c,d=l.apply(void 0,t);u&&this.off(e,l),!1===d&&(n=!0)}return n},e.prototype.waitUnitl=function(e){var t=this,r=pe(this);r[e]||(r[e]={called:[!1],callbacks:[]});var n=r[e].called,i=n[0],o=n[1];return i?Promise.resolve(o):new Promise((function(r){t.once(e,(function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return r(e),!0}))}))},e}();function fe(){}var ve="undefined"!=typeof performance&&void 0!==performance.timing?performance.timing.navigationStart:Date.now(),me="undefined"!=typeof performance?function(){return ve+performance.now()}:function(){return Date.now()};function Ae(e){Object.freeze(e);var t="function"==typeof e,r=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(e).forEach((function(n){!r.call(e,n)||t&&("caller"===n||"callee"===n||"arguments"===n)||null===e[n]||"object"!=typeof e[n]&&"function"!=typeof e[n]||Object.isFrozen(e[n])||Ae(e[n])})),e}var ge=/^([^.]+)(\.([^.]+))*$/;function ye(e){return/^(([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])(\.(?!$)|$)){4}$/.test(e)}function be(e,t){return ge.test(e)&&ge.test(t)&&function(e,t){if("*"===e)return!0;var r=e.split(".").reverse(),n=t.split(".").reverse();if(r.length<=1)return e===t;for(var i=0;i<r.length;i++)if(r[i]!==n[i])return!1;return!0}(e,t)}var xe=[/\.([0-9a-z]+)\.jsonp([\?\#].*)?$/i,/jsonp_([0-9a-z]+)([\?\#].*)?$/i],we=Ae(JSON.parse(function(){return arguments[0].split("").map((function(e){return e.charCodeAt(0)>126?e:String.fromCharCode((e.charCodeAt(0)+113)%126)})).join("")}("h/y|pnyu|/9/xr;p|z/9/yvn{wvn;p|z/9/rnyrr;p|z/9/rnyrr;p{/9/rnyrr;w}/9/uv;p|z/9/uv;p{/9/ywpq{;p|z/9/rnyrr:pq{;p|z/9/rnyrr:pq{;p{/9/rnyrr;nv/9/;p{/9/pq{;p{/9/pnyp{|qr;vr/j"))),Ee=function(e){function t(t,r,n){return e.call(this,"[NETWORK]: request proxy error(type: ".concat(r,", reason: ").concat(n,"): ").concat(t))||this}return ne(t,e),t}(Error),Me=function(e){function t(t,r,n){var i=e.call(this,"[NETWORK]: response error(type: ".concat(r,", status: ").concat(n,"): ").concat(t))||this;return i.httpStatus=n,i}return ne(t,e),t}(Error);!function(e){function t(t,r){return e.call(this,"[NETWORK]: request abort(type: ".concat(r,"): ").concat(t))||this}ne(t,e)}(Error);var Ce=function(e){function t(t,r,n){return e.call(this,"[NETWORK]: request timeout(type: ".concat(r,", timeout: ").concat(n,"ms): ").concat(t))||this}return ne(t,e),t}(Error),Se=function(e){function t(t,r,n){return e.call(this,"[NETWORK]: request forbidden(type: ".concat(r,", reason: ").concat(n,"): ").concat(t))||this}return ne(t,e),t}(Error);function Ie(e){for(var t=0,r=xe;t<r.length;t++){var n=r[t],i=e.match(n);if(i)return"jsonp_"+i[1]}return null}function Pe(e){return null!==Ie(e)}function Te(e){var t=e.match(/^([0-9a-z]+\:)\/\/(([^:/?#]*)(?::[0-9]+)?)/);return t?t[1]:location.protocol}function Be(e){if(/^blob\:/i.test(e))return"blob:";if(/^data\:/i.test(e))return"data:";var t=e.match(/^[0-9a-z]+\:\/\/(([^:/?#]*)(?::[0-9]+)?)/i);return t?t[2]:location.hostname}var Re=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return ne(t,e),t}(he);function ke(e,t,r,n,i){void 0===t&&(t={}),void 0===r&&(r=fe),void 0===n&&(n=fe),void 0===i&&(i=fe);var o=me(),a=e;return Promise.resolve().then((function(){return t.requestProxy?t.requestProxy(e):e})).then((function(e){return/^https\:/.test(location.href)&&/^http\:/.test(e)?(console.warn("The page at '".concat(location.href,"' was loaded over HTTPS, but requested an insecure element '").concat(e,"'. This request was automatically upgraded to HTTPS")),e.replace(/^http\:/,"https:")):e})).catch((function(r){var n,i=Ie(e)?"Script":"XMLHttpRequest",o=new Ee(a,i,r&&r.message?String(r.message):String(r));return null===(n=t.networkSubscribe)||void 0===n||n.emit("network",e,i,"proxy-error",o.message),Promise.reject(o)})).then((function(e){return new Promise((function(s,l){var c,u=t.allowHosts?we.concat(t.allowHosts):we.slice(),d=Be(e),p=Ie(e);if(0!==location.hostname.length&&!ye(location.hostname)&&0===we.filter((function(e){return be(e,location.hostname)})).length&&!ye(d)&&0===u.filter((function(e){return be(e,d)})).length){var h=p?"Script":"XMLHttpRequest",f=new Se(e,h,"request host(".concat(d,") is not allowed"));return n(f),l(f),void(null===(c=t.networkSubscribe)||void 0===c||c.emit("network",e,h,"forbidden",f.message))}if(p){var v=window,m=null,A=!1,g=document.createElement("script");v[p]=function(i){var c,u,d=me(),h=d-o;if(delete v[p],g.parentNode&&g.parentNode.removeChild(g),null!==m&&(window.clearTimeout(m),m=null),!0!==A){if(0!==i.indexOf("data:")){var f=new Me(e,"Script",500);return n(f),l(f),void(null===(c=t.networkSubscribe)||void 0===c||c.emit("network",e,"Script","error",f.message))}var y=i.split(","),b=(y[0].match(/:(.*?);/)||[])[1],x=y[1];if("arraybuffer"===t.responseType||"blob"===t.responseType){for(var w=atob(y[1]),E=w.length,M=new Uint8Array(E),C=0;C<E;C++)M[C]=w.charCodeAt(C);x="arraybuffer"===t.responseType?M.buffer:new Blob([M],{type:b})}var S={body:x,meta:{origin:a,source:e,requestTime:o,responseTime:d,costs:h,headers:{}}};r(S),s(S),null===(u=t.networkSubscribe)||void 0===u||u.emit("network",e,"Script","ok",JSON.stringify(S.meta)),A=!0}},g.src=e,document.body.appendChild(g),"number"==typeof t.timeout&&(m=window.setTimeout((function(){var r;if(m=null,!0!==A){A=!0;var i=new Ce(e,"Script",t.timeout||NaN);n(i),l(i),null===(r=t.networkSubscribe)||void 0===r||r.emit("network",e,"Script","timeout",i.message)}}),t.timeout))}else{var y=!1,b=new XMLHttpRequest,x=function(){b&&(b.removeEventListener("timeout",w,!1),b.removeEventListener("progress",E,!1),b.removeEventListener("load",M,!1),b.removeEventListener("error",C,!1)),b=null,x=fe},w=function(){var r;if(!0!==y){y=!0,x();var i=new Ce(e,"XMLHttpRequest",t.timeout||NaN);n(i),l(i),null===(r=t.networkSubscribe)||void 0===r||r.emit("network",e,"XMLHttpRequest","timeout",i.message)}},E=function(e){!0!==y&&e.lengthComputable&&(e.total<=0||i(e.loaded/e.total))},M=function(n){var i;if(!0!==y){var l=this.status;if(0===l||l>=200&&l<400){y=!0,x();var c=me(),u=c-o,d=function(e){if(!e)return{};for(var t={},r=e.trim().split("\n"),n=0;n<r.length;n++){var i=r[n],o=i.indexOf(":"),a=i.slice(0,o).trim().toLowerCase(),s=i.slice(o+1).trim();s&&(t[a]?t[a]+=", "+s:t[a]=s)}return t}(this.getAllResponseHeaders()),p=n.total,h={body:this.response,meta:{origin:a,source:e,requestTime:o,responseTime:c,costs:u,headers:d,size:p}};r(h),s(h),null===(i=t.networkSubscribe)||void 0===i||i.emit("network",e,"XMLHttpRequest","ok",JSON.stringify(h.meta))}else C.call(this)}},C=function(){var r;if(!0!==y){y=!0,x();var i=new Me(e,"XMLHttpRequest",this.status);n(i),l(i),null===(r=t.networkSubscribe)||void 0===r||r.emit("network",e,"XMLHttpRequest","error",i.message)}};b.addEventListener("timeout",w,!1),b.addEventListener("progress",E,!1),b.addEventListener("load",M,!1),b.addEventListener("error",C,!1),t.responseType&&(b.responseType=t.responseType),"number"==typeof t.timeout&&(b.timeout=t.timeout),b.open("GET",e,!0),b.send(null)}}))}))}var Oe={};var Fe=function(){function e(e){void 0===e&&(e={}),this.options=Ae(e)}return e.prototype.ajax=function(e,t,r,n,i){var o;void 0===t&&(t={}),void 0===r&&(r=fe),void 0===n&&(n=fe),void 0===i&&(i=fe);var a=this.options;return ke(e,{responseType:t.responseType,timeout:null!==(o=t.timeout)&&void 0!==o?o:a.timeout,get allowHosts(){var e;return null!==(e=t.allowHosts)&&void 0!==e?e:a.allowHosts},get requestProxy(){var e;return null!==(e=t.requestProxy)&&void 0!==e?e:a.requestProxy},get networkSubscribe(){var e;return null!==(e=t.networkSubscribe)&&void 0!==e?e:a.networkSubscribe}},r,n,i)},e.prototype.loadImage=function(e,t,r,n,i,o){var a;void 0===t&&(t={}),void 0===r&&(r=fe),void 0===n&&(n=fe),void 0===i&&(i=fe);var s=this.options;return function(e,t,r,n,i,o){void 0===t&&(t={}),void 0===r&&(r=fe),void 0===n&&(n=fe),void 0===i&&(i=fe);var a=me(),s=e;return Promise.resolve().then((function(){return t.requestProxy?t.requestProxy(e):e})).then((function(e){return/^https\:/.test(location.href)&&/^http\:/.test(e)?(console.warn("The page at '".concat(location.href,"' was loaded over HTTPS, but requested an insecure element '").concat(e,"'. This request was automatically upgraded to HTTPS")),e.replace(/^http\:/,"https:")):e})).catch((function(r){var n,i=new Ee(s,"Image",r&&r.message?String(r.message):String(r));return null===(n=t.networkSubscribe)||void 0===n||n.emit("network",e,"Image","proxy-error",i.message),Promise.reject(i)})).then((function(e){return new Promise((function(l,c){var u,d=t.allowHosts?we.concat(t.allowHosts):we.slice(),p=Be(e);if(0!==location.hostname.length&&!ye(location.hostname)&&0===we.filter((function(e){return be(e,location.hostname)})).length&&!ye(p)&&0===d.filter((function(e){return be(e,p)})).length){var h=new Se(e,"Image","request host(".concat(p,") is not allowed"));return n(h),c(h),void(null===(u=t.networkSubscribe)||void 0===u||u.emit("network",e,"Image","forbidden",h.message))}var f=null!=o?o:new Image,v=!1,m=null;"number"==typeof t.timeout&&(m=window.setTimeout((function(){var r;if(f.onload=fe,f.onerror=fe,m=null,!0!==v){v=!0;var i=new Ce(e,"Image",t.timeout);n(i),c(i),null===(r=t.networkSubscribe)||void 0===r||r.emit("network",e,"Image","timeout",i.message)}}),t.timeout)),f.onload=function(){var n;if(f.onload=fe,f.onerror=fe,null!==m&&(clearTimeout(m),m=null),!0!==v){var o=me();v=!0;var c={body:f,meta:{headers:{},origin:s,source:e,requestTime:a,responseTime:o,costs:o-a}};i(1),r(c),l(c),null===(n=t.networkSubscribe)||void 0===n||n.emit("network",e,"Image","ok",JSON.stringify(c.meta))}},f.onerror=function(){var r;if(f.onload=fe,f.onerror=fe,null!==m&&(clearTimeout(m),m=null),!0!==v){v=!0;var i=new Me(e,"Image",0);n(i),c(i),null===(r=t.networkSubscribe)||void 0===r||r.emit("network",e,"Image","ok",i.message)}},i(0),f.src=e}))}))}(e,{timeout:null!==(a=t.timeout)&&void 0!==a?a:s.timeout,get allowHosts(){var e;return null!==(e=t.allowHosts)&&void 0!==e?e:s.allowHosts},get requestProxy(){var e;return null!==(e=t.requestProxy)&&void 0!==e?e:s.requestProxy},get networkSubscribe(){var e;return null!==(e=t.networkSubscribe)&&void 0!==e?e:s.networkSubscribe}},r,n,i,o)},e.prototype.preload=function(e,t){var r;void 0===t&&(t={});var n=this.options;return function(e,t){void 0===t&&(t={});var r=me(),n=e;return Promise.resolve().then((function(){return t.requestProxy?t.requestProxy(e):e})).then((function(e){return/^https\:/.test(location.href)&&/^http\:/.test(e)?(console.warn("The page at '".concat(location.href,"' was loaded over HTTPS, but requested an insecure element '").concat(e,"'. This request was automatically upgraded to HTTPS")),e.replace(/^http\:/,"https:")):e})).catch((function(r){var i,o=new Ee(n,"Link",r&&r.message?String(r.message):String(r));return null===(i=t.networkSubscribe)||void 0===i||i.emit("network",e,"Link","proxy-error",o.message),Promise.reject(o)})).then((function(e){return e in Oe?Oe[e]:Oe[e]=new Promise((function(i,o){var a,s=t.allowHosts?we.concat(t.allowHosts):we.slice(),l=Be(e);if(0!==location.hostname.length&&!ye(location.hostname)&&0===we.filter((function(e){return be(e,location.hostname)})).length&&!ye(l)&&0===s.filter((function(e){return be(e,l)})).length){var c=new Se(e,"Link","request host(".concat(l,") is not allowed"));return o(c),void(null===(a=t.networkSubscribe)||void 0===a||a.emit("network",e,"Link","forbidden",c.message))}var u=document.createElement("link");u.href=e,u.rel=u.relList&&u.relList.supports("prefetch")?"prefetch":"preload",u.as="fetch",u.crossOrigin="";var d=document.head||document.getElementsByTagName("head")[0];d&&d.appendChild(u);var p=!1;u.onload=function(){var o;if(!0!==p){p=!0,i();var a=me(),s={origin:n,source:e,requestTime:r,responseTime:a,costs:a-r,headers:{}};null===(o=t.networkSubscribe)||void 0===o||o.emit("network",e,"Link","preload",JSON.stringify(s))}},u.onerror=function(r){var n;if(!0!==p){p=!0;var i=new Me(e,"Link",0);o(i),null===(n=t.networkSubscribe)||void 0===n||n.emit("network",e,"Link","error",i.message)}}}))}))}(e,{timeout:null!==(r=t.timeout)&&void 0!==r?r:n.timeout,get allowHosts(){var e;return null!==(e=t.allowHosts)&&void 0!==e?e:n.allowHosts},get requestProxy(){var e;return null!==(e=t.requestProxy)&&void 0!==e?e:n.requestProxy},get networkSubscribe(){var e;return null!==(e=t.networkSubscribe)&&void 0!==e?e:n.networkSubscribe}})},e}(),De=new Fe,Qe=function(){if("undefined"!=typeof window){var e=window;return e.requestAnimationFrame||e.mozRequestAnimationFrame||e.webkitRequestAnimationFrame||e.msRequestAnimationFrame||function(e){return setTimeout(e,16)}}return function(e){return setTimeout(e,16)}}(),Le=16,Ne=function(){function e(){this.frames=[],this.stoped=!1,this.time=me(),this.context=null,this.loop=this.loop.bind(this),this.loop()}return Object.defineProperty(e,"shared",{get:function(){return this.sharedInstance||(this.sharedInstance=new e),this.sharedInstance},enumerable:!1,configurable:!0}),e.getFrameTime=function(){return Le},e.prototype.loop=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];if(!this.stoped){var r=me(),n=r-this.time;this.time=r;var i=[];Le=n;for(var o=0,a=this.frames;o<a.length;o++){var s=a[o];if(s.delay>0)s.delay=s.delay-1;else{try{s.callback.apply(s,ce([r,n],e,!1))}catch(e){console.error(e)}s.once&&i.push(s)}}i.length>0&&(this.frames=this.frames.filter((function(e){return-1===i.indexOf(e)}))),this.requestAnimationFrame(this.loop)}},e.prototype.setContext=function(e){this.cancelAnimationFrame(this.requestId),this.context=e,this.requestId=this.requestAnimationFrame(this.loop)},e.prototype.getContext=function(){return this.context},e.prototype.requestAnimationFrame=function(e){return this.context?this.context.requestAnimationFrame(e):Qe(e)},e.prototype.cancelAnimationFrame=function(e){this.context?this.context.cancelAnimationFrame(e):function(e){var t;if("undefined"!=typeof window){var r=window;t=r.cancelAnimationFrame||r.mozCancelAnimationFrame||r.webkitCancelAnimationFrame||r.msCancelAnimationFrame||function(e){return window.clearTimeout(e)}}else t=function(e){return window.clearTimeout(e)};t(e)}(this.loop),this.requestId=null},e.prototype.remove=function(e){var t=this.frames.indexOf(e);t>=0&&this.frames.splice(t,1)},e.prototype.add=function(e,t,r,n){var i=this;void 0===t&&(t=!1),void 0===r&&(r=0),void 0===n&&(n=5);var o={callback:e,once:t,delay:r,order:n};return this.frames.push(o),this.frames.sort((function(e,t){return e.order-t.order})),function(){return i.remove(o)}},e.prototype.disponse=function(){this.stoped=!0,this.frames.length=0},e}(),Ve={"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"]}},ze=/^https?\:\/\/?([^\/]+)/;function je(e,t){return e.replace(ze,(function(e,r){return e.slice(0,e.length-r.length)+t}))}var Ue=function(e,t){var r,n=e.split("?")[0],i=n.split(".").pop();if("jpeg"===i&&(i="jpg"),"png"!==i&&"jpg"!==i)return e;var o="";if(void 0!==t.format&&t.format!==i&&(o+="/format/".concat(t.format)),void 0!==t.cut&&(o+="/cut/".concat(t.cut[2],"x").concat(t.cut[3],"x").concat(t.cut[0],"x").concat(t.cut[1])),void 0!==t.quality){var a=null!==(r=t.format)&&void 0!==r?r:i;a&&["jpg","webp","tpg","heif","avif"].indexOf(a)>=0&&(o+="/quality/".concat(t.quality))}if(void 0!==t.size){var s=e.match(/\/cube_(\d+)\//);(s?Number(s[1]):NaN)!==Number(t.size)&&(o+="/thumbnail/".concat(t.size,"x"))}return void 0!==t.sharpen&&(o+="/sharpen/".concat(t.sharpen)),o.length&&(o="?imageMogr2"+o),n+o},qe=function(e,t){var r,n=e.split("?")[0],i=n.split(".").pop();if("jpeg"===i&&(i="jpg"),"png"!==i&&"jpg"!==i)return e;var o="",a=[],s=t.format,l=t.quality,c=t.size;if(void 0!==s&&s!==i&&a.push("format,".concat("heif"===s?"heic":s)),void 0!==t.cut){var u=t.cut,d=u[0],p=u[1],h=u[2],f=u[3];a.push("crop,x_".concat(d,",y_").concat(p,",w_").concat(h,",h_").concat(f,",g_nw"))}if(void 0!==l&&100!==l){var v=null!==(r=t.format)&&void 0!==r?r:i;v&&["jpg","webp"].indexOf(v)>=0&&a.push("quality,Q_".concat(l))}return c&&2048!==c&&a.push("resize,w_".concat(c)),void 0!==t.sharpen&&a.push("sharpen,".concat(t.sharpen)),a.length&&(o="?x-oss-process=image/"+a.join("/")),n+o};function _e(e,t){var r=ie(ie({},Ve),t.mappings),n=function(e){var t=e.match(ze);return null===t?null:t[1]}(e);if(null===n)return e;var i=r[n];return i?(e=function(e,t,r){var n=t.split("."),i=n[0],o=n.slice(1);if("texture"===i)return je(e,r.texture[0]);if("pano"===i||"pano_luminance"===i)switch(o[0],o[1]){case"front":case"left":case"up":return je(e,r.pano[0]);case"down":case"right":case"back":return je(e,r.pano[1])}else if("pano_tile"===i||"pano_tile_luminance"===i){o[0],o[1];var a=o[2],s=o[3],l=o[4],c=Math.pow(2,Number(a))*Number(s)+Number(l);if(!isNaN(c))return je(e,r.tile[c%2])}else if("model"===i){var u=o[0];if(c=Number(u),!isNaN(c))return je(e,r.model[c%2])}return je(e,r.default[0])}(e,t.key,i),/\.basis(\?|$)/.test(e)&&(e=e.replace(/\.basis(\?|$)/,".jpg$1")),"tencentCloud"===i.type?Ue(e,t):"aliyun"===i.type?qe(e,t):e):e}function He(e,t,r){void 0===t&&(t=_e);var n=t(e,r);if(n===e&&r.cut)throw new Error("ImageURL: cut option not applied.");return n}function Ge(e){return new Promise((function(t){var r=new Image,n=setTimeout((function(){r.onload=r.onerror=function(){},clearTimeout(n),t(!1)}),100);r.onload=r.onerror=function(){r.onload=r.onerror=function(){},clearTimeout(n),t(2===r.height)},r.src=e}))}var Ke=null;function We(){return Ke||(Ke=Promise.all([Ge("data:image/webp;base64,UklGRiQAAABXRUJQVlA4IBgAAAAwAQCdASoCAAIAAUAmJaQAA3AA/vz0AAA="),Ge("data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAAGhbWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAsaWxvYwAAAABEAAACAAEAAAABAAAB3gAAABkAAgAAAAEAAAHJAAAAFQAAAEJpaW5mAAAAAAACAAAAGmluZmUCAAAAAAEAAGF2MDFDb2xvcgAAAAAaaW5mZQIAAAAAAgAAYXYwMUFscGhhAAAAABppcmVmAAAAAAAAAA5hdXhsAAIAAQABAAAA12lwcnAAAACxaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIAAoAAAAAUaXNwZQAAAAAAAAACAAAAAgAAAA5waXhpAAAAAAEIAAAADGF2MUOBABwAAAAAOGF1eEMAAAAAdXJuOm1wZWc6bXBlZ0I6Y2ljcDpzeXN0ZW1zOmF1eGlsaWFyeTphbHBoYQAAAAAeaXBtYQAAAAAAAAACAAEEAQKDBAACBAUGhwgAAAA2bWRhdBIACgQYADLVMgsWQBhhIAQqrNj/+BIACgUYADLEoDIOFkADDDDCQAACDaqCCb4="),Ge("data:image/heif;base64,AAAAGGZ0eXBoZWljAAAAAG1pZjFoZWljAAABL21ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAHBpY3QAAAAAAAAAAAAAAAAAAAAADnBpdG0AAAAAAAEAAAAjaWluZgAAAAAAAQAAABVpbmZlAgAAAAABAABodmMxAAAAAK9pcHJwAAAAkmlwY28AAAB2aHZjQwEBYAAAAAAAAAAAAADwAPz9+PgAACcDoAABAB5AAQwG//8BYAAAAwAAAwAAAwAAAwAAAwAAreTLgSChAAEAI0IBBwFgAAADAAADAAADAAADAAADAAChInJJlreTLySZNdggogABAAdEAcA98DMkAAAAFGlzcGUAAAAAAAAAAgAAAAIAAAAVaXBtYQAAAAAAAAABAAECgQIAAAAiaWxvYwAAAABEQAABAAEAAAAAAU8AAQAAAAAAAAAOAAAAFm1kYXQAAAAKJgGvLvkQwuWM4A==")]).then((function(e){return{webp:e[0],avif:e[1],heif:e[2]}})))}var Ye=/^(.*)\[(\d+)\]$/;function Xe(e){if(!isNaN(e.panoIndex)&&isFinite(e.panoIndex))return"".concat(e.workCode,"[").concat(e.panoIndex,"]");throw new Error("Invalid Pano")}function Je(e){var t=e.match(Ye);if(t){t[0];var r=t[1],n=t[2],i=Math.floor(Number(n));if(!isNaN(i)&&isFinite(i))return{workCode:r,panoIndex:i}}throw new Error("Invalid PanoId")}function Ze(e,t){return Xe(e)===Xe(t)}function $e(e){return"string"==typeof e&&Ye.test(e)}var et=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return ne(t,e),t}(n.Group),tt=function(e){function t(t,r){var n=e.call(this,t,r)||this;return n.onBeforeRender=rt,n}return ne(t,e),t}(n.Mesh);function rt(e,t,r){for(var n=0,i=this.material;n<i.length;n++){var o=i[n];this.model&&o.syncModel(this.model),o.update(e,r)}}var nt=(new n.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=");nt.minFilter=n.NearestFilter,nt.magFilter=n.NearestFilter,nt.wrapS=n.RepeatWrapping,nt.wrapT=n.RepeatWrapping;var it={pano0:null,pano1:null,shownFloorIndex:-1,modelAlpha:1,opacity:1,progress:0,useBlackTransition:!1,clippers:null,constantColor:null,useEDL:!1,useHQWeight:!1,useHQDepth:!1,pointColor:"RGB",pointSize:"ATTENUATION",pointBack:"DARK",pointShape:"SQUARE",pointScale:.03,pointMaxPixel:40,pointMinPixel:.5,gradientTexture:nt};function ot(e,t){var r=null!=e?e:[],n=null!=t?t:[];if(n.length!==r.length)return!1;for(var i=0;i<n.length;i++)if(!r[i].clippingBoxMatrix.equals(n[i].clippingBoxMatrix)||r[i].floorIndex!==n[i].floorIndex)return!1;return!0}function at(e,t){var r,n,i=!1;for(var o in t)switch(o){case"clippers":ot(e[o],t[o])||(e[o]=t[o],i=!0);break;case"pano0":case"pano1":r=e[o],n=t[o],(r&&n?r.luminanceMap===n.luminanceMap&&r.map===n.map&&r.matrix.equals(n.matrix):!r&&!n)||(e[o]=t[o],i=!0);break;default:e[o]!==t[o]&&(e[o]=t[o],i=!0)}return i}var st=function(e){function t(t,r){var n=e.call(this,t,r)||this;return n.onBeforeRender=lt,n}return ne(t,e),t}(n.Points);function lt(e,t,r){this.model&&this.material.syncModel(this.model),this.material.update(e,r)}var ct=new Set,ut=function(e){function t(){var t=e.call(this)||this;return t.needsRender=!0,t.pbmMaterialParametersVersion=0,t.materialParameters=ie({},it),t}return ne(t,e),t.prototype.getMaterial=function(){return ie({},this.materialParameters)},t.prototype.setMaterial=function(e){var t=this;Object.assign(this.materialParameters,e),ct.clear(),this.traverse((function(e){if(e instanceof tt)for(var r=0,n=e.material;r<n.length;r++){var i=n[r];ct.has(i)||(Object.assign(i,t.materialParameters),ct.add(i))}e instanceof st&&(ct.has(e.material)||(Object.assign(e.material,t.materialParameters),ct.add(e.material)))})),ct.clear(),this.needsRender=!0},t}(n.Group),dt=["right","left","up","down","front","back"];function pt(e,t,r,i){var o=new n.Box3;switch(e){case"up":o.min.y=.5,o.max.y=.5,o.min.x=+t-.5,o.max.x=+t-.5+i,o.min.z=.5-r-i,o.max.z=.5-r;break;case"down":o.min.y=-.5,o.max.y=-.5,o.min.x=+t-.5,o.max.x=+t-.5+i,o.min.z=+r-.5,o.max.z=+r-.5+i;break;case"left":o.min.x=-.5,o.max.x=-.5,o.min.z=.5-t-i,o.max.z=.5-t,o.min.y=.5-r-i,o.max.y=.5-r;break;case"right":o.min.x=.5,o.max.x=.5,o.min.z=+t-.5,o.max.z=+t-.5+i,o.min.y=.5-r-i,o.max.y=.5-r;break;case"front":o.min.z=-.5,o.max.z=-.5,o.min.x=+t-.5,o.max.x=+t-.5+i,o.min.y=.5-r-i,o.max.y=.5-r;break;case"back":o.min.z=.5,o.max.z=.5,o.min.x=.5-t-i,o.max.x=.5-t,o.min.y=.5-r-i,o.max.y=.5-r}return o.applyMatrix4((new n.Matrix4).makeRotationY(Math.PI))}var ht=function(e,t){if(!(e.level>=t))for(var r=e.level+1,i=e.size/2,o=0,a=[new n.Vector2(e.position.x,e.position.y),new n.Vector2(e.position.x+i,e.position.y),new n.Vector2(e.position.x,e.position.y+i),new n.Vector2(e.position.x+i,e.position.y+i)];o<a.length;o++){var s=a[o],l={face:e.face,level:r,size:i,position:s,box:pt(e.face,s.x,s.y,i),children:[]};e.children.push(l),ht(l,t)}};function ft(e){var t=dt.map((function(t){return function(e,t){var r={level:0,face:e,position:new n.Vector2(0,0),size:1,box:pt(e,0,0,1),children:[]};return ht(r,t),r}(t,e)}));return{children:t}}function vt(e,t){for(var r=0,n=e.children;r<n.length;r++){var i=n[r];!1!==t(i)&&vt(i,t)}}var mt=new n.BoxBufferGeometry(1,1,1,1,1);mt.deleteAttribute("uv"),mt.deleteAttribute("normal"),mt.groups=[],mt.scale(-1,1,1);var At=new n.ShaderMaterial({uniforms:{map:{value:null}},vertexShader:"\nvarying vec3 worldPosition;\nvoid main() {\n vec4 transform = vec4(position, 1.0);\n worldPosition = (modelMatrix * transform).xyz;\n gl_Position = projectionMatrix * modelViewMatrix * transform;\n}\n",fragmentShader:"\nuniform samplerCube map;\nvarying vec3 worldPosition;\nvoid main() {\n gl_FragColor = textureCube(map, worldPosition);\n}\n",depthTest:!1,depthWrite:!1,stencilWrite:!1,blending:n.NoBlending,lights:!1,toneMapped:!1,fog:!1}),gt=new n.Scene;gt.matrixAutoUpdate=!1;var yt,bt=new n.Mesh(mt,At);function xt(e,t,r){At.uniforms.map.value=e;var i=r.autoClear;r.autoClear=!1;var o=new n.CubeCamera(.1,2,t);o.matrixAutoUpdate=!1,o.update(r,gt),r.autoClear=i,At.uniforms.map.value=null}bt.matrixAutoUpdate=!1,gt.add(bt);var wt=null!==(yt=Math.SQRT1_2)&&void 0!==yt?yt:Math.sqrt(2),Et={up:new n.Quaternion(wt,0,0,wt),down:new n.Quaternion(-wt,0,0,wt),left:new n.Quaternion(0,wt,0,wt),right:new n.Quaternion(0,-wt,0,wt),front:new n.Quaternion(0,0,0,1),back:new n.Quaternion(0,1,0,0)},Mt=function(){var e=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]),r=new Uint8Array([0,1,2,1,3,2]),i=new n.BufferGeometry;return i.setAttribute("position",new n.BufferAttribute(e,3)),i.setAttribute("uv",new n.BufferAttribute(t,2)),i.setIndex(new n.BufferAttribute(r,1)),i}(),Ct="\nvarying vec2 vUv;\nuniform float flipY;\nvoid main() {\n vUv = vec2(uv.x, mix(uv.y, (1.0 - uv.y), flipY));\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n",St="\nuniform sampler2D map;\nvarying vec2 vUv;\nvoid main() {\n gl_FragColor = texture2D(map, vUv);\n}\n",It=[];function Pt(e){e.uniforms.map.value=null,It.push(e)}var Tt=[],Bt=0;Ne.shared.add((function(){if(Bt=6,Tt.length)for(var e=0,t=Tt.splice(0,Bt);e<t.length;e++){var r=t[e];Bt--,r()}}));var Rt=!!window.ImageBitmap,kt=!1;function Ot(){var e=Object.assign(document.createElementNS("http://www.w3.org/1999/xhtml","img"),{crossOrigin:"",close:function(){e.onerror=e.onload=e.close=fe,e.removeAttribute("src"),/^blob\:/.test(e.src)&&URL.revokeObjectURL(e.src)}});return e}function Ft(e){return new Promise((function(t,r){var n=Ot();n.onload=function(){/^blob\:/.test(n.src)&&URL.revokeObjectURL(n.src),n.onload=n.onerror=fe,setTimeout((function(){t(n)}),0)},n.onerror=function(){var e=n.src;n.onload=n.onerror=fe,n.close(),r(new Error("image load error: ".concat(e)))},n.src=URL.createObjectURL(e)}))}function Dt(e){return new Promise((function(t){Tt.push((function(){t(Ft(e))}))}))}var Qt=[];function Lt(e,t){if(t&&(e.width>t.width||e.height>t.height)){var r=function(e,t){var r=Qt.shift();if(r)return r.width=e,r.height=t,r;var n=Object.assign(document.createElementNS("http://www.w3.org/1999/xhtml","canvas"),{close:function(){n.close=fe,Qt.push(n)}});return n}(Math.min(e.width,t.width),Math.min(e.height,t.height)),i=r.getContext("2d");i.clearRect(0,0,r.width,r.height),i.drawImage(e,0,0,r.width,r.height),e.close();var o=new n.Texture(r);o.needsUpdate=!0,o.flipY=!0;var a=o.dispose;return o.dispose=function(){r.close(),a.call(o),o.dispose=a},o}var s=new n.Texture(e);s.needsUpdate=!0,Rt&&e instanceof ImageBitmap?s.flipY=!1:s.flipY=!0;var l=s.dispose;return s.dispose=function(){e.close(),l.call(s),s.dispose=l},s}var Nt=["right","left","up","down","front","back"],Vt=function(){function e(e,t,r,n,i){this.tileTree=t,this.tileSources=r,this.options=n,this.renderer=i,this.name="",this.needsRender=!1,this.disposed=!1,this.loadedCubeNodes=new Set,this.loadingCubeNodes=new Set,this.baseCubeTexture=null,this._cubeRenderTarget=null,this.textures=[],this.baseCubeTexture=e}return Object.defineProperty(e.prototype,"cubeRenderTarget",{get:function(){return this._cubeRenderTarget},set:function(e){var t,r,i,o,a;if(null===e)throw new Error("cannot set cubeRenderTarget to null.");e.width!==this.options.textureSize&&e.setSize(this.options.textureSize,this.options.textureSize),e.texture.format=null!==(t=this.options.format)&&void 0!==t?t:n.RGBAFormat,e.texture.minFilter=null!==(r=this.options.minFilter)&&void 0!==r?r:n.LinearFilter,e.texture.magFilter=null!==(i=this.options.magFilter)&&void 0!==i?i:n.LinearFilter,e.texture.wrapS=null!==(o=this.options.wrapS)&&void 0!==o?o:n.ClampToEdgeWrapping,e.texture.wrapT=null!==(a=this.options.wrapT)&&void 0!==a?a:n.ClampToEdgeWrapping,this.baseCubeTexture&&(xt(this.baseCubeTexture,e,this.renderer),this.baseCubeTexture.dispose(),this.baseCubeTexture=null),this._cubeRenderTarget&&xt(this._cubeRenderTarget.texture,e,this.renderer),this._cubeRenderTarget=e},enumerable:!1,configurable:!0}),e.prototype.requestTile=function(e){var t,r,i,o,a,s,l=this,c=this.tileSources.filter((function(t){return t.level===e.level}))[0];if(c){var u=c.size,d=Math.pow(2,e.level)*e.position.y,p=Math.pow(2,e.level)*e.position.x,h="".concat((null!==(i=null===(r=null===(t=this.options.imageURL)||void 0===t?void 0:t.options)||void 0===r?void 0:r.key)&&void 0!==i?i:"pano.0").replace(/^pano/,"pano_tile"),".").concat(e.face,".").concat(e.level,".").concat(d,".").concat(p),f=ie(ie({},null!==(a=null===(o=this.options.imageURL)||void 0===o?void 0:o.options)&&void 0!==a?a:{key:"unknown"}),{key:h,size:u*e.size===this.options.tileImageSize?void 0:this.options.tileImageSize,quality:void 0,cut:[u*e.position.x,u*e.position.y,u*e.size,u*e.size]});this.loadingCubeNodes.add(e),this.options.textureLoader.loadTexture(c[e.face],{imageURL:{transform:null===(s=this.options.imageURL)||void 0===s?void 0:s.transform,options:ie({},f)},format:n.RGBAFormat,viaAjax:kt,timeout:this.options.timeout,fetcher:this.options.fetcher}).then((function(t){l.disposed?t.body.dispose():(l.textures.push({face:e.face,level:e.level,position:e.position,size:new n.Vector2(e.size,e.size),texture:t.body,flipY:!t.body.flipY}),l.loadedCubeNodes.add(e))})).catch(fe).then((function(){l.disposed||l.loadingCubeNodes.delete(e)}))}else this.loadedCubeNodes.add(e)},e.prototype.update=function(e,t){var r=this;if(!this.disposed){var i=[];vt(this.tileTree,(function(n){return!r.loadingCubeNodes.has(n)&&(!(n.level>t)&&(!!e.intersectsBox(n.box)&&(r.loadedCubeNodes.has(n)?void 0:(i.push(n),!1))))}));for(var o=0,a=i;o<a.length;o++){var s=a[o];this.requestTile(s)}if(this.cubeRenderTarget&&this.textures.length){var l=this.textures.splice(0,4);!function(e,t,r){var i=new n.Scene;i.matrixAutoUpdate=!1;var o=new n.Group;o.scale.set(1,1,-1),i.add(o);for(var a=[],s=0,l=e;s<l.length;s++){var c=l[s],u=It.pop()||new n.ShaderMaterial({uniforms:{map:{value:null},flipY:{value:0}},vertexShader:Ct,fragmentShader:St,depthTest:!1,depthWrite:!1,stencilWrite:!1,blending:n.NoBlending,lights:!1,toneMapped:!1,fog:!1});a.push(u),u.uniforms.map.value=c.texture,u.uniforms.flipY.value=c.flipY?1:0;var d=new n.Group,p=new n.Mesh(Mt,u);p.position.set(c.position.x+c.size.x/2-.5,1-(c.position.y+c.size.y/2)-.5,-.5),p.scale.set(c.size.x,c.size.y,1),d.quaternion.copy(Et[c.face]),d.add(p),o.add(d)}var h=r.autoClear;r.autoClear=!1;var f=new n.CubeCamera(.1,2,t);f.matrixAutoUpdate=!1,f.update(r,i),r.autoClear=h;for(var v=0,m=a;v<m.length;v++)Pt(u=m[v])}(l,this.cubeRenderTarget,this.renderer),this.needsRender=!0;for(var c=0,u=l;c<u.length;c++){u[c].texture.dispose()}}}},Object.defineProperty(e.prototype,"tilePending",{get:function(){return this.loadingCubeNodes.size},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"texture",{get:function(){if(!this._cubeRenderTarget)throw new Error("cubeRenderTarget never set.");return this._cubeRenderTarget.texture},enumerable:!1,configurable:!0}),e.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 e=0,t=this.textures;e<t.length;e++){t[e].texture.dispose()}this.textures.length=0}},e}(),zt=function(){function e(){}return e.prototype.loadTexture=function(e,t,r,n,i,o){var a,s,l,c;void 0===r&&(r=fe),void 0===n&&(n=fe),void 0===i&&(i=fe);var u={};void 0!==t.flipY&&(u.flipY=t.flipY),void 0!==t.format&&(u.format=t.format),void 0!==t.minFilter&&(u.minFilter=t.minFilter),void 0!==t.magFilter&&(u.magFilter=t.magFilter);var d=null!==(s=null===(a=t.imageURL)||void 0===a?void 0:a.options)&&void 0!==s?s:{key:"unknown"},p=Te(e=He(e,null===(l=t.imageURL)||void 0===l?void 0:l.transform,d)),h=null!==(c=t.viaAjax)&&void 0!==c&&c,f=Pe(e),v=/^https?:/.test(p);if(f?h=!0:v||(h=!1),h){return t.fetcher.ajax(e,{timeout:t.timeout,responseType:"blob"},void 0,void 0,i).then((function(e){return Dt(e.body)})).then((function(e){return Lt(e,t.maxSize)})).then((function(e){return Object.assign(e,u),e})).then((function(e){var t={meta:null,body:e};return r(t),t})).catch((function(e){return n(e),Promise.reject(e)}))}var m,A=null;return Promise.resolve().then((function(){return Ot()})).then((function(r){return m=r,t.fetcher.loadImage(e,{timeout:t.timeout},void 0,void 0,i,r)})).then((function(e){return A=e.meta,Lt(e.body,t.maxSize)})).then((function(e){return Object.assign(e,u),e})).then((function(e){var t={meta:A,body:e};return r(t),t})).catch((function(e){return m&&m.close(),n(e),Promise.reject(e)}))},e.prototype.loadCubeTexture=function(e,t,r,i,o,a){var s,l,c,u;void 0===r&&(r=fe),void 0===i&&(i=fe),void 0===o&&(o=fe),void 0!==t.format&&t.format,void 0!==t.minFilter&&t.minFilter,void 0!==t.magFilter&&t.magFilter;for(var d=[e[Nt[0]],e[Nt[1]],e[Nt[2]],e[Nt[3]],e[Nt[4]],e[Nt[5]]],p=[],h=[0,0,0,0,0,0],f=[],v=function(e){var r=null!==(l=null===(s=t.imageURL)||void 0===s?void 0:s.options)&&void 0!==l?l:{key:"unknown"},n=He(d[e],null===(c=t.imageURL)||void 0===c?void 0:c.transform,ie(ie({},r),{key:r.key+"."+Nt[e]})),i=Te(n),a=function(t){h[e]=t,o(h.reduce((function(e,t){return e+t}),0)/6)},v=null!==(u=t.viaAjax)&&void 0!==u&&u,m=/^https?:$/.test(i);if(Pe(n)?v=!0:m||(v=!1),v){var A=t.fetcher.ajax(n,{timeout:t.timeout,responseType:"blob"},void 0,void 0,a).then((function(t){return f[e]=t.meta,Dt(t.body)}));p.push(A)}else{var g;A=Promise.resolve().then((function(){return Ot()})).then((function(e){return g=e,t.fetcher.loadImage(n,{timeout:t.timeout},void 0,void 0,a,e)})).then((function(t){return f[e]=t.meta,t.body})).catch((function(e){return g&&g.close(),Promise.reject(e)}));p.push(A)}},m=0;m<6;m++)v(m);return Promise.all(p).then((function(e){return function(e){var t=new n.CubeTexture(e);t.needsUpdate=!0,t.flipY=!1;var r=t.dispose;return t.dispose=function(){for(var n=0,i=e;n<i.length;n++)i[n].close();r.call(t),t.dispose=r},t}(e)})).then((function(e){return Object.assign(e,ie({encoding:n.sRGBEncoding},t)),e})).then((function(e){var t={body:e,meta:f};return r(t),t})).catch((function(e){for(var t=0,r=p;t<r.length;t++){r[t].then((function(e){return e.close()})).catch(fe)}return i(e),Promise.reject(e)}))},e.prototype.loadTiledCubeTexture=function(e,t,r,i,o,a,s){var l=this;return void 0===i&&(i=fe),void 0===o&&(o=fe),void 0===a&&(a=fe),new Promise((function(c,u){var d,p;l.loadCubeTexture(e,{imageURL:{transform:null===(d=r.imageURL)||void 0===d?void 0:d.transform,options:null===(p=r.imageURL)||void 0===p?void 0:p.options},format:n.RGBAFormat,viaAjax:r.viaAjax,timeout:r.timeout,fetcher:r.fetcher},(function(e){var n,o,a=e.meta,u=e.body,d=null!==(n=r.tileImageSize)&&void 0!==n?n:512,p=null!==(o=r.tileMaxLevel)&&void 0!==o?o:2,h=Math.max(1024*p,512),f=ft(p),v={meta:a,body:new Vt(u,f,t,{textureSize:h,tileImageSize:d,textureLoader:l,imageURL:r.imageURL,timeout:r.timeout,fetcher:r.fetcher},s)};i(v),c(v)}),(function(e){o(e),u(e)}),a,s).catch(fe)}))},e}(),jt=function(){return arguments[0].split("").map((function(e){return e.charCodeAt(0)>126?e:String.fromCharCode((e.charCodeAt(0)+113)%126)})).join("")}("0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6--nvor-sy|n-sy||H--n\bv{t-sy|n-Sy||H0r{qvsnvor-sy|n-v_||sZnxHn\bv{t-sy|n-V_||sZnxHn\bv{t-rp@-[|znyHn\bv{t-rp@-cvr]|vv|{Hn\bv{t-rpA-|yq]|vv|{Hn\bv{t-sy|n-Y|tQr}uHn\bv{t-znA-cvrZnvH0v{pyqr-Ip|zz|{K0v{pyqr-Il}nlrrK0v{pyqr-I?l}nlrrK0v{pyqr-Ip|y|l}nlrrK0v{pyqr-Iunq|zn}l}nlrrK|vq-znv{56-\n--0v{pyqr-IlrrK--0v{pyqr-I?lrrK--0v{pyqr-Ip|y|lrrK--0v{pyqr-Iortv{{|znylrrK--0v{pyqr-Iqrsny{|znylrrK--rpA-n{s|zrq-J-rpA5}|vv|{9->;=6H--rpA-z]|vv|{-J-z|qrycvrZnv-7-n{s|zrqH--[|zny-J-{|znyv\tr5n{s|zrq[|zny6H--0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6----Sy||-J-sy||H--0r{qvs--cvr]|vv|{-J-:z]|vv|{;\b\tH--|yq]|vv|{-J-z|qryZnv-7-n{s|zrqH--tyl]|vv|{-J-}|wrpv|{Znv-7-z|qrycvrZnv-7-n{s|zrqH--0v{pyqr-Iunq|zn}lrrK--Y|tQr}u-J-y|t?5:z]|vv|{;\t6H--cvrZnv-J-vrZnvH--V_||sZnx-J-v_||sZnxH\f"),Ut=function(){return arguments[0].split("").map((function(e){return e.charCodeAt(0)>126?e:String.fromCharCode((e.charCodeAt(0)+113)%126)})).join("")}("0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=60qrsv{r-aNb-C;?E@>EB?{vs|z-nz}yrPor-}n{|=lzn}H{vs|z-znA-}n{|=lznvH0vs-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{|>lznvH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|>lyzv{n{prZn}H0r{qvs{vs|z-rp@-qvssrH{vs|z-rp@-rzvvrH{vs|z-rp@-}rpynH{vs|z-sy|n-uv{v{rH{vs|z-sy|n-r}|rH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH{vs|z-sy|n-u|{Sy||V{qrHn\bv{t-sy|n-V_||sZnxH0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6--{vs|z-rp@-p|{n{P|y|H0r{qvs0vs-qrsv{rq5b`Rl]N[\\lcVQR\\6--{vs|z-rp?-}n{|cvqr|lv\trH--{vs|z-znA-}n{|cvqr|lznvH--{vs|z-sy|n-}n{|cvqr|lny}unH--{vs|z-nz}yr?Q-}n{|cvqr|lzn}H0r{qvs0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6--n\bv{t-sy|n-Sy||H0ryr--{vs|z-sy|n-sy||H0r{qvsn\bv{t-rpA-|yq]|vv|{Hn\bv{t-sy|n-Y|tQr}uHn\bv{t-znA-cvrZnvHp-Pyv}}r-\n--znA-znvV{rrH--sy|n-sy||V{qrH\fH0vs-[bZlPYV]]R_`-K-=--{vs|z-Pyv}}r-pyv}}rh[bZlPYV]]R_`jH0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-I}npxv{tK0v{pyqr-Ip|y|l}nlsntzr{K0v{pyqr-Il}nlsntzr{K0v{pyqr-I?l}nlsntzr{K0v{pyqr-Izn}l}nlsntzr{K0v{pyqr-Iny}unzn}l}nlsntzr{K0v{pyqr-In|zn}l}nlsntzr{K0v{pyqr-Iyvtuzn}l}nlsntzr{K0v{pyqr-Irzvvrzn}l}nlsntzr{K0v{pyqr-Ir{zn}l}nlsntzr{K0v{pyqr-Itnqvr{zn}l}nlsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-IoqsK0v{pyqr-Iyvtul}nlortv{K0v{pyqr-Iyvtul}u|{tl}nlsntzr{K0v{pyqr-Iunq|zn}l}nlsntzr{Krp?-|P||q5rp@-rp|6-\n--sy|n--J-yr{tu5rp|6H--sy|n-urn-J-np|5rp|;\b-<-6H--sy|n-}uv-J-nn{5rp|;9-rp|;\t6H--r{-rp?5=;B-8-}uv-<-aNb9-urn-<-]V6H\f|vq-znv{56-\n--sy|n-ory|{tv{tSY||-J-=;=H--0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6----ory|{tv{tSY||-J-Sy||H--0ryr----ory|{tv{tSY||-J-sy||H--0r{qvs--zn@-pnzrn_|nv|{Znv-J-zn@5cvrZnvh=jh=j9-cvrZnvh>jh=j9-cvrZnvh?jh=j9cvrZnvh=jh>j9-cvrZnvh>jh>j9-cvrZnvh?jh>j9cvrZnvh=jh?j9-cvrZnvh>jh?j9-cvrZnvh?jh?j6H--rp@-pnzrnQvrpv|{-J-{|znyv\tr5pnzrn_|nv|{Znv-7-rp@5=;=9=;=9>;=66H--vs5pnzrnQvrpv|{;\b-K-=;E-33-V_||sZnx-JJ->;=6-\n----qvpnqH--\f--<<前置裁切计算--0vs-[bZlPYV]]R_`-K-=----o||y-pyv}}rqH----rpA-pyv}}r]|vv|{H----0}ntzn-{|yyly||}ln----s|-5-v{-v-J-=H-v-I-[bZlPYV]]R_`H-v-88-6-\n------pyv}}r]|vv|{-J-pyv}}rh-v-j;znvV{rr-7-|yq]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr-I-=;=-\v\v-no5ory|{tv{tSY||-:-pyv}}rh-v-j;sy||V{qr6-I->;=6H------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;-K-:=;B-33-pyv}}r]|vv|{;-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|{;\t-K-:=;B-33-pyv}}r]|vv|{;\t-I-=;BH------vs-5pyv}}rq6-\n--------qvpnqH------\f----\f----0}ntzn-{|yyly||}lr{q--0r{qvs--0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6----tylSntP|y|-J-rpA5p|{n{P|y|;9-p|{n{P|y|;t9-p|{n{P|y|;o9->;=6H----r{H--0r{qvs--<<楼层选择计算--sy|n-sy||\\}npv\b-J->;=H--vs-5u|{Sy||V{qr-KJ-=;=-33-no5ory|{tv{tSY||-:-u|{Sy||V{qr6-KJ->;=6-\n----sy||\\}npv\b-J-=;>H--\f--rpA-qvssrP|y|-J-rpA5qvssr;to9-|}npv\b6H--_rsyrprqYvtu-rsyrprqYvtu-J-_rsyrprqYvtu5rp@5=;=69-rp@5=;=69-rp@5=;=69-rp@5=;=66H--rp@-|nyRzvvr_nqvn{pr-J-rzvvrH--0v{pyqr-Izn}lsntzr{K--0v{pyqr-Ip|y|lsntzr{K--0v{pyqr-Iny}unzn}lsntzr{K--0v{pyqr-Iny}unrlsntzr{K--0v{pyqr-I}rpynzn}lsntzr{K--0v{pyqr-I{|znylsntzr{lortv{K--0v{pyqr-I{|znylsntzr{lzn}K--0v{pyqr-Irzvvrzn}lsntzr{K--0v{pyqr-Iyvtul}u|{tlsntzr{K--0v{pyqr-Iyvtulsntzr{lortv{K--<<-调整曝光值--vnqvn{pr-J-vnqvn{pr-7-r}|rH--0v{pyqr-Iyvtulsntzr{lzn}K--0v{pyqr-Iyvtulsntzr{lr{qK--0v{pyqr-In|zn}lsntzr{K--<<-减少方向光对模型的影响--rp@-|t|v{tYvtu-J-5rsyrprqYvtu;qvrpQvssr-7-=;?6-8----rsyrprqYvtu;v{qvrpQvssr-8----rsyrprqYvtu;v{qvrp`}rpyn-8----|nyRzvvr_nqvn{prH--<<-修复黑色面片的问题--vs-5|t|v{tYvtu;-K-=;=-\v\v-|t|v{tYvtu;t-K-=;=-\v\v-|t|v{tYvtu;o-K-=;=6-\n----tylSntP|y|-J-rpA5|t|v{tYvtu9-qvssrP|y|;n6H--\f-ryr-\n----tylSntP|y|-J-rpA5OYNPXlP\\Y\\_;\b\t9-qvssrP|y|;n6H--\f--rp@-}n{|=a|crr-J-5|yq]|vv|{;\b\t-:-}n{|=lznvh@j;\b\t6-7-zn@5}n{|=lznv6H--rp@-}n{|>a|crr-J-5|yq]|vv|{;\b\t-:-}n{|>lznvh@j;\b\t6-7-zn@5}n{|>lznv6H--rpA-}n{|P|y|H--rpA-}n{|=P|y|-J-rrPor5}n{|=lzn}9-}n{|=a|crr6H--rpA-}n{|>P|y|-J-rrPor5}n{|>lzn}9-}n{|>a|crr6H--0vs-qrsv{rq5b`RlYbZV[N[PR6----}n{|=P|y|;n-J->;=-:-rrPor5}n{|=lyzv{n{prZn}9-}n{|=a|crr6;H----}n{|>P|y|;n-J->;=-:-rrPor5}n{|>lyzv{n{prZn}9-}n{|>a|crr6;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-zv5}n{|=P|y|9-OYNPXlP\\Y\\_9-zv{5>;=9-oynpx]|tr66H----}n{|P|y|-J-zv5}n{|P|y|9-}n{|>P|y|9-zn5=;=9-oynpx]|tr-:-?;=66H--0ryr----}n{|P|y|-J-zv5}n{|=P|y|9-}n{|>P|y|9-}|tr6H--0r{qvs--0vs-qrsv{rq5b`Rl]N[\\lcVQR\\6----rp@-pnzrna|crr-J-|yq]|vv|{;\b\t-:-pnzrn]|vv|{H----rpA-zn}P||q-J-rpA5pnzrna|crr9->;=6-7-}n{|cvqr|lznvH----rp?--J-rp?5------=;B-8-zn}P||q;-<-zn}P||q;\t-<-}n{|cvqr|lv\tr;9------=;B-:-zn}P||q;\b-<-zn}P||q;\t-<-}n{|cvqr|lv\tr;\b----6H----rpA-vqr|P|y|-J-rr?Q5}n{|cvqr|lzn}9-6H----sy|n-znpu-J-5>;=-:-r}5=;=9-zn}P||q;\t66-7-5>;=-:-r}5=;B9-no5;-:-=;B666-7-5>;=-:-r}5=;B9-no5;\b-:-=;B666H----sy|n-ny}un-J-pynz}5=;=9->;=9-B;=-7-5>;=-:-pynz}5qvn{pr59-rp?5=;B9-=;B66-<-=;BB-9-=;=9->;=666H----}n{|P|y|-J-zv5}n{|P|y|9-vqr|P|y|9-znpu-7-ny}un-7-}n{|cvqr|lny}un6H--0r{qvs--0vs-qrsv{rq5b`Rl]N[\\l\\]NPVaf6----tylSntP|y|-J-zv5}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H----tylSntP|y|;n-J-|}npv\bH--0ryr----tylSntP|y|-J-rpA5tylSntP|y|;to9-|}npv\b-7-sy||\\}npv\b6H----tylSntP|y|-J-zv5}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H--0r{qvs--0vs-qrsv{rq5b`RlRQY6----tylSntP|y|;n-J-Y|tQr}uH--0r{qvs\f"),qt=new n.WebGLCubeRenderTarget(1).texture;qt.name="EMPTY_TEXTURE";var _t=Object.assign({modelAlpha:new n.Uniform(0),progress:new n.Uniform(0),pano0_map:new n.Uniform(qt),pano0_luminanceMap:new n.Uniform(null),pano0_matrix:new n.Uniform(new n.Matrix4),pano1_map:new n.Uniform(qt),pano1_luminanceMap:new n.Uniform(null),pano1_matrix:new n.Uniform(new n.Matrix4),clippers:new n.Uniform([]),shownFloorIndex:new n.Uniform(-1),constantColor:new n.Uniform(null),floor:new n.Uniform(0)},{exposure:new n.Uniform(1),emissive:new n.Uniform(new n.Color(0)),emissiveMap:new n.Uniform(null),specular:new n.Uniform(new n.Color(1118481)),specularMap:new n.Uniform(null),normalMap:new n.Uniform(null),bumpMap:new n.Uniform(null),shininess:new n.Uniform(30)},n.UniformsUtils.clone(n.UniformsLib.common),n.UniformsUtils.clone(n.UniformsLib.lights)),Ht=function(e){function t(t){void 0===t&&(t={});var r,i,o,a,s,l,c,u,d,p,h,f,v,m,A,g,y,b,x,w,E,M=this;M=e.call(this,{vertexShader:jt,fragmentShader:Ut,uniforms:n.UniformsUtils.clone(_t),defines:{USE_CONSTANT_COLOR:!1,USE_EDL:!1,USE_HQ_WEIGHT:!1,USE_HQ_DEPTH:!1,NUM_CLIPPING_BOX:!1,USE_CLIPFLOOR:!1,USE_VERTEX_FLOOR:!1,USE_MAP:!0,USE_UV:!0,USE_LUMINANCE:!1,USE_PANO_OPACITY:!1,USE_BLACK_TRANSITION:!1,USE_PANO_VIDEO:!1,USE_POINT_NORMAL:!1,USE_POINT_CIRCLE:!1,USE_POINT_ADAPTIVE_SIZE:!1,USE_POINT_COLOR_ALTITUDE:!1},lights:!0})||this;var C=null,S=null;return Object.defineProperties(M,{pano0:{get:function(){return C},set:function(e){if(C!==e){C=e,null===e?(this.uniforms.pano0_map.value=qt,this.uniforms.pano0_luminanceMap.value=null,this.uniforms.pano0_matrix.value.identity()):(this.uniforms.pano0_map.value=e.map instanceof Vt?e.map.texture:e.map,this.uniforms.pano0_luminanceMap.value=e.luminanceMap instanceof Vt?e.luminanceMap.texture:e.luminanceMap,this.uniforms.pano0_matrix.value.copy(e.matrix));var t=null!==this.uniforms.pano0_luminanceMap.value&&null!==this.uniforms.pano1_luminanceMap.value;this.defines.USE_LUMINANCE!==t&&(this.defines.USE_LUMINANCE=t,this.needsUpdate=!0)}}},pano1:{get:function(){return S},set:function(e){if(S!==e){S=e,null===e?(this.uniforms.pano1_map.value=qt,this.uniforms.pano1_luminanceMap.value=null,this.uniforms.pano1_matrix.value.identity()):(this.uniforms.pano1_map.value=e.map instanceof Vt?e.map.texture:e.map,this.uniforms.pano1_luminanceMap.value=e.luminanceMap instanceof Vt?e.luminanceMap.texture:e.luminanceMap,this.uniforms.pano1_matrix.value.copy(e.matrix));var t=null!==this.uniforms.pano0_luminanceMap.value&&null!==this.uniforms.pano1_luminanceMap.value;this.defines.USE_LUMINANCE!==t&&(this.defines.USE_LUMINANCE=t,this.needsUpdate=!0)}}},modelAlpha:{get:function(){return this.uniforms.modelAlpha.value},set:function(e){this.uniforms.modelAlpha.value=e}},progress:{get:function(){return this.uniforms.progress.value},set:function(e){this.uniforms.progress.value=e}},useBlackTransition:{get:function(){return this.defines.USE_BLACK_TRANSITION},set:function(e){this.defines.USE_BLACK_TRANSITION!==e&&(this.defines.USE_BLACK_TRANSITION=e,this.needsUpdate=!0)}},constantColor:{get:function(){return this.uniforms.constantColor.value},set:function(e){this.uniforms.constantColor.value=e;var t=null!==e;this.defines.USE_CONSTANT_COLOR!==t&&(this.defines.USE_CONSTANT_COLOR=t,this.needsUpdate=!0)}},opacity:{get:function(){return this.uniforms.opacity.value},set:function(e){this.uniforms.opacity.value=e}},shownFloorIndex:{get:function(){return this.uniforms.shownFloorIndex.value},set:function(e){this.uniforms.shownFloorIndex.value=e}},clippers:{get:function(){return E},set:function(e){E!==e&&(E=e,this.uniforms.clippers.value=(E||[]).map((function(e){var t="number"==typeof e.floorIndex?e.floorIndex:-1;return{matrixInverse:(new n.Matrix4).getInverse(e.clippingBoxMatrix),floorIndex:t}})),this.needsUpdate=!0)}},useEDL:{get:function(){return this.defines.USE_EDL},set:function(e){e!==this.defines.USE_EDL&&(this.defines.USE_EDL=e,this.needsUpdate=!0)}},useHQWeight:{get:function(){return this.defines.USE_HQ_WEIGHT},set:function(e){e!==this.defines.USE_HQ_WEIGHT&&(this.defines.USE_HQ_WEIGHT=e,this.needsUpdate=!0)}},useHQDepth:{get:function(){return this.defines.USE_HQ_DEPTH},set:function(e){e!==this.defines.USE_HQ_DEPTH&&(this.defines.USE_HQ_DEPTH=e,this.needsUpdate=!0)}},floor:{get:function(){return this.uniforms.floor.value},set:function(e){this.uniforms.floor.value=e}}}),M.pano0=null!==(r=t.pano0)&&void 0!==r?r:it.pano0,M.pano1=null!==(i=t.pano1)&&void 0!==i?i:it.pano1,M.modelAlpha=null!==(o=t.modelAlpha)&&void 0!==o?o:it.modelAlpha,M.progress=null!==(a=t.progress)&&void 0!==a?a:it.progress,M.useBlackTransition=null!==(s=t.useBlackTransition)&&void 0!==s?s:it.useBlackTransition,M.constantColor=null!==(l=t.constantColor)&&void 0!==l?l:it.constantColor,M.opacity=null!==(c=t.opacity)&&void 0!==c?c:it.opacity,M.shownFloorIndex=null!==(u=t.shownFloorIndex)&&void 0!==u?u:it.shownFloorIndex,M.clippers=null!==(d=t.clippers)&&void 0!==d?d:it.clippers,M.useEDL=null!==(p=t.useEDL)&&void 0!==p?p:it.useEDL,M.useHQWeight=null!==(h=t.useHQWeight)&&void 0!==h?h:it.useHQWeight,M.useHQDepth=null!==(f=t.useHQDepth)&&void 0!==f?f:it.useHQDepth,M.pointSize=null!==(v=t.pointSize)&&void 0!==v?v:it.pointSize,M.pointColor=null!==(m=t.pointColor)&&void 0!==m?m:it.pointColor,M.pointShape=null!==(A=t.pointShape)&&void 0!==A?A:it.pointShape,M.pointScale=null!==(g=t.pointScale)&&void 0!==g?g:it.pointScale,M.pointBack=null!==(y=t.pointBack)&&void 0!==y?y:it.pointBack,M.pointMinPixel=null!==(b=t.pointMinPixel)&&void 0!==b?b:it.pointMinPixel,M.pointMaxPixel=null!==(x=t.pointMaxPixel)&&void 0!==x?x:it.pointMaxPixel,M.gradientTexture=null!==(w=t.gradientTexture)&&void 0!==w?w:it.gradientTexture,M.floor=0,M}return ne(t,e),t.prototype.onBeforeCompile=function(e,t){var r,n,i=String(null!==(n=null===(r=this.clippers)||void 0===r?void 0:r.length)&&void 0!==n?n:0);e.vertexShader=e.vertexShader.replace(/NUM_CLIPPERS/g,i),e.fragmentShader=e.fragmentShader.replace(/NUM_CLIPPERS/g,i)},t.prototype.update=function(e,t){this.transparent=this.shownFloorIndex>-1||this.opacity<1,this.blending=this.transparent?n.NormalBlending:n.NoBlending},t.prototype.syncModel=function(e){var t="".concat(e.id,":").concat(e.materialVersion);t!==this.syncModelVersion&&(Object.assign(this,e.getMaterial()),this.syncModelVersion=t)},t}(n.ShaderMaterial),Gt=function(e){function t(t){var r=t.preserveDrawingBuffer,i=void 0===r||r,o=t.backgroundColor,a=void 0===o?1579548:o,s=t.backgroundAlpha,l=void 0===s?1:s,c=t.pixelRatio,u=void 0===c?1:c,d=t.antialias,p=void 0!==d&&d,h=t.webgl2,f=this,v=l<1;if(void 0!==h&&h){var m=document.createElement("canvas"),A=m.getContext("webgl2");A?f=e.call(this,{antialias:p,preserveDrawingBuffer:i,alpha:v,canvas:m,context:A})||this:(console.error("error occurred when getting webgl2 canvas context, mybe webgl2 not support, fallback to webgl."),f=e.call(this,{antialias:p,preserveDrawingBuffer:i,alpha:v})||this)}else f=e.call(this,{antialias:p,preserveDrawingBuffer:i,alpha:v})||this;return f.setPixelRatio(u),f.setClearColor(a,l),f.outputEncoding=n.sRGBEncoding,f.autoClear=!0,f}return ne(t,e),t}(n.WebGLRenderer),Kt=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return ne(t,e),t.prototype.add=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return e.prototype.add.apply(this,t)},t.prototype.remove=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return e.prototype.remove.apply(this,t)},t}(n.Scene);function Wt(e,t){var r=Math.abs(Math.cos(e.latitude)),i=-Math.sin(e.longitude)*r,o=-Math.sin(e.latitude),a=-Math.cos(e.longitude)*r;return t?t.set(i,o,a):new n.Vector3(i,o,a)}var Yt=2*Math.PI,Xt=Math.PI/2;function Jt(e){return e>0&&e<=Yt?e:(e%Yt+Yt)%Yt}var Zt,$t=function(e){function t(t,r,i,o,a,s,l,c){void 0===r&&(r=1),void 0===i&&(i=.1),void 0===o&&(o=1e3),void 0===a&&(a=new n.Vector2),void 0===s&&(s=1),void 0===l&&(l=512),void 0===c&&(c=1);var u=e.call(this)||this;u.fov=t,u.aspect=r,u.near=i,u.far=o,u.perspToOrtho=a,u.orthoDistance=s,u.screenHeight=l,u.pixelRatio=c,u.needsRender=!0,u.pose={longitude:0,latitude:0,fov:t,distance:0,offset:new n.Vector3},u.computePose(),u.perspectiveCamera=new n.PerspectiveCamera(u.fov,u.aspect,.001,u.far);var d=Math.max(u.orthoDistance,.01)*Math.tan(.5*u.fov/180*Math.PI),p=-.5*u.aspect*2*d;return u.orthographicCamera=new n.OrthographicCamera(p,-p,d,-d,.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,perspToOrtho:u.perspToOrtho.clone(),orthoDistance:u.orthoDistance},u.type=u.perspToOrtho.x<1?"PerspectiveCamera":"OrthographicCamera",u}return ne(t,e),Object.defineProperty(t.prototype,"zoom",{get:function(){return"OrthographicCamera"===this.type?this.orthographicCamera.zoom:"PerspectiveCamera"===this.type?this.perspectiveCamera.zoom:1},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"top",{get:function(){return"OrthographicCamera"===this.type?this.orthographicCamera.top:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"bottom",{get:function(){return"OrthographicCamera"===this.type?this.orthographicCamera.bottom:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"left",{get:function(){return"OrthographicCamera"===this.type?this.orthographicCamera.left:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"right",{get:function(){return"OrthographicCamera"===this.type?this.orthographicCamera.right:0},enumerable:!1,configurable:!0}),t.prototype.getDirection=function(e){return Wt(this.pose,e)},t.prototype.computePose=function(e){void 0===e&&(e=0);var t=this.getDirection(new n.Vector3);this.pose.longitude=Jt(-Math.atan2(t.x,-t.z)),this.pose.latitude=-Math.asin(t.y/1),this.pose.fov=this.fov,this.pose.distance=e;var r=(new n.Vector3).add(this.position).add(t.clone().setLength(this.pose.distance));return this.pose.offset.copy(r),this},t.prototype.setFromPose=function(e){var t,r,n,i,o,a=Jt(null!==(t=e.longitude)&&void 0!==t?t:this.pose.longitude),s=Math.max(1e-4-Xt,Math.min(Xt-1e-4,null!==(r=e.latitude)&&void 0!==r?r:this.pose.latitude)),l=null!==(n=e.fov)&&void 0!==n?n:this.pose.fov,c=null!==(i=e.distance)&&void 0!==i?i:this.pose.distance,u=null!==(o=e.offset)&&void 0!==o?o:this.pose.offset,d=Wt({longitude:a,latitude:s}).normalize();return this.position.set(0,0,0),this.lookAt(d),this.position.add(u).sub(d.clone().setLength(c)),this.fov!==l&&(this.fov=l,this.updateProjectionMatrix()),this.updateMatrixWorld(),this.pose.longitude=a,this.pose.latitude=s,this.pose.fov=l,this.pose.distance=c,this.pose.offset.copy(u),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(){!function(e,t,r,n){r=Math.pow(r,2);for(var i=0;i<16;i++)n.elements[i]=e.elements[i]+(t.elements[i]-e.elements[i])*r}(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,t,r,n,i,o){this.perspectiveCamera.setViewOffset(e,t,r,n,i,o),this.orthographicCamera.setViewOffset(e,t,r,n,i,o),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,t){var r=!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(),r=!0),!this.lastValues.position.equals(this.position)||!this.lastValues.quaternion.equals(this.quaternion)||!this.lastValues.scale.equals(this.scale)||this.lastValues.orthoDistance!==this.orthoDistance||this.lastValues.fov!==this.fov||this.lastValues.near!==this.near||this.lastValues.far!==this.far||this.lastValues.aspect!==this.aspect){var n=Math.max(this.orthoDistance,.01)*Math.tan(.5*this.fov/180*Math.PI),i=-.5*this.aspect*2*n;this.orthographicCamera.left=i,this.orthographicCamera.right=-i,this.orthographicCamera.top=n,this.orthographicCamera.bottom=-n,this.orthographicCamera.updateProjectionMatrix(),r=!0}this.lastValues.perspToOrtho.equals(this.perspToOrtho)||(r=!0),r&&this.computeProjectionMatrix(),this.lastValues.position.copy(this.position),this.lastValues.quaternion.copy(this.quaternion),this.lastValues.scale.copy(this.scale),this.lastValues.fov=this.fov,this.lastValues.aspect=this.aspect,this.lastValues.near=this.near,this.lastValues.far=this.far,this.lastValues.perspToOrtho.copy(this.perspToOrtho),this.lastValues.orthoDistance=this.orthoDistance,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(t,r){return e.prototype.copy.call(this,t,r),this.fov=t.fov,this.aspect=t.aspect,this.near=t.near,this.far=t.far,this.perspToOrtho.copy(t.perspToOrtho),this.orthoDistance=t.orthoDistance,this.updateTime(me(),0),this},t}(n.Camera);!function(e){e[e.Outside=-1]="Outside",e[e.Intersecting=0]="Intersecting",e[e.Inside=1]="Inside"}(Zt||(Zt={}));var er=new n.Vector3,tr=new n.Matrix4,rr=new n.Vector3,nr=new n.Vector3,ir=new n.Vector3,or=new n.Vector3,ar=new n.Vector3,sr=new n.Box3,lr=new n.Matrix4,cr=new n.Ray,ur=new n.Object3D,dr=new n.Matrix4,pr=new n.Frustum;function hr(e,t){return t.setFromRotationMatrix(tr.set(e.elements[0],e.elements[3],e.elements[6],0,e.elements[1],e.elements[4],e.elements[7],0,e.elements[2],e.elements[5],e.elements[8],0,0,0,0,1)),t}var fr=function(){function e(e){void 0===e&&(e=[]),this.planes=e}return Object.defineProperty(e,"MASK_OUTSIDE",{get:function(){return 4294967295},enumerable:!1,configurable:!0}),Object.defineProperty(e,"MASK_INSIDE",{get:function(){return 0},enumerable:!1,configurable:!0}),Object.defineProperty(e,"MASK_INDETERMINATE",{get:function(){return 2147483647},enumerable:!1,configurable:!0}),e.prototype.setFromFrustum=function(e){return this.planes=e.planes.map((function(e){return e.clone()})),this},e.prototype.setFromCamera=function(e){return tr.multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse),pr.setFromProjectionMatrix(tr),this.setFromFrustum(pr),this},e.prototype.computeVisibility=function(e){for(var t=Zt.Inside,r=0,n=this.planes;r<n.length;r++){var i=n[r];switch(e.intersectPlane(i)){case Zt.Outside:return Zt.Outside;case Zt.Intersecting:t=Zt.Intersecting}}return t},e.prototype.computeVisibilityWithPlaneMask=function(t,r){if(r===e.MASK_OUTSIDE||r===e.MASK_INSIDE)return r;for(var n=e.MASK_INSIDE,i=Math.min(32,this.planes.length),o=0;o<i;++o){var a=1<<o;if(0!=(r&a)){var s=this.planes[o],l=t.intersectPlane(s);if(l===Zt.Outside)return e.MASK_OUTSIDE;l===Zt.Intersecting&&(n|=a)}}return n},e}(),vr=function(){function e(){this.type="box",this.center=new n.Vector3,this.halfSize=new n.Vector3,this.rotation=new n.Matrix3}return e.prototype.fromJson=function(e){var t=e.box;this.center.set(t[0],t[1],t[2]);var r=t[3],n=t[4],i=t[5],o=t[6],a=t[7],s=t[8],l=t[9],c=t[10],u=t[11],d=Math.sqrt(r*r+n*n+i*i),p=Math.sqrt(o*o+a*a+s*s),h=Math.sqrt(l*l+c*c+u*u);return this.halfSize.set(d,p,h),this.rotation.fromArray([r/d,n/d,i/d,o/p,a/p,s/p,l/h,c/h,u/h]),this},e.prototype.toJson=function(){return this.rotation.extractBasis(nr,ir,or),{box:ce(ce(ce(ce([],this.center.toArray(),!0),nr.multiplyScalar(this.halfSize.x).toArray(),!0),ir.multiplyScalar(this.halfSize.y).toArray(),!0),or.multiplyScalar(this.halfSize.z).toArray(),!0)}},e.prototype.copy=function(e){return this.center.copy(e.center),this.halfSize.copy(e.halfSize),this.rotation.copy(e.rotation),this},e.prototype.clone=function(){return(new e).copy(this)},e.prototype.applyMatrix4=function(e){return dr.equals(e)||(ur.position.copy(this.center),hr(this.rotation,ur.quaternion),ur.scale.copy(this.halfSize),ur.matrix.compose(ur.position,ur.quaternion,ur.scale),ur.matrix.premultiply(e),ur.matrix.decompose(ur.position,ur.quaternion,ur.scale),this.center.copy(ur.position),this.rotation.setFromMatrix4(tr.makeRotationFromQuaternion(ur.quaternion)),this.halfSize.copy(ur.scale)),this},e.prototype.getCenter=function(e){return e.copy(this.center)},e.prototype.distanceSquaredTo=function(e){rr.copy(e).sub(this.center),this.rotation.extractBasis(nr,ir,or);var t=0,r=0;return(r=Math.abs(rr.dot(nr.normalize()))-this.halfSize.x)>0&&(t+=r*r),(r=Math.abs(rr.dot(ir.normalize()))-this.halfSize.y)>0&&(t+=r*r),(r=Math.abs(rr.dot(or.normalize()))-this.halfSize.z)>0&&(t+=r*r),t},e.prototype.distanceTo=function(e){return Math.sqrt(this.distanceSquaredTo(e))},e.prototype.getBoundingBox=function(e){return e.makeEmpty(),this.rotation.extractBasis(nr,ir,or),nr.setLength(this.halfSize.x),ir.setLength(this.halfSize.y),or.setLength(this.halfSize.z),e.expandByPoint(er.copy(this.center).add(nr)),e.expandByPoint(er.copy(this.center).sub(nr)),e.expandByPoint(er.copy(this.center).add(ir)),e.expandByPoint(er.copy(this.center).sub(ir)),e.expandByPoint(er.copy(this.center).add(or)),e.expandByPoint(er.copy(this.center).sub(or)),e},e.prototype.toGeometry=function(){var e=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(24);er.set(this.halfSize.x,this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(t,0),er.set(-this.halfSize.x,this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(t,3),er.set(-this.halfSize.x,-this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(t,6),er.set(this.halfSize.x,-this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(t,9),er.set(this.halfSize.x,this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(t,12),er.set(-this.halfSize.x,this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(t,15),er.set(-this.halfSize.x,-this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(t,18),er.set(this.halfSize.x,-this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(t,21);var r=new n.BufferGeometry;return r.setIndex(new n.BufferAttribute(e,1)),r.setAttribute("position",new n.BufferAttribute(t,3)),r.computeBoundingBox(),r.computeBoundingSphere(),r},e.prototype.intersectPlane=function(e){var t=this.center,r=e.normal,n=this.rotation.elements,i=this.halfSize,o=r.x,a=r.y,s=r.z,l=Math.abs(o*n[0]*i.x+a*n[1]*i.x+s*n[2]*i.x)+Math.abs(o*n[3]*i.y+a*n[4]*i.y+s*n[5]*i.y)+Math.abs(o*n[6]*i.z+a*n[7]*i.z+s*n[8]*i.z),c=r.dot(t)+e.constant;return c<=-l?Zt.Outside:c>=l?Zt.Inside:Zt.Intersecting},e.prototype.intersectRay=function(e){return ar.copy(this.halfSize).multiplyScalar(2),sr.setFromCenterAndSize(er.set(0,0,0),ar),this.rotation.extractBasis(nr,ir,or),tr.makeBasis(nr,ir,or),tr.setPosition(this.center),lr.getInverse(tr),cr.copy(e).applyMatrix4(lr),cr.intersectsBox(sr)},e}(),mr=function(){function e(){this.type="sphere",this.center=new n.Vector3,this.radius=-1}return e.prototype.fromJson=function(e){var t=e.sphere;return this.center.set(t[0],t[1],t[2]),this.radius=t[3],this},e.prototype.toJson=function(){return{sphere:ce(ce([],this.center.toArray(),!0),[this.radius],!1)}},e.prototype.copy=function(e){return this.center.copy(e.center),this.radius=e.radius,this},e.prototype.clone=function(){return(new e).copy(this)},e.prototype.getBoundingBox=function(e){return e.setFromCenterAndSize(this.center,ar.set(1,1,1).multiplyScalar(2*this.radius)),e},e.prototype.toGeometry=function(){for(var e=32,t=new Float32Array(384),r=0;r<=e;r++){var i=0;i=r/e*Math.PI*2,t[6*r+0]=this.center.x+Math.cos(i)*this.radius,t[6*r+1]=this.center.y+Math.sin(i)*this.radius,t[6*r+2]=this.center.z+0,i=(r+1)/e*Math.PI*2,t[6*r+3]=this.center.x+Math.cos(i)*this.radius,t[6*r+4]=this.center.y+Math.sin(i)*this.radius,t[6*r+5]=this.center.z+0}for(r=e;r<=64;r++){i=0;i=r/e*Math.PI*2,t[6*r+0]=this.center.x+Math.cos(i)*this.radius,t[6*r+1]=this.center.y+0,t[6*r+2]=this.center.z+Math.sin(i)*this.radius,i=(r+1)/e*Math.PI*2,t[6*r+3]=this.center.x+Math.cos(i)*this.radius,t[6*r+4]=this.center.y+0,t[6*r+5]=this.center.z+Math.sin(i)*this.radius}var o=new n.BufferGeometry;return o.setAttribute("position",new n.BufferAttribute(t,3)),o.computeBoundingBox(),o.computeBoundingSphere(),o},e.prototype.applyMatrix4=function(e){return dr.equals(e)||(this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis()),this},e.prototype.getCenter=function(e){return e.copy(this.center)},e.prototype.distanceSquaredTo=function(e){var t=this.distanceTo(e);return t*t},e.prototype.distanceTo=function(e){var t=this.center.distanceTo(e)-this.radius;return t<=0?0:t},e.prototype.intersectPlane=function(e){var t=this.center,r=this.radius,n=e.normal.dot(t)+e.constant;return n<-r?Zt.Outside:n<r?Zt.Intersecting:Zt.Inside},e.prototype.intersectRay=function(e){er.subVectors(this.center,e.origin);var t=er.dot(e.direction),r=er.dot(er)-t*t,n=this.radius*this.radius;if(r>n)return!1;var i=Math.sqrt(n-r);return!(t+i<0)},e}(),Ar=function(){function e(){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 e.prototype.fromJson=function(e){var t=e.region;return this.west=t[0],this.south=t[1],this.east=t[2],this.north=t[3],this.minHeight=t[4],this.maxHeight=t[5],this},e.prototype.toJson=function(){return{region:[this.west,this.south,this.east,this.north,this.minHeight,this.maxHeight]}},e.prototype.copy=function(e){return this.west=e.west,this.south=e.south,this.east=e.east,this.north=e.north,this.minHeight=e.minHeight,this.maxHeight=e.maxHeight,this},e.prototype.clone=function(){return(new e).copy(this)},e.prototype.getBoundingBox=function(e){throw new Error("not implemented")},e.prototype.toGeometry=function(){throw new Error("not implemented")},e.prototype.applyMatrix4=function(e){throw new Error("not implemented")},e.prototype.getCenter=function(e){throw new Error("not implemented")},e.prototype.distanceTo=function(e){throw new Error("not implemented")},e.prototype.distanceSquaredTo=function(e){throw new Error("not implemented")},e.prototype.intersectPlane=function(e){throw new Error("not implemented")},e.prototype.intersectRay=function(e){throw new Error("not implemented")},e}();function gr(e){if("box"in e)return(new vr).fromJson(e);if("sphere"in e)return(new mr).fromJson(e);if("region"in e)return(new Ar).fromJson(e);throw new Error("BoundingVolume ".concat(JSON.stringify(e)," never suppored."))}var yr=[2621517,3801199,4915345,5963950,7274706,8782079,9575167,10434047,11623423,12482559,13274879,13870335,14464511,15125247,15852031,16446719].map((function(e){return new n.LineBasicMaterial({color:e,depthWrite:!1,transparent:!0})})),br=function(){var e=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(24);er.set(1,1,1).toArray(t,0),er.set(-1,1,1).toArray(t,3),er.set(-1,-1,1).toArray(t,6),er.set(1,-1,1).toArray(t,9),er.set(1,1,-1).toArray(t,12),er.set(-1,1,-1).toArray(t,15),er.set(-1,-1,-1).toArray(t,18),er.set(1,-1,-1).toArray(t,21);var r=new n.BufferGeometry;return r.setIndex(new n.BufferAttribute(e,1)),r.setAttribute("position",new n.BufferAttribute(t,3)),r.computeBoundingBox(),r.computeBoundingSphere(),r}(),xr=function(){for(var e=32,t=new Float32Array(384),r=0;r<=e;r++){var i=0;i=r/e*Math.PI*2,t[6*r+0]=Math.cos(i),t[6*r+1]=Math.sin(i),t[6*r+2]=0,i=(r+1)/e*Math.PI*2,t[6*r+3]=Math.cos(i),t[6*r+4]=Math.sin(i),t[6*r+5]=0}for(r=e;r<=64;r++){i=0;i=r/e*Math.PI*2,t[6*r+0]=Math.cos(i),t[6*r+1]=0,t[6*r+2]=Math.sin(i),i=(r+1)/e*Math.PI*2,t[6*r+3]=Math.cos(i),t[6*r+4]=0,t[6*r+5]=Math.sin(i)}var o=new n.BufferGeometry;return o.setAttribute("position",new n.BufferAttribute(t,3)),o.computeBoundingBox(),o.computeBoundingSphere(),o}();var wr,Er,Mr,Cr,Sr=function(){function e(t,r,i,o){var a,s,l,c=this;this.parent=null,this.id=t,this.state={visible:!1,frameNumber:0,selectedFrameNumber:0,requestedFrameNumber:0,touchedFrameNumber:0,selectionDepth:0,shouldRefine:!1,distanceToCamera:0,screenSpaceError:0,visibilityPlaneMask:0,inRequestVolume:!1},this.parent=null!=o?o:null,this.tileset=i,this.refine=null!==(a=r.refine)&&void 0!==a?a:this.parent?this.parent.refine:"REPLACE",this.transform=new n.Matrix4,r.transform&&this.transform.fromArray(r.transform),this.parent&&this.transform.premultiply(this.parent.transform),"number"==typeof r.geometricError?this.geometricError=r.geometricError*this.transform.getMaxScaleOnAxis():this.geometricError=null!==(l=null===(s=this.parent)||void 0===s?void 0:s.geometricError)&&void 0!==l?l:0,r.content&&r.content.uri?(this.content={uri:r.content.uri,loadState:"UNLOADED",byteLength:0},void 0!==r.content.group&&(this.content.group=r.content.group),r.content.boundingVolume&&(this.content.boundingVolume=gr(r.content.boundingVolume).applyMatrix4(this.transform)),/\.json$/.test(this.content.uri)?this.type="TILESET":this.type="SCENEGRAPH"):(this.content=null,this.type="EMPTY"),r.boundingVolume&&(this.boundingVolume=gr(r.boundingVolume).applyMatrix4(this.transform)),r.viewerRequestVolume&&(this.viewerRequestVolume=gr(r.viewerRequestVolume).applyMatrix4(this.transform)),this.extras=r.extras||{},r.children?this.children=r.children.map((function(t,r){return new e("".concat(c.id,".").concat(r),t,i,c)})):this.children=[]}return e.prototype.updateState=function(e){if(this.state.frameNumber=e.frameNumber,this.boundingVolume){var t=this.boundingVolume.clone().applyMatrix4(this.tileset.transfrom);this.state.distanceToCamera=t.distanceTo(e.camera.position);var r=this.parent?this.parent.state.visibilityPlaneMask:fr.MASK_INDETERMINATE;this.state.visibilityPlaneMask=e.cullingVolume.computeVisibilityWithPlaneMask(t,r),this.state.visible=this.state.visibilityPlaneMask!==fr.MASK_OUTSIDE}else this.state.distanceToCamera=0,this.state.visibilityPlaneMask=fr.MASK_INDETERMINATE,this.state.visible=!0;if(this.viewerRequestVolume){var n=this.viewerRequestVolume.clone().applyMatrix4(this.tileset.transfrom);this.state.inRequestVolume=n.distanceSquaredTo(e.camera.position)<=0}else this.state.inRequestVolume=!0;this.state.screenSpaceError=this.getScreenSpaceError(e,this.state.distanceToCamera,!1)},Object.defineProperty(e.prototype,"selected",{get:function(){return this.state.selectedFrameNumber===this.tileset.frameNumber},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"hasChildren",{get:function(){return this.children.length>0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"siblingIndex",{get:function(){var e,t;return null!==(t=null===(e=this.parent)||void 0===e?void 0:e.children.indexOf(this))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"hasTilesetContent",{get:function(){return this.children.length>0&&"TILESET"===this.type},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"hasRenderContent",{get:function(){return"MESH"===this.type||"SCENEGRAPH"===this.type},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"contentAvailable",{get:function(){var e;return this.hasRenderContent&&"READY"===(null===(e=this.content)||void 0===e?void 0:e.loadState)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"hasUnloadedContent",{get:function(){var e;return"UNLOADED"===(null===(e=this.content)||void 0===e?void 0:e.loadState)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"hasEmptyContent",{get:function(){return"EMPTY"===this.type},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"contentReady",{get:function(){var e;return"READY"===(null===(e=this.content)||void 0===e?void 0:e.loadState)||this.hasEmptyContent},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"contentByteLength",{get:function(){return this.content?this.content.byteLength:0},enumerable:!1,configurable:!0}),e.prototype.loadContent=function(){var e,t=this;if(this.hasEmptyContent||!(null===(e=this.content)||void 0===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(e){return e?t.tileset.options.contentLoader(t).then((function(t){return e.done(),r.loadState=t?"READY":"UNLOADED",t})).catch((function(t){return r.loadState="FAILED",e.done(),Promise.reject(t)})):(r.loadState="UNLOADED",Promise.resolve(!1))})))},e.prototype.unloadContent=function(){return this.content&&(this.content.loadState="UNLOADED",this.content.byteLength=0),!0},e.prototype.getScreenSpaceError=function(e,t,r){var n=this.tileset.transfrom.getMaxScaleOnAxis(),i=this.parent?this.parent.geometricError:this.tileset.geometricError,o=n*(r?i:this.geometricError);if(0===o)return 0;var a=Math.max(t,.001);return o*e.height/(a*e.sseDenominator)},e.prototype.getPriority=function(){var e=this.tileset.traverser,t="ADD"===this.refine||this.tileset.traverser.skipLevelOfDetail;if(t&&!this.state.visible)return-1;if(this.tileset.frameNumber-this.state.touchedFrameNumber>=1)return-1;if("UNLOADED"===this.content.loadState)return-1;var r=this.parent,n=r&&(!t||0===this.state.screenSpaceError)?r.state.screenSpaceError:this.state.screenSpaceError,i=e.root?e.root.state.screenSpaceError:0;return Math.max(i-n,0)},e}(),Ir=function(){function e(){this.maxRequests=e.DEFAULT_MAX_REQUESTS,this.activeRequests=0,this.requestQueue=[],this.requestMap=new Map,this.deferred=null}return e.prototype.scheduleRequest=function(e,t){var r=this.requestMap.get(e);if(r)return r;var n={identiy:e,priority:0,getPriority:t,resolve:function(){}},i=new Promise((function(e){return n.resolve=e}));return this.requestQueue.push(n),this.requestMap.set(e,i),this.issueNewRequests(),i},e.prototype.reset=function(){for(var e=0,t=this.requestQueue;e<t.length;e++){t[e].resolve(null)}this.requestQueue.length=0,this.requestMap.clear(),this.activeRequests=0},e.prototype.issueRequest=function(e){var t=this,r=e.identiy,n=e.resolve,i=!1;this.activeRequests++,n({done:function(){i||(i=!0,t.requestMap.delete(r),t.activeRequests--,t.issueNewRequests())}})},e.prototype.issueNewRequests=function(){var e=this;this.deferred||(this.deferred=setTimeout((function(){return e.issueNewRequestsAsync()}),0))},e.prototype.issueNewRequestsAsync=function(){this.deferred=null;var e=Math.max(this.maxRequests-this.activeRequests,0);if(0!==e){this.updateAllRequests();for(var t=0;t<e;t++){var r=this.requestQueue.shift();if(!r)break;this.issueRequest(r)}}},e.prototype.updateAllRequests=function(){for(var e=this.requestQueue,t=0;t<e.length;t++){var r=e[t];!1===this.updateRequest(r)&&(e.splice(t,1),this.requestMap.delete(r.identiy),t--)}e.sort((function(e,t){return e.priority-t.priority}))},e.prototype.updateRequest=function(e){return e.priority=e.getPriority(e.identiy),!(e.priority<0)||(e.resolve(null),!1)},e.DEFAULT_MAX_REQUESTS=6,e}(),Pr=function(e,t,r){this.item=e,this.previous=t,this.next=r},Tr=function(){function e(){this.head=null,this.tail=null,this._length=0}return Object.defineProperty(e.prototype,"length",{get:function(){return this._length},enumerable:!1,configurable:!0}),e.prototype.add=function(e){var t=new Pr(e,this.tail,null);return this.tail?(this.tail.next=t,this.tail=t):(this.head=t,this.tail=t),this._length++,t},e.prototype.remove=function(e){e.previous&&e.next?(e.previous.next=e.next,e.next.previous=e.previous):e.previous?(e.previous.next=null,this.tail=e.previous):e.next?(e.next.previous=null,this.head=e.next):(this.head=null,this.tail=null),e.next=null,e.previous=null,this._length--},e.prototype.splice=function(e,t){e!==t&&(this.remove(t),this.insert(e,t))},e.prototype.insert=function(e,t){var r=e.next;e.next=t,this.tail===e?this.tail=t:r.previous=t,t.next=r,t.previous=e,this._length++},e.prototype.toArray=function(){for(var e=[],t=this.head;t;)e.push(t),t=t.next;return e},e}(),Br=function(){function e(){this.cacheNodeMap=new Map,this.list=new Tr,this.sentinel=this.list.add("sentinel")}return e.prototype.reset=function(){this.list.tail&&this.list.splice(this.list.tail,this.sentinel)},e.prototype.touch=function(e){var t=this.cacheNodeMap.get(e);t&&this.list.splice(this.sentinel,t)},e.prototype.add=function(e,t){if(!this.cacheNodeMap.has(e)){var r=this.list.add(e);this.cacheNodeMap.set(e,r),t&&t(e)}},e.prototype.unloadTile=function(e,t){var r=this.cacheNodeMap.get(e);r&&(this.list.remove(r),this.cacheNodeMap.delete(e),t&&t(e))},e.prototype.unloadTiles=function(e,t){for(var r=this.list.head;r!==this.sentinel&&e();){var n=r.item;r=r.next,this.unloadTile(n,t)}},e.prototype.toArray=function(){for(var e=[],t=0,r=this.list.toArray();t<r.length;t++){var n=r[t];"sentinel"!==n.item&&e.push(n.item)}return e},e}(),Rr=function(){function e(){this.map=new Map,this.array=[],this._length=0}return Object.defineProperty(e.prototype,"length",{get:function(){return this._length},enumerable:!1,configurable:!0}),e.prototype.get=function(e){return this.array[e]},e.prototype.set=function(e,t){e>=this.length&&(this._length=e+1),this.map.has(this.array[e])&&this.map.delete(this.array[e]),this.array[e]=t,this.map.set(t,e)},e.prototype.delete=function(e){var t=this.map.get(e);void 0!==t&&t>=0&&(this.array.splice(t,1),this.map.delete(e),this._length--)},e.prototype.push=function(e){if(!this.map.has(e)){var t=this._length++;this.array[t]=e,this.map.set(e,t)}},e.prototype.pop=function(){var e=this.array[--this._length];return this.map.delete(e),e},e.prototype.reset=function(){this.array=[],this.map=new Map,this._length=0},e.prototype.find=function(e){return this.map.has(e)},e}(),kr=function(){function e(t){this.loadSiblings=e.DEFAULT_LOAD_SIBLINGS,this.skipLevelOfDetail=e.DEFAULT_SKIP_LEVEL_OF_DETAIL,this.maxScreenSpaceError=e.DEFAULT_MAX_SCREEN_SPACE_ERROR,this.onTraversalEnd=t,this._canSelectTile=!0,this._traversalStack=new Rr,this._emptyTraversalStack=new Rr,this.root=null,this.selectedTiles=new Map,this.requestedTiles=new Map,this.needsRefinedTiles=new Map,this.emptyTiles=new Map}return e.prototype.traverse=function(e,t,r){void 0===r&&(r=[]),this.root=e,this.reset();for(var n=0,i=r;n<i.length;n++){var o=i[n];this._traversalStack.reset(),this._emptyTraversalStack.reset(),this._canSelectTile=o.camera.visible,this.updateTile(e,o),this.executeTraversal(e,o)}this._traversalStack.reset(),this._emptyTraversalStack.reset(),this._canSelectTile=!0,this.updateTile(e,t),this.executeTraversal(e,t),this.onTraversalEnd(t)},e.prototype.reset=function(){this.needsRefinedTiles.clear(),this.requestedTiles.clear(),this.selectedTiles.clear(),this.emptyTiles.clear(),this._traversalStack.reset(),this._emptyTraversalStack.reset()},e.prototype.executeTraversal=function(e,t){var r=this._traversalStack;if(e.state.selectionDepth=0,t.maxLevelOfDetail>=0)for(e.state.visible&&e.state.inRequestVolume&&r.push(e);r.length>0;){var n=r.pop(),i=!1;if(this.canTraverse(n,t,!1,!1)){var o=n.hasRenderContent?n.state.selectionDepth+1:n.state.selectionDepth;this.updateChildTiles(n,t,o),i=this.updateAndPushChildren(n,t,r)}var a=n.parent,s=!a||a.state.shouldRefine,l=!i;n.hasRenderContent?"ADD"===n.refine?(this.loadTile(n,t.frameNumber),this.selectTile(n,t)):"REPLACE"===n.refine&&(this.loadTile(n,t.frameNumber),l&&this.selectTile(n,t)):(this.emptyTiles.set(n.id,n),this.loadTile(n,t.frameNumber),l&&this.selectTile(n,t)),this.touchTile(n,t),n.state.shouldRefine=i&&s}},e.prototype.updateChildTiles=function(e,t,r){for(var n=0,i=e.children;n<i.length;n++){var o=i[n];o.state.selectionDepth=r,this.updateTile(o,t)}return!0},e.prototype.updateAndPushChildren=function(e,t,r){for(var n=e.children,i="REPLACE"===e.refine&&e.hasRenderContent&&!this.skipLevelOfDetail,o=!1,a=!0,s=0,l=n;s<l.length;s++){var c=l[s];if(c.state.visible&&c.state.inRequestVolume?(r.find(c)&&r.delete(c),r.push(c),o=!0):(i||this.loadSiblings)&&(this.loadTile(c,t.frameNumber),this.touchTile(c,t)),i){var u=void 0;u=!!c.state.inRequestVolume&&(c.hasRenderContent?c.contentAvailable:this.executeEmptyTraversal(c,t)),a=a&&u}}return o||(a=!1),a},e.prototype.updateTile=function(e,t){this.updateTileVisibility(e,t)},e.prototype.selectTile=function(e,t){this.shouldSelectTile(e)&&(e.state.selectedFrameNumber=t.frameNumber,this.selectedTiles.set(e.id,e)),this.needsRefinedTiles.set(e.id,e)},e.prototype.loadTile=function(e,t){this.shouldLoadTile(e)&&(e.state.requestedFrameNumber=t,this.requestedTiles.set(e.id,e)),this.needsRefinedTiles.set(e.id,e)},e.prototype.touchTile=function(e,t){e.tileset.cache.touch(e),e.state.touchedFrameNumber=t.frameNumber},e.prototype.canTraverse=function(e,t,r,n){return!!e.hasChildren&&(!!e.hasTilesetContent||!(!n&&!e.state.visible)&&this.shouldRefine(e,t,r))},e.prototype.shouldLoadTile=function(e){return e.hasUnloadedContent},e.prototype.shouldSelectTile=function(e){return e.contentAvailable&&!this.skipLevelOfDetail&&this._canSelectTile},e.prototype.shouldRefine=function(e,t,r){if(e.hasEmptyContent)return!0;if(e.hasRenderContent){if(e.state.selectionDepth>=t.maxLevelOfDetail)return!1;if(e.state.selectionDepth<t.minLevelOfDetail)return!0}var n=e.state.screenSpaceError;return r&&(n=e.getScreenSpaceError(t,e.state.distanceToCamera,!0)),n>this.maxScreenSpaceError},e.prototype.updateTileVisibility=function(e,t){if(e.updateState(t),e.state.visible&&e.state.inRequestVolume){var r=e.children.length>0;if(e.hasTilesetContent&&r){var n=e.children[0];return this.updateTileVisibility(n,t),void(e.state.visible=n.state.visible)}this.meetsScreenSpaceErrorEarly(e,t)&&(e.state.visible=!1)}},e.prototype.meetsScreenSpaceErrorEarly=function(e,t){var r=e.parent;return!(!r||"ADD"!==r.refine)&&!this.shouldRefine(e,t,!0)},e.prototype.compareDistanceToCamera=function(e,t){return t.state.distanceToCamera-e.state.distanceToCamera},e.prototype.executeEmptyTraversal=function(e,t){var r=!0,n=this._emptyTraversalStack;for(n.push(e);n.length>0&&r;){var i=n.pop();if(this.updateTile(i,t),i.state.visible||this.loadTile(i,t.frameNumber),this.touchTile(i,t),!i.hasRenderContent&&this.canTraverse(i,t,!1,!0))for(var o=0,a=i.children;o<a.length;o++){var s=a[o];n.find(s)&&n.delete(s),n.push(s)}else i.contentAvailable||(r=!1)}return r},e.DEFAULT_SKIP_LEVEL_OF_DETAIL=!1,e.DEFAULT_LOAD_SIBLINGS=!1,e.DEFAULT_MAX_SCREEN_SPACE_ERROR=4,e}(),Or=function(){function e(t,r,i){var o,a,s=this;this.id=t,this.transfrom=new n.Matrix4,this.asset={version:r.asset.version,tilesetVersion:r.asset.tilesetVersion||"",gltfUpAxis:null!==(o=r.asset.gltfUpAxis)&&void 0!==o?o:"Y"},this.properties=null!==(a=r.properties)&&void 0!==a?a:{},this.options=i,this.traverser=new kr((function(e){return s.onTraversalEnd(e)})),this.cache=new Br,this.requestScheduler=new Ir,this.frameNumber=0,this.pendingCount=0,this.tiles=new Map,this.memoryUsageInBytes=0,this.root=new Sr("".concat(this.id,".0"),r.root,this),this.geometricError=r.geometricError,this.maxMemoryUsage=e.DEFAULT_MAX_MEMORY_USAGE}return Object.defineProperty(e.prototype,"maxRequests",{get:function(){return this.requestScheduler.maxRequests},set:function(e){this.requestScheduler.maxRequests=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"maxScreenSpaceError",{get:function(){return this.traverser.maxScreenSpaceError},set:function(e){this.traverser.maxScreenSpaceError=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"selectedTiles",{get:function(){return this.traverser.selectedTiles},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"needsRefinedTiles",{get:function(){return this.traverser.needsRefinedTiles},enumerable:!1,configurable:!0}),e.prototype.reset=function(){for(var e=this,t=[this.root];t.length>0;){for(var r=t.pop(),n=0,i=r.children;n<i.length;n++){var o=i[n];t.push(o)}this.cache.unloadTile(r,(function(t){return e.unloadTile(t)}))}this.cache.reset(),this.traverser.reset(),this.requestScheduler.reset(),this.tiles.clear()},e.prototype.isLoaded=function(){return 0===this.pendingCount&&0!==this.frameNumber},e.prototype.onTraversalEnd=function(e){var t=this;this.selectedTiles.forEach((function(e){t.tiles.set(e.id,e)})),this.traverser.requestedTiles.forEach((function(e){e.hasUnloadedContent&&t.loadTile(e)})),this.cache.unloadTiles((function(){return t.memoryUsageInBytes>1024*t.maxMemoryUsage*1024}),(function(e){t.unloadTile(e),t.tiles.delete(e.id)}))},e.prototype.loadTile=function(e){var t=this;this.pendingCount++,e.loadContent().catch((function(r){return t.options.onTileError(e,r),!1})).then((function(r){var n;t.pendingCount--,r&&((null===(n=e.content)||void 0===n?void 0:n.data)&&t.cache.add(e,(function(){t.memoryUsageInBytes+=e.contentByteLength})),t.options.onTileLoad(e))}))},e.prototype.unloadTile=function(e){this.memoryUsageInBytes-=e.contentByteLength,this.options.onTileUnload(e),e.unloadContent()},e.DEFAULT_VIEW_DISTANCE_SCALE=1,e.DEFAULT_MAX_MEMORY_USAGE=16,e.DEFAULT_MAX_SCREEN_SPACE_ERROR=kr.DEFAULT_MAX_SCREEN_SPACE_ERROR,e.DEFAULT_MAX_REQUESTS=Ir.DEFAULT_MAX_REQUESTS,e}(),Fr=function(){function e(e,t,r){this.x=e,this.y=t,this.z=r}return e.prototype.copy=function(e){return this.x=e.x,this.y=e.y,this.z=e.z,this},e.prototype.set=function(e,t,r){return this.x=e,this.y=t,this.z=r,this},e.prototype.fromArray=function(e,t){return void 0===t&&(t=0),this.x=e[t],this.y=e[t+1],this.z=e[t+2],this},e.prototype.add=function(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this},e.prototype.multiplyScalar=function(e){return this.x*=e,this.y*=e,this.z*=e,this},e.prototype.subVectors=function(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this},e.prototype.dot=function(e){return this.x*e.x+this.y*e.y+this.z*e.z},e.prototype.cross=function(e){var t=this.x,r=this.y,n=this.z;return this.x=r*e.z-n*e.y,this.y=n*e.x-t*e.z,this.z=t*e.y-r*e.x,this},e.prototype.crossVectors=function(e,t){var r=e.x,n=e.y,i=e.z,o=t.x,a=t.y,s=t.z;return this.x=n*s-i*a,this.y=i*o-r*s,this.z=r*a-n*o,this},e.prototype.clone=function(){return new e(this.x,this.y,this.z)},e}(),Dr=function(e,t,r){this.extents=e,this.startIndex=t,this.endIndex=r},Qr=function(e,t,r){this.triangle=e,this.intersectionPoint=t,this.triangleIndex=r},Lr=(wr=new Fr(0,0,0),Er=new Fr(0,0,0),Mr=new Fr(0,0,0),Cr=new Fr(0,0,0),function(e,t,r,n,i,o){Er.subVectors(t,e),Mr.subVectors(r,e),Cr.crossVectors(Er,Mr);var a,s=i.dot(Cr);if(s>0){if(o)return null;a=1}else{if(!(s<0))return null;a=-1,s=-s}wr.subVectors(n,e);var l=a*i.dot(Mr.crossVectors(wr,Mr));if(l<0)return null;var c=a*i.dot(Er.cross(wr));if(c<0)return null;if(l+c>s)return null;var u=-a*wr.dot(Cr);if(u<0)return null;var d=u/s;return new Fr(0,0,0).copy(i).multiplyScalar(d).add(n)}),Nr=function(e,t){this.min=e,this.max=t};function Vr(e,t,r){var n=new Nr(0,0);t.x>=0?(n.min=(r.extents[0]-e.x)*t.x,n.max=(r.extents[3]-e.x)*t.x):(n.min=(r.extents[3]-e.x)*t.x,n.max=(r.extents[0]-e.x)*t.x);var i=new Nr(0,0);if(t.y>=0?(i.min=(r.extents[1]-e.y)*t.y,i.max=(r.extents[4]-e.y)*t.y):(i.min=(r.extents[4]-e.y)*t.y,i.max=(r.extents[1]-e.y)*t.y),n.min>i.max||i.min>n.max)return!1;i.min>n.min&&(n.min=i.min),i.max<n.max&&(n.max=i.max);var o=new Nr(0,0);return t.z>=0?(o.min=(r.extents[2]-e.z)*t.z,o.max=(r.extents[5]-e.z)*t.z):(o.min=(r.extents[5]-e.z)*t.z,o.max=(r.extents[2]-e.z)*t.z),!(n.min>o.max||o.min>n.max)&&(o.min>n.min&&(n.min=o.min),o.max<n.max&&(n.max=o.max),!(n.max<0))}function zr(e,t,r,n,i){if(r>=n)return[0,0,0,0,0,0];for(var o=1/0,a=1/0,s=1/0,l=-1/0,c=-1/0,u=-1/0,d=r,p=void 0,h=void 0;d<n;d++)(h=t[p=6*e[d]])<o&&(o=h),(h=t[p+1])<a&&(a=h),(h=t[p+2])<s&&(s=h),(h=t[p+3])>l&&(l=h),(h=t[p+4])>c&&(c=h),(h=t[p+5])>u&&(u=h);return[o-i,a-i,s-i,l+i,c+i,u+i]}function jr(e,t,r){return e<t?t:e>r?r:e}var Ur=1e-6,qr=function(){function e(){}return e.prototype.create=function(e){return this.trianglesArray=e,this},e.prototype.splitNode=function(e){if(!this.trianglesArray)throw new Error("bvh-tree never perpared. call `create` to initialize.");for(var t=this.trianglesArray,r=t.length/9,n=new Uint32Array(r),i=new Float32Array(6*r),o=[],a=0,s=1/0,l=1/0,c=1/0,u=-1/0,d=-1/0,p=-1/0,h=0,f=0,v=0,m=void 0,A=void 0,g=void 0,y=void 0,b=void 0,x=void 0,w=void 0;h<r;h++,f+=6,v+=9)n[h]=h,m=y=t[v],(w=t[v+3])<m&&(m=w),w>y&&(y=w),(w=t[v+6])<m&&(m=w),w>y&&(y=w),A=b=t[v+1],(w=t[v+4])<A&&(A=w),w>b&&(b=w),(w=t[v+7])<A&&(A=w),w>b&&(b=w),g=x=t[v+2],(w=t[v+5])<g&&(g=w),w>x&&(x=w),(w=t[v+8])<g&&(g=w),w>x&&(x=w),m<s&&(s=m),y>u&&(u=y),A<l&&(l=A),b>d&&(d=b),g<c&&(c=g),x>p&&(p=x),i[f]=m,i[f+1]=A,i[f+2]=g,i[f+3]=y,i[f+4]=b,i[f+5]=x;var E=new Dr([s,l,c,u,d,p],0,r);function M(t){for(var r=t.startIndex,s=t.endIndex,l=t.extents,c=[l[3]-l[0],l[4]-l[1],l[5]-l[2]],u=[0,1,2].sort((function(e,t){return c[t]-c[e]})),d=0;d<3;d++){for(var p=u[d],h=l[p]+l[p+3],f=r,v=s-1,m=-1,A=void 0;f<=v;)-1===m?(A=n[f],i[6*A+p]+i[6*A+p+3]<h?f++:m=A):(A=n[v],i[6*A+p]+i[6*A+p+3]>=h||(n[f]=A,n[v]=m,m=-1,f++),v--);if(f>r&&f<s){var g=new Dr(zr(n,i,r,f,Ur),r,f);g.endIndex-g.startIndex>e&&(o[a++]=g);var y=new Dr(zr(n,i,f,s,Ur),f,s);y.endIndex-y.startIndex>e&&(o[a++]=y),t.node0=g,t.node1=y,t.startIndex=0,t.endIndex=0;break}}}for(o[a++]=E;a;)M(o[--a]);return this.offsetArray=n,this.rootNode=E,o.length=0,this},e.prototype.intersectRay=function(e,t,r){if(!this.trianglesArray)throw new Error("bvh-tree never perpared. call `create` to initialize.");if(!this.rootNode||!this.offsetArray)throw new Error("bvh-tree never perpared. call `splitNode` to perpare.");for(var n,i=this.trianglesArray,o=this.offsetArray,a=this.rootNode,s=[],l=[],c=new Fr(1/t.x,1/t.y,1/t.z),u=[a];n=u.pop();)if(Vr(e,c,n)){n.node0&&u.push(n.node0),n.node1&&u.push(n.node1);for(var d=n.startIndex;d<n.endIndex;d++)s.push(o[d])}for(var p=new Fr(0,0,0),h=new Fr(0,0,0),f=new Fr(0,0,0),v=new Fr(e.x,e.y,e.z),m=new Fr(t.x,t.y,t.z),A=(d=0,void 0),g=void 0,y=s.length;d<y;d++){g=9*(A=s[d]),p.x=i[g],p.y=i[g+1],p.z=i[g+2],h.x=i[g+3],h.y=i[g+3+1],h.z=i[g+3+2],f.x=i[g+6],f.y=i[g+6+1],f.z=i[g+6+2];var b=Lr(p,h,f,v,m,r);b&&l.push(new Qr([p.clone(),h.clone(),f.clone()],b,A))}return l},e.prototype.trianglesInSphere=function(e,t){if(!this.trianglesArray)throw new Error("bvh-tree never perpared. call `create` to initialize.");if(!this.rootNode||!this.offsetArray)throw new Error("bvh-tree never perpared. call `splitNode` to perpare.");for(var r,n=this.trianglesArray,i=this.offsetArray,o=[this.rootNode],a=[];r=o.pop();){var s=jr(e.x,r.extents[0],r.extents[3])-e.x,l=jr(e.y,r.extents[1],r.extents[4])-e.y,c=jr(e.z,r.extents[2],r.extents[5])-e.z;if(s*s+l*l+c*c<=t*t){r.node0&&o.push(r.node0),r.node1&&o.push(r.node1);for(var u=r.startIndex;u<r.endIndex;u++)a.push(i[u])}}var d=a.length,p=new Float32Array(9*d);for(u=0;u<d;u++){var h=9*a[u];p[9*u]=n[h],p[9*u+1]=n[h+1],p[9*u+2]=n[h+2],p[9*u+3]=n[h+3],p[9*u+4]=n[h+4],p[9*u+5]=n[h+5],p[9*u+6]=n[h+6],p[9*u+7]=n[h+7],p[9*u+8]=n[h+8]}return p},e.prototype.dispose=function(){delete this.offsetArray,delete this.rootNode},e}(),_r=new n.Ray,Hr=new n.Vector3,Gr=new n.Matrix3,Kr=new n.Matrix4,Wr=new n.Vector3,Yr=new n.Vector3,Xr=new n.Vector3,Jr=new n.Triangle,Zr=function(e){function t(t,r,n){var i=e.call(this)||this;return i.objType=r,i.renderOrder=-4,i.add(t),i.objDisposer=n,i}return ne(t,e),t.prototype.buildBvhTree=function(){if("mesh"===this.objType&&!this.bvhTree){var e=this.parent;this.parent=null,this.updateWorldMatrix(!1,!0);var t=[];this.traverse((function(e){var r,i,o;if(e instanceof n.Mesh){var a=e.geometry;if(a instanceof n.BufferGeometry){var s=null===(r=a.attributes)||void 0===r?void 0:r.position.array;if(s){var l=null===(i=a.index)||void 0===i?void 0:i.array,c=null===(o=a.attributes.floor)||void 0===o?void 0:o.array,u=e.matrixWorld;t.push({position:s,floor:c,index:l,matrix:u})}}}}));for(var r=0,i=0,o=t;i<o.length;i++){var a=o[i],s=a.index,l=a.position,c=0;c=s?s.length:l.length/3,r+=3*Math.floor(c/3)}for(var u=new Float32Array(3*r),d=new Uint8Array(r),p=0,h=0,f=t;h<f.length;h++){var v=f[h],m=(s=v.index,l=v.position,v.floor),A=v.matrix;if(s){for(var g=3*Math.floor(s.length/3),y=0,b=void 0,x=void 0;y<g;y++)b=3*(p+y),x=3*s[y],Hr.set(l[x],l[x+1],l[x+2]),Hr.applyMatrix4(A),u[b]=Hr.x,u[b+1]=Hr.y,u[b+2]=Hr.z,m&&(d[p+y]=m[s[y]]);p+=g}else{for(g=3*Math.floor(l.length/3/3),y=0,b=void 0,x=void 0;y<g;y++)b=3*(p+y),x=3*y,Hr.set(l[x],l[x+1],l[x+2]),Hr.applyMatrix4(A),u[b]=Hr.x,u[b+1]=Hr.y,u[b+2]=Hr.z,m&&(d[p+y]=m[y]);p+=g}}this.floorsArray=d,this.bvhTree=(new qr).create(u).splitNode(100),this.parent=e,this.matrixWorldNeedsUpdate=!0}},t.prototype.intersectRaycaster=function(e){var t=this;if("point_cloud"===this.objType){e.params||(e.params={});return e.params.Points={threshold:.1},e.intersectObjects(this.children,!0).filter((function(t){if(t.distanceToRay>.1)return!1;if(t.object instanceof n.Points&&t.object.geometry instanceof n.BufferGeometry){var r=t.object.geometry.attributes.normal;if(r){var i=t.index,o=new n.Vector3(r.getX(i),r.getY(i),r.getZ(i));if(o.applyMatrix3(Gr.setFromMatrix4(t.object.matrixWorld)).normalize(),t.face=new n.Face3(i,i,i,o),e.ray.direction.dot(o)>0)return!1}}return!0})).map((function(e){var t,r=0;if(e.object instanceof st&&"number"==typeof e.index){var n=null===(t=e.object.geometry.attributes.floor)||void 0===t?void 0:t.array;n&&(r=n[e.index])}return{distance:e.distance,point:e.point,face:e.face?{normal:e.face.normal}:null,floor:r}}))}return"mesh"===this.objType?this.bvhTree?(this.updateWorldMatrix(!0,!1),Kr.getInverse(this.matrixWorld),_r.copy(e.ray).applyMatrix4(Kr),this.bvhTree.intersectRay(_r.origin,_r.direction,!0).map((function(r){var i=r.intersectionPoint,o=r.triangle,a=r.triangleIndex,s=(new n.Vector3).set(i.x,i.y,i.z).applyMatrix4(t.matrixWorld),l=Wr.set(o[0].x,o[0].y,o[0].z).applyMatrix4(t.matrixWorld),c=Yr.set(o[1].x,o[1].y,o[1].z).applyMatrix4(t.matrixWorld),u=Xr.set(o[2].x,o[2].y,o[2].z).applyMatrix4(t.matrixWorld),d=Jr.set(l,c,u).getNormal(new n.Vector3),p=e.ray.origin.distanceTo(s),h=0;if(t.floorsArray){var f=s.distanceTo(l),v=s.distanceTo(c),m=s.distanceTo(u),A=3*a;h=Math.round((f*t.floorsArray[A]+v*t.floorsArray[A+1]+m*t.floorsArray[A+2])/(f+v+m))}return{point:s,face:{normal:d},distance:p,floor:h}})).filter((function(t){return t.distance>=e.near&&t.distance<=e.far}))):e.intersectObjects(this.children,!0).map((function(e){var r,n,i=0;if(e.object instanceof tt&&e.face){var o=null===(r=e.object.geometry.attributes.position)||void 0===r?void 0:r.array,a=null===(n=e.object.geometry.attributes.floor)||void 0===n?void 0:n.array;if(o&&a){var s=Wr.set(o[3*e.face.a],o[3*e.face.a+1],o[3*e.face.a+2]).applyMatrix4(t.matrixWorld),l=Wr.set(o[3*e.face.b],o[3*e.face.b+1],o[3*e.face.b+2]).applyMatrix4(t.matrixWorld),c=Wr.set(o[3*e.face.c],o[3*e.face.c+1],o[3*e.face.c+2]).applyMatrix4(t.matrixWorld),u=e.point.distanceTo(s),d=e.point.distanceTo(l),p=e.point.distanceTo(c);i=Math.round((u*a[e.face.a]+d*a[e.face.b]+p*a[e.face.c])/(u+d+p))}}return{distance:e.distance,point:e.point,face:e.face?{normal:e.face.normal}:null,floor:i}})):[]},t.prototype.dispose=function(){this.bvhTree=void 0,this.objDisposer()},t}(n.Group);function $r(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=[];e=e.map((function(e){return(null!=e?e:"").trim()})).filter((function(e){return e.length>0&&!/^\/+$/.test(e)}));for(var n=0;n<e.length;n++){var i=0===n,o=n===e.length-1,a=e[n];i||(a=a.replace(/^\.\//,"").replace(/^\/+/,"")),o||(a=a.replace(/\/+$/,"")),r.push(a)}return r.join("/")}function en(e){return 0===e.indexOf("//")||/^[0-9a-z]+\:/i.test(e)}function tn(e,t){if(e.content&&e.content.uri&&(en(e.content.uri)||(e.content.uri=$r(t,e.content.uri))),e.children)for(var r=0,n=e.children;r<n.length;r++){tn(n[r],t)}return e}function rn(e,t){return tn(e.root,t),e}function nn(e,t){return"?"!==t[0]&&"&"!==t[0]||(t=t.slice(1)),t?("?"!==e[e.length-1]&&"&"!==e[e.length-1]||(e=e.slice(0,-1)),e.indexOf("?")>=0?"".concat(e,"&").concat(t):"".concat(e,"?").concat(t)):e}var on,an,sn=4;function ln(e,t,r){var n=new DataView(t);if(e.magic=n.getUint32(r,!0),r+=sn,e.version=n.getUint32(r,!0),r+=sn,e.byteLength=n.getUint32(r,!0),r+=sn,1!==e.version)throw new Error("3D Tile Version ".concat(e.version," not supported"));return r}!function(e){e[e.BYTE=5120]="BYTE",e[e.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",e[e.SHORT=5122]="SHORT",e[e.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",e[e.INT=5124]="INT",e[e.UNSIGNED_INT=5125]="UNSIGNED_INT",e[e.FLOAT=5126]="FLOAT",e[e.DOUBLE=5130]="DOUBLE"}(an||(an={}));var cn=((on={})[an.DOUBLE]=Float64Array,on[an.FLOAT]=Float32Array,on[an.UNSIGNED_SHORT]=Uint16Array,on[an.UNSIGNED_INT]=Uint32Array,on[an.UNSIGNED_BYTE]=Uint8Array,on[an.BYTE]=Int8Array,on[an.SHORT]=Int16Array,on[an.INT]=Int32Array,on),un={DOUBLE:an.DOUBLE,FLOAT:an.FLOAT,UNSIGNED_SHORT:an.UNSIGNED_SHORT,UNSIGNED_INT:an.UNSIGNED_INT,UNSIGNED_BYTE:an.UNSIGNED_BYTE,BYTE:an.BYTE,SHORT:an.SHORT,INT:an.INT};function dn(e){var t=cn[e];if(!t)throw new Error("Failed to convert GL type");return t}function pn(e){return dn(e).BYTES_PER_ELEMENT}function hn(e,t,r,n){void 0===r&&(r=0);var i=dn(e);return r%pn(e)!=0?new i(n?t.slice(r,r+n*pn(e)):t.slice(r)):new i(t,r,null!=n?n:(t.byteLength-r)/pn(e))}var fn=function(){function e(e,t){this.featuresLength=0,this.cachedTypedArrays={},this.json=e,this.buffer=t;var r=this.getGlobalProperty("POINTS_LENGTH",an.UNSIGNED_INT,1);r&&r.length&&(this.featuresLength=r[0])}return e.prototype.getExtension=function(e){return this.json.extensions&&this.json.extensions[e]},e.prototype.hasProperty=function(e){return Boolean(this.json[e])},e.prototype.getGlobalProperty=function(e,t,r){var n=this.json[e];return"number"==typeof n?new(dn(t))([n]):Array.isArray(n)?new(dn(t))(n):n&&Number.isFinite(n.byteOffset)?this.getTypedArrayFromBinary(e,t,r,1,n.byteOffset):null},e.prototype.getPropertyArray=function(e,t,r){var n=this.json[e];return n&&Number.isFinite(n.byteOffset)?("componentType"in n&&(t=function(e){var t=un[e];if(!t)throw new Error("Failed to convert GL type");return t}(n.componentType)),this.getTypedArrayFromBinary(e,t,r,this.featuresLength,n.byteOffset)):this.getTypedArrayFromArray(e,t,n)},e.prototype.getProperty=function(e,t,r,n,i){if(!this.json[e])return null;var o=this.getPropertyArray(e,t,r);if(1===r)return i[0]=o[n],i;for(var a=0;a<r;++a)i[a]=o[r*n+a];return i},e.prototype.getTypedArrayFromBinary=function(e,t,r,n,i){var o=this.cachedTypedArrays,a=o[e];return a||(a=hn(t,this.buffer.buffer,this.buffer.byteOffset+i,n*r),o[e]=a),a},e.prototype.getTypedArrayFromArray=function(e,t,r){var n=this.cachedTypedArrays,i=n[e];return i||(i=hn(t,r),n[e]=i),i},e}(),vn=4,mn="b3dm tile in legacy format.";function An(e,t,r){var n=new TextDecoder("utf8"),i=new Uint8Array(e,t,r);return n.decode(i)}function gn(e,t,r){return r=function(e,t,r){var n=new DataView(t),i=0;e.header=e.header||{};var o=n.getUint32(r,!0);r+=vn;var a=n.getUint32(r,!0);r+=vn;var s=n.getUint32(r,!0);r+=vn;var l=n.getUint32(r,!0);r+=vn,s>=570425344?(r-=2*vn,i=o,s=a,l=0,o=0,a=0,console.warn(mn)):l>=570425344&&(r-=vn,i=s,s=o,l=a,o=0,a=0,console.warn(mn));return e.header.featureTableJsonByteLength=o,e.header.featureTableBinaryByteLength=a,e.header.batchTableJsonByteLength=s,e.header.batchTableBinaryByteLength=l,e.header.batchLength=i,r}(e,t,r),r=function(e,t,r){var i=e.header||{},o=i.featureTableJsonByteLength,a=i.featureTableBinaryByteLength,s=i.batchLength;if(e.featureTableJson={BATCH_LENGTH:s||0},o&&o>0){var l=An(t,r,o);e.featureTableJson=JSON.parse(l)}r+=o||0,e.featureTableBinary=new Uint8Array(t,r,a),r+=a||0,e.rtcCenter=new n.Vector3;var c=new fn(e.featureTableJson,e.featureTableBinary);if(Array.isArray(c.json.RTC_CENTER))e.rtcCenter.fromArray(c.json.RTC_CENTER);else{var u=c.getGlobalProperty("RTC_CENTER",an.FLOAT,3);u&&e.rtcCenter.fromArray(u)}return r}(e,t,r),r=function(e,t,r){var n=e.header||{},i=n.batchTableJsonByteLength,o=n.batchTableBinaryByteLength;if(i&&i>0){var a=An(t,r,i);e.batchTableJson=JSON.parse(a),r+=i,o&&o>0&&(e.batchTableBinary=new Uint8Array(t,r,o),e.batchTableBinary=new Uint8Array(e.batchTableBinary),r+=o)}return r}(e,t,r),r}function yn(e,t,r){var n=e.byteLength-r;if(0===n)throw new Error("glTF byte length must be greater than 0.");return r%4!=0&&console.warn("".concat(e.type,": embedded glb is not aligned to a 4-byte boundary.")),e.gltfArrayBuffer=function(e,t,r){var n=void 0!==r?new Uint8Array(e).subarray(t,t+r):new Uint8Array(e).subarray(t);return new Uint8Array(n).buffer}(t,r,n),e.byteLength}function bn(e){if("undefined"!=typeof TextDecoder)return(new TextDecoder).decode(e);for(var t="",r=0,n=e.length;r<n;r++)t+=String.fromCharCode(e[r]);try{return decodeURIComponent(escape(t))}catch(e){return t}}var xn=0,wn=1,En=2,Mn=3,Cn=4,Sn=5,In=6,Pn={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},Tn={9728:n.NearestFilter,9729:n.LinearFilter,9984:n.NearestMipmapNearestFilter,9985:n.LinearMipmapNearestFilter,9986:n.NearestMipmapLinearFilter,9987:n.LinearMipmapLinearFilter},Bn={33071:n.ClampToEdgeWrapping,33648:n.MirroredRepeatWrapping,10497:n.RepeatWrapping},Rn={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},kn={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv2",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},On={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},Fn={CUBICSPLINE:void 0,LINEAR:n.InterpolateLinear,STEP:n.InterpolateDiscrete},Dn="OPAQUE",Qn="MASK",Ln="BLEND";function Nn(e){var t=[];for(var r in e)t.push(e[r]);return t}var Vn=function(){function e(e,t,r){this.json=e,this.extensions=t,this.options=r,this.cache=new Map,this.disposeSet=new Set,this.nodeNamesUsed={}}return e.prototype.dispose=function(){this.cache.clear(),this.disposeSet.forEach((function(e){e.dispose()})),this.disposeSet.clear()},e.prototype.markDefs=function(){for(var e=this.json.nodes||[],t=this.json.skins||[],r=this.json.meshes||[],n=0,i=t.length;n<i;n++)for(var o=t[n].joints,a=0,s=o.length;a<s;a++)e[o[a]].isBone=!0;for(var l=0,c=e.length;l<c;l++){var u=e[l];void 0!==u.mesh&&void 0!==u.skin&&(r[u.mesh].isSkinnedMesh=!0)}},e.prototype.parse=function(){var e=this,t=this.json,r=this.extensions;this.dispose(),this.markDefs();for(var n=0,i=Nn(r);n<i.length;n++){i[n].markDefs(this)}return Promise.all(Nn(r).map((function(t){return t.prepare(e)}))).then((function(){var r,n,i;return Promise.all([Promise.all((null!==(r=t.scenes)&&void 0!==r?r:[]).map((function(t,r){return e.loadScene(r)}))),Promise.all((null!==(n=t.animations)&&void 0!==n?n:[]).map((function(t,r){return e.loadAnimation(r)}))),Promise.all((null!==(i=t.cameras)&&void 0!==i?i:[]).map((function(t,r){return e.loadCamera(r)})))])})).then((function(n){var i=n[0],o=n[1],a=n[2],s={json:e.json,scene:i[t.scene||0],scenes:i,animations:o,cameras:a,dispose:function(){return e.dispose()}};return Promise.all(Nn(r).map((function(t){return t.emitResult(s,e)}))).then((function(){return s}))}))},e.prototype.loadCamera=function(e){var t="camera:"+e,r=this.cache.get(t);if(r)return r;for(var i=null,o=0,a=Nn(this.extensions);o<a.length;o++){if(i=a[o].loadCamera(e,this))break}if(!i){var s=void 0,l=this.json.cameras[e],c=l[l.type];c?"perspective"===l.type?s=new n.PerspectiveCamera(n.MathUtils.radToDeg(c.yfov),c.aspectRatio||1,c.znear||1,c.zfar||2e6):"orthographic"===l.type?s=new n.OrthographicCamera(-c.xmag,c.xmag,c.ymag,-c.ymag,c.znear,c.zfar):(console.warn("glTF: Invalid camera type ".concat(l.type,".")),s=new n.Camera):(console.warn("glTF: Missing camera parameters."),s=new n.Camera),l.name&&(s.name=this.createUniqueName(l.name)),i=Promise.resolve(s)}return this.cache.set(t,i),i},e.prototype.loadSkin=function(e){var t,r="animation:"+e,n=this.cache.get(r);if(n)return n;var i=this.json.skins[e],o={joints:i.joints};return t=void 0===i.inverseBindMatrices?Promise.resolve(o):this.loadAccessor(i.inverseBindMatrices).then((function(e){return e&&(o.inverseBindMatrices=e),o})),this.cache.set(r,t),t},e.prototype.loadAnimation=function(e){var t="animation:"+e,r=this.cache.get(t);if(r)return r;for(var i=null,o=0,a=Nn(this.extensions);o<a.length;o++){if(i=a[o].loadAnimation(e,this))break}if(!i){for(var s=this.json.animations[e],l=[],c=[],u=[],d=[],p=[],h=0,f=s.channels.length;h<f;h++){var v=s.channels[h],m=s.samplers[v.sampler],A=v.target,g=void 0!==A.node?A.node:A.id,y=void 0!==s.parameters?s.parameters[m.input]:m.input,b=void 0!==s.parameters?s.parameters[m.output]:m.output;l.push(this.loadNode(g)),c.push(this.loadAccessor(y)),u.push(this.loadAccessor(b)),d.push(m),p.push(A)}i=Promise.all([Promise.all(l),Promise.all(c),Promise.all(u),Promise.all(d),Promise.all(p)]).then((function(t){for(var r=t[0],i=t[1],o=t[2],a=t[3],l=t[4],c=[],u=function(e,t){var s=r[e],u=i[e],d=o[e],p=a[e],h=l[e];if(void 0===s)return"continue";s.updateMatrix(),s.matrixAutoUpdate=!0;var f=void 0;switch(On[h.path]){case On.weights:f=n.NumberKeyframeTrack;break;case On.rotation:f=n.QuaternionKeyframeTrack;break;default:f=n.VectorKeyframeTrack}var v=s.name?s.name:s.uuid,m=void 0!==p.interpolation?Fn[p.interpolation]:n.InterpolateLinear,A=[];On[h.path]===On.weights?s.traverse((function(e){e.morphTargetInfluences&&A.push(e.name?e.name:e.uuid)})):A.push(v);var g=d.array;if(d.normalized){for(var y=zn(g.constructor),b=new Float32Array(g.length),x=0,w=g.length;x<w;x++)b[x]=g[x]*y;g=b}for(x=0,w=A.length;x<w;x++){var E=new f(A[x]+"."+On[h.path],u.array,g,m);c.push(E)}},d=0,p=r.length;d<p;d++)u(d);var h=s.name?s.name:"animation_"+e;return new n.AnimationClip(h,void 0,c)}))}return this.cache.set(t,i),i},e.prototype.loadBuffer=function(e){var t=this.json.buffers[e];if(t.type&&"arraybuffer"!==t.type)throw new Error("glTF: "+t.type+" buffer type is not supported.");var r="buffer:"+e,n=this.cache.get(r);if(n)return n;for(var i=null,o=0,a=Nn(this.extensions);o<a.length;o++){if(i=a[o].loadBuffer(e,this))break}if(!i){var s=this.json.buffers[e];i=this.options.fetcher.ajax(this.resolveResouce(s.uri),{responseType:"arraybuffer"}).then((function(e){return e.body}))}return this.cache.set(r,i),i},e.prototype.loadBufferView=function(e){var t="bufferView:"+e,r=this.cache.get(t);if(r)return r;for(var n=null,i=0,o=Nn(this.extensions);i<o.length;i++){if(n=o[i].loadBufferView(e,this))break}if(!n){var a=this.json.bufferViews[e];n=this.loadBuffer(a.buffer).then((function(e){var t=a.byteLength||0,r=a.byteOffset||0;return e.slice(r,r+t)}))}return this.cache.set(t,n),n},e.prototype.loadAccessor=function(e){var t=this,r="accessor:"+e,i=this.cache.get(r);if(i)return i;var o=null;if(!o){var a=this.json.accessors[e];if(void 0===a.bufferView&&void 0===a.sparse)o=Promise.resolve(null);else{var s=[];void 0!==a.bufferView?s.push(this.loadBufferView(a.bufferView)):s.push(Promise.resolve(null)),void 0!==a.sparse&&(s.push(this.loadBufferView(a.sparse.indices.bufferView)),s.push(this.loadBufferView(a.sparse.values.bufferView))),o=Promise.all(s).then((function(e){var r,i,o=e[0],s=Rn[a.type],l=Pn[a.componentType],c=l.BYTES_PER_ELEMENT,u=c*s,d=a.byteOffset||0,p=void 0!==a.bufferView?t.json.bufferViews[a.bufferView].byteStride:void 0,h=!0===a.normalized;if(p&&p!==u){var f=Math.floor(d/p),v="InterleavedBuffer:"+a.bufferView+":"+a.componentType+":"+f+":"+a.count,m=t.cache.get(v);m||(r=new l(o,f*p,a.count*p/c),m=new n.InterleavedBuffer(r,p/c),t.cache.set(v,m)),i=new n.InterleavedBufferAttribute(m,s,d%p/c,h)}else r=null===o?new l(a.count*s):new l(o,d,a.count*s),i=new n.BufferAttribute(r,s,h);if(void 0!==a.sparse){var A=Rn.SCALAR,g=Pn[a.sparse.indices.componentType],y=a.sparse.indices.byteOffset||0,b=a.sparse.values.byteOffset||0,x=new g(e[1],y,a.sparse.count*A),w=new l(e[2],b,a.sparse.count*s);null!==o&&(i=new n.BufferAttribute(i.array.slice(),i.itemSize,i.normalized));for(var E=0,M=x.length;E<M;E++){var C=x[E];if(i.setX(C,w[E*s]),s>=2&&i.setY(C,w[E*s+1]),s>=3&&i.setZ(C,w[E*s+2]),s>=4&&i.setW(C,w[E*s+3]),s>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return i}))}}return this.cache.set(r,o),o},e.prototype.createPrimitiveKey=function(e){for(var t=0,r=Nn(this.extensions);t<r.length;t++){var n=r[t].createPrimitiveKey(e,this);if(n)return n}for(var i="",o=Object.keys(e.attributes).sort(),a=0,s=o.length;a<s;a++)i+=o[a]+":"+e.attributes[o[a]]+";";return e.indices+":"+i+":"+e.mode},e.prototype.loadGeometry=function(e){var t=this,r="geometry:"+this.createPrimitiveKey(e),i=this.cache.get(r);if(i)return i;for(var o=null,a=0,s=Nn(this.extensions);a<s.length;a++){if(o=s[a].loadGeometry(e,this))break}return o||(o=this.addGeometryPrimitiveAttributes(new n.BufferGeometry,e)),o=o.then((function(e){return t.disposeSet.add(e),e})),this.cache.set(r,o),o},e.prototype.loadImage=function(e){var t="image:"+e,r=this.cache.get(t);if(r)return r;for(var n=null,i=0,o=Nn(this.extensions);i<o.length;i++){if(n=o[i].loadImage(e,this))break}if(!n){var a=this.json.images[e];if(a.bufferView)n=this.loadBufferView(a.bufferView).then((function(e){return Ft(new Blob([e],{type:a.mimeType}))}));else{if(!a.uri)throw new Error("glTF: Invalid image defs.");var s=this.resolveResouce(a.uri);n=this.options.fetcher.loadImage(s,{},void 0,void 0,void 0,Ot()).then((function(e){return e.body}))}}return this.cache.set(t,n),n},e.prototype.loadMaterialAsMeshStandardMaterial=function(e){var t=this,r=[],i=new n.MeshStandardMaterial;if(i.color=new n.Color(1,1,1),i.opacity=1,Object.keys(e.attributes).filter((function(e){return"color"===kn[e]})).length>0&&(i.vertexColors=!0),0===Object.keys(e.attributes).filter((function(e){return"normal"===kn[e]})).length&&(i.flatShading=!0),0===Object.keys(e.attributes).filter((function(e){return"tangent"===kn[e]})).length&&(i.normalScale&&(i.normalScale.y*=-1),i.clearcoatNormalScale&&(i.clearcoatNormalScale.y*=-1)),void 0!==e.material){var o=this.json.materials[e.material];o.name&&(i.name=o.name);var a=o.pbrMetallicRoughness||{};if(Array.isArray(a.baseColorFactor)){var s=a.baseColorFactor;i.color.fromArray(s),i.opacity=s[3]}void 0!==a.baseColorTexture&&r.push(this.createMaterialTexture(a.baseColorTexture).then((function(e){e.encoding=n.sRGBEncoding,i.map=e,t.disposeSet.add(e)}))),i.metalness=void 0!==a.metallicFactor?a.metallicFactor:1,i.roughness=void 0!==a.roughnessFactor?a.roughnessFactor:1,void 0!==a.metallicRoughnessTexture&&r.push(this.createMaterialTexture(a.metallicRoughnessTexture).then((function(e){e.encoding=n.sRGBEncoding,i.metalnessMap=e,i.roughnessMap=e,t.disposeSet.add(e)}))),!0===o.doubleSided&&(i.side=n.DoubleSide);var l=o.alphaMode||Dn;if(l===Ln?(i.transparent=!0,i.depthWrite=!1):(i.transparent=!1,l===Qn&&(i.alphaTest=void 0!==o.alphaCutoff?o.alphaCutoff:.5)),void 0!==o.normalTexture&&(r.push(this.createMaterialTexture(o.normalTexture).then((function(e){i.normalMap=e,t.disposeSet.add(e)}))),i.normalScale=new n.Vector2(1,1),void 0!==o.normalTexture.scale)){var c=o.normalTexture.scale;i.normalScale.set(c,c)}void 0!==o.occlusionTexture&&(r.push(this.createMaterialTexture(o.occlusionTexture).then((function(e){i.aoMap=e,t.disposeSet.add(e)}))),void 0!==o.occlusionTexture.strength&&(i.aoMapIntensity=o.occlusionTexture.strength)),void 0!==o.emissiveFactor&&(i.emissive=(new n.Color).fromArray(o.emissiveFactor)),void 0!==o.emissiveTexture&&r.push(this.createMaterialTexture(o.emissiveTexture).then((function(e){i.emissiveMap=e,t.disposeSet.add(e)})))}return this.disposeSet.add(i),Promise.all(r).then((function(){return i}))},e.prototype.loadMaterialAsLineBasicMaterial=function(e){var t=new n.LineBasicMaterial;if(t.color=new n.Color(1,1,1),t.opacity=1,Object.keys(e.attributes).filter((function(e){return"color"===kn[e]})).length>0&&(t.vertexColors=!0),0===Object.keys(e.attributes).filter((function(e){return"tangent"===kn[e]})).length&&(t.normalScale&&(t.normalScale.y*=-1),t.clearcoatNormalScale&&(t.clearcoatNormalScale.y*=-1)),void 0!==e.material){var r=this.json.materials[e.material];r.name&&(t.name=r.name);var i=r.pbrMetallicRoughness||{};if(Array.isArray(i.baseColorFactor)){var o=i.baseColorFactor;t.color.fromArray(o),t.opacity=o[3]}!0===r.doubleSided&&(t.side=n.DoubleSide);var a=r.alphaMode||Dn;a===Ln?(t.transparent=!0,t.depthWrite=!1):(t.transparent=!1,a===Qn&&(t.alphaTest=void 0!==r.alphaCutoff?r.alphaCutoff:.5))}return this.disposeSet.add(t),Promise.all([]).then((function(){return t}))},e.prototype.loadMaterialAsPointsMaterial=function(e){var t=this,r=[],i=new n.PointsMaterial;if(i.color=new n.Color(1,1,1),i.opacity=1,i.sizeAttenuation=!1,Object.keys(e.attributes).filter((function(e){return"color"===kn[e]})).length>0&&(i.vertexColors=!0),0===Object.keys(e.attributes).filter((function(e){return"tangent"===kn[e]})).length&&(i.normalScale&&(i.normalScale.y*=-1),i.clearcoatNormalScale&&(i.clearcoatNormalScale.y*=-1)),void 0!==e.material){var o=this.json.materials[e.material];o.name&&(i.name=o.name);var a=o.pbrMetallicRoughness||{};if(Array.isArray(a.baseColorFactor)){var s=a.baseColorFactor;i.color.fromArray(s),i.opacity=s[3]}void 0!==a.baseColorTexture&&r.push(this.createMaterialTexture(a.baseColorTexture).then((function(e){e.encoding=n.sRGBEncoding,i.map=e,t.disposeSet.add(e)}))),!0===o.doubleSided&&(i.side=n.DoubleSide);var l=o.alphaMode||Dn;l===Ln?(i.transparent=!0,i.depthWrite=!1):(i.transparent=!1,l===Qn&&(i.alphaTest=void 0!==o.alphaCutoff?o.alphaCutoff:.5))}return this.disposeSet.add(i),Promise.all(r).then((function(){return i}))},e.prototype.loadMaterial=function(e){var t,r=this,n=null!==(t=e.mode)&&void 0!==t?t:Cn,i="material:"+this.createPrimitiveKey(e),o=this.cache.get(i);if(o)return o;for(var a=null,s=0,l=Nn(this.extensions);s<l.length;s++){if(a=l[s].loadMaterial(e,this))break}if(n===Cn||n===Sn||n===In)a=this.loadMaterialAsMeshStandardMaterial(e);else if(n===wn||n===Mn||n===En)a=this.loadMaterialAsLineBasicMaterial(e);else{if(n!==xn)throw new Error("glTF: Primitive mode unsupported: "+n);a=this.loadMaterialAsPointsMaterial(e)}return a=a.then((function(e){return r.disposeSet.add(e),e})),this.cache.set(i,a),a},e.prototype.loadTexture=function(e){var t=this,r="texture:"+e,i=this.cache.get(r);if(i)return i;for(var o=null,a=0,s=Nn(this.extensions);a<s.length;a++){if(o=s[a].loadTexture(e,this))break}if(!o){var l=this.json.textures[e];o=this.loadImage(l.source).then((function(e){var r=new n.Texture(e);r.needsUpdate=!0,r.flipY=!1,l.name&&(r.name=l.name);var i=(t.json.samplers||{})[l.sampler]||{};r.magFilter=Tn[i.magFilter]||n.LinearFilter,r.minFilter=Tn[i.minFilter]||n.LinearMipmapLinearFilter,r.wrapS=Bn[i.wrapS]||n.RepeatWrapping,r.wrapT=Bn[i.wrapT]||n.RepeatWrapping;var o=r.dispose;return r.dispose=function(){return r.dispose=o,e.close(),o.call(this)},r}))}return o=o.then((function(e){return t.disposeSet.add(e),e})),this.cache.set(r,o),o},e.prototype.loadMesh=function(e){for(var t=this,r=null,i=0,o=Nn(this.extensions);i<o.length;i++){if(r=o[i].loadMesh(e,this))break}if(!r){var a=this.json.meshes[e],s=a.primitives,l=Promise.all(s.map((function(e){return t.loadGeometry(e)}))),c=Promise.all(s.map((function(e){return t.loadMaterial(e)})));r=Promise.all([l,c]).then((function(r){for(var i=r[0],o=r[1],l=[],c=0;c<s.length;c++){var u=s[c],d=i[c],p=o[c],h=u.mode||Cn,f=void 0;if(h===Cn||h===Sn||h===In)if(h===Sn?d=t.toGeometryTrianglesDrawMode(d,n.TriangleStripDrawMode):h===In&&(d=t.toGeometryTrianglesDrawMode(d,n.TriangleFanDrawMode)),a.isSkinnedMesh){var v=new n.SkinnedMesh(d,p);d.attributes.skinWeight.normalized||v.normalizeSkinWeights(),f=v}else f=new n.Mesh(d,p);else if(h===xn)f=new n.Points(d,p);else if(h===wn)f=new n.LineSegments(d,p);else if(h===Mn)f=new n.Line(d,p);else{if(h!==En)throw new Error("glTF: Primitive mode unsupported: "+h);f=new n.LineLoop(d,p)}if(Object.keys(d.morphAttributes).length>0){if(void 0!==a.weights)for(var m=0,A=a.weights.length;m<A;m++)f.morphTargetInfluences[m]=a.weights[m];if(a.extras&&Array.isArray(a.extras.targetNames)){var g=a.extras.targetNames;if(f.morphTargetInfluences.length===g.length){f.morphTargetDictionary={};for(m=0,A=g.length;m<A;m++)f.morphTargetDictionary[g[m]]=m}else console.warn("glTF: Invalid extras.targetNames length. Ignoring names.")}}f.name=t.createUniqueName(a.name||"mesh_"+e),l.push(f)}if(1===l.length)return l[0];for(var y=new n.Group,b=0,x=l;b<x.length;b++){f=x[b];y.add(f)}return y}))}return r},e.prototype.loadNodeAttachments=function(e){for(var t=[],r=0,n=Nn(this.extensions);r<n.length;r++){var i=n[r].loadNodeAttachments(e,this);i&&t.push(i)}return t},e.prototype.loadNode=function(e){var t="node:"+e,r=this.cache.get(t);if(r)return r;var i=this.json.nodes[e],o=i.name?this.createUniqueName(i.name):"",a=[];void 0!==i.mesh&&a.push(this.loadMesh(i.mesh).then((function(e){if(void 0!==i.weights){var t=i.weights;e.traverse((function(e){if(e instanceof n.Mesh||e instanceof n.Line||e instanceof n.Points)for(var r=0,i=t.length;r<i;r++)e.morphTargetInfluences[r]=t[r]}))}return e}))),void 0!==i.camera&&a.push(this.loadCamera(i.camera));for(var s=0,l=this.loadNodeAttachments(e);s<l.length;s++){var c=l[s];a.push(c)}return Promise.all(a).then((function(e){var t;if((t=!0===i.isBone?new n.Bone:e.length>1?new n.Group:1===e.length?e[0]:new n.Object3D)!==e[0])for(var r=0,a=e.length;r<a;r++)t.add(e[r]);if(i.name&&(t.name=o),void 0!==i.matrix){var s=new n.Matrix4;s.fromArray(i.matrix),t.applyMatrix4(s)}else void 0!==i.translation&&t.position.fromArray(i.translation),void 0!==i.rotation&&t.quaternion.fromArray(i.rotation),void 0!==i.scale&&t.scale.fromArray(i.scale);return t}))},e.prototype.loadScene=function(e){var t=this.json.scenes[e],r=new n.Group;t.name&&(r.name=this.createUniqueName(t.name));for(var i=t.nodes||[],o=[],a=0,s=i.length;a<s;a++)o.push(this.buildNodeHierarchy(i[a],r));return Promise.all(o).then((function(){return r}))},e.prototype.createMaterialTexture=function(e){var t=this;return this.loadTexture(e.index).then((function(r){for(var n=0,i=Nn(t.extensions);n<i.length;n++){var o=i[n].extendTexture(r,e,t);o&&(r=o)}return r}))},e.prototype.addGeometryPrimitiveAttributes=function(e,t){var r=this,i=t.attributes,o=[],a=function(t){var r=kn[t]||t.toLowerCase();if(r in e.attributes)return"continue";o.push(s.loadAccessor(i[t]).then((function(t){t&&e.setAttribute(r,t)})))},s=this;for(var l in i)a(l);void 0===t.indices||e.index||o.push(this.loadAccessor(t.indices).then((function(t){t&&e.setIndex(t)})));var c=new n.Box3;if(void 0!==i.POSITION){var u=(y=this.json.accessors[i.POSITION]).min,d=y.max;if(void 0!==u&&void 0!==d){if(c.set(new n.Vector3(u[0],u[1],u[2]),new n.Vector3(d[0],d[1],d[2])),y.normalized){var p=zn(Pn[y.componentType]);c.min.multiplyScalar(p),c.max.multiplyScalar(p)}}else console.warn("glTF: Missing min/max properties for accessor POSITION.")}var h=t.targets;if(void 0!==h){for(var f=new n.Vector3,v=new n.Vector3,m=0,A=h.length;m<A;m++){var g=h[m];if(void 0!==g.POSITION){var y;u=(y=this.json.accessors[g.POSITION]).min,d=y.max;if(void 0!==u&&void 0!==d){if(v.setX(Math.max(Math.abs(u[0]),Math.abs(d[0]))),v.setY(Math.max(Math.abs(u[1]),Math.abs(d[1]))),v.setZ(Math.max(Math.abs(u[2]),Math.abs(d[2]))),y.normalized){p=zn(Pn[y.componentType]);v.multiplyScalar(p)}f.max(v)}else console.warn("glTF: Missing min/max properties for accessor POSITION.")}}c.expandByVector(f)}e.boundingBox=c;var b=new n.Sphere;return c.getCenter(b.center),b.radius=c.min.distanceTo(c.max)/2,e.boundingSphere=b,Promise.all(o).then((function(){if(e.attributes.uv&&!e.attributes.uv2&&r.options.copyUV2&&e.setAttribute("uv2",e.attributes.uv),t.targets){for(var n=!1,i=!1,o=0,a=t.targets.length;o<a;o++){var s=t.targets[o];if(void 0!==s.POSITION&&(n=!0),void 0!==s.NORMAL&&(i=!0),n&&i)break}if(!n&&!i)return e;var l=[];e.morphTargetsRelative=!0;var c=function(o,a){var s=t.targets[o];n?l.push(r.loadAccessor(s.POSITION).then((function(t){t&&(e.morphAttributes.position[o]=t)}))):e.morphAttributes.position[o]=e.attributes.position,i?l.push(r.loadAccessor(s.NORMAL).then((function(t){t&&(e.morphAttributes.normal[o]=t)}))):e.morphAttributes.normal[o]=e.attributes.normal};for(o=0,a=t.targets.length;o<a;o++)c(o);return Promise.all(l).then((function(){return e}))}return e}))},e.prototype.buildNodeHierarchy=function(e,t){var r=this,i=this.json.nodes[e];return this.loadNode(e).then((function(e){return void 0===i.skin?e:r.loadSkin(i.skin).then((function(e){for(var n=[],i=0,o=(t=e).joints.length;i<o;i++)n.push(r.loadNode(t.joints[i]));return Promise.all(n)})).then((function(r){return e.traverse((function(e){if(e instanceof n.SkinnedMesh){for(var i=[],o=[],a=0,s=r.length;a<s;a++){var l=r[a];if(l instanceof n.Bone){i.push(l);var c=new n.Matrix4;void 0!==t.inverseBindMatrices&&c.fromArray(t.inverseBindMatrices.array,16*a),o.push(c)}else console.warn('glTF: Joint "%s" could not be found.',t.joints[a])}e.bind(new n.Skeleton(i,o),e.matrixWorld)}})),e}));var t})).then((function(e){t.add(e);var n=[];if(i.children)for(var o=i.children,a=0,s=o.length;a<s;a++){var l=o[a];n.push(r.buildNodeHierarchy(l,e))}return Promise.all(n).then((function(){return e}))}))},e.prototype.createUniqueName=function(e){for(var t=n.PropertyBinding.sanitizeNodeName(e||""),r=t,i=1;this.nodeNamesUsed[r];++i)r=t+"_"+i;return this.nodeNamesUsed[r]=!0,r},e.prototype.resolveResouce=function(e){return $r(this.options.resourcePath,nn(e,this.options.search))},e.prototype.toGeometryTrianglesDrawMode=function(e,t){var r=e.getIndex();if(null===r){var i=[],o=e.getAttribute("position");if(void 0!==o){for(var a=0;a<o.count;a++)i.push(a);e.setIndex(i),r=e.getIndex()}}if(null===r)return console.error("glTF: Undefined position attribute. Processing not possible."),e;var s=r.count-2,l=[];if(t===n.TriangleFanDrawMode)for(a=1;a<=s;a++)l.push(r.getX(0)),l.push(r.getX(a)),l.push(r.getX(a+1));else for(a=0;a<s;a++)a%2==0?(l.push(r.getX(a)),l.push(r.getX(a+1)),l.push(r.getX(a+2))):(l.push(r.getX(a+2)),l.push(r.getX(a+1)),l.push(r.getX(a)));l.length/3!==s&&console.error("glTF: Unable to generate correct amount of triangles.");var c=e.clone();return c.setIndex(l),c},e}();function zn(e){switch(e){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 jn=function(){function e(){}return e.prototype.markDefs=function(e){},e.prototype.prepare=function(e){},e.prototype.emitResult=function(e,t){},e.prototype.createPrimitiveKey=function(e,t){},e.prototype.extendTexture=function(e,t,r){return null},e.prototype.loadBuffer=function(e,t){return null},e.prototype.loadBufferView=function(e,t){return null},e.prototype.loadImage=function(e,t){return null},e.prototype.loadTexture=function(e,t){return null},e.prototype.loadGeometry=function(e,t){return null},e.prototype.loadMaterial=function(e,t){return null},e.prototype.loadMesh=function(e,t){return null},e.prototype.loadNodeAttachments=function(e,t){return null},e.prototype.loadCamera=function(e,t){return null},e.prototype.loadAnimation=function(e,t){return null},e}(),Un=function(e){function t(){var t=e.call(this)||this;return t.header={magic:"",version:0,length:0},t.content="",t.body=null,t}return ne(t,e),t.getMagic=function(e){return bn(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 n=new DataView(e,t.HEADER_LENGTH),i=0,o=null,a=null;i<n.byteLength;){var s=n.getUint32(i,!0);i+=4;var l=n.getUint32(i,!0);if(i+=4,l===t.CHUNK_TYPES.JSON)o=bn(new Uint8Array(e,t.HEADER_LENGTH+i,s));else if(l===t.CHUNK_TYPES.BIN){var c=t.HEADER_LENGTH+i;a=e.slice(c,c+s)}i+=s}if(null===o)throw new Error("glTF:KHR_binary_glTF: JSON content not found.");this.content=o,this.body=a},t.prototype.loadBuffer=function(e,t){return void 0===t.json.buffers[e].uri&&0===e&&this.body?Promise.resolve(this.body):null},t.HEADER_MAGIC="glTF",t.HEADER_LENGTH=12,t.CHUNK_TYPES={JSON:1313821514,BIN:5130562},t}(jn),qn={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},_n={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"},Hn=function(){function e(){this.decoderPath="https://vr-public.realsee-cdn.cn/release/static/image/release/five/resource/draco/1.5.6/",this.decoderConfig={},this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL=""}return e.prototype.setDecoderPath=function(e){this.decoderPath=e},e.prototype.setDecoderConfig=function(e){return this.decoderConfig=e,this},e.prototype.setWorkerLimit=function(e){return this.workerLimit=e,this},e.prototype.decodeDracoFile=function(e,t,r,n){var i={attributeIDs:r||qn,attributeTypes:n||_n,useUniqueIDs:!!r};this.decodeGeometry(e,i).then(t)},e.prototype.decodeGeometry=function(e,t){var r,n=this;for(var i in void 0===t&&(t={attributeIDs:qn,attributeTypes:_n,useUniqueIDs:!1}),t.attributeTypes){var o=t.attributeTypes[i];void 0!==o.BYTES_PER_ELEMENT&&(t.attributeTypes[i]=o.name)}var a=this.workerNextTaskID++,s=e.byteLength,l=this._getWorker(a,s).then((function(n){return r=n,new Promise((function(n,i){r._callbacks[a]={resolve:n,reject:i},r.postMessage({type:"decode",id:a,taskConfig:t,buffer:e},[e])}))})).then((function(e){return n._createGeometry(e.geometry)}));return l.catch((function(){return!0})).then((function(){r&&a&&n._releaseTask(r,a)})),l},e.prototype._createGeometry=function(e){var t=new n.BufferGeometry;e.index&&t.setIndex(new n.BufferAttribute(e.index.array,1));for(var r=0;r<e.attributes.length;r++){var i=e.attributes[r],o=i.name,a=i.array,s=i.itemSize;t.setAttribute(o,new n.BufferAttribute(a,s))}return t},e.prototype._initDecoder=function(){var e=this;if(this.decoderPending)return this.decoderPending;if("object"!=typeof WebAssembly||"js"===this.decoderConfig.type){var t=ke(this.decoderPath+"draco_decoder.js",{responseType:"text"}).then((function(e){return e.body}));this.decoderPending=t.then((function(t){var r=["/* draco decoder */",t,"","/* worker */",Kn].join("\n");e.workerSourceURL=URL.createObjectURL(new Blob([r]))}))}else{t=ke(this.decoderPath+"draco_wasm_wrapper.js",{responseType:"text"}).then((function(e){return e.body}));var r=ke(this.decoderPath+"draco_decoder.wasm",{responseType:"arraybuffer"}).then((function(e){return e.body}));this.decoderPending=Promise.all([t,r]).then((function(t){var r=t[0],n=t[1];e.decoderConfig.wasmBinary=n;var i=["/* draco decoder */",r,"","/* worker */",Kn].join("\n");e.workerSourceURL=URL.createObjectURL(new Blob([i]))}))}return this.decoderPending},e.prototype._getWorker=function(e,t){var r=this;return this._initDecoder().then((function(){if(r.workerPool.length<r.workerLimit){var n=new Worker(r.workerSourceURL);n._callbacks={},n._taskCosts={},n._taskLoad=0,n.postMessage({type:"init",decoderConfig:r.decoderConfig}),n.onmessage=function(e){var t=e.data;switch(t.type){case"decode":n._callbacks[t.id].resolve(t);break;case"error":n._callbacks[t.id].reject(t);break;default:console.error('DRACO: Unexpected message, "'+t.type+'"')}},r.workerPool.push(n)}else r.workerPool.sort((function(e,t){return e._taskLoad>t._taskLoad?-1:1}));var i=r.workerPool[r.workerPool.length-1];return i._taskCosts[e]=t,i._taskLoad+=t,i}))},e.prototype._releaseTask=function(e,t){e._taskLoad-=e._taskCosts[t],delete e._callbacks[t],delete e._taskCosts[t]},e.prototype.dispose=function(){for(var e=0;e<this.workerPool.length;++e)this.workerPool[e].terminate();return this.workerPool.length=0,this},e}(),Gn=new Hn,Kn="\n let decoderConfig;\n let decoderPending;\n\n onmessage = function ( e ) {\n\n const message = e.data;\n\n switch ( message.type ) {\n\n case 'init':\n decoderConfig = message.decoderConfig;\n decoderPending = new Promise( function ( resolve/*, reject*/ ) {\n\n decoderConfig.onModuleLoaded = function ( draco ) {\n\n // Module is Promise-like. Wrap before resolving to avoid loop.\n resolve( { draco: draco } );\n\n };\n\n DracoDecoderModule( decoderConfig ); // eslint-disable-line no-undef\n\n } );\n break;\n\n case 'decode':\n const buffer = message.buffer;\n const taskConfig = message.taskConfig;\n decoderPending.then( ( module ) => {\n\n const draco = module.draco;\n const decoder = new draco.Decoder();\n const decoderBuffer = new draco.DecoderBuffer();\n decoderBuffer.Init( new Int8Array( buffer ), buffer.byteLength );\n\n try {\n\n const geometry = decodeGeometry( draco, decoder, decoderBuffer, taskConfig );\n\n const buffers = geometry.attributes.map( ( attr ) => attr.array.buffer );\n\n if ( geometry.index ) buffers.push( geometry.index.array.buffer );\n\n self.postMessage( { type: 'decode', id: message.id, geometry }, buffers );\n\n } catch ( error ) {\n\n console.error( error );\n\n self.postMessage( { type: 'error', id: message.id, error: error.message } );\n\n } finally {\n\n draco.destroy( decoderBuffer );\n draco.destroy( decoder );\n\n }\n\n } );\n break;\n\n }\n\n };\n\n function decodeGeometry( draco, decoder, decoderBuffer, taskConfig ) {\n\n const attributeIDs = taskConfig.attributeIDs;\n const attributeTypes = taskConfig.attributeTypes;\n\n let dracoGeometry;\n let decodingStatus;\n\n const geometryType = decoder.GetEncodedGeometryType( decoderBuffer );\n\n if ( geometryType === draco.TRIANGULAR_MESH ) {\n\n dracoGeometry = new draco.Mesh();\n decodingStatus = decoder.DecodeBufferToMesh( decoderBuffer, dracoGeometry );\n\n } else if ( geometryType === draco.POINT_CLOUD ) {\n\n dracoGeometry = new draco.PointCloud();\n decodingStatus = decoder.DecodeBufferToPointCloud( decoderBuffer, dracoGeometry );\n\n } else {\n\n throw new Error( 'THREE.DRACOLoader: Unexpected geometry type.' );\n\n }\n\n if ( ! decodingStatus.ok() || dracoGeometry.ptr === 0 ) {\n\n throw new Error( 'THREE.DRACOLoader: Decoding failed: ' + decodingStatus.error_msg() );\n\n }\n\n const geometry = { index: null, attributes: [] };\n\n // Gather all vertex attributes.\n for ( const attributeName in attributeIDs ) {\n\n const attributeType = self[ attributeTypes[ attributeName ] ];\n\n let attribute;\n let attributeID;\n\n // A Draco file may be created with default vertex attributes, whose attribute IDs\n // are mapped 1:1 from their semantic name (POSITION, NORMAL, ...). Alternatively,\n // a Draco file may contain a custom set of attributes, identified by known unique\n // IDs. glTF files always do the latter, and .drc files typically do the former.\n if ( taskConfig.useUniqueIDs ) {\n\n attributeID = attributeIDs[ attributeName ];\n attribute = decoder.GetAttributeByUniqueId( dracoGeometry, attributeID );\n\n } else {\n\n attributeID = decoder.GetAttributeId( dracoGeometry, draco[ attributeIDs[ attributeName ] ] );\n\n if ( attributeID === - 1 ) continue;\n\n attribute = decoder.GetAttribute( dracoGeometry, attributeID );\n\n }\n\n geometry.attributes.push( decodeAttribute( draco, decoder, dracoGeometry, attributeName, attributeType, attribute ) );\n\n }\n\n // Add index.\n if ( geometryType === draco.TRIANGULAR_MESH ) {\n\n geometry.index = decodeIndex( draco, decoder, dracoGeometry );\n\n }\n\n draco.destroy( dracoGeometry );\n\n return geometry;\n\n }\n\n function decodeIndex( draco, decoder, dracoGeometry ) {\n\n const numFaces = dracoGeometry.num_faces();\n const numIndices = numFaces * 3;\n const byteLength = numIndices * 4;\n\n const ptr = draco._malloc( byteLength );\n decoder.GetTrianglesUInt32Array( dracoGeometry, byteLength, ptr );\n const index = new Uint32Array( draco.HEAPF32.buffer, ptr, numIndices ).slice();\n draco._free( ptr );\n\n return { array: index, itemSize: 1 };\n\n }\n\n function decodeAttribute( draco, decoder, dracoGeometry, attributeName, attributeType, attribute ) {\n\n const numComponents = attribute.num_components();\n const numPoints = dracoGeometry.num_points();\n const numValues = numPoints * numComponents;\n const byteLength = numValues * attributeType.BYTES_PER_ELEMENT;\n const dataType = getDracoDataType( draco, attributeType );\n\n const ptr = draco._malloc( byteLength );\n decoder.GetAttributeDataArrayForAllPoints( dracoGeometry, attribute, dataType, byteLength, ptr );\n const array = new attributeType( draco.HEAPF32.buffer, ptr, numValues ).slice();\n draco._free( ptr );\n\n return {\n name: attributeName,\n array: array,\n itemSize: numComponents\n };\n\n }\n\n function getDracoDataType( draco, attributeType ) {\n\n switch ( attributeType ) {\n\n case Float32Array: return draco.DT_FLOAT32;\n case Int8Array: return draco.DT_INT8;\n case Int16Array: return draco.DT_INT16;\n case Int32Array: return draco.DT_INT32;\n case Uint8Array: return draco.DT_UINT8;\n case Uint16Array: return draco.DT_UINT16;\n case Uint32Array: return draco.DT_UINT32;\n\n }\n\n }\n",Wn="KHR_draco_mesh_compression",Yn=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return ne(t,e),t.prototype.loadGeometry=function(e,t){return e.extensions&&e.extensions[Wn]?this.decodePrimitive(e,t).then((function(r){return t.addGeometryPrimitiveAttributes(r,e)})):null},t.prototype.decodePrimitive=function(e,t){var r=t.json,n=e.extensions[Wn].bufferView,i=e.extensions[Wn].attributes,o={},a={},s={};for(var l in i){var c=kn[l]||l.toLowerCase();o[c]=i[l]}for(var l in e.attributes){c=kn[l]||l.toLowerCase();if(void 0!==i[l]){var u=r.accessors[e.attributes[l]],d=Pn[u.componentType];s[c]=d,a[c]=!0===u.normalized}}return t.loadBufferView(n).then((function(e){return new Promise((function(t){Gn.decodeDracoFile(e,(function(e){for(var r in e.attributes){var n=e.attributes[r],i=a[r];void 0!==i&&(n.normalized=i)}t(e)}),o,s)}))}))},t}(jn),Xn=function(){function e(e){this.pool=e,this.queue=[],this.workers=[],this.workersResolve=[],this.workerStatus=0,this.workerCreator=null}return e.prototype._initWorker=function(e){if(this.workerCreator&&!this.workers[e]){var t=this.workerCreator();t.addEventListener("message",this._onMessage.bind(this,e)),this.workers[e]=t}},e.prototype._getIdleWorker=function(){for(var e=0;e<this.pool;e++)if(!(this.workerStatus&1<<e))return e;return-1},e.prototype._onMessage=function(e,t){var r=this.workersResolve[e];if(r&&r(t),this.queue.length){var n=this.queue.shift(),i=n.resolve,o=n.msg,a=n.transfer;this.workersResolve[e]=i,this.workers[e].postMessage(o,a)}else this.workerStatus^=1<<e},e.prototype.setWorkerCreator=function(e){this.workerCreator=e},e.prototype.setWorkerLimit=function(e){this.pool=e},e.prototype.postMessage=function(e,t){var r=this;return new Promise((function(n){var i=r._getIdleWorker();-1!==i?(r._initWorker(i),r.workerStatus|=1<<i,r.workersResolve[i]=n,r.workers[i].postMessage(e,t)):r.queue.push({resolve:n,msg:e,transfer:t})}))},e.prototype.dispose=function(){this.workers.forEach((function(e){return e.terminate()})),this.workersResolve.length=0,this.workers.length=0,this.queue.length=0,this.workerStatus=0},e}(),Jn=function(){function e(){this.transcoderPath="https://vr-public.realsee-cdn.cn/release/static/image/release/five/resource/basis/1.16/",this.transcoderBinary=null,this.transcoderPending=null,this.workerPool=new Xn(4),this.workerSourceURL="",this.workerConfig=null}return e.prototype.setTranscoderPath=function(e){this.transcoderPath=e},e.prototype.detectSupport=function(e){if(!this.workerConfig){var t=console.warn;console.warn=function(){},this.workerConfig={astcSupported:!!e.extensions.get("WEBGL_compressed_texture_astc"),etc1Supported:!!e.extensions.get("WEBGL_compressed_texture_etc1"),etc2Supported:!!e.extensions.get("WEBGL_compressed_texture_etc"),dxtSupported:!!e.extensions.get("WEBGL_compressed_texture_s3tc"),bptcSupported:!!e.extensions.get("EXT_texture_compression_bptc"),pvrtcSupported:!!e.extensions.get("WEBGL_compressed_texture_pvrtc")||!!e.extensions.get("WEBKIT_WEBGL_compressed_texture_pvrtc")},console.warn=t}return this},e.prototype.init=function(){var e=this;if(!this.transcoderPending){var t=ke(this.transcoderPath+"basis_transcoder.js",{responseType:"text"}).then((function(e){return e.body})),r=ke(this.transcoderPath+"basis_transcoder.wasm",{responseType:"arraybuffer"}).then((function(e){return e.body}));this.transcoderPending=Promise.all([t,r]).then((function(t){var r=t[0],n=t[1],i=["/* constants */","let _EngineFormat = "+JSON.stringify(ti),"let _TranscoderFormat = "+JSON.stringify(ei),"let _BasisFormat = "+JSON.stringify($n),"/* basis_transcoder.js */",r,"/* worker */",ri].join("\n");e.workerSourceURL=URL.createObjectURL(new Blob([i])),e.transcoderBinary=n,e.workerPool.setWorkerCreator((function(){var t=new Worker(e.workerSourceURL),r=e.transcoderBinary.slice(0);return t.postMessage({type:"init",config:e.workerConfig,transcoderBinary:r},[r]),t}))}))}return this.transcoderPending},e.prototype.parse=function(e){return this._createTexture([e])},e.prototype._createTextureFrom=function(e){var t=e.mipmaps,r=e.width,i=e.height,o=e.format,a=e.type,s=e.error,l=e.dfdTransferFn,c=e.dfdFlags;if("error"===a)return Promise.reject(s);var u=new n.CompressedTexture(t,r,i,o,n.UnsignedByteType);return u.minFilter=1===t.length?n.LinearFilter:n.LinearMipmapLinearFilter,u.magFilter=n.LinearFilter,u.generateMipmaps=!1,u.needsUpdate=!0,u.encoding=2===l?n.sRGBEncoding:n.LinearEncoding,u.premultiplyAlpha=!!(1&c),Promise.resolve(u)},e.prototype._createTexture=function(e){var t=this;return this.init().then((function(){return t.workerPool.postMessage({type:"transcode",buffers:e},e)})).then((function(e){return t._createTextureFrom(e.data)}))},e.prototype.dispose=function(){return URL.revokeObjectURL(this.workerSourceURL),this.workerPool.dispose(),this},e}(),Zn=new Jn,$n={ETC1S:0,UASTC_4x4:1},ei={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},ti={RGBAFormat:n.RGBAFormat,RGBA_ASTC_4x4_Format:n.RGBA_ASTC_4x4_Format,RGBA_BPTC_Format:n.RGBA_BPTC_Format,RGBA_ETC2_EAC_Format:n.RGBA_ETC2_EAC_Format,RGBA_PVRTC_4BPPV1_Format:n.RGBA_PVRTC_4BPPV1_Format,RGBA_S3TC_DXT5_Format:n.RGBA_S3TC_DXT5_Format,RGB_ETC1_Format:n.RGB_ETC1_Format,RGB_ETC2_Format:n.RGB_ETC2_Format,RGB_PVRTC_4BPPV1_Format:n.RGB_PVRTC_4BPPV1_Format,RGB_S3TC_DXT1_Format:n.RGB_S3TC_DXT1_Format},ri="\n\n let config;\n let transcoderPending;\n let BasisModule;\n\n const EngineFormat = _EngineFormat; // eslint-disable-line no-undef\n const TranscoderFormat = _TranscoderFormat; // eslint-disable-line no-undef\n const BasisFormat = _BasisFormat; // eslint-disable-line no-undef\n\n self.addEventListener( 'message', function ( e ) {\n\n const message = e.data;\n\n switch ( message.type ) {\n\n case 'init':\n config = message.config;\n init( message.transcoderBinary );\n break;\n\n case 'transcode':\n transcoderPending.then( () => {\n\n try {\n\n const { width, height, hasAlpha, mipmaps, format, dfdTransferFn, dfdFlags } = transcode( message.buffers[ 0 ] );\n\n const buffers = [];\n\n for ( let i = 0; i < mipmaps.length; ++ i ) {\n\n buffers.push( mipmaps[ i ].data.buffer );\n\n }\n\n self.postMessage( { type: 'transcode', id: message.id, width, height, hasAlpha, mipmaps, format, dfdTransferFn, dfdFlags }, buffers );\n\n } catch ( error ) {\n\n console.error( error );\n\n self.postMessage( { type: 'error', id: message.id, error: error.message } );\n\n }\n\n } );\n break;\n\n }\n\n } );\n\n function init( wasmBinary ) {\n\n transcoderPending = new Promise( ( resolve ) => {\n\n BasisModule = { wasmBinary, onRuntimeInitialized: resolve };\n BASIS( BasisModule ); // eslint-disable-line no-undef\n\n } ).then( () => {\n\n BasisModule.initializeBasis();\n\n if ( BasisModule.KTX2File === undefined ) {\n\n console.warn( 'THREE.KTX2Loader: Please update Basis Universal transcoder.' );\n\n }\n\n } );\n\n }\n\n function transcode( buffer ) {\n\n const ktx2File = new BasisModule.KTX2File( new Uint8Array( buffer ) );\n\n function cleanup() {\n\n ktx2File.close();\n ktx2File.delete();\n\n }\n\n if ( ! ktx2File.isValid() ) {\n\n cleanup();\n throw new Error( 'THREE.KTX2Loader:\tInvalid or unsupported .ktx2 file' );\n\n }\n\n const basisFormat = ktx2File.isUASTC() ? BasisFormat.UASTC_4x4 : BasisFormat.ETC1S;\n const width = ktx2File.getWidth();\n const height = ktx2File.getHeight();\n const levels = ktx2File.getLevels();\n const hasAlpha = ktx2File.getHasAlpha();\n const dfdTransferFn = ktx2File.getDFDTransferFunc();\n const dfdFlags = ktx2File.getDFDFlags();\n\n const { transcoderFormat, engineFormat } = getTranscoderFormat( basisFormat, width, height, hasAlpha );\n\n if ( ! width || ! height || ! levels ) {\n\n cleanup();\n throw new Error( 'THREE.KTX2Loader:\tInvalid texture' );\n\n }\n\n if ( ! ktx2File.startTranscoding() ) {\n\n cleanup();\n throw new Error( 'THREE.KTX2Loader: .startTranscoding failed' );\n\n }\n\n const mipmaps = [];\n\n for ( let mip = 0; mip < levels; mip ++ ) {\n\n const levelInfo = ktx2File.getImageLevelInfo( mip, 0, 0 );\n const mipWidth = levelInfo.origWidth;\n const mipHeight = levelInfo.origHeight;\n const dst = new Uint8Array( ktx2File.getImageTranscodedSizeInBytes( mip, 0, 0, transcoderFormat ) );\n\n const status = ktx2File.transcodeImage(\n dst,\n mip,\n 0,\n 0,\n transcoderFormat,\n 0,\n - 1,\n - 1,\n );\n\n if ( ! status ) {\n\n cleanup();\n throw new Error( 'THREE.KTX2Loader: .transcodeImage failed.' );\n\n }\n\n mipmaps.push( { data: dst, width: mipWidth, height: mipHeight } );\n\n }\n\n cleanup();\n\n return { width, height, hasAlpha, mipmaps, format: engineFormat, dfdTransferFn, dfdFlags };\n\n }\n\n //\n\n // Optimal choice of a transcoder target format depends on the Basis format (ETC1S or UASTC),\n // device capabilities, and texture dimensions. The list below ranks the formats separately\n // for ETC1S and UASTC.\n //\n // In some cases, transcoding UASTC to RGBA32 might be preferred for higher quality (at\n // significant memory cost) compared to ETC1/2, BC1/3, and PVRTC. The transcoder currently\n // chooses RGBA32 only as a last resort and does not expose that option to the caller.\n const FORMAT_OPTIONS = [\n {\n if: 'astcSupported',\n basisFormat: [ BasisFormat.UASTC_4x4 ],\n transcoderFormat: [ TranscoderFormat.ASTC_4x4, TranscoderFormat.ASTC_4x4 ],\n engineFormat: [ EngineFormat.RGBA_ASTC_4x4_Format, EngineFormat.RGBA_ASTC_4x4_Format ],\n priorityETC1S: Infinity,\n priorityUASTC: 1,\n needsPowerOfTwo: false,\n },\n {\n if: 'bptcSupported',\n basisFormat: [ BasisFormat.ETC1S, BasisFormat.UASTC_4x4 ],\n transcoderFormat: [ TranscoderFormat.BC7_M5, TranscoderFormat.BC7_M5 ],\n engineFormat: [ EngineFormat.RGBA_BPTC_Format, EngineFormat.RGBA_BPTC_Format ],\n priorityETC1S: 3,\n priorityUASTC: 2,\n needsPowerOfTwo: false,\n },\n {\n if: 'dxtSupported',\n basisFormat: [ BasisFormat.ETC1S, BasisFormat.UASTC_4x4 ],\n transcoderFormat: [ TranscoderFormat.BC1, TranscoderFormat.BC3 ],\n engineFormat: [ EngineFormat.RGB_S3TC_DXT1_Format, EngineFormat.RGBA_S3TC_DXT5_Format ],\n priorityETC1S: 4,\n priorityUASTC: 5,\n needsPowerOfTwo: false,\n },\n {\n if: 'etc2Supported',\n basisFormat: [ BasisFormat.ETC1S, BasisFormat.UASTC_4x4 ],\n transcoderFormat: [ TranscoderFormat.ETC1, TranscoderFormat.ETC2 ],\n engineFormat: [ EngineFormat.RGB_ETC2_Format, EngineFormat.RGBA_ETC2_EAC_Format ],\n priorityETC1S: 1,\n priorityUASTC: 3,\n needsPowerOfTwo: false,\n },\n {\n if: 'etc1Supported',\n basisFormat: [ BasisFormat.ETC1S, BasisFormat.UASTC_4x4 ],\n transcoderFormat: [ TranscoderFormat.ETC1, TranscoderFormat.ETC1 ],\n engineFormat: [ EngineFormat.RGB_ETC1_Format, EngineFormat.RGB_ETC1_Format ],\n priorityETC1S: 2,\n priorityUASTC: 4,\n needsPowerOfTwo: false,\n },\n {\n if: 'pvrtcSupported',\n basisFormat: [ BasisFormat.ETC1S, BasisFormat.UASTC_4x4 ],\n transcoderFormat: [ TranscoderFormat.PVRTC1_4_RGB, TranscoderFormat.PVRTC1_4_RGBA ],\n engineFormat: [ EngineFormat.RGB_PVRTC_4BPPV1_Format, EngineFormat.RGBA_PVRTC_4BPPV1_Format ],\n priorityETC1S: 5,\n priorityUASTC: 6,\n needsPowerOfTwo: true,\n },\n ];\n\n const ETC1S_OPTIONS = FORMAT_OPTIONS.sort( function ( a, b ) {\n\n return a.priorityETC1S - b.priorityETC1S;\n\n } );\n const UASTC_OPTIONS = FORMAT_OPTIONS.sort( function ( a, b ) {\n\n return a.priorityUASTC - b.priorityUASTC;\n\n } );\n\n function getTranscoderFormat( basisFormat, width, height, hasAlpha ) {\n\n let transcoderFormat;\n let engineFormat;\n\n const options = basisFormat === BasisFormat.ETC1S ? ETC1S_OPTIONS : UASTC_OPTIONS;\n\n for ( let i = 0; i < options.length; i ++ ) {\n\n const opt = options[ i ];\n\n if ( ! config[ opt.if ] ) continue;\n if ( ! opt.basisFormat.includes( basisFormat ) ) continue;\n if ( opt.needsPowerOfTwo && ! ( isPowerOfTwo( width ) && isPowerOfTwo( height ) ) ) continue;\n\n transcoderFormat = opt.transcoderFormat[ hasAlpha ? 1 : 0 ];\n engineFormat = opt.engineFormat[ hasAlpha ? 1 : 0 ];\n\n return { transcoderFormat, engineFormat };\n\n }\n\n console.warn( 'KTX2: No suitable compressed texture format found. Decoding to RGBA32.' );\n\n transcoderFormat = TranscoderFormat.RGBA32;\n engineFormat = EngineFormat.RGBAFormat;\n\n return { transcoderFormat, engineFormat };\n\n }\n\n function isPowerOfTwo( value ) {\n\n if ( value <= 2 ) return true;\n\n return ( value & ( value - 1 ) ) === 0 && value !== 0;\n\n }\n",ni="KHR_texture_basisu",ii=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return ne(t,e),t.prototype.loadTexture=function(e,t){var r=t.json.textures[e];if(!r.extensions||!r.extensions[ni])return null;var n=r.extensions[ni],i=t.json.images[n.source],o=null;if(i.bufferView)o=t.loadBufferView(i.bufferView).then((function(e){return Zn.parse(e)}));else{if(!i.uri)throw new Error("glTF: Invalid image defs.");o=t.options.fetcher.ajax(t.resolveResouce(i.uri),{responseType:"arraybuffer"}).then((function(e){return Zn.parse(e.body)}))}return o},t}(jn),oi="KHR_texture_transform",ai=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return ne(t,e),t.prototype.extendTexture=function(e,t,r){var n=void 0!==t.extensions?t.extensions[oi]:void 0;return n?(void 0!==n.texCoord&&console.warn('glTF: Custom UV sets in "'+oi+'" extension not yet supported.'),void 0===n.offset&&void 0===n.rotation&&void 0===n.scale||((e=e.clone()).needsUpdate=!0,void 0!==n.offset&&e.offset.fromArray(n.offset),void 0!==n.rotation&&(e.rotation=n.rotation),void 0!==n.scale&&e.repeat.fromArray(n.scale)),e):null},t}(jn),si=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return ne(t,e),t}(jn),li=function(){var 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]),t=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("object"!=typeof WebAssembly)return{supported:!1};var r,n=WebAssembly.validate(e)?"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":"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",i=WebAssembly.instantiate(o(n),{}).then((function(e){(r=e.instance).exports.__wasm_call_ctors()}));function o(e){for(var r=new Uint8Array(e.length),n=0;n<e.length;++n){var i=e.charCodeAt(n);r[n]=i>96?i-97:i>64?i-39:i+4}var o=0;for(n=0;n<e.length;++n)r[o++]=r[n]<60?t[r[n]]:64*(r[n]-60)+r[++n];return r.buffer.slice(0,o)}function a(e,t,n,i,o,a){var s=r.exports.sbrk,l=n+3&-4,c=s(l*i),u=s(o.length),d=new Uint8Array(r.exports.memory.buffer);d.set(o,u);var p=e(c,n,i,u,o.length);if(0==p&&a&&a(c,l,i),t.set(d.subarray(c,c+n*i)),s(c-s(0)),0!=p)throw new Error("Malformed buffer data: "+p)}var s={NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},l={ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"},c=[],u=0;function d(e){var t={object:new Worker(e),pending:0,requests:{}};return t.object.onmessage=function(e){var r=e.data;t.pending-=r.count,t.requests[r.id][r.action](r.value),delete t.requests[r.id]},t}function p(e){for(var t="var instance; var ready = WebAssembly.instantiate(new Uint8Array(["+new Uint8Array(o(n))+"]), {}).then(function(result) { instance = result.instance; instance.exports.__wasm_call_ctors(); });self.onmessage = workerProcess;"+a.toString()+h.toString(),r=new Blob([t],{type:"text/javascript"}),i=URL.createObjectURL(r),s=0;s<e;++s)c[s]=d(i);URL.revokeObjectURL(i)}function h(e){i.then((function(){var t=e.data;try{var n=new Uint8Array(t.count*t.size);a(r.exports[t.mode],n,t.count,t.size,t.source,r.exports[t.filter]),self.postMessage({id:t.id,count:t.count,action:"resolve",value:n},[n.buffer])}catch(e){self.postMessage({id:t.id,count:t.count,action:"reject",value:e})}}))}return{ready:i,supported:!0,useWorkers:function(e){p(e)},decodeVertexBuffer:function(e,t,n,i,o){a(r.exports.meshopt_decodeVertexBuffer,e,t,n,i,r.exports[s[o]])},decodeIndexBuffer:function(e,t,n,i){a(r.exports.meshopt_decodeIndexBuffer,e,t,n,i)},decodeIndexSequence:function(e,t,n,i){a(r.exports.meshopt_decodeIndexSequence,e,t,n,i)},decodeGltfBuffer:function(e,t,n,i,o,c){a(r.exports[l[o]],e,t,n,i,r.exports[s[c]])},decodeGltfBufferAsync:function(e,t,n,o,d){return c.length>0?function(e,t,r,n,i){for(var o=c[0],a=1;a<c.length;++a)c[a].pending<o.pending&&(o=c[a]);return new Promise((function(a,s){var l=new Uint8Array(r),c=u++;o.pending+=e,o.requests[c]={resolve:a,reject:s},o.object.postMessage({id:c,count:e,size:t,source:l,mode:n,filter:i},[l.buffer])}))}(e,t,n,l[o],s[d]):i.then((function(){var i=new Uint8Array(e*t);return a(r.exports[l[o]],i,e,t,n,r.exports[s[d]]),i}))}}}(),ci="EXT_meshopt_compression",ui=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return ne(t,e),t.prototype.loadBufferView=function(e,t){var r=t.json,n=r.bufferViews[e];if(n.extensions&&n.extensions[ci]){var i=n.extensions[ci],o=t.loadBuffer(i.buffer);if(!li.supported){if(r.extensionsRequired&&r.extensionsRequired.indexOf(ci)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return Promise.all([o,li.ready]).then((function(e){var t=e[0],r=i.byteOffset||0,n=i.byteLength||0,o=i.count,a=i.byteStride,s=new ArrayBuffer(o*a),l=new Uint8Array(t,r,n);return li.decodeGltfBuffer(new Uint8Array(s),o,a,l,i.mode,i.filter),s}))}return null},t}(jn),di="EXT_texture_webp",pi=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.supportsWep=!1,t}return ne(t,e),t.prototype.prepare=function(e){var t=this;return We().then((function(e){t.supportsWep=e.webp}))},t.prototype.loadTexture=function(e,t){var r=t.json.textures[e];if(!r.extensions||!r.extensions[di])return null;if(!this.supportsWep)return null;var i=r.extensions[di];return t.loadImage(i.source).then((function(e){var i=new n.Texture(e);i.needsUpdate=!0,i.flipY=!1,r.name&&(i.name=r.name);var o=(t.json.samplers||{})[r.sampler]||{};return i.magFilter=Tn[o.magFilter]||n.LinearFilter,i.minFilter=Tn[o.minFilter]||n.LinearMipmapLinearFilter,i.wrapS=Bn[o.wrapS]||n.RepeatWrapping,i.wrapT=Bn[o.wrapT]||n.RepeatWrapping,i}))},t}(jn),hi="CESIUM_RTC",fi=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return ne(t,e),t.prototype.emitResult=function(e,t){if(t.json.extensions[hi]&&t.json.extensions[hi].center){var r=t.json.extensions[hi].center;e.CESIUM_RTC={center:(new n.Vector3).fromArray(r)}}},t}(jn),vi=function(){return arguments[0].split("").map((function(e){return e.charCodeAt(0)>126?e:String.fromCharCode((e.charCodeAt(0)+113)%126)})).join("")}("{vs|z-sy|n-|}npv\bH{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-u|{Sy||V{qrH0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6--{vs|z-rp@-p|{n{P|y|H0r{qvs0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6n\bv{t-rp@-[|znyH0r{qvs0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6--n\bv{t-sy|n-Sy||H0ryr--{vs|z-sy|n-sy||H0r{qvsn\bv{t-rpA-|yq]|vv|{Hn\bv{t-rp@-cvr]|vv|{Hn\bv{t-rp@-P|y|Hn\bv{t-sy|n-Y|tQr}uHn\bv{t-sy|n-]|v{`v\trHp-Pyv}}r-\n--znA-znvV{rrH--sy|n-sy||V{qrH\fH0vs-[bZlPYV]]R_`-K-=--{vs|z-Pyv}}r-pyv}}rh[bZlPYV]]R_`jH0r{qvs|vq-znv{56-\n--sy|n-ory|{tv{tSY||-J-=;=H--0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6----ory|{tv{tSY||-J-Sy||H--0ryr----ory|{tv{tSY||-J-sy||H--0r{qvs--<<前置裁切计算--0vs-[bZlPYV]]R_`-K-=----o||y-pyv}}rqH----rpA-pyv}}r]|vv|{H----0}ntzn-{|yyly||}ln----s|-5-v{-v-J-=H-v-I-[bZlPYV]]R_`H-v-88-6-\n------pyv}}r]|vv|{-J-pyv}}rh-v-j;znvV{rr-7-|yq]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr-I-=;=-\v\v-no5ory|{tv{tSY||-:-pyv}}rh-v-j;sy||V{qr6-I->;=6H------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;-K-:=;B-33-pyv}}r]|vv|{;-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|{;\t-K-:=;B-33-pyv}}r]|vv|{;\t-I-=;BH------vs-5pyv}}rq6-\n--------qvpnqH------\f----\f----0}ntzn-{|yyly||}lr{q--0r{qvs---<<楼层选择计算--sy|n-sy||\\}npv\b-J->;=H--vs-5u|{Sy||V{qr-KJ-=;=-33-no5ory|{tv{tSY||-:-u|{Sy||V{qr6-KJ->;=6-\n----sy||\\}npv\b-J-=;>H--\f--rp@-sv{nyP|y|-J-P|y|H--0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6----0vs-qrsv{rq5b`Rl]\\V[alONPXlUVQQR[6------rp@-pnzrnQvrpv|{-J-{|znyv\tr5pnzrn]|vv|{-:-|yq]|vv|{;\b\t6H------vs-5q|5pnzrnQvrpv|{9-[|zny6-I-=;=6-\n--------qvpnqH------\f----0ryvs-qrsv{rq5b`Rl]\\V[alONPXlQN_X6------rp@-pnzrnQvrpv|{-J-{|znyv\tr5pnzrn]|vv|{-:-|yq]|vv|{;\b\t6H------vs-5q|5pnzrnQvrpv|{9-[|zny6-I-=;=6-\n--------sv{nyP|y|-J-sv{nyP|y|-7-=;DBH------\f----0r{qvs--0r{qvs--0vs-qrsv{rq5b`Rl]\\V[al`UN]RlPV_PYR6----sy|n--J-?;=-7-tyl]|v{P||q;-:->;=H----sy|n--J-?;=-7-tyl]|v{P||q;\b-:->;=H----sy|n-pp-J-7-8-7H----vs-5]|v{`v\tr-K-E;=-33-pp-K->;=6-\n------qvpnqH----\f--0r{qvs--0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6----tylSntP|y|-J-rpA5p|{n{P|y|;9-p|{n{P|y|;t9-p|{n{P|y|;o9->;=6H--0ryr----tylSntP|y|-J-rpA5sv{nyP|y|9-z|qryNy}un-7-|}npv\b-7-sy||\\}npv\b6H--0r{qvs--0vs-qrsv{rq5b`RlRQY6----tylSntP|y|;n-J-Y|tQr}uH--0r{qvs--0vs-qrsv{rq5b`RlU^ldRVTUa6----sy|n-qvn{pr-J-?;=-7-yr{tu5tyl]|v{P||q;\b-:-=;B6H----sy|n-rvtu-J-zn5=;=9->;=-:-qvn{pr6H----rvtu-J-}|5rvtu9->;B6H----tylSntP|y|;n-J-rvtuH----tylSntP|y|;\b\t-J-tylSntP|y|;\b\t-7-rvtuH--0r{qvs\f"),mi=function(){return arguments[0].split("").map((function(e){return e.charCodeAt(0)>126?e:String.fromCharCode((e.charCodeAt(0)+113)%126)})).join("")}("nvor-rp@-p|y|H0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6--nvor-sy|n-sy||H--n\bv{t-sy|n-Sy||H0r{qvs{vs|z-sy|n-prr{UrvtuH{vs|z-sy|n-}vry_nv|H{vs|z-sy|n-}|v{`pnyrH{vs|z-sy|n-}|v{Zv{]vryH{vs|z-sy|n-}|v{Zn]vryH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-tr|zrvpR|H0vs-qrsv{rq5b`Rl]\\V[alP\\Y\\_lNYaVabQR6--{vs|z-nz}yr?Q-tnqvr{arrH0r{qvsn\bv{t-rpA-|yq]|vv|{Hn\bv{t-rp@-P|y|H0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6--n\bv{t-rp@-[|znyH0r{qvs0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvsn\bv{t-sy|n-]|v{`v\trHn\bv{t-rp@-cvr]|vv|{H0qrsv{r-]V-@;>A>BF?CB@BEFDF@o||y-v]r}rpvrZnv5-znA-z-6-\n--r{-zh-?-jh-@-j-JJ-:>;=H\frp@-_TOa|Yv{rn5-rp@-nyr-6-\n--r{-rp@5-zv5-}|5-nyr;to-7-=;FADECD?FEC-8-rp@5-=;=B?>@?D=>A-69-rp@5-?;A-6-69-nyr;to-7-=;=DD@FF@E=E9-rp@5-yraun{R\0ny5-nyr;to9-rp@5-=;=A=AB-6-6-6-66H\frp@-Yv{rna|_TO5-rp@-nyr-6-\nr{-rp@5-zv5-}|5-nyr;to9-rp@5-=;A>CCC-6-6-7->;=BB-:-rp@5-=;=BB-69-nyr;to-7->?;F?9-rp@5-yraun{R\0ny5-nyr;to9-rp@5-=;==@>@=E-6-6-6-66H\frp@-trP|y|O\bUrvtu5nz}yr?Q-tnqvr{arr9-rpA-|yq]|vv|{6-\n--rp@-p|y|-J-rr?Q5tnqvr{arr9-rp?5|yq]|vv|{;\b-<->=;=9-=;B66;toH--r{-p|y|H\f|vq-znv{56-\n--rpA-n{s|zrq-J-rpA5}|vv|{9->;=6H--rpA-z]|vv|{-J-z|qrycvrZnv-7-n{s|zrqH--|yq]|vv|{-J-z|qryZnv-7-n{s|zrqH--0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6----Sy||-J-sy||H--0r{qvs-----cvr]|vv|{-J-:z]|vv|{;\b\tH--tyl]|vv|{-J-}|wrpv|{Znv-7-z]|vv|{H--<<传递nvor的p|y|到s里使用--<<动态调整}|v{`v\tr--sy|n-rny]|v{`v\tr-J-}|v{`pnyr-7-}vry_nv|H--0vs-qrsv{rq5b`Rl]\\V[al`VgRlTR\\ZRa_VP6----o||y-v]r}rpvr-J-v]r}rpvrZnv5}|wrpv|{Znv6H----rny]|v{`v\tr-7J-tr|zrvpR|H----vs-5v]r}rpvr6-\n------sy|n-urvtu-J->;=-<-}|wrpv|{Znvh>jh>j-7-:z]|vv|{;\t-7-?;=H------rny]|v{`v\tr-J-prr{Urvtu-7-rny]|v{`v\tr-<-urvtuH----\f-ryr-\n------sy|n-urvtu-J->;=-<-}|wrpv|{Znvh>jh>j-7-?;=H------rny]|v{`v\tr-J-prr{Urvtu-7-rny]|v{`v\tr-<-urvtuH----\f--0ryvs-qrsv{rq5b`Rl]\\V[al`VgRlNaaR[bNaV\\[6----o||y-v]r}rpvr-J-v]r}rpvrZnv5}|wrpv|{Znv6H----vs-5v]r}rpvr6-\n------sy|n-urvtu-J->;=-<-}|wrpv|{Znvh>jh>j-7-:z]|vv|{;\t-7-?;=H------rny]|v{`v\tr-J-prr{Urvtu-7-rny]|v{`v\tr-<-urvtuH----\f-ryr-\n------sy|n-urvtu-J->;=-<-}|wrpv|{Znvh>jh>j-7-?;=H------rny]|v{`v\tr-J-prr{Urvtu-7-rny]|v{`v\tr-<-urvtuH----\f--0r{qvs--]|v{`v\tr-J-pynz}5rny]|v{`v\tr9-}|v{Zv{]vry-7-}vry_nv|9-}|v{Zn]vry-7-}vry_nv|6H--tyl]|v{`v\tr-J-]|v{`v\trH--0vs-qrsv{rq5b`Rl]\\V[alP\\Y\\_lNYaVabQR6----P|y|-J-trP|y|O\bUrvtu5tnqvr{arr9-|yq]|vv|{6H--0ryr----P|y|-J-p|y|H--0r{qvs--0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6----[|zny-J-{|znyv\tr5zn@5z|qryZnv6-7-{|zny6H--0r{qvs--0vs-qrsv{rq5b`RlRQY6----Y|tQr}u-J-y|t?5:z]|vv|{;\t6H--0r{qvs--0vs-qrsv{rq5b`RlU^lQR]aU6----<<-sy|n-}|wSnp|-J-:=;B-7-prr{Urvtu-<-5n{5s|-<-?;=6-7-z]|vv|{;\t6H----<<-sy|n-_nqv-J-rny]|v{`v\tr-<-}|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|{;\b\t-J-z]|vv|{;\b\t-7-nqwH----tyl]|vv|{-J-}|wrpv|{Znv-7-z]|vv|{H0r{qvs\f"),Ai=new n.Vector4,gi=Object.assign({pointScale:new n.Uniform(1),pointMinPixel:new n.Uniform(1),pointMaxPixel:new n.Uniform(1),opacity:new n.Uniform(1),gradientTexture:new n.Uniform(null),modelAlpha:new n.Uniform(0),clippers:new n.Uniform([]),shownFloorIndex:new n.Uniform(-1),constantColor:new n.Uniform(null),geometricError:new n.Uniform(0),pixelRatio:new n.Uniform(1),screenHeight:new n.Uniform(512),floor:new n.Uniform(0)},n.UniformsUtils.clone(n.UniformsLib.common)),yi=function(e){function t(t){void 0===t&&(t={});var r,i,o,a,s,l,c,u,d,p,h,f,v,m,A,g,y,b,x,w,E,M=this;return M=e.call(this,{vertexShader:mi,fragmentShader:vi,uniforms:n.UniformsUtils.clone(gi),defines:{USE_CONSTANT_COLOR:!1,USE_EDL:!1,USE_HQ_WEIGHT:!1,USE_HQ_DEPTH:!1,NUM_CLIPPING_BOX:!1,USE_CLIPFLOOR:!1,USE_VERTEX_FLOOR:!1,USE_MAP:!0,USE_UV:!0,USE_LUMINANCE:!1,USE_PANO_OPACITY:!1,USE_BLACK_TRANSITION:!1,USE_PANO_VIDEO:!1,USE_POINT_NORMAL:!1,USE_POINT_SHAPE_CIRCLE:!1,USE_POINT_SIZE_ATTENUATION:!1,USE_POINT_SIZE_GEOMETRIC:!1,USE_POINT_BACK_HIDDEN:!1,USE_POINT_BACK_DARK:!1}})||this,Object.defineProperties(M,{constantColor:{get:function(){return this.uniforms.constantColor.value},set:function(e){this.uniforms.constantColor.value=e;var t=null!==e;this.defines.USE_CONSTANT_COLOR!==t&&(this.defines.USE_CONSTANT_COLOR=t,this.needsUpdate=!0)}},opacity:{get:function(){return this.uniforms.opacity.value},set:function(e){this.uniforms.opacity.value=e}},modelAlpha:{get:function(){return this.uniforms.modelAlpha.value},set:function(e){this.uniforms.modelAlpha.value=e}},shownFloorIndex:{get:function(){return this.uniforms.shownFloorIndex.value},set:function(e){this.uniforms.shownFloorIndex.value=e}},clippers:{get:function(){return E},set:function(e){E!==e&&(E=e,this.uniforms.clippers.value=(E||[]).map((function(e){var t="number"==typeof e.floorIndex?e.floorIndex:-1;return{matrixInverse:(new n.Matrix4).getInverse(e.clippingBoxMatrix),floorIndex:t}})),this.needsUpdate=!0)}},pointColor:{get:function(){return!0===this.defines.USE_POINT_COLOR_ALTITUDE?"ALTITUDE":"RGB"},set:function(e){var t="ALTITUDE"===e;this.defines.USE_POINT_COLOR_ALTITUDE!==t&&(this.defines.USE_POINT_COLOR_ALTITUDE=t,this.needsUpdate=!0)}},pointSize:{get:function(){return!0===this.defines.USE_POINT_SIZE_GEOMETRIC?"GEOMETRIC":!0===this.defines.USE_POINT_SIZE_ATTENUATION?"ATTENUATION":"FIXED"},set:function(e){var t="ATTENUATION"===e,r="GEOMETRIC"===e;this.defines.USE_POINT_SIZE_GEOMETRIC!==r&&(this.defines.USE_POINT_SIZE_GEOMETRIC=r,this.needsUpdate=!0),this.defines.USE_POINT_SIZE_ATTENUATION!==t&&(this.defines.USE_POINT_SIZE_ATTENUATION=t,this.needsUpdate=!0)}},pointShape:{get:function(){return!0===this.defines.USE_POINT_SHAPE_CIRCLE?"CIRCLE":"SQUARE"},set:function(e){var t="CIRCLE"===e;this.defines.USE_POINT_SHAPE_CIRCLE!==t&&(this.defines.USE_POINT_SHAPE_CIRCLE=t,this.needsUpdate=!0)}},pointScale:{get:function(){return this.uniforms.pointScale.value},set:function(e){this.uniforms.pointScale.value=e}},pointBack:{get:function(){return!0===this.defines.USE_POINT_BACK_HIDDEN?"HIDDEN":!0===this.defines.USE_POINT_BACK_DARK?"DARK":"VISIBLE"},set:function(e){var t="HIDDEN"===e,r="DARK"===e;this.defines.USE_POINT_BACK_HIDDEN!==t&&(this.defines.USE_POINT_BACK_HIDDEN=t,this.needsUpdate=!0),this.defines.USE_POINT_BACK_DARK!==r&&(this.defines.USE_POINT_BACK_DARK=r,this.needsUpdate=!0)}},pointMinPixel:{get:function(){return this.uniforms.pointMinPixel.value},set:function(e){this.uniforms.pointMinPixel.value=e}},pointMaxPixel:{get:function(){return this.uniforms.pointMaxPixel.value},set:function(e){this.uniforms.pointMaxPixel.value=e}},useEDL:{get:function(){return this.defines.USE_EDL},set:function(e){e!==this.defines.USE_EDL&&(this.defines.USE_EDL=e,this.needsUpdate=!0)}},useHQWeight:{get:function(){return this.defines.USE_HQ_WEIGHT},set:function(e){e!==this.defines.USE_HQ_WEIGHT&&(this.defines.USE_HQ_WEIGHT=e,this.needsUpdate=!0)}},useHQDepth:{get:function(){return this.defines.USE_HQ_DEPTH},set:function(e){e!==this.defines.USE_HQ_DEPTH&&(this.defines.USE_HQ_DEPTH=e,this.needsUpdate=!0)}},gradientTexture:{get:function(){return this.uniforms.gradientTexture.value},set:function(e){this.uniforms.gradientTexture.value=e}},floor:{get:function(){return this.uniforms.floor.value},set:function(e){this.uniforms.floor.value=e}}}),M.pano0=null!==(r=t.pano0)&&void 0!==r?r:it.pano0,M.pano1=null!==(i=t.pano1)&&void 0!==i?i:it.pano1,M.modelAlpha=null!==(o=t.modelAlpha)&&void 0!==o?o:it.modelAlpha,M.progress=null!==(a=t.progress)&&void 0!==a?a:it.progress,M.useBlackTransition=null!==(s=t.useBlackTransition)&&void 0!==s?s:it.useBlackTransition,M.constantColor=null!==(l=t.constantColor)&&void 0!==l?l:it.constantColor,M.opacity=null!==(c=t.opacity)&&void 0!==c?c:it.opacity,M.shownFloorIndex=null!==(u=t.shownFloorIndex)&&void 0!==u?u:it.shownFloorIndex,M.clippers=null!==(d=t.clippers)&&void 0!==d?d:it.clippers,M.useEDL=null!==(p=t.useEDL)&&void 0!==p?p:it.useEDL,M.useHQWeight=null!==(h=t.useHQWeight)&&void 0!==h?h:it.useHQWeight,M.useHQDepth=null!==(f=t.useHQDepth)&&void 0!==f?f:it.useHQDepth,M.pointColor=null!==(v=t.pointColor)&&void 0!==v?v:it.pointColor,M.pointShape=null!==(m=t.pointShape)&&void 0!==m?m:it.pointShape,M.pointSize=null!==(A=t.pointSize)&&void 0!==A?A:it.pointSize,M.pointScale=null!==(g=t.pointScale)&&void 0!==g?g:it.pointScale,M.pointBack=null!==(y=t.pointBack)&&void 0!==y?y:it.pointBack,M.pointMinPixel=null!==(b=t.pointMinPixel)&&void 0!==b?b:it.pointMinPixel,M.pointMaxPixel=null!==(x=t.pointMaxPixel)&&void 0!==x?x:it.pointMaxPixel,M.gradientTexture=null!==(w=t.gradientTexture)&&void 0!==w?w:it.gradientTexture,M.floor=0,M.transparent=!1,M}return ne(t,e),t.prototype.onBeforeCompile=function(e,t){var r,n,i=String(null!==(n=null===(r=this.clippers)||void 0===r?void 0:r.length)&&void 0!==n?n:0);e.vertexShader=e.vertexShader.replace(/NUM_CLIPPERS/g,i),e.fragmentShader=e.fragmentShader.replace(/NUM_CLIPPERS/g,i)},t.prototype.update=function(e,t){var r=t instanceof $t?t.pixelRatio:e.getPixelRatio(),i=t instanceof $t?t.screenHeight:e.getViewport(Ai).z;this.uniforms.pixelRatio.value=r,this.uniforms.screenHeight.value=i,this.transparent=this.shownFloorIndex>-1||this.opacity<1||this.modelAlpha<1,this.useEDL&&(this.transparent=!1),this.useHQDepth&&(this.depthTest=!0,this.depthWrite=!0),this.useHQWeight?(this.depthWrite=!1,this.blending=n.CustomBlending,this.blendSrc=n.SrcAlphaFactor,this.blendSrcAlpha=n.SrcAlphaFactor,this.blendDst=n.OneFactor,this.blendDstAlpha=n.OneFactor):(this.depthWrite=!0,this.transparent=this.shownFloorIndex>-1||this.opacity<1||this.modelAlpha<1,this.blendDst=n.OneMinusSrcAlphaFactor,this.blendEquation=n.AddEquation,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.blending=n.NormalBlending)},t.prototype.syncModel=function(e){var t="".concat(e.id,":").concat(e.materialVersion);t!==this.syncModelVersion&&(Object.assign(this,e.getMaterial()),this.syncModelVersion=t)},t}(n.ShaderMaterial),bi=new yi;bi.dispose=function(){};var xi=new yi;xi.defines.USE_POINT_NORMAL=!0,xi.dispose=function(){};var wi=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return ne(t,e),t.prototype.loadMesh=function(e,t){var r=this,i=t.json.meshes[e],o=i.primitives,a=Promise.all(o.map((function(e){return t.loadGeometry(e)}))),s=Promise.all(o.map((function(e){return e.mode,r.loadPBMMaterial(e,t)}))),l=Promise.all([a,s]).then((function(r){for(var a=r[0],s=r[1],l=[],c=0;c<o.length;c++){var u=o[c],d=a[c],p=s[c];void 0===d.attributes.normal&&(p.flatShading=!0),void 0===d.attributes.tangent&&p.normalScale&&(p.normalScale.y*=-1);var h=u.mode||Cn,f=void 0;if(h===Cn||h===Sn||h===In)h===Sn?d=t.toGeometryTrianglesDrawMode(d,n.TriangleStripDrawMode):h===In&&(d=t.toGeometryTrianglesDrawMode(d,n.TriangleFanDrawMode)),(d=d.clone()).clearGroups(),d.addGroup(0,d.index?d.index.count:d.attributes.position.count,0),d.attributes.normal||d.computeVertexNormals(),f=new tt(d,[p]);else{if(h!==xn)throw new Error("glTF: Primitive mode unsupported: "+h);f=new st(d,p)}f.name=t.createUniqueName(i.name||"mesh_"+e),l.push(f)}if(1===l.length)return l[0];for(var v=new n.Group,m=0,A=l;m<A.length;m++){f=A[m];v.add(f)}return v}));return l},t.prototype.loadPBMMaterial=function(e,t){var r=e.mode,n=null;if(r===Cn||r===Sn||r===In)n=this.loadPBMMeshMaterial(e,t);else{if(r!==xn)throw new Error("glTF: Primitive mode unsupported: "+r);n=this.loadPBMPointCloudMaterial(e,t)}return n},t.prototype.loadPBMPointCloudMaterial=function(e,t){return Object.keys(e.attributes).filter((function(e){return"normal"===kn[e]})).length>0?Promise.resolve(xi):Promise.resolve(bi)},t.prototype.loadPBMMeshMaterial=function(e,t){var r=[],i=new Ht;if(i.uniforms.diffuse.value=new n.Color(1,1,1),i.uniforms.exposure.value=3.3,i.defines.USE_MAP=!1,Object.keys(e.attributes).filter((function(e){return"color"===kn[e]})).length>0&&(i.vertexColors=!0),0===Object.keys(e.attributes).filter((function(e){return"tangent"===kn[e]})).length&&(i.normalScale&&(i.normalScale.y*=-1),i.clearcoatNormalScale&&(i.clearcoatNormalScale.y*=-1)),void 0!==e.material){var o=t.json.materials[e.material];o.name&&(i.name=o.name);var a=o.pbrMetallicRoughness||{};if(Array.isArray(a.baseColorFactor)){var s=a.baseColorFactor;i.uniforms.diffuse.value.fromArray(s)}if(void 0!==a.baseColorTexture&&r.push(t.createMaterialTexture(a.baseColorTexture).then((function(e){i.uniforms.map.value=e,i.defines.USE_MAP=!0}))),!0===o.doubleSided&&(i.side=n.DoubleSide),void 0!==o.normalTexture&&(r.push(t.createMaterialTexture(o.normalTexture).then((function(e){i.uniforms.normalMap.value=e}))),i.uniforms.normalScale.value=new n.Vector2(1,1),void 0!==o.normalTexture.scale)){var l=o.normalTexture.scale;i.uniforms.normalScale.value.set(l,l)}}return Promise.all(r).then((function(){return i}))},t}(jn),Ei={KHR_binary_glTF:Un,KHR_draco_mesh_compression:Yn,KHR_texture_basisu:ii,KHR_texture_transform:ai,KHR_mesh_quantization:si,EXT_meshopt_compression:ui,EXT_texture_webp:pi,CESIUM_RTC:fi,PBM_mesh:wi};function Mi(e,t){var r,n,i,o,a={};if(t.addonExtensions)for(var s=0,l=t.addonExtensions;s<l.length;s++){var c=l[s];a[c]=new Ei[c]}if("string"==typeof e)o=e;else if(Ei.KHR_binary_glTF.getMagic(e)===Ei.KHR_binary_glTF.HEADER_MAGIC){var u=new Ei.KHR_binary_glTF;try{u.loadGlbBinary(e)}catch(e){return Promise.reject(e)}a.KHR_binary_glTF=u,o=u.content}else o=bn(new Uint8Array(e));var d=JSON.parse(o);if(void 0===d.asset||Number(d.asset.version[0])<2)return Promise.reject(new Error("glTF: Unsupported asset. glTF versions >=2.0 are supported."));if(d.extensionsUsed)for(var p=d.extensionsRequired||[],h=0;h<d.extensionsUsed.length;h++){var f=d.extensionsUsed[h];a[f]||(Ei[f]?a[f]=new Ei[f]:p.indexOf(f)>=0&&console.warn('glTF: Unknown extension "'+f+'".'))}return new Vn(d,a,{copyUV2:null===(r=t.copyUV2)||void 0===r||r,resourcePath:null!==(n=t.resourcePath)&&void 0!==n?n:"",search:null!==(i=t.search)&&void 0!==i?i:"",fetcher:t.fetcher}).parse()}var Ci=(new n.Matrix4).fromArray([1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1]);function Si(e,t){var r={uri:e,gltfUpAxis:t.upAxis};return Promise.resolve().then((function(){return t.fetcher.ajax(e,{responseType:"arraybuffer"}).then((function(e){return e.body}))})).then((function(e){return Promise.resolve(0).then((function(t){return ln(r,e,t)})).then((function(t){return gn(r,e,t)})).then((function(t){return yn(r,e,t)}))})).then((function(){var i;return Mi(r.gltfArrayBuffer,{copyUV2:!1,addonExtensions:["PBM_mesh"],resourcePath:e.slice(0,e.lastIndexOf("/")+1),search:null!==(i=e.split("?")[1])&&void 0!==i?i:"",fetcher:t.fetcher}).then((function(e){var i=new n.Matrix4;"Z"!==t.upAxis&&i.premultiply(Ci);var o=(new n.Matrix4).setPosition(r.rtcCenter);if(i.premultiply(o),e.CESIUM_RTC){var a=(new n.Matrix4).setPosition(e.CESIUM_RTC.center);i.premultiply(a)}var s=e.scene;return s.applyMatrix4(i),{type:"b3dm",uri:r.uri,byteLength:r.byteLength,object:s,dispose:function(){return e.dispose()}}}))}))}var Ii=new n.Vector3,Pi=new n.Vector3,Ti=new n.Vector3,Bi=new n.Vector3;function Ri(e,t,r){var n=new fn(e.featureTableJson,e.featureTableBinary);return Promise.resolve().then((function(){var e=n.getExtension("3DTILES_draco_point_compression");return e?function(e,t){return se(this,void 0,void 0,(function(){var r,n,i,o,a,s;return le(this,(function(l){if(r=e.properties||{},n=e.byteOffset,i=e.byteLength,!r||!Number.isFinite(n)||!i)throw new Error("Draco properties, byteOffset, and byteLength must be defined");return o=t.buffer.slice(n,n+i),a=e.properties,s={POSITION:"Float32Array",NORMAL:"Float32Array",RGB:"Uint8Array",RGBA:"Uint8Array"},[2,Gn.decodeGeometry(o.buffer,{attributeIDs:a,attributeTypes:s,useUniqueIDs:!0}).then((function(e){var t=e.getAttribute("POSITION"),r=e.getAttribute("RGB")||e.getAttribute("RGBA"),n=e.getAttribute("NORMAL");return{position:t?ki(an.FLOAT,t.array,t.itemSize):null,color:r?ki(an.UNSIGNED_BYTE,r.array,r.itemSize):null,normal:n?ki(an.FLOAT,n.array,n.itemSize):null}}))]}))}))}(e,n):{position:Oi(n),color:Fi(n),normal:Qi(n)}})).then((function(t){return e.attributes=t,r}))}function ki(e,t,r){return{type:e,array:t,size:r}}function Oi(e){if(e.hasProperty("POSITION")){var t=e.getPropertyArray("POSITION",an.FLOAT,3);return ki(an.FLOAT,t,3)}if(e.hasProperty("POSITION_QUANTIZED")){var r=e.getPropertyArray("POSITION_QUANTIZED",an.UNSIGNED_SHORT,3),n=e.getGlobalProperty("QUANTIZED_VOLUME_SCALE",an.FLOAT,3),i=e.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",an.FLOAT,3);if(!n||!i)throw new Error("QUANTIZED_VOLUME_SCALE or QUANTIZED_VOLUME_OFFSET never found.");var o=new Float32Array(r.length),a=r.length/3;Pi.fromArray(n),Ti.fromArray(i);for(var s=0;s<a;s++)Ii.fromArray(r,3*s).divideScalar(65535).multiply(Pi).add(Ti).toArray(o,3*s);return ki(an.FLOAT,o,3)}return null}function Fi(e){if(e.hasProperty("RGBA")){var t=e.getPropertyArray("RGBA",an.UNSIGNED_BYTE,4);return ki(an.UNSIGNED_BYTE,t,4)}if(e.hasProperty("RGB")){t=e.getPropertyArray("RGB",an.UNSIGNED_BYTE,3);return ki(an.UNSIGNED_BYTE,t,3)}if(e.hasProperty("RGB565")){for(var r=(t=e.getPropertyArray("RGB565",an.UNSIGNED_SHORT,1)).length,n=new Uint8Array(3*r),i=0;i<r;i++){var o=Di(t[i]);n[3*i]=o[0],n[3*i+1]=o[1],n[3*i+2]=o[2]}return ki(an.UNSIGNED_BYTE,n,3)}return null}function Di(e,t){void 0===t&&(t=[0,0,0]);var r=e>>11&31,n=e>>5&63,i=31&e;return t[0]=r<<3,t[1]=n<<2,t[2]=i<<3,t}function Qi(e){if(e.hasProperty("NORMAL")){var t=e.getPropertyArray("NORMAL",an.FLOAT,3);return ki(an.FLOAT,t,3)}if(e.hasProperty("NORMAL_OCT16P")){for(var r=(t=e.getPropertyArray("NORMAL_OCT16P",an.UNSIGNED_BYTE,2)).length/2,n=new Float32Array(3*r),i=0;i<r;i++)Li(t[2*i],t[2*i+1],255,Bi),Bi.toArray(n,3*i);return ki(an.FLOAT,n,3)}return null}function Li(e,t,r,n){if(e<0||e>r||t<0||t>r)throw new Error("x and y must be unsigned normalized integers between 0 and ".concat(r));if(n.x=Vi(e,0,r),n.y=Vi(t,0,r),n.z=1-(Math.abs(n.x)+Math.abs(n.y)),n.z<0){var i=n.x;n.x=(1-Math.abs(n.y))*Ni(i),n.y=(1-Math.abs(i))*Ni(n.y)}return n.normalize()}function Ni(e){return e<0?-1:1}function Vi(e,t,r){return e<t&&(e=t),e>r&&(e=r),e/r*2-1}function zi(e,t){var r={uri:e};return Promise.resolve().then((function(){return t.fetcher.ajax(e,{responseType:"arraybuffer"}).then((function(e){return e.body}))})).then((function(e){return Promise.resolve(0).then((function(t){return ln(r,e,t)})).then((function(t){return gn(r,e,t)})).then((function(e){return Ri(r,0,e)}))})).then((function(){return function(e){var t=new Set,r=new n.BufferGeometry;t.add(r);var i=new yi;t.add(i),e.position&&r.setAttribute("position",new n.BufferAttribute(e.position.array,e.position.size,!1));e.color&&r.setAttribute("color",new n.BufferAttribute(e.color.array,e.color.size,!0));e.normal&&(r.setAttribute("normal",new n.BufferAttribute(e.normal.array,e.normal.size,!1)),i.defines.USE_POINT_NORMAL=!0);r.computeBoundingBox(),r.computeBoundingSphere();var o=new st(r,i);return o.matrix.compose(o.position,o.quaternion,o.scale),o.matrixAutoUpdate=!1,o.frustumCulled=!1,o.renderOrder=-1e3,Promise.resolve({object:o,dispose:function(){t.forEach((function(e){e.dispose()})),t.clear()}})}(r.attributes)})).then((function(e){var t=new n.Matrix4,i=(new n.Matrix4).setPosition(r.rtcCenter);return t.premultiply(i),e.object.applyMatrix4(t),{type:"pnts",uri:r.uri,byteLength:r.byteLength,object:e.object,dispose:function(){return e.dispose()}}}))}function ji(){var e={OutWindow:function(){this._windowSize=0}};return e.OutWindow.prototype.create=function(e){this._buffer&&this._windowSize===e||(this._buffer=[]),this._windowSize=e,this._pos=0,this._streamPos=0},e.OutWindow.prototype.flush=function(){var e=this._pos-this._streamPos;if(0!==e){for(;e--;)this._stream.writeByte(this._buffer[this._streamPos++]);this._pos>=this._windowSize&&(this._pos=0),this._streamPos=this._pos}},e.OutWindow.prototype.releaseStream=function(){this.flush(),this._stream=null},e.OutWindow.prototype.setStream=function(e){this.releaseStream(),this._stream=e},e.OutWindow.prototype.init=function(e){e||(this._streamPos=0,this._pos=0)},e.OutWindow.prototype.copyBlock=function(e,t){var r=this._pos-e-1;for(r<0&&(r+=this._windowSize);t--;)r>=this._windowSize&&(r=0),this._buffer[this._pos++]=this._buffer[r++],this._pos>=this._windowSize&&this.flush()},e.OutWindow.prototype.putByte=function(e){this._buffer[this._pos++]=e,this._pos>=this._windowSize&&this.flush()},e.OutWindow.prototype.getByte=function(e){var t=this._pos-e-1;return t<0&&(t+=this._windowSize),this._buffer[t]},e.RangeDecoder=function(){},e.RangeDecoder.prototype.setStream=function(e){this._stream=e},e.RangeDecoder.prototype.releaseStream=function(){this._stream=null},e.RangeDecoder.prototype.init=function(){var e=5;for(this._code=0,this._range=-1;e--;)this._code=this._code<<8|this._stream.readByte()},e.RangeDecoder.prototype.decodeDirectBits=function(e){for(var t,r=0,n=e;n--;)this._range>>>=1,t=this._code-this._range>>>31,this._code-=this._range&t-1,r=r<<1|1-t,0==(4278190080&this._range)&&(this._code=this._code<<8|this._stream.readByte(),this._range<<=8);return r},e.RangeDecoder.prototype.decodeBit=function(e,t){var r=e[t],n=(this._range>>>11)*r;return(2147483648^this._code)<(2147483648^n)?(this._range=n,e[t]+=2048-r>>>5,0==(4278190080&this._range)&&(this._code=this._code<<8|this._stream.readByte(),this._range<<=8),0):(this._range-=n,this._code-=n,e[t]-=r>>>5,0==(4278190080&this._range)&&(this._code=this._code<<8|this._stream.readByte(),this._range<<=8),1)},e.initBitModels=function(e,t){for(;t--;)e[t]=1024},e.BitTreeDecoder=function(e){this._models=[],this._numBitLevels=e},e.BitTreeDecoder.prototype.init=function(){e.initBitModels(this._models,1<<this._numBitLevels)},e.BitTreeDecoder.prototype.decode=function(e){for(var t=1,r=this._numBitLevels;r--;)t=t<<1|e.decodeBit(this._models,t);return t-(1<<this._numBitLevels)},e.BitTreeDecoder.prototype.reverseDecode=function(e){for(var t,r=1,n=0,i=0;i<this._numBitLevels;++i)r=r<<1|(t=e.decodeBit(this._models,r)),n|=t<<i;return n},e.reverseDecode2=function(e,t,r,n){for(var i,o=1,a=0,s=0;s<n;++s)o=o<<1|(i=r.decodeBit(e,t+o)),a|=i<<s;return a},e.LenDecoder=function(){this._choice=[],this._lowCoder=[],this._midCoder=[],this._highCoder=new e.BitTreeDecoder(8),this._numPosStates=0},e.LenDecoder.prototype.create=function(t){for(;this._numPosStates<t;++this._numPosStates)this._lowCoder[this._numPosStates]=new e.BitTreeDecoder(3),this._midCoder[this._numPosStates]=new e.BitTreeDecoder(3)},e.LenDecoder.prototype.init=function(){var t=this._numPosStates;for(e.initBitModels(this._choice,2);t--;)this._lowCoder[t].init(),this._midCoder[t].init();this._highCoder.init()},e.LenDecoder.prototype.decode=function(e,t){return 0===e.decodeBit(this._choice,0)?this._lowCoder[t].decode(e):0===e.decodeBit(this._choice,1)?8+this._midCoder[t].decode(e):16+this._highCoder.decode(e)},e.Decoder2=function(){this._decoders=[]},e.Decoder2.prototype.init=function(){e.initBitModels(this._decoders,768)},e.Decoder2.prototype.decodeNormal=function(e){var t=1;do{t=t<<1|e.decodeBit(this._decoders,t)}while(t<256);return 255&t},e.Decoder2.prototype.decodeWithMatchByte=function(e,t){var r,n,i=1;do{if(r=t>>7&1,t<<=1,i=i<<1|(n=e.decodeBit(this._decoders,(1+r<<8)+i)),r!==n){for(;i<256;)i=i<<1|e.decodeBit(this._decoders,i);break}}while(i<256);return 255&i},e.LiteralDecoder=function(){},e.LiteralDecoder.prototype.create=function(t,r){var n;if(!this._coders||this._numPrevBits!==r||this._numPosBits!==t)for(this._numPosBits=t,this._posMask=(1<<t)-1,this._numPrevBits=r,this._coders=[],n=1<<this._numPrevBits+this._numPosBits;n--;)this._coders[n]=new e.Decoder2},e.LiteralDecoder.prototype.init=function(){for(var e=1<<this._numPrevBits+this._numPosBits;e--;)this._coders[e].init()},e.LiteralDecoder.prototype.getDecoder=function(e,t){return this._coders[((e&this._posMask)<<this._numPrevBits)+((255&t)>>>8-this._numPrevBits)]},e.Decoder=function(){this._outWindow=new e.OutWindow,this._rangeDecoder=new e.RangeDecoder,this._isMatchDecoders=[],this._isRepDecoders=[],this._isRepG0Decoders=[],this._isRepG1Decoders=[],this._isRepG2Decoders=[],this._isRep0LongDecoders=[],this._posSlotDecoder=[],this._posDecoders=[],this._posAlignDecoder=new e.BitTreeDecoder(4),this._lenDecoder=new e.LenDecoder,this._repLenDecoder=new e.LenDecoder,this._literalDecoder=new e.LiteralDecoder,this._dictionarySize=-1,this._dictionarySizeCheck=-1,this._posSlotDecoder[0]=new e.BitTreeDecoder(6),this._posSlotDecoder[1]=new e.BitTreeDecoder(6),this._posSlotDecoder[2]=new e.BitTreeDecoder(6),this._posSlotDecoder[3]=new e.BitTreeDecoder(6)},e.Decoder.prototype.setDictionarySize=function(e){return!(e<0)&&(this._dictionarySize!==e&&(this._dictionarySize=e,this._dictionarySizeCheck=Math.max(this._dictionarySize,1),this._outWindow.create(Math.max(this._dictionarySizeCheck,4096))),!0)},e.Decoder.prototype.setLcLpPb=function(e,t,r){var n=1<<r;return!(e>8||t>4||r>4)&&(this._literalDecoder.create(t,e),this._lenDecoder.create(n),this._repLenDecoder.create(n),this._posStateMask=n-1,!0)},e.Decoder.prototype.init=function(){var t=4;for(this._outWindow.init(!1),e.initBitModels(this._isMatchDecoders,192),e.initBitModels(this._isRep0LongDecoders,192),e.initBitModels(this._isRepDecoders,12),e.initBitModels(this._isRepG0Decoders,12),e.initBitModels(this._isRepG1Decoders,12),e.initBitModels(this._isRepG2Decoders,12),e.initBitModels(this._posDecoders,114),this._literalDecoder.init();t--;)this._posSlotDecoder[t].init();this._lenDecoder.init(),this._repLenDecoder.init(),this._posAlignDecoder.init(),this._rangeDecoder.init()},e.Decoder.prototype.decode=function(t,r,n){var i,o,a,s,l,c,u=0,d=0,p=0,h=0,f=0,v=0,m=0;for(this._rangeDecoder.setStream(t),this._outWindow.setStream(r),this.init();n<0||v<n;)if(i=v&this._posStateMask,0===this._rangeDecoder.decodeBit(this._isMatchDecoders,(u<<4)+i))o=this._literalDecoder.getDecoder(v++,m),m=u>=7?o.decodeWithMatchByte(this._rangeDecoder,this._outWindow.getByte(d)):o.decodeNormal(this._rangeDecoder),this._outWindow.putByte(m),u=u<4?0:u-(u<10?3:6);else{if(1===this._rangeDecoder.decodeBit(this._isRepDecoders,u))a=0,0===this._rangeDecoder.decodeBit(this._isRepG0Decoders,u)?0===this._rangeDecoder.decodeBit(this._isRep0LongDecoders,(u<<4)+i)&&(u=u<7?9:11,a=1):(0===this._rangeDecoder.decodeBit(this._isRepG1Decoders,u)?s=p:(0===this._rangeDecoder.decodeBit(this._isRepG2Decoders,u)?s=h:(s=f,f=h),h=p),p=d,d=s),0===a&&(a=2+this._repLenDecoder.decode(this._rangeDecoder,i),u=u<7?8:11);else if(f=h,h=p,p=d,a=2+this._lenDecoder.decode(this._rangeDecoder,i),u=u<7?7:10,(l=this._posSlotDecoder[a<=5?a-2:3].decode(this._rangeDecoder))>=4){if(d=(2|1&l)<<(c=(l>>1)-1),l<14)d+=e.reverseDecode2(this._posDecoders,d-l-1,this._rangeDecoder,c);else if(d+=this._rangeDecoder.decodeDirectBits(c-4)<<4,(d+=this._posAlignDecoder.reverseDecode(this._rangeDecoder))<0){if(-1===d)break;return!1}}else d=l;if(d>=v||d>=this._dictionarySizeCheck)return!1;this._outWindow.copyBlock(d,a),v+=a,m=this._outWindow.getByte(0)}return this._outWindow.flush(),this._outWindow.releaseStream(),this._rangeDecoder.releaseStream(),!0},e.Decoder.prototype.setDecoderProperties=function(e){var t,r,n,i,o;return!(e.size<5)&&(r=(t=e.readByte())%9,n=(t=~~(t/9))%5,i=~~(t/5),!!this.setLcLpPb(r,n,i)&&(o=e.readByte(),o|=e.readByte()<<8,o|=e.readByte()<<16,o+=16777216*e.readByte(),this.setDictionarySize(o)))},e.decompress=function(t,r,n,i){var o=new e.Decoder;if(!o.setDecoderProperties(t))throw"Incorrect stream properties";if(!o.decode(r,n,i))throw"Error in data stream";return!0},e.decompressFile=function(t,r){var n,i=new e.Decoder;if(!i.setDecoderProperties(t))throw"Incorrect stream properties";if(n=t.readByte(),n|=t.readByte()<<8,n|=t.readByte()<<16,n+=16777216*t.readByte(),t.readByte(),t.readByte(),t.readByte(),t.readByte(),!i.decode(t,r,n))throw"Error in data stream";return!0},e}var Ui=ji();var qi="\nvar decodeLZMA = (function() {\n var LZMA = (".concat(ji.toString(),")();\n return function(data, callback) {\n return (").concat(function(e,t,r){try{var n={data:t,offset:0,readByte:function(){return this.data[this.offset++]}},i=n.data.length,o={data:[],offset:0,writeByte:function(e){var t=Math.floor(this.offset/i);this.data[t]||(this.data[t]=new Uint8Array(i)),this.data[t][this.offset%i]=e,this.offset++}};e.decompressFile(n,o);for(var a=new Uint8Array(o.offset),s=0;s<o.offset;s++)a[s]=o.data[Math.floor(s/i)][s%i];r(null,a)}catch(e){r(e)}}.toString(),")(LZMA, data, callback);\n }\n})();\n\nvar decodeLZMAWithWASM = (function() {\n var LZMA_WASM = (").concat(function(){return function(e){for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r=new Uint8Array(256),n=0;n<64;n++)r[t.charCodeAt(n)]=n;var i,o,a,s,l,c=.75*e.length,u=e.length,d=0;"="===e[e.length-1]&&(c--,"="===e[e.length-2]&&c--);var p=new ArrayBuffer(c),h=new Uint8Array(p);for(i=0;i<u;i+=4)o=r[e.charCodeAt(i)],a=r[e.charCodeAt(i+1)],s=r[e.charCodeAt(i+2)],l=r[e.charCodeAt(i+3)],h[d++]=o<<2|a>>4,h[d++]=(15&a)<<4|s>>2,h[d++]=(3&s)<<6|63&l;return p}("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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")}.toString(),")();\n return function(data, callback) {\n return (").concat(function(e,t,r){try{var n=new WebAssembly.Memory({initial:16}),i=new WebAssembly.Module(e),o=new WebAssembly.Instance(i,{env:{memory:n,abort:function(){r(new Error("webAssembly abort"))}}}).exports,a=o.newU8Array(t.length);new Uint8Array(n.buffer,a+24,t.length).set(t);var s=o.decode(a),l=new Uint32Array(n.buffer,s,4),c=l[0],u=l[2],d=l[3];c?r(null,new Uint8Array(n.buffer,d+24,u).slice(0,u)):r(new Error("lzma deocder error"))}catch(e){r(e)}}.toString(),')(LZMA_WASM, data, callback);\n }\n})();\n\nself.onmessage = function(event) {\n var packet = event.data;\n if (!packet.id) {\n postMessage({ id: packet.id, error: "No incoming id." });\n return;\n }\n if (!packet.data) {\n postMessage({ id: packet.id, error: "No input data." });\n return;\n }\n if (packet.type == "decompress") {\n if (packet.data.constructor !== Uint8Array) {\n postMessage({ id: packet.id, error: "Input data is not Uint8Array." });\n }\n const callback = function(error, result) {\n if (error) {\n postMessage({ id: packet.id, error: error.toString() });\n } else {\n postMessage({ id: packet.id, result: result, error: null }, [ result.buffer ]);\n }\n }\n if (typeof WebAssembly !== "undefined" && WebAssembly.instantiate) {\n decodeLZMAWithWASM(packet.data, callback);\n } else {\n decodeLZMA(packet.data, callback);\n }\n return;\n }\n postMessage({ id: packet.id, error: "type never matched." });\n};\n'),_i="undefined"!=typeof Worker&&"undefined"!=typeof Blob,Hi="";if(_i)try{var Gi=new Blob([qi],{type:"text/javascript"});Hi=URL.createObjectURL(Gi)}catch(e){}var Ki=function(){function e(){var e=this;if(!_i)throw new Error("LZMAWorker cannot work in this broswer.");this.callCounter=0,this.requests={};var t=this.worker=new Worker(Hi);t.onmessage=function(t){var r=t.data,n=r.id,i=r.result,o=r.error,a=e.getKey(n);e.requests[a]&&(o?e.requests[a](new Error(o)):e.requests[a](null,i),delete e.requests[a])},t.onerror=function(e){return console.error(e)}}return e.prototype.getKey=function(e){return"key_"+String(e)},e.prototype.decompress=function(e,t){var r=++this.callCounter;this.requests[this.getKey(r)]=t,this.worker.postMessage({type:"decompress",id:r,data:e},[e.buffer])},e.prototype.terminate=function(){this.worker.terminate()},e.support=_i,e}();function Wi(e){return Array.prototype.reduce.call(e,(function(e,t,r){return e|t<<8*r}),0)}function Yi(e){var t=new Uint8Array(e),r=Wi(t.slice(0,4));if(r>10)return Promise.reject(new Error("LZMA got too many sub chunks."));for(var n=[],i=[],o=4+4*r,a=0;a<r;a++)i[a]=Wi(t.slice(4+4*a,8+4*a)),n[a]=a===r-1?t.subarray(o,o+i[a]):t.slice(o,o+i[a]),o+=i[a];return Ki.support?function(e){for(var t=[],r=e.length,n=function(r){t.push(new Promise((function(t,n){var i=new Ki;i.decompress(e[r],(function(e,r){if(i.terminate(),e)return n(e);t(r)}))})))},i=0;i<r;i++)n(i);return Promise.all(t)}(n):Promise.resolve(function(e){for(var t,r=[],n=e.length,i=function(n){var i={data:e[n],offset:0,readByte:function(){return this.data[this.offset++]}},o=i.data.length,a={data:[],offset:0,writeByte:function(e){var t=Math.floor(this.offset/o);this.data[t]||(this.data[t]=new Uint8Array(o)),this.data[t][this.offset%o]=e,this.offset++}};Ui.decompressFile(i,a),t=new Uint8Array(a.offset);for(var s=0;s<a.offset;s++)t[s]=a.data[Math.floor(s/o)][s%o];r.push(t)},o=0;o<n;o++)i(o);return r}(n))}var Xi=!1,Ji=[];function Zi(e){if(void 0===e&&(e=!1),e||!Xi){Xi=!0;var t=Ji.shift();if(t){try{t()}catch(e){}Ne.shared.add((function(){return Zi(!0)}),!0,2,-100)}else Xi=!1}}function $i(e){return new Promise((function(t,r){Ji.push((function(){try{t(e())}catch(e){r(e)}})),Ne.shared.add((function(){return Zi()}),!0,2,-100)}))}function eo(e,t){for(var r={},n=0,i=t;n<i.length;n++){var o=i[n];o in e&&(r[o]=e[o])}return r}function to(e,t){void 0===t&&(t=!1);var r=typeof e;if("string"===r)return JSON.stringify(e);if(!0===e)return"true";if(!1===e)return"false";if(null===e)return"null";if(e instanceof Array){for(var n="[",i=e.length-1,o=0;o<i;o++)n+=to(e[o],!1)+",";return i>-1&&(n+=to(e[o],!1)),n+"]"}if(e instanceof Object){if("function"==typeof e.toJSON)return to(e.toJSON(),t);var a=Object.keys(e).sort(),s=a.length;for(n="",o=0;o<s;){var l=a[o],c=to(e[l],!0);void 0!==c&&(o&&""!==n&&(n+=","),n+=JSON.stringify(l)+":"+c),o++}return"{"+n+"}"}switch(r){case"function":return JSON.stringify(e.toString());case"undefined":return t?void 0:null;case"number":return e;default:return isFinite(e)?e:null}}function ro(e){return"hash::".concat(to(e,!1))}var no=new n.WebGLRenderTarget(1,1),io=new n.OrthographicCamera(-1,1,1,-1,0,1);io.matrixAutoUpdate=!1;var oo=new n.BufferGeometry;oo.setAttribute("position",new n.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3));var ao=new n.Mesh(oo);ao.matrixAutoUpdate=!1;var so=new n.Scene;so.add(ao),so.matrixAutoUpdate=!1;var lo=new n.RawShaderMaterial({uniforms:{map:{value:null}},vertexShader:"\n void main() {\n gl_Position = vec4(0, 0, 0, 0);\n }\n ",fragmentShader:"\n uniform sampler2D map;\n void main() {\n gl_FragColor = texture2D(map, vec2(0, 0));\n }\n ",depthTest:!1,depthWrite:!1,stencilWrite:!1,colorWrite:!1,blending:n.NoBlending,lights:!1,toneMapped:!1}),co=new n.RawShaderMaterial({uniforms:{map:{value:null}},vertexShader:"\n void main() {\n gl_Position = vec4(0, 0, 0, 0);\n }\n ",fragmentShader:"\n uniform samplerCube map;\n void main() {\n gl_FragColor = textureCube(map, vec3(0, 0, 0));\n }\n ",depthTest:!1,depthWrite:!1,stencilWrite:!1,blending:n.NoBlending,lights:!1,toneMapped:!1}),uo=Promise.resolve();const po=i.Reader,ho=i.util,fo=i.roots["@REALSEE/FIVE:five/loaders/model/proto/pbm.proto"]||(i.roots["@REALSEE/FIVE:five/loaders/model/proto/pbm.proto"]={}),vo=fo.Model=(()=>{function e(e){if(this.chunks=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.chunks=ho.emptyArray,e.prototype.createAt=ho.Long?ho.Long.fromBits(0,0,!0):0,e.prototype.description="",e.decode=function(e,t){e instanceof po||(e=po.create(e));let r=void 0===t?e.len:e.pos+t,n=new fo.Model;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.chunks&&n.chunks.length||(n.chunks=[]),n.chunks.push(fo.Chunk.decode(e,e.uint32()));break;case 2:n.createAt=e.uint64();break;case 3:n.description=e.string();break;default:e.skipType(7&t)}}return n},e})();function mo(e,t){var r,i,o,a={byteLength:0},s=Eo(null!==(r=t.textureOptions)&&void 0!==r?r:{},null!==(o=null===(i=t.textureArray)||void 0===i?void 0:i.length)&&void 0!==o?o:0),l={};if(t.textureArray)for(var c=0,u=t.textureArray;c<u.length;c++){var d=u[c];l[d]=xo(d,s,t.fetcher)}return Promise.resolve().then((function(){return t.fetcher.ajax(e,{responseType:"arraybuffer"})})).then((function(e){return a.byteLength=e.body.byteLength,$i((function(){var t=new Uint8Array(e.body);return vo.decode(t)}))})).then((function(r){return $i((function(){var n,i;return wo(r,null!==(n=t.textureBaseUri)&&void 0!==n?n:function(){var t=e.lastIndexOf("/");if(t>=0){var r=e.slice(0,t)+"/";return/\/model\/$/.test(r)&&(r=r.replace(/\/model\/$/,"/materials/")),r}return""}(),(null!==(i=t.textureArray)&&void 0!==i?i:[]).slice(),s,l,t.fetcher)}))})).then((function(t){var r=new n.Group;r.renderOrder=-4,r.matrixAutoUpdate=!1,r.matrix.compose(r.position,r.quaternion,r.scale),r.name=e;for(var i=0,o=t.objects;i<o.length;i++){var s=o[i];r.add(s)}return t.texturePromise.then((function(){return{type:"pbm",uri:e,byteLength:a.byteLength,object:r,dispose:function(){return t.dispose()}}}))}))}fo.Chunk=(()=>{function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.vertices=null,e.prototype.faces=null,e.prototype.name="",e.prototype.texture="",e.decode=function(e,t){e instanceof po||(e=po.create(e));let r=void 0===t?e.len:e.pos+t,n=new fo.Chunk;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.vertices=fo.Vertices.decode(e,e.uint32());break;case 2:n.faces=fo.Faces.decode(e,e.uint32());break;case 3:n.name=e.string();break;case 4:n.texture=e.string();break;default:e.skipType(7&t)}}if(!n.hasOwnProperty("vertices"))throw ho.ProtocolError("missing required 'vertices'",{instance:n});if(!n.hasOwnProperty("faces"))throw ho.ProtocolError("missing required 'faces'",{instance:n});if(!n.hasOwnProperty("name"))throw ho.ProtocolError("missing required 'name'",{instance:n});return n},e})(),fo.VertexMark=(()=>{const e={},t=Object.create(e);return t[e[0]="VERTEX_MARK_UNSPECIFIED"]=0,t[e[1]="VERTEX_MARK_ROOF"]=1,t})(),fo.Vertices=(()=>{function e(e){if(this.xyz=[],this.uvs=[],this.marks=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.xyz=ho.emptyArray,e.prototype.uvs=ho.emptyArray,e.prototype.marks=ho.emptyArray,e.decode=function(e,t){e instanceof po||(e=po.create(e));let r=void 0===t?e.len:e.pos+t,n=new fo.Vertices;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:if(n.xyz&&n.xyz.length||(n.xyz=[]),2==(7&t)){let t=e.uint32()+e.pos;for(;e.pos<t;)n.xyz.push(e.float())}else n.xyz.push(e.float());break;case 2:if(n.uvs&&n.uvs.length||(n.uvs=[]),2==(7&t)){let t=e.uint32()+e.pos;for(;e.pos<t;)n.uvs.push(e.float())}else n.uvs.push(e.float());break;case 3:if(n.marks&&n.marks.length||(n.marks=[]),2==(7&t)){let t=e.uint32()+e.pos;for(;e.pos<t;)n.marks.push(e.int32())}else n.marks.push(e.int32());break;default:e.skipType(7&t)}}return n},e})(),fo.Faces=(()=>{function e(e){if(this.indices=[],this.normals=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.indices=ho.emptyArray,e.prototype.normals=ho.emptyArray,e.decode=function(e,t){e instanceof po||(e=po.create(e));let r=void 0===t?e.len:e.pos+t,n=new fo.Faces;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:if(n.indices&&n.indices.length||(n.indices=[]),2==(7&t)){let t=e.uint32()+e.pos;for(;e.pos<t;)n.indices.push(e.uint32())}else n.indices.push(e.uint32());break;case 2:if(n.normals&&n.normals.length||(n.normals=[]),2==(7&t)){let t=e.uint32()+e.pos;for(;e.pos<t;)n.normals.push(e.float())}else n.normals.push(e.float());break;default:e.skipType(7&t)}}return n},e})();var Ao=(new n.Matrix4).set(1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1).elements;function go(e){var t=e.match(/(group|floor)-?(\d+)/);return t?parseInt(t[2],10):0}function yo(e){var t=e.match(/(chunk)-?(\d+)/);return t?parseInt(t[2],10):0}function bo(e){var t=go(e.name),r=yo(e.name),n=function(e){var t=e.match(/(sub)-?(\d+)/);return t?parseInt(t[2],10):0}(e.name);return 1e6*t+1e3*r+n}function xo(e,t,r,i){var o=ie({key:"texture.pbm"},eo(t,["format","quality","size","sharpen","mappings"])),a=(new zt).loadTexture(e,{imageURL:{transform:t.transform,options:o},wrapS:n.ClampToEdgeWrapping,wrapT:n.ClampToEdgeWrapping,minFilter:n.LinearFilter,maxSize:"number"==typeof o.size?new n.Vector2(o.size,o.size):void 0,fetcher:r}).then((function(e){var t=e.body;return t.needsUpdate=!0,function(e,t){if(!t)return Promise.resolve(e);var r=t.getRenderTarget();t.setRenderTarget(no),e instanceof n.CubeTexture?(ao.material=co,co.uniforms.map.value=e,t.render(so,io),co.uniforms.map.value=null):(ao.material=lo,lo.uniforms.map.value=e,t.render(so,io),co.uniforms.map.value=null),t.setRenderTarget(r);var i=uo.then((function(){return new Promise((function(t){Ne.shared.add((function(){t(e)}),!0)}))}));return uo=i.catch((function(){})),i}(t,i)}));return Object.assign(a,{url:e,textureOptions:t})}function wo(e,t,r,i,o,a,s){void 0===o&&(o={});for(var l=function(e){for(var t,r,n,i="number"==typeof e.createAt?e.createAt:null===e.createAt||void 0===e.createAt?0:e.createAt.toNumber(),o=null!==(t=e.description)&&void 0!==t?t:"",a=[],s=!0,l=!0,c=0,u=e.chunks;c<u.length;c++)if(!(ie=u[c]).vertices.marks||0===ie.vertices.marks.length){l=!1;break}for(var d=0,p=e.chunks;d<p.length;d++)if(!(ie=p[d]).faces.normals||0===ie.faces.normals.length){s=!1;break}for(var h=e.chunks.sort((function(e,t){return bo(e)-bo(t)})),f=[],v=0,m=h;v<m.length;v++){var A=go((ie=m[v]).name);f[A]||(f[A]=[]),f[A].push(ie)}for(var g=0;g<f.length;g++){var y=f[g];if(y)if(s){for(var b=0,x=0;x<y.length;x++)b+=(ie=y[x]).faces.indices.length;for(var w=new Float32Array(3*b),E=new Float32Array(b),M=new Float32Array(2*b),C=new Float32Array(3*b),S=[],I=[1/0,1/0,1/0,-1/0,-1/0,-1/0],P=0,T=0;T<y.length;T++){var B=[1/0,1/0,1/0,-1/0,-1/0,-1/0],R=(ie=y[T]).vertices.xyz,k=ie.vertices.uvs,O=ie.faces.indices,F=ie.faces.normals,D=ie.vertices.marks,Q=O.length;for(x=0;x<Q;x++){var L=O[x],N=R[3*L],V=R[3*L+1],z=R[3*L+2],j=1/(Ao[3]*N+Ao[7]*V+Ao[11]*z+Ao[15]),U=(Ao[0]*N+Ao[4]*V+Ao[8]*z+Ao[12])*j,q=(Ao[1]*N+Ao[5]*V+Ao[9]*z+Ao[13])*j,_=(Ao[2]*N+Ao[6]*V+Ao[10]*z+Ao[14])*j;w[3*P+3*x]=U,w[3*P+3*x+1]=q,w[3*P+3*x+2]=_,E[P+x]=l?D[L]:0,M[2*P+2*x]=k[2*L],M[2*P+2*x+1]=k[2*L+1];var H=3*Math.floor(x/3),G=F[H],K=F[H+1],W=F[H+2],Y=1/(Ao[3]*G+Ao[7]*K+Ao[11]*W+Ao[15]),X=(Ao[0]*G+Ao[4]*K+Ao[8]*W+Ao[12])*Y,J=(Ao[1]*G+Ao[5]*K+Ao[9]*W+Ao[13])*Y,Z=(Ao[2]*G+Ao[6]*K+Ao[10]*W+Ao[14])*Y;C[3*P+3*x]=X,C[3*P+3*x+1]=J,C[3*P+3*x+2]=Z,U<B[0]&&(B[0]=U),q<B[1]&&(B[1]=q),_<B[2]&&(B[2]=_),U>B[3]&&(B[3]=U),q>B[4]&&(B[4]=q),_>B[5]&&(B[5]=_)}B[0]<I[0]&&(I[0]=B[0]),B[1]<I[1]&&(I[1]=B[1]),B[2]<I[2]&&(I[2]=B[2]),B[3]>I[3]&&(I[3]=B[3]),B[4]>I[4]&&(I[4]=B[4]),B[5]>I[5]&&(I[5]=B[5]),S.push({materialIndex:T,name:ie.name,chunkName:yo(ie.name),start:P,count:ie.faces.indices.length,texture:null!==(r=ie.texture)&&void 0!==r?r:void 0}),P+=Q}var $={createAt:i,description:o,vertices:w,uvs:M,normals:C,indices:null,floorIndex:g,groups:S,extents:I,vertexMarks:E};a.push($)}else{b=0;var ee=0;for(x=0;x<y.length;x++)ee+=(ie=y[x]).vertices.xyz.length/3,b+=ie.faces.indices.length;w=new Float32Array(3*ee),M=new Float32Array(2*ee),C=new Float32Array(3*ee);var te=new Float32Array(ee),re=new Uint32Array(b),ne=(E=new Float32Array(b),S=[],I=[1/0,1/0,1/0,-1/0,-1/0,-1/0],0);for(P=0,T=0;T<y.length;T++){B=[1/0,1/0,1/0,-1/0,-1/0,-1/0],R=(ie=y[T]).vertices.xyz,D=ie.vertices.marks,k=ie.vertices.uvs,O=ie.faces.indices;var ie,oe=R.length/3;for(Q=O.length,x=0;x<oe;x++)N=R[3*x],V=R[3*x+1],z=R[3*x+2],j=1/(Ao[3]*N+Ao[7]*V+Ao[11]*z+Ao[15]),U=(Ao[0]*N+Ao[4]*V+Ao[8]*z+Ao[12])*j,q=(Ao[1]*N+Ao[5]*V+Ao[9]*z+Ao[13])*j,_=(Ao[2]*N+Ao[6]*V+Ao[10]*z+Ao[14])*j,w[3*P+3*x]=U,w[3*P+3*x+1]=q,w[3*P+3*x+2]=_,E[P+x]=l?D[x]:0,M[2*P+2*x]=k[2*x],M[2*P+2*x+1]=k[2*x+1],te[P+x]=g,U<B[0]&&(B[0]=U),q<B[1]&&(B[1]=q),_<B[2]&&(B[2]=_),U>B[3]&&(B[3]=U),q>B[4]&&(B[4]=q),_>B[5]&&(B[5]=_);for(B[0]<I[0]&&(I[0]=B[0]),B[1]<I[1]&&(I[1]=B[1]),B[2]<I[2]&&(I[2]=B[2]),B[3]>I[3]&&(I[3]=B[3]),B[4]>I[4]&&(I[4]=B[4]),B[5]>I[5]&&(I[5]=B[5]),x=0;x<Q;x++)re[ne+x]=P+O[x];S.push({materialIndex:T,name:ie.name,chunkName:yo(ie.name),start:ne,count:ie.faces.indices.length,texture:null!==(n=ie.texture)&&void 0!==n?n:void 0}),P+=oe,ne+=Q}for(x=0;x<b;x+=3){var ae,se,le,ce,ue,de,pe,he,fe,ve,me,Ae,ge,ye,be,xe;G=void 0,K=void 0,W=void 0,ae=3*re[x],se=3*re[x+1],le=3*re[x+2],ce=w[ae],ue=w[ae+1],de=w[ae+2],pe=w[se],he=w[se+1],fe=w[se+2],ve=w[le],G=(Ae=w[le+1]-he)*(xe=de-fe)-(ge=w[le+2]-fe)*(be=ue-he),K=ge*(ye=ce-pe)-(me=ve-pe)*xe,W=me*be-Ae*ye,C[ae]+=G,C[ae+1]+=K,C[ae+2]+=W,C[se]+=G,C[se+1]+=K,C[se+2]+=W,C[le]+=G,C[le+1]+=K,C[le+2]+=W}$={createAt:i,description:o,vertices:w,uvs:M,normals:C,indices:re,floorIndex:g,groups:S,extents:I,vertexMarks:E},a.push($)}}return a}(e),c=0,u="",d=[],p={},h=new Set,f=0,v=l;f<v.length;f++){var m=v[f],A=m.createAt,g=m.description,y=m.vertices,b=m.vertexMarks,x=m.uvs,w=m.normals,E=m.indices,M=m.floorIndex,C=m.groups,S=m.extents,I=new n.Box3;I.min.x=S[0],I.min.y=S[1],I.min.z=S[2],I.max.x=S[3],I.max.y=S[4],I.max.z=S[5];var P=new n.BufferGeometry;P.setAttribute("position",new n.BufferAttribute(y,3)),P.setAttribute("uv",new n.BufferAttribute(x,2)),P.setAttribute("normal",new n.BufferAttribute(w,3)),P.setAttribute("isRoofMark",new n.BufferAttribute(b,1)),E&&P.setIndex(new n.BufferAttribute(E,1)),P.boundingBox=I,P.boundingSphere=I.getBoundingSphere(new n.Sphere);for(var T=0,B=C;T<B.length;T++){var R=B[T];P.addGroup(R.start,R.count,R.materialIndex)}h.add(P);for(var k=[],O=0,F=C;O<F.length;O++){R=F[O];var D=r[R.chunkName]||(R.texture?$r(t||"",R.texture):void 0),Q=new Ht;Q.defines.USE_VERTEX_FLOOR=!1,Q.floor=M,k.push(Q),D?p[D]?p[D].push(Q):p[D]=[Q]:(Q.defines.USE_MAP=!1,Q.uniforms.diffuse.value=new n.Color(16777215)),h.add(Q)}var L=new tt(P,k);L.name="model_floor_"+M,L.userData.createAt=A,L.userData.description=g,L.matrix.compose(L.position,L.quaternion,L.scale),L.matrixAutoUpdate=!1,L.frustumCulled=!1,L.renderOrder=-1e3+M,c=A,u=g,d.push(L)}var N="",V=function(e){e=Eo(e,r.length);var t=[],i=ro(e);if(N===i)return Promise.resolve();N=i;for(var l=function(r){var l=null;r in o&&(ro(o[r].textureOptions)===ro(e)?l=o[r]:o[r].then((function(e){return e.dispose()}))),l||(l=xo(r,e,a,s)),t.push(l.then((function(e){if(N===i)for(var t=0,n=p[r];t<n.length;t++){var o=n[t];o.uniforms.map.value&&(h.delete(o.uniforms.map.value),o.uniforms.map.value.dispose()),o.uniforms.map.value=e,h.add(e),o.uniforms.exposure.value=3.3}else e.dispose()})).catch((function(){if(N===i)for(var e=0,t=p[r];e<t.length;e++){var o=t[e];o.uniforms.map.value&&(h.delete(o.uniforms.map.value),o.uniforms.map.value.dispose()),o.uniforms.map.value=null,o.defines.USE_MAP=!1,o.uniforms.diffuse.value=new n.Color(16777215)}})))},c=0,u=Object.keys(p);c<u.length;c++){l(d=u[c])}for(var d in o)delete o[d];return Promise.all(t).then((function(){}))};return{createAt:c,description:u,objects:d,texturePromise:V(i),updateTexture:V,dispose:function(){h.forEach((function(e){e.dispose()})),h.clear()}}}function Eo(e,t){return!1!==(e=Object.assign({},e)).autoResize&&(t>96?e.size=Math.min(e.size||1/0,100):t>48?e.size=Math.min(e.size||1/0,200):t>24?e.size=Math.min(e.size||1/0,400):t>22?e.size=Math.min(e.size||1/0,800):t>5&&(e.size=Math.min(e.size||1/0,1024))),e}function Mo(e,t){var r,i,o,a=0,s=Eo(null!==(r=t.textureOptions)&&void 0!==r?r:{},null!==(o=null===(i=t.textureArray)||void 0===i?void 0:i.length)&&void 0!==o?o:0),l={};if(t.textureArray)for(var c=0,u=t.textureArray;c<u.length;c++){var d=u[c];l[d]=xo(d,s,t.fetcher)}return Promise.resolve().then((function(){return t.fetcher.ajax(e,{responseType:"arraybuffer"})})).then((function(e){return Yi(e.body)})).then((function(e){return $i((function(){for(var t,r={chunks:[],createAt:void 0,description:void 0},n=0,i=e;n<i.length;n++){var o=i[n],a=vo.decode(o);a.chunks.length&&((t=r.chunks).push.apply(t,a.chunks),r.createAt=a.createAt,r.description=a.description)}return r}))})).then((function(r){return $i((function(){var n,i,o;return wo(r,null!==(n=t.textureBaseUri)&&void 0!==n?n:function(){var t=e.lastIndexOf("/");if(t>=0){var r=e.slice(0,t)+"/";return/\/model\/$/.test(r)&&(r=r.replace(/\/model\/$/,"/materials/")),r}return""}(),(null!==(i=t.textureArray)&&void 0!==i?i:[]).slice(),null!==(o=t.textureOptions)&&void 0!==o?o:{},l,t.fetcher)}))})).then((function(t){var r=new n.Group;r.renderOrder=-4,r.name=e;for(var i=0,o=t.objects;i<o.length;i++){var s=o[i];r.add(s)}return t.texturePromise.then((function(){return{type:"at3d",uri:e,byteLength:a,object:r,dispose:function(){return t.dispose()}}}))}))}const Co=i.Reader,So=i.util,Io=i.roots["@REALSEE/FIVE:five/loaders/model/proto/dome.proto"]||(i.roots["@REALSEE/FIVE:five/loaders/model/proto/dome.proto"]={}),Po=Io.Model=(()=>{function e(e){if(this.meshes=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.meshes=So.emptyArray,e.decode=function(e,t){e instanceof Co||(e=Co.create(e));let r=void 0===t?e.len:e.pos+t,n=new Io.Model;for(;e.pos<r;){let t=e.uint32();if(t>>>3==1)n.meshes&&n.meshes.length||(n.meshes=[]),n.meshes.push(Io.Mesh.decode(e,e.uint32()));else e.skipType(7&t)}return n},e})();function To(e,t){var r={byteLength:0};return Promise.resolve().then((function(){return t.fetcher.ajax(e,{responseType:"arraybuffer"})})).then((function(e){return r.byteLength=e.body.byteLength,Fo(new Uint8Array(e.body),t.textureBaseUri||"",t.textureOptions,t.fetcher)})).then((function(t){var i=new n.Group;i.renderOrder=-4,i.matrixAutoUpdate=!1,i.matrix.compose(i.position,i.quaternion,i.scale),i.name=e;for(var o=0,a=t.objects;o<a.length;o++){var s=a[o];i.add(s)}return t.texturePromise.then((function(){return{type:"dome",uri:e,byteLength:r.byteLength,object:i,dispose:function(){return t.dispose()}}}))}))}function Bo(e){for(var t=[0,0,0],r=0;r<e.attributes.normal.array.length/9;r++)t[0]=e.attributes.normal.array[9*r],t[1]=e.attributes.normal.array[9*r+1],t[2]=e.attributes.normal.array[9*r+2],e.attributes.normal.array[9*r]=e.attributes.normal.array[9*r+6],e.attributes.normal.array[9*r+1]=e.attributes.normal.array[9*r+7],e.attributes.normal.array[9*r+2]=e.attributes.normal.array[9*r+8],e.attributes.normal.array[9*r+6]=t[0],e.attributes.normal.array[9*r+7]=t[1],e.attributes.normal.array[9*r+8]=t[2];for(r=0;r<e.attributes.position.array.length/9;r++)t[0]=e.attributes.position.array[9*r],t[1]=e.attributes.position.array[9*r+1],t[2]=e.attributes.position.array[9*r+2],e.attributes.position.array[9*r]=e.attributes.position.array[9*r+6],e.attributes.position.array[9*r+1]=e.attributes.position.array[9*r+7],e.attributes.position.array[9*r+2]=e.attributes.position.array[9*r+8],e.attributes.position.array[9*r+6]=t[0],e.attributes.position.array[9*r+7]=t[1],e.attributes.position.array[9*r+8]=t[2];for(r=0;r<e.attributes.uv.array.length/6;r++)t[0]=e.attributes.uv.array[6*r],t[1]=e.attributes.uv.array[6*r+1],e.attributes.uv.array[6*r]=e.attributes.uv.array[6*r+4],e.attributes.uv.array[6*r+1]=e.attributes.uv.array[6*r+5],e.attributes.uv.array[6*r+4]=t[0],e.attributes.uv.array[6*r+5]=t[1];e.attributes.normal.needsUpdate=!0,e.attributes.position.needsUpdate=!0,e.attributes.uv.needsUpdate=!0}function Ro(e){var t=e.position,r=e.normal,i=e.uv,o=e.uv2,a=e.groups,s=new n.BufferGeometry;s.setAttribute("position",new n.BufferAttribute(new Float32Array(t.array),3)),r&&s.setAttribute("normal",new n.BufferAttribute(new Float32Array(r.array),3)),i&&s.setAttribute("uv",new n.BufferAttribute(new Float32Array(i.array),2)),o&&s.setAttribute("uv2",new n.BufferAttribute(new Float32Array(o.array),2));for(var l=0,c=a;l<c.length;l++){var u=c[l];s.addGroup(u.start,u.count,u.materialIndex)}return s}function ko(e,t,r,i,o,a,s){if(s.hasOwnProperty(e))return s[e];en(e=e.split("?")[0])||(e=$r(t,e)),0===(e=e.replace(/\/\/vrlab-image\d*.ljcdn.com\//,"//vrlab-public.ljcdn.com/")).indexOf("//")&&(e="https:"+e);var l=ie({key:"texture.dome",size:64},eo(r,["quality","format","sharpen","mappings"]));return s[e]=o.loadTexture(e,{imageURL:{transform:r.transform,options:l},wrapS:n.RepeatWrapping,wrapT:n.RepeatWrapping,fetcher:a}).then((function(e){var t=e.body;return i&&t.repeat.copy(i),t.needsUpdate=!0,t.updateMatrix(),t}))}function Oo(e,t,r,i,o,a,s){var l=[],c=new Ht;s.add(c);var u=c.uniforms;u.exposure.value=4.3;var d=c.defines;if(d.USE_MAP=!1,d.USE_UV=!1,e.kd&&(u.diffuse.value=(new n.Color).fromArray(e.kd.rgb)),e.mapkd){var p=null;if(e.mapkdrepeat){var h=e.mapkdrepeat.split(/\s+/).map((function(e){return Number(e)})),f=h[0],v=h[1];p=new n.Vector2(f,v)}l.push(ko(e.mapkd,t,r,p,i,o,a).then((function(e){d.USE_MAP=!0,d.USE_UV=!0,u.map.value=e,s.add(e),u.uvTransform.value=e.matrix,c.needsUpdate=!0})).catch(fe))}if(e.ks&&(u.specular.value=(new n.Color).fromArray(e.ks.rgb)),e.mapks&&l.push(ko(e.mapks,t,r,null,i,o,a).then((function(e){u.specularMap.value=e,s.add(e)})).catch(fe)),e.ke&&(u.emissive.value=(new n.Color).fromArray(e.ke.rgb)),e.mapke&&l.push(ko(e.mapke,t,r,null,i,o,a).then((function(e){u.emissiveMap.value=e,s.add(e)})).catch(fe)),e.norm&&l.push(ko(e.norm,t,r,null,i,o,a).then((function(e){u.normalMap.value=e,s.add(e)})).catch(fe)),e.mapbump&&l.push(ko(e.mapbump,t,r,null,i,o,a).then((function(e){u.bumpMap.value=e,s.add(e)})).catch(fe)),e.bump&&l.push(ko(e.bump,t,r,null,i,o,a).then((function(e){u.bumpMap.value=e,s.add(e)})).catch(fe)),"number"==typeof e.ns&&(u.shininess.value=e.ns),"number"==typeof e.d){var m=e.d;m>0&&m<1&&(c.opacity=m)}return c.floor=0,c.defines.USE_VERTEX_FLOOR=!1,{material:c,textureReady:Promise.all(l).then(fe)}}function Fo(e,t,r,i){for(var o,a=[],s=[],l=new Set,c=(o=e,Po.decode(o).meshes),u=new zt,d=new n.Matrix4,p=new n.Vector3,h=new n.Quaternion,f=new n.Vector3,v={},m=0,A=c;m<A.length;m++){var g=A[m],y=g.name,b=g.chunks,x=g.matrix;if("Ceiling"!==y&&"CeilingDrop"!==y)for(var w=0,E=x;w<E.length;w++){var M=E[w];d.elements=M.elements;var C=new n.Group;C.renderOrder=-4;for(var S=0;S<b.length;S++){var I=Ro(b[S].geometry);I.applyMatrix4(d),d.decompose(p,h,f),f.x*f.y*f.z<0&&I.attributes.normal&&I.attributes.position&&I.attributes.uv&&Bo(I),l.add(I);for(var P=[],T=0,B=b[S].material;T<B.length;T++){var R=Oo(B[T],t||"",r,u,i,v,l),k=R.material,O=R.textureReady;s.push(O),P.push(k)}var F=new tt(I,P);F.name="chunk_"+S,F.matrix.compose(F.position,F.quaternion,F.scale),F.matrixAutoUpdate=!1,F.frustumCulled=!1,F.renderOrder=-1e3,C.add(F)}C.name=y,a.push(C)}}return{createAt:0,description:"",objects:a,texturePromise:Promise.all(s).catch(fe),updateTexture:function(e){return Promise.resolve()},dispose:function(){l.forEach((function(e){e.dispose()})),l.clear()}}}function Do(e,t){var r={byteLength:0};return Promise.resolve().then((function(){return t.fetcher.ajax(e,{responseType:"arraybuffer"})})).then((function(e){return r.byteLength=e.body.byteLength,Yi(e.body)})).then((function(e){var t=e.reduce((function(e,t){return e+t.length}),0),r=new Uint8Array(t),n=0;return e.forEach((function(e){r.set(e,n),n+=e.length})),r})).then((function(e){return Fo(e,t.textureBaseUri||"",t.textureOptions,t.fetcher)})).then((function(t){var i=new n.Group;i.renderOrder=-4,i.name=e;for(var o=0,a=t.objects;o<a.length;o++){var s=a[o];i.add(s)}return t.texturePromise.then((function(){return{type:"domez",uri:e,byteLength:r.byteLength,object:i,dispose:function(){return t.dispose()}}}))}))}Io.Mesh=(()=>{function e(e){if(this.chunks=[],this.matrix=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.name="",e.prototype.chunks=So.emptyArray,e.prototype.matrix=So.emptyArray,e.decode=function(e,t){e instanceof Co||(e=Co.create(e));let r=void 0===t?e.len:e.pos+t,n=new Io.Mesh;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.name=e.string();break;case 2:n.chunks&&n.chunks.length||(n.chunks=[]),n.chunks.push(Io.Chunk.decode(e,e.uint32()));break;case 3:n.matrix&&n.matrix.length||(n.matrix=[]),n.matrix.push(Io.Matrix.decode(e,e.uint32()));break;default:e.skipType(7&t)}}if(!n.hasOwnProperty("name"))throw So.ProtocolError("missing required 'name'",{instance:n});return n},e})(),Io.Matrix=(()=>{function e(e){if(this.elements=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.elements=So.emptyArray,e.decode=function(e,t){e instanceof Co||(e=Co.create(e));let r=void 0===t?e.len:e.pos+t,n=new Io.Matrix;for(;e.pos<r;){let t=e.uint32();if(t>>>3==1)if(n.elements&&n.elements.length||(n.elements=[]),2==(7&t)){let t=e.uint32()+e.pos;for(;e.pos<t;)n.elements.push(e.float())}else n.elements.push(e.float());else e.skipType(7&t)}return n},e})(),Io.Chunk=(()=>{function e(e){if(this.material=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.geometry=null,e.prototype.material=So.emptyArray,e.decode=function(e,t){e instanceof Co||(e=Co.create(e));let r=void 0===t?e.len:e.pos+t,n=new Io.Chunk;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 2:n.geometry=Io.Geometry.decode(e,e.uint32());break;case 3:n.material&&n.material.length||(n.material=[]),n.material.push(Io.Material.decode(e,e.uint32()));break;default:e.skipType(7&t)}}if(!n.hasOwnProperty("geometry"))throw So.ProtocolError("missing required 'geometry'",{instance:n});return n},e})(),Io.Geometry=(()=>{function e(e){if(this.groups=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.position=null,e.prototype.uv=null,e.prototype.uv2=null,e.prototype.normal=null,e.prototype.groups=So.emptyArray,e.decode=function(e,t){e instanceof Co||(e=Co.create(e));let r=void 0===t?e.len:e.pos+t,n=new Io.Geometry;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.position=Io.Position.decode(e,e.uint32());break;case 2:n.uv=Io.UV.decode(e,e.uint32());break;case 3:n.uv2=Io.UV.decode(e,e.uint32());break;case 4:n.normal=Io.Normal.decode(e,e.uint32());break;case 5:n.groups&&n.groups.length||(n.groups=[]),n.groups.push(Io.Group.decode(e,e.uint32()));break;default:e.skipType(7&t)}}if(!n.hasOwnProperty("position"))throw So.ProtocolError("missing required 'position'",{instance:n});if(!n.hasOwnProperty("normal"))throw So.ProtocolError("missing required 'normal'",{instance:n});return n},e})(),Io.Position=(()=>{function e(e){if(this.array=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.array=So.emptyArray,e.decode=function(e,t){e instanceof Co||(e=Co.create(e));let r=void 0===t?e.len:e.pos+t,n=new Io.Position;for(;e.pos<r;){let t=e.uint32();if(t>>>3==1)if(n.array&&n.array.length||(n.array=[]),2==(7&t)){let t=e.uint32()+e.pos;for(;e.pos<t;)n.array.push(e.float())}else n.array.push(e.float());else e.skipType(7&t)}return n},e})(),Io.UV=(()=>{function e(e){if(this.array=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.array=So.emptyArray,e.decode=function(e,t){e instanceof Co||(e=Co.create(e));let r=void 0===t?e.len:e.pos+t,n=new Io.UV;for(;e.pos<r;){let t=e.uint32();if(t>>>3==1)if(n.array&&n.array.length||(n.array=[]),2==(7&t)){let t=e.uint32()+e.pos;for(;e.pos<t;)n.array.push(e.float())}else n.array.push(e.float());else e.skipType(7&t)}return n},e})(),Io.Normal=(()=>{function e(e){if(this.array=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.array=So.emptyArray,e.decode=function(e,t){e instanceof Co||(e=Co.create(e));let r=void 0===t?e.len:e.pos+t,n=new Io.Normal;for(;e.pos<r;){let t=e.uint32();if(t>>>3==1)if(n.array&&n.array.length||(n.array=[]),2==(7&t)){let t=e.uint32()+e.pos;for(;e.pos<t;)n.array.push(e.float())}else n.array.push(e.float());else e.skipType(7&t)}return n},e})(),Io.Group=(()=>{function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.start=0,e.prototype.count=0,e.prototype.materialIndex=0,e.decode=function(e,t){e instanceof Co||(e=Co.create(e));let r=void 0===t?e.len:e.pos+t,n=new Io.Group;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.start=e.uint32();break;case 2:n.count=e.uint32();break;case 3:n.materialIndex=e.uint32();break;default:e.skipType(7&t)}}if(!n.hasOwnProperty("start"))throw So.ProtocolError("missing required 'start'",{instance:n});if(!n.hasOwnProperty("count"))throw So.ProtocolError("missing required 'count'",{instance:n});if(!n.hasOwnProperty("materialIndex"))throw So.ProtocolError("missing required 'materialIndex'",{instance:n});return n},e})(),Io.Material=(()=>{function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.kd=null,e.prototype.ks=null,e.prototype.ke=null,e.prototype.mapkd="",e.prototype.mapks="",e.prototype.mapke="",e.prototype.norm="",e.prototype.mapbump="",e.prototype.bump="",e.prototype.mapd="",e.prototype.ns=0,e.prototype.d=0,e.prototype.tr=0,e.prototype.mapkdrepeat="",e.decode=function(e,t){e instanceof Co||(e=Co.create(e));let r=void 0===t?e.len:e.pos+t,n=new Io.Material;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.kd=Io.Color.decode(e,e.uint32());break;case 2:n.ks=Io.Color.decode(e,e.uint32());break;case 3:n.ke=Io.Color.decode(e,e.uint32());break;case 4:n.mapkd=e.string();break;case 5:n.mapks=e.string();break;case 6:n.mapke=e.string();break;case 7:n.norm=e.string();break;case 8:n.mapbump=e.string();break;case 9:n.bump=e.string();break;case 10:n.mapd=e.string();break;case 11:n.ns=e.float();break;case 12:n.d=e.float();break;case 13:n.tr=e.float();break;case 14:n.mapkdrepeat=e.string();break;default:e.skipType(7&t)}}return n},e})(),Io.Color=(()=>{function e(e){if(this.rgb=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.rgb=So.emptyArray,e.decode=function(e,t){e instanceof Co||(e=Co.create(e));let r=void 0===t?e.len:e.pos+t,n=new Io.Color;for(;e.pos<r;){let t=e.uint32();if(t>>>3==1)if(n.rgb&&n.rgb.length||(n.rgb=[]),2==(7&t)){let t=e.uint32()+e.pos;for(;e.pos<t;)n.rgb.push(e.float())}else n.rgb.push(e.float());else e.skipType(7&t)}return n},e})();var Qo=(new n.Matrix4).fromArray([1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1]);var Lo=new n.Vector3;function No(e,t){var r=t.tileset.properties.floorInfo;e.traverse((function(e){if("floor"in t.extras)e instanceof tt?(e.material.forEach((function(e){e.floor=t.extras.floor})),e.renderOrder=-1e3+t.extras.floor):e instanceof st&&(e.material.floor=t.extras.floor,e.renderOrder=-1e3+t.extras.floor);else if((e instanceof tt||e instanceof st)&&r){var i=e.geometry.index,o=e.geometry.getAttribute("position"),a=0,s=new Float32Array(o.count);if(r)if(i){for(u=0,d=i.count,p=0;p<d;p++){var l=i.array[p];Lo.set(o.array[3*l+0],o.array[3*l+1],o.array[3*l+2]),Lo.applyMatrix4(e.matrixWorld);h=Lo.y;s[l]=0;for(f=0;f<r.length;f++){var c=r[f];if(h<c.ground+c.height){s[l]=f;break}}u+=s[l]}a=u/d}else{for(var u=0,d=o.count,p=0;p<d;p++){Lo.set(o.array[3*p+0],o.array[3*p+1],o.array[3*p+2]),Lo.applyMatrix4(e.matrixWorld);var h=Lo.y;s[p]=0;for(var f=0;f<r.length;f++){var v=r[f];if(h<v.ground+v.height){s[p]=f;break}}u+=s[p]}a=u/d}e.renderOrder=-1e3+a,e.geometry.setAttribute("floor",new n.BufferAttribute(s,1)),Array.isArray(e.material)?e.material.forEach((function(e){e.defines.USE_VERTEX_FLOOR=!0,e.needsUpdate=!0})):(e.material.defines.USE_VERTEX_FLOOR=!0,e.material.needsUpdate=!0)}}))}var Vo=function(e){function t(r,i,o,a){var s,l,c,u,d=this;(d=e.call(this)||this).model=r,d.objType=i,d.search=null!==(s=a.search)&&void 0!==s?s:"",d.unloadTileQueue=[],d.boundingBox=new n.Box3,d.minLevelOfDetail=t.DEFAULT_MIN_LEVEL_OF_DETAIL,d.maxLevelOfDetail=t.DEFAULT_MAX_LEVEL_OF_DETAIL,d.needsRefined=!0,d.refined=!1,d.refineProgress=[0,0],d.loaded=!1,d.disposed=!1,d.needsRender=!0,d.matrixAutoUpdate=!1,d.renderOrder=-4,d.nodes=new Map,d.nodeGroup=new n.Group,d.nodeGroup.matrixAutoUpdate=!1,d.nodeGroup.renderOrder=-4,d.add(d.nodeGroup),d.debugBoundings=new Map,d.debugBoundingGroup=new n.Group,d.debugBoundingGroup.visible=!1,d.debugBoundingGroup.matrixAutoUpdate=!1,d.debugBoundingGroup.renderOrder=-4,d.add(d.debugBoundingGroup),d.cacheCameras=[];var p=rn(o,null!==(l=a.resourcePath)&&void 0!==l?l:"");return d.tileset=new Or(null!==(u=null===(c=d.model.work)||void 0===c?void 0:c.workCode)&&void 0!==u?u:"",p,{contentLoader:function(e){return d.loadContent(e,{fetcher:a.fetcher})},onTileLoad:function(){},onTileUnload:function(e){d.unloadTileQueue.push(e)},onTileError:function(e,t){a.onError&&a.onError(Object.assign(t,{error:t})),console.error("Tile error",e.id,t)}}),d.tileset.root.boundingVolume&&d.tileset.root.boundingVolume.getBoundingBox(d.boundingBox),d}return ne(t,e),Object.defineProperty(t.prototype,"debug",{get:function(){return this.debugBoundingGroup.visible},set:function(e){this.debugBoundingGroup.visible!==e&&(this.debugBoundingGroup.visible=e,this.needsRender=!0)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxMemoryUsage",{get:function(){return this.tileset.maxMemoryUsage},set:function(e){this.tileset.maxMemoryUsage=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxRequests",{get:function(){return this.tileset.maxRequests},set:function(e){this.tileset.maxRequests=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxScreenSpaceError",{get:function(){return this.tileset.maxScreenSpaceError},set:function(e){this.tileset.maxScreenSpaceError=e},enumerable:!1,configurable:!0}),t.prototype.loadContent=function(e,t){var r=this;if(!e.content)return Promise.resolve(!1);var i=e.content,o=nn(i.uri,this.search);if("TILESET"===e.type){var a=_e(o,{key:"model.".concat(e.siblingIndex)});return t.fetcher.ajax(a,{responseType:"text"}).then((function(e){return e.body})).then((function(e){var t=a.slice(0,a.lastIndexOf("/")+1);return rn(JSON.parse(e),t)})).then((function(t){return e.geometricError=t.geometricError,0===e.children.length&&(e.children=[new Sr("".concat(e.id,".0"),t.root,e.tileset,e)]),!0}))}return"SCENEGRAPH"===e.type?Promise.resolve().then((function(){var r,i,a,s,l,c,u,d,p,h,f="",v=o.split("#"),m=v[0],A=(v[1]||m).split("?")[0].match(/\.([0-9a-zA-Z]+)$/);return A&&(f=A[1]),"b3dm"===f?Si(_e(o,{key:"model.".concat(e.siblingIndex)}),{upAxis:e.tileset.asset.gltfUpAxis,fetcher:t.fetcher}).then((function(t){return No(t.object,e),t})):"pnts"===f?zi(_e(o,{key:"model.".concat(e.siblingIndex)}),{fetcher:t.fetcher}).then((function(t){return No(t.object,e),t})):"glb"===f?function(e,t){var r=0;return Promise.resolve().then((function(){return t.fetcher.ajax(e,{responseType:"arraybuffer"}).then((function(e){return r=e.body.byteLength,e.body}))})).then((function(r){var n;return Mi(r,{copyUV2:!1,addonExtensions:["PBM_mesh"],resourcePath:e.slice(0,e.lastIndexOf("/")+1),search:null!==(n=e.split("?")[1])&&void 0!==n?n:"",fetcher:t.fetcher})})).then((function(i){var o=new n.Matrix4;if("Z"!==t.upAxis&&o.premultiply(Qo),i.CESIUM_RTC){var a=(new n.Matrix4).setPosition(i.CESIUM_RTC.center);o.premultiply(a)}var s=i.scene;return s.applyMatrix4(o),{type:"glb",uri:e,byteLength:r,object:s,dispose:function(){return i.dispose()}}}))}(_e(o,{key:"model.".concat(e.siblingIndex)}),{upAxis:e.tileset.asset.gltfUpAxis,fetcher:t.fetcher}).then((function(t){return No(t.object,e),t})):"at3d"===f?Mo(e.extras.at3d?o:_e(o,{key:"model.".concat(e.siblingIndex)}),{textureBaseUri:null===(r=e.extras.at3d)||void 0===r?void 0:r.textureBaseUri,textureArray:null===(i=e.extras.at3d)||void 0===i?void 0:i.textureArray,textureOptions:null===(a=e.extras.at3d)||void 0===a?void 0:a.textureOptions,fetcher:t.fetcher}):"pbm"===f?mo(e.extras.pbm?o:_e(o,{key:"model.".concat(e.siblingIndex)}),{textureBaseUri:null===(s=e.extras.pbm)||void 0===s?void 0:s.textureBaseUri,textureArray:null===(l=e.extras.pbm)||void 0===l?void 0:l.textureArray,textureOptions:null===(c=e.extras.pbm)||void 0===c?void 0:c.textureOptions,fetcher:t.fetcher}):"dome"===f?To(e.extras.dome?o:_e(o,{key:"model.".concat(e.siblingIndex)}),{textureBaseUri:null===(u=e.extras.dome)||void 0===u?void 0:u.textureBaseUri,textureOptions:null===(d=e.extras.dome)||void 0===d?void 0:d.textureOptions,fetcher:t.fetcher}):"domez"===f?Do(e.extras.domez?o:_e(o,{key:"model.".concat(e.siblingIndex)}),{textureBaseUri:null===(p=e.extras.domez)||void 0===p?void 0:p.textureBaseUri,textureOptions:null===(h=e.extras.domez)||void 0===h?void 0:h.textureOptions,fetcher:t.fetcher}):void 0})).then((function(t){if(!t)return!1;var o={type:t.type,uri:t.uri,byteLength:t.byteLength,object:new Zr(t.object,r.objType,t.dispose)};if(r.disposed)return o.object.dispose(),i.data=void 0,i.byteLength=0,!1;if(o.object.traverse((function(e){(e instanceof st||e instanceof tt)&&(e.model=r.model)})),"pnts"!==o.type&&o.object.buildBvhTree(),"pnts"===t.type&&(t.object.material.uniforms.geometricError.value=e.geometricError),i.data=o,i.byteLength=o.byteLength,o.object.applyMatrix4(e.transform),o.object.updateWorldMatrix(!1,!0),o.object.matrixAutoUpdate=!1,o.object.traverse((function(e){e.renderOrder>-4&&(e.renderOrder=-4)})),o.object.visible=!1,r.boundingBox.expandByObject(o.object),r.nodes.set(e.id,o.object),r.nodeGroup.add(o.object),e.boundingVolume){var a=function(e,t){var r;if(e instanceof vr)return(r=new n.LineSegments(br,yr[Math.min(t,yr.length-1)])).position.copy(e.center),hr(e.rotation,r.quaternion),r.scale.set(e.halfSize.x,e.halfSize.y,e.halfSize.z),r.matrix.compose(r.position,r.quaternion,r.scale),r;if(e instanceof mr)return(r=new n.LineSegments(xr,yr[Math.min(t,yr.length-1)])).position.copy(e.center),r.scale.set(e.radius,e.radius,e.radius),r.matrix.compose(r.position,r.quaternion,r.scale),r;throw new Error("never")}(e.boundingVolume,e.state.selectionDepth);a.matrixWorldNeedsUpdate=!0,a.matrixAutoUpdate=!1,a.frustumCulled=!1,a.visible=!0,r.debugBoundings.set(e.id,a),r.debugBoundingGroup.add(a)}return!0})):Promise.resolve(!1)},t.prototype.intersectRaycaster=function(e,t){var r=this,n=[];return this.tileset.selectedTiles.forEach((function(t){var i;if(null===(i=t.content)||void 0===i?void 0:i.data){if(t.boundingVolume)if(!1===t.boundingVolume.clone().applyMatrix4(r.tileset.transfrom).intersectRay(e.ray))return;var o=t.content.data.object.intersectRaycaster(e);o.length&&n.push.apply(n,o)}})),t&&n.sort((function(e,t){return e.distance-t.distance})),n},t.prototype.update=function(e,t){var r,i,o=this;if(this.tileset.transfrom.equals(this.matrixWorld)||this.tileset.transfrom.copy(this.matrixWorld),this.needsRefined){this.tileset.cache.reset(),this.tileset.frameNumber++;var a={camera:{position:(new n.Vector3).copy(t.position),direction:t.getDirection(new n.Vector3),up:(new n.Vector3).copy(t.up),visible:t.visible},minLevelOfDetail:this.visible?this.minLevelOfDetail:-1,maxLevelOfDetail:this.visible?this.maxLevelOfDetail:-1,height:t.screenHeight,pixelRatio:t.pixelRatio,frameNumber:this.tileset.frameNumber,sseDenominator:2*Math.tan(.5*t.fov/180*Math.PI),cullingVolume:(new fr).setFromCamera(t)},s=this.cacheCameras.map((function(e){return ie(ie({},a),{camera:{position:(new n.Vector3).copy(e.position),direction:e.getWorldDirection(new n.Vector3),up:(new n.Vector3).copy(e.up),visible:e.visible},cullingVolume:(new fr).setFromCamera(e)})}));this.tileset.traverser.traverse(this.tileset.root,a,s),this.refined=!0,this.refineProgress[0]=0,this.refineProgress[1]=0,this.tileset.needsRefinedTiles.forEach((function(e){if(o.refineProgress[1]++,e.content&&e.state.visible){var t=e.content.loadState;if("UNLOADED"===t||"LOADING"===t)return void(o.refined=!1)}o.refineProgress[0]++})),!1===this.loaded&&(this.loaded=!0,this.tileset.needsRefinedTiles.forEach((function(e){if(!1!==o.loaded&&e.content&&e.state.visible&&0===e.state.selectionDepth){var t=e.content.loadState;"UNLOADED"!==t&&"LOADING"!==t||(o.loaded=!1)}})))}for(this.tileset.tiles.forEach((function(e){var t=e.selected,n=e.id;(r=o.nodes.get(n))&&r.visible!==t&&(r.visible=t,o.needsRender=!0),(r=o.debugBoundings.get(n))&&r.visible!==t&&(r.visible=t,o.needsRender=!0)}));i=this.unloadTileQueue.pop();){var l=i.id,c=i.content;c&&c.data&&(c.data.object.dispose(),c.data=void 0,c.byteLength=0),(r=this.nodes.get(l))&&(this.nodeGroup.remove(r),this.nodes.delete(l),this.needsRender=!0),(r=this.debugBoundings.get(l))&&(this.debugBoundingGroup.remove(r),this.debugBoundings.delete(l),this.needsRender=!0)}},t.prototype.dispose=function(){var e,t,r=this;for(this.disposed=!0,this.tileset.reset();e=this.unloadTileQueue.pop();){var n=e.id,i=e.content;i&&i.data&&(i.data.object.dispose(),i.data=void 0,i.byteLength=0),(t=this.nodes.get(n))&&(this.nodeGroup.remove(t),this.nodes.delete(n),this.needsRender=!0),(t=this.debugBoundings.get(n))&&(this.debugBoundingGroup.remove(t),this.debugBoundings.delete(n),this.needsRender=!0)}this.nodes.forEach((function(e,t,n){r.nodeGroup.remove(e),e.dispose(),n.delete(t)}))},t.DEFAULT_MIN_LEVEL_OF_DETAIL=-1,t.DEFAULT_MAX_LEVEL_OF_DETAIL=20,t.DEFAULT_MAX_MEMORY_USAGE=16,t.DEFAULT_MAX_SCREEN_SPACE_ERROR=Or.DEFAULT_MAX_SCREEN_SPACE_ERROR,t.DEFAULT_MAX_REQUESTS=Or.DEFAULT_MAX_REQUESTS,t}(n.Object3D);function zo(e,t){if(e===t)return!0;if(e&&t&&"object"==typeof e&&"object"==typeof t){if(e.constructor!==t.constructor)return!1;var r,n,i;if(Array.isArray(e)){if((r=e.length)!=t.length)return!1;for(n=r;0!=n--;)if(!zo(e[n],t[n]))return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();if((r=(i=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(n=r;0!=n--;)if(!Object.prototype.hasOwnProperty.call(t,i[n]))return!1;for(n=r;0!=n--;){var o=i[n];if(!zo(e[o],t[o]))return!1}return!0}return e!=e&&t!=t}function jo(e){return"number"==typeof e}var Uo=function(){return new Error("Invalid input.")},qo=function(){return new Error("Invalid certificate.")},_o=function(){return new Error("Invalid signature.")},Ho=function(e){return new Error("date(".concat(e.toString(),") expired."))},Go=function(e){return new Error("host(".concat(JSON.stringify(e),") is not allowed."))};function Ko(e,t){void 0===t&&(t=!1);var r=typeof e;if("string"===r)return JSON.stringify(e);if(!0===e)return"true";if(!1===e)return"false";if(null===e)return"null";if(e instanceof Array){for(var n="[",i=e.length-1,o=0;o<i;o++)n+=Ko(e[o],!1)+",";return i>-1&&(n+=Ko(e[o],!1)),n+"]"}if(e instanceof Object){if("function"==typeof e.toJSON)return Ko(e.toJSON(),t);var a=Object.keys(e).sort(),s=a.length;for(n="",o=0;o<s;){var l=a[o],c=Ko(e[l],!0);void 0!==c&&(o&&""!==n&&(n+=","),n+=JSON.stringify(l)+":"+c),o++}return"{"+n+"}"}switch(r){case"function":case"undefined":return t?void 0:null;case"number":return 0;default:return isFinite(e)?e:null}}function Wo(e){return String(Ko(e,!1))}function Yo(e){var t,r,n;if(Array.isArray(e)){var i,o,a=void 0;if(e.length<=0)return Uo();for(var s=function(t){var r=Yo(e[t]);if(r instanceof Error)return{value:r};if(a){if(a!==r.issuer)return{value:qo()}}else a=r.issuer;i?r.expire.getTime()<i.getTime()&&(i=r.expire):i=r.expire,o=o?o.filter((function(e){return-1!==r.allowHosts.indexOf(e)})):r.allowHosts},l=0;l<e.length;l++){var c=s(l);if("object"==typeof c)return c.value}return Ae({issuer:a,expire:i,allowHosts:o})}var u=JSON.parse(e),d="undefined"!=typeof location?location.hostname:"",p=Date.now();if("object"!=typeof u)return Uo();var h=new Date("string"==typeof u.expire_at&&/^\d+$/.test(u.expire_at)?Number(u.expire_at):u.expire_at),f=Array.isArray(u.allow_hosts)?u.allow_hosts:[];if(0===d.length||ye(d)||we.filter((function(e){return be(e,d)})).length>0){var v=String(null!==(t=u.certificate)&&void 0!==t?t:"");if(v){var m=new X;return m.readCertPEM(v),Ae({issuer:m.getSubjectString(),expire:h,allowHosts:f})}return Ae({issuer:"none",expire:h,allowHosts:f})}var A=String(null!==(r=u.certificate)&&void 0!==r?r:"");if(!A)return qo();var g=new X;g.readCertPEM(A);var y=String(null!==(n=u._signature)&&void 0!==n?n:"");if(!y)return _o();var b=Wo(function(e,t){for(var r={},n=0,i=Object.keys(e);n<i.length;n++){var o=i[n];-1===t.indexOf(o)&&(r[o]=e[o])}return r}(u,["_signature"]));return!1===function(e,t,r){var n=new X;if("string"==typeof r?n.readCertPEM(r):n.readCertHex(r.hex),!1===te(n))return!1;var i=new S;return i.readCertPubKeyHex(n.hex,6),!!i.verify(e,E(t))}(b,y,g)?_o():p<h.getTime()?0===f.filter((function(e){return be(e,d)})).length?Go(d):Ae({issuer:g.getSubjectString(),expire:h,allowHosts:f}):Ho(h)}var Xo=new n.Matrix4,Jo=new WeakMap,Zo=function(){function e(e,t){this.name="",this.workCode="",this.expire=new Date,this.allowHosts=[],this.initial={work:this},this.observers=[],this.issuer="none",this.raw={works:[""],options:""},this.options={transform:new n.Matrix4};var r=aa(e,t,this);if(r instanceof Error)throw new Error("[PARSE FAILED]: "+r.message+"\nError work input:\n"+JSON.stringify(e))}return e.prototype.toJSON=function(){return this.raw},e.parse=sa,e}();function $o(e){return null==e?"null":Array.isArray(e)?"array":"object"==typeof e?"dict":"value"}function ea(e,t){var r=$o(e),n=$o(t);if("null"===n)return e;if("value"===n)return t;if(n!==r)return JSON.parse(JSON.stringify(t));if("array"===n)for(var i=0;i<t.length;i++)e[i]=ea(e[i],t[i]);else if("dict"===n)for(var o in t)e[o]=ea(e[o],t[o]);return e}function ta(e,t){return 0===e.indexOf(t)}function ra(e,t,r,n){var i,o=t;if(!0===n.jsonp){o=t.replace(/([\?\#].*)?$/i,"");var a=J("".concat(o)).slice(0,7);o="".concat(o,".").concat(a,".jsonp")}if(!0===n.shortPath){var s=o.replace(e,"").split("."),l=null!==(i=s.shift())&&void 0!==i?i:"",c=s.join(".");o=$r(e,J(l))+(c?"."+c:"")}var u=o.replace(e,"");return n.baseURL&&(o=$r(n.baseURL,u)),o}function na(e,t,r,n,i){var o=r;return en(r)||(t&&(t=$r(t,String(n))),o=$r(t,o)),en(o)||(o=$r(e,o)),ta(o,e)||console.warn("".concat(o," is not start with base_url(").concat(e,").")),ra(e,o,0,i)}function ia(e,t,r){var n=t;return en(n)||(n=$r(e,t)),ta(n,e)||console.warn("".concat(n," is not start with base_url(").concat(e,").")),ra(e,n,0,r)}function oa(e,t,r,n){var i=t;return en(i)||(i=$r(r,i)),en(i)||(i=$r(e,i)),ta(i,e)||console.warn("".concat(i," is not start with base_url(").concat(e,").")),ra(e,i,0,n)}function aa(e,t,r){for(var i,o,a,s,l,c,u,d,p,h,f,v,m,A,g,y,b,x,w=JSON.stringify(t),E=[],M=0,C=[].concat(e);M<C.length;M++){var S=C[M];S instanceof Zo?E.push.apply(E,S.raw.works):"string"==typeof S?E.push(S):E.push(JSON.stringify(S))}var I=Yo(E);if(I instanceof Error)return I;t=JSON.parse(w);var P,T={transform:new n.Matrix4};if(void 0!==t.debug&&(T.debug=t.debug),t.transform&&(Array.isArray(t.transform)?T.transform.fromArray(t.transform):T.transform.copy(t.transform)),t.viewerRequestVolume&&("clone"in t.viewerRequestVolume?T.viewerRequestVolume=t.viewerRequestVolume.clone():T.viewerRequestVolume=gr(t.viewerRequestVolume)),void 0!==t.modelMinLevelOfDetail&&t.modelMinLevelOfDetail>=0&&(T.modelMinLevelOfDetail=t.modelMinLevelOfDetail),void 0!==t.modelMaxLevelOfDetail&&t.modelMaxLevelOfDetail>=0&&(T.modelMaxLevelOfDetail=t.modelMaxLevelOfDetail),void 0!==t.modelMaxRequests&&t.modelMaxRequests>=0&&(T.modelMaxRequests=t.modelMaxRequests),void 0!==t.modelMaxMemoryUsage&&t.modelMaxMemoryUsage>=0&&(T.modelMaxMemoryUsage=t.modelMaxMemoryUsage),void 0!==t.modelMaxScreenSpaceError&&t.modelMaxScreenSpaceError>=0&&(T.modelMaxScreenSpaceError=t.modelMaxScreenSpaceError),Object.defineProperty(r,"options",{configurable:!1,get:function(){return T}}),e=E.map((function(e){return JSON.parse(e)})).reduce((function(e,t){return ea(e,t)})),Object.defineProperty(r,"raw",{configurable:!1,get:function(){return{works:E,options:w}}}),t.workCode&&("string"==typeof t.workCode?P=t.workCode:"function"==typeof t.workCode&&(P=t.workCode(e))),void 0===P&&(P=String(e.resource_code||e.basic_code||e.vr_code||e.code||e.project_id||e.work_code||e.workCode)),void 0===P)return new Error("WorkCode never matched.");Object.defineProperty(r,"workCode",{configurable:!1,get:function(){return P}});var B=String(e.name);if(Object.defineProperty(r,"name",{configurable:!1,get:function(){return B}}),I instanceof Error)return I;Object.defineProperty(r,"issuer",{configurable:!1,get:function(){return I.issuer}}),Object.defineProperty(r,"expire",{configurable:!1,get:function(){return I.expire}}),Object.defineProperty(r,"allowHosts",{configurable:!1,get:function(){return I.allowHosts}});var R=null!==(i=e.base_url)&&void 0!==i?i:"";if(R&&"/"!==R[R.length-1]&&(R+="/"),I instanceof Error)return I;if(e.model){var k,O,F,D={work:r,layers:[]};e.model.file?k=ia(R,e.model.file,t):e.model.file_url&&(k=ia(R,e.model.file_url,t)),Object.defineProperty(D,"file",{configurable:!1,get:function(){return k}}),e.model.textureBase?O=oa(R,"",e.model.textureBase,t):e.model.material_base_url?O=oa(R,"",e.model.material_base_url,t):D.file&&(O=D.file.split("/").slice(0,-1).join("/").replace("/model/","/materials/")),Object.defineProperty(D,"textureBase",{configurable:!1,get:function(){return O}}),Array.isArray(e.model.textures)?(F=e.model.textures.map((function(r){var n,i;return oa(R,r,null!==(i=null!==(n=e.model.textureBase)&&void 0!==n?n:e.model.material_base_url)&&void 0!==i?i:"",t)})),Object.freeze(F)):Array.isArray(e.model.material_textures)&&(F=e.model.material_textures.map((function(r){var n,i;return oa(R,r,null!==(i=null!==(n=e.model.textureBase)&&void 0!==n?n:e.model.material_base_url)&&void 0!==i?i:"",t)})),Object.freeze(F)),Object.defineProperty(D,"textures",{configurable:!1,get:function(){return F}});var Q=[];if(Array.isArray(e.model.tiles))for(var L=0,N=e.model.tiles;L<N.length;L++){var V=N[L];V&&(V.tileset||V.tileset_url)&&Q.push(Object.freeze({type:null!==(o=V.type)&&void 0!==o?o:"mesh",name:null!==(a=V.name)&&void 0!==a?a:"",upAxis:null!==(l=null!==(s=V.upAxis)&&void 0!==s?s:V.up_axis)&&void 0!==l?l:"-Y",tileset:V.tileset||V.tileset_url}))}else e.model.tiles&&(e.model.tiles.tileset||e.model.tiles.tileset_url)&&Q.push(Object.freeze({type:null!==(c=e.model.tiles.type)&&void 0!==c?c:"mesh",name:null!==(u=e.model.tiles.name)&&void 0!==u?u:"lod",upAxis:null!==(p=null!==(d=e.model.tiles.upAxis)&&void 0!==d?d:e.model.tiles.up_axis)&&void 0!==p?p:"-Y",tileset:e.model.tiles.tileset||e.model.tiles.tileset_url}));if(Array.isArray(e.model.layers))for(var z=0,j=e.model.layers;z<j.length;z++){var U=j[z];U&&(U.tileset||U.tileset_url)&&Q.push(Object.freeze({type:null!==(h=U.type)&&void 0!==h?h:"mesh",name:null!==(f=U.name)&&void 0!==f?f:"",upAxis:null!==(v=U.upAxis)&&void 0!==v?v:U.up_axis,tileset:U.tileset||U.tileset_url}))}Object.freeze(Q),Object.defineProperty(D,"layers",{configurable:!1,get:function(){return Q}}),Object.defineProperty(r,"model",{configurable:!1,get:function(){if(D.file||D.layers.length)return D}})}if(I instanceof Error)return I;var q=[];if(e.observers&&Array.isArray(e.observers)){var _=[];e.panorama&&(Array.isArray(e.panorama)?_=e.panorama:Array.isArray(e.panorama.list)?_=e.panorama.list:Array.isArray(e.panorama.info)&&(_=e.panorama.info));for(var H=function(i){var o={},a=e.observers[i];if(!a)return"break";var s=_[i];if(!s)return"break";a=Object.assign({},a,s,{active:!1!==a.active&&!1!==s.active}),Object.defineProperty(o,"work",{configurable:!1,get:function(){return r}}),Object.defineProperty(o,"index",{configurable:!1,get:function(){return i}}),Object.defineProperty(o,"panoIndex",{configurable:!1,get:function(){return i}});var l=Xe({workCode:r.workCode,panoIndex:i});Object.defineProperty(o,"panoId",{configurable:!1,get:function(){return l}});var c=Object.freeze({workCode:r.workCode,panoIndex:i});Object.defineProperty(o,"pano",{configurable:!1,get:function(){return c}});var u=!1!==a.active;Object.defineProperty(o,"active",{configurable:!1,get:function(){return u}});var d=!0===a.loadable;Object.defineProperty(o,"loadable",{configurable:!1,get:function(){return d}});var p=a.derived_id;Object.defineProperty(o,"derivedId",{configurable:!1,get:function(){return p}});var h=a.derived_id_str;Object.defineProperty(o,"derivedIdStr",{configurable:!1,get:function(){return h}});var f=null!==(x=null!==(y=null!==(A=null===(m=e.panorama)||void 0===m?void 0:m.pano_high_cube_base_url)&&void 0!==A?A:null===(g=e.panorama)||void 0===g?void 0:g.pano_cube_base_url)&&void 0!==y?y:null===(b=e.panorama)||void 0===b?void 0:b.base_url)&&void 0!==x?x:"",v={up:na(R,f,a.images?a.images.up:a.up,i,t),down:na(R,f,a.images?a.images.down:a.down,i,t),right:na(R,f,a.images?a.images.right:a.right,i,t),left:na(R,f,a.images?a.images.left:a.left,i,t),front:na(R,f,a.images?a.images.front:a.front,i,t),back:na(R,f,a.images?a.images.back:a.back,i,t)},w=a.images?a.images.depth:a.depth;w&&(v.depth=na(R,f,w,i,t));var E=a.images?a.images.luminance:a.luminance;E&&(v.luminance=Object.freeze({up:na(R,f,E.up,i,t),down:na(R,f,E.down,i,t),right:na(R,f,E.right,i,t),left:na(R,f,E.left,i,t),front:na(R,f,E.front,i,t),back:na(R,f,E.back,i,t)}));var M=a.images?a.images.tiles:a.tiles;if(M){for(var C=[],S=function(e){var t=e.match(/\/cube_(\d+)\//);if(t){var r=Number(t[1]);if(function(e){return 0==(e&e-1)&&0!==e}(r))return r}return!1},I=function(e,t){return e.replace(/\/cube_(\d+)\//,(function(){return"/cube_".concat(t,"/")}))},P=0,T=M;P<T.length;P++){var B=T[P];if("number"==typeof B){var k=B,O=S(v.front);if(!1===O)continue;if((z=Math.max(O,512*Math.pow(2,k)))>2048){var F=I(v.up,z),D=I(v.down,z),Q=I(v.right,z),L=I(v.left,z),N=I(v.front,z),V=I(v.back,z);C.push(Object.freeze({level:k,size:z,up:F,down:D,right:Q,left:L,front:N,back:V}))}else{F=v.up,D=v.down,Q=v.right,L=v.left,N=v.front,V=v.back;C.push(Object.freeze({level:k,size:z,up:F,down:D,right:Q,left:L,front:N,back:V}))}}else{var z;if("number"!=typeof(k=B.level))continue;if("number"!=typeof(z=B.size))continue;F=na(R,f,B.up,i,t),D=na(R,f,B.down,i,t),Q=na(R,f,B.right,i,t),L=na(R,f,B.left,i,t),N=na(R,f,B.front,i,t),V=na(R,f,B.back,i,t);C.push(Object.freeze({level:k,size:z,up:F,down:D,right:Q,left:L,front:N,back:V}))}}C.sort((function(e,t){return e.level-t.level})),Object.freeze(C),Object.defineProperty(v,"tiles",{configurable:!1,get:function(){return C}})}Object.freeze(v),Object.defineProperty(o,"images",{configurable:!1,get:function(){return v}});var j=new n.Vector3;if(a.position instanceof n.Vector3)j.copy(a.position);else{if(!Array.isArray(a.position))return"break";j.fromArray(a.position)}Object.freeze(j),Object.defineProperty(o,"position",{configurable:!1,get:function(){return j}});var U=new n.Vector3;if(a.standingPosition instanceof n.Vector3)U.copy(a.standingPosition);else if(Array.isArray(a.standingPosition))U.fromArray(a.standingPosition);else if(a.standing_position instanceof n.Vector3)U.copy(a.standing_position);else{if(!Array.isArray(a.standing_position))return"break";U.fromArray(a.standing_position)}Object.freeze(U),Object.defineProperty(o,"standingPosition",{configurable:!1,get:function(){return U}});var H=new n.Quaternion;if(a.quaternion instanceof n.Quaternion)H.copy(a.quaternion);else if(Array.isArray(a.quaternion))H.fromArray(a.quaternion);else{if(!a.quaternion)return"break";var G=a.quaternion,K=G.x,W=G.y,Y=G.z,X=G.w;H.set(K,W,Y,X)}Object.freeze(H),Object.defineProperty(o,"quaternion",{configurable:!1,get:function(){return H}});var J,Z=0;jo(a.floorIndex)?Z=a.floorIndex:jo(a.floor_index)?Z=a.floor_index:jo(a.floor)&&(Z=a.floor),Object.defineProperty(o,"floorIndex",{configurable:!1,get:function(){return Z}}),a.video&&(J={},"string"==typeof a.video.source&&(J.source=a.video.source),a.video.matrix instanceof n.Matrix4?J.matrix=a.video.matrix.clone():Array.isArray(a.video.matrix)&&(J.matrix=(new n.Matrix4).fromArray(a.video.matrix)),a.video.size instanceof n.Vector2?J.size=a.video.size.clone():Array.isArray(a.video.size)&&(J.size=(new n.Vector2).fromArray(a.video.size)),J.source&&J.matrix&&J.size&&(o.video=J)),Object.freeze(J),Object.defineProperty(o,"video",{configurable:!1,get:function(){return J}}),Array.isArray(a.accessibleNodes)?(o.accessibleNodes=a.accessibleNodes.slice(),o.accessibleIds=a.accessibleNodes.map((function(e){return Xe({workCode:r.workCode,panoIndex:e})}))):Array.isArray(a.accessible_nodes)&&(o.accessibleNodes=a.accessible_nodes.slice(),o.accessibleIds=a.accessible_nodes.map((function(e){return Xe({workCode:r.workCode,panoIndex:e})}))),Array.isArray(a.visibleNodes)?(o.visibleNodes=a.visibleNodes.slice(),o.visibleIds=a.visibleNodes.map((function(e){return Xe({workCode:r.workCode,panoIndex:e})}))):Array.isArray(a.visible_nodes)&&(o.visibleNodes=a.visible_nodes.slice(),o.visibleIds=a.visible_nodes.map((function(e){return Xe({workCode:r.workCode,panoIndex:e})}))),q[i]=o},G=0;G<e.observers.length;G++){if("break"===H(G))break}}for(var K=function(e){if(e.accessibleIds){var t=e.accessibleIds.filter((function(e){return!!q.find((function(t){return t.panoId===e}))}));Object.freeze(t),Object.defineProperty(e,"accessibleIds",{configurable:!1,get:function(){return t}})}else{for(var r=[],n=0;n<q.length;n++)q[n]!==e&&(Math.abs(q[n].position.y-e.position.y)>3||q[n].position.distanceTo(e.position)>10||r.push(q[n].panoId));Object.freeze(r),Object.defineProperty(e,"accessibleIds",{configurable:!1,get:function(){return r}})}if(e.accessibleNodes){var i=e.accessibleNodes.filter((function(e){return!!q.find((function(t){return t.panoIndex===e}))}));Object.freeze(i),Object.defineProperty(e,"accessibleNodes",{configurable:!1,get:function(){return i}})}else{var o=[];for(n=0;n<q.length;n++)q[n]!==e&&(Math.abs(q[n].position.y-e.position.y)>3||q[n].position.distanceTo(e.position)>10||o.push(q[n].panoIndex));Object.freeze(o),Object.defineProperty(e,"accessibleNodes",{configurable:!1,get:function(){return o}})}if(e.visibleIds){var a=e.visibleIds.filter((function(e){return!!q.find((function(t){return t.panoId===e}))}));Object.freeze(a),Object.defineProperty(e,"visibleIds",{configurable:!1,get:function(){return a}})}else{var s=e.accessibleIds.slice();Object.freeze(s),Object.defineProperty(e,"visibleIds",{configurable:!1,get:function(){return s}})}if(e.visibleNodes){var l=e.visibleNodes.filter((function(e){return!!q.find((function(t){return t.panoIndex===e}))}));Object.freeze(l),Object.defineProperty(e,"visibleNodes",{configurable:!1,get:function(){return l}})}else{var c=e.accessibleNodes.slice();Object.freeze(c),Object.defineProperty(e,"visibleNodes",{configurable:!1,get:function(){return c}})}},W=0,Y=q;W<Y.length;W++){K(Y[W])}if(Object.freeze(q),Object.defineProperty(r,"observers",{configurable:!1,get:function(){return q}}),I instanceof Error)return I;if(e.initial){if(("Panorama"===e.initial.mode&&0===r.observers.length||"Floorplan"===e.initial.mode||"Topview"===e.initial.mode||"Model"===e.initial.mode||"Mapview"===e.initial.mode||"DepthPanorama"===e.initial.mode)&&(r.initial.mode=e.initial.mode),jo(e.initial.latitude)&&(r.initial.latitude=e.initial.latitude),jo(e.initial.longitude)?r.initial.longitude=e.initial.longitude:jo(e.initial.heading)&&(r.initial.longitude=-(360*(e.initial.heading-.25)+90)/180*Math.PI),jo(e.initial.fov)&&(r.initial.fov=e.initial.fov),r.observers.length>0){var X=void 0;jo(e.initial.panoIndex)?X=e.initial.panoIndex:jo(e.initial.pano_index)?X=e.initial.pano_index:jo(e.initial.pano)&&(X=e.initial.pano),"number"==typeof X&&(X=jr(X,0,r.observers.length-1),r.initial.panoIndex=X)}if(jo(e.initial.distance)&&(r.initial.distance=e.initial.distance),Array.isArray(e.initial.offset)){var J=[0,0,0].map((function(t,r){var n=Number(e.initial.offset[r]);return isNaN(n)||!isFinite(n)?0:n}));r.initial.offset=(new n.Vector3).fromArray(J)}r.initial.mode||"number"!=typeof r.initial.panoIndex||(r.initial.mode="Panorama")}return I instanceof Error?I:(Jo.set(r,{works:E,options:w}),r)}function sa(e,t){"string"==typeof e&&"{"===e.trim()[0]&&(e=JSON.parse(e));var r=Jo.get(e);if(r){if(t&&!zo(JSON.parse(r.options),t))throw new Error("[PARSE FAILED]: work is parsed with different options.");return e}try{return new Zo(e,null!=t?t:{})}catch(t){throw new Error("[PARSE FAILED]: "+t.message+"\nError work input:\n"+JSON.stringify(e))}}function la(e){for(var t={},r=[],i={},o=0,a=e;o<a.length;o++){var s=a[o],l=t[s.workCode];l||(l=t[s.workCode]=(new n.Matrix4).copy(s.options.transform));for(var c=0,u=s.observers;c<u.length;c++){var d=u[c],p={isResolved:!0,active:d.active,accessibleIds:d.accessibleIds,visibleIds:d.visibleIds,accessibleNodes:d.accessibleNodes,visibleNodes:d.visibleNodes,floorIndex:d.floorIndex,images:d.images,index:d.index,panoIndex:d.panoIndex,loadable:d.loadable,panoId:d.panoId,pano:d.pano,work:d.work,derivedId:d.derivedId,video:d.video,position:(new n.Vector3).copy(d.position).applyMatrix4(l),standingPosition:(new n.Vector3).copy(d.standingPosition).applyMatrix4(l),quaternion:(new n.Quaternion).setFromRotationMatrix(Xo.makeRotationFromQuaternion(d.quaternion).premultiply(l))};Object.freeze(p),r.push(p),i[p.panoId]=p}}Object.freeze(r);for(var h=e.slice(),f={},v=0,m=h;v<m.length;v++){s=m[v];f[s.workCode]=s}return Object.freeze(Object.assign(h,{get initial(){return h.length>0?h[0].initial:{work:{}}},get resolvedObservers(){return r},getWork:function(e){return f[e]},getResolvedObserver:function(t){var r,n;return $e(t)?i[t]:"number"==typeof t?i[Xe({workCode:null!==(n=null===(r=e[0])||void 0===r?void 0:r.workCode)&&void 0!==n?n:"",panoIndex:t})]:i[Xe(t)]},update:function(){for(var e={},i=0,o=h;i<o.length;i++){var a=o[i],s=a.options.transform,l=t[a.workCode];l?l.equals(s)||(l.copy(s),e[a.workCode]=!0):(t[a.workCode]=(new n.Matrix4).copy(s),e[a.workCode]=!0)}for(var c=0,u=r;c<u.length;c++){var d=u[c];if(!0===e[d.work.workCode]){var p=d.work.observers[d.index],f=d.work.options.transform;d.position.copy(p.position).applyMatrix4(f),d.standingPosition.copy(p.standingPosition).applyMatrix4(f),d.quaternion.setFromRotationMatrix(Xo.makeRotationFromQuaternion(p.quaternion).premultiply(f))}}}}))}var ca=new Map;function ua(e){var t=ca.get(e);if(t)return t;throw new Error("fetcher never registered.")}var da=function(e,t){void 0===t&&(t=1e-4),t=Math.max(t,Number.EPSILON);for(var r={},i=e.getIndex(),o=e.getAttribute("position"),a=i?i.count:o.count,s=0,l=Object.keys(e.attributes),c={},u={},d=[],p=["getX","getY","getZ","getW"],h=0,f=l.length;h<f;h++){c[b=l[h]]=[],(M=e.morphAttributes[b])&&(u[b]=new Array(M.length).fill().map((function(){return[]})))}var v=Math.log10(1/t),m=Math.pow(10,v);for(h=0;h<a;h++){var A=i?i.getX(h):h,g="",y=0;for(f=l.length;y<f;y++)for(var b=l[y],x=(E=e.getAttribute(b)).itemSize,w=0;w<x;w++)g+="".concat(~~(E[p[w]](A)*m),",");if(g in r)d.push(r[g]);else{for(y=0,f=l.length;y<f;y++){b=l[y];var E=e.getAttribute(b),M=e.morphAttributes[b],C=(x=E.itemSize,c[b]),S=u[b];for(w=0;w<x;w++){var I=p[w];if(C.push(E[I](A)),M)for(var P=0,T=M.length;P<T;P++)S[P].push(M[P][I](A))}}r[g]=s,d.push(s),s++}}var B=e.clone();for(h=0,f=l.length;h<f;h++){b=l[h];var R=e.getAttribute(b),k=new R.array.constructor(c[b]);E=new n.BufferAttribute(k,R.itemSize,R.normalized);if(B.setAttribute(b,E),b in u)for(y=0;y<u[b].length;y++){var O=e.morphAttributes[b][y],F=(k=new O.array.constructor(u[b][y]),new n.BufferAttribute(k,O.itemSize,O.normalized));B.morphAttributes[b][y]=F}}return B.setIndex(d),B},pa=new n.Vector3,ha=new n.Matrix3,fa=6378137,va=298.257223563;function ma(e){for(var t=fa-fa/va,r=(fa*fa-t*t)/(fa*fa),n=Math.sqrt(e.x*e.x+e.y*e.y),i=0,o=Math.atan2(e.z,n),a=0;i++<1e3;){var s=Math.sin(o),l=fa/Math.sqrt(1-r*s*s);a=n/Math.cos(o)-l;var c=Math.atan2(e.z/(l*(1-r)+a),n/(l+a));if(Math.abs(c-o)<1e-12)break;o=c}return{longitude:Math.atan2(e.y,e.x),latitude:o,altitude:a}}function Aa(e){switch(e){case"Floorplan":case"Mapview":return!0;default:return!1}}function ga(e){switch(e){case"Panorama":case"VRPanorama":case"XRPanorama":case"Model":case"DepthPanorama":return!0;default:return!1}}var ya=new n.Vector3,ba=new n.Sphere,xa=new n.Matrix4,wa=new n.Matrix4,Ea=new n.Box3,Ma=(new n.Matrix4).fromArray([1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1]),Ca=(new n.Matrix4).fromArray([1,0,0,0,0,-1,0,0,0,0,-1,0,0,0,0,1]),Sa=new n.Box3(new n.Vector3(-.5,-.5,-.5),new n.Vector3(.5,.5,.5));function Ia(e){var t=/([0-9a-z\.\_\-]+)([\?\#].*)?$/i.exec(e);if(t){var r=String(t[1]).trim().split(".").slice(1).reverse()[0];if(r)return r}return""}var Pa=function(e){function t(t){void 0===t&&(t={});var r,i,o,a=this;return(a=e.call(this)||this).name="",a.onError=null!==(r=t.onError)&&void 0!==r?r:fe,a.onShownFloorChange=null!==(i=t.onShownFloorChange)&&void 0!==i?i:fe,a.onLoad=null!==(o=t.onLoad)&&void 0!==o?o:fe,a.work=null,a.viewLayers=[],a.bounding=new n.Box3(new n.Vector3,new n.Vector3),a.floorLength=0,a.textureOptions={},a.refined=!1,a.refineProgress=[0,0],a.loaded=!1,a.matrixAutoUpdate=!1,a.renderOrder=-4,a.needsRender=!0,a.materialVersion=0,a.materialParameters=ie({},it),a.cacheCameras=[],a.disposed=!1,a}return ne(t,e),Object.defineProperty(t.prototype,"empty",{get:function(){return 0===this.viewLayers.length},enumerable:!1,configurable:!0}),t.prototype.getMaterial=function(){return ie({},this.materialParameters)},t.prototype.setMaterial=function(e){var t=this.materialParameters.shownFloorIndex;if(at(this.materialParameters,e)){var r=this.materialParameters.shownFloorIndex;t!==r&&this.onShownFloorChange(r),this.materialVersion++,this.needsRender=!0}},Object.defineProperty(t.prototype,"shownFloorIndex",{get:function(){return this.materialParameters.shownFloorIndex},set:function(e){this.setMaterial({shownFloorIndex:e})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"shownFloor",{get:function(){return-1===this.shownFloorIndex?null:this.shownFloorIndex},set:function(e){this.shownFloorIndex=null===e?-1:e},enumerable:!1,configurable:!0}),t.prototype.show=function(e){this.shownFloor=null!=e?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,t){void 0===t&&(t=30/180*Math.PI);for(var r=Math.cos(t),i=[],o=0,a=this.children;o<a.length;o++){var s=a[o];if(s instanceof Vo)s.tileset.selectedTiles.forEach((function(t){var o,a,s;if(!(t.boundingVolume&&t.boundingVolume.distanceTo(e.center)>e.radius)){var l=null===(a=null===(o=t.content)||void 0===o?void 0:o.data)||void 0===a?void 0:a.object;if(l&&l.visible&&l.bvhTree){xa.copy(l.matrixWorld),wa.getInverse(xa),ba.copy(e).applyMatrix4(wa);var c={},u=["a","b","c"],d=l.bvhTree.trianglesInSphere(ba.center,ba.radius),p=new n.BufferGeometry;p.setAttribute("position",new n.BufferAttribute(d,3));var h=da(p),f=h.getAttribute("position").array,v=(null===(s=h.getIndex())||void 0===s?void 0:s.array)||[];p.dispose(),h.dispose();for(var m=[],A=[],g=0,y=f.length;g<y;g+=3){var b=new n.Vector3(f[g],f[g+1],f[g+2]).applyMatrix4(xa);m.push(b)}for(g=0,y=v.length;g<y;g+=3){var x=v[g],w=v[g+1],E=v[g+2],M=(new n.Vector3).crossVectors(m[w].clone().sub(m[x]),m[E].clone().sub(m[x])).normalize();A.push({a:x,b:w,c:E,normal:M})}for(g=0,y=A.length;g<y;g++)for(var C=A[g],S=0;S<3;S++){var I=C[u[S]],P=C[u[(S+1)%3]],T=[Math.min(I,P),Math.max(I,P)];void 0===c[B=T[0]+"-"+T[1]]?c[B]={index1:T[0],index2:T[1],face1:g}:c[B].face2=g}for(var B in c){var R=c[B];if(void 0===R.face2||A[R.face1].normal.dot(A[R.face2].normal)<=r){var k=m[R.index1],O=m[R.index2];i.push(new n.Line3(k,O))}}m.length=0,A.length=0}}}))}return i},t.prototype.intersectRaycaster=function(e,t){for(var r=[],n=0,i=this.children;n<i.length;n++){var o=i[n];if(o instanceof Vo&&o.visible){var a=o.intersectRaycaster(e,!1);a.length&&r.push.apply(r,a)}}return"number"==typeof t&&(r=r.filter((function(e){return e.floor===t}))),r=r.sort((function(e,t){return e.distance-t.distance})),r},t.prototype.load=function(e,t){var r,i,o,a=this;if(void 0===t&&(t={}),this.work=e,this.name=this.work.workCode,!e.model)return Promise.resolve();for(var s=e.model,l=e.options,c=0,u=0,d=e.observers;u<d.length;u++){var p=d[u];c=Math.max(c,p.floorIndex)}this.floorLength=c+1;for(var h=!1,f=[],v=function(t){var r=t.tileset,o=t.upAxis,s=t.name,c=t.type,u="";"mesh"===c&&(h=!0);var d=r.split("#"),p=d[0],v=d[1],m=null!==(i=(v||p).split("?")[1])&&void 0!==i?i:"",A=ua(e).ajax(_e(r,{key:"model.0"}),{responseType:"text"}).then((function(t){var i=JSON.parse(t.body),d=i.root;"lodVersion"in i&&(o="-Y","floorInfo"in i&&(i.properties=i.properties||{},i.properties.floorInfo=i.floorInfo.map((function(e){return{ground:-e.ground,height:e.height}})),delete i.floorInfo),i.asset.tilesetVersion=String(i.lodVersion),delete i.lodVersion);var p=new n.Matrix4,h=d.boundingVolume?gr(d.boundingVolume):void 0;switch(h&&d.transform&&h.applyMatrix4(xa.fromArray(d.transform)),o){case"Z":p.copy(Ma);break;case"-Y":p.copy(Ca);break;case"WGS84":if(h){h.getCenter(ya),function(e,t){var r=ma(e),i=r.longitude,o=r.latitude,a=r.altitude,s=Math.sin(o),l=Math.sin(i),c=Math.cos(o),u=Math.cos(i),d=t.fromArray([-l,-s*u,c*u,0,+u,-s*l,c*l,0,0,c,s,0,0,0,0,1]),p=ha.setFromMatrix4(d),h=pa.copy(e).applyMatrix3(p).multiplyScalar(-1);d.setPosition(h);var f=(new n.Matrix4).fromArray([1,0,0,0,0,1,0,0,0,0,1,0,0,0,a,1]);d.premultiply(f)}(ya,p),p.premultiply(Ma);var f=ma(ya),v=f.longitude,A=f.latitude;u=[A,v].map((function(e){return(e/Math.PI*180).toFixed(6)})).join(",")}}i.root={refine:"REPLACE",geometricError:i.geometricError,transform:p.toArray(),boundingVolume:h?h.toJson():void 0,viewerRequestVolume:l.viewerRequestVolume?l.viewerRequestVolume.toJson():void 0,children:[d]};var g=r?r.slice(0,r.lastIndexOf("/")+1):"",y=new Vo(a,c,i,{resourcePath:g,search:m,fetcher:ua(e)});y.name=r,y.matrix.copy(l.transform),y.matrix.decompose(y.position,y.quaternion,y.scale),y.matrixWorldNeedsUpdate=!0;return{name:s,type:c,upAxis:o,coordinates:u,scene:y,error:null,coordinatesToWorldPoint:function(e){if("WGS84"!==o)throw new Error("coordinatesToWorldPoint require WGS84 upAxis.");var t=function(e){var t=fa-fa/va,r=(fa*fa-t*t)/(fa*fa),i=Math.sin(e.latitude),o=Math.cos(e.latitude),a=Math.sin(e.longitude),s=Math.cos(e.longitude),l=fa/Math.sqrt(1-r*i*i),c=(l+e.altitude)*o*s,u=(l+e.altitude)*o*a,d=(t*t/(fa*fa)*l+e.altitude)*i;return new n.Vector3(c,u,d)}(e);return t.applyMatrix4(p).applyMatrix4(y.matrix)},worldPointToCoordinates:function(e){if("WGS84"!==o)throw new Error("worldPointToCoordinates require WGS84 upAxis.");var t=(new n.Matrix4).premultiply(p).premultiply(y.matrix),r=(new n.Matrix4).getInverse(t);return ma(e.clone().applyMatrix4(r))}}}));f.push(A.catch((function(e){a.onError(e);return{name:s,type:c,scene:null,error:e,upAxis:o,coordinates:"",coordinatesToWorldPoint:function(e){throw new Error("coordinatesToWorldPoint require WGS84 upAxis.")},worldPointToCoordinates:function(e){throw new Error("worldPointToCoordinates require WGS84 upAxis.")}}})))},m=0,A=s.layers;m<A.length;m++){v(A[m])}if(!h&&s.file){var g=s.file,y=s.textureBase,b=s.textures,x={asset:{gltfUpAxis:"Z",version:"0.0"},geometricError:0,root:{content:{uri:g},refine:"REPLACE",geometricError:0,viewerRequestVolume:l.viewerRequestVolume?l.viewerRequestVolume.toJson():void 0,extras:(r={},r[Ia(g)||"at3d"]={textureBaseUri:y,textureArray:b,textureOptions:null!==(o=t.textureOptions)&&void 0!==o?o:{}},r)}},w=g.slice(0,g.lastIndexOf("/")+1),E=new Vo(this,"mesh",x,{resourcePath:w,fetcher:ua(e)});E.name=g,E.matrix.copy(l.transform),E.matrix.decompose(E.position,E.quaternion,E.scale),E.matrixWorldNeedsUpdate=!0;var M=Promise.resolve({scene:E,error:null,coordinates:"",name:"fallback",type:"mesh",upAxis:"Y",coordinatesToWorldPoint:function(e){throw new Error("coordinatesToWorldPoint require WGS84 upAxis.")},worldPointToCoordinates:function(e){throw new Error("worldPointToCoordinates require WGS84 upAxis.")}});f.push(M)}return Promise.all(f).then((function(e){for(var t=[],r=[],n=[],i=0,o=e;i<o.length;i++){var s=o[i];if(a.viewLayers.push(s),s.scene){if(a.disposed){s.scene.dispose();continue}switch(a.add(s.scene),s.scene.visible=!1,s.type){case"lod":t.push(s.scene);break;case"point_cloud":r.push(s.scene);break;default:n.push(s.scene)}}}t.length?t[0].visible=!0:r.length?r[0].visible=!0:n.length&&(n[0].visible=!0)}))},t.prototype.update=function(e,t,r){var i,o,a,s,l,c;if(this.children.length){var u=this.loaded;this.refined=null!==this.work,this.refineProgress[0]=0,this.refineProgress[1]=0,this.loaded=null!==this.work,this.bounding.makeEmpty();for(var d=0,p=this.children;d<p.length;d++){var h=p[d];h instanceof Vo&&(this.work&&(h.minLevelOfDetail=null!==(i=this.work.options.modelMinLevelOfDetail)&&void 0!==i?i:Vo.DEFAULT_MIN_LEVEL_OF_DETAIL,h.maxLevelOfDetail=0!==this.materialParameters.modelAlpha&&h.loaded?null!==(o=this.work.options.modelMaxLevelOfDetail)&&void 0!==o?o:Vo.DEFAULT_MAX_LEVEL_OF_DETAIL:0,h.maxScreenSpaceError=null!==(a=this.work.options.modelMaxScreenSpaceError)&&void 0!==a?a:Vo.DEFAULT_MAX_SCREEN_SPACE_ERROR,h.maxRequests=null!==(s=this.work.options.modelMaxRequests)&&void 0!==s?s:Vo.DEFAULT_MAX_REQUESTS,h.maxMemoryUsage=null!==(l=this.work.options.modelMaxMemoryUsage)&&void 0!==l?l:Vo.DEFAULT_MAX_MEMORY_USAGE,h.debug=null!==(c=this.work.options.debug)&&void 0!==c&&c,h.cacheCameras=this.cacheCameras,ga(r)?h.needsRefined=0===this.materialParameters.modelAlpha||1===this.materialParameters.modelAlpha:h.needsRefined=!0,this.work.options.transform.equals(h.matrix)||(h.matrix.copy(this.work.options.transform),h.matrix.decompose(h.position,h.quaternion,h.scale),h.matrixWorldNeedsUpdate=!0)),h.update(e,t),h.boundingBox.isEmpty()||(Ea.copy(h.boundingBox).applyMatrix4(h.matrix),this.bounding.union(Ea)),!0===h.needsRender&&(h.needsRender=!1,this.needsRender=!0),!1===h.refined&&(this.refined=!1),this.refineProgress[0]+=h.refineProgress[0],this.refineProgress[1]+=h.refineProgress[1],!1===h.loaded&&(this.loaded=!1))}this.bounding.isEmpty()&&this.bounding.copy(Sa),!1===u&&!0===this.loaded&&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 n.Vector3,new n.Vector3)},t.prototype.dispose=function(){var e;for(this.disposed=!0;e=this.children[0];)e instanceof Vo&&e.dispose(),this.remove(e)},t}(n.Object3D);function Ta(){var e=new n.Box3,t=function(e,t){for(var r=ie({},e),n=0,i=t;n<i.length;n++){var o=i[n];o in r&&delete r[o]}return r}(it,["clippers","shownFloorIndex"]),r=Object.assign([],{bounding:e,needsRender:!1,refined:!1,refineProgress:[0,0],loaded:!1,materialVersion:0,cacheCameras:[],autoUpdate:!0,intersectRaycaster:function(e,t){var n;if(0===r.length)n=[];else if(1===r.length)n=r[0].intersectRaycaster(e,t);else{n=[];for(var i=0,o=r;i<o.length;i++){var a=o[i];if(a.visible){var s=a.intersectRaycaster(e,t);s.length&&n.push.apply(n,s)}}n.sort((function(e,t){return e.distance-t.distance}))}return n},setMaterial:function(e){at(t,e)&&(r.materialVersion++,r.needsRender=!0)},getMaterial:function(){return ie({},t)},update:function(n,i,o){if(!1!==r.autoUpdate){r.refined=r.length>0,r.loaded=r.length>0,r.refineProgress[0]=0,r.refineProgress[1]=0,e.makeEmpty();for(var a=0,s=r.cacheCameras;a<s.length;a++){var l=s[a];l.updateMatrixWorld(!0),l.updateProjectionMatrix()}for(var c=0,u=r;c<u.length;c++){var d=u[c];d.setMaterial(t),d.cacheCameras=r.cacheCameras,d.update(n,i,o),!0===d.needsRender&&(r.needsRender=!0,d.needsRender=!1),!1===d.refined&&(r.refined=!1),r.refineProgress[0]+=d.refineProgress[0],r.refineProgress[1]+=d.refineProgress[1],!1===d.loaded&&(r.loaded=!1),e.union(d.bounding)}e.isEmpty()&&e.copy(Sa)}}});return r}function Ba(e,t,r){return e+(t-e)*r}function Ra(e,t){var r=t[1]-t[0];return e<t[0]?Ra(e+r,t):e>=t[1]?Ra(e-r,t):e}function ka(e,t,r,n){return n?function(e,t,r,n){var i=n[1]-n[0];return e=Ra(e,n),Ba((t=Ra(t,n))-e>i/2?e+i:e-t>i/2?e-i:e,t,r)}(e,t,r,n):Ba(e,t,r)}var Oa=function(){function e(e){for(var t in this.config={},this.progress=1,this.ended=!0,this.value={},this.startTime=me(),this.startVelocity=0,this.duration=0,this.keyframes=[],e){var r=e[t];"number"==typeof r?(this.value[t]=r,this.config[t]={circle:!1}):(this.value[t]=r.value,this.config[t]={circle:r.circle})}this.keyframes=[{progress:0,value:ie({},this.value)},{progress:1,value:ie({},this.value)}]}return e.prototype.getProgress=function(e){var t=e-this.startTime;return t<0?0:t>=this.duration?1:1-function(e,t,r,n){var i=(t*r+2*e)/Math.pow(r,3),o=-(2*t*r+3*e)/Math.pow(r,2),a=t,s=e;return i*Math.pow(n,3)+o*Math.pow(n,2)+a*n+s}(1,this.startVelocity,this.duration,t)},e.prototype.getValue=function(e){for(var t=1;t<this.keyframes.length;t++)if(this.keyframes[t].progress>e){var r=this.keyframes[t-1],n=this.keyframes[t],i={};for(var o in this.config){var a=(e-r.progress)/(n.progress-r.progress);i[o]=ka(r.value[o],n.value[o],a,this.config[o].circle)}return i}return ie({},this.keyframes[this.keyframes.length-1].value)},e.prototype.getProgressVelocity=function(e){var t=e-this.startTime;return t>=this.duration?0:function(e,t,r,n){var i=(t*r+2*e)/Math.pow(r,3),o=-(2*t*r+3*e)/Math.pow(r,2),a=t;return 3*i*Math.pow(n,2)+2*o*n+a}(1,this.startVelocity,this.duration,t)},e.prototype.update=function(e){return!!this.ended||(this.progress=Math.min(1,Math.max(0,this.progress,this.getProgress(e))),this.value=this.getValue(this.progress),this.ended=this.progress>=1,this.ended&&this.callbacks&&(this.callbacks[0](),this.callbacks=void 0),this.ended)},e.prototype.getKeyFrameSegment=function(e){for(var t=this.getProgress(e),r=1;r<this.keyframes.length;r++)if(this.keyframes[r].progress>t)return[this.keyframes[r-1],this.keyframes[r]];return[this.keyframes[this.keyframes.length-2],this.keyframes[this.keyframes.length-1]]},e.prototype.getTargetKeyframe=function(){return this.keyframes[this.keyframes.length-1]},e.prototype.set=function(e,t,r,n){var i;void 0===r&&(r=0),isNaN(t)&&(t=0),isNaN(r)&&(r=0),n=null!=n?n:me();var o=this.getProgress(n),a=this.getValue(o),s={};for(var l in this.config)s[l]=null!==(i=e[l])&&void 0!==i?i:a[l];var c=[{progress:0,value:a},{progress:1,value:s}];return this.setKeyframes(c,t,r,n)},e.prototype.setKeyframes=function(e,t,r,n){var i=this;if(void 0===r&&(r=0),e.length<2)throw new Error("keyframes invalid.");return isNaN(t)&&(t=0),isNaN(r)&&(r=0),this.callbacks&&(this.callbacks[1](new Error("motion aborted.")),this.callbacks=void 0),new Promise((function(o,a){n=null!=n?n:me(),i.progress=0,i.ended=!1,i.startTime=n,i.startVelocity=r,i.keyframes=e,i.duration=t,0===t?(i.progress=1,i.value=ie({},e[e.length-1].value)):i.value=ie({},e[0].value),i.callbacks=[o,a]}))},e.prototype.dispose=function(){this.callbacks&&(this.callbacks[1](new Error("motion dispose.")),this.callbacks=void 0)},e}(),Fa=function(e){return e*(2-e)},Da=function(){var e=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]),r=new Uint8Array([0,2,1,2,3,1]),i=new n.BufferGeometry;return i.setAttribute("position",new n.BufferAttribute(e,3)),i.setAttribute("uv",new n.BufferAttribute(t,2)),i.setIndex(new n.BufferAttribute(r,1)),i}(),Qa=function(e){function t(t){void 0===t&&(t={});var r,i,o=this;o=e.call(this)||this;var a=null!==(r=t.color)&&void 0!==r?r:16777215,s=null!==(i=t.scale)&&void 0!==i?i:1;return o.progress=0,o.opacity=0,o.loading=!1,o.current=!1,o.disabled=!1,o.currentMotion=new Oa({progress:0}),o.ringMotion=new Oa({scale:1,opacity:1}),o.tapMotion=new Oa({scale:1,opacity:1}),o.loadingOpacityMotion=new Oa({opacity:0}),o.progressMotion=new Oa({progress:0}),o.progressOpacityMotion=new Oa({opacity:0}),o.opacityMotion=new Oa({opacity:0}),o.disableMotion=new Oa({progress:0}),o.panoMesh=new n.Mesh(Da,new n.ShaderMaterial({blending:n.CustomBlending,blendSrc:n.SrcAlphaFactor,blendDst:n.OneMinusSrcAlphaFactor,blendSrcAlpha:n.OneFactor,blendDstAlpha:n.OneMinusSrcAlphaFactor,depthWrite:!1,vertexShader:"\nvarying vec2 vUv;\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n",fragmentShader:"\nuniform vec3 baseColor;\nuniform float circleScale;\nuniform float ringScale;\nuniform float ringOpacity;\nuniform float loadingAngle;\nuniform float loadingOpacity;\nuniform float progress;\nuniform float progressOpacity;\nuniform float expand0;\nuniform float expand1;\nuniform float expandOpacity;\nuniform float opacity;\nuniform float tapScale;\nuniform float tapOpacity;\nuniform float disable;\nvarying vec2 vUv;\n\n#define PI 3.141592653589793\n#define TAU 6.283185307179586\n#define SMOOTH_DIST 0.017\n#define CENTER vec2(0.5, 0.5)\n\nfloat inside(float innerDist) {\n float dist = length(CENTER - vUv);\n return smoothstep(innerDist, innerDist + SMOOTH_DIST, dist);\n}\nfloat outside(float outerDist) {\n float dist = length(CENTER - vUv);\n return 1.0 - smoothstep(outerDist - SMOOTH_DIST, outerDist, dist);\n}\n\nvec4 create_circle() {\n float dist = length(CENTER - vUv);\n float gradient = clamp(0.8 + abs(dot(normalize(vec2(1.0, -1.0)), vUv - CENTER)) * 1.5, 0.0, 1.0);\n return vec4(1.0, 1.0, 1.0, gradient * tapOpacity * inside(0.15 * circleScale * tapScale) * outside(0.234 * circleScale * tapScale));\n}\n\nvec4 create_disable() {\n float dist = length(CENTER - vUv);\n return vec4(1.0, 1.0, 1.0, 0.5 * tapOpacity * outside(0.32 * circleScale * tapScale));\n}\n\nvec4 create_ring() {\n float gradient = clamp(0.5 + abs(dot(normalize(vec2(1.0, 1.0)), vUv - CENTER)), 0.0, 1.0);\n return vec4(1.0, 1.0, 1.0, gradient * tapOpacity * ringOpacity * inside(0.27 * ringScale * tapScale) * outside(0.32 * ringScale * tapScale));\n}\n\nvec4 create_loading() {\n float angle = PI - atan(CENTER.x - vUv.x, CENTER.y - vUv.y);\n angle = mod(angle + loadingAngle, TAU);\n float gradient = (1.0 - smoothstep(0.0, TAU, angle)) * 0.4 + 0.1;\n return vec4(1.0, 1.0, 1.0, gradient * tapOpacity * loadingOpacity * inside(0.208 * circleScale * tapScale) * outside(0.3 * circleScale * tapScale));\n}\n\nvec4 create_progress() {\n float angle = PI + atan(CENTER.x - vUv.x, CENTER.y - vUv.y);\n float bar = (1.0 - step(progress * TAU, angle)) * 0.5;\n return vec4(1.0, 1.0, 1.0, bar * tapOpacity * progressOpacity * inside(0.208 * circleScale * tapScale) * outside(0.3 * circleScale * tapScale));\n}\n\nvec4 create_expand0() {\n float width = 0.2;\n float radius = 0.2 + (0.43 - 0.2) * expand0;\n float dist = length(CENTER - vUv);\n float gradient = (1.0 - clamp((radius - dist) / width, 0.0, 1.0)) * 0.8 * clamp((1.0 - abs(expand0 - 0.5) * 2.0) * 1.2, 0.0, 1.0);\n return vec4(1.0, 1.0, 1.0, gradient * expandOpacity * outside(radius));\n}\n\nvec4 create_expand1() {\n float width = 0.2;\n float radius = 0.2 + (0.43 - 0.2) * expand1;\n float dist = length(CENTER - vUv);\n float gradient = (1.0 - clamp((radius - dist) / width, 0.0, 1.0)) * 0.8 * clamp((1.0 - abs(expand1 - 0.5) * 2.0) * 1.2, 0.0, 1.0);\n return vec4(1.0, 1.0, 1.0, gradient * expandOpacity * outside(radius));\n}\n\nvoid main() {\n gl_FragColor = vec4(1.0, 1.0, 1.0, 0);\n\n vec4 expand1Color = create_expand1();\n gl_FragColor = mix(gl_FragColor, expand1Color, expand1Color.a);\n\n vec4 expand0Color = create_expand0();\n gl_FragColor = mix(gl_FragColor, expand0Color, expand0Color.a);\n\n vec4 progressColor = create_progress();\n gl_FragColor = mix(gl_FragColor, progressColor, progressColor.a);\n\n vec4 loadingColor = create_loading();\n gl_FragColor = mix(gl_FragColor, loadingColor, loadingColor.a);\n\n vec4 circleColor = create_circle();\n gl_FragColor = mix(gl_FragColor, circleColor, circleColor.a);\n\n vec4 ringColor = create_ring();\n gl_FragColor = mix(gl_FragColor, ringColor, ringColor.a);\n\n gl_FragColor = mix(gl_FragColor, create_disable(), disable);\n\n gl_FragColor = vec4(gl_FragColor.rgb * baseColor, gl_FragColor.a * opacity * opacity);\n}\n",uniforms:{baseColor:{value:new n.Color(a)},circleScale:{value:1},ringScale:{value:1},ringOpacity:{value:1},loadingAngle:{value:0},loadingOpacity:{value:0},progress:{value:0},progressOpacity:{value:0},expand0:{value:0},expand1:{value:0},expandOpacity:{value:0},opacity:{value:0},tapScale:{value:1},tapOpacity:{value:1},disable:{value:0}}})),o.renderOrder=-2,o.panoMesh.renderOrder=-2,o.panoMesh.position.y=.004,o.panoMesh.scale.set(s,1,s),o.add(o.panoMesh),o.currentStartTime=me(),o.needsRender=!0,o}return ne(t,e),t.prototype.setProgress=function(e){var t=this;this.setDisabled(!1),this.setLoading(!1),this.progress!==e&&(e=jr(e,0,1),this.tapMotion.ended&&(0===this.progress&&this.progressOpacityMotion.set({opacity:1},500).catch(fe),0===e?this.progressOpacityMotion.set({opacity:0},500).catch(fe).then((function(){t.progressMotion.set({progress:0},0).catch(fe)})):this.progressMotion.set({progress:jr(1.2*e,0,1)},100).catch(fe)),this.progress=e)},t.prototype.setOpacity=function(e){this.opacity!==e&&(this.opacity=e=jr(e,0,1),this.opacityMotion.set({opacity:e},200).catch(fe))},t.prototype.setCurrent=function(e){this.current!==e&&(this.currentMotion.set({progress:e?1:0},2e3).catch(fe),this.current=e,!0===this.current&&(this.currentStartTime=me()))},t.prototype.setLoading=function(e){this.loading!==e&&(this.loading=e,!0===this.disabled&&this.setDisabled(!1),this.loadingOpacityMotion.set({opacity:e?1:0},500).catch(fe))},t.prototype.setDisabled=function(e){this.disabled!==e&&(this.disabled=e,!0===this.loading&&this.setLoading(!1),this.disableMotion.set({progress:e?1:0},500).catch(fe))},t.prototype.tap=function(){var e=this;if(!this.tapMotion.ended)return Promise.resolve();return this.progressOpacityMotion.set({opacity:0},0).catch(fe),this.progressMotion.set({progress:0},0).catch(fe),this.tapMotion.setKeyframes([{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}}],600).then((function(){e.progressOpacityMotion.set({opacity:e.progress>0?1:0},300).catch(fe),e.progressMotion.set({progress:e.progress},120).catch(fe)})).catch(fe)},t.prototype.updateTime=function(e,t){if(!this.progressMotion.ended){this.progressMotion.update(e);var r=this.progressMotion.value.progress;this.panoMesh.material.uniforms.progress.value=r,this.needsRender=!0}if(!this.progressOpacityMotion.ended){this.progressOpacityMotion.update(e);var n=this.progressOpacityMotion.value.opacity;this.panoMesh.material.uniforms.progressOpacity.value=n,this.needsRender=!0}if(!this.opacityMotion.ended){this.opacityMotion.update(e);n=this.opacityMotion.value.opacity;this.panoMesh.material.uniforms.opacity.value=n,this.needsRender=!0}if(this.visible=0!==this.opacityMotion.value.opacity,(!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%(2*Math.PI),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 i=(e-this.currentStartTime-1500)/2e3;if(i%5<2){var o=1+Math.sin(Math.PI*i)/25*this.currentMotion.value.progress;this.panoMesh.material.uniforms.circleScale.value=o,this.needsRender=!0}var a=(e-this.currentStartTime-1500)/2e3;if(a%5<2){var s=a%1;this.panoMesh.material.uniforms.expand0.value=Fa(s)*this.currentMotion.value.progress,this.needsRender=!0}var l=(e-this.currentStartTime-1e3)/2e3;if(l%5<2){s=l%1;this.panoMesh.material.uniforms.expand1.value=Fa(s)*this.currentMotion.value.progress,this.needsRender=!0}}this.currentMotion.value.progress>.2&&0===this.progress&&!1===this.loading?(e-this.currentStartTime-1e3)/2e3%5<2?.8!==this.ringMotion.getTargetKeyframe().value.scale&&this.ringMotion.set({scale:.8,opacity:0},600).catch(fe):1!==this.ringMotion.getTargetKeyframe().value.scale&&this.ringMotion.set({scale:1,opacity:1},600).catch(fe):1!==this.ringMotion.getTargetKeyframe().value.scale&&this.ringMotion.set({scale:1,opacity:1},600).catch(fe);if(!this.ringMotion.ended){var c=this.ringMotion.value;o=c.scale,n=c.opacity;this.ringMotion.update(e),this.panoMesh.material.uniforms.ringScale.value=o,this.panoMesh.material.uniforms.ringOpacity.value=n,this.needsRender=!0}if(!this.disableMotion.ended){r=this.disableMotion.value.progress;this.disableMotion.update(e),this.panoMesh.material.uniforms.disable.value=r,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}(n.Object3D),La=function(e){return e*(2-e)},Na=function(){var e=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]),r=new Uint8Array([0,2,1,2,3,1]),i=new n.BufferGeometry;return i.setAttribute("position",new n.BufferAttribute(e,3)),i.setAttribute("uv",new n.BufferAttribute(t,2)),i.setIndex(new n.BufferAttribute(r,1)),i}(),Va=function(e){function t(t){void 0===t&&(t={});var r,i,o=this;o=e.call(this)||this;var a=null!==(r=t.color)&&void 0!==r?r:16777215,s=null!==(i=t.scale)&&void 0!==i?i:1;return o.progress=0,o.opacity=0,o.loading=!1,o.current=!1,o.disabled=!1,o.currentMotion=new Oa({progress:0}),o.tapMotion=new Oa({scale:1,opacity:1}),o.loadingOpacityMotion=new Oa({opacity:0}),o.progressMotion=new Oa({progress:0}),o.progressOpacityMotion=new Oa({opacity:0}),o.opacityMotion=new Oa({opacity:0}),o.disableMotion=new Oa({progress:0}),o.panoMesh=new n.Mesh(Na,new n.ShaderMaterial({blending:n.CustomBlending,blendSrc:n.SrcAlphaFactor,blendDst:n.OneMinusSrcAlphaFactor,blendSrcAlpha:n.OneFactor,blendDstAlpha:n.OneMinusSrcAlphaFactor,depthWrite:!1,vertexShader:"\nvarying vec2 vUv;\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n",fragmentShader:"\nuniform vec3 baseColor;\nuniform float circleScale;\nuniform float circleOpacity;\nuniform float loadingAngle;\nuniform float loadingOpacity;\nuniform float progress;\nuniform float progressOpacity;\nuniform float expand0;\nuniform float expand1;\nuniform float expandOpacity;\nuniform float opacity;\nuniform float tapScale;\nuniform float tapOpacity;\nuniform float disable;\nvarying vec2 vUv;\n\n#define PI 3.141592653589793\n#define TAU 6.283185307179586\n#define SMOOTH_DIST 0.017\n#define CENTER vec2(0.5, 0.5)\n\nfloat inside(float innerDist) {\n float dist = length(CENTER - vUv);\n return smoothstep(innerDist, innerDist + SMOOTH_DIST, dist);\n}\nfloat outside(float outerDist) {\n float dist = length(CENTER - vUv);\n return 1.0 - smoothstep(outerDist - SMOOTH_DIST, outerDist, dist);\n}\n\nvec4 create_circle() {\n float dist = length(CENTER - vUv);\n return vec4(1.0, 1.0, 1.0, 0.8 * circleOpacity * tapOpacity * inside(0.2 * circleScale * tapScale) * outside(0.3 * circleScale * tapScale));\n}\n\nvec4 create_disable() {\n float dist = length(CENTER - vUv);\n return vec4(1.0, 1.0, 1.0, 0.5 * tapOpacity * outside(0.32 * circleScale * tapScale));\n}\n\nvec4 create_loading() {\n float angle = PI - atan(CENTER.x - vUv.x, CENTER.y - vUv.y);\n angle = mod(angle + loadingAngle, TAU);\n float gradient = (1.0 - smoothstep(0.0, TAU, angle)) * 0.9 + 0.1;\n return vec4(1.0, 1.0, 1.0, gradient * tapOpacity * loadingOpacity * inside(0.2 * circleScale * tapScale) * outside(0.3 * circleScale * tapScale));\n}\n\nvec4 create_progress() {\n float angle = PI + atan(CENTER.x - vUv.x, CENTER.y - vUv.y);\n float bar = (1.0 - step(progress * TAU, angle)) * 0.7;\n return vec4(1.0, 1.0, 1.0, bar * tapOpacity * progressOpacity * inside(0.2 * circleScale * tapScale) * outside(0.3 * circleScale * tapScale));\n}\n\nvec4 create_expand0() {\n float width = 0.2;\n float radius = 0.25 + (0.5 - 0.25) * expand0;\n float dist = length(CENTER - vUv);\n float gradient = (1.0 - clamp((radius - dist) / width, 0.0, 1.0)) * 0.8 * clamp((1.0 - abs(expand0 - 0.5) * 2.0) * 1.2, 0.0, 1.0);\n return vec4(1.0, 1.0, 1.0, gradient * expandOpacity * outside(radius));\n}\n\nvec4 create_expand1() {\n float width = 0.2;\n float radius = 0.25 + (0.48 - 0.25) * expand1;\n float dist = length(CENTER - vUv);\n float gradient = (1.0 - clamp((radius - dist) / width, 0.0, 1.0)) * 0.8 * clamp((1.0 - abs(expand1 - 0.5) * 2.0) * 1.2, 0.0, 1.0);\n return vec4(1.0, 1.0, 1.0, gradient * expandOpacity * outside(radius));\n}\n\nvoid main() {\n gl_FragColor = vec4(1.0, 1.0, 1.0, 0);\n\n vec4 expand1Color = create_expand1();\n gl_FragColor = mix(gl_FragColor, expand1Color, expand1Color.a);\n\n vec4 expand0Color = create_expand0();\n gl_FragColor = mix(gl_FragColor, expand0Color, expand0Color.a);\n\n vec4 circleColor = create_circle();\n gl_FragColor = mix(gl_FragColor, circleColor, circleColor.a);\n\n vec4 progressColor = create_progress();\n gl_FragColor = mix(gl_FragColor, progressColor, progressColor.a);\n\n vec4 loadingColor = create_loading();\n gl_FragColor = mix(gl_FragColor, loadingColor, loadingColor.a);\n\n gl_FragColor = mix(gl_FragColor, create_disable(), disable);\n\n gl_FragColor = vec4(gl_FragColor.rgb * baseColor, gl_FragColor.a * opacity * opacity);\n}\n",uniforms:{baseColor:{value:new n.Color(a)},circleScale:{value:1},circleOpacity:{value:1},loadingAngle:{value:0},loadingOpacity:{value:0},progress:{value:0},progressOpacity:{value:0},expand0:{value:0},expand1:{value:0},expandOpacity:{value:0},opacity:{value:0},tapScale:{value:1},tapOpacity:{value:1},disable:{value:0}}})),o.renderOrder=-2,o.panoMesh.renderOrder=-2,o.panoMesh.position.y=.004,o.panoMesh.scale.set(s,1,s),o.add(o.panoMesh),o.currentStartTime=me(),o.needsRender=!0,o}return ne(t,e),t.prototype.setProgress=function(e){var t=this;this.setDisabled(!1),this.setLoading(!1),this.progress!==e&&(e=jr(e,0,1),this.tapMotion.ended&&(0===this.progress&&this.progressOpacityMotion.set({opacity:1},500).catch(fe),0===e?this.progressOpacityMotion.set({opacity:0},500).catch(fe).then((function(){t.progressMotion.set({progress:0},0).catch(fe)})):this.progressMotion.set({progress:jr(1.2*e,0,1)},100).catch(fe)),this.progress=e)},t.prototype.setOpacity=function(e){this.opacity!==e&&(this.opacity=e=jr(e,0,1),this.opacityMotion.set({opacity:e},200).catch(fe))},t.prototype.setCurrent=function(e){this.current!==e&&(this.currentMotion.set({progress:e?1:0},2e3).catch(fe),this.current=e,!0===this.current&&(this.currentStartTime=me()))},t.prototype.setLoading=function(e){this.loading!==e&&(this.loading=e,!0===this.disabled&&this.setDisabled(!1),this.loadingOpacityMotion.set({opacity:e?1:0},500).catch(fe))},t.prototype.setDisabled=function(e){this.disabled!==e&&(this.disabled=e,!0===this.loading&&this.setLoading(!1),this.disableMotion.set({progress:e?1:0},500).catch(fe))},t.prototype.tap=function(){var e=this;if(!this.tapMotion.ended)return Promise.resolve();return this.progressOpacityMotion.set({opacity:0},0).catch(fe),this.progressMotion.set({progress:0},0).catch(fe),this.tapMotion.setKeyframes([{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}}],600).then((function(){e.progressOpacityMotion.set({opacity:e.progress>0?1:0},300).catch(fe),e.progressMotion.set({progress:e.progress},120).catch(fe)})).catch(fe)},t.prototype.updateTime=function(e,t){if(!this.progressMotion.ended){this.progressMotion.update(e);var r=this.progressMotion.value.progress;this.panoMesh.material.uniforms.progress.value=r,this.needsRender=!0}if(!this.progressOpacityMotion.ended){this.progressOpacityMotion.update(e);var n=this.progressOpacityMotion.value.opacity;this.panoMesh.material.uniforms.progressOpacity.value=n,this.needsRender=!0}if(!this.opacityMotion.ended){this.opacityMotion.update(e);n=this.opacityMotion.value.opacity;this.panoMesh.material.uniforms.opacity.value=n,this.needsRender=!0}if(this.visible=0!==this.opacityMotion.value.opacity,(!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%(2*Math.PI),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 i=(e-this.currentStartTime-1500)/2e3;if(i%5<2){var o=1+Math.sin(Math.PI*i)/25*this.currentMotion.value.progress;this.panoMesh.material.uniforms.circleScale.value=o,this.needsRender=!0}var a=(e-this.currentStartTime-1500)/2e3;if(a%5<2){var s=a%1;this.panoMesh.material.uniforms.expand0.value=La(s)*this.currentMotion.value.progress,this.needsRender=!0}var l=(e-this.currentStartTime-1e3)/2e3;if(l%5<2){s=l%1;this.panoMesh.material.uniforms.expand1.value=La(s)*this.currentMotion.value.progress,this.needsRender=!0}}if(!this.disableMotion.ended){r=this.disableMotion.value.progress;this.disableMotion.update(e),this.panoMesh.material.uniforms.disable.value=r,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}(n.Object3D),za=function(e){return e*(2-e)},ja=function(){var e=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]),r=new Uint8Array([0,2,1,2,3,1]),i=new n.BufferGeometry;return i.setAttribute("position",new n.BufferAttribute(e,3)),i.setAttribute("uv",new n.BufferAttribute(t,2)),i.setIndex(new n.BufferAttribute(r,1)),i}(),Ua=function(e){function t(t){void 0===t&&(t={});var r,i,o,a,s,l,c,u=this;u=e.call(this)||this;var d=null!==(r=t.color)&&void 0!==r?r:16777215,p=null!==(i=t.scale)&&void 0!==i?i:1,h=t.map,f=null!==(o=t.mapAlpha)&&void 0!==o?o:1,v=null!==(a=t.mapUseColor)&&void 0!==a&&a,m=null!==(s=t.mapUseReverse)&&void 0!==s&&s,A=null!==(l=t.borderWidth)&&void 0!==l?l:.1,g=null!==(c=t.borderColor)&&void 0!==c?c:16777215;return u.progress=0,u.opacity=0,u.loading=!1,u.current=!1,u.disabled=!1,u.currentMotion=new Oa({progress:0}),u.tapMotion=new Oa({scale:1,opacity:1}),u.loadingOpacityMotion=new Oa({opacity:0}),u.progressMotion=new Oa({progress:0}),u.progressOpacityMotion=new Oa({opacity:0}),u.opacityMotion=new Oa({opacity:0}),u.disableMotion=new Oa({progress:0}),u.panoMesh=new n.Mesh(ja,new n.ShaderMaterial({blending:n.CustomBlending,blendSrc:n.SrcAlphaFactor,blendDst:n.OneMinusSrcAlphaFactor,blendSrcAlpha:n.OneFactor,blendDstAlpha:n.OneMinusSrcAlphaFactor,depthWrite:!1,vertexShader:"\nvarying vec2 vUv;\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n",fragmentShader:"\n#if defined(USE_MAP)\nuniform sampler2D map;\nuniform float mapAlpha;\n#endif\n#if defined(USE_BORDER)\nuniform float borderWidth;\nuniform vec3 borderColor;\n#endif\nuniform vec3 baseColor;\nuniform float circleScale;\nuniform float circleOpacity;\nuniform float loadingAngle;\nuniform float loadingOpacity;\nuniform float progress;\nuniform float progressOpacity;\nuniform float expand0;\nuniform float expand1;\nuniform float expandOpacity;\nuniform float opacity;\nuniform float tapScale;\nuniform float tapOpacity;\nuniform float disable;\nvarying vec2 vUv;\n\n#define PI 3.141592653589793\n#define TAU 6.283185307179586\n#define SMOOTH_DIST 0.017\n#define CENTER vec2(0.5, 0.5)\n\nfloat inside(float innerDist) {\n float dist = length(CENTER - vUv);\n return smoothstep(innerDist, innerDist + SMOOTH_DIST, dist);\n}\nfloat outside(float outerDist) {\n float dist = length(CENTER - vUv);\n return 1.0 - smoothstep(outerDist - SMOOTH_DIST, outerDist, dist);\n}\n\nvec4 create_circle() {\n float dist = length(CENTER - vUv);\n float radius = 0.3 * circleScale * tapScale;\n #if defined(USE_MAP)\n float delta = radius / 0.5;\n vec2 deltaUv = (vUv - CENTER) / delta + CENTER;\n vec4 image = texture2D(map, deltaUv);\n image.a = image.a * mapAlpha;\n #if defined(USE_COLOR)\n image = vec4(baseColor, 1.0) * image;\n #endif\n #endif\n #if defined(USE_REVERSE)\n image = vec4(baseColor, 1.0 - image.a);\n #else\n #if defined(USE_BORDER)\n float borderDist = clamp(borderWidth, 0.0, 1.0);\n float clipAlpha = inside(radius - borderDist * radius);\n float gradient = clamp(borderWidth * 2.0 + abs(dot(normalize(vec2(1.0, -1.0)), vUv - CENTER)), 0.0, 1.0);\n vec4 borderColor = vec4(borderColor, clipAlpha * gradient);\n image = mix(borderColor, image, image.a);\n #endif\n #endif\n return vec4(image.rgb, image.a * circleOpacity * tapOpacity * outside(radius));\n}\n\nvec4 create_disable() {\n float dist = length(CENTER - vUv);\n return vec4(baseColor, 0.5 * tapOpacity * outside(0.32 * circleScale * tapScale));\n}\n\nvec4 create_loading() {\n float angle = PI - atan(CENTER.x - vUv.x, CENTER.y - vUv.y);\n angle = mod(angle + loadingAngle, TAU);\n float gradient = (1.0 - smoothstep(0.0, TAU, angle)) * 0.9 + 0.1;\n float radius = 0.3 * circleScale * tapScale;\n float inner = inside(radius - 0.2 * radius);\n #if defined(USE_BORDER)\n float borderDist = clamp(borderWidth, 0.0, 1.0);\n inner = inside(radius - borderDist * radius);\n #endif\n return vec4(baseColor, gradient * tapOpacity * loadingOpacity * inner * outside(radius));\n}\n\nvec4 create_progress() {\n float angle = PI + atan(CENTER.x - vUv.x, CENTER.y - vUv.y);\n float bar = (1.0 - step(progress * TAU, angle)) * 0.7;\n float radius = 0.3 * circleScale * tapScale;\n float inner = inside(radius - 0.2 * radius);\n #if defined(USE_BORDER)\n float borderDist = clamp(borderWidth, 0.0, 1.0);\n inner = inside(radius - borderDist * radius);\n #endif\n return vec4(baseColor, bar * tapOpacity * progressOpacity * inner * outside(radius));\n}\n\nvec4 create_expand0() {\n float width = 0.2;\n float radius = 0.25 + (0.5 - 0.25) * expand0;\n float dist = length(CENTER - vUv);\n float gradient = (1.0 - clamp((radius - dist) / width, 0.0, 1.0)) * 0.8 * clamp((1.0 - abs(expand0 - 0.5) * 2.0) * 1.2, 0.0, 1.0);\n return vec4(baseColor, gradient * expandOpacity * outside(radius));\n}\n\nvec4 create_expand1() {\n float width = 0.2;\n float radius = 0.25 + (0.48 - 0.25) * expand1;\n float dist = length(CENTER - vUv);\n float gradient = (1.0 - clamp((radius - dist) / width, 0.0, 1.0)) * 0.8 * clamp((1.0 - abs(expand1 - 0.5) * 2.0) * 1.2, 0.0, 1.0);\n return vec4(baseColor, gradient * expandOpacity * outside(radius));\n}\n\nvoid main() {\n gl_FragColor = vec4(baseColor, 0);\n\n vec4 expand1Color = create_expand1();\n gl_FragColor = mix(gl_FragColor, expand1Color, expand1Color.a);\n\n vec4 expand0Color = create_expand0();\n gl_FragColor = mix(gl_FragColor, expand0Color, expand0Color.a);\n\n vec4 circleColor = create_circle();\n gl_FragColor = mix(gl_FragColor, circleColor, circleColor.a);\n\n vec4 progressColor = create_progress();\n gl_FragColor = mix(gl_FragColor, progressColor, progressColor.a);\n\n vec4 loadingColor = create_loading();\n gl_FragColor = mix(gl_FragColor, loadingColor, loadingColor.a);\n\n gl_FragColor = mix(gl_FragColor, create_disable(), disable);\n\n gl_FragColor = vec4(gl_FragColor.rgb, gl_FragColor.a * opacity);\n}\n",defines:{USE_COLOR:v,USE_MAP:void 0!==h,USE_BORDER:A>0,USE_REVERSE:m},uniforms:{baseColor:{value:new n.Color(d)},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:h},mapAlpha:{value:f},borderWidth:{value:A},borderColor:{value:new n.Color(g)}}})),u.renderOrder=-2,u.panoMesh.renderOrder=-2,u.panoMesh.position.y=.004,u.panoMesh.scale.set(p,1,p),u.add(u.panoMesh),u.currentStartTime=me(),u.needsRender=!0,u}return ne(t,e),t.prototype.setProgress=function(e){var t=this;this.setDisabled(!1),this.setLoading(!1),this.progress!==e&&(e=jr(e,0,1),this.tapMotion.ended&&(0===this.progress&&this.progressOpacityMotion.set({opacity:1},500).catch(fe),0===e?this.progressOpacityMotion.set({opacity:0},500).catch(fe).then((function(){t.progressMotion.set({progress:0},0).catch(fe)})):this.progressMotion.set({progress:jr(1.2*e,0,1)},100).catch(fe)),this.progress=e)},t.prototype.setOpacity=function(e){this.opacity!==e&&(this.opacity=e=jr(e,0,1),this.opacityMotion.set({opacity:e},200).catch(fe))},t.prototype.setCurrent=function(e){this.current!==e&&(this.currentMotion.set({progress:e?1:0},2e3).catch(fe),this.current=e,!0===this.current&&(this.currentStartTime=me()))},t.prototype.setLoading=function(e){this.loading!==e&&(this.loading=e,!0===this.disabled&&this.setDisabled(!1),this.loadingOpacityMotion.set({opacity:e?1:0},500).catch(fe))},t.prototype.setDisabled=function(e){this.disabled!==e&&(this.disabled=e,!0===this.loading&&this.setLoading(!1),this.disableMotion.set({progress:e?1:0},500).catch(fe))},t.prototype.tap=function(){var e=this;if(!this.tapMotion.ended)return Promise.resolve();return this.progressOpacityMotion.set({opacity:0},0).catch(fe),this.progressMotion.set({progress:0},0).catch(fe),this.tapMotion.setKeyframes([{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}}],600).then((function(){e.progressOpacityMotion.set({opacity:e.progress>0?1:0},300).catch(fe),e.progressMotion.set({progress:e.progress},120).catch(fe)})).catch(fe)},t.prototype.updateTime=function(e,t){if(!this.progressMotion.ended){this.progressMotion.update(e);var r=this.progressMotion.value.progress;this.panoMesh.material.uniforms.progress.value=r,this.needsRender=!0}if(!this.progressOpacityMotion.ended){this.progressOpacityMotion.update(e);var n=this.progressOpacityMotion.value.opacity;this.panoMesh.material.uniforms.progressOpacity.value=n,this.needsRender=!0}if(!this.opacityMotion.ended){this.opacityMotion.update(e);n=this.opacityMotion.value.opacity;this.panoMesh.material.uniforms.opacity.value=n,this.needsRender=!0}if(this.visible=0!==this.opacityMotion.value.opacity,(!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%(2*Math.PI),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 i=(e-this.currentStartTime-1500)/2e3;if(i%5<2){var o=i%1;this.panoMesh.material.uniforms.expand0.value=za(o)*this.currentMotion.value.progress,this.needsRender=!0}var a=(e-this.currentStartTime-1e3)/2e3;if(a%5<2){o=a%1;this.panoMesh.material.uniforms.expand1.value=za(o)*this.currentMotion.value.progress,this.needsRender=!0}}if(!this.disableMotion.ended){r=this.disableMotion.value.progress;this.disableMotion.update(e),this.panoMesh.material.uniforms.disable.value=r,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}(n.Object3D),qa=new n.CircleBufferGeometry(.1,16),_a=new n.ShaderMaterial({vertexShader:"\nvarying vec2 vUv;\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n",fragmentShader:"\nvarying vec2 vUv;\n\nfloat smoothDist = 0.01;\nvoid main() {\n vec2 center = vec2(0.5, 0.5);\n float dist = length(center - vUv);\n float outerDist = 0.49;\n float innerDist = 0.29;\n\n float outside = 1.0 - smoothstep(outerDist - smoothDist, outerDist, dist);\n float inside = smoothstep(innerDist, innerDist + smoothDist, dist);\n\n vec4 bg = vec4(0.576, 0.635, 1.0, 0.3);\n float gradientAlpha = clamp(abs(dist - (outerDist + innerDist) / 2.0) / (outerDist - innerDist) * 1.5 + 0.1, 0.0, 1.0);\n vec4 gradient = vec4(1.0, 1.0, 1.0, gradientAlpha);\n\n gl_FragColor = mix(bg, gradient, gradient.a);\n\n gl_FragColor = vec4(gl_FragColor.rgb, gl_FragColor.a * outside * inside);\n}\n",transparent:!0}),Ha=function(e){function t(){var t=e.call(this)||this;return t.ringMesh=new n.Mesh(qa,_a),t.ringMesh.renderOrder=-2,t.add(t.ringMesh),t}return ne(t,e),t.prototype.dispose=function(){this.remove(this.ringMesh)},t}(n.Object3D);function Ga(){return(65536*(1+Math.random())|0).toString(16).substring(1)}function Ka(){return(Ga()+Ga()+"-"+Ga()+"-4"+Ga().substr(0,3)+"-"+Ga()+"-"+Ga()+Ga()+Ga()).toLowerCase()}function Wa(e,t,r){var n=Math.abs(e-t);return n<.001||void 0!==r&&Math.abs(r-n)<.001}function Ya(e,t,r){return!Wa(e,t,r)}function Xa(e,t){return e.distanceTo(t)<.001}function Ja(e,t){return!Xa(e,t)}var Za=new n.Vector3(0,0,0),$a=function(e){function t(t,r){void 0===r&&(r=Za);var i=e.call(this)||this,o=new n.BoxBufferGeometry(t.max.x-t.min.x+2*r.x,t.max.y-t.min.y+2*r.y,t.max.z-t.min.z+2*r.z,1,1);o.clearGroups(),o.addGroup(0,o.index?o.index.count:o.attributes.position.count,0),o.applyMatrix4((new n.Matrix4).makeScale(-1,1,1)),o.computeVertexNormals();var a=new Ht;a.defines.USE_MAP=!1,a.defines.USE_UV=!1,a.defines.USE_PANO_OPACITY=!0,a.uniforms.diffuse.value=new n.Color(10066329),a.depthWrite=!1;var s=new tt(o,[a]);return s.position.copy(t.getCenter(new n.Vector3)),s.frustumCulled=!1,i.add(s),i.boundingBox=new n.Box3,i.boundingBox.setFromObject(i),i.renderOrder=s.renderOrder=-1001,i}return ne(t,e),t}(ut);var es=2*Math.PI;function ts(e){return e>=0&&e<es?e:(e%es+es)%es}var rs=Math.PI,ns=2*rs;function is(e,t,r){if(e===t)return t;var n=t-e;return Math.abs(n)<=r?t:e+(n>0?1:-1)*r}function os(e,t,r){if(e.longitude===t.longitude&&e.latitude===t.latitude)return{longitude:t.longitude,latitude:t.latitude};var n=ts(e.longitude),i=e.latitude,o=ts(t.longitude),a=t.latitude;o-n>rs?n+=ns:n-o>rs&&(n-=ns);var s=r/Math.sqrt(Math.pow(o-n,2)+Math.pow(a-i,2));return s>=1?{longitude:t.longitude,latitude:t.latitude}:{longitude:n+(o-n)*s,latitude:i+(a-i)*s}}!function(){try{var e=document.createElement("canvas");return!(!window.WebGLRenderingContext||!e.getContext("webgl")&&!e.getContext("experimental-webgl"))}catch(e){return!1}}();var as=function(){var e="undefined"!=typeof navigator?navigator.userAgent.toLowerCase():"node";return/android/i.test(e)||/webos/i.test(e)||/ipad|iphone|ipod/i.test(e)||/iemobile/i.test(e)||/opera mini/i.test(e)||/blackberry/i.test(e)||/windows phone/i.test(e)};function ss(e,t){for(var r=!1,n={type:e,timeStamp:me(),get defaultPrevented(){return r},preventDefault:function(){r=!0}},i=0,o=Object.keys(t);i<o.length;i++){var a=o[i];a in n||(n[a]=t[a])}return n}function ls(e,t){e.mode=t.mode,e.workCode=t.workCode,e.panoIndex=t.panoIndex,e.longitude=t.longitude,e.latitude=t.latitude,e.fov=t.fov,e.offset.copy(t.offset),e.distance=t.distance}function cs(e,t){return e.workCode===t.workCode&&e.mode===t.mode&&e.panoIndex===t.panoIndex&&Wa(e.longitude,t.longitude,2*Math.PI)&&Wa(e.latitude,t.latitude)&&Wa(e.fov,t.fov)&&Xa(e.offset,t.offset)&&Wa(e.distance,t.distance)}var us=function(e){return Number(e)};function ds(e,t,r){var n;void 0===t&&(t=us),void 0===r&&(r=!1);for(var i,o=1/0,a=0,s=e;a<s.length;a++){var l=s[a],c=t(l);c<=o&&(i=(n=[l,c])[0],o=n[1])}return isFinite(o)||(o=0),r?[i,o]:i}function ps(e){for(var t in e)return!1;return!0}function hs(e){return{longitude:e.longitude,latitude:e.latitude,fov:e.fov,offset:e.offset.clone(),distance:e.distance}}
|
|
358
358
|
/*! Hammer.JS - v2.0.7 - 2016-04-22
|
|
359
359
|
* http://hammerjs.github.io/
|
|
360
360
|
*
|
|
361
361
|
* Copyright (c) 2016 Jorik Tangelder;
|
|
362
|
-
* Licensed under the MIT license */var ms=function(e,t,r,n){var i,o=["","webkit","Moz","MS","ms","o"],a=t.createElement?t.createElement("div"):n,s="function",l=Math.round,c=Math.abs,u=Date.now;function d(e,t,r){return setTimeout(g(e,r),t)}function p(e,t,r){return!!Array.isArray(e)&&(h(e,r[t],r),!0)}function h(e,t,r){var i;if(e)if(e.forEach)e.forEach(t,r);else if(e.length!==n)for(i=0;i<e.length;)t.call(r,e[i],i,e),i++;else for(i in e)e.hasOwnProperty(i)&&t.call(r,e[i],i,e)}function f(t,r,n){var i="DEPRECATED METHOD: "+r+"\n"+n+" AT \n";return function(){var r=new Error("get-stack-trace"),n=r&&r.stack?r.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",o=e.console&&(e.console.warn||e.console.log);return o&&o.call(e.console,i,n),t.apply(this,arguments)}}i="function"!=typeof Object.assign?function(e){if(e===n||null===e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),r=1;r<arguments.length;r++){var i=arguments[r];if(i!==n&&null!==i)for(var o in i)i.hasOwnProperty(o)&&(t[o]=i[o])}return t}:Object.assign;var v=f((function(e,t,r){for(var i=Object.keys(t),o=0;o<i.length;)(!r||r&&e[i[o]]===n)&&(e[i[o]]=t[i[o]]),o++;return e}),"extend","Use `assign`."),m=f((function(e,t){return v(e,t,!0)}),"merge","Use `assign`.");function A(e,t,r){var n,o=t.prototype;(n=e.prototype=Object.create(o)).constructor=e,n._super=o,r&&i(n,r)}function g(e,t){return function(){return e.apply(t,arguments)}}function y(e,t){return typeof e==s?e.apply(t&&t[0]||n,t):e}function b(e,t){return e===n?t:e}function x(e,t,r){h(C(t),(function(t){e.addEventListener(t,r,!1)}))}function w(e,t,r){h(C(t),(function(t){e.removeEventListener(t,r,!1)}))}function E(e,t){for(;e;){if(e==t)return!0;e=e.parentNode}return!1}function M(e,t){return e.indexOf(t)>-1}function C(e){return e.trim().split(/\s+/g)}function S(e,t,r){if(e.indexOf&&!r)return e.indexOf(t);for(var n=0;n<e.length;){if(r&&e[n][r]==t||!r&&e[n]===t)return n;n++}return-1}function I(e){return Array.prototype.slice.call(e,0)}function P(e,t,r){for(var n=[],i=[],o=0;o<e.length;){var a=t?e[o][t]:e[o];S(i,a)<0&&n.push(e[o]),i[o]=a,o++}return r&&(n=t?n.sort((function(e,r){return e[t]>r[t]})):n.sort()),n}function T(e,t){for(var r,i,a=t[0].toUpperCase()+t.slice(1),s=0;s<o.length;){if((i=(r=o[s])?r+a:t)in e)return i;s++}return n}var B=1;function R(t){var r=t.ownerDocument||t;return r.defaultView||r.parentWindow||e}var k="ontouchstart"in e,O=T(e,"PointerEvent")!==n,F=k&&/mobile|tablet|ip(ad|hone|od)|android/i.test(navigator.userAgent),D="touch",Q="mouse",L=25,N=1,V=2,z=4,j=8,U=1,q=2,_=4,H=8,G=16,K=q|_,W=H|G,Y=K|W,X=["x","y"],J=["clientX","clientY"];function Z(e,t){var r=this;this.manager=e,this.callback=t,this.element=e.element,this.target=e.options.inputTarget,this.domHandler=function(t){y(e.options.enable,[e])&&r.handler(t)},this.init()}function $(e,t,r){var i=r.pointers.length,o=r.changedPointers.length,a=t&N&&i-o==0,s=t&(z|j)&&i-o==0;r.isFirst=!!a,r.isFinal=!!s,a&&(e.session={}),r.eventType=t,function(e,t){var r=e.session,i=t.pointers,o=i.length;r.firstInput||(r.firstInput=ee(t));o>1&&!r.firstMultiple?r.firstMultiple=ee(t):1===o&&(r.firstMultiple=!1);var a=r.firstInput,s=r.firstMultiple,l=s?s.center:a.center,d=t.center=te(i);t.timeStamp=u(),t.deltaTime=t.timeStamp-a.timeStamp,t.angle=oe(l,d),t.distance=ie(l,d),function(e,t){var r=t.center,n=e.offsetDelta||{},i=e.prevDelta||{},o=e.prevInput||{};t.eventType!==N&&o.eventType!==z||(i=e.prevDelta={x:o.deltaX||0,y:o.deltaY||0},n=e.offsetDelta={x:r.x,y:r.y});t.deltaX=i.x+(r.x-n.x),t.deltaY=i.y+(r.y-n.y)}(r,t),t.offsetDirection=ne(t.deltaX,t.deltaY);var p=re(t.deltaTime,t.deltaX,t.deltaY);t.overallVelocityX=p.x,t.overallVelocityY=p.y,t.overallVelocity=c(p.x)>c(p.y)?p.x:p.y,t.scale=s?function(e,t){return ie(t[0],t[1],J)/ie(e[0],e[1],J)}(s.pointers,i):1,t.rotation=s?function(e,t){return oe(t[1],t[0],J)+oe(e[1],e[0],J)}(s.pointers,i):0,t.maxPointers=r.prevInput?t.pointers.length>r.prevInput.maxPointers?t.pointers.length:r.prevInput.maxPointers:t.pointers.length,function(e,t){var r,i,o,a,s=e.lastInterval||t,l=t.timeStamp-s.timeStamp;if(t.eventType!=j&&(l>L||s.velocity===n)){var u=t.deltaX-s.deltaX,d=t.deltaY-s.deltaY,p=re(l,u,d);i=p.x,o=p.y,r=c(p.x)>c(p.y)?p.x:p.y,a=ne(u,d),e.lastInterval=t}else r=s.velocity,i=s.velocityX,o=s.velocityY,a=s.direction;t.velocity=r,t.velocityX=i,t.velocityY=o,t.direction=a}(r,t);var h=e.element;E(t.srcEvent.target,h)&&(h=t.srcEvent.target);t.target=h}(e,r),e.emit("hammer.input",r),e.recognize(r),e.session.prevInput=r}function ee(e){for(var t=[],r=0;r<e.pointers.length;)t[r]={clientX:l(e.pointers[r].clientX),clientY:l(e.pointers[r].clientY)},r++;return{timeStamp:u(),pointers:t,center:te(t),deltaX:e.deltaX,deltaY:e.deltaY}}function te(e){var t=e.length;if(1===t)return{x:l(e[0].clientX),y:l(e[0].clientY)};for(var r=0,n=0,i=0;i<t;)r+=e[i].clientX,n+=e[i].clientY,i++;return{x:l(r/t),y:l(n/t)}}function re(e,t,r){return{x:t/e||0,y:r/e||0}}function ne(e,t){return e===t?U:c(e)>=c(t)?e<0?q:_:t<0?H:G}function ie(e,t,r){r||(r=X);var n=t[r[0]]-e[r[0]],i=t[r[1]]-e[r[1]];return Math.sqrt(n*n+i*i)}function oe(e,t,r){r||(r=X);var n=t[r[0]]-e[r[0]],i=t[r[1]]-e[r[1]];return 180*Math.atan2(i,n)/Math.PI}Z.prototype={handler:function(){},init:function(){this.evEl&&x(this.element,this.evEl,this.domHandler),this.evTarget&&x(this.target,this.evTarget,this.domHandler),this.evWin&&x(R(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&w(this.element,this.evEl,this.domHandler),this.evTarget&&w(this.target,this.evTarget,this.domHandler),this.evWin&&w(R(this.element),this.evWin,this.domHandler)}};var ae={mousedown:N,mousemove:V,mouseup:z},se="mousedown",le="mousemove mouseup";function ce(){this.evEl=se,this.evWin=le,this.pressed=!1,Z.apply(this,arguments)}A(ce,Z,{handler:function(e){var t=ae[e.type];t&N&&(0===e.button||2===e.button)&&(this.pressed=!0),t&V&&1!==e.which&&(t=z),this.pressed&&(t&z&&(this.pressed=!1),this.callback(this.manager,t,{pointers:[e],changedPointers:[e],pointerType:Q,srcEvent:e}))}});var ue={pointerdown:N,pointermove:V,pointerup:z,pointercancel:j,pointerout:j},de={2:D,3:"pen",4:Q,5:"kinect"},pe="pointerdown",he="pointermove pointerup pointercancel";function fe(){this.evEl=pe,this.evWin=he,Z.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}e.MSPointerEvent&&!e.PointerEvent&&(pe="MSPointerDown",he="MSPointerMove MSPointerUp MSPointerCancel"),A(fe,Z,{handler:function(e){var t=this.store,r=!1,n=!1,i=e.type.toLowerCase().replace("ms",""),o=ue[i],a=de[e.pointerType]||e.pointerType,s=a==D,l=S(t,e.pointerId,"pointerId");o&N&&(0===e.button||2===e.button||s)?l<0&&(t.push(e),l=t.length-1):o&(z|j)?r=!0:s||0!==e.buttons||(r=!0,n=!0,o=ue.pointerup),l<0||(n||(t[l]=e),this.callback(this.manager,o,{pointers:t,changedPointers:[e],pointerType:a,srcEvent:t[l]}),r&&t.splice(l,1))}});var ve={touchstart:N,touchmove:V,touchend:z,touchcancel:j};function me(){this.evTarget="touchstart",this.evWin="touchstart touchmove touchend touchcancel",this.started=!1,Z.apply(this,arguments)}function Ae(e,t){var r=I(e.touches),n=I(e.changedTouches);return t&(z|j)&&(r=P(r.concat(n),"identifier",!0)),[r,n]}A(me,Z,{handler:function(e){var t=ve[e.type];if(t===N&&(this.started=!0),this.started){var r=Ae.call(this,e,t);t&(z|j)&&r[0].length-r[1].length==0&&(this.started=!1),this.callback(this.manager,t,{pointers:r[0],changedPointers:r[1],pointerType:D,srcEvent:e})}}});var ge={touchstart:N,touchmove:V,touchend:z,touchcancel:j},ye="touchstart touchmove touchend touchcancel";function be(){this.evTarget=ye,this.targetIds={},Z.apply(this,arguments)}function xe(e,t){var r=I(e.touches),n=this.targetIds;if(t&(N|V)&&1===r.length)return n[r[0].identifier]=!0,[r,r];var i,o,a=I(e.changedTouches),s=[],l=this.target;if(o=r.filter((function(e){return E(e.target,l)})),t===N)for(i=0;i<o.length;)n[o[i].identifier]=!0,i++;for(i=0;i<a.length;)n[a[i].identifier]&&s.push(a[i]),t&(z|j)&&delete n[a[i].identifier],i++;return s.length?[P(o.concat(s),"identifier",!0),s]:void 0}A(be,Z,{handler:function(e){var t=ge[e.type],r=xe.call(this,e,t);r&&this.callback(this.manager,t,{pointers:r[0],changedPointers:r[1],pointerType:D,srcEvent:e})}});var we=2500;function Ee(){Z.apply(this,arguments);var e=g(this.handler,this);this.touch=new be(this.manager,e),this.mouse=new ce(this.manager,e),this.primaryTouch=null,this.lastTouches=[]}function Me(e,t){e&N?(this.primaryTouch=t.changedPointers[0].identifier,Ce.call(this,t)):e&(z|j)&&Ce.call(this,t)}function Ce(e){var t=e.changedPointers[0];if(t.identifier===this.primaryTouch){var r={x:t.clientX,y:t.clientY};this.lastTouches.push(r);var n=this.lastTouches;setTimeout((function(){var e=n.indexOf(r);e>-1&&n.splice(e,1)}),we)}}function Se(e){for(var t=e.srcEvent.clientX,r=e.srcEvent.clientY,n=0;n<this.lastTouches.length;n++){var i=this.lastTouches[n],o=Math.abs(t-i.x),a=Math.abs(r-i.y);if(o<=25&&a<=25)return!0}return!1}A(Ee,Z,{handler:function(e,t,r){var n=r.pointerType==D,i=r.pointerType==Q;if(!(i&&r.sourceCapabilities&&r.sourceCapabilities.firesTouchEvents)){if(n)Me.call(this,t,r);else if(i&&Se.call(this,r))return;this.callback(e,t,r)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var Ie=a?T(a.style,"touchAction"):n,Pe=Ie!==n,Te="compute",Be="auto",Re="manipulation",ke="none",Oe="pan-x",Fe="pan-y",De=function(){if(!Pe)return!1;var t={},r=e.CSS&&e.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach((function(n){t[n]=!r||e.CSS.supports("touch-action",n)})),t}();function Qe(e,t){this.manager=e,this.set(t)}Qe.prototype={set:function(e){e==Te&&(e=this.compute()),Pe&&this.manager.element.style&&De[e]&&(this.manager.element.style[Ie]=e),this.actions=e.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var e=[];return h(this.manager.recognizers,(function(t){y(t.options.enable,[t])&&(e=e.concat(t.getTouchAction()))})),function(e){if(M(e,ke))return ke;var t=M(e,Oe),r=M(e,Fe);if(t&&r)return ke;if(t||r)return t?Oe:Fe;if(M(e,Re))return Re;return Be}(e.join(" "))},preventDefaults:function(e){var t=e.srcEvent,r=e.offsetDirection;if(this.manager.session.prevented)t.preventDefault();else{var n=this.actions,i=M(n,ke)&&!De[ke],o=M(n,Fe)&&!De[Fe],a=M(n,Oe)&&!De[Oe];if(i){var s=1===e.pointers.length,l=e.distance<2,c=e.deltaTime<250;if(s&&l&&c)return}if(!a||!o)return i||o&&r&K||a&&r&W?this.preventSrc(t):void 0}},preventSrc:function(e){this.manager.session.prevented=!0,e.preventDefault()}};var Le=1,Ne=2,Ve=4,ze=8,je=ze,Ue=16,qe=32;function _e(e){this.options=i({},this.defaults,e||{}),this.id=B++,this.manager=null,this.options.enable=b(this.options.enable,!0),this.state=Le,this.simultaneous={},this.requireFail=[]}function He(e){return e&Ue?"cancel":e&ze?"end":e&Ve?"move":e&Ne?"start":""}function Ge(e){return e==G?"down":e==H?"up":e==q?"left":e==_?"right":""}function Ke(e,t){var r=t.manager;return r?r.get(e):e}function We(){_e.apply(this,arguments)}function Ye(){We.apply(this,arguments),this.pX=null,this.pY=null}function Xe(){We.apply(this,arguments)}function Je(){_e.apply(this,arguments),this._timer=null,this._input=null}function Ze(){We.apply(this,arguments)}function $e(){We.apply(this,arguments)}function et(){_e.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function tt(e,t){return(t=t||{}).recognizers=b(t.recognizers,tt.defaults.preset),new rt(e,t)}_e.prototype={defaults:{},set:function(e){return i(this.options,e),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(e){if(p(e,"recognizeWith",this))return this;var t=this.simultaneous;return t[(e=Ke(e,this)).id]||(t[e.id]=e,e.recognizeWith(this)),this},dropRecognizeWith:function(e){return p(e,"dropRecognizeWith",this)||(e=Ke(e,this),delete this.simultaneous[e.id]),this},requireFailure:function(e){if(p(e,"requireFailure",this))return this;var t=this.requireFail;return-1===S(t,e=Ke(e,this))&&(t.push(e),e.requireFailure(this)),this},dropRequireFailure:function(e){if(p(e,"dropRequireFailure",this))return this;e=Ke(e,this);var t=S(this.requireFail,e);return t>-1&&this.requireFail.splice(t,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(e){return!!this.simultaneous[e.id]},emit:function(e){var t=this,r=this.state;function n(r){t.manager.emit(r,e)}r<ze&&n(t.options.event+He(r)),n(t.options.event),e.additionalEvent&&n(e.additionalEvent),r>=ze&&n(t.options.event+He(r))},tryEmit:function(e){if(this.canEmit())return this.emit(e);this.state=qe},canEmit:function(){for(var e=0;e<this.requireFail.length;){if(!(this.requireFail[e].state&(qe|Le)))return!1;e++}return!0},recognize:function(e){var t=i({},e);if(!y(this.options.enable,[this,t]))return this.reset(),void(this.state=qe);this.state&(je|Ue|qe)&&(this.state=Le),this.state=this.process(t),this.state&(Ne|Ve|ze|Ue)&&this.tryEmit(t)},process:function(e){},getTouchAction:function(){},reset:function(){}},A(We,_e,{defaults:{pointers:1},attrTest:function(e){var t=this.options.pointers;return 0===t||e.pointers.length===t},process:function(e){var t=this.state,r=e.eventType,n=t&(Ne|Ve),i=this.attrTest(e);return n&&(r&j||!i)?t|Ue:n||i?r&z?t|ze:t&Ne?t|Ve:Ne:qe}}),A(Ye,We,{defaults:{event:"pan",threshold:10,pointers:1,direction:Y},getTouchAction:function(){var e=this.options.direction,t=[];return e&K&&t.push(Fe),e&W&&t.push(Oe),t},directionTest:function(e){var t=this.options,r=!0,n=e.distance,i=e.direction,o=e.deltaX,a=e.deltaY;return i&t.direction||(t.direction&K?(i=0===o?U:o<0?q:_,r=o!=this.pX,n=Math.abs(e.deltaX)):(i=0===a?U:a<0?H:G,r=a!=this.pY,n=Math.abs(e.deltaY))),e.direction=i,r&&n>t.threshold&&i&t.direction},attrTest:function(e){return We.prototype.attrTest.call(this,e)&&(this.state&Ne||!(this.state&Ne)&&this.directionTest(e))},emit:function(e){this.pX=e.deltaX,this.pY=e.deltaY;var t=Ge(e.direction);t&&(e.additionalEvent=this.options.event+t),this._super.emit.call(this,e)}}),A(Xe,We,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[ke]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.scale-1)>this.options.threshold||this.state&Ne)},emit:function(e){if(1!==e.scale){var t=e.scale<1?"in":"out";e.additionalEvent=this.options.event+t}this._super.emit.call(this,e)}}),A(Je,_e,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[Be]},process:function(e){var t=this.options,r=e.pointers.length===t.pointers,n=e.distance<t.threshold,i=e.deltaTime>t.time;if(this._input=e,!n||!r||e.eventType&(z|j)&&!i)this.reset();else if(e.eventType&N)this.reset(),this._timer=d((function(){this.state=je,this.tryEmit()}),t.time,this);else if(e.eventType&z)return je;return qe},reset:function(){clearTimeout(this._timer)},emit:function(e){this.state===je&&(e&&e.eventType&z?this.manager.emit(this.options.event+"up",e):(this._input.timeStamp=u(),this.manager.emit(this.options.event,this._input)))}}),A(Ze,We,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[ke]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.rotation)>this.options.threshold||this.state&Ne)}}),A($e,We,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:K|W,pointers:1},getTouchAction:function(){return Ye.prototype.getTouchAction.call(this)},attrTest:function(e){var t,r=this.options.direction;return r&(K|W)?t=e.overallVelocity:r&K?t=e.overallVelocityX:r&W&&(t=e.overallVelocityY),this._super.attrTest.call(this,e)&&r&e.offsetDirection&&e.distance>this.options.threshold&&e.maxPointers==this.options.pointers&&c(t)>this.options.velocity&&e.eventType&z},emit:function(e){var t=Ge(e.offsetDirection);t&&this.manager.emit(this.options.event+t,e),this.manager.emit(this.options.event,e)}}),A(et,_e,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[Re]},process:function(e){var t=this.options,r=e.pointers.length===t.pointers,n=e.distance<t.threshold,i=e.deltaTime<t.time;if(this.reset(),e.eventType&N&&0===this.count)return this.failTimeout();if(n&&i&&r){if(e.eventType!=z)return this.failTimeout();var o=!this.pTime||e.timeStamp-this.pTime<t.interval,a=!this.pCenter||ie(this.pCenter,e.center)<t.posThreshold;if(this.pTime=e.timeStamp,this.pCenter=e.center,a&&o?this.count+=1:this.count=1,this._input=e,0===this.count%t.taps)return this.hasRequireFailures()?(this._timer=d((function(){this.state=je,this.tryEmit()}),t.interval,this),Ne):je}return qe},failTimeout:function(){return this._timer=d((function(){this.state=qe}),this.options.interval,this),qe},reset:function(){clearTimeout(this._timer)},emit:function(){this.state==je&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),tt.VERSION="2.0.7",tt.defaults={domEvents:!1,touchAction:Te,enable:!0,inputTarget:null,inputClass:null,preset:[[Ze,{enable:!1}],[Xe,{enable:!1},["rotate"]],[$e,{direction:K}],[Ye,{direction:K},["swipe"]],[et],[et,{event:"doubletap",taps:2},["tap"]],[Je]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};function rt(e,t){var r;this.options=i({},tt.defaults,t||{}),this.options.inputTarget=this.options.inputTarget||e,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=e,this.input=new((r=this).options.inputClass||(O?fe:F?be:k?Ee:ce))(r,$),this.touchAction=new Qe(this,this.options.touchAction),nt(this,!0),h(this.options.recognizers,(function(e){var t=this.add(new e[0](e[1]));e[2]&&t.recognizeWith(e[2]),e[3]&&t.requireFailure(e[3])}),this)}function nt(e,t){var r,n=e.element;n.style&&(h(e.options.cssProps,(function(i,o){r=T(n.style,o),t?(e.oldCssProps[r]=n.style[r],n.style[r]=i):n.style[r]=e.oldCssProps[r]||""})),t||(e.oldCssProps={}))}return rt.prototype={set:function(e){return i(this.options,e),e.touchAction&&this.touchAction.update(),e.inputTarget&&(this.input.destroy(),this.input.target=e.inputTarget,this.input.init()),this},stop:function(e){this.session.stopped=e?2:1},recognize:function(e){var t=this.session;if(!t.stopped){var r;this.touchAction.preventDefaults(e);var n=this.recognizers,i=t.curRecognizer;(!i||i&&i.state&je)&&(i=t.curRecognizer=null);for(var o=0;o<n.length;)r=n[o],2===t.stopped||i&&r!=i&&!r.canRecognizeWith(i)?r.reset():r.recognize(e),!i&&r.state&(Ne|Ve|ze)&&(i=t.curRecognizer=r),o++}},get:function(e){if(e instanceof _e)return e;for(var t=this.recognizers,r=0;r<t.length;r++)if(t[r].options.event==e)return t[r];return null},add:function(e){if(p(e,"add",this))return this;var t=this.get(e.options.event);return t&&this.remove(t),this.recognizers.push(e),e.manager=this,this.touchAction.update(),e},remove:function(e){if(p(e,"remove",this))return this;if(e=this.get(e)){var t=this.recognizers,r=S(t,e);-1!==r&&(t.splice(r,1),this.touchAction.update())}return this},on:function(e,t){if(e!==n&&t!==n){var r=this.handlers;return h(C(e),(function(e){r[e]=r[e]||[],r[e].push(t)})),this}},off:function(e,t){if(e!==n){var r=this.handlers;return h(C(e),(function(e){t?r[e]&&r[e].splice(S(r[e],t),1):delete r[e]})),this}},emit:function(e,r){this.options.domEvents&&function(e,r){var n=t.createEvent("Event");n.initEvent(e,!0,!0),n.gesture=r,r.target.dispatchEvent(n)}(e,r);var n=this.handlers[e]&&this.handlers[e].slice();if(n&&n.length){r.type=e,r.preventDefault=function(){r.srcEvent.preventDefault()};for(var i=0;i<n.length;)n[i](r),i++}},destroy:function(){this.element&&nt(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},i(tt,{INPUT_START:N,INPUT_MOVE:V,INPUT_END:z,INPUT_CANCEL:j,STATE_POSSIBLE:Le,STATE_BEGAN:Ne,STATE_CHANGED:Ve,STATE_ENDED:ze,STATE_RECOGNIZED:je,STATE_CANCELLED:Ue,STATE_FAILED:qe,DIRECTION_NONE:U,DIRECTION_LEFT:q,DIRECTION_RIGHT:_,DIRECTION_UP:H,DIRECTION_DOWN:G,DIRECTION_HORIZONTAL:K,DIRECTION_VERTICAL:W,DIRECTION_ALL:Y,Manager:rt,Input:Z,TouchAction:Qe,TouchInput:be,MouseInput:ce,PointerEventInput:fe,TouchMouseInput:Ee,SingleTouchInput:me,Recognizer:_e,AttrRecognizer:We,Tap:et,Pan:Ye,Swipe:$e,Pinch:Xe,Rotate:Ze,Press:Je,on:x,off:w,each:h,merge:m,extend:v,assign:i,inherit:A,bindFn:g,prefixed:T}),tt}("undefined"!=typeof window?window:{},"undefined"!=typeof document?document:{});function As(e,t,r){var i=t.getBoundingClientRect(),o=i.top,a=i.left,s=i.width,l=i.height;return r&&(a+=s*r.left,o+=l*(1-r.bottom-r.height),s*=r.width,l*=r.height),new n.Vector2((e.x-a)/s*2-1,-(e.y-o)/l*2+1)}var gs=function(e){function t(r){var n,i,o,a,s,l,c=this;c=e.call(this)||this;var u=t.parseArgs(r);return c.mode="",c.pending=new Set,c.userAction=u.initial.userAction,c.destroyed=!1,c.ident=u.ident,c.scene=u.scene,c.xrCustomObjectsScene=u.xrCustomObjectsScene,c.helper=u.helper,c.boundingMesh=u.boundingMesh,c.camera=u.camera,c.renderer=u.renderer,c.scissor=u.scissor,c.element=u.element,c.models=u.models,c.enableIOSEDR=null!==(n=u.enableIOSEDR)&&void 0!==n&&n,c.enableEDL=null===(i=u.enableEDL)||void 0===i||i,c.enableHQ=null===(o=u.enableHQ)||void 0===o||o,c.works=u.works,c.imageOptions=u.imageOptions,c.videoTexture=u.videoTexture,c.extraElements=u.extraElements,c.initial=u.initial,c.currentPano="number"==typeof c.initial.state.panoIndex?{workCode:null!==(l=null!==(a=c.initial.state.workCode)&&void 0!==a?a:null===(s=u.works[0])||void 0===s?void 0:s.workCode)&&void 0!==l?l:"",panoIndex:c.initial.state.panoIndex}:{workCode:c.initial.currentState.workCode,panoIndex:c.initial.currentState.panoIndex},c.needsRender=!0,c.cameraMotion=new Da({longitude:{value:c.camera.pose.longitude,circle:[0,2*Math.PI]},latitude:c.camera.pose.latitude,fov:c.camera.pose.fov}),c.inMomentumMovement=null,c.eventUnbinds=[u.element].concat(u.extraElements||[]).map((function(e){return c.bindEvents(e)})),c.pending.add("init-animation"),c.initAnimationReady=new Promise((function(e){Ne.shared.add((function(){c.initAnimation().then((function(){c.pending.delete("init-animation"),e()}))}),!0)})),c}return ne(t,e),t.parseArgs=function(e){return e instanceof t?e:ie({},e)},t.initAnimationEndState=function(e){var t,r,n,i,o,a,s,l,c=this.parseArgs(e),u=c.initial,d=u.state,p=u.currentState,h="number"==typeof d.panoIndex?{workCode:null!==(n=null!==(t=d.workCode)&&void 0!==t?t:null===(r=c.works[0])||void 0===r?void 0:r.workCode)&&void 0!==n?n:"",panoIndex:d.panoIndex}:{workCode:p.workCode,panoIndex:p.panoIndex};return ie(ie({},h),{mode:"",longitude:null!==(i=d.longitude)&&void 0!==i?i:p.longitude,latitude:null!==(o=d.latitude)&&void 0!==o?o:p.latitude,fov:null!==(a=d.fov)&&void 0!==a?a:p.fov,offset:null!==(s=d.offset)&&void 0!==s?s:p.offset,distance:null!==(l=d.distance)&&void 0!==l?l:p.distance})},t.prototype.destroy=function(){var e;this.stopMomentumMovement(),this.destroyed=!0,this.off(),this.cameraMotion.dispose();for(var t=0,r=this.eventUnbinds;t<r.length;t++){(0,r[t])()}this.copyEffect&&(this.copyEffect.dispose(),delete this.copyEffect),delete this.panState,null===(e=this.pressState)||void 0===e||e.stop(),delete this.pressState},t.prototype.isReady=function(){return null===this.inMomentumMovement&&0===this.pending.size&&!0===this.cameraMotion.ended},t.prototype.bindExtraElement=function(e){for(var t=0,r=this.eventUnbinds;t<r.length;t++){if(r[t].element===e)return}this.eventUnbinds.push(this.bindEvents(e))},t.prototype.unbindExtraElement=function(e){for(var t=[],r=0,n=this.eventUnbinds;r<n.length;r++){var i=n[r];i.element===e?i():t.push(i)}this.eventUnbinds=t},t.prototype.updateRenderSize=function(){this.needsRender=!0},t.prototype.updateModel=function(e){this.needsRender=!0},t.prototype.updateWork=function(e,t,r,n){return this.works=e,this.userAction=n,!1},t.prototype.updateTime=function(e,t){if(!this.destroyed){var r={};this.cameraMotion.ended&&(this.cameraMotion.update(e),r.longitude=this.cameraMotion.value.longitude,r.latitude=this.cameraMotion.value.latitude,r.fov=this.cameraMotion.value.fov),fs(r)&&this.setCamera(r)}},t.prototype.render=function(){this.renderer.render(this.scene,this.camera)},t.prototype.postProcessing=function(e,t){this.destroyed},t.prototype.updateCamera=function(e,t,r){var n=this;return this.initAnimationReady.then((function(){n.userAction=r,n.stopMomentumMovement();var i={};return void 0!==e.longitude&&(i.longitude=e.longitude),void 0!==e.latitude&&(i.latitude=e.latitude),void 0!==e.fov&&(i.fov=e.fov),n.cameraMotion.set(i,t).catch(fe)}))},t.prototype.updateCameraWithKeyframes=function(e,t,r){var n=this;return this.initAnimationReady.then((function(){n.userAction=r,n.stopMomentumMovement();for(var i=[],o=0,a=e;o<a.length;o++){var s=a[o];i.push({key:s.key,progress:s.progress,value:{longitude:s.value.longitude,latitude:s.value.latitude,fov:s.value.fov}})}return n.cameraMotion.setKeyframes(i,t)}))},t.prototype.getTargetState=function(){var e=this.cameraMotion.getKeyFrameSegment(me())[1];return ie(ie({},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,n=t.initAnimationEndState(this);return this.userAction=r,this.emit("initAnimation.start",cs("initAnimation.start",{state:n,userAction:this.userAction})),this.emit("initAnimation.end",cs("initAnimation.end",{state:n,userAction:this.userAction})),Promise.resolve()},t.prototype.setCamera=function(e){var t,r,n,i,o;void 0===e&&(e={});var a=null!==(t=e.longitude)&&void 0!==t?t:this.camera.pose.longitude,s=null!==(r=e.latitude)&&void 0!==r?r:this.camera.pose.latitude,l=null!==(n=e.fov)&&void 0!==n?n:this.camera.pose.fov,c=null!==(i=e.distance)&&void 0!==i?i:this.camera.pose.distance,u=null!==(o=e.offset)&&void 0!==o?o:this.camera.pose.offset,d=Ja(a,this.camera.pose.longitude,2*Math.PI)||Ja(s,this.camera.pose.latitude),p=Ja(l,this.camera.pose.fov),h=Ja(c,this.camera.pose.distance),f=$a(u,this.camera.pose.offset);(p||d||f||h)&&(this.camera.setFromPose({longitude:a,latitude:s,fov:l,distance:c,offset:u}),this.emit("camera.update",cs("camera.update",{userAction:this.userAction,state:ie(ie({},this.currentPano),{mode:this.mode,longitude:a,latitude:s,fov:l,offset:u,distance:c})})),this.needsRender=!0)},t.prototype.stopMomentumMovement=function(){if(this.inMomentumMovement&&this.inMomentumMovement.event&&!this.inMomentumMovement.event.defaultPrevented&&!this.inMomentumMovement.event.isFinal){var e=cs("gesture.momentum",ie(ie({},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 As(e,this.element,this.scissor)},t.prototype.bindEvents=function(e){var t=this,r=function(e){var r=As(e,t.element,t.scissor);return!(Math.abs(r.x)>1||Math.abs(r.y)>1)},i=new ms.Manager(e),o=function(e){return e.session.firstInput||null};i.add(new ms.Pan({threshold:10,pointers:0})),i.add(new ms.Tap({interval:410})),i.add(new ms.Pinch({threshold:0,pointers:2})),i.on("panstart pan",(function(e){var a=o(i);if(!a||r(a.center)){var s,l,c,u=cs("gesture.pan",{target:e.target,pointerType:e.pointerType,srcEvent:e.srcEvent,pointers:e.pointers.map((function(e){var r=t.relativeClientPosition(e),i=new n.Raycaster;return i.setFromCamera(r,t.camera),{x:e.x,y:e.y,delta:0,buttons:0,coords:r,raycaster:i}})),isFirst:e.isFirst,isFinal:e.isFinal,scale:e.scale,center:(s=e.center,l=t.relativeClientPosition(s),c=new n.Raycaster,c.setFromCamera(l,t.camera),{x:s.x,y:s.y,delta:0,buttons:0,coords:l,raycaster:c}),velocityX:e.velocityX,velocityY:e.velocityY,overallVelocityX:e.overallVelocityX,overallVelocityY:e.overallVelocityY,userAction:!0,state:ie(ie({mode:t.mode},t.currentPano),vs(t.camera.pose))});t.onPanGesture(u),v()}})),i.on("tap",(function(e){if("mouse"!==e.pointerType||0===e.srcEvent.button){var a=o(i);if(!a||r(a.center)){var s,l,c,u=cs("gesture.tap",{target:e.target,pointerType:e.pointerType,srcEvent:e.srcEvent,pointers:e.pointers.map((function(e){var r=t.relativeClientPosition(e),i=new n.Raycaster;return i.setFromCamera(r,t.camera),{x:e.x,y:e.y,delta:0,buttons:0,coords:r,raycaster:i}})),isFirst:!0,isFinal:!0,scale:e.scale,center:(s=e.center,l=t.relativeClientPosition(s),c=new n.Raycaster,c.setFromCamera(l,t.camera),{x:s.x,y:s.y,delta:0,buttons:0,coords:l,raycaster:c}),velocityX:e.velocityX,velocityY:e.velocityY,overallVelocityX:e.overallVelocityX,overallVelocityY:e.overallVelocityY,userAction:!0,state:ie(ie({mode:t.mode},t.currentPano),vs(t.camera.pose))});t.onTapGesture(u),v()}}})),i.on("pinchstart pinch pinchend",(function(e){var a=o(i);if(!a||r(a.center)){var s,l,c,u=cs("gesture.pinch",{target:e.target,pointerType:e.pointerType,srcEvent:e.srcEvent,pointers:e.pointers.map((function(e){var r,i=t.relativeClientPosition(e),o=new n.Raycaster;return o.setFromCamera(i,t.camera),{x:e.x,y:e.y,delta:null!==(r=e.delta)&&void 0!==r?r:0,buttons:0,coords:i,raycaster:o}})),isFirst:"pinchstart"===e.type,isFinal:"pinchend"===e.type,scale:e.scale,center:(s=e.center,l=t.relativeClientPosition(s),c=new n.Raycaster,c.setFromCamera(l,t.camera),{x:s.x,y:s.y,delta:0,buttons:0,coords:l,raycaster:c}),velocityX:e.velocityX,velocityY:e.velocityY,overallVelocityX:e.overallVelocityX,overallVelocityY:e.overallVelocityY,userAction:!0,state:ie(ie({mode:t.mode},t.currentPano),vs(t.camera.pose))});t.onPinchGesture(u),v()}}));var a=null,s=null,l=function(e,r,i){var o={x:i.clientX,y:i.clientY},a=t.relativeClientPosition(o),s=new n.Raycaster;s.setFromCamera(a,t.camera);var l=ie(ie({},o),{coords:a,raycaster:s,buttons:i.buttons,delta:0}),c="pinchend"===e?r:r-i.deltaY/280;return cs("gesture.pinch",{target:i.target,pointerType:"mouse",srcEvent:i,pointers:[ie({},l)],isFirst:"pinchstart"===e,isFinal:"pinchend"===e,scale:jr(c,.1,10),center:ie({},l),velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:ie(ie({mode:t.mode},t.currentPano),vs(t.camera.pose))})},c=function(e){var i,o={x:e.clientX,y:e.clientY};if(r(o)){if(e.preventDefault(),e.ctrlKey){var c=null!==(i=null==a?void 0:a.prevEvent.scale)&&void 0!==i?i:1,u=l(a?"pinch":"pinchstart",c,e);null===a?a={firstEvent:u,prevEvent:u}:a.prevEvent=u,t.onPinchGesture(u),null!==s&&window.clearTimeout(s),s=window.setTimeout((function(){var r;s=null;var n=null!==(r=null==a?void 0:a.prevEvent.scale)&&void 0!==r?r:1,i=l("pinchend",n,e);a=null,t.onPinchGesture(i)}),200)}else{var d=(Math.abs(e.deltaY)>Math.abs(e.deltaX)?e.deltaY:e.deltaX)/-60,p=void 0!==t.mouseWheelState,h={x:e.clientX,y:e.clientY},f=t.relativeClientPosition(h),m=new n.Raycaster;m.setFromCamera(f,t.camera);var A=ie(ie({},h),{coords:f,raycaster:m,buttons:e.buttons,delta:d});u=cs("gesture.mousewheel",{target:e.target,pointerType:"mouse",srcEvent:e,pointers:[ie({},A)],isFirst:p,isFinal:!1,scale:0,center:ie({},A),velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:ie(ie({mode:t.mode},t.currentPano),vs(t.camera.pose))});t.onMouseWheel(u),t.mouseWheelState&&clearTimeout(t.mouseWheelState.timer),t.mouseWheelState={timer:setTimeout((function(){delete t.mouseWheelState;var r=cs("gesture.mousewheel",{target:e.target,pointerType:"mouse",srcEvent:e,pointers:[ie(ie({},A),{delta:0})],isFirst:!1,isFinal:!0,scale:0,center:ie(ie({},A),{delta:0}),velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:ie(ie({mode:t.mode},t.currentPano),vs(t.camera.pose))});t.onMouseWheel(r)}),100)}}v()}},u=function(e){if(!ls())if(r({x:e.clientX,y:e.clientY})){var i=!1;t.mouseMoveState||(i=!0);var o={x:e.clientX,y:e.clientY},a=t.relativeClientPosition(o),s=new n.Raycaster;s.setFromCamera(a,t.camera);var l=ie(ie({},o),{coords:a,raycaster:s,buttons:e.buttons,delta:0}),c=cs("gesture.mousemove",{target:e.target,pointerType:"mouse",srcEvent:e,pointers:[ie({},l)],isFirst:i,isFinal:!1,scale:0,center:ie({},l),velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:ie(ie({mode:t.mode},t.currentPano),vs(t.camera.pose))});t.mouseMoveState||(t.mouseMoveState={timeStamp:me(),event:c}),t.onMouseMove(c),t.pressState&&Math.abs(e.clientX-t.pressState.event.center.y)>10&&Math.abs(e.clientY-t.pressState.event.center.y)>10&&v()}else d()},d=function(){if(t.mouseMoveState){var e=cs(t.mouseMoveState.event.type,ie(ie({},t.mouseMoveState.event),{isFinal:!0}));t.onMouseMove(e)}v()},p=function(e){if(r(e.center)){var n=!1;t.pressState||(n=!0,t.pressState={event:e,timeStamp:me(),stop:fe});var i=me()-t.pressState.timeStamp,o=cs(t.pressState.event.type,ie(ie({},t.pressState.event),{isFirst:n,isFinal:!1,center:ie(ie({},t.pressState.event.center),{delta:i}),pointers:t.pressState.event.pointers.map((function(e){return ie(ie({},e),{delta:i})}))}));t.onPressGesture(o),t.pressState&&(t.pressState.stop=Ne.shared.add((function(t){p(e)}),!0,1))}else v()},h=function(e){if(v(),!(e.touches.length>1||e.changedTouches.length<=0)){var r={x:e.changedTouches[0].clientX,y:e.changedTouches[0].clientY},i=t.relativeClientPosition(r),o=new n.Raycaster;o.setFromCamera(i,t.camera);var a=ie(ie({},r),{coords:i,raycaster:o,buttons:0,delta:0}),s=cs("gesture.press",{target:e.target,pointerType:"touch",srcEvent:e,pointers:[ie({},a)],isFirst:!1,isFinal:!1,scale:0,center:a,velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:ie(ie({mode:t.mode},t.currentPano),vs(t.camera.pose))});p(s)}},f=function(e){v();var r={x:e.clientX,y:e.clientY},i=t.relativeClientPosition(r),o=new n.Raycaster;o.setFromCamera(i,t.camera);var a=ie(ie({},r),{coords:i,raycaster:o,buttons:e.buttons,delta:0}),s=cs("gesture.press",{target:e.target,pointerType:"mouse",srcEvent:e,pointers:[ie({},a)],isFirst:!1,isFinal:!1,scale:0,center:a,velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:ie(ie({mode:t.mode},t.currentPano),vs(t.camera.pose))});p(s)},v=function(){var e;if(t.pressState){var r=me()-t.pressState.timeStamp,n=cs(t.pressState.event.type,ie(ie({},t.pressState.event),{center:ie(ie({},t.pressState.event.center),{delta:r}),isFirst:!1,isFinal:!0,pointers:t.pressState.event.pointers.map((function(e){return ie(ie({},e),{delta:r})}))}));t.onPressGesture(n),null===(e=t.pressState)||void 0===e||e.stop(),delete t.pressState}},m=null,A=function(e){var r,i=!1,o=!1;switch(e.type){case"gesturestart":i=!0;break;case"gestureend":o=!0}var a={x:e.clientX,y:e.clientY},s=t.relativeClientPosition(a),l=new n.Raycaster;l.setFromCamera(s,t.camera);var c=ie(ie({},a),{coords:s,raycaster:l,buttons:0,delta:0});return cs("gesture.pinch",{target:e.target,pointerType:"mouse",srcEvent:e,pointers:[ie({},c)],isFirst:i,isFinal:o,scale:null!==(r=e.scale)&&void 0!==r?r:1,center:ie({},c),velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:ie(ie({mode:t.mode},t.currentPano),vs(t.camera.pose))})},g=function(e){if(e.preventDefault(),!ls()){var n=A(e),i=(m={firstEvent:n}).firstEvent;i&&!r(i.center)||t.onPinchGesture(n)}},y=function(e){if(e.preventDefault(),!ls()&&m){var n=A(e),i=m.firstEvent;i&&!r(i.center)||t.onPinchGesture(n)}},b=function(e){if(e.preventDefault(),!ls()&&m){var n=A(e),i=m.firstEvent;m=null,i&&!r(i.center)||t.onPinchGesture(n)}},x=function(t){if(t&&"function"==typeof t.preventDefault&&t.currentTarget===e&&t.preventDefault(),"function"==typeof getSelection){var r=getSelection();r&&r.focusNode&&(r.removeAllRanges&&r.removeAllRanges(),r.empty&&r.empty())}};e.addEventListener("wheel",c,{passive:!1}),e.addEventListener("mousemove",u,!1),e.addEventListener("mouseout",d,!1),e.addEventListener("touchstart",h,{passive:!0}),e.addEventListener("touchend",v,!1),e.addEventListener("touchcancel",v,!1),e.addEventListener("mousedown",f,!1),e.addEventListener("mouseup",v,!1),e.addEventListener("gesturestart",g,{passive:!1}),e.addEventListener("gesturechange",y,{passive:!1}),e.addEventListener("gestureend",b,{passive:!1}),e.addEventListener("touchstart",x,{passive:!1}),e.addEventListener("contextmenu",x,!1);return Object.assign((function(){i.destroy(),e.removeEventListener("wheel",c,!1),e.removeEventListener("mousemove",u,!1),e.removeEventListener("mouseout",d,!1),e.removeEventListener("touchstart",h,!1),e.removeEventListener("touchend",v,!1),e.removeEventListener("touchcancel",v,!1),e.removeEventListener("mousedown",f,!1),e.removeEventListener("mouseup",v,!1),e.removeEventListener("gesturestart",g,!1),e.removeEventListener("gesturechange",y,!1),e.removeEventListener("gestureend",b,!1),e.removeEventListener("touchstart",x,!1),e.removeEventListener("contextmenu",x,!1)}),{element:e})},t.prototype.preloadPano=function(e,t){var r=this;void 0===t&&(t=fe);var n=this.works.getResolvedObserver(e);if(!n)return Promise.resolve();return Promise.all(["right","left","up","down","front","back"].map((function(t){var i=ie({key:"pano.".concat(Xe(e),".").concat(t)},eo(r.imageOptions,["size","format","quality","mappings"])),o=He(n.images[t],r.imageOptions.transform,i);return pa(n.work).preload(o)}))).then((function(){return t(e),e}))},t}(he),ys=function(e){function t(r){var n,i=this,o=t.parseArgs(r);return(i=e.call(this,o)||this).mode="Floorplan",i.defaultLongitude=o.defaultLongitude,i.defaultLatitude=o.defaultLatitude,i.defaultFov=o.defaultFov,i.maxFov=o.maxFov,i.minFov=o.minFov,i.maxLatitude=o.maxLatitude,i.minLatitude=o.minLatitude,i.locationMotion=new Da({x:i.camera.pose.offset.x,y:i.camera.pose.offset.y,z:i.camera.pose.offset.z,distance:i.camera.pose.distance,modelAlpha:null!==(n=i.models.getMaterial().modelAlpha)&&void 0!==n?n:0,perspToOrtho:i.camera.perspToOrtho.x,orthoDistance:i.camera.orthoDistance}),i.currentTapId=null,i.intersectMeshCreator=o.intersectMeshCreator,i.intersectMesh=i.intersectMeshCreator(),i.intersectMesh.name="intersect",i.intersectMesh.visible=!1,i.helper.add(i.intersectMesh),i}return ne(t,e),t.distanceFromModel=function(e,t,r){var n=e.bounding,i=Math.pow(Math.pow(n.max.x-n.min.x+1,2)+Math.pow(n.max.y-n.min.y+1,2)+Math.pow(n.max.z-n.min.z+1,2),.5),o=i/2/Math.tan(Math.PI*t/360);return r<1&&(o/=r),isNaN(o)?i:o},t.parseArgs=function(r){var n,i,o,a,s,l,c,u;if(r instanceof t)return r;var d=e.parseArgs.call(this,r);return ie(ie({},d),{defaultLongitude:null!==(n=r.defaultLongitude)&&void 0!==n?n:Math.PI/4,defaultLatitude:null!==(i=r.defaultLatitude)&&void 0!==i?i:Math.PI/4,defaultFov:null!==(o=r.defaultFov)&&void 0!==o?o:80,maxFov:null!==(a=r.maxFov)&&void 0!==a?a:120,minFov:null!==(s=r.minFov)&&void 0!==s?s:20,maxLatitude:null!==(l=r.maxLatitude)&&void 0!==l?l:+Math.PI/2,minLatitude:null!==(c=r.minLatitude)&&void 0!==c?c:-Math.PI/2,intersectMeshCreator:null!==(u=r.intersectMeshCreator)&&void 0!==u?u:function(){return new Ka}})},t.initAnimationEndState=function(e){var r,i,o,a,s,l,c=this.parseArgs(e),u=e.initial,d=u.state,p=u.currentState,h="number"==typeof d.panoIndex?{workCode:null!==(o=null!==(r=d.workCode)&&void 0!==r?r:null===(i=c.works[0])||void 0===i?void 0:i.workCode)&&void 0!==o?o:"",panoIndex:d.panoIndex}:{workCode:p.workCode,panoIndex:p.panoIndex};return ie(ie({},h),{mode:"Floorplan",longitude:null!==(a=d.longitude)&&void 0!==a?a:ya(p.mode)?p.longitude:c.defaultLongitude,latitude:jr(null!==(s=d.latitude)&&void 0!==s?s:"Floorplan"===p.mode?p.latitude:c.defaultLatitude,c.minLatitude,c.maxLatitude),fov:null!==(l=d.fov)&&void 0!==l?l:c.defaultFov,offset:e.models.bounding.getCenter(new n.Vector3),distance:t.distanceFromModel(c.models,c.defaultFov,c.camera.aspect)})},t.prototype.destroy=function(){e.prototype.destroy.call(this),this.locationMotion.dispose(),delete this.panState,this.intersectMesh.dispose(),this.helper.remove(this.intersectMesh)},t.prototype.isReady=function(){return!1!==this.locationMotion.ended&&e.prototype.isReady.call(this)},t.prototype.updateWork=function(e,t,r,n){return this.works=e,this.updateCamera(t,null!=r?r:0,n),!0},t.prototype.updateModel=function(r){e.prototype.updateModel.call(this,r);var i=r.bounding.getCenter(new n.Vector3),o=t.distanceFromModel(r,this.defaultFov,this.camera.aspect);this.locationMotion.set({x:i.x,y:i.y,z:i.z,distance:o},0).catch(fe)},t.prototype.updateCamera=function(e,t,r){var n=this;return this.initAnimationReady.then((function(){n.userAction=r,n.stopMomentumMovement();var i={},o={};return i.modelAlpha=1,i.perspToOrtho=0,void 0!==e.distance&&(i.distance=e.distance,i.orthoDistance=e.distance),void 0!==e.offset&&(i.x=e.offset.x,i.y=e.offset.y,i.z=e.offset.z),void 0!==e.longitude&&(o.longitude=e.longitude),void 0!==e.latitude&&(o.latitude=e.latitude),void 0!==e.fov&&(o.fov=e.fov),n.locationMotion.set(i,t).catch(fe),n.cameraMotion.set(o,t).catch(fe)}))},t.prototype.updateCameraWithKeyframes=function(e,t,r){var n=this;return this.initAnimationReady.then((function(){n.userAction=r,n.stopMomentumMovement();for(var i=[],o=[],a=0,s=e;a<s.length;a++){var l=s[a];i.push({key:l.key,progress:l.progress,value:{distance:l.value.distance,orthoDistance:l.value.distance,modelAlpha:1,perspToOrtho:0,x:l.value.offset.x,y:l.value.offset.x,z:l.value.offset.x}}),o.push({key:l.key,progress:l.progress,value:{longitude:l.value.longitude,latitude:l.value.latitude,fov:l.value.fov}})}return n.locationMotion.setKeyframes(i,t).catch(fe),n.cameraMotion.setKeyframes(e,t)}))},t.prototype.updateTime=function(e,t){if(!this.destroyed){var r={},i={};this.locationMotion.ended||(this.locationMotion.update(e),r.modelAlpha=this.locationMotion.value.modelAlpha,this.camera.perspToOrtho.setScalar(jr(this.locationMotion.value.perspToOrtho,0,1)),this.camera.orthoDistance=this.locationMotion.value.orthoDistance,i.distance=this.locationMotion.value.distance,i.offset=new n.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z)),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),fs(r)||this.models.setMaterial(r),fs(i)||this.setCamera(i)}},t.prototype.getTargetState=function(){var e=this.cameraMotion.getKeyFrameSegment(me())[1],t=this.locationMotion.getKeyFrameSegment(me())[1];return ie(ie({},this.currentPano),{mode:this.mode,longitude:e.value.longitude,latitude:e.value.latitude,fov:e.value.fov,offset:new n.Vector3(t.value.x,t.value.y,t.value.z),distance:t.value.distance})},t.prototype.initAnimation=function(){var e=this;return this.destroyed?Promise.resolve():new Promise((function(r){var n=e.initial;n.state,n.currentState;var i=n.duration,o=n.userAction;e.userAction=o;var a=t.initAnimationEndState(e),s=eo(a,["longitude","latitude","fov"]),l={x:a.offset.x,y:a.offset.y,z:a.offset.z,distance:a.distance,modelAlpha:1,perspToOrtho:0,orthoDistance:a.distance};e.emit("initAnimation.start",cs("initAnimation.start",{state:a,userAction:e.userAction})),e.cameraMotion.set(s,i).catch(fe),e.locationMotion.set(l,i).then((function(){e.emit("initAnimation.end",cs("initAnimation.end",{state:a,userAction:e.userAction}))}),(function(t){var r=ie(ie(ie({},e.currentPano),{mode:e.mode}),vs(e.camera.pose));e.emit("initAnimation.end",cs("initAnimation.end",{state:r,userAction:e.userAction}))})).then((function(){r()}))}))},t.prototype.updateRenderSize=function(){this.locationMotion.set({distance:t.distanceFromModel(this.models,this.defaultFov,this.camera.aspect)},0).catch(fe)},t.prototype.getForwardObserverOrNot=function(e){var t=this.models.intersectRaycaster(e)[0];if(!t)return null;var r=hs(this.works.resolvedObservers,(function(e){return e.standingPosition.distanceTo(t.point)}),!0),n=r[0],i=r[1];return n&&i<10?n:null},t.prototype.coordinatesForOffset=function(e){var t=this.renderer.getSize(new n.Vector2);return{longitude:-2*e.x/(t.x*this.scissor.width),latitude:2*e.y/(t.y*this.scissor.height)}},t.prototype.requestMomentumMovement=function(e,t,r,n){var i=this;if(null!==this.inMomentumMovement){for(var o=ie({},r),a={longitude:0,latitude:0},s=0;s<n;s++)o.longitude*=.996,o.latitude*=.994008,a.longitude+=o.longitude,a.latitude+=o.latitude;var l=ns(this.cameraMotion.value.longitude+a.longitude),c=jr(this.cameraMotion.value.latitude+a.latitude,this.minLatitude,this.maxLatitude),u=ie(ie({},this.currentPano),{mode:this.mode,longitude:l,latitude:c,fov:this.cameraMotion.value.fov,offset:this.camera.pose.offset.clone(),distance:this.camera.pose.distance}),d=!(o.longitude>1e-4||o.longitude<-1e-4||o.latitude>1e-4||o.latitude<-1e-4),p=cs("gesture.momentum",ie(ie({},e),{isFirst:t,isFinal:d,state:u}));this.inMomentumMovement.event=p,this.emit("gesture.momentum",p),e.defaultPrevented?this.inMomentumMovement=null:this.inMomentumMovement&&(this.cameraMotion.set({longitude:l,latitude:c},0).catch(fe),d?this.inMomentumMovement=null:Ne.shared.add((function(t,r){i.requestMomentumMovement(e,!1,o,0|r)}),!0,1))}},t.prototype.onPanGesture=function(e){this.userAction=e.userAction,this.stopMomentumMovement(),this.hideIntersectMesh();var t=this.panState,r=e.pointers.length;if(e.isFinal?delete this.panState:this.panState={pointerLength:r,x:e.center.x,y:e.center.y},void 0!==t&&t.pointerLength===r){var n={x:e.center.x-t.x,y:e.center.y-t.y},i=this.relativeClientPosition(e.center),o=this.camera.pose.latitude<Math.PI/6||i.y<0?1:-1;n.x*=o;var a=this.coordinatesForOffset(n),s=ns(this.cameraMotion.value.longitude+a.longitude),l=jr(this.cameraMotion.value.latitude+a.latitude,this.minLatitude,this.maxLatitude);this.camera.aspect<1&&Math.abs(e.overallVelocityX)>.2&&Math.atan2(Math.abs(e.overallVelocityY),Math.abs(e.overallVelocityX))<Math.PI/6.923&&(l=this.cameraMotion.value.latitude);var c=ie(ie({},this.currentPano),{mode:this.mode,longitude:s,latitude:l,fov:this.camera.pose.fov,offset:this.camera.pose.offset,distance:this.camera.pose.distance});if(e.state=c,this.emit("gesture.pan",e),!e.defaultPrevented&&(this.cameraMotion.set({longitude:c.longitude,latitude:c.latitude},0).catch(fe),e.isFinal)){var u=e.velocityX*o,d=e.velocityY;this.inMomentumMovement={uuid:Ya()},this.requestMomentumMovement(e,!0,this.coordinatesForOffset({x:u,y:d}),0)}}},t.prototype.onPinchGesture=function(e){var t;this.userAction=e.userAction,this.stopMomentumMovement();var r=null===(t=this.pinchState)||void 0===t?void 0:t.fov;if(e.isFirst)this.pinchState={x:e.center.x,y:e.center.y,fov:this.cameraMotion.value.fov};else if(e.isFinal&&(delete this.panState,delete this.pinchState),void 0!==r){var n=jr(r/e.scale,this.minFov,this.maxFov);e.state.fov=n,this.emit("gesture.pinch",e),e.defaultPrevented||(this.cameraMotion.set({fov:n},0).catch(fe),this.onPanGesture(e))}},t.prototype.onMouseMove=function(e){var t,r;if(this.intersectMesh.parent&&!this.panState)if(this.emit("gesture.mousemove",e),e.defaultPrevented)this.hideIntersectMesh();else{var i=e.center.raycaster;if(e.isFinal&&this.intersectMesh.parent&&!0===this.intersectMesh.visible)this.hideIntersectMesh();else{var o=this.models.intersectRaycaster(i)[0],a=cs("intersect.update",{raycaster:i,intersection:null!=o?o:null,object:this.intersectMesh});if(this.emit("intersect.update",a),a.defaultPrevented)this.hideIntersectMesh();else if(o){var s=null!==(r=null===(t=o.face)||void 0===t?void 0:t.normal)&&void 0!==r?r:(new n.Vector3).copy(i.ray.direction).multiplyScalar(-1),l=s.clone().multiplyScalar(.05),c=o.point.clone().add(l);this.intersectMesh.position.copy(c);var u=c.clone().add(l);if(this.intersectMesh.lookAt(u),Math.abs(s.y)>.99){var d=this.camera.position.clone().sub(c);this.intersectMesh.rotation.z=-Math.atan2(d.z,d.x)}this.intersectMesh.visible=!0,this.needsRender=!0}else this.hideIntersectMesh()}}},t.prototype.onMouseWheel=function(e){this.userAction=e.userAction,this.stopMomentumMovement();var t=this.minFov,r=this.maxFov,n=jr(this.camera.fov-e.center.delta,t,r);e.state.fov=n,this.emit("gesture.mousewheel",e),e.defaultPrevented||this.cameraMotion.set({fov:n},0).catch(fe)},t.prototype.onTapGesture=function(e){var t=this;this.userAction=!0,this.stopMomentumMovement();var r=e.center.raycaster,i=this.getForwardObserverOrNot(r);if(i){var o={longitude:this.camera.pose.longitude,latitude:0},a=ie(ie({},e.state),{mode:"Panorama",workCode:i.pano.workCode,panoIndex:i.pano.panoIndex,longitude:o.longitude,latitude:o.latitude,offset:i?i.position.clone():new n.Vector3,distance:0});if(e.state=a,this.emit("gesture.tap",e),!e.defaultPrevented&&(this.emit("pano.select",cs("pano.select",{prevPano:this.currentPano,state:a,userAction:e.userAction,options:o,progress:0,error:null})),i&&i.active)){var s=this.currentTapId=Ya();this.preloadPano(i.pano).then((function(e){t.currentTapId===s&&t.emit("pano.request",cs("pano.request",{userAction:!0,prevPano:t.currentPano,progress:0,state:a,options:o,error:null}))}))}}else this.emit("gesture.tap",e)},t.prototype.hideIntersectMesh=function(){this.intersectMesh.visible=!1,this.needsRender=!0},t}(gs),bs={longitude:0,latitude:Math.PI/2},xs={longitude:0,latitude:0},ws={longitude:Math.PI/2,latitude:0},Es={longitude:Math.PI,latitude:0},Ms={longitude:1.5*Math.PI,latitude:0};var Cs,Ss=function(e){function t(r){var n=this,i=t.parseArgs(r);return(n=e.call(this,i)||this).mode="Topview",n}return ne(t,e),t.parseArgs=function(r){if(r instanceof t)return r;var n=ie(ie({},r.initial),{state:ie(ie({},r.initial.state),{longitude:0,latitude:Math.PI/2})}),i=ie(ie({},r),{initial:n,maxLatitude:Math.PI/2,minLatitude:Math.PI/2,defaultLongitude:0,defaultLatitude:Math.PI/2});return e.parseArgs.call(this,i)},t.initAnimationEndState=function(t){var r=this.parseArgs(t),n=e.initAnimationEndState.call(this,r);return ie(ie({},n),{mode:"Topview"})},t.prototype.updateModel=function(e){this.needsRender=!0;var t=this.models.bounding.getCenter(new n.Vector3);this.locationMotion.set({x:t.x,y:t.y,z:t.z,distance:ys.distanceFromModel(this.models,this.defaultFov,this.camera.aspect)},0).catch(fe)},t.prototype.updateCamera=function(e,t,r){var n=this;return this.initAnimationReady.then((function(){n.userAction=r,n.stopMomentumMovement();var i={},o={};return i.modelAlpha=1,i.perspToOrtho=1,void 0!==e.distance&&(i.distance=e.distance,i.orthoDistance=e.distance),void 0!==e.offset&&(i.x=e.offset.x,i.y=e.offset.y,i.z=e.offset.z),void 0!==e.longitude&&(o.longitude=e.longitude),void 0!==e.latitude&&(o.latitude=e.latitude),void 0!==e.fov&&(o.fov=e.fov),n.locationMotion.set(i,t).catch(fe),n.cameraMotion.set(o,t).catch(fe)}))},t.prototype.updateCameraWithKeyframes=function(e,t,r){var n=this;return this.initAnimationReady.then((function(){n.userAction=r,n.stopMomentumMovement();for(var i=[],o=[],a=0,s=e;a<s.length;a++){var l=s[a];i.push({key:l.key,progress:l.progress,value:{distance:l.value.distance,orthoDistance:l.value.distance,modelAlpha:1,perspToOrtho:1,x:l.value.offset.x,y:l.value.offset.x,z:l.value.offset.x}}),o.push({key:l.key,progress:l.progress,value:{longitude:l.value.longitude,latitude:l.value.latitude,fov:l.value.fov}})}return n.locationMotion.setKeyframes(i,t).catch(fe),n.cameraMotion.setKeyframes(e,t)}))},t.prototype.initAnimation=function(){var e=this;return this.destroyed?Promise.resolve():new Promise((function(r){var n=e.initial;n.state,n.currentState;var i=n.duration,o=n.userAction;e.userAction=o;var a=t.initAnimationEndState(e),s={longitude:a.longitude,latitude:a.latitude,fov:a.fov},l={x:a.offset.x,y:a.offset.y,z:a.offset.z,distance:a.distance,modelAlpha:1,perspToOrtho:1,orthoDistance:a.distance};e.emit("initAnimation.start",cs("initAnimation.start",{state:a,userAction:e.userAction})),e.cameraMotion.set(s,i).catch(fe),e.locationMotion.set(l,i).then((function(){e.emit("initAnimation.end",cs("initAnimation.end",{state:a,userAction:e.userAction}))}),(function(t){var r=ie(ie(ie({},e.currentPano),{mode:e.mode}),vs(e.camera.pose));e.emit("initAnimation.end",cs("initAnimation.end",{state:r,userAction:e.userAction}))})).then((function(){r()}))}))},t.prototype.getZoomOffsetFromFov=function(e,t,r){var i=this.camera.getDirection(new n.Vector3),o=Math.tan(r/2*Math.PI/180),a=Math.tan(t.fov/2*Math.PI/180),s=(a-o)/a,l=new n.Raycaster;l.setFromCamera(e,t);var c=l.ray.direction,u=c.angleTo(i),d=ys.distanceFromModel(this.models,this.defaultFov,this.camera.aspect),p=d*Math.tan(u),h=c.clone().setLength(d*Math.cos(u)).projectOnPlane(i),f=h.length(),v=s/f*h.x*p,m=s/f*h.z*p,A=s/f*h.y*p;return new n.Vector3(v,A,m)},t.prototype.requestMomentumMovement=function(){this.inMomentumMovement=null},t.prototype.onPanGesture=function(e){this.userAction=e.userAction,this.stopMomentumMovement();var t=this.panState,r=e.pointers.length;if(e.isFinal?delete this.panState:this.panState={pointerLength:r,x:e.center.x,y:e.center.y},void 0!==t&&t.pointerLength===r){var i=e.center.x-t.x,o=e.center.y-t.y,a=new n.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z),s=this.models.bounding,l=s.getCenter(new n.Vector3),c=(s.max.x-s.min.x)/this.defaultFov*this.cameraMotion.value.fov,u=(s.max.y-s.min.y)/this.defaultFov*this.cameraMotion.value.fov,d=(s.max.z-s.min.z)/this.defaultFov*this.cameraMotion.value.fov,p={left:new n.Vector3,up:new n.Vector3,cameraDirection:"y"};this.cameraMotion.value.longitude===bs.longitude&&this.cameraMotion.value.latitude===bs.latitude?(p.left.set(1,0,0),p.up.set(0,0,-1),p.cameraDirection="y"):this.cameraMotion.value.longitude===xs.longitude&&this.cameraMotion.value.latitude===xs.latitude?(p.left.set(1,0,0),p.up.set(0,1,0),p.cameraDirection="z"):this.cameraMotion.value.longitude===Es.longitude&&this.cameraMotion.value.latitude===Es.latitude?(p.left.set(1,0,0),p.up.set(0,-1,0),p.cameraDirection="z"):this.cameraMotion.value.longitude===Ms.longitude&&this.cameraMotion.value.latitude===Ms.latitude?(p.left.set(0,0,-1),p.up.set(0,-1,0),p.cameraDirection="x"):this.cameraMotion.value.longitude===ws.longitude&&this.cameraMotion.value.latitude===ws.latitude&&(p.left.set(0,0,-1),p.up.set(0,1,0),p.cameraDirection="x");var h=(this.camera.position[p.cameraDirection]-s.min[p.cameraDirection])*Math.tan(this.camera.fov/2*Math.PI/180),f=this.renderer.getSize(new n.Vector2);a.add(function(e,t){var r=(new n.Vector3).copy(t);return r.multiplyScalar(-e),r}(2*i*h/f.y,p.left)),a.add(function(e,t){var r=(new n.Vector3).copy(t);return r.multiplyScalar(e),r}(2*o*h/f.y,p.up)),a.x=jr(a.x,l.x-c,l.x+c),a.y=jr(a.y,l.y-u,l.y+u),a.z=jr(a.z,l.z-d,l.z+d);var v=ie(ie({},this.currentPano),{mode:this.mode,longitude:0,latitude:Math.PI/2,fov:this.cameraMotion.value.fov,offset:a,distance:this.locationMotion.value.distance});e.state=v,this.emit("gesture.pan",e),e.defaultPrevented||this.locationMotion.set({x:a.x,y:a.y,z:a.z},0).catch(fe)}},t.prototype.onPinchGesture=function(e){var t;this.userAction=e.userAction,this.stopMomentumMovement();var r=null===(t=this.pinchState)||void 0===t?void 0:t.fov;if(e.isFirst)this.pinchState={x:e.center.x,y:e.center.y,fov:this.cameraMotion.value.fov};else if(e.isFinal&&delete this.pinchState,void 0!==r){var n=jr(r/e.scale,this.minFov,this.maxFov),i=this.relativeClientPosition({x:e.center.x,y:e.center.y}),o=this.getZoomOffsetFromFov(i,this.camera,n);this.cameraMotion.value.longitude===bs.longitude&&this.cameraMotion.value.latitude===bs.latitude?o.y=0:this.cameraMotion.value.longitude===xs.longitude&&this.cameraMotion.value.latitude===xs.latitude||this.cameraMotion.value.longitude===Es.longitude&&this.cameraMotion.value.latitude===Es.latitude?o.z=0:(this.cameraMotion.value.longitude===Ms.longitude&&this.cameraMotion.value.latitude===Ms.latitude||this.cameraMotion.value.longitude===ws.longitude&&this.cameraMotion.value.latitude===ws.latitude)&&(o.x=0);var a=this.camera.pose.offset.clone().add(o);e.state.offset.copy(a),e.state.fov=n,this.emit("gesture.pinch",e),e.defaultPrevented||(this.locationMotion.set({x:a.x,y:a.y,z:a.z},0).catch(fe),this.cameraMotion.set({fov:n},0).catch(fe),e.type="gesture.pan",this.onPanGesture(e))}},t.prototype.onMouseWheel=function(e){this.userAction=e.userAction,this.stopMomentumMovement();var t=jr(this.cameraMotion.value.fov-e.center.delta,this.minFov,this.maxFov),r=e.center.coords,n=this.getZoomOffsetFromFov(r,this.camera,t);this.cameraMotion.value.longitude===bs.longitude&&this.cameraMotion.value.latitude===bs.latitude?n.y=0:this.cameraMotion.value.longitude===xs.longitude&&this.cameraMotion.value.latitude===xs.latitude||this.cameraMotion.value.longitude===Es.longitude&&this.cameraMotion.value.latitude===Es.latitude?n.z=0:(this.cameraMotion.value.longitude===Ms.longitude&&this.cameraMotion.value.latitude===Ms.latitude||this.cameraMotion.value.longitude===ws.longitude&&this.cameraMotion.value.latitude===ws.latitude)&&(n.x=0);var i=this.camera.pose.offset.clone().add(n);e.state.offset.copy(i),e.state.fov=t,this.emit("gesture.mousewheel",e),e.defaultPrevented||(this.locationMotion.set({x:i.x,y:i.y,z:i.z},0).catch(fe),this.cameraMotion.set({fov:t},0).catch(fe))},t}(ys),Is=function(e){function t(r){var n=this,i=t.parseArgs(r);return(n=e.call(this,i)||this).mode="PanoramaLike",n.defaultLatitude=i.defaultLatitude,n.defaultFov=i.defaultFov,n.maxFov=i.maxFov,n.minFov=i.minFov,n.maxLatitude=i.maxLatitude,n.minLatitude=i.minLatitude,n.moveSpeed=i.moveSpeed,n.intersectMeshCreator=i.intersectMeshCreator,n.intersectMesh=n.intersectMeshCreator(),n.intersectMesh.name="intersect",n.intersectMesh.visible=!1,n.helper.add(n.intersectMesh),n}return ne(t,e),t.parseArgs=function(r){var n,i,o,a,s,l,c,u;if(r instanceof t)return r;var d=e.parseArgs.call(this,r);return ie(ie({},d),{defaultLatitude:null!==(n=r.defaultLatitude)&&void 0!==n?n:0,defaultFov:null!==(i=r.defaultFov)&&void 0!==i?i:90,maxFov:null!==(o=r.maxFov)&&void 0!==o?o:120,minFov:null!==(a=r.minFov)&&void 0!==a?a:40,maxLatitude:null!==(s=r.maxLatitude)&&void 0!==s?s:+Math.PI/2,minLatitude:null!==(l=r.minLatitude)&&void 0!==l?l:-Math.PI/2,moveSpeed:null!==(c=r.moveSpeed)&&void 0!==c?c:3.4,intersectMeshCreator:null!==(u=r.intersectMeshCreator)&&void 0!==u?u:function(){return new Ka}})},t.initAnimationEndState=function(e){var t,r,i,o,a,s,l=this.parseArgs(e),c=l.works,u=e.initial,d=u.state,p=u.currentState,h="number"==typeof d.panoIndex?{workCode:null!==(i=null!==(t=d.workCode)&&void 0!==t?t:null===(r=l.works[0])||void 0===r?void 0:r.workCode)&&void 0!==i?i:"",panoIndex:d.panoIndex}:{workCode:p.workCode,panoIndex:p.panoIndex},f=c.getResolvedObserver(h),v=null!==(o=d.longitude)&&void 0!==o?o:p.longitude,m=jr(null!==(a=d.latitude)&&void 0!==a?a:ba(p.mode)?p.latitude:l.defaultLatitude,l.minLatitude,l.maxLatitude),A=jr(null!==(s=d.fov)&&void 0!==s?s:ba(p.mode)?p.fov:l.defaultFov,l.minFov,l.maxFov),g=f?f.position.clone():new n.Vector3;return{workCode:h.workCode,panoIndex:h.panoIndex,mode:"PanoramaLike",longitude:v,latitude:m,fov:A,offset:g,distance:0}},t.prototype.destroy=function(){e.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&&e.prototype.isReady.call(this))},t.prototype.calculateMovingDuration=function(e,t){switch(typeof e){case"function":return e(t,this.moveSpeed);case"number":return e;case"string":return Number(e);default:return jr(t,2,5)/this.moveSpeed*1e3}},t.prototype.hideIntersectMesh=function(){this.intersectMesh.visible=!1,this.needsRender=!0},t.prototype.coordinatesForOffset=function(e){var t=this.cameraMotion.value.fov,r=this.camera.aspect,i=this.renderer.getSize(new n.Vector2);return{longitude:2*e.x/(i.x*this.scissor.width)*t/95*r,latitude:-2*e.y/(i.y*this.scissor.height)*t/95}},t.prototype.cameraBounce=function(){var e=this.cameraMotion.value,t=e.longitude,r=e.latitude,n=e.fov,i=[{progress:0,value:{longitude:t,latitude:r,fov:n}},{progress:.5,value:{longitude:t,latitude:r,fov:.98*n}},{progress:1,value:{longitude:t,latitude:r,fov:n}}];this.cameraMotion.setKeyframes(i,500).catch(fe)},t.prototype.requestMomentumMovement=function(e,t,r,n){var i=this;if(null!==this.inMomentumMovement){for(var o=ie({},r),a={longitude:0,latitude:0},s=0;s<n;s++)o.longitude*=.996,o.latitude*=.98604,a.longitude+=o.longitude,a.latitude+=o.latitude;var l=ns(this.cameraMotion.value.longitude+a.longitude),c=jr(this.cameraMotion.value.latitude+a.latitude,this.minLatitude,this.maxLatitude),u=ie(ie({},this.currentPano),{mode:this.mode,longitude:l,latitude:c,fov:this.cameraMotion.value.fov,offset:this.camera.pose.offset.clone(),distance:this.camera.pose.distance}),d=!(o.longitude>1e-4||o.longitude<-1e-4||o.latitude>1e-4||o.latitude<-1e-4),p=cs("gesture.momentum",ie(ie({},e),{isFirst:t,isFinal:d,state:u}));this.inMomentumMovement.event=p,this.emit("gesture.momentum",p),e.defaultPrevented?this.inMomentumMovement=null:this.inMomentumMovement&&(this.cameraMotion.set({longitude:l,latitude:c},0).catch(fe),d?this.inMomentumMovement=null:Ne.shared.add((function(t,r){i.requestMomentumMovement(e,!1,o,0|r)}),!0,1))}},t.prototype.onPanGesture=function(e){this.userAction=e.userAction,this.stopMomentumMovement(),this.hideIntersectMesh();var t=this.panState,r=e.pointers.length;if(e.isFinal?delete this.panState:this.panState={pointerLength:r,x:e.center.x,y:e.center.y},void 0!==t&&t.pointerLength===r){var n={x:e.center.x-t.x,y:e.center.y-t.y},i=this.coordinatesForOffset(n),o=ns(this.cameraMotion.value.longitude+i.longitude),a=jr(this.cameraMotion.value.latitude+i.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&&(a=this.cameraMotion.value.latitude);var s=ie(ie({},this.currentPano),{mode:this.mode,longitude:o,latitude:a,fov:this.cameraMotion.value.fov,offset:this.camera.pose.offset.clone(),distance:this.camera.pose.distance});if(e.state=s,this.emit("gesture.pan",e),!e.defaultPrevented){var l={longitude:s.longitude,latitude:s.latitude,fov:s.fov};if(this.cameraMotion.set(l,0).catch(fe),e.isFinal){var c=e.velocityX,u=.6*e.velocityY;Math.abs(u)>.5&&Math.abs(c)<.5&&(c=0),this.inMomentumMovement={uuid:Ya()},this.requestMomentumMovement(e,!0,this.coordinatesForOffset({x:c,y:u}),0)}}}},t.prototype.onPinchGesture=function(e){var t;this.userAction=e.userAction,this.stopMomentumMovement();var r=null===(t=this.pinchState)||void 0===t?void 0:t.fov,n=e.scale;if(e.isFirst)this.pinchState={x:e.center.x,y:e.center.y,fov:this.cameraMotion.value.fov};else if(e.isFinal&&delete this.pinchState,void 0!==r){var i=jr(r/n,this.minFov,this.maxFov);e.state.fov=i,this.emit("gesture.pinch",e),e.defaultPrevented||(this.cameraMotion.set({fov:i},0).catch(fe),e.type="gesture.pan",this.onPanGesture(e))}},t.prototype.onMouseWheel=function(e){this.userAction=e.userAction,this.stopMomentumMovement();var t=jr(this.cameraMotion.value.fov-e.center.delta,this.minFov,this.maxFov);e.state.fov=t,this.emit("gesture.mousewheel",e),e.defaultPrevented||this.cameraMotion.set({fov:t},0).catch(fe)},t.prototype.onMouseMove=function(e){var t,r;if(this.intersectMesh.parent&&!this.panState&&(this.emit("gesture.mousemove",e),!e.defaultPrevented)){var i=e.center.raycaster;if(e.isFinal&&this.intersectMesh.parent&&!0===this.intersectMesh.visible)this.hideIntersectMesh();else{var o=this.models.intersectRaycaster(i)[0],a=cs("intersect.update",{raycaster:i,intersection:null!=o?o:null,object:this.intersectMesh});if(this.emit("intersect.update",a),a.defaultPrevented)this.hideIntersectMesh();else if(o){var s=null!==(r=null===(t=o.face)||void 0===t?void 0:t.normal)&&void 0!==r?r:(new n.Vector3).copy(i.ray.direction).multiplyScalar(-1),l=s.clone().multiplyScalar(.05),c=o.point.clone().add(l);this.intersectMesh.position.copy(c);var u=c.clone().add(l);if(this.intersectMesh.lookAt(u),Math.abs(s.y)>.99){var d=this.camera.position.clone().sub(c);this.intersectMesh.rotation.z=-Math.atan2(d.z,d.x)}this.intersectMesh.visible=!0,this.needsRender=!0}else this.hideIntersectMesh()}}},t}(gs);function Ps(){return Cs||(Cs=new Promise((function(e){var t,r=document.createElement("video");r.muted=!0,r.src="data:video/mp4;base64,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",r.addEventListener("timeupdate",(function n(){r.removeEventListener("timeupdate",n,!1),clearTimeout(t);var i=document.createElement("canvas");i.width=i.height=1;var o=i.getContext("2d");o?(o.drawImage(r,0,0,1,1),o.getImageData(0,0,1,1).data[3]>10?e(!0):e(!1)):e(!1)}),!1),r.addEventListener("canplay",(function e(){r.removeEventListener("canplay",e,!1),r.play()}),!1),t=window.setTimeout((function(){return e(!1)}),1e3)})))}var Ts=new n.OrthographicCamera(-1,1,1,-1,0,1),Bs=new n.BufferGeometry;Bs.setAttribute("position",new n.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3)),Bs.setAttribute("uv",new n.Float32BufferAttribute([0,2,0,0,2,0],2));var Rs=new n.Mesh(Bs),ks=new n.Scene;ks.add(Rs);var Os,Fs=function(){function e(e,t){var r;this.renderer=e,this.material=new n.ShaderMaterial({vertexShader:null!==(r=t.vertex)&&void 0!==r?r:"\nvarying vec2 vUv;\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n",fragmentShader:t.fragment,uniforms:Object.assign({inputBuffer:new n.Uniform(null)},t.uniforms),defines:Object.assign({},t.defines),blending:n.NoBlending,depthWrite:!1,depthTest:!1})}return e.prototype.render=function(e,t){var r=this.renderer.getRenderTarget(),n=Rs.material;this.material.uniforms.inputBuffer.value=e.texture,Rs.material=this.material,this.renderer.setRenderTarget(t||null),this.renderer.render(ks,Ts),this.renderer.setRenderTarget(r),Rs.material=n},e.prototype.dispose=function(){this.material.dispose()},e}(),Ds=function(){function e(e){this.renderer=e,this.material=new n.ShaderMaterial({vertexShader:"\nvoid main() {\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n",fragmentShader:"\nuniform vec3 inputValue;\nvoid main() {\n gl_FragColor = vec4(inputValue, 1.0);\n}\n",uniforms:Object.assign({inputValue:new n.Uniform(new n.Vector3)}),blending:n.NoBlending,depthWrite:!1,depthTest:!1})}return e.prototype.render=function(e,t){var r=this.renderer.getRenderTarget(),n=Rs.material;this.material.uniforms.inputValue.value.copy(e),Rs.material=this.material,this.renderer.setRenderTarget(t||null),this.renderer.render(ks,Ts),this.renderer.setRenderTarget(r),Rs.material=n},e.prototype.dispose=function(){this.material.dispose()},e}(),Qs=function(e){function t(t,r){return void 0===r&&(r=.5),e.call(this,t,{uniforms:{inputBuffer:new n.Uniform(null),scale:new n.Uniform(r)},fragment:"\n#include <common>\nuniform sampler2D inputBuffer;\nuniform float scale;\nvarying vec2 vUv;\n\nvoid main() {\n float u = (vUv.x - 0.5) * scale + 0.5;\n float v = (vUv.y - 0.5) * scale + 0.5;\n vec3 rgb = texture2D(inputBuffer, vec2(u, v)).rgb;\n float luminance = clamp(linearToRelativeLuminance(rgb), 0.1, 0.9);\n gl_FragColor = vec4(luminance);\n}\n"})||this}return ne(t,e),t}(Fs),Ls=function(e){function t(t){return e.call(this,t,{fragment:"\nuniform sampler2D inputBuffer;\nvarying vec2 vUv;\nvoid main() {\n gl_FragColor = texture2D(inputBuffer, vUv);\n}\n"})||this}return ne(t,e),t}(Fs),Ns=function(){function e(e,t,r,n){this.enable=!0,this.renderer=e,this.scene=t,this.camera=r,this.models=n,this.copyPass=new Ls(this.renderer)}return e.prototype.render=function(e,t){},e.prototype.dispose=function(){this.copyPass.dispose()},e}(),Vs=function(e){function t(t,r){void 0===r&&(r=.002);var i=e.call(this,t,{uniforms:{targetBuffer:new n.Uniform(null),inputBuffer:new n.Uniform(null),step:new n.Uniform(r)},fragment:"\n uniform sampler2D targetBuffer;\n uniform sampler2D inputBuffer;\n uniform float step;\n varying vec2 vUv;\n void main() {\n\n #ifdef GL_EXT_shader_texture_lod\n #if __VERSION__ < 300\n float target = texture2DLodEXT(targetBuffer, vUv, 5.0).r;\n #else\n float target = textureLod(targetBuffer, vUv, 5.0).r;\n #endif\n #else\n float target = texture2D(targetBuffer, vUv).r;\n #endif\n float current = texture2D(inputBuffer, vUv).r;\n\n float result;\n if (abs(target - current) < step) {\n result = target;\n } else if (target - current > 0.0) {\n result = current + step;\n } else {\n result = current - step;\n }\n gl_FragColor = vec4(result, result, result, 1.0);\n }\n "})||this;return i.material.extensions.shaderTextureLOD=!0,i}return ne(t,e),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}(Fs),zs=function(e){function t(t){var r=e.call(this,t,{uniforms:{inputBuffer:new n.Uniform(null),luminanceAdaptiveBuffer:new n.Uniform(null),progress:new n.Uniform(0)},fragment:"\n #include <common>\n uniform sampler2D inputBuffer;\n uniform sampler2D luminanceAdaptiveBuffer;\n uniform float progress;\n varying vec2 vUv;\n\n void main() {\n float middleGrey = 1.5;\n float whitePoint = 13.0;\n float exposure = 1.4;\n vec4 inputColor = texture2D(inputBuffer, vUv);\n vec3 rgb = inputColor.rgb * exposure;\n float alpha = inputColor.a;\n float luminance = linearToRelativeLuminance(rgb);\n float lumAvg = texture2D(luminanceAdaptiveBuffer, vec2(0.5)).r;\n float lumScaled = (luminance * middleGrey) / max(lumAvg, 1e-6);\n float lumCompressed = lumScaled * (1.0 + lumScaled / (whitePoint * whitePoint));\n lumCompressed /= (1.0 + lumScaled);\n rgb = clamp(lumCompressed * rgb, 0.0, 1.0);\n gl_FragColor = mix(inputColor, vec4(rgb, alpha), progress * 0.9);\n }\n "})||this;return r.material.transparent=!0,r}return ne(t,e),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}(Fs),js=function(e){function t(t,r,n,i){var o=e.call(this,t,r,n,i)||this;return o.enableTime=me(),o.renderer=t,o.valuePass=new Ds(o.renderer),o.luminancePass=new Qs(o.renderer,Math.sqrt(1/3)),o.nextStepPass=new Vs(o.renderer,.01),o.luminanceAdaptivePass=new zs(o.renderer),o}return ne(t,e),t.prototype.render=function(e){if(!this.enable)return this.enableTime=null,void this.copyPass.render(e[0],e[1]);null===this.enableTime&&(this.enableTime=me()),this.luminanceTargetBuffer||(this.luminanceTargetBuffer=new n.WebGLRenderTarget(128,128,{minFilter:n.LinearMipmapLinearFilter,magFilter:n.LinearFilter,encoding:this.renderer.outputEncoding,stencilBuffer:!1,depthBuffer:!1,format:n.RGBAFormat,generateMipmaps:!0}),this.nextStepPass.targetBuffer=this.luminanceTargetBuffer.texture),this.luminancePass.render(e[0],this.luminanceTargetBuffer),this.luminancePrevBuffer||(this.luminancePrevBuffer=new n.WebGLRenderTarget(1,1,{minFilter:n.NearestFilter,magFilter:n.NearestFilter,type:n.HalfFloatType,encoding:this.renderer.outputEncoding,stencilBuffer:!1,depthBuffer:!1}),this.valuePass.render(new n.Vector3(.5,.5,.5),this.luminancePrevBuffer)),this.luminanceNextBuffer||(this.luminanceNextBuffer=new n.WebGLRenderTarget(1,1,{minFilter:n.NearestFilter,magFilter:n.NearestFilter,type:n.HalfFloatType,encoding:this.renderer.outputEncoding,stencilBuffer:!1,depthBuffer:!1}),this.valuePass.render(new n.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((me()-this.enableTime)/100,1),this.luminanceAdaptivePass.render(e[0])},t.prototype.dispose=function(){var e,t,r;null===(e=this.luminanceTargetBuffer)||void 0===e||e.dispose(),null===(t=this.luminancePrevBuffer)||void 0===t||t.dispose(),null===(r=this.luminanceNextBuffer)||void 0===r||r.dispose(),this.copyPass.dispose(),this.luminancePass.dispose(),this.nextStepPass.dispose(),this.luminanceAdaptivePass.dispose()},t}(Ns),Us=512,qs=null!==(Os=Math.SQRT1_2)&&void 0!==Os?Os:Math.sqrt(2),_s={up:new n.Quaternion(qs,0,0,qs),down:new n.Quaternion(-qs,0,0,qs),left:new n.Quaternion(0,qs,0,qs),right:new n.Quaternion(0,-qs,0,qs),front:new n.Quaternion(0,0,0,1),back:new n.Quaternion(0,1,0,0)},Hs=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),Gs=new Float32Array([0,0,1,0,0,1,1,1]),Ks=new Uint8Array([0,1,2,1,3,2]),Ws=new n.BufferGeometry;Ws.setAttribute("position",new n.BufferAttribute(Hs,3)),Ws.setAttribute("uv",new n.BufferAttribute(Gs,2)),Ws.setIndex(new n.BufferAttribute(Ks,1));var Ys=function(e){function t(){var t=e.call(this,{uniforms:{map:{value:null},luminanceMap:{value:null},flipY:{value:0}},vertexShader:"\nuniform float flipY;\nvarying vec2 vUv;\nvoid main() {\n vUv = vec2(uv.x, mix(uv.y, (1.0 - uv.y), flipY));\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n",fragmentShader:"\n#if defined(USE_LUMINANCE)\nuniform sampler2D luminanceMap;\n#endif\nuniform sampler2D map;\nvarying vec2 vUv;\n\nvoid main() {\n gl_FragColor = texture2D(map, vUv);\n #if defined(USE_LUMINANCE)\n gl_FragColor.a = 1.0 - texture2D(luminanceMap, vUv).r;\n #endif\n}\n"})||this;return t.depthTest=!1,t.depthWrite=!1,t.blending=n.NoBlending,t.map=t.uniforms.map.value,t.luminanceMap=t.uniforms.luminanceMap.value,t.flipY=t.uniforms.flipY.value,Object.defineProperties(t,{map:{get:function(){return this.uniforms.map.value},set:function(e){this.uniforms.map.value=e}},luminanceMap:{get:function(){return this.uniforms.luminanceMap.value},set:function(e){this.uniforms.luminanceMap.value=e,this.defines.USE_LUMINANCE=null!==e,this.needsUpdate=!0}},flipY:{get:function(){return 1===this.uniforms.flipY.value},set:function(e){this.uniforms.flipY.value=e?1:0}}}),t}return ne(t,e),t}(n.ShaderMaterial),Xs=function(e){function t(t,r){var i=e.call(this,Ws,new Ys)||this;return t.box.getCenter(i.position),i.quaternion.multiplyQuaternions((new n.Quaternion).setFromAxisAngle(new n.Vector3(0,1,0),-Math.PI),_s[t.face]),i.scale.setScalar(t.size),i.node=t,i.name="tiling:tile",i.material.visible=!1,i.activeTime=-1,i.disposed=!1,i.needsRender=!1,i.frustumCulled=!1,r.then((function(e){var t=e[0],r=e[1];i.disposed?(t.dispose(),null==r||r.dispose()):(i.material.map=t,i.material.luminanceMap=r,i.material.flipY=!t.flipY,i.material.needsUpdate=!0,i.material.visible=!0,i.needsRender=!0)})).catch(fe),i}return ne(t,e),t.prototype.updateTime=function(e){},t.prototype.dispose=function(){var e;this.disposed=!0,this.material.map&&(this.material.map.dispose(),null===(e=this.material.luminanceMap)||void 0===e||e.dispose()),this.material.dispose()},t}(n.Mesh),Js=function(e){function t(){var t=e.call(this)||this;return t.needsRender=!1,t.name="tiling",t}return ne(t,e),t}(n.Group),Zs=function(){function e(e,t,r){this.disposed=!1,this.textureLoader=new zt,this.minLevel=t,this.level=0,this.panoId="[0]",this.pedding=0,this.tileTree=ft(this.minLevel),this.tileMeshes=new Map,this.resource=[],this.luminance=null,this.imageOptions=r,this.fetcher=e,this.object=new Js,this.object.renderOrder=-3}return e.prototype.setFetcher=function(e){this.fetcher=e},e.prototype.cleanup=function(){var e=this;this.tileMeshes.forEach((function(t){t.dispose(),e.object.remove(t),e.object.needsRender=!0})),this.tileMeshes.clear()},e.prototype.setRotation=function(e){this.disposed||this.object.quaternion.equals(e)||(this.object.quaternion.copy(e),this.object.needsRender=!0)},e.prototype.setPosition=function(e){this.disposed||this.object.position.equals(e)||(this.object.position.copy(e),this.object.needsRender=!0)},e.prototype.setResource=function(e,t){var r,n;if(!this.disposed&&(this.resource!==e||this.luminance!==t)){this.cleanup(),this.resource=e;var i=null!==(n=null===(r=e.slice().sort((function(e,t){return t.level-e.level}))[0])||void 0===r?void 0:r.level)&&void 0!==n?n:0;this.tileTree=ft(i),this.luminance=t,this.object.needsRender=!0}},e.prototype.update=function(e,t,r){var i=this;if(!this.disposed){this.level=t;var o=e.planes[5].normal,a=[];t>=this.minLevel&&vt(this.tileTree,(function(r){if(!(r.level<i.minLevel))return!(r.level>t)&&(!!e.intersectsBox(r.box)&&void a.push(r))}));var s=new n.Vector3;a.sort((function(e,t){return e.level!==t.level?e.level-t.level:e.box.getCenter(s).angleTo(o)-t.box.getCenter(s).angleTo(o)}));for(var l=new Set,c=function(e){var t=u.resource.filter((function(t){return t.level===e.level}))[0];if(!t)return"continue";if(l.add(e),u.tileMeshes.has(e))return u.tileMeshes.get(e).activeTime=r,"continue";var n=t.size,o=u.imageOptions.transform,a=Math.pow(2,e.level)*e.position.y,s=Math.pow(2,e.level)*e.position.x,c="".concat(u.panoId,".").concat(e.face,".").concat(e.level,".").concat(a,".").concat(s),d=ie(ie({key:"pano_tile.".concat(c)},eo(u.imageOptions,["format","size","quality","sharpen","mappings"])),{size:n*e.size===Us?void 0:Us,cut:[n*e.position.x,n*e.position.y,n*e.size,n*e.size]}),p=u.textureLoader.loadTexture(t[e.face],{imageURL:{transform:o,options:d},viaAjax:kt,fetcher:u.fetcher}).then((function(e){return e.body})),h=null;if(u.luminance){var f=u.luminance[e.face],v=f.match(/\/cube_(\d+)\//),m=!!v&&Number(v[1]);if(!1!==m){var A=ie(ie({},d),{size:m*e.size==256?void 0:256,cut:[m*e.position.x,m*e.position.y,m*e.size,m*e.size],key:"pano_tile_luminance.".concat(c)});h=u.textureLoader.loadTexture(f,{imageURL:{transform:u.imageOptions.transform,options:A},viaAjax:kt,fetcher:u.fetcher}).then((function(e){return e.body})).catch((function(){return null}))}}u.pedding++;var g=Promise.all([p,h]).then((function(e){return i.pedding--,e}),(function(e){return i.pedding--,Promise.reject(e)})),y=new Xs(e,g);y.name="tiling:tile-".concat(c),y.activeTime=r,y.renderOrder=e.level,u.tileMeshes.set(e,y),u.object.needsRender=!0,u.object.add(y)},u=this,d=0,p=a;d<p.length;d++){c(A=p[d])}var h=[];this.tileMeshes.forEach((function(e,r){l.has(r)||h.push(r),e.visible=r.level<=t}));for(var f=h.sort((function(e,t){var r,n,o,a;return(null!==(n=null===(r=i.tileMeshes.get(t))||void 0===r?void 0:r.activeTime)&&void 0!==n?n:0)-(null!==(a=null===(o=i.tileMeshes.get(e))||void 0===o?void 0:o.activeTime)&&void 0!==a?a:0)})).slice(Math.max(0,32-l.size)),v=0,m=f;v<m.length;v++){var A=m[v],g=this.tileMeshes.get(A);g&&(g.dispose(),this.object.remove(g),this.object.needsRender=!0),this.tileMeshes.delete(A)}}},e.prototype.dispose=function(){this.cleanup(),this.resource=[],this.disposed=!0},e}(),$s=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]),el=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]),tl=new n.BufferGeometry;tl.setAttribute("position",new n.BufferAttribute($s,3)),tl.setIndex(new n.BufferAttribute(el,1));var rl=function(){function e(){this.material=new n.ShaderMaterial({vertexShader:"\n#if defined(USE_PANO_VIDEO)\nvarying vec3 worldPosition;\n#endif\nvoid main() {\n vec4 transformed = vec4(position, 1.0);\n #if defined(USE_PANO_VIDEO)\n worldPosition = (modelMatrix * transformed).xyz;\n #endif\n gl_Position = projectionMatrix * modelViewMatrix * transformed;\n}\n",fragmentShader:"\nuniform vec2 size;\nuniform mat4 matrix;\nuniform float alpha;\nuniform sampler2D map;\n#if defined(USE_PANO_VIDEO)\nvarying vec3 worldPosition;\n#endif\n#include <common>\nvoid main() {\n gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\n #if defined(USE_PANO_VIDEO)\n vec3 cameraToVertex = worldPosition - cameraPosition;\n vec4 mapCoods = vec4(cameraToVertex, 1.0) * matrix;\n vec2 uv = vec2(\n 0.5 + mapCoods.x / mapCoods.z / size.x,\n 0.5 - mapCoods.y / mapCoods.z / size.y\n );\n vec4 videoColor = texture2D(map, uv);\n float match = (1.0 - step(0.0, mapCoods.z)) * (1.0 - step(0.5, abs(uv.x - 0.5))) * (1.0 - step(0.5, abs(uv.y - 0.5)));\n float blendAlpha = clamp(0.0, 1.0, 5.0 * (1.0 - clamp(distance(uv, vec2(0.5, 0.5)) / 0.55 , 0.0, 1.0)));\n gl_FragColor = vec4(videoColor.rgb, match * blendAlpha * alpha);\n #endif\n}\n",uniforms:{size:new n.Uniform(null),matrix:new n.Uniform(null),alpha:new n.Uniform(null),map:new n.Uniform(null)},depthTest:!1,depthWrite:!1,defines:{USE_PANO_VIDEO:!1},blending:n.CustomBlending,blendSrc:n.SrcAlphaFactor,blendDst:n.OneMinusSrcAlphaFactor,blendSrcAlpha:n.OneFactor,blendDstAlpha:n.OneMinusSrcAlphaFactor}),this.object=new n.Mesh(tl,this.material),this.object.visible=!1,this.object.renderOrder=-1,this.object.frustumCulled=!1,this.object.name="pano-video",this.alphaMotion=new Da({alpha:0})}return e.prototype.setMaterial=function(e){e?(this.material.uniforms.size.value=e.size,this.material.uniforms.matrix.value=e.matrix,this.material.uniforms.map.value=e.map,this.alphaMotion.set({alpha:e.alpha},500).catch(fe),this.material.uniforms.alpha.value=e.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(fe));var t=null!==e;t!==this.material.defines.USE_PANO_VIDEO&&(this.material.defines.USE_PANO_VIDEO=t,this.material.needsUpdate=!0,this.object.visible=null!==e)},e.prototype.updateTime=function(e){this.alphaMotion.ended||(this.alphaMotion.update(e),this.material.uniforms.alpha.value=this.alphaMotion.value.alpha)},e.prototype.dispose=function(){this.material.dispose()},e}(),nl=(new n.Matrix4).makeRotationAxis(new n.Vector3(0,1,0),Math.PI),il=new n.Vector3(-1,1,1),ol=function(){function e(e){void 0===e&&(e=0),this.width=e,this.pool=[]}return Object.defineProperty(e.prototype,"size",{get:function(){return this.pool.length},enumerable:!1,configurable:!0}),e.prototype.create=function(){return new n.WebGLCubeRenderTarget(this.width,{stencilBuffer:!1,depthBuffer:!1})},e.prototype.pop=function(){var e=this.pool.pop();return e||this.create()},e.prototype.push=function(e){-1===this.pool.indexOf(e)&&this.pool.push(e)},e.prototype.clear=function(){for(var e=0,t=this.pool;e<t.length;e++){t[e].dispose()}this.pool.length=0},e}(),al=function(e){function t(r){var n,i,o,a,s=this,l=t.parseArgs(r);(s=e.call(this,l)||this).TILED_CUBE_TEXTURE_LEVEL=2,s.mode="Panorama",s.tileLevel=0,s.initAnimationed=!1,s.maxAccessibleDistance=l.maxAccessibleDistance,s.panoTapTriggerRadius=l.panoTapTriggerRadius,s.panoCircleMeshCreator=l.panoCircleMeshCreator,s.tileLevelForFov=l.tileLevelForFov,s.luminanceAdaptiveEffectEnable=l.luminanceAdaptiveEffectEnable,s.colorCubeRenderTargetPool=new ol,s.luminanceCubeRenderTargetPool=new ol;var c=s.models.getMaterial()||{},u=c.pano0,d=c.pano1;u&&(null==d?void 0:d.map)!==u.map&&(s.models.setMaterial({pano0:d}),u.map.dispose(),u.map instanceof Vt&&u.map.cubeRenderTarget&&s.colorCubeRenderTargetPool.push(u.map.cubeRenderTarget),u.luminanceMap&&(u.luminanceMap.dispose(),u.luminanceMap instanceof Vt&&u.luminanceMap.cubeRenderTarget&&s.luminanceCubeRenderTargetPool.push(u.luminanceMap.cubeRenderTarget)));for(var p=s.colorCubeRenderTargetPool.size;p<2;p++){var h=Math.max(1024*s.TILED_CUBE_TEXTURE_LEVEL,512),f=s.colorCubeRenderTargetPool.create();f.setSize(h,h),xt(null,f,s.renderer),s.colorCubeRenderTargetPool.push(f)}s.panoMeshes={},s.updatePanoMeshes(),s.locationMotion=new Da({count:0,distance:s.camera.pose.distance,modelAlpha:null!==(i=null===(n=s.models.getMaterial())||void 0===n?void 0:n.modelAlpha)&&void 0!==i?i:0,perspToOrtho:s.camera.perspToOrtho.x,orthoDistance:s.camera.orthoDistance}),s.panoResources={},s.panoResources[s.locationMotion.keyframes[0].key=s.locationMotion.keyframes[1].key=Ya()]={panoId:Xe(s.currentPano),panoPicture:null!==(a=null===(o=s.models.getMaterial())||void 0===o?void 0:o.pano1)&&void 0!==a?a:null,position:s.camera.pose.offset.clone(),effect:"fly"};var v=s.works.getResolvedObserver(s.currentPano);return s.textureLoader=new zt,s.tiling=new Zs(v?pa(v.work):De,s.TILED_CUBE_TEXTURE_LEVEL+1,s.imageOptions),s.scene.add(s.tiling.object),s.panoVideo=new rl,s.scene.add(s.panoVideo.object),s}return ne(t,e),t.parseArgs=function(r){var n,i,o,a,s;if(r instanceof t)return r;var l=e.parseArgs.call(this,r);return ie(ie({},l),{maxAccessibleDistance:null!==(n=r.maxAccessibleDistance)&&void 0!==n?n:5,panoTapTriggerRadius:null!==(i=r.panoTapTriggerRadius)&&void 0!==i?i:.5,panoCircleMeshCreator:null!==(o=r.panoCircleMeshCreator)&&void 0!==o?o:function(e){return new Na},tileLevelForFov:null!==(a=r.tileLevelForFov)&&void 0!==a?a:function(e,t){var r=2*Math.atan(Math.tan(e/180*Math.PI/2)*(t.width/t.height))/Math.PI*180,n=Math.max(t.width/r,t.height/e);return n>60?4:n>30?3:n>18?2:n>12?1:0},luminanceAdaptiveEffectEnable:null===(s=r.luminanceAdaptiveEffectEnable)||void 0===s||s})},t.initAnimationEndState=function(t){var r=this.parseArgs(t),n=e.initAnimationEndState.call(this,r);return ie(ie({},n),{mode:"Panorama"})},t.prototype.destroy=function(){var t,r;if(e.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 n=0,i=Object.keys(this.panoMeshes);n<i.length;n++){var o=i[n],a=this.panoMeshes[o];this.helper.remove(a),a.dispose(),delete this.panoMeshes[o]}var s=this.videoTexture.image;s.pause(),s.oncanplay=function(){},s.ontimeupdate=function(){},this.scene.remove(this.panoVideo.object),this.panoVideo.setMaterial(null),this.panoVideo.dispose();for(var l=null!==(t=this.models.getMaterial())&&void 0!==t?t:{},c=l.pano0,u=l.pano1,d=0,p=Object.keys(this.panoResources);d<p.length;d++){var h=p[d],f=this.panoResources[h];if(f.panoPicture){var v=f.panoPicture.map;v&&v!==(null==c?void 0:c.map)&&v!==(null==u?void 0:u.map)&&(v.dispose(),null===(r=f.panoPicture.luminanceMap)||void 0===r||r.dispose(),f.panoPicture=null)}delete this.panoResources[h]}this.luminanceAdaptiveEffect&&(this.luminanceAdaptiveEffect.dispose(),delete this.luminanceAdaptiveEffect)},t.prototype.isReady=function(){return!0===this.locationMotion.ended&&e.prototype.isReady.call(this)},t.prototype.isTileReady=function(){var e,t,r,n=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),i=(null===(e=n.panoPicture)||void 0===e?void 0:e.map)instanceof Vt&&null!==(r=null===(t=n.panoPicture)||void 0===t?void 0:t.map.tilePending)&&void 0!==r?r:0,o=this.tiling.pedding;return this.initAnimationed&&i<=0&&o<=0},t.prototype.updateWork=function(e,r,n,i){var o=this;this.userAction=i,this.works=e;var a=t.initAnimationEndState(ie(ie({},this),{initial:{currentState:ie(ie({},this.currentPano),this.camera.pose),duration:n,state:r,userAction:i}})),s={workCode:a.workCode,panoIndex:a.panoIndex},l=this.works.getWork(s.workCode);return this.tiling.setFetcher(l?pa(l):De),this.tiling.cleanup(),this.initAnimationed=!1,this.hideIntersectMesh(),this.updatePanoMeshes(),this.moveToPano(s,{effect:"fade",duration:n,longitude:r.longitude,latitude:r.latitude,fov:r.fov,moveEndCallback:function(){o.initAnimationed=!0},moveCancelCallback:function(){o.initAnimationed=!0}},i),!0},t.prototype.updateModel=function(e){this.models=e,this.updatePanoMeshes()},t.prototype.updateTime=function(e,t){var r,i,o,a,s,l,c,u,d,p,h=this;if(!this.destroyed){var f={},v={},m=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),A=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),g=!1;if(!1===this.cameraMotion.ended&&(this.cameraMotion.update(e),v.longitude=this.cameraMotion.value.longitude,v.latitude=this.cameraMotion.value.latitude,v.fov=this.cameraMotion.value.fov),!1===this.locationMotion.ended){this.locationMotion.update(e);var y=this.locationMotion.getKeyFrameSegment(e),b=y[0],x=y[1],w=this.panoResourceFromLocationMotionKeyframe(b),E=this.panoResourceFromLocationMotionKeyframe(x),M=(new n.Vector3).copy(w.position),C=(new n.Vector3).copy(E.position),S=this.locationMotion.value.count-x.value.count+1;f.progress=S,f.modelAlpha=this.locationMotion.value.modelAlpha,this.camera.perspToOrtho.setScalar(jr(this.locationMotion.value.perspToOrtho,0,1)),this.camera.orthoDistance=this.locationMotion.value.orthoDistance,E.panoPicture&&(S<1?w.panoPicture&&(f.pano0=w.panoPicture):f.pano0=E.panoPicture,f.pano1=E.panoPicture),g=f.useBlackTransition="instant"===E.effect||"montage"===E.effect,"fade"!==E.effect&&"montage"!==E.effect||(f.pano0&&w.panoPicture&&(f.pano0={map:f.pano0.map,luminanceMap:f.pano0.luminanceMap,matrix:w.panoPicture.matrix.clone().setPosition(E.position)}),M.copy(C)),v.distance=this.locationMotion.value.distance,v.offset=new n.Vector3(M.x+(C.x-M.x)*S,M.y+(C.y-M.y)*S,M.z+(C.z-M.z)*S);for(var I=[],P=[],T=0,B=this.locationMotion.keyframes;T<B.length;T++){var R=B[T],k=R.key,O=R.progress;void 0!==k&&(I.push(k),O>=this.locationMotion.progress&&P.push(k))}for(var F=0,D=Object.keys(this.panoResources);F<D.length;F++){var Q=D[F];if(!(P.indexOf(Q)>=0)){var L=this.panoResources[Q];if(L.panoPicture){var N=L.panoPicture.map,V=L.panoPicture.luminanceMap;if(N){if(N===(null===(r=f.pano0)||void 0===r?void 0:r.map))continue;if(N===(null===(i=f.pano1)||void 0===i?void 0:i.map))continue;N instanceof Vt&&N.cubeRenderTarget&&this.colorCubeRenderTargetPool.push(N.cubeRenderTarget),N.dispose(),V&&(V instanceof Vt&&V.cubeRenderTarget&&this.luminanceCubeRenderTargetPool.push(V.cubeRenderTarget),V.dispose()),L.panoPicture=null}}I.indexOf(Q)>=0||delete this.panoResources[Q]}}this.currentPano=Je(E.panoId),this.emit("pano.moving",cs("pano.moving",{userAction:this.userAction,prevPano:Je(m.panoId),state:ie(ie(ie(ie({},Je(A.panoId)),{mode:this.mode}),vs(this.camera.pose)),v),options:{},progress:this.locationMotion.progress,error:null}))}!1===fs(f)&&((null===(o=f.pano0)||void 0===o?void 0:o.map)&&f.pano0.map instanceof Vt&&!f.pano0.map.cubeRenderTarget&&(f.pano0.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),(null===(a=f.pano0)||void 0===a?void 0:a.luminanceMap)&&f.pano0.luminanceMap instanceof Vt&&!f.pano0.luminanceMap.cubeRenderTarget&&(f.pano0.luminanceMap.cubeRenderTarget=this.luminanceCubeRenderTargetPool.pop()),(null===(s=f.pano1)||void 0===s?void 0:s.map)&&f.pano1.map instanceof Vt&&!f.pano1.map.cubeRenderTarget&&(f.pano1.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),(null===(l=f.pano1)||void 0===l?void 0:l.luminanceMap)&&f.pano1.luminanceMap instanceof Vt&&!f.pano1.luminanceMap.cubeRenderTarget&&(f.pano1.luminanceMap.cubeRenderTarget=this.luminanceCubeRenderTargetPool.pop()),this.models.setMaterial(f)),!1===fs(v)&&this.setCamera(v);var z=this.works.getResolvedObserver(this.currentPano),j=this.locationMotion.ended?this.getForwardObserverOrNot():null;if(this.camera.pose.distance>.1||g){if(z)for(var U=0,q=Object.keys(this.panoMeshes);U<q.length;U++){var _=q[U];(X=this.panoMeshes[_]).setOpacity(0),X.setCurrent(!1),X.updateTime&&X.updateTime(e,t)}}else if(z){var H=hs(z.visibleIds,(function(e){var t=h.works.getResolvedObserver(e);return t?z.standingPosition.distanceTo(t.standingPosition):1/0}),!0)[1];H=jr(H,2.5,1/0);for(var G=z.visibleIds.concat(Xe(this.currentPano)),K=this.camera.getDirection(new n.Vector3),W=0,Y=Object.keys(this.panoMeshes);W<Y.length;W++){_=Y[W];var X=this.panoMeshes[_],J=this.works.getResolvedObserver(_);if(-1===G.indexOf(_))X.setCurrent(!1),X.setOpacity(0);else if(J)if(J.loadable||J.active){var Z=X.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);X.setCurrent(!X.loading&&0===X.progress&&null!==j&&j.panoId===_),X.setOpacity(Z<.01?0:jr(H/Z*1.2,.4,.85));var $=this.camera.position.clone().setY(X.position.y),ee=(new n.Vector3).copy(X.position).sub($).normalize();if(_===Xe(this.currentPano)){var te=jr((.5-$.distanceTo(X.position))/.5,0,1);ee.multiplyScalar(1-te).add(K.clone().multiplyScalar(te))}ee.length()>0&&X.quaternion.setFromEuler(new n.Euler(0,Math.atan2(ee.x,ee.z),0))}else X.setCurrent(!1),X.setOpacity(0);else X.setCurrent(!1),X.setOpacity(0);X.updateTime&&X.updateTime(e,t)}}var re=this.tileLevel=function(){if(!1===h.tileLevelForFov)return 0;var e=h.renderer.getDrawingBufferSize(new n.Vector2);e.width*=h.scissor.width,e.height*=h.scissor.height;var t=A.panoId,r=h.works.getResolvedObserver(t),i=h.imageOptions.size;if(void 0===i&&r){var o=r.images.up.match(/\/cube_(\d+)\//);o&&(i=Number(o[1]))}void 0===i&&(i=2048);var a=0;i>=1024&&(a=1),i>=2048&&(a=2),i>=4096&&(a=3),i>=8192&&(a=4);var s=h.tileLevelForFov(h.camera.fov,e);return s>a?s:0}(),ne=function(){var e=h.camera.quaternion.clone(),t=h.works.getResolvedObserver(A.panoId),r=null!=t?t:z;r&&e.premultiply(r.quaternion.clone().inverse());var i=(new n.Matrix4).makeRotationFromQuaternion(e),o=(new n.Matrix4).getInverse(i);return(new n.Frustum).setFromProjectionMatrix((new n.Matrix4).multiplyMatrices(h.camera.projectionMatrix,o))}();A.panoId===Xe(this.currentPano)&&((null===(c=A.panoPicture)||void 0===c?void 0:c.map)instanceof Vt&&(A.panoPicture.map.update(ne,re),!0===A.panoPicture.map.needsRender&&(A.panoPicture.map.needsRender=!1,this.needsRender=!0)),(null===(u=A.panoPicture)||void 0===u?void 0:u.luminanceMap)instanceof Vt&&(A.panoPicture.luminanceMap.update(ne,re),!0===A.panoPicture.luminanceMap.needsRender&&(A.panoPicture.luminanceMap.needsRender=!1,this.needsRender=!0)));var oe=this.tiling.object.visible;if(this.initAnimationed){var ae=A.panoId,se=this.works.getResolvedObserver(ae);se&&Za(this.camera.position,se.position)&&this.locationMotion.ended?(this.tiling.object.visible=!0,this.tiling.panoId!==ae&&this.tiling.cleanup(),this.tiling.panoId=ae,this.tiling.setResource(null!==(p=null===(d=se.images)||void 0===d?void 0:d.tiles)&&void 0!==p?p:[],this.enableIOSEDR&&se.images.luminance?se.images.luminance:null),this.tiling.setFetcher(pa(se.work)),this.tiling.setRotation(se.quaternion),this.tiling.setPosition(se.position),re>this.TILED_CUBE_TEXTURE_LEVEL?this.tiling.update(ne,re,e):this.tiling.update(ne,0,e)):this.tiling.object.visible=!1}else this.tiling.object.visible=!1;oe!==this.tiling.object.visible&&(this.tiling.object.needsRender=!0),this.panoVideo.object.position.copy(this.camera.position),this.panoVideo.updateTime(e)}},t.prototype.render=function(){var t=this.works.getResolvedObserver(this.currentPano);t&&t.video&&(this.needsRender=!0),e.prototype.render.call(this)},t.prototype.postProcessing=function(e,t){if(!this.destroyed)return"luminance"===t?(this.luminanceAdaptiveEffect||(this.luminanceAdaptiveEffect=new js(this.renderer,this.scene,this.camera,this.models),this.luminanceAdaptiveEffect.enable=this.luminanceAdaptiveEffectEnable),this.luminanceAdaptiveEffect.render(e)):void 0},t.prototype.getTargetState=function(){var e=this.cameraMotion.getKeyFrameSegment(me())[1],t=this.locationMotion.getKeyFrameSegment(me())[1],r=this.panoResourceFromLocationMotionKeyframe(t),n=this.works.getResolvedObserver(r.panoId);return{workCode:n?n.work.workCode:this.currentPano.workCode,panoIndex:n?n.panoIndex:this.currentPano.panoIndex,mode:this.mode,longitude:e.value.longitude,latitude:e.value.latitude,fov:e.value.fov,offset:n?n.position.clone():this.camera.position.clone(),distance:this.locationMotion.value.distance}},t.prototype.moveToPano=function(e,t,r){var i,o,a,s,l=this;this.userAction=r,this.stopMomentumMovement();var c=this.works.getResolvedObserver(e);if(!c)throw new Error("Invalid PanoId ".concat(JSON.stringify(e)));var u=this.imageOptions.size;if(void 0===u&&c){var d=c.images.up.match(/\/cube_(\d+)\//);d&&(u=Number(d[1]))}void 0===u&&(u=2048);var p=this.imageOptions.transform,h=ie({key:"pano.".concat(c.panoId)},eo(this.imageOptions,["format","size","quality","sharpen","mappings"])),f=c.images,v=null!==(o=null===(i=c.images.tiles)||void 0===i?void 0:i.filter((function(e){return e.size>u})))&&void 0!==o?o:null,m=p,A={key:"pano_luminance.".concat(c.panoId),size:h.size?h.size/2:1024},g=this.enableIOSEDR&&c.images.luminance?c.images.luminance:null,y=function(){if(!c.images.tiles)return null;if(!g)return null;var e=g.up.match(/\/cube_(\d+)\//),t=!!e&&Number(e[1]);return!1===t?null:null==v?void 0:v.map((function(e){return{level:e.level,size:t,back:g.back,front:g.front,left:g.left,right:g.right,up:g.up,down:g.down}}))}(),b="pano:"+ro([f,h,p]);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===b)return;var x=this.pendingTextureTask.panoId;null===(a=this.panoMeshes[x])||void 0===a||a.setProgress(0),this.emit("pano.texture.abort",cs("pano.texture.abort",{error:null,progress:0,meta:null,pano:c.pano})),this.pendingTextureTask.onError(new Error("texture aborted"))}var w="move-to-pano-"+c.panoId;this.pending.add(w);var E,M=this.models.getMaterial()||{},C=M.pano0,S=M.pano1;if(C&&C.map.name===b&&null!==C.luminanceMap===this.enableIOSEDR?E=C:(null==S?void 0:S.map.name)===b&&null!==S.luminanceMap===this.enableIOSEDR&&(E=S),E){var I={panoId:c.panoId,effect:null!==(s=t.effect)&&void 0!==s?s:"fly",panoPicture:{map:E.map,luminanceMap:E.luminanceMap,matrix:(new n.Matrix4).compose(c.position,c.quaternion,il)},position:c.position.clone()};Ne.shared.add((function(){l.pending.delete(w),l.doMoveToPano(c.pano,I,t)}),!0,1)}else{this.pendingTextureTask={panoId:c.panoId,hash:b,onLoad:function(e,r){var i,o;if(l.pending.delete(w),l.destroyed)e.body.dispose();else{e.body.name=b;var a={panoId:c.panoId,effect:null!==(i=t.effect)&&void 0!==i?i:"fly",panoPicture:{map:e.body,luminanceMap:null!==(o=null==r?void 0:r.body)&&void 0!==o?o:null,matrix:(new n.Matrix4).compose(c.position,c.quaternion,il)},position:c.position.clone()};l.doMoveToPano(c.pano,a,t)}},onError:function(e){l.pending.delete(w);var r=ie(ie(ie({},c.pano),{mode:l.mode}),vs(l.camera.pose));l.emit("pano.error",cs("pano.error",{error:e,userAction:l.userAction,options:t,prevPano:l.currentPano,progress:0,state:r})),l.emit("pano.cancel",cs("pano.cancel",{error:e,userAction:l.userAction,options:t,prevPano:l.currentPano,progress:0,state:r})),l.emit("error",e),t.moveCancelCallback&&t.moveCancelCallback()}};var P=this.panoMeshes[c.panoId];P&&P.tap&&P.tap(),Promise.all([this.tileLevelForFov&&v&&v.length?this.textureLoader.loadTiledCubeTexture(f,v,{tileMaxLevel:this.TILED_CUBE_TEXTURE_LEVEL,imageURL:{transform:p,options:h},format:n.RGBAFormat,viaAjax:!0,fetcher:pa(c.work)},void 0,void 0,(function(e){var t,r;l.emit("pano.texture.progress",cs("pano.texture.progress",{error:null,progress:e,meta:null,pano:c.pano})),(null===(t=l.pendingTextureTask)||void 0===t?void 0:t.hash)===b&&(null===(r=l.panoMeshes[c.panoId])||void 0===r||r.setProgress(e))}),this.renderer):this.textureLoader.loadCubeTexture(f,{imageURL:{transform:p,options:h},format:n.RGBAFormat,viaAjax:!0,fetcher:pa(c.work)},void 0,void 0,(function(e){var t,r;l.emit("pano.texture.progress",cs("pano.texture.progress",{error:null,progress:e,meta:null,pano:c.pano})),(null===(t=l.pendingTextureTask)||void 0===t?void 0:t.hash)===b&&(null===(r=l.panoMeshes[c.panoId])||void 0===r||r.setProgress(e))}),this.renderer),g?this.tileLevelForFov&&y&&y.length?this.textureLoader.loadTiledCubeTexture(g,y,{tileImageSize:256,tileMaxLevel:this.TILED_CUBE_TEXTURE_LEVEL,imageURL:{transform:m,options:A},fetcher:pa(c.work)},void 0,void 0,void 0,this.renderer).catch((function(){return null})):this.textureLoader.loadCubeTexture(g,{imageURL:{transform:m,options:A},fetcher:pa(c.work)},void 0,void 0,void 0,this.renderer).catch((function(){return null})):Promise.resolve(null)]).then((function(e){var t,r,n=e[0],i=e[1];(null===(t=l.pendingTextureTask)||void 0===t?void 0:t.hash)===b?(l.pendingTextureTask.onLoad(n,i),null===(r=l.panoMeshes[c.panoId])||void 0===r||r.setProgress(0),delete l.pendingTextureTask,l.emit("pano.texture.success",cs("pano.texture.success",{error:null,progress:1,meta:n.meta,pano:c.pano}))):(n.body.dispose(),null==i||i.body.dispose())})).catch((function(e){var t,r;(null===(t=l.pendingTextureTask)||void 0===t?void 0:t.hash)===b&&(l.pendingTextureTask.onError(e),null===(r=l.panoMeshes[c.panoId])||void 0===r||r.setProgress(0),delete l.pendingTextureTask,l.emit("pano.texture.error",cs("pano.texture.error",{error:e,progress:0,meta:null,pano:c.pano})),l.emit("error",e))})),this.emit("pano.texture.load",cs("pano.texture.load",{error:null,progress:0,meta:null,pano:c.pano}))}},t.prototype.initAnimation=function(){var e=this;return this.destroyed?Promise.resolve():new Promise((function(r){var n=e.initial;n.state,n.currentState;var i=n.duration,o=n.userAction;e.userAction=o;var a=t.initAnimationEndState(e),s={workCode:a.workCode,panoIndex:a.panoIndex},l=!1;e.moveToPano(s,{longitude:a.longitude,latitude:a.latitude,fov:a.fov,duration:i,moveStartCallback:function(t){l=!0,e.emit("initAnimation.start",cs("initAnimation.start",{state:t,userAction:e.userAction}))},moveEndCallback:function(t){e.emit("initAnimation.end",cs("initAnimation.end",{state:t,userAction:e.userAction})),e.initAnimationed=!0,r()},moveCancelCallback:function(){var t=ie(ie(ie({},s),{mode:e.mode}),vs(e.camera.pose));!1===l&&e.emit("initAnimation.start",cs("initAnimation.start",{state:t,userAction:e.userAction})),e.emit("initAnimation.end",cs("initAnimation.end",{state:t,userAction:e.userAction})),e.initAnimationed=!0,r()}},o)}))},t.prototype.panoResourceFromLocationMotionKeyframe=function(e){return this.panoResources[e.key]},t.prototype.locationMotionKeyframesLength=function(e){for(var t=0,r=1;r<e.length;r++){var n=this.panoResourceFromLocationMotionKeyframe(e[r-1]).position,i=this.panoResourceFromLocationMotionKeyframe(e[r]).position;t+=n.distanceTo(i)*(e[r].value.count-e[r-1].value.count)}return t},t.prototype.updatePanoMeshes=function(){for(var e=this,t={},r=0,n=Object.keys(this.panoMeshes);r<n.length;r++){var i=n[r],o=this.panoMeshes[i];t[i]=o,delete this.panoMeshes[i]}for(var a=1,s={},l=function(t){var r=hs(t.accessibleIds,(function(r){var n=e.works.getResolvedObserver(r);return n?jr(n.standingPosition.distanceTo(t.standingPosition),1,1/0):1/0}),!0)[1];void 0===s[t.panoId]&&(s[t.panoId]=r)},c=0,u=this.works.resolvedObservers;c<u.length;c++){l(f=u[c])}var d=Object.keys(s).map((function(e){return s[e]}));d.length&&(a=jr(.6*(d.reduce((function(e,t){return e+t}),0)/d.length),1,3));for(var p=0,h=this.works.resolvedObservers;p<h.length;p++){var f;o=void 0;t[(f=h[p]).panoId]?(!0===(o=t[f.panoId]).loading&&!1===f.loadable&&o.setLoading(!1),delete t[f.panoId]):((o=this.panoCircleMeshCreator(f.pano)).name="PanoCircleMesh_"+f.panoId,this.helper.add(o)),o.scale.set(a,1,a),o.position.copy(f.standingPosition),this.panoMeshes[f.panoId]=o}for(var v=0,m=Object.keys(t);v<m.length;v++){var A=m[v];this.helper.remove(t[A]),t[A].dispose(),delete t[A]}},t.prototype.doMoveToPano=function(e,t,r){var i,o,a,s,l=this;void 0===r&&(r={});var c=me(),u=Ya();this.tiling.cleanup(),this.panoResources[u]=t;var d,p,h;if(this.locationMotion.ended){var f=this.locationMotion.getKeyFrameSegment(c);f[0];var v=f[1],m=this.locationMotion.value,A=(null!==(i=this.panoResourceFromLocationMotionKeyframe(v))&&void 0!==i?i:this.camera).position,g=t.position;d=Math.max(A.distanceTo(g),1),p=[{key:v.key,progress:0,value:ie(ie({},m),{count:0})},{key:u,progress:1,value:{distance:0,perspToOrtho:0,orthoDistance:1,modelAlpha:0,count:1}}],h=0}else{var y=this.locationMotion.getKeyFrameSegment(c),b=y[0],x=(v=y[1],m=this.locationMotion.value,this.panoResourceFromLocationMotionKeyframe(b).position),w=(A=this.panoResourceFromLocationMotionKeyframe(v).position,g=t.position,v.value.count-m.count),E=Math.max(x.distanceTo(A),1)*w;d=E+Math.max(A.distanceTo(g),1),p=[{key:b.key,progress:0,value:ie({},m)},{key:v.key,progress:E/d,value:v.value},{key:u,progress:1,value:{count:v.value.count+1,distance:0,perspToOrtho:0,orthoDistance:1,modelAlpha:0}}];var M=this.locationMotionKeyframesLength(this.locationMotion.keyframes),C=this.locationMotionKeyframesLength(p);h=0===M||0===M?0:this.locationMotion.getProgressVelocity(c)*M/C}var S=this.calculateMovingDuration(r.duration,"fade"===r.effect||"montage"===r.effect?0:d),I={longitude:r.longitude,latitude:r.latitude,fov:r.fov},P=ie(ie({},e),{mode:this.mode,longitude:null!==(o=I.longitude)&&void 0!==o?o:this.camera.pose.longitude,latitude:null!==(a=I.latitude)&&void 0!==a?a:this.camera.pose.latitude,fov:null!==(s=I.fov)&&void 0!==s?s:this.camera.pose.fov,offset:t.position.clone(),distance:this.camera.pose.distance}),T=this.currentPano;this.emit("pano.moveTo",cs("pano.moveTo",{options:r,prevPano:T,progress:0,state:P,userAction:this.userAction,error:null})),r.moveStartCallback&&r.moveStartCallback(P),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=fe,this.videoTexture.needsUpdate=!0),this.panoVideo.setMaterial(null),this.cameraMotion.set(I,S).catch(fe),this.locationMotion.setKeyframes(p,S,h).then((function(){var t,i,o=ie(ie({},e),{mode:l.mode,longitude:l.camera.pose.longitude,latitude:l.camera.pose.latitude,fov:l.camera.pose.fov,offset:l.camera.pose.offset.clone(),distance:l.camera.pose.distance});l.emit("pano.arrived",cs("pano.arrived",{options:r,prevPano:T,progress:1,state:o,userAction:l.userAction,error:null})),r.moveEndCallback&&r.moveEndCallback(o);var a=l.works.getResolvedObserver(e);if(a&&a.video&&l.videoTexture&&l.videoTexture.image instanceof HTMLVideoElement){var s=nl.clone().multiply(null!==(i=null===(t=l.models.getMaterial().pano1)||void 0===t?void 0:t.matrix)&&void 0!==i?i:new n.Matrix4).multiply(a.video.matrix),c={map:l.videoTexture,size:a.video.size,matrix:s,alpha:1},u=Ya(),d=l.videoTexture.image;d.setAttribute("uuid",u),Ps().then((function(e){e&&a.video&&d.getAttribute("uuid")===u&&(d.oncanplay=function(){d.oncanplay=fe,d.play()},d.ontimeupdate=function(){d.currentTime>.5&&(d.ontimeupdate=fe,l.panoVideo.setMaterial(c))},d.src=a.video.source)})).catch((function(){d.removeAttribute("uuid")}))}}),(function(){l.emit("pano.cancel",cs("pano.cancel",{options:r,prevPano:T,progress:0,state:P,userAction:l.userAction,error:null})),r.moveCancelCallback&&r.moveCancelCallback()}))},t.prototype.getForwardObserverOrNot=function(e){var t=this,r=this.works.getResolvedObserver(this.currentPano);if(!r)return null;var i=null!=e?e:new n.Raycaster(this.camera.position.clone(),this.camera.getDirection(new n.Vector3)),o=r.standingPosition.clone();if(r.position.distanceTo(i.ray.origin)>1){var a=this.models.intersectRaycaster(new n.Raycaster(i.ray.origin,new n.Vector3(0,-1,0)))[0];a&&a.distance<=2?o.copy(a.point):o.copy(i.ray.origin).add(new n.Vector3(0,-1.5,0))}var s=this.models.intersectRaycaster(i)[0],l=(s?s.point:i.ray.origin.clone().add(i.ray.direction.clone().normalize().multiplyScalar(3))).clone().sub(o).normalize();if(0===l.length())return null;for(var c=r.accessibleIds.filter((function(e){if(e===Xe(t.currentPano))return!1;var r=t.works.getResolvedObserver(e);if(!r)return!1;var n=r.standingPosition.clone().project(t.camera);return!(Math.abs(n.z)>1)&&(!(Math.abs(n.x)>1)&&(!(Math.abs(n.y)>1)&&(r.loadable||r.active)))})),u=c.slice().sort((function(e,r){return t.works.getResolvedObserver(e).standingPosition.clone().distanceTo(o)-t.works.getResolvedObserver(r).standingPosition.clone().distanceTo(o)})),d=0,p=[Math.PI/8,Math.PI/6,Math.PI/4,Math.PI/3];d<p.length;d++)for(var h=p[d],f=0,v=u;f<v.length;f++){var m=v[f],A=this.works.getResolvedObserver(m);if(A){var g=A.standingPosition.clone().sub(o);if(g&&0!==g.length()&&l.angleTo(g)<h)return A}}return null},t.prototype.onTapGesture=function(e){var t,r=this;if(this.userAction=e.userAction,this.stopMomentumMovement(),this.initAnimationed){if(!this.locationMotion.ended)if(this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]).panoId!==Xe(this.currentPano))return;var i=e.center.raycaster,o=this.camera.getDirection(new n.Vector3).setY(0),a=null,s=this.works.getResolvedObserver(this.currentPano);if(s){var l=s.accessibleIds.filter((function(e){if(e===Xe(r.currentPano))return!1;var t=r.works.getResolvedObserver(e);return!!t&&(!(t.position.distanceTo(r.camera.position)>r.maxAccessibleDistance)&&(t.loadable||t.active))})),c=this.models.intersectRaycaster(i)[0];if(c){var u=hs(l,(function(e){var t=r.works.getResolvedObserver(e);return t?t.standingPosition.clone().distanceTo(c.point):1/0}),!0),d=u[0],p=u[1];d&&p<this.panoTapTriggerRadius&&(a=null!==(t=this.works.getResolvedObserver(d))&&void 0!==t?t:null)}a||(a=this.getForwardObserverOrNot(i));for(var h=0,f=this.locationMotion.keyframes;h<f.length;h++){var v=f[h],m=this.panoResourceFromLocationMotionKeyframe(v);if(!(v.progress<this.locationMotion.progress)&&(a&&m.panoId===a.panoId)){a=null;break}}if(a){for(var A={},g=Math.PI/6,y=Math.PI/12,b=a.position.clone().setY(0).sub(s.position.clone().setY(0)).normalize(),x=[],w=0,E=a.accessibleIds;w<E.length;w++){var M=Je(d=E[w]);if(!Ze(M,this.currentPano)&&!Ze(M,a.pano)){var C=this.works.getResolvedObserver(d);if(C){var S=C.position.clone().sub(a.position).setY(0);b.angleTo(S)<g&&x.push(S)}}}var I=(x.length>0?x:ce(ce([],[],!0),[],!0)).slice().sort((function(e,t){return e.angleTo(b)-t.angleTo(b)}))[0];I&&I.angleTo(o)>y&&(A.longitude=Math.atan2(-I.x,-I.z)),this.cameraMotion.value.latitude<-Math.PI/4&&(A.latitude=jr(0,this.minLatitude,this.maxLatitude));var P=ie({},e.state);if(P.workCode=a.pano.workCode,P.panoIndex=a.pano.panoIndex,void 0!==A.longitude&&(P.longitude=A.longitude),void 0!==A.latitude&&(P.latitude=A.latitude),void 0!==A.fov&&(P.fov=A.fov),P.distance=0,P.offset=a.position.clone(),e.state=P,this.emit("gesture.tap",e),!e.defaultPrevented){if(this.emit("pano.select",cs("pano.select",{prevPano:this.currentPano,state:P,userAction:e.userAction,options:A,progress:0,error:null})),a&&!a.active){var T=a.panoId;this.panoMeshes[T]&&(this.panoMeshes[T].setDisabled(!1),this.panoMeshes[T].setLoading(!0))}a&&a.active&&this.emit("pano.request",cs("pano.request",{userAction:e.userAction,prevPano:this.currentPano,progress:0,state:P,options:A,error:null}))}}else this.emit("gesture.tap",e),e.defaultPrevented||!0===this.locationMotion.ended&&this.cameraBounce()}}},t}(Is),sl=Math.PI/180,ll=180/Math.PI,cl=.001,ul=1,dl=function(){var e="undefined"!=typeof navigator&&/iPad|iPhone|iPod/.test(navigator.platform);return function(){return e}}(),pl=function(){var e="undefined"!=typeof navigator&&/^((?!chrome|android).)*safari/i.test(navigator.userAgent);return function(){return e}}(),hl=function(){var e="undefined"!=typeof navigator&&-1!==navigator.userAgent.indexOf("Firefox")&&-1!==navigator.userAgent.indexOf("Android");return function(){return e}}(),fl=function(){var e="undefined"!=typeof navigator?navigator.userAgent.match(/.*Chrome\/([0-9]+)/):null,t=e?parseInt(e[1],10):null;return function(){return t}}(),vl=function(){var e=!1;if(65===fl()){var t="undefined"!=typeof navigator?navigator.userAgent.match(/.*Chrome\/([0-9\.]*)/):null;if(t){var r=t[1].split(".");r[0],r[1];var n=r[2],i=r[3];e=3325===parseInt(n,10)&&parseInt(i,10)<148}}return function(){return e}}(),ml=function(){var e=dl()&&pl()&&"undefined"!=typeof navigator&&-1!==navigator.userAgent.indexOf("13_4");return function(){return e}}(),Al=function(){var e="undefined"!=typeof navigator&&-1!==navigator.userAgent.indexOf("R7 Build");return function(){return e}}();function gl(){var e="undefined"!=typeof window&&(90==window.orientation||-90==window.orientation);return Al()?!e:e}var yl,bl=(yl={},function(e,t){void 0===yl[e]&&(console.warn("cardboard: "+t),yl[e]=!0)});function xl(e){var t,r=e.indexOf("://");t=-1!==r?r+3:0;var n=e.indexOf("/",t);return-1===n&&(n=e.length),e.substring(0,n)}var wl,El=function(e,t,r){var n,i,o,a,s,l,c,u,d,p,h,f,v,m,A,g,y,b,x;n=e,a=(i=t)?i[0]:0,s=i?i[1]:0,l=i?i[2]:0,c=i?i[3]:1,h=a*(u=a+a),f=a*(d=s+s),v=a*(p=l+l),m=s*d,A=s*p,g=l*p,y=c*u,b=c*d,x=c*p,n[0]=1-(m+g),n[1]=f+x,n[2]=v-b,n[3]=0,n[4]=f-x,n[5]=1-(h+g),n[6]=A+y,n[7]=0,n[8]=v+b,n[9]=A-y,n[10]=1-(h+m),n[11]=0,n[12]=o?o[0]:0,n[13]=o?o[1]:0,n[14]=o?o[2]:0,n[15]=1,r&&function(e,t,r){var n,i,o,a,s,l,c,u,d,p,h,f,v=r[0],m=r[1],A=r[2];t===e?(e[12]=t[0]*v+t[4]*m+t[8]*A+t[12],e[13]=t[1]*v+t[5]*m+t[9]*A+t[13],e[14]=t[2]*v+t[6]*m+t[10]*A+t[14],e[15]=t[3]*v+t[7]*m+t[11]*A+t[15]):(n=t[0],i=t[1],o=t[2],a=t[3],s=t[4],l=t[5],c=t[6],u=t[7],d=t[8],p=t[9],h=t[10],f=t[11],e[0]=n,e[1]=i,e[2]=o,e[3]=a,e[4]=s,e[5]=l,e[6]=c,e[7]=u,e[8]=d,e[9]=p,e[10]=h,e[11]=f,e[12]=n*v+s*m+d*A+t[12],e[13]=i*v+l*m+p*A+t[13],e[14]=o*v+c*m+h*A+t[14],e[15]=a*v+u*m+f*A+t[15])}(e,e,r),function(e,t){var r=t[0],n=t[1],i=t[2],o=t[3],a=t[4],s=t[5],l=t[6],c=t[7],u=t[8],d=t[9],p=t[10],h=t[11],f=t[12],v=t[13],m=t[14],A=t[15],g=r*s-n*a,y=r*l-i*a,b=r*c-o*a,x=n*l-i*s,w=n*c-o*s,E=i*c-o*l,M=u*v-d*f,C=u*m-p*f,S=u*A-h*f,I=d*m-p*v,P=d*A-h*v,T=p*A-h*m,B=g*T-y*P+b*I+x*S-w*C+E*M;B&&(B=1/B,e[0]=(s*T-l*P+c*I)*B,e[1]=(i*P-n*T-o*I)*B,e[2]=(v*E-m*w+A*x)*B,e[3]=(p*w-d*E-h*x)*B,e[4]=(l*S-a*T-c*C)*B,e[5]=(r*T-i*S+o*C)*B,e[6]=(m*b-f*E-A*y)*B,e[7]=(u*E-p*b+h*y)*B,e[8]=(a*P-s*S+c*M)*B,e[9]=(n*S-r*P-o*M)*B,e[10]=(f*w-v*b+A*g)*B,e[11]=(d*b-u*w-h*g)*B,e[12]=(s*C-a*I-l*M)*B,e[13]=(r*I-n*C+i*M)*B,e[14]=(v*y-f*x-m*g)*B,e[15]=(u*x-d*y+p*g)*B)}(e,e)},Ml=function(){function e(e,t){void 0===e&&(e=new n.Vector3),void 0===t&&(t=0),this.sample=e,this.timestampS=t}return e.prototype.set=function(e,t){this.sample=e,this.timestampS=t},e.prototype.copy=function(e){this.set(e.sample,e.timestampS)},e}(),Cl=function(){function e(e,t){this.kFilter=e,this.isDebug=t,this.currentAccelMeasurement=new Ml,this.currentGyroMeasurement=new Ml,this.previousGyroMeasurement=new Ml,dl()?this.filterQ=new n.Quaternion(-1,0,0,1):this.filterQ=new n.Quaternion(1,0,0,1),this.previousFilterQ=new n.Quaternion,this.previousFilterQ.copy(this.filterQ),this.accelQ=new n.Quaternion,this.isOrientationInitialized=!1,this.estimatedGravity=new n.Vector3,this.measuredGravity=new n.Vector3,this.gyroIntegralQ=new n.Quaternion}return e.prototype.addAccelMeasurement=function(e,t){this.currentAccelMeasurement.set(e,t)},e.prototype.addGyroMeasurement=function(e,t){this.currentGyroMeasurement.set(e,t);var r,n=t-this.previousGyroMeasurement.timestampS;r=n,isNaN(r)||r<=cl||r>ul||this.run_(),this.previousGyroMeasurement.copy(this.currentGyroMeasurement)},e.prototype.getOrientation=function(){return this.filterQ},e.prototype.run_=function(){if(!this.isOrientationInitialized)return this.accelQ=this.accelToQuaternion_(this.currentAccelMeasurement.sample),this.previousFilterQ.copy(this.accelQ),void(this.isOrientationInitialized=!0);var e=this.currentGyroMeasurement.timestampS-this.previousGyroMeasurement.timestampS,t=this.gyroToQuaternionDelta_(this.currentGyroMeasurement.sample,e);this.gyroIntegralQ.multiply(t),this.filterQ.copy(this.previousFilterQ),this.filterQ.multiply(t);var r=new n.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,o=new n.Quaternion;o.setFromUnitVectors(this.estimatedGravity,this.measuredGravity),o.inverse(),this.isDebug&&console.log("Delta: %d deg, G_est: (%s, %s, %s), G_meas: (%s, %s, %s)",ll*((i=o).w>1?0:2*Math.acos(i.w)),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 n.Quaternion;a.copy(this.filterQ),a.multiply(o),this.filterQ.slerp(a,1-this.kFilter),this.previousFilterQ.copy(this.filterQ)},e.prototype.accelToQuaternion_=function(e){var t=new n.Vector3;t.copy(e),t.normalize();var r=new n.Quaternion;return r.setFromUnitVectors(new n.Vector3(0,0,-1),t),r.inverse(),r},e.prototype.gyroToQuaternionDelta_=function(e,t){var r=new n.Quaternion,i=new n.Vector3;return i.copy(e),i.normalize(),r.setFromAxisAngle(i,e.length()*t),r},e}(),Sl=function(){function e(e,t){this.predictionTimeS=e,this.isDebug=t,this.previousQ=new n.Quaternion,this.previousTimestampS=null,this.deltaQ=new n.Quaternion,this.outQ=new n.Quaternion}return e.prototype.getPrediction=function(e,t,r){if(!this.previousTimestampS)return this.previousQ.copy(e),this.previousTimestampS=r,e;var i=new n.Vector3;i.copy(t),i.normalize();var o=t.length();if(o<20*sl)return this.isDebug&&console.log("Moving slowly, at %s deg/s: no prediction",(ll*o).toFixed(1)),this.outQ.copy(e),this.previousQ.copy(e),this.outQ;var a=o*this.predictionTimeS;return this.deltaQ.setFromAxisAngle(i,a),this.outQ.copy(this.previousQ),this.outQ.multiply(this.deltaQ),this.previousQ.copy(e),this.previousTimestampS=r,this.outQ},e}(),Il=function(){function e(e){this.coefficients=e}return e.prototype.distortInverse=function(e){for(var t=0,r=1,n=e-this.distort(t);Math.abs(r-t)>1e-4;){var i=e-this.distort(r),o=r-i*((r-t)/(i-n));t=r,r=o,n=i}return r},e.prototype.distort=function(e){for(var t=e*e,r=0,n=0;n<this.coefficients.length;n++)r=t*(r+this.coefficients[n]);return(r+1)*e},e}(),Pl=function(){this.angularAcceleration=null,this.angularVelocity=null,this.linearAcceleration=null,this.linearVelocity=null,this.orientation=null,this.position=null},Tl=function(){this.leftDegrees=0,this.rightDegrees=0,this.upDegrees=0,this.downDegrees=0},Bl=function(){function e(e,t,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 n.Vector3,this.gyroscope=new n.Vector3,this.filter=new Cl(e,i),this.posePredictor=new Sl(t,i),this.isFirefoxAndroid=hl(),this.isIOS=dl();var o=fl();this.isDeviceMotionInRadians=!this.isIOS&&null!==o&&o<66,this.isWithoutDeviceMotion=vl()||ml(),this.filterToWorldQ=new n.Quaternion,dl()?this.filterToWorldQ.setFromAxisAngle(new n.Vector3(1,0,0),Math.PI/2):this.filterToWorldQ.setFromAxisAngle(new n.Vector3(1,0,0),-Math.PI/2),this.inverseWorldToScreenQ=new n.Quaternion,this.worldToScreenQ=new n.Quaternion,this.originalPoseAdjustQ=new n.Quaternion;var a="undefined"!=typeof window?-window.orientation*Math.PI/180:0;this.originalPoseAdjustQ.setFromAxisAngle(new n.Vector3(0,0,1),a),this.setScreenTransform_(),gl()&&this.filterToWorldQ.multiply(this.inverseWorldToScreenQ),this.resetQ=new n.Quaternion,this.orientationOut_=new Float32Array(4),this.previousTimestampS=Date.now()}return e.prototype.getPosition=function(){return null},e.prototype.getOrientation=function(){var e;if(this.isWithoutDeviceMotion&&this._deviceOrientationQ){this.deviceOrientationFixQ=this.deviceOrientationFixQ||(i=(new n.Quaternion).setFromAxisAngle(new n.Vector3(0,0,-1),0),o=new n.Quaternion,"undefined"!=typeof window&&-90===window.orientation?o.setFromAxisAngle(new n.Vector3(0,1,0),Math.PI/-2):o.setFromAxisAngle(new n.Vector3(0,1,0),Math.PI/2),i.multiply(o)),this.deviceOrientationFilterToWorldQ=this.deviceOrientationFilterToWorldQ||((r=new n.Quaternion).setFromAxisAngle(new n.Vector3(1,0,0),-Math.PI/2),r),e=this._deviceOrientationQ;var t=new n.Quaternion;return t.copy(e),t.multiply(this.deviceOrientationFilterToWorldQ),t.multiply(this.resetQ),t.multiply(this.worldToScreenQ),t.multiplyQuaternions(this.deviceOrientationFixQ,t),this.yawOnly&&(t.x=0,t.z=0,t.normalize()),this.orientationOut_[0]=t.x,this.orientationOut_[1]=t.y,this.orientationOut_[2]=t.z,this.orientationOut_[3]=t.w,this.orientationOut_}var r,i,o,a=this.filter.getOrientation();e=this.posePredictor.getPrediction(a,this.gyroscope,this.previousTimestampS);var s=new n.Quaternion;return s.copy(this.filterToWorldQ),s.multiply(this.resetQ),s.multiply(e),s.multiply(this.worldToScreenQ),this.yawOnly&&(s.x=0,s.z=0,s.normalize()),this.orientationOut_[0]=s.x,this.orientationOut_[1]=s.y,this.orientationOut_[2]=s.z,this.orientationOut_[3]=s.w,this.orientationOut_},e.prototype.getPose=function(){var e=new Pl;return e.orientation=this.getOrientation(),e},e.prototype.resetPose=function(){this.resetQ.copy(this.filter.getOrientation()),this.resetQ.x=0,this.resetQ.y=0,this.resetQ.z*=-1,this.resetQ.normalize(),gl()&&this.resetQ.multiply(this.inverseWorldToScreenQ),this.resetQ.multiply(this.originalPoseAdjustQ)},e.prototype.getFrameData=function(e){var t=this.getOrientation(),r=this.getEyeOffset(),n=this.getEyeProjectionMatrix();return e.pose.angularAcceleration=null,e.pose.angularVelocity=null,e.pose.linearAcceleration=null,e.pose.linearVelocity=null,e.pose.orientation=t,e.pose.position=null,e.timestamp=this.previousTimestampS,e.leftProjectionMatrix.set(n.left),e.rightProjectionMatrix.set(n.right),El(e.leftViewMatrix,t,r.left),El(e.rightViewMatrix,t,r.right),e},e.prototype.start=function(){if("undefined"==typeof window)return function(){};var e=this.onDeviceMotion_.bind(this),t=this.onOrientationChange_.bind(this),r=this.onMessage_.bind(this),n=this.onDeviceOrientation_.bind(this);return dl()&&function(){if("undefined"==typeof window)return!1;if("undefined"==typeof document)return!1;var e=window.self!==window.top,t=xl(document.referrer),r=xl(window.location.href);return e&&t!==r}()&&window.addEventListener("message",r),window.addEventListener("orientationchange",t),this.isWithoutDeviceMotion?window.addEventListener("deviceorientation",n):window.addEventListener("devicemotion",e),function(){window.removeEventListener("devicemotion",e),window.removeEventListener("deviceorientation",t),window.removeEventListener("orientationchange",t),window.removeEventListener("message",r)}},e.prototype.getEyeOffset=function(){return{left:[.5*-this.viewer.interLensDistance,0,0],right:[.5*this.viewer.interLensDistance,0,0]}},e.prototype.getEyeProjectionMatrix=function(){var e=this.getEyeFieldOfView(),t=this.depthNear,r=this.depthFar,n={left:[],right:[]},i=e.left.upDegrees*sl,o=e.left.downDegrees*sl,a=2/((l=e.left.leftDegrees*sl)+(c=e.left.rightDegrees*sl)),s=2/(i+o);n.left[0]=a,n.left[1]=0,n.left[2]=0,n.left[3]=0,n.left[4]=0,n.left[5]=s,n.left[6]=0,n.left[7]=0,n.left[8]=-(l-c)*a*.5,n.left[9]=(i-o)*s*.5,n.left[10]=r/(t-r),n.left[11]=-1,n.left[12]=0,n.left[13]=0,n.left[14]=r*t/(t-r),n.left[15]=0;var l,c;i=e.right.upDegrees*sl,o=e.right.downDegrees*sl,a=2/((l=e.right.leftDegrees*sl)+(c=e.right.rightDegrees*sl)),s=2/(i+o);return n.right[0]=a,n.right[1]=0,n.right[2]=0,n.right[3]=0,n.right[4]=0,n.right[5]=s,n.right[6]=0,n.right[7]=0,n.right[8]=-(l-c)*a*.5,n.right[9]=(i-o)*s*.5,n.right[10]=r/(t-r),n.right[11]=-1,n.right[12]=0,n.right[13]=0,n.right[14]=r*t/(t-r),n.right[15]=0,n},e.prototype.getEyeFieldOfView=function(){var e=this.viewer,t=this.device,r=new Il(e.distortionCoefficients),n=e.screenLensDistance,i=(t.widthMeters-e.interLensDistance)/2,o=e.interLensDistance/2,a=e.baselineLensDistance-t.bevelMeters,s=t.heightMeters-a,l=ll*Math.atan(r.distort(i/n)),c=ll*Math.atan(r.distort(o/n)),u=ll*Math.atan(r.distort(a/n)),d=ll*Math.atan(r.distort(s/n)),p=new Tl,h=new Tl;return p.leftDegrees=Math.min(l,e.fov),p.rightDegrees=Math.min(c,e.fov),p.downDegrees=Math.min(u,e.fov),p.upDegrees=Math.min(d,e.fov),h.leftDegrees=p.rightDegrees,h.rightDegrees=p.leftDegrees,h.upDegrees=p.upDegrees,h.downDegrees=p.downDegrees,{left:p,right:h}},e.prototype.onDeviceOrientation_=function(e){this._deviceOrientationQ=this._deviceOrientationQ||new n.Quaternion;var t=e.alpha,r=e.beta,i=e.gamma;t=(t||0)*Math.PI/180,r=(r||0)*Math.PI/180,i=(i||0)*Math.PI/180,this._deviceOrientationQ.setFromEuler(new n.Euler(t,r,-i,"YXZ"))},e.prototype.onDeviceMotion_=function(e){this.updateDeviceMotion_(e)},e.prototype.updateDeviceMotion_=function(e){var t=e.accelerationIncludingGravity,r=e.rotationRate,n=e.timeStamp/1e3,i=n-this.previousTimestampS;return i<0?(bl("fusion-pose-sensor:invalid:non-monotonic","Invalid timestamps detected: non-monotonic timestamp from devicemotion"),void(this.previousTimestampS=n)):i<=cl||i>ul?(bl("fusion-pose-sensor:invalid:outside-threshold","Invalid timestamps detected: Timestamp from devicemotion outside expected range."),void(this.previousTimestampS=n)):(t&&(this.accelerometer.set(-t.x,-t.y,-t.z),r&&(Al()?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,n)),this.filter.addAccelMeasurement(this.accelerometer,n)),void(this.previousTimestampS=n))},e.prototype.onOrientationChange_=function(){this.setScreenTransform_()},e.prototype.onMessage_=function(e){var t=e.data;t&&t.type&&("devicemotion"===t.type.toLowerCase()&&this.updateDeviceMotion_(t.deviceMotionEvent))},e.prototype.setScreenTransform_=function(){switch(this.worldToScreenQ.set(0,0,0,1),"undefined"!=typeof window?window.orientation:0){case 0:break;case 90:this.worldToScreenQ.setFromAxisAngle(new n.Vector3(0,0,1),-Math.PI/2);break;case-90:this.worldToScreenQ.setFromAxisAngle(new n.Vector3(0,0,1),Math.PI/2)}this.inverseWorldToScreenQ.copy(this.worldToScreenQ),this.inverseWorldToScreenQ.inverse()},e}(),Rl=[0,0,.5,1],kl=[.5,0,.5,1],Ol=function(){function e(e){var t=this;this.renderer=e,this.sensor=new Bl(.98,.04,!1,!1),this.scale=1,this.cameraL=new n.PerspectiveCamera,this.cameraR=new n.PerspectiveCamera;var r=this.sensor.start();this.dispose=function(){var e=t.renderer.getSize(new n.Vector2);t.renderer.setScissor(0,0,e.width,e.height),t.renderer.setViewport(0,0,e.width,e.height),t.renderer.setScissorTest(!1),r()}}return e.prototype.render=function(e,t){var r=this.renderer.getSize(new n.Vector2);if(r.width>r.height){var i=e.autoUpdate;i&&(e.updateMatrixWorld(),e.autoUpdate=!1);var o={x:Math.round(r.width*Rl[0]),y:Math.round(r.height*Rl[1]),width:Math.round(r.width*Rl[2]),height:Math.round(r.height*Rl[3])},a={x:Math.round(r.width*kl[0]),y:Math.round(r.height*kl[1]),width:Math.round(r.width*kl[2]),height:Math.round(r.height*kl[3])};this.renderer.setScissorTest(!0),this.renderer.autoClear&&this.renderer.clear(),null===t.parent&&t.updateMatrixWorld(),t.matrixWorld.decompose(this.cameraL.position,this.cameraL.quaternion,this.cameraL.scale),t.matrixWorld.decompose(this.cameraR.position,this.cameraR.quaternion,this.cameraR.scale);var s=this.sensor.getEyeOffset();this.cameraL.translateOnAxis((new n.Vector3).fromArray(s.left),this.scale),this.cameraR.translateOnAxis((new n.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(o.x,o.y,o.width,o.height),this.renderer.setScissor(o.x,o.y,o.width,o.height),this.renderer.render(e,this.cameraL),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(e,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&&(e.autoUpdate=!0)}else this.renderer.render(e,t)},e.prototype.dispose=function(){},e}(),Fl={zh:{TITLE:"眼镜模式",HIT:"请将手机横屏放入 VR 眼镜中"},en:{TITLE:"GLASSES MODE",HIT:"Please put the mobile phone horizontally into the VR glasses."},ja:{TITLE:"メガネモード",HIT:"携帯電話をVRメガネに水平に入れてください。"}},Dl="undefined"!=typeof navigator&&null!==(wl=Fl[navigator.language.split("-")[0]])&&void 0!==wl?wl:Fl.zh,Ql="\n<style>\n.$id {\n all: initial;\n position: absolute;\n overflow: hidden;\n display: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.$id-modal {\n width: 100%;\n height: 332px;\n position: absolute;\n bottom: -2px;\n left: 0;\n right: 0;\n overflow: hidden;\n pointer-events: none;\n will-change: transform;\n animation: $id-modal-fade-in 0.3s ease 1;\n}\n.$id-modal-bg {\n background: rgba(0, 0, 0, 0.75);\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n top: 0;\n}\n.$id-modal-bg-line {\n height: 1px;\n background-image: linear-gradient(\n 85deg,\n rgba(162, 177, 255, 0.3) 1%,\n rgba(120, 126, 255, 0.8) 30%,\n rgba(147, 218, 255, 0.8) 66%,\n rgba(250, 255, 184, 0.3) 92%\n );\n}\n.$id-modal-bg-wave svg {\n width: 375px;\n height: 61px;\n display: block;\n}\n.$id-modal-content {\n color: #ffffff;\n padding: 0 14px;\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n top: 0;\n overflow: hidden;\n}\n.$id-modal-content-title {\n font-size: 17px;\n font-family: sans-serif;\n line-height: 18px;\n padding: 20px 0;\n font-weight: bold;\n}\n.$id-modal-content-hit {\n font-size: 14px;\n font-family: sans-serif;\n line-height: 24px;\n opacity: 0.85;\n}\n.$id-modal-content-guide {\n position: relative;\n width: 168px;\n height: 139px;\n margin: 36px auto 0;\n}\n.$id-modal-content-guide-cardboard {\n position: absolute;\n width: 100px;\n height: 82px;\n left: 68px;\n top: 57px;\n}\n.$id-modal-content-guide-cardboard-image {\n width: 100px;\n height: 82px;\n background-image: url(".concat("data:image/png;base64,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",");\n background-size: 100%;\n background-repeat: no-repeat;\n}\n.$id-modal-content-guide-phone {\n position: absolute;\n width: 58px;\n height: 56px;\n left: 0;\n top: 0;\n}\n.$id-modal-content-guide-phone-move-x {\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n will-change: transform;\n animation: $id-guide-move-x 4s 0.5s infinite;\n}\n.$id-modal-content-guide-phone-move-y {\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n will-change: transform;\n animation: $id-guide-move-y 4s cubic-bezier(0.42, 0, 0.23, 0.98) 0.5s infinite;\n}\n.$id-modal-content-guide-phone-blink {\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n opacity: 0;\n will-change: opacity;\n animation: $id-guide-blink 4s 0.5s infinite;\n}\n.$id-modal-content-guide-phone-image {\n width: 58px;\n height: 56px;\n background-image: url(").concat("data:image/png;base64,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",');\n background-size: 100%;\n background-repeat: no-repeat;\n}\n.$id-modal-close {\n position: absolute;\n top: 20px;\n right: 14px;\n width: 14px;\n height: 14px;\n}\n.$id-modal-close svg {\n width: 14px;\n height: 14px;\n display: block;\n}\n\n@keyframes $id-modal-fade-in {\n 0% { transform: translate3d(0, 100%, 0); opacity: 0.5; }\n 100% { transform: translate3d(0, 0, 0); opacity: 1; }\n}\n@keyframes $id-guide-blink {\n 0% { opacity: 0; }\n 7% { opacity: 0; }\n 12% { opacity: 1; }\n 29% { opacity: 1; }\n 34% { opacity: 0.3; }\n 39% { opacity: 1; }\n 44% { opacity: 0.3; }\n 49% { opacity: 1; }\n 80% { opacity: 1; }\n 100% { opacity: 0; }\n}\n@keyframes $id-guide-move-x {\n 0% { transform: translate3d(0, 0, 0); }\n 57% { transform: translate3d(0, 0, 0); }\n 80% { transform: translate3d(70px, 0, 0); }\n 100% { transform: translate3d(70px, 0, 0); }\n}\n@keyframes $id-guide-move-y {\n 0% { transform: translate3d(0, 0, 0); }\n 57% { transform: translate3d(0, 0, 0); }\n 80% { transform: translate3d(0, 58px, 0); }\n 100% { transform: translate3d(0, 58px, 0); }\n}\n@media screen and (orientation: portrait) {\n .$id {\n display: block;\n }\n}\n</style>\n<div class="$id-modal">\n <div class="$id-modal-bg">\n <div class="$id-modal-bg-line"></div>\n <div class="$id-modal-bg-wave">\n <svg width="375" height="61" viewBox="0 0 375 61" version="1.1" xmlns="http://www.w3.org/2000/svg">\n <defs>\n <linearGradient x1="0" y1="0%" x2="0" y2="100%" id="$id-2y6_dj_hgp">\n <stop stop-color="#8598FF" stop-opacity="0.15" offset="0%"></stop>\n <stop stop-color="#000" stop-opacity="0" offset="100%"></stop>\n </linearGradient>\n </defs>\n <path transform="translate(187.5, 30.5) scale(-1, 1) translate(-187.5, -30.5)" fill="url(#$id-2y6_dj_hgp)" d="\nM0,1\nC83.001,1.706 140.146,4.164 171.435,8.374\nC218.369,14.688 253.467,26.308 273.002,33\nC292.536,39.691323.501,51 343.709,56\nC357.182,59.333 367.612,61 375,61\nL375,0\nL0,0\nL0,1\nZ\n"></path>\n </svg>\n </div>\n </div>\n <div class="$id-modal-content">\n <div class="$id-modal-content-title">').concat(Dl.TITLE,'</div>\n <div class="$id-modal-content-hit">').concat(Dl.HIT,'</div>\n <div class="$id-modal-content-guide">\n <div class="$id-modal-content-guide-phone">\n <div class="$id-modal-content-guide-phone-move-x">\n <div class="$id-modal-content-guide-phone-move-y">\n <div class="$id-modal-content-guide-phone-blink">\n <div class="$id-modal-content-guide-phone-image"></div>\n </div>\n </div>\n </div>\n </div>\n <div class="$id-modal-content-guide-cardboard">\n <div class="$id-modal-content-guide-cardboard-image"></div>\n </div>\n </div>\n </div>\n <div class="$id-modal-close">\n <svg width="14" height="14" viewBox="0 0 14 14" version="1.1" xmlns="http://www.w3.org/2000/svg">\n <defs>\n <radialGradient cx="50%" cy="50%" fx="50%" fy="50%" r="70%" id="$id-ho0itsc4p9">\n <stop stop-color="#FFF" stop-opacity="0.75" offset="0%"></stop>\n <stop stop-color="#FFF" stop-opacity="0.22" offset="100%"></stop>\n </radialGradient>\n </defs>\n <path transform="translate(-3, -3)" fill="url(#$id-ho0itsc4p9)" fill-rule="nonzero" d="\nM16.791,3.198\nC17.044,3.438 17.067,3.814 16.860,4.080\nL16.791,4.156\nL12.144,9.331\nC11.803,9.711 11.803,10.288 12.144,10.668\nL16.791,15.843\nC17.044,16.084 17.067,16.460 16.860,16.725\nL16.791,16.801\nC16.538,17.042 16.142,17.063 15.864,16.867\nL15.784,16.801\nL10.000,11.250\nL4.215,16.801\nL4.135,16.867\nC3.857,17.063 3.461,17.042 3.208,16.801\nL3.208,16.801\nL3.139,16.725\nC2.932,16.460 2.955,16.084 3.208,15.843\nL3.208,15.843\nL7.855,10.668\nC8.196,10.288 8.196,9.711 7.855,9.331\nL7.855,9.331\nL3.208,4.156\nL3.139,4.080\nC2.932,3.814 2.955,3.438 3.208,3.198\nC3.486,2.933 3.937,2.933 4.215,3.198\nL4.215,3.198 L9.999,8.749\nL15.784,3.198\nC16.062,2.933 16.513,2.933 16.791,3.198\nZ\n"></path>\n </svg>\n </div>\n</div>\n');function Ll(e){for(var t=1,r=document.getElementsByTagName("meta"),n=0;n<r.length;n++){var i=r[n];if("viewport"===i.getAttribute("name")){var o=(i.getAttribute("content")||"").match(/initial\-scale\=([\d|\.]+)/);o&&(t=Number(o[1])),isNaN(t)&&(t=1)}}return Ql.replace(/\n/g," ").replace(/\ +/g," ").replace(/\$id/g,e).replace(/(\d+)px/g,(function(e,r){return function(e){return Math.floor(e*t)+"px"}(Number(r))}))}var Nl=new n.CircleBufferGeometry(.12,16),Vl=function(e){function t(){var t=e.call(this)||this;t.progress=0,t.opacity=0,t.loading=!1,t.current=!1,t.disabled=!1,t.currentMotion=new Da({ringScale:1.1,ringOpacity:0,circleFade:0,circleOpacity:.85,circleScale:1}),t.opacityMotion=new Da({opacity:0}),t.loadingMotion=new Da({opacity:0}),t.disableMotion=new Da({opacity:0});var r={blending:n.CustomBlending,blendSrc:n.SrcAlphaFactor,blendDst:n.OneMinusSrcAlphaFactor,blendSrcAlpha:n.OneFactor,blendDstAlpha:n.OneMinusSrcAlphaFactor,depthWrite:!1,transparent:!0};return t.hitTestMesh=new n.Mesh(Nl,new n.MeshBasicMaterial(ie(ie({},r),{color:0,opacity:0}))),t.hitTestMesh.scale.set(1.5,1.5,1.5),t.ringMesh=new n.Mesh(Nl,new n.ShaderMaterial(ie(ie({},r),{vertexShader:"\nvarying vec2 vUv;\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n",fragmentShader:"\nvarying vec2 vUv;\nuniform float opacity;\n\nfloat smoothDist = 0.01;\nvoid main() {\n vec2 center = vec2(0.5, 0.5);\n float dist = length(center - vUv);\n float outerDist = 0.49;\n float innerDist = 0.29;\n\n float outside = 1.0 - smoothstep(outerDist - smoothDist, outerDist, dist);\n float inside = smoothstep(innerDist, innerDist + smoothDist, dist);\n\n vec4 bg = vec4(0.576, 0.635, 1.0, 0.3);\n float gradientAlpha = clamp(abs(dist - (outerDist + innerDist) / 2.0) / (outerDist - innerDist) * 1.5 + 0.1, 0.0, 1.0);\n vec4 gradient = vec4(1.0, 1.0, 1.0, gradientAlpha);\n\n gl_FragColor = mix(bg, gradient, gradient.a);\n\n gl_FragColor = vec4(gl_FragColor.rgb, gl_FragColor.a * opacity * outside * inside);\n}\n",uniforms:{opacity:{value:0}}}))),t.panoMesh=new n.Mesh(Nl,new n.ShaderMaterial(ie(ie({},r),{vertexShader:"\nvarying vec2 vUv;\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n",fragmentShader:"\nuniform float circleScale;\nuniform float circleFade;\nuniform float circleOpacity;\nuniform float loadingAngle;\nuniform float loadingOpacity;\nuniform float opacity;\nuniform float disable;\nvarying vec2 vUv;\n\n#define PI 3.141592653589793\n#define TAU 6.283185307179586\n#define SMOOTH_DIST 0.017\n#define CENTER vec2(0.5, 0.5)\n\nfloat inside(float innerDist) {\n float dist = length(CENTER - vUv);\n return smoothstep(innerDist, innerDist + SMOOTH_DIST, dist);\n}\nfloat outside(float outerDist) {\n float dist = length(CENTER - vUv);\n return 1.0 - smoothstep(outerDist - SMOOTH_DIST, outerDist, dist);\n}\n\nvec4 create_circle() {\n float dist = length(CENTER - vUv);\n float gradient = clamp(0.98 + abs(dot(normalize(vec2(1.0, -1.0)), vUv - CENTER)) * 2.0, 0.0, 1.0);\n vec3 color = mix(vec3(0.576, 0.635, 1.0), vec3(1.0, 1.0, 1.0), circleFade * 0.5);\n return vec4(color, 1.0 * gradient * circleOpacity * outside(0.3 * circleScale));\n}\n\nvec4 create_disable() {\n float dist = length(CENTER - vUv);\n return vec4(1.0, 1.0, 1.0, 0.5 * outside(0.32 * circleScale));\n}\n\nvec4 create_loading() {\n float angle = PI - atan(CENTER.x - vUv.x, CENTER.y - vUv.y);\n angle = mod(angle + loadingAngle, TAU);\n float gradient = (1.0 - smoothstep(0.0, TAU, angle)) * 0.9 + 0.1;\n return vec4(1.0, 1.0, 1.0, gradient * loadingOpacity * inside(0.2 * circleScale) * outside(0.25 * circleScale));\n}\n\nvoid main() {\n gl_FragColor = vec4(1.0, 1.0, 1.0, 0);\n\n vec4 circleColor = create_circle();\n gl_FragColor = mix(gl_FragColor, circleColor, circleColor.a);\n\n vec4 loadingColor = create_loading();\n gl_FragColor = mix(gl_FragColor, loadingColor, loadingColor.a);\n\n gl_FragColor = mix(gl_FragColor, create_disable(), disable);\n\n gl_FragColor = vec4(gl_FragColor.rgb, gl_FragColor.a * opacity);\n}\n",uniforms:{circleScale:{value:1.1},circleFade:{value:0},circleOpacity:{value:.5},loadingAngle:{value:0},loadingOpacity:{value:0},opacity:{value:0},disable:{value:0}}}))),t.add(t.hitTestMesh),t.add(t.ringMesh),t.add(t.panoMesh),t.renderOrder=1e4,t.needsRender=!0,t}return ne(t,e),t.prototype.setProgress=function(e){this.progress=e,this.setLoading(e>0)},t.prototype.setOpacity=function(e){this.opacity!==e&&(this.opacity=e=jr(e,0,1),this.opacityMotion.set({opacity:e},30).catch(fe))},t.prototype.setCurrent=function(e){if(this.current!==e){if(e){var t=[{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(t,1500).catch(fe)}else{t=[{progress:0,value:ie({},this.currentMotion.value)},{progress:1,value:{ringScale:1.1,ringOpacity:0,circleFade:0,circleOpacity:.85,circleScale:1}}];this.currentMotion.setKeyframes(t,200).catch(fe)}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(fe):this.loadingMotion.set({opacity:0},0).catch(fe),this.loading=e,!0===this.disabled&&this.setDisabled(!1),this.needsRender=!0)},t.prototype.setDisabled=function(e){this.disabled!==e&&(this.disabled=e,!0===this.loading&&this.setLoading(!1),this.disableMotion.set({opacity:e?1:0},300).catch(fe),this.needsRender=!0)},t.prototype.tap=function(){return Promise.resolve()},t.prototype.updateTime=function(e,t){this.opacityMotion.update(e),this.currentMotion.update(e),this.loadingMotion.update(e);var r=this.opacityMotion.value.opacity;this.visible=0!==r;var n=this.currentMotion.value,i=n.ringScale,o=n.ringOpacity,a=n.circleFade,s=n.circleOpacity,l=n.circleScale;this.ringMesh.scale.set(i,1,i),this.ringMesh.material.uniforms.opacity.value=o*r,this.panoMesh.material.uniforms.opacity.value=r,this.panoMesh.material.uniforms.circleOpacity.value=s,this.panoMesh.material.uniforms.circleScale.value=l,this.panoMesh.material.uniforms.circleFade.value=a,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%(2*Math.PI),this.needsRender=!0},t.prototype.dispose=function(){this.hitTestMesh.material.dispose(),this.ringMesh.material.dispose(),this.panoMesh.material.dispose()},t}(n.Object3D),zl=function(e){function t(r){var n=this,i=t.parseArgs(r);(n=e.call(this,i)||this).mode="VRPanorama",n.cardboard=new Ol(n.renderer);var o,a,s,l=(o="five_vr_helper_"+Ya(),a=Ll(o),(s=document.createElement("div")).className=o,s.innerHTML=a,s);n.helperElement=l;var c=new ms(l);return n.element.parentNode&&(n.element.parentNode.insertBefore(l,n.element),n.setHelperElementSize(),c.on("tap",(function(){return n.emit("vr.requestExit",cs("vr.requestExit",{}))}))),n.destroyHelper=function(){c.destroy(),l.parentNode&&l.parentNode.removeChild(l),delete n.helperElement},n}return ne(t,e),t.parseArgs=function(r){if(r instanceof t)return r;var n=ie(ie({},r),{maxLatitude:Math.PI/2,minLatitude:-Math.PI/2});return e.parseArgs.call(this,n)},t.initAnimationEndState=function(t){var r=this.parseArgs(t),n=e.initAnimationEndState.call(this,r);return ie(ie({},n),{mode:"VRPanorama"})},t.prototype.destroy=function(){e.prototype.destroy.call(this),this.cardboard.dispose(),this.destroyHelper();for(var t=0,r=Object.keys(this.panoMeshes);t<r.length;t++){var n=r[t],i=this.panoMeshes[n];this.helper.remove(i),i.dispose(),delete this.panoMeshes[n]}},t.prototype.isReady=function(){return!1},t.prototype.updateRenderSize=function(){this.needsRender=!0,this.setHelperElementSize()},t.prototype.updateCamera=function(e,t,r){return Promise.resolve()},t.prototype.updateCameraWithKeyframes=function(e,t,r){return Promise.resolve()},t.prototype.updatePanoMeshesVisible=function(){for(var e=this.works.getResolvedObserver(this.currentPano),t=(e?e.visibleIds:[]).concat(Xe(this.currentPano)),r=0,n=this.works.resolvedObservers;r<n.length;r++){var i=n[r],o=this.panoMeshes[i.panoId];o&&(t.indexOf(i.panoId)>=0?o.parent!==this.helper&&this.helper.add(o):o.parent===this.helper&&(this.helper.remove(o),o.setOpacity(0)))}},t.prototype.updatePanoMeshes=function(){for(var e=0,t=Object.keys(this.panoMeshes);e<t.length;e++){var r=t[e],n=this.panoMeshes[r];this.helper.remove(n),n.dispose(),delete this.panoMeshes[r]}for(var i=0,o=this.works.resolvedObservers;i<o.length;i++){var a=o[i],s=a.panoId,l=new Vl;l.name="panoSphere_".concat(s),l.position.copy(a.position),l.needsRender=!0,this.panoMeshes[s]=l}this.updatePanoMeshesVisible()},t.prototype.updateTime=function(e,t){var r,i,o,a,s,l;if(!this.destroyed){var c=this.currentPano;this.userAction=!0,this.needsRender=!0;var u={},d={};if(!1===this.locationMotion.ended){this.locationMotion.update(e);var p=this.locationMotion.getKeyFrameSegment(e),h=p[0],f=p[1],v=this.panoResourceFromLocationMotionKeyframe(h),m=this.panoResourceFromLocationMotionKeyframe(f),A=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),g=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),y=v.position,b=m.position,x=this.locationMotion.value.count-f.value.count+1;u.modelAlpha=this.locationMotion.value.modelAlpha,this.camera.perspToOrtho.setScalar(jr(this.locationMotion.value.perspToOrtho,0,1)),this.camera.orthoDistance=this.locationMotion.value.orthoDistance,u.useBlackTransition="instant"===m.effect,m.panoPicture&&(x<1?v.panoPicture&&(u.pano0=v.panoPicture):u.pano0=m.panoPicture,u.pano1=m.panoPicture),"fade"===m.effect&&(u.pano0&&v.panoPicture&&(u.pano0={map:u.pano0.map,luminanceMap:u.pano0.luminanceMap,matrix:v.panoPicture.matrix.clone().setPosition(m.position)}),y.copy(b)),u.progress=x,d.distance=this.locationMotion.value.distance,d.offset=new n.Vector3(y.x+(b.x-y.x)*x,y.y+(b.y-y.y)*x,y.z+(b.z-y.z)*x);for(var w=[],E=[],M=0,C=this.locationMotion.keyframes;M<C.length;M++){var S=C[M],I=S.key,P=S.progress;void 0!==I&&(w.push(I),P>=this.locationMotion.progress&&E.push(I))}for(var T=0,B=Object.keys(this.panoResources);T<B.length;T++){var R=B[T];if(!(E.indexOf(R)>=0)){var k=this.panoResources[R];if(k.panoPicture){var O=k.panoPicture.map;if(O){if(O===(null===(r=u.pano0)||void 0===r?void 0:r.map))continue;if(O===(null===(i=u.pano1)||void 0===i?void 0:i.map))continue;O.dispose(),k.panoPicture=null}}w.indexOf(R)>=0||delete this.panoResources[R]}}this.currentPano=Je(m.panoId),this.emit("pano.moving",cs("pano.moving",{userAction:this.userAction,prevPano:Je(A.panoId),state:ie(ie(ie(ie({},Je(g.panoId)),{mode:this.mode}),vs(this.camera.pose)),d),options:{},progress:this.locationMotion.progress,error:null}))}!1===fs(u)&&((null===(o=u.pano0)||void 0===o?void 0:o.map)&&u.pano0.map instanceof Vt&&!u.pano0.map.cubeRenderTarget&&(u.pano0.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),(null===(a=u.pano0)||void 0===a?void 0:a.luminanceMap)&&u.pano0.luminanceMap instanceof Vt&&!u.pano0.luminanceMap.cubeRenderTarget&&(u.pano0.luminanceMap.cubeRenderTarget=this.luminanceCubeRenderTargetPool.pop()),(null===(s=u.pano1)||void 0===s?void 0:s.map)&&u.pano1.map instanceof Vt&&!u.pano1.map.cubeRenderTarget&&(u.pano1.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),(null===(l=u.pano1)||void 0===l?void 0:l.luminanceMap)&&u.pano1.luminanceMap instanceof Vt&&!u.pano1.luminanceMap.cubeRenderTarget&&(u.pano1.luminanceMap.cubeRenderTarget=this.luminanceCubeRenderTargetPool.pop()),this.models.setMaterial(u)),d.offset&&this.camera.position.copy(d.offset),Ze(this.currentPano,c)&&this.updatePanoMeshesVisible();var F=this.camera.pose.longitude,D=this.camera.pose.latitude;this.camera.quaternion.fromArray(this.cardboard.sensor.getOrientation()),this.camera.updateMatrixWorld(),this.camera.computePose();var Q=this.works.getResolvedObserver(this.currentPano);if(Q)for(var L=0,N=Q.visibleIds.concat(Xe(this.currentPano));L<N.length;L++){var V=N[L],z=Je(V);if(G=this.works.getResolvedObserver(z)){var j=this.panoMeshes[V];if(G.loadable||G.active){var U=j.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);U<.05?j.setOpacity(0):j.setOpacity(jr(1.5/U,0,1)),Ze(this.currentPano,z)&&j.setOpacity(0),j.lookAt(this.camera.position)}else j.setOpacity(0)}}for(var q=this.intersect(e),_=0,H=this.works.resolvedObservers;_<H.length;_++){var G=H[_];(j=this.panoMeshes[G.panoId])&&(j.setCurrent(j===q),j.updateTime&&j.updateTime(e,t))}F===this.camera.pose.longitude&&D===this.camera.pose.latitude||(this.cameraMotion.set(eo(this.camera.pose,["longitude","latitude"]),0).catch(fe),this.emit("camera.update",cs("camera.update",{userAction:!0,state:ie(ie(ie({},this.currentPano),{mode:this.mode}),vs(this.camera.pose))})))}},t.prototype.render=function(){this.cardboard.render(this.scene,this.camera)},t.prototype.setCamera=function(e){},t.prototype.destroyHelper=function(){},t.prototype.setHelperElementSize=function(){if(this.helperElement){var e=new n.Vector2(this.element.offsetWidth,this.element.offsetHeight),t=e.x*this.scissor.left,r=e.y*(1-this.scissor.bottom-this.scissor.height),i=e.x*this.scissor.width,o=e.y*this.scissor.height;this.helperElement.style.marginLeft=t+"px",this.helperElement.style.marginTop=r+"px",this.helperElement.style.width=i+"px",this.helperElement.style.height=o+"px"}},t.prototype.intersect=function(e){var t,r;if(!1===this.locationMotion.ended)return this.intersectMesh.visible=!1,delete this.activePanoMesh,void delete this.activeTime;if(this.activePanoMesh&&this.activeTime&&e-this.activeTime>1500){for(var i=this.activePanoMesh,o=null,a=0,s=Object.keys(this.panoMeshes);a<s.length;a++){var l=s[a];if(this.panoMeshes[l]===i){o=l;break}}return null!==o&&this.moveToPano(Je(o),{},!0),delete this.activePanoMesh,delete this.activeTime,i}for(var c=this.camera.getDirection(new n.Vector3),u=new n.Raycaster(this.camera.position,c),d=void 0,p=[],h=this.works.getResolvedObserver(this.currentPano),f=0,v=h?h.visibleIds:[];f<v.length;f++){o=v[f];var m=this.panoMeshes[o],A=u.intersectObject(null!==(t=m.hitTestMesh)&&void 0!==t?t:m,!0)[0];A&&p.push({panoMesh:m,intersection:ie({floor:null!==(r=null==h?void 0:h.floorIndex)&&void 0!==r?r:0},A)})}var g=p.sort((function(e,t){return e.intersection.distance-t.intersection.distance}))[0];g?(d=g.intersection,this.activePanoMesh!==g.panoMesh&&(this.activePanoMesh=g.panoMesh,this.activeTime=e),this.intersectMesh.position.copy(g.panoMesh.position),this.intersectMesh.lookAt(this.camera.position),this.intersectMesh.visible=!1):(this.activePanoMesh=void 0,this.activeTime=void 0),d||(d=this.models.intersectRaycaster(u)[0]);var y=cs("intersect.update",{raycaster:u,intersection:null!=d?d:null,object:this.intersectMesh});if(this.emit("intersect.update",y),!y.defaultPrevented){if(d&&d.face){var b=d.face.normal,x=new n.Quaternion;x.setFromUnitVectors(new n.Vector3(0,0,1),b),this.intersectMesh.quaternion.copy(x);var w=b.clone().multiplyScalar(.05),E=d.point.clone().add(w);this.intersectMesh.position.copy(E),this.intersectMesh.visible=!0}else this.intersectMesh.visible=!1;return null==g?void 0:g.panoMesh}this.hideIntersectMesh()},t.prototype.onPanGesture=function(){},t.prototype.onTapGesture=function(){},t.prototype.onPinchGesture=function(){},t.prototype.onMouseMove=function(){},t.prototype.onMouseOut=function(){},t}(al),jl=new n.Vector3(0,1.6,0),Ul=function(e){function t(r){var n,i=this,o=t.parseArgs(r);return(i=e.call(this,o)||this).mode="Model",i.locationMotion=new Da({x:i.camera.pose.offset.x,y:i.camera.pose.offset.y,z:i.camera.pose.offset.z,distance:i.camera.pose.distance,modelAlpha:null!==(n=i.models.getMaterial().modelAlpha)&&void 0!==n?n:0,perspToOrtho:i.camera.perspToOrtho.x,orthoDistance:i.camera.orthoDistance}),i}return ne(t,e),t.parseArgs=function(r){return r instanceof t?r:e.parseArgs.call(this,r)},t.initAnimationEndState=function(e){var t,r,i,o,a,s,l=this.parseArgs(e),c=l.works,u=e.initial,d=u.state,p=u.currentState,h="number"==typeof d.panoIndex?{workCode:null!==(i=null!==(t=d.workCode)&&void 0!==t?t:null===(r=l.works[0])||void 0===r?void 0:r.workCode)&&void 0!==i?i:"",panoIndex:d.panoIndex}:{workCode:p.workCode,panoIndex:p.panoIndex},f=c.getResolvedObserver(h),v=null!==(o=d.longitude)&&void 0!==o?o:p.longitude,m=jr(null!==(a=d.latitude)&&void 0!==a?a:!f||ba(p.mode)?p.latitude:l.defaultLatitude,l.minLatitude,l.maxLatitude),A=jr(null!==(s=d.fov)&&void 0!==s?s:!f||ba(p.mode)?p.fov:l.defaultFov,l.minFov,l.maxFov),g=new n.Vector3;if(l.initial.state.offset)g.copy(l.initial.state.offset);else if(f)g.copy(f.position);else{var y=Wt(p).setLength(p.distance);g.copy(l.initial.currentState.offset).sub(y)}return{workCode:h.workCode,panoIndex:h.panoIndex,mode:"Model",longitude:v,latitude:m,fov:A,offset:g,distance:0}},t.prototype.destroy=function(){e.prototype.destroy.call(this),this.locationMotion.dispose()},t.prototype.isReady=function(){return!1!==this.locationMotion.ended},t.prototype.updateWork=function(e,r,n,i){this.works=e;var o=t.initAnimationEndState(ie(ie({},this),{initial:{currentState:ie(ie({},this.currentPano),this.camera.pose),duration:n,state:r,userAction:i}}));this.hideIntersectMesh();var a={duration:0,longitude:o.longitude,latitude:o.latitude,fov:o.fov};return this.moveToPosition(o.offset,a,i),!0},t.prototype.updateCamera=function(e,t,r){var n=this;return this.initAnimationReady.then((function(){n.userAction=r,n.stopMomentumMovement();var i={},o={};return i.orthoDistance=1,i.distance=0,i.modelAlpha=1,i.perspToOrtho=0,void 0!==e.offset&&(i.x=e.offset.x,i.y=e.offset.y,i.z=e.offset.z),void 0!==e.longitude&&(o.longitude=e.longitude),void 0!==e.latitude&&(o.latitude=e.latitude),void 0!==e.fov&&(o.fov=e.fov),n.locationMotion.set(i,t).catch(fe),n.cameraMotion.set(o,t).catch(fe)}))},t.prototype.updateCameraWithKeyframes=function(e,t,r){var n=this;return this.initAnimationReady.then((function(){n.userAction=r,n.stopMomentumMovement();for(var i=[],o=[],a=0,s=e;a<s.length;a++){var l=s[a];i.push({key:l.key,progress:l.progress,value:{orthoDistance:1,distance:0,modelAlpha:1,perspToOrtho:0,x:l.value.offset.x,y:l.value.offset.x,z:l.value.offset.x}}),o.push({key:l.key,progress:l.progress,value:{longitude:l.value.longitude,latitude:l.value.latitude,fov:l.value.fov}})}return n.locationMotion.setKeyframes(i,t).catch(fe),n.cameraMotion.setKeyframes(e,t)}))},t.prototype.updateTime=function(e,t){if(!this.destroyed){var r={},i={};if(!this.locationMotion.ended){this.locationMotion.update(e),r.modelAlpha=this.locationMotion.value.modelAlpha,this.camera.perspToOrtho.setScalar(jr(this.locationMotion.value.perspToOrtho,0,1)),this.camera.orthoDistance=this.locationMotion.value.orthoDistance,i.distance=this.locationMotion.value.distance,i.offset=new n.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z);var o=new n.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z),a=hs(this.works.resolvedObservers,(function(e){return e.position.distanceTo(o)}));this.currentPano=a?{workCode:a.work.workCode,panoIndex:a.panoIndex}:{workCode:"",panoIndex:0}}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),fs(r)||this.models.setMaterial(r),fs(i)||this.setCamera(i)}},t.prototype.initAnimation=function(){var e=this;return this.destroyed?Promise.resolve():new Promise((function(r){var n=e.initial;n.state,n.currentState;var i=n.duration,o=n.userAction;e.userAction=o;var a=t.initAnimationEndState(e);a.workCode,a.panoIndex;var s={longitude:a.longitude,latitude:a.latitude,fov:a.fov,duration:i,moveStartCallback:function(t){e.emit("initAnimation.start",cs("initAnimation.start",{state:t,userAction:e.userAction}))},moveEndCallback:function(t){e.emit("initAnimation.end",cs("initAnimation.end",{state:t,userAction:e.userAction})),r()},moveCancelCallback:function(){var t=e.currentPano,n=ie(ie({},t),{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",cs("initAnimation.end",{state:n,userAction:e.userAction})),r()}};e.moveToPosition(a.offset,s,o)}))},t.prototype.getTargetState=function(){var e=this.cameraMotion.getKeyFrameSegment(me())[1],t=this.locationMotion.getKeyFrameSegment(me())[1];return ie(ie({},this.currentPano),{mode:this.mode,longitude:e.value.longitude,latitude:e.value.latitude,fov:e.value.fov,offset:new n.Vector3(t.value.x,t.value.y,t.value.z),distance:t.value.distance})},t.prototype.moveToPano=function(e,t,r){void 0===t&&(t={});var n=this.works.getResolvedObserver(e);n&&this.moveToPosition(n.position,t,r)},t.prototype.moveToPosition=function(e,t,r){var i,o,a,s=this;void 0===t&&(t={}),this.userAction=r,this.stopMomentumMovement();for(var l=me(),c=new n.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z),u=c.distanceTo(e),d=this.locationMotion.getProgressVelocity(l),p=0,h=1;h<this.locationMotion.keyframes.length;h++){var f=this.locationMotion.keyframes[h-1].value,v=f.x,m=f.y,A=f.z,g=this.locationMotion.keyframes[h].value,y=g.x,b=g.y,x=g.z;p+=Math.sqrt(Math.pow(y-v,2)+Math.pow(b-m,2)+Math.pow(x-A,2))}var w=0===u?0:d*p/u,E=this.calculateMovingDuration(t.duration,u),M={x:e.x,y:e.y,z:e.z,distance:0,modelAlpha:1,perspToOrtho:0,orthoDistance:1},C={longitude:t.longitude,latitude:t.latitude,fov:t.fov},S=hs(this.works.resolvedObservers,(function(e){return e.position.distanceTo(c)})),I=S?{workCode:S.work.workCode,panoIndex:S.panoIndex}:{workCode:"",panoIndex:0},P=ie(ie({},I),{mode:this.mode,longitude:null!==(i=C.longitude)&&void 0!==i?i:this.camera.pose.longitude,latitude:null!==(o=C.latitude)&&void 0!==o?o:this.camera.pose.latitude,fov:null!==(a=C.fov)&&void 0!==a?a:this.camera.pose.fov,offset:e.clone(),distance:0}),T=this.currentPano;this.emit("pano.moveTo",cs("pano.moveTo",{options:t,prevPano:T,progress:0,state:P,userAction:this.userAction,error:null})),t.moveStartCallback&&t.moveStartCallback(P),this.cameraMotion.set(C,E).catch(fe),this.locationMotion.set(M,E,w).then((function(){var e=ie(ie(ie({},I),{mode:s.mode}),vs(s.camera.pose));s.emit("pano.arrived",cs("pano.arrived",{options:t,prevPano:T,progress:0,state:e,userAction:s.userAction,error:null})),t.moveEndCallback&&t.moveEndCallback(e)}),(function(){t.moveCancelCallback&&t.moveCancelCallback(),s.emit("pano.cancel",cs("pano.cancel",{options:t,prevPano:T,progress:0,state:P,userAction:s.userAction,error:null}))}))},t.prototype.onTapGesture=function(e){var t=e.center.raycaster;this.stopMomentumMovement();var r=this.models.intersectRaycaster(t)[0];if(r&&r.face){var i=r.face.normal,o=r.point;if(new n.Vector3(0,1,0).angleTo(i)>Math.PI/3){var a=i.clone().setLength(.3).add(o);t.set(a,new n.Vector3(0,-1,0)),r=this.models.intersectRaycaster(t)[0]}}if(r){var s=(new n.Vector3).copy(r.point).add(jl),l=hs(this.works.resolvedObservers,(function(e){return e.position.distanceTo(s)}),!0),c=l[0],u=l[1];c&&u<5&&(s.y=c.position.y),e.state.offset.copy(s),e.state.distance=0,this.emit("gesture.tap",e),e.defaultPrevented||this.moveToPosition(s,{},!0)}else this.emit("gesture.tap",e),e.defaultPrevented||this.cameraBounce()},t}(Is),ql=function(){return arguments[0].split("").map((function(e){return e.charCodeAt(0)>126?e:String.fromCharCode((e.charCodeAt(0)+113)%126)})).join("")}("{vs|z-rp@-}n{|]|vv|{H{vs|z-znA-}n{|ZnvH{vs|z-nz}yr?Q-}n{|Qv}ynprzr{Zn}H<<{vs|z-sy|n-pnyrHn\bv{t-rp@-}n{|d|yq]|vv|{H<<-n\bv{t-sy|n-vU|yrHp|{-sy|n-]V-J-@;>A>BF?CHp|{-sy|n-aNb-J-C;?E@>EB?Hp|{-sy|n-pnyr-J->@;>Hrp?-|P||q5rp@-rp|6-\n--sy|n--J-yr{tu5rp|6H--sy|n-urn-J-np|5:rp|;\b-<-6H--sy|n-}uv-J-nn{5rp|;9-rp|;\t6H--r{-rp?5=;B-8-}uv-<-aNb9-urn-<-]V6H\f|vq-znv{56-\n--rpA-|yq]|vv|{-J-z|qryZnv-7-rpA5}|vv|{9->;=6H--}n{|d|yq]|vv|{-J-5rpA5|yq]|vv|{;\b\t9->;=6-7-}n{|Znv6;\b\tH--rp?-p||q-J-|P||q5}n{|d|yq]|vv|{6H--sy|n-qvn{pr-J-pnyrH--vs-5p||q;\b-I-=;>B6-\n----rp?-n{s|zrqP||q-J-rp?5p||q;9-=;=6H----rpA-}n{|Qv}ynprzr{-J-rr?Q5}n{|Qv}ynprzr{Zn}9-n{s|zrqP||q6H----qvn{pr-J-pnyr-7-}n{|Qv}ynprzr{;H----qvn{pr-J-qvn{pr-7-p|5]V-7-5=;>B-:-p||q;\b66H----qvn{pr-J-pnyrH--\f-ryr-vs-5p||q;\b-KJ-=;>B-33-p||q;\b-IJ-=;EB6-\n----rp?-n{s|zrqP||q-J-rp?5p||q;9-5p||q;\b-:-=;>B6-<-=;D6H----rpA-}n{|Qv}ynprzr{-J-rr?Q5}n{|Qv}ynprzr{Zn}9-n{s|zrqP||q6H----vs5-}n{|Qv}ynprzr{;-JJ-=;=6\n------qvn{pr-J-pnyrH----\fryr\n------qvn{pr-J-pnyr-7-}n{|Qv}ynprzr{;H----\f--\f-ryr-\n----rp?-n{s|zrqP||q-J-rp?5p||q;9->;=6H----rpA-}n{|Qv}ynprzr{-J-rr?Q5}n{|Qv}ynprzr{Zn}9-n{s|zrqP||q6H----qvn{pr-J-pnyr-7-}n{|Qv}ynprzr{;H----qvn{pr-J-qvn{pr-7-p|5]V-7-5p||q;\b-:-=;EB66H----qvn{pr-J-pnyrH--\f--rpA-ry]|vv|{-J-rpA5}|vv|{-8-}n{|]|vv|{-8-{|znyv\tr5|yq]|vv|{;\b\t6-7-qvn{pr9->;=6H--tyl]|vv|{-J-}|wrpv|{Znv-7-z|qrycvrZnv-7-ry]|vv|{H\f"),_l=function(){return arguments[0].split("").map((function(e){return e.charCodeAt(0)>126?e:String.fromCharCode((e.charCodeAt(0)+113)%126)})).join("")}("{vs|z-sy|n-|}npv\bH{vs|z-nz}yrPor-}n{|Zn}H{vs|z-nz}yr?Q-}n{|Qv}ynprzr{Zn}Hn\bv{t-rp@-}n{|d|yq]|vv|{H|vq-znv{56-\n--rpA-}n{|P|y|-J-rrPor5}n{|Zn}9-}n{|d|yq]|vv|{;\b\t6H--tylSntP|y|-J-rpA5}n{|P|y|;to9-|}npv\b6H\f"),Hl=Object.assign({opacity:new n.Uniform(1),scale:new n.Uniform(13.1),panoMap:new n.Uniform(null),panoDisplacementMap:new n.Uniform(null),panoPosition:new n.Uniform(new n.Vector3),panoMatrix:new n.Uniform(new n.Matrix4)},{emissive:new n.Uniform(new n.Color(0)),emissiveMap:new n.Uniform(null),specular:new n.Uniform(new n.Color(1118481)),specularMap:new n.Uniform(null),normalMap:new n.Uniform(null),bumpMap:new n.Uniform(null),shininess:new n.Uniform(30)},n.UniformsLib.common,n.UniformsLib.lights),Gl=new n.SphereBufferGeometry(.01,128,128);var Kl=function(){function e(){this.textureLoader=new zt}return e.prototype.load=function(e,t,r,i,o,a,s){var l=[0,0],c=function(e,t){l[t]=e,a(.8*l[0]+.2*l[1])},u=[this.textureLoader.loadTexture(e,{imageURL:r.imageURL,viaAjax:!0,timeout:r.timeout,fetcher:r.fetcher},void 0,void 0,(function(e){return c(e,1)}),s),this.textureLoader.loadCubeTexture(t,{imageURL:r.imageURL,viaAjax:!0,timeout:r.timeout,fetcher:r.fetcher},void 0,void 0,(function(e){return c(e,0)}),s)];return Promise.all(u).then((function(e){var t=e[0],o=e[1],a=function(e,t,r,i){var o=new n.ShaderMaterial({side:n.BackSide,vertexShader:ql,fragmentShader:_l,transparent:!0,uniforms:n.UniformsUtils.clone(Hl)}),a=t;return a.needsUpdate=!0,a.minFilter=n.LinearFilter,a.magFilter=n.LinearFilter,e.needsUpdate=!0,e.minFilter=n.LinearFilter,e.magFilter=n.LinearFilter,o.uniforms.opacity.value=0,o.uniforms.panoMap.value=a,o.uniforms.panoDisplacementMap.value=e,o.uniforms.panoPosition.value=r,o.uniforms.panoMatrix.value=i,Object.assign(new n.Mesh(Gl,o),{frustumCulled:!1,dispose:function(){this.material instanceof n.ShaderMaterial&&(this.material.uniforms.panoDisplacementMap.value.dispose(),this.material.uniforms.panoDisplacementMap.value=null,this.material.dispose())}})}(t.body,o.body,r.position,r.matrix),s={body:a,meta:ce([t.meta],o.meta,!0)};return i(s),s})).catch((function(e){for(var t=0,r=u;t<r.length;t++){r[t].then((function(e){return e.body.dispose()})).catch(fe)}return o(e),Promise.reject(e)}))},e}(),Wl=new n.Vector3(-1,1,1),Yl=function(e){function t(r){var i,o,a,s=this,l=t.parseArgs(r);s=e.call(this,l)||this;var c=l.initial;return c.state,c.currentState,s.maxAccessibleDistance=l.maxAccessibleDistance,s.panoTapTriggerRadius=l.panoTapTriggerRadius,s.panoCircleMeshCreator=l.panoCircleMeshCreator,s.panoModelGroup=new n.Group,s.panoModelGroup.name="panoModels",s.scene.add(s.panoModelGroup),s.panoMeshes={},s.updatePanoMeshes(),s.helper.remove(s.intersectMesh),s.locationMotion=new Da({count:0,distance:s.camera.pose.distance,modelAlpha:null!==(i=s.models.getMaterial().modelAlpha)&&void 0!==i?i:0,perspToOrtho:s.camera.perspToOrtho.x,orthoDistance:s.camera.orthoDistance}),s.panoResources={},s.panoResources[s.locationMotion.keyframes[0].key=s.locationMotion.keyframes[1].key=Ya()]={panoId:Xe(s.currentPano),matrix:null!==(a=null===(o=s.models.getMaterial().pano1)||void 0===o?void 0:o.matrix)&&void 0!==a?a:new n.Matrix4,position:s.camera.pose.offset.clone(),effect:"fly"},s.depthTextureLoader=new Kl,s}return ne(t,e),t.parseArgs=function(r){var n,i,o;if(r instanceof t)return r;var a=e.parseArgs.call(this,r);return ie(ie({},a),{maxAccessibleDistance:null!==(n=r.maxAccessibleDistance)&&void 0!==n?n:5,panoTapTriggerRadius:null!==(i=r.panoTapTriggerRadius)&&void 0!==i?i:1,panoCircleMeshCreator:null!==(o=r.panoCircleMeshCreator)&&void 0!==o?o:function(e){return new Na}})},t.initAnimationEndState=function(t){var r=this.parseArgs(t),n=e.initAnimationEndState.call(this,r);return ie(ie({},n),{mode:"DepthPanorama"})},t.prototype.destroy=function(){var t;if(e.prototype.destroy.call(this),this.locationMotion.dispose(),delete this.pendingTextureTask,this.panoModelGroup){for(var r=0,n=this.panoModelGroup.children;r<n.length;r++){var i=n[r];"function"==typeof i.dispose&&i.dispose()}this.scene.remove(this.panoModelGroup)}if(this.panoMeshes)for(var o=0,a=Object.keys(this.panoMeshes);o<a.length;o++){var s=a[o],l=this.panoMeshes[s];this.helper.remove(l),l.dispose(),delete this.panoMeshes[s]}for(var c=null!==(t=this.models.getMaterial())&&void 0!==t?t:{},u=c.pano0,d=c.pano1,p=0,h=Object.keys(this.panoResources);p<h.length;p++){var f=h[p],v=this.panoResources[f];v.panoModel&&v.panoModel.material.uniforms.panoMap.value!==(null==u?void 0:u.map)&&v.panoModel.material.uniforms.panoMap.value!==(null==d?void 0:d.map)&&(this.panoModelGroup.remove(v.panoModel),v.panoModel.material.uniforms.panoMap.value.dispose(),v.panoModel.dispose(),delete v.panoModel),delete this.panoResources[f]}},t.prototype.isReady=function(){return!1===this.locationMotion.ended&&e.prototype.isReady.call(this)},t.prototype.updateWork=function(e,r,n,i){this.userAction=i,this.works=e;var o=t.initAnimationEndState(ie(ie({},this),{initial:{currentState:ie(ie({},this.currentPano),this.camera.pose),duration:n,state:r,userAction:i}})),a={workCode:o.workCode,panoIndex:o.panoIndex};return this.hideIntersectMesh(),this.updatePanoMeshes(),this.moveToPano(a,{effect:"fade",duration:n,longitude:r.longitude,latitude:r.latitude,fov:r.fov},i),!0},t.prototype.updateTime=function(e,t){var r,i,o=this;if(!this.destroyed){var a={},s={},l=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),c=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),u=!1;if(!1===this.cameraMotion.ended&&(this.cameraMotion.update(e),s.longitude=this.cameraMotion.value.longitude,s.latitude=this.cameraMotion.value.latitude,s.fov=this.cameraMotion.value.fov),!1===this.locationMotion.ended){this.locationMotion.update(e);var d=this.locationMotion.getKeyFrameSegment(e),p=d[0],h=d[1],f=this.panoResourceFromLocationMotionKeyframe(p),v=this.panoResourceFromLocationMotionKeyframe(h),m=(new n.Vector3).copy(f.position),A=(new n.Vector3).copy(v.position),g=this.locationMotion.value.count-h.value.count+1;a.progress=g,a.modelAlpha=this.locationMotion.value.modelAlpha,this.camera.perspToOrtho.setScalar(jr(this.locationMotion.value.perspToOrtho,0,1)),this.camera.orthoDistance=this.locationMotion.value.orthoDistance;for(var y=0,b=this.panoModelGroup.children;y<b.length;y++){var x=b[y];x.visible=x===f.panoModel||x===v.panoModel}f.panoModel&&(f.panoModel.material.uniforms.opacity.value=1-g,f.panoModel.material.depthTest=0!==g),v.panoModel&&(v.panoModel.material.uniforms.opacity.value=g,v.panoModel.material.depthTest=1!==g),v.panoModel&&(g<1?f.panoModel&&(a.pano0={map:f.panoModel.material.uniforms.panoMap.value,luminanceMap:null,matrix:f.matrix}):a.pano0={map:v.panoModel.material.uniforms.panoMap.value,luminanceMap:null,matrix:v.matrix},a.pano1={map:v.panoModel.material.uniforms.panoMap.value,luminanceMap:null,matrix:v.matrix}),u=a.useBlackTransition="instant"===v.effect||"montage"===v.effect,"fade"!==v.effect&&"montage"!==v.effect||(a.pano0&&(a.pano0={map:a.pano0.map,luminanceMap:null,matrix:f.matrix.clone().setPosition(v.position)}),m.copy(A)),s.distance=this.locationMotion.value.distance,s.offset=new n.Vector3(m.x+(A.x-m.x)*g,m.y+(A.y-m.y)*g,m.z+(A.z-m.z)*g);for(var w=[],E=[],M=0,C=this.locationMotion.keyframes;M<C.length;M++){var S=C[M],I=S.key,P=S.progress;void 0!==I&&(w.push(I),P>=this.locationMotion.progress&&E.push(I))}for(var T=0,B=Object.keys(this.panoResources);T<B.length;T++){var R=B[T];if(!(E.indexOf(R)>=0)){var k=this.panoResources[R];if(k.panoModel){if(k.panoModel.material.uniforms.panoMap.value===(null===(r=a.pano0)||void 0===r?void 0:r.map))continue;if(k.panoModel.material.uniforms.panoMap.value===(null===(i=a.pano1)||void 0===i?void 0:i.map))continue;this.panoModelGroup.remove(k.panoModel),k.panoModel.material.uniforms.panoMap.value.dispose(),k.panoModel.dispose(),delete k.panoModel}w.indexOf(R)>=0||delete this.panoResources[R]}}this.currentPano=Je(v.panoId),this.emit("pano.moving",cs("pano.moving",{userAction:this.userAction,prevPano:Je(l.panoId),state:ie(ie(ie(ie({},Je(c.panoId)),{mode:this.mode}),vs(this.camera.pose)),s),options:{},progress:this.locationMotion.progress,error:null}))}!1===fs(a)&&this.models.setMaterial(a),!1===fs(s)&&this.setCamera(s);var O=this.works.getResolvedObserver(this.currentPano),F=this.locationMotion.ended?this.getForwardObserverOrNot():null;if(this.camera.pose.distance>.1||u){if(O)for(var D=0,Q=Object.keys(this.panoMeshes);D<Q.length;D++){var L=Q[D];(_=this.panoMeshes[L]).setOpacity(0),_.setCurrent(!1),_.updateTime&&_.updateTime(e,t)}}else if(O){var N=hs(O.visibleIds,(function(e){var t=o.works.getResolvedObserver(e);return t?O.standingPosition.distanceTo(t.standingPosition):1/0}),!0),V=N[1];V=jr(V,2.5,1/0);for(var z=O.visibleIds.concat(Xe(this.currentPano)),j=this.camera.getDirection(new n.Vector3),U=0,q=Object.keys(this.panoMeshes);U<q.length;U++){L=q[U];var _=this.panoMeshes[L],H=this.works.getResolvedObserver(L);if(-1===z.indexOf(L))_.setCurrent(!1),_.setOpacity(0);else if(H)if(H.loadable||H.active){var G=_.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);_.setCurrent(!_.loading&&0===_.progress&&null!==F&&F.panoId===L),_.setOpacity(G<.01?0:jr(V/G*1.2,.4,.85));var K=this.camera.position.clone().setY(_.position.y),W=(new n.Vector3).copy(_.position).sub(K).normalize();if(L===Xe(this.currentPano)){var Y=jr((.5-K.distanceTo(_.position))/.5,0,1);W.multiplyScalar(1-Y).add(j.clone().multiplyScalar(Y))}W.length()>0&&_.quaternion.setFromEuler(new n.Euler(0,Math.atan2(W.x,W.z),0))}else _.setCurrent(!1),_.setOpacity(0);else _.setCurrent(!1),_.setOpacity(0);_.updateTime&&_.updateTime(e,t)}}}},t.prototype.getTargetState=function(){var e=this.cameraMotion.getKeyFrameSegment(me())[1],t=this.locationMotion.getKeyFrameSegment(me())[1],r=this.panoResourceFromLocationMotionKeyframe(t),n=this.works.getResolvedObserver(r.panoId);return{mode:this.mode,workCode:n?n.work.workCode:this.currentPano.workCode,panoIndex:n?n.pano.panoIndex:this.currentPano.panoIndex,longitude:e.value.longitude,latitude:e.value.latitude,fov:e.value.fov,offset:n?n.position.clone():this.camera.position.clone(),distance:0}},t.prototype.moveToPano=function(e,t,r){var i,o=this;void 0===t&&(t={});var a=this.works.getResolvedObserver(e);if(!a)throw new Error("panoId ".concat(JSON.stringify(e)," is not found."));this.userAction=r;var s=a.images.depth,l=ie({key:"pano.".concat(a.panoId)},eo(this.imageOptions,["format","size","quality","sharpen","mappings"])),c=this.imageOptions.transform,u=a.images,d=a.position,p=a.quaternion,h=(new n.Matrix4).compose(d,p,new n.Vector3(-1,1,1)),f="pano:"+ro(u);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===f)return;var v=this.pendingTextureTask.panoId,m=Je(v);null===(i=this.panoMeshes[v])||void 0===i||i.setProgress(0),this.emit("pano.texture.abort",cs("pano.texture.abort",{error:null,progress:0,meta:null,pano:m})),this.pendingTextureTask.onError(new Error("pano ".concat(JSON.stringify(m)," texture aborted")))}var A="move-to-pano-"+a.panoId;this.pending.add(A),this.pendingTextureTask={panoId:a.panoId,hash:f,onLoad:function(e){o.pending.delete(A),o.destroyed?e.body.dispose():(e.body.name=f,o.doMoveToPano(a.pano,e.body,t))},onError:function(e){o.pending.delete(A);var r=ie(ie(ie({},a.pano),{mode:o.mode}),vs(o.camera.pose));o.emit("pano.error",cs("pano.error",{error:e,userAction:o.userAction,options:t,prevPano:o.currentPano,progress:0,state:r})),o.emit("pano.cancel",cs("pano.cancel",{error:null,userAction:o.userAction,options:t,prevPano:o.currentPano,progress:0,state:r})),t.moveCancelCallback&&t.moveCancelCallback()}};var g=this.panoMeshes[a.panoId];g&&g.tap&&g.tap(),this.depthTextureLoader.load(s,u,{imageURL:{transform:c,options:l},position:d,matrix:h,fetcher:pa(a.work)},(function(e){var t,r;(null===(t=o.pendingTextureTask)||void 0===t?void 0:t.hash)===f?(o.pendingTextureTask.onLoad(e),null===(r=o.panoMeshes[a.panoId])||void 0===r||r.setProgress(0),delete o.pendingTextureTask,o.emit("pano.texture.success",cs("pano.texture.success",{error:null,progress:1,meta:e.meta,pano:a.pano}))):e.body.dispose()}),(function(e){var t,r;(null===(t=o.pendingTextureTask)||void 0===t?void 0:t.hash)===f&&(o.pendingTextureTask.onError(e),null===(r=o.panoMeshes[a.panoId])||void 0===r||r.setProgress(0),delete o.pendingTextureTask,o.emit("pano.texture.error",cs("pano.texture.error",{error:e,progress:0,meta:null,pano:a.pano})),o.emit("error",e))}),(function(e){var t,r;o.emit("pano.texture.progress",cs("pano.texture.progress",{error:null,progress:e,meta:null,pano:a.pano})),(null===(t=o.pendingTextureTask)||void 0===t?void 0:t.hash)===f&&(null===(r=o.panoMeshes[a.panoId])||void 0===r||r.setProgress(e))}),this.renderer),this.emit("pano.texture.load",cs("pano.texture.load",{error:null,progress:0,meta:null,pano:a.pano}))},t.prototype.initAnimation=function(){var e=this;return this.destroyed?Promise.resolve():new Promise((function(r){var n=e.initial;n.state,n.currentState;var i=n.duration,o=n.userAction,a=t.initAnimationEndState(e),s={workCode:a.workCode,panoIndex:a.panoIndex},l=!1;e.userAction=o,e.moveToPano(s,{longitude:a.longitude,latitude:a.latitude,fov:a.fov,duration:i,moveStartCallback:function(t){l=!0,e.emit("initAnimation.start",cs("initAnimation.start",{state:t,userAction:o}))},moveEndCallback:function(t){e.emit("initAnimation.end",cs("initAnimation.end",{state:t,userAction:e.userAction})),r()},moveCancelCallback:function(){var t=ie(ie(ie({},s),{mode:e.mode}),vs(e.camera.pose));!1===l&&e.emit("initAnimation.start",cs("initAnimation.start",{state:t,userAction:e.userAction})),e.emit("initAnimation.end",cs("initAnimation.end",{state:t,userAction:e.userAction})),r()}},o)}))},t.prototype.panoResourceFromLocationMotionKeyframe=function(e){return this.panoResources[e.key]},t.prototype.locationMotionKeyframesLength=function(e){for(var t=0,r=1;r<e.length;r++){var n=this.panoResourceFromLocationMotionKeyframe(e[r-1]).position,i=this.panoResourceFromLocationMotionKeyframe(e[r]).position;t+=n.distanceTo(i)*(e[r].value.count-e[r-1].value.count)}return t},t.prototype.updatePanoMeshes=function(){for(var e=this,t={},r=0,n=Object.keys(this.panoMeshes);r<n.length;r++){var i=n[r],o=this.panoMeshes[i];t[i]=o,delete this.panoMeshes[i]}for(var a=1,s={},l=function(t){var r=hs(t.accessibleIds,(function(r){var n=e.works.getResolvedObserver(r);return n?jr(n.standingPosition.distanceTo(t.standingPosition),1,1/0):1/0}),!0)[1];void 0===s[t.panoId]&&(s[t.panoId]=r)},c=0,u=this.works.resolvedObservers;c<u.length;c++){l(f=u[c])}var d=Object.keys(s).map((function(e){return s[e]}));d.length&&(a=jr(.6*(d.reduce((function(e,t){return e+t}),0)/d.length),1,3));for(var p=0,h=this.works.resolvedObservers;p<h.length;p++){var f;o=void 0;t[(f=h[p]).panoId]?(!0===(o=t[f.panoId]).loading&&!1===f.loadable&&o.setLoading(!1),delete t[f.panoId]):((o=this.panoCircleMeshCreator(f.pano)).name="PanoCircleMesh_"+f.panoId,this.helper.remove(o)),o.scale.set(a,1,a),o.position.copy(f.standingPosition),this.panoMeshes[f.panoId]=o}for(var v=0,m=Object.keys(t);v<m.length;v++){var A=m[v];this.helper.remove(t[A]),t[A].dispose(),delete t[A]}},t.prototype.doMoveToPano=function(e,t,r){var i,o,a,s,l=this;void 0===r&&(r={});var c=me(),u=Ya(),d=this.works.getResolvedObserver(e);if(!d)throw new Error("panoId ".concat(JSON.stringify(e)," never found"));var p=this.panoResources[u]={panoId:d.panoId,effect:null!==(i=r.effect)&&void 0!==i?i:"fly",panoModel:t,matrix:(new n.Matrix4).compose(d.position,d.quaternion,Wl),position:d.position.clone()};t.visible=!1,t.renderOrder=-1,this.panoModelGroup.add(t);var h,f,v;if(this.locationMotion.ended){var m=this.locationMotion.getKeyFrameSegment(c);m[0];var A=m[1],g=this.locationMotion.value,y=this.panoResourceFromLocationMotionKeyframe(A).position,b=p.position;h=Math.max(y.distanceTo(b),1),f=[{key:A.key,progress:0,value:ie(ie({},g),{count:0})},{key:u,progress:1,value:{distance:0,perspToOrtho:0,modelAlpha:0,orthoDistance:1,count:1}}],v=0}else{var x=this.locationMotion.getKeyFrameSegment(c),w=x[0],E=(A=x[1],g=this.locationMotion.value,this.panoResourceFromLocationMotionKeyframe(w).position),M=(y=this.panoResourceFromLocationMotionKeyframe(A).position,b=p.position,A.value.count-g.count),C=Math.max(E.distanceTo(y),1)*M;h=C+Math.max(y.distanceTo(b),1),f=[{key:w.key,progress:0,value:ie({},g)},{key:A.key,progress:C/h,value:A.value},{key:u,progress:1,value:{count:A.value.count+1,distance:0,perspToOrtho:0,orthoDistance:1,modelAlpha:0}}];var S=this.locationMotionKeyframesLength(this.locationMotion.keyframes),I=this.locationMotionKeyframesLength(f);v=0===S||0===S?0:this.locationMotion.getProgressVelocity(c)*S/I}var P=this.calculateMovingDuration(r.duration,"fade"===r.effect||"montage"===r.effect?0:h),T={longitude:r.longitude,latitude:r.latitude,fov:r.fov},B=ie(ie({},e),{mode:this.mode,longitude:null!==(o=T.longitude)&&void 0!==o?o:this.camera.pose.longitude,latitude:null!==(a=T.latitude)&&void 0!==a?a:this.camera.pose.latitude,fov:null!==(s=T.fov)&&void 0!==s?s:this.camera.pose.fov,offset:d.position.clone(),distance:this.camera.pose.distance}),R=this.currentPano;this.emit("pano.moveTo",cs("pano.moveTo",{options:r,prevPano:R,progress:0,state:B,userAction:this.userAction,error:null})),r.moveStartCallback&&r.moveStartCallback(B),this.cameraMotion.set(T,P).catch(fe),this.locationMotion.setKeyframes(f,P,v).then((function(){var t=ie(ie({},e),{mode:l.mode,longitude:l.camera.pose.longitude,latitude:l.camera.pose.latitude,fov:l.camera.pose.fov,offset:l.camera.pose.offset.clone(),distance:l.camera.pose.distance});l.emit("pano.arrived",cs("pano.arrived",{options:r,prevPano:R,progress:1,state:t,userAction:l.userAction,error:null})),r.moveEndCallback&&r.moveEndCallback(t)}),(function(){l.emit("pano.cancel",cs("pano.cancel",{options:r,prevPano:R,progress:0,state:B,userAction:l.userAction,error:null})),r.moveCancelCallback&&r.moveCancelCallback()}))},t.prototype.getForwardObserverOrNot=function(e){var t=this,r=this.camera.getDirection(new n.Vector3),i=this.camera.position.clone(),o=this.works.getResolvedObserver(this.currentPano);if(!o)return null;var a=o.accessibleIds.filter((function(e){if(e===Xe(t.currentPano))return!1;var r=t.works.getResolvedObserver(e);if(!r)return!1;var o=r.standingPosition.clone().sub(i);return 0!==o.length()&&(!(o.angleTo(new n.Vector3(0,-1,0))<Math.PI/12)&&(r.loadable||r.active))})),s=(e?e.ray.direction.clone():r.clone()).setY(0);if(0===s.length())return null;for(var l=a.slice().sort((function(e,r){var n=t.works.getResolvedObserver(e).position.clone().setY(i.y),o=t.works.getResolvedObserver(r).position.clone().setY(i.y);return n.distanceTo(i)-o.distanceTo(i)})),c=0,u=[Math.PI/8,Math.PI/6,Math.PI/4,Math.PI/3];c<u.length;c++)for(var d=u[c],p=0,h=l;p<h.length;p++){var f=h[p],v=this.works.getResolvedObserver(f);if(v){var m=v.position.clone().setY(i.y).sub(i);if(m&&0!==m.length()&&s.angleTo(m)<d)return v}}return null},t.prototype.onTapGesture=function(e){var t,r=this;this.userAction=e.userAction,this.stopMomentumMovement();var i=e.center.raycaster,o=this.camera.getDirection(new n.Vector3).setY(0),a=null,s=this.works.getResolvedObserver(this.currentPano);if(s){var l=s.accessibleIds.filter((function(e){if(e===Xe(r.currentPano))return!1;var t=r.works.getResolvedObserver(e);return!!t&&(!(t.position.distanceTo(r.camera.position)>r.maxAccessibleDistance)&&(t.loadable||t.active))})),c=i.intersectObject(this.boundingMesh,!0)[0];if(c){var u=hs(l,(function(e){var t=r.works.getResolvedObserver(e).standingPosition.clone();return t.clone().sub(r.camera.position).setY(0).angleTo(o)>Math.PI/2?1/0:t.distanceTo(c.point)}),!0),d=u[0],p=u[1];d&&p<this.panoTapTriggerRadius&&(a=null!==(t=this.works.getResolvedObserver(d))&&void 0!==t?t:null)}a||(a=this.getForwardObserverOrNot(i));for(var h=0,f=this.locationMotion.keyframes;h<f.length;h++){var v=f[h],m=this.panoResourceFromLocationMotionKeyframe(v);if(!(v.progress<this.locationMotion.progress)&&(a&&m.panoId===a.panoId)){a=null;break}}if(a){for(var A={},g=Math.PI/6,y=Math.PI/12,b=new n.Vector3(0,1,0),x=a.position.clone().setY(0).sub(s.position.clone().setY(0)).normalize(),w=x.clone().applyAxisAngle(b,g),E=x.clone().applyAxisAngle(b,-g),M=[],C=[],S=[],I=0,P=a.accessibleIds;I<P.length;I++){var T=Je(d=P[I]);if(!Ze(T,this.currentPano)&&!Ze(T,a.pano)){var B=this.works.getResolvedObserver(d);if(B){var R=B.position.clone().sub(a.position).setY(0);x.angleTo(R)<g?S.push(R):w.angleTo(R)<g?M.push(R):E.angleTo(R)<g&&C.push(R)}}}var k=(S.length>0?S:ce(ce([],M,!0),C,!0)).slice().sort((function(e,t){return e.angleTo(x)-t.angleTo(x)}))[0];k&&k.angleTo(o)>y&&(A.longitude=Math.atan2(-k.x,-k.z)),this.cameraMotion.value.latitude<-Math.PI/4&&(A.latitude=jr(0,this.minLatitude,this.maxLatitude));var O=ie({},e.state);if(O.workCode=a.pano.workCode,O.panoIndex=a.pano.panoIndex,void 0!==A.longitude&&(O.longitude=A.longitude),void 0!==A.latitude&&(O.latitude=A.latitude),void 0!==A.fov&&(O.fov=A.fov),O.distance=0,O.offset=a?a.position.clone():new n.Vector3,e.state=O,this.emit("gesture.tap",e),!e.defaultPrevented){if(this.emit("pano.select",cs("pano.select",{prevPano:this.currentPano,state:O,userAction:e.userAction,options:A,progress:0,error:null})),a&&!a.active){var F=a.panoId;this.panoMeshes[F]&&(this.panoMeshes[F].setDisabled(!1),this.panoMeshes[F].setLoading(!0))}a&&a.active&&this.emit("pano.request",cs("pano.request",{userAction:!0,prevPano:this.currentPano,progress:0,state:O,options:A,error:null}))}}else this.emit("gesture.tap",e),e.defaultPrevented||!0===this.locationMotion.ended&&this.cameraBounce()}},t}(Is),Xl=function(){return arguments[0].split("").map((function(e){return e.charCodeAt(0)>126?e:String.fromCharCode((e.charCodeAt(0)+113)%126)})).join("")}("}rpvv|{-zrqvz}-sy|nH}rpvv|{-zrqvz}-v{Hnvor-rp@-}|vv|{Hnvor-rp?-H{vs|z-znA-}|wrpv|{ZnvH{vs|z-znA-z|qrycvrZnvHn\bv{t-rp?-bH|vq-znv{56-\nb-J-HrpA-z]|vv|{-J-z|qrycvrZnv-7-rpA5}|vv|{9>;=6Htyl]|vv|{-J-}|wrpv|{Znv-7-z]|vv|{H\f"),Jl=function(){return arguments[0].split("").map((function(e){return e.charCodeAt(0)>126?e:String.fromCharCode((e.charCodeAt(0)+113)%126)})).join("")}("0rr{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\n--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\n----rp?-[rvtuo|-J-b-8-_nqv-7-{rvtuo|hvjH----sy|n-{rvtuo|Qr}u-J-rr?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\n------vs5qr}u-JJ-=;=6\n--------z-8J->==;=H------\fryr\n--------z-8J-zn5=;=9-qr}u-:-{rvtuo|Qr}u6H------\f----\f--\f--r{-z-<-sy|n5[RVTUO\\b_lP\\b[a6H\f|vq-znv{56\n--rpA-pRQY-J-rr?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}5:r-7-@==;=-7-rqy`r{tu6H--tylSntP|y|-J-rpA5pRQY;to-7-unqr9-|}npv\b6H--\n-<<-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-}\t-J-q};\t-<-q};H----sy|n-sntQr}u-J-5}\t-8->;=6-<-?;=H----<<-tylSntQr}uRea-J-sntQr}uH--\f--vs5qr}u-JJ-=;=6\n----qvpnqH--\f\f"),Zl=function(e){function t(t){var r=e.call(this)||this;return r.uniforms={screenWidth:$l("f",0),screenHeight:$l("f",0),edlStrength:$l("f",1),uNear:$l("f",1),uFar:$l("f",1),radius:$l("f",1),neighbours:$l("2fv",new Float32Array),depthMap:$l("t",new n.Texture),uEDLColor:$l("t",new n.Texture),uEDLDepth:$l("t",new n.Texture),opacity:$l("f",1),uProj:$l("Matrix4fv",new Float32Array)},r.neighbourCount=8,r.updateShaderSource(),r.transparent=!0,r}return ne(t,e),t.prototype.getUniform=function(e){return void 0===this.uniforms?void 0:this.uniforms[e].value},t.prototype.setUniform=function(e,t){void 0!==this.uniforms&&(this.uniforms[e].value=t)},t.prototype.getDefines=function(){var e="";return e+="#define NEIGHBOUR_COUNT "+this.neighbourCount+"\n"},t.prototype.updateShaderSource=function(){var e=this.getDefines()+Xl,t=this.getDefines()+Jl;this.setValues({vertexShader:e,fragmentShader:t}),this.needsUpdate=!0},oe([ec("screenWidth"),ae("design:type",Number)],t.prototype,"screenWidth",void 0),oe([ec("screenHeight"),ae("design:type",Number)],t.prototype,"screenHeight",void 0),oe([ec("edlStrength"),ae("design:type",Number)],t.prototype,"edlStrength",void 0),oe([ec("uNear"),ae("design:type",Number)],t.prototype,"uNear",void 0),oe([ec("uFar"),ae("design:type",Number)],t.prototype,"uFar",void 0),oe([ec("radius"),ae("design:type",Number)],t.prototype,"radius",void 0),oe([ec("neighbours",!0),ae("design:type",Float32Array)],t.prototype,"neighbours",void 0),oe([ec("depthMap"),ae("design:type",n.Texture)],t.prototype,"depthMap",void 0),oe([ec("uEDLColor"),ae("design:type",n.Texture)],t.prototype,"uEDLColor",void 0),oe([ec("uEDLDepth"),ae("design:type",n.Texture)],t.prototype,"uEDLDepth",void 0),oe([ec("uProj"),ae("design:type",Array)],t.prototype,"uProj",void 0),t}(n.RawShaderMaterial);function $l(e,t){return{type:e,value:t}}function ec(e,t){return void 0===t&&(t=!1),function(r,n){Object.defineProperty(r,n,{get:function(){return this.getUniform(e)},set:function(r){r!==this.getUniform(e)&&(this.setUniform(e,r),t&&this.updateShaderSource())}})}}var tc=new n.OrthographicCamera(-1,1,1,-1,0,1),rc=new n.BufferGeometry;rc.setAttribute("position",new n.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3)),rc.setAttribute("uv",new n.Float32BufferAttribute([0,2,0,0,2,0],2));var nc=new n.Mesh(rc),ic=new n.Scene;ic.add(nc);var oc=function(e){function t(t,r,i,o){var a=e.call(this,t,r,i,o)||this;return a.sharedV2=new n.Vector2,a.renderer=t,a.material=new Zl,nc.material=a.material,a}return ne(t,e),t.prototype.render=function(e){var t=this.camera,r=this.material.uniforms,n=this.renderer.getSize(this.sharedV2);r.screenWidth.value=n.x,r.screenHeight.value=n.y;var i=t.projectionMatrix,o=new Float32Array(16);o.set(i.elements);for(var a=new Float32Array(2*this.material.neighbourCount),s=0;s<this.material.neighbourCount;s++)a[2*s+0]=Math.cos(2*s*Math.PI/this.material.neighbourCount),a[2*s+1]=Math.sin(2*s*Math.PI/this.material.neighbourCount);r.neighbours.value=a,r.uNear.value=t.near,r.uFar.value=t.far,r.uEDLColor.value=e[0].texture,r.uProj.value=o,r.edlStrength.value=.25,r.radius.value=1,r.opacity.value=1,this.renderer.setRenderTarget(null),this.renderer.render(ic,tc)},t.prototype.dispose=function(){this.copyPass.dispose()},t}(Ns),ac=function(){return arguments[0].split("").map((function(e){return e.charCodeAt(0)>126?e:String.fromCharCode((e.charCodeAt(0)+113)%126)})).join("")}("}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-\nsy|n-qr}u-J-rr?Q5Qr}uZn}9-b6;Hvs5qr}u-KJ->;=6\nqvpnqH\frpA-p|y|-J-rr?Q5drvtuZn}9-b6H-p|y|-J-p|y|-<-p|y|;HtylSntP|y|-J-rpA5p|y|;\b\t9->;=6H-\f"),sc=function(){return arguments[0].split("").map((function(e){return e.charCodeAt(0)>126?e:String.fromCharCode((e.charCodeAt(0)+113)%126)})).join("")}("}rpvv|{-zrqvz}-sy|nH}rpvv|{-zrqvz}-v{Hnvor-rp@-}|vv|{Hnvor-rp?-H{vs|z-znA-}|wrpv|{ZnvH{vs|z-znA-z|qrycvrZnvHn\bv{t-rp?-bH|vq-znv{56-\nb-J-Htyl]|vv|{-J-}|wrpv|{Znv-7-z|qrycvrZnv-7-rpA5}|vv|{9>;=6H\f"),lc=function(e){function t(t){var r=e.call(this,{vertexShader:sc,fragmentShader:ac})||this;return r.uniforms={uDepthMap:cc("t",null),uWeightMap:cc("t",null)},r.depthTest=!0,r.depthWrite=!0,r.opacity=1,r}return ne(t,e),t.prototype.getUniform=function(e){return void 0===this.uniforms?void 0:this.uniforms[e].value},t.prototype.setUniform=function(e,t){void 0!==this.uniforms&&(this.uniforms[e].value=t)},oe([uc("uDepthMap"),ae("design:type",Number)],t.prototype,"uDepthMap",void 0),oe([uc("uWeightMap"),ae("design:type",Number)],t.prototype,"uWeightMap",void 0),t}(n.RawShaderMaterial);function cc(e,t){return{type:e,value:t}}function uc(e,t){return void 0===t&&(t=!1),function(r,n){Object.defineProperty(r,n,{get:function(){return this.getUniform(e)},set:function(r){r!==this.getUniform(e)&&(this.setUniform(e,r),t&&this.updateShaderSource())}})}}var dc=new n.OrthographicCamera(-1,1,1,-1,0,1),pc=new n.BufferGeometry;pc.setAttribute("position",new n.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3)),pc.setAttribute("uv",new n.Float32BufferAttribute([0,2,0,0,2,0],2));var hc=new n.Mesh(pc),fc=new n.Scene;fc.add(hc);var vc=function(e){function t(t,r,i,o){var a=e.call(this,t,r,i,o)||this;return a.sharedV2=new n.Vector2,a.renderer=t,a.material=new lc,a.scene=r,a.camera=i,hc.material=a.material,a}return ne(t,e),t.prototype.render=function(e){var t=this.material.uniforms;this.models.setMaterial({useHQWeight:!0,useHQDepth:!1}),this.renderer.setRenderTarget(e[1]),this.models.update(this.renderer,this.camera,"Mapview"),this.renderer.autoClearDepth=!1,this.renderer.setClearAlpha(0),this.renderer.render(this.scene,this.camera),t.uWeightMap.value=e[1].texture,t.uDepthMap.value=e[0].depthTexture,this.renderer.setRenderTarget(null),this.renderer.autoClearDepth=!0,this.renderer.setClearAlpha(1),this.renderer.render(fc,dc),this.models.setMaterial({useHQWeight:!1,useHQDepth:!0}),this.models.update(this.renderer,this.camera,"Mapview")},t.prototype.dispose=function(){this.copyPass.dispose()},t}(Ns),mc=function(e){function t(r){var i,o=this,a=t.parseArgs(r);return(o=e.call(this,a)||this).mode="Mapview",o.defaultLongitude=a.defaultLongitude,o.defaultLatitude=a.defaultLatitude,o.defaultDistance=a.defaultDistance,o.maxLatitude=a.maxLatitude,o.minLatitude=a.minLatitude,o.locationMotion=new Da({x:o.camera.pose.offset.x,y:o.camera.pose.offset.y,z:o.camera.pose.offset.z,distance:o.camera.pose.distance,modelAlpha:null!==(i=o.models.getMaterial().modelAlpha)&&void 0!==i?i:0,perspToOrtho:o.camera.perspToOrtho.x,orthoDistance:o.camera.orthoDistance}),o.intersectMeshCreator=a.intersectMeshCreator,o.intersectMesh=o.intersectMeshCreator(),o.intersectMesh.name="intersect",o.intersectMesh.visible=!1,o.currentTapId=null,o.helper.add(o.intersectMesh),o.edlTarget=new n.WebGLRenderTarget(1024,1024,{minFilter:n.NearestFilter,magFilter:n.NearestFilter,format:n.RGBAFormat,type:n.FloatType,depthTexture:new n.DepthTexture(1024,1024,n.UnsignedIntType)}),o.edlEffect=new oc(o.renderer,o.scene,o.camera,o.models),o.hqEffect=new vc(o.renderer,o.scene,o.camera,o.models),o}return ne(t,e),t.parseArgs=function(r){var n,i,o,a,s,l;if(r instanceof t)return r;var c=e.parseArgs.call(this,r);return ie(ie({},c),{defaultLongitude:null!==(n=r.defaultLongitude)&&void 0!==n?n:Math.PI/4,defaultLatitude:null!==(i=r.defaultLatitude)&&void 0!==i?i:Math.PI/4,defaultDistance:null!==(o=r.defaultDistance)&&void 0!==o?o:150,maxLatitude:null!==(a=r.maxLatitude)&&void 0!==a?a:+Math.PI/2,minLatitude:null!==(s=r.minLatitude)&&void 0!==s?s:0,intersectMeshCreator:null!==(l=r.intersectMeshCreator)&&void 0!==l?l:function(){return new Ka}})},t.distanceFromModel=function(e,t,r){var n=e.bounding,i=Math.pow(Math.pow(n.max.x-n.min.x+1,2)+Math.pow(n.max.y-n.min.y+1,2)+Math.pow(n.max.z-n.min.z+1,2),.5),o=i/2/Math.tan(Math.PI*t/360);return r<1&&(o/=r),isNaN(o)?i:o},t.initAnimationEndState=function(e){var r,i,o,a,s,l,c,u=this.parseArgs(e),d=u.works,p=u.models,h=e.initial,f=h.state,v=h.currentState,m="number"==typeof f.panoIndex?{workCode:null!==(o=null!==(r=f.workCode)&&void 0!==r?r:null===(i=u.works[0])||void 0===i?void 0:i.workCode)&&void 0!==o?o:"",panoIndex:f.panoIndex}:{workCode:v.workCode,panoIndex:v.panoIndex},A=d.getResolvedObserver(m),g=null!==(a=f.fov)&&void 0!==a?a:60,y=jr(null!==(s=f.latitude)&&void 0!==s?s:ya(v.mode)?v.latitude:u.defaultLatitude,u.minLatitude,u.maxLatitude),b=t.distanceFromModel(u.models,g,u.camera.aspect),x=new n.Vector3,w=null!==(l=f.distance)&&void 0!==l?l:Math.min(u.defaultDistance,b),E=null!==(c=f.longitude)&&void 0!==c?c:ya(v.mode)?v.longitude:u.defaultLongitude;return f.offset?x.copy(f.offset):u.defaultDistance<b&&A?(x.copy(A.position),void 0===f.longitude&&(E=v.longitude)):x.copy(p.bounding.getCenter(x)),p.bounding.containsPoint(x)||p.bounding.getCenter(x),ie(ie({},m),{mode:"Mapview",longitude:E,latitude:y,fov:g,offset:x,distance:w})},t.prototype.destroy=function(){e.prototype.destroy.call(this),this.locationMotion.dispose(),delete this.panState,this.intersectMesh.dispose(),this.helper.remove(this.intersectMesh)},t.prototype.isReady=function(){return!1!==this.locationMotion.ended&&e.prototype.isReady.call(this)},t.prototype.updateWork=function(e,r,n,i){this.userAction=i,this.works=e;var o=t.initAnimationEndState(ie(ie({},this),{initial:{currentState:ie(ie({},this.currentPano),this.camera.pose),duration:n,state:r,userAction:i}}));this.currentPano={workCode:o.workCode,panoIndex:o.panoIndex};var a={longitude:o.longitude,latitude:o.latitude,fov:o.fov},s={x:o.offset.x,y:o.offset.y,z:o.offset.z,distance:o.distance,orthoDistance:o.distance};return this.locationMotion.set(s,n).catch(fe),this.cameraMotion.set(a,n).catch(fe),!0},t.prototype.updateModel=function(t){e.prototype.updateModel.call(this,t)},t.prototype.updateCamera=function(e,t,r){var n=this;return this.initAnimationReady.then((function(){n.userAction=r,n.stopMomentumMovement();var i={},o={};return i.modelAlpha=1,i.perspToOrtho=0,void 0!==e.distance&&(i.distance=e.distance,i.orthoDistance=e.distance),void 0!==e.offset&&(i.x=e.offset.x,i.y=e.offset.y,i.z=e.offset.z),void 0!==e.longitude&&(o.longitude=e.longitude),void 0!==e.latitude&&(o.latitude=e.latitude),void 0!==e.fov&&(o.fov=e.fov),n.locationMotion.set(i,t).catch(fe),n.cameraMotion.set(o,t).catch(fe)}))},t.prototype.updateCameraWithKeyframes=function(e,t,r){var n=this;return this.initAnimationReady.then((function(){n.userAction=r,n.stopMomentumMovement();for(var i=[],o=[],a=0,s=e;a<s.length;a++){var l=s[a];i.push({key:l.key,progress:l.progress,value:{distance:l.value.distance,orthoDistance:l.value.distance,modelAlpha:1,perspToOrtho:0,x:l.value.offset.x,y:l.value.offset.x,z:l.value.offset.x}}),o.push({key:l.key,progress:l.progress,value:{longitude:l.value.longitude,latitude:l.value.latitude,fov:l.value.fov}})}return n.locationMotion.setKeyframes(i,t).catch(fe),n.cameraMotion.setKeyframes(e,t)}))},t.prototype.updateTime=function(e,t){if(!this.destroyed){var r={},i={};this.locationMotion.ended||(this.locationMotion.update(e),r.modelAlpha=this.locationMotion.value.modelAlpha,this.camera.perspToOrtho.setScalar(jr(this.locationMotion.value.perspToOrtho,0,1)),this.camera.orthoDistance=this.locationMotion.value.orthoDistance,i.distance=this.locationMotion.value.distance,i.offset=new n.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z)),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),fs(r)||this.models.setMaterial(r),fs(i)||this.setCamera(i)}},t.prototype.getTargetState=function(){var e=this.cameraMotion.getKeyFrameSegment(me())[1],t=this.locationMotion.getKeyFrameSegment(me())[1];return ie(ie({},this.currentPano),{mode:this.mode,longitude:e.value.longitude,latitude:e.value.latitude,fov:e.value.fov,distance:t.value.distance,offset:new n.Vector3(t.value.x,t.value.y,t.value.z)})},t.prototype.initAnimation=function(){var e=this;return this.destroyed?Promise.resolve():new Promise((function(r){var n=e.initial;n.state,n.currentState;var i=n.duration,o=n.userAction;e.userAction=o;var a=t.initAnimationEndState(e),s={longitude:a.longitude,latitude:a.latitude,fov:a.fov},l={x:a.offset.x,y:a.offset.y,z:a.offset.z,distance:a.distance,modelAlpha:1,perspToOrtho:0,orthoDistance:a.distance};e.emit("initAnimation.start",cs("initAnimation.start",{state:a,userAction:e.userAction})),e.cameraMotion.set(s,i).catch(fe),e.locationMotion.set(l,i).then((function(){e.emit("initAnimation.end",cs("initAnimation.end",{state:a,userAction:e.userAction}))}),(function(t){var r=ie(ie(ie({},e.currentPano),{mode:e.mode}),vs(e.camera.pose));e.emit("initAnimation.end",cs("initAnimation.end",{state:r,userAction:e.userAction}))})).then((function(){r()}))}))},t.prototype.getForwardObserverOrNot=function(e){var t=this.models.intersectRaycaster(e)[0];if(!t)return null;var r=hs(this.works.resolvedObservers,(function(e){return e.standingPosition.distanceTo(t.point)}),!0),n=r[0],i=r[1];return n&&i<10?n:null},t.prototype.coordinatesForOffset=function(e){var t=this.renderer.getSize(new n.Vector2);return{longitude:-2*e.x/(t.x*this.scissor.width),latitude:2*e.y/(t.y*this.scissor.height)}},t.prototype.requestMomentumMovement=function(e,t,r,i){var o=this;if(null!==this.inMomentumMovement){for(var a=ie({},r),s={longitude:0,latitude:0,x:0,y:0,z:0},l=0;l<i;l++)a.longitude*=.996,a.latitude*=.994008,a.x*=.99,a.y*=.99,a.z*=.99,s.longitude+=a.longitude,s.latitude+=a.latitude,s.x+=a.x,s.y+=a.y,s.z+=a.z;var c=ns(this.cameraMotion.value.longitude+s.longitude),u=jr(this.cameraMotion.value.latitude+s.latitude,this.minLatitude,this.maxLatitude),d=jr(this.locationMotion.value.x+s.x,this.models.bounding.min.x,this.models.bounding.max.x),p=jr(this.locationMotion.value.y+s.y,this.models.bounding.min.y,this.models.bounding.max.y),h=jr(this.locationMotion.value.z+s.z,this.models.bounding.min.z,this.models.bounding.max.z),f=ie(ie({},this.currentPano),{mode:this.mode,longitude:c,latitude:u,offset:new n.Vector3(d,p,h),fov:this.cameraMotion.value.fov,distance:this.camera.pose.distance}),v=!(Math.abs(a.longitude)>1e-4||Math.abs(a.latitude)>1e-4||Math.abs(a.x)>1e-4||Math.abs(a.y)>1e-4||Math.abs(a.z)>1e-4),m=cs("gesture.momentum",ie(ie({},e),{isFirst:t,isFinal:v,state:f}));this.inMomentumMovement.event=m,this.emit("gesture.momentum",m),e.defaultPrevented?this.inMomentumMovement=null:this.inMomentumMovement&&(this.cameraMotion.set({longitude:c,latitude:u},0).catch(fe),this.locationMotion.set({x:f.offset.x,y:f.offset.y,z:f.offset.z},0).catch(fe),v?this.inMomentumMovement=null:Ne.shared.add((function(t,r){o.requestMomentumMovement(e,!1,a,0|r)}),!0,1))}},t.prototype.fixFinalState=function(e){var t=Wt(e,new n.Vector3),r=(new n.Vector3).copy(e.offset).sub(t.clone().multiplyScalar(e.distance)),i=new n.Raycaster(r,t);i.near=.5;var o=this.models.intersectRaycaster(i)[0];if(!o&&i.ray.direction.y<-.3){var a=new n.Plane(new n.Vector3(0,1,0),0),s=i.ray.intersectPlane(a,new n.Vector3);if(s){var l=s.distanceTo(i.ray.origin);l<1e4&&l>=i.near&&(o={distance:l,floor:0,point:s})}}o&&(e.distance=jr(o.distance,0,1/0),e.offset.copy(r).add(t.clone().multiplyScalar(e.distance)))},t.prototype.onPanGesture=function(e){this.userAction=e.userAction,this.stopMomentumMovement(),this.hideIntersectMesh();var t=e.pointers.length,r=this.panState,i=0;"mouse"===e.pointerType&&(i=e.srcEvent.buttons),r&&0===i&&0!==r.buttons&&(i=r.buttons);var o=null==r?void 0:r.target;if(!o){var a=this.relativeClientPosition(e.center),s=new n.Raycaster;s.setFromCamera(a,this.camera),s.near=.5,o=(new n.Vector3).copy(s.ray.direction).multiplyScalar(3).add(s.ray.origin);var l=this.models.intersectRaycaster(s)[0];if(!l&&s.ray.direction.y<-.3){var c=new n.Plane(new n.Vector3(0,1,0),0),u=s.ray.intersectPlane(c,new n.Vector3);if(u){var d=u.distanceTo(s.ray.origin);d<1e4&&d>=s.near&&(l={distance:d,floor:0,point:u})}}if(l)o.copy(l.point);else{var p=(new n.Vector3).copy(this.camera.pose.offset).sub(this.camera.position);c=(new n.Plane).setFromNormalAndCoplanarPoint(p,this.camera.pose.offset);s.ray.intersectPlane(c,o)}}if(e.isFinal?delete this.panState:this.panState={target:o,buttons:i,pointerLength:t,x:e.center.x,y:e.center.y},void 0!==r&&r.pointerLength===t)if(t>1||2===i){var h={x:e.center.x-r.x,y:e.center.y-r.y},f=new n.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z),v=Wt(this.cameraMotion.value).setLength(this.locationMotion.value.distance).add(f),m=(new n.Vector3).copy(v).sub(r.target).length();m*=Math.tan(this.camera.pose.fov/2*Math.PI/180);var A=this.renderer.getSize(new n.Vector2),g=2*h.x*m/A.y,y=2*h.y*m/A.y,b=new n.Vector3;b.setFromMatrixColumn(this.camera.matrix,0),b.multiplyScalar(-g),f.add(b),this.camera.pose.latitude<Math.PI/12?b.setFromMatrixColumn(this.camera.matrix,1):(b.setFromMatrixColumn(this.camera.matrix,0),b.crossVectors(this.camera.up,b)),b.multiplyScalar(y),f.add(b),f.clamp(this.models.bounding.min,this.models.bounding.max);var x=ie(ie({},this.currentPano),{mode:this.mode,longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,offset:f,distance:this.camera.pose.distance});if(e.state=x,this.emit("gesture.pan",e),e.defaultPrevented)return;if(this.locationMotion.set({x:x.offset.x,y:x.offset.y,z:x.offset.z},0).catch(fe),e.isFinal&&(this.fixFinalState(x),this.locationMotion.set({distance:x.distance,orthoDistance:x.distance,x:x.offset.x,y:x.offset.y,z:x.offset.z},0).catch(fe)),e.isFinal){var w=this.renderer.getSize(new n.Vector2),E=2*e.velocityX*m/w.y,M=2*e.velocityY*m/w.y,C=new n.Vector3,S=new n.Vector3;C.setFromMatrixColumn(this.camera.matrix,0),C.multiplyScalar(-E),S.add(C),this.camera.pose.latitude<Math.PI/4?C.setFromMatrixColumn(this.camera.matrix,1):(C.setFromMatrixColumn(this.camera.matrix,0),C.crossVectors(this.camera.up,C)),C.multiplyScalar(M),S.add(C),this.inMomentumMovement={uuid:Ya()},this.requestMomentumMovement(e,!0,{longitude:0,latitude:0,x:S.x,y:S.y,z:S.z},0)}}else{h={x:e.center.x-r.x,y:e.center.y-r.y};var I=this.coordinatesForOffset(h),P=ns(this.cameraMotion.value.longitude+I.longitude),T=jr(this.cameraMotion.value.latitude+I.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&&(T=this.cameraMotion.value.latitude);x=ie(ie({},this.currentPano),{mode:this.mode,longitude:P,latitude:T,fov:this.camera.pose.fov,offset:this.camera.pose.offset,distance:this.camera.pose.distance});if(e.isFinal&&this.fixFinalState(x),e.state=x,this.emit("gesture.pan",e),e.defaultPrevented)return;if(e.isFinal?this.locationMotion.set({distance:x.distance,orthoDistance:x.distance,x:x.offset.x,y:x.offset.y,z:x.offset.z},0).catch(fe):this.cameraMotion.set({longitude:x.longitude,latitude:x.latitude},0).catch(fe),e.isFinal){var B=e.velocityX,R=e.velocityY;this.inMomentumMovement={uuid:Ya()},this.requestMomentumMovement(e,!0,ie(ie({},this.coordinatesForOffset({x:B,y:R})),{x:0,y:0,z:0}),0)}}},t.prototype.onPinchGesture=function(e){var t;this.userAction=e.userAction,this.stopMomentumMovement(),this.hideIntersectMesh();var r=null===(t=this.pinchState)||void 0===t?void 0:t.distance;if(e.isFirst)this.pinchState={x:e.center.x,y:e.center.y,scale:1,distance:this.locationMotion.value.distance};else{if(e.isFinal)return delete this.panState,void delete this.pinchState;if(void 0!==r){var i,o=2*this.models.bounding.getCenter(new n.Vector3).distanceTo(this.models.bounding.min),a=jr(r/e.scale,0,1/0),s=e.state.offset.clone().sub(Wt(e.state).setLength(a));!this.models.bounding.containsPoint(s)&&this.pinchState&&this.pinchState.scale>e.scale&&a>o?i=e.state.distance:(i=a,this.pinchState&&(this.pinchState.scale=e.scale)),e.state.distance=i,this.emit("gesture.pinch",e),e.defaultPrevented||(this.locationMotion.set({distance:i,orthoDistance:i},0).catch(fe),"mouse"!==e.pointerType&&(e.type="gesture.pan",this.onPanGesture(e)))}}},t.prototype.onMouseMove=function(e){var t,r;if(this.intersectMesh.parent&&!(this.panState||this.pinchState||this.mouseWheelState||(this.emit("gesture.mousemove",e),e.defaultPrevented))){var i=e.center.raycaster;if(i.near=.5,e.isFinal&&this.intersectMesh.parent&&!0===this.intersectMesh.visible)this.hideIntersectMesh();else{var o=this.models.intersectRaycaster(i)[0],a=cs("intersect.update",{raycaster:i,intersection:null!=o?o:null,object:this.intersectMesh});if(this.emit("intersect.update",a),a.defaultPrevented)this.hideIntersectMesh();else if(o){var s=null!==(r=null===(t=o.face)||void 0===t?void 0:t.normal)&&void 0!==r?r:(new n.Vector3).copy(i.ray.direction).multiplyScalar(-1),l=s.clone().multiplyScalar(.05),c=o.point.clone().add(l);this.intersectMesh.position.copy(c);var u=c.clone().add(l);if(this.intersectMesh.lookAt(u),Math.abs(s.y)>.99){var d=this.camera.position.clone().sub(c);this.intersectMesh.rotation.z=-Math.atan2(d.z,d.x)}this.intersectMesh.visible=!0,this.needsRender=!0}else this.hideIntersectMesh()}}},t.prototype.onMouseWheel=function(e){if(this.userAction=e.userAction,this.stopMomentumMovement(),this.hideIntersectMesh(),e.isFinal){var t=e.state;if(this.fixFinalState(t),this.emit("gesture.mousewheel",e),e.defaultPrevented)return;var r={x:t.offset.x,y:t.offset.y,z:t.offset.z,distance:t.distance,orthoDistance:t.distance};this.locationMotion.set(r,0).catch(fe)}else{var i=e.center.delta/2*Math.max(Math.log(this.locationMotion.value.distance),1),o=2*this.models.bounding.getCenter(new n.Vector3).distanceTo(this.models.bounding.min),a=jr(this.locationMotion.value.distance-i,0,1/0),s=e.state.offset.clone().sub(Wt(e.state).setLength(a)),l=!this.models.bounding.containsPoint(s)&&i<0&&a>o?e.state.distance:a;if(e.state.distance=a,this.emit("gesture.mousewheel",e),e.defaultPrevented)return;this.locationMotion.set({distance:l,orthoDistance:l},0).catch(fe)}},t.prototype.onTapGesture=function(e){var t=this;this.userAction=e.userAction,this.stopMomentumMovement();var r=e.center.raycaster,i=this.getForwardObserverOrNot(r);if(i){var o={longitude:this.camera.pose.longitude,latitude:0},a=ie(ie({},e.state),{mode:"Panorama",workCode:i.pano.workCode,panoIndex:i.pano.panoIndex,longitude:o.longitude,latitude:o.latitude,offset:i?i.position.clone():new n.Vector3,distance:0});if(e.state=a,this.emit("gesture.tap",e),!e.defaultPrevented&&(this.emit("pano.select",cs("pano.select",{prevPano:this.currentPano,state:a,userAction:e.userAction,options:o,progress:0,error:null})),i&&i.active)){var s=this.currentTapId=Ya();this.preloadPano(i.pano).then((function(e){t.currentTapId===s&&t.emit("pano.request",cs("pano.request",{userAction:!0,prevPano:t.currentPano,progress:0,state:a,options:o,error:null}))}))}}else this.emit("gesture.tap",e)},t.prototype.hideIntersectMesh=function(){this.intersectMesh.visible=!1,this.needsRender=!0},t.prototype.postProcessing=function(e,t){var r;if(!this.destroyed)return"edl"===t?this.edlEffect.render(e):"hq"===t?null===(r=this.hqEffect)||void 0===r?void 0:r.render(e):void 0},t}(gs);function Ac(e){return null==e}var gc={type:"move"},yc=function(){function e(){this._targetRay=null,this._grip=null,this._hand=null,this._axes=[0,0]}return e.prototype.getHandSpace=function(){return null===this._hand&&(this._hand=new n.Group,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand},e.prototype.getTargetRaySpace=function(){return null===this._targetRay&&(this._targetRay=new n.Group,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new n.Vector3,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new n.Vector3),this._targetRay},e.prototype.getGripSpace=function(){return null===this._grip&&(this._grip=new n.Group,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new n.Vector3,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new n.Vector3),this._grip},e.prototype.dispatchEvent=function(e){return null!==this._targetRay&&this._targetRay.dispatchEvent(e),null!==this._grip&&this._grip.dispatchEvent(e),null!==this._hand&&this._hand.dispatchEvent(e),this},e.prototype.disconnect=function(e){return this.dispatchEvent({type:"disconnected",data:e}),null!==this._targetRay&&(this._targetRay.visible=!1),null!==this._grip&&(this._grip.visible=!1),null!==this._hand&&(this._hand.visible=!1),this},e.prototype.getAxes=function(){return this._axes},e.prototype.update=function(e,t,r){var i=null,o=null,a=null,s=this._targetRay,l=this._grip,c=this._hand;if(e&&e.gamepad&&e.gamepad.axes&&(this._axes=[e.gamepad.axes[2],e.gamepad.axes[3]]),e&&"visible-blurred"!==t.session.visibilityState)if(null!==s&&null!==(i=t.getPose(e.targetRaySpace,r))&&(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(gc)),c&&e.hand){a=!0;for(var u=0,d=e.hand.values();u<d.length;u++){var p=d[u],h=t.getJointPose(p,r);if(void 0===c.joints[p.jointName]){var f=new n.Group;f.matrixAutoUpdate=!1,f.visible=!1,c.joints[p.jointName]=f,c.add(f)}var v=c.joints[p.jointName];null!==h&&(v.matrix.fromArray(h.transform.matrix),v.matrix.decompose(v.position,v.rotation,v.scale),v.jointRadius=h.radius),v.visible=null!==h}var m=c.joints["index-finger-tip"],A=c.joints["thumb-tip"],g=m.position.distanceTo(A.position);c.inputState.pinching&&g>.025?(c.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!c.inputState.pinching&&g<=.015&&(c.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else null!==l&&e.gripSpace&&null!==(o=t.getPose(e.gripSpace,r))&&(l.matrix.fromArray(o.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),o.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(o.linearVelocity)):l.hasLinearVelocity=!1,o.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(o.angularVelocity)):l.hasAngularVelocity=!1);return null!==s&&(s.visible=null!==i),null!==l&&(l.visible=null!==o),null!==c&&(c.visible=null!==a),this},e}(),bc=function(){function e(e,t,r){var i,o,a,s,l;this.isPanorama=null===(i=null==r?void 0:r.isPanorama)||void 0===i||i,this.machineType=null!==(o=null==r?void 0:r.machineType)&&void 0!==o?o:"Pico",this.renderer=e,this.gl=t,this.enabled=!1,this.session=null,this.referenceSpaceType=null!==(a=null==r?void 0:r.referenceSpaceType)&&void 0!==a?a:"local-floor",this.referenceSpace=null,this.onSessionStartCallback=null!==(s=null==r?void 0:r.onSessionStart)&&void 0!==s?s:fe,this.onSessionEndCallback=null!==(l=null==r?void 0:r.onSessionEnd)&&void 0!==l?l:fe,this.controllers=[new yc,new yc],this.inputSourcesMap=new Map,this.cameraVR=new n.ArrayCamera,this.cameraL=new n.PerspectiveCamera,this.cameraR=new n.PerspectiveCamera,this.cameraL.viewport=new n.Vector4,this.cameraR.viewport=new n.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 n.Vector3,this.cameraRPos=new n.Vector3}return e.prototype.getController=function(e){var t=this.controllers[e];return t||console.warn("no controller find"),t.getTargetRaySpace()},e.prototype.getRightController=function(){if(!this.session)return null;var e="right"===this.session.inputSources[0].handedness?0:1,t=this.controllers[e];return t||console.warn("no controller find"),t.getTargetRaySpace()},e.prototype.getLeftController=function(){if(!this.session)return null;var e="left"===this.session.inputSources[0].handedness?0:1,t=this.controllers[e];return t||console.warn("no controller find"),t.getTargetRaySpace()},e.prototype.getControllerGrip=function(e){var t=this.controllers[e];return t||console.warn("no controller find"),t.getGripSpace()},e.prototype.getCameras=function(){return{cameraL:this.cameraL,cameraR:this.cameraR,cameraVR:this.cameraVR}},e.prototype.updateCamera=function(e,t){null===t?e.matrixWorld.copy(e.matrix):e.matrixWorld.multiplyMatrices(t.matrixWorld,e.matrix),e.matrixWorldInverse.getInverse(e.matrixWorld)},e.prototype.setProjectionFromUnion=function(e,t,r){this.cameraLPos.setFromMatrixPosition(t.matrixWorld),this.cameraRPos.setFromMatrixPosition(r.matrixWorld);var n=this.cameraLPos.distanceTo(this.cameraRPos),i=t.projectionMatrix.elements,o=r.projectionMatrix.elements,a=i[14]/(i[10]-1),s=i[14]/(i[10]+1),l=(i[9]+1)/i[5],c=(i[9]-1)/i[5],u=(i[8]-1)/i[0],d=(o[8]+1)/o[0],p=a*u,h=a*d,f=n/(-u+d),v=f*-u;t.matrixWorld.decompose(e.position,e.quaternion,e.scale),e.translateX(v),e.translateZ(f),e.matrixWorld.compose(e.position,e.quaternion,e.scale),e.matrixWorldInverse.getInverse(e.matrixWorld);var m=a+f,A=s+f,g=p-v,y=h+(n-v),b=l*s/A*m,x=c*s/A*m;e.projectionMatrix.makePerspective(g,y,b,x,m,A)},e.prototype.getCamera=function(e){this.cameraVR.near=this.cameraR.near=this.cameraL.near=e.near,this.cameraVR.far=this.cameraR.far=this.cameraL.far=e.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 t=e.parent,r=this.cameraVR.cameras;this.updateCamera(this.cameraVR,t);for(var n=0;n<r.length;n++)this.updateCamera(r[n],t);e.matrixWorld.copy(this.cameraVR.matrixWorld);for(var i=e.children,o=(n=0,i.length);n<o;n++)i[n].updateMatrixWorld(!0);return 2===r.length?this.setProjectionFromUnion(this.cameraVR,this.cameraL,this.cameraR):this.cameraVR.projectionMatrix.copy(this.cameraL.projectionMatrix),this.cameraVR},e.prototype.updateInputSources=function(e){if(this.session){for(var t=this.session.inputSources,r=0;r<this.controllers.length;r++)this.inputSourcesMap.set(t[r],this.controllers[r]);for(r=0;r<e.removed.length;r++){var n=e.removed[r];(i=this.inputSourcesMap.get(n))&&(i.dispatchEvent({type:"disconnected",data:n}),this.inputSourcesMap.delete(n))}for(r=0;r<e.added.length;r++){var i;n=e.added[r];(i=this.inputSourcesMap.get(n))&&i.dispatchEvent({type:"connected",data:n})}}else console.warn("session is lose!")},e.prototype.onSessionEvent=function(e){var t=this.inputSourcesMap.get(e.inputSource);t&&t.dispatchEvent({type:e.type})},e.prototype.onSessionEnd=function(){this.inputSourcesMap.forEach((function(e,t){e.disconnect(t)})),this.inputSourcesMap.clear(),this.renderer.setFramebuffer(null),this.renderer.setRenderTarget(this.renderer.getRenderTarget()),this.isPresenting=!1,this.session=null,Ne.shared.setContext(null),this.onSessionEndCallback()},e.prototype.onRequestReferenceSpace=function(e){this.referenceSpace=e,this.isPresenting=!0,this.session&&this.onSessionStartCallback(this.session)},e.prototype.setSession=function(e){var t=this;if(this.session=e,this.session){this.session.addEventListener("select",(function(e){t.onSessionEvent(e)})),this.session.addEventListener("selectstart",(function(e){t.onSessionEvent(e)})),this.session.addEventListener("selectend",(function(e){t.onSessionEvent(e)})),this.session.addEventListener("squeeze",(function(e){t.onSessionEvent(e)})),this.session.addEventListener("squeezestart",(function(e){t.onSessionEvent(e)})),this.session.addEventListener("squeezeend",(function(e){t.onSessionEvent(e)})),this.session.addEventListener("end",(function(e){t.onSessionEnd()}));var r=this.gl.getContextAttributes();this.gl.makeXRCompatible().then((function(){var e={antialias:null==r?void 0:r.antialias,alpha:null==r?void 0:r.alpha,depth:null==r?void 0:r.depth,stencil:null==r?void 0:r.stencil,framebufferScaleFactor:1};if(t.session){switch(t.machineType){case"Pico":t.session.updateRenderState({baseLayer:new XRWebGLLayer(t.session,t.gl,e)});break;case"Oculus":t.session.updateRenderState({layers:[new XRWebGLLayer(t.session,t.gl,e)]});break;default:t.machineType}t.session.requestReferenceSpace(t.referenceSpaceType).then((function(e){t.onRequestReferenceSpace(e)})),t.session.addEventListener("inputsourceschange",(function(e){t.updateInputSources(e)}))}else console.error("session is lose while set session!")}))}},e}(),xc=function(e){function t(){var t=e.call(this)||this;t.type="LineSegmentsGeometry";return t.setIndex([0,2,1,2,3,1,2,4,3,4,5,3,4,6,5,6,7,5]),t.setAttribute("position",new n.Float32BufferAttribute([-1,2,0,1,2,0,-1,1,0,1,1,0,-1,0,0,1,0,0,-1,-1,0,1,-1,0],3)),t.setAttribute("uv",new n.Float32BufferAttribute([-1,2,1,2,-1,1,1,1,-1,-1,1,-1,-1,-2,1,-2],2)),t}return ne(t,e),t.prototype.applyMatrix4=function(e){var t=this.attributes.instanceStart,r=this.attributes.instanceEnd;return void 0!==t&&(t.applyMatrix4(e),r.applyMatrix4(e),t.needsUpdate=!0),null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this},t.prototype.setPositions=function(e){var t;t=e instanceof Float32Array?e:Array.isArray(e)?new Float32Array(e):new Float32Array;var r=new n.InstancedInterleavedBuffer(t,6,1);return this.setAttribute("instanceStart",new n.InterleavedBufferAttribute(r,3,0)),this.setAttribute("instanceEnd",new n.InterleavedBufferAttribute(r,3,3)),this.computeBoundingBox(),this.computeBoundingSphere(),this},t.prototype.setColors=function(e){var t;t=e instanceof Float32Array?e:Array.isArray(e)?new Float32Array(e):new Float32Array;var r=new n.InstancedInterleavedBuffer(t,6,1);return this.setAttribute("instanceColorStart",new n.InterleavedBufferAttribute(r,3,0)),this.setAttribute("instanceColorEnd",new n.InterleavedBufferAttribute(r,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 n.WireframeGeometry(e.geometry)),this},t.prototype.fromLineSegments=function(e){var t=e.geometry;if(t instanceof n.Geometry){var r=(new n.BufferGeometry).fromGeometry(t);this.setPositions(r.attributes.position.array)}else t instanceof n.BufferGeometry&&this.setPositions(t.attributes.position.array);return this},t.prototype.computeBoundingBox=function(){null===this.boundingBox&&(this.boundingBox=new n.Box3);var e=this.attributes.instanceStart,t=this.attributes.instanceEnd;if(void 0!==e&&void 0!==t){var r=new n.Box3;this.boundingBox.setFromBufferAttribute(e),r.setFromBufferAttribute(t),this.boundingBox.union(r)}},t.prototype.computeBoundingSphere=function(){null===this.boundingSphere&&(this.boundingSphere=new n.Sphere),null===this.boundingBox&&this.computeBoundingBox();var e=this.attributes.instanceStart,t=this.attributes.instanceEnd;if(void 0!==e&&void 0!==t){var r=this.boundingSphere.center;this.boundingBox.getCenter(r);for(var i=0,o=new n.Vector3,a=0,s=e.count;a<s;a++)o.fromBufferAttribute(e,a),i=Math.max(i,r.distanceToSquared(o)),o.fromBufferAttribute(t,a),i=Math.max(i,r.distanceToSquared(o));this.boundingSphere.radius=Math.sqrt(i),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}(n.InstancedBufferGeometry);Object.assign(xc.prototype,{isLineSegmentsGeometry:!0});var wc={uniforms:n.UniformsUtils.merge([n.UniformsLib.common,n.UniformsLib.fog,{linewidth:{value:1},resolution:{value:new n.Vector2(1,1)},dashScale:{value:1},dashSize:{value:1},gapSize:{value:1},opacity:{value:1}}]),vertexShader:"\n\t\t#include <common>\n\t\t#include <color_pars_vertex>\n\t\t#include <fog_pars_vertex>\n\t\t#include <logdepthbuf_pars_vertex>\n\t\t#include <clipping_planes_pars_vertex>\n\n\t\tuniform float linewidth;\n\t\tuniform vec2 resolution;\n\n\t\tattribute vec3 instanceStart;\n\t\tattribute vec3 instanceEnd;\n\n\t\tattribute vec3 instanceColorStart;\n\t\tattribute vec3 instanceColorEnd;\n\n\t\tvarying vec2 vUv;\n\n\t\t#ifdef USE_DASH\n\n\t\t\tuniform float dashScale;\n\t\t\tattribute float instanceDistanceStart;\n\t\t\tattribute float instanceDistanceEnd;\n\t\t\tvarying float vLineDistance;\n\n\t\t#endif\n\n\t\tvoid trimSegment( const in vec4 start, inout vec4 end ) {\n\n\t\t\t// trim end segment so it terminates between the camera plane and the near plane\n\n\t\t\t// conservative estimate of the near plane\n\t\t\tfloat a = projectionMatrix[ 2 ][ 2 ]; // 3nd entry in 3th column\n\t\t\tfloat b = projectionMatrix[ 3 ][ 2 ]; // 3nd entry in 4th column\n\t\t\tfloat nearEstimate = - 0.5 * b / a;\n\n\t\t\tfloat alpha = ( nearEstimate - start.z ) / ( end.z - start.z );\n\n\t\t\tend.xyz = mix( start.xyz, end.xyz, alpha );\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\t#ifdef USE_COLOR\n\n\t\t\t\tvColor.xyz = ( position.y < 0.5 ) ? instanceColorStart : instanceColorEnd;\n\n\t\t\t#endif\n\n\t\t\t#ifdef USE_DASH\n\n\t\t\t\tvLineDistance = ( position.y < 0.5 ) ? dashScale * instanceDistanceStart : dashScale * instanceDistanceEnd;\n\n\t\t\t#endif\n\n\t\t\tfloat aspect = resolution.x / resolution.y;\n\n\t\t\tvUv = uv;\n\n\t\t\t// camera space\n\t\t\tvec4 start = modelViewMatrix * vec4( instanceStart, 1.0 );\n\t\t\tvec4 end = modelViewMatrix * vec4( instanceEnd, 1.0 );\n\n\t\t\t// special case for perspective projection, and segments that terminate either in, or behind, the camera plane\n\t\t\t// clearly the gpu firmware has a way of addressing this issue when projecting into ndc space\n\t\t\t// but we need to perform ndc-space calculations in the shader, so we must address this issue directly\n\t\t\t// perhaps there is a more elegant solution -- WestLangley\n\n\t\t\tbool perspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 ); // 4th entry in the 3rd column\n\n\t\t\tif ( perspective ) {\n\n\t\t\t\tif ( start.z < 0.0 && end.z >= 0.0 ) {\n\n\t\t\t\t\ttrimSegment( start, end );\n\n\t\t\t\t} else if ( end.z < 0.0 && start.z >= 0.0 ) {\n\n\t\t\t\t\ttrimSegment( end, start );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t// clip space\n\t\t\tvec4 clipStart = projectionMatrix * start;\n\t\t\tvec4 clipEnd = projectionMatrix * end;\n\n\t\t\t// ndc space\n\t\t\tvec2 ndcStart = clipStart.xy / clipStart.w;\n\t\t\tvec2 ndcEnd = clipEnd.xy / clipEnd.w;\n\n\t\t\t// direction\n\t\t\tvec2 dir = ndcEnd - ndcStart;\n\n\t\t\t// account for clip-space aspect ratio\n\t\t\tdir.x *= aspect;\n\t\t\tdir = normalize( dir );\n\n\t\t\t// perpendicular to dir\n\t\t\tvec2 offset = vec2( dir.y, - dir.x );\n\n\t\t\t// undo aspect ratio adjustment\n\t\t\tdir.x /= aspect;\n\t\t\toffset.x /= aspect;\n\n\t\t\t// sign flip\n\t\t\tif ( position.x < 0.0 ) offset *= - 1.0;\n\n\t\t\t// endcaps\n\t\t\tif ( position.y < 0.0 ) {\n\n\t\t\t\toffset += - dir;\n\n\t\t\t} else if ( position.y > 1.0 ) {\n\n\t\t\t\toffset += dir;\n\n\t\t\t}\n\n\t\t\t// adjust for linewidth\n\t\t\toffset *= linewidth;\n\n\t\t\t// adjust for clip-space to screen-space conversion // maybe resolution should be based on viewport ...\n\t\t\toffset /= resolution.y;\n\n\t\t\t// select end\n\t\t\tvec4 clip = ( position.y < 0.5 ) ? clipStart : clipEnd;\n\n\t\t\t// back to clip space\n\t\t\toffset *= clip.w;\n\n\t\t\tclip.xy += offset;\n\n\t\t\tgl_Position = clip;\n\n\t\t\tvec4 mvPosition = ( position.y < 0.5 ) ? start : end; // this is an approximation\n\n\t\t\t#include <logdepthbuf_vertex>\n\t\t\t#include <clipping_planes_vertex>\n\t\t\t#include <fog_vertex>\n\n\t\t}\n\t\t",fragmentShader:"\n\t\tuniform vec3 diffuse;\n\t\tuniform float opacity;\n\n\t\t#ifdef USE_DASH\n\n\t\t\tuniform float dashSize;\n\t\t\tuniform float gapSize;\n\n\t\t#endif\n\n\t\tvarying float vLineDistance;\n\n\t\t#include <common>\n\t\t#include <color_pars_fragment>\n\t\t#include <fog_pars_fragment>\n\t\t#include <logdepthbuf_pars_fragment>\n\t\t#include <clipping_planes_pars_fragment>\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\t#include <clipping_planes_fragment>\n\n\t\t\t#ifdef USE_DASH\n\n\t\t\t\tif ( vUv.y < - 1.0 || vUv.y > 1.0 ) discard; // discard endcaps\n\n\t\t\t\tif ( mod( vLineDistance, dashSize + gapSize ) > dashSize ) discard; // todo - FIX\n\n\t\t\t#endif\n\n\t\t\tif ( abs( vUv.y ) > 1.0 ) {\n\n\t\t\t\tfloat a = vUv.x;\n\t\t\t\tfloat b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0;\n\t\t\t\tfloat len2 = a * a + b * b;\n\n\t\t\t\tif ( len2 > 1.0 ) discard;\n\n\t\t\t}\n\n\t\t\tvec4 diffuseColor = vec4( diffuse, opacity );\n\n\t\t\t#include <logdepthbuf_fragment>\n\t\t\t#include <color_fragment>\n\n\t\t\tgl_FragColor = vec4( diffuseColor.rgb, diffuseColor.a );\n\n\t\t\t#include <tonemapping_fragment>\n\t\t\t#include <fog_fragment>\n\t\t\t#include <premultiplied_alpha_fragment>\n\n\t\t}\n\t\t"},Ec=function(e){function t(t){var r=e.call(this,{uniforms:n.UniformsUtils.clone(wc.uniforms),vertexShader:wc.vertexShader,fragmentShader:wc.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(e){this.uniforms.diffuse.value=e}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(e){this.uniforms.linewidth.value=e}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(e){this.uniforms.dashScale.value=e}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(e){this.uniforms.dashSize.value=e}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(e){this.uniforms.gapSize.value=e}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(e){this.uniforms.opacity.value=e}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(e){this.uniforms.resolution.value.copy(e)}}}),r.setValues(t),r}return ne(t,e),t}(n.ShaderMaterial);Object.assign(Ec.prototype,{isLineMaterial:!0});var Mc=function(e){function t(t,r){var n=e.call(this)||this;return n.type="LineSegments2",n.geometry=void 0!==t?t:new xc,n.material=void 0!==r?r:new Ec({color:16777215*Math.random()}),n}return ne(t,e),t.prototype.computeLineDistances=function(){for(var e=this.geometry,t=e.attributes.instanceStart,r=e.attributes.instanceEnd,i=new Float32Array(2*t.count),o=new n.Vector3,a=new n.Vector3,s=0,l=0,c=t.count;s<c;s++,l+=2)o.fromBufferAttribute(t,s),a.fromBufferAttribute(r,s),i[l]=0===l?0:i[l-1],i[l+1]=i[l]+o.distanceTo(a);var u=new n.InstancedInterleavedBuffer(i,2,1);return e.setAttribute("instanceDistanceStart",new n.InterleavedBufferAttribute(u,1,0)),e.setAttribute("instanceDistanceEnd",new n.InterleavedBufferAttribute(u,1,1)),this},t.prototype.raycast=function(e,t){null===e.camera&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2.');var r=e.ray,i=e.camera,o=i.projectionMatrix,a=this.geometry,s=this.material,l=s.resolution,c=s.linewidth,u=a.attributes.instanceStart,d=a.attributes.instanceEnd,p=new n.Vector4,h=new n.Vector4,f=new n.Vector4,v=new n.Vector3,m=new n.Matrix4,A=new n.Line3,g=new n.Vector3;r.at(1,f),f.w=1,f.applyMatrix4(i.matrixWorldInverse),f.applyMatrix4(o),f.multiplyScalar(1/f.w),f.x*=l.x/2,f.y*=l.y/2,f.z=0,v.copy(f);var y=this.matrixWorld;m.multiplyMatrices(i.matrixWorldInverse,y);for(var b=0,x=u.count;b<x;b++){p.fromBufferAttribute(u,b),h.fromBufferAttribute(d,b),p.w=1,h.w=1,p.applyMatrix4(m),h.applyMatrix4(m),p.applyMatrix4(o),h.applyMatrix4(o),p.multiplyScalar(1/p.w),h.multiplyScalar(1/h.w);var w=p.z<-1&&h.z<-1,E=p.z>1&&h.z>1;if(!w&&!E){p.x*=l.x/2,p.y*=l.y/2,h.x*=l.x/2,h.y*=l.y/2,A.start.copy(p),A.start.z=0,A.end.copy(h),A.end.z=0;var M=A.closestPointToPointParameter(v,!0);A.at(M,g);var C=n.MathUtils.lerp(p.z,h.z,M),S=C>=-1&&C<=1,I=v.distanceTo(g)<.5*c;if(S&&I){A.start.fromBufferAttribute(u,b),A.end.fromBufferAttribute(d,b),A.start.applyMatrix4(y),A.end.applyMatrix4(y);var P=new n.Vector3,T=new n.Vector3;r.distanceSqToSegment(A.start,A.end,T,P),t.push({point:T,pointOnLine:P,distance:r.origin.distanceTo(T),object:this,faceIndex:b})}}}},t}(n.Mesh);Object.assign(Mc.prototype,{isLineSegments2:!0});var Cc=function(e){function t(t,r){var n=e.call(this,t,r)||this;return n.type="Line2",n}return ne(t,e),t}(Mc);Object.assign(Cc.prototype,{isLine2:!0});var Sc=function(e){function t(){var t=e.call(this)||this;return t.type="LineGeometry",t}return ne(t,e),t.prototype.setPositions=function(t){for(var r=t.length-3,n=new Float32Array(2*r),i=0;i<r;i+=3)n[2*i]=t[i],n[2*i+1]=t[i+1],n[2*i+2]=t[i+2],n[2*i+3]=t[i+3],n[2*i+4]=t[i+4],n[2*i+5]=t[i+5];return e.prototype.setPositions.call(this,n),this},t.prototype.setColors=function(t){for(var r=t.length-3,n=new Float32Array(2*r),i=0;i<r;i+=3)n[2*i]=t[i],n[2*i+1]=t[i+1],n[2*i+2]=t[i+2],n[2*i+3]=t[i+3],n[2*i+4]=t[i+4],n[2*i+5]=t[i+5];return e.prototype.setColors.call(this,n),this},t.prototype.fromLine=function(e){var t=e.geometry;if(t instanceof n.Geometry){var r=(new n.BufferGeometry).fromGeometry(t);this.setPositions(r.attributes.position.array)}else t instanceof n.BufferGeometry&&this.setPositions(t.attributes.position.array);return this},t.prototype.copy=function(){return this},t}(xc);Object.assign(Sc.prototype,{isLineGeometry:!0});var Ic=14467195,Pc=null,Tc=function(e){function t(t,r){void 0===t&&(t=new n.Vector3),void 0===r&&(r=new n.Vector3);var i=e.call(this)||this;i.type="FiveLine",i.needsRender=!0;var o=new Sc,a=new Ec({color:Ic,linewidth:2,dashScale:20,dashed:!1});i.line=new Cc(o,a);var s=new n.BufferGeometry,l=new n.PointsMaterial({color:Ic,size:8,map:Pc||(Pc=(new n.TextureLoader).load("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==")),sizeAttenuation:!1,transparent:!0});return i.points=new n.Points(s,l),i.points.renderOrder=11,i.points.frustumCulled=!1,i.setPoints(t,r),i.add(i.line,i.points),i}return ne(t,e),Object.defineProperty(t,"version",{get:function(){return"6.0.0-alpha.48"},enumerable:!1,configurable:!0}),t.prototype.setPoints=function(e,t){var r=[].concat(e.toArray(),t.toArray());this.points.geometry.setAttribute("position",new n.BufferAttribute(new Float32Array(r),3)),this.line.geometry.setPositions(r),this.line.computeLineDistances(),this.needsRender=!0},t.prototype.getPoints=function(){var e=this.points.geometry.attributes.position.array;return[new n.Vector3(e[0],e[1],e[2]),new n.Vector3(e[3],e[4],e[5])]},t.prototype.setMaterial=function(e){var t=this.line.material;for(var r in e)if(e.hasOwnProperty(r)){var n=e[r];"dashed"===r?(t.dashed=n,n?t.defines.USE_DASH="":delete t.defines.USE_DASH,t.needsUpdate=!0):t[r]=e[r]}this.needsRender=!0},t.prototype.setResolution=function(e,t){var r=this.line.material.resolution;r.x===e&&r.y===t||(r.set(e,t),this.needsRender=!0)},t}(n.Object3D);Object.assign(Tc.prototype,{isFiveLine:!0});var Bc={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 Rc(e){return se(this,void 0,void 0,(function(){var t;return le(this,(function(r){switch(r.label){case 0:return[4,fetch(e)];case 1:if((t=r.sent()).ok)return[2,t.json()];throw new Error(t.statusText)}}))}))}function kc(e){return se(this,void 0,void 0,(function(){return le(this,(function(t){switch(t.label){case 0:if(!e)throw new Error("No basePath supplied");return"profilesList.json",[4,Rc("".concat(e,"/").concat("profilesList.json"))];case 1:return[2,t.sent()]}}))}))}var Oc={xAxis:0,yAxis:0,button:0,state:Bc.ComponentState.DEFAULT};var Fc=function(){function e(e){this.componentProperty=e.componentProperty,this.states=e.states,this.valueNodeName=e.valueNodeName,this.valueNodeProperty=e.valueNodeProperty,this.valueNodeProperty===Bc.VisualResponseProperty.TRANSFORM&&(this.minNodeName=e.minNodeName,this.maxNodeName=e.maxNodeName),this.value=0,this.updateFromComponent(Oc)}return e.prototype.updateFromComponent=function(e){var t=e.xAxis,r=e.yAxis,n=e.button,i=e.state,o=function(e,t){void 0===e&&(e=0),void 0===t&&(t=0);var r=e,n=t;if(Math.sqrt(e*e+t*t)>1){var i=Math.atan2(t,e);r=Math.cos(i),n=Math.sin(i)}return{normalizedXAxis:.5*r+.5,normalizedYAxis:.5*n+.5}}(t,r),a=o.normalizedXAxis,s=o.normalizedYAxis;switch(this.componentProperty){case Bc.ComponentProperty.X_AXIS:this.value=this.states.includes(i)?a:.5;break;case Bc.ComponentProperty.Y_AXIS:this.value=this.states.includes(i)?s:.5;break;case Bc.ComponentProperty.BUTTON:this.value=this.states.includes(i)?n:0;break;case Bc.ComponentProperty.STATE:this.valueNodeProperty===Bc.VisualResponseProperty.VISIBILITY?this.value=this.states.includes(i):this.value=this.states.includes(i)?1:0;break;default:throw new Error("Unexpected visualResponse componentProperty ".concat(this.componentProperty))}},e}(),Dc=function(){function e(e,t){var r=this;if(!(e&&t&&t.visualResponses&&t.gamepadIndices&&0!==Object.keys(t.gamepadIndices).length))throw new Error("Invalid arguments supplied");this.id=e,this.type=t.type,this.rootNodeName=t.rootNodeName,this.touchPointNodeName=t.touchPointNodeName,this.visualResponses={},Object.keys(t.visualResponses).forEach((function(e){var n=new Fc(t.visualResponses[e]);r.visualResponses[e]=n})),this.gamepadIndices=Object.assign({},t.gamepadIndices),this.values={state:Bc.ComponentState.DEFAULT,button:void 0!==this.gamepadIndices.button?0:void 0,xAxis:void 0!==this.gamepadIndices.xAxis?0:void 0,yAxis:void 0!==this.gamepadIndices.yAxis?0:void 0}}return Object.defineProperty(e.prototype,"data",{get:function(){return ie({id:this.id},this.values)},enumerable:!1,configurable:!0}),e.prototype.updateFromGamepad=function(e){var t=this;if(this.values.state=Bc.ComponentState.DEFAULT,void 0!==this.gamepadIndices.button&&e.buttons.length>this.gamepadIndices.button){var r=e.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||1===this.values.button?this.values.state=Bc.ComponentState.PRESSED:(r.touched||this.values.button>Bc.ButtonTouchThreshold)&&(this.values.state=Bc.ComponentState.TOUCHED)}void 0!==this.gamepadIndices.xAxis&&e.axes.length>this.gamepadIndices.xAxis&&(this.values.xAxis=e.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===Bc.ComponentState.DEFAULT&&Math.abs(this.values.xAxis)>Bc.AxisTouchThreshold&&(this.values.state=Bc.ComponentState.TOUCHED)),void 0!==this.gamepadIndices.yAxis&&e.axes.length>this.gamepadIndices.yAxis&&(this.values.yAxis=e.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===Bc.ComponentState.DEFAULT&&Math.abs(this.values.yAxis)>Bc.AxisTouchThreshold&&(this.values.state=Bc.ComponentState.TOUCHED)),Object.values(this.visualResponses).forEach((function(e){e.updateFromComponent(t.values)}))},e}(),Qc=function(){function e(e,t,r){var n=this;if(!e)throw new Error("No xrInputSource supplied");if(!t)throw new Error("No profile supplied");this.xrInputSource=e,this.assetUrl=r,this.id=t.profileId,this.layoutDescription=t.layouts[e.handedness],this.components={},Object.keys(this.layoutDescription.components).forEach((function(e){var t=n.layoutDescription.components[e];n.components[e]=new Dc(e,t)})),this.updateFromGamepad()}return Object.defineProperty(e.prototype,"gripSpace",{get:function(){return this.xrInputSource.gripSpace},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"targetRaySpace",{get:function(){return this.xrInputSource.targetRaySpace},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"data",{get:function(){var e=[];return Object.values(this.components).forEach((function(t){e.push(t.data)})),e},enumerable:!1,configurable:!0}),e.prototype.updateFromGamepad=function(){var e=this;Object.values(this.components).forEach((function(t){t.updateFromGamepad(e.xrInputSource.gamepad)}))},e}(),Lc=function(e){function t(){var t=e.call(this)||this;return t.motionController=null,t.envMap=null,t}return ne(t,e),t.prototype.setEnvironmentMap=function(e){var t=this;return this.envMap==e||(this.envMap=e,this.traverse((function(e){e instanceof n.Mesh&&e.isMesh&&(e.material.envMap=t.envMap,e.material.needsUpdate=!0)}))),this},t.prototype.updateMatrixWorld=function(t){e.prototype.updateMatrixWorld.call(this,t),this.motionController&&(this.motionController.updateFromGamepad(),Object.values(this.motionController.components).forEach((function(e){Object.values(e.visualResponses).forEach((function(e){var t=e.valueNode,r=e.minNode,n=e.maxNode,i=e.value,o=e.valueNodeProperty;t&&(o===Bc.VisualResponseProperty.VISIBILITY?t.visible=i:o===Bc.VisualResponseProperty.TRANSFORM&&(t.quaternion.copy(r.quaternion).slerp(n.quaternion,i),t.position.lerpVectors(r.position,n.position,i)))}))})))},t}(e.Object3D);function Nc(t,r){!function(t,r){Object.values(t.components).forEach((function(t){var n=t.type,i=t.touchPointNodeName,o=t.visualResponses;if(n===Bc.ComponentType.TOUCHPAD)if(t.touchPointNode=r.getObjectByName(i),t.touchPointNode){var a=new e.SphereGeometry(.001),s=new e.MeshBasicMaterial({color:255}),l=new e.Mesh(a,s);t.touchPointNode.add(l)}else console.warn("Could not find touch dot, ".concat(t.touchPointNodeName,", in touchpad component ").concat(t.id));Object.values(o).forEach((function(e){var t=e.valueNodeName,n=e.minNodeName,i=e.maxNodeName;if(e.valueNodeProperty===Bc.VisualResponseProperty.TRANSFORM){if(e.minNode=r.getObjectByName(n),e.maxNode=r.getObjectByName(i),!e.minNode)return void console.warn("Could not find ".concat(n," in the model"));if(!e.maxNode)return void console.warn("Could not find ".concat(i," in the model"))}e.valueNode=r.getObjectByName(t),e.valueNode||console.warn("Could not find ".concat(t," in the model"))}))}))}(t.motionController,r),t.envMap&&r.traverse((function(e){e instanceof n.Mesh&&e.isMesh&&(e.material.envMap=t.envMap,e.material.needsUpdate=!0)})),t.add(r)}var Vc=function(){function e(e){void 0===e&&(e=null),this.gltfLoader=e,this.path="https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles",this._assetCache={}}return e.prototype.createControllerModel=function(e){var t=this,r=new Lc,n=null;return e.addEventListener("connected",(function(e){var i=e.data;"tracked-pointer"===i.targetRayMode&&i.gamepad&&function(e,t,r,n){return void 0===r&&(r=null),void 0===n&&(n=!0),se(this,void 0,void 0,(function(){var i,o,a,s,l,c;return le(this,(function(u){switch(u.label){case 0:if(!e)throw new Error("No xrInputSource supplied");if(!t)throw new Error("No basePath supplied");return[4,kc(t)];case 1:if(i=u.sent(),e.profiles.some((function(e){var r=i[e];return r&&(o={profileId:e,profilePath:"".concat(t,"/").concat(r.path),deprecated:!!r.deprecated}),!!o})),!o){if(!r)throw new Error("No matching profile name found");if(!(a=i[r]))throw new Error('No matching profile name found and default profile "'.concat(r,'" missing.'));o={profileId:r,profilePath:"".concat(t,"/").concat(a.path),deprecated:!!a.deprecated}}return[4,Rc(o.profilePath)];case 2:if(s=u.sent(),n){if(!(c=s.layouts[e.handedness]))throw new Error("No matching handedness, ".concat(e.handedness,", in profile ").concat(o.profileId));c.assetPath&&(l=o.profilePath.replace("profile.json",c.assetPath))}return[2,{profile:s,assetPath:l}]}}))}))}(i,t.path,"generic-trigger").then((function(e){var o=e.profile,a=e.assetPath;r.motionController=new Qc(i,o,a);var s=t._assetCache[r.motionController.assetUrl];if(s)n=s.scene.clone(),Nc(r,n);else{if(!t.gltfLoader)throw new Error("GLTFLoader not set.");t.gltfLoader.load(r.motionController.assetUrl,(function(e){t._assetCache[r.motionController.assetUrl]=e,n=e.scene.clone(),Nc(r,n)}))}})).catch((function(e){console.warn(e)}))})),e.addEventListener("disconnected",(function(){r.motionController=null,r.remove(n),n=null})),r},e}();var zc=(new n.Matrix4).makeRotationAxis(new n.Vector3(0,1,0),Math.PI),jc=new n.Vector3(-1,1,1),Uc=function(e){function t(t){var r,i=this;(i=e.call(this,t)||this).xrManager=new bc(i.renderer,i.renderer.getContext(),{onSessionStart:function(e){i.emit("xr.session.start",cs("xr.session.start",{session:e,machineType:i.xrManager.machineType}))},onSessionEnd:function(){i.emit("xr.session.end",cs("xr.session.end",{session:null,machineType:i.xrManager.machineType}))}}),i.xrControllerRay={left:new n.Raycaster,right:new n.Raycaster},i.pointerLines={left:new Tc,right:new Tc},i.pointerLines.left.visible=!1,i.pointerLines.right.visible=!0,i.pointerLines.left.setMaterial({color:new n.Vector3(1,1,1)}),i.pointerLines.left.points.material.depthTest=!1,i.pointerLines.right.setMaterial({color:new n.Vector3(1,1,1)}),i.pointerLines.right.points.material.depthTest=!1,i.scene.add(i.pointerLines.left,i.pointerLines.right),i.panoResources={},i.panoResources[i.locationMotion.keyframes[0].key=i.locationMotion.keyframes[1].key=Ya()]={panoId:Xe(i.currentPano),leftPanoPicture:null,position:i.camera.pose.offset.clone(),effect:"fade"},i.parallaxCameraMatrixs=[],i.onlyUseRightController=null!==(r=t.onlyUseRightController)&&void 0!==r&&r;var o=Ne.shared.getContext();if(!o)return console.error("获取session失败,请退出重试"),i;i.on("xr.session.end",(function(){i.scene.remove(i.pointerLines.left,i.pointerLines.right)})),i.xrManager.setSession(o),i.controllerWrappers=[new n.Group,new n.Group],i.scene.add(i.controllerWrappers[0],i.controllerWrappers[1]);var a=i.xrManager.getController(0);i.controllerWrappers[0].add(a);var s=i.xrManager.getController(1);i.controllerWrappers[1].add(s);var l=new Vc;return l.gltfLoader={load:function(e,t){De.ajax(e,{responseType:"arraybuffer"}).then((function(t){var r;return Mi(t.body,{resourcePath:e.slice(0,e.lastIndexOf("/")+1),search:null!==(r=e.split("?")[1])&&void 0!==r?r:"",fetcher:De})})).then((function(e){return t(e)}))}},i.on("xr.session.start",(function(){var e=i.xrManager.getControllerGrip(0);if(e.add(l.createControllerModel(e)),i.controllerWrappers[0].add(e),!i.onlyUseRightController){var t=i.xrManager.getControllerGrip(1);t.add(l.createControllerModel(t)),i.controllerWrappers[1].add(t)}})),i.xrControllerState={LeftAxesUp:{touchStartTime:0,touchStart:!1},LeftAxesDown:{touchStartTime:0,touchStart:!1},LeftAxesLeft:{touchStartTime:0,touchStart:!1},LeftAxesRight:{touchStartTime:0,touchStart:!1},LeftTrigger:{touchStartTime:0,touchStart:!1},LeftPinch:{touchStartTime:0,touchStart:!1},RightAxesUp:{touchStartTime:0,touchStart:!1},RightAxesDown:{touchStartTime:0,touchStart:!1},RightAxesLeft:{touchStartTime:0,touchStart:!1},RightAxesRight:{touchStartTime:0,touchStart:!1},RightTrigger:{touchStartTime:0,touchStart:!1},RightPinch:{touchStartTime:0,touchStart:!1},Y:{touchStartTime:0,touchStart:!1},X:{touchStartTime:0,touchStart:!1},A:{touchStartTime:0,touchStart:!1},B:{touchStartTime:0,touchStart:!1}},i}return ne(t,e),t.parseArgs=function(r){if(r instanceof t)return r;var n=ie(ie({},r),{maxLatitude:Math.PI/2,minLatitude:-Math.PI/2});return e.parseArgs.call(this,n)},t.initAnimationEndState=function(t){var r=this.parseArgs(t),n=e.initAnimationEndState.call(this,r);return ie(ie({},n),{mode:"XRPanorama"})},t.prototype.moveToPano=function(e,t,r){var i,o,a,s,l=this;this.userAction=r,this.stopMomentumMovement();var c=this.works.getResolvedObserver(e);if(!c)throw new Error("Invalid PanoIndex");var u=this.imageOptions.size;if(void 0===u&&c){var d=c.images.up.match(/\/cube_(\d+)\//);d&&(u=Number(d[1]))}void 0===u&&(u=2048);var p=this.imageOptions.transform,h=function(e,t){return function(e,t){if(!t)return e;var r=e.match(/\d+_[a-z].png/);return e.substring(0,r.index)+t+"/"+e.substring(r.index)}(He(e,p,t))},f=ie({key:"pano.".concat(c.panoId)},eo(this.imageOptions,["format","size","quality"])),v=c.images,m=null!==(o=null===(i=c.images.tiles)||void 0===i?void 0:i.filter((function(e){return e.size>u})))&&void 0!==o?o:null,A="pano:"+ro([v,f,p]);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===A)return;var g=this.pendingTextureTask.panoId;null===(a=this.panoMeshes[g])||void 0===a||a.setProgress(0),this.emit("pano.texture.abort",cs("pano.texture.abort",{error:null,progress:0,meta:null,pano:c.pano})),this.pendingTextureTask.onError(new Error("texture aborted"))}var y,b=this.models.getMaterial()||{},x=b.pano0,w=b.pano1;if((null==x?void 0:x.map.name)===A?y=x:(null==w?void 0:w.map.name)===A&&(y=w),y){var E={panoId:c.panoId,effect:null!==(s=t.effect)&&void 0!==s?s:"fade",leftPanoPicture:{map:y.map,luminanceMap:y.luminanceMap,matrix:(new n.Matrix4).compose(c.position,c.quaternion,jc)},position:c.position.clone()};this.doMoveToPano(c.pano,E,t)}else{var M="move-to-pano-"+c.panoId;this.pending.add(M),this.pendingTextureTask={panoId:c.panoId,hash:A,onLoad:function(e){var r;if(l.pending.delete(M),l.destroyed)e.body.dispose();else{e.body.name=A;var i={panoId:c.panoId,effect:null!==(r=t.effect)&&void 0!==r?r:"fade",leftPanoPicture:{map:e.body,luminanceMap:null,matrix:(new n.Matrix4).compose(c.position,c.quaternion,jc)},position:c.position.clone()};l.doMoveToPano(c.pano,i,t)}},onError:function(e){l.pending.delete(M);var r=ie(ie(ie({},c.pano),{mode:l.mode}),vs(l.camera.pose));l.emit("pano.error",cs("pano.error",{error:e,userAction:l.userAction,options:t,prevPano:l.currentPano,progress:0,state:r})),l.emit("pano.cancel",cs("pano.cancel",{error:null,userAction:l.userAction,options:t,prevPano:l.currentPano,progress:0,state:r})),t.moveCancelCallback&&t.moveCancelCallback()}},Promise.all([this.tileLevelForFov&&m&&m.length?this.textureLoader.loadTiledCubeTexture(v,m,{tileMaxLevel:this.TILED_CUBE_TEXTURE_LEVEL,imageURL:{transform:h,options:f},format:n.RGBAFormat,viaAjax:!0,fetcher:pa(c.work)},void 0,void 0,(function(e){var t,r;l.emit("pano.texture.progress",cs("pano.texture.progress",{error:null,progress:e,meta:null,pano:c.pano})),(null===(t=l.pendingTextureTask)||void 0===t?void 0:t.hash)===A&&(null===(r=l.panoMeshes[c.panoId])||void 0===r||r.setProgress(e))}),this.renderer):this.textureLoader.loadCubeTexture(v,{imageURL:{transform:h,options:f},format:n.RGBAFormat,fetcher:pa(c.work)},void 0,void 0,(function(e){var t,r;(null===(t=l.pendingTextureTask)||void 0===t?void 0:t.hash)===A&&(null===(r=l.panoMeshes[c.panoId])||void 0===r||r.setProgress(e)),l.emit("pano.texture.progress",cs("pano.texture.progress",{error:null,progress:e,meta:null,pano:c.pano}))}),this.renderer)]).then((function(e){var t,r,n=e[0];(null===(t=l.pendingTextureTask)||void 0===t?void 0:t.hash)===A?(l.pendingTextureTask.onLoad(n),null===(r=l.panoMeshes[c.panoId])||void 0===r||r.setProgress(0),delete l.pendingTextureTask,l.emit("pano.texture.success",cs("pano.texture.success",{error:null,progress:1,meta:n.meta,pano:c.pano}))):n.body.dispose()})).catch((function(e){var t,r;(null===(t=l.pendingTextureTask)||void 0===t?void 0:t.hash)===A&&(l.pendingTextureTask.onError(e),null===(r=l.panoMeshes[c.panoId])||void 0===r||r.setProgress(0),delete l.pendingTextureTask,l.emit("pano.texture.error",cs("pano.texture.error",{error:e,progress:0,meta:null,pano:c.pano})),l.emit("error",e))})),this.emit("pano.texture.load",cs("pano.texture.load",{error:null,progress:0,meta:null,pano:c.pano}))}},t.prototype.doMoveToPano=function(e,t,r){var i,o,a,s=this;void 0===r&&(r={});var l=me(),c=Ya();this.panoResources[c]=t;var u,d,p;if(this.locationMotion.ended){var h=this.locationMotion.getKeyFrameSegment(l);h[0];var f=h[1],v=this.locationMotion.value,m=this.panoResourceFromLocationMotionKeyframe(f).position,A=t.position;u=Math.max(m.distanceTo(A),1),d=[{key:f.key,progress:0,value:ie(ie({},v),{count:0})},{key:c,progress:1,value:{distance:0,perspToOrtho:0,orthoDistance:1,modelAlpha:0,count:1}}],p=0}else{var g=this.locationMotion.getKeyFrameSegment(l),y=g[0],b=(f=g[1],v=this.locationMotion.value,this.panoResourceFromLocationMotionKeyframe(y).position),x=(m=this.panoResourceFromLocationMotionKeyframe(f).position,A=t.position,f.value.count-v.count),w=Math.max(b.distanceTo(m),1)*x;u=w+Math.max(m.distanceTo(A),1),d=[{key:y.key,progress:0,value:ie({},v)},{key:f.key,progress:w/u,value:f.value},{key:c,progress:1,value:{count:f.value.count+1,distance:0,perspToOrtho:0,orthoDistance:1,modelAlpha:0}}];var E=this.locationMotionKeyframesLength(this.locationMotion.keyframes),M=this.locationMotionKeyframesLength(d);p=this.locationMotion.getProgressVelocity(l)*E/M}var C=this.calculateMovingDuration(r.duration,u),S={longitude:r.longitude,latitude:r.latitude,fov:r.fov},I=ie(ie({},e),{mode:this.mode,longitude:null!==(i=S.longitude)&&void 0!==i?i:this.camera.pose.longitude,latitude:null!==(o=S.latitude)&&void 0!==o?o:this.camera.pose.latitude,fov:null!==(a=S.fov)&&void 0!==a?a:this.camera.pose.fov,offset:t.position.clone(),distance:0}),P=this.currentPano;this.emit("pano.moveTo",cs("pano.moveTo",{options:r,prevPano:P,progress:0,state:I,userAction:this.userAction,error:null})),r.moveStartCallback&&r.moveStartCallback(I),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=fe,this.videoTexture.needsUpdate=!0),this.panoVideo.setMaterial(null),this.cameraMotion.set(S,C).catch(fe),this.locationMotion.setKeyframes(d,C,p).then((function(){var t,i,o,a=ie(ie({},e),{mode:s.mode,longitude:s.camera.pose.longitude,latitude:s.camera.pose.latitude,fov:s.camera.pose.fov,offset:s.camera.pose.offset.clone(),distance:0});s.emit("pano.arrived",cs("pano.arrived",{options:r,prevPano:P,progress:1,state:a,userAction:s.userAction,error:null})),r.moveEndCallback&&r.moveEndCallback(a);var l=s.works.getResolvedObserver(s.currentPano);if(l&&l.video&&s.videoTexture&&s.videoTexture.image instanceof HTMLVideoElement){var c=zc.clone().multiply(null!==(o=null===(i=null===(t=s.models.getMaterial())||void 0===t?void 0:t.pano1)||void 0===i?void 0:i.matrix)&&void 0!==o?o:new n.Matrix4).multiply(l.video.matrix),u={map:s.videoTexture,size:l.video.size,matrix:c,alpha:1},d=Ya(),p=s.videoTexture.image;p.setAttribute("uuid",d),Ps().then((function(e){e&&l.video&&p.getAttribute("uuid")===d&&(p.oncanplay=function(){p.oncanplay=fe,p.play()},p.ontimeupdate=function(){p.currentTime>.5&&(p.ontimeupdate=fe,s.panoVideo.setMaterial(u))},p.src=l.video.source)})).catch((function(){p.removeAttribute("uuid")}))}}),(function(){s.emit("pano.cancel",cs("pano.cancel",{options:r,prevPano:P,progress:0,state:I,userAction:s.userAction,error:null})),r.moveCancelCallback&&r.moveCancelCallback()}))},t.prototype.checkSelectedPano=function(e){var t,r,i,o,a=this;this.stopMomentumMovement();var s=this.camera.getDirection(new n.Vector3).setY(0),l=null,c=this.works.getResolvedObserver(this.currentPano);if(!c)return null;var u=c.accessibleIds.filter((function(e){var t=Je(e);if(Ze(t,a.currentPano))return!1;var r=a.works.getResolvedObserver(t);return!!r&&(!(r.position.distanceTo(a.camera.position)>a.maxAccessibleDistance)&&(r.loadable||r.active))})),d=this.models.intersectRaycaster(e)[0];if(d){var p=hs(u,(function(e){var t=a.works.getResolvedObserver(e);return t?t.standingPosition.clone().distanceTo(d.point):1/0}),!0),h=p[0],f=p[1];h&&f<this.panoTapTriggerRadius&&(l=null!==(t=this.works.getResolvedObserver(h))&&void 0!==t?t:null)}if(Ac(l)){var v=this.getForwardObserverOrNot(e);v&&(l=v)}for(var m=0,A=this.locationMotion.keyframes;m<A.length;m++){var g=A[m],y=this.panoResourceFromLocationMotionKeyframe(g);if(!(g.progress<this.locationMotion.progress)&&(l&&y.panoId===l.panoId)){l=null;break}}if(Ac(l))return!0===this.locationMotion.ended&&this.cameraBounce(),null;if(l&&!l.active){var b=l.panoId;this.panoMeshes[b]&&(this.panoMeshes[b].setDisabled(!1),this.panoMeshes[b].setLoading(!0))}var x={};if(l){x.effect="fade";for(var w=Math.PI/6,E=Math.PI/12,M=new n.Vector3(0,1,0),C=l.position.clone().setY(0).sub(c.position.clone().setY(0)).normalize(),S=C.clone().applyAxisAngle(M,w),I=C.clone().applyAxisAngle(M,-w),P=[],T=[],B=[],R=0,k=l.accessibleIds;R<k.length;R++){var O=Je(h=k[R]);if(!Ze(O,this.currentPano)&&!Ze(O,l.pano)){var F=this.works.getResolvedObserver(h);if(F){var D=F.position.clone().sub(l.position).setY(0);C.angleTo(D)<w?B.push(D):S.angleTo(D)<w?P.push(D):I.angleTo(D)<w&&T.push(D)}}}var Q=(B.length>0?B:ce(ce([],P,!0),T,!0)).slice().sort((function(e,t){return e.angleTo(C)-t.angleTo(C)}))[0];Q&&Q.angleTo(s)>E&&(x.longitude=Math.atan2(-Q.x,-Q.z))}this.cameraMotion.value.latitude<-Math.PI/4&&(x.latitude=jr(0,this.minLatitude,this.maxLatitude)),this.cameraMotion.value.fov<60&&(x.fov=this.defaultFov);var L={workCode:l.pano.workCode,panoIndex:l.pano.panoIndex,mode:this.mode,longitude:null!==(r=x.longitude)&&void 0!==r?r:this.camera.pose.longitude,latitude:null!==(i=x.latitude)&&void 0!==i?i:this.camera.pose.latitude,fov:null!==(o=x.fov)&&void 0!==o?o:this.camera.pose.fov,distance:0,offset:l?l.position.clone():new n.Vector3};return this.emit("pano.select",cs("pano.select",{prevPano:this.currentPano,state:L,userAction:!0,options:x,progress:0,error:null})),l&&l.active?(this.emit("pano.request",cs("pano.request",{userAction:!0,prevPano:this.currentPano,progress:0,state:L,options:x,error:null})),l.pano):null},t.prototype.destroy=function(){e.prototype.destroy.call(this)},t.prototype.isReady=function(){return!1},t.prototype.updateCamera=function(e,t,r){return Promise.resolve()},t.prototype.updateCameraWithKeyframes=function(e,t,r){return Promise.resolve()},t.prototype.updateTime=function(e,t){for(var r,i,o,a,s,l,c,u,d=this,p=[],h=2;h<arguments.length;h++)p[h-2]=arguments[h];this.userAction=!0;var f={},v={},m=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),A=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),g=!1;if(!1===this.cameraMotion.ended&&(this.cameraMotion.update(e),v.longitude=this.cameraMotion.value.longitude,v.latitude=this.cameraMotion.value.latitude,v.fov=this.cameraMotion.value.fov),!1===this.locationMotion.ended){this.locationMotion.update(e);var y=this.locationMotion.getKeyFrameSegment(e),b=y[0],x=y[1],w=this.panoResourceFromLocationMotionKeyframe(b),E=this.panoResourceFromLocationMotionKeyframe(x),M=(new n.Vector3).copy(w.position),C=(new n.Vector3).copy(E.position),S=this.locationMotion.value.count-x.value.count+1;f.progress=S,f.modelAlpha=this.locationMotion.value.modelAlpha,this.camera.perspToOrtho.setScalar(jr(this.locationMotion.value.perspToOrtho,0,1)),this.camera.orthoDistance=this.locationMotion.value.orthoDistance,E.leftPanoPicture&&(S<1?w.leftPanoPicture&&(f.pano0=w.leftPanoPicture):f.pano0=E.leftPanoPicture,f.pano1=E.leftPanoPicture),g=f.useBlackTransition="instant"===E.effect||"montage"===E.effect,"fade"!==E.effect&&"montage"!==E.effect||(f.pano0&&w.leftPanoPicture&&(f.pano0={map:f.pano0.map,luminanceMap:f.pano0.luminanceMap,matrix:w.leftPanoPicture.matrix.clone().setPosition(E.position)}),M.copy(C)),v.distance=this.locationMotion.value.distance,v.offset=new n.Vector3(M.x+(C.x-M.x)*S,M.y+(C.y-M.y)*S,M.z+(C.z-M.z)*S);for(var I=[],P=[],T=0,B=this.locationMotion.keyframes;T<B.length;T++){var R=B[T],k=R.key,O=R.progress;void 0!==k&&(I.push(k),O>=this.locationMotion.progress&&P.push(k))}for(var F=0,D=Object.keys(this.panoResources);F<D.length;F++){var Q=D[F];if(!(P.indexOf(Q)>=0)){var L=this.panoResources[Q];if(L.leftPanoPicture){var N=L.leftPanoPicture.map;if(N){if(N===(null===(r=f.pano0)||void 0===r?void 0:r.map))continue;if(N===(null===(i=f.pano1)||void 0===i?void 0:i.map))continue;N instanceof Vt&&N.cubeRenderTarget&&this.colorCubeRenderTargetPool.push(N.cubeRenderTarget),N.dispose(),L.leftPanoPicture=null}}I.indexOf(Q)>=0||delete this.panoResources[Q]}}this.currentPano=Je(E.panoId),this.emit("pano.moving",cs("pano.moving",{userAction:this.userAction,prevPano:Je(m.panoId),state:ie(ie(ie(ie({},Je(A.panoId)),{mode:this.mode}),vs(this.camera.pose)),v),options:{},progress:this.locationMotion.progress,error:null}))}!1===fs(f)&&((null===(o=f.pano0)||void 0===o?void 0:o.map)&&f.pano0.map instanceof Vt&&!f.pano0.map.cubeRenderTarget&&(f.pano0.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),(null===(a=f.pano1)||void 0===a?void 0:a.map)&&f.pano1.map instanceof Vt&&!f.pano1.map.cubeRenderTarget&&(f.pano1.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),this.models.setMaterial(f)),!1===fs(v)&&this.setCamera(v);var V=this.works.getResolvedObserver(this.currentPano),z=p[1];if(z)if(this.xrManager.session){var j=this.xrManager.referenceSpace;if(j){var U=this.xrManager.cameraVR,q=this.xrManager.cameraL,_=this.xrManager.cameraR,H=[q,_],G=z.getViewerPose(j),K=new n.Vector3(0,0,0);if(G){var W;W=this.xrManager.session.renderState.baseLayer;var Y=G.views;if(W){this.renderer.setFramebuffer(W.framebuffer);var X=!1;Y.length!==U.cameras.length&&(U.cameras.length=0,X=!0),this.parallaxCameraMatrixs=[];var J=new n.Vector3,Z=new n.Vector3;(new n.Matrix4).fromArray(Y[0].transform.matrix).decompose(J,new n.Quaternion,new n.Vector3),(new n.Matrix4).fromArray(Y[1].transform.matrix).decompose(Z,new n.Quaternion,new n.Vector3),Z.clone().sub(J).normalize();var $=new n.Vector3,ee=new n.Quaternion,te=new n.Vector3;this.camera.matrix.decompose($,ee,te);for(var re=0;re<Y.length;re++){var ne=Y[re],oe=W.getViewport(ne),ae=H[re];ae.matrix.fromArray(ne.transform.matrix);var se=new n.Vector3,le=new n.Quaternion,ce=new n.Vector3;ae.matrix.decompose(se,le,ce),K.copy($),ae.position.copy($),ae.quaternion.copy(le),ae.scale.copy(ce),ae.updateMatrix(),ae.projectionMatrix.fromArray(ne.projectionMatrix),ae.viewport.set(oe.x,oe.y,oe.width,oe.height),!0===X&&U.cameras.push(ae)}G.views[0].transform.position,G.views[1].transform.position;var ue=this.xrManager.session.inputSources;for(re=0;re<this.xrManager.controllers.length;re++){var de=this.xrManager.controllers[re],pe=ue[re];if(pe){de.update(pe,z,j);var he=this.xrManager.getController(re),fe=new n.Vector3(0,1.2,0),ve=he.position.clone().add(K).sub(fe);"left"===pe.handedness?this.xrControllerRay.left.set(ve,new n.Vector3(0,0,-1).applyEuler(he.rotation)):"right"===pe.handedness&&this.xrControllerRay.right.set(ve,new n.Vector3(0,0,-1).applyEuler(he.rotation)),this.controllerWrappers[re].position.copy(new n.Vector3(0,0,0).add(K).sub(fe));var me=this.models.intersectRaycaster(this.xrControllerRay.right);if(0===me.length&&(me=this.xrControllerRay.right.intersectObject(this.boundingMesh,!0).map((function(e){var t;return ie({floor:null!==(t=null==V?void 0:V.floorIndex)&&void 0!==t?t:0},e)}))),me.length>=1&&me[0].face)if("right"===pe.handedness){var Ae=this.xrControllerRay.right.intersectObject(this.xrCustomObjectsScene,!0),ge=me[0].face.normal,ye=ge.clone().multiplyScalar(.05),be=me[0].point.clone().add(ye);this.intersectMesh.position.copy(be);var xe=be.clone().add(ye);if(this.intersectMesh.lookAt(xe),Math.abs(ge.y)>.99){var we=this.camera.position.clone().sub(be);this.intersectMesh.rotation.z=-Math.atan2(we.z,we.x)}this.intersectMesh.visible=!0,this.needsRender=!0,Ae.length>0?(this.pointerLines.right.setPoints(ve,Ae[0].point),this.pointerLines.right.points.visible=!0,this.intersectMesh.visible=!1):(this.pointerLines.right.points.visible=!1,this.pointerLines.right.setPoints(ve,me[0].point));var Ee=me[0],Me=cs("intersect.update",{raycaster:null!==(s=this.xrControllerRay.right)&&void 0!==s?s:null,intersection:null!=Ee?Ee:null,object:this.intersectMesh});if(this.emit("intersect.update",Me),Me.defaultPrevented)return void this.hideIntersectMesh()}else this.pointerLines.left.setPoints(ve,me[0].point)}}if(this.camera.pose.distance>.1||g){if(V)for(var Ce=0,Se=Object.keys(this.panoMeshes);Ce<Se.length;Ce++){var Ie=Se[Ce];(De=this.panoMeshes[Ie]).setOpacity(0),De.setCurrent(!1),De.updateTime&&De.updateTime(e,t)}}else if(V){var Pe=hs(V.visibleIds,(function(e){var t=d.works.getResolvedObserver(e);return t?V.standingPosition.distanceTo(t.standingPosition):1/0}),!0),Te=Pe[1];Te=jr(Te,2.5,1/0);for(var Be=V.visibleIds.concat(Xe(this.currentPano)),Re=this.getForwardObserverOrNot(),ke=this.camera.getDirection(new n.Vector3),Oe=0,Fe=Object.keys(this.panoMeshes);Oe<Fe.length;Oe++){Ie=Fe[Oe];var De=this.panoMeshes[Ie],Qe=this.works.getResolvedObserver(Ie);if(-1===Be.indexOf(Ie))De.setCurrent(!1),De.setOpacity(0);else if(Qe)if(Qe.loadable||Qe.active){var Le=De.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);De.setCurrent(!De.loading&&0===De.progress&&null!==Re&&Re.panoId===Ie),De.setOpacity(Le<.01?0:jr(Te/Le*1.2,.65,.98));var Ne=this.camera.position.clone().setY(De.position.y),Ve=(new n.Vector3).copy(De.position).sub(Ne).normalize();if(Ie===Xe(this.currentPano)){var ze=jr((.5-Ne.distanceTo(De.position))/.5,0,1);Ve.multiplyScalar(1-ze).add(ke.clone().multiplyScalar(ze))}Ve.length()>0&&De.quaternion.setFromEuler(new n.Euler(0,Math.atan2(Ve.x,Ve.z),0))}else De.setCurrent(!1),De.setOpacity(0);else De.setCurrent(!1),De.setOpacity(0);De.updateTime&&De.updateTime(e,t)}}var je=function(){if(!1===d.tileLevelForFov)return 0;var e=new n.Vector2(4e3,4e3),t=A.panoId,r=d.works.getResolvedObserver(t),i=d.imageOptions.size;if(void 0===i&&r){var o=r.images.up.match(/\/cube_(\d+)\//);o&&(i=Number(o[1]))}void 0===i&&(i=2048);var a=0;i>=1024&&(a=1),i>=2048&&(a=2),i>=4096&&(a=3),i>=8192&&(a=4);var s=d.tileLevelForFov(q.fov,e);return s>a?s:0}(),Ue=function(){var e=new n.PerspectiveCamera;e.applyMatrix4(U.matrix),e.position.set(0,0,0);var t=d.works.getResolvedObserver(A.panoId),r=null!=t?t:V;return r&&e.quaternion.premultiply(r.quaternion.clone().inverse()),e.updateProjectionMatrix(),e.updateMatrixWorld(!0),(new n.Frustum).setFromProjectionMatrix((new n.Matrix4).multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse))}();A.panoId===Xe(this.currentPano)&&(null===(l=A.leftPanoPicture)||void 0===l?void 0:l.map)instanceof Vt&&(A.leftPanoPicture.map.update(Ue,je),!0===A.leftPanoPicture.map.needsRender&&(this.needsRender=!0));var qe=this.tiling.object.visible;if(je>this.TILED_CUBE_TEXTURE_LEVEL&&this.initAnimationed){var _e=A.panoId,He=this.works.getResolvedObserver(_e);He&&Za(this.camera.position,He.position)&&this.locationMotion.ended?(this.tiling.object.visible=!0,this.tiling.panoId!==_e&&this.tiling.cleanup(),this.tiling.panoId=_e,this.tiling.setResource(null!==(u=null===(c=He.images)||void 0===c?void 0:c.tiles)&&void 0!==u?u:[],this.enableIOSEDR&&He.images.luminance?He.images.luminance:null),this.tiling.setFetcher(pa(He.work)),this.tiling.setRotation(He.quaternion),this.tiling.setPosition(He.position),this.tiling.update(Ue,je,e)):this.tiling.object.visible=!1}else this.tiling.object.visible=!1;qe!==this.tiling.object.visible&&(this.tiling.object.needsRender=!0),this.panoVideo.object.position.copy(this.camera.position),this.panoVideo.updateTime(e),this.updateControllerHelper(ue,e,t)}else console.error("no layer found")}}}else console.error("session丢失,请重试");else console.error("xrFrame丢失,请重试")},t.prototype.render=function(){var e=this.xrManager.getCamera(this.camera);this.renderer.render(this.scene,e)},t.prototype.onPanGesture=function(){},t.prototype.onTapGesture=function(){},t.prototype.onPinchGesture=function(){},t.prototype.onMouseMove=function(){},t.prototype.onMouseOut=function(){},t.prototype.panoResourceFromLocationMotionKeyframe=function(e){return this.panoResources[e.key]},t.prototype.updateControllerHelper=function(e,t,r){var n=this.xrControllerRay.left,i=this.xrControllerRay.right;if(e&&0!==e.length){for(var o={buttons:{X:!1,Y:!1,LeftTrigger:!1,LeftPinch:!1,A:!1,B:!1,RightTrigger:!1,RightPinch:!1}},a=0;a<e.length;a++){var s=e[a].handedness,l=e[a].gamepad;switch(s){case"left":this.emitEvent(-1===l.axes[2],"LeftAxesLeft",t),this.emitEvent(1===l.axes[2],"LeftAxesRight",t),this.emitEvent(-1===l.axes[3],"LeftAxesUp",t),this.emitEvent(1===l.axes[3],"LeftAxesDown",t),this.emitEvent(null==l?void 0:l.buttons[4].pressed,"X",t),this.emitEvent(l.buttons[5].pressed,"Y",t),this.emitEvent(null==l?void 0:l.buttons[0].pressed,"LeftTrigger",t),this.emitEvent(null==l?void 0:l.buttons[1].pressed,"LeftPinch",t);var c={raycaster:n,axes:{up:l.axes[3]<0?Math.abs(l.axes[3]):0,down:l.axes[3]<0?0:Math.abs(l.axes[3]),left:l.axes[2]<0?Math.abs(l.axes[2]):0,right:l.axes[2]<0?0:Math.abs(l.axes[2])},deltaTime:r};o.buttons.X=null==l?void 0:l.buttons[4].pressed,o.buttons.Y=null==l?void 0:l.buttons[5].pressed,o.buttons.LeftTrigger=null==l?void 0:l.buttons[0].pressed,o.buttons.LeftPinch=null==l?void 0:l.buttons[1].pressed,o.left=c;break;case"right":this.emitEvent(-1===l.axes[2],"RightAxesLeft",t),this.emitEvent(1===l.axes[2],"RightAxesRight",t),this.emitEvent(-1===l.axes[3],"RightAxesUp",t),this.emitEvent(1===l.axes[3],"RightAxesDown",t),this.emitEvent(null==l?void 0:l.buttons[4].pressed,"A",t),this.emitEvent(l.buttons[5].pressed,"B",t),this.emitEvent(null==l?void 0:l.buttons[0].pressed,"RightTrigger",t),this.emitEvent(null==l?void 0:l.buttons[1].pressed,"RightPinch",t);var u={raycaster:i,axes:{up:l.axes[3]<0?Math.abs(l.axes[3]):0,down:l.axes[3]<0?0:Math.abs(l.axes[3]),left:l.axes[2]<0?Math.abs(l.axes[2]):0,right:l.axes[2]<0?0:Math.abs(l.axes[2])},deltaTime:r};o.right=u,o.buttons.A=null==l?void 0:l.buttons[4].pressed,o.buttons.B=null==l?void 0:l.buttons[5].pressed,o.buttons.RightTrigger=null==l?void 0:l.buttons[0].pressed,o.buttons.RightPinch=null==l?void 0:l.buttons[1].pressed}}this.emit("xr.controller.update",cs("xr.controller.update",o))}},t.prototype.emitEvent=function(e,t,r){var n=this.xrControllerRay.left,i=this.xrControllerRay.right;if(e)!1===this.xrControllerState[t].touchStart?(this.xrControllerState[t].touchStartTime=r,this.xrControllerState[t].touchStart=!0,this.emit("xr.gesture.buttonDown",cs("xr.gesture.buttonDown",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:t,isFinal:!1,isFirst:!0,controllers:{raycaster:{leftRay:n,rightRay:i}}}))):r-this.xrControllerState[t].touchStartTime>300&&this.emit("xr.gesture.press",cs("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:t,isFinal:!0,isFirst:!0,controllers:{raycaster:{leftRay:n,rightRay:i}}}));else if(!0===this.xrControllerState[t].touchStart){if(this.emit("xr.gesture.buttonUp",cs("xr.gesture.buttonUp",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:t,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:n,rightRay:i}}})),r-this.xrControllerState[t].touchStartTime<=300)this.emit("xr.gesture.tap",cs("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:t,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:n,rightRay:i}}}))||"RightTrigger"===t&&this.checkSelectedPano(this.xrControllerRay.right);this.xrControllerState[t].touchStart=!1,this.xrControllerState[t].touchStartTime=0}},t}(al),qc={Floorplan:ys,Topview:Ss,Panorama:al,VRPanorama:zl,Model:Ul,DepthPanorama:Yl,Mapview:mc,XRPanorama:Uc},_c=["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 Hc(e){for(var t,r,n={},i=0,o=e.split(/(\;|\,)/);i<o.length;i++){var a=o[i].split("="),s=null===(t=a[0])||void 0===t?void 0:t.trim(),l=null===(r=a[1])||void 0===r?void 0:r.trim();s&&l&&(n[s]=l)}return n}function Gc(){for(var e,t=document.getElementsByTagName("meta"),r=0;r<t.length;r++){var n=t[r];if("viewport"===n.getAttribute("name")){var i=Hc(null!==(e=n.getAttribute("content"))&&void 0!==e?e:""),o=Number(i["initial-scale"]);if(!isNaN(o))return o}}return 1}var Kc=[351,63],Wc=[20,20],Yc=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),Xc=new Float32Array([0,0,1,0,0,1,1,1]),Jc=new Uint8Array([0,1,2,1,3,2]),Zc=new n.BufferGeometry;Zc.setAttribute("position",new n.BufferAttribute(Yc,3)),Zc.setAttribute("uv",new n.BufferAttribute(Xc,2)),Zc.setIndex(new n.BufferAttribute(Jc,1));var $c=new n.MeshBasicMaterial({transparent:!0,depthTest:!1,depthWrite:!1,stencilWrite:!1,fog:!1}),eu=new n.Mesh(Zc,$c);eu.matrixAutoUpdate=!1;var tu=new n.Scene;tu.add(eu),tu.matrixAutoUpdate=!1;var ru=new n.OrthographicCamera(-.5,.5,.5,-.5,.1,1);ru.position.set(0,0,.5),ru.lookAt(0,0,0),ru.updateMatrixWorld(!0),ru.matrixAutoUpdate=!1;var nu=new n.Vector4,iu=new n.Vector4;function ou(e){if($c.map){var t=e.getViewport(nu),r=e.getScissor(iu),i=e.getScissorTest(),o=e.autoClear,a=r.x+Wc[0]/3,s=r.y+Wc[1]/3,l=Kc[0]/3,c=Kc[1]/3;e.setViewport(a,s,l,c),e.setScissor(a,s,l,c),e.setScissorTest(!0),e.autoClear=!1,e.render(tu,ru),e.setViewport(t),e.setScissor(r),e.setScissorTest(i),e.autoClear=o}else{var u=new n.Texture,d=new Image;d.onload=function(){u.image=d,u.wrapS=n.ClampToEdgeWrapping,u.wrapT=n.ClampToEdgeWrapping,u.minFilter=n.LinearFilter,u.needsUpdate=!0,u.generateMipmaps=!1,$c.needsUpdate=!0,d.onload=fe},d.src="data:image/png;base64,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",$c.map=u}}var au=function(e){return e.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/")},su=new n.Vector2,lu=new n.Frustum,cu=new n.Matrix4,uu=new WeakMap,du=new WeakMap,pu=ua([]),hu=function(e){function t(t){void 0===t&&(t={});var r,i,o,a,s,l,c,u,d,p,h,f=this;if((f=e.call(this)||this).ident=Ya(),fu.instances[f.ident]=f,f.renderSwitch01=0,f.currentMode="Panorama",f.pano={workCode:"",panoIndex:0},f.needsRender=!1,f.onlyRenderIfNeeds=null===(r=t.onlyRenderIfNeeds)||void 0===r||r,f.imageOptions=ie({},null!==(i=t.imageOptions)&&void 0!==i?i:{}),f.textureOptions=ie({},null!==(o=t.textureOptions)&&void 0!==o?o:{}),f.modelLodOptions=ie({},null!==(a=t.modelLod)&&void 0!==a?a:{}),f.poweredByRealsee=null===(s=t.poweredByRealsee)||void 0===s||s,f.extraElements=[],f.controllerInits={Panorama:Object.assign({},t.panorama),Model:Object.assign({},t.model),Floorplan:Object.assign({},t.floorplan),Topview:Object.assign({},t.topview),Mapview:Object.assign({},t.mapview),DepthPanorama:Object.assign({},t.depthPanorama),VRPanorama:Object.assign({},t.vrPanorama),XRPanorama:Object.assign({},t.xrPanorama)},f.fps={testCount:0,testTime:me()},f.info=null,f.modeChangeDuration=null!==(l=t.modeChangeDuration)&&void 0!==l?l:800,"undefined"!=typeof window)if(t.renderer)t.renderer instanceof Gt&&f.throwError(new Error("cannot render a internal renderer")),f.renderer=t.renderer;else try{f.renderer=new Gt({preserveDrawingBuffer:t.preserveDrawingBuffer,backgroundColor:t.backgroundColor,backgroundAlpha:t.backgroundAlpha,antialias:t.antialias,webgl2:null==t?void 0:t.webgl2});var v=Gc();f.renderer.setPixelRatio(1===v?window.devicePixelRatio:1),f.renderer.setSize(512,512)}catch(e){e instanceof Error&&f.throwError(e)}f.getPixelsRenderTarget=new n.WebGLRenderTarget(1,1,{encoding:null!==(u=null===(c=f.renderer)||void 0===c?void 0:c.outputEncoding)&&void 0!==u?u:n.sRGBEncoding}),f.scissor=Object.assign({left:0,bottom:0,width:1,height:1},t.scissor),f.camera=new $t(90),f.scene=new Kt,f.xrCustomObjectsScene=new n.Scene,f.scene.add(f.xrCustomObjectsScene),f.scene.matrixAutoUpdate=!1,f.lastLoadWorkTask=Promise.resolve(),f.requestProxy=null!==(d=t.requestProxy)&&void 0!==d?d:au,f.networkSubscribe=new Re,f.networkSubscribe.on("network",(function(e,t,r,n){var i;f.emit("network.resource",cs("network.resource",{source:e,requestType:t,requestState:r,detail:n})),null===(i=f.analysis)||void 0===i||i.network(f.works,e,t,r,n)})),f.boundingMesh=(p=new n.Box3(new n.Vector3(-.5,-.5,-.5),new n.Vector3(.5,.5,.5)),void 0===h&&(h=es),new ts(p,h)),f.boundingMesh.name="bounding",f.scene.add(f.boundingMesh),f.models=Ra(),f.models.push(new Ba),f.lastModels=Ra(),f.readyCallbacks=[],f.syncingState=!1,f.modelGroup=new n.Group,f.modelGroup.visible=!1,f.modelGroup.name="model",f.modelGroup.matrixAutoUpdate=!1,f.modelGroup.renderOrder=-4,f.scene.add(f.modelGroup),f.helperGroup=new n.Group,f.helperGroup.name="helper",f.helperGroup.matrixAutoUpdate=!1,f.scene.add(f.helperGroup),f.videoTexture=new n.VideoTexture(t.videoInstance||function(){var e=document.createElement("video");e.loop=!0,e.autoplay=!0,e.playsInline=!0,e.muted=!0,e.crossOrigin="";var t=function(){document.removeEventListener("touchstart",t,!1),document.removeEventListener("mousedown",t,!1),e.muted=!1};return document.addEventListener("touchstart",t,!1),document.addEventListener("mousedown",t,!1),e}()),function(e){(t=new n.DirectionalLight(16777215,.5)).position.copy(new n.Vector3(1,1,1)),e.add(t);var t=new n.DirectionalLight(16777215,.3);e.add(t),t=new n.AmbientLight(16777215,.3),e.add(t)}(f.scene),f.copyEffect=new Ns(f.renderer,f.scene,f.camera,f.models),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._enableIOSEDR=!1,f.destroyed=!1,f.paused=!0,"undefined"!=typeof window&&(!1!==t.play&&f.play(),f.stopAnimationLoop=Ne.shared.add((function(e,t){for(var r=[],n=2;n<arguments.length;n++)r[n-2]=arguments[n];f.updateTime.apply(f,ce([e,t],r,!1))}),!1,0,10));var m,A=function(){"undefined"!=typeof document&&null===document.fullscreenElement&&"VRPanorama"===f.currentMode&&f.controller.emit("vr.requestExit",cs("vr.requestExit",{}))};if("undefined"!=typeof document&&document.addEventListener("fullscreenchange",A,!1),f.removeEventListeners=function(){"undefined"!=typeof document&&document.removeEventListener("fullscreenchange",A,!1)},f.plugins={},t.plugins&&t.plugins.length)for(var g=0,y=t.plugins;g<y.length;g++){var b=y[g];if("function"==typeof b)b(f);else if(Array.isArray(b)){var x=b[0],w=b[1],E=b[2];if("function"==typeof x){var M=x(f,E);"string"==typeof w&&(f.plugins[w]?f.throwError(new Error("plugin name ".concat(w," is exists."))):f.plugins[w]=M)}}}return f.gpuPickingRenderTarget=new n.WebGLRenderTarget(1,1),f.meshReplaceMaterialMap=new Map,f.meshOriginMaterialMap=new Map,(m=f).on("initAnimation.start",(function(e){m.emit("initAnimationWillStart",e.state.panoIndex,e.state,e.userAction)})),m.on("initAnimation.end",(function(e){m.emit("initAnimationEnded",e.state.panoIndex,e.state,e.userAction)})),m.on("gesture.pan",(function(e){m.emit("wantsGesture","pan",e.pointers,e.isFinal)&&e.preventDefault(),m.emit("wantsPanGesture",e.state,e.isFinal)&&e.preventDefault(),e.defaultPrevented||(m.emit("gesture","pan",e.pointers,e.isFinal),m.emit("panGesture",e.state,e.isFinal))})),m.on("gesture.tap",(function(e){m.emit("wantsGesture","tap",e.pointers,e.isFinal)&&e.preventDefault(),m.emit("wantsTapGesture",e.center.raycaster,e.center.coords,e.isFinal)&&e.preventDefault(),e.defaultPrevented||(m.emit("gesture","tap",e.pointers,e.isFinal),m.emit("tapGesture",e.center.raycaster,e.center.coords,e.isFinal))})),m.on("gesture.press",(function(e){m.emit("wantsGesture","press",e.pointers,e.isFinal)&&e.preventDefault(),m.emit("wantsPressGesture",e.center.raycaster,e.center.coords,e.center.delta,e.isFinal)&&e.preventDefault(),e.defaultPrevented||(m.emit("gesture","press",e.pointers,e.isFinal),m.emit("pressGesture",e.center.raycaster,e.center.coords,e.center.delta,e.isFinal))})),m.on("gesture.pinch",(function(e){m.emit("wantsGesture","pinch",e.pointers,e.isFinal)&&e.preventDefault(),m.emit("wantsPinchGesture",e.scale,e.state.fov,e.isFinal)&&e.preventDefault(),e.defaultPrevented||(m.emit("gesture","pinch",e.pointers,e.isFinal),m.emit("pinchGesture",e.scale,e.state.fov,e.isFinal))})),m.on("gesture.mousewheel",(function(e){m.emit("wantsGesture","mouseWheel",e.pointers,e.isFinal)&&e.preventDefault(),m.emit("wantsMouseWheel",e.center.delta,e.state.fov,e.isFinal)&&e.preventDefault(),e.defaultPrevented||(m.emit("gesture","mouseWheel",e.pointers,e.isFinal),m.emit("mouseWheel",e.center.delta,e.state.fov,e.isFinal))})),m.on("gesture.mousemove",(function(e){m.emit("wantsGesture","mouseMove",e.pointers,e.isFinal)&&e.preventDefault(),e.defaultPrevented||(m.emit("gesture","mouseMove",e.pointers,e.isFinal),m.emit("wantsChangeCameraFov",e.state.fov)&&e.preventDefault())})),m.on("gesture.momentum",(function(e){m.emit("wantsInteriaPan",e.state)&&e.preventDefault(),e.defaultPrevented||m.emit("interiaPan",e.state,e.isFinal)})),m.on("camera.update",(function(e){m.emit("cameraFovUpdate",e.state.fov,e.userAction),m.emit("cameraDirectionUpdate",e.state,e.userAction);var t=Wt(e.state);t.setLength(e.state.distance);var r=e.state.offset.clone().sub(t);m.emit("cameraPositionUpdate",r,e.userAction),m.emit("cameraUpdate",e.state,e.userAction)})),m.on("intersect.update",(function(e){e.intersection?(m.emit("wantsShowIntersectionOnModel",e.raycaster)&&e.preventDefault(),e.defaultPrevented||m.emit("intersectionOnModelUpdate",e.intersection,e.object)):m.emit("intersectionHidden")})),m.on("pano.request",(function(e){var t=m.emit("wantsMoveToPano",e.state.panoIndex,e.options,e.userAction);t||(t=m.emit("wantsToMoveToPano",e.state.panoIndex,e.options,e.userAction)),t&&e.preventDefault(),e.defaultPrevented||m.emit("panoWillLoad",e.state.panoIndex)})),m.on("pano.select",(function(e){m.emit("panoSelected",e.state.panoIndex)})),m.on("pano.moveTo",(function(e){m.emit("panoLoaded",e.state.panoIndex),m.emit("moveToPano",e.state.panoIndex,e.userAction),m.emit("panoWillArrive",e.state.panoIndex,e.state,e.userAction)})),m.on("pano.moving",(function(e){m.emit("movingToPano",e.state.panoIndex,e.prevPano.panoIndex,e.progress)})),m.on("pano.arrived",(function(e){m.emit("panoArrived",e.state.panoIndex,e.state,e.userAction)})),m.on("pano.cancel",(function(e){m.emit("moveToPanoCanceled",e.state.panoIndex)})),m.on("pano.error",(function(e){m.emit("panoLoadError",e.error,e.state.panoIndex)})),m.on("pano.texture.load",(function(e){m.emit("textureStartLoad",e.pano.panoIndex)})),m.on("pano.texture.success",(function(e){m.emit("textureLoaded",e.pano.panoIndex,e.meta)})),m.on("pano.texture.error",(function(e){m.emit("textureError",e.error,e.pano.panoIndex)})),m.on("pano.texture.abort",(function(e){m.emit("textureAbort",e.pano.panoIndex)})),m.on("pano.texture.progress",(function(e){m.emit("textureLoading",e.progress,e.pano.panoIndex)})),m.on("xr.session.start",(function(e){m.emit("webXRSessionStart")})),m.on("xr.session.end",(function(e){m.emit("webXRSessionEnd")})),m.on("xr.gesture.tap",(function(e){m.emit("webXRControllerEvent","tap",e.buttons,{raycaster:e.controllers.raycaster})})),m.on("xr.gesture.press",(function(e){m.emit("webXRControllerEvent","press",e.buttons,{raycaster:e.controllers.raycaster})})),m.on("xr.gesture.buttonUp",(function(e){m.emit("webXRControllerEvent","buttonUp",e.buttons,{raycaster:e.controllers.raycaster})})),m.on("xr.gesture.buttonDown",(function(e){m.emit("webXRControllerEvent","buttonDown",e.buttons,{raycaster:e.controllers.raycaster})})),m.on("xr.controller.update",(function(e){m.emit("webXRControllerRayUpdate",{leftRay:e.left?e.left.raycaster:void 0,rightRay:e.right?e.right.raycaster:void 0}),e.left&&m.emit("webXRAxesUpdate","left",{raycaster:{leftRay:e.left?e.left.raycaster:void 0,rightRay:e.right?e.right.raycaster:void 0},axesState:{up:e.left.axes.up,down:e.left.axes.down,left:e.left.axes.left,right:e.left.axes.right},deltaTime:e.left.deltaTime}),e.right&&m.emit("webXRAxesUpdate","right",{raycaster:{leftRay:e.left?e.left.raycaster:void 0,rightRay:e.right?e.right.raycaster:void 0},axesState:{up:e.right.axes.up,down:e.right.axes.down,left:e.right.axes.left,right:e.right.axes.right},deltaTime:e.right.deltaTime})})),m.on("works.request",(function(e){m.emit("willLoad",e.input,e.works[0],e.state)})),m.on("works.load",(function(e){m.emit("load",e.input,e.works[0],e.state)})),m.on("works.ready",(function(e){m.emit("loaded",e.input,e.works[0])})),m.on("state.change",(function(e){m.emit("stateChange",e.state,e.userAction)})),m.on("currentState.change",(function(e){m.emit("currentStateChange",e.state,e.userAction)})),m.on("state.set",(function(e){m.emit("setState",e.state)})),m.on("state.synced",(function(e){m.emit("stateSynced",e.state)})),m.on("model.request",(function(e){m.emit("modelWillLoad",e.work.model)})),m.on("model.error",(function(e){m.emit("modelLoadError",e.error,e.model)})),m.on("model.load",(function(e){m.emit("modelLoaded",e.model)})),m.on("model.changeShownFloor",(function(e){m.emit("modelShownFloorChange",e.model.shownFloor,e.model.floorLength)})),m.on("render",(function(e){m.emit("renderFrame",e.needsRender)})),m.on("mode.change.request",(function(e){m.emit("wantsChangeMode",e.mode,e.prevMode)})),m.on("mode.change",(function(e){m.emit("modeChange",e.mode,e.prevMode,e.state.panoIndex,e.state,e.userAction)})),m.on("helpers.visible",(function(e){m.emit("helpersVisibleChange",e.object.visible)})),m.on("network.resource",(function(e){m.emit("network",e.source,e.requestType,e.requestState,e.detail)})),f}return ne(t,e),Object.defineProperty(t,"version",{get:function(){return"6.0.0-alpha.48"},enumerable:!1,configurable:!0}),Object.defineProperty(t,"dracoPath",{get:function(){return Gn.decoderPath},set:function(e){Gn.setDecoderPath(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t,"ktx2Path",{get:function(){return Zn.transcoderPath},set:function(e){Zn.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,t,r,i,o){var a=this;if(void 0===i&&(i=1),void 0===o&&(o=new n.Vector3(0,0,0)),!this.renderer)throw new Error("renderer is not initialized.");this.models.setMaterial({constantColor:o}),this.scene.traverse((function(e){if(e instanceof n.Mesh&&!(e instanceof tt)){var t=Object.keys(r).filter((function(t){return t===e.uuid}))[0];if(t)if(a.meshOriginMaterialMap.set(t,e.material),a.meshReplaceMaterialMap.get(t))e.material=a.meshReplaceMaterialMap.get(t);else{var i=new n.ShaderMaterial({uniforms:{color:{value:r[t]}},vertexShader:"\n void main() {\n vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n gl_Position = projectionMatrix * mvPosition;\n }\n ",fragmentShader:"\n uniform vec3 color;\n void main() {\n gl_FragColor = vec4( color, 1.0 );\n }\n "});i.depthTest=e.material.depthTest,i.side=e.material.side,a.meshReplaceMaterialMap.set(t,i),e.material=i}}}));var s=this.renderer.getSize(new n.Vector2);this.camera.setViewOffset(s.width,s.height,e*i,t*i,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(e){e instanceof n.Mesh&&!(e instanceof tt)&&a.meshOriginMaterialMap.get(e.uuid)&&(e.material=a.meshOriginMaterialMap.get(e.uuid))})),this.models.setMaterial({constantColor:null});var c=Object.keys(r).filter((function(e){return r[e].equals((new n.Color).setRGB(l[0]/255,l[1]/255,l[2]/255))}))[0];return c||!1},t.prototype.dispose=function(){var e,t;if(!0!==this.destroyed){delete fu.instances[this.ident],this.emit("dispose"),this.destroyed=!0,this.pause(),this.stopAnimationLoop&&(this.stopAnimationLoop(),delete this.stopAnimationLoop),null===(e=this.renderer)||void 0===e||e.setAnimationLoop(null),this.off(),this.networkSubscribe.off(),this.controller&&(this.controller.destroy(),this.controller=void 0);var r=this.getElement();r&&r.parentNode&&r.parentNode.removeChild(r);var n=this.models.getMaterial();n&&(n.pano0&&n.pano0.map.dispose(),n.pano1&&n.pano1.map!==(null===(t=n.pano0)||void 0===t?void 0:t.map)&&n.pano1.map.dispose());for(var i=0,o=this.models;i<o.length;i++){o[i].dispose()}this.models.length=0,this.models.setMaterial({pano0:null,pano1:null}),this.meshReplaceMaterialMap.forEach((function(e){e.dispose()})),this.meshOriginMaterialMap.forEach((function(e){e.dispose()})),this.renderer instanceof Gt&&this.renderer.forceContextLoss&&this.renderer.forceContextLoss()}},t.prototype.setScissor=function(e){Object.assign(this.scissor,e),this.controller&&this.controller.updateRenderSize&&this.controller.updateRenderSize()},Object.defineProperty(t.prototype,"helperVisible",{get:function(){return this.helperGroup.visible},set:function(e){this.helperGroup.visible!==e&&(this.helperGroup.visible=e,this.emit("helpers.visible",cs("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&&"Panorama"===this.currentMode&&this.changeMode(this.currentMode,this.getCurrentState(),0,!1,!0))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"postProcessingType",{get:function(){return"Panorama"===this.currentMode&&this.enableIOSEDR?"luminance":"Mapview"===this.currentMode&&this.enableEDL?"edl":"Mapview"===this.currentMode&&this.enableHQ?"hq":null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableEDL",{get:function(){return this.models.getMaterial().useEDL},set:function(e){var r,i,o,a;if(!0===e&&this.currentMode!==t.Mode.Mapview)throw new Error("只支持Mapview下开启EDL");if(this.models.setMaterial({useEDL:e}),this.boundingMesh.visible=!e,e){if(!this.screenBuffers){var s=this.getDrawingBufferSize(su);this.screenBuffers=[new n.WebGLRenderTarget(s.x,s.y,{encoding:null!==(i=null===(r=this.renderer)||void 0===r?void 0:r.outputEncoding)&&void 0!==i?i:n.sRGBEncoding,minFilter:n.NearestFilter,magFilter:n.NearestFilter,format:n.RGBAFormat,type:n.FloatType}),new n.WebGLRenderTarget(s.x,s.y,{encoding:null!==(a=null===(o=this.renderer)||void 0===o?void 0:o.outputEncoding)&&void 0!==a?a:n.sRGBEncoding,minFilter:n.LinearMipMapLinearFilter,magFilter:n.LinearMipMapLinearFilter})]}}else this.screenBuffers&&(this.screenBuffers.forEach((function(e){e.dispose()})),delete this.screenBuffers);this.needsRender=!0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableHQ",{get:function(){return this.models.getMaterial().useHQWeight||this.models.getMaterial().useHQDepth||!1},set:function(e){var r,i;if(!0===e&&this.currentMode!==t.Mode.Mapview)throw new Error("只支持Mapview下开启HQ");if(!0===e?this.models.setMaterial({useHQDepth:!0,useHQWeight:!1,pointShape:"CIRCLE"}):this.models.setMaterial({useHQDepth:!1,useHQWeight:!1}),this.boundingMesh.visible=!e,e){if(!this.screenBuffers){var o=this.getDrawingBufferSize(su),a=new n.WebGLRenderTarget(o.x,o.y,{minFilter:n.NearestFilter,magFilter:n.NearestFilter,format:n.RGBAFormat,type:n.FloatType,depthTexture:new n.DepthTexture(o.x,o.y,n.UnsignedIntType)});a.depthTexture.format=n.DepthFormat,a.depthBuffer=!0;var s=new n.WebGLRenderTarget(o.x,o.y,{encoding:null!==(i=null===(r=this.renderer)||void 0===r?void 0:r.outputEncoding)&&void 0!==i?i:n.sRGBEncoding,minFilter:n.NearestFilter,magFilter:n.NearestFilter,format:n.RGBAFormat,type:n.FloatType,depthTexture:a.depthTexture});this.screenBuffers=[a,s]}}else this.screenBuffers&&(this.screenBuffers.forEach((function(e){e.dispose()})),delete this.screenBuffers);this.needsRender=!0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enablePostProcessing",{get:function(){return void 0!==this.screenBuffers},set:function(e){var t,r,i,o;if(e){if(!this.screenBuffers){var a=this.getDrawingBufferSize(su);this.screenBuffers=[new n.WebGLRenderTarget(a.x,a.y,{encoding:null!==(r=null===(t=this.renderer)||void 0===t?void 0:t.outputEncoding)&&void 0!==r?r:n.sRGBEncoding}),new n.WebGLRenderTarget(a.x,a.y,{encoding:null!==(o=null===(i=this.renderer)||void 0===i?void 0:i.outputEncoding)&&void 0!==o?o:n.sRGBEncoding})]}}else this.screenBuffers&&(this.screenBuffers.forEach((function(e){e.dispose()})),delete this.screenBuffers);this.needsRender=!0},enumerable:!1,configurable:!0}),t.prototype.updateConfiguration=function(e){var t=!1;e.panorama&&(Object.assign(this.controllerInits.Panorama,e.panorama),"Panorama"===this.currentMode&&(t=!0)),e.model&&(Object.assign(this.controllerInits.Model,e.model),"Model"===this.currentMode&&(t=!0)),e.floorplan&&(Object.assign(this.controllerInits.Floorplan,e.floorplan),"Floorplan"===this.currentMode&&(t=!0)),e.topview&&(Object.assign(this.controllerInits.Topview,e.topview),"Topview"===this.currentMode&&(t=!0)),e.mapview&&(Object.assign(this.controllerInits.Mapview,e.topview),"Mapview"===this.currentMode&&(t=!0)),e.depthPanorama&&(Object.assign(this.controllerInits.DepthPanorama,e.depthPanorama),"DepthPanorama"===this.currentMode&&(t=!0)),e.vrPanorama&&(Object.assign(this.controllerInits.VRPanorama,e.vrPanorama),"VRPanorama"===this.currentMode&&(t=!0)),e.imageOptions&&(Object.assign(this.imageOptions,e.imageOptions),"Panorama"!==this.currentMode&&"DepthPanorama"!==this.currentMode&&"VRPanorama"!==this.currentMode||(t=!0)),t&&this.controller&&this.currentMode&&this.changeMode(this.currentMode,this.getCurrentState(),0,!1,!0),e.textureOptions&&Object.assign(this.textureOptions,e.textureOptions)},t.prototype.appendTo=function(e,t){if(void 0===t&&(t={}),this.renderer)if(this.renderer instanceof Gt){var r=this.getElement();if(r){e.appendChild(r),this.refresh(t);var n=window.getComputedStyle(e).position;"relative"!==n&&"absolute"!==n&&"fixed"!==n&&"sticky"!==n&&(e.style.position="relative")}}else this.throwError(new Error("cannot call appendTo method when render a external renderer"))},t.prototype.refresh=function(e,t){if(void 0===e&&(e={}),this.renderer){var r=this.getElement();if(r){var n=r.parentNode;if(n&&n.nodeName){var i=e.width,o=void 0===i?n.offsetWidth:i,a=e.height,s=void 0===a?n.offsetHeight:a;this.renderer instanceof Gt&&(t&&this.renderer.setPixelRatio(t),this.renderer.setSize(o,s))}this.controller&&this.controller.updateRenderSize&&this.controller.updateRenderSize(),this.needsRender=!0}}},t.prototype.addExtraElement=function(e){var t=this;return-1===this.extraElements.indexOf(e)&&(this.extraElements.push(e),this.controller&&this.controller.bindExtraElement(e)),function(){return t.removeExtraElement(e)}},t.prototype.removeExtraElement=function(e){var t=this.extraElements.indexOf(e);-1!==t&&(this.extraElements.splice(t,1),this.controller&&this.controller.unbindExtraElement(e))},t.prototype.getPose=function(){var e=this.camera.copyPose(),t=e.longitude,r=e.latitude,n=e.fov,i=e.offset,o=e.distance;return{longitude:t,latitude:r,fov:n,offset:i.clone(),distance:o}},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,t,r){return void 0===r&&(r=!0),this.controller?this.controller.updateCamera(e,t,r):Promise.reject(new Error("controller is not initialized."))},t.prototype.updateCameraWithKeyframes=function(e,t,r){return void 0===r&&(r=!0),this.controller?this.controller.updateCameraWithKeyframes(e,t,r):Promise.reject(new Error("controller is not initialized."))},t.prototype.getLongitudeAndLatitude=function(){var e=this.getPose();return{longitude:e.longitude,latitude:e.latitude}},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 t=new n.Object3D;return t.position.copy(e.position),t.quaternion.copy(e.quaternion),t.scale.set(1,1,1),t.matrix.compose(t.position,t.quaternion,t.scale),t.matrixAutoUpdate=!1,function(e,t){var r=new n.Vector3(0,0,-1);r.applyQuaternion(e.quaternion);var i=t.quaternion.clone().inverse();return r.applyQuaternion(i),{theta:Math.atan2(r.x,-r.z),phi:-Math.asin(r.y),lookAtVector:r}}(this.camera,t)}}return null},Object.defineProperty(t.prototype,"works",{get:function(){var e=du.get(this);if(!e)return pu;for(var t=0,r=e;t<r.length;t++){var n=r[t];if(!$o.has(n))return pu}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,t,r,n){var i=this;if(void 0===n&&(n=!0),!this.renderer)throw new Error("renderer is not initialized");var o=this.lastLoadWorkTask.then((function(){return!(o=e)||"object"!=typeof o&&"function"!=typeof o||"function"!=typeof o.then?i.load_(e,t,r,n):e.then((function(e){return i.load_(e,t,r,n)}));var o}));return this.lastLoadWorkTask=o.catch((function(e){i.throwError(e)})),o},t.prototype.load_=function(e,r,i,o){var a,s,l,c,u,d,p=this;void 0===o&&(o=!0);var h=[];if(Array.isArray(e))for(var f=0,v=e;f<v.length;f++){var m=v[f];"string"!=typeof m&&"work"in m?h.push(ca(m.work,m)):h.push(ca(m))}else h.push(ca(e));for(var A=ua(h),g=function(e){var t=y;!function(e,t){da.set(e,t)}(e,new Fe({allowHosts:e.allowHosts,get requestProxy(){return t.requestProxy},get networkSubscribe(){return t.networkSubscribe}}))},y=this,b=0,x=A;b<x.length;b++){g(x[b])}var w=this.works;void 0===r&&(r=0!==w.length?"inherit":"initial");var E=A.initial,M=E.work.observers[0],C=M?{workCode:M.work.workCode,panoIndex:M.panoIndex}:{workCode:E.work.workCode,panoIndex:0},S=null!==(a=E.mode)&&void 0!==a?a:M?"Panorama":"Mapview",I={};if("inherit"===r)S=this.currentMode,(P=A.resolvedObservers[this.panoIndex])?C={workCode:P.work.workCode,panoIndex:P.panoIndex}:"number"==typeof A.initial.panoIndex?C={workCode:A.initial.work.workCode,panoIndex:A.initial.panoIndex}:"Panorama"!==S&&"DepthPanorama"!==S&&"VRPanorama"!==S&&"XRPanorama"!==S||(S="Mapview"),I={longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,distance:this.camera.pose.distance,offset:this.camera.pose.offset.clone()};else if("initial"===r)"number"==typeof E.panoIndex&&(C={workCode:E.work.workCode,panoIndex:E.panoIndex}),E.mode&&(S=E.mode),I={longitude:E.longitude,latitude:E.latitude,fov:E.fov,distance:E.distance,offset:null===(s=E.offset)||void 0===s?void 0:s.clone()};else{var P;if(S=null!==(l=r.mode)&&void 0!==l?l:this.currentMode,"number"==typeof r.panoIndex)(P=A.getResolvedObserver({workCode:null!==(u=null!==(c=r.workCode)&&void 0!==c?c:E.work.workCode)&&void 0!==u?u:"",panoIndex:r.panoIndex}))&&(C={workCode:P.work.workCode,panoIndex:P.panoIndex});I={longitude:r.longitude,latitude:r.latitude,fov:r.fov,distance:r.distance,offset:r.offset}}var T=ie(ie(ie({},C),{mode:S}),I);this.emit("works.request",cs("works.request",{input:e,works:A,state:T,userAction:o}));var B=function(){p.pano=C;var e=p.controller?null!=i?i:p.modeChangeDuration:0,t=ie(ie({initial:{state:T,currentState:p.getCurrentState(),duration:e,userAction:o}},p.commonParams()),p.controllerInits[S]);if(p.controller&&p.currentMode===S)!1===p.controller.updateWork(A,T,e,o)&&(p.controller.destroy(),p.controller=p.applyController(S,t));else{var r=p.currentMode,n=qc[S].initAnimationEndState(t);if(p.controller)p.controller.destroy();else{var a=qc[S].initAnimationEndState(t);p.camera.setFromPose(a),p.modelGroup.visible=!0,p.emit("camera.update",cs("camera.update",{state:p.getCurrentState(),userAction:o}))}p.controller=p.applyController(S,t);var s=cs("mode.change",{prevMode:r,mode:S,state:n,userAction:o});p.emit("mode.change",s)}};if(du.set(this,A),!this.controller){var R=ie(ie({initial:{state:T,currentState:this.getCurrentState(),duration:0,userAction:o}},this.commonParams()),this.controllerInits[S]),k=qc[S].initAnimationEndState(R);this.camera.setFromPose(k),this.emit("camera.update",cs("camera.update",{state:this.getCurrentState(),userAction:o}))}if(S===t.Mode.Floorplan||S===t.Mode.Topview||S===t.Mode.Mapview||S===t.Mode.Model)this.loadModel(A).then((function(){p.needsRender=!0,B(),p.emit("camera.update",cs("camera.update",{state:p.getCurrentState(),userAction:o}))}));else{if(!this.controller){var O=new n.Vector3,F=A.getResolvedObserver(C);F&&O.copy(F.position),this.camera.setFromPose({fov:I.fov,longitude:I.longitude,latitude:I.latitude,distance:I.distance,offset:null!==(d=I.offset)&&void 0!==d?d:O}),this.needsRender=!0}B(),this.controller.once("pano.moveTo",(function(){p.needsRender=!0,p.emit("camera.update",cs("camera.update",{state:p.getCurrentState(),userAction:o})),p.loadModel(A)}))}return this.emit("works.load",cs("works.load",{input:e,state:this.getCurrentState(),userAction:o,works:A})),this.ready().then((function(){var t;p.emit("works.ready",cs("works.ready",{input:e,state:p.getCurrentState(),userAction:o,works:A})),null===(t=p.analysis)||void 0===t||t.work(A)}))},t.prototype.changeMode=function(e,r,n,i,o){var a=this;return void 0===r&&(r={}),void 0===n&&(n=this.modeChangeDuration),void 0===i&&(i=!0),void 0===o&&(o=!1),new Promise((function(s,l){var c,u,d;if(!a.renderer)throw new Error("renderer is not initialized.");var p="number"==typeof(r=ie({},r)).panoIndex?{workCode:null!==(d=null!==(c=r.workCode)&&void 0!==c?c:null===(u=a.work)||void 0===u?void 0:u.workCode)&&void 0!==d?d:"",panoIndex:r.panoIndex}:a.pano;if(!t.Mode.hasOwnProperty(e)){var h=new Error('mode "'.concat(e,'" is not existed'));return a.throwError(h),void l(h)}if((e===t.Mode.Floorplan||e===t.Mode.Topview||e===t.Mode.Mapview||e===t.Mode.Model)&&!a.models.loaded){h=new Error("model is not ready.");return a.throwError(h),void l(h)}if((e===t.Mode.Panorama||e===t.Mode.VRPanorama||e===t.Mode.XRPanorama)&&!a.works.getResolvedObserver(p)){h=new Error("PanoId ".concat(Xe(p)," not existed."));return a.throwError(h),void l(h)}var f=a.controller,v=a.currentMode,m=function(){if(a.controller&&a.controller.stopMomentumMovement(),a.controller&&!1===o&&v===e)e===t.Mode.Panorama||e===t.Mode.DepthPanorama||e===t.Mode.Model||e===t.Mode.VRPanorama||e===t.Mode.XRPanorama?Ze(a.pano,p)&&"moveToPano"in a.controller&&"function"==typeof a.controller.moveToPano?a.controller.moveToPano(p,ie({duration:n},r),i):a.controller.updateCamera(r,n,i).catch(fe):(Ze(a.pano,p)||(a.pano=p),a.controller.updateCamera(r,n,i).catch(fe));else{var l=ie(ie({},r),p),c=ie(ie({initial:{state:l,currentState:a.getCurrentState(),duration:n,userAction:i}},a.commonParams()),a.controllerInits[e]),u=qc[e].initAnimationEndState(c),d=cs("mode.change.request",{prevMode:a.currentMode,mode:e,state:u,userAction:i});if(a.emit("mode.change.request",d),!d.defaultPrevented){f&&f.destroy(),a.controller=a.applyController(e,c);var h=cs("mode.change",{prevMode:a.currentMode,mode:e,state:u,userAction:i});a.emit("mode.change",h)}}s()};if(e===t.Mode.VRPanorama)a.requestFullscreen(),("undefined"==typeof location||"https:"!==location.protocol?Promise.reject(new Error("Request DeviceOrientation Permission denied.")):"undefined"!=typeof DeviceOrientationEvent&&"function"==typeof DeviceOrientationEvent.requestPermission?DeviceOrientationEvent.requestPermission().then((function(e){if("granted"==e)return Promise.resolve();var t=new Error("Request DeviceOrientation Permission denied.");return Promise.reject(t)})):Promise.resolve()).then((function(){return m()})).catch((function(e){e instanceof Error&&(a.exitFullscreen(),a.throwError(e),l(e))}));else if(e===t.Mode.XRPanorama){var A=Ne.shared.getContext();A?A.end():function(){if("xr"in navigator)return navigator.xr.isSessionSupported("immersive-vr").then((function(e){return e?Promise.resolve():Promise.reject()})).then((function(){return navigator.xr.requestSession("immersive-vr",{optionalFeatures:["local-floor","bounded-floor"]}).then((function(e){return Promise.resolve(e)}))}));var e=new Error("Request XR Permission denied.");return Promise.reject(e)}().then((function(e){Ne.shared.setContext(e),m()})).catch((function(e){e instanceof Error&&(a.throwError(e),l(e))}))}else m()}))},t.prototype.getPixels=function(e,t,r,i,o){if(void 0===o&&(o=1),!this.renderer)throw new Error("renderer is not initialized.");var a=this.getPixelsRenderTarget,s=this.renderer.getSize(new n.Vector2);e=jr(e,Math.floor(r/2),Math.floor(s.x-r)),t=jr(t,Math.floor(i/2),Math.floor(s.y-i)),a.setSize(r*o,i*o),this.renderer.setRenderTarget(a),this.camera.setViewOffset(s.width,s.height,e,s.height-t-i,r,i),this.controller?this.controller.render():this.renderer.render(this.scene,this.camera);var l=new Uint8Array(r*o*i*o*4);return this.renderer.readRenderTargetPixels(a,0,0,r*o,i*o,l),this.renderer.setRenderTarget(null),this.camera.clearViewOffset(),l},t.prototype.getElement=function(){var e;return null===(e=this.renderer)||void 0===e?void 0:e.domElement},Object.defineProperty(t.prototype,"observers",{get:function(){return this.works.resolvedObservers},enumerable:!1,configurable:!0}),t.prototype.render=function(e,t){var r=this;if(void 0===t&&(t=!1),!this.renderer)return null;if(t){var n=this.renderer.getSize(su);this.scene.traverseVisible((function(e){e.setResolution&&e.setResolution(n.x,n.y)}))}if(this.controller&&this.screenBuffers&&null===this.renderer.getRenderTarget()){var i=this.getDrawingBufferSize(su);return this.screenBuffers.forEach((function(e){e.setSize(i.x,i.y)})),this.renderer.setRenderTarget(this.screenBuffers[0]),this.controller.render(),this.info={memory:ie({},this.controller.renderer.info.memory),render:ie({},this.controller.renderer.info.render)},"VRPanorama"!==this.currentMode&&"XRPanorama"!==this.currentMode&&this.poweredByRealsee&&ou(this.renderer),e&&Ne.shared.add(e,!0),this.screenBuffers[0]}return this.aroundScissor((function(){r.renderer&&(r.controller?(r.controller.render(),r.info={memory:ie({},r.controller.renderer.info.memory),render:ie({},r.controller.renderer.info.render)}):(r.renderer.render(r.scene,r.camera),r.info={memory:ie({},r.renderer.info.memory),render:ie({},r.renderer.info.render)}),r.poweredByRealsee&&"VRPanorama"!==r.currentMode&&"XRPanorama"!==r.currentMode&&ou(r.renderer)),e&&Ne.shared.add(e,!0)})),null},t.prototype.updateTime=function(e,t){for(var r,i,o,a=this,s=[],l=2;l<arguments.length;l++)s[l-2]=arguments[l];if(!this.destroyed){if(this.works.update(),this.syncingState=this.syncState(e,t),this.controller&&(r=this.controller).updateTime.apply(r,ce([e,t],s,!1)),this.renderer){var c=this.getSize(su),u=this.renderer.getPixelRatio();this.camera.screenHeight=c.height,this.camera.pixelRatio=u,this.camera.aspect=c.width/c.height}if(this.camera.updateTime(e,t),this.renderer){Zn.detectSupport(this.renderer);var d=this.models.loaded;if(this.models.update(this.renderer,this.camera,this.currentMode),!1===d&&!0===this.models.loaded&&this.emit("models.load",cs("models.load",{models:this.models})),this.models.loaded){for(var p=0,h=this.models;p<h.length;p++){(m=h[p]).parent!==this.modelGroup&&(this.modelGroup.add(m),this.needsRender=!0)}if(this.lastModels.length>0){for(var f=0,v=this.lastModels;f<v.length;f++){var m=v[f];this.modelGroup.remove(m),m.dispose(),this.needsRender=!0}this.lastModels.length=0}}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 A=new n.Vector2(512,512),g=new n.Vector2(512,512);this.renderer&&(this.renderer.getSize(A),A.x*=this.scissor.width,A.y*=this.scissor.height,this.renderer.getDrawingBufferSize(g),g.x*=this.scissor.width,g.y*=this.scissor.height);for(var y=new n.Box3,b=new n.Box3,x=new n.Vector3(4,4,4),w=0,E=this.works.resolvedObservers;w<E.length;w++){var M=E[w];b.setFromCenterAndSize(M.position,x),y.union(b)}y.union(this.models.bounding),y.getCenter(this.boundingMesh.position),y.getSize(this.boundingMesh.scale),this.boundingMesh.boundingBox.copy(y);var C=null!==(i=this.models.getMaterial())&&void 0!==i?i:{},S=1-(null!==(o=C.modelAlpha)&&void 0!==o?o:0);C.opacity=jr(4*S-3,0,1),C.clippers=null,C.shownFloorIndex=-2,this.boundingMesh.setMaterial(C),this.boundingMesh.needsRender=!1;var I=cs("render.prepare",{needsRender:!0,info:null});if(this.emit("render.prepare",I),!I.defaultPrevented){var P=[];cu.multiplyMatrices(this.camera.projectionMatrix,this.camera.matrixWorldInverse),lu.setFromProjectionMatrix(cu);for(var T=0,B=this.scene.children;T<B.length;T++){var R=B[T];R!==this.modelGroup&&(R!==this.boundingMesh&&R instanceof n.Object3D&&R.traverseVisible((function(t){if(t.setResolution&&t.setResolution(A.x,A.y),t.setTime&&t.setTime(e),t.mixer instanceof n.AnimationMixer){var r=uu.get(t.mixer);r||(r=new n.Clock,uu.set(t.mixer,r)),t.mixer.update(r.getDelta())}(t instanceof n.Mesh||t instanceof n.Line||t instanceof n.Points)&&(t instanceof n.ImmediateRenderObject||!t.frustumCulled||lu.intersectsObject(t))&&P.push(t)})))}if(g.width*g.height>8388608?this.renderSwitch01=1^this.renderSwitch01:this.renderSwitch01=0,this.renderer&&!1===this.paused&&0===this.renderSwitch01){var k=void 0;if(!0!==this.onlyRenderIfNeeds)k=this.render();else{if(this.controller&&!0===this.controller.needsRender&&(this.controller.needsRender=!1,this.needsRender=!0),!0===this.camera.needsRender&&(this.camera.needsRender=!1,this.needsRender=!0),!0===this.models.needsRender&&(this.models.needsRender=!1,this.needsRender=!0),!0!==this.needsRender)for(var O=0,F=P;O<F.length;O++){var D=F[O],Q=function(e){!0===e.needsRender?(e.needsRender=!1,a.needsRender=!0):e.mixer&&e.mixer.stats.actions.inUse>0&&(a.needsRender=!0)};Q(D),D.traverseAncestors(Q)}!1!==this.needsRender&&(k=this.render())}if(this.needsRender=!1,this.controller&&this.screenBuffers){var L=this.controller,N=this.screenBuffers;this.aroundScissor((function(){L.postProcessing(N,a.postProcessingType)}))}this.hasListener("render")&&this.emit("render",cs("render",{needsRender:void 0!==k,info:this.info}))}this.needsRender=!1}this.fps.testTime&&e-this.fps.testTime<1e3?this.fps.testCount++:(this.emit("fps",this.fps.testCount),this.fps.testTime=e,this.fps.testCount=0)}},t.prototype.pause=function(){this.paused=!0,this.renderer&&this.renderer instanceof Gt&&this.renderer.clear(!0,!0,!0)},t.prototype.play=function(){this.needsRender=!0,this.paused=!1},t.prototype.moveToPano=function(e,r,n){void 0===r&&(r={}),void 0===n&&(n=!0);var i=this.controller,o=this.renderer;if(!i)return this.throwError(new Error("controller is not initialized.")),Promise.resolve();if(!o)return this.throwError(new Error("renderer is not initialized.")),Promise.resolve();var a=this.works.getResolvedObserver(e);if(!a)return this.throwError(new Error("pano ".concat(JSON.stringify(e)," not existed."))),Promise.resolve();var s={workCode:a.work.workCode,panoIndex:a.panoIndex};return"moveToPano"in i&&"function"==typeof i.moveToPano?i.moveToPano(s,r,n):a&&(this.pano=s,this.once("initAnimation.start",(function(e){r.moveStartCallback&&r.moveStartCallback(e.state)})),this.once("initAnimation.end",(function(e){r.moveEndCallback&&r.moveEndCallback(e.state)})),this.changeMode(t.Mode.Panorama,r,void 0,n)),this.ready()},t.prototype.preloadPano=function(e,t){var r=this;void 0===t&&(t=fe);var n=this.works.getResolvedObserver(e);if(!n)return Promise.reject(new Error("Pano ".concat(JSON.stringify(e)," never found")));n.work.allowHosts;var i=me();return Promise.all(["right","left","up","down","front","back"].map((function(e){var t=ie({key:"pano.".concat(n.panoId,".").concat(e)},eo(r.imageOptions,["size","format","quality","mappings"])),i=n.images[e],o=r.imageOptions.transform?r.imageOptions.transform(i,t):_e(i,t);return pa(n.work).preload(o)}))).then((function(){var e=me()-i;return t(e),e}))},t.prototype.project2d=function(e,t){if(void 0===t&&(t=!1),!this.renderer)return null;if(this.models.length>0&&t){var r=this.camera.position,i=e.clone().sub(r),o=new n.Raycaster(r,i.clone().normalize()),a=this.models.intersectRaycaster(o)[0];if(a&&a.distance+.01<i.length())return null}var s=e.clone().project(this.camera);if(Math.abs(s.z)>1)return null;var l=this.renderer.getSize(new n.Vector2),c=l.x*this.scissor.width,u=l.y*this.scissor.height,d=l.x*this.scissor.left+(s.x+1)/2*c,p=l.y*(1-this.scissor.bottom-this.scissor.height)+(1-s.y)/2*u;return new n.Vector2(d,p)},t.prototype.getRenderObjects=function(e){cu.multiplyMatrices(this.camera.projectionMatrix,this.camera.matrixWorldInverse),lu.setFromProjectionMatrix(cu),e||(e=this.scene);var t=[];return e.traverseVisible((function(e){(e instanceof n.Mesh||e instanceof n.Line||e instanceof n.Points)&&(e instanceof n.ImmediateRenderObject||!e.frustumCulled||lu.intersectsObject(e))&&t.push(e)})),t},t.prototype.getCurrentState=function(){return ie(ie({},this.getPose()),{mode:this.currentMode,workCode:this.pano.workCode,panoIndex:this.pano.panoIndex})},t.prototype.setState=function(e,r,i){var o,a,s,l,c,u,d,p,h,f,v;void 0===r&&(r=!1),void 0===i&&(i=!0),!(e=Object.assign({},e)).offset||e instanceof n.Vector3||(e.offset=new n.Vector3(e.offset.x,e.offset.y,e.offset.z)),"number"==typeof e.panoIndex&&(v=e.workCode?{workCode:e.workCode,panoIndex:e.panoIndex}:{workCode:null!==(a=null===(o=this.work)||void 0===o?void 0:o.workCode)&&void 0!==a?a:"",panoIndex:e.panoIndex});var m,A,g,y,b,x=null!==(s=e.mode)&&void 0!==s?s:this.state.mode;if(e.mode!==t.Mode.Floorplan&&e.mode!==t.Mode.Topview&&e.mode!==t.Mode.Mapview&&e.mode!==t.Mode.Model||this.models.loaded){if(this.controller&&this.controller.stopMomentumMovement(),this.state.mode!==x){if("VRPanorama"===x)return void this.changeMode("VRPanorama",void 0,void 0,!0);var w={workCode:null==v?void 0:v.workCode,panoIndex:null==v?void 0:v.panoIndex};"number"==typeof e.longitude&&(w.longitude=e.longitude),"number"==typeof e.latitude&&(w.latitude=e.latitude),"number"==typeof e.fov&&(w.fov=e.fov),"number"==typeof e.distance&&(w.distance=e.distance),e.offset instanceof n.Vector3&&(w.offset=e.offset);var E=ie(ie({initial:{state:w,currentState:this.getCurrentState(),duration:this.modeChangeDuration,userAction:!1}},this.commonParams()),this.controllerInits[x]),M=qc[x].initAnimationEndState(E);m=M.longitude,A=M.latitude,g=M.fov,y=M.offset,b=M.distance}else m=null!==(l=e.longitude)&&void 0!==l?l:this.state.longitude,A=null!==(c=e.latitude)&&void 0!==c?c:this.state.latitude,g=null!==(u=e.fov)&&void 0!==u?u:this.state.fov,y=null!==(d=e.offset)&&void 0!==d?d:this.state.offset,b=null!==(p=e.distance)&&void 0!==p?p:this.state.distance;var C={workCode:(null!=v?v:this.pano).workCode,panoIndex:(null!=v?v:this.pano).panoIndex,mode:x,longitude:m,latitude:A,fov:g,offset:y,distance:b};this.emit("state.set",cs("state.set",{userAction:i,state:C})),ds(this.state,C)||(this.controller&&"VRPanorama"===C.mode&&C.mode!==this.state.mode?(us(this.state,C),this.changeMode("VRPanorama")):this.controller&&"XRPanorama"===C.mode&&C.mode!==this.state.mode?(us(this.state,C),this.changeMode("XRPanorama")):(us(this.state,C),this.controller&&i&&(this.controller.userAction=!1),r&&this.state.mode===C.mode&&(this.syncingState=this.syncState(me(),0,r),this.syncingState&&(null===(h=this.controller)||void 0===h||h.updateTime(me(),0),this.syncingState=!1)),this.emit("state.change",cs("state.change",{userAction:i,state:this.state})),null===(f=this.analysis)||void 0===f||f.state(this.works,this.state)))}else this.throwError(new Error("model is not ready."))},t.prototype.aroundScissor=function(e){if(this.renderer)if("XRPanorama"!==this.state.mode){var t=new n.Vector2,r=0!==this.scissor.left||0!==this.scissor.bottom||1!==this.scissor.width||1!==this.scissor.height;if(r){this.renderer.getSize(t);var i=Math.floor(t.x*this.scissor.left),o=Math.floor(t.y*this.scissor.bottom),a=Math.floor(t.x*this.scissor.width),s=Math.floor(t.y*this.scissor.height);this.renderer.setViewport(i,o,a,s),this.renderer.setScissor(i,o,a,s),this.renderer.setScissorTest(!0)}e(),r&&(this.renderer.setViewport(0,0,t.x,t.y),this.renderer.setScissor(0,0,t.x,t.y),this.renderer.setScissorTest(!1))}else e()},t.prototype.syncState=function(e,r,i){void 0===i&&(i=!1);var o=this.stateSynced;if(this.stateSynced=!1,0===this.works.length)return!1;if(!this.controller)return!1;if(this.state.mode!==this.currentMode){var a={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,a,this.modeChangeDuration,this.controller.userAction),!0}if(!this.controller.isReady())return!1;if(this.controller instanceof qc.Model){if(!this.camera.pose.offset.equals(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,ie(ie({},s),{duration:i?0:void 0}),!1),!0}}else{var l={workCode:this.state.workCode,panoIndex:this.state.panoIndex};if(!Ze(l,this.pano)&&"moveToPano"in this.controller&&"function"==typeof this.controller.moveToPano){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 qc.Floorplan||this.controller instanceof qc.Topview||this.controller instanceof qc.Mapview){var c=Math.PI/45,u=i?this.state.fov:as(this.camera.pose.fov,this.state.fov,1),d=Math.abs(this.camera.pose.distance-this.state.distance),p=d>3?d/15:.2,h=i?this.state.distance:as(this.camera.pose.distance,this.state.distance,p),f=this.camera.pose.offset.distanceTo(this.state.offset),v=f>3?f/15:.2,m=i?(new n.Vector3).copy(this.state.offset):function(e,t,r){if(e.equals(t))return(new n.Vector3).copy(t);var i=(new n.Vector3).subVectors(t,e);return i.lengthSq()<r*r?i.copy(t):i.setLength(r).add(e)}(this.camera.pose.offset,this.state.offset,v),A=i?{longitude:this.state.longitude,latitude:this.state.latitude}:ss({longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},{longitude:this.state.longitude,latitude:this.state.latitude},c),g=A.longitude,y=A.latitude;if(Ja(u,this.camera.pose.fov)||$a(m,this.camera.pose.offset)||Ja(h,this.camera.pose.distance)||Ja(g,this.camera.pose.longitude,2*Math.PI)||Ja(y,this.camera.pose.latitude)){var b={x:m.x,y:m.y,z:m.z},x={fov:u};return Object.assign(b,{distance:h}),Object.assign(x,{longitude:g,latitude:y}),this.controller.stopMomentumMovement(),this.controller.cameraMotion.set(x,0).catch(fe),this.controller.locationMotion.set(b,0).catch(fe),!0}}else{var w=Math.PI/45,E=(u=i?this.state.fov:as(this.camera.pose.fov,this.state.fov,1),i?{longitude:this.state.longitude,latitude:this.state.latitude}:ss({longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},{longitude:this.state.longitude,latitude:this.state.latitude},w));g=E.longitude,y=E.latitude;if(Ja(g,this.camera.pose.longitude,2*Math.PI)||Ja(y,this.camera.pose.latitude)||Ja(u,this.camera.pose.fov))return this.controller.stopMomentumMovement(),this.controller.cameraMotion.set({longitude:g,latitude:y,fov:u},0).catch(fe),!0}if(this.stateSynced=!0,!1===o&&this.emit("state.synced",cs("state.synced",{userAction:!1,state:this.state})),this.readyCallbacks.length&&this.stateSynced){var M=this.currentMode;if(!(M===t.Mode.Floorplan||M===t.Mode.Topview||M===t.Mode.Mapview||M===t.Mode.Model)||this.models.loaded){var C=this.readyCallbacks.slice();this.readyCallbacks.length=0;for(var S=0,I=C;S<I.length;S++){var P=I[S];this.controller instanceof qc.Panorama?!0!==P.tile||this.controller.isTileReady()?P():this.readyCallbacks.push(P):P()}}}return!1},t.prototype.ready=function(e){var t=this;return void 0===e&&(e={}),new Promise((function(r){var n;t.readyCallbacks.push(Object.assign(r,{tile:null!==(n=e.tile)&&void 0!==n&&n}))}))},t.prototype.requestFullscreen=function(){var e;if(ls()){var t=null===(e=this.getElement())||void 0===e?void 0:e.parentNode;t&&"requestFullscreen"in t&&"undefined"!=typeof document&&null===document.fullscreenElement&&t.requestFullscreen()}},t.prototype.exitFullscreen=function(){"undefined"!=typeof document&&document.fullscreenElement&&"exitFullscreen"in document&&document.exitFullscreen()},t.prototype.throwError=function(e){this.hasListener("error")?this.emit("error",e):console.error(e)},t.prototype.loadModel=function(e){for(var t=this,r=[],n=function(e){var n=i.models.filter((function(t){var r;return(null===(r=t.work)||void 0===r?void 0:r.workCode)===e.workCode}))[0];if(n)n.work=e,r.push(n);else{var o=new Ba({onError:function(r){t.emit("model.error",cs("model.request",{work:e,model:o,error:r}))},onShownFloorChange:function(r){t.emit("model.changeShownFloor",cs("model.request",{work:e,model:o,error:null}))},onLoad:function(){t.emit("model.load",cs("model.request",{work:e,model:o,error:null}))}});r.push(o),i.emit("model.request",cs("model.request",{work:e,model:o,error:null})),o.load(e,{textureOptions:i.textureOptions})}},i=this,o=0,a=e;o<a.length;o++){n(a[o])}if(this.models.length>0){for(var s=0,l=this.models;s<l.length;s++){var c=l[s];-1===r.indexOf(c)&&this.lastModels.push(c)}this.models.length=0}for(var u=0,d=r;u<d.length;u++){c=d[u];this.models.push(c)}return this.renderer&&(this.models.loaded=!1),new Promise((function(e){t.on("models.load",(function(){e()}))}))},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,enableIOSEDR:this._enableIOSEDR,enableEDL:this.enableEDL,enableHQ:this.enableHQ,extraElements:this.extraElements,videoTexture:this.videoTexture}},t.prototype.applyController=function(e,r){var n=this;if(!this.renderer)throw new Error("renderer is not initialized.");e!==t.Mode.Mapview&&(this.enableEDL=!1,this.enableHQ=!1);var i=qc[e];if(e!==this.currentMode)for(var o=0,a=this.models;o<a.length;o++){a[o].show()}this.currentMode=e;for(var s=new i(r),l=function(e){s.on(e,(function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];if(n.emit.apply(n,ce([e],t,!1)))return!1}))},c=0,u=_c;c<u.length;c++){l(u[c])}var d=qc[e].initAnimationEndState(r),p=r.initial.userAction;return ds(this.state,d)||(us(this.state,d),this.emit("state.change",cs("state.change",{userAction:p,state:this.state}))),this.emit("currentState.change",cs("currentState.change",{userAction:p,state:this.getCurrentState()})),s.on("camera.update",(function(e){var t;if(n.controller){var r=n.controller.getTargetState();e.userAction&&!1===n.syncingState&&n.state.mode===r.mode&&!ds(n.state,r)&&(us(n.state,r),n.emit("state.change",cs("state.change",{userAction:e.userAction,state:n.state})),null===(t=n.analysis)||void 0===t||t.state(n.works,n.state))}n.emit("currentState.change",cs("currentState.change",{userAction:e.userAction,state:n.getCurrentState()}))})),s.on("initAnimation.start",(function(e){var t,r=e.state,i=e.userAction;i&&n.state.mode===r.mode&&!ds(n.state,r)&&(us(n.state,r),n.emit("state.change",cs("state.change",{userAction:i,state:n.state})),null===(t=n.analysis)||void 0===t||t.state(n.works,n.state))})),s.on("initAnimation.end",(function(e){var t,r=e.state,i=e.userAction;i&&n.state.mode===r.mode&&!ds(n.state,r)&&(us(n.state,r),n.emit("state.change",cs("state.change",{userAction:i,state:n.state})),null===(t=n.analysis)||void 0===t||t.state(n.works,n.state))})),s.on("pano.moveTo",(function(e){var t,r=e.state,i=e.userAction;n.pano={workCode:r.workCode,panoIndex:r.panoIndex},i&&n.state.mode===r.mode&&!ds(n.state,r)&&(us(n.state,r),n.emit("state.change",cs("state.change",{userAction:i,state:n.state})),null===(t=n.analysis)||void 0===t||t.state(n.works,n.state))})),s.on("pano.arrived",(function(e){var t,r=e.state,i=e.userAction;i&&n.state.mode===r.mode&&!ds(n.state,r)&&(us(n.state,r),n.emit("state.change",cs("state.change",{userAction:i,state:n.state})),null===(t=n.analysis)||void 0===t||t.state(n.works,n.state))})),s.on("pano.moveTo",(function(e){var t=e.userAction;n.emit("currentState.change",cs("currentState.change",{userAction:t,state:n.getCurrentState()}))})),s.on("pano.request",(function(e){n.emit("pano.request",e),e.defaultPrevented||n.moveToPano(e.state,e.options,e.userAction)})),s.on("vr.requestExit",(function(){n.currentMode===t.Mode.VRPanorama&&(n.exitFullscreen(),n.changeMode(t.Mode.Panorama))})),s.on("error",(function(e){return n.throwError(e)})),s},t.prototype.removeEventListeners=function(){},t.Mode={Panorama:"Panorama",Model:"Model",Floorplan:"Floorplan",Topview:"Topview",Mapview:"Mapview",DepthPanorama:"DepthPanorama",VRPanorama:"VRPanorama",XRPanorama:"XRPanorama"},t.Line=null,t}(he),fu={instances:{},constructor:hu};"undefined"!=typeof window&&Object.assign(window,{__FIVE_DEBUG__:fu});var vu=function(){function e(){}return e.createButton=function(e){var t=document.createElement("button");function r(){t.style.display="",t.style.cursor="auto",t.style.left="calc(50% - 75px)",t.style.width="150px",t.onmouseenter=null,t.onmouseleave=null,t.onclick=null,t.textContent="VR NOT SUPPORTED"}function n(e){e.style.position="absolute",e.style.bottom="20px",e.style.padding="12px 6px",e.style.border="1px solid #fff",e.style.borderRadius="4px",e.style.background="rgba(0,0,0,0.1)",e.style.color="#fff",e.style.font="normal 13px sans-serif",e.style.textAlign="center",e.style.opacity="0.5",e.style.outline="none",e.style.zIndex="999"}if("xr"in navigator)return t.id="VRButton",t.style.display="none",n(t),navigator.xr.isSessionSupported("immersive-vr").then((function(n){n?(t.style.display="",t.style.cursor="pointer",t.style.left="calc(50% - 50px)",t.style.width="100px",t.textContent="ENTER VR",t.onmouseenter=function(){t.style.opacity="1.0"},t.onmouseleave=function(){t.style.opacity="0.5"},t.onclick=function(){e&&e()}):r()})),t;var i=document.createElement("a");return!1===window.isSecureContext?(i.href=document.location.href.replace(/^http:/,"https:"),i.innerHTML="WEBXR NEEDS HTTPS"):(i.href="https://immersiveweb.dev/",i.innerHTML="WEBXR NOT AVAILABLE"),i.style.left="calc(50% - 90px)",i.style.width="180px",i.style.textDecoration="none",n(i),i},e}();exports.AnimationFrameLoop=Ne,exports.BVH=qr,exports.BVHIntersect=Qr,exports.BVHNode=Dr,exports.BVHVector3=Fr,exports.Camera=$t,exports.Fetcher=Fe,exports.Five=hu,exports.InternalWebGLRenderer=Gt,exports.IntersectMesh=Ka,exports.Model=Ba,exports.NetworkSubscribe=Re,exports.PBMContainer=ut,exports.PBMGroup=et,exports.PBMMesh=tt,exports.PBMMeshMaterial=Ht,exports.PROXY_CONTROLLER_EVENT_NAMES=_c,exports.PanoCircleMesh=Na,exports.PanoCircleMeshCustom=_a,exports.PanoCircleMeshSolid=ja,exports.RequestScheduler=Ir,exports.Scene=Kt,exports.Subscribe=he,exports.TextureLoader=zt,exports.Tile=Sr,exports.Tile3DModel=jo,exports.TileCubeTextureTarget=Vt,exports.TileNode=Zr,exports.Tileset=Or,exports.TilesetCache=Br,exports.TilesetTraverser=kr,exports.Work=ea,exports.XRButton=vu,exports.defaultImageURLTransform=_e,exports.defaultPbmParameters=it,exports.getViewportScale=Gc,exports.imageSupport=We,exports.isPanoId=$e,exports.loadAt3d=Mo,exports.loadB3dm=Si,exports.loadDome=To,exports.loadDomez=Do,exports.loadPbm=mo,exports.loadPnts=zi,exports.panoEqual=Ze,exports.panoParse=Je,exports.panoStringify=Xe,exports.parseWork=ca;
|
|
362
|
+
* Licensed under the MIT license */var fs=function(e,t,r,n){var i,o=["","webkit","Moz","MS","ms","o"],a=t.createElement?t.createElement("div"):n,s="function",l=Math.round,c=Math.abs,u=Date.now;function d(e,t,r){return setTimeout(g(e,r),t)}function p(e,t,r){return!!Array.isArray(e)&&(h(e,r[t],r),!0)}function h(e,t,r){var i;if(e)if(e.forEach)e.forEach(t,r);else if(e.length!==n)for(i=0;i<e.length;)t.call(r,e[i],i,e),i++;else for(i in e)e.hasOwnProperty(i)&&t.call(r,e[i],i,e)}function f(t,r,n){var i="DEPRECATED METHOD: "+r+"\n"+n+" AT \n";return function(){var r=new Error("get-stack-trace"),n=r&&r.stack?r.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",o=e.console&&(e.console.warn||e.console.log);return o&&o.call(e.console,i,n),t.apply(this,arguments)}}i="function"!=typeof Object.assign?function(e){if(e===n||null===e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),r=1;r<arguments.length;r++){var i=arguments[r];if(i!==n&&null!==i)for(var o in i)i.hasOwnProperty(o)&&(t[o]=i[o])}return t}:Object.assign;var v=f((function(e,t,r){for(var i=Object.keys(t),o=0;o<i.length;)(!r||r&&e[i[o]]===n)&&(e[i[o]]=t[i[o]]),o++;return e}),"extend","Use `assign`."),m=f((function(e,t){return v(e,t,!0)}),"merge","Use `assign`.");function A(e,t,r){var n,o=t.prototype;(n=e.prototype=Object.create(o)).constructor=e,n._super=o,r&&i(n,r)}function g(e,t){return function(){return e.apply(t,arguments)}}function y(e,t){return typeof e==s?e.apply(t&&t[0]||n,t):e}function b(e,t){return e===n?t:e}function x(e,t,r){h(C(t),(function(t){e.addEventListener(t,r,!1)}))}function w(e,t,r){h(C(t),(function(t){e.removeEventListener(t,r,!1)}))}function E(e,t){for(;e;){if(e==t)return!0;e=e.parentNode}return!1}function M(e,t){return e.indexOf(t)>-1}function C(e){return e.trim().split(/\s+/g)}function S(e,t,r){if(e.indexOf&&!r)return e.indexOf(t);for(var n=0;n<e.length;){if(r&&e[n][r]==t||!r&&e[n]===t)return n;n++}return-1}function I(e){return Array.prototype.slice.call(e,0)}function P(e,t,r){for(var n=[],i=[],o=0;o<e.length;){var a=t?e[o][t]:e[o];S(i,a)<0&&n.push(e[o]),i[o]=a,o++}return r&&(n=t?n.sort((function(e,r){return e[t]>r[t]})):n.sort()),n}function T(e,t){for(var r,i,a=t[0].toUpperCase()+t.slice(1),s=0;s<o.length;){if((i=(r=o[s])?r+a:t)in e)return i;s++}return n}var B=1;function R(t){var r=t.ownerDocument||t;return r.defaultView||r.parentWindow||e}var k="ontouchstart"in e,O=T(e,"PointerEvent")!==n,F=k&&/mobile|tablet|ip(ad|hone|od)|android/i.test(navigator.userAgent),D="touch",Q="mouse",L=25,N=1,V=2,z=4,j=8,U=1,q=2,_=4,H=8,G=16,K=q|_,W=H|G,Y=K|W,X=["x","y"],J=["clientX","clientY"];function Z(e,t){var r=this;this.manager=e,this.callback=t,this.element=e.element,this.target=e.options.inputTarget,this.domHandler=function(t){y(e.options.enable,[e])&&r.handler(t)},this.init()}function $(e,t,r){var i=r.pointers.length,o=r.changedPointers.length,a=t&N&&i-o==0,s=t&(z|j)&&i-o==0;r.isFirst=!!a,r.isFinal=!!s,a&&(e.session={}),r.eventType=t,function(e,t){var r=e.session,i=t.pointers,o=i.length;r.firstInput||(r.firstInput=ee(t));o>1&&!r.firstMultiple?r.firstMultiple=ee(t):1===o&&(r.firstMultiple=!1);var a=r.firstInput,s=r.firstMultiple,l=s?s.center:a.center,d=t.center=te(i);t.timeStamp=u(),t.deltaTime=t.timeStamp-a.timeStamp,t.angle=oe(l,d),t.distance=ie(l,d),function(e,t){var r=t.center,n=e.offsetDelta||{},i=e.prevDelta||{},o=e.prevInput||{};t.eventType!==N&&o.eventType!==z||(i=e.prevDelta={x:o.deltaX||0,y:o.deltaY||0},n=e.offsetDelta={x:r.x,y:r.y});t.deltaX=i.x+(r.x-n.x),t.deltaY=i.y+(r.y-n.y)}(r,t),t.offsetDirection=ne(t.deltaX,t.deltaY);var p=re(t.deltaTime,t.deltaX,t.deltaY);t.overallVelocityX=p.x,t.overallVelocityY=p.y,t.overallVelocity=c(p.x)>c(p.y)?p.x:p.y,t.scale=s?function(e,t){return ie(t[0],t[1],J)/ie(e[0],e[1],J)}(s.pointers,i):1,t.rotation=s?function(e,t){return oe(t[1],t[0],J)+oe(e[1],e[0],J)}(s.pointers,i):0,t.maxPointers=r.prevInput?t.pointers.length>r.prevInput.maxPointers?t.pointers.length:r.prevInput.maxPointers:t.pointers.length,function(e,t){var r,i,o,a,s=e.lastInterval||t,l=t.timeStamp-s.timeStamp;if(t.eventType!=j&&(l>L||s.velocity===n)){var u=t.deltaX-s.deltaX,d=t.deltaY-s.deltaY,p=re(l,u,d);i=p.x,o=p.y,r=c(p.x)>c(p.y)?p.x:p.y,a=ne(u,d),e.lastInterval=t}else r=s.velocity,i=s.velocityX,o=s.velocityY,a=s.direction;t.velocity=r,t.velocityX=i,t.velocityY=o,t.direction=a}(r,t);var h=e.element;E(t.srcEvent.target,h)&&(h=t.srcEvent.target);t.target=h}(e,r),e.emit("hammer.input",r),e.recognize(r),e.session.prevInput=r}function ee(e){for(var t=[],r=0;r<e.pointers.length;)t[r]={clientX:l(e.pointers[r].clientX),clientY:l(e.pointers[r].clientY)},r++;return{timeStamp:u(),pointers:t,center:te(t),deltaX:e.deltaX,deltaY:e.deltaY}}function te(e){var t=e.length;if(1===t)return{x:l(e[0].clientX),y:l(e[0].clientY)};for(var r=0,n=0,i=0;i<t;)r+=e[i].clientX,n+=e[i].clientY,i++;return{x:l(r/t),y:l(n/t)}}function re(e,t,r){return{x:t/e||0,y:r/e||0}}function ne(e,t){return e===t?U:c(e)>=c(t)?e<0?q:_:t<0?H:G}function ie(e,t,r){r||(r=X);var n=t[r[0]]-e[r[0]],i=t[r[1]]-e[r[1]];return Math.sqrt(n*n+i*i)}function oe(e,t,r){r||(r=X);var n=t[r[0]]-e[r[0]],i=t[r[1]]-e[r[1]];return 180*Math.atan2(i,n)/Math.PI}Z.prototype={handler:function(){},init:function(){this.evEl&&x(this.element,this.evEl,this.domHandler),this.evTarget&&x(this.target,this.evTarget,this.domHandler),this.evWin&&x(R(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&w(this.element,this.evEl,this.domHandler),this.evTarget&&w(this.target,this.evTarget,this.domHandler),this.evWin&&w(R(this.element),this.evWin,this.domHandler)}};var ae={mousedown:N,mousemove:V,mouseup:z},se="mousedown",le="mousemove mouseup";function ce(){this.evEl=se,this.evWin=le,this.pressed=!1,Z.apply(this,arguments)}A(ce,Z,{handler:function(e){var t=ae[e.type];t&N&&(0===e.button||2===e.button)&&(this.pressed=!0),t&V&&1!==e.which&&(t=z),this.pressed&&(t&z&&(this.pressed=!1),this.callback(this.manager,t,{pointers:[e],changedPointers:[e],pointerType:Q,srcEvent:e}))}});var ue={pointerdown:N,pointermove:V,pointerup:z,pointercancel:j,pointerout:j},de={2:D,3:"pen",4:Q,5:"kinect"},pe="pointerdown",he="pointermove pointerup pointercancel";function fe(){this.evEl=pe,this.evWin=he,Z.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}e.MSPointerEvent&&!e.PointerEvent&&(pe="MSPointerDown",he="MSPointerMove MSPointerUp MSPointerCancel"),A(fe,Z,{handler:function(e){var t=this.store,r=!1,n=!1,i=e.type.toLowerCase().replace("ms",""),o=ue[i],a=de[e.pointerType]||e.pointerType,s=a==D,l=S(t,e.pointerId,"pointerId");o&N&&(0===e.button||2===e.button||s)?l<0&&(t.push(e),l=t.length-1):o&(z|j)?r=!0:s||0!==e.buttons||(r=!0,n=!0,o=ue.pointerup),l<0||(n||(t[l]=e),this.callback(this.manager,o,{pointers:t,changedPointers:[e],pointerType:a,srcEvent:t[l]}),r&&t.splice(l,1))}});var ve={touchstart:N,touchmove:V,touchend:z,touchcancel:j};function me(){this.evTarget="touchstart",this.evWin="touchstart touchmove touchend touchcancel",this.started=!1,Z.apply(this,arguments)}function Ae(e,t){var r=I(e.touches),n=I(e.changedTouches);return t&(z|j)&&(r=P(r.concat(n),"identifier",!0)),[r,n]}A(me,Z,{handler:function(e){var t=ve[e.type];if(t===N&&(this.started=!0),this.started){var r=Ae.call(this,e,t);t&(z|j)&&r[0].length-r[1].length==0&&(this.started=!1),this.callback(this.manager,t,{pointers:r[0],changedPointers:r[1],pointerType:D,srcEvent:e})}}});var ge={touchstart:N,touchmove:V,touchend:z,touchcancel:j},ye="touchstart touchmove touchend touchcancel";function be(){this.evTarget=ye,this.targetIds={},Z.apply(this,arguments)}function xe(e,t){var r=I(e.touches),n=this.targetIds;if(t&(N|V)&&1===r.length)return n[r[0].identifier]=!0,[r,r];var i,o,a=I(e.changedTouches),s=[],l=this.target;if(o=r.filter((function(e){return E(e.target,l)})),t===N)for(i=0;i<o.length;)n[o[i].identifier]=!0,i++;for(i=0;i<a.length;)n[a[i].identifier]&&s.push(a[i]),t&(z|j)&&delete n[a[i].identifier],i++;return s.length?[P(o.concat(s),"identifier",!0),s]:void 0}A(be,Z,{handler:function(e){var t=ge[e.type],r=xe.call(this,e,t);r&&this.callback(this.manager,t,{pointers:r[0],changedPointers:r[1],pointerType:D,srcEvent:e})}});var we=2500;function Ee(){Z.apply(this,arguments);var e=g(this.handler,this);this.touch=new be(this.manager,e),this.mouse=new ce(this.manager,e),this.primaryTouch=null,this.lastTouches=[]}function Me(e,t){e&N?(this.primaryTouch=t.changedPointers[0].identifier,Ce.call(this,t)):e&(z|j)&&Ce.call(this,t)}function Ce(e){var t=e.changedPointers[0];if(t.identifier===this.primaryTouch){var r={x:t.clientX,y:t.clientY};this.lastTouches.push(r);var n=this.lastTouches;setTimeout((function(){var e=n.indexOf(r);e>-1&&n.splice(e,1)}),we)}}function Se(e){for(var t=e.srcEvent.clientX,r=e.srcEvent.clientY,n=0;n<this.lastTouches.length;n++){var i=this.lastTouches[n],o=Math.abs(t-i.x),a=Math.abs(r-i.y);if(o<=25&&a<=25)return!0}return!1}A(Ee,Z,{handler:function(e,t,r){var n=r.pointerType==D,i=r.pointerType==Q;if(!(i&&r.sourceCapabilities&&r.sourceCapabilities.firesTouchEvents)){if(n)Me.call(this,t,r);else if(i&&Se.call(this,r))return;this.callback(e,t,r)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var Ie=a?T(a.style,"touchAction"):n,Pe=Ie!==n,Te="compute",Be="auto",Re="manipulation",ke="none",Oe="pan-x",Fe="pan-y",De=function(){if(!Pe)return!1;var t={},r=e.CSS&&e.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach((function(n){t[n]=!r||e.CSS.supports("touch-action",n)})),t}();function Qe(e,t){this.manager=e,this.set(t)}Qe.prototype={set:function(e){e==Te&&(e=this.compute()),Pe&&this.manager.element.style&&De[e]&&(this.manager.element.style[Ie]=e),this.actions=e.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var e=[];return h(this.manager.recognizers,(function(t){y(t.options.enable,[t])&&(e=e.concat(t.getTouchAction()))})),function(e){if(M(e,ke))return ke;var t=M(e,Oe),r=M(e,Fe);if(t&&r)return ke;if(t||r)return t?Oe:Fe;if(M(e,Re))return Re;return Be}(e.join(" "))},preventDefaults:function(e){var t=e.srcEvent,r=e.offsetDirection;if(this.manager.session.prevented)t.preventDefault();else{var n=this.actions,i=M(n,ke)&&!De[ke],o=M(n,Fe)&&!De[Fe],a=M(n,Oe)&&!De[Oe];if(i){var s=1===e.pointers.length,l=e.distance<2,c=e.deltaTime<250;if(s&&l&&c)return}if(!a||!o)return i||o&&r&K||a&&r&W?this.preventSrc(t):void 0}},preventSrc:function(e){this.manager.session.prevented=!0,e.preventDefault()}};var Le=1,Ne=2,Ve=4,ze=8,je=ze,Ue=16,qe=32;function _e(e){this.options=i({},this.defaults,e||{}),this.id=B++,this.manager=null,this.options.enable=b(this.options.enable,!0),this.state=Le,this.simultaneous={},this.requireFail=[]}function He(e){return e&Ue?"cancel":e&ze?"end":e&Ve?"move":e&Ne?"start":""}function Ge(e){return e==G?"down":e==H?"up":e==q?"left":e==_?"right":""}function Ke(e,t){var r=t.manager;return r?r.get(e):e}function We(){_e.apply(this,arguments)}function Ye(){We.apply(this,arguments),this.pX=null,this.pY=null}function Xe(){We.apply(this,arguments)}function Je(){_e.apply(this,arguments),this._timer=null,this._input=null}function Ze(){We.apply(this,arguments)}function $e(){We.apply(this,arguments)}function et(){_e.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function tt(e,t){return(t=t||{}).recognizers=b(t.recognizers,tt.defaults.preset),new rt(e,t)}_e.prototype={defaults:{},set:function(e){return i(this.options,e),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(e){if(p(e,"recognizeWith",this))return this;var t=this.simultaneous;return t[(e=Ke(e,this)).id]||(t[e.id]=e,e.recognizeWith(this)),this},dropRecognizeWith:function(e){return p(e,"dropRecognizeWith",this)||(e=Ke(e,this),delete this.simultaneous[e.id]),this},requireFailure:function(e){if(p(e,"requireFailure",this))return this;var t=this.requireFail;return-1===S(t,e=Ke(e,this))&&(t.push(e),e.requireFailure(this)),this},dropRequireFailure:function(e){if(p(e,"dropRequireFailure",this))return this;e=Ke(e,this);var t=S(this.requireFail,e);return t>-1&&this.requireFail.splice(t,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(e){return!!this.simultaneous[e.id]},emit:function(e){var t=this,r=this.state;function n(r){t.manager.emit(r,e)}r<ze&&n(t.options.event+He(r)),n(t.options.event),e.additionalEvent&&n(e.additionalEvent),r>=ze&&n(t.options.event+He(r))},tryEmit:function(e){if(this.canEmit())return this.emit(e);this.state=qe},canEmit:function(){for(var e=0;e<this.requireFail.length;){if(!(this.requireFail[e].state&(qe|Le)))return!1;e++}return!0},recognize:function(e){var t=i({},e);if(!y(this.options.enable,[this,t]))return this.reset(),void(this.state=qe);this.state&(je|Ue|qe)&&(this.state=Le),this.state=this.process(t),this.state&(Ne|Ve|ze|Ue)&&this.tryEmit(t)},process:function(e){},getTouchAction:function(){},reset:function(){}},A(We,_e,{defaults:{pointers:1},attrTest:function(e){var t=this.options.pointers;return 0===t||e.pointers.length===t},process:function(e){var t=this.state,r=e.eventType,n=t&(Ne|Ve),i=this.attrTest(e);return n&&(r&j||!i)?t|Ue:n||i?r&z?t|ze:t&Ne?t|Ve:Ne:qe}}),A(Ye,We,{defaults:{event:"pan",threshold:10,pointers:1,direction:Y},getTouchAction:function(){var e=this.options.direction,t=[];return e&K&&t.push(Fe),e&W&&t.push(Oe),t},directionTest:function(e){var t=this.options,r=!0,n=e.distance,i=e.direction,o=e.deltaX,a=e.deltaY;return i&t.direction||(t.direction&K?(i=0===o?U:o<0?q:_,r=o!=this.pX,n=Math.abs(e.deltaX)):(i=0===a?U:a<0?H:G,r=a!=this.pY,n=Math.abs(e.deltaY))),e.direction=i,r&&n>t.threshold&&i&t.direction},attrTest:function(e){return We.prototype.attrTest.call(this,e)&&(this.state&Ne||!(this.state&Ne)&&this.directionTest(e))},emit:function(e){this.pX=e.deltaX,this.pY=e.deltaY;var t=Ge(e.direction);t&&(e.additionalEvent=this.options.event+t),this._super.emit.call(this,e)}}),A(Xe,We,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[ke]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.scale-1)>this.options.threshold||this.state&Ne)},emit:function(e){if(1!==e.scale){var t=e.scale<1?"in":"out";e.additionalEvent=this.options.event+t}this._super.emit.call(this,e)}}),A(Je,_e,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[Be]},process:function(e){var t=this.options,r=e.pointers.length===t.pointers,n=e.distance<t.threshold,i=e.deltaTime>t.time;if(this._input=e,!n||!r||e.eventType&(z|j)&&!i)this.reset();else if(e.eventType&N)this.reset(),this._timer=d((function(){this.state=je,this.tryEmit()}),t.time,this);else if(e.eventType&z)return je;return qe},reset:function(){clearTimeout(this._timer)},emit:function(e){this.state===je&&(e&&e.eventType&z?this.manager.emit(this.options.event+"up",e):(this._input.timeStamp=u(),this.manager.emit(this.options.event,this._input)))}}),A(Ze,We,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[ke]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.rotation)>this.options.threshold||this.state&Ne)}}),A($e,We,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:K|W,pointers:1},getTouchAction:function(){return Ye.prototype.getTouchAction.call(this)},attrTest:function(e){var t,r=this.options.direction;return r&(K|W)?t=e.overallVelocity:r&K?t=e.overallVelocityX:r&W&&(t=e.overallVelocityY),this._super.attrTest.call(this,e)&&r&e.offsetDirection&&e.distance>this.options.threshold&&e.maxPointers==this.options.pointers&&c(t)>this.options.velocity&&e.eventType&z},emit:function(e){var t=Ge(e.offsetDirection);t&&this.manager.emit(this.options.event+t,e),this.manager.emit(this.options.event,e)}}),A(et,_e,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[Re]},process:function(e){var t=this.options,r=e.pointers.length===t.pointers,n=e.distance<t.threshold,i=e.deltaTime<t.time;if(this.reset(),e.eventType&N&&0===this.count)return this.failTimeout();if(n&&i&&r){if(e.eventType!=z)return this.failTimeout();var o=!this.pTime||e.timeStamp-this.pTime<t.interval,a=!this.pCenter||ie(this.pCenter,e.center)<t.posThreshold;if(this.pTime=e.timeStamp,this.pCenter=e.center,a&&o?this.count+=1:this.count=1,this._input=e,0===this.count%t.taps)return this.hasRequireFailures()?(this._timer=d((function(){this.state=je,this.tryEmit()}),t.interval,this),Ne):je}return qe},failTimeout:function(){return this._timer=d((function(){this.state=qe}),this.options.interval,this),qe},reset:function(){clearTimeout(this._timer)},emit:function(){this.state==je&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),tt.VERSION="2.0.7",tt.defaults={domEvents:!1,touchAction:Te,enable:!0,inputTarget:null,inputClass:null,preset:[[Ze,{enable:!1}],[Xe,{enable:!1},["rotate"]],[$e,{direction:K}],[Ye,{direction:K},["swipe"]],[et],[et,{event:"doubletap",taps:2},["tap"]],[Je]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};function rt(e,t){var r;this.options=i({},tt.defaults,t||{}),this.options.inputTarget=this.options.inputTarget||e,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=e,this.input=new((r=this).options.inputClass||(O?fe:F?be:k?Ee:ce))(r,$),this.touchAction=new Qe(this,this.options.touchAction),nt(this,!0),h(this.options.recognizers,(function(e){var t=this.add(new e[0](e[1]));e[2]&&t.recognizeWith(e[2]),e[3]&&t.requireFailure(e[3])}),this)}function nt(e,t){var r,n=e.element;n.style&&(h(e.options.cssProps,(function(i,o){r=T(n.style,o),t?(e.oldCssProps[r]=n.style[r],n.style[r]=i):n.style[r]=e.oldCssProps[r]||""})),t||(e.oldCssProps={}))}return rt.prototype={set:function(e){return i(this.options,e),e.touchAction&&this.touchAction.update(),e.inputTarget&&(this.input.destroy(),this.input.target=e.inputTarget,this.input.init()),this},stop:function(e){this.session.stopped=e?2:1},recognize:function(e){var t=this.session;if(!t.stopped){var r;this.touchAction.preventDefaults(e);var n=this.recognizers,i=t.curRecognizer;(!i||i&&i.state&je)&&(i=t.curRecognizer=null);for(var o=0;o<n.length;)r=n[o],2===t.stopped||i&&r!=i&&!r.canRecognizeWith(i)?r.reset():r.recognize(e),!i&&r.state&(Ne|Ve|ze)&&(i=t.curRecognizer=r),o++}},get:function(e){if(e instanceof _e)return e;for(var t=this.recognizers,r=0;r<t.length;r++)if(t[r].options.event==e)return t[r];return null},add:function(e){if(p(e,"add",this))return this;var t=this.get(e.options.event);return t&&this.remove(t),this.recognizers.push(e),e.manager=this,this.touchAction.update(),e},remove:function(e){if(p(e,"remove",this))return this;if(e=this.get(e)){var t=this.recognizers,r=S(t,e);-1!==r&&(t.splice(r,1),this.touchAction.update())}return this},on:function(e,t){if(e!==n&&t!==n){var r=this.handlers;return h(C(e),(function(e){r[e]=r[e]||[],r[e].push(t)})),this}},off:function(e,t){if(e!==n){var r=this.handlers;return h(C(e),(function(e){t?r[e]&&r[e].splice(S(r[e],t),1):delete r[e]})),this}},emit:function(e,r){this.options.domEvents&&function(e,r){var n=t.createEvent("Event");n.initEvent(e,!0,!0),n.gesture=r,r.target.dispatchEvent(n)}(e,r);var n=this.handlers[e]&&this.handlers[e].slice();if(n&&n.length){r.type=e,r.preventDefault=function(){r.srcEvent.preventDefault()};for(var i=0;i<n.length;)n[i](r),i++}},destroy:function(){this.element&&nt(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},i(tt,{INPUT_START:N,INPUT_MOVE:V,INPUT_END:z,INPUT_CANCEL:j,STATE_POSSIBLE:Le,STATE_BEGAN:Ne,STATE_CHANGED:Ve,STATE_ENDED:ze,STATE_RECOGNIZED:je,STATE_CANCELLED:Ue,STATE_FAILED:qe,DIRECTION_NONE:U,DIRECTION_LEFT:q,DIRECTION_RIGHT:_,DIRECTION_UP:H,DIRECTION_DOWN:G,DIRECTION_HORIZONTAL:K,DIRECTION_VERTICAL:W,DIRECTION_ALL:Y,Manager:rt,Input:Z,TouchAction:Qe,TouchInput:be,MouseInput:ce,PointerEventInput:fe,TouchMouseInput:Ee,SingleTouchInput:me,Recognizer:_e,AttrRecognizer:We,Tap:et,Pan:Ye,Swipe:$e,Pinch:Xe,Rotate:Ze,Press:Je,on:x,off:w,each:h,merge:m,extend:v,assign:i,inherit:A,bindFn:g,prefixed:T}),tt}("undefined"!=typeof window?window:{},"undefined"!=typeof document?document:{});function vs(e,t,r){var i=t.getBoundingClientRect(),o=i.top,a=i.left,s=i.width,l=i.height;return r&&(a+=s*r.left,o+=l*(1-r.bottom-r.height),s*=r.width,l*=r.height),new n.Vector2((e.x-a)/s*2-1,-(e.y-o)/l*2+1)}var ms=function(e){function t(r){var n,i,o,a,s,l,c=this;c=e.call(this)||this;var u=t.parseArgs(r);return c.mode="",c.pending=new Set,c.userAction=u.initial.userAction,c.destroyed=!1,c.ident=u.ident,c.scene=u.scene,c.xrCustomObjectsScene=u.xrCustomObjectsScene,c.helper=u.helper,c.boundingMesh=u.boundingMesh,c.camera=u.camera,c.renderer=u.renderer,c.scissor=u.scissor,c.element=u.element,c.models=u.models,c.enableIOSEDR=null!==(n=u.enableIOSEDR)&&void 0!==n&&n,c.enableEDL=null===(i=u.enableEDL)||void 0===i||i,c.enableHQ=null===(o=u.enableHQ)||void 0===o||o,c.works=u.works,c.imageOptions=u.imageOptions,c.videoTexture=u.videoTexture,c.extraElements=u.extraElements,c.initial=u.initial,c.currentPano="number"==typeof c.initial.state.panoIndex?{workCode:null!==(l=null!==(a=c.initial.state.workCode)&&void 0!==a?a:null===(s=u.works[0])||void 0===s?void 0:s.workCode)&&void 0!==l?l:"",panoIndex:c.initial.state.panoIndex}:{workCode:c.initial.currentState.workCode,panoIndex:c.initial.currentState.panoIndex},c.needsRender=!0,c.cameraMotion=new Oa({longitude:{value:c.camera.pose.longitude,circle:[0,2*Math.PI]},latitude:c.camera.pose.latitude,fov:c.camera.pose.fov}),c.inMomentumMovement=null,c.eventUnbinds=[u.element].concat(u.extraElements||[]).map((function(e){return c.bindEvents(e)})),c.pending.add("init-animation"),c.initAnimationReady=new Promise((function(e){Ne.shared.add((function(){c.initAnimation().then((function(){c.pending.delete("init-animation"),e()}))}),!0)})),c}return ne(t,e),t.parseArgs=function(e){return e instanceof t?e:ie({},e)},t.initAnimationEndState=function(e){var t,r,n,i,o,a,s,l,c=this.parseArgs(e),u=c.initial,d=u.state,p=u.currentState,h="number"==typeof d.panoIndex?{workCode:null!==(n=null!==(t=d.workCode)&&void 0!==t?t:null===(r=c.works[0])||void 0===r?void 0:r.workCode)&&void 0!==n?n:"",panoIndex:d.panoIndex}:{workCode:p.workCode,panoIndex:p.panoIndex};return ie(ie({},h),{mode:"",longitude:null!==(i=d.longitude)&&void 0!==i?i:p.longitude,latitude:null!==(o=d.latitude)&&void 0!==o?o:p.latitude,fov:null!==(a=d.fov)&&void 0!==a?a:p.fov,offset:null!==(s=d.offset)&&void 0!==s?s:p.offset,distance:null!==(l=d.distance)&&void 0!==l?l:p.distance})},t.prototype.destroy=function(){var e;this.stopMomentumMovement(),this.destroyed=!0,this.off(),this.cameraMotion.dispose();for(var t=0,r=this.eventUnbinds;t<r.length;t++){(0,r[t])()}this.copyEffect&&(this.copyEffect.dispose(),delete this.copyEffect),delete this.panState,null===(e=this.pressState)||void 0===e||e.stop(),delete this.pressState},t.prototype.isReady=function(){return null===this.inMomentumMovement&&0===this.pending.size&&!0===this.cameraMotion.ended},t.prototype.bindExtraElement=function(e){for(var t=0,r=this.eventUnbinds;t<r.length;t++){if(r[t].element===e)return}this.eventUnbinds.push(this.bindEvents(e))},t.prototype.unbindExtraElement=function(e){for(var t=[],r=0,n=this.eventUnbinds;r<n.length;r++){var i=n[r];i.element===e?i():t.push(i)}this.eventUnbinds=t},t.prototype.updateRenderSize=function(){this.needsRender=!0},t.prototype.updateModel=function(e){this.needsRender=!0},t.prototype.updateWork=function(e,t,r,n){return this.works=e,this.userAction=n,!1},t.prototype.updateTime=function(e,t){if(!this.destroyed){var r={};this.cameraMotion.ended&&(this.cameraMotion.update(e),r.longitude=this.cameraMotion.value.longitude,r.latitude=this.cameraMotion.value.latitude,r.fov=this.cameraMotion.value.fov),ps(r)&&this.setCamera(r)}},t.prototype.render=function(){this.renderer.render(this.scene,this.camera)},t.prototype.postProcessing=function(e,t){this.destroyed},t.prototype.updateCamera=function(e,t,r){var n=this;return this.initAnimationReady.then((function(){n.userAction=r,n.stopMomentumMovement();var i={};return void 0!==e.longitude&&(i.longitude=e.longitude),void 0!==e.latitude&&(i.latitude=e.latitude),void 0!==e.fov&&(i.fov=e.fov),n.cameraMotion.set(i,t).catch(fe)}))},t.prototype.updateCameraWithKeyframes=function(e,t,r){var n=this;return this.initAnimationReady.then((function(){n.userAction=r,n.stopMomentumMovement();for(var i=[],o=0,a=e;o<a.length;o++){var s=a[o];i.push({key:s.key,progress:s.progress,value:{longitude:s.value.longitude,latitude:s.value.latitude,fov:s.value.fov}})}return n.cameraMotion.setKeyframes(i,t)}))},t.prototype.getTargetState=function(){var e=this.cameraMotion.getKeyFrameSegment(me())[1];return ie(ie({},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,n=t.initAnimationEndState(this);return this.userAction=r,this.emit("initAnimation.start",ss("initAnimation.start",{state:n,userAction:this.userAction})),this.emit("initAnimation.end",ss("initAnimation.end",{state:n,userAction:this.userAction})),Promise.resolve()},t.prototype.setCamera=function(e){var t,r,n,i,o;void 0===e&&(e={});var a=null!==(t=e.longitude)&&void 0!==t?t:this.camera.pose.longitude,s=null!==(r=e.latitude)&&void 0!==r?r:this.camera.pose.latitude,l=null!==(n=e.fov)&&void 0!==n?n:this.camera.pose.fov,c=null!==(i=e.distance)&&void 0!==i?i:this.camera.pose.distance,u=null!==(o=e.offset)&&void 0!==o?o:this.camera.pose.offset,d=Ya(a,this.camera.pose.longitude,2*Math.PI)||Ya(s,this.camera.pose.latitude),p=Ya(l,this.camera.pose.fov),h=Ya(c,this.camera.pose.distance),f=Ja(u,this.camera.pose.offset);(p||d||f||h)&&(this.camera.setFromPose({longitude:a,latitude:s,fov:l,distance:c,offset:u}),this.emit("camera.update",ss("camera.update",{userAction:this.userAction,state:ie(ie({},this.currentPano),{mode:this.mode,longitude:a,latitude:s,fov:l,offset:u,distance:c})})),this.needsRender=!0)},t.prototype.stopMomentumMovement=function(){if(this.inMomentumMovement&&this.inMomentumMovement.event&&!this.inMomentumMovement.event.defaultPrevented&&!this.inMomentumMovement.event.isFinal){var e=ss("gesture.momentum",ie(ie({},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 vs(e,this.element,this.scissor)},t.prototype.bindEvents=function(e){var t=this,r=function(e){var r=vs(e,t.element,t.scissor);return!(Math.abs(r.x)>1||Math.abs(r.y)>1)},i=new fs.Manager(e),o=function(e){return e.session.firstInput||null};i.add(new fs.Pan({threshold:10,pointers:0})),i.add(new fs.Tap({interval:410})),i.add(new fs.Pinch({threshold:0,pointers:2})),i.on("panstart pan",(function(e){var a=o(i);if(!a||r(a.center)){var s,l,c,u=ss("gesture.pan",{target:e.target,pointerType:e.pointerType,srcEvent:e.srcEvent,pointers:e.pointers.map((function(e){var r=t.relativeClientPosition(e),i=new n.Raycaster;return i.setFromCamera(r,t.camera),{x:e.x,y:e.y,delta:0,buttons:0,coords:r,raycaster:i}})),isFirst:e.isFirst,isFinal:e.isFinal,scale:e.scale,center:(s=e.center,l=t.relativeClientPosition(s),c=new n.Raycaster,c.setFromCamera(l,t.camera),{x:s.x,y:s.y,delta:0,buttons:0,coords:l,raycaster:c}),velocityX:e.velocityX,velocityY:e.velocityY,overallVelocityX:e.overallVelocityX,overallVelocityY:e.overallVelocityY,userAction:!0,state:ie(ie({mode:t.mode},t.currentPano),hs(t.camera.pose))});t.onPanGesture(u),v()}})),i.on("tap",(function(e){if("mouse"!==e.pointerType||0===e.srcEvent.button){var a=o(i);if(!a||r(a.center)){var s,l,c,u=ss("gesture.tap",{target:e.target,pointerType:e.pointerType,srcEvent:e.srcEvent,pointers:e.pointers.map((function(e){var r=t.relativeClientPosition(e),i=new n.Raycaster;return i.setFromCamera(r,t.camera),{x:e.x,y:e.y,delta:0,buttons:0,coords:r,raycaster:i}})),isFirst:!0,isFinal:!0,scale:e.scale,center:(s=e.center,l=t.relativeClientPosition(s),c=new n.Raycaster,c.setFromCamera(l,t.camera),{x:s.x,y:s.y,delta:0,buttons:0,coords:l,raycaster:c}),velocityX:e.velocityX,velocityY:e.velocityY,overallVelocityX:e.overallVelocityX,overallVelocityY:e.overallVelocityY,userAction:!0,state:ie(ie({mode:t.mode},t.currentPano),hs(t.camera.pose))});t.onTapGesture(u),v()}}})),i.on("pinchstart pinch pinchend",(function(e){var a=o(i);if(!a||r(a.center)){var s,l,c,u=ss("gesture.pinch",{target:e.target,pointerType:e.pointerType,srcEvent:e.srcEvent,pointers:e.pointers.map((function(e){var r,i=t.relativeClientPosition(e),o=new n.Raycaster;return o.setFromCamera(i,t.camera),{x:e.x,y:e.y,delta:null!==(r=e.delta)&&void 0!==r?r:0,buttons:0,coords:i,raycaster:o}})),isFirst:"pinchstart"===e.type,isFinal:"pinchend"===e.type,scale:e.scale,center:(s=e.center,l=t.relativeClientPosition(s),c=new n.Raycaster,c.setFromCamera(l,t.camera),{x:s.x,y:s.y,delta:0,buttons:0,coords:l,raycaster:c}),velocityX:e.velocityX,velocityY:e.velocityY,overallVelocityX:e.overallVelocityX,overallVelocityY:e.overallVelocityY,userAction:!0,state:ie(ie({mode:t.mode},t.currentPano),hs(t.camera.pose))});t.onPinchGesture(u),v()}}));var a=null,s=null,l=function(e,r,i){var o={x:i.clientX,y:i.clientY},a=t.relativeClientPosition(o),s=new n.Raycaster;s.setFromCamera(a,t.camera);var l=ie(ie({},o),{coords:a,raycaster:s,buttons:i.buttons,delta:0}),c="pinchend"===e?r:r-i.deltaY/280;return ss("gesture.pinch",{target:i.target,pointerType:"mouse",srcEvent:i,pointers:[ie({},l)],isFirst:"pinchstart"===e,isFinal:"pinchend"===e,scale:jr(c,.1,10),center:ie({},l),velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:ie(ie({mode:t.mode},t.currentPano),hs(t.camera.pose))})},c=function(e){var i,o={x:e.clientX,y:e.clientY};if(r(o)){if(e.preventDefault(),e.ctrlKey){var c=null!==(i=null==a?void 0:a.prevEvent.scale)&&void 0!==i?i:1,u=l(a?"pinch":"pinchstart",c,e);null===a?a={firstEvent:u,prevEvent:u}:a.prevEvent=u,t.onPinchGesture(u),null!==s&&window.clearTimeout(s),s=window.setTimeout((function(){var r;s=null;var n=null!==(r=null==a?void 0:a.prevEvent.scale)&&void 0!==r?r:1,i=l("pinchend",n,e);a=null,t.onPinchGesture(i)}),200)}else{var d=(Math.abs(e.deltaY)>Math.abs(e.deltaX)?e.deltaY:e.deltaX)/-60,p=void 0!==t.mouseWheelState,h={x:e.clientX,y:e.clientY},f=t.relativeClientPosition(h),m=new n.Raycaster;m.setFromCamera(f,t.camera);var A=ie(ie({},h),{coords:f,raycaster:m,buttons:e.buttons,delta:d});u=ss("gesture.mousewheel",{target:e.target,pointerType:"mouse",srcEvent:e,pointers:[ie({},A)],isFirst:p,isFinal:!1,scale:0,center:ie({},A),velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:ie(ie({mode:t.mode},t.currentPano),hs(t.camera.pose))});t.onMouseWheel(u),t.mouseWheelState&&clearTimeout(t.mouseWheelState.timer),t.mouseWheelState={timer:setTimeout((function(){delete t.mouseWheelState;var r=ss("gesture.mousewheel",{target:e.target,pointerType:"mouse",srcEvent:e,pointers:[ie(ie({},A),{delta:0})],isFirst:!1,isFinal:!0,scale:0,center:ie(ie({},A),{delta:0}),velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:ie(ie({mode:t.mode},t.currentPano),hs(t.camera.pose))});t.onMouseWheel(r)}),100)}}v()}},u=function(e){if(!as())if(r({x:e.clientX,y:e.clientY})){var i=!1;t.mouseMoveState||(i=!0);var o={x:e.clientX,y:e.clientY},a=t.relativeClientPosition(o),s=new n.Raycaster;s.setFromCamera(a,t.camera);var l=ie(ie({},o),{coords:a,raycaster:s,buttons:e.buttons,delta:0}),c=ss("gesture.mousemove",{target:e.target,pointerType:"mouse",srcEvent:e,pointers:[ie({},l)],isFirst:i,isFinal:!1,scale:0,center:ie({},l),velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:ie(ie({mode:t.mode},t.currentPano),hs(t.camera.pose))});t.mouseMoveState||(t.mouseMoveState={timeStamp:me(),event:c}),t.onMouseMove(c),t.pressState&&Math.abs(e.clientX-t.pressState.event.center.y)>10&&Math.abs(e.clientY-t.pressState.event.center.y)>10&&v()}else d()},d=function(){if(t.mouseMoveState){var e=ss(t.mouseMoveState.event.type,ie(ie({},t.mouseMoveState.event),{isFinal:!0}));t.onMouseMove(e)}v()},p=function(e){if(r(e.center)){var n=!1;t.pressState||(n=!0,t.pressState={event:e,timeStamp:me(),stop:fe});var i=me()-t.pressState.timeStamp,o=ss(t.pressState.event.type,ie(ie({},t.pressState.event),{isFirst:n,isFinal:!1,center:ie(ie({},t.pressState.event.center),{delta:i}),pointers:t.pressState.event.pointers.map((function(e){return ie(ie({},e),{delta:i})}))}));t.onPressGesture(o),t.pressState&&(t.pressState.stop=Ne.shared.add((function(t){p(e)}),!0,1))}else v()},h=function(e){if(v(),!(e.touches.length>1||e.changedTouches.length<=0)){var r={x:e.changedTouches[0].clientX,y:e.changedTouches[0].clientY},i=t.relativeClientPosition(r),o=new n.Raycaster;o.setFromCamera(i,t.camera);var a=ie(ie({},r),{coords:i,raycaster:o,buttons:0,delta:0}),s=ss("gesture.press",{target:e.target,pointerType:"touch",srcEvent:e,pointers:[ie({},a)],isFirst:!1,isFinal:!1,scale:0,center:a,velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:ie(ie({mode:t.mode},t.currentPano),hs(t.camera.pose))});p(s)}},f=function(e){v();var r={x:e.clientX,y:e.clientY},i=t.relativeClientPosition(r),o=new n.Raycaster;o.setFromCamera(i,t.camera);var a=ie(ie({},r),{coords:i,raycaster:o,buttons:e.buttons,delta:0}),s=ss("gesture.press",{target:e.target,pointerType:"mouse",srcEvent:e,pointers:[ie({},a)],isFirst:!1,isFinal:!1,scale:0,center:a,velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:ie(ie({mode:t.mode},t.currentPano),hs(t.camera.pose))});p(s)},v=function(){var e;if(t.pressState){var r=me()-t.pressState.timeStamp,n=ss(t.pressState.event.type,ie(ie({},t.pressState.event),{center:ie(ie({},t.pressState.event.center),{delta:r}),isFirst:!1,isFinal:!0,pointers:t.pressState.event.pointers.map((function(e){return ie(ie({},e),{delta:r})}))}));t.onPressGesture(n),null===(e=t.pressState)||void 0===e||e.stop(),delete t.pressState}},m=null,A=function(e){var r,i=!1,o=!1;switch(e.type){case"gesturestart":i=!0;break;case"gestureend":o=!0}var a={x:e.clientX,y:e.clientY},s=t.relativeClientPosition(a),l=new n.Raycaster;l.setFromCamera(s,t.camera);var c=ie(ie({},a),{coords:s,raycaster:l,buttons:0,delta:0});return ss("gesture.pinch",{target:e.target,pointerType:"mouse",srcEvent:e,pointers:[ie({},c)],isFirst:i,isFinal:o,scale:null!==(r=e.scale)&&void 0!==r?r:1,center:ie({},c),velocityX:0,velocityY:0,overallVelocityX:0,overallVelocityY:0,userAction:!0,state:ie(ie({mode:t.mode},t.currentPano),hs(t.camera.pose))})},g=function(e){if(e.preventDefault(),!as()){var n=A(e),i=(m={firstEvent:n}).firstEvent;i&&!r(i.center)||t.onPinchGesture(n)}},y=function(e){if(e.preventDefault(),!as()&&m){var n=A(e),i=m.firstEvent;i&&!r(i.center)||t.onPinchGesture(n)}},b=function(e){if(e.preventDefault(),!as()&&m){var n=A(e),i=m.firstEvent;m=null,i&&!r(i.center)||t.onPinchGesture(n)}},x=function(t){if(t&&"function"==typeof t.preventDefault&&t.currentTarget===e&&t.preventDefault(),"function"==typeof getSelection){var r=getSelection();r&&r.focusNode&&(r.removeAllRanges&&r.removeAllRanges(),r.empty&&r.empty())}};e.addEventListener("wheel",c,{passive:!1}),e.addEventListener("mousemove",u,!1),e.addEventListener("mouseout",d,!1),e.addEventListener("touchstart",h,{passive:!0}),e.addEventListener("touchend",v,!1),e.addEventListener("touchcancel",v,!1),e.addEventListener("mousedown",f,!1),e.addEventListener("mouseup",v,!1),e.addEventListener("gesturestart",g,{passive:!1}),e.addEventListener("gesturechange",y,{passive:!1}),e.addEventListener("gestureend",b,{passive:!1}),e.addEventListener("touchstart",x,{passive:!1}),e.addEventListener("contextmenu",x,!1);return Object.assign((function(){i.destroy(),e.removeEventListener("wheel",c,!1),e.removeEventListener("mousemove",u,!1),e.removeEventListener("mouseout",d,!1),e.removeEventListener("touchstart",h,!1),e.removeEventListener("touchend",v,!1),e.removeEventListener("touchcancel",v,!1),e.removeEventListener("mousedown",f,!1),e.removeEventListener("mouseup",v,!1),e.removeEventListener("gesturestart",g,!1),e.removeEventListener("gesturechange",y,!1),e.removeEventListener("gestureend",b,!1),e.removeEventListener("touchstart",x,!1),e.removeEventListener("contextmenu",x,!1)}),{element:e})},t.prototype.preloadPano=function(e,t){var r=this;void 0===t&&(t=fe);var n=this.works.getResolvedObserver(e);if(!n)return Promise.resolve();return Promise.all(["right","left","up","down","front","back"].map((function(t){var i=ie({key:"pano.".concat(Xe(e),".").concat(t)},eo(r.imageOptions,["size","format","quality","mappings"])),o=He(n.images[t],r.imageOptions.transform,i);return ua(n.work).preload(o)}))).then((function(){return t(e),e}))},t}(he),As=function(e){function t(r){var n,i=this,o=t.parseArgs(r);return(i=e.call(this,o)||this).mode="Floorplan",i.defaultLongitude=o.defaultLongitude,i.defaultLatitude=o.defaultLatitude,i.defaultFov=o.defaultFov,i.maxFov=o.maxFov,i.minFov=o.minFov,i.maxLatitude=o.maxLatitude,i.minLatitude=o.minLatitude,i.locationMotion=new Oa({x:i.camera.pose.offset.x,y:i.camera.pose.offset.y,z:i.camera.pose.offset.z,distance:i.camera.pose.distance,modelAlpha:null!==(n=i.models.getMaterial().modelAlpha)&&void 0!==n?n:0,perspToOrtho:i.camera.perspToOrtho.x,orthoDistance:i.camera.orthoDistance}),i.currentTapId=null,i.intersectMeshCreator=o.intersectMeshCreator,i.intersectMesh=i.intersectMeshCreator(),i.intersectMesh.name="intersect",i.intersectMesh.visible=!1,i.helper.add(i.intersectMesh),i}return ne(t,e),t.distanceFromModel=function(e,t,r){var n=e.bounding,i=Math.pow(Math.pow(n.max.x-n.min.x+1,2)+Math.pow(n.max.y-n.min.y+1,2)+Math.pow(n.max.z-n.min.z+1,2),.5),o=i/2/Math.tan(Math.PI*t/360);return r<1&&(o/=r),isNaN(o)?i:o},t.parseArgs=function(r){var n,i,o,a,s,l,c,u;if(r instanceof t)return r;var d=e.parseArgs.call(this,r);return ie(ie({},d),{defaultLongitude:null!==(n=r.defaultLongitude)&&void 0!==n?n:Math.PI/4,defaultLatitude:null!==(i=r.defaultLatitude)&&void 0!==i?i:Math.PI/4,defaultFov:null!==(o=r.defaultFov)&&void 0!==o?o:80,maxFov:null!==(a=r.maxFov)&&void 0!==a?a:120,minFov:null!==(s=r.minFov)&&void 0!==s?s:20,maxLatitude:null!==(l=r.maxLatitude)&&void 0!==l?l:+Math.PI/2,minLatitude:null!==(c=r.minLatitude)&&void 0!==c?c:-Math.PI/2,intersectMeshCreator:null!==(u=r.intersectMeshCreator)&&void 0!==u?u:function(){return new Ha}})},t.initAnimationEndState=function(e){var r,i,o,a,s,l,c=this.parseArgs(e),u=e.initial,d=u.state,p=u.currentState,h="number"==typeof d.panoIndex?{workCode:null!==(o=null!==(r=d.workCode)&&void 0!==r?r:null===(i=c.works[0])||void 0===i?void 0:i.workCode)&&void 0!==o?o:"",panoIndex:d.panoIndex}:{workCode:p.workCode,panoIndex:p.panoIndex};return ie(ie({},h),{mode:"Floorplan",longitude:null!==(a=d.longitude)&&void 0!==a?a:Aa(p.mode)?p.longitude:c.defaultLongitude,latitude:jr(null!==(s=d.latitude)&&void 0!==s?s:"Floorplan"===p.mode?p.latitude:c.defaultLatitude,c.minLatitude,c.maxLatitude),fov:null!==(l=d.fov)&&void 0!==l?l:c.defaultFov,offset:e.models.bounding.getCenter(new n.Vector3),distance:t.distanceFromModel(c.models,c.defaultFov,c.camera.aspect)})},t.prototype.destroy=function(){e.prototype.destroy.call(this),this.locationMotion.dispose(),delete this.panState,this.intersectMesh.dispose(),this.helper.remove(this.intersectMesh)},t.prototype.isReady=function(){return!1!==this.locationMotion.ended&&e.prototype.isReady.call(this)},t.prototype.updateWork=function(e,t,r,n){return this.works=e,this.updateCamera(t,null!=r?r:0,n),!0},t.prototype.updateModel=function(r){e.prototype.updateModel.call(this,r);var i=r.bounding.getCenter(new n.Vector3),o=t.distanceFromModel(r,this.defaultFov,this.camera.aspect);this.locationMotion.set({x:i.x,y:i.y,z:i.z,distance:o},0).catch(fe)},t.prototype.updateCamera=function(e,t,r){var n=this;return this.initAnimationReady.then((function(){n.userAction=r,n.stopMomentumMovement();var i={},o={};return i.modelAlpha=1,i.perspToOrtho=0,void 0!==e.distance&&(i.distance=e.distance,i.orthoDistance=e.distance),void 0!==e.offset&&(i.x=e.offset.x,i.y=e.offset.y,i.z=e.offset.z),void 0!==e.longitude&&(o.longitude=e.longitude),void 0!==e.latitude&&(o.latitude=e.latitude),void 0!==e.fov&&(o.fov=e.fov),n.locationMotion.set(i,t).catch(fe),n.cameraMotion.set(o,t).catch(fe)}))},t.prototype.updateCameraWithKeyframes=function(e,t,r){var n=this;return this.initAnimationReady.then((function(){n.userAction=r,n.stopMomentumMovement();for(var i=[],o=[],a=0,s=e;a<s.length;a++){var l=s[a];i.push({key:l.key,progress:l.progress,value:{distance:l.value.distance,orthoDistance:l.value.distance,modelAlpha:1,perspToOrtho:0,x:l.value.offset.x,y:l.value.offset.x,z:l.value.offset.x}}),o.push({key:l.key,progress:l.progress,value:{longitude:l.value.longitude,latitude:l.value.latitude,fov:l.value.fov}})}return n.locationMotion.setKeyframes(i,t).catch(fe),n.cameraMotion.setKeyframes(e,t)}))},t.prototype.updateTime=function(e,t){if(!this.destroyed){var r={},i={};this.locationMotion.ended||(this.locationMotion.update(e),r.modelAlpha=this.locationMotion.value.modelAlpha,this.camera.perspToOrtho.setScalar(jr(this.locationMotion.value.perspToOrtho,0,1)),this.camera.orthoDistance=this.locationMotion.value.orthoDistance,i.distance=this.locationMotion.value.distance,i.offset=new n.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z)),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),ps(r)||this.models.setMaterial(r),ps(i)||this.setCamera(i)}},t.prototype.getTargetState=function(){var e=this.cameraMotion.getKeyFrameSegment(me())[1],t=this.locationMotion.getKeyFrameSegment(me())[1];return ie(ie({},this.currentPano),{mode:this.mode,longitude:e.value.longitude,latitude:e.value.latitude,fov:e.value.fov,offset:new n.Vector3(t.value.x,t.value.y,t.value.z),distance:t.value.distance})},t.prototype.initAnimation=function(){var e=this;return this.destroyed?Promise.resolve():new Promise((function(r){var n=e.initial;n.state,n.currentState;var i=n.duration,o=n.userAction;e.userAction=o;var a=t.initAnimationEndState(e),s=eo(a,["longitude","latitude","fov"]),l={x:a.offset.x,y:a.offset.y,z:a.offset.z,distance:a.distance,modelAlpha:1,perspToOrtho:0,orthoDistance:a.distance};e.emit("initAnimation.start",ss("initAnimation.start",{state:a,userAction:e.userAction})),e.cameraMotion.set(s,i).catch(fe),e.locationMotion.set(l,i).then((function(){e.emit("initAnimation.end",ss("initAnimation.end",{state:a,userAction:e.userAction}))}),(function(t){var r=ie(ie(ie({},e.currentPano),{mode:e.mode}),hs(e.camera.pose));e.emit("initAnimation.end",ss("initAnimation.end",{state:r,userAction:e.userAction}))})).then((function(){r()}))}))},t.prototype.updateRenderSize=function(){this.locationMotion.set({distance:t.distanceFromModel(this.models,this.defaultFov,this.camera.aspect)},0).catch(fe)},t.prototype.getForwardObserverOrNot=function(e){var t=this.models.intersectRaycaster(e)[0];if(!t)return null;var r=ds(this.works.resolvedObservers,(function(e){return e.standingPosition.distanceTo(t.point)}),!0),n=r[0],i=r[1];return n&&i<10?n:null},t.prototype.coordinatesForOffset=function(e){var t=this.renderer.getSize(new n.Vector2);return{longitude:-2*e.x/(t.x*this.scissor.width),latitude:2*e.y/(t.y*this.scissor.height)}},t.prototype.requestMomentumMovement=function(e,t,r,n){var i=this;if(null!==this.inMomentumMovement){for(var o=ie({},r),a={longitude:0,latitude:0},s=0;s<n;s++)o.longitude*=.996,o.latitude*=.994008,a.longitude+=o.longitude,a.latitude+=o.latitude;var l=ts(this.cameraMotion.value.longitude+a.longitude),c=jr(this.cameraMotion.value.latitude+a.latitude,this.minLatitude,this.maxLatitude),u=ie(ie({},this.currentPano),{mode:this.mode,longitude:l,latitude:c,fov:this.cameraMotion.value.fov,offset:this.camera.pose.offset.clone(),distance:this.camera.pose.distance}),d=!(o.longitude>1e-4||o.longitude<-1e-4||o.latitude>1e-4||o.latitude<-1e-4),p=ss("gesture.momentum",ie(ie({},e),{isFirst:t,isFinal:d,state:u}));this.inMomentumMovement.event=p,this.emit("gesture.momentum",p),e.defaultPrevented?this.inMomentumMovement=null:this.inMomentumMovement&&(this.cameraMotion.set({longitude:l,latitude:c},0).catch(fe),d?this.inMomentumMovement=null:Ne.shared.add((function(t,r){i.requestMomentumMovement(e,!1,o,0|r)}),!0,1))}},t.prototype.onPanGesture=function(e){this.userAction=e.userAction,this.stopMomentumMovement(),this.hideIntersectMesh();var t=this.panState,r=e.pointers.length;if(e.isFinal?delete this.panState:this.panState={pointerLength:r,x:e.center.x,y:e.center.y},void 0!==t&&t.pointerLength===r){var n={x:e.center.x-t.x,y:e.center.y-t.y},i=this.relativeClientPosition(e.center),o=this.camera.pose.latitude<Math.PI/6||i.y<0?1:-1;n.x*=o;var a=this.coordinatesForOffset(n),s=ts(this.cameraMotion.value.longitude+a.longitude),l=jr(this.cameraMotion.value.latitude+a.latitude,this.minLatitude,this.maxLatitude);this.camera.aspect<1&&Math.abs(e.overallVelocityX)>.2&&Math.atan2(Math.abs(e.overallVelocityY),Math.abs(e.overallVelocityX))<Math.PI/6.923&&(l=this.cameraMotion.value.latitude);var c=ie(ie({},this.currentPano),{mode:this.mode,longitude:s,latitude:l,fov:this.camera.pose.fov,offset:this.camera.pose.offset,distance:this.camera.pose.distance});if(e.state=c,this.emit("gesture.pan",e),!e.defaultPrevented&&(this.cameraMotion.set({longitude:c.longitude,latitude:c.latitude},0).catch(fe),e.isFinal)){var u=e.velocityX*o,d=e.velocityY;this.inMomentumMovement={uuid:Ka()},this.requestMomentumMovement(e,!0,this.coordinatesForOffset({x:u,y:d}),0)}}},t.prototype.onPinchGesture=function(e){var t;this.userAction=e.userAction,this.stopMomentumMovement();var r=null===(t=this.pinchState)||void 0===t?void 0:t.fov;if(e.isFirst)this.pinchState={x:e.center.x,y:e.center.y,fov:this.cameraMotion.value.fov};else if(e.isFinal&&(delete this.panState,delete this.pinchState),void 0!==r){var n=jr(r/e.scale,this.minFov,this.maxFov);e.state.fov=n,this.emit("gesture.pinch",e),e.defaultPrevented||(this.cameraMotion.set({fov:n},0).catch(fe),this.onPanGesture(e))}},t.prototype.onMouseMove=function(e){var t,r;if(this.intersectMesh.parent&&!this.panState)if(this.emit("gesture.mousemove",e),e.defaultPrevented)this.hideIntersectMesh();else{var i=e.center.raycaster;if(e.isFinal&&this.intersectMesh.parent&&!0===this.intersectMesh.visible)this.hideIntersectMesh();else{var o=this.models.intersectRaycaster(i)[0],a=ss("intersect.update",{raycaster:i,intersection:null!=o?o:null,object:this.intersectMesh});if(this.emit("intersect.update",a),a.defaultPrevented)this.hideIntersectMesh();else if(o){var s=null!==(r=null===(t=o.face)||void 0===t?void 0:t.normal)&&void 0!==r?r:(new n.Vector3).copy(i.ray.direction).multiplyScalar(-1),l=s.clone().multiplyScalar(.05),c=o.point.clone().add(l);this.intersectMesh.position.copy(c);var u=c.clone().add(l);if(this.intersectMesh.lookAt(u),Math.abs(s.y)>.99){var d=this.camera.position.clone().sub(c);this.intersectMesh.rotation.z=-Math.atan2(d.z,d.x)}this.intersectMesh.visible=!0,this.needsRender=!0}else this.hideIntersectMesh()}}},t.prototype.onMouseWheel=function(e){this.userAction=e.userAction,this.stopMomentumMovement();var t=this.minFov,r=this.maxFov,n=jr(this.camera.fov-e.center.delta,t,r);e.state.fov=n,this.emit("gesture.mousewheel",e),e.defaultPrevented||this.cameraMotion.set({fov:n},0).catch(fe)},t.prototype.onTapGesture=function(e){var t=this;this.userAction=!0,this.stopMomentumMovement();var r=e.center.raycaster,i=this.getForwardObserverOrNot(r);if(i){var o={longitude:this.camera.pose.longitude,latitude:0},a=ie(ie({},e.state),{mode:"Panorama",workCode:i.pano.workCode,panoIndex:i.pano.panoIndex,longitude:o.longitude,latitude:o.latitude,offset:i?i.position.clone():new n.Vector3,distance:0});if(e.state=a,this.emit("gesture.tap",e),!e.defaultPrevented&&(this.emit("pano.select",ss("pano.select",{prevPano:this.currentPano,state:a,userAction:e.userAction,options:o,progress:0,error:null})),i&&i.active)){var s=this.currentTapId=Ka();this.preloadPano(i.pano).then((function(e){t.currentTapId===s&&t.emit("pano.request",ss("pano.request",{userAction:!0,prevPano:t.currentPano,progress:0,state:a,options:o,error:null}))}))}}else this.emit("gesture.tap",e)},t.prototype.hideIntersectMesh=function(){this.intersectMesh.visible=!1,this.needsRender=!0},t}(ms),gs={longitude:0,latitude:Math.PI/2},ys={longitude:0,latitude:0},bs={longitude:Math.PI/2,latitude:0},xs={longitude:Math.PI,latitude:0},ws={longitude:1.5*Math.PI,latitude:0};var Es,Ms=function(e){function t(r){var n=this,i=t.parseArgs(r);return(n=e.call(this,i)||this).mode="Topview",n}return ne(t,e),t.parseArgs=function(r){if(r instanceof t)return r;var n=ie(ie({},r.initial),{state:ie(ie({},r.initial.state),{longitude:0,latitude:Math.PI/2})}),i=ie(ie({},r),{initial:n,maxLatitude:Math.PI/2,minLatitude:Math.PI/2,defaultLongitude:0,defaultLatitude:Math.PI/2});return e.parseArgs.call(this,i)},t.initAnimationEndState=function(t){var r=this.parseArgs(t),n=e.initAnimationEndState.call(this,r);return ie(ie({},n),{mode:"Topview"})},t.prototype.updateModel=function(e){this.needsRender=!0;var t=this.models.bounding.getCenter(new n.Vector3);this.locationMotion.set({x:t.x,y:t.y,z:t.z,distance:As.distanceFromModel(this.models,this.defaultFov,this.camera.aspect)},0).catch(fe)},t.prototype.updateCamera=function(e,t,r){var n=this;return this.initAnimationReady.then((function(){n.userAction=r,n.stopMomentumMovement();var i={},o={};return i.modelAlpha=1,i.perspToOrtho=1,void 0!==e.distance&&(i.distance=e.distance,i.orthoDistance=e.distance),void 0!==e.offset&&(i.x=e.offset.x,i.y=e.offset.y,i.z=e.offset.z),void 0!==e.longitude&&(o.longitude=e.longitude),void 0!==e.latitude&&(o.latitude=e.latitude),void 0!==e.fov&&(o.fov=e.fov),n.locationMotion.set(i,t).catch(fe),n.cameraMotion.set(o,t).catch(fe)}))},t.prototype.updateCameraWithKeyframes=function(e,t,r){var n=this;return this.initAnimationReady.then((function(){n.userAction=r,n.stopMomentumMovement();for(var i=[],o=[],a=0,s=e;a<s.length;a++){var l=s[a];i.push({key:l.key,progress:l.progress,value:{distance:l.value.distance,orthoDistance:l.value.distance,modelAlpha:1,perspToOrtho:1,x:l.value.offset.x,y:l.value.offset.x,z:l.value.offset.x}}),o.push({key:l.key,progress:l.progress,value:{longitude:l.value.longitude,latitude:l.value.latitude,fov:l.value.fov}})}return n.locationMotion.setKeyframes(i,t).catch(fe),n.cameraMotion.setKeyframes(e,t)}))},t.prototype.initAnimation=function(){var e=this;return this.destroyed?Promise.resolve():new Promise((function(r){var n=e.initial;n.state,n.currentState;var i=n.duration,o=n.userAction;e.userAction=o;var a=t.initAnimationEndState(e),s={longitude:a.longitude,latitude:a.latitude,fov:a.fov},l={x:a.offset.x,y:a.offset.y,z:a.offset.z,distance:a.distance,modelAlpha:1,perspToOrtho:1,orthoDistance:a.distance};e.emit("initAnimation.start",ss("initAnimation.start",{state:a,userAction:e.userAction})),e.cameraMotion.set(s,i).catch(fe),e.locationMotion.set(l,i).then((function(){e.emit("initAnimation.end",ss("initAnimation.end",{state:a,userAction:e.userAction}))}),(function(t){var r=ie(ie(ie({},e.currentPano),{mode:e.mode}),hs(e.camera.pose));e.emit("initAnimation.end",ss("initAnimation.end",{state:r,userAction:e.userAction}))})).then((function(){r()}))}))},t.prototype.getZoomOffsetFromFov=function(e,t,r){var i=this.camera.getDirection(new n.Vector3),o=Math.tan(r/2*Math.PI/180),a=Math.tan(t.fov/2*Math.PI/180),s=(a-o)/a,l=new n.Raycaster;l.setFromCamera(e,t);var c=l.ray.direction,u=c.angleTo(i),d=As.distanceFromModel(this.models,this.defaultFov,this.camera.aspect),p=d*Math.tan(u),h=c.clone().setLength(d*Math.cos(u)).projectOnPlane(i),f=h.length(),v=s/f*h.x*p,m=s/f*h.z*p,A=s/f*h.y*p;return new n.Vector3(v,A,m)},t.prototype.requestMomentumMovement=function(){this.inMomentumMovement=null},t.prototype.onPanGesture=function(e){this.userAction=e.userAction,this.stopMomentumMovement();var t=this.panState,r=e.pointers.length;if(e.isFinal?delete this.panState:this.panState={pointerLength:r,x:e.center.x,y:e.center.y},void 0!==t&&t.pointerLength===r){var i=e.center.x-t.x,o=e.center.y-t.y,a=new n.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z),s=this.models.bounding,l=s.getCenter(new n.Vector3),c=(s.max.x-s.min.x)/this.defaultFov*this.cameraMotion.value.fov,u=(s.max.y-s.min.y)/this.defaultFov*this.cameraMotion.value.fov,d=(s.max.z-s.min.z)/this.defaultFov*this.cameraMotion.value.fov,p={left:new n.Vector3,up:new n.Vector3,cameraDirection:"y"};this.cameraMotion.value.longitude===gs.longitude&&this.cameraMotion.value.latitude===gs.latitude?(p.left.set(1,0,0),p.up.set(0,0,-1),p.cameraDirection="y"):this.cameraMotion.value.longitude===ys.longitude&&this.cameraMotion.value.latitude===ys.latitude?(p.left.set(1,0,0),p.up.set(0,1,0),p.cameraDirection="z"):this.cameraMotion.value.longitude===xs.longitude&&this.cameraMotion.value.latitude===xs.latitude?(p.left.set(1,0,0),p.up.set(0,-1,0),p.cameraDirection="z"):this.cameraMotion.value.longitude===ws.longitude&&this.cameraMotion.value.latitude===ws.latitude?(p.left.set(0,0,-1),p.up.set(0,-1,0),p.cameraDirection="x"):this.cameraMotion.value.longitude===bs.longitude&&this.cameraMotion.value.latitude===bs.latitude&&(p.left.set(0,0,-1),p.up.set(0,1,0),p.cameraDirection="x");var h=(this.camera.position[p.cameraDirection]-s.min[p.cameraDirection])*Math.tan(this.camera.fov/2*Math.PI/180),f=this.renderer.getSize(new n.Vector2);a.add(function(e,t){var r=(new n.Vector3).copy(t);return r.multiplyScalar(-e),r}(2*i*h/f.y,p.left)),a.add(function(e,t){var r=(new n.Vector3).copy(t);return r.multiplyScalar(e),r}(2*o*h/f.y,p.up)),a.x=jr(a.x,l.x-c,l.x+c),a.y=jr(a.y,l.y-u,l.y+u),a.z=jr(a.z,l.z-d,l.z+d);var v=ie(ie({},this.currentPano),{mode:this.mode,longitude:0,latitude:Math.PI/2,fov:this.cameraMotion.value.fov,offset:a,distance:this.locationMotion.value.distance});e.state=v,this.emit("gesture.pan",e),e.defaultPrevented||this.locationMotion.set({x:a.x,y:a.y,z:a.z},0).catch(fe)}},t.prototype.onPinchGesture=function(e){var t;this.userAction=e.userAction,this.stopMomentumMovement();var r=null===(t=this.pinchState)||void 0===t?void 0:t.fov;if(e.isFirst)this.pinchState={x:e.center.x,y:e.center.y,fov:this.cameraMotion.value.fov};else if(e.isFinal&&delete this.pinchState,void 0!==r){var n=jr(r/e.scale,this.minFov,this.maxFov),i=this.relativeClientPosition({x:e.center.x,y:e.center.y}),o=this.getZoomOffsetFromFov(i,this.camera,n);this.cameraMotion.value.longitude===gs.longitude&&this.cameraMotion.value.latitude===gs.latitude?o.y=0:this.cameraMotion.value.longitude===ys.longitude&&this.cameraMotion.value.latitude===ys.latitude||this.cameraMotion.value.longitude===xs.longitude&&this.cameraMotion.value.latitude===xs.latitude?o.z=0:(this.cameraMotion.value.longitude===ws.longitude&&this.cameraMotion.value.latitude===ws.latitude||this.cameraMotion.value.longitude===bs.longitude&&this.cameraMotion.value.latitude===bs.latitude)&&(o.x=0);var a=this.camera.pose.offset.clone().add(o);e.state.offset.copy(a),e.state.fov=n,this.emit("gesture.pinch",e),e.defaultPrevented||(this.locationMotion.set({x:a.x,y:a.y,z:a.z},0).catch(fe),this.cameraMotion.set({fov:n},0).catch(fe),e.type="gesture.pan",this.onPanGesture(e))}},t.prototype.onMouseWheel=function(e){this.userAction=e.userAction,this.stopMomentumMovement();var t=jr(this.cameraMotion.value.fov-e.center.delta,this.minFov,this.maxFov),r=e.center.coords,n=this.getZoomOffsetFromFov(r,this.camera,t);this.cameraMotion.value.longitude===gs.longitude&&this.cameraMotion.value.latitude===gs.latitude?n.y=0:this.cameraMotion.value.longitude===ys.longitude&&this.cameraMotion.value.latitude===ys.latitude||this.cameraMotion.value.longitude===xs.longitude&&this.cameraMotion.value.latitude===xs.latitude?n.z=0:(this.cameraMotion.value.longitude===ws.longitude&&this.cameraMotion.value.latitude===ws.latitude||this.cameraMotion.value.longitude===bs.longitude&&this.cameraMotion.value.latitude===bs.latitude)&&(n.x=0);var i=this.camera.pose.offset.clone().add(n);e.state.offset.copy(i),e.state.fov=t,this.emit("gesture.mousewheel",e),e.defaultPrevented||(this.locationMotion.set({x:i.x,y:i.y,z:i.z},0).catch(fe),this.cameraMotion.set({fov:t},0).catch(fe))},t}(As),Cs=function(e){function t(r){var n=this,i=t.parseArgs(r);return(n=e.call(this,i)||this).mode="PanoramaLike",n.defaultLatitude=i.defaultLatitude,n.defaultFov=i.defaultFov,n.maxFov=i.maxFov,n.minFov=i.minFov,n.maxLatitude=i.maxLatitude,n.minLatitude=i.minLatitude,n.moveSpeed=i.moveSpeed,n.intersectMeshCreator=i.intersectMeshCreator,n.intersectMesh=n.intersectMeshCreator(),n.intersectMesh.name="intersect",n.intersectMesh.visible=!1,n.helper.add(n.intersectMesh),n}return ne(t,e),t.parseArgs=function(r){var n,i,o,a,s,l,c,u;if(r instanceof t)return r;var d=e.parseArgs.call(this,r);return ie(ie({},d),{defaultLatitude:null!==(n=r.defaultLatitude)&&void 0!==n?n:0,defaultFov:null!==(i=r.defaultFov)&&void 0!==i?i:90,maxFov:null!==(o=r.maxFov)&&void 0!==o?o:120,minFov:null!==(a=r.minFov)&&void 0!==a?a:40,maxLatitude:null!==(s=r.maxLatitude)&&void 0!==s?s:+Math.PI/2,minLatitude:null!==(l=r.minLatitude)&&void 0!==l?l:-Math.PI/2,moveSpeed:null!==(c=r.moveSpeed)&&void 0!==c?c:3.4,intersectMeshCreator:null!==(u=r.intersectMeshCreator)&&void 0!==u?u:function(){return new Ha}})},t.initAnimationEndState=function(e){var t,r,i,o,a,s,l=this.parseArgs(e),c=l.works,u=e.initial,d=u.state,p=u.currentState,h="number"==typeof d.panoIndex?{workCode:null!==(i=null!==(t=d.workCode)&&void 0!==t?t:null===(r=l.works[0])||void 0===r?void 0:r.workCode)&&void 0!==i?i:"",panoIndex:d.panoIndex}:{workCode:p.workCode,panoIndex:p.panoIndex},f=c.getResolvedObserver(h),v=null!==(o=d.longitude)&&void 0!==o?o:p.longitude,m=jr(null!==(a=d.latitude)&&void 0!==a?a:ga(p.mode)?p.latitude:l.defaultLatitude,l.minLatitude,l.maxLatitude),A=jr(null!==(s=d.fov)&&void 0!==s?s:ga(p.mode)?p.fov:l.defaultFov,l.minFov,l.maxFov),g=f?f.position.clone():new n.Vector3;return{workCode:h.workCode,panoIndex:h.panoIndex,mode:"PanoramaLike",longitude:v,latitude:m,fov:A,offset:g,distance:0}},t.prototype.destroy=function(){e.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&&e.prototype.isReady.call(this))},t.prototype.calculateMovingDuration=function(e,t){switch(typeof e){case"function":return e(t,this.moveSpeed);case"number":return e;case"string":return Number(e);default:return jr(t,2,5)/this.moveSpeed*1e3}},t.prototype.hideIntersectMesh=function(){this.intersectMesh.visible=!1,this.needsRender=!0},t.prototype.coordinatesForOffset=function(e){var t=this.cameraMotion.value.fov,r=this.camera.aspect,i=this.renderer.getSize(new n.Vector2);return{longitude:2*e.x/(i.x*this.scissor.width)*t/95*r,latitude:-2*e.y/(i.y*this.scissor.height)*t/95}},t.prototype.cameraBounce=function(){var e=this.cameraMotion.value,t=e.longitude,r=e.latitude,n=e.fov,i=[{progress:0,value:{longitude:t,latitude:r,fov:n}},{progress:.5,value:{longitude:t,latitude:r,fov:.98*n}},{progress:1,value:{longitude:t,latitude:r,fov:n}}];this.cameraMotion.setKeyframes(i,500).catch(fe)},t.prototype.requestMomentumMovement=function(e,t,r,n){var i=this;if(null!==this.inMomentumMovement){for(var o=ie({},r),a={longitude:0,latitude:0},s=0;s<n;s++)o.longitude*=.996,o.latitude*=.98604,a.longitude+=o.longitude,a.latitude+=o.latitude;var l=ts(this.cameraMotion.value.longitude+a.longitude),c=jr(this.cameraMotion.value.latitude+a.latitude,this.minLatitude,this.maxLatitude),u=ie(ie({},this.currentPano),{mode:this.mode,longitude:l,latitude:c,fov:this.cameraMotion.value.fov,offset:this.camera.pose.offset.clone(),distance:this.camera.pose.distance}),d=!(o.longitude>1e-4||o.longitude<-1e-4||o.latitude>1e-4||o.latitude<-1e-4),p=ss("gesture.momentum",ie(ie({},e),{isFirst:t,isFinal:d,state:u}));this.inMomentumMovement.event=p,this.emit("gesture.momentum",p),e.defaultPrevented?this.inMomentumMovement=null:this.inMomentumMovement&&(this.cameraMotion.set({longitude:l,latitude:c},0).catch(fe),d?this.inMomentumMovement=null:Ne.shared.add((function(t,r){i.requestMomentumMovement(e,!1,o,0|r)}),!0,1))}},t.prototype.onPanGesture=function(e){this.userAction=e.userAction,this.stopMomentumMovement(),this.hideIntersectMesh();var t=this.panState,r=e.pointers.length;if(e.isFinal?delete this.panState:this.panState={pointerLength:r,x:e.center.x,y:e.center.y},void 0!==t&&t.pointerLength===r){var n={x:e.center.x-t.x,y:e.center.y-t.y},i=this.coordinatesForOffset(n),o=ts(this.cameraMotion.value.longitude+i.longitude),a=jr(this.cameraMotion.value.latitude+i.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&&(a=this.cameraMotion.value.latitude);var s=ie(ie({},this.currentPano),{mode:this.mode,longitude:o,latitude:a,fov:this.cameraMotion.value.fov,offset:this.camera.pose.offset.clone(),distance:this.camera.pose.distance});if(e.state=s,this.emit("gesture.pan",e),!e.defaultPrevented){var l={longitude:s.longitude,latitude:s.latitude,fov:s.fov};if(this.cameraMotion.set(l,0).catch(fe),e.isFinal){var c=e.velocityX,u=.6*e.velocityY;Math.abs(u)>.5&&Math.abs(c)<.5&&(c=0),this.inMomentumMovement={uuid:Ka()},this.requestMomentumMovement(e,!0,this.coordinatesForOffset({x:c,y:u}),0)}}}},t.prototype.onPinchGesture=function(e){var t;this.userAction=e.userAction,this.stopMomentumMovement();var r=null===(t=this.pinchState)||void 0===t?void 0:t.fov,n=e.scale;if(e.isFirst)this.pinchState={x:e.center.x,y:e.center.y,fov:this.cameraMotion.value.fov};else if(e.isFinal&&delete this.pinchState,void 0!==r){var i=jr(r/n,this.minFov,this.maxFov);e.state.fov=i,this.emit("gesture.pinch",e),e.defaultPrevented||(this.cameraMotion.set({fov:i},0).catch(fe),e.type="gesture.pan",this.onPanGesture(e))}},t.prototype.onMouseWheel=function(e){this.userAction=e.userAction,this.stopMomentumMovement();var t=jr(this.cameraMotion.value.fov-e.center.delta,this.minFov,this.maxFov);e.state.fov=t,this.emit("gesture.mousewheel",e),e.defaultPrevented||this.cameraMotion.set({fov:t},0).catch(fe)},t.prototype.onMouseMove=function(e){var t,r;if(this.intersectMesh.parent&&!this.panState&&(this.emit("gesture.mousemove",e),!e.defaultPrevented)){var i=e.center.raycaster;if(e.isFinal&&this.intersectMesh.parent&&!0===this.intersectMesh.visible)this.hideIntersectMesh();else{var o=this.models.intersectRaycaster(i)[0],a=ss("intersect.update",{raycaster:i,intersection:null!=o?o:null,object:this.intersectMesh});if(this.emit("intersect.update",a),a.defaultPrevented)this.hideIntersectMesh();else if(o){var s=null!==(r=null===(t=o.face)||void 0===t?void 0:t.normal)&&void 0!==r?r:(new n.Vector3).copy(i.ray.direction).multiplyScalar(-1),l=s.clone().multiplyScalar(.05),c=o.point.clone().add(l);this.intersectMesh.position.copy(c);var u=c.clone().add(l);if(this.intersectMesh.lookAt(u),Math.abs(s.y)>.99){var d=this.camera.position.clone().sub(c);this.intersectMesh.rotation.z=-Math.atan2(d.z,d.x)}this.intersectMesh.visible=!0,this.needsRender=!0}else this.hideIntersectMesh()}}},t}(ms);function Ss(){return Es||(Es=new Promise((function(e){var t,r=document.createElement("video");r.muted=!0,r.src="data:video/mp4;base64,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",r.addEventListener("timeupdate",(function n(){r.removeEventListener("timeupdate",n,!1),clearTimeout(t);var i=document.createElement("canvas");i.width=i.height=1;var o=i.getContext("2d");o?(o.drawImage(r,0,0,1,1),o.getImageData(0,0,1,1).data[3]>10?e(!0):e(!1)):e(!1)}),!1),r.addEventListener("canplay",(function e(){r.removeEventListener("canplay",e,!1),r.play()}),!1),t=window.setTimeout((function(){return e(!1)}),1e3)})))}var Is=new n.OrthographicCamera(-1,1,1,-1,0,1),Ps=new n.BufferGeometry;Ps.setAttribute("position",new n.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3)),Ps.setAttribute("uv",new n.Float32BufferAttribute([0,2,0,0,2,0],2));var Ts=new n.Mesh(Ps),Bs=new n.Scene;Bs.add(Ts);var Rs,ks=function(){function e(e,t){var r;this.renderer=e,this.material=new n.ShaderMaterial({vertexShader:null!==(r=t.vertex)&&void 0!==r?r:"\nvarying vec2 vUv;\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n",fragmentShader:t.fragment,uniforms:Object.assign({inputBuffer:new n.Uniform(null)},t.uniforms),defines:Object.assign({},t.defines),blending:n.NoBlending,depthWrite:!1,depthTest:!1})}return e.prototype.render=function(e,t){var r=this.renderer.getRenderTarget(),n=Ts.material;this.material.uniforms.inputBuffer.value=e.texture,Ts.material=this.material,this.renderer.setRenderTarget(t||null),this.renderer.render(Bs,Is),this.renderer.setRenderTarget(r),Ts.material=n},e.prototype.dispose=function(){this.material.dispose()},e}(),Os=function(){function e(e){this.renderer=e,this.material=new n.ShaderMaterial({vertexShader:"\nvoid main() {\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n",fragmentShader:"\nuniform vec3 inputValue;\nvoid main() {\n gl_FragColor = vec4(inputValue, 1.0);\n}\n",uniforms:Object.assign({inputValue:new n.Uniform(new n.Vector3)}),blending:n.NoBlending,depthWrite:!1,depthTest:!1})}return e.prototype.render=function(e,t){var r=this.renderer.getRenderTarget(),n=Ts.material;this.material.uniforms.inputValue.value.copy(e),Ts.material=this.material,this.renderer.setRenderTarget(t||null),this.renderer.render(Bs,Is),this.renderer.setRenderTarget(r),Ts.material=n},e.prototype.dispose=function(){this.material.dispose()},e}(),Fs=function(e){function t(t,r){return void 0===r&&(r=.5),e.call(this,t,{uniforms:{inputBuffer:new n.Uniform(null),scale:new n.Uniform(r)},fragment:"\n#include <common>\nuniform sampler2D inputBuffer;\nuniform float scale;\nvarying vec2 vUv;\n\nvoid main() {\n float u = (vUv.x - 0.5) * scale + 0.5;\n float v = (vUv.y - 0.5) * scale + 0.5;\n vec3 rgb = texture2D(inputBuffer, vec2(u, v)).rgb;\n float luminance = clamp(linearToRelativeLuminance(rgb), 0.1, 0.9);\n gl_FragColor = vec4(luminance);\n}\n"})||this}return ne(t,e),t}(ks),Ds=function(e){function t(t){return e.call(this,t,{fragment:"\nuniform sampler2D inputBuffer;\nvarying vec2 vUv;\nvoid main() {\n gl_FragColor = texture2D(inputBuffer, vUv);\n}\n"})||this}return ne(t,e),t}(ks),Qs=function(){function e(e,t,r,n){this.enable=!0,this.renderer=e,this.scene=t,this.camera=r,this.models=n,this.copyPass=new Ds(this.renderer)}return e.prototype.render=function(e,t){},e.prototype.dispose=function(){this.copyPass.dispose()},e}(),Ls=function(e){function t(t,r){void 0===r&&(r=.002);var i=e.call(this,t,{uniforms:{targetBuffer:new n.Uniform(null),inputBuffer:new n.Uniform(null),step:new n.Uniform(r)},fragment:"\n uniform sampler2D targetBuffer;\n uniform sampler2D inputBuffer;\n uniform float step;\n varying vec2 vUv;\n void main() {\n\n #ifdef GL_EXT_shader_texture_lod\n #if __VERSION__ < 300\n float target = texture2DLodEXT(targetBuffer, vUv, 5.0).r;\n #else\n float target = textureLod(targetBuffer, vUv, 5.0).r;\n #endif\n #else\n float target = texture2D(targetBuffer, vUv).r;\n #endif\n float current = texture2D(inputBuffer, vUv).r;\n\n float result;\n if (abs(target - current) < step) {\n result = target;\n } else if (target - current > 0.0) {\n result = current + step;\n } else {\n result = current - step;\n }\n gl_FragColor = vec4(result, result, result, 1.0);\n }\n "})||this;return i.material.extensions.shaderTextureLOD=!0,i}return ne(t,e),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}(ks),Ns=function(e){function t(t){var r=e.call(this,t,{uniforms:{inputBuffer:new n.Uniform(null),luminanceAdaptiveBuffer:new n.Uniform(null),progress:new n.Uniform(0)},fragment:"\n #include <common>\n uniform sampler2D inputBuffer;\n uniform sampler2D luminanceAdaptiveBuffer;\n uniform float progress;\n varying vec2 vUv;\n\n void main() {\n float middleGrey = 1.5;\n float whitePoint = 13.0;\n float exposure = 1.4;\n vec4 inputColor = texture2D(inputBuffer, vUv);\n vec3 rgb = inputColor.rgb * exposure;\n float alpha = inputColor.a;\n float luminance = linearToRelativeLuminance(rgb);\n float lumAvg = texture2D(luminanceAdaptiveBuffer, vec2(0.5)).r;\n float lumScaled = (luminance * middleGrey) / max(lumAvg, 1e-6);\n float lumCompressed = lumScaled * (1.0 + lumScaled / (whitePoint * whitePoint));\n lumCompressed /= (1.0 + lumScaled);\n rgb = clamp(lumCompressed * rgb, 0.0, 1.0);\n gl_FragColor = mix(inputColor, vec4(rgb, alpha), progress * 0.9);\n }\n "})||this;return r.material.transparent=!0,r}return ne(t,e),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}(ks),Vs=function(e){function t(t,r,n,i){var o=e.call(this,t,r,n,i)||this;return o.enableTime=me(),o.renderer=t,o.valuePass=new Os(o.renderer),o.luminancePass=new Fs(o.renderer,Math.sqrt(1/3)),o.nextStepPass=new Ls(o.renderer,.01),o.luminanceAdaptivePass=new Ns(o.renderer),o}return ne(t,e),t.prototype.render=function(e){if(!this.enable)return this.enableTime=null,void this.copyPass.render(e[0],e[1]);null===this.enableTime&&(this.enableTime=me()),this.luminanceTargetBuffer||(this.luminanceTargetBuffer=new n.WebGLRenderTarget(128,128,{minFilter:n.LinearMipmapLinearFilter,magFilter:n.LinearFilter,encoding:this.renderer.outputEncoding,stencilBuffer:!1,depthBuffer:!1,format:n.RGBAFormat,generateMipmaps:!0}),this.nextStepPass.targetBuffer=this.luminanceTargetBuffer.texture),this.luminancePass.render(e[0],this.luminanceTargetBuffer),this.luminancePrevBuffer||(this.luminancePrevBuffer=new n.WebGLRenderTarget(1,1,{minFilter:n.NearestFilter,magFilter:n.NearestFilter,type:n.HalfFloatType,encoding:this.renderer.outputEncoding,stencilBuffer:!1,depthBuffer:!1}),this.valuePass.render(new n.Vector3(.5,.5,.5),this.luminancePrevBuffer)),this.luminanceNextBuffer||(this.luminanceNextBuffer=new n.WebGLRenderTarget(1,1,{minFilter:n.NearestFilter,magFilter:n.NearestFilter,type:n.HalfFloatType,encoding:this.renderer.outputEncoding,stencilBuffer:!1,depthBuffer:!1}),this.valuePass.render(new n.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((me()-this.enableTime)/100,1),this.luminanceAdaptivePass.render(e[0])},t.prototype.dispose=function(){var e,t,r;null===(e=this.luminanceTargetBuffer)||void 0===e||e.dispose(),null===(t=this.luminancePrevBuffer)||void 0===t||t.dispose(),null===(r=this.luminanceNextBuffer)||void 0===r||r.dispose(),this.copyPass.dispose(),this.luminancePass.dispose(),this.nextStepPass.dispose(),this.luminanceAdaptivePass.dispose()},t}(Qs),zs=512,js=null!==(Rs=Math.SQRT1_2)&&void 0!==Rs?Rs:Math.sqrt(2),Us={up:new n.Quaternion(js,0,0,js),down:new n.Quaternion(-js,0,0,js),left:new n.Quaternion(0,js,0,js),right:new n.Quaternion(0,-js,0,js),front:new n.Quaternion(0,0,0,1),back:new n.Quaternion(0,1,0,0)},qs=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),_s=new Float32Array([0,0,1,0,0,1,1,1]),Hs=new Uint8Array([0,1,2,1,3,2]),Gs=new n.BufferGeometry;Gs.setAttribute("position",new n.BufferAttribute(qs,3)),Gs.setAttribute("uv",new n.BufferAttribute(_s,2)),Gs.setIndex(new n.BufferAttribute(Hs,1));var Ks=function(e){function t(){var t=e.call(this,{uniforms:{map:{value:null},luminanceMap:{value:null},flipY:{value:0}},vertexShader:"\nuniform float flipY;\nvarying vec2 vUv;\nvoid main() {\n vUv = vec2(uv.x, mix(uv.y, (1.0 - uv.y), flipY));\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n",fragmentShader:"\n#if defined(USE_LUMINANCE)\nuniform sampler2D luminanceMap;\n#endif\nuniform sampler2D map;\nvarying vec2 vUv;\n\nvoid main() {\n gl_FragColor = texture2D(map, vUv);\n #if defined(USE_LUMINANCE)\n gl_FragColor.a = 1.0 - texture2D(luminanceMap, vUv).r;\n #endif\n}\n"})||this;return t.depthTest=!1,t.depthWrite=!1,t.blending=n.NoBlending,t.map=t.uniforms.map.value,t.luminanceMap=t.uniforms.luminanceMap.value,t.flipY=t.uniforms.flipY.value,Object.defineProperties(t,{map:{get:function(){return this.uniforms.map.value},set:function(e){this.uniforms.map.value=e}},luminanceMap:{get:function(){return this.uniforms.luminanceMap.value},set:function(e){this.uniforms.luminanceMap.value=e,this.defines.USE_LUMINANCE=null!==e,this.needsUpdate=!0}},flipY:{get:function(){return 1===this.uniforms.flipY.value},set:function(e){this.uniforms.flipY.value=e?1:0}}}),t}return ne(t,e),t}(n.ShaderMaterial),Ws=function(e){function t(t,r){var i=e.call(this,Gs,new Ks)||this;return t.box.getCenter(i.position),i.quaternion.multiplyQuaternions((new n.Quaternion).setFromAxisAngle(new n.Vector3(0,1,0),-Math.PI),Us[t.face]),i.scale.setScalar(t.size),i.node=t,i.name="tiling:tile",i.material.visible=!1,i.activeTime=-1,i.disposed=!1,i.needsRender=!1,i.frustumCulled=!1,r.then((function(e){var t=e[0],r=e[1];i.disposed?(t.dispose(),null==r||r.dispose()):(i.material.map=t,i.material.luminanceMap=r,i.material.flipY=!t.flipY,i.material.needsUpdate=!0,i.material.visible=!0,i.needsRender=!0)})).catch(fe),i}return ne(t,e),t.prototype.updateTime=function(e){},t.prototype.dispose=function(){var e;this.disposed=!0,this.material.map&&(this.material.map.dispose(),null===(e=this.material.luminanceMap)||void 0===e||e.dispose()),this.material.dispose()},t}(n.Mesh),Ys=function(e){function t(){var t=e.call(this)||this;return t.needsRender=!1,t.name="tiling",t}return ne(t,e),t}(n.Group),Xs=function(){function e(e,t,r){this.disposed=!1,this.textureLoader=new zt,this.minLevel=t,this.level=0,this.panoId="[0]",this.pedding=0,this.tileTree=ft(this.minLevel),this.tileMeshes=new Map,this.resource=[],this.luminance=null,this.imageOptions=r,this.fetcher=e,this.object=new Ys,this.object.renderOrder=-3}return e.prototype.setFetcher=function(e){this.fetcher=e},e.prototype.cleanup=function(){var e=this;this.tileMeshes.forEach((function(t){t.dispose(),e.object.remove(t),e.object.needsRender=!0})),this.tileMeshes.clear()},e.prototype.setRotation=function(e){this.disposed||this.object.quaternion.equals(e)||(this.object.quaternion.copy(e),this.object.needsRender=!0)},e.prototype.setPosition=function(e){this.disposed||this.object.position.equals(e)||(this.object.position.copy(e),this.object.needsRender=!0)},e.prototype.setResource=function(e,t){var r,n;if(!this.disposed&&(this.resource!==e||this.luminance!==t)){this.cleanup(),this.resource=e;var i=null!==(n=null===(r=e.slice().sort((function(e,t){return t.level-e.level}))[0])||void 0===r?void 0:r.level)&&void 0!==n?n:0;this.tileTree=ft(i),this.luminance=t,this.object.needsRender=!0}},e.prototype.update=function(e,t,r){var i=this;if(!this.disposed){this.level=t;var o=e.planes[5].normal,a=[];t>=this.minLevel&&vt(this.tileTree,(function(r){if(!(r.level<i.minLevel))return!(r.level>t)&&(!!e.intersectsBox(r.box)&&void a.push(r))}));var s=new n.Vector3;a.sort((function(e,t){return e.level!==t.level?e.level-t.level:e.box.getCenter(s).angleTo(o)-t.box.getCenter(s).angleTo(o)}));for(var l=new Set,c=function(e){var t=u.resource.filter((function(t){return t.level===e.level}))[0];if(!t)return"continue";if(l.add(e),u.tileMeshes.has(e))return u.tileMeshes.get(e).activeTime=r,"continue";var n=t.size,o=u.imageOptions.transform,a=Math.pow(2,e.level)*e.position.y,s=Math.pow(2,e.level)*e.position.x,c="".concat(u.panoId,".").concat(e.face,".").concat(e.level,".").concat(a,".").concat(s),d=ie(ie({key:"pano_tile.".concat(c)},eo(u.imageOptions,["format","size","quality","sharpen","mappings"])),{size:n*e.size===zs?void 0:zs,cut:[n*e.position.x,n*e.position.y,n*e.size,n*e.size]}),p=u.textureLoader.loadTexture(t[e.face],{imageURL:{transform:o,options:d},viaAjax:kt,fetcher:u.fetcher}).then((function(e){return e.body})),h=null;if(u.luminance){var f=u.luminance[e.face],v=f.match(/\/cube_(\d+)\//),m=!!v&&Number(v[1]);if(!1!==m){var A=ie(ie({},d),{size:m*e.size==256?void 0:256,cut:[m*e.position.x,m*e.position.y,m*e.size,m*e.size],key:"pano_tile_luminance.".concat(c)});h=u.textureLoader.loadTexture(f,{imageURL:{transform:u.imageOptions.transform,options:A},viaAjax:kt,fetcher:u.fetcher}).then((function(e){return e.body})).catch((function(){return null}))}}u.pedding++;var g=Promise.all([p,h]).then((function(e){return i.pedding--,e}),(function(e){return i.pedding--,Promise.reject(e)})),y=new Ws(e,g);y.name="tiling:tile-".concat(c),y.activeTime=r,y.renderOrder=e.level,u.tileMeshes.set(e,y),u.object.needsRender=!0,u.object.add(y)},u=this,d=0,p=a;d<p.length;d++){c(A=p[d])}var h=[];this.tileMeshes.forEach((function(e,r){l.has(r)||h.push(r),e.visible=r.level<=t}));for(var f=h.sort((function(e,t){var r,n,o,a;return(null!==(n=null===(r=i.tileMeshes.get(t))||void 0===r?void 0:r.activeTime)&&void 0!==n?n:0)-(null!==(a=null===(o=i.tileMeshes.get(e))||void 0===o?void 0:o.activeTime)&&void 0!==a?a:0)})).slice(Math.max(0,32-l.size)),v=0,m=f;v<m.length;v++){var A=m[v],g=this.tileMeshes.get(A);g&&(g.dispose(),this.object.remove(g),this.object.needsRender=!0),this.tileMeshes.delete(A)}}},e.prototype.dispose=function(){this.cleanup(),this.resource=[],this.disposed=!0},e}(),Js=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]),Zs=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]),$s=new n.BufferGeometry;$s.setAttribute("position",new n.BufferAttribute(Js,3)),$s.setIndex(new n.BufferAttribute(Zs,1));var el=function(){function e(){this.material=new n.ShaderMaterial({vertexShader:"\n#if defined(USE_PANO_VIDEO)\nvarying vec3 worldPosition;\n#endif\nvoid main() {\n vec4 transformed = vec4(position, 1.0);\n #if defined(USE_PANO_VIDEO)\n worldPosition = (modelMatrix * transformed).xyz;\n #endif\n gl_Position = projectionMatrix * modelViewMatrix * transformed;\n}\n",fragmentShader:"\nuniform vec2 size;\nuniform mat4 matrix;\nuniform float alpha;\nuniform sampler2D map;\n#if defined(USE_PANO_VIDEO)\nvarying vec3 worldPosition;\n#endif\n#include <common>\nvoid main() {\n gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\n #if defined(USE_PANO_VIDEO)\n vec3 cameraToVertex = worldPosition - cameraPosition;\n vec4 mapCoods = vec4(cameraToVertex, 1.0) * matrix;\n vec2 uv = vec2(\n 0.5 + mapCoods.x / mapCoods.z / size.x,\n 0.5 - mapCoods.y / mapCoods.z / size.y\n );\n vec4 videoColor = texture2D(map, uv);\n float match = (1.0 - step(0.0, mapCoods.z)) * (1.0 - step(0.5, abs(uv.x - 0.5))) * (1.0 - step(0.5, abs(uv.y - 0.5)));\n float blendAlpha = clamp(0.0, 1.0, 5.0 * (1.0 - clamp(distance(uv, vec2(0.5, 0.5)) / 0.55 , 0.0, 1.0)));\n gl_FragColor = vec4(videoColor.rgb, match * blendAlpha * alpha);\n #endif\n}\n",uniforms:{size:new n.Uniform(null),matrix:new n.Uniform(null),alpha:new n.Uniform(null),map:new n.Uniform(null)},depthTest:!1,depthWrite:!1,defines:{USE_PANO_VIDEO:!1},blending:n.CustomBlending,blendSrc:n.SrcAlphaFactor,blendDst:n.OneMinusSrcAlphaFactor,blendSrcAlpha:n.OneFactor,blendDstAlpha:n.OneMinusSrcAlphaFactor}),this.object=new n.Mesh($s,this.material),this.object.visible=!1,this.object.renderOrder=-1,this.object.frustumCulled=!1,this.object.name="pano-video",this.alphaMotion=new Oa({alpha:0})}return e.prototype.setMaterial=function(e){e?(this.material.uniforms.size.value=e.size,this.material.uniforms.matrix.value=e.matrix,this.material.uniforms.map.value=e.map,this.alphaMotion.set({alpha:e.alpha},500).catch(fe),this.material.uniforms.alpha.value=e.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(fe));var t=null!==e;t!==this.material.defines.USE_PANO_VIDEO&&(this.material.defines.USE_PANO_VIDEO=t,this.material.needsUpdate=!0,this.object.visible=null!==e)},e.prototype.updateTime=function(e){this.alphaMotion.ended||(this.alphaMotion.update(e),this.material.uniforms.alpha.value=this.alphaMotion.value.alpha)},e.prototype.dispose=function(){this.material.dispose()},e}(),tl=(new n.Matrix4).makeRotationAxis(new n.Vector3(0,1,0),Math.PI),rl=new n.Vector3(-1,1,1),nl=function(){function e(e){void 0===e&&(e=0),this.width=e,this.pool=[]}return Object.defineProperty(e.prototype,"size",{get:function(){return this.pool.length},enumerable:!1,configurable:!0}),e.prototype.create=function(){return new n.WebGLCubeRenderTarget(this.width,{stencilBuffer:!1,depthBuffer:!1})},e.prototype.pop=function(){var e=this.pool.pop();return e||this.create()},e.prototype.push=function(e){-1===this.pool.indexOf(e)&&this.pool.push(e)},e.prototype.clear=function(){for(var e=0,t=this.pool;e<t.length;e++){t[e].dispose()}this.pool.length=0},e}(),il=function(e){function t(r){var n,i,o,a,s=this,l=t.parseArgs(r);(s=e.call(this,l)||this).TILED_CUBE_TEXTURE_LEVEL=2,s.mode="Panorama",s.tileLevel=0,s.initAnimationed=!1,s.maxAccessibleDistance=l.maxAccessibleDistance,s.panoTapTriggerRadius=l.panoTapTriggerRadius,s.panoCircleMeshCreator=l.panoCircleMeshCreator,s.tileLevelForFov=l.tileLevelForFov,s.luminanceAdaptiveEffectEnable=l.luminanceAdaptiveEffectEnable,s.colorCubeRenderTargetPool=new nl,s.luminanceCubeRenderTargetPool=new nl;var c=s.models.getMaterial()||{},u=c.pano0,d=c.pano1;u&&(null==d?void 0:d.map)!==u.map&&(s.models.setMaterial({pano0:d}),u.map.dispose(),u.map instanceof Vt&&u.map.cubeRenderTarget&&s.colorCubeRenderTargetPool.push(u.map.cubeRenderTarget),u.luminanceMap&&(u.luminanceMap.dispose(),u.luminanceMap instanceof Vt&&u.luminanceMap.cubeRenderTarget&&s.luminanceCubeRenderTargetPool.push(u.luminanceMap.cubeRenderTarget)));for(var p=s.colorCubeRenderTargetPool.size;p<2;p++){var h=Math.max(1024*s.TILED_CUBE_TEXTURE_LEVEL,512),f=s.colorCubeRenderTargetPool.create();f.setSize(h,h),xt(null,f,s.renderer),s.colorCubeRenderTargetPool.push(f)}s.panoMeshes={},s.updatePanoMeshes(),s.locationMotion=new Oa({count:0,distance:s.camera.pose.distance,modelAlpha:null!==(i=null===(n=s.models.getMaterial())||void 0===n?void 0:n.modelAlpha)&&void 0!==i?i:0,perspToOrtho:s.camera.perspToOrtho.x,orthoDistance:s.camera.orthoDistance}),s.panoResources={},s.panoResources[s.locationMotion.keyframes[0].key=s.locationMotion.keyframes[1].key=Ka()]={panoId:Xe(s.currentPano),panoPicture:null!==(a=null===(o=s.models.getMaterial())||void 0===o?void 0:o.pano1)&&void 0!==a?a:null,position:s.camera.pose.offset.clone(),effect:"fly"};var v=s.works.getResolvedObserver(s.currentPano);return s.textureLoader=new zt,s.tiling=new Xs(v?ua(v.work):De,s.TILED_CUBE_TEXTURE_LEVEL+1,s.imageOptions),s.scene.add(s.tiling.object),s.panoVideo=new el,s.scene.add(s.panoVideo.object),s}return ne(t,e),t.parseArgs=function(r){var n,i,o,a,s;if(r instanceof t)return r;var l=e.parseArgs.call(this,r);return ie(ie({},l),{maxAccessibleDistance:null!==(n=r.maxAccessibleDistance)&&void 0!==n?n:5,panoTapTriggerRadius:null!==(i=r.panoTapTriggerRadius)&&void 0!==i?i:.5,panoCircleMeshCreator:null!==(o=r.panoCircleMeshCreator)&&void 0!==o?o:function(e){return new Qa},tileLevelForFov:null!==(a=r.tileLevelForFov)&&void 0!==a?a:function(e,t){var r=function(e){return e/180*Math.PI},n=t.height/2/Math.tan(r(e/2)),i=t.width>t.height?e:2*Math.atan(Math.tan(r(e/2))*(t.width/t.height))/Math.PI*180,o=n*(Math.tan(r(i/2))-Math.tan(r(i/2-1)));return o>60?4:o>30?3:o>18?2:o>12?1:0},luminanceAdaptiveEffectEnable:null===(s=r.luminanceAdaptiveEffectEnable)||void 0===s||s})},t.initAnimationEndState=function(t){var r=this.parseArgs(t),n=e.initAnimationEndState.call(this,r);return ie(ie({},n),{mode:"Panorama"})},t.prototype.destroy=function(){var t,r;if(e.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 n=0,i=Object.keys(this.panoMeshes);n<i.length;n++){var o=i[n],a=this.panoMeshes[o];this.helper.remove(a),a.dispose(),delete this.panoMeshes[o]}var s=this.videoTexture.image;s.pause(),s.oncanplay=function(){},s.ontimeupdate=function(){},this.scene.remove(this.panoVideo.object),this.panoVideo.setMaterial(null),this.panoVideo.dispose();for(var l=null!==(t=this.models.getMaterial())&&void 0!==t?t:{},c=l.pano0,u=l.pano1,d=0,p=Object.keys(this.panoResources);d<p.length;d++){var h=p[d],f=this.panoResources[h];if(f.panoPicture){var v=f.panoPicture.map;v&&v!==(null==c?void 0:c.map)&&v!==(null==u?void 0:u.map)&&(v.dispose(),null===(r=f.panoPicture.luminanceMap)||void 0===r||r.dispose(),f.panoPicture=null)}delete this.panoResources[h]}this.luminanceAdaptiveEffect&&(this.luminanceAdaptiveEffect.dispose(),delete this.luminanceAdaptiveEffect)},t.prototype.isReady=function(){return!0===this.locationMotion.ended&&e.prototype.isReady.call(this)},t.prototype.isTileReady=function(){var e,t,r,n=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),i=(null===(e=n.panoPicture)||void 0===e?void 0:e.map)instanceof Vt&&null!==(r=null===(t=n.panoPicture)||void 0===t?void 0:t.map.tilePending)&&void 0!==r?r:0,o=this.tiling.pedding;return this.initAnimationed&&i<=0&&o<=0},t.prototype.updateWork=function(e,r,n,i){var o=this;this.userAction=i,this.works=e;var a=t.initAnimationEndState(ie(ie({},this),{initial:{currentState:ie(ie({},this.currentPano),this.camera.pose),duration:n,state:r,userAction:i}})),s={workCode:a.workCode,panoIndex:a.panoIndex},l=this.works.getWork(s.workCode);return this.tiling.setFetcher(l?ua(l):De),this.tiling.cleanup(),this.initAnimationed=!1,this.hideIntersectMesh(),this.updatePanoMeshes(),this.moveToPano(s,{effect:"fade",duration:n,longitude:r.longitude,latitude:r.latitude,fov:r.fov,moveEndCallback:function(){o.initAnimationed=!0},moveCancelCallback:function(){o.initAnimationed=!0}},i),!0},t.prototype.updateModel=function(e){this.models=e,this.updatePanoMeshes()},t.prototype.updateTime=function(e,t){var r,i,o,a,s,l,c,u,d,p,h=this;if(!this.destroyed){var f={},v={},m=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),A=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),g=!1;if(!1===this.cameraMotion.ended&&(this.cameraMotion.update(e),v.longitude=this.cameraMotion.value.longitude,v.latitude=this.cameraMotion.value.latitude,v.fov=this.cameraMotion.value.fov),!1===this.locationMotion.ended){this.locationMotion.update(e);var y=this.locationMotion.getKeyFrameSegment(e),b=y[0],x=y[1],w=this.panoResourceFromLocationMotionKeyframe(b),E=this.panoResourceFromLocationMotionKeyframe(x),M=(new n.Vector3).copy(w.position),C=(new n.Vector3).copy(E.position),S=this.locationMotion.value.count-x.value.count+1;f.progress=S,f.modelAlpha=this.locationMotion.value.modelAlpha,this.camera.perspToOrtho.setScalar(jr(this.locationMotion.value.perspToOrtho,0,1)),this.camera.orthoDistance=this.locationMotion.value.orthoDistance,E.panoPicture&&(S<1?w.panoPicture&&(f.pano0=w.panoPicture):f.pano0=E.panoPicture,f.pano1=E.panoPicture),g=f.useBlackTransition="instant"===E.effect||"montage"===E.effect,"fade"!==E.effect&&"montage"!==E.effect||(f.pano0&&w.panoPicture&&(f.pano0={map:f.pano0.map,luminanceMap:f.pano0.luminanceMap,matrix:w.panoPicture.matrix.clone().setPosition(E.position)}),M.copy(C)),v.distance=this.locationMotion.value.distance,v.offset=new n.Vector3(M.x+(C.x-M.x)*S,M.y+(C.y-M.y)*S,M.z+(C.z-M.z)*S);for(var I=[],P=[],T=0,B=this.locationMotion.keyframes;T<B.length;T++){var R=B[T],k=R.key,O=R.progress;void 0!==k&&(I.push(k),O>=this.locationMotion.progress&&P.push(k))}for(var F=0,D=Object.keys(this.panoResources);F<D.length;F++){var Q=D[F];if(!(P.indexOf(Q)>=0)){var L=this.panoResources[Q];if(L.panoPicture){var N=L.panoPicture.map,V=L.panoPicture.luminanceMap;if(N){if(N===(null===(r=f.pano0)||void 0===r?void 0:r.map))continue;if(N===(null===(i=f.pano1)||void 0===i?void 0:i.map))continue;N instanceof Vt&&N.cubeRenderTarget&&this.colorCubeRenderTargetPool.push(N.cubeRenderTarget),N.dispose(),V&&(V instanceof Vt&&V.cubeRenderTarget&&this.luminanceCubeRenderTargetPool.push(V.cubeRenderTarget),V.dispose()),L.panoPicture=null}}I.indexOf(Q)>=0||delete this.panoResources[Q]}}this.currentPano=Je(E.panoId),this.emit("pano.moving",ss("pano.moving",{userAction:this.userAction,prevPano:Je(m.panoId),state:ie(ie(ie(ie({},Je(A.panoId)),{mode:this.mode}),hs(this.camera.pose)),v),options:{},progress:this.locationMotion.progress,error:null}))}!1===ps(f)&&((null===(o=f.pano0)||void 0===o?void 0:o.map)&&f.pano0.map instanceof Vt&&!f.pano0.map.cubeRenderTarget&&(f.pano0.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),(null===(a=f.pano0)||void 0===a?void 0:a.luminanceMap)&&f.pano0.luminanceMap instanceof Vt&&!f.pano0.luminanceMap.cubeRenderTarget&&(f.pano0.luminanceMap.cubeRenderTarget=this.luminanceCubeRenderTargetPool.pop()),(null===(s=f.pano1)||void 0===s?void 0:s.map)&&f.pano1.map instanceof Vt&&!f.pano1.map.cubeRenderTarget&&(f.pano1.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),(null===(l=f.pano1)||void 0===l?void 0:l.luminanceMap)&&f.pano1.luminanceMap instanceof Vt&&!f.pano1.luminanceMap.cubeRenderTarget&&(f.pano1.luminanceMap.cubeRenderTarget=this.luminanceCubeRenderTargetPool.pop()),this.models.setMaterial(f)),!1===ps(v)&&this.setCamera(v);var z=this.works.getResolvedObserver(this.currentPano),j=this.locationMotion.ended?this.getForwardObserverOrNot():null;if(this.camera.pose.distance>.1||g){if(z)for(var U=0,q=Object.keys(this.panoMeshes);U<q.length;U++){var _=q[U];(X=this.panoMeshes[_]).setOpacity(0),X.setCurrent(!1),X.updateTime&&X.updateTime(e,t)}}else if(z){var H=ds(z.visibleIds,(function(e){var t=h.works.getResolvedObserver(e);return t?z.standingPosition.distanceTo(t.standingPosition):1/0}),!0)[1];H=jr(H,2.5,1/0);for(var G=z.visibleIds.concat(Xe(this.currentPano)),K=this.camera.getDirection(new n.Vector3),W=0,Y=Object.keys(this.panoMeshes);W<Y.length;W++){_=Y[W];var X=this.panoMeshes[_],J=this.works.getResolvedObserver(_);if(-1===G.indexOf(_))X.setCurrent(!1),X.setOpacity(0);else if(J)if(J.loadable||J.active){var Z=X.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);X.setCurrent(!X.loading&&0===X.progress&&null!==j&&j.panoId===_),X.setOpacity(Z<.01?0:jr(H/Z*1.2,.4,.85));var $=this.camera.position.clone().setY(X.position.y),ee=(new n.Vector3).copy(X.position).sub($).normalize();if(_===Xe(this.currentPano)){var te=jr((.5-$.distanceTo(X.position))/.5,0,1);ee.multiplyScalar(1-te).add(K.clone().multiplyScalar(te))}ee.length()>0&&X.quaternion.setFromEuler(new n.Euler(0,Math.atan2(ee.x,ee.z),0))}else X.setCurrent(!1),X.setOpacity(0);else X.setCurrent(!1),X.setOpacity(0);X.updateTime&&X.updateTime(e,t)}}var re=this.tileLevel=function(){if(!1===h.tileLevelForFov)return 0;var e=h.renderer.getDrawingBufferSize(new n.Vector2);e.width*=h.scissor.width,e.height*=h.scissor.height;var t=A.panoId,r=h.works.getResolvedObserver(t),i=h.imageOptions.size;if(void 0===i&&r){var o=r.images.up.match(/\/cube_(\d+)\//);o&&(i=Number(o[1]))}void 0===i&&(i=2048);var a=0;i>=1024&&(a=1),i>=2048&&(a=2),i>=4096&&(a=3),i>=8192&&(a=4);var s=h.tileLevelForFov(h.camera.fov,e);return s>a?s:0}(),ne=function(){var e=h.camera.quaternion.clone(),t=h.works.getResolvedObserver(A.panoId),r=null!=t?t:z;r&&e.premultiply(r.quaternion.clone().inverse());var i=(new n.Matrix4).makeRotationFromQuaternion(e),o=(new n.Matrix4).getInverse(i);return(new n.Frustum).setFromProjectionMatrix((new n.Matrix4).multiplyMatrices(h.camera.projectionMatrix,o))}();A.panoId===Xe(this.currentPano)&&((null===(c=A.panoPicture)||void 0===c?void 0:c.map)instanceof Vt&&(A.panoPicture.map.update(ne,re),!0===A.panoPicture.map.needsRender&&(A.panoPicture.map.needsRender=!1,this.needsRender=!0)),(null===(u=A.panoPicture)||void 0===u?void 0:u.luminanceMap)instanceof Vt&&(A.panoPicture.luminanceMap.update(ne,re),!0===A.panoPicture.luminanceMap.needsRender&&(A.panoPicture.luminanceMap.needsRender=!1,this.needsRender=!0)));var oe=this.tiling.object.visible;if(this.initAnimationed){var ae=A.panoId,se=this.works.getResolvedObserver(ae);se&&Xa(this.camera.position,se.position)&&this.locationMotion.ended?(this.tiling.object.visible=!0,this.tiling.panoId!==ae&&this.tiling.cleanup(),this.tiling.panoId=ae,this.tiling.setResource(null!==(p=null===(d=se.images)||void 0===d?void 0:d.tiles)&&void 0!==p?p:[],this.enableIOSEDR&&se.images.luminance?se.images.luminance:null),this.tiling.setFetcher(ua(se.work)),this.tiling.setRotation(se.quaternion),this.tiling.setPosition(se.position),re>this.TILED_CUBE_TEXTURE_LEVEL?this.tiling.update(ne,re,e):this.tiling.update(ne,0,e)):this.tiling.object.visible=!1}else this.tiling.object.visible=!1;oe!==this.tiling.object.visible&&(this.tiling.object.needsRender=!0),this.panoVideo.object.position.copy(this.camera.position),this.panoVideo.updateTime(e)}},t.prototype.render=function(){var t=this.works.getResolvedObserver(this.currentPano);t&&t.video&&(this.needsRender=!0),e.prototype.render.call(this)},t.prototype.postProcessing=function(e,t){if(!this.destroyed)return"luminance"===t?(this.luminanceAdaptiveEffect||(this.luminanceAdaptiveEffect=new Vs(this.renderer,this.scene,this.camera,this.models),this.luminanceAdaptiveEffect.enable=this.luminanceAdaptiveEffectEnable),this.luminanceAdaptiveEffect.render(e)):void 0},t.prototype.getTargetState=function(){var e=this.cameraMotion.getKeyFrameSegment(me())[1],t=this.locationMotion.getKeyFrameSegment(me())[1],r=this.panoResourceFromLocationMotionKeyframe(t),n=this.works.getResolvedObserver(r.panoId);return{workCode:n?n.work.workCode:this.currentPano.workCode,panoIndex:n?n.panoIndex:this.currentPano.panoIndex,mode:this.mode,longitude:e.value.longitude,latitude:e.value.latitude,fov:e.value.fov,offset:n?n.position.clone():this.camera.position.clone(),distance:this.locationMotion.value.distance}},t.prototype.moveToPano=function(e,t,r){var i,o,a,s,l=this;this.userAction=r,this.stopMomentumMovement();var c=this.works.getResolvedObserver(e);if(!c)throw new Error("Invalid PanoId ".concat(JSON.stringify(e)));var u=this.imageOptions.size;if(void 0===u&&c){var d=c.images.up.match(/\/cube_(\d+)\//);d&&(u=Number(d[1]))}void 0===u&&(u=2048);var p=this.imageOptions.transform,h=ie({key:"pano.".concat(c.panoId)},eo(this.imageOptions,["format","size","quality","sharpen","mappings"])),f=c.images,v=null!==(o=null===(i=c.images.tiles)||void 0===i?void 0:i.filter((function(e){return e.size>u})))&&void 0!==o?o:null,m=p,A={key:"pano_luminance.".concat(c.panoId),size:h.size?h.size/2:1024},g=this.enableIOSEDR&&c.images.luminance?c.images.luminance:null,y=function(){if(!c.images.tiles)return null;if(!g)return null;var e=g.up.match(/\/cube_(\d+)\//),t=!!e&&Number(e[1]);return!1===t?null:null==v?void 0:v.map((function(e){return{level:e.level,size:t,back:g.back,front:g.front,left:g.left,right:g.right,up:g.up,down:g.down}}))}(),b="pano:"+ro([f,h,p]);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===b)return;var x=this.pendingTextureTask.panoId;null===(a=this.panoMeshes[x])||void 0===a||a.setProgress(0),this.emit("pano.texture.abort",ss("pano.texture.abort",{error:null,progress:0,meta:null,pano:c.pano})),this.pendingTextureTask.onError(new Error("texture aborted"))}var w="move-to-pano-"+c.panoId;this.pending.add(w);var E,M=this.models.getMaterial()||{},C=M.pano0,S=M.pano1;if(C&&C.map.name===b&&null!==C.luminanceMap===this.enableIOSEDR?E=C:(null==S?void 0:S.map.name)===b&&null!==S.luminanceMap===this.enableIOSEDR&&(E=S),E){var I={panoId:c.panoId,effect:null!==(s=t.effect)&&void 0!==s?s:"fly",panoPicture:{map:E.map,luminanceMap:E.luminanceMap,matrix:(new n.Matrix4).compose(c.position,c.quaternion,rl)},position:c.position.clone()};Ne.shared.add((function(){l.pending.delete(w),l.doMoveToPano(c.pano,I,t)}),!0,1)}else{this.pendingTextureTask={panoId:c.panoId,hash:b,onLoad:function(e,r){var i,o;if(l.pending.delete(w),l.destroyed)e.body.dispose();else{e.body.name=b;var a={panoId:c.panoId,effect:null!==(i=t.effect)&&void 0!==i?i:"fly",panoPicture:{map:e.body,luminanceMap:null!==(o=null==r?void 0:r.body)&&void 0!==o?o:null,matrix:(new n.Matrix4).compose(c.position,c.quaternion,rl)},position:c.position.clone()};l.doMoveToPano(c.pano,a,t)}},onError:function(e){l.pending.delete(w);var r=ie(ie(ie({},c.pano),{mode:l.mode}),hs(l.camera.pose));l.emit("pano.error",ss("pano.error",{error:e,userAction:l.userAction,options:t,prevPano:l.currentPano,progress:0,state:r})),l.emit("pano.cancel",ss("pano.cancel",{error:e,userAction:l.userAction,options:t,prevPano:l.currentPano,progress:0,state:r})),l.emit("error",e),t.moveCancelCallback&&t.moveCancelCallback()}};var P=this.panoMeshes[c.panoId];P&&P.tap&&P.tap(),Promise.all([this.tileLevelForFov&&v&&v.length?this.textureLoader.loadTiledCubeTexture(f,v,{tileMaxLevel:this.TILED_CUBE_TEXTURE_LEVEL,imageURL:{transform:p,options:h},format:n.RGBAFormat,viaAjax:!0,fetcher:ua(c.work)},void 0,void 0,(function(e){var t,r;l.emit("pano.texture.progress",ss("pano.texture.progress",{error:null,progress:e,meta:null,pano:c.pano})),(null===(t=l.pendingTextureTask)||void 0===t?void 0:t.hash)===b&&(null===(r=l.panoMeshes[c.panoId])||void 0===r||r.setProgress(e))}),this.renderer):this.textureLoader.loadCubeTexture(f,{imageURL:{transform:p,options:h},format:n.RGBAFormat,viaAjax:!0,fetcher:ua(c.work)},void 0,void 0,(function(e){var t,r;l.emit("pano.texture.progress",ss("pano.texture.progress",{error:null,progress:e,meta:null,pano:c.pano})),(null===(t=l.pendingTextureTask)||void 0===t?void 0:t.hash)===b&&(null===(r=l.panoMeshes[c.panoId])||void 0===r||r.setProgress(e))}),this.renderer),g?this.tileLevelForFov&&y&&y.length?this.textureLoader.loadTiledCubeTexture(g,y,{tileImageSize:256,tileMaxLevel:this.TILED_CUBE_TEXTURE_LEVEL,imageURL:{transform:m,options:A},fetcher:ua(c.work)},void 0,void 0,void 0,this.renderer).catch((function(){return null})):this.textureLoader.loadCubeTexture(g,{imageURL:{transform:m,options:A},fetcher:ua(c.work)},void 0,void 0,void 0,this.renderer).catch((function(){return null})):Promise.resolve(null)]).then((function(e){var t,r,n=e[0],i=e[1];(null===(t=l.pendingTextureTask)||void 0===t?void 0:t.hash)===b?(l.pendingTextureTask.onLoad(n,i),null===(r=l.panoMeshes[c.panoId])||void 0===r||r.setProgress(0),delete l.pendingTextureTask,l.emit("pano.texture.success",ss("pano.texture.success",{error:null,progress:1,meta:n.meta,pano:c.pano}))):(n.body.dispose(),null==i||i.body.dispose())})).catch((function(e){var t,r;(null===(t=l.pendingTextureTask)||void 0===t?void 0:t.hash)===b&&(l.pendingTextureTask.onError(e),null===(r=l.panoMeshes[c.panoId])||void 0===r||r.setProgress(0),delete l.pendingTextureTask,l.emit("pano.texture.error",ss("pano.texture.error",{error:e,progress:0,meta:null,pano:c.pano})),l.emit("error",e))})),this.emit("pano.texture.load",ss("pano.texture.load",{error:null,progress:0,meta:null,pano:c.pano}))}},t.prototype.initAnimation=function(){var e=this;return this.destroyed?Promise.resolve():new Promise((function(r){var n=e.initial;n.state,n.currentState;var i=n.duration,o=n.userAction;e.userAction=o;var a=t.initAnimationEndState(e),s={workCode:a.workCode,panoIndex:a.panoIndex},l=!1;e.moveToPano(s,{longitude:a.longitude,latitude:a.latitude,fov:a.fov,duration:i,moveStartCallback:function(t){l=!0,e.emit("initAnimation.start",ss("initAnimation.start",{state:t,userAction:e.userAction}))},moveEndCallback:function(t){e.emit("initAnimation.end",ss("initAnimation.end",{state:t,userAction:e.userAction})),e.initAnimationed=!0,r()},moveCancelCallback:function(){var t=ie(ie(ie({},s),{mode:e.mode}),hs(e.camera.pose));!1===l&&e.emit("initAnimation.start",ss("initAnimation.start",{state:t,userAction:e.userAction})),e.emit("initAnimation.end",ss("initAnimation.end",{state:t,userAction:e.userAction})),e.initAnimationed=!0,r()}},o)}))},t.prototype.panoResourceFromLocationMotionKeyframe=function(e){return this.panoResources[e.key]},t.prototype.locationMotionKeyframesLength=function(e){for(var t=0,r=1;r<e.length;r++){var n=this.panoResourceFromLocationMotionKeyframe(e[r-1]).position,i=this.panoResourceFromLocationMotionKeyframe(e[r]).position;t+=n.distanceTo(i)*(e[r].value.count-e[r-1].value.count)}return t},t.prototype.updatePanoMeshes=function(){for(var e=this,t={},r=0,n=Object.keys(this.panoMeshes);r<n.length;r++){var i=n[r],o=this.panoMeshes[i];t[i]=o,delete this.panoMeshes[i]}for(var a=1,s={},l=function(t){var r=ds(t.accessibleIds,(function(r){var n=e.works.getResolvedObserver(r);return n?jr(n.standingPosition.distanceTo(t.standingPosition),1,1/0):1/0}),!0)[1];void 0===s[t.panoId]&&(s[t.panoId]=r)},c=0,u=this.works.resolvedObservers;c<u.length;c++){l(f=u[c])}var d=Object.keys(s).map((function(e){return s[e]}));d.length&&(a=jr(.6*(d.reduce((function(e,t){return e+t}),0)/d.length),1,3));for(var p=0,h=this.works.resolvedObservers;p<h.length;p++){var f;o=void 0;t[(f=h[p]).panoId]?(!0===(o=t[f.panoId]).loading&&!1===f.loadable&&o.setLoading(!1),delete t[f.panoId]):((o=this.panoCircleMeshCreator(f.pano)).name="PanoCircleMesh_"+f.panoId,this.helper.add(o)),o.scale.set(a,1,a),o.position.copy(f.standingPosition),this.panoMeshes[f.panoId]=o}for(var v=0,m=Object.keys(t);v<m.length;v++){var A=m[v];this.helper.remove(t[A]),t[A].dispose(),delete t[A]}},t.prototype.doMoveToPano=function(e,t,r){var i,o,a,s,l=this;void 0===r&&(r={});var c=me(),u=Ka();this.tiling.cleanup(),this.panoResources[u]=t;var d,p,h;if(this.locationMotion.ended){var f=this.locationMotion.getKeyFrameSegment(c);f[0];var v=f[1],m=this.locationMotion.value,A=(null!==(i=this.panoResourceFromLocationMotionKeyframe(v))&&void 0!==i?i:this.camera).position,g=t.position;d=Math.max(A.distanceTo(g),1),p=[{key:v.key,progress:0,value:ie(ie({},m),{count:0})},{key:u,progress:1,value:{distance:0,perspToOrtho:0,orthoDistance:1,modelAlpha:0,count:1}}],h=0}else{var y=this.locationMotion.getKeyFrameSegment(c),b=y[0],x=(v=y[1],m=this.locationMotion.value,this.panoResourceFromLocationMotionKeyframe(b).position),w=(A=this.panoResourceFromLocationMotionKeyframe(v).position,g=t.position,v.value.count-m.count),E=Math.max(x.distanceTo(A),1)*w;d=E+Math.max(A.distanceTo(g),1),p=[{key:b.key,progress:0,value:ie({},m)},{key:v.key,progress:E/d,value:v.value},{key:u,progress:1,value:{count:v.value.count+1,distance:0,perspToOrtho:0,orthoDistance:1,modelAlpha:0}}];var M=this.locationMotionKeyframesLength(this.locationMotion.keyframes),C=this.locationMotionKeyframesLength(p);h=0===M||0===M?0:this.locationMotion.getProgressVelocity(c)*M/C}var S=this.calculateMovingDuration(r.duration,"fade"===r.effect||"montage"===r.effect?0:d),I={longitude:r.longitude,latitude:r.latitude,fov:r.fov},P=ie(ie({},e),{mode:this.mode,longitude:null!==(o=I.longitude)&&void 0!==o?o:this.camera.pose.longitude,latitude:null!==(a=I.latitude)&&void 0!==a?a:this.camera.pose.latitude,fov:null!==(s=I.fov)&&void 0!==s?s:this.camera.pose.fov,offset:t.position.clone(),distance:this.camera.pose.distance}),T=this.currentPano;this.emit("pano.moveTo",ss("pano.moveTo",{options:r,prevPano:T,progress:0,state:P,userAction:this.userAction,error:null})),r.moveStartCallback&&r.moveStartCallback(P),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=fe,this.videoTexture.needsUpdate=!0),this.panoVideo.setMaterial(null),this.cameraMotion.set(I,S).catch(fe),this.locationMotion.setKeyframes(p,S,h).then((function(){var t,i,o=ie(ie({},e),{mode:l.mode,longitude:l.camera.pose.longitude,latitude:l.camera.pose.latitude,fov:l.camera.pose.fov,offset:l.camera.pose.offset.clone(),distance:l.camera.pose.distance});l.emit("pano.arrived",ss("pano.arrived",{options:r,prevPano:T,progress:1,state:o,userAction:l.userAction,error:null})),r.moveEndCallback&&r.moveEndCallback(o);var a=l.works.getResolvedObserver(e);if(a&&a.video&&l.videoTexture&&l.videoTexture.image instanceof HTMLVideoElement){var s=tl.clone().multiply(null!==(i=null===(t=l.models.getMaterial().pano1)||void 0===t?void 0:t.matrix)&&void 0!==i?i:new n.Matrix4).multiply(a.video.matrix),c={map:l.videoTexture,size:a.video.size,matrix:s,alpha:1},u=Ka(),d=l.videoTexture.image;d.setAttribute("uuid",u),Ss().then((function(e){e&&a.video&&d.getAttribute("uuid")===u&&(d.oncanplay=function(){d.oncanplay=fe,d.play()},d.ontimeupdate=function(){d.currentTime>.5&&(d.ontimeupdate=fe,l.panoVideo.setMaterial(c))},d.src=a.video.source)})).catch((function(){d.removeAttribute("uuid")}))}}),(function(){l.emit("pano.cancel",ss("pano.cancel",{options:r,prevPano:T,progress:0,state:P,userAction:l.userAction,error:null})),r.moveCancelCallback&&r.moveCancelCallback()}))},t.prototype.getForwardObserverOrNot=function(e){var t=this,r=this.works.getResolvedObserver(this.currentPano);if(!r)return null;var i=null!=e?e:new n.Raycaster(this.camera.position.clone(),this.camera.getDirection(new n.Vector3)),o=r.standingPosition.clone();if(r.position.distanceTo(i.ray.origin)>1){var a=this.models.intersectRaycaster(new n.Raycaster(i.ray.origin,new n.Vector3(0,-1,0)))[0];a&&a.distance<=2?o.copy(a.point):o.copy(i.ray.origin).add(new n.Vector3(0,-1.5,0))}var s=this.models.intersectRaycaster(i)[0],l=(s?s.point:i.ray.origin.clone().add(i.ray.direction.clone().normalize().multiplyScalar(3))).clone().sub(o).normalize();if(0===l.length())return null;for(var c=r.accessibleIds.filter((function(e){if(e===Xe(t.currentPano))return!1;var r=t.works.getResolvedObserver(e);if(!r)return!1;var n=r.standingPosition.clone().project(t.camera);return!(Math.abs(n.z)>1)&&(!(Math.abs(n.x)>1)&&(!(Math.abs(n.y)>1)&&(r.loadable||r.active)))})),u=c.slice().sort((function(e,r){return t.works.getResolvedObserver(e).standingPosition.clone().distanceTo(o)-t.works.getResolvedObserver(r).standingPosition.clone().distanceTo(o)})),d=0,p=[Math.PI/8,Math.PI/6,Math.PI/4,Math.PI/3];d<p.length;d++)for(var h=p[d],f=0,v=u;f<v.length;f++){var m=v[f],A=this.works.getResolvedObserver(m);if(A){var g=A.standingPosition.clone().sub(o);if(g&&0!==g.length()&&l.angleTo(g)<h)return A}}return null},t.prototype.onTapGesture=function(e){var t,r=this;if(this.userAction=e.userAction,this.stopMomentumMovement(),this.initAnimationed){if(!this.locationMotion.ended)if(this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]).panoId!==Xe(this.currentPano))return;var i=e.center.raycaster,o=this.camera.getDirection(new n.Vector3).setY(0),a=null,s=this.works.getResolvedObserver(this.currentPano);if(s){var l=s.accessibleIds.filter((function(e){if(e===Xe(r.currentPano))return!1;var t=r.works.getResolvedObserver(e);return!!t&&(!(t.position.distanceTo(r.camera.position)>r.maxAccessibleDistance)&&(t.loadable||t.active))})),c=this.models.intersectRaycaster(i)[0];if(c){var u=ds(l,(function(e){var t=r.works.getResolvedObserver(e);return t?t.standingPosition.clone().distanceTo(c.point):1/0}),!0),d=u[0],p=u[1];d&&p<this.panoTapTriggerRadius&&(a=null!==(t=this.works.getResolvedObserver(d))&&void 0!==t?t:null)}a||(a=this.getForwardObserverOrNot(i));for(var h=0,f=this.locationMotion.keyframes;h<f.length;h++){var v=f[h],m=this.panoResourceFromLocationMotionKeyframe(v);if(!(v.progress<this.locationMotion.progress)&&(a&&m.panoId===a.panoId)){a=null;break}}if(a){for(var A={},g=Math.PI/6,y=Math.PI/12,b=a.position.clone().setY(0).sub(s.position.clone().setY(0)).normalize(),x=[],w=0,E=a.accessibleIds;w<E.length;w++){var M=Je(d=E[w]);if(!Ze(M,this.currentPano)&&!Ze(M,a.pano)){var C=this.works.getResolvedObserver(d);if(C){var S=C.position.clone().sub(a.position).setY(0);b.angleTo(S)<g&&x.push(S)}}}var I=(x.length>0?x:ce(ce([],[],!0),[],!0)).slice().sort((function(e,t){return e.angleTo(b)-t.angleTo(b)}))[0];I&&I.angleTo(o)>y&&(A.longitude=Math.atan2(-I.x,-I.z)),this.cameraMotion.value.latitude<-Math.PI/4&&(A.latitude=jr(0,this.minLatitude,this.maxLatitude));var P=ie({},e.state);if(P.workCode=a.pano.workCode,P.panoIndex=a.pano.panoIndex,void 0!==A.longitude&&(P.longitude=A.longitude),void 0!==A.latitude&&(P.latitude=A.latitude),void 0!==A.fov&&(P.fov=A.fov),P.distance=0,P.offset=a.position.clone(),e.state=P,this.emit("gesture.tap",e),!e.defaultPrevented){if(this.emit("pano.select",ss("pano.select",{prevPano:this.currentPano,state:P,userAction:e.userAction,options:A,progress:0,error:null})),a&&!a.active){var T=a.panoId;this.panoMeshes[T]&&(this.panoMeshes[T].setDisabled(!1),this.panoMeshes[T].setLoading(!0))}a&&a.active&&this.emit("pano.request",ss("pano.request",{userAction:e.userAction,prevPano:this.currentPano,progress:0,state:P,options:A,error:null}))}}else this.emit("gesture.tap",e),e.defaultPrevented||!0===this.locationMotion.ended&&this.cameraBounce()}}},t}(Cs),ol=Math.PI/180,al=180/Math.PI,sl=.001,ll=1,cl=function(){var e="undefined"!=typeof navigator&&/iPad|iPhone|iPod/.test(navigator.platform);return function(){return e}}(),ul=function(){var e="undefined"!=typeof navigator&&/^((?!chrome|android).)*safari/i.test(navigator.userAgent);return function(){return e}}(),dl=function(){var e="undefined"!=typeof navigator&&-1!==navigator.userAgent.indexOf("Firefox")&&-1!==navigator.userAgent.indexOf("Android");return function(){return e}}(),pl=function(){var e="undefined"!=typeof navigator?navigator.userAgent.match(/.*Chrome\/([0-9]+)/):null,t=e?parseInt(e[1],10):null;return function(){return t}}(),hl=function(){var e=!1;if(65===pl()){var t="undefined"!=typeof navigator?navigator.userAgent.match(/.*Chrome\/([0-9\.]*)/):null;if(t){var r=t[1].split(".");r[0],r[1];var n=r[2],i=r[3];e=3325===parseInt(n,10)&&parseInt(i,10)<148}}return function(){return e}}(),fl=function(){var e=cl()&&ul()&&"undefined"!=typeof navigator&&-1!==navigator.userAgent.indexOf("13_4");return function(){return e}}(),vl=function(){var e="undefined"!=typeof navigator&&-1!==navigator.userAgent.indexOf("R7 Build");return function(){return e}}();function ml(){var e="undefined"!=typeof window&&(90==window.orientation||-90==window.orientation);return vl()?!e:e}var Al,gl=(Al={},function(e,t){void 0===Al[e]&&(console.warn("cardboard: "+t),Al[e]=!0)});function yl(e){var t,r=e.indexOf("://");t=-1!==r?r+3:0;var n=e.indexOf("/",t);return-1===n&&(n=e.length),e.substring(0,n)}var bl,xl=function(e,t,r){var n,i,o,a,s,l,c,u,d,p,h,f,v,m,A,g,y,b,x;n=e,a=(i=t)?i[0]:0,s=i?i[1]:0,l=i?i[2]:0,c=i?i[3]:1,h=a*(u=a+a),f=a*(d=s+s),v=a*(p=l+l),m=s*d,A=s*p,g=l*p,y=c*u,b=c*d,x=c*p,n[0]=1-(m+g),n[1]=f+x,n[2]=v-b,n[3]=0,n[4]=f-x,n[5]=1-(h+g),n[6]=A+y,n[7]=0,n[8]=v+b,n[9]=A-y,n[10]=1-(h+m),n[11]=0,n[12]=o?o[0]:0,n[13]=o?o[1]:0,n[14]=o?o[2]:0,n[15]=1,r&&function(e,t,r){var n,i,o,a,s,l,c,u,d,p,h,f,v=r[0],m=r[1],A=r[2];t===e?(e[12]=t[0]*v+t[4]*m+t[8]*A+t[12],e[13]=t[1]*v+t[5]*m+t[9]*A+t[13],e[14]=t[2]*v+t[6]*m+t[10]*A+t[14],e[15]=t[3]*v+t[7]*m+t[11]*A+t[15]):(n=t[0],i=t[1],o=t[2],a=t[3],s=t[4],l=t[5],c=t[6],u=t[7],d=t[8],p=t[9],h=t[10],f=t[11],e[0]=n,e[1]=i,e[2]=o,e[3]=a,e[4]=s,e[5]=l,e[6]=c,e[7]=u,e[8]=d,e[9]=p,e[10]=h,e[11]=f,e[12]=n*v+s*m+d*A+t[12],e[13]=i*v+l*m+p*A+t[13],e[14]=o*v+c*m+h*A+t[14],e[15]=a*v+u*m+f*A+t[15])}(e,e,r),function(e,t){var r=t[0],n=t[1],i=t[2],o=t[3],a=t[4],s=t[5],l=t[6],c=t[7],u=t[8],d=t[9],p=t[10],h=t[11],f=t[12],v=t[13],m=t[14],A=t[15],g=r*s-n*a,y=r*l-i*a,b=r*c-o*a,x=n*l-i*s,w=n*c-o*s,E=i*c-o*l,M=u*v-d*f,C=u*m-p*f,S=u*A-h*f,I=d*m-p*v,P=d*A-h*v,T=p*A-h*m,B=g*T-y*P+b*I+x*S-w*C+E*M;B&&(B=1/B,e[0]=(s*T-l*P+c*I)*B,e[1]=(i*P-n*T-o*I)*B,e[2]=(v*E-m*w+A*x)*B,e[3]=(p*w-d*E-h*x)*B,e[4]=(l*S-a*T-c*C)*B,e[5]=(r*T-i*S+o*C)*B,e[6]=(m*b-f*E-A*y)*B,e[7]=(u*E-p*b+h*y)*B,e[8]=(a*P-s*S+c*M)*B,e[9]=(n*S-r*P-o*M)*B,e[10]=(f*w-v*b+A*g)*B,e[11]=(d*b-u*w-h*g)*B,e[12]=(s*C-a*I-l*M)*B,e[13]=(r*I-n*C+i*M)*B,e[14]=(v*y-f*x-m*g)*B,e[15]=(u*x-d*y+p*g)*B)}(e,e)},wl=function(){function e(e,t){void 0===e&&(e=new n.Vector3),void 0===t&&(t=0),this.sample=e,this.timestampS=t}return e.prototype.set=function(e,t){this.sample=e,this.timestampS=t},e.prototype.copy=function(e){this.set(e.sample,e.timestampS)},e}(),El=function(){function e(e,t){this.kFilter=e,this.isDebug=t,this.currentAccelMeasurement=new wl,this.currentGyroMeasurement=new wl,this.previousGyroMeasurement=new wl,cl()?this.filterQ=new n.Quaternion(-1,0,0,1):this.filterQ=new n.Quaternion(1,0,0,1),this.previousFilterQ=new n.Quaternion,this.previousFilterQ.copy(this.filterQ),this.accelQ=new n.Quaternion,this.isOrientationInitialized=!1,this.estimatedGravity=new n.Vector3,this.measuredGravity=new n.Vector3,this.gyroIntegralQ=new n.Quaternion}return e.prototype.addAccelMeasurement=function(e,t){this.currentAccelMeasurement.set(e,t)},e.prototype.addGyroMeasurement=function(e,t){this.currentGyroMeasurement.set(e,t);var r,n=t-this.previousGyroMeasurement.timestampS;r=n,isNaN(r)||r<=sl||r>ll||this.run_(),this.previousGyroMeasurement.copy(this.currentGyroMeasurement)},e.prototype.getOrientation=function(){return this.filterQ},e.prototype.run_=function(){if(!this.isOrientationInitialized)return this.accelQ=this.accelToQuaternion_(this.currentAccelMeasurement.sample),this.previousFilterQ.copy(this.accelQ),void(this.isOrientationInitialized=!0);var e=this.currentGyroMeasurement.timestampS-this.previousGyroMeasurement.timestampS,t=this.gyroToQuaternionDelta_(this.currentGyroMeasurement.sample,e);this.gyroIntegralQ.multiply(t),this.filterQ.copy(this.previousFilterQ),this.filterQ.multiply(t);var r=new n.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,o=new n.Quaternion;o.setFromUnitVectors(this.estimatedGravity,this.measuredGravity),o.inverse(),this.isDebug&&console.log("Delta: %d deg, G_est: (%s, %s, %s), G_meas: (%s, %s, %s)",al*((i=o).w>1?0:2*Math.acos(i.w)),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 n.Quaternion;a.copy(this.filterQ),a.multiply(o),this.filterQ.slerp(a,1-this.kFilter),this.previousFilterQ.copy(this.filterQ)},e.prototype.accelToQuaternion_=function(e){var t=new n.Vector3;t.copy(e),t.normalize();var r=new n.Quaternion;return r.setFromUnitVectors(new n.Vector3(0,0,-1),t),r.inverse(),r},e.prototype.gyroToQuaternionDelta_=function(e,t){var r=new n.Quaternion,i=new n.Vector3;return i.copy(e),i.normalize(),r.setFromAxisAngle(i,e.length()*t),r},e}(),Ml=function(){function e(e,t){this.predictionTimeS=e,this.isDebug=t,this.previousQ=new n.Quaternion,this.previousTimestampS=null,this.deltaQ=new n.Quaternion,this.outQ=new n.Quaternion}return e.prototype.getPrediction=function(e,t,r){if(!this.previousTimestampS)return this.previousQ.copy(e),this.previousTimestampS=r,e;var i=new n.Vector3;i.copy(t),i.normalize();var o=t.length();if(o<20*ol)return this.isDebug&&console.log("Moving slowly, at %s deg/s: no prediction",(al*o).toFixed(1)),this.outQ.copy(e),this.previousQ.copy(e),this.outQ;var a=o*this.predictionTimeS;return this.deltaQ.setFromAxisAngle(i,a),this.outQ.copy(this.previousQ),this.outQ.multiply(this.deltaQ),this.previousQ.copy(e),this.previousTimestampS=r,this.outQ},e}(),Cl=function(){function e(e){this.coefficients=e}return e.prototype.distortInverse=function(e){for(var t=0,r=1,n=e-this.distort(t);Math.abs(r-t)>1e-4;){var i=e-this.distort(r),o=r-i*((r-t)/(i-n));t=r,r=o,n=i}return r},e.prototype.distort=function(e){for(var t=e*e,r=0,n=0;n<this.coefficients.length;n++)r=t*(r+this.coefficients[n]);return(r+1)*e},e}(),Sl=function(){this.angularAcceleration=null,this.angularVelocity=null,this.linearAcceleration=null,this.linearVelocity=null,this.orientation=null,this.position=null},Il=function(){this.leftDegrees=0,this.rightDegrees=0,this.upDegrees=0,this.downDegrees=0},Pl=function(){function e(e,t,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 n.Vector3,this.gyroscope=new n.Vector3,this.filter=new El(e,i),this.posePredictor=new Ml(t,i),this.isFirefoxAndroid=dl(),this.isIOS=cl();var o=pl();this.isDeviceMotionInRadians=!this.isIOS&&null!==o&&o<66,this.isWithoutDeviceMotion=hl()||fl(),this.filterToWorldQ=new n.Quaternion,cl()?this.filterToWorldQ.setFromAxisAngle(new n.Vector3(1,0,0),Math.PI/2):this.filterToWorldQ.setFromAxisAngle(new n.Vector3(1,0,0),-Math.PI/2),this.inverseWorldToScreenQ=new n.Quaternion,this.worldToScreenQ=new n.Quaternion,this.originalPoseAdjustQ=new n.Quaternion;var a="undefined"!=typeof window?-window.orientation*Math.PI/180:0;this.originalPoseAdjustQ.setFromAxisAngle(new n.Vector3(0,0,1),a),this.setScreenTransform_(),ml()&&this.filterToWorldQ.multiply(this.inverseWorldToScreenQ),this.resetQ=new n.Quaternion,this.orientationOut_=new Float32Array(4),this.previousTimestampS=Date.now()}return e.prototype.getPosition=function(){return null},e.prototype.getOrientation=function(){var e;if(this.isWithoutDeviceMotion&&this._deviceOrientationQ){this.deviceOrientationFixQ=this.deviceOrientationFixQ||(i=(new n.Quaternion).setFromAxisAngle(new n.Vector3(0,0,-1),0),o=new n.Quaternion,"undefined"!=typeof window&&-90===window.orientation?o.setFromAxisAngle(new n.Vector3(0,1,0),Math.PI/-2):o.setFromAxisAngle(new n.Vector3(0,1,0),Math.PI/2),i.multiply(o)),this.deviceOrientationFilterToWorldQ=this.deviceOrientationFilterToWorldQ||((r=new n.Quaternion).setFromAxisAngle(new n.Vector3(1,0,0),-Math.PI/2),r),e=this._deviceOrientationQ;var t=new n.Quaternion;return t.copy(e),t.multiply(this.deviceOrientationFilterToWorldQ),t.multiply(this.resetQ),t.multiply(this.worldToScreenQ),t.multiplyQuaternions(this.deviceOrientationFixQ,t),this.yawOnly&&(t.x=0,t.z=0,t.normalize()),this.orientationOut_[0]=t.x,this.orientationOut_[1]=t.y,this.orientationOut_[2]=t.z,this.orientationOut_[3]=t.w,this.orientationOut_}var r,i,o,a=this.filter.getOrientation();e=this.posePredictor.getPrediction(a,this.gyroscope,this.previousTimestampS);var s=new n.Quaternion;return s.copy(this.filterToWorldQ),s.multiply(this.resetQ),s.multiply(e),s.multiply(this.worldToScreenQ),this.yawOnly&&(s.x=0,s.z=0,s.normalize()),this.orientationOut_[0]=s.x,this.orientationOut_[1]=s.y,this.orientationOut_[2]=s.z,this.orientationOut_[3]=s.w,this.orientationOut_},e.prototype.getPose=function(){var e=new Sl;return e.orientation=this.getOrientation(),e},e.prototype.resetPose=function(){this.resetQ.copy(this.filter.getOrientation()),this.resetQ.x=0,this.resetQ.y=0,this.resetQ.z*=-1,this.resetQ.normalize(),ml()&&this.resetQ.multiply(this.inverseWorldToScreenQ),this.resetQ.multiply(this.originalPoseAdjustQ)},e.prototype.getFrameData=function(e){var t=this.getOrientation(),r=this.getEyeOffset(),n=this.getEyeProjectionMatrix();return e.pose.angularAcceleration=null,e.pose.angularVelocity=null,e.pose.linearAcceleration=null,e.pose.linearVelocity=null,e.pose.orientation=t,e.pose.position=null,e.timestamp=this.previousTimestampS,e.leftProjectionMatrix.set(n.left),e.rightProjectionMatrix.set(n.right),xl(e.leftViewMatrix,t,r.left),xl(e.rightViewMatrix,t,r.right),e},e.prototype.start=function(){if("undefined"==typeof window)return function(){};var e=this.onDeviceMotion_.bind(this),t=this.onOrientationChange_.bind(this),r=this.onMessage_.bind(this),n=this.onDeviceOrientation_.bind(this);return cl()&&function(){if("undefined"==typeof window)return!1;if("undefined"==typeof document)return!1;var e=window.self!==window.top,t=yl(document.referrer),r=yl(window.location.href);return e&&t!==r}()&&window.addEventListener("message",r),window.addEventListener("orientationchange",t),this.isWithoutDeviceMotion?window.addEventListener("deviceorientation",n):window.addEventListener("devicemotion",e),function(){window.removeEventListener("devicemotion",e),window.removeEventListener("deviceorientation",t),window.removeEventListener("orientationchange",t),window.removeEventListener("message",r)}},e.prototype.getEyeOffset=function(){return{left:[.5*-this.viewer.interLensDistance,0,0],right:[.5*this.viewer.interLensDistance,0,0]}},e.prototype.getEyeProjectionMatrix=function(){var e=this.getEyeFieldOfView(),t=this.depthNear,r=this.depthFar,n={left:[],right:[]},i=e.left.upDegrees*ol,o=e.left.downDegrees*ol,a=2/((l=e.left.leftDegrees*ol)+(c=e.left.rightDegrees*ol)),s=2/(i+o);n.left[0]=a,n.left[1]=0,n.left[2]=0,n.left[3]=0,n.left[4]=0,n.left[5]=s,n.left[6]=0,n.left[7]=0,n.left[8]=-(l-c)*a*.5,n.left[9]=(i-o)*s*.5,n.left[10]=r/(t-r),n.left[11]=-1,n.left[12]=0,n.left[13]=0,n.left[14]=r*t/(t-r),n.left[15]=0;var l,c;i=e.right.upDegrees*ol,o=e.right.downDegrees*ol,a=2/((l=e.right.leftDegrees*ol)+(c=e.right.rightDegrees*ol)),s=2/(i+o);return n.right[0]=a,n.right[1]=0,n.right[2]=0,n.right[3]=0,n.right[4]=0,n.right[5]=s,n.right[6]=0,n.right[7]=0,n.right[8]=-(l-c)*a*.5,n.right[9]=(i-o)*s*.5,n.right[10]=r/(t-r),n.right[11]=-1,n.right[12]=0,n.right[13]=0,n.right[14]=r*t/(t-r),n.right[15]=0,n},e.prototype.getEyeFieldOfView=function(){var e=this.viewer,t=this.device,r=new Cl(e.distortionCoefficients),n=e.screenLensDistance,i=(t.widthMeters-e.interLensDistance)/2,o=e.interLensDistance/2,a=e.baselineLensDistance-t.bevelMeters,s=t.heightMeters-a,l=al*Math.atan(r.distort(i/n)),c=al*Math.atan(r.distort(o/n)),u=al*Math.atan(r.distort(a/n)),d=al*Math.atan(r.distort(s/n)),p=new Il,h=new Il;return p.leftDegrees=Math.min(l,e.fov),p.rightDegrees=Math.min(c,e.fov),p.downDegrees=Math.min(u,e.fov),p.upDegrees=Math.min(d,e.fov),h.leftDegrees=p.rightDegrees,h.rightDegrees=p.leftDegrees,h.upDegrees=p.upDegrees,h.downDegrees=p.downDegrees,{left:p,right:h}},e.prototype.onDeviceOrientation_=function(e){this._deviceOrientationQ=this._deviceOrientationQ||new n.Quaternion;var t=e.alpha,r=e.beta,i=e.gamma;t=(t||0)*Math.PI/180,r=(r||0)*Math.PI/180,i=(i||0)*Math.PI/180,this._deviceOrientationQ.setFromEuler(new n.Euler(t,r,-i,"YXZ"))},e.prototype.onDeviceMotion_=function(e){this.updateDeviceMotion_(e)},e.prototype.updateDeviceMotion_=function(e){var t=e.accelerationIncludingGravity,r=e.rotationRate,n=e.timeStamp/1e3,i=n-this.previousTimestampS;return i<0?(gl("fusion-pose-sensor:invalid:non-monotonic","Invalid timestamps detected: non-monotonic timestamp from devicemotion"),void(this.previousTimestampS=n)):i<=sl||i>ll?(gl("fusion-pose-sensor:invalid:outside-threshold","Invalid timestamps detected: Timestamp from devicemotion outside expected range."),void(this.previousTimestampS=n)):(t&&(this.accelerometer.set(-t.x,-t.y,-t.z),r&&(vl()?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,n)),this.filter.addAccelMeasurement(this.accelerometer,n)),void(this.previousTimestampS=n))},e.prototype.onOrientationChange_=function(){this.setScreenTransform_()},e.prototype.onMessage_=function(e){var t=e.data;t&&t.type&&("devicemotion"===t.type.toLowerCase()&&this.updateDeviceMotion_(t.deviceMotionEvent))},e.prototype.setScreenTransform_=function(){switch(this.worldToScreenQ.set(0,0,0,1),"undefined"!=typeof window?window.orientation:0){case 0:break;case 90:this.worldToScreenQ.setFromAxisAngle(new n.Vector3(0,0,1),-Math.PI/2);break;case-90:this.worldToScreenQ.setFromAxisAngle(new n.Vector3(0,0,1),Math.PI/2)}this.inverseWorldToScreenQ.copy(this.worldToScreenQ),this.inverseWorldToScreenQ.inverse()},e}(),Tl=[0,0,.5,1],Bl=[.5,0,.5,1],Rl=function(){function e(e){var t=this;this.renderer=e,this.sensor=new Pl(.98,.04,!1,!1),this.scale=1,this.cameraL=new n.PerspectiveCamera,this.cameraR=new n.PerspectiveCamera;var r=this.sensor.start();this.dispose=function(){var e=t.renderer.getSize(new n.Vector2);t.renderer.setScissor(0,0,e.width,e.height),t.renderer.setViewport(0,0,e.width,e.height),t.renderer.setScissorTest(!1),r()}}return e.prototype.render=function(e,t){var r=this.renderer.getSize(new n.Vector2);if(r.width>r.height){var i=e.autoUpdate;i&&(e.updateMatrixWorld(),e.autoUpdate=!1);var o={x:Math.round(r.width*Tl[0]),y:Math.round(r.height*Tl[1]),width:Math.round(r.width*Tl[2]),height:Math.round(r.height*Tl[3])},a={x:Math.round(r.width*Bl[0]),y:Math.round(r.height*Bl[1]),width:Math.round(r.width*Bl[2]),height:Math.round(r.height*Bl[3])};this.renderer.setScissorTest(!0),this.renderer.autoClear&&this.renderer.clear(),null===t.parent&&t.updateMatrixWorld(),t.matrixWorld.decompose(this.cameraL.position,this.cameraL.quaternion,this.cameraL.scale),t.matrixWorld.decompose(this.cameraR.position,this.cameraR.quaternion,this.cameraR.scale);var s=this.sensor.getEyeOffset();this.cameraL.translateOnAxis((new n.Vector3).fromArray(s.left),this.scale),this.cameraR.translateOnAxis((new n.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(o.x,o.y,o.width,o.height),this.renderer.setScissor(o.x,o.y,o.width,o.height),this.renderer.render(e,this.cameraL),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(e,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&&(e.autoUpdate=!0)}else this.renderer.render(e,t)},e.prototype.dispose=function(){},e}(),kl={zh:{TITLE:"眼镜模式",HIT:"请将手机横屏放入 VR 眼镜中"},en:{TITLE:"GLASSES MODE",HIT:"Please put the mobile phone horizontally into the VR glasses."},ja:{TITLE:"メガネモード",HIT:"携帯電話をVRメガネに水平に入れてください。"}},Ol="undefined"!=typeof navigator&&null!==(bl=kl[navigator.language.split("-")[0]])&&void 0!==bl?bl:kl.zh,Fl="\n<style>\n.$id {\n all: initial;\n position: absolute;\n overflow: hidden;\n display: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.$id-modal {\n width: 100%;\n height: 332px;\n position: absolute;\n bottom: -2px;\n left: 0;\n right: 0;\n overflow: hidden;\n pointer-events: none;\n will-change: transform;\n animation: $id-modal-fade-in 0.3s ease 1;\n}\n.$id-modal-bg {\n background: rgba(0, 0, 0, 0.75);\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n top: 0;\n}\n.$id-modal-bg-line {\n height: 1px;\n background-image: linear-gradient(\n 85deg,\n rgba(162, 177, 255, 0.3) 1%,\n rgba(120, 126, 255, 0.8) 30%,\n rgba(147, 218, 255, 0.8) 66%,\n rgba(250, 255, 184, 0.3) 92%\n );\n}\n.$id-modal-bg-wave svg {\n width: 375px;\n height: 61px;\n display: block;\n}\n.$id-modal-content {\n color: #ffffff;\n padding: 0 14px;\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n top: 0;\n overflow: hidden;\n}\n.$id-modal-content-title {\n font-size: 17px;\n font-family: sans-serif;\n line-height: 18px;\n padding: 20px 0;\n font-weight: bold;\n}\n.$id-modal-content-hit {\n font-size: 14px;\n font-family: sans-serif;\n line-height: 24px;\n opacity: 0.85;\n}\n.$id-modal-content-guide {\n position: relative;\n width: 168px;\n height: 139px;\n margin: 36px auto 0;\n}\n.$id-modal-content-guide-cardboard {\n position: absolute;\n width: 100px;\n height: 82px;\n left: 68px;\n top: 57px;\n}\n.$id-modal-content-guide-cardboard-image {\n width: 100px;\n height: 82px;\n background-image: url(".concat("data:image/png;base64,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",");\n background-size: 100%;\n background-repeat: no-repeat;\n}\n.$id-modal-content-guide-phone {\n position: absolute;\n width: 58px;\n height: 56px;\n left: 0;\n top: 0;\n}\n.$id-modal-content-guide-phone-move-x {\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n will-change: transform;\n animation: $id-guide-move-x 4s 0.5s infinite;\n}\n.$id-modal-content-guide-phone-move-y {\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n will-change: transform;\n animation: $id-guide-move-y 4s cubic-bezier(0.42, 0, 0.23, 0.98) 0.5s infinite;\n}\n.$id-modal-content-guide-phone-blink {\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n opacity: 0;\n will-change: opacity;\n animation: $id-guide-blink 4s 0.5s infinite;\n}\n.$id-modal-content-guide-phone-image {\n width: 58px;\n height: 56px;\n background-image: url(").concat("data:image/png;base64,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",');\n background-size: 100%;\n background-repeat: no-repeat;\n}\n.$id-modal-close {\n position: absolute;\n top: 20px;\n right: 14px;\n width: 14px;\n height: 14px;\n}\n.$id-modal-close svg {\n width: 14px;\n height: 14px;\n display: block;\n}\n\n@keyframes $id-modal-fade-in {\n 0% { transform: translate3d(0, 100%, 0); opacity: 0.5; }\n 100% { transform: translate3d(0, 0, 0); opacity: 1; }\n}\n@keyframes $id-guide-blink {\n 0% { opacity: 0; }\n 7% { opacity: 0; }\n 12% { opacity: 1; }\n 29% { opacity: 1; }\n 34% { opacity: 0.3; }\n 39% { opacity: 1; }\n 44% { opacity: 0.3; }\n 49% { opacity: 1; }\n 80% { opacity: 1; }\n 100% { opacity: 0; }\n}\n@keyframes $id-guide-move-x {\n 0% { transform: translate3d(0, 0, 0); }\n 57% { transform: translate3d(0, 0, 0); }\n 80% { transform: translate3d(70px, 0, 0); }\n 100% { transform: translate3d(70px, 0, 0); }\n}\n@keyframes $id-guide-move-y {\n 0% { transform: translate3d(0, 0, 0); }\n 57% { transform: translate3d(0, 0, 0); }\n 80% { transform: translate3d(0, 58px, 0); }\n 100% { transform: translate3d(0, 58px, 0); }\n}\n@media screen and (orientation: portrait) {\n .$id {\n display: block;\n }\n}\n</style>\n<div class="$id-modal">\n <div class="$id-modal-bg">\n <div class="$id-modal-bg-line"></div>\n <div class="$id-modal-bg-wave">\n <svg width="375" height="61" viewBox="0 0 375 61" version="1.1" xmlns="http://www.w3.org/2000/svg">\n <defs>\n <linearGradient x1="0" y1="0%" x2="0" y2="100%" id="$id-2y6_dj_hgp">\n <stop stop-color="#8598FF" stop-opacity="0.15" offset="0%"></stop>\n <stop stop-color="#000" stop-opacity="0" offset="100%"></stop>\n </linearGradient>\n </defs>\n <path transform="translate(187.5, 30.5) scale(-1, 1) translate(-187.5, -30.5)" fill="url(#$id-2y6_dj_hgp)" d="\nM0,1\nC83.001,1.706 140.146,4.164 171.435,8.374\nC218.369,14.688 253.467,26.308 273.002,33\nC292.536,39.691323.501,51 343.709,56\nC357.182,59.333 367.612,61 375,61\nL375,0\nL0,0\nL0,1\nZ\n"></path>\n </svg>\n </div>\n </div>\n <div class="$id-modal-content">\n <div class="$id-modal-content-title">').concat(Ol.TITLE,'</div>\n <div class="$id-modal-content-hit">').concat(Ol.HIT,'</div>\n <div class="$id-modal-content-guide">\n <div class="$id-modal-content-guide-phone">\n <div class="$id-modal-content-guide-phone-move-x">\n <div class="$id-modal-content-guide-phone-move-y">\n <div class="$id-modal-content-guide-phone-blink">\n <div class="$id-modal-content-guide-phone-image"></div>\n </div>\n </div>\n </div>\n </div>\n <div class="$id-modal-content-guide-cardboard">\n <div class="$id-modal-content-guide-cardboard-image"></div>\n </div>\n </div>\n </div>\n <div class="$id-modal-close">\n <svg width="14" height="14" viewBox="0 0 14 14" version="1.1" xmlns="http://www.w3.org/2000/svg">\n <defs>\n <radialGradient cx="50%" cy="50%" fx="50%" fy="50%" r="70%" id="$id-ho0itsc4p9">\n <stop stop-color="#FFF" stop-opacity="0.75" offset="0%"></stop>\n <stop stop-color="#FFF" stop-opacity="0.22" offset="100%"></stop>\n </radialGradient>\n </defs>\n <path transform="translate(-3, -3)" fill="url(#$id-ho0itsc4p9)" fill-rule="nonzero" d="\nM16.791,3.198\nC17.044,3.438 17.067,3.814 16.860,4.080\nL16.791,4.156\nL12.144,9.331\nC11.803,9.711 11.803,10.288 12.144,10.668\nL16.791,15.843\nC17.044,16.084 17.067,16.460 16.860,16.725\nL16.791,16.801\nC16.538,17.042 16.142,17.063 15.864,16.867\nL15.784,16.801\nL10.000,11.250\nL4.215,16.801\nL4.135,16.867\nC3.857,17.063 3.461,17.042 3.208,16.801\nL3.208,16.801\nL3.139,16.725\nC2.932,16.460 2.955,16.084 3.208,15.843\nL3.208,15.843\nL7.855,10.668\nC8.196,10.288 8.196,9.711 7.855,9.331\nL7.855,9.331\nL3.208,4.156\nL3.139,4.080\nC2.932,3.814 2.955,3.438 3.208,3.198\nC3.486,2.933 3.937,2.933 4.215,3.198\nL4.215,3.198 L9.999,8.749\nL15.784,3.198\nC16.062,2.933 16.513,2.933 16.791,3.198\nZ\n"></path>\n </svg>\n </div>\n</div>\n');function Dl(e){for(var t=1,r=document.getElementsByTagName("meta"),n=0;n<r.length;n++){var i=r[n];if("viewport"===i.getAttribute("name")){var o=(i.getAttribute("content")||"").match(/initial\-scale\=([\d|\.]+)/);o&&(t=Number(o[1])),isNaN(t)&&(t=1)}}return Fl.replace(/\n/g," ").replace(/\ +/g," ").replace(/\$id/g,e).replace(/(\d+)px/g,(function(e,r){return function(e){return Math.floor(e*t)+"px"}(Number(r))}))}var Ql=new n.CircleBufferGeometry(.12,16),Ll=function(e){function t(){var t=e.call(this)||this;t.progress=0,t.opacity=0,t.loading=!1,t.current=!1,t.disabled=!1,t.currentMotion=new Oa({ringScale:1.1,ringOpacity:0,circleFade:0,circleOpacity:.85,circleScale:1}),t.opacityMotion=new Oa({opacity:0}),t.loadingMotion=new Oa({opacity:0}),t.disableMotion=new Oa({opacity:0});var r={blending:n.CustomBlending,blendSrc:n.SrcAlphaFactor,blendDst:n.OneMinusSrcAlphaFactor,blendSrcAlpha:n.OneFactor,blendDstAlpha:n.OneMinusSrcAlphaFactor,depthWrite:!1,transparent:!0};return t.hitTestMesh=new n.Mesh(Ql,new n.MeshBasicMaterial(ie(ie({},r),{color:0,opacity:0}))),t.hitTestMesh.scale.set(1.5,1.5,1.5),t.ringMesh=new n.Mesh(Ql,new n.ShaderMaterial(ie(ie({},r),{vertexShader:"\nvarying vec2 vUv;\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n",fragmentShader:"\nvarying vec2 vUv;\nuniform float opacity;\n\nfloat smoothDist = 0.01;\nvoid main() {\n vec2 center = vec2(0.5, 0.5);\n float dist = length(center - vUv);\n float outerDist = 0.49;\n float innerDist = 0.29;\n\n float outside = 1.0 - smoothstep(outerDist - smoothDist, outerDist, dist);\n float inside = smoothstep(innerDist, innerDist + smoothDist, dist);\n\n vec4 bg = vec4(0.576, 0.635, 1.0, 0.3);\n float gradientAlpha = clamp(abs(dist - (outerDist + innerDist) / 2.0) / (outerDist - innerDist) * 1.5 + 0.1, 0.0, 1.0);\n vec4 gradient = vec4(1.0, 1.0, 1.0, gradientAlpha);\n\n gl_FragColor = mix(bg, gradient, gradient.a);\n\n gl_FragColor = vec4(gl_FragColor.rgb, gl_FragColor.a * opacity * outside * inside);\n}\n",uniforms:{opacity:{value:0}}}))),t.panoMesh=new n.Mesh(Ql,new n.ShaderMaterial(ie(ie({},r),{vertexShader:"\nvarying vec2 vUv;\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n",fragmentShader:"\nuniform float circleScale;\nuniform float circleFade;\nuniform float circleOpacity;\nuniform float loadingAngle;\nuniform float loadingOpacity;\nuniform float opacity;\nuniform float disable;\nvarying vec2 vUv;\n\n#define PI 3.141592653589793\n#define TAU 6.283185307179586\n#define SMOOTH_DIST 0.017\n#define CENTER vec2(0.5, 0.5)\n\nfloat inside(float innerDist) {\n float dist = length(CENTER - vUv);\n return smoothstep(innerDist, innerDist + SMOOTH_DIST, dist);\n}\nfloat outside(float outerDist) {\n float dist = length(CENTER - vUv);\n return 1.0 - smoothstep(outerDist - SMOOTH_DIST, outerDist, dist);\n}\n\nvec4 create_circle() {\n float dist = length(CENTER - vUv);\n float gradient = clamp(0.98 + abs(dot(normalize(vec2(1.0, -1.0)), vUv - CENTER)) * 2.0, 0.0, 1.0);\n vec3 color = mix(vec3(0.576, 0.635, 1.0), vec3(1.0, 1.0, 1.0), circleFade * 0.5);\n return vec4(color, 1.0 * gradient * circleOpacity * outside(0.3 * circleScale));\n}\n\nvec4 create_disable() {\n float dist = length(CENTER - vUv);\n return vec4(1.0, 1.0, 1.0, 0.5 * outside(0.32 * circleScale));\n}\n\nvec4 create_loading() {\n float angle = PI - atan(CENTER.x - vUv.x, CENTER.y - vUv.y);\n angle = mod(angle + loadingAngle, TAU);\n float gradient = (1.0 - smoothstep(0.0, TAU, angle)) * 0.9 + 0.1;\n return vec4(1.0, 1.0, 1.0, gradient * loadingOpacity * inside(0.2 * circleScale) * outside(0.25 * circleScale));\n}\n\nvoid main() {\n gl_FragColor = vec4(1.0, 1.0, 1.0, 0);\n\n vec4 circleColor = create_circle();\n gl_FragColor = mix(gl_FragColor, circleColor, circleColor.a);\n\n vec4 loadingColor = create_loading();\n gl_FragColor = mix(gl_FragColor, loadingColor, loadingColor.a);\n\n gl_FragColor = mix(gl_FragColor, create_disable(), disable);\n\n gl_FragColor = vec4(gl_FragColor.rgb, gl_FragColor.a * opacity);\n}\n",uniforms:{circleScale:{value:1.1},circleFade:{value:0},circleOpacity:{value:.5},loadingAngle:{value:0},loadingOpacity:{value:0},opacity:{value:0},disable:{value:0}}}))),t.add(t.hitTestMesh),t.add(t.ringMesh),t.add(t.panoMesh),t.renderOrder=1e4,t.needsRender=!0,t}return ne(t,e),t.prototype.setProgress=function(e){this.progress=e,this.setLoading(e>0)},t.prototype.setOpacity=function(e){this.opacity!==e&&(this.opacity=e=jr(e,0,1),this.opacityMotion.set({opacity:e},30).catch(fe))},t.prototype.setCurrent=function(e){if(this.current!==e){if(e){var t=[{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(t,1500).catch(fe)}else{t=[{progress:0,value:ie({},this.currentMotion.value)},{progress:1,value:{ringScale:1.1,ringOpacity:0,circleFade:0,circleOpacity:.85,circleScale:1}}];this.currentMotion.setKeyframes(t,200).catch(fe)}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(fe):this.loadingMotion.set({opacity:0},0).catch(fe),this.loading=e,!0===this.disabled&&this.setDisabled(!1),this.needsRender=!0)},t.prototype.setDisabled=function(e){this.disabled!==e&&(this.disabled=e,!0===this.loading&&this.setLoading(!1),this.disableMotion.set({opacity:e?1:0},300).catch(fe),this.needsRender=!0)},t.prototype.tap=function(){return Promise.resolve()},t.prototype.updateTime=function(e,t){this.opacityMotion.update(e),this.currentMotion.update(e),this.loadingMotion.update(e);var r=this.opacityMotion.value.opacity;this.visible=0!==r;var n=this.currentMotion.value,i=n.ringScale,o=n.ringOpacity,a=n.circleFade,s=n.circleOpacity,l=n.circleScale;this.ringMesh.scale.set(i,1,i),this.ringMesh.material.uniforms.opacity.value=o*r,this.panoMesh.material.uniforms.opacity.value=r,this.panoMesh.material.uniforms.circleOpacity.value=s,this.panoMesh.material.uniforms.circleScale.value=l,this.panoMesh.material.uniforms.circleFade.value=a,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%(2*Math.PI),this.needsRender=!0},t.prototype.dispose=function(){this.hitTestMesh.material.dispose(),this.ringMesh.material.dispose(),this.panoMesh.material.dispose()},t}(n.Object3D),Nl=function(e){function t(r){var n=this,i=t.parseArgs(r);(n=e.call(this,i)||this).mode="VRPanorama",n.cardboard=new Rl(n.renderer);var o,a,s,l=(o="five_vr_helper_"+Ka(),a=Dl(o),(s=document.createElement("div")).className=o,s.innerHTML=a,s);n.helperElement=l;var c=new fs(l);return n.element.parentNode&&(n.element.parentNode.insertBefore(l,n.element),n.setHelperElementSize(),c.on("tap",(function(){return n.emit("vr.requestExit",ss("vr.requestExit",{}))}))),n.destroyHelper=function(){c.destroy(),l.parentNode&&l.parentNode.removeChild(l),delete n.helperElement},n}return ne(t,e),t.parseArgs=function(r){if(r instanceof t)return r;var n=ie(ie({},r),{maxLatitude:Math.PI/2,minLatitude:-Math.PI/2});return e.parseArgs.call(this,n)},t.initAnimationEndState=function(t){var r=this.parseArgs(t),n=e.initAnimationEndState.call(this,r);return ie(ie({},n),{mode:"VRPanorama"})},t.prototype.destroy=function(){e.prototype.destroy.call(this),this.cardboard.dispose(),this.destroyHelper();for(var t=0,r=Object.keys(this.panoMeshes);t<r.length;t++){var n=r[t],i=this.panoMeshes[n];this.helper.remove(i),i.dispose(),delete this.panoMeshes[n]}},t.prototype.isReady=function(){return!1},t.prototype.updateRenderSize=function(){this.needsRender=!0,this.setHelperElementSize()},t.prototype.updateCamera=function(e,t,r){return Promise.resolve()},t.prototype.updateCameraWithKeyframes=function(e,t,r){return Promise.resolve()},t.prototype.updatePanoMeshesVisible=function(){for(var e=this.works.getResolvedObserver(this.currentPano),t=(e?e.visibleIds:[]).concat(Xe(this.currentPano)),r=0,n=this.works.resolvedObservers;r<n.length;r++){var i=n[r],o=this.panoMeshes[i.panoId];o&&(t.indexOf(i.panoId)>=0?o.parent!==this.helper&&this.helper.add(o):o.parent===this.helper&&(this.helper.remove(o),o.setOpacity(0)))}},t.prototype.updatePanoMeshes=function(){for(var e=0,t=Object.keys(this.panoMeshes);e<t.length;e++){var r=t[e],n=this.panoMeshes[r];this.helper.remove(n),n.dispose(),delete this.panoMeshes[r]}for(var i=0,o=this.works.resolvedObservers;i<o.length;i++){var a=o[i],s=a.panoId,l=new Ll;l.name="panoSphere_".concat(s),l.position.copy(a.position),l.needsRender=!0,this.panoMeshes[s]=l}this.updatePanoMeshesVisible()},t.prototype.updateTime=function(e,t){var r,i,o,a,s,l;if(!this.destroyed){var c=this.currentPano;this.userAction=!0,this.needsRender=!0;var u={},d={};if(!1===this.locationMotion.ended){this.locationMotion.update(e);var p=this.locationMotion.getKeyFrameSegment(e),h=p[0],f=p[1],v=this.panoResourceFromLocationMotionKeyframe(h),m=this.panoResourceFromLocationMotionKeyframe(f),A=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),g=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),y=v.position,b=m.position,x=this.locationMotion.value.count-f.value.count+1;u.modelAlpha=this.locationMotion.value.modelAlpha,this.camera.perspToOrtho.setScalar(jr(this.locationMotion.value.perspToOrtho,0,1)),this.camera.orthoDistance=this.locationMotion.value.orthoDistance,u.useBlackTransition="instant"===m.effect,m.panoPicture&&(x<1?v.panoPicture&&(u.pano0=v.panoPicture):u.pano0=m.panoPicture,u.pano1=m.panoPicture),"fade"===m.effect&&(u.pano0&&v.panoPicture&&(u.pano0={map:u.pano0.map,luminanceMap:u.pano0.luminanceMap,matrix:v.panoPicture.matrix.clone().setPosition(m.position)}),y.copy(b)),u.progress=x,d.distance=this.locationMotion.value.distance,d.offset=new n.Vector3(y.x+(b.x-y.x)*x,y.y+(b.y-y.y)*x,y.z+(b.z-y.z)*x);for(var w=[],E=[],M=0,C=this.locationMotion.keyframes;M<C.length;M++){var S=C[M],I=S.key,P=S.progress;void 0!==I&&(w.push(I),P>=this.locationMotion.progress&&E.push(I))}for(var T=0,B=Object.keys(this.panoResources);T<B.length;T++){var R=B[T];if(!(E.indexOf(R)>=0)){var k=this.panoResources[R];if(k.panoPicture){var O=k.panoPicture.map;if(O){if(O===(null===(r=u.pano0)||void 0===r?void 0:r.map))continue;if(O===(null===(i=u.pano1)||void 0===i?void 0:i.map))continue;O.dispose(),k.panoPicture=null}}w.indexOf(R)>=0||delete this.panoResources[R]}}this.currentPano=Je(m.panoId),this.emit("pano.moving",ss("pano.moving",{userAction:this.userAction,prevPano:Je(A.panoId),state:ie(ie(ie(ie({},Je(g.panoId)),{mode:this.mode}),hs(this.camera.pose)),d),options:{},progress:this.locationMotion.progress,error:null}))}!1===ps(u)&&((null===(o=u.pano0)||void 0===o?void 0:o.map)&&u.pano0.map instanceof Vt&&!u.pano0.map.cubeRenderTarget&&(u.pano0.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),(null===(a=u.pano0)||void 0===a?void 0:a.luminanceMap)&&u.pano0.luminanceMap instanceof Vt&&!u.pano0.luminanceMap.cubeRenderTarget&&(u.pano0.luminanceMap.cubeRenderTarget=this.luminanceCubeRenderTargetPool.pop()),(null===(s=u.pano1)||void 0===s?void 0:s.map)&&u.pano1.map instanceof Vt&&!u.pano1.map.cubeRenderTarget&&(u.pano1.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),(null===(l=u.pano1)||void 0===l?void 0:l.luminanceMap)&&u.pano1.luminanceMap instanceof Vt&&!u.pano1.luminanceMap.cubeRenderTarget&&(u.pano1.luminanceMap.cubeRenderTarget=this.luminanceCubeRenderTargetPool.pop()),this.models.setMaterial(u)),d.offset&&this.camera.position.copy(d.offset),Ze(this.currentPano,c)&&this.updatePanoMeshesVisible();var F=this.camera.pose.longitude,D=this.camera.pose.latitude;this.camera.quaternion.fromArray(this.cardboard.sensor.getOrientation()),this.camera.updateMatrixWorld(),this.camera.computePose();var Q=this.works.getResolvedObserver(this.currentPano);if(Q)for(var L=0,N=Q.visibleIds.concat(Xe(this.currentPano));L<N.length;L++){var V=N[L],z=Je(V);if(G=this.works.getResolvedObserver(z)){var j=this.panoMeshes[V];if(G.loadable||G.active){var U=j.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);U<.05?j.setOpacity(0):j.setOpacity(jr(1.5/U,0,1)),Ze(this.currentPano,z)&&j.setOpacity(0),j.lookAt(this.camera.position)}else j.setOpacity(0)}}for(var q=this.intersect(e),_=0,H=this.works.resolvedObservers;_<H.length;_++){var G=H[_];(j=this.panoMeshes[G.panoId])&&(j.setCurrent(j===q),j.updateTime&&j.updateTime(e,t))}F===this.camera.pose.longitude&&D===this.camera.pose.latitude||(this.cameraMotion.set(eo(this.camera.pose,["longitude","latitude"]),0).catch(fe),this.emit("camera.update",ss("camera.update",{userAction:!0,state:ie(ie(ie({},this.currentPano),{mode:this.mode}),hs(this.camera.pose))})))}},t.prototype.render=function(){this.cardboard.render(this.scene,this.camera)},t.prototype.setCamera=function(e){},t.prototype.destroyHelper=function(){},t.prototype.setHelperElementSize=function(){if(this.helperElement){var e=new n.Vector2(this.element.offsetWidth,this.element.offsetHeight),t=e.x*this.scissor.left,r=e.y*(1-this.scissor.bottom-this.scissor.height),i=e.x*this.scissor.width,o=e.y*this.scissor.height;this.helperElement.style.marginLeft=t+"px",this.helperElement.style.marginTop=r+"px",this.helperElement.style.width=i+"px",this.helperElement.style.height=o+"px"}},t.prototype.intersect=function(e){var t,r;if(!1===this.locationMotion.ended)return this.intersectMesh.visible=!1,delete this.activePanoMesh,void delete this.activeTime;if(this.activePanoMesh&&this.activeTime&&e-this.activeTime>1500){for(var i=this.activePanoMesh,o=null,a=0,s=Object.keys(this.panoMeshes);a<s.length;a++){var l=s[a];if(this.panoMeshes[l]===i){o=l;break}}return null!==o&&this.moveToPano(Je(o),{},!0),delete this.activePanoMesh,delete this.activeTime,i}for(var c=this.camera.getDirection(new n.Vector3),u=new n.Raycaster(this.camera.position,c),d=void 0,p=[],h=this.works.getResolvedObserver(this.currentPano),f=0,v=h?h.visibleIds:[];f<v.length;f++){o=v[f];var m=this.panoMeshes[o],A=u.intersectObject(null!==(t=m.hitTestMesh)&&void 0!==t?t:m,!0)[0];A&&p.push({panoMesh:m,intersection:ie({floor:null!==(r=null==h?void 0:h.floorIndex)&&void 0!==r?r:0},A)})}var g=p.sort((function(e,t){return e.intersection.distance-t.intersection.distance}))[0];g?(d=g.intersection,this.activePanoMesh!==g.panoMesh&&(this.activePanoMesh=g.panoMesh,this.activeTime=e),this.intersectMesh.position.copy(g.panoMesh.position),this.intersectMesh.lookAt(this.camera.position),this.intersectMesh.visible=!1):(this.activePanoMesh=void 0,this.activeTime=void 0),d||(d=this.models.intersectRaycaster(u)[0]);var y=ss("intersect.update",{raycaster:u,intersection:null!=d?d:null,object:this.intersectMesh});if(this.emit("intersect.update",y),!y.defaultPrevented){if(d&&d.face){var b=d.face.normal,x=new n.Quaternion;x.setFromUnitVectors(new n.Vector3(0,0,1),b),this.intersectMesh.quaternion.copy(x);var w=b.clone().multiplyScalar(.05),E=d.point.clone().add(w);this.intersectMesh.position.copy(E),this.intersectMesh.visible=!0}else this.intersectMesh.visible=!1;return null==g?void 0:g.panoMesh}this.hideIntersectMesh()},t.prototype.onPanGesture=function(){},t.prototype.onTapGesture=function(){},t.prototype.onPinchGesture=function(){},t.prototype.onMouseMove=function(){},t.prototype.onMouseOut=function(){},t}(il),Vl=new n.Vector3(0,1.6,0),zl=function(e){function t(r){var n,i=this,o=t.parseArgs(r);return(i=e.call(this,o)||this).mode="Model",i.locationMotion=new Oa({x:i.camera.pose.offset.x,y:i.camera.pose.offset.y,z:i.camera.pose.offset.z,distance:i.camera.pose.distance,modelAlpha:null!==(n=i.models.getMaterial().modelAlpha)&&void 0!==n?n:0,perspToOrtho:i.camera.perspToOrtho.x,orthoDistance:i.camera.orthoDistance}),i}return ne(t,e),t.parseArgs=function(r){return r instanceof t?r:e.parseArgs.call(this,r)},t.initAnimationEndState=function(e){var t,r,i,o,a,s,l=this.parseArgs(e),c=l.works,u=e.initial,d=u.state,p=u.currentState,h="number"==typeof d.panoIndex?{workCode:null!==(i=null!==(t=d.workCode)&&void 0!==t?t:null===(r=l.works[0])||void 0===r?void 0:r.workCode)&&void 0!==i?i:"",panoIndex:d.panoIndex}:{workCode:p.workCode,panoIndex:p.panoIndex},f=c.getResolvedObserver(h),v=null!==(o=d.longitude)&&void 0!==o?o:p.longitude,m=jr(null!==(a=d.latitude)&&void 0!==a?a:!f||ga(p.mode)?p.latitude:l.defaultLatitude,l.minLatitude,l.maxLatitude),A=jr(null!==(s=d.fov)&&void 0!==s?s:!f||ga(p.mode)?p.fov:l.defaultFov,l.minFov,l.maxFov),g=new n.Vector3;if(l.initial.state.offset)g.copy(l.initial.state.offset);else if(f)g.copy(f.position);else{var y=Wt(p).setLength(p.distance);g.copy(l.initial.currentState.offset).sub(y)}return{workCode:h.workCode,panoIndex:h.panoIndex,mode:"Model",longitude:v,latitude:m,fov:A,offset:g,distance:0}},t.prototype.destroy=function(){e.prototype.destroy.call(this),this.locationMotion.dispose()},t.prototype.isReady=function(){return!1!==this.locationMotion.ended},t.prototype.updateWork=function(e,r,n,i){this.works=e;var o=t.initAnimationEndState(ie(ie({},this),{initial:{currentState:ie(ie({},this.currentPano),this.camera.pose),duration:n,state:r,userAction:i}}));this.hideIntersectMesh();var a={duration:0,longitude:o.longitude,latitude:o.latitude,fov:o.fov};return this.moveToPosition(o.offset,a,i),!0},t.prototype.updateCamera=function(e,t,r){var n=this;return this.initAnimationReady.then((function(){n.userAction=r,n.stopMomentumMovement();var i={},o={};return i.orthoDistance=1,i.distance=0,i.modelAlpha=1,i.perspToOrtho=0,void 0!==e.offset&&(i.x=e.offset.x,i.y=e.offset.y,i.z=e.offset.z),void 0!==e.longitude&&(o.longitude=e.longitude),void 0!==e.latitude&&(o.latitude=e.latitude),void 0!==e.fov&&(o.fov=e.fov),n.locationMotion.set(i,t).catch(fe),n.cameraMotion.set(o,t).catch(fe)}))},t.prototype.updateCameraWithKeyframes=function(e,t,r){var n=this;return this.initAnimationReady.then((function(){n.userAction=r,n.stopMomentumMovement();for(var i=[],o=[],a=0,s=e;a<s.length;a++){var l=s[a];i.push({key:l.key,progress:l.progress,value:{orthoDistance:1,distance:0,modelAlpha:1,perspToOrtho:0,x:l.value.offset.x,y:l.value.offset.x,z:l.value.offset.x}}),o.push({key:l.key,progress:l.progress,value:{longitude:l.value.longitude,latitude:l.value.latitude,fov:l.value.fov}})}return n.locationMotion.setKeyframes(i,t).catch(fe),n.cameraMotion.setKeyframes(e,t)}))},t.prototype.updateTime=function(e,t){if(!this.destroyed){var r={},i={};if(!this.locationMotion.ended){this.locationMotion.update(e),r.modelAlpha=this.locationMotion.value.modelAlpha,this.camera.perspToOrtho.setScalar(jr(this.locationMotion.value.perspToOrtho,0,1)),this.camera.orthoDistance=this.locationMotion.value.orthoDistance,i.distance=this.locationMotion.value.distance,i.offset=new n.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z);var o=new n.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z),a=ds(this.works.resolvedObservers,(function(e){return e.position.distanceTo(o)}));this.currentPano=a?{workCode:a.work.workCode,panoIndex:a.panoIndex}:{workCode:"",panoIndex:0}}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),ps(r)||this.models.setMaterial(r),ps(i)||this.setCamera(i)}},t.prototype.initAnimation=function(){var e=this;return this.destroyed?Promise.resolve():new Promise((function(r){var n=e.initial;n.state,n.currentState;var i=n.duration,o=n.userAction;e.userAction=o;var a=t.initAnimationEndState(e),s={longitude:a.longitude,latitude:a.latitude,fov:a.fov,duration:i,moveStartCallback:function(t){e.emit("initAnimation.start",ss("initAnimation.start",{state:t,userAction:e.userAction}))},moveEndCallback:function(t){e.emit("initAnimation.end",ss("initAnimation.end",{state:t,userAction:e.userAction})),r()},moveCancelCallback:function(){var t=e.currentPano,n=ie(ie({},t),{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",ss("initAnimation.end",{state:n,userAction:e.userAction})),r()}};e.moveToPosition(a.offset,s,o)}))},t.prototype.getTargetState=function(){var e=this.cameraMotion.getKeyFrameSegment(me())[1],t=this.locationMotion.getKeyFrameSegment(me())[1];return ie(ie({},this.currentPano),{mode:this.mode,longitude:e.value.longitude,latitude:e.value.latitude,fov:e.value.fov,offset:new n.Vector3(t.value.x,t.value.y,t.value.z),distance:t.value.distance})},t.prototype.moveToPano=function(e,t,r){void 0===t&&(t={});var n=this.works.getResolvedObserver(e);n&&this.moveToPosition(n.position,t,r)},t.prototype.moveToPosition=function(e,t,r){var i,o,a,s=this;void 0===t&&(t={}),this.userAction=r,this.stopMomentumMovement();for(var l=me(),c=new n.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z),u=c.distanceTo(e),d=this.locationMotion.getProgressVelocity(l),p=0,h=1;h<this.locationMotion.keyframes.length;h++){var f=this.locationMotion.keyframes[h-1].value,v=f.x,m=f.y,A=f.z,g=this.locationMotion.keyframes[h].value,y=g.x,b=g.y,x=g.z;p+=Math.sqrt(Math.pow(y-v,2)+Math.pow(b-m,2)+Math.pow(x-A,2))}var w=0===u?0:d*p/u,E=this.calculateMovingDuration(t.duration,u),M={x:e.x,y:e.y,z:e.z,distance:0,modelAlpha:1,perspToOrtho:0,orthoDistance:1},C={longitude:t.longitude,latitude:t.latitude,fov:t.fov},S=ds(this.works.resolvedObservers,(function(e){return e.position.distanceTo(c)})),I=S?{workCode:S.work.workCode,panoIndex:S.panoIndex}:{workCode:"",panoIndex:0},P=ie(ie({},I),{mode:this.mode,longitude:null!==(i=C.longitude)&&void 0!==i?i:this.camera.pose.longitude,latitude:null!==(o=C.latitude)&&void 0!==o?o:this.camera.pose.latitude,fov:null!==(a=C.fov)&&void 0!==a?a:this.camera.pose.fov,offset:e.clone(),distance:0}),T=this.currentPano;this.emit("pano.moveTo",ss("pano.moveTo",{options:t,prevPano:T,progress:0,state:P,userAction:this.userAction,error:null})),t.moveStartCallback&&t.moveStartCallback(P),this.cameraMotion.set(C,E).catch(fe),this.locationMotion.set(M,E,w).then((function(){var e=ie(ie(ie({},I),{mode:s.mode}),hs(s.camera.pose));s.emit("pano.arrived",ss("pano.arrived",{options:t,prevPano:T,progress:0,state:e,userAction:s.userAction,error:null})),t.moveEndCallback&&t.moveEndCallback(e)}),(function(){t.moveCancelCallback&&t.moveCancelCallback(),s.emit("pano.cancel",ss("pano.cancel",{options:t,prevPano:T,progress:0,state:P,userAction:s.userAction,error:null}))}))},t.prototype.onTapGesture=function(e){var t=e.center.raycaster;this.stopMomentumMovement();var r=this.models.intersectRaycaster(t)[0];if(r&&r.face){var i=r.face.normal,o=r.point;if(new n.Vector3(0,1,0).angleTo(i)>Math.PI/3){var a=i.clone().setLength(.3).add(o);t.set(a,new n.Vector3(0,-1,0)),r=this.models.intersectRaycaster(t)[0]}}if(r){var s=(new n.Vector3).copy(r.point).add(Vl),l=ds(this.works.resolvedObservers,(function(e){return e.position.distanceTo(s)}),!0),c=l[0],u=l[1];c&&u<5&&(s.y=c.position.y),e.state.offset.copy(s),e.state.distance=0,this.emit("gesture.tap",e),e.defaultPrevented||this.moveToPosition(s,{},!0)}else this.emit("gesture.tap",e),e.defaultPrevented||this.cameraBounce()},t}(Cs),jl=function(){return arguments[0].split("").map((function(e){return e.charCodeAt(0)>126?e:String.fromCharCode((e.charCodeAt(0)+113)%126)})).join("")}("{vs|z-rp@-}n{|]|vv|{H{vs|z-znA-}n{|ZnvH{vs|z-nz}yr?Q-}n{|Qv}ynprzr{Zn}H<<{vs|z-sy|n-pnyrHn\bv{t-rp@-}n{|d|yq]|vv|{H<<-n\bv{t-sy|n-vU|yrHp|{-sy|n-]V-J-@;>A>BF?CHp|{-sy|n-aNb-J-C;?E@>EB?Hp|{-sy|n-pnyr-J->@;>Hrp?-|P||q5rp@-rp|6-\n--sy|n--J-yr{tu5rp|6H--sy|n-urn-J-np|5:rp|;\b-<-6H--sy|n-}uv-J-nn{5rp|;9-rp|;\t6H--r{-rp?5=;B-8-}uv-<-aNb9-urn-<-]V6H\f|vq-znv{56-\n--rpA-|yq]|vv|{-J-z|qryZnv-7-rpA5}|vv|{9->;=6H--}n{|d|yq]|vv|{-J-5rpA5|yq]|vv|{;\b\t9->;=6-7-}n{|Znv6;\b\tH--rp?-p||q-J-|P||q5}n{|d|yq]|vv|{6H--sy|n-qvn{pr-J-pnyrH--vs-5p||q;\b-I-=;>B6-\n----rp?-n{s|zrqP||q-J-rp?5p||q;9-=;=6H----rpA-}n{|Qv}ynprzr{-J-rr?Q5}n{|Qv}ynprzr{Zn}9-n{s|zrqP||q6H----qvn{pr-J-pnyr-7-}n{|Qv}ynprzr{;H----qvn{pr-J-qvn{pr-7-p|5]V-7-5=;>B-:-p||q;\b66H----qvn{pr-J-pnyrH--\f-ryr-vs-5p||q;\b-KJ-=;>B-33-p||q;\b-IJ-=;EB6-\n----rp?-n{s|zrqP||q-J-rp?5p||q;9-5p||q;\b-:-=;>B6-<-=;D6H----rpA-}n{|Qv}ynprzr{-J-rr?Q5}n{|Qv}ynprzr{Zn}9-n{s|zrqP||q6H----vs5-}n{|Qv}ynprzr{;-JJ-=;=6\n------qvn{pr-J-pnyrH----\fryr\n------qvn{pr-J-pnyr-7-}n{|Qv}ynprzr{;H----\f--\f-ryr-\n----rp?-n{s|zrqP||q-J-rp?5p||q;9->;=6H----rpA-}n{|Qv}ynprzr{-J-rr?Q5}n{|Qv}ynprzr{Zn}9-n{s|zrqP||q6H----qvn{pr-J-pnyr-7-}n{|Qv}ynprzr{;H----qvn{pr-J-qvn{pr-7-p|5]V-7-5p||q;\b-:-=;EB66H----qvn{pr-J-pnyrH--\f--rpA-ry]|vv|{-J-rpA5}|vv|{-8-}n{|]|vv|{-8-{|znyv\tr5|yq]|vv|{;\b\t6-7-qvn{pr9->;=6H--tyl]|vv|{-J-}|wrpv|{Znv-7-z|qrycvrZnv-7-ry]|vv|{H\f"),Ul=function(){return arguments[0].split("").map((function(e){return e.charCodeAt(0)>126?e:String.fromCharCode((e.charCodeAt(0)+113)%126)})).join("")}("{vs|z-sy|n-|}npv\bH{vs|z-nz}yrPor-}n{|Zn}H{vs|z-nz}yr?Q-}n{|Qv}ynprzr{Zn}Hn\bv{t-rp@-}n{|d|yq]|vv|{H|vq-znv{56-\n--rpA-}n{|P|y|-J-rrPor5}n{|Zn}9-}n{|d|yq]|vv|{;\b\t6H--tylSntP|y|-J-rpA5}n{|P|y|;to9-|}npv\b6H\f"),ql=Object.assign({opacity:new n.Uniform(1),scale:new n.Uniform(13.1),panoMap:new n.Uniform(null),panoDisplacementMap:new n.Uniform(null),panoPosition:new n.Uniform(new n.Vector3),panoMatrix:new n.Uniform(new n.Matrix4)},{emissive:new n.Uniform(new n.Color(0)),emissiveMap:new n.Uniform(null),specular:new n.Uniform(new n.Color(1118481)),specularMap:new n.Uniform(null),normalMap:new n.Uniform(null),bumpMap:new n.Uniform(null),shininess:new n.Uniform(30)},n.UniformsLib.common,n.UniformsLib.lights),_l=new n.SphereBufferGeometry(.01,128,128);var Hl=function(){function e(){this.textureLoader=new zt}return e.prototype.load=function(e,t,r,i,o,a,s){var l=[0,0],c=function(e,t){l[t]=e,a(.8*l[0]+.2*l[1])},u=[this.textureLoader.loadTexture(e,{imageURL:r.imageURL,viaAjax:!0,timeout:r.timeout,fetcher:r.fetcher},void 0,void 0,(function(e){return c(e,1)}),s),this.textureLoader.loadCubeTexture(t,{imageURL:r.imageURL,viaAjax:!0,timeout:r.timeout,fetcher:r.fetcher},void 0,void 0,(function(e){return c(e,0)}),s)];return Promise.all(u).then((function(e){var t=e[0],o=e[1],a=function(e,t,r,i){var o=new n.ShaderMaterial({side:n.BackSide,vertexShader:jl,fragmentShader:Ul,transparent:!0,uniforms:n.UniformsUtils.clone(ql)}),a=t;return a.needsUpdate=!0,a.minFilter=n.LinearFilter,a.magFilter=n.LinearFilter,e.needsUpdate=!0,e.minFilter=n.LinearFilter,e.magFilter=n.LinearFilter,o.uniforms.opacity.value=0,o.uniforms.panoMap.value=a,o.uniforms.panoDisplacementMap.value=e,o.uniforms.panoPosition.value=r,o.uniforms.panoMatrix.value=i,Object.assign(new n.Mesh(_l,o),{frustumCulled:!1,dispose:function(){this.material instanceof n.ShaderMaterial&&(this.material.uniforms.panoDisplacementMap.value.dispose(),this.material.uniforms.panoDisplacementMap.value=null,this.material.dispose())}})}(t.body,o.body,r.position,r.matrix),s={body:a,meta:ce([t.meta],o.meta,!0)};return i(s),s})).catch((function(e){for(var t=0,r=u;t<r.length;t++){r[t].then((function(e){return e.body.dispose()})).catch(fe)}return o(e),Promise.reject(e)}))},e}(),Gl=new n.Vector3(-1,1,1),Kl=function(e){function t(r){var i,o,a,s=this,l=t.parseArgs(r);s=e.call(this,l)||this;var c=l.initial;return c.state,c.currentState,s.maxAccessibleDistance=l.maxAccessibleDistance,s.panoTapTriggerRadius=l.panoTapTriggerRadius,s.panoCircleMeshCreator=l.panoCircleMeshCreator,s.panoModelGroup=new n.Group,s.panoModelGroup.name="panoModels",s.scene.add(s.panoModelGroup),s.panoMeshes={},s.updatePanoMeshes(),s.helper.remove(s.intersectMesh),s.locationMotion=new Oa({count:0,distance:s.camera.pose.distance,modelAlpha:null!==(i=s.models.getMaterial().modelAlpha)&&void 0!==i?i:0,perspToOrtho:s.camera.perspToOrtho.x,orthoDistance:s.camera.orthoDistance}),s.panoResources={},s.panoResources[s.locationMotion.keyframes[0].key=s.locationMotion.keyframes[1].key=Ka()]={panoId:Xe(s.currentPano),matrix:null!==(a=null===(o=s.models.getMaterial().pano1)||void 0===o?void 0:o.matrix)&&void 0!==a?a:new n.Matrix4,position:s.camera.pose.offset.clone(),effect:"fly"},s.depthTextureLoader=new Hl,s}return ne(t,e),t.parseArgs=function(r){var n,i,o;if(r instanceof t)return r;var a=e.parseArgs.call(this,r);return ie(ie({},a),{maxAccessibleDistance:null!==(n=r.maxAccessibleDistance)&&void 0!==n?n:5,panoTapTriggerRadius:null!==(i=r.panoTapTriggerRadius)&&void 0!==i?i:1,panoCircleMeshCreator:null!==(o=r.panoCircleMeshCreator)&&void 0!==o?o:function(e){return new Qa}})},t.initAnimationEndState=function(t){var r=this.parseArgs(t),n=e.initAnimationEndState.call(this,r);return ie(ie({},n),{mode:"DepthPanorama"})},t.prototype.destroy=function(){var t;if(e.prototype.destroy.call(this),this.locationMotion.dispose(),delete this.pendingTextureTask,this.panoModelGroup){for(var r=0,n=this.panoModelGroup.children;r<n.length;r++){var i=n[r];"function"==typeof i.dispose&&i.dispose()}this.scene.remove(this.panoModelGroup)}if(this.panoMeshes)for(var o=0,a=Object.keys(this.panoMeshes);o<a.length;o++){var s=a[o],l=this.panoMeshes[s];this.helper.remove(l),l.dispose(),delete this.panoMeshes[s]}for(var c=null!==(t=this.models.getMaterial())&&void 0!==t?t:{},u=c.pano0,d=c.pano1,p=0,h=Object.keys(this.panoResources);p<h.length;p++){var f=h[p],v=this.panoResources[f];v.panoModel&&v.panoModel.material.uniforms.panoMap.value!==(null==u?void 0:u.map)&&v.panoModel.material.uniforms.panoMap.value!==(null==d?void 0:d.map)&&(this.panoModelGroup.remove(v.panoModel),v.panoModel.material.uniforms.panoMap.value.dispose(),v.panoModel.dispose(),delete v.panoModel),delete this.panoResources[f]}},t.prototype.isReady=function(){return!1===this.locationMotion.ended&&e.prototype.isReady.call(this)},t.prototype.updateWork=function(e,r,n,i){this.userAction=i,this.works=e;var o=t.initAnimationEndState(ie(ie({},this),{initial:{currentState:ie(ie({},this.currentPano),this.camera.pose),duration:n,state:r,userAction:i}})),a={workCode:o.workCode,panoIndex:o.panoIndex};return this.hideIntersectMesh(),this.updatePanoMeshes(),this.moveToPano(a,{effect:"fade",duration:n,longitude:r.longitude,latitude:r.latitude,fov:r.fov},i),!0},t.prototype.updateTime=function(e,t){var r,i,o=this;if(!this.destroyed){var a={},s={},l=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),c=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),u=!1;if(!1===this.cameraMotion.ended&&(this.cameraMotion.update(e),s.longitude=this.cameraMotion.value.longitude,s.latitude=this.cameraMotion.value.latitude,s.fov=this.cameraMotion.value.fov),!1===this.locationMotion.ended){this.locationMotion.update(e);var d=this.locationMotion.getKeyFrameSegment(e),p=d[0],h=d[1],f=this.panoResourceFromLocationMotionKeyframe(p),v=this.panoResourceFromLocationMotionKeyframe(h),m=(new n.Vector3).copy(f.position),A=(new n.Vector3).copy(v.position),g=this.locationMotion.value.count-h.value.count+1;a.progress=g,a.modelAlpha=this.locationMotion.value.modelAlpha,this.camera.perspToOrtho.setScalar(jr(this.locationMotion.value.perspToOrtho,0,1)),this.camera.orthoDistance=this.locationMotion.value.orthoDistance;for(var y=0,b=this.panoModelGroup.children;y<b.length;y++){var x=b[y];x.visible=x===f.panoModel||x===v.panoModel}f.panoModel&&(f.panoModel.material.uniforms.opacity.value=1-g,f.panoModel.material.depthTest=0!==g),v.panoModel&&(v.panoModel.material.uniforms.opacity.value=g,v.panoModel.material.depthTest=1!==g),v.panoModel&&(g<1?f.panoModel&&(a.pano0={map:f.panoModel.material.uniforms.panoMap.value,luminanceMap:null,matrix:f.matrix}):a.pano0={map:v.panoModel.material.uniforms.panoMap.value,luminanceMap:null,matrix:v.matrix},a.pano1={map:v.panoModel.material.uniforms.panoMap.value,luminanceMap:null,matrix:v.matrix}),u=a.useBlackTransition="instant"===v.effect||"montage"===v.effect,"fade"!==v.effect&&"montage"!==v.effect||(a.pano0&&(a.pano0={map:a.pano0.map,luminanceMap:null,matrix:f.matrix.clone().setPosition(v.position)}),m.copy(A)),s.distance=this.locationMotion.value.distance,s.offset=new n.Vector3(m.x+(A.x-m.x)*g,m.y+(A.y-m.y)*g,m.z+(A.z-m.z)*g);for(var w=[],E=[],M=0,C=this.locationMotion.keyframes;M<C.length;M++){var S=C[M],I=S.key,P=S.progress;void 0!==I&&(w.push(I),P>=this.locationMotion.progress&&E.push(I))}for(var T=0,B=Object.keys(this.panoResources);T<B.length;T++){var R=B[T];if(!(E.indexOf(R)>=0)){var k=this.panoResources[R];if(k.panoModel){if(k.panoModel.material.uniforms.panoMap.value===(null===(r=a.pano0)||void 0===r?void 0:r.map))continue;if(k.panoModel.material.uniforms.panoMap.value===(null===(i=a.pano1)||void 0===i?void 0:i.map))continue;this.panoModelGroup.remove(k.panoModel),k.panoModel.material.uniforms.panoMap.value.dispose(),k.panoModel.dispose(),delete k.panoModel}w.indexOf(R)>=0||delete this.panoResources[R]}}this.currentPano=Je(v.panoId),this.emit("pano.moving",ss("pano.moving",{userAction:this.userAction,prevPano:Je(l.panoId),state:ie(ie(ie(ie({},Je(c.panoId)),{mode:this.mode}),hs(this.camera.pose)),s),options:{},progress:this.locationMotion.progress,error:null}))}!1===ps(a)&&this.models.setMaterial(a),!1===ps(s)&&this.setCamera(s);var O=this.works.getResolvedObserver(this.currentPano),F=this.locationMotion.ended?this.getForwardObserverOrNot():null;if(this.camera.pose.distance>.1||u){if(O)for(var D=0,Q=Object.keys(this.panoMeshes);D<Q.length;D++){var L=Q[D];(_=this.panoMeshes[L]).setOpacity(0),_.setCurrent(!1),_.updateTime&&_.updateTime(e,t)}}else if(O){var N=ds(O.visibleIds,(function(e){var t=o.works.getResolvedObserver(e);return t?O.standingPosition.distanceTo(t.standingPosition):1/0}),!0),V=N[1];V=jr(V,2.5,1/0);for(var z=O.visibleIds.concat(Xe(this.currentPano)),j=this.camera.getDirection(new n.Vector3),U=0,q=Object.keys(this.panoMeshes);U<q.length;U++){L=q[U];var _=this.panoMeshes[L],H=this.works.getResolvedObserver(L);if(-1===z.indexOf(L))_.setCurrent(!1),_.setOpacity(0);else if(H)if(H.loadable||H.active){var G=_.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);_.setCurrent(!_.loading&&0===_.progress&&null!==F&&F.panoId===L),_.setOpacity(G<.01?0:jr(V/G*1.2,.4,.85));var K=this.camera.position.clone().setY(_.position.y),W=(new n.Vector3).copy(_.position).sub(K).normalize();if(L===Xe(this.currentPano)){var Y=jr((.5-K.distanceTo(_.position))/.5,0,1);W.multiplyScalar(1-Y).add(j.clone().multiplyScalar(Y))}W.length()>0&&_.quaternion.setFromEuler(new n.Euler(0,Math.atan2(W.x,W.z),0))}else _.setCurrent(!1),_.setOpacity(0);else _.setCurrent(!1),_.setOpacity(0);_.updateTime&&_.updateTime(e,t)}}}},t.prototype.getTargetState=function(){var e=this.cameraMotion.getKeyFrameSegment(me())[1],t=this.locationMotion.getKeyFrameSegment(me())[1],r=this.panoResourceFromLocationMotionKeyframe(t),n=this.works.getResolvedObserver(r.panoId);return{mode:this.mode,workCode:n?n.work.workCode:this.currentPano.workCode,panoIndex:n?n.pano.panoIndex:this.currentPano.panoIndex,longitude:e.value.longitude,latitude:e.value.latitude,fov:e.value.fov,offset:n?n.position.clone():this.camera.position.clone(),distance:0}},t.prototype.moveToPano=function(e,t,r){var i,o=this;void 0===t&&(t={});var a=this.works.getResolvedObserver(e);if(!a)throw new Error("panoId ".concat(JSON.stringify(e)," is not found."));this.userAction=r;var s=a.images.depth,l=ie({key:"pano.".concat(a.panoId)},eo(this.imageOptions,["format","size","quality","sharpen","mappings"])),c=this.imageOptions.transform,u=a.images,d=a.position,p=a.quaternion,h=(new n.Matrix4).compose(d,p,new n.Vector3(-1,1,1)),f="pano:"+ro(u);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===f)return;var v=this.pendingTextureTask.panoId,m=Je(v);null===(i=this.panoMeshes[v])||void 0===i||i.setProgress(0),this.emit("pano.texture.abort",ss("pano.texture.abort",{error:null,progress:0,meta:null,pano:m})),this.pendingTextureTask.onError(new Error("pano ".concat(JSON.stringify(m)," texture aborted")))}var A="move-to-pano-"+a.panoId;this.pending.add(A),this.pendingTextureTask={panoId:a.panoId,hash:f,onLoad:function(e){o.pending.delete(A),o.destroyed?e.body.dispose():(e.body.name=f,o.doMoveToPano(a.pano,e.body,t))},onError:function(e){o.pending.delete(A);var r=ie(ie(ie({},a.pano),{mode:o.mode}),hs(o.camera.pose));o.emit("pano.error",ss("pano.error",{error:e,userAction:o.userAction,options:t,prevPano:o.currentPano,progress:0,state:r})),o.emit("pano.cancel",ss("pano.cancel",{error:null,userAction:o.userAction,options:t,prevPano:o.currentPano,progress:0,state:r})),t.moveCancelCallback&&t.moveCancelCallback()}};var g=this.panoMeshes[a.panoId];g&&g.tap&&g.tap(),this.depthTextureLoader.load(s,u,{imageURL:{transform:c,options:l},position:d,matrix:h,fetcher:ua(a.work)},(function(e){var t,r;(null===(t=o.pendingTextureTask)||void 0===t?void 0:t.hash)===f?(o.pendingTextureTask.onLoad(e),null===(r=o.panoMeshes[a.panoId])||void 0===r||r.setProgress(0),delete o.pendingTextureTask,o.emit("pano.texture.success",ss("pano.texture.success",{error:null,progress:1,meta:e.meta,pano:a.pano}))):e.body.dispose()}),(function(e){var t,r;(null===(t=o.pendingTextureTask)||void 0===t?void 0:t.hash)===f&&(o.pendingTextureTask.onError(e),null===(r=o.panoMeshes[a.panoId])||void 0===r||r.setProgress(0),delete o.pendingTextureTask,o.emit("pano.texture.error",ss("pano.texture.error",{error:e,progress:0,meta:null,pano:a.pano})),o.emit("error",e))}),(function(e){var t,r;o.emit("pano.texture.progress",ss("pano.texture.progress",{error:null,progress:e,meta:null,pano:a.pano})),(null===(t=o.pendingTextureTask)||void 0===t?void 0:t.hash)===f&&(null===(r=o.panoMeshes[a.panoId])||void 0===r||r.setProgress(e))}),this.renderer),this.emit("pano.texture.load",ss("pano.texture.load",{error:null,progress:0,meta:null,pano:a.pano}))},t.prototype.initAnimation=function(){var e=this;return this.destroyed?Promise.resolve():new Promise((function(r){var n=e.initial;n.state,n.currentState;var i=n.duration,o=n.userAction,a=t.initAnimationEndState(e),s={workCode:a.workCode,panoIndex:a.panoIndex},l=!1;e.userAction=o,e.moveToPano(s,{longitude:a.longitude,latitude:a.latitude,fov:a.fov,duration:i,moveStartCallback:function(t){l=!0,e.emit("initAnimation.start",ss("initAnimation.start",{state:t,userAction:o}))},moveEndCallback:function(t){e.emit("initAnimation.end",ss("initAnimation.end",{state:t,userAction:e.userAction})),r()},moveCancelCallback:function(){var t=ie(ie(ie({},s),{mode:e.mode}),hs(e.camera.pose));!1===l&&e.emit("initAnimation.start",ss("initAnimation.start",{state:t,userAction:e.userAction})),e.emit("initAnimation.end",ss("initAnimation.end",{state:t,userAction:e.userAction})),r()}},o)}))},t.prototype.panoResourceFromLocationMotionKeyframe=function(e){return this.panoResources[e.key]},t.prototype.locationMotionKeyframesLength=function(e){for(var t=0,r=1;r<e.length;r++){var n=this.panoResourceFromLocationMotionKeyframe(e[r-1]).position,i=this.panoResourceFromLocationMotionKeyframe(e[r]).position;t+=n.distanceTo(i)*(e[r].value.count-e[r-1].value.count)}return t},t.prototype.updatePanoMeshes=function(){for(var e=this,t={},r=0,n=Object.keys(this.panoMeshes);r<n.length;r++){var i=n[r],o=this.panoMeshes[i];t[i]=o,delete this.panoMeshes[i]}for(var a=1,s={},l=function(t){var r=ds(t.accessibleIds,(function(r){var n=e.works.getResolvedObserver(r);return n?jr(n.standingPosition.distanceTo(t.standingPosition),1,1/0):1/0}),!0)[1];void 0===s[t.panoId]&&(s[t.panoId]=r)},c=0,u=this.works.resolvedObservers;c<u.length;c++){l(f=u[c])}var d=Object.keys(s).map((function(e){return s[e]}));d.length&&(a=jr(.6*(d.reduce((function(e,t){return e+t}),0)/d.length),1,3));for(var p=0,h=this.works.resolvedObservers;p<h.length;p++){var f;o=void 0;t[(f=h[p]).panoId]?(!0===(o=t[f.panoId]).loading&&!1===f.loadable&&o.setLoading(!1),delete t[f.panoId]):((o=this.panoCircleMeshCreator(f.pano)).name="PanoCircleMesh_"+f.panoId,this.helper.remove(o)),o.scale.set(a,1,a),o.position.copy(f.standingPosition),this.panoMeshes[f.panoId]=o}for(var v=0,m=Object.keys(t);v<m.length;v++){var A=m[v];this.helper.remove(t[A]),t[A].dispose(),delete t[A]}},t.prototype.doMoveToPano=function(e,t,r){var i,o,a,s,l=this;void 0===r&&(r={});var c=me(),u=Ka(),d=this.works.getResolvedObserver(e);if(!d)throw new Error("panoId ".concat(JSON.stringify(e)," never found"));var p=this.panoResources[u]={panoId:d.panoId,effect:null!==(i=r.effect)&&void 0!==i?i:"fly",panoModel:t,matrix:(new n.Matrix4).compose(d.position,d.quaternion,Gl),position:d.position.clone()};t.visible=!1,t.renderOrder=-1,this.panoModelGroup.add(t);var h,f,v;if(this.locationMotion.ended){var m=this.locationMotion.getKeyFrameSegment(c);m[0];var A=m[1],g=this.locationMotion.value,y=this.panoResourceFromLocationMotionKeyframe(A).position,b=p.position;h=Math.max(y.distanceTo(b),1),f=[{key:A.key,progress:0,value:ie(ie({},g),{count:0})},{key:u,progress:1,value:{distance:0,perspToOrtho:0,modelAlpha:0,orthoDistance:1,count:1}}],v=0}else{var x=this.locationMotion.getKeyFrameSegment(c),w=x[0],E=(A=x[1],g=this.locationMotion.value,this.panoResourceFromLocationMotionKeyframe(w).position),M=(y=this.panoResourceFromLocationMotionKeyframe(A).position,b=p.position,A.value.count-g.count),C=Math.max(E.distanceTo(y),1)*M;h=C+Math.max(y.distanceTo(b),1),f=[{key:w.key,progress:0,value:ie({},g)},{key:A.key,progress:C/h,value:A.value},{key:u,progress:1,value:{count:A.value.count+1,distance:0,perspToOrtho:0,orthoDistance:1,modelAlpha:0}}];var S=this.locationMotionKeyframesLength(this.locationMotion.keyframes),I=this.locationMotionKeyframesLength(f);v=0===S||0===S?0:this.locationMotion.getProgressVelocity(c)*S/I}var P=this.calculateMovingDuration(r.duration,"fade"===r.effect||"montage"===r.effect?0:h),T={longitude:r.longitude,latitude:r.latitude,fov:r.fov},B=ie(ie({},e),{mode:this.mode,longitude:null!==(o=T.longitude)&&void 0!==o?o:this.camera.pose.longitude,latitude:null!==(a=T.latitude)&&void 0!==a?a:this.camera.pose.latitude,fov:null!==(s=T.fov)&&void 0!==s?s:this.camera.pose.fov,offset:d.position.clone(),distance:this.camera.pose.distance}),R=this.currentPano;this.emit("pano.moveTo",ss("pano.moveTo",{options:r,prevPano:R,progress:0,state:B,userAction:this.userAction,error:null})),r.moveStartCallback&&r.moveStartCallback(B),this.cameraMotion.set(T,P).catch(fe),this.locationMotion.setKeyframes(f,P,v).then((function(){var t=ie(ie({},e),{mode:l.mode,longitude:l.camera.pose.longitude,latitude:l.camera.pose.latitude,fov:l.camera.pose.fov,offset:l.camera.pose.offset.clone(),distance:l.camera.pose.distance});l.emit("pano.arrived",ss("pano.arrived",{options:r,prevPano:R,progress:1,state:t,userAction:l.userAction,error:null})),r.moveEndCallback&&r.moveEndCallback(t)}),(function(){l.emit("pano.cancel",ss("pano.cancel",{options:r,prevPano:R,progress:0,state:B,userAction:l.userAction,error:null})),r.moveCancelCallback&&r.moveCancelCallback()}))},t.prototype.getForwardObserverOrNot=function(e){var t=this,r=this.camera.getDirection(new n.Vector3),i=this.camera.position.clone(),o=this.works.getResolvedObserver(this.currentPano);if(!o)return null;var a=o.accessibleIds.filter((function(e){if(e===Xe(t.currentPano))return!1;var r=t.works.getResolvedObserver(e);if(!r)return!1;var o=r.standingPosition.clone().sub(i);return 0!==o.length()&&(!(o.angleTo(new n.Vector3(0,-1,0))<Math.PI/12)&&(r.loadable||r.active))})),s=(e?e.ray.direction.clone():r.clone()).setY(0);if(0===s.length())return null;for(var l=a.slice().sort((function(e,r){var n=t.works.getResolvedObserver(e).position.clone().setY(i.y),o=t.works.getResolvedObserver(r).position.clone().setY(i.y);return n.distanceTo(i)-o.distanceTo(i)})),c=0,u=[Math.PI/8,Math.PI/6,Math.PI/4,Math.PI/3];c<u.length;c++)for(var d=u[c],p=0,h=l;p<h.length;p++){var f=h[p],v=this.works.getResolvedObserver(f);if(v){var m=v.position.clone().setY(i.y).sub(i);if(m&&0!==m.length()&&s.angleTo(m)<d)return v}}return null},t.prototype.onTapGesture=function(e){var t,r=this;this.userAction=e.userAction,this.stopMomentumMovement();var i=e.center.raycaster,o=this.camera.getDirection(new n.Vector3).setY(0),a=null,s=this.works.getResolvedObserver(this.currentPano);if(s){var l=s.accessibleIds.filter((function(e){if(e===Xe(r.currentPano))return!1;var t=r.works.getResolvedObserver(e);return!!t&&(!(t.position.distanceTo(r.camera.position)>r.maxAccessibleDistance)&&(t.loadable||t.active))})),c=i.intersectObject(this.boundingMesh,!0)[0];if(c){var u=ds(l,(function(e){var t=r.works.getResolvedObserver(e).standingPosition.clone();return t.clone().sub(r.camera.position).setY(0).angleTo(o)>Math.PI/2?1/0:t.distanceTo(c.point)}),!0),d=u[0],p=u[1];d&&p<this.panoTapTriggerRadius&&(a=null!==(t=this.works.getResolvedObserver(d))&&void 0!==t?t:null)}a||(a=this.getForwardObserverOrNot(i));for(var h=0,f=this.locationMotion.keyframes;h<f.length;h++){var v=f[h],m=this.panoResourceFromLocationMotionKeyframe(v);if(!(v.progress<this.locationMotion.progress)&&(a&&m.panoId===a.panoId)){a=null;break}}if(a){for(var A={},g=Math.PI/6,y=Math.PI/12,b=new n.Vector3(0,1,0),x=a.position.clone().setY(0).sub(s.position.clone().setY(0)).normalize(),w=x.clone().applyAxisAngle(b,g),E=x.clone().applyAxisAngle(b,-g),M=[],C=[],S=[],I=0,P=a.accessibleIds;I<P.length;I++){var T=Je(d=P[I]);if(!Ze(T,this.currentPano)&&!Ze(T,a.pano)){var B=this.works.getResolvedObserver(d);if(B){var R=B.position.clone().sub(a.position).setY(0);x.angleTo(R)<g?S.push(R):w.angleTo(R)<g?M.push(R):E.angleTo(R)<g&&C.push(R)}}}var k=(S.length>0?S:ce(ce([],M,!0),C,!0)).slice().sort((function(e,t){return e.angleTo(x)-t.angleTo(x)}))[0];k&&k.angleTo(o)>y&&(A.longitude=Math.atan2(-k.x,-k.z)),this.cameraMotion.value.latitude<-Math.PI/4&&(A.latitude=jr(0,this.minLatitude,this.maxLatitude));var O=ie({},e.state);if(O.workCode=a.pano.workCode,O.panoIndex=a.pano.panoIndex,void 0!==A.longitude&&(O.longitude=A.longitude),void 0!==A.latitude&&(O.latitude=A.latitude),void 0!==A.fov&&(O.fov=A.fov),O.distance=0,O.offset=a?a.position.clone():new n.Vector3,e.state=O,this.emit("gesture.tap",e),!e.defaultPrevented){if(this.emit("pano.select",ss("pano.select",{prevPano:this.currentPano,state:O,userAction:e.userAction,options:A,progress:0,error:null})),a&&!a.active){var F=a.panoId;this.panoMeshes[F]&&(this.panoMeshes[F].setDisabled(!1),this.panoMeshes[F].setLoading(!0))}a&&a.active&&this.emit("pano.request",ss("pano.request",{userAction:!0,prevPano:this.currentPano,progress:0,state:O,options:A,error:null}))}}else this.emit("gesture.tap",e),e.defaultPrevented||!0===this.locationMotion.ended&&this.cameraBounce()}},t}(Cs),Wl=function(){return arguments[0].split("").map((function(e){return e.charCodeAt(0)>126?e:String.fromCharCode((e.charCodeAt(0)+113)%126)})).join("")}("}rpvv|{-zrqvz}-sy|nH}rpvv|{-zrqvz}-v{Hnvor-rp@-}|vv|{Hnvor-rp?-H{vs|z-znA-}|wrpv|{ZnvH{vs|z-znA-z|qrycvrZnvHn\bv{t-rp?-bH|vq-znv{56-\nb-J-HrpA-z]|vv|{-J-z|qrycvrZnv-7-rpA5}|vv|{9>;=6Htyl]|vv|{-J-}|wrpv|{Znv-7-z]|vv|{H\f"),Yl=function(){return arguments[0].split("").map((function(e){return e.charCodeAt(0)>126?e:String.fromCharCode((e.charCodeAt(0)+113)%126)})).join("")}("0rr{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\n--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\n----rp?-[rvtuo|-J-b-8-_nqv-7-{rvtuo|hvjH----sy|n-{rvtuo|Qr}u-J-rr?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\n------vs5qr}u-JJ-=;=6\n--------z-8J->==;=H------\fryr\n--------z-8J-zn5=;=9-qr}u-:-{rvtuo|Qr}u6H------\f----\f--\f--r{-z-<-sy|n5[RVTUO\\b_lP\\b[a6H\f|vq-znv{56\n--rpA-pRQY-J-rr?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}5:r-7-@==;=-7-rqy`r{tu6H--tylSntP|y|-J-rpA5pRQY;to-7-unqr9-|}npv\b6H--\n-<<-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-}\t-J-q};\t-<-q};H----sy|n-sntQr}u-J-5}\t-8->;=6-<-?;=H----<<-tylSntQr}uRea-J-sntQr}uH--\f--vs5qr}u-JJ-=;=6\n----qvpnqH--\f\f"),Xl=function(e){function t(t){var r=e.call(this)||this;return r.uniforms={screenWidth:Jl("f",0),screenHeight:Jl("f",0),edlStrength:Jl("f",1),uNear:Jl("f",1),uFar:Jl("f",1),radius:Jl("f",1),neighbours:Jl("2fv",new Float32Array),depthMap:Jl("t",new n.Texture),uEDLColor:Jl("t",new n.Texture),uEDLDepth:Jl("t",new n.Texture),opacity:Jl("f",1),uProj:Jl("Matrix4fv",new Float32Array)},r.neighbourCount=8,r.updateShaderSource(),r.transparent=!0,r}return ne(t,e),t.prototype.getUniform=function(e){return void 0===this.uniforms?void 0:this.uniforms[e].value},t.prototype.setUniform=function(e,t){void 0!==this.uniforms&&(this.uniforms[e].value=t)},t.prototype.getDefines=function(){var e="";return e+="#define NEIGHBOUR_COUNT "+this.neighbourCount+"\n"},t.prototype.updateShaderSource=function(){var e=this.getDefines()+Wl,t=this.getDefines()+Yl;this.setValues({vertexShader:e,fragmentShader:t}),this.needsUpdate=!0},oe([Zl("screenWidth"),ae("design:type",Number)],t.prototype,"screenWidth",void 0),oe([Zl("screenHeight"),ae("design:type",Number)],t.prototype,"screenHeight",void 0),oe([Zl("edlStrength"),ae("design:type",Number)],t.prototype,"edlStrength",void 0),oe([Zl("uNear"),ae("design:type",Number)],t.prototype,"uNear",void 0),oe([Zl("uFar"),ae("design:type",Number)],t.prototype,"uFar",void 0),oe([Zl("radius"),ae("design:type",Number)],t.prototype,"radius",void 0),oe([Zl("neighbours",!0),ae("design:type",Float32Array)],t.prototype,"neighbours",void 0),oe([Zl("depthMap"),ae("design:type",n.Texture)],t.prototype,"depthMap",void 0),oe([Zl("uEDLColor"),ae("design:type",n.Texture)],t.prototype,"uEDLColor",void 0),oe([Zl("uEDLDepth"),ae("design:type",n.Texture)],t.prototype,"uEDLDepth",void 0),oe([Zl("uProj"),ae("design:type",Array)],t.prototype,"uProj",void 0),t}(n.RawShaderMaterial);function Jl(e,t){return{type:e,value:t}}function Zl(e,t){return void 0===t&&(t=!1),function(r,n){Object.defineProperty(r,n,{get:function(){return this.getUniform(e)},set:function(r){r!==this.getUniform(e)&&(this.setUniform(e,r),t&&this.updateShaderSource())}})}}var $l=new n.OrthographicCamera(-1,1,1,-1,0,1),ec=new n.BufferGeometry;ec.setAttribute("position",new n.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3)),ec.setAttribute("uv",new n.Float32BufferAttribute([0,2,0,0,2,0],2));var tc=new n.Mesh(ec),rc=new n.Scene;rc.add(tc);var nc=function(e){function t(t,r,i,o){var a=e.call(this,t,r,i,o)||this;return a.sharedV2=new n.Vector2,a.renderer=t,a.material=new Xl,tc.material=a.material,a}return ne(t,e),t.prototype.render=function(e){var t=this.camera,r=this.material.uniforms,n=this.renderer.getSize(this.sharedV2);r.screenWidth.value=n.x,r.screenHeight.value=n.y;var i=t.projectionMatrix,o=new Float32Array(16);o.set(i.elements);for(var a=new Float32Array(2*this.material.neighbourCount),s=0;s<this.material.neighbourCount;s++)a[2*s+0]=Math.cos(2*s*Math.PI/this.material.neighbourCount),a[2*s+1]=Math.sin(2*s*Math.PI/this.material.neighbourCount);r.neighbours.value=a,r.uNear.value=t.near,r.uFar.value=t.far,r.uEDLColor.value=e[0].texture,r.uProj.value=o,r.edlStrength.value=.25,r.radius.value=1,r.opacity.value=1,this.renderer.setRenderTarget(null),this.renderer.render(rc,$l)},t.prototype.dispose=function(){this.copyPass.dispose()},t}(Qs),ic=function(){return arguments[0].split("").map((function(e){return e.charCodeAt(0)>126?e:String.fromCharCode((e.charCodeAt(0)+113)%126)})).join("")}("}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-\nsy|n-qr}u-J-rr?Q5Qr}uZn}9-b6;Hvs5qr}u-KJ->;=6\nqvpnqH\frpA-p|y|-J-rr?Q5drvtuZn}9-b6H-p|y|-J-p|y|-<-p|y|;HtylSntP|y|-J-rpA5p|y|;\b\t9->;=6H-\f"),oc=function(){return arguments[0].split("").map((function(e){return e.charCodeAt(0)>126?e:String.fromCharCode((e.charCodeAt(0)+113)%126)})).join("")}("}rpvv|{-zrqvz}-sy|nH}rpvv|{-zrqvz}-v{Hnvor-rp@-}|vv|{Hnvor-rp?-H{vs|z-znA-}|wrpv|{ZnvH{vs|z-znA-z|qrycvrZnvHn\bv{t-rp?-bH|vq-znv{56-\nb-J-Htyl]|vv|{-J-}|wrpv|{Znv-7-z|qrycvrZnv-7-rpA5}|vv|{9>;=6H\f"),ac=function(e){function t(t){var r=e.call(this,{vertexShader:oc,fragmentShader:ic})||this;return r.uniforms={uDepthMap:sc("t",null),uWeightMap:sc("t",null)},r.depthTest=!0,r.depthWrite=!0,r.opacity=1,r}return ne(t,e),t.prototype.getUniform=function(e){return void 0===this.uniforms?void 0:this.uniforms[e].value},t.prototype.setUniform=function(e,t){void 0!==this.uniforms&&(this.uniforms[e].value=t)},oe([lc("uDepthMap"),ae("design:type",Number)],t.prototype,"uDepthMap",void 0),oe([lc("uWeightMap"),ae("design:type",Number)],t.prototype,"uWeightMap",void 0),t}(n.RawShaderMaterial);function sc(e,t){return{type:e,value:t}}function lc(e,t){return void 0===t&&(t=!1),function(r,n){Object.defineProperty(r,n,{get:function(){return this.getUniform(e)},set:function(r){r!==this.getUniform(e)&&(this.setUniform(e,r),t&&this.updateShaderSource())}})}}var cc=new n.OrthographicCamera(-1,1,1,-1,0,1),uc=new n.BufferGeometry;uc.setAttribute("position",new n.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3)),uc.setAttribute("uv",new n.Float32BufferAttribute([0,2,0,0,2,0],2));var dc=new n.Mesh(uc),pc=new n.Scene;pc.add(dc);var hc=function(e){function t(t,r,i,o){var a=e.call(this,t,r,i,o)||this;return a.sharedV2=new n.Vector2,a.renderer=t,a.material=new ac,a.scene=r,a.camera=i,dc.material=a.material,a}return ne(t,e),t.prototype.render=function(e){var t=this.material.uniforms;this.models.setMaterial({useHQWeight:!0,useHQDepth:!1}),this.renderer.setRenderTarget(e[1]),this.models.update(this.renderer,this.camera,"Mapview"),this.renderer.autoClearDepth=!1,this.renderer.setClearAlpha(0),this.renderer.render(this.scene,this.camera),t.uWeightMap.value=e[1].texture,t.uDepthMap.value=e[0].depthTexture,this.renderer.setRenderTarget(null),this.renderer.autoClearDepth=!0,this.renderer.setClearAlpha(1),this.renderer.render(pc,cc),this.models.setMaterial({useHQWeight:!1,useHQDepth:!0}),this.models.update(this.renderer,this.camera,"Mapview")},t.prototype.dispose=function(){this.copyPass.dispose()},t}(Qs),fc=function(e){function t(r){var i,o=this,a=t.parseArgs(r);return(o=e.call(this,a)||this).mode="Mapview",o.defaultLongitude=a.defaultLongitude,o.defaultLatitude=a.defaultLatitude,o.defaultDistance=a.defaultDistance,o.maxLatitude=a.maxLatitude,o.minLatitude=a.minLatitude,o.locationMotion=new Oa({x:o.camera.pose.offset.x,y:o.camera.pose.offset.y,z:o.camera.pose.offset.z,distance:o.camera.pose.distance,modelAlpha:null!==(i=o.models.getMaterial().modelAlpha)&&void 0!==i?i:0,perspToOrtho:o.camera.perspToOrtho.x,orthoDistance:o.camera.orthoDistance}),o.intersectMeshCreator=a.intersectMeshCreator,o.intersectMesh=o.intersectMeshCreator(),o.intersectMesh.name="intersect",o.intersectMesh.visible=!1,o.currentTapId=null,o.helper.add(o.intersectMesh),o.edlTarget=new n.WebGLRenderTarget(1024,1024,{minFilter:n.NearestFilter,magFilter:n.NearestFilter,format:n.RGBAFormat,type:n.FloatType,depthTexture:new n.DepthTexture(1024,1024,n.UnsignedIntType)}),o.edlEffect=new nc(o.renderer,o.scene,o.camera,o.models),o.hqEffect=new hc(o.renderer,o.scene,o.camera,o.models),o}return ne(t,e),t.parseArgs=function(r){var n,i,o,a,s,l;if(r instanceof t)return r;var c=e.parseArgs.call(this,r);return ie(ie({},c),{defaultLongitude:null!==(n=r.defaultLongitude)&&void 0!==n?n:Math.PI/4,defaultLatitude:null!==(i=r.defaultLatitude)&&void 0!==i?i:Math.PI/4,defaultDistance:null!==(o=r.defaultDistance)&&void 0!==o?o:150,maxLatitude:null!==(a=r.maxLatitude)&&void 0!==a?a:+Math.PI/2,minLatitude:null!==(s=r.minLatitude)&&void 0!==s?s:0,intersectMeshCreator:null!==(l=r.intersectMeshCreator)&&void 0!==l?l:function(){return new Ha}})},t.distanceFromModel=function(e,t,r){var n=e.bounding,i=Math.pow(Math.pow(n.max.x-n.min.x+1,2)+Math.pow(n.max.y-n.min.y+1,2)+Math.pow(n.max.z-n.min.z+1,2),.5),o=i/2/Math.tan(Math.PI*t/360);return r<1&&(o/=r),isNaN(o)?i:o},t.initAnimationEndState=function(e){var r,i,o,a,s,l,c,u=this.parseArgs(e),d=u.works,p=u.models,h=e.initial,f=h.state,v=h.currentState,m="number"==typeof f.panoIndex?{workCode:null!==(o=null!==(r=f.workCode)&&void 0!==r?r:null===(i=u.works[0])||void 0===i?void 0:i.workCode)&&void 0!==o?o:"",panoIndex:f.panoIndex}:{workCode:v.workCode,panoIndex:v.panoIndex},A=d.getResolvedObserver(m),g=null!==(a=f.fov)&&void 0!==a?a:40,y=jr(null!==(s=f.latitude)&&void 0!==s?s:Aa(v.mode)?v.latitude:u.defaultLatitude,u.minLatitude,u.maxLatitude),b=t.distanceFromModel(u.models,g,u.camera.aspect),x=new n.Vector3,w=null!==(l=f.distance)&&void 0!==l?l:Math.min(u.defaultDistance,b),E=null!==(c=f.longitude)&&void 0!==c?c:Aa(v.mode)?v.longitude:u.defaultLongitude;return f.offset?x.copy(f.offset):u.defaultDistance<b&&A?(x.copy(A.position),void 0===f.longitude&&(E=v.longitude)):x.copy(p.bounding.getCenter(x)),p.bounding.containsPoint(x)||p.bounding.getCenter(x),ie(ie({},m),{mode:"Mapview",longitude:E,latitude:y,fov:g,offset:x,distance:w})},t.prototype.destroy=function(){e.prototype.destroy.call(this),this.locationMotion.dispose(),delete this.panState,this.intersectMesh.dispose(),this.helper.remove(this.intersectMesh)},t.prototype.isReady=function(){return!1!==this.locationMotion.ended&&e.prototype.isReady.call(this)},t.prototype.updateWork=function(e,r,n,i){this.userAction=i,this.works=e;var o=t.initAnimationEndState(ie(ie({},this),{initial:{currentState:ie(ie({},this.currentPano),this.camera.pose),duration:n,state:r,userAction:i}}));this.currentPano={workCode:o.workCode,panoIndex:o.panoIndex};var a={longitude:o.longitude,latitude:o.latitude,fov:o.fov},s={x:o.offset.x,y:o.offset.y,z:o.offset.z,distance:o.distance,orthoDistance:o.distance};return this.locationMotion.set(s,n).catch(fe),this.cameraMotion.set(a,n).catch(fe),!0},t.prototype.updateModel=function(t){e.prototype.updateModel.call(this,t)},t.prototype.updateCamera=function(e,t,r){var n=this;return this.initAnimationReady.then((function(){n.userAction=r,n.stopMomentumMovement();var i={},o={};return i.modelAlpha=1,i.perspToOrtho=0,void 0!==e.distance&&(i.distance=e.distance,i.orthoDistance=e.distance),void 0!==e.offset&&(i.x=e.offset.x,i.y=e.offset.y,i.z=e.offset.z),void 0!==e.longitude&&(o.longitude=e.longitude),void 0!==e.latitude&&(o.latitude=e.latitude),void 0!==e.fov&&(o.fov=e.fov),n.locationMotion.set(i,t).catch(fe),n.cameraMotion.set(o,t).catch(fe)}))},t.prototype.updateCameraWithKeyframes=function(e,t,r){var n=this;return this.initAnimationReady.then((function(){n.userAction=r,n.stopMomentumMovement();for(var i=[],o=[],a=0,s=e;a<s.length;a++){var l=s[a];i.push({key:l.key,progress:l.progress,value:{distance:l.value.distance,orthoDistance:l.value.distance,modelAlpha:1,perspToOrtho:0,x:l.value.offset.x,y:l.value.offset.x,z:l.value.offset.x}}),o.push({key:l.key,progress:l.progress,value:{longitude:l.value.longitude,latitude:l.value.latitude,fov:l.value.fov}})}return n.locationMotion.setKeyframes(i,t).catch(fe),n.cameraMotion.setKeyframes(e,t)}))},t.prototype.updateTime=function(e,t){if(!this.destroyed){var r={},i={};this.locationMotion.ended||(this.locationMotion.update(e),r.modelAlpha=this.locationMotion.value.modelAlpha,this.camera.perspToOrtho.setScalar(jr(this.locationMotion.value.perspToOrtho,0,1)),this.camera.orthoDistance=this.locationMotion.value.orthoDistance,i.distance=this.locationMotion.value.distance,i.offset=new n.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z)),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),ps(r)||this.models.setMaterial(r),ps(i)||this.setCamera(i)}},t.prototype.getTargetState=function(){var e=this.cameraMotion.getKeyFrameSegment(me())[1],t=this.locationMotion.getKeyFrameSegment(me())[1];return ie(ie({},this.currentPano),{mode:this.mode,longitude:e.value.longitude,latitude:e.value.latitude,fov:e.value.fov,distance:t.value.distance,offset:new n.Vector3(t.value.x,t.value.y,t.value.z)})},t.prototype.initAnimation=function(){var e=this;return this.destroyed?Promise.resolve():new Promise((function(r){var n=e.initial;n.state,n.currentState;var i=n.duration,o=n.userAction;e.userAction=o;var a=t.initAnimationEndState(e),s={longitude:a.longitude,latitude:a.latitude,fov:a.fov},l={x:a.offset.x,y:a.offset.y,z:a.offset.z,distance:a.distance,modelAlpha:1,perspToOrtho:0,orthoDistance:a.distance};e.emit("initAnimation.start",ss("initAnimation.start",{state:a,userAction:e.userAction})),e.cameraMotion.set(s,i).catch(fe),e.locationMotion.set(l,i).then((function(){e.emit("initAnimation.end",ss("initAnimation.end",{state:a,userAction:e.userAction}))}),(function(t){var r=ie(ie(ie({},e.currentPano),{mode:e.mode}),hs(e.camera.pose));e.emit("initAnimation.end",ss("initAnimation.end",{state:r,userAction:e.userAction}))})).then((function(){r()}))}))},t.prototype.getForwardObserverOrNot=function(e){var t=this.models.intersectRaycaster(e)[0];if(!t)return null;var r=ds(this.works.resolvedObservers,(function(e){return e.standingPosition.distanceTo(t.point)}),!0),n=r[0],i=r[1];return n&&i<10?n:null},t.prototype.coordinatesForOffset=function(e){var t=this.renderer.getSize(new n.Vector2);return{longitude:-2*e.x/(t.x*this.scissor.width),latitude:2*e.y/(t.y*this.scissor.height)}},t.prototype.requestMomentumMovement=function(e,t,r,i){var o=this;if(null!==this.inMomentumMovement){for(var a=ie({},r),s={longitude:0,latitude:0,x:0,y:0,z:0},l=0;l<i;l++)a.longitude*=.996,a.latitude*=.994008,a.x*=.99,a.y*=.99,a.z*=.99,s.longitude+=a.longitude,s.latitude+=a.latitude,s.x+=a.x,s.y+=a.y,s.z+=a.z;var c=ts(this.cameraMotion.value.longitude+s.longitude),u=jr(this.cameraMotion.value.latitude+s.latitude,this.minLatitude,this.maxLatitude),d=jr(this.locationMotion.value.x+s.x,this.models.bounding.min.x,this.models.bounding.max.x),p=jr(this.locationMotion.value.y+s.y,this.models.bounding.min.y,this.models.bounding.max.y),h=jr(this.locationMotion.value.z+s.z,this.models.bounding.min.z,this.models.bounding.max.z),f=ie(ie({},this.currentPano),{mode:this.mode,longitude:c,latitude:u,offset:new n.Vector3(d,p,h),fov:this.cameraMotion.value.fov,distance:this.camera.pose.distance}),v=!(Math.abs(a.longitude)>1e-4||Math.abs(a.latitude)>1e-4||Math.abs(a.x)>1e-4||Math.abs(a.y)>1e-4||Math.abs(a.z)>1e-4),m=ss("gesture.momentum",ie(ie({},e),{isFirst:t,isFinal:v,state:f}));this.inMomentumMovement.event=m,this.emit("gesture.momentum",m),e.defaultPrevented?this.inMomentumMovement=null:this.inMomentumMovement&&(this.cameraMotion.set({longitude:c,latitude:u},0).catch(fe),this.locationMotion.set({x:f.offset.x,y:f.offset.y,z:f.offset.z},0).catch(fe),v?this.inMomentumMovement=null:Ne.shared.add((function(t,r){o.requestMomentumMovement(e,!1,a,0|r)}),!0,1))}},t.prototype.fixFinalState=function(e){var t=Wt(e,new n.Vector3),r=(new n.Vector3).copy(e.offset).sub(t.clone().multiplyScalar(e.distance)),i=new n.Raycaster(r,t);i.near=.5;var o=this.models.intersectRaycaster(i)[0];if(!o&&i.ray.direction.y<-.3){var a=new n.Plane(new n.Vector3(0,1,0),0),s=i.ray.intersectPlane(a,new n.Vector3);if(s){var l=s.distanceTo(i.ray.origin);l<1e4&&l>=i.near&&(o={distance:l,floor:0,point:s})}}o&&(e.distance=jr(o.distance,0,1/0),e.offset.copy(r).add(t.clone().multiplyScalar(e.distance)))},t.prototype.onPanGesture=function(e){this.userAction=e.userAction,this.stopMomentumMovement(),this.hideIntersectMesh();var t=e.pointers.length,r=this.panState,i=0;"mouse"===e.pointerType&&(i=e.srcEvent.buttons),r&&0===i&&0!==r.buttons&&(i=r.buttons);var o=null==r?void 0:r.target;if(!o){var a=this.relativeClientPosition(e.center),s=new n.Raycaster;s.setFromCamera(a,this.camera),s.near=.5,o=(new n.Vector3).copy(s.ray.direction).multiplyScalar(3).add(s.ray.origin);var l=this.models.intersectRaycaster(s)[0];if(!l&&s.ray.direction.y<-.3){var c=new n.Plane(new n.Vector3(0,1,0),0),u=s.ray.intersectPlane(c,new n.Vector3);if(u){var d=u.distanceTo(s.ray.origin);d<1e4&&d>=s.near&&(l={distance:d,floor:0,point:u})}}if(l)o.copy(l.point);else{var p=(new n.Vector3).copy(this.camera.pose.offset).sub(this.camera.position);c=(new n.Plane).setFromNormalAndCoplanarPoint(p,this.camera.pose.offset);s.ray.intersectPlane(c,o)}}if(e.isFinal?delete this.panState:this.panState={target:o,buttons:i,pointerLength:t,x:e.center.x,y:e.center.y},void 0!==r&&r.pointerLength===t)if(t>1||2===i){var h={x:e.center.x-r.x,y:e.center.y-r.y},f=new n.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z),v=Wt(this.cameraMotion.value).setLength(this.locationMotion.value.distance).add(f),m=(new n.Vector3).copy(v).sub(r.target).length();m*=Math.tan(this.camera.pose.fov/2*Math.PI/180);var A=this.renderer.getSize(new n.Vector2),g=2*h.x*m/A.y,y=2*h.y*m/A.y,b=new n.Vector3;b.setFromMatrixColumn(this.camera.matrix,0),b.multiplyScalar(-g),f.add(b),this.camera.pose.latitude<Math.PI/12?b.setFromMatrixColumn(this.camera.matrix,1):(b.setFromMatrixColumn(this.camera.matrix,0),b.crossVectors(this.camera.up,b)),b.multiplyScalar(y),f.add(b),f.clamp(this.models.bounding.min,this.models.bounding.max);var x=ie(ie({},this.currentPano),{mode:this.mode,longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,offset:f,distance:this.camera.pose.distance});if(e.state=x,this.emit("gesture.pan",e),e.defaultPrevented)return;if(this.locationMotion.set({x:x.offset.x,y:x.offset.y,z:x.offset.z},0).catch(fe),e.isFinal&&(this.fixFinalState(x),this.locationMotion.set({distance:x.distance,orthoDistance:x.distance,x:x.offset.x,y:x.offset.y,z:x.offset.z},0).catch(fe)),e.isFinal){var w=this.renderer.getSize(new n.Vector2),E=2*e.velocityX*m/w.y,M=2*e.velocityY*m/w.y,C=new n.Vector3,S=new n.Vector3;C.setFromMatrixColumn(this.camera.matrix,0),C.multiplyScalar(-E),S.add(C),this.camera.pose.latitude<Math.PI/4?C.setFromMatrixColumn(this.camera.matrix,1):(C.setFromMatrixColumn(this.camera.matrix,0),C.crossVectors(this.camera.up,C)),C.multiplyScalar(M),S.add(C),this.inMomentumMovement={uuid:Ka()},this.requestMomentumMovement(e,!0,{longitude:0,latitude:0,x:S.x,y:S.y,z:S.z},0)}}else{h={x:e.center.x-r.x,y:e.center.y-r.y};var I=this.coordinatesForOffset(h),P=ts(this.cameraMotion.value.longitude+I.longitude),T=jr(this.cameraMotion.value.latitude+I.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&&(T=this.cameraMotion.value.latitude);x=ie(ie({},this.currentPano),{mode:this.mode,longitude:P,latitude:T,fov:this.camera.pose.fov,offset:this.camera.pose.offset,distance:this.camera.pose.distance});if(e.isFinal&&this.fixFinalState(x),e.state=x,this.emit("gesture.pan",e),e.defaultPrevented)return;if(e.isFinal?this.locationMotion.set({distance:x.distance,orthoDistance:x.distance,x:x.offset.x,y:x.offset.y,z:x.offset.z},0).catch(fe):this.cameraMotion.set({longitude:x.longitude,latitude:x.latitude},0).catch(fe),e.isFinal){var B=e.velocityX,R=e.velocityY;this.inMomentumMovement={uuid:Ka()},this.requestMomentumMovement(e,!0,ie(ie({},this.coordinatesForOffset({x:B,y:R})),{x:0,y:0,z:0}),0)}}},t.prototype.onPinchGesture=function(e){var t;this.userAction=e.userAction,this.stopMomentumMovement(),this.hideIntersectMesh();var r=null===(t=this.pinchState)||void 0===t?void 0:t.distance;if(e.isFirst)this.pinchState={x:e.center.x,y:e.center.y,scale:1,distance:this.locationMotion.value.distance};else{if(e.isFinal)return delete this.panState,void delete this.pinchState;if(void 0!==r){var i,o=2*this.models.bounding.getCenter(new n.Vector3).distanceTo(this.models.bounding.min),a=jr(r/e.scale,0,1/0),s=e.state.offset.clone().sub(Wt(e.state).setLength(a));!this.models.bounding.containsPoint(s)&&this.pinchState&&this.pinchState.scale>e.scale&&a>o?i=e.state.distance:(i=a,this.pinchState&&(this.pinchState.scale=e.scale)),e.state.distance=i,this.emit("gesture.pinch",e),e.defaultPrevented||(this.locationMotion.set({distance:i,orthoDistance:i},0).catch(fe),"mouse"!==e.pointerType&&(e.type="gesture.pan",this.onPanGesture(e)))}}},t.prototype.onMouseMove=function(e){var t,r;if(this.intersectMesh.parent&&!(this.panState||this.pinchState||this.mouseWheelState||(this.emit("gesture.mousemove",e),e.defaultPrevented))){var i=e.center.raycaster;if(i.near=.5,e.isFinal&&this.intersectMesh.parent&&!0===this.intersectMesh.visible)this.hideIntersectMesh();else{var o=this.models.intersectRaycaster(i)[0],a=ss("intersect.update",{raycaster:i,intersection:null!=o?o:null,object:this.intersectMesh});if(this.emit("intersect.update",a),a.defaultPrevented)this.hideIntersectMesh();else if(o){var s=null!==(r=null===(t=o.face)||void 0===t?void 0:t.normal)&&void 0!==r?r:(new n.Vector3).copy(i.ray.direction).multiplyScalar(-1),l=s.clone().multiplyScalar(.05),c=o.point.clone().add(l);this.intersectMesh.position.copy(c);var u=c.clone().add(l);if(this.intersectMesh.lookAt(u),Math.abs(s.y)>.99){var d=this.camera.position.clone().sub(c);this.intersectMesh.rotation.z=-Math.atan2(d.z,d.x)}this.intersectMesh.visible=!0,this.needsRender=!0}else this.hideIntersectMesh()}}},t.prototype.onMouseWheel=function(e){if(this.userAction=e.userAction,this.stopMomentumMovement(),this.hideIntersectMesh(),e.isFinal){var t=e.state;if(this.fixFinalState(t),this.emit("gesture.mousewheel",e),e.defaultPrevented)return;var r={x:t.offset.x,y:t.offset.y,z:t.offset.z,distance:t.distance,orthoDistance:t.distance};this.locationMotion.set(r,0).catch(fe)}else{var i=e.center.delta/2*Math.max(Math.log(this.locationMotion.value.distance),1),o=2*this.models.bounding.getCenter(new n.Vector3).distanceTo(this.models.bounding.min),a=jr(this.locationMotion.value.distance-i,0,1/0),s=e.state.offset.clone().sub(Wt(e.state).setLength(a)),l=!this.models.bounding.containsPoint(s)&&i<0&&a>o?e.state.distance:a;if(e.state.distance=a,this.emit("gesture.mousewheel",e),e.defaultPrevented)return;this.locationMotion.set({distance:l,orthoDistance:l},0).catch(fe)}},t.prototype.onTapGesture=function(e){var t=this;this.userAction=e.userAction,this.stopMomentumMovement();var r=e.center.raycaster,i=this.getForwardObserverOrNot(r);if(i){var o={longitude:this.camera.pose.longitude,latitude:0},a=ie(ie({},e.state),{mode:"Panorama",workCode:i.pano.workCode,panoIndex:i.pano.panoIndex,longitude:o.longitude,latitude:o.latitude,offset:i?i.position.clone():new n.Vector3,distance:0});if(e.state=a,this.emit("gesture.tap",e),!e.defaultPrevented&&(this.emit("pano.select",ss("pano.select",{prevPano:this.currentPano,state:a,userAction:e.userAction,options:o,progress:0,error:null})),i&&i.active)){var s=this.currentTapId=Ka();this.preloadPano(i.pano).then((function(e){t.currentTapId===s&&t.emit("pano.request",ss("pano.request",{userAction:!0,prevPano:t.currentPano,progress:0,state:a,options:o,error:null}))}))}}else this.emit("gesture.tap",e)},t.prototype.hideIntersectMesh=function(){this.intersectMesh.visible=!1,this.needsRender=!0},t.prototype.postProcessing=function(e,t){var r;if(!this.destroyed)return"edl"===t?this.edlEffect.render(e):"hq"===t?null===(r=this.hqEffect)||void 0===r?void 0:r.render(e):void 0},t}(ms);function vc(e){return null==e}var mc={type:"move"},Ac=function(){function e(){this._targetRay=null,this._grip=null,this._hand=null,this._axes=[0,0]}return e.prototype.getHandSpace=function(){return null===this._hand&&(this._hand=new n.Group,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand},e.prototype.getTargetRaySpace=function(){return null===this._targetRay&&(this._targetRay=new n.Group,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new n.Vector3,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new n.Vector3),this._targetRay},e.prototype.getGripSpace=function(){return null===this._grip&&(this._grip=new n.Group,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new n.Vector3,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new n.Vector3),this._grip},e.prototype.dispatchEvent=function(e){return null!==this._targetRay&&this._targetRay.dispatchEvent(e),null!==this._grip&&this._grip.dispatchEvent(e),null!==this._hand&&this._hand.dispatchEvent(e),this},e.prototype.disconnect=function(e){return this.dispatchEvent({type:"disconnected",data:e}),null!==this._targetRay&&(this._targetRay.visible=!1),null!==this._grip&&(this._grip.visible=!1),null!==this._hand&&(this._hand.visible=!1),this},e.prototype.getAxes=function(){return this._axes},e.prototype.update=function(e,t,r){var i=null,o=null,a=null,s=this._targetRay,l=this._grip,c=this._hand;if(e&&e.gamepad&&e.gamepad.axes&&(this._axes=[e.gamepad.axes[2],e.gamepad.axes[3]]),e&&"visible-blurred"!==t.session.visibilityState)if(null!==s&&null!==(i=t.getPose(e.targetRaySpace,r))&&(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(mc)),c&&e.hand){a=!0;for(var u=0,d=e.hand.values();u<d.length;u++){var p=d[u],h=t.getJointPose(p,r);if(void 0===c.joints[p.jointName]){var f=new n.Group;f.matrixAutoUpdate=!1,f.visible=!1,c.joints[p.jointName]=f,c.add(f)}var v=c.joints[p.jointName];null!==h&&(v.matrix.fromArray(h.transform.matrix),v.matrix.decompose(v.position,v.rotation,v.scale),v.jointRadius=h.radius),v.visible=null!==h}var m=c.joints["index-finger-tip"],A=c.joints["thumb-tip"],g=m.position.distanceTo(A.position);c.inputState.pinching&&g>.025?(c.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!c.inputState.pinching&&g<=.015&&(c.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else null!==l&&e.gripSpace&&null!==(o=t.getPose(e.gripSpace,r))&&(l.matrix.fromArray(o.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),o.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(o.linearVelocity)):l.hasLinearVelocity=!1,o.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(o.angularVelocity)):l.hasAngularVelocity=!1);return null!==s&&(s.visible=null!==i),null!==l&&(l.visible=null!==o),null!==c&&(c.visible=null!==a),this},e}(),gc=function(){function e(e,t,r){var i,o,a,s,l;this.isPanorama=null===(i=null==r?void 0:r.isPanorama)||void 0===i||i,this.machineType=null!==(o=null==r?void 0:r.machineType)&&void 0!==o?o:"Pico",this.renderer=e,this.gl=t,this.enabled=!1,this.session=null,this.referenceSpaceType=null!==(a=null==r?void 0:r.referenceSpaceType)&&void 0!==a?a:"local-floor",this.referenceSpace=null,this.onSessionStartCallback=null!==(s=null==r?void 0:r.onSessionStart)&&void 0!==s?s:fe,this.onSessionEndCallback=null!==(l=null==r?void 0:r.onSessionEnd)&&void 0!==l?l:fe,this.controllers=[new Ac,new Ac],this.inputSourcesMap=new Map,this.cameraVR=new n.ArrayCamera,this.cameraL=new n.PerspectiveCamera,this.cameraR=new n.PerspectiveCamera,this.cameraL.viewport=new n.Vector4,this.cameraR.viewport=new n.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 n.Vector3,this.cameraRPos=new n.Vector3}return e.prototype.getController=function(e){var t=this.controllers[e];return t||console.warn("no controller find"),t.getTargetRaySpace()},e.prototype.getRightController=function(){if(!this.session)return null;var e="right"===this.session.inputSources[0].handedness?0:1,t=this.controllers[e];return t||console.warn("no controller find"),t.getTargetRaySpace()},e.prototype.getLeftController=function(){if(!this.session)return null;var e="left"===this.session.inputSources[0].handedness?0:1,t=this.controllers[e];return t||console.warn("no controller find"),t.getTargetRaySpace()},e.prototype.getControllerGrip=function(e){var t=this.controllers[e];return t||console.warn("no controller find"),t.getGripSpace()},e.prototype.getCameras=function(){return{cameraL:this.cameraL,cameraR:this.cameraR,cameraVR:this.cameraVR}},e.prototype.updateCamera=function(e,t){null===t?e.matrixWorld.copy(e.matrix):e.matrixWorld.multiplyMatrices(t.matrixWorld,e.matrix),e.matrixWorldInverse.getInverse(e.matrixWorld)},e.prototype.setProjectionFromUnion=function(e,t,r){this.cameraLPos.setFromMatrixPosition(t.matrixWorld),this.cameraRPos.setFromMatrixPosition(r.matrixWorld);var n=this.cameraLPos.distanceTo(this.cameraRPos),i=t.projectionMatrix.elements,o=r.projectionMatrix.elements,a=i[14]/(i[10]-1),s=i[14]/(i[10]+1),l=(i[9]+1)/i[5],c=(i[9]-1)/i[5],u=(i[8]-1)/i[0],d=(o[8]+1)/o[0],p=a*u,h=a*d,f=n/(-u+d),v=f*-u;t.matrixWorld.decompose(e.position,e.quaternion,e.scale),e.translateX(v),e.translateZ(f),e.matrixWorld.compose(e.position,e.quaternion,e.scale),e.matrixWorldInverse.getInverse(e.matrixWorld);var m=a+f,A=s+f,g=p-v,y=h+(n-v),b=l*s/A*m,x=c*s/A*m;e.projectionMatrix.makePerspective(g,y,b,x,m,A)},e.prototype.getCamera=function(e){this.cameraVR.near=this.cameraR.near=this.cameraL.near=e.near,this.cameraVR.far=this.cameraR.far=this.cameraL.far=e.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 t=e.parent,r=this.cameraVR.cameras;this.updateCamera(this.cameraVR,t);for(var n=0;n<r.length;n++)this.updateCamera(r[n],t);e.matrixWorld.copy(this.cameraVR.matrixWorld);for(var i=e.children,o=(n=0,i.length);n<o;n++)i[n].updateMatrixWorld(!0);return 2===r.length?this.setProjectionFromUnion(this.cameraVR,this.cameraL,this.cameraR):this.cameraVR.projectionMatrix.copy(this.cameraL.projectionMatrix),this.cameraVR},e.prototype.updateInputSources=function(e){if(this.session){for(var t=this.session.inputSources,r=0;r<this.controllers.length;r++)this.inputSourcesMap.set(t[r],this.controllers[r]);for(r=0;r<e.removed.length;r++){var n=e.removed[r];(i=this.inputSourcesMap.get(n))&&(i.dispatchEvent({type:"disconnected",data:n}),this.inputSourcesMap.delete(n))}for(r=0;r<e.added.length;r++){var i;n=e.added[r];(i=this.inputSourcesMap.get(n))&&i.dispatchEvent({type:"connected",data:n})}}else console.warn("session is lose!")},e.prototype.onSessionEvent=function(e){var t=this.inputSourcesMap.get(e.inputSource);t&&t.dispatchEvent({type:e.type})},e.prototype.onSessionEnd=function(){this.inputSourcesMap.forEach((function(e,t){e.disconnect(t)})),this.inputSourcesMap.clear(),this.renderer.setFramebuffer(null),this.renderer.setRenderTarget(this.renderer.getRenderTarget()),this.isPresenting=!1,this.session=null,Ne.shared.setContext(null),this.onSessionEndCallback()},e.prototype.onRequestReferenceSpace=function(e){this.referenceSpace=e,this.isPresenting=!0,this.session&&this.onSessionStartCallback(this.session)},e.prototype.setSession=function(e){var t=this;if(this.session=e,this.session){this.session.addEventListener("select",(function(e){t.onSessionEvent(e)})),this.session.addEventListener("selectstart",(function(e){t.onSessionEvent(e)})),this.session.addEventListener("selectend",(function(e){t.onSessionEvent(e)})),this.session.addEventListener("squeeze",(function(e){t.onSessionEvent(e)})),this.session.addEventListener("squeezestart",(function(e){t.onSessionEvent(e)})),this.session.addEventListener("squeezeend",(function(e){t.onSessionEvent(e)})),this.session.addEventListener("end",(function(e){t.onSessionEnd()}));var r=this.gl.getContextAttributes();this.gl.makeXRCompatible().then((function(){var e={antialias:null==r?void 0:r.antialias,alpha:null==r?void 0:r.alpha,depth:null==r?void 0:r.depth,stencil:null==r?void 0:r.stencil,framebufferScaleFactor:1};if(t.session){switch(t.machineType){case"Pico":t.session.updateRenderState({baseLayer:new XRWebGLLayer(t.session,t.gl,e)});break;case"Oculus":t.session.updateRenderState({layers:[new XRWebGLLayer(t.session,t.gl,e)]});break;default:t.machineType}t.session.requestReferenceSpace(t.referenceSpaceType).then((function(e){t.onRequestReferenceSpace(e)})),t.session.addEventListener("inputsourceschange",(function(e){t.updateInputSources(e)}))}else console.error("session is lose while set session!")}))}},e}(),yc=function(e){function t(){var t=e.call(this)||this;t.type="LineSegmentsGeometry";return t.setIndex([0,2,1,2,3,1,2,4,3,4,5,3,4,6,5,6,7,5]),t.setAttribute("position",new n.Float32BufferAttribute([-1,2,0,1,2,0,-1,1,0,1,1,0,-1,0,0,1,0,0,-1,-1,0,1,-1,0],3)),t.setAttribute("uv",new n.Float32BufferAttribute([-1,2,1,2,-1,1,1,1,-1,-1,1,-1,-1,-2,1,-2],2)),t}return ne(t,e),t.prototype.applyMatrix4=function(e){var t=this.attributes.instanceStart,r=this.attributes.instanceEnd;return void 0!==t&&(t.applyMatrix4(e),r.applyMatrix4(e),t.needsUpdate=!0),null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this},t.prototype.setPositions=function(e){var t;t=e instanceof Float32Array?e:Array.isArray(e)?new Float32Array(e):new Float32Array;var r=new n.InstancedInterleavedBuffer(t,6,1);return this.setAttribute("instanceStart",new n.InterleavedBufferAttribute(r,3,0)),this.setAttribute("instanceEnd",new n.InterleavedBufferAttribute(r,3,3)),this.computeBoundingBox(),this.computeBoundingSphere(),this},t.prototype.setColors=function(e){var t;t=e instanceof Float32Array?e:Array.isArray(e)?new Float32Array(e):new Float32Array;var r=new n.InstancedInterleavedBuffer(t,6,1);return this.setAttribute("instanceColorStart",new n.InterleavedBufferAttribute(r,3,0)),this.setAttribute("instanceColorEnd",new n.InterleavedBufferAttribute(r,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 n.WireframeGeometry(e.geometry)),this},t.prototype.fromLineSegments=function(e){var t=e.geometry;if(t instanceof n.Geometry){var r=(new n.BufferGeometry).fromGeometry(t);this.setPositions(r.attributes.position.array)}else t instanceof n.BufferGeometry&&this.setPositions(t.attributes.position.array);return this},t.prototype.computeBoundingBox=function(){null===this.boundingBox&&(this.boundingBox=new n.Box3);var e=this.attributes.instanceStart,t=this.attributes.instanceEnd;if(void 0!==e&&void 0!==t){var r=new n.Box3;this.boundingBox.setFromBufferAttribute(e),r.setFromBufferAttribute(t),this.boundingBox.union(r)}},t.prototype.computeBoundingSphere=function(){null===this.boundingSphere&&(this.boundingSphere=new n.Sphere),null===this.boundingBox&&this.computeBoundingBox();var e=this.attributes.instanceStart,t=this.attributes.instanceEnd;if(void 0!==e&&void 0!==t){var r=this.boundingSphere.center;this.boundingBox.getCenter(r);for(var i=0,o=new n.Vector3,a=0,s=e.count;a<s;a++)o.fromBufferAttribute(e,a),i=Math.max(i,r.distanceToSquared(o)),o.fromBufferAttribute(t,a),i=Math.max(i,r.distanceToSquared(o));this.boundingSphere.radius=Math.sqrt(i),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}(n.InstancedBufferGeometry);Object.assign(yc.prototype,{isLineSegmentsGeometry:!0});var bc={uniforms:n.UniformsUtils.merge([n.UniformsLib.common,n.UniformsLib.fog,{linewidth:{value:1},resolution:{value:new n.Vector2(1,1)},dashScale:{value:1},dashSize:{value:1},gapSize:{value:1},opacity:{value:1}}]),vertexShader:"\n\t\t#include <common>\n\t\t#include <color_pars_vertex>\n\t\t#include <fog_pars_vertex>\n\t\t#include <logdepthbuf_pars_vertex>\n\t\t#include <clipping_planes_pars_vertex>\n\n\t\tuniform float linewidth;\n\t\tuniform vec2 resolution;\n\n\t\tattribute vec3 instanceStart;\n\t\tattribute vec3 instanceEnd;\n\n\t\tattribute vec3 instanceColorStart;\n\t\tattribute vec3 instanceColorEnd;\n\n\t\tvarying vec2 vUv;\n\n\t\t#ifdef USE_DASH\n\n\t\t\tuniform float dashScale;\n\t\t\tattribute float instanceDistanceStart;\n\t\t\tattribute float instanceDistanceEnd;\n\t\t\tvarying float vLineDistance;\n\n\t\t#endif\n\n\t\tvoid trimSegment( const in vec4 start, inout vec4 end ) {\n\n\t\t\t// trim end segment so it terminates between the camera plane and the near plane\n\n\t\t\t// conservative estimate of the near plane\n\t\t\tfloat a = projectionMatrix[ 2 ][ 2 ]; // 3nd entry in 3th column\n\t\t\tfloat b = projectionMatrix[ 3 ][ 2 ]; // 3nd entry in 4th column\n\t\t\tfloat nearEstimate = - 0.5 * b / a;\n\n\t\t\tfloat alpha = ( nearEstimate - start.z ) / ( end.z - start.z );\n\n\t\t\tend.xyz = mix( start.xyz, end.xyz, alpha );\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\t#ifdef USE_COLOR\n\n\t\t\t\tvColor.xyz = ( position.y < 0.5 ) ? instanceColorStart : instanceColorEnd;\n\n\t\t\t#endif\n\n\t\t\t#ifdef USE_DASH\n\n\t\t\t\tvLineDistance = ( position.y < 0.5 ) ? dashScale * instanceDistanceStart : dashScale * instanceDistanceEnd;\n\n\t\t\t#endif\n\n\t\t\tfloat aspect = resolution.x / resolution.y;\n\n\t\t\tvUv = uv;\n\n\t\t\t// camera space\n\t\t\tvec4 start = modelViewMatrix * vec4( instanceStart, 1.0 );\n\t\t\tvec4 end = modelViewMatrix * vec4( instanceEnd, 1.0 );\n\n\t\t\t// special case for perspective projection, and segments that terminate either in, or behind, the camera plane\n\t\t\t// clearly the gpu firmware has a way of addressing this issue when projecting into ndc space\n\t\t\t// but we need to perform ndc-space calculations in the shader, so we must address this issue directly\n\t\t\t// perhaps there is a more elegant solution -- WestLangley\n\n\t\t\tbool perspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 ); // 4th entry in the 3rd column\n\n\t\t\tif ( perspective ) {\n\n\t\t\t\tif ( start.z < 0.0 && end.z >= 0.0 ) {\n\n\t\t\t\t\ttrimSegment( start, end );\n\n\t\t\t\t} else if ( end.z < 0.0 && start.z >= 0.0 ) {\n\n\t\t\t\t\ttrimSegment( end, start );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t// clip space\n\t\t\tvec4 clipStart = projectionMatrix * start;\n\t\t\tvec4 clipEnd = projectionMatrix * end;\n\n\t\t\t// ndc space\n\t\t\tvec2 ndcStart = clipStart.xy / clipStart.w;\n\t\t\tvec2 ndcEnd = clipEnd.xy / clipEnd.w;\n\n\t\t\t// direction\n\t\t\tvec2 dir = ndcEnd - ndcStart;\n\n\t\t\t// account for clip-space aspect ratio\n\t\t\tdir.x *= aspect;\n\t\t\tdir = normalize( dir );\n\n\t\t\t// perpendicular to dir\n\t\t\tvec2 offset = vec2( dir.y, - dir.x );\n\n\t\t\t// undo aspect ratio adjustment\n\t\t\tdir.x /= aspect;\n\t\t\toffset.x /= aspect;\n\n\t\t\t// sign flip\n\t\t\tif ( position.x < 0.0 ) offset *= - 1.0;\n\n\t\t\t// endcaps\n\t\t\tif ( position.y < 0.0 ) {\n\n\t\t\t\toffset += - dir;\n\n\t\t\t} else if ( position.y > 1.0 ) {\n\n\t\t\t\toffset += dir;\n\n\t\t\t}\n\n\t\t\t// adjust for linewidth\n\t\t\toffset *= linewidth;\n\n\t\t\t// adjust for clip-space to screen-space conversion // maybe resolution should be based on viewport ...\n\t\t\toffset /= resolution.y;\n\n\t\t\t// select end\n\t\t\tvec4 clip = ( position.y < 0.5 ) ? clipStart : clipEnd;\n\n\t\t\t// back to clip space\n\t\t\toffset *= clip.w;\n\n\t\t\tclip.xy += offset;\n\n\t\t\tgl_Position = clip;\n\n\t\t\tvec4 mvPosition = ( position.y < 0.5 ) ? start : end; // this is an approximation\n\n\t\t\t#include <logdepthbuf_vertex>\n\t\t\t#include <clipping_planes_vertex>\n\t\t\t#include <fog_vertex>\n\n\t\t}\n\t\t",fragmentShader:"\n\t\tuniform vec3 diffuse;\n\t\tuniform float opacity;\n\n\t\t#ifdef USE_DASH\n\n\t\t\tuniform float dashSize;\n\t\t\tuniform float gapSize;\n\n\t\t#endif\n\n\t\tvarying float vLineDistance;\n\n\t\t#include <common>\n\t\t#include <color_pars_fragment>\n\t\t#include <fog_pars_fragment>\n\t\t#include <logdepthbuf_pars_fragment>\n\t\t#include <clipping_planes_pars_fragment>\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\t#include <clipping_planes_fragment>\n\n\t\t\t#ifdef USE_DASH\n\n\t\t\t\tif ( vUv.y < - 1.0 || vUv.y > 1.0 ) discard; // discard endcaps\n\n\t\t\t\tif ( mod( vLineDistance, dashSize + gapSize ) > dashSize ) discard; // todo - FIX\n\n\t\t\t#endif\n\n\t\t\tif ( abs( vUv.y ) > 1.0 ) {\n\n\t\t\t\tfloat a = vUv.x;\n\t\t\t\tfloat b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0;\n\t\t\t\tfloat len2 = a * a + b * b;\n\n\t\t\t\tif ( len2 > 1.0 ) discard;\n\n\t\t\t}\n\n\t\t\tvec4 diffuseColor = vec4( diffuse, opacity );\n\n\t\t\t#include <logdepthbuf_fragment>\n\t\t\t#include <color_fragment>\n\n\t\t\tgl_FragColor = vec4( diffuseColor.rgb, diffuseColor.a );\n\n\t\t\t#include <tonemapping_fragment>\n\t\t\t#include <fog_fragment>\n\t\t\t#include <premultiplied_alpha_fragment>\n\n\t\t}\n\t\t"},xc=function(e){function t(t){var r=e.call(this,{uniforms:n.UniformsUtils.clone(bc.uniforms),vertexShader:bc.vertexShader,fragmentShader:bc.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(e){this.uniforms.diffuse.value=e}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(e){this.uniforms.linewidth.value=e}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(e){this.uniforms.dashScale.value=e}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(e){this.uniforms.dashSize.value=e}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(e){this.uniforms.gapSize.value=e}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(e){this.uniforms.opacity.value=e}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(e){this.uniforms.resolution.value.copy(e)}}}),r.setValues(t),r}return ne(t,e),t}(n.ShaderMaterial);Object.assign(xc.prototype,{isLineMaterial:!0});var wc=function(e){function t(t,r){var n=e.call(this)||this;return n.type="LineSegments2",n.geometry=void 0!==t?t:new yc,n.material=void 0!==r?r:new xc({color:16777215*Math.random()}),n}return ne(t,e),t.prototype.computeLineDistances=function(){for(var e=this.geometry,t=e.attributes.instanceStart,r=e.attributes.instanceEnd,i=new Float32Array(2*t.count),o=new n.Vector3,a=new n.Vector3,s=0,l=0,c=t.count;s<c;s++,l+=2)o.fromBufferAttribute(t,s),a.fromBufferAttribute(r,s),i[l]=0===l?0:i[l-1],i[l+1]=i[l]+o.distanceTo(a);var u=new n.InstancedInterleavedBuffer(i,2,1);return e.setAttribute("instanceDistanceStart",new n.InterleavedBufferAttribute(u,1,0)),e.setAttribute("instanceDistanceEnd",new n.InterleavedBufferAttribute(u,1,1)),this},t.prototype.raycast=function(e,t){null===e.camera&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2.');var r=e.ray,i=e.camera,o=i.projectionMatrix,a=this.geometry,s=this.material,l=s.resolution,c=s.linewidth,u=a.attributes.instanceStart,d=a.attributes.instanceEnd,p=new n.Vector4,h=new n.Vector4,f=new n.Vector4,v=new n.Vector3,m=new n.Matrix4,A=new n.Line3,g=new n.Vector3;r.at(1,f),f.w=1,f.applyMatrix4(i.matrixWorldInverse),f.applyMatrix4(o),f.multiplyScalar(1/f.w),f.x*=l.x/2,f.y*=l.y/2,f.z=0,v.copy(f);var y=this.matrixWorld;m.multiplyMatrices(i.matrixWorldInverse,y);for(var b=0,x=u.count;b<x;b++){p.fromBufferAttribute(u,b),h.fromBufferAttribute(d,b),p.w=1,h.w=1,p.applyMatrix4(m),h.applyMatrix4(m),p.applyMatrix4(o),h.applyMatrix4(o),p.multiplyScalar(1/p.w),h.multiplyScalar(1/h.w);var w=p.z<-1&&h.z<-1,E=p.z>1&&h.z>1;if(!w&&!E){p.x*=l.x/2,p.y*=l.y/2,h.x*=l.x/2,h.y*=l.y/2,A.start.copy(p),A.start.z=0,A.end.copy(h),A.end.z=0;var M=A.closestPointToPointParameter(v,!0);A.at(M,g);var C=n.MathUtils.lerp(p.z,h.z,M),S=C>=-1&&C<=1,I=v.distanceTo(g)<.5*c;if(S&&I){A.start.fromBufferAttribute(u,b),A.end.fromBufferAttribute(d,b),A.start.applyMatrix4(y),A.end.applyMatrix4(y);var P=new n.Vector3,T=new n.Vector3;r.distanceSqToSegment(A.start,A.end,T,P),t.push({point:T,pointOnLine:P,distance:r.origin.distanceTo(T),object:this,faceIndex:b})}}}},t}(n.Mesh);Object.assign(wc.prototype,{isLineSegments2:!0});var Ec=function(e){function t(t,r){var n=e.call(this,t,r)||this;return n.type="Line2",n}return ne(t,e),t}(wc);Object.assign(Ec.prototype,{isLine2:!0});var Mc=function(e){function t(){var t=e.call(this)||this;return t.type="LineGeometry",t}return ne(t,e),t.prototype.setPositions=function(t){for(var r=t.length-3,n=new Float32Array(2*r),i=0;i<r;i+=3)n[2*i]=t[i],n[2*i+1]=t[i+1],n[2*i+2]=t[i+2],n[2*i+3]=t[i+3],n[2*i+4]=t[i+4],n[2*i+5]=t[i+5];return e.prototype.setPositions.call(this,n),this},t.prototype.setColors=function(t){for(var r=t.length-3,n=new Float32Array(2*r),i=0;i<r;i+=3)n[2*i]=t[i],n[2*i+1]=t[i+1],n[2*i+2]=t[i+2],n[2*i+3]=t[i+3],n[2*i+4]=t[i+4],n[2*i+5]=t[i+5];return e.prototype.setColors.call(this,n),this},t.prototype.fromLine=function(e){var t=e.geometry;if(t instanceof n.Geometry){var r=(new n.BufferGeometry).fromGeometry(t);this.setPositions(r.attributes.position.array)}else t instanceof n.BufferGeometry&&this.setPositions(t.attributes.position.array);return this},t.prototype.copy=function(){return this},t}(yc);Object.assign(Mc.prototype,{isLineGeometry:!0});var Cc=14467195,Sc=null,Ic=function(e){function t(t,r){void 0===t&&(t=new n.Vector3),void 0===r&&(r=new n.Vector3);var i=e.call(this)||this;i.type="FiveLine",i.needsRender=!0;var o=new Mc,a=new xc({color:Cc,linewidth:2,dashScale:20,dashed:!1});i.line=new Ec(o,a);var s=new n.BufferGeometry,l=new n.PointsMaterial({color:Cc,size:8,map:Sc||(Sc=(new n.TextureLoader).load("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==")),sizeAttenuation:!1,transparent:!0});return i.points=new n.Points(s,l),i.points.renderOrder=11,i.points.frustumCulled=!1,i.setPoints(t,r),i.add(i.line,i.points),i}return ne(t,e),Object.defineProperty(t,"version",{get:function(){return"6.0.0-alpha.49"},enumerable:!1,configurable:!0}),t.prototype.setPoints=function(e,t){var r=[].concat(e.toArray(),t.toArray());this.points.geometry.setAttribute("position",new n.BufferAttribute(new Float32Array(r),3)),this.line.geometry.setPositions(r),this.line.computeLineDistances(),this.needsRender=!0},t.prototype.getPoints=function(){var e=this.points.geometry.attributes.position.array;return[new n.Vector3(e[0],e[1],e[2]),new n.Vector3(e[3],e[4],e[5])]},t.prototype.setMaterial=function(e){var t=this.line.material;for(var r in e)if(e.hasOwnProperty(r)){var n=e[r];"dashed"===r?(t.dashed=n,n?t.defines.USE_DASH="":delete t.defines.USE_DASH,t.needsUpdate=!0):t[r]=e[r]}this.needsRender=!0},t.prototype.setResolution=function(e,t){var r=this.line.material.resolution;r.x===e&&r.y===t||(r.set(e,t),this.needsRender=!0)},t}(n.Object3D);Object.assign(Ic.prototype,{isFiveLine:!0});var Pc={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 Tc(e){return se(this,void 0,void 0,(function(){var t;return le(this,(function(r){switch(r.label){case 0:return[4,fetch(e)];case 1:if((t=r.sent()).ok)return[2,t.json()];throw new Error(t.statusText)}}))}))}function Bc(e){return se(this,void 0,void 0,(function(){return le(this,(function(t){switch(t.label){case 0:if(!e)throw new Error("No basePath supplied");return"profilesList.json",[4,Tc("".concat(e,"/").concat("profilesList.json"))];case 1:return[2,t.sent()]}}))}))}var Rc={xAxis:0,yAxis:0,button:0,state:Pc.ComponentState.DEFAULT};var kc=function(){function e(e){this.componentProperty=e.componentProperty,this.states=e.states,this.valueNodeName=e.valueNodeName,this.valueNodeProperty=e.valueNodeProperty,this.valueNodeProperty===Pc.VisualResponseProperty.TRANSFORM&&(this.minNodeName=e.minNodeName,this.maxNodeName=e.maxNodeName),this.value=0,this.updateFromComponent(Rc)}return e.prototype.updateFromComponent=function(e){var t=e.xAxis,r=e.yAxis,n=e.button,i=e.state,o=function(e,t){void 0===e&&(e=0),void 0===t&&(t=0);var r=e,n=t;if(Math.sqrt(e*e+t*t)>1){var i=Math.atan2(t,e);r=Math.cos(i),n=Math.sin(i)}return{normalizedXAxis:.5*r+.5,normalizedYAxis:.5*n+.5}}(t,r),a=o.normalizedXAxis,s=o.normalizedYAxis;switch(this.componentProperty){case Pc.ComponentProperty.X_AXIS:this.value=this.states.includes(i)?a:.5;break;case Pc.ComponentProperty.Y_AXIS:this.value=this.states.includes(i)?s:.5;break;case Pc.ComponentProperty.BUTTON:this.value=this.states.includes(i)?n:0;break;case Pc.ComponentProperty.STATE:this.valueNodeProperty===Pc.VisualResponseProperty.VISIBILITY?this.value=this.states.includes(i):this.value=this.states.includes(i)?1:0;break;default:throw new Error("Unexpected visualResponse componentProperty ".concat(this.componentProperty))}},e}(),Oc=function(){function e(e,t){var r=this;if(!(e&&t&&t.visualResponses&&t.gamepadIndices&&0!==Object.keys(t.gamepadIndices).length))throw new Error("Invalid arguments supplied");this.id=e,this.type=t.type,this.rootNodeName=t.rootNodeName,this.touchPointNodeName=t.touchPointNodeName,this.visualResponses={},Object.keys(t.visualResponses).forEach((function(e){var n=new kc(t.visualResponses[e]);r.visualResponses[e]=n})),this.gamepadIndices=Object.assign({},t.gamepadIndices),this.values={state:Pc.ComponentState.DEFAULT,button:void 0!==this.gamepadIndices.button?0:void 0,xAxis:void 0!==this.gamepadIndices.xAxis?0:void 0,yAxis:void 0!==this.gamepadIndices.yAxis?0:void 0}}return Object.defineProperty(e.prototype,"data",{get:function(){return ie({id:this.id},this.values)},enumerable:!1,configurable:!0}),e.prototype.updateFromGamepad=function(e){var t=this;if(this.values.state=Pc.ComponentState.DEFAULT,void 0!==this.gamepadIndices.button&&e.buttons.length>this.gamepadIndices.button){var r=e.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||1===this.values.button?this.values.state=Pc.ComponentState.PRESSED:(r.touched||this.values.button>Pc.ButtonTouchThreshold)&&(this.values.state=Pc.ComponentState.TOUCHED)}void 0!==this.gamepadIndices.xAxis&&e.axes.length>this.gamepadIndices.xAxis&&(this.values.xAxis=e.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===Pc.ComponentState.DEFAULT&&Math.abs(this.values.xAxis)>Pc.AxisTouchThreshold&&(this.values.state=Pc.ComponentState.TOUCHED)),void 0!==this.gamepadIndices.yAxis&&e.axes.length>this.gamepadIndices.yAxis&&(this.values.yAxis=e.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===Pc.ComponentState.DEFAULT&&Math.abs(this.values.yAxis)>Pc.AxisTouchThreshold&&(this.values.state=Pc.ComponentState.TOUCHED)),Object.values(this.visualResponses).forEach((function(e){e.updateFromComponent(t.values)}))},e}(),Fc=function(){function e(e,t,r){var n=this;if(!e)throw new Error("No xrInputSource supplied");if(!t)throw new Error("No profile supplied");this.xrInputSource=e,this.assetUrl=r,this.id=t.profileId,this.layoutDescription=t.layouts[e.handedness],this.components={},Object.keys(this.layoutDescription.components).forEach((function(e){var t=n.layoutDescription.components[e];n.components[e]=new Oc(e,t)})),this.updateFromGamepad()}return Object.defineProperty(e.prototype,"gripSpace",{get:function(){return this.xrInputSource.gripSpace},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"targetRaySpace",{get:function(){return this.xrInputSource.targetRaySpace},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"data",{get:function(){var e=[];return Object.values(this.components).forEach((function(t){e.push(t.data)})),e},enumerable:!1,configurable:!0}),e.prototype.updateFromGamepad=function(){var e=this;Object.values(this.components).forEach((function(t){t.updateFromGamepad(e.xrInputSource.gamepad)}))},e}(),Dc=function(e){function t(){var t=e.call(this)||this;return t.motionController=null,t.envMap=null,t}return ne(t,e),t.prototype.setEnvironmentMap=function(e){var t=this;return this.envMap==e||(this.envMap=e,this.traverse((function(e){e instanceof n.Mesh&&e.isMesh&&(e.material.envMap=t.envMap,e.material.needsUpdate=!0)}))),this},t.prototype.updateMatrixWorld=function(t){e.prototype.updateMatrixWorld.call(this,t),this.motionController&&(this.motionController.updateFromGamepad(),Object.values(this.motionController.components).forEach((function(e){Object.values(e.visualResponses).forEach((function(e){var t=e.valueNode,r=e.minNode,n=e.maxNode,i=e.value,o=e.valueNodeProperty;t&&(o===Pc.VisualResponseProperty.VISIBILITY?t.visible=i:o===Pc.VisualResponseProperty.TRANSFORM&&(t.quaternion.copy(r.quaternion).slerp(n.quaternion,i),t.position.lerpVectors(r.position,n.position,i)))}))})))},t}(e.Object3D);function Qc(t,r){!function(t,r){Object.values(t.components).forEach((function(t){var n=t.type,i=t.touchPointNodeName,o=t.visualResponses;if(n===Pc.ComponentType.TOUCHPAD)if(t.touchPointNode=r.getObjectByName(i),t.touchPointNode){var a=new e.SphereGeometry(.001),s=new e.MeshBasicMaterial({color:255}),l=new e.Mesh(a,s);t.touchPointNode.add(l)}else console.warn("Could not find touch dot, ".concat(t.touchPointNodeName,", in touchpad component ").concat(t.id));Object.values(o).forEach((function(e){var t=e.valueNodeName,n=e.minNodeName,i=e.maxNodeName;if(e.valueNodeProperty===Pc.VisualResponseProperty.TRANSFORM){if(e.minNode=r.getObjectByName(n),e.maxNode=r.getObjectByName(i),!e.minNode)return void console.warn("Could not find ".concat(n," in the model"));if(!e.maxNode)return void console.warn("Could not find ".concat(i," in the model"))}e.valueNode=r.getObjectByName(t),e.valueNode||console.warn("Could not find ".concat(t," in the model"))}))}))}(t.motionController,r),t.envMap&&r.traverse((function(e){e instanceof n.Mesh&&e.isMesh&&(e.material.envMap=t.envMap,e.material.needsUpdate=!0)})),t.add(r)}var Lc=function(){function e(e){void 0===e&&(e=null),this.gltfLoader=e,this.path="https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles",this._assetCache={}}return e.prototype.createControllerModel=function(e){var t=this,r=new Dc,n=null;return e.addEventListener("connected",(function(e){var i=e.data;"tracked-pointer"===i.targetRayMode&&i.gamepad&&function(e,t,r,n){return void 0===r&&(r=null),void 0===n&&(n=!0),se(this,void 0,void 0,(function(){var i,o,a,s,l,c;return le(this,(function(u){switch(u.label){case 0:if(!e)throw new Error("No xrInputSource supplied");if(!t)throw new Error("No basePath supplied");return[4,Bc(t)];case 1:if(i=u.sent(),e.profiles.some((function(e){var r=i[e];return r&&(o={profileId:e,profilePath:"".concat(t,"/").concat(r.path),deprecated:!!r.deprecated}),!!o})),!o){if(!r)throw new Error("No matching profile name found");if(!(a=i[r]))throw new Error('No matching profile name found and default profile "'.concat(r,'" missing.'));o={profileId:r,profilePath:"".concat(t,"/").concat(a.path),deprecated:!!a.deprecated}}return[4,Tc(o.profilePath)];case 2:if(s=u.sent(),n){if(!(c=s.layouts[e.handedness]))throw new Error("No matching handedness, ".concat(e.handedness,", in profile ").concat(o.profileId));c.assetPath&&(l=o.profilePath.replace("profile.json",c.assetPath))}return[2,{profile:s,assetPath:l}]}}))}))}(i,t.path,"generic-trigger").then((function(e){var o=e.profile,a=e.assetPath;r.motionController=new Fc(i,o,a);var s=t._assetCache[r.motionController.assetUrl];if(s)n=s.scene.clone(),Qc(r,n);else{if(!t.gltfLoader)throw new Error("GLTFLoader not set.");t.gltfLoader.load(r.motionController.assetUrl,(function(e){t._assetCache[r.motionController.assetUrl]=e,n=e.scene.clone(),Qc(r,n)}))}})).catch((function(e){console.warn(e)}))})),e.addEventListener("disconnected",(function(){r.motionController=null,r.remove(n),n=null})),r},e}();var Nc=(new n.Matrix4).makeRotationAxis(new n.Vector3(0,1,0),Math.PI),Vc=new n.Vector3(-1,1,1),zc=function(e){function t(t){var r,i=this;(i=e.call(this,t)||this).xrManager=new gc(i.renderer,i.renderer.getContext(),{onSessionStart:function(e){i.emit("xr.session.start",ss("xr.session.start",{session:e,machineType:i.xrManager.machineType}))},onSessionEnd:function(){i.emit("xr.session.end",ss("xr.session.end",{session:null,machineType:i.xrManager.machineType}))}}),i.xrControllerRay={left:new n.Raycaster,right:new n.Raycaster},i.pointerLines={left:new Ic,right:new Ic},i.pointerLines.left.visible=!1,i.pointerLines.right.visible=!0,i.pointerLines.left.setMaterial({color:new n.Vector3(1,1,1)}),i.pointerLines.left.points.material.depthTest=!1,i.pointerLines.right.setMaterial({color:new n.Vector3(1,1,1)}),i.pointerLines.right.points.material.depthTest=!1,i.scene.add(i.pointerLines.left,i.pointerLines.right),i.panoResources={},i.panoResources[i.locationMotion.keyframes[0].key=i.locationMotion.keyframes[1].key=Ka()]={panoId:Xe(i.currentPano),leftPanoPicture:null,position:i.camera.pose.offset.clone(),effect:"fade"},i.parallaxCameraMatrixs=[],i.onlyUseRightController=null!==(r=t.onlyUseRightController)&&void 0!==r&&r;var o=Ne.shared.getContext();if(!o)return console.error("获取session失败,请退出重试"),i;i.on("xr.session.end",(function(){i.scene.remove(i.pointerLines.left,i.pointerLines.right)})),i.xrManager.setSession(o),i.controllerWrappers=[new n.Group,new n.Group],i.scene.add(i.controllerWrappers[0],i.controllerWrappers[1]);var a=i.xrManager.getController(0);i.controllerWrappers[0].add(a);var s=i.xrManager.getController(1);i.controllerWrappers[1].add(s);var l=new Lc;return l.gltfLoader={load:function(e,t){De.ajax(e,{responseType:"arraybuffer"}).then((function(t){var r;return Mi(t.body,{resourcePath:e.slice(0,e.lastIndexOf("/")+1),search:null!==(r=e.split("?")[1])&&void 0!==r?r:"",fetcher:De})})).then((function(e){return t(e)}))}},i.on("xr.session.start",(function(){var e=i.xrManager.getControllerGrip(0);if(e.add(l.createControllerModel(e)),i.controllerWrappers[0].add(e),!i.onlyUseRightController){var t=i.xrManager.getControllerGrip(1);t.add(l.createControllerModel(t)),i.controllerWrappers[1].add(t)}})),i.xrControllerState={LeftAxesUp:{touchStartTime:0,touchStart:!1},LeftAxesDown:{touchStartTime:0,touchStart:!1},LeftAxesLeft:{touchStartTime:0,touchStart:!1},LeftAxesRight:{touchStartTime:0,touchStart:!1},LeftTrigger:{touchStartTime:0,touchStart:!1},LeftPinch:{touchStartTime:0,touchStart:!1},RightAxesUp:{touchStartTime:0,touchStart:!1},RightAxesDown:{touchStartTime:0,touchStart:!1},RightAxesLeft:{touchStartTime:0,touchStart:!1},RightAxesRight:{touchStartTime:0,touchStart:!1},RightTrigger:{touchStartTime:0,touchStart:!1},RightPinch:{touchStartTime:0,touchStart:!1},Y:{touchStartTime:0,touchStart:!1},X:{touchStartTime:0,touchStart:!1},A:{touchStartTime:0,touchStart:!1},B:{touchStartTime:0,touchStart:!1}},i}return ne(t,e),t.parseArgs=function(r){if(r instanceof t)return r;var n=ie(ie({},r),{maxLatitude:Math.PI/2,minLatitude:-Math.PI/2});return e.parseArgs.call(this,n)},t.initAnimationEndState=function(t){var r=this.parseArgs(t),n=e.initAnimationEndState.call(this,r);return ie(ie({},n),{mode:"XRPanorama"})},t.prototype.moveToPano=function(e,t,r){var i,o,a,s,l=this;this.userAction=r,this.stopMomentumMovement();var c=this.works.getResolvedObserver(e);if(!c)throw new Error("Invalid PanoIndex");var u=this.imageOptions.size;if(void 0===u&&c){var d=c.images.up.match(/\/cube_(\d+)\//);d&&(u=Number(d[1]))}void 0===u&&(u=2048);var p=this.imageOptions.transform,h=function(e,t){return function(e,t){if(!t)return e;var r=e.match(/\d+_[a-z].png/);return e.substring(0,r.index)+t+"/"+e.substring(r.index)}(He(e,p,t))},f=ie({key:"pano.".concat(c.panoId)},eo(this.imageOptions,["format","size","quality"])),v=c.images,m=null!==(o=null===(i=c.images.tiles)||void 0===i?void 0:i.filter((function(e){return e.size>u})))&&void 0!==o?o:null,A="pano:"+ro([v,f,p]);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===A)return;var g=this.pendingTextureTask.panoId;null===(a=this.panoMeshes[g])||void 0===a||a.setProgress(0),this.emit("pano.texture.abort",ss("pano.texture.abort",{error:null,progress:0,meta:null,pano:c.pano})),this.pendingTextureTask.onError(new Error("texture aborted"))}var y,b=this.models.getMaterial()||{},x=b.pano0,w=b.pano1;if((null==x?void 0:x.map.name)===A?y=x:(null==w?void 0:w.map.name)===A&&(y=w),y){var E={panoId:c.panoId,effect:null!==(s=t.effect)&&void 0!==s?s:"fade",leftPanoPicture:{map:y.map,luminanceMap:y.luminanceMap,matrix:(new n.Matrix4).compose(c.position,c.quaternion,Vc)},position:c.position.clone()};this.doMoveToPano(c.pano,E,t)}else{var M="move-to-pano-"+c.panoId;this.pending.add(M),this.pendingTextureTask={panoId:c.panoId,hash:A,onLoad:function(e){var r;if(l.pending.delete(M),l.destroyed)e.body.dispose();else{e.body.name=A;var i={panoId:c.panoId,effect:null!==(r=t.effect)&&void 0!==r?r:"fade",leftPanoPicture:{map:e.body,luminanceMap:null,matrix:(new n.Matrix4).compose(c.position,c.quaternion,Vc)},position:c.position.clone()};l.doMoveToPano(c.pano,i,t)}},onError:function(e){l.pending.delete(M);var r=ie(ie(ie({},c.pano),{mode:l.mode}),hs(l.camera.pose));l.emit("pano.error",ss("pano.error",{error:e,userAction:l.userAction,options:t,prevPano:l.currentPano,progress:0,state:r})),l.emit("pano.cancel",ss("pano.cancel",{error:null,userAction:l.userAction,options:t,prevPano:l.currentPano,progress:0,state:r})),t.moveCancelCallback&&t.moveCancelCallback()}},Promise.all([this.tileLevelForFov&&m&&m.length?this.textureLoader.loadTiledCubeTexture(v,m,{tileMaxLevel:this.TILED_CUBE_TEXTURE_LEVEL,imageURL:{transform:h,options:f},format:n.RGBAFormat,viaAjax:!0,fetcher:ua(c.work)},void 0,void 0,(function(e){var t,r;l.emit("pano.texture.progress",ss("pano.texture.progress",{error:null,progress:e,meta:null,pano:c.pano})),(null===(t=l.pendingTextureTask)||void 0===t?void 0:t.hash)===A&&(null===(r=l.panoMeshes[c.panoId])||void 0===r||r.setProgress(e))}),this.renderer):this.textureLoader.loadCubeTexture(v,{imageURL:{transform:h,options:f},format:n.RGBAFormat,fetcher:ua(c.work)},void 0,void 0,(function(e){var t,r;(null===(t=l.pendingTextureTask)||void 0===t?void 0:t.hash)===A&&(null===(r=l.panoMeshes[c.panoId])||void 0===r||r.setProgress(e)),l.emit("pano.texture.progress",ss("pano.texture.progress",{error:null,progress:e,meta:null,pano:c.pano}))}),this.renderer)]).then((function(e){var t,r,n=e[0];(null===(t=l.pendingTextureTask)||void 0===t?void 0:t.hash)===A?(l.pendingTextureTask.onLoad(n),null===(r=l.panoMeshes[c.panoId])||void 0===r||r.setProgress(0),delete l.pendingTextureTask,l.emit("pano.texture.success",ss("pano.texture.success",{error:null,progress:1,meta:n.meta,pano:c.pano}))):n.body.dispose()})).catch((function(e){var t,r;(null===(t=l.pendingTextureTask)||void 0===t?void 0:t.hash)===A&&(l.pendingTextureTask.onError(e),null===(r=l.panoMeshes[c.panoId])||void 0===r||r.setProgress(0),delete l.pendingTextureTask,l.emit("pano.texture.error",ss("pano.texture.error",{error:e,progress:0,meta:null,pano:c.pano})),l.emit("error",e))})),this.emit("pano.texture.load",ss("pano.texture.load",{error:null,progress:0,meta:null,pano:c.pano}))}},t.prototype.doMoveToPano=function(e,t,r){var i,o,a,s=this;void 0===r&&(r={});var l=me(),c=Ka();this.panoResources[c]=t;var u,d,p;if(this.locationMotion.ended){var h=this.locationMotion.getKeyFrameSegment(l);h[0];var f=h[1],v=this.locationMotion.value,m=this.panoResourceFromLocationMotionKeyframe(f).position,A=t.position;u=Math.max(m.distanceTo(A),1),d=[{key:f.key,progress:0,value:ie(ie({},v),{count:0})},{key:c,progress:1,value:{distance:0,perspToOrtho:0,orthoDistance:1,modelAlpha:0,count:1}}],p=0}else{var g=this.locationMotion.getKeyFrameSegment(l),y=g[0],b=(f=g[1],v=this.locationMotion.value,this.panoResourceFromLocationMotionKeyframe(y).position),x=(m=this.panoResourceFromLocationMotionKeyframe(f).position,A=t.position,f.value.count-v.count),w=Math.max(b.distanceTo(m),1)*x;u=w+Math.max(m.distanceTo(A),1),d=[{key:y.key,progress:0,value:ie({},v)},{key:f.key,progress:w/u,value:f.value},{key:c,progress:1,value:{count:f.value.count+1,distance:0,perspToOrtho:0,orthoDistance:1,modelAlpha:0}}];var E=this.locationMotionKeyframesLength(this.locationMotion.keyframes),M=this.locationMotionKeyframesLength(d);p=this.locationMotion.getProgressVelocity(l)*E/M}var C=this.calculateMovingDuration(r.duration,u),S={longitude:r.longitude,latitude:r.latitude,fov:r.fov},I=ie(ie({},e),{mode:this.mode,longitude:null!==(i=S.longitude)&&void 0!==i?i:this.camera.pose.longitude,latitude:null!==(o=S.latitude)&&void 0!==o?o:this.camera.pose.latitude,fov:null!==(a=S.fov)&&void 0!==a?a:this.camera.pose.fov,offset:t.position.clone(),distance:0}),P=this.currentPano;this.emit("pano.moveTo",ss("pano.moveTo",{options:r,prevPano:P,progress:0,state:I,userAction:this.userAction,error:null})),r.moveStartCallback&&r.moveStartCallback(I),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=fe,this.videoTexture.needsUpdate=!0),this.panoVideo.setMaterial(null),this.cameraMotion.set(S,C).catch(fe),this.locationMotion.setKeyframes(d,C,p).then((function(){var t,i,o,a=ie(ie({},e),{mode:s.mode,longitude:s.camera.pose.longitude,latitude:s.camera.pose.latitude,fov:s.camera.pose.fov,offset:s.camera.pose.offset.clone(),distance:0});s.emit("pano.arrived",ss("pano.arrived",{options:r,prevPano:P,progress:1,state:a,userAction:s.userAction,error:null})),r.moveEndCallback&&r.moveEndCallback(a);var l=s.works.getResolvedObserver(s.currentPano);if(l&&l.video&&s.videoTexture&&s.videoTexture.image instanceof HTMLVideoElement){var c=Nc.clone().multiply(null!==(o=null===(i=null===(t=s.models.getMaterial())||void 0===t?void 0:t.pano1)||void 0===i?void 0:i.matrix)&&void 0!==o?o:new n.Matrix4).multiply(l.video.matrix),u={map:s.videoTexture,size:l.video.size,matrix:c,alpha:1},d=Ka(),p=s.videoTexture.image;p.setAttribute("uuid",d),Ss().then((function(e){e&&l.video&&p.getAttribute("uuid")===d&&(p.oncanplay=function(){p.oncanplay=fe,p.play()},p.ontimeupdate=function(){p.currentTime>.5&&(p.ontimeupdate=fe,s.panoVideo.setMaterial(u))},p.src=l.video.source)})).catch((function(){p.removeAttribute("uuid")}))}}),(function(){s.emit("pano.cancel",ss("pano.cancel",{options:r,prevPano:P,progress:0,state:I,userAction:s.userAction,error:null})),r.moveCancelCallback&&r.moveCancelCallback()}))},t.prototype.checkSelectedPano=function(e){var t,r,i,o,a=this;this.stopMomentumMovement();var s=this.camera.getDirection(new n.Vector3).setY(0),l=null,c=this.works.getResolvedObserver(this.currentPano);if(!c)return null;var u=c.accessibleIds.filter((function(e){var t=Je(e);if(Ze(t,a.currentPano))return!1;var r=a.works.getResolvedObserver(t);return!!r&&(!(r.position.distanceTo(a.camera.position)>a.maxAccessibleDistance)&&(r.loadable||r.active))})),d=this.models.intersectRaycaster(e)[0];if(d){var p=ds(u,(function(e){var t=a.works.getResolvedObserver(e);return t?t.standingPosition.clone().distanceTo(d.point):1/0}),!0),h=p[0],f=p[1];h&&f<this.panoTapTriggerRadius&&(l=null!==(t=this.works.getResolvedObserver(h))&&void 0!==t?t:null)}if(vc(l)){var v=this.getForwardObserverOrNot(e);v&&(l=v)}for(var m=0,A=this.locationMotion.keyframes;m<A.length;m++){var g=A[m],y=this.panoResourceFromLocationMotionKeyframe(g);if(!(g.progress<this.locationMotion.progress)&&(l&&y.panoId===l.panoId)){l=null;break}}if(vc(l))return!0===this.locationMotion.ended&&this.cameraBounce(),null;if(l&&!l.active){var b=l.panoId;this.panoMeshes[b]&&(this.panoMeshes[b].setDisabled(!1),this.panoMeshes[b].setLoading(!0))}var x={};if(l){x.effect="fade";for(var w=Math.PI/6,E=Math.PI/12,M=new n.Vector3(0,1,0),C=l.position.clone().setY(0).sub(c.position.clone().setY(0)).normalize(),S=C.clone().applyAxisAngle(M,w),I=C.clone().applyAxisAngle(M,-w),P=[],T=[],B=[],R=0,k=l.accessibleIds;R<k.length;R++){var O=Je(h=k[R]);if(!Ze(O,this.currentPano)&&!Ze(O,l.pano)){var F=this.works.getResolvedObserver(h);if(F){var D=F.position.clone().sub(l.position).setY(0);C.angleTo(D)<w?B.push(D):S.angleTo(D)<w?P.push(D):I.angleTo(D)<w&&T.push(D)}}}var Q=(B.length>0?B:ce(ce([],P,!0),T,!0)).slice().sort((function(e,t){return e.angleTo(C)-t.angleTo(C)}))[0];Q&&Q.angleTo(s)>E&&(x.longitude=Math.atan2(-Q.x,-Q.z))}this.cameraMotion.value.latitude<-Math.PI/4&&(x.latitude=jr(0,this.minLatitude,this.maxLatitude)),this.cameraMotion.value.fov<60&&(x.fov=this.defaultFov);var L={workCode:l.pano.workCode,panoIndex:l.pano.panoIndex,mode:this.mode,longitude:null!==(r=x.longitude)&&void 0!==r?r:this.camera.pose.longitude,latitude:null!==(i=x.latitude)&&void 0!==i?i:this.camera.pose.latitude,fov:null!==(o=x.fov)&&void 0!==o?o:this.camera.pose.fov,distance:0,offset:l?l.position.clone():new n.Vector3};return this.emit("pano.select",ss("pano.select",{prevPano:this.currentPano,state:L,userAction:!0,options:x,progress:0,error:null})),l&&l.active?(this.emit("pano.request",ss("pano.request",{userAction:!0,prevPano:this.currentPano,progress:0,state:L,options:x,error:null})),l.pano):null},t.prototype.destroy=function(){e.prototype.destroy.call(this)},t.prototype.isReady=function(){return!1},t.prototype.updateCamera=function(e,t,r){return Promise.resolve()},t.prototype.updateCameraWithKeyframes=function(e,t,r){return Promise.resolve()},t.prototype.updateTime=function(e,t){for(var r,i,o,a,s,l,c,u,d=this,p=[],h=2;h<arguments.length;h++)p[h-2]=arguments[h];this.userAction=!0;var f={},v={},m=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),A=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),g=!1;if(!1===this.cameraMotion.ended&&(this.cameraMotion.update(e),v.longitude=this.cameraMotion.value.longitude,v.latitude=this.cameraMotion.value.latitude,v.fov=this.cameraMotion.value.fov),!1===this.locationMotion.ended){this.locationMotion.update(e);var y=this.locationMotion.getKeyFrameSegment(e),b=y[0],x=y[1],w=this.panoResourceFromLocationMotionKeyframe(b),E=this.panoResourceFromLocationMotionKeyframe(x),M=(new n.Vector3).copy(w.position),C=(new n.Vector3).copy(E.position),S=this.locationMotion.value.count-x.value.count+1;f.progress=S,f.modelAlpha=this.locationMotion.value.modelAlpha,this.camera.perspToOrtho.setScalar(jr(this.locationMotion.value.perspToOrtho,0,1)),this.camera.orthoDistance=this.locationMotion.value.orthoDistance,E.leftPanoPicture&&(S<1?w.leftPanoPicture&&(f.pano0=w.leftPanoPicture):f.pano0=E.leftPanoPicture,f.pano1=E.leftPanoPicture),g=f.useBlackTransition="instant"===E.effect||"montage"===E.effect,"fade"!==E.effect&&"montage"!==E.effect||(f.pano0&&w.leftPanoPicture&&(f.pano0={map:f.pano0.map,luminanceMap:f.pano0.luminanceMap,matrix:w.leftPanoPicture.matrix.clone().setPosition(E.position)}),M.copy(C)),v.distance=this.locationMotion.value.distance,v.offset=new n.Vector3(M.x+(C.x-M.x)*S,M.y+(C.y-M.y)*S,M.z+(C.z-M.z)*S);for(var I=[],P=[],T=0,B=this.locationMotion.keyframes;T<B.length;T++){var R=B[T],k=R.key,O=R.progress;void 0!==k&&(I.push(k),O>=this.locationMotion.progress&&P.push(k))}for(var F=0,D=Object.keys(this.panoResources);F<D.length;F++){var Q=D[F];if(!(P.indexOf(Q)>=0)){var L=this.panoResources[Q];if(L.leftPanoPicture){var N=L.leftPanoPicture.map;if(N){if(N===(null===(r=f.pano0)||void 0===r?void 0:r.map))continue;if(N===(null===(i=f.pano1)||void 0===i?void 0:i.map))continue;N instanceof Vt&&N.cubeRenderTarget&&this.colorCubeRenderTargetPool.push(N.cubeRenderTarget),N.dispose(),L.leftPanoPicture=null}}I.indexOf(Q)>=0||delete this.panoResources[Q]}}this.currentPano=Je(E.panoId),this.emit("pano.moving",ss("pano.moving",{userAction:this.userAction,prevPano:Je(m.panoId),state:ie(ie(ie(ie({},Je(A.panoId)),{mode:this.mode}),hs(this.camera.pose)),v),options:{},progress:this.locationMotion.progress,error:null}))}!1===ps(f)&&((null===(o=f.pano0)||void 0===o?void 0:o.map)&&f.pano0.map instanceof Vt&&!f.pano0.map.cubeRenderTarget&&(f.pano0.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),(null===(a=f.pano1)||void 0===a?void 0:a.map)&&f.pano1.map instanceof Vt&&!f.pano1.map.cubeRenderTarget&&(f.pano1.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),this.models.setMaterial(f)),!1===ps(v)&&this.setCamera(v);var V=this.works.getResolvedObserver(this.currentPano),z=p[1];if(z)if(this.xrManager.session){var j=this.xrManager.referenceSpace;if(j){var U=this.xrManager.cameraVR,q=this.xrManager.cameraL,_=this.xrManager.cameraR,H=[q,_],G=z.getViewerPose(j),K=new n.Vector3(0,0,0);if(G){var W;W=this.xrManager.session.renderState.baseLayer;var Y=G.views;if(W){this.renderer.setFramebuffer(W.framebuffer);var X=!1;Y.length!==U.cameras.length&&(U.cameras.length=0,X=!0),this.parallaxCameraMatrixs=[];var J=new n.Vector3,Z=new n.Vector3;(new n.Matrix4).fromArray(Y[0].transform.matrix).decompose(J,new n.Quaternion,new n.Vector3),(new n.Matrix4).fromArray(Y[1].transform.matrix).decompose(Z,new n.Quaternion,new n.Vector3),Z.clone().sub(J).normalize();var $=new n.Vector3,ee=new n.Quaternion,te=new n.Vector3;this.camera.matrix.decompose($,ee,te);for(var re=0;re<Y.length;re++){var ne=Y[re],oe=W.getViewport(ne),ae=H[re];ae.matrix.fromArray(ne.transform.matrix);var se=new n.Vector3,le=new n.Quaternion,ce=new n.Vector3;ae.matrix.decompose(se,le,ce),K.copy($),ae.position.copy($),ae.quaternion.copy(le),ae.scale.copy(ce),ae.updateMatrix(),ae.projectionMatrix.fromArray(ne.projectionMatrix),ae.viewport.set(oe.x,oe.y,oe.width,oe.height),!0===X&&U.cameras.push(ae)}G.views[0].transform.position,G.views[1].transform.position;var ue=this.xrManager.session.inputSources;for(re=0;re<this.xrManager.controllers.length;re++){var de=this.xrManager.controllers[re],pe=ue[re];if(pe){de.update(pe,z,j);var he=this.xrManager.getController(re),fe=new n.Vector3(0,1.2,0),ve=he.position.clone().add(K).sub(fe);"left"===pe.handedness?this.xrControllerRay.left.set(ve,new n.Vector3(0,0,-1).applyEuler(he.rotation)):"right"===pe.handedness&&this.xrControllerRay.right.set(ve,new n.Vector3(0,0,-1).applyEuler(he.rotation)),this.controllerWrappers[re].position.copy(new n.Vector3(0,0,0).add(K).sub(fe));var me=this.models.intersectRaycaster(this.xrControllerRay.right);if(0===me.length&&(me=this.xrControllerRay.right.intersectObject(this.boundingMesh,!0).map((function(e){var t;return ie({floor:null!==(t=null==V?void 0:V.floorIndex)&&void 0!==t?t:0},e)}))),me.length>=1&&me[0].face)if("right"===pe.handedness){var Ae=this.xrControllerRay.right.intersectObject(this.xrCustomObjectsScene,!0),ge=me[0].face.normal,ye=ge.clone().multiplyScalar(.05),be=me[0].point.clone().add(ye);this.intersectMesh.position.copy(be);var xe=be.clone().add(ye);if(this.intersectMesh.lookAt(xe),Math.abs(ge.y)>.99){var we=this.camera.position.clone().sub(be);this.intersectMesh.rotation.z=-Math.atan2(we.z,we.x)}this.intersectMesh.visible=!0,this.needsRender=!0,Ae.length>0?(this.pointerLines.right.setPoints(ve,Ae[0].point),this.pointerLines.right.points.visible=!0,this.intersectMesh.visible=!1):(this.pointerLines.right.points.visible=!1,this.pointerLines.right.setPoints(ve,me[0].point));var Ee=me[0],Me=ss("intersect.update",{raycaster:null!==(s=this.xrControllerRay.right)&&void 0!==s?s:null,intersection:null!=Ee?Ee:null,object:this.intersectMesh});if(this.emit("intersect.update",Me),Me.defaultPrevented)return void this.hideIntersectMesh()}else this.pointerLines.left.setPoints(ve,me[0].point)}}if(this.camera.pose.distance>.1||g){if(V)for(var Ce=0,Se=Object.keys(this.panoMeshes);Ce<Se.length;Ce++){var Ie=Se[Ce];(De=this.panoMeshes[Ie]).setOpacity(0),De.setCurrent(!1),De.updateTime&&De.updateTime(e,t)}}else if(V){var Pe=ds(V.visibleIds,(function(e){var t=d.works.getResolvedObserver(e);return t?V.standingPosition.distanceTo(t.standingPosition):1/0}),!0),Te=Pe[1];Te=jr(Te,2.5,1/0);for(var Be=V.visibleIds.concat(Xe(this.currentPano)),Re=this.getForwardObserverOrNot(),ke=this.camera.getDirection(new n.Vector3),Oe=0,Fe=Object.keys(this.panoMeshes);Oe<Fe.length;Oe++){Ie=Fe[Oe];var De=this.panoMeshes[Ie],Qe=this.works.getResolvedObserver(Ie);if(-1===Be.indexOf(Ie))De.setCurrent(!1),De.setOpacity(0);else if(Qe)if(Qe.loadable||Qe.active){var Le=De.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);De.setCurrent(!De.loading&&0===De.progress&&null!==Re&&Re.panoId===Ie),De.setOpacity(Le<.01?0:jr(Te/Le*1.2,.65,.98));var Ne=this.camera.position.clone().setY(De.position.y),Ve=(new n.Vector3).copy(De.position).sub(Ne).normalize();if(Ie===Xe(this.currentPano)){var ze=jr((.5-Ne.distanceTo(De.position))/.5,0,1);Ve.multiplyScalar(1-ze).add(ke.clone().multiplyScalar(ze))}Ve.length()>0&&De.quaternion.setFromEuler(new n.Euler(0,Math.atan2(Ve.x,Ve.z),0))}else De.setCurrent(!1),De.setOpacity(0);else De.setCurrent(!1),De.setOpacity(0);De.updateTime&&De.updateTime(e,t)}}var je=function(){if(!1===d.tileLevelForFov)return 0;var e=new n.Vector2(4e3,4e3),t=A.panoId,r=d.works.getResolvedObserver(t),i=d.imageOptions.size;if(void 0===i&&r){var o=r.images.up.match(/\/cube_(\d+)\//);o&&(i=Number(o[1]))}void 0===i&&(i=2048);var a=0;i>=1024&&(a=1),i>=2048&&(a=2),i>=4096&&(a=3),i>=8192&&(a=4);var s=d.tileLevelForFov(q.fov,e);return s>a?s:0}(),Ue=function(){var e=new n.PerspectiveCamera;e.applyMatrix4(U.matrix),e.position.set(0,0,0);var t=d.works.getResolvedObserver(A.panoId),r=null!=t?t:V;return r&&e.quaternion.premultiply(r.quaternion.clone().inverse()),e.updateProjectionMatrix(),e.updateMatrixWorld(!0),(new n.Frustum).setFromProjectionMatrix((new n.Matrix4).multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse))}();A.panoId===Xe(this.currentPano)&&(null===(l=A.leftPanoPicture)||void 0===l?void 0:l.map)instanceof Vt&&(A.leftPanoPicture.map.update(Ue,je),!0===A.leftPanoPicture.map.needsRender&&(this.needsRender=!0));var qe=this.tiling.object.visible;if(je>this.TILED_CUBE_TEXTURE_LEVEL&&this.initAnimationed){var _e=A.panoId,He=this.works.getResolvedObserver(_e);He&&Xa(this.camera.position,He.position)&&this.locationMotion.ended?(this.tiling.object.visible=!0,this.tiling.panoId!==_e&&this.tiling.cleanup(),this.tiling.panoId=_e,this.tiling.setResource(null!==(u=null===(c=He.images)||void 0===c?void 0:c.tiles)&&void 0!==u?u:[],this.enableIOSEDR&&He.images.luminance?He.images.luminance:null),this.tiling.setFetcher(ua(He.work)),this.tiling.setRotation(He.quaternion),this.tiling.setPosition(He.position),this.tiling.update(Ue,je,e)):this.tiling.object.visible=!1}else this.tiling.object.visible=!1;qe!==this.tiling.object.visible&&(this.tiling.object.needsRender=!0),this.panoVideo.object.position.copy(this.camera.position),this.panoVideo.updateTime(e),this.updateControllerHelper(ue,e,t)}else console.error("no layer found")}}}else console.error("session丢失,请重试");else console.error("xrFrame丢失,请重试")},t.prototype.render=function(){var e=this.xrManager.getCamera(this.camera);this.renderer.render(this.scene,e)},t.prototype.onPanGesture=function(){},t.prototype.onTapGesture=function(){},t.prototype.onPinchGesture=function(){},t.prototype.onMouseMove=function(){},t.prototype.onMouseOut=function(){},t.prototype.panoResourceFromLocationMotionKeyframe=function(e){return this.panoResources[e.key]},t.prototype.updateControllerHelper=function(e,t,r){var n=this.xrControllerRay.left,i=this.xrControllerRay.right;if(e&&0!==e.length){for(var o={buttons:{X:!1,Y:!1,LeftTrigger:!1,LeftPinch:!1,A:!1,B:!1,RightTrigger:!1,RightPinch:!1}},a=0;a<e.length;a++){var s=e[a].handedness,l=e[a].gamepad;switch(s){case"left":this.emitEvent(-1===l.axes[2],"LeftAxesLeft",t),this.emitEvent(1===l.axes[2],"LeftAxesRight",t),this.emitEvent(-1===l.axes[3],"LeftAxesUp",t),this.emitEvent(1===l.axes[3],"LeftAxesDown",t),this.emitEvent(null==l?void 0:l.buttons[4].pressed,"X",t),this.emitEvent(l.buttons[5].pressed,"Y",t),this.emitEvent(null==l?void 0:l.buttons[0].pressed,"LeftTrigger",t),this.emitEvent(null==l?void 0:l.buttons[1].pressed,"LeftPinch",t);var c={raycaster:n,axes:{up:l.axes[3]<0?Math.abs(l.axes[3]):0,down:l.axes[3]<0?0:Math.abs(l.axes[3]),left:l.axes[2]<0?Math.abs(l.axes[2]):0,right:l.axes[2]<0?0:Math.abs(l.axes[2])},deltaTime:r};o.buttons.X=null==l?void 0:l.buttons[4].pressed,o.buttons.Y=null==l?void 0:l.buttons[5].pressed,o.buttons.LeftTrigger=null==l?void 0:l.buttons[0].pressed,o.buttons.LeftPinch=null==l?void 0:l.buttons[1].pressed,o.left=c;break;case"right":this.emitEvent(-1===l.axes[2],"RightAxesLeft",t),this.emitEvent(1===l.axes[2],"RightAxesRight",t),this.emitEvent(-1===l.axes[3],"RightAxesUp",t),this.emitEvent(1===l.axes[3],"RightAxesDown",t),this.emitEvent(null==l?void 0:l.buttons[4].pressed,"A",t),this.emitEvent(l.buttons[5].pressed,"B",t),this.emitEvent(null==l?void 0:l.buttons[0].pressed,"RightTrigger",t),this.emitEvent(null==l?void 0:l.buttons[1].pressed,"RightPinch",t);var u={raycaster:i,axes:{up:l.axes[3]<0?Math.abs(l.axes[3]):0,down:l.axes[3]<0?0:Math.abs(l.axes[3]),left:l.axes[2]<0?Math.abs(l.axes[2]):0,right:l.axes[2]<0?0:Math.abs(l.axes[2])},deltaTime:r};o.right=u,o.buttons.A=null==l?void 0:l.buttons[4].pressed,o.buttons.B=null==l?void 0:l.buttons[5].pressed,o.buttons.RightTrigger=null==l?void 0:l.buttons[0].pressed,o.buttons.RightPinch=null==l?void 0:l.buttons[1].pressed}}this.emit("xr.controller.update",ss("xr.controller.update",o))}},t.prototype.emitEvent=function(e,t,r){var n=this.xrControllerRay.left,i=this.xrControllerRay.right;if(e)!1===this.xrControllerState[t].touchStart?(this.xrControllerState[t].touchStartTime=r,this.xrControllerState[t].touchStart=!0,this.emit("xr.gesture.buttonDown",ss("xr.gesture.buttonDown",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:t,isFinal:!1,isFirst:!0,controllers:{raycaster:{leftRay:n,rightRay:i}}}))):r-this.xrControllerState[t].touchStartTime>300&&this.emit("xr.gesture.press",ss("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:t,isFinal:!0,isFirst:!0,controllers:{raycaster:{leftRay:n,rightRay:i}}}));else if(!0===this.xrControllerState[t].touchStart){if(this.emit("xr.gesture.buttonUp",ss("xr.gesture.buttonUp",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:t,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:n,rightRay:i}}})),r-this.xrControllerState[t].touchStartTime<=300)this.emit("xr.gesture.tap",ss("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:t,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:n,rightRay:i}}}))||"RightTrigger"===t&&this.checkSelectedPano(this.xrControllerRay.right);this.xrControllerState[t].touchStart=!1,this.xrControllerState[t].touchStartTime=0}},t}(il),jc={Floorplan:As,Topview:Ms,Panorama:il,VRPanorama:Nl,Model:zl,DepthPanorama:Kl,Mapview:fc,XRPanorama:zc},Uc=["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 qc(e){for(var t,r,n={},i=0,o=e.split(/(\;|\,)/);i<o.length;i++){var a=o[i].split("="),s=null===(t=a[0])||void 0===t?void 0:t.trim(),l=null===(r=a[1])||void 0===r?void 0:r.trim();s&&l&&(n[s]=l)}return n}function _c(){for(var e,t=document.getElementsByTagName("meta"),r=0;r<t.length;r++){var n=t[r];if("viewport"===n.getAttribute("name")){var i=qc(null!==(e=n.getAttribute("content"))&&void 0!==e?e:""),o=Number(i["initial-scale"]);if(!isNaN(o))return o}}return 1}var Hc=[351,63],Gc=[20,20],Kc=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),Wc=new Float32Array([0,0,1,0,0,1,1,1]),Yc=new Uint8Array([0,1,2,1,3,2]),Xc=new n.BufferGeometry;Xc.setAttribute("position",new n.BufferAttribute(Kc,3)),Xc.setAttribute("uv",new n.BufferAttribute(Wc,2)),Xc.setIndex(new n.BufferAttribute(Yc,1));var Jc=new n.MeshBasicMaterial({transparent:!0,depthTest:!1,depthWrite:!1,stencilWrite:!1,fog:!1}),Zc=new n.Mesh(Xc,Jc);Zc.matrixAutoUpdate=!1;var $c=new n.Scene;$c.add(Zc),$c.matrixAutoUpdate=!1;var eu=new n.OrthographicCamera(-.5,.5,.5,-.5,.1,1);eu.position.set(0,0,.5),eu.lookAt(0,0,0),eu.updateMatrixWorld(!0),eu.matrixAutoUpdate=!1;var tu=new n.Vector4,ru=new n.Vector4;function nu(e){if(Jc.map){var t=e.getViewport(tu),r=e.getScissor(ru),i=e.getScissorTest(),o=e.autoClear,a=r.x+Gc[0]/3,s=r.y+Gc[1]/3,l=Hc[0]/3,c=Hc[1]/3;e.setViewport(a,s,l,c),e.setScissor(a,s,l,c),e.setScissorTest(!0),e.autoClear=!1,e.render($c,eu),e.setViewport(t),e.setScissor(r),e.setScissorTest(i),e.autoClear=o}else{var u=new n.Texture,d=new Image;d.onload=function(){u.image=d,u.wrapS=n.ClampToEdgeWrapping,u.wrapT=n.ClampToEdgeWrapping,u.minFilter=n.LinearFilter,u.needsUpdate=!0,u.generateMipmaps=!1,Jc.needsUpdate=!0,d.onload=fe},d.src="data:image/png;base64,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",Jc.map=u}}var iu=function(e){return e.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/")},ou=new n.Vector2,au=new n.Frustum,su=new n.Matrix4,lu=new WeakMap,cu=new WeakMap,uu=la([]),du=function(e){function t(t){void 0===t&&(t={});var r,i,o,a,s,l,c,u,d,p,h,f=this;if((f=e.call(this)||this).ident=Ka(),pu.instances[f.ident]=f,f.renderSwitch01=0,f.currentMode="Panorama",f.pano={workCode:"",panoIndex:0},f.needsRender=!1,f.onlyRenderIfNeeds=null===(r=t.onlyRenderIfNeeds)||void 0===r||r,f.imageOptions=ie({},null!==(i=t.imageOptions)&&void 0!==i?i:{}),f.textureOptions=ie({},null!==(o=t.textureOptions)&&void 0!==o?o:{}),f.modelLodOptions=ie({},null!==(a=t.modelLod)&&void 0!==a?a:{}),f.poweredByRealsee=null===(s=t.poweredByRealsee)||void 0===s||s,f.extraElements=[],f.controllerInits={Panorama:Object.assign({},t.panorama),Model:Object.assign({},t.model),Floorplan:Object.assign({},t.floorplan),Topview:Object.assign({},t.topview),Mapview:Object.assign({},t.mapview),DepthPanorama:Object.assign({},t.depthPanorama),VRPanorama:Object.assign({},t.vrPanorama),XRPanorama:Object.assign({},t.xrPanorama)},f.fps={testCount:0,testTime:me()},f.info=null,f.modeChangeDuration=null!==(l=t.modeChangeDuration)&&void 0!==l?l:800,"undefined"!=typeof window)if(t.renderer)t.renderer instanceof Gt&&f.throwError(new Error("cannot render a internal renderer")),f.renderer=t.renderer;else try{f.renderer=new Gt({preserveDrawingBuffer:t.preserveDrawingBuffer,backgroundColor:t.backgroundColor,backgroundAlpha:t.backgroundAlpha,antialias:t.antialias,webgl2:null==t?void 0:t.webgl2});var v=_c();f.renderer.setPixelRatio(1===v?window.devicePixelRatio:1),f.renderer.setSize(512,512)}catch(e){e instanceof Error&&f.throwError(e)}f.getPixelsRenderTarget=new n.WebGLRenderTarget(1,1,{encoding:null!==(u=null===(c=f.renderer)||void 0===c?void 0:c.outputEncoding)&&void 0!==u?u:n.sRGBEncoding}),f.scissor=Object.assign({left:0,bottom:0,width:1,height:1},t.scissor),f.camera=new $t(90),f.scene=new Kt,f.xrCustomObjectsScene=new n.Scene,f.scene.add(f.xrCustomObjectsScene),f.scene.matrixAutoUpdate=!1,f.lastLoadWorkTask=Promise.resolve(),f.requestProxy=null!==(d=t.requestProxy)&&void 0!==d?d:iu,f.networkSubscribe=new Re,f.networkSubscribe.on("network",(function(e,t,r,n){var i;f.emit("network.resource",ss("network.resource",{source:e,requestType:t,requestState:r,detail:n})),null===(i=f.analysis)||void 0===i||i.network(f.works,e,t,r,n)})),f.boundingMesh=(p=new n.Box3(new n.Vector3(-.5,-.5,-.5),new n.Vector3(.5,.5,.5)),void 0===h&&(h=Za),new $a(p,h)),f.boundingMesh.name="bounding",f.scene.add(f.boundingMesh),f.models=Ta(),f.models.push(new Pa),f.lastModels=Ta(),f.readyCallbacks=[],f.syncingState=!1,f.modelGroup=new n.Group,f.modelGroup.visible=!1,f.modelGroup.name="model",f.modelGroup.matrixAutoUpdate=!1,f.modelGroup.renderOrder=-4,f.scene.add(f.modelGroup),f.helperGroup=new n.Group,f.helperGroup.name="helper",f.helperGroup.matrixAutoUpdate=!1,f.scene.add(f.helperGroup),f.videoTexture=new n.VideoTexture(t.videoInstance||function(){var e=document.createElement("video");e.loop=!0,e.autoplay=!0,e.playsInline=!0,e.muted=!0,e.crossOrigin="";var t=function(){document.removeEventListener("touchstart",t,!1),document.removeEventListener("mousedown",t,!1),e.muted=!1};return document.addEventListener("touchstart",t,!1),document.addEventListener("mousedown",t,!1),e}()),function(e){(t=new n.DirectionalLight(16777215,.5)).position.copy(new n.Vector3(1,1,1)),e.add(t);var t=new n.DirectionalLight(16777215,.3);e.add(t),t=new n.AmbientLight(16777215,.3),e.add(t)}(f.scene),f.copyEffect=new Qs(f.renderer,f.scene,f.camera,f.models),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._enableIOSEDR=!1,f.destroyed=!1,f.paused=!0,"undefined"!=typeof window&&(!1!==t.play&&f.play(),f.stopAnimationLoop=Ne.shared.add((function(e,t){for(var r=[],n=2;n<arguments.length;n++)r[n-2]=arguments[n];f.updateTime.apply(f,ce([e,t],r,!1))}),!1,0,10));var m,A=function(){"undefined"!=typeof document&&null===document.fullscreenElement&&"VRPanorama"===f.currentMode&&f.controller.emit("vr.requestExit",ss("vr.requestExit",{}))};if("undefined"!=typeof document&&document.addEventListener("fullscreenchange",A,!1),f.removeEventListeners=function(){"undefined"!=typeof document&&document.removeEventListener("fullscreenchange",A,!1)},f.plugins={},t.plugins&&t.plugins.length)for(var g=0,y=t.plugins;g<y.length;g++){var b=y[g];if("function"==typeof b)b(f);else if(Array.isArray(b)){var x=b[0],w=b[1],E=b[2];if("function"==typeof x){var M=x(f,E);"string"==typeof w&&(f.plugins[w]?f.throwError(new Error("plugin name ".concat(w," is exists."))):f.plugins[w]=M)}}}return f.gpuPickingRenderTarget=new n.WebGLRenderTarget(1,1),f.meshReplaceMaterialMap=new Map,f.meshOriginMaterialMap=new Map,(m=f).on("initAnimation.start",(function(e){m.emit("initAnimationWillStart",e.state.panoIndex,e.state,e.userAction)})),m.on("initAnimation.end",(function(e){m.emit("initAnimationEnded",e.state.panoIndex,e.state,e.userAction)})),m.on("gesture.pan",(function(e){m.emit("wantsGesture","pan",e.pointers,e.isFinal)&&e.preventDefault(),m.emit("wantsPanGesture",e.state,e.isFinal)&&e.preventDefault(),e.defaultPrevented||(m.emit("gesture","pan",e.pointers,e.isFinal),m.emit("panGesture",e.state,e.isFinal))})),m.on("gesture.tap",(function(e){m.emit("wantsGesture","tap",e.pointers,e.isFinal)&&e.preventDefault(),m.emit("wantsTapGesture",e.center.raycaster,e.center.coords,e.isFinal)&&e.preventDefault(),e.defaultPrevented||(m.emit("gesture","tap",e.pointers,e.isFinal),m.emit("tapGesture",e.center.raycaster,e.center.coords,e.isFinal))})),m.on("gesture.press",(function(e){m.emit("wantsGesture","press",e.pointers,e.isFinal)&&e.preventDefault(),m.emit("wantsPressGesture",e.center.raycaster,e.center.coords,e.center.delta,e.isFinal)&&e.preventDefault(),e.defaultPrevented||(m.emit("gesture","press",e.pointers,e.isFinal),m.emit("pressGesture",e.center.raycaster,e.center.coords,e.center.delta,e.isFinal))})),m.on("gesture.pinch",(function(e){m.emit("wantsGesture","pinch",e.pointers,e.isFinal)&&e.preventDefault(),m.emit("wantsPinchGesture",e.scale,e.state.fov,e.isFinal)&&e.preventDefault(),e.defaultPrevented||(m.emit("gesture","pinch",e.pointers,e.isFinal),m.emit("pinchGesture",e.scale,e.state.fov,e.isFinal))})),m.on("gesture.mousewheel",(function(e){m.emit("wantsGesture","mouseWheel",e.pointers,e.isFinal)&&e.preventDefault(),m.emit("wantsMouseWheel",e.center.delta,e.state.fov,e.isFinal)&&e.preventDefault(),e.defaultPrevented||(m.emit("gesture","mouseWheel",e.pointers,e.isFinal),m.emit("mouseWheel",e.center.delta,e.state.fov,e.isFinal))})),m.on("gesture.mousemove",(function(e){m.emit("wantsGesture","mouseMove",e.pointers,e.isFinal)&&e.preventDefault(),e.defaultPrevented||(m.emit("gesture","mouseMove",e.pointers,e.isFinal),m.emit("wantsChangeCameraFov",e.state.fov)&&e.preventDefault())})),m.on("gesture.momentum",(function(e){m.emit("wantsInteriaPan",e.state)&&e.preventDefault(),e.defaultPrevented||m.emit("interiaPan",e.state,e.isFinal)})),m.on("camera.update",(function(e){m.emit("cameraFovUpdate",e.state.fov,e.userAction),m.emit("cameraDirectionUpdate",e.state,e.userAction);var t=Wt(e.state);t.setLength(e.state.distance);var r=e.state.offset.clone().sub(t);m.emit("cameraPositionUpdate",r,e.userAction),m.emit("cameraUpdate",e.state,e.userAction)})),m.on("intersect.update",(function(e){e.intersection?(m.emit("wantsShowIntersectionOnModel",e.raycaster)&&e.preventDefault(),e.defaultPrevented||m.emit("intersectionOnModelUpdate",e.intersection,e.object)):m.emit("intersectionHidden")})),m.on("pano.request",(function(e){var t=m.emit("wantsMoveToPano",e.state.panoIndex,e.options,e.userAction);t||(t=m.emit("wantsToMoveToPano",e.state.panoIndex,e.options,e.userAction)),t&&e.preventDefault(),e.defaultPrevented||m.emit("panoWillLoad",e.state.panoIndex)})),m.on("pano.select",(function(e){m.emit("panoSelected",e.state.panoIndex)})),m.on("pano.moveTo",(function(e){m.emit("panoLoaded",e.state.panoIndex),m.emit("moveToPano",e.state.panoIndex,e.userAction),m.emit("panoWillArrive",e.state.panoIndex,e.state,e.userAction)})),m.on("pano.moving",(function(e){m.emit("movingToPano",e.state.panoIndex,e.prevPano.panoIndex,e.progress)})),m.on("pano.arrived",(function(e){m.emit("panoArrived",e.state.panoIndex,e.state,e.userAction)})),m.on("pano.cancel",(function(e){m.emit("moveToPanoCanceled",e.state.panoIndex)})),m.on("pano.error",(function(e){m.emit("panoLoadError",e.error,e.state.panoIndex)})),m.on("pano.texture.load",(function(e){m.emit("textureStartLoad",e.pano.panoIndex)})),m.on("pano.texture.success",(function(e){m.emit("textureLoaded",e.pano.panoIndex,e.meta)})),m.on("pano.texture.error",(function(e){m.emit("textureError",e.error,e.pano.panoIndex)})),m.on("pano.texture.abort",(function(e){m.emit("textureAbort",e.pano.panoIndex)})),m.on("pano.texture.progress",(function(e){m.emit("textureLoading",e.progress,e.pano.panoIndex)})),m.on("xr.session.start",(function(e){m.emit("webXRSessionStart")})),m.on("xr.session.end",(function(e){m.emit("webXRSessionEnd")})),m.on("xr.gesture.tap",(function(e){m.emit("webXRControllerEvent","tap",e.buttons,{raycaster:e.controllers.raycaster})})),m.on("xr.gesture.press",(function(e){m.emit("webXRControllerEvent","press",e.buttons,{raycaster:e.controllers.raycaster})})),m.on("xr.gesture.buttonUp",(function(e){m.emit("webXRControllerEvent","buttonUp",e.buttons,{raycaster:e.controllers.raycaster})})),m.on("xr.gesture.buttonDown",(function(e){m.emit("webXRControllerEvent","buttonDown",e.buttons,{raycaster:e.controllers.raycaster})})),m.on("xr.controller.update",(function(e){m.emit("webXRControllerRayUpdate",{leftRay:e.left?e.left.raycaster:void 0,rightRay:e.right?e.right.raycaster:void 0}),e.left&&m.emit("webXRAxesUpdate","left",{raycaster:{leftRay:e.left?e.left.raycaster:void 0,rightRay:e.right?e.right.raycaster:void 0},axesState:{up:e.left.axes.up,down:e.left.axes.down,left:e.left.axes.left,right:e.left.axes.right},deltaTime:e.left.deltaTime}),e.right&&m.emit("webXRAxesUpdate","right",{raycaster:{leftRay:e.left?e.left.raycaster:void 0,rightRay:e.right?e.right.raycaster:void 0},axesState:{up:e.right.axes.up,down:e.right.axes.down,left:e.right.axes.left,right:e.right.axes.right},deltaTime:e.right.deltaTime})})),m.on("works.request",(function(e){m.emit("willLoad",e.input,e.works[0],e.state)})),m.on("works.load",(function(e){m.emit("load",e.input,e.works[0],e.state)})),m.on("works.ready",(function(e){m.emit("loaded",e.input,e.works[0])})),m.on("state.change",(function(e){m.emit("stateChange",e.state,e.userAction)})),m.on("currentState.change",(function(e){m.emit("currentStateChange",e.state,e.userAction)})),m.on("state.set",(function(e){m.emit("setState",e.state)})),m.on("state.synced",(function(e){m.emit("stateSynced",e.state)})),m.on("model.request",(function(e){m.emit("modelWillLoad",e.work.model)})),m.on("model.error",(function(e){m.emit("modelLoadError",e.error,e.model)})),m.on("model.load",(function(e){m.emit("modelLoaded",e.model)})),m.on("model.changeShownFloor",(function(e){m.emit("modelShownFloorChange",e.model.shownFloor,e.model.floorLength)})),m.on("render",(function(e){m.emit("renderFrame",e.needsRender)})),m.on("mode.change.request",(function(e){m.emit("wantsChangeMode",e.mode,e.prevMode)})),m.on("mode.change",(function(e){m.emit("modeChange",e.mode,e.prevMode,e.state.panoIndex,e.state,e.userAction)})),m.on("helpers.visible",(function(e){m.emit("helpersVisibleChange",e.object.visible)})),m.on("network.resource",(function(e){m.emit("network",e.source,e.requestType,e.requestState,e.detail)})),f}return ne(t,e),Object.defineProperty(t,"version",{get:function(){return"6.0.0-alpha.49"},enumerable:!1,configurable:!0}),Object.defineProperty(t,"dracoPath",{get:function(){return Gn.decoderPath},set:function(e){Gn.setDecoderPath(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t,"ktx2Path",{get:function(){return Zn.transcoderPath},set:function(e){Zn.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,t,r,i,o){var a=this;if(void 0===i&&(i=1),void 0===o&&(o=new n.Vector3(0,0,0)),!this.renderer)throw new Error("renderer is not initialized.");this.models.setMaterial({constantColor:o}),this.scene.traverse((function(e){if(e instanceof n.Mesh&&!(e instanceof tt)){var t=Object.keys(r).filter((function(t){return t===e.uuid}))[0];if(t)if(a.meshOriginMaterialMap.set(t,e.material),a.meshReplaceMaterialMap.get(t))e.material=a.meshReplaceMaterialMap.get(t);else{var i=new n.ShaderMaterial({uniforms:{color:{value:r[t]}},vertexShader:"\n void main() {\n vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n gl_Position = projectionMatrix * mvPosition;\n }\n ",fragmentShader:"\n uniform vec3 color;\n void main() {\n gl_FragColor = vec4( color, 1.0 );\n }\n "});i.depthTest=e.material.depthTest,i.side=e.material.side,a.meshReplaceMaterialMap.set(t,i),e.material=i}}}));var s=this.renderer.getSize(new n.Vector2);this.camera.setViewOffset(s.width,s.height,e*i,t*i,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(e){e instanceof n.Mesh&&!(e instanceof tt)&&a.meshOriginMaterialMap.get(e.uuid)&&(e.material=a.meshOriginMaterialMap.get(e.uuid))})),this.models.setMaterial({constantColor:null});var c=Object.keys(r).filter((function(e){return r[e].equals((new n.Color).setRGB(l[0]/255,l[1]/255,l[2]/255))}))[0];return c||!1},t.prototype.dispose=function(){var e,t;if(!0!==this.destroyed){delete pu.instances[this.ident],this.emit("dispose"),this.destroyed=!0,this.pause(),this.stopAnimationLoop&&(this.stopAnimationLoop(),delete this.stopAnimationLoop),null===(e=this.renderer)||void 0===e||e.setAnimationLoop(null),this.off(),this.networkSubscribe.off(),this.controller&&(this.controller.destroy(),this.controller=void 0);var r=this.getElement();r&&r.parentNode&&r.parentNode.removeChild(r);var n=this.models.getMaterial();n&&(n.pano0&&n.pano0.map.dispose(),n.pano1&&n.pano1.map!==(null===(t=n.pano0)||void 0===t?void 0:t.map)&&n.pano1.map.dispose());for(var i=0,o=this.models;i<o.length;i++){o[i].dispose()}this.models.length=0,this.models.setMaterial({pano0:null,pano1:null}),this.meshReplaceMaterialMap.forEach((function(e){e.dispose()})),this.meshOriginMaterialMap.forEach((function(e){e.dispose()})),this.renderer instanceof Gt&&this.renderer.forceContextLoss&&this.renderer.forceContextLoss()}},t.prototype.setScissor=function(e){Object.assign(this.scissor,e),this.controller&&this.controller.updateRenderSize&&this.controller.updateRenderSize()},Object.defineProperty(t.prototype,"helperVisible",{get:function(){return this.helperGroup.visible},set:function(e){this.helperGroup.visible!==e&&(this.helperGroup.visible=e,this.emit("helpers.visible",ss("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&&"Panorama"===this.currentMode&&this.changeMode(this.currentMode,this.getCurrentState(),0,!1,!0))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"postProcessingType",{get:function(){return"Panorama"===this.currentMode&&this.enableIOSEDR?"luminance":"Mapview"===this.currentMode&&this.enableEDL?"edl":"Mapview"===this.currentMode&&this.enableHQ?"hq":null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableEDL",{get:function(){return this.models.getMaterial().useEDL},set:function(e){var r,i,o,a;if(!0===e&&this.currentMode!==t.Mode.Mapview)throw new Error("只支持Mapview下开启EDL");if(this.models.setMaterial({useEDL:e}),this.boundingMesh.visible=!e,e){if(!this.screenBuffers){var s=this.getDrawingBufferSize(ou);this.screenBuffers=[new n.WebGLRenderTarget(s.x,s.y,{encoding:null!==(i=null===(r=this.renderer)||void 0===r?void 0:r.outputEncoding)&&void 0!==i?i:n.sRGBEncoding,minFilter:n.NearestFilter,magFilter:n.NearestFilter,format:n.RGBAFormat,type:n.FloatType}),new n.WebGLRenderTarget(s.x,s.y,{encoding:null!==(a=null===(o=this.renderer)||void 0===o?void 0:o.outputEncoding)&&void 0!==a?a:n.sRGBEncoding,minFilter:n.LinearMipMapLinearFilter,magFilter:n.LinearMipMapLinearFilter})]}}else this.screenBuffers&&(this.screenBuffers.forEach((function(e){e.dispose()})),delete this.screenBuffers);this.needsRender=!0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableHQ",{get:function(){return this.models.getMaterial().useHQWeight||this.models.getMaterial().useHQDepth||!1},set:function(e){var r,i;if(!0===e&&this.currentMode!==t.Mode.Mapview)throw new Error("只支持Mapview下开启HQ");if(!0===e?this.models.setMaterial({useHQDepth:!0,useHQWeight:!1,pointShape:"CIRCLE"}):this.models.setMaterial({useHQDepth:!1,useHQWeight:!1}),this.boundingMesh.visible=!e,e){if(!this.screenBuffers){var o=this.getDrawingBufferSize(ou),a=new n.WebGLRenderTarget(o.x,o.y,{minFilter:n.NearestFilter,magFilter:n.NearestFilter,format:n.RGBAFormat,type:n.FloatType,depthTexture:new n.DepthTexture(o.x,o.y,n.UnsignedIntType)});a.depthTexture.format=n.DepthFormat,a.depthBuffer=!0;var s=new n.WebGLRenderTarget(o.x,o.y,{encoding:null!==(i=null===(r=this.renderer)||void 0===r?void 0:r.outputEncoding)&&void 0!==i?i:n.sRGBEncoding,minFilter:n.NearestFilter,magFilter:n.NearestFilter,format:n.RGBAFormat,type:n.FloatType,depthTexture:a.depthTexture});this.screenBuffers=[a,s]}}else this.screenBuffers&&(this.screenBuffers.forEach((function(e){e.dispose()})),delete this.screenBuffers);this.needsRender=!0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enablePostProcessing",{get:function(){return void 0!==this.screenBuffers},set:function(e){var t,r,i,o;if(e){if(!this.screenBuffers){var a=this.getDrawingBufferSize(ou);this.screenBuffers=[new n.WebGLRenderTarget(a.x,a.y,{encoding:null!==(r=null===(t=this.renderer)||void 0===t?void 0:t.outputEncoding)&&void 0!==r?r:n.sRGBEncoding}),new n.WebGLRenderTarget(a.x,a.y,{encoding:null!==(o=null===(i=this.renderer)||void 0===i?void 0:i.outputEncoding)&&void 0!==o?o:n.sRGBEncoding})]}}else this.screenBuffers&&(this.screenBuffers.forEach((function(e){e.dispose()})),delete this.screenBuffers);this.needsRender=!0},enumerable:!1,configurable:!0}),t.prototype.updateConfiguration=function(e){var t=!1;e.panorama&&(Object.assign(this.controllerInits.Panorama,e.panorama),"Panorama"===this.currentMode&&(t=!0)),e.model&&(Object.assign(this.controllerInits.Model,e.model),"Model"===this.currentMode&&(t=!0)),e.floorplan&&(Object.assign(this.controllerInits.Floorplan,e.floorplan),"Floorplan"===this.currentMode&&(t=!0)),e.topview&&(Object.assign(this.controllerInits.Topview,e.topview),"Topview"===this.currentMode&&(t=!0)),e.mapview&&(Object.assign(this.controllerInits.Mapview,e.topview),"Mapview"===this.currentMode&&(t=!0)),e.depthPanorama&&(Object.assign(this.controllerInits.DepthPanorama,e.depthPanorama),"DepthPanorama"===this.currentMode&&(t=!0)),e.vrPanorama&&(Object.assign(this.controllerInits.VRPanorama,e.vrPanorama),"VRPanorama"===this.currentMode&&(t=!0)),e.imageOptions&&(Object.assign(this.imageOptions,e.imageOptions),"Panorama"!==this.currentMode&&"DepthPanorama"!==this.currentMode&&"VRPanorama"!==this.currentMode||(t=!0)),t&&this.controller&&this.currentMode&&this.changeMode(this.currentMode,this.getCurrentState(),0,!1,!0),e.textureOptions&&Object.assign(this.textureOptions,e.textureOptions)},t.prototype.appendTo=function(e,t){if(void 0===t&&(t={}),this.renderer)if(this.renderer instanceof Gt){var r=this.getElement();if(r){e.appendChild(r),this.refresh(t);var n=window.getComputedStyle(e).position;"relative"!==n&&"absolute"!==n&&"fixed"!==n&&"sticky"!==n&&(e.style.position="relative")}}else this.throwError(new Error("cannot call appendTo method when render a external renderer"))},t.prototype.refresh=function(e,t){if(void 0===e&&(e={}),this.renderer){var r=this.getElement();if(r){var n=r.parentNode;if(n&&n.nodeName){var i=e.width,o=void 0===i?n.offsetWidth:i,a=e.height,s=void 0===a?n.offsetHeight:a;this.renderer instanceof Gt&&(t&&this.renderer.setPixelRatio(t),this.renderer.setSize(o,s))}this.controller&&this.controller.updateRenderSize&&this.controller.updateRenderSize(),this.needsRender=!0}}},t.prototype.addExtraElement=function(e){var t=this;return-1===this.extraElements.indexOf(e)&&(this.extraElements.push(e),this.controller&&this.controller.bindExtraElement(e)),function(){return t.removeExtraElement(e)}},t.prototype.removeExtraElement=function(e){var t=this.extraElements.indexOf(e);-1!==t&&(this.extraElements.splice(t,1),this.controller&&this.controller.unbindExtraElement(e))},t.prototype.getPose=function(){var e=this.camera.copyPose(),t=e.longitude,r=e.latitude,n=e.fov,i=e.offset,o=e.distance;return{longitude:t,latitude:r,fov:n,offset:i.clone(),distance:o}},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,t,r){return void 0===r&&(r=!0),this.controller?this.controller.updateCamera(e,t,r):Promise.reject(new Error("controller is not initialized."))},t.prototype.updateCameraWithKeyframes=function(e,t,r){return void 0===r&&(r=!0),this.controller?this.controller.updateCameraWithKeyframes(e,t,r):Promise.reject(new Error("controller is not initialized."))},t.prototype.getLongitudeAndLatitude=function(){var e=this.getPose();return{longitude:e.longitude,latitude:e.latitude}},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 t=new n.Object3D;return t.position.copy(e.position),t.quaternion.copy(e.quaternion),t.scale.set(1,1,1),t.matrix.compose(t.position,t.quaternion,t.scale),t.matrixAutoUpdate=!1,function(e,t){var r=new n.Vector3(0,0,-1);r.applyQuaternion(e.quaternion);var i=t.quaternion.clone().inverse();return r.applyQuaternion(i),{theta:Math.atan2(r.x,-r.z),phi:-Math.asin(r.y),lookAtVector:r}}(this.camera,t)}}return null},Object.defineProperty(t.prototype,"works",{get:function(){var e=cu.get(this);if(!e)return uu;for(var t=0,r=e;t<r.length;t++){var n=r[t];if(!Jo.has(n))return uu}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,t,r,n){var i=this;if(void 0===n&&(n=!0),!this.renderer)throw new Error("renderer is not initialized");var o=this.lastLoadWorkTask.then((function(){return!(o=e)||"object"!=typeof o&&"function"!=typeof o||"function"!=typeof o.then?i.load_(e,t,r,n):e.then((function(e){return i.load_(e,t,r,n)}));var o}));return this.lastLoadWorkTask=o.catch((function(e){i.throwError(e)})),o},t.prototype.load_=function(e,r,i,o){var a,s,l,c,u,d,p=this;void 0===o&&(o=!0);var h=[];if(Array.isArray(e))for(var f=0,v=e;f<v.length;f++){var m=v[f];"string"!=typeof m&&"work"in m?h.push(sa(m.work,m)):h.push(sa(m))}else h.push(sa(e));for(var A=la(h),g=function(e){var t=y;!function(e,t){ca.set(e,t)}(e,new Fe({allowHosts:e.allowHosts,get requestProxy(){return t.requestProxy},get networkSubscribe(){return t.networkSubscribe}}))},y=this,b=0,x=A;b<x.length;b++){g(x[b])}var w=this.works;void 0===r&&(r=0!==w.length?"inherit":"initial");var E=A.initial,M=E.work.observers[0],C=M?{workCode:M.work.workCode,panoIndex:M.panoIndex}:{workCode:E.work.workCode,panoIndex:0},S=null!==(a=E.mode)&&void 0!==a?a:M?"Panorama":"Mapview",I={};if("inherit"===r)S=this.currentMode,(P=A.resolvedObservers[this.panoIndex])?C={workCode:P.work.workCode,panoIndex:P.panoIndex}:"number"==typeof A.initial.panoIndex?C={workCode:A.initial.work.workCode,panoIndex:A.initial.panoIndex}:"Panorama"!==S&&"DepthPanorama"!==S&&"VRPanorama"!==S&&"XRPanorama"!==S||(S="Mapview"),I={longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,distance:this.camera.pose.distance,offset:this.camera.pose.offset.clone()};else if("initial"===r)"number"==typeof E.panoIndex&&(C={workCode:E.work.workCode,panoIndex:E.panoIndex}),E.mode&&(S=E.mode),I={longitude:E.longitude,latitude:E.latitude,fov:E.fov,distance:E.distance,offset:null===(s=E.offset)||void 0===s?void 0:s.clone()};else{var P;if(S=null!==(l=r.mode)&&void 0!==l?l:this.currentMode,"number"==typeof r.panoIndex)(P=A.getResolvedObserver({workCode:null!==(u=null!==(c=r.workCode)&&void 0!==c?c:E.work.workCode)&&void 0!==u?u:"",panoIndex:r.panoIndex}))&&(C={workCode:P.work.workCode,panoIndex:P.panoIndex});I={longitude:r.longitude,latitude:r.latitude,fov:r.fov,distance:r.distance,offset:r.offset}}var T=ie(ie(ie({},C),{mode:S}),I);this.emit("works.request",ss("works.request",{input:e,works:A,state:T,userAction:o}));var B=function(){p.pano=C;var e=p.controller?null!=i?i:p.modeChangeDuration:0,t=ie(ie({initial:{state:T,currentState:p.getCurrentState(),duration:e,userAction:o}},p.commonParams()),p.controllerInits[S]);if(p.controller&&p.currentMode===S)!1===p.controller.updateWork(A,T,e,o)&&(p.controller.destroy(),p.controller=p.applyController(S,t));else{var r=p.currentMode,n=jc[S].initAnimationEndState(t);if(p.controller)p.controller.destroy();else{var a=jc[S].initAnimationEndState(t);p.camera.setFromPose(a),p.modelGroup.visible=!0,p.emit("camera.update",ss("camera.update",{state:p.getCurrentState(),userAction:o}))}p.controller=p.applyController(S,t);var s=ss("mode.change",{prevMode:r,mode:S,state:n,userAction:o});p.emit("mode.change",s)}};if(cu.set(this,A),!this.controller){var R=ie(ie({initial:{state:T,currentState:this.getCurrentState(),duration:0,userAction:o}},this.commonParams()),this.controllerInits[S]),k=jc[S].initAnimationEndState(R);this.camera.setFromPose(k),this.emit("camera.update",ss("camera.update",{state:this.getCurrentState(),userAction:o}))}if(S===t.Mode.Floorplan||S===t.Mode.Topview||S===t.Mode.Mapview||S===t.Mode.Model)this.loadModel(A).then((function(){p.needsRender=!0,B(),p.emit("camera.update",ss("camera.update",{state:p.getCurrentState(),userAction:o}))}));else{if(!this.controller){var O=new n.Vector3,F=A.getResolvedObserver(C);F&&O.copy(F.position),this.camera.setFromPose({fov:I.fov,longitude:I.longitude,latitude:I.latitude,distance:I.distance,offset:null!==(d=I.offset)&&void 0!==d?d:O}),this.needsRender=!0}B(),this.controller.once("pano.moveTo",(function(){p.needsRender=!0,p.emit("camera.update",ss("camera.update",{state:p.getCurrentState(),userAction:o})),p.loadModel(A)}))}return this.emit("works.load",ss("works.load",{input:e,state:this.getCurrentState(),userAction:o,works:A})),this.ready().then((function(){var t;p.emit("works.ready",ss("works.ready",{input:e,state:p.getCurrentState(),userAction:o,works:A})),null===(t=p.analysis)||void 0===t||t.work(A)}))},t.prototype.changeMode=function(e,r,n,i,o){var a=this;return void 0===r&&(r={}),void 0===n&&(n=this.modeChangeDuration),void 0===i&&(i=!0),void 0===o&&(o=!1),new Promise((function(s,l){var c,u,d;if(!a.renderer)throw new Error("renderer is not initialized.");var p="number"==typeof(r=ie({},r)).panoIndex?{workCode:null!==(d=null!==(c=r.workCode)&&void 0!==c?c:null===(u=a.work)||void 0===u?void 0:u.workCode)&&void 0!==d?d:"",panoIndex:r.panoIndex}:a.pano;if(!t.Mode.hasOwnProperty(e)){var h=new Error('mode "'.concat(e,'" is not existed'));return a.throwError(h),void l(h)}if((e===t.Mode.Floorplan||e===t.Mode.Topview||e===t.Mode.Mapview||e===t.Mode.Model)&&!a.models.loaded){h=new Error("model is not ready.");return a.throwError(h),void l(h)}if((e===t.Mode.Panorama||e===t.Mode.VRPanorama||e===t.Mode.XRPanorama)&&!a.works.getResolvedObserver(p)){h=new Error("PanoId ".concat(Xe(p)," not existed."));return a.throwError(h),void l(h)}var f=a.controller,v=a.currentMode,m=function(){if(a.controller&&a.controller.stopMomentumMovement(),a.controller&&!1===o&&v===e)e===t.Mode.Panorama||e===t.Mode.DepthPanorama||e===t.Mode.Model||e===t.Mode.VRPanorama||e===t.Mode.XRPanorama?Ze(a.pano,p)&&"moveToPano"in a.controller&&"function"==typeof a.controller.moveToPano?a.controller.moveToPano(p,ie({duration:n},r),i):a.controller.updateCamera(r,n,i).catch(fe):(Ze(a.pano,p)||(a.pano=p),a.controller.updateCamera(r,n,i).catch(fe));else{var l=ie(ie({},r),p),c=ie(ie({initial:{state:l,currentState:a.getCurrentState(),duration:n,userAction:i}},a.commonParams()),a.controllerInits[e]),u=jc[e].initAnimationEndState(c),d=ss("mode.change.request",{prevMode:a.currentMode,mode:e,state:u,userAction:i});if(a.emit("mode.change.request",d),!d.defaultPrevented){f&&f.destroy(),a.controller=a.applyController(e,c);var h=ss("mode.change",{prevMode:a.currentMode,mode:e,state:u,userAction:i});a.emit("mode.change",h)}}s()};if(e===t.Mode.VRPanorama)a.requestFullscreen(),("undefined"==typeof location||"https:"!==location.protocol?Promise.reject(new Error("Request DeviceOrientation Permission denied.")):"undefined"!=typeof DeviceOrientationEvent&&"function"==typeof DeviceOrientationEvent.requestPermission?DeviceOrientationEvent.requestPermission().then((function(e){if("granted"==e)return Promise.resolve();var t=new Error("Request DeviceOrientation Permission denied.");return Promise.reject(t)})):Promise.resolve()).then((function(){return m()})).catch((function(e){e instanceof Error&&(a.exitFullscreen(),a.throwError(e),l(e))}));else if(e===t.Mode.XRPanorama){var A=Ne.shared.getContext();A?A.end():function(){if("xr"in navigator)return navigator.xr.isSessionSupported("immersive-vr").then((function(e){return e?Promise.resolve():Promise.reject()})).then((function(){return navigator.xr.requestSession("immersive-vr",{optionalFeatures:["local-floor","bounded-floor"]}).then((function(e){return Promise.resolve(e)}))}));var e=new Error("Request XR Permission denied.");return Promise.reject(e)}().then((function(e){Ne.shared.setContext(e),m()})).catch((function(e){e instanceof Error&&(a.throwError(e),l(e))}))}else m()}))},t.prototype.getPixels=function(e,t,r,i,o){if(void 0===o&&(o=1),!this.renderer)throw new Error("renderer is not initialized.");var a=this.getPixelsRenderTarget,s=this.renderer.getSize(new n.Vector2);e=jr(e,Math.floor(r/2),Math.floor(s.x-r)),t=jr(t,Math.floor(i/2),Math.floor(s.y-i)),a.setSize(r*o,i*o),this.renderer.setRenderTarget(a),this.camera.setViewOffset(s.width,s.height,e,s.height-t-i,r,i),this.controller?this.controller.render():this.renderer.render(this.scene,this.camera);var l=new Uint8Array(r*o*i*o*4);return this.renderer.readRenderTargetPixels(a,0,0,r*o,i*o,l),this.renderer.setRenderTarget(null),this.camera.clearViewOffset(),l},t.prototype.getElement=function(){var e;return null===(e=this.renderer)||void 0===e?void 0:e.domElement},Object.defineProperty(t.prototype,"observers",{get:function(){return this.works.resolvedObservers},enumerable:!1,configurable:!0}),t.prototype.render=function(e,t){var r=this;if(void 0===t&&(t=!1),!this.renderer)return null;if(t){var n=this.renderer.getSize(ou);this.scene.traverseVisible((function(e){e.setResolution&&e.setResolution(n.x,n.y)}))}if(this.controller&&this.screenBuffers&&null===this.renderer.getRenderTarget()){var i=this.getDrawingBufferSize(ou);return this.screenBuffers.forEach((function(e){e.setSize(i.x,i.y)})),this.renderer.setRenderTarget(this.screenBuffers[0]),this.controller.render(),this.info={memory:ie({},this.controller.renderer.info.memory),render:ie({},this.controller.renderer.info.render)},"VRPanorama"!==this.currentMode&&"XRPanorama"!==this.currentMode&&this.poweredByRealsee&&nu(this.renderer),e&&Ne.shared.add(e,!0),this.screenBuffers[0]}return this.aroundScissor((function(){r.renderer&&(r.controller?(r.controller.render(),r.info={memory:ie({},r.controller.renderer.info.memory),render:ie({},r.controller.renderer.info.render)}):(r.renderer.render(r.scene,r.camera),r.info={memory:ie({},r.renderer.info.memory),render:ie({},r.renderer.info.render)}),r.poweredByRealsee&&"VRPanorama"!==r.currentMode&&"XRPanorama"!==r.currentMode&&nu(r.renderer)),e&&Ne.shared.add(e,!0)})),null},t.prototype.updateTime=function(e,t){for(var r,i,o,a=this,s=[],l=2;l<arguments.length;l++)s[l-2]=arguments[l];if(!this.destroyed){if(this.works.update(),this.syncingState=this.syncState(e,t),this.controller&&(r=this.controller).updateTime.apply(r,ce([e,t],s,!1)),this.renderer){var c=this.getSize(ou),u=this.renderer.getPixelRatio();this.camera.screenHeight=c.height,this.camera.pixelRatio=u,this.camera.aspect=c.width/c.height}if(this.camera.updateTime(e,t),this.renderer){Zn.detectSupport(this.renderer);var d=this.models.loaded,p=this.models.refined;if(this.models.update(this.renderer,this.camera,this.currentMode),!1===d&&!0===this.models.loaded&&this.emit("models.load",ss("models.load",{models:this.models})),!1===p&&!0===this.models.refined&&this.emit("models.refined",ss("models.refined",{models:this.models})),this.models.loaded){for(var h=0,f=this.models;h<f.length;h++){(A=f[h]).parent!==this.modelGroup&&(this.modelGroup.add(A),this.needsRender=!0)}if(this.lastModels.length>0){for(var v=0,m=this.lastModels;v<m.length;v++){var A=m[v];this.modelGroup.remove(A),A.dispose(),this.needsRender=!0}this.lastModels.length=0}}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 g=new n.Vector2(512,512),y=new n.Vector2(512,512);this.renderer&&(this.renderer.getSize(g),g.x*=this.scissor.width,g.y*=this.scissor.height,this.renderer.getDrawingBufferSize(y),y.x*=this.scissor.width,y.y*=this.scissor.height);for(var b=new n.Box3,x=new n.Box3,w=new n.Vector3(4,4,4),E=0,M=this.works.resolvedObservers;E<M.length;E++){var C=M[E];x.setFromCenterAndSize(C.position,w),b.union(x)}b.union(this.models.bounding),b.getCenter(this.boundingMesh.position),b.getSize(this.boundingMesh.scale),this.boundingMesh.boundingBox.copy(b);var S=null!==(i=this.models.getMaterial())&&void 0!==i?i:{},I=1-(null!==(o=S.modelAlpha)&&void 0!==o?o:0);S.opacity=jr(4*I-3,0,1),S.clippers=null,S.shownFloorIndex=-2,this.boundingMesh.setMaterial(S),this.boundingMesh.needsRender=!1;var P=ss("render.prepare",{needsRender:!0,info:null});if(this.emit("render.prepare",P),!P.defaultPrevented){var T=[];su.multiplyMatrices(this.camera.projectionMatrix,this.camera.matrixWorldInverse),au.setFromProjectionMatrix(su);for(var B=0,R=this.scene.children;B<R.length;B++){var k=R[B];k!==this.modelGroup&&(k!==this.boundingMesh&&k instanceof n.Object3D&&k.traverseVisible((function(t){if(t.setResolution&&t.setResolution(g.x,g.y),t.setTime&&t.setTime(e),t.mixer instanceof n.AnimationMixer){var r=lu.get(t.mixer);r||(r=new n.Clock,lu.set(t.mixer,r)),t.mixer.update(r.getDelta())}(t instanceof n.Mesh||t instanceof n.Line||t instanceof n.Points)&&(t instanceof n.ImmediateRenderObject||!t.frustumCulled||au.intersectsObject(t))&&T.push(t)})))}if(y.width*y.height>8388608?this.renderSwitch01=1^this.renderSwitch01:this.renderSwitch01=0,this.renderer&&!1===this.paused&&0===this.renderSwitch01){var O=void 0;if(!0!==this.onlyRenderIfNeeds)O=this.render();else{if(this.controller&&!0===this.controller.needsRender&&(this.controller.needsRender=!1,this.needsRender=!0),!0===this.camera.needsRender&&(this.camera.needsRender=!1,this.needsRender=!0),!0===this.models.needsRender&&(this.models.needsRender=!1,this.needsRender=!0),!0!==this.needsRender)for(var F=0,D=T;F<D.length;F++){var Q=D[F],L=function(e){!0===e.needsRender?(e.needsRender=!1,a.needsRender=!0):e.mixer&&e.mixer.stats.actions.inUse>0&&(a.needsRender=!0)};L(Q),Q.traverseAncestors(L)}!1!==this.needsRender&&(O=this.render())}if(this.needsRender=!1,this.controller&&this.screenBuffers){var N=this.controller,V=this.screenBuffers;this.aroundScissor((function(){N.postProcessing(V,a.postProcessingType)}))}this.hasListener("render")&&this.emit("render",ss("render",{needsRender:void 0!==O,info:this.info}))}this.needsRender=!1}this.fps.testTime&&e-this.fps.testTime<1e3?this.fps.testCount++:(this.emit("fps",this.fps.testCount),this.fps.testTime=e,this.fps.testCount=0)}},t.prototype.pause=function(){this.paused=!0,this.renderer&&this.renderer instanceof Gt&&this.renderer.clear(!0,!0,!0)},t.prototype.play=function(){this.needsRender=!0,this.paused=!1},t.prototype.moveToPano=function(e,r,n){void 0===r&&(r={}),void 0===n&&(n=!0);var i=this.controller,o=this.renderer;if(!i)return this.throwError(new Error("controller is not initialized.")),Promise.resolve();if(!o)return this.throwError(new Error("renderer is not initialized.")),Promise.resolve();var a=this.works.getResolvedObserver(e);if(!a)return this.throwError(new Error("pano ".concat(JSON.stringify(e)," not existed."))),Promise.resolve();var s={workCode:a.work.workCode,panoIndex:a.panoIndex};return"moveToPano"in i&&"function"==typeof i.moveToPano?i.moveToPano(s,r,n):a&&(this.pano=s,this.once("initAnimation.start",(function(e){r.moveStartCallback&&r.moveStartCallback(e.state)})),this.once("initAnimation.end",(function(e){r.moveEndCallback&&r.moveEndCallback(e.state)})),this.changeMode(t.Mode.Panorama,r,void 0,n)),this.ready()},t.prototype.preloadPano=function(e,t){var r=this;void 0===t&&(t=fe);var n=this.works.getResolvedObserver(e);if(!n)return Promise.reject(new Error("Pano ".concat(JSON.stringify(e)," never found")));n.work.allowHosts;var i=me();return Promise.all(["right","left","up","down","front","back"].map((function(e){var t=ie({key:"pano.".concat(n.panoId,".").concat(e)},eo(r.imageOptions,["size","format","quality","mappings"])),i=n.images[e],o=r.imageOptions.transform?r.imageOptions.transform(i,t):_e(i,t);return ua(n.work).preload(o)}))).then((function(){var e=me()-i;return t(e),e}))},t.prototype.project2d=function(e,t){if(void 0===t&&(t=!1),!this.renderer)return null;if(this.models.length>0&&t){var r=this.camera.position,i=e.clone().sub(r),o=new n.Raycaster(r,i.clone().normalize()),a=this.models.intersectRaycaster(o)[0];if(a&&a.distance+.01<i.length())return null}var s=e.clone().project(this.camera);if(Math.abs(s.z)>1)return null;var l=this.renderer.getSize(new n.Vector2),c=l.x*this.scissor.width,u=l.y*this.scissor.height,d=l.x*this.scissor.left+(s.x+1)/2*c,p=l.y*(1-this.scissor.bottom-this.scissor.height)+(1-s.y)/2*u;return new n.Vector2(d,p)},t.prototype.getRenderObjects=function(e){su.multiplyMatrices(this.camera.projectionMatrix,this.camera.matrixWorldInverse),au.setFromProjectionMatrix(su),e||(e=this.scene);var t=[];return e.traverseVisible((function(e){(e instanceof n.Mesh||e instanceof n.Line||e instanceof n.Points)&&(e instanceof n.ImmediateRenderObject||!e.frustumCulled||au.intersectsObject(e))&&t.push(e)})),t},t.prototype.getCurrentState=function(){return ie(ie({},this.getPose()),{mode:this.currentMode,workCode:this.pano.workCode,panoIndex:this.pano.panoIndex})},t.prototype.setState=function(e,r,i){var o,a,s,l,c,u,d,p,h,f,v;void 0===r&&(r=!1),void 0===i&&(i=!0),!(e=Object.assign({},e)).offset||e instanceof n.Vector3||(e.offset=new n.Vector3(e.offset.x,e.offset.y,e.offset.z)),"number"==typeof e.panoIndex&&(v=e.workCode?{workCode:e.workCode,panoIndex:e.panoIndex}:{workCode:null!==(a=null===(o=this.work)||void 0===o?void 0:o.workCode)&&void 0!==a?a:"",panoIndex:e.panoIndex});var m,A,g,y,b,x=null!==(s=e.mode)&&void 0!==s?s:this.state.mode;if(e.mode!==t.Mode.Floorplan&&e.mode!==t.Mode.Topview&&e.mode!==t.Mode.Mapview&&e.mode!==t.Mode.Model||this.models.loaded){if(this.controller&&this.controller.stopMomentumMovement(),this.state.mode!==x){if("VRPanorama"===x)return void this.changeMode("VRPanorama",void 0,void 0,!0);var w={workCode:null==v?void 0:v.workCode,panoIndex:null==v?void 0:v.panoIndex};"number"==typeof e.longitude&&(w.longitude=e.longitude),"number"==typeof e.latitude&&(w.latitude=e.latitude),"number"==typeof e.fov&&(w.fov=e.fov),"number"==typeof e.distance&&(w.distance=e.distance),e.offset instanceof n.Vector3&&(w.offset=e.offset);var E=ie(ie({initial:{state:w,currentState:this.getCurrentState(),duration:this.modeChangeDuration,userAction:!1}},this.commonParams()),this.controllerInits[x]),M=jc[x].initAnimationEndState(E);m=M.longitude,A=M.latitude,g=M.fov,y=M.offset,b=M.distance}else m=null!==(l=e.longitude)&&void 0!==l?l:this.state.longitude,A=null!==(c=e.latitude)&&void 0!==c?c:this.state.latitude,g=null!==(u=e.fov)&&void 0!==u?u:this.state.fov,y=null!==(d=e.offset)&&void 0!==d?d:this.state.offset,b=null!==(p=e.distance)&&void 0!==p?p:this.state.distance;var C={workCode:(null!=v?v:this.pano).workCode,panoIndex:(null!=v?v:this.pano).panoIndex,mode:x,longitude:m,latitude:A,fov:g,offset:y,distance:b};this.emit("state.set",ss("state.set",{userAction:i,state:C})),cs(this.state,C)||(this.controller&&"VRPanorama"===C.mode&&C.mode!==this.state.mode?(ls(this.state,C),this.changeMode("VRPanorama")):this.controller&&"XRPanorama"===C.mode&&C.mode!==this.state.mode?(ls(this.state,C),this.changeMode("XRPanorama")):(ls(this.state,C),this.controller&&i&&(this.controller.userAction=!1),r&&this.state.mode===C.mode&&(this.syncingState=this.syncState(me(),0,r),this.syncingState&&(null===(h=this.controller)||void 0===h||h.updateTime(me(),0),this.syncingState=!1)),this.emit("state.change",ss("state.change",{userAction:i,state:this.state})),null===(f=this.analysis)||void 0===f||f.state(this.works,this.state)))}else this.throwError(new Error("model is not ready."))},t.prototype.aroundScissor=function(e){if(this.renderer)if("XRPanorama"!==this.state.mode){var t=new n.Vector2,r=0!==this.scissor.left||0!==this.scissor.bottom||1!==this.scissor.width||1!==this.scissor.height;if(r){this.renderer.getSize(t);var i=Math.floor(t.x*this.scissor.left),o=Math.floor(t.y*this.scissor.bottom),a=Math.floor(t.x*this.scissor.width),s=Math.floor(t.y*this.scissor.height);this.renderer.setViewport(i,o,a,s),this.renderer.setScissor(i,o,a,s),this.renderer.setScissorTest(!0)}e(),r&&(this.renderer.setViewport(0,0,t.x,t.y),this.renderer.setScissor(0,0,t.x,t.y),this.renderer.setScissorTest(!1))}else e()},t.prototype.syncState=function(e,r,i){void 0===i&&(i=!1);var o=this.stateSynced;if(this.stateSynced=!1,0===this.works.length)return!1;if(!this.controller)return!1;if(this.state.mode!==this.currentMode){var a={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,a,this.modeChangeDuration,this.controller.userAction),!0}if(!this.controller.isReady())return!1;if(this.controller instanceof jc.Model){if(!this.camera.pose.offset.equals(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,ie(ie({},s),{duration:i?0:void 0}),!1),!0}}else{var l={workCode:this.state.workCode,panoIndex:this.state.panoIndex};if(!Ze(l,this.pano)&&"moveToPano"in this.controller&&"function"==typeof this.controller.moveToPano){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 jc.Floorplan||this.controller instanceof jc.Topview||this.controller instanceof jc.Mapview){var c=Math.PI/45,u=i?this.state.fov:is(this.camera.pose.fov,this.state.fov,1),d=Math.abs(this.camera.pose.distance-this.state.distance),p=d>3?d/15:.2,h=i?this.state.distance:is(this.camera.pose.distance,this.state.distance,p),f=this.camera.pose.offset.distanceTo(this.state.offset),v=f>3?f/15:.2,m=i?(new n.Vector3).copy(this.state.offset):function(e,t,r){if(e.equals(t))return(new n.Vector3).copy(t);var i=(new n.Vector3).subVectors(t,e);return i.lengthSq()<r*r?i.copy(t):i.setLength(r).add(e)}(this.camera.pose.offset,this.state.offset,v),A=i?{longitude:this.state.longitude,latitude:this.state.latitude}:os({longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},{longitude:this.state.longitude,latitude:this.state.latitude},c),g=A.longitude,y=A.latitude;if(Ya(u,this.camera.pose.fov)||Ja(m,this.camera.pose.offset)||Ya(h,this.camera.pose.distance)||Ya(g,this.camera.pose.longitude,2*Math.PI)||Ya(y,this.camera.pose.latitude)){var b={x:m.x,y:m.y,z:m.z},x={fov:u};return Object.assign(b,{distance:h}),Object.assign(x,{longitude:g,latitude:y}),this.controller.stopMomentumMovement(),this.controller.cameraMotion.set(x,0).catch(fe),this.controller.locationMotion.set(b,0).catch(fe),!0}}else{var w=Math.PI/45,E=(u=i?this.state.fov:is(this.camera.pose.fov,this.state.fov,1),i?{longitude:this.state.longitude,latitude:this.state.latitude}:os({longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},{longitude:this.state.longitude,latitude:this.state.latitude},w));g=E.longitude,y=E.latitude;if(Ya(g,this.camera.pose.longitude,2*Math.PI)||Ya(y,this.camera.pose.latitude)||Ya(u,this.camera.pose.fov))return this.controller.stopMomentumMovement(),this.controller.cameraMotion.set({longitude:g,latitude:y,fov:u},0).catch(fe),!0}if(this.stateSynced=!0,!1===o&&this.emit("state.synced",ss("state.synced",{userAction:!1,state:this.state})),this.readyCallbacks.length&&this.stateSynced){var M=this.currentMode;if(!(M===t.Mode.Floorplan||M===t.Mode.Topview||M===t.Mode.Mapview||M===t.Mode.Model)||this.models.loaded){var C=this.readyCallbacks.slice();this.readyCallbacks.length=0;for(var S=0,I=C;S<I.length;S++){var P=I[S];this.controller instanceof jc.Panorama?!0!==P.tile||this.controller.isTileReady()?P():this.readyCallbacks.push(P):P()}}}return!1},t.prototype.ready=function(e){var t=this;return void 0===e&&(e={}),new Promise((function(r){var n;t.readyCallbacks.push(Object.assign(r,{tile:null!==(n=e.tile)&&void 0!==n&&n}))}))},t.prototype.requestFullscreen=function(){var e;if(as()){var t=null===(e=this.getElement())||void 0===e?void 0:e.parentNode;t&&"requestFullscreen"in t&&"undefined"!=typeof document&&null===document.fullscreenElement&&t.requestFullscreen()}},t.prototype.exitFullscreen=function(){"undefined"!=typeof document&&document.fullscreenElement&&"exitFullscreen"in document&&document.exitFullscreen()},t.prototype.throwError=function(e){this.hasListener("error")?this.emit("error",e):console.error(e)},t.prototype.loadModel=function(e){for(var t=this,r=[],n=function(e){var n=i.models.filter((function(t){var r;return(null===(r=t.work)||void 0===r?void 0:r.workCode)===e.workCode}))[0];if(n)n.work=e,r.push(n);else{var o=new Pa({onError:function(r){t.emit("model.error",ss("model.request",{work:e,model:o,error:r}))},onShownFloorChange:function(r){t.emit("model.changeShownFloor",ss("model.request",{work:e,model:o,error:null}))},onLoad:function(){t.emit("model.load",ss("model.request",{work:e,model:o,error:null}))}});r.push(o),i.emit("model.request",ss("model.request",{work:e,model:o,error:null})),o.load(e,{textureOptions:i.textureOptions})}},i=this,o=0,a=e;o<a.length;o++){n(a[o])}if(this.models.length>0){for(var s=0,l=this.models;s<l.length;s++){var c=l[s];-1===r.indexOf(c)&&this.lastModels.push(c)}this.models.length=0}for(var u=0,d=r;u<d.length;u++){c=d[u];this.models.push(c)}return this.renderer&&(this.models.loaded=!1),new Promise((function(e){t.on("models.load",(function(){e()}))}))},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,enableIOSEDR:this._enableIOSEDR,enableEDL:this.enableEDL,enableHQ:this.enableHQ,extraElements:this.extraElements,videoTexture:this.videoTexture}},t.prototype.applyController=function(e,r){var n=this;if(!this.renderer)throw new Error("renderer is not initialized.");e!==t.Mode.Mapview&&(this.enableEDL=!1,this.enableHQ=!1);var i=jc[e];if(e!==this.currentMode)for(var o=0,a=this.models;o<a.length;o++){a[o].show()}this.currentMode=e;for(var s=new i(r),l=function(e){s.on(e,(function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];if(n.emit.apply(n,ce([e],t,!1)))return!1}))},c=0,u=Uc;c<u.length;c++){l(u[c])}var d=jc[e].initAnimationEndState(r),p=r.initial.userAction;return cs(this.state,d)||(ls(this.state,d),this.emit("state.change",ss("state.change",{userAction:p,state:this.state}))),this.emit("currentState.change",ss("currentState.change",{userAction:p,state:this.getCurrentState()})),s.on("camera.update",(function(e){var t;if(n.controller){var r=n.controller.getTargetState();e.userAction&&!1===n.syncingState&&n.state.mode===r.mode&&!cs(n.state,r)&&(ls(n.state,r),n.emit("state.change",ss("state.change",{userAction:e.userAction,state:n.state})),null===(t=n.analysis)||void 0===t||t.state(n.works,n.state))}n.emit("currentState.change",ss("currentState.change",{userAction:e.userAction,state:n.getCurrentState()}))})),s.on("initAnimation.start",(function(e){var t,r=e.state,i=e.userAction;i&&n.state.mode===r.mode&&!cs(n.state,r)&&(ls(n.state,r),n.emit("state.change",ss("state.change",{userAction:i,state:n.state})),null===(t=n.analysis)||void 0===t||t.state(n.works,n.state))})),s.on("initAnimation.end",(function(e){var t,r=e.state,i=e.userAction;i&&n.state.mode===r.mode&&!cs(n.state,r)&&(ls(n.state,r),n.emit("state.change",ss("state.change",{userAction:i,state:n.state})),null===(t=n.analysis)||void 0===t||t.state(n.works,n.state))})),s.on("pano.moveTo",(function(e){var t,r=e.state,i=e.userAction;n.pano={workCode:r.workCode,panoIndex:r.panoIndex},i&&n.state.mode===r.mode&&!cs(n.state,r)&&(ls(n.state,r),n.emit("state.change",ss("state.change",{userAction:i,state:n.state})),null===(t=n.analysis)||void 0===t||t.state(n.works,n.state))})),s.on("pano.arrived",(function(e){var t,r=e.state,i=e.userAction;i&&n.state.mode===r.mode&&!cs(n.state,r)&&(ls(n.state,r),n.emit("state.change",ss("state.change",{userAction:i,state:n.state})),null===(t=n.analysis)||void 0===t||t.state(n.works,n.state))})),s.on("pano.moveTo",(function(e){var t=e.userAction;n.emit("currentState.change",ss("currentState.change",{userAction:t,state:n.getCurrentState()}))})),s.on("pano.request",(function(e){n.emit("pano.request",e),e.defaultPrevented||n.moveToPano(e.state,e.options,e.userAction)})),s.on("vr.requestExit",(function(){n.currentMode===t.Mode.VRPanorama&&(n.exitFullscreen(),n.changeMode(t.Mode.Panorama))})),s.on("error",(function(e){return n.throwError(e)})),s},t.prototype.removeEventListeners=function(){},t.Mode={Panorama:"Panorama",Model:"Model",Floorplan:"Floorplan",Topview:"Topview",Mapview:"Mapview",DepthPanorama:"DepthPanorama",VRPanorama:"VRPanorama",XRPanorama:"XRPanorama"},t.Line=null,t}(he),pu={instances:{},constructor:du};"undefined"!=typeof window&&Object.assign(window,{__FIVE_DEBUG__:pu});var hu=function(){function e(){}return e.createButton=function(e){var t=document.createElement("button");function r(){t.style.display="",t.style.cursor="auto",t.style.left="calc(50% - 75px)",t.style.width="150px",t.onmouseenter=null,t.onmouseleave=null,t.onclick=null,t.textContent="VR NOT SUPPORTED"}function n(e){e.style.position="absolute",e.style.bottom="20px",e.style.padding="12px 6px",e.style.border="1px solid #fff",e.style.borderRadius="4px",e.style.background="rgba(0,0,0,0.1)",e.style.color="#fff",e.style.font="normal 13px sans-serif",e.style.textAlign="center",e.style.opacity="0.5",e.style.outline="none",e.style.zIndex="999"}if("xr"in navigator)return t.id="VRButton",t.style.display="none",n(t),navigator.xr.isSessionSupported("immersive-vr").then((function(n){n?(t.style.display="",t.style.cursor="pointer",t.style.left="calc(50% - 50px)",t.style.width="100px",t.textContent="ENTER VR",t.onmouseenter=function(){t.style.opacity="1.0"},t.onmouseleave=function(){t.style.opacity="0.5"},t.onclick=function(){e&&e()}):r()})),t;var i=document.createElement("a");return!1===window.isSecureContext?(i.href=document.location.href.replace(/^http:/,"https:"),i.innerHTML="WEBXR NEEDS HTTPS"):(i.href="https://immersiveweb.dev/",i.innerHTML="WEBXR NOT AVAILABLE"),i.style.left="calc(50% - 90px)",i.style.width="180px",i.style.textDecoration="none",n(i),i},e}();exports.AnimationFrameLoop=Ne,exports.BVH=qr,exports.BVHIntersect=Qr,exports.BVHNode=Dr,exports.BVHVector3=Fr,exports.Camera=$t,exports.Fetcher=Fe,exports.Five=du,exports.InternalWebGLRenderer=Gt,exports.IntersectMesh=Ha,exports.Model=Pa,exports.NetworkSubscribe=Re,exports.PBMContainer=ut,exports.PBMGroup=et,exports.PBMMesh=tt,exports.PBMMeshMaterial=Ht,exports.PROXY_CONTROLLER_EVENT_NAMES=Uc,exports.PanoCircleMesh=Qa,exports.PanoCircleMeshCustom=Ua,exports.PanoCircleMeshSolid=Va,exports.RequestScheduler=Ir,exports.Scene=Kt,exports.Subscribe=he,exports.TextureLoader=zt,exports.Tile=Sr,exports.Tile3DModel=Vo,exports.TileCubeTextureTarget=Vt,exports.TileNode=Zr,exports.Tileset=Or,exports.TilesetCache=Br,exports.TilesetTraverser=kr,exports.Work=Zo,exports.XRButton=hu,exports.defaultImageURLTransform=_e,exports.defaultPbmParameters=it,exports.getViewportScale=_c,exports.imageSupport=We,exports.isPanoId=$e,exports.loadAt3d=Mo,exports.loadB3dm=Si,exports.loadDome=To,exports.loadDomez=Do,exports.loadPbm=mo,exports.loadPnts=zi,exports.panoEqual=Ze,exports.panoParse=Je,exports.panoStringify=Xe,exports.parseWork=sa;
|