@arcgis/core 4.29.0 → 4.29.1

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 (257) hide show
  1. package/arcade/treeAnalysis.js +1 -1
  2. package/assets/esri/core/workers/RemoteClient.js +1 -1
  3. package/assets/esri/core/workers/chunks/{b43fde3e25d0c3b020b5.js → 039a872509872ce67ba4.js} +1 -1
  4. package/assets/esri/core/workers/chunks/{5243f9ff21e768c620c2.js → 23a5d750d93a7829174f.js} +1 -1
  5. package/assets/esri/core/workers/chunks/{47e6119be4a4a5ed640d.js → 2447a4d5886aeb0ff72a.js} +1 -1
  6. package/assets/esri/core/workers/chunks/{7f45a9e9bdbcffc2d6e0.js → 348bcc57b99a975902a8.js} +1 -1
  7. package/assets/esri/core/workers/chunks/{8c9fb2601488998013ba.js → 3523789a2948a4ab8cc8.js} +1 -1
  8. package/assets/esri/core/workers/chunks/{24649b410b757599a549.js → 48db6e0bbb1a9c043193.js} +1 -1
  9. package/assets/esri/core/workers/chunks/{752082be991f1cc8558f.js → 4984e2b79d862114d6a6.js} +1 -1
  10. package/assets/esri/core/workers/chunks/{8d9736fd15cdb54d9855.js → 5227f9eea6988aadad7f.js} +1 -1
  11. package/assets/esri/core/workers/chunks/58723274ef657fe212eb.js +1 -0
  12. package/assets/esri/core/workers/chunks/60ab18c6a04d4b2f1d4c.js +1 -0
  13. package/assets/esri/core/workers/chunks/647515801d94180b8402.js +1 -0
  14. package/assets/esri/core/workers/chunks/6c3ae96ec90e9ed7dd50.js +1 -0
  15. package/assets/esri/core/workers/chunks/7a8bba91769ee18cc39f.js +1 -0
  16. package/assets/esri/core/workers/chunks/7a98d2e026f63a581b1e.js +1 -0
  17. package/assets/esri/core/workers/chunks/8c360923cd1850767d3e.js +1 -0
  18. package/assets/esri/core/workers/chunks/{1a25ba411b89e050fbb7.js → a61f337802ae963d7f65.js} +1 -1
  19. package/assets/esri/core/workers/chunks/{d0c5318d7ef2e923aad0.js → a8ac511280f873960d46.js} +1 -1
  20. package/assets/esri/core/workers/chunks/b125ab84b7761e761734.js +1 -0
  21. package/assets/esri/core/workers/chunks/{b34d6e58b125fe111f91.js → b42a83db83851cb57d44.js} +1 -1
  22. package/assets/esri/core/workers/chunks/{1497dd943df7eede0704.js → b9c55ff1f21db198ce03.js} +1 -1
  23. package/assets/esri/core/workers/chunks/bb3322ddb89c0bd444f0.js +1 -0
  24. package/assets/esri/core/workers/chunks/becfdaeeb07f089d8be7.js +1 -0
  25. package/assets/esri/core/workers/chunks/{b26e39a399963c176d33.js → c527692694688a5b3b07.js} +2 -2
  26. package/assets/esri/core/workers/chunks/{210a93e0b96c5bff44a3.js → c556644bb0cf88770939.js} +1 -1
  27. package/assets/esri/core/workers/chunks/{a5e7b4acae17f88e2208.js → ce93027b6b81428ce9b0.js} +1 -1
  28. package/assets/esri/core/workers/chunks/{b8ece275abac93f3dccf.js → d14f16bfa6c12909929c.js} +1 -1
  29. package/assets/esri/core/workers/chunks/{1594f06a2d7d9439c62e.js → e2147c99cc5839654be1.js} +1 -1
  30. package/assets/esri/core/workers/chunks/{d33ed3a2a0d4b640bd4a.js → e4c7d8c69e4957c9d27c.js} +1 -1
  31. package/assets/esri/core/workers/chunks/{7709248f59520aee6f51.js → eceaa46f622f6fa31128.js} +1 -1
  32. package/assets/esri/core/workers/chunks/{2286db4c83ff1b6fb088.js → ef3e6209e6ac6a56960b.js} +1 -1
  33. package/assets/esri/core/workers/chunks/f59b5ea05caca8a1a398.js +1 -0
  34. package/chunks/Laserlines.glsl.js +3 -3
  35. package/chunks/Precipitation.glsl.js +1 -1
  36. package/chunks/SSAOBlur.glsl.js +2 -2
  37. package/chunks/boundedPlane.js +1 -1
  38. package/chunks/cameraUtilsSpherical.js +1 -1
  39. package/chunks/sphere.js +1 -1
  40. package/chunks/terrainUtilsPlanar.js +1 -1
  41. package/chunks/vec32.js +1 -1
  42. package/core/libs/gl-matrix-2/math/quat.js +1 -1
  43. package/core/libs/gl-matrix-2/math/vec3.js +1 -1
  44. package/core/libs/gl-matrix-2/vec3.js +1 -1
  45. package/geometry/support/axisAngleDegrees.js +1 -1
  46. package/geometry/support/coordinateSystem.js +1 -1
  47. package/geometry/support/lineSegment.js +1 -1
  48. package/geometry/support/meshUtils/exporters/gltf/gltf.js +1 -1
  49. package/geometry/support/meshUtils/georeference.js +1 -1
  50. package/geometry/support/meshUtils/merge.js +1 -1
  51. package/geometry/support/meshUtils/rotate.js +1 -1
  52. package/geometry/support/meshUtils/scale.js +1 -1
  53. package/geometry/support/meshUtils/vertexSpaceConversion.js +5 -0
  54. package/geometry/support/meshVertexSpaceUtils.js +1 -1
  55. package/geometry/support/plane.js +1 -1
  56. package/geometry/support/ray.js +1 -1
  57. package/geometry/support/triangle.js +1 -1
  58. package/geometry/support/vector.js +1 -1
  59. package/interfaces.d.ts +6 -6
  60. package/kernel.js +1 -1
  61. package/layers/IntegratedMesh3DTilesLayer.js +1 -1
  62. package/layers/LinkChartLayer.js +1 -1
  63. package/layers/VoxelWasmPerSceneView.js +1 -1
  64. package/layers/knowledgeGraph/KnowledgeGraphLayerDataManager.js +1 -1
  65. package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +1 -1
  66. package/layers/mixins/FeatureReductionLayer.js +1 -1
  67. package/layers/orientedImagery/core/coverageUtils.js +1 -1
  68. package/layers/orientedImagery/transformations/imageToGroundUtils.js +1 -1
  69. package/layers/orientedImagery/transformations/imageToWorld.js +1 -1
  70. package/layers/support/layerUtils.js +1 -1
  71. package/layers/video/VideoCameraSensorModel.js +1 -1
  72. package/layers/voxel/VoxelVolume.js +1 -1
  73. package/layers/voxel/voxelPlaneUtils.js +1 -1
  74. package/libs/linkchartlayout/LinkChartLayout.js +1 -1
  75. package/package.json +1 -1
  76. package/support/revision.js +1 -1
  77. package/symbols/cim/cimAnalyzer.js +1 -1
  78. package/views/2d/arcade/callExpressionWithCursor.js +1 -1
  79. package/views/2d/engine/webgl/shaderGraph/techniques/createTestMeshData.js +1 -1
  80. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriterInputEvaluator.js +1 -1
  81. package/views/2d/interactive/editingTools/TransformTool.js +1 -1
  82. package/views/2d/interactive/editingTools/manipulations/ScaleManipulation.js +1 -1
  83. package/views/2d/layers/features/Processor.js +1 -1
  84. package/views/2d/layers/features/aggregation/GeohashSpatialIndex.js +1 -1
  85. package/views/2d/layers/features/aggregation/GridSpatialIndex.js +1 -1
  86. package/views/2d/layers/features/layerAdapters/CatalogFootprintLayerAdapter.js +1 -1
  87. package/views/2d/layers/features/layerAdapters/FeatureLayerAdapter.js +1 -1
  88. package/views/2d/layers/features/layerAdapters/InMemoryLayerAdapter.js +1 -1
  89. package/views/2d/layers/features/layerAdapters/KnowledgeGraphSublayerAdapter.js +1 -1
  90. package/views/2d/layers/features/layerAdapters/OGCFeatureLayerAdapter.js +1 -1
  91. package/views/2d/layers/features/layerAdapters/OrientedImageryLayerAdapter.js +1 -1
  92. package/views/2d/layers/features/layerAdapters/StreamLayerAdapter.js +1 -1
  93. package/views/2d/layers/features/layerAdapters/SubtypeGroupLayerAdapter.js +1 -1
  94. package/views/2d/layers/features/processor/BinningStrategy.js +1 -1
  95. package/views/2d/layers/features/processor/ClusterStrategy.js +1 -1
  96. package/views/2d/layers/features/processor/FeatureUpdateStrategy.js +1 -1
  97. package/views/2d/layers/features/sources/strategies/chunks/DrillDownTileSourceChunk.js +1 -1
  98. package/views/2d/layers/features/sources/strategies/chunks/FeatureSnapshotSourceChunk.js +1 -1
  99. package/views/2d/layers/features/sources/strategies/chunks/OverrideChunk.js +1 -1
  100. package/views/2d/layers/features/sources/strategies/chunks/PagedTileSourceChunk.js +1 -1
  101. package/views/2d/layers/features/sources/strategies/chunks/StreamSourceChunk.js +1 -1
  102. package/views/2d/layers/features/support/AttributeStore.js +1 -1
  103. package/views/2d/layers/features/support/FeatureMetadata.js +1 -1
  104. package/views/2d/layers/features/support/GraphicsReader.js +1 -1
  105. package/views/2d/layers/features/support/Tile.js +1 -1
  106. package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
  107. package/views/2d/tiling/TileKey.js +1 -1
  108. package/views/3d/analysis/AreaMeasurement/support/MeasurementData.js +1 -1
  109. package/views/3d/analysis/Dimension/lengthDimensionConstraintUtils.js +1 -1
  110. package/views/3d/analysis/Dimension/lengthDimensionManipulatorUtils.js +1 -1
  111. package/views/3d/analysis/Dimension/lengthDimensionUtils.js +1 -1
  112. package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementController.js +1 -1
  113. package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
  114. package/views/3d/analysis/LineOfSight/LineOfSightIntersectionResult.js +1 -1
  115. package/views/3d/analysis/Slice/SliceTool.js +1 -1
  116. package/views/3d/analysis/Slice/sliceToolUtils.js +1 -1
  117. package/views/3d/analysis/support/measurementUtils.js +1 -1
  118. package/views/3d/animation/pointToPoint/Camera.js +1 -1
  119. package/views/3d/camera/constraintUtils/common.js +1 -1
  120. package/views/3d/camera/constraintUtils/distance.js +1 -1
  121. package/views/3d/camera/constraintUtils/tilt.js +1 -1
  122. package/views/3d/camera/intersectionUtils.js +1 -1
  123. package/views/3d/environment/ChapmanAtmosphere.js +1 -1
  124. package/views/3d/environment/EnvironmentRenderer.js +1 -1
  125. package/views/3d/environment/Fog.js +1 -1
  126. package/views/3d/environment/MarsAtmosphere.js +1 -1
  127. package/views/3d/environment/SceneViewEnvironmentManager.js +1 -1
  128. package/views/3d/interactive/SnappingVisualizer3D.js +1 -1
  129. package/views/3d/interactive/editingTools/dragEventPipeline3D.js +1 -1
  130. package/views/3d/interactive/editingTools/manipulations/MoveZManipulation.js +1 -1
  131. package/views/3d/interactive/editingTools/reshapeGraphic/ReshapeOperation.js +1 -1
  132. package/views/3d/interactive/editingTools/reshapeGraphic/edgeOffsetUtils.js +1 -1
  133. package/views/3d/interactive/editingTools/transformGraphic/ExtentScale.js +1 -1
  134. package/views/3d/interactive/editingTools/transformGraphic/extentUtils.js +1 -1
  135. package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
  136. package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
  137. package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
  138. package/views/3d/interactive/visualElements/support/Segment.js +1 -1
  139. package/views/3d/layers/I3SMeshView3D.js +1 -1
  140. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  141. package/views/3d/layers/PointCloudWorker.js +1 -1
  142. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  143. package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
  144. package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
  145. package/views/3d/layers/i3s/I3SClientNodeLoader.js +1 -1
  146. package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
  147. package/views/3d/layers/i3s/LoDUtil.js +1 -1
  148. package/views/3d/layers/i3s/PointRenderer.js +1 -1
  149. package/views/3d/layers/support/FeatureTileMeasurements3D.js +1 -1
  150. package/views/3d/layers/support/FeatureTileVisibility3D.js +1 -1
  151. package/views/3d/layers/support/uvUtils.js +1 -1
  152. package/views/3d/state/Frustum.js +1 -1
  153. package/views/3d/state/NearFarHeuristic.js +1 -1
  154. package/views/3d/state/controllers/GamepadKeyboardController.js +1 -1
  155. package/views/3d/state/controllers/RotateController.js +1 -1
  156. package/views/3d/state/controllers/global/PinchAndPanController.js +1 -1
  157. package/views/3d/state/controllers/global/ZoomController.js +1 -1
  158. package/views/3d/state/controllers/global/ZoomStepController.js +1 -1
  159. package/views/3d/state/controllers/local/PinchAndPanController.js +1 -1
  160. package/views/3d/state/controllers/local/ZoomController.js +1 -1
  161. package/views/3d/state/controllers/local/ZoomStepController.js +1 -1
  162. package/views/3d/state/controllers/momentum/ZoomPlanarMomentumController.js +1 -1
  163. package/views/3d/state/helpers/SceneIntersectionHelper.js +1 -1
  164. package/views/3d/state/utils/navigationUtils.js +1 -1
  165. package/views/3d/state/utils/viewUtils.js +1 -1
  166. package/views/3d/support/FrustumExtentIntersection.js +1 -1
  167. package/views/3d/support/cameraUtils.js +1 -1
  168. package/views/3d/support/cameraUtilsInternal.js +1 -1
  169. package/views/3d/support/intersectionUtils.js +1 -1
  170. package/views/3d/support/mathUtils.js +1 -1
  171. package/views/3d/support/orientedBoundingBox.js +1 -1
  172. package/views/3d/support/pointsOfInterest/CameraOnSurface.js +1 -1
  173. package/views/3d/support/pointsOfInterest/CenterOnSurface.js +1 -1
  174. package/views/3d/support/pointsOfInterest/Focus.js +1 -1
  175. package/views/3d/support/pointsOfInterest/PointsOfInterest.js +1 -1
  176. package/views/3d/support/sunUtils.js +1 -1
  177. package/views/3d/support/viewpointUtils.js +1 -1
  178. package/views/3d/terrain/OverlayManager.js +1 -1
  179. package/views/3d/terrain/PatchRenderData.js +1 -1
  180. package/views/3d/terrain/SphericalPatch.js +1 -1
  181. package/views/3d/terrain/TerrainRenderer.js +1 -1
  182. package/views/3d/terrain/Tile.js +1 -1
  183. package/views/3d/webgl-engine/collections/Component/DepthRange.js +1 -1
  184. package/views/3d/webgl-engine/collections/Component/IntersectionGeometry.js +1 -1
  185. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  186. package/views/3d/webgl-engine/core/util/TwoVectorPosition.js +1 -1
  187. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
  188. package/views/3d/webgl-engine/lib/BoundingInfo.js +1 -1
  189. package/views/3d/webgl-engine/lib/Camera.js +1 -1
  190. package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
  191. package/views/3d/webgl-engine/lib/Object3D.js +1 -1
  192. package/views/3d/webgl-engine/lib/Octree.js +1 -1
  193. package/views/3d/webgl-engine/lib/PathVertex.js +1 -1
  194. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  195. package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
  196. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  197. package/views/3d/webgl-engine/lib/edgeRendering/edgePreprocessing.js +1 -1
  198. package/views/3d/webgl-engine/lib/geometryDataUtils.js +1 -1
  199. package/views/3d/webgl-engine/lib/intersectorUtils.js +1 -1
  200. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  201. package/views/3d/webgl-engine/lib/verticalOffsetUtils.js +1 -1
  202. package/views/3d/webgl-engine/lighting/SceneLighting.js +1 -1
  203. package/views/3d/webgl-engine/lighting/SphericalHarmonics.js +1 -1
  204. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  205. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  206. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  207. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  208. package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
  209. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  210. package/views/3d/webgl-engine/materials/pbrUtils.js +1 -1
  211. package/views/SelectionManager.js +1 -1
  212. package/views/draw/support/createUtils.js +1 -1
  213. package/views/draw/support/surfaceCoordinateSystems.js +1 -1
  214. package/views/interactive/GraphicManipulator.js +1 -1
  215. package/views/interactive/SegmentLabels.js +1 -1
  216. package/views/interactive/coordinateHelper.js +1 -1
  217. package/views/interactive/editGeometry/operations/OffsetEdgeVertex.js +1 -1
  218. package/views/interactive/editGeometry/support/editPlaneUtils.js +1 -1
  219. package/views/interactive/sketch/constraints.js +1 -1
  220. package/views/interactive/snapping/RightAngleSnapper.js +1 -1
  221. package/views/interactive/snapping/candidates/ParallelLineSnappingCandidate.js +1 -1
  222. package/views/interactive/snapping/candidates/RightAngleTriangleSnappingCandidate.js +1 -1
  223. package/views/interactive/snapping/featureSources/sceneLayerSource/SceneLayerSnappingSourceWorker.js +1 -1
  224. package/views/interactive/snapping/featureSources/sceneLayerSource/sceneLayerSnappingUtils.js +1 -1
  225. package/views/interactive/snapping/hints/IntersectionSnappingHint.js +1 -1
  226. package/views/interactive/snapping/hints/LineSnappingHint.js +1 -1
  227. package/views/interactive/snapping/hints/ParallelSnappingHint.js +1 -1
  228. package/views/interactive/snapping/hints/PointSnappingHint.js +1 -1
  229. package/views/interactive/snapping/hints/RightAngleSnappingHint.js +1 -1
  230. package/views/layers/FeatureLayerView.js +1 -1
  231. package/views/navigation/PanSphericalMomentumEstimator.js +1 -1
  232. package/views/support/angularMeasurementUtils.js +1 -1
  233. package/views/support/euclideanAreaMeasurementUtils.js +1 -1
  234. package/views/support/euclideanLengthMeasurementUtils.js +1 -1
  235. package/views/support/geometry3dUtils.js +1 -1
  236. package/widgets/Editor/EditorViewModel.js +1 -1
  237. package/widgets/ElevationProfile/support/geometryUtils.js +1 -1
  238. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  239. package/widgets/FeatureTable/Grid/Grid.js +1 -1
  240. package/widgets/FeatureTable/support/ColumnTemplateBase.js +1 -1
  241. package/widgets/Features/FeaturesViewModel.js +1 -1
  242. package/widgets/PanoramicViewer/PanoramicViewerViewModel.js +1 -1
  243. package/widgets/PanoramicViewer/utils.js +1 -1
  244. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
  245. package/widgets/support/Selector2D/SelectionOperation.js +1 -1
  246. package/widgets/support/Selector2D/selectorUtils.js +1 -1
  247. package/assets/esri/core/workers/chunks/0e83f3718a0b45652b5e.js +0 -1
  248. package/assets/esri/core/workers/chunks/1fa5c8af69a09a3730b3.js +0 -1
  249. package/assets/esri/core/workers/chunks/4736f79b5c94ce103d43.js +0 -1
  250. package/assets/esri/core/workers/chunks/65f7adaaf1f535310c11.js +0 -1
  251. package/assets/esri/core/workers/chunks/79c041b292648c5eaecc.js +0 -1
  252. package/assets/esri/core/workers/chunks/7c4c2c0beddabac672b6.js +0 -1
  253. package/assets/esri/core/workers/chunks/9307d485a9e5f9fa77d1.js +0 -1
  254. package/assets/esri/core/workers/chunks/9a758de08dfa57735879.js +0 -1
  255. package/assets/esri/core/workers/chunks/a4c3da057ec2a07bbbe8.js +0 -1
  256. package/assets/esri/core/workers/chunks/b252270b100351779f1f.js +0 -1
  257. package/assets/esri/core/workers/chunks/dc57aa9f2fc69e654559.js +0 -1
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.29/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import i from"../../Camera.js";import"../../geometry.js";import t from"../../Ground.js";import o from"../../Map.js";import a from"../../request.js";import r from"../../core/Collection.js";import s from"../../core/Error.js";import n from"../../core/Evented.js";import{JSONMap as h}from"../../core/jsonMap.js";import{destroyMaybe as m}from"../../core/maybe.js";import{isAbortError as l,waitTick as d}from"../../core/promiseUtils.js";import{watch as c,when as p,syncAndInitial as g}from"../../core/reactiveUtils.js";import{property as _}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{enumeration as u}from"../../core/accessorSupport/decorators/enumeration.js";import{subclass as y}from"../../core/accessorSupport/decorators/subclass.js";import v from"../../layers/GraphicsLayer.js";import{convertSphereVertexToPixelLocation as f}from"../../layers/orientedImagery/transformations/utils.js";import w from"../../views/SceneView.js";import V from"../Zoom.js";import{logAndThrow as C,getMissingPropertyErrorName as j,getMissingPropertyErrorMessage as P}from"../OrientedImageryViewer/utils.js";import{defaultImageSphereCenter as z}from"./constants.js";import R from"./PanoramicZoomConditions.js";import H from"./PanoramicZoomViewModel.js";import{meshToGraphic as b,createImageSphere as S}from"./utils.js";import M from"../../geometry/SpatialReference.js";const x={autoLoad:"auto-load",default:"default",navigation:"navigation",fovConstraint:"fov-constraint",clickAction:"image-click-action"};let O=class extends n.EventedAccessor{constructor(e){super(e),this._startPosition=null,this._targetPosition=null,this._graphics=new v({elevationInfo:{mode:"relative-to-ground"}}),this._imageGraphic=null,this._loadController=null,this._map=new o({ground:new t({opacity:0,navigationConstraint:null}),layers:new r([this._graphics])}),this._zoomViewModel=null,this.autoLoad=!0,this.clickAction="none",this.maxHFOV=120,this.minHFOV=50,this.imageSize=null,this.imageSource=null,this.pitch=90,this.state="ready",this.yaw=0,this._addNavigationHandles=()=>{this.imageRenderer.basemapTerrain.suspended=!0,this.imageRenderer.constraints.tilt.max=180,this.removeHandles(x.navigation),this.addHandles([this.imageRenderer.on("mouse-wheel",this._handleWheel),this.imageRenderer.on("double-click",this._handleDoubleClick),this.imageRenderer.on("drag",this._handleDrag),this.imageRenderer.on("key-down",(e=>{const i=["+","-","Shift","_","=","ArrowUp","ArrowDown","ArrowRight","ArrowLeft"],t=e.key;i.includes(t)&&e.stopPropagation()}))],x.navigation)},this._addHFOVHandles=()=>{this.removeHandles(x.fovConstraint),this.addHandles(c((()=>[this.maxHFOV,this.minHFOV]),(()=>{this._zoomViewModel&&(this._zoomViewModel.panoramicZoomConditions=new R({view:this.imageRenderer,maxFOV:this.maxHFOV,minFOV:this.minHFOV}))}),g),x.fovConstraint)},this._addZoomHandles=()=>{this._zoomViewModel=new H({view:this.imageRenderer,panoramicZoomConditions:new R({maxFOV:this.maxHFOV,minFOV:this.minHFOV})});const e=new V({viewModel:this._zoomViewModel});this.imageRenderer.ui.add(e,"top-left"),this._addHFOVHandles()},this._cancelLoadWithController=()=>{this._loadController?.abort(),this._loadController=null},this._handleDoubleClick=e=>{e.stopPropagation(),e.native.ctrlKey?this._zoomOut():this._zoomIn()},this._handleDrag=e=>{e.stopPropagation();const{action:i,x:t,y:o}=e;switch(i){case"start":this._startPosition=this._targetPosition={x:t,y:o};break;case"update":this._targetPosition={x:t,y:o},this._updateCameraHeadingAndTilt()}},this._handleImageClick=e=>{if("image-loaded"===this.state&&this.imageRenderer.ready)switch(this.clickAction){case"emit":e.stopPropagation(),this.emit("click",e);break;case"hittest":e.stopPropagation(),e.async((async()=>{const i=await this.imageRenderer.hitTest(e.screenPoint,{include:this._graphics});this.emit("hittest-response",i)}));break;case"pixel-location":{if(e.stopPropagation(),!this.imageSize||!e.mapPoint)return void this.emit("pixel-location",null);const i=f(e.mapPoint,this.imageSize[0],this.imageSize[1]);this.emit("pixel-location",{...i,spatialReference:M.WebMercator,meshVertex:e.mapPoint});break}}},this._handleWheel=e=>{const i=e.deltaX??e.native.deltaX;e.stopPropagation(),i>0||e.deltaY>0?this._zoomOut():this._zoomIn()},this._loadWithController=()=>{this._cancelLoadWithController(),this._loadController=new AbortController,this.loadImage(this._loadController)},this._zoomIn=()=>this._zoomViewModel?.zoomIn(),this._zoomOut=()=>this._zoomViewModel?.zoomOut(),this.addGraphic=(e,i)=>"image-loaded"===this.state&&!this._graphics.graphics.includes(e)&&(this._graphics.graphics.add(e,i),!0),this.addManyGraphics=e=>{if("image-loaded"!==this.state)return!1;const i=e.filter((e=>!this._graphics.graphics.includes(e)));return this._graphics.graphics.addMany(i),!0},this.clearGraphics=()=>{this._graphics.graphics.removeAll()},this.clearImage=()=>{this.imageSize=null,this._removeImageSphere()},this.removeGraphic=e=>!("image-loaded"!==this.state||!this._graphics.graphics.includes(e))&&(this._graphics.remove(e),!0),this.removeManyGraphics=e=>{if("image-loaded"!==this.state)return!1;const i=e.filter((e=>this._graphics.graphics.includes(e)));return this._graphics.removeMany(i),!0},this._imageRenderer=new w({map:this._map,viewingMode:"local",camera:{position:z},environment:{atmosphereEnabled:!1,starsEnabled:!1,lighting:{type:"virtual"}},popupEnabled:!1,spatialReference:M.WebMercator,ui:{components:["attribution"]}})}initialize(){this.addHandles([c((()=>this.imageSource),(()=>{this.state="initialized",this.imageSource&&this.autoLoad&&this._loadWithController()}),g),c((()=>this.fov),(()=>{this._reloadCamera()}),g),c((()=>this.yaw),(e=>{this.camera.heading=e,this._reloadCamera()}),g),c((()=>this.pitch),(e=>{this.camera.tilt=e,this._reloadCamera()}),g),p((()=>this.imageRenderer.ready),(()=>{this._addNavigationHandles(),this._addZoomHandles()}),g),c((()=>this.clickAction),(e=>{this.removeHandles(x.clickAction),"none"!==e&&this.addHandles(this.imageRenderer.on("click",this._handleImageClick))}),g)],x.default)}get camera(){return this.imageRenderer.camera}set camera(e){e&&(this.imageRenderer.camera=e.clone())}get fov(){return this.camera.fov}set fov(e){Number.isFinite(e)&&this._zoomViewModel?.zoomTo(e)}get imageRenderer(){return this._imageRenderer}async _loadImageInternal(e,i){let t;this._removeImageSphere(),this.state="image-loading";try{t=(await a(e,{responseType:"image",...i})).data}catch(o){throw l(o)?this.state="image-load-aborted":this.state="image-load-error",o}return this._updateImageSphere(t,i)}_reloadCamera(){this.camera=this.camera.clone()}_removeImageSphere(){this._imageGraphic&&(this._graphics.remove(this._imageGraphic),this._imageGraphic=m(this._imageGraphic)),this.state="ready"}_updateCameraHeadingAndTilt(){if(!this._startPosition||!this._targetPosition)return;const e=this.camera.heading+(this._startPosition.x-this._targetPosition.x)/this.imageRenderer.width*this.camera.fov;this.yaw=(e+360)%360;const i=this.camera.tilt-(this._startPosition.y-this._targetPosition.y)/this.imageRenderer.height*this.imageRenderer.camera.fov;this.pitch=Math.min(179.5,Math.max(.5,i)),this._startPosition=this._targetPosition}async _updateImageSphere(e,i){return await d(i),this._imageGraphic=b(S(e)),this.imageSize=[e.width,e.height],this._graphics.add(this._imageGraphic),this.state="image-loaded",this._imageGraphic.geometry}async loadImage(e){return this.imageSize=null,this.imageSource?this._loadImageInternal(this.imageSource,e):C(this.declaredClass,new s(j("panoramic-viewer"),P("PanoramicViewerViewModel","imageSource")))}};e([_()],O.prototype,"_graphics",void 0),e([_()],O.prototype,"_imageGraphic",void 0),e([_()],O.prototype,"_imageRenderer",void 0),e([_()],O.prototype,"_loadController",void 0),e([_()],O.prototype,"_map",void 0),e([_()],O.prototype,"_zoomViewModel",void 0),e([_({type:Boolean})],O.prototype,"autoLoad",void 0),e([_({type:i})],O.prototype,"camera",null),e([u(new h({emit:"emit",hittest:"hittest",none:"none","pixel-location":"pixel-location"}))],O.prototype,"clickAction",void 0),e([_({type:Number})],O.prototype,"fov",null),e([_({type:Number})],O.prototype,"maxHFOV",void 0),e([_({type:Number})],O.prototype,"minHFOV",void 0),e([_()],O.prototype,"imageSize",void 0),e([_()],O.prototype,"imageSource",void 0),e([_({type:Number})],O.prototype,"pitch",void 0),e([_({readOnly:!0})],O.prototype,"imageRenderer",null),e([_()],O.prototype,"state",void 0),e([_({type:Number})],O.prototype,"yaw",void 0),O=e([y("esri.widgets.PanoramicViewer.PanoramicViewerViewModel")],O);const k=O;export{k as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import i from"../../Camera.js";import"../../geometry.js";import t from"../../Ground.js";import o from"../../Map.js";import a from"../../request.js";import r from"../../core/Collection.js";import s from"../../core/Error.js";import n from"../../core/Evented.js";import{JSONMap as h}from"../../core/jsonMap.js";import{destroyMaybe as m}from"../../core/maybe.js";import{isAbortError as l,waitTick as d}from"../../core/promiseUtils.js";import{watch as c,when as p,syncAndInitial as g}from"../../core/reactiveUtils.js";import{property as _}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{enumeration as u}from"../../core/accessorSupport/decorators/enumeration.js";import{subclass as y}from"../../core/accessorSupport/decorators/subclass.js";import v from"../../layers/GraphicsLayer.js";import{convertSphereVertexToPixelLocation as f}from"../../layers/orientedImagery/transformations/utils.js";import w from"../../views/SceneView.js";import V from"../Zoom.js";import{logAndThrow as C,getMissingPropertyErrorName as j,getMissingPropertyErrorMessage as P}from"../OrientedImageryViewer/utils.js";import{defaultImageSphereCenter as z}from"./constants.js";import R from"./PanoramicZoomConditions.js";import H from"./PanoramicZoomViewModel.js";import{meshToGraphic as b,createImageSphere as S}from"./utils.js";import M from"../../geometry/SpatialReference.js";const x={autoLoad:"auto-load",default:"default",navigation:"navigation",fovConstraint:"fov-constraint",clickAction:"image-click-action"};let O=class extends n.EventedAccessor{constructor(e){super(e),this._startPosition=null,this._targetPosition=null,this._graphics=new v({elevationInfo:{mode:"relative-to-ground"}}),this._imageGraphic=null,this._loadController=null,this._map=new o({ground:new t({opacity:0,navigationConstraint:null}),layers:new r([this._graphics])}),this._zoomViewModel=null,this.autoLoad=!1,this.clickAction="none",this.maxHFOV=120,this.minHFOV=50,this.imageSize=null,this.imageSource=null,this.pitch=90,this.state="ready",this.yaw=0,this._addNavigationHandles=()=>{this.imageRenderer.basemapTerrain.suspended=!0,this.imageRenderer.constraints.tilt.max=180,this.removeHandles(x.navigation),this.addHandles([this.imageRenderer.on("mouse-wheel",this._handleWheel),this.imageRenderer.on("double-click",this._handleDoubleClick),this.imageRenderer.on("drag",this._handleDrag),this.imageRenderer.on("key-down",(e=>{const i=["+","-","Shift","_","=","ArrowUp","ArrowDown","ArrowRight","ArrowLeft"],t=e.key;i.includes(t)&&e.stopPropagation()}))],x.navigation)},this._addHFOVHandles=()=>{this.removeHandles(x.fovConstraint),this.addHandles(c((()=>[this.maxHFOV,this.minHFOV]),(()=>{this._zoomViewModel&&(this._zoomViewModel.panoramicZoomConditions=new R({view:this.imageRenderer,maxFOV:this.maxHFOV,minFOV:this.minHFOV}))}),g),x.fovConstraint)},this._addZoomHandles=()=>{this._zoomViewModel=new H({view:this.imageRenderer,panoramicZoomConditions:new R({maxFOV:this.maxHFOV,minFOV:this.minHFOV})});const e=new V({viewModel:this._zoomViewModel});this.imageRenderer.ui.add(e,"top-left"),this._addHFOVHandles()},this._cancelLoadWithController=()=>{this._loadController?.abort(),this._loadController=null},this._handleDoubleClick=e=>{e.stopPropagation(),e.native.ctrlKey?this._zoomOut():this._zoomIn()},this._handleDrag=e=>{e.stopPropagation();const{action:i,x:t,y:o}=e;switch(i){case"start":this._startPosition=this._targetPosition={x:t,y:o};break;case"update":this._targetPosition={x:t,y:o},this._updateCameraHeadingAndTilt()}},this._handleImageClick=e=>{if("image-loaded"===this.state&&this.imageRenderer.ready)switch(this.clickAction){case"emit":e.stopPropagation(),this.emit("click",e);break;case"hittest":e.stopPropagation(),e.async((async()=>{const i=await this.imageRenderer.hitTest(e.screenPoint,{include:this._graphics});this.emit("hittest-response",i)}));break;case"pixel-location":{if(e.stopPropagation(),!this.imageSize||!e.mapPoint)return void this.emit("pixel-location",null);const i=f(e.mapPoint,this.imageSize[0],this.imageSize[1]);this.emit("pixel-location",{...i,spatialReference:M.WebMercator,meshVertex:e.mapPoint});break}}},this._handleWheel=e=>{const i=e.deltaX??e.native.deltaX;e.stopPropagation(),i>0||e.deltaY>0?this._zoomOut():this._zoomIn()},this._loadWithController=()=>{this._cancelLoadWithController(),this._loadController=new AbortController,this.loadImage(this._loadController)},this._zoomIn=()=>this._zoomViewModel?.zoomIn(),this._zoomOut=()=>this._zoomViewModel?.zoomOut(),this.addGraphic=(e,i)=>"image-loaded"===this.state&&!this._graphics.graphics.includes(e)&&(this._graphics.graphics.add(e,i),!0),this.addManyGraphics=e=>{if("image-loaded"!==this.state)return!1;const i=e.filter((e=>!this._graphics.graphics.includes(e)));return this._graphics.graphics.addMany(i),!0},this.clearGraphics=()=>{this._graphics.graphics.removeAll()},this.clearImage=()=>{this.imageSize=null,this._removeImageSphere()},this.removeGraphic=e=>!("image-loaded"!==this.state||!this._graphics.graphics.includes(e))&&(this._graphics.remove(e),!0),this.removeManyGraphics=e=>{if("image-loaded"!==this.state)return!1;const i=e.filter((e=>this._graphics.graphics.includes(e)));return this._graphics.removeMany(i),!0},this._imageRenderer=new w({map:this._map,viewingMode:"local",camera:{position:z},environment:{atmosphereEnabled:!1,starsEnabled:!1,lighting:{type:"virtual"}},popupEnabled:!1,spatialReference:M.WebMercator,ui:{components:["attribution"]}})}initialize(){this.addHandles([c((()=>this.imageSource),(()=>{this.state="initialized",this.imageSource&&this.autoLoad&&this._loadWithController()}),g),c((()=>this.fov),(()=>{this._reloadCamera()}),g),c((()=>this.yaw),(e=>{this.camera.heading=e,this._reloadCamera()}),g),c((()=>this.pitch),(e=>{this.camera.tilt=e,this._reloadCamera()}),g),p((()=>this.imageRenderer.ready),(()=>{this._addNavigationHandles(),this._addZoomHandles()}),g),c((()=>this.clickAction),(e=>{this.removeHandles(x.clickAction),"none"!==e&&this.addHandles(this.imageRenderer.on("click",this._handleImageClick))}),g)],x.default)}get camera(){return this.imageRenderer.camera}set camera(e){e&&(this.imageRenderer.camera=e.clone())}get fov(){return this.camera.fov}set fov(e){Number.isFinite(e)&&this._zoomViewModel?.zoomTo(e)}get imageRenderer(){return this._imageRenderer}async _loadImageInternal(e,i){let t;this._removeImageSphere(),this.state="image-loading";try{t=(await a(e,{responseType:"image",...i})).data}catch(o){throw l(o)?this.state="image-load-aborted":this.state="image-load-error",o}return this._updateImageSphere(t,i)}_reloadCamera(){this.camera=this.camera.clone()}_removeImageSphere(){this._imageGraphic&&(this._graphics.remove(this._imageGraphic),this._imageGraphic=m(this._imageGraphic)),this.state="ready"}_updateCameraHeadingAndTilt(){if(!this._startPosition||!this._targetPosition)return;const e=this.camera.heading+(this._startPosition.x-this._targetPosition.x)/this.imageRenderer.width*this.camera.fov;this.yaw=(e+360)%360;const i=this.camera.tilt-(this._startPosition.y-this._targetPosition.y)/this.imageRenderer.height*this.imageRenderer.camera.fov;this.pitch=Math.min(179.5,Math.max(.5,i)),this._startPosition=this._targetPosition}async _updateImageSphere(e,i){return await d(i),this._imageGraphic=b(S(e)),this.imageSize=[e.width,e.height],this._graphics.add(this._imageGraphic),this.state="image-loaded",this._imageGraphic.geometry}async loadImage(e){return this.imageSize=null,this.imageSource?this._loadImageInternal(this.imageSource,e):C(this.declaredClass,new s(j("panoramic-viewer"),P("PanoramicViewerViewModel","imageSource")))}};e([_()],O.prototype,"_graphics",void 0),e([_()],O.prototype,"_imageGraphic",void 0),e([_()],O.prototype,"_imageRenderer",void 0),e([_()],O.prototype,"_loadController",void 0),e([_()],O.prototype,"_map",void 0),e([_()],O.prototype,"_zoomViewModel",void 0),e([_({type:Boolean})],O.prototype,"autoLoad",void 0),e([_({type:i})],O.prototype,"camera",null),e([u(new h({emit:"emit",hittest:"hittest",none:"none","pixel-location":"pixel-location"}))],O.prototype,"clickAction",void 0),e([_({type:Number})],O.prototype,"fov",null),e([_({type:Number})],O.prototype,"maxHFOV",void 0),e([_({type:Number})],O.prototype,"minHFOV",void 0),e([_()],O.prototype,"imageSize",void 0),e([_()],O.prototype,"imageSource",void 0),e([_({type:Number})],O.prototype,"pitch",void 0),e([_({readOnly:!0})],O.prototype,"imageRenderer",null),e([_()],O.prototype,"state",void 0),e([_({type:Number})],O.prototype,"yaw",void 0),O=e([y("esri.widgets.PanoramicViewer.PanoramicViewerViewModel")],O);const k=O;export{k as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.29/esri/copyright.txt for details.
4
4
  */
5
- import t from"../../Graphic.js";import e from"../../geometry/Mesh.js";import r from"../../geometry/support/MeshMaterial.js";import o from"../../geometry/support/MeshTexture.js";import{defaultImageSphereSize as s,defaultImageSphereCenter as i}from"./constants.js";function u(t,u=i,n=s){const m=u.clone();m.z=-s/2;const c=e.createSphere(m,{size:n,densificationFactor:2,vertexSpace:"local",material:new r({colorTexture:new o({data:t})})});if(c.components[0].trustSourceNormals=!0,c.vertexAttributes.uv){const t=c.vertexAttributes.uv.length??0;for(let e=0;e<t;e++)c.vertexAttributes.uv[2*e+0]=1-c.vertexAttributes.uv[2*e+0],c.vertexAttributes.uv[2*e+1]=c.vertexAttributes.uv[2*e+1]}return c.centerAt(m),c}function n(e){return new t({geometry:e,symbol:{type:"mesh-3d",symbolLayers:[{type:"fill"}]}})}export{u as createImageSphere,n as meshToGraphic};
5
+ import e from"../../Graphic.js";import t from"../../geometry/Mesh.js";import r from"../../geometry/support/MeshMaterial.js";import o from"../../geometry/support/MeshTexture.js";import{defaultImageSphereSize as s,defaultImageSphereCenter as i}from"./constants.js";function n(e,n=i,u=s){const m=n.clone();m.z=-s/2;const c=t.createSphere(m,{size:u,densificationFactor:2,vertexSpace:"georeferenced",material:new r({colorTexture:new o({data:e})})});if(c.components[0].trustSourceNormals=!0,c.vertexAttributes.uv){const e=c.vertexAttributes.uv.length??0;for(let t=0;t<e;t++)c.vertexAttributes.uv[2*t+0]=1-c.vertexAttributes.uv[2*t+0],c.vertexAttributes.uv[2*t+1]=c.vertexAttributes.uv[2*t+1]}return c.centerAt(m),c}function u(t){return new e({geometry:t,symbol:{type:"mesh-3d",symbolLayers:[{type:"fill"}]}})}export{n as createImageSphere,u as meshToGraphic};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.29/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import{id as t}from"../../kernel.js";import r from"../../core/Collection.js";import s from"../../core/Error.js";import i from"../../core/Evented.js";import a from"../../core/Logger.js";import{when as l}from"../../core/reactiveUtils.js";import{property as o}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/RandomLCG.js";import{subclass as n}from"../../core/accessorSupport/decorators/subclass.js";import c from"../../geometry/Point.js";import{isPoint as h,isMultipoint as u}from"../../geometry/support/jsonUtils.js";import{fetchMessageBundle as p}from"../../intl/messages.js";import d from"../../layers/FeatureLayer.js";import g from"../../layers/GraphicsLayer.js";import y from"../../layers/support/CodedValueDomain.js";import{isFeatureLayer as m}from"../../layers/support/layerUtils.js";import f from"../../networks/UtilityNetwork.js";import{getObjectIdsFromElements as w,getFeaturesFromLayers as _}from"../../networks/support/utils.js";import A from"../../portal/Portal.js";import{hasUserTypeExtension as b}from"../../portal/support/utils.js";import{trace as v}from"../../rest/networks/trace.js";import R from"../../rest/networks/support/TraceLocation.js";import I from"../../rest/networks/support/TraceParameters.js";import{GeometryHandler as G}from"./support/GeometryHandler.js";import{GraphicHandler as k}from"./support/GraphicHandler.js";import{ResultAreaHandler as F}from"./support/ResultAreaHandler.js";import{UtilityHelper as T}from"./support/UtilityHelper.js";const S=()=>p("esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace"),L=()=>p("esri/core/t9n/Units"),H=`utility-network-trace-flags-${Date.now()}`,P=`utility-network-trace-results-${Date.now()}`;function N(e){return e instanceof y}function U(e){return"feature"===e.layer.type||"subtype-group"===e.layer.type}function C(e){return"layer"in e}function E(e){return void 0!==e.layerViews}function B(e){return"graphics"===e.type}async function j(e){const t=new d({url:e.networkSystemLayers.dirtyAreasLayerUrl});await t.load();const r=t.version;if(Number(r)<=11.1){const t=new A({url:new URL(e.layerUrl).origin+"/portal"});await t.load();const r=t?.user?.username;return!!r&&b(t,r,"utilityNetwork")}return!0}let D=class extends i.EventedAccessor{constructor(e){super(e),this._activeProgress=!1,this._clickHandler=null,this._flags=[],this._flagId=0,this._geometryHandler=null,this._highlightHandler=[],this._resultAreaHandler=null,this._utilityHelper=new T,this._watchHandler=null,this._validUNLayers=[],this._traceTimeout=6e5,this.traces=[],this.graphicHandler=null,this.defaultGraphicColor={color:[255,255,0,.6],haloOpacity:.9,fillOpacity:.2,hex:"#FFFF00"},this.enableResultArea=!1,this.flags=[],this.gdbVersion="sde.DEFAULT",this.messages=null,this.messagesUnits=null,this.defaultResultAreaProperties={type:"convexhull",distance:10,unit:"meters",areaUnit:"square-meters",color:{color:[255,165,0,.5],haloOpacity:.9,fillOpacity:.2,hex:"#ffa500"},show:!1},this.selectedTraces=[],this.selectOnComplete=!0,this.showGraphicsOnComplete=!0,this.showSelectionAttributes=!0,this.traceResults=[],this.utilityNetwork=null}initialize(){this._geometryHandler=new G,this.graphicHandler=new k,this._resultAreaHandler=new F;(async()=>{const[e,t]=await Promise.all([S(),L()]);this.set({messages:e,messagesUnits:t})})()}destroy(){this.view=null}get resultAreaProperties(){return this.defaultResultAreaProperties}set resultAreaProperties(e){this._set("resultAreaProperties",{...this.defaultResultAreaProperties,...e}),this.graphicHandler.addCustomColor(this.resultAreaProperties.color),this.traceResults.forEach((t=>{t.resultArea={...this.defaultResultAreaProperties,...e};const r=t.resultArea.show;this.removeResultAreaFromMap(t),this.enableResultArea&&(t.resultAreaGraphic?this.addResultAreaToMap(t,t.resultAreaGraphic):this.createResultAreaGraphic(t).then((e=>{e&&(t.resultAreaGraphic=e,r&&this.addResultAreaToMap(t,e))})))}))}get state(){return this.view?.ready?"ready":"loading"}get view(){return this._get("view")}set view(e){e&&"2d"!==e.type&&a.getLogger(this).error(new s("view:invalid-view","SceneView is not supported",{view:e})),this._set("view",e),this.utilityNetwork&&this.reset(),this.utilityNetwork=null,this.loadUtilityNetwork().then((e=>{e&&this.selectTracesOnLoad()}))}addFlagByHit(e,t){const r=e=>{this.view?.popup&&(this.view.popupEnabled=e)};return new Promise(((s,i)=>{r(!1),this._clickHandler?.remove(),this.emit("add-flag",{type:e}),this._clickHandler=this.view?.on("click",(a=>{this.queryFlagByHitTest(a,e,t).then((i=>{r(!0),this._clickHandler?.remove(),this.emit("add-flag-complete",{type:e,symbol:t}),s(i)})).catch((s=>{r(!0),this._clickHandler?.remove(),this.emit("add-flag-error",{type:e,symbol:t}),i(s)}))}))}))}async addFlagsOnLoad(){return new Promise((e=>{const t=[];this._watchHandler=l((()=>null!=this.view&&!this.view.updating),(async()=>{if(this._flags.length>0)e(t);else{const r=this.flags.map((async e=>{if(e.mapPoint){const r=new c({x:e.mapPoint.x,y:e.mapPoint.y,spatialReference:e.mapPoint.spatialReference.wkid}),s={screenPoint:this.view.toScreen(r),mapPoint:r};await this.queryFlagByHitTest(s,e.type)||("barrier"===e.type?t.push("barrier"):t.push("starting-point"))}}));await Promise.all(r),e(t)}}),{initial:!0})}))}async addResultAreaToMap(e,t){if(this.view)if(e.resultArea.show=!0,t)this._resultAreaHandler?.addResultAreaToMap(t,this.view.map),this.emit("add-result-area",{graphic:t});else if(e.results){const t=await this.createResultAreaGraphic(e);t&&(this._resultAreaHandler?.addResultAreaToMap(t,this.view.map),this.emit("add-result-area",{graphic:t}))}}async addResultGraphicToView(e,t){const{view:r}=this,{results:s}=e;if(r&&s&&this.utilityNetwork)for(const i in s.aggregatedGeometry)if("line,multipoint,polygon".includes(i)){const a=i,l=s.aggregatedGeometry[a];if(null!=l){l.spatialReference=this.utilityNetwork.spatialReference,e.graphicEnabled=!0;const s=await this._geometryHandler.projectGeometry(l,r.spatialReference),i={globalid:e.trace.globalId};if(null!==s){const e=this.graphicHandler.makeGraphic(s,t.color,i,r.spatialReference);this._getGraphicLayer(P)?.add(e)}}}}addTerminal(e,t){const r=[...this._flags];r.forEach((r=>{r.globalId===t.globalId&&(t.selectedTerminals?.includes(parseInt(e,10))||r.selectedTerminals?.push(parseInt(e,10)))})),this._flags=r}async callTrace(){const e=this.traces.filter((e=>e.selected));return e.length>0&&(this.traceResults.length>0&&this.traceResults.forEach((e=>{this.removeResultGraphicFromView(e)})),this.traceResults=[],this.removeSelection(),await Promise.all(e.map((async(e,t)=>{const r=e,s=new I({gdbVersion:this.gdbVersion,moment:null,traceType:r.traceType,traceLocations:this._flags,namedTraceConfigurationGlobalId:r.globalId,traceConfiguration:null,outSpatialReference:null,resultTypes:null});await this.executeTrace(r,this.utilityNetwork?.networkServiceUrl,s).then((e=>{if(e.hasOwnProperty("results")){const r={...e};if(null!==r.results){r.resultArea={...this.resultAreaProperties};const e=[...r.results.elements];r.results.elements.length=0;const s=new Map;for(const t of e)s.has(t.globalId)||(s.set(t.globalId,!0),r.results.elements.push(t));const i=[...this.traceResults];i.splice(t,0,r),this.traceResults=i,null!==r.results&&(this.selectOnComplete&&this.mergeSelection(!0,r.trace),this.showGraphicsOnComplete&&this.addResultGraphicToView(r,r.graphicColor),this.enableResultArea&&this.createResultAreaGraphic(r).then((e=>{e&&(r.resultAreaGraphic=e,r.resultArea?.show&&this.addResultAreaToMap(r,r.resultAreaGraphic))})))}else{const r=[...this.traceResults];r.splice(t,0,e),this.traceResults=r}this._activeProgress=!1}else{this._activeProgress=!1;const r=[...this.traceResults];r.splice(t,0,e),this.traceResults=r}})).catch((e=>{throw this._activeProgress=!1,e}))}))),!0)}changeResultAreaColor(e,t){if(!e.resultArea)return;e.resultArea.color=t;const r=this._resultAreaHandler?.changeResultAreaColor(e.trace.globalId,t,this.view.map);e.resultAreaGraphic&&(e.resultAreaGraphic.symbol=r)}changeResultGraphicColor(e,t){const r=[...this.traceResults];r.length>0&&r.forEach((r=>{r.trace.globalId===t.trace.globalId&&(r.graphicColor=e,r.graphicEnabled=!0)})),this.traceResults=r,this.removeResultGraphicFromView(t),this.addResultGraphicToView(t,e)}changeFlagSymbol(e,t){this._flags.length>0&&this._flags.forEach((r=>{r.type===e&&t&&r.mapGraphic&&(r.mapGraphic.symbol=t)}))}checkCanTrace(){const e={status:!0,issues:[]};let t=!1;const r=this._flags.some((e=>"starting-point"===e.type)),s=this._flags.filter((e=>null!==e.allTerminals));s.length>0&&(t=s.some((e=>e.selectedTerminals.length<=0)));let i=[];return r?(i=this.traces.filter((e=>e.selected)),i.length<=0?(e.status=!1,e.issues=["noTrace"],t&&(e.status=!1,e.issues=["noTrace","noTerminalSelected"])):t&&(e.status=!1,e.issues=["noTerminalSelected"])):(i=this.traces.filter((e=>!0===e.selected)),i.length>0?(e.status=!1,e.issues=["noStart"],t&&(e.status=!1,e.issues=["noStart","noTerminalSelected"])):(e.status=!1,e.issues=["noStart","noTrace"],t&&(e.status=!1,e.issues=["noStart","noTrace","noTerminalSelected"]))),e}checkSelectionExist(){return this._highlightHandler.some((e=>e))}clearResult(e){if(!this.view)return;let t=this.traceResults;if(t.length>0){const r=t.filter((t=>t.trace.globalId===e.globalId));r.length>0&&(this.removeResultGraphicFromView(r[0]),this.removeResultAreaFromMap(r[0])),t=t.filter((t=>t.trace.globalId!==e.globalId))}this.traceResults=t,0===t.length?(this.removeAllResultAreaGraphics(),this.removeSelection(),this.emit("clear-selection",{resultSet:[]})):this.mergeSelection(!1,e)}createResultAreaGeometries(e,t,r){if(!this.view||!this.resultAreaProperties)return;let s;if("convexhull"===this.resultAreaProperties?.type?s=1===t.length&&(h(t[0])||u(t[0])&&1===t[0].points.length)?this._resultAreaHandler?.createBuffer(t,r,e.resultArea?.unit,!0):this._resultAreaHandler?.createConvexHull(t,e.resultArea?.distance,e.resultArea?.unit):t&&(s=this._resultAreaHandler?.createBuffer(t,r,e.resultArea?.unit,!0)),s&&Array.isArray(s)){if(s.length>0)for(const i of s){const t=this.getResultAreaAttributes(e,i),r=this._resultAreaHandler?.createResultAreaGraphic(i,t,e.resultArea?.areaUnit,this.messages,this.messagesUnits,e.resultArea?.color);if(r)return r}}else{const t=this.getResultAreaAttributes(e,s),r=this._resultAreaHandler?.createResultAreaGraphic(s,t,e.resultArea?.areaUnit,this.messages,this.messagesUnits,e.resultArea?.color);if(r)return r}}async createResultAreaGraphic(e){if(e.results){const t=await this._createResultAreaInputGeometry(e.results);if(t.length>0){const r=Array(t.length).fill(e.resultArea?.distance),s=this.createResultAreaGeometries(e,t,r);return this.emit("create-result-area",{graphic:s}),s}}}executeTrace(e,t,r){const s=this._processFlags(r.traceLocations);return r.traceLocations=s,v(t,r,{timeout:this._traceTimeout}).then((t=>({trace:e,results:t,selectionEnabled:!1,graphicEnabled:!1,graphicColor:this.defaultGraphicColor,status:"success",date:new Date}))).catch((t=>({trace:e,results:null,selectionEnabled:!1,graphicEnabled:!1,graphicColor:this.defaultGraphicColor,status:t.message,date:new Date})))}getResultAreaAttributes(e,r){const{messages:s}=this,i=[],a=[];this._flags.forEach((e=>{const t=e.displayValue?.field+":"+e.displayValue?.value+";"+s.attributeStrings.globalid+":"+e.globalId+";"+s.attributeStrings.terminalid+":"+e.terminalId+";"+s.attributeStrings.x+":"+e.mapPoint?.x+";"+s.attributeStrings.y+":"+e.mapPoint?.y;"starting-point"===e.type?i.push(t):a.push(t)}));return{traceId:e.trace.globalId,traceName:e.trace.title,traceDescription:e.trace.description??"",startingPoints:i.toString(),barriers:a.toString(),version:this.gdbVersion,username:t.credentials[0].userId,date:e.date,elementCount:e.results?.elements.length,functionResult:JSON.stringify(e.results?.globalFunctionResults),areaStatistic:r?this._geometryHandler.calculateArea(r,e.resultArea?.areaUnit):0}}getValidSources(){let e=[];const t=this.utilityNetwork?.dataElement?.domainNetworks??[];for(const r of t)e=e.concat(r.junctionSources),e=e.concat(r.edgeSources);return e}groupResultsByNetworkSource(e){return 0===e.length?[]:this._groupBy(e,"networkSourceId")}async loadUtilityNetwork(){const{view:e}=this;if(!e)return null;if(await e.when(),this.utilityNetwork){if(this.utilityNetwork.loaded||await this.utilityNetwork.load(),this.utilityNetwork instanceof f){try{const t=e.map;await t.loadAll(),this._loadUNSupportItems()}catch(i){this._loadUNSupportItems()}return this.utilityNetwork}return null}const t=e.map,r=t.utilityNetworks?.at(0);if(r){if(await r.load(),this.utilityNetwork=r,!await j(r))throw new s("utility-network:no-user-type-extension","User type extension not found");try{await t.loadAll(),this._loadUNSupportItems()}catch(i){}finally{this._loadUNSupportItems()}return r}return null}manageFilterBarrier(e,t){const r=[...this._flags];r.forEach((r=>{r.globalId===t.globalId&&"barrier"===t.type&&r.id===t.id&&(r.isFilterBarrier=e)})),this._flags=r}mergeSelection(e,t){let r=[];const s=[...this.traceResults],i=t.globalId;s.forEach((t=>{i===t.trace.globalId&&(t.selectionEnabled=e),t.selectionEnabled&&null!==t.results?.elements&&(r=[...r,...t.results?.elements??[]])})),this.selectResults([...new Set(r)])}async queryFeaturesById(e){const{view:t}=this;if(!t||!this.utilityNetwork)return null;const s=w(this.utilityNetwork,e),i={layerUrl:s[0].layerUrl,objectIds:s[0].objectIds,outFields:["*"]},a=t.map?.allTables.toArray().filter((e=>e?.parsedUrl?.path===s[0].layerUrl)).filter(m)??[];this._getUniqueMapLayerViews(t).filter((({layer:e})=>e?.parsedUrl?.path===s[0].layerUrl)).forEach((({layer:e})=>{"feature"!==e.type&&"subtype-group"!==e.type||a.push(e)}));const l=(await Promise.all(a.map((async e=>{const s={layers:new r([e]),layerInfos:[i],returnGeometry:!0,outSpatialReference:t.spatialReference},[a]=await _(s,!1);return a})))).filter((({featureSet:e})=>e.features.length>0));return l.length>0?l:null}queryFlagByHitTest(e,t,r){return this._lookupFlagByHit(e).then((e=>{const{view:s}=this;if(!s)return!1;if(e.length>0){const s=[...this._flags],i=r;return e.forEach((e=>{const r=e.graphic,a=r.attributes.hasOwnProperty("GLOBALID")?r.attributes.GLOBALID:r.attributes.globalid;if(s.filter((e=>e.globalId===a)).length<=0){const e=this.graphicHandler.getFlagGraphic(r.mapPoint,t,r,i);this._getGraphicLayer(H)?.add(e),s.push({...r,type:t,globalId:r.attributes.globalid||r.attributes.GLOBALID,details:r,mapGraphic:e,id:this._uniqueFlagId})}else if(null!==r.percentAlong){const e=this.graphicHandler.getFlagGraphic(r.mapPoint,t,r,i);this._getGraphicLayer(H)?.add(e),s.push({...r,type:t,globalId:r.attributes.globalid||r.attributes.GLOBALID,details:r,mapGraphic:e,id:this._uniqueFlagId})}})),this._flags=s,!0}return!1}))}removeResultGraphicFromView(e){const{view:t}=this;if(!t)return;const r=this._getGraphicLayer(P)?.graphics;e.graphicEnabled=!1;const s=r?.filter((t=>t.attributes[t.attributes.hasOwnProperty("GLOBALID")?"GLOBALID":"globalid"]===e.trace.globalId));s?.forEach((e=>{this._getGraphicLayer(P)?.remove(e)}))}removeFlag(e){const t=this._flags.filter((t=>{if(t.id!==e.id)return t}));this._removeGraphic(e),this._flags=t}removeAllResultAreaGraphics(){this._resultAreaHandler?.removeAllResultAreaGraphics(this.view.map)}removeResultAreaFromMap(e){if(e.resultArea){e.resultArea.show=!1;const t=this._resultAreaHandler?.removeResultArea(e.trace.globalId,this.view?.map);t&&this.emit("remove-result-area",{graphic:t})}}removeSelection(){this._highlightHandler.forEach((e=>{e&&e.remove()})),this._highlightHandler=[]}removeTerminal(e,t){const r=[...this._flags];r.forEach((r=>{if(r.globalId===t.globalId&&t.selectedTerminals?.includes(parseInt(e,10))){const s=t.selectedTerminals.indexOf(parseInt(e,10));r.selectedTerminals?.splice(s,1)}})),this._flags=r}removeFlagsOnLoadWatcher(){this._watchHandler&&null!==this._watchHandler&&this._watchHandler.remove()}reset(){this._flags=[],this.traceResults=[];const e=[...this.traces];e.forEach((e=>{e.selected=!1})),this.traces=e,this.view&&(this._getGraphicLayer(P)?.removeAll(),this._getGraphicLayer(H)?.removeAll(),this.removeAllResultAreaGraphics(),this.removeSelection(),this.emit("clear-selection",{resultSet:[]}))}selectFeaturesById(e){const{view:t}=this;if(!t||!this.utilityNetwork)return;const r=w(this.utilityNetwork,e);this._getUniqueMapLayerViews(t).forEach((e=>{C(e)&&e.layer?.parsedUrl?.path===r[0].layerUrl&&U(e)&&this._highlightHandler.push(e.highlight(r[0].objectIds))}))}selectResults(e){if(e.length>0){this.removeSelection();const t=this.groupResultsByNetworkSource(e),r=[];for(const e in t)this.selectFeaturesById(t[e]),r.push(this.queryFeaturesById(t[e]));Promise.all(r).then((e=>{this.emit("select-features",{resultSet:e})}))}else this.removeSelection(),this.emit("clear-selection",{resultSet:[]})}selectTraces(e,t){const r=[...this.traces];r.forEach((r=>{t===r.globalId&&(r.selected=e)})),this.traces=r}selectTracesOnLoad(){this.utilityNetwork?.hasOwnProperty("sharedNamedTraceConfigurations")&&(this.traces=[...this.utilityNetwork.sharedNamedTraceConfigurations],this.traces.forEach((e=>{e.selected=!1,this.selectedTraces.includes(e.globalId)&&(e.selected=!0)})))}zoomToAsset(e){this.view?.goTo(e).catch((e=>console.error(e)))}async _createResultAreaInputGeometry(e){if(null!=e.aggregatedGeometry)return this._geometryHandler.mergeAggregatedToGeometries(e.aggregatedGeometry);const t=this.groupResultsByNetworkSource(e.elements),r=[];for(const s in t)r.push(this.queryFeaturesById(t[s]));try{const e=await Promise.all(r),t=[];for(const r of e)if(r)for(const e of r)for(const r of e.featureSet.features)t.push(r.geometry);return t}catch{return[]}}_loadUNSupportItems(){if(!this.utilityNetwork)return;const{map:e}=this.view,{messages:t}=this;this._populateOutfields(),this._createGraphicLayer(H),this._createGraphicLayer(P),this._resultAreaHandler?.createGraphicLayer(e,t?.alertsStrings.genericResultHeader),this._validUNLayers=this._utilityHelper.getValidUtilityNetworkLayers(e,this.utilityNetwork)}_getUniqueMapLayerViews(e){const t=[];return e.layerViews.filter((({layer:{type:e}})=>"feature"===e||"group"===e||"subtype-group"===e)).toArray().forEach((e=>{switch(e.layer.type){case"group":if(E(e))for(const r of e.layerViews)t.push(r);break;case"subtype-group":t.push(e);break;default:t.some((t=>t.layer.id===e.layer.id))||t.push(e)}})),t}_processFlags(e){const t=[];return e.forEach((e=>{if(null!==e.selectedTerminals&&e.selectedTerminals.length>0)e.selectedTerminals.forEach((r=>{const s=new R({globalId:e.globalId,percentAlong:e.percentAlong,terminalId:r,type:e.type,isFilterBarrier:e.isFilterBarrier});t.push(s)}));else{const r=new R({globalId:e.globalId,percentAlong:e.percentAlong,terminalId:null,type:e.type,isFilterBarrier:e.isFilterBarrier});t.push(r)}})),t}_getDisplayField(e){return"subtype-sublayer"===e?.layer?.type?this._getDisplayFieldBySublayer(e):this._getDisplayFieldByFeatureLayer(e)}_getDisplayFieldBySublayer(e){let t="",r="";const s=e.layer;t=this._checkParentForData(s,"displayField");for(const i in e.attributes){const a=i.toLowerCase();a===t?.toLowerCase()?(r=e.attributes[i],"assetgroup"===a||"assettype"===a?r=this._checkSubtype(s,s.subtypeCode):(r=this._checkDomain(s.fields,i,r),"string"==typeof r&&(r=this._defaultDisplayField(r,s)))):(r=this._checkDomain(s.fields,i,r),"string"==typeof r&&(r=this._defaultDisplayField(r,s)))}return{field:t,value:r.toString()}}_getDisplayFieldByFeatureLayer(e){const t=e.layer;let r=t.displayField,s="";for(const i in e.attributes){const a=i.toLowerCase();if(a===r?.toLowerCase())if(s=e.attributes[i],"assetgroup"===a||"assettype"===a){let a=e.attributes[t.typeIdField.toUpperCase()];a||(a=e.attributes[t.typeIdField.toLowerCase()]),r=t.typeIdField,s=this._checkSubtype(t,a),""===r&&(t.templates&&t.templates.length>0?(r=t.templates[0]?.name,s=t.templates[0]?.name):(r=t.displayField,s=e.attributes[i]))}else s=this._checkDomain(t.fields,i,s),"string"==typeof s&&(s=this._defaultDisplayField(s,t));else s=this._checkDomain(t.fields,i,s),"string"==typeof s&&(s=this._defaultDisplayField(s,t))}return{field:r,value:s?s.toString():""}}_checkSubtype(e,t){let r=t;if("subtype-sublayer"===e.type){const s=this._checkParentForData(e,"subtypes");s?.length>0&&s.forEach((e=>{e.code===t&&(r=e.name)}))}else if(null!=e.types&&e.types.length>0){const s=e.types.filter((e=>e.id===t));s.length>0&&(r=s[0].name)}return r}_checkDomain(e,t,r){let s=r;const i=e.filter((e=>e.name.toLowerCase()===t.toLowerCase()));if(i.length>0&&N(i[0].domain)&&i[0].domain?.codedValues){const e=i[0].domain.codedValues.filter((({code:e})=>e===r));e.length>0&&(s=e[0].name)}return s}_checkParentForData(e,t){return e.parent?.[t]??null}_defaultDisplayField(e,t){return e.trim()?e:t.templates&&t.templates?.length>0?t.templates[0].name:t.title}get _uniqueFlagId(){return this._flagId++}_groupBy(e,t){return e.reduce(((e,r)=>((e[r[t]]=e[r[t]]||[]).push(r),e)),{})}async _lookupFlagByHit(e){if(null==e.mapPoint)return[];const t=await this.view.hitTest(e.screenPoint,{include:this._validUNLayers}),r=[];if(t.results.length>0){const s=t.results.find((e=>null!==e.layer));if(null!=s.graphic?.geometry)if("polyline"===s.graphic.geometry.type){const t=this._geometryHandler.getPercentageAlong(s.graphic.geometry,e.mapPoint,s.graphic.geometry.spatialReference),i=this._getDisplayField(s.graphic);s.graphic.terminalId=null,s.graphic.isFilterBarrier=!1,s.graphic.allTerminals=null,s.graphic.selectedTerminals=null,s.graphic.percentAlong=t,s.graphic.displayValue=i,s.graphic.mapPoint=s.mapPoint,r.push(s)}else if(("point"===s.graphic.geometry.type||"polygon"===s.graphic.geometry.type)&&null!==this.utilityNetwork){const e=this.utilityNetwork?.getTerminalConfiguration(s.graphic),t=this._getDisplayField(s.graphic);s.graphic.terminalId=e?e.terminals[0].id||null:1,s.graphic.isFilterBarrier=!1,s.graphic.allTerminals=e??null,s.graphic.selectedTerminals=[e?e.terminals[0].id||null:1],s.graphic.percentAlong=null,s.graphic.displayValue=t,s.graphic.mapPoint=s.mapPoint,r.push(s)}}return r}async _populateOutfields(){const e=this.view?.map,t=this.getValidSources();e?.layers.forEach((e=>{"group"===e.type?e.layers.forEach((e=>{t.some((t=>t.layerId===e.layerId))&&e.fields.some((e=>"assetgroup"===e.name.toLowerCase()))&&(e.outFields=["assetgroup","assettype","globalid","objectid"])})):t.some((t=>t.layerId===e.layerId))&&e.fields.some((e=>"assetgroup"===e.name.toLowerCase()))&&(e.outFields=["assetgroup","assettype","globalid","objectid"])}))}_removeGraphic(e){this._getGraphicLayer(H)?.remove(e.mapGraphic)}_createGraphicLayer(e){const{map:t}=this.view;if(!t.findLayerById(e)){const r=new g({title:e,listMode:"hide",id:e});t.add(r)}}_getGraphicLayer(e){const{map:t}=this.view;if(t){const r=t.findLayerById(e);if(r&&B(r))return r}return null}};e([o()],D.prototype,"_activeProgress",void 0),e([o()],D.prototype,"_flags",void 0),e([o()],D.prototype,"traces",void 0),e([o()],D.prototype,"defaultGraphicColor",void 0),e([o()],D.prototype,"enableResultArea",void 0),e([o()],D.prototype,"flags",void 0),e([o()],D.prototype,"gdbVersion",void 0),e([o()],D.prototype,"messages",void 0),e([o()],D.prototype,"messagesUnits",void 0),e([o()],D.prototype,"resultAreaProperties",null),e([o()],D.prototype,"selectedTraces",void 0),e([o()],D.prototype,"selectOnComplete",void 0),e([o()],D.prototype,"showGraphicsOnComplete",void 0),e([o()],D.prototype,"showSelectionAttributes",void 0),e([o({readOnly:!0})],D.prototype,"state",null),e([o()],D.prototype,"traceResults",void 0),e([o()],D.prototype,"utilityNetwork",void 0),e([o({value:null})],D.prototype,"view",null),D=e([n("esri.widgets.UtilityNetworkTrace.UtilityNetworkTraceViewModel")],D);const V=D;export{V as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import{id as t}from"../../kernel.js";import r from"../../core/Collection.js";import s from"../../core/Error.js";import i from"../../core/Evented.js";import a from"../../core/Logger.js";import{when as l}from"../../core/reactiveUtils.js";import{property as o}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/RandomLCG.js";import{subclass as n}from"../../core/accessorSupport/decorators/subclass.js";import c from"../../geometry/Point.js";import{isPoint as h,isMultipoint as u}from"../../geometry/support/jsonUtils.js";import{fetchMessageBundle as p}from"../../intl/messages.js";import d from"../../layers/FeatureLayer.js";import g from"../../layers/GraphicsLayer.js";import y from"../../layers/support/CodedValueDomain.js";import{isFeatureLayer as m}from"../../layers/support/layerUtils.js";import f from"../../networks/UtilityNetwork.js";import{getObjectIdsFromElements as w,getFeaturesFromLayers as _}from"../../networks/support/utils.js";import A from"../../portal/Portal.js";import{hasUserTypeExtension as b}from"../../portal/support/utils.js";import{trace as v}from"../../rest/networks/trace.js";import R from"../../rest/networks/support/TraceLocation.js";import I from"../../rest/networks/support/TraceParameters.js";import{GeometryHandler as k}from"./support/GeometryHandler.js";import{GraphicHandler as G}from"./support/GraphicHandler.js";import{ResultAreaHandler as F}from"./support/ResultAreaHandler.js";import{UtilityHelper as T}from"./support/UtilityHelper.js";const S=()=>p("esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace"),L=()=>p("esri/core/t9n/Units"),H=`utility-network-trace-flags-${Date.now()}`,P=`utility-network-trace-results-${Date.now()}`;function N(e){return e instanceof y}function U(e){return"feature"===e.layer.type||"subtype-group"===e.layer.type}function C(e){return"layer"in e}function E(e){return void 0!==e.layerViews}function B(e){return"graphics"===e.type}async function j(e){const t=new d({url:e.networkSystemLayers.dirtyAreasLayerUrl});await t.load();const r=t.version;if(Number(r)<=11.1){const t=new A({url:new URL(e.layerUrl).origin+"/portal"});await t.load();const r=t?.user?.username;return!!r&&b(t,r,"utilityNetwork")}return!0}let D=class extends i.EventedAccessor{constructor(e){super(e),this._activeProgress=!1,this._clickHandler=null,this._flags=[],this._flagId=0,this._geometryHandler=null,this._highlightHandler=[],this._resultAreaHandler=null,this._utilityHelper=new T,this._watchHandler=null,this._validUNLayers=[],this._traceTimeout=6e5,this.traces=[],this.graphicHandler=null,this.defaultGraphicColor={color:[255,255,0,.6],haloOpacity:.9,fillOpacity:.2,hex:"#FFFF00"},this.enableResultArea=!1,this.flags=[],this.gdbVersion="sde.DEFAULT",this.messages=null,this.messagesUnits=null,this.defaultResultAreaProperties={type:"convexhull",distance:10,unit:"meters",areaUnit:"square-meters",color:{color:[255,165,0,.5],haloOpacity:.9,fillOpacity:.2,hex:"#ffa500"},show:!1},this.selectedTraces=[],this.selectOnComplete=!0,this.showGraphicsOnComplete=!0,this.showSelectionAttributes=!0,this.traceResults=[],this.utilityNetwork=null}initialize(){this._geometryHandler=new k,this.graphicHandler=new G,this._resultAreaHandler=new F;(async()=>{const[e,t]=await Promise.all([S(),L()]);this.set({messages:e,messagesUnits:t})})()}destroy(){this.view=null}get resultAreaProperties(){return this.defaultResultAreaProperties}set resultAreaProperties(e){this._set("resultAreaProperties",{...this.defaultResultAreaProperties,...e}),this.graphicHandler.addCustomColor(this.resultAreaProperties.color),this.traceResults.forEach((t=>{const r=t.resultArea?.show;t.resultArea={...this.defaultResultAreaProperties,...e},this.removeResultAreaFromMap(t),this.enableResultArea&&this.createResultAreaGraphic(t).then((s=>{if(s){t.resultAreaGraphic=s;const i=e?.show??r;t.resultArea&&(t.resultArea.show=i),i&&this.addResultAreaToMap(t,s)}}))}))}get state(){return this.view?.ready?"ready":"loading"}get view(){return this._get("view")}set view(e){e&&"2d"!==e.type&&a.getLogger(this).error(new s("view:invalid-view","SceneView is not supported",{view:e})),this._set("view",e),this.utilityNetwork&&this.reset(),this.utilityNetwork=null,this.loadUtilityNetwork().then((e=>{e&&this.selectTracesOnLoad()}))}addFlagByHit(e,t){const r=e=>{this.view?.popup&&(this.view.popupEnabled=e)};return new Promise(((s,i)=>{r(!1),this._clickHandler?.remove(),this.emit("add-flag",{type:e}),this._clickHandler=this.view?.on("click",(a=>{this.queryFlagByHitTest(a,e,t).then((i=>{r(!0),this._clickHandler?.remove(),this.emit("add-flag-complete",{type:e,symbol:t}),s(i)})).catch((s=>{r(!0),this._clickHandler?.remove(),this.emit("add-flag-error",{type:e,symbol:t}),i(s)}))}))}))}async addFlagsOnLoad(){return new Promise((e=>{const t=[];this._watchHandler=l((()=>null!=this.view&&!this.view.updating),(async()=>{if(this._flags.length>0)e(t);else{const r=this.flags.map((async e=>{if(e.mapPoint){const r=new c({x:e.mapPoint.x,y:e.mapPoint.y,spatialReference:e.mapPoint.spatialReference.wkid}),s={screenPoint:this.view.toScreen(r),mapPoint:r};await this.queryFlagByHitTest(s,e.type)||("barrier"===e.type?t.push("barrier"):t.push("starting-point"))}}));await Promise.all(r),e(t)}}),{initial:!0})}))}async addResultAreaToMap(e,t){if(this.view)if(e.resultArea.show=!0,t)this._resultAreaHandler?.addResultAreaToMap(t,this.view.map),this.emit("add-result-area",{graphic:t});else if(e.results){const t=await this.createResultAreaGraphic(e);t&&(this._resultAreaHandler?.addResultAreaToMap(t,this.view.map),this.emit("add-result-area",{graphic:t}))}}async addResultGraphicToView(e,t){const{view:r}=this,{results:s}=e;if(r&&s&&this.utilityNetwork)for(const i in s.aggregatedGeometry)if("line,multipoint,polygon".includes(i)){const a=i,l=s.aggregatedGeometry[a];if(null!=l){l.spatialReference=this.utilityNetwork.spatialReference,e.graphicEnabled=!0;const s=await this._geometryHandler.projectGeometry(l,r.spatialReference),i={globalid:e.trace.globalId};if(null!==s){const e=this.graphicHandler.makeGraphic(s,t.color,i,r.spatialReference);this._getGraphicLayer(P)?.add(e)}}}}addTerminal(e,t){const r=[...this._flags];r.forEach((r=>{r.globalId===t.globalId&&(t.selectedTerminals?.includes(parseInt(e,10))||r.selectedTerminals?.push(parseInt(e,10)))})),this._flags=r}async callTrace(){const e=this.traces.filter((e=>e.selected));return e.length>0&&(this.traceResults.length>0&&this.traceResults.forEach((e=>{this.removeResultGraphicFromView(e)})),this.traceResults=[],this.removeSelection(),await Promise.all(e.map((async(e,t)=>{const r=e,s=new I({gdbVersion:this.gdbVersion,moment:null,traceType:r.traceType,traceLocations:this._flags,namedTraceConfigurationGlobalId:r.globalId,traceConfiguration:null,outSpatialReference:null,resultTypes:null});await this.executeTrace(r,this.utilityNetwork?.networkServiceUrl,s).then((e=>{if(e.hasOwnProperty("results")){const r={...e};if(null!==r.results){r.resultArea={...this.resultAreaProperties};const e=[...r.results.elements];r.results.elements.length=0;const s=new Map;for(const t of e)s.has(t.globalId)||(s.set(t.globalId,!0),r.results.elements.push(t));const i=[...this.traceResults];i.splice(t,0,r),this.traceResults=i,null!==r.results&&(this.selectOnComplete&&this.mergeSelection(!0,r.trace),this.showGraphicsOnComplete&&this.addResultGraphicToView(r,r.graphicColor),this.enableResultArea&&this.createResultAreaGraphic(r).then((e=>{e&&(r.resultAreaGraphic=e,r.resultArea?.show&&this.addResultAreaToMap(r,r.resultAreaGraphic))})))}else{const r=[...this.traceResults];r.splice(t,0,e),this.traceResults=r}this._activeProgress=!1}else{this._activeProgress=!1;const r=[...this.traceResults];r.splice(t,0,e),this.traceResults=r}})).catch((e=>{throw this._activeProgress=!1,e}))}))),!0)}changeResultAreaColor(e,t){if(!e.resultArea)return;e.resultArea.color=t;const r=this._resultAreaHandler?.changeResultAreaColor(e.trace.globalId,t,this.view.map);e.resultAreaGraphic&&(e.resultAreaGraphic.symbol=r)}changeResultGraphicColor(e,t){const r=[...this.traceResults];r.length>0&&r.forEach((r=>{r.trace.globalId===t.trace.globalId&&(r.graphicColor=e,r.graphicEnabled=!0)})),this.traceResults=r,this.removeResultGraphicFromView(t),this.addResultGraphicToView(t,e)}changeFlagSymbol(e,t){this._flags.length>0&&this._flags.forEach((r=>{r.type===e&&t&&r.mapGraphic&&(r.mapGraphic.symbol=t)}))}checkCanTrace(){const e={status:!0,issues:[]};let t=!1;const r=this._flags.some((e=>"starting-point"===e.type)),s=this._flags.filter((e=>null!==e.allTerminals));s.length>0&&(t=s.some((e=>e.selectedTerminals.length<=0)));let i=[];return r?(i=this.traces.filter((e=>e.selected)),i.length<=0?(e.status=!1,e.issues=["noTrace"],t&&(e.status=!1,e.issues=["noTrace","noTerminalSelected"])):t&&(e.status=!1,e.issues=["noTerminalSelected"])):(i=this.traces.filter((e=>!0===e.selected)),i.length>0?(e.status=!1,e.issues=["noStart"],t&&(e.status=!1,e.issues=["noStart","noTerminalSelected"])):(e.status=!1,e.issues=["noStart","noTrace"],t&&(e.status=!1,e.issues=["noStart","noTrace","noTerminalSelected"]))),e}checkSelectionExist(){return this._highlightHandler.some((e=>e))}clearResult(e){if(!this.view)return;let t=this.traceResults;if(t.length>0){const r=t.filter((t=>t.trace.globalId===e.globalId));r.length>0&&(this.removeResultGraphicFromView(r[0]),this.removeResultAreaFromMap(r[0])),t=t.filter((t=>t.trace.globalId!==e.globalId))}this.traceResults=t,0===t.length?(this.removeAllResultAreaGraphics(),this.removeSelection(),this.emit("clear-selection",{resultSet:[]})):this.mergeSelection(!1,e)}createResultAreaGeometries(e,t,r){if(!this.view||!this.resultAreaProperties)return;let s;if("convexhull"===this.resultAreaProperties?.type?s=1===t.length&&(h(t[0])||u(t[0])&&1===t[0].points.length)?this._resultAreaHandler?.createBuffer(t,r,e.resultArea?.unit,!0):this._resultAreaHandler?.createConvexHull(t,e.resultArea?.distance,e.resultArea?.unit):t&&(s=this._resultAreaHandler?.createBuffer(t,r,e.resultArea?.unit,!0)),s&&Array.isArray(s)){if(s.length>0)for(const i of s){const t=this.getResultAreaAttributes(e,i),r=this._resultAreaHandler?.createResultAreaGraphic(i,t,e.resultArea?.areaUnit,this.messages,this.messagesUnits,e.resultArea?.color);if(r)return r}}else{const t=this.getResultAreaAttributes(e,s),r=this._resultAreaHandler?.createResultAreaGraphic(s,t,e.resultArea?.areaUnit,this.messages,this.messagesUnits,e.resultArea?.color);if(r)return r}}async createResultAreaGraphic(e){if(e.results){const t=await this._createResultAreaInputGeometry(e.results);if(t.length>0){const r=Array(t.length).fill(e.resultArea?.distance),s=this.createResultAreaGeometries(e,t,r);return this.emit("create-result-area",{graphic:s}),s}}}executeTrace(e,t,r){const s=this._processFlags(r.traceLocations);return r.traceLocations=s,v(t,r,{timeout:this._traceTimeout}).then((t=>({trace:e,results:t,selectionEnabled:!1,graphicEnabled:!1,graphicColor:this.defaultGraphicColor,status:"success",date:new Date}))).catch((t=>({trace:e,results:null,selectionEnabled:!1,graphicEnabled:!1,graphicColor:this.defaultGraphicColor,status:t.message,date:new Date})))}getResultAreaAttributes(e,r){const{messages:s}=this,i=[],a=[];this._flags.forEach((e=>{const t=e.displayValue?.field+":"+e.displayValue?.value+";"+s.attributeStrings.globalid+":"+e.globalId+";"+s.attributeStrings.terminalid+":"+e.terminalId+";"+s.attributeStrings.x+":"+e.mapPoint?.x+";"+s.attributeStrings.y+":"+e.mapPoint?.y;"starting-point"===e.type?i.push(t):a.push(t)}));return{traceId:e.trace.globalId,traceName:e.trace.title,traceDescription:e.trace.description??"",startingPoints:i.toString(),barriers:a.toString(),version:this.gdbVersion,username:t.credentials[0].userId,date:e.date,elementCount:e.results?.elements.length,functionResult:JSON.stringify(e.results?.globalFunctionResults),areaStatistic:r?this._geometryHandler.calculateArea(r,e.resultArea?.areaUnit):0}}getValidSources(){let e=[];const t=this.utilityNetwork?.dataElement?.domainNetworks??[];for(const r of t)e=e.concat(r.junctionSources),e=e.concat(r.edgeSources);return e}groupResultsByNetworkSource(e){return 0===e.length?[]:this._groupBy(e,"networkSourceId")}async loadUtilityNetwork(){const{view:e}=this;if(!e)return null;if(await e.when(),this.utilityNetwork){if(this.utilityNetwork.loaded||await this.utilityNetwork.load(),this.utilityNetwork instanceof f){try{const t=e.map;await t.loadAll(),this._loadUNSupportItems()}catch(i){this._loadUNSupportItems()}return this.utilityNetwork}return null}const t=e.map,r=t.utilityNetworks?.at(0);if(r){if(await r.load(),this.utilityNetwork=r,!await j(r))throw new s("utility-network:no-user-type-extension","User type extension not found");try{await t.loadAll(),this._loadUNSupportItems()}catch(i){}finally{this._loadUNSupportItems()}return r}return null}manageFilterBarrier(e,t){const r=[...this._flags];r.forEach((r=>{r.globalId===t.globalId&&"barrier"===t.type&&r.id===t.id&&(r.isFilterBarrier=e)})),this._flags=r}mergeSelection(e,t){let r=[];const s=[...this.traceResults],i=t.globalId;s.forEach((t=>{i===t.trace.globalId&&(t.selectionEnabled=e),t.selectionEnabled&&null!==t.results?.elements&&(r=[...r,...t.results?.elements??[]])})),this.selectResults([...new Set(r)])}async queryFeaturesById(e){const{view:t}=this;if(!t||!this.utilityNetwork)return null;const s=w(this.utilityNetwork,e),i={layerUrl:s[0].layerUrl,objectIds:s[0].objectIds,outFields:["*"]},a=t.map?.allTables.toArray().filter((e=>e?.parsedUrl?.path===s[0].layerUrl)).filter(m)??[];this._getUniqueMapLayerViews(t).filter((({layer:e})=>e?.parsedUrl?.path===s[0].layerUrl)).forEach((({layer:e})=>{"feature"!==e.type&&"subtype-group"!==e.type||a.push(e)}));const l=(await Promise.all(a.map((async e=>{const s={layers:new r([e]),layerInfos:[i],returnGeometry:!0,outSpatialReference:t.spatialReference},[a]=await _(s,!1);return a})))).filter((({featureSet:e})=>e.features.length>0));return l.length>0?l:null}queryFlagByHitTest(e,t,r){return this._lookupFlagByHit(e).then((e=>{const{view:s}=this;if(!s)return!1;if(e.length>0){const s=[...this._flags],i=r;return e.forEach((e=>{const r=e.graphic,a=r.attributes.hasOwnProperty("GLOBALID")?r.attributes.GLOBALID:r.attributes.globalid;if(s.filter((e=>e.globalId===a)).length<=0){const e=this.graphicHandler.getFlagGraphic(r.mapPoint,t,r,i);this._getGraphicLayer(H)?.add(e),s.push({...r,type:t,globalId:r.attributes.globalid||r.attributes.GLOBALID,details:r,mapGraphic:e,id:this._uniqueFlagId})}else if(null!==r.percentAlong){const e=this.graphicHandler.getFlagGraphic(r.mapPoint,t,r,i);this._getGraphicLayer(H)?.add(e),s.push({...r,type:t,globalId:r.attributes.globalid||r.attributes.GLOBALID,details:r,mapGraphic:e,id:this._uniqueFlagId})}})),this._flags=s,!0}return!1}))}removeResultGraphicFromView(e){const{view:t}=this;if(!t)return;const r=this._getGraphicLayer(P)?.graphics;e.graphicEnabled=!1;const s=r?.filter((t=>t.attributes[t.attributes.hasOwnProperty("GLOBALID")?"GLOBALID":"globalid"]===e.trace.globalId));s?.forEach((e=>{this._getGraphicLayer(P)?.remove(e)}))}removeFlag(e){const t=this._flags.filter((t=>{if(t.id!==e.id)return t}));this._removeGraphic(e),this._flags=t}removeAllResultAreaGraphics(){this._resultAreaHandler?.removeAllResultAreaGraphics(this.view.map)}removeResultAreaFromMap(e){if(e.resultArea){e.resultArea.show=!1;const t=this._resultAreaHandler?.removeResultArea(e.trace.globalId,this.view?.map);t&&this.emit("remove-result-area",{graphic:t})}}removeSelection(){this._highlightHandler.forEach((e=>{e&&e.remove()})),this._highlightHandler=[]}removeTerminal(e,t){const r=[...this._flags];r.forEach((r=>{if(r.globalId===t.globalId&&t.selectedTerminals?.includes(parseInt(e,10))){const s=t.selectedTerminals.indexOf(parseInt(e,10));r.selectedTerminals?.splice(s,1)}})),this._flags=r}removeFlagsOnLoadWatcher(){this._watchHandler&&null!==this._watchHandler&&this._watchHandler.remove()}reset(){this._flags=[],this.traceResults=[];const e=[...this.traces];e.forEach((e=>{e.selected=!1})),this.traces=e,this.view&&(this._getGraphicLayer(P)?.removeAll(),this._getGraphicLayer(H)?.removeAll(),this.removeAllResultAreaGraphics(),this.removeSelection(),this.emit("clear-selection",{resultSet:[]}))}selectFeaturesById(e){const{view:t}=this;if(!t||!this.utilityNetwork)return;const r=w(this.utilityNetwork,e);this._getUniqueMapLayerViews(t).forEach((e=>{C(e)&&e.layer?.parsedUrl?.path===r[0].layerUrl&&U(e)&&this._highlightHandler.push(e.highlight(r[0].objectIds))}))}selectResults(e){if(e.length>0){this.removeSelection();const t=this.groupResultsByNetworkSource(e),r=[];for(const e in t)this.selectFeaturesById(t[e]),r.push(this.queryFeaturesById(t[e]));Promise.all(r).then((e=>{this.emit("select-features",{resultSet:e})}))}else this.removeSelection(),this.emit("clear-selection",{resultSet:[]})}selectTraces(e,t){const r=[...this.traces];r.forEach((r=>{t===r.globalId&&(r.selected=e)})),this.traces=r}selectTracesOnLoad(){this.utilityNetwork?.hasOwnProperty("sharedNamedTraceConfigurations")&&(this.traces=[...this.utilityNetwork.sharedNamedTraceConfigurations],this.traces.forEach((e=>{e.selected=!1,this.selectedTraces.includes(e.globalId)&&(e.selected=!0)})))}zoomToAsset(e){this.view?.goTo(e).catch((e=>console.error(e)))}async _createResultAreaInputGeometry(e){if(null!=e.aggregatedGeometry)return this._geometryHandler.mergeAggregatedToGeometries(e.aggregatedGeometry);const t=this.groupResultsByNetworkSource(e.elements),r=[];for(const s in t)r.push(this.queryFeaturesById(t[s]));try{const e=await Promise.all(r),t=[];for(const r of e)if(r)for(const e of r)for(const r of e.featureSet.features)t.push(r.geometry);return t}catch{return[]}}_loadUNSupportItems(){if(!this.utilityNetwork)return;const{map:e}=this.view,{messages:t}=this;this._populateOutfields(),this._createGraphicLayer(H),this._createGraphicLayer(P),this._resultAreaHandler?.createGraphicLayer(e,t?.alertsStrings.genericResultHeader),this._validUNLayers=this._utilityHelper.getValidUtilityNetworkLayers(e,this.utilityNetwork)}_getUniqueMapLayerViews(e){const t=[];return e.layerViews.filter((({layer:{type:e}})=>"feature"===e||"group"===e||"subtype-group"===e)).toArray().forEach((e=>{switch(e.layer.type){case"group":if(E(e))for(const r of e.layerViews)t.push(r);break;case"subtype-group":t.push(e);break;default:t.some((t=>t.layer.id===e.layer.id))||t.push(e)}})),t}_processFlags(e){const t=[];return e.forEach((e=>{if(null!==e.selectedTerminals&&e.selectedTerminals.length>0)e.selectedTerminals.forEach((r=>{const s=new R({globalId:e.globalId,percentAlong:e.percentAlong,terminalId:r,type:e.type,isFilterBarrier:e.isFilterBarrier});t.push(s)}));else{const r=new R({globalId:e.globalId,percentAlong:e.percentAlong,terminalId:null,type:e.type,isFilterBarrier:e.isFilterBarrier});t.push(r)}})),t}_getDisplayField(e){return"subtype-sublayer"===e?.layer?.type?this._getDisplayFieldBySublayer(e):this._getDisplayFieldByFeatureLayer(e)}_getDisplayFieldBySublayer(e){let t="",r="";const s=e.layer;t=this._checkParentForData(s,"displayField");for(const i in e.attributes){const a=i.toLowerCase();a===t?.toLowerCase()?(r=e.attributes[i],"assetgroup"===a||"assettype"===a?r=this._checkSubtype(s,s.subtypeCode):(r=this._checkDomain(s.fields,i,r),"string"==typeof r&&(r=this._defaultDisplayField(r,s)))):(r=this._checkDomain(s.fields,i,r),"string"==typeof r&&(r=this._defaultDisplayField(r,s)))}return{field:t,value:r.toString()}}_getDisplayFieldByFeatureLayer(e){const t=e.layer;let r=t.displayField,s="";for(const i in e.attributes){const a=i.toLowerCase();if(a===r?.toLowerCase())if(s=e.attributes[i],"assetgroup"===a||"assettype"===a){let a=e.attributes[t.typeIdField.toUpperCase()];a||(a=e.attributes[t.typeIdField.toLowerCase()]),r=t.typeIdField,s=this._checkSubtype(t,a),""===r&&(t.templates&&t.templates.length>0?(r=t.templates[0]?.name,s=t.templates[0]?.name):(r=t.displayField,s=e.attributes[i]))}else s=this._checkDomain(t.fields,i,s),"string"==typeof s&&(s=this._defaultDisplayField(s,t));else s=this._checkDomain(t.fields,i,s),"string"==typeof s&&(s=this._defaultDisplayField(s,t))}return{field:r,value:s?s.toString():""}}_checkSubtype(e,t){let r=t;if("subtype-sublayer"===e.type){const s=this._checkParentForData(e,"subtypes");s?.length>0&&s.forEach((e=>{e.code===t&&(r=e.name)}))}else if(null!=e.types&&e.types.length>0){const s=e.types.filter((e=>e.id===t));s.length>0&&(r=s[0].name)}return r}_checkDomain(e,t,r){let s=r;const i=e.filter((e=>e.name.toLowerCase()===t.toLowerCase()));if(i.length>0&&N(i[0].domain)&&i[0].domain?.codedValues){const e=i[0].domain.codedValues.filter((({code:e})=>e===r));e.length>0&&(s=e[0].name)}return s}_checkParentForData(e,t){return e.parent?.[t]??null}_defaultDisplayField(e,t){return e.trim()?e:t.templates&&t.templates?.length>0?t.templates[0].name:t.title}get _uniqueFlagId(){return this._flagId++}_groupBy(e,t){return e.reduce(((e,r)=>((e[r[t]]=e[r[t]]||[]).push(r),e)),{})}async _lookupFlagByHit(e){if(null==e.mapPoint)return[];const t=await this.view.hitTest(e.screenPoint,{include:this._validUNLayers}),r=[];if(t.results.length>0){const s=t.results.find((e=>null!==e.layer));if(null!=s.graphic?.geometry)if("polyline"===s.graphic.geometry.type){const t=this._geometryHandler.getPercentageAlong(s.graphic.geometry,e.mapPoint,s.graphic.geometry.spatialReference),i=this._getDisplayField(s.graphic);s.graphic.terminalId=null,s.graphic.isFilterBarrier=!1,s.graphic.allTerminals=null,s.graphic.selectedTerminals=null,s.graphic.percentAlong=t,s.graphic.displayValue=i,s.graphic.mapPoint=s.mapPoint,r.push(s)}else if(("point"===s.graphic.geometry.type||"polygon"===s.graphic.geometry.type)&&null!==this.utilityNetwork){const e=this.utilityNetwork?.getTerminalConfiguration(s.graphic),t=this._getDisplayField(s.graphic);s.graphic.terminalId=e?e.terminals[0].id||null:1,s.graphic.isFilterBarrier=!1,s.graphic.allTerminals=e??null,s.graphic.selectedTerminals=[e?e.terminals[0].id||null:1],s.graphic.percentAlong=null,s.graphic.displayValue=t,s.graphic.mapPoint=s.mapPoint,r.push(s)}}return r}async _populateOutfields(){const e=this.view?.map,t=this.getValidSources();e?.layers.forEach((e=>{"group"===e.type?e.layers.forEach((e=>{t.some((t=>t.layerId===e.layerId))&&e.fields.some((e=>"assetgroup"===e.name.toLowerCase()))&&(e.outFields=["assetgroup","assettype","globalid","objectid"])})):t.some((t=>t.layerId===e.layerId))&&e.fields.some((e=>"assetgroup"===e.name.toLowerCase()))&&(e.outFields=["assetgroup","assettype","globalid","objectid"])}))}_removeGraphic(e){this._getGraphicLayer(H)?.remove(e.mapGraphic)}_createGraphicLayer(e){const{map:t}=this.view;if(!t.findLayerById(e)){const r=new g({title:e,listMode:"hide",id:e});t.add(r)}}_getGraphicLayer(e){const{map:t}=this.view;if(t){const r=t.findLayerById(e);if(r&&B(r))return r}return null}};e([o()],D.prototype,"_activeProgress",void 0),e([o()],D.prototype,"_flags",void 0),e([o()],D.prototype,"traces",void 0),e([o()],D.prototype,"defaultGraphicColor",void 0),e([o()],D.prototype,"enableResultArea",void 0),e([o()],D.prototype,"flags",void 0),e([o()],D.prototype,"gdbVersion",void 0),e([o()],D.prototype,"messages",void 0),e([o()],D.prototype,"messagesUnits",void 0),e([o()],D.prototype,"resultAreaProperties",null),e([o()],D.prototype,"selectedTraces",void 0),e([o()],D.prototype,"selectOnComplete",void 0),e([o()],D.prototype,"showGraphicsOnComplete",void 0),e([o()],D.prototype,"showSelectionAttributes",void 0),e([o({readOnly:!0})],D.prototype,"state",null),e([o()],D.prototype,"traceResults",void 0),e([o()],D.prototype,"utilityNetwork",void 0),e([o({value:null})],D.prototype,"view",null),D=e([n("esri.widgets.UtilityNetworkTrace.UtilityNetworkTraceViewModel")],D);const V=D;export{V as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.29/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../chunks/tslib.es6.js";import"../../../geometry.js";import{createTask as o}from"../../../core/asyncUtils.js";import t from"../../../core/Collection.js";import s from"../../../core/Evented.js";import{makeHandle as r}from"../../../core/handleUtils.js";import{debounce as i,ignoreAbortErrors as c,onAbort as n}from"../../../core/promiseUtils.js";import{createScreenPoint as l}from"../../../core/screenUtils.js";import{property as a}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as p}from"../../../core/accessorSupport/decorators/subclass.js";import{isClockwise as m}from"../../../geometry/support/coordsUtils.js";import{DrawScreenTool as h}from"../../../views/draw/DrawScreenTool.js";import{sketchKeys as d}from"../../../views/interactive/keybindings.js";import{getSelectionFromGeometry as u}from"./selectorUtils.js";import g from"../../../geometry/Point.js";import y from"../../../geometry/Polygon.js";const v=100;let f=class extends s.EventedAccessor{constructor(e){super(e),this._processTask=null,this.options=null,this.selection=new t,this.sources=null,this._process=i((async(e,t)=>{const{callback:s,selector:r,completed:i}=e,c=o((async e=>{const{sources:o,selection:t,view:c}=this;if(!(!o?.length&&!c?.selectionManager.sources.length)&&c){if(r&&null!=o){const s=await u({currentSelection:t,sources:o,selector:r,signal:e,view:c});i&&c.selectionManager?.updateSelection({current:t.toArray(),...s})}s&&s()}else t.removeAll()}));return n(t,(()=>c.abort())),this._processTask=c,c.promise}),v)}initialize(){this._setup()}cancel(){this.removeAllHandles(),this._processTask?.abort()}async _setup(){const{view:e}=this;if(await e.whenReady(),this.destroyed)return;const o=this.options?.createTool??"rectangle",t=this.options?.mode??("polygon"===o?"click":"hybrid");this._tool=new h({view:e,mode:t,geometryType:o}),this.addHandles([this.view.on("key-down",(e=>{if(!e.repeat)switch(e.key){case d.constraint:this._tool.uniformSizeToggled=!0,e.stopPropagation();break;case d.center:this._tool.centeredToggled=!0,e.stopPropagation()}})),this.view.on("key-up",(e=>{switch(e.key){case d.constraint:this._tool.uniformSizeToggled=!1,e.stopPropagation();break;case d.center:this._tool.centeredToggled=!1,e.stopPropagation()}})),this._tool.on(["cursor-update","vertex-add","vertex-remove"],(()=>c(this._process({selector:this._selectionArea})))),this._tool.on("complete",(async e=>{const o=()=>{this.removeAllHandles(),this.emit("complete",{aborted:e.aborted,selection:this.selection.toArray()})};e.aborted?(this._processTask?.abort(),this.selection.removeAll(),o()):await this._process({selector:this._selectionArea,callback:o,completed:!0})}))]),this.addHandles(r((()=>this.view.tools.remove(this._tool)))),this.view.addAndActivateTool(this._tool)}get _selectionArea(){const e=l(),o=this._tool.coordinates,t=this.view.spatialReference,s=o=>{e.x=o[0],e.y=o[1];const{x:t,y:s}=this.view.toMap(e);return[t,s]};if(1===o.length){const[e,r]=s(o[0]);return new g({x:e,y:r,spatialReference:t})}const r=this._tool.coordinates.map(s);if(0===r.length)return;m(r)||r.reverse();return new y({spatialReference:t,rings:[r]})}};e([a()],f.prototype,"options",void 0),e([a({readOnly:!0})],f.prototype,"selection",void 0),e([a()],f.prototype,"sources",void 0),e([a({constructOnly:!0})],f.prototype,"view",void 0),f=e([p("esri.widgets.support.Selector2D.SelectionOperation2D")],f);const w=f;export{w as default};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import"../../../geometry.js";import{createTask as o}from"../../../core/asyncUtils.js";import t from"../../../core/Collection.js";import s from"../../../core/Evented.js";import{makeHandle as r}from"../../../core/handleUtils.js";import{debounce as i,ignoreAbortErrors as c,onAbort as n}from"../../../core/promiseUtils.js";import{createScreenPoint as l}from"../../../core/screenUtils.js";import{property as a}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as p}from"../../../core/accessorSupport/decorators/subclass.js";import{isClockwise as m}from"../../../geometry/support/coordsUtils.js";import{DrawScreenTool as d}from"../../../views/draw/DrawScreenTool.js";import{sketchKeys as h}from"../../../views/interactive/keybindings.js";import{getSelectionFromGeometry as u}from"./selectorUtils.js";import y from"../../../geometry/Point.js";import g from"../../../geometry/Polygon.js";const f=100;let v=class extends s.EventedAccessor{constructor(e){super(e),this._processTask=null,this.options=null,this.selection=new t,this.sources=null,this._process=i((async(e,t)=>{const{callback:s,selector:r,completed:i}=e,c=o((async e=>{const{sources:o,selection:t,view:c}=this;if(!(!o?.length&&!c?.selectionManager.sources.length)&&c){if(r&&null!=o){const s=await u({currentSelection:t,selector:r,signal:e,sources:o,view:c});i&&c.selectionManager?.updateSelection({current:t.toArray(),...s})}s&&s()}else t.removeAll()}));return n(t,(()=>c.abort())),this._processTask=c,c.promise}),f)}initialize(){this._setup()}cancel(){this.removeAllHandles(),this._processTask?.abort()}async _setup(){const{view:e}=this;if(await e.whenReady(),this.destroyed)return;const o=this.options,t=o?.createTool??"rectangle",s=o?.mode??("polygon"===t?"click":"hybrid"),i=Symbol();this._tool=new d({view:e,mode:s,geometryType:t}),o?.selectOnComplete||this.addHandles(this._tool.on(["cursor-update","vertex-add","vertex-remove"],(()=>c(this._process({selector:this._selectionArea})))),i),this.addHandles([e.on("key-down",(e=>{if(!e.repeat)switch(e.key){case h.constraint:this._tool.uniformSizeToggled=!0,e.stopPropagation();break;case h.center:this._tool.centeredToggled=!0,e.stopPropagation()}})),e.on("key-up",(e=>{switch(e.key){case h.constraint:this._tool.uniformSizeToggled=!1,e.stopPropagation();break;case h.center:this._tool.centeredToggled=!1,e.stopPropagation()}})),this._tool.on("complete",(async e=>{this.removeHandles(i);const o=()=>{this.removeAllHandles(),this.emit("complete",{aborted:e.aborted,selection:this.selection.toArray()})};e.aborted?(this.cancel(),this.selection.removeAll(),o()):await this._process({selector:this._selectionArea,callback:o,completed:!0})}))],i),this.addHandles(r((()=>e.tools.remove(this._tool)))),e.addAndActivateTool(this._tool)}get _selectionArea(){const e=l(),o=this._tool.coordinates,t=this.view.spatialReference,s=o=>{e.x=o[0],e.y=o[1];const{x:t,y:s}=this.view.toMap(e);return[t,s]};if(1===o.length){const[e,r]=s(o[0]);return new y({x:e,y:r,spatialReference:t})}const r=this._tool.coordinates.map(s);if(0===r.length)return;m(r)||r.reverse();return new g({spatialReference:t,rings:[r]})}};e([a()],v.prototype,"options",void 0),e([a({readOnly:!0})],v.prototype,"selection",void 0),e([a()],v.prototype,"sources",void 0),e([a({constructOnly:!0})],v.prototype,"view",void 0),v=e([p("esri.widgets.support.Selector2D.SelectionOperation2D")],v);const w=v;export{w as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.29/esri/copyright.txt for details.
4
4
  */
5
- import{whenOrAbort as e,ignoreAbortErrors as r}from"../../../core/promiseUtils.js";import{getDisplayFieldName as t}from"../../../layers/support/fieldUtils.js";import{isFeatureLayer as s,isKnowledgeGraphLayer as n,isLinkChartLayer as a,isMapNotesLayer as i,isGraphicsLayer as l}from"../../../layers/support/layerUtils.js";import{calculateTolerance as o}from"../../../renderers/support/clickToleranceUtils.js";import{createQueryGeometry as c}from"../../../views/support/drapedUtils.js";import{isSelectableLayerView2D as u}from"../../../views/support/layerViewUtils.js";async function y(){return import("../../../geometry/geometryEngineJSON.js")}async function d(){return y().then((({contains:e,intersects:r,overlaps:t,simplify:s})=>({contains:e,intersects:r,overlaps:t,simplify:s})))}async function p(r){const{currentSelection:t,selector:s,signal:n,sources:a,view:i}=r;if(!a?.length)return{added:[],removed:[]};const{layers:l,layerViews:o,graphicsLayers:c}=h(a),u=(await e(Promise.all([m(s,l,i,n),g(s,o,i,n),f(s,c,i)]),n)).flat();if(!t)return{added:u,removed:[]};const y=u.filter((e=>w(t.toArray(),e))),d=t.filter((e=>w(u,e))).toArray();return t.removeMany(d),t.addMany(y),{added:y,removed:d}}const f=async(e,r,t)=>U({candidates:r.flatMap((e=>e.graphics.toArray()))??[],selector:e,view:t}),m=async(e,t,s,n)=>{const a=await r(j({selector:e,signal:n,layers:t,view:s}));return a?a.filter((e=>"fulfilled"===e.status)).flatMap((e=>e.value)):[]},g=async(e,t,s,n)=>{const a=await r(v({selector:e,signal:n,layerViews:t,view:s}));return a?a.filter((e=>"fulfilled"===e.status)).flatMap((e=>e.value)):[]};function h(e){const r=[],t=[],o=[];return e.forEach((e=>{s(e)?r.push(e):(n(e)||a(e))&&e.layers?.length?r.push(...e.layers.toArray()):i(e)&&e.sublayers?.length?o.push(...e.sublayers.toArray()):l(e)?o.push(e):u(e)&&t.push(e)})),{layers:r,layerViews:t,graphicsLayers:o}}function w(e,r){const t=e.includes(r),s=r.getObjectId(),n=null!=s,a=e.some((e=>{const t=r.layer===e.layer,a=n&&e.getObjectId()===s,i=r.uid===e.uid;return t&&(a||i)}));return!t&&!a}async function v(r){const{layerViews:t,selector:s,signal:n,view:a}=r;return e(Promise.allSettled(t.map((async e=>{const r=e.createQuery(),{geometry:t}=F(s,e.layer,a);return r.outFields=["*"],r.geometry=t,r.returnGeometry=!0,r.outSpatialReference=a.spatialReference,e.queryFeatures(r,{signal:n}).then((({features:e})=>e))}))),n)}async function j(r){const{layers:t,selector:s,signal:n,view:a}=r;return e(Promise.allSettled(t.map((async e=>e.queryFeatures(S(e.createQuery(),s,e,a),{signal:n}).then((({features:e})=>e))))),n)}function F(e,r,s){const n="displayField"in r?r.displayField:null,a=t({displayField:n,fields:r.fields}),i=[r.objectIdField];null!=a&&r.fieldsIndex.has(a)&&i.push(a);const l="renderer"in r?o({renderer:r.renderer}):0;return{geometry:"point"===e.type?c(e,l,s):e,outFields:i}}function S(e,r,t,s){const{outFields:n,geometry:a}=F(r,t,s);return e.outFields=n,e.geometry=a,e.returnGeometry=!0,e.outSpatialReference=s.spatialReference,e}async function U(e){const{selector:r,candidates:t,view:s}=e;if(!t?.length||!r)return[];const{spatialReference:n}=s,a=r,i=await d();return t.filter((e=>i.intersects(n,a,e.geometry)))}export{d as getGeometryEngineOperations,F as getQueryOptionsFromLayer,v as getSelectionFromFeatureLayerViews,j as getSelectionFromFeatureLayers,p as getSelectionFromGeometry,U as getSelectionFromGeometryEngine,y as importGeometryEngine};
5
+ import{whenOrAbort as e,ignoreAbortErrors as r}from"../../../core/promiseUtils.js";import{getDisplayFieldName as t}from"../../../layers/support/fieldUtils.js";import{isFeatureLayer as s,isKnowledgeGraphLayer as n,isLinkChartLayer as i,isMapNotesLayer as a,isGraphicsLayer as l}from"../../../layers/support/layerUtils.js";import{calculateTolerance as o}from"../../../renderers/support/clickToleranceUtils.js";import{createQueryGeometry as c}from"../../../views/support/drapedUtils.js";import{isSelectableLayerView2D as u}from"../../../views/support/layerViewUtils.js";async function y(){return import("../../../geometry/geometryEngineJSON.js")}async function d(){return y().then((({contains:e,intersects:r,overlaps:t,simplify:s})=>({contains:e,intersects:r,overlaps:t,simplify:s})))}async function p(r){const{currentSelection:t,selector:s,signal:n,sources:i,view:a}=r;if(!i?.length)return{added:[],removed:[]};const{layers:l,layerViews:o,graphicsLayers:c}=w(i),u=(await e(Promise.all([m(s,l,a,n),g(s,o,a,n),f(s,c,a)]),n)).flat();if(!t)return{added:u,removed:[]};const y=t.toArray(),d=u.filter((e=>!v(y,e))),p=y.filter((e=>!v(u,e)));return t.removeMany(p),t.addMany(d),{added:d,removed:p}}const f=async(e,r,t)=>b({candidates:r.flatMap((e=>e.graphics.toArray()))??[],selector:e,view:t}),m=async(e,t,s,n)=>{const i=await r(F({selector:e,signal:n,layers:t,view:s}));return i?h(i):[]},g=async(e,t,s,n)=>{const i=await r(j({selector:e,signal:n,layerViews:t,view:s}));return i?h(i):[]};function h(e){const r=[];for(let t=0;t<e.length;t++){const s=e[t];"fulfilled"===s.status&&r.push(...s.value)}return r}function w(e){const r=[],t=[],o=[];return e.forEach((e=>{s(e)?r.push(e):(n(e)||i(e))&&e.layers?.length?r.push(...e.layers.toArray()):a(e)&&e.sublayers?.length?o.push(...e.sublayers.toArray()):l(e)?o.push(e):u(e)&&t.push(e)})),{layers:r,layerViews:t,graphicsLayers:o}}function v(e,r){if(e.includes(r))return!0;const t=r.getObjectId(),s=null!=t,{layer:n,uid:i}=r;return s?e.some((e=>{if(n===e.layer)return t===e.getObjectId()})):e.some((e=>{if(n===e.layer)return i===e.uid}))}async function j(r){const{layerViews:t,selector:s,signal:n,view:i}=r;return e(Promise.allSettled(t.map((async e=>{const r=e.createQuery(),{geometry:t}=S(s,e.layer,i);return r.outFields=["*"],r.geometry=t,r.returnGeometry=!0,r.outSpatialReference=i.spatialReference,e.queryFeatures(r,{signal:n}).then((({features:e})=>e))}))),n)}async function F(r){const{layers:t,selector:s,signal:n,view:i}=r;return e(Promise.allSettled(t.map((async e=>e.queryFeatures(U(e.createQuery(),s,e,i),{signal:n}).then((({features:e})=>e))))),n)}function S(e,r,s){const n="displayField"in r?r.displayField:null,i=t({displayField:n,fields:r.fields}),a=[r.objectIdField];null!=i&&r.fieldsIndex.has(i)&&a.push(i);const l="renderer"in r?o({renderer:r.renderer}):0;return{geometry:"point"===e.type?c(e,l,s):e,outFields:a}}function U(e,r,t,s){const{outFields:n,geometry:i}=S(r,t,s);return e.outFields=n,e.geometry=i,e.returnGeometry=!0,e.outSpatialReference=s.spatialReference,e}async function b(e){const{selector:r,candidates:t,view:s}=e;if(!t?.length||!r)return[];const{spatialReference:n}=s,i=r,a=await d();return t.filter((e=>a.intersects(n,i,e.geometry)))}export{d as getGeometryEngineOperations,S as getQueryOptionsFromLayer,j as getSelectionFromFeatureLayerViews,F as getSelectionFromFeatureLayers,p as getSelectionFromGeometry,b as getSelectionFromGeometryEngine,y as importGeometryEngine};
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[5980],{98472:(t,n,e)=>{e.d(n,{A:()=>s,B:()=>a,C:()=>w,D:()=>B,G:()=>R,a:()=>f,b:()=>L,c:()=>i,e:()=>D,f:()=>T,g:()=>A,h:()=>S,i:()=>G,j:()=>l,k:()=>h,l:()=>_,m:()=>H,n:()=>M,o:()=>C,p:()=>I,q:()=>O,r:()=>P,s:()=>o,t:()=>U,u:()=>N,v:()=>y,w:()=>b,x:()=>u,y:()=>g,z:()=>c});var r=e(62484),E=e(47364);function _(t){const n=t[0],e=t[1],r=t[2];return Math.sqrt(n*n+e*e+r*r)}function i(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t}function o(t,n,e,r){return t[0]=n,t[1]=e,t[2]=r,t}function A(t,n,e){return t[0]=n[0]+e[0],t[1]=n[1]+e[1],t[2]=n[2]+e[2],t}function T(t,n,e){return t[0]=n[0]-e[0],t[1]=n[1]-e[1],t[2]=n[2]-e[2],t}function s(t,n,e){return t[0]=n[0]*e[0],t[1]=n[1]*e[1],t[2]=n[2]*e[2],t}function R(t,n,e){return t[0]=n[0]/e[0],t[1]=n[1]/e[1],t[2]=n[2]/e[2],t}function N(t,n){return t[0]=Math.abs(n[0]),t[1]=Math.abs(n[1]),t[2]=Math.abs(n[2]),t}function c(t,n){return t[0]=Math.sign(n[0]),t[1]=Math.sign(n[1]),t[2]=Math.sign(n[2]),t}function u(t,n,e){return t[0]=Math.min(n[0],e[0]),t[1]=Math.min(n[1],e[1]),t[2]=Math.min(n[2],e[2]),t}function a(t,n,e){return t[0]=Math.max(n[0],e[0]),t[1]=Math.max(n[1],e[1]),t[2]=Math.max(n[2],e[2]),t}function S(t,n,e){return t[0]=n[0]*e,t[1]=n[1]*e,t[2]=n[2]*e,t}function O(t,n,e,r){return t[0]=n[0]+e[0]*r,t[1]=n[1]+e[1]*r,t[2]=n[2]+e[2]*r,t}function I(t,n){const e=n[0]-t[0],r=n[1]-t[1],E=n[2]-t[2];return Math.sqrt(e*e+r*r+E*E)}function f(t,n){const e=n[0]-t[0],r=n[1]-t[1],E=n[2]-t[2];return e*e+r*r+E*E}function C(t){const n=t[0],e=t[1],r=t[2];return n*n+e*e+r*r}function M(t,n){const e=n[0],r=n[1],E=n[2];let _=e*e+r*r+E*E;return _>0&&(_=1/Math.sqrt(_),t[0]=n[0]*_,t[1]=n[1]*_,t[2]=n[2]*_),t}function l(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function L(t,n,e){const r=n[0],E=n[1],_=n[2],i=e[0],o=e[1],A=e[2];return t[0]=E*A-_*o,t[1]=_*i-r*A,t[2]=r*o-E*i,t}function h(t,n,e,r){const E=n[0],_=n[1],i=n[2];return t[0]=E+r*(e[0]-E),t[1]=_+r*(e[1]-_),t[2]=i+r*(e[2]-i),t}function D(t,n,e){const r=n[0],E=n[1],_=n[2];return t[0]=e[0]*r+e[4]*E+e[8]*_+e[12],t[1]=e[1]*r+e[5]*E+e[9]*_+e[13],t[2]=e[2]*r+e[6]*E+e[10]*_+e[14],t}function U(t,n,e){const r=n[0],E=n[1],_=n[2];return t[0]=r*e[0]+E*e[3]+_*e[6],t[1]=r*e[1]+E*e[4]+_*e[7],t[2]=r*e[2]+E*e[5]+_*e[8],t}function P(t,n,e){const r=e[0],E=e[1],_=e[2],i=e[3],o=n[0],A=n[1],T=n[2],s=E*T-_*A,R=_*o-r*T,N=r*A-E*o,c=E*N-_*R,u=_*s-r*N,a=r*R-E*s,S=2*i;return t[0]=o+s*S+2*c,t[1]=A+R*S+2*u,t[2]=T+N*S+2*a,t}const d=(0,r.Su)(),F=(0,r.Su)();function G(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]}function B(t,n,e){const r=e[0]-n[0],E=e[1]-n[1],_=e[2]-n[2];let i=r*r+E*E+_*_;return i>0?(i=1/Math.sqrt(i),t[0]=r*i,t[1]=E*i,t[2]=_*i,t):(t[0]=0,t[1]=0,t[2]=0,t)}const g=T,m=s,p=R,H=I,y=f,w=_,b=C;Object.freeze(Object.defineProperty({__proto__:null,abs:N,add:A,angle:function(t,n){M(d,t),M(F,n);const e=l(d,F);return e>1?0:e<-1?Math.PI:Math.acos(e)},bezier:function(t,n,e,r,E,_){const i=1-_,o=i*i,A=_*_,T=o*i,s=3*_*o,R=3*A*i,N=A*_;return t[0]=n[0]*T+e[0]*s+r[0]*R+E[0]*N,t[1]=n[1]*T+e[1]*s+r[1]*R+E[1]*N,t[2]=n[2]*T+e[2]*s+r[2]*R+E[2]*N,t},ceil:function(t,n){return t[0]=Math.ceil(n[0]),t[1]=Math.ceil(n[1]),t[2]=Math.ceil(n[2]),t},copy:i,cross:L,direction:B,dist:H,distance:I,div:p,divide:R,dot:l,equals:function(t,n){if(t===n)return!0;const e=t[0],r=t[1],_=t[2],i=n[0],o=n[1],A=n[2],T=(0,E.Au)();return Math.abs(e-i)<=T*Math.max(1,Math.abs(e),Math.abs(i))&&Math.abs(r-o)<=T*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(_-A)<=T*Math.max(1,Math.abs(_),Math.abs(A))},exactEquals:G,floor:function(t,n){return t[0]=Math.floor(n[0]),t[1]=Math.floor(n[1]),t[2]=Math.floor(n[2]),t},hermite:function(t,n,e,r,E,_){const i=_*_,o=i*(2*_-3)+1,A=i*(_-2)+_,T=i*(_-1),s=i*(3-2*_);return t[0]=n[0]*o+e[0]*A+r[0]*T+E[0]*s,t[1]=n[1]*o+e[1]*A+r[1]*T+E[1]*s,t[2]=n[2]*o+e[2]*A+r[2]*T+E[2]*s,t},inverse:function(t,n){return t[0]=1/n[0],t[1]=1/n[1],t[2]=1/n[2],t},len:w,length:_,lerp:h,max:a,min:u,mul:m,multiply:s,negate:function(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t},normalize:M,random:function(t,n){n=n||1;const e=E.QR,r=2*e()*Math.PI,_=2*e()-1,i=Math.sqrt(1-_*_)*n;return t[0]=Math.cos(r)*i,t[1]=Math.sin(r)*i,t[2]=_*n,t},rotateX:function(t,n,e,r){const E=[],_=[];return E[0]=n[0]-e[0],E[1]=n[1]-e[1],E[2]=n[2]-e[2],_[0]=E[0],_[1]=E[1]*Math.cos(r)-E[2]*Math.sin(r),_[2]=E[1]*Math.sin(r)+E[2]*Math.cos(r),t[0]=_[0]+e[0],t[1]=_[1]+e[1],t[2]=_[2]+e[2],t},rotateY:function(t,n,e,r){const E=[],_=[];return E[0]=n[0]-e[0],E[1]=n[1]-e[1],E[2]=n[2]-e[2],_[0]=E[2]*Math.sin(r)+E[0]*Math.cos(r),_[1]=E[1],_[2]=E[2]*Math.cos(r)-E[0]*Math.sin(r),t[0]=_[0]+e[0],t[1]=_[1]+e[1],t[2]=_[2]+e[2],t},rotateZ:function(t,n,e,r){const E=[],_=[];return E[0]=n[0]-e[0],E[1]=n[1]-e[1],E[2]=n[2]-e[2],_[0]=E[0]*Math.cos(r)-E[1]*Math.sin(r),_[1]=E[0]*Math.sin(r)+E[1]*Math.cos(r),_[2]=E[2],t[0]=_[0]+e[0],t[1]=_[1]+e[1],t[2]=_[2]+e[2],t},round:function(t,n){return t[0]=Math.round(n[0]),t[1]=Math.round(n[1]),t[2]=Math.round(n[2]),t},scale:S,scaleAndAdd:O,set:o,sign:c,sqrDist:y,sqrLen:b,squaredDistance:f,squaredLength:C,str:function(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"},sub:g,subtract:T,transformMat3:U,transformMat4:D,transformQuat:P},Symbol.toStringTag,{value:"Module"}))},85256:(t,n,e)=>{function r(){return[0,0]}function E(t,n){return[t,n]}function _(){return E(1,1)}function i(){return E(1,0)}function o(){return E(0,1)}e.d(n,{Qw:()=>A,Su:()=>r,WK:()=>E});const A=_(),T=i(),s=o();Object.freeze(Object.defineProperty({__proto__:null,ONES:A,UNIT_X:T,UNIT_Y:s,ZEROS:[0,0],clone:function(t){return[t[0],t[1]]},create:r,createView:function(t,n){return new Float64Array(t,n,2)},fromArray:function(t,n=[0,0]){const e=Math.min(2,t.length);for(let r=0;r<e;++r)n[r]=t[r];return n},fromValues:E,ones:_,unitX:i,unitY:o,zeros:function(){return[0,0]}},Symbol.toStringTag,{value:"Module"}))},62484:(t,n,e)=>{function r(){return[0,0,0]}function E(t){return[t[0],t[1],t[2]]}function _(t,n,e){return[t,n,e]}function i(t,n=[0,0,0]){const e=Math.min(3,t.length);for(let r=0;r<e;++r)n[r]=t[r];return n}function o(){return _(1,1,1)}function A(){return _(1,0,0)}function T(){return _(0,1,0)}function s(){return _(0,0,1)}e.d(n,{IR:()=>u,Qw:()=>N,Su:()=>r,UV:()=>c,WK:()=>_,cX:()=>R,ct:()=>E,eu:()=>i,wx:()=>a});const R=[0,0,0],N=o(),c=A(),u=T(),a=s();Object.freeze(Object.defineProperty({__proto__:null,ONES:N,UNIT_X:c,UNIT_Y:u,UNIT_Z:a,ZEROS:R,clone:E,create:r,createView:function(t,n){return new Float64Array(t,n,3)},fromArray:i,fromValues:_,ones:o,unitX:A,unitY:T,unitZ:s,zeros:function(){return[0,0,0]}},Symbol.toStringTag,{value:"Module"}))},47364:(t,n,e)=>{e.d(n,{Af:()=>A,Au:()=>E,QR:()=>_,Yf:()=>T});let r=1e-6;function E(){return r}const _=Math.random,i=Math.PI/180,o=180/Math.PI;function A(t){return t*i}function T(t){return t*o}Object.freeze(Object.defineProperty({__proto__:null,RANDOM:_,equals:function(t,n){return Math.abs(t-n)<=r*Math.max(1,Math.abs(t),Math.abs(n))},getEpsilon:E,setEpsilon:function(t){r=t},toDegree:T,toRadian:A},Symbol.toStringTag,{value:"Module"}))},53648:(t,n,e)=>{e.d(n,{Cq:()=>o,EF:()=>T,Iv:()=>I,SE:()=>C,UB:()=>s,Uj:()=>R,aU:()=>A,gJ:()=>S,gP:()=>c,ig:()=>f,qk:()=>i,sj:()=>N,w7:()=>_});var r=e(98472);const E=new Float32Array(1);function _(t){--t;for(let n=1;n<32;n<<=1)t|=t>>n;return t+1}function i(t,n,e){return Math.min(Math.max(t,n),e)}function o(t,n,e){return t+(n-t)*e}function A(t,n,e,r,E){return o(r,E,(t-n)/(e-n))}function T(t){return t*Math.PI/180}function s(t){return 180*t/Math.PI}function R(t){return Math.acos(i(t,-1,1))}function N(t){return Math.asin(i(t,-1,1))}function c(t,n,e=1e-6){return t===n||!(!Number.isFinite(t)||!Number.isFinite(n))&&(t>n?t-n:n-t)<=e}const u=new DataView(new ArrayBuffer(Float64Array.BYTES_PER_ELEMENT));const a=BigInt("1000000");function S(t){return O(Math.max(-C,Math.min(t,C)))}function O(t){return E[0]=t,E[0]}function I(t,n){const e=(0,r.l)(t),E=N(t[2]/e),_=Math.atan2(t[1]/e,t[0]/e);return(0,r.s)(n,e,E,_),n}function f(t){const n=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],e=t[3]*t[3]+t[4]*t[4]+t[5]*t[5],r=t[6]*t[6]+t[7]*t[7]+t[8]*t[8];return!(c(n,1)&&c(e,1)&&c(r,1))}!function(t){const n=function(t){return u.setFloat64(0,t),u.getBigInt64(0)}(t=Math.abs(t)),e=function(t){return u.setBigInt64(0,t),u.getFloat64(0)}(n<=a?a:n-a);Math.abs(t-e)}(1);const C=O(34028234663852886e22)},92896:(t,n,e)=>{e.d(n,{mc:()=>E});var r=e(72008);function E(t,n=!1){return t<=r._?n?new Array(t).fill(0):new Array(t):new Float32Array(t)}},97143:(t,n,e)=>{e.d(n,{Uv:()=>E,aw:()=>_,yh:()=>T});var r=e(72008);function E(t){if((0,r.c7)(t)){if(t.length<r._)return t}else if(t.length<r._)return Array.from(t);let n=!0,e=!0;return t.some(((t,r)=>(n=n&&0===t,e=e&&t===r,!n&&!e))),n?function(t){if(1===t)return o;if(t<r._)return new Array(t).fill(0);if(t>s.length){const n=Math.max(2*s.length,t);s=new Uint8Array(n)}return new Uint8Array(s.buffer,0,t)}(t.length):e?T(t.length):(0,r.c7)(t)||t.BYTES_PER_ELEMENT!==Uint16Array.BYTES_PER_ELEMENT?function(t){let n=!0;for(const e of t){if(e>=65536)return(0,r.c7)(t)?new Uint32Array(t):t;e>=256&&(n=!1)}return n?new Uint8Array(t):new Uint16Array(t)}(t):t}function _(t){return t<=r._?new Array(t):t<=65536?new Uint16Array(t):new Uint32Array(t)}let i=(()=>{const t=new Uint32Array(131072);for(let n=0;n<t.length;++n)t[n]=n;return t})();const o=[0],A=(()=>{const t=new Uint16Array(65536);for(let n=0;n<t.length;++n)t[n]=n;return t})();function T(t){if(1===t)return o;if(t<r._)return Array.from(new Uint16Array(A.buffer,0,t));if(t<A.length)return new Uint16Array(A.buffer,0,t);if(t>i.length){const n=Math.max(2*i.length,t);i=new Uint32Array(n);for(let t=0;t<i.length;t++)i[t]=t}return new Uint32Array(i.buffer,0,t)}let s=new Uint8Array(65536)},98132:(t,n,e)=>{function r(t){switch(t){case"u8":case"i8":return 1;case"u16":case"i16":return 2;case"u32":case"i32":case"f32":return 4;case"f64":return 8}}e.d(n,{Ad:()=>r})},77080:(t,n,e)=>{e.d(n,{g:()=>_});var r=e(53648),E=e(97143);function _(t,n,e){const _=Array.isArray(t),s=_?t.length/n:t.byteLength/(4*n),R=_?t:new Uint32Array(t,0,s*n),N=e?.minReduction??0,c=e?.originalIndices||null,u=c?c.length:0,a=e?.componentOffsets||null;let S=0;if(a)for(let t=0;t<a.length-1;t++){const n=a[t+1]-a[t];n>S&&(S=n)}else S=s;const O=Math.floor(1.1*S)+1;(null==T||T.length<2*O)&&(T=new Uint32Array((0,r.w7)(2*O)));for(let t=0;t<2*O;t++)T[t]=0;let I=0;const f=!!a&&!!c,C=f?u:s;let M=(0,E.aw)(s);const l=new Uint32Array(u),L=1.96;let h=0!==N?Math.ceil(4*L*L/(N*N)*N*(1-N)):C,D=1,U=a?a[1]:C;for(let t=0;t<C;t++){if(t===h){const n=1-I/t;if(n+L*Math.sqrt(n*(1-n)/t)<N)return null;h*=2}if(t===U){for(let t=0;t<2*O;t++)T[t]=0;if(c)for(let t=a[D-1];t<a[D];t++)l[t]=M[c[t]];U=a[++D]}const e=f?c[t]:t,r=e*n,E=A(R,r,n);let _=E%O,o=I;for(;0!==T[2*_+1];){if(T[2*_]===E){const t=T[2*_+1]-1;if(i(R,r,t*n,n)){o=M[t];break}}_++,_>=O&&(_-=O)}o===I&&(T[2*_]=E,T[2*_+1]=e+1,I++),M[e]=o}if(0!==N&&1-I/s<N)return null;if(f){for(let t=a[D-1];t<l.length;t++)l[t]=M[c[t]];M=(0,E.Uv)(l)}const P=_?new Array(I):new Uint32Array(I*n);I=0;for(let t=0;t<C;t++)M[t]===I&&(o(R,(f?c[t]:t)*n,P,I*n,n),I++);if(c&&!f){const t=new Uint32Array(u);for(let n=0;n<t.length;n++)t[n]=M[c[n]];M=(0,E.Uv)(t)}return{buffer:Array.isArray(P)?P:P.buffer,indices:M,uniqueCount:I}}function i(t,n,e,r){for(let E=0;E<r;E++)if(t[n+E]!==t[e+E])return!1;return!0}function o(t,n,e,r,E){for(let _=0;_<E;_++)e[r+_]=t[n+_]}function A(t,n,e){let r=0;for(let E=0;E<e;E++)r=t[n+E]+r|0,r=r+(r<<11)+(r>>>2)|0;return r>>>0}let T=null},72364:(t,n,e)=>{e.d(n,{U1:()=>T,iC:()=>A});var r=e(71004),E=e(98132),_=e(90736);class i{constructor(t,n){this.layout=t,this.buffer="number"==typeof n?new ArrayBuffer(n*t.stride):n;for(const n of t.fields.keys()){const e=t.fields.get(n);this[n]=new e.constructor(this.buffer,e.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,n){const e=this[t];return e&&e.elementCount===n.ElementCount&&e.elementType===n.ElementType?e:null}slice(t,n){return new i(this.layout,this.buffer.slice(t*this.stride,n*this.stride))}copyFrom(t,n=0,e=0,r=t.count){const E=this.stride;if(E%4==0){const _=new Uint32Array(t.buffer,n*E,r*E/4);new Uint32Array(this.buffer,e*E,r*E/4).set(_)}else{const _=new Uint8Array(t.buffer,n*E,r*E);new Uint8Array(this.buffer,e*E,r*E).set(_)}return this}get usedMemory(){return this.byteLength}dispose(){}}class o{constructor(t=null){this._stride=0,this._lastAligned=0,this._fields=new Map,t&&(this._stride=t.stride,t.fields.forEach((t=>this._fields.set(t[0],{...t[1],constructor:N(t[1].constructor)}))))}vec2f(t,n){return this._appendField(t,r.U7,n),this}vec2f64(t,n){return this._appendField(t,r.wT,n),this}vec3f(t,n){return this._appendField(t,r.Yj,n),this}vec3f64(t,n){return this._appendField(t,r.Ax,n),this}vec4f(t,n){return this._appendField(t,r._5,n),this}vec4f64(t,n){return this._appendField(t,r.Ip,n),this}mat3f(t,n){return this._appendField(t,r.Ko,n),this}mat3f64(t,n){return this._appendField(t,r.m_,n),this}mat4f(t,n){return this._appendField(t,r.IL,n),this}mat4f64(t,n){return this._appendField(t,r.mF,n),this}vec4u8(t,n){return this._appendField(t,r.sb,n),this}f32(t,n){return this._appendField(t,r.AZ,n),this}f64(t,n){return this._appendField(t,r.oN,n),this}u8(t,n){return this._appendField(t,r.Kg,n),this}u16(t,n){return this._appendField(t,r.E_,n),this}i8(t,n){return this._appendField(t,r.kV,n),this}vec2i8(t,n){return this._appendField(t,r.oR,n),this}vec2i16(t,n){return this._appendField(t,r.iN,n),this}vec2u8(t,n){return this._appendField(t,r.eS,n),this}vec4u16(t,n){return this._appendField(t,r.Ig,n),this}u32(t,n){return this._appendField(t,r.Ym,n),this}_appendField(t,n,e){if(this._fields.has(t))return void(0,_.Uc)(!1,`${t} already added to vertex buffer layout`);const r=n.ElementCount*(0,E.Ad)(n.ElementType),i=this._stride;this._stride+=r,this._fields.set(t,{size:r,constructor:n,offset:i,optional:e})}createBuffer(t){return new i(this,t)}createView(t){return new i(this,t)}clone(){const t=new o;return t._stride=this._stride,t._fields=new Map,this._fields.forEach(((n,e)=>t._fields.set(e,n))),t.BufferType=this.BufferType,t}get stride(){if(this._lastAligned!==this._fields.size){let t=1;this._fields.forEach((n=>t=Math.max(t,(0,E.Ad)(n.constructor.ElementType)))),this._stride=Math.floor((this._stride+t-1)/t)*t,this._lastAligned=this._fields.size}return this._stride}get fields(){return this._fields}}function A(){return new o}class T{constructor(t){this.fields=new Array,t.fields.forEach(((t,n)=>{const e={...t,constructor:R(t.constructor)};this.fields.push([n,e])})),this.stride=t.stride}}const s=[r.AZ,r.U7,r.Yj,r._5,r.Ko,r.IL,r.oN,r.wT,r.Ax,r.Ip,r.m_,r.mF,r.Kg,r.eS,r.IN,r.sb,r.E_,r.kg,r.k5,r.Ig,r.Ym,r.qZ,r.ER,r.q$,r.kV,r.oR,r.Oq,r.mq,r.Mt,r.iN,r.g7,r.OS,r.Ep,r.mI,r.Yv,r.i9];function R(t){return`${t.ElementType}_${t.ElementCount}`}function N(t){return c.get(t)}const c=new Map;s.forEach((t=>c.set(R(t),t)))},73440:(t,n,e)=>{e.d(n,{W:()=>_});var r=e(77800),E=e(91811);function _(t,n=0){const e=t.stride;return Array.from(t.fields.keys()).map((r=>{const _=t.fields.get(r),o=_.constructor.ElementCount,A=i(_.constructor.ElementType),T=_.offset,s=!(!_.optional||!_.optional.glNormalized);return new E.q(r,o,A,T,e,s,n)}))}function i(t){const n=o[t];if(n)return n;throw new Error("BufferType not supported in WebGL")}const o={u8:r.Ck.UNSIGNED_BYTE,u16:r.Ck.UNSIGNED_SHORT,u32:r.Ck.UNSIGNED_INT,i8:r.Ck.BYTE,i16:r.Ck.SHORT,i32:r.Ck.INT,f32:r.Ck.FLOAT}},90736:(t,n,e)=>{e.d(n,{If:()=>_,Uc:()=>E}),e(85256),e(74784),(0,e(37008).Su)();class r{constructor(t){this.message=t}toString(){return`AssertException: ${this.message}`}}function E(t,n){if(!t){n=n||"Assertion";const t=new Error(n).stack;throw new r(`${n} at ${t}`)}}function _(t,n,e,r){let E,_=(e[0]-t[0])/n[0],i=(r[0]-t[0])/n[0];_>i&&(E=_,_=i,i=E);let o=(e[1]-t[1])/n[1],A=(r[1]-t[1])/n[1];if(o>A&&(E=o,o=A,A=E),_>A||o>i)return!1;o>_&&(_=o),A<i&&(i=A);let T=(e[2]-t[2])/n[2],s=(r[2]-t[2])/n[2];return T>s&&(E=T,T=s,s=E),!(_>s||T>i||(s<i&&(i=s),i<0))}},4636:(t,n,e)=>{var r;e.d(n,{K:()=>r}),function(t){t.POSITION="position",t.NORMAL="normal",t.NORMALCOMPRESSED="normalCompressed",t.UV0="uv0",t.COLOR="color",t.SYMBOLCOLOR="symbolColor",t.SIZE="size",t.TANGENT="tangent",t.OFFSET="offset",t.PERSPECTIVEDIVIDE="perspectiveDivide",t.CENTEROFFSETANDDISTANCE="centerOffsetAndDistance",t.LENGTH="length",t.PREVPOSITION="prevPosition",t.NEXTPOSITION="nextPosition",t.SUBDIVISIONFACTOR="subdivisionFactor",t.COLORFEATUREATTRIBUTE="colorFeatureAttribute",t.SIZEFEATUREATTRIBUTE="sizeFeatureAttribute",t.OPACITYFEATUREATTRIBUTE="opacityFeatureAttribute",t.DISTANCETOSTART="distanceToStart",t.UVMAPSPACE="uvMapSpace",t.BOUNDINGRECT="boundingRect",t.UVREGION="uvRegion",t.PROFILERIGHT="profileRight",t.PROFILEUP="profileUp",t.PROFILEVERTEXANDNORMAL="profileVertexAndNormal",t.FEATUREVALUE="featureValue",t.INSTANCEMODELORIGINHI="instanceModelOriginHi",t.INSTANCEMODELORIGINLO="instanceModelOriginLo",t.INSTANCEMODEL="instanceModel",t.INSTANCEMODELNORMAL="instanceModelNormal",t.INSTANCECOLOR="instanceColor",t.INSTANCEFEATUREATTRIBUTE="instanceFeatureAttribute",t.LOCALTRANSFORM="localTransform",t.GLOBALTRANSFORM="globalTransform",t.BOUNDINGSPHERE="boundingSphere",t.MODELORIGIN="modelOrigin",t.MODELSCALEFACTORS="modelScaleFactors",t.FEATUREATTRIBUTE="featureAttribute",t.STATE="state",t.LODLEVEL="lodLevel",t.POSITION0="position0",t.POSITION1="position1",t.NORMAL2COMPRESSED="normal2Compressed",t.COMPONENTINDEX="componentIndex",t.VARIANTOFFSET="variantOffset",t.VARIANTSTROKE="variantStroke",t.VARIANTEXTENSION="variantExtension",t.SIDENESS="sideness",t.START="start",t.END="end",t.UP="up",t.EXTRUDE="extrude",t.OBJECTANDLAYERIDCOLOR="objectAndLayerIdColor",t.INSTANCEOBJECTANDLAYERIDCOLOR="instanceObjectAndLayerIdColor"}(r||(r={}))},80036:(t,n,e)=>{e.d(n,{If:()=>i,sn:()=>A,wj:()=>T});var r=e(73440),E=e(72364),_=e(4636);const i=(0,E.iC)().vec3f(_.K.POSITION).u16(_.K.COMPONENTINDEX),o=(0,E.iC)().vec2u8(_.K.SIDENESS),A=((0,r.W)(o),(0,E.iC)().vec3f(_.K.POSITION0).vec3f(_.K.POSITION1).vec2i16(_.K.NORMALCOMPRESSED).u16(_.K.COMPONENTINDEX).u8(_.K.VARIANTOFFSET,{glNormalized:!0}).u8(_.K.VARIANTSTROKE).u8(_.K.VARIANTEXTENSION,{glNormalized:!0})),T=(0,E.iC)().vec3f(_.K.POSITION0).vec3f(_.K.POSITION1).vec2i16(_.K.NORMALCOMPRESSED).vec2i16(_.K.NORMAL2COMPRESSED).u16(_.K.COMPONENTINDEX).u8(_.K.VARIANTOFFSET,{glNormalized:!0}).u8(_.K.VARIANTSTROKE).u8(_.K.VARIANTEXTENSION,{glNormalized:!0});new Map([[_.K.POSITION0,0],[_.K.POSITION1,1],[_.K.COMPONENTINDEX,2],[_.K.VARIANTOFFSET,3],[_.K.VARIANTSTROKE,4],[_.K.VARIANTEXTENSION,5],[_.K.NORMALCOMPRESSED,6],[_.K.NORMAL2COMPRESSED,7],[_.K.SIDENESS,8]])},79968:(t,n,e)=>{e.d(n,{k:()=>s});var r=e(92400),E=e(53648),_=e(98472),i=e(62484);const o=-1;var A,T;function s(t,n,e,i=O){const A=t.vertices.position,T=t.vertices.componentIndex,s=(0,E.EF)(i.anglePlanar),S=(0,E.EF)(i.angleSignificantEdge),I=Math.cos(S),f=Math.cos(s),C=a.edge,M=C.position0,l=C.position1,L=C.faceNormal0,h=C.faceNormal1,D=u(t),U=function(t){const n=t.faces.length/3,e=t.faces,r=t.neighbors;let E=0;for(let t=0;t<n;t++){const n=r[3*t],_=r[3*t+1],i=r[3*t+2],A=e[3*t],T=e[3*t+1],s=e[3*t+2];E+=n===o||A<T?1:0,E+=_===o||T<s?1:0,E+=i===o||s<A?1:0}const _=new Int32Array(4*E);let i=0;for(let t=0;t<n;t++){const n=r[3*t],E=r[3*t+1],A=r[3*t+2],T=e[3*t],s=e[3*t+1],R=e[3*t+2];(n===o||T<s)&&(_[i++]=T,_[i++]=s,_[i++]=t,_[i++]=n),(E===o||s<R)&&(_[i++]=s,_[i++]=R,_[i++]=t,_[i++]=E),(A===o||R<T)&&(_[i++]=R,_[i++]=T,_[i++]=t,_[i++]=A)}return _}(t),P=U.length/4,d=n.allocate(P);let F=0;const G=P,B=e.allocate(G);let g=0,m=0,p=0;const H=(0,r.ik)(0,P),y=new Float32Array(P);y.forEach(((t,n,e)=>{A.getVec(U[4*n],M),A.getVec(U[4*n+1],l),e[n]=(0,_.p)(M,l)})),H.sort(((t,n)=>y[n]-y[t]));const w=new Array,b=new Array;for(let t=0;t<P;t++){const r=H[t],E=y[r],i=U[4*r],u=U[4*r+1],a=U[4*r+2],S=U[4*r+3],O=S===o;if(A.getVec(i,M),A.getVec(u,l),O)(0,_.s)(L,D[3*a],D[3*a+1],D[3*a+2]),(0,_.c)(h,L),C.componentIndex=T.get(i),C.cosAngle=(0,_.j)(L,h);else{if((0,_.s)(L,D[3*a],D[3*a+1],D[3*a+2]),(0,_.s)(h,D[3*S],D[3*S+1],D[3*S+2]),C.componentIndex=T.get(i),C.cosAngle=(0,_.j)(L,h),N(C,f))continue;C.cosAngle<-.9999&&(0,_.c)(h,L)}m+=E,p++,O||R(C,I)?(n.write(d,F++,C),w.push(E)):c(C,s)&&(e.write(B,g++,C),b.push(E))}const V=new Float32Array(w.reverse()),v=new Float32Array(b.reverse());return{regular:{instancesData:n.trim(d,F),lodInfo:{lengths:V}},silhouette:{instancesData:e.trim(B,g),lodInfo:{lengths:v}},averageEdgeLength:m/p}}function R(t,n){return t.cosAngle<n}function N(t,n){return t.cosAngle>n}function c(t,n){const e=(0,E.Uj)(t.cosAngle),r=a.fwd,i=a.ortho;return(0,_.D)(r,t.position1,t.position0),e*((0,_.j)((0,_.b)(i,t.faceNormal0,t.faceNormal1),r)>0?-1:1)>n}function u(t){const n=t.faces.length/3,e=t.vertices.position,r=t.faces,E=S.v0,i=S.v1,o=S.v2,A=new Float32Array(3*n);for(let t=0;t<n;t++){const n=r[3*t],T=r[3*t+1],s=r[3*t+2];e.getVec(n,E),e.getVec(T,i),e.getVec(s,o),(0,_.f)(i,i,E),(0,_.f)(o,o,E),(0,_.b)(E,i,o),(0,_.n)(E,E),A[3*t]=E[0],A[3*t+1]=E[1],A[3*t+2]=E[2]}return A}(T=A||(A={}))[T.SOLID=0]="SOLID",T[T.SKETCH=1]="SKETCH";const a={edge:{position0:(0,i.Su)(),position1:(0,i.Su)(),faceNormal0:(0,i.Su)(),faceNormal1:(0,i.Su)(),componentIndex:0,cosAngle:0},ortho:(0,i.Su)(),fwd:(0,i.Su)()},S={v0:(0,i.Su)(),v1:(0,i.Su)(),v2:(0,i.Su)()},O={anglePlanar:4,angleSignificantEdge:35}},75980:(t,n,e)=>{e.d(n,{Aj:()=>d,or:()=>p,In:()=>F,qu:()=>m});var r=e(77080);function E(t,n,e){const r=n/3,E=new Uint32Array(e+1),_=new Uint32Array(e+1),i=(t,n)=>{t<n?E[t+1]++:_[n+1]++};for(let n=0;n<r;n++){const e=t[3*n],r=t[3*n+1],E=t[3*n+2];i(e,r),i(r,E),i(E,e)}let o=0,A=0;for(let t=0;t<e;t++){const n=E[t+1],e=_[t+1];E[t+1]=o,_[t+1]=A,o+=n,A+=e}const T=new Uint32Array(6*r),s=E[e],R=(t,n,e)=>{if(t<n){const r=E[t+1]++;T[2*r]=n,T[2*r+1]=e}else{const r=_[n+1]++;T[2*s+2*r]=t,T[2*s+2*r+1]=e}};for(let n=0;n<r;n++){const e=t[3*n],r=t[3*n+1],E=t[3*n+2];R(e,r,n),R(r,E,n),R(E,e,n)}const N=(t,n)=>{const e=2*t,r=n-t;for(let t=1;t<r;t++){const n=T[e+2*t],r=T[e+2*t+1];let E=t-1;for(;E>=0&&T[e+2*E]>n;E--)T[e+2*E+2]=T[e+2*E],T[e+2*E+3]=T[e+2*E+1];T[e+2*E+2]=n,T[e+2*E+3]=r}};for(let t=0;t<e;t++)N(E[t],E[t+1]),N(s+_[t],s+_[t+1]);const c=new Int32Array(3*r),u=(n,e)=>n===t[3*e]?0:n===t[3*e+1]?1:n===t[3*e+2]?2:-1,a=(t,n)=>{const e=u(t,n);c[3*n+e]=-1},S=(t,n,e,r)=>{const E=u(t,n);c[3*n+E]=r;const _=u(e,r);c[3*r+_]=n};for(let t=0;t<e;t++){let n=E[t];const e=E[t+1];let r=_[t];const i=_[t+1];for(;n<e&&r<i;){const e=T[2*n],E=T[2*s+2*r];e===E?(S(t,T[2*n+1],E,T[2*s+2*r+1]),n++,r++):e<E?(a(t,T[2*n+1]),n++):(a(E,T[2*s+2*r+1]),r++)}for(;n<e;)a(t,T[2*n+1]),n++;for(;r<i;)a(T[2*s+2*r],T[2*s+2*r+1]),r++}return c}var _=e(72364),i=e(4636),o=e(80036),A=e(72052),T=e(98472),s=e(62484),R=e(73440),N=e(53648);function c(t,n,e,r,E,_=2){const i=1/(Math.abs(e)+Math.abs(r)+Math.abs(E)),o=e*i,A=r*i,T=E<=0?(o>=0?1:-1)*(1-Math.abs(A)):o,s=E<=0?(A>=0?1:-1)*(1-Math.abs(o)):A,R=n*_;t[R]=u(T),t[R+1]=u(s)}function u(t){return(0,N.qk)(Math.round(32767*t),-32767,32767)}e(92896);class a{updateSettings(t){this.settings=t,this._edgeHashFunction=t.reducedPrecision?C:f}write(t,n,e){const r=this._edgeHashFunction(e);U.seed=r;const E=U.getIntRange(0,255),_=U.getIntRange(0,this.settings.variants-1),i=U.getFloat(),o=255*(.5*function(t,n){const e=t<0?-1:1;return Math.abs(t)**1.2*e}(-(1-Math.min(i/.7,1))+Math.max(0,i-.7)/(1-.7))+.5);t.position0.setVec(n,e.position0),t.position1.setVec(n,e.position1),t.componentIndex.set(n,e.componentIndex),t.variantOffset.set(n,E),t.variantStroke.set(n,_),t.variantExtension.set(n,o)}trim(t,n){return t.slice(0,n)}}const S=new Float32Array(6),O=new Uint32Array(S.buffer),I=new Uint32Array(1);function f(t){const n=S;n[0]=t.position0[0],n[1]=t.position0[1],n[2]=t.position0[2],n[3]=t.position1[0],n[4]=t.position1[1],n[5]=t.position1[2],I[0]=5381;for(let t=0;t<O.length;t++)I[0]=31*I[0]+O[t];return I[0]}function C(t){const n=S;n[0]=l(t.position0[0]),n[1]=l(t.position0[1]),n[2]=l(t.position0[2]),n[3]=l(t.position1[0]),n[4]=l(t.position1[1]),n[5]=l(t.position1[2]),I[0]=5381;for(let t=0;t<O.length;t++)I[0]=31*I[0]+O[t];return I[0]}const M=1e4;function l(t){return Math.round(t*M)/M}class L{constructor(){this._commonWriter=new a}updateSettings(t){this._commonWriter.updateSettings(t)}allocate(t){return o.sn.createBuffer(t)}write(t,n,e){this._commonWriter.write(t,n,e),(0,T.g)(D,e.faceNormal0,e.faceNormal1),(0,T.n)(D,D);const{typedBuffer:r,typedBufferStride:E}=t.normalCompressed;c(r,n,D[0],D[1],D[2],E)}trim(t,n){return this._commonWriter.trim(t,n)}}L.Layout=o.sn,L.glLayout=(0,R.W)(o.sn,1);class h{constructor(){this._commonWriter=new a}updateSettings(t){this._commonWriter.updateSettings(t)}allocate(t){return o.wj.createBuffer(t)}write(t,n,e){this._commonWriter.write(t,n,e);{const{typedBuffer:r,typedBufferStride:E}=t.normalCompressed;c(r,n,e.faceNormal0[0],e.faceNormal0[1],e.faceNormal0[2],E)}{const{typedBuffer:r,typedBufferStride:E}=t.normal2Compressed;c(r,n,e.faceNormal1[0],e.faceNormal1[1],e.faceNormal1[2],E)}}trim(t,n){return this._commonWriter.trim(t,n)}}h.Layout=o.wj,h.glLayout=(0,R.W)(o.wj,1);const D=(0,s.Su)(),U=new A.c;var P=e(79968);function d(t){const n=F(t.data,t.skipDeduplicate,t.indices,t.indicesLength);return B.updateSettings(t.writerSettings),g.updateSettings(t.writerSettings),(0,P.k)(n,B,g)}function F(t,n,e,_){if(n){const n=E(e,_,t.count);return new G(e,_,n,t)}const i=(0,r.g)(t.buffer,t.stride/4,{originalIndices:e,originalIndicesLength:_}),A=E(i.indices,_,i.uniqueCount);return{faces:i.indices,facesLength:i.indices.length,neighbors:A,vertices:o.If.createView(i.buffer)}}class G{constructor(t,n,e,r){this.faces=t,this.facesLength=n,this.neighbors=e,this.vertices=r}}const B=new L,g=new h,m=(0,_.iC)().vec3f(i.K.POSITION0).vec3f(i.K.POSITION1),p=(0,_.iC)().vec3f(i.K.POSITION0).vec3f(i.K.POSITION1).u16(i.K.COMPONENTINDEX)},91811:(t,n,e)=>{e.d(n,{q:()=>r});class r{constructor(t,n,e,r,E,_=!1,i=0){this.name=t,this.count=n,this.type=e,this.offset=r,this.stride=E,this.normalized=_,this.divisor=i}}},77800:(t,n,e)=>{var r,E,_,i,o,A,T,s,R,N,c,u,a,S,O,I,f,C,M,l,L,h,D;e.d(n,{Ck:()=>s,GE:()=>U,Gs:()=>M,Id:()=>S,K:()=>o,OK:()=>I,QD:()=>N,Qb:()=>f,Qx:()=>h,Qz:()=>u,SC:()=>A,UV:()=>O,Ud:()=>c,Uf:()=>E,YT:()=>i,_m:()=>C,c5:()=>a,et:()=>R,kl:()=>l,sl:()=>r,sr:()=>P,vs:()=>T,w$:()=>_,y4:()=>L}),function(t){t[t.DEPTH_BUFFER_BIT=256]="DEPTH_BUFFER_BIT",t[t.STENCIL_BUFFER_BIT=1024]="STENCIL_BUFFER_BIT",t[t.COLOR_BUFFER_BIT=16384]="COLOR_BUFFER_BIT"}(r||(r={})),function(t){t[t.POINTS=0]="POINTS",t[t.LINES=1]="LINES",t[t.LINE_LOOP=2]="LINE_LOOP",t[t.LINE_STRIP=3]="LINE_STRIP",t[t.TRIANGLES=4]="TRIANGLES",t[t.TRIANGLE_STRIP=5]="TRIANGLE_STRIP",t[t.TRIANGLE_FAN=6]="TRIANGLE_FAN"}(E||(E={})),function(t){t[t.ZERO=0]="ZERO",t[t.ONE=1]="ONE",t[t.SRC_COLOR=768]="SRC_COLOR",t[t.ONE_MINUS_SRC_COLOR=769]="ONE_MINUS_SRC_COLOR",t[t.SRC_ALPHA=770]="SRC_ALPHA",t[t.ONE_MINUS_SRC_ALPHA=771]="ONE_MINUS_SRC_ALPHA",t[t.DST_ALPHA=772]="DST_ALPHA",t[t.ONE_MINUS_DST_ALPHA=773]="ONE_MINUS_DST_ALPHA",t[t.DST_COLOR=774]="DST_COLOR",t[t.ONE_MINUS_DST_COLOR=775]="ONE_MINUS_DST_COLOR",t[t.SRC_ALPHA_SATURATE=776]="SRC_ALPHA_SATURATE",t[t.CONSTANT_COLOR=32769]="CONSTANT_COLOR",t[t.ONE_MINUS_CONSTANT_COLOR=32770]="ONE_MINUS_CONSTANT_COLOR",t[t.CONSTANT_ALPHA=32771]="CONSTANT_ALPHA",t[t.ONE_MINUS_CONSTANT_ALPHA=32772]="ONE_MINUS_CONSTANT_ALPHA"}(_||(_={})),function(t){t[t.ADD=32774]="ADD",t[t.MIN=32775]="MIN",t[t.MAX=32776]="MAX",t[t.SUBTRACT=32778]="SUBTRACT",t[t.REVERSE_SUBTRACT=32779]="REVERSE_SUBTRACT"}(i||(i={})),function(t){t[t.ARRAY_BUFFER=34962]="ARRAY_BUFFER",t[t.ELEMENT_ARRAY_BUFFER=34963]="ELEMENT_ARRAY_BUFFER",t[t.UNIFORM_BUFFER=35345]="UNIFORM_BUFFER",t[t.PIXEL_PACK_BUFFER=35051]="PIXEL_PACK_BUFFER",t[t.PIXEL_UNPACK_BUFFER=35052]="PIXEL_UNPACK_BUFFER",t[t.COPY_READ_BUFFER=36662]="COPY_READ_BUFFER",t[t.COPY_WRITE_BUFFER=36663]="COPY_WRITE_BUFFER",t[t.TRANSFORM_FEEDBACK_BUFFER=35982]="TRANSFORM_FEEDBACK_BUFFER"}(o||(o={})),function(t){t[t.FRONT=1028]="FRONT",t[t.BACK=1029]="BACK",t[t.FRONT_AND_BACK=1032]="FRONT_AND_BACK"}(A||(A={})),function(t){t[t.CW=2304]="CW",t[t.CCW=2305]="CCW"}(T||(T={})),function(t){t[t.BYTE=5120]="BYTE",t[t.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",t[t.SHORT=5122]="SHORT",t[t.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",t[t.INT=5124]="INT",t[t.UNSIGNED_INT=5125]="UNSIGNED_INT",t[t.FLOAT=5126]="FLOAT"}(s||(s={})),function(t){t[t.NEVER=512]="NEVER",t[t.LESS=513]="LESS",t[t.EQUAL=514]="EQUAL",t[t.LEQUAL=515]="LEQUAL",t[t.GREATER=516]="GREATER",t[t.NOTEQUAL=517]="NOTEQUAL",t[t.GEQUAL=518]="GEQUAL",t[t.ALWAYS=519]="ALWAYS"}(R||(R={})),function(t){t[t.ZERO=0]="ZERO",t[t.KEEP=7680]="KEEP",t[t.REPLACE=7681]="REPLACE",t[t.INCR=7682]="INCR",t[t.DECR=7683]="DECR",t[t.INVERT=5386]="INVERT",t[t.INCR_WRAP=34055]="INCR_WRAP",t[t.DECR_WRAP=34056]="DECR_WRAP"}(N||(N={})),function(t){t[t.NEAREST=9728]="NEAREST",t[t.LINEAR=9729]="LINEAR",t[t.NEAREST_MIPMAP_NEAREST=9984]="NEAREST_MIPMAP_NEAREST",t[t.LINEAR_MIPMAP_NEAREST=9985]="LINEAR_MIPMAP_NEAREST",t[t.NEAREST_MIPMAP_LINEAR=9986]="NEAREST_MIPMAP_LINEAR",t[t.LINEAR_MIPMAP_LINEAR=9987]="LINEAR_MIPMAP_LINEAR"}(c||(c={})),function(t){t[t.CLAMP_TO_EDGE=33071]="CLAMP_TO_EDGE",t[t.REPEAT=10497]="REPEAT",t[t.MIRRORED_REPEAT=33648]="MIRRORED_REPEAT"}(u||(u={})),function(t){t[t.TEXTURE_2D=3553]="TEXTURE_2D",t[t.TEXTURE_CUBE_MAP=34067]="TEXTURE_CUBE_MAP",t[t.TEXTURE_3D=32879]="TEXTURE_3D",t[t.TEXTURE_CUBE_MAP_POSITIVE_X=34069]="TEXTURE_CUBE_MAP_POSITIVE_X",t[t.TEXTURE_CUBE_MAP_NEGATIVE_X=34070]="TEXTURE_CUBE_MAP_NEGATIVE_X",t[t.TEXTURE_CUBE_MAP_POSITIVE_Y=34071]="TEXTURE_CUBE_MAP_POSITIVE_Y",t[t.TEXTURE_CUBE_MAP_NEGATIVE_Y=34072]="TEXTURE_CUBE_MAP_NEGATIVE_Y",t[t.TEXTURE_CUBE_MAP_POSITIVE_Z=34073]="TEXTURE_CUBE_MAP_POSITIVE_Z",t[t.TEXTURE_CUBE_MAP_NEGATIVE_Z=34074]="TEXTURE_CUBE_MAP_NEGATIVE_Z",t[t.TEXTURE_2D_ARRAY=35866]="TEXTURE_2D_ARRAY"}(a||(a={})),function(t){t[t.DEPTH_COMPONENT=6402]="DEPTH_COMPONENT",t[t.DEPTH_STENCIL=34041]="DEPTH_STENCIL",t[t.DEPTH24_STENCIL8=35056]="DEPTH24_STENCIL8",t[t.ALPHA=6406]="ALPHA",t[t.RGB=6407]="RGB",t[t.RGBA=6408]="RGBA",t[t.LUMINANCE=6409]="LUMINANCE",t[t.LUMINANCE_ALPHA=6410]="LUMINANCE_ALPHA",t[t.RED=6403]="RED",t[t.RG=33319]="RG",t[t.RED_INTEGER=36244]="RED_INTEGER",t[t.RG_INTEGER=33320]="RG_INTEGER",t[t.RGB_INTEGER=36248]="RGB_INTEGER",t[t.RGBA_INTEGER=36249]="RGBA_INTEGER"}(S||(S={})),function(t){t[t.RGBA4=32854]="RGBA4",t[t.R16F=33325]="R16F",t[t.RG16F=33327]="RG16F",t[t.RGB32F=34837]="RGB32F",t[t.RGBA16F=34842]="RGBA16F",t[t.R32F=33326]="R32F",t[t.RG32F=33328]="RG32F",t[t.RGBA32F=34836]="RGBA32F",t[t.R11F_G11F_B10F=35898]="R11F_G11F_B10F",t[t.RGB8=32849]="RGB8",t[t.RGBA8=32856]="RGBA8",t[t.RGB5_A1=32855]="RGB5_A1",t[t.R8=33321]="R8",t[t.RG8=33323]="RG8",t[t.R8I=33329]="R8I",t[t.R8UI=33330]="R8UI",t[t.R16I=33331]="R16I",t[t.R16UI=33332]="R16UI",t[t.R32I=33333]="R32I",t[t.R32UI=33334]="R32UI",t[t.RG8I=33335]="RG8I",t[t.RG8UI=33336]="RG8UI",t[t.RG16I=33337]="RG16I",t[t.RG16UI=33338]="RG16UI",t[t.RG32I=33339]="RG32I",t[t.RG32UI=33340]="RG32UI",t[t.RGB16F=34843]="RGB16F",t[t.RGB9_E5=35901]="RGB9_E5",t[t.SRGB8=35905]="SRGB8",t[t.SRGB8_ALPHA8=35907]="SRGB8_ALPHA8",t[t.RGB565=36194]="RGB565",t[t.RGBA32UI=36208]="RGBA32UI",t[t.RGB32UI=36209]="RGB32UI",t[t.RGBA16UI=36214]="RGBA16UI",t[t.RGB16UI=36215]="RGB16UI",t[t.RGBA8UI=36220]="RGBA8UI",t[t.RGB8UI=36221]="RGB8UI",t[t.RGBA32I=36226]="RGBA32I",t[t.RGB32I=36227]="RGB32I",t[t.RGBA16I=36232]="RGBA16I",t[t.RGB16I=36233]="RGB16I",t[t.RGBA8I=36238]="RGBA8I",t[t.RGB8I=36239]="RGB8I",t[t.R8_SNORM=36756]="R8_SNORM",t[t.RG8_SNORM=36757]="RG8_SNORM",t[t.RGB8_SNORM=36758]="RGB8_SNORM",t[t.RGBA8_SNORM=36759]="RGBA8_SNORM",t[t.RGB10_A2=32857]="RGB10_A2",t[t.RGB10_A2UI=36975]="RGB10_A2UI"}(O||(O={})),function(t){t[t.FLOAT=5126]="FLOAT",t[t.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",t[t.UNSIGNED_INT_24_8=34042]="UNSIGNED_INT_24_8",t[t.UNSIGNED_SHORT_4_4_4_4=32819]="UNSIGNED_SHORT_4_4_4_4",t[t.UNSIGNED_SHORT_5_5_5_1=32820]="UNSIGNED_SHORT_5_5_5_1",t[t.UNSIGNED_SHORT_5_6_5=33635]="UNSIGNED_SHORT_5_6_5",t[t.BYTE=5120]="BYTE",t[t.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",t[t.SHORT=5122]="SHORT",t[t.UNSIGNED_INT=5125]="UNSIGNED_INT",t[t.INT=5124]="INT",t[t.HALF_FLOAT=5131]="HALF_FLOAT",t[t.UNSIGNED_INT_2_10_10_10_REV=33640]="UNSIGNED_INT_2_10_10_10_REV",t[t.UNSIGNED_INT_10F_11F_11F_REV=35899]="UNSIGNED_INT_10F_11F_11F_REV",t[t.UNSIGNED_INT_5_9_9_9_REV=35902]="UNSIGNED_INT_5_9_9_9_REV",t[t.FLOAT_32_UNSIGNED_INT_24_8_REV=36269]="FLOAT_32_UNSIGNED_INT_24_8_REV"}(I||(I={})),function(t){t[t.DEPTH_COMPONENT16=33189]="DEPTH_COMPONENT16",t[t.STENCIL_INDEX8=36168]="STENCIL_INDEX8",t[t.DEPTH_STENCIL=34041]="DEPTH_STENCIL",t[t.DEPTH_COMPONENT24=33190]="DEPTH_COMPONENT24",t[t.DEPTH_COMPONENT32F=36012]="DEPTH_COMPONENT32F",t[t.DEPTH24_STENCIL8=35056]="DEPTH24_STENCIL8",t[t.DEPTH32F_STENCIL8=36013]="DEPTH32F_STENCIL8"}(f||(f={})),function(t){t[t.STATIC_DRAW=35044]="STATIC_DRAW",t[t.DYNAMIC_DRAW=35048]="DYNAMIC_DRAW",t[t.STREAM_DRAW=35040]="STREAM_DRAW",t[t.STATIC_READ=35045]="STATIC_READ",t[t.DYNAMIC_READ=35049]="DYNAMIC_READ",t[t.STREAM_READ=35041]="STREAM_READ",t[t.STATIC_COPY=35046]="STATIC_COPY",t[t.DYNAMIC_COPY=35050]="DYNAMIC_COPY",t[t.STREAM_COPY=35042]="STREAM_COPY"}(C||(C={})),function(t){t[t.FRAGMENT_SHADER=35632]="FRAGMENT_SHADER",t[t.VERTEX_SHADER=35633]="VERTEX_SHADER"}(M||(M={})),function(t){t[t.FRAMEBUFFER=36160]="FRAMEBUFFER",t[t.READ_FRAMEBUFFER=36008]="READ_FRAMEBUFFER",t[t.DRAW_FRAMEBUFFER=36009]="DRAW_FRAMEBUFFER"}(l||(l={})),function(t){t[t.Texture=0]="Texture",t[t.BufferObject=1]="BufferObject",t[t.VertexArrayObject=2]="VertexArrayObject",t[t.Shader=3]="Shader",t[t.Program=4]="Program",t[t.FramebufferObject=5]="FramebufferObject",t[t.Renderbuffer=6]="Renderbuffer",t[t.TransformFeedback=7]="TransformFeedback",t[t.Sync=8]="Sync",t[t.UNCOUNTED=9]="UNCOUNTED",t[t.LinesOfCode=9]="LinesOfCode",t[t.Uniform=10]="Uniform",t[t.COUNT=11]="COUNT"}(L||(L={})),function(t){t[t.COLOR_ATTACHMENT0=36064]="COLOR_ATTACHMENT0",t[t.COLOR_ATTACHMENT1=36065]="COLOR_ATTACHMENT1",t[t.COLOR_ATTACHMENT2=36066]="COLOR_ATTACHMENT2",t[t.COLOR_ATTACHMENT3=36067]="COLOR_ATTACHMENT3",t[t.COLOR_ATTACHMENT4=36068]="COLOR_ATTACHMENT4",t[t.COLOR_ATTACHMENT5=36069]="COLOR_ATTACHMENT5",t[t.COLOR_ATTACHMENT6=36070]="COLOR_ATTACHMENT6",t[t.COLOR_ATTACHMENT7=36071]="COLOR_ATTACHMENT7",t[t.COLOR_ATTACHMENT8=36072]="COLOR_ATTACHMENT8",t[t.COLOR_ATTACHMENT9=36073]="COLOR_ATTACHMENT9",t[t.COLOR_ATTACHMENT10=36074]="COLOR_ATTACHMENT10",t[t.COLOR_ATTACHMENT11=36075]="COLOR_ATTACHMENT11",t[t.COLOR_ATTACHMENT12=36076]="COLOR_ATTACHMENT12",t[t.COLOR_ATTACHMENT13=36077]="COLOR_ATTACHMENT13",t[t.COLOR_ATTACHMENT14=36078]="COLOR_ATTACHMENT14",t[t.COLOR_ATTACHMENT15=36079]="COLOR_ATTACHMENT15"}(h||(h={})),function(t){t[t.NONE=0]="NONE",t[t.BACK=1029]="BACK"}(D||(D={}));const U=33306;var P,d,F,G,B,g,m;!function(t){t[t.COMPRESSED_RGB_S3TC_DXT1_EXT=33776]="COMPRESSED_RGB_S3TC_DXT1_EXT",t[t.COMPRESSED_RGBA_S3TC_DXT1_EXT=33777]="COMPRESSED_RGBA_S3TC_DXT1_EXT",t[t.COMPRESSED_RGBA_S3TC_DXT3_EXT=33778]="COMPRESSED_RGBA_S3TC_DXT3_EXT",t[t.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779]="COMPRESSED_RGBA_S3TC_DXT5_EXT",t[t.COMPRESSED_R11_EAC=37488]="COMPRESSED_R11_EAC",t[t.COMPRESSED_SIGNED_R11_EAC=37489]="COMPRESSED_SIGNED_R11_EAC",t[t.COMPRESSED_RG11_EAC=37490]="COMPRESSED_RG11_EAC",t[t.COMPRESSED_SIGNED_RG11_EAC=37491]="COMPRESSED_SIGNED_RG11_EAC",t[t.COMPRESSED_RGB8_ETC2=37492]="COMPRESSED_RGB8_ETC2",t[t.COMPRESSED_SRGB8_ETC2=37493]="COMPRESSED_SRGB8_ETC2",t[t.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2=37494]="COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2",t[t.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2=37495]="COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2",t[t.COMPRESSED_RGBA8_ETC2_EAC=37496]="COMPRESSED_RGBA8_ETC2_EAC",t[t.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC=37497]="COMPRESSED_SRGB8_ALPHA8_ETC2_EAC"}(P||(P={})),function(t){t[t.FLOAT=5126]="FLOAT",t[t.FLOAT_VEC2=35664]="FLOAT_VEC2",t[t.FLOAT_VEC3=35665]="FLOAT_VEC3",t[t.FLOAT_VEC4=35666]="FLOAT_VEC4",t[t.INT=5124]="INT",t[t.INT_VEC2=35667]="INT_VEC2",t[t.INT_VEC3=35668]="INT_VEC3",t[t.INT_VEC4=35669]="INT_VEC4",t[t.BOOL=35670]="BOOL",t[t.BOOL_VEC2=35671]="BOOL_VEC2",t[t.BOOL_VEC3=35672]="BOOL_VEC3",t[t.BOOL_VEC4=35673]="BOOL_VEC4",t[t.FLOAT_MAT2=35674]="FLOAT_MAT2",t[t.FLOAT_MAT3=35675]="FLOAT_MAT3",t[t.FLOAT_MAT4=35676]="FLOAT_MAT4",t[t.SAMPLER_2D=35678]="SAMPLER_2D",t[t.SAMPLER_CUBE=35680]="SAMPLER_CUBE",t[t.UNSIGNED_INT=5125]="UNSIGNED_INT",t[t.UNSIGNED_INT_VEC2=36294]="UNSIGNED_INT_VEC2",t[t.UNSIGNED_INT_VEC3=36295]="UNSIGNED_INT_VEC3",t[t.UNSIGNED_INT_VEC4=36296]="UNSIGNED_INT_VEC4",t[t.FLOAT_MAT2x3=35685]="FLOAT_MAT2x3",t[t.FLOAT_MAT2x4=35686]="FLOAT_MAT2x4",t[t.FLOAT_MAT3x2=35687]="FLOAT_MAT3x2",t[t.FLOAT_MAT3x4=35688]="FLOAT_MAT3x4",t[t.FLOAT_MAT4x2=35689]="FLOAT_MAT4x2",t[t.FLOAT_MAT4x3=35690]="FLOAT_MAT4x3",t[t.SAMPLER_3D=35679]="SAMPLER_3D",t[t.SAMPLER_2D_SHADOW=35682]="SAMPLER_2D_SHADOW",t[t.SAMPLER_2D_ARRAY=36289]="SAMPLER_2D_ARRAY",t[t.SAMPLER_2D_ARRAY_SHADOW=36292]="SAMPLER_2D_ARRAY_SHADOW",t[t.SAMPLER_CUBE_SHADOW=36293]="SAMPLER_CUBE_SHADOW",t[t.INT_SAMPLER_2D=36298]="INT_SAMPLER_2D",t[t.INT_SAMPLER_3D=36299]="INT_SAMPLER_3D",t[t.INT_SAMPLER_CUBE=36300]="INT_SAMPLER_CUBE",t[t.INT_SAMPLER_2D_ARRAY=36303]="INT_SAMPLER_2D_ARRAY",t[t.UNSIGNED_INT_SAMPLER_2D=36306]="UNSIGNED_INT_SAMPLER_2D",t[t.UNSIGNED_INT_SAMPLER_3D=36307]="UNSIGNED_INT_SAMPLER_3D",t[t.UNSIGNED_INT_SAMPLER_CUBE=36308]="UNSIGNED_INT_SAMPLER_CUBE",t[t.UNSIGNED_INT_SAMPLER_2D_ARRAY=36311]="UNSIGNED_INT_SAMPLER_2D_ARRAY"}(d||(d={})),function(t){t[t.OBJECT_TYPE=37138]="OBJECT_TYPE",t[t.SYNC_CONDITION=37139]="SYNC_CONDITION",t[t.SYNC_STATUS=37140]="SYNC_STATUS",t[t.SYNC_FLAGS=37141]="SYNC_FLAGS"}(F||(F={})),function(t){t[t.UNSIGNALED=37144]="UNSIGNALED",t[t.SIGNALED=37145]="SIGNALED"}(G||(G={})),function(t){t[t.ALREADY_SIGNALED=37146]="ALREADY_SIGNALED",t[t.TIMEOUT_EXPIRED=37147]="TIMEOUT_EXPIRED",t[t.CONDITION_SATISFIED=37148]="CONDITION_SATISFIED",t[t.WAIT_FAILED=37149]="WAIT_FAILED"}(B||(B={})),function(t){t[t.SYNC_GPU_COMMANDS_COMPLETE=37143]="SYNC_GPU_COMMANDS_COMPLETE"}(g||(g={})),function(t){t[t.SYNC_FLUSH_COMMANDS_BIT=1]="SYNC_FLUSH_COMMANDS_BIT"}(m||(m={}))}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[9944],{98472:(t,n,e)=>{e.d(n,{A:()=>c,B:()=>M,C:()=>O,D:()=>S,G:()=>f,a:()=>p,b:()=>v,c:()=>o,e:()=>V,f:()=>l,g:()=>u,h:()=>g,i:()=>A,j:()=>y,k:()=>B,l:()=>a,m:()=>q,n:()=>b,o:()=>w,p:()=>k,q:()=>x,r:()=>I,s:()=>s,t:()=>U,u:()=>h,v:()=>Y,w:()=>T,x:()=>d,y:()=>E,z:()=>m});var r=e(62484),i=e(47364);function a(t){const n=t[0],e=t[1],r=t[2];return Math.sqrt(n*n+e*e+r*r)}function o(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t}function s(t,n,e,r){return t[0]=n,t[1]=e,t[2]=r,t}function u(t,n,e){return t[0]=n[0]+e[0],t[1]=n[1]+e[1],t[2]=n[2]+e[2],t}function l(t,n,e){return t[0]=n[0]-e[0],t[1]=n[1]-e[1],t[2]=n[2]-e[2],t}function c(t,n,e){return t[0]=n[0]*e[0],t[1]=n[1]*e[1],t[2]=n[2]*e[2],t}function f(t,n,e){return t[0]=n[0]/e[0],t[1]=n[1]/e[1],t[2]=n[2]/e[2],t}function h(t,n){return t[0]=Math.abs(n[0]),t[1]=Math.abs(n[1]),t[2]=Math.abs(n[2]),t}function m(t,n){return t[0]=Math.sign(n[0]),t[1]=Math.sign(n[1]),t[2]=Math.sign(n[2]),t}function d(t,n,e){return t[0]=Math.min(n[0],e[0]),t[1]=Math.min(n[1],e[1]),t[2]=Math.min(n[2],e[2]),t}function M(t,n,e){return t[0]=Math.max(n[0],e[0]),t[1]=Math.max(n[1],e[1]),t[2]=Math.max(n[2],e[2]),t}function g(t,n,e){return t[0]=n[0]*e,t[1]=n[1]*e,t[2]=n[2]*e,t}function x(t,n,e,r){return t[0]=n[0]+e[0]*r,t[1]=n[1]+e[1]*r,t[2]=n[2]+e[2]*r,t}function k(t,n){const e=n[0]-t[0],r=n[1]-t[1],i=n[2]-t[2];return Math.sqrt(e*e+r*r+i*i)}function p(t,n){const e=n[0]-t[0],r=n[1]-t[1],i=n[2]-t[2];return e*e+r*r+i*i}function w(t){const n=t[0],e=t[1],r=t[2];return n*n+e*e+r*r}function b(t,n){const e=n[0],r=n[1],i=n[2];let a=e*e+r*r+i*i;return a>0&&(a=1/Math.sqrt(a),t[0]=n[0]*a,t[1]=n[1]*a,t[2]=n[2]*a),t}function y(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function v(t,n,e){const r=n[0],i=n[1],a=n[2],o=e[0],s=e[1],u=e[2];return t[0]=i*u-a*s,t[1]=a*o-r*u,t[2]=r*s-i*o,t}function B(t,n,e,r){const i=n[0],a=n[1],o=n[2];return t[0]=i+r*(e[0]-i),t[1]=a+r*(e[1]-a),t[2]=o+r*(e[2]-o),t}function V(t,n,e){const r=n[0],i=n[1],a=n[2];return t[0]=e[0]*r+e[4]*i+e[8]*a+e[12],t[1]=e[1]*r+e[5]*i+e[9]*a+e[13],t[2]=e[2]*r+e[6]*i+e[10]*a+e[14],t}function U(t,n,e){const r=n[0],i=n[1],a=n[2];return t[0]=r*e[0]+i*e[3]+a*e[6],t[1]=r*e[1]+i*e[4]+a*e[7],t[2]=r*e[2]+i*e[5]+a*e[8],t}function I(t,n,e){const r=e[0],i=e[1],a=e[2],o=e[3],s=n[0],u=n[1],l=n[2],c=i*l-a*u,f=a*s-r*l,h=r*u-i*s,m=i*h-a*f,d=a*c-r*h,M=r*f-i*c,g=2*o;return t[0]=s+c*g+2*m,t[1]=u+f*g+2*d,t[2]=l+h*g+2*M,t}const D=(0,r.Su)(),P=(0,r.Su)();function A(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]}function S(t,n,e){const r=e[0]-n[0],i=e[1]-n[1],a=e[2]-n[2];let o=r*r+i*i+a*a;return o>0?(o=1/Math.sqrt(o),t[0]=r*o,t[1]=i*o,t[2]=a*o,t):(t[0]=0,t[1]=0,t[2]=0,t)}const E=l,_=c,F=f,q=k,Y=p,O=a,T=w;Object.freeze(Object.defineProperty({__proto__:null,abs:h,add:u,angle:function(t,n){b(D,t),b(P,n);const e=y(D,P);return e>1?0:e<-1?Math.PI:Math.acos(e)},bezier:function(t,n,e,r,i,a){const o=1-a,s=o*o,u=a*a,l=s*o,c=3*a*s,f=3*u*o,h=u*a;return t[0]=n[0]*l+e[0]*c+r[0]*f+i[0]*h,t[1]=n[1]*l+e[1]*c+r[1]*f+i[1]*h,t[2]=n[2]*l+e[2]*c+r[2]*f+i[2]*h,t},ceil:function(t,n){return t[0]=Math.ceil(n[0]),t[1]=Math.ceil(n[1]),t[2]=Math.ceil(n[2]),t},copy:o,cross:v,direction:S,dist:q,distance:k,div:F,divide:f,dot:y,equals:function(t,n){if(t===n)return!0;const e=t[0],r=t[1],a=t[2],o=n[0],s=n[1],u=n[2],l=(0,i.Au)();return Math.abs(e-o)<=l*Math.max(1,Math.abs(e),Math.abs(o))&&Math.abs(r-s)<=l*Math.max(1,Math.abs(r),Math.abs(s))&&Math.abs(a-u)<=l*Math.max(1,Math.abs(a),Math.abs(u))},exactEquals:A,floor:function(t,n){return t[0]=Math.floor(n[0]),t[1]=Math.floor(n[1]),t[2]=Math.floor(n[2]),t},hermite:function(t,n,e,r,i,a){const o=a*a,s=o*(2*a-3)+1,u=o*(a-2)+a,l=o*(a-1),c=o*(3-2*a);return t[0]=n[0]*s+e[0]*u+r[0]*l+i[0]*c,t[1]=n[1]*s+e[1]*u+r[1]*l+i[1]*c,t[2]=n[2]*s+e[2]*u+r[2]*l+i[2]*c,t},inverse:function(t,n){return t[0]=1/n[0],t[1]=1/n[1],t[2]=1/n[2],t},len:O,length:a,lerp:B,max:M,min:d,mul:_,multiply:c,negate:function(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t},normalize:b,random:function(t,n){n=n||1;const e=i.QR,r=2*e()*Math.PI,a=2*e()-1,o=Math.sqrt(1-a*a)*n;return t[0]=Math.cos(r)*o,t[1]=Math.sin(r)*o,t[2]=a*n,t},rotateX:function(t,n,e,r){const i=[],a=[];return i[0]=n[0]-e[0],i[1]=n[1]-e[1],i[2]=n[2]-e[2],a[0]=i[0],a[1]=i[1]*Math.cos(r)-i[2]*Math.sin(r),a[2]=i[1]*Math.sin(r)+i[2]*Math.cos(r),t[0]=a[0]+e[0],t[1]=a[1]+e[1],t[2]=a[2]+e[2],t},rotateY:function(t,n,e,r){const i=[],a=[];return i[0]=n[0]-e[0],i[1]=n[1]-e[1],i[2]=n[2]-e[2],a[0]=i[2]*Math.sin(r)+i[0]*Math.cos(r),a[1]=i[1],a[2]=i[2]*Math.cos(r)-i[0]*Math.sin(r),t[0]=a[0]+e[0],t[1]=a[1]+e[1],t[2]=a[2]+e[2],t},rotateZ:function(t,n,e,r){const i=[],a=[];return i[0]=n[0]-e[0],i[1]=n[1]-e[1],i[2]=n[2]-e[2],a[0]=i[0]*Math.cos(r)-i[1]*Math.sin(r),a[1]=i[0]*Math.sin(r)+i[1]*Math.cos(r),a[2]=i[2],t[0]=a[0]+e[0],t[1]=a[1]+e[1],t[2]=a[2]+e[2],t},round:function(t,n){return t[0]=Math.round(n[0]),t[1]=Math.round(n[1]),t[2]=Math.round(n[2]),t},scale:g,scaleAndAdd:x,set:s,sign:m,sqrDist:Y,sqrLen:T,squaredDistance:p,squaredLength:w,str:function(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"},sub:E,subtract:l,transformMat3:U,transformMat4:V,transformQuat:I},Symbol.toStringTag,{value:"Module"}))},62484:(t,n,e)=>{function r(){return[0,0,0]}function i(t){return[t[0],t[1],t[2]]}function a(t,n,e){return[t,n,e]}function o(t,n=[0,0,0]){const e=Math.min(3,t.length);for(let r=0;r<e;++r)n[r]=t[r];return n}function s(){return a(1,1,1)}function u(){return a(1,0,0)}function l(){return a(0,1,0)}function c(){return a(0,0,1)}e.d(n,{IR:()=>d,Qw:()=>h,Su:()=>r,UV:()=>m,WK:()=>a,cX:()=>f,ct:()=>i,eu:()=>o,wx:()=>M});const f=[0,0,0],h=s(),m=u(),d=l(),M=c();Object.freeze(Object.defineProperty({__proto__:null,ONES:h,UNIT_X:m,UNIT_Y:d,UNIT_Z:M,ZEROS:f,clone:i,create:r,createView:function(t,n){return new Float64Array(t,n,3)},fromArray:o,fromValues:a,ones:s,unitX:u,unitY:l,unitZ:c,zeros:function(){return[0,0,0]}},Symbol.toStringTag,{value:"Module"}))},47364:(t,n,e)=>{e.d(n,{Af:()=>u,Au:()=>i,QR:()=>a,Yf:()=>l});let r=1e-6;function i(){return r}const a=Math.random,o=Math.PI/180,s=180/Math.PI;function u(t){return t*o}function l(t){return t*s}Object.freeze(Object.defineProperty({__proto__:null,RANDOM:a,equals:function(t,n){return Math.abs(t-n)<=r*Math.max(1,Math.abs(t),Math.abs(n))},getEpsilon:i,setEpsilon:function(t){r=t},toDegree:l,toRadian:u},Symbol.toStringTag,{value:"Module"}))},53648:(t,n,e)=>{e.d(n,{Cq:()=>s,EF:()=>l,Iv:()=>k,SE:()=>w,UB:()=>c,Uj:()=>f,aU:()=>u,gJ:()=>g,gP:()=>m,ig:()=>p,qk:()=>o,sj:()=>h,w7:()=>a});var r=e(98472);const i=new Float32Array(1);function a(t){--t;for(let n=1;n<32;n<<=1)t|=t>>n;return t+1}function o(t,n,e){return Math.min(Math.max(t,n),e)}function s(t,n,e){return t+(n-t)*e}function u(t,n,e,r,i){return s(r,i,(t-n)/(e-n))}function l(t){return t*Math.PI/180}function c(t){return 180*t/Math.PI}function f(t){return Math.acos(o(t,-1,1))}function h(t){return Math.asin(o(t,-1,1))}function m(t,n,e=1e-6){return t===n||!(!Number.isFinite(t)||!Number.isFinite(n))&&(t>n?t-n:n-t)<=e}const d=new DataView(new ArrayBuffer(Float64Array.BYTES_PER_ELEMENT));const M=BigInt("1000000");function g(t){return x(Math.max(-w,Math.min(t,w)))}function x(t){return i[0]=t,i[0]}function k(t,n){const e=(0,r.l)(t),i=h(t[2]/e),a=Math.atan2(t[1]/e,t[0]/e);return(0,r.s)(n,e,i,a),n}function p(t){const n=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],e=t[3]*t[3]+t[4]*t[4]+t[5]*t[5],r=t[6]*t[6]+t[7]*t[7]+t[8]*t[8];return!(m(n,1)&&m(e,1)&&m(r,1))}!function(t){const n=function(t){return d.setFloat64(0,t),d.getBigInt64(0)}(t=Math.abs(t)),e=function(t){return d.setBigInt64(0,t),d.getFloat64(0)}(n<=M?M:n-M);Math.abs(t-e)}(1);const w=x(34028234663852886e22)},69944:(t,n,e)=>{e.r(n),e.d(n,{default:()=>h});var r=e(53648),i={};i.defaultNoDataValue=(0,r.gJ)(-1/0),i.decode=function(t,n){var e=(n=n||{}).encodedMaskData||null===n.encodedMaskData,l=u(t,n.inputOffset||0,e),c=null!=n.noDataValue?(0,r.gJ)(n.noDataValue):i.defaultNoDataValue,f=a(l,n.pixelType||Float32Array,n.encodedMaskData,c,n.returnMask),h={width:l.width,height:l.height,pixelData:f.resultPixels,minValue:l.pixels.minValue,maxValue:l.pixels.maxValue,noDataValue:c};return f.resultMask&&(h.maskData=f.resultMask),n.returnEncodedMask&&l.mask&&(h.encodedMaskData=l.mask.bitset?l.mask.bitset:null),n.returnFileInfo&&(h.fileInfo=o(l,c),n.computeUsedBitDepths&&(h.fileInfo.bitDepths=s(l))),h};var a=function(t,n,e,r,i){var a,o,s=0,u=t.pixels.numBlocksX,c=t.pixels.numBlocksY,f=Math.floor(t.width/u),h=Math.floor(t.height/c),m=2*t.maxZError;e=e||(t.mask?t.mask.bitset:null),a=new n(t.width*t.height),i&&e&&(o=new Uint8Array(t.width*t.height));for(var d,M,g=new Float32Array(f*h),x=0;x<=c;x++){var k=x!==c?h:t.height%c;if(0!==k)for(var p=0;p<=u;p++){var w=p!==u?f:t.width%u;if(0!==w){var b,y,v,B,V=x*t.width*h+p*f,U=t.width-w,I=t.pixels.blocks[s];if(I.encoding<2?(0===I.encoding?b=I.rawData:(l(I.stuffedData,I.bitsPerPixel,I.numValidPixels,I.offset,m,g,t.pixels.maxValue),b=g),y=0):v=2===I.encoding?0:I.offset,e)for(M=0;M<k;M++){for(7&V&&(B=e[V>>3],B<<=7&V),d=0;d<w;d++)7&V||(B=e[V>>3]),128&B?(o&&(o[V]=1),a[V++]=I.encoding<2?b[y++]:v):(o&&(o[V]=0),a[V++]=r),B<<=1;V+=U}else if(I.encoding<2)for(M=0;M<k;M++){for(d=0;d<w;d++)a[V++]=b[y++];V+=U}else for(M=0;M<k;M++)if(a.fill)a.fill(v,V,V+w),V+=w+U;else{for(d=0;d<w;d++)a[V++]=v;V+=U}if(1===I.encoding&&y!==I.numValidPixels)throw"Block and Mask do not match";s++}}}return{resultPixels:a,resultMask:o}},o=function(t,n){return{fileIdentifierString:t.fileIdentifierString,fileVersion:t.fileVersion,imageType:t.imageType,height:t.height,width:t.width,maxZError:t.maxZError,eofOffset:t.eofOffset,mask:t.mask?{numBlocksX:t.mask.numBlocksX,numBlocksY:t.mask.numBlocksY,numBytes:t.mask.numBytes,maxValue:t.mask.maxValue}:null,pixels:{numBlocksX:t.pixels.numBlocksX,numBlocksY:t.pixels.numBlocksY,numBytes:t.pixels.numBytes,maxValue:t.pixels.maxValue,minValue:t.pixels.minValue,noDataValue:n}}},s=function(t){for(var n=t.pixels.numBlocksX*t.pixels.numBlocksY,e={},r=0;r<n;r++){var i=t.pixels.blocks[r];0===i.encoding?e.float32=!0:1===i.encoding?e[i.bitsPerPixel]=!0:e[0]=!0}return Object.keys(e)},u=function(t,n,e){var r={},i=new Uint8Array(t,n,10);if(r.fileIdentifierString=String.fromCharCode.apply(null,i),"CntZImage"!=r.fileIdentifierString.trim())throw"Unexpected file identifier string: "+r.fileIdentifierString;n+=10;var a=new DataView(t,n,24);if(r.fileVersion=a.getInt32(0,!0),r.imageType=a.getInt32(4,!0),r.height=a.getUint32(8,!0),r.width=a.getUint32(12,!0),r.maxZError=a.getFloat64(16,!0),n+=24,!e)if(a=new DataView(t,n,16),r.mask={},r.mask.numBlocksY=a.getUint32(0,!0),r.mask.numBlocksX=a.getUint32(4,!0),r.mask.numBytes=a.getUint32(8,!0),r.mask.maxValue=a.getFloat32(12,!0),n+=16,r.mask.numBytes>0){var o=new Uint8Array(Math.ceil(r.width*r.height/8)),s=(a=new DataView(t,n,r.mask.numBytes)).getInt16(0,!0),u=2,l=0;do{if(s>0)for(;s--;)o[l++]=a.getUint8(u++);else{var c=a.getUint8(u++);for(s=-s;s--;)o[l++]=c}s=a.getInt16(u,!0),u+=2}while(u<r.mask.numBytes);if(-32768!==s||l<o.length)throw"Unexpected end of mask RLE encoding";r.mask.bitset=o,n+=r.mask.numBytes}else 0==(r.mask.numBytes|r.mask.numBlocksY|r.mask.maxValue)&&(o=new Uint8Array(Math.ceil(r.width*r.height/8)),r.mask.bitset=o);a=new DataView(t,n,16),r.pixels={},r.pixels.numBlocksY=a.getUint32(0,!0),r.pixels.numBlocksX=a.getUint32(4,!0),r.pixels.numBytes=a.getUint32(8,!0),r.pixels.maxValue=a.getFloat32(12,!0),n+=16;var f=r.pixels.numBlocksX,h=r.pixels.numBlocksY,m=f+(r.width%f>0?1:0),d=h+(r.height%h>0?1:0);r.pixels.blocks=new Array(m*d);for(var M=1e9,g=0,x=0;x<d;x++)for(var k=0;k<m;k++){var p=0,w=t.byteLength-n;a=new DataView(t,n,Math.min(10,w));var b={};r.pixels.blocks[g++]=b;var y=a.getUint8(0);if(p++,b.encoding=63&y,b.encoding>3)throw"Invalid block encoding ("+b.encoding+")";if(2!==b.encoding){if(0!==y&&2!==y){if(y>>=6,b.offsetType=y,2===y)b.offset=a.getInt8(1),p++;else if(1===y)b.offset=a.getInt16(1,!0),p+=2;else{if(0!==y)throw"Invalid block offset type";b.offset=a.getFloat32(1,!0),p+=4}if(M=Math.min(b.offset,M),1===b.encoding)if(y=a.getUint8(p),p++,b.bitsPerPixel=63&y,y>>=6,b.numValidPixelsType=y,2===y)b.numValidPixels=a.getUint8(p),p++;else if(1===y)b.numValidPixels=a.getUint16(p,!0),p+=2;else{if(0!==y)throw"Invalid valid pixel count type";b.numValidPixels=a.getUint32(p,!0),p+=4}}var v;if(n+=p,3!=b.encoding)if(0===b.encoding){var B=(r.pixels.numBytes-1)/4;if(B!==Math.floor(B))throw"uncompressed block has invalid length";v=new ArrayBuffer(4*B),new Uint8Array(v).set(new Uint8Array(t,n,4*B));for(var V=new Float32Array(v),U=0;U<V.length;U++)M=Math.min(M,V[U]);b.rawData=V,n+=4*B}else if(1===b.encoding){var I=Math.ceil(b.numValidPixels*b.bitsPerPixel/8),D=Math.ceil(I/4);v=new ArrayBuffer(4*D),new Uint8Array(v).set(new Uint8Array(t,n,I)),b.stuffedData=new Uint32Array(v),n+=I}}else n++,M=Math.min(M,0)}return r.pixels.minValue=M,r.eofOffset=n,r},l=function(t,n,e,r,i,a,o){var s,u,l,c=(1<<n)-1,f=0,h=0,m=Math.ceil((o-r)/i),d=4*t.length-Math.ceil(n*e/8);for(t[t.length-1]<<=8*d,s=0;s<e;s++){if(0===h&&(l=t[f++],h=32),h>=n)u=l>>>h-n&c,h-=n;else{var M=n-h;u=(l&c)<<M&c,u+=(l=t[f++])>>>(h=32-M)}a[s]=u<m?r+u*i:o}return a};const c=i.decode;class f{_decode(t){const n=c(t.buffer,t.options);return Promise.resolve({result:n,transferList:[n.pixelData.buffer]})}}function h(){return new f}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[4828],{41104:(e,t,n)=>{n.d(t,{c:()=>m});var r,o=n(41948),i=n(40504),a=n(1580),c=(n(9456),n(66360),n(72052),n(12552)),l=n(15008),s=n(87104),u=n(41512),p=n(2620),f=n(98472),g=n(62484),y=n(66952);let h=r=class extends i.am{constructor(e){super(e),this.translation=(0,g.Su)(),this.rotationAxis=(0,g.eu)(y.up),this.rotationAngle=0,this.scale=(0,g.WK)(1,1,1)}get rotation(){return(0,y.eE)(this.rotationAxis,this.rotationAngle)}set rotation(e){this.rotationAxis=(0,g.ct)((0,y.Yz)(e)),this.rotationAngle=(0,y.i4)(e)}get localMatrix(){const e=(0,s.Su)();return(0,u.yG)(A,(0,y.Yz)(this.rotation),(0,y.kX)(this.rotation)),(0,l.um)(e,A,this.translation,this.scale),e}get localMatrixInverse(){return(0,l.S_)((0,s.Su)(),this.localMatrix)}applyLocal(e,t){return(0,f.e)(t,e,this.localMatrix)}applyLocalInverse(e,t){return(0,f.e)(t,e,this.localMatrixInverse)}equals(e){return this===e||null!=e&&(0,l.sF)(this.localMatrix,e.localMatrix)}clone(){const e={translation:(0,g.ct)(this.translation),rotationAxis:(0,g.ct)(this.rotationAxis),rotationAngle:this.rotationAngle,scale:(0,g.ct)(this.scale)};return new r(e)}};(0,o._)([(0,a.qq)({type:[Number],nonNullable:!0,json:{write:!0}})],h.prototype,"translation",void 0),(0,o._)([(0,a.qq)({type:[Number],nonNullable:!0,json:{write:!0}})],h.prototype,"rotationAxis",void 0),(0,o._)([(0,a.qq)({type:Number,nonNullable:!0,json:{write:!0}})],h.prototype,"rotationAngle",void 0),(0,o._)([(0,a.qq)({type:[Number],nonNullable:!0,json:{write:!0}})],h.prototype,"scale",void 0),(0,o._)([(0,a.qq)()],h.prototype,"rotation",null),(0,o._)([(0,a.qq)()],h.prototype,"localMatrix",null),(0,o._)([(0,a.qq)()],h.prototype,"localMatrixInverse",null),h=r=(0,o._)([(0,c.c)("esri.geometry.support.MeshTransform")],h);const A=(0,p.Su)(),m=h},66952:(e,t,n)=>{n.d(t,{GA:()=>p,Jn:()=>u,Su:()=>l,Yz:()=>f,eE:()=>s,i4:()=>g,kX:()=>y,up:()=>h});var r=n(53648),o=n(41512),i=n(2620),a=n(98472),c=n(62484);function l(e=h){return[e[0],e[1],e[2],e[3]]}function s(e,t,n=l()){return(0,a.c)(n,e),n[3]=t,n}function u(e,t,n=l()){return(0,o.yG)(A,e,y(e)),(0,o.yG)(m,t,y(t)),(0,o.iW)(A,m,A),function(e,t){return e[3]=t,e}(n,(0,r.UB)((0,o.C0)(n,A)))}function p(e,t,n,r=l()){return s(c.UV,e,x),s(c.IR,t,d),s(c.wx,n,w),u(x,d,x),u(x,w,r),r}function f(e){return e}function g(e){return e[3]}function y(e){return(0,r.EF)(e[3])}n(37008);const h=[0,0,1,0],A=(0,i.Su)(),m=(0,i.Su)(),x=(l(),l()),d=l(),w=l()},71488:(e,t,n)=>{n.d(t,{Kk:()=>c,QL:()=>l,yO:()=>a});var r=n(26832),o=n(66360),i=n(21136);function a(e,t){return e.isGeographic||e.isWebMercator&&(t??!0)}function c(e,t){switch(e.type){case"georeferenced":return t.isGeographic;case"local":return t.isGeographic||t.isWebMercator}}function l(e,t,n,a){if(void 0!==a){(0,r.O2)(o.c.getLogger(e),"option: geographic",{replacement:"use mesh vertexSpace and spatial reference to control how operations are performed",version:"4.29",warnOnce:!0});const c="local"===t.type;if(!(0,i.k$)(t)||a===c)return n.isGeographic||n.isWebMercator&&a;o.c.getLogger(e).warnOnce(`Specifying the 'geographic' parameter (${a}) for a Mesh vertex space of type "${t.type}" is not supported. This parameter will be ignored.`)}return c(t,n)}},54828:(e,t,n)=>{n.d(t,{CE:()=>v,EX:()=>P,_0:()=>q,_S:()=>F,iS:()=>_,mC:()=>M,project:()=>b,qu:()=>C});var r=n(24296),o=n(68612),i=n(15008),a=n(87104),c=n(98472),l=n(62484),s=n(77556),u=n(60074),p=n(82448),f=n(51120),g=n(62880),y=n(15688),h=n(41104),A=n(21136),m=n(48952),x=n(71488),d=n(38496);function w(e,t,n){return(0,x.yO)(t.spatialReference,n?.geographic)?M(e,t,!1,n):function(e,t,n){const r=new Float64Array(e.position.length),o=e.position,i=t.x,a=t.y,c=t.z??0,l=q(n?n.unit:null,t.spatialReference);for(let e=0;e<o.length;e+=3)r[e]=o[e]*l+i,r[e+1]=o[e+1]*l+a,r[e+2]=o[e+2]*l+c;return{position:r,normal:e.normal,tangent:e.tangent}}(e,t,n)}function v(e,t=a.IJ){const{position:n,normal:r,tangent:o}=e;return{position:(0,m.a)(new Float64Array(n.length),n,t),normal:null!=r?(0,d.W4)(r,new Float32Array(r.length),t):null,tangent:null!=o?(0,d.AT)(o,new Float32Array(o.length),t):null}}function F(e,t,n,r){const{position:o,normal:i,tangent:a}=e;if(!(0,A.k$)(t))return{position:o,normal:i,tangent:a};const c=(0,A.mA)(t,r);return w(v(e,n?.localMatrix),c,{geographic:"local"===t.type})}function P(e,t,n){const r=(0,A.Al)(t,n),o=t.spatialReference,i=(0,A.k$)(r);if(!i)return{vertexAttributes:w(e,t,n),vertexSpace:r,transform:null};const{position:a,normal:c,tangent:l}=e,s=(0,x.Kk)(r,o);switch(r.type){case"georeferenced":return s?{vertexAttributes:M(e,t,i,n),vertexSpace:r,transform:null}:{vertexAttributes:{position:a,normal:c,tangent:l},vertexSpace:r,transform:new h.c};case"local":return{vertexAttributes:{position:a,normal:c,tangent:l},vertexSpace:r,transform:new h.c}}}function S(e,t,n){return(0,x.yO)(t.spatialReference,n?.geographic)?C(e,t,n):T(e,t,n)}function _(e,t,n,r,o){if(!(0,A.k$)(t))return S(e,r,o);const{spatialReference:i}=r,a=F(e,t,n,i);return r.equals((0,A.mA)(t,i))?T(a,r,o):S(a,r,o)}function b({positions:e,transform:t,vertexSpace:n,inSpatialReference:r,outSpatialReference:o,outPositions:s,localMode:h}){const A=n.origin??l.cX,x=null!=n.origin?t?.localMatrix??a.IJ:a.IJ;if("georeferenced"===n.type){const t=s??(0,y.Gg)(e.length);if((0,i.yK)(x,a.IJ)?(0,y.mw)(t,e):(0,m.a)(t,e,x),!(0,c.i)(A,l.cX)){const[e,n,r]=A;for(let o=0;o<t.length;o+=3)t[o]+=e,t[o+1]+=n,t[o+2]+=r}return(0,g.projectBuffer)(t,r,0,t,o,0,t.length/3),t}let d=r;const w=(0,p._s)(r);d=o.isWebMercator&&h||!(0,u.canProjectWithoutEngine)(r,w)?d:w,(0,f.y)(r,A,W,d),(0,i.iW)(W,W,x);const v=s??(0,y.Gg)(e.length);return(0,m.a)(v,e,W),(0,g.projectBuffer)(v,d,0,v,o,0,v.length/3),v}function M(e,t,n,r){const o=t.spatialReference,i=R(t,r,W),a=new Float64Array(e.position.length),c=function(e,t,n,r){(0,m.a)(r,e,t);const o=new Float64Array(e.length);return(0,d.o$)(r,o,n)}(e.position,i,o,a),l=(0,s.yy)(E,i),u=function(e,t,n,r,o){if(null==n)return null;const i=new Float32Array(n.length);return(0,m.b)(i,n,r),(0,d.QP)(i,e,t,o,i),i}(c,a,e.normal,l,o),p=function(e,t,n,r,o){if(null==n)return null;const i=new Float32Array(n.length);(0,m.b)(i,n,r,4);for(let e=3;e<i.length;e+=4)i[e]=n[e];return(0,d.Cr)(i,e,t,o,i),i}(c,a,e.tangent,l,o);if(n){const{x:e,y:n,z:r}=t;(0,m.t)(c,c,[-e,-n,-(r??0)])}return{position:c,normal:u,tangent:p}}function T(e,t,n){const r=new Float64Array(e.position.length),o=e.position,i=t.x,a=t.y,c=t.z??0,l=q(n?n.unit:null,t.spatialReference);for(let e=0;e<o.length;e+=3)r[e]=(o[e]-i)/l,r[e+1]=(o[e+1]-a)/l,r[e+2]=(o[e+2]-c)/l;return{position:r,normal:e.normal,tangent:e.tangent}}function C(e,t,n){const r=t.spatialReference;R(t,n,W);const o=(0,i.S_)(k,W),a=new Float64Array(e.position.length),c=function(e,t,n,r){const o=(0,d.K_)(e,t,r),i=new Float64Array(o.length);return(0,m.a)(i,o,n),i}(e.position,r,o,a),l=(0,s.yy)(E,o);return{position:c,normal:j(e.normal,e.position,a,r,l),tangent:O(e.tangent,e.position,a,r,l)}}function R(e,t,n){(0,f.y)(e.spatialReference,[e.x,e.y,e.z??0],n,(0,p._s)(e.spatialReference));const r=q(t?t.unit:null,e.spatialReference);return(0,i.aU)(n,n,[r,r,r]),n}function j(e,t,n,r,o){if(null==e)return null;const i=(0,d.cH)(e,t,n,r,new Float32Array(e.length));return(0,m.b)(i,i,o),i}function O(e,t,n,r,o){if(null==e)return null;const i=(0,d.GW)(e,t,n,r,new Float32Array(e.length));return(0,m.b)(i,i,o,4),i}function q(e,t){if(null==e)return 1;const n=(0,r.eg)(t);return 1/(0,r.ck)(n,"meters",e)}const W=(0,a.Su)(),k=(0,a.Su)(),E=(0,o.Su)()},38496:(e,t,n)=>{n.d(t,{AT:()=>F,Cr:()=>S,GW:()=>P,K_:()=>d,QP:()=>x,W4:()=>v,cH:()=>m,o$:()=>w});var r=n(66360),o=n(77556),i=n(68612),a=n(87104),c=n(98472),l=n(62484),s=n(82448),u=n(51120),p=n(62880),f=n(60544),g=n(29120),y=n(71004),h=n(48952);const A=()=>r.c.getLogger("esri.geometry.support.meshUtils.normalProjection");function m(e,t,n,r,o){return b(r)?(_(T.TO_PCPF,y.Yj.fromTypedArray(e),y.Ax.fromTypedArray(t),y.Ax.fromTypedArray(n),r,y.Yj.fromTypedArray(o)),o):(A().error("Cannot convert spatial reference to PCPF"),o)}function x(e,t,n,r,o){return b(r)?(_(T.FROM_PCPF,y.Yj.fromTypedArray(e),y.Ax.fromTypedArray(t),y.Ax.fromTypedArray(n),r,y.Yj.fromTypedArray(o)),o):(A().error("Cannot convert to spatial reference from PCPF"),o)}function d(e,t,n){return(0,p.projectBuffer)(e,t,0,n,(0,s._s)(t),0,e.length/3),n}function w(e,t,n){return(0,p.projectBuffer)(e,(0,s._s)(n),0,t,n,0,e.length/3),t}function v(e,t,n){return(0,o.yy)(q,n),(0,h.b)(t,e,q),(0,o.QT)(q)||(0,h.n)(t,t),t}function F(e,t,n){if((0,o.yy)(q,n),(0,h.b)(t,e,q,4),(0,o.QT)(q)||(0,h.n)(t,t,4),e!==t)for(let n=3;n<e.length;n+=4)t[n]=e[n];return t}function P(e,t,n,r,o){if(!b(r))return A().error("Cannot convert spatial reference to PCPF"),o;_(T.TO_PCPF,y.Yj.fromTypedArray(e,4*Float32Array.BYTES_PER_ELEMENT),y.Ax.fromTypedArray(t),y.Ax.fromTypedArray(n),r,y.Yj.fromTypedArray(o,4*Float32Array.BYTES_PER_ELEMENT));for(let t=3;t<e.length;t+=4)o[t]=e[t];return o}function S(e,t,n,r,o){if(!b(r))return A().error("Cannot convert to spatial reference from PCPF"),o;_(T.FROM_PCPF,y.Yj.fromTypedArray(e,16),y.Ax.fromTypedArray(t),y.Ax.fromTypedArray(n),r,y.Yj.fromTypedArray(o,16));for(let t=3;t<e.length;t+=4)o[t]=e[t];return o}function _(e,t,n,r,i,a){if(!t)return;const l=n.count,p=(0,s._s)(i);if(M(i))for(let n=0;n<l;n++)r.getVec(n,R),t.getVec(n,j),(0,u.y)(p,R,O,p),(0,o.kr)(q,O),e===T.FROM_PCPF&&(0,o.oL)(q,q),(0,c.t)(j,j,q),a.setVec(n,j);else for(let i=0;i<l;i++){r.getVec(i,R),t.getVec(i,j),(0,u.y)(p,R,O,p),(0,o.kr)(q,O);const l=(0,g.MB)(n.get(i,1));let s=Math.cos(l);e===T.TO_PCPF&&(s=1/s),q[0]*=s,q[1]*=s,q[2]*=s,q[3]*=s,q[4]*=s,q[5]*=s,e===T.FROM_PCPF&&(0,o.oL)(q,q),(0,c.t)(j,j,q),(0,c.n)(j,j),a.setVec(i,j)}return a}function b(e){return M(e)||function(e){return e.isWebMercator}(e)}function M(e){return e.isWGS84||(0,f.Ub)(e)||(0,f.qg)(e)||(0,f.UB)(e)}var T,C;(C=T||(T={}))[C.TO_PCPF=0]="TO_PCPF",C[C.FROM_PCPF=1]="FROM_PCPF";const R=(0,l.Su)(),j=(0,l.Su)(),O=(0,a.Su)(),q=(0,i.Su)()},21136:(e,t,n)=>{n.d(t,{Al:()=>g,GF:()=>y,k$:()=>p,mA:()=>f,mm:()=>h,wX:()=>u});var r=n(26832),o=n(66360),i=n(67776),a=n(51232),c=n(13708),l=n(48952);function s(){return o.c.getLogger("esri.geometry.Mesh")}function u(e){const{vertexSpace:t}=e;if(null!=t.origin)return e.clone();const{anchor:n}=e,r=n.clone(),o=new a.c({origin:[r.x,r.y,r.z]}),i=e.cloneWithVertexSpace(o),{position:c}=i.vertexAttributes;return i.vertexAttributes.position=(0,l.t)(new Float64Array(c.length),c,[-r.x,-r.y,-(r.z??0)]),i.vertexAttributesChanged(),i}function p(e){return null!=e.origin}function f(e,t){if(!p(e))return null;const[n,r,o]=e.origin;return new i.c({x:n,y:r,z:o,spatialReference:t})}function g(e,t){const{x:n,y:o,z:i,spatialReference:l}=e,u=[n,o,i??0];if(void 0!==t?.geographic){if((0,r.O2)(s(),"option: geographic",{replacement:"use vertexSpace option instead",version:"4.29",warnOnce:!0}),!t?.vertexSpace)return t?.geographic?new c.c({origin:u}):new a.c({origin:u});s().warn("Deprecated geographic flag ignored since vertexSpace option is provided.")}if(!t?.vertexSpace)return l.isGeographic||l.isWebMercator?new c.c({origin:u}):new a.c({origin:u});switch(t.vertexSpace){case"local":return new c.c({origin:u});case"georeferenced":return new a.c({origin:u});case"georeferenced-absolute":return new a.c}}function y(e){return e.isGeographic||e.isWebMercator?"local":"georeferenced"}function h(e,t){return"local"===e?new c.c({origin:t}):new a.c({origin:t})}}}]);