@arcgis/core 4.34.0-next.80 → 4.34.0-next.82

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/analysis/VolumeMeasurement/VolumeMeasurementDisplayUnits.d.ts +4 -0
  2. package/analysis/VolumeMeasurement/VolumeMeasurementDisplayUnits.js +5 -0
  3. package/analysis/VolumeMeasurement/VolumeMeasurementInputUnits.d.ts +4 -0
  4. package/analysis/VolumeMeasurement/VolumeMeasurementInputUnits.js +5 -0
  5. package/analysis/VolumeMeasurementAnalysis.js +1 -1
  6. package/assets/esri/core/workers/RemoteClient.js +1 -1
  7. package/assets/esri/core/workers/chunks/{c90571063bd2bb57a5a7.js → 1d491447b13f2f2b4399.js} +1 -1
  8. package/assets/esri/core/workers/chunks/264a9a916e1e972b69d7.js +1 -0
  9. package/assets/esri/core/workers/chunks/30c85a1a4f118cc45a25.js +1 -0
  10. package/assets/esri/core/workers/chunks/3192b68675ff2afcb1d6.js +1 -0
  11. package/assets/esri/core/workers/chunks/365d63c2aed3a49918f2.js +1 -0
  12. package/assets/esri/core/workers/chunks/3ef8a7468d7e3b2f0b69.js +351 -0
  13. package/assets/esri/core/workers/chunks/a1196637268b89281780.js +1 -0
  14. package/assets/esri/core/workers/chunks/a1b08aab73747f4e7e25.js +1 -0
  15. package/assets/esri/core/workers/chunks/{b815c2f61fb9c58a2956.js → b6c4712e00fce87bd0f4.js} +1 -1
  16. package/assets/esri/core/workers/chunks/{db2396bf062468ee8b60.js → b8810711d058300395cd.js} +1 -1
  17. package/assets/esri/core/workers/chunks/{22bd4255b6b511a43b66.js → c2bc70b65f5c2a2c9671.js} +1 -1
  18. package/assets/esri/core/workers/chunks/cc579c94438f48a0dbab.js +1 -0
  19. package/assets/esri/core/workers/chunks/e1b3ae6426886e2fab07.js +1 -0
  20. package/assets/esri/core/workers/chunks/e4acc3c2b6d865ed1940.js +1 -0
  21. package/assets/esri/core/workers/chunks/f6513ec888a7d927d948.js +1 -0
  22. package/assets/esri/core/workers/chunks/{ede479faa4e6920fe673.js → f8f85207b382c1ea038c.js} +17 -9
  23. package/assets/esri/core/workers/chunks/{23a13fbab9984953a7c6.js → fc06014fb484fc8c697e.js} +1 -1
  24. package/assets/esri/libs/dracoMeshDecoder/draco_mesh_decoder.wasm +0 -0
  25. package/chunks/CutFillComposition.glsl.js +8 -0
  26. package/chunks/CutFillMask.glsl.js +6 -0
  27. package/chunks/GaussianSplat.glsl.js +2 -2
  28. package/chunks/HUDMaterial.glsl.js +4 -6
  29. package/chunks/draco_mesh_decoder.js +5 -0
  30. package/config.js +1 -1
  31. package/core/unitUtils.js +1 -1
  32. package/interfaces.d.ts +147 -13
  33. package/kernel.js +1 -1
  34. package/layers/CSVLayer.js +1 -1
  35. package/layers/FeatureLayer.js +1 -1
  36. package/layers/IntegratedMesh3DTilesLayer.js +1 -1
  37. package/layers/OrientedImageryLayer.js +1 -1
  38. package/layers/support/ElevationSampler.js +1 -1
  39. package/layers/support/FieldConfiguration.js +1 -1
  40. package/layers/support/rasterDatasets/BaseRaster.js +1 -1
  41. package/layers/support/rasterDatasets/datasetUtils.js +1 -1
  42. package/libs/dracoMeshDecoder/dracoMeshDecoder.js +5 -0
  43. package/package.json +1 -1
  44. package/portal/schemas/definitions.js +1 -1
  45. package/rest/featureService/FeatureService.js +1 -1
  46. package/support/revision.js +1 -1
  47. package/views/2d/engine/Stage.js +1 -1
  48. package/views/2d/engine/webgl/shaderGraph/techniques/TextureStatisticsTechnique.js +1 -1
  49. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TextureStatisticsDiffShader.js +1 -1
  50. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TextureStatisticsMinMaxSumShader.js +1 -1
  51. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TextureStatisticsStdDevShader.js +1 -1
  52. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TextureStatisticsSumOfSquaredDiffShader.js +1 -1
  53. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillComputation.js +1 -1
  54. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillController.js +1 -1
  55. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementShiftTool.js +1 -1
  56. package/views/3d/analysis/VolumeMeasurementAnalysisView3D.js +1 -1
  57. package/views/3d/glTF/internal/Resource.js +1 -1
  58. package/views/3d/glTF/loader.js +1 -1
  59. package/views/3d/layers/FlowSubView3D.js +1 -1
  60. package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
  61. package/views/3d/layers/graphics/pipeline/Feature3DPipelineWorker.js +1 -1
  62. package/views/3d/layers/graphics/pipeline/Feature3DPipelineWorkerHandle.js +1 -1
  63. package/views/3d/layers/graphics/pipeline/rendering/DirectRenderer.js +1 -1
  64. package/views/3d/layers/graphics/pipeline/rendering/FeaturePipelineRenderManager.js +1 -1
  65. package/views/3d/layers/graphics/pipeline/rendering/RenderCommandContext.js +1 -1
  66. package/views/3d/layers/graphics/pipeline/symbolization/IconSymbolLayerRenderer.js +1 -1
  67. package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
  68. package/views/3d/support/buffer/InterleavedLayout.js +1 -1
  69. package/views/3d/support/engineContent/line.js +1 -1
  70. package/views/3d/support/flow/FlowSubViewTiles3D.js +1 -1
  71. package/views/3d/support/flow/constants.js +1 -1
  72. package/views/3d/support/flow/geometryUtils.js +1 -1
  73. package/views/3d/support/gaussianSplatting/GaussianSplatDataStore.js +1 -1
  74. package/views/3d/support/gaussianSplatting/GaussianSplatQualitySettings.js +5 -0
  75. package/views/3d/support/gaussianSplatting/GaussianSplatTextureAtlas.js +1 -1
  76. package/views/3d/webgl-engine/core/shaderLibrary/attributes/MaskedColor.glsl.js +15 -7
  77. package/views/3d/webgl-engine/lib/CutFillColor.js +5 -0
  78. package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
  79. package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
  80. package/views/3d/webgl-engine/lib/OrderIndependentTransparency.js +1 -1
  81. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  82. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  83. package/views/3d/webgl-engine/materials/HUDMaterialBaseInstance.js +5 -0
  84. package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
  85. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  86. package/views/3d/webgl-engine/materials/renderers/VaoWriter.js +1 -1
  87. package/views/3d/webgl-engine/shaders/CutFillComposition.glsl.js +5 -0
  88. package/views/3d/webgl-engine/shaders/CutFillCompositionTechnique.js +5 -0
  89. package/views/3d/webgl-engine/shaders/CutFillMask.glsl.js +5 -0
  90. package/views/3d/webgl-engine/shaders/CutFillMaskTechnique.js +5 -0
  91. package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
  92. package/views/3d/webgl-engine/shaders/HeatmapDensityTechnique.js +1 -1
  93. package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
  94. package/views/3d/webgl.js +1 -1
  95. package/views/webgl/VertexArrayObject.js +1 -1
  96. package/widgets/Attribution/AttributionViewModel.js +1 -1
  97. package/widgets/Feature/FeatureMedia/FeatureMediaViewModel.js +1 -1
  98. package/widgets/Legend/LegendViewModel.js +1 -1
  99. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  100. package/widgets/Search/SearchViewModel.js +1 -1
  101. package/widgets/Search.js +1 -1
  102. package/assets/esri/core/workers/chunks/07a355a9c95154971aab.js +0 -1
  103. package/assets/esri/core/workers/chunks/22a66db7d73e733917e3.js +0 -1
  104. package/assets/esri/core/workers/chunks/49486c2e12e768b347ed.js +0 -1
  105. package/assets/esri/core/workers/chunks/66e0bc4acb18f00a433d.js +0 -1
  106. package/assets/esri/core/workers/chunks/76db75337044de8218c9.js +0 -353
  107. package/assets/esri/core/workers/chunks/978fab0f0b10edde4ff8.js +0 -1
  108. package/assets/esri/core/workers/chunks/a07321a901d6847d1a6b.js +0 -1
  109. package/assets/esri/core/workers/chunks/ae8dce1a43ca7019f81d.js +0 -1
  110. package/assets/esri/core/workers/chunks/cb3b88959b2f048e54a5.js +0 -1
  111. package/assets/esri/core/workers/chunks/da1a5537e2f2ca6cc247.js +0 -1
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import{getAssetUrl as t}from"../../assets.js";import r from"../../Graphic.js";import s from"../../PopupTemplate.js";import{isSome as o}from"../../core/arrayUtils.js";import i from"../../core/Collection.js";import l from"../../core/Error.js";import{EventedAccessor as a}from"../../core/Evented.js";import n from"../../core/Logger.js";import{mappedFind as u}from"../../core/maybe.js";import{eachAlways as c,after as h}from"../../core/promiseUtils.js";import{watch as p,initial as g,whenOnce as d}from"../../core/reactiveUtils.js";import{property as m}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import{subclass as y}from"../../core/accessorSupport/decorators/subclass.js";import f from"../../geometry/Point.js";import S from"../../geometry/SpatialReference.js";import{getPointFromGeometry as _,getPointWithElevation as v}from"../../geometry/support/geometryUtils.js";import{onLocaleChange as w}from"../../intl/locale.js";import{fetchMessageBundle as b}from"../../intl/messages.js";import x from"../../portal/Portal.js";import{isApiKeyApplicable as L}from"../../support/apiKeyUtils.js";import I from"../../symbols/PictureMarkerSymbol.js";import T from"../../symbols/SimpleFillSymbol.js";import R from"../../symbols/SimpleLineSymbol.js";import E from"../../symbols/TextSymbol.js";import{highlightsSupported as F}from"../../views/support/layerViewUtils.js";import P from"./LayerSearchSource.js";import j from"./LocatorSearchSource.js";import C from"./SearchSource.js";import{isArcGISWorldGeocoder as G,meteredArcGISLocatorUrl as O,isProxiedArcGISWorldGeocoder as A,isMeteredArcGISWorldGeocoder as N}from"./support/locatorUtils.js";import{supported as D,getCurrentPosition as M,positionToPoint as V}from"../support/geolocationUtils.js";import{GoTo as J}from"../support/GoTo.js";function U(e,t){return e.hasOwnProperty(t)&&null!=e[t]&&""!==e[t]}const k=()=>b("esri/widgets/Search/t9n/Search"),H="highlight",B=i.ofType({key:e=>e.layer?"layer":"locator",base:C,typeMap:{layer:P,locator:j}}),Q=S.WGS84,Z="esri/images/search/search-symbol-32.png",q=/<[\s\S]*?>/g,z=-1;let K=class extends(J(a)){constructor(e){super(e),this._gotoController=null,this._searching=null,this._updatingPromise=null,this._createdFeatureLayers=[],this.autoNavigate=!0,this.autoSelect=!0,this.defaultPopupTemplate=null,this.defaultSources=new B,this.defaultSymbols={point:new I({url:t(Z),size:24,width:24,height:24}),polyline:new R({color:[130,130,130,1],width:2}),polygon:new T({color:[235,235,235,.4],outline:{color:[130,130,130,1],width:2}})},this.includeDefaultSources=!0,this.maxInputLength=128,this.maxResults=6,this.maxSuggestions=6,this.messages=null,this.minSuggestCharacters=3,this.popupEnabled=!0,this.popupTemplate=null,this.portal=x.getDefault(),this.resultCount=null,this.resultGraphicEnabled=!0,this.resultGraphic=null,this.results=null,this.selectedSuggestion=null,this.searchAllEnabled=!0,this.selectedResult=null,this.sources=new B,this.suggestionDelay=350,this.suggestionCount=null,this.suggestions=null,this.suggestionsEnabled=!0,this.view=null}initialize(){const e=async()=>{const e=await k();this.messages=e,this.defaultPopupTemplate=new s({title:e.searchResult,content:"{Match_addr}"})};e(),this.addHandles([p(()=>[this.includeDefaultSources,this.view,this.portal],()=>this._update(),g),w(e)])}destroy(){this._destroyFeatureLayers(),this._abortGoTo(),this.clearGraphics()}static{this.ALL_INDEX=z}get activeSource(){return this.allSources.at(this.activeSourceIndex)??null}get activeSourceIndex(){return 1===this.allSources.length||!this.searchAllEnabled?0:z}set activeSourceIndex(e){this._overrideIfSome("activeSourceIndex",e)}get allPlaceholder(){return this.messages?.allPlaceholder}set allPlaceholder(e){this._overrideIfSome("allPlaceholder",e)}get allSources(){const{sources:e,defaultSources:t,includeDefaultSources:r}=this,s="function"==typeof r?r.call(null,{sources:e,defaultSources:t}):r?t.concat(e):e,o=this._get("allSources")||new B;return o.removeAll(),o.addMany(s.filter(Boolean)),o}get locationEnabled(){return this._get("locationEnabled")||D()}set locationEnabled(e){if(void 0===e)return void this._clearOverride("locationEnabled");const t=D();if(e&&!t){const e=new l("locationEnabled:geolocation-unsupported","Geolocation API is unsupported.",{geolocation:navigator.geolocation});n.getLogger(this).error(e)}this._override("locationEnabled",!!e&&t)}get placeholder(){const{allSources:e,activeSourceIndex:t,allPlaceholder:r}=this;if(t===z)return r??"";const s=e.at(t);return s?.placeholder??""}set searchTerm(e){this._set("searchTerm",e||""),this.clearGraphics(),this.selectedSuggestion&&this.selectedSuggestion.text!==e&&this._set("selectedSuggestion",null),""===e&&this._clear()}get searchTerm(){return this._get("searchTerm")||""}get state(){return this._searching?"searching":this.updating?"loading":0===this.allSources.length?"disabled":"ready"}get updating(){return null!=this._updatingPromise}clear(){this.searchTerm=""}clearGraphics(){this._removeHighlight(),this._closePopup();const{view:e,resultGraphic:t}=this;e&&t&&e.graphics.remove(t),this._set("resultGraphic",null)}search(e,t){this.emit("search-start"),this.clearGraphics();const r=this._createSuggestionForSearch(e),s=(async()=>{try{await this.when();const e=await this._getResultsFromSources(r,t);if(t?.signal?.aborted)return null;const s={activeSourceIndex:this.activeSourceIndex,searchTerm:r.text??"",numResults:0,numErrors:0,errors:[],results:[]};this._formatResponse(s,e,r);const o=this._getFirstResult(s.results),i=r.location&&o?o.name:r.text,l=i?.replaceAll(q,"");return this._set("searchTerm",l),(r.key&&"number"==typeof r.sourceIndex||r.location)&&this._set("selectedSuggestion",r),this._set("results",s.results),this._set("resultCount",s.results.reduce((e,t)=>e+(t.results?.length??0),0)),this.emit("search-complete",s),await this._selectFirstResult(o),s}finally{this._clearSearching()}})();return this._searching=s,s}async searchNearby(e){if(!this.locationEnabled){const e=new l("searchNearby:geolocation-unsupported","Geolocation API is unsupported.",{geolocation:navigator.geolocation});throw n.getLogger(this).error(e),e}const t=(async()=>{try{const t=await M(),r=await V({position:t,view:this.view},e);return await this.search(r,e)}finally{this._clearSearching()}})();return this._searching=t,t}async select(e){if(this.clearGraphics(),!e){const t=new l("select:missing-parameter","Cannot select without a searchResult.",{value:e});throw n.getLogger(this).error(t),t}const{view:t}=this,s=U(e,"sourceIndex")?e.sourceIndex:this._getSourceIndexOfResult(e),o=null!=s?this.allSources.at(s):null;if(!o){const e=new l("select:missing-source","Cannot select without a source.",{source:o});throw n.getLogger(this).error(e),e}const i=o instanceof P?this._getLayerSourcePopupTemplate(o):o.popupTemplate,a=o.resultSymbol||this._getDefaultSymbol(e),u=U(o,"resultGraphicEnabled")?o.resultGraphicEnabled:this.resultGraphicEnabled,h=U(o,"autoNavigate")?o.autoNavigate:this.autoNavigate,p=U(o,"popupEnabled")?o.popupEnabled:this.popupEnabled,g=p?i||this.popupTemplate||this.defaultPopupTemplate:null,{feature:d}=e;if(!d){const e=new l("select:missing-feature","Cannot select without a feature.",{feature:d});throw n.getLogger(this).error(e),e}const{attributes:m,geometry:y,layer:f,sourceLayer:S}=d,w=y?_(y):null,b={layerViewQuery:this._getLayerView(d),elevationQuery:t&&null!=w?v(w,t):Promise.resolve(w)},x=await c(b),L=x.layerViewQuery.value,I=x.elevationQuery.value;a instanceof E&&(a.text=e.name);const T=t&&h?e.target||e.extent:null,R=null!=T?this._goToSearchResult(T):Promise.resolve();await R;const j=L?d:new r({geometry:y,symbol:a,attributes:m,layer:f,sourceLayer:S,popupTemplate:g}),C=t?.popup,G=C&&p&&j.getEffectivePopupTemplate(C.defaultPopupTemplateEnabled);return G&&await t.openPopup({features:[j],location:I}),L&&F(L)&&!G&&this._highlightFeature({graphic:j,layerView:L}),!L&&u&&t&&t.graphics.push(j),this._setResultFloor(e),this._set("selectedResult",e),this._set("resultGraphic",j),this.emit("select-result",{result:e,source:o,sourceIndex:s}),e}async suggest(e,t,r){const s=e||this.searchTerm;this.emit("suggest-start",{searchTerm:s}),await this._suggestTimer(t,r);const o=await this._suggestImmediate(s,r);return this._set("suggestions",o?.results),this._set("suggestionCount",o?.results.reduce((e,t)=>e+(t.results?.length??0),0)??null),this.emit("suggest-complete",o),o}async when(){await d(()=>!this.updating)}async _update(){const{portal:e,view:t}=this;if(this.includeDefaultSources){const r=this._updatingPromise=c([e?.load(),t?.when()]);if(this.destroyed)return;if(await r,r!==this._updatingPromise)return}await d(()=>this.messages),this.destroyed||this._updateDefaultSources(),this._updatingPromise=null}_clearSearching(){this._searching=null}_convertHelperServices(){const e=this.portal?.helperServices?.geocode;if(!e)return[];return e.map(e=>{if(!1===e.placefinding)return;const t=G(e.url)&&L(e.url)?{url:O}:null,r=j.fromJSON({...e,...t}),s=r.url;if(G(s)||A(s)||N(s)){const e=r.outFields??["Addr_type","Match_addr","StAddr","City"],t=(r.placeholder||this.messages?.placeholder)??"",s="number"==typeof r.defaultZoomScale?r.defaultZoomScale:2500;r.singleLineFieldName="SingleLine",r.outFields=e,r.placeholder=t,r.defaultZoomScale=s}return r.singleLineFieldName?r:void 0}).filter(o)}_destroyFeatureLayers(){this._createdFeatureLayers.forEach(e=>e?.destroy()),this._createdFeatureLayers=[]}_getLayerSources(e,t){const r=this.view?.map;return e.map(e=>{const s=r.findLayerById(e.id);if(!s)return;const o=this._getLayerJSON(e),i=P.fromJSON(o);return i.placeholder=t,this._getLayer(s,o).then(e=>{i.layer=e}),i}).filter(o).toArray()}_getTableSources(e,t){const r=this.view?.map;return e.map(e=>{if(!e.id)return;const s=r.findTableById(e.id);if(!s)return;const o=this._getLayerJSON(e),i=P.fromJSON(o);return i.placeholder=t,this._getLayer(s,o).then(e=>{i.layer=e}),i}).filter(o).toArray()}_convertApplicationProperties(){const e=this.view?.map,t=e?.applicationProperties?.viewing?.search;if(!t)return[];const{enabled:r,hintText:s,layers:o,tables:i}=t;if(!r)return[];return[...this._getLayerSources(o,s),...this._getTableSources(i,s)]}async _getSubLayer(e,t){if(await e.load(),!e.allSublayers)throw new Error;const r=e.allSublayers.find(e=>e.id===t.subLayer);if(!r)throw new Error;const s=await(r.createFeatureLayer?.());if(!s)throw new Error;return this._createdFeatureLayers.push(s),s}async _getBuildingSubLayer(e,t){await e.load();const r=e.allSublayers.find(e=>e.id===t.subLayer);if("building-component"!==r?.type)throw new Error;if(await r.load(),null==r.associatedLayer)throw new Error;return await r.associatedLayer.load(),r}async _getLayer(e,t){if("feature"===e.type||"scene"===e.type||"csv"===e.type||"geojson"===e.type||"ogc-feature"===e.type)return e;if("map-image"===e.type)try{return await this._getSubLayer(e,t)}catch(r){const t=new l("search:create-featurelayer","Could not create a FeatureLayer from the MapImageLayer",{layer:e});return n.getLogger(this).error(t),null}return"building-scene"===e.type?this._getBuildingSubLayer(e,t):null}_getLayerJSON(e){return"function"==typeof e.toJSON?e.toJSON():e}_updateDefaultSources(){const{defaultSources:e,includeDefaultSources:t}=this;this._destroyFeatureLayers(),e.removeAll(),t&&e.addMany([...this._convertApplicationProperties(),...this._convertHelperServices()])}_abortGoTo(){this._gotoController&&this._gotoController.abort(),this._gotoController=null}_clear(){this._abortGoTo(),this._set("resultCount",null),this._set("results",null),this._set("suggestions",null),this._set("suggestionCount",null),this._set("selectedResult",null),this._set("selectedSuggestion",null),this.emit("search-clear")}_closePopup(){const e=this.view?.popup,{resultGraphic:t}=this;if(!e||!t)return;const r="selectedFeature"in e,s=r?e.selectedFeature:null;r&&(s&&s===t)&&e.close()}_suggestTimer(e,t){const r=null!=e?e:this.suggestionDelay;return h(r,null,t?.signal)}_createLocationForSearch(e){return e instanceof r&&e.geometry?_(e.geometry):e instanceof f?e:Array.isArray(e)&&2===e.length?new f({longitude:e[0],latitude:e[1]}):null}_createSuggestionForSearch(e){if(e&&U(e,"key")&&U(e,"text")&&U(e,"sourceIndex"))return e;const t=this._createLocationForSearch(e),r="string"==typeof e?e:this.searchTerm,{selectedSuggestion:s,selectedResult:o}=this,i=!e&&s&&o,l=i&&s.key===o.key&&s.sourceIndex===o.sourceIndex,a=i&&s.location;return l||a?s:{location:t,text:t?"":r,sourceIndex:null,key:null}}_getFirstResult(e){return u(e,({results:e})=>e?.[0])??null}async _selectFirstResult(e){return this.autoSelect&&e?this.select(e):null}async _suggestImmediate(e,t){await this.when();const r=await this._getSuggestionsFromSources(e,t);if(t?.signal?.aborted)return null;const s={activeSourceIndex:this.activeSourceIndex,searchTerm:e??"",numResults:0,numErrors:0,errors:[],results:[]};return this._formatResponse(s,r),s}_formatSourceResponse(e,t,r){const s=t?.value||[],o=t?.error,i=this.allSources.at(r);if(o){const t={sourceIndex:r,source:i,error:o};e.errors.push(t),n.getLogger(this).error(o),e.numErrors++}else{const t={sourceIndex:r,source:i,results:s};e.results.push(t),e.numResults+=s.length}}_formatResponse(e,t,r){if(t)if(e.activeSourceIndex===z){const s=r&&U(r,"sourceIndex")&&-1!==r.sourceIndex?r.sourceIndex:void 0;t.forEach((t,r)=>{const o=void 0!==s?s:r;this._formatSourceResponse(e,t,o)})}else this._formatSourceResponse(e,t[0],e.activeSourceIndex)}async _getResultsFromSources(e,t){const{allSources:r}=this,s=!e.location&&U(e,"sourceIndex")?e.sourceIndex:this.activeSourceIndex,o=[];if(!r.length){const e=new l("search:no-sources-defined","At least one source is required.",{allSources:r});throw n.getLogger(this).error(e),e}return s===z?r.forEach((r,s)=>{o.push(this._getResultsFromSource(e,s,t))}):o.push(this._getResultsFromSource(e,s,t)),c(o)}async _getSuggestionsFromSources(e,t){const{allSources:r,activeSourceIndex:s}=this,o=[];if(!r.length){const e=new l("suggest:no-sources-defined","At least one source is required.",{allSources:r});throw n.getLogger(this).error(e),e}return s===z?r.forEach((r,s)=>{o.push(this._getSuggestionsFromSource(e,s,t))}):o.push(this._getSuggestionsFromSource(e,s,t)),c(o)}async _getResultsFromSource(e,t,r){const s=null!=t?this.allSources.at(t):null;if(!s)return null;const{location:o=null}=e,i=this.view?.spatialReference??Q,l=U(s,"maxResults")?s.maxResults:this.maxResults,a=!!(s instanceof P&&U(s,"exactMatch"))&&s.exactMatch,{view:n}=this;return s.getResults?.({exactMatch:a,location:o,maxResults:l,sourceIndex:t,spatialReference:i,suggestResult:e,view:n},r)}async _getSuggestionsFromSource(e,t,r){const s=this.allSources.at(t);if(!s)return null;e??="";const o=U(s,"suggestionsEnabled")?s.suggestionsEnabled:this.suggestionsEnabled,i=e?.length,l=U(s,"minSuggestCharacters")?s.minSuggestCharacters:this.minSuggestCharacters;if(o&&e.trim()&&i>=l){const o=this.view?.spatialReference||Q,i=U(s,"maxSuggestions")?s.maxSuggestions:this.maxSuggestions,{view:l}=this,a=!!(s instanceof P&&U(s,"exactMatch"))&&s.exactMatch;return s.getSuggestions?.({view:l,sourceIndex:t,suggestTerm:e,spatialReference:o,maxSuggestions:i,exactMatch:a},r)}return null}_getLayerSourcePopupTemplate(e){const{layer:t}=e;if(t)return U(e,"popupTemplate")?e.popupTemplate:t.popupTemplate}_getSourceIndexOfResult(e){return u(this.results??[],({results:t,sourceIndex:r})=>{const s=t?.includes(e);return s?r:null})??null}async _goToSearchResult(e){this._abortGoTo();const t=new AbortController;this._gotoController=t;const r={target:{target:e},options:{signal:t.signal}};e||(r.options.animate=!1),await this.callGoTo(r),this._gotoController=null}_getDefaultSymbol(e){const{defaultSymbols:t}=this,r=e.feature?.geometry;if(null==r)return null;switch(r.type){case"point":case"multipoint":return t.point;case"polyline":return t.polyline;case"extent":case"polygon":return t.polygon;default:return null}}_removeHighlight(){this.removeHandles(H)}async _getLayerView(e){const{view:t}=this;if(!e||!t)return null;const{layer:r,sourceLayer:s}=e,o=r??s;return o&&"building-component"!==o.type&&"subtype-sublayer"!==o.type?(await t.when(),t.whenLayerView(o)):null}_highlightFeature(e){const{graphic:t,layerView:r}=e,{attributes:s,layer:o,sourceLayer:i}=t,l=o??i,{objectIdField:a}=l,n=(a&&s?.[a])??null,u=r.highlight(n??t);this.addHandles(u,H)}_setResultFloor(e){const{view:t}=this,r=e.feature?.attributes,s=e.feature?.sourceLayer;if(s&&"floorInfo"in s&&s?.floorInfo?.floorField&&r){const e=r[s.floorInfo.floorField];t?.emit("select-result-floor",e)}}};e([m()],K.prototype,"_searching",void 0),e([m()],K.prototype,"_updatingPromise",void 0),e([m({readOnly:!0,value:null})],K.prototype,"activeSource",null),e([m()],K.prototype,"activeSourceIndex",null),e([m()],K.prototype,"allPlaceholder",null),e([m({readOnly:!0})],K.prototype,"allSources",null),e([m()],K.prototype,"autoNavigate",void 0),e([m()],K.prototype,"autoSelect",void 0),e([m({type:s})],K.prototype,"defaultPopupTemplate",void 0),e([m({readOnly:!0})],K.prototype,"defaultSources",void 0),e([m()],K.prototype,"defaultSymbols",void 0),e([m()],K.prototype,"includeDefaultSources",void 0),e([m()],K.prototype,"locationEnabled",null),e([m()],K.prototype,"maxInputLength",void 0),e([m()],K.prototype,"maxResults",void 0),e([m()],K.prototype,"maxSuggestions",void 0),e([m()],K.prototype,"messages",void 0),e([m()],K.prototype,"minSuggestCharacters",void 0),e([m({readOnly:!0})],K.prototype,"placeholder",null),e([m()],K.prototype,"popupEnabled",void 0),e([m({type:s})],K.prototype,"popupTemplate",void 0),e([m({type:x})],K.prototype,"portal",void 0),e([m()],K.prototype,"resultCount",void 0),e([m()],K.prototype,"resultGraphicEnabled",void 0),e([m({readOnly:!0})],K.prototype,"resultGraphic",void 0),e([m({readOnly:!0})],K.prototype,"results",void 0),e([m({readOnly:!0})],K.prototype,"selectedSuggestion",void 0),e([m()],K.prototype,"searchAllEnabled",void 0),e([m({readOnly:!0})],K.prototype,"selectedResult",void 0),e([m()],K.prototype,"searchTerm",null),e([m({type:B})],K.prototype,"sources",void 0),e([m({readOnly:!0})],K.prototype,"state",null),e([m()],K.prototype,"suggestionDelay",void 0),e([m()],K.prototype,"suggestionCount",void 0),e([m({readOnly:!0})],K.prototype,"suggestions",void 0),e([m()],K.prototype,"suggestionsEnabled",void 0),e([m({readOnly:!0})],K.prototype,"updating",null),e([m()],K.prototype,"view",void 0),e([m()],K.prototype,"clear",null),K=e([y("esri.widgets.Search.SearchViewModel")],K);const W=K;export{W as default};
5
+ import{__decorate as e}from"tslib";import{getAssetUrl as t}from"../../assets.js";import r from"../../Graphic.js";import s from"../../PopupTemplate.js";import{isSome as o}from"../../core/arrayUtils.js";import i from"../../core/Collection.js";import l from"../../core/Error.js";import{EventedAccessor as a}from"../../core/Evented.js";import n from"../../core/Logger.js";import{mappedFind as u}from"../../core/maybe.js";import{eachAlways as c,after as h}from"../../core/promiseUtils.js";import{watch as p,initial as g,whenOnce as d}from"../../core/reactiveUtils.js";import{property as m}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import{subclass as y}from"../../core/accessorSupport/decorators/subclass.js";import f from"../../geometry/Point.js";import S from"../../geometry/SpatialReference.js";import{getPointFromGeometry as _,getPointWithElevation as v}from"../../geometry/support/geometryUtils.js";import w from"../../portal/Portal.js";import{isApiKeyApplicable as b}from"../../support/apiKeyUtils.js";import x from"../../symbols/PictureMarkerSymbol.js";import L from"../../symbols/SimpleFillSymbol.js";import I from"../../symbols/SimpleLineSymbol.js";import T from"../../symbols/TextSymbol.js";import{highlightsSupported as R}from"../../views/support/layerViewUtils.js";import E from"./LayerSearchSource.js";import F from"./LocatorSearchSource.js";import P from"./SearchSource.js";import{isArcGISWorldGeocoder as j,meteredArcGISLocatorUrl as C,isProxiedArcGISWorldGeocoder as G,isMeteredArcGISWorldGeocoder as O}from"./support/locatorUtils.js";import{supported as A,getCurrentPosition as N,positionToPoint as D}from"../support/geolocationUtils.js";import{GoTo as M}from"../support/GoTo.js";function V(e,t){return e.hasOwnProperty(t)&&null!=e[t]&&""!==e[t]}const J="highlight",U=i.ofType({key:e=>e.layer?"layer":"locator",base:P,typeMap:{layer:E,locator:F}}),k=S.WGS84,H="esri/images/search/search-symbol-32.png",B=/<[\s\S]*?>/g,Q=-1;let Z=class extends(M(a)){constructor(e){super(e),this._defaultPopupTemplate=new s({content:"{Match_addr}"}),this._gotoController=null,this._searching=null,this._updatingPromise=null,this._createdFeatureLayers=[],this.autoNavigate=!0,this.autoSelect=!0,this.defaultSources=new U,this.defaultSymbols={point:new x({url:t(H),size:24,width:24,height:24}),polyline:new I({color:[130,130,130,1],width:2}),polygon:new L({color:[235,235,235,.4],outline:{color:[130,130,130,1],width:2}})},this.includeDefaultSources=!0,this.maxInputLength=128,this.maxResults=6,this.maxSuggestions=6,this.messages=null,this.minSuggestCharacters=3,this.popupEnabled=!0,this.popupTemplate=null,this.portal=w.getDefault(),this.resultCount=null,this.resultGraphicEnabled=!0,this.resultGraphic=null,this.results=null,this.selectedSuggestion=null,this.searchAllEnabled=!0,this.selectedResult=null,this.sources=new U,this.suggestionDelay=350,this.suggestionCount=null,this.suggestions=null,this.suggestionsEnabled=!0,this.view=null}initialize(){this.addHandles([p(()=>[this.includeDefaultSources,this.view,this.portal],()=>this._update(),g),p(()=>this.messages,()=>{this._defaultPopupTemplate.title=this.messages?.searchResult??"",this._update()},g)])}destroy(){this._destroyFeatureLayers(),this._abortGoTo(),this.clearGraphics()}static{this.ALL_INDEX=Q}get activeSource(){return this.allSources.at(this.activeSourceIndex)??null}get activeSourceIndex(){return 1===this.allSources.length||!this.searchAllEnabled?0:Q}set activeSourceIndex(e){this._overrideIfSome("activeSourceIndex",e)}get allPlaceholder(){return this.messages?.allPlaceholder}set allPlaceholder(e){this._overrideIfSome("allPlaceholder",e)}get allSources(){const{sources:e,defaultSources:t,includeDefaultSources:r}=this,s="function"==typeof r?r.call(null,{sources:e,defaultSources:t}):r?t.concat(e):e,o=this._get("allSources")||new U;return o.removeAll(),o.addMany(s.filter(Boolean)),o}get defaultPopupTemplate(){return this._defaultPopupTemplate}set defaultPopupTemplate(e){this._overrideIfSome("defaultPopupTemplate",e)}get locationEnabled(){return this._get("locationEnabled")||A()}set locationEnabled(e){if(void 0===e)return void this._clearOverride("locationEnabled");const t=A();if(e&&!t){const e=new l("locationEnabled:geolocation-unsupported","Geolocation API is unsupported.",{geolocation:navigator.geolocation});n.getLogger(this).error(e)}this._override("locationEnabled",!!e&&t)}get placeholder(){const{allSources:e,activeSourceIndex:t,allPlaceholder:r}=this;if(t===Q)return r??"";const s=e.at(t);return s?.placeholder??""}set searchTerm(e){this._set("searchTerm",e||""),this.clearGraphics(),this.selectedSuggestion&&this.selectedSuggestion.text!==e&&this._set("selectedSuggestion",null),""===e&&this._clear()}get searchTerm(){return this._get("searchTerm")||""}get state(){return this._searching?"searching":this.updating?"loading":0===this.allSources.length?"disabled":"ready"}get updating(){return null!=this._updatingPromise}clear(){this.searchTerm=""}clearGraphics(){this._removeHighlight(),this._closePopup();const{view:e,resultGraphic:t}=this;e&&t&&e.graphics.remove(t),this._set("resultGraphic",null)}search(e,t){this.emit("search-start"),this.clearGraphics();const r=this._createSuggestionForSearch(e),s=(async()=>{try{await this.when();const e=await this._getResultsFromSources(r,t);if(t?.signal?.aborted)return null;const s={activeSourceIndex:this.activeSourceIndex,searchTerm:r.text??"",numResults:0,numErrors:0,errors:[],results:[]};this._formatResponse(s,e,r);const o=this._getFirstResult(s.results),i=r.location&&o?o.name:r.text,l=i?.replaceAll(B,"");return this._set("searchTerm",l),(r.key&&"number"==typeof r.sourceIndex||r.location)&&this._set("selectedSuggestion",r),this._set("results",s.results),this._set("resultCount",s.results.reduce((e,t)=>e+(t.results?.length??0),0)),this.emit("search-complete",s),await this._selectFirstResult(o),s}finally{this._clearSearching()}})();return this._searching=s,s}async searchNearby(e){if(!this.locationEnabled){const e=new l("searchNearby:geolocation-unsupported","Geolocation API is unsupported.",{geolocation:navigator.geolocation});throw n.getLogger(this).error(e),e}const t=(async()=>{try{const t=await N(),r=await D({position:t,view:this.view},e);return await this.search(r,e)}finally{this._clearSearching()}})();return this._searching=t,t}async select(e){if(this.clearGraphics(),!e){const t=new l("select:missing-parameter","Cannot select without a searchResult.",{value:e});throw n.getLogger(this).error(t),t}const{view:t}=this,s=V(e,"sourceIndex")?e.sourceIndex:this._getSourceIndexOfResult(e),o=null!=s?this.allSources.at(s):null;if(!o){const e=new l("select:missing-source","Cannot select without a source.",{source:o});throw n.getLogger(this).error(e),e}const i=o instanceof E?this._getLayerSourcePopupTemplate(o):o.popupTemplate,a=o.resultSymbol||this._getDefaultSymbol(e),u=V(o,"resultGraphicEnabled")?o.resultGraphicEnabled:this.resultGraphicEnabled,h=V(o,"autoNavigate")?o.autoNavigate:this.autoNavigate,p=V(o,"popupEnabled")?o.popupEnabled:this.popupEnabled,g=p?i||this.popupTemplate||this.defaultPopupTemplate:null,{feature:d}=e;if(!d){const e=new l("select:missing-feature","Cannot select without a feature.",{feature:d});throw n.getLogger(this).error(e),e}const{attributes:m,geometry:y,layer:f,sourceLayer:S}=d,w=y?_(y):null,b={layerViewQuery:this._getLayerView(d),elevationQuery:t&&null!=w?v(w,t):Promise.resolve(w)},x=await c(b),L=x.layerViewQuery.value,I=x.elevationQuery.value;a instanceof T&&(a.text=e.name);const F=t&&h?e.target||e.extent:null,P=null!=F?this._goToSearchResult(F):Promise.resolve();await P;const j=L?d:new r({geometry:y,symbol:a,attributes:m,layer:f,sourceLayer:S,popupTemplate:g}),C=t?.popup,G=C&&p&&j.getEffectivePopupTemplate(C.defaultPopupTemplateEnabled);return G&&await t.openPopup({features:[j],location:I}),L&&R(L)&&!G&&this._highlightFeature({graphic:j,layerView:L}),!L&&u&&t&&t.graphics.push(j),this._setResultFloor(e),this._set("selectedResult",e),this._set("resultGraphic",j),this.emit("select-result",{result:e,source:o,sourceIndex:s}),e}async suggest(e,t,r){const s=e||this.searchTerm;this.emit("suggest-start",{searchTerm:s}),await this._suggestTimer(t,r);const o=await this._suggestImmediate(s,r);return this._set("suggestions",o?.results),this._set("suggestionCount",o?.results.reduce((e,t)=>e+(t.results?.length??0),0)??null),this.emit("suggest-complete",o),o}async when(){await d(()=>!this.updating)}async _update(){const{portal:e,view:t}=this;if(this.includeDefaultSources){const r=this._updatingPromise=c([e?.load(),t?.when()]);if(this.destroyed)return;if(await r,r!==this._updatingPromise)return}this.destroyed||this._updateDefaultSources(),this._updatingPromise=null}_clearSearching(){this._searching=null}_convertHelperServices(){const e=this.portal?.helperServices?.geocode;if(!e)return[];return e.map(e=>{if(!1===e.placefinding)return;const t=j(e.url)&&b(e.url)?{url:C}:null,r=F.fromJSON({...e,...t}),s=r.url;if(j(s)||G(s)||O(s)){const e=r.outFields??["Addr_type","Match_addr","StAddr","City"],t=(r.placeholder||this.messages?.placeholder)??"",s="number"==typeof r.defaultZoomScale?r.defaultZoomScale:2500;r.singleLineFieldName="SingleLine",r.outFields=e,r.placeholder=t,r.defaultZoomScale=s}return r.singleLineFieldName?r:void 0}).filter(o)}_destroyFeatureLayers(){this._createdFeatureLayers.forEach(e=>e?.destroy()),this._createdFeatureLayers=[]}_getLayerSources(e,t){const r=this.view?.map;return e.map(e=>{const s=r.findLayerById(e.id);if(!s)return;const o=this._getLayerJSON(e),i=E.fromJSON(o);return i.placeholder=t,this._getLayer(s,o).then(e=>{i.layer=e}),i}).filter(o).toArray()}_getTableSources(e,t){const r=this.view?.map;return e.map(e=>{if(!e.id)return;const s=r.findTableById(e.id);if(!s)return;const o=this._getLayerJSON(e),i=E.fromJSON(o);return i.placeholder=t,this._getLayer(s,o).then(e=>{i.layer=e}),i}).filter(o).toArray()}_convertApplicationProperties(){const e=this.view?.map,t=e?.applicationProperties?.viewing?.search;if(!t)return[];const{enabled:r,hintText:s,layers:o,tables:i}=t;if(!r)return[];return[...this._getLayerSources(o,s),...this._getTableSources(i,s)]}async _getSubLayer(e,t){if(await e.load(),!e.allSublayers)throw new Error;const r=e.allSublayers.find(e=>e.id===t.subLayer);if(!r)throw new Error;const s=await(r.createFeatureLayer?.());if(!s)throw new Error;return this._createdFeatureLayers.push(s),s}async _getBuildingSubLayer(e,t){await e.load();const r=e.allSublayers.find(e=>e.id===t.subLayer);if("building-component"!==r?.type)throw new Error;if(await r.load(),null==r.associatedLayer)throw new Error;return await r.associatedLayer.load(),r}async _getLayer(e,t){if("feature"===e.type||"scene"===e.type||"csv"===e.type||"geojson"===e.type||"ogc-feature"===e.type)return e;if("map-image"===e.type)try{return await this._getSubLayer(e,t)}catch(r){const t=new l("search:create-featurelayer","Could not create a FeatureLayer from the MapImageLayer",{layer:e});return n.getLogger(this).error(t),null}return"building-scene"===e.type?this._getBuildingSubLayer(e,t):null}_getLayerJSON(e){return"function"==typeof e.toJSON?e.toJSON():e}_updateDefaultSources(){const{defaultSources:e,includeDefaultSources:t}=this;this._destroyFeatureLayers(),e.removeAll(),t&&e.addMany([...this._convertApplicationProperties(),...this._convertHelperServices()])}_abortGoTo(){this._gotoController&&this._gotoController.abort(),this._gotoController=null}_clear(){this._abortGoTo(),this._set("resultCount",null),this._set("results",null),this._set("suggestions",null),this._set("suggestionCount",null),this._set("selectedResult",null),this._set("selectedSuggestion",null),this.emit("search-clear")}_closePopup(){const e=this.view?.popup,{resultGraphic:t}=this;if(!e||!t)return;const r="selectedFeature"in e,s=r?e.selectedFeature:null;r&&(s&&s===t)&&e.close()}_suggestTimer(e,t){const r=null!=e?e:this.suggestionDelay;return h(r,null,t?.signal)}_createLocationForSearch(e){return e instanceof r&&e.geometry?_(e.geometry):e instanceof f?e:Array.isArray(e)&&2===e.length?new f({longitude:e[0],latitude:e[1]}):null}_createSuggestionForSearch(e){if(e&&V(e,"key")&&V(e,"text")&&V(e,"sourceIndex"))return e;const t=this._createLocationForSearch(e),r="string"==typeof e?e:this.searchTerm,{selectedSuggestion:s,selectedResult:o}=this,i=!e&&s&&o,l=i&&s.key===o.key&&s.sourceIndex===o.sourceIndex,a=i&&s.location;return l||a?s:{location:t,text:t?"":r,sourceIndex:null,key:null}}_getFirstResult(e){return u(e,({results:e})=>e?.[0])??null}async _selectFirstResult(e){return this.autoSelect&&e?this.select(e):null}async _suggestImmediate(e,t){await this.when();const r=await this._getSuggestionsFromSources(e,t);if(t?.signal?.aborted)return null;const s={activeSourceIndex:this.activeSourceIndex,searchTerm:e??"",numResults:0,numErrors:0,errors:[],results:[]};return this._formatResponse(s,r),s}_formatSourceResponse(e,t,r){const s=t?.value||[],o=t?.error,i=this.allSources.at(r);if(o){const t={sourceIndex:r,source:i,error:o};e.errors.push(t),n.getLogger(this).error(o),e.numErrors++}else{const t={sourceIndex:r,source:i,results:s};e.results.push(t),e.numResults+=s.length}}_formatResponse(e,t,r){if(t)if(e.activeSourceIndex===Q){const s=r&&V(r,"sourceIndex")&&-1!==r.sourceIndex?r.sourceIndex:void 0;t.forEach((t,r)=>{const o=void 0!==s?s:r;this._formatSourceResponse(e,t,o)})}else this._formatSourceResponse(e,t[0],e.activeSourceIndex)}async _getResultsFromSources(e,t){const{allSources:r}=this,s=!e.location&&V(e,"sourceIndex")?e.sourceIndex:this.activeSourceIndex,o=[];if(!r.length){const e=new l("search:no-sources-defined","At least one source is required.",{allSources:r});throw n.getLogger(this).error(e),e}return s===Q?r.forEach((r,s)=>{o.push(this._getResultsFromSource(e,s,t))}):o.push(this._getResultsFromSource(e,s,t)),c(o)}async _getSuggestionsFromSources(e,t){const{allSources:r,activeSourceIndex:s}=this,o=[];if(!r.length){const e=new l("suggest:no-sources-defined","At least one source is required.",{allSources:r});throw n.getLogger(this).error(e),e}return s===Q?r.forEach((r,s)=>{o.push(this._getSuggestionsFromSource(e,s,t))}):o.push(this._getSuggestionsFromSource(e,s,t)),c(o)}async _getResultsFromSource(e,t,r){const s=null!=t?this.allSources.at(t):null;if(!s)return null;const{location:o=null}=e,i=this.view?.spatialReference??k,l=V(s,"maxResults")?s.maxResults:this.maxResults,a=!!(s instanceof E&&V(s,"exactMatch"))&&s.exactMatch,{view:n}=this;return s.getResults?.({exactMatch:a,location:o,maxResults:l,sourceIndex:t,spatialReference:i,suggestResult:e,view:n},r)}async _getSuggestionsFromSource(e,t,r){const s=this.allSources.at(t);if(!s)return null;e??="";const o=V(s,"suggestionsEnabled")?s.suggestionsEnabled:this.suggestionsEnabled,i=e?.length,l=V(s,"minSuggestCharacters")?s.minSuggestCharacters:this.minSuggestCharacters;if(o&&e.trim()&&i>=l){const o=this.view?.spatialReference||k,i=V(s,"maxSuggestions")?s.maxSuggestions:this.maxSuggestions,{view:l}=this,a=!!(s instanceof E&&V(s,"exactMatch"))&&s.exactMatch;return s.getSuggestions?.({view:l,sourceIndex:t,suggestTerm:e,spatialReference:o,maxSuggestions:i,exactMatch:a},r)}return null}_getLayerSourcePopupTemplate(e){const{layer:t}=e;if(t)return V(e,"popupTemplate")?e.popupTemplate:t.popupTemplate}_getSourceIndexOfResult(e){return u(this.results??[],({results:t,sourceIndex:r})=>{const s=t?.includes(e);return s?r:null})??null}async _goToSearchResult(e){this._abortGoTo();const t=new AbortController;this._gotoController=t;const r={target:{target:e},options:{signal:t.signal}};e||(r.options.animate=!1),await this.callGoTo(r),this._gotoController=null}_getDefaultSymbol(e){const{defaultSymbols:t}=this,r=e.feature?.geometry;if(null==r)return null;switch(r.type){case"point":case"multipoint":return t.point;case"polyline":return t.polyline;case"extent":case"polygon":return t.polygon;default:return null}}_removeHighlight(){this.removeHandles(J)}async _getLayerView(e){const{view:t}=this;if(!e||!t)return null;const{layer:r,sourceLayer:s}=e,o=r??s;return o&&"building-component"!==o.type&&"subtype-sublayer"!==o.type?(await t.when(),t.whenLayerView(o)):null}_highlightFeature(e){const{graphic:t,layerView:r}=e,{attributes:s,layer:o,sourceLayer:i}=t,l=o??i,{objectIdField:a}=l,n=(a&&s?.[a])??null,u=r.highlight(n??t);this.addHandles(u,J)}_setResultFloor(e){const{view:t}=this,r=e.feature?.attributes,s=e.feature?.sourceLayer;if(s&&"floorInfo"in s&&s?.floorInfo?.floorField&&r){const e=r[s.floorInfo.floorField];t?.emit("select-result-floor",e)}}};e([m()],Z.prototype,"_searching",void 0),e([m()],Z.prototype,"_updatingPromise",void 0),e([m({readOnly:!0,value:null})],Z.prototype,"activeSource",null),e([m()],Z.prototype,"activeSourceIndex",null),e([m()],Z.prototype,"allPlaceholder",null),e([m({readOnly:!0})],Z.prototype,"allSources",null),e([m()],Z.prototype,"autoNavigate",void 0),e([m()],Z.prototype,"autoSelect",void 0),e([m({type:s})],Z.prototype,"defaultPopupTemplate",null),e([m({readOnly:!0})],Z.prototype,"defaultSources",void 0),e([m()],Z.prototype,"defaultSymbols",void 0),e([m()],Z.prototype,"includeDefaultSources",void 0),e([m()],Z.prototype,"locationEnabled",null),e([m()],Z.prototype,"maxInputLength",void 0),e([m()],Z.prototype,"maxResults",void 0),e([m()],Z.prototype,"maxSuggestions",void 0),e([m()],Z.prototype,"messages",void 0),e([m()],Z.prototype,"minSuggestCharacters",void 0),e([m({readOnly:!0})],Z.prototype,"placeholder",null),e([m()],Z.prototype,"popupEnabled",void 0),e([m({type:s})],Z.prototype,"popupTemplate",void 0),e([m({type:w})],Z.prototype,"portal",void 0),e([m()],Z.prototype,"resultCount",void 0),e([m()],Z.prototype,"resultGraphicEnabled",void 0),e([m({readOnly:!0})],Z.prototype,"resultGraphic",void 0),e([m({readOnly:!0})],Z.prototype,"results",void 0),e([m({readOnly:!0})],Z.prototype,"selectedSuggestion",void 0),e([m()],Z.prototype,"searchAllEnabled",void 0),e([m({readOnly:!0})],Z.prototype,"selectedResult",void 0),e([m()],Z.prototype,"searchTerm",null),e([m({type:U})],Z.prototype,"sources",void 0),e([m({readOnly:!0})],Z.prototype,"state",null),e([m()],Z.prototype,"suggestionDelay",void 0),e([m()],Z.prototype,"suggestionCount",void 0),e([m({readOnly:!0})],Z.prototype,"suggestions",void 0),e([m()],Z.prototype,"suggestionsEnabled",void 0),e([m({readOnly:!0})],Z.prototype,"updating",null),e([m()],Z.prototype,"view",void 0),e([m()],Z.prototype,"clear",null),Z=e([y("esri.widgets.Search.SearchViewModel")],Z);const q=Z;export{q as default};
package/widgets/Search.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import"../intl.js";import{deprecateWidget as t,deprecatedPropertyValue as o}from"../core/deprecate.js";import s from"../core/Logger.js";import{destroyMaybe as r,abortMaybe as i}from"../core/maybe.js";import{ignoreAbortErrors as l,isAbortError as n}from"../core/promiseUtils.js";import{watch as a,initial as c}from"../core/reactiveUtils.js";import{waitAnimationFrame as u}from"../core/scheduling.js";import{property as h}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/RandomLCG.js";import{subclass as d}from"../core/accessorSupport/decorators/subclass.js";import p from"./Widget.js";import{css as g}from"./Search/css.js";import m from"./Search/SearchResultRenderer.js";import v from"./Search/SearchViewModel.js";import{loadCalciteComponents as _}from"./support/componentsUtils.js";import{globalCss as w}from"./support/globalCss.js";import"./support/widgetUtils.js";import{messageBundle as S}from"./support/decorators/messageBundle.js";import{vmEvent as M}from"./support/decorators/vmEvent.js";import{tsx as b}from"./support/jsxFactory.js";import"@arcgis/toolkit/dom";import{substitute as y}from"../intl/substitute.js";let C=class extends p{constructor(e,o){super(e,o),this._currentLocationValue=`${this.id}-search-use-current-location`,this._autocompleteNode=null,this._focusAbortController=null,this._searchResultRenderer=new m,this._suggestController=null,this._searchController=null,this._lastSearchTerm="",this._locateFailed=!1,this._showNoResults=!1,this.disabled=!1,this.messages=null,this.messagesCommon=null,this.viewModel=new v,this._renderSearchResultsContent=()=>this._searchResultRenderer,t(s.getLogger(this),"Search","arcgis-search",{version:"4.33"}),this.addHandles([a(()=>this.viewModel,e=>this._searchResultRenderer.viewModel=e,c),a(()=>this.viewModel.results,()=>this._searchResultRenderer.showMoreResultsOpen=!1),a(()=>this.viewModel?.defaultPopupTemplate,e=>{e&&(e.content=this._renderSearchResultsContent)},c)])}loadDependencies(){return _({autocomplete:()=>import("@esri/calcite-components/dist/components/calcite-autocomplete"),"autocomplete-item-group":()=>import("@esri/calcite-components/dist/components/calcite-autocomplete-item-group"),"autocomplete-item":()=>import("@esri/calcite-components/dist/components/calcite-autocomplete-item"),button:()=>import("@esri/calcite-components/dist/components/calcite-button"),dropdown:()=>import("@esri/calcite-components/dist/components/calcite-dropdown"),"dropdown-group":()=>import("@esri/calcite-components/dist/components/calcite-dropdown-group"),"dropdown-item":()=>import("@esri/calcite-components/dist/components/calcite-dropdown-item"),notice:()=>import("@esri/calcite-components/dist/components/calcite-notice")})}destroy(){this._cancelQueries(),this._searchResultRenderer=r(this._searchResultRenderer),this._focusAbortController?.abort()}get _isDisabled(){const{state:e}=this.viewModel;return"disabled"===e||"loading"===e||this.disabled}get _showCurrentLocation(){return this.locationEnabled&&!this.searchTerm?.trim()}get _effectiveActiveMenu(){const{activeMenu:e}=this;return this._isDisabled?"none":"warning"===e?"suggestion":e}get activeMenu(){return"none"}set activeMenu(e){"warning"===e&&o(s.getLogger(this),"activeMenu","warning",{replacement:"Use the value 'suggestion' instead",version:"4.32",warnOnce:!0}),this._overrideIfSome("activeMenu",e)}get activeSource(){return this.viewModel?.activeSource}get activeSourceIndex(){return this.viewModel.activeSourceIndex}set activeSourceIndex(e){this.viewModel.activeSourceIndex=e}get allPlaceholder(){return this.viewModel.allPlaceholder}set allPlaceholder(e){this.viewModel.allPlaceholder=e}get allSources(){return this.viewModel.allSources}get autoNavigate(){return this.viewModel.autoNavigate}set autoNavigate(e){this.viewModel.autoNavigate=e}get autoSelect(){return this.viewModel.autoSelect}set autoSelect(e){this.viewModel.autoSelect=e}get defaultSources(){return this.viewModel.defaultSources}get goToOverride(){return this.viewModel.goToOverride}set goToOverride(e){this.viewModel.goToOverride=e}get icon(){return"search"}set icon(e){this._overrideIfSome("icon",e)}get includeDefaultSources(){return this.viewModel.includeDefaultSources}set includeDefaultSources(e){this.viewModel.includeDefaultSources=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get locationEnabled(){return this.viewModel.locationEnabled}set locationEnabled(e){this.viewModel.locationEnabled=e}get maxResults(){return this.viewModel.maxResults}set maxResults(e){this.viewModel.maxResults=e}get maxSuggestions(){return this.viewModel.maxSuggestions}set maxSuggestions(e){this.viewModel.maxSuggestions=e}get minSuggestCharacters(){return this.viewModel.minSuggestCharacters}set minSuggestCharacters(e){this.viewModel.minSuggestCharacters=e}get popupEnabled(){return this.viewModel.popupEnabled}set popupEnabled(e){this.viewModel.popupEnabled=e}get popupTemplate(){return this.viewModel.popupTemplate}set popupTemplate(e){this.viewModel.popupTemplate=e}get portal(){return this.viewModel?.portal}set portal(e){this.viewModel&&(this.viewModel.portal=e)}get resultGraphic(){return this.viewModel.resultGraphic}set resultGraphic(e){this.viewModel.resultGraphic=e}get resultGraphicEnabled(){return this.viewModel.resultGraphicEnabled}set resultGraphicEnabled(e){this.viewModel.resultGraphicEnabled=e}get results(){return this.viewModel.results}get searchAllEnabled(){return this.viewModel.searchAllEnabled}set searchAllEnabled(e){this.viewModel.searchAllEnabled=e}get searchTerm(){return this.viewModel.searchTerm}set searchTerm(e){this.viewModel.searchTerm=e}get selectedResult(){return this.viewModel.selectedResult}get sources(){return this.viewModel.sources}set sources(e){this.viewModel.sources=e}get suggestions(){return this.viewModel.suggestions}get suggestionsEnabled(){return this.viewModel.suggestionsEnabled}set suggestionsEnabled(e){this.viewModel.suggestionsEnabled=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}clear(){this._locateFailed=!1,this.viewModel.clear()}focus(){this._handleFocus(),this._emitFocus()}blur(){this._autocompleteNode?.blur(),this._emitBlur()}async search(e){this._cancelQueries();const t=new AbortController,{signal:o}=t;this._searchController=t;try{const s=await this.viewModel.search(e,{signal:o});if(this._searchController!==t)return;return s?.numResults||(this._showNoResults=!0,this.activeMenu="suggestion"),this._searchController=null,s}catch(s){if(this._searchController!==t)return;return void(this._searchController=null)}}async suggest(e){this._cancelSuggest();const t=new AbortController,{signal:o}=t;this._suggestController=t;try{const s=await this.viewModel.suggest(e,null,{signal:o});if(this._suggestController!==t)return;return this._suggestController=null,s?.numResults&&(this.activeMenu="suggestion",this._scrollToTopSuggestion()),s}catch(s){return this._suggestController!==t||(this._suggestController=null),null}}render(){return b("div",{class:this.classes(g.base,w.widget)},b("div",{class:g.container},this._renderSourcesMenu(),this._renderForm()))}_handleInputKeydown(e){"Tab"===e.key&&this._cancelSuggest()}_emitFocus(){this.emit("search-focus")}_emitBlur(){this.emit("search-blur")}async _handleFocus(){this._focusAbortController?.abort(),this._focusAbortController=new AbortController;const e=this._focusAbortController.signal;await l(u(e)),this._autocompleteNode?.setFocus()}_renderSourcesMenu(){const{messages:e,_isDisabled:t,_effectiveActiveMenu:o}=this,{allSources:s,searchAllEnabled:r}=this.viewModel;return s.length>1?b("calcite-dropdown",{bind:this,class:g.dropdown,disabled:t,open:"source"===o,overlayPositioning:"fixed",onCalciteDropdownClose:this._handleSourceClose,onCalciteDropdownOpen:this._handleSourceOpen,onCalciteDropdownSelect:this._handleSourceSelect},b("calcite-button",{appearance:"outline-fill",iconStart:"caret-down",kind:"neutral",label:e.searchIn,slot:"trigger"}),b("calcite-dropdown-group",{groupTitle:e.searchIn},r?this._renderSource(v.ALL_INDEX):null,s.map((e,t)=>this._renderSource(t)).toArray())):null}_renderUseCurrentLocation(){const{_currentLocationValue:e}=this;return b("calcite-autocomplete-item",{heading:this.messages.useCurrentLocation,iconStart:"gps-on",key:e,value:e})}_handleAutocompleteCreate(e){this._autocompleteNode=e}_handleCalciteAutocompleteTextInput(e){const t=e.target.inputValue;t!==this.viewModel.searchTerm&&(this.viewModel.searchTerm=t,t||this.clear(),this.suggest())}_handleAutocompleteOpen(){this.activeMenu="suggestion"}_handleAutocompleteClose(){"suggestion"===this.activeMenu&&(this.activeMenu="none")}_handleCalciteAutocompleteChange(e){const t=e.target.value;if(t===this._currentLocationValue)return void this._useCurrentLocation();const o=JSON.parse(t),s=this.viewModel.suggestions?.find(({sourceIndex:e})=>e===o.sourceIndex)?.results?.find(({key:e})=>`${e}`==`${o.key}`);s&&this.search(s)}_renderAutocomplete(){const{_effectiveActiveMenu:e,messages:t,_isDisabled:o}=this,{maxInputLength:s,placeholder:r,searchTerm:i,state:l}=this.viewModel,n=this.label??t.searchButtonTitle??"";return b("calcite-autocomplete",{afterCreate:this._handleAutocompleteCreate,autocomplete:"off",bind:this,class:g.autocomplete,disabled:o,icon:this.icon||!1,inputValue:i,label:n,loading:"searching"===l,maxLength:s,name:this.id,onblur:this._emitBlur,onfocus:this._emitFocus,onkeydown:this._handleInputKeydown,open:"suggestion"===e,overlayPositioning:"fixed",placeholder:r,title:i?"":r,onCalciteAutocompleteChange:this._handleCalciteAutocompleteChange,onCalciteAutocompleteClose:this._handleAutocompleteClose,onCalciteAutocompleteOpen:this._handleAutocompleteOpen,onCalciteAutocompleteTextChange:this._handleCalciteAutocompleteTextInput,onCalciteAutocompleteTextInput:this._handleCalciteAutocompleteTextInput},this._renderSuggestions(),this._renderNotices())}_renderForm(){return b("form",{bind:this,class:g.form,disabled:this._isDisabled,key:g.form,onsubmit:this._formSubmit,role:"search"},this._renderAutocomplete(),b("button",{class:g.submitButton,type:"submit"},this.label??this.messages.searchButtonTitle??""))}_renderSuggestGroup(e){return e.results?.map(e=>this._renderSuggestion(e))}_renderSuggestions(){const{suggestions:e}=this.viewModel;return this._showNoResults?null:this._showCurrentLocation?this._renderUseCurrentLocation():e?.map(e=>this._renderSuggestResults(e))}_renderSuggestResults(e){const{allSources:t,activeSourceIndex:o}=this.viewModel,{sourceIndex:s}=e,r=e.results?.length,i=t.length>1&&o===v.ALL_INDEX,l=this._getSourceName(s);return r&&i?b("calcite-autocomplete-item-group",{heading:l,key:`suggestion-group-${l}-${s}`},this._renderSuggestGroup(e)):this._renderSuggestGroup(e)}_renderSuggestion({key:e,sourceIndex:t,text:o}){const s={key:e,sourceIndex:t};return b("calcite-autocomplete-item",{heading:o??this.messages.untitledResult,key:`suggestion_${e}`,value:JSON.stringify(s)})}_renderSource(e){const t=this._getSourceName(e);return b("calcite-dropdown-item",{"data-source-index":`${e}`,key:`source-${t}-${e}`,selected:e===this.viewModel.activeSourceIndex},t)}_renderNoResultsWarning(e){const{messages:t}=this,o=e?y(t.noResultsFoundForValue,{value:`"${e}"`}):t.noResultsFound;return b("calcite-notice",{icon:"exclamation-mark-triangle",key:"no-results-warning",kind:"warning",open:!0,slot:"content-bottom"},b("div",{slot:"title"},t.noResults),b("div",{slot:"message"},o))}_renderLocateError(){return b("calcite-notice",{icon:"exclamation-mark-circle",key:"locate-warning",kind:"danger",open:!0,slot:"content-bottom"},b("div",{slot:"message"},this.messages.locateError))}_renderNotices(){return this._locateFailed?this._renderLocateError():this._showNoResults?this._renderNoResultsWarning(this._lastSearchTerm??this.viewModel.searchTerm):null}async _useCurrentLocation(){this._cancelQueries();const e=new AbortController,{signal:t}=e;this._searchController=e;try{await this.viewModel.searchNearby({signal:t})}catch(o){n(o)||(this._locateFailed=!0,this.activeMenu="suggestion")}finally{this._searchController=null}}_handleSourceOpen(){this.activeMenu="source"}_handleSourceClose(){"source"===this.activeMenu&&(this.activeMenu="none")}_handleSourceSelect(e){const t=e.target.selectedItems[0].getAttribute("data-source-index");t&&(this.viewModel.activeSourceIndex=parseInt(t,10))}_cancelSuggest(){this.activeMenu="none",this._locateFailed=!1,this._showNoResults=!1,this._suggestController=i(this._suggestController)}_cancelQueries(){this._cancelSuggest(),this._searchController=i(this._searchController)}_scrollToTopSuggestion(){this._autocompleteNode?.scrollContentTo({top:0})}_formSubmit(e){e.preventDefault(),this.activeMenu="none",this._lastSearchTerm=this.searchTerm,this.searchTerm&&this.search()}_getSourceName(e){const{messages:t}=this,{allSources:o}=this.viewModel,s=o.at(e);return e===v.ALL_INDEX?t.all:s?.name||t.untitledSource}};e([h()],C.prototype,"_locateFailed",void 0),e([h()],C.prototype,"_showNoResults",void 0),e([h()],C.prototype,"_isDisabled",null),e([h()],C.prototype,"_showCurrentLocation",null),e([h()],C.prototype,"_effectiveActiveMenu",null),e([h()],C.prototype,"activeMenu",null),e([h({readOnly:!0})],C.prototype,"activeSource",null),e([h()],C.prototype,"activeSourceIndex",null),e([h()],C.prototype,"allPlaceholder",null),e([h({readOnly:!0})],C.prototype,"allSources",null),e([h()],C.prototype,"autoNavigate",null),e([h()],C.prototype,"autoSelect",null),e([h({readOnly:!0})],C.prototype,"defaultSources",null),e([h()],C.prototype,"disabled",void 0),e([h()],C.prototype,"goToOverride",null),e([h()],C.prototype,"icon",null),e([h()],C.prototype,"includeDefaultSources",null),e([h()],C.prototype,"label",null),e([h()],C.prototype,"locationEnabled",null),e([h()],C.prototype,"maxResults",null),e([h()],C.prototype,"maxSuggestions",null),e([h(),S("esri/widgets/Search/t9n/Search")],C.prototype,"messages",void 0),e([h(),S("esri/t9n/common")],C.prototype,"messagesCommon",void 0),e([h()],C.prototype,"minSuggestCharacters",null),e([h()],C.prototype,"popupEnabled",null),e([h()],C.prototype,"popupTemplate",null),e([h()],C.prototype,"portal",null),e([h()],C.prototype,"resultGraphic",null),e([h()],C.prototype,"resultGraphicEnabled",null),e([h({readOnly:!0})],C.prototype,"results",null),e([h()],C.prototype,"searchAllEnabled",null),e([h()],C.prototype,"searchTerm",null),e([h({readOnly:!0})],C.prototype,"selectedResult",null),e([h()],C.prototype,"sources",null),e([h({readOnly:!0})],C.prototype,"suggestions",null),e([h()],C.prototype,"suggestionsEnabled",null),e([h()],C.prototype,"view",null),e([M(["search-complete","search-clear","search-start","select-result","suggest-start","suggest-complete"]),h({type:v})],C.prototype,"viewModel",void 0),C=e([d("esri.widgets.Search")],C);const f=C;export{f as default};
5
+ import{__decorate as e}from"tslib";import"../intl.js";import{deprecateWidget as t,deprecatedPropertyValue as s}from"../core/deprecate.js";import o from"../core/Logger.js";import{destroyMaybe as r,abortMaybe as i}from"../core/maybe.js";import{ignoreAbortErrors as l,isAbortError as n}from"../core/promiseUtils.js";import{watch as a,initial as c}from"../core/reactiveUtils.js";import{waitAnimationFrame as u}from"../core/scheduling.js";import{property as h}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/RandomLCG.js";import{subclass as d}from"../core/accessorSupport/decorators/subclass.js";import p from"./Widget.js";import{css as g}from"./Search/css.js";import m from"./Search/SearchResultRenderer.js";import v from"./Search/SearchViewModel.js";import{loadCalciteComponents as _}from"./support/componentsUtils.js";import{globalCss as w}from"./support/globalCss.js";import"./support/widgetUtils.js";import{messageBundle as S}from"./support/decorators/messageBundle.js";import{vmEvent as M}from"./support/decorators/vmEvent.js";import{tsx as b}from"./support/jsxFactory.js";import"@arcgis/toolkit/dom";import{substitute as y}from"../intl/substitute.js";let C=class extends p{constructor(e,s){super(e,s),this._currentLocationValue=`${this.id}-search-use-current-location`,this._autocompleteNode=null,this._focusAbortController=null,this._searchResultRenderer=new m,this._suggestController=null,this._searchController=null,this._lastSearchTerm="",this._locateFailed=!1,this._showNoResults=!1,this.disabled=!1,this.messages=null,this.messagesCommon=null,this.viewModel=new v,this._renderSearchResultsContent=()=>this._searchResultRenderer,t(o.getLogger(this),"Search","arcgis-search",{version:"4.33"}),this.addHandles([a(()=>this.viewModel,e=>this._searchResultRenderer.viewModel=e,c),a(()=>this.viewModel.results,()=>this._searchResultRenderer.showMoreResultsOpen=!1),a(()=>this.messages,e=>this.viewModel.messages=e),a(()=>this.viewModel?.defaultPopupTemplate,e=>{e&&(e.content=this._renderSearchResultsContent)},c)])}loadDependencies(){return _({autocomplete:()=>import("@esri/calcite-components/dist/components/calcite-autocomplete"),"autocomplete-item-group":()=>import("@esri/calcite-components/dist/components/calcite-autocomplete-item-group"),"autocomplete-item":()=>import("@esri/calcite-components/dist/components/calcite-autocomplete-item"),button:()=>import("@esri/calcite-components/dist/components/calcite-button"),dropdown:()=>import("@esri/calcite-components/dist/components/calcite-dropdown"),"dropdown-group":()=>import("@esri/calcite-components/dist/components/calcite-dropdown-group"),"dropdown-item":()=>import("@esri/calcite-components/dist/components/calcite-dropdown-item"),notice:()=>import("@esri/calcite-components/dist/components/calcite-notice")})}destroy(){this._cancelQueries(),this._searchResultRenderer=r(this._searchResultRenderer),this._focusAbortController?.abort()}get _isDisabled(){const{state:e}=this.viewModel;return"disabled"===e||"loading"===e||this.disabled}get _showCurrentLocation(){return this.locationEnabled&&!this.searchTerm?.trim()}get _effectiveActiveMenu(){const{activeMenu:e}=this;return this._isDisabled?"none":"warning"===e?"suggestion":e}get activeMenu(){return"none"}set activeMenu(e){"warning"===e&&s(o.getLogger(this),"activeMenu","warning",{replacement:"Use the value 'suggestion' instead",version:"4.32",warnOnce:!0}),this._overrideIfSome("activeMenu",e)}get activeSource(){return this.viewModel?.activeSource}get activeSourceIndex(){return this.viewModel.activeSourceIndex}set activeSourceIndex(e){this.viewModel.activeSourceIndex=e}get allPlaceholder(){return this.viewModel.allPlaceholder}set allPlaceholder(e){this.viewModel.allPlaceholder=e}get allSources(){return this.viewModel.allSources}get autoNavigate(){return this.viewModel.autoNavigate}set autoNavigate(e){this.viewModel.autoNavigate=e}get autoSelect(){return this.viewModel.autoSelect}set autoSelect(e){this.viewModel.autoSelect=e}get defaultSources(){return this.viewModel.defaultSources}get goToOverride(){return this.viewModel.goToOverride}set goToOverride(e){this.viewModel.goToOverride=e}get icon(){return"search"}set icon(e){this._overrideIfSome("icon",e)}get includeDefaultSources(){return this.viewModel.includeDefaultSources}set includeDefaultSources(e){this.viewModel.includeDefaultSources=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get locationEnabled(){return this.viewModel.locationEnabled}set locationEnabled(e){this.viewModel.locationEnabled=e}get maxResults(){return this.viewModel.maxResults}set maxResults(e){this.viewModel.maxResults=e}get maxSuggestions(){return this.viewModel.maxSuggestions}set maxSuggestions(e){this.viewModel.maxSuggestions=e}get minSuggestCharacters(){return this.viewModel.minSuggestCharacters}set minSuggestCharacters(e){this.viewModel.minSuggestCharacters=e}get popupEnabled(){return this.viewModel.popupEnabled}set popupEnabled(e){this.viewModel.popupEnabled=e}get popupTemplate(){return this.viewModel.popupTemplate}set popupTemplate(e){this.viewModel.popupTemplate=e}get portal(){return this.viewModel?.portal}set portal(e){this.viewModel&&(this.viewModel.portal=e)}get resultGraphic(){return this.viewModel.resultGraphic}set resultGraphic(e){this.viewModel.resultGraphic=e}get resultGraphicEnabled(){return this.viewModel.resultGraphicEnabled}set resultGraphicEnabled(e){this.viewModel.resultGraphicEnabled=e}get results(){return this.viewModel.results}get searchAllEnabled(){return this.viewModel.searchAllEnabled}set searchAllEnabled(e){this.viewModel.searchAllEnabled=e}get searchTerm(){return this.viewModel.searchTerm}set searchTerm(e){this.viewModel.searchTerm=e}get selectedResult(){return this.viewModel.selectedResult}get sources(){return this.viewModel.sources}set sources(e){this.viewModel.sources=e}get suggestions(){return this.viewModel.suggestions}get suggestionsEnabled(){return this.viewModel.suggestionsEnabled}set suggestionsEnabled(e){this.viewModel.suggestionsEnabled=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}clear(){this._locateFailed=!1,this.viewModel.clear()}focus(){this._handleFocus(),this._emitFocus()}blur(){this._autocompleteNode?.blur(),this._emitBlur()}async search(e){this._cancelQueries();const t=new AbortController,{signal:s}=t;this._searchController=t;try{const o=await this.viewModel.search(e,{signal:s});if(this._searchController!==t)return;return o?.numResults||(this._showNoResults=!0,this.activeMenu="suggestion"),this._searchController=null,o}catch(o){if(this._searchController!==t)return;return void(this._searchController=null)}}async suggest(e){this._cancelSuggest();const t=new AbortController,{signal:s}=t;this._suggestController=t;try{const o=await this.viewModel.suggest(e,null,{signal:s});if(this._suggestController!==t)return;return this._suggestController=null,o?.numResults&&(this.activeMenu="suggestion",this._scrollToTopSuggestion()),o}catch(o){return this._suggestController!==t||(this._suggestController=null),null}}render(){return b("div",{class:this.classes(g.base,w.widget)},b("div",{class:g.container},this._renderSourcesMenu(),this._renderForm()))}_handleInputKeydown(e){"Tab"===e.key&&this._cancelSuggest()}_emitFocus(){this.emit("search-focus")}_emitBlur(){this.emit("search-blur")}async _handleFocus(){this._focusAbortController?.abort(),this._focusAbortController=new AbortController;const e=this._focusAbortController.signal;await l(u(e)),this._autocompleteNode?.setFocus()}_renderSourcesMenu(){const{messages:e,_isDisabled:t,_effectiveActiveMenu:s}=this,{allSources:o,searchAllEnabled:r}=this.viewModel;return o.length>1?b("calcite-dropdown",{bind:this,class:g.dropdown,disabled:t,open:"source"===s,overlayPositioning:"fixed",onCalciteDropdownClose:this._handleSourceClose,onCalciteDropdownOpen:this._handleSourceOpen,onCalciteDropdownSelect:this._handleSourceSelect},b("calcite-button",{appearance:"outline-fill",iconStart:"caret-down",kind:"neutral",label:e.searchIn,slot:"trigger"}),b("calcite-dropdown-group",{groupTitle:e.searchIn},r?this._renderSource(v.ALL_INDEX):null,o.map((e,t)=>this._renderSource(t)).toArray())):null}_renderUseCurrentLocation(){const{_currentLocationValue:e}=this;return b("calcite-autocomplete-item",{heading:this.messages.useCurrentLocation,iconStart:"gps-on",key:e,value:e})}_handleAutocompleteCreate(e){this._autocompleteNode=e}_handleCalciteAutocompleteTextInput(e){const t=e.target.inputValue;t!==this.viewModel.searchTerm&&(this.viewModel.searchTerm=t,t||this.clear(),this.suggest())}_handleAutocompleteOpen(){this.activeMenu="suggestion"}_handleAutocompleteClose(){"suggestion"===this.activeMenu&&(this.activeMenu="none")}_handleCalciteAutocompleteChange(e){const t=e.target.value;if(t===this._currentLocationValue)return void this._useCurrentLocation();const s=JSON.parse(t),o=this.viewModel.suggestions?.find(({sourceIndex:e})=>e===s.sourceIndex)?.results?.find(({key:e})=>`${e}`==`${s.key}`);o&&this.search(o)}_renderAutocomplete(){const{_effectiveActiveMenu:e,messages:t,_isDisabled:s}=this,{maxInputLength:o,placeholder:r,searchTerm:i,state:l}=this.viewModel,n=this.label??t.searchButtonTitle??"";return b("calcite-autocomplete",{afterCreate:this._handleAutocompleteCreate,autocomplete:"off",bind:this,class:g.autocomplete,disabled:s,icon:this.icon||!1,inputValue:i,label:n,loading:"searching"===l,maxLength:o,name:this.id,onblur:this._emitBlur,onfocus:this._emitFocus,onkeydown:this._handleInputKeydown,open:"suggestion"===e,overlayPositioning:"fixed",placeholder:r,title:i?"":r,onCalciteAutocompleteChange:this._handleCalciteAutocompleteChange,onCalciteAutocompleteClose:this._handleAutocompleteClose,onCalciteAutocompleteOpen:this._handleAutocompleteOpen,onCalciteAutocompleteTextChange:this._handleCalciteAutocompleteTextInput,onCalciteAutocompleteTextInput:this._handleCalciteAutocompleteTextInput},this._renderSuggestions(),this._renderNotices())}_renderForm(){return b("form",{bind:this,class:g.form,disabled:this._isDisabled,key:g.form,onsubmit:this._formSubmit,role:"search"},this._renderAutocomplete(),b("button",{class:g.submitButton,type:"submit"},this.label??this.messages.searchButtonTitle??""))}_renderSuggestGroup(e){return e.results?.map(e=>this._renderSuggestion(e))}_renderSuggestions(){const{suggestions:e}=this.viewModel;return this._showNoResults?null:this._showCurrentLocation?this._renderUseCurrentLocation():e?.map(e=>this._renderSuggestResults(e))}_renderSuggestResults(e){const{allSources:t,activeSourceIndex:s}=this.viewModel,{sourceIndex:o}=e,r=e.results?.length,i=t.length>1&&s===v.ALL_INDEX,l=this._getSourceName(o);return r&&i?b("calcite-autocomplete-item-group",{heading:l,key:`suggestion-group-${l}-${o}`},this._renderSuggestGroup(e)):this._renderSuggestGroup(e)}_renderSuggestion({key:e,sourceIndex:t,text:s}){const o={key:e,sourceIndex:t};return b("calcite-autocomplete-item",{heading:s??this.messages.untitledResult,key:`suggestion_${e}`,value:JSON.stringify(o)})}_renderSource(e){const t=this._getSourceName(e);return b("calcite-dropdown-item",{"data-source-index":`${e}`,key:`source-${t}-${e}`,selected:e===this.viewModel.activeSourceIndex},t)}_renderNoResultsWarning(e){const{messages:t}=this,s=e?y(t.noResultsFoundForValue,{value:`"${e}"`}):t.noResultsFound;return b("calcite-notice",{icon:"exclamation-mark-triangle",key:"no-results-warning",kind:"warning",open:!0,slot:"content-bottom"},b("div",{slot:"title"},t.noResults),b("div",{slot:"message"},s))}_renderLocateError(){return b("calcite-notice",{icon:"exclamation-mark-circle",key:"locate-warning",kind:"danger",open:!0,slot:"content-bottom"},b("div",{slot:"message"},this.messages.locateError))}_renderNotices(){return this._locateFailed?this._renderLocateError():this._showNoResults?this._renderNoResultsWarning(this._lastSearchTerm??this.viewModel.searchTerm):null}async _useCurrentLocation(){this._cancelQueries();const e=new AbortController,{signal:t}=e;this._searchController=e;try{await this.viewModel.searchNearby({signal:t})}catch(s){n(s)||(this._locateFailed=!0,this.activeMenu="suggestion")}finally{this._searchController=null}}_handleSourceOpen(){this.activeMenu="source"}_handleSourceClose(){"source"===this.activeMenu&&(this.activeMenu="none")}_handleSourceSelect(e){const t=e.target.selectedItems[0].getAttribute("data-source-index");t&&(this.viewModel.activeSourceIndex=parseInt(t,10))}_cancelSuggest(){this.activeMenu="none",this._locateFailed=!1,this._showNoResults=!1,this._suggestController=i(this._suggestController)}_cancelQueries(){this._cancelSuggest(),this._searchController=i(this._searchController)}_scrollToTopSuggestion(){this._autocompleteNode?.scrollContentTo({top:0})}_formSubmit(e){e.preventDefault(),this.activeMenu="none",this._lastSearchTerm=this.searchTerm,this.searchTerm&&this.search()}_getSourceName(e){const{messages:t}=this,{allSources:s}=this.viewModel,o=s.at(e);return e===v.ALL_INDEX?t.all:o?.name||t.untitledSource}};e([h()],C.prototype,"_locateFailed",void 0),e([h()],C.prototype,"_showNoResults",void 0),e([h()],C.prototype,"_isDisabled",null),e([h()],C.prototype,"_showCurrentLocation",null),e([h()],C.prototype,"_effectiveActiveMenu",null),e([h()],C.prototype,"activeMenu",null),e([h({readOnly:!0})],C.prototype,"activeSource",null),e([h()],C.prototype,"activeSourceIndex",null),e([h()],C.prototype,"allPlaceholder",null),e([h({readOnly:!0})],C.prototype,"allSources",null),e([h()],C.prototype,"autoNavigate",null),e([h()],C.prototype,"autoSelect",null),e([h({readOnly:!0})],C.prototype,"defaultSources",null),e([h()],C.prototype,"disabled",void 0),e([h()],C.prototype,"goToOverride",null),e([h()],C.prototype,"icon",null),e([h()],C.prototype,"includeDefaultSources",null),e([h()],C.prototype,"label",null),e([h()],C.prototype,"locationEnabled",null),e([h()],C.prototype,"maxResults",null),e([h()],C.prototype,"maxSuggestions",null),e([h(),S("esri/widgets/Search/t9n/Search")],C.prototype,"messages",void 0),e([h(),S("esri/t9n/common")],C.prototype,"messagesCommon",void 0),e([h()],C.prototype,"minSuggestCharacters",null),e([h()],C.prototype,"popupEnabled",null),e([h()],C.prototype,"popupTemplate",null),e([h()],C.prototype,"portal",null),e([h()],C.prototype,"resultGraphic",null),e([h()],C.prototype,"resultGraphicEnabled",null),e([h({readOnly:!0})],C.prototype,"results",null),e([h()],C.prototype,"searchAllEnabled",null),e([h()],C.prototype,"searchTerm",null),e([h({readOnly:!0})],C.prototype,"selectedResult",null),e([h()],C.prototype,"sources",null),e([h({readOnly:!0})],C.prototype,"suggestions",null),e([h()],C.prototype,"suggestionsEnabled",null),e([h()],C.prototype,"view",null),e([M(["search-complete","search-clear","search-start","select-result","suggest-start","suggest-complete"]),h({type:v})],C.prototype,"viewModel",void 0),C=e([d("esri.widgets.Search")],C);const f=C;export{f as default};
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[6699,7136],{4197:(e,t,i)=>{i.d(t,{Vj:()=>u,cj:()=>l,jh:()=>o,l5:()=>a,xm:()=>s});var r=i(34275),n=i(9093);function o(e){return e<=r.y9?new Array(e).fill(0):new Float64Array(e)}function s(e){return((0,r.iu)(e)?e.byteLength/8:e.length)<=r.y9?Array.from(e):new Float64Array(e)}function a(e,t,i){return Array.isArray(e)?e.slice(t,t+i):e.subarray(t,t+i)}function l(e){return[...e]}function u(e){const t=(0,n.vt)();for(let i=0;i<16;++i)t[i]=e[i];return t}},6797:(e,t,i)=>{i.d(t,{Mj:()=>d,Ui:()=>g,w2:()=>m});var r=i(65008),n=i(7762),o=i(88620);const s=new Set(["esri.Color","esri.portal.Portal","esri.symbols.support.Symbol3DAnchorPosition2D","esri.symbols.support.Symbol3DAnchorPosition3D"]);function a(e){return e instanceof r.A}function l(e){return e instanceof n.A?Object.keys(e.items):a(e)?(0,o.oY)(e).keys():e?Object.keys(e):[]}function u(e,t){return e instanceof n.A?e.items[t]:e[t]}function c(e){return e?e.declaredClass:null}function p(e,t){const i=e.diff;if(i&&"function"==typeof i)return i(e,t);const r=l(e),n=l(t);if(0===r.length&&0===n.length)return;if(!r.length||!n.length||function(e,t){return!(!Array.isArray(e)||!Array.isArray(t))&&e.length!==t.length}(e,t))return{type:"complete",oldValue:e,newValue:t};const o=n.filter(e=>!r.includes(e)),d=r.filter(e=>!n.includes(e)),m=r.filter(i=>n.includes(i)&&u(e,i)!==u(t,i)).concat(o,d).sort(),g=c(e);if(g&&s.has(g)&&m.length)return{type:"complete",oldValue:e,newValue:t};let y;const h=a(e)&&a(t);for(const r of m){const n=u(e,r),o=u(t,r);let s;if((h||"function"!=typeof n&&"function"!=typeof o)&&n!==o&&(null!=n||null!=o)){if(i&&i[r]&&"function"==typeof i[r])s=i[r]?.(n,o);else if(n instanceof Date&&o instanceof Date){if(n.getTime()===o.getTime())continue;s={type:"complete",oldValue:n,newValue:o}}else s="object"==typeof n&&"object"==typeof o&&c(n)===c(o)?p(n,o):{type:"complete",oldValue:n,newValue:o};null!=s&&(null!=y?y.diff[r]=s:y={type:"partial",diff:{[r]:s}})}}return y}function d(e,t){return function(e,t){if(null==e)return!1;const i=t.split(".");let r=e;for(const e of i){if("complete"===r.type)return!0;if("partial"!==r.type)return!1;{const t=r.diff[e];if(!t)return!1;r=t}}return!0}(e,t)}function m(e,t){if(!e)return!1;if("partial"===e.type){const i=Object.keys(e.diff);return 1===i.length&&i[0]===t}return!1}function g(e,t){if("function"!=typeof e&&"function"!=typeof t&&(null!=e||null!=t))return null==e||null==t||"object"==typeof e&&"object"==typeof t&&c(e)!==c(t)?{type:"complete",oldValue:e,newValue:t}:p(e,t)}},8303:(e,t,i)=>{i.d(t,{A:()=>b});var r=i(31635),n=i(92602),o=i(70333),s=i(78888),a=i(60999),l=i(49186),u=i(53966),c=i(97768),p=i(74887),d=i(84952),m=i(10107),g=(i(44208),i(87811),i(36005)),y=i(40608),h=i(43937),f=i(77548),M=i(20655),w=i(80812),I=i(41318),A=i(10407);const b=e=>{const t=e;let b=class extends t{constructor(){super(...arguments),this.resourceReferences={portalItem:null,paths:[]},this.userHasEditingPrivileges=!0,this.userHasFullEditingPrivileges=!1,this.userHasUpdateItemPrivileges=!1}destroy(){this.portalItem=(0,c.pR)(this.portalItem),this.resourceReferences.portalItem=null,this.resourceReferences.paths.length=0}set portalItem(e){e!==this._get("portalItem")&&(this.removeOrigin("portal-item"),this._set("portalItem",e))}readPortalItem(e,t,i){if(t.itemId)return new w.default({id:t.itemId,portal:i?.portal})}writePortalItem(e,t){e?.id&&(t.itemId=e.id)}async loadFromPortal(e,t){if(this.portalItem?.id)try{const{load:r}=await i.e(1204).then(i.bind(i,41204));return(0,p.Te)(t),await r({instance:this,supportedTypes:e.supportedTypes,validateItem:e.validateItem,supportsData:e.supportsData,layerModuleTypeMap:e.layerModuleTypeMap,populateGroupLayer:e.populateGroupLayer},t)}catch(e){throw(0,p.zf)(e)||u.A.getLogger(this).warn(`Failed to load layer (${this.title}, ${this.id}) portal item (${this.portalItem.id})\n ${e}`),e}}async finishLoadEditablePortalLayer(e){this._set("userHasEditingPrivileges",await this._fetchUserHasEditingPrivileges(e).catch(e=>((0,p.QP)(e),!0)))}async setUserPrivileges(e,t){if(!n.A.userPrivilegesApplied)return this.finishLoadEditablePortalLayer(t);if(this.url)try{const{features:{edit:i,fullEdit:r},content:{updateItem:n}}=await this._fetchUserPrivileges(e,t);this._set("userHasEditingPrivileges",i),this._set("userHasFullEditingPrivileges",r),this._set("userHasUpdateItemPrivileges",n)}catch(e){(0,p.QP)(e)}}async _fetchUserPrivileges(e,t){let i=this.portalItem;if(!e||!i||!i.loaded||i.sourceUrl)return this._fetchFallbackUserPrivileges(t);const r=!o.id?.findCredential(this.url),n=e===i.id;if(n&&i.portal.user)return this._getUserPrivileges(i,r);let s,a;if(n)s=i.portal.url;else try{s=await(0,f.wI)(this.url,t)}catch(e){(0,p.QP)(e)}if(!s||!(0,d.b8)(s,i.portal.url))return this._fetchFallbackUserPrivileges(t);try{const e=null!=t?t.signal:null;a=await(o.id?.getCredential(`${s}/sharing`,{prompt:!1,signal:e}))}catch(e){(0,p.QP)(e)}const l=!0,u=!1,c=!1;if(!a)return{features:{edit:l,fullEdit:u},content:{updateItem:c}};try{if(n?await i.reload():(i=new w.default({id:e,portal:{url:s}}),await i.load(t)),i.portal.user)return this._getUserPrivileges(i,r)}catch(e){(0,p.QP)(e)}return{features:{edit:l,fullEdit:u},content:{updateItem:c}}}_getUserPrivileges(e,t){const i=(0,A.It)(e);return t&&(i.features.edit=!0),i}async _fetchFallbackUserPrivileges(e){let t=!0;try{t=await this._fetchUserHasEditingPrivileges(e)}catch(e){(0,p.QP)(e)}return{features:{edit:t,fullEdit:!1},content:{updateItem:!1}}}async _fetchUserHasEditingPrivileges(e){const t=this.url?o.id?.findCredential(this.url):null;if(!t)return!0;const i=C.credential===t?C.user:await this._fetchEditingUser(e);return C.credential=t,C.user=i,null==i?.privileges||i.privileges.includes("features:user:edit")}async _fetchEditingUser(e){const t=this.portalItem?.portal?.user;if(t)return t;const i=o.id?.findServerInfo(this.url??"");if(!i?.owningSystemUrl)return null;const r=`${i.owningSystemUrl}/sharing/rest`,n=M.A.getDefault();if(n&&n.loaded&&(0,d.S8)(n.restUrl)===(0,d.S8)(r))return n.user;const l=`${r}/community/self`,u=null!=e?e.signal:null,c=await(0,a.Ke)((0,s.A)(l,{authMode:"no-prompt",query:{f:"json"},signal:u}));return c.ok?I.A.fromJSON(c.value.data):null}read(e,t){t&&(t.layer=this),super.read(e,t)}write(e,t){const i=t?.portal,r=this.portalItem?.id&&(this.portalItem.portal||M.A.getDefault());return i&&r&&!(0,d.ut)(r.restUrl,i.restUrl)?(t.messages&&t.messages.push(new l.A("layer:cross-portal",`The layer '${this.title} (${this.id})' cannot be persisted because it refers to an item on a different portal than the one being saved to. To save, set layer.portalItem to null or save to the same portal as the item associated with the layer`,{layer:this})),null):super.write(e,{...t,layer:this})}};return(0,r.Cg)([(0,m.MZ)({type:w.default})],b.prototype,"portalItem",null),(0,r.Cg)([(0,g.w)("web-document","portalItem",["itemId"])],b.prototype,"readPortalItem",null),(0,r.Cg)([(0,h.K)("web-document","portalItem",{itemId:{type:String}})],b.prototype,"writePortalItem",null),(0,r.Cg)([(0,m.MZ)({clonable:!1})],b.prototype,"resourceReferences",void 0),(0,r.Cg)([(0,m.MZ)({type:Boolean,readOnly:!0})],b.prototype,"userHasEditingPrivileges",void 0),(0,r.Cg)([(0,m.MZ)({type:Boolean,readOnly:!0})],b.prototype,"userHasFullEditingPrivileges",void 0),(0,r.Cg)([(0,m.MZ)({type:Boolean,readOnly:!0})],b.prototype,"userHasUpdateItemPrivileges",void 0),b=(0,r.Cg)([(0,y.$)("esri.layers.mixins.PortalLayer")],b),b},C={credential:null,user:null}},9093:(e,t,i)=>{function r(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function n(e){return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]}i.d(t,{o8:()=>n,vt:()=>r,zK:()=>o});const o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:o,clone:n,create:r,fromValues:function(e,t,i,r,n,o,s,a,l,u,c,p,d,m,g,y){return[e,t,i,r,n,o,s,a,l,u,c,p,d,m,g,y]}},Symbol.toStringTag,{value:"Module"}))},10184:(e,t,i)=>{i.d(t,{A:()=>p});var r=i(31635),n=i(69540),o=i(25482),s=i(88930),a=i(10107),l=(i(44208),i(53966),i(87811),i(93223)),u=i(40608),c=i(73133);let p=class extends((0,n.OU)(o.o)){constructor(e){super(e),this.unit="milliseconds",this.value=0}toMilliseconds(){return(0,s.t)(this.value,this.unit,"milliseconds")}};(0,r.Cg)([(0,l.e)(c.j,{nonNullable:!0})],p.prototype,"unit",void 0),(0,r.Cg)([(0,a.MZ)({type:Number,json:{write:!0},nonNullable:!0})],p.prototype,"value",void 0),p=(0,r.Cg)([(0,u.$)("esri.time.TimeInterval")],p)},10407:(e,t,i)=>{i.d(t,{It:()=>m,LG:()=>s,OM:()=>u,Sm:()=>c,Y:()=>a,bK:()=>l,mm:()=>d,sQ:()=>p});var r=i(98988),n=i(16930),o=i(28735);function s(e,t){if(!a(e,t)){const i=e.typeKeywords;i?i.push(t):e.typeKeywords=[t]}}function a(e,t){return!!e.typeKeywords?.includes(t)}function l(e){return a(e,d.HOSTED_SERVICE)}function u(e,t){const i=e.typeKeywords;if(i){const e=i.indexOf(t);e>-1&&i.splice(e,1)}}function c(e,t,i){i?s(e,t):u(e,t)}async function p(e){const t=e.clone().normalize();let i;if(t.length>1)for(const e of t)i?e.width>i.width&&(i=e):i=e;else i=t[0];return async function(e){const t=e.spatialReference;if(t.isWGS84)return e.clone();if(t.isWebMercator)return(0,o.ci)(e);const i=n.A.WGS84;return await(0,r.initializeProjection)(t,i),(0,r.project)(e,i)}(i)}const d={CHARTS:"Charts",DYNAMIC:"Dynamic",DEVELOPER_BASEMAP:"DeveloperBasemap",GROUP_LAYER_MAP:"Map",HOSTED_SERVICE:"Hosted Service",JSAPI:"ArcGIS API for JavaScript",LOCAL_SCENE:"ViewingMode-Local",METADATA:"Metadata",MULTI_LAYER:"Multilayer",ORIENTED_IMAGERY_LAYER:"OrientedImageryLayer",SINGLE_LAYER:"Singlelayer",SUBTYPE_GROUP_LAYER:"SubtypeGroupLayer",SUBTYPE_GROUP_TABLE:"SubtypeGroupTable",TABLE:"Table",TILED_IMAGERY:"Tiled Imagery"};function m(e){const{portal:t,isOrgItem:i,itemControl:r}=e,n=t.user?.privileges;let o=!n||n.includes("features:user:edit"),s=!!i&&!!n?.includes("features:user:fullEdit");const a="update"===r||"admin"===r;return a?s=o=!0:s&&(o=!0),{features:{edit:o,fullEdit:s},content:{updateItem:a}}}},12711:(e,t,i)=>{i.d(t,{$P:()=>B,I8:()=>A,Mm:()=>v,PD:()=>b,ci:()=>j,fp:()=>C,m7:()=>D,w6:()=>S});var r=i(68197),n=(i(83047),i(20437)),o=i(76353),s=(i(86162),i(67730),i(80498)),a=(i(46981),i(36280)),l=i(93618),u=i(18031),c=i(30943),p=(i(88542),i(67369)),d=i(88178),m=i(94833),g=(i(2024),i(48940)),y=(i(72500),i(9760),i(84892),i(1626)),h=i(94985);const f=.25,M=y.A.fromJSON({type:"multipart",colorRamps:[{fromColor:[0,0,255],toColor:[0,255,255]},{fromColor:[0,255,255],toColor:[255,255,0]},{fromColor:[255,255,0],toColor:[255,0,0]}]}),w=y.A.fromJSON(p.vj[0]),I=new Set(["scientific","standard-time","vector-uv","vector-magdir","vector-u","vector-v","vector-magnitude","vector-direction"]);function A(e){return e.presetRenderers?.find(({method:t,value:i})=>"raster-function-template"===t?i===e.rasterFunctionName:"variable"===t&&i===e.variableName)}function b(e,t){const{attributeTable:i,colormap:n}=e;if((0,d.rd)(e)){const t=function(e){if(!(0,d.rd)(e))return null;let t;if(null!=e.statistics&&e.statistics.length&&("vector-magdir"===e.dataType||"vector-uv"===e.dataType)){const{minMagnitude:i,maxMagnitude:r}=function(e,t){let i,r;if("vector-magdir"===e)i=t[0].min,r=t[0].max;else{const e=t[0].min,n=t[0].max,o=t[1].min,s=t[1].max;i=0,r=Math.max(Math.abs(e),Math.abs(o),Math.abs(n),Math.abs(s))}return{minMagnitude:i,maxMagnitude:r}}(e.dataType,e.statistics);t=[new g.A({field:"Magnitude",minSize:10,maxSize:40,minDataValue:i,maxDataValue:r})]}const i=null!=e.multidimensionalInfo?k.get(e.multidimensionalInfo.variables[0].unit):void 0,r=new u.A({visualVariables:t,inputUnit:i,rotationType:"geographic"});return r.visualVariables=[...r.sizeVariables,...r.rotationVariables],r}(e);if(null!=t)return t}if(t?.rasterFunctionColorRamp){const i=T(e,t);return i.colorRamp=t.rasterFunctionColorRamp,i}if(null!=n){const t=function(e){if(!(0,d.FA)(e))return null;let t;const{attributeTable:i,colormap:r}=e;if(null!=i){const e=Z(i,"value"),r=L(i,null,!0);"string"===r.type&&(t={},i.features.forEach(i=>{const n=i.attributes;t[n[e.name]]=r?n[r.name]:n[e.name]}))}return s.A.createFromColormap(r,t)}(e);if(null!=t)return t}if(null!=i){const t=function(e,t){if(!(0,d.hu)(e,t))return null;const{attributeTable:i,statistics:n}=e,o=L(i,t),s=Z(i,"red"),a=Z(i,"green"),u=Z(i,"blue"),g=new c.A,y=[],f=new Set,M=!!(s&&a&&u);if(null!=i)i.features.forEach(e=>{const t=e.attributes[o.name];if(!f.has(e.attributes[o.name])&&null!=t){f.add(t);const n=M&&("single"===s.type||"double"===s.type)&&("single"===a.type||"double"===a.type)&&("single"===u.type||"double"===u.type)&&!i.features.some(e=>e.attributes[s.name]>1||e.attributes[a.name]>1||e.attributes[u.name]>1),l=n?255:1;y.push(new m.A({value:e.attributes[o.name],label:e.attributes[o.name]+"",symbol:new h.A({style:"solid",outline:null,color:new r.A(M?[e.attributes[s.name]*l,e.attributes[a.name]*l,e.attributes[u.name]*l,1]:[0,0,0,0])})}))}});else if(n?.[0])for(let e=n[0].min;e<=n[0].max;e++)y.push(new m.A({value:e,label:e.toString(),symbol:new h.A({style:"solid",outline:null,color:new r.A([0,0,0,0])})}));if(y.sort((e,t)=>e.value&&"string"==typeof e.value.valueOf()?0:e.value>t.value?1:-1),!M){const e=(0,p.R8)(w,{numColors:y.length});y.forEach((t,i)=>t.symbol.color=new r.A(e[i].slice(1,4))),g.colorRamp=w}return new l.A({field:o.name,uniqueValueInfos:y,authoringInfo:g})}(e);if(null!=t)return t}return T(e,t)}function C(e,t=!1){const i=["raster-stretch"];return(0,d.FA)(e,t)&&i.push("raster-colormap"),(0,d.hu)(e)&&i.push("unique-value"),(0,d.xX)(e,t)&&i.push("class-breaks"),(0,d.iL)(e)&&i.push("raster-shaded-relief"),(0,d.rd)(e)&&i.push("vector-field"),(0,d.QJ)(e)&&i.push("flow"),i}function v(e){return(0,o.q)(e)&&"Colormap"===e.rasterFunction.functionName?e.rasterFunction.colorRamp:void 0}function S(e,t,i){const r=i?.toLowerCase().replace("bicubic","cubic"),n=["nearest","bilinear","cubic","majority"].find(e=>e===r);return"Map"===t?n??"bilinear":"standard-time"===e.dataType?n??"nearest":"thematic"===e.dataType||e.attributeTable||e.colormap?"nearest"===n||"majority"===n?n:"nearest":n??"bilinear"}function T(e,t){e=D(e,t?.variableName);const{bandCount:i}=e;let{bandIds:r,stretchType:n}=t||{};r?.some(e=>e>=i)&&(r=null);let o=e.statistics,s=e.histograms;i>1?(r=r?.length?r:j(e),o=null==o?null:r?.map(e=>o[e]),s=null==s?null:r?.map(e=>s[e])):r=[0],null==n&&(n=function(e){let t="percent-clip";const{pixelType:i,dataType:r,histograms:n,statistics:o,multidimensionalInfo:s}=e,a=I.has(r)||"generic"===r&&null!=s;return"u8"!==i||"processed"!==r&&null!=n&&null!=o?"u8"===i||"elevation"===r||a?t="min-max":null!=n?t="percent-clip":null!=o&&(t="min-max"):t="none",t}(e)),t?.includeStatisticsInStretch&&("percent-clip"===n||"histogram-equalization"===n)&&e.statistics?.length&&(n="min-max");let l=!1;switch(n){case"none":l=!1;break;case"percent-clip":l=!s?.length;break;default:l=!o?.length}const{dataType:u}=e,c=1===r?.length&&I.has(u)?M:null,p=new a.A({stretchType:n,dynamicRangeAdjustment:l,colorRamp:c,outputMin:0,outputMax:255,gamma:1===r?.length?[1]:[1,1,1],useGamma:!1});return"percent-clip"===n?p.maxPercent=p.minPercent=f:"standard-deviation"===n&&(p.numberOfStandardDeviations=2),l||null==e.multidimensionalInfo&&!t?.includeStatisticsInStretch||("percent-clip"===n?p.histograms=s:"min-max"!==n&&"standard-deviation"!==n||(p.customStatistics=o?.map(e=>({...e})))),p}function D(e,t){const{multidimensionalInfo:i}=e;if(!t||!i)return e;const r=i.variables.find(e=>e.name===t);if(!r)return e;if(e=e.clone(),r){const{statistics:t,histograms:i}=r;t?.length&&(e.statistics=t.map(e=>({min:e.min,max:e.max,avg:e.avg,stddev:e.stddev}))),i?.length&&(e.histograms=i)}return e}function j(e){const t=e.bandCount;if(1===t)return null;if(2===t)return[0];const{bandInfos:i}=e;let r;if(i.length===t){const{red:e,green:t,blue:n,nir:o}=function(e){const t={};for(let i=0;i<e.length;i++){const r=e[i].name.toLowerCase();"red"===r?t.red=i:"green"===r?t.green=i:"blue"===r?t.blue=i:"nearinfrared"!==r&&"nearinfrared_1"!==r&&"nir"!==r||(t.nir=i)}if(null==t.blue||null==t.green||null==t.red||null==t.nir){const i=N(e);if(t.blue??=x(i,480),t.green??=x(i,550),t.red??=x(i,660),null==t.nir){const r=N(e,800);t.nir=x(r,810)??x(i,810)}}return t}(i);null!=e&&null!=t&&null!=n?r=[e,t,n]:null!=o&&null!=e&&null!=t&&(r=[o,e,t])}return!r&&t>=3&&(r=[0,1,2]),r}function x(e,t,i=60){let r,n=i;for(const i of e){const e=Math.abs(i.wavelength-t);e<=n&&(n=e,r=i.index)}return r}function N(e,t){return e.map(({name:e,minWavelength:i,maxWavelength:r},n)=>/thermal/i.test(e)||/pan/i.test(e)||null!=t&&null!=r&&r<t?null:{wavelength:null!=i&&null!=r?(i+r)/2:i??r??0,index:n}).filter(e=>null!=e)}function L(e,t,i){let r;return null!=e?(r=t?e.fields.find(e=>t.toLowerCase()===e.name.toLowerCase()):function(e){let t;for(let i=0;i<e.length;i++){const r=e[i].name.toLowerCase();if("string"===e[i].type){if(r.startsWith("class")){t=e[i];break}null==t&&(r.endsWith("name")||r.endsWith("type"))&&(t=e[i])}}return t}(e.fields),r||(i||(r=e.fields.find(e=>"string"===e.type)),r||(r=Z(e,"value")))):r=new n.A({name:"value"}),r}function Z(e,t){return null==e?null:e.fields.find(e=>e.name.toLowerCase()===t)}const k=new Map([["m/s","meter-per-second"],["km/h","kilometer-per-hour"],["knots","knots"],["ft/s","feet-per-second"],["mph","mile-per-hour"]]);function R(e){return{color:e.symbolLayers[0].material?.color,type:"esriSFS",style:"esriSFSSolid"}}function B(e){if("uniqueValue"===e.type){const t=e.uniqueValueInfos,i=t?.[0].symbol;return i?.symbolLayers?.length&&(e.uniqueValueInfos=t?.map(e=>({value:e.value,label:e.label,symbol:e.symbol?R(e.symbol):null}))),e}if("classBreaks"===e.type){const t=e.classBreakInfos,i=t[0].symbol;return i?.symbolLayers?.length&&(e.classBreakInfos=t.map(e=>({classMinValue:e.classMinValue,classMaxValue:e.classMaxValue,label:e.label,symbol:e.symbol?R(e.symbol):null}))),e}return e}},17136:(e,t,i)=>{i.d(t,{Y_:()=>D,O7:()=>S,el:()=>v});var r=i(92602),n=i(69052),o=i(49186),s=i(53966),a=i(39829),l=i(82799),u=i(16930),c=i(80754),p=i(21325),d=i(28735),m=i(78888),g=i(65864),y=i(2272),h=i(84952),f=i(92300);const M=()=>s.A.getLogger("esri.geometry.support.normalizeUtils");function w(e){return"polygon"===e[0].type}function I(e){return"polyline"===e[0].type}function A(e,t,i){if(t){const t=function(e,t){if(!(e instanceof l.A||e instanceof a.A)){const e="straightLineDensify: the input geometry is neither polyline nor polygon";throw M().error(e),new o.A("internal:geometry",e)}const i=(0,c.r8)(e),r=[];for(const e of i){const i=[];r.push(i),i.push([e[0][0],e[0][1]]);for(let r=0;r<e.length-1;r++){const n=e[r][0],o=e[r][1],s=e[r+1][0],a=e[r+1][1],l=Math.sqrt((s-n)*(s-n)+(a-o)*(a-o)),u=(a-o)/l,c=(s-n)/l,p=l/t;if(p>1){for(let e=1;e<=p-1;e++){const r=e*t,s=c*r+n,a=u*r+o;i.push([s,a])}const e=(l+Math.floor(p-1)*t)/2,r=c*e+n,s=u*e+o;i.push([r,s])}i.push([s,a])}}return function(e){return"polygon"===e.type}(e)?new a.A({rings:r,spatialReference:e.spatialReference}):new l.A({paths:r,spatialReference:e.spatialReference})}(e,1e6);e=(0,d.ci)(t,!0)}return i&&(e=(0,c.kS)(e,i)),e}function b(e,t,i){if(Array.isArray(e)){const r=e[0];if(r>t){const i=(0,c.kd)(r,t);e[0]=r+i*(-2*t)}else if(r<i){const t=(0,c.kd)(r,i);e[0]=r+t*(-2*i)}}else{const r=e.x;if(r>t){const i=(0,c.kd)(r,t);e=e.clone().offset(i*(-2*t),0)}else if(r<i){const t=(0,c.kd)(r,i);e=e.clone().offset(t*(-2*i),0)}}return e}function C(e,t){let i=-1;for(let r=0;r<t.cutIndexes.length;r++){const n=t.cutIndexes[r],o=t.geometries[r],s=(0,c.r8)(o);for(let e=0;e<s.length;e++){const t=s[e];t.some(i=>{if(i[0]<180)return!0;{let i=0;for(let e=0;e<t.length;e++){const r=t[e][0];i=r>i?r:i}i=Number(i.toFixed(9));const r=-360*(0,c.kd)(i,180);for(let i=0;i<t.length;i++){const t=o.getPoint(e,i);o.setPoint(e,i,t.clone().offset(r,0))}return!0}})}if(n===i){if(w(e))for(const t of(0,c.r8)(o))e[n]=e[n].addRing(t);else if(I(e))for(const t of(0,c.r8)(o))e[n]=e[n].addPath(t)}else i=n,e[n]=o}return e}async function v(e,t,i){if(!Array.isArray(e))return v([e],t);t&&"string"!=typeof t&&M().warn("normalizeCentralMeridian()","The url object is deprecated, use the url string instead");const n="string"==typeof t?t:t?.url??r.A.geometryServiceUrl;let o,s,u,w,I,S,T,D,j=0;const x=[],N=[];for(const t of e)if(null!=t)if(o||(o=t.spatialReference,s=(0,p.Vp)(o),u=o.isWebMercator,S=u?102100:4326,w=c.j7[S].maxX,I=c.j7[S].minX,T=c.j7[S].plus180Line,D=c.j7[S].minus180Line),s)if("mesh"===t.type)N.push(t);else if("point"===t.type)N.push(b(t.clone(),w,I));else if("multipoint"===t.type){const e=t.clone();e.points=e.points.map(e=>b(e,w,I)),N.push(e)}else if("extent"===t.type){const e=t.clone()._normalize(!1,!1,s);N.push(e.rings?new a.A(e):e)}else if(t.extent){const e=t.extent,i=(0,c.kd)(e.xmin,I)*(2*w);let r=0===i?t.clone():(0,c.kS)(t.clone(),i);e.offset(i,0);let{xmin:n,xmax:o}=e;n=Number(n.toFixed(9)),o=Number(o.toFixed(9)),e.intersects(T)&&o!==w?(j=o>j?o:j,r=A(r,u),x.push(r),N.push("cut")):e.intersects(D)&&n!==I?(j=o*(2*w)>j?o*(2*w):j,r=A(r,u,360),x.push(r),N.push("cut")):N.push(r)}else N.push(t.clone());else N.push(t);else N.push(t);let L=(0,c.kd)(j,w),Z=-90;const k=L,R=new l.A;for(;L>0;){const e=360*L-180;R.addPath([[e,Z],[e,-1*Z]]),Z*=-1,L--}if(x.length>0&&k>0){const t=C(x,await async function(e,t,i,r){const n=(0,y.Dl)(e),o=t[0].spatialReference,s={...r,responseType:"json",query:{...n.query,f:"json",sr:(0,p.YX)(o),target:JSON.stringify({geometryType:(0,g.$B)(t[0]),geometries:t}),cutter:JSON.stringify(i)}},a=await(0,m.A)(n.path+"/cut",s),{cutIndexes:l,geometries:u=[]}=a.data;return{cutIndexes:l,geometries:u.map(e=>{const t=(0,g.rS)(e);return t.spatialReference=o,t})}}(n,x,R,i)),r=[],o=[];for(let i=0;i<N.length;i++){const n=N[i];if("cut"!==n)o.push(n);else{const n=t.shift(),s=e[i];null!=s&&"polygon"===s.type&&s.rings&&s.rings.length>1&&n.rings.length>=s.rings.length?(r.push(n),o.push("simplify")):o.push(u?(0,d.Gh)(n):n)}}if(!r.length)return o;const s=await async function(e,t,i){const r="string"==typeof e?(0,h.An)(e):e,n=t[0].spatialReference,o=(0,g.$B)(t[0]),s={...i,query:{...r.query,f:"json",sr:(0,p.YX)(n),geometries:JSON.stringify((0,f.X)(t))}},{data:a}=await(0,m.A)(r.path+"/simplify",s);return(0,f.V)(a.geometries,o,n)}(n,r,i),a=[];for(let e=0;e<o.length;e++){const t=o[e];"simplify"!==t?a.push(t):a.push(u?(0,d.Gh)(s.shift()):s.shift())}return a}const B=[];for(let e=0;e<N.length;e++){const t=N[e];if("cut"!==t)B.push(t);else{const e=x.shift();B.push(!0===u?(0,d.Gh)(e):e)}}return B}function S(e,t,i){const r=(0,p.Vp)(i);if(null==r)return e;const[n,o]=r.valid,s=2*o;let a=0,l=0;t>o?a=Math.ceil(Math.abs(t-o)/s):t<n&&(a=-Math.ceil(Math.abs(t-n)/s)),e>o?l=Math.ceil(Math.abs(e-o)/s):e<n&&(l=-Math.ceil(Math.abs(e-n)/s));let u=e+(a-l)*s;const c=u-t;return c>o?u-=s:c<n&&(u+=s),u}function T(e){const t=(0,p.Vp)(e);if(null==t)return null;const[i,r]=t.valid;return new n.hr(i,r)}const D=T(u.A.WGS84);T(u.A.WebMercator)},18031:(e,t,i)=>{i.d(t,{A:()=>N});var r,n=i(31635),o=i(68197),s=i(52106),a=i(66552),l=i(25482),u=i(4718),c=i(10107),p=(i(44208),i(53966),i(93223)),d=i(36005),m=i(40608),g=i(86738),y=i(17136),h=i(14636),f=i(86162),M=i(63988),w=i(88542),I=i(23461),A=i(48940),b=i(29266),C=i(58592),v=i(31593),S=i(53930),T=i(37531);const D=new Set(["esriMetersPerSecond","esriKilometersPerHour","esriKnots","esriFeetPerSecond","esriMilesPerHour"]),j=new a.J({beaufort_ft:"beaufort-ft",beaufort_km:"beaufort-km",beaufort_kn:"beaufort-kn",beaufort_m:"beaufort-m",beaufort_mi:"beaufort-mi",classified_arrow:"classified-arrow",ocean_current_kn:"ocean-current-kn",ocean_current_m:"ocean-current-m",simple_scalar:"simple-scalar",single_arrow:"single-arrow",wind_speed:"wind-barb"}),x=new a.J({flow_from:"flow-from",flow_to:"flow-to"});let N=r=class extends((0,M.h)(l.o)){constructor(e){super(e),this.attributeField="Magnitude",this.flowRepresentation="flow-from",this.rotationType="arithmetic",this.style="single-arrow",this.symbolTileSize=50,this.type="vector-field"}readInputUnit(e,t){return D.has(e)?h.MD.fromJSON(e):null}readOutputUnit(e,t){return D.has(e)?h.MD.fromJSON(e):null}get styleRenderer(){const e=this.style,t=this.attributeField,i=this._createStyleRenderer(e);return i.field=t,i}set visualVariables(e){super.visualVariables=e}get sizeVariables(){const e=[];if(this.visualVariables)for(const t of this.visualVariables)"size"===t.type&&e.push(t);if(0===e.length){const t=new A.A({field:"Magnitude",minSize:.2*this.symbolTileSize,maxSize:.8*this.symbolTileSize});this.visualVariables?this.visualVariables.push(t):this._set("visualVariables",[t]),e.push(t)}return e}get rotationVariables(){const e=[];if(this.visualVariables)for(const t of this.visualVariables)"rotation"===t.type&&e.push(t);if(0===e.length){const t=new I.A({field:"Direction",rotationType:this.rotationType});this.visualVariables?this.visualVariables.push(t):this._set("visualVariables",[t]),e.push(t)}return e}clone(){return new r({attributeField:this.attributeField,flowRepresentation:this.flowRepresentation,rotationType:this.rotationType,symbolTileSize:this.symbolTileSize,style:this.style,visualVariables:(0,u.o8)(this.visualVariables),inputUnit:this.inputUnit,outputUnit:this.outputUnit})}async getGraphicsFromPixelData(e,t=!1,i=[]){const r=new Array,n=(0,h.KL)(this.inputUnit,this.outputUnit),o=this.rotationVariables[0]?.rotationType||this.rotationType,a=t?(0,h.FI)(e.pixelBlock,"vector-uv",o,n):(0,h.Rn)(e.pixelBlock,"vector-magdir",n);if(null==a)return r;const l=e.extent,u=null!=a.mask&&a.mask.length>0;let c=0;const p=(l.xmax-l.xmin)/a.width,d=(l.ymax-l.ymin)/a.height;for(let e=0;e<a.height;e++)for(let t=0;t<a.width;t++,c++){let n=new g.A({x:l.xmin+t*p+p/2,y:l.ymax-e*d-d/2,spatialReference:l.spatialReference});n=(await(0,y.el)(n))[0];const o=i.some(e=>e.intersects(n));if((!u||a.mask[c])&&!o){const e={Magnitude:a.pixels[0][c],Direction:a.pixels[1][c]},t=new s.A({geometry:new g.A({x:n.x,y:n.y,spatialReference:l.spatialReference}),attributes:e});t.symbol=this._getVisualVariablesAppliedSymbol(t),r.push(t)}}return r}getSymbol(e,t){}async getSymbolAsync(e,t){}getSymbols(){return[]}getClassBreakInfos(){return this.styleRenderer?.classBreakInfos}getDefaultSymbol(){return this.styleRenderer?.defaultSymbol}_getDefaultSymbol(e){return new S.A({path:"M14,32 14,18 9,23 16,3 22,23 17,18 17,32 z",outline:new v.A({width:0}),size:20,color:e||new o.A([0,92,230])})}_getVisualVariablesAppliedSymbol(e){if(!e)return;const t=this.styleRenderer?.getSymbol(e)?.clone(),i=this.sizeVariables,r=this.rotationVariables;if(i&&i.length&&this.sizeVariables.forEach(i=>(0,T.UQ)(t,(0,b.Yz)([i],e))),r&&r.length){const i="flow-to"===this.flowRepresentation==("ocean-current-kn"===this.style||"ocean-current-m"===this.style)?0:180;e.attributes.Direction=e.attributes.Direction+i,this.rotationVariables.forEach(i=>(0,T.GG)(t,(0,b.UT)(i,e),i.axis))}return t}_createStyleRenderer(e){let t={defaultSymbol:this._getDefaultSymbol(),classBreakInfos:[]};switch(e){case"single-arrow":t=this._createSingleArrowRenderer();break;case"beaufort-kn":t=this._createBeaufortKnotsRenderer();break;case"beaufort-m":t=this._createBeaufortMeterRenderer();break;case"beaufort-ft":t=this._createBeaufortFeetRenderer();break;case"beaufort-mi":t=this._createBeaufortMilesRenderer();break;case"beaufort-km":t=this._createBeaufortKilometersRenderer();break;case"ocean-current-m":t=this._createCurrentMeterRenderer();break;case"ocean-current-kn":t=this._createCurrentKnotsRenderer();break;case"simple-scalar":t=this._createSimpleScalarRenderer();break;case"wind-barb":t=this._createWindBarbsRenderer();break;case"classified-arrow":t=this._createClassifiedArrowRenderer()}return new f.A(t)}_createSingleArrowRenderer(){return{defaultSymbol:this._getDefaultSymbol()}}_createBeaufortKnotsRenderer(){return{defaultSymbol:this._getDefaultSymbol(new o.A([214,47,39])),classBreakInfos:this._getClassBreaks([0,1,3,6,10,16,21,27,33,40,47,55,63],[[40,146,199],[89,162,186],[129,179,171],[160,194,155],[191,212,138],[218,230,119],[250,250,100],[252,213,83],[252,179,102],[250,141,52],[247,110,42],[240,71,29]])}}_createBeaufortMeterRenderer(){return{defaultSymbol:this._getDefaultSymbol(new o.A([214,47,39])),classBreakInfos:this._getClassBreaks([0,.2,1.8,3.3,5.4,8.5,11,14.1,17.2,20.8,24.4,28.6,32.7],[[69,117,181],[101,137,184],[132,158,186],[162,180,189],[192,204,190],[222,227,191],[255,255,191],[255,220,161],[250,185,132],[245,152,105],[237,117,81],[232,21,21]])}}_createBeaufortFeetRenderer(){const e=this._getDefaultSymbol(new o.A([214,47,39]));let t=[0,.2,1.8,3.3,5.4,8.5,11,14.1,17.2,20.8,24.4,28.6,32.7];return t=t.map(e=>3.28084*e),{defaultSymbol:e,classBreakInfos:this._getClassBreaks(t,[[69,117,181],[101,137,184],[132,158,186],[162,180,189],[192,204,190],[222,227,191],[255,255,191],[255,220,161],[250,185,132],[245,152,105],[237,117,81],[232,21,21]])}}_createBeaufortMilesRenderer(){const e=this._getDefaultSymbol(new o.A([214,47,39]));let t=[0,.2,1.8,3.3,5.4,8.5,11,14.1,17.2,20.8,24.4,28.6,32.7];return t=t.map(e=>2.23694*e),{defaultSymbol:e,classBreakInfos:this._getClassBreaks(t,[[69,117,181],[101,137,184],[132,158,186],[162,180,189],[192,204,190],[222,227,191],[255,255,191],[255,220,161],[250,185,132],[245,152,105],[237,117,81],[232,21,21]])}}_createBeaufortKilometersRenderer(){const e=this._getDefaultSymbol(new o.A([214,47,39]));let t=[0,.2,1.8,3.3,5.4,8.5,11,14.1,17.2,20.8,24.4,28.6,32.7];return t=t.map(e=>3.6*e),{defaultSymbol:e,classBreakInfos:this._getClassBreaks(t,[[69,117,181],[101,137,184],[132,158,186],[162,180,189],[192,204,190],[222,227,191],[255,255,191],[255,220,161],[250,185,132],[245,152,105],[237,117,81],[232,21,21]])}}_createCurrentMeterRenderer(){return{defaultSymbol:this._getDefaultSymbol(new o.A([177,177,177])),classBreakInfos:this._getClassBreaks([0,.5,1,1.5,2],[[78,26,153],[179,27,26],[202,128,26],[177,177,177]])}}_createCurrentKnotsRenderer(){return{defaultSymbol:this._getDefaultSymbol(new o.A([177,177,177])),classBreakInfos:this._getClassBreaks([0,.25,.5,1,1.5,2,2.5,3,3.5,4],[[0,0,0],[0,37,100],[78,26,153],[151,0,100],[179,27,26],[177,78,26],[202,128,26],[177,179,52],[177,177,177]])}}_createClassifiedArrowRenderer(){const e=this._getDefaultSymbol(new o.A([56,168,0]));let t=[0,1e-6,3.5,7,10.5,14];if(this.sizeVariables?.length){const e=this.sizeVariables[0].minDataValue,i=this.sizeVariables[0].maxDataValue;if(e&&i){const r=(i-e)/5;t=Array.from(Array(6).keys()).map(t=>e+r*t)}}return{defaultSymbol:e,classBreakInfos:this._getClassBreaks(t,[[56,168,0],[139,309,0],[255,255,0],[255,128,0],[255,0,0]])}}_createSimpleScalarRenderer(){return{defaultSymbol:C.A.fromJSON({imageData:"iVBORw0KGgoAAAANSUhEUgAAACsAAAArCAQAAABLVLlLAAAABGdBTUEAAYagMeiWXwAAAAJiS0dEAACqjSMyAAAACXBIWXMAAABIAAAASABGyWs+AAAC3ElEQVRIx9XXvW4cVRQH8N982btpsIREJECyiCXsxX4DKh6AliqGKCBBE2SlwlHgAbBD/AKmyEYUeQ1KahPZSZQvBCkQLTHZ7KGY8Xodz4w3a1NwbzVzz/znfJ//zbStVC5q3icKak9GAs2QIdDx3PtW/S011NW3p+M5Eomh11ipTIKe6+4LQzHaQ+G+63pIZNJJQXMpljwTwj1brpgx5w1zZlyx5Z4QnllEIm2xeeSUHBf0hV0bejo1Uh09G3aFvgXk7cCJFBc9EdaRVuHJJaOdKyTV2TVhYLMduNR0Q9gxL5GaaTDw8GzejrDRBpxWoGsySRW0dttKuattwNkIlFw2YXgzOdYq4Ox49PlM+JrKd5OusjTWhBuVxUfMX/KXXZ3WEmkuqa67wspR4BTbwtKr/5u4fFgStse/T7EifFPnnYl9zPq4vmUOPrRndgoHjDti1gOPqlyXoifcRNGQzUd31lDyfHmob1Gp35vSr+P6vilcQ5Egtyd8YF/ySg9NhPM+9M/IOaHwp5+PSZayXTvCogEUwlatC3J8LLwYtcWB8EuDXQVuCkV5/B4eNHb7wGBs87LBDS+xjdVSn09wq1G8dFM+9tSUhIGneLvUdniKxKpTYljCpu3j7rVWlHj/P23v4NPGUEyeCQnexe9lJjzEQqMjJs+EzNAX6B98dBZVRmroJx95x/A/6gln18EyfCUsl+qdXb/tjvfbw+mwforpUOBz4XLVoBwAn3aWnfeH246NyBXhrq7TTN5lNSP9RkU+puUJm3W2Tsdq0nZWM07srk7MwQrZSRysjjGWBLRJNsNbfj2JMR4AbxpU1XLAb9Mxfpsq5EjMuuiR8L0JiHOOBX3hiUvOmavN0nMueSzcceFk0BK4pMqLo7vDD1Z0qrtDx7Itt4Xwm9UqbMmk8S0Dtuzb2pvOU99Z1nLTOfleNmvfZfP2pYZmPfajwosKdDBNpacNpVGGsWX9CyDI8Xq/Sj6QAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE0LTExLTEwVDAzOjE3OjU4LTA1OjAwF+tHyQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNC0xMS0xMFQwMzoxNzo1OC0wNTowMGa2/3UAAAAASUVORK5CYII=",height:20,width:20,type:"esriPMS",angle:0})}}_createWindBarbsRenderer(){const e=Array.from(Array(31).keys()).map(e=>5*e),t=[{range:"0-5",path:"M20 20 M5 20 A15 15 0 1 0 35 20 A15 15 0 1 0 5 20 M20 20 M10 20 A10 10 0 1 0 30 20 A10 10 0 1 0 10 20",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTIwIDIwIE01IDIwIEExNSAxNSAwIDEgMCAzNSAyMCBBMTUgMTUgMCAxIDAgNSAyMCBNMjAgMjAgTTEwIDIwIEExMCAxMCAwIDEgMCAzMCAyMCBBMTAgMTAgMCAxIDAgMTAgMjAiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4="},{range:"5-10",path:"M25 0 L25 40 M25 35 L17.5 37.5",imageData:"PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjkgMCAyNyA0NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjUgMCBMMjUgNDAgTTI1IDM1IEwxNy41IDM3LjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4="},{range:"10-15",path:"M25 0 L25 40 L10 45 L25 40",imageData:"PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjkgMCAyNyA0NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjUgMCBMMjUgNDAgTDEwIDQ1IEwyNSA0MCIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"15-20",path:"M25 0 L25 40 L10 45 L25 40 M25 35 L17.5 37.5",imageData:"PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjEyIDAgMTUgNDUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0NSBMMjUgNDAgTTI1IDM1IEwxNy41IDM3LjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4="},{range:"20-25",path:"M25 0 L25 40 L10 45 L25 40 M25 35 L10 40",imageData:"PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjkgMCAyNiA0NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjUgMCBMMjUgNDAgTDEwIDQ1IEwyNSA0MCBNMjUgMzUgTDEwIDQwIiBzdHlsZT0ic3Ryb2tlOnJnYigwLDAsMCk7c3Ryb2tlLXdpZHRoOjEuNSIvPgogPC9zdmc+"},{range:"25-30",path:"M25 0 L25 40 L10 45 L25 40 M25 35 L10 40 L25 35 M25 30 L17.5 32.5",imageData:"PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjkgMCAyNiA0NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjUgMCBMMjUgNDAgTDEwIDQ1IEwyNSA0MCBNMjUgMzUgTDEwIDQwIEwyNSAzNSBNMjUgMzAgTDE3LjUgMzIuNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"30-35",path:"M25 0 L25 40 L10 45 L25 40 M25 35 L10 40 L25 35 M25 30 L10 35",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjkgMCAyNiA0NiI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0NSBMMjUgNDAgTTI1IDM1IEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"35-40",path:"M25 0 L25 40 L10 45 L25 40 M25 35 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L17.5 27.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjkgMCAyNiA0NiI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0NSBMMjUgNDAgTTI1IDM1IEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxNy41IDI3LjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4="},{range:"40-45",path:"M25 0 L25 40 L10 45 L25 40 M25 35 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjkgMCAyNiA0NiI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0NSBMMjUgNDAgTTI1IDM1IEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"45-50",path:"M25 0 L25 40 L10 45 L25 40 M25 35 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30 L25 25 M25 20 L17.5 22.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjkgMCAyNiA0NiI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0NSBMMjUgNDAgTTI1IDM1IEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCBMMjUgMjUgTTI1IDIwIEwxNy41IDIyLjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4="},{range:"50-55",path:"M25 0 L25 40 L10 40 L25 35",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4="},{range:"55-60",path:"M25 0 L25 40 L10 40 L25 35 M25 30 L17.5 32.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxNy41IDMyLjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4="},{range:"60-65",path:"M25 0 L25 40 L10 40 L25 35 M25 30 L10 35",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"65-70",path:"M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L17.5 27.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxNy41IDI3LjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4="},{range:"70-75",path:"M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"75-80",path:"M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30 L25 25 M25 20 L17.5 22.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCBMMjUgMjUgTTI1IDIwIEwxNy41IDIyLjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4="},{range:"80-85",path:"M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30 L25 25 M25 20 L10 25",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCBMMjUgMjUgTTI1IDIwIEwxMCAyNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"85-90",path:"M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30 L25 25 M25 20 L10 25 L25 20 M25 15 L17.5 17.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCBMMjUgMjUgTTI1IDIwIEwxMCAyNSBMMjUgMjAgTTI1IDE1IEwxNy41IDE3LjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4="},{range:"90-95",path:"M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30 L25 25 M25 20 L10 25 L25 20 M25 15 L10 20",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCBMMjUgMjUgTTI1IDIwIEwxMCAyNSBMMjUgMjAgTTI1IDE1IEwxMCAyMCIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"95-100",path:"M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30 L25 25 M25 20 L10 25 L25 20 M25 15 L10 20 L25 15 M25 10 L17.5 12.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCBMMjUgMjUgTTI1IDIwIEwxMCAyNSBMMjUgMjAgTTI1IDE1IEwxMCAyMCBMMjUgMTUgTTI1IDEwIEwxNy41IDEyLjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4="},{range:"100-105",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"105-110",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L17.5 27.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDE3LjUgMjcuNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"110-115",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIiBzdHlsZT0ic3Ryb2tlOnJnYigwLDAsMCk7c3Ryb2tlLXdpZHRoOjEuNSIvPgogPC9zdmc+"},{range:"115-120",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L17.5 22.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDE3LjUgMjIuNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"120-125",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L10 25",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDEwIDI1IiBzdHlsZT0ic3Ryb2tlOnJnYigwLDAsMCk7c3Ryb2tlLXdpZHRoOjEuNSIvPgogPC9zdmc+"},{range:"125-130",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L10 25 M25 20 M25 15 L17.5 17.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDEwIDI1IE0yNSAyMCBNMjUgMTUgTDE3LjUgMTcuNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"130-135",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L10 25 M25 20 M25 15 L10 20",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDEwIDI1IE0yNSAyMCBNMjUgMTUgTDEwIDIwIiBzdHlsZT0ic3Ryb2tlOnJnYigwLDAsMCk7c3Ryb2tlLXdpZHRoOjEuNSIvPgogPC9zdmc+"},{range:"135-140",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L10 25 M25 20 M25 15 L10 20 M25 15 M25 10 L17.5 12.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDEwIDI1IE0yNSAyMCBNMjUgMTUgTDEwIDIwIE0yNSAxNSBNMjUgMTAgTDE3LjUgMTIuNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"140-145",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L10 25 M25 20 M25 15 L10 20 M25 15 M25 10 L17.5 12.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDEwIDI1IE0yNSAyMCBNMjUgMTUgTDEwIDIwIE0yNSAxNSBNMjUgMTAgTDEwIDE1IiBzdHlsZT0ic3Ryb2tlOnJnYigwLDAsMCk7c3Ryb2tlLXdpZHRoOjEuNSIvPgogPC9zdmc+"},{range:"145-150",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L10 25 M25 20 M25 15 L10 20 M25 15 M25 10 L17.5 12.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDEwIDI1IE0yNSAyMCBNMjUgMTUgTDEwIDIwIE0yNSAxNSBNMjUgMTAgTDEwIDE1IE0yNSAxMCBNMjUgNSBMMTcuNSA3LjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4="}],i=C.A.fromJSON({imageData:"iVBORw0KGgoAAAANSUhEUgAAACgAAAApCAQAAADtq6NDAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAJiS0dEAP+Hj8y/AAAACXBIWXMAAA7DAAAOwwHHb6hkAAAEY0lEQVRIx5XXWWxWRRQH8N+d+31tUdGAVjGglYJABFEBY91jfDAg7piYaFTccA++uMQEFRcSXlATtxiXqMQt4G4iisYl0ai4sIQYtVFZ1KIFKdTS0l4f7vRCS5fPebozc+bM/2z/Mzcx0AgSiUxXnKfIdMn875FIhX53U2n/B/s+kKM4UINTjTBZImixxnrv+9a2iL6zEoUBXcoudrWj/OtHm3wt02lfU9Qao9OnHvIhgmww84MEl1qnxfNmGrqHxAizLdPpC6chGcAxKGGcL+30gOERf1BSpUqVslQSV8d5ReZFe8VQ9avufJn31cWwlJV7iafKStGOE/1qvfH9qUxxu8ydUdmuSKbGO8YUdT2inKLG69pM70tliktl5qIkCAJGmusDG7Vqsc0WjZa4UBlBiA5YZIcjYzB7qDtH5kaUJFLs7RGZTZ42W4PRRmtwvbdt1+wGiaS4drEtDttdZYIDNVuAclR3vA3+dI3qHqmVSy7U6Tv1MScCPvPR7nIpFlsdCy3FdTLPGhK92e2CUITjMJ9ocwKxnsZqc3O3JwMma3d6UVLnyVxB4aXemZqvPqLdpJhW3KVVbY4yYImPo6M5Urv50fj+0z/FG9YaEiENs8UtMfXUaTeTePNHlhXfA1UU+2lyD1Il3Gtt9+adfpNG7dNlpg2U/T3KYLZ2dUWFdTgp3/rQ4sK973qnInV5TIf40x3dhvrJPBiqyWUo4wAtLqhQYS71qK+QKOFRywmGK/kpikzV6WMKhh58vGWs4TIJNjiEYLIuP8Tt4/zmLyqk+AyrJSbF+Qq1DgqRUPMxyl+9q3IQhX/rMCJ6tEunriDs1oSyQZKlr9AkhT2ZIARbJfaJS1vtVbHB+Rgi0RK/y1q1BWsEEyLoz40xtGKcARPVWB1BTPO7f4LNtpkUl1aoMbViLyZo0GRjPD3BxnxjqXeLYlvhqYrzMMG3HoyJXa3JjfnGlbYYFlP7Jh3qKsKY4hQ7TY0nG+xwRL61n63mxHtqNHosigyMLmClNwvuecFnOZB88nNBDzNkzhxEZaKMBVoKapggMzvHHXBEpNSSFAvtcFRsVn0bW8LlMmcXs+c0Kne3gRR32+zg4uXwjC6zit6Wt4a8LXVfcp/MtQXHn2ynGbuCmb8GvvFeJLEE82ReU9/n6+dkq2x3buG9Wn94smcgAw631RPR7BTH+kbmHReZoEpOdEe7zWqZl40s0JWs9Hmv7hjBHqPDwsjGKVJnWWqjbdZp1KhJi0aPmxYZsIRhlttgeF+Jlke41QcOQKoqilSb6HJzSvNG3G/UoWnxwsmt+sVaYwd63dRbqdnMyCPVeyRPvpYgdavM22oGKoMUVRbJfOWMwidJ8Zzb1UvmWK/VVUXzHaTjjrVYh1897HT7xxYEVUaa5SWb/WO+YUWa9SrwvigzM8YlzlYv2GSdVCYxxlBtVnnFq5olwp5/BEk/OLsf5LUmG2+inRJdVvjZ97ZH9/zP34ug1O91pf4p+D+JYBpvrKxfbwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxNC0xMS0xMFQwMzoxMjowOS0wNTowMB9ViV0AAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTQtMTEtMTBUMDM6MTI6MDktMDU6MDBuCDHhAAAAAElFTkSuQmCC",height:20,width:20,type:"esriPMS",angle:0}),r=e.map((r,n)=>{let o;if(n!==e.length-1)if(0===n)o={minValue:r,maxValue:e[n+1],symbol:i};else{const i=C.A.fromJSON({type:"esriPMS",imageData:t[n].imageData,contentType:"image/svg+xml",height:32,width:32,angle:0});o={minValue:r,maxValue:e[n+1],symbol:i}}return new w.A(o)});return{defaultSymbol:i,classBreakInfos:r}}_getClassBreaks(e,t){return t.map((t,i)=>new w.A({minValue:e[i],maxValue:e[i+1],symbol:this._getDefaultSymbol(new o.A(t))}))}};(0,n.Cg)([(0,c.MZ)({type:["Magnitude"],json:{write:!0}})],N.prototype,"attributeField",void 0),(0,n.Cg)([(0,c.MZ)({type:x.apiValues,json:{type:x.jsonValues,read:{reader:x.read},write:{writer:x.write}}})],N.prototype,"flowRepresentation",void 0),(0,n.Cg)([(0,c.MZ)({type:["geographic","arithmetic"],json:{write:!0}})],N.prototype,"rotationType",void 0),(0,n.Cg)([(0,c.MZ)({type:j.apiValues,json:{type:j.jsonValues,read:{reader:j.read},write:{writer:j.write}}})],N.prototype,"style",void 0),(0,n.Cg)([(0,c.MZ)({json:{write:!0}})],N.prototype,"symbolTileSize",void 0),(0,n.Cg)([(0,c.MZ)({type:h.MD.apiValues,json:{type:h.MD.jsonValues,write:{writer:h.MD.write}}})],N.prototype,"inputUnit",void 0),(0,n.Cg)([(0,d.w)("inputUnit")],N.prototype,"readInputUnit",null),(0,n.Cg)([(0,c.MZ)({type:h.MD.apiValues,json:{type:h.MD.jsonValues,read:{reader:h.MD.read},write:{writer:h.MD.write}}})],N.prototype,"outputUnit",void 0),(0,n.Cg)([(0,d.w)("outputUnit")],N.prototype,"readOutputUnit",null),(0,n.Cg)([(0,p.e)({vectorField:"vector-field"})],N.prototype,"type",void 0),(0,n.Cg)([(0,c.MZ)({type:f.A})],N.prototype,"styleRenderer",null),(0,n.Cg)([(0,c.MZ)({type:A.A})],N.prototype,"sizeVariables",null),(0,n.Cg)([(0,c.MZ)({type:I.A})],N.prototype,"rotationVariables",null),N=r=(0,n.Cg)([(0,m.$)("esri.renderers.VectorFieldRenderer")],N)},22048:(e,t,i)=>{i.d(t,{A:()=>h});var r,n=i(31635),o=i(25482),s=i(4718),a=i(10107),l=(i(44208),i(53966),i(40608)),u=i(43937),c=i(86738),p=i(65864),d=i(50498),m=i(85675),g=i(22796),y=i(79677);let h=r=class extends o.o{constructor(e){super(e),this.geometry=null,this.mosaicRule=null,this.rasterFunction=null,this.pixelSize=null,this.raster=void 0,this.timeExtent=null}writeGeometry(e,t,i){null!=e&&(t.geometryType=(0,p.$B)(e),t[i]=e.toJSON())}clone(){return new r((0,s.o8)({geometry:this.geometry,mosaicRule:this.mosaicRule,rasterFunction:this.rasterFunction,pixelSize:this.pixelSize,raster:this.raster,timeExtent:this.timeExtent}))}};(0,n.Cg)([(0,a.MZ)({types:d.yR,json:{read:p.rS}})],h.prototype,"geometry",void 0),(0,n.Cg)([(0,u.K)("geometry")],h.prototype,"writeGeometry",null),(0,n.Cg)([(0,a.MZ)({type:m.A,json:{write:!0}})],h.prototype,"mosaicRule",void 0),(0,n.Cg)([(0,a.MZ)({type:g.A,json:{write:!0,name:"renderingRule"}})],h.prototype,"rasterFunction",void 0),(0,n.Cg)([(0,a.MZ)({type:c.A,json:{write:!0}})],h.prototype,"pixelSize",void 0),(0,n.Cg)([(0,a.MZ)({json:{write:!0}})],h.prototype,"raster",void 0),(0,n.Cg)([(0,a.MZ)({type:y.A,json:{read:{source:"time"},write:{target:"time"}}})],h.prototype,"timeExtent",void 0),h=r=(0,n.Cg)([(0,l.$)("esri.rest.support.ImageHistogramParameters")],h)},22671:(e,t,i)=>{i.d(t,{A:()=>M});var r,n=i(31635),o=i(52106),s=i(66552),a=i(25482),l=i(4718),u=i(10107),c=(i(44208),i(53966),i(36005)),p=i(40608),d=i(43937),m=i(16930),g=i(65864),y=i(50498),h=i(20437);const f=new s.J({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon",esriGeometryEnvelope:"extent",mesh:"mesh","":null});let M=r=class extends a.o{constructor(e){super(e),this.displayFieldName=null,this.exceededTransferLimit=!1,this.features=[],this.fields=null,this.geometryType=null,this.hasM=!1,this.hasZ=!1,this.queryGeometry=null,this.spatialReference=null}readFeatures(e,t){return this.readFeaturesWithClass(e,t,o.A)}writeGeometryType(e,t,i,r){if(e)return void f.write(e,t,i,r);const{features:n}=this;if(n)for(const e of n)if(null!=e?.geometry)return void f.write(e.geometry.type,t,i,r)}readQueryGeometry(e,t){if(!e)return null;const i=!!e.spatialReference,r=(0,g.rS)(e);return r&&!i&&t.spatialReference&&(r.spatialReference=m.A.fromJSON(t.spatialReference)),r}writeSpatialReference(e,t){if(e)return void(t.spatialReference=e.toJSON());const{features:i}=this;if(i)for(const e of i)if(e&&null!=e.geometry&&e.geometry.spatialReference)return void(t.spatialReference=e.geometry.spatialReference.toJSON())}clone(){return new r(this.cloneProperties())}cloneProperties(){return(0,l.o8)({displayFieldName:this.displayFieldName,exceededTransferLimit:this.exceededTransferLimit,features:this.features,fields:this.fields,geometryType:this.geometryType,hasM:this.hasM,hasZ:this.hasZ,queryGeometry:this.queryGeometry,spatialReference:this.spatialReference,transform:this.transform})}toJSON(e){const t=this.write();if(t.features&&Array.isArray(e)&&e.length>0)for(let i=0;i<t.features.length;i++){const r=t.features[i];if(r.geometry){const t=e?.[i];r.geometry=t?.toJSON()||r.geometry}}return t}quantize(e){const{scale:[t,i],translate:[r,n]}=e,o=this.features,s=this._getQuantizationFunction(this.geometryType,e=>Math.round((e-r)/t),e=>Math.round((n-e)/i));for(let e=0,t=o.length;e<t;e++)s?.(o[e].geometry)||(o.splice(e,1),e--,t--);return this.transform=e,this}unquantize(){const{geometryType:e,features:t,transform:i}=this;if(!i)return this;const{translate:[r,n],scale:[o,s]}=i;let a=null,l=null;if(this.hasZ&&null!=i?.scale?.[2]){const{translate:[,,e],scale:[,,t]}=i;a=i=>i*t+e}if(this.hasM&&null!=i?.scale?.[3]){const{translate:[,,,e],scale:[,,,t]}=i;l=i=>null==i?i:i*t+e}const u=this._getHydrationFunction(e,e=>e*o+r,e=>n-e*s,a,l);for(const{geometry:e}of t)null!=e&&u&&u(e);return this.transform=null,this}readFeaturesWithClass(e,t,i){const r=m.A.fromJSON(t.spatialReference),n=[];for(let t=0;t<e.length;t++){const o=e[t],s=i.fromJSON(o),a=o.geometry?.spatialReference;null==s.geometry||a||(s.geometry.spatialReference=r);const l=o.aggregateGeometries,u=s.aggregateGeometries;if(l&&null!=u)for(const e in u){const t=u[e],i=l[e],n=i?.spatialReference;null==t||n||(t.spatialReference=r)}n.push(s)}return n}_quantizePoints(e,t,i){let r,n;const o=[];for(let s=0,a=e.length;s<a;s++){const a=e[s];if(s>0){const e=t(a[0]),s=i(a[1]);e===r&&s===n||(o.push([e-r,s-n]),r=e,n=s)}else r=t(a[0]),n=i(a[1]),o.push([r,n])}return o.length>0?o:null}_getQuantizationFunction(e,t,i){return"point"===e?e=>(e.x=t(e.x),e.y=i(e.y),e):"polyline"===e||"polygon"===e?e=>{const r=(0,g.Bi)(e)?e.rings:e.paths,n=[];for(let e=0,o=r.length;e<o;e++){const o=r[e],s=this._quantizePoints(o,t,i);s&&n.push(s)}return n.length>0?((0,g.Bi)(e)?e.rings=n:e.paths=n,e):null}:"multipoint"===e?e=>{const r=this._quantizePoints(e.points,t,i);return r&&r.length>0?(e.points=r,e):null}:"extent"===e?e=>e:null}_getHydrationFunction(e,t,i,r,n){return"point"===e?e=>{e.x=t(e.x),e.y=i(e.y),r&&(e.z=r(e.z))}:"polyline"===e||"polygon"===e?e=>{const o=(0,g.Bi)(e)?e.rings:e.paths;let s,a;for(let e=0,r=o.length;e<r;e++){const r=o[e];for(let e=0,n=r.length;e<n;e++){const n=r[e];e>0?(s+=n[0],a+=n[1]):(s=n[0],a=n[1]),n[0]=t(s),n[1]=i(a)}}if(r&&n)for(let e=0,t=o.length;e<t;e++){const t=o[e];for(let e=0,i=t.length;e<i;e++){const i=t[e];i[2]=r(i[2]),i[3]=n(i[3])}}else if(r)for(let e=0,t=o.length;e<t;e++){const t=o[e];for(let e=0,i=t.length;e<i;e++){const i=t[e];i[2]=r(i[2])}}else if(n)for(let e=0,t=o.length;e<t;e++){const t=o[e];for(let e=0,i=t.length;e<i;e++){const i=t[e];i[2]=n(i[2])}}}:"extent"===e?e=>{e.xmin=t(e.xmin),e.ymin=i(e.ymin),e.xmax=t(e.xmax),e.ymax=i(e.ymax),r&&null!=e.zmax&&null!=e.zmin&&(e.zmax=r(e.zmax),e.zmin=r(e.zmin)),n&&null!=e.mmax&&null!=e.mmin&&(e.mmax=n(e.mmax),e.mmin=n(e.mmin))}:"multipoint"===e?e=>{const o=e.points;let s,a;for(let e=0,r=o.length;e<r;e++){const r=o[e];e>0?(s+=r[0],a+=r[1]):(s=r[0],a=r[1]),r[0]=t(s),r[1]=i(a)}if(r&&n)for(let e=0,t=o.length;e<t;e++){const t=o[e];t[2]=r(t[2]),t[3]=n(t[3])}else if(r)for(let e=0,t=o.length;e<t;e++){const t=o[e];t[2]=r(t[2])}else if(n)for(let e=0,t=o.length;e<t;e++){const t=o[e];t[2]=n(t[2])}}:null}};(0,n.Cg)([(0,u.MZ)({type:String,json:{write:!0}})],M.prototype,"displayFieldName",void 0),(0,n.Cg)([(0,u.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],M.prototype,"exceededTransferLimit",void 0),(0,n.Cg)([(0,u.MZ)({type:[o.A],json:{write:!0}})],M.prototype,"features",void 0),(0,n.Cg)([(0,c.w)("features")],M.prototype,"readFeatures",null),(0,n.Cg)([(0,u.MZ)({type:[h.A],json:{write:!0}})],M.prototype,"fields",void 0),(0,n.Cg)([(0,u.MZ)({type:["point","multipoint","polyline","polygon","extent","mesh"],json:{read:{reader:f.read}}})],M.prototype,"geometryType",void 0),(0,n.Cg)([(0,d.K)("geometryType")],M.prototype,"writeGeometryType",null),(0,n.Cg)([(0,u.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],M.prototype,"hasM",void 0),(0,n.Cg)([(0,u.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],M.prototype,"hasZ",void 0),(0,n.Cg)([(0,u.MZ)({types:y.yR,json:{write:!0}})],M.prototype,"queryGeometry",void 0),(0,n.Cg)([(0,c.w)("queryGeometry")],M.prototype,"readQueryGeometry",null),(0,n.Cg)([(0,u.MZ)({type:m.A,json:{write:!0}})],M.prototype,"spatialReference",void 0),(0,n.Cg)([(0,d.K)("spatialReference")],M.prototype,"writeSpatialReference",null),(0,n.Cg)([(0,u.MZ)({json:{write:!0}})],M.prototype,"transform",void 0),M=r=(0,n.Cg)([(0,p.$)("esri.rest.support.FeatureSet")],M),M.prototype.toJSON.isDefaultToJSON=!0},22796:(e,t,i)=>{i.d(t,{A:()=>L});var r=i(31635),n=i(25482),o=i(4718),s=i(10107),a=(i(44208),i(53966),i(93223)),l=i(36005),u=i(40608),c=i(43937),p=i(66552),d=i(56507),m=(i(87811),i(13868));let g=class extends n.o{constructor(){super(...arguments),this.pixelType="unknown"}};(0,r.Cg)([(0,s.MZ)({type:String,json:{write:{isRequired:!0}}})],g.prototype,"name",void 0),(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],g.prototype,"description",void 0),(0,r.Cg)([(0,s.MZ)({type:d.jz,json:{type:d.jz,write:!0,name:"_object_id"}})],g.prototype,"id",void 0),(0,r.Cg)([(0,s.MZ)({type:String,json:{type:m.e8.jsonValues,read:m.e8.read,write:{writer:m.e8.write,isRequired:!0}}})],g.prototype,"pixelType",void 0),(0,r.Cg)([(0,s.MZ)({type:String,json:{write:{isRequired:!0}}})],g.prototype,"type",void 0),g=(0,r.Cg)([(0,u.$)("esri.layers.support.RasterFunctionInfo")],g);const y=g;let h=class extends n.o{constructor(){super(...arguments),this.isDataset=!1,this.isPublic=!1,this.type="RasterFunctionVariable"}};(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],h.prototype,"name",void 0),(0,r.Cg)([(0,s.MZ)({type:Number,json:{type:d.jz,write:!0,name:"_object_id"}})],h.prototype,"id",void 0),(0,r.Cg)([(0,s.MZ)({type:Boolean,json:{write:!0}})],h.prototype,"isDataset",void 0),(0,r.Cg)([(0,s.MZ)({type:Boolean,json:{write:!0}})],h.prototype,"isPublic",void 0),(0,r.Cg)([(0,s.MZ)({json:{write:!0}})],h.prototype,"value",void 0),(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],h.prototype,"type",void 0),h=(0,r.Cg)([(0,u.$)("esri.layers.support.RasterFunctionVariable")],h);const f={key:"type",base:null,typeMap:{RasterFunctionVariable:h}};let M=class extends n.o{};(0,r.Cg)([(0,s.MZ)({types:f,json:{types:f,name:"MatchVariable"}})],M.prototype,"matchVariable",void 0),(0,r.Cg)([(0,s.MZ)({types:f,json:{types:f,name:"UnionDimension"}})],M.prototype,"unionDimension",void 0),(0,r.Cg)([(0,s.MZ)({type:Number,json:{type:d.jz,write:!0,name:"_object_id"}})],M.prototype,"id",void 0),(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],M.prototype,"type",void 0),M=(0,r.Cg)([(0,u.$)("esri.layers.support.RasterFunctionProperties")],M);const w=M,I=new p.J({0:"mosaic",1:"item",2:"item-group"},{useNumericKeys:!0});let A=class extends n.o{constructor(){super(...arguments),this.description="",this.functionType="mosaic",this.type="RasterFunctionTemplate"}};var b;(0,r.Cg)([(0,s.MZ)({type:[String],json:{write:!0}})],A.prototype,"aliases",void 0),(0,r.Cg)([(0,s.MZ)({type:Object,json:{write:{isRequired:!0}}})],A.prototype,"arguments",void 0),(0,r.Cg)([(0,s.MZ)({type:String,json:{write:{isRequired:!0}}})],A.prototype,"description",void 0),(0,r.Cg)([(0,s.MZ)({type:y,json:{write:{isRequired:!0},name:"function"}})],A.prototype,"functionInfo",void 0),(0,r.Cg)([(0,s.MZ)({type:I.apiValues,json:{type:[0,1,2],read:I.read,write:{writer:I.write,isRequired:!0}}})],A.prototype,"functionType",void 0),(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],A.prototype,"group",void 0),(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],A.prototype,"help",void 0),(0,r.Cg)([(0,s.MZ)({type:Number,json:{type:d.jz,write:!0,name:"_object_id"}})],A.prototype,"id",void 0),(0,r.Cg)([(0,s.MZ)({type:String,json:{write:{isRequired:!0}}})],A.prototype,"name",void 0),(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0,name:"definition"}})],A.prototype,"queryDefinition",void 0),(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],A.prototype,"tag",void 0),(0,r.Cg)([(0,s.MZ)({type:w,json:{write:!0}})],A.prototype,"properties",void 0),(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],A.prototype,"thumbnail",void 0),(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],A.prototype,"thumbnailEx",void 0),(0,r.Cg)([(0,s.MZ)({json:{type:["RasterFunctionTemplate"],write:!0}})],A.prototype,"type",void 0),A=(0,r.Cg)([(0,u.$)("esri.layers.support.RasterFunctionTemplate")],A);const C=new Set(["raster","raster2","dem","fillraster"]),v=new Set(["rasters"]),S=e=>e?.rasterFunction?L.fromJSON(e):e,T=e=>e&&e instanceof L?e.toJSON():e,D=e=>e?.functionName&&!e.declaredClass,j=e=>D(e)?new L(e):e,x=e=>e?A.fromJSON({type:"RasterFunctionTemplate",...e}):void 0,N={types:{key:"type",base:null,typeMap:{RasterFunctionTemplate:A}},json:{write:!0,name:"rasterFunctionDefinition",read:x}};let L=b=class extends n.o{constructor(e){super(e),this.functionName=null,this.outputPixelType="unknown",this.variableName=null,this.functionDefinition=null}set functionArguments(e){if(e){const t=Object.keys(e);if(t.some(t=>C.has(t.toLowerCase())&&D(e[t]))||t.some(t=>v.has(t.toLowerCase())&&Array.isArray(e[t])&&e[t].some(e=>D(e)))){e=(0,o.o8)(e);for(const i of t)C.has(i.toLowerCase())?e[i]=j(e[i]):v.has(i.toLowerCase())&&Array.isArray(e[i])&&(e[i]=e[i].map(e=>j(e)))}}this._set("functionArguments",e)}readFunctionArguments(e){return(e=>{if(null==e)return null;e=(0,o.o8)(e);const t={};for(const i of Object.keys(e))C.has(i.toLowerCase())?t[i]=S(e[i]):v.has(i.toLowerCase())&&Array.isArray(e[i])?t[i]=e[i].map(S):t[i]=e[i];return t})(e)}writeFunctionArguments(e,t,i){const r={};for(const t of Object.keys(e))C.has(t.toLowerCase())?r[t]=T(e[t]):v.has(t.toLowerCase())&&Array.isArray(e[t])?r[t]=e[t].map(T):r[t]=T(e[t]);t[i]=r}readFunctionName(e,t){const i=t.rasterFunctionInfos;return t.name||(i?.length&&"None"!==i[0].name?i[0].name:t.rasterFunction||t.rasterFunctionDefinition?.name)}get rasterFunctionDefinition(){return this.functionDefinition?.toJSON()}set rasterFunctionDefinition(e){this.functionDefinition=x(e)}get hasClipFunction(){return this.rasterFunctionDefinition?JSON.stringify(this.rasterFunctionDefinition).includes('"type":"ClipFunction"'):JSON.stringify(this).includes('"rasterFunction":"Clip"')}clone(){return new b({functionName:this.functionName,functionArguments:(0,o.o8)(this.functionArguments),outputPixelType:this.outputPixelType,variableName:this.variableName,rasterFunctionDefinition:(0,o.o8)(this.rasterFunctionDefinition)})}};(0,r.Cg)([(0,s.MZ)({json:{type:Object,name:"rasterFunctionArguments"}})],L.prototype,"functionArguments",null),(0,r.Cg)([(0,l.w)("functionArguments")],L.prototype,"readFunctionArguments",null),(0,r.Cg)([(0,c.K)("functionArguments")],L.prototype,"writeFunctionArguments",null),(0,r.Cg)([(0,s.MZ)({json:{type:String,write:{target:"rasterFunction"}}})],L.prototype,"functionName",void 0),(0,r.Cg)([(0,l.w)("functionName",["rasterFunction","rasterFunctionInfos","rasterFunctionDefinition"])],L.prototype,"readFunctionName",null),(0,r.Cg)([(0,a.e)({C128:"c128",C64:"c64",F32:"f32",F64:"f64",S16:"s16",S32:"s32",S8:"s8",U1:"u1",U16:"u16",U2:"u2",U32:"u32",U4:"u4",U8:"u8",UNKNOWN:"unknown"},{ignoreUnknown:!1,default:"unknown"})],L.prototype,"outputPixelType",void 0),(0,r.Cg)([(0,s.MZ)({type:String,json:{read:!0,write:!0}})],L.prototype,"variableName",void 0),(0,r.Cg)([(0,s.MZ)()],L.prototype,"rasterFunctionDefinition",null),(0,r.Cg)([(0,s.MZ)(N)],L.prototype,"functionDefinition",void 0),(0,r.Cg)([(0,s.MZ)()],L.prototype,"hasClipFunction",null),L=b=(0,r.Cg)([(0,u.$)("esri.layers.support.RasterFunction")],L)},30291:(e,t,i)=>{i.d(t,{tn:()=>u});var r=i(37838),n=i(30524),o=i(41227),s=i(89893),a=i(66159),l=i(68780);function u({displayField:e,editFieldsInfo:t,fields:i,objectIdField:l,title:u},m){if(!i)return null;const y=function(e,t){const i=t?.visibleFieldNames;return function({fields:e,ignoreFieldTypes:t,sortDisabled:i}){const r=e;return t&&(e=e.filter(e=>!t.includes(e.type))),e===r&&(e=e.slice()),!0!==i&&e.sort(p),e}({fields:e.fields??[],ignoreFieldTypes:t?.ignoreFieldTypes||g,sortDisabled:t?.sortDisabled}).map(t=>new o.A({fieldName:t.name,isEditable:(0,n.R$)(t,e),label:t.alias,format:d(t),visible:c(t,{...e,visibleFieldNames:i})}))}({editFieldsInfo:t,fields:i,objectIdField:l},m);if(!y.length)return null;const h=function(e){const t=(0,n.mB)(e),{titleBase:i}=e;return t?`${i}: {${t.trim()}}`:i??""}({titleBase:u,fields:i,displayField:e}),f=[new a.A,new s.A];return new r.A({title:h,content:f,fieldInfos:y})}const c=(e,t)=>t.visibleFieldNames?t.visibleFieldNames.has(e.name):(0,n.Bz)(e,t);function p(e,t){return"oid"===e.type?-1:"oid"===t.type?1:m(e)?-1:m(t)?1:(e.alias||e.name).toLocaleLowerCase().localeCompare((t.alias||t.name).toLocaleLowerCase())}function d(e){switch(e.type){case"small-integer":case"integer":case"single":return new l.A({digitSeparator:!0,places:0});case"double":return new l.A({digitSeparator:!0,places:2});case"string":return(0,n.JL)(e.name)?new l.A({digitSeparator:!0,places:0}):void 0;default:return}}function m(e){if("name"===(e.name&&e.name.toLowerCase()))return!0;const t=e.alias?.toLowerCase();return"name"===t}const g=["geometry","blob","raster","guid","xml"]},34606:(e,t,i)=>{i.d(t,{A:()=>f});var r,n=i(31635),o=i(25482),s=i(4718),a=i(10107),l=(i(44208),i(53966),i(40608)),u=i(43937),c=i(48526),p=i(86738),d=i(65864),m=i(50498),g=i(85675),y=i(13868),h=i(79677);let f=r=class extends o.o{constructor(){super(...arguments),this.geometry=null,this.interpolation="nearest",this.mosaicRule=null,this.outFields=null,this.pixelSize=null,this.raster=void 0,this.returnFirstValueOnly=!0,this.sampleDistance=null,this.sampleCount=null,this.sliceId=null,this.timeExtent=null}writeGeometry(e,t,i){null!=e&&(t.geometryType=(0,d.$B)(e),t[i]=e.toJSON())}set locations(e){if(e?.length){const t=new c.A({spatialReference:e[0].spatialReference,points:e.map(({x:e,y:t})=>[e,t])});this._set("locations",e),this.geometry=t}}clone(){return new r((0,s.o8)({geometry:this.geometry,locations:this.locations,interpolation:this.interpolation,mosaicRule:this.mosaicRule,outFields:this.outFields,raster:this.raster,returnFirstValueOnly:this.returnFirstValueOnly,sampleDistance:this.sampleDistance,sampleCount:this.sampleCount,sliceId:this.sliceId,pixelSize:this.pixelSize,timeExtent:this.timeExtent}))}};(0,n.Cg)([(0,a.MZ)({types:m.yR,json:{read:d.rS}})],f.prototype,"geometry",void 0),(0,n.Cg)([(0,u.K)("geometry")],f.prototype,"writeGeometry",null),(0,n.Cg)([(0,a.MZ)({type:[p.A]})],f.prototype,"locations",null),(0,n.Cg)([(0,a.MZ)({type:String,json:{type:y.SZ.jsonValues,read:y.SZ.read,write:y.SZ.write}})],f.prototype,"interpolation",void 0),(0,n.Cg)([(0,a.MZ)({type:g.A,json:{write:!0}})],f.prototype,"mosaicRule",void 0),(0,n.Cg)([(0,a.MZ)({type:[String],json:{write:!0}})],f.prototype,"outFields",void 0),(0,n.Cg)([(0,a.MZ)({type:p.A,json:{write:!0}})],f.prototype,"pixelSize",void 0),(0,n.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],f.prototype,"raster",void 0),(0,n.Cg)([(0,a.MZ)({type:Boolean,json:{write:!0}})],f.prototype,"returnFirstValueOnly",void 0),(0,n.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],f.prototype,"sampleDistance",void 0),(0,n.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],f.prototype,"sampleCount",void 0),(0,n.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],f.prototype,"sliceId",void 0),(0,n.Cg)([(0,a.MZ)({type:h.A,json:{read:{source:"time"},write:{target:"time"}}})],f.prototype,"timeExtent",void 0),f=r=(0,n.Cg)([(0,l.$)("esri.rest.support.ImageSampleParameters")],f)},36280:(e,t,i)=>{i.d(t,{A:()=>g});var r,n=i(31635),o=i(25482),s=i(4718),a=i(10107),l=(i(44208),i(53966),i(93223)),u=i(36005),c=i(40608),p=i(43937),d=i(70274),m=i(95349);let g=r=class extends o.o{constructor(e){super(e),this.colorRamp=null,this.computeGamma=!1,this.dynamicRangeAdjustment=!1,this.gamma=[],this.maxPercent=null,this.minPercent=null,this.numberOfStandardDeviations=null,this.outputMax=null,this.outputMin=null,this.sigmoidStrengthLevel=null,this.histograms=null,this.customStatistics=null,this.useGamma=!1,this.stretchType="none",this.type="raster-stretch"}readColorRamp(e){if(e)return(0,m.r)(e)}readCustomStatistics(e){return e?.map(e=>({min:e[0],max:e[1],avg:e[2],stddev:e[3]}))}writeCustomStatistics(e,t,i){e?.length&&(t[i]=e.map(e=>[e.min,e.max,e.avg??0,e.stddev??1]))}readStretchType(e,t){let i=t.stretchType;return"number"==typeof i&&(i=d.x[i]),d.u.read(i)}clone(){return new r({stretchType:this.stretchType,outputMin:this.outputMin,outputMax:this.outputMax,useGamma:this.useGamma,computeGamma:this.computeGamma,customStatistics:(0,s.o8)(this.customStatistics),gamma:(0,s.o8)(this.gamma),sigmoidStrengthLevel:this.sigmoidStrengthLevel,numberOfStandardDeviations:this.numberOfStandardDeviations,minPercent:this.minPercent,maxPercent:this.maxPercent,colorRamp:(0,s.o8)(this.colorRamp),histograms:(0,s.o8)(this.histograms),dynamicRangeAdjustment:this.dynamicRangeAdjustment})}};(0,n.Cg)([(0,a.MZ)({types:m.g,json:{write:!0}})],g.prototype,"colorRamp",void 0),(0,n.Cg)([(0,u.w)("colorRamp")],g.prototype,"readColorRamp",null),(0,n.Cg)([(0,a.MZ)({type:Boolean,json:{write:!0}})],g.prototype,"computeGamma",void 0),(0,n.Cg)([(0,a.MZ)({type:Boolean,json:{write:{target:"dra"},read:{source:"dra"}}})],g.prototype,"dynamicRangeAdjustment",void 0),(0,n.Cg)([(0,a.MZ)({type:[Number],json:{write:!0}})],g.prototype,"gamma",void 0),(0,n.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],g.prototype,"maxPercent",void 0),(0,n.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],g.prototype,"minPercent",void 0),(0,n.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],g.prototype,"numberOfStandardDeviations",void 0),(0,n.Cg)([(0,a.MZ)({type:Number,json:{read:{source:"max"},write:{target:"max"}}})],g.prototype,"outputMax",void 0),(0,n.Cg)([(0,a.MZ)({type:Number,json:{read:{source:"min"},write:{target:"min"}}})],g.prototype,"outputMin",void 0),(0,n.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],g.prototype,"sigmoidStrengthLevel",void 0),(0,n.Cg)([(0,a.MZ)()],g.prototype,"histograms",void 0),(0,n.Cg)([(0,a.MZ)({json:{type:[[Number]],name:"statistics",write:!0}})],g.prototype,"customStatistics",void 0),(0,n.Cg)([(0,u.w)("customStatistics")],g.prototype,"readCustomStatistics",null),(0,n.Cg)([(0,p.K)("customStatistics")],g.prototype,"writeCustomStatistics",null),(0,n.Cg)([(0,a.MZ)({type:Boolean,json:{write:!0}})],g.prototype,"useGamma",void 0),(0,n.Cg)([(0,a.MZ)({type:d.u.apiValues,json:{type:d.u.jsonValues,write:d.u.write}})],g.prototype,"stretchType",void 0),(0,n.Cg)([(0,u.w)("stretchType",["stretchType"])],g.prototype,"readStretchType",null),(0,n.Cg)([(0,l.e)({rasterStretch:"raster-stretch"})],g.prototype,"type",void 0),g=r=(0,n.Cg)([(0,c.$)("esri.renderers.RasterStretchRenderer")],g)},37531:(e,t,i)=>{i.d(t,{dt:()=>d,GG:()=>f,UQ:()=>h,Sx:()=>c});var r=i(68197),n=i(60999),o=(i(44208),i(51850)),s=(i(76369),i(62046)),a=(i(2741),i(78888),i(66344));new Map([["dash",[4,3]],["dashdot",[4,3,1,3]],["dot",[1,3]],["longdash",[8,3]],["longdashdot",[8,3,1,3]],["longdashdotdot",[8,3,1,3,1,3]],["shortdash",[4,1]],["shortdashdot",[4,1,1,1]],["shortdashdotdot",[4,1,1,1,1,1]],["shortdot",[1,1]],["solid",[]]]),new a.q(1e3),new r.A([128,128,128]);var l=i(28975),u=i(33910);function c(e,t){if(!e)return null;let i=null;return(0,u.wk)(e)?i=function(e){const t=e.symbolLayers;if(!t)return null;let i=null;return t.forEach(e=>{"object"===e.type&&e.resource?.href||(i="water"===e.type?e.color:e.material?e.material.color:null)}),i?new r.A(i):null}(e):(0,u.$y)(e)&&(i="cim"===e.type?(0,s.Nk)(e):e.color?new r.A(e.color):null),i?p(i,t):null}function p(e,t){if(null==t||null==e)return e;const i=e.toRgba();return i[3]=i[3]*t,new r.A(i)}function d(e,t,i){e&&(t||null!=i)&&(t&&(t=new r.A(t)),(0,u.wk)(e)?function(e,t,i){const n=e.symbolLayers;if(!n)return;const o=(e,n=!1)=>{let o=t??e??null;return null!=i?.override&&(!o&&n&&(o=new r.A([255,255,255])),o&&(o.a=i.override)),p(o,i?.add)};n.forEach(e=>{if("water"===e.type)return void(e.color=p(e.color,i?.add));const t=null!=e.material?e.material.color:null,r=o(t,"icon"===e.type&&null!=e.resource?.href);null==e.material?e.material=new l.N({color:r}):e.material.color=r,"outline"in e&&e.outline?.color&&null!=i?.add&&(e.outline.color=p(e.outline.color,i.add)),"marker"in e&&null!=e.marker&&(e.marker.color=o(e.marker.color))})}(e,t,i):(0,u.$y)(e)&&function(e,t,i){t=t??e.color,null!=i?.override&&t&&(t.a=i.override),t&&(e.color=p(t,i?.add)),"outline"in e&&e.outline?.color&&(e.outline.color=p(e.outline.color,i?.add))}(e,t,i))}function m(e){for(const t of e)if("number"==typeof t)return t;return null}function g(e,t,i){for(let r=0;r<3;r++){const n=e[r];switch(n){case"symbol-value":{const e=i[r];return null!=e?e/t[r]:1}case"proportional":break;default:if(n&&t[r])return n/t[r]}}return null}function y(e,t,i,r){switch(e){case"proportional":return i*r;case"symbol-value":return null!=t?t:i;default:return e}}async function h(e,t){if(e&&t)return(0,u.wk)(e)?async function(e,t){const r=e.symbolLayers;r&&await(0,n.jJ)(r,async e=>async function(e,t){switch(e.type){case"extrude":!function(e,t){const i=t[2];"number"==typeof i&&(e.size=i)}(e,t);break;case"icon":case"line":case"text":!function(e,t){const i=m(t);null!=i&&(e.size=i)}(e,t);break;case"path":!function(e,t){const i=g(t,o.Un,[e.width,void 0,e.height]);null!=i&&(e.width=y(t[0],e.width,1,i),e.height=y(t[2],e.height,1,i))}(e,t);break;case"object":await async function(e,t){const{resourceSize:r,symbolSize:n}=await async function(e){const{computeObjectLayerResourceSize:t}=await i.e(5404).then(i.bind(i,95404)),r=await t(e,10),{width:n,height:o,depth:s}=e,a=[n,s,o];let l=1;for(let e=0;e<3;e++){const t=a[e];if(null!=t){l=t/r[e];break}}for(let e=0;e<3;e++)null==a[e]&&(a[e]=r[e]*l);return{resourceSize:r,symbolSize:a}}(e),o=g(t,r,n);null!=o&&(e.width=y(t[0],n[0],r[0],o),e.depth=y(t[1],n[1],r[1],o),e.height=y(t[2],n[2],r[2],o))}(e,t)}}(e,t))}(e,t):void((0,u.$y)(e)&&function(e,t){const i=m(t);if(null!=i)switch(e.type){case"simple-marker":e.size=i;break;case"picture-marker":{const t=e.width/e.height;t>1?(e.width=i,e.height=i*t):(e.width=i*t,e.height=i);break}case"simple-line":e.width=i;break;case"text":e.font.size=i}}(e,t))}function f(e,t,i){if(e&&null!=t)if((0,u.wk)(e)){const r=e.symbolLayers;r&&r.forEach(e=>{if("object"===e.type)switch(i){case"tilt":e.tilt=(e.tilt??0)+t;break;case"roll":e.roll=(e.roll??0)+t;break;default:e.heading=(e.heading??0)+t}"icon"===e.type&&(e.angle+=t)})}else(0,u.$y)(e)&&("simple-marker"!==e.type&&"picture-marker"!==e.type&&"text"!==e.type||(e.angle+=t))}},43577:(e,t,i)=>{i.d(t,{A:()=>g});var r,n=i(31635),o=i(25482),s=i(10107),a=(i(44208),i(53966),i(87811),i(40608)),l=i(5443),u=i(91075),c=i(39829),p=i(65864),d=i(45617);const m={base:u.A,key:"type",typeMap:{extent:l.A,polygon:c.A}};let g=r=class extends o.o{constructor(e){super(e),this.areaOfInterest=null,this.subsetDefinitions=null}get dimensions(){const{subsetDefinitions:e}=this;if(null==e||0===e.length)return[];const t=new Map;e.forEach(e=>{if(!e.dimensionName)return;let i,r;if(Array.isArray(e.values[0])){const t=e.values;i=t[0][0],r=t[e.values.length-1][1]}else{const t=e.values;i=t[0],r=t[e.values.length-1]}if(t.has(e.dimensionName)){const n=t.get(e.dimensionName);n[0]=Math.min(i,n[0]),n[1]=Math.max(r,n[1])}else t.set(e.dimensionName,[i,r])});const i=[];for(const e of t)i.push({name:e[0],extent:e[1]});return i}get variables(){const{subsetDefinitions:e}=this;if(null==e||0===e.length)return[];const t=new Set;return e.forEach(e=>{e.variableName&&t.add(e.variableName)}),[...t]}clone(){const e=this.subsetDefinitions?.map(e=>e.clone()),t=this.areaOfInterest?this.areaOfInterest.clone():this.areaOfInterest;return new r({areaOfInterest:t,subsetDefinitions:e})}};(0,n.Cg)([(0,s.MZ)({types:m,json:{read:p.rS,write:!0}})],g.prototype,"areaOfInterest",void 0),(0,n.Cg)([(0,s.MZ)({readOnly:!0})],g.prototype,"dimensions",null),(0,n.Cg)([(0,s.MZ)({readOnly:!0})],g.prototype,"variables",null),(0,n.Cg)([(0,s.MZ)({type:[d.A],json:{write:!0}})],g.prototype,"subsetDefinitions",void 0),g=r=(0,n.Cg)([(0,a.$)("esri.layers.support.MultidimensionalSubset")],g)},45617:(e,t,i)=>{i.d(t,{A:()=>c});var r,n=i(31635),o=i(25482),s=i(4718),a=i(10107),l=i(56507),u=i(40608);let c=r=class extends o.o{constructor(e){super(e),this.variableName=null,this.dimensionName=null,this.values=[],this.isSlice=!1}clone(){return new r({variableName:this.variableName,dimensionName:this.dimensionName,values:(0,s.o8)(this.values),isSlice:this.isSlice})}};(0,n.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],c.prototype,"variableName",void 0),(0,n.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],c.prototype,"dimensionName",void 0),(0,n.Cg)([(0,a.MZ)({type:l.gK.array(l.gK.oneOf([l.gK.native(Number),l.gK.array(l.gK.native(Number))])),json:{write:!0}})],c.prototype,"values",void 0),(0,n.Cg)([(0,a.MZ)({type:Boolean,json:{write:!0}})],c.prototype,"isSlice",void 0),c=r=(0,n.Cg)([(0,u.$)("esri.layers.support.DimensionalDefinition")],c)},46981:(e,t,i)=>{i.d(t,{A:()=>d});var r,n=i(31635),o=i(25482),s=i(4718),a=i(10107),l=(i(44208),i(53966),i(93223)),u=i(36005),c=i(40608),p=i(95349);let d=r=class extends o.o{constructor(e){super(e),this.altitude=45,this.azimuth=315,this.colorRamp=null,this.hillshadeType="traditional",this.pixelSizePower=.664,this.pixelSizeFactor=.024,this.scalingType="none",this.type="raster-shaded-relief",this.zFactor=1}readColorRamp(e){return(0,p.r)(e)}clone(){return new r({hillshadeType:this.hillshadeType,altitude:this.altitude,azimuth:this.azimuth,zFactor:this.zFactor,scalingType:this.scalingType,pixelSizeFactor:this.pixelSizeFactor,pixelSizePower:this.pixelSizePower,colorRamp:(0,s.o8)(this.colorRamp)})}};(0,n.Cg)([(0,a.MZ)({type:Number,json:{write:{isRequired:!0}}})],d.prototype,"altitude",void 0),(0,n.Cg)([(0,a.MZ)({type:Number,json:{write:{isRequired:!0}}})],d.prototype,"azimuth",void 0),(0,n.Cg)([(0,a.MZ)({types:p.g,json:{write:!0}})],d.prototype,"colorRamp",void 0),(0,n.Cg)([(0,u.w)("colorRamp")],d.prototype,"readColorRamp",null),(0,n.Cg)([(0,a.MZ)({type:["traditional","multi-directional"],json:{write:{isRequired:!0}}})],d.prototype,"hillshadeType",void 0),(0,n.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],d.prototype,"pixelSizePower",void 0),(0,n.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],d.prototype,"pixelSizeFactor",void 0),(0,n.Cg)([(0,a.MZ)({type:["none","adjusted"],json:{write:{isRequired:!0}}})],d.prototype,"scalingType",void 0),(0,n.Cg)([(0,l.e)({rasterShadedRelief:"raster-shaded-relief"}),(0,a.MZ)({json:{write:{isRequired:!0}}})],d.prototype,"type",void 0),(0,n.Cg)([(0,a.MZ)({type:Number,json:{write:{isRequired:!0}}})],d.prototype,"zFactor",void 0),d=r=(0,n.Cg)([(0,c.$)("esri.renderers.RasterShadedReliefRenderer")],d)},49410:(e,t,i)=>{i.d(t,{A:()=>l});var r=i(31635),n=i(25482),o=i(10107),s=(i(44208),i(53966),i(87811),i(40608)),a=i(86738);let l=class extends n.o{constructor(){super(...arguments),this.attributes=null,this.location=null,this.locationId=null,this.rasterId=null,this.resolution=null,this.pixelValue=null}};(0,r.Cg)([(0,o.MZ)({json:{write:!0}})],l.prototype,"attributes",void 0),(0,r.Cg)([(0,o.MZ)({type:a.A,json:{write:!0}})],l.prototype,"location",void 0),(0,r.Cg)([(0,o.MZ)({json:{write:!0}})],l.prototype,"locationId",void 0),(0,r.Cg)([(0,o.MZ)({json:{write:!0}})],l.prototype,"rasterId",void 0),(0,r.Cg)([(0,o.MZ)({json:{write:!0}})],l.prototype,"resolution",void 0),(0,r.Cg)([(0,o.MZ)({json:{write:!0}})],l.prototype,"pixelValue",void 0),l=(0,r.Cg)([(0,s.$)("esri.rest.support.ImageSample")],l)},51508:(e,t,i)=>{i.d(t,{A:()=>l});var r=i(31635),n=i(25482),o=i(10107),s=(i(44208),i(53966),i(87811),i(40608)),a=i(49410);let l=class extends n.o{constructor(){super(...arguments),this.samples=[]}};(0,r.Cg)([(0,o.MZ)({type:[a.A],json:{write:!0}})],l.prototype,"samples",void 0),l=(0,r.Cg)([(0,s.$)("esri.rest.support.ImageSampleResult")],l)},52106:(e,t,i)=>{i.d(t,{A:()=>b});var r,n=i(31635),o=i(37838),s=i(69540),a=i(51447),l=i(25482),u=i(53966),c=i(36708),p=i(24326),d=i(10107),m=(i(44208),i(87811),i(40608)),g=i(12195),y=i(65864),h=i(50498),f=i(55156),M=i(60950),w=i(54339),I=i(33910);function A(e){if(null==e)return null;const t={};for(const i in e){const r=e[i];r&&(t[i]=r.toJSON())}return 0!==Object.keys(t).length?t:null}let b=class extends((0,s.OU)(l.o)){static{r=this}constructor(e){super(e),this.isAggregate=!1,this.layer=null,this.origin=null,this.sourceLayer=null,this._version=0,Object.defineProperty(this,"uid",{value:(0,p.c)(),configurable:!0}),Object.defineProperty(this,"_lastMeshTransform",{value:{},configurable:!0,writable:!0,enumerable:!1}),arguments.length>1&&(0,a.eF)(u.A.getLogger(this),"Graphic",{version:"4.30"})}initialize(){this._watchMeshGeometryChanges()}set aggregateGeometries(e){const t=this._get("aggregateGeometries");JSON.stringify(t)!==JSON.stringify(e)&&this._set("aggregateGeometries",e)}set attributes(e){const t=this._get("attributes");t!==e&&(this._set("attributes",e),this._notifyLayer("attributes",t,e))}set geometry(e){const t=this._get("geometry");t!==e&&(this._set("geometry",e),"mesh"!==e?.type&&this._notifyLayer("geometry",t,e))}set popupTemplate(e){const t=this._get("popupTemplate");t!==e&&(this._set("popupTemplate",e),this._notifyLayer("popupTemplate",t,e))}set symbol(e){const t=this._get("symbol");t!==e&&(this._set("symbol",e),this._notifyLayer("symbol",t,e))}get version(){return this._version}set visible(e){const t=this._get("visible");t!==e&&(this._set("visible",e),this._notifyLayer("visible",t,e))}cloneShallow(){return new r({aggregateGeometries:this.aggregateGeometries,attributes:this.attributes,geometry:this.geometry,isAggregate:this.isAggregate,layer:this.layer,popupTemplate:this.popupTemplate,sourceLayer:this.sourceLayer,symbol:this.symbol,visible:this.visible,origin:this.origin})}getEffectivePopupTemplate(e=!1){if(this.popupTemplate)return this.popupTemplate;const t=(0,M.E_)(this.origin);if(t)return t.popupTemplate??(e?t.defaultPopupTemplate:null)??null;const i=this.origin&&"layer"in this.origin?this.origin.layer:null;for(const t of[i,this.sourceLayer,this.layer])if(t&&"object"==typeof t){if("popupTemplate"in t&&t.popupTemplate)return t.popupTemplate;if(e&&"defaultPopupTemplate"in t&&null!=t.defaultPopupTemplate)return t.defaultPopupTemplate}return null}getAttribute(e){return this.attributes?.[e]}setAttribute(e,t){if(this.attributes){const i=this.getAttribute(e);this.attributes[e]=t,this._notifyLayer("attributes",i,t,e)}else this.attributes={[e]:t}}getObjectId(){const e=(0,f.I)(this.origin);if(e)return(0,w.r)(this,e);const t=this.sourceLayer??this.layer;return t?(0,w.r)(this,t):null}getGlobalId(){const e=(0,f.I)(this.origin);if(e?.globalIdField)return this.getAttribute(e.globalIdField);const t=this.sourceLayer??this.layer;return t&&"globalIdField"in t&&t.globalIdField?this.getAttribute(t.globalIdField):null}toJSON(){return{aggregateGeometries:A(this.aggregateGeometries),geometry:null!=this.geometry?this.geometry.toJSON():null,symbol:null!=this.symbol?this.symbol.toJSON():null,attributes:(0,g.W)(this.attributes)?this.attributes.toJSON():{...this.attributes},popupTemplate:this.popupTemplate?.toJSON()??null}}notifyMeshTransformChanged(e={}){const{geometry:t}=this;if("mesh"===t?.type){const i={origin:t.origin,transform:t.transform};this._notifyLayer("origin-transform",i,i,e.action)}}_notifyLayer(e,t,i,r){if(this._version++,!this.layer||!("graphicChanged"in this.layer))return;const n={graphic:this,property:e,oldValue:t,newValue:i};"origin-transform"===e&&(n.action=r),"attributes"===e&&(n.attributeName=r),this.layer.graphicChanged(n)}_watchMeshGeometryChanges(){this.addHandles([(0,c.z7)(()=>"mesh"===this.geometry?.type&&this.geometry.vertexSpace.origin?{localMatrix:this.geometry.transform?.localMatrix,origin:this.geometry.vertexSpace.origin}:void 0,({localMatrix:e,origin:t})=>{this._lastMeshTransform.localMatrix===e&&this._lastMeshTransform.origin===t||(this._lastMeshTransform.localMatrix=e,this._lastMeshTransform.origin=t,this.notifyMeshTransformChanged())}),(0,c.z7)(()=>"mesh"===this.geometry?.type?{vertexAttributes:this.geometry.vertexAttributes}:void 0,()=>{const e=this.geometry;"mesh"===e?.type&&e.vertexSpace.origin?(this._lastMeshTransform.localMatrix=e.transform?.localMatrix,this._lastMeshTransform.origin=e.vertexSpace.origin):(this._lastMeshTransform.localMatrix=void 0,this._lastMeshTransform.origin=void 0),this._notifyLayer("geometry",this.geometry,this.geometry)},{equals:(e,t)=>e===t,sync:!0})])}};(0,n.Cg)([(0,d.MZ)({value:null,json:{read:function(e){if(!e)return null;const t={};for(const i in e){const r=(0,y.rS)(e[i]);r&&(t[i]=r)}return 0!==Object.keys(t).length?t:null}}})],b.prototype,"aggregateGeometries",null),(0,n.Cg)([(0,d.MZ)({value:null})],b.prototype,"attributes",null),(0,n.Cg)([(0,d.MZ)({value:null,types:h.yR,json:{read:y.rS}})],b.prototype,"geometry",null),(0,n.Cg)([(0,d.MZ)({type:Boolean})],b.prototype,"isAggregate",void 0),(0,n.Cg)([(0,d.MZ)({clonable:!1})],b.prototype,"layer",void 0),(0,n.Cg)([(0,d.MZ)({clonable:"reference"})],b.prototype,"origin",void 0),(0,n.Cg)([(0,d.MZ)({type:o.A,value:null})],b.prototype,"popupTemplate",null),(0,n.Cg)([(0,d.MZ)({clonable:"reference"})],b.prototype,"sourceLayer",void 0),(0,n.Cg)([(0,d.MZ)({value:null,types:I.Es})],b.prototype,"symbol",null),(0,n.Cg)([(0,d.MZ)({clonable:!1,json:{read:!1,write:!1}})],b.prototype,"_version",void 0),(0,n.Cg)([(0,d.MZ)({type:Boolean,value:!0})],b.prototype,"visible",null),b=r=(0,n.Cg)([(0,m.$)("esri.Graphic")],b)},54339:(e,t,i)=>{function r(e,t){switch(t.type){case"object-id":case"unique-id-simple":return e.attributes[t.fieldName];case"unique-id-composite":{const i=[];for(const r of t.fieldNames)i.push(e.attributes[r]??null);return JSON.stringify(i)}}}function n(e,t){if("uniqueIdFields"in t&&t.uniqueIdFields?.length){if(1===t.uniqueIdFields.length)return e.attributes?.[t.uniqueIdFields[0]];const i=t.uniqueIdFields.map(t=>e.attributes?.[t]);return JSON.stringify(i)}return"objectIdField"in t&&t.objectIdField?e.attributes?.[t.objectIdField]:null}i.d(t,{W:()=>r,r:()=>n})},55156:(e,t,i)=>{i.d(t,{I:()=>n,e:()=>r});const r=Symbol("idFieldsProviderSymbol");function n(e){return(t=e)&&r in t?e[r]:void 0;var t}},62046:(e,t,i)=>{i.d(t,{Fe:()=>c,Nk:()=>o});var r=i(68197),n=i(93397);function o(e){const t=[];return s((0,n.lW)(e),t),t.length?new r.A((0,n.e6)(t[0])):null}function s(e,t){if(!e)return;let i;i="CIMTextSymbol"===e.type?e.symbol:e;const r="CIMPolygonSymbol"===e.type;if(i?.symbolLayers)for(const e of i.symbolLayers)if(!(e.colorLocked||r&&((0,n.mA)(e)||(0,n.MM)(e)&&e.markerPlacement&&(0,n.zr)(e.markerPlacement))))switch(e.type){case"CIMPictureMarker":case"CIMPictureStroke":case"CIMPictureFill":e.tintColor&&a(t,e.tintColor);break;case"CIMVectorMarker":e.markerGraphics?.forEach(e=>{s(e.symbol,t)});break;case"CIMSolidStroke":case"CIMSolidFill":a(t,e.color);break;case"CIMGradientFill":l(t,e);break;case"CIMHatchFill":s(e.lineSymbol,t)}}function a(e,t){for(const i of e)if(i.join(".")===t.join("."))return;e.push(t)}function l(e,t){const i=t.colorRamp?.type;switch(i){case"CIMMultipartColorRamp":t.colorRamp.colorRamps?.forEach(t=>{"CIMLinearContinuousColorRamp"===t.type&&u(e,t)});break;case"CIMLinearContinuousColorRamp":case"CIMPolarContinuousColorRamp":u(e,t.colorRamp)}}function u(e,t){t&&(t.fromColor&&a(e,t.fromColor),t.toColor&&a(e,t.toColor))}function c(e,t,i){t instanceof r.A||(t=new r.A(t));const o=(0,n.lW)(e);o&&p(o,t,i)}function p(e,t,i){if(!e)return;let r;r="CIMTextSymbol"===e.type?e.symbol:e;const o="CIMPolygonSymbol"===r?.type;if(r?.symbolLayers)for(const e of r.symbolLayers){if(e.colorLocked)continue;if(o)if(i){const{layersToColor:t}=i;if(((0,n.mA)(e)||(0,n.MM)(e)&&e.markerPlacement&&(0,n.zr)(e.markerPlacement))&&"fill"===t||(0,n.jn)(e)&&"outline"===t)continue}else if((0,n.mA)(e)||(0,n.MM)(e)&&e.markerPlacement&&(0,n.zr)(e.markerPlacement))continue;const r=t.toArray();switch(e.type){case"CIMPictureMarker":case"CIMPictureStroke":case"CIMPictureFill":e.tintColor=r;break;case"CIMVectorMarker":e.markerGraphics?.forEach(e=>{p(e.symbol,t,i)});break;case"CIMSolidStroke":case"CIMSolidFill":e.color=r;break;case"CIMGradientFill":d(e,t);break;case"CIMHatchFill":p(e.lineSymbol,t,i)}}}function d(e,t){const i=e.colorRamp?.type;switch(i){case"CIMMultipartColorRamp":e.colorRamp.colorRamps?.forEach(e=>{"CIMLinearContinuousColorRamp"===e.type&&m(e,t)});break;case"CIMLinearContinuousColorRamp":case"CIMPolarContinuousColorRamp":m(e.colorRamp,t)}}function m(e,t){if(e&&(e.fromColor&&(e.fromColor=t.toArray()),e.toColor)){const i=t.clone();i.a=0,e.toColor=i.toArray()}}},63660:(e,t,i)=>{i.d(t,{G:()=>m});var r=i(31635),n=i(10107),o=(i(44208),i(53966),i(87811),i(40608)),s=i(49186),a=i(29953),l=i(14140);class u{constructor(){this._workerThread=null,this._destroyed=!1}async initialize(){const e=await(0,a.ho)("RasterWorker");this._destroyed?e.close():this._workerThread=e}destroy(){this._destroyed=!0,this._workerThread&&(this._workerThread.close(),this._workerThread=null)}async convertVectorFieldData(e,t){if(!this._workerThread)throw new s.A("raster-jobhandler:no-connection","no available worker connection");const i=e.pixelBlock.getTransferableObject().pixelBlock,r=await this._workerThread.invoke("convertVectorFieldData",{pixelBlock:i,type:e.dataType},t);return r?new l.A(r):null}async convertPixelBlockToFeatures(e,t){if(!this._workerThread)throw new s.A("raster-jobhandler:no-connection","no available worker connection");const i=await this._workerThread.invoke("convertPixelBlockToFeatures",{pixelBlock:e.pixelBlock.toJSON(),extent:e.extent.toJSON(),fieldNames:e.fieldNames,skipFactor:e.skipFactor,pixelIdOffset:e.pixelIdOffset,imageRowSize:e.imageRowSize},t),r=e.extent.spatialReference?.toJSON();return i.forEach(e=>e.geometry.spatialReference=r),i}computeStatisticsHistograms(e,t){if(!this._workerThread)throw new s.A("raster-jobhandler:no-connection","no available worker connection");const{transferList:i,pixelBlock:r}=e.pixelBlock.getTransferableObject();return t?.transferPixelsToWorker&&(t={...t,transferList:i}),this._workerThread.invoke("computeStatisticsHistograms",{...e,pixelBlock:r},t)}async decode(e,t){if(!this._workerThread)throw new s.A("raster-jobhandler:no-connection","no available worker connection");const i=await this._workerThread.invoke("decode",e,{...t,transferList:[e.data]});return i?new l.A(i):null}async symbolize(e,t){if(!this._workerThread)throw new s.A("raster-jobhandler:no-connection","no available worker connection");const i=e.pixelBlock?.getTransferableObject().pixelBlock,r={extent:e.extent?.toJSON(),pixelBlock:i,simpleStretchParams:e.simpleStretchParams,bandIds:e.bandIds},n=await this._workerThread.invoke("symbolize",r,t);return n?new l.A(n):null}async highlightPixels(e,t){if(!this._workerThread)throw new s.A("raster-jobhandler:no-connection","no available worker connection");const i={pixelBlock:e.pixelBlock?.toJSON(),renderedPixelBlock:e.renderedPixelBlock?.toJSON(),highlightOptions:e.highlightOptions},r=await this._workerThread.invoke("highlightPixels",i,t);e.renderedPixelBlock.pixels=r.pixels,e.renderedPixelBlock.mask=r.mask,e.renderedPixelBlock.maskIsAlpha=r.maskIsAlpha}async updateSymbolizer(e,t){if(!this._workerThread)throw new s.A("raster-jobhandler:no-connection","no available worker connection");const i=e?.rendererJSON?.histograms;await Promise.all(this._workerThread.broadcast("updateSymbolizer",{symbolizerJSON:e.toJSON(),histograms:i},t))}async updateRasterFunction(e,t){if(!this._workerThread)throw new s.A("raster-jobhandler:no-connection","no available worker connection");await Promise.all(this._workerThread.broadcast("updateRasterFunction",{rasterFunctionJSON:e.toJSON()},t))}async process(e,t){if(!this._workerThread)throw new s.A("raster-jobhandler:no-connection","no available worker connection");const i=await this._workerThread.invoke("process",{extent:e.extent?.toJSON(),primaryPixelSizes:e.primaryPixelSizes?.map(e=>null!=e?e.toJSON():null),primaryPixelBlocks:e.primaryPixelBlocks.map(e=>e?.getTransferableObject().pixelBlock),primaryRasterIds:e.primaryRasterIds},t);return i?new l.A(i):null}async stretch(e,t){if(!this._workerThread)throw new s.A("raster-jobhandler:no-connection","no available worker connection");if(!e?.pixelBlock)return null;const i={srcPixelBlock:e.pixelBlock.getTransferableObject().pixelBlock,stretchParams:e.stretchParams},r=await this._workerThread.invoke("stretch",i,t);return r?new l.A(r):null}async split(e,t){if(!this._workerThread)throw new s.A("raster-jobhandler:no-connection","no available worker connection");if(!e?.pixelBlock)return null;const i={srcPixelBlock:e.pixelBlock.getTransferableObject().pixelBlock,tileSize:e.tileSize,maximumPyramidLevel:e.maximumPyramidLevel,useBilinear:e.useBilinear},r=await this._workerThread.invoke("split",i,t);return r&&r.forEach((e,t)=>{r.set(t,e?l.A.fromJSON(e):null)}),r}async clipTile(e,t){if(!this._workerThread)throw new s.A("raster-jobhandler:no-connection","no available worker connection");if(!e?.pixelBlock)return null;const i=e.pixelBlock.getTransferableObject().pixelBlock,r={...e,pixelBlock:i},n=await this._workerThread.invoke("clipTile",r,t);return n?l.A.fromJSON(n):null}async estimateStatisticsHistograms(e,t){if(!this._workerThread)throw new s.A("raster-jobhandler:no-connection","no available worker connection");if(!e?.pixelBlock)return null;const i={srcPixelBlock:e.pixelBlock.getTransferableObject().pixelBlock};return await this._workerThread.invoke("estimateStatisticsHistograms",i,t)}async mosaicAndTransform(e,t){if(!this._workerThread)throw new s.A("raster-jobhandler:no-connection","no available worker connection");if(!e?.srcPixelBlocks?.length)return{pixelBlock:null};const i=e.srcPixelBlocks.map(e=>e?.getTransferableObject()),r={...e,srcPixelBlocks:i.map(e=>e?.pixelBlock)};if(t?.transferPixelsToWorker){const e=i.flatMap(e=>e?.transferList).filter(e=>null!=e);t={...t,transferList:e}}const n=await this._workerThread.invoke("mosaicAndTransform",r,t);return{pixelBlock:n.pixelBlock?new l.A(n.pixelBlock):null,localNorthDirections:n.localNorthDirections}}async createFlowMesh(e,t){if(!this._workerThread)throw new s.A("raster-jobhandler:no-connection","no available worker connection");const i={buffer:e.flowData.data.buffer,maskBuffer:e.flowData.mask.buffer,width:e.flowData.width,height:e.flowData.height},{meshType:r,simulationSettings:n}=e,o=await this._workerThread.invoke("createFlowMesh",{meshType:r,flowData:i,simulationSettings:n},{...t,transferList:[i.buffer,i.maskBuffer]});return{vertexData:new Float32Array(o.vertexBuffer),indexData:new Uint32Array(o.indexBuffer)}}getProjectionOffsetGrid(e,t){if(!this._workerThread)throw new s.A("raster-jobhandler:no-connection","no available worker connection");const i=null!=e.datumTransformation?e.datumTransformation.steps.map(e=>({wkid:e.wkid,wkt:e.wkt,isInverse:e.isInverse})):null,r=null!=e.rasterTransform?e.rasterTransform.toJSON():null,n={projectedExtent:e.projectedExtent.toJSON(),srcBufferExtent:e.srcBufferExtent.toJSON(),pixelSize:e.pixelSize,hasWrapAround:e.hasWrapAround,spacing:e.spacing,datumTransformationSteps:i,rasterTransform:r,isAdaptive:e.isAdaptive,includeGCSGrid:e.includeGCSGrid};return this._workerThread.invoke("getProjectionOffsetGrid",n,t)}}var c=i(14636),p=i(12711),d=i(4095);const m=e=>{const t=e;let i=class extends t{constructor(){super(...arguments),this._rasterJobHandlerConfig={instance:null,refCount:0,connectionPromise:null}}get _rasterJobHandler(){return this._rasterJobHandlerConfig.instance}increaseRasterJobHandlerUsage(){this._rasterJobHandlerConfig.refCount++}decreaseRasterJobHandlerUsage(){this._rasterJobHandlerConfig.refCount--,this._rasterJobHandlerConfig.refCount<=0&&this._shutdownJobHandler()}async convertVectorFieldData(e,t,i){if(null==e)return null;const r=this._rasterJobHandler;return r?r.convertVectorFieldData({pixelBlock:e,dataType:t},i):(0,c.FI)(e,t)}async createFlowMesh(e,t){const i=this._rasterJobHandler;return i?i.createFlowMesh(e,t):(0,d.CW)(e.meshType,e.simulationSettings,e.flowData,null!=t.signal?t.signal:(new AbortController).signal)}_initJobHandler(){const{_rasterJobHandlerConfig:e}=this;if(e.connectionPromise)return e.connectionPromise;const t=new u;return e.connectionPromise=t.initialize().then(()=>{e.instance=t,this.notifyChange("_rasterJobHandler")},()=>{}),e.connectionPromise}_shutdownJobHandler(){const{_rasterJobHandlerConfig:e}=this;e.instance?.destroy(),e.instance=null,e.connectionPromise=null,e.refCount=0,this.notifyChange("_rasterJobHandler"),this._cachedRendererJson=void 0}async _updateSymbolizer(e,t,i,r){const n=this._rasterJobHandlerConfig.instance;if(!n)return;const o=(0,p.$P)({...t.toJSON(),variableName:i});JSON.stringify(this._cachedRendererJson)!==JSON.stringify(o)&&(r&&(e.rasterInfo=r),e.rendererJSON=o,e.bind(),await n.updateSymbolizer(e),this._cachedRendererJson=t.toJSON())}async _symbolize(e,t){const{pixelData:i,bandIds:r,simpleStretchParams:n}=e,o=this._rasterJobHandler;if(o){const e=await o.symbolize({...i,simpleStretchParams:n,bandIds:r},t);return{extent:i.extent,pixelBlock:e}}const s=e.symbolizer.symbolize({...i,simpleStretchParams:n,bandIds:r});return{extent:i.extent,pixelBlock:s}}};return(0,r.Cg)([(0,n.MZ)({clonable:!1})],i.prototype,"_rasterJobHandler",null),(0,r.Cg)([(0,n.MZ)({clonable:!1})],i.prototype,"_cachedRendererJson",void 0),(0,r.Cg)([(0,n.MZ)({clonable:!1})],i.prototype,"_rasterJobHandlerConfig",void 0),i=(0,r.Cg)([(0,o.$)("esri.layers.mixins.RasterJobHandlerMixin")],i),i}},67730:(e,t,i)=>{i.d(t,{A:()=>f});var r,n=i(31635),o=i(68197),s=i(66552),a=i(25482),l=i(90629),u=i(10107),c=i(56507),p=(i(44208),i(87811),i(93223)),d=i(40608),m=i(63988),g=i(30943),y=i(20061);const h=new s.J({flow_from:"flow-from",flow_to:"flow-to"});let f=r=class extends((0,m.h)(a.o)){constructor(e){super(e),this.density=.8,this.color=new o.A([255,255,255,1]),this.maxPathLength=200,this.trailWidth=1.5,this.flowSpeed=10,this.trailLength=100,this.smoothing=0,this.flowRepresentation="flow-from",this.type="flow",this.authoringInfo=null,this.legendOptions=null,this.trailCap="butt",this.background="none"}set visualVariables(e){super.visualVariables=e}clone(){const{density:e,maxPathLength:t,trailWidth:i,flowSpeed:n,trailLength:o,smoothing:s,flowRepresentation:a,trailCap:l,background:u}=this,c=this.color.clone(),p=(this.visualVariables||[]).map(e=>e.clone()),d=this.authoringInfo?.clone(),m=this.legendOptions?.clone();return new r({density:e,color:c,maxPathLength:t,trailWidth:i,flowSpeed:n,trailLength:o,trailCap:l,background:u,smoothing:s,flowRepresentation:a,visualVariables:p,authoringInfo:d,legendOptions:m})}getSymbol(e,t){}async getSymbolAsync(e,t){}getSymbols(){return[]}};(0,n.Cg)([(0,u.MZ)({type:Number,json:{write:!0}})],f.prototype,"density",void 0),(0,n.Cg)([(0,u.MZ)({type:o.A,json:{type:[c.jz],write:{allowNull:!0}}})],f.prototype,"color",void 0),(0,n.Cg)([(0,u.MZ)({type:Number,cast:l.cr,json:{write:!0}})],f.prototype,"maxPathLength",void 0),(0,n.Cg)([(0,u.MZ)({type:Number,cast:l.cr,json:{write:!0}})],f.prototype,"trailWidth",void 0),(0,n.Cg)([(0,u.MZ)({type:Number,json:{write:!0}})],f.prototype,"flowSpeed",void 0),(0,n.Cg)([(0,u.MZ)({type:Number,json:{write:!0}})],f.prototype,"trailLength",void 0),(0,n.Cg)([(0,u.MZ)({type:Number,cast:l.cr,json:{write:!1}})],f.prototype,"smoothing",void 0),(0,n.Cg)([(0,u.MZ)({type:h.apiValues,json:{type:h.jsonValues,read:{reader:h.read},write:{writer:h.write}}})],f.prototype,"flowRepresentation",void 0),(0,n.Cg)([(0,p.e)({flowRenderer:"flow"}),(0,u.MZ)({json:{write:{isRequired:!0}}})],f.prototype,"type",void 0),(0,n.Cg)([(0,u.MZ)({type:g.A,json:{write:!0}})],f.prototype,"authoringInfo",void 0),(0,n.Cg)([(0,u.MZ)({type:y.A,json:{write:!0}})],f.prototype,"legendOptions",void 0),(0,n.Cg)([(0,u.MZ)({type:["butt","round"],json:{write:!0}})],f.prototype,"trailCap",void 0),(0,n.Cg)([(0,u.MZ)({type:String,json:{origins:{"web-scene":{write:!1}},write:!0}})],f.prototype,"background",void 0),f=r=(0,n.Cg)([(0,d.$)("esri.renderers.FlowRenderer")],f)},69052:(e,t,i)=>{i.d(t,{hr:()=>n,ie:()=>l,uC:()=>a});var r=i(34727);class n{constructor(e,t){this.min=e,this.max=t,this.range=t-e}normalize(e,t=0,i=!1){return o(this.range,this.min,this.max,e,t,i)}clamp(e,t=0){return(0,r.qE)(e-t,this.min,this.max)+t}monotonic(e,t,i){return e<t?t:t+s(this.range,e-t,i)}minimalMonotonic(e,t,i){return o(this.range,e,e+this.range,t,i)}center(e,t,i){return t=this.monotonic(e,t,i),this.normalize((e+t)/2,i)}diff(e,t,i){return this.monotonic(e,t,i)-e}shortestSignedDiff(e,t){e=this.normalize(e);const i=(t=this.normalize(t))-e,r=t<e?this.minimalMonotonic(e,t)-e:t-this.minimalMonotonic(t,e);return Math.abs(i)<Math.abs(r)?i:r}contains(e,t,i){return t=this.minimalMonotonic(e,t),(i=this.minimalMonotonic(e,i))>e&&i<t}}function o(e,t,i,r,n=0,o=!1){return(r-=n)<t?r+=s(e,t-r):r>i&&(r-=s(e,r-i)),o&&r===i&&(r=t),r+n}function s(e,t,i=0){return Math.ceil((t-i)/e)*e+i}const a=new n(0,2*Math.PI),l=(new n(-Math.PI,Math.PI),new n(0,360))},69208:(e,t,i)=>{i.d(t,{d:()=>s});var r=i(31635),n=i(10107),o=(i(44208),i(53966),i(87811),i(40608));const s=e=>{const t=e;let i=class extends t{constructor(){super(...arguments),this.customParameters=null}};return(0,r.Cg)([(0,n.MZ)({type:Object,json:{write:{overridePolicy:e=>({enabled:!!(e&&Object.keys(e).length>0)})}}})],i.prototype,"customParameters",void 0),i=(0,r.Cg)([(0,o.$)("esri.layers.mixins.CustomParametersMixin")],i),i}},70328:(e,t,i)=>{i.d(t,{BI:()=>w,DC:()=>p,Ej:()=>m,Ie:()=>f,Jt:()=>M,Ne:()=>g,RF:()=>c,aI:()=>A,fA:()=>s,gE:()=>l,hZ:()=>h,iT:()=>d,is:()=>I,qv:()=>b,vI:()=>y,vY:()=>a,v_:()=>C,vt:()=>o,w1:()=>u});var r=i(5443),n=(i(19419),i(4197));function o(e=C){return[e[0],e[1],e[2],e[3],e[4],e[5]]}function s(e,t,i,r,n,s,a=o()){return a[0]=e,a[1]=t,a[2]=i,a[3]=r,a[4]=n,a[5]=s,a}function a(e,t=o()){return function(e,t,i,r=o()){return h(r,b),function(e,t,i=0,r=t.length/3){let n=e[0],o=e[1],s=e[2],a=e[3],l=e[4],u=e[5];for(let e=0;e<r;e++)n=Math.min(n,t[i+3*e]),o=Math.min(o,t[i+3*e+1]),s=Math.min(s,t[i+3*e+2]),a=Math.max(a,t[i+3*e]),l=Math.max(l,t[i+3*e+1]),u=Math.max(u,t[i+3*e+2]);e[0]=n,e[1]=o,e[2]=s,e[3]=a,e[4]=l,e[5]=u}(r,e,t,i),r}(e,0,e.length/3,t)}function l(e,t=(0,n.jh)(24)){const[i,r,o,s,a,l]=e;return t[0]=i,t[1]=r,t[2]=o,t[3]=i,t[4]=r,t[5]=l,t[6]=i,t[7]=a,t[8]=o,t[9]=i,t[10]=a,t[11]=l,t[12]=s,t[13]=r,t[14]=o,t[15]=s,t[16]=r,t[17]=l,t[18]=s,t[19]=a,t[20]=o,t[21]=s,t[22]=a,t[23]=l,t}function u(e,t){const i=isFinite(e[2])||isFinite(e[5]);return new r.A(i?{xmin:e[0],xmax:e[3],ymin:e[1],ymax:e[4],zmin:e[2],zmax:e[5],spatialReference:t}:{xmin:e[0],xmax:e[3],ymin:e[1],ymax:e[4],spatialReference:t})}function c(e,t){e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),e[2]=Math.min(e[2],t[2]),e[3]=Math.max(e[3],t[3]),e[4]=Math.max(e[4],t[4]),e[5]=Math.max(e[5],t[5])}function p(e,t){e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),e[3]=Math.max(e[3],t[2]),e[4]=Math.max(e[4],t[3])}function d(e,t){e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),e[2]=Math.min(e[2],t[2]),e[3]=Math.max(e[3],t[0]),e[4]=Math.max(e[4],t[1]),e[5]=Math.max(e[5],t[2])}function m(e,t=[0,0,0]){return t[0]=function(e){return e[0]>=e[3]?0:e[3]-e[0]}(e),t[1]=function(e){return e[1]>=e[4]?0:e[4]-e[1]}(e),t[2]=function(e){return e[2]>=e[5]?0:e[5]-e[2]}(e),t}function g(e,t,i=e){return i[0]=t[0],i[1]=t[1],i[2]=t[2],i!==e&&(i[3]=e[3],i[4]=e[4],i[5]=e[5]),i}function y(e,t,i=e){return i[3]=t[0],i[4]=t[1],i[5]=t[2],i!==e&&(i[0]=e[0],i[1]=e[1],i[2]=e[2]),e}function h(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e}function f(e){return e?h(e,b):o(b)}function M(e,t){return e[0]=t[0],e[1]=t[1],e[2]=Number.NEGATIVE_INFINITY,e[3]=t[2],e[4]=t[3],e[5]=Number.POSITIVE_INFINITY,e}function w(e,t,i,r,n){return e[0]=t,e[1]=i,e[2]=Number.NEGATIVE_INFINITY,e[3]=r,e[4]=n,e[5]=Number.POSITIVE_INFINITY,e}function I(e){return 6===e.length}function A(e,t,i){if(null==e||null==t)return e===t;if(!I(e)||!I(t))return!1;if(i){for(let r=0;r<e.length;r++)if(!i(e[r],t[r]))return!1}else for(let i=0;i<e.length;i++)if(e[i]!==t[i])return!1;return!0}const b=[1/0,1/0,1/0,-1/0,-1/0,-1/0],C=[0,0,0,0,0,0];o()},73133:(e,t,i)=>{i.d(t,{j:()=>r});const r=(0,i(66552).O)()({esriTimeUnitsMilliseconds:"milliseconds",esriTimeUnitsSeconds:"seconds",esriTimeUnitsMinutes:"minutes",esriTimeUnitsHours:"hours",esriTimeUnitsDays:"days",esriTimeUnitsWeeks:"weeks",esriTimeUnitsMonths:"months",esriTimeUnitsYears:"years",esriTimeUnitsDecades:"decades",esriTimeUnitsCenturies:"centuries",esriTimeUnitsUnknown:void 0})},74797:(e,t,i)=>{i.d(t,{AL:()=>M,DV:()=>y,ER:()=>n,F_:()=>a,Nd:()=>m,Oo:()=>o,dy:()=>d,eS:()=>b,h4:()=>C,jC:()=>f,nq:()=>g,rZ:()=>p,y6:()=>h});var r=i(20437);const n="Raster.",o="Raster.Dim.",s=".Max",a={servicePixelValue:"Raster.ServicePixelValue",rawServicePixelValue:"Raster.ServicePixelValue.Raw",itemPixelValue:"Raster.ItemPixelValue",magnitude:"Raster.Magnitude",direction:"Raster.Direction",variable:"Raster.Variable"},l=new Map([["quarters","Quarter"],["months","Month"],["weeks","Week of the year"],["days","Day of the year"]]);function u(e,t){return new r.A({name:e,alias:t,domain:null,editable:!1,length:50,type:"string"})}function c(e,t){return new r.A({name:e,alias:t,domain:null,editable:!1,type:"double"})}function p(e){return u(a.servicePixelValue,e??"Service Pixel Value")}function d(e){return u(a.rawServicePixelValue,e??"Raw Service Pixel Value")}function m(){return u(a.itemPixelValue,"Item Pixel Value")}function g(e){return u(`${a.servicePixelValue}.${e}`,e)}function y(e){return c(`${a.magnitude}`,"Magnitude"+(e?` (${e})`:""))}function h(){return c(`${a.direction}`,"Direction (°)")}function f(e){return e.fields.filter(e=>"oid"!==e.type&&"value"!==e.name.toLowerCase()).map(e=>{const t=e.clone();return t.name=`${n}${e.name}`,t})}function M(e){const t=new Set,i=new Set,n=new Map;return e.variables.forEach(({dimensions:e})=>{e.forEach(e=>{if(e.recurring)n.set(e.name,e.unit);else{const r="ISO8601"===e.unit?.trim()?t:i;r.add(e.name),e.hasRanges&&r.add(`${e.name}${s}`)}})}),[u(a.variable,"Variable"),...[...t].map(e=>function(e,t){return new r.A({name:e,alias:t,domain:null,editable:!1,type:"date"})}(`${o}${e}`,I(e))),...[...i].map(e=>c(`${o}${e}`,I(e))),...[...n].map(([e,t])=>c(`${o}${e}`,w(e,t)))]}function w(e,t){return t=t?.toLowerCase(),t&&l.has(t)?l.get(t):I(e)}function I(e){const t=e.endsWith(s),i=t?e.slice(0,-4):e,r="StdTime"===i?"Standard Time":"StdZ"===i?"Standard Z":i;return t?`${r} Max`:r}function A(e,t){return t?new Date(e):e}function b(e,t,i){i?.length&&(t[a.variable]=i[0].variableName,i.forEach(({dimensionName:i,values:r})=>{if(i&&r?.length){const n=`${o}${i}`,a=e.find(({name:e})=>e===n);if(!a)return;const l="date"===a.type,u=r[0];if(Array.isArray(u)){if(t[`${o}${i}`]=A(u[0],l),null!=u[1]){const r=`${o}${i}${s}`;if(e.some(({name:e})=>e===r)){const e=A(u[1],l);t[r]=e}}}else t[`${o}${i}`]=A(u,l)}}))}function C(e,t){if(t.pixelType.startsWith("f")&&e.forEach(({format:e,fieldName:t})=>{e&&t&&/^raster\.(item|service)pixelvalue/i.test(t)&&(e.places=2)}),t.multidimensionalInfo){const i=t.multidimensionalInfo.variables.flatMap(({dimensions:e})=>e);e.forEach(({format:e,fieldName:t})=>{if(e&&t?.startsWith(o)){const r=t.slice(o.length),n=`${r}${s}`,a=i.find(({name:e})=>e===r||e===n);a?.values?.every(e=>Number.isInteger(e))&&(e.places=0)}})}}},76353:(e,t,i)=>{function r(e){return"Function"===e?.datasetFormat}function n(e){return r(e)?e.primaryRasters.rasters:[e]}i.d(t,{p:()=>n,q:()=>r})},77301:(e,t,i)=>{i.d(t,{$E:()=>S,DY:()=>w,NG:()=>v,QW:()=>l,Rp:()=>y,XU:()=>h,Xg:()=>C,ct:()=>f,fy:()=>M,xx:()=>u,z2:()=>I});var r=i(4576),n=i(86738),o=i(12359),s=i(45617);function a(e,t,i){const r=t.shift();if(0===i.length){const e=[];i.push({sliceId:-1,multidimensionalDefinition:e})}const n=i.length;for(let t=0;t<n;t++){const t=i.shift().multidimensionalDefinition;r.values?.forEach(n=>{i.push({sliceId:-1,multidimensionalDefinition:[...t,{variableName:e,dimensionName:r.name,values:[n]}]})})}t.length&&a(e,t,i)}function l(e,t){const i=[];let r=0;return(t?e.variables.filter(e=>e.name.toLowerCase()===t.toLowerCase()):[...e.variables].sort((e,t)=>e.name>t.name?1:-1)).forEach(e=>{const t=[],n=[...e.dimensions].sort((e,t)=>e.name>t.name?-1:1);a(e.name,n,t),t.forEach(e=>{i.push({...e,sliceId:r++})})}),i}function u(e,t,i){let r=e;if(t&&(t=[...t].sort((e,t)=>e.dimensionName<t.dimensionName?-1:1)).forEach(({dimensionName:e,values:t,isSlice:i})=>{t.length&&(r=r.filter(r=>{const n=r.multidimensionalDefinition.find(t=>t.dimensionName===e);if(null==n)return!1;const o=n.values[0];return"number"==typeof o?"number"==typeof t[0]?t.includes(o):t.some(e=>e[0]<=o&&e[1]>=o):"number"==typeof t[0]?t.some(e=>o[0]<=e&&o[1]>=e):i?t.some(e=>e[0]===o[0]&&e[0]===o[1]):t.some(e=>e[0]>=o[0]&&e[0]<=o[1]||e[1]>=o[0]&&e[1]<=o[1]||e[0]<o[0]&&e[1]>o[1])}))}),r.length&&null!=i?.start&&null!=i.end){const e=i.start.getTime(),t=i.end.getTime(),n=r[0].multidimensionalDefinition.findIndex(e=>"StdTime"===e.dimensionName);n>-1&&(r=r.filter(i=>{const r=i.multidimensionalDefinition[n].values[0];return e<=r&&t>=r}))}return r.map(e=>e.sliceId)}function c(e,t){return Array.isArray(e)?t[0]===t[1]?e[0]===t[0]||e[1]===t[0]:e[0]>=t[0]&&e[0]<=t[1]&&e[1]>=t[0]&&e[1]<=t[1]:e>=t[0]&&e<=t[1]}function p(e,t){return e[0]<=t[0]&&e[1]>=t[0]||e[0]<=t[1]&&e[1]>=t[1]||e[0]>=t[0]&&e[1]<=t[1]}function d(e){return 1===e.length?[e[0],e[0]]:[e[0],e[e.length-1]]}function m(e,t,i){if(!t?.subsetDefinitions?.length)return e;let r;if(i){const{variables:n}=t;if(n.length&&!n.includes(i))return null;const o=t.subsetDefinitions.find(t=>t.dimensionName===e.name&&t.variableName===i);if(!o?.values?.length)return e;r=d(o.values)}else{const i=t.dimensions.find(({name:t})=>t===e.name);r=i?.extent}const n=r;if(!n?.length)return e;const o=e.values.filter(e=>c(e,n));return{...e,extent:[...n],values:o}}function g(e,t,i){if(!t?.subsetDefinitions?.length)return!1;const{variables:r}=t;if(r.length&&e.some(({variableName:e})=>e&&!r.includes(e)))return!0;for(let r=0;r<e.length;r++){const n=e[r],o=t.subsetDefinitions.find(e=>(""===n.variableName||e.variableName===n.variableName)&&e.dimensionName===n.dimensionName);if(o?.values.length){const e=d(o.values);if(n.isSlice||2!==n.values.length||Array.isArray(n.values[0])||n.values[0]===n.values[1]||!i){if(n.values.some(t=>!c(t,e)))return!0}else if(!p(n.values,e))return!0}}return!1}function y(e,t){if(null==e)return{isOutside:!1};const{geometry:i,timeExtent:r,multidimensionalDefinition:a}=t;let l=null;if(null!=r&&(l=function(e,t){const i=e.dimensions.find(({name:e})=>"StdTime"===e);if(null==i||null==t.start&&null==t.end)return t;t=t.clone();const{start:r,end:n}=t.toJSON(),o=r===n?[r]:null!=r&&null!=n?[r,n]:[r??n];return 2===o.length&&i?.extent.length&&(o[0]=Math.max(o[0],i.extent[0]),o[1]=Math.min(o[1],i.extent[1]??i.extent[0]),o[1]<o[0])||g([new s.A({variableName:"",dimensionName:"StdTime",isSlice:1===o.length,values:o})],e,!0)?null:(t.start=new Date(o[0]),t.end=new Date(o[1]??o[0]),t)}(e,r),null==l))return{isOutside:!0};const{areaOfInterest:u}=e;if(u&&i){const e=function(e){switch(e.type){case"point":return e;case"extent":return e.center;case"polygon":{const t=(0,o.Ve)(e);return t?n.A.fromJSON(t):null}}return null}(i);if(e&&!u.contains(e))return{isOutside:!0}}return null!=a&&a.length&&g(a,e,!0)?{isOutside:!0}:{isOutside:!1,intersection:{geometry:i,timeExtent:l,multidimensionalDefinition:a}}}function h(e){const{rasterInfo:t,multidimensionalSubset:i}=e,{multidimensionalInfo:r}=t;if(null==r)return null;let n=e.multidimensionalDefinition?.length?e.multidimensionalDefinition:M(t,{multidimensionalSubset:i});if(!n?.length)return null;if(n.some(e=>!e.dimensionName)){const{variableName:e}=n[0],r=M(t,{multidimensionalSubset:i,variableName:e});r?.forEach(e=>{const t=n?.find(({dimensionName:t})=>t===e.dimensionName);t?.values?.length&&(e.values=t.values,e.isSlice=t.isSlice)}),n=r}const{timeExtent:o}=e;if(null!=n&&null!=o&&(null!=o.start||null!=o.end)){n=n.map(e=>e.clone());const e=r.variables.find(({name:e})=>e===n[0].variableName)?.dimensions?.find(({name:e})=>"StdTime"===e),t=n.find(({dimensionName:e})=>"StdTime"===e);if(!e||!t)return null;const{start:i,end:s}=o,a=null==i?null:i.getTime(),l=null==s?null:s.getTime(),u=a??l,c=l??a;if(null!=e.values){const i=e.values.filter(e=>{if(Array.isArray(e)){if(u===c)return e[0]<=u&&e[1]>=u;const t=e[0]<=u&&e[1]>u||e[0]<c&&e[1]>=c,i=e[0]>=u&&e[1]<=c||e[0]<u&&e[1]>c;return t||i}return u===c?e===u:e>=u&&e<=c});if(i.length){const e=i.sort((e,t)=>{const i=Array.isArray(e)?e[0]:e,r=Array.isArray(e)?e[1]:e,n=Array.isArray(t)?t[0]:t,o=Array.isArray(t)?t[1]:t;return u===c?i-n:Math.abs(r-c)-Math.abs(o-c)})[0];t.values=[e]}else n=null}else if(e.hasRegularIntervals&&e.extent){const[i,r]=e.extent;u>r||c<i?n=null:t.values=u===c?[u]:[Math.max(i,u),Math.min(r,c)]}}return null!=n&&g(n,i)?null:n}function f(e,t={}){const{multidimensionalInfo:i,keyProperties:r}=e;if(null==i)return null;const{variableName:n,multidimensionalSubset:o,multidimensionalDefinition:s}=t,a=null!=s?s[0]?.variableName:null,l=n||a||r?.DefaultVariable;let{variables:u}=i;return o?.variables?.length&&(u=u.filter(({name:e})=>o.variables.includes(e))),l?u.find(({name:e})=>e===l)??u[0]:u[0]}function M(e,t={}){const i=f(e,t);if(!i)return null;const r=[],{dimensions:n,name:o}=i;if(0===n.length)return[new s.A({variableName:o,dimensionName:"",values:[],isSlice:!0})];for(let e=0;e<n.length;e++){const i=m(n[e],t.multidimensionalSubset,o);if(!i)return null;const{values:a,extent:l}=i;let u=a?.[0]??l?.[0];"stdz"===i.name.toLowerCase()&&!i.hasRanges&&l&&Math.abs(l[1])<=Math.abs(l[0])&&(u=a?.length?a[a.length-1]:l[1]),r.push(new s.A({variableName:o,dimensionName:i.name,values:[u],isSlice:!t.useRangeForRangedDimensionInfo||!!i.hasRanges}))}return r}function w(e){return!!e?.length&&e.some(e=>{if(null==e.values)return!0;const t=e.values.length;return 0===t||t>1||!e.isSlice&&Array.isArray(e.values[0])})}function I(e,t){if(null==t||null==e)return null;let i=t.variables.map(e=>({...e}));return e?.variables?.length&&(i=i.filter(({name:t})=>e.variables.includes(t)),i.forEach(t=>{t.dimensions=t.dimensions.map(i=>m(i,e,t.name)).filter(r.Ru)})),i}function A(e,t){const{values:i}=t;if(i?.length){const t=Array.isArray(i[0]),r=Array.isArray(e);return t!==r?-1:t&&r?i.findIndex(t=>t[0]===e[0]&&t[1]===e[1]):i.indexOf(e)}const{extent:r}=t;if(Array.isArray(e)||!r||e<r[0]||e>r[1])return-1;const n=t.interval||1;if("ISO8601"!==t.unit)return Math.round((e-r[0])/n);const o=r[0];let s=-1;switch(t.intervalUnit?.toLowerCase()||"days"){case"seconds":s=Math.round((e-o)/1e3/n);break;case"minutes":s=Math.round((e-o)/6e4/n);break;case"hours":s=Math.round((e-o)/36e5/n);break;case"days":s=Math.round((e-o)/864e5/n);break;case"months":{const t=new Date(e).getUTCFullYear()-new Date(o).getUTCFullYear(),i=new Date(o).getUTCMonth(),r=new Date(e).getUTCMonth();s=0===t?r-i:r+11-i+12*(t-1)}break;case"years":s=Math.round((new Date(e).getUTCFullYear()-new Date(o).getUTCFullYear())/n);break;case"decades":s=Math.round((new Date(e).getUTCFullYear()-new Date(o).getUTCFullYear())/10/n)}return s}function b(e){let t=e.values?.length;if(t)return t;const{extent:i,unit:r}=e,n=e.interval||1,o=i?i[1]-i[0]:0;if("ISO8601"!==r)return Math.round(o/n);switch(e.intervalUnit?.toLowerCase()??"seconds"){case"seconds":t=Math.round(o/1e3/n);break;case"minutes":t=Math.round(o/6e4/n);break;case"hours":t=Math.round(o/36e5/n);break;case"days":t=Math.round(o/864e5/n);break;case"months":if(i){const e=new Date(i[1]).getUTCFullYear()-new Date(i[0]).getUTCFullYear(),r=new Date(i[0]).getUTCMonth(),n=new Date(i[1]).getUTCMonth();t=0===e?n-r+1:n+11-r+12*(e-1)+1}else t=0;break;case"years":t=i?Math.round((new Date(i[1]).getUTCFullYear()-new Date(i[0]).getUTCFullYear())/n):0;break;case"decades":t=i?Math.round((new Date(i[1]).getUTCFullYear()-new Date(i[0]).getUTCFullYear())/10/n):0;break;default:t=0}return t}function C(e){if(2!==e.extent?.length||!e.interval)return[];const{extent:[t,i],interval:r}=e;if("ISO8601"===e.unit){const n=e.intervalUnit?.toLowerCase()??"days";return["decades","years","months","days","hours","minutes","seconds"].includes(n)?function(e,t,i,r){const n=[];let o=e;const s=new Date(e);for(;o<=t;)switch(n.push(o),r){case"decades":s.setUTCFullYear(s.getUTCFullYear()+10*i),o=s.getTime();break;case"years":s.setUTCFullYear(s.getUTCFullYear()+i),o=s.getTime();break;case"months":s.setUTCMonth(s.getUTCMonth()+i),o=s.getTime();break;case"days":o+=864e5*i;break;case"hours":o+=36e5*i;break;case"minutes":o+=6e4*i;break;case"seconds":o+=1e3*i}return 1===n.length?n[1]=t:n[n.length-1]=t,n}(t,i,r,n):[]}const n=Math.round((i-t)/r);return Array.from({length:n},(e,o)=>o===n-1?i:t+o*r)}function v(e,t){let i=0;const r=e[0].variableName,n=[...t.variables].sort((e,t)=>e.name>t.name?1:-1);for(let t=0;t<n.length;t++){const o=n[t],s=[...o.dimensions].sort((e,t)=>e.name>t.name?-1:1);if(o.name!==r){i+=s.map(e=>b(e)).reduce((e,t)=>e*t);continue}const a=s.map(e=>b(e)),l=s.length;for(let t=0;t<l;t++){const r=e.find(e=>e.dimensionName===s[t].name);if(null==r)return null;const n=A(r.values[0],s[t]);if(-1===n)return null;a.shift(),i+=t===l-1?n:n*a.reduce((e,t)=>e*t)}break}return i}function S(e){return Math.round(24*(e-25569)*3600*1e3)}},80498:(e,t,i)=>{i.d(t,{A:()=>m});var r=i(31635),n=i(25482),o=i(10107),s=(i(44208),i(53966),i(87811),i(93223)),a=i(40608),l=i(68197),u=i(56507);let c=class extends n.o{constructor(e){super(e),this.value=null,this.label=null,this.color=null}};(0,r.Cg)([(0,o.MZ)({type:Number,json:{write:{isRequired:!0}}})],c.prototype,"value",void 0),(0,r.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],c.prototype,"label",void 0),(0,r.Cg)([(0,o.MZ)({type:l.A,json:{type:[u.jz],write:{isRequired:!0}}})],c.prototype,"color",void 0),c=(0,r.Cg)([(0,a.$)("esri.renderers.support.ColormapInfo")],c);var p,d=i(67369);let m=p=class extends n.o{constructor(e){super(e),this.colormapInfos=null,this.type="raster-colormap"}static createFromColormap(e,t){if(!e)return null;const i=5===e[0].length,r=[...e].sort((e,t)=>e[0]-t[0]).map(e=>c.fromJSON({value:e[0],color:i?e.slice(1,5):e.slice(1,4).concat([255]),label:t?t[e[0]]??"":e[0]}));return new p({colormapInfos:r})}static createFromColorramp(e){const t=(0,d.R8)(e);return p.createFromColormap(t)}clone(){return new p({colormapInfos:this.colormapInfos.map(e=>e.toJSON())})}extractColormap(){return this.colormapInfos.map(({value:e,color:t})=>[e,t.r,t.g,t.b,t.a>1?t.a:255*t.a&255]).sort((e,t)=>e[0]-t[0])}};(0,r.Cg)([(0,o.MZ)({type:[c],json:{write:{isRequired:!0}}})],m.prototype,"colormapInfos",void 0),(0,r.Cg)([(0,s.e)({rasterColormap:"raster-colormap"}),(0,o.MZ)({json:{write:{isRequired:!0}}})],m.prototype,"type",void 0),m=p=(0,r.Cg)([(0,a.$)("esri.renderers.RasterColormapRenderer")],m)},80754:(e,t,i)=>{i.d(t,{j7:()=>s,kS:()=>l,kd:()=>a,r8:()=>u});var r=i(82799),n=i(16930),o=i(65864);const s={102100:{maxX:20037508.342788905,minX:-20037508.342788905,plus180Line:new r.A({paths:[[[20037508.342788905,-20037508.342788905],[20037508.342788905,20037508.342788905]]],spatialReference:n.A.WebMercator}),minus180Line:new r.A({paths:[[[-20037508.342788905,-20037508.342788905],[-20037508.342788905,20037508.342788905]]],spatialReference:n.A.WebMercator})},4326:{maxX:180,minX:-180,plus180Line:new r.A({paths:[[[180,-180],[180,180]]],spatialReference:n.A.WGS84}),minus180Line:new r.A({paths:[[[-180,-180],[-180,180]]],spatialReference:n.A.WGS84})}};function a(e,t){return Math.ceil((e-t)/(2*t))}function l(e,t){const i=u(e);for(const e of i)for(const i of e)i[0]+=t;return e}function u(e){return(0,o.Bi)(e)?e.rings:e.paths}},82935:(e,t,i)=>{i.d(t,{B:()=>m,e:()=>g});var r=i(31635),n=i(10107),o=(i(44208),i(53966),i(87811),i(36005)),s=i(40608),a=i(89317),l=i(30524),u=i(96184),c=i(73133),p=i(79677),d=i(10184);const m={type:Boolean,json:{read:{source:"timeAnimation"},write:{target:"timeAnimation",layerContainerTypes:a.K}}},g=e=>{const t=e;let i=class extends t{constructor(){super(...arguments),this.timeExtent=null,this.timeOffset=null,this.useViewTime=!0}readOffset(e,t){const i=t.timeInfo.exportOptions;if(!i)return null;const r=i.timeOffset,n=c.j.fromJSON(i.timeOffsetUnits);return r&&n?new d.A({value:r,unit:n}):null}set timeInfo(e){(0,l.sv)(e,this.fieldsIndex),this._set("timeInfo",e)}};return(0,r.Cg)([(0,n.MZ)({type:p.A,json:{write:!1}})],i.prototype,"timeExtent",void 0),(0,r.Cg)([(0,n.MZ)({type:d.A})],i.prototype,"timeOffset",void 0),(0,r.Cg)([(0,o.w)("service","timeOffset",["timeInfo.exportOptions"])],i.prototype,"readOffset",null),(0,r.Cg)([(0,n.MZ)({value:null,type:u.A,json:{write:!0,origins:{"web-document":{read:!1,write:!1},"portal-item":{read:!1,write:!1}}}})],i.prototype,"timeInfo",null),(0,r.Cg)([(0,n.MZ)(m)],i.prototype,"useViewTime",void 0),i=(0,r.Cg)([(0,s.$)("esri.layers.mixins.TemporalLayer")],i),i}},85675:(e,t,i)=>{i.d(t,{A:()=>w});var r,n=i(31635),o=i(66552),s=i(25482),a=i(4718),l=i(10107),u=i(79901),c=i(36005),p=i(40608),d=i(43937),m=i(56507),g=i(86738),y=i(45617),h=i(22796);const f=(0,o.O)()({MT_FIRST:"first",MT_LAST:"last",MT_MIN:"min",MT_MAX:"max",MT_MEAN:"mean",MT_BLEND:"blend",MT_SUM:"sum"}),M=(0,o.O)()({esriMosaicNone:"none",esriMosaicCenter:"center",esriMosaicNadir:"nadir",esriMosaicViewpoint:"viewpoint",esriMosaicAttribute:"attribute",esriMosaicLockRaster:"lock-raster",esriMosaicNorthwest:"northwest",esriMosaicSeamline:"seamline"});let w=r=class extends s.o{constructor(e){super(e),this.ascending=!0,this.itemRasterFunction=null,this.lockRasterIds=null,this.method="none",this.multidimensionalDefinition=null,this.objectIds=null,this.operation="first",this.sortField=null,this.sortValue=null,this.viewpoint=null,this.where=null}readAscending(e,t){return null!=t.ascending?t.ascending:null==t.sortAscending||t.sortAscending}readMethod(e,t){return function(e){let t;switch(e?e.toLowerCase().replace("esrimosaic",""):""){case"byattribute":case"attribute":t="esriMosaicAttribute";break;case"lockraster":t="esriMosaicLockRaster";break;case"center":t="esriMosaicCenter";break;case"northwest":t="esriMosaicNorthwest";break;case"nadir":t="esriMosaicNadir";break;case"viewpoint":t="esriMosaicViewpoint";break;case"seamline":t="esriMosaicSeamline";break;default:t="esriMosaicNone"}return M.fromJSON(t)}(t.mosaicMethod||t.defaultMosaicMethod)}writeMultidimensionalDefinition(e,t,i){null!=e&&(e=e.filter(({variableName:e,dimensionName:t})=>e&&"*"!==e||t)).length&&(t[i]=e.map(e=>e.toJSON()))}readOperation(e,t){const i=t.mosaicOperation,r=t.mosaicOperator?.toLowerCase(),n=i||(r?f.toJSON(r):null);return f.fromJSON(n)||"first"}castSortValue(e){return null==e||"string"==typeof e||"number"==typeof e?e:`${e}`}clone(){return new r({ascending:this.ascending,itemRasterFunction:(0,a.o8)(this.itemRasterFunction),lockRasterIds:(0,a.o8)(this.lockRasterIds),method:this.method,multidimensionalDefinition:(0,a.o8)(this.multidimensionalDefinition),objectIds:(0,a.o8)(this.objectIds),operation:this.operation,sortField:this.sortField,sortValue:this.sortValue,viewpoint:(0,a.o8)(this.viewpoint),where:this.where})}};(0,n.Cg)([(0,l.MZ)({type:Boolean,json:{write:!0}})],w.prototype,"ascending",void 0),(0,n.Cg)([(0,c.w)("ascending",["ascending","sortAscending"])],w.prototype,"readAscending",null),(0,n.Cg)([(0,l.MZ)({type:h.A,json:{name:"itemRenderingRule",write:!0}})],w.prototype,"itemRasterFunction",void 0),(0,n.Cg)([(0,l.MZ)({type:[m.jz],json:{write:{overridePolicy(){return{enabled:"lock-raster"===this.method}}}}})],w.prototype,"lockRasterIds",void 0),(0,n.Cg)([(0,l.MZ)({type:M.apiValues,json:{type:M.jsonValues,write:{target:"mosaicMethod",writer:M.write,isRequired:!0}}})],w.prototype,"method",void 0),(0,n.Cg)([(0,c.w)("method",["mosaicMethod","defaultMosaicMethod"])],w.prototype,"readMethod",null),(0,n.Cg)([(0,l.MZ)({type:[y.A],json:{write:!0}})],w.prototype,"multidimensionalDefinition",void 0),(0,n.Cg)([(0,d.K)("multidimensionalDefinition")],w.prototype,"writeMultidimensionalDefinition",null),(0,n.Cg)([(0,l.MZ)({type:[m.jz],json:{name:"fids",write:!0}})],w.prototype,"objectIds",void 0),(0,n.Cg)([(0,l.MZ)({type:f.apiValues,json:{type:f.jsonValues,read:{reader:f.read},write:{target:"mosaicOperation",writer:f.write}}})],w.prototype,"operation",void 0),(0,n.Cg)([(0,c.w)("operation",["mosaicOperation","mosaicOperator"])],w.prototype,"readOperation",null),(0,n.Cg)([(0,l.MZ)({type:String,json:{write:{overridePolicy(){return{enabled:"attribute"===this.method}}}}})],w.prototype,"sortField",void 0),(0,n.Cg)([(0,l.MZ)({type:[String,Number],json:{write:{allowNull:!0,overridePolicy(){return{enabled:"attribute"===this.method,allowNull:!0}}}}})],w.prototype,"sortValue",void 0),(0,n.Cg)([(0,u.w)("sortValue")],w.prototype,"castSortValue",null),(0,n.Cg)([(0,l.MZ)({type:g.A,json:{write:!0}})],w.prototype,"viewpoint",void 0),(0,n.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],w.prototype,"where",void 0),w=r=(0,n.Cg)([(0,p.$)("esri.layers.support.MosaicRule")],w)},89808:(e,t,i)=>{i.d(t,{Q:()=>r});const r=Symbol("getSliceableSymbol")},92300:(e,t,i)=>{i.d(t,{V:()=>o,X:()=>n});var r=i(65864);function n(e){return{geometryType:(0,r.$B)(e[0]),geometries:e.map(e=>e.toJSON())}}function o(e,t,i){const n=(0,r.xD)(t);return e.map(e=>{const t=n.fromJSON(e);return t.spatialReference=i,t})}},94359:(e,t,i)=>{i.d(t,{Gj:()=>d,LF:()=>g,uy:()=>p});var r=i(67076),n=i(86162),o=i(67730),s=i(80498),a=i(46981),l=i(36280),u=i(93618),c=i(18031);const p={key:"type",base:null,typeMap:{"class-breaks":n.A,flow:o.A,"raster-colormap":s.A,"raster-shaded-relief":a.A,"raster-stretch":l.A,"unique-value":u.A,"vector-field":c.A}},d={...p,typeMap:{...p.typeMap}};delete d.typeMap["vector-field"];const m={classBreaks:n.A,flowRenderer:o.A,rasterColormap:s.A,rasterShadedRelief:a.A,rasterStretch:l.A,uniqueValue:u.A,vectorField:c.A};function g(e,t){if(!e)return null;if("classBreaks"===e.type&&e.classificationMethod){const t=e.authoringInfo||{classificationMethod:""};t.classificationMethod=e.classificationMethod,e.authoringInfo=t}"vectorField"===e.type&&e.visualVariables&&!Array.isArray(e.visualVariables)&&(e.visualVariables=[e.visualVariables]);const i=(n=e)&&m[n.type]||null;var n;if(i){const r=new i;return r.read(e,t),r}return t?.messages&&e&&t.messages.push(new r.A("renderer:unsupported","Renderers of type '"+(e.type||"unknown")+"' are not supported",{definition:e,context:t})),null}},96184:(e,t,i)=>{i.d(t,{A:()=>g});var r=i(31635),n=i(69540),o=i(25482),s=i(10107),a=(i(44208),i(53966),i(87811),i(36005)),l=i(40608),u=i(43937),c=i(79677),p=i(10184),d=i(56400);function m(e,t){return p.A.fromJSON({value:e,unit:t})}let g=class extends((0,n.OU)(o.o)){constructor(e){super(e),this.cumulative=!1,this.endField=null,this.fullTimeExtent=null,this.hasLiveData=!1,this.interval=null,this.startField=null,this.timeZone=null,this.trackIdField=null,this.useTime=!0,this.stops=null}readFullTimeExtent(e,t){return t.timeExtent&&Array.isArray(t.timeExtent)&&2===t.timeExtent.length?c.A.fromArray(t.timeExtent):null}writeFullTimeExtent(e,t){null!=e?.start&&null!=e.end?t.timeExtent=e.toArray():t.timeExtent=null}readInterval(e,t){return t.timeInterval&&t.timeIntervalUnits?m(t.timeInterval,t.timeIntervalUnits):t.defaultTimeInterval&&t.defaultTimeIntervalUnits?m(t.defaultTimeInterval,t.defaultTimeIntervalUnits):null}writeInterval(e,t){t.timeInterval=e?.toJSON().value??null,t.timeIntervalUnits=e?.toJSON().unit??null}};(0,r.Cg)([(0,s.MZ)({type:Boolean,json:{name:"exportOptions.timeDataCumulative",write:!0}})],g.prototype,"cumulative",void 0),(0,r.Cg)([(0,s.MZ)({type:String,json:{name:"endTimeField",write:{enabled:!0,allowNull:!0}}})],g.prototype,"endField",void 0),(0,r.Cg)([(0,s.MZ)({type:c.A,json:{write:{enabled:!0,allowNull:!0}}})],g.prototype,"fullTimeExtent",void 0),(0,r.Cg)([(0,a.w)("fullTimeExtent",["timeExtent"])],g.prototype,"readFullTimeExtent",null),(0,r.Cg)([(0,u.K)("fullTimeExtent")],g.prototype,"writeFullTimeExtent",null),(0,r.Cg)([(0,s.MZ)({type:Boolean,json:{write:!0}})],g.prototype,"hasLiveData",void 0),(0,r.Cg)([(0,s.MZ)({type:p.A,json:{write:{enabled:!0,allowNull:!0}}})],g.prototype,"interval",void 0),(0,r.Cg)([(0,a.w)("interval",["timeInterval","timeIntervalUnits","defaultTimeInterval","defaultTimeIntervalUnits"])],g.prototype,"readInterval",null),(0,r.Cg)([(0,u.K)("interval")],g.prototype,"writeInterval",null),(0,r.Cg)([(0,s.MZ)({type:String,json:{name:"startTimeField",write:{enabled:!0,allowNull:!0}}})],g.prototype,"startField",void 0),(0,r.Cg)([(0,s.MZ)((0,d.P6)("timeReference",!0))],g.prototype,"timeZone",void 0),(0,r.Cg)([(0,s.MZ)({type:String,json:{write:{enabled:!0,allowNull:!0}}})],g.prototype,"trackIdField",void 0),(0,r.Cg)([(0,s.MZ)({type:Boolean,json:{name:"exportOptions.useTime",write:!0}})],g.prototype,"useTime",void 0),(0,r.Cg)([(0,s.MZ)({type:[Date],json:{read:!1}})],g.prototype,"stops",void 0),g=(0,r.Cg)([(0,l.$)("esri.layers.support.TimeInfo")],g)},99959:(e,t,i)=>{i.d(t,{A:()=>o});var r=i(31635),n=(i(53966),i(44208),i(87811),i(49186),i(40608));let o=class{};o=(0,r.Cg)([(0,n.$)("esri.graphic.GraphicOrigin")],o)}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[2095],{64476:(e,t,n)=>{n.d(t,{ElevationQuery:()=>I});var i=n(60999),s=n(49186),a=n(97768),l=n(74887),o=n(83047),r=n(98988),c=n(19419),u=(n(44208),n(36563)),h=n(53966),m=n(86738),f=n(16930),p=n(28735);const d=()=>h.A.getLogger("esri.layers.support.ElevationSampler");class y{queryElevation(e){return function(e,t){const n=v(e,t.spatialReference);if(!n)return null;switch(e.type){case"point":return function(e,t,n){return e.hasZ=!0,e.z=n.elevationAt(t.x,t.y),e}(e,n,t);case"polyline":return function(e,t,n){T.spatialReference=t.spatialReference;const i=e.hasM&&!e.hasZ;for(let s=0;s<e.paths.length;s++){const a=e.paths[s],l=t.paths[s];for(let e=0;e<a.length;e++){const t=a[e],s=l[e];T.x=s[0],T.y=s[1],i&&(t[3]=t[2]),t[2]=n.elevationAt(T.x,T.y)}}return e.hasZ=!0,e}(e,n,t);case"multipoint":return function(e,t,n){T.spatialReference=t.spatialReference;const i=e.hasM&&!e.hasZ;for(let s=0;s<e.points.length;s++){const a=e.points[s],l=t.points[s];T.x=l[0],T.y=l[1],i&&(a[3]=a[2]),a[2]=n.elevationAt(T.x,T.y)}return e.hasZ=!0,e}(e,n,t);default:return null}}(e.clone(),this)}on(){return(0,u.hA)()}}class x extends y{get spatialReference(){return this.extent.spatialReference}constructor(e,t,n){super(),this.tile=e,this.noDataValue=n;const i=e.tile.extent;this.extent=(0,c.w1)(i,t.spatialReference),this.extent.zmin=e.zmin,this.extent.zmax=e.zmax,this._aaExtent=i;const s=(0,o.GA)(t.spatialReference),a=t.lodAt(e.tile.level).resolution*s;this.demResolution={min:a,max:a}}contains(e){const t=v(e,this.spatialReference);return null!=t&&this.containsAt(t.x,t.y)}containsAt(e,t){return(0,c.Rj)(this._aaExtent,e,t)}elevationAt(e,t){if(!this.containsAt(e,t)){const n=this.extent,i=`${n.xmin}, ${n.ymin}, ${n.xmax}, ${n.ymax}`;return d().warn("#elevationAt()",`Point used to sample elevation (${e}, ${t}) is outside of the sampler extent (${i})`),this.noDataValue}return this.tile.sample(e,t)??this.noDataValue}}class w extends y{get spatialReference(){return this.extent.spatialReference}constructor(e,t,n){let i;super(),"number"==typeof t?(this.noDataValue=t,this.samplers=e):(i=t,this.noDataValue=n,this.samplers=e.map(e=>new x(e,i,this.noDataValue)));const s=this.samplers[0];if(s){this.extent=s.extent.clone();const{min:e,max:t}=s.demResolution;this.demResolution={min:e,max:t};for(let e=1;e<this.samplers.length;e++){const t=this.samplers[e];this.extent.union(t.extent),this.demResolution.min=Math.min(this.demResolution.min,t.demResolution.min),this.demResolution.max=Math.max(this.demResolution.max,t.demResolution.max)}}else this.extent=(0,c.w1)((0,c.vt)(),i?.spatialReference??f.A.WGS84),this.demResolution={min:0,max:0}}elevationAt(e,t){let n;for(const i of this.samplers)if(i.containsAt(e,t)&&(n=i.elevationAt(e,t),n!==i.noDataValue))return n;return null!=n?n:(d().warn("#elevationAt()",`Point used to sample elevation (${e}, ${t}) is outside of the sampler`),this.noDataValue)}}function v(e,t){if(null==e)return null;const n=e.spatialReference;if(n.equals(t))return e;const i=(0,p.Cv)(e,t);return i||d().error(`Cannot project geometry spatial reference (wkid:${n.wkid}) to elevation sampler spatial reference (wkid:${t.wkid})`),i}const T=new m.A;class g{constructor(e,t){this.data=e,this.safeWidth=.99999999*(e.width-1),this.dx=(e.width-1)/(t[2]-t[0]),this.dy=(e.width-1)/(t[3]-t[1]),this.x0=t[0],this.y1=t[3]}}class A{constructor(e,t=null){if(this.tile=e,null!=t&&null!=e){const n=e.extent;this._samplerData=new g(t,n)}}get zmin(){return null!=this._samplerData?this._samplerData.data.minValue:0}get zmax(){return null!=this._samplerData?this._samplerData.data.maxValue:0}get hasNoDataValues(){return!!this._samplerData?.data.hasNoDataValues}sample(e,t){if(null==this._samplerData)return;const{safeWidth:n,data:i,dx:s,dy:a,y1:l,x0:o}=this._samplerData,{width:r,values:c,noDataValue:u}=i,h=R(a*(l-t),0,n),m=R(s*(e-o),0,n),f=Math.floor(h),p=Math.floor(m),d=f*r+p,y=d+r,x=c[d],w=c[y],v=c[d+1],T=c[y+1];if(x!==u&&w!==u&&v!==u&&T!==u){const e=m-p,t=x+(v-x)*e;return t+(w+(T-w)*e-t)*(h-f)}}}function R(e,t,n){return e<t?t:e>n?n:e}var _=n(48526),E=n(82799);class D{export(){return this._exporter(this.coordinates,this.spatialReference)}clone(e){const t=new D;return t.geometry=this.geometry,t.spatialReference=this.spatialReference,t.coordinates=e||this.coordinates.map(e=>e.clone()),t._exporter=this._exporter,t}async project(e,t){if(this.spatialReference.equals(e))return this.clone();await(0,r.initializeProjection)([{source:this.spatialReference,dest:e}],{signal:t});const n=new _.A({spatialReference:this.spatialReference,points:this.coordinates.map(e=>[e.x,e.y])}),i=(0,r.project)(n,e);if(!i)return null;const s=this.coordinates.map((e,t)=>{const n=e.clone(),s=i.points[t];return n.x=s[0],n.y=s[1],n}),a=this.clone(s);return a.spatialReference=e,a}static fromGeometry(e){const t=new D;if(t.geometry=e,t.spatialReference=e.spatialReference,e instanceof D)t.coordinates=e.coordinates.map(e=>e.clone()),t._exporter=(t,n)=>{const i=e.clone(t);return i.spatialReference=n,i};else switch(e.type){case"point":{const n=e,{hasZ:i,hasM:s}=n;t.coordinates=i&&s?[new q(n.x,n.y,n.z,n.m)]:i?[new q(n.x,n.y,n.z)]:s?[new q(n.x,n.y,null,n.m)]:[new q(n.x,n.y)],t._exporter=(t,n)=>e.hasM?new m.A(t[0].x,t[0].y,t[0].z,t[0].m,n):new m.A(t[0].x,t[0].y,t[0].z,n);break}case"multipoint":{const n=e,{hasZ:i,hasM:s}=n;t.coordinates=i&&s?n.points.map(e=>new q(e[0],e[1],e[2],e[3])):i?n.points.map(e=>new q(e[0],e[1],e[2])):s?n.points.map(e=>new q(e[0],e[1],null,e[2])):n.points.map(e=>new q(e[0],e[1])),t._exporter=(t,n)=>e.hasM?new _.A({points:t.map(e=>[e.x,e.y,e.z??0,e.m??0]),hasZ:!0,hasM:!0,spatialReference:n}):new _.A({points:t.map(e=>[e.x,e.y,e.z??0]),spatialReference:n});break}case"polyline":{const n=e,i=[],s=[],{hasZ:a,hasM:l}=e;let o=0;for(const e of n.paths)if(s.push([o,o+e.length]),o+=e.length,a&&l)for(const t of e)i.push(new q(t[0],t[1],t[2],t[3]));else if(a)for(const t of e)i.push(new q(t[0],t[1],t[2]));else if(l)for(const t of e)i.push(new q(t[0],t[1],null,t[2]));else for(const t of e)i.push(new q(t[0],t[1]));t.coordinates=i,t._exporter=(t,n)=>{const i=e.hasM?t.map(e=>[e.x,e.y,e.z??0,e.m??0]):t.map(e=>[e.x,e.y,e.z??0]),a=s.map(e=>i.slice(e[0],e[1]));return new E.A({paths:a,hasM:e.hasM,hasZ:!0,spatialReference:n})};break}}return t}}class q{constructor(e,t,n=null,i=null,s=null,a=null){this.x=e,this.y=t,this.z=n,this.m=i,this.tile=s,this.elevationTile=a}clone(){return new q(this.x,this.y,this.z,this.m)}}var C=n(72802);class I{async queryAll(e,t,n){if(!(e=n?.ignoreInvisibleLayers?e.filter(e=>e.visible):e.slice()).length)throw new s.A(P,"Elevation queries require at least one elevation layer to fetch tiles from");const i=D.fromGeometry(t);let a=!1;n?.returnSampleInfo||(a=!0);const l={...F,...n,returnSampleInfo:!0},o=await this.query(e[e.length-1],i,l),r=await this._queryAllContinue(e,o,l);return r.geometry=r.geometry.export(),a&&delete r.sampleInfo,r}async query(e,t,n){if(!e)throw new s.A(P,"Elevation queries require an elevation layer to fetch tiles from");if(!t||!(t instanceof D)&&"point"!==t.type&&"multipoint"!==t.type&&"polyline"!==t.type)throw new s.A("elevation-query:invalid-geometry","Only point, polyline and multipoint geometries can be used to query elevation");const i={...F,...n},l=new M(e,t.spatialReference,i),c=i.signal;return await e.load({signal:c}),await async function(e,t,n){let i;const a=e.layer.tileInfo.spatialReference;if(t instanceof D?i=await t.project(a,n):(await(0,r.initializeProjection)([{source:t.spatialReference,dest:a}],{signal:n}),i=(0,r.project)(t,a)),!i)throw new s.A("elevation-query:spatial-reference-mismatch",`Cannot query elevation in '${t.spatialReference.wkid}' on an elevation service in '${a.wkid}'`);e.geometry=D.fromGeometry(i)}(l,t,c),await this._selectTiles(l,c),await k(l,c),function(e){e.geometry.coordinates.forEach(t=>{const n=t.elevationTile;let i=e.parameters.noDataValue;if(n){const e=n.sample(t.x,t.y);null!=e?i=e:t.elevationTile=null}t.z=i})}(l),async function(e,t){const n=await e.geometry.project(e.outSpatialReference,t);(0,a.Lw)(n);const i={geometry:n.export(),noDataValue:e.parameters.noDataValue};return e.parameters.returnSampleInfo&&(i.sampleInfo=function(e){const t=e.layer.tileInfo,n=(0,o.GA)(t.spatialReference);return e.geometry.coordinates.map(i=>{let s=-1;return i.elevationTile&&i.elevationTile!==e.outsideExtentTile&&(s=t.lodAt(i.elevationTile.tile.level).resolution*n),{demResolution:s}})}(e)),e.geometry.coordinates.forEach(e=>{e.tile=null,e.elevationTile=null}),i}(l,c)}async createSampler(e,t,n){if(!e)throw new s.A(P,"Elevation queries require an elevation layer to fetch tiles from");if(!t||"extent"!==t.type)throw new s.A("elevation-query:invalid-extent","Invalid or undefined extent");const i={...F,...n};return this._createSampler(e,t,i)}async createSamplerAll(e,t,n){if(!(e=n?.ignoreInvisibleLayers?e.filter(e=>e.visible):e.slice()).length)throw new s.A(P,"Elevation queries require at least one elevation layer to fetch tiles from");if(!t||"extent"!==t.type)throw new s.A("elevation-query:invalid-extent","Invalid or undefined extent");const i={...F,...n,returnSampleInfo:!0},a=await this._createSampler(e[e.length-1],t,i);return this._createSamplerAllContinue(e,t,a,i)}async _createSampler(e,t,n,i){const s=n.signal;await e.load({signal:s});const a=t.spatialReference,l=e.tileInfo.spatialReference;a.equals(l)||(await(0,r.initializeProjection)([{source:a,dest:l}],{signal:s}),t=(0,r.project)(t,l));const o=new V(e,t,n,i);return await this._selectTiles(o,s),await k(o,s),new w(o.elevationTiles,o.layer.tileInfo,o.parameters.noDataValue)}async _createSamplerAllContinue(e,t,n,i){if(e.pop(),!e.length)return n;const s=n.samplers.filter(e=>!e.tile.hasNoDataValues).map(e=>(0,c.VY)(e.extent)),a=await this._createSampler(e[e.length-1],t,i,s);if(0===a.samplers.length)return n;const l=n.samplers.concat(a.samplers),o=new w(l,i.noDataValue);return this._createSamplerAllContinue(e,t,o,i)}async _queryAllContinue(e,t,n){const i=e.pop(),s=t.geometry.coordinates,l=t.sampleInfo;(0,a.Lw)(l);const o=[],r=[];for(let t=0;t<s.length;t++){const n=l[t];n.demResolution>=0?n.source||(n.source=i):e.length&&(o.push(s[t]),r.push(t))}if(!e.length||0===o.length)return t;const c=t.geometry.clone(o),u=await this.query(e[e.length-1],c,n),h=u.sampleInfo;if(!h)throw new Error("no sampleInfo");return r.forEach((e,t)=>{s[e].z=u.geometry.coordinates[t].z,l[e].demResolution=h[t].demResolution}),this._queryAllContinue(e,t,n)}async _selectTiles(e,t){"geometry"===e.type&&function(e){if(null==e.layer.fullExtent)return;const t=new A(null);t.sample=()=>e.parameters.noDataValue,e.outsideExtentTile=t;const n=e.layer.fullExtent;e.geometry.coordinates.forEach(e=>{const i=e.x,s=e.y;(i<n.xmin||i>n.xmax||s<n.ymin||s>n.ymax)&&(e.elevationTile=t)})}(e);const n=e.parameters.demResolution;if("number"==typeof n)!function(e,t){const n=function(e,t){const{tileInfo:n,tilemapCache:i}=e.layer,s=t/(0,o.GA)(n.spatialReference),a=b(n,i);let l=a[0],r=0;for(let e=1;e<a.length;e++){const t=a[e];Math.abs(t.resolution-s)<Math.abs(l.resolution-s)&&(l=t,r=e)}return r}(e,t);e.selectTilesAtLOD(n)}(e,n);else if("finest-contiguous"===n)await this._selectTilesFinestContiguous(e,t);else{if("auto"!==n)throw new s.A("elevation-query:invalid-dem-resolution",`Invalid dem resolution value '${n}', expected a number, "finest-contiguous" or "auto"`);await this._selectTilesAuto(e,t)}}async _selectTilesFinestContiguous(e,t){const{tileInfo:n,tilemapCache:i}=e.layer,s=S(n,i,e.parameters.minDemResolution);await this._selectTilesFinestContiguousAt(e,s,t)}async _selectTilesFinestContiguousAt(e,t,n){const i=e.layer;if(e.selectTilesAtLOD(t),t<0)return;const a=i.tilemapCache,o=e.getTilesToFetch();try{if(a&&!L(a))await(0,l.qr)(Promise.all(o.map(e=>a.fetchAvailability(e.level,e.row,e.col,{signal:n}))),n);else if(await k(e,n),!e.allElevationTilesFetched())throw e.clearElevationTiles(),new s.A("elevation-query:has-unavailable-tiles","Some elevation tiles are unavailable")}catch(i){(0,l.QP)(i),await this._selectTilesFinestContiguousAt(e,t-1,n)}}async _selectTilesAuto(e,t){(function(e){const{tileInfo:t,tilemapCache:n}=e.layer,i=S(t,n,e.parameters.minDemResolution);e.selectTilesAtLOD(i,e.parameters.maximumAutoTileRequests)})(e),function(e){const t=e.layer.tileInfo;let n=0;const i={},s=e=>{null!=e.id&&(e.id in i?i[e.id]++:(i[e.id]=1,n++))},a=e=>{if(null==e.id)return;const t=i[e.id];1===t?(delete i[e.id],n--):i[e.id]=t-1};e.forEachTileToFetch(s,a);let l=!0;for(;l&&(l=!1,e.forEachTileToFetch(i=>{n<=e.parameters.maximumAutoTileRequests||(a(i),t.upsampleTile(i)&&(l=!0),s(i))},a),l););}(e);const n=e.layer.tilemapCache;if(!n||L(n))return this._selectTilesAutoPrefetchUpsample(e,t);const s=e.getTilesToFetch(),a={},o=s.map(async e=>{const s=new C.U(null,0,0,0,(0,c.vt)()),o=await(0,i.Ke)(n.fetchAvailabilityUpsample(e.level,e.row,e.col,s,{signal:t}));!1!==o.ok?null!=e.id&&(a[e.id]=s):(0,l.QP)(o.error)});await(0,l.qr)(Promise.all(o),t),e.remapTiles(a)}async _selectTilesAutoPrefetchUpsample(e,t){const n=e.layer.tileInfo;await k(e,t);let i=!1;e.forEachTileToFetch((e,t)=>{n.upsampleTile(e)?i=!0:t()}),i&&await this._selectTilesAutoPrefetchUpsample(e,t)}}class z{constructor(e,t){this.layer=e,this.parameters=t}}class M extends z{constructor(e,t,n){super(e,n),this.outSpatialReference=t,this.type="geometry"}selectTilesAtLOD(e){if(e<0)this.geometry.coordinates.forEach(e=>e.tile=null);else{const{tileInfo:t,tilemapCache:n}=this.layer,i=b(t,n)[e].level;this.geometry.coordinates.forEach(e=>e.tile=t.tileAt(i,e.x,e.y))}}allElevationTilesFetched(){return!this.geometry.coordinates.some(e=>!e.elevationTile)}clearElevationTiles(){for(const e of this.geometry.coordinates)e.elevationTile!==this.outsideExtentTile&&(e.elevationTile=null)}populateElevationTiles(e){for(const t of this.geometry.coordinates)!t.elevationTile&&t.tile?.id&&(t.elevationTile=e[t.tile.id])}remapTiles(e){for(const t of this.geometry.coordinates){const n=t.tile?.id;t.tile=n?e[n]:null}}getTilesToFetch(){const e={},t=[];for(const n of this.geometry.coordinates){const i=n.tile;if(!i)continue;const s=n.tile?.id;n.elevationTile||!s||e[s]||(e[s]=i,t.push(i))}return t}forEachTileToFetch(e){for(const t of this.geometry.coordinates)t.tile&&!t.elevationTile&&e(t.tile,()=>t.tile=null)}}class V extends z{constructor(e,t,n,i){super(e,n),this.type="extent",this.elevationTiles=[],this._candidateTiles=[],this._fetchedCandidates=new Set,this.extent=t.clone().intersection(e.fullExtent),this.maskExtents=i}selectTilesAtLOD(e,t){const n=this._maximumLodForRequests(t),i=Math.min(n,e);i<0?this._candidateTiles.length=0:this._selectCandidateTilesCoveringExtentAt(i)}_maximumLodForRequests(e){const{tileInfo:t,tilemapCache:n}=this.layer,i=b(t,n);if(!e)return i.length-1;const s=this.extent;if(null==s)return-1;for(let n=i.length-1;n>=0;n--){const a=i[n],l=a.resolution*t.size[0],o=a.resolution*t.size[1];if(Math.ceil(s.width/l)*Math.ceil(s.height/o)<=e)return n}return-1}allElevationTilesFetched(){return this._candidateTiles.length===this.elevationTiles.length}clearElevationTiles(){this.elevationTiles.length=0,this._fetchedCandidates.clear()}populateElevationTiles(e){for(const t of this._candidateTiles){const n=t.id&&e[t.id];n&&(this._fetchedCandidates.add(t),this.elevationTiles.push(n))}}remapTiles(e){this._candidateTiles=$(this._candidateTiles.map(t=>e[t.id]))}getTilesToFetch(){return this._candidateTiles}forEachTileToFetch(e,t){const n=this._candidateTiles;this._candidateTiles=[],n.forEach(n=>{if(this._fetchedCandidates.has(n))return void t?.(n);let i=!1;e(n,()=>i=!0),i?t?.(n):this._candidateTiles.push(n)}),this._candidateTiles=$(this._candidateTiles,t)}_selectCandidateTilesCoveringExtentAt(e){this._candidateTiles.length=0;const t=this.extent;if(null==t)return;const{tileInfo:n,tilemapCache:i}=this.layer,s=b(n,i)[e],a=n.tileAt(s.level,t.xmin,t.ymin),l=a.extent;if(null==l)return;const o=s.resolution*n.size[0],r=s.resolution*n.size[1],c=Math.ceil((t.xmax-l[0])/o),u=Math.ceil((t.ymax-l[1])/r);for(let e=0;e<u;e++)for(let t=0;t<c;t++){const i=new C.U(null,a.level,a.row-e,a.col+t);n.updateTileInfo(i),this._tileIsMasked(i)||this._candidateTiles.push(i)}}_tileIsMasked(e){return!!this.maskExtents&&this.maskExtents.some(t=>e.extent&&(0,c.gR)(t,e.extent))}}function S(e,t,n=0){const i=b(e,t);let s=i.length-1;if(n>0){const t=n/(0,o.GA)(e.spatialReference),a=i.findIndex(e=>e.resolution<t);0===a?s=0:a>0&&(s=a-1)}return s}const F={maximumAutoTileRequests:20,noDataValue:0,returnSampleInfo:!1,demResolution:"auto",minDemResolution:0,signal:null};function b(e,t){const n=e.lods;if(L(t)){const{effectiveMinLOD:e,effectiveMaxLOD:i}=t;return n.filter(t=>t.level>=e&&t.level<=i)}return n}async function k(e,t){const n=e.getTilesToFetch(),i={},s=e.parameters.cache,a=e.parameters.noDataValue,o=n.map(async n=>{if(null==n.id)return;const l=`${e.layer.uid}:${n.id}:${a}`,o=null!=s?s.get(l):null,r=null!=o?o:await e.layer.fetchTile(n.level,n.row,n.col,{noDataValue:a,signal:t});null!=s&&s.put(l,r),i[n.id]=new A(n,r)});await(0,l.qr)(Promise.allSettled(o),t),e.populateElevationTiles(i)}function $(e,t){const n={},i=[];for(const s of e){const e=s.id;e&&!n[e]?(n[e]=s,i.push(s)):t?.(s)}const s=i.sort((e,t)=>e.level-t.level);return s.filter((e,n)=>{for(let i=0;i<n;i++){const n=s[i].extent;if(n&&e.extent&&(0,c.gR)(n,e.extent))return t?.(e),!1}return!0})}function L(e){return null!=e?.tileInfo}const P="elevation-query:invalid-layer"}}]);