@arcgis/core 5.0.0-next.33 → 5.0.0-next.34

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 (153) hide show
  1. package/assets/esri/core/workers/RemoteClient.js +1 -1
  2. package/assets/esri/core/workers/chunks/{9252854b512237b6a0ef.js → 0446562aee0639c61485.js} +1 -1
  3. package/assets/esri/core/workers/chunks/{b56c07c0b43cb1999070.js → 1fa55d4c4b092a98bdd7.js} +1 -1
  4. package/assets/esri/core/workers/chunks/{e7f4d135ef9665de1468.js → 33431e8131f6017de2f9.js} +1 -1
  5. package/assets/esri/core/workers/chunks/{096e5f94eaa226814569.js → 4356274cfa477eb6d749.js} +1 -1
  6. package/assets/esri/core/workers/chunks/{866a608d489bf56bc371.js → 486e69261aa2caf9ec3c.js} +1 -1
  7. package/assets/esri/core/workers/chunks/{3c1e50c3505e5e7c946a.js → 4d5591c1b4ef37075921.js} +1 -1
  8. package/assets/esri/core/workers/chunks/{d21ae4980741be98f948.js → 59889855d23baec1adf9.js} +1 -1
  9. package/assets/esri/core/workers/chunks/5f9e64f00329cb646f0c.js +1 -0
  10. package/assets/esri/core/workers/chunks/{c2596f48b37092dd566c.js → 61cb30e2e8edd18ebbf0.js} +1 -1
  11. package/assets/esri/core/workers/chunks/{d786b17cc9062b1450ac.js → 726a797f5df7eeee0b3d.js} +1 -1
  12. package/assets/esri/core/workers/chunks/{a2cee5ac0d4df0108425.js → 82cc758bddd9f8397b9f.js} +1 -1
  13. package/assets/esri/core/workers/chunks/{433d249c35c56bf15806.js → 97650ee3d0eecb69ccbb.js} +3 -3
  14. package/assets/esri/core/workers/chunks/{add17e95f47e6904bf6d.js → a59dab47a58695c639da.js} +1 -1
  15. package/assets/esri/core/workers/chunks/{f441fc74451330384fb0.js → abb05a903440d97a6a74.js} +1 -1
  16. package/assets/esri/core/workers/chunks/{5baef729beef0199c3d9.js → b536fdb655ad293d9024.js} +1 -1
  17. package/assets/esri/core/workers/chunks/{1d4ea8db272655c0608c.js → c7c721de93bc8688e13c.js} +1 -1
  18. package/assets/esri/core/workers/chunks/{446f76356fc116204ec3.js → c8d2cce4a426c72ab173.js} +1 -1
  19. package/assets/esri/core/workers/chunks/{14feb12826e0c8ba7fb8.js → d14bd320f72d8e8a0ad8.js} +1 -1
  20. package/assets/esri/core/workers/chunks/{4b6a44c6265c8959abd8.js → d3db7244fac7398cc700.js} +1 -1
  21. package/assets/esri/core/workers/chunks/{7aa730e5ac7b268e3c98.js → dd34d56caafa38d4b8e4.js} +1 -1
  22. package/assets/esri/core/workers/chunks/{2a17991923abc64c84c6.js → f55328aabf84770c8e6a.js} +1 -1
  23. package/assets/esri/core/workers/chunks/{e32fc0b2c6530d28ce85.js → fa01d1813fa78034526e.js} +1 -1
  24. package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
  25. package/chunks/ComponentShader.glsl.js +19 -21
  26. package/chunks/Laserlines.glsl.js +1 -1
  27. package/chunks/Terrain.glsl.js +9 -11
  28. package/chunks/boundedPlane.js +1 -1
  29. package/chunks/cameraUtilsSpherical.js +1 -1
  30. package/chunks/lyr3DMain.js +1 -1
  31. package/chunks/vec32.js +1 -1
  32. package/config.js +1 -1
  33. package/core/deprecate.js +1 -1
  34. package/core/has.js +1 -1
  35. package/core/libs/gl-matrix-2/math/quat.js +1 -1
  36. package/core/libs/gl-matrix-2/math/vec3.js +1 -1
  37. package/geometry/operators/integrateOperator.js +1 -1
  38. package/geometry/support/lineSegment.js +1 -1
  39. package/geometry/support/meshUtils/merge.js +1 -1
  40. package/geometry/support/sphere.js +1 -1
  41. package/interfaces.d.ts +45 -25
  42. package/intl/locale.js +1 -1
  43. package/kernel.js +1 -1
  44. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  45. package/layers/VoxelWasmPerSceneView.js +1 -1
  46. package/layers/orientedImagery/transformations/worldToImage.js +1 -1
  47. package/layers/support/layerOriginUtils.js +1 -1
  48. package/layers/voxel/VoxelVolume.js +1 -1
  49. package/package.json +3 -3
  50. package/request/config.js +1 -1
  51. package/request/process.js +1 -1
  52. package/support/revision.js +1 -1
  53. package/views/3d/analysis/AreaMeasurement/support/MeasurementData.js +1 -1
  54. package/views/3d/analysis/Dimension/lengthDimensionConstraintUtils.js +1 -1
  55. package/views/3d/analysis/Dimension/lengthDimensionUtils.js +1 -1
  56. package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
  57. package/views/3d/analysis/LineOfSight/LineOfSightIntersectionResult.js +1 -1
  58. package/views/3d/analysis/Slice/sliceToolUtils.js +1 -1
  59. package/views/3d/analysis/Viewshed/ViewshedScaleOrientManipulation.js +1 -1
  60. package/views/3d/analysis/Viewshed/ViewshedSubTool.js +1 -1
  61. package/views/3d/analysis/Viewshed/ViewshedSubVisualization.js +1 -1
  62. package/views/3d/analysis/Viewshed/ViewshedTool.js +1 -1
  63. package/views/3d/animation/pointToPoint/Camera.js +1 -1
  64. package/views/3d/camera/constraintUtils/distance.js +1 -1
  65. package/views/3d/camera/constraintUtils/tilt.js +1 -1
  66. package/views/3d/environment/ChapmanAtmosphere.js +1 -1
  67. package/views/3d/environment/CloudsParameters.js +1 -1
  68. package/views/3d/environment/EnvironmentManager.js +1 -1
  69. package/views/3d/environment/MarsAtmosphere.js +1 -1
  70. package/views/3d/interactive/editingTools/manipulations/MoveZManipulation.js +1 -1
  71. package/views/3d/interactive/editingTools/media/MediaElementManipulator3D.js +1 -1
  72. package/views/3d/interactive/editingTools/reshape/edgeOffsetUtils.js +1 -1
  73. package/views/3d/interactive/visualElements/MeasurementArrowVisualElement.js +1 -1
  74. package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
  75. package/views/3d/layers/I3SMeshView3D.js +1 -1
  76. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  77. package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
  78. package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
  79. package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
  80. package/views/3d/layers/support/FeatureTileMeasurements3D.js +1 -1
  81. package/views/3d/layers/support/FeatureTileVisibility3D.js +1 -1
  82. package/views/3d/state/Frustum.js +1 -1
  83. package/views/3d/state/controllers/FovController.js +1 -1
  84. package/views/3d/state/controllers/GamepadKeyboardController.js +1 -1
  85. package/views/3d/state/controllers/momentum/ZoomPlanarMomentumController.js +1 -1
  86. package/views/3d/state/helpers/SceneIntersectionHelper.js +1 -1
  87. package/views/3d/support/FrustumExtentIntersection.js +1 -1
  88. package/views/3d/support/cameraUtils.js +1 -1
  89. package/views/3d/support/intersectionUtils.js +1 -1
  90. package/views/3d/support/pointsOfInterest/CameraOnSurface.js +1 -1
  91. package/views/3d/support/pointsOfInterest/CenterOnSurface.js +1 -1
  92. package/views/3d/support/pointsOfInterest/Focus.js +1 -1
  93. package/views/3d/support/viewpointUtils.js +1 -1
  94. package/views/3d/terrain/OverlayManager.js +1 -1
  95. package/views/3d/terrain/PatchRenderData.js +1 -1
  96. package/views/3d/terrain/SphericalPatch.js +1 -1
  97. package/views/3d/terrain/Tile.js +1 -1
  98. package/views/3d/webgl/RenderCamera.js +1 -1
  99. package/views/3d/webgl-engine/collections/Component/Material/{shader/ComponentData.glsl.js → ComponentData.glsl.js} +2 -2
  100. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  101. package/views/3d/webgl-engine/collections/Component/Material/ComponentShader.glsl.js +5 -0
  102. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
  103. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
  104. package/views/3d/webgl-engine/collections/Component/Material/{shader/DecodeSymbolColor.glsl.js → DecodeSymbolColor.glsl.js} +1 -1
  105. package/views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js +1 -1
  106. package/views/3d/webgl-engine/effects/haze/Haze.js +1 -1
  107. package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
  108. package/views/3d/webgl-engine/lib/Object3D.js +1 -1
  109. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  110. package/views/3d/webgl-engine/lib/Viewshed.js +1 -1
  111. package/views/3d/webgl-engine/lib/edgeRendering/bufferLayouts.js +1 -1
  112. package/views/3d/webgl-engine/lib/edgeRendering/edgePreprocessing.js +1 -1
  113. package/views/3d/webgl-engine/lib/geometryDataUtils.js +1 -1
  114. package/views/3d/webgl-engine/lib/triangleIntersectionUtils.js +1 -1
  115. package/views/3d/webgl-engine/materials/DefaultLayouts.js +1 -1
  116. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  117. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  118. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  119. package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
  120. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  121. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  122. package/views/3d/webgl-engine/shaders/SphereDepthInterpolate.glsl.js +1 -1
  123. package/views/SelectionManager.js +1 -1
  124. package/views/interactive/GraphicManipulator.js +1 -1
  125. package/views/interactive/SegmentLabels.js +1 -1
  126. package/views/interactive/coordinateHelper.js +1 -1
  127. package/views/interactive/editGeometry/operations/OffsetEdgeVertex.js +1 -1
  128. package/views/interactive/sketch/constraints.js +1 -1
  129. package/views/interactive/snapping/featureSources/sceneLayerSource/SceneLayerSnappingSourceWorker.js +1 -1
  130. package/views/interactive/snapping/featureSources/sceneLayerSource/sceneLayerSnappingUtils.js +1 -1
  131. package/views/interactive/snapping/hints/LineSnappingHint.js +1 -1
  132. package/views/interactive/tooltip/tooltipCommonUtils.js +1 -1
  133. package/views/navigation/PanSphericalMomentumEstimator.js +1 -1
  134. package/views/support/euclideanAreaMeasurementUtils.js +1 -1
  135. package/views/support/euclideanLengthMeasurementUtils.js +1 -1
  136. package/views/support/geometry3dUtils.js +1 -1
  137. package/views/support/selectionUtils.js +1 -1
  138. package/widgets/Attachments/AttachmentsViewModel.js +1 -1
  139. package/widgets/BuildingExplorer/BuildingExplorerViewModel.js +1 -1
  140. package/widgets/BuildingExplorer/BuildingNumericFilterViewModel.js +1 -1
  141. package/widgets/BuildingExplorer.js +1 -1
  142. package/widgets/Editor/EditorViewModel.js +1 -1
  143. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  144. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  145. package/widgets/ShadowCast/DiscreteOptions.js +1 -1
  146. package/widgets/ShadowCast/DurationOptions.js +1 -1
  147. package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
  148. package/widgets/ShadowCast/ThresholdOptions.js +1 -1
  149. package/widgets/ShadowCast.js +1 -1
  150. package/widgets/support/SelectionList/SelectionListViewModel.js +1 -1
  151. package/assets/esri/core/workers/chunks/f3127bdf28a1d9b8db27.js +0 -1
  152. package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentShader.glsl.js +0 -5
  153. /package/views/3d/webgl-engine/collections/Component/Material/{shader/ComponentDataConstants.js → ComponentDataConstants.js} +0 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[2741],{926:(e,t,r)=>{r.d(t,{CG:()=>a,Dd:()=>i,Jn:()=>l,Qc:()=>u});var s=r(92602),n=r(84952);const o=new Set(["elevation3d.arcgis.com","js.arcgis.com","jsdev.arcgis.com","jsqa.arcgis.com","static.arcgis.com"]);function a(e){if(!u(e))return null;const t=t=>t instanceof RegExp?t.test(e):"string"==typeof t&&e.startsWith(t),r=s.A.apiKeys;if(Array.isArray(r.scopes))for(const e of r.scopes)if(Array.isArray(e.urls)){if(e.urls.some(t))return e.token}else if(t(e.urls))return e.token;return r.basemapStyles&&/^https?:\/\/(i?basemaps|basemapstyles)-api\.arcgis\.com\//i.test(e)?r.basemapStyles:s.A.apiKey&&/^https?:\/\/.+\.arcgis\.com(\/|$)/i.test(e)?s.A.apiKey:null}function i(){return null!=s.A.apiKey||null!=s.A.apiKeys.basemapStyles}function l(e,t){return t?u(e):null!=a(e)}function u(e){const t=(0,n.$z)(e,!0);return!!t&&!o.has(t)&&!e.endsWith("/sharing/rest/generateToken")}},2741:(e,t,r)=>{r.d(t,{s:()=>i});var s=r(92602),n=(r(11254),r(49186)),o=r(53966),a=r(84952);function i(e){if(!s.A.assetsPath)throw o.A.getLogger("esri.assets").errorOnce("The API assets location needs to be set using config.assetsPath. More information: https://arcg.is/1OzLe50"),new n.A("assets:path-not-set","config.assetsPath is not set");return(0,a.fj)(s.A.assetsPath,e)}},11254:(e,t,r)=>{r.d(t,{A:()=>g});var s=r(92602),n=r(49186),o=r(44208),a=r(74887),i=r(84952),l=r(56152),u=r(51699),c=r(91869),d=r(60694);async function p(e){const t=function(e){let t,r=!1;return"string"==typeof e?(t=(0,i.$z)(e,!0),r=(0,d.Wo)(e)):(t=e.origin,r=(0,d.Wo)(e.toString())),null==t?null:new y(t,r)}(e.parameters.url);if(!t)return null;const{QueueProcessor:s,SharedConcurrency:n}=await r.e(563).then(r.bind(r,563));return(0,c.tE)(f,t.origin,()=>{const e=(t.isHosted?(0,o.A)("request-queue-concurrency-hosted"):(0,o.A)("request-queue-concurrency-non-hosted"))??4;return h??=new n((0,o.A)("request-queue-concurrency-global")??50),new s({concurrency:e,sharedConcurrency:h,process:e=>{if((0,a.G4)(e.parameters.requestOptions))throw(0,u.YB)("",(0,a.NK)("Request canceled"),e.parameters);return(0,u.zc)(e)}})})}const f=new Map;let h,m;class y{constructor(e,t){this.origin=e,this.isHosted=t}}async function g(e,t){e instanceof URL&&(e=e.toString());const s=(0,i.DB)(e),n=(0,i.w8)(e);n||s||(e=(0,i.S8)(e));const c={url:e,requestOptions:{...t}};t?.query&&(c.requestOptions.query=t?.query instanceof URLSearchParams?(0,i.zf)(t.query.toString().replaceAll("+"," ")):t?.query);const d=e=>({data:e,getAllHeaders:v,getHeader:v,httpStatus:200,requestOptions:c.requestOptions,url:c.url}),f=(0,i.sC)(e,w.internalInterceptors);if(f){const e=await b(f,c);if(null!=e)return d(e)}let h=(0,i.sC)(e);if(h){const e=await b(h,c);if(null!=e)return d(e);h.after||h.error||(h=null)}if(e=c.url,"image"===(t=c.requestOptions).responseType&&((0,o.A)("host-webworker")||(0,o.A)("host-node")))throw(0,u.YB)("request:invalid-parameters",new Error("responseType 'image' is not supported in Web Workers or Node environment"),c);if("head"===t.method){if(t.body)throw(0,u.YB)("request:invalid-parameters",new Error("body parameter cannot be set when method is 'head'"),c);if(s||n)throw(0,u.YB)("request:invalid-parameters",new Error("data and blob URLs are not supported for method 'head'"),c)}if(await async function(){(0,o.A)("host-webworker")&&(!m&&globalThis.invokeStaticMessage?m=await r.e(369).then(r.bind(r,40369)):l.i.isForeignWorker=!0)}(),m)return m.execute(e,t);const y=new AbortController,g=(0,a.u7)(t,()=>y.abort()),q={controller:y,credential:void 0,credentialToken:void 0,fetchOptions:void 0,hasToken:!1,interceptor:h,parameters:c,redoRequest:!1,useIdentity:w.useIdentity,useProxy:!1,useSSL:!1,withCredentials:!1},S=t.useQueue?async function(e){const t=await p(e);return t?t.push(e):(0,u.zc)(e)}(q):(0,u.zc)(q),A=await S.finally(()=>g?.remove());return h?.after?.(A),A}const w=s.A.request,v=()=>null;async function b(e,t){if(null!=e.responseData)return e.responseData;if(e.headers&&(t.requestOptions.headers={...t.requestOptions.headers,...e.headers}),e.query&&(t.requestOptions.query={...t.requestOptions.query,...e.query}),e.before){let r,s;try{s=await e.before(t)}catch(e){r=(0,u.YB)("request:interceptor",e,t)}if((s instanceof Error||s instanceof n.A)&&(r=(0,u.YB)("request:interceptor",s,t)),r)throw e.error&&e.error(r),r;return s}}},51699:(e,t,r)=>{r.d(t,{YB:()=>E,c8:()=>$,zc:()=>A});var s=r(92602),n=r(70333),o=r(49186),a=r(44208),i=r(4718),l=r(74887),u=r(84952),c=r(39131),d=r(56152);class p{constructor(e,t){this.element=e,this.type="image+type",this.isOpaque="image/jpeg"===t}}var f=r(95117),h=r(60694);const m=new Map;function y(e,t){const r=t?.preferredHost;if(!r||(0,u.FX)(e,`https://${r}`,!0))return;const s=(0,h.qg)(e);if(!s||"FeatureServer"!==s.serverType||(0,c.$E)(e))return;const n=s.url.path.toLowerCase();m.has(n)||m.set(n,r)}function g(e){const t=(0,h.qg)(e)?.url.path.toLowerCase();if(!t)return e;const r=m.get(t);return r?(0,u.hf)(e,r):e}var w=r(926);const v="FormData"in globalThis,b=new Set([499,498,403,401]),q=new Set(["COM_0056","COM_0057","SB_0008"]),S=[/\/arcgis\/tokens/i,/\/sharing(\/rest)?\/generatetoken/i,/\/rest\/info/i];async function A(e){let t,r;await async function(e){const t=e.parameters.url,r=e.parameters.requestOptions,o=e.controller.signal,a=r.body;let i=null,u=null;if(v&&"HTMLFormElement"in globalThis&&(a instanceof FormData?i=a:a instanceof HTMLFormElement&&(i=new FormData(a))),"string"==typeof a&&(u=a),e.fetchOptions={cache:r.cacheBust?"no-cache":"default",credentials:"same-origin",headers:r.headers||{},keepalive:r.keepAlive??!1,method:"head"===r.method?"HEAD":"GET",mode:"cors",priority:r.priority??s.A.request.priority,redirect:"follow",signal:o},(i||u)&&(e.fetchOptions.body=i||u),(d.i.isForeignWorker||"anonymous"===r.authMode)&&(e.useIdentity=!1),e.hasToken=!!(/token=/i.test(t)||r.query?.token||i?.get("token")),!e.hasToken){const s=(0,w.CG)(t);s&&(r.query??={},r.query.token=s,e.hasToken=!0)}if(e.useIdentity&&!e.hasToken&&!e.credential&&!e.credentialToken&&!L(t)&&!(0,l.G4)(o)){let s;"immediate"===r.authMode?(await T(),s=await n.id.getCredential(t,{signal:o})):"no-prompt"===r.authMode?(await T(),s=await n.id.getCredential(t,{prompt:!1,signal:o}).catch(()=>{})):n.id&&(s=n.id.findCredential(t)),s&&(e.credential=s,e.credentialToken=s.token,e.useSSL=!!s.ssl)}}(e);try{do{[t,r]=await C(e)}while(!await U(e,t,r))}catch(r){const s=E("request:server",r,e.parameters,t);throw s.details.ssl=e.useSSL,e.interceptor?.error?.(s),s}const o=e.parameters.url;if(r)if(/\/sharing\/rest\/(accounts|portals)\/self/i.test(o)){if(!e.hasToken&&!e.credentialToken&&r.user?.username&&!(0,u.FL)(o)){const e=(0,u.$z)(o,!0);e&&s.A.request.trustedServers.push(e)}Array.isArray(r.authorizedCrossOriginNoCorsDomains)&&function(e){s.A.request.crossOriginNoCorsDomains||(s.A.request.crossOriginNoCorsDomains={});const t=s.A.request.crossOriginNoCorsDomains;for(let r of e)r=r.toLowerCase(),/^https?:\/\//.test(r)?t[(0,u.$z)(r)??""]=0:(t[(0,u.$z)("http://"+r)??""]=0,t[(0,u.$z)("https://"+r)??""]=0)}(r.authorizedCrossOriginNoCorsDomains)}else"json"===(e.parameters.requestOptions.responseType||"json")&&y(o,r);const a=e.credential;if(a&&n.id){const e=n.id.findServerInfo(a.server);let t=e?.owningSystemUrl;if(t){t=t.replace(/\/?$/,"/sharing");const e=n.id.findCredential(t,a.userId);e&&-1===n.id._getIdenticalSvcIdx(t,e)&&e.resources.unshift(t)}}return{data:r,getAllHeaders:t?()=>Array.from(t.headers):R,getHeader:t?e=>t.headers.get(e):R,httpStatus:t?.status??200,requestOptions:e.parameters.requestOptions,ssl:e.useSSL,url:e.parameters.url}}async function C(e){let t=e.parameters.url,r=g(t);const o=e.parameters.requestOptions,i=e.fetchOptions??{},f=(0,u.w8)(t)||(0,u.DB)(t),h=o.responseType??"json",m="image"===h&&o.imageWithType,y=f?0:null!=o.timeout?o.timeout:s.A.request.timeout;let w=!1;if(!f){e.useSSL&&(t=(0,u.lM)(t));let l={...o.query};e.credentialToken&&(l.token=e.credentialToken);let d=(0,u.x0)(l);(0,a.A)("esri-url-encodes-apostrophe")&&(d=d.replaceAll("'","%27"));const p=r.length+1+d.length;let f;w="delete"===o.method||"post"===o.method||"put"===o.method||!!o.body||p>s.A.request.maxUrlLength;const h=o.useProxy||!!(0,u.zs)(t);if(h){const e=(0,u.s_)(t);f=e.path,!w&&f.length+1+p>s.A.request.maxUrlLength&&(w=!0),e.query&&(l={...e.query,...l})}if("HEAD"===i.method&&(w||h)){if(w){if(p>s.A.request.maxUrlLength)throw E("request:invalid-parameters",new Error("URL exceeds maximum length"),e.parameters);throw E("request:invalid-parameters",new Error("cannot use POST request when method is 'head'"),e.parameters)}if(h)throw E("request:invalid-parameters",new Error("cannot use proxy when method is 'head'"),e.parameters)}if(w?(i.method="delete"===o.method?"DELETE":"put"===o.method?"PUT":"POST",o.body?t=(0,u.a6)(t,l):(i.body=(0,u.x0)(l),i.headers||(i.headers={}),i.headers["Content-Type"]="application/x-www-form-urlencoded")):t=(0,u.a6)(t,l),h&&(e.useProxy=!0,t=`${f}?${t}`),l.token&&v&&i.body instanceof FormData&&!(0,c.$E)(t)&&i.body.set("token",l.token),o.hasOwnProperty("withCredentials"))e.withCredentials=o.withCredentials;else if(!(0,u.FX)(t,(0,u.Xq)()))if((0,u.FL)(t))e.withCredentials=!0;else if(n.id){const r=n.id.findServerInfo(t);r?.webTierAuth&&(e.withCredentials=!0)}e.withCredentials&&(i.credentials="include",function(e){const t=s.A.request.crossOriginNoCorsDomains;if(t){let r=(0,u.$z)(e);if(r)return r=r.toLowerCase(),!(0,u.FX)(r,(0,u.Xq)())&&t[r]<Date.now()-36e5}return!1}(t)&&await async function(e){const t=(0,u.An)(e);e=t.path,"json"===t.query?.f&&(e+="?f=json");try{await fetch(e,{mode:"no-cors",credentials:"include"})}catch{}const r=s.A.request.crossOriginNoCorsDomains,n=(0,u.$z)(e);r&&n&&(r[n.toLowerCase()]=Date.now())}(w?(0,u.a6)(t,l):t)),r=g(t)}let b,q,S=0,A=!1;y>0&&(S=setTimeout(()=>{A=!0,e.controller.abort()},y));try{if("native-request-init"===o.responseType)q=i,q.url=r,o.signal?q.signal=o.signal:delete q.signal;else if("image"!==o.responseType||"default"!==i.cache||i.keepalive||"GET"!==i.method||w||function(e){if(e)for(const t of Object.getOwnPropertyNames(e))if(e[t])return!0;return!1}(o.headers)||!f&&!e.useProxy&&s.A.request.proxyUrl&&!O(t)){if(await(d.i.beforeFetch?.(t,i)),b=await fetch(r,i),await(d.i.afterFetch?.(b)),e.useProxy||function(e){const t=(0,u.$z)(e);t&&!d.i.corsServers.includes(t)&&d.i.corsServers.push(t)}(t),"native"===o.responseType)q=b;else if("HEAD"!==i.method)if(b.ok){switch(h){case"array-buffer":q=await b.arrayBuffer();break;case"blob":q=await b.blob();break;case"image":q=await(m?b.arrayBuffer():b.blob());break;default:q=await b.text()}if(S&&(clearTimeout(S),S=0),"json"===h||"xml"===h||"document"===h)if(q)switch(h){case"json":q=JSON.parse(q);break;case"xml":q=x(q,"application/xml");break;case"document":q=x(q,"text/html")}else q=null;if(q){if("array-buffer"===h||"blob"===h){const e=b.headers.get("Content-Type");if(e&&/application\/json|text\/plain/i.test(e)&&q["blob"===h?"size":"byteLength"]<=750)try{const e=await new Response(q).json();e.error&&(q=e)}catch{}}if(m&&q instanceof ArrayBuffer){const t=function(e){if(e.byteLength<2)return"unknown";const t=new Uint8Array(e,0,e.byteLength);return 137===t[0]&&80===t[1]?"image/png":71===t[0]&&73===t[1]?"image/gif":66===t[0]&&77===t[1]?"image/bmp":255===t[0]&&216===t[1]?"image/jpeg":"unknown"}(q);if("unknown"===t)return o.responseType="image",await C(e);q=await b.blob(),q=await k(URL.createObjectURL(q),e,!0),q=new p(q,t)}"image"===h&&q instanceof Blob&&(q=await k(URL.createObjectURL(q),e,!0))}}else{q=await b.text();try{q=JSON.parse(q)}catch{}}}else q=await k(r,e)}catch(r){if("AbortError"===r.name){if(A)throw new Error(I);throw(0,l.NK)("Request canceled")}if(!(!b&&r instanceof TypeError&&s.A.request.proxyUrl)||o.body||"delete"===o.method||"head"===o.method||"post"===o.method||"put"===o.method||e.useProxy||O(t))throw r;e.redoRequest=!0,(0,u.oy)({proxyUrl:s.A.request.proxyUrl,urlPrefix:(0,u.$z)(t)??""})}finally{S&&clearTimeout(S)}return[b,q]}function k(e,t,r=!1){const n=t.controller.signal,o=new Image;return t.withCredentials?o.crossOrigin="use-credentials":o.crossOrigin="anonymous",o.alt="",o.fetchPriority=s.A.request.priority,o.src=e,(0,f.y)(o,e,r,n)}function O(e){const t=(0,u.$z)(e);return!t||t.endsWith(".arcgis.com")||d.i.corsServers.includes(t)||(0,u.FL)(t)}async function T(){n.id||await Promise.all([r.e(7330),r.e(7603),r.e(168),r.e(9466),r.e(5482),r.e(148),r.e(4724)]).then(r.bind(r,50148))}function L(e){return S.some(t=>t.test(e))}function x(e,t){let r;try{r=(new DOMParser).parseFromString(e,t)}catch{}if(!r||r.getElementsByTagName("parsererror").length)throw new SyntaxError("XML Parse error");return r}async function U(e,t,r){if(e.redoRequest)return e.redoRequest=!1,!1;const s=e.parameters.requestOptions;if(!t||"native"===s.responseType||"native-request-init"===s.responseType)return!0;let o,a;if(r&&(r.error&&"object"==typeof r.error?o=r.error:"error"===r.status&&Array.isArray(r.messages)&&(o={...r},o[P]=r,o.details=r.messages)),!o&&!t.ok)throw o=new Error(`Unable to load ${t.url} status: ${t.status}`),o[P]=r,o;let i,l=null;o&&(a=Number(o.code),l=o.hasOwnProperty("subcode")?Number(o.subcode):null,i=o.messageCode,i=i?.toUpperCase());const u=s.authMode;if(403===a&&(4===l||o.message?.toLowerCase().includes("ssl")&&!o.message.toLowerCase().includes("permission"))){if(!e.useSSL)return e.useSSL=!0,!1}else if(!e.hasToken&&e.useIdentity&&("no-prompt"!==u||498===a)&&void 0!==a&&b.has(a)&&!L(e.parameters.url)&&(403!==a||(!i||!q.has(i))&&(null==l||2===l&&e.credentialToken))){await T();try{const t=await n.id.getCredential(e.parameters.url,{error:E("request:server",o,e.parameters),credential:e.credential,prompt:"no-prompt"!==u,signal:e.controller.signal,token:e.credentialToken});return e.credential=t,e.credentialToken=t.token,e.useSSL=e.useSSL||t.ssl,!1}catch(t){if("no-prompt"===u)return e.credential=void 0,e.credentialToken=void 0,!1;o=t}}if(o)throw o;return!0}function E(e,t,r,s){let n;const a={url:r.url,requestOptions:r.requestOptions,getAllHeaders:R,getHeader:R,ssl:!1};if(t instanceof o.A)return t.details?(t.details=(0,i.o8)(t.details),t.details.url=r.url,t.details.requestOptions=r.requestOptions):t.details=a,t;if(t){const e=s&&(()=>Array.from(s.headers)),r=s&&(e=>s.headers.get(e)),o=s?.status,i=t.message;i&&(n=i),e&&r&&(a.getAllHeaders=e,a.getHeader=r),a.httpStatus=(null!=t.httpCode?t.httpCode:t.code)||o||0,a.subCode=t.subcode,a.messageCode=t.messageCode,"string"==typeof t.details?(a.messages=[t.details],n??=t.details):(a.messages=t.details,n??=a.messages?.[0]),a.raw=P in t?t[P]:t}return n??="Error",(0,l.zf)(t)?(0,l.NK)():new o.A(e,n,a)}const P=Symbol(),R=()=>null,I="Timeout exceeded";function $(e){return"object"==typeof e&&!!e&&"message"in e&&e.message===I}},56152:(e,t,r)=>{r.d(t,{i:()=>s});const s={corsServers:["https://server.arcgisonline.com","https://services.arcgisonline.com"],beforeFetch:void 0,afterFetch:void 0,isForeignWorker:!1}},60694:(e,t,r)=>{r.d(t,{Fi:()=>c,HZ:()=>w,Jf:()=>g,LS:()=>v,Wo:()=>y,bd:()=>b,cr:()=>f,iz:()=>p,qg:()=>d,yG:()=>h});var s=r(84952),n=r(97159);const o={mapserver:"MapServer",imageserver:"ImageServer",featureserver:"FeatureServer",knowledgegraphserver:"KnowledgeGraphServer",sceneserver:"SceneServer",streamserver:"StreamServer",vectortileserver:"VectorTileServer","3dtilesserver":"3DTilesServer",videoserver:"VideoServer"},a=Object.values(o),i=new RegExp(`^((?:https?:)?\\/\\/\\S+?\\/rest\\/services\\/(.+?)\\/(${a.join("|")}))(?:\\/(?:layers\\/)?(\\d+))?`,"i"),l=new RegExp(`^((?:https?:)?\\/\\/\\S+?\\/([^/\\n]+)\\/(${a.join("|")}))(?:\\/(?:layers\\/)?(\\d+))?`,"i"),u=/(.*?)\/(?:layers\/)?(\d+)\/?$/i;function c(e){return i.test(e)}function d(e){if(null==e)return null;const t=(0,s.An)(e),r=t?.path.match(i)||t?.path.match(l);if(!r)return null;const[,n,a,u,c]=r,d=a.indexOf("/");return{title:f(-1!==d?a.slice(d+1):a),serverType:o[u.toLowerCase()],sublayer:null!=c&&""!==c?parseInt(c,10):null,url:{path:n}}}function p(e){const t=(0,s.An)(e).path.match(u);return t?{serviceUrl:t[1],sublayerId:Number(t[2])}:null}function f(e){return(e=e.replaceAll(/\s*[/_]+\s*/g," "))[0].toUpperCase()+e.slice(1)}function h(e,t){const r=[];if(e){const t=d(e);null!=t&&t.title&&r.push(t.title)}if(t){const e=f(t);r.push(e)}if(2===r.length){if(r[0].toLowerCase().includes(r[1].toLowerCase()))return r[0];if(r[1].toLowerCase().includes(r[0].toLowerCase()))return r[1]}return r.join(" - ")}const m=["services","features","tiles","elevation3d","basemaps3d"];function y(e){let t=(0,s.$z)(e,!0);return!!t&&(t=t.toLowerCase(),!!t.endsWith(".arcgis.com")&&(!!m.some(e=>t.startsWith(e))||/^[a-z\d-]+\.svcs[a-z\d-]*\./.test(t)))}function g(e,t){return e?(0,s.UC)((0,s.zi)(e,t)):e}function w(e){let{url:t}=e;if(!t)return{url:t};t=(0,s.zi)(t,e.logger);const r=(0,s.An)(t),n=d(r.path);let o;if(null!=n)null!=n.sublayer&&null==e.layer.layerId&&(o=n.sublayer),t=n.url.path;else if(e.nonStandardUrlAllowed){const e=p(r.path);null!=e&&(t=e.serviceUrl,o=e.sublayerId)}return{url:(0,s.UC)(t),layerId:o}}function v(e,t,r,o,a){(0,n.w)(t,o,"url",a),o.url&&null!=e.layerId&&(o.url=(0,s.fj)(o.url,r,e.layerId.toString()))}function b(e){if(!e)return!1;const t=e.toLowerCase(),r=t.includes("/services/"),s=t.includes("/mapserver/wmsserver"),n=t.includes("/imageserver/wmsserver"),o=t.includes("/wmsserver");return r&&(s||n||o)}},91869:(e,t,r)=>{function s(e,t){for(const r of e.values())if(t(r))return!0;return!1}function n(e,t,r){const s=e.get(t);if(void 0!==s)return s;const n=r();return e.set(t,n),n}function o(e){const t=new Map;return r=>(t.has(r)||t.set(r,e(r)),t.get(r))}r.d(t,{Bj:()=>o,Bs:()=>s,tE:()=>n})},95117:(e,t,r)=>{r.d(t,{y:()=>n});var s=r(74887);function n(e,t,r=!1,n){return new Promise((o,a)=>{if((0,s.G4)(n))return void a((0,s.NK)());let i=()=>{c(),a(new Error(`Unable to load ${t}`))},l=async()=>{const t=e;try{await t.decode()}catch{}c(),o(t)},u=()=>{if(!e)return;const t=e;c(),t.src="",a((0,s.NK)())};const c=()=>{e&&(e.removeEventListener("error",i),e.removeEventListener("load",l),i=null,l=null,e=null,n?.removeEventListener("abort",u),u=null,r&&URL.revokeObjectURL(t))};n?.addEventListener("abort",u),e.addEventListener("error",i),e.addEventListener("load",l)})}},97159:(e,t,r)=>{r.d(t,{a:()=>y,b:()=>w,e:()=>h,f:()=>a,i:()=>p,p:()=>f,r:()=>l,t:()=>i,w:()=>u});var s=r(70333),n=r(84952),o=r(39131);function a(e,t){const r=t?.url?.path;if(e&&r&&(e=(0,n.s2)(e,r,{preserveProtocolRelative:!0}),t.portalItem&&t.readResourcePaths)){const r=(0,n.V1)(e,t.portalItem.itemUrl);null!=r&&r.startsWith(d)&&t.readResourcePaths.push(t.portalItem.resourceFromPath(r).path)}return(e=m(e,t?.portal))&&c.test(e)?y(e):e}function i(e,t,r=0){if(null==(e=e&&c.test(e)?g(e):e))return e;!(0,n.oP)(e)&&t?.blockedRelativeUrls&&t.blockedRelativeUrls.push(e);let s=(0,n.s2)(e);if(t){const r=t.verifyItemRelativeUrls?.rootPath||t.url?.path;if(r){const o=m(r,t.portal),a=m(s,t.portal);s=(0,n.V1)(a,o,o),null!=s&&s!==a&&s!==e&&t.verifyItemRelativeUrls&&t.verifyItemRelativeUrls.writtenUrls.push(s)}}return s=h(s,t?.portal),(0,n.oP)(s)&&(s=(0,n.S8)(s)),t?.resources&&t?.portalItem&&!(0,n.oP)(s)&&!(0,n.DB)(s)&&0===r&&t.resources.toKeep.push({resource:t.portalItem.resourceFromPath(s),compress:!1}),s}function l(e,t,r){return a(e,r)}function u(e,t,r,s){const n=i(e,s);void 0!==n&&(t[r]=n)}const c=/\/items\/([^/]+)\/resources\/(.*)/,d="./resources/";function p(e){const t=e?.match(c)??null;return t?.[1]??null}function f(e){const t=e?.match(c)??null;if(null==t)return null;const r=t[2],s=r.lastIndexOf("/");if(-1===s){const{path:e,extension:t}=(0,n.xw)(r);return{prefix:null,filename:e,extension:t}}const{path:o,extension:a}=(0,n.xw)(r.slice(s+1));return{prefix:r.slice(0,s),filename:o,extension:a}}function h(e,t){return t&&!t.isPortal&&t.urlKey&&t.customBaseUrl?(0,n.T1)(e,`${t.urlKey}.${t.customBaseUrl}`,t.portalHostname):e}function m(e,t){if(!t||t.isPortal||!t.urlKey||!t.customBaseUrl)return e;const r=`${t.urlKey}.${t.customBaseUrl}`,s=(0,n.Xq)();return(0,n.FX)(s,`${s.scheme}://${r}`)?(0,n.T1)(e,t.portalHostname,r):(0,n.T1)(e,r,t.portalHostname)}function y(e){if(!e)return e||null;let t=e;return t&&s.id&&!s.id.findCredential(t)&&(t=(0,o.qG)(t),t=t.replace(/^https?:\/\/www\.arcgis\.com/,"https://cdn.arcgis.com"),t=t.replace(/^https?:\/\/devext\.arcgis\.com/,"https://cdndev.arcgis.com"),t=t.replace(/^https?:\/\/qaext\.arcgis\.com/,"https://cdnqa.arcgis.com")),t}function g(e){if(!e)return e||null;let t=e;return t=t.replace(/^https?:\/\/cdn\.arcgis\.com/,"https://www.arcgis.com"),t=t.replace(/^https?:\/\/cdndev\.arcgis\.com/,"https://devext.arcgis.com"),t=t.replace(/^https?:\/\/cdnqa\.arcgis\.com/,"https://qaext.arcgis.com"),t&&s.id&&!s.id.findCredential(t)&&(t=(0,o.qG)(t)),t}const w=Object.freeze(Object.defineProperty({__proto__:null,ensureMainOnlineDomain:h,fromCDNUrl:g,fromJSON:a,itemIdFromResourceUrl:p,prefixAndFilenameFromResourceUrl:f,read:l,toCDNUrl:y,toJSON:i,write:u},Symbol.toStringTag,{value:"Module"}))}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[431],{431:(t,e,r)=>{r.d(e,{o6:()=>_,HY:()=>V,hx:()=>A,Jb:()=>C});var n=r(9318);function s(t,e,r){const n=e/3,s=new Uint32Array(r+1),i=new Uint32Array(r+1),u=(t,e)=>{t<e?s[t+1]++:i[e+1]++};for(let e=0;e<n;e++){const r=t[3*e],n=t[3*e+1],s=t[3*e+2];u(r,n),u(n,s),u(s,r)}let o=0,f=0;for(let t=0;t<r;t++){const e=s[t+1],r=i[t+1];s[t+1]=o,i[t+1]=f,o+=e,f+=r}const c=new Uint32Array(6*n),a=s[r],h=(t,e,r)=>{if(t<e){const n=s[t+1]++;c[2*n]=e,c[2*n+1]=r}else{const n=i[e+1]++;c[2*a+2*n]=t,c[2*a+2*n+1]=r}};for(let e=0;e<n;e++){const r=t[3*e],n=t[3*e+1],s=t[3*e+2];h(r,n,e),h(n,s,e),h(s,r,e)}const l=(t,e)=>{const r=2*t,n=e-t;for(let t=1;t<n;t++){const e=c[r+2*t],n=c[r+2*t+1];let s=t-1;for(;s>=0&&c[r+2*s]>e;s--)c[r+2*s+2]=c[r+2*s],c[r+2*s+3]=c[r+2*s+1];c[r+2*s+2]=e,c[r+2*s+3]=n}};for(let t=0;t<r;t++)l(s[t],s[t+1]),l(a+i[t],a+i[t+1]);const d=new Int32Array(3*n),y=(e,r)=>e===t[3*r]?0:e===t[3*r+1]?1:e===t[3*r+2]?2:-1,p=(t,e)=>{const r=y(t,e);d[3*e+r]=-1},m=(t,e,r,n)=>{const s=y(t,e);d[3*e+s]=n;const i=y(r,n);d[3*n+i]=e};for(let t=0;t<r;t++){let e=s[t];const r=s[t+1];let n=i[t];const u=i[t+1];for(;e<r&&n<u;){const r=c[2*e],s=c[2*a+2*n];r===s?(m(t,c[2*e+1],s,c[2*a+2*n+1]),e++,n++):r<s?(p(t,c[2*e+1]),e++):(p(s,c[2*a+2*n+1]),n++)}for(;e<r;)p(t,c[2*e+1]),e++;for(;n<u;)p(c[2*a+2*n],c[2*a+2*n+1]),n++}return d}var i=r(1843),u=r(52586),o=r(87811),f=r(38954),c=r(51850),a=r(34727);function h(t,e,r,n,s,i=2){const u=1/(Math.abs(r)+Math.abs(n)+Math.abs(s)),o=r*u,f=n*u,c=s<=0?(o>=0?1:-1)*(1-Math.abs(f)):o,a=s<=0?(f>=0?1:-1)*(1-Math.abs(o)):f,h=e*i;t[h]=l(c),t[h+1]=l(a)}function l(t){return(0,a.qE)(Math.round(32767*t),-32767,32767)}r(11868),r(34275);class d{updateSettings(t){this.settings=t,this._edgeHashFunction=t.reducedPrecision?E:B}write(t,e,r){g.seed=this._edgeHashFunction(r);const n=g.getIntRange(0,255),s=g.getIntRange(0,this.settings.variants-1),i=g.getFloat(),u=255*(.5*function(t){return Math.abs(t)**1.2*Math.sign(t)}(-(1-Math.min(i/.7,1))+Math.max(0,i-.7)/(1-.7))+.5);t.position0.setVec(e,r.position0),t.position1.setVec(e,r.position1),t.componentIndex.set(e,r.componentIndex),t.variantOffset.set(e,n),t.variantStroke.set(e,s),t.variantExtension.set(e,u)}}const y=new Float32Array(6),p=new Uint32Array(y.buffer),m=new Uint32Array(1);function B(t){return y[0]=t.position0[0],y[1]=t.position0[1],y[2]=t.position0[2],y[3]=t.position1[0],y[4]=t.position1[1],y[5]=t.position1[2],m[0]=31*(31*(31*(31*(31*(166811+p[0])+p[1])+p[2])+p[3])+p[4])+p[5],m[0]}function E(t){const e=y;e[0]=b(t.position0[0]),e[1]=b(t.position0[1]),e[2]=b(t.position0[2]),e[3]=b(t.position1[0]),e[4]=b(t.position1[1]),e[5]=b(t.position1[2]),m[0]=5381;for(let t=0;t<p.length;t++)m[0]=31*m[0]+p[t];return m[0]}const M=1e4;function b(t){return Math.round(t*M)/M}const T=(0,c.vt)(),g=new o.A;var S=r(93406);function _(t){const e=A(t.data,t.skipDeduplicate,t.indices,t.indicesLength);return x.updateSettings(t.writerSettings),v.updateSettings(t.writerSettings),(0,S.K)(e,x,v)}function A(t,e,r,i){if(e){const e=s(r,i,t.count);return new w(r,i,e,t)}const o=(0,n.b)(t.buffer,t.stride/4,{originalIndices:r}),f=s(o.indices,i,o.uniqueCount);return{faces:o.indices,facesLength:o.indices.length,neighbors:f,vertices:u.I$.createView(o.buffer)}}class w{constructor(t,e,r,n){this.faces=t,this.facesLength=e,this.neighbors=r,this.vertices=n}}const x=new class{constructor(){this._commonWriter=new d}updateSettings(t){this._commonWriter.updateSettings(t)}allocate(t){return u.gr.createBuffer(t)}write(t,e,r){this._commonWriter.write(t,e,r),(0,f.i)(T,r.faceNormal0,r.faceNormal1),(0,f.n)(T,T);const{typedBuffer:n,typedBufferStride:s}=t.normalCompressed;h(n,e,T[0],T[1],T[2],s)}},v=new class{constructor(){this._commonWriter=new d}updateSettings(t){this._commonWriter.updateSettings(t)}allocate(t){return u.In.createBuffer(t)}write(t,e,r){this._commonWriter.write(t,e,r);{const{typedBuffer:n,typedBufferStride:s}=t.normalCompressed;h(n,e,r.faceNormal0[0],r.faceNormal0[1],r.faceNormal0[2],s)}{const{typedBuffer:n,typedBufferStride:s}=t.normal2Compressed;h(n,e,r.faceNormal1[0],r.faceNormal1[1],r.faceNormal1[2],s)}}},C=(0,i.BP)().vec3f("position0").vec3f("position1"),V=(0,i.BP)().vec3f("position0").vec3f("position1").u16("componentIndex")},620:(t,e,r)=>{r.d(e,{O_:()=>i,vA:()=>s}),r(48163),r(87317),(0,r(91829).vt)();class n{constructor(t){this.message=t}toString(){return`AssertException: ${this.message}`}}function s(t,e="Assertion"){if(!t){const t=new Error(e).stack;throw new n(`${e} at ${t}`)}}function i(t,e,r,n){let s,i=(r[0]-t[0])/e[0],u=(n[0]-t[0])/e[0];i>u&&(s=i,i=u,u=s);let o=(r[1]-t[1])/e[1],f=(n[1]-t[1])/e[1];if(o>f&&(s=o,o=f,f=s),i>f||o>u)return!1;o>i&&(i=o),f<u&&(u=f);let c=(r[2]-t[2])/e[2],a=(n[2]-t[2])/e[2];return c>a&&(s=c,c=a,a=s),!(i>a||c>u||(a<u&&(u=a),u<0))}},9318:(t,e,r)=>{r.d(e,{b:()=>i});var n=r(34727),s=r(97146);function i(t,e,r){const i=Array.isArray(t),a=i?t.length/e:t.byteLength/(4*e),h=i?t:new Uint32Array(t,0,a*e),l=r?.minReduction??0,d=r?.originalIndices||null,y=d?d.length:0,p=r?.componentOffsets||null;let m=0;if(p)for(let t=0;t<p.length-1;t++){const e=p[t+1]-p[t];e>m&&(m=e)}else m=a;const B=Math.floor(1.1*m)+1;(null==c||c.length<2*B)&&(c=new Uint32Array((0,n.cU)(2*B)));for(let t=0;t<2*B;t++)c[t]=0;let E=0;const M=!!p&&!!d,b=M?y:a;let T=(0,s.my)(a);const g=new Uint32Array(y),S=1.96;let _=0!==l?Math.ceil(4*S*S/(l*l)*l*(1-l)):b,A=1,w=p?p[1]:b;for(let t=0;t<b;t++){if(t===_){const e=1-E/t;if(e+S*Math.sqrt(e*(1-e)/t)<l)return null;_*=2}if(t===w){for(let t=0;t<2*B;t++)c[t]=0;if(d)for(let t=p[A-1];t<p[A];t++)g[t]=T[d[t]];w=p[++A]}const r=M?d[t]:t,n=r*e,s=f(h,n,e);let i=s%B,o=E;for(;0!==c[2*i+1];){if(c[2*i]===s){const t=c[2*i+1]-1;if(u(h,n,t*e,e)){o=T[t];break}}i++,i>=B&&(i-=B)}o===E&&(c[2*i]=s,c[2*i+1]=r+1,E++),T[r]=o}if(0!==l&&1-E/a<l)return null;if(M){for(let t=p[A-1];t<g.length;t++)g[t]=T[d[t]];T=(0,s.uW)(g)}const x=i?new Array(E):new Uint32Array(E*e);E=0;for(let t=0;t<b;t++)T[t]===E&&(o(h,(M?d[t]:t)*e,x,E*e,e),E++);if(d&&!M){const t=new Uint32Array(y);for(let e=0;e<t.length;e++)t[e]=T[d[e]];T=(0,s.uW)(t)}return{buffer:Array.isArray(x)?x:x.buffer,indices:T,uniqueCount:E}}function u(t,e,r,n){for(let s=0;s<n;s++)if(t[e+s]!==t[r+s])return!1;return!0}function o(t,e,r,n,s){for(let i=0;i<s;i++)r[n+i]=t[e+i]}function f(t,e,r){let n=0;for(let s=0;s<r;s++)n=t[e+s]+n|0,n=n+(n<<11)+(n>>>2)|0;return n>>>0}let c=null},13030:(t,e,r)=>{r.d(e,{Y$:()=>p,XW:()=>y,qB:()=>w,Qt:()=>$,My:()=>J,bf:()=>R,jZ:()=>g,j0:()=>S,Sx:()=>_,E$:()=>A,h:()=>F,P:()=>z,SL:()=>V,gH:()=>B,ZD:()=>m,si:()=>x,mJ:()=>W,UL:()=>G,D6:()=>k,Yi:()=>O,An:()=>D,LC:()=>N,xs:()=>M,EC:()=>E,Xm:()=>v,Vp:()=>Z,zD:()=>K,m8:()=>X,nS:()=>L,H$:()=>q,eI:()=>I,Eq:()=>T,jz:()=>b,Aj:()=>C,E7:()=>H,Y4:()=>Q,TX:()=>j,Uz:()=>U,ml:()=>Y,XP:()=>P});var n=r(20498);class s{static{this.ElementCount=9}constructor(t,e,r=0,n,s){this.TypedArrayConstructor=t,this.elementCount=9;const i=this.TypedArrayConstructor;void 0===n&&(n=9*i.BYTES_PER_ELEMENT);const u=0===e.byteLength?0:r;this.typedBuffer=null==s?new i(e,u):new i(e,u,(s-r)/i.BYTES_PER_ELEMENT),this.typedBufferStride=n/i.BYTES_PER_ELEMENT,this.count=Math.ceil(this.typedBuffer.length/this.typedBufferStride),this.stride=this.typedBufferStride*this.TypedArrayConstructor.BYTES_PER_ELEMENT}sliceBuffer(t,e,r=this.count-e){const n=this.typedBuffer.byteOffset+e*this.stride;return new t(this.buffer,n,this.stride,n+r*this.stride)}getMat(t,e){let r=t*this.typedBufferStride;for(let t=0;t<9;t++)e[t]=this.typedBuffer[r++];return e}setMat(t,e){let r=t*this.typedBufferStride;for(let t=0;t<9;t++)this.typedBuffer[r++]=e[t]}get(t,e){return this.typedBuffer[t*this.typedBufferStride+e]}set(t,e,r){this.typedBuffer[t*this.typedBufferStride+e]=r}copyFrom(t,e,r){const n=this.typedBuffer,s=e.typedBuffer;let i=t*this.typedBufferStride,u=r*e.typedBufferStride;for(let t=0;t<9;++t)n[i++]=s[u++]}get buffer(){return this.typedBuffer.buffer}}class i{static{this.ElementCount=16}constructor(t,e,r=0,n,s){this.TypedArrayConstructor=t,this.elementCount=16;const i=this.TypedArrayConstructor;void 0===n&&(n=16*i.BYTES_PER_ELEMENT);const u=0===e.byteLength?0:r;this.typedBuffer=null==s?new i(e,u):new i(e,u,(s-r)/i.BYTES_PER_ELEMENT),this.typedBufferStride=n/i.BYTES_PER_ELEMENT,this.count=Math.ceil(this.typedBuffer.length/this.typedBufferStride),this.stride=this.typedBufferStride*this.TypedArrayConstructor.BYTES_PER_ELEMENT}sliceBuffer(t,e,r=this.count-e){const n=this.typedBuffer.byteOffset+e*this.stride;return new t(this.buffer,n,this.stride,n+r*this.stride)}getMat(t,e){let r=t*this.typedBufferStride;for(let t=0;t<16;t++)e[t]=this.typedBuffer[r++];return e}setMat(t,e){let r=t*this.typedBufferStride;for(let t=0;t<16;t++)this.typedBuffer[r++]=e[t]}get(t,e){return this.typedBuffer[t*this.typedBufferStride+e]}set(t,e,r){this.typedBuffer[t*this.typedBufferStride+e]=r}copyFrom(t,e,r){this.copyFromTypedBuffer(t,e.typedBuffer,r*e.typedBufferStride)}copyFromTypedBuffer(t,e,r){const n=this.typedBuffer;let s=t*this.typedBufferStride;for(let t=0;t<16;++t)n[s++]=e[r++]}get buffer(){return this.typedBuffer.buffer}}class u{static{this.ElementCount=1}constructor(t,e,r=0,n,s){this.TypedArrayConstructor=t,this.elementCount=1;const i=this.TypedArrayConstructor;void 0===n&&(n=i.BYTES_PER_ELEMENT);const u=0===e.byteLength?0:r;this.typedBuffer=null==s?new i(e,u):new i(e,u,(s-r)/i.BYTES_PER_ELEMENT),this.stride=n,this.typedBufferStride=n/i.BYTES_PER_ELEMENT,this.count=Math.ceil(this.typedBuffer.length/this.typedBufferStride)}sliceBuffer(t,e,r=this.count-e){const n=this.typedBuffer.byteOffset+e*this.stride;return new t(this.buffer,n,this.stride,n+r*this.stride)}get(t){return this.typedBuffer[t*this.typedBufferStride]}set(t,e){this.typedBuffer[t*this.typedBufferStride]=e}get buffer(){return this.typedBuffer.buffer}}var o=r(37585);class f{static{this.ElementCount=2}constructor(t,e,r=0,n,s){this.TypedArrayConstructor=t,this.start=r,this.elementCount=2;const i=this.TypedArrayConstructor;void 0===n&&(n=2*i.BYTES_PER_ELEMENT);const u=0===e.byteLength?0:r;this.typedBuffer=null==s?new i(e,u):new i(e,u,(s-r)/i.BYTES_PER_ELEMENT),this.typedBufferStride=n/i.BYTES_PER_ELEMENT,this.count=Math.ceil(this.typedBuffer.length/this.typedBufferStride),this.stride=this.typedBufferStride*this.TypedArrayConstructor.BYTES_PER_ELEMENT}sliceBuffer(t,e,r=this.count-e){const n=this.typedBuffer.byteOffset+e*this.stride;return new t(this.buffer,n,this.stride,n+r*this.stride)}getVec(t,e){return t*=this.typedBufferStride,(0,o.hZ)(e,this.typedBuffer[t],this.typedBuffer[t+1])}setVec(t,e){t*=this.typedBufferStride,this.typedBuffer[t++]=e[0],this.typedBuffer[t]=e[1]}get(t,e){return this.typedBuffer[t*this.typedBufferStride+e]}set(t,e,r){this.typedBuffer[t*this.typedBufferStride+e]=r}setValues(t,e,r){t*=this.typedBufferStride,this.typedBuffer[t++]=e,this.typedBuffer[t]=r}copyFrom(t,e,r){const n=this.typedBuffer,s=e.typedBuffer;let i=t*this.typedBufferStride,u=r*e.typedBufferStride;n[i++]=s[u++],n[i]=s[u]}get buffer(){return this.typedBuffer.buffer}}var c=r(38954);class a{static{this.ElementCount=3}constructor(t,e,r=0,n,s){this.TypedArrayConstructor=t,this.elementCount=3;const i=this.TypedArrayConstructor;void 0===n&&(n=3*i.BYTES_PER_ELEMENT);const u=0===e.byteLength?0:r;this.typedBuffer=null==s?new i(e,u):new i(e,u,(s-r)/i.BYTES_PER_ELEMENT),this.typedBufferStride=n/i.BYTES_PER_ELEMENT,this.count=Math.ceil(this.typedBuffer.length/this.typedBufferStride),this.stride=this.typedBufferStride*this.TypedArrayConstructor.BYTES_PER_ELEMENT}sliceBuffer(t,e,r=this.count-e){const n=this.typedBuffer.byteOffset+e*this.stride;return new t(this.buffer,n,this.stride,n+r*this.stride)}getVec(t,e){return t*=this.typedBufferStride,(0,c.h)(e,this.typedBuffer[t],this.typedBuffer[t+1],this.typedBuffer[t+2])}setVec(t,e){t*=this.typedBufferStride,this.typedBuffer[t++]=e[0],this.typedBuffer[t++]=e[1],this.typedBuffer[t]=e[2]}get(t,e){return this.typedBuffer[t*this.typedBufferStride+e]}set(t,e,r){this.typedBuffer[t*this.typedBufferStride+e]=r}setValues(t,e,r,n){t*=this.typedBufferStride,this.typedBuffer[t++]=e,this.typedBuffer[t++]=r,this.typedBuffer[t]=n}copyFrom(t,e,r){const n=this.typedBuffer,s=e.typedBuffer;let i=t*this.typedBufferStride,u=r*e.typedBufferStride;n[i++]=s[u++],n[i++]=s[u++],n[i]=s[u]}get buffer(){return this.typedBuffer.buffer}}var h=r(87317);class l{static{this.ElementCount=4}constructor(t,e,r=0,n,s){this.TypedArrayConstructor=t,this.start=r,this.elementCount=4;const i=this.TypedArrayConstructor;void 0===n&&(n=4*i.BYTES_PER_ELEMENT);const u=0===e.byteLength?0:r;this.typedBuffer=null==s?new i(e,u):new i(e,u,(s-r)/i.BYTES_PER_ELEMENT),this.typedBufferStride=n/i.BYTES_PER_ELEMENT,this.count=Math.ceil(this.typedBuffer.length/this.typedBufferStride),this.stride=this.typedBufferStride*this.TypedArrayConstructor.BYTES_PER_ELEMENT}sliceBuffer(t,e,r=this.count-e){const n=this.typedBuffer.byteOffset+e*this.stride;return new t(this.buffer,n,this.stride,n+r*this.stride)}getVec(t,e){return t*=this.typedBufferStride,(0,h.s)(e,this.typedBuffer[t++],this.typedBuffer[t++],this.typedBuffer[t++],this.typedBuffer[t])}setVec(t,e){t*=this.typedBufferStride,this.typedBuffer[t++]=e[0],this.typedBuffer[t++]=e[1],this.typedBuffer[t++]=e[2],this.typedBuffer[t]=e[3]}get(t,e){return this.typedBuffer[t*this.typedBufferStride+e]}set(t,e,r){this.typedBuffer[t*this.typedBufferStride+e]=r}setValues(t,e,r,n,s){t*=this.typedBufferStride,this.typedBuffer[t++]=e,this.typedBuffer[t++]=r,this.typedBuffer[t++]=n,this.typedBuffer[t]=s}copyFrom(t,e,r){const n=this.typedBuffer,s=e.typedBuffer;let i=t*this.typedBufferStride,u=r*e.typedBufferStride;n[i++]=s[u++],n[i++]=s[u++],n[i++]=s[u++],n[i]=s[u]}get buffer(){return this.typedBuffer.buffer}}var d=r(620);class y extends u{constructor(t,e=0,r,s){(0,d.vA)(n.SX),super((0,n.pX)(),t,e,r,s),this.elementType="f16"}static{this.ElementType="f16"}}class p extends u{constructor(t,e=0,r,n){super(Float32Array,t,e,r,n),this.elementType="f32"}static{this.ElementType="f32"}}class m extends f{constructor(t,e=0,r,s){(0,d.vA)(n.SX),super((0,n.pX)(),t,e,r,s),this.elementType="f16"}slice(t,e){return this.sliceBuffer(m,t,e)}static{this.ElementType="f16"}}class B extends f{constructor(t,e=0,r,n){super(Float32Array,t,e,r,n),this.elementType="f32"}slice(t,e){return this.sliceBuffer(B,t,e)}static{this.ElementType="f32"}}class E extends a{constructor(t,e=0,r,s){(0,d.vA)(n.SX),super((0,n.pX)(),t,e,r,s),this.elementType="f16"}slice(t,e){return this.sliceBuffer(E,t,e)}static{this.ElementType="f16"}}class M extends a{constructor(t,e=0,r,n){super(Float32Array,t,e,r,n),this.elementType="f32"}slice(t,e){return this.sliceBuffer(M,t,e)}static fromTypedArray(t,e){return new M(t.buffer,t.byteOffset,e,t.byteOffset+t.byteLength)}static{this.ElementType="f32"}}class b extends l{constructor(t,e=0,r,s){(0,d.vA)(n.SX),super((0,n.pX)(),t,e,r,s),this.elementType="f16"}slice(t,e){return this.sliceBuffer(b,t,e)}static{this.ElementType="f16"}}class T extends l{constructor(t,e=0,r,n){super(Float32Array,t,e,r,n),this.elementType="f32"}slice(t,e){return this.sliceBuffer(T,t,e)}static{this.ElementType="f32"}}class g extends s{constructor(t,e=0,r,n){super(Float32Array,t,e,r,n),this.elementType="f32"}slice(t,e){return this.sliceBuffer(g,t,e)}static{this.ElementType="f32"}}class S extends s{constructor(t,e=0,r,n){super(Float64Array,t,e,r,n),this.elementType="f64"}slice(t,e){return this.sliceBuffer(S,t,e)}static{this.ElementType="f64"}}class _ extends i{constructor(t,e=0,r,n){super(Float32Array,t,e,r,n),this.elementType="f32"}slice(t,e){return this.sliceBuffer(_,t,e)}static{this.ElementType="f32"}}class A extends i{constructor(t,e=0,r,n){super(Float64Array,t,e,r,n),this.elementType="f64"}slice(t,e){return this.sliceBuffer(A,t,e)}static{this.ElementType="f64"}}class w extends u{constructor(t,e=0,r,n){super(Float64Array,t,e,r,n),this.elementType="f64"}slice(t,e){return this.sliceBuffer(w,t,e)}static{this.ElementType="f64"}}class x extends f{constructor(t,e=0,r,n){super(Float64Array,t,e,r,n),this.elementType="f64"}slice(t,e){return this.sliceBuffer(x,t,e)}static{this.ElementType="f64"}}class v extends a{constructor(t,e=0,r,n){super(Float64Array,t,e,r,n),this.elementType="f64"}slice(t,e){return this.sliceBuffer(v,t,e)}static fromTypedArray(t,e){return new v(t.buffer,t.byteOffset,e,t.byteOffset+t.byteLength)}static{this.ElementType="f64"}}class C extends l{constructor(t,e=0,r,n){super(Float64Array,t,e,r,n),this.elementType="f64"}slice(t,e){return this.sliceBuffer(C,t,e)}static{this.ElementType="f64"}}class V extends u{constructor(t,e=0,r,n){super(Uint8Array,t,e,r,n),this.elementType="u8"}slice(t,e){return this.sliceBuffer(V,t,e)}static{this.ElementType="u8"}}class N extends f{constructor(t,e=0,r,n){super(Uint8Array,t,e,r,n),this.elementType="u8"}slice(t,e){return this.sliceBuffer(N,t,e)}static{this.ElementType="u8"}}class I extends a{constructor(t,e=0,r,n){super(Uint8Array,t,e,r,n),this.elementType="u8"}slice(t,e){return this.sliceBuffer(I,t,e)}static fromTypedArray(t,e){return new I(t.buffer,t.byteOffset,e,t.byteOffset+t.byteLength)}static{this.ElementType="u8"}}class P extends l{constructor(t,e=0,r,n){super(Uint8Array,t,e,r,n),this.elementType="u8"}slice(t,e){return this.sliceBuffer(P,t,e)}static{this.ElementType="u8"}}class F extends u{constructor(t,e=0,r,n){super(Uint16Array,t,e,r,n),this.elementType="u16"}slice(t,e){return this.sliceBuffer(F,t,e)}static{this.ElementType="u16"}}class O extends f{constructor(t,e=0,r,n){super(Uint16Array,t,e,r,n),this.elementType="u16"}slice(t,e){return this.sliceBuffer(O,t,e)}static{this.ElementType="u16"}}class L extends a{constructor(t,e=0,r,n){super(Uint16Array,t,e,r,n),this.elementType="u16"}slice(t,e){return this.sliceBuffer(L,t,e)}static{this.ElementType="u16"}}class U extends l{constructor(t,e=0,r,n){super(Uint16Array,t,e,r,n),this.elementType="u16"}slice(t,e){return this.sliceBuffer(U,t,e)}static{this.ElementType="u16"}}class z extends u{constructor(t,e=0,r,n){super(Uint32Array,t,e,r,n),this.elementType="u32"}slice(t,e){return this.sliceBuffer(z,t,e)}static{this.ElementType="u32"}}class D extends f{constructor(t,e=0,r,n){super(Uint32Array,t,e,r,n),this.elementType="u32"}slice(t,e){return this.sliceBuffer(D,t,e)}static{this.ElementType="u32"}}class q extends a{constructor(t,e=0,r,n){super(Uint32Array,t,e,r,n),this.elementType="u32"}slice(t,e){return this.sliceBuffer(q,t,e)}static{this.ElementType="u32"}}class Y extends l{constructor(t,e=0,r,n){super(Uint32Array,t,e,r,n),this.elementType="u32"}slice(t,e){return this.sliceBuffer(Y,t,e)}static{this.ElementType="u32"}}class R extends u{constructor(t,e=0,r,n){super(Int8Array,t,e,r,n),this.elementType="i8"}slice(t,e){return this.sliceBuffer(R,t,e)}static{this.ElementType="i8"}}class k extends f{constructor(t,e=0,r,n){super(Int8Array,t,e,r,n),this.elementType="i8"}slice(t,e){return this.sliceBuffer(k,t,e)}static{this.ElementType="i8"}}class X extends a{constructor(t,e=0,r,n){super(Int8Array,t,e,r,n),this.elementType="i8"}slice(t,e){return this.sliceBuffer(X,t,e)}static{this.ElementType="i8"}}class j extends l{constructor(t,e=0,r,n){super(Int8Array,t,e,r,n),this.elementType="i8"}slice(t,e){return this.sliceBuffer(j,t,e)}static{this.ElementType="i8"}}class $ extends u{constructor(t,e=0,r,n){super(Int16Array,t,e,r,n),this.elementType="i16"}slice(t,e){return this.sliceBuffer($,t,e)}static{this.ElementType="i16"}}class W extends f{constructor(t,e=0,r,n){super(Int16Array,t,e,r,n),this.elementType="i16"}slice(t,e){return this.sliceBuffer(W,t,e)}static{this.ElementType="i16"}}class Z extends a{constructor(t,e=0,r,n){super(Int16Array,t,e,r,n),this.elementType="i16"}slice(t,e){return this.sliceBuffer(Z,t,e)}static{this.ElementType="i16"}}class H extends l{constructor(t,e=0,r,n){super(Int16Array,t,e,r,n),this.elementType="i16"}slice(t,e){return this.sliceBuffer(H,t,e)}static{this.ElementType="i16"}}class J extends u{constructor(t,e=0,r,n){super(Int32Array,t,e,r,n),this.elementType="i32"}slice(t,e){return this.sliceBuffer(J,t,e)}static{this.ElementType="i32"}}class G extends f{constructor(t,e=0,r,n){super(Int32Array,t,e,r,n),this.elementType="i32"}slice(t,e){return this.sliceBuffer(G,t,e)}static{this.ElementType="i32"}}class K extends a{constructor(t,e=0,r,n){super(Int32Array,t,e,r,n),this.elementType="i32"}slice(t,e){return this.sliceBuffer(K,t,e)}static{this.ElementType="i32"}}class Q extends l{constructor(t,e=0,r,n){super(Int32Array,t,e,r,n),this.elementType="i32"}slice(t,e){return this.sliceBuffer(Q,t,e)}static{this.ElementType="i32"}}},20498:(t,e,r)=>{r.d(e,{SX:()=>i,pX:()=>s});let n=globalThis.Float16Array;function s(){return n}let i=!!n},34304:(t,e,r)=>{r.d(e,{DF:()=>f,FD:()=>s,Ov:()=>i,ct:()=>c});let n=1e-6;function s(){return n}const i=Math.random,u=Math.PI/180,o=180/Math.PI;function f(t){return t*u}function c(t){return t*o}Object.freeze(Object.defineProperty({__proto__:null,RANDOM:i,equals:function(t,e){return Math.abs(t-e)<=n*Math.max(1,Math.abs(t),Math.abs(e))},getEpsilon:s,setEpsilon:function(t){n=t},toDegree:c,toRadian:f},Symbol.toStringTag,{value:"Module"}))},34727:(t,e,r)=>{r.d(e,{$8:()=>S,Cc:()=>u,Hx:()=>p,Io:()=>T,KJ:()=>c,OS:()=>w,Sp:()=>l,XM:()=>a,YN:()=>h,ZH:()=>y,b6:()=>g,cU:()=>s,gg:()=>d,hs:()=>o,kU:()=>f,or:()=>A,pF:()=>v,pq:()=>x,qE:()=>i});const n=new Float32Array(1);function s(t){--t;for(let e=1;e<32;e<<=1)t|=t>>e;return t+1}function i(t,e,r){return Math.min(Math.max(t,e),r)}function u(t,e,r){return t+(e-t)*r}function o(t,e,r,n,s){return u(n,s,(t-e)/(r-e))}function f(t){return t*Math.PI/180}function c(t){return 180*t/Math.PI}function a(t){return Math.acos(i(t,-1,1))}function h(t){return Math.asin(i(t,-1,1))}function l(t,e,r=1e-6){return t===e||!(!Number.isFinite(t)||!Number.isFinite(e))&&(t>e?t-e:e-t)<=r}function d(t,e,r=1e-6){return!l(t,e,r)&&t>e}function y(t,e,r=1e-6){return!l(t,e,r)&&t<e}function p(t,e,r=1e-6){return l(t,e,r)||t>e}const m=new DataView(new ArrayBuffer(Float64Array.BYTES_PER_ELEMENT));function B(t){return m.setFloat64(0,t),m.getBigInt64(0)}const E=1000000n,M=b(1);function b(t){const e=B(t=Math.abs(t)),r=function(t){return m.setBigInt64(0,t),m.getFloat64(0)}(e<=E?E:e-E);return Math.abs(t-r)}function T(t,e,r=M){if(t===e)return!0;if(!Number.isFinite(t)||!Number.isFinite(e))return!1;if(null!=r&&b(Math.min(Math.abs(t),Math.abs(e)))<r)return Math.abs(t-e)<=r;const n=B(t),s=B(e);return n<0==s<0&&!((n<s?s-n:n-s)>E)}function g(t,e,r=1e-6){if(t===e)return!0;if(!Number.isFinite(t)||!Number.isFinite(e))return!1;const n=Math.abs(t-e),s=Math.abs(t),i=Math.abs(e);if(0===t||0===e||s<1e-12&&i<1e-12){if(n>.01*r)return!1}else if(n/(s+i)>r)return!1;return!0}function S(t){return _(Math.max(-x,Math.min(t,x)))}function _(t){return n[0]=t,n[0]}function A(t){const e=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],r=t[3]*t[3]+t[4]*t[4]+t[5]*t[5],n=t[6]*t[6]+t[7]*t[7]+t[8]*t[8];return!(l(e,1)&&l(r,1)&&l(n,1))}function w(t,e){return(t%e+e)%e}const x=_(34028234663852886e22);function v(t,e,r){if(void 0===r||0===+r)return Math[t](e);if(e=+e,r=+r,isNaN(e)||"number"!=typeof r||r%1!=0)return NaN;let n=e.toString().split("e");return n=(e=Math[t](+(n[0]+"e"+(n[1]?+n[1]-r:-r)))).toString().split("e"),+(n[0]+"e"+(n[1]?+n[1]+r:r))}},37585:(t,e,r)=>{r.d(e,{C:()=>s,Cc:()=>m,Io:()=>h,S8:()=>p,WQ:()=>u,aI:()=>b,e$:()=>E,hG:()=>l,hZ:()=>i,hs:()=>a,jb:()=>g,l0:()=>B,t2:()=>M});var n=r(34304);function s(t,e){return t[0]=e[0],t[1]=e[1],t}function i(t,e,r){return t[0]=e,t[1]=r,t}function u(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t}function o(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t}function f(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t}function c(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t}function a(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t}function h(t,e){const r=e[0]-t[0],n=e[1]-t[1];return Math.sqrt(r*r+n*n)}function l(t,e){const r=e[0]-t[0],n=e[1]-t[1];return r*r+n*n}function d(t){const e=t[0],r=t[1];return Math.sqrt(e*e+r*r)}function y(t){const e=t[0],r=t[1];return e*e+r*r}function p(t,e){const r=e[0],n=e[1];let s=r*r+n*n;return s>0&&(s=1/Math.sqrt(s),t[0]=e[0]*s,t[1]=e[1]*s),t}function m(t,e,r,n){const s=e[0],i=e[1];return t[0]=s+n*(r[0]-s),t[1]=i+n*(r[1]-i),t}function B(t,e,r){const n=e[0],s=e[1];return t[0]=r[0]*n+r[2]*s+r[4],t[1]=r[1]*n+r[3]*s+r[5],t}function E(t,e,r,n){const s=e[0]-r[0],i=e[1]-r[1],u=Math.sin(n),o=Math.cos(n);return t[0]=s*o-i*u+r[0],t[1]=s*u+i*o+r[1],t}function M(t,e){return t[0]===e[0]&&t[1]===e[1]}function b(t,e){const r=t[0],s=t[1],i=e[0],u=e[1],o=(0,n.FD)();return Math.abs(r-i)<=o*Math.max(1,Math.abs(r),Math.abs(i))&&Math.abs(s-u)<=o*Math.max(1,Math.abs(s),Math.abs(u))}const T=d,g=o,S=f,_=c,A=h,w=l,x=y;Object.freeze(Object.defineProperty({__proto__:null,add:u,angle:function(t,e){const r=t[0],n=t[1],s=e[0],i=e[1];let u=r*r+n*n;u>0&&(u=1/Math.sqrt(u));let o=s*s+i*i;o>0&&(o=1/Math.sqrt(o));const f=(r*s+n*i)*u*o;return f>1?0:f<-1?Math.PI:Math.acos(f)},ceil:function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t},copy:s,cross:function(t,e,r){const n=e[0]*r[1]-e[1]*r[0];return t[0]=t[1]=0,t[2]=n,t},dist:A,distance:h,div:_,divide:c,dot:function(t,e){return t[0]*e[0]+t[1]*e[1]},equals:b,exactEquals:M,floor:function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t},inverse:function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t},len:T,length:d,lerp:m,max:function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t},min:function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t},mul:S,multiply:f,negate:function(t,e){return t[0]=-e[0],t[1]=-e[1],t},normalize:p,projectAndScale:function(t,e,r,n,s){let i=e[0]-r[0],u=e[1]-r[1];const o=(n[0]*i+n[1]*u)*(s-1);return i=n[0]*o,u=n[1]*o,t[0]=e[0]+i,t[1]=e[1]+u,t},random:function(t,e=1){const r=2*(0,n.Ov)()*Math.PI;return t[0]=Math.cos(r)*e,t[1]=Math.sin(r)*e,t},rotate:E,round:function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t},scale:a,scaleAndAdd:function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t},set:i,sqrDist:w,sqrLen:x,squaredDistance:l,squaredLength:y,str:function(t){return"vec2("+t[0]+", "+t[1]+")"},sub:g,subtract:o,transformMat2:function(t,e,r){const n=e[0],s=e[1];return t[0]=r[0]*n+r[2]*s,t[1]=r[1]*n+r[3]*s,t},transformMat2d:B,transformMat3:function(t,e,r){const n=e[0],s=e[1];return t[0]=r[0]*n+r[3]*s+r[6],t[1]=r[1]*n+r[4]*s+r[7],t},transformMat4:function(t,e,r){const n=e[0],s=e[1];return t[0]=r[0]*n+r[4]*s+r[12],t[1]=r[1]*n+r[5]*s+r[13],t}},Symbol.toStringTag,{value:"Module"}))},38954:(t,e,r)=>{r.d(e,{A:()=>a,B:()=>h,C:()=>E,D:()=>F,E:()=>b,F:()=>P,G:()=>z,H:()=>q,a:()=>O,b:()=>i,c:()=>B,d:()=>u,e:()=>c,f:()=>A,g:()=>_,h:()=>o,i:()=>f,j:()=>m,l:()=>w,m:()=>I,n:()=>S,o:()=>g,p:()=>x,q:()=>T,r:()=>C,s:()=>M,t:()=>v,u:()=>l,v:()=>D,w:()=>Y,x:()=>p,y:()=>y,z:()=>d});var n=r(51850),s=r(34304);function i(t){const e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)}function u(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function o(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}function f(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t}function c(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}function a(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t}function h(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}function l(t,e){return t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t}function d(t,e){return t[0]=Math.sign(e[0]),t[1]=Math.sign(e[1]),t[2]=Math.sign(e[2]),t}function y(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t}function p(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t}function m(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}function B(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}function E(t,e){const r=e[0]-t[0],n=e[1]-t[1],s=e[2]-t[2];return Math.sqrt(r*r+n*n+s*s)}function M(t,e){const r=e[0]-t[0],n=e[1]-t[1],s=e[2]-t[2];return r*r+n*n+s*s}function b(t){const e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}function T(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}function g(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t}function S(t,e){const r=e[0],n=e[1],s=e[2];let i=r*r+n*n+s*s;return i>0&&(i=1/Math.sqrt(i),t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i),t}function _(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function A(t,e,r){const n=e[0],s=e[1],i=e[2],u=r[0],o=r[1],f=r[2];return t[0]=s*f-i*o,t[1]=i*u-n*f,t[2]=n*o-s*u,t}function w(t,e,r,n){const s=e[0],i=e[1],u=e[2];return t[0]=s+n*(r[0]-s),t[1]=i+n*(r[1]-i),t[2]=u+n*(r[2]-u),t}function x(t,e,r){const n=e[0],s=e[1],i=e[2];return t[0]=r[0]*n+r[4]*s+r[8]*i+r[12],t[1]=r[1]*n+r[5]*s+r[9]*i+r[13],t[2]=r[2]*n+r[6]*s+r[10]*i+r[14],t}function v(t,e,r){const n=e[0],s=e[1],i=e[2];return t[0]=n*r[0]+s*r[3]+i*r[6],t[1]=n*r[1]+s*r[4]+i*r[7],t[2]=n*r[2]+s*r[5]+i*r[8],t}function C(t,e,r){const n=r[0],s=r[1],i=r[2],u=r[3],o=e[0],f=e[1],c=e[2],a=s*c-i*f,h=i*o-n*c,l=n*f-s*o,d=s*l-i*h,y=i*a-n*l,p=n*h-s*a,m=2*u;return t[0]=o+a*m+2*d,t[1]=f+h*m+2*y,t[2]=c+l*m+2*p,t}const V=(0,n.vt)(),N=(0,n.vt)();function I(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}function P(t,e){if(t===e)return!0;const r=t[0],n=t[1],i=t[2],u=e[0],o=e[1],f=e[2],c=(0,s.FD)();return Math.abs(r-u)<=c*Math.max(1,Math.abs(r),Math.abs(u))&&Math.abs(n-o)<=c*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(i-f)<=c*Math.max(1,Math.abs(i),Math.abs(f))}function F(t,e,r){const n=r[0]-e[0],s=r[1]-e[1],i=r[2]-e[2];let u=n*n+s*s+i*i;return u>0?(u=1/Math.sqrt(u),t[0]=n*u,t[1]=s*u,t[2]=i*u,t):(t[0]=0,t[1]=0,t[2]=0,t)}const O=c,L=a,U=h,z=E,D=M,q=i,Y=b;Object.freeze(Object.defineProperty({__proto__:null,abs:l,add:f,angle:function(t,e){S(V,t),S(N,e);const r=_(V,N);return r>1?0:r<-1?Math.PI:Math.acos(r)},bezier:function(t,e,r,n,s,i){const u=1-i,o=u*u,f=i*i,c=o*u,a=3*i*o,h=3*f*u,l=f*i;return t[0]=e[0]*c+r[0]*a+n[0]*h+s[0]*l,t[1]=e[1]*c+r[1]*a+n[1]*h+s[1]*l,t[2]=e[2]*c+r[2]*a+n[2]*h+s[2]*l,t},ceil:function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t},clamp:function(t,e=0,r=1){return t[0]=Math.min(Math.max(t[0],e),r),t[1]=Math.min(Math.max(t[1],e),r),t[2]=Math.min(Math.max(t[2],e),r),t},copy:u,cross:A,crossAndNormalize:function(t,e,r){const n=e[0],s=e[1],i=e[2],u=r[0],o=r[1],f=r[2],c=s*f-i*o,a=i*u-n*f,h=n*o-s*u,l=Math.sqrt(c*c+a*a+h*h);return t[0]=c/l,t[1]=a/l,t[2]=h/l,t},direction:F,dist:z,distance:E,div:U,divide:h,dot:_,equals:P,exactEquals:I,floor:function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t},hermite:function(t,e,r,n,s,i){const u=i*i,o=u*(2*i-3)+1,f=u*(i-2)+i,c=u*(i-1),a=u*(3-2*i);return t[0]=e[0]*o+r[0]*f+n[0]*c+s[0]*a,t[1]=e[1]*o+r[1]*f+n[1]*c+s[1]*a,t[2]=e[2]*o+r[2]*f+n[2]*c+s[2]*a,t},inverse:g,len:q,length:i,lerp:w,max:p,min:y,mul:L,multiply:a,negate:T,normalize:S,random:function(t,e=1){const r=s.Ov,n=2*r()*Math.PI,i=2*r()-1,u=Math.sqrt(1-i*i)*e;return t[0]=Math.cos(n)*u,t[1]=Math.sin(n)*u,t[2]=i*e,t},rotateX:function(t,e,r,n){const s=[],i=[];return s[0]=e[0]-r[0],s[1]=e[1]-r[1],s[2]=e[2]-r[2],i[0]=s[0],i[1]=s[1]*Math.cos(n)-s[2]*Math.sin(n),i[2]=s[1]*Math.sin(n)+s[2]*Math.cos(n),t[0]=i[0]+r[0],t[1]=i[1]+r[1],t[2]=i[2]+r[2],t},rotateY:function(t,e,r,n){const s=[],i=[];return s[0]=e[0]-r[0],s[1]=e[1]-r[1],s[2]=e[2]-r[2],i[0]=s[2]*Math.sin(n)+s[0]*Math.cos(n),i[1]=s[1],i[2]=s[2]*Math.cos(n)-s[0]*Math.sin(n),t[0]=i[0]+r[0],t[1]=i[1]+r[1],t[2]=i[2]+r[2],t},rotateZ:function(t,e,r,n){const s=[],i=[];return s[0]=e[0]-r[0],s[1]=e[1]-r[1],s[2]=e[2]-r[2],i[0]=s[0]*Math.cos(n)-s[1]*Math.sin(n),i[1]=s[0]*Math.sin(n)+s[1]*Math.cos(n),i[2]=s[2],t[0]=i[0]+r[0],t[1]=i[1]+r[1],t[2]=i[2]+r[2],t},round:function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t},scale:m,scaleAndAdd:B,set:o,sign:d,sqrDist:D,sqrLen:Y,squaredDistance:M,squaredLength:b,str:function(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"},sub:O,subtract:c,transformMat3:v,transformMat4:x,transformQuat:C},Symbol.toStringTag,{value:"Module"}))},40804:(t,e,r)=>{r.d(e,{Un:()=>s,zn:()=>i});var n=r(34727);function s(t,e,r=0){const s=(0,n.qE)(t,0,c);for(let t=0;t<4;t++)e[r+t]=Math.floor(256*h(s*o[t]))}function i(t,e,r=0){const s=(0,n.qE)(t,0,a);for(let t=0;t<3;t++)e[r+t]=Math.floor(256*h(s*o[t]))}function u(t,e=0){let r=0;for(let n=0;n<4;n++)r+=t[e+n]*f[n];return r}const o=[1,256,65536,16777216],f=[1/256,1/65536,1/16777216,1/4294967296],c=u(new Uint8ClampedArray([255,255,255,255])),a=u(new Uint8ClampedArray([255,255,255,0]));function h(t){return t-Math.floor(t)}},48163:(t,e,r)=>{function n(){return[0,0]}function s(t){return[t[0],t[1]]}function i(t,e){return[t,e]}function u(){return i(1,1)}function o(){return i(1,0)}function f(){return i(0,1)}r.d(e,{Un:()=>c,fA:()=>i,o8:()=>s,vt:()=>n});const c=u(),a=o(),h=f();Object.freeze(Object.defineProperty({__proto__:null,ONES:c,UNIT_X:a,UNIT_Y:h,ZEROS:[0,0],clone:s,create:n,freeze:function(t,e){return[t,e]},fromArray:function(t,e=[0,0]){const r=Math.min(2,t.length);for(let n=0;n<r;++n)e[n]=t[n];return e},fromValues:i,ones:u,unitX:o,unitY:f,zeros:function(){return[0,0]}},Symbol.toStringTag,{value:"Module"}))},51850:(t,e,r)=>{function n(){return[0,0,0]}function s(t){return[t[0],t[1],t[2]]}function i(t,e,r){return[t,e,r]}function u(t,e,r){return[t,e,r]}function o(t,e=[0,0,0]){const r=Math.min(3,t.length);for(let n=0;n<r;++n)e[n]=t[n];return e}function f(){return i(1,1,1)}function c(){return i(1,0,0)}function a(){return i(0,1,0)}function h(){return i(0,0,1)}r.d(e,{CN:()=>u,Cb:()=>m,Cw:()=>y,JP:()=>p,Un:()=>d,ci:()=>o,fA:()=>i,o8:()=>s,uY:()=>l,vt:()=>n});const l=[0,0,0],d=f(),y=c(),p=a(),m=h();Object.freeze(Object.defineProperty({__proto__:null,ONES:d,UNIT_X:y,UNIT_Y:p,UNIT_Z:m,ZEROS:l,clone:s,create:n,freeze:u,fromArray:o,fromValues:i,ones:f,unitX:c,unitY:a,unitZ:h,zeros:function(){return[0,0,0]}},Symbol.toStringTag,{value:"Module"}))},52586:(t,e,r)=>{r.d(e,{I$:()=>S,gr:()=>w,In:()=>x});var n=r(4431),s=r(1843),i=r(40804),u=r(13030),o=r(90239);class f{constructor(t,e,r,n){this.name=t,this.byteOffset=e,this.byteStride=r,this.makeDirty=n}}class c extends f{constructor(t,e,r,n){super(t,e,r,n),this.elementCount=1}}class a extends c{constructor(t,e,r,n,s){super(t,r,n,s),this._bufferViewConstructor=e}updateBuffer(t){const{byteOffset:e,byteStride:r,_bufferViewConstructor:n}=this;this._bufferView=new n(t,e,r),this.makeDirty()}set(t,e){this._bufferView.set(t,e),this.makeDirty()}}class h extends c{constructor(t,e,r,n,s){super(t,e,r,n),this._maxValue=s}updateBuffer(t){const{byteOffset:e,byteStride:r}=this;this._bufferView=new u.eI(t,e,r),this.makeDirty()}set(t,e){const{_bufferView:r,_maxValue:n,makeDirty:s}=this;(0,i.zn)(e/n*.5+.5,M),r.setValues(t,M[0],M[1],M[2]),s()}}class l extends c{constructor(t,e,r,n,s){super(t,e,r,n),this._maxValue=s}updateBuffer(t){const{byteOffset:e,byteStride:r}=this;this._bufferView=new u.XP(t,e,r),this.makeDirty()}set(t,e){const{_bufferView:r,_maxValue:n,makeDirty:s}=this;(0,i.Un)(e/n*.5+.5,b),r.setValues(t,b[0],b[1],b[2],b[3]),s()}}class d extends f{constructor(t,e,r,n){super(t,e,r,n),this.elementCount=4}}class y extends d{constructor(t,e,r,n,s){super(t,r,n,s),this._bufferViewConstructor=e}updateBuffer(t){const{byteOffset:e,byteStride:r,_bufferViewConstructor:n}=this;this._bufferView=new n(t,e,r),this.makeDirty()}setValues(t,e,r,n,s){this._bufferView.set(t,0,e),this._bufferView.set(t,1,r),this._bufferView.set(t,2,n),this._bufferView.set(t,3,s),this.makeDirty()}setElement(t,e,r){this._bufferView.set(t,e,r),this.makeDirty()}getElement(t,e){return this._bufferView.get(t,e)}setVec(t,e){this._bufferView.setVec(t,e),this.makeDirty()}setArray(t,e){this._bufferView.set(t,0,e[0]),this._bufferView.set(t,1,e[1]),this._bufferView.set(t,2,e[2]),this._bufferView.set(t,3,e[3]),this.makeDirty()}}class p extends f{constructor(t,e,r,n){super(t,e,r,n),this.elementCount=5}}class m extends p{constructor(t,e,r,n,s){super(t,r,n,s),this._bufferViewConstructor=e}updateBuffer(t){const{byteOffset:e,byteStride:r,_bufferViewConstructor:n}=this;this._bufferView=new n(t,e,r),this.makeDirty()}setValues(t,e,r,n,s,i){const u=254&n|i;this._bufferView.set(t,0,e),this._bufferView.set(t,1,r),this._bufferView.set(t,2,u),this._bufferView.set(t,3,s),this.makeDirty()}}function B(t){return(0,o.GJ)(t.ElementType)*t.ElementCount}const E=new Map([["u8",{elementCount:1,byteSize:B(u.SL),createField:(t,e,r,n)=>new a(t.name,u.SL,e,r,n)}],["packed-f24",{elementCount:1,byteSize:B(u.eI),createField:(t,e,r,n)=>new h(t.name,e,r,n,t.maxValue)}],["packed-f32",{elementCount:1,byteSize:B(u.XP),createField:(t,e,r,n)=>new l(t.name,e,r,n,t.maxValue)}],["vec4u8",{elementCount:4,byteSize:B(u.XP),createField:(t,e,r,n)=>new y(t.name,u.XP,e,r,n)}],["u8u8u7xu8",{elementCount:5,byteSize:B(u.XP),createField:(t,e,r,n)=>new m(t.name,u.XP,e,r,n)}]]),M=new Uint8Array(3),b=new Uint8Array(4);class T{constructor(t,e,r,n){this._declaration=t,this._byteOffset=e,this._byteStride=r,this._creationInfo=n,this._startTexel=Math.floor(e/4);const s=this.byteSize;this._numTexels=Math.ceil((e+s)/4)-this._startTexel;let i=this._startTexel,u=e%4;const o=[],f=["x","y","z","w"];for(let t=0;t<s;++t){const t=`texel${i}.${f[u]}`;o.push(t),++u,u>=4&&(u=0,++i)}this._glslDecodeArgumentString=o.join(", ")}get name(){return this._declaration.name}get declaration(){return this._declaration}get byteOffset(){return this._byteOffset}get byteSize(){return this._creationInfo.byteSize}get startTexel(){return this._startTexel}get numTexels(){return this._numTexels}get elementCount(){return this._creationInfo.elementCount}get glslDecodeArgumentString(){return this._glslDecodeArgumentString}createField(t){const{_declaration:e,_byteOffset:r,_byteStride:n,_creationInfo:s}=this;return s.createField(e,r,n,t)}}var g=r(85079);const S=(0,s.BP)().vec3f("position").u16("componentIndex").freeze(),_=(0,s.BP)().vec2u8("sideness").freeze(),A=(0,n.U)(_),w=(0,s.BP)().vec3f("position0").vec3f("position1").vec2i16("normalCompressed").u16("componentIndex").u8("variantOffset",{glNormalized:!0}).u8("variantStroke").u8("variantExtension",{glNormalized:!0}).freeze(),x=(0,s.BP)().vec3f("position0").vec3f("position1").vec2i16("normalCompressed").vec2i16("normal2Compressed").u16("componentIndex").u8("variantOffset",{glNormalized:!0}).u8("variantStroke").u8("variantExtension",{glNormalized:!0}).freeze(),v=(0,n.U)(w,1),C=(0,n.U)(x,1);(0,g._u)([A,v]),(0,g._u)([A,C]),new class{constructor(t){this.byteStride=0,this.numTexels=0;let e=0;const r=[];for(let n=0;n<t.length;++n){const s=t[n],{type:i}=s,u=E.get(i);null!=u&&(r.push({declaration:s,byteOffset:e,creationInfo:u}),e+=u.byteSize)}e=e+3&-4;const n=e,s=r.map(({declaration:t,byteOffset:e,creationInfo:r})=>new T(t,e,n,r));this.fields=s,this.byteStride=n,this.numTexels=Math.ceil(n/4)}}([{name:"color",type:"vec4u8"},{name:"lineWidth",type:"u8"},{name:"extensionLength",type:"u8"},{name:"materialType",type:"u8"},{name:"opacity",type:"u8"},{name:"elevationOffset",type:"packed-f32",maxValue:429496.7296}])},93406:(t,e,r)=>{r.d(e,{K:()=>f});var n=r(34727),s=r(15142),i=r(38954),u=r(51850);const o=-1;function f(t,e,r){const n=t.vertices.position,s=t.vertices.componentIndex,u=p.position0,f=p.position1,h=p.faceNormal0,d=p.faceNormal1,{edges:y,normals:m}=a(t),B=y.length/4,E=e.allocate(B);let M=0;const b=B,S=r?.allocate(b);let A=0,w=0,x=0;l.length=0;for(let t=0;t<B;++t){const e=4*t;n.getVec(y.data[e],u),n.getVec(y.data[e+1],f);const r=l.pushNew();r.index=4*t,r.length=(0,i.C)(u,f)}l.sort((t,e)=>e.length-t.length);const v=new Array,C=new Array;l.forAll(({length:t,index:a})=>{const l=y.data[a],B=y.data[a+1],b=y.data[a+2],V=y.data[a+3],N=V===o;if(n.getVec(l,u),n.getVec(B,f),N){const t=3*b;(0,i.h)(h,m.data[t],m.data[t+1],m.data[t+2]),(0,i.d)(d,h),p.componentIndex=s.get(l),p.cosAngle=(0,i.g)(h,d)}else{let t=3*b;if((0,i.h)(h,m.data[t],m.data[t+1],m.data[t+2]),t=3*V,(0,i.h)(d,m.data[t],m.data[t+1],m.data[t+2]),p.componentIndex=s.get(l),p.cosAngle=(0,i.g)(h,d),function(t,e){return t.cosAngle>e}(p,g))return;p.cosAngle<-.9999&&(0,i.d)(d,h)}w+=t,x++,N||function(t,e){return t.cosAngle<e}(p,_)?(e.write(E,M++,p),v.push(t)):c(p,T)&&(S&&r&&r.write(S,A++,p),C.push(t))});const V=new Float32Array(v.reverse()),N=new Float32Array(C.reverse()),I=S&&r?{instancesData:S.slice(0,A),lodInfo:{lengths:N}}:void 0;return{regular:{instancesData:E.slice(0,M),lodInfo:{lengths:V}},silhouette:I,averageEdgeLength:w/x}}function c(t,e){const r=(0,n.XM)(t.cosAngle);return(0,i.D)(B,t.position1,t.position0),r*((0,i.g)((0,i.f)(m,t.faceNormal0,t.faceNormal1),B)>0?-1:1)>e}function a(t){const e=t.faces.length/3,r=t.faces,n=t.neighbors,s=t.vertices.position;d.length=y.length=0;for(let t=0;t<e;t++){const e=3*t,u=n[e],f=n[e+1],c=n[e+2],a=r[e],h=r[e+1],l=r[e+2];s.getVec(a,E),s.getVec(h,M),s.getVec(l,b),(0,i.e)(M,M,E),(0,i.e)(b,b,E),(0,i.f)(E,M,b),(0,i.n)(E,E),y.pushArray(E),(u===o||a<h)&&(d.push(a),d.push(h),d.push(t),d.push(u)),(f===o||h<l)&&(d.push(h),d.push(l),d.push(t),d.push(f)),(c===o||l<a)&&(d.push(l),d.push(a),d.push(t),d.push(c))}return{edges:d,normals:y}}class h{constructor(){this.index=0,this.length=0}}const l=new s.A({allocator:t=>t||new h,deallocator:null}),d=new s.A({deallocator:null}),y=new s.A({deallocator:null}),p=new class{constructor(){this.position0=(0,u.vt)(),this.position1=(0,u.vt)(),this.faceNormal0=(0,u.vt)(),this.faceNormal1=(0,u.vt)(),this.componentIndex=0,this.cosAngle=0}},m=(0,u.vt)(),B=(0,u.vt)(),E=(0,u.vt)(),M=(0,u.vt)(),b=(0,u.vt)(),T=(0,n.kU)(4),g=Math.cos(T),S=(0,n.kU)(35),_=Math.cos(S)}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[431],{431:(t,e,r)=>{r.d(e,{o6:()=>_,HY:()=>V,hx:()=>A,Jb:()=>C});var n=r(9318);function s(t,e,r){const n=e/3,s=new Uint32Array(r+1),i=new Uint32Array(r+1),u=(t,e)=>{t<e?s[t+1]++:i[e+1]++};for(let e=0;e<n;e++){const r=t[3*e],n=t[3*e+1],s=t[3*e+2];u(r,n),u(n,s),u(s,r)}let o=0,f=0;for(let t=0;t<r;t++){const e=s[t+1],r=i[t+1];s[t+1]=o,i[t+1]=f,o+=e,f+=r}const c=new Uint32Array(6*n),a=s[r],h=(t,e,r)=>{if(t<e){const n=s[t+1]++;c[2*n]=e,c[2*n+1]=r}else{const n=i[e+1]++;c[2*a+2*n]=t,c[2*a+2*n+1]=r}};for(let e=0;e<n;e++){const r=t[3*e],n=t[3*e+1],s=t[3*e+2];h(r,n,e),h(n,s,e),h(s,r,e)}const l=(t,e)=>{const r=2*t,n=e-t;for(let t=1;t<n;t++){const e=c[r+2*t],n=c[r+2*t+1];let s=t-1;for(;s>=0&&c[r+2*s]>e;s--)c[r+2*s+2]=c[r+2*s],c[r+2*s+3]=c[r+2*s+1];c[r+2*s+2]=e,c[r+2*s+3]=n}};for(let t=0;t<r;t++)l(s[t],s[t+1]),l(a+i[t],a+i[t+1]);const d=new Int32Array(3*n),y=(e,r)=>e===t[3*r]?0:e===t[3*r+1]?1:e===t[3*r+2]?2:-1,p=(t,e)=>{const r=y(t,e);d[3*e+r]=-1},m=(t,e,r,n)=>{const s=y(t,e);d[3*e+s]=n;const i=y(r,n);d[3*n+i]=e};for(let t=0;t<r;t++){let e=s[t];const r=s[t+1];let n=i[t];const u=i[t+1];for(;e<r&&n<u;){const r=c[2*e],s=c[2*a+2*n];r===s?(m(t,c[2*e+1],s,c[2*a+2*n+1]),e++,n++):r<s?(p(t,c[2*e+1]),e++):(p(s,c[2*a+2*n+1]),n++)}for(;e<r;)p(t,c[2*e+1]),e++;for(;n<u;)p(c[2*a+2*n],c[2*a+2*n+1]),n++}return d}var i=r(1843),u=r(84521),o=r(87811),f=r(38954),c=r(51850),a=r(34727);function h(t,e,r,n,s,i=2){const u=1/(Math.abs(r)+Math.abs(n)+Math.abs(s)),o=r*u,f=n*u,c=s<=0?(o>=0?1:-1)*(1-Math.abs(f)):o,a=s<=0?(f>=0?1:-1)*(1-Math.abs(o)):f,h=e*i;t[h]=l(c),t[h+1]=l(a)}function l(t){return(0,a.qE)(Math.round(32767*t),-32767,32767)}r(11868),r(34275);class d{updateSettings(t){this.settings=t,this._edgeHashFunction=t.reducedPrecision?E:B}write(t,e,r){g.seed=this._edgeHashFunction(r);const n=g.getIntRange(0,255),s=g.getIntRange(0,this.settings.variants-1),i=g.getFloat(),u=255*(.5*function(t){return Math.abs(t)**1.2*Math.sign(t)}(-(1-Math.min(i/.7,1))+Math.max(0,i-.7)/(1-.7))+.5);t.position0.setVec(e,r.position0),t.position1.setVec(e,r.position1),t.componentIndex.set(e,r.componentIndex),t.variantOffset.set(e,n),t.variantStroke.set(e,s),t.variantExtension.set(e,u)}}const y=new Float32Array(6),p=new Uint32Array(y.buffer),m=new Uint32Array(1);function B(t){return y[0]=t.position0[0],y[1]=t.position0[1],y[2]=t.position0[2],y[3]=t.position1[0],y[4]=t.position1[1],y[5]=t.position1[2],m[0]=31*(31*(31*(31*(31*(166811+p[0])+p[1])+p[2])+p[3])+p[4])+p[5],m[0]}function E(t){const e=y;e[0]=b(t.position0[0]),e[1]=b(t.position0[1]),e[2]=b(t.position0[2]),e[3]=b(t.position1[0]),e[4]=b(t.position1[1]),e[5]=b(t.position1[2]),m[0]=5381;for(let t=0;t<p.length;t++)m[0]=31*m[0]+p[t];return m[0]}const M=1e4;function b(t){return Math.round(t*M)/M}const T=(0,c.vt)(),g=new o.A;var S=r(93406);function _(t){const e=A(t.data,t.skipDeduplicate,t.indices,t.indicesLength);return x.updateSettings(t.writerSettings),v.updateSettings(t.writerSettings),(0,S.K)(e,x,v)}function A(t,e,r,i){if(e){const e=s(r,i,t.count);return new w(r,i,e,t)}const o=(0,n.b)(t.buffer,t.stride/4,{originalIndices:r}),f=s(o.indices,i,o.uniqueCount);return{faces:o.indices,facesLength:o.indices.length,neighbors:f,vertices:u.I$.createView(o.buffer)}}class w{constructor(t,e,r,n){this.faces=t,this.facesLength=e,this.neighbors=r,this.vertices=n}}const x=new class{constructor(){this._commonWriter=new d}updateSettings(t){this._commonWriter.updateSettings(t)}allocate(t){return u.gr.createBuffer(t)}write(t,e,r){this._commonWriter.write(t,e,r),(0,f.i)(T,r.faceNormal0,r.faceNormal1),(0,f.n)(T,T);const{typedBuffer:n,typedBufferStride:s}=t.normalCompressed;h(n,e,T[0],T[1],T[2],s)}},v=new class{constructor(){this._commonWriter=new d}updateSettings(t){this._commonWriter.updateSettings(t)}allocate(t){return u.In.createBuffer(t)}write(t,e,r){this._commonWriter.write(t,e,r);{const{typedBuffer:n,typedBufferStride:s}=t.normalCompressed;h(n,e,r.faceNormal0[0],r.faceNormal0[1],r.faceNormal0[2],s)}{const{typedBuffer:n,typedBufferStride:s}=t.normal2Compressed;h(n,e,r.faceNormal1[0],r.faceNormal1[1],r.faceNormal1[2],s)}}},C=(0,i.BP)().vec3f("position0").vec3f("position1"),V=(0,i.BP)().vec3f("position0").vec3f("position1").u16("componentIndex")},620:(t,e,r)=>{r.d(e,{O_:()=>i,vA:()=>s}),r(48163),r(87317),(0,r(91829).vt)();class n{constructor(t){this.message=t}toString(){return`AssertException: ${this.message}`}}function s(t,e="Assertion"){if(!t){const t=new Error(e).stack;throw new n(`${e} at ${t}`)}}function i(t,e,r,n){let s,i=(r[0]-t[0])/e[0],u=(n[0]-t[0])/e[0];i>u&&(s=i,i=u,u=s);let o=(r[1]-t[1])/e[1],f=(n[1]-t[1])/e[1];if(o>f&&(s=o,o=f,f=s),i>f||o>u)return!1;o>i&&(i=o),f<u&&(u=f);let c=(r[2]-t[2])/e[2],a=(n[2]-t[2])/e[2];return c>a&&(s=c,c=a,a=s),!(i>a||c>u||(a<u&&(u=a),u<0))}},9318:(t,e,r)=>{r.d(e,{b:()=>i});var n=r(34727),s=r(97146);function i(t,e,r){const i=Array.isArray(t),a=i?t.length/e:t.byteLength/(4*e),h=i?t:new Uint32Array(t,0,a*e),l=r?.minReduction??0,d=r?.originalIndices||null,y=d?d.length:0,p=r?.componentOffsets||null;let m=0;if(p)for(let t=0;t<p.length-1;t++){const e=p[t+1]-p[t];e>m&&(m=e)}else m=a;const B=Math.floor(1.1*m)+1;(null==c||c.length<2*B)&&(c=new Uint32Array((0,n.cU)(2*B)));for(let t=0;t<2*B;t++)c[t]=0;let E=0;const M=!!p&&!!d,b=M?y:a;let T=(0,s.my)(a);const g=new Uint32Array(y),S=1.96;let _=0!==l?Math.ceil(4*S*S/(l*l)*l*(1-l)):b,A=1,w=p?p[1]:b;for(let t=0;t<b;t++){if(t===_){const e=1-E/t;if(e+S*Math.sqrt(e*(1-e)/t)<l)return null;_*=2}if(t===w){for(let t=0;t<2*B;t++)c[t]=0;if(d)for(let t=p[A-1];t<p[A];t++)g[t]=T[d[t]];w=p[++A]}const r=M?d[t]:t,n=r*e,s=f(h,n,e);let i=s%B,o=E;for(;0!==c[2*i+1];){if(c[2*i]===s){const t=c[2*i+1]-1;if(u(h,n,t*e,e)){o=T[t];break}}i++,i>=B&&(i-=B)}o===E&&(c[2*i]=s,c[2*i+1]=r+1,E++),T[r]=o}if(0!==l&&1-E/a<l)return null;if(M){for(let t=p[A-1];t<g.length;t++)g[t]=T[d[t]];T=(0,s.uW)(g)}const x=i?new Array(E):new Uint32Array(E*e);E=0;for(let t=0;t<b;t++)T[t]===E&&(o(h,(M?d[t]:t)*e,x,E*e,e),E++);if(d&&!M){const t=new Uint32Array(y);for(let e=0;e<t.length;e++)t[e]=T[d[e]];T=(0,s.uW)(t)}return{buffer:Array.isArray(x)?x:x.buffer,indices:T,uniqueCount:E}}function u(t,e,r,n){for(let s=0;s<n;s++)if(t[e+s]!==t[r+s])return!1;return!0}function o(t,e,r,n,s){for(let i=0;i<s;i++)r[n+i]=t[e+i]}function f(t,e,r){let n=0;for(let s=0;s<r;s++)n=t[e+s]+n|0,n=n+(n<<11)+(n>>>2)|0;return n>>>0}let c=null},13030:(t,e,r)=>{r.d(e,{Y$:()=>p,XW:()=>y,qB:()=>w,Qt:()=>$,My:()=>J,bf:()=>R,jZ:()=>g,j0:()=>S,Sx:()=>_,E$:()=>A,h:()=>F,P:()=>z,SL:()=>V,gH:()=>B,ZD:()=>m,si:()=>x,mJ:()=>W,UL:()=>G,D6:()=>k,Yi:()=>O,An:()=>D,LC:()=>N,xs:()=>M,EC:()=>E,Xm:()=>v,Vp:()=>Z,zD:()=>K,m8:()=>X,nS:()=>L,H$:()=>q,eI:()=>I,Eq:()=>T,jz:()=>b,Aj:()=>C,E7:()=>H,Y4:()=>Q,TX:()=>j,Uz:()=>U,ml:()=>Y,XP:()=>P});var n=r(20498);class s{static{this.ElementCount=9}constructor(t,e,r=0,n,s){this.TypedArrayConstructor=t,this.elementCount=9;const i=this.TypedArrayConstructor;void 0===n&&(n=9*i.BYTES_PER_ELEMENT);const u=0===e.byteLength?0:r;this.typedBuffer=null==s?new i(e,u):new i(e,u,(s-r)/i.BYTES_PER_ELEMENT),this.typedBufferStride=n/i.BYTES_PER_ELEMENT,this.count=Math.ceil(this.typedBuffer.length/this.typedBufferStride),this.stride=this.typedBufferStride*this.TypedArrayConstructor.BYTES_PER_ELEMENT}sliceBuffer(t,e,r=this.count-e){const n=this.typedBuffer.byteOffset+e*this.stride;return new t(this.buffer,n,this.stride,n+r*this.stride)}getMat(t,e){let r=t*this.typedBufferStride;for(let t=0;t<9;t++)e[t]=this.typedBuffer[r++];return e}setMat(t,e){let r=t*this.typedBufferStride;for(let t=0;t<9;t++)this.typedBuffer[r++]=e[t]}get(t,e){return this.typedBuffer[t*this.typedBufferStride+e]}set(t,e,r){this.typedBuffer[t*this.typedBufferStride+e]=r}copyFrom(t,e,r){const n=this.typedBuffer,s=e.typedBuffer;let i=t*this.typedBufferStride,u=r*e.typedBufferStride;for(let t=0;t<9;++t)n[i++]=s[u++]}get buffer(){return this.typedBuffer.buffer}}class i{static{this.ElementCount=16}constructor(t,e,r=0,n,s){this.TypedArrayConstructor=t,this.elementCount=16;const i=this.TypedArrayConstructor;void 0===n&&(n=16*i.BYTES_PER_ELEMENT);const u=0===e.byteLength?0:r;this.typedBuffer=null==s?new i(e,u):new i(e,u,(s-r)/i.BYTES_PER_ELEMENT),this.typedBufferStride=n/i.BYTES_PER_ELEMENT,this.count=Math.ceil(this.typedBuffer.length/this.typedBufferStride),this.stride=this.typedBufferStride*this.TypedArrayConstructor.BYTES_PER_ELEMENT}sliceBuffer(t,e,r=this.count-e){const n=this.typedBuffer.byteOffset+e*this.stride;return new t(this.buffer,n,this.stride,n+r*this.stride)}getMat(t,e){let r=t*this.typedBufferStride;for(let t=0;t<16;t++)e[t]=this.typedBuffer[r++];return e}setMat(t,e){let r=t*this.typedBufferStride;for(let t=0;t<16;t++)this.typedBuffer[r++]=e[t]}get(t,e){return this.typedBuffer[t*this.typedBufferStride+e]}set(t,e,r){this.typedBuffer[t*this.typedBufferStride+e]=r}copyFrom(t,e,r){this.copyFromTypedBuffer(t,e.typedBuffer,r*e.typedBufferStride)}copyFromTypedBuffer(t,e,r){const n=this.typedBuffer;let s=t*this.typedBufferStride;for(let t=0;t<16;++t)n[s++]=e[r++]}get buffer(){return this.typedBuffer.buffer}}class u{static{this.ElementCount=1}constructor(t,e,r=0,n,s){this.TypedArrayConstructor=t,this.elementCount=1;const i=this.TypedArrayConstructor;void 0===n&&(n=i.BYTES_PER_ELEMENT);const u=0===e.byteLength?0:r;this.typedBuffer=null==s?new i(e,u):new i(e,u,(s-r)/i.BYTES_PER_ELEMENT),this.stride=n,this.typedBufferStride=n/i.BYTES_PER_ELEMENT,this.count=Math.ceil(this.typedBuffer.length/this.typedBufferStride)}sliceBuffer(t,e,r=this.count-e){const n=this.typedBuffer.byteOffset+e*this.stride;return new t(this.buffer,n,this.stride,n+r*this.stride)}get(t){return this.typedBuffer[t*this.typedBufferStride]}set(t,e){this.typedBuffer[t*this.typedBufferStride]=e}get buffer(){return this.typedBuffer.buffer}}var o=r(37585);class f{static{this.ElementCount=2}constructor(t,e,r=0,n,s){this.TypedArrayConstructor=t,this.start=r,this.elementCount=2;const i=this.TypedArrayConstructor;void 0===n&&(n=2*i.BYTES_PER_ELEMENT);const u=0===e.byteLength?0:r;this.typedBuffer=null==s?new i(e,u):new i(e,u,(s-r)/i.BYTES_PER_ELEMENT),this.typedBufferStride=n/i.BYTES_PER_ELEMENT,this.count=Math.ceil(this.typedBuffer.length/this.typedBufferStride),this.stride=this.typedBufferStride*this.TypedArrayConstructor.BYTES_PER_ELEMENT}sliceBuffer(t,e,r=this.count-e){const n=this.typedBuffer.byteOffset+e*this.stride;return new t(this.buffer,n,this.stride,n+r*this.stride)}getVec(t,e){return t*=this.typedBufferStride,(0,o.hZ)(e,this.typedBuffer[t],this.typedBuffer[t+1])}setVec(t,e){t*=this.typedBufferStride,this.typedBuffer[t++]=e[0],this.typedBuffer[t]=e[1]}get(t,e){return this.typedBuffer[t*this.typedBufferStride+e]}set(t,e,r){this.typedBuffer[t*this.typedBufferStride+e]=r}setValues(t,e,r){t*=this.typedBufferStride,this.typedBuffer[t++]=e,this.typedBuffer[t]=r}copyFrom(t,e,r){const n=this.typedBuffer,s=e.typedBuffer;let i=t*this.typedBufferStride,u=r*e.typedBufferStride;n[i++]=s[u++],n[i]=s[u]}get buffer(){return this.typedBuffer.buffer}}var c=r(38954);class a{static{this.ElementCount=3}constructor(t,e,r=0,n,s){this.TypedArrayConstructor=t,this.elementCount=3;const i=this.TypedArrayConstructor;void 0===n&&(n=3*i.BYTES_PER_ELEMENT);const u=0===e.byteLength?0:r;this.typedBuffer=null==s?new i(e,u):new i(e,u,(s-r)/i.BYTES_PER_ELEMENT),this.typedBufferStride=n/i.BYTES_PER_ELEMENT,this.count=Math.ceil(this.typedBuffer.length/this.typedBufferStride),this.stride=this.typedBufferStride*this.TypedArrayConstructor.BYTES_PER_ELEMENT}sliceBuffer(t,e,r=this.count-e){const n=this.typedBuffer.byteOffset+e*this.stride;return new t(this.buffer,n,this.stride,n+r*this.stride)}getVec(t,e){return t*=this.typedBufferStride,(0,c.h)(e,this.typedBuffer[t],this.typedBuffer[t+1],this.typedBuffer[t+2])}setVec(t,e){t*=this.typedBufferStride,this.typedBuffer[t++]=e[0],this.typedBuffer[t++]=e[1],this.typedBuffer[t]=e[2]}get(t,e){return this.typedBuffer[t*this.typedBufferStride+e]}set(t,e,r){this.typedBuffer[t*this.typedBufferStride+e]=r}setValues(t,e,r,n){t*=this.typedBufferStride,this.typedBuffer[t++]=e,this.typedBuffer[t++]=r,this.typedBuffer[t]=n}copyFrom(t,e,r){const n=this.typedBuffer,s=e.typedBuffer;let i=t*this.typedBufferStride,u=r*e.typedBufferStride;n[i++]=s[u++],n[i++]=s[u++],n[i]=s[u]}get buffer(){return this.typedBuffer.buffer}}var h=r(87317);class l{static{this.ElementCount=4}constructor(t,e,r=0,n,s){this.TypedArrayConstructor=t,this.start=r,this.elementCount=4;const i=this.TypedArrayConstructor;void 0===n&&(n=4*i.BYTES_PER_ELEMENT);const u=0===e.byteLength?0:r;this.typedBuffer=null==s?new i(e,u):new i(e,u,(s-r)/i.BYTES_PER_ELEMENT),this.typedBufferStride=n/i.BYTES_PER_ELEMENT,this.count=Math.ceil(this.typedBuffer.length/this.typedBufferStride),this.stride=this.typedBufferStride*this.TypedArrayConstructor.BYTES_PER_ELEMENT}sliceBuffer(t,e,r=this.count-e){const n=this.typedBuffer.byteOffset+e*this.stride;return new t(this.buffer,n,this.stride,n+r*this.stride)}getVec(t,e){return t*=this.typedBufferStride,(0,h.s)(e,this.typedBuffer[t++],this.typedBuffer[t++],this.typedBuffer[t++],this.typedBuffer[t])}setVec(t,e){t*=this.typedBufferStride,this.typedBuffer[t++]=e[0],this.typedBuffer[t++]=e[1],this.typedBuffer[t++]=e[2],this.typedBuffer[t]=e[3]}get(t,e){return this.typedBuffer[t*this.typedBufferStride+e]}set(t,e,r){this.typedBuffer[t*this.typedBufferStride+e]=r}setValues(t,e,r,n,s){t*=this.typedBufferStride,this.typedBuffer[t++]=e,this.typedBuffer[t++]=r,this.typedBuffer[t++]=n,this.typedBuffer[t]=s}copyFrom(t,e,r){const n=this.typedBuffer,s=e.typedBuffer;let i=t*this.typedBufferStride,u=r*e.typedBufferStride;n[i++]=s[u++],n[i++]=s[u++],n[i++]=s[u++],n[i]=s[u]}get buffer(){return this.typedBuffer.buffer}}var d=r(620);class y extends u{constructor(t,e=0,r,s){(0,d.vA)(n.SX),super((0,n.pX)(),t,e,r,s),this.elementType="f16"}static{this.ElementType="f16"}}class p extends u{constructor(t,e=0,r,n){super(Float32Array,t,e,r,n),this.elementType="f32"}static{this.ElementType="f32"}}class m extends f{constructor(t,e=0,r,s){(0,d.vA)(n.SX),super((0,n.pX)(),t,e,r,s),this.elementType="f16"}slice(t,e){return this.sliceBuffer(m,t,e)}static{this.ElementType="f16"}}class B extends f{constructor(t,e=0,r,n){super(Float32Array,t,e,r,n),this.elementType="f32"}slice(t,e){return this.sliceBuffer(B,t,e)}static{this.ElementType="f32"}}class E extends a{constructor(t,e=0,r,s){(0,d.vA)(n.SX),super((0,n.pX)(),t,e,r,s),this.elementType="f16"}slice(t,e){return this.sliceBuffer(E,t,e)}static{this.ElementType="f16"}}class M extends a{constructor(t,e=0,r,n){super(Float32Array,t,e,r,n),this.elementType="f32"}slice(t,e){return this.sliceBuffer(M,t,e)}static fromTypedArray(t,e){return new M(t.buffer,t.byteOffset,e,t.byteOffset+t.byteLength)}static{this.ElementType="f32"}}class b extends l{constructor(t,e=0,r,s){(0,d.vA)(n.SX),super((0,n.pX)(),t,e,r,s),this.elementType="f16"}slice(t,e){return this.sliceBuffer(b,t,e)}static{this.ElementType="f16"}}class T extends l{constructor(t,e=0,r,n){super(Float32Array,t,e,r,n),this.elementType="f32"}slice(t,e){return this.sliceBuffer(T,t,e)}static{this.ElementType="f32"}}class g extends s{constructor(t,e=0,r,n){super(Float32Array,t,e,r,n),this.elementType="f32"}slice(t,e){return this.sliceBuffer(g,t,e)}static{this.ElementType="f32"}}class S extends s{constructor(t,e=0,r,n){super(Float64Array,t,e,r,n),this.elementType="f64"}slice(t,e){return this.sliceBuffer(S,t,e)}static{this.ElementType="f64"}}class _ extends i{constructor(t,e=0,r,n){super(Float32Array,t,e,r,n),this.elementType="f32"}slice(t,e){return this.sliceBuffer(_,t,e)}static{this.ElementType="f32"}}class A extends i{constructor(t,e=0,r,n){super(Float64Array,t,e,r,n),this.elementType="f64"}slice(t,e){return this.sliceBuffer(A,t,e)}static{this.ElementType="f64"}}class w extends u{constructor(t,e=0,r,n){super(Float64Array,t,e,r,n),this.elementType="f64"}slice(t,e){return this.sliceBuffer(w,t,e)}static{this.ElementType="f64"}}class x extends f{constructor(t,e=0,r,n){super(Float64Array,t,e,r,n),this.elementType="f64"}slice(t,e){return this.sliceBuffer(x,t,e)}static{this.ElementType="f64"}}class v extends a{constructor(t,e=0,r,n){super(Float64Array,t,e,r,n),this.elementType="f64"}slice(t,e){return this.sliceBuffer(v,t,e)}static fromTypedArray(t,e){return new v(t.buffer,t.byteOffset,e,t.byteOffset+t.byteLength)}static{this.ElementType="f64"}}class C extends l{constructor(t,e=0,r,n){super(Float64Array,t,e,r,n),this.elementType="f64"}slice(t,e){return this.sliceBuffer(C,t,e)}static{this.ElementType="f64"}}class V extends u{constructor(t,e=0,r,n){super(Uint8Array,t,e,r,n),this.elementType="u8"}slice(t,e){return this.sliceBuffer(V,t,e)}static{this.ElementType="u8"}}class N extends f{constructor(t,e=0,r,n){super(Uint8Array,t,e,r,n),this.elementType="u8"}slice(t,e){return this.sliceBuffer(N,t,e)}static{this.ElementType="u8"}}class I extends a{constructor(t,e=0,r,n){super(Uint8Array,t,e,r,n),this.elementType="u8"}slice(t,e){return this.sliceBuffer(I,t,e)}static fromTypedArray(t,e){return new I(t.buffer,t.byteOffset,e,t.byteOffset+t.byteLength)}static{this.ElementType="u8"}}class P extends l{constructor(t,e=0,r,n){super(Uint8Array,t,e,r,n),this.elementType="u8"}slice(t,e){return this.sliceBuffer(P,t,e)}static{this.ElementType="u8"}}class F extends u{constructor(t,e=0,r,n){super(Uint16Array,t,e,r,n),this.elementType="u16"}slice(t,e){return this.sliceBuffer(F,t,e)}static{this.ElementType="u16"}}class O extends f{constructor(t,e=0,r,n){super(Uint16Array,t,e,r,n),this.elementType="u16"}slice(t,e){return this.sliceBuffer(O,t,e)}static{this.ElementType="u16"}}class L extends a{constructor(t,e=0,r,n){super(Uint16Array,t,e,r,n),this.elementType="u16"}slice(t,e){return this.sliceBuffer(L,t,e)}static{this.ElementType="u16"}}class U extends l{constructor(t,e=0,r,n){super(Uint16Array,t,e,r,n),this.elementType="u16"}slice(t,e){return this.sliceBuffer(U,t,e)}static{this.ElementType="u16"}}class z extends u{constructor(t,e=0,r,n){super(Uint32Array,t,e,r,n),this.elementType="u32"}slice(t,e){return this.sliceBuffer(z,t,e)}static{this.ElementType="u32"}}class D extends f{constructor(t,e=0,r,n){super(Uint32Array,t,e,r,n),this.elementType="u32"}slice(t,e){return this.sliceBuffer(D,t,e)}static{this.ElementType="u32"}}class q extends a{constructor(t,e=0,r,n){super(Uint32Array,t,e,r,n),this.elementType="u32"}slice(t,e){return this.sliceBuffer(q,t,e)}static{this.ElementType="u32"}}class Y extends l{constructor(t,e=0,r,n){super(Uint32Array,t,e,r,n),this.elementType="u32"}slice(t,e){return this.sliceBuffer(Y,t,e)}static{this.ElementType="u32"}}class R extends u{constructor(t,e=0,r,n){super(Int8Array,t,e,r,n),this.elementType="i8"}slice(t,e){return this.sliceBuffer(R,t,e)}static{this.ElementType="i8"}}class k extends f{constructor(t,e=0,r,n){super(Int8Array,t,e,r,n),this.elementType="i8"}slice(t,e){return this.sliceBuffer(k,t,e)}static{this.ElementType="i8"}}class X extends a{constructor(t,e=0,r,n){super(Int8Array,t,e,r,n),this.elementType="i8"}slice(t,e){return this.sliceBuffer(X,t,e)}static{this.ElementType="i8"}}class j extends l{constructor(t,e=0,r,n){super(Int8Array,t,e,r,n),this.elementType="i8"}slice(t,e){return this.sliceBuffer(j,t,e)}static{this.ElementType="i8"}}class $ extends u{constructor(t,e=0,r,n){super(Int16Array,t,e,r,n),this.elementType="i16"}slice(t,e){return this.sliceBuffer($,t,e)}static{this.ElementType="i16"}}class W extends f{constructor(t,e=0,r,n){super(Int16Array,t,e,r,n),this.elementType="i16"}slice(t,e){return this.sliceBuffer(W,t,e)}static{this.ElementType="i16"}}class Z extends a{constructor(t,e=0,r,n){super(Int16Array,t,e,r,n),this.elementType="i16"}slice(t,e){return this.sliceBuffer(Z,t,e)}static{this.ElementType="i16"}}class H extends l{constructor(t,e=0,r,n){super(Int16Array,t,e,r,n),this.elementType="i16"}slice(t,e){return this.sliceBuffer(H,t,e)}static{this.ElementType="i16"}}class J extends u{constructor(t,e=0,r,n){super(Int32Array,t,e,r,n),this.elementType="i32"}slice(t,e){return this.sliceBuffer(J,t,e)}static{this.ElementType="i32"}}class G extends f{constructor(t,e=0,r,n){super(Int32Array,t,e,r,n),this.elementType="i32"}slice(t,e){return this.sliceBuffer(G,t,e)}static{this.ElementType="i32"}}class K extends a{constructor(t,e=0,r,n){super(Int32Array,t,e,r,n),this.elementType="i32"}slice(t,e){return this.sliceBuffer(K,t,e)}static{this.ElementType="i32"}}class Q extends l{constructor(t,e=0,r,n){super(Int32Array,t,e,r,n),this.elementType="i32"}slice(t,e){return this.sliceBuffer(Q,t,e)}static{this.ElementType="i32"}}},20498:(t,e,r)=>{r.d(e,{SX:()=>i,pX:()=>s});let n=globalThis.Float16Array;function s(){return n}let i=!!n},34304:(t,e,r)=>{r.d(e,{DF:()=>f,FD:()=>s,Ov:()=>i,ct:()=>c});let n=1e-6;function s(){return n}const i=Math.random,u=Math.PI/180,o=180/Math.PI;function f(t){return t*u}function c(t){return t*o}Object.freeze(Object.defineProperty({__proto__:null,RANDOM:i,equals:function(t,e){return Math.abs(t-e)<=n*Math.max(1,Math.abs(t),Math.abs(e))},getEpsilon:s,setEpsilon:function(t){n=t},toDegree:c,toRadian:f},Symbol.toStringTag,{value:"Module"}))},34727:(t,e,r)=>{r.d(e,{$8:()=>S,Cc:()=>u,Hx:()=>p,Io:()=>T,KJ:()=>c,OS:()=>w,Sp:()=>l,XM:()=>a,YN:()=>h,ZH:()=>y,b6:()=>g,cU:()=>s,gg:()=>d,hs:()=>o,kU:()=>f,or:()=>A,pF:()=>v,pq:()=>x,qE:()=>i});const n=new Float32Array(1);function s(t){--t;for(let e=1;e<32;e<<=1)t|=t>>e;return t+1}function i(t,e,r){return Math.min(Math.max(t,e),r)}function u(t,e,r){return t+(e-t)*r}function o(t,e,r,n,s){return u(n,s,(t-e)/(r-e))}function f(t){return t*Math.PI/180}function c(t){return 180*t/Math.PI}function a(t){return Math.acos(i(t,-1,1))}function h(t){return Math.asin(i(t,-1,1))}function l(t,e,r=1e-6){return t===e||!(!Number.isFinite(t)||!Number.isFinite(e))&&(t>e?t-e:e-t)<=r}function d(t,e,r=1e-6){return!l(t,e,r)&&t>e}function y(t,e,r=1e-6){return!l(t,e,r)&&t<e}function p(t,e,r=1e-6){return l(t,e,r)||t>e}const m=new DataView(new ArrayBuffer(Float64Array.BYTES_PER_ELEMENT));function B(t){return m.setFloat64(0,t),m.getBigInt64(0)}const E=1000000n,M=b(1);function b(t){const e=B(t=Math.abs(t)),r=function(t){return m.setBigInt64(0,t),m.getFloat64(0)}(e<=E?E:e-E);return Math.abs(t-r)}function T(t,e,r=M){if(t===e)return!0;if(!Number.isFinite(t)||!Number.isFinite(e))return!1;if(null!=r&&b(Math.min(Math.abs(t),Math.abs(e)))<r)return Math.abs(t-e)<=r;const n=B(t),s=B(e);return n<0==s<0&&!((n<s?s-n:n-s)>E)}function g(t,e,r=1e-6){if(t===e)return!0;if(!Number.isFinite(t)||!Number.isFinite(e))return!1;const n=Math.abs(t-e),s=Math.abs(t),i=Math.abs(e);if(0===t||0===e||s<1e-12&&i<1e-12){if(n>.01*r)return!1}else if(n/(s+i)>r)return!1;return!0}function S(t){return _(Math.max(-x,Math.min(t,x)))}function _(t){return n[0]=t,n[0]}function A(t){const e=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],r=t[3]*t[3]+t[4]*t[4]+t[5]*t[5],n=t[6]*t[6]+t[7]*t[7]+t[8]*t[8];return!(l(e,1)&&l(r,1)&&l(n,1))}function w(t,e){return(t%e+e)%e}const x=_(34028234663852886e22);function v(t,e,r){if(void 0===r||0===+r)return Math[t](e);if(e=+e,r=+r,isNaN(e)||"number"!=typeof r||r%1!=0)return NaN;let n=e.toString().split("e");return n=(e=Math[t](+(n[0]+"e"+(n[1]?+n[1]-r:-r)))).toString().split("e"),+(n[0]+"e"+(n[1]?+n[1]+r:r))}},37585:(t,e,r)=>{r.d(e,{C:()=>s,Cc:()=>m,Io:()=>h,S8:()=>p,WQ:()=>u,aI:()=>b,e$:()=>E,hG:()=>l,hZ:()=>i,hs:()=>a,jb:()=>g,l0:()=>B,t2:()=>M});var n=r(34304);function s(t,e){return t[0]=e[0],t[1]=e[1],t}function i(t,e,r){return t[0]=e,t[1]=r,t}function u(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t}function o(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t}function f(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t}function c(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t}function a(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t}function h(t,e){const r=e[0]-t[0],n=e[1]-t[1];return Math.sqrt(r*r+n*n)}function l(t,e){const r=e[0]-t[0],n=e[1]-t[1];return r*r+n*n}function d(t){const e=t[0],r=t[1];return Math.sqrt(e*e+r*r)}function y(t){const e=t[0],r=t[1];return e*e+r*r}function p(t,e){const r=e[0],n=e[1];let s=r*r+n*n;return s>0&&(s=1/Math.sqrt(s),t[0]=e[0]*s,t[1]=e[1]*s),t}function m(t,e,r,n){const s=e[0],i=e[1];return t[0]=s+n*(r[0]-s),t[1]=i+n*(r[1]-i),t}function B(t,e,r){const n=e[0],s=e[1];return t[0]=r[0]*n+r[2]*s+r[4],t[1]=r[1]*n+r[3]*s+r[5],t}function E(t,e,r,n){const s=e[0]-r[0],i=e[1]-r[1],u=Math.sin(n),o=Math.cos(n);return t[0]=s*o-i*u+r[0],t[1]=s*u+i*o+r[1],t}function M(t,e){return t[0]===e[0]&&t[1]===e[1]}function b(t,e){const r=t[0],s=t[1],i=e[0],u=e[1],o=(0,n.FD)();return Math.abs(r-i)<=o*Math.max(1,Math.abs(r),Math.abs(i))&&Math.abs(s-u)<=o*Math.max(1,Math.abs(s),Math.abs(u))}const T=d,g=o,S=f,_=c,A=h,w=l,x=y;Object.freeze(Object.defineProperty({__proto__:null,add:u,angle:function(t,e){const r=t[0],n=t[1],s=e[0],i=e[1];let u=r*r+n*n;u>0&&(u=1/Math.sqrt(u));let o=s*s+i*i;o>0&&(o=1/Math.sqrt(o));const f=(r*s+n*i)*u*o;return f>1?0:f<-1?Math.PI:Math.acos(f)},ceil:function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t},copy:s,cross:function(t,e,r){const n=e[0]*r[1]-e[1]*r[0];return t[0]=t[1]=0,t[2]=n,t},dist:A,distance:h,div:_,divide:c,dot:function(t,e){return t[0]*e[0]+t[1]*e[1]},equals:b,exactEquals:M,floor:function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t},inverse:function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t},len:T,length:d,lerp:m,max:function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t},min:function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t},mul:S,multiply:f,negate:function(t,e){return t[0]=-e[0],t[1]=-e[1],t},normalize:p,projectAndScale:function(t,e,r,n,s){let i=e[0]-r[0],u=e[1]-r[1];const o=(n[0]*i+n[1]*u)*(s-1);return i=n[0]*o,u=n[1]*o,t[0]=e[0]+i,t[1]=e[1]+u,t},random:function(t,e=1){const r=2*(0,n.Ov)()*Math.PI;return t[0]=Math.cos(r)*e,t[1]=Math.sin(r)*e,t},rotate:E,round:function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t},scale:a,scaleAndAdd:function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t},set:i,sqrDist:w,sqrLen:x,squaredDistance:l,squaredLength:y,str:function(t){return"vec2("+t[0]+", "+t[1]+")"},sub:g,subtract:o,transformMat2:function(t,e,r){const n=e[0],s=e[1];return t[0]=r[0]*n+r[2]*s,t[1]=r[1]*n+r[3]*s,t},transformMat2d:B,transformMat3:function(t,e,r){const n=e[0],s=e[1];return t[0]=r[0]*n+r[3]*s+r[6],t[1]=r[1]*n+r[4]*s+r[7],t},transformMat4:function(t,e,r){const n=e[0],s=e[1];return t[0]=r[0]*n+r[4]*s+r[12],t[1]=r[1]*n+r[5]*s+r[13],t}},Symbol.toStringTag,{value:"Module"}))},38954:(t,e,r)=>{r.d(e,{A:()=>a,B:()=>q,C:()=>h,D:()=>E,E:()=>F,F:()=>b,G:()=>P,H:()=>z,a:()=>O,b:()=>i,c:()=>B,d:()=>u,e:()=>c,f:()=>A,g:()=>_,h:()=>o,i:()=>f,j:()=>m,l:()=>w,m:()=>I,n:()=>S,o:()=>g,p:()=>x,q:()=>T,r:()=>C,s:()=>M,t:()=>v,u:()=>l,v:()=>D,w:()=>Y,x:()=>p,y:()=>y,z:()=>d});var n=r(51850),s=r(34304);function i(t){const e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)}function u(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function o(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}function f(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t}function c(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}function a(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t}function h(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}function l(t,e){return t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t}function d(t,e){return t[0]=Math.sign(e[0]),t[1]=Math.sign(e[1]),t[2]=Math.sign(e[2]),t}function y(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t}function p(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t}function m(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}function B(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}function E(t,e){const r=e[0]-t[0],n=e[1]-t[1],s=e[2]-t[2];return Math.sqrt(r*r+n*n+s*s)}function M(t,e){const r=e[0]-t[0],n=e[1]-t[1],s=e[2]-t[2];return r*r+n*n+s*s}function b(t){const e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}function T(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}function g(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t}function S(t,e){const r=e[0],n=e[1],s=e[2];let i=r*r+n*n+s*s;return i>0&&(i=1/Math.sqrt(i),t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i),t}function _(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function A(t,e,r){const n=e[0],s=e[1],i=e[2],u=r[0],o=r[1],f=r[2];return t[0]=s*f-i*o,t[1]=i*u-n*f,t[2]=n*o-s*u,t}function w(t,e,r,n){const s=e[0],i=e[1],u=e[2];return t[0]=s+n*(r[0]-s),t[1]=i+n*(r[1]-i),t[2]=u+n*(r[2]-u),t}function x(t,e,r){const n=e[0],s=e[1],i=e[2];return t[0]=r[0]*n+r[4]*s+r[8]*i+r[12],t[1]=r[1]*n+r[5]*s+r[9]*i+r[13],t[2]=r[2]*n+r[6]*s+r[10]*i+r[14],t}function v(t,e,r){const n=e[0],s=e[1],i=e[2];return t[0]=n*r[0]+s*r[3]+i*r[6],t[1]=n*r[1]+s*r[4]+i*r[7],t[2]=n*r[2]+s*r[5]+i*r[8],t}function C(t,e,r){const n=r[0],s=r[1],i=r[2],u=r[3],o=e[0],f=e[1],c=e[2],a=s*c-i*f,h=i*o-n*c,l=n*f-s*o,d=s*l-i*h,y=i*a-n*l,p=n*h-s*a,m=2*u;return t[0]=o+a*m+2*d,t[1]=f+h*m+2*y,t[2]=c+l*m+2*p,t}const V=(0,n.vt)(),N=(0,n.vt)();function I(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}function P(t,e){if(t===e)return!0;const r=t[0],n=t[1],i=t[2],u=e[0],o=e[1],f=e[2],c=(0,s.FD)();return Math.abs(r-u)<=c*Math.max(1,Math.abs(r),Math.abs(u))&&Math.abs(n-o)<=c*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(i-f)<=c*Math.max(1,Math.abs(i),Math.abs(f))}function F(t,e,r){const n=r[0]-e[0],s=r[1]-e[1],i=r[2]-e[2];let u=n*n+s*s+i*i;return u>0?(u=1/Math.sqrt(u),t[0]=n*u,t[1]=s*u,t[2]=i*u,t):(t[0]=0,t[1]=0,t[2]=0,t)}const O=c,L=a,U=h,z=E,D=M,q=i,Y=b;Object.freeze(Object.defineProperty({__proto__:null,abs:l,add:f,angle:function(t,e){S(V,t),S(N,e);const r=_(V,N);return r>1?0:r<-1?Math.PI:Math.acos(r)},bezier:function(t,e,r,n,s,i){const u=1-i,o=u*u,f=i*i,c=o*u,a=3*i*o,h=3*f*u,l=f*i;return t[0]=e[0]*c+r[0]*a+n[0]*h+s[0]*l,t[1]=e[1]*c+r[1]*a+n[1]*h+s[1]*l,t[2]=e[2]*c+r[2]*a+n[2]*h+s[2]*l,t},ceil:function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t},clamp:function(t,e=0,r=1){return t[0]=Math.min(Math.max(t[0],e),r),t[1]=Math.min(Math.max(t[1],e),r),t[2]=Math.min(Math.max(t[2],e),r),t},copy:u,cross:A,crossAndNormalize:function(t,e,r){const n=e[0],s=e[1],i=e[2],u=r[0],o=r[1],f=r[2],c=s*f-i*o,a=i*u-n*f,h=n*o-s*u,l=Math.sqrt(c*c+a*a+h*h);return t[0]=c/l,t[1]=a/l,t[2]=h/l,t},direction:F,dist:z,distance:E,div:U,divide:h,dot:_,equals:P,exactEquals:I,floor:function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t},hermite:function(t,e,r,n,s,i){const u=i*i,o=u*(2*i-3)+1,f=u*(i-2)+i,c=u*(i-1),a=u*(3-2*i);return t[0]=e[0]*o+r[0]*f+n[0]*c+s[0]*a,t[1]=e[1]*o+r[1]*f+n[1]*c+s[1]*a,t[2]=e[2]*o+r[2]*f+n[2]*c+s[2]*a,t},inverse:g,len:q,length:i,lerp:w,max:p,min:y,mul:L,multiply:a,negate:T,normalize:S,random:function(t,e=1){const r=s.Ov,n=2*r()*Math.PI,i=2*r()-1,u=Math.sqrt(1-i*i)*e;return t[0]=Math.cos(n)*u,t[1]=Math.sin(n)*u,t[2]=i*e,t},rotateX:function(t,e,r,n){const s=[],i=[];return s[0]=e[0]-r[0],s[1]=e[1]-r[1],s[2]=e[2]-r[2],i[0]=s[0],i[1]=s[1]*Math.cos(n)-s[2]*Math.sin(n),i[2]=s[1]*Math.sin(n)+s[2]*Math.cos(n),t[0]=i[0]+r[0],t[1]=i[1]+r[1],t[2]=i[2]+r[2],t},rotateY:function(t,e,r,n){const s=[],i=[];return s[0]=e[0]-r[0],s[1]=e[1]-r[1],s[2]=e[2]-r[2],i[0]=s[2]*Math.sin(n)+s[0]*Math.cos(n),i[1]=s[1],i[2]=s[2]*Math.cos(n)-s[0]*Math.sin(n),t[0]=i[0]+r[0],t[1]=i[1]+r[1],t[2]=i[2]+r[2],t},rotateZ:function(t,e,r,n){const s=[],i=[];return s[0]=e[0]-r[0],s[1]=e[1]-r[1],s[2]=e[2]-r[2],i[0]=s[0]*Math.cos(n)-s[1]*Math.sin(n),i[1]=s[0]*Math.sin(n)+s[1]*Math.cos(n),i[2]=s[2],t[0]=i[0]+r[0],t[1]=i[1]+r[1],t[2]=i[2]+r[2],t},round:function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t},scale:m,scaleAndAdd:B,set:o,sign:d,sqrDist:D,sqrLen:Y,squaredDistance:M,squaredLength:b,str:function(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"},sub:O,subtract:c,transformMat3:v,transformMat4:x,transformQuat:C},Symbol.toStringTag,{value:"Module"}))},40804:(t,e,r)=>{r.d(e,{Un:()=>s,zn:()=>i});var n=r(34727);function s(t,e,r=0){const s=(0,n.qE)(t,0,c);for(let t=0;t<4;t++)e[r+t]=Math.floor(256*h(s*o[t]))}function i(t,e,r=0){const s=(0,n.qE)(t,0,a);for(let t=0;t<3;t++)e[r+t]=Math.floor(256*h(s*o[t]))}function u(t,e=0){let r=0;for(let n=0;n<4;n++)r+=t[e+n]*f[n];return r}const o=[1,256,65536,16777216],f=[1/256,1/65536,1/16777216,1/4294967296],c=u(new Uint8ClampedArray([255,255,255,255])),a=u(new Uint8ClampedArray([255,255,255,0]));function h(t){return t-Math.floor(t)}},48163:(t,e,r)=>{function n(){return[0,0]}function s(t){return[t[0],t[1]]}function i(t,e){return[t,e]}function u(){return i(1,1)}function o(){return i(1,0)}function f(){return i(0,1)}r.d(e,{Un:()=>c,fA:()=>i,o8:()=>s,vt:()=>n});const c=u(),a=o(),h=f();Object.freeze(Object.defineProperty({__proto__:null,ONES:c,UNIT_X:a,UNIT_Y:h,ZEROS:[0,0],clone:s,create:n,freeze:function(t,e){return[t,e]},fromArray:function(t,e=[0,0]){const r=Math.min(2,t.length);for(let n=0;n<r;++n)e[n]=t[n];return e},fromValues:i,ones:u,unitX:o,unitY:f,zeros:function(){return[0,0]}},Symbol.toStringTag,{value:"Module"}))},51850:(t,e,r)=>{function n(){return[0,0,0]}function s(t){return[t[0],t[1],t[2]]}function i(t,e,r){return[t,e,r]}function u(t,e,r){return[t,e,r]}function o(t,e=[0,0,0]){const r=Math.min(3,t.length);for(let n=0;n<r;++n)e[n]=t[n];return e}function f(){return i(1,1,1)}function c(){return i(1,0,0)}function a(){return i(0,1,0)}function h(){return i(0,0,1)}r.d(e,{CN:()=>u,Cb:()=>m,Cw:()=>y,JP:()=>p,Un:()=>d,ci:()=>o,fA:()=>i,o8:()=>s,uY:()=>l,vt:()=>n});const l=[0,0,0],d=f(),y=c(),p=a(),m=h();Object.freeze(Object.defineProperty({__proto__:null,ONES:d,UNIT_X:y,UNIT_Y:p,UNIT_Z:m,ZEROS:l,clone:s,create:n,freeze:u,fromArray:o,fromValues:i,ones:f,unitX:c,unitY:a,unitZ:h,zeros:function(){return[0,0,0]}},Symbol.toStringTag,{value:"Module"}))},84521:(t,e,r)=>{r.d(e,{I$:()=>S,gr:()=>w,In:()=>x});var n=r(4431),s=r(1843),i=r(40804),u=r(13030),o=r(90239);class f{constructor(t,e,r,n){this.name=t,this.byteOffset=e,this.byteStride=r,this.makeDirty=n}}class c extends f{constructor(t,e,r,n){super(t,e,r,n),this.elementCount=1}}class a extends c{constructor(t,e,r,n,s){super(t,r,n,s),this._bufferViewConstructor=e}updateBuffer(t){const{byteOffset:e,byteStride:r,_bufferViewConstructor:n}=this;this._bufferView=new n(t,e,r),this.makeDirty()}set(t,e){this._bufferView.set(t,e),this.makeDirty()}}class h extends c{constructor(t,e,r,n,s){super(t,e,r,n),this._maxValue=s}updateBuffer(t){const{byteOffset:e,byteStride:r}=this;this._bufferView=new u.eI(t,e,r),this.makeDirty()}set(t,e){const{_bufferView:r,_maxValue:n,makeDirty:s}=this;(0,i.zn)(e/n*.5+.5,M),r.setValues(t,M[0],M[1],M[2]),s()}}class l extends c{constructor(t,e,r,n,s){super(t,e,r,n),this._maxValue=s}updateBuffer(t){const{byteOffset:e,byteStride:r}=this;this._bufferView=new u.XP(t,e,r),this.makeDirty()}set(t,e){const{_bufferView:r,_maxValue:n,makeDirty:s}=this;(0,i.Un)(e/n*.5+.5,b),r.setValues(t,b[0],b[1],b[2],b[3]),s()}}class d extends f{constructor(t,e,r,n){super(t,e,r,n),this.elementCount=4}}class y extends d{constructor(t,e,r,n,s){super(t,r,n,s),this._bufferViewConstructor=e}updateBuffer(t){const{byteOffset:e,byteStride:r,_bufferViewConstructor:n}=this;this._bufferView=new n(t,e,r),this.makeDirty()}setValues(t,e,r,n,s){this._bufferView.set(t,0,e),this._bufferView.set(t,1,r),this._bufferView.set(t,2,n),this._bufferView.set(t,3,s),this.makeDirty()}setElement(t,e,r){this._bufferView.set(t,e,r),this.makeDirty()}getElement(t,e){return this._bufferView.get(t,e)}setVec(t,e){this._bufferView.setVec(t,e),this.makeDirty()}setArray(t,e){this._bufferView.set(t,0,e[0]),this._bufferView.set(t,1,e[1]),this._bufferView.set(t,2,e[2]),this._bufferView.set(t,3,e[3]),this.makeDirty()}}class p extends f{constructor(t,e,r,n){super(t,e,r,n),this.elementCount=5}}class m extends p{constructor(t,e,r,n,s){super(t,r,n,s),this._bufferViewConstructor=e}updateBuffer(t){const{byteOffset:e,byteStride:r,_bufferViewConstructor:n}=this;this._bufferView=new n(t,e,r),this.makeDirty()}setValues(t,e,r,n,s,i){const u=254&n|i;this._bufferView.set(t,0,e),this._bufferView.set(t,1,r),this._bufferView.set(t,2,u),this._bufferView.set(t,3,s),this.makeDirty()}}function B(t){return(0,o.GJ)(t.ElementType)*t.ElementCount}const E=new Map([["u8",{elementCount:1,byteSize:B(u.SL),createField:(t,e,r,n)=>new a(t.name,u.SL,e,r,n)}],["packed-f24",{elementCount:1,byteSize:B(u.eI),createField:(t,e,r,n)=>new h(t.name,e,r,n,t.maxValue)}],["packed-f32",{elementCount:1,byteSize:B(u.XP),createField:(t,e,r,n)=>new l(t.name,e,r,n,t.maxValue)}],["vec4u8",{elementCount:4,byteSize:B(u.XP),createField:(t,e,r,n)=>new y(t.name,u.XP,e,r,n)}],["u8u8u7xu8",{elementCount:5,byteSize:B(u.XP),createField:(t,e,r,n)=>new m(t.name,u.XP,e,r,n)}]]),M=new Uint8Array(3),b=new Uint8Array(4);class T{constructor(t,e,r,n){this._declaration=t,this._byteOffset=e,this._byteStride=r,this._creationInfo=n,this._startTexel=Math.floor(e/4);const s=this.byteSize;this._numTexels=Math.ceil((e+s)/4)-this._startTexel;let i=this._startTexel,u=e%4;const o=[],f=["x","y","z","w"];for(let t=0;t<s;++t){const t=`texel${i}.${f[u]}`;o.push(t),++u,u>=4&&(u=0,++i)}this._glslDecodeArgumentString=o.join(", ")}get name(){return this._declaration.name}get declaration(){return this._declaration}get byteOffset(){return this._byteOffset}get byteSize(){return this._creationInfo.byteSize}get startTexel(){return this._startTexel}get numTexels(){return this._numTexels}get elementCount(){return this._creationInfo.elementCount}get glslDecodeArgumentString(){return this._glslDecodeArgumentString}createField(t){const{_declaration:e,_byteOffset:r,_byteStride:n,_creationInfo:s}=this;return s.createField(e,r,n,t)}}var g=r(85079);const S=(0,s.BP)().vec3f("position").u16("componentIndex").freeze(),_=(0,s.BP)().vec2u8("sideness").freeze(),A=(0,n.U)(_),w=(0,s.BP)().vec3f("position0").vec3f("position1").vec2i16("normalCompressed").u16("componentIndex").u8("variantOffset",{glNormalized:!0}).u8("variantStroke").u8("variantExtension",{glNormalized:!0}).freeze(),x=(0,s.BP)().vec3f("position0").vec3f("position1").vec2i16("normalCompressed").vec2i16("normal2Compressed").u16("componentIndex").u8("variantOffset",{glNormalized:!0}).u8("variantStroke").u8("variantExtension",{glNormalized:!0}).freeze(),v=(0,n.U)(w,1),C=(0,n.U)(x,1);(0,g._u)([A,v]),(0,g._u)([A,C]),new class{constructor(t){this.byteStride=0,this.numTexels=0;let e=0;const r=[];for(let n=0;n<t.length;++n){const s=t[n],{type:i}=s,u=E.get(i);null!=u&&(r.push({declaration:s,byteOffset:e,creationInfo:u}),e+=u.byteSize)}e=e+3&-4;const n=e,s=r.map(({declaration:t,byteOffset:e,creationInfo:r})=>new T(t,e,n,r));this.fields=s,this.byteStride=n,this.numTexels=Math.ceil(n/4)}}([{name:"color",type:"vec4u8"},{name:"lineWidth",type:"u8"},{name:"extensionLength",type:"u8"},{name:"materialType",type:"u8"},{name:"opacity",type:"u8"},{name:"elevationOffset",type:"packed-f32",maxValue:429496.7296}])},93406:(t,e,r)=>{r.d(e,{K:()=>f});var n=r(34727),s=r(15142),i=r(38954),u=r(51850);const o=-1;function f(t,e,r){const n=t.vertices.position,s=t.vertices.componentIndex,u=p.position0,f=p.position1,h=p.faceNormal0,d=p.faceNormal1,{edges:y,normals:m}=a(t),B=y.length/4,E=e.allocate(B);let M=0;const b=B,S=r?.allocate(b);let A=0,w=0,x=0;l.length=0;for(let t=0;t<B;++t){const e=4*t;n.getVec(y.data[e],u),n.getVec(y.data[e+1],f);const r=l.pushNew();r.index=4*t,r.length=(0,i.D)(u,f)}l.sort((t,e)=>e.length-t.length);const v=new Array,C=new Array;l.forAll(({length:t,index:a})=>{const l=y.data[a],B=y.data[a+1],b=y.data[a+2],V=y.data[a+3],N=V===o;if(n.getVec(l,u),n.getVec(B,f),N){const t=3*b;(0,i.h)(h,m.data[t],m.data[t+1],m.data[t+2]),(0,i.d)(d,h),p.componentIndex=s.get(l),p.cosAngle=(0,i.g)(h,d)}else{let t=3*b;if((0,i.h)(h,m.data[t],m.data[t+1],m.data[t+2]),t=3*V,(0,i.h)(d,m.data[t],m.data[t+1],m.data[t+2]),p.componentIndex=s.get(l),p.cosAngle=(0,i.g)(h,d),function(t,e){return t.cosAngle>e}(p,g))return;p.cosAngle<-.9999&&(0,i.d)(d,h)}w+=t,x++,N||function(t,e){return t.cosAngle<e}(p,_)?(e.write(E,M++,p),v.push(t)):c(p,T)&&(S&&r&&r.write(S,A++,p),C.push(t))});const V=new Float32Array(v.reverse()),N=new Float32Array(C.reverse()),I=S&&r?{instancesData:S.slice(0,A),lodInfo:{lengths:N}}:void 0;return{regular:{instancesData:E.slice(0,M),lodInfo:{lengths:V}},silhouette:I,averageEdgeLength:w/x}}function c(t,e){const r=(0,n.XM)(t.cosAngle);return(0,i.E)(B,t.position1,t.position0),r*((0,i.g)((0,i.f)(m,t.faceNormal0,t.faceNormal1),B)>0?-1:1)>e}function a(t){const e=t.faces.length/3,r=t.faces,n=t.neighbors,s=t.vertices.position;d.length=y.length=0;for(let t=0;t<e;t++){const e=3*t,u=n[e],f=n[e+1],c=n[e+2],a=r[e],h=r[e+1],l=r[e+2];s.getVec(a,E),s.getVec(h,M),s.getVec(l,b),(0,i.e)(M,M,E),(0,i.e)(b,b,E),(0,i.f)(E,M,b),(0,i.n)(E,E),y.pushArray(E),(u===o||a<h)&&(d.push(a),d.push(h),d.push(t),d.push(u)),(f===o||h<l)&&(d.push(h),d.push(l),d.push(t),d.push(f)),(c===o||l<a)&&(d.push(l),d.push(a),d.push(t),d.push(c))}return{edges:d,normals:y}}class h{constructor(){this.index=0,this.length=0}}const l=new s.A({allocator:t=>t||new h,deallocator:null}),d=new s.A({deallocator:null}),y=new s.A({deallocator:null}),p=new class{constructor(){this.position0=(0,u.vt)(),this.position1=(0,u.vt)(),this.faceNormal0=(0,u.vt)(),this.faceNormal1=(0,u.vt)(),this.componentIndex=0,this.cosAngle=0}},m=(0,u.vt)(),B=(0,u.vt)(),E=(0,u.vt)(),M=(0,u.vt)(),b=(0,u.vt)(),T=(0,n.kU)(4),g=Math.cos(T),S=(0,n.kU)(35),_=Math.cos(S)}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[387],{1843:(t,e,r)=>{r.d(e,{BP:()=>f,l5:()=>_});var n=r(20498),i=r(13030),s=r(90239),o=r(4431),c=r(620),u=r(85079);class a{constructor(t,e){this.layout=t,this.buffer="number"==typeof e?new ArrayBuffer(e*t.stride):e;for(const e of t.fields.keys()){const r=t.fields.get(e);this[e]=new r.constructor(this.buffer,r.offset,this.stride)}}get stride(){return this.layout.stride}get count(){return this.buffer.byteLength/this.stride}get byteLength(){return this.buffer.byteLength}getField(t,e){const r=this[t];return r&&r.elementCount===e.ElementCount&&r.elementType===e.ElementType?r:null}slice(t,e){return new a(this.layout,this.buffer.slice(t*this.stride,e*this.stride))}copyFrom(t,e=0,r=0,n=t.count){const i=this.stride;if(i%4==0){const s=new Uint32Array(t.buffer,e*i,n*i/4);new Uint32Array(this.buffer,r*i,n*i/4).set(s)}else{const s=new Uint8Array(t.buffer,e*i,n*i);new Uint8Array(this.buffer,r*i,n*i).set(s)}return this}get usedMemory(){return this.byteLength}dispose(){}}class h{constructor(t){this._stride=0,this._fields=new Map,t&&(this._stride=t.stride,t.fields.forEach(t=>this._fields.set(t[0],{...t[1],constructor:E(t[1].constructor)})))}freeze(){return this}get locations(){return(0,u.Xk)((0,o.U)(this))}vec2f16(t,e){return this._appendField(t,n.SX?i.ZD:i.gH,e),this}vec2f(t,e){return this._appendField(t,i.gH,e),this}vec2f64(t,e){return this._appendField(t,i.si,e),this}vec3f16(t,e){return this._appendField(t,n.SX?i.EC:i.xs,e),this}vec3f(t,e){return this._appendField(t,i.xs,e),this}vec3f64(t,e){return this._appendField(t,i.Xm,e),this}vec4f16(t,e){return this._appendField(t,n.SX?i.jz:i.Eq,e),this}vec4f(t,e){return this._appendField(t,i.Eq,e),this}vec4f64(t,e){return this._appendField(t,i.Aj,e),this}mat3f(t,e){return this._appendField(t,i.jZ,e),this}mat3f64(t,e){return this._appendField(t,i.j0,e),this}mat4f(t,e){return this._appendField(t,i.Sx,e),this}mat4f64(t,e){return this._appendField(t,i.E$,e),this}vec4u8(t,e){return this._appendField(t,i.XP,e),this}f16(t,e){return this._appendField(t,n.SX?i.XW:i.Y$,e),this}f32(t,e){return this._appendField(t,i.Y$,e),this}f64(t,e){return this._appendField(t,i.qB,e),this}u8(t,e){return this._appendField(t,i.SL,e),this}u16(t,e){return this._appendField(t,i.h,e),this}i8(t,e){return this._appendField(t,i.bf,e),this}vec2i8(t,e){return this._appendField(t,i.D6,e),this}vec2i16(t,e){return this._appendField(t,i.mJ,e),this}vec2u8(t,e){return this._appendField(t,i.LC,e),this}vec2u16(t,e){return this._appendField(t,i.Yi,e),this}vec4u16(t,e){return this._appendField(t,i.Uz,e),this}vec4i16(t,e){return this._appendField(t,i.E7,e),this}u32(t,e){return this._appendField(t,i.P,e),this}_appendField(t,e,r){this._fields.has(t)&&(0,c.vA)(!1,`${t} already added to vertex buffer layout`);const n=e.ElementCount*(0,s.GJ)(e.ElementType),i=this._stride;this._fields.set(t,{constructor:e,size:n,offset:i,optional:r}),this._alignFields()}_alignFields(){let t=0,e=1;this._fields.forEach(r=>{const n=(0,s.GJ)(r.constructor.ElementType);t=Math.floor((t+n-1)/n)*n,r.offset=t,t+=r.size,e=Math.max(e,n)}),t=Math.floor((t+e-1)/e)*e,this._stride=t}createBuffer(t){return new a(this,t)}createView(t){return new a(this,t)}clone(){const t=new h;return t._stride=this._stride,t._fields=new Map,this._fields.forEach((e,r)=>t._fields.set(r,e)),t.BufferType=this.BufferType,t}get stride(){return this._stride}get fields(){return this._fields}}function f(){return new h}class _{constructor(t){this.fields=new Array,t.fields.forEach((t,e)=>{const r={...t,constructor:l(t.constructor)};this.fields.push([e,r])}),this.stride=t.stride}}const d=[i.Y$,i.gH,i.xs,i.Eq,i.jZ,i.Sx,i.qB,i.si,i.Xm,i.Aj,i.j0,i.E$,i.SL,i.LC,i.eI,i.XP,i.h,i.Yi,i.nS,i.Uz,i.P,i.An,i.H$,i.ml,i.bf,i.D6,i.m8,i.TX,i.Qt,i.mJ,i.Vp,i.E7,i.My,i.UL,i.zD,i.Y4];function l(t){return`${t.ElementType}_${t.ElementCount}`}function E(t){return R.get(t)}const R=new Map;d.forEach(t=>R.set(l(t),t))},4341:(t,e,r)=>{r.d(e,{I:()=>i});var n=r(26390);class i{constructor(t){this._allocator=t,this._items=[],this._itemsPtr=0,this._grow()}get(){return 0===this._itemsPtr&&(0,n.d)(()=>this._reset()),this._itemsPtr===this._items.length&&this._grow(),this._items[this._itemsPtr++]}_reset(){const t=Math.min(3*Math.max(8,this._itemsPtr),this._itemsPtr+3*s);this._items.length=Math.min(t,this._items.length),this._itemsPtr=0}_grow(){for(let t=0;t<Math.max(8,Math.min(this._items.length,s));t++)this._items.push(this._allocator())}}const s=1024},4431:(t,e,r)=>{r.d(e,{U:()=>s}),r(44208);var n=r(63907),i=r(74038);function s(t,e=0){const r=t.stride;return Array.from(t.fields.keys()).map(s=>{const o=t.fields.get(s),c=o.constructor.ElementCount,u=function(t){switch(t){case"u8":return n.pe.UNSIGNED_BYTE;case"u16":return n.pe.UNSIGNED_SHORT;case"u32":return n.pe.UNSIGNED_INT;case"i8":return n.pe.BYTE;case"i16":return n.pe.SHORT;case"i32":return n.pe.INT;case"f16":return n.pe.HALF_FLOAT;case"f32":return n.pe.FLOAT;default:throw new Error("BufferType not supported in WebGL")}}(o.constructor.ElementType),a=o.offset,h=o.optional?.glNormalized??!1;return new i._(s,c,u,a,r,h,e)})}},11868:(t,e,r)=>{r.d(e,{Wz:()=>s,oe:()=>i});var n=r(34275);function i(t,e=!1){return t<=n.y9?e?new Array(t).fill(0):new Array(t):new Float32Array(t)}function s(t){return(Array.isArray(t)?t.length:t.byteLength/8)<=n.y9?Array.from(t):new Float32Array(t)}},11964:(t,e,r)=>{r.d(e,{Cr:()=>h,H6:()=>d,LV:()=>a,_I:()=>_,kb:()=>f,vt:()=>u});var n=r(34727),i=r(4341),s=r(38954),o=r(51850),c=r(32114);function u(t){return t?{origin:(0,o.o8)(t.origin),vector:(0,o.o8)(t.vector)}:{origin:(0,o.vt)(),vector:(0,o.vt)()}}function a(t,e){const r=l.get();return r.origin=t,r.vector=e,r}function h(t,e,r=u()){return(0,s.d)(r.origin,t),(0,s.e)(r.vector,e,t),r}function f(t,e){const r=(0,s.e)(c.rq.get(),e,t.origin),i=(0,s.g)(t.vector,r),o=(0,s.g)(t.vector,t.vector),u=(0,n.qE)(i/o,0,1),a=(0,s.e)(c.rq.get(),(0,s.j)(c.rq.get(),t.vector,u),r);return(0,s.g)(a,a)}function _(t,e,r){return d(t,e,0,1,r)}function d(t,e,r,i,o){const{vector:u,origin:a}=t,h=(0,s.e)(c.rq.get(),e,a),f=(0,s.g)(u,h)/(0,s.E)(u);return(0,s.j)(o,u,(0,n.qE)(f,r,i)),(0,s.i)(o,o,t.origin)}(0,o.vt)(),(0,o.vt)();const l=new i.I(()=>u())},63907:(t,e,r)=>{r.d(e,{$0:()=>f,CQ:()=>R,Fq:()=>l,H0:()=>s,SB:()=>u,WR:()=>n,XN:()=>o,iE:()=>c,ld:()=>a,nI:()=>E,pe:()=>i,r6:()=>_,vt:()=>h,yI:()=>d});const n={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},i={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,HALF_FLOAT:5131},s={RGBA4:32854,R16F:33325,RG16F:33327,RGB32F:34837,RGBA16F:34842,R32F:33326,RG32F:33328,RGBA32F:34836,R11F_G11F_B10F:35898,RGB8:32849,RGBA8:32856,RGB5_A1:32855,R8:33321,RG8:33323,R8I:33329,R8UI:33330,R16I:33331,R16UI:33332,R32I:33333,R32UI:33334,RG8I:33335,RG8UI:33336,RG16I:33337,RG16UI:33338,RG32I:33339,RG32UI:33340,RGB16F:34843,RGB9_E5:35901,SRGB8:35905,SRGB8_ALPHA8:35907,RGB565:36194,RGBA32UI:36208,RGB32UI:36209,RGBA16UI:36214,RGB16UI:36215,RGBA8UI:36220,RGB8UI:36221,RGBA32I:36226,RGB32I:36227,RGBA16I:36232,RGB16I:36233,RGBA8I:36238,RGB8I:36239,R8_SNORM:36756,RG8_SNORM:36757,RGB8_SNORM:36758,RGBA8_SNORM:36759,RGB10_A2:32857,RGB10_A2UI:36975},o=Object.values(s),c={DEPTH24_STENCIL8:35056,DEPTH32F_STENCIL8:36013},u={DEPTH_COMPONENT16:33189,DEPTH_COMPONENT24:33190,DEPTH_COMPONENT32F:36012},a={FLOAT:i.FLOAT,UNSIGNED_BYTE:i.UNSIGNED_BYTE,UNSIGNED_INT_24_8:34042,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,BYTE:i.BYTE,UNSIGNED_SHORT:i.UNSIGNED_SHORT,SHORT:i.SHORT,UNSIGNED_INT:i.UNSIGNED_INT,INT:i.INT,HALF_FLOAT:5131,UNSIGNED_INT_2_10_10_10_REV:33640,UNSIGNED_INT_10F_11F_11F_REV:35899,UNSIGNED_INT_5_9_9_9_REV:35902,FLOAT_32_UNSIGNED_INT_24_8_REV:36269},h={Texture:0,TileTexture:1,BufferObject:2,VertexArrayObject:3,Shader:4,Program:5,FramebufferObject:6,Renderbuffer:7,TransformFeedback:8,Sync:9,UNCOUNTED:10,LinesOfCode:10,Uniform:11,COUNT:12},f=0,_=36064,d=36065,l=36066,E=33306,R={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_SRGB8_ETC2:37493,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37494,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37495,COMPRESSED_RGBA8_ETC2_EAC:37496,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37497}},71351:(t,e,r)=>{r.d(e,{C:()=>f,Cr:()=>_,LV:()=>h,fA:()=>d,kb:()=>l,oC:()=>E,vt:()=>u}),r(4576);var n=r(4341),i=(r(77690),r(29242)),s=r(38954),o=r(51850),c=r(32114);function u(t){return t?a((0,o.o8)(t.origin),(0,o.o8)(t.direction)):a((0,o.vt)(),(0,o.vt)())}function a(t,e){return{origin:t,direction:e}}function h(t,e){const r=R.get();return r.origin=t,r.direction=e,r}function f(t,e=u()){return d(t.origin,t.direction,e)}function _(t,e,r=u()){return(0,s.d)(r.origin,t),(0,s.e)(r.direction,e,t),r}function d(t,e,r=u()){return(0,s.d)(r.origin,t),(0,s.d)(r.direction,e),r}function l(t,e){const r=(0,s.f)(c.rq.get(),(0,s.n)(c.rq.get(),t.direction),(0,s.e)(c.rq.get(),e,t.origin));return(0,s.g)(r,r)}function E(t,e,r){const n=(0,s.g)(t.direction,(0,s.e)(r,e,t.origin));return(0,s.i)(r,t.origin,(0,s.j)(r,t.direction,n)),r}const R=new n.I(()=>u());(0,o.vt)(),(0,o.vt)(),(0,o.vt)(),(0,i.vt)()},74038:(t,e,r)=>{r.d(e,{_:()=>n});class n{constructor(t,e,r,n,i,s=!1,o=0){this.name=t,this.count=e,this.type=r,this.offset=n,this.stride=i,this.normalized=s,this.divisor=o}}},82919:(t,e,r)=>{r.d(e,{DV:()=>A,C:()=>E,vt:()=>d,Qy:()=>l,ui:()=>R,ST:()=>S,bU:()=>T,pw:()=>p,m7:()=>g,c8:()=>v});var n=r(4341),i=r(58083),s=r(38954),o=r(51850),c=r(87317),u=r(91829),a=r(71351);function h(t){return t?{ray:(0,a.vt)(t.ray),c0:t.c0,c1:t.c1}:{ray:(0,a.vt)(),c0:0,c1:Number.MAX_VALUE}}new n.I(()=>h());var f=r(27921),_=r(32114);function d(t){return t?[(0,f.vt)(t[0]),(0,f.vt)(t[1]),(0,f.vt)(t[2]),(0,f.vt)(t[3]),(0,f.vt)(t[4]),(0,f.vt)(t[5])]:[(0,f.vt)(),(0,f.vt)(),(0,f.vt)(),(0,f.vt)(),(0,f.vt)(),(0,f.vt)()]}function l(){return[(0,o.vt)(),(0,o.vt)(),(0,o.vt)(),(0,o.vt)(),(0,o.vt)(),(0,o.vt)(),(0,o.vt)(),(0,o.vt)()]}function E(t,e){for(let r=0;r<N;r++)(0,f.C)(t[r],e[r]);return t}function R(t,e,r,n=C){const o=(0,i.lw)(_.Rc.get(),e,t);(0,i.B8)(o,o);for(let t=0;t<G;++t){const e=(0,c.t)(_.Km.get(),I[t],o);(0,s.h)(n[t],e[0]/e[3],e[1]/e[3],e[2]/e[3])}A(r,n)}function A(t,e){(0,f.Cr)(e[4],e[0],e[3],t[0]),(0,f.Cr)(e[1],e[5],e[6],t[1]),(0,f.Cr)(e[4],e[5],e[1],t[2]),(0,f.Cr)(e[3],e[2],e[6],t[3]),(0,f.Cr)(e[0],e[1],e[2],t[4]),(0,f.Cr)(e[5],e[4],e[7],t[5])}function g(t,e){for(let r=0;r<N;r++){const n=t[r];if(n[0]*e.center[0]+n[1]*e.center[1]+n[2]*e.center[2]+n[3]>=e.radius)return!1}return!0}function p(t,e){return y(t,function(t,e=h()){return(0,a.C)(t,e.ray),e.c0=0,e.c1=Number.MAX_VALUE,e}(e,m.get()))}function S(t,e,r){return y(t,function(t,e,r=h()){const n=(0,s.b)(t.vector);return(0,a.fA)(t.origin,e,r.ray),r.c0=0,r.c1=n,r}(e,r,m.get()))}function T(t,e){for(let r=0;r<N;r++)if((0,f.mN)(t[r],e)>0)return!1;return!0}function y(t,e){for(let r=0;r<N;r++)if(!(0,f.$Q)(t[r],e))return!1;return!0}const v={bottom:[5,1,0,4],near:[0,1,2,3],far:[5,4,7,6],right:[1,5,6,2],left:[4,0,3,7],top:[7,3,2,6]},N=6,G=8,I=[(0,u.fA)(-1,-1,-1,1),(0,u.fA)(1,-1,-1,1),(0,u.fA)(1,1,-1,1),(0,u.fA)(-1,1,-1,1),(0,u.fA)(-1,-1,1,1),(0,u.fA)(1,-1,1,1),(0,u.fA)(1,1,1,1),(0,u.fA)(-1,1,1,1)],m=new n.I(h),C=l()},85079:(t,e,r)=>{r.d(e,{Xk:()=>i,_u:()=>s});var n=r(21818);function i(t){let e=0;return(0,n.zI)(new Map(t.map(({name:t,count:r})=>{const n=[t,e];return 16===r?e+=4:9===r?e+=3:++e,n})))}function s(t){const e=new Map;let r=0;return t.forEach(t=>t.forEach(({name:t,count:n})=>{e.set(t,r),16===n?r+=4:9===n?r+=3:++r})),e}},90239:(t,e,r)=>{function n(t){switch(t){case"u8":case"i8":return 1;case"u16":case"i16":case"f16":return 2;case"u32":case"i32":case"f32":return 4;case"f64":return 8}}r.d(e,{GJ:()=>n})},94008:(t,e,r)=>{r.d(e,{iy:()=>l,XG:()=>E}),r(44208),r(53966);var n=r(34727),i=r(34304),s=r(58083),o=r(38954),c=r(51850),u=r(91829),a=r(34275);var h=r(71351);function f(t,e){const r=(0,o.b)(t),i=(0,n.YN)(t[2]/r),s=Math.atan2(t[1]/r,t[0]/r);return(0,o.h)(e,r,i,s),e}var _=r(44280),d=r(32114);class l{constructor(t=0,e=0,r=0,n=0){this.radius=n,"number"==typeof t?this._center=(0,c.fA)(t,e,r):function(t){return e=t,(0,a.vZ)(e)&&e.length>=3||function(t){return((0,a.aI)(t)||Array.isArray(t))&&t.length>=3}(t);var e}(t)||function(t){return(e=t)instanceof Float32Array&&e.length>=4||function(t){return Array.isArray(t)&&t.length>=4}(t);var e}(t)?(this._center=(0,c.ci)(t),this.radius=4===t.length?t[3]:e):(this._center=(0,c.o8)(t.center),this.radius=t.radius)}get center(){return this._center}set center(t){(0,o.d)(this.center,t)}exactEquals(t){return(0,o.F)(this._center,t.center)&&this.radius===t.radius}copy(t){return t!==this&&((0,o.d)(this._center,t.center),this.radius=t.radius),this}clone(){return new l(this.center,this.radius)}toVec4(){return(0,u.fA)(this.center[0],this.center[1],this.center[2],this.radius)}contains(t){return(0,o.s)(this.center,t)<=this.radius**2}intersectRay(t,e){if(null==t)return!1;if(!this._intersect(t,R))return!1;let{t0:r,t1:n}=R;if((r<0||n<r&&n>0)&&(r=n),r<0)return!1;if(e){const{origin:n,direction:i}=t;e[0]=n[0]+i[0]*r,e[1]=n[1]+i[1]*r,e[2]=n[2]+i[2]*r}return!0}intersectLine(t,e){const r=(0,h.Cr)(t,e);if(!this._intersect(r,R))return[];const{origin:n,direction:s}=r,{t0:u,t1:a}=R,f=t=>{const e=(0,c.vt)();return(0,o.c)(e,n,s,t),this.projectPoint(e,e)};return Math.abs(u-a)<(0,i.FD)()?[f(u)]:[f(u),f(a)]}_intersect(t,e){const{origin:r,direction:n}=t,i=A;i[0]=r[0]-this.center[0],i[1]=r[1]-this.center[1],i[2]=r[2]-this.center[2];const s=n[0]*n[0]+n[1]*n[1]+n[2]*n[2];if(0===s)return!1;const o=2*(n[0]*i[0]+n[1]*i[1]+n[2]*i[2]),c=o*o-4*s*(i[0]*i[0]+i[1]*i[1]+i[2]*i[2]-this.radius**2);if(c<0)return!1;const u=Math.sqrt(c);return e.t0=(-o-u)/(2*s),e.t1=(-o+u)/(2*s),!0}projectPoint(t,e){const r=(0,o.e)(d.rq.get(),t,this.center),n=(0,o.j)(d.rq.get(),r,this.radius/(0,o.b)(r));return(0,o.i)(e,n,this.center)}closestPointOnSilhouette(t,e){const r=d.rq.get(),n=d.Rc.get();(0,o.f)(r,t.origin,t.direction),(0,o.f)(e,r,t.origin),(0,o.j)(e,e,1/(0,o.b)(e)*this.radius);const i=this._angleToSilhouette(t.origin),c=(0,_.g7)(t.origin,e);return(0,s.$0)(n,c+i,r),(0,o.p)(e,e,n),e}frustumCoverage(t,e,r){const n=this.radius,i=n*n,s=t+.5*Math.PI,o=e*e+i-2*Math.cos(s)*e*n,c=Math.sqrt(o),u=o-i;if(u<=0)return.5;const a=Math.sqrt(u),h=Math.acos(a/c)-Math.asin(n/(c/Math.sin(s)));return Math.min(1,(h+.5*r)/r)}_angleToSilhouette(t){const e=(0,o.e)(d.rq.get(),t,this.center),r=(0,o.b)(e),i=this.radius,s=i+Math.abs(i-r);return(0,n.XM)(i/s)}union(t){const e=(0,o.C)(this._center,t.center),r=this.radius,n=t.radius;return e+n<r?this:e+r<n?(this.copy(t),this):((0,o.l)(this._center,this._center,t.center,(e+n-r)/(2*e)),this.radius=(e+r+n)/2,this)}toJSON(){return{center:this.center,radius:this.radius}}}const E={create:t=>new l(t),copy:(t,e)=>e.copy(t),setExtent:(t,e,r)=>r.copy(t),getExtent:(t,e)=>e,elevate:(t,e,r)=>(r.copy(t),r.radius+=e,r),axisAt(t,e,r,n){const i=(0,o.e)(g,e,t.center);switch(r){case 0:{const t=f(i,g)[2];return(0,o.h)(n,-Math.sin(t),Math.cos(t),0)}case 1:{const t=f(i,g),e=t[1],r=t[2],s=Math.sin(e);return(0,o.h)(n,-s*Math.cos(r),-s*Math.sin(r),Math.cos(e))}case 2:return(0,o.n)(n,i);default:return}},altitudeAt(t,e){const r=(0,o.e)(p,e,t.center);return(0,o.b)(r)-t.radius},setAltitudeAt(t,e,r,n){const i=E.altitudeAt(t,e),s=E.axisAt(t,e,2,p),c=(0,o.j)(p,s,r-i);return(0,o.i)(n,e,c)},intersectRay:(t,e,r)=>t.intersectRay(e,r),closestPoint:(t,e,r)=>t.intersectRay(e,r)?r:((0,h.oC)(e,t.center,r),t.projectPoint(r,r)),intersectRayClosestSilhouette(t,e,r){if(t.intersectRay(e,r))return r;const n=t.closestPointOnSilhouette(e,d.rq.get());return(0,o.i)(r,e.origin,(0,o.j)(d.rq.get(),e.direction,(0,o.C)(e.origin,n)/(0,o.b)(e.direction))),r},closestPointOnSilhouette:(t,e,r)=>t.closestPointOnSilhouette(e,r),distanceToSilhouette(t,e){const r=(0,o.e)(d.rq.get(),e,t.center),n=(0,o.E)(r),i=t.radius**2;return Math.sqrt(Math.abs(n-i))}},R=(new l,{t0:0,t1:0}),A=(0,c.vt)(),g=(0,c.vt)(),p=(0,c.vt)()},97146:(t,e,r)=>{r.d(e,{Dg:()=>s,my:()=>o,tM:()=>h,uW:()=>i});var n=r(34275);function i(t){return s(t,!0)}function s(t,e){if(Array.isArray(t)){if(t.length<n.y9)return t}else if(t.length<n.y9)return Array.from(t);let r=!0,i=!0;return t.some((t,e)=>(r=r&&0===t,i=i&&t===e,!r&&!i)),r?function(t){if(1===t)return u;if(t<n.y9)return new Array(t).fill(0);if(t>_.length){const e=Math.max(2*_.length,t);_=new Uint8Array(e)}return new Uint8Array(_.buffer,0,t)}(t.length):i?h(t.length):(0,n.iu)(t)&&t.BYTES_PER_ELEMENT===Uint16Array.BYTES_PER_ELEMENT?t:function(t,e){for(const r of t){if(r>=65536)return(0,n.iu)(t)?t:new Uint32Array(t);r>=256&&(e=!1)}return e?new Uint8Array(t):new Uint16Array(t)}(t,!e)}function o(t){return t<=n.y9?new Array(t):t<=65536?new Uint16Array(t):new Uint32Array(t)}let c=f(131072);const u=[0],a=(()=>{const t=new Uint16Array(65536);for(let e=0;e<t.length;++e)t[e]=e;return t})();function h(t){return 1===t?u:t<n.y9?Array.from(new Uint16Array(a.buffer,0,t)):t<a.length?new Uint16Array(a.buffer,0,t):(t>c.length&&(c=f(Math.max(2*c.length,t))),new Uint32Array(c.buffer,0,t))}function f(t){const e=new Uint32Array(t);for(let t=0;t<e.length;t++)e[t]=t;return e}let _=new Uint8Array(65536)}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[387],{1843:(t,e,r)=>{r.d(e,{BP:()=>f,l5:()=>_});var n=r(20498),i=r(13030),s=r(90239),o=r(4431),c=r(620),u=r(85079);class a{constructor(t,e){this.layout=t,this.buffer="number"==typeof e?new ArrayBuffer(e*t.stride):e;for(const e of t.fields.keys()){const r=t.fields.get(e);this[e]=new r.constructor(this.buffer,r.offset,this.stride)}}get stride(){return this.layout.stride}get count(){return this.buffer.byteLength/this.stride}get byteLength(){return this.buffer.byteLength}getField(t,e){const r=this[t];return r&&r.elementCount===e.ElementCount&&r.elementType===e.ElementType?r:null}slice(t,e){return new a(this.layout,this.buffer.slice(t*this.stride,e*this.stride))}copyFrom(t,e=0,r=0,n=t.count){const i=this.stride;if(i%4==0){const s=new Uint32Array(t.buffer,e*i,n*i/4);new Uint32Array(this.buffer,r*i,n*i/4).set(s)}else{const s=new Uint8Array(t.buffer,e*i,n*i);new Uint8Array(this.buffer,r*i,n*i).set(s)}return this}get usedMemory(){return this.byteLength}dispose(){}}class h{constructor(t){this._stride=0,this._fields=new Map,t&&(this._stride=t.stride,t.fields.forEach(t=>this._fields.set(t[0],{...t[1],constructor:E(t[1].constructor)})))}freeze(){return this}get locations(){return(0,u.Xk)((0,o.U)(this))}vec2f16(t,e){return this._appendField(t,n.SX?i.ZD:i.gH,e),this}vec2f(t,e){return this._appendField(t,i.gH,e),this}vec2f64(t,e){return this._appendField(t,i.si,e),this}vec3f16(t,e){return this._appendField(t,n.SX?i.EC:i.xs,e),this}vec3f(t,e){return this._appendField(t,i.xs,e),this}vec3f64(t,e){return this._appendField(t,i.Xm,e),this}vec4f16(t,e){return this._appendField(t,n.SX?i.jz:i.Eq,e),this}vec4f(t,e){return this._appendField(t,i.Eq,e),this}vec4f64(t,e){return this._appendField(t,i.Aj,e),this}mat3f(t,e){return this._appendField(t,i.jZ,e),this}mat3f64(t,e){return this._appendField(t,i.j0,e),this}mat4f(t,e){return this._appendField(t,i.Sx,e),this}mat4f64(t,e){return this._appendField(t,i.E$,e),this}vec4u8(t,e){return this._appendField(t,i.XP,e),this}f16(t,e){return this._appendField(t,n.SX?i.XW:i.Y$,e),this}f32(t,e){return this._appendField(t,i.Y$,e),this}f64(t,e){return this._appendField(t,i.qB,e),this}u8(t,e){return this._appendField(t,i.SL,e),this}u16(t,e){return this._appendField(t,i.h,e),this}i8(t,e){return this._appendField(t,i.bf,e),this}vec2i8(t,e){return this._appendField(t,i.D6,e),this}vec2i16(t,e){return this._appendField(t,i.mJ,e),this}vec2u8(t,e){return this._appendField(t,i.LC,e),this}vec2u16(t,e){return this._appendField(t,i.Yi,e),this}vec4u16(t,e){return this._appendField(t,i.Uz,e),this}vec4i16(t,e){return this._appendField(t,i.E7,e),this}u32(t,e){return this._appendField(t,i.P,e),this}_appendField(t,e,r){this._fields.has(t)&&(0,c.vA)(!1,`${t} already added to vertex buffer layout`);const n=e.ElementCount*(0,s.GJ)(e.ElementType),i=this._stride;this._fields.set(t,{constructor:e,size:n,offset:i,optional:r}),this._alignFields()}_alignFields(){let t=0,e=1;this._fields.forEach(r=>{const n=(0,s.GJ)(r.constructor.ElementType);t=Math.floor((t+n-1)/n)*n,r.offset=t,t+=r.size,e=Math.max(e,n)}),t=Math.floor((t+e-1)/e)*e,this._stride=t}createBuffer(t){return new a(this,t)}createView(t){return new a(this,t)}clone(){const t=new h;return t._stride=this._stride,t._fields=new Map,this._fields.forEach((e,r)=>t._fields.set(r,e)),t.BufferType=this.BufferType,t}get stride(){return this._stride}get fields(){return this._fields}}function f(){return new h}class _{constructor(t){this.fields=new Array,t.fields.forEach((t,e)=>{const r={...t,constructor:l(t.constructor)};this.fields.push([e,r])}),this.stride=t.stride}}const d=[i.Y$,i.gH,i.xs,i.Eq,i.jZ,i.Sx,i.qB,i.si,i.Xm,i.Aj,i.j0,i.E$,i.SL,i.LC,i.eI,i.XP,i.h,i.Yi,i.nS,i.Uz,i.P,i.An,i.H$,i.ml,i.bf,i.D6,i.m8,i.TX,i.Qt,i.mJ,i.Vp,i.E7,i.My,i.UL,i.zD,i.Y4];function l(t){return`${t.ElementType}_${t.ElementCount}`}function E(t){return R.get(t)}const R=new Map;d.forEach(t=>R.set(l(t),t))},4341:(t,e,r)=>{r.d(e,{I:()=>i});var n=r(26390);class i{constructor(t){this._allocator=t,this._items=[],this._itemsPtr=0,this._grow()}get(){return 0===this._itemsPtr&&(0,n.d)(()=>this._reset()),this._itemsPtr===this._items.length&&this._grow(),this._items[this._itemsPtr++]}_reset(){const t=Math.min(3*Math.max(8,this._itemsPtr),this._itemsPtr+3*s);this._items.length=Math.min(t,this._items.length),this._itemsPtr=0}_grow(){for(let t=0;t<Math.max(8,Math.min(this._items.length,s));t++)this._items.push(this._allocator())}}const s=1024},4431:(t,e,r)=>{r.d(e,{U:()=>s}),r(44208);var n=r(63907),i=r(74038);function s(t,e=0){const r=t.stride;return Array.from(t.fields.keys()).map(s=>{const o=t.fields.get(s),c=o.constructor.ElementCount,u=function(t){switch(t){case"u8":return n.pe.UNSIGNED_BYTE;case"u16":return n.pe.UNSIGNED_SHORT;case"u32":return n.pe.UNSIGNED_INT;case"i8":return n.pe.BYTE;case"i16":return n.pe.SHORT;case"i32":return n.pe.INT;case"f16":return n.pe.HALF_FLOAT;case"f32":return n.pe.FLOAT;default:throw new Error("BufferType not supported in WebGL")}}(o.constructor.ElementType),a=o.offset,h=o.optional?.glNormalized??!1;return new i._(s,c,u,a,r,h,e)})}},11868:(t,e,r)=>{r.d(e,{Wz:()=>s,oe:()=>i});var n=r(34275);function i(t,e=!1){return t<=n.y9?e?new Array(t).fill(0):new Array(t):new Float32Array(t)}function s(t){return(Array.isArray(t)?t.length:t.byteLength/8)<=n.y9?Array.from(t):new Float32Array(t)}},11964:(t,e,r)=>{r.d(e,{Cr:()=>h,H6:()=>d,LV:()=>a,_I:()=>_,kb:()=>f,vt:()=>u});var n=r(34727),i=r(4341),s=r(38954),o=r(51850),c=r(32114);function u(t){return t?{origin:(0,o.o8)(t.origin),vector:(0,o.o8)(t.vector)}:{origin:(0,o.vt)(),vector:(0,o.vt)()}}function a(t,e){const r=l.get();return r.origin=t,r.vector=e,r}function h(t,e,r=u()){return(0,s.d)(r.origin,t),(0,s.e)(r.vector,e,t),r}function f(t,e){const r=(0,s.e)(c.rq.get(),e,t.origin),i=(0,s.g)(t.vector,r),o=(0,s.g)(t.vector,t.vector),u=(0,n.qE)(i/o,0,1),a=(0,s.e)(c.rq.get(),(0,s.j)(c.rq.get(),t.vector,u),r);return(0,s.g)(a,a)}function _(t,e,r){return d(t,e,0,1,r)}function d(t,e,r,i,o){const{vector:u,origin:a}=t,h=(0,s.e)(c.rq.get(),e,a),f=(0,s.g)(u,h)/(0,s.F)(u);return(0,s.j)(o,u,(0,n.qE)(f,r,i)),(0,s.i)(o,o,t.origin)}(0,o.vt)(),(0,o.vt)();const l=new i.I(()=>u())},63907:(t,e,r)=>{r.d(e,{$0:()=>f,CQ:()=>R,Fq:()=>l,H0:()=>s,SB:()=>u,WR:()=>n,XN:()=>o,iE:()=>c,ld:()=>a,nI:()=>E,pe:()=>i,r6:()=>_,vt:()=>h,yI:()=>d});const n={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},i={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,HALF_FLOAT:5131},s={RGBA4:32854,R16F:33325,RG16F:33327,RGB32F:34837,RGBA16F:34842,R32F:33326,RG32F:33328,RGBA32F:34836,R11F_G11F_B10F:35898,RGB8:32849,RGBA8:32856,RGB5_A1:32855,R8:33321,RG8:33323,R8I:33329,R8UI:33330,R16I:33331,R16UI:33332,R32I:33333,R32UI:33334,RG8I:33335,RG8UI:33336,RG16I:33337,RG16UI:33338,RG32I:33339,RG32UI:33340,RGB16F:34843,RGB9_E5:35901,SRGB8:35905,SRGB8_ALPHA8:35907,RGB565:36194,RGBA32UI:36208,RGB32UI:36209,RGBA16UI:36214,RGB16UI:36215,RGBA8UI:36220,RGB8UI:36221,RGBA32I:36226,RGB32I:36227,RGBA16I:36232,RGB16I:36233,RGBA8I:36238,RGB8I:36239,R8_SNORM:36756,RG8_SNORM:36757,RGB8_SNORM:36758,RGBA8_SNORM:36759,RGB10_A2:32857,RGB10_A2UI:36975},o=Object.values(s),c={DEPTH24_STENCIL8:35056,DEPTH32F_STENCIL8:36013},u={DEPTH_COMPONENT16:33189,DEPTH_COMPONENT24:33190,DEPTH_COMPONENT32F:36012},a={FLOAT:i.FLOAT,UNSIGNED_BYTE:i.UNSIGNED_BYTE,UNSIGNED_INT_24_8:34042,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,BYTE:i.BYTE,UNSIGNED_SHORT:i.UNSIGNED_SHORT,SHORT:i.SHORT,UNSIGNED_INT:i.UNSIGNED_INT,INT:i.INT,HALF_FLOAT:5131,UNSIGNED_INT_2_10_10_10_REV:33640,UNSIGNED_INT_10F_11F_11F_REV:35899,UNSIGNED_INT_5_9_9_9_REV:35902,FLOAT_32_UNSIGNED_INT_24_8_REV:36269},h={Texture:0,TileTexture:1,BufferObject:2,VertexArrayObject:3,Shader:4,Program:5,FramebufferObject:6,Renderbuffer:7,TransformFeedback:8,Sync:9,UNCOUNTED:10,LinesOfCode:10,Uniform:11,COUNT:12},f=0,_=36064,d=36065,l=36066,E=33306,R={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_SRGB8_ETC2:37493,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37494,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37495,COMPRESSED_RGBA8_ETC2_EAC:37496,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37497}},71351:(t,e,r)=>{r.d(e,{C:()=>f,Cr:()=>_,LV:()=>h,fA:()=>d,kb:()=>l,oC:()=>E,vt:()=>u}),r(4576);var n=r(4341),i=(r(77690),r(29242)),s=r(38954),o=r(51850),c=r(32114);function u(t){return t?a((0,o.o8)(t.origin),(0,o.o8)(t.direction)):a((0,o.vt)(),(0,o.vt)())}function a(t,e){return{origin:t,direction:e}}function h(t,e){const r=R.get();return r.origin=t,r.direction=e,r}function f(t,e=u()){return d(t.origin,t.direction,e)}function _(t,e,r=u()){return(0,s.d)(r.origin,t),(0,s.e)(r.direction,e,t),r}function d(t,e,r=u()){return(0,s.d)(r.origin,t),(0,s.d)(r.direction,e),r}function l(t,e){const r=(0,s.f)(c.rq.get(),(0,s.n)(c.rq.get(),t.direction),(0,s.e)(c.rq.get(),e,t.origin));return(0,s.g)(r,r)}function E(t,e,r){const n=(0,s.g)(t.direction,(0,s.e)(r,e,t.origin));return(0,s.i)(r,t.origin,(0,s.j)(r,t.direction,n)),r}const R=new n.I(()=>u());(0,o.vt)(),(0,o.vt)(),(0,o.vt)(),(0,i.vt)()},74038:(t,e,r)=>{r.d(e,{_:()=>n});class n{constructor(t,e,r,n,i,s=!1,o=0){this.name=t,this.count=e,this.type=r,this.offset=n,this.stride=i,this.normalized=s,this.divisor=o}}},82919:(t,e,r)=>{r.d(e,{DV:()=>A,C:()=>E,vt:()=>d,Qy:()=>l,ui:()=>R,ST:()=>S,bU:()=>T,pw:()=>p,m7:()=>g,c8:()=>v});var n=r(4341),i=r(58083),s=r(38954),o=r(51850),c=r(87317),u=r(91829),a=r(71351);function h(t){return t?{ray:(0,a.vt)(t.ray),c0:t.c0,c1:t.c1}:{ray:(0,a.vt)(),c0:0,c1:Number.MAX_VALUE}}new n.I(()=>h());var f=r(27921),_=r(32114);function d(t){return t?[(0,f.vt)(t[0]),(0,f.vt)(t[1]),(0,f.vt)(t[2]),(0,f.vt)(t[3]),(0,f.vt)(t[4]),(0,f.vt)(t[5])]:[(0,f.vt)(),(0,f.vt)(),(0,f.vt)(),(0,f.vt)(),(0,f.vt)(),(0,f.vt)()]}function l(){return[(0,o.vt)(),(0,o.vt)(),(0,o.vt)(),(0,o.vt)(),(0,o.vt)(),(0,o.vt)(),(0,o.vt)(),(0,o.vt)()]}function E(t,e){for(let r=0;r<N;r++)(0,f.C)(t[r],e[r]);return t}function R(t,e,r,n=C){const o=(0,i.lw)(_.Rc.get(),e,t);(0,i.B8)(o,o);for(let t=0;t<G;++t){const e=(0,c.t)(_.Km.get(),I[t],o);(0,s.h)(n[t],e[0]/e[3],e[1]/e[3],e[2]/e[3])}A(r,n)}function A(t,e){(0,f.Cr)(e[4],e[0],e[3],t[0]),(0,f.Cr)(e[1],e[5],e[6],t[1]),(0,f.Cr)(e[4],e[5],e[1],t[2]),(0,f.Cr)(e[3],e[2],e[6],t[3]),(0,f.Cr)(e[0],e[1],e[2],t[4]),(0,f.Cr)(e[5],e[4],e[7],t[5])}function g(t,e){for(let r=0;r<N;r++){const n=t[r];if(n[0]*e.center[0]+n[1]*e.center[1]+n[2]*e.center[2]+n[3]>=e.radius)return!1}return!0}function p(t,e){return y(t,function(t,e=h()){return(0,a.C)(t,e.ray),e.c0=0,e.c1=Number.MAX_VALUE,e}(e,m.get()))}function S(t,e,r){return y(t,function(t,e,r=h()){const n=(0,s.b)(t.vector);return(0,a.fA)(t.origin,e,r.ray),r.c0=0,r.c1=n,r}(e,r,m.get()))}function T(t,e){for(let r=0;r<N;r++)if((0,f.mN)(t[r],e)>0)return!1;return!0}function y(t,e){for(let r=0;r<N;r++)if(!(0,f.$Q)(t[r],e))return!1;return!0}const v={bottom:[5,1,0,4],near:[0,1,2,3],far:[5,4,7,6],right:[1,5,6,2],left:[4,0,3,7],top:[7,3,2,6]},N=6,G=8,I=[(0,u.fA)(-1,-1,-1,1),(0,u.fA)(1,-1,-1,1),(0,u.fA)(1,1,-1,1),(0,u.fA)(-1,1,-1,1),(0,u.fA)(-1,-1,1,1),(0,u.fA)(1,-1,1,1),(0,u.fA)(1,1,1,1),(0,u.fA)(-1,1,1,1)],m=new n.I(h),C=l()},85079:(t,e,r)=>{r.d(e,{Xk:()=>i,_u:()=>s});var n=r(21818);function i(t){let e=0;return(0,n.zI)(new Map(t.map(({name:t,count:r})=>{const n=[t,e];return 16===r?e+=4:9===r?e+=3:++e,n})))}function s(t){const e=new Map;let r=0;return t.forEach(t=>t.forEach(({name:t,count:n})=>{e.set(t,r),16===n?r+=4:9===n?r+=3:++r})),e}},90239:(t,e,r)=>{function n(t){switch(t){case"u8":case"i8":return 1;case"u16":case"i16":case"f16":return 2;case"u32":case"i32":case"f32":return 4;case"f64":return 8}}r.d(e,{GJ:()=>n})},94008:(t,e,r)=>{r.d(e,{iy:()=>l,XG:()=>E}),r(44208),r(53966);var n=r(34727),i=r(34304),s=r(58083),o=r(38954),c=r(51850),u=r(91829),a=r(34275);var h=r(71351);function f(t,e){const r=(0,o.b)(t),i=(0,n.YN)(t[2]/r),s=Math.atan2(t[1]/r,t[0]/r);return(0,o.h)(e,r,i,s),e}var _=r(44280),d=r(32114);class l{constructor(t=0,e=0,r=0,n=0){this.radius=n,"number"==typeof t?this._center=(0,c.fA)(t,e,r):function(t){return e=t,(0,a.vZ)(e)&&e.length>=3||function(t){return((0,a.aI)(t)||Array.isArray(t))&&t.length>=3}(t);var e}(t)||function(t){return(e=t)instanceof Float32Array&&e.length>=4||function(t){return Array.isArray(t)&&t.length>=4}(t);var e}(t)?(this._center=(0,c.ci)(t),this.radius=4===t.length?t[3]:e):(this._center=(0,c.o8)(t.center),this.radius=t.radius)}get center(){return this._center}set center(t){(0,o.d)(this.center,t)}exactEquals(t){return(0,o.G)(this._center,t.center)&&this.radius===t.radius}copy(t){return t!==this&&((0,o.d)(this._center,t.center),this.radius=t.radius),this}clone(){return new l(this.center,this.radius)}toVec4(){return(0,u.fA)(this.center[0],this.center[1],this.center[2],this.radius)}contains(t){return(0,o.s)(this.center,t)<=this.radius**2}intersectRay(t,e){if(null==t)return!1;if(!this._intersect(t,R))return!1;let{t0:r,t1:n}=R;if((r<0||n<r&&n>0)&&(r=n),r<0)return!1;if(e){const{origin:n,direction:i}=t;e[0]=n[0]+i[0]*r,e[1]=n[1]+i[1]*r,e[2]=n[2]+i[2]*r}return!0}intersectLine(t,e){const r=(0,h.Cr)(t,e);if(!this._intersect(r,R))return[];const{origin:n,direction:s}=r,{t0:u,t1:a}=R,f=t=>{const e=(0,c.vt)();return(0,o.c)(e,n,s,t),this.projectPoint(e,e)};return Math.abs(u-a)<(0,i.FD)()?[f(u)]:[f(u),f(a)]}_intersect(t,e){const{origin:r,direction:n}=t,i=A;i[0]=r[0]-this.center[0],i[1]=r[1]-this.center[1],i[2]=r[2]-this.center[2];const s=n[0]*n[0]+n[1]*n[1]+n[2]*n[2];if(0===s)return!1;const o=2*(n[0]*i[0]+n[1]*i[1]+n[2]*i[2]),c=o*o-4*s*(i[0]*i[0]+i[1]*i[1]+i[2]*i[2]-this.radius**2);if(c<0)return!1;const u=Math.sqrt(c);return e.t0=(-o-u)/(2*s),e.t1=(-o+u)/(2*s),!0}projectPoint(t,e){const r=(0,o.e)(d.rq.get(),t,this.center),n=(0,o.j)(d.rq.get(),r,this.radius/(0,o.b)(r));return(0,o.i)(e,n,this.center)}closestPointOnSilhouette(t,e){const r=d.rq.get(),n=d.Rc.get();(0,o.f)(r,t.origin,t.direction),(0,o.f)(e,r,t.origin),(0,o.j)(e,e,1/(0,o.b)(e)*this.radius);const i=this._angleToSilhouette(t.origin),c=(0,_.g7)(t.origin,e);return(0,s.$0)(n,c+i,r),(0,o.p)(e,e,n),e}frustumCoverage(t,e,r){const n=this.radius,i=n*n,s=t+.5*Math.PI,o=e*e+i-2*Math.cos(s)*e*n,c=Math.sqrt(o),u=o-i;if(u<=0)return.5;const a=Math.sqrt(u),h=Math.acos(a/c)-Math.asin(n/(c/Math.sin(s)));return Math.min(1,(h+.5*r)/r)}_angleToSilhouette(t){const e=(0,o.e)(d.rq.get(),t,this.center),r=(0,o.b)(e),i=this.radius,s=i+Math.abs(i-r);return(0,n.XM)(i/s)}union(t){const e=(0,o.D)(this._center,t.center),r=this.radius,n=t.radius;return e+n<r?this:e+r<n?(this.copy(t),this):((0,o.l)(this._center,this._center,t.center,(e+n-r)/(2*e)),this.radius=(e+r+n)/2,this)}toJSON(){return{center:this.center,radius:this.radius}}}const E={create:t=>new l(t),copy:(t,e)=>e.copy(t),setExtent:(t,e,r)=>r.copy(t),getExtent:(t,e)=>e,elevate:(t,e,r)=>(r.copy(t),r.radius+=e,r),axisAt(t,e,r,n){const i=(0,o.e)(g,e,t.center);switch(r){case 0:{const t=f(i,g)[2];return(0,o.h)(n,-Math.sin(t),Math.cos(t),0)}case 1:{const t=f(i,g),e=t[1],r=t[2],s=Math.sin(e);return(0,o.h)(n,-s*Math.cos(r),-s*Math.sin(r),Math.cos(e))}case 2:return(0,o.n)(n,i);default:return}},altitudeAt(t,e){const r=(0,o.e)(p,e,t.center);return(0,o.b)(r)-t.radius},setAltitudeAt(t,e,r,n){const i=E.altitudeAt(t,e),s=E.axisAt(t,e,2,p),c=(0,o.j)(p,s,r-i);return(0,o.i)(n,e,c)},intersectRay:(t,e,r)=>t.intersectRay(e,r),closestPoint:(t,e,r)=>t.intersectRay(e,r)?r:((0,h.oC)(e,t.center,r),t.projectPoint(r,r)),intersectRayClosestSilhouette(t,e,r){if(t.intersectRay(e,r))return r;const n=t.closestPointOnSilhouette(e,d.rq.get());return(0,o.i)(r,e.origin,(0,o.j)(d.rq.get(),e.direction,(0,o.D)(e.origin,n)/(0,o.b)(e.direction))),r},closestPointOnSilhouette:(t,e,r)=>t.closestPointOnSilhouette(e,r),distanceToSilhouette(t,e){const r=(0,o.e)(d.rq.get(),e,t.center),n=(0,o.F)(r),i=t.radius**2;return Math.sqrt(Math.abs(n-i))}},R=(new l,{t0:0,t1:0}),A=(0,c.vt)(),g=(0,c.vt)(),p=(0,c.vt)()},97146:(t,e,r)=>{r.d(e,{Dg:()=>s,my:()=>o,tM:()=>h,uW:()=>i});var n=r(34275);function i(t){return s(t,!0)}function s(t,e){if(Array.isArray(t)){if(t.length<n.y9)return t}else if(t.length<n.y9)return Array.from(t);let r=!0,i=!0;return t.some((t,e)=>(r=r&&0===t,i=i&&t===e,!r&&!i)),r?function(t){if(1===t)return u;if(t<n.y9)return new Array(t).fill(0);if(t>_.length){const e=Math.max(2*_.length,t);_=new Uint8Array(e)}return new Uint8Array(_.buffer,0,t)}(t.length):i?h(t.length):(0,n.iu)(t)&&t.BYTES_PER_ELEMENT===Uint16Array.BYTES_PER_ELEMENT?t:function(t,e){for(const r of t){if(r>=65536)return(0,n.iu)(t)?t:new Uint32Array(t);r>=256&&(e=!1)}return e?new Uint8Array(t):new Uint16Array(t)}(t,!e)}function o(t){return t<=n.y9?new Array(t):t<=65536?new Uint16Array(t):new Uint32Array(t)}let c=f(131072);const u=[0],a=(()=>{const t=new Uint16Array(65536);for(let e=0;e<t.length;++e)t[e]=e;return t})();function h(t){return 1===t?u:t<n.y9?Array.from(new Uint16Array(a.buffer,0,t)):t<a.length?new Uint16Array(a.buffer,0,t):(t>c.length&&(c=f(Math.max(2*c.length,t))),new Uint32Array(c.buffer,0,t))}function f(t){const e=new Uint32Array(t);for(let t=0;t<e.length;t++)e[t]=t;return e}let _=new Uint8Array(65536)}}]);