@arcgis/core 5.1.0-next.120 → 5.1.0-next.121
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/WebLinkChart.d.ts +1 -1
- package/WebMap.d.ts +2 -2
- package/WebScene.d.ts +3 -3
- package/arcade.d.ts +9 -9
- package/arcgisGlobal.d.ts +5 -0
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/03354ad3d74d858173b4.js +1 -0
- package/assets/esri/core/workers/chunks/{d1ac98f48bb6d43d97c8.js → 06858a0e1033e4a95337.js} +2 -2
- package/assets/esri/core/workers/chunks/{08feff1d2f67cbfdc707.js → 09a4139fc6d069ab6928.js} +1 -1
- package/assets/esri/core/workers/chunks/0a510acf50915e00c62b.js +1 -0
- package/assets/esri/core/workers/chunks/{829a0583b8a228c65379.js → 0b169bb1969f86232a1a.js} +1 -1
- package/assets/esri/core/workers/chunks/19dcae83be0fc0aced02.js +1 -0
- package/assets/esri/core/workers/chunks/{e246c3663f2645248f17.js → 22ac25e8f730218d7e69.js} +22 -20
- package/assets/esri/core/workers/chunks/{c27cb2a83a1d2e004501.js → 238478cfe493fd4a6100.js} +1 -1
- package/assets/esri/core/workers/chunks/{7ed5b669010db58845f8.js → 294f2803aac000c99693.js} +1 -1
- package/assets/esri/core/workers/chunks/{093f27e4e4781870b431.js → 297ae764445e6f73a5ea.js} +1 -1
- package/assets/esri/core/workers/chunks/2b36a54927f5a7281da3.js +1 -0
- package/assets/esri/core/workers/chunks/{be0eab592db0e651b023.js → 2b814bb51704a5b4fdc2.js} +6 -6
- package/assets/esri/core/workers/chunks/3172d7fc23787a287191.js +1 -0
- package/assets/esri/core/workers/chunks/{eedee0af459e6b8a6116.js → 33e0130e6a40fc768978.js} +1 -1
- package/assets/esri/core/workers/chunks/343ba5ea459e96ba79c6.js +1 -0
- package/assets/esri/core/workers/chunks/{a2159df718a7f2f59271.js → 38a2f34661563c7c29c1.js} +1 -1
- package/assets/esri/core/workers/chunks/3a5c1c501808352857bd.js +1 -0
- package/assets/esri/core/workers/chunks/{24eaf1349ffe10e616e6.js → 40c4e14e7bb505ef10a3.js} +1 -1
- package/assets/esri/core/workers/chunks/{106fc271e0b9300ef97c.js → 4193c0cca441be05c80e.js} +1 -1
- package/assets/esri/core/workers/chunks/485d20152495c27b8074.js +1 -0
- package/assets/esri/core/workers/chunks/{16b90d8f628a412ba4ba.js → 4894997bfa438f66da36.js} +1 -1
- package/assets/esri/core/workers/chunks/53d165b4f30fd64e5d8a.js +1 -0
- package/assets/esri/core/workers/chunks/{c83fea0d0ebd0d8e43fd.js → 542f5469f7b42026b24f.js} +1 -1
- package/assets/esri/core/workers/chunks/5553279998ae07b60f5f.js +1 -0
- package/assets/esri/core/workers/chunks/597eb2e040c86cc3c4fc.js +1 -0
- package/assets/esri/core/workers/chunks/{cda99b543a0e1979346c.js → 5cb1b950249d651f3837.js} +1 -1
- package/assets/esri/core/workers/chunks/{cc479daacd2cf715baa8.js → 62fc3c367f736c73b0d7.js} +1 -1
- package/assets/esri/core/workers/chunks/{b1f1271434af302938e8.js → 643c33a98f2d30a92001.js} +1 -1
- package/assets/esri/core/workers/chunks/{1c1515e020e32e177b54.js → 6a5356ebed70e0f8f979.js} +1 -1
- package/assets/esri/core/workers/chunks/77a4f6f224d7ca4b69f4.js +1 -0
- package/assets/esri/core/workers/chunks/{6637f19b82555738a1d5.js → 78aa5bc6af2758da20d0.js} +1 -1
- package/assets/esri/core/workers/chunks/{8c5a41ae68775bac3446.js → 7f5ecb67fa459f92d067.js} +1 -1
- package/assets/esri/core/workers/chunks/{153dc2a0b08a0e44a881.js → 8419934bec7723b0feef.js} +1 -1
- package/assets/esri/core/workers/chunks/866709e1e55796999f3c.js +1 -0
- package/assets/esri/core/workers/chunks/{14c6419568d8a7a15cd6.js → 92ab5886aa2d8b9b179f.js} +1 -1
- package/assets/esri/core/workers/chunks/{4e676e888a935c507d90.js → 93d4bda22bde33fafa57.js} +1 -1
- package/assets/esri/core/workers/chunks/{1765042635084f75d2b3.js → 9b676606bf839b7aa433.js} +1 -1
- package/assets/esri/core/workers/chunks/{45a8d80f1328b0b4b055.js → a261f4c22224511fdfff.js} +1 -1
- package/assets/esri/core/workers/chunks/{ea8f642b1db933d2c26f.js → a2ac139d0975085279a6.js} +1 -1
- package/assets/esri/core/workers/chunks/a8ec5b85c2fa6fb4f391.js +1 -0
- package/assets/esri/core/workers/chunks/aef0ac417b282a90d214.js +640 -0
- package/assets/esri/core/workers/chunks/{6af77529c977d034d287.js → b23009d9f8eb7c20ce45.js} +1 -1
- package/assets/esri/core/workers/chunks/{1f55d60d3adc31283296.js → b79428c5093614174e76.js} +1 -1
- package/assets/esri/core/workers/chunks/b9bdb1f05e904c3655e4.js +1 -0
- package/assets/esri/core/workers/chunks/c4fc85281ca83af7abaf.js +1 -0
- package/assets/esri/core/workers/chunks/c983e5ce0ff952b65d7f.js +1 -0
- package/assets/esri/core/workers/chunks/{f79bd469b25099a31274.js → ca6907e14b1dde4d5c07.js} +1 -1
- package/assets/esri/core/workers/chunks/{fbb23db01f3cf629d32e.js → d05088622cf232fe5dc3.js} +1 -1
- package/assets/esri/core/workers/chunks/{e9dcc3e9dbafe9bbed84.js → d21480b078ec9680d4c4.js} +1 -1
- package/assets/esri/core/workers/chunks/{8f94c90fdb0333da2d0f.js → d427d8091f18aa7b3867.js} +1 -1
- package/assets/esri/core/workers/chunks/{fea74a2bbb67d381e837.js → de3d8f83f3ea09b315a0.js} +1 -1
- package/assets/esri/core/workers/chunks/df412ef1b6dff43970fd.js +1 -0
- package/assets/esri/core/workers/chunks/e33d2ede6c9f1527d51b.js +1 -0
- package/assets/esri/core/workers/chunks/{50dc9893e13396f5e35d.js → e69d03917e28c8213b27.js} +2 -2
- package/assets/esri/core/workers/chunks/{49f6c9e9980b8c624fd7.js → f02fe24177e56a7e42b2.js} +1 -1
- package/assets/esri/core/workers/chunks/{319ff04282dc8ae38b56.js → fde12f5b7989c0fac67b.js} +2 -2
- package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +38 -8
- package/assets/esri/themes/base/widgets/_DatePicker.scss +1 -1
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/chunks/RealisticTree.glsl.js +17 -15
- package/config.d.ts +2 -2
- package/config.js +1 -1
- package/core/Collection.d.ts +25 -25
- package/core/Error.d.ts +1 -1
- package/core/JSONSupport.d.ts +1 -1
- package/core/promiseUtils.d.ts +3 -3
- package/core/reactiveUtils.d.ts +4 -4
- package/core/sql/WhereClause.d.ts +1 -1
- package/core/timeUtils.d.ts +1 -1
- package/core/workers/Connection.d.ts +9 -9
- package/core/workers.d.ts +1 -1
- package/editing/types.d.ts +3 -3
- package/geometry/Mesh.d.ts +9 -2
- package/geometry/Mesh.js +1 -1
- package/geometry/support/MeshMaterial.d.ts +5 -5
- package/geometry/support/MeshTexture.d.ts +19 -19
- package/geometry/support/jsonUtils.d.ts +1 -1
- package/geometry/support/meshUtils.d.ts +130 -2
- package/geometry/support/meshUtils.js +1 -1
- package/identity/Credential.d.ts +1 -1
- package/identity/IdentityManager.d.ts +1 -1
- package/identity/OAuthInfo.d.ts +1 -1
- package/identity/ServerInfo.d.ts +2 -2
- package/interfaces.d.ts +16 -0
- package/intl/number.d.ts +3 -3
- package/intl/substitute.d.ts +2 -2
- package/intl.d.ts +28 -28
- package/kernel.js +1 -1
- package/layers/AnnotationLayer.js +1 -1
- package/layers/BaseDynamicLayer.d.ts +5 -5
- package/layers/BaseTileLayer.d.ts +4 -4
- package/layers/BuildingSceneLayer.d.ts +1 -1
- package/layers/CSVLayer.d.ts +1 -1
- package/layers/DimensionFeatureLayer.js +1 -1
- package/layers/FeatureLayer.d.ts +7 -6
- package/layers/FeatureLayer.js +1 -1
- package/layers/GeoJSONLayer.d.ts +1 -1
- package/layers/MapImageLayer.d.ts +5 -5
- package/layers/MediaLayer.d.ts +2 -2
- package/layers/OrientedImageryLayer.d.ts +1 -1
- package/layers/SceneLayer.d.ts +1 -1
- package/layers/SceneLayer.js +1 -1
- package/layers/StreamLayer.d.ts +1 -1
- package/layers/SubtypeGroupLayer.d.ts +1 -1
- package/layers/TileLayer.d.ts +2 -2
- package/layers/VideoLayer.d.ts +8 -2
- package/layers/VideoLayer.js +1 -1
- package/layers/VoxelLayer.d.ts +4 -4
- package/layers/WCSLayer.d.ts +2 -2
- package/layers/WebTileLayer.d.ts +1 -1
- package/layers/graphics/sources/FeatureLayerSource.js +1 -1
- package/layers/mixins/BlendLayer.d.ts +1 -1
- package/layers/mixins/DataSeriesLayer.d.ts +161 -0
- package/layers/mixins/DataSeriesLayer.js +2 -0
- package/layers/mixins/FeatureLayerBase.d.ts +3 -3
- package/layers/orientedImagery/core/coverageUtils.js +1 -1
- package/layers/support/DateTimeFieldFormat.d.ts +10 -10
- package/layers/support/FeatureEffect.d.ts +22 -22
- package/layers/support/Field.d.ts +2 -2
- package/layers/support/ImageElement.d.ts +1 -1
- package/layers/support/NumberFieldFormat.d.ts +5 -5
- package/layers/support/StreamConnection.d.ts +1 -1
- package/layers/support/Sublayer.d.ts +2 -2
- package/layers/support/TimeSeriesFieldTimeMapping.d.ts +30 -0
- package/layers/support/TimeSeriesFieldTimeMapping.js +2 -0
- package/layers/support/TimeSeriesInfo.d.ts +149 -0
- package/layers/support/TimeSeriesInfo.js +2 -0
- package/layers/support/VideoElement.d.ts +1 -1
- package/layers/support/dataSeriesUtils.d.ts +18 -0
- package/layers/support/dataSeriesUtils.js +2 -0
- package/layers/support/kmlUtils.js +1 -1
- package/layers/support/timeSeriesUtils.d.ts +27 -0
- package/layers/support/timeSeriesUtils.js +2 -0
- package/layers/types.d.ts +1 -1
- package/layers/video/types.d.ts +61 -1
- package/linkChart/ChronologicalLayoutSettings.d.ts +1 -1
- package/networks/CircuitManager.d.ts +1 -1
- package/networks/Network.d.ts +1 -1
- package/networks/UnitIdentifierManager.d.ts +1 -1
- package/networks/support/NamedTraceConfiguration.d.ts +1 -1
- package/networks/support/TraceConfiguration.d.ts +2 -2
- package/networks/support/UNTraceConfiguration.d.ts +3 -3
- package/networks/support/jsonTypes.d.ts +7 -1
- package/networks/support/utils.js +1 -1
- package/package.json +2 -2
- package/popup/content/CustomContent.d.ts +1 -1
- package/portal/Portal.d.ts +2 -2
- package/portal/jsonTypes.d.ts +2 -2
- package/renderers/support/AuthoringInfo.d.ts +14 -1
- package/renderers/support/AuthoringInfo.js +1 -1
- package/renderers/support/AuthoringInfoVisualVariable.d.ts +14 -1
- package/renderers/support/AuthoringInfoVisualVariable.js +1 -1
- package/renderers/support/jsonUtils.d.ts +1 -1
- package/renderers/support/utils.d.ts +1 -1
- package/renderers/visualVariables/RotationVariable.d.ts +16 -1
- package/renderers/visualVariables/RotationVariable.js +1 -1
- package/request/types.d.ts +23 -23
- package/rest/geometryService.d.ts +1 -1
- package/rest/knowledgeGraph/GraphApplyEdits.d.ts +1 -1
- package/rest/knowledgeGraph/GraphQueryStreamingResult.d.ts +2 -2
- package/rest/knowledgeGraphService.d.ts +13 -13
- package/rest/layerSources/DynamicDataLayer.d.ts +1 -1
- package/rest/print.d.ts +1 -1
- package/rest/support/ClosestFacilityParameters.d.ts +6 -6
- package/rest/support/LastMileDeliveryParameters.d.ts +4 -4
- package/rest/support/LocationToAddressParameters.d.ts +1 -1
- package/rest/support/PrintTemplate.d.ts +5 -5
- package/rest/support/Query.d.ts +2 -2
- package/rest/support/RouteParameters.d.ts +5 -5
- package/rest/support/ServiceAreaParameters.d.ts +6 -6
- package/rest/support/meshFeatureSet.js +1 -1
- package/smartMapping/renderers/color.d.ts +40 -0
- package/smartMapping/renderers/color.js +1 -1
- package/smartMapping/renderers/opacity.d.ts +8 -0
- package/smartMapping/renderers/opacity.js +1 -1
- package/smartMapping/renderers/size.d.ts +38 -0
- package/smartMapping/renderers/size.js +1 -1
- package/smartMapping/renderers/support/regenerateUtils.js +1 -1
- package/smartMapping/renderers/support/timeSeriesUtils.js +2 -0
- package/smartMapping/renderers/type.d.ts +20 -1
- package/smartMapping/renderers/type.js +1 -1
- package/smartMapping/renderers/univariateColorSize.d.ts +19 -0
- package/smartMapping/renderers/univariateColorSize.js +1 -1
- package/support/revision.js +1 -1
- package/support/tests/setupServiceMocksMesh.js +1 -1
- package/support/timeUtils.d.ts +3 -3
- package/symbols/Font.d.ts +7 -7
- package/symbols/WebStyleSymbol.d.ts +11 -11
- package/symbols/cim/effects/EffectControlMeasureLine.js +1 -1
- package/symbols/support/Symbol3DEmissive.d.ts +8 -2
- package/symbols/support/jsonUtils.d.ts +1 -1
- package/time/TimeExtent.d.ts +2 -2
- package/versionManagement/VersionManagementService.d.ts +8 -8
- package/versionManagement/VersionManager.d.ts +13 -3
- package/versionManagement/VersioningState.d.ts +4 -4
- package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
- package/views/2d/layers/BaseLayerView2D.d.ts +1 -1
- package/views/2d/layers/BaseLayerViewGL2D.d.ts +3 -3
- package/views/2d/layers/GeoRSSLayerView2D.js +1 -1
- package/views/2d/layers/GraphicsLayerView2D.js +1 -1
- package/views/2d/layers/ImageryLayerView2D.js +1 -1
- package/views/2d/layers/ImageryTileLayerView2D.js +1 -1
- package/views/2d/layers/KMLLayerView2D.js +1 -1
- package/views/2d/layers/MapNotesLayerView2D.js +1 -1
- package/views/2d/layers/MediaLayerView2D.js +1 -1
- package/views/2d/layers/RouteLayerView2D.js +1 -1
- package/views/2d/support/hitTestUtils.js +1 -1
- package/views/3d/glTF/internal/resourceUtils.js +1 -1
- package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
- package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
- package/views/3d/webgl/RenderNode.d.ts +7 -7
- package/views/3d/webgl-engine/effects/glow/Glow.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
- package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
- package/views/BreakpointsOwner.d.ts +1 -1
- package/views/DOMContainer.d.ts +6 -6
- package/views/Magnifier.d.ts +1 -1
- package/views/MapView.d.ts +1 -1
- package/views/SceneView.d.ts +2 -2
- package/views/Viewport2DMixin.d.ts +1 -1
- package/views/input/gamepad/GamepadInputDevice.d.ts +1 -1
- package/views/input/types.d.ts +15 -15
- package/views/navigation/Navigation.d.ts +1 -1
- package/views/support/WebAssemblyRequirements.js +1 -1
- package/views/types.d.ts +4 -4
- package/webscene/Glow.d.ts +0 -4
- package/widgets/BasemapGallery.d.ts +1 -1
- package/widgets/BasemapLayerList.d.ts +1 -1
- package/widgets/BatchAttributeForm/attachmentUtils.d.ts +14 -0
- package/widgets/BatchAttributeForm/attachmentUtils.js +1 -1
- package/widgets/BatchAttributeForm/css.js +1 -1
- package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.d.ts +6 -0
- package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.js +1 -1
- package/widgets/BatchAttributeForm/inputs/support/attachmentValidationCriteriaState.d.ts +5 -0
- package/widgets/BatchAttributeForm.d.ts +1 -1
- package/widgets/BatchAttributeForm.js +1 -1
- package/widgets/Bookmarks.d.ts +1 -1
- package/widgets/BuildingExplorer.d.ts +1 -1
- package/widgets/CoordinateConversion/CoordinateConversionViewModel.d.ts +2 -2
- package/widgets/CoordinateConversion/CoordinateConversionViewModel.js +1 -1
- package/widgets/CoordinateConversion.d.ts +2 -2
- package/widgets/Daylight.d.ts +1 -1
- package/widgets/Directions.d.ts +1 -1
- package/widgets/Editor.d.ts +1 -1
- package/widgets/Feature.d.ts +1 -1
- package/widgets/FeatureForm.d.ts +1 -1
- package/widgets/FeatureTable/Grid/Column.d.ts +1 -1
- package/widgets/FeatureTable/support/ColumnTemplateBase.d.ts +1 -1
- package/widgets/FeatureTemplates.d.ts +1 -1
- package/widgets/FloorFilter.d.ts +1 -1
- package/widgets/Fullscreen/FullscreenViewModel.d.ts +3 -3
- package/widgets/Fullscreen/FullscreenViewModel.js +1 -1
- package/widgets/Fullscreen.d.ts +3 -3
- package/widgets/LayerList/ListItemPanel.d.ts +5 -5
- package/widgets/Legend.d.ts +1 -1
- package/widgets/Locate/LocateViewModel.d.ts +2 -2
- package/widgets/Locate.d.ts +1 -1
- package/widgets/PanoramicViewer/utils.js +1 -1
- package/widgets/Popup.d.ts +1 -1
- package/widgets/Print/PrintViewModel.d.ts +2 -2
- package/widgets/Print/TemplateOptions.d.ts +4 -4
- package/widgets/Print.d.ts +6 -6
- package/widgets/Search/SearchViewModel.d.ts +5 -5
- package/widgets/Search.d.ts +4 -4
- package/widgets/ShadowCast.d.ts +1 -1
- package/widgets/Sketch/SketchViewModel.d.ts +1 -1
- package/widgets/Slice.d.ts +1 -1
- package/widgets/TableList/ListItemPanel.d.ts +5 -5
- package/widgets/Track/TrackViewModel.d.ts +3 -3
- package/widgets/Track.d.ts +3 -3
- package/widgets/UtilityNetworkTrace.d.ts +1 -1
- package/widgets/VersionManagement/VersionManagementViewModel.d.ts +2 -2
- package/widgets/VideoPlayer/VideoPlayerViewModel.d.ts +7 -1
- package/widgets/VideoPlayer/VideoPlayerViewModel.js +1 -1
- package/widgets/Weather.d.ts +1 -1
- package/widgets/Widget.d.ts +1 -1
- package/widgets/support/forms/formUtils.js +1 -1
- package/widgets/support/types.d.ts +1 -1
- package/widgets/support/widget.d.ts +6 -6
- package/assets/esri/core/workers/chunks/2bd334f9ab89334df713.js +0 -1
- package/assets/esri/core/workers/chunks/3a6678ee9990d7e83e15.js +0 -1
- package/assets/esri/core/workers/chunks/3b3986276e70297d573b.js +0 -1
- package/assets/esri/core/workers/chunks/46fbd519cc1a37923bfc.js +0 -1
- package/assets/esri/core/workers/chunks/4ef53455c8bc6efee80e.js +0 -1
- package/assets/esri/core/workers/chunks/51ee6102f5f4840a5b47.js +0 -1
- package/assets/esri/core/workers/chunks/58994b6bfcda5f2ada80.js +0 -1
- package/assets/esri/core/workers/chunks/6db274f6767102a39021.js +0 -1
- package/assets/esri/core/workers/chunks/77769663cd712822d33e.js +0 -1
- package/assets/esri/core/workers/chunks/b08a1255dacf6cfcf139.js +0 -640
- package/assets/esri/core/workers/chunks/b098469e0010a6b44df9.js +0 -1
- package/assets/esri/core/workers/chunks/ca1b0cb14ea9ae1bf2a3.js +0 -1
- package/assets/esri/core/workers/chunks/ca4245414d8ecd217f9d.js +0 -1
- package/assets/esri/core/workers/chunks/d3af51a6d9014ff46170.js +0 -1
- package/assets/esri/core/workers/chunks/d561dc933d8fe1672d85.js +0 -1
- package/assets/esri/core/workers/chunks/e38836bfcc7a15a2fd1f.js +0 -1
- package/assets/esri/core/workers/chunks/eabd4a78221b7e733793.js +0 -1
- package/assets/esri/core/workers/chunks/f05932aea4eb267cba4d.js +0 -1
- /package/assets/esri/core/workers/chunks/{50dc9893e13396f5e35d.js.LICENSE.txt → e69d03917e28c8213b27.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{319ff04282dc8ae38b56.js.LICENSE.txt → fde12f5b7989c0fac67b.js.LICENSE.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[4401,9397],{69052(e,t,n){n.d(t,{hr:()=>r,ie:()=>c,uC:()=>a});var s=n(34727);class r{constructor(e,t){this.min=e,this.max=t,this.range=t-e}normalize(e,t=0,n=!1){return i(this.range,this.min,this.max,e,t,n)}clamp(e,t=0){return(0,s.qE)(e-t,this.min,this.max)+t}monotonic(e,t,n){return e<t?t:t+o(this.range,e-t,n)}minimalMonotonic(e,t,n){return i(this.range,e,e+this.range,t,n)}center(e,t,n){return t=this.monotonic(e,t,n),this.normalize((e+t)/2,n)}diff(e,t,n){return this.monotonic(e,t,n)-e}shortestSignedDiff(e,t){e=this.normalize(e);const n=(t=this.normalize(t))-e,s=t<e?this.minimalMonotonic(e,t)-e:t-this.minimalMonotonic(t,e);return Math.abs(n)<Math.abs(s)?n:s}contains(e,t,n){return t=this.minimalMonotonic(e,t),(n=this.minimalMonotonic(e,n))>e&&n<t}}function i(e,t,n,s,r=0,i=!1){return(s-=r)<t?s+=o(e,t-s):s>n&&(s-=o(e,s-n)),i&&s===n&&(s=t),s+r}function o(e,t,n=0){return Math.ceil((t-n)/e)*e+n}const a=new r(0,2*Math.PI),c=(new r(-Math.PI,Math.PI),new r(0,360))},56512(e,t,n){function s(e){let t,n,s=[],r=!1;return function(...i){return r&&t===this&&function(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;++n)if(e[n]!==t[n])return!1;return!0}(i,s)||(n=e.apply(this,i),t=this,s=i,r=!0),n}}n.d(t,{B:()=>s})},69397(e,t,n){n.d(t,{Qf:()=>c,Qh:()=>o,RS:()=>r,Ul:()=>p,i5:()=>f,lM:()=>i,qK:()=>l});var s=n(34275);const r=16;function i(e){if(!e)return 0;let t=l;for(const n in e)e.hasOwnProperty(n)&&(t+=a(e[n],!1));return t}function o(e){if(!e)return 0;if("number"==typeof e[0])return c(e);if(Array.isArray(e))return function(e){const t=e.length;if(0===t||"number"==typeof e[0])return u(e,8);let n=h;for(let s=0;s<t;s++)n+=a(e[s]);return n}(e);let t=l;for(const n in e)e.hasOwnProperty(n)&&(t+=a(e[n]));return t}function a(e,t=!0){switch(typeof e){case"object":return t?o(e):l;case"string":return function(e){return 32+e.length}(e);case"number":return r;case"boolean":return 4;default:return 8}}function c(...e){return e.reduce((e,t)=>e+(t?(0,s.iu)(t)?t.byteLength+f:Array.isArray(t)?u(t,r):0:0),0)}function u(e,t){return h+e.length*t}const l=32,h=16,f=145,p=64},31411(e,t,n){n.d(t,{GS:()=>x,gh:()=>M});var s=n(49186),r=n(56512),i=n(65864),o=n(4305),a=n(50954),c=n(52006),u=n(49663),l=n(46068),h=n(15507);const f=1e-6,p=[0,0];function d(e){return{maxSegmentLength:e.maxSegmentLength??0,maxDeviation:e.maxDeviation??0,maxSegmentsPerCurve:e.maxSegmentsPerCurve??12e3,minSegmentsPerCurve:Math.max(e.minSegmentsPerCurve??1,1)}}class g{constructor(e,t){this.curveStart=e,this.curveEnd=t,this.tStart=0,this.tEnd=0,this.tEndStack=[],this.arcEndStack=[]}get stackSize(){return this.tEndStack.length}initialize(e,t){this.tStart=0,this.arcStart=e,this.tEndStack.push(1),this.arcEndStack.push(t)}splitAt(e){this.tEndStack.push(this.tEnd),this.arcEndStack.push(this.arcEnd),this.tEndStack.push(e),this.arcEndStack.push(this.interpolate(e))}splitInHalf(){return this.splitAt((this.tStart+this.tEnd)/2)}pop(){this.tEnd=this.tEndStack.pop(),this.arcEnd=this.arcEndStack.pop()}next(){this.tStart=this.tEnd,this.arcStart=this.arcEnd}densify(e,{maxDeviation:t,maxSegmentLength:n,maxSegmentsPerCurve:s,minSegmentsPerCurve:r}){const i=n*n,o=t*t,a=1/s,c=this.interpolate(0),u=this.interpolate(1);(0,h.kb)(this.curveStart,c)>f&&e.push(c),this.initialize(c,u);const l=1/r;for(let e=r-1;e>0;e--){const t=e*l;this.pop(),this.splitAt(t)}for(;this.stackSize>0;)this.pop(),this.tStart===this.tEnd||this.tEnd-this.tStart<a||(0===i||!isFinite(i)||(0,h.kb)(this.arcStart,this.arcEnd)<i)&&(0===o||!isFinite(o)||this.getDeviation2()<o)?(e.push(this.arcEnd),this.next()):this.splitInHalf();return(0,h.kb)(this.curveEnd,u)>f&&e.push([...this.curveEnd]),e}}class m extends g{constructor(e,t){const[n,s,r]=t.b;super(e,n),this._controlPointsStack=[],this._curveControlPoints=[s,r],this._arcControlPoints=[s,r],this._controlPointsStack.push(this._arcControlPoints)}splitAt(e){const{arcStart:t,arcEnd:n,tStart:s,tEnd:r}=this,[i,o]=this._arcControlPoints,a=(e-s)/(r-s),c=(0,h.RS)([],t,i,a),u=(0,h.RS)(p,i,o,a),l=(0,h.RS)([],o,n,a),f=(0,h.RS)([],c,u,a),d=(0,h.RS)([],u,l,a),g=(0,h.RS)([],f,d,a);this.tEndStack.push(this.tEnd),this.arcEndStack.push(this.arcEnd),this._controlPointsStack.push([d,l]),this.tEndStack.push(e),this.arcEndStack.push(g),this._arcControlPoints[0]=c,this._arcControlPoints[1]=f,this._controlPointsStack.push(this._arcControlPoints)}pop(){super.pop(),this._arcControlPoints=this._controlPointsStack.pop()}interpolate(e){const{curveStart:t,curveEnd:n}=this,[s,r]=this._curveControlPoints;return(0,o.B4)(t,s,r,n,e)}getDeviation2(){const{arcStart:e,arcEnd:t}=this,[n,s]=this._arcControlPoints;return Math.max((0,h.yE)(n,e,t),(0,h.yE)(s,e,t))}}class y extends g{constructor(e,t){const[n]=t.a;super(e,n),this._derivedEllipse=(0,l.SW)(e,t)}pop(){super.pop(),this._tMid=(this.tStart+this.tEnd)/2,this._arcMid=this.interpolate(this._tMid)}splitInHalf(){this.tEndStack.push(this.tEnd),this.arcEndStack.push(this.arcEnd),this.tEndStack.push(this._tMid),this.arcEndStack.push(this._arcMid)}interpolate(e){return(0,l.Uk)(this._derivedEllipse,e)}getDeviation2(){return(0,h.yE)(this._arcMid,this.arcStart,this.arcEnd)}}function _(e,t,n,{cx:s,cy:r,radius:i,thetaStart:o,thetaEnd:a,isInvalid:c},{maxDeviation:u,maxSegmentLength:l,maxSegmentsPerCurve:p,minSegmentsPerCurve:d}){if(c)return e.push([...n]),e;const g=2*i,m=[s+i*Math.cos(o),r+i*Math.sin(o)],y=[s+i*Math.cos(a),r+i*Math.sin(a)];(0,h.kb)(t,m)>f&&e.push(m);const _=Math.abs(a-o),S=l>0&&l<g?2*Math.asin(l/g):_,w=u>0&&u<=i?2*Math.acos(1-u/i):_,b=Math.min(S,w),v=Math.min(p,Math.max(d,Math.ceil(Math.abs(_/b)))),k=1/v;for(let t=1;t<v;t++){const n=t*k,c=o*(1-n)+a*n;e.push([s+i*Math.cos(c),r+i*Math.sin(c)])}return e.push(y),(0,h.kb)(n,y)>f&&e.push([...n]),e}function S(e,t,n,s){return new m(t,n).densify(e,s)}function w(e,t,n,s){const r=(0,a.pM)(t,n),[i]=n.c;return _(e,t,i,r,s)}function b(e,t,n,s){const r=(0,u.io)(t,n),[i]=n.a;return _(e,t,i,r,s)}function v(e,t,n,s){const[r,i,o,a,c,u,l]=n.a;return 0===u||0===l?(e.push([...r]),e):new y(t,n).densify(e,s)}function k(e,t,n,s){return(0,c.Xq)(n)?(e.push([...n]),e):(0,c.n1)(n)?S(e,t,n,s):(0,c.aO)(n)?w(e,t,n,s):(0,c.DA)(n)?b(e,t,n,s):v(e,t,n,s)}function x(e,t={}){if(!(0,c.Ed)(e))return e;const n=d(t),s=(0,c.FD)(e),r=[];for(const e of s){const t=[];for(let s=0;s<e.length-1;s++){const r=s+1,i=[...(0,c.yP)(e[s])];0===s&&t.push(i),k(t,i,e[r],n)}r.push(t)}return"curvePaths"in e?{...void 0!==e.hasZ?{hasZ:e.hasZ}:{},...void 0!==e.hasM?{hasM:e.hasM}:{},paths:r,spatialReference:e.spatialReference}:{...void 0!==e.hasZ?{hasZ:e.hasZ}:{},...void 0!==e.hasM?{hasM:e.hasM}:{},rings:r,spatialReference:e.spatialReference}}const A=(0,r.B)(e=>({maxDeviation:0,maxSegmentLength:100*e,maxSegmentsPerCurve:12e3,minSegmentsPerCurve:1}));async function M(e,t,r){const o=new Set(t);return await async function(e,t,r){let i=null;for(const o of e)if(o&&(0,c.Ed)(o)&&null==o.spatialReference.xyTolerance&&(0,c.V8)(o,t)){const e=o.spatialReference;if(!e)throw new s.A("geometry:missing-spatial-reference","Geometry contains an unsupported curve type, but it cannot be densified because it has no spatial reference.");const t=R(e);if(r.has(t))o.spatialReference=r.get(t);else{i||(i=await Promise.all([n.e(6042),n.e(1878),n.e(8885),n.e(5756),n.e(3299),n.e(6312)]).then(n.bind(n,78125)));const a=i.fromSpatialReference(e),c=a?.getTolerance();if(null==c)throw new s.A("geometry:missing-tolerance","Geometry contains an unsupported curve type, but it cannot be densified because the tolerance of its spatial reference is unknown. Set the `xyTolerance` property of the spatial reference.");const u=o.spatialReference.clone();u.read({xyTolerance:c}),o.spatialReference=u,r.set(t,u)}}}(e,o,r),e.map(e=>{if(!e||!(0,c.Ed)(e))return e;const n=e.spatialReference.xyTolerance;if(null==n)return e;const s=A(n);return(0,i.rS)(function(e,t,n){if(!(0,c.Ed)(e))return e;const s=new Set(t),r=d(n),i=(0,c.FD)(e),o=[];let a=!1;for(const e of i){const t=[];for(let n=0;n<e.length-1;n++){const i=n+1,o=[...(0,c.yP)(e[n])];0===n&&t.push(o);const u=e[i];(0,c.Xq)(u)?t.push([...u]):(0,c.n1)(u)&&!s.has("cubic-bezier")?S(t,o,u,r):(0,c.aO)(u)&&!s.has("circular-arc")?w(t,o,u,r):(0,c.DA)(u)&&!s.has("elliptic-arc")?b(t,o,u,r):(0,c.wY)(u)&&!s.has("elliptic-arc")?v(t,o,u,r):(t.push((0,c.tk)(u)),a=!0)}o.push(t)}return"curvePaths"in e?{...void 0!==e.hasZ?{hasZ:e.hasZ}:{},...void 0!==e.hasM?{hasM:e.hasM}:{},spatialReference:e.spatialReference,...a?{curvePaths:o}:{paths:o}}:{hasZ:e.hasZ,hasM:e.hasM,spatialReference:e.spatialReference,...a?{curveRings:o}:{rings:o}}}(e,t,s))})}function R(e){if(null!=e.wkid)return`${e.wkid}`;if(null!=e.wkt)return e.wkt;const t="toJSON"in e&&"function"==typeof e.toJSON?e.toJSON():e;return JSON.stringify(t)}},17136(e,t,n){n.d(t,{Y_:()=>E,O7:()=>C,el:()=>R});var s=n(92602),r=n(69052),i=n(49186),o=n(53966),a=n(39829),c=n(82799),u=n(16930),l=n(80754),h=n(21325),f=n(28735),p=n(52006),d=n(31411),g=n(11254),m=n(60408),y=n(65864),_=n(2272),S=n(84952),w=n(92300);const b=()=>o.A.getLogger("esri.geometry.support.normalizeUtils");function v(e){return"polygon"===e[0].type}function k(e){return"polyline"===e[0].type}function x(e,t,n){const s=1e6;if(t){const t=(0,p.Ed)(e)?(0,d.GS)(e,{maxSegmentLength:s}):function(e,t){if(!(e instanceof c.A||e instanceof a.A)){const e="straightLineDensify: the input geometry is neither polyline nor polygon";throw b().error(e),new i.A("internal:geometry",e)}const n=(0,l.r8)(e),s=[];for(const e of n){const n=[];s.push(n),n.push([e[0][0],e[0][1]]);for(let s=0;s<e.length-1;s++){const r=e[s][0],i=e[s][1],o=e[s+1][0],a=e[s+1][1],c=Math.sqrt((o-r)*(o-r)+(a-i)*(a-i)),u=(a-i)/c,l=(o-r)/c,h=c/t;if(h>1){for(let e=1;e<=h-1;e++){const s=e*t,o=l*s+r,a=u*s+i;n.push([o,a])}const e=(c+Math.floor(h-1)*t)/2,s=l*e+r,o=u*e+i;n.push([s,o])}n.push([o,a])}}return function(e){return"polygon"===e.type}(e)?new a.A({rings:s,spatialReference:e.spatialReference}):new c.A({paths:s,spatialReference:e.spatialReference})}(e,s);e=(0,f.ci)(t,!0)}return n&&(e=(0,l.kS)(e,n)),e}function A(e,t,n){if(Array.isArray(e)){const s=e[0];if(s>t){const n=(0,l.kd)(s,t);e[0]=s+n*(-2*t)}else if(s<n){const t=(0,l.kd)(s,n);e[0]=s+t*(-2*n)}}else{const s=e.x;if(s>t){const n=(0,l.kd)(s,t);e=e.clone().offset(n*(-2*t),0)}else if(s<n){const t=(0,l.kd)(s,n);e=e.clone().offset(t*(-2*n),0)}}return e}function M(e,t){let n=-1;for(let s=0;s<t.cutIndexes.length;s++){const r=t.cutIndexes[s],i=t.geometries[s],o=(0,l.r8)(i);for(let e=0;e<o.length;e++){const t=o[e];t.some(n=>{if(n[0]<180)return!0;{let n=0;for(let e=0;e<t.length;e++){const s=t[e][0];n=s>n?s:n}n=Number(n.toFixed(9));const s=-360*(0,l.kd)(n,180);for(let n=0;n<t.length;n++){const t=i.getPoint(e,n);i.setPoint(e,n,t.clone().offset(s,0))}return!0}})}if(r===n){if(v(e))for(const t of(0,l.r8)(i))e[r]=e[r].addRing(t);else if(k(e))for(const t of(0,l.r8)(i))e[r]=e[r].addPath(t)}else n=r,e[r]=i}return e}async function R(e,t,n){if(!Array.isArray(e))return R([e],t);t&&"string"!=typeof t&&b().warn("normalizeCentralMeridian()","The url object is deprecated, use the url string instead");const r="string"==typeof t?t:t?.url??s.A.geometryServiceUrl;let i,o,u,p,d,v,k,C,P=0;const E=[],F=[];for(const t of e)if(null!=t)if(i||(i=t.spatialReference,o=(0,h.Vp)(i),u=i.isWebMercator,v=u?102100:4326,p=l.j7[v].maxX,d=l.j7[v].minX,k=l.j7[v].plus180Line,C=l.j7[v].minus180Line),o)if("mesh"===t.type)F.push(t);else if("point"===t.type)F.push(A(t.clone(),p,d));else if("multipoint"===t.type){const e=t.clone();e.points=e.points.map(e=>A(e,p,d)),F.push(e)}else if("extent"===t.type){const e=t.clone()._normalize(!1,!1,o);F.push(e.rings?new a.A(e):e)}else if(t.extent){const e=t.extent,n=(0,l.kd)(e.xmin,d)*(2*p);let s=0===n?t.clone():(0,l.kS)(t.clone(),n);e.offset(n,0);let{xmin:r,xmax:i}=e;r=Number(r.toFixed(9)),i=Number(i.toFixed(9)),e.intersects(k)&&i!==p?(P=i>P?i:P,s=x(s,u),E.push(s),F.push("cut")):e.intersects(C)&&r!==d?(P=i*(2*p)>P?i*(2*p):P,s=x(s,u,360),E.push(s),F.push("cut")):F.push(s)}else F.push(t.clone());else F.push(t);else F.push(t);let T=(0,l.kd)(P,p),N=-90;const L=T,I=new c.A;for(;T>0;){const e=360*T-180;I.addPath([[e,N],[e,-1*N]]),N*=-1,T--}if(E.length>0&&L>0){const t=M(E,await async function(e,t,n,s){const r=(0,_.Dl)(e),i=t[0].spatialReference,o={...s,responseType:"json",query:{...r.query,f:"json",sr:(0,h.YX)(i),target:JSON.stringify({geometryType:(0,m.$B)(t[0]),geometries:t}),cutter:JSON.stringify(n)}},a=await(0,g.A)(r.path+"/cut",o),{cutIndexes:c,geometries:u=[]}=a.data;return{cutIndexes:c,geometries:u.map(e=>{const t=(0,y.rS)(e);return t.spatialReference=i,t})}}(r,E,I,n)),s=[],i=[];for(let n=0;n<F.length;n++){const r=F[n];if("cut"!==r)i.push(r);else{const r=t.shift(),o=e[n];null!=o&&"polygon"===o.type&&o.rings&&o.rings.length>1&&r.rings.length>=o.rings.length?(s.push(r),i.push("simplify")):i.push(u?(0,f.Gh)(r):r)}}if(!s.length)return i;const o=await async function(e,t,n){const s="string"==typeof e?(0,S.An)(e):e,r=t[0].spatialReference,i=(0,m.$B)(t[0]),o={...n,query:{...s.query,f:"json",sr:(0,h.YX)(r),geometries:JSON.stringify((0,w.X)(t))}},{data:a}=await(0,g.A)(s.path+"/simplify",o);return(0,w.V)(a.geometries,i,r)}(r,s,n),a=[];for(let e=0;e<i.length;e++){const t=i[e];"simplify"!==t?a.push(t):a.push(u?(0,f.Gh)(o.shift()):o.shift())}return a}const q=[];for(let e=0;e<F.length;e++){const t=F[e];if("cut"!==t)q.push(t);else{const e=E.shift();q.push(!0===u?(0,f.Gh)(e):e)}}return q}function C(e,t,n){const s=(0,h.Vp)(n);if(null==s)return e;const[r,i]=s.valid,o=2*i;let a=0,c=0;t>i?a=Math.ceil(Math.abs(t-i)/o):t<r&&(a=-Math.ceil(Math.abs(t-r)/o)),e>i?c=Math.ceil(Math.abs(e-i)/o):e<r&&(c=-Math.ceil(Math.abs(e-r)/o));let u=e+(a-c)*o;const l=u-t;return l>i?u-=o:l<r&&(u+=o),u}function P(e){const t=(0,h.Vp)(e);if(null==t)return null;const[n,s]=t.valid;return new r.hr(n,s)}const E=P(u.A.WGS84);P(u.A.WebMercator)},80754(e,t,n){n.d(t,{j7:()=>a,kS:()=>u,kd:()=>c,r8:()=>l});var s=n(82799),r=n(16930),i=n(60408),o=n(52006);const a={102100:{maxX:20037508.342788905,minX:-20037508.342788905,plus180Line:new s.A({paths:[[[20037508.342788905,-20037508.342788905],[20037508.342788905,20037508.342788905]]],spatialReference:r.A.WebMercator}),minus180Line:new s.A({paths:[[[-20037508.342788905,-20037508.342788905],[-20037508.342788905,20037508.342788905]]],spatialReference:r.A.WebMercator})},4326:{maxX:180,minX:-180,plus180Line:new s.A({paths:[[[180,-180],[180,180]]],spatialReference:r.A.WGS84}),minus180Line:new s.A({paths:[[[-180,-180],[-180,180]]],spatialReference:r.A.WGS84})}};function c(e,t){return Math.ceil((e-t)/(2*t))}function u(e,t){if((0,o.Ed)(e))for(const n of function(e){return(0,i.Bi)(e)?e.curveRings:e.curvePaths}(e))for(const e of n){if((0,o.aO)(e)){const[n,s]=e.c;n[0]+=t,s[0]+=t;continue}if((0,o.FG)(e)){const[n,s]=e.a;n[0]+=t,s[0]+=t;continue}if((0,o.n1)(e)){const[n,s,r]=e.b;n[0]+=t,s[0]+=t,r[0]+=t;continue}e[0]+=t}for(const n of l(e))for(const e of n)e[0]+=t;return e}function l(e){return(0,i.Bi)(e)?e.rings:e.paths}},62815(e,t,n){n.d(t,{N:()=>a,d:()=>c});var s=n(86211),r=n(73941),i=n(21325),o=n(52006);function a(e,t,n){const s=c(t,n);if(1!==s)switch(e){case"point":case"esriGeometryPoint":return e=>function(e,t){null!=e?.z&&(e.z*=t)}(e,s);case"polyline":case"esriGeometryPolyline":return e=>function(e,t){if(e){if(e.curvePaths)for(const n of e.curvePaths)for(const e of n){const n=(0,o.yP)(e);n.length>2&&(n[2]*=t)}if(e.paths)for(const n of e.paths)for(const e of n)e.length>2&&(e[2]*=t)}}(e,s);case"polygon":case"esriGeometryPolygon":return e=>function(e,t){if(e){if(e.curveRings)for(const n of e.curveRings)for(const e of n){const n=(0,o.yP)(e);n.length>2&&(n[2]*=t)}if(e.rings)for(const n of e.rings)for(const e of n)e.length>2&&(e[2]*=t)}}(e,s);case"multipoint":case"esriGeometryMultipoint":return e=>function(e,t){if(e)for(const n of e.points)n.length>2&&(n[2]*=t)}(e,s);case"extent":case"esriGeometryEnvelope":return e=>function(e,t){e&&null!=e.zmin&&null!=e.zmax&&(e.zmin*=t,e.zmax*=t)}(e,s);default:return}}function c(e,t){return null==e||null==t||t.vcsWkid||(0,i.aI)(e,t)||(0,r.xP)(e)||(0,r.xP)(t)?1:(0,s.G9)(e)/(0,s.G9)(t)}},31464(e,t,n){n.d(t,{Cv:()=>d,Nk:()=>h,lK:()=>m});var s=n(4576),r=n(91218),i=n(21325),o=n(28735);const a=[0,0];function c(e,t){if(!t)return null;if("x"in t){const n={x:0,y:0};return[n.x,n.y]=e(t.x,t.y,a),null!=t.z&&(n.z=t.z),null!=t.m&&(n.m=t.m),n}if("xmin"in t){const n={xmin:0,ymin:0,xmax:0,ymax:0};return[n.xmin,n.ymin]=e(t.xmin,t.ymin,a),[n.xmax,n.ymax]=e(t.xmax,t.ymax,a),t.hasZ&&(n.zmin=t.zmin,n.zmax=t.zmax,n.hasZ=!0),t.hasM&&(n.mmin=t.mmin,n.mmax=t.mmax,n.hasM=!0),n}return"rings"in t?{rings:u(t.rings,e),hasM:t.hasM,hasZ:t.hasZ}:"paths"in t?{paths:u(t.paths,e),hasM:t.hasM,hasZ:t.hasZ}:"points"in t?{points:l(t.points,e),hasM:t.hasM,hasZ:t.hasZ}:null}function u(e,t){const n=[];for(const s of e)n.push(l(s,t));return n}function l(e,t){const n=[];for(const s of e){const e=t(s[0],s[1],[0,0]);n.push(e),s.length>2&&e.push(s[2]),s.length>3&&e.push(s[3])}return n}async function h(e,t){if(!e||!t)return;const n=Array.isArray(e)?e.map(e=>null!=e.geometry?e.geometry.spatialReference:null).filter(s.Ru):[e];await(0,r.initializeProjection)(n.map(e=>({source:e,dest:t})))}const f=c.bind(null,o.je),p=c.bind(null,o.tD);function d(e,t,n,s){if(!e)return null;if(n||(n=t,t=e.spatialReference),!(0,i.fn)(t)||!(0,i.fn)(n)||(0,i.aI)(t,n))return e;if((0,o.y7)(t,n)){const t=(0,i.K8)(n)?f(e):p(e);return t.spatialReference=n,t}return(0,r.projectMany)([e],t,n,s)[0]}const g=new class{constructor(){this._jobs=[],this._timer=null,this._process=this._process.bind(this)}async push(e,t,n,s){if(!e?.length||!t||!n||(0,i.aI)(t,n))return e;const r={geometries:e,inSpatialReference:t,outSpatialReference:n,options:s,resolve:Promise.withResolvers()};return this._jobs.push(r),this._timer??=setTimeout(this._process,10),r.resolve.promise}_process(){this._timer=null;const e=this._jobs.shift();if(!e)return;const{geometries:t,inSpatialReference:n,outSpatialReference:s,resolve:a,options:c}=e,u=t.filter(e=>null!=e);let l;l=(0,o.y7)(n,s)&&null==c?.extendedParams?(0,i.K8)(s)?u.map(f):u.map(p):(0,r.projectMany)(u,n,s,c);let h=0;const d=t.map(e=>null==e?null:l[h++]);a.resolve(d),this._jobs.length>0&&(this._timer=setTimeout(this._process,10))}};function m(e,t,n,s){return g.push(e,t,n,s)}},60986(e,t,n){n.r(t),n.d(t,{createConnection:()=>C});var s=n(11254),r=n(49186),i=n(31464),o=n(9916),a=n(5482),c=n(65529),u=n(91429);let l=class extends c.nJ{destroy(){this.emit("destroy")}get connectionError(){return this.errorString?new r.A("stream-connection",this.errorString):null}onFeature(e){this.emit("data-received",e)}onMessage(e){this.emit("message-received",e)}};(0,a.Cg)([(0,u.MZ)({readOnly:!0})],l.prototype,"connectionError",null),l=(0,a.Cg)([(0,u.$K)("esri.layers.support.StreamConnection")],l);class h extends l{constructor(e,t){super(),this._config=e,this._outSpatialReference=t,this.connectionStatus="connected",this.errorString=null,this._isPolling=!1,this._lastIngestedAt=null,this._pollTimer=null,this._pollRecentData=async()=>{if(!this.destroyed&&!this._isPolling){this._isPolling=!0;try{const e=await this._queryChanges(this._lastIngestedAt);if(this.destroyed)return;this._handleResult(e)}catch(e){this.errorString=e instanceof Error?e.message:"Failed to fetch"}finally{this._isPolling=!1}}},this._initialize()}destroy(){super.destroy(),this._pollTimer&&(clearInterval(this._pollTimer),this._pollTimer=null)}sendMessageToSocket(e){throw new r.A("kusto:unsupported","sendMessageToSocket not supported for Kusto connections")}sendMessageToClient(e){throw new r.A("kusto:unsupported","sendMessageToClient not supported for Kusto connections")}updateCustomParameters(e){throw new r.A("kusto:unsupported","updateCustomParameters not supported for Kusto connections")}async _initialize(){await(0,i.Nk)(this._config.sourceSpatialReference,this._outSpatialReference);try{const e=await this._queryInitial();this._handleResult(e),this._pollTimer=setInterval(this._pollRecentData,6e4*this._config.refreshInterval)}catch{throw new r.A("kusto:connection","Failed to query KQL database")}}async _queryInitial(){const{trackIdField:e}=this._config,t=f(await this._executeQuery(`${(0,o.xw)(this._config.table)} | extend IngestedAt = ingestion_time() | summarize arg_max(IngestedAt, *) by ${(0,o.xw)(e)}`));if(!t)throw new r.A("kusto:connection","Unable to find primaryTable");return{ingestedAt:p(t),table:t}}async _queryChanges(e=null){const t=e??"1970-01-01T00:00:00Z",n=f(await this._executeQuery(`${(0,o.xw)(this._config.table)} | extend IngestedAt = ingestion_time() | where IngestedAt > todatetime('${(0,o.iD)(t)}') | order by IngestedAt asc`));if(!n)throw new r.A("kusto:connection","Unable to find primaryTable");return{ingestedAt:p(n),table:n}}async _executeQuery(e){const t=this._config.database,n=t.properties.queryServiceUri,{data:r}=await(0,s.A)(`${n}/v2/rest/query`,{responseType:"json",method:"post",headers:{"Content-Type":"application/json"},body:JSON.stringify({db:t.displayName,csl:e})});return r}_handleResult(e){this._lastIngestedAt=e.ingestedAt;const t=this._createFeatures(e.table);if(null!=t){this.onMessage(t);for(const e of t)this.onFeature(e)}}_createFeatures(e){if(null==e||0===e.Rows.length)return null;const{xField:t,yField:n}=this._config.geometryEncoding,s=e.Columns.findIndex(e=>e.ColumnName===t),r=e.Columns.findIndex(e=>e.ColumnName===n);return e.Rows.map(t=>this._createFeature(e.Columns,s,r,t))}_createFeature(e,t,n,s){const{xField:r,yField:o}=this._config.geometryEncoding,a={};for(let t=0;t<e.length;t++){const n=e[t],i=s[t]??null;n.ColumnName!==o&&n.ColumnName!==r&&(a[n.ColumnName]=i)}let c=null;const u=s[t],l=s[n];return null!=l&&null!=u&&(c=(0,i.Cv)({x:u,y:l},this._config.sourceSpatialReference,this._outSpatialReference)),{attributes:a,geometry:c}}}function f(e){return e.find(e=>"DataTable"===e.FrameType&&"PrimaryResult"===e.TableKind)??null}function p(e){const t=e.Columns.findIndex(e=>"IngestedAt"===e.ColumnName);if(t<0)return null;let n=null;for(const s of e.Rows){const e=s[t];"string"==typeof e&&(null==n||e>n)&&(n=e)}return n}var d=n(53966),g=n(84952),m=n(16930),y=n(65864),_=n(17676),S=n(62815);function w(e,t){if(null==e&&null==t)return null;const n={};return null!=t&&(n.geometry=t),null!=e&&(n.where=e),n}let b=class extends l{constructor(e,t){super({}),this._outSpatialReference=t,this._outstandingMessages=[],this.errorString=null;const{geometryType:n,sourceSpatialReference:s}=e;this._config=e,this._featureZScaler=(0,S.N)(n,s,this._outSpatialReference),this._open()}normalizeCtorArgs(){return{}}async _open(){await this._tryCreateWebSocket(),this.destroyed||await this._handshake()}destroy(){super.destroy(),null!=this._websocket&&(this._websocket.onopen=null,this._websocket.onclose=null,this._websocket.onerror=null,this._websocket.onmessage=null,this._websocket.close()),this._websocket=null}get connectionStatus(){if(null==this._websocket)return"disconnected";switch(this._websocket.readyState){case 0:case 1:return"connected";case 2:case 3:return"disconnected"}}sendMessageToSocket(e){null!=this._websocket?this._websocket.send(JSON.stringify(e)):this._outstandingMessages.push(e)}sendMessageToClient(e){this._onMessage(e)}updateCustomParameters(e){this._config.customParameters=e,null!=this._websocket&&this._websocket.close()}async _tryCreateWebSocket(e=this._config.url.path,t=1e3,n=0){try{if(this.destroyed)return;const t=(0,g.a6)(e,this._config.customParameters??{});this._websocket=await this._createWebSocket(t),this.notifyChange("connectionStatus")}catch(s){const i=t/1e3;return this._config.maxReconnectionAttempts&&n>=this._config.maxReconnectionAttempts?(d.A.getLogger(this).error(new r.A("websocket-connection","Exceeded maxReconnectionAttempts attempts. No further attempts will be made")),void this.destroy()):(d.A.getLogger(this).error(new r.A("websocket-connection",`Failed to connect. Attempting to reconnect in ${i}s`,s)),await(0,_.Pl)(t),this._tryCreateWebSocket(e,Math.min(1.5*t,1e3*this._config.maxReconnectionInterval),n+1))}}_setWebSocketJSONParseHandler(e){e.onmessage=e=>{try{const t=JSON.parse(e.data);this._onMessage(t)}catch(e){return void d.A.getLogger(this).error(new r.A("websocket-connection","Failed to parse message, invalid JSON",{error:e}))}}}_createWebSocket(e){return new Promise((t,n)=>{const s=new WebSocket(e);s.onopen=()=>{if(s.onopen=null,this.destroyed)return s.onclose=null,void s.close();s.onclose=e=>this._onClose(e),s.onerror=e=>this._onError(e),this._setWebSocketJSONParseHandler(s),t(s)},s.onclose=e=>{s.onopen=s.onclose=null,n(e)}})}async _handshake(e=1e4){const t=this._websocket;if(null==t)return;const n=Promise.withResolvers(),s=t.onmessage,i=w(this._config.definitionExpression,this._config.geometryDefinition),{outFields:o}=this._config,a=setTimeout(()=>n.reject(),e),c=()=>{clearTimeout(a),n.reject()};return t.onmessage=e=>{let u=null;try{u=JSON.parse(e.data)}catch(e){}u&&"object"==typeof u||(d.A.getLogger(this).error(new r.A("websocket-connection","Protocol violation. Handshake failed - malformed message",e.data)),c(),this.destroy()),u.spatialReference?.wkid!==this._outSpatialReference?.wkid&&(d.A.getLogger(this).error(new r.A("websocket-connection",`Protocol violation. Handshake failed - expected wkid of ${this._outSpatialReference.wkid}`,e.data)),c(),this.destroy()),"json"!==u.format&&(d.A.getLogger(this).error(new r.A("websocket-connection","Protocol violation. Handshake failed - format is not set",e.data)),c(),this.destroy()),i&&u.filter!==i&&d.A.getLogger(this).error(new r.A("websocket-connection","Tried to set filter, but server doesn't support it")),o&&u.outFields!==o&&d.A.getLogger(this).error(new r.A("websocket-connection","Tried to set outFields, but server doesn't support it")),t.onmessage=s;for(const e of this._outstandingMessages)t.send(JSON.stringify(e));this._outstandingMessages=[],clearTimeout(a),n.resolve()},t.send(JSON.stringify({filter:i,outFields:o,format:"json",spatialReference:{wkid:this._outSpatialReference.wkid}})),n.promise}_onMessage(e){if(this.onMessage(e),"type"in e)switch(e.type){case"features":case"featureResult":for(const t of e.features)null!=this._featureZScaler&&this._featureZScaler(t.geometry),this.onFeature(t)}}_onError(e){const t="Encountered an error over WebSocket connection";this._set("errorString",t),d.A.getLogger(this).error("websocket-connection",t)}_onClose(e){this._websocket=null,this.notifyChange("connectionStatus"),1e3!==e.code&&d.A.getLogger(this).error("websocket-connection",`WebSocket closed unexpectedly with error code ${e.code}`),this.destroyed||this._open()}};(0,a.Cg)([(0,u.MZ)()],b.prototype,"connectionStatus",null),(0,a.Cg)([(0,u.MZ)()],b.prototype,"errorString",void 0),b=(0,a.Cg)([(0,u.$K)("esri.layers.graphics.sources.connections.WebSocketConnection")],b);var v=n(80893),k=n(97552);const x={maxQueryDepth:5,maxRecordCountFactor:3};let A=class extends b{constructor(e,t){super({...x,...e},t),this._buddyServicesQuery=null,this._relatedFeatures=null}async _open(){const e=await this._fetchServiceDefinition(this._config.url);e.timeInfo.trackIdField||d.A.getLogger(this).warn("GeoEvent service was configured without a TrackIdField. This may result in certain functionality being disabled. The purgeOptions.maxObservations property will have no effect.");const t=this._fetchWebSocketUrl(e.streamUrls,this._outSpatialReference);this._buddyServicesQuery||(this._buddyServicesQuery=this._queryBuddyServices()),await this._buddyServicesQuery,await this._tryCreateWebSocket(t);const n=w(this._config.definitionExpression,this._config.geometryDefinition),{outFields:s}=this._config;this.destroyed||this._setFilter(n,s)}_onMessage(e){if("attributes"in e){let t;try{t=this._enrich(e),null!=this._featureZScaler&&this._featureZScaler(t.geometry)}catch(e){return void d.A.getLogger(this).error(new r.A("geoevent-connection","Failed to parse message",e))}this.onFeature(t)}else this.onMessage(e)}async _fetchServiceDefinition(e){const t={f:"json",...this._config.customParameters},n=(0,s.A)(e.path,{query:t,responseType:"json"}),r=(await n).data;return this._serviceDefinition=r,r}_fetchWebSocketUrl(e,t){const n=e[0],{urls:s,token:r}=n,i=this._inferWebSocketBaseUrl(s);return(0,g.a6)(`${i}/subscribe`,{outSR:""+t.wkid,token:r})}_inferWebSocketBaseUrl(e){if(1===e.length)return e[0];for(const t of e)if(t.includes("wss"))return t;return d.A.getLogger(this).error(new r.A("geoevent-connection","Unable to infer WebSocket url",e)),null}async _setFilter(e,t){const n=this._websocket;if(null==n||null==e&&null==t)return;const s=JSON.stringify({filter:this._serializeFilter(e,t)});let i=!1;const o=Promise.withResolvers();return n.onmessage=e=>{const t=JSON.parse(e.data);t.filter&&(t.error&&(d.A.getLogger(this).error(new r.A("geoevent-connection","Failed to set service filter",t.error)),this._set("errorString",`Could not set service filter - ${t.error}`),o.reject(t.error)),this._setWebSocketJSONParseHandler(n),i=!0,o.resolve())},n.send(s),setTimeout(()=>{i||(this.destroyed||this._websocket!==n||d.A.getLogger(this).error(new r.A("geoevent-connection","Server timed out when setting filter")),o.reject())},1e4),o.promise}_serializeFilter(e,t){const n={};if(null==e&&null==t)return n;if(e?.geometry)try{const t=(0,y.rS)(e.geometry);if("extent"!==t.type)throw new r.A("geoevent-connection",`Expected extent but found type ${t.type}`);n.geometry=JSON.stringify(t.shiftCentralMeridian())}catch(e){d.A.getLogger(this).error(new r.A("geoevent-connection","Encountered an error when setting connection geometryDefinition",e))}return e?.where&&"1 = 1"!==e.where&&"1=1"!==e.where&&(n.where=e.where),null!=t&&(n.outFields=t.join(",")),n}_enrich(e){if(!this._relatedFeatures)return e;const t=this._serviceDefinition.relatedFeatures.joinField,n=e.attributes[t],s=this._relatedFeatures.get(n);if(!s)return d.A.getLogger(this).warn("geoevent-connection","Feature join failed. Is the join field configured correctly?",e),e;const{attributes:i,geometry:o}=s;for(const t in i)e.attributes[t]=i[t];return o&&(e.geometry=o),e.geometry||e.centroid||d.A.getLogger(this).error(new r.A("geoevent-connection","Found malformed feature - no geometry found",e)),e}async _queryBuddyServices(){try{const{relatedFeatures:e,keepLatestArchive:t}=this._serviceDefinition,n=this._queryRelatedFeatures(e),s=this._queryArchive(t);await n;const r=await s;if(!r)return;for(const e of r.features)this.onFeature(this._enrich(e))}catch(e){d.A.getLogger(this).error(new r.A("geoevent-connection","Encountered an error when querying buddy services",{error:e}))}}async _queryRelatedFeatures(e){if(!e)return;const t=await this._queryBuddy(e.featuresUrl);this._addRelatedFeatures(t)}async _queryArchive(e){if(e)return this._queryBuddy(e.featuresUrl)}async _queryBuddy(e){const t=new((await Promise.all([n.e(7632),n.e(8278),n.e(7865),n.e(9953),n.e(6554),n.e(2869),n.e(3910),n.e(1733),n.e(1214),n.e(8399),n.e(1017),n.e(4674),n.e(993),n.e(8589),n.e(7609),n.e(812),n.e(4460)]).then(n.bind(n,18589))).default)({url:e}),{capabilities:s}=await t.load(),r=s.query.supportsMaxRecordCountFactor,i=s.query.supportsPagination,o=s.query.supportsCentroid,a=this._config.maxRecordCountFactor,c=t.capabilities.query.maxRecordCount,u=r?c*a:c,l=new k.A;if(l.outFields=this._config.outFields??["*"],l.where=this._config.definitionExpression??"1=1",l.returnGeometry=!0,l.returnExceededLimitFeatures=!0,l.outSpatialReference=m.A.fromJSON(this._outSpatialReference),o&&(l.returnCentroid=!0),r&&(l.maxRecordCountFactor=a),i)return l.num=u,t.destroy(),this._queryPages(e,l);const h=await(0,v.eW)(e,l,this._config.sourceSpatialReference);return t.destroy(),h}async _queryPages(e,t,n=[],s=0){t.start=null!=t.num?s*t.num:null;const r=await(0,v.eW)(e,t,this._config.sourceSpatialReference);return r.exceededTransferLimit&&s<(this._config.maxQueryDepth??0)?(r.features.forEach(e=>n.push(e)),this._queryPages(e,t,n,s+1)):(n.forEach(e=>r.features.push(e)),r)}_addRelatedFeatures(e){const t=new Map,n=e.features,s=this._serviceDefinition.relatedFeatures.joinField;for(const e of n){const n=e.attributes[s];t.set(n,e)}this._relatedFeatures=t}};A=(0,a.Cg)([(0,u.$K)("esri.layers.graphics.sources.connections.GeoEventConnection")],A);var M=n(64108);let R=class extends l{constructor(e,t){super({}),this.connectionStatus="connected",this.errorString=null;const{geometryType:n,sourceSpatialReference:s}=e;this._featureZScaler=(0,S.N)(n,s,t)}normalizeCtorArgs(){return{}}updateCustomParameters(e){}sendMessageToSocket(e){}sendMessageToClient(e){if("type"in e)switch(e.type){case"features":case"featureResult":for(const t of e.features)null!=this._featureZScaler&&this._featureZScaler(t.geometry),this.onFeature(t)}this.onMessage(e)}};function C(e,t){switch(e.type){case"client":return new R(e,t);case"custom":return new b(e,t);case"geoevent":return new A(e,t);case"kusto":return new h(e,t)}}(0,a.Cg)([(0,u.MZ)()],R.prototype,"connectionStatus",void 0),(0,a.Cg)([(0,u.MZ)()],R.prototype,"errorString",void 0),R=(0,a.Cg)([(0,M.$)("esri.layers.support.ClientSideConnection")],R)},92300(e,t,n){n.d(t,{V:()=>o,X:()=>i});var s=n(60408),r=n(65864);function i(e){return{geometryType:(0,s.$B)(e[0]),geometries:e.map(e=>e.toJSON())}}function o(e,t,n){const s=(0,r.xD)(t);return e.map(e=>{const t=s.fromJSON(e);return t.spatialReference=n,t})}},58501(e,t,n){n.d(t,{q:()=>r});var s=n(62815);function r(e,t,n){if(!n?.features||!n.hasZ)return;const r=(0,s.N)(n.geometryType,t,e.outSpatialReference);if(r)for(const e of n.features)r(e.geometry)}}}]);
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[4401,9397],{69052(e,t,n){n.d(t,{hr:()=>r,ie:()=>c,uC:()=>a});var s=n(34727);class r{constructor(e,t){this.min=e,this.max=t,this.range=t-e}normalize(e,t=0,n=!1){return i(this.range,this.min,this.max,e,t,n)}clamp(e,t=0){return(0,s.qE)(e-t,this.min,this.max)+t}monotonic(e,t,n){return e<t?t:t+o(this.range,e-t,n)}minimalMonotonic(e,t,n){return i(this.range,e,e+this.range,t,n)}center(e,t,n){return t=this.monotonic(e,t,n),this.normalize((e+t)/2,n)}diff(e,t,n){return this.monotonic(e,t,n)-e}shortestSignedDiff(e,t){e=this.normalize(e);const n=(t=this.normalize(t))-e,s=t<e?this.minimalMonotonic(e,t)-e:t-this.minimalMonotonic(t,e);return Math.abs(n)<Math.abs(s)?n:s}contains(e,t,n){return t=this.minimalMonotonic(e,t),(n=this.minimalMonotonic(e,n))>e&&n<t}}function i(e,t,n,s,r=0,i=!1){return(s-=r)<t?s+=o(e,t-s):s>n&&(s-=o(e,s-n)),i&&s===n&&(s=t),s+r}function o(e,t,n=0){return Math.ceil((t-n)/e)*e+n}const a=new r(0,2*Math.PI),c=(new r(-Math.PI,Math.PI),new r(0,360))},56512(e,t,n){function s(e){let t,n,s=[],r=!1;return function(...i){return r&&t===this&&function(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;++n)if(e[n]!==t[n])return!1;return!0}(i,s)||(n=e.apply(this,i),t=this,s=i,r=!0),n}}n.d(t,{B:()=>s})},69397(e,t,n){n.d(t,{Qf:()=>c,Qh:()=>o,RS:()=>r,Ul:()=>p,i5:()=>f,lM:()=>i,qK:()=>l});var s=n(34275);const r=16;function i(e){if(!e)return 0;let t=l;for(const n in e)e.hasOwnProperty(n)&&(t+=a(e[n],!1));return t}function o(e){if(!e)return 0;if("number"==typeof e[0])return c(e);if(Array.isArray(e))return function(e){const t=e.length;if(0===t||"number"==typeof e[0])return u(e,8);let n=h;for(let s=0;s<t;s++)n+=a(e[s]);return n}(e);let t=l;for(const n in e)e.hasOwnProperty(n)&&(t+=a(e[n]));return t}function a(e,t=!0){switch(typeof e){case"object":return t?o(e):l;case"string":return function(e){return 32+e.length}(e);case"number":return r;case"boolean":return 4;default:return 8}}function c(...e){return e.reduce((e,t)=>e+(t?(0,s.iu)(t)?t.byteLength+f:Array.isArray(t)?u(t,r):0:0),0)}function u(e,t){return h+e.length*t}const l=32,h=16,f=145,p=64},31411(e,t,n){n.d(t,{GS:()=>x,gh:()=>M});var s=n(49186),r=n(56512),i=n(65864),o=n(4305),a=n(50954),c=n(52006),u=n(49663),l=n(46068),h=n(15507);const f=1e-6,p=[0,0];function d(e){return{maxSegmentLength:e.maxSegmentLength??0,maxDeviation:e.maxDeviation??0,maxSegmentsPerCurve:e.maxSegmentsPerCurve??12e3,minSegmentsPerCurve:Math.max(e.minSegmentsPerCurve??1,1)}}class g{constructor(e,t){this.curveStart=e,this.curveEnd=t,this.tStart=0,this.tEnd=0,this.tEndStack=[],this.arcEndStack=[]}get stackSize(){return this.tEndStack.length}initialize(e,t){this.tStart=0,this.arcStart=e,this.tEndStack.push(1),this.arcEndStack.push(t)}splitAt(e){this.tEndStack.push(this.tEnd),this.arcEndStack.push(this.arcEnd),this.tEndStack.push(e),this.arcEndStack.push(this.interpolate(e))}splitInHalf(){return this.splitAt((this.tStart+this.tEnd)/2)}pop(){this.tEnd=this.tEndStack.pop(),this.arcEnd=this.arcEndStack.pop()}next(){this.tStart=this.tEnd,this.arcStart=this.arcEnd}densify(e,{maxDeviation:t,maxSegmentLength:n,maxSegmentsPerCurve:s,minSegmentsPerCurve:r}){const i=n*n,o=t*t,a=1/s,c=this.interpolate(0),u=this.interpolate(1);(0,h.kb)(this.curveStart,c)>f&&e.push(c),this.initialize(c,u);const l=1/r;for(let e=r-1;e>0;e--){const t=e*l;this.pop(),this.splitAt(t)}for(;this.stackSize>0;)this.pop(),this.tStart===this.tEnd||this.tEnd-this.tStart<a||(0===i||!isFinite(i)||(0,h.kb)(this.arcStart,this.arcEnd)<i)&&(0===o||!isFinite(o)||this.getDeviation2()<o)?(e.push(this.arcEnd),this.next()):this.splitInHalf();return(0,h.kb)(this.curveEnd,u)>f&&e.push([...this.curveEnd]),e}}class m extends g{constructor(e,t){const[n,s,r]=t.b;super(e,n),this._controlPointsStack=[],this._curveControlPoints=[s,r],this._arcControlPoints=[s,r],this._controlPointsStack.push(this._arcControlPoints)}splitAt(e){const{arcStart:t,arcEnd:n,tStart:s,tEnd:r}=this,[i,o]=this._arcControlPoints,a=(e-s)/(r-s),c=(0,h.RS)([],t,i,a),u=(0,h.RS)(p,i,o,a),l=(0,h.RS)([],o,n,a),f=(0,h.RS)([],c,u,a),d=(0,h.RS)([],u,l,a),g=(0,h.RS)([],f,d,a);this.tEndStack.push(this.tEnd),this.arcEndStack.push(this.arcEnd),this._controlPointsStack.push([d,l]),this.tEndStack.push(e),this.arcEndStack.push(g),this._arcControlPoints[0]=c,this._arcControlPoints[1]=f,this._controlPointsStack.push(this._arcControlPoints)}pop(){super.pop(),this._arcControlPoints=this._controlPointsStack.pop()}interpolate(e){const{curveStart:t,curveEnd:n}=this,[s,r]=this._curveControlPoints;return(0,o.B4)(t,s,r,n,e)}getDeviation2(){const{arcStart:e,arcEnd:t}=this,[n,s]=this._arcControlPoints;return Math.max((0,h.yE)(n,e,t),(0,h.yE)(s,e,t))}}class y extends g{constructor(e,t){const[n]=t.a;super(e,n),this._derivedEllipse=(0,l.SW)(e,t)}pop(){super.pop(),this._tMid=(this.tStart+this.tEnd)/2,this._arcMid=this.interpolate(this._tMid)}splitInHalf(){this.tEndStack.push(this.tEnd),this.arcEndStack.push(this.arcEnd),this.tEndStack.push(this._tMid),this.arcEndStack.push(this._arcMid)}interpolate(e){return(0,l.Uk)(this._derivedEllipse,e)}getDeviation2(){return(0,h.yE)(this._arcMid,this.arcStart,this.arcEnd)}}function _(e,t,n,{cx:s,cy:r,radius:i,thetaStart:o,thetaEnd:a,isInvalid:c},{maxDeviation:u,maxSegmentLength:l,maxSegmentsPerCurve:p,minSegmentsPerCurve:d}){if(c)return e.push([...n]),e;const g=2*i,m=[s+i*Math.cos(o),r+i*Math.sin(o)],y=[s+i*Math.cos(a),r+i*Math.sin(a)];(0,h.kb)(t,m)>f&&e.push(m);const _=Math.abs(a-o),S=l>0&&l<g?2*Math.asin(l/g):_,w=u>0&&u<=i?2*Math.acos(1-u/i):_,b=Math.min(S,w),v=Math.min(p,Math.max(d,Math.ceil(Math.abs(_/b)))),k=1/v;for(let t=1;t<v;t++){const n=t*k,c=o*(1-n)+a*n;e.push([s+i*Math.cos(c),r+i*Math.sin(c)])}return e.push(y),(0,h.kb)(n,y)>f&&e.push([...n]),e}function S(e,t,n,s){return new m(t,n).densify(e,s)}function w(e,t,n,s){const r=(0,a.pM)(t,n),[i]=n.c;return _(e,t,i,r,s)}function b(e,t,n,s){const r=(0,u.io)(t,n),[i]=n.a;return _(e,t,i,r,s)}function v(e,t,n,s){const[r,i,o,a,c,u,l]=n.a;return 0===u||0===l?(e.push([...r]),e):new y(t,n).densify(e,s)}function k(e,t,n,s){return(0,c.Xq)(n)?(e.push([...n]),e):(0,c.n1)(n)?S(e,t,n,s):(0,c.aO)(n)?w(e,t,n,s):(0,c.DA)(n)?b(e,t,n,s):v(e,t,n,s)}function x(e,t={}){if(!(0,c.Ed)(e))return e;const n=d(t),s=(0,c.FD)(e),r=[];for(const e of s){const t=[];for(let s=0;s<e.length-1;s++){const r=s+1,i=[...(0,c.yP)(e[s])];0===s&&t.push(i),k(t,i,e[r],n)}r.push(t)}return"curvePaths"in e?{...void 0!==e.hasZ?{hasZ:e.hasZ}:{},...void 0!==e.hasM?{hasM:e.hasM}:{},paths:r,spatialReference:e.spatialReference}:{...void 0!==e.hasZ?{hasZ:e.hasZ}:{},...void 0!==e.hasM?{hasM:e.hasM}:{},rings:r,spatialReference:e.spatialReference}}const A=(0,r.B)(e=>({maxDeviation:0,maxSegmentLength:100*e,maxSegmentsPerCurve:12e3,minSegmentsPerCurve:1}));async function M(e,t,r){const o=new Set(t);return await async function(e,t,r){let i=null;for(const o of e)if(o&&(0,c.Ed)(o)&&null==o.spatialReference.xyTolerance&&(0,c.V8)(o,t)){const e=o.spatialReference;if(!e)throw new s.A("geometry:missing-spatial-reference","Geometry contains an unsupported curve type, but it cannot be densified because it has no spatial reference.");const t=R(e);if(r.has(t))o.spatialReference=r.get(t);else{i||(i=await Promise.all([n.e(6042),n.e(1878),n.e(8885),n.e(5756),n.e(3299),n.e(6312)]).then(n.bind(n,78125)));const a=i.fromSpatialReference(e),c=a?.getTolerance();if(null==c)throw new s.A("geometry:missing-tolerance","Geometry contains an unsupported curve type, but it cannot be densified because the tolerance of its spatial reference is unknown. Set the `xyTolerance` property of the spatial reference.");const u=o.spatialReference.clone();u.read({xyTolerance:c}),o.spatialReference=u,r.set(t,u)}}}(e,o,r),e.map(e=>{if(!e||!(0,c.Ed)(e))return e;const n=e.spatialReference.xyTolerance;if(null==n)return e;const s=A(n);return(0,i.rS)(function(e,t,n){if(!(0,c.Ed)(e))return e;const s=new Set(t),r=d(n),i=(0,c.FD)(e),o=[];let a=!1;for(const e of i){const t=[];for(let n=0;n<e.length-1;n++){const i=n+1,o=[...(0,c.yP)(e[n])];0===n&&t.push(o);const u=e[i];(0,c.Xq)(u)?t.push([...u]):(0,c.n1)(u)&&!s.has("cubic-bezier")?S(t,o,u,r):(0,c.aO)(u)&&!s.has("circular-arc")?w(t,o,u,r):(0,c.DA)(u)&&!s.has("elliptic-arc")?b(t,o,u,r):(0,c.wY)(u)&&!s.has("elliptic-arc")?v(t,o,u,r):(t.push((0,c.tk)(u)),a=!0)}o.push(t)}return"curvePaths"in e?{...void 0!==e.hasZ?{hasZ:e.hasZ}:{},...void 0!==e.hasM?{hasM:e.hasM}:{},spatialReference:e.spatialReference,...a?{curvePaths:o}:{paths:o}}:{hasZ:e.hasZ,hasM:e.hasM,spatialReference:e.spatialReference,...a?{curveRings:o}:{rings:o}}}(e,t,s))})}function R(e){if(null!=e.wkid)return`${e.wkid}`;if(null!=e.wkt)return e.wkt;const t="toJSON"in e&&"function"==typeof e.toJSON?e.toJSON():e;return JSON.stringify(t)}},17136(e,t,n){n.d(t,{Y_:()=>E,O7:()=>C,el:()=>R});var s=n(92602),r=n(69052),i=n(49186),o=n(53966),a=n(39829),c=n(82799),u=n(16930),l=n(80754),h=n(21325),f=n(28735),p=n(52006),d=n(31411),g=n(11254),m=n(60408),y=n(65864),_=n(2272),S=n(84952),w=n(92300);const b=()=>o.A.getLogger("esri.geometry.support.normalizeUtils");function v(e){return"polygon"===e[0].type}function k(e){return"polyline"===e[0].type}function x(e,t,n){const s=1e6;if(t){const t=(0,p.Ed)(e)?(0,d.GS)(e,{maxSegmentLength:s}):function(e,t){if(!(e instanceof c.A||e instanceof a.A)){const e="straightLineDensify: the input geometry is neither polyline nor polygon";throw b().error(e),new i.A("internal:geometry",e)}const n=(0,l.r8)(e),s=[];for(const e of n){const n=[];s.push(n),n.push([e[0][0],e[0][1]]);for(let s=0;s<e.length-1;s++){const r=e[s][0],i=e[s][1],o=e[s+1][0],a=e[s+1][1],c=Math.sqrt((o-r)*(o-r)+(a-i)*(a-i)),u=(a-i)/c,l=(o-r)/c,h=c/t;if(h>1){for(let e=1;e<=h-1;e++){const s=e*t,o=l*s+r,a=u*s+i;n.push([o,a])}const e=(c+Math.floor(h-1)*t)/2,s=l*e+r,o=u*e+i;n.push([s,o])}n.push([o,a])}}return function(e){return"polygon"===e.type}(e)?new a.A({rings:s,spatialReference:e.spatialReference}):new c.A({paths:s,spatialReference:e.spatialReference})}(e,s);e=(0,f.ci)(t,!0)}return n&&(e=(0,l.kS)(e,n)),e}function A(e,t,n){if(Array.isArray(e)){const s=e[0];if(s>t){const n=(0,l.kd)(s,t);e[0]=s+n*(-2*t)}else if(s<n){const t=(0,l.kd)(s,n);e[0]=s+t*(-2*n)}}else{const s=e.x;if(s>t){const n=(0,l.kd)(s,t);e=e.clone().offset(n*(-2*t),0)}else if(s<n){const t=(0,l.kd)(s,n);e=e.clone().offset(t*(-2*n),0)}}return e}function M(e,t){let n=-1;for(let s=0;s<t.cutIndexes.length;s++){const r=t.cutIndexes[s],i=t.geometries[s],o=(0,l.r8)(i);for(let e=0;e<o.length;e++){const t=o[e];t.some(n=>{if(n[0]<180)return!0;{let n=0;for(let e=0;e<t.length;e++){const s=t[e][0];n=s>n?s:n}n=Number(n.toFixed(9));const s=-360*(0,l.kd)(n,180);for(let n=0;n<t.length;n++){const t=i.getPoint(e,n);i.setPoint(e,n,t.clone().offset(s,0))}return!0}})}if(r===n){if(v(e))for(const t of(0,l.r8)(i))e[r]=e[r].addRing(t);else if(k(e))for(const t of(0,l.r8)(i))e[r]=e[r].addPath(t)}else n=r,e[r]=i}return e}async function R(e,t,n){if(!Array.isArray(e))return R([e],t);t&&"string"!=typeof t&&b().warn("normalizeCentralMeridian()","The url object is deprecated, use the url string instead");const r="string"==typeof t?t:t?.url??s.A.geometryServiceUrl;let i,o,u,p,d,v,k,C,P=0;const E=[],F=[];for(const t of e)if(null!=t)if(i||(i=t.spatialReference,o=(0,h.Vp)(i),u=i.isWebMercator,v=u?102100:4326,p=l.j7[v].maxX,d=l.j7[v].minX,k=l.j7[v].plus180Line,C=l.j7[v].minus180Line),o)if("mesh"===t.type)F.push(t);else if("point"===t.type)F.push(A(t.clone(),p,d));else if("multipoint"===t.type){const e=t.clone();e.points=e.points.map(e=>A(e,p,d)),F.push(e)}else if("extent"===t.type){const e=t.clone()._normalize(!1,!1,o);F.push(e.rings?new a.A(e):e)}else if(t.extent){const e=t.extent,n=(0,l.kd)(e.xmin,d)*(2*p);let s=0===n?t.clone():(0,l.kS)(t.clone(),n);e.offset(n,0);let{xmin:r,xmax:i}=e;r=Number(r.toFixed(9)),i=Number(i.toFixed(9)),e.intersects(k)&&i!==p?(P=i>P?i:P,s=x(s,u),E.push(s),F.push("cut")):e.intersects(C)&&r!==d?(P=i*(2*p)>P?i*(2*p):P,s=x(s,u,360),E.push(s),F.push("cut")):F.push(s)}else F.push(t.clone());else F.push(t);else F.push(t);let T=(0,l.kd)(P,p),N=-90;const L=T,I=new c.A;for(;T>0;){const e=360*T-180;I.addPath([[e,N],[e,-1*N]]),N*=-1,T--}if(E.length>0&&L>0){const t=M(E,await async function(e,t,n,s){const r=(0,_.Dl)(e),i=t[0].spatialReference,o={...s,responseType:"json",query:{...r.query,f:"json",sr:(0,h.YX)(i),target:JSON.stringify({geometryType:(0,m.$B)(t[0]),geometries:t}),cutter:JSON.stringify(n)}},a=await(0,g.A)(r.path+"/cut",o),{cutIndexes:c,geometries:u=[]}=a.data;return{cutIndexes:c,geometries:u.map(e=>{const t=(0,y.rS)(e);return t.spatialReference=i,t})}}(r,E,I,n)),s=[],i=[];for(let n=0;n<F.length;n++){const r=F[n];if("cut"!==r)i.push(r);else{const r=t.shift(),o=e[n];null!=o&&"polygon"===o.type&&o.rings&&o.rings.length>1&&r.rings.length>=o.rings.length?(s.push(r),i.push("simplify")):i.push(u?(0,f.Gh)(r):r)}}if(!s.length)return i;const o=await async function(e,t,n){const s="string"==typeof e?(0,S.An)(e):e,r=t[0].spatialReference,i=(0,m.$B)(t[0]),o={...n,query:{...s.query,f:"json",sr:(0,h.YX)(r),geometries:JSON.stringify((0,w.X)(t))}},{data:a}=await(0,g.A)(s.path+"/simplify",o);return(0,w.V)(a.geometries,i,r)}(r,s,n),a=[];for(let e=0;e<i.length;e++){const t=i[e];"simplify"!==t?a.push(t):a.push(u?(0,f.Gh)(o.shift()):o.shift())}return a}const q=[];for(let e=0;e<F.length;e++){const t=F[e];if("cut"!==t)q.push(t);else{const e=E.shift();q.push(!0===u?(0,f.Gh)(e):e)}}return q}function C(e,t,n){const s=(0,h.Vp)(n);if(null==s)return e;const[r,i]=s.valid,o=2*i;let a=0,c=0;t>i?a=Math.ceil(Math.abs(t-i)/o):t<r&&(a=-Math.ceil(Math.abs(t-r)/o)),e>i?c=Math.ceil(Math.abs(e-i)/o):e<r&&(c=-Math.ceil(Math.abs(e-r)/o));let u=e+(a-c)*o;const l=u-t;return l>i?u-=o:l<r&&(u+=o),u}function P(e){const t=(0,h.Vp)(e);if(null==t)return null;const[n,s]=t.valid;return new r.hr(n,s)}const E=P(u.A.WGS84);P(u.A.WebMercator)},80754(e,t,n){n.d(t,{j7:()=>a,kS:()=>u,kd:()=>c,r8:()=>l});var s=n(82799),r=n(16930),i=n(60408),o=n(52006);const a={102100:{maxX:20037508.342788905,minX:-20037508.342788905,plus180Line:new s.A({paths:[[[20037508.342788905,-20037508.342788905],[20037508.342788905,20037508.342788905]]],spatialReference:r.A.WebMercator}),minus180Line:new s.A({paths:[[[-20037508.342788905,-20037508.342788905],[-20037508.342788905,20037508.342788905]]],spatialReference:r.A.WebMercator})},4326:{maxX:180,minX:-180,plus180Line:new s.A({paths:[[[180,-180],[180,180]]],spatialReference:r.A.WGS84}),minus180Line:new s.A({paths:[[[-180,-180],[-180,180]]],spatialReference:r.A.WGS84})}};function c(e,t){return Math.ceil((e-t)/(2*t))}function u(e,t){if((0,o.Ed)(e))for(const n of function(e){return(0,i.Bi)(e)?e.curveRings:e.curvePaths}(e))for(const e of n){if((0,o.aO)(e)){const[n,s]=e.c;n[0]+=t,s[0]+=t;continue}if((0,o.FG)(e)){const[n,s]=e.a;n[0]+=t,s[0]+=t;continue}if((0,o.n1)(e)){const[n,s,r]=e.b;n[0]+=t,s[0]+=t,r[0]+=t;continue}e[0]+=t}for(const n of l(e))for(const e of n)e[0]+=t;return e}function l(e){return(0,i.Bi)(e)?e.rings:e.paths}},62815(e,t,n){n.d(t,{N:()=>a,d:()=>c});var s=n(86211),r=n(73941),i=n(21325),o=n(52006);function a(e,t,n){const s=c(t,n);if(1!==s)switch(e){case"point":case"esriGeometryPoint":return e=>function(e,t){null!=e?.z&&(e.z*=t)}(e,s);case"polyline":case"esriGeometryPolyline":return e=>function(e,t){if(e){if(e.curvePaths)for(const n of e.curvePaths)for(const e of n){const n=(0,o.yP)(e);n.length>2&&(n[2]*=t)}if(e.paths)for(const n of e.paths)for(const e of n)e.length>2&&(e[2]*=t)}}(e,s);case"polygon":case"esriGeometryPolygon":return e=>function(e,t){if(e){if(e.curveRings)for(const n of e.curveRings)for(const e of n){const n=(0,o.yP)(e);n.length>2&&(n[2]*=t)}if(e.rings)for(const n of e.rings)for(const e of n)e.length>2&&(e[2]*=t)}}(e,s);case"multipoint":case"esriGeometryMultipoint":return e=>function(e,t){if(e)for(const n of e.points)n.length>2&&(n[2]*=t)}(e,s);case"extent":case"esriGeometryEnvelope":return e=>function(e,t){e&&null!=e.zmin&&null!=e.zmax&&(e.zmin*=t,e.zmax*=t)}(e,s);default:return}}function c(e,t){return null==e||null==t||t.vcsWkid||(0,i.aI)(e,t)||(0,r.xP)(e)||(0,r.xP)(t)?1:(0,s.G9)(e)/(0,s.G9)(t)}},31464(e,t,n){n.d(t,{Cv:()=>d,Nk:()=>h,lK:()=>m});var s=n(4576),r=n(91218),i=n(21325),o=n(28735);const a=[0,0];function c(e,t){if(!t)return null;if("x"in t){const n={x:0,y:0};return[n.x,n.y]=e(t.x,t.y,a),null!=t.z&&(n.z=t.z),null!=t.m&&(n.m=t.m),n}if("xmin"in t){const n={xmin:0,ymin:0,xmax:0,ymax:0};return[n.xmin,n.ymin]=e(t.xmin,t.ymin,a),[n.xmax,n.ymax]=e(t.xmax,t.ymax,a),t.hasZ&&(n.zmin=t.zmin,n.zmax=t.zmax,n.hasZ=!0),t.hasM&&(n.mmin=t.mmin,n.mmax=t.mmax,n.hasM=!0),n}return"rings"in t?{rings:u(t.rings,e),hasM:t.hasM,hasZ:t.hasZ}:"paths"in t?{paths:u(t.paths,e),hasM:t.hasM,hasZ:t.hasZ}:"points"in t?{points:l(t.points,e),hasM:t.hasM,hasZ:t.hasZ}:null}function u(e,t){const n=[];for(const s of e)n.push(l(s,t));return n}function l(e,t){const n=[];for(const s of e){const e=t(s[0],s[1],[0,0]);n.push(e),s.length>2&&e.push(s[2]),s.length>3&&e.push(s[3])}return n}async function h(e,t){if(!e||!t)return;const n=Array.isArray(e)?e.map(e=>null!=e.geometry?e.geometry.spatialReference:null).filter(s.Ru):[e];await(0,r.initializeProjection)(n.map(e=>({source:e,dest:t})))}const f=c.bind(null,o.je),p=c.bind(null,o.tD);function d(e,t,n,s){if(!e)return null;if(n||(n=t,t=e.spatialReference),!(0,i.fn)(t)||!(0,i.fn)(n)||(0,i.aI)(t,n))return e;if((0,o.y7)(t,n)){const t=(0,i.K8)(n)?f(e):p(e);return t.spatialReference=n,t}return(0,r.projectMany)([e],t,n,s)[0]}const g=new class{constructor(){this._jobs=[],this._timer=null,this._process=this._process.bind(this)}async push(e,t,n,s){if(!e?.length||!t||!n||(0,i.aI)(t,n))return e;const r={geometries:e,inSpatialReference:t,outSpatialReference:n,options:s,resolve:Promise.withResolvers()};return this._jobs.push(r),this._timer??=setTimeout(this._process,10),r.resolve.promise}_process(){this._timer=null;const e=this._jobs.shift();if(!e)return;const{geometries:t,inSpatialReference:n,outSpatialReference:s,resolve:a,options:c}=e,u=t.filter(e=>null!=e);let l;l=(0,o.y7)(n,s)&&null==c?.extendedParams?(0,i.K8)(s)?u.map(f):u.map(p):(0,r.projectMany)(u,n,s,c);let h=0;const d=t.map(e=>null==e?null:l[h++]);a.resolve(d),this._jobs.length>0&&(this._timer=setTimeout(this._process,10))}};function m(e,t,n,s){return g.push(e,t,n,s)}},60986(e,t,n){n.r(t),n.d(t,{createConnection:()=>C});var s=n(11254),r=n(49186),i=n(31464),o=n(9916),a=n(5482),c=n(65529),u=n(91429);let l=class extends c.nJ{destroy(){this.emit("destroy")}get connectionError(){return this.errorString?new r.A("stream-connection",this.errorString):null}onFeature(e){this.emit("data-received",e)}onMessage(e){this.emit("message-received",e)}};(0,a.Cg)([(0,u.MZ)({readOnly:!0})],l.prototype,"connectionError",null),l=(0,a.Cg)([(0,u.$K)("esri.layers.support.StreamConnection")],l);class h extends l{constructor(e,t){super(),this._config=e,this._outSpatialReference=t,this.connectionStatus="connected",this.errorString=null,this._isPolling=!1,this._lastIngestedAt=null,this._pollTimer=null,this._pollRecentData=async()=>{if(!this.destroyed&&!this._isPolling){this._isPolling=!0;try{const e=await this._queryChanges(this._lastIngestedAt);if(this.destroyed)return;this._handleResult(e)}catch(e){this.errorString=e instanceof Error?e.message:"Failed to fetch"}finally{this._isPolling=!1}}},this._initialize()}destroy(){super.destroy(),this._pollTimer&&(clearInterval(this._pollTimer),this._pollTimer=null)}sendMessageToSocket(e){throw new r.A("kusto:unsupported","sendMessageToSocket not supported for Kusto connections")}sendMessageToClient(e){throw new r.A("kusto:unsupported","sendMessageToClient not supported for Kusto connections")}updateCustomParameters(e){throw new r.A("kusto:unsupported","updateCustomParameters not supported for Kusto connections")}async _initialize(){await(0,i.Nk)(this._config.sourceSpatialReference,this._outSpatialReference);try{const e=await this._queryInitial();this._handleResult(e),this._pollTimer=setInterval(this._pollRecentData,6e4*this._config.refreshInterval)}catch{throw new r.A("kusto:connection","Failed to query KQL database")}}async _queryInitial(){const{trackIdField:e}=this._config,t=f(await this._executeQuery(`${(0,o.xw)(this._config.table)} | extend IngestedAt = ingestion_time() | summarize arg_max(IngestedAt, *) by ${(0,o.xw)(e)}`));if(!t)throw new r.A("kusto:connection","Unable to find primaryTable");return{ingestedAt:p(t),table:t}}async _queryChanges(e=null){const t=e??"1970-01-01T00:00:00Z",n=f(await this._executeQuery(`${(0,o.xw)(this._config.table)} | extend IngestedAt = ingestion_time() | where IngestedAt > todatetime('${(0,o.iD)(t)}') | order by IngestedAt asc`));if(!n)throw new r.A("kusto:connection","Unable to find primaryTable");return{ingestedAt:p(n),table:n}}async _executeQuery(e){const t=this._config.database,n=t.properties.queryServiceUri,{data:r}=await(0,s.A)(`${n}/v2/rest/query`,{responseType:"json",method:"post",headers:{"Content-Type":"application/json"},body:JSON.stringify({db:t.displayName,csl:e})});return r}_handleResult(e){this._lastIngestedAt=e.ingestedAt;const t=this._createFeatures(e.table);if(null!=t){this.onMessage(t);for(const e of t)this.onFeature(e)}}_createFeatures(e){if(null==e||0===e.Rows.length)return null;const{xField:t,yField:n}=this._config.geometryEncoding,s=e.Columns.findIndex(e=>e.ColumnName===t),r=e.Columns.findIndex(e=>e.ColumnName===n);return e.Rows.map(t=>this._createFeature(e.Columns,s,r,t))}_createFeature(e,t,n,s){const{xField:r,yField:o}=this._config.geometryEncoding,a={};for(let t=0;t<e.length;t++){const n=e[t],i=s[t]??null;n.ColumnName!==o&&n.ColumnName!==r&&(a[n.ColumnName]=i)}let c=null;const u=s[t],l=s[n];return null!=l&&null!=u&&(c=(0,i.Cv)({x:u,y:l},this._config.sourceSpatialReference,this._outSpatialReference)),{attributes:a,geometry:c}}}function f(e){return e.find(e=>"DataTable"===e.FrameType&&"PrimaryResult"===e.TableKind)??null}function p(e){const t=e.Columns.findIndex(e=>"IngestedAt"===e.ColumnName);if(t<0)return null;let n=null;for(const s of e.Rows){const e=s[t];"string"==typeof e&&(null==n||e>n)&&(n=e)}return n}var d=n(53966),g=n(84952),m=n(16930),y=n(65864),_=n(17676),S=n(62815);function w(e,t){if(null==e&&null==t)return null;const n={};return null!=t&&(n.geometry=t),null!=e&&(n.where=e),n}let b=class extends l{constructor(e,t){super({}),this._outSpatialReference=t,this._outstandingMessages=[],this.errorString=null;const{geometryType:n,sourceSpatialReference:s}=e;this._config=e,this._featureZScaler=(0,S.N)(n,s,this._outSpatialReference),this._open()}normalizeCtorArgs(){return{}}async _open(){await this._tryCreateWebSocket(),this.destroyed||await this._handshake()}destroy(){super.destroy(),null!=this._websocket&&(this._websocket.onopen=null,this._websocket.onclose=null,this._websocket.onerror=null,this._websocket.onmessage=null,this._websocket.close()),this._websocket=null}get connectionStatus(){if(null==this._websocket)return"disconnected";switch(this._websocket.readyState){case 0:case 1:return"connected";case 2:case 3:return"disconnected"}}sendMessageToSocket(e){null!=this._websocket?this._websocket.send(JSON.stringify(e)):this._outstandingMessages.push(e)}sendMessageToClient(e){this._onMessage(e)}updateCustomParameters(e){this._config.customParameters=e,null!=this._websocket&&this._websocket.close()}async _tryCreateWebSocket(e=this._config.url.path,t=1e3,n=0){try{if(this.destroyed)return;const t=(0,g.a6)(e,this._config.customParameters??{});this._websocket=await this._createWebSocket(t),this.notifyChange("connectionStatus")}catch(s){const i=t/1e3;return this._config.maxReconnectionAttempts&&n>=this._config.maxReconnectionAttempts?(d.A.getLogger(this).error(new r.A("websocket-connection","Exceeded maxReconnectionAttempts attempts. No further attempts will be made")),void this.destroy()):(d.A.getLogger(this).error(new r.A("websocket-connection",`Failed to connect. Attempting to reconnect in ${i}s`,s)),await(0,_.Pl)(t),this._tryCreateWebSocket(e,Math.min(1.5*t,1e3*this._config.maxReconnectionInterval),n+1))}}_setWebSocketJSONParseHandler(e){e.onmessage=e=>{try{const t=JSON.parse(e.data);this._onMessage(t)}catch(e){return void d.A.getLogger(this).error(new r.A("websocket-connection","Failed to parse message, invalid JSON",{error:e}))}}}_createWebSocket(e){return new Promise((t,n)=>{const s=new WebSocket(e);s.onopen=()=>{if(s.onopen=null,this.destroyed)return s.onclose=null,void s.close();s.onclose=e=>this._onClose(e),s.onerror=e=>this._onError(e),this._setWebSocketJSONParseHandler(s),t(s)},s.onclose=e=>{s.onopen=s.onclose=null,n(e)}})}async _handshake(e=1e4){const t=this._websocket;if(null==t)return;const n=Promise.withResolvers(),s=t.onmessage,i=w(this._config.definitionExpression,this._config.geometryDefinition),{outFields:o}=this._config,a=setTimeout(()=>n.reject(),e),c=()=>{clearTimeout(a),n.reject()};return t.onmessage=e=>{let u=null;try{u=JSON.parse(e.data)}catch(e){}u&&"object"==typeof u||(d.A.getLogger(this).error(new r.A("websocket-connection","Protocol violation. Handshake failed - malformed message",e.data)),c(),this.destroy()),u.spatialReference?.wkid!==this._outSpatialReference?.wkid&&(d.A.getLogger(this).error(new r.A("websocket-connection",`Protocol violation. Handshake failed - expected wkid of ${this._outSpatialReference.wkid}`,e.data)),c(),this.destroy()),"json"!==u.format&&(d.A.getLogger(this).error(new r.A("websocket-connection","Protocol violation. Handshake failed - format is not set",e.data)),c(),this.destroy()),i&&u.filter!==i&&d.A.getLogger(this).error(new r.A("websocket-connection","Tried to set filter, but server doesn't support it")),o&&u.outFields!==o&&d.A.getLogger(this).error(new r.A("websocket-connection","Tried to set outFields, but server doesn't support it")),t.onmessage=s;for(const e of this._outstandingMessages)t.send(JSON.stringify(e));this._outstandingMessages=[],clearTimeout(a),n.resolve()},t.send(JSON.stringify({filter:i,outFields:o,format:"json",spatialReference:{wkid:this._outSpatialReference.wkid}})),n.promise}_onMessage(e){if(this.onMessage(e),"type"in e)switch(e.type){case"features":case"featureResult":for(const t of e.features)null!=this._featureZScaler&&this._featureZScaler(t.geometry),this.onFeature(t)}}_onError(e){const t="Encountered an error over WebSocket connection";this._set("errorString",t),d.A.getLogger(this).error("websocket-connection",t)}_onClose(e){this._websocket=null,this.notifyChange("connectionStatus"),1e3!==e.code&&d.A.getLogger(this).error("websocket-connection",`WebSocket closed unexpectedly with error code ${e.code}`),this.destroyed||this._open()}};(0,a.Cg)([(0,u.MZ)()],b.prototype,"connectionStatus",null),(0,a.Cg)([(0,u.MZ)()],b.prototype,"errorString",void 0),b=(0,a.Cg)([(0,u.$K)("esri.layers.graphics.sources.connections.WebSocketConnection")],b);var v=n(80893),k=n(97552);const x={maxQueryDepth:5,maxRecordCountFactor:3};let A=class extends b{constructor(e,t){super({...x,...e},t),this._buddyServicesQuery=null,this._relatedFeatures=null}async _open(){const e=await this._fetchServiceDefinition(this._config.url);e.timeInfo.trackIdField||d.A.getLogger(this).warn("GeoEvent service was configured without a TrackIdField. This may result in certain functionality being disabled. The purgeOptions.maxObservations property will have no effect.");const t=this._fetchWebSocketUrl(e.streamUrls,this._outSpatialReference);this._buddyServicesQuery||(this._buddyServicesQuery=this._queryBuddyServices()),await this._buddyServicesQuery,await this._tryCreateWebSocket(t);const n=w(this._config.definitionExpression,this._config.geometryDefinition),{outFields:s}=this._config;this.destroyed||this._setFilter(n,s)}_onMessage(e){if("attributes"in e){let t;try{t=this._enrich(e),null!=this._featureZScaler&&this._featureZScaler(t.geometry)}catch(e){return void d.A.getLogger(this).error(new r.A("geoevent-connection","Failed to parse message",e))}this.onFeature(t)}else this.onMessage(e)}async _fetchServiceDefinition(e){const t={f:"json",...this._config.customParameters},n=(0,s.A)(e.path,{query:t,responseType:"json"}),r=(await n).data;return this._serviceDefinition=r,r}_fetchWebSocketUrl(e,t){const n=e[0],{urls:s,token:r}=n,i=this._inferWebSocketBaseUrl(s);return(0,g.a6)(`${i}/subscribe`,{outSR:""+t.wkid,token:r})}_inferWebSocketBaseUrl(e){if(1===e.length)return e[0];for(const t of e)if(t.includes("wss"))return t;return d.A.getLogger(this).error(new r.A("geoevent-connection","Unable to infer WebSocket url",e)),null}async _setFilter(e,t){const n=this._websocket;if(null==n||null==e&&null==t)return;const s=JSON.stringify({filter:this._serializeFilter(e,t)});let i=!1;const o=Promise.withResolvers();return n.onmessage=e=>{const t=JSON.parse(e.data);t.filter&&(t.error&&(d.A.getLogger(this).error(new r.A("geoevent-connection","Failed to set service filter",t.error)),this._set("errorString",`Could not set service filter - ${t.error}`),o.reject(t.error)),this._setWebSocketJSONParseHandler(n),i=!0,o.resolve())},n.send(s),setTimeout(()=>{i||(this.destroyed||this._websocket!==n||d.A.getLogger(this).error(new r.A("geoevent-connection","Server timed out when setting filter")),o.reject())},1e4),o.promise}_serializeFilter(e,t){const n={};if(null==e&&null==t)return n;if(e?.geometry)try{const t=(0,y.rS)(e.geometry);if("extent"!==t.type)throw new r.A("geoevent-connection",`Expected extent but found type ${t.type}`);n.geometry=JSON.stringify(t.shiftCentralMeridian())}catch(e){d.A.getLogger(this).error(new r.A("geoevent-connection","Encountered an error when setting connection geometryDefinition",e))}return e?.where&&"1 = 1"!==e.where&&"1=1"!==e.where&&(n.where=e.where),null!=t&&(n.outFields=t.join(",")),n}_enrich(e){if(!this._relatedFeatures)return e;const t=this._serviceDefinition.relatedFeatures.joinField,n=e.attributes[t],s=this._relatedFeatures.get(n);if(!s)return d.A.getLogger(this).warn("geoevent-connection","Feature join failed. Is the join field configured correctly?",e),e;const{attributes:i,geometry:o}=s;for(const t in i)e.attributes[t]=i[t];return o&&(e.geometry=o),e.geometry||e.centroid||d.A.getLogger(this).error(new r.A("geoevent-connection","Found malformed feature - no geometry found",e)),e}async _queryBuddyServices(){try{const{relatedFeatures:e,keepLatestArchive:t}=this._serviceDefinition,n=this._queryRelatedFeatures(e),s=this._queryArchive(t);await n;const r=await s;if(!r)return;for(const e of r.features)this.onFeature(this._enrich(e))}catch(e){d.A.getLogger(this).error(new r.A("geoevent-connection","Encountered an error when querying buddy services",{error:e}))}}async _queryRelatedFeatures(e){if(!e)return;const t=await this._queryBuddy(e.featuresUrl);this._addRelatedFeatures(t)}async _queryArchive(e){if(e)return this._queryBuddy(e.featuresUrl)}async _queryBuddy(e){const t=new((await Promise.all([n.e(7632),n.e(8278),n.e(7865),n.e(9953),n.e(6554),n.e(2869),n.e(3910),n.e(1733),n.e(1214),n.e(8399),n.e(1017),n.e(4674),n.e(993),n.e(3781),n.e(7609),n.e(812),n.e(4460)]).then(n.bind(n,53781))).default)({url:e}),{capabilities:s}=await t.load(),r=s.query.supportsMaxRecordCountFactor,i=s.query.supportsPagination,o=s.query.supportsCentroid,a=this._config.maxRecordCountFactor,c=t.capabilities.query.maxRecordCount,u=r?c*a:c,l=new k.A;if(l.outFields=this._config.outFields??["*"],l.where=this._config.definitionExpression??"1=1",l.returnGeometry=!0,l.returnExceededLimitFeatures=!0,l.outSpatialReference=m.A.fromJSON(this._outSpatialReference),o&&(l.returnCentroid=!0),r&&(l.maxRecordCountFactor=a),i)return l.num=u,t.destroy(),this._queryPages(e,l);const h=await(0,v.eW)(e,l,this._config.sourceSpatialReference);return t.destroy(),h}async _queryPages(e,t,n=[],s=0){t.start=null!=t.num?s*t.num:null;const r=await(0,v.eW)(e,t,this._config.sourceSpatialReference);return r.exceededTransferLimit&&s<(this._config.maxQueryDepth??0)?(r.features.forEach(e=>n.push(e)),this._queryPages(e,t,n,s+1)):(n.forEach(e=>r.features.push(e)),r)}_addRelatedFeatures(e){const t=new Map,n=e.features,s=this._serviceDefinition.relatedFeatures.joinField;for(const e of n){const n=e.attributes[s];t.set(n,e)}this._relatedFeatures=t}};A=(0,a.Cg)([(0,u.$K)("esri.layers.graphics.sources.connections.GeoEventConnection")],A);var M=n(64108);let R=class extends l{constructor(e,t){super({}),this.connectionStatus="connected",this.errorString=null;const{geometryType:n,sourceSpatialReference:s}=e;this._featureZScaler=(0,S.N)(n,s,t)}normalizeCtorArgs(){return{}}updateCustomParameters(e){}sendMessageToSocket(e){}sendMessageToClient(e){if("type"in e)switch(e.type){case"features":case"featureResult":for(const t of e.features)null!=this._featureZScaler&&this._featureZScaler(t.geometry),this.onFeature(t)}this.onMessage(e)}};function C(e,t){switch(e.type){case"client":return new R(e,t);case"custom":return new b(e,t);case"geoevent":return new A(e,t);case"kusto":return new h(e,t)}}(0,a.Cg)([(0,u.MZ)()],R.prototype,"connectionStatus",void 0),(0,a.Cg)([(0,u.MZ)()],R.prototype,"errorString",void 0),R=(0,a.Cg)([(0,M.$)("esri.layers.support.ClientSideConnection")],R)},92300(e,t,n){n.d(t,{V:()=>o,X:()=>i});var s=n(60408),r=n(65864);function i(e){return{geometryType:(0,s.$B)(e[0]),geometries:e.map(e=>e.toJSON())}}function o(e,t,n){const s=(0,r.xD)(t);return e.map(e=>{const t=s.fromJSON(e);return t.spatialReference=n,t})}},58501(e,t,n){n.d(t,{q:()=>r});var s=n(62815);function r(e,t,n){if(!n?.features||!n.hasZ)return;const r=(0,s.N)(n.geometryType,t,e.outSpatialReference);if(r)for(const e of n.features)r(e.geometry)}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[926,4794],{69540(e,t,i){i.d(t,{OU:()=>c,Pw:()=>h});var n=i(5482),s=i(69622),r=(i(44208),i(4718)),o=(i(53966),i(97768)),a=i(88620),l=i(64108);const u=Symbol("ClonableMixin"),c=e=>{var t;const i=e;let s=class extends i{constructor(){super(...arguments),this[t]=!0}static{t=u}clone(e){const t=(0,a.oY)(this);(0,o.Lw)(t,"unable to clone instance of non-accessor class");const i=t.metadata,n=t.store,s={},l=new Map;for(const t in i){const o=i[t],a=n?.originOf(t),u=o.clonable;if(o.readOnly||!1===u||7!==a&&0!==a&&5!==a&&4!==a)continue;const c=this[t];let h=null;if("function"==typeof u)h=u(c,e);else if("reference"===u)h=c;else if(h=(0,r.TU)(c,e),null!=c&&null==h)continue;0===a?l.set(t,h):s[t]=h}const u=new(0,Object.getPrototypeOf(this).constructor)(s);if(l.size){const e=(0,a.oY)(u)?.store;if(e)for(const[t,i]of l)e.set(t,i,0)}return u}};return s=(0,n.Cg)([(0,l.$)("esri.core.Clonable")],s),s},h=c(s.A)},66344(e,t,i){i.d(t,{q:()=>a});const n=!!(0,i(44208).A)("esri-tests-disable-gpu-memory-measurements");Symbol.iterator;class s{get size(){return this._size}constructor(e=10485760,t=.3){this._maxSize=e,this._maxClientSizeRatio=t,this._db=new Map,this._size=0,this._hit=0,this._miss=0,this._clients=new Map,this._sizeLimits=new Map}destroy(){this.clearAll(),this._sizeLimits.clear(),this._clients.clear(),this._db.clear()}register(e){this._clients.set(e.id.slice(0,-1),e)}deregister(e){this.clear(e),this._sizeLimits.delete(e),this._clients.delete(e.id.slice(0,-1))}get maxSize(){return this._maxSize}set maxSize(e){this._maxSize=Math.max(e,-1),this._checkSize()}get _maxClientSize(){return this._maxSize*this._maxClientSizeRatio}getSize(e,t){const i=this._db.get(e.id+t);return i?.size??0}put(e,t,i,s,o){t=e.id+t;const a=this._db.get(t);if(a&&(this._size-=a.size,e.size-=a.size,this._db.delete(t),a.entry!==i&&this._notifyRemove(t,a.entry,a.size,0)),s>this._maxSize)return void this._notifyRemove(t,i,s,0);if(void 0===i)return void console.warn("Refusing to cache undefined entry ");if(!s||s<0)return n||console.warn(`Refusing to cache entry with size ${s} for key ${t}`),void this._notifyRemove(t,i,0,0);const l=1+Math.max(o,-4)- -3;this._db.set(t,new r(i,s,l)),this._size+=s,e.size+=s,this._checkSize()}updateSize(e,t){t=e.id+t;const i=this._db.get(t);if(!i)return;this._size-=i.size,e.size-=i.size;let n=i.entry.usedMemory;for(;n>this._maxSize;){const e=this._notifyRemove(t,i.entry,n,1);if(!(null!=e&&e>0))return void this._db.delete(t);n=e}i.size=n,this._size+=n,e.size+=n,this._checkSize()}pop(e,t){t=e.id+t;const i=this._db.get(t);if(i)return this._size-=i.size,e.size-=i.size,this._db.delete(t),++this._hit,i.entry;++this._miss}get(e,t){t=e.id+t;const i=this._db.get(t);if(void 0!==i)return this._db.delete(t),i.lives=i.lifetime,this._db.set(t,i),++this._hit,i.entry;++this._miss}peek(e,t){const i=this._db.get(e.id+t);return i?++this._hit:++this._miss,i?.entry}get performanceInfo(){const e={Size:Math.round(this._size/1048576)+"/"+Math.round(this._maxSize/1048576)+"MB","Hit rate":Math.round(100*this._getHitRate())+"%",Entries:this._db.size.toString()},t={},i=new Array;this._db.forEach((e,n)=>{const s=e.lifetime;i[s]=(i[s]||0)+e.size,this._clients.forEach(i=>{const{id:s,name:r}=i;if(n.startsWith(s)){const i=t[r]||0;t[r]=i+e.size}})});const n={};this._clients.forEach(e=>{const i=e.name;if("hitRate"in e&&"number"==typeof e.hitRate&&!isNaN(e.hitRate)&&e.hitRate>0){const s=t[i]||0;t[i]=s,n[i]=Math.round(100*e.hitRate)+"%"}else n[i]="0%"});const s=Object.keys(t);s.sort((e,i)=>t[i]-t[e]),s.forEach(i=>e[i]=Math.round(t[i]/2**20)+"MB / "+n[i]);for(let t=i.length-1;t>=0;--t){const n=i[t];n&&(e["Priority "+(t+-3-1)]=Math.round(n/this._size*100)+"%")}return e}resetStats(){this._hit=this._miss=0,this._clients.forEach(e=>e.resetHitRate())}clear(e){const t=e.id;this._db.forEach((e,i)=>{i.startsWith(t)&&(this._size-=e.size,this._db.delete(i),this._notifyRemove(i,e.entry,e.size,0))}),e.size=0}clearAll(){this._db.forEach((e,t)=>this._notifyRemove(t,e.entry,e.size,0)),this._clients.forEach(e=>e.size=0),this._size=0,this._db.clear()}*values(e){for(const[t,i]of this._db)t.startsWith(e.id)&&(yield i.entry)}_getHitRate(){return this._hit/(this._hit+this._miss)}_notifyRemove(e,t,i,n){const s=this._clients.get(e.split(o)[0])?.removeFunc,r=s?.(t,n,i);return"number"==typeof r?r:null}_checkSize(){this._sizeLimits.forEach((e,t)=>this._checkSizeLimits(e,t)),this._clients.forEach(e=>this._checkSizeLimits(this._maxClientSize,e)),this._checkSizeLimits(this.maxSize)}setMaxClientSize(e,t){null==t||t<=0?this._sizeLimits.delete(e):this._sizeLimits.set(e,t)}_checkSizeLimits(e,t){const i=t??this;if(i.size<=e)return;const n=t?.id;let s=!0;for(;s;){s=!1;for(const[r,a]of this._db)if(0===a.lifetime&&(!n||r.startsWith(n))){const n=t??this._clients.get(r.split(o)[0]);if(this._purgeItem(r,a,n),i.size<=.9*e)return;s||=this._db.has(r)}}for(const[s,r]of this._db)if(!n||s.startsWith(n)){const n=t??this._clients.get(s.split(o)[0]);if(this._purgeItem(s,r,n),i.size<=.9*e)return}}_purgeItem(e,t,i){if(this._db.delete(e),t.lives<=1){this._size-=t.size,i&&(i.size-=t.size);const n=this._notifyRemove(e,t.entry,t.size,1);null!=n&&n>0&&(this._size+=n,i&&(i.size+=n),t.lives=t.lifetime,t.size=n,this._db.set(e,t))}else--t.lives,this._db.set(e,t)}}new s(0);class r{constructor(e,t,i){this.entry=e,this.size=t,this.lifetime=i,this.lives=i}}const o=":";class a{constructor(e,t){this.removeFunc=t,this.id="",this.name="",this.size=0,this._storage=new s(e,1),this._storage.register(this)}destroy(){this._storage.deregister(this),this._storage.destroy()}put(e,t,i=1){this._storage.put(this,e,t,i,1)}pop(e){return this._storage.pop(this,e)}get(e){return this._storage.get(this,e)}clear(){this._storage.clearAll()}get maxSize(){return this._storage.maxSize}set maxSize(e){this._storage.maxSize=e}resetHitRate(){}}},60999(e,t,i){i.d(t,{DZ:()=>m,Ke:()=>p,Tj:()=>c,UT:()=>f,aD:()=>g,jJ:()=>u});var n=i(5482),s=i(69622),r=i(97768),o=i(17676),a=i(10107),l=i(64108);function u(e,t,i){return(0,o.Lx)(e.map((e,n)=>t.apply(i,[e,n])))}async function c(e,t,i){return(await(0,o.Lx)(e.map((e,n)=>t.apply(i,[e,n])))).map(e=>e.value)}function h(e){return{ok:!0,value:e}}function d(e){return{ok:!1,error:e}}async function p(e){if(null==e)return{ok:!1,error:new Error("no promise provided")};try{return h(await e)}catch(e){return d(e)}}async function m(e){try{return h(await e)}catch(e){return(0,o.QP)(e),d(e)}}function f(e,t){return new y(e,t)}let y=class extends s.A{get value(){return null!=(e=this._result)&&!0===e.ok?e.value:null;var e}get error(){return null!=(e=this._result)&&!1===e.ok?e.error:null;var e}get finished(){return null!=this._result}constructor(e,t){super({}),this._result=null,this._abortHandle=null,this.abort=()=>{this._abortController=(0,r.DC)(this._abortController)},this.remove=this.abort,this._abortController=new AbortController;const{signal:i}=this._abortController;this.promise=e(i),this.promise.then(e=>{this._result=h(e),this._cleanup()},e=>{this._result=d(e),this._cleanup()}),this._abortHandle=(0,o.u7)(t,this.abort)}normalizeCtorArgs(){return{}}destroy(){this.abort()}_cleanup(){this._abortHandle=(0,r.xt)(this._abortHandle),this._abortController=null}};(0,n.Cg)([(0,a.MZ)()],y.prototype,"value",null),(0,n.Cg)([(0,a.MZ)()],y.prototype,"error",null),(0,n.Cg)([(0,a.MZ)()],y.prototype,"finished",null),(0,n.Cg)([(0,a.MZ)()],y.prototype,"promise",void 0),(0,n.Cg)([(0,a.MZ)()],y.prototype,"_result",void 0),y=(0,n.Cg)([(0,l.$)("esri.core.asyncUtils.ReactiveTask")],y);class g{constructor(){this._sequence=Promise.resolve()}async acquire(){let e;this._sequence=new Promise(t=>{e=this._sequence.then(()=>t,()=>t)});const t=await e;return{[Symbol.dispose]:t}}async run(e){const t={stack:[],error:void 0,hasError:!1};try{return(0,n.mS)(t,await this.acquire(),!1),await e()}catch(e){t.error=e,t.hasError=!0}finally{(0,n.hk)(t)}}}},67482(e,t,i){function n(e){return null!=a(e)||null!=o(e)}function s(e){return l.test(e)}function r(e){return a(e)??o(e)}function o(e){const t=new Date(e);return function(e,t){if(Number.isNaN(e.getTime()))return!1;let i=!0;if(c&&/\d+\W*$/.test(t)){const e=t.match(/[a-zA-Z]{2,}/);if(e){let t=!1,n=0;for(;!t&&n<=e.length;)t=!u.test(e[n]),n++;i=!t}}return i}(t,e)?Number.isNaN(t.getTime())?null:t.getTime()-6e4*t.getTimezoneOffset():null}function a(e){const t=l.exec(e);if(!t?.groups)return null;const i=t.groups,n=+i.year,s=+i.month-1,r=+i.day,o=+(i.hours??"0"),a=+(i.minutes??"0"),u=+(i.seconds??"0");if(o>23)return null;if(a>59)return null;if(u>59)return null;const c=i.ms??"0",h=c?+c.padEnd(3,"0").slice(0,3):0;let d;if(i.isUTC||!i.offsetSign)d=Date.UTC(n,s,r,o,a,u,h);else{const e=+i.offsetHours,t=+i.offsetMinutes;d=6e4*("+"===i.offsetSign?-1:1)*(60*e+t)+Date.UTC(n,s,r,o,a,u,h)}return Number.isNaN(d)?null:d}i.d(t,{Br:()=>s,Cq:()=>n,_U:()=>r});const l=/^(?:(?<year>-?\d{4,})-(?<month>\d{2})-(?<day>\d{2}))(?:T(?<hours>\d{2}):(?<minutes>\d{2}):(?<seconds>\d{2})(?:\.(?<ms>\d+))?)?(?:(?<isUTC>Z)|(?:(?<offsetSign>\+|-)(?<offsetHours>\d{2}):(?<offsetMinutes>\d{2})))?$/,u=/^((jan(uary)?)|(feb(ruary)?)|(mar(ch)?)|(apr(il)?)|(may)|(jun(e)?)|(jul(y)?)|(aug(ust)?)|(sep(tember)?)|(oct(ober)?)|(nov(ember)?)|(dec(ember)?)|(am)|(pm)|(gmt)|(utc))$/i,c=!Number.isNaN(new Date("technology 10").getTime())},75503(e,t,i){i.d(t,{wq:()=>a});var n=i(4576),s=i(21818),r=(i(44208),i(15142)),o=i(11006);class a{constructor(e=9,t){this._compareMinX=d,this._compareMinY=p,this._toBBox=e=>e,this._maxEntries=Math.max(4,e||9),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),t&&("function"==typeof t?this._toBBox=t:this._initFormat(t)),this.clear()}destroy(){this.clear(),x.prune(),v.prune(),C.prune(),S.prune()}all(e){l(this._data,e)}search(e,t){let i=this._data;const n=this._toBBox;if(w(e,i))for(x.clear();i;){for(let s=0,r=i.children.length;s<r;s++){const r=i.children[s],o=i.leaf?n(r):r;w(e,o)&&(i.leaf?t(r):_(e,o)?l(r,t):x.push(r))}i=x.pop()}}collides(e){let t=this._data;const i=this._toBBox;if(!w(e,t))return!1;for(x.clear();t;){for(let n=0,s=t.children.length;n<s;n++){const s=t.children[n],r=t.leaf?i(s):s;if(w(e,r)){if(t.leaf||_(e,r))return!0;x.push(s)}}t=x.pop()}return!1}load(e){if(!e.length)return this;if(e.length<this._minEntries){for(let t=0,i=e.length;t<i;t++)this.insert(e[t]);return this}let t=this._build(e.slice(),0,e.length-1,0);if(this._data.children.length)if(this._data.height===t.height)this._splitRoot(this._data,t);else{if(this._data.height<t.height){const e=this._data;this._data=t,t=e}this._insert(t,this._data.height-t.height-1,!0)}else this._data=t;return this}insert(e){return e&&this._insert(e,this._data.height-1),this}clear(){return this._data=new M([]),this}remove(e){if(!e)return this;let t,i=this._data,r=null,o=0,a=!1;const l=this._toBBox(e);for(C.clear(),S.clear();i||C.length>0;){if(i||(i=C.pop(),r=C.data[C.length-1],o=S.pop()??0,a=!0),i.leaf&&(t=(0,n.qh)(i.children,(0,s.z)(e),i.children.length,i.indexHint),-1!==t))return i.children.splice(t,1),C.push(i),this._condense(C),this;a||i.leaf||!_(i,l)?r?(o++,i=r.children[o],a=!1):i=null:(C.push(i),S.push(o),o=0,r=i,i=i.children[0])}return this}toJSON(){return this._data}fromJSON(e){return this._data=e,this}_build(e,t,i,n){const s=i-t+1;let r=this._maxEntries;if(s<=r){const n=new M(e.slice(t,i+1));return u(n,this._toBBox),n}n||(n=Math.ceil(Math.log(s)/Math.log(r)),r=Math.ceil(s/r**(n-1)));const o=new R([]);o.height=n;const a=Math.ceil(s/r),l=a*Math.ceil(Math.sqrt(r));b(e,t,i,l,this._compareMinX);for(let s=t;s<=i;s+=l){const t=Math.min(s+l-1,i);b(e,s,t,a,this._compareMinY);for(let i=s;i<=t;i+=a){const s=Math.min(i+a-1,t);o.children.push(this._build(e,i,s,n-1))}}return u(o,this._toBBox),o}_insert(e,t,i){const n=this._toBBox,s=i?e:n(e);C.clear();const r=function(e,t,i,n){for(;n.push(t),!0!==t.leaf&&n.length-1!==i;){let i,n=1/0,s=1/0;for(let r=0,o=t.children.length;r<o;r++){const o=t.children[r],a=m(o),l=y(e,o)-a;l<s?(s=l,n=a<n?a:n,i=o):l===s&&a<n&&(n=a,i=o)}t=i||t.children[0]}return t}(s,this._data,t,C);for(r.children.push(e),h(r,s);t>=0&&C.data[t].children.length>this._maxEntries;)this._split(C,t),t--;!function(e,t,i){for(let n=i;n>=0;n--)h(t.data[n],e)}(s,C,t)}_split(e,t){const i=e.data[t],n=i.children.length,s=this._minEntries;this._chooseSplitAxis(i,s,n);const r=this._chooseSplitIndex(i,s,n);if(!r)return;const o=i.children.splice(r,i.children.length-r),a=i.leaf?new M(o):new R(o);a.height=i.height,u(i,this._toBBox),u(a,this._toBBox),t?e.data[t-1].children.push(a):this._splitRoot(i,a)}_splitRoot(e,t){this._data=new R([e,t]),this._data.height=e.height+1,u(this._data,this._toBBox)}_chooseSplitIndex(e,t,i){let n,s,r;n=s=1/0;for(let o=t;o<=i-t;o++){const t=c(e,0,o,this._toBBox),a=c(e,o,i,this._toBBox),l=g(t,a),u=m(t)+m(a);l<n?(n=l,r=o,s=u<s?u:s):l===n&&u<s&&(s=u,r=o)}return r}_chooseSplitAxis(e,t,i){const n=e.leaf?this._compareMinX:d,s=e.leaf?this._compareMinY:p;this._allDistMargin(e,t,i,n)<this._allDistMargin(e,t,i,s)&&e.children.sort(n)}_allDistMargin(e,t,i,n){e.children.sort(n);const s=this._toBBox,r=c(e,0,t,s),o=c(e,i-t,i,s);let a=f(r)+f(o);for(let n=t;n<i-t;n++){const t=e.children[n];h(r,e.leaf?s(t):t),a+=f(r)}for(let n=i-t-1;n>=t;n--){const t=e.children[n];h(o,e.leaf?s(t):t),a+=f(o)}return a}_condense(e){for(let t=e.length-1;t>=0;t--){const i=e.data[t];if(0===i.children.length)if(t>0){const s=e.data[t-1],r=s.children;r.splice((0,n.qh)(r,i,r.length,s.indexHint),1)}else this.clear();else u(i,this._toBBox)}}_initFormat(e){const t=["return a"," - b",";"];this._compareMinX=new Function("a","b",t.join(e[0])),this._compareMinY=new Function("a","b",t.join(e[1])),this._toBBox=new Function("a","return {minX: a"+e[0]+", minY: a"+e[1]+", maxX: a"+e[2]+", maxY: a"+e[3]+"};")}}function l(e,t){let i=e;for(v.clear();i;){if(!0===i.leaf)for(const e of i.children)t((0,s.z)(e));else v.pushArray(i.children);i=v.pop()??null}}function u(e,t){c(e,0,e.children.length,t,e)}function c(e,t,i,n,s){s||(s=new M([])),s.minX=1/0,s.minY=1/0,s.maxX=-1/0,s.maxY=-1/0;for(let r,o=t;o<i;o++)r=e.children[o],h(s,e.leaf?n(r):r);return s}function h(e,t){e.minX=Math.min(e.minX,t.minX),e.minY=Math.min(e.minY,t.minY),e.maxX=Math.max(e.maxX,t.maxX),e.maxY=Math.max(e.maxY,t.maxY)}function d(e,t){return e.minX-t.minX}function p(e,t){return e.minY-t.minY}function m(e){return(e.maxX-e.minX)*(e.maxY-e.minY)}function f(e){return e.maxX-e.minX+(e.maxY-e.minY)}function y(e,t){return(Math.max(t.maxX,e.maxX)-Math.min(t.minX,e.minX))*(Math.max(t.maxY,e.maxY)-Math.min(t.minY,e.minY))}function g(e,t){const i=Math.max(e.minX,t.minX),n=Math.max(e.minY,t.minY),s=Math.min(e.maxX,t.maxX),r=Math.min(e.maxY,t.maxY);return Math.max(0,s-i)*Math.max(0,r-n)}function _(e,t){return e.minX<=t.minX&&e.minY<=t.minY&&t.maxX<=e.maxX&&t.maxY<=e.maxY}function w(e,t){return t.minX<=e.maxX&&t.minY<=e.maxY&&t.maxX>=e.minX&&t.maxY>=e.minY}function b(e,t,i,n,s){const r=[t,i];for(;r.length;){const t=r.pop(),i=r.pop();if(t-i<=n)continue;const a=i+Math.ceil((t-i)/n/2)*n;(0,o.q)(e,a,i,t,s),r.push(i,a,a,t)}}const x=new r.A,v=new r.A,C=new r.A,S=new r.A({deallocator:void 0});class A{constructor(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0}}class T extends A{constructor(){super(...arguments),this.height=1,this.indexHint=new n.vW}}class M extends T{constructor(e){super(),this.children=e,this.leaf=!0}}class R extends T{constructor(e){super(),this.children=e,this.leaf=!1}}},36708(e,t,i){i.d(t,{C_:()=>d,OH:()=>f,Vh:()=>y,on:()=>h,pc:()=>g,wB:()=>l,z7:()=>u});var n=i(37955),s=i(36563),r=i(97768),o=i(17676),a=i(14012);function l(e,t,i={}){return c(e,t,i,p)}function u(e,t,i={}){return c(e,t,i,m)}function c(e,t,i={},n){let s=null;const o=i.once?(e,i)=>{n(e)&&((0,r.xt)(s),t(e,i))}:(e,i)=>{n(e)&&t(e,i)};if(s=(0,a.Cn)(e,o,i.sync,i.equals),i.initial){const t=e();o(t,t)}return s}function h(e,t,i,o={}){let a=null,u=null,c=null;function h(){a&&u&&(u.remove(),o.onListenerRemove?.(a),a=null,u=null)}function d(e){o.once&&o.once&&(0,r.xt)(c),i(e)}const p=l(e,(e,i)=>{h(),(0,n.wb)(e)&&(a=e,u=(0,n.on)(e,t,d),o.onListenerAdd?.(e))},{sync:o.sync,initial:!0});return c=(0,s.hA)(()=>{p.remove(),h()}),c}function d(e,t){return function(e,t,i){if((0,o.G4)(i))return Promise.reject((0,o.NK)());const n=e();if(t?.(n))return Promise.resolve(n);let a=null;function l(){a=(0,r.xt)(a)}return new Promise((n,r)=>{a=(0,s.vE)([(0,o.u7)(i,()=>{l(),r((0,o.NK)())}),c(e,e=>{l(),n(e)},{sync:!1,once:!0},t??p)])})}(e,m,t)}function p(e){return!0}function m(e){return!!e}i(80559);const f={sync:!0},y={initial:!0},g={sync:!0,initial:!0}},48526(e,t,i){i.d(t,{A:()=>m});var n,s=i(5482),r=i(4718),o=i(91429),a=i(5443),l=i(91075),u=i(86738),c=i(16930),h=i(90634),d=i(56993),p=i(43937);let m=n=class extends l.A{constructor(e){super(function(e){if(!e)return;let{points:t,hasM:i,hasZ:n,spatialReference:s}=e;switch(t??=[],t?.at(0)?.length){case 4:n??=!0,i??=!0;break;case 3:n??=!0!==i,i??=!n;break;default:n??=!1,i??=!1}return s??=c.A.WGS84,{...e,hasM:i,hasZ:n,points:t,spatialReference:s}}(e)),this.points=[],this.type="multipoint"}get cache(){return this.commitProperty("points"),this.commitProperty("hasZ"),this.commitProperty("hasM"),this.commitProperty("spatialReference"),{}}get extent(){const e=(0,h.ge)(this);return e?new a.A({...e,spatialReference:this.spatialReference}):null}writePoints(e,t){t.points=(0,r.o8)(this.points)}clone(){const{points:e,spatialReference:t,hasM:i,hasZ:s}=this;return new n({points:(0,r.o8)(e),spatialReference:t.clone(),hasM:i,hasZ:s})}addPoint(e){return(0,d.h)(this,e),Array.isArray(e)?this.points.push(e):this.points.push(e.toArray()),this.notifyChange("points"),this}getPoint(e){if(!this._validateInputs(e))return null;const t=this.points[e],i={x:t[0],y:t[1],spatialReference:this.spatialReference};let n=2;return this.hasZ&&(i.z=t[2],n=3),this.hasM&&(i.m=t[n]),new u.A(i)}removePoint(e){if(!this._validateInputs(e))return null;const t=new u.A(this.points.splice(e,1)[0],this.spatialReference);return this.notifyChange("points"),t}setPoint(e,t){return this._validateInputs(e)?((0,d.h)(this,t),Array.isArray(t)||(t=t.toArray()),this.points[e]=t,this.notifyChange("points"),this):this}toJSON(e){return this.write({},e)}_validateInputs(e){return null!=e&&e>=0&&e<this.points.length}};(0,s.Cg)([(0,o.MZ)({readOnly:!0})],m.prototype,"cache",null),(0,s.Cg)([(0,o.MZ)({readOnly:!0})],m.prototype,"extent",null),(0,s.Cg)([(0,o.MZ)({type:[[Number]],json:{write:{isRequired:!0}}})],m.prototype,"points",void 0),(0,s.Cg)([(0,p.K)("points")],m.prototype,"writePoints",null),m=n=(0,s.Cg)([(0,o.$K)("esri.geometry.Multipoint")],m),m.prototype.toJSON.isDefaultToJSON=!0},82799(e,t,i){i.d(t,{A:()=>m});var n,s=i(5482),r=i(4718),o=i(91429),a=i(5443),l=i(91075),u=i(86738),c=i(16930),h=i(90634),d=i(56993),p=i(43937);let m=n=class extends l.A{constructor(e){super(function(e){if(!e)return;let{paths:t,hasM:i,hasZ:n,spatialReference:s}=e;switch(t??=[],function(e){return"number"==typeof e[0]?.[0]}(t)&&(t=[t]),t[0]?.[0]?.length){case 4:n??=!0,i??=!0;break;case 3:n??=!0!==i,i??=!n;break;default:n??=!1,i??=!1}return s??=c.A.WGS84,{...e,hasM:i,hasZ:n,paths:t,spatialReference:s}}(e)),this.curvePaths=void 0,this.paths=[],this.type="polyline"}get cache(){return this.commitProperty("curvePaths"),this.commitProperty("hasM"),this.commitProperty("hasZ"),this.commitProperty("paths"),this.commitProperty("spatialReference"),{}}writeCurvePaths(e,t){t.curvePaths=(0,r.o8)(e)}get extent(){const e=(0,h.Z3)(this),{spatialReference:t}=this;return e?new a.A({...e,spatialReference:t}):null}writePaths(e,t){t.paths=(0,r.o8)(this.paths)}addPath(e){if(!e)return;const t=this.paths,i=t.length;if(function(e){return!Array.isArray(e[0])}(e)){const n=[];for(let t=0,i=e.length;t<i;t++)n[t]=e[t].toArray();t[i]=n}else t[i]=e.slice();return this.notifyChange("paths"),this}clone(){const e=new n;return e.spatialReference=this.spatialReference,e.paths=(0,r.o8)(this.paths),e.curvePaths=(0,r.o8)(this.curvePaths),e.hasZ=this.hasZ,e.hasM=this.hasM,e}getPoint(e,t){if(!this._validateInputs(e,t))return null;const i=this.paths[e][t],n=this.hasZ,s=this.hasM;return n&&!s?new u.A(i[0],i[1],i[2],void 0,this.spatialReference):s&&!n?new u.A(i[0],i[1],void 0,i[2],this.spatialReference):n&&s?new u.A(i[0],i[1],i[2],i[3],this.spatialReference):new u.A(i[0],i[1],this.spatialReference)}insertPoint(e,t,i){return this._validateInputs(e,t,!0)?((0,d.h)(this,i),Array.isArray(i)||(i=i.toArray()),this.paths[e].splice(t,0,i),this.notifyChange("paths"),this):this}removePath(e){if(!this._validateInputs(e,null))return null;const t=this.paths.splice(e,1)[0],i=this.spatialReference,n=t.map(e=>new u.A(e,i));return this.notifyChange("paths"),n}removePoint(e,t){if(!this._validateInputs(e,t))return null;const i=new u.A(this.paths[e].splice(t,1)[0],this.spatialReference);return this.notifyChange("paths"),i}setPoint(e,t,i){return this._validateInputs(e,t)?((0,d.h)(this,i),Array.isArray(i)||(i=i.toArray()),this.paths[e][t]=i,this.notifyChange("paths"),this):this}_validateInputs(e,t,i=!1){if(null==e||e<0||e>=this.paths.length)return!1;if(null!=t){const n=this.paths[e];if(i&&(t<0||t>n.length))return!1;if(!i&&(t<0||t>=n.length))return!1}return!0}toJSON(e){return this.write({},e)}};(0,s.Cg)([(0,o.MZ)({readOnly:!0})],m.prototype,"cache",null),(0,s.Cg)([(0,o.MZ)({json:{write:!0,origins:{"portal-item":{write:!1},"web-map":{write:!1},"web-scene":{write:!1}}}})],m.prototype,"curvePaths",void 0),(0,s.Cg)([(0,p.K)("curvePaths")],m.prototype,"writeCurvePaths",null),(0,s.Cg)([(0,o.MZ)({readOnly:!0})],m.prototype,"extent",null),(0,s.Cg)([(0,o.MZ)({type:[[[Number]]],json:{write:{isRequired:!0}}})],m.prototype,"paths",void 0),(0,s.Cg)([(0,p.K)("paths")],m.prototype,"writePaths",null),m=n=(0,s.Cg)([(0,o.$K)("esri.geometry.Polyline")],m),m.prototype.toJSON.isDefaultToJSON=!0},60408(e,t,i){function n(e){return void 0!==e.xmin&&void 0!==e.ymin&&void 0!==e.xmax&&void 0!==e.ymax}function s(e){return void 0!==e.points}function r(e){return void 0!==e.x&&void 0!==e.y}function o(e){return void 0!==e.paths||void 0!==e.curvePaths}function a(e){return void 0!==e.rings||void 0!==e.curveRings}function l(e){return"object"==typeof e&&"vertexAttributes"in e}function u(e){return e?r(e)?"esriGeometryPoint":o(e)?"esriGeometryPolyline":a(e)?"esriGeometryPolygon":n(e)?"esriGeometryEnvelope":s(e)?"esriGeometryMultipoint":null:null}function c(e){return null!=e&&("hasZ"in e&&e.hasZ||"z"in e&&null!=e.z)}function h(e){return null!=e&&("hasM"in e&&e.hasM||"m"in e&&null!=e.m)}i.d(t,{$B:()=>u,Bi:()=>a,Pv:()=>c,Rg:()=>o,U9:()=>s,W0:()=>h,ZC:()=>n,fT:()=>r,uW:()=>l})},65864(e,t,i){i.d(t,{rS:()=>c,xD:()=>d});var n=i(5443),s=i(91075),r=i(48526),o=i(86738),a=i(39829),l=i(82799),u=i(60408);function c(e){return null==e?null:e instanceof s.A?e:(0,u.fT)(e)?o.A.fromJSON(e):(0,u.Rg)(e)?l.A.fromJSON(e):(0,u.Bi)(e)?a.A.fromJSON(e):(0,u.U9)(e)?r.A.fromJSON(e):(0,u.ZC)(e)?n.A.fromJSON(e):null}const h={esriGeometryPoint:o.A,esriGeometryPolyline:l.A,esriGeometryPolygon:a.A,esriGeometryEnvelope:n.A,esriGeometryMultipoint:r.A,esriGeometryMultiPatch:a.A};function d(e){return e&&h[e]||null}},50498(e,t,i){i.d(t,{Ye:()=>h,gy:()=>c,iI:()=>p,yR:()=>d});var n=i(66552),s=i(5443),r=i(91075),o=i(48526),a=i(86738),l=i(39829),u=i(82799);const c=(0,n.O)()({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon"}),h=(0,n.O)()({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon",esriGeometryEnvelope:"extent",mesh:"mesh"}),d={base:r.A,key:"type",typeMap:{extent:s.A,multipoint:o.A,point:a.A,polyline:u.A,polygon:l.A}},p=new n.J({esriGeometryBezier3Curve:"cubic-bezier",esriGeometryCircularArc:"circular-arc",esriGeometryEllipticArc:"elliptic-arc"},{ignoreUnknown:!0})},6518(e,t,i){i.d(t,{F:()=>a});var n=i(44208),s=i(75503),r=i(19419);const o={minX:0,minY:0,maxX:0,maxY:0};class a{constructor(){this._indexInvalid=!1,this._boundsToLoad=[],this._boundsById=new Map,this._idByBounds=new Map,this._index=new s.wq(9,(0,n.A)("esri-csp-restrictions")?e=>({minX:e[0],minY:e[1],maxX:e[2],maxY:e[3]}):["[0]","[1]","[2]","[3]"]),this._loadIndex=()=>{if(this._indexInvalid){const e=new Array(this._idByBounds.size);let t=0;this._idByBounds.forEach((i,n)=>{e[t++]=n}),this._indexInvalid=!1,this._index.clear(),this._index.load(e)}else this._boundsToLoad.length&&(this._index.load(Array.from(new Set(this._boundsToLoad.filter(e=>this._idByBounds.has(e))))),this._boundsToLoad.length=0)}}get fullBounds(){if(!this._boundsById.size)return null;const e=(0,r.Ie)();for(const t of this._boundsById.values())t&&(e[0]=Math.min(t[0],e[0]),e[1]=Math.min(t[1],e[1]),e[2]=Math.max(t[2],e[2]),e[3]=Math.max(t[3],e[3]));return e}get valid(){return!this._indexInvalid}clear(){this._indexInvalid=!1,this._boundsToLoad.length=0,this._boundsById.clear(),this._idByBounds.clear(),this._index.clear()}delete(e){const t=this._boundsById.get(e);this._boundsById.delete(e),t&&(this._idByBounds.delete(t),this._indexInvalid||this._index.remove(t))}forEachInBounds(e,t){this._loadIndex(),function(e,t,i){(function(e){o.minX=e[0],o.minY=e[1],o.maxX=e[2],o.maxY=e[3]})(t),e.search(o,i)}(this._index,e,e=>t(this._idByBounds.get(e)))}get(e){return this._boundsById.get(e)}has(e){return this._boundsById.has(e)}invalidateIndex(){this._indexInvalid||(this._indexInvalid=!0,this._boundsToLoad.length=0)}set(e,t){if(!this._indexInvalid){const t=this._boundsById.get(e);t&&(this._index.remove(t),this._idByBounds.delete(t))}this._boundsById.set(e,t),t&&(this._idByBounds.set(t,e),this._indexInvalid||(this._boundsToLoad.push(t),this._boundsToLoad.length>5e4&&this._loadIndex()))}}},83221(e,t,i){i.d(t,{A:()=>m});var n=i(4576),s=i(49186),r=i(65529),o=i(53966),a=i(70328),l=i(19419),u=i(90708),c=i(6518),h=i(51441),d=i(37730);const p=(0,a.vt)();class m{constructor(e){this.geometryInfo=e,this._boundsStore=new c.F,this._featuresById=new Map,this._usedMemory=0,this.events=new r.bk,this.featureAdapter=d.T}get usedMemory(){return this._usedMemory}get geometryType(){return this.geometryInfo.geometryType}get hasM(){return this.geometryInfo.hasM}get hasZ(){return this.geometryInfo.hasZ}get numFeatures(){return this._featuresById.size}get fullBounds(){return this._boundsStore.fullBounds}get storeStatistics(){let e=0;return this._featuresById.forEach(t=>{null!=t.geometry&&t.geometry.coords&&(e+=t.geometry.coords.length)}),{featureCount:this._featuresById.size,vertexCount:e/(this.hasZ?this.hasM?4:3:this.hasM?3:2)}}getFullExtent(e){if(null==this.fullBounds)return null;const[t,i,n,s]=this.fullBounds;return{xmin:t,ymin:i,xmax:n,ymax:s,spatialReference:(0,h.ag)(e)}}add(e){this._add(e),this._emitChanged()}addMany(e){for(const t of e)this._add(t);this._emitChanged()}upsertMany(e){const t=e.map(e=>this._upsert(e));return this._emitChanged(),t.filter(n.Ru)}clear(){this._featuresById.clear(),this._boundsStore.clear(),this._emitChanged(),this._usedMemory=0}removeById(e){const t=this._featuresById.get(e);return t?(this._remove(t),this._emitChanged(),t):null}removeManyById(e){this._boundsStore.invalidateIndex();for(const t of e){const e=this._featuresById.get(t);e&&this._remove(e)}this._emitChanged()}forEachBounds(e,t){for(const i of e){const e=this._boundsStore.get(i.objectId);e&&t((0,a.Jt)(p,e))}}getFeature(e){return this._featuresById.get(e)}has(e){return this._featuresById.has(e)}forEach(e){this._featuresById.forEach(t=>e(t))}forEachInBounds(e,t){this._boundsStore.forEachInBounds(e,e=>{t(this._featuresById.get(e))})}_emitChanged(){this.events.emit("changed",void 0)}_add(e){if(!e)return;const t=e.objectId;if(null==t)return void o.A.getLogger("esri.layers.graphics.data.FeatureStore").error(new s.A("featurestore:invalid-feature","feature id is missing",{feature:e}));const i=this._featuresById.get(t);let n;if(i?(e.displayId=i.displayId,n=this._boundsStore.get(t),this._boundsStore.delete(t),this._usedMemory-=this.estimateFeatureUsedMemory?.(i)??0):null!=this.onFeatureAdd&&this.onFeatureAdd(e),!e.geometry?.coords?.length)return this._boundsStore.set(t,null),void this._featuresById.set(t,e);n=(0,u.jQ)(null!=n?n:(0,l.vt)(),e.geometry),null!=n&&this._boundsStore.set(t,n),this._featuresById.set(t,e),this._usedMemory+=this.estimateFeatureUsedMemory?.(e)??0}_upsert(e){const t=e?.objectId;if(null==t)return o.A.getLogger("esri.layers.graphics.data.FeatureStore").error(new s.A("featurestore:invalid-feature","feature id is missing",{feature:e})),null;const i=this._featuresById.get(t);if(!i)return this._add(e),e;this._usedMemory-=this.estimateFeatureUsedMemory?.(i)??0;const{geometry:n,attributes:r}=e;for(const e in r)i.attributes[e]=r[e];return n&&(i.geometry=n,this._boundsStore.set(t,(0,u.jQ)((0,l.vt)(),n)??null)),this._usedMemory+=this.estimateFeatureUsedMemory?.(i)??0,i}_remove(e){null!=this.onFeatureRemove&&this.onFeatureRemove(e);const t=e.objectId;return this._boundsStore.delete(t),this._featuresById.delete(t),this._usedMemory-=this.estimateFeatureUsedMemory?.(e)??0,e}}},37730(e,t,i){i.d(t,{T:()=>s});var n=i(43334);const s={getObjectId:e=>e.objectId,getAttributes:e=>e.attributes,getAttribute:(e,t)=>e.attributes[t],cloneWithGeometry:(e,t,i)=>new n.Om(t,e.attributes,null,e.objectId,e.displayId,e.distance,e.vertexCount),getGeometry:e=>e.geometry,getCentroid:(e,t)=>e.ensureCentroid(t)}},33771(e,t,i){i.r(t),i.d(t,{default:()=>x});var n=i(60999),s=i(49186),r=i(53966),o=i(34727),a=i(17676),l=i(67076),u=i(21325),c=i(90708),h=i(83221),d=i(31464),p=i(75752),m=i(85113),f=i(82832),y=i(34322),g=i(95466),_=i(54218),w=i(98623);const b="esri.layers.WFSLayer";class x{constructor(){this._customParameters=null,this._queryEngine=null,this._supportsPagination=!0}destroy(){this._queryEngine?.destroy(),this._queryEngine=null}async load(e,t={}){const{getFeatureUrl:i,getFeatureOutputFormat:n,fields:r,geometryType:o,featureType:l,maxRecordCount:u,maxTotalRecordCount:c,maxPageCount:m,objectIdField:f,customParameters:_}=e,{spatialReference:b,getFeatureSpatialReference:x}=(0,y.UH)(i,l,e.spatialReference);try{await(0,d.Nk)(x,b)}catch{throw new s.A("unsupported-projection","Projection not supported",{inSpatialReference:x,outSpatialReference:b})}(0,a.Te)(t),this._customParameters=_,this._featureType=l,this._fieldsIndex=g.A.fromLayerJSON({fields:r,dateFieldsTimeReference:r.some(e=>"esriFieldTypeDate"===e.type)?{timeZoneIANA:w.n$}:null}),this._geometryType=o,this._getFeatureUrl=i,this._getFeatureOutputFormat=n,this._getFeatureSpatialReference=x,this._maxRecordCount=u,this._maxTotalRecordCount=c,this._maxPageCount=m,this._objectIdField=f,this._spatialReference=b;let C=await this._snapshotFeatures(t);if(C.errors.length>0&&(this._supportsPagination=!1,C=await this._snapshotFeatures(t),C.errors.length>0))throw C.errors[0];const S={type:"object-id",fieldName:f};return this._queryEngine=new p.do({fieldsIndex:this._fieldsIndex,geometryType:o,hasM:!1,hasZ:!1,featureIdInfo:S,spatialReference:b,timeInfo:null,featureStore:new h.A({geometryType:o,hasM:!1,hasZ:!1})}),this._queryEngine.featureStore.addMany(C.features),{warnings:v(C),extent:(await this._queryEngine.fetchRecomputedExtents()).fullExtent}}async applyEdits(){throw new s.A("wfs-source:editing-not-supported","applyEdits() is not supported on WFSLayer")}async queryFeatures(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQuery(e,t.signal)}async queryFeatureCount(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQueryForCount(e,t.signal)}async queryObjectIds(e={},t={}){return await this._waitSnapshotComplete(),(await this._queryEngine.executeQueryForIds(e,t.signal)).filter(_.Et)}async queryExtent(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQueryForExtent(e,t.signal)}async querySnapping(e,t={}){return await this._waitSnapshotComplete(),await this._queryEngine.executeQueryForSnapping(e,t.signal)}async queryAttributeBins(e,t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeAttributeBinsQuery(e,t.signal)}async refresh(e){return this._customParameters=e.customParameters,this._maxRecordCount=e.maxRecordCount,this._maxTotalRecordCount=e.maxTotalRecordCount,this._maxPageCount=e.maxPageCount,this._snapshotTask?.abort(),this._snapshotTask=(0,n.UT)(e=>this._snapshotFeatures({signal:e})),this._snapshotTask.promise.then(e=>{this._queryEngine.featureStore.clear(),this._queryEngine.featureStore.addMany(e.features);for(const t of v(e))r.A.getLogger(b).warn(new l.A("wfs-layer:refresh-warning",t.message,t.details));e.errors?.length&&r.A.getLogger(b).warn(new l.A("wfs-layer:refresh-error","Refresh completed with errors",{errors:e.errors}))},()=>{this._queryEngine.featureStore.clear()}),await this._waitSnapshotComplete(),{extent:(await this._queryEngine.fetchRecomputedExtents()).fullExtent}}async _waitSnapshotComplete(){if(this._snapshotTask&&!this._snapshotTask.finished){try{await this._snapshotTask.promise}catch{}return this._waitSnapshotComplete()}}async _snapshotFeatures(e){const t=e?.signal,i=this._maxTotalRecordCount,n=this._maxPageCount,s=this._supportsPagination&&n>1?await(0,y.E)(this._getFeatureUrl,this._featureType.typeName,{customParameters:this._customParameters,signal:t}):void 0;let r=[];const l=[];if(null==s)try{r=await this._singleQuery(t)}catch(e){(0,a.zf)(e)||l.push(e)}else{const e=Math.min(s,i),u=function*(e,t,i){for(let n=0;n<t;n++)yield e._pageQuery(n,i)}(this,(0,o.qE)(Math.ceil(e/this._maxRecordCount),1,n),t);await Promise.allSettled(Array.from({length:10}).map(()=>async function(e,t,i){let n=e.next();for(;!n.done;){try{const e=await n.value;t.push(...e)}catch(e){(0,a.zf)(e)||i.push(e)}n=e.next()}}(u,r,l)))}return(0,a.Te)(t),{features:r,totalRecordCount:s,maxTotalRecordCount:i,maxPageCount:n,errors:l}}async _singleQuery(e){const t=Number.isFinite(this._maxRecordCount)&&this._maxRecordCount>0?this._maxRecordCount:void 0,i=await(0,y.x$)(this._getFeatureUrl,this._featureType.typeName,this._getFeatureSpatialReference,this._getFeatureOutputFormat,{customParameters:this._customParameters,count:t,signal:e});return this._processGeoJSON(i,{signal:e})}async _pageQuery(e,t){const i=e*this._maxRecordCount,n=await(0,y.x$)(this._getFeatureUrl,this._featureType.typeName,this._getFeatureSpatialReference,this._getFeatureOutputFormat,{customParameters:this._customParameters,startIndex:i,count:this._maxRecordCount,signal:t});return this._processGeoJSON(n,{startIndex:i,signal:t})}_processGeoJSON(e,t){(0,m.sO)(e,this._getFeatureSpatialReference.wkid);const{startIndex:i,signal:n}=t;(0,a.Te)(n);const s=(0,m.bd)(e,{geometryType:this._geometryType,hasZ:!1,objectIdField:this._objectIdField});if(!(0,u.aI)(this._spatialReference,this._getFeatureSpatialReference))for(const e of s)null!=e.geometry&&(e.geometry=(0,c.Ux)((0,d.Cv)((0,c.zv)(e.geometry,this._geometryType,!1,!1),this._getFeatureSpatialReference,this._spatialReference)));let r=i??1;for(const e of s){const t={};(0,f.MB)(this._fieldsIndex,t,e.attributes,!0),e.attributes=t,null==t[this._objectIdField]&&(e.objectId=t[this._objectIdField]=r++)}return s}}function v(e){const t=[];return null!=e.totalRecordCount&&(e.features.length<e.totalRecordCount&&t.push({name:"wfs-layer:maxRecordCount-too-low",message:`Could only fetch ${e.features.length} of ${e.totalRecordCount} in ${e.maxPageCount} queries. Try increasing the value of WFSLayer.maxRecordCount.`,details:{recordCount:e.features.length,totalRecordCount:e.totalRecordCount}}),e.totalRecordCount>e.maxTotalRecordCount&&t.push({name:"wfs-layer:large-dataset",message:`The number of ${e.totalRecordCount} features exceeds the maximum allowed of ${e.maxTotalRecordCount}.`,details:{recordCount:e.features.length,totalRecordCount:e.totalRecordCount,maxTotalRecordCount:e.maxTotalRecordCount}})),t}},85113(e,t,i){i.d(t,{BM:()=>A,bd:()=>T,sO:()=>S,xD:()=>h});var n=i(67482),s=i(49186),r=i(21325),o=i(90708),a=i(43334),l=i(92722),u=i(30524);const c={LineString:"esriGeometryPolyline",MultiLineString:"esriGeometryPolyline",MultiPoint:"esriGeometryMultipoint",Point:"esriGeometryPoint",Polygon:"esriGeometryPolygon",MultiPolygon:"esriGeometryPolygon"};function h(e){return c[e]}function*d(e){switch(e.type){case"Feature":yield e;break;case"FeatureCollection":for(const t of e.features)t&&(yield t)}}function*p(e){if(e)switch(e.type){case"Point":yield e.coordinates;break;case"LineString":case"MultiPoint":yield*e.coordinates;break;case"MultiLineString":case"Polygon":for(const t of e.coordinates)yield*t;break;case"MultiPolygon":for(const t of e.coordinates)for(const e of t)yield*e}}function m(e){for(const t of e)if(t.length>2)return!0;return!1}function f(e){let t=0;for(let i=0;i<e.length;i++){const n=e[i],s=e[(i+1)%e.length];t+=n[0]*s[1]-s[0]*n[1]}return t<=0}function y(e){const t=e[0],i=e[e.length-1];t[0]===i[0]&&t[1]===i[1]&&t[2]===i[2]||e.push(t)}function g(e,t){const{coordinates:i,type:n}=e,s=t.hasZ??!1,r=!0;switch(n){case"Point":return new l.A([],[...i],s,!1);case"LineString":return(0,o.Ap)({paths:[i],hasZ:r},s,!1);case"MultiLineString":return(0,o.Ap)({paths:i,hasZ:r},s,!1);case"MultiPoint":return(0,o.PR)({points:i,hasZ:r},s,!1);case"Polygon":case"MultiPolygon":{const e=new l.A([],[],s,!1);for(const t of"Polygon"===n?[i]:i){_(e,t[0],s);for(let i=1;i<t.length;i++)w(e,t[i],s)}return e}}}function _(e,t,i){y(t),function(e){return!f(e)}(t)?x(e,t,i):b(e,t,i)}function w(e,t,i){y(t),function(e){return f(e)}(t)?x(e,t,i):b(e,t,i)}function b(e,t,i){for(const n of t)v(e,n,i);e.lengths.push(t.length)}function x(e,t,i){for(let n=t.length-1;n>=0;n--)v(e,t[n],i);e.lengths.push(t.length)}function v(e,[t,i,n],s){e.coords.push(t,i),s&&e.coords.push(n||0)}function C(e){switch(typeof e){case"string":return(0,n.Br)(e)?"esriFieldTypeDate":"esriFieldTypeString";case"number":return"esriFieldTypeDouble";default:return"unknown"}}function S(e,t=4326){if(!e)throw new s.A("geojson-layer:empty","GeoJSON data is empty");if("Feature"!==e.type&&"FeatureCollection"!==e.type)throw new s.A("geojson-layer:unsupported-geojson-object","missing or not supported GeoJSON object type",{data:e});const{crs:i}=e;if(!i)return;const n="string"==typeof i?i:"name"===i.type?i.properties.name:"EPSG"===i.type?i.properties.code:null,o=(0,r.oT)({wkid:t})?new RegExp(".*(CRS84H?|4326)$","i"):new RegExp(`.*(${t})$`,"i");if(!n||!o.test(n))throw new s.A("geojson:unsupported-crs","unsupported GeoJSON 'crs' member",{crs:i})}function A(e,t={}){const i=[],n=new Set,s=new Set;let r,o=!1,a=null,l=!1,{geometryType:c=null}=t;for(const t of d(e)){const{geometry:e,properties:d,id:f}=t;if((!e||(c||(c=h(e.type)),h(e.type)===c))&&(o||(o=m(p(e))),l||(l=null!=f,l&&(r=typeof f,d&&(a=Object.keys(d).filter(e=>d[e]===f)))),d&&a&&l&&null!=f&&(a.length>1?a=a.filter(e=>d[e]===f):1===a.length&&(a=d[a[0]]===f?a:[])),d))for(const e in d){if(n.has(e))continue;const t=C(d[e]);if("unknown"===t){s.add(e);continue}s.delete(e),n.add(e);const r=(0,u.rS)(e);r&&i.push({name:r,alias:e,type:t})}}const f=(0,u.rS)(1===a?.length&&a[0]||null)??void 0;if(f)for(const e of i)if(e.name===f&&(0,u.WA)(e)){e.type="esriFieldTypeOID";break}return{fields:i,geometryType:c,hasZ:o,objectIdFieldName:f,objectIdFieldType:r,unknownFields:Array.from(s)}}function T(e,t){return Array.from(function*(e,t={}){const{geometryType:i,objectIdField:n}=t;for(const s of e){const{geometry:e,properties:r,id:o}=s;if(e&&h(e.type)!==i)continue;const l=r||{};let u;n&&(u=l[n],null==o||u||(l[n]=u=o)),yield new a.Om(e&&g(e,t),l,null,u)}}(d(e),t))}},82832(e,t,i){i.d(t,{$1:()=>y,CR:()=>f,MB:()=>d,PC:()=>g,Yx:()=>l,bP:()=>c});var n=i(67482),s=i(21325),r=i(30524);class o{constructor(e){this.description=e,this.code=null}}class a{constructor(e){this.globalId=null,this.objectId=null,this.success=!1,this.uniqueId=null,this.error=new o(e)}}function l(e){return new a(e)}class u{constructor(e){this.globalId=null,this.success=!0,this.objectId=this.uniqueId=e}}function c(e){return new u(e)}const h=new Set;function d(e,t,i,n=!1){h.clear();for(const s in i){const o=e.get(s);if(!o)continue;const a=p(o,i[s]);if(h.add(o.name),o&&(n||o.editable)){const e=(0,r.CJ)(o,a);if(e)return l((0,r.uo)(e,o,a));t[o.name]=a}}for(const t of e.requiredFields??[])if(!h.has(t.name))return l(`missing required field "${t.name}"`);return null}function p(e,t){let i=t;return(0,r.WA)(e)&&"string"==typeof t?i=parseFloat(t):(0,r.yM)(e)&&null!=t&&"string"!=typeof t?i=String(t):(0,r.vE)(e)&&"string"==typeof t&&(i=(0,n._U)(t)),(0,r.WX)(i)}let m;function f(e,t){if(!e||!(0,s.fn)(t))return e;if("rings"in e||"paths"in e){if(null==m)throw new TypeError("geometry engine not loaded");return m.simplify(t,e)}return e}async function y(e,t){!(0,s.fn)(e)||"esriGeometryPolygon"!==t&&"esriGeometryPolyline"!==t||await async function(){return null==m&&(m=await i.e(1023).then(i.bind(i,81023))),m}()}const g={supportsAutoIntervalBin:!0,supportsFixedIntervalBin:!0,supportsFixedBoundariesBin:!0,supportsDateBin:!0,supportsStackBy:!0,supportsSplitBy:!0,supportsNormalization:!0,supportedStatisticTypes:["COUNT","SUM","AVG","VAR","STDDEV","MIN","MAX","PERCENTILE_CONT","PERCENTILE_DISC","CentroidAggregate","EnvelopeAggregate","ConvexHullAggregate"],supportedNormalizationTypes:["field","log","naturalLog","percentOfTotal","squareRoot"]}},34322(e,t,i){i.d(t,{E:()=>N,Fu:()=>v,O8:()=>R,UH:()=>G,YW:()=>F,i5:()=>w,mG:()=>M,x$:()=>B});var n=i(11254),s=i(49186),r=i(5479),o=i(84952),a=i(5443),l=i(91218),u=i(16930),c=i(21325),h=i(50498),d=i(85113),p=i(13043),m=i(60694),f=i(20437),y=i(30524);const g="xlink:href",_="2.0.0",w="__esri_wfs_id__",b="wfs-layer:feature-type-not-found",x="wfs-layer:unknown-geometry-type";async function v(e,t){const i=function(e){const t=k(e);(function(e){const t=e.firstElementChild?.getAttribute("version");if(t&&t!==_)throw new s.A("wfs-layer:unsupported-wfs-version",`Unsupported WFS version ${t}. Supported version: ${_}`)})(t),O(t);const i=t.firstElementChild,n=(0,r.PP)(function(e){return(0,p.i)(e,{FeatureTypeList:{FeatureType:e=>{const t={typeName:"undefined:undefined",name:"",title:"",description:"",extent:null,namespacePrefix:"",namespaceUri:"",defaultSpatialReference:4326,supportedSpatialReferences:[]},i=new Set;return(0,p.p)(e,{Name:e=>{const{name:i,prefix:n}=j(e.textContent);t.typeName=`${n}:${i}`,t.name=i,t.namespacePrefix=n,t.namespaceUri=e.lookupNamespaceURI(n)},Abstract:e=>{t.description=e.textContent},Title:e=>{t.title=e.textContent},WGS84BoundingBox:e=>{t.extent=a.A.fromJSON(function(e){let t,i,n,s;for(const r of e.children)switch(r.localName){case"LowerCorner":[t,i]=r.textContent.split(" ").map(e=>Number.parseFloat(e));break;case"UpperCorner":[n,s]=r.textContent.split(" ").map(e=>Number.parseFloat(e))}return{xmin:t,ymin:i,xmax:n,ymax:s,spatialReference:c.KK}}(e))},DefaultCRS:e=>{const n=T(e);n&&(t.defaultSpatialReference=n,i.add(n))},OtherCRS:e=>{const t=T(e);t&&i.add(t)}}),t.title||(t.title=t.name),i.add(4326),t.supportedSpatialReferences.push(...i),t}}})}(i));return{operations:A(i),get featureTypes(){return Array.from(n())},readFeatureTypes:n}}((await(0,n.A)(e,{responseType:"text",query:{SERVICE:"WFS",REQUEST:"GetCapabilities",VERSION:_,...t?.customParameters},signal:t?.signal})).data);return function(e,t){(0,o.m3)(e)&&((0,o.FX)(e,t.operations.DescribeFeatureType.url,!0)&&(t.operations.DescribeFeatureType.url=(0,o.lM)(t.operations.DescribeFeatureType.url)),(0,o.FX)(e,t.operations.GetFeature.url,!0)&&(t.operations.GetFeature.url=(0,o.lM)(t.operations.GetFeature.url)))}(e,i),i}const C=["json","application/json; subtype=geojson; charset=utf-8","application/json; subtype=geojson","application/json","geojson","application/geo+json"];function S(e){for(const t of C){const i=e.findIndex(e=>e.toLowerCase()===t);if(i>=0)return e[i]}return null}function A(e){let t=!0;const i={GetCapabilities:{url:""},DescribeFeatureType:{url:""},GetFeature:{url:"",outputFormat:null,supportsPagination:!1}},n=[],r=[];if((0,p.p)(e,{OperationsMetadata:{Parameter:e=>{if("outputformat"===e.getAttribute("name")?.toLowerCase())return{AllowedValues:{Value:({textContent:e})=>{e&&n.push(e)}}}},Operation:e=>{switch(e.getAttribute("name")){case"GetCapabilities":return{DCP:{HTTP:{Get:e=>{i.GetCapabilities.url=e.getAttribute(g)}}}};case"DescribeFeatureType":return{DCP:{HTTP:{Get:e=>{i.DescribeFeatureType.url=e.getAttribute(g)}}}};case"GetFeature":return{DCP:{HTTP:{Get:e=>{i.GetFeature.url=e.getAttribute(g)}}},Parameter:e=>{if("outputformat"===e.getAttribute("name")?.toLowerCase())return{AllowedValues:{Value:({textContent:e})=>{e&&r.push(e)}}}}}}},Constraint:e=>{switch(e.getAttribute("name")){case"KVPEncoding":return{DefaultValue:e=>{t="true"===e.textContent.toLowerCase()}};case"ImplementsResultPaging":return{DefaultValue:e=>{i.GetFeature.supportsPagination="true"===e.textContent.toLowerCase()}}}}}}),i.GetFeature.outputFormat=S(r)??S(n),!t)throw new s.A("wfs-layer:kvp-encoding-not-supported","WFS service doesn't support key/value pair (KVP) encoding");if(null==i.GetFeature.outputFormat)throw new s.A("wfs-layer:geojson-not-supported","WFS service doesn't support GeoJSON output format");return i}function T(e){const t=parseInt(e.textContent?.match(/(?<wkid>\d+$)/i)?.groups?.wkid??"",10);if(!Number.isNaN(t))return t}function M(e,t,i){return(0,r.I6)(e,e=>i?e.name===t&&e.namespaceUri===i:e.typeName===t||e.name===t)}async function R(e,t,i,n={}){const{featureType:r,extent:o}=await async function(e,t,i,n={}){const r=e.readFeatureTypes(),o=t?M(r,t,i):r.next().value,{spatialReference:a=new u.A({wkid:o?.defaultSpatialReference})}=n;if(null==o)throw t?new s.A(b,`The type '${t}' could not be found in the service`):new s.A("wfs-layer:empty-service","The service is empty");let h=o.extent;if(h&&!(0,c.aI)(h.spatialReference,a))try{await(0,l.initializeProjection)(h.spatialReference,a,void 0,n),h=(0,l.project)(h,a)}catch{throw new s.A("wfs-layer:unsupported-spatial-reference","Projection not supported")}return{extent:h,spatialReference:a,featureType:o}}(e,t,i,n),{spatialReference:a}=G(e.operations.GetFeature.url,r,n.spatialReference),{fields:h,geometryType:d,swapXY:p,objectIdField:m,geometryField:f}=await async function(e,t,i,n={}){const{typeName:r}=t,[o,a]=await Promise.allSettled([I(e.operations.DescribeFeatureType.url,r,n),P(e,r,i,n)]),l=e=>new s.A("wfs-layer:getWFSLayerTypeInfo-error",`An error occurred while getting info about the feature type '${r}'`,{error:e});if("rejected"===o.status)throw l(o.reason);if("rejected"===a.status)throw l(a.reason);const{fields:u,errors:c}=o.value??{},h=o.value?.geometryType||a.value?.geometryType,d=a.value?.swapXY??!1;if(null==h)throw new s.A(x,`The geometry type could not be determined for type '${r}`,{typeName:r,geometryType:h,fields:u,errors:c});return{...F(u??[]),geometryType:h,swapXY:d}}(e,r,a,n);return{url:e.operations.GetCapabilities.url,name:r.name,namespaceUri:r.namespaceUri,fields:h,geometryField:f,geometryType:d,objectIdField:m,spatialReference:n.spatialReference??new u.A({wkid:r.defaultSpatialReference}),extent:o,swapXY:p,wfsCapabilities:e,customParameters:n.customParameters}}function F(e){const t=e.find(e=>"geometry"===e.type);let i=e.find(e=>"oid"===e.type);return e=e.filter(e=>"geometry"!==e.type),i||(i=new f.A({name:w,type:"oid",alias:w}),e.unshift(i)),{geometryField:t?.name??null,objectIdField:i.name,fields:e}}async function P(e,t,i,s={}){let r,o=!1;const[a,l]=await Promise.all([B(e.operations.GetFeature.url,t,i,e.operations.GetFeature.outputFormat,{...s,count:1}),(0,n.A)(e.operations.GetFeature.url,{responseType:"text",query:z(t,i,void 0,{...s,count:1}),signal:s?.signal})]),u="FeatureCollection"===a.type&&a.features[0]?.geometry;if(u){let e;switch(r=h.gy.fromJSON((0,d.xD)(u.type)),u.type){case"Point":e=u.coordinates;break;case"LineString":case"MultiPoint":e=u.coordinates[0];break;case"MultiLineString":case"Polygon":e=u.coordinates[0][0];break;case"MultiPolygon":e=u.coordinates[0][0][0]}const t=/<[^>]*pos[^>]*> *(-?\d+(?:\.\d+)?) (-?\d+(?:\.\d+)?)/.exec(l.data);if(t){const i=e[0].toFixed(3),n=e[1].toFixed(3),s=parseFloat(t[1]).toFixed(3);i===parseFloat(t[2]).toFixed(3)&&n===s&&(o=!0)}}return{geometryType:r,swapXY:o}}async function I(e,t,i){return function(e,t){const{name:i}=j(e),n=k(t);O(n);const o=(0,r.I6)((0,p.i)(n.firstElementChild,{element:e=>e}),e=>e.getAttribute("name")===i);if(null!=o){const e=o.getAttribute("type"),t=e?(0,r.I6)((0,p.i)(n.firstElementChild,{complexType:e=>e}),t=>t.getAttribute("name")===j(e).name):(0,r.I6)((0,p.i)(o,{complexType:e=>e}),()=>!0);if(t)return function(e){const t=[],i=[];let n;const r=(0,p.i)(e,{complexContent:{extension:{sequence:{element:e=>e}}}});for(const o of r){const r=o.getAttribute("name");if(!r)continue;let a,l;if(o.hasAttribute("type")?a=j(o.getAttribute("type")).name:(0,p.p)(o,{simpleType:{restriction:e=>(a=j(e.getAttribute("base")).name,{maxLength:e=>{l=+e.getAttribute("value")}})}}),!a)continue;const u="true"===o.getAttribute("nillable");let c=!1;switch(a.toLowerCase()){case"integer":case"nonpositiveinteger":case"negativeinteger":case"long":case"int":case"short":case"byte":case"nonnegativeinteger":case"unsignedlong":case"unsignedint":case"unsignedshort":case"unsignedbyte":case"positiveinteger":i.push(new f.A({name:r,alias:r,type:"integer",nullable:u,length:(0,y._b)("integer")}));break;case"float":case"double":case"decimal":i.push(new f.A({name:r,alias:r,type:"double",nullable:u,length:(0,y._b)("double")}));break;case"boolean":case"string":case"gyearmonth":case"gyear":case"gmonthday":case"gday":case"gmonth":case"anyuri":case"qname":case"notation":case"normalizedstring":case"token":case"language":case"idrefs":case"entities":case"nmtoken":case"nmtokens":case"name":case"ncname":case"id":case"idref":case"entity":case"duration":case"time":i.push(new f.A({name:r,alias:r,type:"string",nullable:u,length:l??(0,y._b)("string")}));break;case"datetime":case"date":i.push(new f.A({name:r,alias:r,type:"date",nullable:u,length:l??(0,y._b)("date")}));break;case"pointpropertytype":n="point",c=!0;break;case"multipointpropertytype":n="multipoint",c=!0;break;case"curvepropertytype":case"multicurvepropertytype":case"multilinestringpropertytype":n="polyline",c=!0;break;case"surfacepropertytype":case"multisurfacepropertytype":case"multipolygonpropertytype":n="polygon",c=!0;break;case"geometrypropertytype":case"multigeometrypropertytype":c=!0,t.push(new s.A(x,`geometry type '${a}' is not supported`,{type:(new XMLSerializer).serializeToString(e)}));break;default:t.push(new s.A("wfs-layer:unknown-field-type",`Unknown field type '${a}'`,{type:(new XMLSerializer).serializeToString(e)}))}c&&i.push(new f.A({name:r,alias:r,type:"geometry",nullable:u}))}for(const e of i)if("integer"===e.type&&!e.nullable&&E.has(e.name.toLowerCase())){e.type="oid";break}return{geometryType:n,fields:i,errors:t}}(t)}throw new s.A(b,`Type '${e}' not found in document`,{document:(new XMLSerializer).serializeToString(n)})}(t,(await(0,n.A)(e,{responseType:"text",query:{SERVICE:"WFS",REQUEST:"DescribeFeatureType",VERSION:_,TYPENAME:t,TYPENAMES:t,...i?.customParameters},signal:i?.signal})).data)}const E=new Set(["objectid","fid"]);async function B(e,t,i,r,o){let{data:a}=await(0,n.A)(e,{responseType:"text",query:z(t,i,r,o),signal:o?.signal});a=a.replaceAll(/": +(-?\d+),(\d+)(,)?/g,'": $1.$2$3');try{return JSON.parse(a)}catch(e){throw new s.A("wfs-layer:malformed-json","Error while parsing the response",{response:a,error:e})}}function z(e,t,i,n){const s="number"==typeof t?t:t.wkid;return{SERVICE:"WFS",REQUEST:"GetFeature",VERSION:_,TYPENAMES:e,OUTPUTFORMAT:i,SRSNAME:"EPSG:"+s,STARTINDEX:n?.startIndex,COUNT:n?.count,...n?.customParameters}}async function N(e,t,i){const s=await(0,n.A)(e,{responseType:"text",query:{SERVICE:"WFS",REQUEST:"GetFeature",VERSION:_,TYPENAMES:t,RESULTTYPE:"hits",...i?.customParameters},signal:i?.signal}),r=/numberMatched=["'](?<numberMatched>\d+)["']/gi.exec(s.data);if(r?.groups)return+r.groups.numberMatched}function k(e){return(new DOMParser).parseFromString(e.trim(),"text/xml")}function j(e){const[t,i]=e.split(":");return{prefix:i?t:"",name:i??t}}function O(e){let t="",i="";if((0,p.p)(e.firstElementChild,{Exception:e=>(t=e.getAttribute("exceptionCode"),{ExceptionText:e=>{i=e.textContent}})}),t)throw new s.A(`wfs-layer:${t}`,i)}function G(e,t,i){const n={wkid:t.defaultSpatialReference},s=null!=i?.wkid?{wkid:i.wkid}:n;return{spatialReference:s,getFeatureSpatialReference:(0,m.Fi)(e)||s.wkid&&t.supportedSpatialReferences.includes(s.wkid)?{wkid:s.wkid}:{wkid:t.defaultSpatialReference}}}},13043(e,t,i){function n(e,t){if(e&&t)for(const i of e.children)if(i.localName in t){const e=t[i.localName];if("function"==typeof e){const t=e(i);t&&n(i,t)}else n(i,e)}}function*s(e,t){for(const i of e.children)if(i.localName in t){const e=t[i.localName];"function"==typeof e?yield e(i):yield*s(i,e)}}i.d(t,{i:()=>s,p:()=>n})},39357(e,t,i){i.d(t,{A:()=>a});var n,s=i(5482),r=i(25482),o=i(91429);let a=n=class extends r.o{constructor(e){super(e),this.name=null,this.code=null}clone(){return new n({name:this.name,code:this.code})}};(0,s.Cg)([(0,o.MZ)({type:String,json:{write:{isRequired:!0}}})],a.prototype,"name",void 0),(0,s.Cg)([(0,o.MZ)({type:[String,Number],json:{write:{isRequired:!0}}})],a.prototype,"code",void 0),a=n=(0,s.Cg)([(0,o.$K)("esri.layers.support.CodedValue")],a)},53177(e,t,i){i.d(t,{A:()=>c});var n,s=i(5482),r=i(4718),o=i(91429),a=i(39357),l=i(76357),u=i(93223);let c=class extends l.A{static{n=this}constructor(e){super(e),this.codedValues=null,this.type="coded-value"}getName(e){let t=null;if(this.codedValues){const i=String(e);this.codedValues.some(e=>(String(e.code)===i&&(t=e.name),!!t))}return t}clone(){return new n({codedValues:(0,r.o8)(this.codedValues),name:this.name})}};(0,s.Cg)([(0,o.MZ)({type:[a.A],json:{write:{isRequired:!0}}})],c.prototype,"codedValues",void 0),(0,s.Cg)([(0,u.e)({codedValue:"coded-value"})],c.prototype,"type",void 0),c=n=(0,s.Cg)([(0,o.$K)("esri.layers.support.CodedValueDomain")],c)},76357(e,t,i){i.d(t,{A:()=>u});var n=i(5482),s=i(66552),r=i(25482),o=i(91429),a=i(93223);const l=new s.J({inherited:"inherited",codedValue:"coded-value",range:"range"});let u=class extends r.o{constructor(e){super(e),this.name=null,this.type=null}};(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],u.prototype,"name",void 0),(0,n.Cg)([(0,a.e)(l),(0,o.MZ)({json:{write:{isRequired:!0}}})],u.prototype,"type",void 0),u=(0,n.Cg)([(0,o.$K)("esri.layers.support.Domain")],u)},20437(e,t,i){i.d(t,{A:()=>m});var n,s=i(5482),r=i(66552),o=i(25482),a=i(91429),l=i(56507),u=i(8631),c=i(98453),h=i(36005),d=i(93223);const p=new r.J({binary:"binary",coordinate:"coordinate",countOrAmount:"count-or-amount",currency:"currency",dateAndTime:"date-and-time",description:"description",emailAddress:"email-address",locationOrPlaceName:"location-or-place-name",measurement:"measurement",nameOrTitle:"name-or-title",none:"none",orderedOrRanked:"ordered-or-ranked",percentageOrRatio:"percentage-or-ratio",phoneNumber:"phone-number",typeOrCategory:"type-or-category",uniqueIdentifier:"unique-identifier",url:"url"});let m=class extends o.o{static{n=this}constructor(e){super(e),this.alias=null,this.defaultValue=void 0,this.description=null,this.domain=null,this.editable=!0,this.length=void 0,this.name=null,this.nullable=!0,this.type=null,this.valueType=null,this.visible=!0}readDescription(e,{description:t}){let i=null;try{i=t?JSON.parse(t):null}catch(e){}return i?.value??null}readValueType(e,{description:t}){let i=null;try{i=t?JSON.parse(t):null}catch(e){}return i?p.fromJSON(i.fieldValueType):null}clone(){return new n({alias:this.alias,defaultValue:this.defaultValue,description:this.description,domain:this.domain?.clone()??null,editable:this.editable,length:this.length,name:this.name,nullable:this.nullable,type:this.type,valueType:this.valueType,visible:this.visible})}};(0,s.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],m.prototype,"alias",void 0),(0,s.Cg)([(0,a.MZ)({type:[String,Number],json:{write:{allowNull:!0}}})],m.prototype,"defaultValue",void 0),(0,s.Cg)([(0,a.MZ)()],m.prototype,"description",void 0),(0,s.Cg)([(0,h.w)("description")],m.prototype,"readDescription",null),(0,s.Cg)([(0,a.MZ)({types:u.g,json:{read:{reader:u.r},write:!0}})],m.prototype,"domain",void 0),(0,s.Cg)([(0,a.MZ)({type:Boolean,json:{write:!0}})],m.prototype,"editable",void 0),(0,s.Cg)([(0,a.MZ)({type:l.jz,json:{write:{overridePolicy:e=>({enabled:Number.isFinite(e)})}}})],m.prototype,"length",void 0),(0,s.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],m.prototype,"name",void 0),(0,s.Cg)([(0,a.MZ)({type:Boolean,json:{write:!0}})],m.prototype,"nullable",void 0),(0,s.Cg)([(0,d.e)(c.m)],m.prototype,"type",void 0),(0,s.Cg)([(0,a.MZ)()],m.prototype,"valueType",void 0),(0,s.Cg)([(0,h.w)("valueType",["description"])],m.prototype,"readValueType",null),(0,s.Cg)([(0,a.MZ)({type:Boolean,json:{read:!1}})],m.prototype,"visible",void 0),m=n=(0,s.Cg)([(0,a.$K)("esri.layers.support.Field")],m)},41628(e,t,i){i.d(t,{A:()=>l});var n,s=i(5482),r=i(91429),o=i(76357),a=i(93223);let l=class extends o.A{static{n=this}constructor(e){super(e),this.maxValue=null,this.minValue=null,this.type="range"}clone(){return new n({maxValue:this.maxValue,minValue:this.minValue,name:this.name})}};(0,s.Cg)([(0,r.MZ)({json:{type:[Number],read:{source:"range",reader:(e,t)=>t.range?.[1]},write:{enabled:!1,overridePolicy(){return{enabled:null!=this.maxValue&&null==this.minValue}},target:"range",writer(e,t,i){t[i]=[this.minValue||0,e]},isRequired:!0}}})],l.prototype,"maxValue",void 0),(0,s.Cg)([(0,r.MZ)({json:{type:[Number],read:{source:"range",reader:(e,t)=>t.range?.[0]},write:{target:"range",writer(e,t,i){t[i]=[e,this.maxValue||0]},isRequired:!0}}})],l.prototype,"minValue",void 0),(0,s.Cg)([(0,a.e)({range:"range"})],l.prototype,"type",void 0),l=n=(0,s.Cg)([(0,r.$K)("esri.layers.support.RangeDomain")],l)},8631(e,t,i){i.d(t,{r:()=>d,g:()=>h});var n,s=i(53177),r=i(76357),o=i(5482),a=i(91429),l=i(93223);let u=class extends r.A{static{n=this}constructor(e){super(e),this.type="inherited"}clone(){return new n}};(0,o.Cg)([(0,l.e)({inherited:"inherited"})],u.prototype,"type",void 0),u=n=(0,o.Cg)([(0,a.$K)("esri.layers.support.InheritedDomain")],u);var c=i(41628);const h={key:"type",base:r.A,typeMap:{range:c.A,"coded-value":s.A,inherited:u}};function d(e){if(!e?.type)return null;switch(e.type){case"range":return c.A.fromJSON(e);case"codedValue":return s.A.fromJSON(e);case"inherited":return u.fromJSON(e)}return null}},98453(e,t,i){i.d(t,{m:()=>n});const n=new(i(66552).J)({esriFieldTypeSmallInteger:"small-integer",esriFieldTypeInteger:"integer",esriFieldTypeSingle:"single",esriFieldTypeDouble:"double",esriFieldTypeLong:"long",esriFieldTypeString:"string",esriFieldTypeDate:"date",esriFieldTypeOID:"oid",esriFieldTypeGeometry:"geometry",esriFieldTypeBlob:"blob",esriFieldTypeRaster:"raster",esriFieldTypeGUID:"guid",esriFieldTypeGlobalID:"global-id",esriFieldTypeXML:"xml",esriFieldTypeBigInteger:"big-integer",esriFieldTypeDateOnly:"date-only",esriFieldTypeTimeOnly:"time-only",esriFieldTypeTimestampOffset:"timestamp-offset"})},2272(e,t,i){i.d(t,{Dl:()=>u,gf:()=>h,jV:()=>l,lF:()=>c});var n=i(92602),s=i(70333),r=i(4718),o=i(84952),a=i(926);function l(e,t){return t?{...t,query:{...e,...t.query}}:{query:e}}function u(e){return"string"==typeof e?(0,o.An)(e):(0,r.o8)(e)}function c(e,t,i){const n={};for(const s in e){if("declaredClass"===s)continue;const r=e[s];if(null!=r&&"function"!=typeof r)if(Array.isArray(r))n[s]=r.map(e=>c(e));else if("object"==typeof r)if(r.toJSON){const e=r.toJSON(i?.[s]);n[s]=t?e:JSON.stringify(e)}else n[s]=t?r:JSON.stringify(r);else n[s]=r}return n}async function h(e,t,r){const o=function(e,t){return e?t&&(0,a.Qc)(e)?t:(0,a.getApiKey)(e)??s.id?.findCredential(e)?.token:null}(e,t);if(o)return o;!s.id&&n.A.request.useIdentity&&await Promise.all([i.e(7632),i.e(1315),i.e(148)]).then(i.bind(i,50148));const l=await s.id.getCredential(e,r);return l?.token}},926(e,t,i){i.d(t,{Dd:()=>d,Jn:()=>p,Qc:()=>m,getApiKey:()=>c,getSessionToken:()=>h});var n=i(92602),s=i(11254),r=i(84952);const o=/^https?:\/\/(i?basemaps|basemapstyles)-api\.arcgis\.com\//i,a=new Set(["elevation3d.arcgis.com","js.arcgis.com","jsdev.arcgis.com","jsqa.arcgis.com","static.arcgis.com"]),l=new Map;let u=null;function c(e){if(!m(e))return null;const t=t=>t instanceof RegExp?t.test(e):"string"==typeof t&&e.startsWith(t),i=n.A.apiKeys;if(Array.isArray(i.scopes))for(const e of i.scopes)if(Array.isArray(e.urls)){if(e.urls.some(t))return e.token}else if(t(e.urls))return e.token;return i.basemapStyles&&o.test(e)?i.basemapStyles:n.A.apiKey&&/^https?:\/\/.+\.arcgis\.com(\/|$)/i.test(e)?n.A.apiKey:null}async function h(e){if(!n.A.sessions?.basemap?.enabled||!o.test(e))return null;const t=c(e);if(!t)return null;u&&await u;const{styleFamily:i="arcgis",autoRefresh:r,duration:a=43200}=n.A.sessions.basemap,h=`${t}:${i}`,d=l.get(h);if(d&&(!r||d.endTime>Date.now()))return d.sessionToken;let p;u=(0,s.A)("https://basemapstyles-api.arcgis.com/arcgis/rest/services/styles/v2/sessions/start",{cacheBust:!0,query:{durationSeconds:a,styleFamily:i,token:t}});try{p=(await u).data,p.endTime-=5e3,l.set(h,p)}finally{u=null}return p.sessionToken}function d(){return null!=n.A.apiKey||null!=n.A.apiKeys.basemapStyles}function p(e,t){return t?m(e):null!=c(e)}function m(e){const t=(0,r.$z)(e,!0);return!!t&&!a.has(t)&&!e.endsWith("/sharing/rest/generateToken")}}}]);
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[926,4794],{69540(e,t,i){i.d(t,{OU:()=>c,Pw:()=>h});var n=i(5482),s=i(69622),r=(i(44208),i(4718)),o=(i(53966),i(97768)),a=i(88620),l=i(64108);const u=Symbol("ClonableMixin"),c=e=>{var t;const i=e;let s=class extends i{constructor(){super(...arguments),this[t]=!0}static{t=u}clone(e){const t=(0,a.oY)(this);(0,o.Lw)(t,"unable to clone instance of non-accessor class");const i=t.metadata,n=t.store,s={},l=new Map;for(const t in i){const o=i[t],a=n?.originOf(t),u=o.clonable;if(o.readOnly||!1===u||7!==a&&0!==a&&5!==a&&4!==a)continue;const c=this[t];let h=null;if("function"==typeof u)h=u(c,e);else if("reference"===u)h=c;else if(h=(0,r.TU)(c,e),null!=c&&null==h)continue;0===a?l.set(t,h):s[t]=h}const u=new(0,Object.getPrototypeOf(this).constructor)(s);if(l.size){const e=(0,a.oY)(u)?.store;if(e)for(const[t,i]of l)e.set(t,i,0)}return u}};return s=(0,n.Cg)([(0,l.$)("esri.core.Clonable")],s),s},h=c(s.A)},66344(e,t,i){i.d(t,{q:()=>a});const n=!!(0,i(44208).A)("esri-tests-disable-gpu-memory-measurements");Symbol.iterator;class s{get size(){return this._size}constructor(e=10485760,t=.3){this._maxSize=e,this._maxClientSizeRatio=t,this._db=new Map,this._size=0,this._hit=0,this._miss=0,this._clients=new Map,this._sizeLimits=new Map}destroy(){this.clearAll(),this._sizeLimits.clear(),this._clients.clear(),this._db.clear()}register(e){this._clients.set(e.id.slice(0,-1),e)}deregister(e){this.clear(e),this._sizeLimits.delete(e),this._clients.delete(e.id.slice(0,-1))}get maxSize(){return this._maxSize}set maxSize(e){this._maxSize=Math.max(e,-1),this._checkSize()}get _maxClientSize(){return this._maxSize*this._maxClientSizeRatio}getSize(e,t){const i=this._db.get(e.id+t);return i?.size??0}put(e,t,i,s,o){t=e.id+t;const a=this._db.get(t);if(a&&(this._size-=a.size,e.size-=a.size,this._db.delete(t),a.entry!==i&&this._notifyRemove(t,a.entry,a.size,0)),s>this._maxSize)return void this._notifyRemove(t,i,s,0);if(void 0===i)return void console.warn("Refusing to cache undefined entry ");if(!s||s<0)return n||console.warn(`Refusing to cache entry with size ${s} for key ${t}`),void this._notifyRemove(t,i,0,0);const l=1+Math.max(o,-4)- -3;this._db.set(t,new r(i,s,l)),this._size+=s,e.size+=s,this._checkSize()}updateSize(e,t){t=e.id+t;const i=this._db.get(t);if(!i)return;this._size-=i.size,e.size-=i.size;let n=i.entry.usedMemory;for(;n>this._maxSize;){const e=this._notifyRemove(t,i.entry,n,1);if(!(null!=e&&e>0))return void this._db.delete(t);n=e}i.size=n,this._size+=n,e.size+=n,this._checkSize()}pop(e,t){t=e.id+t;const i=this._db.get(t);if(i)return this._size-=i.size,e.size-=i.size,this._db.delete(t),++this._hit,i.entry;++this._miss}get(e,t){t=e.id+t;const i=this._db.get(t);if(void 0!==i)return this._db.delete(t),i.lives=i.lifetime,this._db.set(t,i),++this._hit,i.entry;++this._miss}peek(e,t){const i=this._db.get(e.id+t);return i?++this._hit:++this._miss,i?.entry}get performanceInfo(){const e={Size:Math.round(this._size/1048576)+"/"+Math.round(this._maxSize/1048576)+"MB","Hit rate":Math.round(100*this._getHitRate())+"%",Entries:this._db.size.toString()},t={},i=new Array;this._db.forEach((e,n)=>{const s=e.lifetime;i[s]=(i[s]||0)+e.size,this._clients.forEach(i=>{const{id:s,name:r}=i;if(n.startsWith(s)){const i=t[r]||0;t[r]=i+e.size}})});const n={};this._clients.forEach(e=>{const i=e.name;if("hitRate"in e&&"number"==typeof e.hitRate&&!isNaN(e.hitRate)&&e.hitRate>0){const s=t[i]||0;t[i]=s,n[i]=Math.round(100*e.hitRate)+"%"}else n[i]="0%"});const s=Object.keys(t);s.sort((e,i)=>t[i]-t[e]),s.forEach(i=>e[i]=Math.round(t[i]/2**20)+"MB / "+n[i]);for(let t=i.length-1;t>=0;--t){const n=i[t];n&&(e["Priority "+(t+-3-1)]=Math.round(n/this._size*100)+"%")}return e}resetStats(){this._hit=this._miss=0,this._clients.forEach(e=>e.resetHitRate())}clear(e){const t=e.id;this._db.forEach((e,i)=>{i.startsWith(t)&&(this._size-=e.size,this._db.delete(i),this._notifyRemove(i,e.entry,e.size,0))}),e.size=0}clearAll(){this._db.forEach((e,t)=>this._notifyRemove(t,e.entry,e.size,0)),this._clients.forEach(e=>e.size=0),this._size=0,this._db.clear()}*values(e){for(const[t,i]of this._db)t.startsWith(e.id)&&(yield i.entry)}_getHitRate(){return this._hit/(this._hit+this._miss)}_notifyRemove(e,t,i,n){const s=this._clients.get(e.split(o)[0])?.removeFunc,r=s?.(t,n,i);return"number"==typeof r?r:null}_checkSize(){this._sizeLimits.forEach((e,t)=>this._checkSizeLimits(e,t)),this._clients.forEach(e=>this._checkSizeLimits(this._maxClientSize,e)),this._checkSizeLimits(this.maxSize)}setMaxClientSize(e,t){null==t||t<=0?this._sizeLimits.delete(e):this._sizeLimits.set(e,t)}_checkSizeLimits(e,t){const i=t??this;if(i.size<=e)return;const n=t?.id;let s=!0;for(;s;){s=!1;for(const[r,a]of this._db)if(0===a.lifetime&&(!n||r.startsWith(n))){const n=t??this._clients.get(r.split(o)[0]);if(this._purgeItem(r,a,n),i.size<=.9*e)return;s||=this._db.has(r)}}for(const[s,r]of this._db)if(!n||s.startsWith(n)){const n=t??this._clients.get(s.split(o)[0]);if(this._purgeItem(s,r,n),i.size<=.9*e)return}}_purgeItem(e,t,i){if(this._db.delete(e),t.lives<=1){this._size-=t.size,i&&(i.size-=t.size);const n=this._notifyRemove(e,t.entry,t.size,1);null!=n&&n>0&&(this._size+=n,i&&(i.size+=n),t.lives=t.lifetime,t.size=n,this._db.set(e,t))}else--t.lives,this._db.set(e,t)}}new s(0);class r{constructor(e,t,i){this.entry=e,this.size=t,this.lifetime=i,this.lives=i}}const o=":";class a{constructor(e,t){this.removeFunc=t,this.id="",this.name="",this.size=0,this._storage=new s(e,1),this._storage.register(this)}destroy(){this._storage.deregister(this),this._storage.destroy()}put(e,t,i=1){this._storage.put(this,e,t,i,1)}pop(e){return this._storage.pop(this,e)}get(e){return this._storage.get(this,e)}clear(){this._storage.clearAll()}get maxSize(){return this._storage.maxSize}set maxSize(e){this._storage.maxSize=e}resetHitRate(){}}},60999(e,t,i){i.d(t,{DZ:()=>m,Ke:()=>p,Tj:()=>c,UT:()=>f,aD:()=>g,jJ:()=>u});var n=i(5482),s=i(69622),r=i(97768),o=i(17676),a=i(10107),l=i(64108);function u(e,t,i){return(0,o.Lx)(e.map((e,n)=>t.apply(i,[e,n])))}async function c(e,t,i){return(await(0,o.Lx)(e.map((e,n)=>t.apply(i,[e,n])))).map(e=>e.value)}function h(e){return{ok:!0,value:e}}function d(e){return{ok:!1,error:e}}async function p(e){if(null==e)return{ok:!1,error:new Error("no promise provided")};try{return h(await e)}catch(e){return d(e)}}async function m(e){try{return h(await e)}catch(e){return(0,o.QP)(e),d(e)}}function f(e,t){return new y(e,t)}let y=class extends s.A{get value(){return null!=(e=this._result)&&!0===e.ok?e.value:null;var e}get error(){return null!=(e=this._result)&&!1===e.ok?e.error:null;var e}get finished(){return null!=this._result}constructor(e,t){super({}),this._result=null,this._abortHandle=null,this.abort=()=>{this._abortController=(0,r.DC)(this._abortController)},this.remove=this.abort,this._abortController=new AbortController;const{signal:i}=this._abortController;this.promise=e(i),this.promise.then(e=>{this._result=h(e),this._cleanup()},e=>{this._result=d(e),this._cleanup()}),this._abortHandle=(0,o.u7)(t,this.abort)}normalizeCtorArgs(){return{}}destroy(){this.abort()}_cleanup(){this._abortHandle=(0,r.xt)(this._abortHandle),this._abortController=null}};(0,n.Cg)([(0,a.MZ)()],y.prototype,"value",null),(0,n.Cg)([(0,a.MZ)()],y.prototype,"error",null),(0,n.Cg)([(0,a.MZ)()],y.prototype,"finished",null),(0,n.Cg)([(0,a.MZ)()],y.prototype,"promise",void 0),(0,n.Cg)([(0,a.MZ)()],y.prototype,"_result",void 0),y=(0,n.Cg)([(0,l.$)("esri.core.asyncUtils.ReactiveTask")],y);class g{constructor(){this._sequence=Promise.resolve()}async acquire(){let e;this._sequence=new Promise(t=>{e=this._sequence.then(()=>t,()=>t)});const t=await e;return{[Symbol.dispose]:t}}async run(e){const t={stack:[],error:void 0,hasError:!1};try{return(0,n.mS)(t,await this.acquire(),!1),await e()}catch(e){t.error=e,t.hasError=!0}finally{(0,n.hk)(t)}}}},67482(e,t,i){function n(e){return null!=a(e)||null!=o(e)}function s(e){return l.test(e)}function r(e){return a(e)??o(e)}function o(e){const t=new Date(e);return function(e,t){if(Number.isNaN(e.getTime()))return!1;let i=!0;if(c&&/\d+\W*$/.test(t)){const e=t.match(/[a-zA-Z]{2,}/);if(e){let t=!1,n=0;for(;!t&&n<=e.length;)t=!u.test(e[n]),n++;i=!t}}return i}(t,e)?Number.isNaN(t.getTime())?null:t.getTime()-6e4*t.getTimezoneOffset():null}function a(e){const t=l.exec(e);if(!t?.groups)return null;const i=t.groups,n=+i.year,s=+i.month-1,r=+i.day,o=+(i.hours??"0"),a=+(i.minutes??"0"),u=+(i.seconds??"0");if(o>23)return null;if(a>59)return null;if(u>59)return null;const c=i.ms??"0",h=c?+c.padEnd(3,"0").slice(0,3):0;let d;if(i.isUTC||!i.offsetSign)d=Date.UTC(n,s,r,o,a,u,h);else{const e=+i.offsetHours,t=+i.offsetMinutes;d=6e4*("+"===i.offsetSign?-1:1)*(60*e+t)+Date.UTC(n,s,r,o,a,u,h)}return Number.isNaN(d)?null:d}i.d(t,{Br:()=>s,Cq:()=>n,_U:()=>r});const l=/^(?:(?<year>-?\d{4,})-(?<month>\d{2})-(?<day>\d{2}))(?:T(?<hours>\d{2}):(?<minutes>\d{2}):(?<seconds>\d{2})(?:\.(?<ms>\d+))?)?(?:(?<isUTC>Z)|(?:(?<offsetSign>\+|-)(?<offsetHours>\d{2}):(?<offsetMinutes>\d{2})))?$/,u=/^((jan(uary)?)|(feb(ruary)?)|(mar(ch)?)|(apr(il)?)|(may)|(jun(e)?)|(jul(y)?)|(aug(ust)?)|(sep(tember)?)|(oct(ober)?)|(nov(ember)?)|(dec(ember)?)|(am)|(pm)|(gmt)|(utc))$/i,c=!Number.isNaN(new Date("technology 10").getTime())},75503(e,t,i){i.d(t,{wq:()=>a});var n=i(4576),s=i(21818),r=(i(44208),i(15142)),o=i(11006);class a{constructor(e=9,t){this._compareMinX=d,this._compareMinY=p,this._toBBox=e=>e,this._maxEntries=Math.max(4,e||9),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),t&&("function"==typeof t?this._toBBox=t:this._initFormat(t)),this.clear()}destroy(){this.clear(),x.prune(),v.prune(),C.prune(),S.prune()}all(e){l(this._data,e)}search(e,t){let i=this._data;const n=this._toBBox;if(w(e,i))for(x.clear();i;){for(let s=0,r=i.children.length;s<r;s++){const r=i.children[s],o=i.leaf?n(r):r;w(e,o)&&(i.leaf?t(r):_(e,o)?l(r,t):x.push(r))}i=x.pop()}}collides(e){let t=this._data;const i=this._toBBox;if(!w(e,t))return!1;for(x.clear();t;){for(let n=0,s=t.children.length;n<s;n++){const s=t.children[n],r=t.leaf?i(s):s;if(w(e,r)){if(t.leaf||_(e,r))return!0;x.push(s)}}t=x.pop()}return!1}load(e){if(!e.length)return this;if(e.length<this._minEntries){for(let t=0,i=e.length;t<i;t++)this.insert(e[t]);return this}let t=this._build(e.slice(),0,e.length-1,0);if(this._data.children.length)if(this._data.height===t.height)this._splitRoot(this._data,t);else{if(this._data.height<t.height){const e=this._data;this._data=t,t=e}this._insert(t,this._data.height-t.height-1,!0)}else this._data=t;return this}insert(e){return e&&this._insert(e,this._data.height-1),this}clear(){return this._data=new M([]),this}remove(e){if(!e)return this;let t,i=this._data,r=null,o=0,a=!1;const l=this._toBBox(e);for(C.clear(),S.clear();i||C.length>0;){if(i||(i=C.pop(),r=C.data[C.length-1],o=S.pop()??0,a=!0),i.leaf&&(t=(0,n.qh)(i.children,(0,s.z)(e),i.children.length,i.indexHint),-1!==t))return i.children.splice(t,1),C.push(i),this._condense(C),this;a||i.leaf||!_(i,l)?r?(o++,i=r.children[o],a=!1):i=null:(C.push(i),S.push(o),o=0,r=i,i=i.children[0])}return this}toJSON(){return this._data}fromJSON(e){return this._data=e,this}_build(e,t,i,n){const s=i-t+1;let r=this._maxEntries;if(s<=r){const n=new M(e.slice(t,i+1));return u(n,this._toBBox),n}n||(n=Math.ceil(Math.log(s)/Math.log(r)),r=Math.ceil(s/r**(n-1)));const o=new R([]);o.height=n;const a=Math.ceil(s/r),l=a*Math.ceil(Math.sqrt(r));b(e,t,i,l,this._compareMinX);for(let s=t;s<=i;s+=l){const t=Math.min(s+l-1,i);b(e,s,t,a,this._compareMinY);for(let i=s;i<=t;i+=a){const s=Math.min(i+a-1,t);o.children.push(this._build(e,i,s,n-1))}}return u(o,this._toBBox),o}_insert(e,t,i){const n=this._toBBox,s=i?e:n(e);C.clear();const r=function(e,t,i,n){for(;n.push(t),!0!==t.leaf&&n.length-1!==i;){let i,n=1/0,s=1/0;for(let r=0,o=t.children.length;r<o;r++){const o=t.children[r],a=m(o),l=y(e,o)-a;l<s?(s=l,n=a<n?a:n,i=o):l===s&&a<n&&(n=a,i=o)}t=i||t.children[0]}return t}(s,this._data,t,C);for(r.children.push(e),h(r,s);t>=0&&C.data[t].children.length>this._maxEntries;)this._split(C,t),t--;!function(e,t,i){for(let n=i;n>=0;n--)h(t.data[n],e)}(s,C,t)}_split(e,t){const i=e.data[t],n=i.children.length,s=this._minEntries;this._chooseSplitAxis(i,s,n);const r=this._chooseSplitIndex(i,s,n);if(!r)return;const o=i.children.splice(r,i.children.length-r),a=i.leaf?new M(o):new R(o);a.height=i.height,u(i,this._toBBox),u(a,this._toBBox),t?e.data[t-1].children.push(a):this._splitRoot(i,a)}_splitRoot(e,t){this._data=new R([e,t]),this._data.height=e.height+1,u(this._data,this._toBBox)}_chooseSplitIndex(e,t,i){let n,s,r;n=s=1/0;for(let o=t;o<=i-t;o++){const t=c(e,0,o,this._toBBox),a=c(e,o,i,this._toBBox),l=g(t,a),u=m(t)+m(a);l<n?(n=l,r=o,s=u<s?u:s):l===n&&u<s&&(s=u,r=o)}return r}_chooseSplitAxis(e,t,i){const n=e.leaf?this._compareMinX:d,s=e.leaf?this._compareMinY:p;this._allDistMargin(e,t,i,n)<this._allDistMargin(e,t,i,s)&&e.children.sort(n)}_allDistMargin(e,t,i,n){e.children.sort(n);const s=this._toBBox,r=c(e,0,t,s),o=c(e,i-t,i,s);let a=f(r)+f(o);for(let n=t;n<i-t;n++){const t=e.children[n];h(r,e.leaf?s(t):t),a+=f(r)}for(let n=i-t-1;n>=t;n--){const t=e.children[n];h(o,e.leaf?s(t):t),a+=f(o)}return a}_condense(e){for(let t=e.length-1;t>=0;t--){const i=e.data[t];if(0===i.children.length)if(t>0){const s=e.data[t-1],r=s.children;r.splice((0,n.qh)(r,i,r.length,s.indexHint),1)}else this.clear();else u(i,this._toBBox)}}_initFormat(e){const t=["return a"," - b",";"];this._compareMinX=new Function("a","b",t.join(e[0])),this._compareMinY=new Function("a","b",t.join(e[1])),this._toBBox=new Function("a","return {minX: a"+e[0]+", minY: a"+e[1]+", maxX: a"+e[2]+", maxY: a"+e[3]+"};")}}function l(e,t){let i=e;for(v.clear();i;){if(!0===i.leaf)for(const e of i.children)t((0,s.z)(e));else v.pushArray(i.children);i=v.pop()??null}}function u(e,t){c(e,0,e.children.length,t,e)}function c(e,t,i,n,s){s||(s=new M([])),s.minX=1/0,s.minY=1/0,s.maxX=-1/0,s.maxY=-1/0;for(let r,o=t;o<i;o++)r=e.children[o],h(s,e.leaf?n(r):r);return s}function h(e,t){e.minX=Math.min(e.minX,t.minX),e.minY=Math.min(e.minY,t.minY),e.maxX=Math.max(e.maxX,t.maxX),e.maxY=Math.max(e.maxY,t.maxY)}function d(e,t){return e.minX-t.minX}function p(e,t){return e.minY-t.minY}function m(e){return(e.maxX-e.minX)*(e.maxY-e.minY)}function f(e){return e.maxX-e.minX+(e.maxY-e.minY)}function y(e,t){return(Math.max(t.maxX,e.maxX)-Math.min(t.minX,e.minX))*(Math.max(t.maxY,e.maxY)-Math.min(t.minY,e.minY))}function g(e,t){const i=Math.max(e.minX,t.minX),n=Math.max(e.minY,t.minY),s=Math.min(e.maxX,t.maxX),r=Math.min(e.maxY,t.maxY);return Math.max(0,s-i)*Math.max(0,r-n)}function _(e,t){return e.minX<=t.minX&&e.minY<=t.minY&&t.maxX<=e.maxX&&t.maxY<=e.maxY}function w(e,t){return t.minX<=e.maxX&&t.minY<=e.maxY&&t.maxX>=e.minX&&t.maxY>=e.minY}function b(e,t,i,n,s){const r=[t,i];for(;r.length;){const t=r.pop(),i=r.pop();if(t-i<=n)continue;const a=i+Math.ceil((t-i)/n/2)*n;(0,o.q)(e,a,i,t,s),r.push(i,a,a,t)}}const x=new r.A,v=new r.A,C=new r.A,S=new r.A({deallocator:void 0});class A{constructor(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0}}class T extends A{constructor(){super(...arguments),this.height=1,this.indexHint=new n.vW}}class M extends T{constructor(e){super(),this.children=e,this.leaf=!0}}class R extends T{constructor(e){super(),this.children=e,this.leaf=!1}}},36708(e,t,i){i.d(t,{C_:()=>d,OH:()=>f,Vh:()=>y,on:()=>h,pc:()=>g,wB:()=>l,z7:()=>u});var n=i(37955),s=i(36563),r=i(97768),o=i(17676),a=i(14012);function l(e,t,i={}){return c(e,t,i,p)}function u(e,t,i={}){return c(e,t,i,m)}function c(e,t,i={},n){let s=null;const o=i.once?(e,i)=>{n(e)&&((0,r.xt)(s),t(e,i))}:(e,i)=>{n(e)&&t(e,i)};if(s=(0,a.Cn)(e,o,i.sync,i.equals),i.initial){const t=e();o(t,t)}return s}function h(e,t,i,o={}){let a=null,u=null,c=null;function h(){a&&u&&(u.remove(),o.onListenerRemove?.(a),a=null,u=null)}function d(e){o.once&&o.once&&(0,r.xt)(c),i(e)}const p=l(e,(e,i)=>{h(),(0,n.wb)(e)&&(a=e,u=(0,n.on)(e,t,d),o.onListenerAdd?.(e))},{sync:o.sync,initial:!0});return c=(0,s.hA)(()=>{p.remove(),h()}),c}function d(e,t){return function(e,t,i){if((0,o.G4)(i))return Promise.reject((0,o.NK)());const n=e();if(t?.(n))return Promise.resolve(n);let a=null;function l(){a=(0,r.xt)(a)}return new Promise((n,r)=>{a=(0,s.vE)([(0,o.u7)(i,()=>{l(),r((0,o.NK)())}),c(e,e=>{l(),n(e)},{sync:!1,once:!0},t??p)])})}(e,m,t)}function p(e){return!0}function m(e){return!!e}i(80559);const f={sync:!0},y={initial:!0},g={sync:!0,initial:!0}},48526(e,t,i){i.d(t,{A:()=>m});var n,s=i(5482),r=i(4718),o=i(91429),a=i(5443),l=i(91075),u=i(86738),c=i(16930),h=i(90634),d=i(56993),p=i(43937);let m=n=class extends l.A{constructor(e){super(function(e){if(!e)return;let{points:t,hasM:i,hasZ:n,spatialReference:s}=e;switch(t??=[],t?.at(0)?.length){case 4:n??=!0,i??=!0;break;case 3:n??=!0!==i,i??=!n;break;default:n??=!1,i??=!1}return s??=c.A.WGS84,{...e,hasM:i,hasZ:n,points:t,spatialReference:s}}(e)),this.points=[],this.type="multipoint"}get cache(){return this.commitProperty("points"),this.commitProperty("hasZ"),this.commitProperty("hasM"),this.commitProperty("spatialReference"),{}}get extent(){const e=(0,h.ge)(this);return e?new a.A({...e,spatialReference:this.spatialReference}):null}writePoints(e,t){t.points=(0,r.o8)(this.points)}clone(){const{points:e,spatialReference:t,hasM:i,hasZ:s}=this;return new n({points:(0,r.o8)(e),spatialReference:t.clone(),hasM:i,hasZ:s})}addPoint(e){return(0,d.h)(this,e),Array.isArray(e)?this.points.push(e):this.points.push(e.toArray()),this.notifyChange("points"),this}getPoint(e){if(!this._validateInputs(e))return null;const t=this.points[e],i={x:t[0],y:t[1],spatialReference:this.spatialReference};let n=2;return this.hasZ&&(i.z=t[2],n=3),this.hasM&&(i.m=t[n]),new u.A(i)}removePoint(e){if(!this._validateInputs(e))return null;const t=new u.A(this.points.splice(e,1)[0],this.spatialReference);return this.notifyChange("points"),t}setPoint(e,t){return this._validateInputs(e)?((0,d.h)(this,t),Array.isArray(t)||(t=t.toArray()),this.points[e]=t,this.notifyChange("points"),this):this}toJSON(e){return this.write({},e)}_validateInputs(e){return null!=e&&e>=0&&e<this.points.length}};(0,s.Cg)([(0,o.MZ)({readOnly:!0})],m.prototype,"cache",null),(0,s.Cg)([(0,o.MZ)({readOnly:!0})],m.prototype,"extent",null),(0,s.Cg)([(0,o.MZ)({type:[[Number]],json:{write:{isRequired:!0}}})],m.prototype,"points",void 0),(0,s.Cg)([(0,p.K)("points")],m.prototype,"writePoints",null),m=n=(0,s.Cg)([(0,o.$K)("esri.geometry.Multipoint")],m),m.prototype.toJSON.isDefaultToJSON=!0},82799(e,t,i){i.d(t,{A:()=>m});var n,s=i(5482),r=i(4718),o=i(91429),a=i(5443),l=i(91075),u=i(86738),c=i(16930),h=i(90634),d=i(56993),p=i(43937);let m=n=class extends l.A{constructor(e){super(function(e){if(!e)return;let{paths:t,hasM:i,hasZ:n,spatialReference:s}=e;switch(t??=[],function(e){return"number"==typeof e[0]?.[0]}(t)&&(t=[t]),t[0]?.[0]?.length){case 4:n??=!0,i??=!0;break;case 3:n??=!0!==i,i??=!n;break;default:n??=!1,i??=!1}return s??=c.A.WGS84,{...e,hasM:i,hasZ:n,paths:t,spatialReference:s}}(e)),this.curvePaths=void 0,this.paths=[],this.type="polyline"}get cache(){return this.commitProperty("curvePaths"),this.commitProperty("hasM"),this.commitProperty("hasZ"),this.commitProperty("paths"),this.commitProperty("spatialReference"),{}}writeCurvePaths(e,t){t.curvePaths=(0,r.o8)(e)}get extent(){const e=(0,h.Z3)(this),{spatialReference:t}=this;return e?new a.A({...e,spatialReference:t}):null}writePaths(e,t){t.paths=(0,r.o8)(this.paths)}addPath(e){if(!e)return;const t=this.paths,i=t.length;if(function(e){return!Array.isArray(e[0])}(e)){const n=[];for(let t=0,i=e.length;t<i;t++)n[t]=e[t].toArray();t[i]=n}else t[i]=e.slice();return this.notifyChange("paths"),this}clone(){const e=new n;return e.spatialReference=this.spatialReference,e.paths=(0,r.o8)(this.paths),e.curvePaths=(0,r.o8)(this.curvePaths),e.hasZ=this.hasZ,e.hasM=this.hasM,e}getPoint(e,t){if(!this._validateInputs(e,t))return null;const i=this.paths[e][t],n=this.hasZ,s=this.hasM;return n&&!s?new u.A(i[0],i[1],i[2],void 0,this.spatialReference):s&&!n?new u.A(i[0],i[1],void 0,i[2],this.spatialReference):n&&s?new u.A(i[0],i[1],i[2],i[3],this.spatialReference):new u.A(i[0],i[1],this.spatialReference)}insertPoint(e,t,i){return this._validateInputs(e,t,!0)?((0,d.h)(this,i),Array.isArray(i)||(i=i.toArray()),this.paths[e].splice(t,0,i),this.notifyChange("paths"),this):this}removePath(e){if(!this._validateInputs(e,null))return null;const t=this.paths.splice(e,1)[0],i=this.spatialReference,n=t.map(e=>new u.A(e,i));return this.notifyChange("paths"),n}removePoint(e,t){if(!this._validateInputs(e,t))return null;const i=new u.A(this.paths[e].splice(t,1)[0],this.spatialReference);return this.notifyChange("paths"),i}setPoint(e,t,i){return this._validateInputs(e,t)?((0,d.h)(this,i),Array.isArray(i)||(i=i.toArray()),this.paths[e][t]=i,this.notifyChange("paths"),this):this}_validateInputs(e,t,i=!1){if(null==e||e<0||e>=this.paths.length)return!1;if(null!=t){const n=this.paths[e];if(i&&(t<0||t>n.length))return!1;if(!i&&(t<0||t>=n.length))return!1}return!0}toJSON(e){return this.write({},e)}};(0,s.Cg)([(0,o.MZ)({readOnly:!0})],m.prototype,"cache",null),(0,s.Cg)([(0,o.MZ)({json:{write:!0,origins:{"portal-item":{write:!1},"web-map":{write:!1},"web-scene":{write:!1}}}})],m.prototype,"curvePaths",void 0),(0,s.Cg)([(0,p.K)("curvePaths")],m.prototype,"writeCurvePaths",null),(0,s.Cg)([(0,o.MZ)({readOnly:!0})],m.prototype,"extent",null),(0,s.Cg)([(0,o.MZ)({type:[[[Number]]],json:{write:{isRequired:!0}}})],m.prototype,"paths",void 0),(0,s.Cg)([(0,p.K)("paths")],m.prototype,"writePaths",null),m=n=(0,s.Cg)([(0,o.$K)("esri.geometry.Polyline")],m),m.prototype.toJSON.isDefaultToJSON=!0},60408(e,t,i){function n(e){return void 0!==e.xmin&&void 0!==e.ymin&&void 0!==e.xmax&&void 0!==e.ymax}function s(e){return void 0!==e.points}function r(e){return void 0!==e.x&&void 0!==e.y}function o(e){return void 0!==e.paths||void 0!==e.curvePaths}function a(e){return void 0!==e.rings||void 0!==e.curveRings}function l(e){return"object"==typeof e&&"vertexAttributes"in e}function u(e){return e?r(e)?"esriGeometryPoint":o(e)?"esriGeometryPolyline":a(e)?"esriGeometryPolygon":n(e)?"esriGeometryEnvelope":s(e)?"esriGeometryMultipoint":null:null}function c(e){return null!=e&&("hasZ"in e&&e.hasZ||"z"in e&&null!=e.z)}function h(e){return null!=e&&("hasM"in e&&e.hasM||"m"in e&&null!=e.m)}i.d(t,{$B:()=>u,Bi:()=>a,Pv:()=>c,Rg:()=>o,U9:()=>s,W0:()=>h,ZC:()=>n,fT:()=>r,uW:()=>l})},65864(e,t,i){i.d(t,{rS:()=>c,xD:()=>d});var n=i(5443),s=i(91075),r=i(48526),o=i(86738),a=i(39829),l=i(82799),u=i(60408);function c(e){return null==e?null:e instanceof s.A?e:(0,u.fT)(e)?o.A.fromJSON(e):(0,u.Rg)(e)?l.A.fromJSON(e):(0,u.Bi)(e)?a.A.fromJSON(e):(0,u.U9)(e)?r.A.fromJSON(e):(0,u.ZC)(e)?n.A.fromJSON(e):null}const h={esriGeometryPoint:o.A,esriGeometryPolyline:l.A,esriGeometryPolygon:a.A,esriGeometryEnvelope:n.A,esriGeometryMultipoint:r.A,esriGeometryMultiPatch:a.A};function d(e){return e&&h[e]||null}},50498(e,t,i){i.d(t,{Ye:()=>h,gy:()=>c,iI:()=>p,yR:()=>d});var n=i(66552),s=i(5443),r=i(91075),o=i(48526),a=i(86738),l=i(39829),u=i(82799);const c=(0,n.O)()({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon"}),h=(0,n.O)()({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon",esriGeometryEnvelope:"extent",mesh:"mesh"}),d={base:r.A,key:"type",typeMap:{extent:s.A,multipoint:o.A,point:a.A,polyline:u.A,polygon:l.A}},p=new n.J({esriGeometryBezier3Curve:"cubic-bezier",esriGeometryCircularArc:"circular-arc",esriGeometryEllipticArc:"elliptic-arc"},{ignoreUnknown:!0})},6518(e,t,i){i.d(t,{F:()=>a});var n=i(44208),s=i(75503),r=i(19419);const o={minX:0,minY:0,maxX:0,maxY:0};class a{constructor(){this._indexInvalid=!1,this._boundsToLoad=[],this._boundsById=new Map,this._idByBounds=new Map,this._index=new s.wq(9,(0,n.A)("esri-csp-restrictions")?e=>({minX:e[0],minY:e[1],maxX:e[2],maxY:e[3]}):["[0]","[1]","[2]","[3]"]),this._loadIndex=()=>{if(this._indexInvalid){const e=new Array(this._idByBounds.size);let t=0;this._idByBounds.forEach((i,n)=>{e[t++]=n}),this._indexInvalid=!1,this._index.clear(),this._index.load(e)}else this._boundsToLoad.length&&(this._index.load(Array.from(new Set(this._boundsToLoad.filter(e=>this._idByBounds.has(e))))),this._boundsToLoad.length=0)}}get fullBounds(){if(!this._boundsById.size)return null;const e=(0,r.Ie)();for(const t of this._boundsById.values())t&&(e[0]=Math.min(t[0],e[0]),e[1]=Math.min(t[1],e[1]),e[2]=Math.max(t[2],e[2]),e[3]=Math.max(t[3],e[3]));return e}get valid(){return!this._indexInvalid}clear(){this._indexInvalid=!1,this._boundsToLoad.length=0,this._boundsById.clear(),this._idByBounds.clear(),this._index.clear()}delete(e){const t=this._boundsById.get(e);this._boundsById.delete(e),t&&(this._idByBounds.delete(t),this._indexInvalid||this._index.remove(t))}forEachInBounds(e,t){this._loadIndex(),function(e,t,i){(function(e){o.minX=e[0],o.minY=e[1],o.maxX=e[2],o.maxY=e[3]})(t),e.search(o,i)}(this._index,e,e=>t(this._idByBounds.get(e)))}get(e){return this._boundsById.get(e)}has(e){return this._boundsById.has(e)}invalidateIndex(){this._indexInvalid||(this._indexInvalid=!0,this._boundsToLoad.length=0)}set(e,t){if(!this._indexInvalid){const t=this._boundsById.get(e);t&&(this._index.remove(t),this._idByBounds.delete(t))}this._boundsById.set(e,t),t&&(this._idByBounds.set(t,e),this._indexInvalid||(this._boundsToLoad.push(t),this._boundsToLoad.length>5e4&&this._loadIndex()))}}},83221(e,t,i){i.d(t,{A:()=>m});var n=i(4576),s=i(49186),r=i(65529),o=i(53966),a=i(70328),l=i(19419),u=i(90708),c=i(6518),h=i(51441),d=i(37730);const p=(0,a.vt)();class m{constructor(e){this.geometryInfo=e,this._boundsStore=new c.F,this._featuresById=new Map,this._usedMemory=0,this.events=new r.bk,this.featureAdapter=d.T}get usedMemory(){return this._usedMemory}get geometryType(){return this.geometryInfo.geometryType}get hasM(){return this.geometryInfo.hasM}get hasZ(){return this.geometryInfo.hasZ}get numFeatures(){return this._featuresById.size}get fullBounds(){return this._boundsStore.fullBounds}get storeStatistics(){let e=0;return this._featuresById.forEach(t=>{null!=t.geometry&&t.geometry.coords&&(e+=t.geometry.coords.length)}),{featureCount:this._featuresById.size,vertexCount:e/(this.hasZ?this.hasM?4:3:this.hasM?3:2)}}getFullExtent(e){if(null==this.fullBounds)return null;const[t,i,n,s]=this.fullBounds;return{xmin:t,ymin:i,xmax:n,ymax:s,spatialReference:(0,h.ag)(e)}}add(e){this._add(e),this._emitChanged()}addMany(e){for(const t of e)this._add(t);this._emitChanged()}upsertMany(e){const t=e.map(e=>this._upsert(e));return this._emitChanged(),t.filter(n.Ru)}clear(){this._featuresById.clear(),this._boundsStore.clear(),this._emitChanged(),this._usedMemory=0}removeById(e){const t=this._featuresById.get(e);return t?(this._remove(t),this._emitChanged(),t):null}removeManyById(e){this._boundsStore.invalidateIndex();for(const t of e){const e=this._featuresById.get(t);e&&this._remove(e)}this._emitChanged()}forEachBounds(e,t){for(const i of e){const e=this._boundsStore.get(i.objectId);e&&t((0,a.Jt)(p,e))}}getFeature(e){return this._featuresById.get(e)}has(e){return this._featuresById.has(e)}forEach(e){this._featuresById.forEach(t=>e(t))}forEachInBounds(e,t){this._boundsStore.forEachInBounds(e,e=>{t(this._featuresById.get(e))})}_emitChanged(){this.events.emit("changed",void 0)}_add(e){if(!e)return;const t=e.objectId;if(null==t)return void o.A.getLogger("esri.layers.graphics.data.FeatureStore").error(new s.A("featurestore:invalid-feature","feature id is missing",{feature:e}));const i=this._featuresById.get(t);let n;if(i?(e.displayId=i.displayId,n=this._boundsStore.get(t),this._boundsStore.delete(t),this._usedMemory-=this.estimateFeatureUsedMemory?.(i)??0):null!=this.onFeatureAdd&&this.onFeatureAdd(e),!e.geometry?.coords?.length)return this._boundsStore.set(t,null),void this._featuresById.set(t,e);n=(0,u.jQ)(null!=n?n:(0,l.vt)(),e.geometry),null!=n&&this._boundsStore.set(t,n),this._featuresById.set(t,e),this._usedMemory+=this.estimateFeatureUsedMemory?.(e)??0}_upsert(e){const t=e?.objectId;if(null==t)return o.A.getLogger("esri.layers.graphics.data.FeatureStore").error(new s.A("featurestore:invalid-feature","feature id is missing",{feature:e})),null;const i=this._featuresById.get(t);if(!i)return this._add(e),e;this._usedMemory-=this.estimateFeatureUsedMemory?.(i)??0;const{geometry:n,attributes:r}=e;for(const e in r)i.attributes[e]=r[e];return n&&(i.geometry=n,this._boundsStore.set(t,(0,u.jQ)((0,l.vt)(),n)??null)),this._usedMemory+=this.estimateFeatureUsedMemory?.(i)??0,i}_remove(e){null!=this.onFeatureRemove&&this.onFeatureRemove(e);const t=e.objectId;return this._boundsStore.delete(t),this._featuresById.delete(t),this._usedMemory-=this.estimateFeatureUsedMemory?.(e)??0,e}}},37730(e,t,i){i.d(t,{T:()=>s});var n=i(43334);const s={getObjectId:e=>e.objectId,getAttributes:e=>e.attributes,getAttribute:(e,t)=>e.attributes[t],cloneWithGeometry:(e,t,i)=>new n.Om(t,e.attributes,null,e.objectId,e.displayId,e.distance,e.vertexCount),getGeometry:e=>e.geometry,getCentroid:(e,t)=>e.ensureCentroid(t)}},33771(e,t,i){i.r(t),i.d(t,{default:()=>x});var n=i(60999),s=i(49186),r=i(53966),o=i(34727),a=i(17676),l=i(67076),u=i(21325),c=i(90708),h=i(83221),d=i(31464),p=i(75752),m=i(85113),f=i(82832),y=i(34322),g=i(95466),_=i(54218),w=i(98623);const b="esri.layers.WFSLayer";class x{constructor(){this._customParameters=null,this._queryEngine=null,this._supportsPagination=!0}destroy(){this._queryEngine?.destroy(),this._queryEngine=null}async load(e,t={}){const{getFeatureUrl:i,getFeatureOutputFormat:n,fields:r,geometryType:o,featureType:l,maxRecordCount:u,maxTotalRecordCount:c,maxPageCount:m,objectIdField:f,customParameters:_}=e,{spatialReference:b,getFeatureSpatialReference:x}=(0,y.UH)(i,l,e.spatialReference);try{await(0,d.Nk)(x,b)}catch{throw new s.A("unsupported-projection","Projection not supported",{inSpatialReference:x,outSpatialReference:b})}(0,a.Te)(t),this._customParameters=_,this._featureType=l,this._fieldsIndex=g.A.fromLayerJSON({fields:r,dateFieldsTimeReference:r.some(e=>"esriFieldTypeDate"===e.type)?{timeZoneIANA:w.n$}:null}),this._geometryType=o,this._getFeatureUrl=i,this._getFeatureOutputFormat=n,this._getFeatureSpatialReference=x,this._maxRecordCount=u,this._maxTotalRecordCount=c,this._maxPageCount=m,this._objectIdField=f,this._spatialReference=b;let C=await this._snapshotFeatures(t);if(C.errors.length>0&&(this._supportsPagination=!1,C=await this._snapshotFeatures(t),C.errors.length>0))throw C.errors[0];const S={type:"object-id",fieldName:f};return this._queryEngine=new p.do({fieldsIndex:this._fieldsIndex,geometryType:o,hasM:!1,hasZ:!1,featureIdInfo:S,spatialReference:b,timeInfo:null,featureStore:new h.A({geometryType:o,hasM:!1,hasZ:!1})}),this._queryEngine.featureStore.addMany(C.features),{warnings:v(C),extent:(await this._queryEngine.fetchRecomputedExtents()).fullExtent}}async applyEdits(){throw new s.A("wfs-source:editing-not-supported","applyEdits() is not supported on WFSLayer")}async queryFeatures(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQuery(e,t.signal)}async queryFeatureCount(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQueryForCount(e,t.signal)}async queryObjectIds(e={},t={}){return await this._waitSnapshotComplete(),(await this._queryEngine.executeQueryForIds(e,t.signal)).filter(_.Et)}async queryExtent(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQueryForExtent(e,t.signal)}async querySnapping(e,t={}){return await this._waitSnapshotComplete(),await this._queryEngine.executeQueryForSnapping(e,t.signal)}async queryAttributeBins(e,t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeAttributeBinsQuery(e,t.signal)}async refresh(e){return this._customParameters=e.customParameters,this._maxRecordCount=e.maxRecordCount,this._maxTotalRecordCount=e.maxTotalRecordCount,this._maxPageCount=e.maxPageCount,this._snapshotTask?.abort(),this._snapshotTask=(0,n.UT)(e=>this._snapshotFeatures({signal:e})),this._snapshotTask.promise.then(e=>{this._queryEngine.featureStore.clear(),this._queryEngine.featureStore.addMany(e.features);for(const t of v(e))r.A.getLogger(b).warn(new l.A("wfs-layer:refresh-warning",t.message,t.details));e.errors?.length&&r.A.getLogger(b).warn(new l.A("wfs-layer:refresh-error","Refresh completed with errors",{errors:e.errors}))},()=>{this._queryEngine.featureStore.clear()}),await this._waitSnapshotComplete(),{extent:(await this._queryEngine.fetchRecomputedExtents()).fullExtent}}async _waitSnapshotComplete(){if(this._snapshotTask&&!this._snapshotTask.finished){try{await this._snapshotTask.promise}catch{}return this._waitSnapshotComplete()}}async _snapshotFeatures(e){const t=e?.signal,i=this._maxTotalRecordCount,n=this._maxPageCount,s=this._supportsPagination&&n>1?await(0,y.E)(this._getFeatureUrl,this._featureType.typeName,{customParameters:this._customParameters,signal:t}):void 0;let r=[];const l=[];if(null==s)try{r=await this._singleQuery(t)}catch(e){(0,a.zf)(e)||l.push(e)}else{const e=Math.min(s,i),u=function*(e,t,i){for(let n=0;n<t;n++)yield e._pageQuery(n,i)}(this,(0,o.qE)(Math.ceil(e/this._maxRecordCount),1,n),t);await Promise.allSettled(Array.from({length:10}).map(()=>async function(e,t,i){let n=e.next();for(;!n.done;){try{const e=await n.value;t.push(...e)}catch(e){(0,a.zf)(e)||i.push(e)}n=e.next()}}(u,r,l)))}return(0,a.Te)(t),{features:r,totalRecordCount:s,maxTotalRecordCount:i,maxPageCount:n,errors:l}}async _singleQuery(e){const t=Number.isFinite(this._maxRecordCount)&&this._maxRecordCount>0?this._maxRecordCount:void 0,i=await(0,y.x$)(this._getFeatureUrl,this._featureType.typeName,this._getFeatureSpatialReference,this._getFeatureOutputFormat,{customParameters:this._customParameters,count:t,signal:e});return this._processGeoJSON(i,{signal:e})}async _pageQuery(e,t){const i=e*this._maxRecordCount,n=await(0,y.x$)(this._getFeatureUrl,this._featureType.typeName,this._getFeatureSpatialReference,this._getFeatureOutputFormat,{customParameters:this._customParameters,startIndex:i,count:this._maxRecordCount,signal:t});return this._processGeoJSON(n,{startIndex:i,signal:t})}_processGeoJSON(e,t){(0,m.sO)(e,this._getFeatureSpatialReference.wkid);const{startIndex:i,signal:n}=t;(0,a.Te)(n);const s=(0,m.bd)(e,{geometryType:this._geometryType,hasZ:!1,objectIdField:this._objectIdField});if(!(0,u.aI)(this._spatialReference,this._getFeatureSpatialReference))for(const e of s)null!=e.geometry&&(e.geometry=(0,c.Ux)((0,d.Cv)((0,c.zv)(e.geometry,this._geometryType,!1,!1),this._getFeatureSpatialReference,this._spatialReference)));let r=i??1;for(const e of s){const t={};(0,f.MB)(this._fieldsIndex,t,e.attributes,!0),e.attributes=t,null==t[this._objectIdField]&&(e.objectId=t[this._objectIdField]=r++)}return s}}function v(e){const t=[];return null!=e.totalRecordCount&&(e.features.length<e.totalRecordCount&&t.push({name:"wfs-layer:maxRecordCount-too-low",message:`Could only fetch ${e.features.length} of ${e.totalRecordCount} in ${e.maxPageCount} queries. Try increasing the value of WFSLayer.maxRecordCount.`,details:{recordCount:e.features.length,totalRecordCount:e.totalRecordCount}}),e.totalRecordCount>e.maxTotalRecordCount&&t.push({name:"wfs-layer:large-dataset",message:`The number of ${e.totalRecordCount} features exceeds the maximum allowed of ${e.maxTotalRecordCount}.`,details:{recordCount:e.features.length,totalRecordCount:e.totalRecordCount,maxTotalRecordCount:e.maxTotalRecordCount}})),t}},85113(e,t,i){i.d(t,{BM:()=>A,bd:()=>T,sO:()=>S,xD:()=>h});var n=i(67482),s=i(49186),r=i(21325),o=i(90708),a=i(43334),l=i(92722),u=i(30524);const c={LineString:"esriGeometryPolyline",MultiLineString:"esriGeometryPolyline",MultiPoint:"esriGeometryMultipoint",Point:"esriGeometryPoint",Polygon:"esriGeometryPolygon",MultiPolygon:"esriGeometryPolygon"};function h(e){return c[e]}function*d(e){switch(e.type){case"Feature":yield e;break;case"FeatureCollection":for(const t of e.features)t&&(yield t)}}function*p(e){if(e)switch(e.type){case"Point":yield e.coordinates;break;case"LineString":case"MultiPoint":yield*e.coordinates;break;case"MultiLineString":case"Polygon":for(const t of e.coordinates)yield*t;break;case"MultiPolygon":for(const t of e.coordinates)for(const e of t)yield*e}}function m(e){for(const t of e)if(t.length>2)return!0;return!1}function f(e){let t=0;for(let i=0;i<e.length;i++){const n=e[i],s=e[(i+1)%e.length];t+=n[0]*s[1]-s[0]*n[1]}return t<=0}function y(e){const t=e[0],i=e[e.length-1];t[0]===i[0]&&t[1]===i[1]&&t[2]===i[2]||e.push(t)}function g(e,t){const{coordinates:i,type:n}=e,s=t.hasZ??!1,r=!0;switch(n){case"Point":return new l.A([],[...i],s,!1);case"LineString":return(0,o.Ap)({paths:[i],hasZ:r},s,!1);case"MultiLineString":return(0,o.Ap)({paths:i,hasZ:r},s,!1);case"MultiPoint":return(0,o.PR)({points:i,hasZ:r},s,!1);case"Polygon":case"MultiPolygon":{const e=new l.A([],[],s,!1);for(const t of"Polygon"===n?[i]:i){_(e,t[0],s);for(let i=1;i<t.length;i++)w(e,t[i],s)}return e}}}function _(e,t,i){y(t),function(e){return!f(e)}(t)?x(e,t,i):b(e,t,i)}function w(e,t,i){y(t),function(e){return f(e)}(t)?x(e,t,i):b(e,t,i)}function b(e,t,i){for(const n of t)v(e,n,i);e.lengths.push(t.length)}function x(e,t,i){for(let n=t.length-1;n>=0;n--)v(e,t[n],i);e.lengths.push(t.length)}function v(e,[t,i,n],s){e.coords.push(t,i),s&&e.coords.push(n||0)}function C(e){switch(typeof e){case"string":return(0,n.Br)(e)?"esriFieldTypeDate":"esriFieldTypeString";case"number":return"esriFieldTypeDouble";default:return"unknown"}}function S(e,t=4326){if(!e)throw new s.A("geojson-layer:empty","GeoJSON data is empty");if("Feature"!==e.type&&"FeatureCollection"!==e.type)throw new s.A("geojson-layer:unsupported-geojson-object","missing or not supported GeoJSON object type",{data:e});const{crs:i}=e;if(!i)return;const n="string"==typeof i?i:"name"===i.type?i.properties.name:"EPSG"===i.type?i.properties.code:null,o=(0,r.oT)({wkid:t})?new RegExp(".*(CRS84H?|4326)$","i"):new RegExp(`.*(${t})$`,"i");if(!n||!o.test(n))throw new s.A("geojson:unsupported-crs","unsupported GeoJSON 'crs' member",{crs:i})}function A(e,t={}){const i=[],n=new Set,s=new Set;let r,o=!1,a=null,l=!1,{geometryType:c=null}=t;for(const t of d(e)){const{geometry:e,properties:d,id:f}=t;if((!e||(c||(c=h(e.type)),h(e.type)===c))&&(o||(o=m(p(e))),l||(l=null!=f,l&&(r=typeof f,d&&(a=Object.keys(d).filter(e=>d[e]===f)))),d&&a&&l&&null!=f&&(a.length>1?a=a.filter(e=>d[e]===f):1===a.length&&(a=d[a[0]]===f?a:[])),d))for(const e in d){if(n.has(e))continue;const t=C(d[e]);if("unknown"===t){s.add(e);continue}s.delete(e),n.add(e);const r=(0,u.rS)(e);r&&i.push({name:r,alias:e,type:t})}}const f=(0,u.rS)(1===a?.length&&a[0]||null)??void 0;if(f)for(const e of i)if(e.name===f&&(0,u.WA)(e)){e.type="esriFieldTypeOID";break}return{fields:i,geometryType:c,hasZ:o,objectIdFieldName:f,objectIdFieldType:r,unknownFields:Array.from(s)}}function T(e,t){return Array.from(function*(e,t={}){const{geometryType:i,objectIdField:n}=t;for(const s of e){const{geometry:e,properties:r,id:o}=s;if(e&&h(e.type)!==i)continue;const l=r||{};let u;n&&(u=l[n],null==o||u||(l[n]=u=o)),yield new a.Om(e&&g(e,t),l,null,u)}}(d(e),t))}},82832(e,t,i){i.d(t,{$1:()=>y,CR:()=>f,MB:()=>d,PC:()=>g,Yx:()=>l,bP:()=>c});var n=i(67482),s=i(21325),r=i(30524);class o{constructor(e){this.description=e,this.code=null}}class a{constructor(e){this.globalId=null,this.objectId=null,this.success=!1,this.uniqueId=null,this.error=new o(e)}}function l(e){return new a(e)}class u{constructor(e){this.globalId=null,this.success=!0,this.objectId=this.uniqueId=e}}function c(e){return new u(e)}const h=new Set;function d(e,t,i,n=!1){h.clear();for(const s in i){const o=e.get(s);if(!o)continue;const a=p(o,i[s]);if(h.add(o.name),o&&(n||o.editable)){const e=(0,r.CJ)(o,a);if(e)return l((0,r.uo)(e,o,a));t[o.name]=a}}for(const t of e.requiredFields??[])if(!h.has(t.name))return l(`missing required field "${t.name}"`);return null}function p(e,t){let i=t;return(0,r.WA)(e)&&"string"==typeof t?i=parseFloat(t):(0,r.yM)(e)&&null!=t&&"string"!=typeof t?i=String(t):(0,r.vE)(e)&&"string"==typeof t&&(i=(0,n._U)(t)),(0,r.WX)(i)}let m;function f(e,t){if(!e||!(0,s.fn)(t))return e;if("rings"in e||"paths"in e){if(null==m)throw new TypeError("geometry engine not loaded");return m.simplify(t,e)}return e}async function y(e,t){!(0,s.fn)(e)||"esriGeometryPolygon"!==t&&"esriGeometryPolyline"!==t||await async function(){return null==m&&(m=await i.e(1023).then(i.bind(i,81023))),m}()}const g={supportsAutoIntervalBin:!0,supportsFixedIntervalBin:!0,supportsFixedBoundariesBin:!0,supportsDateBin:!0,supportsStackBy:!0,supportsSplitBy:!0,supportsNormalization:!0,supportedStatisticTypes:["COUNT","SUM","AVG","VAR","STDDEV","MIN","MAX","PERCENTILE_CONT","PERCENTILE_DISC","CentroidAggregate","EnvelopeAggregate","ConvexHullAggregate"],supportedNormalizationTypes:["field","log","naturalLog","percentOfTotal","squareRoot"]}},34322(e,t,i){i.d(t,{E:()=>N,Fu:()=>v,O8:()=>R,UH:()=>G,YW:()=>F,i5:()=>w,mG:()=>M,x$:()=>B});var n=i(11254),s=i(49186),r=i(5479),o=i(84952),a=i(5443),l=i(91218),u=i(16930),c=i(21325),h=i(50498),d=i(85113),p=i(13043),m=i(60694),f=i(20437),y=i(30524);const g="xlink:href",_="2.0.0",w="__esri_wfs_id__",b="wfs-layer:feature-type-not-found",x="wfs-layer:unknown-geometry-type";async function v(e,t){const i=function(e){const t=k(e);(function(e){const t=e.firstElementChild?.getAttribute("version");if(t&&t!==_)throw new s.A("wfs-layer:unsupported-wfs-version",`Unsupported WFS version ${t}. Supported version: ${_}`)})(t),O(t);const i=t.firstElementChild,n=(0,r.PP)(function(e){return(0,p.i)(e,{FeatureTypeList:{FeatureType:e=>{const t={typeName:"undefined:undefined",name:"",title:"",description:"",extent:null,namespacePrefix:"",namespaceUri:"",defaultSpatialReference:4326,supportedSpatialReferences:[]},i=new Set;return(0,p.p)(e,{Name:e=>{const{name:i,prefix:n}=j(e.textContent);t.typeName=`${n}:${i}`,t.name=i,t.namespacePrefix=n,t.namespaceUri=e.lookupNamespaceURI(n)},Abstract:e=>{t.description=e.textContent},Title:e=>{t.title=e.textContent},WGS84BoundingBox:e=>{t.extent=a.A.fromJSON(function(e){let t,i,n,s;for(const r of e.children)switch(r.localName){case"LowerCorner":[t,i]=r.textContent.split(" ").map(e=>Number.parseFloat(e));break;case"UpperCorner":[n,s]=r.textContent.split(" ").map(e=>Number.parseFloat(e))}return{xmin:t,ymin:i,xmax:n,ymax:s,spatialReference:c.KK}}(e))},DefaultCRS:e=>{const n=T(e);n&&(t.defaultSpatialReference=n,i.add(n))},OtherCRS:e=>{const t=T(e);t&&i.add(t)}}),t.title||(t.title=t.name),i.add(4326),t.supportedSpatialReferences.push(...i),t}}})}(i));return{operations:A(i),get featureTypes(){return Array.from(n())},readFeatureTypes:n}}((await(0,n.A)(e,{responseType:"text",query:{SERVICE:"WFS",REQUEST:"GetCapabilities",VERSION:_,...t?.customParameters},signal:t?.signal})).data);return function(e,t){(0,o.m3)(e)&&((0,o.FX)(e,t.operations.DescribeFeatureType.url,!0)&&(t.operations.DescribeFeatureType.url=(0,o.lM)(t.operations.DescribeFeatureType.url)),(0,o.FX)(e,t.operations.GetFeature.url,!0)&&(t.operations.GetFeature.url=(0,o.lM)(t.operations.GetFeature.url)))}(e,i),i}const C=["json","application/json; subtype=geojson; charset=utf-8","application/json; subtype=geojson","application/json","geojson","application/geo+json"];function S(e){for(const t of C){const i=e.findIndex(e=>e.toLowerCase()===t);if(i>=0)return e[i]}return null}function A(e){let t=!0;const i={GetCapabilities:{url:""},DescribeFeatureType:{url:""},GetFeature:{url:"",outputFormat:null,supportsPagination:!1}},n=[],r=[];if((0,p.p)(e,{OperationsMetadata:{Parameter:e=>{if("outputformat"===e.getAttribute("name")?.toLowerCase())return{AllowedValues:{Value:({textContent:e})=>{e&&n.push(e)}}}},Operation:e=>{switch(e.getAttribute("name")){case"GetCapabilities":return{DCP:{HTTP:{Get:e=>{i.GetCapabilities.url=e.getAttribute(g)}}}};case"DescribeFeatureType":return{DCP:{HTTP:{Get:e=>{i.DescribeFeatureType.url=e.getAttribute(g)}}}};case"GetFeature":return{DCP:{HTTP:{Get:e=>{i.GetFeature.url=e.getAttribute(g)}}},Parameter:e=>{if("outputformat"===e.getAttribute("name")?.toLowerCase())return{AllowedValues:{Value:({textContent:e})=>{e&&r.push(e)}}}}}}},Constraint:e=>{switch(e.getAttribute("name")){case"KVPEncoding":return{DefaultValue:e=>{t="true"===e.textContent.toLowerCase()}};case"ImplementsResultPaging":return{DefaultValue:e=>{i.GetFeature.supportsPagination="true"===e.textContent.toLowerCase()}}}}}}),i.GetFeature.outputFormat=S(r)??S(n),!t)throw new s.A("wfs-layer:kvp-encoding-not-supported","WFS service doesn't support key/value pair (KVP) encoding");if(null==i.GetFeature.outputFormat)throw new s.A("wfs-layer:geojson-not-supported","WFS service doesn't support GeoJSON output format");return i}function T(e){const t=parseInt(e.textContent?.match(/(?<wkid>\d+$)/i)?.groups?.wkid??"",10);if(!Number.isNaN(t))return t}function M(e,t,i){return(0,r.I6)(e,e=>i?e.name===t&&e.namespaceUri===i:e.typeName===t||e.name===t)}async function R(e,t,i,n={}){const{featureType:r,extent:o}=await async function(e,t,i,n={}){const r=e.readFeatureTypes(),o=t?M(r,t,i):r.next().value,{spatialReference:a=new u.A({wkid:o?.defaultSpatialReference})}=n;if(null==o)throw t?new s.A(b,`The type '${t}' could not be found in the service`):new s.A("wfs-layer:empty-service","The service is empty");let h=o.extent;if(h&&!(0,c.aI)(h.spatialReference,a))try{await(0,l.initializeProjection)(h.spatialReference,a,void 0,n),h=(0,l.project)(h,a)}catch{throw new s.A("wfs-layer:unsupported-spatial-reference","Projection not supported")}return{extent:h,spatialReference:a,featureType:o}}(e,t,i,n),{spatialReference:a}=G(e.operations.GetFeature.url,r,n.spatialReference),{fields:h,geometryType:d,swapXY:p,objectIdField:m,geometryField:f}=await async function(e,t,i,n={}){const{typeName:r}=t,[o,a]=await Promise.allSettled([I(e.operations.DescribeFeatureType.url,r,n),P(e,r,i,n)]),l=e=>new s.A("wfs-layer:getWFSLayerTypeInfo-error",`An error occurred while getting info about the feature type '${r}'`,{error:e});if("rejected"===o.status)throw l(o.reason);if("rejected"===a.status)throw l(a.reason);const{fields:u,errors:c}=o.value??{},h=o.value?.geometryType||a.value?.geometryType,d=a.value?.swapXY??!1;if(null==h)throw new s.A(x,`The geometry type could not be determined for type '${r}`,{typeName:r,geometryType:h,fields:u,errors:c});return{...F(u??[]),geometryType:h,swapXY:d}}(e,r,a,n);return{url:e.operations.GetCapabilities.url,name:r.name,namespaceUri:r.namespaceUri,fields:h,geometryField:f,geometryType:d,objectIdField:m,spatialReference:n.spatialReference??new u.A({wkid:r.defaultSpatialReference}),extent:o,swapXY:p,wfsCapabilities:e,customParameters:n.customParameters}}function F(e){const t=e.find(e=>"geometry"===e.type);let i=e.find(e=>"oid"===e.type);return e=e.filter(e=>"geometry"!==e.type),i||(i=new f.A({name:w,type:"oid",alias:w}),e.unshift(i)),{geometryField:t?.name??null,objectIdField:i.name,fields:e}}async function P(e,t,i,s={}){let r,o=!1;const[a,l]=await Promise.all([B(e.operations.GetFeature.url,t,i,e.operations.GetFeature.outputFormat,{...s,count:1}),(0,n.A)(e.operations.GetFeature.url,{responseType:"text",query:z(t,i,void 0,{...s,count:1}),signal:s?.signal})]),u="FeatureCollection"===a.type&&a.features[0]?.geometry;if(u){let e;switch(r=h.gy.fromJSON((0,d.xD)(u.type)),u.type){case"Point":e=u.coordinates;break;case"LineString":case"MultiPoint":e=u.coordinates[0];break;case"MultiLineString":case"Polygon":e=u.coordinates[0][0];break;case"MultiPolygon":e=u.coordinates[0][0][0]}const t=/<[^>]*pos[^>]*> *(-?\d+(?:\.\d+)?) (-?\d+(?:\.\d+)?)/.exec(l.data);if(t){const i=e[0].toFixed(3),n=e[1].toFixed(3),s=parseFloat(t[1]).toFixed(3);i===parseFloat(t[2]).toFixed(3)&&n===s&&(o=!0)}}return{geometryType:r,swapXY:o}}async function I(e,t,i){return function(e,t){const{name:i}=j(e),n=k(t);O(n);const o=(0,r.I6)((0,p.i)(n.firstElementChild,{element:e=>e}),e=>e.getAttribute("name")===i);if(null!=o){const e=o.getAttribute("type"),t=e?(0,r.I6)((0,p.i)(n.firstElementChild,{complexType:e=>e}),t=>t.getAttribute("name")===j(e).name):(0,r.I6)((0,p.i)(o,{complexType:e=>e}),()=>!0);if(t)return function(e){const t=[],i=[];let n;const r=(0,p.i)(e,{complexContent:{extension:{sequence:{element:e=>e}}}});for(const o of r){const r=o.getAttribute("name");if(!r)continue;let a,l;if(o.hasAttribute("type")?a=j(o.getAttribute("type")).name:(0,p.p)(o,{simpleType:{restriction:e=>(a=j(e.getAttribute("base")).name,{maxLength:e=>{l=+e.getAttribute("value")}})}}),!a)continue;const u="true"===o.getAttribute("nillable");let c=!1;switch(a.toLowerCase()){case"integer":case"nonpositiveinteger":case"negativeinteger":case"long":case"int":case"short":case"byte":case"nonnegativeinteger":case"unsignedlong":case"unsignedint":case"unsignedshort":case"unsignedbyte":case"positiveinteger":i.push(new f.A({name:r,alias:r,type:"integer",nullable:u,length:(0,y._b)("integer")}));break;case"float":case"double":case"decimal":i.push(new f.A({name:r,alias:r,type:"double",nullable:u,length:(0,y._b)("double")}));break;case"boolean":case"string":case"gyearmonth":case"gyear":case"gmonthday":case"gday":case"gmonth":case"anyuri":case"qname":case"notation":case"normalizedstring":case"token":case"language":case"idrefs":case"entities":case"nmtoken":case"nmtokens":case"name":case"ncname":case"id":case"idref":case"entity":case"duration":case"time":i.push(new f.A({name:r,alias:r,type:"string",nullable:u,length:l??(0,y._b)("string")}));break;case"datetime":case"date":i.push(new f.A({name:r,alias:r,type:"date",nullable:u,length:l??(0,y._b)("date")}));break;case"pointpropertytype":n="point",c=!0;break;case"multipointpropertytype":n="multipoint",c=!0;break;case"curvepropertytype":case"multicurvepropertytype":case"multilinestringpropertytype":n="polyline",c=!0;break;case"surfacepropertytype":case"multisurfacepropertytype":case"multipolygonpropertytype":n="polygon",c=!0;break;case"geometrypropertytype":case"multigeometrypropertytype":c=!0,t.push(new s.A(x,`geometry type '${a}' is not supported`,{type:(new XMLSerializer).serializeToString(e)}));break;default:t.push(new s.A("wfs-layer:unknown-field-type",`Unknown field type '${a}'`,{type:(new XMLSerializer).serializeToString(e)}))}c&&i.push(new f.A({name:r,alias:r,type:"geometry",nullable:u}))}for(const e of i)if("integer"===e.type&&!e.nullable&&E.has(e.name.toLowerCase())){e.type="oid";break}return{geometryType:n,fields:i,errors:t}}(t)}throw new s.A(b,`Type '${e}' not found in document`,{document:(new XMLSerializer).serializeToString(n)})}(t,(await(0,n.A)(e,{responseType:"text",query:{SERVICE:"WFS",REQUEST:"DescribeFeatureType",VERSION:_,TYPENAME:t,TYPENAMES:t,...i?.customParameters},signal:i?.signal})).data)}const E=new Set(["objectid","fid"]);async function B(e,t,i,r,o){let{data:a}=await(0,n.A)(e,{responseType:"text",query:z(t,i,r,o),signal:o?.signal});a=a.replaceAll(/": +(-?\d+),(\d+)(,)?/g,'": $1.$2$3');try{return JSON.parse(a)}catch(e){throw new s.A("wfs-layer:malformed-json","Error while parsing the response",{response:a,error:e})}}function z(e,t,i,n){const s="number"==typeof t?t:t.wkid;return{SERVICE:"WFS",REQUEST:"GetFeature",VERSION:_,TYPENAMES:e,OUTPUTFORMAT:i,SRSNAME:"EPSG:"+s,STARTINDEX:n?.startIndex,COUNT:n?.count,...n?.customParameters}}async function N(e,t,i){const s=await(0,n.A)(e,{responseType:"text",query:{SERVICE:"WFS",REQUEST:"GetFeature",VERSION:_,TYPENAMES:t,RESULTTYPE:"hits",...i?.customParameters},signal:i?.signal}),r=/numberMatched=["'](?<numberMatched>\d+)["']/gi.exec(s.data);if(r?.groups)return+r.groups.numberMatched}function k(e){return(new DOMParser).parseFromString(e.trim(),"text/xml")}function j(e){const[t,i]=e.split(":");return{prefix:i?t:"",name:i??t}}function O(e){let t="",i="";if((0,p.p)(e.firstElementChild,{Exception:e=>(t=e.getAttribute("exceptionCode"),{ExceptionText:e=>{i=e.textContent}})}),t)throw new s.A(`wfs-layer:${t}`,i)}function G(e,t,i){const n={wkid:t.defaultSpatialReference},s=null!=i?.wkid?{wkid:i.wkid}:n;return{spatialReference:s,getFeatureSpatialReference:(0,m.Fi)(e)||s.wkid&&t.supportedSpatialReferences.includes(s.wkid)?{wkid:s.wkid}:{wkid:t.defaultSpatialReference}}}},13043(e,t,i){function n(e,t){if(e&&t)for(const i of e.children)if(i.localName in t){const e=t[i.localName];if("function"==typeof e){const t=e(i);t&&n(i,t)}else n(i,e)}}function*s(e,t){for(const i of e.children)if(i.localName in t){const e=t[i.localName];"function"==typeof e?yield e(i):yield*s(i,e)}}i.d(t,{i:()=>s,p:()=>n})},39357(e,t,i){i.d(t,{A:()=>a});var n,s=i(5482),r=i(25482),o=i(91429);let a=n=class extends r.o{constructor(e){super(e),this.name=null,this.code=null}clone(){return new n({name:this.name,code:this.code})}};(0,s.Cg)([(0,o.MZ)({type:String,json:{write:{isRequired:!0}}})],a.prototype,"name",void 0),(0,s.Cg)([(0,o.MZ)({type:[String,Number],json:{write:{isRequired:!0}}})],a.prototype,"code",void 0),a=n=(0,s.Cg)([(0,o.$K)("esri.layers.support.CodedValue")],a)},53177(e,t,i){i.d(t,{A:()=>c});var n,s=i(5482),r=i(4718),o=i(91429),a=i(39357),l=i(76357),u=i(93223);let c=class extends l.A{static{n=this}constructor(e){super(e),this.codedValues=null,this.type="coded-value"}getName(e){let t=null;if(this.codedValues){const i=String(e);this.codedValues.some(e=>(String(e.code)===i&&(t=e.name),!!t))}return t}clone(){return new n({codedValues:(0,r.o8)(this.codedValues),name:this.name})}};(0,s.Cg)([(0,o.MZ)({type:[a.A],json:{write:{isRequired:!0}}})],c.prototype,"codedValues",void 0),(0,s.Cg)([(0,u.e)({codedValue:"coded-value"})],c.prototype,"type",void 0),c=n=(0,s.Cg)([(0,o.$K)("esri.layers.support.CodedValueDomain")],c)},76357(e,t,i){i.d(t,{A:()=>u});var n=i(5482),s=i(66552),r=i(25482),o=i(91429),a=i(93223);const l=new s.J({inherited:"inherited",codedValue:"coded-value",range:"range"});let u=class extends r.o{constructor(e){super(e),this.name=null,this.type=null}};(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],u.prototype,"name",void 0),(0,n.Cg)([(0,a.e)(l),(0,o.MZ)({json:{write:{isRequired:!0}}})],u.prototype,"type",void 0),u=(0,n.Cg)([(0,o.$K)("esri.layers.support.Domain")],u)},20437(e,t,i){i.d(t,{A:()=>m});var n,s=i(5482),r=i(66552),o=i(25482),a=i(91429),l=i(56507),u=i(8631),c=i(98453),h=i(36005),d=i(93223);const p=new r.J({binary:"binary",coordinate:"coordinate",countOrAmount:"count-or-amount",currency:"currency",dateAndTime:"date-and-time",description:"description",emailAddress:"email-address",locationOrPlaceName:"location-or-place-name",measurement:"measurement",nameOrTitle:"name-or-title",none:"none",orderedOrRanked:"ordered-or-ranked",percentageOrRatio:"percentage-or-ratio",phoneNumber:"phone-number",typeOrCategory:"type-or-category",uniqueIdentifier:"unique-identifier",url:"url"});let m=class extends o.o{static{n=this}constructor(e){super(e),this.alias=null,this.defaultValue=void 0,this.description=null,this.domain=null,this.editable=!0,this.length=void 0,this.name=null,this.nullable=!0,this.type=null,this.valueType=null,this.visible=!0}readDescription(e,{description:t}){let i=null;try{i=t?JSON.parse(t):null}catch(e){}return i?.value??null}readValueType(e,{description:t}){let i=null;try{i=t?JSON.parse(t):null}catch(e){}return i?p.fromJSON(i.fieldValueType):null}clone(){return new n({alias:this.alias,defaultValue:this.defaultValue,description:this.description,domain:this.domain?.clone()??null,editable:this.editable,length:this.length,name:this.name,nullable:this.nullable,type:this.type,valueType:this.valueType,visible:this.visible})}};(0,s.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],m.prototype,"alias",void 0),(0,s.Cg)([(0,a.MZ)({type:[String,Number],json:{write:{allowNull:!0}}})],m.prototype,"defaultValue",void 0),(0,s.Cg)([(0,a.MZ)()],m.prototype,"description",void 0),(0,s.Cg)([(0,h.w)("description")],m.prototype,"readDescription",null),(0,s.Cg)([(0,a.MZ)({types:u.g,json:{read:{reader:u.r},write:!0}})],m.prototype,"domain",void 0),(0,s.Cg)([(0,a.MZ)({type:Boolean,json:{write:!0}})],m.prototype,"editable",void 0),(0,s.Cg)([(0,a.MZ)({type:l.jz,json:{write:{overridePolicy:e=>({enabled:Number.isFinite(e)})}}})],m.prototype,"length",void 0),(0,s.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],m.prototype,"name",void 0),(0,s.Cg)([(0,a.MZ)({type:Boolean,json:{write:!0}})],m.prototype,"nullable",void 0),(0,s.Cg)([(0,d.e)(c.m)],m.prototype,"type",void 0),(0,s.Cg)([(0,a.MZ)()],m.prototype,"valueType",void 0),(0,s.Cg)([(0,h.w)("valueType",["description"])],m.prototype,"readValueType",null),(0,s.Cg)([(0,a.MZ)({type:Boolean,json:{read:!1}})],m.prototype,"visible",void 0),m=n=(0,s.Cg)([(0,a.$K)("esri.layers.support.Field")],m)},41628(e,t,i){i.d(t,{A:()=>l});var n,s=i(5482),r=i(91429),o=i(76357),a=i(93223);let l=class extends o.A{static{n=this}constructor(e){super(e),this.maxValue=null,this.minValue=null,this.type="range"}clone(){return new n({maxValue:this.maxValue,minValue:this.minValue,name:this.name})}};(0,s.Cg)([(0,r.MZ)({json:{type:[Number],read:{source:"range",reader:(e,t)=>t.range?.[1]},write:{enabled:!1,overridePolicy(){return{enabled:null!=this.maxValue&&null==this.minValue}},target:"range",writer(e,t,i){t[i]=[this.minValue||0,e]},isRequired:!0}}})],l.prototype,"maxValue",void 0),(0,s.Cg)([(0,r.MZ)({json:{type:[Number],read:{source:"range",reader:(e,t)=>t.range?.[0]},write:{target:"range",writer(e,t,i){t[i]=[e,this.maxValue||0]},isRequired:!0}}})],l.prototype,"minValue",void 0),(0,s.Cg)([(0,a.e)({range:"range"})],l.prototype,"type",void 0),l=n=(0,s.Cg)([(0,r.$K)("esri.layers.support.RangeDomain")],l)},8631(e,t,i){i.d(t,{r:()=>d,g:()=>h});var n,s=i(53177),r=i(76357),o=i(5482),a=i(91429),l=i(93223);let u=class extends r.A{static{n=this}constructor(e){super(e),this.type="inherited"}clone(){return new n}};(0,o.Cg)([(0,l.e)({inherited:"inherited"})],u.prototype,"type",void 0),u=n=(0,o.Cg)([(0,a.$K)("esri.layers.support.InheritedDomain")],u);var c=i(41628);const h={key:"type",base:r.A,typeMap:{range:c.A,"coded-value":s.A,inherited:u}};function d(e){if(!e?.type)return null;switch(e.type){case"range":return c.A.fromJSON(e);case"codedValue":return s.A.fromJSON(e);case"inherited":return u.fromJSON(e)}return null}},98453(e,t,i){i.d(t,{m:()=>n});const n=new(i(66552).J)({esriFieldTypeSmallInteger:"small-integer",esriFieldTypeInteger:"integer",esriFieldTypeSingle:"single",esriFieldTypeDouble:"double",esriFieldTypeLong:"long",esriFieldTypeString:"string",esriFieldTypeDate:"date",esriFieldTypeOID:"oid",esriFieldTypeGeometry:"geometry",esriFieldTypeBlob:"blob",esriFieldTypeRaster:"raster",esriFieldTypeGUID:"guid",esriFieldTypeGlobalID:"global-id",esriFieldTypeXML:"xml",esriFieldTypeBigInteger:"big-integer",esriFieldTypeDateOnly:"date-only",esriFieldTypeTimeOnly:"time-only",esriFieldTypeTimestampOffset:"timestamp-offset"})},2272(e,t,i){i.d(t,{Dl:()=>u,gf:()=>h,jV:()=>l,lF:()=>c});var n=i(92602),s=i(70333),r=i(4718),o=i(84952),a=i(926);function l(e,t){return t?{...t,query:{...e,...t.query}}:{query:e}}function u(e){return"string"==typeof e?(0,o.An)(e):(0,r.o8)(e)}function c(e,t,i){const n={};for(const s in e){if("declaredClass"===s)continue;const r=e[s];if(null!=r&&"function"!=typeof r)if(Array.isArray(r))n[s]=r.map(e=>c(e));else if("object"==typeof r)if(r.toJSON){const e=r.toJSON(i?.[s]);n[s]=t?e:JSON.stringify(e)}else n[s]=t?r:JSON.stringify(r);else n[s]=r}return n}async function h(e,t,r){const o=function(e,t){return e?t&&(0,a.Qc)(e)?t:(0,a.getApiKey)(e)??s.id?.findCredential(e)?.token:null}(e,t);if(o)return o;!s.id&&n.A.request.useIdentity&&await Promise.all([i.e(7632),i.e(9116),i.e(148)]).then(i.bind(i,50148));const l=await s.id.getCredential(e,r);return l?.token}},926(e,t,i){i.d(t,{Dd:()=>d,Jn:()=>p,Qc:()=>m,getApiKey:()=>c,getSessionToken:()=>h});var n=i(92602),s=i(11254),r=i(84952);const o=/^https?:\/\/(i?basemaps|basemapstyles)-api\.arcgis\.com\//i,a=new Set(["elevation3d.arcgis.com","js.arcgis.com","jsdev.arcgis.com","jsqa.arcgis.com","static.arcgis.com"]),l=new Map;let u=null;function c(e){if(!m(e))return null;const t=t=>t instanceof RegExp?t.test(e):"string"==typeof t&&e.startsWith(t),i=n.A.apiKeys;if(Array.isArray(i.scopes))for(const e of i.scopes)if(Array.isArray(e.urls)){if(e.urls.some(t))return e.token}else if(t(e.urls))return e.token;return i.basemapStyles&&o.test(e)?i.basemapStyles:n.A.apiKey&&/^https?:\/\/.+\.arcgis\.com(\/|$)/i.test(e)?n.A.apiKey:null}async function h(e){if(!n.A.sessions?.basemap?.enabled||!o.test(e))return null;const t=c(e);if(!t)return null;u&&await u;const{styleFamily:i="arcgis",autoRefresh:r,duration:a=43200}=n.A.sessions.basemap,h=`${t}:${i}`,d=l.get(h);if(d&&(!r||d.endTime>Date.now()))return d.sessionToken;let p;u=(0,s.A)("https://basemapstyles-api.arcgis.com/arcgis/rest/services/styles/v2/sessions/start",{cacheBust:!0,query:{durationSeconds:a,styleFamily:i,token:t}});try{p=(await u).data,p.endTime-=5e3,l.set(h,p)}finally{u=null}return p.sessionToken}function d(){return null!=n.A.apiKey||null!=n.A.apiKeys.basemapStyles}function p(e,t){return t?m(e):null!=c(e)}function m(e){const t=(0,r.$z)(e,!0);return!!t&&!a.has(t)&&!e.endsWith("/sharing/rest/generateToken")}}}]);
|