@realsee/dnalogel 2.1.0-alpha.26 → 2.1.0-alpha.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/dist/index.cjs.js +556 -0
  2. package/dist/index.es.js +21392 -0
  3. package/dist/index.js +5104 -4997
  4. package/dist/index.umd.js +556 -0
  5. package/docs/classes/CruisePluginController.html +14 -14
  6. package/docs/classes/Magnifier.html +4 -4
  7. package/docs/classes/ModelRoomLabelController.html +4 -4
  8. package/docs/classes/Object3DHelperController.html +9 -9
  9. package/docs/classes/PaintBrush.html +3 -3
  10. package/docs/classes/PanoTagPluginController.html +23 -23
  11. package/docs/enums/CameraMovementEffect.html +2 -2
  12. package/docs/enums/ContentType.html +7 -7
  13. package/docs/enums/DIRECTION.html +1 -1
  14. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +1 -1
  15. package/docs/enums/DimensionType.html +1 -1
  16. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +1 -1
  17. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +1 -1
  18. package/docs/enums/LinkType.html +1 -1
  19. package/docs/enums/PaintBrushTypeEnum.html +1 -1
  20. package/docs/enums/PointType.html +1 -1
  21. package/docs/enums/Rotation.html +2 -2
  22. package/docs/index.html +1 -1
  23. package/docs/interfaces/CSS3DRenderPluginEventMap.html +2 -2
  24. package/docs/interfaces/CSS3DRenderPluginState.html +2 -2
  25. package/docs/interfaces/CameraMovementPluginExportType.html +2 -2
  26. package/docs/interfaces/ContentTypeMap.html +3 -3
  27. package/docs/interfaces/FloorplanBounding.html +4 -4
  28. package/docs/interfaces/FloorplanData.html +2 -2
  29. package/docs/interfaces/FloorplanEntrance.html +7 -7
  30. package/docs/interfaces/FloorplanExtraObject.html +3 -3
  31. package/docs/interfaces/FloorplanExtraObject3D.html +2 -2
  32. package/docs/interfaces/FloorplanFloorData.html +2 -2
  33. package/docs/interfaces/FloorplanImagePosition.html +2 -2
  34. package/docs/interfaces/FloorplanObserver.html +2 -2
  35. package/docs/interfaces/FloorplanOutlineItem.html +2 -2
  36. package/docs/interfaces/FloorplanPosition.html +2 -2
  37. package/docs/interfaces/FloorplanRoomItem.html +6 -6
  38. package/docs/interfaces/FloorplanRoomLabelItem.html +3 -3
  39. package/docs/interfaces/FloorplanServerBounding.html +4 -4
  40. package/docs/interfaces/FloorplanServerComputedData.html +1 -1
  41. package/docs/interfaces/FloorplanServerData.html +2 -2
  42. package/docs/interfaces/FloorplanServerDoorItem.html +1 -1
  43. package/docs/interfaces/FloorplanServerDoorPosition.html +1 -1
  44. package/docs/interfaces/FloorplanServerEntrance.html +7 -7
  45. package/docs/interfaces/FloorplanServerFloorData.html +2 -2
  46. package/docs/interfaces/FloorplanServerImagePosition.html +2 -2
  47. package/docs/interfaces/FloorplanServerObserver.html +2 -2
  48. package/docs/interfaces/FloorplanServerOutlineItem.html +2 -2
  49. package/docs/interfaces/FloorplanServerPosition.html +2 -2
  50. package/docs/interfaces/FloorplanServerRoomItem.html +7 -7
  51. package/docs/interfaces/FloorplanServerRoomLabelItem.html +3 -3
  52. package/docs/interfaces/ItemLabelPluginData.html +1 -1
  53. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +1 -1
  54. package/docs/interfaces/ItemLabelPluginParametersType.html +1 -1
  55. package/docs/interfaces/LineJson.html +1 -1
  56. package/docs/interfaces/ModelChassisCompassPluginData.html +1 -1
  57. package/docs/interfaces/ModelChassisCompassPluginExportType.html +1 -1
  58. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +1 -1
  59. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +1 -1
  60. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +1 -1
  61. package/docs/interfaces/ModelItemLabelPluginData.html +1 -1
  62. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +1 -1
  63. package/docs/interfaces/ModelItemLabelPluginParametersType.html +1 -1
  64. package/docs/interfaces/ModelRoomLabelPluginData.html +1 -1
  65. package/docs/interfaces/ModelTVVideoPluginData.html +1 -1
  66. package/docs/interfaces/ModelTVVideoPluginExportType.html +1 -1
  67. package/docs/interfaces/ModelTVVideoPluginParameterType.html +1 -1
  68. package/docs/interfaces/ModelViewPluginExportType.html +1 -1
  69. package/docs/interfaces/Object3DHelperState.html +1 -1
  70. package/docs/interfaces/OpenParameter.html +2 -2
  71. package/docs/interfaces/PaintBrushAction.html +7 -7
  72. package/docs/interfaces/PaintBrushConfigs.html +1 -1
  73. package/docs/interfaces/PaintBrushState.html +1 -1
  74. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +6 -6
  75. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +1 -1
  76. package/docs/interfaces/PanoMeasureParameterType.html +2 -2
  77. package/docs/interfaces/PanoRulerPluginExportType.html +1 -1
  78. package/docs/interfaces/PanoRulerPluginOptions.html +1 -1
  79. package/docs/interfaces/PanoRulerPluginParameterType.html +1 -1
  80. package/docs/interfaces/PanoRulerProPluginExportType.html +1 -1
  81. package/docs/interfaces/PanoRulerProPluginOptions.html +1 -1
  82. package/docs/interfaces/PanoRulerProPluginParameterType.html +1 -1
  83. package/docs/interfaces/PanoRulerProPluginState.html +1 -1
  84. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +1 -1
  85. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +1 -1
  86. package/docs/interfaces/PanoSpatialTagPluginData.html +1 -1
  87. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +1 -1
  88. package/docs/interfaces/PanoSpatialTagPluginExportType.html +1 -1
  89. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +1 -1
  90. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +1 -1
  91. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +1 -1
  92. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +1 -1
  93. package/docs/interfaces/Point.html +1 -1
  94. package/docs/interfaces/PointJson.html +1 -1
  95. package/docs/interfaces/Room.html +1 -1
  96. package/docs/interfaces/RoomInfo.html +1 -1
  97. package/docs/interfaces/RoomLabel.html +7 -7
  98. package/docs/interfaces/RoomRules.html +1 -1
  99. package/docs/interfaces/Rooms.html +1 -1
  100. package/docs/interfaces/Scissor.html +5 -5
  101. package/docs/interfaces/TagConfig.html +3 -3
  102. package/docs/interfaces/Tags.html +3 -3
  103. package/docs/modules.html +21 -21
  104. package/libs/CSS3DRenderPlugin/CSS3DRender.d.ts +15 -4
  105. package/libs/CSS3DRenderPlugin/CSS3DRender.js +197 -143
  106. package/libs/CSS3DRenderPlugin/Controller.d.ts +2 -0
  107. package/libs/CSS3DRenderPlugin/Controller.js +47 -26
  108. package/libs/CSS3DRenderPlugin/utils/CSS3DObjectPlus.d.ts +22 -4
  109. package/libs/CSS3DRenderPlugin/utils/CSS3DObjectPlus.js +56 -37
  110. package/libs/Object3DHelperPlugin/Controller.js +24 -23
  111. package/libs/PanoTagPlugin/Components/Common/MediaItem.js +81 -81
  112. package/libs/PanoTagPlugin/Components/Tag/ImageTextTag.js +69 -68
  113. package/libs/PanoTagPlugin/controller/index.js +1 -1
  114. package/libs/shared-utils/Object3DHelper/Base/BaseController.js +63 -53
  115. package/libs/shared-utils/Object3DHelper/Controller/MoveController.js +12 -13
  116. package/libs/shared-utils/Object3DHelper/Controller/RectangleScaleController.js +43 -45
  117. package/libs/shared-utils/Object3DHelper/Helper/Objects/ArrowGroup.js +16 -10
  118. package/libs/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -1
  119. package/libs/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.js +43 -43
  120. package/libs/shared-utils/Object3DHelper/Helper/RotateHelper.js +2 -2
  121. package/libs/shared-utils/Object3DHelper/index.js +12 -12
  122. package/package.json +2 -2
@@ -0,0 +1,556 @@
1
+ "use strict";var Vu=Object.defineProperty;var Yu=(n,t,e)=>t in n?Vu(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e;var v=(n,t,e)=>(Yu(n,typeof t!="symbol"?t+"":t,e),e);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const ke=require("@realsee/five"),X=require("three"),ji=require("three/examples/jsm/renderers/CSS3DRenderer"),Rl=require("@realsee/five/line"),Hl=require("three/examples/jsm/loaders/FBXLoader");function Uu(n){if(n&&n.__esModule)return n;const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const e in n)if(e!=="default"){const i=Object.getOwnPropertyDescriptor(n,e);Object.defineProperty(t,e,i.get?i:{enumerable:!0,get:()=>n[e]})}}return t.default=n,Object.freeze(t)}const M=Uu(X);function Fl(){}const rr=()=>Promise.resolve(),ar={__queue:Promise.resolve()};function Zu(n=rr){ar.__queue=ar.__queue.then(n).catch(rr)}function ui(n,t,e){const i=n.x,s=n.y,o=Math.floor(i/t*1e4)/1e4,r=Math.floor(s/e*1e4)/1e4;return{x:o,y:r}}function Is(n,t,e){const{x:i,y:s}=n,o=i*t,r=s*e;return{x:o,y:r}}function di(n){if(n.length<2)return{};const t=n.slice(-2),e=t[0],i={x:(t[0].x+t[1].x)/2,y:(t[0].y+t[1].y)/2};return{control:e,end:i}}function Ju(n,t,e=Fl){new Promise(i=>{setTimeout(()=>{e(),i(!0)},t*n)})}const qu=window,lr=window.requestAnimationFrame||qu.webkitRequestAnimationFrame||(n=>setTimeout(n,16));function Li(n,t=0){t<=0?lr(n):lr(()=>Li(n,t-1))}var Zt={Linear:{None:function(n){return n}},Quadratic:{In:function(n){return n*n},Out:function(n){return n*(2-n)},InOut:function(n){return(n*=2)<1?.5*n*n:-.5*(--n*(n-2)-1)}},Cubic:{In:function(n){return n*n*n},Out:function(n){return--n*n*n+1},InOut:function(n){return(n*=2)<1?.5*n*n*n:.5*((n-=2)*n*n+2)}},Quartic:{In:function(n){return n*n*n*n},Out:function(n){return 1- --n*n*n*n},InOut:function(n){return(n*=2)<1?.5*n*n*n*n:-.5*((n-=2)*n*n*n-2)}},Quintic:{In:function(n){return n*n*n*n*n},Out:function(n){return--n*n*n*n*n+1},InOut:function(n){return(n*=2)<1?.5*n*n*n*n*n:.5*((n-=2)*n*n*n*n+2)}},Sinusoidal:{In:function(n){return 1-Math.cos(n*Math.PI/2)},Out:function(n){return Math.sin(n*Math.PI/2)},InOut:function(n){return .5*(1-Math.cos(Math.PI*n))}},Exponential:{In:function(n){return n===0?0:Math.pow(1024,n-1)},Out:function(n){return n===1?1:1-Math.pow(2,-10*n)},InOut:function(n){return n===0?0:n===1?1:(n*=2)<1?.5*Math.pow(1024,n-1):.5*(-Math.pow(2,-10*(n-1))+2)}},Circular:{In:function(n){return 1-Math.sqrt(1-n*n)},Out:function(n){return Math.sqrt(1- --n*n)},InOut:function(n){return(n*=2)<1?-.5*(Math.sqrt(1-n*n)-1):.5*(Math.sqrt(1-(n-=2)*n)+1)}},Elastic:{In:function(n){return n===0?0:n===1?1:-Math.pow(2,10*(n-1))*Math.sin((n-1.1)*5*Math.PI)},Out:function(n){return n===0?0:n===1?1:Math.pow(2,-10*n)*Math.sin((n-.1)*5*Math.PI)+1},InOut:function(n){return n===0?0:n===1?1:(n*=2,n<1?-.5*Math.pow(2,10*(n-1))*Math.sin((n-1.1)*5*Math.PI):.5*Math.pow(2,-10*(n-1))*Math.sin((n-1.1)*5*Math.PI)+1)}},Back:{In:function(n){var t=1.70158;return n*n*((t+1)*n-t)},Out:function(n){var t=1.70158;return--n*n*((t+1)*n+t)+1},InOut:function(n){var t=2.5949095;return(n*=2)<1?.5*(n*n*((t+1)*n-t)):.5*((n-=2)*n*((t+1)*n+t)+2)}},Bounce:{In:function(n){return 1-Zt.Bounce.Out(1-n)},Out:function(n){return n<1/2.75?7.5625*n*n:n<2/2.75?7.5625*(n-=1.5/2.75)*n+.75:n<2.5/2.75?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375},InOut:function(n){return n<.5?Zt.Bounce.In(n*2)*.5:Zt.Bounce.Out(n*2-1)*.5+.5}}},Nn;typeof self>"u"&&typeof process<"u"&&process.hrtime?Nn=function(){var n=process.hrtime();return n[0]*1e3+n[1]/1e6}:typeof self<"u"&&self.performance!==void 0&&self.performance.now!==void 0?Nn=self.performance.now.bind(self.performance):Date.now!==void 0?Nn=Date.now:Nn=function(){return new Date().getTime()};var rn=Nn,Nl=function(){function n(){this._tweens={},this._tweensAddedDuringUpdate={}}return n.prototype.getAll=function(){var t=this;return Object.keys(this._tweens).map(function(e){return t._tweens[e]})},n.prototype.removeAll=function(){this._tweens={}},n.prototype.add=function(t){this._tweens[t.getId()]=t,this._tweensAddedDuringUpdate[t.getId()]=t},n.prototype.remove=function(t){delete this._tweens[t.getId()],delete this._tweensAddedDuringUpdate[t.getId()]},n.prototype.update=function(t,e){t===void 0&&(t=rn()),e===void 0&&(e=!1);var i=Object.keys(this._tweens);if(i.length===0)return!1;for(;i.length>0;){this._tweensAddedDuringUpdate={};for(var s=0;s<i.length;s++){var o=this._tweens[i[s]],r=!e;o&&o.update(t,r)===!1&&!e&&delete this._tweens[i[s]]}i=Object.keys(this._tweensAddedDuringUpdate)}return!0},n}(),In={Linear:function(n,t){var e=n.length-1,i=e*t,s=Math.floor(i),o=In.Utils.Linear;return t<0?o(n[0],n[1],i):t>1?o(n[e],n[e-1],e-i):o(n[s],n[s+1>e?e:s+1],i-s)},Bezier:function(n,t){for(var e=0,i=n.length-1,s=Math.pow,o=In.Utils.Bernstein,r=0;r<=i;r++)e+=s(1-t,i-r)*s(t,r)*n[r]*o(i,r);return e},CatmullRom:function(n,t){var e=n.length-1,i=e*t,s=Math.floor(i),o=In.Utils.CatmullRom;return n[0]===n[e]?(t<0&&(s=Math.floor(i=e*(1+t))),o(n[(s-1+e)%e],n[s],n[(s+1)%e],n[(s+2)%e],i-s)):t<0?n[0]-(o(n[0],n[0],n[1],n[1],-i)-n[0]):t>1?n[e]-(o(n[e],n[e],n[e-1],n[e-1],i-e)-n[e]):o(n[s?s-1:0],n[s],n[e<s+1?e:s+1],n[e<s+2?e:s+2],i-s)},Utils:{Linear:function(n,t,e){return(t-n)*e+n},Bernstein:function(n,t){var e=In.Utils.Factorial;return e(n)/e(t)/e(n-t)},Factorial:function(){var n=[1];return function(t){var e=1;if(n[t])return n[t];for(var i=t;i>1;i--)e*=i;return n[t]=e,e}}(),CatmullRom:function(n,t,e,i,s){var o=(e-n)*.5,r=(i-t)*.5,l=s*s,a=s*l;return(2*t-2*e+o+r)*a+(-3*t+3*e-2*o-r)*l+o*s+t}}},fo=function(){function n(){}return n.nextId=function(){return n._nextId++},n._nextId=0,n}(),Gl=new Nl,ho=function(){function n(t,e){e===void 0&&(e=Gl),this._object=t,this._group=e,this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=Zt.Linear.None,this._interpolationFunction=In.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._id=fo.nextId(),this._isChainStopped=!1,this._goToEnd=!1}return n.prototype.getId=function(){return this._id},n.prototype.isPlaying=function(){return this._isPlaying},n.prototype.isPaused=function(){return this._isPaused},n.prototype.to=function(t,e){return this._valuesEnd=Object.create(t),e!==void 0&&(this._duration=e),this},n.prototype.duration=function(t){return this._duration=t,this},n.prototype.start=function(t){if(this._isPlaying)return this;if(this._group&&this._group.add(this),this._repeat=this._initialRepeat,this._reversed){this._reversed=!1;for(var e in this._valuesStartRepeat)this._swapEndStartRepeatValues(e),this._valuesStart[e]=this._valuesStartRepeat[e]}return this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=t!==void 0?typeof t=="string"?rn()+parseFloat(t):t:rn(),this._startTime+=this._delayTime,this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat),this},n.prototype._setupProperties=function(t,e,i,s){for(var o in i){var r=t[o],l=Array.isArray(r),a=l?"array":typeof r,c=!l&&Array.isArray(i[o]);if(!(a==="undefined"||a==="function")){if(c){var u=i[o];if(u.length===0)continue;u=u.map(this._handleRelativeValue.bind(this,r)),i[o]=[r].concat(u)}if((a==="object"||l)&&r&&!c){e[o]=l?[]:{};for(var d in r)e[o][d]=r[d];s[o]=l?[]:{},this._setupProperties(r,e[o],i[o],s[o])}else typeof e[o]>"u"&&(e[o]=r),l||(e[o]*=1),c?s[o]=i[o].slice().reverse():s[o]=e[o]||0}}},n.prototype.stop=function(){return this._isChainStopped||(this._isChainStopped=!0,this.stopChainedTweens()),this._isPlaying?(this._group&&this._group.remove(this),this._isPlaying=!1,this._isPaused=!1,this._onStopCallback&&this._onStopCallback(this._object),this):this},n.prototype.end=function(){return this._goToEnd=!0,this.update(1/0),this},n.prototype.pause=function(t){return t===void 0&&(t=rn()),this._isPaused||!this._isPlaying?this:(this._isPaused=!0,this._pauseStart=t,this._group&&this._group.remove(this),this)},n.prototype.resume=function(t){return t===void 0&&(t=rn()),!this._isPaused||!this._isPlaying?this:(this._isPaused=!1,this._startTime+=t-this._pauseStart,this._pauseStart=0,this._group&&this._group.add(this),this)},n.prototype.stopChainedTweens=function(){for(var t=0,e=this._chainedTweens.length;t<e;t++)this._chainedTweens[t].stop();return this},n.prototype.group=function(t){return this._group=t,this},n.prototype.delay=function(t){return this._delayTime=t,this},n.prototype.repeat=function(t){return this._initialRepeat=t,this._repeat=t,this},n.prototype.repeatDelay=function(t){return this._repeatDelayTime=t,this},n.prototype.yoyo=function(t){return this._yoyo=t,this},n.prototype.easing=function(t){return this._easingFunction=t,this},n.prototype.interpolation=function(t){return this._interpolationFunction=t,this},n.prototype.chain=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return this._chainedTweens=t,this},n.prototype.onStart=function(t){return this._onStartCallback=t,this},n.prototype.onUpdate=function(t){return this._onUpdateCallback=t,this},n.prototype.onRepeat=function(t){return this._onRepeatCallback=t,this},n.prototype.onComplete=function(t){return this._onCompleteCallback=t,this},n.prototype.onStop=function(t){return this._onStopCallback=t,this},n.prototype.update=function(t,e){if(t===void 0&&(t=rn()),e===void 0&&(e=!0),this._isPaused)return!0;var i,s,o=this._startTime+this._duration;if(!this._goToEnd&&!this._isPlaying){if(t>o)return!1;e&&this.start(t)}if(this._goToEnd=!1,t<this._startTime)return!0;this._onStartCallbackFired===!1&&(this._onStartCallback&&this._onStartCallback(this._object),this._onStartCallbackFired=!0),s=(t-this._startTime)/this._duration,s=this._duration===0||s>1?1:s;var r=this._easingFunction(s);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,r),this._onUpdateCallback&&this._onUpdateCallback(this._object,s),s===1)if(this._repeat>0){isFinite(this._repeat)&&this._repeat--;for(i in this._valuesStartRepeat)!this._yoyo&&typeof this._valuesEnd[i]=="string"&&(this._valuesStartRepeat[i]=this._valuesStartRepeat[i]+parseFloat(this._valuesEnd[i])),this._yoyo&&this._swapEndStartRepeatValues(i),this._valuesStart[i]=this._valuesStartRepeat[i];return this._yoyo&&(this._reversed=!this._reversed),this._repeatDelayTime!==void 0?this._startTime=t+this._repeatDelayTime:this._startTime=t+this._delayTime,this._onRepeatCallback&&this._onRepeatCallback(this._object),!0}else{this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var l=0,a=this._chainedTweens.length;l<a;l++)this._chainedTweens[l].start(this._startTime+this._duration);return this._isPlaying=!1,!1}return!0},n.prototype._updateProperties=function(t,e,i,s){for(var o in i)if(e[o]!==void 0){var r=e[o]||0,l=i[o],a=Array.isArray(t[o]),c=Array.isArray(l),u=!a&&c;u?t[o]=this._interpolationFunction(l,s):typeof l=="object"&&l?this._updateProperties(t[o],r,l,s):(l=this._handleRelativeValue(r,l),typeof l=="number"&&(t[o]=r+(l-r)*s))}},n.prototype._handleRelativeValue=function(t,e){return typeof e!="string"?e:e.charAt(0)==="+"||e.charAt(0)==="-"?t+parseFloat(e):parseFloat(e)},n.prototype._swapEndStartRepeatValues=function(t){var e=this._valuesStartRepeat[t],i=this._valuesEnd[t];typeof i=="string"?this._valuesStartRepeat[t]=this._valuesStartRepeat[t]+parseFloat(i):this._valuesStartRepeat[t]=this._valuesEnd[t],this._valuesEnd[t]=e},n}(),Ku="18.6.4",$u=fo.nextId,St=Gl,ed=St.getAll.bind(St),td=St.removeAll.bind(St),nd=St.add.bind(St),id=St.remove.bind(St),sd=St.update.bind(St),Yn={Easing:Zt,Group:Nl,Interpolation:In,now:rn,Sequence:fo,nextId:$u,Tween:ho,VERSION:Ku,getAll:ed,removeAll:td,add:nd,remove:id,update:sd};function od(n,t,e,i=Zt.Linear.None){const s=new ho(n).to(t,e).easing(i).start();function o(r){!s.update(r)||requestAnimationFrame(o)}return requestAnimationFrame(o),s}var Bt=(n=>(n.Drawline="Drawline",n.Undo="Undo",n.Exit="Exit",n))(Bt||{});const Qn=Symbol("$$PAINT_BRUSH_EVENT$$");function fi(n){return n[Qn]||(n[Qn]={}),n[Qn]}function rd(n){n[Qn]||delete n[Qn]}class ad{hasListener(t){const e=fi(this);return e&&e[t]&&e[t].length>0}on(t,e,i){const s=fi(this);return s[t]||(s[t]=[]),s[t].push([e,i||!1]),()=>this.off(t,e)}once(t,e){return this.on(t,e,!0)}off(t,e){if(t===void 0){rd(this);return}const i=fi(this);if(i[t]||(i[t]=[]),e===void 0){i[t].length=0;return}let s=0;for(;s<i[t].length&&i[t][s][0]!==e;s++);s<i[t].length&&i[t].splice(s,1)}emit(t,...e){let i=!1;const o=fi(this)[t]||[];for(let r of o.slice()){const[l,a=!1]=r,c=l(...e);a&&this.off(t,l),c===!1&&(i=!0)}return i}}function Wt(){return((1+Math.random())*65536|0).toString(16).substring(1)}function nt(){return(Wt()+Wt()+"-"+Wt()+"-4"+Wt().substr(0,3)+"-"+Wt()+"-"+Wt()+Wt()+Wt()).toLowerCase()}const ld=`
2
+ <style type="text/css">
3
+
4
+ #_gl_paintBrush {
5
+ position: fixed;
6
+ top: 0;
7
+ bottom: 0;
8
+ left: 0;
9
+ right: 0;
10
+ transform: translateZ(0);
11
+ z-index: 1997;
12
+ pointer-events: none;
13
+ opacity: 0;
14
+ transition: all 500ms;
15
+ }
16
+
17
+ #_gl_paintBrush.brushing {
18
+ opacity: 1;
19
+ }
20
+
21
+ #_gl_paintBrush ._paintBrush-canvas {
22
+ position: absolute;
23
+ width: 100%;
24
+ height: 100%;
25
+ left: 0;
26
+ top: 0;
27
+ }
28
+
29
+ #_gl_paintBrush ._paintBrush-canvas--sync {
30
+ pointer-events: none;
31
+ z-index: 0;
32
+ position: absolute;
33
+ width: 100%;
34
+ height: 100%;
35
+ left: 0;
36
+ top: 0;
37
+ }
38
+
39
+ #_gl_paintBrush ._paintBrush-canvas {
40
+ pointer-events: none;
41
+ z-index: 1;
42
+ }
43
+
44
+ #_gl_paintBrush.brushing ._paintBrush-canvas {
45
+ pointer-events: auto;
46
+ }
47
+
48
+ #_gl_paintBrush ._paintBrush-ctrl {
49
+ width: 140px;
50
+ height: 52px;
51
+ position: absolute;
52
+ bottom: 28px;
53
+ right: 50%;
54
+ transform: translateX(50%);
55
+ font-size: 10px;
56
+ color: white;
57
+ z-index: 2;
58
+ }
59
+
60
+ #_gl_paintBrush.brushing ._paintBrush-ctrl {
61
+ pointer-events: auto;
62
+ }
63
+
64
+ #_gl_paintBrush ._paintBrush-ctrl ._paintBrush-ctrlinner {
65
+ display: flex;
66
+ justify-content: space-between;
67
+ align-items: center;
68
+ width: 100%;
69
+ height: 100%;
70
+ border-radius: 26px;
71
+ padding: 8px 16px;
72
+ box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.2);
73
+ background-image: linear-gradient(180deg, hsl(0deg 0% 0% / 57%), hsl(0deg 0% 0% / 70%) 117%);
74
+ }
75
+
76
+ ._paintBrush-ctrlitem {
77
+ display: flex;
78
+ flex-direction: column;
79
+ justify-content: center;
80
+ align-items: center;
81
+ width: 38px;
82
+ height: 38px;
83
+ cursor: pointer;
84
+ }
85
+
86
+ ._paintBrush-ctrlitem--undo >.brush-icon{
87
+ background-image: url("//vrlab-static.ljcdn.com/release/web/revoke.ab7694ef.svg");
88
+ background-size: 100%;
89
+ width: 22px;
90
+ height: 22px;
91
+ }
92
+
93
+ ._paintBrush-ctrlitem--close >.brush-icon {
94
+ background-image: url("//vrlab-static.ljcdn.com/release/web/exit_paintbrush.02bc1341.svg");
95
+ background-size: 100%;
96
+ width: 22px;
97
+ height: 22px;
98
+ }
99
+
100
+ </style>
101
+ `;class cd extends ad{constructor(e){super();v(this,"configs");v(this,"clientWidth");v(this,"clientHeight");v(this,"ready",!1);v(this,"uuid",nt());v(this,"tween");v(this,"tweening",!1);v(this,"container");v(this,"canvas");v(this,"data",{});v(this,"tempLine",{});this.configs=e,this.clientWidth=document.body.clientWidth,this.clientHeight=document.body.clientHeight,this.container=this.ifInsertToDOM(),this.canvas={},this.initCtrl()}get color(){return this.configs.currentColor}get state(){return this.data}get dpr(){return this.configs.DPR||1}ifInsertToDOM(){if(this.container)return this.container;if(this.configs.container)this.configs.container.id="_gl_paintBrush",this.container=this.configs.container;else if(document.getElementById("_gl_paintBrush"))this.container=document.getElementById("_gl_paintBrush");else{const e=document.createElement("div");e.id="_gl_paintBrush",document.body.appendChild(e),this.container=e}return this.container.innerHTML=ld,this.container}initCanvas(e){const i=document.createElement("canvas");i.className=e,i.width=this.clientWidth,i.height=this.clientHeight;const s=i.getContext("2d");if(!!s)return s.lineWidth=5*this.dpr,s.lineCap="round",s.lineJoin="round",this.container.appendChild(i),i}initCtrl(){const e=document.createElement("div");e.className="_paintBrush-ctrl";const i=document.createElement("div");i.className="_paintBrush-ctrlinner";const s=document.createElement("a");s.className="_paintBrush-ctrlitem _paintBrush-ctrlitem--undo",s.addEventListener("click",l=>{var f;if(l.stopPropagation(),this.configs.onClickUndo&&this.configs.onClickUndo(),!this.canvas[this.uuid]||!this.data[this.uuid]||this.data[this.uuid].length===0)return;const a=this.data[this.uuid].pop();a&&this.emitStateChange({type:Bt.Undo,color:this.color,ready:this.ready,state:a,uuid:this.uuid});const c=(f=this.canvas[this.uuid])==null?void 0:f.getContext("2d");if(!this.canvas[this.uuid])return;const{width:u,height:d}=this.canvas[this.uuid];c&&c.clearRect(0,0,u,d),this.data[this.uuid].forEach(h=>this.handleDrawLine(this.uuid,h,{withUndo:!0}))});const o=document.createElement("a");return o.className="_paintBrush-ctrlitem _paintBrush-ctrlitem--close",o.addEventListener("click",l=>{l.stopPropagation(),this.closeBrush(),this.configs.onClickClose&&this.configs.onClickClose()}),[s,o].forEach(l=>{const a=document.createElement("i");a.className="brush-icon";const c=document.createElement("span");c.className="brush-txt",c.innerText=l.className.endsWith("undo")?this.configs.onUndoText:this.configs.onExitText,l.appendChild(a),l.appendChild(c)}),i.appendChild(s),i.appendChild(o),e.appendChild(i),this.container.appendChild(e),e}openBrush(){if(this.ready)return;this.canvas[this.uuid]||(this.canvas[this.uuid]=this.initCanvas("_paintBrush-canvas")),this.container.className="brushing";const e=this.canvas[this.uuid];e.getContext("2d").clearRect(0,0,e.width,e.height),this.openBrushHandle(),this.ready=!0,this.emit("readyChange",!0)}closeBrush(){!this.ready||(this.container.className="",this.data={},this.tempLine={},Object.keys(this.canvas).forEach(e=>{this.canvas[e].ontouchstart=()=>!1,this.canvas[e].ontouchmove=()=>!1,this.canvas[e].ontouchend=()=>!1,this.canvas[e].ontouchcancel=()=>!1;const i=this.canvas[e].getContext("2d");i&&i.clearRect(0,0,this.canvas[e].width,this.canvas[e].height)}),this.ready=!1,this.emit("readyChange",!1),this.emitStateChange({type:Bt.Exit,color:this.color,ready:!1,uuid:this.uuid}))}updateCurrentColor(e){const i=this.canvas[this.uuid];if(!i)return;const s=i.getContext("2d");!s||(this.configs.currentColor=e,s.strokeStyle=e)}openBrushHandle(){const e=this.canvas[this.uuid];if(!e)return;const i=e.getContext("2d");if(!i)return;const s=this.color||"#6D92FF";i.strokeStyle=s;let o=null,r=[],l,a=[],c=0;const u=(d,f,h)=>{const p=this.color||"#ff0000";i.strokeStyle=p,i.beginPath(),i.moveTo(d.x,d.y),i.quadraticCurveTo(f.x,f.y,h.x,h.y),i.stroke()};e.onmousedown=d=>{d.preventDefault(),c=Date.now();const f=d.clientX,h=d.clientY;r=[],r.push({x:f,y:h}),o={x:f,y:h},l=ui({x:f,y:h},this.clientWidth,this.clientHeight),a=[]},e.onmousemove=d=>{if(d.preventDefault(),!o)return;const f=Number(d.clientX),h=Number(d.clientY);if(Math.abs(f-o.x)<5&&Math.abs(h-o.y)<5||(r.push({x:f,y:h}),a.push(ui({x:f,y:h},this.clientWidth,this.clientHeight)),r.length<3))return;const{control:p,end:m}=di(r);!p||!m||(u(o,p,m),o=m)},e.onmouseup=d=>{if(d.preventDefault(),o=null,r.length<3)return;this.data[this.uuid]||(this.data[this.uuid]=[]);const f=Date.now()-c,h={move:Object.assign({},l),uuid:this.uuid,line:[...a],color:this.color,duration:f<1280?f:f<2e3?1280:0};this.data[this.uuid].push(h),Li(()=>{this.emitStateChange({type:Bt.Drawline,color:this.color,ready:this.ready,state:h,uuid:this.uuid})})},e.ontouchstart=d=>{d.preventDefault(),c=Date.now();const f=d.touches[0].clientX,h=d.touches[0].clientY;r=[],r.push({x:f,y:h}),o={x:f,y:h},console.log("ontouchstart",f,h,o),l=ui({x:f,y:h},this.clientWidth,this.clientHeight),a=[]},e.ontouchmove=d=>{if(d.preventDefault(),!o)return;const f=Number(d.touches[0].clientX),h=Number(d.touches[0].clientY);if(Math.abs(f-o.x)<5&&Math.abs(h-o.y)<5||(r.push({x:f,y:h}),a.push(ui({x:f,y:h},this.clientWidth,this.clientHeight)),r.length<3))return;const{control:p,end:m}=di(r);!p||!m||(u(o,p,m),o=m)},e.ontouchend=e.ontouchcancel=d=>{if(d.preventDefault(),o=null,r.length<3)return;this.data[this.uuid]||(this.data[this.uuid]=[]);const f=Date.now()-c,h={move:Object.assign({},l),line:[...a],uuid:this.uuid,color:this.color,duration:f<1280?f:f<2e3?1280:0};this.data[this.uuid].push(h),Li(()=>{this.emitStateChange({type:Bt.Drawline,color:this.color,ready:this.ready,state:h,uuid:this.uuid})})}}emitStateChange(e,i=!0){if(e.type!==Bt.Drawline){this.emit("stateChange",e,i);return}const s=Date.now(),o=e.state;if(!o||!o.line)return;const r=Math.ceil(o.line.length/100);for(let l=0;l<r;l++){const a={uuid:this.uuid,color:this.color,ready:this.ready,type:e.type,state:{uuid:this.uuid,move:o.move,duration:o.duration,color:this.color,line:o.line.slice(l*100,(l+1)*100)},timestamp:s,end:l===r-1};Ju(l,20,()=>{this.emit("stateChange",a,i)})}}action(e){const{ready:i,type:s,uuid:o}=e;if(!i&&this.ready){this.closeBrush();return}if(i&&!this.ready){this.openBrush();return}if(!!this.ready)switch(s){case Bt.Drawline:const{state:r,timestamp:l,end:a}=e;if(!l||!r)return;this.tempLine[l]=[].concat(this.tempLine[l]||[],r.line),a&&(Object.assign(r,{line:this.tempLine[l]}),this.handleDrawLine(o,r,{},()=>delete this.tempLine[l]));break;case Bt.Undo:this.handleUndo(o);break}}handleDrawLine(e,i,{withUndo:s=!1},o=Fl){!i||Object.prototype.toString.call(i)!="[object Object]"||Object.keys(i).length===0||(console.log("handleDrawLine",i,i.line),Zu(()=>new Promise(r=>{if(s||(this.canvas[e]||(this.canvas[e]=this.initCanvas("_paintBrush-canvas--sync")),this.data[e]||(this.data[e]=[]),this.data[e].push(i)),!this.canvas[e])return;const l=this.canvas[e].getContext("2d");if(!l)return;const{line:a=[],color:c="black",duration:u=0,uuid:d}=i,f=Is(i.move||{},this.clientWidth,this.clientHeight);let h=[f];if(l.strokeStyle=c,l.beginPath(),l.moveTo(f.x,f.y),u&&!s){let p=[];const m=this;m.tween=od({step:0},{step:a.length-1},u).onUpdate(({step:g})=>{var A;if(m.tweening=!0,!m.ready)return l.clearRect(0,0,m.canvas[d].width,m.canvas[d].height),(A=m.tween)==null?void 0:A.stop();const b=Math.floor(g);if(!p.find(y=>y===b)){if(p.push(b),console.log("__debug__",a,a[b],b),h.push(Is(a[b],m.clientWidth,m.clientHeight)),h.length<3)return;const{control:y,end:I}=di(h);if(!y||!I)return;l.quadraticCurveTo(y.x,y.y,I.x,I.y),l.stroke()}}).onComplete(g=>{m.tween=void 0,m.tweening=!1,p=[],h=[],o&&o(),r()})}else{for(let p=0;p<a.length;p++){if(h.push(Is(a[p],this.clientWidth,this.clientHeight)),h.length<3)continue;const{control:m,end:g}=di(h);!m||!g||l.quadraticCurveTo(m.x,m.y,g.x,g.y)}l.stroke(),h=[],o&&o(),r()}})))}handleUndo(e){if(console.log("handleUndo",e,this.canvas[e]),!this.canvas[e]||!this.data[e]||this.data[e].length===0)return;this.data[e].pop();const i=()=>{var o;const s=(o=this.canvas[e])==null?void 0:o.getContext("2d");s&&s.clearRect(0,0,this.canvas[e].width,this.canvas[e].height),this.data[e].forEach(r=>this.handleDrawLine(e,r,{withUndo:!0}))};if(this.tween&&this.tweening){this.tween.stop(),Li(i,60);return}i()}destroyBrush(){this.closeBrush(),this.ready=!1,this.emit("readyChange",!0)}}class ud{constructor(t={}){v(this,"controller");const e=Object.assign({currentColor:"#f44336",onUndoText:"\u56DE\u9000",onExitText:"\u5173\u95ED"},t);this.controller=new cd(e)}on(t,e){this.controller.on(t,e)}off(t,e){this.controller.off(t,e)}once(t,e){this.controller.once(t,e)}show(){this.controller.openBrush()}action(t){this.controller.action(t)}get state(){return this.controller.state}get configs(){return this.controller.configs}dispose(){return this.controller.destroyBrush()}setCurrentColor(t){this.controller.updateCurrentColor(t)}}const dd=(n,t)=>{let e=!0,i=null;const o={...{lookAtCurrentCamera:!1,lockedPanoIndex:null,lockedLatitude:null,lockedLongitude:null},...t==null?void 0:t.config},r=new M.Scene,l=new ke.Camera(60);let a=new M.Object3D,c,u;{const E=new M.DirectionalLight(16777215,.5);E.position.copy(new M.Vector3(1,1,1)),r.add(E)}{const E=new M.DirectionalLight(16777215,.3);r.add(E)}{const E=new M.AmbientLight(16777215,.3);r.add(E)}r.add(a);const d=()=>{if(!!n.renderer)return i||(i=new M.WebGLRenderer({antialias:!1,alpha:!0}),i.setPixelRatio(n.renderer.getPixelRatio()),i.outputEncoding=M.sRGBEncoding,i.setClearColor(1579548,0),i.autoClear=!0),i},f=()=>{a.traverse(E=>{E instanceof M.Mesh&&[].concat(E.material).forEach(T=>T.dispose())}),r.remove(a),a=new M.Object3D,r.add(a),A()},h=()=>{c=g(n.model,l.fov,l.aspect),u=n.model.bounding.getCenter(new M.Vector3);function E(T){const B=T.clone();return B.uniforms.modelAlpha.value=1,B.uniforms.map.value&&(B.uniforms.map.value.needsUpdate=!0),B}function D(T){if(T instanceof M.Mesh){const B=T.geometry,z=Array.isArray(T.material)?T.material.map(E):E(T.material);return new M.Mesh(B,z)}else if(T instanceof M.Group){const B=new M.Group;return T.children.forEach(z=>B.add(D(z))),B}else{const B=new M.Object3D;return T.children.forEach(z=>B.add(D(z))),B}}r.remove(a),a=D(n.model),r.add(a),A()},p=(E,D={})=>{const T=d();if(!T)return;E.appendChild(T.domElement),m(D);const B=window.getComputedStyle(E).position;B!=="relative"&&B!=="absolute"&&B!=="fixed"&&B!=="sticky"&&(E.style.position="relative")},m=(E={})=>{if(!i)return;const T=i.domElement.parentNode;if(T!=null&&T.nodeName){const{width:B=T.offsetWidth,height:z=T.offsetHeight}=E;i.setSize(B,z),l.aspect=B/z,l.updateProjectionMatrix()}A()};function g(E,D,T){const B=E.bounding,z=Math.pow(Math.pow(B.max.x-B.min.x+1,2)+Math.pow(B.max.y-B.min.y+1,2)+Math.pow(B.max.z-B.min.z+1,2),1/2);let j=z/2/Math.tan(Math.PI*D/360);return T<1&&(j=j/T),isNaN(j)?z:j}function b(E){return n.work.observers[E].standingPosition.clone()}const A=()=>{if(!c||!u)return;const E=n.getPose();E.fov=l.fov,E.offset=u,E.distance=c,typeof o.lockedLatitude=="number"&&(E.latitude=o.lockedLatitude),typeof o.lockedLongitude=="number"&&(E.longitude=o.lockedLongitude),typeof o.lockedPanoIndex=="number"&&(E.offset=b(o.lockedPanoIndex)),o.lookAtCurrentCamera&&(E.offset=n.camera.position.clone().setY(n.camera.position.y+1)),l.setFromPose(E),e=!0},y=()=>{e!==!0||!i||!i.domElement.parentNode||i.domElement.parentNode.offsetWidth===0||(i.render(r,l),e=!1)},I=()=>{i&&i.dispose(),i=null},k=E=>{Object.assign(o,E),A()};return Object.assign(window,{camera:l}),n.on("modelLoaded",h),n.on("modelWillLoad",f),n.on("cameraDirectionUpdate",A),n.on("dispose",I),n.on("renderFrame",y),n.on("cameraPositionUpdate",A),{appendTo:p,refresh:m,changeConfigs:k}};function fd(n){return typeof Symbol>"u"?`$Symbol<${n}>$`:Symbol(n)}const Wn=fd("$$EVENT$$");function hi(n){return n[Wn]||(n[Wn]={}),n[Wn]}function hd(n){n[Wn]||delete n[Wn]}class qn{hasListener(t){const e=hi(this);return Boolean((e==null?void 0:e[t])&&e[t].length>0)}on(t,e,i){const s=hi(this);return s[t]||(s[t]=[]),s[t].push([e,i||!1]),()=>this.off(t,e)}once(t,e){return this.on(t,e,!0)}off(t,e){if(t===void 0){hd(this);return}const i=hi(this);if(i[t]||(i[t]=[]),e===void 0){i[t].length=0;return}let s=0;for(;s<i[t].length&&i[t][s][0]!==e;s++);s<i[t].length&&i[t].splice(s,1)}emit(t,...e){let i=!1;const o=hi(this)[t]||[];for(let r of o.slice()){const[l,a=!1]=r,c=l(...e);a&&this.off(t,l),c===!1&&(i=!0)}return i}}function _l(...n){const t=new X.Vector3;return n.forEach(e=>{t.add(e)}),t.divideScalar(n.length),t}function Bi(n,t){const e=Math.round(n);return e%2===0?e:e+Number(t!=null&&t.smaller?-1:1)}const pd=({x:n,y:t,z:e})=>new X.Vector3(n,t,e),Ht=([n,t,e])=>new X.Vector3(n,t,e),Un=n=>n instanceof X.Vector3?n:Array.isArray(n)?Ht(n):pd(n),Ql="1.0.2",md=`CSS3DObjectPlus@${Ql}`,gd=.00216,vd=.003;class Wl extends ji.CSS3DObject{constructor(e,i,s=vd,o=1,r="front"){const l=Math.max(gd,s),a=i[0].distanceTo(i[1]),c=i[1].distanceTo(i[2]),u=Bi(a/s*o),d=Bi(c/s*o),f=_l(...i);let h;if(l===s)e.style.width=`${u}px`,e.style.height=`${d}px`,h=e;else{const I=document.createElement("div");I.style.width=`${u}px`,I.style.height=`${d}px`,I.style.pointerEvents="none";const k=s/l;e.style.position="absolute",e.style.left="0",e.style.top="0",e.style.width=`${k*u}px`,e.style.height=`${k*d}px`,I.appendChild(e),h=I}super(h);v(this,"version",Ql);v(this,"width");v(this,"height");v(this,"domWidthPx");v(this,"domHeightPx");v(this,"cornerPoints");v(this,"ratio");v(this,"container");v(this,"centerPosition");v(this,"mode","front");v(this,"hooks",new qn);v(this,"isCSS3DObjectPlus",!0);if(this.scale.set(l,l,l),this.cornerPoints=i,this.ratio=s,this.container=e,this.mode=r,l===s)this.width=a,this.height=c,this.domWidthPx=u,this.domHeightPx=d,this.centerPosition=f;else{const I=s/l;this.width=I*a,this.height=I*c,this.domWidthPx=I*u,this.domHeightPx=I*d,this.centerPosition=new X.Vector3().subVectors(f,i[0]).multiplyScalar(I).add(i[0])}e.classList.add(`${md}__container`);const p=new X.Vector3().subVectors(i[1],i[0]),m=new X.Vector3().subVectors(i[3],i[0]),g=new X.Vector3().crossVectors(p,m).normalize();this.lookAt(g);const b=this.up.clone().applyQuaternion(this.quaternion),A=m.clone(),y=new X.Vector3().crossVectors(b,A).normalize();this.rotateOnWorldAxis(y,b.angleTo(A)),this.position.copy(f)}changeMode(e,i){if(e===this.mode)return;const s=this.mode;this.mode=e,this.hooks.emit("changeMode",e,s,i)}applyScaleMatrix4(e){this.scale.applyMatrix4(e),this.hooks.emit("applyScaleMatrix4",e)}applyMatrix4(e){super.applyMatrix4(e),this.hooks.emit("applyMatrix4",e)}applyQuaternion(e){return super.applyQuaternion(e),this.hooks.emit("applyQuaternion",e),this}}const bd="v2.0.1",Xl="CSS3DRenderer",on=`${Xl}@${bd}`,cr=n=>`${on}--${n}`,ge={};class Vl{constructor(){v(this,"hooks",new qn);v(this,"state",{enabled:!0,visible:!0,disposed:!1});v(this,"store",{rendered:!1,disposers:[],frontModeCSS3DObjects:{},behindModeCSS3DObjects:{}});v(this,"create3DElement",(t,e,i)=>{if(this.state.disposed)return this.disposedErrorLog();const s=(()=>{const x={ratio:.00216,devicePixelRatio:1,mode:"front",autoRender:!0,container:document.createElement("div"),pointerEvents:"none"};return Object.assign(x,i)})(),o=e.map(Un);if((o==null?void 0:o.length)<4)return console.error(`${on}: requires 4 point but params may have fewer`);const{ratio:r,devicePixelRatio:l,mode:a,autoRender:c,container:u,pointerEvents:d}=s,f=[],{css3DObject:h,opacityMesh:p}=this.createObject(o,{ratio:r,dpr:l,container:u,mode:a,pointerEvents:d});u.id=`container--${h.uuid}`;const m=a==="front"&&!ge.frontModeStore,g=a==="behind"&&!ge.behindModeStore;a==="front"&&this.initGlobalModeStore("front"),a==="behind"&&this.initGlobalModeStore("behind",s.scene),h.hooks.on("changeMode",(x,O,Q)=>{var he,le,Ae;if(x===O)return;x==="front"&&this.initGlobalModeStore("front"),x==="behind"&&this.initGlobalModeStore("behind",Q);const V=O==="front"?ge.frontModeStore:ge.behindModeStore,U=x==="front"?ge.frontModeStore:ge.behindModeStore,$=O==="behind"?this.store.behindModeCSS3DObjects:this.store.frontModeCSS3DObjects,J=x==="behind"?this.store.behindModeCSS3DObjects:this.store.frontModeCSS3DObjects;if(!$||!J)return console.error(`${on}: changeMode error: prevObjects or nextObjects is undefined`);const q=$[h.uuid];if(!q)return console.error(`${on}: changeMode error: prevObject is undefined`);if(x==="behind"){const xe=(he=q.opacityMesh)!=null?he:this.createOpacityMesh(q.css3DObject);V==null||V.css3DScene.remove(q.css3DObject),J[h.uuid]={css3DObject:h,opacityMesh:xe,visible:!0,enabled:!0,mode:x,scene:Q},U==null||U.css3DScene.add(h),Q==null||Q.add(xe)}x==="front"&&(V==null||V.css3DScene.remove(q.css3DObject),(Ae=(le=$[h.uuid])==null?void 0:le.scene)==null||Ae.remove(q.opacityMesh),J[h.uuid]={css3DObject:h,visible:!0,enabled:!0,mode:x},U==null||U.css3DScene.add(h)),x==="behind"&&this.appendToElement(ge.behindModeContainer,"behind"),x==="front"&&this.appendToElement(ge.frontModeContainer,"front"),this.render(t),console.log("change success")});const b=a==="front"?ge.frontModeStore:ge.behindModeStore,{css3DScene:A,css3DRenderer:y}=b,I=(()=>{const x=()=>{var Q,V;const O=h.mode;if(O==="front")this.store.frontModeCSS3DObjects[h.uuid]={visible:!0,enabled:!0,css3DObject:h,mode:"front"};else{if(!s.scene)return;this.store.behindModeCSS3DObjects[h.uuid]={visible:!0,enabled:!0,css3DObject:h,opacityMesh:p,mode:"behind",scene:s.scene}}A.getObjectById(h.id)||A.add(h),O==="behind"&&p&&((Q=s.scene)!=null&&Q.getObjectById(p.id)||(V=s.scene)==null||V.add(p),f.push(()=>{var U;return p&&((U=s.scene)==null?void 0:U.remove(p))}))};return m||g?(y.domElement.style.position="absolute",y.domElement.style.top="0",y.domElement.style.userSelect="none",y.domElement.style.pointerEvents="none",y.domElement.classList.add(cr(a)),()=>{x(),this.render(t)}):(this.store.rendered=!0,()=>x())})(),k=a==="front"?ge.frontModeContainer:ge.behindModeContainer;if(k){this.appendToElement(k,a);const x=a==="front"?ge.frontModeStore:ge.behindModeStore;x&&(x.appendedToPage=!0)}const E=x=>this.setVisibleById(h.uuid,x),D=x=>this.setEnabledById(h.uuid,x),T=()=>E(!0),B=()=>E(!1),z=()=>D(!0),j=()=>D(!1),Y=()=>(delete this.store.frontModeCSS3DObjects[h.uuid],delete this.store.behindModeCSS3DObjects[h.uuid],f.forEach(x=>x==null?void 0:x()),A.remove(h),A.children.length===0&&(typeof b.requestAnimationFrameId=="number"&&cancelAnimationFrame(b.requestAnimationFrameId),y.domElement.remove(),a==="front"&&(ge.frontModeStore=void 0),a==="behind"&&(ge.behindModeStore=void 0),ge.frontModeResizeObserver=void 0,ge.behindModeResizeObserver=void 0),!0);return this.store.disposers.push(Y),c&&I(),{id:h.uuid,container:u,dispose:Y,css3DObject:h,render:c?void 0:I,show:T,hide:B,setVisible:E,disable:j,enable:z,setEnabled:D,appendToElement:x=>this.appendToElement(x,a)}});v(this,"setVisibleById",(t,e)=>{var s;const i=(s=this.store.frontModeCSS3DObjects[t])!=null?s:this.store.behindModeCSS3DObjects[t];if(!i)return console.error("id not found",t);i.visible=e,this.state.visible&&(i.css3DObject.visible=e,i.mode==="behind"&&(i.opacityMesh.visible=e))});v(this,"setEnabledById",(t,e)=>{var o,r,l;const i=(o=this.store.frontModeCSS3DObjects[t])!=null?o:this.store.behindModeCSS3DObjects[t];if(!i)return;const s=i.mode==="front"?(r=ge.frontModeStore)==null?void 0:r.css3DScene:(l=ge.behindModeStore)==null?void 0:l.css3DScene;!s||(e?(s.add(i.css3DObject),i.mode==="behind"&&i.scene.add(i.opacityMesh)):(s.remove(i.css3DObject),i.mode==="behind"&&i.scene.remove(i.opacityMesh)),i.enabled=e)});v(this,"createObject",(t,e)=>{const{ratio:i,dpr:s,container:o,mode:r,pointerEvents:l}=e,a=new Wl(o,t,i,s,r);o.style.pointerEvents=l,o.classList.add(`${Xl}__container`);const c=r==="behind"?this.createOpacityMesh(a):void 0;return{css3DObject:a,opacityMesh:c}});v(this,"createOpacityMesh",t=>{const{domWidthPx:e,domHeightPx:i}=t,s=new M.MeshBasicMaterial({opacity:0,color:0,transparent:!1,side:M.DoubleSide}),o=new M.PlaneGeometry(e,i),r=new M.Mesh(o,s);return r.name=cr("mesh"),r.position.copy(t.position),r.rotation.copy(t.rotation),r.scale.copy(t.scale),t.hooks.on("applyMatrix4",l=>r.applyMatrix4(l)),t.hooks.on("applyQuaternion",l=>r.applyQuaternion(l)),t.hooks.on("applyScaleMatrix4",l=>r.scale.applyMatrix4(l)),r});v(this,"createResizeObserver",(t,e,i=!0)=>{if(!t)return console.error("createResizeObserver: element is undefined"),{observe:()=>{},unobserve:()=>{}};const s=()=>{const r=Bi(t.clientWidth,{smaller:!0}),l=Bi(t.clientHeight,{smaller:!0});e(r,l)};if(typeof ResizeObserver>"u"||!ResizeObserver)return console.warn("createResizeObserver: ResizeObserver is undefined"),{observe:()=>s(),unobserve:()=>{}};const o=new ResizeObserver(s);return i&&s(),{observe:()=>o.observe(t),unobserve:()=>o.unobserve(t)}});v(this,"disposedErrorLog",()=>{console.error(`${on} is disposed`)})}getCurrentState(){return this.state}setState(t,e={userAction:!0}){if(this.state.disposed)return this.disposedErrorLog();const i={...this.state};this.state=Object.assign(this.state,t),i.visible!==this.state.visible&&(t.visible?this.handleShow():this.handleHide()),i.enabled!==this.state.enabled&&(t.enabled?this.handleEnable():this.handleDisable()),this.hooks.emit("stateChange",{state:this.state,prevState:i,userAction:e.userAction})}dispose(){this.store.disposers.forEach(t=>t==null?void 0:t()),this.store.disposers=[],this.hooks.emit("dispose"),this.state.disposed=!0}async show({userAction:t}={userAction:!0}){if(this.state.disposed)return this.disposedErrorLog();this.setState({visible:!0},{userAction:t}),this.hooks.emit("show",{userAction:t})}async hide({userAction:t}={userAction:!0}){if(this.state.disposed)return this.disposedErrorLog();this.setState({visible:!1},{userAction:t}),this.hooks.emit("hide",{userAction:t})}enable({userAction:t}={userAction:!0}){if(this.state.disposed)return this.disposedErrorLog();this.setState({enabled:!0},{userAction:t}),this.hooks.emit("enable",{userAction:t})}disable({userAction:t}={userAction:!0}){if(this.state.disposed)return this.disposedErrorLog();this.setState({enabled:!1},{userAction:t}),this.hooks.emit("disable",{userAction:t})}setContainer(t,e){e==="front"?ge.frontModeContainer=t:ge.behindModeContainer=t}appendToElement(t,e){const i=e==="front"?ge.frontModeStore:ge.behindModeStore;if(!i){if(e==="front"&&!ge.frontModeContainer){if(!t)throw new Error(`${on} Cannot append to container: front mode but container is ${t}`);ge.frontModeContainer=t}if(e==="behind"&&!ge.behindModeContainer){if(!t)throw new Error(`${on} Cannot append to container: behind mode but container is ${t}`);ge.behindModeContainer=t}return}if(i.appendedToPage)return;const s=e==="behind"?ge.behindModeContainer:ge.frontModeContainer;if(!s)return console.error("wrapper is undefined");if(s.appendChild(i.css3DRenderer.domElement),e==="behind"&&!ge.behindModeResizeObserver){const o=(a,c)=>{var u;(u=ge.behindModeStore)==null||u.css3DRenderer.setSize(a,c)},{observe:r,unobserve:l}=this.createResizeObserver(s,o,!0);ge.behindModeResizeObserver={observe:r,unobserve:l},r(),this.store.disposers.push(l)}if(e==="front"&&!ge.frontModeResizeObserver){const o=(a,c)=>{var u;(u=ge.frontModeStore)==null||u.css3DRenderer.setSize(a,c)},{observe:r,unobserve:l}=this.createResizeObserver(s,o,!0);ge.frontModeResizeObserver={observe:r,unobserve:l},r(),this.store.disposers.push(l)}i.appendedToPage=!0}render(t){const e=ge.behindModeStore,i=ge.frontModeStore;if(e&&Object.keys(this.store.behindModeCSS3DObjects).length>0&&!e.requestAnimationFrameId){const s=()=>{const o=requestAnimationFrame(s);e.requestAnimationFrameId=o,e.css3DRenderer.render(e.css3DScene,t)};s()}if(i&&Object.keys(this.store.frontModeCSS3DObjects).length>0&&!i.requestAnimationFrameId){const s=()=>{const o=requestAnimationFrame(s);i.requestAnimationFrameId=o,i.css3DRenderer.render(i.css3DScene,t)};s()}Object.keys(this.store.frontModeCSS3DObjects).length===0&&(i==null?void 0:i.requestAnimationFrameId)!==void 0&&(cancelAnimationFrame(i.requestAnimationFrameId),i.requestAnimationFrameId=void 0),Object.keys(this.store.behindModeCSS3DObjects).length===0&&(e==null?void 0:e.requestAnimationFrameId)!==void 0&&(cancelAnimationFrame(e.requestAnimationFrameId),e.requestAnimationFrameId=void 0)}initGlobalModeStore(t,e){const i=t==="front"&&!ge.frontModeStore;t==="behind"&&!ge.behindModeStore&&(ge.behindModeStore={scene:e,css3DScene:new M.Scene,css3DRenderer:new ji.CSS3DRenderer}),i&&(ge.frontModeStore={css3DScene:new M.Scene,css3DRenderer:new ji.CSS3DRenderer})}async handleShow(){Object.values(this.store.frontModeCSS3DObjects).forEach(t=>{t.css3DObject.visible=t.visible}),Object.values(this.store.behindModeCSS3DObjects).forEach(t=>{t.css3DObject.visible=t.visible,t.opacityMesh.visible=t.visible})}async handleHide(){Object.values(this.store.frontModeCSS3DObjects).forEach(t=>{t.css3DObject.visible=!1}),Object.values(this.store.behindModeCSS3DObjects).forEach(t=>{t.css3DObject.visible=!1,t.opacityMesh.visible=!1})}handleEnable(){Object.values(this.store.frontModeCSS3DObjects).forEach(t=>{var e;!t.enabled||(e=ge.frontModeStore)==null||e.css3DScene.add(t.css3DObject)}),Object.values(this.store.behindModeCSS3DObjects).forEach(t=>{var e,i;!t.enabled||((e=ge.behindModeStore)==null||e.css3DScene.add(t.css3DObject),(i=ge.behindModeStore)==null||i.scene.add(t.opacityMesh))})}handleDisable(){Object.values(this.store.frontModeCSS3DObjects).forEach(t=>{var e;(e=ge.frontModeStore)==null||e.css3DScene.remove(t.css3DObject)}),Object.values(this.store.behindModeCSS3DObjects).forEach(t=>{var e,i;(e=ge.behindModeStore)==null||e.css3DScene.remove(t.css3DObject),(i=ge.behindModeStore)==null||i.scene.remove(t.opacityMesh)})}}const Ad="v2.0.1",ur=`CSS3DRenderPlugin@${Ad}`;class yd extends Vl{constructor(e){super();v(this,"five");v(this,"behindFiveContainer");v(this,"staticPrefix","//vrlab-static.ljcdn.com");v(this,"create3DDomContainer",(e,i)=>{if(this.state.disposed)return;const s=(()=>{var p;(i==null?void 0:i.dpr)!==void 0&&console.warn(`${ur}: please use "config.devicePixelRatio" replace "config.dpr"`);const h={ratio:.00216,devicePixelRatio:(p=i==null?void 0:i.dpr)!=null?p:1,mode:"front",autoRender:!0};return Object.assign(h,i,(i==null?void 0:i.mode)==="behind"?{scene:this.five.scene}:void 0)})(),o=this.five.getElement();if(!o){console.error(`${ur}: five.getElement() is ${o}`);return}const{autoRender:r,mode:l}=s,a=l==="front"?o.parentElement:s.behindFiveContainer;this.setContainer(a||document.body,"front");const c=this.getBehindFiveElement();c&&this.setContainer(c,"behind"),this.appendToElement(a||document.body,l);const u=this.create3DElement(this.five.camera,e,{...s,autoRender:!1});if(!u)return;const d=u.render,f=()=>{var h;l==="front"&&d(),l==="behind"&&((h=this.five.model)!=null&&h.loaded?d():this.five.once("modelLoaded",()=>d()))};return r&&f(),{...u,render:r?void 0:f}});this.five=e}disposeAll(){return this.dispose()}setState(...e){const i=super.setState(...e);return this.five.needsRender=!0,i}getBehindFiveElement(){var l;const{behindFiveContainer:e}=this;if(e)return e;const i=document.createElement("div");i.style.position="absolute",i.style.pointerEvents="none",i.style.top="0",i.style.left="0",i.style.width="100%",i.style.height="100%",this.behindFiveContainer=i;const s=this.five.getElement();if(!s)return;const o=(l=s==null?void 0:s.style.position)!=null?l:getComputedStyle(s);(!o||o==="static")&&console.warn("if you want to use css3DRenderPlugin behind mode, five element position is static, please set position to relative or absolute");const r=s==null?void 0:s.parentElement;if(r)return r.insertBefore(i,s),i}}const Kn=n=>new yd(n);function xs(n,t,e=new X.Vector3(1,1,1),i=!1){const s=new Rl.Line(n,t);return s.setMaterial({dashed:i,color:e,linewidth:1}),s.remove(s.points),s}const wd=n=>{const t={intersection:null,disposers:[]},e=u=>{t.intersection=u},i=()=>{t.intersection=null};n.on("modelLoaded",()=>{n.on("intersectionOnModelUpdate",e),n.on("intersectionHidden",i)}),n.on("dispose",()=>{n.off("intersectionOnModelUpdate",e),n.off("intersectionHidden",i)});const s=(u,d=2,f=.1)=>{const h=d/2,m=c(u,f),g=new X.Group;g.add(xs(new X.Vector3(m.x+h,m.y,m.z),new X.Vector3(m.x-h,m.y,m.z),new X.Vector3(1,0,0)),xs(new X.Vector3(m.x,m.y+h,m.z),new X.Vector3(m.x,m.y-h,m.z),new X.Vector3(0,1,0)),xs(new X.Vector3(m.x,m.y,m.z+h),new X.Vector3(m.x,m.y,m.z-h),new X.Vector3(0,0,1))),n.scene.add(g),n.needsRender=!0;const b=()=>{n.scene.remove(g)};return t.disposers.push(b),{clear:b,pointAxesHelperMesh:g}},o=(u,d=0)=>{var b,A;const f=(b=n==null?void 0:n.camera)==null?void 0:b.position;if(!f)return!1;const h=u.distanceTo(f),p=u.sub(f).normalize(),m=new X.Raycaster(f,p),g=(A=n.model.intersectRaycaster(m))==null?void 0:A[0];return!(g&&g.distance+d<h)},r=()=>t.intersection,l=()=>{var u,d;(d=(u=t.disposers)==null?void 0:u.forEach)==null||d.call(u,f=>f==null?void 0:f()),n.off("intersectionOnModelUpdate",e),n.off("intersectionHidden",i)},a=l,c=(u,d)=>{const f=u.clone();return n.camera.position.clone().sub(f).setLength(d).add(f)};return{intersection:r,pointAxesHelper:s,movePointTowardsCamera:c,destroy:l,dispose:a,canSeePoint:o}};function ce(){}const Sn=n=>n;function Oe(n,t){for(const e in t)n[e]=t[e];return n}function Yl(n){return n()}function dr(){return Object.create(null)}function Nt(n){n.forEach(Yl)}function ts(n){return typeof n=="function"}function ue(n,t){return n!=n?t==t:n!==t||n&&typeof n=="object"||typeof n=="function"}let pi;function kt(n,t){return pi||(pi=document.createElement("a")),pi.href=t,n===pi.href}function Pd(n){return Object.keys(n).length===0}function an(n,t,e,i){if(n){const s=Ul(n,t,e,i);return n[0](s)}}function Ul(n,t,e,i){return n[1]&&i?Oe(e.ctx.slice(),n[1](i(t))):e.ctx}function ln(n,t,e,i){if(n[2]&&i){const s=n[2](i(e));if(t.dirty===void 0)return s;if(typeof s=="object"){const o=[],r=Math.max(t.dirty.length,s.length);for(let l=0;l<r;l+=1)o[l]=t.dirty[l]|s[l];return o}return t.dirty|s}return t.dirty}function cn(n,t,e,i,s,o){if(s){const r=Ul(t,e,i,o);n.p(r,s)}}function un(n){if(n.ctx.length>32){const t=[],e=n.ctx.length/32;for(let i=0;i<e;i++)t[i]=-1;return t}return-1}function Zl(n){const t={};for(const e in n)e[0]!=="$"&&(t[e]=n[e]);return t}function Ri(n,t){const e={};t=new Set(t);for(const i in n)!t.has(i)&&i[0]!=="$"&&(e[i]=n[i]);return e}function Ue(n){return n==null?"":n}const Jl=typeof window<"u";let ql=Jl?()=>window.performance.now():()=>Date.now(),po=Jl?n=>requestAnimationFrame(n):ce;const Tn=new Set;function Kl(n){Tn.forEach(t=>{t.c(n)||(Tn.delete(t),t.f())}),Tn.size!==0&&po(Kl)}function $l(n){let t;return Tn.size===0&&po(Kl),{promise:new Promise(e=>{Tn.add(t={c:n,f:e})}),abort(){Tn.delete(t)}}}function _(n,t){n.appendChild(t)}function me(n,t,e){const i=mo(n);if(!i.getElementById(t)){const s=G("style");s.id=t,s.textContent=e,ec(i,s)}}function mo(n){if(!n)return document;const t=n.getRootNode?n.getRootNode():n.ownerDocument;return t&&t.host?t:n.ownerDocument}function Ed(n){const t=G("style");return ec(mo(n),t),t.sheet}function ec(n,t){return _(n.head||n,t),t.sheet}function F(n,t,e){n.insertBefore(t,e||null)}function R(n){n.parentNode.removeChild(n)}function Dt(n,t){for(let e=0;e<n.length;e+=1)n[e]&&n[e].d(t)}function G(n){return document.createElement(n)}function Te(n){return document.createElementNS("http://www.w3.org/2000/svg",n)}function Fe(n){return document.createTextNode(n)}function K(){return Fe(" ")}function Ce(){return Fe("")}function je(n,t,e,i){return n.addEventListener(t,e,i),()=>n.removeEventListener(t,e,i)}function go(n){return function(t){return t.stopPropagation(),n.call(this,t)}}function C(n,t,e){e==null?n.removeAttribute(t):n.getAttribute(t)!==e&&n.setAttribute(t,e)}function Hi(n,t){const e=Object.getOwnPropertyDescriptors(n.__proto__);for(const i in t)t[i]==null?n.removeAttribute(i):i==="style"?n.style.cssText=t[i]:i==="__value"?n.value=n[i]=t[i]:e[i]&&e[i].set?n[i]=t[i]:C(n,i,t[i])}function Cd(n){return Array.from(n.childNodes)}function Ve(n,t){t=""+t,n.wholeText!==t&&(n.data=t)}function W(n,t,e,i){e===null?n.style.removeProperty(t):n.style.setProperty(t,e,i?"important":"")}let mi;function Id(){if(mi===void 0){mi=!1;try{typeof window<"u"&&window.parent&&window.parent.document}catch{mi=!0}}return mi}function $t(n,t){getComputedStyle(n).position==="static"&&(n.style.position="relative");const i=G("iframe");i.setAttribute("style","display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; border: 0; opacity: 0; pointer-events: none; z-index: -1;"),i.setAttribute("aria-hidden","true"),i.tabIndex=-1;const s=Id();let o;return s?(i.src="data:text/html,<script>onresize=function(){parent.postMessage(0,'*')}<\/script>",o=je(window,"message",r=>{r.source===i.contentWindow&&t()})):(i.src="about:blank",i.onload=()=>{o=je(i.contentWindow,"resize",t)}),_(n,i),()=>{(s||o&&i.contentWindow)&&o(),R(i)}}function ie(n,t,e){n.classList[e?"add":"remove"](t)}function tc(n,t,{bubbles:e=!1,cancelable:i=!1}={}){const s=document.createEvent("CustomEvent");return s.initCustomEvent(n,e,i,t),s}class Fi{constructor(t=!1){this.is_svg=!1,this.is_svg=t,this.e=this.n=null}c(t){this.h(t)}m(t,e,i=null){this.e||(this.is_svg?this.e=Te(e.nodeName):this.e=G(e.nodeName),this.t=e,this.c(t)),this.i(i)}h(t){this.e.innerHTML=t,this.n=Array.from(this.e.childNodes)}i(t){for(let e=0;e<this.n.length;e+=1)F(this.t,this.n[e],t)}p(t){this.d(),this.h(t),this.i(this.a)}d(){this.n.forEach(R)}}const Ni=new Map;let Gi=0;function xd(n){let t=5381,e=n.length;for(;e--;)t=(t<<5)-t^n.charCodeAt(e);return t>>>0}function Td(n,t){const e={stylesheet:Ed(t),rules:{}};return Ni.set(n,e),e}function nc(n,t,e,i,s,o,r,l=0){const a=16.666/i;let c=`{
102
+ `;for(let g=0;g<=1;g+=a){const b=t+(e-t)*o(g);c+=g*100+`%{${r(b,1-b)}}
103
+ `}const u=c+`100% {${r(e,1-e)}}
104
+ }`,d=`__svelte_${xd(u)}_${l}`,f=mo(n),{stylesheet:h,rules:p}=Ni.get(f)||Td(f,n);p[d]||(p[d]=!0,h.insertRule(`@keyframes ${d} ${u}`,h.cssRules.length));const m=n.style.animation||"";return n.style.animation=`${m?`${m}, `:""}${d} ${i}ms linear ${s}ms 1 both`,Gi+=1,d}function Us(n,t){const e=(n.style.animation||"").split(", "),i=e.filter(t?o=>o.indexOf(t)<0:o=>o.indexOf("__svelte")===-1),s=e.length-i.length;s&&(n.style.animation=i.join(", "),Gi-=s,Gi||Sd())}function Sd(){po(()=>{Gi||(Ni.forEach(n=>{const{ownerNode:t}=n.stylesheet;t&&R(t)}),Ni.clear())})}let Zn;function Xn(n){Zn=n}function gn(){if(!Zn)throw new Error("Function called outside component initialization");return Zn}function vo(n){gn().$$.before_update.push(n)}function mt(n){gn().$$.on_mount.push(n)}function bo(n){gn().$$.after_update.push(n)}function en(n){gn().$$.on_destroy.push(n)}function kd(){const n=gn();return(t,e,{cancelable:i=!1}={})=>{const s=n.$$.callbacks[t];if(s){const o=tc(t,e,{cancelable:i});return s.slice().forEach(r=>{r.call(n,o)}),!o.defaultPrevented}return!0}}function ic(n,t){return gn().$$.context.set(n,t),t}function sc(n){return gn().$$.context.get(n)}function Dd(n,t){const e=n.$$.callbacks[t.type];e&&e.slice().forEach(i=>i.call(this,t))}const Gn=[],Xe=[],Mi=[],fr=[],oc=Promise.resolve();let Zs=!1;function rc(){Zs||(Zs=!0,oc.then(ac))}function Ld(){return rc(),oc}function Re(n){Mi.push(n)}const Ts=new Set;let gi=0;function ac(){const n=Zn;do{for(;gi<Gn.length;){const t=Gn[gi];gi++,Xn(t),Md(t.$$)}for(Xn(null),Gn.length=0,gi=0;Xe.length;)Xe.pop()();for(let t=0;t<Mi.length;t+=1){const e=Mi[t];Ts.has(e)||(Ts.add(e),e())}Mi.length=0}while(Gn.length);for(;fr.length;)fr.pop()();Zs=!1,Ts.clear(),Xn(n)}function Md(n){if(n.fragment!==null){n.update(),Nt(n.before_update);const t=n.dirty;n.dirty=[-1],n.fragment&&n.fragment.p(n.ctx,t),n.after_update.forEach(Re)}}let Hn;function lc(){return Hn||(Hn=Promise.resolve(),Hn.then(()=>{Hn=null})),Hn}function _i(n,t,e){n.dispatchEvent(tc(`${t?"intro":"outro"}${e}`))}const zi=new Set;let Vt;function ve(){Vt={r:0,c:[],p:Vt}}function be(){Vt.r||Nt(Vt.c),Vt=Vt.p}function L(n,t){n&&n.i&&(zi.delete(n),n.i(t))}function H(n,t,e,i){if(n&&n.o){if(zi.has(n))return;zi.add(n),Vt.c.push(()=>{zi.delete(n),i&&(e&&n.d(1),i())}),n.o(t)}else i&&i()}const cc={duration:0};function vn(n,t,e){let i=t(n,e),s=!1,o,r,l=0;function a(){o&&Us(n,o)}function c(){const{delay:d=0,duration:f=300,easing:h=Sn,tick:p=ce,css:m}=i||cc;m&&(o=nc(n,0,1,f,d,h,m,l++)),p(0,1);const g=ql()+d,b=g+f;r&&r.abort(),s=!0,Re(()=>_i(n,!0,"start")),r=$l(A=>{if(s){if(A>=b)return p(1,0),_i(n,!0,"end"),a(),s=!1;if(A>=g){const y=h((A-g)/f);p(y,1-y)}}return s})}let u=!1;return{start(){u||(u=!0,Us(n),ts(i)?(i=i(),lc().then(c)):c())},invalidate(){u=!1},end(){s&&(a(),s=!1)}}}function Ln(n,t,e){let i=t(n,e),s=!0,o;const r=Vt;r.r+=1;function l(){const{delay:a=0,duration:c=300,easing:u=Sn,tick:d=ce,css:f}=i||cc;f&&(o=nc(n,1,0,c,a,u,f));const h=ql()+a,p=h+c;Re(()=>_i(n,!1,"start")),$l(m=>{if(s){if(m>=p)return d(0,1),_i(n,!1,"end"),--r.r||Nt(r.c),!1;if(m>=h){const g=u((m-h)/c);d(1-g,g)}}return s})}return ts(i)?lc().then(()=>{i=i(),l()}):l(),{end(a){a&&i.tick&&i.tick(1,0),s&&(o&&Us(n,o),s=!1)}}}const zd=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;function uc(n,t){n.d(1),t.delete(n.key)}function Gt(n,t){H(n,1,1,()=>{t.delete(n.key)})}function gt(n,t,e,i,s,o,r,l,a,c,u,d){let f=n.length,h=o.length,p=f;const m={};for(;p--;)m[n[p].key]=p;const g=[],b=new Map,A=new Map;for(p=h;p--;){const E=d(s,o,p),D=e(E);let T=r.get(D);T?i&&T.p(E,t):(T=c(D,E),T.c()),b.set(D,g[p]=T),D in m&&A.set(D,Math.abs(p-m[D]))}const y=new Set,I=new Set;function k(E){L(E,1),E.m(l,u),r.set(E.key,E),u=E.first,h--}for(;f&&h;){const E=g[h-1],D=n[f-1],T=E.key,B=D.key;E===D?(u=E.first,f--,h--):b.has(B)?!r.has(T)||y.has(T)?k(E):I.has(B)?f--:A.get(T)>A.get(B)?(I.add(T),k(E)):(y.add(B),f--):(a(D,r),f--)}for(;f--;){const E=n[f];b.has(E.key)||a(E,r)}for(;h;)k(g[h-1]);return g}function Ye(n,t){const e={},i={},s={$$scope:1};let o=n.length;for(;o--;){const r=n[o],l=t[o];if(l){for(const a in r)a in l||(i[a]=1);for(const a in l)s[a]||(e[a]=l[a],s[a]=1);n[o]=l}else for(const a in r)s[a]=1}for(const r in i)r in e||(e[r]=void 0);return e}function re(n){n&&n.c()}function se(n,t,e,i){const{fragment:s,after_update:o}=n.$$;s&&s.m(t,e),i||Re(()=>{const r=n.$$.on_mount.map(Yl).filter(ts);n.$$.on_destroy?n.$$.on_destroy.push(...r):Nt(r),n.$$.on_mount=[]}),o.forEach(Re)}function oe(n,t){const e=n.$$;e.fragment!==null&&(Nt(e.on_destroy),e.fragment&&e.fragment.d(t),e.on_destroy=e.fragment=null,e.ctx=[])}function Od(n,t){n.$$.dirty[0]===-1&&(Gn.push(n),rc(),n.$$.dirty.fill(0)),n.$$.dirty[t/31|0]|=1<<t%31}function de(n,t,e,i,s,o,r,l=[-1]){const a=Zn;Xn(n);const c=n.$$={fragment:null,ctx:[],props:o,update:ce,not_equal:s,bound:dr(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(t.context||(a?a.$$.context:[])),callbacks:dr(),dirty:l,skip_bound:!1,root:t.target||a.$$.root};r&&r(c.root);let u=!1;if(c.ctx=e?e(n,t.props||{},(d,f,...h)=>{const p=h.length?h[0]:f;return c.ctx&&s(c.ctx[d],c.ctx[d]=p)&&(!c.skip_bound&&c.bound[d]&&c.bound[d](p),u&&Od(n,d)),f}):[],c.update(),u=!0,Nt(c.before_update),c.fragment=i?i(c.ctx):!1,t.target){if(t.hydrate){const d=Cd(t.target);c.fragment&&c.fragment.l(d),d.forEach(R)}else c.fragment&&c.fragment.c();t.intro&&L(n.$$.fragment),se(n,t.target,t.anchor,t.customElement),ac()}Xn(a)}class fe{$destroy(){oe(this,1),this.$destroy=ce}$on(t,e){if(!ts(e))return ce;const i=this.$$.callbacks[t]||(this.$$.callbacks[t]=[]);return i.push(e),()=>{const s=i.indexOf(e);s!==-1&&i.splice(s,1)}}$set(t){this.$$set&&!Pd(t)&&(this.$$.skip_bound=!0,this.$$set(t),this.$$.skip_bound=!1)}}const jd="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAAA8CAYAAACZ1L+0AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAYKADAAQAAAABAAAAPAAAAABU0H2EAAARRElEQVR4Ad2czY9cRZbFq1yFoQGDNCzwuAENohl54dkgdrNh34tZ8GciFi31nwEsmAEhhAWD1GMJCZgx5sMfUHN+J+NE3XfrZWWVcVVLHVLmuXG/74148V5m2bm/N8bR0dH+Bx988Po333zzbz///PONg4ODa+I9I9y/cuXKgV77h4eH+1KH3hP/yv7+vuBAsG+5UCIpCkMzDQ962Eu80Q1P/KmHT82v8IocZFL4pslDvL3fNARHoPI2wtbrV1jBIf9N8SEZ0UUP2wFHv2ocSc/2ouEz8PVooJXQ0/j10aNHoH2Idj4PHz4k1n29/k+5/u3ll1/+r7fffvtLzfGzd8ibjK6+9957f5ajf1XzH9y7d+8Xjf9FRs1SdvNBBg2SDQ1xh9ALH4yN0M2BNZrKwtFc9Fmkquuma5HJBzvLiIONBnx40B7QIzTdxCcNwj3dYlEoUmabAU+UFZDpxah22Ng2NjQXH0LrwccGwyEzXfWhWQwSYQHYuFevXj14/vnn37h79+7Nr7766gup/FX5PnAj33///f/46aef3vj444/vfPbZZz9IYGMcnDbkhEYQL001Hfsu775i+7j6LID6cDQWYo8mabGMxOr+e/ye3y7989p3/9jfvHnz2q1bt25oMb549913/3Lwzjvv/Mu3337775988smdzz///AcVQ+IecsAOp8OOHRpkiJniWQnrBJmwc7EF8atxBA2ihx/obf7Qqa+un+aDI0f7k08nU+PLj3PBR+qpcvFdd3BNP7YgI7mnHqHzBRndv1hH33///QNtlAcvvfTSq999992dQzFu/vjjj/c//fTTu1z+unT2wDFoHN13QbVg5CQS3tBfQGwHoo+chltPto4FMsR3nKCZ7a3KyDM+UOOyHzV4xxAHOTjGqfVcVv23b9++++abb/4TvT+8f//+dS3ALzqj3MxgMq6IjAUC4as4CrbdmLtA8S2vttA0D5vSxNBnOvLwK1vO4K3+FSY+Z/Ol71RiC8JI7iBzcrus+nWfvf/iiy/+86Eux2u6JO6RQBoTFCvFOGEKkcyFRZ+kt+kP/pRHF9xiD3uOrs8OFW9eoaFBxorcsfGDvOdTeJCRTxQruT/x+rXxH6nvzx1qRx+I4FHJQZxJeat8CqCY0vCarG+AnK86++whdDlzeQrZKieWhmCTC3GgEy+x01DiKHfuK6vxYhfcYj/zKWVPMrnAwE98RCG+mZPHafVVOX71hPRUHkOpnMe9+SSBQ5wpgJF5mlGTgp+R5oHwhj/7Za7kzQMZ8RPsBaZYEH3k6KbotfySQ/Tjg7lsXQ/IQFc5Chb5zgUR/8LqJyi99QJA0CySFc4znUTFm3d2Cq8FuYryFhk42HLh3bz1zI4N+qGLvXkJMXKcDer6yE+7IuInuObvMusn/iHNz4DBqoMM0W4gyJxmsgijqSfkyNALdv3YRl51oXfFP4u+fCjd43xTQ/wLtx5Zu+L3euI78VJXsOvX+hXrijbL3qEIP1lEObuKhENnR+IgvDU5vD7wGx4Fyn4ucHzFfy8I2/Dio2JkIPyu3+XEp2iQ0ePvqm+X3E7b27b64ZPHYRrCE0R/jq68kfB80mBOQhWhTxu9YHTTfOi+QGLZf7Dbd/3UAjK6PDwL9dafmi6zfm0Ob8xDVkIJs7O5ErxDQQaFhMdctHVB5o8xfLXJzo0dC1wfKxefK1b8L+xHHuGhHjobgzzDO+Fu1Dw/V6RWkHGR9avv5LW5CRNs7Aaf8Qq82mAZUNh8CkEPXvRDDz3cLob4zB0YAjvF3Wrf/fcdK3nyxt2k0WNoR/MlopG54i820Iq/RT3Y1DHqemL1cxX4JkxiXAkECBK4N6Ams0ZjCz+Y8xZkcCSEx3xXPOTJAf3kFv/dfkWOja9i7ImvMW/ChXbe3V9igxjuGskrmFrX6lcsP+FwBPn40WJAsihGgvWEkIe3JpetiwUZTz31lBsOMihE9NzxZpY3GoTtaNSk40/ooyXY84UfHm57fHjKH/DoDYotiEJqBZnDD29NTp74Bxk9fq8f3XwOIHM7z6rbw+bNwcc8tDG6YNGvpNxu/xwwZPOKobj4xEnobf536cvOVwDI6PrJLXl0uY3U94FA6CdSvxbKR5C3DcFJJFiCTrLvmJ4w9hr2g5Fo72aQgX7Fy9ZX7Bw/Z9rh5FrHk6yfJnGlH1+PilQbVOkkUXnQNDAIjV4wNhUjA3nFFqx05B2zuGClo9fj4xNe/IcG18Yu/S6vNUDjM7jmPzJwvPb5HCB6NoTLnoRjn0e41UuOhKTvRsagouSLpw49lXAu8ue6qjbpWuBkniScC2zyrPn253hkqs06Q3+Rb3IH1/yJd6H1c0XxFDSPIAVMM50QSdXRG4St5EmSQk2D1S70sE8MGriwj942PK//7mclXnJPvsntwuvX8cPfyTdfRSRRGqQifckO3lkSig4moV1Ab3iX94aOZ/bFB7ORk/2tPLfPZ/+R7wJoeGIg6PmkVjDy8Mxo9QzehO5PgvPUzx/19w71xqOhX3jm0akOjqfM04wR2OxKR28bsuLckEGGbH1EgAwVf64PZvgh/23+5JIdjuvVI7Q/JqJ4WfVrM/km7A9iKtw3tVHQbBDNogCQwWJoLjheFAvGW2QgrNGYc/09IDGwD5143f9afuJJfZNfaDD5YJMFgy9acCxnVxb5hdVPUNWz+RxAQF7sQKFvVKMBvoGpIKa+hNFJg80sb5GBg51mbBwUXUj8xIZ56GLvRUDGGDnOBj2G/vSxzd8l1/+P9/cAdn92dF8gFrAeWdLzgoBZkPCY46f6g85VuCbPxgx2/diCel1Rfnv+KgLFKCdpAoQG1wJikySRrw10wt+1g+MLxGaX/136tWD8Sf/EkRIfyNFPzcxDX0T9o9/H34YmYMXxVMKNEbaPIyVpNGPc3ESvHjFDZ0IvCEGKg+4LJFb8Grt915d8+tjiD/YcXT+5BC+yfi28Nyb/LKV+DpjJQZBgbbjoxWMdH6hGkrYLnQVbONtM+nP3QgX/YkRnIRuTyLwgK/qnynu+sl/s+B7wIuvXFeAa+JOkdw1NY+WTVE+GueQuEGQuGy8IyBxbaJB5H6MgirZIeosFHXbTXnqLfEaO9XPCqZ8DkmdwJd+5yUiox1vJ/4nXf66/B+xqAOcaSQfzSAcy1OBFwbsajjxNwT40OPwt5OJl8SxHpw42m8b83FDo6Y/cR14n4j3J+hWDmJvvglTQiS+3yJREakKhwTU5x5ps5ueG0CADu3Hi2R59mgIyQo9GmR8ecvKpuCsfdOsgTnKq/NA9P+IlBjqhQeZd3v0nFsjATkOw+YM8vMXfAyIEEVK8du/8ICVWjhZj35HY1NH9VRl0CglSUHwiDw0y7+NJ6/d8L7p+5X/y7wFJgmI5OrjscoTsagCNrPaiafLc4bI/1wLSYGIG1/yfdoX0BcxCBvsCdv8XWb9iubbN8+XoLAkRNAWLnfMwRwZ2bjIm0OiCw8Xc1ZlXjG30Y5t48MOrdqGzuCC87q/L9b2O6wHR7wsi/XnsISf2ZdVP7nrtLz6IKUHvWDAJJWnmocE1Obw6uj4yAkeH3SsdN2Hw3CjUorOCUxZbkBHfQfiiHQM5DRYvm+pEPefV7/6IUUdigeEnt8z974LE5PFqPmKJtgEJ5c6PAToN0bMdfOlPH8z76AmPONO+P6cTOzx8df/JDVyTm1neejyJEjt1LR6LL7h+paMv47QL544Sgx0yG60Es1vmCpZ6TjSEAtOkoXeiwFL0CXv95wg3HGTI1+I/TKw0fLFBbFTeej7UJ3Fqwn+uCltdZv3qu8Jrg+vMIyG/uFxF+7JNHfWSGQnOAtDVoMlWt8PNBzrPdzVsRX6uvwcQRDHn5uj+JE5u3mTopgZsyZuck/9l1q+4zm3+PYDEuCmRDJgEw2POYqBXF8WK4y0yMPxK54kFHCMfihyw2/d4XR4nwa6v3J0riE6P3+WpFWQonnsBMrp/M8vbWn7wolLji08vl1/GESBJxagizrKLKj90ZCC8+AKjU7H76/boklNsKEA686b9GPq2xcfa+DvU73uAk6I4VoTkQIZon+Egc/FphnnMV+TRCy7uCV0fHywCyOhHyC79jdXxO75kM4/I0GD866a+9dtd6pbupdSvWJu/BygxN1Tz2SwlcaYGVpvjNiwpdJac41m3J254aIU+xUc2w8xXZuHhIrTlaS7I6P53xd8lt9P2ti13jhrJlkdQlINJMj7rGTZ4+Zpi7uLoriF+dZmnKVapsXb5J2nsQYy7Puzw1uQOWN66fnIJolrp+AbHeOz645cHaBdFYfG6DTHKLkCHT40kAzJCJ8EuT/O2xdrlv9uzEOERP3T8n9cfPk4bu/ydp/7kmK+js3MWBfVk0nwQmQJ6QUDm8MNjzpnOIoCMQfvjPvNe0C7/StpPJSCDHRwec9m7DnDMrYhf5skt+ca2+Lv0+t0ZdhJDiczHIBKuvFGAi1YBTCctPc9pKEQQvmjrDb5peAzioQsOuenYd3nPB3l4a/bw6hh559GXDWEaRK/7i28QOfaQT6J+Umdj5LsgYs9iErDySIDGYJQGhc4OQ+e0sWK/2LEUJl+zwNAgg3wqkmdyDD885n3gBxfFn+nhluae6m8lf/dC/pxXj9fn1Z5aefFJ2I2twjjk6NBjm/+bz3BGQMgEzCPf5hJoEfETv03kKTKIgviNT0Shz+Q/seIPB3X0fLp+l190/Sw494Bc9v57LkkosAvmi7B8P1MLCS3bxXP3SkE+guQzJosFFN8NBqNQEf/Mg12fBuEbHONU/+Q3/AUXC07d8ncp9XPlkotvwiN5ijEz2BOCnyaXQsyLjxSZecXYFp3YptE0JrxqGjqyVf2V/KIX7Efo/PBHgNQdvMj66YGOoH3+WYqLKk1JsTtvkr1gzjSONJCBT1a6+q40eoo/9WWyeK6OL5Ax/Edn2uKDEd9BM8tbzxe98IraJJM7CBP98JjHFmR+3vqxOXzmmWceaKU337CxGhqCTUVolIGMabAnhGgUb71iahI7fFf7FIFCb3j/18voiuemdd/Mu/+uE1sQWfeX3MBuyzx5B39P/fRcr4dcAT9p5bxl4zhIgNqgnlRkILKuf1654tIUCk2oLJYbQpr0ZqRrGt30C1tk4FnyQYccray31B3s9UQviG104IUGmZ8mH5v+3qF2w51nn332TzHCsI7KJzEVm6akEVuPhLWGhUeM0CAjvkHmxCM+uCYPD2R0f2Ilt7lB4tMGZ3i7qPqfe+65P6j3X1y5du3aZ3rSefrGjRsvkNxpI80AeTGC0NgGoakvuFYrtvDjD11okBF6m3yjdfze9eM7sbPQIC8sg8detlPdP7XCy8ASOh6IC534Qf126Au6Aq7S+0P9jOJ/f/jhh7dfeeWVN1C4c+cOv5zoxsQgKD7O/OgIT3OLgrrkLAMR9EuQYsXLlWO5ePNMJ25s7Fhv8EIraduDDOJI7kfh6FT98M6Ka/GrLbE0/131X79+/YVXX331+tNPP32b3nt1tGhXP/rooz/ruf9N/YzWQ/2e2c8Cfg7Wz8RC9WkeE8pj/rQltMRH/jXdsdreAEp04mg8u22zYhvZ9IPueLE4puMLfnjRKzKCbD4ZHv9oK/mwaPOlm/ukkbFwjKLj428j8t8DEEvN9xJoJuhsDI9lxOeHXr3zE8cGm7fpQMfNgR54ntXmYXzx1ltvbX64VUl4SH//66+/fl2/5ndLC/BHMV/Q6ypN06Bm3lgFaKMcEbj+bDHN88/curvewF4hjhNWasrwhy/0waIPjylyYjp49Ag++NhFhi7F+jeEFcc/H6w5TYbnxo2OoufXmNPcX+XWv4QLMo+taJkfeY4gvtRs/n8vzY/cssxB5CyKxi96/aB+/Y9+KfE/X3vttS8lI7e9/wfu514OAjYP0QAAAABJRU5ErkJggg==";function Bd(n){me(n,"svelte-1d7uzh5",".room-label-item.svelte-1d7uzh5{position:absolute;font-size:0.5rem;z-index:0;transform:none;cursor:pointer;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.room-label-item__text.svelte-1d7uzh5{position:absolute;left:0;top:-4rem;transform:translate(-50%, 0);display:flex;justify-content:center;align-items:center;height:1.25rem;min-width:2rem;padding:0 0.375rem;pointer-events:all;background-size:100% 100%;background-repeat:no-repeat;white-space:nowrap}.room-label-item__bar.svelte-1d7uzh5{position:absolute;top:-2.75rem;height:3rem;width:0.0625rem;background-image:linear-gradient(to bottom, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0))}.wide.svelte-1d7uzh5{font-size:0.625rem}")}function Rd(n){let t,e,i=n[0].name+"",s,o,r,l,a;return{c(){t=G("div"),e=G("span"),s=Fe(i),o=K(),r=G("div"),C(e,"class","room-label-item__text svelte-1d7uzh5"),W(e,"background-image","url("+jd+")"),ie(e,"wide",n[0].name.length>3),C(r,"class","room-label-item__bar svelte-1d7uzh5"),C(t,"class","room-label-item svelte-1d7uzh5"),W(t,"z-index",n[0].zIndex),W(t,"transform",n[0].transform),W(t,"opacity",n[0].visible?1:0)},m(c,u){F(c,t,u),_(t,e),_(e,s),_(t,o),_(t,r),l||(a=je(e,"click",n[1]),l=!0)},p(c,[u]){u&1&&i!==(i=c[0].name+"")&&Ve(s,i),u&1&&ie(e,"wide",c[0].name.length>3),u&1&&W(t,"z-index",c[0].zIndex),u&1&&W(t,"transform",c[0].transform),u&1&&W(t,"opacity",c[0].visible?1:0)},i:ce,o:ce,d(c){c&&R(t),l=!1,a()}}}function Hd(n,t,e){let{five:i}=t,{roomLabel:s}=t;function o(){i.setState({panoIndex:s.panoIndex,mode:"Panorama",longitude:s.longitude})}return n.$$set=r=>{"five"in r&&e(2,i=r.five),"roomLabel"in r&&e(0,s=r.roomLabel)},[s,o,i]}class Fd extends fe{constructor(t){super(),de(this,t,Hd,Rd,ue,{five:2,roomLabel:0},Bd)}}const{Map:Nd}=zd;function Gd(n){me(n,"svelte-9eg4zi",".room-labels-container.svelte-9eg4zi{width:100%;height:100%;position:relative;color:#fff}")}function hr(n,t,e){const i=n.slice();return i[13]=t[e],i}function pr(n,t){let e,i,s;return i=new Fd({props:{roomLabel:t[13],five:t[1]}}),{key:n,first:null,c(){e=Ce(),re(i.$$.fragment),this.first=e},m(o,r){F(o,e,r),se(i,o,r),s=!0},p(o,r){t=o;const l={};r&1&&(l.roomLabel=t[13]),r&2&&(l.five=t[1]),i.$set(l)},i(o){s||(L(i.$$.fragment,o),s=!0)},o(o){H(i.$$.fragment,o),s=!1},d(o){o&&R(e),oe(i,o)}}}function _d(n){let t,e=[],i=new Nd,s,o,r=n[0];const l=a=>a[13].id;for(let a=0;a<r.length;a+=1){let c=hr(n,r,a),u=l(c);i.set(u,e[a]=pr(u,c))}return{c(){t=G("div");for(let a=0;a<e.length;a+=1)e[a].c();C(t,"class","room-labels-container svelte-9eg4zi"),Re(()=>n[6].call(t))},m(a,c){F(a,t,c);for(let u=0;u<e.length;u+=1)e[u].m(t,null);s=$t(t,n[6].bind(t)),o=!0},p(a,[c]){c&3&&(r=a[0],ve(),e=gt(e,c,l,1,a,r,i,t,Gt,pr,null,hr),be())},i(a){if(!o){for(let c=0;c<r.length;c+=1)L(e[c]);o=!0}},o(a){for(let c=0;c<e.length;c+=1)H(e[c]);o=!1},d(a){a&&R(t);for(let c=0;c<e.length;c+=1)e[c].d();s()}}}function Qd(n,t,e){let i;var s;let{five:o}=t,{roomLabels:r}=t,l,a,c=(s=o.model.shownFloor)!==null&&s!==void 0?s:null;function u(g){if(!(c===null||g.floorIndex===c))return!1;const A=new X.Raycaster,y=o.camera.position.clone(),I=new X.Vector3(g.position.x,g.position.y,g.position.z),k=I.distanceTo(y);A.set(y.clone(),I.clone().sub(y).normalize());const[E]=o.model.intersectRaycaster(A);return!(E&&E.distance+1<k)}function d(g,b){const y=new X.Vector3(g.position.x,g.position.y,g.position.z).clone().project(o.camera),I=Math.ceil((y.x+1)/2*b.x),k=Math.ceil((-y.y+1)/2*b.y);return`translate(${I}px, ${k}px)`}function f(g){const{rendererSize:b,shownFloor:A}=g,y=new Map;function I(E){const D=y.get(E.id);if(D)return D;const{x:T,y:B,z}=E.position,j=new X.Vector3(T,B,z).clone().distanceTo(o.camera.position);return y.set(E.id,j),j}return r.map(E=>{const D=u(E),T=D?d(E,b):E.transform,B=I(E),j=r.filter(Y=>Y.visible&&I(Y)<B).length*10;return Object.assign(Object.assign({},E),{visible:D,transform:T,zIndex:j})})}function h(){e(0,r=f({rendererSize:i,shownFloor:c}))}function p(g){e(4,c=g)}o.on("cameraUpdate",h),o.on("modelShownFloorChange",p),en(()=>{o.off("cameraUpdate",h),o.off("modelShownFloorChange",p)});function m(){l=this.clientWidth,a=this.clientHeight,e(2,l),e(3,a)}return n.$$set=g=>{"five"in g&&e(1,o=g.five),"roomLabels"in g&&e(0,r=g.roomLabels)},n.$$.update=()=>{n.$$.dirty&12&&e(5,i={x:l,y:a}),n.$$.dirty&48&&e(0,r=f({rendererSize:i,shownFloor:c}))},[r,o,l,a,c,i,m]}class Wd extends fe{constructor(t){super(),de(this,t,Qd,_d,ue,{five:1,roomLabels:0},Gd)}}function Xd(n){return n.model_room_labels.map(({id:t,pano_index:e,floor_index:i,name:s,position:o,longitude:r})=>({id:t,name:s,position:o,longitude:r,panoIndex:e,floorIndex:i,zIndex:0,visible:!1,transform:""}))}class Vd{constructor(t){v(this,"five");v(this,"enabled",!0);v(this,"fiveModeEnabled");v(this,"app");v(this,"wrapper");v(this,"roomLabels",[]);v(this,"container",document.createElement("div"));v(this,"onFiveModeChange",t=>{if(t!=="Floorplan"){this.fiveModeEnabled=!1,this.render();return}this.five.once("initAnimationEnded",()=>{this.fiveModeEnabled=this.five.currentMode==="Floorplan",this.render()})});this.five=t,this.fiveModeEnabled=this.five.currentMode==="Floorplan",this.container.classList.add("model-room-label-plugin-container"),this.container.style.width="100%",this.container.style.height="100%",this.container.style.position="absolute",this.container.style.pointerEvents="none",this.container.style.left="0",this.container.style.top="0",this.container.style.zIndex="5",this.five.once("dispose",()=>this.dispose()),this.five.on("modeChange",this.onFiveModeChange),this.render()}dispose(){this.five.off("modeChange",this.onFiveModeChange),this.container.remove()}load(t){this.roomLabels=Xd(t),this.render()}appendTo(t){return this.wrapper=t,t.appendChild(this.container),this.render(),this}disable(){return this.enabled=!1,this.render(),this}enable(){return this.enabled=!0,this.render(),this}render(){var t;if(!!this.wrapper){if(!this.enabled||!this.fiveModeEnabled){(t=this.app)==null||t.$destroy(),this.app=void 0;return}this.app?this.app.$set({five:this.five,roomLabels:this.roomLabels}):this.app=new Wd({target:this.container,props:{five:this.five,roomLabels:this.roomLabels}})}}}const Yd=n=>new Vd(n),Ud={name:"ModelRoomLabelPlugin",version:0};var Jt=(n=>(n[n.FLOOR=1]="FLOOR",n[n.CEILING=2]="CEILING",n[n.BOUNDING_CENTER=3]="BOUNDING_CENTER",n))(Jt||{});async function Qi(n){try{return[null,await n]}catch(t){return t instanceof Error?[t,null]:[new Error(""),null]}}function Wi(n){return Object.prototype.toString.call(n)==="[object Object]"}function ns(n,t){return n===t?!0:typeof n!=typeof t?!1:!!(Number.isNaN(n)&&Number.isNaN(t))}function Zd(n,t){const e=Object.getOwnPropertyNames(n),i=Object.getOwnPropertyNames(t);if(e.length!==i.length)return!1;for(let s=0,o=e.length;s<o;s++){const r=e[s];if(!ns(n[r],t[r]))return!1}return!0}function Jd(n,t){if(n.length!==t.length)return!1;for(let e=0,i=n.length;e<i;e++)if(!ns(n[e],t[e]))return!1;return!0}function qd(n,t){return ns(n,t)?!0:Wi(n)&&Wi(t)?Zd(n,t):Array.isArray(n)&&Array.isArray(t)?Jd(n,t):!1}function Ao(n,t){return ns(n,t)?!0:Wi(n)&&Wi(t)?$d(n,t):Array.isArray(n)&&Array.isArray(t)?Kd(n,t):!1}function Kd(n,t){if(n.length!==t.length)return!1;for(let e=0,i=n.length;e<i;e++)if(!Ao(n[e],t[e]))return!1;return!0}function $d(n,t){const e=Object.getOwnPropertyNames(n),i=Object.getOwnPropertyNames(t);if(e.length!==i.length)return!1;for(let s=0,o=e.length;s<o;s++){const r=e[s];if(!Ao(n[r],t[r]))return!1}return!0}function Pt(n,t,e={deep:!1}){return e.deep?Ao(n,t):qd(n,t)}function kn(n){return n<.5?4*n*n*n:.5*Math.pow(2*n-2,3)+1}function dc(n){const t=n-1;return t*t*t+1}function pn(n,{delay:t=0,duration:e=400,easing:i=Sn}={}){const s=+getComputedStyle(n).opacity;return{delay:t,duration:e,easing:i,css:o=>`opacity: ${o*s}`}}function mr(n,{delay:t=0,duration:e=400,easing:i=dc,x:s=0,y:o=0,opacity:r=0}={}){const l=getComputedStyle(n),a=+l.opacity,c=l.transform==="none"?"":l.transform,u=a*(1-r);return{delay:t,duration:e,easing:i,css:(d,f)=>`
105
+ transform: ${c} translate(${(1-d)*s}px, ${(1-d)*o}px);
106
+ opacity: ${a-u*f}`}}function Xi(n,{delay:t=0,speed:e,duration:i,easing:s=kn}={}){let o=n.getTotalLength();const r=getComputedStyle(n);return r.strokeLinecap!=="butt"&&(o+=parseInt(r.strokeWidth)),i===void 0?e===void 0?i=800:i=o/e:typeof i=="function"&&(i=i(o)),{delay:t,duration:i,easing:s,css:(l,a)=>`stroke-dasharray: ${l*o} ${a*o}`}}const qt="data:image/png;base64,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";function ef(n){return n*180/Math.PI}function tf(n){me(n,"svelte-17cl35n",".floorplan__camera-position.svelte-17cl35n{position:absolute;width:0;height:0}.floorplan__camera-rotate.svelte-17cl35n{position:absolute;background-repeat:no-repeat;background-size:100%}")}function nf(n){let t,e;return{c(){t=G("div"),e=G("div"),C(e,"class","floorplan__camera-rotate svelte-17cl35n"),W(e,"background-image",`url(${n[0]||qt})`),W(e,"width",n[4]),W(e,"height",n[4]),W(e,"left","-"+n[4]),W(e,"top","-"+n[4]),W(e,"transform",`rotate(${n[3]}deg)`),W(e,"transform-origin",`${n[4]} ${n[4]}`),C(t,"class","floorplan__camera-position svelte-17cl35n"),W(t,"left",n[1]),W(t,"top",n[2])},m(i,s){F(i,t,s),_(t,e)},p(i,[s]){s&1&&W(e,"background-image",`url(${i[0]||qt})`)},i:ce,o:ce,d(i){i&&R(t)}}}function sf(n,t,e){let{panoIndex:i}=t,{floorplanData:s}=t,{lastPanoramaLongitude:o}=t,{cameraImageUrl:r}=t;const{observers:l}=s,a=l[i],c=a.positionInImage.x,u=a.positionInImage.y,d=c*100+"%",f=u*100+"%",h=-ef(o)+45,p=document.body.clientWidth,m=document.body.clientHeight,b=`${(p<500||m<500?17:37)/16}rem`;return n.$$set=A=>{"panoIndex"in A&&e(5,i=A.panoIndex),"floorplanData"in A&&e(6,s=A.floorplanData),"lastPanoramaLongitude"in A&&e(7,o=A.lastPanoramaLongitude),"cameraImageUrl"in A&&e(0,r=A.cameraImageUrl)},[r,d,f,h,b,i,s,o]}class of extends fe{constructor(t){super(),de(this,t,sf,nf,ue,{panoIndex:5,floorplanData:6,lastPanoramaLongitude:7,cameraImageUrl:0},tf)}}const rf="data:image/png;base64,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";function af(n){me(n,"svelte-rpkaro",".floorplan-plugin__compass.svelte-rpkaro{position:absolute;left:50%;top:-2.875rem;width:14.4375rem;height:2.5625rem;will-change:opacity;transform-origin:center 11.5rem}.floorplan-plugin__compass-image.svelte-rpkaro{width:100%;height:100%;position:absolute;left:0;top:0;opacity:0.1;background-repeat:no-repeat;background-size:100% 100%}.floorplan-plugin__compass-text.svelte-rpkaro{position:absolute;left:50%;top:0.9375rem;transform:translateX(-50%);opacity:0.2;font-weight:bold;font-size:0.625rem;color:#fff}")}function lf(n){let t,e,i,s,o;return{c(){t=G("div"),e=G("div"),i=K(),s=G("span"),o=Fe(n[0]),C(e,"class","floorplan-plugin__compass-image svelte-rpkaro"),W(e,"background-image",`url(${rf})`),C(s,"class","floorplan-plugin__compass-text svelte-rpkaro"),C(t,"class","floorplan-plugin__compass svelte-rpkaro"),W(t,"transform",n[2])},m(r,l){F(r,t,l),_(t,e),_(t,i),_(t,s),_(s,o)},p(r,l){l&1&&Ve(o,r[0])},d(r){r&&R(t)}}}function cf(n){let t,e=n[1]&&lf(n);return{c(){e&&e.c(),t=Ce()},m(i,s){e&&e.m(i,s),F(i,t,s)},p(i,[s]){i[1]&&e.p(i,s)},i:ce,o:ce,d(i){e&&e.d(i),i&&R(t)}}}function uf(n){return n/Math.PI*180}function df(n,t,e){var i;let{floorplanData:s}=t,{northDesc:o}=t;const r=(i=s.entrance)===null||i===void 0?void 0:i.northRad,l=typeof r=="number",c=`translateX(-50%) translateZ(10px) rotate(${-(r?uf(r):0)+90}deg)`;return n.$$set=u=>{"floorplanData"in u&&e(3,s=u.floorplanData),"northDesc"in u&&e(0,o=u.northDesc)},[o,l,c,s]}class ff extends fe{constructor(t){super(),de(this,t,df,cf,ue,{floorplanData:3,northDesc:0},af)}}const Pn=[];function yo(n,t=ce){let e;const i=new Set;function s(l){if(ue(n,l)&&(n=l,e)){const a=!Pn.length;for(const c of i)c[1](),Pn.push(c,n);if(a){for(let c=0;c<Pn.length;c+=2)Pn[c][0](Pn[c+1]);Pn.length=0}}}function o(l){s(l(n))}function r(l,a=ce){const c=[l,a];return i.add(c),i.size===1&&(e=t(s)||ce),l(n),()=>{i.delete(c),i.size===0&&(e(),e=null)}}return{set:s,update:o,subscribe:r}}function hf(n){me(n,"svelte-1gfoniz","img.svelte-1gfoniz{width:100%;height:100%}")}function pf(n){let t,e;return{c(){t=G("img"),kt(t.src,e=n[0])||C(t,"src",e),C(t,"alt","floorplan iamge"),C(t,"class","svelte-1gfoniz")},m(i,s){F(i,t,s)},p(i,[s]){s&1&&!kt(t.src,e=i[0])&&C(t,"src",e)},i:ce,o:ce,d(i){i&&R(t)}}}function mf(n,t,e){let{url:i}=t;return n.$$set=s=>{"url"in s&&e(0,i=s.url)},[i]}class gf extends fe{constructor(t){super(),de(this,t,mf,pf,ue,{url:0},hf)}}function vf(n){me(n,"svelte-ub47ya",".floorplan-plugin__base-image.svelte-ub47ya{width:100%;height:100%}")}function bf(n){let t,e,i,s;return{c(){t=G("div"),e=new Fi(!1),i=K(),s=new Fi(!1),e.a=i,s.a=null,C(t,"class","floorplan-plugin__base-image svelte-ub47ya")},m(o,r){F(o,t,r),e.m(n[1],t),_(t,i),s.m(n[0],t)},p(o,[r]){r&1&&s.p(o[0])},i:ce,o:ce,d(o){o&&R(t)}}}function Af(n,t,e){let{content:i}=t;const s=`
107
+ <style>
108
+ svg [type='lineGroup'] path {
109
+ fill: #ffffff;
110
+ stroke: #ffffff;
111
+ }
112
+ svg [type='lineItemGroup'] g g g g {
113
+ stroke: #ffffff;
114
+ }</style>
115
+ `;return n.$$set=o=>{"content"in o&&e(0,i=o.content)},[i,s]}class yf extends fe{constructor(t){super(),de(this,t,Af,bf,ue,{content:0},vf)}}function wf(n){me(n,"svelte-ozpg4a",".floorplan-plugin__base-image.svelte-ozpg4a{position:absolute;z-index:10;width:100%;height:100%;pointer-events:none}")}function Pf(n){let t,e;return t=new gf({props:{url:n[1].url}}),{c(){re(t.$$.fragment)},m(i,s){se(t,i,s),e=!0},p(i,s){const o={};s&2&&(o.url=i[1].url),t.$set(o)},i(i){e||(L(t.$$.fragment,i),e=!0)},o(i){H(t.$$.fragment,i),e=!1},d(i){oe(t,i)}}}function Ef(n){let t,e;return t=new yf({props:{content:n[0]}}),{c(){re(t.$$.fragment)},m(i,s){se(t,i,s),e=!0},p(i,s){const o={};s&1&&(o.content=i[0]),t.$set(o)},i(i){e||(L(t.$$.fragment,i),e=!0)},o(i){H(t.$$.fragment,i),e=!1},d(i){oe(t,i)}}}function Cf(n){let t,e,i,s;const o=[Ef,Pf],r=[];function l(a,c){return a[0]?0:a[1]?1:-1}return~(e=l(n))&&(i=r[e]=o[e](n)),{c(){t=G("div"),i&&i.c(),C(t,"class","floorplan-plugin__base-image svelte-ozpg4a")},m(a,c){F(a,t,c),~e&&r[e].m(t,null),s=!0},p(a,[c]){let u=e;e=l(a),e===u?~e&&r[e].p(a,c):(i&&(ve(),H(r[u],1,1,()=>{r[u]=null}),be()),~e?(i=r[e],i?i.p(a,c):(i=r[e]=o[e](a),i.c()),L(i,1),i.m(t,null)):i=null)},i(a){s||(L(i),s=!0)},o(a){H(i),s=!1},d(a){a&&R(t),~e&&r[e].d()}}}function If(n,t,e){let i,s;var o,r;let{floorIndex:l}=t,{floorplanData:a}=t;return n.$$set=c=>{"floorIndex"in c&&e(2,l=c.floorIndex),"floorplanData"in c&&e(3,a=c.floorplanData)},n.$$.update=()=>{n.$$.dirty&12&&e(1,i=a.outlines[l]),n.$$.dirty&60&&e(0,s=e(5,r=e(4,o=a.outlines)===null||o===void 0?void 0:o[l])===null||r===void 0?void 0:r.svgContent)},[s,i,l,a,o,r]}class fc extends fe{constructor(t){super(),de(this,t,If,Cf,ue,{floorIndex:2,floorplanData:3},wf)}}function xf(n){me(n,"svelte-12pzct5",".floorplan-plugin__room-label-item.svelte-12pzct5{position:absolute;display:flex;flex-flow:column;align-items:center;line-height:1;color:#fff;transform:translate(-50%, -50%);white-space:nowrap;will-change:opacity;transition:opacity 300ms}.floorplan-plugin__room-size.svelte-12pzct5{opacity:0.45}")}function Tf(n){let t,e=n[4].outerHTML+"",i;return{c(){t=new Fi(!1),i=Ce(),t.a=i},m(s,o){t.m(e,s,o),F(s,i,o)},p(s,o){o&16&&e!==(e=s[4].outerHTML+"")&&t.p(e)},d(s){s&&R(i),s&&t.d()}}}function Sf(n){let t,e=n[0].name+"",i,s,o,r;return{c(){t=G("span"),i=Fe(e),s=K(),o=G("span"),r=Fe(n[5]),C(t,"class","floorplan-plugin__room-name"),C(o,"class","floorplan-plugin__room-size svelte-12pzct5")},m(l,a){F(l,t,a),_(t,i),F(l,s,a),F(l,o,a),_(o,r)},p(l,a){a&1&&e!==(e=l[0].name+"")&&Ve(i,e),a&32&&Ve(r,l[5])},d(l){l&&R(t),l&&R(s),l&&R(o)}}}function kf(n){let t;function e(o,r){if(o[1]===void 0)return Sf;if(o[4])return Tf}let i=e(n),s=i&&i(n);return{c(){t=G("div"),s&&s.c(),C(t,"class","floorplan-plugin__room-label-item svelte-12pzct5"),W(t,"left",n[6]),W(t,"top",n[7]),W(t,"font-size",n[8]),W(t,"opacity",n[3]?"1":"0")},m(o,r){F(o,t,r),s&&s.m(t,null),n[16](t)},p(o,[r]){i===(i=e(o))&&s?s.p(o,r):(s&&s.d(1),s=i&&i(o),s&&(s.c(),s.m(t,null))),r&8&&W(t,"opacity",o[3]?"1":"0")},i:ce,o:ce,d(o){o&&R(t),s&&s.d(),n[16](null)}}}function Df(n,t){const e=n[0],i=n[1];let s=!1;for(let o=0,r=t.length-1;o<t.length;r=o++){const l=t[o][0],a=t[o][1],c=t[r][0],u=t[r][1];a>i!=u>i&&e<(c-l)*(i-a)/(u-a)+l&&(s=!s)}return s}function Lf(n,t,e){let i,s,o,r,{pxmm:l}=t,{room:a}=t,{hoveredRoom:c}=t,{getRoomAreaText:u}=t,{getLabelElement:d}=t,{adaptiveRoomLabelVisibleEnable:f}=t;function h(T,B){if(B.width===0||B.height===0)return()=>!1;const z=T.path.map(({x:$,y:J})=>[$,J]),j=T.roomLabel.position,{x:Y,y:x}=j,{width:O,height:Q}=B,V=O/2,U=Q/2;return function(J){const q=Y*J,he=x*J,le=z.map(([xe,De])=>[xe*J,De*J]);return[[q+V,he-U],[q-V,he-U],[q-V,he+U],[q+V,he+U]].every(xe=>Df(xe,le))}}const p=document.body.clientWidth,m=document.body.clientHeight,g=a.roomLabel,b=g.positionInImage.x*100+"%",A=g.positionInImage.y*100+"%",y=(p<500||m<500?10:14)/16+"rem";let I=!1,k,E;c.subscribe(function(B){e(13,I=!!B&&B.id===a.id)}),mt(()=>{const T=k==null?void 0:k.getClientRects()[0];e(14,E={width:T.width,height:T.height})});function D(T){Xe[T?"unshift":"push"](()=>{k=T,e(2,k)})}return n.$$set=T=>{"pxmm"in T&&e(9,l=T.pxmm),"room"in T&&e(0,a=T.room),"hoveredRoom"in T&&e(10,c=T.hoveredRoom),"getRoomAreaText"in T&&e(11,u=T.getRoomAreaText),"getLabelElement"in T&&e(1,d=T.getLabelElement),"adaptiveRoomLabelVisibleEnable"in T&&e(12,f=T.adaptiveRoomLabelVisibleEnable)},n.$$.update=()=>{n.$$.dirty&2049&&e(5,i=a.size?u(a.size):""),n.$$.dirty&16385&&e(15,s=E?h(a,E):void 0),n.$$.dirty&3&&e(4,o=d==null?void 0:d(a)),n.$$.dirty&45568&&e(3,r=f?I?!0:!!(s!=null&&s(l)):!0)},[a,d,k,r,o,i,b,A,y,l,c,u,f,I,E,s,D]}class Mf extends fe{constructor(t){super(),de(this,t,Lf,kf,ue,{pxmm:9,room:0,hoveredRoom:10,getRoomAreaText:11,getLabelElement:1,adaptiveRoomLabelVisibleEnable:12},xf)}}function zf(n){me(n,"svelte-13xux0b",".floorplan-plugin__room-labels.svelte-13xux0b{width:100%;height:100%;position:absolute;left:0;top:0;z-index:20;pointer-events:none}")}function gr(n,t,e){const i=n.slice();return i[10]=t[e],i}function vr(n){let t,e=[],i=new Map,s,o,r=n[6];const l=a=>a[10].id;for(let a=0;a<r.length;a+=1){let c=gr(n,r,a),u=l(c);i.set(u,e[a]=br(u,c))}return{c(){t=G("div");for(let a=0;a<e.length;a+=1)e[a].c();C(t,"class","floorplan-plugin__room-labels svelte-13xux0b"),Re(()=>n[9].call(t))},m(a,c){F(a,t,c);for(let u=0;u<e.length;u+=1)e[u].m(t,null);s=$t(t,n[9].bind(t)),o=!0},p(a,c){c&111&&(r=a[6],ve(),e=gt(e,c,l,1,a,r,i,t,Gt,br,null,gr),be())},i(a){if(!o){for(let c=0;c<r.length;c+=1)L(e[c]);o=!0}},o(a){for(let c=0;c<e.length;c+=1)H(e[c]);o=!1},d(a){a&&R(t);for(let c=0;c<e.length;c+=1)e[c].d();s()}}}function br(n,t){let e,i,s;const o=[{pxmm:t[5],room:t[10],getLabelElement:t[2],getRoomAreaText:t[1],hoveredRoom:t[0],adaptiveRoomLabelVisibleEnable:t[3]}];let r={};for(let l=0;l<o.length;l+=1)r=Oe(r,o[l]);return i=new Mf({props:r}),{key:n,first:null,c(){e=Ce(),re(i.$$.fragment),this.first=e},m(l,a){F(l,e,a),se(i,l,a),s=!0},p(l,a){t=l;const c=a&111?Ye(o,[{pxmm:t[5],room:t[10],getLabelElement:t[2],getRoomAreaText:t[1],hoveredRoom:t[0],adaptiveRoomLabelVisibleEnable:t[3]}]):{};i.$set(c)},i(l){s||(L(i.$$.fragment,l),s=!0)},o(l){H(i.$$.fragment,l),s=!1},d(l){l&&R(e),oe(i,l)}}}function Of(n){let t,e,i=n[6]&&vr(n);return{c(){i&&i.c(),t=Ce()},m(s,o){i&&i.m(s,o),F(s,t,o),e=!0},p(s,[o]){s[6]?i?(i.p(s,o),o&64&&L(i,1)):(i=vr(s),i.c(),L(i,1),i.m(t.parentNode,t)):i&&(ve(),H(i,1,1,()=>{i=null}),be())},i(s){e||(L(i),e=!0)},o(s){H(i),e=!1},d(s){i&&i.d(s),s&&R(t)}}}function jf(n,t,e){let i,{floorIndex:s}=t,{floorplanData:o}=t,{hoveredRoom:r}=t,{getRoomAreaText:l}=t,{getLabelElement:a}=t,{adaptiveRoomLabelVisibleEnable:c}=t,u=0,d=0;function f(){u=this.clientWidth,e(4,u)}return n.$$set=h=>{"floorIndex"in h&&e(7,s=h.floorIndex),"floorplanData"in h&&e(8,o=h.floorplanData),"hoveredRoom"in h&&e(0,r=h.hoveredRoom),"getRoomAreaText"in h&&e(1,l=h.getRoomAreaText),"getLabelElement"in h&&e(2,a=h.getLabelElement),"adaptiveRoomLabelVisibleEnable"in h&&e(3,c=h.adaptiveRoomLabelVisibleEnable)},n.$$.update=()=>{if(n.$$.dirty&384&&e(6,i=o.floorDatas[s].rooms),n.$$.dirty&272){const{max:h,min:p}=o.bounding,m=h.x-p.x;e(5,d=u/m)}},[r,l,a,c,u,d,i,s,o,f]}class Bf extends fe{constructor(t){super(),de(this,t,jf,Of,ue,{floorIndex:7,floorplanData:8,hoveredRoom:0,getRoomAreaText:1,getLabelElement:2,adaptiveRoomLabelVisibleEnable:3},zf)}}function Rf(n){me(n,"svelte-djlmk4",".floorplan-plugin__rule-labels.svelte-djlmk4.svelte-djlmk4{position:absolute;display:flex}.floorplan-plugin__rule-labels--top.svelte-djlmk4.svelte-djlmk4{left:0;top:-1.25rem}.floorplan-plugin__rule-labels--bottom.svelte-djlmk4.svelte-djlmk4{left:0;bottom:-1.25rem}.floorplan-plugin__rule-labels--left.svelte-djlmk4.svelte-djlmk4{top:0;left:-1.25rem}.floorplan-plugin__rule-labels--right.svelte-djlmk4.svelte-djlmk4{top:0;right:-1.25rem}.floorplan-plugin__rule-line.svelte-djlmk4.svelte-djlmk4{background:#fff;opacity:0.05;width:100%;height:100%}.floorplan-plugin__rule-scale-wrapper.svelte-djlmk4.svelte-djlmk4{position:absolute;width:0.3125rem;height:100%;left:50%;top:0;transform:translateX(-50%)}.floorplan-plugin__rule-labels.is-row.svelte-djlmk4 .floorplan-plugin__rule-scale-wrapper.svelte-djlmk4{width:100%;height:0.3125rem;top:50%;left:0;transform:translateY(-50%)}.floorplan-plugin__rule-scale.svelte-djlmk4.svelte-djlmk4{position:absolute;background:#fff;opacity:0.05;width:100%;height:0.0625rem}.floorplan-plugin__rule-labels.is-row.svelte-djlmk4 .floorplan-plugin__rule-scale.svelte-djlmk4{width:0.0625rem;height:100%}.floorplan-plugin__rule-text-wrapper.svelte-djlmk4.svelte-djlmk4{position:absolute}.floorplan-plugin__rule-labels--top.svelte-djlmk4 .floorplan-plugin__rule-text-wrapper.svelte-djlmk4{width:100%;height:0;top:0.625rem}.floorplan-plugin__rule-labels--bottom.svelte-djlmk4 .floorplan-plugin__rule-text-wrapper.svelte-djlmk4{width:100%;height:0;bottom:0.625rem}.floorplan-plugin__rule-labels--left.svelte-djlmk4 .floorplan-plugin__rule-text-wrapper.svelte-djlmk4{width:0;height:100%;left:0.625rem}.floorplan-plugin__rule-labels--right.svelte-djlmk4 .floorplan-plugin__rule-text-wrapper.svelte-djlmk4{width:0;height:100%;right:0.625rem}.floorplan-plugin__rule-text-item.svelte-djlmk4.svelte-djlmk4{width:0;height:0;position:absolute;transform:rotate(90deg)}.floorplan-plugin__rule-labels.is-row.svelte-djlmk4 .floorplan-plugin__rule-text-item.svelte-djlmk4{transform:rotate(0)}.floorplan-plugin__rule-text.svelte-djlmk4.svelte-djlmk4{width:-moz-max-content;width:max-content;transform:translate(-50%, -50%);font-size:0.625rem;color:#fff;opacity:0.2}")}function Ar(n,t,e){const i=n.slice();return i[11]=t[e],i[13]=e,i}function yr(n,t,e){const i=n.slice();return i[14]=t[e],i}function wr(n){let t;return{c(){t=G("div"),C(t,"class","floorplan-plugin__rule-scale svelte-djlmk4"),W(t,"left",n[14].left*100+"%"),W(t,"bottom",n[14].bottom*100+"%")},m(e,i){F(e,t,i)},p:ce,d(e){e&&R(t)}}}function Pr(n,t){let e,i,s=t[1](t[11].distance)+"",o,r;return{key:n,first:null,c(){e=G("div"),i=G("div"),o=Fe(s),r=K(),C(i,"class","floorplan-plugin__rule-text svelte-djlmk4"),ie(i,"is-row",t[2]),C(e,"class","floorplan-plugin__rule-text-item svelte-djlmk4"),W(e,"left",t[11].left*100+"%"),W(e,"bottom",t[11].bottom*100+"%"),this.first=e},m(l,a){F(l,e,a),_(e,i),_(i,o),_(e,r)},p(l,a){t=l,a&2&&s!==(s=t[1](t[11].distance)+"")&&Ve(o,s)},d(l){l&&R(e)}}}function Hf(n){let t,e,i,s,o,r,l=[],a=new Map,c,u=n[3],d=[];for(let p=0;p<u.length;p+=1)d[p]=wr(yr(n,u,p));let f=n[4];const h=p=>p[13];for(let p=0;p<f.length;p+=1){let m=Ar(n,f,p),g=h(m);a.set(g,l[p]=Pr(g,m))}return{c(){t=G("div"),e=G("div"),i=K(),s=G("div");for(let p=0;p<d.length;p+=1)d[p].c();o=K(),r=G("div");for(let p=0;p<l.length;p+=1)l[p].c();C(e,"class","floorplan-plugin__rule-line svelte-djlmk4"),C(s,"class","floorplan-plugin__rule-scale-wrapper svelte-djlmk4"),ie(s,"is-row",n[2]),C(r,"class","floorplan-plugin__rule-text-wrapper svelte-djlmk4"),C(t,"class",c="floorplan-plugin__rule-labels floorplan-plugin__rule-labels--"+n[0]+" svelte-djlmk4"),ie(t,"is-row",n[2]),W(t,"width",n[2]?"100%":1/16+"rem"),W(t,"height",n[2]?1/16+"rem":"100%")},m(p,m){F(p,t,m),_(t,e),_(t,i),_(t,s);for(let g=0;g<d.length;g+=1)d[g].m(s,null);_(t,o),_(t,r);for(let g=0;g<l.length;g+=1)l[g].m(r,null)},p(p,[m]){if(m&8){u=p[3];let g;for(g=0;g<u.length;g+=1){const b=yr(p,u,g);d[g]?d[g].p(b,m):(d[g]=wr(b),d[g].c(),d[g].m(s,null))}for(;g<d.length;g+=1)d[g].d(1);d.length=u.length}m&22&&(f=p[4],l=gt(l,m,h,1,p,f,a,r,uc,Pr,null,Ar)),m&1&&c!==(c="floorplan-plugin__rule-labels floorplan-plugin__rule-labels--"+p[0]+" svelte-djlmk4")&&C(t,"class",c),m&5&&ie(t,"is-row",p[2])},i:ce,o:ce,d(p){p&&R(t),Dt(d,p);for(let m=0;m<l.length;m+=1)l[m].d()}}}const En=1e3,Cn=180;function Ff(n,t,e){let{type:i}=t,{data:s}=t,{bounding:o}=t,{getRuleDistanceText:r}=t;const l=i==="top"||i==="bottom",a=o.max.x-o.min.x-(En-Cn)*2,c=o.max.y-o.min.y-(En-Cn)*2,u=s.map(([p,m])=>l?[p.x,m.x]:[p.y,m.y]).flat().sort().filter((p,m,g)=>m===0?!0:p!==g[m-1]),d=u.map(p=>{const m=l?(p-o.min.x-En+Cn)/a:0,g=l?0:(p-o.min.y-En+Cn)/c;return{left:m,bottom:g}});d.unshift({left:0,bottom:0}),d.push(l?{left:1,bottom:0}:{left:0,bottom:1});const f=u[u.length-1]-u[0],h=u.map((p,m,g)=>{const b=m===0?0:p-g[m-1],A=m===0?0:(p+g[m-1])/2,y=l?(A-o.min.x-En+Cn)/a:0,I=l?0:(A-o.min.y-En+Cn)/c;return{left:y,bottom:I,distance:b}}).filter(({distance:p})=>p/f>.1);return n.$$set=p=>{"type"in p&&e(0,i=p.type),"data"in p&&e(5,s=p.data),"bounding"in p&&e(6,o=p.bounding),"getRuleDistanceText"in p&&e(1,r=p.getRuleDistanceText)},[i,r,l,d,h,s,o]}class Nf extends fe{constructor(t){super(),de(this,t,Ff,Hf,ue,{type:0,data:5,bounding:6,getRuleDistanceText:1},Rf)}}function Gf(n){me(n,"svelte-1mzj9p3",".floorplan-plugin__rule-labels-wrapper.svelte-1mzj9p3{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);pointer-events:none}")}function Er(n,t,e){const i=n.slice();return i[13]=t[e][0],i[14]=t[e][1],i}function Cr(n,t){let e,i,s;const o=[{type:t[13],data:t[14],bounding:t[1],getRuleDistanceText:t[0]}];let r={};for(let l=0;l<o.length;l+=1)r=Oe(r,o[l]);return i=new Nf({props:r}),{key:n,first:null,c(){e=Ce(),re(i.$$.fragment),this.first=e},m(l,a){F(l,e,a),se(i,l,a),s=!0},p(l,a){t=l;const c=a&19?Ye(o,[{type:t[13],data:t[14],bounding:t[1],getRuleDistanceText:t[0]}]):{};i.$set(c)},i(l){s||(L(i.$$.fragment,l),s=!0)},o(l){H(i.$$.fragment,l),s=!1},d(l){l&&R(e),oe(i,l)}}}function _f(n){let t,e=[],i=new Map,s,o=n[4];const r=l=>l[13];for(let l=0;l<o.length;l+=1){let a=Er(n,o,l),c=r(a);i.set(c,e[l]=Cr(c,a))}return{c(){t=G("div");for(let l=0;l<e.length;l+=1)e[l].c();C(t,"class","floorplan-plugin__rule-labels-wrapper svelte-1mzj9p3"),W(t,"width",n[3]),W(t,"height",n[2])},m(l,a){F(l,t,a);for(let c=0;c<e.length;c+=1)e[c].m(t,null);s=!0},p(l,[a]){a&19&&(o=l[4],ve(),e=gt(e,a,r,1,l,o,i,t,Gt,Cr,null,Er),be()),a&8&&W(t,"width",l[3]),a&4&&W(t,"height",l[2])},i(l){if(!s){for(let a=0;a<o.length;a+=1)L(e[a]);s=!0}},o(l){for(let a=0;a<e.length;a+=1)H(e[a]);s=!1},d(l){l&&R(t);for(let a=0;a<e.length;a+=1)e[a].d()}}}const Ir=1e3,xr=180;function Qf(n,t,e){let i,s,o,r,l,a,c,u,d,f,{floorIndex:h}=t,{floorplanData:p}=t,{getRuleDistanceText:m}=t;return n.$$set=g=>{"floorIndex"in g&&e(5,h=g.floorIndex),"floorplanData"in g&&e(6,p=g.floorplanData),"getRuleDistanceText"in g&&e(0,m=g.getRuleDistanceText)},n.$$.update=()=>{n.$$.dirty&64&&e(1,i=p.bounding),n.$$.dirty&96&&e(11,s=p.floorDatas[h].rules),n.$$.dirty&2048&&e(12,o=Object.keys(s)),n.$$.dirty&6144&&e(4,r=o.map(g=>[g,s[g]])),n.$$.dirty&2&&e(9,l=i.max.x-i.min.x),n.$$.dirty&2&&e(7,a=i.max.y-i.min.y),n.$$.dirty&2&&e(10,c=i.max.x-i.min.x-(Ir-xr)*2),n.$$.dirty&2&&e(8,u=i.max.y-i.min.y-(Ir-xr)*2),n.$$.dirty&1536&&e(3,d=c/l*100+"%"),n.$$.dirty&384&&e(2,f=u/a*100+"%")},[m,i,f,d,r,h,p,a,u,l,c,s,o]}class Wf extends fe{constructor(t){super(),de(this,t,Qf,_f,ue,{floorIndex:5,floorplanData:6,getRuleDistanceText:0},Gf)}}function is(n,t={}){let e="";const{needZ:i,needA:s}=t;return(i?n.slice().concat(n[0]):n.slice()).forEach((r,l)=>{const{x:a,y:c}=t.format?t.format(r):r,u=a+","+c;return l===0?(e+="M"+u,e):s!=null&&s[l]?(e+="A"+s[l]+","+u,e):(e+="L"+u,e)}),e+(i?"Z":"")}function hc({x:n,y:t},e){const{max:i,min:s}=e;return{x:n-s.x,y:i.y-t}}function Xf(n,t){const e=n.x*1e3+t.bounding.origin.x,i=-n.z*1e3+t.bounding.origin.y;return{x:e,y:i}}function Vf(n,t){const e=t.bounding,i=e.max.x-e.min.x,s=e.max.y-e.min.y;return{x:(n.x-e.min.x)/i,y:(e.max.y-n.y)/s}}function Yf(n,t){return Math.max(...t.work.observers.map(i=>n.z>=i.standingPosition.z?i.floorIndex:0))}function Uf(n){let t;return{c(){t=Te("path"),C(t,"d",n[0]),C(t,"fill","#2F313A")},m(e,i){F(e,t,i)},p(e,[i]){i&1&&C(t,"d",e[0])},i:ce,o:ce,d(e){e&&R(t)}}}function Zf(n,t,e){let i,{path:s}=t;return n.$$set=o=>{"path"in o&&e(1,s=o.path)},n.$$.update=()=>{n.$$.dirty&2&&e(0,i=is(s,{needZ:!0}))},[i,s]}class Jf extends fe{constructor(t){super(),de(this,t,Zf,Uf,ue,{path:1})}}function qf(n){let t,e,i,s,o,r;return{c(){t=Te("defs"),e=Te("pattern"),i=Te("rect"),s=Te("path"),o=K(),r=Te("path"),C(i,"x","0"),C(i,"y","0"),C(i,"width",n[1]),C(i,"height",n[1]),C(i,"fill","#323747"),C(s,"d",n[2]),C(s,"stroke","#ffffff"),C(s,"stroke-opacity","0.06"),C(s,"stroke-width","0.5"),C(s,"fill","none"),C(e,"id","fpm-room-pattern-0"),C(e,"x","0"),C(e,"y","0"),C(e,"width",n[1]),C(e,"height",n[1]),C(e,"patternUnits","userSpaceOnUse"),C(e,"patternTransform","scale(50 50)"),C(r,"d",n[0]),C(r,"fill","url(#fpm-room-pattern-0)")},m(l,a){F(l,t,a),_(t,e),_(e,i),_(e,s),F(l,o,a),F(l,r,a)},p(l,[a]){a&1&&C(r,"d",l[0])},i:ce,o:ce,d(l){l&&R(t),l&&R(o),l&&R(r)}}}const Ss=6;function Kf(n,t,e){let i,{path:s}=t;const o=Ss*2,r=`M0 ${Ss} h ${o} M${Ss} 0 v ${o}`;return n.$$set=l=>{"path"in l&&e(3,s=l.path)},n.$$.update=()=>{n.$$.dirty&8&&e(0,i=is(s,{needZ:!0}))},[i,o,r,s]}class $f extends fe{constructor(t){super(),de(this,t,Kf,qf,ue,{path:3})}}function eh(n){let t,e,i,s,o,r,l,a,c,u,d;return{c(){t=Te("defs"),e=Te("pattern"),i=Te("rect"),s=Te("pattern"),o=Te("rect"),r=K(),l=Te("path"),a=K(),c=Te("path"),u=K(),d=Te("path"),C(i,"x","0"),C(i,"y","0"),C(i,"width","6"),C(i,"height","50"),C(i,"fill","none"),C(i,"stroke","#4B4B57"),C(i,"stroke-width","0.5"),C(e,"id","room-material-pattern-1"),C(e,"x","0"),C(e,"y","0"),C(e,"width","12"),C(e,"height","50"),C(e,"patternUnits","userSpaceOnUse"),C(e,"patternTransform","scale(50 50)"),C(o,"x","0"),C(o,"y","0"),C(o,"width","6"),C(o,"height","50"),C(o,"fill","none"),C(o,"stroke","#4B4B57"),C(o,"stroke-width","0.5"),C(s,"id","room-material-pattern-2"),C(s,"x","6"),C(s,"y","25"),C(s,"width","12"),C(s,"height","50"),C(s,"patternUnits","userSpaceOnUse"),C(s,"patternTransform","scale(50 50)"),C(l,"d",n[0]),C(l,"fill","#43434D"),C(c,"d",n[0]),C(c,"fill","url(#room-material-pattern-1)"),C(d,"d",n[0]),C(d,"fill","url(#room-material-pattern-2)")},m(f,h){F(f,t,h),_(t,e),_(e,i),_(t,s),_(s,o),F(f,r,h),F(f,l,h),F(f,a,h),F(f,c,h),F(f,u,h),F(f,d,h)},p(f,[h]){h&1&&C(l,"d",f[0]),h&1&&C(c,"d",f[0]),h&1&&C(d,"d",f[0])},i:ce,o:ce,d(f){f&&R(t),f&&R(r),f&&R(l),f&&R(a),f&&R(c),f&&R(u),f&&R(d)}}}function th(n,t,e){let i,{path:s}=t;return n.$$set=o=>{"path"in o&&e(1,s=o.path)},n.$$.update=()=>{n.$$.dirty&2&&e(0,i=is(s,{needZ:!0}))},[i,s]}class nh extends fe{constructor(t){super(),de(this,t,th,eh,ue,{path:1})}}function ih(n){me(n,"svelte-1dykexu",".floorplan-plugin__room-material.svelte-1dykexu{position:absolute;left:0;top:0;width:100%;height:100%}svg.svelte-1dykexu{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible}")}function Tr(n,t,e){const i=n.slice();return i[5]=t[e],i}function sh(n){let t,e;return t=new $f({props:{path:n[5].path}}),{c(){re(t.$$.fragment)},m(i,s){se(t,i,s),e=!0},p(i,s){const o={};s&1&&(o.path=i[5].path),t.$set(o)},i(i){e||(L(t.$$.fragment,i),e=!0)},o(i){H(t.$$.fragment,i),e=!1},d(i){oe(t,i)}}}function oh(n){let t,e;return t=new nh({props:{path:n[5].path}}),{c(){re(t.$$.fragment)},m(i,s){se(t,i,s),e=!0},p(i,s){const o={};s&1&&(o.path=i[5].path),t.$set(o)},i(i){e||(L(t.$$.fragment,i),e=!0)},o(i){H(t.$$.fragment,i),e=!1},d(i){oe(t,i)}}}function rh(n){let t,e;return t=new Jf({props:{path:n[5].path}}),{c(){re(t.$$.fragment)},m(i,s){se(t,i,s),e=!0},p(i,s){const o={};s&1&&(o.path=i[5].path),t.$set(o)},i(i){e||(L(t.$$.fragment,i),e=!0)},o(i){H(t.$$.fragment,i),e=!1},d(i){oe(t,i)}}}function Sr(n){let t,e,i,s;const o=[rh,oh,sh],r=[];function l(a,c){return a[5].floorType===1?0:a[5].floorType===0?1:2}return e=l(n),i=r[e]=o[e](n),{c(){t=Te("svg"),i.c(),C(t,"width","100%"),C(t,"height","100%"),C(t,"viewBox",`0 0 ${n[1]} ${n[2]}`),C(t,"class","svelte-1dykexu")},m(a,c){F(a,t,c),r[e].m(t,null),s=!0},p(a,c){let u=e;e=l(a),e===u?r[e].p(a,c):(ve(),H(r[u],1,1,()=>{r[u]=null}),be(),i=r[e],i?i.p(a,c):(i=r[e]=o[e](a),i.c()),L(i,1),i.m(t,null))},i(a){s||(L(i),s=!0)},o(a){H(i),s=!1},d(a){a&&R(t),r[e].d()}}}function ah(n){let t,e,i=n[0],s=[];for(let r=0;r<i.length;r+=1)s[r]=Sr(Tr(n,i,r));const o=r=>H(s[r],1,1,()=>{s[r]=null});return{c(){t=G("div");for(let r=0;r<s.length;r+=1)s[r].c();C(t,"class","floorplan-plugin__room-material svelte-1dykexu")},m(r,l){F(r,t,l);for(let a=0;a<s.length;a+=1)s[a].m(t,null);e=!0},p(r,[l]){if(l&7){i=r[0];let a;for(a=0;a<i.length;a+=1){const c=Tr(r,i,a);s[a]?(s[a].p(c,l),L(s[a],1)):(s[a]=Sr(c),s[a].c(),L(s[a],1),s[a].m(t,null))}for(ve(),a=i.length;a<s.length;a+=1)o(a);be()}},i(r){if(!e){for(let l=0;l<i.length;l+=1)L(s[l]);e=!0}},o(r){s=s.filter(Boolean);for(let l=0;l<s.length;l+=1)H(s[l]);e=!1},d(r){r&&R(t),Dt(s,r)}}}function lh(n,t,e){let i,{floorIndex:s}=t,{floorplanData:o}=t;const r=o.bounding.max.x-o.bounding.min.x,l=o.bounding.max.y-o.bounding.min.y;return n.$$set=a=>{"floorIndex"in a&&e(3,s=a.floorIndex),"floorplanData"in a&&e(4,o=a.floorplanData)},n.$$.update=()=>{n.$$.dirty&24&&e(0,i=o.floorDatas[s].rooms.map(a=>Object.assign(Object.assign({},a),{path:a.path.map(c=>hc(c,o.bounding))})))},[i,r,l,s,o]}class ch extends fe{constructor(t){super(),de(this,t,lh,ah,ue,{floorIndex:3,floorplanData:4},ih)}}function uh(n){me(n,"svelte-19uvvss","path.svelte-19uvvss{opacity:0}path.svelte-19uvvss:hover{opacity:0.1}")}function dh(n){let t,e,i;return{c(){t=Te("path"),C(t,"d",n[2]),C(t,"fill","#fff"),C(t,"class","svelte-19uvvss")},m(s,o){F(s,t,o),e||(i=[je(t,"mouseenter",n[0]),je(t,"mouseleave",n[1])],e=!0)},p:ce,i:ce,o:ce,d(s){s&&R(t),e=!1,Nt(i)}}}function fh(n,t,e){let{room:i}=t,{floorplanData:s}=t,{hoveredRoom:o}=t;function r(){o.set(i)}function l(){o.set(void 0)}const{bounding:a}=s,c=is(i.path,{needZ:!0,format:u=>hc(u,a)});return n.$$set=u=>{"room"in u&&e(3,i=u.room),"floorplanData"in u&&e(4,s=u.floorplanData),"hoveredRoom"in u&&e(5,o=u.hoveredRoom)},[r,l,c,i,s,o]}class hh extends fe{constructor(t){super(),de(this,t,fh,dh,ue,{room:3,floorplanData:4,hoveredRoom:5},uh)}}function ph(n){me(n,"svelte-1kqo6e4",".floorplan-plugin__room-highlight.svelte-1kqo6e4{position:absolute;width:100%;height:100%}svg.svelte-1kqo6e4{width:100%;height:100%;overflow:visible}")}function kr(n,t,e){const i=n.slice();return i[5]=t[e],i}function Dr(n,t){let e,i,s;const o=[{room:t[5],floorplanData:t[1],hoveredRoom:t[2]}];let r={};for(let l=0;l<o.length;l+=1)r=Oe(r,o[l]);return i=new hh({props:r}),{key:n,first:null,c(){e=Ce(),re(i.$$.fragment),this.first=e},m(l,a){F(l,e,a),se(i,l,a),s=!0},p(l,a){t=l;const c=a&7?Ye(o,[{room:t[5],floorplanData:t[1],hoveredRoom:t[2]}]):{};i.$set(c)},i(l){s||(L(i.$$.fragment,l),s=!0)},o(l){H(i.$$.fragment,l),s=!1},d(l){l&&R(e),oe(i,l)}}}function mh(n){let t,e,i=[],s=new Map,o,r=n[1].floorDatas[n[0]].rooms;const l=a=>a[5].id;for(let a=0;a<r.length;a+=1){let c=kr(n,r,a),u=l(c);s.set(u,i[a]=Dr(u,c))}return{c(){t=G("div"),e=Te("svg");for(let a=0;a<i.length;a+=1)i[a].c();C(e,"width","100%"),C(e,"height","100%"),C(e,"viewBox",`0 0 ${n[3]} ${n[4]}`),C(e,"class","svelte-1kqo6e4"),C(t,"class","floorplan-plugin__room-highlight svelte-1kqo6e4")},m(a,c){F(a,t,c),_(t,e);for(let u=0;u<i.length;u+=1)i[u].m(e,null);o=!0},p(a,[c]){c&7&&(r=a[1].floorDatas[a[0]].rooms,ve(),i=gt(i,c,l,1,a,r,s,e,Gt,Dr,null,kr),be())},i(a){if(!o){for(let c=0;c<r.length;c+=1)L(i[c]);o=!0}},o(a){for(let c=0;c<i.length;c+=1)H(i[c]);o=!1},d(a){a&&R(t);for(let c=0;c<i.length;c+=1)i[c].d()}}}function gh(n,t,e){let{floorIndex:i}=t,{floorplanData:s}=t,{hoveredRoom:o}=t;const r=s.bounding.max.x-s.bounding.min.x,l=s.bounding.max.y-s.bounding.min.y;return n.$$set=a=>{"floorIndex"in a&&e(0,i=a.floorIndex),"floorplanData"in a&&e(1,s=a.floorplanData),"hoveredRoom"in a&&e(2,o=a.hoveredRoom)},[i,s,o,r,l]}class pc extends fe{constructor(t){super(),de(this,t,gh,mh,ue,{floorIndex:0,floorplanData:1,hoveredRoom:2},ph)}}function vh(n){me(n,"svelte-bl8zrz",".floorplan-plugin__floor.svelte-bl8zrz{position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;pointer-events:none}.floorplan-plugin__floor--is-current.svelte-bl8zrz{opacity:1;pointer-events:auto}")}function Lr(n){let t,e;const i=[{floorIndex:n[1],floorplanData:n[5],hoveredRoom:n[10]}];let s={};for(let o=0;o<i.length;o+=1)s=Oe(s,i[o]);return t=new pc({props:s}),{c(){re(t.$$.fragment)},m(o,r){se(t,o,r),e=!0},p(o,r){const l=r&1058?Ye(i,[{floorIndex:o[1],floorplanData:o[5],hoveredRoom:o[10]}]):{};t.$set(l)},i(o){e||(L(t.$$.fragment,o),e=!0)},o(o){H(t.$$.fragment,o),e=!1},d(o){oe(t,o)}}}function Mr(n){let t,e;const i=[{floorplanData:n[5],floorIndex:n[1],getRoomAreaText:n[6],getLabelElement:n[7],hoveredRoom:n[10],adaptiveRoomLabelVisibleEnable:n[9]}];let s={};for(let o=0;o<i.length;o+=1)s=Oe(s,i[o]);return t=new Bf({props:s}),{c(){re(t.$$.fragment)},m(o,r){se(t,o,r),e=!0},p(o,r){const l=r&1762?Ye(i,[{floorplanData:o[5],floorIndex:o[1],getRoomAreaText:o[6],getLabelElement:o[7],hoveredRoom:o[10],adaptiveRoomLabelVisibleEnable:o[9]}]):{};t.$set(l)},i(o){e||(L(t.$$.fragment,o),e=!0)},o(o){H(t.$$.fragment,o),e=!1},d(o){oe(t,o)}}}function zr(n){let t,e;const i=[{floorplanData:n[5],floorIndex:n[1],getRuleDistanceText:n[8]}];let s={};for(let o=0;o<i.length;o+=1)s=Oe(s,i[o]);return t=new Wf({props:s}),{c(){re(t.$$.fragment)},m(o,r){se(t,o,r),e=!0},p(o,r){const l=r&290?Ye(i,[{floorplanData:o[5],floorIndex:o[1],getRuleDistanceText:o[8]}]):{};t.$set(l)},i(o){e||(L(t.$$.fragment,o),e=!0)},o(o){H(t.$$.fragment,o),e=!1},d(o){oe(t,o)}}}function bh(n){let t,e,i,s,o,r,l,a,c;const u=[{floorIndex:n[1],floorplanData:n[5]}];let d={};for(let b=0;b<u.length;b+=1)d=Oe(d,u[b]);e=new ch({props:d});let f=n[2]&&Lr(n);const h=[{floorplanData:n[5],floorIndex:n[1]}];let p={};for(let b=0;b<h.length;b+=1)p=Oe(p,h[b]);o=new fc({props:p});let m=n[3]&&Mr(n),g=n[4]&&zr(n);return{c(){t=G("div"),re(e.$$.fragment),i=K(),f&&f.c(),s=K(),re(o.$$.fragment),r=K(),m&&m.c(),l=K(),g&&g.c(),C(t,"class",a=Ue(`floorplan-plugin__floor${n[0]?" floorplan-plugin__floor--is-current":""}`)+" svelte-bl8zrz")},m(b,A){F(b,t,A),se(e,t,null),_(t,i),f&&f.m(t,null),_(t,s),se(o,t,null),_(t,r),m&&m.m(t,null),_(t,l),g&&g.m(t,null),c=!0},p(b,[A]){const y=A&34?Ye(u,[{floorIndex:b[1],floorplanData:b[5]}]):{};e.$set(y),b[2]?f?(f.p(b,A),A&4&&L(f,1)):(f=Lr(b),f.c(),L(f,1),f.m(t,s)):f&&(ve(),H(f,1,1,()=>{f=null}),be());const I=A&34?Ye(h,[{floorplanData:b[5],floorIndex:b[1]}]):{};o.$set(I),b[3]?m?(m.p(b,A),A&8&&L(m,1)):(m=Mr(b),m.c(),L(m,1),m.m(t,l)):m&&(ve(),H(m,1,1,()=>{m=null}),be()),b[4]?g?(g.p(b,A),A&16&&L(g,1)):(g=zr(b),g.c(),L(g,1),g.m(t,null)):g&&(ve(),H(g,1,1,()=>{g=null}),be()),(!c||A&1&&a!==(a=Ue(`floorplan-plugin__floor${b[0]?" floorplan-plugin__floor--is-current":""}`)+" svelte-bl8zrz"))&&C(t,"class",a)},i(b){c||(L(e.$$.fragment,b),L(f),L(o.$$.fragment,b),L(m),L(g),c=!0)},o(b){H(e.$$.fragment,b),H(f),H(o.$$.fragment,b),H(m),H(g),c=!1},d(b){b&&R(t),oe(e),f&&f.d(),oe(o),m&&m.d(),g&&g.d()}}}function Ah(n,t,e){let{isCurrent:i}=t,{floorIndex:s}=t,{hoverEnable:o}=t,{roomLabelsEnable:r}=t,{ruleLabelsEnable:l}=t,{floorplanData:a}=t,{getRoomAreaText:c}=t,{getLabelElement:u}=t,{getRuleDistanceText:d}=t,{adaptiveRoomLabelVisibleEnable:f}=t;const h=yo(void 0);return n.$$set=p=>{"isCurrent"in p&&e(0,i=p.isCurrent),"floorIndex"in p&&e(1,s=p.floorIndex),"hoverEnable"in p&&e(2,o=p.hoverEnable),"roomLabelsEnable"in p&&e(3,r=p.roomLabelsEnable),"ruleLabelsEnable"in p&&e(4,l=p.ruleLabelsEnable),"floorplanData"in p&&e(5,a=p.floorplanData),"getRoomAreaText"in p&&e(6,c=p.getRoomAreaText),"getLabelElement"in p&&e(7,u=p.getLabelElement),"getRuleDistanceText"in p&&e(8,d=p.getRuleDistanceText),"adaptiveRoomLabelVisibleEnable"in p&&e(9,f=p.adaptiveRoomLabelVisibleEnable)},[i,s,o,r,l,a,c,u,d,f,h]}class yh extends fe{constructor(t){super(),de(this,t,Ah,bh,ue,{isCurrent:0,floorIndex:1,hoverEnable:2,roomLabelsEnable:3,ruleLabelsEnable:4,floorplanData:5,getRoomAreaText:6,getLabelElement:7,getRuleDistanceText:8,adaptiveRoomLabelVisibleEnable:9},vh)}}function wh(n){me(n,"svelte-86bqav",".floorplan-main.svelte-86bqav{width:100%;height:100%;pointer-events:none}")}function Or(n,t,e){const i=n.slice();return i[16]=t[e],i}function jr(n){let t,e,i,s,o,r,l=n[9].floorDatas,a=[];for(let h=0;h<l.length;h+=1)a[h]=Br(Or(n,l,h));const c=h=>H(a[h],1,1,()=>{a[h]=null}),u=[{panoIndex:n[3],floorplanData:n[9],lastPanoramaLongitude:n[10],cameraImageUrl:n[11]}];let d={};for(let h=0;h<u.length;h+=1)d=Oe(d,u[h]);i=new of({props:d});let f=n[6]&&Rr(n);return{c(){t=G("div");for(let h=0;h<a.length;h+=1)a[h].c();e=K(),re(i.$$.fragment),s=K(),f&&f.c(),C(t,"class","floorplan-main svelte-86bqav")},m(h,p){F(h,t,p);for(let m=0;m<a.length;m+=1)a[m].m(t,null);_(t,e),se(i,t,null),_(t,s),f&&f.m(t,null),r=!0},p(h,p){if(n=h,p&62384){l=n[9].floorDatas;let g;for(g=0;g<l.length;g+=1){const b=Or(n,l,g);a[g]?(a[g].p(b,p),L(a[g],1)):(a[g]=Br(b),a[g].c(),L(a[g],1),a[g].m(t,e))}for(ve(),g=l.length;g<a.length;g+=1)c(g);be()}const m=p&3592?Ye(u,[{panoIndex:n[3],floorplanData:n[9],lastPanoramaLongitude:n[10],cameraImageUrl:n[11]}]):{};i.$set(m),n[6]?f?(f.p(n,p),p&64&&L(f,1)):(f=Rr(n),f.c(),L(f,1),f.m(t,null)):f&&(ve(),H(f,1,1,()=>{f=null}),be())},i(h){if(!r){for(let p=0;p<l.length;p+=1)L(a[p]);L(i.$$.fragment,h),L(f),o||Re(()=>{o=vn(t,pn,{duration:n[0],easing:Sn}),o.start()}),r=!0}},o(h){a=a.filter(Boolean);for(let p=0;p<a.length;p+=1)H(a[p]);H(i.$$.fragment,h),H(f),r=!1},d(h){h&&R(t),Dt(a,h),oe(i),f&&f.d()}}}function Br(n){let t,e;const i=[{hoverEnable:n[5],floorplanData:n[9],getRoomAreaText:n[12],getLabelElement:n[13],getRuleDistanceText:n[14],roomLabelsEnable:n[7],ruleLabelsEnable:n[8],adaptiveRoomLabelVisibleEnable:n[15]},{floorIndex:n[16].floorIndex},{isCurrent:n[16].floorIndex===n[4]}];let s={};for(let o=0;o<i.length;o+=1)s=Oe(s,i[o]);return t=new yh({props:s}),{c(){re(t.$$.fragment)},m(o,r){se(t,o,r),e=!0},p(o,r){const l=r&62384?Ye(i,[r&62368&&{hoverEnable:o[5],floorplanData:o[9],getRoomAreaText:o[12],getLabelElement:o[13],getRuleDistanceText:o[14],roomLabelsEnable:o[7],ruleLabelsEnable:o[8],adaptiveRoomLabelVisibleEnable:o[15]},r&512&&{floorIndex:o[16].floorIndex},r&528&&{isCurrent:o[16].floorIndex===o[4]}]):{};t.$set(l)},i(o){e||(L(t.$$.fragment,o),e=!0)},o(o){H(t.$$.fragment,o),e=!1},d(o){oe(t,o)}}}function Rr(n){let t,e;return t=new ff({props:{floorplanData:n[9],northDesc:n[2]}}),{c(){re(t.$$.fragment)},m(i,s){se(t,i,s),e=!0},p(i,s){const o={};s&512&&(o.floorplanData=i[9]),s&4&&(o.northDesc=i[2]),t.$set(o)},i(i){e||(L(t.$$.fragment,i),e=!0)},o(i){H(t.$$.fragment,i),e=!1},d(i){oe(t,i)}}}function Ph(n){let t,e,i=n[1]&&jr(n);return{c(){i&&i.c(),t=Ce()},m(s,o){i&&i.m(s,o),F(s,t,o),e=!0},p(s,[o]){s[1]?i?(i.p(s,o),o&2&&L(i,1)):(i=jr(s),i.c(),L(i,1),i.m(t.parentNode,t)):i&&(ve(),H(i,1,1,()=>{i=null}),be())},i(s){e||(L(i),e=!0)},o(s){H(i),e=!1},d(s){i&&i.d(s),s&&R(t)}}}function Eh(n,t,e){let{duration:i=0}=t,{visible:s}=t,{northDesc:o}=t,{panoIndex:r}=t,{floorIndex:l}=t,{hoverEnable:a}=t,{compassEnable:c}=t,{roomLabelsEnable:u}=t,{ruleLabelsEnable:d}=t,{floorplanData:f}=t,{lastPanoramaLongitude:h}=t,{cameraImageUrl:p}=t,{getRoomAreaText:m}=t,{getLabelElement:g}=t,{getRuleDistanceText:b}=t,{adaptiveRoomLabelVisibleEnable:A}=t;return n.$$set=y=>{"duration"in y&&e(0,i=y.duration),"visible"in y&&e(1,s=y.visible),"northDesc"in y&&e(2,o=y.northDesc),"panoIndex"in y&&e(3,r=y.panoIndex),"floorIndex"in y&&e(4,l=y.floorIndex),"hoverEnable"in y&&e(5,a=y.hoverEnable),"compassEnable"in y&&e(6,c=y.compassEnable),"roomLabelsEnable"in y&&e(7,u=y.roomLabelsEnable),"ruleLabelsEnable"in y&&e(8,d=y.ruleLabelsEnable),"floorplanData"in y&&e(9,f=y.floorplanData),"lastPanoramaLongitude"in y&&e(10,h=y.lastPanoramaLongitude),"cameraImageUrl"in y&&e(11,p=y.cameraImageUrl),"getRoomAreaText"in y&&e(12,m=y.getRoomAreaText),"getLabelElement"in y&&e(13,g=y.getLabelElement),"getRuleDistanceText"in y&&e(14,b=y.getRuleDistanceText),"adaptiveRoomLabelVisibleEnable"in y&&e(15,A=y.adaptiveRoomLabelVisibleEnable)},[i,s,o,r,l,a,c,u,d,f,h,p,m,g,b,A]}class wo extends fe{constructor(t){super(),de(this,t,Eh,Ph,ue,{duration:0,visible:1,northDesc:2,panoIndex:3,floorIndex:4,hoverEnable:5,compassEnable:6,roomLabelsEnable:7,ruleLabelsEnable:8,floorplanData:9,lastPanoramaLongitude:10,cameraImageUrl:11,getRoomAreaText:12,getLabelElement:13,getRuleDistanceText:14,adaptiveRoomLabelVisibleEnable:15},wh)}}const Ch="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAwCAYAAACFUvPfAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAALaADAAQAAAABAAAAMAAAAADe2FZjAAAEF0lEQVRoBe2WzWskRRiHf13V092TxI2oEzYeVDwITtyDuCiihwiCePGgxIM3vYgHL4J4UIhBRA8i/gPqyUvWg7AiIuIeloDiYUHJLOK6BPwIk9nNODM9Xf1RVe1b3elJRjCZmQ6euqGmuqer33rq4e23GqiOykBloDJQGagMVAYqA5WBykBlYFYD1qwP/tdzaZqOx9zYOLxeX0+L5yzLGp0X/03a25MOnGRcBtx+6Rlo9SL08G4EooFnxa8Yiivox5/h5Ys/4cl7NVorNDRnngX+0MIkVMeMSf23zyKML8J7/Dy8hwF2Buh9CnS+AEQIdLspBuGb+M7/qLW4qJrNpsLapjYhpwVnx3BMfCtNNx3Etc9xywvnMf80wG8HmQainw0RxSGrnmeBp+8k5/j9S0HbvXb5io0Lz880/0wPHV1NlhLd316He+4xOCv5ragF7L9PrH1qBJyB0626x/lC+qrSvH5r/W+n1WpxUM5nMY4GPeH8lHJaPgfeAFQHCL+ntkXT+vnUc3W6pvTIwC0wy3rA4dwLmK2avZ7Eo9uKBuYJfgJscbs8dLCxDMt+EOEPBEZNEWyBYHqTz6bPXrzUnNrSShxHIsYiOL69zrCGLLcLqJP68tB+9w5wj+YhWDafQ2s61wNqxjZhmrQ2pvMFCEvXuCUZ7wqH794ZWs28LJqlTXSUyuksF2M/yOwqgkx2c1ADa4wLAQRk2sAGQQakhN6yFC2hltfz5kSY44NKQeeh+vtI/SSzWhg2CzCgmWISmKUGmaYFBDfCSymnfxJ6/+ospVcWOLLp5DGP/y0P/Rp66O99DQNq7Po3Ds0a0wY+My2QSv2N2mO/OyxR2o6UQk+Lv7yJ06JYSnnolZVU9cUn2O9SmaMWGFBqYXRwbqAJWIi94TX5biotpcGl1DXZ6LnqIbNDTnmUgi52Mv5l5ysMxIcZcGjy2DTK4ZHlcBC14zeSge4qphICjj3bS0A7o9nSp2TOkm7aZ8bGZy/jxhO87V91G0+dfY/Z7BWIIK9KYUi5qy/Hf8YfBG3sqJTHiQWhmTVkbip+wX3x6volVSx+LPAxF+VLXhZ8VQ+iP2Rta/iWe5v42Fngj0BbdnRTXh12ZIcKhTaGbcYjybRwXBU1lu9KlndXp04NM52poKWO0RZsviNaP9a6grkO972+st05pXhE5c1hTEluJy7XUejGUQNLMbAmTdWY1rKBLW3aTJqBZ7nZkb36DhYCreeYHbMUXHvaYi5XDK70EcgulmRjm77wNtenzuXCbmnTRaAx493rbGf3Jr/njMzj920CnKdUaFCjlDioy7NYNvOdGrQJNgI32/L2tkXfFPlxgToqjWVhD6KdLnQRdARf/HHQz2r2X2Gqy8pAZaAyUBmoDFQGKgP/q4F/AJYg9/s0ZoABAAAAAElFTkSuQmCC";async function Ih(n){const t=new Headers({"Content-Type":"text/plain"}),e=async function(s){const o={index:s.index,url:s.url,svgUrl:s.svg_url};if(s.svg_url){const r=await fetch(s.svg_url,{headers:t}).then(l=>l.text());o.svgContent=r}return o};return await Promise.all(n.map(e))}function xh(n){return{id:n.id,size:n.size,name:n.name,path:n.path,roomType:n.room_type,floorType:n.floor_type,roomLabel:{position:n.room_label.position,positionInImage:n.room_label.position_in_image},observerIndexs:n.observer_indexs}}function Th(n){return{floorName:n.floor_name,floorIndex:n.floor_index,rooms:n.rooms.map(xh),rules:n.rules}}function Sh(n){return{index:n.index,floorIndex:n.floor_index,position:n.position,positionInImage:n.position_in_image}}function kh(n){return{rad:n.rad,position:n.position,positionInImage:n.position_in_image,northRad:n.north_rad,roomId:n.room_id,floorIndex:n.floor_index}}async function Kt(n){const t=await Ih(n.outlines),e=n.computed_data.bounding,i=n.computed_data.floor_datas.map(Th),s=n.computed_data.entrance?kh(n.computed_data.entrance):null;return{outlines:t,entrance:s,bounding:e,floorDatas:i,observers:n.computed_data.observers.map(Sh)}}function Dh(n,t,e){return n.map(s=>{const o=s.position,r=s.icon?s.icon:{url:Ch,width:45,height:48},l=Yf(o,t),a=Xf(o,e),c=Vf(a,e);return{floorIndex:l,icon:r,id:s.id,position:a,positionInImage:c}})}function Lh(n,t){return t(n),n}function ss(n,t){return Lh({},e=>{for(const i in n)t.indexOf(i)===-1&&(e[i]=n[i])})}function Hr(n,t){const e=Math.max(...n.work.observers.map(i=>i.floorIndex));return t>e?n.model.bounding.max.y:Math.max(...n.work.observers.filter(i=>i.floorIndex===t).map(i=>i.standingPosition.y))}function Po(n,t,e=Jt.BOUNDING_CENTER){const i=Hr(n,t),s=Hr(n,t+1);return e===Jt.BOUNDING_CENTER?(n.model.bounding.max.y+n.model.bounding.min.y)/2:e===Jt.CEILING?s:i}function Eo(n,t,e,i){const s=Po(n,e,i==null?void 0:i.attachedTo),o=new M.Vector3(0,s,0),r=new M.Vector3(1,s,0),l=o.clone().project(n.camera),a=r.clone().project(n.camera);return Math.abs((a.x-l.x)/1e3)*(t.getBoundingClientRect().width/2)}class os{constructor(t,e){v(this,"five");v(this,"hooks",new qn);v(this,"staticPrefix","//vrlab-static.ljcdn.com");this.five=t,e!=null&&e.staticPrefix&&(this.staticPrefix=e.staticPrefix)}getCurrentState(){return this.state}}class bn extends os{}var rt=(n=>(n.UnknownError="UnknownError",n.DataNotLoaded="DataNotLoaded",n.BreakOffByHide="BreakOffByHide",n.BreakOffByDisable="BreakOffByDisable",n.ModelNotLoaded="ModelNotLoaded",n.ChangeModeError="ChangeModeError",n.UpdateCameraError="UpdateCameraError",n))(rt||{});const mc=500,Mh=80;function Js(n,t,e=4){return Math.floor(n*Math.pow(10,e))===Math.floor(t*Math.pow(10,e))}async function gc(n,t){await new Promise((e,i)=>{n.changeMode(...t).catch(s=>i(s)),n.once("initAnimationEnded",()=>{const s=n.getCurrentState(),o=t[0];s.mode!==o&&i(new Error("mode \u4E0E\u9884\u671F\u4E0D\u7B26")),(()=>{const a=t[1];return a?Object.keys(a).every(c=>{const u=s[c];if(u===void 0)return!0;const d=a[c];return typeof u=="number"&&typeof d=="number"?Js(u,d,2):u===d}):!0})()||i(new Error("five pose \u4E0E\u9884\u671F\u4E0D\u7B26")),e()})})}function Co(n,t){if(n.currentMode!==t.mode)return!1;const{latitude:e,longitude:i,fov:s}=t,{latitude:o,longitude:r}=n.getCurrentState(),l=n.camera.fov;return!(!Js(e,o,2)||!Js(i,r,2)||s!==l)}async function vc(n,t,e=!0){if(Co(n,t)===!0)return;const s=n.getCurrentState();if(s.mode!==t.mode){const[u]=await Qi(gc(n,[t.mode,t,void 0,e]));if(u)throw new Error(rt.ChangeModeError);return}const{latitude:o,longitude:r,fov:l}=s,a=Math.min(1e3,Math.max(200,Math.abs(o-Math.PI/2)*1e3,(r>Math.PI?2*Math.PI-r:r)*500,Math.abs(l-t.fov)*10)),[c]=await Qi(n.updateCamera(t,a,e));if(c)throw new Error(rt.UpdateCameraError)}function Dn(n,t,e=300){const i=n.getElement();!i||(i.style.opacity=t+"",i.style.transition=e===0?"none":`opacity ${e}ms linear`,e!==0&&Promise.race([new Promise(s=>i.addEventListener("transitionend",s,{once:!0})),new Promise(s=>setTimeout(s,e))]).then(()=>{i.style.transition="none"}))}function zh(n){const{latitude:t,longitude:e}=n,i=Math.abs(t-Math.PI/2)>5*Math.PI/180,s=e>5*(Math.PI/180)&&e<355*(Math.PI/180);return i||s}function Oh(n){const{latitude:t,longitude:e}=n,i=Math.abs(t-Math.PI/2)<10*Math.PI/180,s=e<30*(Math.PI/180)||e>330*(Math.PI/180);return i&&s}class jh extends bn{constructor(e,i){var l;super(e);v(this,"name","modelFloorplanPlugin");v(this,"state");v(this,"data");v(this,"showState");v(this,"showPromise");v(this,"app");v(this,"panoIndex",0);v(this,"floorIndex",0);v(this,"selector");v(this,"showRejection");v(this,"wrapper");v(this,"container",document.createElement("div"));v(this,"lastPanoramaLongitude",0);v(this,"size",{width:0,height:0});v(this,"hasAddedEventListener",!1);v(this,"isHiddenByHideFunc",!1);v(this,"dispose",()=>{var e,i;this.removeEventListener(),(e=this.app)==null||e.$destroy(),this.app=void 0,(i=this.container)==null||i.remove(),this.data=void 0,this.wrapper=void 0,this.selector=void 0,this.hooks.emit("dispose")});v(this,"show",async(e={})=>{if(!this.state.enabled||!this.showPromise&&this.state.visible)return;const i=e.userAction!==void 0?e.userAction:!0;this.updateState({visible:!0},i),this._show(e)});v(this,"hide",async(e={})=>{!this.state.enabled||(this.isHiddenByHideFunc=!0,this.state.visible!==!1&&(this.updateState({visible:!1},e.userAction||!0),this._hide(e)))});v(this,"updateSize",()=>{if(!this.data||!Co(this.five,this.showState)||!this.container||!this.wrapper)return;const{min:e,max:i}=this.data.bounding,s=i.x-e.x,o=i.y-e.y,r=this.state.config.attachedTo?{attachedTo:this.state.config.attachedTo}:void 0,l=Eo(this.five,this.wrapper,this.floorIndex,r),a=Math.ceil(s*l),c=Math.ceil(o*l);this.size.width===a&&this.size.height===c||(this.container.style.width=a+"px",this.container.style.height=c+"px",this.size={width:a,height:c})});v(this,"_disable",e=>{var s,o,r;const{userAction:i}=e;this.hooks.emit("disable",{userAction:i}),(s=this.showRejection)==null||s.call(this,rt.BreakOffByDisable),this.showPromise=void 0,(o=this.app)==null||o.$destroy(),this.app=void 0,(r=this.container)==null||r.remove(),this.removeEventListener()});v(this,"_enable",e=>{const{userAction:i}=e;this.addEventListener(),this.wrapper&&(this.wrapper.append(this.container),this.hooks.emit("enable",{userAction:i}),this.state.visible&&this._show({userAction:i}))});v(this,"_show",async e=>{var r;if(!this.state.enabled)return;if(!((r=this.five.model)!=null&&r.loaded))throw new Error(rt.ModelNotLoaded);if(!this.data)throw new Error(rt.DataNotLoaded);this.isHiddenByHideFunc=!1;const s={...{floorIndex:this.floorIndex,modelOpacity:this.state.config.modelOpacity,immediately:!1,isAutoShow:!1,userAction:!0},...e},o=async()=>{this.hooks.emit("show",{userAction:s.userAction,auto:s.isAutoShow});let l=!1,a;this.showRejection=f=>{l=!0,a=f};const[c]=await Qi(vc(this.five,this.showState,s.userAction));if(c)throw c;if(l)throw a?new Error(a):new Error(rt.UnknownError);this.updateSize(),this.floorIndex=s.floorIndex,this.five.model.show(this.floorIndex);const u=s.modelOpacity,d=s.immediately?0:mc;Dn(this.five,u,d),this.render(d)};return this.showPromise=o().then(()=>{this.hooks.emit("showAnimationEnded",{auto:s.isAutoShow,userAction:s.userAction})}).catch(l=>{if(this.updateState({visible:!1},s.userAction),!s.isAutoShow&&l instanceof Error)throw l}).finally(()=>{this.showPromise=void 0,this.showRejection=void 0}),this.showPromise});v(this,"_hide",e=>{var o;(o=this.showRejection)==null||o.call(this,rt.BreakOffByHide),this.showPromise=void 0;const s={...{userAction:!0,isAutoHide:!1},...e};Dn(this.five,1,0),this.hooks.emit("hide",{auto:s.isAutoHide,userAction:s.userAction}),this.render()});v(this,"handleClick",()=>{if(!this.state.visible)return;if(this.hooks.emit("click"))return!1});v(this,"onFiveModelLoaded",()=>{if(this.state.enabled===!1||this.wrapper||!this.selector)return;const e=this.selector instanceof Element?this.selector:document.querySelector(this.selector);if(!e)throw new Error("\u4E0D\u6B63\u786E\u7684\u7236\u5BB9\u5668\u9009\u62E9\u5668");this.wrapper=e,e.append(this.container)});v(this,"onFiveModeChange",e=>{e!==this.showState.mode&&(this.updateState({visible:!1},!1),this._hide({userAction:!1}))});v(this,"onFiveInteriaPan",(e,i)=>{if(!i||this.state.config.autoShowEnable===!1||this.isHiddenByHideFunc)return;const s=this.five.getCurrentState();s.mode==="Floorplan"&&(this.state.visible||Oh(s)&&(this.updateState({visible:!0},!0),this._show({isAutoShow:!0})))});v(this,"onFivePanoArrived",e=>{var i;!((i=this.five)!=null&&i.work)||(this.panoIndex=e,this.floorIndex=this.five.work.observers[e].floorIndex)});v(this,"onFiveCameraUpdate",(e,i)=>{if(!this.state.visible||this.showPromise)return;const s=this.five.getCurrentState();zh(s)&&(this.updateState({visible:!1},i),this._hide({userAction:i,isAutoHide:!0}))});v(this,"onFiveWantsGesture",(e,i)=>{if(!!this.state.visible&&(i.length>1||e==="mouseWheel"))return!1});v(this,"onFiveWantsPanGesture",(e,i)=>{if(this.five.getCurrentState().mode==="Floorplan"&&this.state.config.autoShowEnable!==!1&&i&&this.state.visible)return this.five.updateCamera(this.showState,0),!1});v(this,"onFiveWantsTapGesture",()=>this.handleClick());v(this,"onFiveWantsChangeMode",(e,i)=>{i==="Panorama"&&e==="Floorplan"&&(this.lastPanoramaLongitude=this.five.getCurrentState().longitude)});v(this,"onModelShownFloorChange",e=>{if(this.floorIndex!==e){if(e===null){const i=this.five.getCurrentState().panoIndex;this.floorIndex=this.five.work.observers[i].floorIndex;return}this.floorIndex=e,this.updateSize(),this.render()}});i!=null&&i.selector&&(this.selector=i.selector,console.warn("\u4E0D\u63A8\u8350\u7EE7\u7EED\u4F7F\u7528 params.selector \u914D\u7F6E\u7236\u5BB9\u5668\uFF0C\u8BF7\u4F7F\u7528 appendTo \u65B9\u6CD5")),this.showState={mode:"Floorplan",longitude:0,latitude:Math.PI/2,fov:Mh/((l=i==null?void 0:i.scale)!=null?l:1)};const s={northDesc:"\u5317",modelOpacity:1,hoverEnable:!0,compassEnable:!0,autoShowEnable:!0,ruleLabelsEnable:!0,roomLabelsEnable:!0,adaptiveRoomLabelVisibleEnable:!0,cameraImageUrl:qt,attachedTo:Jt.BOUNDING_CENTER,getLabelElement:void 0,getRoomAreaText:a=>(a/1e6).toFixed(1)+"\u33A1",getRuleDistanceText:a=>a.toString()},o=i?ss(i,["selector","scale"]):{},r={...s,...o};this.state={enabled:!0,visible:!1,config:r},this.initContainer(),e.model.loaded?this.onFiveModelLoaded():e.once("modelLoaded",this.onFiveModelLoaded),e.once("dispose",this.dispose),this.addEventListener()}async load(e,i,s=!0){function o(u){return Object.prototype.hasOwnProperty.apply(u,["version"])}const r=e;r&&!r.version&&console.warn("\u4F20\u5165 serverData.data \u7684\u65B9\u5F0F\u540E\u7EED\u53EF\u80FD\u4E0D\u518D\u652F\u6301\uFF0C\u8BF7\u628A serverData \u6574\u4F53\u4F20\u5165 load \u51FD\u6570");const l=JSON.parse(JSON.stringify(e)),a=o(l)?l.data:l,c=this.data;this.data=await Kt(a),this.hooks.emit("dataLoaded",this.data),this.hooks.emit("dataChange",this.data,c),i&&this.updateState(i,s),this.render()}appendTo(e){if(this.wrapper=e,!!this.state.enabled)return e.appendChild(this.container),this.render(),this}enable(e={}){if(this.state.enabled)return;const i=e.userAction!==void 0?e.userAction:!0;this.updateState({enabled:!0},e.userAction||i),this._enable({userAction:i})}disable(e={}){if(!this.state.enabled)return;const i=e.userAction!==void 0?e.userAction:!0;this.updateState({enabled:!1},e.userAction||i),this._disable({userAction:i})}setState(e,i={}){const s=this.state,o=i.userAction!==void 0?i.userAction:!0;if(this.updateState(e,o),e.enabled!==void 0&&s.enabled!==e.enabled&&(e.enabled?this._enable({userAction:o}):this._disable({userAction:o})),e.visible!==void 0&&s.visible!==e.visible){const r={userAction:o};e.visible?this._show(r):this._hide(r)}this.render()}changeConfigs(e,i=!0){this.updateState({config:e},i),this.render()}async formatData(e){return await Kt(e.data)}updateState(e,i){const s=this.state,o=e.config?{...s.config,...e.config}:s.config;this.state={...this.state,...e,config:o},!Pt(this.state,s,{deep:!0})&&this.hooks.emit("stateChange",{state:this.state,prevState:s,userAction:i})}initContainer(){this.container.classList.add("floorplan-plugin"),Object.assign(this.container.style,{position:"absolute",left:"50%",top:"50%",transform:"translate(-50%, -50%)",zIndex:10,pointerEvents:"none"}),this.five.addExtraElement(this.container)}addEventListener(){if(!this.state.enabled||this.hasAddedEventListener)return;const e=this.five;e.on("modeChange",this.onFiveModeChange),e.on("interiaPan",this.onFiveInteriaPan),e.on("panoArrived",this.onFivePanoArrived),e.on("cameraUpdate",this.onFiveCameraUpdate),e.on("wantsGesture",this.onFiveWantsGesture),e.on("wantsPanGesture",this.onFiveWantsPanGesture),e.on("wantsTapGesture",this.onFiveWantsTapGesture),e.on("wantsChangeMode",this.onFiveWantsChangeMode),e.on("modelShownFloorChange",this.onModelShownFloorChange)}removeEventListener(){const e=this.five;this.hasAddedEventListener=!1,e.off("modelLoaded",this.onFiveModelLoaded),e.off("modeChange",this.onFiveModeChange),e.off("interiaPan",this.onFiveInteriaPan),e.off("panoArrived",this.onFivePanoArrived),e.off("cameraUpdate",this.onFiveCameraUpdate),e.off("wantsGesture",this.onFiveWantsGesture),e.off("wantsPanGesture",this.onFiveWantsPanGesture),e.off("wantsTapGesture",this.onFiveWantsTapGesture),e.off("wantsChangeMode",this.onFiveWantsChangeMode),e.off("modelShownFloorChange",this.onModelShownFloorChange)}render(e){if(!this.state.enabled||!this.container||!this.data||this.size.width===0)return;const i={...this.state.config,visible:this.state.visible,duration:e!=null?e:0,panoIndex:this.panoIndex,floorIndex:this.floorIndex,floorplanData:this.data,lastPanoramaLongitude:this.lastPanoramaLongitude};if(this.app)return this.app.$set(i);this.app=new wo({target:this.container,intro:!0,props:i})}}const Bh=(n,t)=>new jh(n,t);function Rh(n){const{latitude:t,longitude:e}=n,i=Math.abs(t-Math.PI/2)>5*Math.PI/180,s=e>5*(Math.PI/180)&&e<355*(Math.PI/180);return i||s}function Hh(n){const{latitude:t,longitude:e}=n,i=Math.abs(t-Math.PI/2)<10*Math.PI/180,s=e<30*(Math.PI/180)||e>330*(Math.PI/180);return i&&s}class Fh extends bn{constructor(e,i){super(e);v(this,"name","modelFloorplanPlugin");v(this,"state");v(this,"data");v(this,"showState");v(this,"showPromise");v(this,"app");v(this,"panoIndex",0);v(this,"floorIndex",0);v(this,"selector");v(this,"showRejection");v(this,"wrapper");v(this,"container",document.createElement("div"));v(this,"lastPanoramaLongitude",0);v(this,"size",{width:0,height:0});v(this,"hasAddedEventListener",!1);v(this,"isHiddenByHideFunc",!1);v(this,"dispose",()=>{var e,i;this.removeEventListener(),(e=this.app)==null||e.$destroy(),this.app=void 0,(i=this.container)==null||i.remove(),this.data=void 0,this.wrapper=void 0,this.selector=void 0,this.hooks.emit("dispose")});v(this,"show",async(e={})=>{if(!this.state.enabled||!this.showPromise&&this.state.visible)return;const i=e.userAction!==void 0?e.userAction:!0;this.updateState({visible:!0},i),this._show(e)});v(this,"hide",async(e={})=>{!this.state.enabled||(this.isHiddenByHideFunc=!0,this.state.visible!==!1&&(this.updateState({visible:!1},e.userAction||!0),this._hide(e)))});v(this,"updateSize",()=>{if(!this.data||!Co(this.five,this.showState)||!this.container||!this.wrapper)return;const{min:e,max:i}=this.data.bounding,s=i.x-e.x,o=i.y-e.y,r=this.state.config.attachedTo?{attachedTo:this.state.config.attachedTo}:void 0,l=Eo(this.five,this.wrapper,this.floorIndex,r),a=Math.ceil(s*l),c=Math.ceil(o*l);this.size.width===a&&this.size.height===c||(this.container.style.width=a+"px",this.container.style.height=c+"px",this.size={width:a,height:c})});v(this,"_disable",e=>{var s,o,r;const{userAction:i}=e;this.hooks.emit("disable",{userAction:i}),(s=this.showRejection)==null||s.call(this,rt.BreakOffByDisable),this.showPromise=void 0,(o=this.app)==null||o.$destroy(),this.app=void 0,(r=this.container)==null||r.remove(),this.removeEventListener()});v(this,"_enable",e=>{const{userAction:i}=e;this.addEventListener(),this.wrapper&&(this.wrapper.append(this.container),this.hooks.emit("enable",{userAction:i}),this.state.visible&&this._show({userAction:i}))});v(this,"_show",async e=>{var r;if(!this.state.enabled)return;if(!((r=this.five.model)!=null&&r.loaded))throw new Error(rt.ModelNotLoaded);if(!this.data)throw new Error(rt.DataNotLoaded);this.isHiddenByHideFunc=!1;const s={...{floorIndex:this.floorIndex,modelOpacity:this.state.config.modelOpacity,immediately:!1,isAutoShow:!1,userAction:!0},...e},o=async()=>{this.hooks.emit("show",{userAction:s.userAction,auto:s.isAutoShow});let l=!1,a;this.showRejection=f=>{l=!0,a=f};const[c]=await Qi(vc(this.five,this.showState,s.userAction));if(c)throw c;if(l)throw a?new Error(a):new Error(rt.UnknownError);this.updateSize(),this.updatePosition(),this.floorIndex=s.floorIndex,this.five.model.show(this.floorIndex);const u=s.modelOpacity,d=s.immediately?0:mc;Dn(this.five,u,d),this.render(d)};return this.showPromise=o().then(()=>{this.hooks.emit("showAnimationEnded",{auto:s.isAutoShow,userAction:s.userAction})}).catch(l=>{if(this.updateState({visible:!1},s.userAction),!s.isAutoShow&&l instanceof Error)throw l}).finally(()=>{this.showPromise=void 0,this.showRejection=void 0}),this.showPromise});v(this,"_hide",e=>{var o;(o=this.showRejection)==null||o.call(this,rt.BreakOffByHide),this.showPromise=void 0;const s={...{userAction:!0,isAutoHide:!1},...e};Dn(this.five,1,0),this.hooks.emit("hide",{auto:s.isAutoHide,userAction:s.userAction}),this.render()});v(this,"handleClick",()=>{if(!this.state.visible)return;if(this.hooks.emit("click"))return!1});v(this,"onFiveModelLoaded",()=>{if(this.state.enabled===!1||this.wrapper||!this.selector)return;const e=this.selector instanceof Element?this.selector:document.querySelector(this.selector);if(!e)throw new Error("\u4E0D\u6B63\u786E\u7684\u7236\u5BB9\u5668\u9009\u62E9\u5668");this.wrapper=e,e.append(this.container)});v(this,"onFiveModeChange",e=>{e!==this.showState.mode&&(this.updateState({visible:!1},!1),this._hide({userAction:!1}))});v(this,"onFivePanoArrived",e=>{var i;!((i=this.five)!=null&&i.work)||(this.panoIndex=e,this.floorIndex=this.five.work.observers[e].floorIndex)});v(this,"onFiveCameraUpdate",(e,i)=>{if(!this.state.visible||this.showPromise)return;const s=this.five.getCurrentState();this.updatePosition(),this.updateSize(),Rh(s)&&(this.updateState({visible:!1},i),this._hide({userAction:i}))});v(this,"onFiveWantsPanGesture",(e,i)=>{if(this.five.getCurrentState().mode===this.showState.mode&&this.state.config.autoShowEnable!==!1){if(i&&this.state.visible)return this.five.updateCamera(this.showState,0),!1;if(i&&!this.state.visible){if(this.isHiddenByHideFunc)return;const s=this.five.getCurrentState();return s.mode!==this.showState.mode||this.state.visible?void 0:(Hh(s)&&(this.updateState({visible:!0},!0),this._show({isAutoShow:!0})),!1)}}});v(this,"onFiveWantsTapGesture",()=>this.handleClick());v(this,"onFiveWantsChangeMode",(e,i)=>{i==="Panorama"&&e===this.showState.mode&&(this.lastPanoramaLongitude=this.five.getCurrentState().longitude)});v(this,"onModelShownFloorChange",e=>{if(this.floorIndex!==e){if(e===null){const i=this.five.getCurrentState().panoIndex;this.floorIndex=this.five.work.observers[i].floorIndex;return}this.floorIndex=e,this.updateSize(),this.render()}});i!=null&&i.selector&&(this.selector=i.selector,console.warn("\u4E0D\u63A8\u8350\u7EE7\u7EED\u4F7F\u7528 params.selector \u914D\u7F6E\u7236\u5BB9\u5668\uFF0C\u8BF7\u4F7F\u7528 appendTo \u65B9\u6CD5")),this.showState={mode:"Mapview",longitude:0,latitude:Math.PI/2,fov:90};const s={northDesc:"\u5317",modelOpacity:1,hoverEnable:!0,compassEnable:!0,autoShowEnable:!0,ruleLabelsEnable:!0,roomLabelsEnable:!0,cameraImageUrl:qt,attachedTo:Jt.BOUNDING_CENTER,getLabelElement:void 0,adaptiveRoomLabelVisibleEnable:!0,getRoomAreaText:l=>(l/1e6).toFixed(1)+"\u33A1",getRuleDistanceText:l=>l.toString()},o=i?ss(i,["selector","scale"]):{},r={...s,...o};this.state={enabled:!0,visible:!1,config:r},this.initContainer(),e.model.loaded?this.onFiveModelLoaded():e.once("modelLoaded",this.onFiveModelLoaded),e.once("dispose",this.dispose),this.addEventListener()}async load(e,i,s=!0){function o(u){return Object.prototype.hasOwnProperty.apply(u,["version"])}const r=e;r&&!r.version&&console.warn("\u4F20\u5165 serverData.data \u7684\u65B9\u5F0F\u540E\u7EED\u53EF\u80FD\u4E0D\u518D\u652F\u6301\uFF0C\u8BF7\u628A serverData \u6574\u4F53\u4F20\u5165 load \u51FD\u6570");const l=JSON.parse(JSON.stringify(e)),a=o(l)?l.data:l,c=this.data;this.data=await Kt(a),this.hooks.emit("dataLoaded",this.data),this.hooks.emit("dataChange",this.data,c),i&&this.updateState(i,s),this.render()}appendTo(e){if(this.wrapper=e,!!this.state.enabled)return e.appendChild(this.container),this.render(),this}enable(e={}){if(this.state.enabled)return;const i=e.userAction!==void 0?e.userAction:!0;this.updateState({enabled:!0},e.userAction||i),this._enable({userAction:i})}disable(e={}){if(!this.state.enabled)return;const i=e.userAction!==void 0?e.userAction:!0;this.updateState({enabled:!1},e.userAction||i),this._disable({userAction:i})}setState(e,i={}){const s=this.state,o=i.userAction!==void 0?i.userAction:!0;if(this.updateState(e,o),e.enabled!==void 0&&s.enabled!==e.enabled&&(e.enabled?this._enable({userAction:o}):this._disable({userAction:o})),e.visible!==void 0&&s.visible!==e.visible){const r={userAction:o};e.visible?this._show(r):this._hide(r)}}changeConfigs(e,i=!0){this.updateState({config:e},i),this.render()}updatePosition(){var l;const e=Po(this.five,this.floorIndex,this.state.config.attachedTo),i=(l=this.five.model)==null?void 0:l.bounding.getCenter(new M.Vector3).setY(e);if(!i)return;const s=i.clone().project(this.five.camera),o=(s.x+1)/2,r=-(s.y-1)/2;this.container.style.left=o*100+"%",this.container.style.top=r*100+"%"}async formatData(e){return await Kt(e.data)}updateState(e,i){const s=this.state,o=e.config?{...s.config,...e.config}:s.config;this.state={...this.state,...e,config:o},!Pt(this.state,s,{deep:!0})&&this.hooks.emit("stateChange",{state:this.state,prevState:s,userAction:i})}initContainer(){this.container.classList.add("floorplan-plugin"),Object.assign(this.container.style,{position:"absolute",left:"50%",top:"50%",transform:"translate(-50%, -50%)",zIndex:10,pointerEvents:"none"}),this.five.addExtraElement(this.container)}addEventListener(){if(!this.state.enabled||this.hasAddedEventListener)return;const e=this.five;e.on("modeChange",this.onFiveModeChange),e.on("panoArrived",this.onFivePanoArrived),e.on("cameraUpdate",this.onFiveCameraUpdate),e.on("wantsPanGesture",this.onFiveWantsPanGesture),e.on("wantsTapGesture",this.onFiveWantsTapGesture),e.on("wantsChangeMode",this.onFiveWantsChangeMode),e.on("modelShownFloorChange",this.onModelShownFloorChange)}removeEventListener(){const e=this.five;this.hasAddedEventListener=!1,e.off("modelLoaded",this.onFiveModelLoaded),e.off("modeChange",this.onFiveModeChange),e.off("panoArrived",this.onFivePanoArrived),e.off("cameraUpdate",this.onFiveCameraUpdate),e.off("wantsPanGesture",this.onFiveWantsPanGesture),e.off("wantsTapGesture",this.onFiveWantsTapGesture),e.off("wantsChangeMode",this.onFiveWantsChangeMode),e.off("modelShownFloorChange",this.onModelShownFloorChange)}render(e){if(!this.state.enabled||!this.container||!this.data||this.size.width===0)return;const i={...this.state.config,visible:this.state.visible,duration:e!=null?e:0,panoIndex:this.panoIndex,floorIndex:this.floorIndex,floorplanData:this.data,lastPanoramaLongitude:this.lastPanoramaLongitude};if(this.app)return this.app.$set(i);this.app=new wo({target:this.container,intro:!0,props:i})}}const Nh=(n,t)=>new Fh(n,t);class Gh extends bn{constructor(e,i){super(e);v(this,"name","topviewFloorplanPlugin");v(this,"state");v(this,"data");v(this,"app");v(this,"selector");v(this,"panoIndex",0);v(this,"floorIndex",0);v(this,"wrapper");v(this,"container",document.createElement("div"));v(this,"lastPanoramaLongitude",0);v(this,"size",{width:0,height:0});v(this,"hasAddedEventListener",!1);v(this,"isHiddenByHideFunc",!1);v(this,"updateSize",()=>{if(!this.data||!this.container||!this.wrapper||this.five.getCurrentState().mode!=="Topview")return;const{min:e,max:i}=this.data.bounding,s=i.x-e.x,o=i.y-e.y,r=this.state.config.attachedTo?{attachedTo:this.state.config.attachedTo}:void 0,l=Eo(this.five,this.wrapper,this.floorIndex,r),a=Math.ceil(s*l),c=Math.ceil(o*l);this.size.width===a&&this.size.height===c||(this.container.style.width=a+"px",this.container.style.height=c+"px",this.size={width:a,height:c})});v(this,"dispose",()=>{var e,i;this.removeEventListener(),(e=this.app)==null||e.$destroy(),this.app=void 0,(i=this.container)==null||i.remove(),this.data=void 0,this.wrapper=void 0,this.selector=void 0,this.hooks.emit("dispose")});v(this,"_disable",e=>{var s,o;const{userAction:i}=e;(s=this.app)==null||s.$destroy(),this.app=void 0,(o=this.container)==null||o.remove(),this.removeEventListener(),this.hooks.emit("disable",{userAction:i})});v(this,"onFiveModelLoaded",()=>{if(this.state.enabled===!1||this.wrapper||!this.selector)return;const e=this.selector instanceof Element?this.selector:document.querySelector(this.selector);if(!e)throw new Error("\u4E0D\u6B63\u786E\u7684\u7236\u5BB9\u5668\u9009\u62E9\u5668");this.wrapper=e,e.append(this.container)});v(this,"onFiveModeChange",(...[e,,,,i])=>{e!=="Topview"&&this.state.visible&&(this.updateState({visible:!1},i),this._hide({userAction:i}))});v(this,"onFivePanoArrived",e=>{var i;!((i=this.five)!=null&&i.work)||(this.panoIndex=e,this.floorIndex=this.five.work.observers[e].floorIndex)});v(this,"onFiveCameraUpdate",(e,i)=>{!this.state.visible||(this.updatePosition(),this.updateSize())});v(this,"onFiveWantsGesture",e=>{if(!(e!=="pan"&&e!=="pinch"&&e!=="mouseWheel")&&this.state.visible&&!this.state.config.gestureEnable)return!1});v(this,"onFiveWantsMoveToPano",()=>{if(this.state.visible&&this.state.config.preventRoomClick)return!1});v(this,"onFiveInitAnimationEnded",(...[,,e])=>{const{mode:i}=this.five.getCurrentState();i==="Topview"&&!this.isHiddenByHideFunc&&!this.state.visible&&this.state.config.autoShowEnable&&(this.updateState({visible:!0},e),this._show({userAction:e}))});v(this,"onModelShownFloorChange",e=>{if(this.floorIndex!==e){if(e===null){const i=this.five.getCurrentState().panoIndex;this.floorIndex=this.five.work.observers[i].floorIndex;return}this.floorIndex=e,this.updateSize(),this.render()}});i!=null&&i.selector&&(this.selector=i.selector,console.warn("\u4E0D\u63A8\u8350\u7EE7\u7EED\u4F7F\u7528 params.selector \u914D\u7F6E\u7236\u5BB9\u5668\uFF0C\u8BF7\u4F7F\u7528 appendTo \u65B9\u6CD5"));const s={northDesc:"\u5317",modelOpacity:1,hoverEnable:!0,compassEnable:!0,gestureEnable:!1,autoShowEnable:!0,ruleLabelsEnable:!0,roomLabelsEnable:!0,cameraImageUrl:qt,attachedTo:Jt.BOUNDING_CENTER,getLabelElement:void 0,adaptiveRoomLabelVisibleEnable:!0,getRoomAreaText:l=>(l/1e6).toFixed(1)+"\u33A1",getRuleDistanceText:l=>l.toString()},o=i?ss(i,["selector","scale"]):{},r={...s,...o};this.state={enabled:!0,visible:!1,config:r},this.initContainer(),e.model.loaded?this.onFiveModelLoaded():e.once("modelLoaded",this.onFiveModelLoaded),e.once("dispose",this.dispose),this.addEventListener()}async load(e,i,s=!0){function o(u){return Object.prototype.hasOwnProperty.apply(u,["version"])}const r=e;r&&!r.version&&console.warn("\u4F20\u5165 serverData.data \u7684\u65B9\u5F0F\u540E\u7EED\u53EF\u80FD\u4E0D\u518D\u652F\u6301\uFF0C\u8BF7\u628A serverData \u6574\u4F53\u4F20\u5165 load \u51FD\u6570");const l=JSON.parse(JSON.stringify(e)),a=o(l)?l.data:l,c=this.data;this.data=await Kt(a),this.hooks.emit("dataLoaded",this.data),this.hooks.emit("dataChange",this.data,c),i&&this.updateState(i,s),this.render()}updatePosition(){var l;const e=Po(this.five,this.floorIndex,this.state.config.attachedTo),i=(l=this.five.model)==null?void 0:l.bounding.getCenter(new M.Vector3).setY(e);if(!i)return;const s=i.clone().project(this.five.camera),o=(s.x+1)/2,r=-(s.y-1)/2;this.container.style.left=o*100+"%",this.container.style.top=r*100+"%"}appendTo(e){if(this.wrapper=e,!!this.state.enabled)return e.appendChild(this.container),this.render(),this}async show(e={}){if(this.state.visible)return;const i=e.userAction!==void 0?e.userAction:!0;this.updateState({visible:!0},i),this._show({userAction:i})}async hide(e={}){if(this.isHiddenByHideFunc=!0,!this.state.visible)return;const i=e.userAction!==void 0?e.userAction:!0;this.updateState({visible:!1},i),this._hide({userAction:i})}enable(e={}){if(this.state.enabled)return;const i=e.userAction!==void 0?e.userAction:!0;this.updateState({enabled:!0},e.userAction||i),this._enable({userAction:i})}disable(e={}){if(!this.state.enabled)return;const i=e.userAction!==void 0?e.userAction:!0;this.updateState({enabled:!1},e.userAction||i),this._disable({userAction:i})}setState(e,i={}){const s=this.state,o=i.userAction!==void 0?i.userAction:!0;if(this.updateState(e,o),e.enabled!==void 0&&s.enabled!==e.enabled){const r={userAction:o};e.enabled?this._enable(r):this._disable(r)}if(e.visible!==void 0&&s.visible!==e.visible){const r={userAction:o};e.visible?this._show(r):this._hide(r)}}changeConfigs(e,i=!0){this.updateState({config:e},i),this.render()}async formatData(e){return await Kt(e.data)}async _show(e){if(!this.state.enabled)return;this.isHiddenByHideFunc=!1;const{userAction:i}=e;this.hooks.emit("show",{userAction:i,auto:!1}),this.five.getCurrentState().mode!=="Topview"&&await gc(this.five,["Topview",void 0,void 0,i]),this.five.model.show(this.floorIndex),this.updatePosition(),this.updateSize();const s=500,o=this.state.config.modelOpacity;Dn(this.five,o,s),this.hooks.emit("showAnimationEnded",{userAction:i,auto:!1}),this.render()}async _hide(e){if(!this.state.enabled)return;const{userAction:i}=e;this.hooks.emit("hide",{userAction:i,auto:!1});const s=1,o=0;Dn(this.five,s,o),this.render()}_enable(e){const{userAction:i}=e;this.addEventListener(),this.wrapper&&this.wrapper.append(this.container),this.hooks.emit("enable",{userAction:i}),this.state.visible&&this._show({userAction:i})}updateState(e,i){const s=this.state,o=e.config?{...s.config,...e.config}:s.config;this.state={...this.state,...e,config:o},!Pt(this.state,s,{deep:!0})&&this.hooks.emit("stateChange",{state:this.state,prevState:s,userAction:i})}addEventListener(){if(!this.state.enabled||this.hasAddedEventListener)return;const e=this.five;e.on("modeChange",this.onFiveModeChange),e.on("panoArrived",this.onFivePanoArrived),e.on("cameraUpdate",this.onFiveCameraUpdate),e.on("wantsGesture",this.onFiveWantsGesture),e.on("wantsMoveToPano",this.onFiveWantsMoveToPano),e.on("initAnimationEnded",this.onFiveInitAnimationEnded),e.on("modelShownFloorChange",this.onModelShownFloorChange)}removeEventListener(){const e=this.five;this.hasAddedEventListener=!1,e.off("modeChange",this.onFiveModeChange),e.off("panoArrived",this.onFivePanoArrived),e.off("cameraUpdate",this.onFiveCameraUpdate),e.off("wantsGesture",this.onFiveWantsGesture),e.off("wantsMoveToPano",this.onFiveWantsMoveToPano),e.off("initAnimationEnded",this.onFiveInitAnimationEnded),e.off("modelShownFloorChange",this.onModelShownFloorChange)}initContainer(){this.container.classList.add("floorplan-plugin"),Object.assign(this.container.style,{position:"absolute",left:"50%",top:"50%",transform:"translate3d(-50%, -50%, 10px)",zIndex:10,pointerEvents:"none","will-change":"width, height"}),this.five.addExtraElement(this.container)}render(e){if(!this.state.enabled||!this.container||!this.data||this.size.width===0)return;const i={...this.state.config,visible:this.state.visible,duration:e!=null?e:0,panoIndex:this.panoIndex,floorIndex:this.floorIndex,floorplanData:this.data,lastPanoramaLongitude:this.lastPanoramaLongitude};if(this.app)return this.app.$set(i);this.app=new wo({target:this.container,intro:!0,props:i})}}const _h=(n,t)=>new Gh(n,t);function Io(n,t=200){let e;return function(...i){e||(n(...i),e=setTimeout(function(){e=null},t))}}function Qh(n){me(n,"svelte-1nqrlxd",".plugin-radar__camera-wrapper.svelte-1nqrlxd{width:100%;height:100%;position:absolute;pointer-events:none}.plugin-radar__camera-position.svelte-1nqrlxd{position:absolute;left:0;top:0;width:0;height:0;transform:none;pointer-events:none;transition:transform 1s linear}.plugin-radar__camera-rotate.svelte-1nqrlxd{position:absolute;left:-0.9375rem;top:-0.9375rem;width:1.0625rem;height:1.0625rem;transform-origin:0.9375rem 0.9375rem;transform:rotate(45deg);background-repeat:no-repeat;background-size:100%}")}function Wh(n){let t,e,i;return{c(){t=G("div"),e=G("div"),i=G("div"),C(i,"class","plugin-radar__camera-rotate svelte-1nqrlxd"),W(i,"background-image","url("+(n[0]||qt)+")"),W(i,"transform",n[1]),C(e,"class","plugin-radar__camera-position svelte-1nqrlxd"),W(e,"transform",n[2]),C(t,"class","plugin-radar__camera-wrapper svelte-1nqrlxd")},m(s,o){F(s,t,o),_(t,e),_(e,i)},p(s,[o]){o&1&&W(i,"background-image","url("+(s[0]||qt)+")"),o&2&&W(i,"transform",s[1]),o&4&&W(e,"transform",s[2])},i:ce,o:ce,d(s){s&&R(t)}}}function Xh(n){return`rotate(${Math.floor(n/Math.PI*180)*-1+45}deg)`}function Vh(n,t,e){let i,s,{five:o}=t,{pxmm:r}=t,{floorplanData:l}=t,{cameraImageUrl:a}=t,c=o.getCurrentState().panoIndex,u=o.getCurrentState().longitude;function d(p,m){const g=p.bounding,b=p.observers[m];if(!b)return"";const A=(g.max.x-g.min.x)*r,y=(g.max.y-g.min.y)*r,I=Math.floor(b.positionInImage.x*A),k=Math.floor(b.positionInImage.y*y);return`translate(${I}px, ${k}px)`}function f(p){e(6,c=p)}const h=Io(p=>{e(7,u=p.longitude)},1e3/60);return mt(()=>(o.on("panoWillArrive",f),o.on("cameraDirectionUpdate",h),function(){o.off("panoWillArrive",f),o.off("cameraDirectionUpdate",h)})),n.$$set=p=>{"five"in p&&e(3,o=p.five),"pxmm"in p&&e(4,r=p.pxmm),"floorplanData"in p&&e(5,l=p.floorplanData),"cameraImageUrl"in p&&e(0,a=p.cameraImageUrl)},n.$$.update=()=>{n.$$.dirty&96&&e(2,i=d(l,c)),n.$$.dirty&128&&e(1,s=Xh(u))},[a,s,i,o,r,l,c,u]}class Yh extends fe{constructor(t){super(),de(this,t,Vh,Wh,ue,{five:3,pxmm:4,floorplanData:5,cameraImageUrl:0},Qh)}}function Uh(n){me(n,"svelte-1i87fz7",".plugin-pano-floorplan__extra-objects.svelte-1i87fz7{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.plugin-pano-floorplan__extra-object-item--position.svelte-1i87fz7{position:absolute;width:0;height:0}.plugin-pano-floorplan__extra-object-item.svelte-1i87fz7{transform:translate(-50%, -50%)}")}function Fr(n,t,e){const i=n.slice();return i[1]=t[e],i}function Nr(n,t){let e,i,s=`${t[1].icon.width/16}rem`,o=`${t[1].icon.height/16}rem`,r,l=`${t[1].positionInImage.y*100}%`,a=`${t[1].positionInImage.x*100}%`;return{key:n,first:null,c(){e=G("div"),i=G("div"),r=K(),C(i,"class","plugin-pano-floorplan__extra-object-item svelte-1i87fz7"),W(i,"background-image",`url(${t[1].icon.url})`),W(i,"width",s),W(i,"height",o),C(e,"class","plugin-pano-floorplan__extra-object-item--position svelte-1i87fz7"),W(e,"top",l),W(e,"left",a),this.first=e},m(c,u){F(c,e,u),_(e,i),_(e,r)},p(c,u){t=c,u&1&&W(i,"background-image",`url(${t[1].icon.url})`),u&1&&s!==(s=`${t[1].icon.width/16}rem`)&&W(i,"width",s),u&1&&o!==(o=`${t[1].icon.height/16}rem`)&&W(i,"height",o),u&1&&l!==(l=`${t[1].positionInImage.y*100}%`)&&W(e,"top",l),u&1&&a!==(a=`${t[1].positionInImage.x*100}%`)&&W(e,"left",a)},d(c){c&&R(e)}}}function Zh(n){let t,e=[],i=new Map,s=n[0];const o=r=>r[1].id;for(let r=0;r<s.length;r+=1){let l=Fr(n,s,r),a=o(l);i.set(a,e[r]=Nr(a,l))}return{c(){t=G("div");for(let r=0;r<e.length;r+=1)e[r].c();C(t,"class","plugin-pano-floorplan__extra-objects svelte-1i87fz7")},m(r,l){F(r,t,l);for(let a=0;a<e.length;a+=1)e[a].m(t,null)},p(r,[l]){l&1&&(s=r[0],e=gt(e,l,o,1,r,s,i,t,uc,Nr,null,Fr))},i:ce,o:ce,d(r){r&&R(t);for(let l=0;l<e.length;l+=1)e[l].d()}}}function Jh(n,t,e){let{extraObjects:i=[]}=t;return n.$$set=s=>{"extraObjects"in s&&e(0,i=s.extraObjects)},[i]}class qh extends fe{constructor(t){super(),de(this,t,Jh,Zh,ue,{extraObjects:0},Uh)}}function Gr(n){let t,e;const i=[{five:n[0],pxmm:n[1],floorIndex:n[2],floorplanData:n[4],onRoomHeightClick:n[6]}];let s={};for(let o=0;o<i.length;o+=1)s=Oe(s,i[o]);return t=new pc({props:s}),{c(){re(t.$$.fragment)},m(o,r){se(t,o,r),e=!0},p(o,r){const l=r&87?Ye(i,[{five:o[0],pxmm:o[1],floorIndex:o[2],floorplanData:o[4],onRoomHeightClick:o[6]}]):{};t.$set(l)},i(o){e||(L(t.$$.fragment,o),e=!0)},o(o){H(t.$$.fragment,o),e=!1},d(o){oe(t,o)}}}function Kh(n){let t,e,i,s,o,r;const l=[{floorIndex:n[2],floorplanData:n[4]}];let a={};for(let u=0;u<l.length;u+=1)a=Oe(a,l[u]);t=new fc({props:a}),i=new qh({props:{extraObjects:n[5]}});let c=n[3]&&Gr(n);return{c(){re(t.$$.fragment),e=K(),re(i.$$.fragment),s=K(),c&&c.c(),o=Ce()},m(u,d){se(t,u,d),F(u,e,d),se(i,u,d),F(u,s,d),c&&c.m(u,d),F(u,o,d),r=!0},p(u,[d]){const f=d&20?Ye(l,[{floorIndex:u[2],floorplanData:u[4]}]):{};t.$set(f);const h={};d&32&&(h.extraObjects=u[5]),i.$set(h),u[3]?c?(c.p(u,d),d&8&&L(c,1)):(c=Gr(u),c.c(),L(c,1),c.m(o.parentNode,o)):c&&(ve(),H(c,1,1,()=>{c=null}),be())},i(u){r||(L(t.$$.fragment,u),L(i.$$.fragment,u),L(c),r=!0)},o(u){H(t.$$.fragment,u),H(i.$$.fragment,u),H(c),r=!1},d(u){oe(t,u),u&&R(e),oe(i,u),u&&R(s),c&&c.d(u),u&&R(o)}}}function $h(n,t,e){let i,{five:s}=t,{pxmm:o}=t,{floorIndex:r}=t,{hoverEnable:l}=t,{floorplanData:a}=t,{extraObjects:c=[]}=t;const u=void 0;return n.$$set=d=>{"five"in d&&e(0,s=d.five),"pxmm"in d&&e(1,o=d.pxmm),"floorIndex"in d&&e(2,r=d.floorIndex),"hoverEnable"in d&&e(3,l=d.hoverEnable),"floorplanData"in d&&e(4,a=d.floorplanData),"extraObjects"in d&&e(7,c=d.extraObjects)},n.$$.update=()=>{n.$$.dirty&132&&e(5,i=c==null?void 0:c.filter(d=>d.floorIndex===r))},[s,o,r,l,a,i,u,c]}class ep extends fe{constructor(t){super(),de(this,t,$h,Kh,ue,{five:0,pxmm:1,floorIndex:2,hoverEnable:3,floorplanData:4,extraObjects:7})}}function tp(n){me(n,"svelte-1mvqyqq",".plugin-floorplan-radar.svelte-1mvqyqq{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.plugin-floorplan-radar-container.svelte-1mvqyqq{position:relative}")}function _r(n){let t,e,i,s=n[6]!==0&&Qr(n);return{c(){t=G("div"),s&&s.c(),C(t,"class","plugin-floorplan-radar svelte-1mvqyqq"),Re(()=>n[12].call(t))},m(o,r){F(o,t,r),s&&s.m(t,null),e=$t(t,n[12].bind(t)),i=!0},p(o,r){o[6]!==0?s?(s.p(o,r),r&64&&L(s,1)):(s=Qr(o),s.c(),L(s,1),s.m(t,null)):s&&(ve(),H(s,1,1,()=>{s=null}),be())},i(o){i||(L(s),i=!0)},o(o){H(s),i=!1},d(o){o&&R(t),s&&s.d(),e()}}}function Qr(n){let t,e,i,s,o=`${n[8]}px`,r=`${n[11]}px`,l;const a=[{five:n[0],pxmm:n[9],floorIndex:n[10],floorplanData:n[3],hoverEnable:n[2],extraObjects:n[5]}];let c={};for(let f=0;f<a.length;f+=1)c=Oe(c,a[f]);e=new ep({props:c});const u=[{pxmm:n[9],five:n[0],floorplanData:n[3],cameraImageUrl:n[4]}];let d={};for(let f=0;f<u.length;f+=1)d=Oe(d,u[f]);return s=new Yh({props:d}),{c(){t=G("div"),re(e.$$.fragment),i=K(),re(s.$$.fragment),C(t,"class","plugin-floorplan-radar-container svelte-1mvqyqq"),W(t,"width",o),W(t,"height",r)},m(f,h){F(f,t,h),se(e,t,null),_(t,i),se(s,t,null),l=!0},p(f,h){const p=h&1581?Ye(a,[{five:f[0],pxmm:f[9],floorIndex:f[10],floorplanData:f[3],hoverEnable:f[2],extraObjects:f[5]}]):{};e.$set(p);const m=h&537?Ye(u,[{pxmm:f[9],five:f[0],floorplanData:f[3],cameraImageUrl:f[4]}]):{};s.$set(m),h&256&&o!==(o=`${f[8]}px`)&&W(t,"width",o),h&2048&&r!==(r=`${f[11]}px`)&&W(t,"height",r)},i(f){l||(L(e.$$.fragment,f),L(s.$$.fragment,f),l=!0)},o(f){H(e.$$.fragment,f),H(s.$$.fragment,f),l=!1},d(f){f&&R(t),oe(e),oe(s)}}}function np(n){let t,e,i=n[1]&&_r(n);return{c(){i&&i.c(),t=Ce()},m(s,o){i&&i.m(s,o),F(s,t,o),e=!0},p(s,[o]){s[1]?i?(i.p(s,o),o&2&&L(i,1)):(i=_r(s),i.c(),L(i,1),i.m(t.parentNode,t)):i&&(ve(),H(i,1,1,()=>{i=null}),be())},i(s){e||(L(i),e=!0)},o(s){H(i),e=!1},d(s){i&&i.d(s),s&&R(t)}}}function ip(n,t,e){let{five:i}=t,{visible:s}=t,{hoverEnable:o}=t,{floorplanData:r}=t,{cameraImageUrl:l}=t,{extraObjects:a=[]}=t,c=0,u=0,d=0,f=0,h=0,p=0;function m(b){e(10,u=i.work.observers[b].floorIndex)}mt(()=>(i.on("panoArrived",m),()=>{i.off("panoArrived",m)}));function g(){d=this.clientWidth,f=this.clientHeight,e(6,d),e(7,f)}return n.$$set=b=>{"five"in b&&e(0,i=b.five),"visible"in b&&e(1,s=b.visible),"hoverEnable"in b&&e(2,o=b.hoverEnable),"floorplanData"in b&&e(3,r=b.floorplanData),"cameraImageUrl"in b&&e(4,l=b.cameraImageUrl),"extraObjects"in b&&e(5,a=b.extraObjects)},n.$$.update=()=>{if(n.$$.dirty&456){const b=Math.min(d,f),{max:A,min:y}=r.bounding,I=A.x-y.x,k=A.y-y.y,E=function(){return I>k?[b,b/I*k]:[b/k*I,b]}();e(8,h=E[0]),e(11,p=E[1]),e(9,c=h/I)}},[i,s,o,r,l,a,d,f,h,c,u,p,g]}class sp extends fe{constructor(t){super(),de(this,t,ip,np,ue,{five:0,visible:1,hoverEnable:2,floorplanData:3,cameraImageUrl:4,extraObjects:5},tp)}}class op extends bn{constructor(e,i){super(e);v(this,"name","panoFloorplanRadarPlugin");v(this,"state");v(this,"data");v(this,"app");v(this,"wrapperSelector","");v(this,"wrapper",null);v(this,"disposed",!1);v(this,"extraObjects",[]);v(this,"dispose",()=>{var e;this.disposed=!0,(e=this.app)==null||e.$destroy(),this.wrapper=null,this.wrapperSelector="",this.hooks.emit("dispose")});v(this,"_disable",e=>{var s;const{userAction:i}=e;(s=this.app)==null||s.$destroy(),this.app=void 0,this.hooks.emit("disable",{userAction:i})});this.five=e;const s={hoverEnable:!1,cameraImageUrl:qt},o=i!=null&&i.configs?i.configs:{},r={...s,...o};this.state={enabled:!0,visible:!0,config:r},i!=null&&i.wrapper&&console.warn("\u4E0D\u63A8\u8350\u7EE7\u7EED\u4F7F\u7528 params.selector \u914D\u7F6E\u7236\u5BB9\u5668\uFF0C\u8BF7\u4F7F\u7528 appendTo \u65B9\u6CD5"),typeof(i==null?void 0:i.wrapper)=="string"?this.wrapperSelector=i.wrapper:(i==null?void 0:i.wrapper)instanceof Element&&(this.wrapper=i.wrapper),e.once("dispose",this.dispose)}async load(e,i,s=!0){function o(c){return Object.prototype.hasOwnProperty.apply(c,["version"])}const r=JSON.parse(JSON.stringify(e)),l=o(r)?r.data:r,a=this.data;this.data=await Kt(l),this.hooks.emit("dataLoaded",this.data),this.hooks.emit("dataChange",this.data,a),i&&this.updateState(i,s),this.render()}async show(e={}){if(this.state.visible)return;const i=e.userAction!==void 0?e.userAction:!0;this.updateState({visible:!0},i),this._show({userAction:i})}async hide(e={}){if(!this.state.visible)return;const i=e.userAction!==void 0?e.userAction:!0;this.updateState({visible:!1},i),this._hide({userAction:i})}enable(e={}){if(this.state.enabled)return;const i=e.userAction!==void 0?e.userAction:!0;this.updateState({enabled:!0},e.userAction||i),this._enable({userAction:i})}disable(e={}){if(!this.state.enabled)return;const i=e.userAction!==void 0?e.userAction:!0;this.updateState({enabled:!1},e.userAction||i),this._disable({userAction:i})}setState(e,i={}){const s=this.state,o=i.userAction!==void 0?i.userAction:!0;if(this.updateState(e,o),e.enabled!==void 0&&s.enabled!==e.enabled){const r={userAction:o};e.enabled?this._enable(r):this._disable(r)}if(e.visible!==void 0&&s.visible!==e.visible){const r={userAction:o};e.visible?this._show(r):this._hide(r)}}appendTo(e){this.wrapper=e,this.render()}changeConfigs(e,i=!0){this.setState({config:e},{userAction:i}),this.render()}setExtraObjectsWith3DPositions(e){!this.data||(this.extraObjects=Dh(e,this.five,this.data),this.render())}async formatData(e){return await Kt(e.data)}_enable(e){const{userAction:i}=e;this.hooks.emit("enable",{userAction:i}),this.state.visible&&this._show({userAction:i})}_show(e){if(this.disposed||!this.state.enabled)return;const{userAction:i}=e;this.hooks.emit("show",{userAction:i}),this.render()}_hide(e){if(this.disposed||!this.state.enabled)return;const{userAction:i}=e;this.hooks.emit("hide",{userAction:i}),this.render()}updateState(e,i){const s=this.state;this.state={...this.state,...e},!Pt(this.state,s,{deep:!0})&&this.hooks.emit("stateChange",{state:this.state,prevState:s,userAction:i})}render(){if(this.disposed||!this.state.enabled)return;if(!this.wrapper&&this.wrapperSelector){const i=document.querySelector(this.wrapperSelector);this.wrapper=i}if(!this.data||!this.wrapper)return;const e={...this.state.config,five:this.five,floorplanData:this.data,visible:this.state.visible,extraObjects:this.extraObjects};this.app?this.app.$set(e):this.app=new sp({target:this.wrapper,props:e})}}const rp=(n,t)=>new op(n,t),ap=[{type:0,floorType:1,roomType:"100900000012",name:"\u5176\u4ED6"},{type:1,floorType:1,roomType:"100900000002",name:"\u5BA2\u5385"},{type:2,floorType:1,roomType:"100900000002",name:"\u9910\u5385"},{type:3,floorType:0,roomType:"100900000001",name:"\u5367\u5BA4"},{type:4,floorType:0,roomType:"100900000001",name:"\u4E66\u623F"},{type:5,floorType:3,roomType:"100900000004",name:"\u536B\u751F\u95F4"},{type:6,floorType:3,roomType:"100900000004",name:"\u6DCB\u6D74\u95F4"},{type:7,floorType:3,roomType:"100900000004",name:"\u6D17\u624B\u95F4"},{type:8,floorType:3,roomType:"100900000003",name:"\u53A8\u623F"},{type:9,floorType:1,roomType:"100900000003",name:"\u5F00\u653E\u53A8\u623F",onlySubArea:!0},{type:10,floorType:0,roomType:"100900000001",name:"\u591A\u529F\u80FD\u95F4"},{type:11,floorType:0,roomType:"100900000009",name:"\u4FDD\u59C6\u95F4"},{type:12,floorType:4,roomType:"100900000005",name:"\u9633\u53F0"},{type:13,floorType:4,roomType:"100900000006",name:"\u9732\u53F0"},{type:14,floorType:0,roomType:"100900000008",name:"\u50A8\u7269\u95F4"},{type:15,floorType:0,roomType:"100900000013",name:"\u8863\u5E3D\u95F4"},{type:16,floorType:0,roomType:"100900000011",name:"\u9601\u697C"},{type:17,floorType:2,roomType:"100900000007",name:"\u82B1\u56ED"},{type:18,floorType:5,roomType:"100900000010",name:"\u8F66\u5E93"},{type:19,floorType:1,roomType:"100900000012",name:"\u7535\u68AF"},{type:20,floorType:1,roomType:"100900000012",name:"\u5730\u4E0B\u5BA4"},{type:21,floorType:1,roomType:"100900000012",name:"\u5929\u4E95"},{type:22,floorType:1,roomType:"100900000012",name:"\u9633\u5149\u623F"},{type:23,floorType:1,roomType:"100900000012",name:"\u8FC7\u9053"},{type:24,floorType:1,roomType:"100900000012",name:"\u697C\u68AF\u95F4"},{type:25,floorType:1,roomType:"100900000012",name:"\u95E8\u5385"},{type:26,floorType:2,roomType:"100900000012",name:"\u5165\u6237\u82B1\u56ED"},{type:27,floorType:1,roomType:"100900000012",name:"\u7384\u5173"},{type:28,floorType:1,roomType:"100900000012",name:"\u6311\u7A7A"},{type:29,floorType:4,roomType:"100900000012",name:"\u667E\u6652\u533A"},{type:30,floorType:4,roomType:"100900000012",name:"\u6D17\u8863\u623F"},{type:31,floorType:0,roomType:"100900000012",name:"\u5A31\u4E50\u533A"},{type:32,floorType:0,roomType:"100900000012",name:"\u5065\u8EAB\u533A"},{type:33,floorType:0,roomType:"100900000012",name:"\u63A5\u5F85\u533A"},{type:34,floorType:0,roomType:"100900000012",name:"\u5F71\u97F3\u533A"},{type:35,floorType:1,roomType:"100900000012",name:"\u9910\u996E\u533A"},{type:36,floorType:1,roomType:"100900000012",name:"\u5176\u4ED6",onlySubArea:!0},{type:37,floorType:1,roomType:"100900000002",name:"\u8D77\u5C45\u5BA4"},{type:38,floorType:0,roomType:"100900000001",name:"\u4E3B\u5367"},{type:39,floorType:0,roomType:"100900000001",name:"\u6B21\u5367"},{type:40,floorType:0,roomType:"100900000001",name:"\u4F18\u5316\u95F4"},{type:41,floorType:0,roomType:"100900000001",name:"\u529E\u516C\u5BA4"},{type:42,floorType:0,roomType:"100900000001",name:"\u4F1A\u8BAE\u5BA4"},{type:43,floorType:0,roomType:"100900000001",name:"\u6D3D\u8C08\u95F4"},{type:44,floorType:1,roomType:"100900000002",name:"\u5171\u4EAB\u5927\u5385"},{type:45,floorType:1,roomType:"100900000012",name:"\u6C34\u5427"},{type:46,floorType:0,roomType:"100900000015",name:"\u51FA\u5165\u53E3"},{type:47,floorType:0,roomType:"100900000015",name:"\u5927\u5385"},{type:48,floorType:0,roomType:"100900000015",name:"\u5305\u53A2"},{type:49,floorType:0,roomType:"100900000015",name:"\u5176\u4ED6"},{type:50,floorType:0,roomType:"100900000016",name:"\u51FA\u5165\u53E3"},{type:51,floorType:0,roomType:"100900000016",name:"\u529E\u516C\u533A"},{type:52,floorType:0,roomType:"100900000016",name:"\u8001\u677F\u95F4"},{type:53,floorType:0,roomType:"100900000016",name:"\u4F1A\u8BAE\u5BA4"},{type:54,floorType:0,roomType:"100900000016",name:"\u4F11\u606F\u533A/\u6C34\u5427"},{type:55,floorType:0,roomType:"100900000016",name:"\u5176\u4ED6"},{type:56,floorType:2,roomType:"100900000012",name:"\u7A7A\u4E2D\u82B1\u56ED"},{type:57,floorType:0,roomType:"100900000001",name:"\u6D0B\u5BA4"},{type:58,floorType:0,roomType:"100900000001",name:"\u548C\u5BA4"}],lp=[{type:0,description:"\u6728\u8D28\u5730\u677F"},{type:1,description:"\u74F7\u7816\u5730\u9762"},{type:2,description:"\u6237\u5916\u5730\u9762"},{type:3,description:"\u536B\u751F\u95F4\u5730\u9762"},{type:4,description:"\u9633\u53F0\u5730\u9762"},{type:5,description:"\u8F66\u5E93\u5730\u9762"}],cp=[{roomType:"100900000001",description:"\u5BA4"},{roomType:"100900000002",description:"\u5385"},{roomType:"100900000003",description:"\u53A8"},{roomType:"100900000004",description:"\u536B"},{roomType:"100900000005",description:"\u9633\u53F0"},{roomType:"100900000006",description:"\u9732\u53F0"},{roomType:"100900000007",description:"\u82B1\u56ED"},{roomType:"100900000008",description:"\u50A8"},{roomType:"100900000009",description:"\u4FDD\u59C6\u95F4"},{roomType:"100900000010",description:"\u8F66\u5E93"},{roomType:"100900000011",description:"\u9601\u697C"},{roomType:"100900000012",description:"\u5176\u4ED6"},{roomType:"100900000013",description:"\u8863"},{roomType:"100900000015",description:"\u5546\u94FA"},{roomType:"100900000016",description:"\u5199\u5B57\u697C"}],ks=(n,t,e)=>{const i=new M.Matrix4,s=new M.Euler(n,t,e,"YXZ");return i.makeRotationFromEuler(s),i},up=(n,{scale:t,rotation:e,position:i})=>{if(t&&n.scale.set(t,t,t),e){const[s,o,r]=e;s&&n.applyMatrix4(ks(s,0,0)),o&&n.applyMatrix4(ks(0,o,0)),r&&n.applyMatrix4(ks(0,0,r))}return i&&n.position.set(i.x,i.y,i.z),n};function bc(n,t){n.traverse(e=>{var i;if(e.type==="Mesh"){const s=e,o={map:s.material.map||{},...t};s.material=new X.MeshBasicMaterial(o),s.renderOrder=1,((i=e.parent)==null?void 0:i.type)==="Mesh"&&(e.renderOrder=e.parent.renderOrder+1)}})}const dp=(n,t)=>{var u;const e=t.fbx_url||"//vrlab-static.ljcdn.com/release/web/v3/dipan3/dipan.FBX",i=(u=t.north_rad)!=null?u:void 0,s={},o=async d=>{var Y;const f=(d==null?void 0:d.fbx_url)||e,h=(Y=d==null?void 0:d.north_rad)!=null?Y:i;if(typeof h!="number")throw new Error('"northRad"\u914D\u7F6E\u53C2\u6570\u7F3A\u5931\uFF1A\u672A\u914D\u7F6E\u6307\u5357\u9488\u6307\u5411\uFF01');const p=n.model.bounding,m=p.max.x-p.min.x,g=p.max.z-p.min.z,b=Math.max(m,g),y=await new Hl.FBXLoader().loadAsync(f);bc(y,{transparent:!0,side:M.DoubleSide,blending:M.AdditiveBlending});const I=[0,h-Math.PI/2,0],{model:{bounding:{max:{x:k,z:E},min:{x:D,y:T,z:B}}}}=n;s.yBase=T;const z={x:(k+D)/2,y:T-1.6,z:(E+B)/2},j=.0045*b;return up(y,{position:z,rotation:I,scale:j}),s.object=y,!0},r=({latitude:d})=>{if(!s.object)return;const f=l(d);f&&(s.object.position.y=f)},l=d=>{if(s.yBase===void 0)return;const f=.6;if(d>=Math.PI/4)return s.yBase-(f+1.6);const h=d*(4/Math.PI);return s.yBase-(f*h+1.6)};return{load:o,disable:()=>{!s.object||(n.scene.remove(s.object),n.needsRender=!0,n.off("cameraDirectionUpdate",r))},enable:()=>{if(!s.object)return;const d=l(n.getPose().latitude);d&&(s.object.position.y=d),n.scene.add(s.object),n.needsRender=!0,n.on("cameraDirectionUpdate",r)}}};function fp(n,t){var c,u,d,f,h;const e=(c=t==null?void 0:t.size)!=null?c:512,i=(u=t==null?void 0:t.fontSize)!=null?u:e*(35/256)*1.2,s=(d=t==null?void 0:t.backgroundColor)!=null?d:"rgba(0,0,0,0)",o=(f=t==null?void 0:t.fontColor)!=null?f:"#fff",r=(h=t==null?void 0:t.textAlign)!=null?h:"center",l=document.createElement("canvas");l.setAttribute("width",e+""),l.setAttribute("height",e+"");const a=l.getContext("2d");return a.fillStyle=s,a.fillRect(0,0,e,e),a.font=`${i}px "\u5FAE\u8F6F\u96C5\u9ED1"`,a.textAlign=r,a.fillStyle=o,a.fillText(n,e/2,e*.7),new X.CanvasTexture(l)}const hp=({x:n,y:t,z:e})=>new X.Vector3(n,t,e),pp=(n,t)=>{var m,g,b;const e={},i=(m=t.animationEnabled)!=null?m:!0,s=(g=t.position)!=null?g:void 0,o=(b=t.rad)!=null?b:void 0,r=t.fbx_url||"//vrlab-image4.ljcdn.com/release/web/entryDoorMini/Anim_Door1.fbx",l=[],a=async A=>{var B,z,j,Y,x,O,Q;const y=(B=A==null?void 0:A.position)!=null?B:s;if(!y)return Promise.reject("ModelEntryDoorGuidePlugin.load(): position is undefined");const I=hp(y),k=(z=A==null?void 0:A.rad)!=null?z:o,E=(j=A==null?void 0:A.fbx_url)!=null?j:r;if(e.rad=k,k===void 0)return Promise.reject(`ModelEntryDoorGuidePlugin.load(): rad is ${k}`);const D=await new Hl.FBXLoader().loadAsync(E);D.position.copy(I),D.rotation.z=k,D.scale.set(.8,.8,.8),bc(D,{transparent:!0,side:M.DoubleSide});const T=(Q=(O=(x=(Y=D.children)==null?void 0:Y[0])==null?void 0:x.children)==null?void 0:O[3])==null?void 0:Q.clone();return T?(T.material=new X.MeshBasicMaterial({transparent:!0,map:fp("\u5165\u6237\u95E8")}),T.renderOrder=3,D.children[0].add(T),e.object=D,!0):Promise.reject(`ModelEntryDoorGuidePlugin.load(): textMesh is ${T}`)},c=()=>{if(e.animation)return;if(!e.object)return console.error("ModelEntryDoorGuidePlugin.initAnimation(): state.object is ",e.object);const A=1,y=new X.AnimationMixer(e.object);l.push(y);const I=y.clipAction(e.object.animations[0]);I.timeScale=A;let k;const E=()=>{let z=0,j=0;const Y=1e3/30,x=O=>{z=requestAnimationFrame(x);const Q=O-j;Q<Y||(j=O,l.forEach(V=>V.update(Q/1e3)),n.needsRender=!0)};return z=requestAnimationFrame(x),()=>{cancelAnimationFrame(z)}},B={play:()=>{k||(I.play(),k=E(),requestAnimationFrame(()=>{e.object&&e.object.rotation.z!==e.rad&&(e.object.rotation.z=e.rad)}))},stop:()=>{I.stop(),k==null||k(),k=void 0}};e.animation=B},u=A=>{var I;if(!e.object)return console.error("ModelEntryDoorGuidePlugin.enable(): object is ",e.object);((I=A==null?void 0:A.animationEnable)!=null?I:i)&&(e.animation||c(),e.animation.play()),n.scene.add(e.object),n.needsRender=!0},d=()=>{!e.object||(e.animation&&e.animation.stop(),n.scene.remove(e.object),n.needsRender=!0)},f=A=>A==="Floorplan"?u():d();return{load:a,enable:A=>(e.enabled||(e.enabled=!0,f(n.currentMode),n.on("modeChange",f),u(A)),!0),disable:()=>(e.enabled&&(e.enabled=!1,d(),n.off("modeChange",f)),!0)}},Vi=window.requestAnimationFrame||(n=>setTimeout(n,16)),mp=window.cancelAnimationFrame||clearTimeout;function xo(n,t=0){t<=0?Vi(n):Vi(()=>xo(n,t-1))}function To(n,t=60){let e=-1,i=0,s=-1;const o=1e3/t;function r(l){s===-1&&(s=l),e=Vi(r),!(l-i<o)&&(i=l,n&&n(l-s))}return e=Vi(r),function(){mp(e)}}const gp=Zt;function vp(n,t,e,i=gp.Linear.None){const s=new ho(n).to(t,e).easing(i);xo(()=>s.start(0));const o=To(l=>{s.update(l)===!1&&o()}),r=[];return s.onDestroy=l=>(r.push(l),s),s.destroy=function(){this.stop(),Object.assign(s,{_onStartCallback:null,_onUpdateCallback:null,_onCompleteCallback:null,_onStopCallbackL:null});let l;for(;l=r.shift();)l();o()},s}function bp(n,t){return vp({progress:0},{progress:1},n,t)}var Ac=(n=>(n.Move="Move",n.Rotate="Rotate",n))(Ac||{}),yt=(n=>(n.Clockwise="Clockwise",n.Anticlockwise="Anticlockwise",n.Loop="Loop",n))(yt||{});const Oi=Math.PI*2;function Wr(n){return(n%Oi+Oi)%Oi}function Xr(n){return n%Oi}function Ds(n,t,e){return n+(t-n)*e}const qs=(n,t,e)=>{const i=Math.PI,s=i*2;return n=Wr(n),t=Wr(t),e===yt.Anticlockwise&&n<t&&(n+=s),e===yt.Clockwise&&t<n&&(t+=s),e===yt.Loop&&t-n>i?qs(n,t,yt.Anticlockwise):e===yt.Loop&&n-t>i?qs(n,t,yt.Clockwise):{from:n,to:t}},Ap=n=>{const t={},e=async(o,r,l={preload:!0})=>(t.interruptCallback&&t.interruptCallback(!1),l.asyncStartCallback&&await l.asyncStartCallback(),o.mode&&o.mode!==n.currentMode&&await n.changeMode(o.mode),l.preload&&o.panoIndex!==void 0&&o.panoIndex!==n.panoIndex&&await n.preloadPano(o.panoIndex),l.asyncEndCallback&&await l.asyncEndCallback(),o.panoIndex===void 0&&o.fov===void 0&&o.latitude===void 0&&o.longitude===void 0?!0:await new Promise((a,c)=>{const u=o.panoIndex!==void 0?o.panoIndex:n.panoIndex;u!==void 0?n.moveToPano(u,Object.assign({duration:r,moveEndCallback:()=>a(!0),moveCancelCallback:()=>c(!1)},o)):c(!1)})),i=o=>{const r=n.state,l=Xr(r.latitude),a=Xr(o.latitude),{from:c,to:u}=qs(r.longitude,o.longitude,o.rotation||yt.Loop),d=r.fov,f=o.fov;return{from:{latitude:l,longitude:c,fov:d},to:{latitude:a,longitude:u,fov:f}}};return{move:e,rotate:async(o,r,l={})=>{t.interruptCallback&&t.interruptCallback(!1),l.asyncStartCallback&&await l.asyncStartCallback(),n.currentMode!==ke.Five.Mode.Panorama&&await n.changeMode(ke.Five.Mode.Panorama),o.panoIndex!==void 0&&o.panoIndex!==n.panoIndex&&(l.preload&&await n.preloadPano(o.panoIndex),await new Promise((u,d)=>{if(!o.panoIndex){u(!0);return}n.moveToPano(o.panoIndex,{moveEndCallback:()=>u(!0),moveCancelCallback:()=>d(!1)})})),l.asyncEndCallback&&await l.asyncEndCallback();const{from:a,to:c}=i(o);return await new Promise(u=>{const d=({progress:g})=>{const b={};b.longitude=Ds(a.longitude,c.longitude,g),b.latitude=Ds(a.latitude,c.latitude,g),b.fov=Ds(a.fov,c.fov,g),n.setState(b,!0)},f=()=>{u(!0)},h=()=>{u(!1)},p=o.rotateSpeed?Math.ceil(Math.abs(c.longitude-a.longitude)/o.rotateSpeed*1e3):r,m=bp(p,Zt.Linear.None).onUpdate(d).onComplete(f).onDestroy(h);o.rotation===yt.Loop&&m.repeat(1/0).yoyo(!0),t.interruptCallback=(g=!0)=>{m.destroy(),t.interruptCallback=void 0,t.timeoutId&&(clearTimeout(t.timeoutId),t.timeoutId=void 0),u(g)},t.timeoutId=setTimeout(()=>{t.interruptCallback&&t.interruptCallback(!0)},r)})}}};function Vr(n,t){return n.x===t.x&&n.y===t.y}function yc(n,t){return Math.abs(n)===1/0&&Math.abs(t)===1/0?!0:Math.abs(n-t)<.001}function Yi(n,t){return(t.y-n.y)/(t.x-n.x)}function wc(n,t,e){const i=Yi(n[1],n[0]),s=Yi(t[1],t[0]);if(isNaN(i)||isNaN(s)||yc(i,s))return!1;if(vi(n[0],t))return n[0];if(vi(n[1],t))return n[1];if(vi(t[0],n))return t[0];if(vi(t[1],n))return t[1];if(e&&!yp(n,t))return!1;const o=n[0],r=t[0];if(Math.abs(i)===1/0)return{x:o.x,y:t[1].y-(t[1].x-o.x)*s};if(Math.abs(s)===1/0)return{x:r.x,y:n[1].y-(n[1].x-r.x)*i};const l=(r.y-o.y+i*o.x-s*r.x)/(i-s),a=i*l-i*o.x+o.y;return{x:l,y:a}}function vi(n,t){return Vr(n,t[0])||Vr(n,t[1])?!0:(t[0].x-n.x)*(n.x-t[1].x)>=0&&(t[0].y-n.y)*(n.y-t[1].y)>=0&&yc(Yi(t[0],n),Yi(n,t[1]))}function bi(n,t,e){return(n.x-e.x)*(t.y-e.y)-(t.x-e.x)*(n.y-e.y)}function yp(n,t){return Math.max(n[0].x,n[1].x)>=Math.min(t[0].x,t[1].x)&&Math.max(t[0].x,t[1].x)>=Math.min(n[0].x,n[1].x)&&Math.max(n[0].y,n[1].y)>=Math.min(t[0].y,t[1].y)&&bi(t[0],n[1],n[0])*bi(n[1],t[1],n[0])>0&&bi(n[0],t[1],t[0])*bi(t[1],n[1],t[0])>0?1:0}function Pc(n,t=0){t<=0?requestAnimationFrame(n):requestAnimationFrame(()=>Pc(n,t-1))}const wp=`<style type="text/css">
116
+ .PanoRulerPlugin-rule-line {
117
+ position: absolute;
118
+ transform-origin: left center;
119
+ width: 0;
120
+ height: 0.0625rem;
121
+ }
122
+
123
+ .PanoRulerPlugin-rule-line::after {
124
+ content: '';
125
+ position: absolute;
126
+ left: -0.125rem;
127
+ top: -0.1rem;
128
+ width: 0.25rem;
129
+ height: 0.25rem;
130
+ border-radius: 50%;
131
+ background: #FFFFFF;
132
+ z-index: 1;
133
+ animation: viewport-rule-point 0.1s 1s;
134
+ animation-fill-mode: both;
135
+ }
136
+
137
+ .PanoRulerPlugin-rule-line::before {
138
+ content: '';
139
+ position: absolute;
140
+ right: -0.125rem;
141
+ top: -0.1rem;
142
+ width: 0.25rem;
143
+ height: 0.25rem;
144
+ border-radius: 50%;
145
+ background: #FFFFFF;
146
+ animation: viewport-rule-point 0.1s 1.5s;
147
+ animation-fill-mode: both;
148
+ }
149
+
150
+ .PanoRulerPlugin-rule-line em {
151
+ background: #fff;
152
+ display: block;
153
+ height: 100%;
154
+ animation: viewport-rule-line 0.5s ease 1s;
155
+ animation-fill-mode: both;
156
+ box-shadow: 0 0 0.25rem rgb(0 0 0 / 40%);
157
+ }
158
+
159
+ .PanoRulerPlugin-rule-label {
160
+ position: absolute;
161
+ width: 0;
162
+ height: 0;
163
+ top: 0.0625rem;
164
+ }
165
+
166
+ .PanoRulerPlugin-rule-label-name {
167
+ position: absolute;
168
+ padding: 0.1875rem 0.375rem;
169
+ background: rgba(195,195,195,0.30);
170
+ backdrop-filter: blur(0.25rem);
171
+ -webkit-backdrop-filter: blur(0.25rem);
172
+ border-radius: 6.25rem;
173
+ border: 0.0625rem solid rgba(255,255,255,0.6);
174
+ white-space: nowrap;
175
+ overflow: hidden;
176
+ color: #FFFFFF;
177
+ font-weight: 500;
178
+ font-size: 0.75rem;
179
+ line-height: 1;
180
+ -webkit-animation: viewport-rule-label 0.25s ease 1s;
181
+ animation: viewport-rule-label 0.25s ease 1s;
182
+ animation-fill-mode: both;
183
+ box-shadow: inset 0 0 0.625rem 0 rgba(255,255,255,0.30);
184
+ }
185
+
186
+ @keyframes viewport-rule-line {
187
+ 0% { width: 0% }
188
+ 100% { width: 100% }
189
+ }
190
+
191
+ @keyframes viewport-rule-label {
192
+ 0% { opacity: 0; transform: scaleX(0); }
193
+ 100% { opacity: 1; transform: translate(-50%, -50%) scaleX(1); }
194
+ }
195
+
196
+ @keyframes viewport-rule-point {
197
+ 0% { transform: scaleX(0); }
198
+ 100% { transform: scaleX(1); }
199
+ }
200
+ </style>
201
+ `,Pp=(n,t)=>Math.sqrt(Math.pow(n.z-t.z,2)+Math.pow(n.x-t.x,2)),Ep=(n,t)=>{const e={},i=new X.Raycaster,s=t.work;if(!s)return e;const o=n.observers;s.observers.forEach((r,l)=>{const{standingPosition:a}=r,c=new X.Vector3(a.x,a.y,a.z);i.set(c,new X.Vector3(0,1,0));const[u]=t.model.intersectRaycaster(i),d=u?u.point.y:2.7,f=o[l];if(!f)return e;const h=n.rooms[f].name;e[h]===void 0?e[h]={__roof:[d],__floor:[c.y]}:(e[h].__roof.push(d),e[h].__floor.push(c.y))});for(const r in e){const l=e[r];l.__roof.sort(),l.__floor.sort(),l.floor=l.__floor[~~(l.__floor.length/2)],l.roof=l.__roof[l.__roof.length-1]}return e},Cp=(n,t)=>{const e={enable:!1,loaded:!1,options:t.options||{distanceText:m=>`${m.toFixed(1)}m`}},i=(m,g)=>{const b=`
202
+ <div class="PanoRulerPlugin-rule-line">
203
+ <em></em>
204
+ <div class="PanoRulerPlugin-rule-label">
205
+ <div class="PanoRulerPlugin-rule-label-name">${e.options.distanceText(g)}</div>
206
+ </div>
207
+ </div>
208
+ `,A=document.createElement("div");return A.setAttribute("class","PanoRulerPlugin-rule"),A.setAttribute("data-name",m),A.setAttribute("style","display: none"),A.innerHTML=b,A},s=document.createElement("div");s.setAttribute("style","position: absolute;pointer-events: none;width: 100%;height: 100%;left: 0;top: 0;overflow: hidden;");const o=document.createElement("div");o.innerHTML=wp,s.appendChild(o);const r={},l=(m,g)=>{if(e.loaded)throw new Error("\u6807\u5C3A\u88AB\u91CD\u590D\u521D\u59CB\u5316\uFF01");const b=Ep(m,n),A=n.work;if(!A)return!1;for(const y in g){const I=g[y],{standingPosition:k}=A.observers[0],E=I.map(({x:D,z:T,observers:B})=>{const z=B.length>0?m.rooms[m.observers[B[0]]].name:"",j=b[z]?b[z].floor:null;let Y=1/0,x={index:0,x:k.x,y:k.y,z:k.z};B.forEach(J=>{if(!A.observers[J])return;const{standingPosition:q}=A.observers[J],he={index:J,x:q.x,y:q.y,z:q.z},le=Pp({x:D,z:T},he);j?le<Y&&Math.abs(he.y-j)<.3&&(Y=le,x=he):le<Y&&(Y=le,x=he)});const O=new X.Vector3(D,x.y,T);Object.assign(O,{observers:B});const Q=b[z]?b[z].roof:null,V=Q?new X.Vector3(D,Q,T):null;return V&&Object.assign(V,{observers:B}),{origin:O,vertical:V}});r[y]={origins:E.map(D=>D.origin),rules:[]};for(const{origin:D,vertical:T}of E){if(!T)continue;const B=i(y,D.distanceTo(T));s.append(B),r[y].rules.push({vertical:!0,rule:[D,T],$element:B})}for(let D=0;D<E.length;D++){let T=D+1;T>=E.length&&(T=0);const{origin:B}=E[D],{origin:z}=E[T],j=i(y,B.distanceTo(z));s.append(j),r[y].rules.push({vertical:!1,rule:[B,z],$element:j})}}return e.loaded=!0,!0},a=async(m,g,b)=>{const A=m||t.roomInfo,y=g||t.roomRules;if(!A||!y)throw new Error("\u6807\u5C3A\u6570\u636E\u4F9D\u8D56\u4E0D\u9F50\u5168\uFF01");return e.loaded=!1,e.options={...e.options,...b||{}},n.model.loaded?l(A,y):await new Promise(I=>n.once("modelLoaded",()=>I(l(A,y))))};t.roomInfo&&t.roomRules&&a(t.roomInfo,t.roomRules);const c=(m,g,b,A)=>{const y=[[{x:0,y:0},{x:b,y:0}],[{x:0,y:0},{x:0,y:A}],[{x:b,y:0},{x:b,y:A}],[{x:0,y:A},{x:b,y:A}]],I=[];for(let k=0;k<y.length;k++){const E=wc([m,g],[y[k][0],y[k][1]],!0);E&&I.push(E)}return I.length===0?!1:I},u=()=>{var B;const m=(B=n.getElement())==null?void 0:B.parentElement;if(!m||!e.loaded||Object.keys(r).length<=0)return;const{panoIndex:g,camera:b,currentMode:A}=n;if(g===void 0)return;let y;for(const z in r)z.split(",").indexOf(g.toString())>=0&&(y=z);if(!y){for(const z in r)for(const{$element:j}of r[z].rules)j.style.display="none";return}const I=b.position,k=b.getWorldDirection(new X.Vector3),E=m.clientWidth,D=m.clientHeight;if(A!==ke.Five.Mode.Panorama){for(const z in r)for(const{$element:j}of r[z].rules)j.style.display="none";return}for(const z in r)for(const{$element:j}of r[z].rules)j.style.display=z===y?"block":"none";const[T]=r[y].origins.slice().filter(z=>z.observers.indexOf(g)>=0).sort((z,j)=>{const Y=z.clone().setY(0).sub(I).normalize().angleTo(k.clone().setY(0)),x=j.clone().setY(0).sub(I).normalize().angleTo(k.clone().setY(0));return Y-x});for(const{rule:z,vertical:j,$element:Y}of r[y].rules){const[x,O]=z,Q=Y.querySelector(".PanoRulerPlugin-rule-line");if(!Q)return;if(!T){Y.style.display="none";continue}if(x!==T&&O!==T){Y.style.display="none";continue}if(x.distanceTo(O)<.3){Y.style.display="none";continue}if(x.observers.indexOf(g)===-1||O.observers.indexOf(g)===-1){Y.style.display="none";continue}if(x.clone().sub(I).normalize().angleTo(k)>Math.PI/2){Y.style.display="none";continue}if(O.clone().sub(I).normalize().angleTo(k)>Math.PI/2){Y.style.display="none";continue}const $=x.distanceTo(O);if(O.clone().sub(O.clone().sub(x).divide(new X.Vector3(2,2,2))).distanceTo(I)/$>8){Y.style.display="none";continue}const he=x.clone().project(b),le=(he.x+1)/2*E,Ae=(-he.y+1)/2*D,xe=O.clone().project(b),De=(xe.x+1)/2*E,Ne=(-xe.y+1)/2*D,ee=Math.sqrt(Math.pow(De-le,2)+Math.pow(Ne-Ae,2));let we=ee,ye=50;const ne=c({x:~~le,y:~~Ae},{x:~~De,y:~~Ne},E,D);if(ne&&ne.length===1&&(T===x?(we=Math.sqrt(Math.pow(ne[0].x-le,2)+Math.pow(ne[0].y-Ae,2)),ye=we/ee*50):T===O&&(we=Math.sqrt(Math.pow(ne[0].x-De,2)+Math.pow(ne[0].y-Ne,2)),ye=100-we/ee*50)),ne&&ne.length===2){const et={x:(ne[0].x+ne[1].x)/2,y:(ne[0].y+ne[1].y)/2};ye=Math.sqrt(Math.pow(et.x-le,2)+Math.pow(et.y-Ae,2))/ee*100}const it=(Math.PI/2-Math.atan2(De-le,Ae-Ne))/Math.PI*180,Ee=Q.querySelector(".PanoRulerPlugin-rule-label"),$e=Ee.children[0].clientWidth;$e>=ee||$e/2>=ye/100*ee||$e/2>=(1-ye/100)*ee?Q.style.display="none":(Q.style.display="block",Q.style.width=ee+"px",Q.style.left=le+"px",Q.style.top=Ae+"px",Q.style.transform=`rotate(${-it}deg)`,Ee.style.left=`${ye}%`)}},d=()=>Pc(u),f=()=>{var m,g;return e.loaded?(e.enable||(s.setAttribute("class","PanoRulerPlugin"+(e.options.className?" "+e.options.className:"")),(g=(m=n.getElement())==null?void 0:m.parentElement)==null||g.append(s),u(),n.on("modeChange",u),n.on("cameraUpdate",d),e.enable=!0),!0):!1},h=()=>(e.enable&&(n.off("modeChange",u),n.off("cameraUpdate",d),s&&s.remove(),e.enable=!1),!0);function p(m){if(m.distanceText&&m.distanceText!==e.options.distanceText){const g=m.distanceText;e.options.distanceText=g,Object.values(r).forEach(b=>{b.rules.forEach(A=>{const[y,I]=A.rule,k=y.distanceTo(I),E=A.$element.querySelector(".PanoRulerPlugin-rule-label-name");!E||(E.innerText=g(k))})})}}return{enable:f,disable:h,load:a,state:e,changeConfigs:p}};function Ip(n){me(n,"svelte-1h27ktp",".PanoRulerPlugin-rule-line.svelte-1h27ktp.svelte-1h27ktp{position:absolute;transform-origin:left 0.0625rem;width:0;height:0.125rem;pointer-events:none}.PanoRulerPlugin-rule-line.svelte-1h27ktp.svelte-1h27ktp::after{content:'';position:absolute;left:-0.125rem;top:-0.1rem;width:0.25rem;height:0.25rem;border-radius:50%;background:#fff;z-index:1;animation:svelte-1h27ktp-viewport-rule-point 0.1s 1s;animation-fill-mode:both}.PanoRulerPlugin-rule-line.svelte-1h27ktp.svelte-1h27ktp::before{content:'';position:absolute;right:-0.125rem;top:-0.1rem;width:0.25rem;height:0.25rem;border-radius:50%;background:#fff;z-index:1;animation:svelte-1h27ktp-viewport-rule-point 0.1s 1.5s;animation-fill-mode:both}.PanoRulerPlugin-rule-line.svelte-1h27ktp em.svelte-1h27ktp{display:block;height:0.0625rem;animation:svelte-1h27ktp-viewport-rule-line 0.5s ease 1s;animation-fill-mode:both;box-shadow:0 0 0.25rem rgb(0 0 0 / 40%);position:relative}.rule-mixed-line.svelte-1h27ktp.svelte-1h27ktp{display:flex;height:0.0625rem;animation:svelte-1h27ktp-viewport-rule-line 0.5s ease 1s;animation-fill-mode:both;align-items:center}.em-solid.svelte-1h27ktp.svelte-1h27ktp{height:100%;background:#ffffff}.em-dotted.svelte-1h27ktp.svelte-1h27ktp{height:0.125rem;background:var(--background-image);background-position:center;background-repeat:repeat}.PanoRulerPlugin-rule-label.svelte-1h27ktp.svelte-1h27ktp{position:absolute;width:0;height:0;top:0.0625rem;pointer-events:none}.PanoRulerPlugin-rule-label-name.svelte-1h27ktp.svelte-1h27ktp{position:absolute;padding:0.1875rem 0.375rem;background:rgba(195, 195, 195, 0.3);backdrop-filter:blur(0.25rem);-webkit-backdrop-filter:blur(0.25rem);border-radius:6.25rem;border:0.0625rem solid rgba(255, 255, 255, 0.6);white-space:nowrap;overflow:hidden;color:#ffffff;font-weight:500;font-size:0.75rem;line-height:1;animation:svelte-1h27ktp-viewport-rule-label 0.25s ease 1s;animation-fill-mode:both;box-shadow:inset 0 0 0.625rem 0 rgba(255, 255, 255, 0.3)}@keyframes svelte-1h27ktp-viewport-rule-line{0%{width:0%}100%{width:100%}}@keyframes svelte-1h27ktp-viewport-rule-label{0%{opacity:0;transform:scaleX(0)}100%{opacity:1;transform:translate(-50%, -50%) scaleX(1)}}@keyframes svelte-1h27ktp-viewport-rule-point{0%{transform:scaleX(0)}100%{transform:scaleX(1)}}")}function Yr(n,t,e){const i=n.slice();return i[6]=t[e],i}function xp(n){let t,e=n[0].children,i=[];for(let s=0;s<e.length;s+=1)i[s]=Ur(Yr(n,e,s));return{c(){t=G("div");for(let s=0;s<i.length;s+=1)i[s].c();C(t,"class","rule-mixed-line svelte-1h27ktp")},m(s,o){F(s,t,o);for(let r=0;r<i.length;r+=1)i[r].m(t,null)},p(s,o){if(o&9){e=s[0].children;let r;for(r=0;r<e.length;r+=1){const l=Yr(s,e,r);i[r]?i[r].p(l,o):(i[r]=Ur(l),i[r].c(),i[r].m(t,null))}for(;r<i.length;r+=1)i[r].d(1);i.length=e.length}},d(s){s&&R(t),Dt(i,s)}}}function Tp(n){let t,e;return{c(){t=G("em"),C(t,"class",e=Ue(n[0].state?"em-solid":"em-dotted")+" svelte-1h27ktp"),C(t,"style",n[3])},m(i,s){F(i,t,s)},p(i,s){s&1&&e!==(e=Ue(i[0].state?"em-solid":"em-dotted")+" svelte-1h27ktp")&&C(t,"class",e),s&8&&C(t,"style",i[3])},d(i){i&&R(t)}}}function Ur(n){let t,e,i=`${n[6].width}px`;return{c(){t=G("div"),C(t,"class",e=Ue(n[6].state?"em-solid":"em-dotted")+" svelte-1h27ktp"),C(t,"style",n[3]),W(t,"width",i)},m(s,o){F(s,t,o)},p(s,o){o&1&&e!==(e=Ue(s[6].state?"em-solid":"em-dotted")+" svelte-1h27ktp")&&C(t,"class",e),o&8&&C(t,"style",s[3]),o&1&&i!==(i=`${s[6].width}px`)&&W(t,"width",i)},d(s){s&&R(t)}}}function Sp(n){let t,e,i,s,o=n[0].labelElement+"",r,l,a=`${n[0].labelOffset}%`,c=`${n[0].width}px`,u=`${n[0].left}px`,d=`${n[0].top}px`,f=`rotate(${n[0].rotateDeg}deg)`;function h(g,b){return g[0].children.length===0?Tp:xp}let p=h(n),m=p(n);return{c(){t=G("div"),m.c(),e=K(),i=G("div"),s=G("div"),r=Fe(o),C(s,"class","PanoRulerPlugin-rule-label-name svelte-1h27ktp"),Re(()=>n[4].call(s)),C(i,"class","PanoRulerPlugin-rule-label svelte-1h27ktp"),W(i,"left",a),C(t,"class","PanoRulerPlugin-rule-line svelte-1h27ktp"),W(t,"width",c),W(t,"left",u),W(t,"top",d),W(t,"transform",f),W(t,"display",n[0].visible&&n[2]?"block":"none")},m(g,b){F(g,t,b),m.m(t,null),_(t,e),_(t,i),_(i,s),_(s,r),l=$t(s,n[4].bind(s))},p(g,[b]){p===(p=h(g))&&m?m.p(g,b):(m.d(1),m=p(g),m&&(m.c(),m.m(t,e))),b&1&&o!==(o=g[0].labelElement+"")&&Ve(r,o),b&1&&a!==(a=`${g[0].labelOffset}%`)&&W(i,"left",a),b&1&&c!==(c=`${g[0].width}px`)&&W(t,"width",c),b&1&&u!==(u=`${g[0].left}px`)&&W(t,"left",u),b&1&&d!==(d=`${g[0].top}px`)&&W(t,"top",d),b&1&&f!==(f=`rotate(${g[0].rotateDeg}deg)`)&&W(t,"transform",f),b&5&&W(t,"display",g[0].visible&&g[2]?"block":"none")},i:ce,o:ce,d(g){g&&R(t),m.d(),l()}}}function kp(n,t,e){let i,{rulerItemProp:s}=t,o=!0,r,l="data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjQiIHdpZHRoPSIxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGZpbHRlciBpZD0icHJlZml4X19hIiBoZWlnaHQ9IjQwMCUiIHdpZHRoPSIxMzcuNCUiIHg9Ii0xOC43JSIgeT0iLTE1MCUiPjxmZU1vcnBob2xvZ3kgaW49IlNvdXJjZUFscGhhIiBvcGVyYXRvcj0iZGlsYXRlIiByYWRpdXM9Ii41IiByZXN1bHQ9InNoYWRvd1NwcmVhZE91dGVyMSIvPjxmZU9mZnNldCBpbj0ic2hhZG93U3ByZWFkT3V0ZXIxIiByZXN1bHQ9InNoYWRvd09mZnNldE91dGVyMSIvPjxmZU1vcnBob2xvZ3kgaW49IlNvdXJjZUFscGhhIiByYWRpdXM9IjEiIHJlc3VsdD0ic2hhZG93SW5uZXIiLz48ZmVPZmZzZXQgaW49InNoYWRvd0lubmVyIiByZXN1bHQ9InNoYWRvd0lubmVyIi8+PGZlQ29tcG9zaXRlIGluPSJzaGFkb3dPZmZzZXRPdXRlcjEiIGluMj0ic2hhZG93SW5uZXIiIG9wZXJhdG9yPSJvdXQiIHJlc3VsdD0ic2hhZG93T2Zmc2V0T3V0ZXIxIi8+PGZlR2F1c3NpYW5CbHVyIGluPSJzaGFkb3dPZmZzZXRPdXRlcjEiIHJlc3VsdD0ic2hhZG93Qmx1ck91dGVyMSIgc3RkRGV2aWF0aW9uPSIuNSIvPjxmZUNvbG9yTWF0cml4IGluPSJzaGFkb3dCbHVyT3V0ZXIxIiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAuMiAwIi8+PC9maWx0ZXI+PHBhdGggaWQ9InByZWZpeF9fYiIgZD0iTS44ODkgMkgxMS41OCIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS1kYXNoYXJyYXk9IjUgNiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48dXNlIGZpbGw9IiMwMDAiIGZpbHRlcj0idXJsKCNwcmVmaXhfX2EpIiB4bGluazpocmVmPSIjcHJlZml4X19iIi8+PHVzZSBzdHJva2U9IiNmZmYiIHN0cm9rZS1vcGFjaXR5PSIuNCIgeGxpbms6aHJlZj0iI3ByZWZpeF9fYiIvPjwvZz48L3N2Zz4=";function a(){r=this.offsetWidth,e(1,r)}return n.$$set=c=>{"rulerItemProp"in c&&e(0,s=c.rulerItemProp)},n.$$.update=()=>{n.$$.dirty&3&&(r>=s.width||r/2>=s.labelOffset/100*s.width||r/2>=(1-s.labelOffset/100)*s.width?e(2,o=!1):e(2,o=!0))},e(3,i=`--background-image: url(${l})`),[s,r,o,i,a]}class Dp extends fe{constructor(t){super(),de(this,t,kp,Sp,ue,{rulerItemProp:0},Ip)}}function Zr(n,t,e){const i=n.slice();return i[16]=t[e],i}function Jr(n){let t,e;return t=new Dp({props:{rulerItemProp:n[16]}}),{c(){re(t.$$.fragment)},m(i,s){se(t,i,s),e=!0},p(i,s){const o={};s&1&&(o.rulerItemProp=i[16]),t.$set(o)},i(i){e||(L(t.$$.fragment,i),e=!0)},o(i){H(t.$$.fragment,i),e=!1},d(i){oe(t,i)}}}function Lp(n){let t,e,i=n[0],s=[];for(let r=0;r<i.length;r+=1)s[r]=Jr(Zr(n,i,r));const o=r=>H(s[r],1,1,()=>{s[r]=null});return{c(){t=G("div");for(let r=0;r<s.length;r+=1)s[r].c()},m(r,l){F(r,t,l);for(let a=0;a<s.length;a+=1)s[a].m(t,null);e=!0},p(r,[l]){if(l&1){i=r[0];let a;for(a=0;a<i.length;a+=1){const c=Zr(r,i,a);s[a]?(s[a].p(c,l),L(s[a],1)):(s[a]=Jr(c),s[a].c(),L(s[a],1),s[a].m(t,null))}for(ve(),a=i.length;a<s.length;a+=1)o(a);be()}},i(r){if(!e){for(let l=0;l<i.length;l+=1)L(s[l]);e=!0}},o(r){s=s.filter(Boolean);for(let l=0;l<s.length;l+=1)H(s[l]);e=!1},d(r){r&&R(t),Dt(s,r)}}}function Mp(n,t,e){var i,s,o,r;let{five:l}=t,{rulerDatas:a}=t,{options:c}=t,u=[];const d=((s=(i=l.getElement())===null||i===void 0?void 0:i.parentElement)===null||s===void 0?void 0:s.clientWidth)||0,f=((r=(o=l.getElement())===null||o===void 0?void 0:o.parentElement)===null||r===void 0?void 0:r.clientHeight)||0,h=(y,I)=>{const k=[[{x:0,y:0},{x:d,y:0}],[{x:0,y:0},{x:0,y:f}],[{x:d,y:0},{x:d,y:f}],[{x:0,y:f},{x:d,y:f}]],E=[];for(let D=0;D<k.length;D++){const T=wc([y,I],[k[D][0],k[D][1]],!0);T&&E.push(T)}return E.length===0?!1:E},p=(y,I)=>{const k=y.clone().project(l.camera),E=(k.x+1)/2*d,D=(-k.y+1)/2*f,T=I.clone().project(l.camera),B=(T.x+1)/2*d,z=(-T.y+1)/2*f,j=Math.sqrt(Math.pow(B-E,2)+Math.pow(z-D,2));return{startLeft:E,startTop:D,endLeft:B,endTop:z,distance:j}},m=(y,I,k)=>{const E=l.camera.position,D=l.camera.getWorldDirection(new X.Vector3),T=y.clone().sub(E).normalize().angleTo(D),B=I.clone().sub(E).normalize().angleTo(D),z=y.distanceTo(I),Y=I.clone().sub(I.clone().sub(y).divide(new X.Vector3(2,2,2))).distanceTo(E),{startLeft:x,startTop:O,endLeft:Q,endTop:V,distance:U}=p(y,I),J=-((Math.PI/2-Math.atan2(Q-x,O-V))/Math.PI)*180;let q=!0;k||(q=!1),!Pt(y,k)&&!Pt(I,k)&&(q=!1),z<.3&&(q=!1),T>Math.PI/2&&(q=!1),B>Math.PI/2&&(q=!1),Y/z>8&&(q=!1);let he=50,le=U;const Ae=h({x:~~x,y:~~O},{x:~~Q,y:~~V});if(Ae&&Ae.length===1&&(Pt(y,k)?(le=Math.sqrt(Math.pow(Ae[0].x-x,2)+Math.pow(Ae[0].y-O,2)),he=le/U*50):Pt(I,k)&&(le=Math.sqrt(Math.pow(Ae[0].x-Q,2)+Math.pow(Ae[0].y-V,2)),he=100-le/U*50)),Ae&&Ae.length===2){const xe={x:(Ae[0].x+Ae[1].x)/2,y:(Ae[0].y+Ae[1].y)/2};he=Math.sqrt(Math.pow(xe.x-x,2)+Math.pow(xe.y-O,2))/U*100}return{startLeft:x,startTop:O,distance:U,deg:J,visible:q,labelOffset:he,ruleLength:z}},g=()=>{const y=l.panoIndex,I=a.find(j=>j.panoIndex===y);if(!I)return e(0,u=[]);if(l.currentMode!==ke.Five.Mode.Panorama)return e(0,u=[]);const k=l.camera.position,E=l.camera.getWorldDirection(new X.Vector3),D=I.lines.map(j=>new X.Vector3(j.start[0],-j.start[1],-j.start[2])),T=I.lines.map(j=>new X.Vector3(j.end[0],-j.end[1],-j.end[2])),[B]=D.concat(T).sort((j,Y)=>{const x=j.clone().setY(0).sub(k).normalize().angleTo(E.clone().setY(0)),O=Y.clone().setY(0).sub(k).normalize().angleTo(E.clone().setY(0));return x-O}),z=I.lines.map(j=>{var Y,x;const O=j.start,Q=j.end,{startLeft:V,startTop:U,distance:$,deg:J,visible:q,labelOffset:he,ruleLength:le}=m(new X.Vector3(O[0],-O[1],-O[2]),new X.Vector3(Q[0],-Q[1],-Q[2]),B),Ae=[];return j.children&&((Y=j.children)===null||Y===void 0?void 0:Y.length)>0&&((x=j.children)===null||x===void 0||x.forEach(xe=>{const De=xe.start,Ne=xe.end,{distance:ee}=p(new X.Vector3(De[0],-De[1],-De[2]),new X.Vector3(Ne[0],-Ne[1],-Ne[2]));Ae.push({width:ee,state:xe.state})})),{width:$,left:V,top:U,rotateDeg:J,state:j.state,children:Ae,labelOffset:he,visible:q,labelElement:c.distanceText(le)}});e(0,u=z)},b=()=>xo(g),A=Io(g,80);return mt(()=>{g(),l.on("panoArrived",g),l.on("modeChange",g),l.on("cameraDirectionUpdate",b),l.on("movingToPano",b),l.on("mouseWheel",()=>A()),l.on("pinchGesture",()=>A())}),en(()=>{l.off("panoArrived",g),l.off("modeChange",g),l.off("cameraDirectionUpdate",b),l.off("movingToPano",b),l.off("mouseWheel",()=>A()),l.off("pinchGesture",()=>A())}),n.$$set=y=>{"five"in y&&e(1,l=y.five),"rulerDatas"in y&&e(2,a=y.rulerDatas),"options"in y&&e(3,c=y.options)},[u,l,a,c]}class zp extends fe{constructor(t){super(),de(this,t,Mp,Lp,ue,{five:1,rulerDatas:2,options:3})}}class Op{constructor(t,e){v(this,"five");v(this,"container",document.createElement("div"));v(this,"panoRulerProData");v(this,"rulerItems");v(this,"state",{enabled:!1,loaded:!1,options:{className:"",distanceText:t=>`${t.toFixed(1)}m`}});var i,s;this.five=t,this.container.classList.add("panoRulerProPlugin-container"),this.container.setAttribute("style","position: absolute;pointer-events: none;width: 100%;height: 100%;left: 0;top: 0;overflow: hidden;"),e&&(e.data&&this.load(e.data),this.state.options={...this.state.options,...e.options||{}},(i=e.options)!=null&&i.className&&this.container.classList.add((s=e.options)==null?void 0:s.className)),this.five.once("modelLoaded",async()=>{var o,r;(r=(o=this.five.getElement())==null?void 0:o.parentNode)==null||r.append(this.container)}),this.five.once("dispose",()=>this.dispose())}async load(t){if(!this.five.work)return;const e=t.data;if(!e)throw new Error("\u6807\u5C3A\u6570\u636E\u4F9D\u8D56\u4E0D\u9F50\u5168\uFF01");this.panoRulerProData=e,this.state.loaded=!0}enable(){return this.state.loaded?(this.state.enabled||(this.state.enabled=!0,this.render()),!0):!1}disable(){return this.state.enabled&&(this.state.enabled=!1,this.render()),!0}async render(){var t;if(this.state.enabled){if(!this.panoRulerProData||!this.container)return;this.rulerItems=new zp({target:this.container,props:{five:this.five,rulerDatas:this.panoRulerProData,options:this.state.options}})}else(t=this.rulerItems)==null||t.$destroy(),this.rulerItems=void 0}dispose(){this.container&&(this.rulerItems.$destroy(),this.rulerItems=void 0),this.container.remove()}}const jp=(n,t)=>new Op(n,t),Bp="data:image/png;base64,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";function Rp(){const n=document.createElement("div"),t=document.createElement("i"),e=document.createElement("span");return n.appendChild(t),n.appendChild(e),n.style.position="relative",n.style.width="100%",n.style.display="flex",n.style.flexDirection="column",n.style.alignItems="center",n.style.marginTop=`${150/16}rem`,n.style.opacity="0",n.style.transition="opacity 1000ms linear",t.style.display="block",t.style.width=`${134/16}rem`,t.style.height=`${22/16}rem`,t.style.backgroundSize="100%",t.style.backgroundRepeat="no-repeat",t.style.backgroundImage=`url(${Bp})`,e.style.marginTop=`${10/16}rem`,e.style.fontSize=`${16/16}rem`,e.style.color="#fff",e.style.opacity="0.7",e.style.textShadow="0 2px 16px rgb(22 34 83 / 24%)",e.style.fontWeight="bold",{appendTo(i){i.appendChild(n)},dispose(){n.remove()},setRoom(i){e.innerHTML=i.name+" "+Math.floor(i.size/1e6)+"\u33A1"},show(){n.style.opacity="1"},hide(){n.style.opacity="0"}}}const Hp=new M.TextureLoader;async function qr(n){return new Promise((t,e)=>{Hp.load(n,t,void 0,e)}).then(t=>(t.encoding=M.sRGBEncoding,t))}class Fp extends Yn.Tween{constructor(){super(...arguments);v(this,"disposeMethods",[]);v(this,"animationFrameDisposer");v(this,"onDispose",e=>(this.disposeMethods.push(e),this));v(this,"play",()=>(this.start(0),this.animationFrameDisposer=To(e=>this.update(e)),this));v(this,"dispose",()=>{var e;this.stop(),(e=this.animationFrameDisposer)==null||e.call(this),this.disposeMethods.forEach(i=>i()),this.disposeMethods=[],Yn.remove(this)})}}function Np(n,t=Yn.Easing.Linear.None){const e=new Fp({progress:0}).to({progress:1});return n!==void 0&&e.duration(n),t!==void 0&&e.easing(t),e}const Ai={userAction:!0};class Gp extends bn{constructor(e,i){super(e);v(this,"state",{visible:!0,enabled:!0,config:{compassImageUrl:"//vrlab-image4.ljcdn.com/release/web/v3/north-point-circle.96498e69.png",entryDoorImageUrl:"//vrlab-image4.ljcdn.com/release/web/enterDoor.831b8208.png"}});v(this,"data");v(this,"group",new M.Group);v(this,"roomInfoInstance");v(this,"roomInfoWrapperInstance");v(this,"compassMeshTween");v(this,"compassMesh");v(this,"entryDoorMesh");v(this,"dispose",()=>{var e,i,s,o;this.five.scene.remove(this.group),this.group.remove(...this.group.children),(i=(e=this.compassMesh)==null?void 0:e.material.map)==null||i.dispose(),(o=(s=this.entryDoorMesh)==null?void 0:s.material.map)==null||o.dispose(),this.five.off("dispose",this.dispose),this.five.off("panoArrived",this.onFivePanoArrived),this.five.off("panoWillArrive",this.onFivePanoWillArrive),this.five.off("cameraDirectionUpdate",this.onFiveCameraDirectionUpdate)});v(this,"_addEventListener",()=>{this.five.on("panoArrived",this.onFivePanoArrived),this.five.on("panoWillArrive",this.onFivePanoWillArrive),this.five.on("modeChange",this.onFiveModeChange),this.five.on("cameraDirectionUpdate",this.onFiveCameraDirectionUpdate)});v(this,"_removeEventListener",()=>{this.five.off("panoArrived",this.onFivePanoArrived),this.five.off("panoWillArrive",this.onFivePanoWillArrive),this.five.off("modeChange",this.onFiveModeChange),this.five.off("cameraDirectionUpdate",this.onFiveCameraDirectionUpdate)});v(this,"_enable",()=>{this.five.scene.add(this.group),this.init(),this.onFivePanoArrived(this.five.panoIndex||0),this._addEventListener()});v(this,"_disable",()=>{this._clearCompassIfNeed(),this._clearEntryDoorIfNeed(),this.five.scene.remove(this.group),this._removeEventListener()});v(this,"_toggleVisible",()=>{this.group.visible=this.state.visible,this.five.needsRender=!0});v(this,"_clearCompassIfNeed",()=>{var e;this.compassMesh&&(this.group.remove(this.compassMesh),(e=this.compassMesh.material.map)==null||e.dispose(),this.compassMesh=null)});v(this,"_clearEntryDoorIfNeed",()=>{var e;this.entryDoorMesh&&(this.group.remove(this.entryDoorMesh),(e=this.entryDoorMesh.material.map)==null||e.dispose(),this.entryDoorMesh=null),this.roomInfoInstance&&(this.roomInfoInstance.dispose(),this.roomInfoInstance=null),this.roomInfoWrapperInstance&&(this.roomInfoWrapperInstance.dispose(),this.roomInfoWrapperInstance=null)});v(this,"onFivePanoWillArrive",e=>{var i,s;e!==this.five.panoIndex&&((i=this.compassMeshTween)==null||i.dispose(),(s=this.compassMesh)==null||s.material.setValues({opacity:0}))});v(this,"onFivePanoArrived",e=>{var s,o,r,l,a,c,u;const i=(r=(o=(s=this.five.work)==null?void 0:s.observers)==null?void 0:o[e])==null?void 0:r.standingPosition;if(this.compassMesh&&(this.compassMesh.position.copy(i.clone().setY(i.y+.01)),this.compassMesh.material.opacity===0&&((l=this.compassMeshTween)==null||l.dispose(),this.compassMeshTween=Np(1e3).onUpdate(({progress:d})=>{var f;(f=this.compassMesh)==null||f.material.setValues({opacity:d}),this.five.needsRender=!0}).play())),this.entryDoorMesh){const f=new M.Vector3(this.data.entrance.position.x,this.data.entrance.position.y,this.data.entrance.position.z).clone().setY(i.y).sub(i).normalize(),h=i.clone().add(f.clone().multiplyScalar(.7)).setY(i.y+.01);this.entryDoorMesh.rotation.z=new M.Vector3(0,0,-1).angleTo(f),this.entryDoorMesh.position.copy(h),((a=this.data)==null?void 0:a.room_observers[e].room.type)===1?(c=this.entryDoorMesh)==null||c.material.setValues({opacity:1}):(u=this.entryDoorMesh)==null||u.material.setValues({opacity:0})}this.roomInfoInstance&&this.roomInfoWrapperInstance&&(this.roomInfoWrapperInstance.css3DObject.position.copy(i.clone().setY(i.y+.01)),this.roomInfoInstance.setRoom(this.data.room_observers[e].room)),this.five.needsRender=!0});v(this,"onFiveCameraDirectionUpdate",({longitude:e,latitude:i})=>{var s,o;!this.roomInfoWrapperInstance||(this.roomInfoWrapperInstance.css3DObject.rotation.z=e,i>.66&&this.five.getCurrentState().mode==="Panorama"?(s=this.roomInfoInstance)==null||s.show():(o=this.roomInfoInstance)==null||o.hide())});v(this,"onFiveModeChange",(e,i,s,o,r)=>{e!==i&&this.setState({visible:e===ke.Five.Mode.Panorama},{userAction:r})});this.five.scene.add(this.group),this.five.once("dispose",this.dispose),this.setState({visible:!0,enabled:!0,config:{...this.state.config,...i||{}}})}enable(e=Ai){this.setState({enabled:!0},e)}disable(e=Ai){this.setState({enabled:!1},e)}show(e=Ai){if(!!this.state.enabled)return this.setState({visible:!0},e),Promise.resolve()}hide(e=Ai){if(!!this.state.enabled)return this.setState({visible:!1},e),Promise.resolve()}setState(e,i={userAction:!0}){var o,r;const s=JSON.parse(JSON.stringify(this.state));this.state={visible:(o=e.visible)!=null?o:s.visible,enabled:(r=e.enabled)!=null?r:s.enabled,config:{...s.config,...e.config||{}}},this.hooks.emit("stateChange",{state:this.state,prevState:s,userAction:i.userAction}),e.enabled===!0&&(this._enable(),this.hooks.emit("enable",i)),e.enabled===!1&&(this._disable(),this.hooks.emit("disable",i)),e.visible===!1&&(this._toggleVisible(),this.hooks.emit("hide",i)),e.visible===!0&&(this._toggleVisible(),this.hooks.emit("show",i)),e.config&&this.init()}async load(e,i,s=!0){const o=await this.formatData(e);JSON.stringify(this.data)!==JSON.stringify(o)&&(this.hooks.emit("dataChange",o,this.data),this.data={...o},this.init(),i&&this.setState(i,{userAction:s}),this.hooks.emit("dataLoaded",this.data))}formatData(e){return e.version&&e.data?Promise.resolve(e.data):Promise.resolve(e)}async init(){var s,o,r,l;const e=(o=(s=this.data)==null?void 0:s.north_rad)!=null?o:null;this._clearCompassIfNeed(),e!==null&&(this.compassMesh=await this.loadCompassMesh(),this.compassMesh.rotateX(-Math.PI/2),this.compassMesh.rotateZ(e-Math.PI/2),this.group.add(this.compassMesh));const i=(l=(r=this.data)==null?void 0:r.entrance)!=null?l:null;this._clearEntryDoorIfNeed(),i!==null&&(this.entryDoorMesh=await this.loadEntryDoorMesh(),this.roomInfoWrapperInstance=this.loadRoomInfo(),this.roomInfoInstance=Rp(),this.entryDoorMesh.rotateX(-Math.PI/2),this.roomInfoWrapperInstance&&this.roomInfoInstance.appendTo(this.roomInfoWrapperInstance.container),this.group.add(this.entryDoorMesh)),this.onFivePanoArrived(this.five.panoIndex||0),this.five.needsRender=!0}async loadCompassMesh(){const e=this.state.config.compassImageUrl,i=await qr(e),s=new M.CircleGeometry(.7,32),o=new M.MeshBasicMaterial({map:i,transparent:!0,opacity:0,depthTest:!1}),r=new M.Mesh(s,o);return r.name="pano-compass-mesh",r}async loadEntryDoorMesh(){const e=this.state.config.entryDoorImageUrl,i=await qr(e),s=new M.PlaneGeometry(.2,.16),o=new M.MeshBasicMaterial({map:i,transparent:!0,opacity:.8,depthTest:!1}),r=new M.Mesh(s,o);return r.name="pano-compass-entry-door",r}loadRoomInfo(){const e=[new M.Vector3(-.7,0,-.7),new M.Vector3(.7,0,-.7),new M.Vector3(.7,0,.7),new M.Vector3(-.7,0,.7)];return Kn(this.five).create3DDomContainer(e)}}const _p=(n,t)=>new Gp(n,t);var Ec={exports:{}};/*! Hammer.JS - v2.0.7 - 2016-04-22
209
+ * http://hammerjs.github.io/
210
+ *
211
+ * Copyright (c) 2016 Jorik Tangelder;
212
+ * Licensed under the MIT license */(function(n){(function(t,e,i,s){var o=["","webkit","Moz","MS","ms","o"],r=e.createElement("div"),l="function",a=Math.round,c=Math.abs,u=Date.now;function d(w,P,S){return setTimeout(y(w,S),P)}function f(w,P,S){return Array.isArray(w)?(h(w,S[P],S),!0):!1}function h(w,P,S){var N;if(!!w)if(w.forEach)w.forEach(P,S);else if(w.length!==s)for(N=0;N<w.length;)P.call(S,w[N],N,w),N++;else for(N in w)w.hasOwnProperty(N)&&P.call(S,w[N],N,w)}function p(w,P,S){var N="DEPRECATED METHOD: "+P+`
213
+ `+S+` AT
214
+ `;return function(){var Z=new Error("get-stack-trace"),te=Z&&Z.stack?Z.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",Pe=t.console&&(t.console.warn||t.console.log);return Pe&&Pe.call(t.console,N,te),w.apply(this,arguments)}}var m;typeof Object.assign!="function"?m=function(P){if(P===s||P===null)throw new TypeError("Cannot convert undefined or null to object");for(var S=Object(P),N=1;N<arguments.length;N++){var Z=arguments[N];if(Z!==s&&Z!==null)for(var te in Z)Z.hasOwnProperty(te)&&(S[te]=Z[te])}return S}:m=Object.assign;var g=p(function(P,S,N){for(var Z=Object.keys(S),te=0;te<Z.length;)(!N||N&&P[Z[te]]===s)&&(P[Z[te]]=S[Z[te]]),te++;return P},"extend","Use `assign`."),b=p(function(P,S){return g(P,S,!0)},"merge","Use `assign`.");function A(w,P,S){var N=P.prototype,Z;Z=w.prototype=Object.create(N),Z.constructor=w,Z._super=N,S&&m(Z,S)}function y(w,P){return function(){return w.apply(P,arguments)}}function I(w,P){return typeof w==l?w.apply(P&&P[0]||s,P):w}function k(w,P){return w===s?P:w}function E(w,P,S){h(z(P),function(N){w.addEventListener(N,S,!1)})}function D(w,P,S){h(z(P),function(N){w.removeEventListener(N,S,!1)})}function T(w,P){for(;w;){if(w==P)return!0;w=w.parentNode}return!1}function B(w,P){return w.indexOf(P)>-1}function z(w){return w.trim().split(/\s+/g)}function j(w,P,S){if(w.indexOf&&!S)return w.indexOf(P);for(var N=0;N<w.length;){if(S&&w[N][S]==P||!S&&w[N]===P)return N;N++}return-1}function Y(w){return Array.prototype.slice.call(w,0)}function x(w,P,S){for(var N=[],Z=[],te=0;te<w.length;){var Pe=P?w[te][P]:w[te];j(Z,Pe)<0&&N.push(w[te]),Z[te]=Pe,te++}return S&&(P?N=N.sort(function(We,Je){return We[P]>Je[P]}):N=N.sort()),N}function O(w,P){for(var S,N,Z=P[0].toUpperCase()+P.slice(1),te=0;te<o.length;){if(S=o[te],N=S?S+Z:P,N in w)return N;te++}return s}var Q=1;function V(){return Q++}function U(w){var P=w.ownerDocument||w;return P.defaultView||P.parentWindow||t}var $=/mobile|tablet|ip(ad|hone|od)|android/i,J="ontouchstart"in t,q=O(t,"PointerEvent")!==s,he=J&&$.test(navigator.userAgent),le="touch",Ae="pen",xe="mouse",De="kinect",Ne=25,ee=1,we=2,ye=4,ne=8,Ke=1,it=2,Ee=4,$e=8,et=16,Se=it|Ee,ze=$e|et,st=Se|ze,_t=["x","y"],dt=["clientX","clientY"];function Be(w,P){var S=this;this.manager=w,this.callback=P,this.element=w.element,this.target=w.options.inputTarget,this.domHandler=function(N){I(w.options.enable,[w])&&S.handler(N)},this.init()}Be.prototype={handler:function(){},init:function(){this.evEl&&E(this.element,this.evEl,this.domHandler),this.evTarget&&E(this.target,this.evTarget,this.domHandler),this.evWin&&E(U(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&D(this.element,this.evEl,this.domHandler),this.evTarget&&D(this.target,this.evTarget,this.domHandler),this.evWin&&D(U(this.element),this.evWin,this.domHandler)}};function Le(w){var P,S=w.options.inputClass;return S?P=S:q?P=gs:he?P=si:J?P=vs:P=ii,new P(w,He)}function He(w,P,S){var N=S.pointers.length,Z=S.changedPointers.length,te=P&ee&&N-Z===0,Pe=P&(ye|ne)&&N-Z===0;S.isFirst=!!te,S.isFinal=!!Pe,te&&(w.session={}),S.eventType=P,Lt(w,S),w.emit("hammer.input",S),w.recognize(S),w.session.prevInput=S}function Lt(w,P){var S=w.session,N=P.pointers,Z=N.length;S.firstInput||(S.firstInput=zn(P)),Z>1&&!S.firstMultiple?S.firstMultiple=zn(P):Z===1&&(S.firstMultiple=!1);var te=S.firstInput,Pe=S.firstMultiple,Ge=Pe?Pe.center:te.center,We=P.center=ei(N);P.timeStamp=u(),P.deltaTime=P.timeStamp-te.timeStamp,P.angle=On(Ge,We),P.distance=yn(Ge,We),An(S,P),P.offsetDirection=ni(P.deltaX,P.deltaY);var Je=ti(P.deltaTime,P.deltaX,P.deltaY);P.overallVelocityX=Je.x,P.overallVelocityY=Je.y,P.overallVelocity=c(Je.x)>c(Je.y)?Je.x:Je.y,P.scale=Pe?Iu(Pe.pointers,N):1,P.rotation=Pe?Cu(Pe.pointers,N):0,P.maxPointers=S.prevInput?P.pointers.length>S.prevInput.maxPointers?P.pointers.length:S.prevInput.maxPointers:P.pointers.length,ms(S,P);var At=w.element;T(P.srcEvent.target,At)&&(At=P.srcEvent.target),P.target=At}function An(w,P){var S=P.center,N=w.offsetDelta||{},Z=w.prevDelta||{},te=w.prevInput||{};(P.eventType===ee||te.eventType===ye)&&(Z=w.prevDelta={x:te.deltaX||0,y:te.deltaY||0},N=w.offsetDelta={x:S.x,y:S.y}),P.deltaX=Z.x+(S.x-N.x),P.deltaY=Z.y+(S.y-N.y)}function ms(w,P){var S=w.lastInterval||P,N=P.timeStamp-S.timeStamp,Z,te,Pe,Ge;if(P.eventType!=ne&&(N>Ne||S.velocity===s)){var We=P.deltaX-S.deltaX,Je=P.deltaY-S.deltaY,At=ti(N,We,Je);te=At.x,Pe=At.y,Z=c(At.x)>c(At.y)?At.x:At.y,Ge=ni(We,Je),w.lastInterval=P}else Z=S.velocity,te=S.velocityX,Pe=S.velocityY,Ge=S.direction;P.velocity=Z,P.velocityX=te,P.velocityY=Pe,P.direction=Ge}function zn(w){for(var P=[],S=0;S<w.pointers.length;)P[S]={clientX:a(w.pointers[S].clientX),clientY:a(w.pointers[S].clientY)},S++;return{timeStamp:u(),pointers:P,center:ei(P),deltaX:w.deltaX,deltaY:w.deltaY}}function ei(w){var P=w.length;if(P===1)return{x:a(w[0].clientX),y:a(w[0].clientY)};for(var S=0,N=0,Z=0;Z<P;)S+=w[Z].clientX,N+=w[Z].clientY,Z++;return{x:a(S/P),y:a(N/P)}}function ti(w,P,S){return{x:P/w||0,y:S/w||0}}function ni(w,P){return w===P?Ke:c(w)>=c(P)?w<0?it:Ee:P<0?$e:et}function yn(w,P,S){S||(S=_t);var N=P[S[0]]-w[S[0]],Z=P[S[1]]-w[S[1]];return Math.sqrt(N*N+Z*Z)}function On(w,P,S){S||(S=_t);var N=P[S[0]]-w[S[0]],Z=P[S[1]]-w[S[1]];return Math.atan2(Z,N)*180/Math.PI}function Cu(w,P){return On(P[1],P[0],dt)+On(w[1],w[0],dt)}function Iu(w,P){return yn(P[0],P[1],dt)/yn(w[0],w[1],dt)}var xu={mousedown:ee,mousemove:we,mouseup:ye},Tu="mousedown",Su="mousemove mouseup";function ii(){this.evEl=Tu,this.evWin=Su,this.pressed=!1,Be.apply(this,arguments)}A(ii,Be,{handler:function(P){var S=xu[P.type];S&ee&&P.button===0&&(this.pressed=!0),S&we&&P.which!==1&&(S=ye),this.pressed&&(S&ye&&(this.pressed=!1),this.callback(this.manager,S,{pointers:[P],changedPointers:[P],pointerType:xe,srcEvent:P}))}});var ku={pointerdown:ee,pointermove:we,pointerup:ye,pointercancel:ne,pointerout:ne},Du={2:le,3:Ae,4:xe,5:De},Yo="pointerdown",Uo="pointermove pointerup pointercancel";t.MSPointerEvent&&!t.PointerEvent&&(Yo="MSPointerDown",Uo="MSPointerMove MSPointerUp MSPointerCancel");function gs(){this.evEl=Yo,this.evWin=Uo,Be.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}A(gs,Be,{handler:function(P){var S=this.store,N=!1,Z=P.type.toLowerCase().replace("ms",""),te=ku[Z],Pe=Du[P.pointerType]||P.pointerType,Ge=Pe==le,We=j(S,P.pointerId,"pointerId");te&ee&&(P.button===0||Ge)?We<0&&(S.push(P),We=S.length-1):te&(ye|ne)&&(N=!0),!(We<0)&&(S[We]=P,this.callback(this.manager,te,{pointers:S,changedPointers:[P],pointerType:Pe,srcEvent:P}),N&&S.splice(We,1))}});var Lu={touchstart:ee,touchmove:we,touchend:ye,touchcancel:ne},Mu="touchstart",zu="touchstart touchmove touchend touchcancel";function Zo(){this.evTarget=Mu,this.evWin=zu,this.started=!1,Be.apply(this,arguments)}A(Zo,Be,{handler:function(P){var S=Lu[P.type];if(S===ee&&(this.started=!0),!!this.started){var N=Ou.call(this,P,S);S&(ye|ne)&&N[0].length-N[1].length===0&&(this.started=!1),this.callback(this.manager,S,{pointers:N[0],changedPointers:N[1],pointerType:le,srcEvent:P})}}});function Ou(w,P){var S=Y(w.touches),N=Y(w.changedTouches);return P&(ye|ne)&&(S=x(S.concat(N),"identifier",!0)),[S,N]}var ju={touchstart:ee,touchmove:we,touchend:ye,touchcancel:ne},Bu="touchstart touchmove touchend touchcancel";function si(){this.evTarget=Bu,this.targetIds={},Be.apply(this,arguments)}A(si,Be,{handler:function(P){var S=ju[P.type],N=Ru.call(this,P,S);!N||this.callback(this.manager,S,{pointers:N[0],changedPointers:N[1],pointerType:le,srcEvent:P})}});function Ru(w,P){var S=Y(w.touches),N=this.targetIds;if(P&(ee|we)&&S.length===1)return N[S[0].identifier]=!0,[S,S];var Z,te,Pe=Y(w.changedTouches),Ge=[],We=this.target;if(te=S.filter(function(Je){return T(Je.target,We)}),P===ee)for(Z=0;Z<te.length;)N[te[Z].identifier]=!0,Z++;for(Z=0;Z<Pe.length;)N[Pe[Z].identifier]&&Ge.push(Pe[Z]),P&(ye|ne)&&delete N[Pe[Z].identifier],Z++;if(!!Ge.length)return[x(te.concat(Ge),"identifier",!0),Ge]}var Hu=2500,Jo=25;function vs(){Be.apply(this,arguments);var w=y(this.handler,this);this.touch=new si(this.manager,w),this.mouse=new ii(this.manager,w),this.primaryTouch=null,this.lastTouches=[]}A(vs,Be,{handler:function(P,S,N){var Z=N.pointerType==le,te=N.pointerType==xe;if(!(te&&N.sourceCapabilities&&N.sourceCapabilities.firesTouchEvents)){if(Z)Fu.call(this,S,N);else if(te&&Nu.call(this,N))return;this.callback(P,S,N)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});function Fu(w,P){w&ee?(this.primaryTouch=P.changedPointers[0].identifier,qo.call(this,P)):w&(ye|ne)&&qo.call(this,P)}function qo(w){var P=w.changedPointers[0];if(P.identifier===this.primaryTouch){var S={x:P.clientX,y:P.clientY};this.lastTouches.push(S);var N=this.lastTouches,Z=function(){var te=N.indexOf(S);te>-1&&N.splice(te,1)};setTimeout(Z,Hu)}}function Nu(w){for(var P=w.srcEvent.clientX,S=w.srcEvent.clientY,N=0;N<this.lastTouches.length;N++){var Z=this.lastTouches[N],te=Math.abs(P-Z.x),Pe=Math.abs(S-Z.y);if(te<=Jo&&Pe<=Jo)return!0}return!1}var Ko=O(r.style,"touchAction"),$o=Ko!==s,er="compute",tr="auto",bs="manipulation",tn="none",jn="pan-x",Bn="pan-y",oi=_u();function As(w,P){this.manager=w,this.set(P)}As.prototype={set:function(w){w==er&&(w=this.compute()),$o&&this.manager.element.style&&oi[w]&&(this.manager.element.style[Ko]=w),this.actions=w.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var w=[];return h(this.manager.recognizers,function(P){I(P.options.enable,[P])&&(w=w.concat(P.getTouchAction()))}),Gu(w.join(" "))},preventDefaults:function(w){var P=w.srcEvent,S=w.offsetDirection;if(this.manager.session.prevented){P.preventDefault();return}var N=this.actions,Z=B(N,tn)&&!oi[tn],te=B(N,Bn)&&!oi[Bn],Pe=B(N,jn)&&!oi[jn];if(Z){var Ge=w.pointers.length===1,We=w.distance<2,Je=w.deltaTime<250;if(Ge&&We&&Je)return}if(!(Pe&&te)&&(Z||te&&S&Se||Pe&&S&ze))return this.preventSrc(P)},preventSrc:function(w){this.manager.session.prevented=!0,w.preventDefault()}};function Gu(w){if(B(w,tn))return tn;var P=B(w,jn),S=B(w,Bn);return P&&S?tn:P||S?P?jn:Bn:B(w,bs)?bs:tr}function _u(){if(!$o)return!1;var w={},P=t.CSS&&t.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach(function(S){w[S]=P?t.CSS.supports("touch-action",S):!0}),w}var ri=1,lt=2,wn=4,Qt=8,Mt=Qt,Rn=16,bt=32;function zt(w){this.options=m({},this.defaults,w||{}),this.id=V(),this.manager=null,this.options.enable=k(this.options.enable,!0),this.state=ri,this.simultaneous={},this.requireFail=[]}zt.prototype={defaults:{},set:function(w){return m(this.options,w),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(w){if(f(w,"recognizeWith",this))return this;var P=this.simultaneous;return w=ai(w,this),P[w.id]||(P[w.id]=w,w.recognizeWith(this)),this},dropRecognizeWith:function(w){return f(w,"dropRecognizeWith",this)?this:(w=ai(w,this),delete this.simultaneous[w.id],this)},requireFailure:function(w){if(f(w,"requireFailure",this))return this;var P=this.requireFail;return w=ai(w,this),j(P,w)===-1&&(P.push(w),w.requireFailure(this)),this},dropRequireFailure:function(w){if(f(w,"dropRequireFailure",this))return this;w=ai(w,this);var P=j(this.requireFail,w);return P>-1&&this.requireFail.splice(P,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(w){return!!this.simultaneous[w.id]},emit:function(w){var P=this,S=this.state;function N(Z){P.manager.emit(Z,w)}S<Qt&&N(P.options.event+nr(S)),N(P.options.event),w.additionalEvent&&N(w.additionalEvent),S>=Qt&&N(P.options.event+nr(S))},tryEmit:function(w){if(this.canEmit())return this.emit(w);this.state=bt},canEmit:function(){for(var w=0;w<this.requireFail.length;){if(!(this.requireFail[w].state&(bt|ri)))return!1;w++}return!0},recognize:function(w){var P=m({},w);if(!I(this.options.enable,[this,P])){this.reset(),this.state=bt;return}this.state&(Mt|Rn|bt)&&(this.state=ri),this.state=this.process(P),this.state&(lt|wn|Qt|Rn)&&this.tryEmit(P)},process:function(w){},getTouchAction:function(){},reset:function(){}};function nr(w){return w&Rn?"cancel":w&Qt?"end":w&wn?"move":w&lt?"start":""}function ir(w){return w==et?"down":w==$e?"up":w==it?"left":w==Ee?"right":""}function ai(w,P){var S=P.manager;return S?S.get(w):w}function ft(){zt.apply(this,arguments)}A(ft,zt,{defaults:{pointers:1},attrTest:function(w){var P=this.options.pointers;return P===0||w.pointers.length===P},process:function(w){var P=this.state,S=w.eventType,N=P&(lt|wn),Z=this.attrTest(w);return N&&(S&ne||!Z)?P|Rn:N||Z?S&ye?P|Qt:P&lt?P|wn:lt:bt}});function li(){ft.apply(this,arguments),this.pX=null,this.pY=null}A(li,ft,{defaults:{event:"pan",threshold:10,pointers:1,direction:st},getTouchAction:function(){var w=this.options.direction,P=[];return w&Se&&P.push(Bn),w&ze&&P.push(jn),P},directionTest:function(w){var P=this.options,S=!0,N=w.distance,Z=w.direction,te=w.deltaX,Pe=w.deltaY;return Z&P.direction||(P.direction&Se?(Z=te===0?Ke:te<0?it:Ee,S=te!=this.pX,N=Math.abs(w.deltaX)):(Z=Pe===0?Ke:Pe<0?$e:et,S=Pe!=this.pY,N=Math.abs(w.deltaY))),w.direction=Z,S&&N>P.threshold&&Z&P.direction},attrTest:function(w){return ft.prototype.attrTest.call(this,w)&&(this.state&lt||!(this.state&lt)&&this.directionTest(w))},emit:function(w){this.pX=w.deltaX,this.pY=w.deltaY;var P=ir(w.direction);P&&(w.additionalEvent=this.options.event+P),this._super.emit.call(this,w)}});function ys(){ft.apply(this,arguments)}A(ys,ft,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[tn]},attrTest:function(w){return this._super.attrTest.call(this,w)&&(Math.abs(w.scale-1)>this.options.threshold||this.state&lt)},emit:function(w){if(w.scale!==1){var P=w.scale<1?"in":"out";w.additionalEvent=this.options.event+P}this._super.emit.call(this,w)}});function ws(){zt.apply(this,arguments),this._timer=null,this._input=null}A(ws,zt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[tr]},process:function(w){var P=this.options,S=w.pointers.length===P.pointers,N=w.distance<P.threshold,Z=w.deltaTime>P.time;if(this._input=w,!N||!S||w.eventType&(ye|ne)&&!Z)this.reset();else if(w.eventType&ee)this.reset(),this._timer=d(function(){this.state=Mt,this.tryEmit()},P.time,this);else if(w.eventType&ye)return Mt;return bt},reset:function(){clearTimeout(this._timer)},emit:function(w){this.state===Mt&&(w&&w.eventType&ye?this.manager.emit(this.options.event+"up",w):(this._input.timeStamp=u(),this.manager.emit(this.options.event,this._input)))}});function Ps(){ft.apply(this,arguments)}A(Ps,ft,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[tn]},attrTest:function(w){return this._super.attrTest.call(this,w)&&(Math.abs(w.rotation)>this.options.threshold||this.state&lt)}});function Es(){ft.apply(this,arguments)}A(Es,ft,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Se|ze,pointers:1},getTouchAction:function(){return li.prototype.getTouchAction.call(this)},attrTest:function(w){var P=this.options.direction,S;return P&(Se|ze)?S=w.overallVelocity:P&Se?S=w.overallVelocityX:P&ze&&(S=w.overallVelocityY),this._super.attrTest.call(this,w)&&P&w.offsetDirection&&w.distance>this.options.threshold&&w.maxPointers==this.options.pointers&&c(S)>this.options.velocity&&w.eventType&ye},emit:function(w){var P=ir(w.offsetDirection);P&&this.manager.emit(this.options.event+P,w),this.manager.emit(this.options.event,w)}});function ci(){zt.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}A(ci,zt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[bs]},process:function(w){var P=this.options,S=w.pointers.length===P.pointers,N=w.distance<P.threshold,Z=w.deltaTime<P.time;if(this.reset(),w.eventType&ee&&this.count===0)return this.failTimeout();if(N&&Z&&S){if(w.eventType!=ye)return this.failTimeout();var te=this.pTime?w.timeStamp-this.pTime<P.interval:!0,Pe=!this.pCenter||yn(this.pCenter,w.center)<P.posThreshold;this.pTime=w.timeStamp,this.pCenter=w.center,!Pe||!te?this.count=1:this.count+=1,this._input=w;var Ge=this.count%P.taps;if(Ge===0)return this.hasRequireFailures()?(this._timer=d(function(){this.state=Mt,this.tryEmit()},P.interval,this),lt):Mt}return bt},failTimeout:function(){return this._timer=d(function(){this.state=bt},this.options.interval,this),bt},reset:function(){clearTimeout(this._timer)},emit:function(){this.state==Mt&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}});function Ot(w,P){return P=P||{},P.recognizers=k(P.recognizers,Ot.defaults.preset),new Cs(w,P)}Ot.VERSION="2.0.7",Ot.defaults={domEvents:!1,touchAction:er,enable:!0,inputTarget:null,inputClass:null,preset:[[Ps,{enable:!1}],[ys,{enable:!1},["rotate"]],[Es,{direction:Se}],[li,{direction:Se},["swipe"]],[ci],[ci,{event:"doubletap",taps:2},["tap"]],[ws]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};var Qu=1,sr=2;function Cs(w,P){this.options=m({},Ot.defaults,P||{}),this.options.inputTarget=this.options.inputTarget||w,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=w,this.input=Le(this),this.touchAction=new As(this,this.options.touchAction),or(this,!0),h(this.options.recognizers,function(S){var N=this.add(new S[0](S[1]));S[2]&&N.recognizeWith(S[2]),S[3]&&N.requireFailure(S[3])},this)}Cs.prototype={set:function(w){return m(this.options,w),w.touchAction&&this.touchAction.update(),w.inputTarget&&(this.input.destroy(),this.input.target=w.inputTarget,this.input.init()),this},stop:function(w){this.session.stopped=w?sr:Qu},recognize:function(w){var P=this.session;if(!P.stopped){this.touchAction.preventDefaults(w);var S,N=this.recognizers,Z=P.curRecognizer;(!Z||Z&&Z.state&Mt)&&(Z=P.curRecognizer=null);for(var te=0;te<N.length;)S=N[te],P.stopped!==sr&&(!Z||S==Z||S.canRecognizeWith(Z))?S.recognize(w):S.reset(),!Z&&S.state&(lt|wn|Qt)&&(Z=P.curRecognizer=S),te++}},get:function(w){if(w instanceof zt)return w;for(var P=this.recognizers,S=0;S<P.length;S++)if(P[S].options.event==w)return P[S];return null},add:function(w){if(f(w,"add",this))return this;var P=this.get(w.options.event);return P&&this.remove(P),this.recognizers.push(w),w.manager=this,this.touchAction.update(),w},remove:function(w){if(f(w,"remove",this))return this;if(w=this.get(w),w){var P=this.recognizers,S=j(P,w);S!==-1&&(P.splice(S,1),this.touchAction.update())}return this},on:function(w,P){if(w!==s&&P!==s){var S=this.handlers;return h(z(w),function(N){S[N]=S[N]||[],S[N].push(P)}),this}},off:function(w,P){if(w!==s){var S=this.handlers;return h(z(w),function(N){P?S[N]&&S[N].splice(j(S[N],P),1):delete S[N]}),this}},emit:function(w,P){this.options.domEvents&&Wu(w,P);var S=this.handlers[w]&&this.handlers[w].slice();if(!(!S||!S.length)){P.type=w,P.preventDefault=function(){P.srcEvent.preventDefault()};for(var N=0;N<S.length;)S[N](P),N++}},destroy:function(){this.element&&or(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}};function or(w,P){var S=w.element;if(!!S.style){var N;h(w.options.cssProps,function(Z,te){N=O(S.style,te),P?(w.oldCssProps[N]=S.style[N],S.style[N]=Z):S.style[N]=w.oldCssProps[N]||""}),P||(w.oldCssProps={})}}function Wu(w,P){var S=e.createEvent("Event");S.initEvent(w,!0,!0),S.gesture=P,P.target.dispatchEvent(S)}m(Ot,{INPUT_START:ee,INPUT_MOVE:we,INPUT_END:ye,INPUT_CANCEL:ne,STATE_POSSIBLE:ri,STATE_BEGAN:lt,STATE_CHANGED:wn,STATE_ENDED:Qt,STATE_RECOGNIZED:Mt,STATE_CANCELLED:Rn,STATE_FAILED:bt,DIRECTION_NONE:Ke,DIRECTION_LEFT:it,DIRECTION_RIGHT:Ee,DIRECTION_UP:$e,DIRECTION_DOWN:et,DIRECTION_HORIZONTAL:Se,DIRECTION_VERTICAL:ze,DIRECTION_ALL:st,Manager:Cs,Input:Be,TouchAction:As,TouchInput:si,MouseInput:ii,PointerEventInput:gs,TouchMouseInput:vs,SingleTouchInput:Zo,Recognizer:zt,AttrRecognizer:ft,Tap:ci,Pan:li,Swipe:Es,Pinch:ys,Rotate:Ps,Press:ws,on:E,off:D,each:h,merge:b,extend:g,assign:m,inherit:A,bindFn:y,prefixed:O});var Xu=typeof t<"u"?t:typeof self<"u"?self:{};Xu.Hammer=Ot,typeof s=="function"&&s.amd?s(function(){return Ot}):n.exports?n.exports=Ot:t[i]=Ot})(window,document,"Hammer")})(Ec);const rs=Ec.exports;function yi(n,t,e){const i=n[t];n[t]=n[e],n[e]=i}function Qp(n,t,e){const i=e/2;for(let s=1;s<=i;s++){const o=e-(s-1);for(let r=1;r<=t;r++){const l=(s-1)*t+r-1,a=(o-1)*t+r-1;yi(n,l*4+0,a*4+0),yi(n,l*4+1,a*4+1),yi(n,l*4+2,a*4+2),yi(n,l*4+3,a*4+3)}}}class Cc{constructor(t,e){v(this,"width");v(this,"height");v(this,"visible",!1);v(this,"hooks",new ke.Subscribe);v(this,"contentDom",document.createElement("canvas"));v(this,"five");v(this,"scale");v(this,"wrapper");v(this,"config");v(this,"offset",{x:0,y:0});v(this,"canvas",this.contentDom);v(this,"context");v(this,"renderCenter",new M.Vector3);v(this,"lastPanEvent");v(this,"hammer");v(this,"onPan",t=>{var c,u,d,f;if(!this.wrapper)return;const e=(u=(c=this.lastPanEvent)==null?void 0:c.deltaX)!=null?u:0,i=(f=(d=this.lastPanEvent)==null?void 0:d.deltaY)!=null?f:0,s=t.deltaX-e,o=t.deltaY-i;if(this.lastPanEvent=t,this.hooks.emit("wantsPanGesture",{srcEvent:t,deltaX:s,deltaY:o}))return;const l=this.offset.x+s,a=this.offset.y+o;this.contentDom.style.boxShadow="0 2px 30px 0 rgba(0,0,0,0.20)",this.canvas.style.transform=`translate3d(${l}px, ${a}px, 100px)`,this.offset={x:l,y:a}});v(this,"onPanEnd",t=>{this.lastPanEvent=void 0,this.contentDom.style.boxShadow="none"});var s,o,r;if(!t.renderer)throw new Error("Five Render \u672A\u521D\u59CB\u5316");this.five=t,this.scale=(s=e==null?void 0:e.scale)!=null?s:2,this.width=(o=e==null?void 0:e.width)!=null?o:190,this.height=(r=e==null?void 0:e.height)!=null?r:190,this.config={dragEnabled:(e==null?void 0:e.dragEnabled)||!1,autoFixPCPosition:(e==null?void 0:e.autoFixPCPosition)||!1,initialPosition:(e==null?void 0:e.initialPosition)||{left:"0",top:"0"}};const i=this.canvas.getContext("2d");if(!i)throw new Error("CANNOT CREATE CONTEXT2D");this.context=i,this.config.dragEnabled&&(this.hammer=new rs(this.canvas),this.hammer.on("pan",this.onPan),this.hammer.on("panend",this.onPanEnd))}dispose(){var t;this.clear(),this.remove(),(t=this.hammer)==null||t.destroy()}remove(){this.canvas.remove(),this.visible=!1}clear(){this.context.clearRect(0,0,this.canvas.width,this.canvas.height)}appendTo(t){this.wrapper=t,this.initStyle(),t.append(this.canvas),this.visible=!0}renderWithPoint(t){!this.wrapper||(this.renderCenter=t,this.render(),this.config.autoFixPCPosition&&this.autoFixPCPosition())}autoFixPCPosition(){if(!this.wrapper)return;const{width:t,height:e}=this,i=this.renderCenter.clone().project(this.five.camera),s=(i.x+1)/2*this.wrapper.clientWidth,o=-(i.x-1)/2*this.wrapper.clientWidth,r=-(i.y-1)/2*this.wrapper.clientHeight;s<183?(this.canvas.style.top=-e/2+"px",this.canvas.style.left=90+"px"):r<183?(this.canvas.style.top=90+"px",this.canvas.style.left=-t/2+"px"):o<183?(this.canvas.style.top=-e/2+"px",this.canvas.style.left=-t-90+"px"):(this.canvas.style.left=-t/2+"px",this.canvas.style.top=-e-90+"px"),this.canvas.style.transform=`translate3d(${s}px, ${r}px, 10px)`,this.offset={x:s,y:r}}render(){if(!this.five.renderer||!this.wrapper)return;const{scale:t,context:e,width:i,height:s}=this,o=this.renderCenter.clone().project(this.five.camera),r=this.five.renderer.getSize(new M.Vector2),l=1,a=i/t,c=s/t,u=l*t,d=(o.x+1)/2*r.x,f=(o.y+1)/2*r.y,h=this.five.getPixels(d-a/2,f-a/2,a,c,u),p=Math.floor(i*l),m=Math.floor(s*l);Qp(h,p,m);const g=new ImageData(p,m);g.data.set(h),e.putImageData(g,0,0)}initStyle(){const t=this.canvas;t.classList.add("five-plugin__magnifier"),t.style.position="absolute",t.style.pointerEvents="all",t.style.borderRadius="50%",t.style.zIndex="99";const e=1;t.setAttribute("width",(this.width*e).toString()),t.setAttribute("height",(this.height*e).toString()),t.style.border="2px solid rgba(255,255,255,0.20)",t.style.width=this.width+"px",t.style.height=this.height+"px",t.style.top=this.config.initialPosition.top,t.style.left=this.config.initialPosition.left,t.style.transform="translate(0,0,100px)",this.config.dragEnabled&&(this.canvas.style.cursor="pointer")}}class Wp{constructor(t){v(this,"edges",[]);v(this,"five");v(this,"onModelLoaded",()=>{!this.five.model||(this.edges=this.five.model.getEdges())});this.five=t,this.five.model.loaded?this.onModelLoaded():this.five.on("modelLoaded",this.onModelLoaded)}dispose(){}getAdsorbentPoint(t){if(this.edges.length===0)return null;let e=1/0,i;return this.edges.forEach(s=>{const o=s.closestPointToPoint(t.point,!0,new X.Vector3),r=o.distanceTo(t.point);r<e&&(i=o,e=r)}),e>.1?null:i||null}}class Ks{constructor(){v(this,"id",nt());v(this,"points",[]);v(this,"lines",[])}push(t){const e=this.getNext(t);if(!e)throw new Error("\u5F53\u524D\u7EBF\u6BB5\u4E8E\u4E0A\u4E00\u6761\u7EBF\u6BB5\u65E0\u6CD5\u6784\u6210\u6298\u7EBF");return this.lines.push(e.line),this.points.push(...e.points),this.lines.length}pop(){const t=this.lines.pop();return this.lines.length===0?this.points.slice(0,this.points.length):this.points.pop(),t}getNext(t){const e=this.points.slice(-1)[0];if(!e)return{line:t,points:t.points};if(!t.points.includes(e))return null;const i=t.points.find(s=>s!==e);return i?{line:t,points:[i]}:null}toJson(){return{id:this.id,lines:this.lines.map(t=>t.id),points:this.points.map(t=>t.id)}}toCompletelyJson(){return{id:this.id,points:this.points.map(t=>t.toJson()),lines:this.lines.map(t=>t.toCompletelyJson())}}}const Xp=1,Vp=3,Yp=new X.Color(16777215),Up=new X.Color(6522623),Zp=new X.Color(16777215),Jp=new X.Color(6522623),qp=6,Kp=8,$p="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAIVBMVEUAAAD////////////////////////////////////////PIev5AAAACnRSTlMAG/Py2baba05un7UgfgAAAHJJREFUKM9joBpgLHVSCRdA4metAoJlCJHmVWBgAeNzroKCCVCBLpjACqgJVjCBxRBT2FbBQQJYQAohsBAsUIUQWA4WiEIILAULeCEEloAFtBACizAEMLRgGIphLabDMJ2O6TlM72MGECIIMQIZIxqoBQCPvpJ/e9FaAAAAAABJRU5ErkJggg==",Ic=new X.TextureLoader().load($p),xc={pointTexture:Ic,pointSize:qp,lineWidth:Xp,lineColor:Yp,pointColor:Zp,lineRenderOrder:20,pointsRenderOrder:20};({...xc});const em={pointTexture:Ic,pointSize:Kp,lineWidth:Vp,lineColor:Up,pointColor:Jp,lineRenderOrder:10,pointsRenderOrder:10};function tm(n,t,e){var u,d,f,h,p;const i=(u=e==null?void 0:e.lineWidth)!=null?u:2,s=(d=e==null?void 0:e.lineColor)!=null?d:new X.Color(16777215),o=(f=e==null?void 0:e.pointSize)!=null?f:5,r=(h=e==null?void 0:e.lineRenderOrder)!=null?h:10,l=(p=e==null?void 0:e.lineRenderOrder)!=null?p:20,a=new Rl.Line(n,t);a.setMaterial({linewidth:i,color:s}),a.line.material.depthTest=!1,a.line.material.transparent=!0,a.line.renderOrder=r,a.points.renderOrder=l;const c=a.points.material;return c.depthTest=!1,c.size=o,e!=null&&e.pointColor&&c.color.set(e.pointColor).convertSRGBToLinear(),e!=null&&e.pointTexture&&(c.map=e.pointTexture),a}function Kr(n,t){const[e,i]=n.points,s=t==="light"?em:xc,o=tm(e.position,i.position,s);return o.name="normalLine_"+n.id,o}function xt(n){const{x:t,y:e,z:i}=n;return!(Math.abs(t)>1||Math.abs(e)>1||Math.abs(i)>1)}function nm(){const n=document.createElement("div");return n.setAttribute("style","backdrop-filter: blur(4px);-webkit-backdrop-filter: blur(4px);"),n.style.padding="3px 6px",n.style.lineHeight="1",n.style.textAlign="center",n.style.transform="translate(-50%, -50%)",n.style.borderRadius="100px",n.style.fontSize="14px",n.style.color="#fff",n.style.background="rgba(195,195,195,0.70)",n.style.border="0.5px solid rgba(255,255,255,0.6)",n.style.pointerEvents="all",n.style.cursor="pointer",n}function im(n){const t=document.createElement("div");return t.id="distance_"+n.id,t.classList.add("five-plugin-measure__distance"),t.style.opacity="0",t.style.position="absolute",t.style.left="0",t.style.top="0",t.style.transform="translate3d(0, 0, 0)",t.style.transformOrigin="left top",t}function sm(n){function t(){var p;(p=n.clickCallback)==null||p.call(n,h)}function e(){if(d)return d.highlight();c.style.border="0.5px solid #95AEFF",c.style.background="linear-gradient(90deg, #95AEFF 0%, #6386FF 100%)"}function i(){if(d)return d.unHighlight();c.style.border="0.5px solid rgba(255,255,255,0.6)",c.style.background="rgba(195,195,195,0.70)"}function s(p){const m=p.getElement();if(!m)return;const g=m.clientWidth,b=m.clientHeight;if(l.points.length<2)return;const[A,y]=l.points,I=A.position.clone().project(p.camera),k=y.position.clone().project(p.camera),E=I.clone().lerp(k,.5),D=new X.Vector2(I.x*g,I.y*b),T=new X.Vector2(k.x*g,k.y*b);if((()=>!(Math.abs(I.z)>1||Math.abs(k.z)>1||!xt(I)&&!xt(k)||!xt(E)||D.distanceTo(T)<20))()===!1){u.style.opacity="0",u.style.pointerEvents="none";return}const z=(E.x+1)/2*g,j=-(E.y-1)/2*b,x=-(Math.atan((D.y-T.y)/(D.x-T.x))*180)/Math.PI;u.style.transform=`translate(${z}px, ${j}px) rotate(${x}deg)`,u.style.opacity="1",u.style.pointerEvents="all",d&&d.update({line:l.toCompletelyJson(),polyline:l.getPolyline().toCompletelyJson()});const O=A.position.clone().distanceTo(y.position),Q=n.line.model.params.getDistanceText(O);c.innerText!==Q&&(c.innerText=Q)}function o(p){p.appendChild(u),u.addEventListener("click",t)}function r(){c.removeEventListener("click",t),u.remove()}const{line:l}=n,a=l.id,c=nm(),u=im(l),d=n.userDistanceItem,f=new X.Vector3(0,0,0),h={lineID:a,ndcPosition:f,update:s,appendTo:o,remove:r,highlight:e,unHighlight:i};return d!=null&&d.element?u.appendChild(d.element):u.appendChild(c),h}class Mn{constructor(t,e,i){v(this,"id");v(this,"selected",!1);v(this,"type","line");v(this,"model");v(this,"mesh");v(this,"points");v(this,"lightMesh");v(this,"hook");v(this,"distanceItem");v(this,"polyline");if(this.id=nt(),this.model=i,t.id===e.id)throw new Error("\u65E0\u6548\u7684\u7EBF\u6BB5, \u4E00\u4E2A\u70B9\u65E0\u6CD5\u6784\u6210\u7EBF\u6BB5");this.hook=new ke.Subscribe,this.points=[t,e],this.mesh=Kr(this,"normal"),this.lightMesh=Kr(this,"light"),this.distanceItem=sm({line:this,clickCallback:()=>this.hook.emit("selected",this),userDistanceItem:this.model.params.userDistanceItemCreator?this.model.params.userDistanceItemCreator():void 0}),t.lines.push(this),e.lines.push(this)}clear(){this.selected=!1,this.polyline=void 0}getPolyline(){if(this.polyline)return this.polyline;const t=this.model.polylines.find(i=>i.lines.includes(this));if(this.polyline=t,t)return t;const e=new Ks;return e.push(this),e}findAnotherPoint(t){return this.points.find(({id:e})=>e!==t.id)}toJson(){return{id:this.id,points:this.points.map(({id:t})=>t)}}toCompletelyJson(){return{id:this.id,points:this.points.map(t=>t.toJson())}}clone(){return new Mn(this.points[0].clone(),this.points[1].clone(),this.model)}}function _n(n,t){for(let e=0,i=t.length;e<i;e++)if(n===t[e])return t.splice(e,1)[0]}class Tt{constructor(t){v(this,"id");v(this,"lines");v(this,"position");v(this,"type","point");this.id=nt(),this.lines=[],this.position=new X.Vector3,t instanceof X.Vector3?this.position.copy(t):this.position.fromArray(t)}toJson(){return{id:this.id,lines:this.lines.map(({id:t})=>t),position:this.position.toArray()}}addLine(t){this.lines.push(t)}removeLine(t){_n(t,this.lines)}clone(){return new Tt(this.position)}}class So{constructor(t){v(this,"lines",[]);v(this,"points",[]);v(this,"params");v(this,"polylines",[]);v(this,"hook",new ke.Subscribe);this.params=t}addLine(t){const[e,i]=t.points;if(!e||!i)return this;this.includes(e)||this.points.push(e),this.includes(i)||this.points.push(i),this.lines.push(t);const s=this.polylines.find(o=>!!o.getNext(t));if(s)s.push(t);else{const o=new Ks;o.push(t),this.polylines.push(o)}this.hook.emit("lineAdded",t)}removeLineByID(t){const e=this.getLineByID(t);e&&this.removeLine(e)}removeLine(t){const e=this.polylines.find(o=>o.lines.includes(t));if(e){if(e.lines.slice(-1)[0]!==t)throw new Error("\u4E0D\u80FD\u4ECE\u4E2D\u95F4\u5220\u9664\u7EBF\u6BB5");e.pop(),e.lines.length===0&&_n(e,this.polylines)}const[i,s]=t.points;return i.lines.length===0&&_n(i,this.points),s.lines.length===0&&_n(s,this.points),_n(t,this.lines),t.clear(),this.hook.emit("lineRemoved",t),this}mergeModel(t){t.lines.forEach(e=>this.addLine(e))}includes(t){if(t.type==="point")return this.points.find(({id:e})=>e===t.id)!==void 0;if(t.type==="line")return this.lines.find(({id:e})=>e===t.id)!==void 0}getPointByID(t){return this.points.find(({id:e})=>e===t)}getLineByID(t){return this.lines.find(({id:e})=>e===t)}getClosestPoint(){}parse(t){const e=t.points.map(({id:o,position:r})=>{const l=new Tt(r);return l.id=o,l}),i=t.lines.map(o=>{const[r,l]=o.points,a=this.getPointByID.call({points:e},r),c=this.getPointByID.call({points:e},l);if(!a||!c)throw new Error("\u7EBF\u4E0A\u7684\u70B9\u4E0D\u5B58\u5728");const u=new Mn(a,c,this);return u.id=o.id,u}),s=t.polylines.map(o=>{const r=new Ks;return o.lines.forEach(l=>{const a=i.find(({id:c})=>c===l);a&&r.push(a)}),r});return this.points.splice(0,this.points.length,...e),this.lines.splice(0,this.lines.length,...i),this.polylines.splice(0,this.polylines.length,...s),this}toJson(){return{points:this.points.map(t=>t.toJson()),lines:this.lines.map(t=>t.toJson()),polylines:this.polylines.map(t=>t.toJson()).filter(t=>t.lines.length>0)}}}const wi=n=>n.preventDefault();class as{constructor(t){v(this,"model");v(this,"five");v(this,"group");v(this,"config");v(this,"dashed");v(this,"disposed",!1);v(this,"isMobile");v(this,"mouseGroup");v(this,"container");v(this,"fiveHelper");v(this,"hook");v(this,"magnifier");v(this,"userDistanceItemCreator");v(this,"updateDistanceUI",()=>{this.dashed.distanceItem.update(this.five),this.model.lines.forEach(t=>t.distanceItem.update(this.five))});var i,s;this.five=t.five,this.hook=t.hook,this.model=t.model,this.config=t.config,this.magnifier=t.magnifier,this.container=t.container,this.fiveHelper=t.fiveHelper,this.isMobile=(s=(i=t.openParams)==null?void 0:i.isMobile)!=null?s:!1,this.userDistanceItemCreator=t.userDistanceItemCreator,this.group=t.group,this.mouseGroup=t.mouseGroup,this.dashed=new Mn(new Tt([0,0,0]),new Tt([0,0,0]),this.model),this.dashed.mesh.setMaterial({dashed:!0,dashScale:100}),this.dashed.mesh.name="dashLine";const e=this.five.getElement();e&&(e.addEventListener("touchstart",wi),e.addEventListener("contextmenu",wi))}removeLine(t){this.group.remove(t.mesh,t.lightMesh),t.distanceItem.remove(),this.five.needsRender=!0}updateMouseGroup(t,e){if(!t)return this.mouseGroup;const i=this.fiveHelper.getAdsorbentPoint(t),s=i||t.point;if(this.mouseGroup.position.copy(s),e)this.mouseGroup.quaternion.copy(e.quaternion);else if(t.face){const r=t.face.normal.clone().multiplyScalar(.05),a=t.point.clone().add(r).clone().add(r);this.mouseGroup.lookAt(a)}return this.mouseGroup}dispose(){this.disposed=!0,this.magnifier.remove(),this.model.lines.forEach(e=>this.removeLine(e));const t=this.five.getElement();t&&(t.removeEventListener("touchstart",wi),t.removeEventListener("contextmenu",wi))}}function $s(n){const{x:t,y:e}=n.center,{clientWidth:i,clientHeight:s}=n.target,o=n.target.getBoundingClientRect(),r=new X.Vector2(t,e).sub(new X.Vector2(o.left,o.top)),l=new X.Vector2(r.x/i*2-1,-(r.y/s)*2+1);return{point:r,ndcPoint:l}}function Ls(n,t){const e=$s(t).ndcPoint,i=new X.Raycaster;return i.setFromCamera(e,n.camera),n.model.intersectRaycaster(i)}class Pi extends as{constructor(e){var s;super(e);v(this,"type","edit");v(this,"pressPoint");v(this,"hasAppendDashed",!1);v(this,"hasAppendMouseGroup",!1);v(this,"fiveElement");v(this,"lastPoint",null);v(this,"hammer");v(this,"onIntersectionUpdate",Io((e,i)=>{var o;this.hasAppendMouseGroup===!1&&(this.group.add(this.mouseGroup),this.magnifier.appendTo(this.container),this.hasAppendMouseGroup=!0);const s=this.updateMouseGroup(e,i).position;(o=this.pressPoint)==null||o.position.copy(s),this.updateDashed(),requestAnimationFrame(()=>this.magnifier.renderWithPoint(this.mouseGroup.position)),this.five.needsRender=!0},20));v(this,"revoke",()=>{if(this.model.lines.length===0&&this.lastPoint){this.lastPoint=null,this.hasAppendDashed=!1,this.dashed.distanceItem.remove(),this.group.remove(this.dashed.mesh),this.hook.emit("anchorChange",null),this.five.needsRender=!0;return}if(this.model.lines.length===0&&!this.lastPoint||!this.lastPoint)return;const e=this.model.lines[this.model.lines.length-1],i=e.findAnotherPoint(this.lastPoint);!i||(this.lastPoint=i,this.hook.emit("anchorChange",i.position),this.group.remove(e.mesh),this.model.removeLine(e),this.hasAppendMouseGroup=!1,this.mouseGroup.position.copy(this.lastPoint.position),this.group.remove(this.mouseGroup),e.distanceItem.remove(),this.updateDashed(),this.magnifier.remove(),this.five.needsRender=!0)});v(this,"onMouseLeave",()=>{this.magnifier.remove(),this.group.remove(this.mouseGroup),this.hasAppendMouseGroup=!1,this.lastPoint&&(this.mouseGroup.position.copy(this.lastPoint.position),this.updateDashed())});v(this,"onLineChanged",()=>{this.hook.emit("editedLineChange",this.model.lines.map(e=>e.toCompletelyJson()))});v(this,"onPress",e=>{const[i]=Ls(this.five,e);if(!i||!i.face)return;const s=new Tt(i.point);this.pressPoint=s,this.onIntersectionUpdate(i)});v(this,"onPan",e=>{if(!this.pressPoint)return;const[i]=Ls(this.five,e);!i||!i.face||this.onIntersectionUpdate(i)});v(this,"onPanEnd",e=>{!this.pressPoint||this.onTap(e)});v(this,"onTap",e=>{this.hasAppendDashed||(this.dashed.distanceItem.appendTo(this.container),this.group.add(this.dashed.mesh)),this.hasAppendDashed=!0;const[i]=Ls(this.five,e);this.updateMouseGroup(i);const s=new Tt(this.mouseGroup.position),o=this.lastPoint;if(s&&(this.lastPoint=s),s&&o){const r=new Mn(o,s,this.model);r.distanceItem.appendTo(this.container),this.model.addLine(r),this.group.add(r.mesh),r.distanceItem.update(this.five)}this.pressPoint=void 0,this.hasAppendMouseGroup=!1,this.magnifier.remove(),this.group.remove(this.mouseGroup),this.updateDashed(),this.five.needsRender=!0,this.hook.emit("anchorChange",s.position)});v(this,"onWantsTapGesture",()=>!1);v(this,"onWantsToMoveToPano",()=>!1);v(this,"onWantsPanGesture",()=>this.pressPoint?!1:void 0);v(this,"onCameraUpdate",()=>{this.updateDistanceUI(),this.dashed.distanceItem.update(this.five)});v(this,"updateDashed",()=>{!this.lastPoint||(this.dashed.points[0].position.copy(this.lastPoint.position),this.dashed.points[1].position.copy(this.mouseGroup.position),this.dashed.mesh.setPoints(this.lastPoint.position,this.mouseGroup.position),this.dashed.distanceItem.update(this.five))});this.model=new So(this.config),this.five.on("cameraUpdate",this.onCameraUpdate),this.five.on("wantsPanGesture",this.onWantsPanGesture),this.five.on("wantsTapGesture",this.onWantsTapGesture),this.five.on("wantsToMoveToPano",this.onWantsToMoveToPano),this.five.on("intersectionOnModelUpdate",this.onIntersectionUpdate),this.model.hook.on("lineAdded",this.onLineChanged),this.model.hook.on("lineRemoved",this.onLineChanged);const i=this.five.getElement();if(i){this.fiveElement=i;const o=new rs(i);this.hammer=o,o.on("tap",this.onTap),o.on("pan",this.onPan),o.on("press",this.onPress),o.on("panend",this.onPanEnd)}(s=this.fiveElement)==null||s.addEventListener("mouseleave",this.onMouseLeave),this.hook.emit("anchorChange",null),this.five.refresh()}dispose(){var e,i;super.dispose(),this.group.remove(this.mouseGroup,this.dashed.mesh),this.five.off("cameraUpdate",this.onCameraUpdate),this.five.off("wantsPanGesture",this.onWantsPanGesture),this.five.off("wantsTapGesture",this.onWantsTapGesture),this.five.off("wantsToMoveToPano",this.onWantsToMoveToPano),this.five.off("intersectionOnModelUpdate",this.onIntersectionUpdate),this.model.hook.off("lineAdded",this.onLineChanged),this.model.hook.off("lineRemoved",this.onLineChanged),(e=this.hammer)==null||e.destroy(),(i=this.fiveElement)==null||i.removeEventListener("mouseleave",this.onMouseLeave),this.magnifier.dispose(),this.dashed.distanceItem.remove(),this.five.needsRender=!0}getEditingLines(){return this.model.lines}}function ko(n,t){const e=n.x-t[0].x,i=n.y-t[0].y,s=t[1].x-t[0].x,o=t[1].y-t[0].y,r=e*s+i*o,l=s*s+o*o,a=r/l;let c,u;return a<0||om(t[0],t[1])?(c=t[0].x,u=t[0].y):a>1?(c=t[1].x,u=t[1].y):(c=t[0].x+a*s,u=t[0].y+a*o),new X.Vector2(c,u)}function om(n,t){return n.x===t.x&&n.y===t.y}function Ui(n){const t=(o,r,l)=>{const a=o.lines.find(u=>u.points.findIndex(({id:f})=>f===o.id)!==r);if(!a)return l;const c=a.points[r];return c?t(c,r,l.concat(a)):l},e=t(n.points[0],1,[]),i=t(n.points[0],0,[]);return e.concat(i)}class rm extends as{constructor(e){super(e);v(this,"type","view");v(this,"highlightedLines",[]);v(this,"hammer");v(this,"wantsTapGesture",e=>{if(this.model.lines.length===0)return;const[i]=this.five.model.intersectRaycaster(e);if(!i)return;const s=this.five.camera,o=i.point.clone().project(s),r=this.container.clientWidth,l=this.container.clientHeight,a=new X.Vector2(o.x*r,o.y*l),c=this.model.lines.map(h=>{const[p,m]=h.points,g=p.position.clone().project(s),b=m.position.clone().project(s);if(!xt(g)&&!xt(b))return null;const A=new X.Vector2(g.x*r,g.y*l),y=new X.Vector2(b.x*r,b.y*l);return{id:h.id,points:[A,y]}}).filter(h=>!!h);if(c.length===0)return;const d=c.map(h=>{const p=ko(a,h.points);return{id:h.id,distance:p.distanceTo(a)}}).sort((h,p)=>h.distance-p.distance)[0],f=d.distance>20?void 0:this.model.lines.find(({id:h})=>h===d.id);if(this.highlightedLines.length>0&&!f)return this.clearHighlightLines(),!1;if(f)return this.chooseLine(f),!1});v(this,"chooseLine",e=>{const i=Ui(e);this.highlightLines(i),this.five.needsRender=!0,this.hook.emit("selectedChange",i.map(s=>s.toCompletelyJson()))});v(this,"lineRemoved",e=>{this.removeLine(e),this.hook.emit("selectedChange",this.model.lines.filter(i=>i.selected).map(i=>i.toCompletelyJson()))});v(this,"onCameraUpdate",()=>{this.updateDistanceUI()});this.model.lines.forEach(s=>{s.distanceItem.appendTo(this.container),s.distanceItem.update(this.five),s.hook.on("selected",this.chooseLine),this.group.add(s.mesh)});const i=this.five.getElement();if(i){const s=new rs(i);this.hammer=s}this.model.hook.on("lineRemoved",this.lineRemoved),this.five.on("cameraUpdate",this.onCameraUpdate),this.five.on("wantsTapGesture",this.wantsTapGesture),this.five.needsRender=!0}dispose(){var e;super.dispose(),this.model.hook.off("lineRemoved",this.lineRemoved),this.five.off("cameraUpdate",this.onCameraUpdate),this.five.off("wantsTapGesture",this.wantsTapGesture),this.five.needsRender=!0,this.hook.emit("selectedChange",[]),(e=this.hammer)==null||e.destroy()}highlightLine(e){e.selected||(e.selected=!0,this.group.add(e.lightMesh),e.distanceItem.highlight(),this.five.needsRender=!0)}clearHighlightLines(){this.group.children.length!==0&&(this.model.lines.forEach(e=>{e.selected=!1,e.distanceItem.unHighlight(),this.group.remove(e.lightMesh)}),this.highlightedLines=[],this.five.needsRender=!0)}highlightLines(e){this.clearHighlightLines(),this.highlightedLines=e,e.forEach(i=>this.highlightLine(i))}}const am=`
215
+ <svg class="fpm__delete-icon" width="16px" height="17px" viewBox="0 0 16 17" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
216
+ <defs>
217
+ <linearGradient x1="22.185491%" y1="100%" x2="66.8316686%" y2="6.67239121%" id="linearGradient-1">
218
+ <stop stop-color="#FFFCFC" stop-opacity="0.6" offset="0%"></stop>
219
+ <stop stop-color="#FFFFFF" offset="100%"></stop>
220
+ </linearGradient>
221
+ </defs>
222
+ <path fill="url(#linearGradient-1)" fill-rule="nonzero" transform="translate(2.16 2.16)" d="M11.2979686,2.71818182 C11.611378,2.71818182 11.8654465,2.97561809 11.8654465,3.29318182 C11.8654465,3.58428191 11.6519584,3.82485822 11.374972,3.86293275 L11.2979686,3.86818182 L10.464,3.868 L9.7236795,10.6246222 C9.64153248,11.3737453 9.04854423,11.9512142 8.32013277,12.0165596 L8.18206028,12.0227273 L3.68338622,12.0227273 C2.89302127,12.0227273 2.22904821,11.4205655 2.141767,10.6246222 L2.141767,10.6246222 L1.4,3.868 L0.567477876,3.86818182 C0.254068499,3.86818182 0,3.61074555 0,3.29318182 C0,3.00208173 0.213488114,2.76150541 0.49047449,2.72343089 L0.567477876,2.71818182 L11.2979686,2.71818182 Z M9.322,3.868 L2.542,3.868 L3.26978106,10.4976259 C3.28762252,10.6603274 3.39528004,10.7928487 3.53932022,10.8467307 L3.61412483,10.866894 L3.68338622,10.8727273 L8.18206028,10.8727273 C8.39410941,10.8727273 8.57224853,10.7111717 8.59566544,10.4976259 L8.59566544,10.4976259 L9.322,3.868 Z M8.16824216,0 C8.48165153,0 8.73572003,0.257436269 8.73572003,0.575 C8.73572003,0.866100087 8.52223192,1.1066764 8.24524554,1.14475093 L8.16824216,1.15 L3.69720434,1.15 C3.38379497,1.15 3.12972647,0.892563731 3.12972647,0.575 C3.12972647,0.283899913 3.34321458,0.0433235966 3.62020096,0.00524907226 L3.69720434,0 L8.16824216,0 Z"></path>
223
+ </svg>
224
+ `,$r="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTciIGhlaWdodD0iMjUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IHgxPSIxMC43MDYlIiB5MT0iNDIuNzQ0JSIgeDI9Ijg5LjA2NCUiIHkyPSI1Ny4yMDglIiBpZD0icHJlZml4X19hIj48c3RvcCBzdG9wLWNvbG9yPSIjRkZGIiBzdG9wLW9wYWNpdHk9IjAiIG9mZnNldD0iMCUiLz48c3RvcCBzdG9wLWNvbG9yPSIjRkZGIiBzdG9wLW9wYWNpdHk9Ii4zMDgiIG9mZnNldD0iNDkuNTY5JSIvPjxzdG9wIHN0b3AtY29sb3I9IiNGRkYiIHN0b3Atb3BhY2l0eT0iMCIgb2Zmc2V0PSIxMDAlIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHJlY3QgeD0iLS4yNSIgeT0iLS4yNSIgd2lkdGg9IjU3LjUiIGhlaWdodD0iMjMuNSIgcng9IjExLjI1IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDEpIiBmaWxsPSIjMkMyQzJDIiBzdHJva2U9InVybCgjcHJlZml4X19hKSIgc3Ryb2tlLXdpZHRoPSIuNSIgZmlsbC1ydWxlPSJldmVub2RkIiBmaWxsLW9wYWNpdHk9Ii4zMDMiLz48L3N2Zz4=",lm="data:image/png;base64,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";class Tc{constructor(t,e){v(this,"visible",!1);v(this,"five");v(this,"lines",[]);v(this,"points",[]);v(this,"onClick");v(this,"cancelDelete");v(this,"content",document.createElement("div"));v(this,"container",document.createElement("div"));v(this,"masking",document.createElement("div"));v(this,"onMouseEnter",()=>{this.content.style.backgroundImage=`url(${lm})`});v(this,"onMouseLeave",()=>{this.content.style.backgroundImage=`url(${$r})`});this.five=t,this.onClick=(e==null?void 0:e.onClick)||(()=>{}),this.cancelDelete=(e==null?void 0:e.cancelDelete)||(()=>{}),this.container.classList.add("fpm__delete"),this.container.style.opacity="0",this.container.style.position="absolute",this.container.style.left="0",this.container.style.top="10px",this.container.style.transform="translate3d(0, 0, 10px)",this.container.style.pointerEvents="none",this.container.style.transition="top 200ms ease, opacity 200ms ease",this.container.style.zIndex="99",this.content.classList.add("fpm__delete-content"),this.content.style.width="62px",this.content.style.height="26px",this.content.style.display="flex",this.content.style.alignItems="center",this.content.style.justifyContent="center",this.content.style.transform="translate(-50%, -50%)",this.content.style.color="#fff",this.content.style.fontSize="12px",this.content.style.lineHeight="17px",this.content.style.borderRadius="11px",this.content.style.backgroundSize="100% 100%",this.content.style.cursor="pointer",this.content.style.userSelect="none",this.content.style.backgroundImage=`url(${$r})`,this.content.innerHTML=`
225
+ ${am}
226
+ <span>\u5220\u9664</span>
227
+ `,this.container.append(this.content);const i=this.content.querySelector(".fpm__delete-icon");i&&(i.style.width="16px",i.style.height="17px",i.style.marginRight="1px"),this.content.addEventListener("click",this.onClick),this.content.addEventListener("mouseenter",this.onMouseEnter),this.content.addEventListener("mouseleave",this.onMouseLeave),this.masking.setAttribute("style","position: absolute;top: 0;left: 0;bottom: 0;right: 0;pointer-events: none;"),this.masking.addEventListener("click",this.cancelDelete),this.masking.addEventListener("touchstart",this.cancelDelete)}dispose(){this.content.removeEventListener("click",this.onClick),this.content.removeEventListener("mouseenter",this.onMouseEnter),this.content.removeEventListener("mouseleave",this.onMouseLeave),this.container.remove(),this.masking.removeEventListener("click",this.cancelDelete),this.masking.removeEventListener("touchstart",this.cancelDelete),this.masking.remove()}appendTo(t){return t.append(this.container),t.append(this.masking),this}setLines(t){return this.lines=t,this.points=Array.from(new Set(this.lines.map(e=>[e.points[0],e.points[1]]).flat(1))),this}updatePosition(){if(this.lines.length===0)return this;const t=this.points.map(f=>f.position),e=t.map(f=>f.clone().project(this.five.camera));if(e.some(f=>Math.abs(f.z)>1))return this.hide();const i=e.map(f=>f.x),s=e.map(f=>f.y),o=(Math.min(...i)+Math.max(...i))/2,r=Math.max(...s),l=this.container.parentElement;if(!l)return this;const a=(o+1)/2*l.clientWidth,c=-(r-1)/2*l.clientHeight;let u=a,d=c-34;if(this.lines.length===1&&t.length===2){const f=(s[1]-s[0])/(i[1]-i[0]),p=-((s[1]+s[0])/2-1)/2*l.clientHeight;Math.abs(f)>.4&&(u=a+57,d=p)}return this.container.style.transform=`translate3d(${u}px, ${d}px, 10px)`,this.show()}hide(){return this.visible=!1,this.masking.style.pointerEvents="none",this.container.style.opacity="0",this.container.style.top="10px",this.container.style.pointerEvents="none",this}show(){return this.visible=!0,this.masking.style.pointerEvents="auto",this.container.style.opacity="1",this.container.style.top="0",this.container.style.pointerEvents="auto",this}}function cm(n,t){const e=(n.x+1)/2*t.width,i=-(n.y-1)/2*t.height;return new X.Vector2(e,i)}function um(n,t,e,i){const s=n.getElement();if(!s||t.length===0)return null;const o={width:s.clientWidth,height:s.clientHeight},r=t.map(l=>{const a=l.position.clone().project(n.camera);return xt(a)?{distance:cm(a,o).distanceTo(e),point:l}:{distance:1/0,point:l}}).sort((l,a)=>l.distance-a.distance);return typeof i=="number"&&r[0].distance>i?null:r[0]}class Ms extends as{constructor(e){super(e);v(this,"type","watch");v(this,"deleteDom");v(this,"highlightedLines",[]);v(this,"fiveElement");v(this,"editPointState");v(this,"hammer");v(this,"onPanStart",e=>{var l;if(this.model.points.length===0||!this.fiveElement)return;const i=$s(e).point,s=(l=um(this.five,this.model.points,i,20))==null?void 0:l.point;if(!s){this.editPointState=void 0;return}const o={point:s,associatedLines:Ui(s.lines[0])};this.hook.emit("wantsDragLine",{point:s.id,lines:o.associatedLines.map(({id:a})=>a)})||(this.editPointState=o,this.magnifier.appendTo(this.container),this.group.add(this.mouseGroup))});v(this,"onPanEnd",()=>{!this.editPointState||(this.editPointState.point.lines.forEach(e=>e.mesh.setMaterial({dashed:!1})),this.highlightLines(this.editPointState.associatedLines),this.editPointState=void 0,this.magnifier.remove(),this.group.remove(this.mouseGroup))});v(this,"onPan",e=>{if(!this.editPointState||!this.fiveElement)return;const i=$s(e).ndcPoint,s=new X.Raycaster;s.setFromCamera(i,this.five.camera);const[o]=this.five.model.intersectRaycaster(s);!o||this.onIntersectionUpdate(o)});v(this,"onIntersectionUpdate",(e,i)=>{if(!!this.editPointState){if(this.clearHighlightLines(),this.editPointState.point.position.copy(e.point),this.editPointState.point.lines.forEach(s=>{s.mesh.setPoints(s.points[0].position.clone(),s.points[1].position.clone()),s.lightMesh.setPoints(s.points[0].position.clone(),s.points[1].position.clone()),s.mesh.setMaterial({dashed:!0})}),this.updateDistanceUI(),this.magnifier.renderWithPoint(e.point),this.mouseGroup.position.copy(e.point),i)this.mouseGroup.quaternion.copy(i.quaternion);else if(e.face){const o=e.face.normal.clone().multiplyScalar(.05),l=e.point.clone().add(o).clone().add(o);this.mouseGroup.lookAt(l)}this.five.needsRender=!0,this.hook.emit("selectedChange",this.editPointState.associatedLines.map(s=>s.toCompletelyJson()))}});v(this,"wantsPanGesture",()=>{if(this.editPointState)return!1});v(this,"wantsTapGesture",e=>{const[i]=this.five.model.intersectRaycaster(e);if(!i)return;const s=this.five.camera,o=i.point.clone().project(s),r=this.container.clientWidth,l=this.container.clientHeight,a=new X.Vector2(o.x*r,o.y*l),c=this.model.lines.map(h=>{const[p,m]=h.points,g=p.position.clone().project(s),b=m.position.clone().project(s);if(!xt(g)&&!xt(b))return null;const A=new X.Vector2(g.x*r,g.y*l),y=new X.Vector2(b.x*r,b.y*l);return{id:h.id,points:[A,y]}}).filter(h=>!!h);if(c.length===0)return;const d=c.map(h=>{const p=ko(a,h.points);return{id:h.id,distance:p.distanceTo(a)}}).sort((h,p)=>h.distance-p.distance)[0];if(d.distance>20)return;const f=this.model.lines.find(({id:h})=>h===d.id);if(!!f)return this.chooseLine(f),!1});v(this,"chooseLine",e=>{const i=Ui(e);this.highlightLines(i),this.five.needsRender=!0,this.hook.emit("selectedChange",i.map(s=>s.toCompletelyJson()))});v(this,"lineRemoved",e=>{this.removeLine(e),this.hook.emit("selectedChange",this.model.lines.filter(i=>i.selected).map(i=>i.toCompletelyJson()))});v(this,"onCameraUpdate",()=>{this.updateDistanceUI(),this.highlightedLines.length>0&&this.deleteDom.updatePosition()});v(this,"deleteDomClickCallback",()=>{this.highlightedLines[0].getPolyline().lines.slice().reverse().forEach(i=>this.model.removeLine(i)),this.highlightedLines=[],this.deleteDom.setLines([]).hide()});v(this,"cancelDeleteClickCallback",()=>{this.clearHighlightLines()});this.deleteDom=new Tc(this.five,{onClick:this.deleteDomClickCallback,cancelDelete:this.cancelDeleteClickCallback}).appendTo(this.container),this.model.lines.forEach(s=>{s.distanceItem.appendTo(this.container),s.distanceItem.update(this.five),s.hook.on("selected",this.chooseLine),this.group.add(s.mesh)});const i=this.five.getElement();if(i){this.fiveElement=i;const s=new rs(i);this.hammer=s,s.on("pan",this.onPan),s.on("panstart",this.onPanStart),s.on("panend",this.onPanEnd)}this.model.hook.on("lineRemoved",this.lineRemoved),this.five.on("cameraUpdate",this.onCameraUpdate),this.five.on("wantsTapGesture",this.wantsTapGesture),this.five.on("wantsPanGesture",this.wantsPanGesture),this.five.needsRender=!0}dispose(){var e;super.dispose(),this.deleteDom.dispose(),this.model.hook.off("lineRemoved",this.lineRemoved),this.model.lines.forEach(i=>i.hook.off("selected",this.chooseLine)),this.five.off("cameraUpdate",this.onCameraUpdate),this.five.off("wantsPanGesture",this.wantsPanGesture),this.five.off("wantsTapGesture",this.wantsTapGesture),this.five.needsRender=!0,this.hook.emit("selectedChange",[]),(e=this.hammer)==null||e.destroy()}highlightLine(e){e.selected||(e.selected=!0,this.group.add(e.lightMesh),e.distanceItem.highlight(),this.five.needsRender=!0)}clearHighlightLines(){this.group.children.length!==0&&(this.deleteDom.setLines([]).hide(),this.model.lines.forEach(e=>{e.selected=!1,e.distanceItem.unHighlight(),this.group.remove(e.lightMesh)}),this.highlightedLines=[],this.five.needsRender=!0)}highlightLines(e){this.clearHighlightLines(),this.highlightedLines=e,this.deleteDom.setLines(e).updatePosition().show(),e.forEach(i=>this.highlightLine(i))}}class ea extends as{constructor(e){super(e);v(this,"state","watching");v(this,"model",new So(this.config));v(this,"hasAppendDashed",!1);v(this,"fiveElement");v(this,"mobileStartPoint",null);v(this,"mobileNowPoint",null);v(this,"highlightedLines",[]);v(this,"deleteDom");v(this,"onLineChanged",()=>{this.hook.emit("editedLineChange",this.model.lines.map(e=>e.toCompletelyJson()))});v(this,"onWantsTapGesture",e=>{if(this.state==="editing")return!1;const[i]=this.five.model.intersectRaycaster(e);if(!i)return;const s=this.five.camera,o=i.point.clone().project(s),r=this.container.clientWidth,l=this.container.clientHeight,a=new X.Vector2(o.x*r,o.y*l),c=this.model.lines.map(h=>{const[p,m]=h.points,g=p.position.clone().project(s),b=m.position.clone().project(s);if(!xt(g)&&!xt(b))return null;const A=new X.Vector2(g.x*r,g.y*l),y=new X.Vector2(b.x*r,b.y*l);return{id:h.id,points:[A,y]}}).filter(h=>!!h);if(c.length===0)return;const d=c.map(h=>{const p=ko(a,h.points);return{id:h.id,distance:p.distanceTo(a)}}).sort((h,p)=>h.distance-p.distance)[0];if(d.distance>20)return;const f=this.model.lines.find(({id:h})=>h===d.id);if(!!f)return this.chooseLine(f),!1});v(this,"onWantsToMoveToPano",()=>this.state==="watching");v(this,"onCameraUpdate",()=>{this.updateDistanceUI(),this.dashed.distanceItem.update(this.five)});v(this,"updateMobileDashed",()=>{!this.mobileStartPoint||!this.mobileNowPoint||(this.dashed.points[0].position.copy(this.mobileStartPoint.position),this.dashed.points[1].position.copy(this.mobileNowPoint.position),this.dashed.mesh.setPoints(this.mobileStartPoint.position,this.mobileNowPoint.position),this.dashed.distanceItem.update(this.five))});v(this,"updateMagnifier",e=>{this.magnifier.visible===!1&&this.magnifier.appendTo(this.container),requestAnimationFrame(()=>this.magnifier.renderWithPoint(e.position)),this.five.needsRender=!0});v(this,"onGetStartPoint",e=>{this.mobileStartPoint=e});v(this,"onGetEndPoint",e=>{const i=this.mobileNowPoint;if(this.removeLine(this.dashed),this.hasAppendDashed=!1,this.mobileStartPoint&&i){const s=new Mn(this.mobileStartPoint,i,this.model);s.distanceItem.appendTo(this.container),s.distanceItem.update(this.five),s.hook.on("selected",this.chooseLine),this.group.add(s.mesh),this.model.addLine(s)}this.mobileStartPoint=null,this.mobileNowPoint=null,this.five.needsRender=!0});v(this,"onNowPointChange",e=>{if(this.state==="watching"){this.mobileNowPoint=e,this.updateMagnifier(e);return}this.hasAppendDashed||(this.dashed.distanceItem.appendTo(this.container),this.group.add(this.dashed.mesh),this.hasAppendDashed=!0),this.five.needsRender=!0,this.mobileNowPoint=e,this.updateMobileDashed(),this.updateMagnifier(e),this.five.needsRender=!0});v(this,"onWillChangeState",(e,i)=>{this.state=i,this.state==="watching"?this.five.helperVisible=!0:this.five.helperVisible=!1});v(this,"chooseLine",e=>{const i=Ui(e);this.highlightLines(i),this.five.needsRender=!0,this.hook.emit("selectedChange",i.map(s=>s.toCompletelyJson()))});v(this,"deleteDomClickCallback",()=>{this.highlightedLines.forEach(e=>{this.removeLine(e),this.model.removeLine(e)}),this.highlightedLines=[],this.deleteDom.setLines([]).hide()});v(this,"cancelDeleteClickCallback",()=>{this.clearHighlightLines()});this.deleteDom=new Tc(this.five,{onClick:this.deleteDomClickCallback,cancelDelete:this.cancelDeleteClickCallback}).appendTo(this.container),this.five.on("cameraUpdate",this.onCameraUpdate),this.five.on("wantsTapGesture",this.onWantsTapGesture),this.five.on("wantsToMoveToPano",this.onWantsToMoveToPano),this.model.hook.on("lineAdded",this.onLineChanged),this.model.hook.on("lineRemoved",this.onLineChanged),this.hook.on("getStartPoint",this.onGetStartPoint),this.hook.on("getEndPoint",this.onGetEndPoint),this.hook.on("nowPointChange",this.onNowPointChange),this.hook.on("willChangeState",this.onWillChangeState),this.five.refresh()}dispose(){super.dispose(),this.group.remove(this.mouseGroup,this.dashed.mesh),this.five.off("cameraUpdate",this.onCameraUpdate),this.five.off("wantsTapGesture",this.onWantsTapGesture),this.five.off("wantsToMoveToPano",this.onWantsToMoveToPano),this.model.hook.off("lineAdded",this.onLineChanged),this.model.hook.off("lineRemoved",this.onLineChanged),this.hook.off("getStartPoint",this.onGetStartPoint),this.hook.off("getEndPoint",this.onGetEndPoint),this.hook.off("nowPointChange",this.onNowPointChange),this.hook.off("willChangeState",this.onWillChangeState),this.hook.emit("selectedChange",[]),this.dashed.distanceItem.remove(),this.five.needsRender=!0}highlightLine(e){e.selected||(e.selected=!0,this.group.add(e.lightMesh),e.distanceItem.highlight(),this.five.needsRender=!0)}clearHighlightLines(){this.group.children.length!==0&&(this.deleteDom.setLines([]).hide(),this.model.lines.forEach(e=>{e.selected=!1,e.distanceItem.unHighlight(),this.group.remove(e.lightMesh)}),this.highlightedLines=[],this.five.needsRender=!0)}getEditingLines(){return this.model.lines}highlightLines(e){this.clearHighlightLines(),this.highlightedLines=e,this.deleteDom.setLines(e).updatePosition().show(),e.forEach(i=>this.highlightLine(i))}}const dm="data:image/png;base64,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",fm="data:image/png;base64,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",hm=`
228
+ varying vec2 vUv;
229
+ void main() {
230
+ vUv = uv;
231
+ vec4 mvPosition = modelViewMatrix * vec4(position, 1);
232
+ gl_Position = projectionMatrix * mvPosition;
233
+ }
234
+ `,pm=`
235
+ varying vec2 vUv;
236
+ void main() {
237
+ vec2 uv = vec2(vUv.x, vUv.y);
238
+ float a = 1.0;
239
+ float match = 1.0 - uv.x;
240
+ gl_FragColor = vec4(1.0,1.0,1.0,match);
241
+ }
242
+ `;function Sc(n){var b,A;const t=(b=n.isMobile)!=null?b:!0,e=(A=n.useNormalVector)!=null?A:!0;let i=10349931;e&&n.ballColor>=0&&(i=n.ballColor);const s=new X.Group,o=new X.PlaneGeometry(.3,.3),r=t?dm:fm,l=new X.TextureLoader().load(r);l.encoding=X.sRGBEncoding;const a=new X.MeshBasicMaterial({map:l,transparent:!0,depthTest:!1}),c=new X.Mesh(o,a),u=new X.CurvePath;u.add(new X.LineCurve3(new X.Vector3(0,0,0),new X.Vector3(0,0,.1)));const d=new X.TubeGeometry(u,8,.003),f=new X.ShaderMaterial({vertexShader:hm,fragmentShader:pm,depthTest:!1,transparent:!0}),h=new X.Mesh(d,f),p=new X.SphereGeometry(.01,20,20),m=new X.MeshBasicMaterial({color:i,depthTest:!1,transparent:!0,side:X.DoubleSide}),g=new X.Mesh(p,m);return g.position.set(0,0,.1),s.name="mouse-current",s.add(c),e&&s.add(h,g),s}const kc="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzIiIGhlaWdodD0iNzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxkZWZzPjxmaWx0ZXIgeD0iLTUuMyUiIHk9Ii01LjMlIiB3aWR0aD0iMTEwLjUlIiBoZWlnaHQ9IjExMC41JSIgZmlsdGVyVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiBpZD0icHJlZml4X19hIj48ZmVPZmZzZXQgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd09mZnNldE91dGVyMSIvPjxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjEiIGluPSJzaGFkb3dPZmZzZXRPdXRlcjEiIHJlc3VsdD0ic2hhZG93Qmx1ck91dGVyMSIvPjxmZUNvbXBvc2l0ZSBpbj0ic2hhZG93Qmx1ck91dGVyMSIgaW4yPSJTb3VyY2VBbHBoYSIgb3BlcmF0b3I9Im91dCIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIi8+PGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwIDEgMCAwIDAgMCAxIDAgMCAwIDAgMSAwIDAgMCAwLjUgMCIgaW49InNoYWRvd0JsdXJPdXRlcjEiLz48L2ZpbHRlcj48ZmlsdGVyIHg9Ii0xMS40JSIgeT0iLTExLjQlIiB3aWR0aD0iMTIyLjklIiBoZWlnaHQ9IjEyMi45JSIgZmlsdGVyVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiBpZD0icHJlZml4X19jIj48ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSI0LjUiIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJzaGFkb3dCbHVySW5uZXIxIi8+PGZlT2Zmc2V0IGluPSJzaGFkb3dCbHVySW5uZXIxIiByZXN1bHQ9InNoYWRvd09mZnNldElubmVyMSIvPjxmZUNvbXBvc2l0ZSBpbj0ic2hhZG93T2Zmc2V0SW5uZXIxIiBpbjI9IlNvdXJjZUFscGhhIiBvcGVyYXRvcj0iYXJpdGhtZXRpYyIgazI9Ii0xIiBrMz0iMSIgcmVzdWx0PSJzaGFkb3dJbm5lcklubmVyMSIvPjxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMCAxIDAgMCAwIDAgMSAwIDAgMCAwIDEgMCAwIDAgMC4zIDAiIGluPSJzaGFkb3dJbm5lcklubmVyMSIvPjwvZmlsdGVyPjxmaWx0ZXIgeD0iLTEyNi42JSIgeT0iLTMzNy41JSIgd2lkdGg9IjM1My4xJSIgaGVpZ2h0PSI3NzUlIiBmaWx0ZXJVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giIGlkPSJwcmVmaXhfX2UiPjxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjE2IiBpbj0iU291cmNlR3JhcGhpYyIvPjwvZmlsdGVyPjxsaW5lYXJHcmFkaWVudCB4MT0iNTAlIiB5MT0iMTAwJSIgeDI9IjUwJSIgeTI9IjAlIiBpZD0icHJlZml4X19kIj48c3RvcCBzdG9wLWNvbG9yPSIjRkZGIiBzdG9wLW9wYWNpdHk9Ii43IiBvZmZzZXQ9IjAlIi8+PHN0b3Agc3RvcC1jb2xvcj0iI0ZGRiIgc3RvcC1vcGFjaXR5PSIwIiBvZmZzZXQ9IjI2LjQzMiUiLz48c3RvcCBzdG9wLWNvbG9yPSIjRkZGIiBzdG9wLW9wYWNpdHk9IjAiIG9mZnNldD0iODIuMzA1JSIvPjxzdG9wIHN0b3AtY29sb3I9IiNGRkYiIHN0b3Atb3BhY2l0eT0iLjQiIG9mZnNldD0iMTAwJSIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IHgxPSI1MCUiIHkxPSIwJSIgeDI9IjUwJSIgeTI9IjEwMCUiIGlkPSJwcmVmaXhfX2YiPjxzdG9wIHN0b3AtY29sb3I9IiNGRkYiIHN0b3Atb3BhY2l0eT0iLjA1IiBvZmZzZXQ9IjAlIi8+PHN0b3Agc3RvcC1jb2xvcj0iI0ZGRiIgc3RvcC1vcGFjaXR5PSIuMiIgb2Zmc2V0PSIxMDAlIi8+PC9saW5lYXJHcmFkaWVudD48Y2lyY2xlIGlkPSJwcmVmaXhfX2IiIGN4PSIzNiIgY3k9IjM2IiByPSIyOC40NDQiLz48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48dXNlIGZpbGw9IiMwMDAiIGZpbHRlcj0idXJsKCNwcmVmaXhfX2EpIiB4bGluazpocmVmPSIjcHJlZml4X19iIi8+PHVzZSBmaWxsPSIjMDAwIiBmaWx0ZXI9InVybCgjcHJlZml4X19jKSIgeGxpbms6aHJlZj0iI3ByZWZpeF9fYiIvPjxjaXJjbGUgc3Ryb2tlPSJ1cmwoI3ByZWZpeF9fZCkiIHN0cm9rZS13aWR0aD0iLjQiIGZpbGwtb3BhY2l0eT0iLjI0MSIgZmlsbD0iI0ZGRiIgc3Ryb2tlLWxpbmVqb2luPSJzcXVhcmUiIGN4PSIzNiIgY3k9IjM2IiByPSIyOC4yNDQiLz48ZWxsaXBzZSBmaWxsPSIjRkZGIiBvcGFjaXR5PSIuNTk2IiBmaWx0ZXI9InVybCgjcHJlZml4X19lKSIgY3g9IjM2IiBjeT0iMzYiIHJ4PSIxOC45NjMiIHJ5PSI3LjExMSIvPjxwYXRoIGQ9Ik0zNiAwQzE2LjExOCAwIDAgMTYuMTE4IDAgMzZzMTYuMTE4IDM2IDM2IDM2IDM2LTE2LjExOCAzNi0zNlM1NS44ODIgMCAzNiAwem0wIDQuNDQ0YzE3LjQyOCAwIDMxLjU1NiAxNC4xMjggMzEuNTU2IDMxLjU1NlM1My40MjggNjcuNTU2IDM2IDY3LjU1NiA0LjQ0NCA1My40MjggNC40NDQgMzYgMTguNTcyIDQuNDQ0IDM2IDQuNDQ0eiIgZmlsbD0idXJsKCNwcmVmaXhfX2YpIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L2c+PC9zdmc+",Dc="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzIiIGhlaWdodD0iNzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IHgxPSIxNS41MSUiIHkxPSIxMi40OTclIiB4Mj0iODUuMjY1JSIgeTI9Ijg2LjE0MyUiIGlkPSJwcmVmaXhfX2IiPjxzdG9wIHN0b3AtY29sb3I9IiM5NUFFRkYiIG9mZnNldD0iMCUiLz48c3RvcCBzdG9wLWNvbG9yPSIjNjM4NkZGIiBvZmZzZXQ9IjEwMCUiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCB4MT0iNTAlIiB5MT0iMTAwJSIgeDI9IjUwJSIgeTI9IjAlIiBpZD0icHJlZml4X19hIj48c3RvcCBzdG9wLWNvbG9yPSIjOTlBRUZGIiBvZmZzZXQ9IjAlIi8+PHN0b3Agc3RvcC1jb2xvcj0iI0ZGRiIgc3RvcC1vcGFjaXR5PSIwIiBvZmZzZXQ9IjI2LjQzMiUiLz48c3RvcCBzdG9wLWNvbG9yPSIjRkZGIiBzdG9wLW9wYWNpdHk9IjAiIG9mZnNldD0iODIuMzA1JSIvPjxzdG9wIHN0b3AtY29sb3I9IiM5OUFFRkYiIHN0b3Atb3BhY2l0eT0iLjQiIG9mZnNldD0iMTAwJSIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IHgxPSI1MCUiIHkxPSIwJSIgeDI9IjUwJSIgeTI9IjEwMCUiIGlkPSJwcmVmaXhfX2QiPjxzdG9wIHN0b3AtY29sb3I9IiM4Nzk3RDIiIHN0b3Atb3BhY2l0eT0iLjA1IiBvZmZzZXQ9IjAlIi8+PHN0b3Agc3RvcC1jb2xvcj0iIzYyNzdDNyIgc3RvcC1vcGFjaXR5PSIuMiIgb2Zmc2V0PSIxMDAlIi8+PC9saW5lYXJHcmFkaWVudD48ZmlsdGVyIHg9Ii02My4zJSIgeT0iLTE2OC44JSIgd2lkdGg9IjIyNi42JSIgaGVpZ2h0PSI0MzcuNSUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9InByZWZpeF9fYyI+PGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iOCIgaW49IlNvdXJjZUdyYXBoaWMiLz48L2ZpbHRlcj48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48Y2lyY2xlIHN0cm9rZT0idXJsKCNwcmVmaXhfX2EpIiBzdHJva2Utd2lkdGg9Ii40IiBmaWxsPSJ1cmwoI3ByZWZpeF9fYikiIG9wYWNpdHk9Ii43IiBjeD0iMzYiIGN5PSIzNiIgcj0iMjguMjQ0Ii8+PGVsbGlwc2UgZmlsbD0iIzdDOTBEQSIgb3BhY2l0eT0iLjU5NiIgZmlsdGVyPSJ1cmwoI3ByZWZpeF9fYykiIGN4PSIzNiIgY3k9IjM2IiByeD0iMTguOTYzIiByeT0iNy4xMTEiLz48cGF0aCBkPSJNMzYgMEMxNi4xMTggMCAwIDE2LjExOCAwIDM2czE2LjExOCAzNiAzNiAzNiAzNi0xNi4xMTggMzYtMzZTNTUuODgyIDAgMzYgMHptMCA0LjQ0NGMxNy40MjggMCAzMS41NTYgMTQuMTI4IDMxLjU1NiAzMS41NTZTNTMuNDI4IDY3LjU1NiAzNiA2Ny41NTYgNC40NDQgNTMuNDI4IDQuNDQ0IDM2IDE4LjU3MiA0LjQ0NCAzNiA0LjQ0NHoiIGZpbGw9InVybCgjcHJlZml4X19kKSIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9nPjwvc3ZnPg==",mm=`
243
+ <svg class="fpm__exit-icon width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
244
+ <defs>
245
+ <radialGradient cx="50%" cy="50%" fx="50%" fy="50%" r="86.3016741%" id="radialGradient-1">
246
+ <stop stop-color="#FFFFFF" offset="0%"></stop>
247
+ <stop stop-color="#FFFFFF" stop-opacity="0.3" offset="100%"></stop>
248
+ </radialGradient>
249
+ <radialGradient cx="50%" cy="50%" fx="50%" fy="50%" r="70.7106781%" id="radialGradient-2">
250
+ <stop stop-color="#FFFFFF" offset="0%"></stop>
251
+ <stop stop-color="#FFFFFF" stop-opacity="0" offset="100%"></stop>
252
+ </radialGradient>
253
+ </defs>
254
+ <g fill="url(#radialGradient-1)" fill-rule="nonzero" stroke="url(#radialGradient-2)" stroke-width="0.2">
255
+ <path d="M19.1859205,4.10000004 C19.3691554,4.09993923 19.5526088,4.16602323 19.6925352,4.29904206 C19.8171021,4.41745965 19.8858582,4.56899486 19.8980316,4.7239943 C19.9103475,4.88080848 19.8647874,5.04088037 19.7661957,5.16777131 L19.7661957,5.16777131 L14.3769795,11.1697063 C14.1649599,11.4058657 14.0589501,11.7029328 14.0589501,12 C14.0589501,12.2970672 14.1649599,12.5941343 14.3769795,12.8302937 L14.3769795,12.8302937 L19.6928862,18.7509889 C19.8173649,18.8694879 19.8860087,19.0210672 19.8980683,19.1760728 C19.9102693,19.3328965 19.8645908,19.4929392 19.7701664,19.6153111 C19.6099275,19.772809 19.4324896,19.8610254 19.2586274,19.8856752 C19.0810547,19.910851 18.9081905,19.8692156 18.765363,19.7704965 L18.765363,19.7704965 L11.9999322,13.2904645 L5.32508998,19.6962598 C5.16077108,19.8156635 4.99335965,19.8785989 4.83451361,19.8898888 C4.67442082,19.9012674 4.52389835,19.8596921 4.3968979,19.7731206 C4.23619359,19.588506 4.14871527,19.4164558 4.12392544,19.2589757 C4.09801173,19.094356 4.14341261,18.9485987 4.23380428,18.8322287 L4.23380428,18.8322287 L9.62302046,12.8302937 C9.81773049,12.6134147 9.92302682,12.3451662 9.93892926,12.0727274 C9.95499717,11.7974536 9.87975312,11.5179151 9.70614397,11.2737767 L9.70614397,11.2737767 L4.31595492,5.25860214 C4.17860663,5.08857057 4.11166276,4.9104714 4.11172409,4.7432513 C4.11178577,4.57506821 4.18051603,4.41972395 4.30746483,4.29904206 C4.43371817,4.17902131 4.59543385,4.11349344 4.76041858,4.10187732 L4.76041858,4.10187732 L12.0000677,10.7085251 L18.6794563,4.29937602 C18.8192839,4.16626546 19.0026873,4.10006086 19.1859205,4.10000004 Z" id="\u5F62\u72B6\u7ED3\u5408"></path>
256
+ </g>
257
+ </svg>
258
+ `,gm=`
259
+ <style>
260
+ .mobile .fpm__exit {
261
+ position: absolute;
262
+ top: 53px;
263
+ left: 16px;
264
+ width: 24px;
265
+ height: 24px;
266
+ z-index: 10;
267
+ pointer-events: all;
268
+ }
269
+ .mobile .fpm__exit-icon {
270
+ width: 100%;
271
+ height: 100%;
272
+ cursor: pointer;
273
+ }
274
+ .fpm_operating--mobile {
275
+ padding-bottom: 23px;
276
+ }
277
+ .fpm__main-btn {
278
+ display: flex;
279
+ justify-content: center;
280
+ align-items: center;
281
+ margin: 0 !important;
282
+ }
283
+ .fpm__main-btn-text {
284
+ position: absolute;
285
+ font-weight: 500;
286
+ font-size: 14px;
287
+ color: #FFFFFF;
288
+ text-align: center;
289
+ text-shadow: 0 2px 8px rgba(0,0,0,0.50);
290
+ transition: all 200ms ease-in-out;
291
+ }
292
+ .fpm__main-text__hide {
293
+ transform: scale(0.8) translateY(4px);
294
+ opacity: 0;
295
+ }
296
+ .fpm__main-text__show {
297
+ transform: scale(1) translateY(0);
298
+ opacity: 1;
299
+ }
300
+ .fpm__main__start {
301
+ background-image: url(${kc});
302
+ }
303
+ .fpm__main__end {
304
+ background-image: url(${Dc});
305
+ }
306
+
307
+ </style>
308
+ <div class="fpm__exit">
309
+ ${mm}
310
+ </div>
311
+ <div class="fpm_ui-bg"></div>
312
+ <div class="fpm_operating-space fpm_operating--mobile">
313
+ <div class="fpm__main fpm__main-btn">
314
+ <div class="fpm__main-icon fpm__main__start"></div>
315
+ <div class="fpm__main-text fpm__main-btn-text">\u5F00\u59CB</div>
316
+ </div>
317
+ </div>
318
+ `,vm=`
319
+ <svg class="fpm__revoke-icon" width="40" height="40" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
320
+ <defs>
321
+ <linearGradient x1="47.631%" y1="55.183%" x2="2.967%" y2="86.323%" id="fpm__revoke-a">
322
+ <stop stop-color="#FFF" offset="0%" />
323
+ <stop stop-color="#FFF" stop-opacity=".5" offset="100%" />
324
+ </linearGradient>
325
+ <linearGradient x1="5.297%" y1="43.016%" x2="38.238%" y2="79.932%" id="fpm__revoke-b">
326
+ <stop stop-color="#FFF" offset="0%" />
327
+ <stop stop-color="#FFF" stop-opacity="0" offset="100%" />
328
+ </linearGradient>
329
+ </defs>
330
+ <path
331
+ d="M13.388 7.108c.552 0 1.005.42 1.06.957l.006.11v1.224c0 .921.745 1.667 1.666 1.667h7.184c5.804 0 10.509 4.616 10.509 10.309 0 5.595-4.544 10.15-10.21 10.305l-.3.004H8.924c-.917 0-1.66-.729-1.66-1.628 0-.846.658-1.541 1.5-1.62l.16-.008h14.38c3.972 0 7.191-3.158 7.191-7.053 0-3.81-3.08-6.916-6.933-7.049l-.257-.004H10.029l-.109-.005H8.212c-.245 0-.482-.085-.67-.237l-.09-.082a1.066 1.066 0 0 1-.065-1.422l.079-.086 5.175-5.077c.2-.195.468-.305.747-.305z"
332
+ fill="url(#fpm__revoke-a)"
333
+ fill-rule="nonzero"
334
+ stroke="url(#fpm__revoke-b)"
335
+ stroke-width=".5"
336
+ />
337
+ </svg>
338
+ `,bm=`
339
+ <svg class="fpm__exit-icon width="40" height="40" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
340
+ <defs>
341
+ <linearGradient x1="36.288%" y1="73.736%" x2="54.242%" y2="97.166%" id="fpm__exit-a">
342
+ <stop stop-color="#FFF" offset="0%" />
343
+ <stop stop-color="#FFF" stop-opacity=".5" offset="100%" />
344
+ </linearGradient>
345
+ <linearGradient x1="100%" y1="47.234%" x2="24.047%" y2="47.234%" id="fpm__exit-b">
346
+ <stop stop-color="#FFF" offset="0%" />
347
+ <stop stop-color="#FFF" stop-opacity=".005" offset="99.535%" />
348
+ <stop stop-color="#FFF" stop-opacity="0" offset="100%" />
349
+ </linearGradient>
350
+ </defs>
351
+ <path
352
+ d="M22 7a1.5 1.5 0 0 1 .144 2.993L22 10h-9a1.5 1.5 0 0 0-1.493 1.356l-.007.144v17a1.5 1.5 0 0 0 1.356 1.493L13 30h9a1.5 1.5 0 0 1 .144 2.993L22 33h-9a4.5 4.5 0 0 1-4.495-4.288L8.5 28.5v-17a4.5 4.5 0 0 1 4.288-4.495L13 7h9zm6.317 7.755a1 1 0 0 1 .7.286l4.856 4.764a1 1 0 0 1-.7 1.713h-5.856V21.5h-8.032a1.5 1.5 0 1 1 0-3h6.365c.92 0 1.666-.746 1.667-1.667v-1.078a1 1 0 0 1 1-1z"
353
+ fill="url(#fpm__exit-a)"
354
+ fill-rule="nonzero"
355
+ stroke="url(#fpm__exit-b)"
356
+ stroke-width=".5"
357
+ />
358
+ </svg>
359
+ `,Am=`
360
+ <style>
361
+ .fpm__other-btn {
362
+ height: 40px;
363
+ width: 88px;
364
+ background: rgba(0, 0, 0, 0.15);
365
+ border-radius: 20px;
366
+ overflow: hidden;
367
+ }
368
+
369
+ .fpm__other-content {
370
+ height: 100%;
371
+ display: flex;
372
+ align-items: center;
373
+ justify-content: center;
374
+ }
375
+
376
+ .fpm__revoke {
377
+ opacity: 0.3;
378
+ }
379
+ .fpm__revoke.enabled {
380
+ opacity: 0.85;
381
+ }
382
+ .fpm__revoke.enabled:hover {
383
+ opacity: 1;
384
+ }
385
+
386
+ .fpm__revoke-icon {
387
+ width: 24px;
388
+ height: 24px;
389
+ margin-right: 4px;
390
+ cursor: pointer;
391
+ }
392
+
393
+ .fpm__main-btn {
394
+ display: flex;
395
+ justify-content: center;
396
+ align-items: center;
397
+ }
398
+ .fpm__main-btn-text {
399
+ position: absolute;
400
+ font-weight: 500;
401
+ font-size: 14px;
402
+ color: #FFFFFF;
403
+ text-align: center;
404
+ text-shadow: 0 2px 8px rgba(0,0,0,0.50);
405
+ transition: all 200ms ease-in-out;
406
+ }
407
+ .fpm__main-text__hide {
408
+ transform: scale(0.8) translateY(4px);
409
+ opacity: 0;
410
+ }
411
+ .fpm__main-text__show {
412
+ transform: scale(1) translateY(0);
413
+ opacity: 1;
414
+ }
415
+ .fpm__main__start {
416
+ background-image: url(${kc});
417
+ }
418
+ .fpm__main__end {
419
+ background-image: url(${Dc});
420
+ }
421
+
422
+ </style>
423
+ <div class="fpm_ui-bg"></div>
424
+ <div class="fpm_operating-space">
425
+ <div class="fpm__other-btn">
426
+ <div class="fpm__other-content fpm__revoke">
427
+ ${vm}
428
+ <span class="fpm__text fpm__revoke-text">\u64A4\u9500</span>
429
+ </div>
430
+ </div>
431
+ <div class="fpm__main fpm__main-btn">
432
+ <div class="fpm__main-icon fpm__main__start"></div>
433
+ <div class="fpm__main-text fpm__main-btn-text">\u5F00\u59CB</div>
434
+ </div>
435
+ <div class="fpm__other-btn">
436
+ <div class="fpm__other-content fpm__exit">
437
+ ${bm}
438
+ <span class="fpm__text fpm__exit-text">\u9000\u51FA</span>
439
+ </div>
440
+ </div>
441
+ </div>
442
+ `,ym={display:"none",position:"absolute",top:"0",left:"0",width:"100%",height:"100%",opacity:"0",transform:"translate(0, 10px)",transition:"opacity 500ms ease-in-out, transform 500ms ease-in-out"},wm={position:"absolute",left:"50%",bottom:"32px",transform:"translateX(-50%)",height:"89px",display:"flex",justifyContent:"space-between",alignItems:"center",fontSize:"14px",pointerEvents:"all",color:"#fff",zIndex:"10"},Pm={position:"absolute",bottom:"0",left:"0",opacity:"0.5",width:"100%",height:"184px",background:"linear-gradient(180deg, rgba(0,0,0,0.00) 0%, #000000 100%)",zIndex:"0"},Lc={margin:"0 64px"},Em={opacity:"0.85"},Mc={width:"72px",height:"72px",backgroundSize:"100%",cursor:"pointer",transition:"all 200ms ease-in-out"},Cm={width:"24px",height:"24px",marginRight:"4px",backgroundSize:"100%",cursor:"pointer"},Im={cursor:"default",userSelect:"none"};class xm{constructor(t,e){v(this,"container");v(this,"measureController");v(this,"mainElement");v(this,"onMouseEnter",()=>{const{mainItem:t}=this.mainElement;t.style.opacity="1"});v(this,"onMouseLeave",()=>{const{mainItem:t}=this.mainElement;t.style.opacity="0.85"});v(this,"onClick",()=>{this.measureController.getCurrentMode()==="Watch"?this.measureController.changeMode("Edit"):this.measureController.save().changeMode("Watch")});v(this,"modeChangeHandler",t=>{t==="Watch"?this.change2Add():this.change2Done()});this.measureController=t,this.container=e,this.mainElement=this.getMainElement(),Object.assign(this.mainElement.mainIcon.style,Mc),Object.assign(this.mainElement.mainItem.style,Lc),this.change2Add(),this.measureController.hook.on("modeChange",this.modeChangeHandler),this.mainElement.mainItem.addEventListener("click",this.onClick),this.mainElement.mainItem.addEventListener("mouseenter",this.onMouseEnter),this.mainElement.mainItem.addEventListener("mouseleave",this.onMouseLeave)}dispose(){this.measureController.hook.off("modeChange",this.modeChangeHandler),this.mainElement.mainItem.removeEventListener("click",this.onClick),this.mainElement.mainItem.removeEventListener("mouseenter",this.onMouseEnter),this.mainElement.mainItem.removeEventListener("mouseleave",this.onMouseLeave)}getMainElement(){const t=this.container.querySelector(".fpm__main-text"),e=this.container.querySelector(".fpm__main"),i=this.container.querySelector(".fpm__main-icon");if(!e||!t||!i)throw new Error("cannot find dom");return{mainTextDom:t,mainItem:e,mainIcon:i}}change2Add(){const{mainIcon:t,mainTextDom:e}=this.mainElement;t.className.includes("fpm__main__start")||t.className.includes("fpm__main__end")&&(t.style.transform="scale(0.8)",e.className.includes("fpm__main-text__show")?e.classList.replace("fpm__main-text__show","fpm__main-text__hide"):e.classList.add("fpm__main-text__hide"),setTimeout(()=>{t.classList.replace("fpm__main__end","fpm__main__start"),t.style.transform="scale(1)",e.innerText="\u5F00\u59CB",e.classList.replace("fpm__main-text__hide","fpm__main-text__show")},200))}change2Done(){const{mainTextDom:t,mainIcon:e}=this.getMainElement();t.innerText!=="\u7ED3\u675F"&&(e.className.includes("fpm__main__end")||e.className.includes("fpm__main__start")&&(e.style.transform="scale(0.8)",t.className.includes("fpm__main-text__show")?t.classList.replace("fpm__main-text__show","fpm__main-text__hide"):t.classList.add("fpm__main-text__hide"),setTimeout(()=>{e.classList.replace("fpm__main__start","fpm__main__end"),e.style.transform="scale(1)",t.innerText="\u7ED3\u675F",t.classList.replace("fpm__main-text__hide","fpm__main-text__show")},200)))}}class Tm{constructor(t,e){v(this,"container");v(this,"measureController");v(this,"mainElement");v(this,"onClick",()=>{this.mainElement.mainTextDom.innerText==="\u5F00\u59CB"?(this.measureController.hook.emit("willChangeState","watching","editing"),this.change2Done()):(this.measureController.hook.emit("willChangeState","editing","watching"),this.change2Add())});this.measureController=t,this.container=e,this.mainElement=this.getMainElement(),Object.assign(this.mainElement.mainIcon.style,Mc),Object.assign(this.mainElement.mainItem.style,Lc),this.change2Add(),this.mainElement.mainItem.addEventListener("click",this.onClick)}dispose(){this.mainElement.mainItem.removeEventListener("click",this.onClick)}getMainElement(){const t=this.container.querySelector(".fpm__main-text"),e=this.container.querySelector(".fpm__main"),i=this.container.querySelector(".fpm__main-icon");if(!e||!t||!i)throw new Error("cannot find dom");return{mainTextDom:t,mainItem:e,mainIcon:i}}change2Add(){const{mainIcon:t,mainTextDom:e}=this.mainElement;t.className.includes("fpm__main__start")||t.className.includes("fpm__main__end")&&(t.style.transform="scale(0.8)",e.className.includes("fpm__main-text__show")?e.classList.replace("fpm__main-text__show","fpm__main-text__hide"):e.classList.add("fpm__main-text__hide"),setTimeout(()=>{t.classList.replace("fpm__main__end","fpm__main__start"),t.style.transform="scale(1)",e.innerText="\u5F00\u59CB",e.classList.replace("fpm__main-text__hide","fpm__main-text__show")},200))}change2Done(){const{mainTextDom:t,mainIcon:e}=this.mainElement;t.innerText!=="\u7ED3\u675F"&&(e.className.includes("fpm__main__end")||e.className.includes("fpm__main__start")&&(e.style.transform="scale(0.8)",t.className.includes("fpm__main-text__show")?t.classList.replace("fpm__main-text__show","fpm__main-text__hide"):t.classList.add("fpm__main-text__hide"),setTimeout(()=>{e.classList.replace("fpm__main__start","fpm__main__end"),e.style.transform="scale(1)",t.innerText="\u7ED3\u675F",t.classList.replace("fpm__main-text__hide","fpm__main-text__show")},200)))}}class Sm{constructor(t,e){v(this,"container");v(this,"revokeIcon");v(this,"revokeItem");v(this,"measureController");v(this,"onClick",()=>{this.measureController.revoke()});v(this,"onModeChange",t=>{if(t!=="Edit"&&this.revokeItem.className.includes("enabled")){this.revokeItem.classList.remove("enabled");return}this.measureController.hook.on("anchorChange",e=>{e&&this.revokeItem.classList.add("enabled")})});v(this,"handleRevoke",()=>()=>{});this.measureController=t,this.container=e;const i=this.container.querySelector(".fpm__revoke-icon"),s=this.container.querySelector(".fpm__revoke");if(!i||!s)throw new Error("\u4E0D\u6B63\u786E\u7684\u9009\u62E9\u5668");this.revokeIcon=i,this.revokeItem=s,this.revokeItem.addEventListener("click",this.onClick),t.hook.on("modeChange",this.onModeChange)}dispose(){this.revokeItem.removeEventListener("click",this.onClick),this.measureController.hook.off("modeChange",this.onModeChange)}}class ta{constructor(t,e){v(this,"revoke");v(this,"container");v(this,"mainController");v(this,"disposers",[]);v(this,"measureController");v(this,"mode");v(this,"handleExit",()=>{const t=this.container.querySelector(".fpm__exit-icon"),e=this.container.querySelector(".fpm__exit");if(!e||!t)throw new Error("cannot find dom");this.mode==="pc"&&(Object.assign(e.style,Em),Object.assign(t==null?void 0:t.style,Cm));const i=()=>e.style.opacity="1",s=()=>e.style.opacity="0.85",o=()=>{this.measureController.disable()};return e.addEventListener("click",o),e.addEventListener("mouseenter",i),e.addEventListener("mouseleave",s),()=>{e.removeEventListener("click",o),e.removeEventListener("mouseenter",i),e.removeEventListener("mouseleave",s)}});var r,l;this.measureController=t,this.mode=(r=e.openParams)!=null&&r.isMobile?"mobile":"pc",this.container=document.createElement("div"),this.container.innerHTML=(l=e.openParams)!=null&&l.isMobile?gm:Am,this.container.classList.add("fpm__ui-controller",this.mode),e.container.appendChild(this.container);const i=this.container.querySelectorAll(".fpm__text"),s=this.container.querySelector(".fpm_ui-bg"),o=this.container.querySelector(".fpm_operating-space");Object.assign(s==null?void 0:s.style,Pm),Object.assign(o==null?void 0:o.style,wm),Object.assign(this.container.style,ym),i.forEach(a=>Object.assign(a.style,Im))}dispose(){this.hide(),this.container.remove()}show(){return this.container.style.display="block",this.container.style.opacity="1",this.container.style.transform="translate(0, 0)",this.mode==="pc"?(this.revoke=new Sm(this.measureController,this.container),this.mainController=new xm(this.measureController,this.container)):this.mainController=new Tm(this.measureController,this.container),this.disposers.push(this.handleExit()),this}hide(){var t,e;return this.container.style.display="none",this.container.style.opacity="0",this.container.style.transform="translate(0, 10px)",this.mode==="pc"&&((t=this.revoke)==null||t.dispose()),(e=this.mainController)==null||e.dispose(),this.disposers.forEach(i=>i()),this.disposers=[],this}}class km{constructor(t,e){v(this,"measureController");v(this,"textDom",document.createElement("span"));v(this,"container",document.createElement("div"));v(this,"hasAnchor",!1);v(this,"onModelChange",t=>{if(t==="Watch"){this.textDom.innerText="";return}this.textDom.innerText="\u8BF7\u9009\u62E9\u7B2C\u4E00\u4E2A\u6D4B\u91CF\u70B9\uFF0CEsc\u6216\u5355\u51FB\u9F20\u6807\u53F3\u952E\u53EF\u53D6\u6D88\u9009\u62E9"});v(this,"anchorChange",t=>{!this.hasAnchor&&!!t?(this.hasAnchor=!0,this.textDom.innerText="\u9009\u62E9\u4E0B\u4E00\u4E2A\u6D4B\u91CF\u70B9\uFF0CEsc\u6216\u5355\u51FB\u9F20\u6807\u53F3\u952E\u53D6\u6D88\u9009\u62E9"):t||(this.hasAnchor=!1,this.textDom.innerText="\u8BF7\u9009\u62E9\u7B2C\u4E00\u4E2A\u6D4B\u91CF\u70B9\uFF0CEsc\u6216\u5355\u51FB\u9F20\u6807\u53F3\u952E\u53EF\u53D6\u6D88\u9009\u62E9")});v(this,"onEditedLineChange",t=>{t.length===1&&(this.textDom.innerText="\u53EF\u4EE5\u8FDE\u7EED\u9009\u62E9\u6D4B\u91CF\u70B9\uFF0C\u6216\u70B9\u51FB\u4E0B\u65B9\u201C\u7ED3\u675F\u201D\u6309\u94AE\u5B8C\u6210\u6D4B\u91CF\uFF08Esc\u53D6\u6D88\uFF0CCommand+S\u4FDD\u5B58\uFF09")});this.initDom(),e.container.append(this.container),this.measureController=t,t.hook.on("modeChange",this.onModelChange),t.hook.on("anchorChange",this.anchorChange),t.hook.on("editedLineChange",this.onEditedLineChange)}dispose(){this.hide(),this.container.remove()}show(){return this.container.style.opacity="1",this.container.style.transform="translate(0, 0)",this}hide(){return this.container.style.opacity="0",this.container.style.transform="translate(0, -10px)",this.measureController.hook.off("modeChange",this.onModelChange),this.measureController.hook.off("anchorChange",this.anchorChange),this.measureController.hook.off("editedLineChange",this.onEditedLineChange),this}initDom(){const t=this.container,e=this.textDom;t.classList.add("fpm__guide-container"),t.style.position="absolute",t.style.top="0px",t.style.left="0px",t.style.width="100%",t.style.height="110px",t.style.display="flex",t.style.alignItems="center",t.style.justifyContent="center",t.style.transform="translate(0, -10px)",t.style.background="linear-gradient(180deg, rgba(0,0,0,0.40) 0%, rgba(0,0,0,0.00) 100%)",t.style.transition="opacity 500ms ease-in-out, transform 500ms ease-in-out",t.style.opacity="0",e.classList.add("fpm__guide-text"),e.style.color="#fff",e.style.fontSize="20px",e.innerText="\u70B9\u51FB\u4E0B\u65B9\u201C\u5F00\u59CB\u201D\u6309\u94AE\u5F00\u59CB\u6D4B\u8DDD",t.appendChild(e)}}class Dm{constructor(t,e){v(this,"five");v(this,"measureController");v(this,"onKeyDown",t=>{if(t.metaKey&&t.code==="KeyS"){this.measureController.save().changeMode("Watch"),t.preventDefault();return}if(t.code==="Escape")return this.escape()});v(this,"onMouseDown",t=>{t.button===2&&(t.preventDefault(),this.escape())});this.five=e,this.measureController=t;const i=this.five.getElement();!i||(document.body.addEventListener("keydown",this.onKeyDown),i.addEventListener("mousedown",this.onMouseDown))}dispose(){const t=this.five.getElement();!t||(document.body.removeEventListener("keydown",this.onKeyDown),t.removeEventListener("mousedown",this.onMouseDown))}escape(){return this.measureController.getCurrentMode()==="Watch"?this.measureController.disable():this.measureController.changeMode("Watch")}}const Lm="data:image/png;base64,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",Mm="data:image/png;base64,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",zm=`
443
+ <style>
444
+ .range-piece__container {
445
+ position: absolute;
446
+ top: 39%;
447
+ left: 50%;
448
+ margin-left: -54px;
449
+ width: 108px;
450
+ height: 108px;
451
+ display: flex;
452
+ align-items: center;
453
+ justify-content: center;
454
+ animation: pieceContainer 0.3s ease-in-out;
455
+ animation-fill-mode: forwards;
456
+ }
457
+ .range-piece__content {
458
+ width: 100%;
459
+ height: 100%;
460
+ background-image: url(${Lm});
461
+ opacity: 0.4;
462
+ background-size: 100%;
463
+ background-repeat: no-repeat;
464
+ transition: linear transform 0.1s;
465
+ }
466
+ .range-piece__content--active {
467
+ animation: dotting ease-in-out 0.5s;
468
+ }
469
+ .range-piece__aim {
470
+ width: 100%;
471
+ height: 100%;
472
+ opacity: 1;
473
+ position: absolute;
474
+ background: url(${Mm}) center / contain no-repeat;
475
+ }
476
+ @keyframes dotting {
477
+ 0% {
478
+ opacity: 0.4;
479
+ transform: scale(1);
480
+ }
481
+ 50% {
482
+ opacity: 1;
483
+ transform: scale(0.8);
484
+ }
485
+ 100% {
486
+ opacity: 0.4;
487
+ transform: scale(1);
488
+ }
489
+ }
490
+ @keyframes pieceContainer {
491
+ from {
492
+ top: 49%;
493
+ }
494
+ to {
495
+ top: 39%;
496
+ }
497
+ }
498
+ </style>
499
+ <div class="range-piece__container">
500
+ <div class='range-piece__content'></div>
501
+ <div class="range-piece__aim"></div>
502
+ </div>
503
+ `;function Om(){}const{Vector2:jm}=M;function Bm(n,t){const{offsetWidth:e,offsetHeight:i}=t,{top:s,left:o}=t.getBoundingClientRect();return Object.assign(new jm,{x:(n.x-o)/e*2-1,y:-(n.y-s)/i*2+1})}class Rm{constructor(t){v(this,"container",document.createElement("div"));v(this,"five");v(this,"group");v(this,"mouseGroup");v(this,"hasAppendMouseGroup",!1);v(this,"fiveHelper");v(this,"hook");v(this,"content");v(this,"intersectMesh");v(this,"centerMouseXY");v(this,"raycaster",new X.Raycaster);v(this,"pieceStyl",{matrix3d:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],scale:1,opacity:.4});v(this,"onCameraDirectionUpdate",()=>{const t=this.getIntersection();if(t){this.pieceChange(t),this.updateMouseGroup(t);const e=new Tt(this.mouseGroup.position);this.hook.emit("nowPointChange",e)}});v(this,"onWillChangeState",(t,e)=>{var s;this.dotAnimation();const i=(s=this.getIntersection())==null?void 0:s.point;!i||(e==="editing"?this.hook.emit("getStartPoint",new Tt(i)):this.hook.emit("getEndPoint",new Tt(i)))});v(this,"computedCenterMouseXY",()=>{const t=this.container.querySelector(".range-piece__aim");if(!t)return null;const{left:e,top:i,width:s,height:o}=t.getBoundingClientRect(),r=Math.round(e+s/2),l=Math.round(i+o/2),c=Bm({x:r,y:l},this.five.getElement());this.centerMouseXY=c});v(this,"getIntersection",()=>{if(!this.centerMouseXY)return null;this.raycaster.setFromCamera(this.centerMouseXY,this.five.camera);const t=this.five.model.intersectRaycaster(this.raycaster)[0];return t||null});this.five=t.five,this.hook=t.hook,this.group=t.group,this.mouseGroup=Sc({isMobile:!0,...t.openParams.crossHairParameter}),this.fiveHelper=t.fiveHelper,this.container.innerHTML=zm,this.container.classList.add("range-piece-controller"),this.content=this.container.querySelector(".range-piece__content"),this.content&&(this.content.style.transform=`matrix3d(${this.pieceStyl.matrix3d.toString()}) scale(${this.pieceStyl.scale})`,this.content.style.opacity=`${this.pieceStyl.opacity}`),t.container.append(this.container),this.intersectMesh=new X.Mesh(new X.RingGeometry(.04,.08,32),new X.MeshBasicMaterial({color:1245179,opacity:0,side:X.DoubleSide,transparent:!0})),this.container.addEventListener("animationend",this.computedCenterMouseXY),this.five.on("cameraUpdate",this.onCameraDirectionUpdate),this.hook.on("willChangeState",this.onWillChangeState)}dispose(){this.container.removeEventListener("animationend",this.computedCenterMouseXY),this.five.off("cameraUpdate",this.onCameraDirectionUpdate),this.hook.off("willChangeState",this.onWillChangeState),this.container.remove(),this.group.remove(this.mouseGroup),this.mouseGroup.remove(),this.hasAppendMouseGroup=!1,this.five.scene.remove(this.intersectMesh)}pieceChange(t){const e=t.face,i=t.point;if(e&&i){const o=e.normal.clone().clone().multiplyScalar(.05),r=i.clone().add(o);this.intersectMesh.position.copy(r);const l=r.clone().add(o);this.intersectMesh.lookAt(l),this.five.scene.add(this.intersectMesh);const a=this.intersectMesh.modelViewMatrix.clone().toArray();this.changePieceStyl("matrix3d",a);const c=this.calculateSize(i);this.changePieceStyl("scale",c)}}calculateSize(t){if(!t)return;const e=this.five.camera.position;let i=t.distanceTo(e);const s=4,o=1;return i>s&&(i=s),i<o&&(i=o),-.51/(s-o)*i+1}dotAnimation(){const t=Yn.Easing.Quadratic.InOut,e={opacity:.4,scale:this.pieceStyl.scale},i={opacity:[1,.4],scale:[this.pieceStyl.scale*.8,this.pieceStyl.scale]};let s=Om;const o=new Yn.Tween(e).to(i,500).easing(t).start(0).onUpdate(({opacity:r,scale:l})=>{this.changePieceStyl("scale",l),this.changePieceStyl("opacity",r)}).onComplete(()=>{s()});s=To(r=>{o.update(r)})}changePieceStyl(t,e){!this.content||(this.pieceStyl[t]=e,this.content.style.transform=`matrix3d(${this.pieceStyl.matrix3d.toString()}) scale(${this.pieceStyl.scale})`,this.content.style.opacity=`${this.pieceStyl.opacity}`)}updateMouseGroup(t,e){if(!this.hasAppendMouseGroup){this.group.add(this.mouseGroup),this.hasAppendMouseGroup=!0;const i=this.container.querySelector(".range-piece__aim");i&&(i.style.opacity="0")}if(!t)return this.mouseGroup;if(this.mouseGroup.position.copy(t.point),e)this.mouseGroup.quaternion.copy(e.quaternion);else if(t.face){const s=t.face.normal.clone().multiplyScalar(.05),r=t.point.clone().add(s).clone().add(s);this.mouseGroup.lookAt(r)}return this.mouseGroup}}class Hm{constructor(t,e){v(this,"hasOpen",!1);v(this,"hook",new ke.Subscribe);v(this,"magnifier");v(this,"five");v(this,"model");v(this,"group");v(this,"config");v(this,"fiveHelper");v(this,"useUIController");v(this,"params");v(this,"useGuideController");v(this,"rangePieceController");v(this,"container",document.createElement("div"));v(this,"shortcutKeyController");v(this,"controller",null);v(this,"controllerParams");v(this,"getCurrentMode",()=>this.controller instanceof Pi?"Edit":this.controller instanceof Ms?"Watch":this.controller instanceof ea?"Mixed":null);v(this,"changeMode",t=>{var i;if(!this.hasOpen||this.getCurrentMode()===t)return;if(this.getCurrentMode()==="Mixed"||t==="Mixed")return new Error("\u4E0D\u652F\u6301\u5207\u6362\u7684Mode");(i=this.controller)==null||i.dispose();const e={View:rm,Watch:Ms,Edit:Pi};if(!e[t])throw new Error("\u4E0D\u5B58\u5728\u7684 Mode");this.controller=new e[t](this.controllerParams),this.hook.emit("modeChange",t)});var o,r;this.five=t,this.params=e;const i={userDistanceItemCreator:void 0,getDistanceText(l){return l.toFixed(2)+"m"}};this.config={...i,...ss(e,["openParams","magnifierParams"])},this.model=new So(this.config),this.fiveHelper=new Wp(t),this.magnifier=new Cc(t,(o=e.magnifierParams)!=null?o:{width:190,height:190,scale:2}),this.group=new X.Group,this.group.name="plugin-measure-group",this.container.classList.add("five-plugin-measure-container"),this.container.style.position="absolute",this.container.style.left="0",this.container.style.top="0",this.container.style.pointerEvents="none",this.container.style.width="100%",this.container.style.height="100%",this.container.style.opacity="0",this.container.style.background="rgba(0, 0, 0, 0.15)";const s=(r=this.params.openParams)!=null?r:{};this.controllerParams={five:this.five,hook:this.hook,group:this.group,model:this.model,config:this.config,magnifier:this.magnifier,container:this.container,fiveHelper:this.fiveHelper,openParams:s,mouseGroup:Sc({...s.crossHairParameter}),userDistanceItemCreator:this.params.userDistanceItemCreator},this.params.useUIController!==!1&&(this.useUIController=new ta(this,this.controllerParams)),this.params.useGuideController!==!1&&(this.useGuideController=new km(this,this.controllerParams))}appendTo(t){t.append(this.container)}dispose(){var t,e;this.disable(),(t=this.useUIController)==null||t.dispose(),(e=this.magnifier)==null||e.dispose(),this.five.needsRender=!0}load(t){this.model.parse(t),this.save()}enable(){var t,e,i;this.hasOpen||(this.hasOpen=!0,this.five.scene.add(this.group),this.container.style.opacity="1",(t=this.params.openParams)!=null&&t.isMobile?(this.controller=new ea(this.controllerParams),this.rangePieceController=new Rm(this.controllerParams)):(this.five.helperVisible=!1,this.controller=new Ms(this.controllerParams)),(e=this.useUIController)==null||e.show(),(i=this.useGuideController)==null||i.show(),this.shortcutKeyController=new Dm(this,this.five),this.hook.emit("enable",!0))}disable(){var t,e,i,s,o;this.hasOpen=!1,this.container.style.opacity="0",(t=this.controller)==null||t.dispose(),(e=this.rangePieceController)==null||e.dispose(),(i=this.useUIController)==null||i.hide(),(s=this.useGuideController)==null||s.hide(),(o=this.shortcutKeyController)==null||o.dispose(),this.controller=null,this.five.helperVisible=!0,this.five.scene.remove(this.group),this.five.needsRender=!0,this.hook.emit("disable",!0)}revoke(){this.controller instanceof Pi&&this.controller.revoke()}removeLineByID(t){this.model.removeLineByID(t)}highlightLine(t){if(this.getCurrentMode()!=="Watch")return!1;const e=this.model.getLineByID(t);return e?(this.controller.highlightLine(e),!0):!1}clearHighlightLines(){return this.getCurrentMode()!=="Watch"?!1:(this.controller.clearHighlightLines(),!0)}save(){return this.controller instanceof Pi?(this.model.mergeModel(this.controller.model),this):this}toJson(){return this.model.toJson()}changeIsMobile(t){var e,i;((e=this.controllerParams.openParams)==null?void 0:e.isMobile)===void 0&&(this.controllerParams.openParams.isMobile=t),this.controllerParams.openParams.isMobile!==t&&(this.controllerParams.openParams.isMobile=t,this.params.useUIController!==!1&&((i=this.useUIController)==null||i.dispose()),this.useUIController=new ta(this,this.controllerParams))}changeConfigs(t){var e;if(t.getDistanceText&&t.getDistanceText!==this.config.getDistanceText){const i=t.getDistanceText;this.config.getDistanceText=i,(e=this.controller)==null||e.updateDistanceUI()}}}const Fm=function(t,e){return new Hm(t,e)},zc=yo(null);function Nm(n){me(n,"svelte-19zi46m",".PanoSpatialTagPlugin__tag-origin.svelte-19zi46m{position:absolute;width:0.5rem;height:0.5rem;border-radius:50%;background:#fff;box-shadow:0 0 .6rem #fff;transform:translate(-50%, -50%) scale(1);transform-origin:center center;animation:svelte-19zi46m-PanoSpatialTagPlugin__tag-origin 1.2s forwards;pointer-events:auto}.PanoSpatialTagPlugin__tag-origin.svelte-19zi46m:after{content:'';position:absolute;top:50%;height:50%;width:2rem;height:2rem;transform:translate(-50%, -50%)}.PanoSpatialTagPlugin__tag-origin-destroy.svelte-19zi46m{transform:translate(-50%, -50%) scale(0.6);animation:svelte-19zi46m-PanoSpatialTagPlugin__tag-origin-destroy 1.2s forwards .7s}@keyframes svelte-19zi46m-PanoSpatialTagPlugin__tag-origin{0%{transform:translate(-50%, -50%) scale(1);opacity:0}100%{transform:translate(-50%, -50%) scale(0.6);opacity:1 }}@keyframes svelte-19zi46m-PanoSpatialTagPlugin__tag-origin-destroy{0%{transform:translate(-50%, -50%) scale(0.6);opacity:1}10%{transform:translate(-50%, -50%) scale(1);opacity:0.9}100%{transform:translate(-50%, -50%) scale(1);opacity:0}}")}function na(n,t,e){const i=n.slice();return i[3]=t[e],i}function ia(n){let t,e=`${n[3].top}%`,i=`${n[3].left}%`,s,o;function r(){return n[2](n[3])}return{c(){t=G("i"),C(t,"class","svelte-19zi46m"),ie(t,"PanoSpatialTagPlugin__tag-origin",!0),ie(t,"PanoSpatialTagPlugin__tag-origin-destroy",n[3].destroying),W(t,"top",e),W(t,"left",i),W(t,"visibility",n[3].front?"visible":"hidden")},m(l,a){F(l,t,a),s||(o=je(t,"click",r),s=!0)},p(l,a){n=l,a&1&&ie(t,"PanoSpatialTagPlugin__tag-origin-destroy",n[3].destroying),a&1&&e!==(e=`${n[3].top}%`)&&W(t,"top",e),a&1&&i!==(i=`${n[3].left}%`)&&W(t,"left",i),a&1&&W(t,"visibility",n[3].front?"visible":"hidden")},d(l){l&&R(t),s=!1,o()}}}function Gm(n){let t,e=n[0],i=[];for(let s=0;s<e.length;s+=1)i[s]=ia(na(n,e,s));return{c(){for(let s=0;s<i.length;s+=1)i[s].c();t=Ce()},m(s,o){for(let r=0;r<i.length;r+=1)i[r].m(s,o);F(s,t,o)},p(s,[o]){if(o&3){e=s[0];let r;for(r=0;r<e.length;r+=1){const l=na(s,e,r);i[r]?i[r].p(l,o):(i[r]=ia(l),i[r].c(),i[r].m(t.parentNode,t))}for(;r<i.length;r+=1)i[r].d(1);i.length=e.length}},i:ce,o:ce,d(s){Dt(i,s),s&&R(t)}}}function _m(n,t,e){let{origins:i}=t;const s=r=>{zc.update(()=>`${r}-PanoSpatialTagPlugin-${Date.now()}`)},o=r=>s(r.id);return n.$$set=r=>{"origins"in r&&e(0,i=r.origins)},[i,s,o]}class Qm extends fe{constructor(t){super(),de(this,t,_m,Gm,ue,{origins:0},Nm)}}function Wm(n){me(n,"svelte-1i5h9zh",".PanoSpatialTagPlugin__tag-x.svelte-1i5h9zh.svelte-1i5h9zh{position:absolute;top:0;left:0;display:block;white-space:nowrap;box-sizing:border-box;width:25rem;height:14rem;color:#FFF;transform:translate(0, -100%);transition:height .5s linear}.PanoSpatialTagPlugin__tag-shadow.svelte-1i5h9zh.svelte-1i5h9zh{content:'';position:absolute;width:30rem;height:30rem;top:-15rem;left:-15rem;z-index:-1;opacity:0;transition:opacity .8s .6s;background:url('https://vrlab-image4.ljcdn.com/release/web/PanoSpatialTagPlugin__blur.png');background-size:30rem 30rem}.PanoSpatialTagPlugin__tag-line.svelte-1i5h9zh.svelte-1i5h9zh{position:absolute;left:-1rem;width:2rem;height:100%;overflow:hidden}.PanoSpatialTagPlugin__tag-flagpole.svelte-1i5h9zh.svelte-1i5h9zh{position:absolute;top:0;left:1rem;height:calc(100% - 1.5rem);width:.15rem;background:linear-gradient(to bottom, rgba(255, 255, 255, 1), rgba(255, 255, 255, .1));box-shadow:0 .1rem .5rem rgba(0, 0, 0, .2);opacity:0;transform:translate(-50%, 60%) scaleY(0);transition:transform .4s cubic-bezier(.44,.44,.74,.98) , opacity .4s cubic-bezier(.44,.44,.74,.98), width .5s linear, height .5s linear ;transform-origin:center bottom}.PanoSpatialTagPlugin__tag-line1.svelte-1i5h9zh.svelte-1i5h9zh{position:absolute;top:0;left:0.3rem;height:1.8rem;width:.1rem;background:#fff;opacity:0;transform:translate(-50%, 200%) scaleY(0);transform-origin:center top}.PanoSpatialTagPlugin__tag-line2.svelte-1i5h9zh.svelte-1i5h9zh{position:absolute;top:0;left:0.5rem;height:1.8rem;width:.1rem;background:#fff;opacity:0;transform:translate(-50%, 200%) scaleY(0);transform-origin:center top}.PanoSpatialTagPlugin__tag-show.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-line1.svelte-1i5h9zh{animation:svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line1 linear .5s forwards .45s}.PanoSpatialTagPlugin__tag-show.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-line2.svelte-1i5h9zh{animation:svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line2 linear .5s forwards .65s}.PanoSpatialTagPlugin__tag-x.PanoSpatialTagPlugin__tag-upside-down.svelte-1i5h9zh.svelte-1i5h9zh{transform:translate(0, 0)}.PanoSpatialTagPlugin__tag-upside-down.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-line.svelte-1i5h9zh{transform:scaleY(-1)}.PanoSpatialTagPlugin__tag-animate.svelte-1i5h9zh.svelte-1i5h9zh{position:relative;height:100%;overflow:hidden;transform-origin:left top;transition:transform .5s linear}.PanoSpatialTagPlugin__tag-upside-down.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-animate.svelte-1i5h9zh{transform-origin:left bottom}.PanoSpatialTagPlugin__tag-content.svelte-1i5h9zh.svelte-1i5h9zh{position:absolute;display:inline-block;transform:translate(-100%, 0);transition:transform .9s cubic-bezier(0,.65,.16,1.08) .6s;padding-left:.5rem;font-size:1rem}.PanoSpatialTagPlugin__tag-upside-down.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-content.svelte-1i5h9zh{bottom:0}.PanoSpatialTagPlugin__tag-show.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-flagpole.svelte-1i5h9zh{opacity:1;transform:translate(-50%, 0) scaleY(1)}.PanoSpatialTagPlugin__tag-upside-down.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-shadow.svelte-1i5h9zh{top:unset;bottom:-15rem}.PanoSpatialTagPlugin__tag-show.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-shadow.svelte-1i5h9zh{opacity:.32}.PanoSpatialTagPlugin__tag-show.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-content.svelte-1i5h9zh{transform:translate(0, 0)}.PanoSpatialTagPlugin__tag-hide.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-flagpole.svelte-1i5h9zh{opacity:0;transform:translate(-50%, 60%) scaleY(0);transition:transform .5s .55s, opacity .4s .55s}.PanoSpatialTagPlugin__tag-hide.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-shadow.svelte-1i5h9zh{opacity:0;transition:opacity .8s}.PanoSpatialTagPlugin__tag-hide.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-content.svelte-1i5h9zh{transform:translate(-100%, 0);transition:transform .6s cubic-bezier(.53,.06,.88,.59)}.PanoSpatialTagPlugin__tag-hide.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-content .svelte-1i5h9zh{pointer-events:none}.PanoSpatialTagPlugin__tag-hide.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-line1.svelte-1i5h9zh{opacity:0.5;transform:translate(-50%, 10%) scaleY(0);animation:svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line1-hide linear .28s forwards .3s}.PanoSpatialTagPlugin__tag-hide.svelte-1i5h9zh .PanoSpatialTagPlugin__tag-line2.svelte-1i5h9zh{opacity:0.5;transform:translate(-50%, 0) scaleY(0);animation:svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line2-hide linear .28s forwards .45s}@keyframes svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line1{0%{opacity:0;transform:translate(-50%, 250%) scaleY(1)}50%{opacity:0.5;transform:translate(-50%, 135%) scaleY(1)}100%{opacity:0.5;transform:translate(-50%, 20%) scaleY(0)}}@keyframes svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line2{0%{opacity:0;transform:translate(-50%, 250%) scaleY(1)}50%{opacity:0.5;transform:translate(-50%, 125%) scaleY(1)}100%{opacity:0.5;transform:translate(-50%, 0) scaleY(0)}}@keyframes svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line1-hide{0%{opacity:0.5;transform:translate(-50%, 10%) scaleY(0)}50%{opacity:0.2;transform:translate(-50%, 105%) scaleY(1)}100%{opacity:0;transform:translate(-50%, 200%) scaleY(0)}}@keyframes svelte-1i5h9zh-PanoSpatialTagPlugin__tag-line2-hide{0%{opacity:0.5;transform:translate(-50%, 0) scaleY(0)}50%{opacity:0.2;transform:translate(-50%, 100%) scaleY(1)}100%{opacity:0;transform:translate(-50%, 200%) scaleY(0)}}")}function Xm(n){let t,e,i,s,o,r,l,a,c,u,d,f,h,p,m;return{c(){t=G("div"),e=G("div"),i=K(),s=G("div"),o=G("i"),r=K(),l=G("i"),a=K(),c=G("i"),u=K(),d=G("div"),f=G("div"),C(e,"class","PanoSpatialTagPlugin__tag-shadow svelte-1i5h9zh"),W(e,"transform","translate("+n[7]/2*n[3]*3+"px, "+n[8]/2*(n[1]?-1:1)*n[3]*3+"px) scale("+1/n[3]+")"),C(o,"class","PanoSpatialTagPlugin__tag-flagpole svelte-1i5h9zh"),W(o,"width",n[4]+"rem"),C(l,"class","PanoSpatialTagPlugin__tag-line1 svelte-1i5h9zh"),C(c,"class","PanoSpatialTagPlugin__tag-line2 svelte-1i5h9zh"),C(s,"class","PanoSpatialTagPlugin__tag-line svelte-1i5h9zh"),C(f,"class","PanoSpatialTagPlugin__tag-content svelte-1i5h9zh"),C(d,"class","PanoSpatialTagPlugin__tag-animate svelte-1i5h9zh"),W(d,"transform","scale("+n[3]*3+")"),C(t,"id",h="PanoSpatialTagPlugin__"+n[0]),W(t,"height",20*n[5]+"rem"),C(t,"class","svelte-1i5h9zh"),ie(t,"PanoSpatialTagPlugin__tag-x",!0),ie(t,"PanoSpatialTagPlugin__tag-upside-down",n[1]),ie(t,"PanoSpatialTagPlugin__tag-show",n[10]),ie(t,"PanoSpatialTagPlugin__tag-hide",n[10]===!1||n[6])},m(g,b){F(g,t,b),_(t,e),_(t,i),_(t,s),_(s,o),_(s,r),_(s,l),_(s,a),_(s,c),_(t,u),_(t,d),_(d,f),f.innerHTML=n[2],n[16](f),p||(m=je(f,"click",n[11]),p=!0)},p(g,[b]){b&394&&W(e,"transform","translate("+g[7]/2*g[3]*3+"px, "+g[8]/2*(g[1]?-1:1)*g[3]*3+"px) scale("+1/g[3]+")"),b&16&&W(o,"width",g[4]+"rem"),b&4&&(f.innerHTML=g[2]),b&8&&W(d,"transform","scale("+g[3]*3+")"),b&1&&h!==(h="PanoSpatialTagPlugin__"+g[0])&&C(t,"id",h),b&32&&W(t,"height",20*g[5]+"rem"),b&2&&ie(t,"PanoSpatialTagPlugin__tag-upside-down",g[1]),b&1024&&ie(t,"PanoSpatialTagPlugin__tag-show",g[10]),b&1088&&ie(t,"PanoSpatialTagPlugin__tag-hide",g[10]===!1||g[6])},i:ce,o:ce,d(g){g&&R(t),n[16](null),p=!1,m()}}}function Vm(n,t,e){let{id:i}=t,{upsideDown:s}=t,{content:o}=t,{contentZoom:r}=t,{lineWidthZoom:l}=t,{lineHeightZoom:a}=t,{destroying:c=!1}=t,{folded:u}=t,{dispose:d}=t,{events:f}=t,{hooks:h}=t,p=0,m=0,g,b,A=setTimeout(()=>{u||e(10,b=!0),A=void 0},100);const y=E=>{const D=Object.keys(f);let T=E.target;for(;T;){const B=T.getAttribute("class");if(!B){T=T.parentNode;continue}if(B.includes("PanoSpatialTagPlugin__tag-content")){T=null;break}D.forEach(z=>{B.includes(z)&&f[z](i)}),T=T.parentNode}};mt(()=>{h.emit("initTag",{id:i})});const I=zc.subscribe(E=>{if(E===null)return;const[D,T]=E.split("-PanoSpatialTagPlugin-");i===D&&(h.emit("clickOrigin",{id:i,show:b}),A||(e(10,b=u),e(12,u=!u),A=setTimeout(()=>{A=void 0},1500)))});bo(()=>{e(7,p=g.offsetWidth),e(8,m=g.offsetHeight),!A&&e(10,b=!u)}),en(()=>{h.emit("destroyTag",{id:i}),I(),d()});function k(E){Xe[E?"unshift":"push"](()=>{g=E,e(9,g)})}return n.$$set=E=>{"id"in E&&e(0,i=E.id),"upsideDown"in E&&e(1,s=E.upsideDown),"content"in E&&e(2,o=E.content),"contentZoom"in E&&e(3,r=E.contentZoom),"lineWidthZoom"in E&&e(4,l=E.lineWidthZoom),"lineHeightZoom"in E&&e(5,a=E.lineHeightZoom),"destroying"in E&&e(6,c=E.destroying),"folded"in E&&e(12,u=E.folded),"dispose"in E&&e(13,d=E.dispose),"events"in E&&e(14,f=E.events),"hooks"in E&&e(15,h=E.hooks)},[i,s,o,r,l,a,c,p,m,g,b,y,u,d,f,h,k]}class Ym extends fe{constructor(t){super(),de(this,t,Vm,Xm,ue,{id:0,upsideDown:1,content:2,contentZoom:3,lineWidthZoom:4,lineHeightZoom:5,destroying:6,folded:12,dispose:13,events:14,hooks:15},Wm)}}const Um={position:"absolute",top:"0px",left:"0px",width:"100%",height:"100%",pointerEvents:"none"},sa="<",oa=">",ra="%",aa="locals",Zm="(<%%|%%>|<%=|<%-|<%_|<%#|<%|%>|-%>|_%>)",Jm={"&":"&amp","<":"&lt",">":"&gt",'"':"&#34","'":"&#39"},qe={EVAL:"eval",ESCAPED:"escaped",RAW:"raw",COMMENT:"comment",LITERAL:"literal"};function la(n){return n.replace(/;(\s*$)/,"$1")}function qm(n,t){return new Km(n).compileFunction()(t)}class Km{constructor(t){v(this,"templateText");v(this,"mode",null);v(this,"truncate",!1);v(this,"currentLine",1);v(this,"source","");v(this,"regex",new RegExp(Zm));this.templateText=t}compileFunction(){let t;const e=` var __output = "";
504
+ function __append(s) { if (s !== undefined && s !== null) __output += s }
505
+ with (`+aa+` || {}) {
506
+ `,i=` }
507
+ return __output;
508
+ `,s=function(o){return o==null?"":String(o).replace(/[&<>'"]/g,function(r){return Jm[r]||r})};return this._generateSource(),this.source=e+this.source+i,t=this.source,t="escapeFn = escapeFn || "+s.toString()+`;
509
+ `+t,new Function(aa+", escapeFn",t)}_generateSource(){this.templateText=this.templateText.replace(/[ \t]*<%_/gm,"<%_").replace(/_%>[ \t]*/gm,"_%>");const t=this._parseTemplateText(),e=ra,i=sa,s=oa;t&&t.length&&t.forEach((o,r)=>{let l;if(o.indexOf(i+e)===0&&o.indexOf(i+e+e)!==0&&(l=t[r+2],!(l==e+s||l=="-"+e+s||l=="_"+e+s)))throw new Error('Could not find matching close tag for "'+o+'".');this._scanLine(o)})}_parseTemplateText(){let t=this.templateText;const e=this.regex;let i=e.exec(t);const s=[];let o;for(;i;)o=i.index,o!==0&&(s.push(t.substring(0,o)),t=t.slice(o)),s.push(i[0]),t=t.slice(i[0].length),i=e.exec(t);return t&&s.push(t),s}_addOutput(t){if(this.truncate&&(t=t.replace(/^(?:\r\n|\r|\n)/,""),this.truncate=!1),!t)return t;t=t.replace(/\\/g,"\\\\"),t=t.replace(/\n/g,"\\n"),t=t.replace(/\r/g,"\\r"),t=t.replace(/"/g,'\\"'),this.source+=' ; __append("'+t+`")
510
+ `}_scanLine(t){const e=ra,i=sa,s=oa;switch(t.split(`
511
+ `).length-1,t){case i+e:case i+e+"_":this.mode=qe.EVAL;break;case i+e+"=":this.mode=qe.ESCAPED;break;case i+e+"-":this.mode=qe.RAW;break;case i+e+"#":this.mode=qe.COMMENT;break;case i+e+e:this.mode=qe.LITERAL,this.source+=' ; __append("'+t.replace(i+e+e,i+e)+`")
512
+ `;break;case e+e+s:this.mode=qe.LITERAL,this.source+=' ; __append("'+t.replace(e+e+s,e+s)+`")
513
+ `;break;case e+s:case"-"+e+s:case"_"+e+s:this.mode==qe.LITERAL&&this._addOutput(t),this.mode=null,this.truncate=t.indexOf("-")===0||t.indexOf("_")===0;break;default:if(this.mode){switch(this.mode){case qe.EVAL:case qe.ESCAPED:case qe.RAW:t.lastIndexOf("//")>t.lastIndexOf(`
514
+ `)&&(t+=`
515
+ `)}switch(this.mode){case qe.EVAL:this.source+=" ; "+t+`
516
+ `;break;case qe.ESCAPED:this.source+=" ; __append(escapeFn("+la(t)+`))
517
+ `;break;case qe.RAW:this.source+=" ; __append("+la(t)+`)
518
+ `;break;case qe.COMMENT:break;case qe.LITERAL:this._addOutput(t);break}}else this._addOutput(t)}}}const zs=.001,ca=.01,$m="https://vrlab-image4.ljcdn.com/release/web/PanoSpatialTagPlugin__blur.png",eg=(n,t)=>{var J,q,he,le,Ae,xe,De,Ne;let e=t==null?void 0:t.container,i=1.4;const s=(J=t==null?void 0:t.wait)!=null?J:200,o=(q=t==null?void 0:t.maxNumberOnScreen)!=null?q:3,r=(he=t==null?void 0:t.minRad)!=null?he:Math.PI/4,l=(le=t==null?void 0:t.nearTolerance)!=null?le:100,a=(Ae=t==null?void 0:t.upsideHeight)!=null?Ae:1.6,c=(xe=t==null?void 0:t.minDistance)!=null?xe:1.2,u=(De=t==null?void 0:t.maxDistance)!=null?De:3.5,d=Kn(n),f=document.createElement("div");f.classList.add("PanoSpatialTagPlugin"),Object.assign(f.style,Um);const h=new ke.Subscribe;let p=new Image;p.src=$m;const m={points:[],origins:[],tags:[],template:"",events:{},render:qm,folded:!1,enabled:!0,forbidden:!0},g=new Qm({target:f,props:{origins:m.origins}}),b=(ee,we)=>{k(),we&&E()},A=()=>{m.forbidden&&(m.forbidden=!1,E())},y=(ee,we)=>{if(m.tags.length===0)return;const ye=we.longitude-n.state.longitude,ne=n.camera.clone();ne.position.copy(we.offset),ne.rotateOnWorldAxis(new M.Vector3(0,1,0),ye),ne.updateProjectionMatrix(),ne.updateMatrixWorld(!0);const Ke=new M.Frustum,it=new M.Matrix4;it.multiplyMatrices(ne.projectionMatrix,ne.matrixWorldInverse),Ke.setFromProjectionMatrix(it),m.tags.forEach(Ee=>{const $e=ne.position.clone().setY(i).distanceTo(Ee.position);if($e<c||$e>u||!Ke.containsPoint(Ee.position))return Ee.destroying=!0;const et=Ee.position.clone().sub(ne.position).setY(0);if(et.angleTo(Ee.normal)>Math.PI/2-r&&et.angleTo(Ee.normal)<Math.PI/2+r)return Ee.destroying=!0}),m.tags.forEach(Ee=>{Ee.destroying?Ee.app.$set({contentZoom:.1+ne.position.distanceTo(Ee.position)/u,lineWidthZoom:.38*(.01+ne.position.distanceTo(Ee.position)/u),destroying:Ee.destroying}):Ee.app.$set({lineWidthZoom:.38*(.01+ne.position.distanceTo(Ee.position)/u),lineHeightZoom:.4+(ne.position.distanceTo(Ee.position)-c)/u*.6,contentZoom:.1+ne.position.distanceTo(Ee.position)/u})}),setTimeout(()=>{m.tags.forEach(Ee=>{Ee.destroying&&(Ee.app.$destroy(),Ee=null)}),m.tags=m.tags.filter(Ee=>!Ee.destroying),k()},1900)},I=ee=>{ee!==ke.Five.Mode.Panorama&&!m.forbidden&&(g.$set({origins:[]}),m.tags.forEach(we=>{we.app.$destroy(),we=null}),m.origins=[],m.tags=[],m.forbidden=!0)},k=()=>{if(m.forbidden||!m.enabled)return;const ee=n.camera,we=ee.getWorldDirection(new M.Vector3);m.origins=m.tags.map(ye=>{const ne=ye.position.clone().project(ee),Ke=ye.position.clone().sub(ee.position).setY(0).angleTo(we.setY(0))<Math.PI/2;return{id:ye.id,front:Ke,left:(ne.x+1)/2*100,top:(-ne.y+1)/2*100,destroying:ye.destroying}}),g.$set({origins:m.origins})},E=()=>{m.forbidden||!m.enabled||(m.timeoutId&&clearTimeout(m.timeoutId),m.timeoutId=setTimeout(()=>{m.timeoutId=void 0;const ee=D();ee.length&&(m.tags=m.tags.concat(ee),k())},s))},D=()=>{const{clientWidth:ee,clientHeight:we}=n.getElement(),ye=[],ne=n.camera,Ke=new M.Frustum,it=new M.Matrix4,Ee=ne.getWorldDirection(new M.Vector3);it.multiplyMatrices(ne.projectionMatrix,ne.matrixWorldInverse),Ke.setFromProjectionMatrix(it);const $e=m.tags.filter(Se=>Ke.containsPoint(Se.position)&&!Se.destroying).length,et=m.points.reduce((Se,ze)=>{if(m.tags.find(He=>ze.id===He.id&&!He.destroying))return Se;const st=ne.position.clone().setY(i).distanceTo(ze.position);if(st<c||st>u||!Ke.containsPoint(ze.position))return Se;const _t=ze.position.clone().sub(ne.position).setY(0);if(_t.angleTo(ze.normal)>Math.PI/2-r&&_t.angleTo(ze.normal)<Math.PI/2+r)return Se;const dt=ze.position.clone().project(ne);if(!m.tags.every(He=>{if(He.position.clone().sub(ne.position).setY(0).angleTo(Ee.setY(0))>Math.PI/2)return!0;const Lt=He.position.clone().project(ne);return Math.sqrt(Math.pow((dt.x-Lt.x)/2*ee,2)+Math.pow((dt.y-Lt.y)/2*we,2))>l}))return Se;const Be={id:ze.id,position:ze.position,normal:ze.normal,replacement:ze.replacement,weight:ze.weight,distance:st};let Le;for(let He=0,Lt=Se.length;He<Lt;He++){const An=Se[He];if(Be.weight>An.weight){Le=He;break}if(Be.distance<An.distance){Le=He;break}}return Le!==void 0?Se.splice(Le,0,Be):Se.push(Be),Se},[]);for(let Se=0,ze=et.length;Se<ze&&!($e+ye.length>=o);Se++){const st=et[Se];if(ye.find(Le=>st.id===Le.id))continue;const _t=st.position.clone().project(ne);if(!m.tags.concat(ye).every(Le=>{if(Le.position.clone().sub(ne.position).setY(0).angleTo(Ee.setY(0))>Math.PI/2)return!0;const He=Le.position.clone().project(ne);return Math.sqrt(Math.pow((_t.x-He.x)/2*ee,2)+Math.pow((_t.y-He.y)/2*we,2))>l}))continue;const dt=new M.Raycaster(ne.position.clone().setY(i),st.position.clone().sub(ne.position.clone().setY(i)).normalize(),0,st.distance+ca),[Be]=m.intersectObjects?dt.intersectObjects(m.intersectObjects,!0):n.model.bvhs.loaded?n.model.intersectRaycaster(dt):dt.intersectObjects(n.model.children,!0);if(!!Be&&st.distance-Be.distance<ca){const{position:Le,normal:He,id:Lt,replacement:An}=st,ms=new M.Plane().setFromNormalAndCoplanarPoint(He,Le),zn=Le.clone().sub(ne.position).cross(new M.Vector3(0,1,0)).setLength(zs),ei=[Le.clone(),Le.clone().add(zn),Le.clone().add(new M.Vector3(0,zs,0)).add(zn),Le.clone().add(new M.Vector3(0,zs,0))].map(On=>ms.projectPoint(On,new M.Vector3)),{container:ti,dispose:ni}=d.create3DDomContainer(ei)||{},yn=new Ym({target:ti,props:{id:Lt,content:m.render(m.template,An),lineWidthZoom:.38*(.01+ne.position.distanceTo(Le)/u),lineHeightZoom:.4+(ne.position.distanceTo(Le)-c)/u*.6,contentZoom:.1+ne.position.distanceTo(Le)/u,upsideDown:Le.y>a,folded:m.folded,events:m.events,hooks:h,dispose:ni}});ye.push({position:Le,normal:He,id:Lt,app:yn})}}return ye},T=ee=>{m.points=ee.points.map(we=>{var ye,ne;return{id:we.id,position:new M.Vector3().fromArray(we.position),normal:new M.Vector3().fromArray(we.normal),replacement:(ye=we.replacement)!=null?ye:{},weight:(ne=we.weight)!=null?ne:-1}}),ee.render&&(m.render=ee.render),ee.template&&(m.template=ee.template),ee.events&&(m.events=ee.events),ee.enabled===!1&&(m.enabled=ee.enabled),ee.folded===!0&&(m.folded=ee.folded)},B=ee=>{m.intersectObjects=ee,E()},z=()=>{m.enabled=!0,E()},j=()=>{m.enabled=!1,g.$set({origins:[]}),m.tags.forEach(ee=>{ee.app.$destroy(),ee=null}),m.origins=[],m.tags=[]},Y=()=>{m.folded=!1,m.tags.forEach(ee=>{ee.app.$set({folded:m.folded})})},x=()=>{m.folded=!0,m.tags.forEach(ee=>{ee.app.$set({folded:m.folded})})},O=ee=>{m.tags.forEach(we=>{we.id===ee&&we.app.$set({folded:!1})})},Q=ee=>{m.tags.forEach(we=>{we.id===ee&&we.app.$set({folded:!0})})},V=()=>{n.once("renderFrame",k)},U=()=>{e||(e=n.getElement().parentElement),e&&e.appendChild(f),m.forbidden=!1,i=n.model.bounding.getCenter(new M.Vector3).y,E(),n.on("panoWillArrive",y),n.on("panoArrived",A),n.on("modeChange",I),n.on("cameraUpdate",b)},$=()=>{p=null,d.disposeAll(),g.$destroy(),m.tags.forEach(ee=>{ee.app.$destroy(),ee=null}),m.origins=[],m.tags=[],n.off("modelLoaded",U),n.off("renderFrame",k),n.off("panoWillArrive",y),n.off("panoArrived",A),n.off("modeChange",I),n.off("cameraUpdate",b),n.off("dispose",$),window.removeEventListener("resize",V,!1)};return window.addEventListener("resize",V,!1),(Ne=n==null?void 0:n.model)!=null&&Ne.loaded?U():n.once("modelLoaded",U),n.on("dispose",$),{load:T,setIntersectObjects:B,unfoldAll:Y,foldAll:x,unfold:O,fold:Q,enable:z,disable:j,hooks:h,dispose:$}};var dn=(n=>(n.SMALL="small",n.MIDLLE="middle",n.LARGE="large",n.EXTRA_LARGE="x-large",n))(dn||{}),Oc={exports:{}};/*!
519
+ Copyright (c) 2018 Jed Watson.
520
+ Licensed under the MIT License (MIT), see
521
+ http://jedwatson.github.io/classnames
522
+ */(function(n){(function(){var t={}.hasOwnProperty;function e(){for(var i=[],s=0;s<arguments.length;s++){var o=arguments[s];if(!!o){var r=typeof o;if(r==="string"||r==="number")i.push(o);else if(Array.isArray(o)){if(o.length){var l=e.apply(null,o);l&&i.push(l)}}else if(r==="object"){if(o.toString!==Object.prototype.toString&&!o.toString.toString().includes("[native code]")){i.push(o.toString());continue}for(var a in o)t.call(o,a)&&o[a]&&i.push(a)}}}return i.join(" ")}n.exports?(e.default=e,n.exports=e):window.classNames=e})()})(Oc);const wt=Oc.exports;function tg(n){me(n,"svelte-1ir3cyd",`.item-label-item.svelte-1ir3cyd{position:absolute;z-index:0;transform:none;cursor:pointer;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:0}.item-label-item.visible.svelte-1ir3cyd{opacity:1;animation:svelte-1ir3cyd-fadeIn .3s ease-in}.item-label-item__text-wrap.svelte-1ir3cyd::before{content:'';position:absolute;width:100%;height:100%;background-color:rgba(0, 0, 0, .3);filter:blur(1rem);z-index:-1}.item-label-item__text-wrap.svelte-1ir3cyd{padding:0.375rem 0.375rem 0;position:absolute;height:1.25rem;pointer-events:all;background-size:100% 100%;background-repeat:no-repeat;white-space:nowrap;line-height:0.625rem;font-size:0.6875rem;font-weight:bold;color:#FFEAC0;transform:translate(-50%, 0);display:flex;justify-content:center;align-items:center}.item-label-item__text.svelte-1ir3cyd{padding-bottom:0.25rem;border-top:0 solid;border-left:0 solid;border-right:0 solid;border-bottom:0.0625rem solid;-o-border-image:linear-gradient(to right, rgba(234, 208, 154, 0), rgba(234, 208, 154, 100), rgba(234, 208, 154, 0)) 4.5 1 4.5;border-image:linear-gradient(to right, rgba(234, 208, 154, 0), rgba(234, 208, 154, 100), rgba(234, 208, 154, 0)) 4.5 1 4.5}.item-label-item__bar.svelte-1ir3cyd{position:absolute;bottom:0;width:0.0625rem;background-image:linear-gradient(to bottom, rgba(234, 208, 154, 0), rgba(234, 208, 154, 1))}@keyframes svelte-1ir3cyd-fadeIn{from{opacity:0
523
+ }to{opacity:1
524
+ }}`)}function ng(n){let t,e,i,s=(n[0].name.length>6?`${n[0].name.slice(0,6)}...`:n[0].name)+"",o,r,l,a,c,u;return{c(){t=G("div"),e=G("div"),i=G("span"),o=Fe(s),r=K(),l=G("div"),C(i,"class","item-label-item__text svelte-1ir3cyd"),C(e,"class","item-label-item__text-wrap svelte-1ir3cyd"),W(e,"top",`-${n[0].strokeLength+26}px`),C(l,"class","item-label-item__bar svelte-1ir3cyd"),W(l,"height",`${n[0].strokeLength}px`),C(t,"class",a=Ue(wt("item-label-item",{visible:n[0].visible}))+" svelte-1ir3cyd"),W(t,"z-index",n[0].zIndex),W(t,"transform",n[0].transform)},m(d,f){F(d,t,f),_(t,e),_(e,i),_(i,o),_(t,r),_(t,l),c||(u=je(i,"click",n[1]),c=!0)},p(d,[f]){f&1&&s!==(s=(d[0].name.length>6?`${d[0].name.slice(0,6)}...`:d[0].name)+"")&&Ve(o,s),f&1&&W(e,"top",`-${d[0].strokeLength+26}px`),f&1&&W(l,"height",`${d[0].strokeLength}px`),f&1&&a!==(a=Ue(wt("item-label-item",{visible:d[0].visible}))+" svelte-1ir3cyd")&&C(t,"class",a),f&1&&W(t,"z-index",d[0].zIndex),f&1&&W(t,"transform",d[0].transform)},i:ce,o:ce,d(d){d&&R(t),c=!1,u()}}}function ig(n,t,e){let{itemLabel:i}=t,{hooks:s}=t;function o(){console.log("__onclick___: ",i),s.emit("onLabelClick",i)}return n.$$set=r=>{"itemLabel"in r&&e(0,i=r.itemLabel),"hooks"in r&&e(2,s=r.hooks)},[i,o,s]}class sg extends fe{constructor(t){super(),de(this,t,ig,ng,ue,{itemLabel:0,hooks:2},tg)}}function jc(n,t=200){let e;return function(...i){clearTimeout(e),e=setTimeout(()=>{n(...i)},t)}}function og(n){me(n,"svelte-gk8s47",".item-labels-container.svelte-gk8s47{width:100%;height:100%;position:relative}")}function ua(n,t,e){const i=n.slice();return i[26]=t[e],i}function da(n,t){let e,i,s;return i=new sg({props:{itemLabel:t[26],hooks:t[0]}}),{key:n,first:null,c(){e=Ce(),re(i.$$.fragment),this.first=e},m(o,r){F(o,e,r),se(i,o,r),s=!0},p(o,r){t=o;const l={};r&2&&(l.itemLabel=t[26]),r&1&&(l.hooks=t[0]),i.$set(l)},i(o){s||(L(i.$$.fragment,o),s=!0)},o(o){H(i.$$.fragment,o),s=!1},d(o){o&&R(e),oe(i,o)}}}function rg(n){let t,e=[],i=new Map,s,o,r=n[1];const l=a=>a[26].id;for(let a=0;a<r.length;a+=1){let c=ua(n,r,a),u=l(c);i.set(u,e[a]=da(u,c))}return{c(){t=G("div");for(let a=0;a<e.length;a+=1)e[a].c();C(t,"class","item-labels-container svelte-gk8s47"),Re(()=>n[9].call(t)),W(t,"opacity",n[4]?1:0)},m(a,c){F(a,t,c);for(let u=0;u<e.length;u+=1)e[u].m(t,null);s=$t(t,n[9].bind(t)),o=!0},p(a,[c]){c&3&&(r=a[1],ve(),e=gt(e,c,l,1,a,r,i,t,Gt,da,null,ua),be()),c&16&&W(t,"opacity",a[4]?1:0)},i(a){if(!o){for(let c=0;c<r.length;c+=1)L(e[c]);o=!0}},o(a){for(let c=0;c<e.length;c+=1)H(e[c]);o=!1},d(a){a&&R(t);for(let c=0;c<e.length;c+=1)e[c].d();s()}}}let fa=26,ag=11;function lg(n,t,e){const{Raycaster:i,Vector3:s}=M;let{five:o}=t,{modelOcclusionEnable:r}=t,{itemLabels:l}=t,{hooks:a}=t,{displayStrategyType:c}=t,u=null,d=null,f,h,p=[],m=!0;const g=(x,O)=>{const Q=new i,V=x.camera.position.clone(),U=new s().fromArray(O.modelPosition),$=U.distanceTo(V);Q.set(V.clone(),U.clone().sub(V).normalize());const[J]=x.model.intersectRaycaster(Q);return!(J&&J.distance+1<$)},b=(x,O)=>{const Q=new s(O.modelPosition[0],O.modelPosition[1],O.modelPosition[2]),V=x.project2d(Q),U=V==null?void 0:V.x,$=V==null?void 0:V.y;return[U,$]},A=x=>`translate(${x[0]}px, ${x[1]}px)`,y=(x,O)=>p.length===0?!1:!!p.find(V=>x[0]>=V[0]-O&&x[0]<=V[0]+O||x[1]>=V[1]-fa&&x[1]<=V[1]+fa);function I(x,O){switch(O){case dn.SMALL:return Math.ceil(-27.78*x+85);case dn.MIDLLE:return Math.ceil(-38.9*x+130);case dn.LARGE:return Math.ceil(-44.44*x+140);case dn.EXTRA_LARGE:return Math.ceil(-92.59*x+300)}}const k=(x,O)=>{const Q=O.map(U=>{const $=b(x,U),J=U.name.length*ag,q=I(U.modelPosition[1],c),le=(r?g(x,U):!0)&&!y([$[0],$[1]+q],J);if(!le)return Object.assign(Object.assign({},U),{visible:le});p.push($);const Ae=A($);return Object.assign(Object.assign({},U),{visible:le,transform:Ae,strokeLength:q})}),V=Q.filter(({visible:U})=>U).map(U=>({itemLabelItem:U,distance:new s(U.modelPosition[0],U.modelPosition[1],U.modelPosition[2]).clone().distanceTo(x.camera.position)})).sort((U,$)=>U.distance-$.distance);return Q.map(U=>{const $=V.findIndex(J=>J.itemLabelItem.id===U.id);return $!==void 0?Object.assign(Object.assign({},U),{zIndex:$*10}):U})},E=()=>{p=[],e(1,d=k(o,d))};vo(()=>{z()});const D=()=>{e(4,m=!1),T()};mt(()=>{e(1,d=l),u=l,E(),B(),o.on("cameraUpdate",D)});const T=jc(()=>{e(4,m=!0),E()},300),B=()=>{window.addEventListener("resize",j,!1)},z=()=>{u!==l&&(e(1,d=l),u=l,E())},j=()=>{o.once("renderFrame",E)};en(()=>{o.off("cameraUpdate",D),window.removeEventListener("resize",j,!1)});function Y(){f=this.clientWidth,h=this.clientHeight,e(2,f),e(3,h)}return n.$$set=x=>{"five"in x&&e(5,o=x.five),"modelOcclusionEnable"in x&&e(6,r=x.modelOcclusionEnable),"itemLabels"in x&&e(7,l=x.itemLabels),"hooks"in x&&e(0,a=x.hooks),"displayStrategyType"in x&&e(8,c=x.displayStrategyType)},[a,d,f,h,m,o,r,l,c,Y]}class cg extends fe{constructor(t){super(),de(this,t,lg,rg,ue,{five:5,modelOcclusionEnable:6,itemLabels:7,hooks:0,displayStrategyType:8},og)}}function ug(n){return n.model_item_labels.map(t=>({modelPosition:[t.position[0],t.position[1]+t.size[1],t.position[2]],...t}))}const dg=(n,t)=>{var f,h;const e={container:document.createElement("div"),data:null,enabled:!0,fiveModeEnabled:void 0,itemLabels:[],wrapper:null,app:void 0,hooks:new ke.Subscribe,modelOcclusionEnable:(f=t==null?void 0:t.modelOcclusionEnable)!=null?f:!0,displayStrategyType:(h=t==null?void 0:t.displayStrategyType)!=null?h:dn.SMALL};e.container.setAttribute("class","model-item-label-plugin-container"),e.container.style.cssText=`
525
+ position: absolute;
526
+ left: 0;
527
+ top: 0;
528
+ width: 100%;
529
+ height: 100%;
530
+ z-index: 5;
531
+ `,e.container.style.pointerEvents="none";const i=p=>(e.wrapper=p,p.appendChild(e.container),a(),!0),s=p=>{e.itemLabels=ug(p),a()},o=()=>(e.enabled||(e.enabled=!0,a()),!0),r=()=>(e.enabled&&(e.enabled=!1,a()),!0),l=()=>{u(),e.container.remove()},a=()=>{var p;if(!!e.wrapper){if(!e.enabled||!e.fiveModeEnabled){(p=e.app)==null||p.$destroy(),e.app=void 0;return}e.app?e.app.$set({five:n,itemLabels:e.itemLabels}):e.app=new cg({target:e.container,props:{five:n,modelOcclusionEnable:e.modelOcclusionEnable,itemLabels:e.itemLabels,wrapper:e.wrapper,hooks:e.hooks,displayStrategyType:e.displayStrategyType}})}},c=()=>{n.on("modeChange",d),n.once("dispose",l)},u=()=>{n.off("modeChange",d)},d=p=>{if(!!e.enabled){if(p!==ke.Five.Mode.Floorplan){e.fiveModeEnabled=!1,a();return}n.once("initAnimationEnded",()=>{e.fiveModeEnabled=n.currentMode===ke.Five.Mode.Floorplan,a()})}};return c(),{appendTo:i,load:s,enable:o,disable:r,dispose:l,hooks:e.hooks}},fg={name:"ModelItemLabelPlugin",version:0};var xn=(n=>(n.TOP_LEFT="topLeft",n.TOP_RIGHT="topRight",n.BOTTOM_LEFT="bottomLeft",n.BOTTOM_RIGHT="bottomRight",n))(xn||{});function hg(n){if(n.length===0)return[];if(Array.isArray(n[0]))return n;let t=[];return n.forEach(e=>{const i=[e[xn.TOP_LEFT],e[xn.BOTTOM_LEFT],e[xn.BOTTOM_RIGHT],e[xn.TOP_RIGHT]];t.push(i)}),t}const pg=(n,{videoElement:t})=>{const e={videoMeshes:[],videoTextureEnabled:!1,videoSource:"",rectPoints:[],enabled:!1,videoElement:t},i=Kn(n),s=new Map,o=b=>{e.videoTexture&&(e.videoTexture.image.muted=b)},r=()=>e.videoTexture?e.videoTexture.image.muted:!0,l=()=>{if(e.enabled||!e.videoTexture)return;e.enabled=!0,e.videoMeshes=c(),e.videoMeshes.forEach(A=>n.scene.add(A));const b=()=>{if(!e.videoTexture)return;const A=()=>{var y;!e.videoTexture||((y=e.videoTexture)==null||y.image.removeEventListener("timeupdate",A),e.videoTextureEnabled=!0,e.videoMeshes.forEach(I=>{I.material.map!==e.videoTexture&&(I.material.map=e.videoTexture)}),n.needsRender=!0)};e.videoTexture.image.addEventListener("timeupdate",A),e.videoTexture&&e.videoMeshes.length&&(e.videoTexture.image.play(),e.videoTexture.image.onplay=()=>{i.hide()},e.videoTexture.image.onpause=()=>{i.show()},e.videoTexture.image.onclick=()=>{e.videoTexture.image.muted=!1,e.videoTexture.image.play()})};if(n.model.loaded)b();else return n.once("modelLoaded",()=>b())},a=()=>{!e.enabled||(e.enabled=!1,e.videoMeshes.forEach(b=>{b.geometry.dispose(),b.material.dispose(),n.scene.remove(b),e.videoTexture&&e.videoTexture.image.pause()}),e.videoMeshes=[],n.needsRender=!0)},c=()=>e.rectPoints.map((b,A)=>{const y=new M.BufferGeometry,I=128,k=[];k.push(...b[0].toArray());for(let x=1;x<I;x++)k.push(b[0].x+(b[1].x-b[0].x)*x/I,b[0].y+(b[1].y-b[0].y)*x/I,b[0].z+(b[1].z-b[0].z)*x/I);k.push(...b[1].toArray()),k.push(...b[2].toArray());for(let x=1;x<I;x++)k.push(b[2].x+(b[3].x-b[2].x)*x/I,b[2].y+(b[3].y-b[2].y)*x/I,b[2].z+(b[3].z-b[2].z)*x/I);k.push(...b[3].toArray());const E=[];E.push(0,1);for(let x=1;x<I;x++)E.push(0,1-x/I);E.push(0,0),E.push(1,0);for(let x=1;x<I;x++)E.push(1,x/I);E.push(1,1);const D=[];for(let x=0;x<I;x++)D.push(x,x+1,I*2-x,x,I*2-x,I*2+1-x);y.setAttribute("position",new M.BufferAttribute(new Float32Array(k),3)),y.setAttribute("uv",new M.BufferAttribute(new Float32Array(E),2)),y.setIndex(new M.BufferAttribute(new Uint32Array(D),1));const T=new M.AxesHelper(10);n.scene.add(T);const B=new M.MeshBasicMaterial({map:e.videoTextureEnabled?e.videoTexture:e.imageTexture,side:M.DoubleSide}),z=new M.Mesh(y,B);z.renderOrder=1,z.name=`ModelTVVideoPlugin-${A}-${performance.now()}`;const j=[b[1],b[2],b[3],b[0]],Y=i.create3DDomContainer(j);if(Y!=null&&Y.container){const x=document.createElement("div");x.classList.add("play-icon"),x.style.width="100%",x.style.height="100%",x.style.display="flex",x.style.justifyContent="center",x.style.alignItems="center",x.style.pointerEvents="none",Y.container.appendChild(x);const O=document.createElement("img");O.src="//vrlab-static.ljcdn.com/release/web/play.2ada5b6f.png",O.style.width="200px",O.style.pointerEvents="auto",O.onclick=()=>{e.videoTexture.image.muted=!1,e.videoTexture.image.play()},x.appendChild(O),s.set(z,Y)}return z}),u=b=>{const A=new M.TextureLoader().load(b);return A.minFilter=M.LinearFilter,A.magFilter=M.LinearFilter,A.format=M.RGBFormat,A},d=(b,A)=>new Promise((y,I)=>{const k=new XMLHttpRequest;k.onreadystatechange=()=>{if(k.readyState==4)if(k.status==200){const E=window.URL||window.webkitURL;A=A||document.createElement("video"),A.crossOrigin="anonymous",A.muted=!0,A.loop=!0,A.playsInline=!0,A.src=E.createObjectURL(k.response);const D=new M.VideoTexture(A);D.minFilter=M.LinearFilter,D.magFilter=M.LinearFilter,D.format=M.RGBFormat,y(Object.assign(D,{videoSource:b}))}else I(new Error("Video download Error: "+k.status))},k.onerror=E=>I(E),k.open("GET",b),k.responseType="blob",k.send()}),f=async(b,A)=>{const{video_src:y,video_poster_src:I,points:k}=b;e.videoSource=y,e.rectPoints=hg(k).map(E=>E.map(({x:D,y:T,z:B})=>new M.Vector3(D,T,B))),e.imageTexture=u(I),A&&(e.videoElement=A),e.videoTexture=await d(e.videoSource,e.videoElement),e.enabled=!!b.enable,e.enabled&&l()},h=b=>{if(!e.enabled)return;const A=e.videoMeshes;if(!(!A||b.intersectObjects(A).length===0))return e.videoTexture&&(e.videoTexture.image.paused||e.videoTexture.image.pause()),!1},p=b=>{b==="Floorplan"?i.hide():i.show()},m=()=>{if(!e.enabled)return;const b=n.camera.position;if(s.forEach((A,y)=>{const I=A.css3DObject.position.clone(),k=I.clone().sub(b).normalize(),E=new M.Raycaster(b,k),D=n.model.intersectRaycaster(E)[0],T=I.distanceTo(b),B=.01;D&&D.distance+B<T?A.hide():A.show()}),!r()){const A=e.rectPoints.find(y=>{const I=y[0].clone().add(y[1]).add(y[2]).add(y[3]).divideScalar(4);return y.map(k=>k.clone().add(I).divideScalar(2)).filter(k=>{const E=k.distanceTo(b),D=new M.Raycaster(b,k.clone().sub(b).normalize()),T=n.model.intersectRaycaster(D)[0],B=.01;return!(T&&T.distance+B<E)}).length>=2});(!A||A.length===0)&&o(!0)}},g=()=>{a(),e.videoTexture=void 0,n.off("modeChange",p),n.off("wantsTapGesture",h),n.off("panoArrived",m),n.off("renderFrame",()=>{e.videoMeshes.forEach(b=>{b&&(b.needsRender=!0)})})};return n.on("modeChange",p),n.on("wantsTapGesture",h),n.on("panoArrived",m),n.on("renderFrame",()=>{e.videoMeshes.forEach(b=>{b&&(b.needsRender=!0)})}),{enable:l,disable:a,load:f,dispose:g,state:e,css3DRenderPlugin:i}};function mg(n){me(n,"svelte-gduhqw",`.item-label-item.svelte-gduhqw.svelte-gduhqw{position:absolute;z-index:0;transform:none;cursor:pointer;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;animation:svelte-gduhqw-fadeIn .3s ease-in}.item-label-item.fold.svelte-gduhqw>.item-label-item__text-wrap.svelte-gduhqw{visibility:hidden}.item-label-item.fold.svelte-gduhqw>.item-label-item__bar.anchor.svelte-gduhqw{visibility:hidden}.item-label-item.fold.svelte-gduhqw>.item-label-item__bar.anchor.svelte-gduhqw:after{visibility:visible}.item-label-item__text-wrap.svelte-gduhqw.svelte-gduhqw{height:-moz-fit-content;height:fit-content;padding:0.75rem 1.25rem 0.75rem 0.75rem;position:absolute;width:-moz-max-content;width:max-content;max-width:29.5625rem;min-height:5.75rem;background-image:linear-gradient(269deg, rgba(0, 0, 0, 0.50) 0%, rgba(0, 0, 0, 0.60) 49%, rgba(31, 38, 46, 0.70) 100%);border:0.09375rem solid rgba(255, 255, 255, .65);border-radius:0.1875rem;color:white;transform:translate(-50%, 0);display:flex;justify-content:flex-start;align-items:center;box-sizing:border-box;overflow:hidden;pointer-events:all}.item-label-item__custom.svelte-gduhqw.svelte-gduhqw{padding:0;max-width:unset;min-height:unset;background-image:unset;border:0;border-radius:0}.icon-wrap.svelte-gduhqw.svelte-gduhqw{width:4.25rem;height:100%;display:flex;justify-content:center;align-content:center}.icon.svelte-gduhqw.svelte-gduhqw{width:4.25rem;height:4.25rem;background-repeat:no-repeat;background-size:contain;background-position:center}.item-label-text.svelte-gduhqw.svelte-gduhqw{margin-left:0.75rem;padding-left:0.75rem;min-height:4.25rem;height:auto;display:flex;flex-flow:column;justify-content:space-around;align-content:flex-start;border-left:solid rgba(255, 255, 255, .2) 0.0625rem;border-top:solid rgba(255, 255, 255, .2) 0;border-right:solid rgba(255, 255, 255, .2) 0;border-bottom:solid rgba(255, 255, 255, .2) 0;pointer-events:auto}.item-model.svelte-gduhqw.svelte-gduhqw{white-space:nowrap;font-size:1.375rem;font-weight:bold;line-height:1.875rem}.item-name.svelte-gduhqw.svelte-gduhqw{height:auto;word-wrap:break-word;word-break:break-all;font-size:1.25rem;line-height:1.75rem}.item-label-item__bar.svelte-gduhqw.svelte-gduhqw{position:absolute;bottom:0;width:0.1875rem;background-image:linear-gradient(to bottom, white, rgba(255, 255, 255, 0));box-shadow:0 0.125rem 0.5rem 0 rgba(0, 0, 0, 0.20);pointer-events:none}.item-label-item__bar.anchor.svelte-gduhqw.svelte-gduhqw:after{content:'';position:absolute;bottom:0;width:1.5rem;height:1.5rem;background-image:url("//vrlab-public.ljcdn.com/common/file/web/67e7a198-28c9-47dc-879b-507bd3ae600c.png ");background-position:center;background-size:contain;transform:translate(-0.65625rem, 50%)}@keyframes svelte-gduhqw-fadeIn{from{opacity:0
532
+ }to{opacity:1
533
+ }}`)}function gg(n){let t,e,i,s=(n[0].code||n[0].id)+"",o,r,l,a=n[0].name+"",c,u=n[0].icon&&ha(n);return{c(){u&&u.c(),t=K(),e=G("div"),i=G("span"),o=Fe(s),r=K(),l=G("span"),c=Fe(a),C(i,"class","item-model svelte-gduhqw"),C(l,"class","item-name svelte-gduhqw"),C(e,"class","item-label-text svelte-gduhqw")},m(d,f){u&&u.m(d,f),F(d,t,f),F(d,e,f),_(e,i),_(i,o),_(e,r),_(e,l),_(l,c)},p(d,f){d[0].icon?u?u.p(d,f):(u=ha(d),u.c(),u.m(t.parentNode,t)):u&&(u.d(1),u=null),f&1&&s!==(s=(d[0].code||d[0].id)+"")&&Ve(o,s),f&1&&a!==(a=d[0].name+"")&&Ve(c,a)},d(d){u&&u.d(d),d&&R(t),d&&R(e)}}}function vg(n){let t;return{c(){t=G("div")},m(e,i){F(e,t,i),n[6](t)},p:ce,d(e){e&&R(t),n[6](null)}}}function ha(n){let t,e,i,s,o;return{c(){t=G("div"),e=G("div"),C(e,"class","icon svelte-gduhqw"),C(e,"style",i=`background-image: url(${n[0].icon})`),C(t,"class","icon-wrap svelte-gduhqw")},m(r,l){F(r,t,l),_(t,e),s||(o=je(t,"click",n[7]),s=!0)},p(r,l){l&1&&i!==(i=`background-image: url(${r[0].icon})`)&&C(e,"style",i)},d(r){r&&R(t),s=!1,o()}}}function bg(n){let t,e,i,s,o,r,l,a,c,u;function d(p,m){return m&1&&(i=null),i==null&&(i=!!Boolean(typeof p[0].render=="function")),i?vg:gg}let f=d(n,-1),h=f(n);return{c(){t=G("div"),e=G("div"),h.c(),o=K(),r=G("div"),C(e,"class",s=Ue(wt("item-label-item__text-wrap",{"item-label-item__custom":Boolean(typeof n[0].render=="function")}))+" svelte-gduhqw"),W(e,"bottom",`${n[0].strokeLength}px`),C(r,"class",l=Ue(wt("item-label-item__bar",{anchor:n[1]}))+" svelte-gduhqw"),W(r,"height",`${n[0].strokeLength}px`),C(t,"class",a=Ue(wt("item-label-item",{fold:n[0].isFold}))+" svelte-gduhqw"),W(t,"z-index",n[0].zIndex),W(t,"transform",n[0].transform)},m(p,m){F(p,t,m),_(t,e),h.m(e,null),_(t,o),_(t,r),c||(u=je(e,"click",n[4]),c=!0)},p(p,[m]){f===(f=d(p,m))&&h?h.p(p,m):(h.d(1),h=f(p),h&&(h.c(),h.m(e,null))),m&1&&s!==(s=Ue(wt("item-label-item__text-wrap",{"item-label-item__custom":Boolean(typeof p[0].render=="function")}))+" svelte-gduhqw")&&C(e,"class",s),m&1&&W(e,"bottom",`${p[0].strokeLength}px`),m&2&&l!==(l=Ue(wt("item-label-item__bar",{anchor:p[1]}))+" svelte-gduhqw")&&C(r,"class",l),m&1&&W(r,"height",`${p[0].strokeLength}px`),m&1&&a!==(a=Ue(wt("item-label-item",{fold:p[0].isFold}))+" svelte-gduhqw")&&C(t,"class",a),m&1&&W(t,"z-index",p[0].zIndex),m&1&&W(t,"transform",p[0].transform)},i:ce,o:ce,d(p){p&&R(t),h.d(),c=!1,u()}}}function Ag(n,t,e){let{itemLabel:i}=t,{hooks:s}=t,{anchorEnabled:o}=t,{onIconClick:r}=t;function l(){s.emit("onLabelClick",i)}let a;function c(d){Xe[d?"unshift":"push"](()=>{a=d,e(3,a)})}const u=d=>r(i);return n.$$set=d=>{"itemLabel"in d&&e(0,i=d.itemLabel),"hooks"in d&&e(5,s=d.hooks),"anchorEnabled"in d&&e(1,o=d.anchorEnabled),"onIconClick"in d&&e(2,r=d.onIconClick)},n.$$.update=()=>{if(n.$$.dirty&9&&typeof i.render=="function"&&a&&a.children.length===0){const d=i.render(i);d&&a.appendChild(d)}},[i,o,r,a,l,s,c,u]}class yg extends fe{constructor(t){super(),de(this,t,Ag,bg,ue,{itemLabel:0,hooks:5,anchorEnabled:1,onIconClick:2},mg)}}const{Raycaster:wg,Vector3:Uy}=M,pa=(n,t,e,i)=>{const s=t.clone().sub(e).normalize(),o=new wg;o.set(e,s);const[r]=n.model.intersectRaycaster(o);return r&&r.distance+.01<i};var fn=(n=>(n.SMALL="small",n.MIDLLE="middle",n.LARGE="large",n.EXTRA_LARGE="x-large",n))(fn||{});const Pg=(n,t)=>{switch(t){case fn.SMALL:return Math.ceil(-27.78*n+85);case fn.MIDLLE:return Math.ceil(-38.9*n+130);case fn.LARGE:return Math.ceil(-44.44*n+140);case fn.EXTRA_LARGE:return Math.ceil(-92.59*n+300)}},Eg=n=>`translate(${n[0]}px, ${n[1]}px)`;function ma(n){return n.map(t=>({observerIndex:void 0,visible:!1,isFold:!1,...t}))}function Cg(n){me(n,"svelte-gk8s47",".item-labels-container.svelte-gk8s47{width:100%;height:100%;position:relative}")}function ga(n,t,e){const i=n.slice();return i[30]=t[e],i}function va(n){let t,e;return t=new yg({props:{itemLabel:n[30],hooks:n[0],anchorEnabled:n[2],onIconClick:n[6]}}),{c(){re(t.$$.fragment)},m(i,s){se(t,i,s),e=!0},p(i,s){const o={};s[0]&2&&(o.itemLabel=i[30]),s[0]&1&&(o.hooks=i[0]),s[0]&4&&(o.anchorEnabled=i[2]),t.$set(o)},i(i){e||(L(t.$$.fragment,i),e=!0)},o(i){H(t.$$.fragment,i),e=!1},d(i){oe(t,i)}}}function ba(n,t){let e,i,s,o=t[30].visible&&va(t);return{key:n,first:null,c(){e=Ce(),o&&o.c(),i=Ce(),this.first=e},m(r,l){F(r,e,l),o&&o.m(r,l),F(r,i,l),s=!0},p(r,l){t=r,t[30].visible?o?(o.p(t,l),l[0]&2&&L(o,1)):(o=va(t),o.c(),L(o,1),o.m(i.parentNode,i)):o&&(ve(),H(o,1,1,()=>{o=null}),be())},i(r){s||(L(o),s=!0)},o(r){H(o),s=!1},d(r){r&&R(e),o&&o.d(r),r&&R(i)}}}function Ig(n){let t,e=[],i=new Map,s,o,r=n[1];const l=a=>a[30].id;for(let a=0;a<r.length;a+=1){let c=ga(n,r,a),u=l(c);i.set(u,e[a]=ba(u,c))}return{c(){t=G("div");for(let a=0;a<e.length;a+=1)e[a].c();C(t,"class","item-labels-container svelte-gk8s47"),Re(()=>n[12].call(t)),W(t,"opacity",n[5]?1:0)},m(a,c){F(a,t,c);for(let u=0;u<e.length;u+=1)e[u].m(t,null);s=$t(t,n[12].bind(t)),o=!0},p(a,c){c[0]&71&&(r=a[1],ve(),e=gt(e,c,l,1,a,r,i,t,Gt,ba,null,ga),be()),c[0]&32&&W(t,"opacity",a[5]?1:0)},i(a){if(!o){for(let c=0;c<r.length;c+=1)L(e[c]);o=!0}},o(a){for(let c=0;c<e.length;c+=1)H(e[c]);o=!1},d(a){a&&R(t);for(let c=0;c<e.length;c+=1)e[c].d();s()}}}let xg=11;function Tg(n,t,e){const{Raycaster:i,Vector3:s}=M;let{five:o}=t,{modelOcclusionEnable:r}=t,{itemLabels:l}=t,{hooks:a}=t,{displayStrategyType:c}=t,{maxVisibleDistance:u}=t,d=null,f=null,h=(o==null?void 0:o.currentMode)===ke.Five.Mode.Panorama,p,m,g=[],b=!0;const A=(Q,V)=>{const U=Q.camera.position.clone(),$=new s(V.modelPosition[0],V.modelPosition[1],V.modelPosition[2]),J=$.distanceTo(U);return u!==void 0&&Q.state.mode===ke.Five.Mode.Panorama&&J>u?!1:pa(Q,$.clone().sub(U).normalize(),U,J)},y=Q=>{const{camera:V,model:U}=o,{x:$,y:J,z:q}=Q.clone().project(V),he=($+1)/2,le=(2-(J+1))/2,De=Math.abs(q)<1&&[he,le].every(Ne=>Ne<1&&Ne>=0);return Boolean(De)},I=(Q,V)=>{const U=new s(V.modelPosition[0],V.modelPosition[1],V.modelPosition[2]),$=Q.project2d(U),J=$==null?void 0:$.x,q=$==null?void 0:$.y;return[J,q]},k=(Q,V)=>{const U=V.map(J=>{if(Q.state.panoIndex!==J.panoIndex)return Object.assign(Object.assign({},J),{visible:!1});const q=I(Q,J);J.name.length*xg;const he=Pg(J.modelPosition[1],c),le=Q.currentMode===ke.Five.Mode.Panorama?y(new s(J.position[0],J.position[1],J.position[2])):!0,Ae=r?A(Q,J):!1,xe=le&&!Ae;if(!xe)return Object.assign(Object.assign({},J),{visible:xe});g.push(q);const De=Eg(q);return Object.assign(Object.assign({},J),{visible:xe,transform:De,strokeLength:he})}),$=U.filter(({visible:J})=>J).map(J=>({itemLabelItem:J,distance:new s(J.modelPosition[0],J.modelPosition[1],J.modelPosition[2]).clone().distanceTo(Q.camera.position)})).sort((J,q)=>J.distance-q.distance);return U.map(J=>{const q=$.findIndex(he=>he.itemLabelItem.id===J.id);return q!==void 0?Object.assign(Object.assign({},J),{zIndex:q*10}):J})},E=()=>{g=[],e(1,f=k(o,f))},D=()=>{e(5,b=!1),T()},T=jc(()=>{e(5,b=!0),E()},300),B=()=>{o.once("renderFrame",E)},z=()=>{window.addEventListener("resize",B,!1)},j=()=>{d!==l&&(e(1,f=ma(l)),d=l,E())},Y=(Q,V)=>{let U=[];for(let J=0;J<V.length;J++){const{position:q,panoIndex:he}=V[J],le=Q.distanceTo(q);(u===void 0||le<=u||o.state.mode!==ke.Five.Mode.Panorama)&&U.push({panoIndex:he,obVector:q,distance:le})}U=U.sort((J,q)=>J.distance-q.distance);let $;for(let J=0;J<U.length;J++){const{obVector:q,distance:he,panoIndex:le}=U[J];if(!pa(o,Q,q,he)){$=le;break}}return typeof $=="number"?V[$]:void 0},x=Q=>{if(o.state.mode===ke.Five.Mode.Panorama)return;const V=o.work.observers,U=new s().fromArray(Q.position),$=Y(U,V);if($&&(Q.observerIndex=$.panoIndex),typeof Q.observerIndex=="number"){const J=V[Q.observerIndex],q=U.clone().sub(J.position).normalize(),he={longitude:Math.PI+Math.atan2(q.x,q.z),latitude:Math.acos(q.y/q.length())-Math.PI/2};o.setState(Object.assign(Object.assign({},he),{mode:ke.Five.Mode.Panorama,panoIndex:Q.observerIndex})),o.once("initAnimationEnded",()=>{e(1,f=f.map(le=>Object.assign(Object.assign({},le),{isFold:le.id!==Q.id}))),o.once("cameraUpdate",()=>{e(1,f=f.map(le=>Object.assign(Object.assign({},le),{isFold:!1})))})})}};vo(()=>{j()}),mt(()=>{e(1,f=ma(l)),d=l,E(),z(),o.on("cameraUpdate",D)}),en(()=>{o.off("cameraUpdate",D),window.removeEventListener("resize",B,!1)});function O(){p=this.clientWidth,m=this.clientHeight,e(3,p),e(4,m)}return n.$$set=Q=>{"five"in Q&&e(7,o=Q.five),"modelOcclusionEnable"in Q&&e(8,r=Q.modelOcclusionEnable),"itemLabels"in Q&&e(9,l=Q.itemLabels),"hooks"in Q&&e(0,a=Q.hooks),"displayStrategyType"in Q&&e(10,c=Q.displayStrategyType),"maxVisibleDistance"in Q&&e(11,u=Q.maxVisibleDistance)},[a,f,h,p,m,b,x,o,r,l,c,u,O]}class Sg extends fe{constructor(t){super(),de(this,t,Tg,Ig,ue,{five:7,modelOcclusionEnable:8,itemLabels:9,hooks:0,displayStrategyType:10,maxVisibleDistance:11},Cg,[-1,-1])}}function kg(n){return n.item_labels.map(t=>({...t,modelPosition:[t.position[0],t.position[1],t.position[2]],observerIndex:void 0}))}const Dg=void 0,Lg=(n,t)=>{var f,h,p,m;const e={container:document.createElement("div"),data:null,enabled:!0,fiveModeEnabled:!0,itemLabels:[],wrapper:null,app:void 0,hooks:new ke.Subscribe,modelOcclusionEnable:(f=t==null?void 0:t.modelOcclusionEnable)!=null?f:!0,onlyVisibleInPanorama:(h=t==null?void 0:t.onlyVisibleInPanorama)!=null?h:!0,displayStrategyType:(p=t==null?void 0:t.displayStrategyType)!=null?p:fn.SMALL,maxVisibleDistance:(m=t==null?void 0:t.maxVisibleDistance)!=null?m:Dg};e.container.setAttribute("class","item-label-plugin-container"),e.container.style.cssText=`
534
+ position: absolute;
535
+ left: 0;
536
+ top: 0;
537
+ width: 100%;
538
+ height: 100%;
539
+ z-index: 5;
540
+ `,e.container.style.pointerEvents="none";const i=g=>(e.wrapper=g,g.appendChild(e.container),a(),!0),s=g=>{e.itemLabels=kg(g),a()},o=()=>(e.enabled||(e.enabled=!0,a()),!0),r=()=>(e.enabled&&(e.enabled=!1,a()),!0),l=()=>{u(),e.container.remove()},a=()=>{var g;if(!!e.wrapper){if(!e.enabled||!e.fiveModeEnabled){(g=e.app)==null||g.$destroy(),e.app=void 0;return}e.app?e.app.$set({five:n,itemLabels:e.itemLabels}):e.app=new Sg({target:e.container,props:{five:n,modelOcclusionEnable:e.modelOcclusionEnable,onlyVisibleInPanorama:e.onlyVisibleInPanorama,itemLabels:e.itemLabels,wrapper:e.wrapper,hooks:e.hooks,displayStrategyType:e.displayStrategyType,maxVisibleDistance:e.maxVisibleDistance}})}},c=()=>{n.on("modeChange",d),n.once("dispose",l)},u=()=>{n.off("modeChange",d)},d=g=>{if(g!==ke.Five.Mode.Panorama){e.fiveModeEnabled=!1,r();return}n.once("initAnimationEnded",()=>{e.fiveModeEnabled=!0,o()})};return c(),{appendTo:i,load:s,enable:o,disable:r,dispose:l,hooks:e.hooks}},Mg={name:"ItemLabelPlugin",version:0};class zg extends os{constructor(e){super(e);v(this,"state");v(this,"container");v(this,"enabled");this.five=e,this.five.once("dispose",this.dispose),this.enabled=!0,this.state=this.initState()}enable(e){this.enabled=!0,this.updateState({...e,userAction:!0})}disable(e){this.enabled=!1,this.updateState({...e,userAction:!0})}show(e){if(!!this.state.enabled)return this.setState({...this.state,visible:!0},e),Promise.resolve()}hide(e){if(!!this.state.enabled)return this.setState({...this.state,visible:!1},e),Promise.resolve()}dispose(){this.container.remove()}setState(e,i){if(!this.enabled)return;const s={...this.state};this.state={...this.state,...e,...i},this.stateChangedCallback(s,i)}get visible(){return this.five.state.mode===ke.Five.Mode.Panorama}appendTo(e){!this.enabled||(this.container=e,this.render())}updateState(e){this.setState({...this.state,enabled:this.enabled,visible:this.visible},e)}}function Og(n){me(n,"svelte-wpy7pz",'.plugin-DoorLabelPlugin-item.svelte-wpy7pz.svelte-wpy7pz{position:absolute;left:0;top:0;width:0;height:0;pointer-events:none;transition:opacity 0.3s ease}.plugin-DoorLabelPlugin-cnt.svelte-wpy7pz.svelte-wpy7pz{position:absolute;top:50%;left:50%;border-radius:0.125rem;background:rgba(0, 0, 0, 0.35);line-height:0.75rem;padding:0.375rem;white-space:nowrap;font-size:0.75rem;font-style:normal;color:white;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform ease 1s, background ease 0.3s, color ease 0.3s}.plugin-DoorLabelPlugin-cnt.svelte-wpy7pz.svelte-wpy7pz::after{content:"";display:block;position:absolute;top:-0.0625rem;left:-0.0625rem;bottom:-0.0625rem;right:-0.0625rem;border-radius:0.125rem;border:0.0625rem solid rgba(0, 0, 0, 0);-o-border-image:url("//vrlab-image4.ljcdn.com/release/web/highlightCarouseal-border-image.14b51834.png") 4;border-image:url("//vrlab-image4.ljcdn.com/release/web/highlightCarouseal-border-image.14b51834.png") 4;transition:opacity ease 0.3s}.plugin-DoorLabelPlugin-cnt.svelte-wpy7pz.svelte-wpy7pz:active,.plugin-DoorLabelPlugin-cnt.svelte-wpy7pz.svelte-wpy7pz:focus{background:rgba(0, 0, 0, 0.5);color:rgba(255, 255, 255, 0.5)}.plugin-DoorLabelPlugin-icon.svelte-wpy7pz.svelte-wpy7pz{background:url("//vrlab-image4.ljcdn.com/release/web/DoorLabel-icon.de1304ae.svg") no-repeat;background-size:100%;display:inline-block;width:0.625rem;height:0.625rem;margin-left:0.25rem;transform-origin:center}.plugin-DoorLabelPlugin-cnt[data-camera-toward=forward].left.svelte-wpy7pz .plugin-DoorLabelPlugin-icon.svelte-wpy7pz{transform:rotate(90deg)}.plugin-DoorLabelPlugin-cnt[data-camera-toward=forward].right.svelte-wpy7pz .plugin-DoorLabelPlugin-txt.svelte-wpy7pz{order:1}.plugin-DoorLabelPlugin-cnt[data-camera-toward=forward].right.svelte-wpy7pz .plugin-DoorLabelPlugin-icon.svelte-wpy7pz{transform:rotate(-90deg);margin-left:0;margin-right:0.25rem;order:0}.plugin-DoorLabelPlugin-cnt[data-camera-toward=right].forward.svelte-wpy7pz .plugin-DoorLabelPlugin-icon.svelte-wpy7pz{transform:rotate(90deg)}.plugin-DoorLabelPlugin-cnt[data-camera-toward=right].back.svelte-wpy7pz .plugin-DoorLabelPlugin-txt.svelte-wpy7pz{order:1}.plugin-DoorLabelPlugin-cnt[data-camera-toward=right].back.svelte-wpy7pz .plugin-DoorLabelPlugin-icon.svelte-wpy7pz{transform:rotate(-90deg);margin-left:0;margin-right:0.25rem;order:0}.plugin-DoorLabelPlugin-cnt[data-camera-toward=left].back.svelte-wpy7pz .plugin-DoorLabelPlugin-icon.svelte-wpy7pz{transform:rotate(90deg)}.plugin-DoorLabelPlugin-cnt[data-camera-toward=left].forward.svelte-wpy7pz .plugin-DoorLabelPlugin-txt.svelte-wpy7pz{order:1}.plugin-DoorLabelPlugin-cnt[data-camera-toward=left].forward.svelte-wpy7pz .plugin-DoorLabelPlugin-icon.svelte-wpy7pz{transform:rotate(-90deg);margin-left:0;margin-right:0.25rem;order:0}.plugin-DoorLabelPlugin-cnt[data-camera-toward=back].right.svelte-wpy7pz .plugin-DoorLabelPlugin-icon.svelte-wpy7pz{transform:rotate(90deg)}.plugin-DoorLabelPlugin-cnt[data-camera-toward=back].left.svelte-wpy7pz .plugin-DoorLabelPlugin-txt.svelte-wpy7pz{order:1}.plugin-DoorLabelPlugin-cnt[data-camera-toward=back].left.svelte-wpy7pz .plugin-DoorLabelPlugin-icon.svelte-wpy7pz{transform:rotate(-90deg);margin-left:0;margin-right:0.25rem;order:0}.plugin-DoorLabelPlugin-cnt--customBrand.svelte-wpy7pz.svelte-wpy7pz{color:#f9eac1}.plugin-DoorLabelPlugin-cnt--customBrand.svelte-wpy7pz .plugin-DoorLabelPlugin-icon.svelte-wpy7pz{background:url("//vrlab-image4.ljcdn.com/release/web/arrow.6e8ec00e.svg") no-repeat}.plugin-DoorLabelPlugin-cnt--customBrand.svelte-wpy7pz.svelte-wpy7pz:active,.plugin-DoorLabelPlugin-cnt--customBrand.svelte-wpy7pz.svelte-wpy7pz:focus{background:rgba(0, 0, 0, 0.5);color:rgba(249, 234, 193, 0.5)}')}function jg(n){let t,e,i,s,o,r,l,a;return{c(){t=G("div"),e=G("div"),i=G("span"),i.textContent=`${n[8]}`,s=K(),o=G("i"),C(i,"class","plugin-DoorLabelPlugin-txt svelte-wpy7pz"),C(o,"class","plugin-DoorLabelPlugin-icon svelte-wpy7pz"),C(e,"class",r=Ue(wt("plugin-DoorLabelPlugin-cnt",n[0].toward))+" svelte-wpy7pz"),C(e,"style",`transform: ${n[6]||"initial"};pointer-events: ${n[5]?"auto":"none"};opacity: ${n[5]?1:0}`),C(e,"data-camera-toward",n[7]),C(t,"style",`left: ${n[3]||0}%;top: ${n[4]||0}%;opacity: ${n[5]?1:0}`),C(t,"class","plugin-DoorLabelPlugin-item svelte-wpy7pz")},m(c,u){F(c,t,u),_(t,e),_(e,i),_(e,s),_(e,o),n[10](t),l||(a=je(e,"click",n[9]),l=!0)},p(c,[u]){u&1&&r!==(r=Ue(wt("plugin-DoorLabelPlugin-cnt",c[0].toward))+" svelte-wpy7pz")&&C(e,"class",r)},i:ce,o:ce,d(c){c&&R(t),n[10](null),l=!1,a()}}}function Bg(n,t,e){let{props:i}=t,{onClick:s}=t,o,{left:r,top:l,inSight:a,transform:c,panoIndex:u,cameraToward:d,name:f}=i,h=0;const p=()=>{if(!r||!l||!a||!o)return;const b=o.current.clientWidth/window.innerWidth*100,A=o.current.clientHeight/window.innerHeight*100;if(r<=b/2||r>=100-b/2||l<=A/2||l>=100-A/2)return;u!==h&&(console.log("panoDoorLabelPlugin",u,"\u89E6\u53D1\u57CB\u70B9"),h=u)},m=b=>{s&&s()};function g(b){Xe[b?"unshift":"push"](()=>{o=b,e(2,o)})}return n.$$set=b=>{"props"in b&&e(0,i=b.props),"onClick"in b&&e(1,s=b.onClick)},p(),[i,s,o,r,l,a,c,d,f,m,g]}class Rg extends fe{constructor(t){super(),de(this,t,Bg,jg,ue,{props:0,onClick:1},Og)}}function Hg(n,t){const e=Math.abs(n.top+n.height/2-t.top-t.height/2),i=Math.abs(n.left+n.width/2-t.left-t.width/2),s=(n.height+t.height)/2,o=(n.width+t.width)/2;return!(e>s&&i>o)}function Fg(n){const{camera:t}=n,e=t.getWorldDirection(new X.Vector3);let i=Math.atan(e.z/e.x)*180/Math.PI,s="";return e.x<0&&(i+=180),i<0&&(i+=360),i>315||i<=45?s="right":i>45&&i<=135?s="back":i>135&&i<=225?s="left":i>225&&i<=315&&(s="forward"),s}function Ng(n,t){return Math.sqrt(Math.pow(n.z-t.z,2)+Math.pow(n.x-t.x,2))}function Gg(n){const t=Math.PI/4;return n>-t&&n<=t?"left":n>t*3||n<=-t*3?"right":n>-t*3&&n<=-t?"forward":n>t&&n<=t*3?"back":""}const _g={userAction:!0};class Qg extends zg{constructor(e){super(e);v(this,"MinVisibledistance",1.8);v(this,"MaxVisibledistance",5);v(this,"OffsetHeight",-1.3);v(this,"rooms");v(this,"floorplanServerData");v(this,"doorLabelItems");v(this,"visibleLabelMap",new Map);v(this,"labelItems",[]);v(this,"doorLabels");v(this,"roomObservers");v(this,"loadData",(e,i)=>{i&&(this.MaxVisibledistance=i.MaxVisibledistance,this.MinVisibledistance=i.MinVisibledistance,this.OffsetHeight=i.OffsetHeight),this.doorLabelItems&&this.doorLabelItems.length>0&&this.doorLabelItems.forEach(s=>{s.$destroy()}),this.labelItems=[],this.doorLabels=[],this.doorLabelItems=[],this.floorplanServerData=e,this.five.once("panoArrived",()=>{console.log("doorplugin","panoArrived"),this.initData()})});v(this,"initRoomObservers",()=>{var o,r;const e=this.floorplanServerData.computed_data.floor_datas||[],s=(((r=(o=this.five)==null?void 0:o.work)==null?void 0:r.observers)||[]).map(l=>{const a=l.panoIndex,c=l.floorIndex,u=e==null?void 0:e.find(d=>d.floor_index===c);if(u){const d=u.rooms.find(f=>f.observer_indexs.includes(a));if(d)return{panoIndex:a,floorIndex:c,name:d.name}}}).filter(Boolean);this.roomObservers=s});v(this,"hideAllLabels",()=>{this.labelItems.forEach(e=>{e.visible=!1,e.inSight=!1}),this.render()});v(this,"fixDoorVisibleAndPosition",()=>{this.initRoomObservers();const{panoIndex:e}=this.five;if(!this.visible||this.five.model.empty||e===null||!this.roomObservers.find(l=>l.panoIndex===e))return;const i=this.roomObservers.find(l=>l.panoIndex===e),o=this.five.work.observers.find(l=>l.panoIndex===e).position.clone(),r=(()=>{if(this.visibleLabelMap.has(e))return this.visibleLabelMap.get(e);{const l=[];return this.doorLabels.forEach((a,c)=>{if(a.roomName===i.name)return;const u=a.position.clone(),d=u.distanceTo(o);if(d<this.MinVisibledistance||d>this.MaxVisibledistance)return;const f=new X.Raycaster,h=u.clone().sub(o).normalize();f.set(o,h);const[p]=this.five.model.intersectRaycaster(f);p&&p.distance+.1<d||l.push(c)}),this.visibleLabelMap.set(e,l),l}})();this.labelItems.forEach((l,a)=>{l.visible=r.includes(a)}),this.fixDoorPosition()});v(this,"fixDoorPosition",()=>{const{panoIndex:e,camera:i}=this.five;if(e===null)return;if(this.five.currentMode!=="Panorama")return this.hideAllLabels();const s=this.five.getElement(),o=s.clientWidth,r=s.clientHeight,l=i.getWorldDirection(new X.Vector3),a=[],c=[...this.labelItems];if(c.forEach((u,d)=>{if(u.visible){const f=i.position.distanceTo(u.position),h=u.position.clone().add(new X.Vector3(0,this.OffsetHeight,0)),m=h.clone().sub(i.position).normalize().angleTo(l),g=h.clone().project(i),b=(g.x+1)/2.2*100,A=(-g.y+1)/2.2*100,y=b>=0&&b<=100&&A>=0&&A<=100&&f>this.MinVisibledistance&&f<=this.MaxVisibledistance;u.left=b,u.top=A,u.inSight=y&&m<Math.PI/2,u.cameraToward=Fg(this.five),y?a.push({disFromCameraToLabel:f,left:b,top:A,index:d}):u.transform="translate(-50%, -50%)"}else u.inSight=!1}),a.length>1){let u=0;a.sort((d,f)=>f.disFromCameraToLabel-d.disFromCameraToLabel);for(let d=1;d<a.length;d++){const{index:f,left:h,top:p}=a[d-1],{index:m,left:g,top:b}=a[d],A=this.container.children[f],y=this.container.children[m];if(!A||!y)return;const I={left:o*h/100,top:r*p/100,width:A.children[0].clientWidth,height:A.children[0].clientHeight},k={left:o*g/100,top:r*b/100,width:y.children[0].clientWidth,height:y.children[0].clientHeight};Hg(I,k)&&(u++,c[f].transform=`translate(-50%, ${(u-1)*100-50}%)`,c[m].transform=`translate(-50%, ${u*100-50}%)`)}}this.labelItems=c,this.render()});v(this,"onClick",(e,i)=>{if(!this.roomObservers)return;const{work:s}=this.five;let o,r,l=1/0;for(let a=0;a<s.observers.length;a++){if(this.roomObservers[a].name!==e)continue;const u=s.observers[a].standingPosition,d=i.distanceTo(u);d<l&&(o=a,r=u.clone().sub(i).normalize(),l=d)}if(r!==null&&o!==null){const a={};if(l>0){const u=new X.Vector3(0,0,-1),d=r.clone(),f=new X.Quaternion;f.setFromUnitVectors(u,d);const h=new X.Euler;h.setFromQuaternion(f,"YXZ"),a.longitude=h.y}this.five.emit("wantsToMoveToPano",o,{},!0)||this.five.moveToPano(o,{longitude:a.longitude})}});v(this,"initData",()=>{var o;this.doorLabels=[];const e=this.five.panoIndex,i=this.floorplanServerData.computed_data.observers[e].floor_index,s=i!==void 0&&((o=this.floorplanServerData.computed_data.floor_datas[i])==null?void 0:o.rooms);this.rooms=s,this.rooms&&this.rooms.length>0&&this.rooms.forEach(r=>{var c;const l=(c=this.floorplanServerData.computed_data.doors)==null?void 0:c.filter(u=>!!(u&&u.name===r.name)),a=this.five.work.observers.filter((u,d)=>!!r.observer_indexs.find(f=>f===d));l&&l.forEach(u=>{const d=u.position;let f=1/0,h;a.forEach(m=>{const g=m.standingPosition,b={x:g.x,y:g.y,z:g.z},A=Ng(d,b);A<f&&(f=A,h=b)}),h&&(d.y=h.y+.01);const p=new X.Vector3(d.x,d.y,d.z);p.add(new X.Vector3(-.2,1.8,0).applyEuler(new X.Euler(0,u.rad,0))),this.doorLabels.push({roomName:r.name,name:u.name,position:p,toward:Gg(u.rad)})})}),this.labelItems=this.doorLabels.map(r=>({...r,left:0,top:0,visible:!1,inSight:!1,transform:"",cameraToward:""})),console.log("doorplugin","labelItems",this.labelItems),this.five.on("wantsToMoveToPano",this.hideAllLabels),this.five.on("modelLoaded",this.fixDoorVisibleAndPosition),this.five.on("panoArrived",this.fixDoorVisibleAndPosition),this.five.on("initAnimationEnded",this.fixDoorPosition),this.five.on("cameraUpdate",this.fixDoorPosition),this.five.on("mouseWheel",this.fixDoorPosition),this.five.on("pinchGesture",this.fixDoorPosition),this.fixDoorVisibleAndPosition()})}stateChangedCallback(e,i){if(this.hooks.hasListener("stateChange")){const s={state:this.state,prevState:e,userAction:i?i.userAction:_g.userAction};this.hooks.emit("stateChange",s)}}render(){if(!this.enabled){this.doorLabelItems&&this.doorLabelItems.length>0&&this.doorLabelItems.forEach(e=>{e==null||e.$destroy()}),this.doorLabels=void 0;return}this.doorLabelItems&&this.doorLabelItems.forEach(e=>{e.$destroy()}),this.doorLabelItems=[],this.labelItems.forEach(e=>{this.doorLabelItems.push(new Rg({target:this.container,props:{props:e,onClick:()=>{this.onClick(e.name,e.position)}}}))})}initState(){return{enabled:!0,visible:!0}}dispose(){this.five&&(this.five.off("wantsToMoveToPano",this.hideAllLabels),this.five.off("modelLoaded",this.fixDoorVisibleAndPosition),this.five.off("panoArrived",this.fixDoorVisibleAndPosition),this.five.off("initAnimationEnded",this.fixDoorPosition),this.five.off("cameraUpdate",this.fixDoorPosition),this.five.off("mouseWheel",this.fixDoorPosition),this.five.off("pinchGesture",this.fixDoorPosition),super.dispose())}}const Wg=n=>new Qg(n);var ls={},Xg=Vg;function Vg(n,t,e){return n[0]=t[0]+e[0],n[1]=t[1]+e[1],n}var Yg=Ug;function Ug(n,t,e){return n[0]=t,n[1]=e,n}var Zg=Jg;function Jg(n,t){var e=t[0],i=t[1],s=e*e+i*i;return s>0&&(s=1/Math.sqrt(s),n[0]=t[0]*s,n[1]=t[1]*s),n}var qg=Kg;function Kg(n,t,e){return n[0]=t[0]-e[0],n[1]=t[1]-e[1],n}var $g=e0;function e0(n,t){return n[0]*t[0]+n[1]*t[1]}var t0=Xg,eo=Yg,Bc=Zg,n0=qg,i0=$g,Aa=[0,0];ls.computeMiter=function(t,e,i,s,o){return t0(t,i,s),Bc(t,t),eo(e,-t[1],t[0]),eo(Aa,-i[1],i[0]),o/i0(e,Aa)};ls.normal=function(t,e){return eo(t,-e[1],e[0]),t};ls.direction=function(t,e,i){return n0(t,e,i),Bc(t,t),t};var jt=ls,nn=[0,0],Ei=[0,0],ya=[0,0],Fn=[0,0],s0=function(n,t){var e=null,i=[];t&&(n=n.slice(),n.push(n[0]));for(var s=n.length,o=1;o<s;o++){var r=n[o-1],l=n[o],a=o<n.length-1?n[o+1]:null;if(jt.direction(nn,l,r),e||(e=[0,0],jt.normal(e,nn)),o===1&&Os(i,e,1),!a)jt.normal(e,nn),Os(i,e,1);else{jt.direction(Ei,a,l);var c=jt.computeMiter(ya,Fn,nn,Ei,1);Os(i,Fn,c)}}if(n.length>2&&t){var u=n[s-2],d=n[0],f=n[1];jt.direction(nn,d,u),jt.direction(Ei,f,d),jt.normal(e,nn);var h=jt.computeMiter(ya,Fn,nn,Ei,1);i[0][0]=Fn.slice(),i[s-1][0]=Fn.slice(),i[0][1]=h,i[s-1][1]=h,i.pop()}return i};function Os(n,t,e){n.push([[t[0],t[1]],e])}const o0=2,r0=3,a0=3,l0=2;function c0(n,t){var r,l,a;if(n.length<2)return console.warn("positionList length must be greater than 1"),[];const e=(r=t==null?void 0:t.unitWidth)!=null?r:.5,i=(l=t==null?void 0:t.unitHeight)!=null?l:.5,s=(a=t==null?void 0:t.skipPanoIndexMesh)!=null?a:!1,o=new M.CatmullRomCurve3(n,!1,"catmullrom",1);if(s){const c=Math.ceil(o.getLength()/i*1.5),u=o.getPoints(c),d=[];let f=0;const h=n;return h.forEach((p,m)=>{let g=0,b=99999999;u.forEach((E,D)=>{const T=E.distanceTo(p);T<b&&(g=D,b=T)});const A=u[g+1],y=A==null?void 0:A.distanceTo(p),I=u[g-1],k=I==null?void 0:I.distanceTo(p);if(g>f&&g-f>1){let E=g;I!==void 0&&k>.8&&(E=g+1),I!==void 0&&k>.2&&k<.3?E=g:b>.2&&b<.3&&(E=g+1);let D=f;if(A!==void 0&&y>.2&&y<.3?D=f+1:b>.2&&b<.3&&(D=f),u[D]&&u[D+1]){const z=h[m-1];if(z)if(z.equals(u[D]))D+=1;else{const j=new X.Vector3().subVectors(u[D+1],u[D]),Y=new X.Vector3().subVectors(z,u[D]);j.angleTo(Y)<Math.PI/2&&(D+=1)}}if(E<D||E-D<=1)return;const T=u.slice(D,E),B=wa(T,e,i);d.push(B),f=g}}),d}else{const c=Math.ceil(o.getLength()),u=o.getPoints(c);return[wa(u,e,i)]}}function wa(n,t,e){const i=t/2,s=e/t,o=n.length,r=s0(n.map(b=>[b.x,b.z])),a=(n.length-1)*o0*r0,c=2*o,u=c*a0,d=c*l0,f=new Uint32Array(a),h=new Float32Array(u),p=new Float32Array(d);n.forEach((b,A)=>{});let m=0;for(let b=0;b<n.length;b++){const[A,y]=r[b][0],I=n[b],{x:k,y:E,z:D}=I,T=new X.Vector3(k+A*i,E+.05,D+y*i);h[b*6+0]=T.x,h[b*6+1]=T.y,h[b*6+2]=T.z;const B=new X.Vector3(k-A*i,E+.05,D-y*i);h[b*6+3]=B.x,h[b*6+4]=B.y,h[b*6+5]=B.z,m+=b>0?n[b-1].clone().sub(n[b]).length():0;const z=m/t/s;p[b*4+0]=0,p[b*4+1]=z,p[b*4+2]=1,p[b*4+3]=z,b!==n.length-1&&(f[b*6+0]=b*2+0,f[b*6+1]=b*2+2,f[b*6+2]=b*2+1,f[b*6+3]=b*2+2,f[b*6+4]=b*2+3,f[b*6+5]=b*2+1)}const g=new M.BufferGeometry;return g.setAttribute("position",new M.BufferAttribute(h,3)),g.setAttribute("uv",new M.BufferAttribute(p,2)),g.setIndex(new M.BufferAttribute(f,1)),g}function u0(n){const t=new M.TextureLoader().load(n.textureUrl);return t.wrapS=t.wrapT=M.RepeatWrapping,t.encoding=M.sRGBEncoding,new M.MeshBasicMaterial({color:16777215,map:t,transparent:!0,opacity:.8})}function Zi(n){return n!=null}const Rc="v1.0.1",Hc="GuideLinePlugin",to=`${Hc}@${Rc}`,Pa=n=>`${to}--${n}`;class Fc extends bn{constructor(e,i){super(e,i);v(this,"state",{visible:!1,enabled:!0,disposed:!1});v(this,"data");v(this,"linesGroup");v(this,"disposedErrorLog",()=>{console.error(`${to} is disposed`)});v(this,"actionWhenEnabled",e=>{if(this.state.enabled)return e()});Object.assign(window,{[`__${Hc}_DEBUG__`]:this})}async load(e,i,s=!0){const o=this.data?JSON.parse(JSON.stringify(this.data)):void 0,r=await this.formatData(e);this.hooks.emit("dataChange",r,o),this.data=r,this.linesGroup&&this.five.scene.remove(this.linesGroup);const l=this.getLinesGroup(r.routes);!l||(this.linesGroup=l,await this.waitFiveModelLoaded(),this.five.scene.add(l),this.handleVisible(this.state.visible),this.handleEnable(this.state.enabled),i&&this.setState(i),this.five.needsRender=!0,this.hooks.emit("dataLoaded",r),console.log(`${to} loaded`,r))}async formatData(e){return typeof e=="object"&&e!==null&&e.version&&e.data?e.data:e}async show(e){this.setState({visible:!0},e)}async hide(e){this.setState({visible:!1},e)}enable(e){this.setState({enabled:!0},e)}disable(e){this.setState({enabled:!1},e)}dispose(){this.setState({disposed:!0})}setState(e,i){var o;if(this.state.disposed)return this.disposedErrorLog();const s={...this.state};this.state={...this.state,...e},e.disposed!==void 0&&e.disposed!==s.disposed&&e.disposed&&this.handleDispose(),e.visible!==void 0&&e.visible!==s.visible&&this.handleVisible(e.visible,i==null?void 0:i.userAction),e.enabled!==void 0&&e.enabled!==s.enabled&&this.handleEnable(e.enabled,i==null?void 0:i.userAction),Pt(s,this.state,{deep:!0})||(this.hooks.emit("stateChange",{state:this.state,prevState:s,userAction:(o=i==null?void 0:i.userAction)!=null?o:!0}),this.five.needsRender=!0)}handleEnable(e,i=!0){this.linesGroup&&(e?(this.five.scene.add(this.linesGroup),this.actionWhenEnabled(()=>this.hooks.emit("enable",{userAction:i}))):(this.five.scene.remove(this.linesGroup),this.hooks.emit("disable",{userAction:i})))}handleVisible(e,i=!0){this.linesGroup&&(e?(this.linesGroup.visible=!0,this.actionWhenEnabled(()=>this.hooks.emit("show",{userAction:i}))):(this.linesGroup.visible=!1,this.actionWhenEnabled(()=>this.hooks.emit("hide",{userAction:i}))))}handleDispose(){this.linesGroup&&this.five.scene.add(this.linesGroup)}getLinesGroup(e){const i=e.map(this.getLine.bind(this)).filter(Zi),s=new M.Group;if(s.name=Pa("route-group"),i.length!==0)return s.add(...i),s}getLine(e){var l,a,c,u;const i=new M.Group,s=e.panoIndexList.map(d=>{var f;return(f=this.five.work.observers[d])==null?void 0:f.standingPosition}).filter(Zi),o=c0(s,{skipPanoIndexMesh:(l=e.skipPanoIndexMesh)!=null?l:!0,unitWidth:(a=e.unitWidth)!=null?a:.6,unitHeight:(c=e.unitHeight)!=null?c:.4});if(!o)return;const r=u0({textureUrl:(u=e.arrowTextureUrl)!=null?u:this.staticPrefix+"/release/web/arrow6.b6ce0c62.png"});return o.forEach(d=>{const f=new M.Mesh(d,r);f.name=Pa("route-line-mesh"),i.add(f)}),i}async waitFiveModelLoaded(){return new Promise(e=>{if(this.five.model.loaded){e();return}this.five.once("modelLoaded",()=>{e()})})}}v(Fc,"lasestVersion",Rc);const Nc=(n,t)=>new Fc(n,t);function Ea(n){const t=Math.abs(Math.cos(n.latitude));return new M.Vector3(-Math.sin(n.longitude)*t,-Math.sin(n.latitude),-Math.cos(n.longitude)*t)}function d0(n,t){const e=Ea(n),i=Ea(t);return e.angleTo(i)}const f0=async n=>{try{n().then(()=>{},()=>{}).catch(()=>{})}catch{}},Ci=Math.PI*2;function h0(n){return n>=0&&n<Ci?n:(n%Ci+Ci)%Ci}function p0(n){return{longitude:h0(-Math.atan2(n.x,-n.z)),latitude:-Math.asin(n.y/1)}}function m0(n,t,e,i){const s=-n/e,o=n;return s*i+o}function g0(n){return new Promise(t=>{setTimeout(()=>{t()},n)})}const Gc="v1.0.6",_c="CruisePlugin",cs=`${_c}@${Gc}`,Ca=()=>{console.error(`${cs} is disposed`)},v0=()=>{console.warn(`${cs} is disabled`)},b0=()=>{console.error(`${cs} is disabled`)},js=new Map;class Do extends bn{constructor(e,i){super(e,i);v(this,"state",{visible:!0,enabled:!0,disposed:!1,playing:!1,speed:1,config:{speedConfig:{rotateSpeed:.001,rotateSpeedUnit:"rad/ms",moveSpeed:.002,moveSpeedUnit:"m/ms"}}});v(this,"data");v(this,"config");v(this,"privateState",{playing:!1,currentPlayQueue:[],currentPlayKeyframe:null,broke:!1,disposers:[],modeChanging:!1});v(this,"GuideLine");this.config=i,Object.assign(window,{[`__${_c}_DEBUG__`]:this});const s=this.setFiveLinearUpdateCamera.bind(this),o=this.setFiveOriginUpdateCamera.bind(this);this.hooks.on("play",s),this.hooks.on("broke",o),this.hooks.on("end",o),this.hooks.on("pause",o),this.privateState.disposers.push(()=>{this.hooks.off("play",s),this.hooks.off("broke",o),this.hooks.off("end",o),this.hooks.off("pause",o)})}async load(e,i,s){var u,d,f,h,p;if(this.state.disposed)return Ca();this.privateState.fiveOriginGetProgress||(d=(u=this.five.controller)==null?void 0:u.cameraMotion)!=null&&d.getProgress||(await this.waitFiveLoaded(),this.privateState.fiveOriginGetProgress=(h=(f=this.five.controller)==null?void 0:f.cameraMotion)==null?void 0:h.getProgress),this.clear();const o=this.data?JSON.parse(JSON.stringify(this.data)):void 0,r=await this.formatData(e);this.data=r,this.hooks.emit("dataChange",r,o);let l=[],a;const c=this.data.keyframes.filter(m=>m.data.panoIndex!==void 0);c.filter((m,g)=>{var b;return m.data.panoIndex!==((b=c[g-1])==null?void 0:b.data.panoIndex)}).map(m=>m.data.panoIndex).forEach(m=>{var b,A;const g=(b=this.five.work.observers[m])==null?void 0:b.floorIndex;if(g!==void 0)if(a===g){const y=l.length-1;l[y]=[...(A=l[y])!=null?A:[],m]}else{a=g;const y=l.length;l[y]=[m]}}),this.GuideLine||(this.GuideLine=Nc(this.five,this.config)),(p=this.GuideLine)==null||p.load({routes:l.map(m=>({panoIndexList:m}))}),this.setState({playing:!1}),this.handleVisible(this.state.visible),this.handleEnable(this.state.enabled),this.changePlayState(this.state.playing),this.changeSpeed(this.state.speed),i&&this.setState(i,{userAction:s}),console.log(`${cs} loaded`,r),this.hooks.emit("dataLoaded",r)}play(e){this.setState({playing:!0},e)}playFrom(e){const{index:i,id:s,userAction:o}=e;this.state.playing&&this.setState({playing:!1},{userAction:o}),this.setState({playing:!0},{userAction:o,playFromIndex:i,playFromId:s})}playFromStart(e){return this.playFrom({...e,index:0})}pause(e){this.setState({playing:!1},e)}async show(e){this.setState({visible:!0},e)}async hide(e){this.setState({visible:!1},e)}enable(e){this.setState({enabled:!0},e)}disable(e){this.setState({enabled:!1},e)}dispose(){this.setState({disposed:!0})}setState(e,i){var o;if(this.state.disposed)return Ca();if(!this.state.enabled&&e.enabled!==!0&&e.disposed!==!0)return b0();const s={...this.state};this.state={...this.state,...e},e.disposed!==void 0&&e.disposed!==s.disposed&&e.disposed&&this.handleDispose(),e.visible!==void 0&&e.visible!==s.visible&&this.handleVisible(e.visible,i==null?void 0:i.userAction),e.enabled!==void 0&&e.enabled!==s.enabled&&this.handleEnable(e.enabled,i==null?void 0:i.userAction),e.playing!==void 0&&e.playing!==s.playing&&this.changePlayState(e.playing,i),e.speed!==void 0&&e.speed!==s.speed&&this.changeSpeed(e.speed,i==null?void 0:i.userAction),Pt(s,this.state,{deep:!0})||this.hooks.emit("stateChange",{state:this.state,prevState:s,userAction:(o=i==null?void 0:i.userAction)!=null?o:!0})}async formatData(e){this.five.work||await this.waitFiveLoaded();const i=this.five.work.observers,s=(()=>{const o=e;return typeof o=="object"&&o!==null&&o.version&&o.data?o.data:o})();if(s.keyframes)return{keyframesId:nt(),keyframes:s.keyframes.map((o,r)=>{var c;const l=s.keyframes[r+1],a=(()=>!l||l.start===void 0||o.end===void 0?0:l.start-o.end)();return{id:(c=o.uuid)!=null?c:nt(),moveIndex:r,stay:a,index:r,...o}})};if(s.panoIndexList){let o=[];const{moveEffect:r,moveToFirstPanoEffect:l}=s;return this.privateState.moveToFirstPanoEffect=l,s.panoIndexList.forEach((a,c)=>{const u=(()=>{var m,g,b,A;const d=s.panoIndexList.slice(c).find(y=>y!==a);if(d===void 0)return;const f=(m=i[a])==null?void 0:m.position,h=(g=i[d])==null?void 0:g.position;if(!h||!f||((b=i[a])==null?void 0:b.floorIndex)!==((A=i[d])==null?void 0:A.floorIndex))return;const p=new M.Vector3().subVectors(h,f);return p0(p)})();s.moveType===void 0||s.moveType==="justMove"?o.push({moveIndex:c,stay:s.stay,data:{effect:"Move",panoIndex:a,moveEffect:r,...u!=null?u:{}}}):s.moveType==="moveAndRotate"&&(o.push({moveIndex:c,stay:s.stay,data:{effect:"Move",panoIndex:a,moveEffect:r}}),u&&o.push({moveIndex:c,stay:s.stay,data:{effect:"Rotate",panoIndex:a,...u}}))}),{keyframesId:nt(),keyframes:o.map((a,c)=>({id:nt(),index:c,...a}))}}else throw new Error("format error: data no keyframes or no panoIndexList")}handleEnable(e,i=!0){var s,o;e?((s=this.GuideLine)==null||s.enable(),this.hooks.emit("enable",{userAction:i})):((o=this.GuideLine)==null||o.disable(),this.changePlayState(!1,{userAction:i}),this.hooks.emit("disable",{userAction:i})),this.state.enabled=e}handleVisible(e,i=!0){var s,o;e?((s=this.GuideLine)==null||s.show(),this.actionIfStateIsEnabled(()=>this.hooks.emit("show",{userAction:i}))):((o=this.GuideLine)==null||o.hide(),this.actionIfStateIsEnabled(()=>this.hooks.emit("hide",{userAction:i}))),this.state.visible=e}changePlayState(e,i){this.actionIfStateIsEnabled(()=>{var s;return this.hooks.emit("playStateChange",e?"playing":"pause",{userAction:(s=i==null?void 0:i.userAction)!=null?s:!0})}),e?this.handlePlay(i):this.handlePause(i),this.state.playing=e}async handlePlay(e){var h;const{data:i,state:s,privateState:o,hooks:r}=this;if(o.playing||!(i!=null&&i.keyframes)||(i==null?void 0:i.keyframes.length)===0)return;const l=nt();o.playId=l,o.playing=!0,o.broke=!1;const a=i.keyframes,c=this.getPauseData();(e==null?void 0:e.notEmitEvent)!==!0&&r.emit("play",{userAction:(h=e==null?void 0:e.userAction)!=null?h:!0});let u=!1;const f=await(async()=>{var p,m;if((e==null?void 0:e.playFromIndex)!==void 0)return e.playFromIndex;if((e==null?void 0:e.playFromId)!==void 0)return(p=this.data)==null?void 0:p.keyframes.findIndex(g=>g.id===e.playFromId);if(c!=null&&c.keyframeId){const g=(m=this.data)==null?void 0:m.keyframes.find(b=>b.id===c.keyframeId);if(c!=null&&c.fiveState&&await this.move(c.fiveState,{moveEffect:o.moveToFirstPanoEffect}),g){if(g.data.effect==="Move")return g.index;if(g.data.effect==="Rotate"){const b=c.duration!==void 0?c.duration*(1-c.playedProgress):void 0;return await this.playKeyframe(g,{duration:b}),u=!0,g.index+1}}}})();this.clearPauseData();for(const p of a){if(o.broke||!s.playing||!o.playing||l!==o.playId)return;if(!(f!==void 0&&p.index<f))try{r.emit("playIndexChange",p.index,p),await this.playKeyframe(p,{moveEffect:u===!1?o.moveToFirstPanoEffect:void 0,duration:800}),p.stay&&await g0(p.stay),u===!1&&(u=!0)}catch{return Promise.resolve("broke")}}s.playing&&l===o.playId&&(this.setState({playing:!1},{userAction:!1}),r.emit("end"),this.clearPauseData())}handlePause(e){var r;const{state:i,privateState:s,hooks:o}=this;i.playing=!1,s.playing!==!1&&(s.playing=!1,this.setPauseData(),s.broke||this.forceInteruptUpdateCamera(),(e==null?void 0:e.notEmitEvent)!==!0&&o.emit("pause",{userAction:(r=e==null?void 0:e.userAction)!=null?r:!0}))}async playKeyframe(e,i){var o;const{privateState:s}=this;return((o=this.privateState.currentPlayKeyframe)==null?void 0:o.keyframe.id)!==e.id&&(this.privateState.currentPlayKeyframe={keyframe:e}),s.currentPlayQueue.push(this.getPlayPromise(e,i)),this.actionPromiseQueue()}addInterruptListener(e){const i=()=>{this.privateState.modeChanging||e()},s=e;return this.five.once("gesture",s),this.five.once("wantsChangeMode",i),()=>{this.five.off("gesture",s),this.five.once("wantsChangeMode",i)}}async getPlayPromise(e,i){var o;const s=e.data;if((o=i==null?void 0:i.duration)!=null||e.start!==void 0&&e.end!==void 0&&e.end-e.start,!!s)return new Promise((r,l)=>{let a=!1;this.addInterruptListener(()=>{if(!a)return this.hooks.emit("broke"),this.privateState.broke=!0,this.setState({playing:!1}),a=!0,l(new Error("play is interupted"))});try{if(a)return;const c=()=>{r(),a=!0};switch(s.effect){case"Move":this.move(s,i).then(c);break;case"Rotate":this.rotate(s,i).then(c);break;default:this.rotate(s,i).then(c)}}catch{}})}async actionPromiseQueue(){const{privateState:e}=this;return new Promise((i,s)=>{if(e.currentPlayQueue.length===0){i();return}const o=e.currentPlayQueue.shift();if(!o){i();return}o.then(i,s)}).then(()=>e.currentPlayQueue.length===0?Promise.resolve():this.actionPromiseQueue())}async move(e,i){if(e.mode&&e.mode!==this.five.currentMode)await this.changeMode(e);else if(e.panoIndex!==this.five.panoIndex)await this.changePano(e,i);else return Promise.resolve()}async rotate(e,i){if(e.mode&&e.mode!==this.five.currentMode)await this.changeMode({mode:e.mode,panoIndex:e.panoIndex});else if(e.panoIndex&&e.panoIndex!==this.five.panoIndex)return await this.changePano(e,i);await this.updateCamera(e,i==null?void 0:i.duration)}async updateCamera(e,i=800){const{five:s,privateState:o,state:r}=this;let l=i;const a=(()=>{var f,h;const u=(f=r.config)==null?void 0:f.speedConfig,d=(h=e.rotateSpeed)!=null?h:u==null?void 0:u.rotateSpeed;if((u==null?void 0:u.rotateSpeedUnit)===void 0)return d;if(d!==void 0)return u.rotateSpeedUnit==="rad/ms"?d:d/1e3})();if(a){const u=this.five.getCurrentState();l=d0(u,e)/a}o.currentPlayKeyframe&&(o.currentPlayKeyframe.originDuration=l);const c=this.getSpeededDuration(l);return new Promise(u=>{f0(()=>s.updateCamera(e,c)),setTimeout(()=>u(),c)})}async changePano(e,i){var d;const{five:s,privateState:o,state:r}=this;if(typeof e.panoIndex!="number"||e.panoIndex===s.panoIndex)return;s.getCurrentState().mode;const l=s.getCurrentState().mode!=="Panorama";l&&(this.privateState.modeChanging=!0);let a=(d=i==null?void 0:i.duration)!=null?d:800;const c=(()=>{var p,m;const f=(p=r.config)==null?void 0:p.speedConfig,h=(m=e.moveSpeed)!=null?m:f==null?void 0:f.moveSpeed;if((f==null?void 0:f.moveSpeedUnit)===void 0)return h;if(h!==void 0)return f.moveSpeedUnit==="m/ms"?h:h/1e3})();if(c&&typeof s.panoIndex=="number"&&typeof e.panoIndex=="number"){const f=s.work.observers[s.panoIndex].position,h=s.work.observers[e.panoIndex].position;a=f.distanceTo(h)/c}o.currentPlayKeyframe&&(o.currentPlayKeyframe.originDuration=a);const u=this.getSpeededDuration(a);await new Promise(f=>{var h,p,m;s.moveToPano(e.panoIndex,{latitude:e.latitude,longitude:e.longitude,fov:e.fov,duration:u,effect:(m=(p=i==null?void 0:i.moveEffect)!=null?p:(h=this.state.config)==null?void 0:h.moveEffect)!=null?m:e.moveEffect,moveCancelCallback:()=>f(),moveEndCallback:()=>f()}),l&&s.once("panoArrived",()=>f())}),l&&(this.privateState.modeChanging=!1)}changeSpeed(e,i=!0){const{state:s,privateState:o,hooks:r}=this,{currentPlayKeyframe:l}=o;if(r.emit("speedChange",e,{userAction:i}),s.playing&&l)try{const a=l.originDuration!==void 0?l.originDuration*(1-this.getProgress()):void 0,c=this.playKeyframe(l.keyframe,{duration:a});o.currentPlayQueue.push(c)}catch{}}getSpeededDuration(e){return e/this.state.speed}getProgress(){return this.five.controller.cameraMotion.progress}async changeMode(e,i){e.mode&&e.mode!==this.five.currentMode&&(this.privateState.modeChanging=!0,console.log("this.privateState.modeChanging",this.privateState.modeChanging),await this.five.changeMode(e.mode,e,i),this.privateState.modeChanging=!1)}forceInteruptUpdateCamera(){this.five.updateCamera({},0)}getPauseData(){var e,i;if((e=this.data)!=null&&e.keyframesId)return js.get((i=this.data)==null?void 0:i.keyframesId)}setPauseData(){var e,i,s,o;if((e=this.data)!=null&&e.keyframesId)return js.set((i=this.data)==null?void 0:i.keyframesId,{keyframeId:(s=this.privateState.currentPlayKeyframe)==null?void 0:s.keyframe.id,fiveState:this.five.getCurrentState(),duration:(o=this.privateState.currentPlayKeyframe)==null?void 0:o.originDuration,playedProgress:this.getProgress()})}clearPauseData(){var e,i;if((e=this.data)!=null&&e.keyframesId)return js.delete((i=this.data)==null?void 0:i.keyframesId)}clear(){this.clearPauseData(),this.privateState.currentPlayKeyframe=null}handleDispose(){var e,i;this.setState({playing:!1}),this.clearPauseData(),this.clear(),(e=this.GuideLine)==null||e.dispose(),this.GuideLine=void 0,(i=this.privateState.disposers)==null||i.forEach(s=>s==null?void 0:s())}actionIfStateIsEnabled(e,i){if(this.state.enabled)return e();i!=null&&i.warnLog&&v0()}async waitFiveLoaded(){return new Promise(e=>{if(this.five.work){e();return}this.five.once("loaded",()=>{e()})})}setFiveLinearUpdateCamera(){!this.privateState.fiveOriginGetProgress||(this.five.controller.cameraMotion.getProgress=e=>{const i=this.five.controller.cameraMotion,s=e-i.startTime;return s<0?0:s>=i.duration?1:1-m0(1,i.startVelocity,i.duration,s)})}setFiveOriginUpdateCamera(){!this.privateState.fiveOriginGetProgress||(this.five.controller.cameraMotion.getProgress=this.privateState.fiveOriginGetProgress)}}v(Do,"PluginVersion",Gc);const A0=n=>new Do(n);var Et={exports:{}};function Ji(n){return n===null?"null":typeof n>"u"?"undefined":typeof n=="object"?Array.isArray(n)?"array":"object":typeof n}function Qc(n){return Ji(n)==="object"?io(n):Ji(n)==="array"?no(n):n}function no(n){return n.map(Qc)}function io(n){const t={};for(const e in n)!n.hasOwnProperty(e)||(t[e]=Qc(n[e]));return t}function us(n,t=[],e={}){const i={arrayBehaviour:e.arrayBehaviour||"replace"},s=t.map(r=>r||{}),o=n||{};for(let r=0;r<s.length;r++){const l=s[r],a=Object.keys(l);for(let c=0;c<a.length;c++){const u=a[c],d=l[u],f=Ji(d),h=Ji(o[u]);if(f==="object")if(h!=="undefined"){const p=h==="object"?o[u]:{};o[u]=us({},[p,io(d)],i)}else o[u]=io(d);else if(f==="array")if(h==="array"){const p=no(d);o[u]=i.arrayBehaviour==="merge"?o[u].concat(p):p}else o[u]=no(d);else o[u]=d}}return o}Et.exports=function(t,...e){return us(t,e)};Et.exports.noMutate=function(...t){return us({},t)};Et.exports.withOptions=function(t,e,i){return us(t,e,i)};function y0(n,t){t.forEach(e=>{const i=new M.SphereGeometry(.02,16,16),s=[],o=[new M.MeshBasicMaterial({color:16776960}),new M.MeshBasicMaterial({color:16711935}),new M.MeshBasicMaterial({color:16711680}),new M.MeshBasicMaterial({color:65535})];if(e.position.length===4)e.position.forEach((r,l)=>{const a=o[l],c=new M.Mesh(i,a);c.position.copy(Ht(r)),s.push(c)});else{const r=o[0],l=new M.Mesh(i,r);l.position.copy(Ht(e.position)),s.push(l)}s.forEach(r=>{r.material.depthTest=!1,n.scene.add(r)})})}const _e=n=>n;function Wc(n){if(n.length<3)return;const t=n.map(Un),e=t[1].clone().sub(t[0]),i=t[2].clone().sub(t[1]);return e.cross(i)}function Ii(n){if(Array.isArray(n)&&n.length===4){const t=n.map(Un);return _l(t[0],t[2])}else return Un(n)}function xi(n,t){if(n===void 0)return;const{min:e,max:i}=t!=null?t:{};if(!(e===void 0&&i===void 0))return!(typeof i=="number"&&i<n||typeof e=="number"&&e>n)}function w0(n,t){n.model.loaded?t():n.once("modelLoaded",()=>t())}function P0(n,t,e){const s=new M.Plane().setFromNormalAndCoplanarPoint(e,t),o=t.clone().sub(n).cross(new M.Vector3(0,1,0)).setLength(.01),r=new M.Vector3(0,.01,0);return[t.clone().sub(o).sub(r),t.clone().add(o).sub(r),t.clone().add(o).add(r),t.clone().sub(o).add(r)].map(a=>s.projectPoint(a,new M.Vector3))}const Ia=(n,t=1e3/60)=>{let e=null;const i=n;return(...o)=>{e&&clearTimeout(e),e=setTimeout(()=>{i==null||i(...o),e&&clearTimeout(e),e=null},t)}};function E0(n,t=200){let e;return function(...i){e||(n.apply(this,i),e=setTimeout(function(){e=null},t))}}function C0(n,t){const[e,i]=t;if(e>=i||i<=1||e<=1)return-1;const s={},o=r=>(s[r]||(s[r]=n(r)),s[r]);for(let r=e;r<i;r++){const l=o(r),a=o(r-1);if(l<a)return r}return-1}function xa(n,t){if(!t||typeof ResizeObserver>"u"||!ResizeObserver)return{observe:()=>window.addEventListener("resize",n),unobserve:()=>window.removeEventListener("resize",n)};{const e=new ResizeObserver(n);return{observe:()=>e.observe(t),unobserve:()=>e.unobserve(t)}}}var ht=(n=>(n.Two="2D",n.Three="3D",n))(ht||{}),at=(n=>(n.PointTag="PointTag",n.PlaneTag="PlaneTag",n))(at||{}),ut=(n=>(n.Audio="Audio",n.Text="Text",n.ImageText="ImageText",n.Link="Link",n.Marketing="Marketing",n.MediaPlane="MediaPlane",n.Custom="Custom",n))(ut||{}),qi=(n=>(n.VrLink="vr",n.NormalLink="normal",n))(qi||{});function I0(n){me(n,"svelte-1omzoh4",".straight-line.svelte-1omzoh4{display:block;width:100%;height:100%;overflow:visible}")}function Ta(n){let t,e,i,s;return{c(){t=Te("path"),C(t,"fill","none"),C(t,"stroke","url(#"+n[4]+")"),C(t,"stroke-width","1"),C(t,"d","M0 0.5 L 148 0.5")},m(o,r){F(o,t,r),s=!0},p(o,r){n=o},i(o){s||(o&&Re(()=>{i&&i.end(1),e=vn(t,Xi,{duration:n[1],delay:n[0]}),e.start()}),s=!0)},o(o){e&&e.invalidate(),o&&(i=Ln(t,Xi,{duration:n[1],delay:n[2]})),s=!1},d(o){o&&R(t),o&&i&&i.end()}}}function x0(n){let t,e,i,s,o,r=n[3]&&Ta(n);return{c(){t=Te("svg"),e=Te("defs"),i=Te("linearGradient"),s=Te("stop"),o=Te("stop"),r&&r.c(),C(s,"offset","25%"),C(s,"stop-color","white"),C(s,"stop-opacity","1"),C(o,"offset","100%"),C(o,"stop-color","white"),C(o,"stop-opacity","0.5"),C(i,"id",n[4]),C(i,"gradientUnits","userSpaceOnUse"),C(t,"class","straight-line svelte-1omzoh4"),C(t,"viewBox","0 0 148 1"),C(t,"preserveAspectRatio","none")},m(l,a){F(l,t,a),_(t,e),_(e,i),_(i,s),_(i,o),r&&r.m(t,null)},p(l,[a]){l[3]?r?(r.p(l,a),a&8&&L(r,1)):(r=Ta(l),r.c(),L(r,1),r.m(t,null)):r&&(ve(),H(r,1,1,()=>{r=null}),be())},i(l){L(r)},o(l){H(r)},d(l){l&&R(t),r&&r.d()}}}function T0(n,t,e){let{inDelay:i=0}=t,{duration:s=0}=t,{outDelay:o=0}=t,{unfolded:r}=t;const l=nt();return n.$$set=a=>{"inDelay"in a&&e(0,i=a.inDelay),"duration"in a&&e(1,s=a.duration),"outDelay"in a&&e(2,o=a.outDelay),"unfolded"in a&&e(3,r=a.unfolded)},[i,s,o,r,l]}class Xc extends fe{constructor(t){super(),de(this,t,T0,x0,ue,{inDelay:0,duration:1,outDelay:2,unfolded:3},I0)}}function S0(n){me(n,"svelte-faoauy",".shadow.svelte-faoauy{position:absolute}")}function Sa(n){let t,e,i,s,o;return{c(){t=G("div"),C(t,"class","shadow svelte-faoauy"),C(t,"style",e=`
541
+ left:${ct(n[5])};
542
+ bottom:${ct(n[6])};
543
+ box-shadow: 0 0 ${ct(n[10])} ${ct(n[11])} rgba(0, 0, 0, ${n[12]});
544
+ ${n[8]?"transform: translateX(-50%); left: 50%":""}
545
+ ${n[9]?"transform: translateX(-50%); top: 50%":""}
546
+ ${n[7]?"transform: translate(-50%, -50%); left: 50%; top: 50%;":""}
547
+ `),W(t,"width",ct(n[3])),W(t,"height",ct(n[4])),W(t,"z-index",n[13])},m(r,l){F(r,t,l),o=!0},p(r,l){n=r,(!o||l&8160&&e!==(e=`
548
+ left:${ct(n[5])};
549
+ bottom:${ct(n[6])};
550
+ box-shadow: 0 0 ${ct(n[10])} ${ct(n[11])} rgba(0, 0, 0, ${n[12]});
551
+ ${n[8]?"transform: translateX(-50%); left: 50%":""}
552
+ ${n[9]?"transform: translateX(-50%); top: 50%":""}
553
+ ${n[7]?"transform: translate(-50%, -50%); left: 50%; top: 50%;":""}
554
+ `))&&C(t,"style",e),l&8&&W(t,"width",ct(n[3])),l&16&&W(t,"height",ct(n[4])),l&8192&&W(t,"z-index",n[13])},i(r){o||(r&&Re(()=>{s&&s.end(1),i=vn(t,pn,{duration:n[0]}),i.start()}),o=!0)},o(r){i&&i.invalidate(),r&&(s=Ln(t,pn,{duration:n[1]})),o=!1},d(r){r&&R(t),r&&s&&s.end()}}}function k0(n){let t,e=n[2]&&Sa(n);return{c(){e&&e.c(),t=Ce()},m(i,s){e&&e.m(i,s),F(i,t,s)},p(i,[s]){i[2]?e?(e.p(i,s),s&4&&L(e,1)):(e=Sa(i),e.c(),L(e,1),e.m(t.parentNode,t)):e&&(ve(),H(e,1,1,()=>{e=null}),be())},i(i){L(e)},o(i){H(e)},d(i){e&&e.d(i),i&&R(t)}}}function ct(n){return typeof n=="number"?n/16+"rem":n}function D0(n,t,e){let{inDelay:i=1e3}=t,{outDelay:s=1e3}=t,{visible:o=!0}=t,{width:r=0}=t,{height:l=0}=t,{left:a=0}=t,{bottom:c=0}=t,{center:u=!1}=t,{horizontalCenter:d=!1}=t,{verticalCenter:f=!1}=t,{blurRadius:h}=t,{spreadRadius:p}=t,{opacity:m=.15}=t,{zIndex:g=void 0}=t;return n.$$set=b=>{"inDelay"in b&&e(0,i=b.inDelay),"outDelay"in b&&e(1,s=b.outDelay),"visible"in b&&e(2,o=b.visible),"width"in b&&e(3,r=b.width),"height"in b&&e(4,l=b.height),"left"in b&&e(5,a=b.left),"bottom"in b&&e(6,c=b.bottom),"center"in b&&e(7,u=b.center),"horizontalCenter"in b&&e(8,d=b.horizontalCenter),"verticalCenter"in b&&e(9,f=b.verticalCenter),"blurRadius"in b&&e(10,h=b.blurRadius),"spreadRadius"in b&&e(11,p=b.spreadRadius),"opacity"in b&&e(12,m=b.opacity),"zIndex"in b&&e(13,g=b.zIndex)},[i,s,o,r,l,a,c,u,d,f,h,p,m,g]}class vt extends fe{constructor(t){super(),de(this,t,D0,k0,ue,{inDelay:0,outDelay:1,visible:2,width:3,height:4,left:5,bottom:6,center:7,horizontalCenter:8,verticalCenter:9,blurRadius:10,spreadRadius:11,opacity:12,zIndex:13},S0)}}var Vc={update:null,begin:null,loopBegin:null,changeBegin:null,change:null,changeComplete:null,loopComplete:null,complete:null,loop:1,direction:"normal",autoplay:!0,timelineOffset:0},Lo={duration:1e3,delay:0,endDelay:0,easing:"easeOutElastic(1, .5)",round:0},L0=["translateX","translateY","translateZ","rotate","rotateX","rotateY","rotateZ","scale","scaleX","scaleY","scaleZ","skew","skewX","skewY","perspective","matrix","matrix3d"],Ki={CSS:{},springs:{}};function Ct(n,t,e){return Math.min(Math.max(n,t),e)}function Vn(n,t){return n.indexOf(t)>-1}function Bs(n,t){return n.apply(null,t)}var pe={arr:function(n){return Array.isArray(n)},obj:function(n){return Vn(Object.prototype.toString.call(n),"Object")},pth:function(n){return pe.obj(n)&&n.hasOwnProperty("totalLength")},svg:function(n){return n instanceof SVGElement},inp:function(n){return n instanceof HTMLInputElement},dom:function(n){return n.nodeType||pe.svg(n)},str:function(n){return typeof n=="string"},fnc:function(n){return typeof n=="function"},und:function(n){return typeof n>"u"},nil:function(n){return pe.und(n)||n===null},hex:function(n){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(n)},rgb:function(n){return/^rgb/.test(n)},hsl:function(n){return/^hsl/.test(n)},col:function(n){return pe.hex(n)||pe.rgb(n)||pe.hsl(n)},key:function(n){return!Vc.hasOwnProperty(n)&&!Lo.hasOwnProperty(n)&&n!=="targets"&&n!=="keyframes"}};function Yc(n){var t=/\(([^)]+)\)/.exec(n);return t?t[1].split(",").map(function(e){return parseFloat(e)}):[]}function Uc(n,t){var e=Yc(n),i=Ct(pe.und(e[0])?1:e[0],.1,100),s=Ct(pe.und(e[1])?100:e[1],.1,100),o=Ct(pe.und(e[2])?10:e[2],.1,100),r=Ct(pe.und(e[3])?0:e[3],.1,100),l=Math.sqrt(s/i),a=o/(2*Math.sqrt(s*i)),c=a<1?l*Math.sqrt(1-a*a):0,u=1,d=a<1?(a*l+-r)/c:-r+l;function f(p){var m=t?t*p/1e3:p;return a<1?m=Math.exp(-m*a*l)*(u*Math.cos(c*m)+d*Math.sin(c*m)):m=(u+d*m)*Math.exp(-m*l),p===0||p===1?p:1-m}function h(){var p=Ki.springs[n];if(p)return p;for(var m=1/6,g=0,b=0;;)if(g+=m,f(g)===1){if(b++,b>=16)break}else b=0;var A=g*m*1e3;return Ki.springs[n]=A,A}return t?f:h}function M0(n){return n===void 0&&(n=10),function(t){return Math.ceil(Ct(t,1e-6,1)*n)*(1/n)}}var z0=function(){var n=11,t=1/(n-1);function e(u,d){return 1-3*d+3*u}function i(u,d){return 3*d-6*u}function s(u){return 3*u}function o(u,d,f){return((e(d,f)*u+i(d,f))*u+s(d))*u}function r(u,d,f){return 3*e(d,f)*u*u+2*i(d,f)*u+s(d)}function l(u,d,f,h,p){var m,g,b=0;do g=d+(f-d)/2,m=o(g,h,p)-u,m>0?f=g:d=g;while(Math.abs(m)>1e-7&&++b<10);return g}function a(u,d,f,h){for(var p=0;p<4;++p){var m=r(d,f,h);if(m===0)return d;var g=o(d,f,h)-u;d-=g/m}return d}function c(u,d,f,h){if(!(0<=u&&u<=1&&0<=f&&f<=1))return;var p=new Float32Array(n);if(u!==d||f!==h)for(var m=0;m<n;++m)p[m]=o(m*t,u,f);function g(b){for(var A=0,y=1,I=n-1;y!==I&&p[y]<=b;++y)A+=t;--y;var k=(b-p[y])/(p[y+1]-p[y]),E=A+k*t,D=r(E,u,f);return D>=.001?a(b,E,u,f):D===0?E:l(b,A,A+t,u,f)}return function(b){return u===d&&f===h||b===0||b===1?b:o(g(b),d,h)}}return c}(),Zc=function(){var n={linear:function(){return function(i){return i}}},t={Sine:function(){return function(i){return 1-Math.cos(i*Math.PI/2)}},Circ:function(){return function(i){return 1-Math.sqrt(1-i*i)}},Back:function(){return function(i){return i*i*(3*i-2)}},Bounce:function(){return function(i){for(var s,o=4;i<((s=Math.pow(2,--o))-1)/11;);return 1/Math.pow(4,3-o)-7.5625*Math.pow((s*3-2)/22-i,2)}},Elastic:function(i,s){i===void 0&&(i=1),s===void 0&&(s=.5);var o=Ct(i,1,10),r=Ct(s,.1,2);return function(l){return l===0||l===1?l:-o*Math.pow(2,10*(l-1))*Math.sin((l-1-r/(Math.PI*2)*Math.asin(1/o))*(Math.PI*2)/r)}}},e=["Quad","Cubic","Quart","Quint","Expo"];return e.forEach(function(i,s){t[i]=function(){return function(o){return Math.pow(o,s+2)}}}),Object.keys(t).forEach(function(i){var s=t[i];n["easeIn"+i]=s,n["easeOut"+i]=function(o,r){return function(l){return 1-s(o,r)(1-l)}},n["easeInOut"+i]=function(o,r){return function(l){return l<.5?s(o,r)(l*2)/2:1-s(o,r)(l*-2+2)/2}},n["easeOutIn"+i]=function(o,r){return function(l){return l<.5?(1-s(o,r)(1-l*2))/2:(s(o,r)(l*2-1)+1)/2}}}),n}();function Mo(n,t){if(pe.fnc(n))return n;var e=n.split("(")[0],i=Zc[e],s=Yc(n);switch(e){case"spring":return Uc(n,t);case"cubicBezier":return Bs(z0,s);case"steps":return Bs(M0,s);default:return Bs(i,s)}}function Jc(n){try{var t=document.querySelectorAll(n);return t}catch{return}}function ds(n,t){for(var e=n.length,i=arguments.length>=2?arguments[1]:void 0,s=[],o=0;o<e;o++)if(o in n){var r=n[o];t.call(i,r,o,n)&&s.push(r)}return s}function fs(n){return n.reduce(function(t,e){return t.concat(pe.arr(e)?fs(e):e)},[])}function ka(n){return pe.arr(n)?n:(pe.str(n)&&(n=Jc(n)||n),n instanceof NodeList||n instanceof HTMLCollection?[].slice.call(n):[n])}function zo(n,t){return n.some(function(e){return e===t})}function Oo(n){var t={};for(var e in n)t[e]=n[e];return t}function so(n,t){var e=Oo(n);for(var i in n)e[i]=t.hasOwnProperty(i)?t[i]:n[i];return e}function hs(n,t){var e=Oo(n);for(var i in t)e[i]=pe.und(n[i])?t[i]:n[i];return e}function O0(n){var t=/rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(n);return t?"rgba("+t[1]+",1)":n}function j0(n){var t=/^#?([a-f\d])([a-f\d])([a-f\d])$/i,e=n.replace(t,function(l,a,c,u){return a+a+c+c+u+u}),i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e),s=parseInt(i[1],16),o=parseInt(i[2],16),r=parseInt(i[3],16);return"rgba("+s+","+o+","+r+",1)"}function B0(n){var t=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(n)||/hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(n),e=parseInt(t[1],10)/360,i=parseInt(t[2],10)/100,s=parseInt(t[3],10)/100,o=t[4]||1;function r(f,h,p){return p<0&&(p+=1),p>1&&(p-=1),p<1/6?f+(h-f)*6*p:p<1/2?h:p<2/3?f+(h-f)*(2/3-p)*6:f}var l,a,c;if(i==0)l=a=c=s;else{var u=s<.5?s*(1+i):s+i-s*i,d=2*s-u;l=r(d,u,e+1/3),a=r(d,u,e),c=r(d,u,e-1/3)}return"rgba("+l*255+","+a*255+","+c*255+","+o+")"}function R0(n){if(pe.rgb(n))return O0(n);if(pe.hex(n))return j0(n);if(pe.hsl(n))return B0(n)}function Ft(n){var t=/[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(n);if(t)return t[1]}function H0(n){if(Vn(n,"translate")||n==="perspective")return"px";if(Vn(n,"rotate")||Vn(n,"skew"))return"deg"}function oo(n,t){return pe.fnc(n)?n(t.target,t.id,t.total):n}function It(n,t){return n.getAttribute(t)}function jo(n,t,e){var i=Ft(t);if(zo([e,"deg","rad","turn"],i))return t;var s=Ki.CSS[t+e];if(!pe.und(s))return s;var o=100,r=document.createElement(n.tagName),l=n.parentNode&&n.parentNode!==document?n.parentNode:document.body;l.appendChild(r),r.style.position="absolute",r.style.width=o+e;var a=o/r.offsetWidth;l.removeChild(r);var c=a*parseFloat(t);return Ki.CSS[t+e]=c,c}function qc(n,t,e){if(t in n.style){var i=t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),s=n.style[t]||getComputedStyle(n).getPropertyValue(i)||"0";return e?jo(n,s,e):s}}function Bo(n,t){if(pe.dom(n)&&!pe.inp(n)&&(!pe.nil(It(n,t))||pe.svg(n)&&n[t]))return"attribute";if(pe.dom(n)&&zo(L0,t))return"transform";if(pe.dom(n)&&t!=="transform"&&qc(n,t))return"css";if(n[t]!=null)return"object"}function Kc(n){if(!!pe.dom(n)){for(var t=n.style.transform||"",e=/(\w+)\(([^)]*)\)/g,i=new Map,s;s=e.exec(t);)i.set(s[1],s[2]);return i}}function F0(n,t,e,i){var s=Vn(t,"scale")?1:0+H0(t),o=Kc(n).get(t)||s;return e&&(e.transforms.list.set(t,o),e.transforms.last=t),i?jo(n,o,i):o}function Ro(n,t,e,i){switch(Bo(n,t)){case"transform":return F0(n,t,i,e);case"css":return qc(n,t,e);case"attribute":return It(n,t);default:return n[t]||0}}function Ho(n,t){var e=/^(\*=|\+=|-=)/.exec(n);if(!e)return n;var i=Ft(n)||0,s=parseFloat(t),o=parseFloat(n.replace(e[0],""));switch(e[0][0]){case"+":return s+o+i;case"-":return s-o+i;case"*":return s*o+i}}function $c(n,t){if(pe.col(n))return R0(n);if(/\s/g.test(n))return n;var e=Ft(n),i=e?n.substr(0,n.length-e.length):n;return t?i+t:i}function Fo(n,t){return Math.sqrt(Math.pow(t.x-n.x,2)+Math.pow(t.y-n.y,2))}function N0(n){return Math.PI*2*It(n,"r")}function G0(n){return It(n,"width")*2+It(n,"height")*2}function _0(n){return Fo({x:It(n,"x1"),y:It(n,"y1")},{x:It(n,"x2"),y:It(n,"y2")})}function eu(n){for(var t=n.points,e=0,i,s=0;s<t.numberOfItems;s++){var o=t.getItem(s);s>0&&(e+=Fo(i,o)),i=o}return e}function Q0(n){var t=n.points;return eu(n)+Fo(t.getItem(t.numberOfItems-1),t.getItem(0))}function tu(n){if(n.getTotalLength)return n.getTotalLength();switch(n.tagName.toLowerCase()){case"circle":return N0(n);case"rect":return G0(n);case"line":return _0(n);case"polyline":return eu(n);case"polygon":return Q0(n)}}function W0(n){var t=tu(n);return n.setAttribute("stroke-dasharray",t),t}function X0(n){for(var t=n.parentNode;pe.svg(t)&&pe.svg(t.parentNode);)t=t.parentNode;return t}function nu(n,t){var e=t||{},i=e.el||X0(n),s=i.getBoundingClientRect(),o=It(i,"viewBox"),r=s.width,l=s.height,a=e.viewBox||(o?o.split(" "):[0,0,r,l]);return{el:i,viewBox:a,x:a[0]/1,y:a[1]/1,w:r,h:l,vW:a[2],vH:a[3]}}function V0(n,t){var e=pe.str(n)?Jc(n)[0]:n,i=t||100;return function(s){return{property:s,el:e,svg:nu(e),totalLength:tu(e)*(i/100)}}}function Y0(n,t,e){function i(u){u===void 0&&(u=0);var d=t+u>=1?t+u:0;return n.el.getPointAtLength(d)}var s=nu(n.el,n.svg),o=i(),r=i(-1),l=i(1),a=e?1:s.w/s.vW,c=e?1:s.h/s.vH;switch(n.property){case"x":return(o.x-s.x)*a;case"y":return(o.y-s.y)*c;case"angle":return Math.atan2(l.y-r.y,l.x-r.x)*180/Math.PI}}function Da(n,t){var e=/[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/g,i=$c(pe.pth(n)?n.totalLength:n,t)+"";return{original:i,numbers:i.match(e)?i.match(e).map(Number):[0],strings:pe.str(n)||t?i.split(e):[]}}function No(n){var t=n?fs(pe.arr(n)?n.map(ka):ka(n)):[];return ds(t,function(e,i,s){return s.indexOf(e)===i})}function iu(n){var t=No(n);return t.map(function(e,i){return{target:e,id:i,total:t.length,transforms:{list:Kc(e)}}})}function U0(n,t){var e=Oo(t);if(/^spring/.test(e.easing)&&(e.duration=Uc(e.easing)),pe.arr(n)){var i=n.length,s=i===2&&!pe.obj(n[0]);s?n={value:n}:pe.fnc(t.duration)||(e.duration=t.duration/i)}var o=pe.arr(n)?n:[n];return o.map(function(r,l){var a=pe.obj(r)&&!pe.pth(r)?r:{value:r};return pe.und(a.delay)&&(a.delay=l?0:t.delay),pe.und(a.endDelay)&&(a.endDelay=l===o.length-1?t.endDelay:0),a}).map(function(r){return hs(r,e)})}function Z0(n){for(var t=ds(fs(n.map(function(o){return Object.keys(o)})),function(o){return pe.key(o)}).reduce(function(o,r){return o.indexOf(r)<0&&o.push(r),o},[]),e={},i=function(o){var r=t[o];e[r]=n.map(function(l){var a={};for(var c in l)pe.key(c)?c==r&&(a.value=l[c]):a[c]=l[c];return a})},s=0;s<t.length;s++)i(s);return e}function J0(n,t){var e=[],i=t.keyframes;i&&(t=hs(Z0(i),t));for(var s in t)pe.key(s)&&e.push({name:s,tweens:U0(t[s],n)});return e}function q0(n,t){var e={};for(var i in n){var s=oo(n[i],t);pe.arr(s)&&(s=s.map(function(o){return oo(o,t)}),s.length===1&&(s=s[0])),e[i]=s}return e.duration=parseFloat(e.duration),e.delay=parseFloat(e.delay),e}function K0(n,t){var e;return n.tweens.map(function(i){var s=q0(i,t),o=s.value,r=pe.arr(o)?o[1]:o,l=Ft(r),a=Ro(t.target,n.name,l,t),c=e?e.to.original:a,u=pe.arr(o)?o[0]:c,d=Ft(u)||Ft(a),f=l||d;return pe.und(r)&&(r=c),s.from=Da(u,f),s.to=Da(Ho(r,u),f),s.start=e?e.end:0,s.end=s.start+s.delay+s.duration+s.endDelay,s.easing=Mo(s.easing,s.duration),s.isPath=pe.pth(o),s.isPathTargetInsideSVG=s.isPath&&pe.svg(t.target),s.isColor=pe.col(s.from.original),s.isColor&&(s.round=1),e=s,s})}var su={css:function(n,t,e){return n.style[t]=e},attribute:function(n,t,e){return n.setAttribute(t,e)},object:function(n,t,e){return n[t]=e},transform:function(n,t,e,i,s){if(i.list.set(t,e),t===i.last||s){var o="";i.list.forEach(function(r,l){o+=l+"("+r+") "}),n.style.transform=o}}};function ou(n,t){var e=iu(n);e.forEach(function(i){for(var s in t){var o=oo(t[s],i),r=i.target,l=Ft(o),a=Ro(r,s,l,i),c=l||Ft(a),u=Ho($c(o,c),a),d=Bo(r,s);su[d](r,s,u,i.transforms,!0)}})}function $0(n,t){var e=Bo(n.target,t.name);if(e){var i=K0(t,n),s=i[i.length-1];return{type:e,property:t.name,animatable:n,tweens:i,duration:s.end,delay:i[0].delay,endDelay:s.endDelay}}}function ev(n,t){return ds(fs(n.map(function(e){return t.map(function(i){return $0(e,i)})})),function(e){return!pe.und(e)})}function ru(n,t){var e=n.length,i=function(o){return o.timelineOffset?o.timelineOffset:0},s={};return s.duration=e?Math.max.apply(Math,n.map(function(o){return i(o)+o.duration})):t.duration,s.delay=e?Math.min.apply(Math,n.map(function(o){return i(o)+o.delay})):t.delay,s.endDelay=e?s.duration-Math.max.apply(Math,n.map(function(o){return i(o)+o.duration-o.endDelay})):t.endDelay,s}var La=0;function tv(n){var t=so(Vc,n),e=so(Lo,n),i=J0(e,n),s=iu(n.targets),o=ev(s,i),r=ru(o,e),l=La;return La++,hs(t,{id:l,children:[],animatables:s,animations:o,duration:r.duration,delay:r.delay,endDelay:r.endDelay})}var pt=[],au=function(){var n;function t(){!n&&(!Ma()||!Me.suspendWhenDocumentHidden)&&pt.length>0&&(n=requestAnimationFrame(e))}function e(s){for(var o=pt.length,r=0;r<o;){var l=pt[r];l.paused?(pt.splice(r,1),o--):(l.tick(s),r++)}n=r>0?requestAnimationFrame(e):void 0}function i(){!Me.suspendWhenDocumentHidden||(Ma()?n=cancelAnimationFrame(n):(pt.forEach(function(s){return s._onDocumentVisibility()}),au()))}return typeof document<"u"&&document.addEventListener("visibilitychange",i),t}();function Ma(){return!!document&&document.hidden}function Me(n){n===void 0&&(n={});var t=0,e=0,i=0,s,o=0,r=null;function l(A){var y=window.Promise&&new Promise(function(I){return r=I});return A.finished=y,y}var a=tv(n);l(a);function c(){var A=a.direction;A!=="alternate"&&(a.direction=A!=="normal"?"normal":"reverse"),a.reversed=!a.reversed,s.forEach(function(y){return y.reversed=a.reversed})}function u(A){return a.reversed?a.duration-A:A}function d(){t=0,e=u(a.currentTime)*(1/Me.speed)}function f(A,y){y&&y.seek(A-y.timelineOffset)}function h(A){if(a.reversePlayback)for(var I=o;I--;)f(A,s[I]);else for(var y=0;y<o;y++)f(A,s[y])}function p(A){for(var y=0,I=a.animations,k=I.length;y<k;){var E=I[y],D=E.animatable,T=E.tweens,B=T.length-1,z=T[B];B&&(z=ds(T,function(Ne){return A<Ne.end})[0]||z);for(var j=Ct(A-z.start-z.delay,0,z.duration)/z.duration,Y=isNaN(j)?1:z.easing(j),x=z.to.strings,O=z.round,Q=[],V=z.to.numbers.length,U=void 0,$=0;$<V;$++){var J=void 0,q=z.to.numbers[$],he=z.from.numbers[$]||0;z.isPath?J=Y0(z.value,Y*q,z.isPathTargetInsideSVG):J=he+Y*(q-he),O&&(z.isColor&&$>2||(J=Math.round(J*O)/O)),Q.push(J)}var le=x.length;if(!le)U=Q[0];else{U=x[0];for(var Ae=0;Ae<le;Ae++){x[Ae];var xe=x[Ae+1],De=Q[Ae];isNaN(De)||(xe?U+=De+xe:U+=De+" ")}}su[E.type](D.target,E.property,U,D.transforms),E.currentValue=U,y++}}function m(A){a[A]&&!a.passThrough&&a[A](a)}function g(){a.remaining&&a.remaining!==!0&&a.remaining--}function b(A){var y=a.duration,I=a.delay,k=y-a.endDelay,E=u(A);a.progress=Ct(E/y*100,0,100),a.reversePlayback=E<a.currentTime,s&&h(E),!a.began&&a.currentTime>0&&(a.began=!0,m("begin")),!a.loopBegan&&a.currentTime>0&&(a.loopBegan=!0,m("loopBegin")),E<=I&&a.currentTime!==0&&p(0),(E>=k&&a.currentTime!==y||!y)&&p(y),E>I&&E<k?(a.changeBegan||(a.changeBegan=!0,a.changeCompleted=!1,m("changeBegin")),m("change"),p(E)):a.changeBegan&&(a.changeCompleted=!0,a.changeBegan=!1,m("changeComplete")),a.currentTime=Ct(E,0,y),a.began&&m("update"),A>=y&&(e=0,g(),a.remaining?(t=i,m("loopComplete"),a.loopBegan=!1,a.direction==="alternate"&&c()):(a.paused=!0,a.completed||(a.completed=!0,m("loopComplete"),m("complete"),!a.passThrough&&"Promise"in window&&(r(),l(a)))))}return a.reset=function(){var A=a.direction;a.passThrough=!1,a.currentTime=0,a.progress=0,a.paused=!0,a.began=!1,a.loopBegan=!1,a.changeBegan=!1,a.completed=!1,a.changeCompleted=!1,a.reversePlayback=!1,a.reversed=A==="reverse",a.remaining=a.loop,s=a.children,o=s.length;for(var y=o;y--;)a.children[y].reset();(a.reversed&&a.loop!==!0||A==="alternate"&&a.loop===1)&&a.remaining++,p(a.reversed?a.duration:0)},a._onDocumentVisibility=d,a.set=function(A,y){return ou(A,y),a},a.tick=function(A){i=A,t||(t=i),b((i+(e-t))*Me.speed)},a.seek=function(A){b(u(A))},a.pause=function(){a.paused=!0,d()},a.play=function(){!a.paused||(a.completed&&a.reset(),a.paused=!1,pt.push(a),d(),au())},a.reverse=function(){c(),a.completed=!a.reversed,d()},a.restart=function(){a.reset(),a.play()},a.remove=function(A){var y=No(A);lu(y,a)},a.reset(),a.autoplay&&a.play(),a}function za(n,t){for(var e=t.length;e--;)zo(n,t[e].animatable.target)&&t.splice(e,1)}function lu(n,t){var e=t.animations,i=t.children;za(n,e);for(var s=i.length;s--;){var o=i[s],r=o.animations;za(n,r),!r.length&&!o.children.length&&i.splice(s,1)}!e.length&&!i.length&&t.pause()}function nv(n){for(var t=No(n),e=pt.length;e--;){var i=pt[e];lu(t,i)}}function iv(n,t){t===void 0&&(t={});var e=t.direction||"normal",i=t.easing?Mo(t.easing):null,s=t.grid,o=t.axis,r=t.from||0,l=r==="first",a=r==="center",c=r==="last",u=pe.arr(n),d=parseFloat(u?n[0]:n),f=u?parseFloat(n[1]):0,h=Ft(u?n[1]:n)||0,p=t.start||0+(u?d:0),m=[],g=0;return function(b,A,y){if(l&&(r=0),a&&(r=(y-1)/2),c&&(r=y-1),!m.length){for(var I=0;I<y;I++){if(!s)m.push(Math.abs(r-I));else{var k=a?(s[0]-1)/2:r%s[0],E=a?(s[1]-1)/2:Math.floor(r/s[0]),D=I%s[0],T=Math.floor(I/s[0]),B=k-D,z=E-T,j=Math.sqrt(B*B+z*z);o==="x"&&(j=-B),o==="y"&&(j=-z),m.push(j)}g=Math.max.apply(Math,m)}i&&(m=m.map(function(x){return i(x/g)*g})),e==="reverse"&&(m=m.map(function(x){return o?x<0?x*-1:-x:Math.abs(g-x)}))}var Y=u?(f-d)/g:d;return p+Y*(Math.round(m[A]*100)/100)+h}}function sv(n){n===void 0&&(n={});var t=Me(n);return t.duration=0,t.add=function(e,i){var s=pt.indexOf(t),o=t.children;s>-1&&pt.splice(s,1);function r(f){f.passThrough=!0}for(var l=0;l<o.length;l++)r(o[l]);var a=hs(e,so(Lo,n));a.targets=a.targets||n.targets;var c=t.duration;a.autoplay=!1,a.direction=t.direction,a.timelineOffset=pe.und(i)?c:Ho(i,c),r(t),t.seek(a.timelineOffset);var u=Me(a);r(u),o.push(u);var d=ru(o,n);return t.delay=d.delay,t.endDelay=d.endDelay,t.duration=d.duration,t.seek(0),t.reset(),t.autoplay&&t.play(),t},t}Me.version="3.2.1";Me.speed=1;Me.suspendWhenDocumentHidden=!0;Me.running=pt;Me.remove=nv;Me.get=Ro;Me.set=ou;Me.convertPx=jo;Me.path=V0;Me.setDashoffset=W0;Me.stagger=iv;Me.timeline=sv;Me.easing=Mo;Me.penner=Zc;Me.random=function(n,t){return Math.floor(Math.random()*(t-n+1))+n};function ov(){return Math.random().toString(36).slice(-6)}const Oa=ov();function rv(n){me(n,"svelte-1b2n9wi",".text-char.svelte-1b2n9wi{display:inline-block;text-shadow:0.125rem 0rem 0.5rem rgba(0, 0, 0, 0.15)}")}function ja(n,t,e){const i=n.slice();return i[10]=t[e],i[11]=t,i[12]=e,i}function Ba(n){let t,e=n[10]+"",i,s=n[12];const o=()=>n[6](t,s),r=()=>n[6](null,s);return{c(){t=G("span"),i=Fe(e),C(t,"class","text-char svelte-1b2n9wi")},m(l,a){F(l,t,a),_(t,i),o()},p(l,a){n=l,a&2&&e!==(e=n[10]+"")&&Ve(i,e),s!==n[12]&&(r(),s=n[12],o())},d(l){l&&R(t),r()}}}function av(n){let t,e=n[1],i=[];for(let s=0;s<e.length;s+=1)i[s]=Ba(ja(n,e,s));return{c(){for(let s=0;s<i.length;s+=1)i[s].c();t=Ce()},m(s,o){for(let r=0;r<i.length;r+=1)i[r].m(s,o);F(s,t,o)},p(s,[o]){if(o&3){e=s[1];let r;for(r=0;r<e.length;r+=1){const l=ja(s,e,r);i[r]?i[r].p(l,o):(i[r]=Ba(l),i[r].c(),i[r].m(t.parentNode,t))}for(;r<i.length;r+=1)i[r].d(1);i.length=e.length}},i:ce,o:ce,d(s){Dt(i,s),s&&R(t)}}}function lv(n,t,e){let i,{inDelay:s=0}=t,{outDelay:o=0}=t,{content:r}=t,{unfolded:l}=t,a,c=[],u;function d(h){clearTimeout(a),a=setTimeout(function(){!u||(h&&u.reversed||!h&&!u.reversed)&&(u.reverse(),u.play())},h?s:o)}mt(function(){const h=(()=>{const p=C0(m=>c[m].getBoundingClientRect().x,[Math.min(c.length-1,10),Math.min(c.length-1,30)]);if(p>0)return p})();u=Me({targets:c.filter(Zi).slice(0,h),autoplay:!1,duration:400,scale:[.7,1],rotate:[20,0],opacity:[0,1],translateX:[4,0],translateY:[10,0],delay:Me.stagger(50),easing:"easeInOutCubic"}),l&&u.seek(u.duration)});function f(h,p){Xe[h?"unshift":"push"](()=>{c[p]=h,e(0,c)})}return n.$$set=h=>{"inDelay"in h&&e(2,s=h.inDelay),"outDelay"in h&&e(3,o=h.outDelay),"content"in h&&e(4,r=h.content),"unfolded"in h&&e(5,l=h.unfolded)},n.$$.update=()=>{n.$$.dirty&16&&e(1,i=(()=>{const h=[],p=new RegExp(/\p{Regional_Indicator}\p{Regional_Indicator}|\p{Emoji}(\p{Emoji_Modifier}+|\uFE0F\u20E3?)?(\u200D\p{Emoji}(\p{Emoji_Modifier}+|\uFE0F\u20E3?)?)+|\p{Emoji_Presentation}(\p{Emoji_Modifier}+|\uFE0F\u20E3?)?|\p{Emoji}(\p{Emoji_Modifier}+|\uFE0F\u20E3?)/gu),m=`__EMOJI_SPLIT_${Oa}__`,g=`__EMOJI_${Oa}__`;return r.slice().replace(p,b=>`${m}${g}${b}${m}`).split(m).forEach(b=>b.startsWith(g)?h.push(b.slice(g.length)):h.push(...b.split(""))),h.filter(Boolean)})()),n.$$.dirty&32&&d(l)},[c,i,s,o,r,l,f]}class cu extends fe{constructor(t){super(),de(this,t,lv,av,ue,{inDelay:2,outDelay:3,content:4,unfolded:5},rv)}}const cv="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAKqADAAQAAAABAAAAKgAAAADUGqULAAAB0ElEQVRYCe2WSUoEQRBFLVHEiVZU1I03cKW38SSewRt4A5fiTty5cQIFR9pZQWkcUNSe2/Z9yISiSGxRkUAy4BGZSVX168gistraYsQKxArECsQKxApYqkDyU5lmsznMM+ZgAGpQhaUkSRbINgLJCXiCBtSgAkVYtGGIBTKj8AgKSVahDNvQa0IUkUG4Bx91BpLdBTOS/cgUIB3a+gMwI9mFzE3a0I3z5B4r292JzGVA8tSSZILMcUDyzIykthOZvYDk+V9Ktmz4yGzhOhV4/+5YU4N/hzqo0StX3Fg5TcnNlYvgs8bPsM4hkScHoyO46haRnGEYktQVI+4ypUYKyXtxyUu27JCceAMJvjo0HoM5CEZ7cPX7i013q3IWVV5r2aw/2TK+svWbPGU68KQCa6pYeus1V0X99quSfvtVSc39lmfz2mdbz32tg1dAJ0421AVs9E7/FxBSezrMmjI/gm5/nYmMkBq+TqBs7LNgTlZH6EnWlPmORdk+pHQipUNfTxtg7p3NIXWRMvXfoqusmXsNhpC6crIS1Zf9C6yAOdlxpK5BW18CiT7A/G93gE+P0FY/RoO+RWqS62YhB2r4YhlixArECsQKxArECvzjCnwAOr0wF44ggHAAAAAASUVORK5CYII=",Ra="data:image/png;base64,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",Ha="data:image/png;base64,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";function uv(n){me(n,"svelte-1ogmlqq",".arrow.svelte-1ogmlqq{width:100%;height:100%;background-size:100%;transition:transform 400ms ease-in-out;cursor:pointer;pointer-events:auto}.arrow-wrapper.svelte-1ogmlqq{position:relative;width:100%;height:100%}.arrow.left.svelte-1ogmlqq{transform:rotate(0deg)}.arrow.right.svelte-1ogmlqq{transform:rotate(-180deg)}.arrow.top.svelte-1ogmlqq{transform:rotate(90deg)}.arrow.bottom.svelte-1ogmlqq{transform:rotate(-90deg)}")}function Fa(n){let t,e,i,s,o,r,l,a,c,u;return e=new vt({props:{center:!0,blurRadius:9,spreadRadius:3}}),{c(){t=G("div"),re(e.$$.fragment),i=K(),s=G("div"),C(s,"class",o="arrow "+n[0]+" svelte-1ogmlqq"),W(s,"background-image","url("+cv+")"),C(t,"class","arrow-wrapper svelte-1ogmlqq")},m(d,f){F(d,t,f),se(e,t,null),_(t,i),_(t,s),a=!0,c||(u=je(s,"click",n[5]),c=!0)},p(d,f){n=d,(!a||f&1&&o!==(o="arrow "+n[0]+" svelte-1ogmlqq"))&&C(s,"class",o)},i(d){a||(L(e.$$.fragment,d),d&&Re(()=>{l&&l.end(1),r=vn(s,pn,{duration:n[2],delay:n[3],easing:kn}),r.start()}),a=!0)},o(d){H(e.$$.fragment,d),r&&r.invalidate(),d&&(l=Ln(s,pn,{duration:n[2],delay:n[4],easing:kn})),a=!1},d(d){d&&R(t),oe(e),d&&l&&l.end(),c=!1,u()}}}function dv(n){let t,e,i=n[1]&&Fa(n);return{c(){i&&i.c(),t=Ce()},m(s,o){i&&i.m(s,o),F(s,t,o),e=!0},p(s,[o]){s[1]?i?(i.p(s,o),o&2&&L(i,1)):(i=Fa(s),i.c(),L(i,1),i.m(t.parentNode,t)):i&&(ve(),H(i,1,1,()=>{i=null}),be())},i(s){e||(L(i),e=!0)},o(s){H(i),e=!1},d(s){i&&i.d(s),s&&R(t)}}}function fv(n,t,e){let{direction:i="right"}=t,{visible:s=!0}=t,{duration:o=0}=t,{inDelay:r=0}=t,{outDelay:l=0}=t;function a(c){Dd.call(this,n,c)}return n.$$set=c=>{"direction"in c&&e(0,i=c.direction),"visible"in c&&e(1,s=c.visible),"duration"in c&&e(2,o=c.duration),"inDelay"in c&&e(3,r=c.inDelay),"outDelay"in c&&e(4,l=c.outDelay)},[i,s,o,r,l,a]}class hv extends fe{constructor(t){super(),de(this,t,fv,dv,ue,{direction:0,visible:1,duration:2,inDelay:3,outDelay:4},uv)}}function pv(n,t,e=20,i=5){return new Promise((s,o)=>{let r=0;const l=setInterval(()=>{const a=n();t(a)?(clearInterval(l),s(a)):r>=i&&(clearInterval(l),o(a)),r++},e)})}function mv(n){me(n,"svelte-1fuzm7v",".text.svelte-1fuzm7v{pointer-events:auto;box-sizing:border-box;display:inline-block;max-width:7.5rem;transition:transform 400ms ease-in-out;font-size:0.75rem;line-height:1.125rem;white-space:initial;cursor:pointer}.arrow.svelte-1fuzm7v{pointer-events:auto;display:inline-block;vertical-align:top;width:0.875rem;height:0.875rem;margin-left:0.125rem;margin-top:0.125rem}")}function Na(n,t,e){const i=n.slice();return i[11]=t[e].id,i[12]=t[e].content,i}function Ga(n,t){let e,i,s;return i=new cu({props:{unfolded:t[0],content:t[12],inDelay:500,outDelay:t[5]}}),{key:n,first:null,c(){e=G("div"),re(i.$$.fragment),C(e,"class","text svelte-1fuzm7v"),W(e,"transform",t[7]),this.first=e},m(o,r){F(o,e,r),se(i,e,null),t[10](e),s=!0},p(o,r){t=o;const l={};r&1&&(l.unfolded=t[0]),r&2&&(l.content=t[12]),r&32&&(l.outDelay=t[5]),i.$set(l),r&128&&W(e,"transform",t[7])},i(o){s||(L(i.$$.fragment,o),s=!0)},o(o){H(i.$$.fragment,o),s=!1},d(o){o&&R(e),oe(i),t[10](null)}}}function _a(n){let t,e,i;return e=new hv({props:{direction:n[6],visible:n[0],inDelay:600,duration:1e3}}),{c(){t=G("div"),re(e.$$.fragment),C(t,"class","arrow svelte-1fuzm7v")},m(s,o){F(s,t,o),se(e,t,null),i=!0},p(s,o){const r={};o&64&&(r.direction=s[6]),o&1&&(r.visible=s[0]),e.$set(r)},i(s){i||(L(e.$$.fragment,s),i=!0)},o(s){H(e.$$.fragment,s),i=!1},d(s){s&&R(t),oe(e)}}}function gv(n){let t=[],e=new Map,i,s,o,r=n[1];const l=c=>c[11];for(let c=0;c<r.length;c+=1){let u=Na(n,r,c),d=l(u);e.set(d,t[c]=Ga(d,u))}let a=n[3]<n[4]&&_a(n);return{c(){for(let c=0;c<t.length;c+=1)t[c].c();i=K(),a&&a.c(),s=Ce()},m(c,u){for(let d=0;d<t.length;d+=1)t[d].m(c,u);F(c,i,u),a&&a.m(c,u),F(c,s,u),o=!0},p(c,[u]){u&167&&(r=c[1],ve(),t=gt(t,u,l,1,c,r,e,i.parentNode,Gt,Ga,i,Na),be()),c[3]<c[4]?a?(a.p(c,u),u&24&&L(a,1)):(a=_a(c),a.c(),L(a,1),a.m(s.parentNode,s)):a&&(ve(),H(a,1,1,()=>{a=null}),be())},i(c){if(!o){for(let u=0;u<r.length;u+=1)L(t[u]);L(a),o=!0}},o(c){for(let u=0;u<t.length;u+=1)H(t[u]);H(a),o=!1},d(c){for(let u=0;u<t.length;u+=1)t[u].d(c);c&&R(i),a&&a.d(c),c&&R(s)}}}function vv(n,t,e){let i,s,o,{visible:r=!1}=t,{textUnfolded:l=!1}=t,{textItems:a}=t,c,u=0,d=0,f=0;function h(p){Xe[p?"unshift":"push"](()=>{c=p,e(2,c)})}return n.$$set=p=>{"visible"in p&&e(0,r=p.visible),"textUnfolded"in p&&e(8,l=p.textUnfolded),"textItems"in p&&e(1,a=p.textItems)},n.$$.update=()=>{if(n.$$.dirty&5&&c&&r){const{lineHeight:p}=getComputedStyle(c);e(4,f=c.offsetHeight),pv(()=>c==null?void 0:c.offsetHeight,Boolean).then(()=>{e(4,f=c.offsetHeight)}),e(3,d=Number(p.replace("px","")))}n.$$.dirty&280&&e(9,u=l?d-f:0),n.$$.dirty&512&&e(7,i=`translateY(${u}px)`),n.$$.dirty&256&&e(6,s=l?"left":"right"),n.$$.dirty&256&&e(5,o=l?450:0)},[r,a,c,d,f,o,s,i,l,u,h]}class uu extends fe{constructor(t){super(),de(this,t,vv,gv,ue,{visible:0,textUnfolded:8,textItems:1},mv)}}function bv(n){me(n,"svelte-18yy5x8",".line.svelte-18yy5x8{position:absolute;top:0;left:0;width:10.125rem;height:0.0625rem;transform:translate3d(0, -50%, 0.625rem)}.content.svelte-18yy5x8{width:-moz-max-content;width:max-content;height:3.375rem;padding:2.25rem 0.25rem 0 1rem;position:absolute;left:0;bottom:0;overflow:hidden;box-sizing:border-box;font-size:0;pointer-events:none;white-space:nowrap;font-weight:600}")}function Qa(n){var f,h;let t,e,i,s,o,r,l,a,c,u,d;return t=new vt({props:{visible:n[2],left:n[3]/2+"px",bottom:12,width:2,blurRadius:120,spreadRadius:60}}),s=new Xc({props:{unfolded:n[2],duration:1e3,outDelay:n[5]+40*Math.min((h=(f=n[4][0])==null?void 0:f.content.length)!=null?h:10,15)}}),l=new uu({props:{visible:n[2],textUnfolded:n[1],textItems:n[4]}}),{c(){re(t.$$.fragment),e=K(),i=G("div"),re(s.$$.fragment),o=K(),r=G("div"),re(l.$$.fragment),C(i,"class","line svelte-18yy5x8"),W(i,"width",n[3]+"px"),C(r,"class","content svelte-18yy5x8"),Re(()=>n[9].call(r))},m(p,m){se(t,p,m),F(p,e,m),F(p,i,m),se(s,i,null),F(p,o,m),F(p,r,m),se(l,r,null),a=$t(r,n[9].bind(r)),c=!0,u||(d=je(r,"click",n[6]),u=!0)},p(p,m){var y,I;const g={};m&4&&(g.visible=p[2]),m&8&&(g.left=p[3]/2+"px"),t.$set(g);const b={};m&4&&(b.unfolded=p[2]),m&48&&(b.outDelay=p[5]+40*Math.min((I=(y=p[4][0])==null?void 0:y.content.length)!=null?I:10,15)),s.$set(b),m&8&&W(i,"width",p[3]+"px");const A={};m&4&&(A.visible=p[2]),m&2&&(A.textUnfolded=p[1]),m&16&&(A.textItems=p[4]),l.$set(A)},i(p){c||(L(t.$$.fragment,p),L(s.$$.fragment,p),L(l.$$.fragment,p),c=!0)},o(p){H(t.$$.fragment,p),H(s.$$.fragment,p),H(l.$$.fragment,p),c=!1},d(p){oe(t,p),p&&R(e),p&&R(i),oe(s),p&&R(o),p&&R(r),oe(l),a(),u=!1,d()}}}function Av(n){let t,e,i=n[0].state&&Qa(n);return{c(){i&&i.c(),t=Ce()},m(s,o){i&&i.m(s,o),F(s,t,o),e=!0},p(s,[o]){s[0].state?i?(i.p(s,o),o&1&&L(i,1)):(i=Qa(s),i.c(),L(i,1),i.m(t.parentNode,t)):i&&(ve(),H(i,1,1,()=>{i=null}),be())},i(s){e||(L(i),e=!0)},o(s){H(i),e=!1},d(s){i&&i.d(s),s&&R(t)}}}function yv(n,t,e){let i,s,o;var r;let{tag:l}=t,a,c=!1,u=[];function d(){e(1,c=!c)}function f(){a=this.clientWidth,e(3,a)}return n.$$set=h=>{"tag"in h&&e(0,l=h.tag)},n.$$.update=()=>{n.$$.dirty&129&&e(2,i=!!(!(e(7,r=l.state)===null||r===void 0)&&r.unfolded)),n.$$.dirty&1&&e(8,s=l.data.text),n.$$.dirty&256&&e(4,u=[{id:nt(),content:s}]),n.$$.dirty&4&&(i||setTimeout(()=>{e(1,c=!1)},20)),n.$$.dirty&2&&e(5,o=c?450:0)},[l,c,i,a,u,o,d,r,s,f]}class wv extends fe{constructor(t){super(),de(this,t,yv,Av,ue,{tag:0},bv)}}function Pv(n){me(n,"svelte-e72ouh",".line.svelte-e72ouh{width:100%;height:100%;overflow:visible}")}function Wa(n){let t,e,i,s;return{c(){t=Te("path"),C(t,"fill","none"),C(t,"stroke","url(#"+n[4]+")"),C(t,"stroke-width","1"),C(t,"d","M0 21 L14 0.5 L105 0.5")},m(o,r){F(o,t,r),s=!0},p(o,r){n=o},i(o){s||(o&&Re(()=>{i&&i.end(1),e=vn(t,Xi,{duration:n[1],delay:n[0],easing:dc}),e.start()}),s=!0)},o(o){e&&e.invalidate(),o&&(i=Ln(t,Xi,{duration:n[1],delay:n[2],easing:kn})),s=!1},d(o){o&&R(t),o&&i&&i.end()}}}function Ev(n){let t,e,i,s,o,r=n[3]&&Wa(n);return{c(){t=Te("svg"),e=Te("defs"),i=Te("linearGradient"),s=Te("stop"),o=Te("stop"),r&&r.c(),C(s,"offset","25%"),C(s,"stop-color","white"),C(s,"stop-opacity","1"),C(o,"offset","100%"),C(o,"stop-color","white"),C(o,"stop-opacity","0.5"),C(i,"id",n[4]),C(i,"gradientUnits","userSpaceOnUse"),C(t,"class","line svelte-e72ouh"),C(t,"viewBox","0 0 105 21")},m(l,a){F(l,t,a),_(t,e),_(e,i),_(i,s),_(i,o),r&&r.m(t,null)},p(l,[a]){l[3]?r?(r.p(l,a),a&8&&L(r,1)):(r=Wa(l),r.c(),L(r,1),r.m(t,null)):r&&(ve(),H(r,1,1,()=>{r=null}),be())},i(l){L(r)},o(l){H(r)},d(l){l&&R(t),r&&r.d()}}}function Cv(n,t,e){let{inDelay:i=0}=t,{duration:s=0}=t,{outDelay:o=0}=t,{unfolded:r}=t;const l=nt();return n.$$set=a=>{"inDelay"in a&&e(0,i=a.inDelay),"duration"in a&&e(1,s=a.duration),"outDelay"in a&&e(2,o=a.outDelay),"unfolded"in a&&e(3,r=a.unfolded)},[i,s,o,r,l]}class Iv extends fe{constructor(t){super(),de(this,t,Cv,Ev,ue,{inDelay:0,duration:1,outDelay:2,unfolded:3},Pv)}}function Xa(n){return n!==null&&typeof n=="object"&&"constructor"in n&&n.constructor===Object}function Go(n={},t={}){Object.keys(t).forEach(e=>{typeof n[e]>"u"?n[e]=t[e]:Xa(t[e])&&Xa(n[e])&&Object.keys(t[e]).length>0&&Go(n[e],t[e])})}const du={body:{},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:""},querySelector(){return null},querySelectorAll(){return[]},getElementById(){return null},createEvent(){return{initEvent(){}}},createElement(){return{children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName(){return[]}}},createElementNS(){return{}},importNode(){return null},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function Ze(){const n=typeof document<"u"?document:{};return Go(n,du),n}const xv={document:du,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function(){return this},addEventListener(){},removeEventListener(){},getComputedStyle(){return{getPropertyValue(){return""}}},Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia(){return{}},requestAnimationFrame(n){return typeof setTimeout>"u"?(n(),null):setTimeout(n,0)},cancelAnimationFrame(n){typeof setTimeout>"u"||clearTimeout(n)}};function Qe(){const n=typeof window<"u"?window:{};return Go(n,xv),n}function Tv(n){const t=n.__proto__;Object.defineProperty(n,"__proto__",{get(){return t},set(e){t.__proto__=e}})}class Yt extends Array{constructor(t){typeof t=="number"?super(t):(super(...t||[]),Tv(this))}}function $n(n=[]){const t=[];return n.forEach(e=>{Array.isArray(e)?t.push(...$n(e)):t.push(e)}),t}function fu(n,t){return Array.prototype.filter.call(n,t)}function Sv(n){const t=[];for(let e=0;e<n.length;e+=1)t.indexOf(n[e])===-1&&t.push(n[e]);return t}function kv(n,t){if(typeof n!="string")return[n];const e=[],i=t.querySelectorAll(n);for(let s=0;s<i.length;s+=1)e.push(i[s]);return e}function ae(n,t){const e=Qe(),i=Ze();let s=[];if(!t&&n instanceof Yt)return n;if(!n)return new Yt(s);if(typeof n=="string"){const o=n.trim();if(o.indexOf("<")>=0&&o.indexOf(">")>=0){let r="div";o.indexOf("<li")===0&&(r="ul"),o.indexOf("<tr")===0&&(r="tbody"),(o.indexOf("<td")===0||o.indexOf("<th")===0)&&(r="tr"),o.indexOf("<tbody")===0&&(r="table"),o.indexOf("<option")===0&&(r="select");const l=i.createElement(r);l.innerHTML=o;for(let a=0;a<l.childNodes.length;a+=1)s.push(l.childNodes[a])}else s=kv(n.trim(),t||i)}else if(n.nodeType||n===e||n===i)s.push(n);else if(Array.isArray(n)){if(n instanceof Yt)return n;s=n}return new Yt(Sv(s))}ae.fn=Yt.prototype;function Dv(...n){const t=$n(n.map(e=>e.split(" ")));return this.forEach(e=>{e.classList.add(...t)}),this}function Lv(...n){const t=$n(n.map(e=>e.split(" ")));return this.forEach(e=>{e.classList.remove(...t)}),this}function Mv(...n){const t=$n(n.map(e=>e.split(" ")));this.forEach(e=>{t.forEach(i=>{e.classList.toggle(i)})})}function zv(...n){const t=$n(n.map(e=>e.split(" ")));return fu(this,e=>t.filter(i=>e.classList.contains(i)).length>0).length>0}function Ov(n,t){if(arguments.length===1&&typeof n=="string")return this[0]?this[0].getAttribute(n):void 0;for(let e=0;e<this.length;e+=1)if(arguments.length===2)this[e].setAttribute(n,t);else for(const i in n)this[e][i]=n[i],this[e].setAttribute(i,n[i]);return this}function jv(n){for(let t=0;t<this.length;t+=1)this[t].removeAttribute(n);return this}function Bv(n){for(let t=0;t<this.length;t+=1)this[t].style.transform=n;return this}function Rv(n){for(let t=0;t<this.length;t+=1)this[t].style.transitionDuration=typeof n!="string"?`${n}ms`:n;return this}function Hv(...n){let[t,e,i,s]=n;typeof n[1]=="function"&&([t,i,s]=n,e=void 0),s||(s=!1);function o(c){const u=c.target;if(!u)return;const d=c.target.dom7EventData||[];if(d.indexOf(c)<0&&d.unshift(c),ae(u).is(e))i.apply(u,d);else{const f=ae(u).parents();for(let h=0;h<f.length;h+=1)ae(f[h]).is(e)&&i.apply(f[h],d)}}function r(c){const u=c&&c.target?c.target.dom7EventData||[]:[];u.indexOf(c)<0&&u.unshift(c),i.apply(this,u)}const l=t.split(" ");let a;for(let c=0;c<this.length;c+=1){const u=this[c];if(e)for(a=0;a<l.length;a+=1){const d=l[a];u.dom7LiveListeners||(u.dom7LiveListeners={}),u.dom7LiveListeners[d]||(u.dom7LiveListeners[d]=[]),u.dom7LiveListeners[d].push({listener:i,proxyListener:o}),u.addEventListener(d,o,s)}else for(a=0;a<l.length;a+=1){const d=l[a];u.dom7Listeners||(u.dom7Listeners={}),u.dom7Listeners[d]||(u.dom7Listeners[d]=[]),u.dom7Listeners[d].push({listener:i,proxyListener:r}),u.addEventListener(d,r,s)}}return this}function Fv(...n){let[t,e,i,s]=n;typeof n[1]=="function"&&([t,i,s]=n,e=void 0),s||(s=!1);const o=t.split(" ");for(let r=0;r<o.length;r+=1){const l=o[r];for(let a=0;a<this.length;a+=1){const c=this[a];let u;if(!e&&c.dom7Listeners?u=c.dom7Listeners[l]:e&&c.dom7LiveListeners&&(u=c.dom7LiveListeners[l]),u&&u.length)for(let d=u.length-1;d>=0;d-=1){const f=u[d];i&&f.listener===i||i&&f.listener&&f.listener.dom7proxy&&f.listener.dom7proxy===i?(c.removeEventListener(l,f.proxyListener,s),u.splice(d,1)):i||(c.removeEventListener(l,f.proxyListener,s),u.splice(d,1))}}}return this}function Nv(...n){const t=Qe(),e=n[0].split(" "),i=n[1];for(let s=0;s<e.length;s+=1){const o=e[s];for(let r=0;r<this.length;r+=1){const l=this[r];if(t.CustomEvent){const a=new t.CustomEvent(o,{detail:i,bubbles:!0,cancelable:!0});l.dom7EventData=n.filter((c,u)=>u>0),l.dispatchEvent(a),l.dom7EventData=[],delete l.dom7EventData}}}return this}function Gv(n){const t=this;function e(i){i.target===this&&(n.call(this,i),t.off("transitionend",e))}return n&&t.on("transitionend",e),this}function _v(n){if(this.length>0){if(n){const t=this.styles();return this[0].offsetWidth+parseFloat(t.getPropertyValue("margin-right"))+parseFloat(t.getPropertyValue("margin-left"))}return this[0].offsetWidth}return null}function Qv(n){if(this.length>0){if(n){const t=this.styles();return this[0].offsetHeight+parseFloat(t.getPropertyValue("margin-top"))+parseFloat(t.getPropertyValue("margin-bottom"))}return this[0].offsetHeight}return null}function Wv(){if(this.length>0){const n=Qe(),t=Ze(),e=this[0],i=e.getBoundingClientRect(),s=t.body,o=e.clientTop||s.clientTop||0,r=e.clientLeft||s.clientLeft||0,l=e===n?n.scrollY:e.scrollTop,a=e===n?n.scrollX:e.scrollLeft;return{top:i.top+l-o,left:i.left+a-r}}return null}function Xv(){const n=Qe();return this[0]?n.getComputedStyle(this[0],null):{}}function Vv(n,t){const e=Qe();let i;if(arguments.length===1)if(typeof n=="string"){if(this[0])return e.getComputedStyle(this[0],null).getPropertyValue(n)}else{for(i=0;i<this.length;i+=1)for(const s in n)this[i].style[s]=n[s];return this}if(arguments.length===2&&typeof n=="string"){for(i=0;i<this.length;i+=1)this[i].style[n]=t;return this}return this}function Yv(n){return n?(this.forEach((t,e)=>{n.apply(t,[t,e])}),this):this}function Uv(n){const t=fu(this,n);return ae(t)}function Zv(n){if(typeof n>"u")return this[0]?this[0].innerHTML:null;for(let t=0;t<this.length;t+=1)this[t].innerHTML=n;return this}function Jv(n){if(typeof n>"u")return this[0]?this[0].textContent.trim():null;for(let t=0;t<this.length;t+=1)this[t].textContent=n;return this}function qv(n){const t=Qe(),e=Ze(),i=this[0];let s,o;if(!i||typeof n>"u")return!1;if(typeof n=="string"){if(i.matches)return i.matches(n);if(i.webkitMatchesSelector)return i.webkitMatchesSelector(n);if(i.msMatchesSelector)return i.msMatchesSelector(n);for(s=ae(n),o=0;o<s.length;o+=1)if(s[o]===i)return!0;return!1}if(n===e)return i===e;if(n===t)return i===t;if(n.nodeType||n instanceof Yt){for(s=n.nodeType?[n]:n,o=0;o<s.length;o+=1)if(s[o]===i)return!0;return!1}return!1}function Kv(){let n=this[0],t;if(n){for(t=0;(n=n.previousSibling)!==null;)n.nodeType===1&&(t+=1);return t}}function $v(n){if(typeof n>"u")return this;const t=this.length;if(n>t-1)return ae([]);if(n<0){const e=t+n;return e<0?ae([]):ae([this[e]])}return ae([this[n]])}function e1(...n){let t;const e=Ze();for(let i=0;i<n.length;i+=1){t=n[i];for(let s=0;s<this.length;s+=1)if(typeof t=="string"){const o=e.createElement("div");for(o.innerHTML=t;o.firstChild;)this[s].appendChild(o.firstChild)}else if(t instanceof Yt)for(let o=0;o<t.length;o+=1)this[s].appendChild(t[o]);else this[s].appendChild(t)}return this}function t1(n){const t=Ze();let e,i;for(e=0;e<this.length;e+=1)if(typeof n=="string"){const s=t.createElement("div");for(s.innerHTML=n,i=s.childNodes.length-1;i>=0;i-=1)this[e].insertBefore(s.childNodes[i],this[e].childNodes[0])}else if(n instanceof Yt)for(i=0;i<n.length;i+=1)this[e].insertBefore(n[i],this[e].childNodes[0]);else this[e].insertBefore(n,this[e].childNodes[0]);return this}function n1(n){return this.length>0?n?this[0].nextElementSibling&&ae(this[0].nextElementSibling).is(n)?ae([this[0].nextElementSibling]):ae([]):this[0].nextElementSibling?ae([this[0].nextElementSibling]):ae([]):ae([])}function i1(n){const t=[];let e=this[0];if(!e)return ae([]);for(;e.nextElementSibling;){const i=e.nextElementSibling;n?ae(i).is(n)&&t.push(i):t.push(i),e=i}return ae(t)}function s1(n){if(this.length>0){const t=this[0];return n?t.previousElementSibling&&ae(t.previousElementSibling).is(n)?ae([t.previousElementSibling]):ae([]):t.previousElementSibling?ae([t.previousElementSibling]):ae([])}return ae([])}function o1(n){const t=[];let e=this[0];if(!e)return ae([]);for(;e.previousElementSibling;){const i=e.previousElementSibling;n?ae(i).is(n)&&t.push(i):t.push(i),e=i}return ae(t)}function r1(n){const t=[];for(let e=0;e<this.length;e+=1)this[e].parentNode!==null&&(n?ae(this[e].parentNode).is(n)&&t.push(this[e].parentNode):t.push(this[e].parentNode));return ae(t)}function a1(n){const t=[];for(let e=0;e<this.length;e+=1){let i=this[e].parentNode;for(;i;)n?ae(i).is(n)&&t.push(i):t.push(i),i=i.parentNode}return ae(t)}function l1(n){let t=this;return typeof n>"u"?ae([]):(t.is(n)||(t=t.parents(n).eq(0)),t)}function c1(n){const t=[];for(let e=0;e<this.length;e+=1){const i=this[e].querySelectorAll(n);for(let s=0;s<i.length;s+=1)t.push(i[s])}return ae(t)}function u1(n){const t=[];for(let e=0;e<this.length;e+=1){const i=this[e].children;for(let s=0;s<i.length;s+=1)(!n||ae(i[s]).is(n))&&t.push(i[s])}return ae(t)}function d1(){for(let n=0;n<this.length;n+=1)this[n].parentNode&&this[n].parentNode.removeChild(this[n]);return this}const Va={addClass:Dv,removeClass:Lv,hasClass:zv,toggleClass:Mv,attr:Ov,removeAttr:jv,transform:Bv,transition:Rv,on:Hv,off:Fv,trigger:Nv,transitionEnd:Gv,outerWidth:_v,outerHeight:Qv,styles:Xv,offset:Wv,css:Vv,each:Yv,html:Zv,text:Jv,is:qv,index:Kv,eq:$v,append:e1,prepend:t1,next:n1,nextAll:i1,prev:s1,prevAll:o1,parent:r1,parents:a1,closest:l1,find:c1,children:u1,filter:Uv,remove:d1};Object.keys(Va).forEach(n=>{Object.defineProperty(ae.fn,n,{value:Va[n],writable:!0})});function f1(n){const t=n;Object.keys(t).forEach(e=>{try{t[e]=null}catch{}try{delete t[e]}catch{}})}function $i(n,t=0){return setTimeout(n,t)}function Jn(){return Date.now()}function h1(n){const t=Qe();let e;return t.getComputedStyle&&(e=t.getComputedStyle(n,null)),!e&&n.currentStyle&&(e=n.currentStyle),e||(e=n.style),e}function p1(n,t="x"){const e=Qe();let i,s,o;const r=h1(n);return e.WebKitCSSMatrix?(s=r.transform||r.webkitTransform,s.split(",").length>6&&(s=s.split(", ").map(l=>l.replace(",",".")).join(", ")),o=new e.WebKitCSSMatrix(s==="none"?"":s)):(o=r.MozTransform||r.OTransform||r.MsTransform||r.msTransform||r.transform||r.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,"),i=o.toString().split(",")),t==="x"&&(e.WebKitCSSMatrix?s=o.m41:i.length===16?s=parseFloat(i[12]):s=parseFloat(i[4])),t==="y"&&(e.WebKitCSSMatrix?s=o.m42:i.length===16?s=parseFloat(i[13]):s=parseFloat(i[5])),s||0}function Ti(n){return typeof n=="object"&&n!==null&&n.constructor&&Object.prototype.toString.call(n).slice(8,-1)==="Object"}function m1(n){return typeof window<"u"&&typeof window.HTMLElement<"u"?n instanceof HTMLElement:n&&(n.nodeType===1||n.nodeType===11)}function ot(...n){const t=Object(n[0]),e=["__proto__","constructor","prototype"];for(let i=1;i<n.length;i+=1){const s=n[i];if(s!=null&&!m1(s)){const o=Object.keys(Object(s)).filter(r=>e.indexOf(r)<0);for(let r=0,l=o.length;r<l;r+=1){const a=o[r],c=Object.getOwnPropertyDescriptor(s,a);c!==void 0&&c.enumerable&&(Ti(t[a])&&Ti(s[a])?s[a].__swiper__?t[a]=s[a]:ot(t[a],s[a]):!Ti(t[a])&&Ti(s[a])?(t[a]={},s[a].__swiper__?t[a]=s[a]:ot(t[a],s[a])):t[a]=s[a])}}}return t}function Si(n,t,e){n.style.setProperty(t,e)}function hu({swiper:n,targetPosition:t,side:e}){const i=Qe(),s=-n.translate;let o=null,r;const l=n.params.speed;n.wrapperEl.style.scrollSnapType="none",i.cancelAnimationFrame(n.cssModeFrameID);const a=t>s?"next":"prev",c=(d,f)=>a==="next"&&d>=f||a==="prev"&&d<=f,u=()=>{r=new Date().getTime(),o===null&&(o=r);const d=Math.max(Math.min((r-o)/l,1),0),f=.5-Math.cos(d*Math.PI)/2;let h=s+f*(t-s);if(c(h,t)&&(h=t),n.wrapperEl.scrollTo({[e]:h}),c(h,t)){n.wrapperEl.style.overflow="hidden",n.wrapperEl.style.scrollSnapType="",setTimeout(()=>{n.wrapperEl.style.overflow="",n.wrapperEl.scrollTo({[e]:h})}),i.cancelAnimationFrame(n.cssModeFrameID);return}n.cssModeFrameID=i.requestAnimationFrame(u)};u()}let Rs;function g1(){const n=Qe(),t=Ze();return{smoothScroll:t.documentElement&&"scrollBehavior"in t.documentElement.style,touch:!!("ontouchstart"in n||n.DocumentTouch&&t instanceof n.DocumentTouch),passiveListener:function(){let i=!1;try{const s=Object.defineProperty({},"passive",{get(){i=!0}});n.addEventListener("testPassiveListener",null,s)}catch{}return i}(),gestures:function(){return"ongesturestart"in n}()}}function pu(){return Rs||(Rs=g1()),Rs}let Hs;function v1({userAgent:n}={}){const t=pu(),e=Qe(),i=e.navigator.platform,s=n||e.navigator.userAgent,o={ios:!1,android:!1},r=e.screen.width,l=e.screen.height,a=s.match(/(Android);?[\s\/]+([\d.]+)?/);let c=s.match(/(iPad).*OS\s([\d_]+)/);const u=s.match(/(iPod)(.*OS\s([\d_]+))?/),d=!c&&s.match(/(iPhone\sOS|iOS)\s([\d_]+)/),f=i==="Win32";let h=i==="MacIntel";const p=["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"];return!c&&h&&t.touch&&p.indexOf(`${r}x${l}`)>=0&&(c=s.match(/(Version)\/([\d.]+)/),c||(c=[0,1,"13_0_0"]),h=!1),a&&!f&&(o.os="android",o.android=!0),(c||d||u)&&(o.os="ios",o.ios=!0),o}function b1(n={}){return Hs||(Hs=v1(n)),Hs}let Fs;function A1(){const n=Qe();function t(){const e=n.navigator.userAgent.toLowerCase();return e.indexOf("safari")>=0&&e.indexOf("chrome")<0&&e.indexOf("android")<0}return{isSafari:t(),isWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(n.navigator.userAgent)}}function y1(){return Fs||(Fs=A1()),Fs}function w1({swiper:n,on:t,emit:e}){const i=Qe();let s=null,o=null;const r=()=>{!n||n.destroyed||!n.initialized||(e("beforeResize"),e("resize"))},l=()=>{!n||n.destroyed||!n.initialized||(s=new ResizeObserver(u=>{o=i.requestAnimationFrame(()=>{const{width:d,height:f}=n;let h=d,p=f;u.forEach(({contentBoxSize:m,contentRect:g,target:b})=>{b&&b!==n.el||(h=g?g.width:(m[0]||m).inlineSize,p=g?g.height:(m[0]||m).blockSize)}),(h!==d||p!==f)&&r()})}),s.observe(n.el))},a=()=>{o&&i.cancelAnimationFrame(o),s&&s.unobserve&&n.el&&(s.unobserve(n.el),s=null)},c=()=>{!n||n.destroyed||!n.initialized||e("orientationchange")};t("init",()=>{if(n.params.resizeObserver&&typeof i.ResizeObserver<"u"){l();return}i.addEventListener("resize",r),i.addEventListener("orientationchange",c)}),t("destroy",()=>{a(),i.removeEventListener("resize",r),i.removeEventListener("orientationchange",c)})}function P1({swiper:n,extendParams:t,on:e,emit:i}){const s=[],o=Qe(),r=(c,u={})=>{const d=o.MutationObserver||o.WebkitMutationObserver,f=new d(h=>{if(h.length===1){i("observerUpdate",h[0]);return}const p=function(){i("observerUpdate",h[0])};o.requestAnimationFrame?o.requestAnimationFrame(p):o.setTimeout(p,0)});f.observe(c,{attributes:typeof u.attributes>"u"?!0:u.attributes,childList:typeof u.childList>"u"?!0:u.childList,characterData:typeof u.characterData>"u"?!0:u.characterData}),s.push(f)},l=()=>{if(!!n.params.observer){if(n.params.observeParents){const c=n.$el.parents();for(let u=0;u<c.length;u+=1)r(c[u])}r(n.$el[0],{childList:n.params.observeSlideChildren}),r(n.$wrapperEl[0],{attributes:!1})}},a=()=>{s.forEach(c=>{c.disconnect()}),s.splice(0,s.length)};t({observer:!1,observeParents:!1,observeSlideChildren:!1}),e("init",l),e("destroy",a)}const E1={on(n,t,e){const i=this;if(!i.eventsListeners||i.destroyed||typeof t!="function")return i;const s=e?"unshift":"push";return n.split(" ").forEach(o=>{i.eventsListeners[o]||(i.eventsListeners[o]=[]),i.eventsListeners[o][s](t)}),i},once(n,t,e){const i=this;if(!i.eventsListeners||i.destroyed||typeof t!="function")return i;function s(...o){i.off(n,s),s.__emitterProxy&&delete s.__emitterProxy,t.apply(i,o)}return s.__emitterProxy=t,i.on(n,s,e)},onAny(n,t){const e=this;if(!e.eventsListeners||e.destroyed||typeof n!="function")return e;const i=t?"unshift":"push";return e.eventsAnyListeners.indexOf(n)<0&&e.eventsAnyListeners[i](n),e},offAny(n){const t=this;if(!t.eventsListeners||t.destroyed||!t.eventsAnyListeners)return t;const e=t.eventsAnyListeners.indexOf(n);return e>=0&&t.eventsAnyListeners.splice(e,1),t},off(n,t){const e=this;return!e.eventsListeners||e.destroyed||!e.eventsListeners||n.split(" ").forEach(i=>{typeof t>"u"?e.eventsListeners[i]=[]:e.eventsListeners[i]&&e.eventsListeners[i].forEach((s,o)=>{(s===t||s.__emitterProxy&&s.__emitterProxy===t)&&e.eventsListeners[i].splice(o,1)})}),e},emit(...n){const t=this;if(!t.eventsListeners||t.destroyed||!t.eventsListeners)return t;let e,i,s;return typeof n[0]=="string"||Array.isArray(n[0])?(e=n[0],i=n.slice(1,n.length),s=t):(e=n[0].events,i=n[0].data,s=n[0].context||t),i.unshift(s),(Array.isArray(e)?e:e.split(" ")).forEach(r=>{t.eventsAnyListeners&&t.eventsAnyListeners.length&&t.eventsAnyListeners.forEach(l=>{l.apply(s,[r,...i])}),t.eventsListeners&&t.eventsListeners[r]&&t.eventsListeners[r].forEach(l=>{l.apply(s,i)})}),t}};function C1(){const n=this;let t,e;const i=n.$el;typeof n.params.width<"u"&&n.params.width!==null?t=n.params.width:t=i[0].clientWidth,typeof n.params.height<"u"&&n.params.height!==null?e=n.params.height:e=i[0].clientHeight,!(t===0&&n.isHorizontal()||e===0&&n.isVertical())&&(t=t-parseInt(i.css("padding-left")||0,10)-parseInt(i.css("padding-right")||0,10),e=e-parseInt(i.css("padding-top")||0,10)-parseInt(i.css("padding-bottom")||0,10),Number.isNaN(t)&&(t=0),Number.isNaN(e)&&(e=0),Object.assign(n,{width:t,height:e,size:n.isHorizontal()?t:e}))}function I1(){const n=this;function t(z){return n.isHorizontal()?z:{width:"height","margin-top":"margin-left","margin-bottom ":"margin-right","margin-left":"margin-top","margin-right":"margin-bottom","padding-left":"padding-top","padding-right":"padding-bottom",marginRight:"marginBottom"}[z]}function e(z,j){return parseFloat(z.getPropertyValue(t(j))||0)}const i=n.params,{$wrapperEl:s,size:o,rtlTranslate:r,wrongRTL:l}=n,a=n.virtual&&i.virtual.enabled,c=a?n.virtual.slides.length:n.slides.length,u=s.children(`.${n.params.slideClass}`),d=a?n.virtual.slides.length:u.length;let f=[];const h=[],p=[];let m=i.slidesOffsetBefore;typeof m=="function"&&(m=i.slidesOffsetBefore.call(n));let g=i.slidesOffsetAfter;typeof g=="function"&&(g=i.slidesOffsetAfter.call(n));const b=n.snapGrid.length,A=n.slidesGrid.length;let y=i.spaceBetween,I=-m,k=0,E=0;if(typeof o>"u")return;typeof y=="string"&&y.indexOf("%")>=0&&(y=parseFloat(y.replace("%",""))/100*o),n.virtualSize=-y,r?u.css({marginLeft:"",marginBottom:"",marginTop:""}):u.css({marginRight:"",marginBottom:"",marginTop:""}),i.centeredSlides&&i.cssMode&&(Si(n.wrapperEl,"--swiper-centered-offset-before",""),Si(n.wrapperEl,"--swiper-centered-offset-after",""));const D=i.grid&&i.grid.rows>1&&n.grid;D&&n.grid.initSlides(d);let T;const B=i.slidesPerView==="auto"&&i.breakpoints&&Object.keys(i.breakpoints).filter(z=>typeof i.breakpoints[z].slidesPerView<"u").length>0;for(let z=0;z<d;z+=1){T=0;const j=u.eq(z);if(D&&n.grid.updateSlide(z,j,d,t),j.css("display")!=="none"){if(i.slidesPerView==="auto"){B&&(u[z].style[t("width")]="");const Y=getComputedStyle(j[0]),x=j[0].style.transform,O=j[0].style.webkitTransform;if(x&&(j[0].style.transform="none"),O&&(j[0].style.webkitTransform="none"),i.roundLengths)T=n.isHorizontal()?j.outerWidth(!0):j.outerHeight(!0);else{const Q=e(Y,"width"),V=e(Y,"padding-left"),U=e(Y,"padding-right"),$=e(Y,"margin-left"),J=e(Y,"margin-right"),q=Y.getPropertyValue("box-sizing");if(q&&q==="border-box")T=Q+$+J;else{const{clientWidth:he,offsetWidth:le}=j[0];T=Q+V+U+$+J+(le-he)}}x&&(j[0].style.transform=x),O&&(j[0].style.webkitTransform=O),i.roundLengths&&(T=Math.floor(T))}else T=(o-(i.slidesPerView-1)*y)/i.slidesPerView,i.roundLengths&&(T=Math.floor(T)),u[z]&&(u[z].style[t("width")]=`${T}px`);u[z]&&(u[z].swiperSlideSize=T),p.push(T),i.centeredSlides?(I=I+T/2+k/2+y,k===0&&z!==0&&(I=I-o/2-y),z===0&&(I=I-o/2-y),Math.abs(I)<1/1e3&&(I=0),i.roundLengths&&(I=Math.floor(I)),E%i.slidesPerGroup===0&&f.push(I),h.push(I)):(i.roundLengths&&(I=Math.floor(I)),(E-Math.min(n.params.slidesPerGroupSkip,E))%n.params.slidesPerGroup===0&&f.push(I),h.push(I),I=I+T+y),n.virtualSize+=T+y,k=T,E+=1}}if(n.virtualSize=Math.max(n.virtualSize,o)+g,r&&l&&(i.effect==="slide"||i.effect==="coverflow")&&s.css({width:`${n.virtualSize+i.spaceBetween}px`}),i.setWrapperSize&&s.css({[t("width")]:`${n.virtualSize+i.spaceBetween}px`}),D&&n.grid.updateWrapperSize(T,f,t),!i.centeredSlides){const z=[];for(let j=0;j<f.length;j+=1){let Y=f[j];i.roundLengths&&(Y=Math.floor(Y)),f[j]<=n.virtualSize-o&&z.push(Y)}f=z,Math.floor(n.virtualSize-o)-Math.floor(f[f.length-1])>1&&f.push(n.virtualSize-o)}if(f.length===0&&(f=[0]),i.spaceBetween!==0){const z=n.isHorizontal()&&r?"marginLeft":t("marginRight");u.filter((j,Y)=>i.cssMode?Y!==u.length-1:!0).css({[z]:`${y}px`})}if(i.centeredSlides&&i.centeredSlidesBounds){let z=0;p.forEach(Y=>{z+=Y+(i.spaceBetween?i.spaceBetween:0)}),z-=i.spaceBetween;const j=z-o;f=f.map(Y=>Y<0?-m:Y>j?j+g:Y)}if(i.centerInsufficientSlides){let z=0;if(p.forEach(j=>{z+=j+(i.spaceBetween?i.spaceBetween:0)}),z-=i.spaceBetween,z<o){const j=(o-z)/2;f.forEach((Y,x)=>{f[x]=Y-j}),h.forEach((Y,x)=>{h[x]=Y+j})}}if(Object.assign(n,{slides:u,snapGrid:f,slidesGrid:h,slidesSizesGrid:p}),i.centeredSlides&&i.cssMode&&!i.centeredSlidesBounds){Si(n.wrapperEl,"--swiper-centered-offset-before",`${-f[0]}px`),Si(n.wrapperEl,"--swiper-centered-offset-after",`${n.size/2-p[p.length-1]/2}px`);const z=-n.snapGrid[0],j=-n.slidesGrid[0];n.snapGrid=n.snapGrid.map(Y=>Y+z),n.slidesGrid=n.slidesGrid.map(Y=>Y+j)}if(d!==c&&n.emit("slidesLengthChange"),f.length!==b&&(n.params.watchOverflow&&n.checkOverflow(),n.emit("snapGridLengthChange")),h.length!==A&&n.emit("slidesGridLengthChange"),i.watchSlidesProgress&&n.updateSlidesOffset(),!a&&!i.cssMode&&(i.effect==="slide"||i.effect==="fade")){const z=`${i.containerModifierClass}backface-hidden`,j=n.$el.hasClass(z);d<=i.maxBackfaceHiddenSlides?j||n.$el.addClass(z):j&&n.$el.removeClass(z)}}function x1(n){const t=this,e=[],i=t.virtual&&t.params.virtual.enabled;let s=0,o;typeof n=="number"?t.setTransition(n):n===!0&&t.setTransition(t.params.speed);const r=l=>i?t.slides.filter(a=>parseInt(a.getAttribute("data-swiper-slide-index"),10)===l)[0]:t.slides.eq(l)[0];if(t.params.slidesPerView!=="auto"&&t.params.slidesPerView>1)if(t.params.centeredSlides)(t.visibleSlides||ae([])).each(l=>{e.push(l)});else for(o=0;o<Math.ceil(t.params.slidesPerView);o+=1){const l=t.activeIndex+o;if(l>t.slides.length&&!i)break;e.push(r(l))}else e.push(r(t.activeIndex));for(o=0;o<e.length;o+=1)if(typeof e[o]<"u"){const l=e[o].offsetHeight;s=l>s?l:s}(s||s===0)&&t.$wrapperEl.css("height",`${s}px`)}function T1(){const n=this,t=n.slides;for(let e=0;e<t.length;e+=1)t[e].swiperSlideOffset=n.isHorizontal()?t[e].offsetLeft:t[e].offsetTop}function S1(n=this&&this.translate||0){const t=this,e=t.params,{slides:i,rtlTranslate:s,snapGrid:o}=t;if(i.length===0)return;typeof i[0].swiperSlideOffset>"u"&&t.updateSlidesOffset();let r=-n;s&&(r=n),i.removeClass(e.slideVisibleClass),t.visibleSlidesIndexes=[],t.visibleSlides=[];for(let l=0;l<i.length;l+=1){const a=i[l];let c=a.swiperSlideOffset;e.cssMode&&e.centeredSlides&&(c-=i[0].swiperSlideOffset);const u=(r+(e.centeredSlides?t.minTranslate():0)-c)/(a.swiperSlideSize+e.spaceBetween),d=(r-o[0]+(e.centeredSlides?t.minTranslate():0)-c)/(a.swiperSlideSize+e.spaceBetween),f=-(r-c),h=f+t.slidesSizesGrid[l];(f>=0&&f<t.size-1||h>1&&h<=t.size||f<=0&&h>=t.size)&&(t.visibleSlides.push(a),t.visibleSlidesIndexes.push(l),i.eq(l).addClass(e.slideVisibleClass)),a.progress=s?-u:u,a.originalProgress=s?-d:d}t.visibleSlides=ae(t.visibleSlides)}function k1(n){const t=this;if(typeof n>"u"){const c=t.rtlTranslate?-1:1;n=t&&t.translate&&t.translate*c||0}const e=t.params,i=t.maxTranslate()-t.minTranslate();let{progress:s,isBeginning:o,isEnd:r}=t;const l=o,a=r;i===0?(s=0,o=!0,r=!0):(s=(n-t.minTranslate())/i,o=s<=0,r=s>=1),Object.assign(t,{progress:s,isBeginning:o,isEnd:r}),(e.watchSlidesProgress||e.centeredSlides&&e.autoHeight)&&t.updateSlidesProgress(n),o&&!l&&t.emit("reachBeginning toEdge"),r&&!a&&t.emit("reachEnd toEdge"),(l&&!o||a&&!r)&&t.emit("fromEdge"),t.emit("progress",s)}function D1(){const n=this,{slides:t,params:e,$wrapperEl:i,activeIndex:s,realIndex:o}=n,r=n.virtual&&e.virtual.enabled;t.removeClass(`${e.slideActiveClass} ${e.slideNextClass} ${e.slidePrevClass} ${e.slideDuplicateActiveClass} ${e.slideDuplicateNextClass} ${e.slideDuplicatePrevClass}`);let l;r?l=n.$wrapperEl.find(`.${e.slideClass}[data-swiper-slide-index="${s}"]`):l=t.eq(s),l.addClass(e.slideActiveClass),e.loop&&(l.hasClass(e.slideDuplicateClass)?i.children(`.${e.slideClass}:not(.${e.slideDuplicateClass})[data-swiper-slide-index="${o}"]`).addClass(e.slideDuplicateActiveClass):i.children(`.${e.slideClass}.${e.slideDuplicateClass}[data-swiper-slide-index="${o}"]`).addClass(e.slideDuplicateActiveClass));let a=l.nextAll(`.${e.slideClass}`).eq(0).addClass(e.slideNextClass);e.loop&&a.length===0&&(a=t.eq(0),a.addClass(e.slideNextClass));let c=l.prevAll(`.${e.slideClass}`).eq(0).addClass(e.slidePrevClass);e.loop&&c.length===0&&(c=t.eq(-1),c.addClass(e.slidePrevClass)),e.loop&&(a.hasClass(e.slideDuplicateClass)?i.children(`.${e.slideClass}:not(.${e.slideDuplicateClass})[data-swiper-slide-index="${a.attr("data-swiper-slide-index")}"]`).addClass(e.slideDuplicateNextClass):i.children(`.${e.slideClass}.${e.slideDuplicateClass}[data-swiper-slide-index="${a.attr("data-swiper-slide-index")}"]`).addClass(e.slideDuplicateNextClass),c.hasClass(e.slideDuplicateClass)?i.children(`.${e.slideClass}:not(.${e.slideDuplicateClass})[data-swiper-slide-index="${c.attr("data-swiper-slide-index")}"]`).addClass(e.slideDuplicatePrevClass):i.children(`.${e.slideClass}.${e.slideDuplicateClass}[data-swiper-slide-index="${c.attr("data-swiper-slide-index")}"]`).addClass(e.slideDuplicatePrevClass)),n.emitSlidesClasses()}function L1(n){const t=this,e=t.rtlTranslate?t.translate:-t.translate,{slidesGrid:i,snapGrid:s,params:o,activeIndex:r,realIndex:l,snapIndex:a}=t;let c=n,u;if(typeof c>"u"){for(let f=0;f<i.length;f+=1)typeof i[f+1]<"u"?e>=i[f]&&e<i[f+1]-(i[f+1]-i[f])/2?c=f:e>=i[f]&&e<i[f+1]&&(c=f+1):e>=i[f]&&(c=f);o.normalizeSlideIndex&&(c<0||typeof c>"u")&&(c=0)}if(s.indexOf(e)>=0)u=s.indexOf(e);else{const f=Math.min(o.slidesPerGroupSkip,c);u=f+Math.floor((c-f)/o.slidesPerGroup)}if(u>=s.length&&(u=s.length-1),c===r){u!==a&&(t.snapIndex=u,t.emit("snapIndexChange"));return}const d=parseInt(t.slides.eq(c).attr("data-swiper-slide-index")||c,10);Object.assign(t,{snapIndex:u,realIndex:d,previousIndex:r,activeIndex:c}),t.emit("activeIndexChange"),t.emit("snapIndexChange"),l!==d&&t.emit("realIndexChange"),(t.initialized||t.params.runCallbacksOnInit)&&t.emit("slideChange")}function M1(n){const t=this,e=t.params,i=ae(n).closest(`.${e.slideClass}`)[0];let s=!1,o;if(i){for(let r=0;r<t.slides.length;r+=1)if(t.slides[r]===i){s=!0,o=r;break}}if(i&&s)t.clickedSlide=i,t.virtual&&t.params.virtual.enabled?t.clickedIndex=parseInt(ae(i).attr("data-swiper-slide-index"),10):t.clickedIndex=o;else{t.clickedSlide=void 0,t.clickedIndex=void 0;return}e.slideToClickedSlide&&t.clickedIndex!==void 0&&t.clickedIndex!==t.activeIndex&&t.slideToClickedSlide()}const z1={updateSize:C1,updateSlides:I1,updateAutoHeight:x1,updateSlidesOffset:T1,updateSlidesProgress:S1,updateProgress:k1,updateSlidesClasses:D1,updateActiveIndex:L1,updateClickedSlide:M1};function O1(n=this.isHorizontal()?"x":"y"){const t=this,{params:e,rtlTranslate:i,translate:s,$wrapperEl:o}=t;if(e.virtualTranslate)return i?-s:s;if(e.cssMode)return s;let r=p1(o[0],n);return i&&(r=-r),r||0}function j1(n,t){const e=this,{rtlTranslate:i,params:s,$wrapperEl:o,wrapperEl:r,progress:l}=e;let a=0,c=0;const u=0;e.isHorizontal()?a=i?-n:n:c=n,s.roundLengths&&(a=Math.floor(a),c=Math.floor(c)),s.cssMode?r[e.isHorizontal()?"scrollLeft":"scrollTop"]=e.isHorizontal()?-a:-c:s.virtualTranslate||o.transform(`translate3d(${a}px, ${c}px, ${u}px)`),e.previousTranslate=e.translate,e.translate=e.isHorizontal()?a:c;let d;const f=e.maxTranslate()-e.minTranslate();f===0?d=0:d=(n-e.minTranslate())/f,d!==l&&e.updateProgress(n),e.emit("setTranslate",e.translate,t)}function B1(){return-this.snapGrid[0]}function R1(){return-this.snapGrid[this.snapGrid.length-1]}function H1(n=0,t=this.params.speed,e=!0,i=!0,s){const o=this,{params:r,wrapperEl:l}=o;if(o.animating&&r.preventInteractionOnTransition)return!1;const a=o.minTranslate(),c=o.maxTranslate();let u;if(i&&n>a?u=a:i&&n<c?u=c:u=n,o.updateProgress(u),r.cssMode){const d=o.isHorizontal();if(t===0)l[d?"scrollLeft":"scrollTop"]=-u;else{if(!o.support.smoothScroll)return hu({swiper:o,targetPosition:-u,side:d?"left":"top"}),!0;l.scrollTo({[d?"left":"top"]:-u,behavior:"smooth"})}return!0}return t===0?(o.setTransition(0),o.setTranslate(u),e&&(o.emit("beforeTransitionStart",t,s),o.emit("transitionEnd"))):(o.setTransition(t),o.setTranslate(u),e&&(o.emit("beforeTransitionStart",t,s),o.emit("transitionStart")),o.animating||(o.animating=!0,o.onTranslateToWrapperTransitionEnd||(o.onTranslateToWrapperTransitionEnd=function(f){!o||o.destroyed||f.target===this&&(o.$wrapperEl[0].removeEventListener("transitionend",o.onTranslateToWrapperTransitionEnd),o.$wrapperEl[0].removeEventListener("webkitTransitionEnd",o.onTranslateToWrapperTransitionEnd),o.onTranslateToWrapperTransitionEnd=null,delete o.onTranslateToWrapperTransitionEnd,e&&o.emit("transitionEnd"))}),o.$wrapperEl[0].addEventListener("transitionend",o.onTranslateToWrapperTransitionEnd),o.$wrapperEl[0].addEventListener("webkitTransitionEnd",o.onTranslateToWrapperTransitionEnd))),!0}const F1={getTranslate:O1,setTranslate:j1,minTranslate:B1,maxTranslate:R1,translateTo:H1};function N1(n,t){const e=this;e.params.cssMode||e.$wrapperEl.transition(n),e.emit("setTransition",n,t)}function mu({swiper:n,runCallbacks:t,direction:e,step:i}){const{activeIndex:s,previousIndex:o}=n;let r=e;if(r||(s>o?r="next":s<o?r="prev":r="reset"),n.emit(`transition${i}`),t&&s!==o){if(r==="reset"){n.emit(`slideResetTransition${i}`);return}n.emit(`slideChangeTransition${i}`),r==="next"?n.emit(`slideNextTransition${i}`):n.emit(`slidePrevTransition${i}`)}}function G1(n=!0,t){const e=this,{params:i}=e;i.cssMode||(i.autoHeight&&e.updateAutoHeight(),mu({swiper:e,runCallbacks:n,direction:t,step:"Start"}))}function _1(n=!0,t){const e=this,{params:i}=e;e.animating=!1,!i.cssMode&&(e.setTransition(0),mu({swiper:e,runCallbacks:n,direction:t,step:"End"}))}const Q1={setTransition:N1,transitionStart:G1,transitionEnd:_1};function W1(n=0,t=this.params.speed,e=!0,i,s){if(typeof n!="number"&&typeof n!="string")throw new Error(`The 'index' argument cannot have type other than 'number' or 'string'. [${typeof n}] given.`);if(typeof n=="string"){const y=parseInt(n,10);if(!isFinite(y))throw new Error(`The passed-in 'index' (string) couldn't be converted to 'number'. [${n}] given.`);n=y}const o=this;let r=n;r<0&&(r=0);const{params:l,snapGrid:a,slidesGrid:c,previousIndex:u,activeIndex:d,rtlTranslate:f,wrapperEl:h,enabled:p}=o;if(o.animating&&l.preventInteractionOnTransition||!p&&!i&&!s)return!1;const m=Math.min(o.params.slidesPerGroupSkip,r);let g=m+Math.floor((r-m)/o.params.slidesPerGroup);g>=a.length&&(g=a.length-1);const b=-a[g];if(l.normalizeSlideIndex)for(let y=0;y<c.length;y+=1){const I=-Math.floor(b*100),k=Math.floor(c[y]*100),E=Math.floor(c[y+1]*100);typeof c[y+1]<"u"?I>=k&&I<E-(E-k)/2?r=y:I>=k&&I<E&&(r=y+1):I>=k&&(r=y)}if(o.initialized&&r!==d&&(!o.allowSlideNext&&b<o.translate&&b<o.minTranslate()||!o.allowSlidePrev&&b>o.translate&&b>o.maxTranslate()&&(d||0)!==r))return!1;r!==(u||0)&&e&&o.emit("beforeSlideChangeStart"),o.updateProgress(b);let A;if(r>d?A="next":r<d?A="prev":A="reset",f&&-b===o.translate||!f&&b===o.translate)return o.updateActiveIndex(r),l.autoHeight&&o.updateAutoHeight(),o.updateSlidesClasses(),l.effect!=="slide"&&o.setTranslate(b),A!=="reset"&&(o.transitionStart(e,A),o.transitionEnd(e,A)),!1;if(l.cssMode){const y=o.isHorizontal(),I=f?b:-b;if(t===0){const k=o.virtual&&o.params.virtual.enabled;k&&(o.wrapperEl.style.scrollSnapType="none",o._immediateVirtual=!0),h[y?"scrollLeft":"scrollTop"]=I,k&&requestAnimationFrame(()=>{o.wrapperEl.style.scrollSnapType="",o._swiperImmediateVirtual=!1})}else{if(!o.support.smoothScroll)return hu({swiper:o,targetPosition:I,side:y?"left":"top"}),!0;h.scrollTo({[y?"left":"top"]:I,behavior:"smooth"})}return!0}return o.setTransition(t),o.setTranslate(b),o.updateActiveIndex(r),o.updateSlidesClasses(),o.emit("beforeTransitionStart",t,i),o.transitionStart(e,A),t===0?o.transitionEnd(e,A):o.animating||(o.animating=!0,o.onSlideToWrapperTransitionEnd||(o.onSlideToWrapperTransitionEnd=function(I){!o||o.destroyed||I.target===this&&(o.$wrapperEl[0].removeEventListener("transitionend",o.onSlideToWrapperTransitionEnd),o.$wrapperEl[0].removeEventListener("webkitTransitionEnd",o.onSlideToWrapperTransitionEnd),o.onSlideToWrapperTransitionEnd=null,delete o.onSlideToWrapperTransitionEnd,o.transitionEnd(e,A))}),o.$wrapperEl[0].addEventListener("transitionend",o.onSlideToWrapperTransitionEnd),o.$wrapperEl[0].addEventListener("webkitTransitionEnd",o.onSlideToWrapperTransitionEnd)),!0}function X1(n=0,t=this.params.speed,e=!0,i){if(typeof n=="string"){const r=parseInt(n,10);if(!isFinite(r))throw new Error(`The passed-in 'index' (string) couldn't be converted to 'number'. [${n}] given.`);n=r}const s=this;let o=n;return s.params.loop&&(o+=s.loopedSlides),s.slideTo(o,t,e,i)}function V1(n=this.params.speed,t=!0,e){const i=this,{animating:s,enabled:o,params:r}=i;if(!o)return i;let l=r.slidesPerGroup;r.slidesPerView==="auto"&&r.slidesPerGroup===1&&r.slidesPerGroupAuto&&(l=Math.max(i.slidesPerViewDynamic("current",!0),1));const a=i.activeIndex<r.slidesPerGroupSkip?1:l;if(r.loop){if(s&&r.loopPreventsSlide)return!1;i.loopFix(),i._clientLeft=i.$wrapperEl[0].clientLeft}return r.rewind&&i.isEnd?i.slideTo(0,n,t,e):i.slideTo(i.activeIndex+a,n,t,e)}function Y1(n=this.params.speed,t=!0,e){const i=this,{params:s,animating:o,snapGrid:r,slidesGrid:l,rtlTranslate:a,enabled:c}=i;if(!c)return i;if(s.loop){if(o&&s.loopPreventsSlide)return!1;i.loopFix(),i._clientLeft=i.$wrapperEl[0].clientLeft}const u=a?i.translate:-i.translate;function d(g){return g<0?-Math.floor(Math.abs(g)):Math.floor(g)}const f=d(u),h=r.map(g=>d(g));let p=r[h.indexOf(f)-1];if(typeof p>"u"&&s.cssMode){let g;r.forEach((b,A)=>{f>=b&&(g=A)}),typeof g<"u"&&(p=r[g>0?g-1:g])}let m=0;if(typeof p<"u"&&(m=l.indexOf(p),m<0&&(m=i.activeIndex-1),s.slidesPerView==="auto"&&s.slidesPerGroup===1&&s.slidesPerGroupAuto&&(m=m-i.slidesPerViewDynamic("previous",!0)+1,m=Math.max(m,0))),s.rewind&&i.isBeginning){const g=i.params.virtual&&i.params.virtual.enabled&&i.virtual?i.virtual.slides.length-1:i.slides.length-1;return i.slideTo(g,n,t,e)}return i.slideTo(m,n,t,e)}function U1(n=this.params.speed,t=!0,e){const i=this;return i.slideTo(i.activeIndex,n,t,e)}function Z1(n=this.params.speed,t=!0,e,i=.5){const s=this;let o=s.activeIndex;const r=Math.min(s.params.slidesPerGroupSkip,o),l=r+Math.floor((o-r)/s.params.slidesPerGroup),a=s.rtlTranslate?s.translate:-s.translate;if(a>=s.snapGrid[l]){const c=s.snapGrid[l],u=s.snapGrid[l+1];a-c>(u-c)*i&&(o+=s.params.slidesPerGroup)}else{const c=s.snapGrid[l-1],u=s.snapGrid[l];a-c<=(u-c)*i&&(o-=s.params.slidesPerGroup)}return o=Math.max(o,0),o=Math.min(o,s.slidesGrid.length-1),s.slideTo(o,n,t,e)}function J1(){const n=this,{params:t,$wrapperEl:e}=n,i=t.slidesPerView==="auto"?n.slidesPerViewDynamic():t.slidesPerView;let s=n.clickedIndex,o;if(t.loop){if(n.animating)return;o=parseInt(ae(n.clickedSlide).attr("data-swiper-slide-index"),10),t.centeredSlides?s<n.loopedSlides-i/2||s>n.slides.length-n.loopedSlides+i/2?(n.loopFix(),s=e.children(`.${t.slideClass}[data-swiper-slide-index="${o}"]:not(.${t.slideDuplicateClass})`).eq(0).index(),$i(()=>{n.slideTo(s)})):n.slideTo(s):s>n.slides.length-i?(n.loopFix(),s=e.children(`.${t.slideClass}[data-swiper-slide-index="${o}"]:not(.${t.slideDuplicateClass})`).eq(0).index(),$i(()=>{n.slideTo(s)})):n.slideTo(s)}else n.slideTo(s)}const q1={slideTo:W1,slideToLoop:X1,slideNext:V1,slidePrev:Y1,slideReset:U1,slideToClosest:Z1,slideToClickedSlide:J1};function K1(){const n=this,t=Ze(),{params:e,$wrapperEl:i}=n,s=i.children().length>0?ae(i.children()[0].parentNode):i;s.children(`.${e.slideClass}.${e.slideDuplicateClass}`).remove();let o=s.children(`.${e.slideClass}`);if(e.loopFillGroupWithBlank){const a=e.slidesPerGroup-o.length%e.slidesPerGroup;if(a!==e.slidesPerGroup){for(let c=0;c<a;c+=1){const u=ae(t.createElement("div")).addClass(`${e.slideClass} ${e.slideBlankClass}`);s.append(u)}o=s.children(`.${e.slideClass}`)}}e.slidesPerView==="auto"&&!e.loopedSlides&&(e.loopedSlides=o.length),n.loopedSlides=Math.ceil(parseFloat(e.loopedSlides||e.slidesPerView,10)),n.loopedSlides+=e.loopAdditionalSlides,n.loopedSlides>o.length&&n.params.loopedSlidesLimit&&(n.loopedSlides=o.length);const r=[],l=[];o.each((a,c)=>{ae(a).attr("data-swiper-slide-index",c)});for(let a=0;a<n.loopedSlides;a+=1){const c=a-Math.floor(a/o.length)*o.length;l.push(o.eq(c)[0]),r.unshift(o.eq(o.length-c-1)[0])}for(let a=0;a<l.length;a+=1)s.append(ae(l[a].cloneNode(!0)).addClass(e.slideDuplicateClass));for(let a=r.length-1;a>=0;a-=1)s.prepend(ae(r[a].cloneNode(!0)).addClass(e.slideDuplicateClass))}function $1(){const n=this;n.emit("beforeLoopFix");const{activeIndex:t,slides:e,loopedSlides:i,allowSlidePrev:s,allowSlideNext:o,snapGrid:r,rtlTranslate:l}=n;let a;n.allowSlidePrev=!0,n.allowSlideNext=!0;const u=-r[t]-n.getTranslate();t<i?(a=e.length-i*3+t,a+=i,n.slideTo(a,0,!1,!0)&&u!==0&&n.setTranslate((l?-n.translate:n.translate)-u)):t>=e.length-i&&(a=-e.length+t+i,a+=i,n.slideTo(a,0,!1,!0)&&u!==0&&n.setTranslate((l?-n.translate:n.translate)-u)),n.allowSlidePrev=s,n.allowSlideNext=o,n.emit("loopFix")}function eb(){const n=this,{$wrapperEl:t,params:e,slides:i}=n;t.children(`.${e.slideClass}.${e.slideDuplicateClass},.${e.slideClass}.${e.slideBlankClass}`).remove(),i.removeAttr("data-swiper-slide-index")}const tb={loopCreate:K1,loopFix:$1,loopDestroy:eb};function nb(n){const t=this;if(t.support.touch||!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode)return;const e=t.params.touchEventsTarget==="container"?t.el:t.wrapperEl;e.style.cursor="move",e.style.cursor=n?"grabbing":"grab"}function ib(){const n=this;n.support.touch||n.params.watchOverflow&&n.isLocked||n.params.cssMode||(n[n.params.touchEventsTarget==="container"?"el":"wrapperEl"].style.cursor="")}const sb={setGrabCursor:nb,unsetGrabCursor:ib};function ob(n,t=this){function e(i){if(!i||i===Ze()||i===Qe())return null;i.assignedSlot&&(i=i.assignedSlot);const s=i.closest(n);return!s&&!i.getRootNode?null:s||e(i.getRootNode().host)}return e(t)}function rb(n){const t=this,e=Ze(),i=Qe(),s=t.touchEventsData,{params:o,touches:r,enabled:l}=t;if(!l||t.animating&&o.preventInteractionOnTransition)return;!t.animating&&o.cssMode&&o.loop&&t.loopFix();let a=n;a.originalEvent&&(a=a.originalEvent);let c=ae(a.target);if(o.touchEventsTarget==="wrapper"&&!c.closest(t.wrapperEl).length||(s.isTouchEvent=a.type==="touchstart",!s.isTouchEvent&&"which"in a&&a.which===3)||!s.isTouchEvent&&"button"in a&&a.button>0||s.isTouched&&s.isMoved)return;const u=!!o.noSwipingClass&&o.noSwipingClass!=="",d=n.composedPath?n.composedPath():n.path;u&&a.target&&a.target.shadowRoot&&d&&(c=ae(d[0]));const f=o.noSwipingSelector?o.noSwipingSelector:`.${o.noSwipingClass}`,h=!!(a.target&&a.target.shadowRoot);if(o.noSwiping&&(h?ob(f,c[0]):c.closest(f)[0])){t.allowClick=!0;return}if(o.swipeHandler&&!c.closest(o.swipeHandler)[0])return;r.currentX=a.type==="touchstart"?a.targetTouches[0].pageX:a.pageX,r.currentY=a.type==="touchstart"?a.targetTouches[0].pageY:a.pageY;const p=r.currentX,m=r.currentY,g=o.edgeSwipeDetection||o.iOSEdgeSwipeDetection,b=o.edgeSwipeThreshold||o.iOSEdgeSwipeThreshold;if(g&&(p<=b||p>=i.innerWidth-b))if(g==="prevent")n.preventDefault();else return;if(Object.assign(s,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),r.startX=p,r.startY=m,s.touchStartTime=Jn(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,o.threshold>0&&(s.allowThresholdMove=!1),a.type!=="touchstart"){let A=!0;c.is(s.focusableElements)&&(A=!1,c[0].nodeName==="SELECT"&&(s.isTouched=!1)),e.activeElement&&ae(e.activeElement).is(s.focusableElements)&&e.activeElement!==c[0]&&e.activeElement.blur();const y=A&&t.allowTouchMove&&o.touchStartPreventDefault;(o.touchStartForcePreventDefault||y)&&!c[0].isContentEditable&&a.preventDefault()}t.params.freeMode&&t.params.freeMode.enabled&&t.freeMode&&t.animating&&!o.cssMode&&t.freeMode.onTouchStart(),t.emit("touchStart",a)}function ab(n){const t=Ze(),e=this,i=e.touchEventsData,{params:s,touches:o,rtlTranslate:r,enabled:l}=e;if(!l)return;let a=n;if(a.originalEvent&&(a=a.originalEvent),!i.isTouched){i.startMoving&&i.isScrolling&&e.emit("touchMoveOpposite",a);return}if(i.isTouchEvent&&a.type!=="touchmove")return;const c=a.type==="touchmove"&&a.targetTouches&&(a.targetTouches[0]||a.changedTouches[0]),u=a.type==="touchmove"?c.pageX:a.pageX,d=a.type==="touchmove"?c.pageY:a.pageY;if(a.preventedByNestedSwiper){o.startX=u,o.startY=d;return}if(!e.allowTouchMove){ae(a.target).is(i.focusableElements)||(e.allowClick=!1),i.isTouched&&(Object.assign(o,{startX:u,startY:d,currentX:u,currentY:d}),i.touchStartTime=Jn());return}if(i.isTouchEvent&&s.touchReleaseOnEdges&&!s.loop){if(e.isVertical()){if(d<o.startY&&e.translate<=e.maxTranslate()||d>o.startY&&e.translate>=e.minTranslate()){i.isTouched=!1,i.isMoved=!1;return}}else if(u<o.startX&&e.translate<=e.maxTranslate()||u>o.startX&&e.translate>=e.minTranslate())return}if(i.isTouchEvent&&t.activeElement&&a.target===t.activeElement&&ae(a.target).is(i.focusableElements)){i.isMoved=!0,e.allowClick=!1;return}if(i.allowTouchCallbacks&&e.emit("touchMove",a),a.targetTouches&&a.targetTouches.length>1)return;o.currentX=u,o.currentY=d;const f=o.currentX-o.startX,h=o.currentY-o.startY;if(e.params.threshold&&Math.sqrt(f**2+h**2)<e.params.threshold)return;if(typeof i.isScrolling>"u"){let b;e.isHorizontal()&&o.currentY===o.startY||e.isVertical()&&o.currentX===o.startX?i.isScrolling=!1:f*f+h*h>=25&&(b=Math.atan2(Math.abs(h),Math.abs(f))*180/Math.PI,i.isScrolling=e.isHorizontal()?b>s.touchAngle:90-b>s.touchAngle)}if(i.isScrolling&&e.emit("touchMoveOpposite",a),typeof i.startMoving>"u"&&(o.currentX!==o.startX||o.currentY!==o.startY)&&(i.startMoving=!0),i.isScrolling){i.isTouched=!1;return}if(!i.startMoving)return;e.allowClick=!1,!s.cssMode&&a.cancelable&&a.preventDefault(),s.touchMoveStopPropagation&&!s.nested&&a.stopPropagation(),i.isMoved||(s.loop&&!s.cssMode&&e.loopFix(),i.startTranslate=e.getTranslate(),e.setTransition(0),e.animating&&e.$wrapperEl.trigger("webkitTransitionEnd transitionend"),i.allowMomentumBounce=!1,s.grabCursor&&(e.allowSlideNext===!0||e.allowSlidePrev===!0)&&e.setGrabCursor(!0),e.emit("sliderFirstMove",a)),e.emit("sliderMove",a),i.isMoved=!0;let p=e.isHorizontal()?f:h;o.diff=p,p*=s.touchRatio,r&&(p=-p),e.swipeDirection=p>0?"prev":"next",i.currentTranslate=p+i.startTranslate;let m=!0,g=s.resistanceRatio;if(s.touchReleaseOnEdges&&(g=0),p>0&&i.currentTranslate>e.minTranslate()?(m=!1,s.resistance&&(i.currentTranslate=e.minTranslate()-1+(-e.minTranslate()+i.startTranslate+p)**g)):p<0&&i.currentTranslate<e.maxTranslate()&&(m=!1,s.resistance&&(i.currentTranslate=e.maxTranslate()+1-(e.maxTranslate()-i.startTranslate-p)**g)),m&&(a.preventedByNestedSwiper=!0),!e.allowSlideNext&&e.swipeDirection==="next"&&i.currentTranslate<i.startTranslate&&(i.currentTranslate=i.startTranslate),!e.allowSlidePrev&&e.swipeDirection==="prev"&&i.currentTranslate>i.startTranslate&&(i.currentTranslate=i.startTranslate),!e.allowSlidePrev&&!e.allowSlideNext&&(i.currentTranslate=i.startTranslate),s.threshold>0)if(Math.abs(p)>s.threshold||i.allowThresholdMove){if(!i.allowThresholdMove){i.allowThresholdMove=!0,o.startX=o.currentX,o.startY=o.currentY,i.currentTranslate=i.startTranslate,o.diff=e.isHorizontal()?o.currentX-o.startX:o.currentY-o.startY;return}}else{i.currentTranslate=i.startTranslate;return}!s.followFinger||s.cssMode||((s.freeMode&&s.freeMode.enabled&&e.freeMode||s.watchSlidesProgress)&&(e.updateActiveIndex(),e.updateSlidesClasses()),e.params.freeMode&&s.freeMode.enabled&&e.freeMode&&e.freeMode.onTouchMove(),e.updateProgress(i.currentTranslate),e.setTranslate(i.currentTranslate))}function lb(n){const t=this,e=t.touchEventsData,{params:i,touches:s,rtlTranslate:o,slidesGrid:r,enabled:l}=t;if(!l)return;let a=n;if(a.originalEvent&&(a=a.originalEvent),e.allowTouchCallbacks&&t.emit("touchEnd",a),e.allowTouchCallbacks=!1,!e.isTouched){e.isMoved&&i.grabCursor&&t.setGrabCursor(!1),e.isMoved=!1,e.startMoving=!1;return}i.grabCursor&&e.isMoved&&e.isTouched&&(t.allowSlideNext===!0||t.allowSlidePrev===!0)&&t.setGrabCursor(!1);const c=Jn(),u=c-e.touchStartTime;if(t.allowClick){const A=a.path||a.composedPath&&a.composedPath();t.updateClickedSlide(A&&A[0]||a.target),t.emit("tap click",a),u<300&&c-e.lastClickTime<300&&t.emit("doubleTap doubleClick",a)}if(e.lastClickTime=Jn(),$i(()=>{t.destroyed||(t.allowClick=!0)}),!e.isTouched||!e.isMoved||!t.swipeDirection||s.diff===0||e.currentTranslate===e.startTranslate){e.isTouched=!1,e.isMoved=!1,e.startMoving=!1;return}e.isTouched=!1,e.isMoved=!1,e.startMoving=!1;let d;if(i.followFinger?d=o?t.translate:-t.translate:d=-e.currentTranslate,i.cssMode)return;if(t.params.freeMode&&i.freeMode.enabled){t.freeMode.onTouchEnd({currentPos:d});return}let f=0,h=t.slidesSizesGrid[0];for(let A=0;A<r.length;A+=A<i.slidesPerGroupSkip?1:i.slidesPerGroup){const y=A<i.slidesPerGroupSkip-1?1:i.slidesPerGroup;typeof r[A+y]<"u"?d>=r[A]&&d<r[A+y]&&(f=A,h=r[A+y]-r[A]):d>=r[A]&&(f=A,h=r[r.length-1]-r[r.length-2])}let p=null,m=null;i.rewind&&(t.isBeginning?m=t.params.virtual&&t.params.virtual.enabled&&t.virtual?t.virtual.slides.length-1:t.slides.length-1:t.isEnd&&(p=0));const g=(d-r[f])/h,b=f<i.slidesPerGroupSkip-1?1:i.slidesPerGroup;if(u>i.longSwipesMs){if(!i.longSwipes){t.slideTo(t.activeIndex);return}t.swipeDirection==="next"&&(g>=i.longSwipesRatio?t.slideTo(i.rewind&&t.isEnd?p:f+b):t.slideTo(f)),t.swipeDirection==="prev"&&(g>1-i.longSwipesRatio?t.slideTo(f+b):m!==null&&g<0&&Math.abs(g)>i.longSwipesRatio?t.slideTo(m):t.slideTo(f))}else{if(!i.shortSwipes){t.slideTo(t.activeIndex);return}t.navigation&&(a.target===t.navigation.nextEl||a.target===t.navigation.prevEl)?a.target===t.navigation.nextEl?t.slideTo(f+b):t.slideTo(f):(t.swipeDirection==="next"&&t.slideTo(p!==null?p:f+b),t.swipeDirection==="prev"&&t.slideTo(m!==null?m:f))}}function Ya(){const n=this,{params:t,el:e}=n;if(e&&e.offsetWidth===0)return;t.breakpoints&&n.setBreakpoint();const{allowSlideNext:i,allowSlidePrev:s,snapGrid:o}=n;n.allowSlideNext=!0,n.allowSlidePrev=!0,n.updateSize(),n.updateSlides(),n.updateSlidesClasses(),(t.slidesPerView==="auto"||t.slidesPerView>1)&&n.isEnd&&!n.isBeginning&&!n.params.centeredSlides?n.slideTo(n.slides.length-1,0,!1,!0):n.slideTo(n.activeIndex,0,!1,!0),n.autoplay&&n.autoplay.running&&n.autoplay.paused&&n.autoplay.run(),n.allowSlidePrev=s,n.allowSlideNext=i,n.params.watchOverflow&&o!==n.snapGrid&&n.checkOverflow()}function cb(n){const t=this;!t.enabled||t.allowClick||(t.params.preventClicks&&n.preventDefault(),t.params.preventClicksPropagation&&t.animating&&(n.stopPropagation(),n.stopImmediatePropagation()))}function ub(){const n=this,{wrapperEl:t,rtlTranslate:e,enabled:i}=n;if(!i)return;n.previousTranslate=n.translate,n.isHorizontal()?n.translate=-t.scrollLeft:n.translate=-t.scrollTop,n.translate===0&&(n.translate=0),n.updateActiveIndex(),n.updateSlidesClasses();let s;const o=n.maxTranslate()-n.minTranslate();o===0?s=0:s=(n.translate-n.minTranslate())/o,s!==n.progress&&n.updateProgress(e?-n.translate:n.translate),n.emit("setTranslate",n.translate,!1)}let Ua=!1;function db(){}const gu=(n,t)=>{const e=Ze(),{params:i,touchEvents:s,el:o,wrapperEl:r,device:l,support:a}=n,c=!!i.nested,u=t==="on"?"addEventListener":"removeEventListener",d=t;if(!a.touch)o[u](s.start,n.onTouchStart,!1),e[u](s.move,n.onTouchMove,c),e[u](s.end,n.onTouchEnd,!1);else{const f=s.start==="touchstart"&&a.passiveListener&&i.passiveListeners?{passive:!0,capture:!1}:!1;o[u](s.start,n.onTouchStart,f),o[u](s.move,n.onTouchMove,a.passiveListener?{passive:!1,capture:c}:c),o[u](s.end,n.onTouchEnd,f),s.cancel&&o[u](s.cancel,n.onTouchEnd,f)}(i.preventClicks||i.preventClicksPropagation)&&o[u]("click",n.onClick,!0),i.cssMode&&r[u]("scroll",n.onScroll),i.updateOnWindowResize?n[d](l.ios||l.android?"resize orientationchange observerUpdate":"resize observerUpdate",Ya,!0):n[d]("observerUpdate",Ya,!0)};function fb(){const n=this,t=Ze(),{params:e,support:i}=n;n.onTouchStart=rb.bind(n),n.onTouchMove=ab.bind(n),n.onTouchEnd=lb.bind(n),e.cssMode&&(n.onScroll=ub.bind(n)),n.onClick=cb.bind(n),i.touch&&!Ua&&(t.addEventListener("touchstart",db),Ua=!0),gu(n,"on")}function hb(){gu(this,"off")}const pb={attachEvents:fb,detachEvents:hb},Za=(n,t)=>n.grid&&t.grid&&t.grid.rows>1;function mb(){const n=this,{activeIndex:t,initialized:e,loopedSlides:i=0,params:s,$el:o}=n,r=s.breakpoints;if(!r||r&&Object.keys(r).length===0)return;const l=n.getBreakpoint(r,n.params.breakpointsBase,n.el);if(!l||n.currentBreakpoint===l)return;const c=(l in r?r[l]:void 0)||n.originalParams,u=Za(n,s),d=Za(n,c),f=s.enabled;u&&!d?(o.removeClass(`${s.containerModifierClass}grid ${s.containerModifierClass}grid-column`),n.emitContainerClasses()):!u&&d&&(o.addClass(`${s.containerModifierClass}grid`),(c.grid.fill&&c.grid.fill==="column"||!c.grid.fill&&s.grid.fill==="column")&&o.addClass(`${s.containerModifierClass}grid-column`),n.emitContainerClasses()),["navigation","pagination","scrollbar"].forEach(g=>{const b=s[g]&&s[g].enabled,A=c[g]&&c[g].enabled;b&&!A&&n[g].disable(),!b&&A&&n[g].enable()});const h=c.direction&&c.direction!==s.direction,p=s.loop&&(c.slidesPerView!==s.slidesPerView||h);h&&e&&n.changeDirection(),ot(n.params,c);const m=n.params.enabled;Object.assign(n,{allowTouchMove:n.params.allowTouchMove,allowSlideNext:n.params.allowSlideNext,allowSlidePrev:n.params.allowSlidePrev}),f&&!m?n.disable():!f&&m&&n.enable(),n.currentBreakpoint=l,n.emit("_beforeBreakpoint",c),p&&e&&(n.loopDestroy(),n.loopCreate(),n.updateSlides(),n.slideTo(t-i+n.loopedSlides,0,!1)),n.emit("breakpoint",c)}function gb(n,t="window",e){if(!n||t==="container"&&!e)return;let i=!1;const s=Qe(),o=t==="window"?s.innerHeight:e.clientHeight,r=Object.keys(n).map(l=>{if(typeof l=="string"&&l.indexOf("@")===0){const a=parseFloat(l.substr(1));return{value:o*a,point:l}}return{value:l,point:l}});r.sort((l,a)=>parseInt(l.value,10)-parseInt(a.value,10));for(let l=0;l<r.length;l+=1){const{point:a,value:c}=r[l];t==="window"?s.matchMedia(`(min-width: ${c}px)`).matches&&(i=a):c<=e.clientWidth&&(i=a)}return i||"max"}const vb={setBreakpoint:mb,getBreakpoint:gb};function bb(n,t){const e=[];return n.forEach(i=>{typeof i=="object"?Object.keys(i).forEach(s=>{i[s]&&e.push(t+s)}):typeof i=="string"&&e.push(t+i)}),e}function Ab(){const n=this,{classNames:t,params:e,rtl:i,$el:s,device:o,support:r}=n,l=bb(["initialized",e.direction,{"pointer-events":!r.touch},{"free-mode":n.params.freeMode&&e.freeMode.enabled},{autoheight:e.autoHeight},{rtl:i},{grid:e.grid&&e.grid.rows>1},{"grid-column":e.grid&&e.grid.rows>1&&e.grid.fill==="column"},{android:o.android},{ios:o.ios},{"css-mode":e.cssMode},{centered:e.cssMode&&e.centeredSlides},{"watch-progress":e.watchSlidesProgress}],e.containerModifierClass);t.push(...l),s.addClass([...t].join(" ")),n.emitContainerClasses()}function yb(){const n=this,{$el:t,classNames:e}=n;t.removeClass(e.join(" ")),n.emitContainerClasses()}const wb={addClasses:Ab,removeClasses:yb};function Pb(n,t,e,i,s,o){const r=Qe();let l;function a(){o&&o()}!ae(n).parent("picture")[0]&&(!n.complete||!s)&&t?(l=new r.Image,l.onload=a,l.onerror=a,i&&(l.sizes=i),e&&(l.srcset=e),t&&(l.src=t)):a()}function Eb(){const n=this;n.imagesToLoad=n.$el.find("img");function t(){typeof n>"u"||n===null||!n||n.destroyed||(n.imagesLoaded!==void 0&&(n.imagesLoaded+=1),n.imagesLoaded===n.imagesToLoad.length&&(n.params.updateOnImagesReady&&n.update(),n.emit("imagesReady")))}for(let e=0;e<n.imagesToLoad.length;e+=1){const i=n.imagesToLoad[e];n.loadImage(i,i.currentSrc||i.getAttribute("src"),i.srcset||i.getAttribute("srcset"),i.sizes||i.getAttribute("sizes"),!0,t)}}const Cb={loadImage:Pb,preloadImages:Eb};function Ib(){const n=this,{isLocked:t,params:e}=n,{slidesOffsetBefore:i}=e;if(i){const s=n.slides.length-1,o=n.slidesGrid[s]+n.slidesSizesGrid[s]+i*2;n.isLocked=n.size>o}else n.isLocked=n.snapGrid.length===1;e.allowSlideNext===!0&&(n.allowSlideNext=!n.isLocked),e.allowSlidePrev===!0&&(n.allowSlidePrev=!n.isLocked),t&&t!==n.isLocked&&(n.isEnd=!1),t!==n.isLocked&&n.emit(n.isLocked?"lock":"unlock")}const xb={checkOverflow:Ib},Ja={init:!0,direction:"horizontal",touchEventsTarget:"wrapper",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!0,nested:!1,createElements:!1,enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerGroup:1,slidesPerGroupSkip:0,slidesPerGroupAuto:!1,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!0,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:0,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,preloadImages:!0,updateOnImagesReady:!0,loop:!1,loopAdditionalSlides:0,loopedSlides:null,loopedSlidesLimit:!0,loopFillGroupWithBlank:!1,loopPreventsSlide:!0,rewind:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,maxBackfaceHiddenSlides:10,containerModifierClass:"swiper-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-invisible-blank",slideActiveClass:"swiper-slide-active",slideDuplicateActiveClass:"swiper-slide-duplicate-active",slideVisibleClass:"swiper-slide-visible",slideDuplicateClass:"swiper-slide-duplicate",slideNextClass:"swiper-slide-next",slideDuplicateNextClass:"swiper-slide-duplicate-next",slidePrevClass:"swiper-slide-prev",slideDuplicatePrevClass:"swiper-slide-duplicate-prev",wrapperClass:"swiper-wrapper",runCallbacksOnInit:!0,_emitClasses:!1};function Tb(n,t){return function(i={}){const s=Object.keys(i)[0],o=i[s];if(typeof o!="object"||o===null){ot(t,i);return}if(["navigation","pagination","scrollbar"].indexOf(s)>=0&&n[s]===!0&&(n[s]={auto:!0}),!(s in n&&"enabled"in o)){ot(t,i);return}n[s]===!0&&(n[s]={enabled:!0}),typeof n[s]=="object"&&!("enabled"in n[s])&&(n[s].enabled=!0),n[s]||(n[s]={enabled:!1}),ot(t,i)}}const Ns={eventsEmitter:E1,update:z1,translate:F1,transition:Q1,slide:q1,loop:tb,grabCursor:sb,events:pb,breakpoints:vb,checkOverflow:xb,classes:wb,images:Cb},Gs={};class tt{constructor(...t){let e,i;if(t.length===1&&t[0].constructor&&Object.prototype.toString.call(t[0]).slice(8,-1)==="Object"?i=t[0]:[e,i]=t,i||(i={}),i=ot({},i),e&&!i.el&&(i.el=e),i.el&&ae(i.el).length>1){const l=[];return ae(i.el).each(a=>{const c=ot({},i,{el:a});l.push(new tt(c))}),l}const s=this;s.__swiper__=!0,s.support=pu(),s.device=b1({userAgent:i.userAgent}),s.browser=y1(),s.eventsListeners={},s.eventsAnyListeners=[],s.modules=[...s.__modules__],i.modules&&Array.isArray(i.modules)&&s.modules.push(...i.modules);const o={};s.modules.forEach(l=>{l({swiper:s,extendParams:Tb(i,o),on:s.on.bind(s),once:s.once.bind(s),off:s.off.bind(s),emit:s.emit.bind(s)})});const r=ot({},Ja,o);return s.params=ot({},r,Gs,i),s.originalParams=ot({},s.params),s.passedParams=ot({},i),s.params&&s.params.on&&Object.keys(s.params.on).forEach(l=>{s.on(l,s.params.on[l])}),s.params&&s.params.onAny&&s.onAny(s.params.onAny),s.$=ae,Object.assign(s,{enabled:s.params.enabled,el:e,classNames:[],slides:ae(),slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal(){return s.params.direction==="horizontal"},isVertical(){return s.params.direction==="vertical"},activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,allowSlideNext:s.params.allowSlideNext,allowSlidePrev:s.params.allowSlidePrev,touchEvents:function(){const a=["touchstart","touchmove","touchend","touchcancel"],c=["pointerdown","pointermove","pointerup"];return s.touchEventsTouch={start:a[0],move:a[1],end:a[2],cancel:a[3]},s.touchEventsDesktop={start:c[0],move:c[1],end:c[2]},s.support.touch||!s.params.simulateTouch?s.touchEventsTouch:s.touchEventsDesktop}(),touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:s.params.focusableElements,lastClickTime:Jn(),clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,isTouchEvent:void 0,startMoving:void 0},allowClick:!0,allowTouchMove:s.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),s.emit("_swiper"),s.params.init&&s.init(),s}enable(){const t=this;t.enabled||(t.enabled=!0,t.params.grabCursor&&t.setGrabCursor(),t.emit("enable"))}disable(){const t=this;!t.enabled||(t.enabled=!1,t.params.grabCursor&&t.unsetGrabCursor(),t.emit("disable"))}setProgress(t,e){const i=this;t=Math.min(Math.max(t,0),1);const s=i.minTranslate(),r=(i.maxTranslate()-s)*t+s;i.translateTo(r,typeof e>"u"?0:e),i.updateActiveIndex(),i.updateSlidesClasses()}emitContainerClasses(){const t=this;if(!t.params._emitClasses||!t.el)return;const e=t.el.className.split(" ").filter(i=>i.indexOf("swiper")===0||i.indexOf(t.params.containerModifierClass)===0);t.emit("_containerClasses",e.join(" "))}getSlideClasses(t){const e=this;return e.destroyed?"":t.className.split(" ").filter(i=>i.indexOf("swiper-slide")===0||i.indexOf(e.params.slideClass)===0).join(" ")}emitSlidesClasses(){const t=this;if(!t.params._emitClasses||!t.el)return;const e=[];t.slides.each(i=>{const s=t.getSlideClasses(i);e.push({slideEl:i,classNames:s}),t.emit("_slideClass",i,s)}),t.emit("_slideClasses",e)}slidesPerViewDynamic(t="current",e=!1){const i=this,{params:s,slides:o,slidesGrid:r,slidesSizesGrid:l,size:a,activeIndex:c}=i;let u=1;if(s.centeredSlides){let d=o[c].swiperSlideSize,f;for(let h=c+1;h<o.length;h+=1)o[h]&&!f&&(d+=o[h].swiperSlideSize,u+=1,d>a&&(f=!0));for(let h=c-1;h>=0;h-=1)o[h]&&!f&&(d+=o[h].swiperSlideSize,u+=1,d>a&&(f=!0))}else if(t==="current")for(let d=c+1;d<o.length;d+=1)(e?r[d]+l[d]-r[c]<a:r[d]-r[c]<a)&&(u+=1);else for(let d=c-1;d>=0;d-=1)r[c]-r[d]<a&&(u+=1);return u}update(){const t=this;if(!t||t.destroyed)return;const{snapGrid:e,params:i}=t;i.breakpoints&&t.setBreakpoint(),t.updateSize(),t.updateSlides(),t.updateProgress(),t.updateSlidesClasses();function s(){const r=t.rtlTranslate?t.translate*-1:t.translate,l=Math.min(Math.max(r,t.maxTranslate()),t.minTranslate());t.setTranslate(l),t.updateActiveIndex(),t.updateSlidesClasses()}let o;t.params.freeMode&&t.params.freeMode.enabled?(s(),t.params.autoHeight&&t.updateAutoHeight()):((t.params.slidesPerView==="auto"||t.params.slidesPerView>1)&&t.isEnd&&!t.params.centeredSlides?o=t.slideTo(t.slides.length-1,0,!1,!0):o=t.slideTo(t.activeIndex,0,!1,!0),o||s()),i.watchOverflow&&e!==t.snapGrid&&t.checkOverflow(),t.emit("update")}changeDirection(t,e=!0){const i=this,s=i.params.direction;return t||(t=s==="horizontal"?"vertical":"horizontal"),t===s||t!=="horizontal"&&t!=="vertical"||(i.$el.removeClass(`${i.params.containerModifierClass}${s}`).addClass(`${i.params.containerModifierClass}${t}`),i.emitContainerClasses(),i.params.direction=t,i.slides.each(o=>{t==="vertical"?o.style.width="":o.style.height=""}),i.emit("changeDirection"),e&&i.update()),i}changeLanguageDirection(t){const e=this;e.rtl&&t==="rtl"||!e.rtl&&t==="ltr"||(e.rtl=t==="rtl",e.rtlTranslate=e.params.direction==="horizontal"&&e.rtl,e.rtl?(e.$el.addClass(`${e.params.containerModifierClass}rtl`),e.el.dir="rtl"):(e.$el.removeClass(`${e.params.containerModifierClass}rtl`),e.el.dir="ltr"),e.update())}mount(t){const e=this;if(e.mounted)return!0;const i=ae(t||e.params.el);if(t=i[0],!t)return!1;t.swiper=e;const s=()=>`.${(e.params.wrapperClass||"").trim().split(" ").join(".")}`;let r=(()=>{if(t&&t.shadowRoot&&t.shadowRoot.querySelector){const l=ae(t.shadowRoot.querySelector(s()));return l.children=a=>i.children(a),l}return i.children?i.children(s()):ae(i).children(s())})();if(r.length===0&&e.params.createElements){const a=Ze().createElement("div");r=ae(a),a.className=e.params.wrapperClass,i.append(a),i.children(`.${e.params.slideClass}`).each(c=>{r.append(c)})}return Object.assign(e,{$el:i,el:t,$wrapperEl:r,wrapperEl:r[0],mounted:!0,rtl:t.dir.toLowerCase()==="rtl"||i.css("direction")==="rtl",rtlTranslate:e.params.direction==="horizontal"&&(t.dir.toLowerCase()==="rtl"||i.css("direction")==="rtl"),wrongRTL:r.css("display")==="-webkit-box"}),!0}init(t){const e=this;return e.initialized||e.mount(t)===!1||(e.emit("beforeInit"),e.params.breakpoints&&e.setBreakpoint(),e.addClasses(),e.params.loop&&e.loopCreate(),e.updateSize(),e.updateSlides(),e.params.watchOverflow&&e.checkOverflow(),e.params.grabCursor&&e.enabled&&e.setGrabCursor(),e.params.preloadImages&&e.preloadImages(),e.params.loop?e.slideTo(e.params.initialSlide+e.loopedSlides,0,e.params.runCallbacksOnInit,!1,!0):e.slideTo(e.params.initialSlide,0,e.params.runCallbacksOnInit,!1,!0),e.attachEvents(),e.initialized=!0,e.emit("init"),e.emit("afterInit")),e}destroy(t=!0,e=!0){const i=this,{params:s,$el:o,$wrapperEl:r,slides:l}=i;return typeof i.params>"u"||i.destroyed||(i.emit("beforeDestroy"),i.initialized=!1,i.detachEvents(),s.loop&&i.loopDestroy(),e&&(i.removeClasses(),o.removeAttr("style"),r.removeAttr("style"),l&&l.length&&l.removeClass([s.slideVisibleClass,s.slideActiveClass,s.slideNextClass,s.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")),i.emit("destroy"),Object.keys(i.eventsListeners).forEach(a=>{i.off(a)}),t!==!1&&(i.$el[0].swiper=null,f1(i)),i.destroyed=!0),null}static extendDefaults(t){ot(Gs,t)}static get extendedDefaults(){return Gs}static get defaults(){return Ja}static installModule(t){tt.prototype.__modules__||(tt.prototype.__modules__=[]);const e=tt.prototype.__modules__;typeof t=="function"&&e.indexOf(t)<0&&e.push(t)}static use(t){return Array.isArray(t)?(t.forEach(e=>tt.installModule(e)),tt):(tt.installModule(t),tt)}}Object.keys(Ns).forEach(n=>{Object.keys(Ns[n]).forEach(t=>{tt.prototype[t]=Ns[n][t]})});tt.use([w1,P1]);function Sb({swiper:n,extendParams:t,on:e,emit:i}){let s;n.autoplay={running:!1,paused:!1},t({autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!0,stopOnLastSlide:!1,reverseDirection:!1,pauseOnMouseEnter:!1}});function o(){if(!n.size){n.autoplay.running=!1,n.autoplay.paused=!1;return}const m=n.slides.eq(n.activeIndex);let g=n.params.autoplay.delay;m.attr("data-swiper-autoplay")&&(g=m.attr("data-swiper-autoplay")||n.params.autoplay.delay),clearTimeout(s),s=$i(()=>{let b;n.params.autoplay.reverseDirection?n.params.loop?(n.loopFix(),b=n.slidePrev(n.params.speed,!0,!0),i("autoplay")):n.isBeginning?n.params.autoplay.stopOnLastSlide?l():(b=n.slideTo(n.slides.length-1,n.params.speed,!0,!0),i("autoplay")):(b=n.slidePrev(n.params.speed,!0,!0),i("autoplay")):n.params.loop?(n.loopFix(),b=n.slideNext(n.params.speed,!0,!0),i("autoplay")):n.isEnd?n.params.autoplay.stopOnLastSlide?l():(b=n.slideTo(0,n.params.speed,!0,!0),i("autoplay")):(b=n.slideNext(n.params.speed,!0,!0),i("autoplay")),(n.params.cssMode&&n.autoplay.running||b===!1)&&o()},g)}function r(){return typeof s<"u"||n.autoplay.running?!1:(n.autoplay.running=!0,i("autoplayStart"),o(),!0)}function l(){return!n.autoplay.running||typeof s>"u"?!1:(s&&(clearTimeout(s),s=void 0),n.autoplay.running=!1,i("autoplayStop"),!0)}function a(m){!n.autoplay.running||n.autoplay.paused||(s&&clearTimeout(s),n.autoplay.paused=!0,m===0||!n.params.autoplay.waitForTransition?(n.autoplay.paused=!1,o()):["transitionend","webkitTransitionEnd"].forEach(g=>{n.$wrapperEl[0].addEventListener(g,u)}))}function c(){const m=Ze();m.visibilityState==="hidden"&&n.autoplay.running&&a(),m.visibilityState==="visible"&&n.autoplay.paused&&(o(),n.autoplay.paused=!1)}function u(m){!n||n.destroyed||!n.$wrapperEl||m.target===n.$wrapperEl[0]&&(["transitionend","webkitTransitionEnd"].forEach(g=>{n.$wrapperEl[0].removeEventListener(g,u)}),n.autoplay.paused=!1,n.autoplay.running?o():l())}function d(){n.params.autoplay.disableOnInteraction?l():(i("autoplayPause"),a()),["transitionend","webkitTransitionEnd"].forEach(m=>{n.$wrapperEl[0].removeEventListener(m,u)})}function f(){n.params.autoplay.disableOnInteraction||(n.autoplay.paused=!1,i("autoplayResume"),o())}function h(){n.params.autoplay.pauseOnMouseEnter&&(n.$el.on("mouseenter",d),n.$el.on("mouseleave",f))}function p(){n.$el.off("mouseenter",d),n.$el.off("mouseleave",f)}e("init",()=>{n.params.autoplay.enabled&&(r(),Ze().addEventListener("visibilitychange",c),h())}),e("beforeTransitionStart",(m,g,b)=>{n.autoplay.running&&(b||!n.params.autoplay.disableOnInteraction?n.autoplay.pause(g):l())}),e("sliderFirstMove",()=>{n.autoplay.running&&(n.params.autoplay.disableOnInteraction?l():a())}),e("touchEnd",()=>{n.params.cssMode&&n.autoplay.paused&&!n.params.autoplay.disableOnInteraction&&o()}),e("destroy",()=>{p(),n.autoplay.running&&l(),Ze().removeEventListener("visibilitychange",c)}),Object.assign(n.autoplay,{pause:a,run:o,start:r,stop:l})}function mn(n){return typeof n=="object"&&n!==null&&n.constructor&&Object.prototype.toString.call(n).slice(8,-1)==="Object"}function Ut(n,t){const e=["__proto__","constructor","prototype"];Object.keys(t).filter(i=>e.indexOf(i)<0).forEach(i=>{typeof n[i]>"u"?n[i]=t[i]:mn(t[i])&&mn(n[i])&&Object.keys(t[i]).length>0?t[i].__swiper__?n[i]=t[i]:Ut(n[i],t[i]):n[i]=t[i]})}function ro(n={}){return n.navigation&&typeof n.navigation.nextEl>"u"&&typeof n.navigation.prevEl>"u"}function ao(n={}){return n.pagination&&typeof n.pagination.el>"u"}function lo(n={}){return n.scrollbar&&typeof n.scrollbar.el>"u"}function es(n=""){const t=n.split(" ").map(i=>i.trim()).filter(i=>!!i),e=[];return t.forEach(i=>{e.indexOf(i)<0&&e.push(i)}),e.join(" ")}const vu=["modules","init","_direction","touchEventsTarget","initialSlide","_speed","cssMode","updateOnWindowResize","resizeObserver","nested","focusableElements","_enabled","_width","_height","preventInteractionOnTransition","userAgent","url","_edgeSwipeDetection","_edgeSwipeThreshold","_freeMode","_autoHeight","setWrapperSize","virtualTranslate","_effect","breakpoints","_spaceBetween","_slidesPerView","maxBackfaceHiddenSlides","_grid","_slidesPerGroup","_slidesPerGroupSkip","_slidesPerGroupAuto","_centeredSlides","_centeredSlidesBounds","_slidesOffsetBefore","_slidesOffsetAfter","normalizeSlideIndex","_centerInsufficientSlides","_watchOverflow","roundLengths","touchRatio","touchAngle","simulateTouch","_shortSwipes","_longSwipes","longSwipesRatio","longSwipesMs","_followFinger","allowTouchMove","_threshold","touchMoveStopPropagation","touchStartPreventDefault","touchStartForcePreventDefault","touchReleaseOnEdges","uniqueNavElements","_resistance","_resistanceRatio","_watchSlidesProgress","_grabCursor","preventClicks","preventClicksPropagation","_slideToClickedSlide","_preloadImages","updateOnImagesReady","_loop","_loopAdditionalSlides","_loopedSlides","_loopedSlidesLimit","_loopFillGroupWithBlank","loopPreventsSlide","_rewind","_allowSlidePrev","_allowSlideNext","_swipeHandler","_noSwiping","noSwipingClass","noSwipingSelector","passiveListeners","containerModifierClass","slideClass","slideBlankClass","slideActiveClass","slideDuplicateActiveClass","slideVisibleClass","slideDuplicateClass","slideNextClass","slideDuplicateNextClass","slidePrevClass","slideDuplicatePrevClass","wrapperClass","runCallbacksOnInit","observer","observeParents","observeSlideChildren","a11y","_autoplay","_controller","coverflowEffect","cubeEffect","fadeEffect","flipEffect","creativeEffect","cardsEffect","hashNavigation","history","keyboard","lazy","mousewheel","_navigation","_pagination","parallax","_scrollbar","_thumbs","virtual","zoom"];function kb(n={},t=!0){const e={on:{}},i={},s={};Ut(e,tt.defaults),Ut(e,tt.extendedDefaults),e._emitClasses=!0,e.init=!1;const o={},r=vu.map(a=>a.replace(/_/,"")),l=Object.assign({},n);return Object.keys(l).forEach(a=>{typeof n[a]>"u"||(r.indexOf(a)>=0?mn(n[a])?(e[a]={},s[a]={},Ut(e[a],n[a]),Ut(s[a],n[a])):(e[a]=n[a],s[a]=n[a]):a.search(/on[A-Z]/)===0&&typeof n[a]=="function"?t?i[`${a[2].toLowerCase()}${a.substr(3)}`]=n[a]:e.on[`${a[2].toLowerCase()}${a.substr(3)}`]=n[a]:o[a]=n[a])}),["navigation","pagination","scrollbar"].forEach(a=>{e[a]===!0&&(e[a]={}),e[a]===!1&&delete e[a]}),{params:e,passedParams:s,rest:o,events:i}}function Db({el:n,nextEl:t,prevEl:e,paginationEl:i,scrollbarEl:s,swiper:o},r){ro(r)&&t&&e&&(o.params.navigation.nextEl=t,o.originalParams.navigation.nextEl=t,o.params.navigation.prevEl=e,o.originalParams.navigation.prevEl=e),ao(r)&&i&&(o.params.pagination.el=i,o.originalParams.pagination.el=i),lo(r)&&s&&(o.params.scrollbar.el=s,o.originalParams.scrollbar.el=s),o.init(n)}function Lb(n,t,e,i,s){const o=[];if(!t)return o;const r=a=>{o.indexOf(a)<0&&o.push(a)};if(e&&i){const a=i.map(s),c=e.map(s);a.join("")!==c.join("")&&r("children"),i.length!==e.length&&r("children")}return vu.filter(a=>a[0]==="_").map(a=>a.replace(/_/,"")).forEach(a=>{if(a in n&&a in t)if(mn(n[a])&&mn(t[a])){const c=Object.keys(n[a]),u=Object.keys(t[a]);c.length!==u.length?r(a):(c.forEach(d=>{n[a][d]!==t[a][d]&&r(a)}),u.forEach(d=>{n[a][d]!==t[a][d]&&r(a)}))}else n[a]!==t[a]&&r(a)}),o}function Mb({swiper:n,slides:t,passedParams:e,changedParams:i,nextEl:s,prevEl:o,scrollbarEl:r,paginationEl:l}){const a=i.filter(k=>k!=="children"&&k!=="direction"),{params:c,pagination:u,navigation:d,scrollbar:f,virtual:h,thumbs:p}=n;let m,g,b,A,y;i.includes("thumbs")&&e.thumbs&&e.thumbs.swiper&&c.thumbs&&!c.thumbs.swiper&&(m=!0),i.includes("controller")&&e.controller&&e.controller.control&&c.controller&&!c.controller.control&&(g=!0),i.includes("pagination")&&e.pagination&&(e.pagination.el||l)&&(c.pagination||c.pagination===!1)&&u&&!u.el&&(b=!0),i.includes("scrollbar")&&e.scrollbar&&(e.scrollbar.el||r)&&(c.scrollbar||c.scrollbar===!1)&&f&&!f.el&&(A=!0),i.includes("navigation")&&e.navigation&&(e.navigation.prevEl||o)&&(e.navigation.nextEl||s)&&(c.navigation||c.navigation===!1)&&d&&!d.prevEl&&!d.nextEl&&(y=!0);const I=k=>{!n[k]||(n[k].destroy(),k==="navigation"?(c[k].prevEl=void 0,c[k].nextEl=void 0,n[k].prevEl=void 0,n[k].nextEl=void 0):(c[k].el=void 0,n[k].el=void 0))};a.forEach(k=>{if(mn(c[k])&&mn(e[k]))Ut(c[k],e[k]);else{const E=e[k];(E===!0||E===!1)&&(k==="navigation"||k==="pagination"||k==="scrollbar")?E===!1&&I(k):c[k]=e[k]}}),a.includes("controller")&&!g&&n.controller&&n.controller.control&&c.controller&&c.controller.control&&(n.controller.control=c.controller.control),i.includes("children")&&t&&h&&c.virtual.enabled?(h.slides=t,h.update(!0)):i.includes("children")&&n.lazy&&n.params.lazy.enabled&&n.lazy.load(),m&&p.init()&&p.update(!0),g&&(n.controller.control=c.controller.control),b&&(l&&(c.pagination.el=l),u.init(),u.render(),u.update()),A&&(r&&(c.scrollbar.el=r),f.init(),f.updateSize(),f.setTranslate()),y&&(s&&(c.navigation.nextEl=s),o&&(c.navigation.prevEl=o),d.init(),d.update()),i.includes("allowSlideNext")&&(n.allowSlideNext=e.allowSlideNext),i.includes("allowSlidePrev")&&(n.allowSlidePrev=e.allowSlidePrev),i.includes("direction")&&n.changeDirection(e.direction,!1),n.update()}const zb=n=>({virtualData:n&512}),qa=n=>({virtualData:n[9]}),Ob=n=>({virtualData:n&512}),Ka=n=>({virtualData:n[9]}),jb=n=>({virtualData:n&512}),$a=n=>({virtualData:n[9]}),Bb=n=>({virtualData:n&512}),el=n=>({virtualData:n[9]}),Rb=n=>({virtualData:n&512}),tl=n=>({virtualData:n[9]});function nl(n){let t,e,i;return{c(){t=G("div"),e=K(),i=G("div"),C(t,"class","swiper-button-prev"),C(i,"class","swiper-button-next")},m(s,o){F(s,t,o),n[13](t),F(s,e,o),F(s,i,o),n[14](i)},p:ce,d(s){s&&R(t),n[13](null),s&&R(e),s&&R(i),n[14](null)}}}function il(n){let t;return{c(){t=G("div"),C(t,"class","swiper-scrollbar")},m(e,i){F(e,t,i),n[15](t)},p:ce,d(e){e&&R(t),n[15](null)}}}function sl(n){let t;return{c(){t=G("div"),C(t,"class","swiper-pagination")},m(e,i){F(e,t,i),n[16](t)},p:ce,d(e){e&&R(t),n[16](null)}}}function Hb(n){let t,e,i,s,o,r,l=ro(n[2]),a,c=lo(n[2]),u,d=ao(n[2]),f,h,p;const m=n[12]["container-start"],g=an(m,n,n[11],tl),b=n[12]["wrapper-start"],A=an(b,n,n[11],el),y=n[12].default,I=an(y,n,n[11],$a),k=n[12]["wrapper-end"],E=an(k,n,n[11],Ka);let D=l&&nl(n),T=c&&il(n),B=d&&sl(n);const z=n[12]["container-end"],j=an(z,n,n[11],qa);let Y=[{class:h=es(`${n[1]}${n[0]?` ${n[0]}`:""}`)},n[3]],x={};for(let O=0;O<Y.length;O+=1)x=Oe(x,Y[O]);return{c(){t=G("div"),g&&g.c(),e=K(),i=G("div"),A&&A.c(),s=K(),I&&I.c(),o=K(),E&&E.c(),r=K(),D&&D.c(),a=K(),T&&T.c(),u=K(),B&&B.c(),f=K(),j&&j.c(),C(i,"class","swiper-wrapper"),Hi(t,x)},m(O,Q){F(O,t,Q),g&&g.m(t,null),_(t,e),_(t,i),A&&A.m(i,null),_(i,s),I&&I.m(i,null),_(i,o),E&&E.m(i,null),_(t,r),D&&D.m(t,null),_(t,a),T&&T.m(t,null),_(t,u),B&&B.m(t,null),_(t,f),j&&j.m(t,null),n[17](t),p=!0},p(O,[Q]){g&&g.p&&(!p||Q&2560)&&cn(g,m,O,O[11],p?ln(m,O[11],Q,Rb):un(O[11]),tl),A&&A.p&&(!p||Q&2560)&&cn(A,b,O,O[11],p?ln(b,O[11],Q,Bb):un(O[11]),el),I&&I.p&&(!p||Q&2560)&&cn(I,y,O,O[11],p?ln(y,O[11],Q,jb):un(O[11]),$a),E&&E.p&&(!p||Q&2560)&&cn(E,k,O,O[11],p?ln(k,O[11],Q,Ob):un(O[11]),Ka),Q&4&&(l=ro(O[2])),l?D?D.p(O,Q):(D=nl(O),D.c(),D.m(t,a)):D&&(D.d(1),D=null),Q&4&&(c=lo(O[2])),c?T?T.p(O,Q):(T=il(O),T.c(),T.m(t,u)):T&&(T.d(1),T=null),Q&4&&(d=ao(O[2])),d?B?B.p(O,Q):(B=sl(O),B.c(),B.m(t,f)):B&&(B.d(1),B=null),j&&j.p&&(!p||Q&2560)&&cn(j,z,O,O[11],p?ln(z,O[11],Q,zb):un(O[11]),qa),Hi(t,x=Ye(Y,[(!p||Q&3&&h!==(h=es(`${O[1]}${O[0]?` ${O[0]}`:""}`)))&&{class:h},Q&8&&O[3]]))},i(O){p||(L(g,O),L(A,O),L(I,O),L(E,O),L(j,O),p=!0)},o(O){H(g,O),H(A,O),H(I,O),H(E,O),H(j,O),p=!1},d(O){O&&R(t),g&&g.d(O),A&&A.d(O),I&&I.d(O),E&&E.d(O),D&&D.d(),T&&T.d(),B&&B.d(),j&&j.d(O),n[17](null)}}}function Fb(n,t,e){const i=["class","swiper"];let s=Ri(t,i),{$$slots:o={},$$scope:r}=t;const l=kd();let{class:a=void 0}=t,c="swiper",u=!1,d=null,f=null,h,p,m,g,b=null,A=null,y=null,I=null,k=null,E={slides:[]};function D(){return d}const T=V=>{e(9,E=V),Ld().then(()=>{d.$wrapperEl.children(".swiper-slide").each(U=>{U.onSwiper&&U.onSwiper(d)}),d.updateSlides(),d.updateProgress(),d.updateSlidesClasses(),d.lazy&&d.params.lazy.enabled&&d.lazy.load()})},B=()=>{h=kb(s),e(2,p=h.params),m=h.passedParams,e(3,g=h.rest)};B(),f=m;const z=()=>{u=!0};if(p.onAny=(V,...U)=>{l(V,U)},Object.assign(p.on,{_beforeBreakpoint:z,_containerClasses(V,U){e(1,c=U)}}),d=new tt(p),ic("swiper",d),d.virtual&&d.params.virtual.enabled){const V={cache:!1,renderExternal:U=>{T(U),p.virtual&&p.virtual.renderExternal&&p.virtual.renderExternal(U)},renderExternalUpdate:!1};Ut(d.params.virtual,V),Ut(d.originalParams.virtual,V)}mt(()=>{!b||(Db({el:b,nextEl:y,prevEl:A,paginationEl:k,scrollbarEl:I,swiper:d},p),l("swiper",[d]),!p.virtual&&d.slides.each(V=>{V.onSwiper&&V.onSwiper(d)}))}),bo(()=>{if(!d)return;B();const V=Lb(m,f);(V.length||u)&&d&&!d.destroyed&&Mb({swiper:d,passedParams:m,changedParams:V,nextEl:y,prevEl:A,scrollbarEl:I,paginationEl:k}),u=!1,f=m}),en(()=>{typeof window<"u"&&d&&!d.destroyed&&d.destroy(!0,!1)});function j(V){Xe[V?"unshift":"push"](()=>{A=V,e(5,A)})}function Y(V){Xe[V?"unshift":"push"](()=>{y=V,e(6,y)})}function x(V){Xe[V?"unshift":"push"](()=>{I=V,e(7,I)})}function O(V){Xe[V?"unshift":"push"](()=>{k=V,e(8,k)})}function Q(V){Xe[V?"unshift":"push"](()=>{b=V,e(4,b)})}return n.$$set=V=>{t=Oe(Oe({},t),Zl(V)),e(27,s=Ri(t,i)),"class"in V&&e(0,a=V.class),"$$scope"in V&&e(11,r=V.$$scope)},[a,c,p,g,b,A,y,I,k,E,D,r,o,j,Y,x,O,Q]}class Nb extends fe{constructor(t){super(),de(this,t,Fb,Hb,ue,{class:0,swiper:10})}get swiper(){return this.$$.ctx[10]}}const Gb=n=>({data:n&32}),ol=n=>({data:n[5]}),_b=n=>({data:n&32}),rl=n=>({data:n[5]});function Qb(n){let t;const e=n[8].default,i=an(e,n,n[7],ol);return{c(){i&&i.c()},m(s,o){i&&i.m(s,o),t=!0},p(s,o){i&&i.p&&(!t||o&160)&&cn(i,e,s,s[7],t?ln(e,s[7],o,Gb):un(s[7]),ol)},i(s){t||(L(i,s),t=!0)},o(s){H(i,s),t=!1},d(s){i&&i.d(s)}}}function Wb(n){let t,e,i;const s=n[8].default,o=an(s,n,n[7],rl);return{c(){t=G("div"),o&&o.c(),C(t,"class","swiper-zoom-container"),C(t,"data-swiper-zoom",e=typeof n[0]=="number"?n[0]:void 0)},m(r,l){F(r,t,l),o&&o.m(t,null),i=!0},p(r,l){o&&o.p&&(!i||l&160)&&cn(o,s,r,r[7],i?ln(s,r[7],l,_b):un(r[7]),rl),(!i||l&1&&e!==(e=typeof r[0]=="number"?r[0]:void 0))&&C(t,"data-swiper-zoom",e)},i(r){i||(L(o,r),i=!0)},o(r){H(o,r),i=!1},d(r){r&&R(t),o&&o.d(r)}}}function Xb(n){let t,e,i,s,o;const r=[Wb,Qb],l=[];function a(d,f){return d[0]?0:1}e=a(n),i=l[e]=r[e](n);let c=[{class:s=es(`${n[3]}${n[2]?` ${n[2]}`:""}`)},{"data-swiper-slide-index":n[1]},n[6]],u={};for(let d=0;d<c.length;d+=1)u=Oe(u,c[d]);return{c(){t=G("div"),i.c(),Hi(t,u)},m(d,f){F(d,t,f),l[e].m(t,null),n[9](t),o=!0},p(d,[f]){let h=e;e=a(d),e===h?l[e].p(d,f):(ve(),H(l[h],1,1,()=>{l[h]=null}),be(),i=l[e],i?i.p(d,f):(i=l[e]=r[e](d),i.c()),L(i,1),i.m(t,null)),Hi(t,u=Ye(c,[(!o||f&12&&s!==(s=es(`${d[3]}${d[2]?` ${d[2]}`:""}`)))&&{class:s},(!o||f&2)&&{"data-swiper-slide-index":d[1]},f&64&&d[6]]))},i(d){o||(L(i),o=!0)},o(d){H(i),o=!1},d(d){d&&R(t),l[e].d(),n[9](null)}}}function Vb(n,t,e){let i;const s=["zoom","virtualIndex","class"];let o=Ri(t,s),{$$slots:r={},$$scope:l}=t,{zoom:a=void 0}=t,{virtualIndex:c=void 0}=t,{class:u=void 0}=t,d=null,f="swiper-slide",h=sc("swiper"),p=!1;const m=(y,I,k)=>{I===d&&e(3,f=k)},g=()=>{!h||p||(h.on("_slideClass",m),p=!0)},b=()=>{!h||(h.off("_slideClass",m),p=!1)};mt(()=>{typeof c>"u"||(e(4,d.onSwiper=y=>{h=y,g()},d),g())}),bo(()=>{if(!(!d||!h)){if(h.destroyed){f!=="swiper-slide"&&e(3,f="swiper-slide");return}g()}}),vo(()=>{g()}),en(()=>{!h||b()});function A(y){Xe[y?"unshift":"push"](()=>{d=y,e(4,d)})}return n.$$set=y=>{t=Oe(Oe({},t),Zl(y)),e(6,o=Ri(t,s)),"zoom"in y&&e(0,a=y.zoom),"virtualIndex"in y&&e(1,c=y.virtualIndex),"class"in y&&e(2,u=y.class),"$$scope"in y&&e(7,l=y.$$scope)},n.$$.update=()=>{n.$$.dirty&8&&e(5,i={isActive:f.indexOf("swiper-slide-active")>=0||f.indexOf("swiper-slide-duplicate-active")>=0,isVisible:f.indexOf("swiper-slide-visible")>=0,isDuplicate:f.indexOf("swiper-slide-duplicate")>=0,isPrev:f.indexOf("swiper-slide-prev")>=0||f.indexOf("swiper-slide-duplicate-prev")>=0,isNext:f.indexOf("swiper-slide-next")>=0||f.indexOf("swiper-slide-duplicate-next")>=0})},[a,c,u,f,d,i,o,l,r,A]}class Yb extends fe{constructor(t){super(),de(this,t,Vb,Xb,ue,{zoom:0,virtualIndex:1,class:2})}}function Ub(n){me(n,"svelte-cwtvzu",".media-item.svelte-cwtvzu.svelte-cwtvzu{height:100%}.media-content.svelte-cwtvzu.svelte-cwtvzu{width:100%;height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;-o-object-fit:inherit;object-fit:inherit}.video-icon.svelte-cwtvzu.svelte-cwtvzu{width:12.5rem;height:6.25rem;max-width:60%;max-height:60%;position:absolute;left:50%;top:50%;transform:translate(-50%, -50%)}.video-play-button-container.svelte-cwtvzu.svelte-cwtvzu{display:none;pointer-events:auto;position:absolute;width:100%;height:100%;top:0;left:0}.video-play-button-container.showPlayButton.svelte-cwtvzu.svelte-cwtvzu{display:block}.video-icon.large.svelte-cwtvzu.svelte-cwtvzu{width:12.5rem;height:6.25rem}.video-icon.small.svelte-cwtvzu.svelte-cwtvzu{width:1.75rem;height:1.75rem}.video-icon.svelte-cwtvzu .video-icon-img.svelte-cwtvzu{width:100%;height:100%;background-position:center center;background-size:contain;background-repeat:no-repeat}.video-icon.svelte-cwtvzu .video-icon-img.canPlay.svelte-cwtvzu{cursor:pointer}")}function al(n){let t;function e(o,r){if(o[0].type==="Image")return Jb;if(o[0].type==="Video")return Zb}let i=e(n),s=i&&i(n);return{c(){t=G("div"),s&&s.c(),C(t,"class","media-item svelte-cwtvzu")},m(o,r){F(o,t,r),s&&s.m(t,null)},p(o,r){i===(i=e(o))&&s?s.p(o,r):(s&&s.d(1),s=i&&i(o),s&&(s.c(),s.m(t,null)))},d(o){o&&R(t),s&&s.d()}}}function Zb(n){let t,e,i,s,o,r,l,a,c,u,d;return{c(){var f;t=G("video"),r=K(),l=G("div"),a=G("div"),c=G("div"),C(t,"class","media-content svelte-cwtvzu"),C(t,"style",e=`object-fit: ${n[3]};`),kt(t.src,i=n[0].url)||C(t,"src",i),C(t,"poster",s=(f=n[0].videoCoverUrl)!=null?f:void 0),C(t,"preload",o=n[0].videoCoverUrl?void 0:"auto"),t.playsInline=!0,C(t,"paused",""),t.loop=!1,C(t,"crossorigin",""),t.controls=!1,ie(t,"showPlayButton",n[5]),C(c,"class","video-icon-img svelte-cwtvzu"),W(c,"background-image","url("+(n[1]==="large"?Ra:Ha)+")"),ie(c,"canPlay",n[2]),C(a,"class","video-icon svelte-cwtvzu"),ie(a,"large",n[1]==="large"),ie(a,"small",n[1]==="small"),C(l,"class","video-play-button-container svelte-cwtvzu"),ie(l,"showPlayButton",n[5])},m(f,h){F(f,t,h),n[7](t),F(f,r,h),F(f,l,h),_(l,a),_(a,c),u||(d=[je(t,"click",n[6]),je(c,"click",n[8])],u=!0)},p(f,h){var p;h&8&&e!==(e=`object-fit: ${f[3]};`)&&C(t,"style",e),h&1&&!kt(t.src,i=f[0].url)&&C(t,"src",i),h&1&&s!==(s=(p=f[0].videoCoverUrl)!=null?p:void 0)&&C(t,"poster",s),h&1&&o!==(o=f[0].videoCoverUrl?void 0:"auto")&&C(t,"preload",o),h&32&&ie(t,"showPlayButton",f[5]),h&2&&W(c,"background-image","url("+(f[1]==="large"?Ra:Ha)+")"),h&4&&ie(c,"canPlay",f[2]),h&2&&ie(a,"large",f[1]==="large"),h&2&&ie(a,"small",f[1]==="small"),h&32&&ie(l,"showPlayButton",f[5])},d(f){f&&R(t),n[7](null),f&&R(r),f&&R(l),u=!1,Nt(d)}}}function Jb(n){let t,e,i,s;return{c(){t=G("img"),C(t,"class","media-content svelte-cwtvzu"),C(t,"style",e=`object-fit: ${n[3]};`),kt(t.src,i=n[0].url)||C(t,"src",i),C(t,"alt",s=n[0].name)},m(o,r){F(o,t,r)},p(o,r){r&8&&e!==(e=`object-fit: ${o[3]};`)&&C(t,"style",e),r&1&&!kt(t.src,i=o[0].url)&&C(t,"src",i),r&1&&s!==(s=o[0].name)&&C(t,"alt",s)},d(o){o&&R(t)}}}function qb(n){let t,e=n[0]&&al(n);return{c(){e&&e.c(),t=Ce()},m(i,s){e&&e.m(i,s),F(i,t,s)},p(i,[s]){i[0]?e?e.p(i,s):(e=al(i),e.c(),e.m(t.parentNode,t)):e&&(e.d(1),e=null)},i:ce,o:ce,d(i){e&&e.d(i),i&&R(t)}}}function Kb(n,t,e){let{media:i}=t,{playButtonIfNeed:s="small"}=t,{canPlay:o=!0}=t,{objectFit:r="cover"}=t,l,a=!1;const c=()=>l==null?void 0:l.pause();function u(f){Xe[f?"unshift":"push"](()=>{l=f,e(4,l)})}const d=()=>{!o||l&&l.play()};return n.$$set=f=>{"media"in f&&e(0,i=f.media),"playButtonIfNeed"in f&&e(1,s=f.playButtonIfNeed),"canPlay"in f&&e(2,o=f.canPlay),"objectFit"in f&&e(3,r=f.objectFit)},n.$$.update=()=>{n.$$.dirty&16&&l&&(e(5,a=l.paused),e(4,l.onplay=()=>{e(5,a=!1)},l),e(4,l.onpause=()=>{e(5,a=!0)},l))},[i,s,o,r,l,a,c,u,d]}class bu extends fe{constructor(t){super(),de(this,t,Kb,qb,ue,{media:0,playButtonIfNeed:1,canPlay:2,objectFit:3},Ub)}}function $b(n){me(n,"svelte-ai0lv9",".media.svelte-ai0lv9{width:100%;height:100%;position:relative;overflow:hidden;border-radius:0.125rem}")}function ll(n,t,e){const i=n.slice();return i[16]=t[e],i}function cl(n){let t,e,i,s,o,r;const l=[tA,eA],a=[];function c(u,d){return u[13]?0:1}return e=c(n),i=a[e]=l[e](n),{c(){t=G("div"),i.c(),C(t,"class","media svelte-ai0lv9"),ie(t,"unfolded",n[4])},m(u,d){F(u,t,d),a[e].m(t,null),r=!0},p(u,d){n=u;let f=e;e=c(n),e===f?a[e].p(n,d):(ve(),H(a[f],1,1,()=>{a[f]=null}),be(),i=a[e],i?i.p(n,d):(i=a[e]=l[e](n),i.c()),L(i,1),i.m(t,null)),(!r||d&16)&&ie(t,"unfolded",n[4])},i(u){r||(L(i),u&&Re(()=>{o&&o.end(1),s=vn(t,mr,n[5]?{y:4,duration:n[3],delay:n[1],easing:Sn}:void 0),s.start()}),r=!0)},o(u){H(i),s&&s.invalidate(),u&&(o=Ln(t,mr,n[5]?{y:4,duration:n[3],delay:n[2],easing:Sn}:void 0)),r=!1},d(u){u&&R(t),a[e].d(),u&&o&&o.end()}}}function eA(n){let t,e;return t=new bu({props:{media:n[0][0],objectFit:n[8],playButtonIfNeed:n[6],canPlay:n[7]}}),{c(){re(t.$$.fragment)},m(i,s){se(t,i,s),e=!0},p(i,s){const o={};s&1&&(o.media=i[0][0]),s&256&&(o.objectFit=i[8]),s&64&&(o.playButtonIfNeed=i[6]),s&128&&(o.canPlay=i[7]),t.$set(o)},i(i){e||(L(t.$$.fragment,i),e=!0)},o(i){H(t.$$.fragment,i),e=!1},d(i){oe(t,i)}}}function tA(n){let t,e;return t=new Nb({props:{style:"height: 100%",modules:[Sb],spaceBetween:30,autoplay:n[12]?_e({delay:4e3,stopOnLastSlide:!1,disableOnInteraction:!1}):!1,loop:!0,$$slots:{default:[iA]},$$scope:{ctx:n}}}),t.$on("slideChange",n[15]),{c(){re(t.$$.fragment)},m(i,s){se(t,i,s),e=!0},p(i,s){const o={};s&4096&&(o.autoplay=i[12]?_e({delay:4e3,stopOnLastSlide:!1,disableOnInteraction:!1}):!1),s&525760&&(o.$$scope={dirty:s,ctx:i}),t.$set(o)},i(i){e||(L(t.$$.fragment,i),e=!0)},o(i){H(t.$$.fragment,i),e=!1},d(i){oe(t,i)}}}function nA(n){let t,e,i;return t=new bu({props:{media:n[16],objectFit:n[8],playButtonIfNeed:n[6],canPlay:n[7]}}),{c(){re(t.$$.fragment),e=K()},m(s,o){se(t,s,o),F(s,e,o),i=!0},p(s,o){const r={};o&1024&&(r.media=s[16]),o&256&&(r.objectFit=s[8]),o&64&&(r.playButtonIfNeed=s[6]),o&128&&(r.canPlay=s[7]),t.$set(r)},i(s){i||(L(t.$$.fragment,s),i=!0)},o(s){H(t.$$.fragment,s),i=!1},d(s){oe(t,s),s&&R(e)}}}function ul(n){let t,e;return t=new Yb({props:{$$slots:{default:[nA]},$$scope:{ctx:n}}}),{c(){re(t.$$.fragment)},m(i,s){se(t,i,s),e=!0},p(i,s){const o={};s&525760&&(o.$$scope={dirty:s,ctx:i}),t.$set(o)},i(i){e||(L(t.$$.fragment,i),e=!0)},o(i){H(t.$$.fragment,i),e=!1},d(i){oe(t,i)}}}function iA(n){let t,e,i=n[10],s=[];for(let r=0;r<i.length;r+=1)s[r]=ul(ll(n,i,r));const o=r=>H(s[r],1,1,()=>{s[r]=null});return{c(){for(let r=0;r<s.length;r+=1)s[r].c();t=Ce()},m(r,l){for(let a=0;a<s.length;a+=1)s[a].m(r,l);F(r,t,l),e=!0},p(r,l){if(l&1472){i=r[10];let a;for(a=0;a<i.length;a+=1){const c=ll(r,i,a);s[a]?(s[a].p(c,l),L(s[a],1)):(s[a]=ul(c),s[a].c(),L(s[a],1),s[a].m(t.parentNode,t))}for(ve(),a=i.length;a<s.length;a+=1)o(a);be()}},i(r){if(!e){for(let l=0;l<i.length;l+=1)L(s[l]);e=!0}},o(r){s=s.filter(Boolean);for(let l=0;l<s.length;l+=1)H(s[l]);e=!1},d(r){Dt(s,r),r&&R(t)}}}function sA(n){let t,e,i=n[4]&&cl(n);return{c(){i&&i.c(),t=Ce()},m(s,o){i&&i.m(s,o),F(s,t,o),e=!0},p(s,[o]){s[4]?i?(i.p(s,o),o&16&&L(i,1)):(i=cl(s),i.c(),L(i,1),i.m(t.parentNode,t)):i&&(ve(),H(i,1,1,()=>{i=null}),be())},i(s){e||(L(i),e=!0)},o(s){H(i),e=!1},d(s){i&&i.d(s),s&&R(t)}}}function oA(n,t,e){let i,s,o,{mediaData:r}=t,{inDelay:l=0}=t,{outDelay:a=0}=t,{duration:c=0}=t,{unfolded:u=!0}=t,{animation:d=!0}=t,{playButtonIfNeed:f="small"}=t,{canPlay:h=!0}=t,{objectFit:p="cover"}=t,{enableCarousel:m=!0}=t,{autoplayConfig:g={autoplay:!0,autoplayVideo:!1}}=t,b=null;const A=async y=>{var T,B,z;if(!o||!g.autoplayVideo)return;const I=y.detail[0];if(!I)return;const k=I.realIndex;if(k===b)return;e(11,b=k);const E=s[k];if(!E||E.type!=="Video")return;I.autoplay.stop();const D=(T=I.slides[I.activeIndex])==null?void 0:T.querySelector("video");if(D){const j=(z=(B=D.parentElement)==null?void 0:B.getElementsByClassName("video-play-button-container"))==null?void 0:z[0];D.addEventListener("click",()=>D.pause()),D.addEventListener("play",()=>{I.autoplay.stop(),j==null||j.classList.remove("showPlayButton")}),D.addEventListener("pause",()=>{I.autoplay.running||I.autoplay.start(),j==null||j.classList.add("showPlayButton")}),j&&(D.paused?j.classList.add("showPlayButton"):j.classList.remove("showPlayButton"),j.addEventListener("click",()=>D.play()))}console.log()};return n.$$set=y=>{"mediaData"in y&&e(0,r=y.mediaData),"inDelay"in y&&e(1,l=y.inDelay),"outDelay"in y&&e(2,a=y.outDelay),"duration"in y&&e(3,c=y.duration),"unfolded"in y&&e(4,u=y.unfolded),"animation"in y&&e(5,d=y.animation),"playButtonIfNeed"in y&&e(6,f=y.playButtonIfNeed),"canPlay"in y&&e(7,h=y.canPlay),"objectFit"in y&&e(8,p=y.objectFit),"enableCarousel"in y&&e(14,m=y.enableCarousel),"autoplayConfig"in y&&e(9,g=y.autoplayConfig)},n.$$.update=()=>{n.$$.dirty&16385&&e(13,i=m&&(r==null?void 0:r.length)>1),n.$$.dirty&1&&e(10,s=r),n.$$.dirty&1536&&e(12,o=s.length>1&&g.autoplay)},[r,l,a,c,u,d,f,h,p,g,s,b,o,i,m,A]}class Au extends fe{constructor(t){super(),de(this,t,oA,sA,ue,{mediaData:0,inDelay:1,outDelay:2,duration:3,unfolded:4,animation:5,playButtonIfNeed:6,canPlay:7,objectFit:8,enableCarousel:14,autoplayConfig:9},$b)}}function rA(n){me(n,"svelte-1p8f9wy",".line.svelte-1p8f9wy{position:absolute;width:6.5625rem;height:1.3125rem;transform:translateY(-100%);z-index:10}.text.svelte-1p8f9wy{position:absolute;width:6.25rem;left:1rem;bottom:0.0625rem;z-index:10;font-weight:600}.media-wrapper.svelte-1p8f9wy{position:absolute;left:0.875rem;top:-5.3125rem;width:5.625rem;height:3.75rem;z-index:10;font-weight:600}")}function dl(n,t,e){const i=n.slice();return i[8]=t[e].id,i[1]=t[e].content,i}function fl(n){let t,e,i,s,o,r=[],l=new Map,a,c,u;t=new vt({props:{visible:n[4],left:61,bottom:57,width:2,blurRadius:150,spreadRadius:75}}),s=new Iv({props:{unfolded:n[4],duration:1e3,outDelay:400}});let d=n[2];const f=p=>p[8];for(let p=0;p<d.length;p+=1){let m=dl(n,d,p),g=f(m);l.set(g,r[p]=hl(g,m))}let h=n[3]&&pl(n);return{c(){re(t.$$.fragment),e=K(),i=G("div"),re(s.$$.fragment),o=K();for(let p=0;p<r.length;p+=1)r[p].c();a=K(),h&&h.c(),c=Ce(),C(i,"class","line svelte-1p8f9wy")},m(p,m){se(t,p,m),F(p,e,m),F(p,i,m),se(s,i,null),F(p,o,m);for(let g=0;g<r.length;g+=1)r[g].m(p,m);F(p,a,m),h&&h.m(p,m),F(p,c,m),u=!0},p(p,m){const g={};m&16&&(g.visible=p[4]),t.$set(g);const b={};m&16&&(b.unfolded=p[4]),s.$set(b),m&20&&(d=p[2],ve(),r=gt(r,m,f,1,p,d,l,a.parentNode,Gt,hl,a,dl),be()),p[3]?h?(h.p(p,m),m&8&&L(h,1)):(h=pl(p),h.c(),L(h,1),h.m(c.parentNode,c)):h&&(ve(),H(h,1,1,()=>{h=null}),be())},i(p){if(!u){L(t.$$.fragment,p),L(s.$$.fragment,p);for(let m=0;m<d.length;m+=1)L(r[m]);L(h),u=!0}},o(p){H(t.$$.fragment,p),H(s.$$.fragment,p);for(let m=0;m<r.length;m+=1)H(r[m]);H(h),u=!1},d(p){oe(t,p),p&&R(e),p&&R(i),oe(s),p&&R(o);for(let m=0;m<r.length;m+=1)r[m].d(p);p&&R(a),h&&h.d(p),p&&R(c)}}}function hl(n,t){let e,i,s;return i=new cu({props:{unfolded:t[4],content:t[1],inDelay:500}}),{key:n,first:null,c(){e=G("div"),re(i.$$.fragment),C(e,"class","text svelte-1p8f9wy"),this.first=e},m(o,r){F(o,e,r),se(i,e,null),s=!0},p(o,r){t=o;const l={};r&16&&(l.unfolded=t[4]),r&4&&(l.content=t[1]),i.$set(l)},i(o){s||(L(i.$$.fragment,o),s=!0)},o(o){H(i.$$.fragment,o),s=!1},d(o){o&&R(e),oe(i)}}}function pl(n){let t,e,i;return e=new Au({props:{autoplayConfig:{autoplay:!1},unfolded:n[4],mediaData:n[3],enableCarousel:!1,canPlay:!1,playButtonIfNeed:"small",inDelay:500,duration:500}}),{c(){t=G("div"),re(e.$$.fragment),C(t,"class","media-wrapper svelte-1p8f9wy")},m(s,o){F(s,t,o),se(e,t,null),i=!0},p(s,o){const r={};o&16&&(r.unfolded=s[4]),o&8&&(r.mediaData=s[3]),e.$set(r)},i(s){i||(L(e.$$.fragment,s),i=!0)},o(s){H(e.$$.fragment,s),i=!1},d(s){s&&R(t),oe(e)}}}function aA(n){let t,e,i=n[0].state&&fl(n);return{c(){i&&i.c(),t=Ce()},m(s,o){i&&i.m(s,o),F(s,t,o),e=!0},p(s,[o]){s[0].state?i?(i.p(s,o),o&1&&L(i,1)):(i=fl(s),i.c(),L(i,1),i.m(t.parentNode,t)):i&&(ve(),H(i,1,1,()=>{i=null}),be())},i(s){e||(L(i),e=!0)},o(s){H(i),e=!1},d(s){i&&i.d(s),s&&R(t)}}}function lA(n,t,e){let i,s,o;var r,l,a;let{tag:c}=t,u;return n.$$set=d=>{"tag"in d&&e(0,c=d.tag)},n.$$.update=()=>{n.$$.dirty&1&&e(4,i=c.state?c.state.unfolded:!1),n.$$.dirty&225&&e(1,s=(e(6,l=e(5,r=c.data.text)===null||r===void 0?void 0:r.length)!==null&&l!==void 0?l:0)>7?(e(7,a=c.data.text)===null||a===void 0?void 0:a.substring(0,6))+"...":c.data.text),n.$$.dirty&1&&e(3,o=c.data.mediaData),n.$$.dirty&2&&e(2,u=s?[{id:nt(),content:s}]:[])},[c,s,u,o,i,r,l,a]}class cA extends fe{constructor(t){super(),de(this,t,lA,aA,ue,{tag:0},rA)}}function uA(n){me(n,"svelte-8mby9k",".svelte-8mby9k.svelte-8mby9k{box-sizing:border-box}.marketing.svelte-8mby9k.svelte-8mby9k{transform:translateY(-100%)}.content.svelte-8mby9k .headerImage.svelte-8mby9k{position:absolute;width:100%;top:0.25rem;transform:translateY(-100%);border-top-left-radius:0.25rem;border-top-right-radius:0.25rem}.line.svelte-8mby9k.svelte-8mby9k{position:absolute;height:2.0625rem;width:0.0625rem;left:50%;transform:translateX(-50%);background-color:white;bottom:0;transform-origin:bottom;transition:all 500ms}.content.svelte-8mby9k.svelte-8mby9k{background-color:white;position:relative;display:flex;flex-direction:column;min-width:11.125rem;width:-moz-max-content;width:max-content;height:-moz-max-content;height:max-content;border-radius:0.25rem;top:-1.875rem;left:-1rem;padding:0.5rem 0rem 0.5625rem;transition:all 500ms}.title.svelte-8mby9k.svelte-8mby9k{position:absolute;background-color:white;border-radius:0.25rem;width:100%;top:0.5rem;padding-left:0.75rem;padding-right:0.75rem}.title.svelte-8mby9k .text.svelte-8mby9k{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:0.75rem;font-weight:bold;line-height:1.125rem;color:#000}.footer.svelte-8mby9k.svelte-8mby9k{position:relative;padding-left:0.75rem;padding-right:0.75rem;width:100%;height:1.375rem;display:flex;align-items:center}.footer.svelte-8mby9k .goto-button.svelte-8mby9k{flex-shrink:0;white-space:nowrap;background-image:linear-gradient(to right, rgba(87, 144, 253, 1) 0, rgba(42, 114, 254, 1) 100%);color:#fff;font-size:0.625rem;border-radius:0.875rem;font-weight:bold;padding-left:0.5rem;padding-right:0.5rem;height:1.25rem;margin-left:auto;display:flex;align-items:center}.footer.svelte-8mby9k .goto-icon.svelte-8mby9k::after{content:'';display:inline-block;width:0.75rem;height:0.75rem;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAAAeFBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////GqOSsAAAAJ3RSTlMAFNO2pYt4bErz8uP6ysawgVtBPDcR5C4s2L6ZmJBzZGJXUyEeDws/0G2zAAAAkklEQVQ4y+3TRw6DMBAF0OAeJ3QCpCe0uf8NwRILLBYfiS1/aT3JoymnI+sERZ5VCH0iVto3QDfBLmeSSMUTogRV9bBEpJAKaYpGijn13aTSLeraeG9D0NZFZv4/rRL5FDHnITlllqjv6tykWsmX4JHr05y7j6oFKq2P8He48B0tAM0EY0EDxquClw6vLz6EI35GmwwSZpe+WOgAAAAASUVORK5CYII=);background-size:100% auto;background-repeat:no-repeat}.price.svelte-8mby9k.svelte-8mby9k{flex-shrink:0;margin-right:0.75rem;white-space:nowrap;color:#ff6600;display:flex;align-items:baseline}.price.svelte-8mby9k .value.svelte-8mby9k{position:relative;top:0.0625rem;font-size:1.125rem;line-height:1.375rem;font-family:TG-TYPE, PingFangSC, Segoe UI, Rototo, sans-serif;letter-spacing:0rem}.price.svelte-8mby9k .unit.svelte-8mby9k{padding-left:0.125rem;font-size:0.625rem}.tag.svelte-8mby9k.svelte-8mby9k{position:relative;background-color:white;display:flex;width:-moz-max-content;width:max-content;padding-left:0.75rem;padding-right:0.75rem;min-height:1.75rem}.tag.svelte-8mby9k .base-tag.svelte-8mby9k{height:1rem;margin-top:1.375rem;margin-bottom:0.5rem;margin-right:0.25rem;font-size:0.625rem;line-height:0.875rem;padding:0.0625rem 0.25rem;border-radius:0.125rem;overflow:hidden}.tag.svelte-8mby9k .primary-tag.svelte-8mby9k{background:#e5eefe;color:#0055ff}.tag.svelte-8mby9k .secondary-tag.svelte-8mby9k{background:rgba(255, 102, 0, 0.08);color:rgba(255, 102, 0, 1)}.unfolded.svelte-8mby9k .line.svelte-8mby9k{transform:translateX(-50%) scale(1, 1)}.folded.svelte-8mby9k .line.svelte-8mby9k{transform:translateX(-50%) scale(1, 0);transition-timing-function:ease-in}.unfolded.svelte-8mby9k .content.svelte-8mby9k{opacity:1}.folded.svelte-8mby9k .content.svelte-8mby9k{opacity:0;transform:translateY(0.425rem);transition-timing-function:ease-in}")}function ml(n,t,e){const i=n.slice();return i[0]=t[e],i}function gl(n,t,e){const i=n.slice();return i[0]=t[e],i}function vl(n){let t,e=n[0]+"",i;return{c(){t=G("div"),i=Fe(e),C(t,"class","base-tag primary-tag svelte-8mby9k")},m(s,o){F(s,t,o),_(t,i)},p(s,o){o&4&&e!==(e=s[0]+"")&&Ve(i,e)},d(s){s&&R(t)}}}function bl(n){let t,e=n[0]&&vl(n);return{c(){e&&e.c(),t=Ce()},m(i,s){e&&e.m(i,s),F(i,t,s)},p(i,s){i[0]?e?e.p(i,s):(e=vl(i),e.c(),e.m(t.parentNode,t)):e&&(e.d(1),e=null)},d(i){e&&e.d(i),i&&R(t)}}}function Al(n){let t,e=n[0]+"",i;return{c(){t=G("div"),i=Fe(e),C(t,"class","base-tag secondary-tag svelte-8mby9k")},m(s,o){F(s,t,o),_(t,i)},p(s,o){o&4&&e!==(e=s[0]+"")&&Ve(i,e)},d(s){s&&R(t)}}}function yl(n){let t,e=n[0]&&Al(n);return{c(){e&&e.c(),t=Ce()},m(i,s){e&&e.m(i,s),F(i,t,s)},p(i,s){i[0]?e?e.p(i,s):(e=Al(i),e.c(),e.m(t.parentNode,t)):e&&(e.d(1),e=null)},d(i){e&&e.d(i),i&&R(t)}}}function wl(n){let t,e,i=n[2].price.value+"",s,o,r=n[2].price.unit&&Pl(n);return{c(){t=G("div"),e=G("span"),s=Fe(i),o=K(),r&&r.c(),C(e,"class","value svelte-8mby9k"),C(t,"class","price svelte-8mby9k")},m(l,a){F(l,t,a),_(t,e),_(e,s),_(t,o),r&&r.m(t,null)},p(l,a){a&4&&i!==(i=l[2].price.value+"")&&Ve(s,i),l[2].price.unit?r?r.p(l,a):(r=Pl(l),r.c(),r.m(t,null)):r&&(r.d(1),r=null)},d(l){l&&R(t),r&&r.d()}}}function Pl(n){let t,e=n[2].price.unit+"",i;return{c(){t=G("span"),i=Fe(e),C(t,"class","unit svelte-8mby9k")},m(s,o){F(s,t,o),_(t,i)},p(s,o){o&4&&e!==(e=s[2].price.unit+"")&&Ve(i,e)},d(s){s&&R(t)}}}function El(n){let t,e=n[2].highlightText+"",i;return{c(){t=G("div"),i=Fe(e),C(t,"class","goto-button goto-icon svelte-8mby9k")},m(s,o){F(s,t,o),_(t,i)},p(s,o){o&4&&e!==(e=s[2].highlightText+"")&&Ve(i,e)},d(s){s&&R(t)}}}function dA(n){var j,Y;let t,e,i,s,o,r,l,a,c,u,d,f,h,p,m=n[2].title+"",g,b,A,y,I;e=new vt({props:{visible:n[1],outDelay:500,left:61,bottom:87,blurRadius:150,spreadRadius:75}});let k=n[2].brandTags||[],E=[];for(let x=0;x<k.length;x+=1)E[x]=bl(gl(n,k,x));let D=n[2].tags||[],T=[];for(let x=0;x<D.length;x+=1)T[x]=yl(ml(n,D,x));let B=((j=n[2].price)==null?void 0:j.value)!==void 0&&((Y=n[2].price)==null?void 0:Y.value)!==null&&wl(n),z=n[2].highlightText&&El(n);return{c(){var x,O;t=G("div"),re(e.$$.fragment),i=K(),s=G("div"),o=K(),r=G("div"),l=G("img"),c=K(),u=G("div");for(let Q=0;Q<E.length;Q+=1)E[Q].c();d=K();for(let Q=0;Q<T.length;Q+=1)T[Q].c();f=K(),h=G("div"),p=G("div"),g=Fe(m),b=K(),A=G("div"),B&&B.c(),y=K(),z&&z.c(),C(s,"class","line svelte-8mby9k"),W(s,"transition-delay",n[1]?ki+"ms":Di+Il-Cl-40+"ms"),C(l,"class","headerImage svelte-8mby9k"),kt(l.src,a=n[2].headerPictureUrl)||C(l,"src",a),C(l,"alt",""),C(u,"class","tag svelte-8mby9k"),C(p,"class","text svelte-8mby9k"),C(h,"class","title svelte-8mby9k"),C(A,"class","footer svelte-8mby9k"),W(A,"height",((x=n[2].price)==null?void 0:x.value)!==void 0&&((O=n[2].price)==null?void 0:O.value)!==null&&n[2].highlightText?void 0:"1rem"),C(r,"class","content svelte-8mby9k"),W(r,"transition-delay",n[1]?ki+Di+"ms":"0ms"),C(t,"class","marketing svelte-8mby9k"),ie(t,"unfolded",n[1]),ie(t,"folded",n[3])},m(x,O){F(x,t,O),se(e,t,null),_(t,i),_(t,s),_(t,o),_(t,r),_(r,l),_(r,c),_(r,u);for(let Q=0;Q<E.length;Q+=1)E[Q].m(u,null);_(u,d);for(let Q=0;Q<T.length;Q+=1)T[Q].m(u,null);_(r,f),_(r,h),_(h,p),_(p,g),_(r,b),_(r,A),B&&B.m(A,null),_(A,y),z&&z.m(A,null),I=!0},p(x,[O]){var V,U,$,J;const Q={};if(O&2&&(Q.visible=x[1]),e.$set(Q),O&2&&W(s,"transition-delay",x[1]?ki+"ms":Di+Il-Cl-40+"ms"),(!I||O&4&&!kt(l.src,a=x[2].headerPictureUrl))&&C(l,"src",a),O&4){k=x[2].brandTags||[];let q;for(q=0;q<k.length;q+=1){const he=gl(x,k,q);E[q]?E[q].p(he,O):(E[q]=bl(he),E[q].c(),E[q].m(u,d))}for(;q<E.length;q+=1)E[q].d(1);E.length=k.length}if(O&4){D=x[2].tags||[];let q;for(q=0;q<D.length;q+=1){const he=ml(x,D,q);T[q]?T[q].p(he,O):(T[q]=yl(he),T[q].c(),T[q].m(u,null))}for(;q<T.length;q+=1)T[q].d(1);T.length=D.length}(!I||O&4)&&m!==(m=x[2].title+"")&&Ve(g,m),((V=x[2].price)==null?void 0:V.value)!==void 0&&((U=x[2].price)==null?void 0:U.value)!==null?B?B.p(x,O):(B=wl(x),B.c(),B.m(A,y)):B&&(B.d(1),B=null),x[2].highlightText?z?z.p(x,O):(z=El(x),z.c(),z.m(A,null)):z&&(z.d(1),z=null),O&4&&W(A,"height",(($=x[2].price)==null?void 0:$.value)!==void 0&&((J=x[2].price)==null?void 0:J.value)!==null&&x[2].highlightText?void 0:"1rem"),O&2&&W(r,"transition-delay",x[1]?ki+Di+"ms":"0ms"),(!I||O&2)&&ie(t,"unfolded",x[1]),(!I||O&8)&&ie(t,"folded",x[3])},i(x){I||(L(e.$$.fragment,x),I=!0)},o(x){H(e.$$.fragment,x),I=!1},d(x){x&&R(t),oe(e),Dt(E,x),Dt(T,x),B&&B.d(),z&&z.d()}}}const ki=400,Cl=500,Di=180,Il=500;function fA(n,t,e){let i,s,o;var r,l;let{tag:a}=t;return n.$$set=c=>{"tag"in c&&e(0,a=c.tag)},n.$$.update=()=>{n.$$.dirty&49&&e(1,i=e(5,l=e(4,r=a.state)===null||r===void 0?void 0:r.unfolded)!==null&&l!==void 0?l:!1),n.$$.dirty&2&&e(3,s=!i),n.$$.dirty&1&&e(2,o=a.data)},[a,i,o,s,r,l]}class hA extends fe{constructor(t){super(),de(this,t,fA,dA,ue,{tag:0},uA)}}function pA(n){me(n,"svelte-1ku3wt4",`.audio.svelte-1ku3wt4.svelte-1ku3wt4{position:relative;width:100%;height:100%;cursor:pointer}@keyframes svelte-1ku3wt4-playing{25%{background-image:url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9' cy='9' r='8' transform='translate(-1 -1)' fill='%23FFF' fill-rule='nonzero'/%3E%3C/svg%3E")}50%{background-image:url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM5.533 6.685L4.169 8.049l1.414 1.413a2.078 2.078 0 0 0-.05-2.777z' fill='%23FFF' fill-rule='nonzero'/%3E%3C/svg%3E")}75%{background-image:url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zm-.656 4.874l-.906.905A3.35 3.35 0 0 1 7.369 8.1c0 .875-.333 1.67-.88 2.268l.906.906A4.628 4.628 0 0 0 8.65 8.101a4.627 4.627 0 0 0-1.306-3.227zm-1.811 1.81L4.169 8.05l1.414 1.413a2.078 2.078 0 0 0-.05-2.777z' fill='%23FFF' fill-rule='nonzero'/%3E%3C/svg%3E")}}.paused.svelte-1ku3wt4 .audio-icon.svelte-1ku3wt4{animation:none}.audio-icon.svelte-1ku3wt4.svelte-1ku3wt4{width:100%;height:100%;border-radius:50%;background-size:100%;animation:svelte-1ku3wt4-playing 2s steps(1) infinite;background-image:url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zm1.428 2.79l-.953.952a6.222 6.222 0 0 1 1.775 4.36c0 1.571-.58 3.006-1.538 4.103l-.184.202.793.794a7.344 7.344 0 0 0 2.21-5.26A7.341 7.341 0 0 0 9.428 2.79zM7.344 4.873l-.906.905A3.35 3.35 0 0 1 7.369 8.1c0 .802-.28 1.537-.748 2.115l-.132.153.906.906A4.628 4.628 0 0 0 8.65 8.101a4.627 4.627 0 0 0-1.306-3.227zm-1.811 1.81L4.169 8.05l1.414 1.413a2.078 2.078 0 0 0-.05-2.777z' fill='%23FFF' fill-rule='nonzero'/%3E%3C/svg%3E")}`)}function xl(n){let t,e,i,s,o,r,l,a=!0,c,u,d,f,h;return e=new vt({props:{center:!0,blurRadius:15,spreadRadius:6}}),{c(){t=G("div"),re(e.$$.fragment),i=K(),s=G("div"),o=K(),r=G("audio"),C(s,"class","audio-icon svelte-1ku3wt4"),r.controls=!1,C(r,"playsinline",""),kt(r.src,l=n[3])||C(r,"src",l),C(t,"class","audio svelte-1ku3wt4"),ie(t,"paused",n[6])},m(p,m){F(p,t,m),se(e,t,null),_(t,i),_(t,s),_(t,o),_(t,r),n[10](r),d=!0,f||(h=[je(r,"play",n[11]),je(r,"pause",n[11]),je(t,"click",go(n[7]))],f=!0)},p(p,m){n=p,(!d||m&8&&!kt(r.src,l=n[3]))&&C(r,"src",l),m&64&&a!==(a=n[6])&&r[a?"pause":"play"](),(!d||m&64)&&ie(t,"paused",n[6])},i(p){d||(L(e.$$.fragment,p),p&&Re(()=>{u&&u.end(1),c=vn(t,pn,{duration:n[2],delay:n[0],easing:kn}),c.start()}),d=!0)},o(p){H(e.$$.fragment,p),c&&c.invalidate(),p&&(u=Ln(t,pn,{duration:n[2],delay:n[1],easing:kn})),d=!1},d(p){p&&R(t),oe(e),n[10](null),p&&u&&u.end(),f=!1,Nt(h)}}}function mA(n){let t,e,i=n[4]&&xl(n);return{c(){i&&i.c(),t=Ce()},m(s,o){i&&i.m(s,o),F(s,t,o),e=!0},p(s,[o]){s[4]?i?(i.p(s,o),o&16&&L(i,1)):(i=xl(s),i.c(),L(i,1),i.m(t.parentNode,t)):i&&(ve(),H(i,1,1,()=>{i=null}),be())},i(s){e||(L(i),e=!0)},o(s){H(i),e=!1},d(s){i&&i.d(s),s&&R(t)}}}function gA(n,t,e){let{inDelay:i=0}=t,{outDelay:s=0}=t,{duration:o=0}=t,{url:r}=t,{unfolded:l}=t,{mediaStore:a}=t,{hooksInfo:c={}}=t;const u=sc("hooks");let d,f=!0;a.subscribe(({currentMediaUrl:g})=>{g!==r&&(d==null||d.pause())});function h(g){a.set({currentMediaUrl:r}),d&&(u.emit("click",Object.assign({event:g,target:"AudioTagPlayIcon",audioInstance:d},c)),d.paused?d.play():d.pause(),e(5,d.onplay=b=>u.emit("playStateChange",Object.assign({event:b,state:"playing",mediaInstance:d},c)),d),e(5,d.onpause=b=>u.emit("playStateChange",Object.assign({event:b,state:"paused",mediaInstance:d},c)),d))}function p(g){Xe[g?"unshift":"push"](()=>{d=g,e(5,d)})}function m(){f=this.paused,e(6,f)}return n.$$set=g=>{"inDelay"in g&&e(0,i=g.inDelay),"outDelay"in g&&e(1,s=g.outDelay),"duration"in g&&e(2,o=g.duration),"url"in g&&e(3,r=g.url),"unfolded"in g&&e(4,l=g.unfolded),"mediaStore"in g&&e(8,a=g.mediaStore),"hooksInfo"in g&&e(9,c=g.hooksInfo)},n.$$.update=()=>{n.$$.dirty&48&&(l||d==null||d.pause())},[i,s,o,r,l,d,f,h,a,c,p,m]}class vA extends fe{constructor(t){super(),de(this,t,gA,mA,ue,{inDelay:0,outDelay:1,duration:2,url:3,unfolded:4,mediaStore:8,hooksInfo:9},pA)}}function bA(n){me(n,"svelte-4r8s18",".audio-tag.svelte-4r8s18.svelte-4r8s18{position:absolute;left:0;top:0;width:0;height:0;overflow:visible}.line.svelte-4r8s18.svelte-4r8s18{display:flex;position:absolute;top:0;left:0;width:10.125rem;height:0.0625rem;transform:translate3d(0, -50%, 0.625rem)}.content.svelte-4r8s18.svelte-4r8s18{width:-moz-max-content;width:max-content;height:3.375rem;padding:2.25rem 0.25rem 0 1rem;position:absolute;left:0;bottom:0.125rem;overflow:hidden;box-sizing:border-box;font-size:0;white-space:nowrap;font-weight:600}.wrapper.svelte-4r8s18.svelte-4r8s18{position:relative;width:100%;height:100%}.audio-icon.svelte-4r8s18.svelte-4r8s18{vertical-align:top;display:inline-block;width:1rem;height:1rem;margin-right:0.25rem;margin-top:0.0625rem}.unfolded.svelte-4r8s18 .audio-icon.svelte-4r8s18{pointer-events:auto}")}function Tl(n){var A,y,I,k;let t,e,i,s,o,r,l,a,c,u,d,f,h,p,m,g,b;return e=new vt({props:{visible:n[6],left:n[3]/2+"px",bottom:12,width:2,blurRadius:120,spreadRadius:60}}),o=new Xc({props:{unfolded:n[6],duration:1e3,outDelay:n[5]+20*Math.min((y=(A=n[4][0])==null?void 0:A.content.length)!=null?y:10,15)}}),u=new vA({props:{unfolded:n[6],mediaStore:n[0],url:n[1].data.audioUrl,duration:1e3,outDelay:20*Math.min((k=(I=n[4][0])==null?void 0:I.content.length)!=null?k:10,15),hooksInfo:{tag:n[1]}}}),h=new uu({props:{visible:n[6],textUnfolded:n[2],textItems:n[4]}}),{c(){t=G("div"),re(e.$$.fragment),i=K(),s=G("div"),re(o.$$.fragment),r=K(),l=G("div"),a=G("div"),c=G("div"),re(u.$$.fragment),d=K(),f=G("div"),re(h.$$.fragment),C(s,"class","line svelte-4r8s18"),W(s,"width",n[3]+"px"),C(c,"class","audio-icon svelte-4r8s18"),W(f,"display","inline-block"),C(a,"class","wrapper svelte-4r8s18"),C(l,"class","content svelte-4r8s18"),Re(()=>n[10].call(l)),C(t,"class","audio-tag svelte-4r8s18"),ie(t,"unfolded",n[6])},m(E,D){F(E,t,D),se(e,t,null),_(t,i),_(t,s),se(o,s,null),_(t,r),_(t,l),_(l,a),_(a,c),se(u,c,null),_(a,d),_(a,f),se(h,f,null),p=$t(l,n[10].bind(l)),m=!0,g||(b=je(f,"click",n[7]),g=!0)},p(E,D){var Y,x,O,Q;const T={};D&64&&(T.visible=E[6]),D&8&&(T.left=E[3]/2+"px"),e.$set(T);const B={};D&64&&(B.unfolded=E[6]),D&48&&(B.outDelay=E[5]+20*Math.min((x=(Y=E[4][0])==null?void 0:Y.content.length)!=null?x:10,15)),o.$set(B),D&8&&W(s,"width",E[3]+"px");const z={};D&64&&(z.unfolded=E[6]),D&1&&(z.mediaStore=E[0]),D&2&&(z.url=E[1].data.audioUrl),D&16&&(z.outDelay=20*Math.min((Q=(O=E[4][0])==null?void 0:O.content.length)!=null?Q:10,15)),D&2&&(z.hooksInfo={tag:E[1]}),u.$set(z);const j={};D&64&&(j.visible=E[6]),D&4&&(j.textUnfolded=E[2]),D&16&&(j.textItems=E[4]),h.$set(j),(!m||D&64)&&ie(t,"unfolded",E[6])},i(E){m||(L(e.$$.fragment,E),L(o.$$.fragment,E),L(u.$$.fragment,E),L(h.$$.fragment,E),m=!0)},o(E){H(e.$$.fragment,E),H(o.$$.fragment,E),H(u.$$.fragment,E),H(h.$$.fragment,E),m=!1},d(E){E&&R(t),oe(e),oe(o),oe(u),oe(h),p(),g=!1,b()}}}function AA(n){let t,e,i=n[1].state&&Tl(n);return{c(){i&&i.c(),t=Ce()},m(s,o){i&&i.m(s,o),F(s,t,o),e=!0},p(s,[o]){s[1].state?i?(i.p(s,o),o&2&&L(i,1)):(i=Tl(s),i.c(),L(i,1),i.m(t.parentNode,t)):i&&(ve(),H(i,1,1,()=>{i=null}),be())},i(s){e||(L(i),e=!0)},o(s){H(i),e=!1},d(s){i&&i.d(s),s&&R(t)}}}function yA(n,t,e){let i,s,o;var r;let{mediaStore:l}=t,{tag:a}=t,c=!1,u,d=[];function f(){e(2,c=!c)}function h(){u=this.clientWidth,e(3,u)}return n.$$set=p=>{"mediaStore"in p&&e(0,l=p.mediaStore),"tag"in p&&e(1,a=p.tag)},n.$$.update=()=>{n.$$.dirty&258&&e(6,i=!!(!(e(8,r=a.state)===null||r===void 0)&&r.unfolded)),n.$$.dirty&2&&e(9,s=a.data.text),n.$$.dirty&512&&e(4,d=[{id:nt(),content:s}]),n.$$.dirty&4&&e(5,o=c?450:0)},[l,a,c,u,d,o,i,f,r,s,h]}class wA extends fe{constructor(t){super(),de(this,t,yA,AA,ue,{mediaStore:0,tag:1},bA)}}function PA(n){me(n,"svelte-10cw0el",".media-wrapper.svelte-10cw0el{position:absolute;width:100%;height:100%}")}function Sl(n){let t,e,i;return e=new Au({props:{unfolded:n[5],mediaData:n[4],objectFit:n[2],enableCarousel:n[1],autoplayConfig:n[3],canPlay:!0,playButtonIfNeed:"large",inDelay:500,duration:500}}),{c(){t=G("div"),re(e.$$.fragment),C(t,"class","media-wrapper svelte-10cw0el")},m(s,o){F(s,t,o),se(e,t,null),i=!0},p(s,o){const r={};o&32&&(r.unfolded=s[5]),o&16&&(r.mediaData=s[4]),o&4&&(r.objectFit=s[2]),o&2&&(r.enableCarousel=s[1]),o&8&&(r.autoplayConfig=s[3]),e.$set(r)},i(s){i||(L(e.$$.fragment,s),i=!0)},o(s){H(e.$$.fragment,s),i=!1},d(s){s&&R(t),oe(e)}}}function EA(n){let t,e,i=n[0].state&&n[4]&&Sl(n);return{c(){i&&i.c(),t=Ce()},m(s,o){i&&i.m(s,o),F(s,t,o),e=!0},p(s,[o]){s[0].state&&s[4]?i?(i.p(s,o),o&17&&L(i,1)):(i=Sl(s),i.c(),L(i,1),i.m(t.parentNode,t)):i&&(ve(),H(i,1,1,()=>{i=null}),be())},i(s){e||(L(i),e=!0)},o(s){H(i),e=!1},d(s){i&&i.d(s),s&&R(t)}}}function CA(n,t,e){let i,s,o,r,l;var a,c;let{tag:u}=t;return n.$$set=d=>{"tag"in d&&e(0,u=d.tag)},n.$$.update=()=>{n.$$.dirty&1&&e(5,i=u.state?u.state.unfolded:!1),n.$$.dirty&1&&e(4,s=u.data.mediaData),n.$$.dirty&1&&e(1,o=u.data.enableCarousel),n.$$.dirty&67&&e(3,r=e(6,a=u.data.autoplayConfig)!==null&&a!==void 0?a:{autoplay:o!=null?o:!0,autoplayVideo:!0}),n.$$.dirty&129&&e(2,l=e(7,c=u.data.objectFit)!==null&&c!==void 0?c:(()=>u.data.adaptationMode==="stretch"?"cover":u.data.adaptationMode==="proportional"?"contain":void 0)())},[u,o,l,r,s,i,a,c]}class IA extends fe{constructor(t){super(),de(this,t,CA,EA,ue,{tag:0},PA)}}function xA(n){me(n,"svelte-7x7u86",".wrapper.svelte-7x7u86{font-weight:600;cursor:pointer;width:-moz-max-content;width:max-content;height:-moz-max-content;height:max-content;position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);display:flex;align-items:center;justify-content:center;flex-direction:column;pointer-events:auto}.text-wrapper.svelte-7x7u86{position:relative;display:flex;align-items:center;justify-content:center}.icon.svelte-7x7u86{position:relative;margin-bottom:0.6875rem}.arrow0.svelte-7x7u86,.arrow1.svelte-7x7u86,.arrow2.svelte-7x7u86{position:absolute;width:1.625rem;height:0.75rem;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAE4AAAAkCAYAAAAnxQwhAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAATqADAAQAAAABAAAAJAAAAABrx2urAAAGm0lEQVRoBd2ZXbCVUxjH26QSfSCS0JwoFNEZ0cc45iSmUUaqC+KCwUUXxYUZw4yrLhozLlDDRWa6oW5yOFTT0IcyKn1JnIjDKelLPipJcXT8fttaZ95qd+yzv+uZ+e211rvfd61n/ddaz1rv3qkOFWgtLS3n4Vb34NqhVCr1d6W5mao0hxBNwfrCOcG346S7Ee9gKFdEUjHCIZi+XA69E8p4rQVM98EeBLRcdqsI4RCtI0r0h4uCIvo1BZx1b4GzTjsA3yFec7pUxo+yC4doXen/IDg/6GB5GlSH8mbSWXA4lI+SNiDekVAuS1JW4RCtF72+EWI8c6k+A6ZJc5m+BHvCxX9ItyLe/lAueVIW4UI8u4beDkj02FnnTOuUuJbM/kVhNjQkLjaSbyxH3Cu5cIjmUWMoOKti+2PIT4JsrI6blkKMe87GTYhX0iNLdDwbh/O+B9G6UclIMNWcXQ/CrRbaYRu5dz44C7XfYTXimZbESiYconk2GwGdwSOF4j0JV0AuZrybA4plfYq4BvF2kRbdSiIcog2hJ+6StmcnFesJ6AL52DEefgOiWNa/EfG25FNpNs8WVbgQz+7EEc9o0RRxYiwUKDXuJcVqovxRMeNe0YRDtB44Pw4uAc0jx2gYZqEItoE63TSc0fILLEa8oryqFUU4ROuH04oWl6I76WQwzhXTXLILIO6wLuVFiLedtKBWcOEQ7XY8rE146ZvAwxDfDBJfFSX7J7XOgz8Sta9AvE8T5byzBRMuxLP78Mg3Ac3l0gcmWCiD1dPmboh9/JL8+4WKe7HSvPqFaL6cTwGF0jyc3gTOvnLaehr/HOIrnUeYeYj3W75O5S0covnq9AhcEJxpJr0Lrgrlcic7cWAZ+AuM5o8DbyJeY7qU40dewiFaDe26FOOIKppl41olmWK9C1E8V0Q94q3M1cmchAvx7CEaHZ5oWKfGJ8qVmF2EU75hxH67YcxHQK+1y2IFWT+EaBdz81SoCg+59fvCXuh4tjnUf0tIC5WsoyJjnUckbTu8hni/WsjW2iUcog2k4unQPTTglm/HPLcVwpqoZCu4lOLxxeOFocCfneJgkc3LfuDpzyDG5UPkZyHetmxrzVo4RLubSh+FGM8OkHcTuBDyMUfaTihQHJBYn0cafTTVfKFX0KHgzM/HDvPwcugZKnGw5iLeh6HcZvK/woV45gu5wkVTtLGxkEN6jGc2gaJ5lDkXtCjUXvIrQf9qoDckzU56pFC8augMudoSHoziWcdSmIOA8e3Da6dYm8Ihmu+Zz8H14ckYWHONZ19Qz4+go53A9qNYLvtPYBlON5C2Gn4MpuDsHgVxecXvHQQH8krw7JiLuUnohz5pX8NM/PB9N6OdVjicNaa8AHFJROeqMtZ0+ovGk2/AI0o3iGKRTcey9aSO8locbXN3wyc75k4+BoaBYSNZ3yHKHj2ug6uhPdbEzQ6qK0ARXQ0z8MmYe4plFA4Hx3Hn0xB3Hiv0V9qTYxCXMpoie2LX+vyXnPDpiH4Ay3HMe9tt+NiTh0bDPRBXRLIed07tZvDebEzhN4CzV3O5voyPi9KlxMcJwuGMQj0FE8M9Ku9I1MIJ94bvk4mNGORdcr41GLd8xjpM94HxZAmO7CAtmOF3Pyoz5srJ8bCZaw68M95NJU4GshlNf1dAf4i+15F/Bb9b416rGDRuPHsRHCHN2PEz3GahDXMq/wR9wfgTGyObFnE56ULwDxW/K5rRB/tTDa4YY2Imf3Zx/TIwFLVl6/iyF8SNxxX0LH1Ix720cDRoTJgNcbT2hwdUPZPZeCNYsc9EQazPEV4NTm9/zjlKWnKjT11otBYUcRS4AuKgmjrYToxrwUHPZN9z0Ql0afhyL+k0+rQtRQOu/3qIAhjIB0IPSJrrvwEcARvTko44896DhXFUvKESjD66msbD/eBMSw60eQVygAfDyXH8INe2gZPLiaF4ExTucTLPg2aMGg7uVpqzZwu4tm8Ad7UoFtn0q4ti1SHWt16odKO/A/DxAZgAcYVFt+3nV2AcHAIdQTsOa6Ea7P9MhZtB5jHQmsDltwMM8qrszFPpaEfILIYF4H+ZVnrGGf12coyEyXAvdIU4KUydaa4+r/cDl3UVaHMVzun7erp4+g/FWQWK5a6oeGeNoYHijAVFrIG44shmtKkK52x6FSZluMW4pVjvIJbHibPe0MPl61JWxEEZOvw216a3LkEeGMGFO0D1d8KqMyVu4WtRDE2Mh85Az6Wuso/RZA1ph38BBMvNbHuq7kAAAAAASUVORK5CYII=);background-repeat:no-repeat;background-size:contain;animation-fill-mode:backwards;animation-iteration-count:infinite;animation-timing-function:ease-in-out;animation-duration:1.2s}.arrow1.svelte-7x7u86{position:relative}.arrow0.svelte-7x7u86{top:-0.75rem;animation-name:svelte-7x7u86-up0}.arrow1.svelte-7x7u86{animation-name:svelte-7x7u86-up1}.arrow2.svelte-7x7u86{top:0.75rem;animation-name:svelte-7x7u86-up2}.text.svelte-7x7u86{position:absolute;top:0;font-size:0.875rem;color:#ffffff;letter-spacing:0;text-align:center;max-width:8.75rem;width:-moz-max-content;width:max-content;word-break:break-all;line-height:1.125rem;text-shadow:0.125rem 0rem 0.5rem rgba(0, 0, 0, 0.15)}@keyframes svelte-7x7u86-up0{0%{opacity:0.8;transform:translate3d(0, 0, 0) scale(0.84)}33.33%,100%{opacity:0;transform:translate3d(0, -0.75rem, 0) scale(0.84)}}@keyframes svelte-7x7u86-up1{0%{opacity:1;transform:translate3d(0, 0, 0) scale(1)}33.33%,100%{opacity:0.8;transform:translate3d(0, -0.75rem, 0) scale(0.84)}}@keyframes svelte-7x7u86-up2{0%{opacity:0}33.33%,100%{opacity:1;transform:translate3d(0, -0.75rem, 0)}}.link.svelte-7x7u86{position:relative;width:1.75rem;height:0.75rem;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFQAAAAkCAMAAAAgl+0yAAAAnFBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+TINBkAAAAM3RSTlMAjLy6ILM2Fi+Zng3BrPvao4VC9ceneQfKkmNdV1AbEeLOsHA77ujUtn5JLnRraSUUjVLj/+RVAAABhElEQVRIx63V2W6CQBiGYUBUQGDYdwTZQZZa7v/eimik/ket/7yZ4yeTTCYf8+dOX8etxGVoxAvCVbguR3g0uRTMA0w4odGi+CbzFnGKosCqrmHc5rdEwzCwqtGFJlC7DqtOcTxANY67BHnVKOpVoEZRjFPdLgxbqIZhhFTjINChGgThF06NhpGd35OGMcCppyDPfajm+YhUR8cRoeo4+RGlJnnbalBt2x6nHh1dt4Gq6bqDU886y2ZQZVn9jFJ51vcbqPo+Up18UeSgKoo3nHqVJEkGqi1JPk49aLZmQdW2xXf1zP+vUFHsC1QVReK33xdk+w9SaqAq+732UvvdZ2UEqrud8lR5Wc4a7pO8GaoL9VBjy7rMlMosq1lV43LhZlrtF+yuJlbtEXpqXXP3NYwI8VJqakOIziw5aepV1FQuTdfhvlWVZdJCrao6MPe0spRpqV5ZFivqNqYpq3RQ2TST5/h4quoRCmwqq6rymol6plV53IZSomTKE/MroWfxDevL/wAEdPq1eGDh4AAAAABJRU5ErkJggg==);background-repeat:no-repeat;background-size:contain;animation-iteration-count:infinite;animation-timing-function:linear;animation-duration:1.2s;animation-name:svelte-7x7u86-left-right}@keyframes svelte-7x7u86-left-right{0%,100%{opacity:0.8;transform:translateX(-0.3125rem)}50%{opacity:1;transform:translateX(0)}}")}function TA(n){let t,e,i,s;return t=new vt({props:{visible:!0,outDelay:0,inDelay:0,width:1.4,left:13,bottom:"auto",blurRadius:50,spreadRadius:18}}),{c(){re(t.$$.fragment),e=K(),i=G("div"),C(i,"class","link svelte-7x7u86")},m(o,r){se(t,o,r),F(o,e,r),F(o,i,r),s=!0},i(o){s||(L(t.$$.fragment,o),s=!0)},o(o){H(t.$$.fragment,o),s=!1},d(o){oe(t,o),o&&R(e),o&&R(i)}}}function SA(n){let t,e,i,s,o,r,l,a;return t=new vt({props:{visible:!0,outDelay:0,inDelay:0,height:1.2,left:13,bottom:12,blurRadius:50,spreadRadius:18}}),{c(){re(t.$$.fragment),e=K(),i=G("div"),s=K(),o=G("div"),r=K(),l=G("div"),C(i,"class","arrow0 svelte-7x7u86"),C(o,"class","arrow1 svelte-7x7u86"),C(l,"class","arrow2 svelte-7x7u86")},m(c,u){se(t,c,u),F(c,e,u),F(c,i,u),F(c,s,u),F(c,o,u),F(c,r,u),F(c,l,u),a=!0},i(c){a||(L(t.$$.fragment,c),a=!0)},o(c){H(t.$$.fragment,c),a=!1},d(c){oe(t,c),c&&R(e),c&&R(i),c&&R(s),c&&R(o),c&&R(r),c&&R(l)}}}function kA(n){let t,e,i,s,o,r,l,a,c,u=n[0].text+"",d,f;const h=[SA,TA],p=[];function m(g,b){return g[0].linkType===qi.VrLink?0:g[0].linkType===qi.NormalLink?1:-1}return~(i=m(n))&&(s=p[i]=h[i](n)),l=new vt({props:{visible:!0,outDelay:0,inDelay:0,left:"auto",bottom:"auto",width:"80%",blurRadius:40,spreadRadius:16,opacity:.08}}),{c(){t=G("div"),e=G("div"),s&&s.c(),o=K(),r=G("div"),re(l.$$.fragment),a=K(),c=G("div"),d=Fe(u),C(e,"class","icon svelte-7x7u86"),C(c,"class","text svelte-7x7u86"),C(r,"class","text-wrapper svelte-7x7u86"),C(t,"class","wrapper svelte-7x7u86")},m(g,b){F(g,t,b),_(t,e),~i&&p[i].m(e,null),_(t,o),_(t,r),se(l,r,null),_(r,a),_(r,c),_(c,d),f=!0},p(g,[b]){let A=i;i=m(g),i!==A&&(s&&(ve(),H(p[A],1,1,()=>{p[A]=null}),be()),~i?(s=p[i],s||(s=p[i]=h[i](g),s.c()),L(s,1),s.m(e,null)):s=null),(!f||b&1)&&u!==(u=g[0].text+"")&&Ve(d,u)},i(g){f||(L(s),L(l.$$.fragment,g),f=!0)},o(g){H(s),H(l.$$.fragment,g),f=!1},d(g){g&&R(t),~i&&p[i].d(),oe(l)}}}function DA(n,t,e){let i,{tag:s}=t;return n.$$set=o=>{"tag"in o&&e(1,s=o.tag)},n.$$.update=()=>{n.$$.dirty&2&&e(0,i=s.data)},[i,s]}class LA extends fe{constructor(t){super(),de(this,t,DA,kA,ue,{tag:1},xA)}}function MA(n){me(n,"svelte-kzl2aj",".customElement__container.svelte-kzl2aj{position:relative}")}function kl(n){let t,e=n[0].element+"",i;return{c(){t=new Fi(!1),i=Ce(),t.a=i},m(s,o){t.m(e,s,o),F(s,i,o)},p(s,o){o&1&&e!==(e=s[0].element+"")&&t.p(e)},d(s){s&&R(i),s&&t.d()}}}function zA(n){let t,e=typeof n[0].element=="string"&&kl(n);return{c(){t=G("div"),e&&e.c(),C(t,"class","customElement__container svelte-kzl2aj")},m(i,s){F(i,t,s),e&&e.m(t,null),n[2](t)},p(i,[s]){typeof i[0].element=="string"?e?e.p(i,s):(e=kl(i),e.c(),e.m(t,null)):e&&(e.d(1),e=null)},i:ce,o:ce,d(i){i&&R(t),e&&e.d(),n[2](null)}}}function OA(n,t,e){let{tag:i}=t,s,o;mt(()=>{if(s){if(i.element instanceof Element){const l=i.element;s.appendChild(l),o=()=>s==null?void 0:s.removeChild(l)}else if(typeof i.element=="function"){const l=i.element;o=l(s)}}}),en(()=>{o==null||o()});function r(l){Xe[l?"unshift":"push"](()=>{s=l,e(1,s)})}return n.$$set=l=>{"tag"in l&&e(0,i=l.tag)},[i,s,r]}class jA extends fe{constructor(t){super(),de(this,t,OA,zA,ue,{tag:0},MA)}}function BA(n){me(n,"svelte-6jfp1v",`@font-face{font-family:'TG-TYPE';font-style:normal;font-weight:400;src:local('TG-TYPE-Bold'),
555
+ url(data:application/font-woff2;charset=utf-8;base64,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)
556
+ format('woff2')}.content__container.svelte-6jfp1v{position:relative;left:50%;top:50%;transform:translate(-50%, -50%);font-family:PingFangSC, Segoe UI, Rototo, sans-serif}.content__container.unClickable.svelte-6jfp1v{pointer-events:none !important}.content__container.unClickable.svelte-6jfp1v *{pointer-events:none !important}*{-webkit-tap-highlight-color:transparent}.content__wrapper.svelte-6jfp1v{pointer-events:none;width:100%;height:100%}.withAnimation.svelte-6jfp1v{transition:opacity 0.3s linear}.content__container.hide.svelte-6jfp1v{opacity:0;pointer-events:none}.content__container.disable.svelte-6jfp1v{display:none}.content__container.hide.svelte-6jfp1v *{pointer-events:none}.content.svelte-6jfp1v{position:relative;width:100%;height:100%;font-size:0.75rem;line-height:1.125rem;color:#fff}.content.svelte-6jfp1v:not(.unfolded){pointer-events:none}.content.svelte-6jfp1v:not(.unfolded) *{pointer-events:none !important}.content.unfolded.svelte-6jfp1v{pointer-events:auto}`)}function RA(n){let t,e;return t=new IA({props:{tag:_e(n[1])}}),{c(){re(t.$$.fragment)},m(i,s){se(t,i,s),e=!0},p(i,s){const o={};s&2&&(o.tag=_e(i[1])),t.$set(o)},i(i){e||(L(t.$$.fragment,i),e=!0)},o(i){H(t.$$.fragment,i),e=!1},d(i){oe(t,i)}}}function HA(n){let t,e;return t=new LA({props:{tag:_e(n[1])}}),{c(){re(t.$$.fragment)},m(i,s){se(t,i,s),e=!0},p(i,s){const o={};s&2&&(o.tag=_e(i[1])),t.$set(o)},i(i){e||(L(t.$$.fragment,i),e=!0)},o(i){H(t.$$.fragment,i),e=!1},d(i){oe(t,i)}}}function FA(n){let t,e;return t=new hA({props:{tag:_e(n[1])}}),{c(){re(t.$$.fragment)},m(i,s){se(t,i,s),e=!0},p(i,s){const o={};s&2&&(o.tag=_e(i[1])),t.$set(o)},i(i){e||(L(t.$$.fragment,i),e=!0)},o(i){H(t.$$.fragment,i),e=!1},d(i){oe(t,i)}}}function NA(n){let t,e;return t=new wA({props:{mediaStore:n[4],tag:_e(n[1])}}),{c(){re(t.$$.fragment)},m(i,s){se(t,i,s),e=!0},p(i,s){const o={};s&16&&(o.mediaStore=i[4]),s&2&&(o.tag=_e(i[1])),t.$set(o)},i(i){e||(L(t.$$.fragment,i),e=!0)},o(i){H(t.$$.fragment,i),e=!1},d(i){oe(t,i)}}}function GA(n){let t,e;return t=new cA({props:{tag:_e(n[1])}}),{c(){re(t.$$.fragment)},m(i,s){se(t,i,s),e=!0},p(i,s){const o={};s&2&&(o.tag=_e(i[1])),t.$set(o)},i(i){e||(L(t.$$.fragment,i),e=!0)},o(i){H(t.$$.fragment,i),e=!1},d(i){oe(t,i)}}}function _A(n){let t,e;return t=new wv({props:{tag:_e(n[1])}}),{c(){re(t.$$.fragment)},m(i,s){se(t,i,s),e=!0},p(i,s){const o={};s&2&&(o.tag=_e(i[1])),t.$set(o)},i(i){e||(L(t.$$.fragment,i),e=!0)},o(i){H(t.$$.fragment,i),e=!1},d(i){oe(t,i)}}}function QA(n){let t,e;return t=new jA({props:{tag:_e(n[1])}}),{c(){re(t.$$.fragment)},m(i,s){se(t,i,s),e=!0},p(i,s){const o={};s&2&&(o.tag=_e(i[1])),t.$set(o)},i(i){e||(L(t.$$.fragment,i),e=!0)},o(i){H(t.$$.fragment,i),e=!1},d(i){oe(t,i)}}}function WA(n){let t,e,i,s,o,r,l,a,c;const u=[QA,_A,GA,NA,FA,HA,RA],d=[];function f(h,p){return h[1].element?0:h[1].contentType===ut.Text?1:h[1].contentType===ut.ImageText?2:h[1].contentType===ut.Audio?3:h[1].contentType===ut.Marketing?4:h[1].contentType===ut.Link?5:h[1].contentType===ut.MediaPlane?6:-1}return~(s=f(n))&&(o=d[s]=u[s](n)),{c(){var h,p,m;t=G("div"),e=G("div"),i=G("div"),o&&o.c(),C(i,"class","content svelte-6jfp1v"),ie(i,"unfolded",(h=n[1].state)==null?void 0:h.unfolded),C(e,"class","content__wrapper svelte-6jfp1v"),C(t,"class","content__container svelte-6jfp1v"),C(t,"data-id",r=n[1].id),ie(t,"disable",n[1].enabled===!1||((p=n[1].temporaryState)==null?void 0:p.visible)===!1),ie(t,"hide",!n[3].visible||!n[5].visible||!((m=n[1].state)!=null&&m.visible)),ie(t,"withAnimation",n[0]),ie(t,"unClickable",n[1].clickable===!1),W(t,"width",n[1].pointType==="PointTag"?0:"100%"),W(t,"height",n[1].pointType==="PointTag"?0:"100%")},m(h,p){F(h,t,p),_(t,e),_(e,i),~s&&d[s].m(i,null),l=!0,a||(c=je(t,"click",go(n[13])),a=!0)},p(h,[p]){var g,b,A;let m=s;s=f(h),s===m?~s&&d[s].p(h,p):(o&&(ve(),H(d[m],1,1,()=>{d[m]=null}),be()),~s?(o=d[s],o?o.p(h,p):(o=d[s]=u[s](h),o.c()),L(o,1),o.m(i,null)):o=null),(!l||p&2)&&ie(i,"unfolded",(g=h[1].state)==null?void 0:g.unfolded),(!l||p&2&&r!==(r=h[1].id))&&C(t,"data-id",r),(!l||p&2)&&ie(t,"disable",h[1].enabled===!1||((b=h[1].temporaryState)==null?void 0:b.visible)===!1),(!l||p&42)&&ie(t,"hide",!h[3].visible||!h[5].visible||!((A=h[1].state)!=null&&A.visible)),(!l||p&1)&&ie(t,"withAnimation",h[0]),(!l||p&2)&&ie(t,"unClickable",h[1].clickable===!1),p&2&&W(t,"width",h[1].pointType==="PointTag"?0:"100%"),p&2&&W(t,"height",h[1].pointType==="PointTag"?0:"100%")},i(h){l||(L(o),l=!0)},o(h){H(o),l=!1},d(h){h&&R(t),~s&&d[s].d(),a=!1,c()}}}function XA(n,t,e){let i,s,o,r;var l,a;let{withAnimation:c=!1}=t,{tag:u}=t,{hooks:d}=t,{state:f}=t,{mediaStore:h}=t,{temporaryState:p}=t;ic("hooks",d);let m,g;function b(y){y?d.emit("exposure",{id:r,type:"start"}):d.emit("exposure",{id:r,type:"end"})}const A=y=>d.emit("click",{event:y,target:"TagContent",tag:u});return n.$$set=y=>{"withAnimation"in y&&e(0,c=y.withAnimation),"tag"in y&&e(1,u=y.tag),"hooks"in y&&e(2,d=y.hooks),"state"in y&&e(3,f=y.state),"mediaStore"in y&&e(4,h=y.mediaStore),"temporaryState"in y&&e(5,p=y.temporaryState)},n.$$.update=()=>{n.$$.dirty&66&&e(11,i=e(6,l=u.state)===null||l===void 0?void 0:l.unfolded),n.$$.dirty&130&&e(10,s=e(7,a=u.state)===null||a===void 0?void 0:a.visible),n.$$.dirty&1064&&e(12,o=f.visible&&p.visible&&s),n.$$.dirty&2&&(r=u.id),n.$$.dirty&4096&&b(o),n.$$.dirty&3842&&u.hooks&&(i!==void 0&&i!==g&&(e(9,g=i),i?u.hooks.emit("unfolded"):u.hooks.emit("folded")),s!==void 0&&s!==m&&(e(8,m=s),s?u.hooks.emit("show"):u.hooks.emit("hide")))},[c,u,d,f,h,p,l,a,m,g,s,i,o,A]}class yu extends fe{constructor(t){super(),de(this,t,XA,WA,ue,{withAnimation:0,tag:1,hooks:2,state:3,mediaStore:4,temporaryState:5},BA)}}function VA(n){me(n,"svelte-jtnm0",".point.svelte-jtnm0.svelte-jtnm0{width:1.5rem;height:1.5rem}.small-point.svelte-jtnm0.svelte-jtnm0,.big-point.svelte-jtnm0.svelte-jtnm0{position:absolute;width:100%;height:100%;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all 500ms}.big-point.svelte-jtnm0.svelte-jtnm0{background-color:rgba(0, 0, 0, 0.1)}.folded.point.svelte-jtnm0.svelte-jtnm0{animation:svelte-jtnm0-breathing 2s linear infinite}.big-point.svelte-jtnm0.svelte-jtnm0::before,.big-point.svelte-jtnm0.svelte-jtnm0::after{content:'';display:block;position:absolute;background-size:contain;background-repeat:no-repeat;pointer-events:none}.big-point.svelte-jtnm0.svelte-jtnm0::before{width:100%;height:100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAMAAABiM0N1AAAAqFBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8j1z1tAAAAOHRSTlMABgoNFBsYIhEmHyksMoJ6RZ5aXzpnU03AtqaZjLuGN+zcifnW0cjEqnA+lOZzbWLhkH6i8rGuagnOwPMAAAQOSURBVFjDrZiHctpAEIYXYzvGOvXeUe+IYuD93ywrJAIhFJX8M8zoBHzz757utHvwTETJHJPfGQZfWJXILWCMPuqNbuu6vj+khrHjed40TWvFfQ2jvCl8nGha6lQCl7s07UqcUlfOZrOxVtKsN2a+0uJYK+ScEIqiFifhBSGSsnJ8f8u99cLMVnEUHTKXIOMX6vuk5gpphFYyhmHzHpzcDqNUJGgEER+oz5OaK8ShNcIdt+zx1ys7lhdqiDlRkPF+JaSdWIhasaz6lLPQ1qFDIwYpDeTr62veCS8bGLIQRSsVK78/5nDeOlYIYhovHeOtU0dDXw2KSGiKesQRyjJ10Q66QcyZMTvpTEMUumpMieyWvs9ZLZcmodAOYlorsysBflpjiEJTFBEY5+7sicul34T1iak5U25momN9Ya4wPCT57r8cteW0dk4YuKMTqjXVkgjciFr+8B3ngnmM6kii5X/efB0F+jUHnuiatLJY+Et84EnUNacfiaKZjQhX4oJAwPlqOB3mJaoh4dxxG5Nc3Q8DkywunP6kBalN53J7G3g0JqiNC3qpjQ7TRPvmn2U3L3/kU4JaTn/SKU0qb76dDf0kGNjHJbD+wX1gcMxO6fZVrzXUcQaROkvt3+pljIYugQ0LDi1ZBgeN9JK9MjTCkmgwgPou19I5QzBI5yy5RvqOw6xMMbKzoeGWmnQfBBwa6woj6wyNsYSx7R0chWuOwsjOqR6aboyNyvcpgOsl3ZzNhoNm3bztdAK1x5NuzmCwunkjjq4AEzKXFI1NUmVnwIfydJBoW7CPVAR1uR6XbVwlmgF2xF1yPTbbubYHLZamgyTNhiSmp4PoJIEk+R+gOAFb+x+hxRoctHw6iItsMLT/Mf3RHixbnP5AyhEPmZ1NB+E6A0V3pi9aPqyB6Pz0bSTxXID0kE/d2DgvxBFzEKdutdXawJGSMlM3/3Sd4fA93bnTXkfSuvwGFGOI016QbKm3VdbOn/bKjpd1e6Pg1SlFhPzjdXWNwjNTyprkhz33i4Wpji600FA5h05q4Ywv/bxge7mNRe7YYtQMwqt/kMLixpXHQhBwcCXBYukxBbvkBTv4S5V/HNNC6EF089tPxxGHNzV8sKTgRhSzVYa2Wf5yeadHphlWGdb4IUeEO5K2SHrUiqJuW9GiLFdwVzRbCXTf5tg11mvhYdufZbLUr11XEi/k4KHexUxWSY8DBCby7AU8E3eUhfzVkYZgR6H/agF8C3KNqCeHLIIRR7oEr0XXsixy9P1jH/doJLF2nPXbIlw5y1aC6t4eROW1pduaLs/7b6NEqFiWrWpBzaXuaOy4Nfe6bRfqGwzSXBJZhnF8y9oUhcnzOyM9pI7wCWP0LSkyy1iFWWwsFp8LeKLfd4doRyTLRacAAAAASUVORK5CYII=)}.folded.svelte-jtnm0 .big-point.svelte-jtnm0::before{animation:svelte-jtnm0-rotate 2s linear infinite}.big-point.svelte-jtnm0.svelte-jtnm0::after{position:absolute;width:1rem;height:1rem;background-image:var(--iconUrl)}.small-point.svelte-jtnm0.svelte-jtnm0::before{content:'';display:block;position:absolute;pointer-events:none;width:0.25rem;height:0.25rem;border-radius:100%;background-color:white}.folded.svelte-jtnm0 .big-point.svelte-jtnm0{opacity:1;scale:1}.unfolded.svelte-jtnm0 .big-point.svelte-jtnm0{opacity:0;scale:0}.folded.svelte-jtnm0 .small-point.svelte-jtnm0{opacity:0;scale:6}.unfolded.svelte-jtnm0 .small-point.svelte-jtnm0{opacity:1;scale:1}@keyframes svelte-jtnm0-rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes svelte-jtnm0-breathing{0%{transform:scale(1)}25%{transform:scale(0.9)}50%{transform:scale(1)}}")}function YA(n){let t,e,i,s,o,r,l;return e=new vt({props:{center:!0,blurRadius:12,spreadRadius:5}}),{c(){t=G("div"),re(e.$$.fragment),i=K(),s=G("div"),o=K(),r=G("div"),C(s,"class","small-point svelte-jtnm0"),W(s,"transition-delay",n[3]?n[2]+"ms":"0ms"),C(r,"class","big-point svelte-jtnm0"),W(r,"--iconUrl","url("+n[1]+")"),W(r,"transition-delay",n[3]?n[2]+"ms":"0ms"),C(t,"class","point svelte-jtnm0"),ie(t,"folded",n[3]),ie(t,"unfolded",n[0])},m(a,c){F(a,t,c),se(e,t,null),_(t,i),_(t,s),_(t,o),_(t,r),l=!0},p(a,[c]){c&12&&W(s,"transition-delay",a[3]?a[2]+"ms":"0ms"),(!l||c&2)&&W(r,"--iconUrl","url("+a[1]+")"),c&12&&W(r,"transition-delay",a[3]?a[2]+"ms":"0ms"),(!l||c&8)&&ie(t,"folded",a[3]),(!l||c&1)&&ie(t,"unfolded",a[0])},i(a){l||(L(e.$$.fragment,a),l=!0)},o(a){H(e.$$.fragment,a),l=!1},d(a){a&&R(t),oe(e)}}}function UA(n,t,e){let i,{unfolded:s}=t,{iconUrl:o}=t,{foldDelay:r=800}=t;return n.$$set=l=>{"unfolded"in l&&e(0,s=l.unfolded),"iconUrl"in l&&e(1,o=l.iconUrl),"foldDelay"in l&&e(2,r=l.foldDelay)},n.$$.update=()=>{n.$$.dirty&1&&e(3,i=!s)},[s,o,r,i]}class ZA extends fe{constructor(t){super(),de(this,t,UA,YA,ue,{unfolded:0,iconUrl:1,foldDelay:2},VA)}}function JA(n){me(n,"svelte-1rg9uk",".point.svelte-1rg9uk.svelte-1rg9uk{width:1rem;height:1rem}.small-point.svelte-1rg9uk.svelte-1rg9uk,.big-point.svelte-1rg9uk.svelte-1rg9uk{position:absolute;width:100%;height:100%;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all 500ms}.big-point.svelte-1rg9uk.svelte-1rg9uk::before,.big-point.svelte-1rg9uk.svelte-1rg9uk::after{content:'';display:block;position:absolute;background-size:contain;background-repeat:no-repeat;pointer-events:none}.big-point.svelte-1rg9uk.svelte-1rg9uk::before{width:100%;height:100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAMAAABiM0N1AAAAqFBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8j1z1tAAAAOHRSTlMABgoNFBsYIhEmHyksMoJ6RZ5aXzpnU03AtqaZjLuGN+zcifnW0cjEqnA+lOZzbWLhkH6i8rGuagnOwPMAAAQOSURBVFjDrZiHctpAEIYXYzvGOvXeUe+IYuD93ywrJAIhFJX8M8zoBHzz757utHvwTETJHJPfGQZfWJXILWCMPuqNbuu6vj+khrHjed40TWvFfQ2jvCl8nGha6lQCl7s07UqcUlfOZrOxVtKsN2a+0uJYK+ScEIqiFifhBSGSsnJ8f8u99cLMVnEUHTKXIOMX6vuk5gpphFYyhmHzHpzcDqNUJGgEER+oz5OaK8ShNcIdt+zx1ys7lhdqiDlRkPF+JaSdWIhasaz6lLPQ1qFDIwYpDeTr62veCS8bGLIQRSsVK78/5nDeOlYIYhovHeOtU0dDXw2KSGiKesQRyjJ10Q66QcyZMTvpTEMUumpMieyWvs9ZLZcmodAOYlorsysBflpjiEJTFBEY5+7sicul34T1iak5U25momN9Ya4wPCT57r8cteW0dk4YuKMTqjXVkgjciFr+8B3ngnmM6kii5X/efB0F+jUHnuiatLJY+Et84EnUNacfiaKZjQhX4oJAwPlqOB3mJaoh4dxxG5Nc3Q8DkywunP6kBalN53J7G3g0JqiNC3qpjQ7TRPvmn2U3L3/kU4JaTn/SKU0qb76dDf0kGNjHJbD+wX1gcMxO6fZVrzXUcQaROkvt3+pljIYugQ0LDi1ZBgeN9JK9MjTCkmgwgPou19I5QzBI5yy5RvqOw6xMMbKzoeGWmnQfBBwa6woj6wyNsYSx7R0chWuOwsjOqR6aboyNyvcpgOsl3ZzNhoNm3bztdAK1x5NuzmCwunkjjq4AEzKXFI1NUmVnwIfydJBoW7CPVAR1uR6XbVwlmgF2xF1yPTbbubYHLZamgyTNhiSmp4PoJIEk+R+gOAFb+x+hxRoctHw6iItsMLT/Mf3RHixbnP5AyhEPmZ1NB+E6A0V3pi9aPqyB6Pz0bSTxXID0kE/d2DgvxBFzEKdutdXawJGSMlM3/3Sd4fA93bnTXkfSuvwGFGOI016QbKm3VdbOn/bKjpd1e6Pg1SlFhPzjdXWNwjNTyprkhz33i4Wpji600FA5h05q4Ywv/bxge7mNRe7YYtQMwqt/kMLixpXHQhBwcCXBYukxBbvkBTv4S5V/HNNC6EF089tPxxGHNzV8sKTgRhSzVYa2Wf5yeadHphlWGdb4IUeEO5K2SHrUiqJuW9GiLFdwVzRbCXTf5tg11mvhYdufZbLUr11XEi/k4KHexUxWSY8DBCby7AU8E3eUhfzVkYZgR6H/agF8C3KNqCeHLIIRR7oEr0XXsixy9P1jH/doJLF2nPXbIlw5y1aC6t4eROW1pduaLs/7b6NEqFiWrWpBzaXuaOy4Nfe6bRfqGwzSXBJZhnF8y9oUhcnzOyM9pI7wCWP0LSkyy1iFWWwsFp8LeKLfd4doRyTLRacAAAAASUVORK5CYII=);background-size:contain;background-repeat:no-repeat}.small-point.svelte-1rg9uk.svelte-1rg9uk::before{content:'';display:block;position:absolute;pointer-events:none;width:0.375rem;height:0.375rem;border-radius:100%;background-color:white}.unfolded.svelte-1rg9uk .big-point.svelte-1rg9uk{opacity:0;transform:scale(0)}.folded.svelte-1rg9uk .big-point.svelte-1rg9uk{opacity:1;transform:scale(1)}.unfolded.svelte-1rg9uk .small-point.svelte-1rg9uk{transform:scale(0.6)}.folded.svelte-1rg9uk .small-point.svelte-1rg9uk{transform:scale(1)}")}function qA(n){let t,e,i,s,o,r,l;return e=new vt({props:{center:!0,blurRadius:12,spreadRadius:5}}),{c(){t=G("div"),re(e.$$.fragment),i=K(),s=G("div"),o=K(),r=G("div"),C(s,"class","small-point svelte-1rg9uk"),W(s,"transition-delay",n[2]?n[1]+"ms":"0ms"),C(r,"class","big-point svelte-1rg9uk"),W(r,"transition-delay",n[2]?n[1]+"ms":"0ms"),C(t,"class","point svelte-1rg9uk"),ie(t,"unfolded",n[0]),ie(t,"folded",n[2])},m(a,c){F(a,t,c),se(e,t,null),_(t,i),_(t,s),_(t,o),_(t,r),l=!0},p(a,[c]){c&6&&W(s,"transition-delay",a[2]?a[1]+"ms":"0ms"),c&6&&W(r,"transition-delay",a[2]?a[1]+"ms":"0ms"),(!l||c&1)&&ie(t,"unfolded",a[0]),(!l||c&4)&&ie(t,"folded",a[2])},i(a){l||(L(e.$$.fragment,a),l=!0)},o(a){H(e.$$.fragment,a),l=!1},d(a){a&&R(t),oe(e)}}}function KA(n,t,e){let i,{unfolded:s}=t,{foldDelay:o=800}=t;return n.$$set=r=>{"unfolded"in r&&e(0,s=r.unfolded),"foldDelay"in r&&e(1,o=r.foldDelay)},n.$$.update=()=>{n.$$.dirty&1&&e(2,i=!s)},[s,o,i]}class $A extends fe{constructor(t){super(),de(this,t,KA,qA,ue,{unfolded:0,foldDelay:1},JA)}}function ey(n){me(n,"svelte-r4i9gl",".point-click-helper.svelte-r4i9gl{width:2.5rem;height:2.5rem;position:absolute;left:50%;top:50%;transform:translate(-50%, -50%)}")}function Dl(n){let t,e,i=n[0].contentType!==ut.Link&&Ll(n);return{c(){i&&i.c(),t=Ce()},m(s,o){i&&i.m(s,o),F(s,t,o),e=!0},p(s,o){s[0].contentType!==ut.Link?i?(i.p(s,o),o&1&&L(i,1)):(i=Ll(s),i.c(),L(i,1),i.m(t.parentNode,t)):i&&(ve(),H(i,1,1,()=>{i=null}),be())},i(s){e||(L(i),e=!0)},o(s){H(i),e=!1},d(s){i&&i.d(s),s&&R(t)}}}function Ll(n){let t,e,i,s,o,r;const l=[ny,ty],a=[];function c(u,d){var f,h,p,m;return((h=(f=u[0].style)==null?void 0:f.point)==null?void 0:h.style)==="CustomIcon"&&((m=(p=u[0].style)==null?void 0:p.point)==null?void 0:m.iconUrl)?0:1}return i=c(n),s=a[i]=l[i](n),{c(){t=G("div"),e=K(),s.c(),o=Ce(),C(t,"class","point-click-helper svelte-r4i9gl")},m(u,d){F(u,t,d),F(u,e,d),a[i].m(u,d),F(u,o,d),r=!0},p(u,d){let f=i;i=c(u),i===f?a[i].p(u,d):(ve(),H(a[f],1,1,()=>{a[f]=null}),be(),s=a[i],s?s.p(u,d):(s=a[i]=l[i](u),s.c()),L(s,1),s.m(o.parentNode,o))},i(u){r||(L(s),r=!0)},o(u){H(s),r=!1},d(u){u&&R(t),u&&R(e),a[i].d(u),u&&R(o)}}}function ty(n){let t,e;return t=new $A({props:{unfolded:n[0].state.unfolded,foldDelay:n[1]}}),{c(){re(t.$$.fragment)},m(i,s){se(t,i,s),e=!0},p(i,s){const o={};s&1&&(o.unfolded=i[0].state.unfolded),s&2&&(o.foldDelay=i[1]),t.$set(o)},i(i){e||(L(t.$$.fragment,i),e=!0)},o(i){H(t.$$.fragment,i),e=!1},d(i){oe(t,i)}}}function ny(n){let t,e;return t=new ZA({props:{iconUrl:n[0].style.point.iconUrl,unfolded:n[0].state.unfolded,foldDelay:n[1]}}),{c(){re(t.$$.fragment)},m(i,s){se(t,i,s),e=!0},p(i,s){const o={};s&1&&(o.iconUrl=i[0].style.point.iconUrl),s&1&&(o.unfolded=i[0].state.unfolded),s&2&&(o.foldDelay=i[1]),t.$set(o)},i(i){e||(L(t.$$.fragment,i),e=!0)},o(i){H(t.$$.fragment,i),e=!1},d(i){oe(t,i)}}}function iy(n){var s,o,r;let t,e,i=((s=n[0].pointTagStyle)==null?void 0:s.leftPercent)&&((o=n[0].pointTagStyle)==null?void 0:o.topPercent)&&n[0].enabled!==!1&&n[0].state&&((r=n[0].temporaryState)==null?void 0:r.visible)!==!1&&Dl(n);return{c(){i&&i.c(),t=Ce()},m(l,a){i&&i.m(l,a),F(l,t,a),e=!0},p(l,[a]){var c,u,d;((c=l[0].pointTagStyle)==null?void 0:c.leftPercent)&&((u=l[0].pointTagStyle)==null?void 0:u.topPercent)&&l[0].enabled!==!1&&l[0].state&&((d=l[0].temporaryState)==null?void 0:d.visible)!==!1?i?(i.p(l,a),a&1&&L(i,1)):(i=Dl(l),i.c(),L(i,1),i.m(t.parentNode,t)):i&&(ve(),H(i,1,1,()=>{i=null}),be())},i(l){e||(L(i),e=!0)},o(l){H(i),e=!1},d(l){i&&i.d(l),l&&R(t)}}}function sy(n,t,e){let i;var s,o;let{tag:r}=t;return n.$$set=l=>{"tag"in l&&e(0,r=l.tag)},n.$$.update=()=>{n.$$.dirty&13&&e(1,i=e(3,o=e(2,s=r.style)===null||s===void 0?void 0:s.foldedPointDelay)!==null&&o!==void 0?o:r.contentType===ut.Marketing?600:void 0)},[r,i,s,o]}class oy extends fe{constructor(t){super(),de(this,t,sy,iy,ue,{tag:0},ey)}}function ry(n){me(n,"svelte-1vzhbu2",".wrapper.svelte-1vzhbu2{position:absolute;width:0rem;height:0rem;overflow:visible;pointer-events:auto}.point.svelte-1vzhbu2{-webkit-tap-highlight-color:transparent;position:absolute;transform:translate(-50%, -50%);left:50%;top:50%}")}function Ml(n){let t,e;return t=new yu({props:{mediaStore:n[4],withAnimation:n[0],tag:_e(n[1]),hooks:n[2],state:n[3],temporaryState:n[5]}}),{c(){re(t.$$.fragment)},m(i,s){se(t,i,s),e=!0},p(i,s){const o={};s&16&&(o.mediaStore=i[4]),s&1&&(o.withAnimation=i[0]),s&2&&(o.tag=_e(i[1])),s&4&&(o.hooks=i[2]),s&8&&(o.state=i[3]),s&32&&(o.temporaryState=i[5]),t.$set(o)},i(i){e||(L(t.$$.fragment,i),e=!0)},o(i){H(t.$$.fragment,i),e=!1},d(i){oe(t,i)}}}function zl(n){let t,e,i,s,o;return e=new oy({props:{tag:n[1]}}),{c(){t=G("div"),re(e.$$.fragment),C(t,"class","point svelte-1vzhbu2")},m(r,l){F(r,t,l),se(e,t,null),i=!0,s||(o=je(t,"click",go(n[11])),s=!0)},p(r,l){const a={};l&2&&(a.tag=r[1]),e.$set(a)},i(r){i||(L(e.$$.fragment,r),i=!0)},o(r){H(e.$$.fragment,r),i=!1},d(r){r&&R(t),oe(e),s=!1,o()}}}function ay(n){var l,a;let t,e,i,s,o=n[1].dimensionType===ht.Two&&Ml(n),r=n[1].pointType===at.PointTag&&((a=(l=n[1].style)==null?void 0:l.point)==null?void 0:a.style)!=="noPoint"&&zl(n);return{c(){t=G("div"),o&&o.c(),e=K(),r&&r.c(),C(t,"class","wrapper svelte-1vzhbu2"),C(t,"data-id",i=n[1].id),ie(t,"hide",n[10]),ie(t,"unfolded",n[6]),W(t,"left",n[9]),W(t,"top",n[8]),W(t,"z-index",n[7])},m(c,u){F(c,t,u),o&&o.m(t,null),_(t,e),r&&r.m(t,null),s=!0},p(c,[u]){var d,f;c[1].dimensionType===ht.Two?o?(o.p(c,u),u&2&&L(o,1)):(o=Ml(c),o.c(),L(o,1),o.m(t,e)):o&&(ve(),H(o,1,1,()=>{o=null}),be()),c[1].pointType===at.PointTag&&((f=(d=c[1].style)==null?void 0:d.point)==null?void 0:f.style)!=="noPoint"?r?(r.p(c,u),u&2&&L(r,1)):(r=zl(c),r.c(),L(r,1),r.m(t,null)):r&&(ve(),H(r,1,1,()=>{r=null}),be()),(!s||u&2&&i!==(i=c[1].id))&&C(t,"data-id",i),(!s||u&1024)&&ie(t,"hide",c[10]),(!s||u&64)&&ie(t,"unfolded",c[6]),u&512&&W(t,"left",c[9]),u&256&&W(t,"top",c[8]),u&128&&W(t,"z-index",c[7])},i(c){s||(L(o),L(r),s=!0)},o(c){H(o),H(r),s=!1},d(c){c&&R(t),o&&o.d(),r&&r.d()}}}function ly(n,t,e){let i,s,o,r,l,a;var c,u,d,f,h;let{withAnimation:p=!1}=t,{tag:m}=t,{hooks:g}=t,{state:b}=t,{mediaStore:A}=t,{temporaryState:y}=t,I,k=!1;function E(T){I!==void 0&&clearTimeout(I),k=!0,I=setTimeout(()=>{k=!1},800)}const D=T=>{k||g.emit("click",{event:T,target:"TagPoint",tag:m})};return n.$$set=T=>{"withAnimation"in T&&e(0,p=T.withAnimation),"tag"in T&&e(1,m=T.tag),"hooks"in T&&e(2,g=T.hooks),"state"in T&&e(3,b=T.state),"mediaStore"in T&&e(4,A=T.mediaStore),"temporaryState"in T&&e(5,y=T.temporaryState)},n.$$.update=()=>{n.$$.dirty&4098&&e(17,i=e(12,c=m.state)===null||c===void 0?void 0:c.visible),n.$$.dirty&131072&&e(10,s=!i),n.$$.dirty&8194&&e(6,o=e(13,u=m.state)===null||u===void 0?void 0:u.unfolded),n.$$.dirty&16386&&e(9,r=(e(14,d=m.pointTagStyle)===null||d===void 0?void 0:d.leftPercent)+"%"),n.$$.dirty&32770&&e(8,l=(e(15,f=m.pointTagStyle)===null||f===void 0?void 0:f.topPercent)+"%"),n.$$.dirty&65538&&e(7,a=m.contentType===ut.Link?20:!(e(16,h=m.state)===null||h===void 0)&&h.unfolded?10:0),n.$$.dirty&64&&E()},[p,m,g,b,A,y,o,a,l,r,s,D,c,u,d,f,h,i]}class cy extends fe{constructor(t){super(),de(this,t,ly,ay,ue,{withAnimation:0,tag:1,hooks:2,state:3,mediaStore:4,temporaryState:5},ry)}}function uy(n){me(n,"svelte-1eci49s",".tag--container.svelte-1eci49s{box-sizing:border-box;position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;opacity:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tag.hide.svelte-1eci49s{display:none}.withAnimation.svelte-1eci49s{transition:opacity 0.3s linear}.tag--container.hide.svelte-1eci49s{opacity:0;pointer-events:none}.tag--container.hide.svelte-1eci49s *{pointer-events:none}")}function Ol(n,t,e){const i=n.slice();return i[6]=t[e],i}function jl(n,t){let e,i,s,o;const r=[{tag:t[6],hooks:t[2],state:t[3],mediaStore:t[4],temporaryState:t[5],withAnimation:t[0]}];let l={};for(let a=0;a<r.length;a+=1)l=Oe(l,r[a]);return i=new cy({props:l}),{key:n,first:null,c(){var a,c,u;e=G("div"),re(i.$$.fragment),s=K(),C(e,"class","tag svelte-1eci49s"),ie(e,"hide",!((a=t[6].pointTagStyle)!=null&&a.leftPercent)||!((c=t[6].pointTagStyle)!=null&&c.topPercent)||t[6].enabled===!1||!t[6].state||((u=t[6].temporaryState)==null?void 0:u.visible)===!1),this.first=e},m(a,c){F(a,e,c),se(i,e,null),_(e,s),o=!0},p(a,c){var d,f,h;t=a;const u=c&63?Ye(r,[{tag:t[6],hooks:t[2],state:t[3],mediaStore:t[4],temporaryState:t[5],withAnimation:t[0]}]):{};i.$set(u),(!o||c&2)&&ie(e,"hide",!((d=t[6].pointTagStyle)!=null&&d.leftPercent)||!((f=t[6].pointTagStyle)!=null&&f.topPercent)||t[6].enabled===!1||!t[6].state||((h=t[6].temporaryState)==null?void 0:h.visible)===!1)},i(a){o||(L(i.$$.fragment,a),o=!0)},o(a){H(i.$$.fragment,a),o=!1},d(a){a&&R(e),oe(i)}}}function dy(n){let t,e=[],i=new Map,s,o=n[1];const r=l=>l[6].id;for(let l=0;l<o.length;l+=1){let a=Ol(n,o,l),c=r(a);i.set(c,e[l]=jl(c,a))}return{c(){t=G("div");for(let l=0;l<e.length;l+=1)e[l].c();C(t,"class","tag--container svelte-1eci49s"),ie(t,"hide",!n[3].visible||!n[5].visible),ie(t,"withAnimation",n[0])},m(l,a){F(l,t,a);for(let c=0;c<e.length;c+=1)e[c].m(t,null);s=!0},p(l,[a]){a&63&&(o=l[1],ve(),e=gt(e,a,r,1,l,o,i,t,Gt,jl,null,Ol),be()),(!s||a&40)&&ie(t,"hide",!l[3].visible||!l[5].visible),(!s||a&1)&&ie(t,"withAnimation",l[0])},i(l){if(!s){for(let a=0;a<o.length;a+=1)L(e[a]);s=!0}},o(l){for(let a=0;a<e.length;a+=1)H(e[a]);s=!1},d(l){l&&R(t);for(let a=0;a<e.length;a+=1)e[a].d()}}}function fy(n,t,e){let{withAnimation:i=!1}=t,{tags:s=[]}=t,{hooks:o}=t,{state:r}=t,{mediaStore:l}=t,{temporaryState:a}=t;return n.$$set=c=>{"withAnimation"in c&&e(0,i=c.withAnimation),"tags"in c&&e(1,s=c.tags),"hooks"in c&&e(2,o=c.hooks),"state"in c&&e(3,r=c.state),"mediaStore"in c&&e(4,l=c.mediaStore),"temporaryState"in c&&e(5,a=c.temporaryState)},[i,s,o,r,l,a]}class hy extends fe{constructor(t){super(),de(this,t,fy,dy,ue,{withAnimation:0,tags:1,hooks:2,state:3,mediaStore:4,temporaryState:5},uy)}}const py={globalConfig:{initialState:{},visibleConfig:{visibleDistance:{max:5},angleRange:{min:-45,max:45}},unfoldedConfig:{autoUnfold:{strategy:"MinimumDistance"}},tag3DConfig:{ratio:.0035}},contentTypeConfig:{"Any-Link-Any":{unfoldedConfig:{keep:"unfolded"},initialState:{unfolded:!0}},"Any-Marketing-Any":{unfoldedConfig:void 0},"3D-MediaPlane-PlaneTag":{unfoldedConfig:{keep:"unfolded"},visibleConfig:{angleRange:void 0,visibleDistance:void 0}}}};class my extends os{constructor(e){super(e);v(this,"tagCacheByPanoIndex",{})}getCaches({panoIndex:e,id:i,key:s}){var c,u,d,f;const{five:o}=this,r=(c=o.panoIndex)!=null?c:e;if(r===void 0)throw new Error(`TagCacheController getCache(): fivePanoIndex is ${r}`);const l=`${(d=(u=o.work)==null?void 0:u.workCode)!=null?d:o.model.uuid}-${r}`;let a=this.tagCacheByPanoIndex[l];if(a||(a=new Map,this.tagCacheByPanoIndex[l]=a),i===void 0)return a;if(s===void 0){const h=a.get(i);return h||(a.set(i,{}),a.get(i))}return(f=a.get(i))==null?void 0:f[s]}clearCache(){this.tagCacheByPanoIndex={}}}class gy extends my{constructor(e){super(e);v(this,"tags",[]);v(this,"config",py);v(this,"raycaster",new M.Raycaster)}getTagById(e){const i=this.tags.find(s=>s.id===e);if(!i){console.error(`getTagById(): tag is ${i}, id is ${e}`);return}return i}changeConfig(e,i=!0){i?this.config=Et.exports({},this.config,e):this.config=e,this.clearCache()}changeGlobalConfig(e,i=!0){i?this.config.globalConfig=Et.exports({},this.config.globalConfig,e):this.config.globalConfig=e,this.clearCache()}changeContentTypeConfig(e,i,s=!0){this.config.contentTypeConfig||(this.config.contentTypeConfig={}),s?this.config.contentTypeConfig[e]=Et.exports({},this.config.contentTypeConfig[e],i):this.config.contentTypeConfig[e]=i,this.clearCache()}getVisibleByPanoIndex(e,i){var r;const s=this.getCaches({panoIndex:i,id:e.id}),o=(r=this.five.panoIndex)!=null?r:i;if(s.visible!==void 0)return s.visible;{const l=(()=>{var u,d,f,h,p;const a=(u=this.getTagConfig(e).visibleConfig)!=null?u:{},c=this.getDistance(e);if(typeof a=="function")return a(this.five,{tag:e,distance:c});if(a.keep==="hidden")return!1;if(a.keep==="visible")return!0;if(a.visiblePanoIndex!==void 0&&(o===void 0||!a.visiblePanoIndex.includes(o))||a.visibleDistance!==void 0&&a.visibleDistance!=="unLimited"&&xi(c,a.visibleDistance)===!1)return!1;if(((d=a.intersectRaycaster)==null?void 0:d.enabled)!==!1){if(o===void 0)return!1;const m=(f=this.five.work.observers[o])==null?void 0:f.position;if(m===void 0)throw new Error(`getVisible(): observerPosition is ${m}`);const g=Ii(e.position).sub(m).normalize();this.raycaster.set(m,g);const[b]=this.five.model.intersectRaycaster(this.raycaster),A=(p=(h=a.intersectRaycaster)==null?void 0:h.distanceAccuracy)!=null?p:.01;if(b&&b.distance+A<c)return!1}return!(a.angleRange&&e.dimensionType===ht.Three&&xi(this.getAngle(e),a.angleRange)===!1)})();return s.visible=l,s.visible}}getUnfoldedByPanoIndex(e,i){if(!this.getVisibleByPanoIndex(e))return;const o=this.getCaches({panoIndex:i,id:e.id});if(o.unfolded!==void 0)return o.unfolded;{const r=this.getTagConfig(e).unfoldedConfig;if(!r)return;const l=(()=>{const c=this.getDistance(e);if(typeof r=="function")return r(this.five,{tag:e,distance:c});if(r.keep==="folded")return!1;if(r.keep==="unfolded")return!0;if(r.disableUnfold===!0)return!1;if(r.disableFold===!0)return!0;if(r.unfoldDistance&&xi(c,r.unfoldDistance)===!1)return!1})();o.unfolded=l;const a=this.getUnfoldedByCamera(e);return a!==void 0?a:o.unfolded}}getUnfoldedByCamera(e){return this.getVisibleByPanoIndex(e)?(()=>{var l;const o=this.getDistance(e),r=this.getTagConfig(e).unfoldedConfig;if(!!r){if(typeof r=="function")return r(this.five,{tag:e,distance:o});if(r.keep==="folded")return!1;if(r.keep==="unfolded")return!0;if(r.disableUnfold===!0)return!1;if(r.disableFold===!0)return!0;if(r.autoUnfold===void 0)return;if(r.autoUnfold.strategy==="ScreenPostion"){const a=this.getTagProject(e);if(a&&xi(a.x,r.autoUnfold.autoUnfoldProjectX)===!1)return!1}if(r.autoUnfold.strategy==="MinimumDistance"){const u=this.filterPointTag().filter(f=>this.getVisibleByPanoIndex(f)).filter(f=>{const h=this.getTagProject(f);if(!h)return!1;const{x:p,y:m,z:g}=h;return!(Math.abs(g)>1||Math.abs(p)>1||Math.abs(m)>1)}).filter(f=>{var p;const h=this.getTagConfig(f).unfoldedConfig;return typeof h=="object"&&((p=h.autoUnfold)==null?void 0:p.strategy)==="MinimumDistance"}).map(f=>({id:f.id,distance:this.getDistance(f)})).filter(f=>f.distance!==void 0).sort((f,h)=>f.distance-h.distance).findIndex(f=>f.id===e.id);if(u===-1||u<=((l=r.autoUnfold.maxNumber)!=null?l:1)-1===!1)return!1}return!0}})():void 0}getDistance(e,i){var r,l,a;const s=(r=this.five.panoIndex)!=null?r:i;if(s===void 0)throw new Error(`getDistance(): fivePanoIndex is ${s}`);const o=this.getCaches({panoIndex:i,id:e.id});if(o.distance!==void 0)return o.distance;{const c=(a=(l=this.five.work)==null?void 0:l.observers[s])==null?void 0:a.position;if(c===void 0)throw new Error(`getDistance(): observerPosition is ${c}`);const u=(()=>e.pointType===at.PointTag?Ht(e==null?void 0:e.position):Ii(e.position))(),d=c.distanceTo(u);return o.distance=d,d}}getAngle(e,i){var r,l,a;const s=(r=this.five.panoIndex)!=null?r:i;if(s===void 0)throw new Error(`getDistance(): fivePanoIndex is ${s}`);const o=this.getCaches({panoIndex:i,id:e.id});if(o.angle!==void 0)return o.angle;{const c=(a=(l=this.five.work)==null?void 0:l.observers[s])==null?void 0:a.position;if(c===void 0)throw new Error(`getAngleRange(): observerPosition is ${c}`);const u=(()=>e.pointType===at.PointTag?Un(e.normal):Wc(e.position))();if(!u)return;const d=new M.Vector3().copy(c).sub(Ii(e.position)),f=u.angleTo(d)*180/Math.PI;return o.angle=f,o.angle}}getTagConfig(e){var o;if(!e)return(o=this.config.globalConfig)!=null?o:{};const i={};return this.config.contentTypeConfig&&Object.keys(this.config.contentTypeConfig).forEach(r=>{const l=r;if(i[l])return;const a=l.split("-"),[c="Any",u="Any",d="Any"]=a||[];(e.dimensionType===c||c==="Any")&&(e.contentType===u||u==="Any")&&(e.pointType===d||d==="Any")&&(i[l]=this.config.contentTypeConfig[l])}),Et.exports({},this.config.globalConfig,...Object.values(i),e.config)}canBe(e,i){const s=this.getTagConfig(i);if(!s||typeof s!="object")return!0;if(e==="show"||e==="hide"){if(!s.visibleConfig||typeof s.visibleConfig!="object")return!0;if(e==="show"&&s.visibleConfig.keep==="hidden"||e==="hide"&&(s.visibleConfig.keep==="visible"||s.visibleConfig.alwaysShowWhenMovePano))return!1}if(e==="fold"||e==="unfold"){if(!s.unfoldedConfig||typeof s.unfoldedConfig!="object")return!0;if(e==="fold"&&(s.unfoldedConfig.disableFold||s.unfoldedConfig.keep==="unfolded")||e==="unfold"&&(s.unfoldedConfig.disableUnfold||s.unfoldedConfig.keep==="folded"))return!1}return!0}setPointTagPosition(){const e=this.filterPointTag();e.length!==0&&e.forEach(i=>{var o;if(!((o=i.state)!=null&&o.visible)){i.pointTagStyle=void 0;return}const s=this.getTagProject(i);if(!s){i.pointTagStyle=void 0;return}i.pointTagStyle={leftPercent:(s.x+1)/2*100,topPercent:(-s.y+1)/2*100}})}setVisibleByPanoIndex(){this.tags.forEach(e=>{const i=this.getVisibleByPanoIndex(e);e.state&&(e.state.visible=i)})}setUnfoldedByPanoIndex(){this.tags.forEach(e=>{const i=this.getUnfoldedByPanoIndex(e);if(!!e.state&&(i!==void 0&&(e.state.unfolded=i),i&&!e.state.visible)){const s=this.getTagConfig(e);typeof s.unfoldedConfig=="object"&&s.unfoldedConfig.autoUnfoldWhenHide!==!1&&(e.state.unfolded=!1)}})}getTagProject(e){if(!this.getVisibleByPanoIndex(e))return;const s=Ii(e.position),{x:o,y:r,z:l}=s.project(this.five.camera);if(!(l>1))return{x:o,y:r,z:l}}filterPointTag(){return this.tags.filter(e=>e.pointType===at.PointTag)}filterTag2D(){return this.tags.filter(e=>e.dimensionType===ht.Two)}filter3DPointTag(){return this.tags.filter(e=>e.dimensionType===ht.Three&&e.pointType===at.PointTag)}filter3DTag(){return this.tags.filter(e=>e.dimensionType===ht.Three)}filterPlaneTag(){return this.tags.filter(e=>e.dimensionType===ht.Three&&e.pointType===at.PlaneTag)}}const wu="1.2.2",co=`DnalogelPlugin-PanoTagPlugin@${wu}`,vy=!1,by=n=>`${co}--${n}`;class Pu extends gy{constructor(e,i){super(e);v(this,"version",wu);v(this,"state",{enabled:!0,visible:!0});v(this,"params");v(this,"debug");v(this,"css3DRenderPlugin");v(this,"PointTagSvelte");v(this,"temporaryState",{visible:!0});v(this,"mediaStore",yo({currentMediaUrl:""}));v(this,"store",{disposers:[],disposed:!1,resizeObserverDisposerAdding:!1,css3DRenderDisposer:new Map});v(this,"staticUrl");v(this,"disposedErrorLog",()=>{console.error(`${co} is disposed`)});this.params={debug:!1,mergePluginDefaultConfigToLoadDataConfig:!1,config:this.config,staticConfig:{host:"vrlab-static.ljcdn.com"},...i},this.debug=this.params.debug,this.config=this.params.config,this.staticUrl=(()=>{var o;const s=this.params.staticConfig;if(typeof s=="string")return s;{const r=s.protocol?s.protocol+":":"",l=(o=s.host)!=null?o:"vrlab-static.ljcdn.com",a=s.port?":"+s.port:"";return`${r}//${l}${a}`}})(),Object.assign(window,{__PANOTAGPLUGIN_DEBUG__:this})}load(e,i){var s,o;this.clearTags(),console.log(co,"load:",{data:e}),this.params.mergePluginDefaultConfigToLoadDataConfig?this.config=Et.exports({},this.config,{globalConfig:(s=e.globalConfig)!=null?s:{},contentTypeConfig:(o=e.contentTypeConfig)!=null?o:{}}):(e.globalConfig&&(this.config.globalConfig=e.globalConfig),e.contentTypeConfig&&(this.config.contentTypeConfig=e.contentTypeConfig)),this.addTag(e.tagList,i),this.debug&&y0(this.five,this.tags)}addTag(e,i){const o=(Array.isArray(e)?e:[e]).map(r=>{const l=this.getTagConfig(r);return{...r,state:{visible:void 0,unfolded:vy,...l.initialState},hooks:new ke.Subscribe,clickable:l.clickable}}).filter(r=>r.position);this.tags.push(...o),w0(this.five,()=>{var r,l,a;if(this.store.eventListenerDisposer&&((l=(r=this.store).eventListenerDisposer)==null||l.call(r)),this.store.eventListenerDisposer=this.addEventListener(),!this.store.resizeObserverDisposer&&!this.store.resizeObserverDisposerAdding){const c=this.addResizeObserver();this.store.resizeObserverDisposerAdding=!0,setTimeout(()=>{this.store.resizeObserverDisposer=c,this.store.resizeObserverDisposerAdding=!1},200)}this.checkPanelTag(),this.setVisibleAndUnfolded({withAnimation:(a=i==null?void 0:i.withAnimation)!=null?a:!0}).then(()=>this.updateRenderAllTags()),this.updateRenderAllTags()})}clearTags(){this.tags=[],this.clearCache(),this.disposeAllCSS3DContainer(),this.updateRenderAllTags()}async show(e){const{userAction:i=!0,withAnimation:s=!1}=e!=null?e:{};if(this.store.disposed)return this.disposedErrorLog();this.setState({visible:!0},{userAction:i,visibleWithAnimation:s}),this.hooks.emit("show",{userAction:i,withAnimation:s})}async hide(e){const{userAction:i=!0,withAnimation:s=!1}=e!=null?e:{};if(this.store.disposed)return this.disposedErrorLog();this.setState({visible:!1},{userAction:i,visibleWithAnimation:s}),this.hooks.emit("hide",{userAction:i,withAnimation:s})}enable(e){const{userAction:i=!0}=e!=null?e:{};if(this.store.disposed)return this.disposedErrorLog();this.setState({enabled:!0},{userAction:i}),this.hooks.emit("enable",{userAction:i})}disable(e){const{userAction:i=!0}=e!=null?e:{};if(this.store.disposed)return this.disposedErrorLog();this.setState({enabled:!1},{userAction:i}),this.hooks.emit("disable",{userAction:i})}dispose(){var e,i,s,o,r,l;this.disposeAllCSS3DContainer(),(e=this.PointTagSvelte)==null||e.$destroy(),this.filter3DTag().forEach(a=>{var c;return(c=a.tag3DContentSvelte)==null?void 0:c.svelteApp.$destroy()}),this.tags=[],(i=this.store.disposers)==null||i.forEach(a=>a==null?void 0:a()),this.store.disposers=[],this.store.disposed=!0,(o=(s=this.store).eventListenerDisposer)==null||o.call(s),this.store.eventListenerDisposer=void 0,(l=(r=this.store).resizeObserverDisposer)==null||l.call(r),this.store.resizeObserverDisposer=void 0,this.store.resizeObserverDisposerAdding=!1,this.clearCache(),this.hooks.emit("dispose")}setState(e,i){if(this.store.disposed)return this.disposedErrorLog();const{userAction:s=!0,visibleWithAnimation:o=!1}=i,r={...this.state};this.state=Object.assign(this.state,e),this.store.visibleWithAnimation=o,r.visible!==this.state.visible&&(e.visible?this.handleShow():this.handleHide()),r.enabled!==this.state.enabled&&(e.enabled?this.handleEnable():this.handleDisable()),this.hooks.emit("stateChange",{state:this.state,prevState:r,userAction:s})}changeTagNormalById(e,i){const s=this.getTagById(e);!s||!s.tag3DContentSvelte||(s.tag3DContentSvelte.currentNormal=Ht(i),this.updateRenderPlaneTag())}changeDataById(e,i,s=!0){const o=this.getTagById(e);!o||(s?o.data=Et.exports({},o.data,i):Object.assign(o.data,i),this.checkPanelTag(),this.updateRenderAllTags())}changeTagById(e,i,s=!0){const o=this.getTagById(e);!i||(s?Et.exports(o,i):Object.assign(o,i),(o==null?void 0:o.tag3DContentSvelte)&&(i==null?void 0:i.normal)&&(o.tag3DContentSvelte.currentNormal=Ht(i.normal)),this.updateRenderAllTags(),this.checkPanelTag())}destroyTagById(e){(Array.isArray(e)?e:[e]).forEach(s=>{const o=this.tags.findIndex(r=>r.id===s);o!==-1&&this.tags.splice(o,1)}),this.updateRenderAllTags()}pauseCurrentMedia(){this.mediaStore.set({currentMediaUrl:""})}async setVisibleAndUnfolded({withAnimation:e}={withAnimation:!1}){return this.setVisibleByPanoIndex(),e?new Promise((i,s)=>{setTimeout(()=>{this.setUnfoldedByPanoIndex(),i()},10)}):(this.setUnfoldedByPanoIndex(),Promise.resolve())}handleShow(){this.state.visible=!0,this.updateTagContainerVisible()}handleHide(){this.state.visible=!1,this.updateTagContainerVisible()}handleEnable(){this.state.enabled=!0,this.updateRenderAllTags()}handleDisable(){var e;this.state.enabled=!1,(e=this.PointTagSvelte)==null||e.$set({tags:[]}),this.filter3DTag().forEach(i=>{var s;(s=i.tag3DContentSvelte)==null||s.svelteApp.$destroy(),i.tag3DContentSvelte=void 0})}addEventListener(){const{five:e,hooks:i}=this,s=this.handleFiveWantsMoveToPano.bind(this),o=this.handleFiveModeChange.bind(this),r=this.handleFiveCameraUpdate.bind(this),l=this.handleFiveCameraUpdateDebounce(),a=this.handleFivePanoArrived.bind(this),c=this.clickhandler.bind(this);return e.on("wantsMoveToPano",s),e.on("modeChange",o),e.on("cameraUpdate",r),e.on("cameraUpdate",l),e.on("panoArrived",a),i.on("click",c),()=>{e.off("wantsMoveToPano",s),e.off("modeChange",o),e.off("cameraUpdate",r),e.off("cameraUpdate",l),e.off("panoArrived",a),i.off("click",c),this.store.eventListenerDisposer=void 0}}addResizeObserver(){const e=this.five.getElement(),i=()=>{this.show(),this.updateRenderAllTags()},{observe:s,unobserve:o}=xa(E0(()=>{!this.store.resizeObserverDisposer||this.hide()},500),e),{observe:r,unobserve:l}=xa(Ia(()=>i(),400),e);return s(),r(),()=>{o(),l()}}handleFiveModeChange(e){e==="Panorama"?this.five.once("panoArrived",()=>this.temporaryShow()):this.temporaryHide()}handleFiveWantsMoveToPano(){this.tags.forEach(e=>{const i=this.getTagConfig(e);typeof i.visibleConfig=="object"&&i.visibleConfig.keep?e.temporaryState={...e.temporaryState,visible:i.visibleConfig.keep==="visible"}:typeof i.visibleConfig=="object"&&i.visibleConfig.alwaysShowWhenMovePano?e.temporaryState={...e.temporaryState,visible:!0}:e.temporaryState={...e.temporaryState,visible:!1}}),this.updateRenderAllTags()}temporaryShow(){this.temporaryState.visible=!0}temporaryHide(){this.temporaryState.visible=!1}clickhandler(e){if(e.target!=="TagPoint")return;if(!e.tag.state)return console.warn("Clickhandler: params.tag.state is undefined");const i=this.canBe("fold",e.tag),s=this.canBe("unfold",e.tag);i&&s&&(e.tag.state.unfolded=!e.tag.state.unfolded,e.tag.state.unfolded&&this.tags.forEach(o=>{o.id!==e.tag.id&&o.state&&this.canBe("fold",o)&&(o.state.unfolded=!1)}),this.updateRenderAllTags())}updateRenderAllTags(){this.updateRenderPointTag(),this.updateRenderPlaneTag()}updateTagContainerVisible(){var e;(e=this.PointTagSvelte)==null||e.$set({state:this.state,temporaryState:this.temporaryState,withAnimation:this.store.visibleWithAnimation}),this.filter3DTag().forEach(i=>{var s;(s=i.tag3DContentSvelte)==null||s.svelteApp.$set({state:this.state,temporaryState:this.temporaryState,withAnimation:this.store.visibleWithAnimation})})}handleFiveCameraUpdateDebounce(){return Ia(()=>{this.setUnfoldedByCamera(),this.updateRenderAllTags()},100)}handleFiveCameraUpdate(){this.updateRenderPointTag()}async handleFivePanoArrived(){await this.setVisibleAndUnfolded(),this.tags.forEach(e=>{e.temporaryState={...e.temporaryState,visible:!0}}),this.updateRenderAllTags()}setUnfoldedByCamera(){let e=!1;this.tags.forEach(i=>{const s=this.getUnfoldedByCamera(i);!i.state||s!==void 0&&(s===!0&&(e=!0),i.state.unfolded=s)}),e&&this.tags.forEach(i=>{const s=this.getTagConfig(i).unfoldedConfig;typeof s=="object"&&(s.autoUnfold||s.disableFold||s.keep)||i.state&&(i.state.unfolded=!1)})}updateRenderPointTag(){var i;const e=this.filterPointTag();if(this.setPointTagPosition(),this.PointTagSvelte)this.PointTagSvelte.$set({tags:e,state:this.state,temporaryState:this.temporaryState});else{const s=(i=this.five.getElement())==null?void 0:i.parentElement;if(!s)return console.error("updateRenderPlaneTag: tag2DContainer not found");this.PointTagSvelte=new hy({target:s,props:{hooks:this.hooks,tags:e,state:this.state,temporaryState:this.temporaryState,mediaStore:this.mediaStore}})}}updateRenderPlaneTag(){[...this.filterPlaneTag(),...this.filter3DPointTag()].forEach(i=>{var s;if(i.tag3DContentSvelte){const{svelteApp:o,domContainer:r,initialNormal:l,currentNormal:a}=i.tag3DContentSvelte;if(o.$set({tag:i,hooks:this.hooks,state:this.state,temporaryState:this.temporaryState}),!l.equals(a)){const c=new X.Quaternion().setFromUnitVectors(l,a);r.css3DObject.setRotationFromQuaternion(c)}}else{if(((s=i.state)==null?void 0:s.visible)===!1)return;if(this.css3DRenderPlugin||(this.css3DRenderPlugin=Kn(this.five)),i.pointType===at.PointTag&&!i.normal)return console.error("updateRenderPlaneTag: \u4E09\u7EF4\u70B9\u6807\u7B7E\u7F3A\u5C11\u6CD5\u5411\u91CF\uFF01");const o=i.pointType===at.PlaneTag?i.position:P0(this.five.camera.position,Ht(i.position),Ht(i.normal)),r=i.pointType===at.PlaneTag?Wc(i.position):Ht(i.normal),l=this.getTagConfig(i).tag3DConfig,a=this.css3DRenderPlugin.create3DDomContainer(o,l);if(!a)return;this.store.css3DRenderDisposer.set(i.id,a.dispose),i.tag3DContentSvelte={svelteApp:new yu({target:a.container,props:{tag:i,hooks:this.hooks,state:this.state,mediaStore:this.mediaStore,temporaryState:this.temporaryState}}),domContainer:a,initialNormal:r,currentNormal:r}}}),this.checkPanelTag()}disposeAllCSS3DContainer(){for(const[e,i]of this.store.css3DRenderDisposer)i==null||i();this.store.css3DRenderDisposer=new Map}checkPanelTag(){this.tags.forEach(e=>{var i;e.dimensionType===ht.Two&&e.pointType===at.PointTag&&((i=e.tag3DContentSvelte)==null||i.domContainer.dispose(),e.tag3DContentSvelte=void 0)});for(const[e,i]of this.store.css3DRenderDisposer){const s=this.getTagById(e);(!s||s.dimensionType!==ht.Three)&&(i==null||i(),this.store.css3DRenderDisposer.delete(e))}}}const Ay=(n,t)=>new Pu(n,t);class _o extends X.Object3D{constructor(e,i){var s;super();v(this,"originObject3D");v(this,"onRender");this.originObject3D=e,this.onRender=(s=i==null?void 0:i.onRender)!=null?s:()=>{}}get helperObject(){return this}render(){this.onRender()}show(){this.visible=!0,this.render()}hide(){this.visible=!1,this.render()}updatePosition(){this.position.copy(this.originObject3D.position)}updateQuaternion(){this.quaternion.copy(this.originObject3D.quaternion)}applyHelperScaleMatrix4(e,i){this.scale.applyMatrix4(e)}applyHelperQuaternion(e,i){this.applyQuaternion(e)}}class yy extends _o{}class wy extends _o{}class Py extends _o{}class Ey extends Py{}class Cy extends M.Group{constructor(e){super();v(this,"direction");this.direction=e||"x"}}class Bl extends M.Mesh{constructor(e,i,s){super(e,i);v(this,"direction");this.direction=s||"x"}}function Iy(n,t){const{offsetWidth:e,offsetHeight:i}=t,{top:s,left:o}=t.getBoundingClientRect();return Object.assign(new M.Vector2,{x:(n.x-o)/e*2-1,y:-(n.y-s)/i*2+1})}function Qo(n,t,e){if(!t||!e||!n)return;const i=Iy(t,e);if(Math.abs(i.x)===1||Math.abs(i.y)===1)return;const s=new M.Raycaster;return s.setFromCamera(i,n),s}function xy(n,t){return!(Math.abs(n.x-t.x)>1e-5||Math.abs(n.y-t.y)>1e-5||Math.abs(n.z-t.z)>1e-5)}class _s extends Cy{constructor(e){var u;super(e.direction);v(this,"line");v(this,"arrow");v(this,"lineHeight",.4);v(this,"arrowHeight",.1);this.name="ArrowGroup";const i=new M.Color((u=e.color)!=null?u:16214315),s=new M.MeshBasicMaterial({color:i,depthTest:!1,opacity:1,transparent:!0,side:M.DoubleSide}),o=new M.ConeGeometry(.04,.1,32),r=new Bl(o,s.clone(),e.direction);r.name=`arrow-${e.direction}`,this.arrow=r;const l=.004,a=new M.CylinderGeometry(l,l,.4,32),c=new Bl(a,s.clone(),e.direction);c.name=`line-${e.direction}`,this.line=c,this.formatArrow(),this.formatLine(),this.add(this.arrow,this.line)}formatArrow(){this.arrow.geometry.translate(0,this.lineHeight+this.arrowHeight/2,0),this.direction==="x"?(this.arrow.geometry.rotateX(Math.PI/2),this.arrow.geometry.rotateY(Math.PI/2)):this.direction==="z"&&this.arrow.geometry.rotateX(Math.PI/2)}formatLine(){this.line.geometry.translate(0,this.lineHeight/2,0),this.direction==="x"?(this.line.geometry.rotateX(Math.PI/2),this.line.geometry.rotateY(Math.PI/2)):this.direction==="z"&&this.line.geometry.rotateX(Math.PI/2)}}const Qs={X:15618642,Y:4765519,Z:4227839};class Rt{static get X(){return new M.Color(Qs.X).convertSRGBToLinear().clone()}static get Y(){return new M.Color(Qs.Y).convertSRGBToLinear().clone()}static get Z(){return new M.Color(Qs.Z).convertSRGBToLinear().clone()}}class Ty extends yy{constructor(e){super(e);v(this,"xArrow",new _s({direction:"x",color:Rt.X}));v(this,"yArrow",new _s({direction:"y",color:Rt.Y}));v(this,"zArrow",new _s({direction:"z",color:Rt.Z}));this.add(this.xArrow),this.add(this.yArrow),this.add(this.zArrow)}show(){super.show(),this.xArrow.visible=!0,this.yArrow.visible=!0,this.zArrow.visible=!0}showDraggingHelper(e){this.xArrow.visible=e.includes("x"),this.yArrow.visible=e.includes("y"),this.zArrow.visible=e.includes("z")}dispose(){this.remove(this.xArrow,this.yArrow,this.zArrow)}}function hn(n,t){return Sy(document.createElement(t!=null?t:"div"),n)}function Sy(n,t){if(!t)return n;for(const e in t)e&&t[e]&&(n.style[e]=t[e]);return n}function ky(n){const t=hn({position:"absolute",display:"block",borderRadius:"4px",paddingTop:"1px",paddingBottom:"1px",paddingLeft:"4px",paddingRight:"4px",pointerEvents:"none",userSelect:"none",zIndex:"9999",backgroundColor:"rgba(0,0,0,0.7)",fontSize:"12px",color:"#fff",letterSpacing:"0",lineHeight:"18px",...n}),e=()=>{t.style.display!=="block"&&(!t.style.top||!t.style.left||(t.style.display="block"))};return{element:t,show:e,hide:()=>{t.style.display="none",t.style.top="",t.style.left=""},setLeftTop:(o,r)=>{t.style.left=o,t.style.top=r,e()}}}class Dy extends wy{constructor(e,i){var s;super(e);v(this,"yzCircle",new Ws({direction:"x",color:Rt.X}));v(this,"xzCircle",new Ws({direction:"y",color:Rt.Y}));v(this,"xyCircle",new Ws({direction:"z",color:Rt.Z}));v(this,"xRingHelper",new Xs({direction:"x"}));v(this,"yRingHelper",new Xs({direction:"y"}));v(this,"zRingHelper",new Xs({direction:"z"}));v(this,"xAngleHelper",new Vs({direction:"x",color:Rt.X}));v(this,"yAngleHelper",new Vs({direction:"y",color:Rt.Y}));v(this,"zAngleHelper",new Vs({direction:"z",color:Rt.Z}));v(this,"angleTips");v(this,"container");i&&(this.container=i==null?void 0:i.container,this.angleTips=ky({display:"none"}),(s=this.container)==null||s.appendChild(this.angleTips.element)),this.show()}updateAngleHelperQuaternion(){this.xAngleHelper.quaternion.copy(this.yzCircle.quaternion),this.yAngleHelper.quaternion.copy(this.xzCircle.quaternion),this.zAngleHelper.quaternion.copy(this.xyCircle.quaternion),this.xRingHelper.quaternion.copy(this.yzCircle.quaternion),this.yRingHelper.quaternion.copy(this.xzCircle.quaternion),this.zRingHelper.quaternion.copy(this.xyCircle.quaternion)}applyHelperQuaternion(e,i){this.yzCircle.applyQuaternion(e),this.xzCircle.applyQuaternion(e),this.xyCircle.applyQuaternion(e),this.xAngleHelper.baseAxes.applyQuaternion(e),this.yAngleHelper.baseAxes.applyQuaternion(e),this.zAngleHelper.baseAxes.applyQuaternion(e)}hide(){this.remove(this.yzCircle,this.xzCircle,this.xyCircle,this.xRingHelper,this.yRingHelper,this.zRingHelper,this.xAngleHelper,this.yAngleHelper,this.zAngleHelper)}show(){var e;this.add(this.xyCircle,this.xzCircle,this.yzCircle),this.remove(this.xRingHelper,this.yRingHelper,this.zRingHelper,this.xAngleHelper,this.yAngleHelper,this.zAngleHelper),(e=this.angleTips)==null||e.hide()}showDraggingHelper(e){var i;this.hide(),this.add(...this.filterRingHelper(e)),this.add(...this.filterAngleHelper(e)),(i=this.angleTips)==null||i.show()}dispose(){var e,i;this.remove(this.yzCircle,this.xzCircle,this.xyCircle,this.xRingHelper,this.yRingHelper,this.zRingHelper,this.xAngleHelper,this.yAngleHelper,this.zAngleHelper),(e=this.angleTips)!=null&&e.element&&((i=this.container)==null||i.removeChild(this.angleTips.element))}filterRingHelper(e){return[this.xRingHelper,this.yRingHelper,this.zRingHelper].filter(i=>e.includes(i.direction))}filterAngleHelper(e){return[this.xAngleHelper,this.yAngleHelper,this.zAngleHelper].filter(i=>e.includes(i.direction))}}class Ws extends M.Mesh{constructor(e){var i;super();v(this,"direction");v(this,"gapAngle",.02);v(this,"geometry",new M.RingGeometry(.25,.3,20,8,this.gapAngle,Math.PI/2-this.gapAngle*2));this.material=new M.MeshBasicMaterial({opacity:.6,color:(i=e.color)!=null?i:16777215,transparent:!0,side:M.DoubleSide,depthTest:!1}),this.direction=e.direction,this.geometry.name=`RotateHelperCircleGeometry-${this.direction}`,this.direction==="y"?this.rotateX(Math.PI/2):this.direction==="x"&&this.rotateY(-Math.PI/2)}}class Xs extends M.Group{constructor(e){super();v(this,"direction");this.direction=e.direction;const i=.015,s=new Array(8).fill(null).map((o,r)=>{const l=new M.RingGeometry(.25,.3,20,8,Math.PI/4*r+i,Math.PI/4-i*2),a=new M.MeshBasicMaterial({opacity:1,color:16777215,depthTest:!1,transparent:!0,side:M.DoubleSide}),c=new M.Mesh(l,a);return c.name=`AxesDashedRing-${this.direction}-${r}`,c});this.add(...s),this.direction==="y"?this.rotateX(Math.PI/2):this.direction==="x"&&this.rotateY(-Math.PI/2)}}class Vs extends M.Mesh{constructor(e){var s;super();v(this,"direction");v(this,"baseAxes");switch(e.direction){case"x":this.baseAxes=new M.Vector3(0,0,1);break;case"y":this.baseAxes=new M.Vector3(1,0,0);break;case"z":this.baseAxes=new M.Vector3(1,0,0);break}const i=.3+5e-4;this.geometry=new M.CircleGeometry(i,48,0,1e-4),this.material=new M.MeshBasicMaterial({opacity:.4,color:(s=e.color)!=null?s:16777215,depthTest:!1,transparent:!0,side:M.DoubleSide}),this.direction=e.direction,this.direction==="y"?this.rotateX(Math.PI/2):this.direction==="x"&&this.rotateY(-Math.PI/2)}}function Ly(){const n=hn({width:"100%",height:"100%",left:"0",top:"0",position:"absolute",pointerEvents:"none"}),t=hn({boxSizing:"border-box",width:"100%",height:"100%",left:"0",top:"0",position:"relative",display:"flex",alignItems:"center",justifyContent:"center"}),e=hn({boxSizing:"border-box",width:"100%",height:"100%",left:"0",top:"0",position:"absolute",border:"1px solid rgba(255,255,255,0.4)"});n.appendChild(t),t.appendChild(e);const i="-4px",s={direction:"nesw",element:Xt({cursor:"nesw-resize",left:i,bottom:i})},o={direction:"ns",element:Xt({cursor:"ns-resize",bottom:i})},r={direction:"nwse",element:Xt({cursor:"nwse-resize",right:i,bottom:i})},l={direction:"ew",element:Xt({cursor:"ew-resize",right:i})},a={direction:"nesw",element:Xt({cursor:"nesw-resize",right:i,top:i})},c={direction:"ns",element:Xt({cursor:"ns-resize",top:i})},u={direction:"nwse",element:Xt({cursor:"nwse-resize",left:i,top:i})},d={direction:"ew",element:Xt({cursor:"ew-resize",left:i})};return new Array(o,l,c,d,s,r,a,u).forEach(h=>t.appendChild(h.element)),{container:n,squares:[s,o,r,l,a,c,u,d]}}function Xt(n){const t=hn({background:"#FFFFFF",width:"9px",height:"9px",position:"absolute",pointerEvents:"none",...n}),e=hn({width:"15px",height:"15px",position:"absolute",left:"50%",top:"50%",transform:"translate(-50%, -50%)",pointerEvents:"none"}),i=hn({width:"15px",height:"15px",cursor:n==null?void 0:n.cursor,pointerEvents:"auto",background:"transparent"});return i.draggable=!0,e.appendChild(i),t.appendChild(e),t}class My extends Ey{constructor(e,i,s,o){super(e);v(this,"points",[]);v(this,"cornerPositions",[]);v(this,"css3DInstance");v(this,"plane");v(this,"css3DRenderer",new Vl);v(this,"camera");v(this,"scene");v(this,"container");v(this,"enabled",!1);this.camera=s,this.scene=o,this.container=i,this.initRectangleScaleHelper()}get helperObject(){var e;if(!((e=this.css3DInstance)!=null&&e.css3DObject))throw new Error("css3DInstance is not initialized");return this.css3DInstance.css3DObject}updatePosition(){var e;this.helperObject.position.copy(this.originObject3D.position),(e=this.plane)==null||e.position.copy(this.originObject3D.position)}updateQuaternion(){var e;(e=this.plane)==null||e.quaternion.copy(this.originObject3D.quaternion)}applyMatrix4(e){var i;super.applyMatrix4(e),this.helperObject.applyMatrix4(e),(i=this.plane)==null||i.applyMatrix4(e),this.cornerPositions.forEach(s=>s.applyMatrix4(e))}showDraggingHelper(){}applyHelperScaleMatrix4(e,i){var s;(s=this.plane)==null||s.scale.applyMatrix4(e),this.helperObject.applyScaleMatrix4(e)}updatePoints(){const e=this.calculatePointPosition(this.cornerPositions);this.points.forEach((i,s)=>{i.position.copy(e[s])})}applyHelperQuaternion(e,i){var o;const s=(o=this.css3DInstance)==null?void 0:o.css3DObject;if(s){const r=new M.Vector3().subVectors(s.position,i).applyQuaternion(e).add(i);s.position.copy(r),s.applyQuaternion(e)}if(this.plane){const r=new M.Vector3().subVectors(this.plane.position,i).applyQuaternion(e).add(i);this.plane.position.copy(r),this.plane.applyQuaternion(e)}this.cornerPositions.forEach(r=>{const l=new M.Vector3().subVectors(r,i).applyQuaternion(e).add(i);r.copy(l)})}enable(){var e;this.enabled||(this.enabled=!0,(e=this.css3DInstance)==null||e.enable(),this.plane&&this.scene.add(this.plane))}disable(){var e;!this.enabled||(this.enabled=!1,(e=this.css3DInstance)==null||e.disable(),this.plane&&this.scene.remove(this.plane))}show(){var e;(e=this.css3DInstance)==null||e.show(),this.plane&&(this.plane.visible=!0)}hide(){var e;(e=this.css3DInstance)==null||e.hide(),this.plane&&(this.plane.visible=!1)}dispose(){this.disable(),this.css3DRenderer.dispose()}initRectangleScaleHelper(){var u;const e=this.getCornerPositions();if(!e)return;this.cornerPositions=e;const i=this.css3DRenderer.create3DElement(this.camera,e,{ratio:.003});if(!i)return;this.css3DInstance=i,i.appendToElement(this.container);const s=i.css3DObject.container,{container:o,squares:r}=Ly();this.points=r.map((d,f)=>({direction:d.direction,point:d.element,position:this.calculatePointPosition(e)[f]})),s.insertBefore(o,(u=s.children[0])!=null?u:null);const l=new M.PlaneGeometry(i.css3DObject.width,i.css3DObject.height),a=new M.MeshBasicMaterial({color:0,opacity:.15,transparent:!0,side:M.DoubleSide}),c=new M.Mesh(l,a);this.scene.add(c),this.updatePosition()}getCornerPositions(){const{originObject3D:e}=this;if(e instanceof ji.CSS3DObject){if(e.isCSS3DObjectPlus)return e.cornerPoints;console.error("\u6682\u65F6\u53EA\u652F\u6301 CSS3DRenderPlugin \u751F\u6210\u7684\u7269\u4F53")}else console.error("\u5F53\u524D\u7269\u4F53\u6682\u65F6\u4E0D\u652F\u6301 ScaleHelper")}calculatePointPosition(e){return[e[0].clone(),e[0].clone().add(e[1]).divideScalar(2),e[1].clone(),e[1].clone().add(e[2]).divideScalar(2),e[2].clone(),e[2].clone().add(e[3]).divideScalar(2),e[3].clone(),e[3].clone().add(e[0]).divideScalar(2)]}}new M.Vector3;function Ie(n,t){this._camera=n||null,this._domElement=t||document,this._raycaster=new M.Raycaster,this._selected=null,this._boundObjs={};var e=this;this._$onClick=function(){e._onClick.apply(e,arguments)},this._$onDblClick=function(){e._onDblClick.apply(e,arguments)},this._$onMouseMove=function(){e._onMouseMove.apply(e,arguments)},this._$onMouseDown=function(){e._onMouseDown.apply(e,arguments)},this._$onMouseUp=function(){e._onMouseUp.apply(e,arguments)},this._$onTouchMove=function(){e._onTouchMove.apply(e,arguments)},this._$onTouchStart=function(){e._onTouchStart.apply(e,arguments)},this._$onTouchEnd=function(){e._onTouchEnd.apply(e,arguments)},this._$onContextmenu=function(){e._onContextmenu.apply(e,arguments)},this._domElement.addEventListener("click",this._$onClick,!1),this._domElement.addEventListener("dblclick",this._$onDblClick,!1),this._domElement.addEventListener("mousemove",this._$onMouseMove,!1),this._domElement.addEventListener("mousedown",this._$onMouseDown,!1),this._domElement.addEventListener("mouseup",this._$onMouseUp,!1),this._domElement.addEventListener("touchmove",this._$onTouchMove,!1),this._domElement.addEventListener("touchstart",this._$onTouchStart,!1),this._domElement.addEventListener("touchend",this._$onTouchEnd,!1),this._domElement.addEventListener("contextmenu",this._$onContextmenu,!1)}Ie.prototype.destroy=function(){this._domElement.removeEventListener("click",this._$onClick,!1),this._domElement.removeEventListener("dblclick",this._$onDblClick,!1),this._domElement.removeEventListener("mousemove",this._$onMouseMove,!1),this._domElement.removeEventListener("mousedown",this._$onMouseDown,!1),this._domElement.removeEventListener("mouseup",this._$onMouseUp,!1),this._domElement.removeEventListener("touchmove",this._$onTouchMove,!1),this._domElement.removeEventListener("touchstart",this._$onTouchStart,!1),this._domElement.removeEventListener("touchend",this._$onTouchEnd,!1),this._domElement.removeEventListener("contextmenu",this._$onContextmenu,!1)};Ie.eventNames=["click","dblclick","mouseover","mouseout","mousemove","mousedown","mouseup","contextmenu","touchstart","touchend"];Ie.prototype._getRelativeMouseXY=function(n){var t=n.target||n.srcElement;t.nodeType===3&&(t=t.parentNode);var e={x:0,y:0},i=t,s=getComputedStyle(i,null);e.y+=parseInt(s.getPropertyValue("padding-top"),10),e.x+=parseInt(s.getPropertyValue("padding-left"),10);do e.x+=i.offsetLeft,e.y+=i.offsetTop,s=getComputedStyle(i,null),e.x+=parseInt(s.getPropertyValue("border-left-width"),10),e.y+=parseInt(s.getPropertyValue("border-top-width"),10);while(i=i.offsetParent);var o={width:t===window?window.innerWidth:t.offsetWidth,height:t===window?window.innerHeight:t.offsetHeight};return{x:Number((n.pageX-e.x)/o.width)*2-1,y:-((n.pageY-e.y)/o.height)*2+1}};Ie.prototype._objectCtxInit=function(n){n._3xDomEvent={}};Ie.prototype._objectCtxDeinit=function(n){delete n._3xDomEvent};Ie.prototype._objectCtxIsInit=function(n){return!!n._3xDomEvent};Ie.prototype._objectCtxGet=function(n){return n._3xDomEvent};Ie.prototype.camera=function(n){return n&&(this._camera=n),this._camera};Ie.prototype.bind=function(n,t,e,i){console.assert(Ie.eventNames.indexOf(t)!==-1,"not available events:"+t),this._objectCtxIsInit(n)||this._objectCtxInit(n);var s=this._objectCtxGet(n);s[t+"Handlers"]||(s[t+"Handlers"]=[]),s[t+"Handlers"].push({callback:e,useCapture:i}),this._boundObjs[t]===void 0&&(this._boundObjs[t]=[]),this._boundObjs[t].push(n)};Ie.prototype.addEventListener=Ie.prototype.bind;Ie.prototype.unbind=function(n,t,e,i){console.assert(Ie.eventNames.indexOf(t)!==-1,"not available events:"+t),this._objectCtxIsInit(n)||this._objectCtxInit(n);var s=this._objectCtxGet(n);s[t+"Handlers"]||(s[t+"Handlers"]=[]);for(var o=s[t+"Handlers"],r=0;r<o.length;r++){var l=o[r];if(e==l.callback&&i==l.useCapture){o.splice(r,1);break}}var a=this._boundObjs[t].indexOf(n);console.assert(a!==-1),this._boundObjs[t].splice(a,1)};Ie.prototype.removeEventListener=Ie.prototype.unbind;Ie.prototype._bound=function(n,t){var e=this._objectCtxGet(t);return e?!!e[n+"Handlers"]:!1};Ie.prototype._onMove=function(n,t,e,i){var s=this._boundObjs[n];if(!(s===void 0||s.length===0)){var o=new M.Vector2;o.set(t,e),this._raycaster.setFromCamera(o,this._camera);var r=this._raycaster.intersectObjects(s),l=this._selected;if(r.length>0){var a,c,u,d=r[0],f=d.object;this._selected=f,u=this._bound("mousemove",f),l!=f&&(a=this._bound("mouseover",f),c=l&&this._bound("mouseout",l))}else c=l&&this._bound("mouseout",l),this._selected=null;u&&this._notify("mousemove",f,i,d),a&&this._notify("mouseover",f,i,d),c&&this._notify("mouseout",l,i,d)}};Ie.prototype._onEvent=function(n,t,e,i){var s=this._boundObjs[n];if(!(s===void 0||s.length===0)){var o=new M.Vector2;o.set(t,e),this._raycaster.setFromCamera(o,this._camera);var r=this._raycaster.intersectObjects(s,!0);if(r.length!==0){for(var l=r[0],a=l.object,c=this._objectCtxGet(a),u=a.parent;typeof c>"u"&&u;)c=this._objectCtxGet(u),u=u.parent;!c||this._notify(n,a,i,l)}}};Ie.prototype._notify=function(n,t,e,i){var s=this._objectCtxGet(t),o=s?s[n+"Handlers"]:null;if(console.assert(arguments.length===4),!s||!o||o.length===0){t.parent&&this._notify(n,t.parent,e,i);return}for(var o=s[n+"Handlers"],r=0;r<o.length;r++){var l=o[r],a=!0;l.callback({type:n,target:t,origDomEvent:e,intersect:i,stopPropagation:function(){a=!1}}),!!a&&l.useCapture===!1&&t.parent&&this._notify(n,t.parent,e,i)}};Ie.prototype._onMouseDown=function(n){return this._onMouseEvent("mousedown",n)};Ie.prototype._onMouseUp=function(n){return this._onMouseEvent("mouseup",n)};Ie.prototype._onMouseEvent=function(n,t){var e=this._getRelativeMouseXY(t);this._onEvent(n,e.x,e.y,t)};Ie.prototype._onMouseMove=function(n){var t=this._getRelativeMouseXY(n);this._onMove("mousemove",t.x,t.y,n),this._onMove("mouseover",t.x,t.y,n),this._onMove("mouseout",t.x,t.y,n)};Ie.prototype._onClick=function(n){this._onMouseEvent("click",n)};Ie.prototype._onDblClick=function(n){this._onMouseEvent("dblclick",n)};Ie.prototype._onContextmenu=function(n){this._onMouseEvent("contextmenu",n)};Ie.prototype._onTouchStart=function(n){return this._onTouchEvent("touchstart",n)};Ie.prototype._onTouchEnd=function(n){return this._onTouchEvent("touchend",n)};Ie.prototype._onTouchMove=function(n){if(n.touches.length==1){n.preventDefault();var t=Number(n.touches[0].pageX/window.innerWidth)*2-1,e=-(n.touches[0].pageY/window.innerHeight)*2+1;this._onMove("mousemove",t,e,n),this._onMove("mouseover",t,e,n),this._onMove("mouseout",t,e,n)}};Ie.prototype._onTouchEvent=function(n,t){if(t.touches.length==1){t.preventDefault();var e=Number(t.touches[0].pageX/window.innerWidth)*2-1,i=-(t.touches[0].pageY/window.innerHeight)*2+1;this._onEvent(n,e,i,t)}};let sn=null;class Wo{constructor(t,e,i,s,o,r,l){v(this,"hooks",new qn);v(this,"helperObject3D");v(this,"originObject3D");v(this,"camera");v(this,"model");v(this,"scene");v(this,"container");v(this,"domEvents");v(this,"isDragging",!1);v(this,"onRender");v(this,"enabled",!1);v(this,"onWantsTapGesture",t=>{if(this.getIntersectObject(t))return!1});this.camera=t,this.model=e,this.originObject3D=i,this.helperObject3D=s,this.container=o,this.scene=r,this.domEvents=new Ie(t,o),this.onRender=l!=null?l:()=>{},this.initialHelperPosition(),this.initialHelperQuaternion(),this.enable()}initialHelperPosition(){this.helperObject3D.updatePosition()}initialHelperQuaternion(){this.helperObject3D.updateQuaternion()}enable(){this.enabled||(this.enabled=!0,this.scene.add(this.helperObject3D),this.render())}disable(){!this.enabled||(this.enabled=!1,this.scene.remove(this.helperObject3D),this.render())}show(){this.helperObject3D.show(),this.render()}hide(){this.helperObject3D.hide(),this.render()}dispose(){this.helperObject3D.dispose(),this.scene.remove(this.helperObject3D),this.render()}setOpacity(t){this.setOriginOpacityProperty();const e=this.originObject3D;if(e instanceof M.Mesh&&(e.material.opacity=t),e.isCSS3DObjectPlus){const i=e;i.container.style.opacity=t.toString()}this.render()}restoreOpacity(){if(sn===null)return;const t=this.originObject3D;if(t instanceof M.Mesh&&(t.material.opacity=sn.opacity),t.isCSS3DObjectPlus){const e=t;e.container.style.opacity=sn.opacity.toString()}this.render()}setOriginOpacityProperty(){var t,e;if(sn===null){const i=this.originObject3D;i instanceof M.Mesh&&(sn={opacity:i.material.opacity}),i instanceof Wl&&(sn={opacity:(t=i.container.style.opacity)!=null?t:1}),i.isCSS3DObjectPlus&&(sn={opacity:Number((e=i.container.style.opacity)!=null?e:1)})}}updateHelperPosition(){this.helperObject3D.updatePosition()}updateHelperQuaternion(){this.helperObject3D.updateQuaternion()}applyHelperMatrix4(t){this.helperObject3D.applyMatrix4(t)}applyHelperQuaternion(t,e){this.helperObject3D.applyHelperQuaternion(t,e)}applyHelperScaleMatrix4(t,e){this.helperObject3D.applyHelperScaleMatrix4(t,e)}onWantsGesture(t,e,i){if(this.isDragging)return!1}render(){this.onRender()}hoverListener(t,e=16777215,i=1){const s=(Array.isArray(t)?t:[t]).filter(Zi),o=[];for(const r of s)if(r instanceof M.Mesh||r instanceof M.Group){const l=r instanceof M.Group?r.children.filter(f=>f instanceof M.Mesh):[r];l.forEach(f=>{f.__originalColor__=f.material.color.clone(),f.__originalOpacity__=f.material.opacity});const a=()=>{l.forEach(f=>{f.material.color.set(e),f.material.opacity=i}),this.render()},c=()=>{l.forEach(f=>{f.material.color.copy(f.__originalColor__),f.material.opacity=f.__originalOpacity__}),this.render()},u=()=>{this.isDragging||a()},d=()=>{this.isDragging||c()};for(const f of l)this.domEvents.addEventListener(f,"mouseover",u),this.domEvents.addEventListener(f,"mouseout",d),this.hooks.on("moveStart",a),this.hooks.on("moveEnd",c),this.hooks.on("rotateEnd",c),o.push(()=>{this.domEvents.removeEventListener(f,"mouseover",u),this.domEvents.removeEventListener(f,"mouseout",d),this.hooks.off("moveStart",a),this.hooks.off("moveEnd",c),this.hooks.off("rotateEnd",c)})}return()=>o.forEach(r=>r==null?void 0:r())}getIntersectObject(t){const e=this.camera.position,i=this.helperObject3D;if(!i)return;let s;const o=t.intersectObject(i,!0)[0];if(!!o&&(s=o,s.object=i,!!s)){if(this.model.intersectRaycaster){const r=this.model.intersectRaycaster(t)[0];if(r&&r.point.distanceTo(e)<s.point.distanceTo(e))return}return s.object}}}class zy extends Wo{constructor(...e){super(...e);v(this,"startInfo");const i=this.helperObject3D;this.hoverListener([i.xArrow,i.yArrow,i.zArrow]);const s=this.dragStart.bind(this),o=this.dragging.bind(this),r=this.dragEnd.bind(this);this.domEvents.addEventListener(this.helperObject3D,"mousedown",s),document.addEventListener("mousemove",o),document.addEventListener("mouseup",r)}dragStart(e){if(this.isDragging)return;const i=e==null?void 0:e.intersect;if(!i)return this.dragEnd();const s=(i==null?void 0:i.object).direction;if(!s)return this.dragEnd();const o=new M.Vector3(1,0,0).applyQuaternion(this.helperObject3D.quaternion),r=new M.Vector3(0,1,0).applyQuaternion(this.helperObject3D.quaternion),l=new M.Vector3(0,0,1).applyQuaternion(this.helperObject3D.quaternion),a=(()=>{switch(s){case"x":return o;case"y":return r;case"z":return l}})(),c=(()=>{switch(s){case"x":case"y":return l;case"z":return o}})(),u=i.point.clone(),d=new M.Plane;d.setFromNormalAndCoplanarPoint(c,u),this.startInfo={startVectorProject:u.clone().projectOnVector(a),directionVector:a,plane:d},this.helperObject3D.showDraggingHelper([s]),this.hooks.emit("moveStart"),this.isDragging=!0,console.log("%c MoveController dragStart","color: #e5af2e")}dragging(e){if(!this.isDragging||!this.startInfo)return;const i=Qo(this.camera,e,this.container);return i?(console.log("%c RotateController dragging","color: #49de1b"),this.move(i),!1):this.dragEnd()}move(e){if(!this.startInfo)return this.dragEnd();const{plane:i,directionVector:s,startVectorProject:o}=this.startInfo,r=this.originObject3D,l=e.ray.intersectPlane(i,new M.Vector3);if(!l)return;const a=l.clone().projectOnVector(s),c=a.clone().sub(o),u=new M.Matrix4;u.setPosition(c),r.applyMatrix4(u),this.helperObject3D.applyMatrix4(u),o.copy(a),this.hooks.emit("positionUpdate",{matrix4:u})}dragEnd(){!this.isDragging||(console.log("%c MoveController dragEnd","color: #e94e4e"),this.startInfo=void 0,this.isDragging=!1,this.helperObject3D.show(),this.hooks.emit("moveEnd"))}}class Ys{constructor(t,e,i,s){v(this,"helperController");v(this,"five");v(this,"onFiveWantsTapGesture",t=>{if(!this.helperController)return;const e=this.helperController.onWantsTapGesture(t);return this.five.needsRender=!0,e});v(this,"onFiveWantsGesture",(...t)=>{if(!this.helperController)return;const e=this.helperController.onWantsGesture(...t);return this.five.needsRender=!0,e});const{camera:o,model:r,scene:l}=t,a=t.getElement();if(this.five=t,!o||!r||!a||!l)return;const c=()=>{t.needsRender=!0};this.helperController=new e(o,r,i,s,a,l,c),t.on("wantsTapGesture",this.onFiveWantsTapGesture),t.on("wantsGesture",this.onFiveWantsGesture)}}const Oy="v1.0.1",jy="Object3DHelper",Xo=`${jy}@${Oy}`,By=()=>{console.error(`${Xo} is disposed`)},Ry=()=>{console.warn(`${Xo} is disabled`)},Hy=()=>{console.error(`${Xo} is disabled`)};class Fy{constructor(t,e){v(this,"controllers",{});v(this,"state",{visible:!0,enabled:!0,disposed:!1});v(this,"hooks",new qn);v(this,"helpers");v(this,"eventListener",{});v(this,"handlePositionUpdate",(t,...e)=>{var o,r,l,a;const[i]=e,s=i==null?void 0:i.matrix4;s&&(t!==this.controllers.moveController&&((o=this.controllers.moveController)==null||o.applyHelperMatrix4(s)),t!==this.controllers.rotateController&&((r=this.controllers.rotateController)==null||r.applyHelperMatrix4(s)),t!==this.controllers.scaleController&&((l=this.controllers.scaleController)==null||l.applyHelperMatrix4(s)),(a=this.helpers.outlineHelper)==null||a.applyMatrix4(s))});v(this,"handleScaleUpdate",(t,...e)=>{var o,r;const[i]=e,s=i==null?void 0:i.matrix4;s&&((o=this.controllers.scaleController)==null||o.applyHelperScaleMatrix4(s,i),(r=this.helpers.outlineHelper)==null||r.scale.applyMatrix4(s))});v(this,"handleRotateUpdate",(t,...e)=>{var s,o,r,l;const[i]=e;if(i){const{quaternion:a,origin:c}=i;a&&(t!==this.controllers.moveController&&((s=this.controllers.moveController)==null||s.applyHelperQuaternion(a,c)),t!==this.controllers.rotateController&&((o=this.controllers.rotateController)==null||o.applyHelperQuaternion(a,c)),t!==this.controllers.scaleController&&((r=this.controllers.scaleController)==null||r.applyHelperQuaternion(a,c)),(l=this.helpers.outlineHelper)==null||l.applyQuaternion(a))}});t&&this.addControllers(t),this.helpers=e!=null?e:{},this.setState(this.state)}async show(t){this.setState({visible:!0},t)}async hide(t){this.setState({visible:!1},t)}enable(t){this.setState({enabled:!0},t)}disable(t){this.setState({enabled:!1},t)}dispose(){this.setState({disposed:!0})}setState(t,e){if(this.state.disposed)return By();if(!this.state.enabled&&t.enabled!==!0&&t.disposed!==!0)return Hy();const i={...this.state};this.state={...this.state,...t},t.disposed!==void 0&&t.disposed!==i.disposed&&t.disposed&&this.handleDispose(),t.visible!==void 0&&this.handleVisible(t.visible),t.enabled!==void 0&&this.handleEnable(t.enabled),this.hooks.emit("stateChange",{state:this.state,prevState:i})}addControllers(t){this.controllers={...this.controllers,...t},this.addEventListener(),this.setState(this.state)}addHelpers(t){this.helpers={...this.helpers,...t}}getCurrentState(){return this.state}addEventListener(){for(const t in this.controllers){if(!t)continue;const e=t;this.eventListener[e]||(this.eventListener[e]=(()=>{const i=this.controllers[e];if(!i)return;const s=()=>this.handleStart(i),o=()=>this.handleEnd(i),r=(...c)=>this.handlePositionUpdate(i,...c),l=(...c)=>this.handleRotateUpdate(i,...c),a=(...c)=>this.handleScaleUpdate(i,...c);return i.hooks.on("moveStart",s),i.hooks.on("rotateStart",s),i.hooks.on("scaleStart",s),i.hooks.on("positionUpdate",r),i.hooks.on("rotateUpdate",l),i.hooks.on("scaleUpdate",a),i.hooks.on("moveEnd",o),i.hooks.on("rotateEnd",o),i.hooks.on("scaleEnd",o),()=>{i.hooks.off("moveStart",s),i.hooks.off("rotateStart",s),i.hooks.off("scaleStart",s),i.hooks.off("positionUpdate",r),i.hooks.off("rotateUpdate",l),i.hooks.off("scaleUpdate",a),i.hooks.off("moveEnd",o),i.hooks.off("rotateEnd",o),i.hooks.off("scaleEnd",o)}})())}}handleEnd(t){t&&this.setOtherHelpersVisible(!0,t)}handleStart(t){t&&this.setOtherHelpersVisible(!1,t)}setOtherHelpersVisible(t,e){var i,s,o,r;t?((o=this.controllers.moveController)==null||o.helperObject3D.show(),(r=this.controllers.rotateController)==null||r.helperObject3D.show()):(e!==this.controllers.moveController&&((i=this.controllers.moveController)==null||i.helperObject3D.hide()),e!==this.controllers.rotateController&&((s=this.controllers.rotateController)==null||s.helperObject3D.hide()))}handleEnable(t,e=!0){t?(this.everyControllerDo(i=>{i.enable()}),this.hooks.emit("enable",{userAction:e})):(this.everyControllerDo(i=>{i.disable(),i.restoreOpacity()}),this.hooks.emit("disable",{userAction:e})),this.state.enabled=t}handleVisible(t,e=!0){t?(this.everyControllerDo(i=>{i.show()}),this.actionIfStateIsEnabled(()=>this.hooks.emit("show",{userAction:e}))):(this.everyControllerDo(i=>{i.hide(),i.restoreOpacity()}),this.actionIfStateIsEnabled(()=>this.hooks.emit("hide",{userAction:e}))),this.state.visible=t}everyControllerDo(t){Object.values(this.controllers).forEach(e=>{e&&t(e)})}handleDispose(){var t,e;Object.values(this.controllers).forEach(i=>{i==null||i.dispose(),i==null||i.restoreOpacity()});for(const i in this.controllers){if(!i)continue;const s=i;(e=(t=this.eventListener)[s])==null||e.call(t)}}actionIfStateIsEnabled(t,e){if(this.state.enabled)return t();e!=null&&e.warnLog&&Ry()}}class Ny extends Wo{constructor(...e){super(...e);v(this,"startInfo");v(this,"lastRotation");v(this,"rotations",[]);v(this,"helperObject3DQuaternion",this.originObject3D.quaternion.clone());const i=this.helperObject3D;this.hoverListener([i.xyCircle,i.xzCircle,i.yzCircle]);const s=this.dragStart.bind(this),o=this.dragging.bind(this),r=this.dragEnd.bind(this);this.domEvents.addEventListener(this.helperObject3D,"mousedown",s),document.addEventListener("mousemove",o),document.addEventListener("mouseup",r)}initialHelperQuaternion(){this.helperObject3D.updateAngleHelperQuaternion(),this.helperObject3D.applyHelperQuaternion(this.originObject3D.quaternion)}dragStart(e){if(this.isDragging)return;const i=e==null?void 0:e.intersect;if(!i)return this.dragEnd();const s=(i==null?void 0:i.object).direction;if(!s)return this.dragEnd();this.helperObject3D.updateAngleHelperQuaternion();const o=i.point,r=this.originObject3D.position.clone(),l=this.getAngleHelper(s);this.setTipsAngle(0);const a=o.clone();a.y+=.2,this.setTipsPosition(a);const c=new M.Vector3(1,0,0).applyQuaternion(this.helperObject3DQuaternion),u=new M.Vector3(0,1,0).applyQuaternion(this.helperObject3DQuaternion),d=new M.Vector3(0,0,1).applyQuaternion(this.helperObject3DQuaternion),f=(()=>{switch(s){case"x":return c;case"y":return u;case"z":return d}})(),h=new M.Plane().setFromNormalAndCoplanarPoint(f,o),p=new M.Vector3;h.projectPoint(o.clone(),p);const m=p.clone().sub(r),g=m.clone(),b=m.angleTo(l.baseAxes);this.setAngleHelperStart(s,b),this.setAngleHelperLength(s,0),this.rotations.push({vector:m.clone(),direction:!0}),this.startInfo={direction:s,startVector:m,staticStartVector:g,plane:h,angleHelper:l},this.helperObject3D.showDraggingHelper([s]),this.hooks.emit("rotateStart"),this.isDragging=!0,console.log(`%c RotateController dragStart ${s}`,"color: #e5af2e")}dragging(e){var s;if(!this.isDragging)return;const i=Qo(this.camera,e,this.container);return i?(console.log(`%c RotateController dragging ${(s=this.startInfo)==null?void 0:s.direction}`,"color: #49de1b"),this.rotate(i),!1):this.dragEnd()}rotate(e){if(!this.startInfo)return this.dragEnd();const{startVector:i,plane:s,angleHelper:o,staticStartVector:r,direction:l}=this.startInfo,a=this.originObject3D,c=e.ray.intersectPlane(s,new M.Vector3);if(!c)return;const u=a.position.clone(),d=new M.Vector3;s.projectPoint(c.clone(),d);const f=d.clone().sub(u);if(i.angleTo(f)===0||(this.lastRotation===void 0&&(this.lastRotation={angle:0}),this.rotations.length===0))return;const h=(()=>{if(this.rotations.length===1)return f.angleTo(o.baseAxes)>r.angleTo(o.baseAxes);{const m=this.rotations[this.rotations.length-1],g=this.rotations[this.rotations.length-2],b=f.angleTo(g.vector),A=f.angleTo(m.vector),y=m.vector.angleTo(g.vector);if(y===0||A===0||b===0)return;if(b>A&&b>y)return m.direction;if(b<y&&A<y||b<A&&A>y)return!m.direction}})();if(h===void 0)return console.warn("rotationDirection is undefined");this.rotations.push({vector:f,direction:h}),this.rotations=this.rotations.slice(-2),this.lastRotation.angle=this.lastRotation.angle+f.angleTo(i)*(h?1:-1),this.setAngleHelperLength(l,this.lastRotation.angle),this.setTipsAngle(this.lastRotation.angle/Math.PI*180);const p=new M.Quaternion().setFromUnitVectors(i.clone().normalize(),f.clone().normalize());a.applyQuaternion(p),this.helperObject3D.applyHelperQuaternion(p),this.helperObject3DQuaternion.premultiply(p),this.hooks.emit("rotateUpdate",{quaternion:p,origin:u}),this.startInfo.startVector=f}dragEnd(){!this.isDragging||(console.log("%c RotateController dragEnd","color: #e94e4e"),this.startInfo=void 0,this.isDragging=!1,this.lastRotation=void 0,this.rotations=[],this.helperObject3D.show(),this.hooks.emit("rotateEnd"))}getAngleHelper(e){switch(e){case"x":return this.helperObject3D.xAngleHelper;case"y":return this.helperObject3D.yAngleHelper;case"z":return this.helperObject3D.zAngleHelper}}setAngleHelperStart(e,i){const s=this.getAngleHelper(e);if(s instanceof M.Mesh&&s.geometry instanceof M.CircleGeometry){const{radius:o,segments:r,thetaLength:l}=s.geometry.parameters;s.geometry=new M.CircleGeometry(o,r,i,l)}else console.warn("only support THREE.CircleGeometry")}setAngleHelperLength(e,i){const o=i>=0?Math.max(i,.001):Math.min(i,-.001),r=this.getAngleHelper(e);if(r instanceof M.Mesh&&r.geometry instanceof M.CircleGeometry){const{radius:l,thetaStart:a}=r.geometry.parameters,c=Math.ceil(Math.abs(o)*(40/(2*Math.PI)));r.geometry=new M.CircleGeometry(l,c,a,o)}else console.warn("only support THREE.CircleGeometry")}setTipsAngle(e){var s;const i=(s=this.helperObject3D.angleTips)==null?void 0:s.element;!i||(i.innerText=`${e.toFixed(0)}\xB0`)}setTipsPosition(e){const i=this.helperObject3D.angleTips;if(!i)return;const s=e.project(this.camera),{x:o,y:r,z:l}=s;if(l>1)return;const a=(o+1)/2*100+"%",c=(-r+1)/2*100+"%";i.setLeftTop(a,c)}}class Gy extends Wo{constructor(...e){super(...e);v(this,"startInfo")}enable(){this.helperObject3D.enable(),super.enable()}disable(){this.helperObject3D.disable(),super.disable()}show(){this.helperObject3D.show(),super.show()}hide(){this.helperObject3D.hide(),super.hide()}getDragPlane(){const e=new M.Plane,i=this.helperObject3D.cornerPositions;if(i.length!==0)return i.length<3?e.setFromNormalAndCoplanarPoint(this.originObject3D.getWorldDirection(new X.Vector3),i[0]):e.setFromCoplanarPoints(i[0],i[1],i[2]),e}dragStart(e,i){var o,r;(r=(o=this.helperObject3D).updatePoints)==null||r.call(o);const s=this.getDragPlane();if(!s)return this.dragEnd();this.startInfo={startPoint:{position:i.position.clone(),direction:i.direction},plane:s},this.hooks.emit("scaleStart"),this.render(),this.isDragging=!0,console.log("%c RectangleScaleController dragStart","color: #e5af2e")}dragging(e){if(!this.isDragging)return;const i=Qo(this.camera,e,this.container);if(!i)return this.dragEnd();this.scale(i),console.log("%c RectangleScaleController dragging","color: #49de1b")}scale(e){var B,z;if(!this.startInfo)return;const i=this.originObject3D,{startPoint:s,plane:o}=this.startInfo,r=this.helperObject3D.cornerPositions;if(r.length<4)return this.dragEnd();const l=e.ray.intersectPlane(o,new X.Vector3);if(!l||xy(l,this.camera.position))return;const a=new X.Vector3().addVectors(r[0],r[2]).divideScalar(2),{position:c,direction:u}=s,d=new X.Vector3().subVectors(r[1],r[0]),f=new X.Vector3().subVectors(r[3],r[0]),h=j=>{const Y=new X.Vector3(0,0,0);if(!this.startInfo)return Y;const x=(j==="ew"?d:f).clone(),O=c.clone().projectOnVector(x),Q=l.clone().projectOnVector(x),V=a.clone().projectOnVector(x);if(Q.equals(O))return Y;if(j==="ns"&&typeof this.startInfo.dragPointInCenterBottom!="boolean"){const J=new X.Vector3().subVectors(Q,V),q=J.x<0&&x.x>=0,he=J.y<0&&x.y>=0,le=J.z<0&&x.z>=0;this.startInfo.dragPointInCenterBottom=q||he||le}if(j==="ew"&&typeof this.startInfo.dragPointInCenterLeft!="boolean"){const J=new X.Vector3().subVectors(Q,V),q=J.x<0&&x.x>=0,he=J.y<0&&x.y>=0,le=J.z<0&&x.z>=0;this.startInfo.dragPointInCenterLeft=q||he||le}const U=new X.Vector3().subVectors(Q,O),$=U.length();return $>.3?(console.warn("offset.length() > 0.3, skipped",$),Y):U},p=h("ew"),m=h("ns"),g=()=>{const j=p;this.helperObject3D.cornerPositions.forEach((Y,x)=>{var O;(O=this.startInfo)!=null&&O.dragPointInCenterLeft?(x===0||x===3)&&Y.add(j):(x===1||x===2)&&Y.add(j)})},b=()=>{const j=m;this.helperObject3D.cornerPositions.forEach((Y,x)=>{var O;(O=this.startInfo)!=null&&O.dragPointInCenterBottom?(x===0||x===1)&&Y.add(j):(x===2||x===3)&&Y.add(j)})};switch(u){case"ew":g();break;case"ns":b();break;case"nesw":case"nwse":g(),b()}const A=new X.Vector3().subVectors(r[1],r[0]).length()/d.length(),y=new X.Vector3().subVectors(r[3],r[0]).length()/f.length(),I=new X.Vector3(A,y,1),k=new M.Matrix4().scale(I);i.isCSS3DObjectPlus?i.applyScaleMatrix4(k):i.scale.applyMatrix4(k),s.position.copy(l);const E=new X.Vector3().addVectors(r[0],r[2]).divideScalar(2),D=new X.Vector3().subVectors(E,a),T=new M.Matrix4().setPosition(D);i.applyMatrix4(T),(B=this.helperObject3D.css3DInstance)==null||B.css3DObject.applyMatrix4(T),(z=this.helperObject3D.plane)==null||z.applyMatrix4(T),this.hooks.emit("scaleUpdate",{matrix4:k,helperOrigin:a}),this.hooks.emit("positionUpdate",{matrix4:T}),this.render()}dragEnd(){!this.isDragging||(this.startInfo=void 0,this.isDragging=!1,this.hooks.emit("scaleEnd"),this.render(),console.log("%c RectangleScaleController dragEnd","color: #e94e4e"))}}class _y extends Gy{constructor(...t){super(...t),this.addHTMLEventListener()}addHTMLEventListener(){this.helperObject3D.points.forEach(t=>{if(!t)return;const e=t.point,i=r=>this.dragStart(r,t),s=this.dragging.bind(this),o=this.dragEnd.bind(this);e.addEventListener("dragstart",i),e.addEventListener("drag",s),e.addEventListener("dragend",o)})}}const Vo="v1.0.0",uo="Object3DHelperPlugin",ps=`${uo}@${Vo}`,Qy=()=>{console.error(`${ps} is disposed`)},Wy=()=>{console.warn(`${ps} is disabled`)},Xy=()=>{console.error(`${ps} is disabled`)};class Eu extends os{constructor(e){super(e);v(this,"version",Vo);v(this,"name",uo);v(this,"state",{visible:!0,enabled:!0,disposed:!1});v(this,"objectHelperMap",new Map);this.five=e,console.warn("Object3DHelper: \u4F7F\u7528\u6B64\u63D2\u4EF6\u9700\u8981\u5728\u521D\u59CB\u5316five\u65F6\uFF0C\u8BBE\u7F6Efive\u53C2\u6570: { backgroundAlpha: 0, backgroundColor: 0x000000 }"),Object.assign(window,{[`__${uo.toUpperCase()}_DEBUG__`]:this})}async show(e){this.setState({visible:!0},e)}async hide(e){this.setState({visible:!1},e)}enable(e){this.setState({enabled:!0},e)}disable(e){this.setState({enabled:!1},e)}dispose(){this.setState({disposed:!0})}setState(e,i){if(this.state.disposed)return Qy();if(!this.state.enabled&&e.enabled!==!0&&e.disposed!==!0)return Xy();const s={...this.state};this.state={...this.state,...e},e.disposed!==void 0&&e.disposed!==s.disposed&&e.disposed&&this.handleDispose(),e.visible!==void 0&&e.visible!==s.visible&&this.handleVisible(e.visible),e.enabled!==void 0&&e.enabled!==s.enabled&&this.handleEnable(e.enabled),this.hooks.emit("stateChange",{state:this.state,prevState:s})}getObject3DHelper(e){return this.objectHelperMap.get(e)}addObject3DHelper(e,i={}){var u;if(!e)return console.error("Object3D is undefined");if(this.objectHelperMap.has(e)){console.warn(`Object3DHelperPlugin: object3D ${e.name} is already has helper`);return}const s=new Fy;this.objectHelperMap.set(e,s);const o=(u=this.five.getElement())==null?void 0:u.parentElement,r=this.five.camera,{moveHelper:l=!0,rotateHelper:a=!0,scaleHelper:c=!0}=i;if(l){const d=new Ty(e),f=new Ys(this.five,zy,e,d);s.addControllers({moveController:f.helperController})}if(a){let d;o&&r&&(d={container:o});const f=new Dy(e,d),h=new Ys(this.five,Ny,e,f);s.addControllers({rotateController:h.helperController})}if(c&&o){const d=new My(e,o,r,this.five.scene),f=new Ys(this.five,_y,e,d);s.addControllers({scaleController:f.helperController})}e.isCSS3DObjectPlus&&e.changeMode("behind",this.five.scene)}removeObject3DHelper(e){const i=this.objectHelperMap.get(e);!i||(e.isCSS3DObjectPlus&&e.changeMode("front"),this.objectHelperMap.delete(e),i.dispose())}handleEnable(e,i=!0){e?(this.everyHelperDo(s=>s.enable()),this.hooks.emit("enable",{userAction:i})):(this.everyHelperDo(s=>s.disable()),this.hooks.emit("disable",{userAction:i})),this.state.enabled=e}handleVisible(e,i=!0){e?(this.everyHelperDo(s=>s.show()),this.actionIfStateIsEnabled(()=>this.hooks.emit("show",{userAction:i}))):(this.everyHelperDo(s=>s.hide()),this.actionIfStateIsEnabled(()=>this.hooks.emit("hide",{userAction:i}))),this.state.visible=e}handleDispose(){this.everyHelperDo(e=>e.dispose())}everyHelperDo(e){this.objectHelperMap.forEach(i=>{i&&e(i)})}actionIfStateIsEnabled(e,i){if(this.state.enabled)return e();i!=null&&i.warnLog&&Wy()}}const Vy=n=>new Eu(n);exports.CSS3DRenderPlugin=Kn;exports.CameraMovementEffect=Ac;exports.CameraMovementPlugin=Ap;exports.ContentType=ut;exports.CruisePlugin=A0;exports.CruisePluginController=Do;exports.DIRECTION=xn;exports.DISPLAY_STRATEGY_TYPE=dn;exports.DimensionType=ht;exports.FLOOR_PLAN_ATTACHED_TO=Jt;exports.FLOOR_TYPE_MAP=lp;exports.GuideLinePlugin=Nc;exports.ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE=fn;exports.ItemLabelPlugin=Lg;exports.LinkType=qi;exports.Magnifier=Cc;exports.MapviewFloorplanPlugin=Nh;exports.ModelChassisCompassPlugin=dp;exports.ModelEntryDoorGuidePlugin=pp;exports.ModelFloorplanPlugin=Bh;exports.ModelItemLabelPlugin=dg;exports.ModelRoomLabelPlugin=Yd;exports.ModelTVVideoPlugin=pg;exports.ModelViewPlugin=dd;exports.Object3DHelperController=Eu;exports.Object3DHelperPlugin=Vy;exports.PLUGIN=ps;exports.PaintBrush=ud;exports.PaintBrushTypeEnum=Bt;exports.PanoCompassPlugin=_p;exports.PanoCursorRaycasterPlugin=wd;exports.PanoDoorLabelPlugin=Wg;exports.PanoFloorplanRadarPlugin=rp;exports.PanoMeasurePlugin=Fm;exports.PanoRulerPlugin=Cp;exports.PanoRulerProPlugin=jp;exports.PanoSpatialTagPlugin=eg;exports.PanoTagPlugin=Ay;exports.PanoTagPluginController=Pu;exports.PointType=at;exports.ROOM_FETILE_TYPE_MAP=ap;exports.ROOM_TYPE_MAP=cp;exports.Rotation=yt;exports.TopviewFloorplanPlugin=_h;exports.VERSION=Vo;exports.itemLabelPluginServerParams=Mg;exports.modelItemLabelPluginServerParams=fg;exports.modelRoomLabelPluginServerParams=Ud;exports.pluginFlag=by;