@arcgis/core 4.32.0-next.20250204 → 4.32.0-next.20250206

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 (165) hide show
  1. package/assets/components/assets/icon/dualImageArea16.json +1 -0
  2. package/assets/components/assets/icon/dualImageArea24.json +1 -0
  3. package/assets/components/assets/icon/dualImageArea32.json +1 -0
  4. package/assets/components/assets/icon/dualImageDistance16.json +1 -0
  5. package/assets/components/assets/icon/dualImageDistance24.json +1 -0
  6. package/assets/components/assets/icon/dualImageDistance32.json +1 -0
  7. package/assets/components/assets/icon/dualImageLocation16.json +1 -0
  8. package/assets/components/assets/icon/dualImageLocation24.json +1 -0
  9. package/assets/components/assets/icon/dualImageLocation32.json +1 -0
  10. package/assets/esri/core/workers/RemoteClient.js +1 -1
  11. package/assets/esri/core/workers/chunks/{24a86c52c8bdd0b5eb4d.js → 09a99c556089c166d1f8.js} +1 -1
  12. package/assets/esri/core/workers/chunks/0a8e388e96af44deeabb.js +1 -0
  13. package/assets/esri/core/workers/chunks/15f850c9a1154fc57e5a.js +1 -0
  14. package/assets/esri/core/workers/chunks/{9b4f471fcd8a3b5e089f.js → 192569dfa7c0ea8dd864.js} +1 -1
  15. package/assets/esri/core/workers/chunks/24e47f748f0e4f815c6e.js +1 -0
  16. package/assets/esri/core/workers/chunks/28374a64790342e1b5ae.js +1 -0
  17. package/assets/esri/core/workers/chunks/{ad215219e5eef8598745.js → 28dbbfc44cc2bdcd221d.js} +1 -1
  18. package/assets/esri/core/workers/chunks/{6d5bfcc7856cafe7b043.js → 2d62b44385b2b7882b72.js} +2 -2
  19. package/assets/esri/core/workers/chunks/{6d5bfcc7856cafe7b043.js.LICENSE.txt → 2d62b44385b2b7882b72.js.LICENSE.txt} +1 -1
  20. package/assets/esri/core/workers/chunks/308ec51ff4a66f7fcb0d.js.LICENSE.txt +1 -1
  21. package/assets/esri/core/workers/chunks/{72cf9192292e5c85c6df.js → 32d3657dcae89b740f8b.js} +2 -2
  22. package/assets/esri/core/workers/chunks/{72cf9192292e5c85c6df.js.LICENSE.txt → 32d3657dcae89b740f8b.js.LICENSE.txt} +1 -1
  23. package/assets/esri/core/workers/chunks/333091ab2e267652ed56.js +1 -0
  24. package/assets/esri/core/workers/chunks/354531dc2f0dea2ad96f.js.LICENSE.txt +1 -1
  25. package/assets/esri/core/workers/chunks/35e4af82a08b4eadbfab.js +1 -0
  26. package/assets/esri/core/workers/chunks/38cd7745b8ef1b8b6196.js +1 -0
  27. package/assets/esri/core/workers/chunks/{8a1e4f65fc81aba7a704.js → 4122d10bc910e888eee1.js} +1 -1
  28. package/assets/esri/core/workers/chunks/433576983754f690bcc7.js +1 -0
  29. package/assets/esri/core/workers/chunks/459af0c3d62c3ed11c19.js +1 -0
  30. package/assets/esri/core/workers/chunks/{b1269b51cef3e11c85e3.js → 48ecc5a74fecbb2b9c6f.js} +1 -1
  31. package/assets/esri/core/workers/chunks/53810519ff5922b42cd2.js +1 -0
  32. package/assets/esri/core/workers/chunks/594d923400fd74881833.js +1 -0
  33. package/assets/esri/core/workers/chunks/{7a0415db78c68d31733f.js → 6039da57a2adedd3b83f.js} +1 -1
  34. package/assets/esri/core/workers/chunks/6fa4e80da3a7499a952c.js +1 -0
  35. package/assets/esri/core/workers/chunks/73d03c208242778e67bf.js +1 -0
  36. package/assets/esri/core/workers/chunks/77764ca90bdd13ee2167.js.LICENSE.txt +1 -1
  37. package/assets/esri/core/workers/chunks/{723a9fba144e2fa6d017.js → 7cb09e58bcc537ec1f7a.js} +1 -1
  38. package/assets/esri/core/workers/chunks/842db06ce62758fab1e7.js +1 -0
  39. package/assets/esri/core/workers/chunks/8c32cee395da0a7b9a8e.js +1 -0
  40. package/assets/esri/core/workers/chunks/94490937dca566fe2640.js +1 -0
  41. package/assets/esri/core/workers/chunks/9a2d7c98fa0c4f8a9fd5.js +314 -0
  42. package/assets/esri/core/workers/chunks/{610b33b7291cffcc4e5d.js → a42ae5d5e5f66d120b4d.js} +1 -1
  43. package/assets/esri/core/workers/chunks/a5e9ea13e844a62b2a7f.js +1 -0
  44. package/assets/esri/core/workers/chunks/b21b152fa15896577242.js.LICENSE.txt +1 -1
  45. package/assets/esri/core/workers/chunks/b43d88b6e7dc4ab13599.js +1 -0
  46. package/assets/esri/core/workers/chunks/c7b6f237efaab333459e.js +1 -0
  47. package/assets/esri/core/workers/chunks/d29c3bf29fcd7fa31f1a.js +1 -0
  48. package/assets/esri/core/workers/chunks/d339dee99c4820b63f39.js +1 -0
  49. package/assets/esri/core/workers/chunks/{9c5c6ecaf5be24279fa5.js → ddc30044f61a2c2df3fe.js} +1 -1
  50. package/assets/esri/core/workers/chunks/de1f3c4b8000c2d73013.js +1 -0
  51. package/assets/esri/core/workers/chunks/e4b3f2d5c43518b0cde7.js +1 -0
  52. package/assets/esri/core/workers/chunks/e5e3b6d00d27b5bb354f.js +1 -0
  53. package/assets/esri/core/workers/chunks/ef6279f5c63ab1e88c71.js +1 -0
  54. package/assets/esri/core/workers/chunks/{0711d3ad4d403bcfdcad.js → f117a89d1f4001a1f9f0.js} +1 -1
  55. package/assets/esri/core/workers/chunks/f60e301de6517553672f.js +2 -0
  56. package/assets/esri/core/workers/chunks/{1a2e1a414e651e988435.js.LICENSE.txt → f60e301de6517553672f.js.LICENSE.txt} +1 -1
  57. package/assets/esri/core/workers/chunks/f9e48205178a5a804d38.js +1 -0
  58. package/assets/esri/themes/base/widgets/_Directions.scss +15 -6
  59. package/assets/esri/themes/dark/main.css +1 -1
  60. package/assets/esri/themes/light/main.css +1 -1
  61. package/assets/esri/themes/light/view.css +1 -1
  62. package/chunks/ColorMaterial.glsl.js +4 -5
  63. package/chunks/HUDMaterial.glsl.js +6 -6
  64. package/chunks/Pattern.glsl.js +1 -1
  65. package/chunks/WaterSurface.glsl.js +2 -2
  66. package/geometry/operators/projectOperator.js +1 -1
  67. package/geometry/operators/shapePreservingProjectOperator.js +1 -1
  68. package/geometry/support/meshUtils/elevation.js +1 -1
  69. package/interfaces.d.ts +97 -49
  70. package/layers/Layer.js +1 -1
  71. package/layers/graphics/data/FeatureStore.js +1 -1
  72. package/layers/graphics/data/QueryEngineCapabilities.js +1 -1
  73. package/layers/graphics/sources/FeatureLayerSource.js +1 -1
  74. package/layers/graphics/sources/geojson/GeoJSONSourceWorker.js +1 -1
  75. package/layers/graphics/sources/support/MemorySourceWorker.js +1 -1
  76. package/layers/graphics/sources/support/clientSideDefaults.js +1 -1
  77. package/layers/graphics/sources/support/sourceUtils.js +1 -1
  78. package/layers/ogc/wcsUtils.js +1 -1
  79. package/layers/support/RasterFunctionTemplate.js +1 -1
  80. package/layers/support/rasterDatasets/WCSRaster.js +1 -1
  81. package/layers/support/rasterDatasets/multipartParser.js +1 -1
  82. package/layers/support/rasterDatasets/wcsCapabilitiesParser.js +1 -1
  83. package/layers/support/rasterFunctionUtils.d.ts +2 -1
  84. package/layers/support/rasterFunctionUtils.js +1 -1
  85. package/layers/support/rasterFunctions/creators/createDataManagementFunctions.js +1 -1
  86. package/package.json +2 -2
  87. package/rest/support/ImageSampleParameters.js +1 -1
  88. package/smartMapping/support/adapters/InMemoryLayerAdapter.js +1 -1
  89. package/smartMapping/support/adapters/support/histogramUtils.js +1 -1
  90. package/support/revision.js +1 -1
  91. package/symbols/cim/CIMSymbolRasterizer.js +1 -1
  92. package/views/2d/engine/webgl/shaderGraph/techniques/heatmap/HeatmapResources.js +1 -1
  93. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  94. package/views/2d/layers/GraphicsLayerView2D.js +1 -1
  95. package/views/2d/layers/ImageryLayerView2D.js +1 -1
  96. package/views/2d/layers/LayerView2D.js +1 -1
  97. package/views/2d/layers/MapImageLayerView2D.js +1 -1
  98. package/views/2d/layers/TileLayerView2D.js +1 -1
  99. package/views/2d/layers/graphics/HighlightGraphicContainer.js +1 -1
  100. package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
  101. package/views/2d/layers/support/util.js +1 -1
  102. package/views/3d/environment/ChapmanAtmosphere.js +1 -1
  103. package/views/3d/layers/MediaLayerView3D.js +1 -1
  104. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  105. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  106. package/views/3d/layers/graphics/Graphics3DLineCalloutSymbolLayer.js +1 -1
  107. package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
  108. package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
  109. package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
  110. package/views/3d/terrain/OverlayManager.js +1 -1
  111. package/views/3d/terrain/OverlayRenderer.js +1 -1
  112. package/views/3d/terrain/TerrainSurface.js +1 -1
  113. package/views/3d/webgl-engine/Stage.js +1 -1
  114. package/views/3d/webgl-engine/effects/haze/Haze.js +1 -1
  115. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  116. package/views/3d/webgl-engine/parts/ScreenshotManager.js +1 -1
  117. package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
  118. package/views/LayerViewManager.js +1 -1
  119. package/views/SceneView.js +1 -1
  120. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorker.js +1 -1
  121. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTileCache.js +1 -1
  122. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTileStore.js +1 -1
  123. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiledFetcher.js +1 -1
  124. package/views/layers/support/MapServiceLayerViewHelper.js +1 -1
  125. package/widgets/Attachments/AttachmentsViewModel.js +1 -1
  126. package/widgets/Directions.js +1 -1
  127. package/widgets/Editor/UpdateWorkflow.js +1 -1
  128. package/widgets/Editor/support/EditorItem.js +1 -1
  129. package/widgets/Editor.js +1 -1
  130. package/widgets/Feature/FeatureExpression/FeatureExpressionViewModel.js +1 -1
  131. package/widgets/Feature/FeatureViewModel.js +1 -1
  132. package/widgets/Feature/support/arcadeFeatureUtils.js +1 -1
  133. package/widgets/NavigationToggle/NavigationToggleViewModel.js +1 -1
  134. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  135. package/widgets/OrientedImageryViewer/adapters/sketch/MeasurementAdapter.js +1 -1
  136. package/widgets/OrientedImageryViewer/components/ImageLocationWidget.js +1 -1
  137. package/widgets/Sketch.js +1 -1
  138. package/assets/esri/core/workers/chunks/08f76c75758a29158b13.js +0 -314
  139. package/assets/esri/core/workers/chunks/1a2e1a414e651e988435.js +0 -2
  140. package/assets/esri/core/workers/chunks/287362f9af132fafe4de.js +0 -1
  141. package/assets/esri/core/workers/chunks/2ea5e5e6c4660a06b516.js +0 -1
  142. package/assets/esri/core/workers/chunks/380d37ceb8cf52bad190.js +0 -1
  143. package/assets/esri/core/workers/chunks/3984bf01f055fc42bfbf.js +0 -1
  144. package/assets/esri/core/workers/chunks/39e38aab86dcee3f79be.js +0 -1
  145. package/assets/esri/core/workers/chunks/41cd1a5c99ab3bbd1fb4.js +0 -1
  146. package/assets/esri/core/workers/chunks/4263eee3247aaf4e64bf.js +0 -1
  147. package/assets/esri/core/workers/chunks/5e7f16b312077ca8c18d.js +0 -1
  148. package/assets/esri/core/workers/chunks/69d307758262e5d7a32e.js +0 -1
  149. package/assets/esri/core/workers/chunks/6ef2514a6b7bbfb8e37d.js +0 -1
  150. package/assets/esri/core/workers/chunks/7e4d72279cc599b7029c.js +0 -1
  151. package/assets/esri/core/workers/chunks/82d26884127ed772cc4b.js +0 -1
  152. package/assets/esri/core/workers/chunks/8438fba57e82e4cc7c11.js +0 -1
  153. package/assets/esri/core/workers/chunks/858b191c078d04232342.js +0 -1
  154. package/assets/esri/core/workers/chunks/91d2bdfa6e34c10b7f50.js +0 -1
  155. package/assets/esri/core/workers/chunks/92155d112ebb6a4c6c6e.js +0 -1
  156. package/assets/esri/core/workers/chunks/991e0f619f1f81f94d56.js +0 -1
  157. package/assets/esri/core/workers/chunks/9a27824d94df702e6e28.js +0 -1
  158. package/assets/esri/core/workers/chunks/b33122adfd1fb68f7c0f.js +0 -1
  159. package/assets/esri/core/workers/chunks/bbbe5d6cb8b737811c84.js +0 -1
  160. package/assets/esri/core/workers/chunks/bf26f58210755875748c.js +0 -1
  161. package/assets/esri/core/workers/chunks/d175953337fa655dc6b0.js +0 -1
  162. package/assets/esri/core/workers/chunks/d8c762ca94e3a11b125d.js +0 -1
  163. package/assets/esri/core/workers/chunks/dbc447413ab40a79ba87.js +0 -1
  164. package/assets/esri/core/workers/chunks/e26dc0c1654316bb1558.js +0 -1
  165. package/assets/esri/core/workers/chunks/e410a09650530d7aad10.js +0 -1
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[2015],{87317:(e,t,s)=>{s.d(t,{a:()=>_,b:()=>c,c:()=>r,d:()=>f,e:()=>I,f:()=>y,g:()=>a,h:()=>x,j:()=>d,l:()=>p,n:()=>g,s:()=>i,t:()=>m});var n=s(34304);function r(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}function i(e,t,s,n,r){return e[0]=t,e[1]=s,e[2]=n,e[3]=r,e}function a(e,t,s){return e[0]=t[0]+s[0],e[1]=t[1]+s[1],e[2]=t[2]+s[2],e[3]=t[3]+s[3],e}function o(e,t,s){return e[0]=t[0]-s[0],e[1]=t[1]-s[1],e[2]=t[2]-s[2],e[3]=t[3]-s[3],e}function l(e,t,s){return e[0]=t[0]*s[0],e[1]=t[1]*s[1],e[2]=t[2]*s[2],e[3]=t[3]*s[3],e}function h(e,t,s){return e[0]=t[0]/s[0],e[1]=t[1]/s[1],e[2]=t[2]/s[2],e[3]=t[3]/s[3],e}function c(e,t,s){return e[0]=t[0]*s,e[1]=t[1]*s,e[2]=t[2]*s,e[3]=t[3]*s,e}function u(e,t){const s=t[0]-e[0],n=t[1]-e[1],r=t[2]-e[2],i=t[3]-e[3];return Math.sqrt(s*s+n*n+r*r+i*i)}function f(e,t){const s=t[0]-e[0],n=t[1]-e[1],r=t[2]-e[2],i=t[3]-e[3];return s*s+n*n+r*r+i*i}function d(e){const t=e[0],s=e[1],n=e[2],r=e[3];return Math.sqrt(t*t+s*s+n*n+r*r)}function y(e){const t=e[0],s=e[1],n=e[2],r=e[3];return t*t+s*s+n*n+r*r}function g(e,t){const s=t[0],n=t[1],r=t[2],i=t[3];let a=s*s+n*n+r*r+i*i;return a>0&&(a=1/Math.sqrt(a),e[0]=s*a,e[1]=n*a,e[2]=r*a,e[3]=i*a),e}function x(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function p(e,t,s,n){const r=t[0],i=t[1],a=t[2],o=t[3];return e[0]=r+n*(s[0]-r),e[1]=i+n*(s[1]-i),e[2]=a+n*(s[2]-a),e[3]=o+n*(s[3]-o),e}function m(e,t,s){const n=t[0],r=t[1],i=t[2],a=t[3];return e[0]=s[0]*n+s[4]*r+s[8]*i+s[12]*a,e[1]=s[1]*n+s[5]*r+s[9]*i+s[13]*a,e[2]=s[2]*n+s[6]*r+s[10]*i+s[14]*a,e[3]=s[3]*n+s[7]*r+s[11]*i+s[15]*a,e}function _(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]}function I(e,t){const s=e[0],r=e[1],i=e[2],a=e[3],o=t[0],l=t[1],h=t[2],c=t[3],u=(0,n.FD)();return Math.abs(s-o)<=u*Math.max(1,Math.abs(s),Math.abs(o))&&Math.abs(r-l)<=u*Math.max(1,Math.abs(r),Math.abs(l))&&Math.abs(i-h)<=u*Math.max(1,Math.abs(i),Math.abs(h))&&Math.abs(a-c)<=u*Math.max(1,Math.abs(a),Math.abs(c))}const b=o,M=l,w=h,P=u,T=f,A=d,D=y;Object.freeze(Object.defineProperty({__proto__:null,add:a,ceil:function(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e[3]=Math.ceil(t[3]),e},copy:r,copyVec3:function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},dist:P,distance:u,div:w,divide:h,dot:x,equals:I,exactEquals:_,floor:function(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e[3]=Math.floor(t[3]),e},inverse:function(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e[3]=1/t[3],e},len:A,length:d,lerp:p,max:function(e,t,s){return e[0]=Math.max(t[0],s[0]),e[1]=Math.max(t[1],s[1]),e[2]=Math.max(t[2],s[2]),e[3]=Math.max(t[3],s[3]),e},min:function(e,t,s){return e[0]=Math.min(t[0],s[0]),e[1]=Math.min(t[1],s[1]),e[2]=Math.min(t[2],s[2]),e[3]=Math.min(t[3],s[3]),e},mul:M,multiply:l,negate:function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=-t[3],e},normalize:g,random:function(e,t=1){const s=n.Ov;let r,i,a,o,l,h;do{r=2*s()-1,i=2*s()-1,l=r*r+i*i}while(l>=1);do{a=2*s()-1,o=2*s()-1,h=a*a+o*o}while(h>=1);const c=Math.sqrt((1-l)/h);return e[0]=t*r,e[1]=t*i,e[2]=t*a*c,e[3]=t*o*c,e},round:function(e,t){return e[0]=Math.round(t[0]),e[1]=Math.round(t[1]),e[2]=Math.round(t[2]),e[3]=Math.round(t[3]),e},scale:c,scaleAndAdd:function(e,t,s,n){return e[0]=t[0]+s[0]*n,e[1]=t[1]+s[1]*n,e[2]=t[2]+s[2]*n,e[3]=t[3]+s[3]*n,e},set:i,sqrDist:T,sqrLen:D,squaredDistance:f,squaredLength:y,str:function(e){return"vec4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")"},sub:b,subtract:o,transformMat4:m,transformQuat:function(e,t,s){const n=t[0],r=t[1],i=t[2],a=s[0],o=s[1],l=s[2],h=s[3],c=h*n+o*i-l*r,u=h*r+l*n-a*i,f=h*i+a*r-o*n,d=-a*n-o*r-l*i;return e[0]=c*h+d*-a+u*-l-f*-o,e[1]=u*h+d*-o+f*-a-c*-l,e[2]=f*h+d*-l+c*-o-u*-a,e[3]=t[3],e}},Symbol.toStringTag,{value:"Module"}))},40876:(e,t,s)=>{s.d(t,{TS:()=>i,Tf:()=>c,V6:()=>r,c4:()=>a,qh:()=>h,z$:()=>l});const n={transparent:[0,0,0,0],black:[0,0,0,1],silver:[192,192,192,1],gray:[128,128,128,1],white:[255,255,255,1],maroon:[128,0,0,1],red:[255,0,0,1],purple:[128,0,128,1],fuchsia:[255,0,255,1],green:[0,128,0,1],lime:[0,255,0,1],olive:[128,128,0,1],yellow:[255,255,0,1],navy:[0,0,128,1],blue:[0,0,255,1],teal:[0,128,128,1],aqua:[0,255,255,1],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],blanchedalmond:[255,235,205,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],oldlace:[253,245,230,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],rebeccapurple:[102,51,153,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],whitesmoke:[245,245,245,1],yellowgreen:[154,205,50,1]};function r(e){return!!n[e]||!!n[e.toLowerCase()]}function i(e){return n[e]??n[e.toLowerCase()]}function a(e){return[...i(e)]}function o(e,t,s){s<0&&++s,s>1&&--s;const n=6*s;return n<1?e+(t-e)*n:2*s<1?t:3*s<2?e+(t-e)*(2/3-s)*6:e}function l(e,t,s,n=1){const r=(e%360+360)%360/360,i=s<=.5?s*(t+1):s+t-s*t,a=2*s-i;return[Math.round(255*o(a,i,r+1/3)),Math.round(255*o(a,i,r)),Math.round(255*o(a,i,r-1/3)),n]}function h(e){const t=e.length>5,s=t?8:4,n=(1<<s)-1,r=t?1:17,i=t?9===e.length:5===e.length;let a=Number("0x"+e.slice(1));if(isNaN(a))return null;const o=[0,0,0,1];let l;return i&&(l=a&n,a>>=s,o[3]=r*l/255),l=a&n,a>>=s,o[2]=r*l,l=a&n,a>>=s,o[1]=r*l,l=a&n,a>>=s,o[0]=r*l,o}const c=2.2},91829:(e,t,s)=>{function n(){return[0,0,0,0]}function r(e,t,s,n){return[e,t,s,n]}function i(e,t,s,n){return[e,t,s,n]}function a(e,t=[0,0,0,0]){const s=Math.min(4,e.length);for(let n=0;n<s;++n)t[n]=e[n];return t}function o(){return r(1,1,1,1)}function l(){return r(1,0,0,0)}function h(){return r(0,1,0,0)}function c(){return r(0,0,1,0)}function u(){return r(0,0,0,1)}s.d(t,{CN:()=>i,Un:()=>d,ci:()=>a,fA:()=>r,uY:()=>f,vt:()=>n});const f=[0,0,0,0],d=o(),y=l(),g=h(),x=c(),p=u();Object.freeze(Object.defineProperty({__proto__:null,ONES:d,UNIT_W:p,UNIT_X:y,UNIT_Y:g,UNIT_Z:x,ZEROS:f,clone:function(e){return[e[0],e[1],e[2],e[3]]},create:n,createView:function(e,t){return new Float64Array(e,t,4)},freeze:i,fromArray:a,fromValues:r,ones:o,unitW:u,unitX:l,unitY:h,unitZ:c,zeros:function(){return[0,0,0,0]}},Symbol.toStringTag,{value:"Module"}))},34304:(e,t,s)=>{s.d(t,{DF:()=>l,FD:()=>r,Ov:()=>i,ct:()=>h});let n=1e-6;function r(){return n}const i=Math.random,a=Math.PI/180,o=180/Math.PI;function l(e){return e*a}function h(e){return e*o}Object.freeze(Object.defineProperty({__proto__:null,RANDOM:i,equals:function(e,t){return Math.abs(e-t)<=n*Math.max(1,Math.abs(e),Math.abs(t))},getEpsilon:r,setEpsilon:function(e){n=e},toDegree:h,toRadian:l},Symbol.toStringTag,{value:"Module"}))},69397:(e,t,s)=>{s.d(t,{Qf:()=>l,Qh:()=>a,RS:()=>r,ez:()=>u,i5:()=>f,lM:()=>i,qK:()=>c});var n=s(34275);const r=16;function i(e){if(!e)return 0;let t=c;for(const s in e)e.hasOwnProperty(s)&&(t+=o(e[s],!1));return t}function a(e){if(!e)return 0;if("number"==typeof e[0])return l(e);if(Array.isArray(e))return function(e){const t=e.length;if(0===t||"number"==typeof e[0])return h(e,8);let s=u;for(let n=0;n<t;n++)s+=o(e[n]);return s}(e);let t=c;for(const s in e)e.hasOwnProperty(s)&&(t+=o(e[s]));return t}function o(e,t=!0){switch(typeof e){case"object":return t?a(e):c;case"string":return function(e){return 32+e.length}(e);case"number":return r;case"boolean":return 4;default:return 8}}function l(...e){return e.reduce(((e,t)=>e+(t?(0,n.iu)(t)?t.byteLength+f:Array.isArray(t)?h(t,r):0:0)),0)}function h(e,t){return u+e.length*t}const c=32,u=16,f=145},11764:(e,t,s)=>{s.r(t),s.d(t,{default:()=>X});var n=s(74887),r=s(89640),i=s(6774),a=s(13195);function o(e){return 746===e||747===e||!(e<4352)&&(e>=12704&&e<=12735||e>=12544&&e<=12591||e>=65072&&e<=65103&&!(e>=65097&&e<=65103)||e>=63744&&e<=64255||e>=13056&&e<=13311||e>=11904&&e<=12031||e>=12736&&e<=12783||e>=12288&&e<=12351&&!(e>=12296&&e<=12305||e>=12308&&e<=12319||12336===e)||e>=13312&&e<=19903||e>=19968&&e<=40959||e>=12800&&e<=13055||e>=12592&&e<=12687||e>=43360&&e<=43391||e>=55216&&e<=55295||e>=4352&&e<=4607||e>=44032&&e<=55215||e>=12352&&e<=12447||e>=12272&&e<=12287||e>=12688&&e<=12703||e>=12032&&e<=12255||e>=12784&&e<=12799||e>=12448&&e<=12543&&12540!==e||e>=65280&&e<=65519&&!(65288===e||65289===e||65293===e||e>=65306&&e<=65310||65339===e||65341===e||65343===e||e>=65371&&e<=65503||65507===e||e>=65512&&e<=65519)||e>=65104&&e<=65135&&!(e>=65112&&e<=65118||e>=65123&&e<=65126)||e>=5120&&e<=5759||e>=6320&&e<=6399||e>=65040&&e<=65055||e>=19904&&e<=19967||e>=40960&&e<=42127||e>=42128&&e<=42191)}function l(e){return!(e<11904)&&(e>=12704&&e<=12735||e>=12544&&e<=12591||e>=65072&&e<=65103||e>=63744&&e<=64255||e>=13056&&e<=13311||e>=11904&&e<=12031||e>=12736&&e<=12783||e>=12288&&e<=12351||e>=13312&&e<=19903||e>=19968&&e<=40959||e>=12800&&e<=13055||e>=65280&&e<=65519||e>=12352&&e<=12447||e>=12272&&e<=12287||e>=12032&&e<=12255||e>=12784&&e<=12799||e>=12448&&e<=12543||e>=65040&&e<=65055||e>=42128&&e<=42191||e>=40960&&e<=42127)}function h(e){switch(e){case 10:case 32:case 38:case 40:case 41:case 43:case 45:case 47:case 173:case 183:case 8203:case 8208:case 8211:case 8231:return!0}return!1}function c(e){switch(e){case 9:case 10:case 11:case 12:case 13:case 32:return!0}return!1}var u=s(18989);const f=24;class d{constructor(e,t,s,n,r,i,a){this._glyphItems=e,this._maxWidth=t,this._lineHeight=s,this._letterSpacing=n,this._hAnchor=r,this._vAnchor=i,this._justify=a}getShaping(e,t,s){const n=this._letterSpacing,r=this._lineHeight,i=this._justify,a=this._maxWidth,u=[];let f=0,d=0;for(const t of e){const e=t.codePointAt(0);if(null==e)continue;const r=s&&o(e);let i;for(const t of this._glyphItems)if(i=t[e],i)break;u.push({codePoint:e,x:f,y:d,vertical:r,glyphMosaicItem:i}),i&&(f+=i.metrics.advance+n)}let y=f;a>0&&(y=f/Math.max(1,Math.ceil(f/a)));const g=e.includes("​"),x=[],p=u.length;for(let e=0;e<p-1;e++){const t=u[e].codePoint,s=l(t);if(h(t)||s){let n=0;if(10===t)n-=1e4;else if(s&&g)n+=150;else{40!==t&&65288!==t||(n+=50);const s=u[e+1].codePoint;41!==s&&65289!==s||(n+=50)}x.push(this._buildBreak(e+1,u[e].x,y,x,n,!1))}}const m=this._optimalBreaks(this._buildBreak(p,f,y,x,0,!0));let _=0;const I=t?-r:r;let b=0;for(let e=0;e<m.length;e++){const t=m[e];let s=b;for(;s<t&&c(u[s].codePoint);)u[s].glyphMosaicItem=null,++s;let n=t-1;for(;n>s&&c(u[n].codePoint);)u[n].glyphMosaicItem=null,--n;if(s<=n){const e=u[s].x;for(let t=s;t<=n;t++)u[t].x-=e,u[t].y=d;let t=u[n].x;u[n].glyphMosaicItem&&(t+=u[n].glyphMosaicItem.metrics.advance),_=Math.max(t,_),i&&this._applyJustification(u,s,n)}b=t,d+=I}if(u.length>0){const e=m.length-1,s=(i-this._hAnchor)*_;let n=(-this._vAnchor*(e+1)+.5)*r;t&&e&&(n+=e*r);for(const e of u)e.x+=s,e.y+=n}return u.filter((e=>e.glyphMosaicItem))}static getTextBox(e,t){if(!e.length)return null;let s=1/0,n=1/0,r=0,i=0;for(const a of e){const e=a.glyphMosaicItem.metrics.advance,o=a.x,l=a.y-17,h=o+e,c=l+t;s=Math.min(s,o),r=Math.max(r,h),n=Math.min(n,l),i=Math.max(i,c)}return{x:s,y:n,width:r-s,height:i-n}}static getBox(e){if(!e.length)return null;let t=1/0,s=1/0,n=0,r=0;for(const i of e){const{height:e,left:a,top:o,width:l}=i.glyphMosaicItem.metrics,h=i.x,c=i.y-(e-Math.abs(o)),u=h+l+a,f=c+e;t=Math.min(t,h),n=Math.max(n,u),s=Math.min(s,c),r=Math.max(r,f)}return{x:t,y:s,width:n-t,height:r-s}}static addDecoration(e,t){const s=e.length;if(0===s)return;let n=e[0].x+e[0].glyphMosaicItem.metrics.left,r=e[0].y;for(let i=1;i<s;i++){const s=e[i];if(s.y!==r){const a=e[i-1].x+e[i-1].glyphMosaicItem.metrics.left+e[i-1].glyphMosaicItem.metrics.width;e.push({codePoint:0,x:n,y:r+t-3,vertical:!1,glyphMosaicItem:{sdf:!0,rect:new u.A(4,0,4,8),metrics:{width:a-n,height:8,left:0,top:0,advance:0},page:0,code:0}}),r=s.y,n=s.x+s.glyphMosaicItem.metrics.left}}const i=e[s-1].x+e[s-1].glyphMosaicItem.metrics.left+e[s-1].glyphMosaicItem.metrics.width;e.push({codePoint:0,x:n,y:r+t-3,vertical:!1,glyphMosaicItem:{sdf:!0,rect:new u.A(4,0,4,8),metrics:{width:i-n,height:8,left:0,top:0,advance:0},page:0,code:0}})}_breakScore(e,t,s,n){const r=(e-t)*(e-t);return n?e<t?r/2:2*r:r+Math.abs(s)*s}_buildBreak(e,t,s,n,r,i){let a=null,o=this._breakScore(t,s,r,i);for(const e of n){const n=t-e.x,l=this._breakScore(n,s,r,i)+e.score;l<=o&&(a=e,o=l)}return{index:e,x:t,score:o,previousBreak:a}}_optimalBreaks(e){return e?this._optimalBreaks(e.previousBreak).concat(e.index):[]}_applyJustification(e,t,s){const n=e[s],r=n.vertical?f:n.glyphMosaicItem?n.glyphMosaicItem.metrics.advance:0,i=(n.x+r)*this._justify;for(let n=t;n<=s;n++)e[n].x-=i}}var y=s(4272);const g=.5;class x{constructor(e,t,s=0,n=-1,r=g){this.x=e,this.y=t,this.angle=s,this.segment=n,this.minzoom=r}}class p{constructor(e,t,s,n,r,i=g,o=a.MG){this.anchor=e,this.labelAngle=t,this.glyphAngle=s,this.page=n,this.alternateVerticalGlyph=r,this.minzoom=i,this.maxzoom=o}}class m{constructor(e,t,s,n,r,i,a,o,l,h,c,u){this.tl=e,this.tr=t,this.bl=s,this.br=n,this.mosaicRect=r,this.labelAngle=i,this.minAngle=a,this.maxAngle=o,this.anchor=l,this.minzoom=h,this.maxzoom=c,this.page=u}}class _{constructor(e){this.shapes=e}}class I{getIconPlacement(e,t,s){const n=new i.bR(e.x,e.y),r=s.rotationAlignment===y.I5.MAP,o=s.keepUpright;let l=s.rotate*a.os;r&&(l+=e.angle);const h=new _([]);return s.allowOverlap&&s.ignorePlacement||(h.iconColliders=[]),this._addIconPlacement(h,n,t,s,l),r&&o&&this._addIconPlacement(h,n,t,s,l+a.Jo),h}_addIconPlacement(e,t,s,n,r){const o=s.rasterizationScale,l=s.width/o,h=s.height/o,c=n.offset;let u=c[0],f=c[1];switch(n.anchor){case y.KI.CENTER:u-=l/2,f-=h/2;break;case y.KI.LEFT:f-=h/2;break;case y.KI.RIGHT:u-=l,f-=h/2;break;case y.KI.TOP:u-=l/2;break;case y.KI.BOTTOM:u-=l/2,f-=h;break;case y.KI.TOP_LEFT:break;case y.KI.BOTTOM_LEFT:f-=h;break;case y.KI.TOP_RIGHT:u-=l;break;case y.KI.BOTTOM_RIGHT:u-=l,f-=h}const d=s.rect,x=2/o,p=u-x,_=f-x,I=p+d.width/o,b=_+d.height/o,M=new i.bR(p,_),w=new i.bR(I,b),P=new i.bR(p,b),T=new i.bR(I,_);if(0!==r){const e=Math.cos(r),t=Math.sin(r);M.rotate(e,t),w.rotate(e,t),P.rotate(e,t),T.rotate(e,t)}const A=new m(M,T,P,w,d,r,0,256,t,g,a.MG,0);if(e.shapes.push(A),!n.allowOverlap||!n.ignorePlacement){const s=n.size,i=n.padding,o={xTile:t.x,yTile:t.y,dxPixels:u*s-i,dyPixels:f*s-i,hard:!n.optional,partIndex:0,width:l*s+2*i,height:h*s+2*i,angle:r,minLod:g,maxLod:a.MG};e.iconColliders.push(o)}}getTextPlacement(e,t,s,n){const r=new i.bR(e.x,e.y),o=n.rotate*a.os,l=n.rotationAlignment===y.I5.MAP,h=n.keepUpright,c=n.padding;let u=g;const x=l?e.angle:0,I=e.segment>=0&&l,b=n.allowOverlap&&n.ignorePlacement?null:[],M=[],w=!I;let P=Number.POSITIVE_INFINITY,T=Number.NEGATIVE_INFINITY,A=P,D=T;const k=(I||l)&&h,L=n.size/f;let B=!1;for(const e of t)if(e.vertical){B=!0;break}let V,v=0,R=0;if(!I&&B){const e=d.getTextBox(t,n.lineHeight*f);switch(n.anchor){case y.KI.LEFT:v=e.height/2,R=-e.width/2;break;case y.KI.RIGHT:v=-e.height/2,R=e.width/2;break;case y.KI.TOP:v=e.height/2,R=e.width/2;break;case y.KI.BOTTOM:v=-e.height/2,R=-e.width/2;break;case y.KI.TOP_LEFT:v=e.height;break;case y.KI.BOTTOM_LEFT:R=-e.width;break;case y.KI.TOP_RIGHT:R=e.width;break;case y.KI.BOTTOM_RIGHT:v=-e.height}}v+=n.offset[0]*f,R+=n.offset[1]*f;for(const f of t){const t=f.glyphMosaicItem;if(!t||t.rect.isEmpty)continue;const d=t.rect,y=t.metrics,_=t.page;if(b&&w){if(void 0!==V&&V!==f.y){let t,s,r,i;B?(t=-D+v,s=P+R,r=D-A,i=T-P):(t=P+v,s=A+R,r=T-P,i=D-A);const l={xTile:e.x,yTile:e.y,dxPixels:t*L-c,dyPixels:s*L-c,hard:!n.optional,partIndex:1,width:r*L+2*c,height:i*L+2*c,angle:o,minLod:g,maxLod:a.MG};b.push(l),P=Number.POSITIVE_INFINITY,T=Number.NEGATIVE_INFINITY,A=P,D=T}V=f.y}const S=[];if(I){const n=.5*t.metrics.width,r=(f.x+y.left-4+n)*L*8;if(u=this._placeGlyph(e,u,r,s,e.segment,1,f.vertical,_,S),h&&(u=this._placeGlyph(e,u,r,s,e.segment,-1,f.vertical,_,S)),u>=2)break}else S.push(new p(r,x,x,_,!1)),l&&h&&S.push(new p(r,x+a.Jo,x+a.Jo,_,!1));const C=f.x+y.left,O=f.y-17-y.top,E=C+y.width,F=O+y.height;let z,N,U,G,K,q,H,W;if(!I&&B)if(f.vertical){const e=(C+E)/2-y.height/2,t=(O+F)/2+y.width/2;z=new i.bR(-t-4+v,e-4+R),N=new i.bR(z.x+d.width,z.y+d.height),U=new i.bR(z.x,N.y),G=new i.bR(N.x,z.y)}else z=new i.bR(4-O+v,C-4+R),N=new i.bR(z.x-d.height,z.y+d.width),U=new i.bR(N.x,z.y),G=new i.bR(z.x,N.y);else z=new i.bR(C-4+v,O-4+R),N=new i.bR(z.x+d.width,z.y+d.height),U=new i.bR(z.x,N.y),G=new i.bR(N.x,z.y);for(const t of S){let s,r,a,l;if(t.alternateVerticalGlyph){if(!K){const e=(O+F)/2+R;K=new i.bR((C+E)/2+v-y.height/2-4,e+y.width/2+4),q=new i.bR(K.x+d.height,K.y-d.width),H=new i.bR(q.x,K.y),W=new i.bR(K.x,q.y)}s=K,r=H,a=W,l=q}else s=z,r=U,a=G,l=N;const h=O,u=F,g=t.glyphAngle+o;if(0!==g){const e=Math.cos(g),t=Math.sin(g);s=s.clone(),r=r?.clone(),a=a?.clone(),l=l?.clone(),s.rotate(e,t),l?.rotate(e,t),r?.rotate(e,t),a?.rotate(e,t)}let x=0,p=256;if(I&&B?f.vertical?t.alternateVerticalGlyph?(x=32,p=96):(x=224,p=32):(x=224,p=96):(x=192,p=64),M.push(new m(s,a,r,l,d,t.labelAngle,x,p,t.anchor,t.minzoom,t.maxzoom,t.page)),b&&(!k||this._legible(t.labelAngle)))if(w)C<P&&(P=C),h<A&&(A=h),E>T&&(T=E),u>D&&(D=u);else if(t.minzoom<2){const s={xTile:e.x,yTile:e.y,dxPixels:(C+v)*L-c,dyPixels:(h+v)*L-c,hard:!n.optional,partIndex:1,width:(E-C)*L+2*c,height:(u-h)*L+2*c,angle:g,minLod:t.minzoom,maxLod:t.maxzoom};b.push(s)}}}if(u>=2)return null;if(b&&w){let t,s,r,i;B?(t=-D+v,s=P+R,r=D-A,i=T-P):(t=P+v,s=A+R,r=T-P,i=D-A);const l={xTile:e.x,yTile:e.y,dxPixels:t*L-c,dyPixels:s*L-c,hard:!n.optional,partIndex:1,width:r*L+2*c,height:i*L+2*c,angle:o,minLod:g,maxLod:a.MG};b.push(l)}const S=new _(M);return b&&b.length>0&&(S.textColliders=b),S}_legible(e){const t=(0,a.z0)(e);return t<65||t>=193}_placeGlyph(e,t,s,n,r,o,l,h,c){let u=o;const f=u<0?(0,a.Wh)(e.angle+a.Jo,a.pJ):e.angle;let d=0;s<0&&(u*=-1,s*=-1,d=a.Jo),u>0&&++r;let y=new i.bR(e.x,e.y),g=n[r],x=a.MG;if(n.length<=r)return x;for(;;){const e=g.x-y.x,i=g.y-y.y,o=Math.sqrt(e*e+i*i),m=Math.max(s/o,t),_=e/o,I=i/o,b=(0,a.Wh)(Math.atan2(I,_)+d,a.pJ);if(c.push(new p(y,f,b,h,!1,m,x)),l&&c.push(new p(y,f,b,h,!0,m,x)),m<=t)return m;y=g.clone();do{if(r+=u,n.length<=r||r<0)return m;g=n[r]}while(y.isEqual(g));let M=g.x-y.x,w=g.y-y.y;const P=Math.sqrt(M*M+w*w);M*=o/P,w*=o/P,y.x-=M,y.y-=w,x=m}}}var b,M,w=s(51624),P=s(15585);(M=b||(b={}))[M.moveTo=1]="moveTo",M[M.lineTo=2]="lineTo",M[M.close=7]="close";class T{constructor(e,t,s=0){this.values={},this._geometry=void 0,this._pbfGeometry=null,this.featureIndex=s;const n=t.keys,r=t.values,i=e.asUnsafe();for(;i.next();)switch(i.tag()){case 1:this.id=i.getUInt64();break;case 2:{const e=i.getMessage().asUnsafe(),t=this.values;for(;!e.empty();){const s=e.getUInt32(),i=e.getUInt32();t[n[s]]=r[i]}e.release();break}case 3:this.type=i.getUInt32();break;case 4:this._pbfGeometry=i.getMessage();break;default:i.skip()}}getGeometry(e){if(void 0!==this._geometry)return this._geometry;if(!this._pbfGeometry)return null;const t=this._pbfGeometry.asUnsafe();let s,n;this._pbfGeometry=null,e?e.reset(this.type):s=[];let r,a=b.moveTo,o=0,l=0,h=0;for(;!t.empty();){if(0===o){const e=t.getUInt32();a=7&e,o=e>>3}switch(o--,a){case b.moveTo:l+=t.getSInt32(),h+=t.getSInt32(),e?e.moveTo(l,h):s&&(n&&s.push(n),n=[],n.push(new i.bR(l,h)));break;case b.lineTo:l+=t.getSInt32(),h+=t.getSInt32(),e?e.lineTo(l,h):n&&n.push(new i.bR(l,h));break;case b.close:e?e.close():n&&!n[0].equals(l,h)&&n.push(n[0].clone());break;default:throw t.release(),new Error("Invalid path operation")}}return e?r=e.result():s&&(n&&s.push(n),r=s),t.release(),this._geometry=r,r}}var A=s(80081);class D extends A.A{constructor(){super(12)}add(e,t,s){const n=this.array;n.push(e),n.push(t),n.push(s)}}A.A;class k{constructor(e){this.extent=4096,this.keys=[],this.values=[],this._pbfLayer=e.clone();const t=e.asUnsafe();for(;t.next();)switch(t.tag()){case 1:this.name=t.getString();break;case 3:this.keys.push(t.getString());break;case 4:this.values.push(t.processMessage(k._parseValue));break;case 5:this.extent=t.getUInt32();break;default:t.skip()}}getData(){return this._pbfLayer}static _parseValue(e){for(;e.next();)switch(e.tag()){case 1:return e.getString();case 2:return e.getFloat();case 3:return e.getDouble();case 4:return e.getInt64();case 5:return e.getUInt64();case 6:return e.getSInt64();case 7:return e.getBool();default:e.skip()}return null}}class L extends A.A{constructor(e){super(e)}add(e,t,s,n,r,i,a,o,l,h,c,u){const f=this.array;let d=A.A.i1616to32(e,t);f.push(d);const y=31;d=A.A.i8888to32(Math.round(y*s),Math.round(y*n),Math.round(y*r),Math.round(y*i)),f.push(d),d=A.A.i8888to32(Math.round(y*a),Math.round(y*o),Math.round(y*l),Math.round(y*h)),f.push(d),d=A.A.i1616to32(c,0),f.push(d),u&&f.push(...u)}}class B extends A.A{constructor(e){super(e)}add(e,t,s){const n=this.array;n.push(A.A.i1616to32(e,t)),s&&n.push(...s)}}class V extends A.A{constructor(e){super(e)}add(e,t,s,n,r,i,a){const o=this.array,l=this.index;let h=A.A.i1616to32(e,t);return o.push(h),h=A.A.i8888to32(Math.round(15*s),Math.round(15*n),r,i),o.push(h),a&&o.push(...a),l}}class v extends A.A{constructor(e){super(e)}add(e,t,s,n,r,i,o,l,h,c,u,f){const d=this.array;let y=A.A.i1616to32(e,t);d.push(y),y=A.A.i1616to32(Math.round(8*s),Math.round(8*n)),d.push(y),y=A.A.i8888to32(r/4,i/4,l,h),d.push(y),y=A.A.i8888to32(0,(0,a.z0)(o),10*c,Math.min(10*u,255)),d.push(y),f&&d.push(...f)}}class R extends A.A{constructor(e){super(e)}add(e,t,s,n,r){const i=this.array,a=A.A.i1616to32(2*e+s,2*t+n);i.push(a),r&&i.push(...r)}}class S{constructor(e,t,s){this.layerExtent=4096,this._features=[],this.layer=e,this.zoom=t,this._spriteInfo=s,this._filter=e.getFeatureFilter()}pushFeature(e){this._filter&&!this._filter.filter(e,this.zoom)||this._features.push(e)}hasFeatures(){return this._features.length>0}getResources(e,t,s){}}class C extends S{constructor(e,t,s,n,i){super(e,t,s),this.type=r.NP.CIRCLE,this._circleVertexBuffer=n,this._circleIndexBuffer=i}get circleIndexStart(){return this._circleIndexStart}get circleIndexCount(){return this._circleIndexCount}processFeatures(e){const t=this._circleVertexBuffer,s=this._circleIndexBuffer;this._circleIndexStart=3*s.index,this._circleIndexCount=0;const n=this.layer,r=this.zoom;e&&e.setExtent(this.layerExtent);for(const i of this._features){const a=i.getGeometry(e);if(!a)continue;const o=n.circleMaterial.encodeAttributes(i,r,n);for(const e of a)if(e)for(const n of e){const e=t.index;t.add(n.x,n.y,0,0,o),t.add(n.x,n.y,0,1,o),t.add(n.x,n.y,1,0,o),t.add(n.x,n.y,1,1,o),s.add(e,e+1,e+2),s.add(e+1,e+2,e+3),this._circleIndexCount+=6}}}serialize(){let e=6;e+=this.layerUIDs.length,e+=this._circleVertexBuffer.array.length,e+=this._circleIndexBuffer.array.length;const t=new Uint32Array(e),s=new Int32Array(t.buffer);let n=0;t[n++]=this.type,t[n++]=this.layerUIDs.length;for(let e=0;e<this.layerUIDs.length;e++)t[n++]=this.layerUIDs[e];t[n++]=this._circleIndexStart,t[n++]=this._circleIndexCount,t[n++]=this._circleVertexBuffer.array.length;for(let e=0;e<this._circleVertexBuffer.array.length;e++)s[n++]=this._circleVertexBuffer.array[e];t[n++]=this._circleIndexBuffer.array.length;for(let e=0;e<this._circleIndexBuffer.array.length;e++)t[n++]=this._circleIndexBuffer.array[e];return t.buffer}}var O=s(98291),E=s(83349);class F extends S{constructor(e,t,s,n,i,a,o){super(e,t,s),this.type=r.NP.FILL,this._patternMap=new Map,this._fillVertexBuffer=n,this._fillIndexBuffer=i,this._outlineVertexBuffer=a,this._outlineIndexBuffer=o}get fillIndexStart(){return this._fillIndexStart}get fillIndexCount(){return this._fillIndexCount}get outlineIndexStart(){return this._outlineIndexStart}get outlineIndexCount(){return this._outlineIndexCount}getResources(e,t,s){const n=this.layer,r=this.zoom,i=n.getPaintProperty("fill-pattern");if(i)if(i.isDataDriven)for(const e of this._features)t(i.getValue(r,e),!0);else t(i.getValue(r),!0)}processFeatures(e){this._fillIndexStart=3*this._fillIndexBuffer.index,this._fillIndexCount=0,this._outlineIndexStart=3*this._outlineIndexBuffer.index,this._outlineIndexCount=0;const t=this.layer,s=this.zoom,{fillMaterial:n,outlineMaterial:r,hasDataDrivenFill:i,hasDataDrivenOutline:a}=t;e&&e.setExtent(this.layerExtent);const o=t.getPaintProperty("fill-pattern"),l=o?.isDataDriven;let h=!o&&t.getPaintValue("fill-antialias",s);if(t.outlineUsesFillColor){if(h&&!t.hasDataDrivenOpacity){const e=t.getPaintValue("fill-opacity",s),n=t.getPaintValue("fill-opacity",s+1);e<1&&n<1&&(h=!1)}if(h&&!t.hasDataDrivenColor){const e=t.getPaintValue("fill-color",s),n=t.getPaintValue("fill-color",s+1);e[3]<1&&n[3]<1&&(h=!1)}}const c=this._features,u=e?.validateTessellation;if(l){const i=[];for(const l of c){const c=o.getValue(s,l),f=this._spriteInfo[c];if(!f?.rect)continue;const d=n.encodeAttributes(l,s,t,f),y=h&&a?r.encodeAttributes(l,s,t):[],g=l.getGeometry(e);i.push({ddFillAttributes:d,ddOutlineAttributes:y,page:f.page,geometry:g}),i.sort(((e,t)=>e.page-t.page));for(const{ddFillAttributes:e,ddOutlineAttributes:s,page:n,geometry:r}of i)this._processFeature(r,h,t.outlineUsesFillColor,e,s,u,n)}}else for(const o of c){const l=i?n.encodeAttributes(o,s,t):null,c=h&&a?r.encodeAttributes(o,s,t):null,f=o.getGeometry(e);this._processFeature(f,h,t.outlineUsesFillColor,l,c,u)}}serialize(){let e=10;e+=this.layerUIDs.length,e+=this._fillVertexBuffer.array.length,e+=this._fillIndexBuffer.array.length,e+=this._outlineVertexBuffer.array.length,e+=this._outlineIndexBuffer.array.length,e+=3*this._patternMap.size+1;const t=new Uint32Array(e),s=new Int32Array(t.buffer);let n=0;t[n++]=this.type,t[n++]=this.layerUIDs.length;for(let e=0;e<this.layerUIDs.length;e++)t[n++]=this.layerUIDs[e];t[n++]=this._fillIndexStart,t[n++]=this._fillIndexCount,t[n++]=this._outlineIndexStart,t[n++]=this._outlineIndexCount;const r=this._patternMap,i=r.size;if(t[n++]=i,i>0)for(const[e,[s,i]]of r)t[n++]=e,t[n++]=s,t[n++]=i;t[n++]=this._fillVertexBuffer.array.length;for(let e=0;e<this._fillVertexBuffer.array.length;e++)s[n++]=this._fillVertexBuffer.array[e];t[n++]=this._fillIndexBuffer.array.length;for(let e=0;e<this._fillIndexBuffer.array.length;e++)t[n++]=this._fillIndexBuffer.array[e];t[n++]=this._outlineVertexBuffer.array.length;for(let e=0;e<this._outlineVertexBuffer.array.length;e++)s[n++]=this._outlineVertexBuffer.array[e];t[n++]=this._outlineIndexBuffer.array.length;for(let e=0;e<this._outlineIndexBuffer.array.length;e++)t[n++]=this._outlineIndexBuffer.array[e];return t.buffer}_processFeature(e,t,s,n,r,i,a){if(!e)return;const o=e.length,l=!r||0===r.length;if(t&&(!s||l))for(let t=0;t<o;t++)this._processOutline(e[t],r);let h;for(let t=0;t<o;t++){const s=F._area(e[t]);s>32?(void 0!==h&&this._processFill(e,h,n,i,a),h=[t]):s<-32&&void 0!==h&&h.push(t)}void 0!==h&&this._processFill(e,h,n,i,a)}_processOutline(e,t){const s=this._outlineVertexBuffer,n=this._outlineIndexBuffer,r=n.index;let a,o,l;const h=new i.bR(0,0),c=new i.bR(0,0),u=new i.bR(0,0);let f=-1,d=-1,y=-1,g=-1,x=-1,p=!1,m=e.length;if(m<2)return;const _=e[0];let I=e[m-1];for(;m&&I.isEqual(_);)--m,I=e[m-1];if(!(m-0<2)){for(let r=0;r<m;++r){0===r?(a=e[m-1],o=e[0],l=e[1],h.assignSub(o,a),h.normalize(),h.rightPerpendicular()):(a=o,o=l,l=r!==m-1?e[r+1]:e[0],h.assign(c));const i=this._isClipEdge(a,o);-1===g&&(p=i),c.assignSub(l,o),c.normalize(),c.rightPerpendicular();const _=h.x*c.y-h.y*c.x;u.assignAdd(h,c),u.normalize();const I=-u.x*-h.x+-u.y*-h.y;let b=Math.abs(0!==I?1/I:1);b>8&&(b=8),_>=0?(y=s.add(o.x,o.y,h.x,h.y,0,1,t),-1===g&&(g=y),f>=0&&d>=0&&y>=0&&!i&&n.add(f,d,y),d=s.add(o.x,o.y,b*-u.x,b*-u.y,0,-1,t),-1===x&&(x=d),f>=0&&d>=0&&y>=0&&!i&&n.add(f,d,y),f=d,d=y,y=s.add(o.x,o.y,u.x,u.y,0,1,t),f>=0&&d>=0&&y>=0&&!i&&n.add(f,d,y),d=s.add(o.x,o.y,c.x,c.y,0,1,t),f>=0&&d>=0&&y>=0&&!i&&n.add(f,d,y)):(y=s.add(o.x,o.y,b*u.x,b*u.y,0,1,t),-1===g&&(g=y),f>=0&&d>=0&&y>=0&&!i&&n.add(f,d,y),d=s.add(o.x,o.y,-h.x,-h.y,0,-1,t),-1===x&&(x=d),f>=0&&d>=0&&y>=0&&!i&&n.add(f,d,y),f=d,d=y,y=s.add(o.x,o.y,-u.x,-u.y,0,-1,t),f>=0&&d>=0&&y>=0&&!i&&n.add(f,d,y),f=s.add(o.x,o.y,-c.x,-c.y,0,-1,t),f>=0&&d>=0&&y>=0&&!i&&n.add(f,d,y))}f>=0&&d>=0&&g>=0&&!p&&n.add(f,d,g),f>=0&&g>=0&&x>=0&&!p&&n.add(f,x,g),this._outlineIndexCount+=3*(n.index-r)}}_processFill(e,t,s,n,r){let i;t.length>1&&(i=[]);let a=0;for(const s of t)0!==a&&i.push(a),a+=e[s].length;const o=2*a,l=O.A.acquire();for(const s of t){const t=e[s],n=t.length;for(let e=0;e<n;++e)l.push(t[e].x,t[e].y)}const h=(0,E.e)(l,i,2);if(E.e.deviation(l,i,2,h)>0){const n=t.map((t=>e[t].length)),{buffer:i,vertexCount:a}=(0,P.l)(l,n);if(a>0){const e=this._fillVertexBuffer.index;for(let e=0;e<a;e++)this._fillVertexBuffer.add(i[2*e],i[2*e+1],s);for(let t=0;t<a;t+=3){const s=e+t;this._fillIndexBuffer.add(s,s+1,s+2)}if(void 0!==r){const e=this._patternMap,t=e.get(r);t?t[1]+=a:e.set(r,[this._fillIndexStart+this._fillIndexCount,a])}this._fillIndexCount+=a}}else{const e=h.length;if(e>0){const t=this._fillVertexBuffer.index;let n=0;for(;n<o;)this._fillVertexBuffer.add(l[n++],l[n++],s);let i=0;for(;i<e;)this._fillIndexBuffer.add(t+h[i++],t+h[i++],t+h[i++]);if(void 0!==r){const t=this._patternMap,s=t.get(r);s?s[1]+=e:t.set(r,[this._fillIndexStart+this._fillIndexCount,e])}this._fillIndexCount+=e}}O.A.release(l)}_isClipEdge(e,t){return e.x===t.x?e.x<=-64||e.x>=4160:e.y===t.y&&(e.y<=-64||e.y>=4160)}static _area(e){let t=0;const s=e.length-1;for(let n=0;n<s;n++)t+=(e[n].x-e[n+1].x)*(e[n].y+e[n+1].y);return t+=(e[s].x-e[0].x)*(e[s].y+e[0].y),.5*t}}var z=s(83773);class N extends S{constructor(e,t,s,n,i){super(e,t,s),this.type=r.NP.LINE,this._tessellationOptions={pixelCoordRatio:8,halfWidth:0,offset:0},this._patternMap=new Map,this.tessellationProperties={_lineVertexBuffer:null,_lineIndexBuffer:null,_ddValues:null},this.tessellationProperties._lineVertexBuffer=n,this.tessellationProperties._lineIndexBuffer=i,this._lineTessellator=new z.i(U(this.tessellationProperties),G(this.tessellationProperties),e.canUseThinTessellation)}get lineIndexStart(){return this._lineIndexStart}get lineIndexCount(){return this._lineIndexCount}getResources(e,t,s){const n=this.layer,r=this.zoom,i=n.getPaintProperty("line-pattern"),a=n.getPaintProperty("line-dasharray"),o=n.getLayoutProperty("line-cap");if(!i&&!a)return;const l=o?.getValue(r)||0,h=o?.isDataDriven,c=i?.isDataDriven,u=a?.isDataDriven;if(c||u)for(const e of this._features)t(c?i.getValue(r,e):this._getDashArrayKey(e,r,n,a,h,o,l));else if(i)t(i.getValue(r));else if(a){const e=a.getValue(r);t(n.getDashKey(e,l))}}processFeatures(e){this._lineIndexStart=3*this.tessellationProperties._lineIndexBuffer.index,this._lineIndexCount=0;const t=this.layer,s=this.zoom,n=this._features,r=this._tessellationOptions,{hasDataDrivenLine:i,lineMaterial:a}=t;e&&e.setExtent(this.layerExtent);const o=t.getPaintProperty("line-pattern"),l=t.getPaintProperty("line-dasharray"),h=o?.isDataDriven,c=l?.isDataDriven;let u;u=t.getLayoutProperty("line-cap");const f=u?.isDataDriven?u:null,d=f?null:t.getLayoutValue("line-cap",s),y=d||0,g=!!f;u=t.getLayoutProperty("line-join");const x=u?.isDataDriven?u:null,p=x?null:t.getLayoutValue("line-join",s);u=t.getLayoutProperty("line-miter-limit");const m=u?.isDataDriven?u:null,_=m?null:t.getLayoutValue("line-miter-limit",s);u=t.getLayoutProperty("line-round-limit");const I=u?.isDataDriven?u:null,b=I?null:t.getLayoutValue("line-round-limit",s);u=t.getPaintProperty("line-width");const M=u?.isDataDriven?u:null,w=M?null:t.getPaintValue("line-width",s);u=t.getPaintProperty("line-offset");const P=u?.isDataDriven?u:null,T=P?null:t.getPaintValue("line-offset",s);if(h||c){const i=[];for(const r of n){const n=h?o.getValue(s,r):this._getDashArrayKey(r,s,t,l,g,f,y),c=this._spriteInfo[n];if(!c?.rect)continue;const u=a.encodeAttributes(r,s,t,c),A=r.getGeometry(e);i.push({ddAttributes:u,page:c.page,cap:f?f.getValue(s,r):d,join:x?x.getValue(s,r):p,miterLimit:m?m.getValue(s,r):_,roundLimit:I?I.getValue(s,r):b,halfWidth:.5*(M?M.getValue(s,r):w),offset:P?P.getValue(s,r):T,geometry:A})}i.sort(((e,t)=>e.page-t.page)),r.textured=!0;for(const{ddAttributes:e,page:t,cap:s,join:n,miterLimit:a,roundLimit:o,halfWidth:l,offset:h,geometry:c}of i)r.capType=s,r.joinType=n,r.miterLimit=a,r.roundLimit=o,r.halfWidth=l,r.offset=h,this._processFeature(c,e,t)}else{if(o){const e=o.getValue(s),t=this._spriteInfo[e];if(!t?.rect)return}r.textured=!(!o&&!l),r.capType=d,r.joinType=p,r.miterLimit=_,r.roundLimit=b,r.halfWidth=.5*w,r.offset=T;for(const o of n){const n=i?a.encodeAttributes(o,s,t):null;f&&(r.capType=f.getValue(s,o)),x&&(r.joinType=x.getValue(s,o)),m&&(r.miterLimit=m.getValue(s,o)),I&&(r.roundLimit=I.getValue(s,o)),M&&(r.halfWidth=.5*M.getValue(s,o)),P&&(r.offset=P.getValue(s,o));const l=o.getGeometry(e);this._processFeature(l,n)}}}serialize(){let e=6;e+=this.layerUIDs.length,e+=this.tessellationProperties._lineVertexBuffer.array.length,e+=this.tessellationProperties._lineIndexBuffer.array.length,e+=3*this._patternMap.size+1;const t=new Uint32Array(e),s=new Int32Array(t.buffer);let n=0;t[n++]=this.type,t[n++]=this.layerUIDs.length;for(let e=0;e<this.layerUIDs.length;e++)t[n++]=this.layerUIDs[e];t[n++]=this._lineIndexStart,t[n++]=this._lineIndexCount;const r=this._patternMap,i=r.size;if(t[n++]=i,i>0)for(const[e,[s,i]]of r)t[n++]=e,t[n++]=s,t[n++]=i;t[n++]=this.tessellationProperties._lineVertexBuffer.array.length;for(let e=0;e<this.tessellationProperties._lineVertexBuffer.array.length;e++)s[n++]=this.tessellationProperties._lineVertexBuffer.array[e];t[n++]=this.tessellationProperties._lineIndexBuffer.array.length;for(let e=0;e<this.tessellationProperties._lineIndexBuffer.array.length;e++)t[n++]=this.tessellationProperties._lineIndexBuffer.array[e];return t.buffer}_processFeature(e,t,s){if(!e)return;const n=e.length;for(let r=0;r<n;r++)this._processGeometry(e[r],t,s)}_processGeometry(e,t,s){if(e.length<2)return;let n,r,i=e[0],a=1;for(;a<e.length;)n=e[a].x-i.x,r=e[a].y-i.y,n*n+r*r<1e-6?e.splice(a,1):(i=e[a],++a);if(e.length<2)return;const o=this.tessellationProperties._lineIndexBuffer,l=3*o.index;this._tessellationOptions.initialDistance=0,this._tessellationOptions.wrapDistance=65535,this.tessellationProperties._ddValues=t,this._lineTessellator.tessellate(e,this._tessellationOptions);const h=3*o.index-l;if(void 0!==s){const e=this._patternMap,t=e.get(s);t?t[1]+=h:e.set(s,[l+this._lineIndexCount,h])}this._lineIndexCount+=h}_getDashArrayKey(e,t,s,n,r,i,a){const o=r?i.getValue(t,e):a,l=n.getValue(t,e);return s.getDashKey(l,o)}}const U=e=>(t,s,n,r,i,a,o,l,h,c,u)=>(e._lineVertexBuffer.add(t,s,o,l,n,r,i,a,h,c,u,e._ddValues),e._lineVertexBuffer.index-1),G=e=>(t,s,n)=>{e._lineIndexBuffer.add(t,s,n)};var K,q=s(32488),H=s(97768),W=s(799),j=s(3057);function Y(e,t){return e.iconMosaicItem&&t.iconMosaicItem?e.iconMosaicItem.page===t.iconMosaicItem.page?0:e.iconMosaicItem.page-t.iconMosaicItem.page:e.iconMosaicItem&&!t.iconMosaicItem?1:!e.iconMosaicItem&&t.iconMosaicItem?-1:0}class J extends S{constructor(e,t,s,n,i,a,o,l,h){super(t,s,h.getSpriteItems()),this.type=r.NP.SYMBOL,this._markerMap=new Map,this._glyphMap=new Map,this._glyphBufferDataStorage=new Map,this._isIconSDF=!1,this._sourceTileKey=e,this._iconVertexBuffer=n,this._iconIndexBuffer=i,this._textVertexBuffer=a,this._textIndexBuffer=o,this._placementEngine=l,this._workerTileHandler=h}get markerPageMap(){return this._markerMap}get glyphsPageMap(){return this._glyphMap}get symbolInstances(){return this._symbolInstances}getResources(e,t,s){const n=this.layer,r=this.zoom;e&&e.setExtent(this.layerExtent);const i=n.getLayoutProperty("icon-image"),a=n.getLayoutProperty("text-field");let o=n.getLayoutProperty("text-transform"),l=n.getLayoutProperty("text-font");const h=[];let c,u,f,d;i&&!i.isDataDriven&&(c=i.getValue(r)),a&&!a.isDataDriven&&(u=a.getValue(r)),o&&o.isDataDriven||(f=n.getLayoutValue("text-transform",r),o=null),l&&l.isDataDriven||(d=n.getLayoutValue("text-font",r),l=null);for(const g of this._features){const x=g.getGeometry(e);if(!x||0===x.length)continue;let p,m;i&&(p=i.isDataDriven?i.getValue(r,g):this._replaceKeys(c,g.values),p&&t(p));let _=!1;if(a&&(m=a.isDataDriven?a.getValue(r,g):this._replaceKeys(u,g.values),m)){switch(m=m.replaceAll("\\n","\n"),o&&(f=o.getValue(r,g)),f){case y.Ms.LOWERCASE:m=m.toLowerCase();break;case y.Ms.UPPERCASE:m=m.toUpperCase()}if(J._bidiEngine.hasBidiChar(m)){let e;e="rtl"===J._bidiEngine.checkContextual(m)?"IDNNN":"ICNNN",m=J._bidiEngine.bidiTransform(m,e,"VLYSN"),_=!0}if(m.length>0){l&&(d=l.getValue(r,g));for(const e of d){let t=s[e];t||(t=s[e]=new Set);for(const e of m){const s=e.codePointAt(0);null!=s&&t.add(s)}}}}if(!p&&!m)continue;const I=n.getLayoutValue("symbol-sort-key",r,g),b={feature:g,sprite:p,label:m,rtl:_,geometry:x,hash:(m?(0,W.Wm)(m):0)^(p?(0,W.Wm)(p):0),priority:I,textFont:d};h.push(b)}this._symbolFeatures=h}processFeatures(e){e&&e.setExtent(this.layerExtent);const t=this.layer,s=this.zoom,n=t.getLayoutValue("symbol-placement",s),r=n!==y.kt.POINT,o=8*t.getLayoutValue("symbol-spacing",s),l=t.getLayoutProperty("icon-image"),h=t.getLayoutProperty("text-field"),c=l?new j.aR(t,s,r):null,u=h?new j.uU(t,s,r):null,g=this._workerTileHandler;let p;l&&(p=g.getSpriteItems()),this._iconIndexStart=3*this._iconIndexBuffer.index,this._textIndexStart=3*this._textIndexBuffer.index,this._iconIndexCount=0,this._textIndexCount=0,this._markerMap.clear(),this._glyphMap.clear();const m=[];let _=1;u?.size&&(_=u.size/f);const I=u?u.maxAngle*a.os:0,b=u?8*u.size:0;for(const e of this._symbolFeatures){let t,a;c&&p&&e.sprite&&(t=p[e.sprite],t&&t.sdf&&(this._isIconSDF=!0)),t&&c.update(s,e.feature);let l=0;const h=e.label;if(h){(0,H.Lw)(u),u.update(s,e.feature);const t=r&&u.rotationAlignment===y.I5.MAP?u.keepUpright:u.writingMode&&u.writingMode.includes(y.v9.VERTICAL);let n=.5;switch(u.anchor){case y.KI.TOP_LEFT:case y.KI.LEFT:case y.KI.BOTTOM_LEFT:n=0;break;case y.KI.TOP_RIGHT:case y.KI.RIGHT:case y.KI.BOTTOM_RIGHT:n=1}let i=.5;switch(u.anchor){case y.KI.TOP_LEFT:case y.KI.TOP:case y.KI.TOP_RIGHT:i=0;break;case y.KI.BOTTOM_LEFT:case y.KI.BOTTOM:case y.KI.BOTTOM_RIGHT:i=1}let o=.5;switch(u.justify){case y.O6.AUTO:o=n;break;case y.O6.LEFT:o=0;break;case y.O6.RIGHT:o=1}const c=u.letterSpacing*f,x=r?0:u.maxWidth*f,p=u.lineHeight*f,m=e.textFont.map((e=>g.getGlyphItems(e)));if(a=new d(m,x,p,c,n,i,o).getShaping(h,e.rtl,t),a&&a.length>0){let e=1e30,t=-1e30;for(const s of a)e=Math.min(e,s.x),t=Math.max(t,s.x);l=(t-e+48)*_*8}}for(let s of e.geometry){const h=[];if(n===y.kt.LINE){if(a?.length&&u?.size){const e=8*u.size*(2+Math.min(2,4*Math.abs(u.offset[1])));s=J._smoothVertices(s,e)}J._pushAnchors(h,s,o,l)}else n===y.kt.LINE_CENTER?J._pushCenterAnchor(h,s):e.feature.type===i.dC.Polygon?J._pushCentroid(h,s):h.push(new x(s[0].x,s[0].y));for(const n of h){if(n.x<0||n.x>4096||n.y<0||n.y>4096)continue;if(r&&l>0&&u?.rotationAlignment===y.I5.MAP&&!J._honorsTextMaxAngle(s,n,l,I,b))continue;const i={shaping:a,line:s,iconMosaicItem:t,anchor:n,symbolFeature:e,textColliders:[],iconColliders:[],textVertexRanges:[],iconVertexRanges:[]};m.push(i),this._processFeature(i,c,u)}}}m.sort(Y),this._addPlacedGlyphs(),this._symbolInstances=m}serialize(){let e=14;e+=this.layerUIDs.length,e+=3*this.markerPageMap.size,e+=3*this.glyphsPageMap.size,e+=J._symbolsSerializationLength(this._symbolInstances),e+=this._iconVertexBuffer.array.length,e+=this._iconIndexBuffer.array.length,e+=this._textVertexBuffer.array.length,e+=this._textIndexBuffer.array.length;const t=new Uint32Array(e),s=new Int32Array(t.buffer),n=new Float32Array(t.buffer),[r,i,a]=this._sourceTileKey.split("/");let o=0;t[o++]=this.type,t[o++]=this.layerUIDs.length;for(let e=0;e<this.layerUIDs.length;e++)t[o++]=this.layerUIDs[e];t[o++]=this._isIconSDF?1:0,t[o++]=parseFloat(r),t[o++]=parseFloat(i),t[o++]=parseFloat(a),t[o++]=this.markerPageMap.size;for(const[e,[s,n]]of this.markerPageMap)t[o++]=e,t[o++]=s,t[o++]=n;t[o++]=this.glyphsPageMap.size;for(const[e,[s,n]]of this.glyphsPageMap)t[o++]=e,t[o++]=s,t[o++]=n;t[o++]=this._iconVertexBuffer.index/4,t[o++]=this._textVertexBuffer.index/4,o=J.serializeSymbols(t,s,n,o,this._symbolInstances),t[o++]=this._iconVertexBuffer.array.length;for(let e=0;e<this._iconVertexBuffer.array.length;e++)s[o++]=this._iconVertexBuffer.array[e];t[o++]=this._iconIndexBuffer.array.length;for(let e=0;e<this._iconIndexBuffer.array.length;e++)t[o++]=this._iconIndexBuffer.array[e];t[o++]=this._textVertexBuffer.array.length;for(let e=0;e<this._textVertexBuffer.array.length;e++)s[o++]=this._textVertexBuffer.array[e];t[o++]=this._textIndexBuffer.array.length;for(let e=0;e<this._textIndexBuffer.array.length;e++)t[o++]=this._textIndexBuffer.array[e];return t.buffer}static _symbolsSerializationLength(e){let t=0;t+=1;for(const s of e||[]){t+=5,t+=1;for(const e of s.textColliders)t+=10;for(const e of s.iconColliders)t+=10;t+=1,t+=2*s.textVertexRanges.length,t+=1,t+=2*s.iconVertexRanges.length}return t}static serializeSymbols(e,t,s,n,r){r=r||[],t[n++]=r.length;for(const e of r){t[n++]=e.anchor.x,t[n++]=e.anchor.y,t[n++]=e.symbolFeature.hash,t[n++]=e.symbolFeature.priority,t[n++]=e.symbolFeature.feature.featureIndex,t[n++]=e.textColliders.length+e.iconColliders.length;for(const r of e.textColliders)t[n++]=r.xTile,t[n++]=r.yTile,t[n++]=r.dxPixels,t[n++]=r.dyPixels,t[n++]=r.hard?1:0,t[n++]=r.partIndex,s[n++]=r.minLod,s[n++]=r.maxLod,t[n++]=r.width,t[n++]=r.height;for(const r of e.iconColliders)t[n++]=r.xTile,t[n++]=r.yTile,t[n++]=r.dxPixels,t[n++]=r.dyPixels,t[n++]=r.hard?1:0,t[n++]=r.partIndex,s[n++]=r.minLod,s[n++]=r.maxLod,t[n++]=r.width,t[n++]=r.height;t[n++]=e.textVertexRanges.length;for(const[s,r]of e.textVertexRanges)t[n++]=s,t[n++]=r;t[n++]=e.iconVertexRanges.length;for(const[s,r]of e.iconVertexRanges)t[n++]=s,t[n++]=r}return n}_replaceKeys(e,t){return e.replaceAll(/{([^{}]+)}/g,((e,s)=>s in t?t[s]:""))}_processFeature(e,t,s){const{line:n,iconMosaicItem:r,shaping:i,anchor:o}=e,l=this.zoom,h=this.layer,c=!!r;let u=!0;c&&(u=t?.optional||!r);const f=i&&i.length>0,d=!f||s?.optional;let g,x;if(c&&(g=this._placementEngine.getIconPlacement(o,r,t)),(g||u)&&(f&&(x=this._placementEngine.getTextPlacement(o,i,n,s)),x||d)){if(g&&x||(d||u?d||x?u||g||(x=null):g=null:(g=null,x=null)),x){const t=h.hasDataDrivenText?h.textMaterial.encodeAttributes(e.symbolFeature.feature,l,h):null;if(this._storePlacedGlyphs(e,x.shapes,l,s.rotationAlignment,t),x.textColliders){e.textColliders=x.textColliders;for(const e of x.textColliders){e.minLod=Math.max(l+(0,a.p6)(e.minLod),0),e.maxLod=Math.min(l+(0,a.p6)(e.maxLod),25);const t=e.angle;if(t){const s=Math.cos(t),n=Math.sin(t),r=e.dxPixels*s-e.dyPixels*n,i=e.dxPixels*n+e.dyPixels*s,a=(e.dxPixels+e.width)*s-e.dyPixels*n,o=(e.dxPixels+e.width)*n+e.dyPixels*s,l=e.dxPixels*s-(e.dyPixels+e.height)*n,h=e.dxPixels*n+(e.dyPixels+e.height)*s,c=(e.dxPixels+e.width)*s-(e.dyPixels+e.height)*n,u=(e.dxPixels+e.width)*n+(e.dyPixels+e.height)*s,f=Math.min(r,a,l,c),d=Math.max(r,a,l,c),y=Math.min(i,o,h,u),g=Math.max(i,o,h,u);e.dxPixels=f,e.dyPixels=y,e.width=d-f,e.height=g-y}}}}if(g){const s=h.hasDataDrivenIcon?h.iconMaterial.encodeAttributes(e.symbolFeature.feature,l,h):null;if(this._addPlacedIcons(e,g.shapes,l,r.page,t.rotationAlignment===y.I5.VIEWPORT,s),g.iconColliders){e.iconColliders=g.iconColliders;for(const e of g.iconColliders){e.minLod=Math.max(l+(0,a.p6)(e.minLod),0),e.maxLod=Math.min(l+(0,a.p6)(e.maxLod),25);const t=e.angle;if(t){const s=Math.cos(t),n=Math.sin(t),r=e.dxPixels*s-e.dyPixels*n,i=e.dxPixels*n+e.dyPixels*s,a=(e.dxPixels+e.width)*s-e.dyPixels*n,o=(e.dxPixels+e.width)*n+e.dyPixels*s,l=e.dxPixels*s-(e.dyPixels+e.height)*n,h=e.dxPixels*n+(e.dyPixels+e.height)*s,c=(e.dxPixels+e.width)*s-(e.dyPixels+e.height)*n,u=(e.dxPixels+e.width)*n+(e.dyPixels+e.height)*s,f=Math.min(r,a,l,c),d=Math.max(r,a,l,c),y=Math.min(i,o,h,u),g=Math.max(i,o,h,u);e.dxPixels=f,e.dyPixels=y,e.width=d-f,e.height=g-y}}}}}}_addPlacedIcons(e,t,s,n,r,i){const o=Math.max(s-1,0),l=this._iconVertexBuffer,h=this._iconIndexBuffer,c=this._markerMap;for(const u of t){const t=r?0:Math.max(s+(0,a.p6)(u.minzoom),o),f=r?25:Math.min(s+(0,a.p6)(u.maxzoom),25);if(f<=t)continue;const d=u.tl,y=u.tr,g=u.bl,x=u.br,p=u.mosaicRect,m=u.labelAngle,_=u.minAngle,I=u.maxAngle,b=u.anchor,M=l.index,w=p.x,P=p.y,T=w+p.width,A=P+p.height,D=l.index;l.add(b.x,b.y,d.x,d.y,w,P,m,_,I,t,f,i),l.add(b.x,b.y,y.x,y.y,T,P,m,_,I,t,f,i),l.add(b.x,b.y,g.x,g.y,w,A,m,_,I,t,f,i),l.add(b.x,b.y,x.x,x.y,T,A,m,_,I,t,f,i),e.iconVertexRanges.length>0&&e.iconVertexRanges[0][0]+e.iconVertexRanges[0][1]===D?e.iconVertexRanges[0][1]+=4:e.iconVertexRanges.push([D,4]),h.add(M,M+1,M+2),h.add(M+1,M+2,M+3),c.has(n)?c.get(n)[1]+=6:c.set(n,[this._iconIndexStart+this._iconIndexCount,6]),this._iconIndexCount+=6}}_addPlacedGlyphs(){const e=this._textVertexBuffer,t=this._textIndexBuffer,s=this._glyphMap;for(const[n,r]of this._glyphBufferDataStorage)for(const i of r){const r=e.index,a=i.symbolInstance,o=i.ddAttributes,l=e.index;e.add(i.glyphAnchor[0],i.glyphAnchor[1],i.tl[0],i.tl[1],i.xmin,i.ymin,i.labelAngle,i.minAngle,i.maxAngle,i.minLod,i.maxLod,o),e.add(i.glyphAnchor[0],i.glyphAnchor[1],i.tr[0],i.tr[1],i.xmax,i.ymin,i.labelAngle,i.minAngle,i.maxAngle,i.minLod,i.maxLod,o),e.add(i.glyphAnchor[0],i.glyphAnchor[1],i.bl[0],i.bl[1],i.xmin,i.ymax,i.labelAngle,i.minAngle,i.maxAngle,i.minLod,i.maxLod,o),e.add(i.glyphAnchor[0],i.glyphAnchor[1],i.br[0],i.br[1],i.xmax,i.ymax,i.labelAngle,i.minAngle,i.maxAngle,i.minLod,i.maxLod,o),a.textVertexRanges.length>0&&a.textVertexRanges[0][0]+a.textVertexRanges[0][1]===l?a.textVertexRanges[0][1]+=4:a.textVertexRanges.push([l,4]),t.add(r,r+1,r+2),t.add(r+1,r+2,r+3),s.has(n)?s.get(n)[1]+=6:s.set(n,[this._textIndexStart+this._textIndexCount,6]),this._textIndexCount+=6}this._glyphBufferDataStorage.clear()}_storePlacedGlyphs(e,t,s,n,r){const i=Math.max(s-1,0),o=n===y.I5.VIEWPORT;let l,h,c,u,f,d,g,x,p,m,_;for(const n of t)l=o?0:Math.max(s+(0,a.p6)(n.minzoom),i),h=o?25:Math.min(s+(0,a.p6)(n.maxzoom),25),h<=l||(c=n.tl,u=n.tr,f=n.bl,d=n.br,g=n.labelAngle,x=n.minAngle,p=n.maxAngle,m=n.anchor,_=n.mosaicRect,this._glyphBufferDataStorage.has(n.page)||this._glyphBufferDataStorage.set(n.page,[]),this._glyphBufferDataStorage.get(n.page).push({glyphAnchor:[m.x,m.y],tl:[c.x,c.y],tr:[u.x,u.y],bl:[f.x,f.y],br:[d.x,d.y],xmin:_.x,ymin:_.y,xmax:_.x+_.width,ymax:_.y+_.height,labelAngle:g,minAngle:x,maxAngle:p,minLod:l,maxLod:h,placementLod:i,symbolInstance:e,ddAttributes:r}))}static _pushAnchors(e,t,s,n){s+=n;let r=0;const o=t.length-1;for(let e=0;e<o;e++)r+=i.bR.distance(t[e],t[e+1]);let l=n||s;if(l*=.5,r<=l)return;const h=l/r;let c=0,u=-(s=r/Math.max(Math.round(r/s),1))/2;const f=t.length-1;for(let n=0;n<f;n++){const r=t[n],i=t[n+1],o=i.x-r.x,l=i.y-r.y,f=Math.sqrt(o*o+l*l);let d;for(;u+s<c+f;){u+=s;const t=(u-c)/f,y=(0,a.GW)(r.x,i.x,t),g=(0,a.GW)(r.y,i.y,t);void 0===d&&(d=Math.atan2(l,o)),e.push(new x(y,g,d,n,h))}c+=f}}static _pushCenterAnchor(e,t){let s=0;const n=t.length-1;for(let e=0;e<n;e++)s+=i.bR.distance(t[e],t[e+1]);const r=s/2;let o=0;const l=t.length-1;for(let s=0;s<l;s++){const n=t[s],i=t[s+1],l=i.x-n.x,h=i.y-n.y,c=Math.sqrt(l*l+h*h);if(r<o+c){const t=(r-o)/c,u=(0,a.GW)(n.x,i.x,t),f=(0,a.GW)(n.y,i.y,t),d=Math.atan2(h,l);return void e.push(new x(u,f,d,s,0))}o+=c}}static _deviation(e,t,s){const n=(t.x-e.x)*(s.x-t.x)+(t.y-e.y)*(s.y-t.y),r=(t.x-e.x)*(s.y-t.y)-(t.y-e.y)*(s.x-t.x);return Math.atan2(r,n)}static _honorsTextMaxAngle(e,t,s,n,r){let a=0;const o=s/2;let l=new i.bR(t.x,t.y),h=t.segment+1;for(;a>-o;){if(--h,h<0)return!1;a-=i.bR.distance(e[h],l),l=e[h]}a+=i.bR.distance(e[h],e[h+1]);const c=[];let u=0;const f=e.length;for(;a<o;){const t=e[h];let s,o=h;do{if(++o,o===f)return!1;s=e[o]}while(s.isEqual(t));let l,d=o;do{if(++d,d===f)return!1;l=e[d]}while(l.isEqual(s));const y=this._deviation(t,s,l);for(c.push({deviation:y,distToAnchor:a}),u+=y;a-c[0].distToAnchor>r;)u-=c.shift().deviation;if(Math.abs(u)>n)return!1;a+=i.bR.distance(s,l),h=o}return!0}static _smoothVertices(e,t){if(t<=0)return e;let s=e.length;if(s<3)return e;const n=[];let r=0,a=0;n.push(0);for(let t=1;t<s;t++){const s=i.bR.distance(e[t],e[t-1]);s>0&&(r+=s,n.push(r),a++,a!==t&&(e[a]=e[t]))}if(s=a+1,s<3)return e;t=Math.min(t,.2*r);const o=e[0].x,l=e[0].y,h=e[s-1].x,c=e[s-1].y,u=i.bR.sub(e[0],e[1]);u.normalize(),e[0].x+=t*u.x,e[0].y+=t*u.y,u.assignSub(e[s-1],e[s-2]),u.normalize(),e[s-1].x+=t*u.x,e[s-1].y+=t*u.y,n[0]-=t,n[s-1]+=t;const f=[];f.push(new i.bR(o,l));const d=1e-6,y=.5*t;for(let r=1;r<s-1;r++){let a=0,o=0,l=0;for(let s=r-1;s>=0;s--){const i=y+n[s+1]-n[r];if(i<0)break;const h=n[s+1]-n[s],c=n[r]-n[s]<y?1:i/h;if(c<d)break;const u=c*c,f=c*i-.5*u*h,g=c*h/t,x=e[s+1],p=e[s].x-x.x,m=e[s].y-x.y;a+=g/f*(x.x*c*i+.5*u*(i*p-h*x.x)-u*c*h*p/3),o+=g/f*(x.y*c*i+.5*u*(i*m-h*x.y)-u*c*h*m/3),l+=g}for(let i=r+1;i<s;i++){const s=y-n[i-1]+n[r];if(s<0)break;const h=n[i]-n[i-1],c=n[i]-n[r]<y?1:s/h;if(c<d)break;const u=c*c,f=c*s-.5*u*h,g=c*h/t,x=e[i-1],p=e[i].x-x.x,m=e[i].y-x.y;a+=g/f*(x.x*c*s+.5*u*(s*p-h*x.x)-u*c*h*p/3),o+=g/f*(x.y*c*s+.5*u*(s*m-h*x.y)-u*c*h*m/3),l+=g}f.push(new i.bR(a/l,o/l))}return f.push(new i.bR(h,c)),e[0].x=o,e[0].y=l,e[s-1].x=h,e[s-1].y=c,f}static _pushCentroid(e,t){const s=4096,n=4096,r=t.length-1;let i=0,a=0,o=0,l=t[0].x,h=t[0].y;l>s&&(l=s),l<0&&(l=0),h>n&&(h=n),h<0&&(h=0);for(let e=1;e<r;e++){let r=t[e].x,c=t[e].y,u=t[e+1].x,f=t[e+1].y;r>s&&(r=s),r<0&&(r=0),c>n&&(c=n),c<0&&(c=0),u>s&&(u=s),u<0&&(u=0),f>n&&(f=n),f<0&&(f=0);const d=(r-l)*(f-h)-(u-l)*(c-h);i+=d*(l+r+u),a+=d*(h+c+f),o+=d}i/=3*o,a/=3*o,isNaN(i)||isNaN(a)||e.push(new x(i,a))}}J._bidiEngine=new q.A,function(e){e[e.INITIALIZED=0]="INITIALIZED",e[e.NO_DATA=1]="NO_DATA",e[e.READY=2]="READY",e[e.MODIFIED=3]="MODIFIED",e[e.INVALID=4]="INVALID"}(K||(K={}));class Z{constructor(e,t,s,n,r,o){if(this._pbfTiles={},this._tileClippers={},this._client=s,this._tile=t,this._sourceDataMaxLOD=n,o){this._styleLayerUIDs=new Set;for(const e of o)this._styleLayerUIDs.add(e)}this._styleRepository=r,this._layers=this._styleRepository?.layers??[];const[l,h,c]=t.tileKey.split("/").map(parseFloat);this._level=l;const u=(0,a.IU)(this._level);for(const t of Object.keys(e)){const s=e[t];if(this._pbfTiles[t]=new w.A(new Uint8Array(s.protobuff),new DataView(s.protobuff)),s.refKey){const[e]=s.refKey.split("/").map(parseFloat),n=l-e;if(n>0){const e=(1<<n)-1,s=h&e,r=c&e;this._tileClippers[t]=new i.O3(n,s,r,8,u)}}this._tileClippers[t]||(this._tileClippers[t]=new i.Ox)}}_canParseStyleLayer(e){return!this._styleLayerUIDs||this._styleLayerUIDs.has(e)}async parse(e){const t=(0,P.F)(),s=this._initialize(e),{returnedBuckets:n}=s;this._processLayers(s),this._linkReferences(s),this._filterFeatures(s);const r=[],i=new Set,a=(e,t)=>{i.has(e)||(r.push({name:e,repeat:t}),i.add(e))},o={};for(const e of n)e.getResources(e.tileClipper,a,o);if(this._tile.status===K.INVALID)return[];const l=this._fetchResources(r,o,e);return Promise.all([...l,t]).then((()=>this._processFeatures(s.returnedBuckets)))}_initialize(e){const t=e?.signal;return{signal:t,sourceNameToTileData:this._parseTileData(this._pbfTiles),layers:this._layers,zoom:this._level,sourceNameToTileClipper:this._tileClippers,sourceNameToUniqueSourceLayerBuckets:{},sourceNameToUniqueSourceLayers:{},returnedBuckets:[],layerIdToBucket:{},referencerUIDToReferencedId:new Map}}_processLayers(e){const{sourceNameToTileData:t,zoom:s,layers:n,sourceNameToTileClipper:r,sourceNameToUniqueSourceLayerBuckets:i,sourceNameToUniqueSourceLayers:a,returnedBuckets:o,layerIdToBucket:l,referencerUIDToReferencedId:h}=e,c=this._sourceDataMaxLOD;for(let e=n.length-1;e>=0;e--){const u=n[e];if(s<c){if(u.minzoom&&s<Math.floor(u.minzoom)||u.maxzoom&&s>=u.maxzoom)continue}else if(u.maxzoom&&s>=u.maxzoom)continue;if(u.type===y.Dc.BACKGROUND||!this._canParseStyleLayer(u.uid)||!t[u.source]||!r[u.source])continue;const f=t[u.source],d=r[u.source],g=u.sourceLayer,x=f[g];if(x){let e=a[u.source];if(e||(e=a[u.source]=new Set),e.add(u.sourceLayer),u.refLayerId)h.set(u.uid,u.refLayerId);else{const e=this._createBucket(u);if(e){e.layerUIDs=[u.uid],e.layerExtent=x.extent,e.tileClipper=d;let t=i[u.source];t||(t=i[u.source]={});let s=t[g];s||(s=t[g]=[]),s.push(e),o.push(e),l[u.id]=e}}}}}_linkReferences(e){const{layerIdToBucket:t,referencerUIDToReferencedId:s}=e;s.forEach(((e,s)=>{t[e]&&t[e].layerUIDs.push(s)}))}_filterFeatures(e){const{signal:t,sourceNameToTileData:s,sourceNameToUniqueSourceLayerBuckets:r,sourceNameToUniqueSourceLayers:i}=e,a=10*this._level,o=10*(this._level+1),l=[],h=[];for(const e of Object.keys(i))i[e].forEach((t=>{l.push(t),h.push(e)}));for(let e=0;e<l.length;e++){const i=h[e],c=l[e];if(!s[i]||!r[i])continue;const u=s[i][c],f=r[i][c];if(!f||0===f.length)continue;if((0,n.G4)(t))return;let d=0;const y=u.getData();for(;y.nextTag(2);){const e=y.getMessage(),t=new T(e,u,d++);e.release();const s=t.values;if(s){const e=s._minzoom;if(e&&e>=o)continue;const t=s._maxzoom;if(t&&t<=a)continue}for(const e of f)e.pushFeature(t)}}}_fetchResources(e,t,s){const n=[],r=this._tile.getWorkerTileHandler();let i,a;e.length>0&&(i=r.fetchSprites(e,this._client,s),n.push(i));for(const e in t){const i=t[e];i.size>0&&(a=r.fetchGlyphs(this._tile.tileKey,e,i,this._client,s),n.push(a))}return n}_processFeatures(e){const t=e.filter((e=>e.hasFeatures()||this._canParseStyleLayer(e.layer.uid)));for(const e of t)e.processFeatures(e.tileClipper);return t}_parseTileData(e){const t={};for(const s of Object.keys(e)){const n=e[s],r={};for(;n.next();)switch(n.tag()){case 3:{const e=n.getMessage(),t=new k(e);e.release(),r[t.name]=t;break}default:n.skip()}t[s]=r}return t}_createBucket(e){switch(e.type){case y.Dc.BACKGROUND:return null;case y.Dc.FILL:return this._createFillBucket(e);case y.Dc.LINE:return this._createLineBucket(e);case y.Dc.CIRCLE:return this._createCircleBucket(e);case y.Dc.SYMBOL:return this._createSymbolBucket(e)}}_createFillBucket(e){return new F(e,this._level,this._tile.getWorkerTileHandler().getSpriteItems(),new B(e.fillMaterial.getStride()),new D,new V(e.outlineMaterial.getStride()),new D)}_createLineBucket(e){return new N(e,this._level,this._tile.getWorkerTileHandler().getSpriteItems(),new L(e.lineMaterial.getStride()),new D)}_createCircleBucket(e){return new C(e,this._level,this._tile.getWorkerTileHandler().getSpriteItems(),new R(e.circleMaterial.getStride()),new D)}_createSymbolBucket(e){const t=this._tile;return new J(t.tileKey,e,this._level,new v(e.iconMaterial.getStride()),new D,new v(e.textMaterial.getStride()),new D,t.placementEngine,t.getWorkerTileHandler())}}class ${constructor(e,t,s,n){this.status=K.INITIALIZED,this.placementEngine=new I,this.tileKey=e,this.refKeys=t,this._workerTileHandler=s,this._styleRepository=n}release(){this.tileKey="",this.refKeys=null,this.status=K.INITIALIZED,this._workerTileHandler=null}async parse(e,t){const s=t?.signal;if(null!=s){const e=()=>{s.removeEventListener("abort",e),this.status=K.INVALID};s.addEventListener("abort",e)}let r;const i={bucketsWithData:[],emptyBuckets:null};try{r=await this._parse(e,t)}catch(e){if((0,n.zf)(e))throw e;return{result:i,transferList:[]}}this.status=K.READY;const a=i.bucketsWithData,o=[];for(const e of r)if(e.hasFeatures()){const t=e.serialize();a.push(t)}else o.push(e.layer.uid);const l=[...a];let h=null;return o.length>0&&(h=Uint32Array.from(o),l.push(h.buffer)),i.emptyBuckets=h,{result:i,transferList:l}}setObsolete(){this.status=K.INVALID}getLayers(){return this._workerTileHandler.getLayers()}getWorkerTileHandler(){return this._workerTileHandler}async _parse(e,t){const s=e.sourceName2DataAndRefKey;return 0===Object.keys(s).length?[]:(this.status=K.MODIFIED,new Z(s,this,t.client,e.sourceDataMaxLOD,this._styleRepository,e.styleLayerUIDs).parse(t))}}var Q=s(45013);class X{constructor(){this._spriteInfo={},this._glyphInfo={},this._sourceDataMaxLOD=25}reset(){return this._spriteInfo={},this._glyphInfo={},Promise.resolve()}getLayers(){return this._styleRepository?.layers??[]}async createTileAndParse(e,t){const{key:s}=e,r={};for(const t of Object.keys(e.sourceName2DataAndRefKey)){const s=e.sourceName2DataAndRefKey[t];r[t]=s.refKey}const i=new $(s,r,this,this._styleRepository);try{return await i.parse({...e,sourceDataMaxLOD:this._sourceDataMaxLOD},t)}catch(e){if(i.setObsolete(),i.release(),!(0,n.zf)(e))throw e;return null}}updateStyle(e){if(!e||0===e.length||!this._styleRepository)return;const t=this._styleRepository;for(const s of e){const e=s.type,n=s.data;switch(e){case r.$q.PAINTER_CHANGED:t.setPaintProperties(n.layer,n.paint);break;case r.$q.LAYOUT_CHANGED:t.setLayoutProperties(n.layer,n.layout);break;case r.$q.LAYER_REMOVED:t.deleteStyleLayer(n.layer);break;case r.$q.LAYER_CHANGED:t.setStyleLayer(n.layer,n.index);break;case r.$q.SPRITES_CHANGED:this._spriteInfo={}}}}setStyle(e){const{style:t,sourceDataMaxLOD:s}=e;this._styleRepository=new Q.A(t),this._sourceDataMaxLOD=s,this._spriteInfo={},this._glyphInfo={}}fetchSprites(e,t,s){const n=[],r=this._spriteInfo;for(const t of e)void 0===r[t.name]&&n.push(t);return 0===n.length?Promise.resolve():t.invoke("getSprites",n,{signal:s?.signal}).then((e=>{for(const t in e){const s=e[t];r[t]=s}}))}getSpriteItems(){return this._spriteInfo}fetchGlyphs(e,t,s,n,r){const i=[];let a=this._glyphInfo[t];return a?s.forEach((e=>{a[e]||i.push(e)})):(a=this._glyphInfo[t]=[],s.forEach((e=>i.push(e)))),0===i.length?Promise.resolve():n.invoke("getGlyphs",{tileID:e,font:t,codePoints:i},r).then((e=>{for(let t=0;t<e.length;t++)e[t]&&(a[t]=e[t])}))}getGlyphItems(e){return this._glyphInfo[e]}}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[2593],{38954:(t,e,r)=>{r.d(e,{A:()=>y,B:()=>h,C:()=>c,D:()=>f,E:()=>p,G:()=>j,H:()=>G,a:()=>D,b:()=>g,c:()=>o,d:()=>l,e:()=>w,f:()=>x,g:()=>u,h:()=>m,i:()=>i,j:()=>b,k:()=>_,l:()=>a,m:()=>q,n:()=>v,o:()=>E,p:()=>C,q:()=>R,s:()=>M,t:()=>F,u:()=>S,v:()=>A,w:()=>I,x:()=>d,y:()=>Q,z:()=>Z});var s=r(51850),n=r(34304);function a(t){const e=t[0],r=t[1],s=t[2];return Math.sqrt(e*e+r*r+s*s)}function o(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function i(t,e,r,s){return t[0]=e,t[1]=r,t[2]=s,t}function u(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t}function l(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}function c(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t}function p(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}function d(t,e){return t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t}function h(t,e){return t[0]=Math.sign(e[0]),t[1]=Math.sign(e[1]),t[2]=Math.sign(e[2]),t}function y(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t}function f(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t}function m(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}function g(t,e,r,s){return t[0]=e[0]+r[0]*s,t[1]=e[1]+r[1]*s,t[2]=e[2]+r[2]*s,t}function b(t,e){const r=e[0]-t[0],s=e[1]-t[1],n=e[2]-t[2];return Math.sqrt(r*r+s*s+n*n)}function M(t,e){const r=e[0]-t[0],s=e[1]-t[1],n=e[2]-t[2];return r*r+s*s+n*n}function _(t){const e=t[0],r=t[1],s=t[2];return e*e+r*r+s*s}function A(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}function S(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t}function v(t,e){const r=e[0],s=e[1],n=e[2];let a=r*r+s*s+n*n;return a>0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a),t}function x(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function w(t,e,r){const s=e[0],n=e[1],a=e[2],o=r[0],i=r[1],u=r[2];return t[0]=n*u-a*i,t[1]=a*o-s*u,t[2]=s*i-n*o,t}function q(t,e,r,s){const n=e[0],a=e[1],o=e[2];return t[0]=n+s*(r[0]-n),t[1]=a+s*(r[1]-a),t[2]=o+s*(r[2]-o),t}function F(t,e,r){const s=e[0],n=e[1],a=e[2];return t[0]=r[0]*s+r[4]*n+r[8]*a+r[12],t[1]=r[1]*s+r[5]*n+r[9]*a+r[13],t[2]=r[2]*s+r[6]*n+r[10]*a+r[14],t}function R(t,e,r){const s=e[0],n=e[1],a=e[2];return t[0]=s*r[0]+n*r[3]+a*r[6],t[1]=s*r[1]+n*r[4]+a*r[7],t[2]=s*r[2]+n*r[5]+a*r[8],t}function I(t,e,r){const s=r[0],n=r[1],a=r[2],o=r[3],i=e[0],u=e[1],l=e[2],c=n*l-a*u,p=a*i-s*l,d=s*u-n*i,h=n*d-a*p,y=a*c-s*d,f=s*p-n*c,m=2*o;return t[0]=i+c*m+2*h,t[1]=u+p*m+2*y,t[2]=l+d*m+2*f,t}const O=(0,s.vt)(),T=(0,s.vt)();function C(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}function E(t,e,r){const s=r[0]-e[0],n=r[1]-e[1],a=r[2]-e[2];let o=s*s+n*n+a*a;return o>0?(o=1/Math.sqrt(o),t[0]=s*o,t[1]=n*o,t[2]=a*o,t):(t[0]=0,t[1]=0,t[2]=0,t)}const D=l,P=c,N=p,j=b,Q=M,G=a,Z=_;Object.freeze(Object.defineProperty({__proto__:null,abs:d,add:u,angle:function(t,e){v(O,t),v(T,e);const r=x(O,T);return r>1?0:r<-1?Math.PI:Math.acos(r)},bezier:function(t,e,r,s,n,a){const o=1-a,i=o*o,u=a*a,l=i*o,c=3*a*i,p=3*u*o,d=u*a;return t[0]=e[0]*l+r[0]*c+s[0]*p+n[0]*d,t[1]=e[1]*l+r[1]*c+s[1]*p+n[1]*d,t[2]=e[2]*l+r[2]*c+s[2]*p+n[2]*d,t},ceil:function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t},clamp:function(t,e=0,r=1){return t[0]=Math.min(Math.max(t[0],e),r),t[1]=Math.min(Math.max(t[1],e),r),t[2]=Math.min(Math.max(t[2],e),r),t},copy:o,cross:w,crossAndNormalize:function(t,e,r){const s=e[0],n=e[1],a=e[2],o=r[0],i=r[1],u=r[2],l=n*u-a*i,c=a*o-s*u,p=s*i-n*o,d=Math.sqrt(l*l+c*c+p*p);return t[0]=l/d,t[1]=c/d,t[2]=p/d,t},direction:E,dist:j,distance:b,div:N,divide:p,dot:x,equals:function(t,e){if(t===e)return!0;const r=t[0],s=t[1],a=t[2],o=e[0],i=e[1],u=e[2],l=(0,n.FD)();return Math.abs(r-o)<=l*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(s-i)<=l*Math.max(1,Math.abs(s),Math.abs(i))&&Math.abs(a-u)<=l*Math.max(1,Math.abs(a),Math.abs(u))},exactEquals:C,floor:function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t},hermite:function(t,e,r,s,n,a){const o=a*a,i=o*(2*a-3)+1,u=o*(a-2)+a,l=o*(a-1),c=o*(3-2*a);return t[0]=e[0]*i+r[0]*u+s[0]*l+n[0]*c,t[1]=e[1]*i+r[1]*u+s[1]*l+n[1]*c,t[2]=e[2]*i+r[2]*u+s[2]*l+n[2]*c,t},inverse:S,len:G,length:a,lerp:q,max:f,min:y,mul:P,multiply:c,negate:A,normalize:v,random:function(t,e=1){const r=n.Ov,s=2*r()*Math.PI,a=2*r()-1,o=Math.sqrt(1-a*a)*e;return t[0]=Math.cos(s)*o,t[1]=Math.sin(s)*o,t[2]=a*e,t},rotateX:function(t,e,r,s){const n=[],a=[];return n[0]=e[0]-r[0],n[1]=e[1]-r[1],n[2]=e[2]-r[2],a[0]=n[0],a[1]=n[1]*Math.cos(s)-n[2]*Math.sin(s),a[2]=n[1]*Math.sin(s)+n[2]*Math.cos(s),t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t},rotateY:function(t,e,r,s){const n=[],a=[];return n[0]=e[0]-r[0],n[1]=e[1]-r[1],n[2]=e[2]-r[2],a[0]=n[2]*Math.sin(s)+n[0]*Math.cos(s),a[1]=n[1],a[2]=n[2]*Math.cos(s)-n[0]*Math.sin(s),t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t},rotateZ:function(t,e,r,s){const n=[],a=[];return n[0]=e[0]-r[0],n[1]=e[1]-r[1],n[2]=e[2]-r[2],a[0]=n[0]*Math.cos(s)-n[1]*Math.sin(s),a[1]=n[0]*Math.sin(s)+n[1]*Math.cos(s),a[2]=n[2],t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t},round:function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t},scale:m,scaleAndAdd:g,set:i,sign:h,sqrDist:Q,sqrLen:Z,squaredDistance:M,squaredLength:_,str:function(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"},sub:D,subtract:l,transformMat3:R,transformMat4:F,transformQuat:I},Symbol.toStringTag,{value:"Module"}))},29242:(t,e,r)=>{function s(){return[1,0,0,0,1,0,0,0,1]}function n(t,e,r,s,n,a,o,i,u){return[t,e,r,s,n,a,o,i,u]}r.d(e,{fA:()=>n,vt:()=>s,zK:()=>a});const a=[1,0,0,0,1,0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:a,clone:function(t){return[t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]]},create:s,createView:function(t,e){return new Float64Array(t,e,9)},fromValues:n},Symbol.toStringTag,{value:"Module"}))},9093:(t,e,r)=>{function s(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function n(t){return[t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15]]}r.d(e,{o8:()=>n,vt:()=>s,zK:()=>a});const a=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:a,clone:n,create:s,createView:function(t,e){return new Float64Array(t,e,16)},fromValues:function(t,e,r,s,n,a,o,i,u,l,c,p,d,h,y,f){return[t,e,r,s,n,a,o,i,u,l,c,p,d,h,y,f]}},Symbol.toStringTag,{value:"Module"}))},82534:(t,e,r)=>{function s(){return[0,0,0,1]}function n(t){return[t[0],t[1],t[2],t[3]]}r.d(e,{o8:()=>n,vt:()=>s,zK:()=>a});const a=[0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:a,clone:n,create:s,fromValues:function(t,e,r,s){return[t,e,r,s]}},Symbol.toStringTag,{value:"Module"}))},67026:(t,e,r)=>{r.d(e,{A6:()=>f,Xd:()=>c,Xr:()=>h,hZ:()=>g,lw:()=>p,t2:()=>R,x8:()=>l});var s=r(29242),n=r(82534),a=r(51850),o=r(34304),i=r(38954),u=r(87317);function l(t,e,r){r*=.5;const s=Math.sin(r);return t[0]=s*e[0],t[1]=s*e[1],t[2]=s*e[2],t[3]=Math.cos(r),t}function c(t,e){const r=2*Math.acos(e[3]),s=Math.sin(r/2);return s>(0,o.FD)()?(t[0]=e[0]/s,t[1]=e[1]/s,t[2]=e[2]/s):(t[0]=1,t[1]=0,t[2]=0),r}function p(t,e,r){const s=e[0],n=e[1],a=e[2],o=e[3],i=r[0],u=r[1],l=r[2],c=r[3];return t[0]=s*c+o*i+n*l-a*u,t[1]=n*c+o*u+a*i-s*l,t[2]=a*c+o*l+s*u-n*i,t[3]=o*c-s*i-n*u-a*l,t}function d(t,e,r,s){const n=e[0],a=e[1],i=e[2],u=e[3];let l,c,p,d,h,y=r[0],f=r[1],m=r[2],g=r[3];return c=n*y+a*f+i*m+u*g,c<0&&(c=-c,y=-y,f=-f,m=-m,g=-g),1-c>(0,o.FD)()?(l=Math.acos(c),p=Math.sin(l),d=Math.sin((1-s)*l)/p,h=Math.sin(s*l)/p):(d=1-s,h=s),t[0]=d*n+h*y,t[1]=d*a+h*f,t[2]=d*i+h*m,t[3]=d*u+h*g,t}function h(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t}function y(t,e){const r=e[0]+e[4]+e[8];let s;if(r>0)s=Math.sqrt(r+1),t[3]=.5*s,s=.5/s,t[0]=(e[5]-e[7])*s,t[1]=(e[6]-e[2])*s,t[2]=(e[1]-e[3])*s;else{let r=0;e[4]>e[0]&&(r=1),e[8]>e[3*r+r]&&(r=2);const n=(r+1)%3,a=(r+2)%3;s=Math.sqrt(e[3*r+r]-e[3*n+n]-e[3*a+a]+1),t[r]=.5*s,s=.5/s,t[3]=(e[3*n+a]-e[3*a+n])*s,t[n]=(e[3*n+r]+e[3*r+n])*s,t[a]=(e[3*a+r]+e[3*r+a])*s}return t}function f(t,e,r,s){const n=.5*Math.PI/180;e*=n,r*=n,s*=n;const a=Math.sin(e),o=Math.cos(e),i=Math.sin(r),u=Math.cos(r),l=Math.sin(s),c=Math.cos(s);return t[0]=a*u*c-o*i*l,t[1]=o*i*c+a*u*l,t[2]=o*u*l-a*i*c,t[3]=o*u*c+a*i*l,t}const m=u.c,g=u.s,b=u.g,M=p,_=u.b,A=u.h,S=u.l,v=u.j,x=v,w=u.f,q=w,F=u.n,R=u.a,I=u.e,O=(0,a.vt)(),T=(0,a.fA)(1,0,0),C=(0,a.fA)(0,1,0),E=(0,n.vt)(),D=(0,n.vt)(),P=(0,s.vt)();Object.freeze(Object.defineProperty({__proto__:null,add:b,calculateW:function(t,e){const r=e[0],s=e[1],n=e[2];return t[0]=r,t[1]=s,t[2]=n,t[3]=Math.sqrt(Math.abs(1-r*r-s*s-n*n)),t},conjugate:h,copy:m,dot:A,equals:I,exactEquals:R,fromEuler:f,fromMat3:y,getAxisAngle:c,identity:function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},invert:function(t,e){const r=e[0],s=e[1],n=e[2],a=e[3],o=r*r+s*s+n*n+a*a,i=o?1/o:0;return t[0]=-r*i,t[1]=-s*i,t[2]=-n*i,t[3]=a*i,t},len:x,length:v,lerp:S,mul:M,multiply:p,normalize:F,random:function(t){const e=o.Ov,r=e(),s=e(),n=e(),a=Math.sqrt(1-r),i=Math.sqrt(r);return t[0]=a*Math.sin(2*Math.PI*s),t[1]=a*Math.cos(2*Math.PI*s),t[2]=i*Math.sin(2*Math.PI*n),t[3]=i*Math.cos(2*Math.PI*n),t},rotateX:function(t,e,r){r*=.5;const s=e[0],n=e[1],a=e[2],o=e[3],i=Math.sin(r),u=Math.cos(r);return t[0]=s*u+o*i,t[1]=n*u+a*i,t[2]=a*u-n*i,t[3]=o*u-s*i,t},rotateY:function(t,e,r){r*=.5;const s=e[0],n=e[1],a=e[2],o=e[3],i=Math.sin(r),u=Math.cos(r);return t[0]=s*u-a*i,t[1]=n*u+o*i,t[2]=a*u+s*i,t[3]=o*u-n*i,t},rotateZ:function(t,e,r){r*=.5;const s=e[0],n=e[1],a=e[2],o=e[3],i=Math.sin(r),u=Math.cos(r);return t[0]=s*u+n*i,t[1]=n*u-s*i,t[2]=a*u+o*i,t[3]=o*u-a*i,t},rotationTo:function(t,e,r){const s=(0,i.f)(e,r);return s<-.999999?((0,i.e)(O,T,e),(0,i.H)(O)<1e-6&&(0,i.e)(O,C,e),(0,i.n)(O,O),l(t,O,Math.PI),t):s>.999999?(t[0]=0,t[1]=0,t[2]=0,t[3]=1,t):((0,i.e)(O,e,r),t[0]=O[0],t[1]=O[1],t[2]=O[2],t[3]=1+s,F(t,t))},scale:_,set:g,setAxes:function(t,e,r,s){const n=P;return n[0]=r[0],n[3]=r[1],n[6]=r[2],n[1]=s[0],n[4]=s[1],n[7]=s[2],n[2]=-e[0],n[5]=-e[1],n[8]=-e[2],F(t,y(t,n))},setAxisAngle:l,slerp:d,sqlerp:function(t,e,r,s,n,a){return d(E,e,n,a),d(D,r,s,a),d(t,E,D,2*a*(1-a)),t},sqrLen:q,squaredLength:w,str:function(t){return"quat("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"}},Symbol.toStringTag,{value:"Module"}))},95696:(t,e,r)=>{r.d(e,{A:()=>p});var s,n=r(90237),a=r(69540),o=r(25482),i=r(10107),u=(r(44208),r(53966),r(87811),r(93223)),l=r(40608);let c=s=class extends(a.A.ClonableMixin(o.A)){constructor(t){super(t),this.type="georeferenced",this.origin=null}};c.absolute=new s,(0,n._)([(0,u.e)({georeferenced:"georeferenced"},{readOnly:!0})],c.prototype,"type",void 0),(0,n._)([(0,i.MZ)({type:[Number],nonNullable:!1,json:{write:!0}})],c.prototype,"origin",void 0),c=s=(0,n._)([(0,l.$)("esri.geometry.support.MeshGeoreferencedVertexSpace")],c);const p=c},18251:(t,e,r)=>{r.d(e,{A:()=>p});var s=r(90237),n=r(69540),a=r(25482),o=r(10107),i=(r(44208),r(53966),r(87811),r(93223)),u=r(40608),l=r(51850);let c=class extends(n.A.ClonableMixin(a.A)){constructor(t){super(t),this.type="local",this.origin=(0,l.vt)()}};(0,s._)([(0,i.e)({local:"local"},{readOnly:!0})],c.prototype,"type",void 0),(0,s._)([(0,o.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],c.prototype,"origin",void 0),c=(0,s._)([(0,u.$)("esri.geometry.support.MeshLocalVertexSpace")],c);const p=c},73836:(t,e,r)=>{r.d(e,{A:()=>m});var s,n=r(90237),a=r(25482),o=r(10107),i=(r(44208),r(53966),r(87811),r(40608)),u=r(58083),l=r(9093),c=r(67026),p=r(82534),d=r(51850),h=r(24770);let y=s=class extends a.A{constructor(t){super(t),this.translation=(0,d.vt)(),this.rotationAxis=(0,d.ci)(h.up),this.rotationAngle=0,this.scale=(0,d.fA)(1,1,1)}get rotation(){return(0,h.i4)(this.rotationAxis,this.rotationAngle)}set rotation(t){this.rotationAxis=(0,d.o8)((0,h.yo)(t)),this.rotationAngle=(0,h.g7)(t)}get localMatrix(){const t=(0,l.vt)();return(0,c.x8)(f,(0,h.yo)(this.rotation),(0,h.$I)(this.rotation)),(0,u.o1)(t,f,this.translation,this.scale),t}get localMatrixInverse(){return(0,u.B8)((0,l.vt)(),this.localMatrix)}equals(t){return this===t||null!=t&&(0,u.t2)(this.localMatrix,t.localMatrix)}clone(){const t={translation:(0,d.o8)(this.translation),rotationAxis:(0,d.o8)(this.rotationAxis),rotationAngle:this.rotationAngle,scale:(0,d.o8)(this.scale)};return new s(t)}};(0,n._)([(0,o.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],y.prototype,"translation",void 0),(0,n._)([(0,o.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],y.prototype,"rotationAxis",void 0),(0,n._)([(0,o.MZ)({type:Number,nonNullable:!0,json:{write:!0}})],y.prototype,"rotationAngle",void 0),(0,n._)([(0,o.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],y.prototype,"scale",void 0),(0,n._)([(0,o.MZ)()],y.prototype,"rotation",null),(0,n._)([(0,o.MZ)()],y.prototype,"localMatrix",null),(0,n._)([(0,o.MZ)()],y.prototype,"localMatrixInverse",null),y=s=(0,n._)([(0,i.$)("esri.geometry.support.MeshTransform")],y);const f=(0,p.vt)(),m=y},24770:(t,e,r)=>{r.d(e,{$I:()=>m,AU:()=>h,g7:()=>f,i4:()=>c,ui:()=>p,up:()=>b,vt:()=>l,yo:()=>y});var s=r(34727),n=r(58083),a=r(67026),o=r(82534),i=r(38954),u=r(51850);function l(t=b){return[t[0],t[1],t[2],t[3]]}function c(t,e,r=l()){return(0,i.c)(r,t),r[3]=e,r}function p(t,e=l()){const r=(0,n.l)(M,t);return g(e,(0,s.KJ)((0,a.Xd)(e,r))),e}function d(t,e,r=l()){return(0,a.x8)(M,t,m(t)),(0,a.x8)(_,e,m(e)),(0,a.lw)(M,_,M),g(r,(0,s.KJ)((0,a.Xd)(r,M)))}function h(t,e,r,s=l()){return c(u.Cw,t,A),c(u.JP,e,S),c(u.Cb,r,v),d(A,S,A),d(A,v,s),s}function y(t){return t}function f(t){return t[3]}function m(t){return(0,s.kU)(t[3])}function g(t,e){return t[3]=e,t}const b=[0,0,1,0],M=(0,o.vt)(),_=(0,o.vt)(),A=(l(),l()),S=l(),v=l()},63579:(t,e,r)=>{r.d(e,{Bq:()=>u,Qp:()=>i,WN:()=>b,dK:()=>M,eN:()=>y,fH:()=>g,in:()=>f,yr:()=>l});var s=r(78888),n=r(4576),a=r(74887),o=r(20557);class i{constructor(t,e,r){this.assetName=t,this.assetMimeType=e,this.parts=r}equals(t){return this===t||this.assetName===t.assetName&&this.assetMimeType===t.assetMimeType&&(0,n.aI)(this.parts,t.parts,((t,e)=>t.equals(e)))}isOnService(t){return this.parts.every((e=>e.isOnService(t)))}makeHash(){let t="";for(const e of this.parts)t+=e.partHash;return t}async toBlob(t){const{parts:e}=this;if(1===e.length)return e[0].toBlob(t);const r=await Promise.all(e.map((e=>e.toBlob(t))));return(0,a.Te)(t),new Blob(r)}}class u{constructor(t,e){this.partUrl=t,this.partHash=e}equals(t){return this===t||this.partUrl===t.partUrl&&this.partHash===t.partHash}isOnService(t){return this.partUrl.startsWith(`${t.path}/assets/`)}async toBlob(t){const{data:e}=await(0,s.A)(this.partUrl,{responseType:"blob"});return(0,a.Te)(t),e}}function l(t){return function(t){return!!t&&(Array.isArray(t)?t.some(h):h(t))}(t?.source)}function c(t){return!!Array.isArray(t)&&t.every((t=>t instanceof i))}const p=/^(model\/gltf\+json)|(model\/gltf-binary)$/,d=/\.(gltf|glb)/i;function h(t){if(t instanceof File){const{type:e,name:r}=t;return p.test(e)||d.test(r)}return p.test(t.assetMimeType)||d.test(t.assetName)}function y(t,e){if(!t)return!1;const{source:r}=t;return function(t,e){if(Array.isArray(t)){const r=t;return r.length>0&&r.every((t=>m(t,e)))}return m(t,e)}(r,e)}function f(t,e){if(t===e)return!0;const{source:r}=t,{source:s}=e;if(r===s)return!0;if(c(r)&&c(s)){if(r.length!==s.length)return!1;const t=(t,e)=>t.assetName<e.assetName?-1:t.assetName>e.assetName?1:0,e=[...r].sort(t),n=[...s].sort(t);for(let t=0;t<e.length;++t)if(!e[t].equals(n[t]))return!1;return!0}return!1}function m(t,e){return t instanceof i&&t.isOnService(e)}function g(t,e){return t instanceof File?(0,o.rq)(t,e):(0,o.z$)(t.assetMimeType,t.assetName,e)}function b(t){return Array.isArray(t)?t:[t]}function M(t){return!!t.original}},27615:(t,e,r)=>{r.d(e,{CK:()=>p,Hq:()=>c,MW:()=>d,TE:()=>h,yJ:()=>y});var s=r(51447),n=r(53966),a=r(38954),o=r(86738),i=r(95696),u=r(18251);function l(){return n.A.getLogger("esri.geometry.Mesh")}function c(t){return null!=t.origin}function p(t){return c(t.vertexSpace)}function d(t,e){if(!c(t))return null;const[r,s,n]=t.origin;return new o.A({x:r,y:s,z:n,spatialReference:e})}function h(t,e){const{x:r,y:n,z:a,spatialReference:o}=t,c=[r,n,a??0];return void 0!==e?.geographic&&((0,s.io)(l(),"option: geographic",{replacement:"Use the `vertexSpace` option instead.",version:"4.29",warnOnce:!0}),e.vertexSpace&&l().warn("Deprecated geographic flag ignored since vertexSpace option is provided.")),"local"===(e?.vertexSpace??(p=e?.geographic,null==p?void 0:p?"local":"georeferenced")??function(t){return t.isGeographic||t.isWebMercator?"local":"georeferenced"}(o))?new u.A({origin:c}):new i.A({origin:c});var p}function y(t,e){return t.type===e.type&&(t.origin===e.origin||null!=t.origin&&null!=e.origin&&(0,a.p)(t.origin,e.origin))}},99352:(t,e,r)=>{r.d(e,{F:()=>s,P:()=>n});const s={supportsStatistics:!0,supportsPercentileStatistics:!0,supportsSpatialAggregationStatistics:!1,supportedSpatialAggregationStatistics:{envelope:!1,centroid:!1,convexHull:!1},supportsCentroid:!0,supportsCacheHint:!0,supportsCurrentUser:!1,supportsDistance:!0,supportsDistinct:!0,supportsExtent:!0,supportsGeometryProperties:!1,supportsHavingClause:!0,supportsOrderBy:!0,supportsPagination:!0,supportsQuantization:!0,supportsQuantizationEditMode:!1,supportsQueryGeometry:!0,supportsResultType:!0,supportsReturnMesh:!1,supportsSqlExpression:!0,supportsMaxRecordCountFactor:!1,supportsStandardizedQueriesOnly:!0,supportsTopFeaturesQuery:!1,supportsQueryByAnonymous:!0,supportsQueryByOthers:!0,supportsHistoricMoment:!1,supportsFormatPBF:!1,supportsDisjointSpatialRelationship:!0,supportsDefaultSpatialReference:!1,supportsFullTextSearch:!1,supportsCompactGeometry:!1,maxRecordCountFactor:void 0,maxRecordCount:void 0,standardMaxRecordCount:void 0,tileMaxRecordCount:void 0,supportsTrueCurve:!1},n={supportsDate:!0,supportsFixedInterval:!0,supportsAutoInterval:!0,supportsFixedBoundaries:!0,supportsStackBy:!0,supportsSplitBy:!0,supportsSnapToData:!1,supportsReturnFullIntervalBin:!1,supportsFirstDayOfWeek:!1,supportsNormalization:!0,supportedStatistics:{count:!0,sum:!0,avg:!0,var:!0,stddev:!0,min:!0,max:!0,percentileContinuous:!0,percentileDiscrete:!0,envelope:!0,centroid:!0,convexHull:!0},supportedNormalizationTypes:{field:!0,log:!0,naturalLog:!0,percentOfTotal:!0,squareRoot:!0}}},72593:(t,e,r)=>{r.r(e),r.d(e,{default:()=>W});var s=r(90237),n=r(92602),a=r(78888),o=r(4576),i=r(49186),u=r(44208),l=r(66552),c=r(92474),p=r(53966),d=r(93637),h=r(74887),y=r(36708),f=r(84952),m=r(13069),g=r(10107),b=r(40608),M=r(5443),_=r(16930),A=r(95696),S=r(27615),v=r(63579),x=r(52106),w=r(83047),q=r(57251),F=r(65864),R=r(73836),I=r(21325),O=r(78628);async function T(t,e,r){const{geometry:s}=e,n={...e.attributes};if(null!=r&&"mesh"===s?.type){const{transformFieldRoles:e}=r,{origin:a,spatialReference:o,vertexSpace:i}=s,u=s.transform??new R.A,l="local"===i.type,c=t.spatialReference,p=c.isGeographic,d=(0,I.aI)(c,o),h=(0,q.isEqualBaseGCS)(o,c)&&(0,q.canProjectWithoutEngine)(o,c);if(!(l&&p&&h||!l&&!p&&d))return null;const y=(0,q.projectWithoutEngine)(a,o,c);if(null==y)return null;if(n[e.originX]=y.x,n[e.originY]=y.y,n[e.originZ]=y.z??0,null!=u){const{translation:t,scale:r,rotation:s}=u,a=l?1:(0,w.KX)(o)/(0,w.KX)(c);n[e.translationX]=t[0]*a,n[e.translationY]=t[2]*a,n[e.translationZ]=-t[1]*a,n[e.scaleX]=r[0],n[e.scaleY]=r[2],n[e.scaleZ]=r[1],n[e.rotationX]=s[0],n[e.rotationY]=s[2],n[e.rotationZ]=-s[1],n[e.rotationDeg]=s[3]}return{attributes:n}}return null==s?{attributes:n}:"mesh"===s.type||"extent"===s.type?null:{geometry:s.toJSON(),attributes:n}}async function C(t,e){const r=await Promise.all((e.addAttachments??[]).map((e=>E(t,e)))),s=await Promise.all((e.updateAttachments??[]).map((e=>E(t,e)))),n=e.deleteAttachments??[];return r.length||s.length||n.length?{adds:r,updates:s,deletes:[...n]}:null}async function E(t,e){const{feature:r,attachment:s}=e,{globalId:n,name:a,contentType:o,data:i,uploadId:u}=s,l={globalId:n};if(r&&("attributes"in r?l.parentGlobalId=r.attributes?.[t.globalIdField]:r.globalId&&(l.parentGlobalId=r.globalId)),u)l.uploadId=u;else if(i){const t=await(0,f._0)(i);t&&(l.contentType=t.mediaType,l.data=t.data),i instanceof File&&(l.name=i.name)}return a&&(l.name=a),o&&(l.contentType=o),l}function D(t){const e=!0===t.success?null:t.error||{code:void 0,description:void 0};return{objectId:t.objectId,globalId:t.globalId,error:e?new i.A("feature-layer-source:edit-failure",e.description,{code:e.code}):null}}function P(t,e){return new x.A({attributes:t.attributes,geometry:(0,F.rS)({...t.geometry,spatialReference:e})})}function N(t,e){return{adds:t?.adds?.map((t=>P(t,e)))||[],updates:t?.updates?.map((t=>({original:P(t[0],e),current:P(t[1],e)})))||[],deletes:t?.deletes?.map((t=>P(t,e)))||[],spatialReference:e}}var j=r(64714),Q=r(28132),G=r(60694),Z=r(15426),J=r(20557),V=r(99199),U=r(96520),k=r(61956),z=r(79677),B=r(20816);const L=new l.J({originalAndCurrentFeatures:"original-and-current-features",none:"none"}),$=new l.J({Started:"published",Publishing:"publishing",Stopped:"unavailable"});let H=class extends c.A{constructor(t){super(t),this.type="feature-layer",this.supportedSourceTypes=new Set(["Feature Layer","Oriented Imagery Layer","Table","Catalog Layer"]),this.refresh=(0,h.sg)((async()=>{await this.load();const t=this.sourceJSON.editingInfo?.lastEditDate;if(null==t)return{dataChanged:!0,updates:{}};try{await this._fetchService(null)}catch{return{dataChanged:!0,updates:{}}}const e=t!==this.sourceJSON.editingInfo?.lastEditDate;return{dataChanged:e,updates:e?{editingInfo:this.sourceJSON.editingInfo,extent:this.sourceJSON.extent}:null}})),this._ongoingAssetUploads=new Map}load(t){const e=this.layer.sourceJSON,r=this._fetchService(e,{...t}).then((()=>this.layer.setUserPrivileges(this.sourceJSON.serviceItemId,t))).then((()=>this._ensureLatestMetadata(t)));return this.addResolvingPromise(r),Promise.resolve(this)}initialize(){this.addHandles([(0,y.wB)((()=>{const t=this.layer;return t&&"lastEditsEventDate"in t?t.lastEditsEventDate:null}),(t=>this._handleLastEditsEventChange(t)))])}destroy(){this._removeEditInterceptor()}get queryTask(){const{capabilities:t,parsedUrl:e,gdbVersion:r,spatialReference:s,fieldsIndex:n}=this.layer,a="infoFor3D"in this.layer?this.layer.infoFor3D:null,o="dynamicDataSource"in this.layer?this.layer.dynamicDataSource:null,i=(0,u.A)("featurelayer-pbf")&&t?.query.supportsFormatPBF&&null==a,l=t?.operations?.supportsQueryAttachments??!1;return new Q.A({url:e.path,pbfSupported:i,fieldsIndex:n,infoFor3D:a,dynamicDataSource:o,gdbVersion:r,sourceSpatialReference:s,queryAttachmentsSupported:l})}async addAttachment(t,e){await this.load();const{layer:r}=this;await(0,Z.VA)(r,"editing");const s=t.attributes[r.objectIdField],n=r.parsedUrl.path+"/"+s+"/addAttachment",o=this._getLayerRequestOptions(),i=this._getFormDataForAttachment(e,o.query);try{return D((await(0,a.A)(n,{body:i})).data.addAttachmentResult)}catch(t){throw this._createAttachmentErrorResult(s,t)}}async updateAttachment(t,e,r){await this.load();const{layer:s}=this;await(0,Z.VA)(s,"editing");const n=t.attributes[s.objectIdField],o=s.parsedUrl.path+"/"+n+"/updateAttachment",i=this._getLayerRequestOptions({query:{attachmentId:e}}),u=this._getFormDataForAttachment(r,i.query);try{return D((await(0,a.A)(o,{body:u})).data.updateAttachmentResult)}catch(t){throw this._createAttachmentErrorResult(n,t)}}async applyEdits(t,e){await this.load();const{layer:r}=this;await(0,Z.VA)(r,"editing");const s="infoFor3D"in r?r.infoFor3D:null,n=null!=s,u=n||(e?.globalIdUsed??!1),l=n?await this._uploadMeshesAndGetAssetMapEditsJSON(t):null,c=t.addFeatures?.map((t=>T(this.layer,t,s)))??[],p=(await Promise.all(c)).filter(o.Ru),d=t.updateFeatures?.map((t=>T(this.layer,t,s)))??[],h=(await Promise.all(d)).filter(o.Ru),y=function(t,e,r){if(!e||0===e.length)return[];if(r&&(0,O.zp)(e))return e.map((t=>t.globalId));if((0,O.r3)(e))return e.map((t=>t.objectId));const s=r?t.globalIdField:t.objectIdField;return s?e.map((t=>t.getAttribute(s))):[]}(this.layer,t.deleteFeatures,u);(0,U.u)(p,h,r.spatialReference);const f=await C(this.layer,t),m=r.capabilities.editing.supportsAsyncApplyEdits&&n,g=e?.gdbVersion||r.gdbVersion,b={gdbVersion:g,rollbackOnFailure:e?.rollbackOnFailureEnabled,useGlobalIds:u,returnEditMoment:e?.returnEditMoment,usePreviousEditMoment:e?.usePreviousEditMoment,async:m};await(0,B.ZJ)(this.layer.url,g,!0);const M=(0,B.w5)(this.layer.url,g||null);if(await(0,B.We)(r.url,g,r.historicMoment))throw new i.A("feature-layer-source:historic-version","Editing a historic version is not allowed");e?.returnServiceEditsOption?(b.edits=JSON.stringify([{id:r.layerId,adds:p.length?p:null,updates:h.length?h:null,deletes:y.length?y:null,attachments:f,assetMaps:l}]),b.returnServiceEditsOption=L.toJSON(e?.returnServiceEditsOption),b.returnServiceEditsInSourceSR=e?.returnServiceEditsInSourceSR):(b.adds=p.length?JSON.stringify(p):null,b.updates=h.length?JSON.stringify(h):null,b.deletes=y.length?u?JSON.stringify(y):y.join(","):null,b.attachments=f&&JSON.stringify(f),b.assetMaps=null!=l?JSON.stringify(l):void 0);const _=this._getLayerRequestOptions({method:"post",query:b});M&&(_.authMode="immediate",_.query.returnEditMoment=!0,_.query.sessionId=B.TA);const A=e?.returnServiceEditsOption?r.url:r.parsedUrl.path;let S;try{S=m?await this._asyncApplyEdits(A+"/applyEdits",_):await(0,a.A)(A+"/applyEdits",_)}catch(t){if(!function(t){const e=t.details.raw,r=+e.code,s=+e.extendedCode;return 500===r&&(-2147217144===s||-2147467261===s)}(t))throw t;_.authMode="immediate",S=m?await this._asyncApplyEdits(A+"/applyEdits",_):await(0,a.A)(A+"/applyEdits",_)}return this._createEditsResult(S)}async deleteAttachments(t,e){await this.load();const{layer:r}=this;await(0,Z.VA)(r,"editing");const s=t.attributes[r.objectIdField],n=r.parsedUrl.path+"/"+s+"/deleteAttachments";try{return(await(0,a.A)(n,this._getLayerRequestOptions({query:{attachmentIds:e.join(",")},method:"post"}))).data.deleteAttachmentResults.map(D)}catch(t){throw this._createAttachmentErrorResult(s,t)}}fetchRecomputedExtents(t={}){const e=t.signal;return this.load({signal:e}).then((async()=>{const e=this._getLayerRequestOptions({...t,query:{returnUpdates:!0}}),{layerId:r,url:s}=this.layer,{data:n}=await(0,a.A)(`${s}/${r}`,e),{id:o,extent:i,fullExtent:u,timeExtent:l}=n,c=i||u;return{id:o,fullExtent:c&&M.A.fromJSON(c),timeExtent:l&&z.A.fromJSON({start:l[0],end:l[1]})}}))}async queryAttachments(t,e={}){await this.load();const r=this._getLayerRequestOptions(e);return this.queryTask.executeAttachmentQuery(t,r)}async queryFeatures(t,e){await this.load();const r=await this.queryTask.execute(t,{...e,query:this._createRequestQueryOptions(e)});if(t.outStatistics?.length&&r.features.length){const e=new Map;if(r.features.forEach((r=>{const s=r.attributes;t.outStatistics?.forEach((({outStatisticFieldName:t})=>{if(t){const r=t.toLowerCase();r&&r in s&&t!==r&&(s[t]=s[r],delete s[r],e.set(r,t))}}))})),null!=r.fields)for(const t of r.fields){const r=e.get(t.name.toLowerCase());null!=r&&(t.name=r)}}return r}async queryFeaturesJSON(t,e){return await this.load(),this.queryTask.executeJSON(t,{...e,query:this._createRequestQueryOptions(e)})}async queryObjectIds(t,e){return await this.load(),this.queryTask.executeForIds(t,{...e,query:this._createRequestQueryOptions(e)})}async queryFeatureCount(t,e){return await this.load(),this.queryTask.executeForCount(t,{...e,query:this._createRequestQueryOptions(e)})}async queryExtent(t,e){return await this.load(),this.queryTask.executeForExtent(t,{...e,query:this._createRequestQueryOptions(e)})}async queryRelatedFeatures(t,e){return await this.load(),this.queryTask.executeRelationshipQuery(t,{...e,query:this._createRequestQueryOptions(e)})}async queryRelatedFeaturesCount(t,e){return await this.load(),this.queryTask.executeRelationshipQueryForCount(t,{...e,query:this._createRequestQueryOptions(e)})}async queryTopFeatures(t,e){return await this.load(),this.queryTask.executeTopFeaturesQuery(t,{...e,query:this._createRequestQueryOptions(e)})}async queryAttributeBins(t,e){return await this.load(),this.queryTask.executeAttributeBinsQuery(t,{...e,query:this._createRequestQueryOptions(e)})}async queryTopObjectIds(t,e){return await this.load(),this.queryTask.executeForTopIds(t,{...e,query:this._createRequestQueryOptions(e)})}async queryTopExtents(t,e){return await this.load(),this.queryTask.executeForTopExtents(t,{...e,query:this._createRequestQueryOptions(e)})}async queryTopCount(t,e){return await this.load(),this.queryTask.executeForTopCount(t,{...e,query:this._createRequestQueryOptions(e)})}async fetchPublishingStatus(){if(!(0,G.Wo)(this.layer.url))return"unavailable";const t=(0,f.fj)(this.layer.url,"status"),e=await(0,a.A)(t,{query:{f:"json"}});return $.fromJSON(e.data.status)}async uploadAssets(t,e){const{uploadAssets:s}=await r.e(1384).then(r.bind(r,31384));return s(t,{layer:this.layer,ongoingUploads:this._ongoingAssetUploads},e)}_handleLastEditsEventChange(t){const e=this.layer;if(null==t||!("capabilities"in e)||!("effectiveCapabilities"in e))return;if(e.capabilities?.operations?.supportsEditing||!e.effectiveCapabilities?.operations?.supportsEditing)return;const r=e.url;null!=r&&("layerId"in e&&(0,f.fj)(r,e.layerId.toString()),this._getOrCreateEditInterceptor(r).before=e=>{const r=e.requestOptions.method??"auto";if("auto"===r||"head"===r){const r=e.requestOptions.query??{};r._ts=t.getTime(),e.requestOptions.query=r}})}_getOrCreateEditInterceptor(t){return null==this._editInterceptor&&(this._editInterceptor={urls:t},n.A.request.internalInterceptors.push(this._editInterceptor)),this._editInterceptor}_removeEditInterceptor(){null!=this._editInterceptor&&((0,o.TF)(n.A.request.internalInterceptors,this._editInterceptor),this._editInterceptor=null)}async _asyncApplyEdits(t,e){const r=(await(0,a.A)(t,e)).data.statusUrl;for(;;){const t=(await(0,a.A)(r,{query:{f:"json"},responseType:"json"})).data;switch(t.status){case"Completed":return(0,a.A)(t.resultUrl,{query:{f:"json"},responseType:"json"});case"CompletedWithErrors":throw new i.A("async-applyEdits-failed","asynchronous applyEdits call failed.");case"Failed ImportChanges":case"InProgress":case"Pending":case"ExportAttachments":case"ExportChanges":case"ExportingData":case"ExportingSnapshot":case"ImportAttachments":case"ProvisioningReplica":case"UnRegisteringReplica":break;default:throw new i.A("async-applyEdits-failed","asynchronous applyEdits call failed (undefined response status)")}await(0,h.Pl)(X)}}_createRequestQueryOptions(t){const e={...this.layer.customParameters,token:this.layer.apiKey,...t?.query};return this.layer.datesInUnknownTimezone&&(e.timeReferenceUnknownClient=!0),e}async _fetchService(t,e){if(!t){const r={};(0,u.A)("featurelayer-advanced-symbols")&&(r.returnAdvancedSymbols=!0),e?.cacheBust&&(r._ts=Date.now());const{data:s}=await(0,a.A)(this.layer.parsedUrl.path,this._getLayerRequestOptions({query:r,signal:e?.signal}));t=s}this.sourceJSON=await this._patchServiceJSON(t,e?.signal);const r=t.type;if(!this.supportedSourceTypes.has(r))throw new i.A("feature-layer-source:unsupported-type",`Source type "${r}" is not supported`)}async _patchServiceJSON(t,e){if("Table"!==t.type&&t.geometryType&&!t?.drawingInfo?.renderer&&!t.defaultSymbol){const e=(0,j.F0)(t.geometryType).renderer;(0,d.sM)("drawingInfo.renderer",e,t)}if("esriGeometryMultiPatch"===t.geometryType&&t.infoFor3D&&(t.geometryType="mesh"),null==t.extent)try{const{data:r}=await(0,a.A)(this.layer.url,this._getLayerRequestOptions({signal:e}));r.spatialReference&&(t.extent={xmin:0,ymin:0,xmax:0,ymax:0,spatialReference:r.spatialReference})}catch(t){(0,h.QP)(t)}return t}async _ensureLatestMetadata(t){if(this.layer.userHasUpdateItemPrivileges&&this.sourceJSON.cacheMaxAge>0)return this._fetchService(null,{...t,cacheBust:!0})}async _uploadMeshesAndGetAssetMapEditsJSON(t){const{addAssetFeatures:e}=t;if(!e?.length)return null;if(await this._areAllAssetsAlreadyMapped(e))return null;const s=t.addFeatures.filter((t=>t.geometry));if(e.length!==s.length+t.updateFeatures.length)throw new i.A("feature-layer-source:unsupported-mesh-edits","Mixing attribute only edits with mesh geometry edits is not currently supported");const n=new Array,a=new Map;for(const t of e){const{geometry:e}=t,{vertexSpace:s}=e;if((0,S.Hq)(s))n.push(e);else{const s=e.origin,{convertMeshVertexSpace:o}=await Promise.all([r.e(3030),r.e(8846)]).then(r.bind(r,28846)),i=await o(e,new A.A({origin:[s.x,s.y,s.z??0]}));a.set(i,e),t.geometry=i,n.push(i)}}await this.uploadAssets(n);for(const[t,e]of a)e.addExternalSources(t.metadata.externalSources.items);return{adds:this._getAssetMapEditsJSON(e),updates:[],deletes:[]}}_getAssetMapEditsJSON(t){const e=new Array,r=this.layer.globalIdField,s=this.layer.parsedUrl;for(const n of t){const t=n.geometry,{metadata:a}=t,o=a.getExternalSourcesOnService(s),i=n.getAttribute(r);if(0===o.length){p.A.getLogger(this).error(`Skipping feature ${i}. The mesh it is associated with has not been uploaded to the service and cannot be mapped to it.`);continue}const{source:u}=o.find(v.dK)??o[0];for(const t of u)1===t.parts.length?e.push({globalId:(0,m.yS)(),parentGlobalId:i,assetName:t.assetName,assetHash:t.parts[0].partHash,flags:[]}):p.A.getLogger(this).error(`Skipping asset ${t.assetName}. It does not have exactly one part, so we cannot map it to a feature.`)}return e}_createEditsResult(t){const e=t.data,{layerId:r}=this.layer,s=[];let n=null;if(Array.isArray(e))for(const t of e)s.push({id:t.id,editedFeatures:t.editedFeatures}),t.id===r&&(n={addResults:t.addResults??[],updateResults:t.updateResults??[],deleteResults:t.deleteResults??[],attachments:t.attachments,editMoment:t.editMoment});else n=e;const a=function(t){const e=t?.assetMaps;if(e){for(const t of e.addResults)t.success||p.A.getLogger("esri.layers.graphics.sources.support.sourceUtils").error(`Failed to map asset to feature with globalId ${t.globalId}.`);for(const t of e.updateResults)t.success||p.A.getLogger("esri.layers.graphics.sources.support.sourceUtils").error(`Failed to map asset to feature with globalId ${t.globalId}.`)}const r=t?.attachments,s={addFeatureResults:t?.addResults?.map(D)??[],updateFeatureResults:t?.updateResults?.map(D)??[],deleteFeatureResults:t?.deleteResults?.map(D)??[],addAttachmentResults:r?.addResults?r.addResults.map(D):[],updateAttachmentResults:r?.updateResults?r.updateResults.map(D):[],deleteAttachmentResults:r?.deleteResults?r.deleteResults.map(D):[]};return t?.editMoment&&(s.editMoment=t.editMoment),s}(n);if(s.length>0){a.editedFeatureResults=[];for(const t of s){const{editedFeatures:e}=t,r=e?.spatialReference?new _.A(e.spatialReference):null;a.editedFeatureResults.push({layerId:t.id,editedFeatures:N(e,r)})}}return a}_createAttachmentErrorResult(t,e){const r=e.details.messages?.[0]||e.message,s=e.details.httpStatus||e.details.messageCode;return{objectId:t,globalId:null,error:new i.A("feature-layer-source:attachment-failure",r,{code:s})}}_getFormDataForAttachment(t,e){const r=t instanceof FormData?t:t&&t.elements?new FormData(t):null;if(r)for(const t in e){const s=e[t];null!=s&&(r.set?r.set(t,s):r.append(t,s))}return r}_getLayerRequestOptions(t={}){const{layer:e,layer:{parsedUrl:r,gdbVersion:s}}=this;return{...t,query:{gdbVersion:s,layer:"dynamicDataSource"in e&&e.dynamicDataSource?JSON.stringify({source:e.dynamicDataSource}):void 0,...r.query,f:"json",...this._createRequestQueryOptions(t)},responseType:"json"}}async _areAllAssetsAlreadyMapped(t){const{layer:e}=this,{globalIdField:r,parsedUrl:s}=e,n="infoFor3D"in e?e.infoFor3D:null;if(null==n||null==r)return!1;const a=(0,J.JZ)(n);if(null==a)return!1;const i=(0,f.fj)(s.path,`../${a.id}`),u=new Array;for(const e of t){if(!(e.geometry.metadata.getExternalSourcesOnService(s).length>0))return!1;u.push(e)}const l=u.map((t=>t.getAttribute(r))).filter(o.Ru);if(0===l.length)return!1;const{assetMapFieldRoles:{parentGlobalId:c,assetHash:p}}=n,d=new k.A({where:`${c} IN (${l.map((t=>`'${t}'`))})`,outFields:[p,c],returnGeometry:!1}),h=await(0,V.s)(i,d),{features:y}=h;return 0!==y.length&&!u.some((t=>{const e=t.getAttribute(r);if(!e)return!0;const{metadata:n}=t.geometry,a=y.filter((t=>t.getAttribute(c)===e));if(0===a.length)return!0;const o=a.map((t=>t.getAttribute(p)));return n.getExternalSourcesOnService(s).flatMap((({source:t})=>t.flatMap((t=>t.parts.map((t=>t.partHash)))))).some((t=>o.every((e=>t!==e))))}))}};(0,s._)([(0,g.MZ)()],H.prototype,"type",void 0),(0,s._)([(0,g.MZ)({constructOnly:!0})],H.prototype,"layer",void 0),(0,s._)([(0,g.MZ)({constructOnly:!0})],H.prototype,"supportedSourceTypes",void 0),(0,s._)([(0,g.MZ)({readOnly:!0})],H.prototype,"queryTask",null),H=(0,s._)([(0,b.$)("esri.layers.graphics.sources.FeatureLayerSource")],H);const X=1e3,W=H},28132:(t,e,r)=>{r.d(e,{A:()=>E});var s=r(90237),n=r(69622),a=r(49186),o=r(44208),i=r(74887),u=r(84952),l=r(10107),c=(r(53966),r(87811),r(40608)),p=r(21325),d=r(20557),h=r(27733),y=r(2272),f=r(20615),m=r(5443),g=r(80893),b=r(61956),M=r(78286),_=r(99199),A=r(97768),S=r(62815),v=r(90708);function x(t,e){return e}function w(t,e,r,s){switch(r){case 0:return I(t,e+s,0);case 1:return"lowerLeft"===t.originPosition?I(t,e+s,1):function({translate:t,scale:e},r,s){return t[s]-r*e[s]}(t,e+s,1)}}function q(t,e,r,s){return 2===r?I(t,e,2):w(t,e,r,s)}function F(t,e,r,s){return 2===r?0===e?0:I(t,e,3):w(t,e,r,s)}function R(t,e,r,s){return 3===r?0===e?0:I(t,e,3):q(t,e,r,s)}function I({translate:t,scale:e},r,s){return t[s]+r*e[s]}class O{constructor(t){this._options=t,this.geometryTypes=["esriGeometryPoint","esriGeometryMultipoint","esriGeometryPolyline","esriGeometryPolygon"],this._previousCoordinate=[0,0],this._transform=null,this._applyTransform=x,this._lengths=[],this._currentLengthIndex=0,this._toAddInCurrentPath=0,this._vertexDimension=0,this._mValueOffset=null,this._coordinateBuffer=null,this._coordinateBufferPtr=0,this._attributesConstructor=class{}}createFeatureResult(){return{fields:[],features:[]}}finishFeatureResult(t){if(this._options.applyTransform&&(t.transform=null),this._attributesConstructor=class{},this._coordinateBuffer=null,this._lengths.length=0,!t.hasZ)return;const e=(0,S.N)(t.geometryType,this._options.sourceSpatialReference,t.spatialReference);if(null!=e)for(const r of t.features)e(r.geometry)}createSpatialReference(){return{}}addField(t,e){const r=t.fields;(0,A.Lw)(r),r.push(e);const s=r.map((t=>t.name));this._attributesConstructor=function(){for(const t of s)this[t]=null}}addFeature(t,e){t.features.push(e)}prepareFeatures(t){switch(this._transform=t.transform,this._options.applyTransform&&t.transform&&(this._applyTransform=this._deriveApplyTransform(t)),this._mValueOffset=null,this._vertexDimension=2,t.hasZ&&this._vertexDimension++,t.hasM&&(this._mValueOffset=this._vertexDimension,this._vertexDimension++),t.geometryType){case"esriGeometryPoint":this.addCoordinate=(t,e,r)=>this.addCoordinatePoint(t,e,r),this.createGeometry=t=>this.createPointGeometry(t);break;case"esriGeometryPolygon":this.addCoordinate=(t,e,r)=>this._addCoordinatePolygon(t,e,r),this.createGeometry=t=>this._createPolygonGeometry(t);break;case"esriGeometryPolyline":this.addCoordinate=(t,e,r)=>this._addCoordinatePolyline(t,e,r),this.createGeometry=t=>this._createPolylineGeometry(t);break;case"esriGeometryMultipoint":this.addCoordinate=(t,e,r)=>this._addCoordinateMultipoint(t,e,r),this.createGeometry=t=>this._createMultipointGeometry(t)}}createFeature(){return this._lengths.length=0,this._currentLengthIndex=0,this._previousCoordinate[0]=0,this._previousCoordinate[1]=0,this._coordinateBuffer=null,this._coordinateBufferPtr=0,{attributes:new this._attributesConstructor}}allocateCoordinates(){}addLength(t,e,r){0===this._lengths.length&&(this._toAddInCurrentPath=e),this._lengths.push(e)}addQueryGeometry(t,e){const{queryGeometry:r,queryGeometryType:s}=e,n=this._transform?(0,v.Ch)(r.clone(),r,!1,!1,this._transform):r.clone(),a=(0,v.zv)(n,s,!1,!1);t.queryGeometryType=s,t.queryGeometry={...a}}createPointGeometry(t){const e={x:0,y:0,spatialReference:t.spatialReference};return t.hasZ&&(e.z=0),t.hasM&&(e.m=0),e}addCoordinatePoint(t,e,r){const s=this._transform;switch(e=this._applyTransform(s,e,r,0),r){case 0:t.x=e;break;case 1:t.y=e;break;case 2:"z"in t?t.z=e:t.m=e;break;case 3:t.m=e}}_transformPathLikeValue(t,e){let r=0;e<=1&&(r=this._previousCoordinate[e],this._previousCoordinate[e]+=t);const s=this._transform;return null!==this._mValueOffset&&0===t&&e>0&&!(e%this._mValueOffset)?0:this._applyTransform(s,t,e,r)}_addCoordinatePolyline(t,e,r){this._dehydratedAddPointsCoordinate(t.paths,e,r)}_addCoordinatePolygon(t,e,r){this._dehydratedAddPointsCoordinate(t.rings,e,r)}_addCoordinateMultipoint(t,e,r){0===r&&t.points.push([]);const s=this._transformPathLikeValue(e,r);t.points[t.points.length-1].push(s)}_createPolygonGeometry(t){return{rings:[[]],spatialReference:t.spatialReference,hasZ:!!t.hasZ,hasM:!!t.hasM}}_createPolylineGeometry(t){return{paths:[[]],spatialReference:t.spatialReference,hasZ:!!t.hasZ,hasM:!!t.hasM}}_createMultipointGeometry(t){return{points:[],spatialReference:t.spatialReference,hasZ:!!t.hasZ,hasM:!!t.hasM}}_dehydratedAddPointsCoordinate(t,e,r){0===r&&0==this._toAddInCurrentPath--&&(t.push([]),this._toAddInCurrentPath=this._lengths[++this._currentLengthIndex]-1,this._previousCoordinate[0]=0,this._previousCoordinate[1]=0);const s=this._transformPathLikeValue(e,r),n=t[t.length-1];0===r&&(this._coordinateBufferPtr=0,this._coordinateBuffer=new Array(this._vertexDimension),n.push(this._coordinateBuffer)),this._coordinateBuffer[this._coordinateBufferPtr++]=s}_deriveApplyTransform(t){const{hasZ:e,hasM:r}=t;return e&&r?R:e?q:r?F:w}}var T=r(22671);let C=class extends n.A{constructor(t){super(t),this.dynamicDataSource=null,this.fieldsIndex=null,this.gdbVersion=null,this.infoFor3D=null,this.pbfSupported=!1,this.queryAttachmentsSupported=!1,this.sourceSpatialReference=null,this.url=null}get parsedUrl(){return(0,u.An)(this.url)}async execute(t,e){const r=await this.executeJSON(t,e);return this.featureSetFromJSON(t,r,e)}async executeJSON(t,e){const r=this._normalizeQuery(t),s=null!=t.outStatistics?.[0],n=(0,o.A)("featurelayer-pbf-statistics"),a=(!s||n)&&!0!==t.returnTrueCurves;let i;if(this.pbfSupported&&a)try{i=await async function(t,e,r){const s=(0,y.Dl)(t),n={...r},a=b.A.from(e),o=!a.quantizationParameters,{data:i}=await(0,g.IJ)(s,a,new O({sourceSpatialReference:a.sourceSpatialReference,applyTransform:o}),n);return i}(this.url,r,e)}catch(t){if("query:parsing-pbf"!==t.name)throw t;this.pbfSupported=!1}return this.pbfSupported&&a||(i=await(0,_.e)(this.url,r,e)),this._normalizeFields(i.fields),i}async featureSetFromJSON(t,e,s){if(!this._queryIs3DObjectFormat(t)||null==this.infoFor3D||!e.features)return T.A.fromJSON(e);const{meshFeatureSetFromJSON:n}=await(0,i.qr)(Promise.all([r.e(690),r.e(3030),r.e(36),r.e(5754)]).then(r.bind(r,40050)),s);return n(t,this.infoFor3D,e)}executeForCount(t,e){return(0,f.I)(this.url,this._normalizeQuery(t),e)}executeForExtent(t,e){return async function(t,e,r){const s=(0,y.Dl)(t),n=await(0,g.Jf)(s,b.A.from(e),{...r}),a=n.data.extent;return!a||isNaN(a.xmin)||isNaN(a.ymin)||isNaN(a.xmax)||isNaN(a.ymax)?{count:n.data.count,extent:null}:{count:n.data.count,extent:m.A.fromJSON(a)}}(this.url,this._normalizeQuery(t),e)}executeForIds(t,e){return(0,M.V)(this.url,this._normalizeQuery(t),e)}async executeRelationshipQuery(t,e){const[{default:s},{executeRelationshipQuery:n}]=await(0,i.qr)(Promise.all([Promise.resolve().then(r.bind(r,26591)),r.e(5257).then(r.bind(r,15257))]),e);return t=s.from(t),(this.gdbVersion||this.dynamicDataSource)&&((t=t.clone()).gdbVersion=t.gdbVersion||this.gdbVersion,t.dynamicDataSource=t.dynamicDataSource||this.dynamicDataSource),n(this.url,t,e)}async executeRelationshipQueryForCount(t,e){const[{default:s},{executeRelationshipQueryForCount:n}]=await(0,i.qr)(Promise.all([Promise.resolve().then(r.bind(r,26591)),r.e(5257).then(r.bind(r,15257))]),e);return t=s.from(t),(this.gdbVersion||this.dynamicDataSource)&&((t=t.clone()).gdbVersion=t.gdbVersion||this.gdbVersion,t.dynamicDataSource=t.dynamicDataSource||this.dynamicDataSource),n(this.url,t,e)}async executeAttachmentQuery(t,e){const{executeAttachmentQuery:s,fetchAttachments:n,processAttachmentQueryResult:a}=await(0,i.qr)(r.e(9239).then(r.bind(r,9239)),e),o=(0,y.Dl)(this.url);return a(o,await(this.queryAttachmentsSupported?s(o,t,e):n(o,t,e)))}async executeAttributeBinsQuery(t,e){const{executeAttributeBinsQuery:s}=await(0,i.qr)(Promise.all([r.e(4575),r.e(3103)]).then(r.bind(r,33103)),e);return s(this.parsedUrl,t,e)}async executeTopFeaturesQuery(t,e){const{executeTopFeaturesQuery:s}=await(0,i.qr)(r.e(1273).then(r.bind(r,11273)),e);return s(this.parsedUrl,t,this.sourceSpatialReference,e)}async executeForTopIds(t,e){const{executeForTopIds:s}=await(0,i.qr)(r.e(1277).then(r.bind(r,21277)),e);return s(this.parsedUrl,t,e)}async executeForTopExtents(t,e){const{executeForTopExtents:s}=await(0,i.qr)(r.e(8018).then(r.bind(r,8018)),e);return s(this.parsedUrl,t,e)}async executeForTopCount(t,e){const{executeForTopCount:s}=await(0,i.qr)(r.e(980).then(r.bind(r,10980)),e);return s(this.parsedUrl,t,e)}_normalizeQuery(t){let e=b.A.from(t);e.sourceSpatialReference=e.sourceSpatialReference||this.sourceSpatialReference,(this.gdbVersion||this.dynamicDataSource)&&(e=e===t?e.clone():e,e.gdbVersion=t.gdbVersion||this.gdbVersion,e.dynamicDataSource=t.dynamicDataSource?h.L.from(t.dynamicDataSource):this.dynamicDataSource);const{infoFor3D:r}=this;if(null!=r&&this._queryIs3DObjectFormat(t)){if(e=e===t?e.clone():e,e.formatOf3DObjects=(0,d.Hz)(r),!e.formatOf3DObjects)throw new a.A("query:unsupported-3d-query-formats","Could not find any supported 3D object query format. Only supported formats are 3D_glb and 3D_gltf");if(e.outSpatialReference&&!(0,p.aI)(e.outSpatialReference,this.sourceSpatialReference))throw new a.A("query:unsupported-out-spatial-reference","3D object feature services do not support projection of geometries");if(null==e.outFields||!e.outFields.includes("*")){e=e===t?e.clone():e,null==e.outFields&&(e.outFields=[]);const{originX:s,originY:n,originZ:a,translationX:o,translationY:i,translationZ:u,scaleX:l,scaleY:c,scaleZ:p,rotationX:d,rotationY:h,rotationZ:y,rotationDeg:f}=r.transformFieldRoles;e.outFields.push(s,n,a,o,i,u,l,c,p,d,h,y,f)}}return e}_normalizeFields(t){if(null!=this.fieldsIndex&&null!=t)for(const e of t){const t=this.fieldsIndex.get(e.name);t&&Object.assign(e,t.toJSON())}}_queryIs3DObjectFormat(t){return null!=this.infoFor3D&&!0===t.returnGeometry&&"xyFootprint"!==t.multipatchOption&&!t.outStatistics}};(0,s._)([(0,l.MZ)({type:h.L})],C.prototype,"dynamicDataSource",void 0),(0,s._)([(0,l.MZ)()],C.prototype,"fieldsIndex",void 0),(0,s._)([(0,l.MZ)()],C.prototype,"gdbVersion",void 0),(0,s._)([(0,l.MZ)()],C.prototype,"infoFor3D",void 0),(0,s._)([(0,l.MZ)({readOnly:!0})],C.prototype,"parsedUrl",null),(0,s._)([(0,l.MZ)()],C.prototype,"pbfSupported",void 0),(0,s._)([(0,l.MZ)()],C.prototype,"queryAttachmentsSupported",void 0),(0,s._)([(0,l.MZ)()],C.prototype,"sourceSpatialReference",void 0),(0,s._)([(0,l.MZ)({type:String})],C.prototype,"url",void 0),C=(0,s._)([(0,c.$)("esri.layers.graphics.sources.support.QueryTask")],C);const E=C},64714:(t,e,r)=>{r.d(e,{F0:()=>i,Vx:()=>c,e2:()=>d,f:()=>h});var s=r(44208),n=r(4718),a=r(99352),o=r(93470);function i(t){return{renderer:{type:"simple",symbol:"esriGeometryPoint"===t||"esriGeometryMultipoint"===t?o.Cb:"esriGeometryPolyline"===t?o.yM:o.WR}}}const u=/^[_$a-zA-Z][_$a-zA-Z0-9]*$/;let l=1;function c(t,e){if((0,s.A)("esri-csp-restrictions"))return()=>({[e]:null,...t});try{let r=`this${p(e)} = null;`;for(const e in t)r+=`this${p(e)} = ${JSON.stringify(t[e])};`;const s=new Function(`\n return class AttributesClass$${l++} {\n constructor() {\n ${r};\n }\n }\n `)();return()=>new s}catch(r){return()=>({[e]:null,...t})}}function p(t){return u.test(t)?`.${t}`:`["${t}"]`}function d(t={}){return[{name:"New Feature",description:"",prototype:{attributes:(0,n.o8)(t)}}]}function h(t,e){return{analytics:{supportsCacheHint:!1},attachment:null,data:{isVersioned:!1,isBranchVersioned:!1,supportsAttachment:!1,supportsM:!1,supportsZ:t},metadata:{supportsAdvancedFieldProperties:!1},operations:{supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsAdd:e,supportsDelete:e,supportsEditing:e,supportsChangeTracking:!1,supportsQuery:!0,supportsQueryBins:!0,supportsQueryAnalytics:!1,supportsQueryAttachments:!1,supportsQueryTopFeatures:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsUpdate:e,supportsExceedsLimitStatistics:!0,supportsAsyncConvert3D:!1},query:a.F,queryRelated:{supportsCount:!0,supportsOrderBy:!0,supportsPagination:!0,supportsCacheHint:!1},queryTopFeatures:{supportsCacheHint:!1},queryAttributeBins:a.P,editing:{supportsGeometryUpdate:e,supportsGlobalId:!1,supportsReturnServiceEditsInSourceSpatialReference:!1,supportsRollbackOnFailure:!1,supportsUpdateWithoutM:!1,supportsUploadWithItemId:!1,supportsDeleteByAnonymous:!1,supportsDeleteByOthers:!1,supportsUpdateByAnonymous:!1,supportsUpdateByOthers:!1,supportsAsyncApplyEdits:!1,zDefault:void 0}}}}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[9547],{19547:(e,t,n)=>{n.r(t),n.d(t,{default:()=>Ae});var i=n(90237),s=n(13874),o=n(69540),a=n(49186),r=n(92071),l=n(74887),c=n(36708),u=n(10107),p=(n(44208),n(53966)),d=(n(87811),n(40608)),m=n(4146),f=n(63074),g=n(69208),h=n(89015),v=n(16131),y=n(8303),b=n(54310),w=n(25036),x=n(82935),C=n(10873),I=n(20437),S=n(74797),D=n(5443),A=n(38458),T=n(78888),L=n(50103);function V(e){return e.endsWith("?")?e.slice(0,-1):e}function M(e){return e.filter((({coverageSubType:e})=>null==e||""===e||/^rectified(grid|dataset)/i.test(e)))}function N(e){const t={};for(let n=0;n<e.childNodes.length;n++){const i=e.childNodes[n];if(1!==i.nodeType)continue;const s=(0,L.vv)(i).toLowerCase();switch(s){case"title":case"abstract":t[s]=(0,L.mX)(i);break;case"identifier":t.id=(0,L.mX)(i);break;case"wgs84boundingbox":{const e=(0,L.pN)(i,"LowerCorner"),n=(0,L.pN)(i,"UpperCorner");t.lonLatEnvelope=new D.A({xmin:e[0],ymin:e[1],xmax:n[0],ymax:n[1],spatialReference:{wkid:4326}})}break;case"coveragesummary":t.coverageSummaries=t.coverageSummaries||[],t.coverageSummaries.push(N(i))}}return t}function R(e,t){if(e.coverageSummaries)for(let n=0;n<e.coverageSummaries.length;n++)e.coverageSummaries[n].abstract=e.coverageSummaries[n].abstract||e.abstract,e.coverageSummaries[n].lonLatEnvelope=e.coverageSummaries[n].lonLatEnvelope||e.lonLatEnvelope,e.coverageSummaries[n].title=e.coverageSummaries[n].title||e.title,R(e.coverageSummaries[n],t);null!=e.id&&t.push(e)}function P(e){const t=(0,L.V6)(e.querySelector("Operation[name=GetCapabilities]"),"Get")?.getAttribute("xlink:href")||"",n=(0,L.V6)(e.querySelector("Operation[name=DescribeCoverage]"),"Get")?.getAttribute("xlink:href")||"",i=(0,L.V6)(e.querySelector("Operation[name=GetCoverage]"),"Get")?.getAttribute("xlink:href")||"";return{getCapabilities:V(t),describeCoverage:V(n),getCoverage:V(i)}}function E(e,t=null){let n=null;n="string"==typeof e?(new DOMParser).parseFromString(e,"text/xml"):e;let i=n.documentElement.getAttribute("version");"1.0"===i?i="1.0.0":"1.1"===i&&(i="1.1.0");const s=i||t||"1.0.0",o=s.slice(0,3);let r;if("2.0"===o)r=function(e){const t=(0,L.V6)(e,"ServiceIdentification"),n=(0,L.mX)(t,"Title"),i=(0,L.Dy)(t,"ServiceTypeVersion"),s=(0,L.Dy)(t,"Profile"),o=P((0,L.V6)(e,"OperationsMetadata")),a=(0,L.IC)(e,"Contents/CoverageSummary"),r=[];for(let e=0;e<a.length;e++){const t=a[e],n=(0,L.mX)(t,"CoverageId"),i=(0,L.V6)(t,"WGS84BoundingBox");let s;if(i){const e=(0,L.pN)(i,"LowerCorner"),t=(0,L.pN)(i,"UpperCorner");s=new D.A({xmin:e[0],ymin:e[1],xmax:t[0],ymax:t[1],spatialReference:{wkid:4326}})}const o=(0,L.mX)(t,"CoverageSubtype")||"RectifiedGridCoverage";r.push({id:n,lonLatEnvelope:s,coverageSubType:o})}const l=(0,L.V6)(e,"ServiceMetadata");return{name:n,supportedVersions:i,supportedFormats:(0,L.Dy)(l,"formatSupported"),supportedInterpolations:(0,L.Dy)(l,"interpolationSupported").concat((0,L.Dy)(l,"InterpolationSupported")),onlineResources:o,profiles:s,coverages:r,gridCoverages:M(r),version:"2.0.1"}}(n);else if("1.1"===o)r=function(e){const t=(0,L.mX)(e,"ServiceIdentification/Title"),n=(0,L.Dy)(e,"ServiceIdentification/ServiceTypeVersion"),i=P((0,L.V6)(e,"OperationsMetadata")),s=[],o=(0,L.V6)(e,"Contents");for(let e=0;e<o.childNodes.length;e++){const t=o.childNodes[e];1===t.nodeType&&(0,L.g7)(t,"CoverageSummary")&&R(N(t),s)}const a=(0,L.Dy)(o,"SupportedFormat");return{name:t,onlineResources:i,coverages:s,gridCoverages:M(s),supportedVersions:n,supportedFormats:a,version:"1.1.0"}}(n);else{if("1.0"!==o)throw new a.A("wcsraster:parsecapabilities","the capabilities version is not supported");r=function(e){const t=(0,L.mX)(e,"Service/name"),n=(0,L.V6)(e,"Capability"),i=(0,L.V6)(n,"GetCapabilities/Get/OnlineResource")?.getAttribute("xlink:href")??"",s=(0,L.V6)(n,"DescribeCoverage/Get/OnlineResource")?.getAttribute("xlink:href")??"",o=(0,L.V6)(n,"GetCoverage/Get/OnlineResource")?.getAttribute("xlink:href")??"",a={getCapabilities:V(i),describeCoverage:V(s),getCoverage:V(o)},r=(0,L.IC)(e,"CoverageOfferingBrief"),l=[];for(let e=0;e<r.length;e++){const t=r[e],n=(0,L.mX)(t,"name"),i=(0,L.IC)(t,"pos"),s=(0,L.pN)(i[0]),o=(0,L.pN)(i[1]),a=new D.A({xmin:s[0],ymin:s[1],xmax:o[0],ymax:o[1],spatialReference:{wkid:4326}});l.push({id:n,lonLatEnvelope:a})}return{name:t,onlineResources:a,coverages:l,gridCoverages:M(l),supportedVersions:["1.0.0"],version:"1.0.0"}}(n)}return r.version=s,r}var X=n(39829),$=n(87186),O=n(77301);function _(e){e.variables.forEach((e=>e.dimensions.forEach((e=>e.values??=(0,O.Xg)(e)))))}function k(e){return{requestResponseCRSs:(0,L.Dy)(e,"requestResponseCRSs").map((e=>e.split(":")[1])),nativeCRSs:(0,L.Dy)(e,"nativeCRSs").map((e=>e.split(":")[1]))}}function F(e,t){const n=(0,L.Dy)(e,"1.0.0"===t?"interpolationMethod":"InterpolationMethod"),i="1.0.0"===t?e.getAttribute("default"):(0,L.mX)(e,"InterpolationMethods/Default");return null!=i?[i].concat(n.filter((e=>e.toLowerCase()!==i.toLowerCase()))):n}function G(e){return null==e?["nearest"]:e.map((e=>{const t=e.toLowerCase();return t.includes("nearest")?"nearest":t.includes("linear")?"bilinear":t.includes("cubic")?"cubic":null})).filter((e=>!!e))}function B(e){const t=(0,L.IC)(e,"pos"),n=(0,L.pN)(t[0]),i=(0,L.pN)(t[1]);return new D.A({xmin:n[0],ymin:n[1],xmax:i[0],ymax:i[1],spatialReference:{wkid:4326}})}function j(e,t){const n=(0,L.Dy)(e,t);return n?.length&&""!==n[0]&&!isNaN(Number(n[0]))?n.map((e=>Number(e))):null}function W(e){const t=(0,L.pN)(e,"MinimumValue"),n=(0,L.pN)(e,"MaximumValue");return t.length&&n.length?t.map(((e,t)=>({min:e,max:n[t],avg:-1,stddev:-1}))):null}function q(e){return null==e?null:e.every((t=>t===e[0]))?e[0]:e}function Z(e){const t=[],n=(0,L.IC)(e,"RangeSet");let i=[];for(let e=0;e<n.length;e++){const s=(0,L.mX)(n[e],"name"),o=(0,L.mX)(n[e],"label"),a=[],r=j(n[e],"nullValues/singleValue"),l=(0,L.IC)(n[e],"AxisDescription");for(let e=0;e<l.length;e++){const t=(0,L.mX)(l[e],"name"),n=(0,L.mX)(l[e],"label"),s=(0,L.Dy)(l[e],"singleValue");if(0===s.length){const t=(0,L.mX)(l[e],"min"),n=(0,L.mX)(l[e],"max"),i=Number((0,L.mX)(l[e],"res"))||1;if(null!==t&&null!==n)for(let e=parseInt(t,10);e<=parseInt(n,10);e+=i)s.push(e.toString())}"band"===t.toLowerCase()&&(i=s),a.push({name:t,label:n,values:s})}t.push({name:s,label:o,nullValues:r,axis:a})}return{rangeSet:t,bandNames:i}}function U(e=null){if(!e)return{resolution:null,units:null};let t=e.toUpperCase();const n=["Years","Months","Days","Hours","Minutes","Seconds"];let i,s,o;return t.includes("PT")?(t=t.slice(2),o=["H","M","S"].findIndex((e=>t.includes(e))),i=n[3+o],s=parseFloat(t.slice(0,-1))):(t=t.slice(1),o=["Y","M","D"].findIndex((e=>t.includes(e))),o>-1&&(i=n[o]),s=parseFloat(t.slice(0,-1))),{resolution:s,units:i}}function z(e){const t=(0,L.IC)(e,"timeposition");if(t.length>0){const e=[];for(let n=0;n<t.length;n++)e.push(new Date((0,L.mX)(t[n])));return{begin:e[0],end:e[e.length-1],values:e}}const n=(0,L.V6)(e,"timePeriod")||(0,L.V6)(e,"TimePeriod");return n?{begin:new Date((0,L.mX)(n,"beginPosition")||(0,L.mX)(n,"BeginPosition")),end:new Date((0,L.mX)(n,"endPosition")||(0,L.mX)(n,"EndPosition")),...U((0,L.mX)(n,"timeResolution")||(0,L.mX)(n,"TimeResolution"))}:null}function H(e){const t=(0,L.V6)(e,"spatialDomain"),n=(0,L.V6)(t,"Envelope")||(0,L.V6)(t,"EnvelopeWithTimePeriod"),i=n.getAttribute("srsName").split(":"),s=i[i.length-1],o=(0,L.IC)(n,"pos"),a=(0,L.pN)(o[0]),r=(0,L.pN)(o[1]),l=parseInt(s,10),c=isNaN(l)?null:{wkid:l},u=new D.A({xmin:a[0],ymin:a[1],xmax:r[0],ymax:r[1],spatialReference:c}),p=(0,L.V6)(t,"RectifiedGrid"),d=(0,L.mX)(p,"low").split(" "),m=(0,L.mX)(p,"high").split(" "),f=parseInt(m[0],10)-parseInt(d[0],10)+1,g=parseInt(m[1],10)-parseInt(d[1],10)+1,h=(0,L.pN)(t,"origin/pos"),v=(0,L.IC)(t,"offsetVector"),y={envelope:u,columns:f,rows:g,offset:{x:parseFloat((0,L.mX)(v[0]).split(" ")[0]),y:parseFloat((0,L.mX)(v[1]).split(" ")[1])},origin:{x:h[0],y:h[1]}},b=(0,L.V6)(e,"temporalDomain")||(0,L.V6)(e,"TemporalDomain");return{spatialDomain:y,temporalDomain:b?z(b):null}}function Y(e){if(!e.temporalDomain)return null;const{begin:t,end:n,values:i,units:s,resolution:o}=e.temporalDomain,a={variables:[{name:"default",description:"",dimensions:[{name:"StdTime",description:"",unit:"ISO8601",values:i?.map((e=>e.getTime())),hasRegularIntervals:!i,interval:o,intervalUnit:s,extent:[t.getTime(),n.getTime()]}]}]};return _(a),a}function Q(e,t){const n=[],i=(0,L.IC)(e,"Field");let s,o=[];for(let e=0;e<i.length;e++){const a=(0,L.mX)(i[e],"Identifier"),r=(0,L.mX)(i[e],"Description"),l=(0,L.mX)(i[e],"Definition"),c=(0,L.mX)(i[e],"Abstract"),u=(0,L.mX)(i[e],"Title"),p=j(i[e],"NullValue"),d=(0,L.V6)(i[e],"AllowedValues"),m=d?W(d):null,f=F(i[e],"1.1.0"),g=[],h=(0,L.IC)(i[e],"Axis");for(let e=0;e<h.length;e++){const n=h[e].getAttribute("identifier"),i=(0,L.mX)(h[e],"UOM"),a=(0,L.mX)(h[e],"DataType"),r=(0,L.Dy)(h[e],"Key");t&&!n.toLowerCase().includes("band")||(o=r,s=p),g.push({identifier:n,uom:i,dataType:a,values:r,bandNoDataValues:s})}n.push({identifier:a,description:r,definition:l,abstract:c,title:u,supportedInterpolations:f,axis:g,nullValues:p,statistics:m})}return{rangeSet:n,bandNames:o,bandNoDataValues:s,statistics:n[0].statistics}}function J(e,t){if(!t.temporalDomain)return null;const n=e.filter((e=>!e.identifier.toLowerCase().includes("field_1")&&!e.axis.some((e=>e.identifier.includes("band"))))),i=[];if(n.length&&n.forEach((e=>{const t=e.axis.map((e=>{const t=e.values.map((t=>"ISO8601"===e.uom?(t=t.trim()).toLowerCase().includes("z")?new Date(t).getTime():new Date(t+"Z").getTime():parseFloat(t.trim()))),n=[Math.min.apply(null,t),Math.max.apply(null,t)];return{name:e.identifier.trim(),description:"",field:e.identifier.trim(),unit:e.uom?e.uom.trim():"",hasRegularIntervals:!1,values:t,extent:n}}));i.push({name:e.identifier.trim(),description:e.description?.trim()??"",unit:"",dimensions:t,statistics:e.statistics})})),t.temporalDomain){const{begin:e,end:n,values:s,units:o,resolution:a}=t.temporalDomain;i.some((e=>e.dimensions.some((e=>"stdtime"===e.name.toLowerCase()))))||i.forEach((t=>{t.dimensions.push({name:"StdTime",description:"",unit:"ISO8601",values:s?.map((e=>e.getTime())),hasRegularIntervals:!s,interval:a,intervalUnit:o,extent:[e.getTime(),n.getTime()]})}))}if(i.length){const e={variables:i};return _(e),e}return null}function K(e){const t=(0,L.V6)(e,"SpatialDomain"),n=(0,L.V6)(t,"GridCRS"),i=(0,L.mX)(n,"GridBaseCRS"),s=(0,L.mX)(n,"GridOrigin"),o=s?.split(" ").map((e=>parseFloat(e)))??[0,0],a=(0,L.pN)(n,"GridOffsets"),r=(0,L.IC)(t,"BoundingBox");let l,c,u,p;for(let e=0;e<r.length;e++){const t=r[e].getAttribute("crs")?.toLowerCase();if(null!=t)if(t.includes("imagecrs")){const t=(0,L.pN)(r[e],"LowerCorner"),n=(0,L.pN)(r[e],"UpperCorner");l=n[0]-t[0]+1,c=n[1]-t[1]+1}else if(t.indexOf("epsg")>0){const n=t.split(":");u=parseInt(n[n.length-1],10);const i=(0,L.pN)(r[e],"LowerCorner"),s=(0,L.pN)(r[e],"UpperCorner");p=new D.A({xmin:i[0],ymin:i[1],xmax:s[0],ymax:s[1],spatialReference:{wkid:u}})}}const d=l>c,m=p.xmax-p.xmin>p.ymax-p.ymin;let f=!1;(0,A.m)(u)&&(d===m?f=!1:(f=!0,p=new D.A({xmin:p.ymin,ymin:p.xmin,xmax:p.ymax,ymax:p.xmax,spatialReference:{wkid:u}})));const g={columns:l,rows:c,origin:{x:o[0],y:o[1]},offset:{x:a[0],y:a[a.length-1]},gridBaseCRS:i,envelope:p,useEPSGAxis:f},h=(0,L.V6)(e,"temporalDomain")||(0,L.V6)(e,"TemporalDomain");return{spatialDomain:g,temporalDomain:h?z(h):null}}function ee(e){const t=(0,L.V6)(e,"Envelope")||(0,L.V6)(e,"EnvelopeWithTimePeriod"),n=t.getAttribute("srsName"),i=n.slice(n.lastIndexOf("/")+1),s=t.getAttribute("axisLabels").split(" ").map((e=>e.trim())).filter((e=>""!==e.trim())),o=(0,L.pN)(t,"lowerCorner"),a=(0,L.pN)(t,"upperCorner"),r=!["y","lat","latitude","north","nor","n","b"].includes(s[0].toLowerCase());let l;const c=parseInt(i,10),u=isNaN(c)?null:{wkid:c};l=new D.A(r?{xmin:o[0],ymin:o[1],xmax:a[0],ymax:a[1],spatialReference:u}:{xmin:o[1],ymin:o[0],xmax:a[1],ymax:a[0],spatialReference:u});const p={mins:o,maxs:a},d=t.getAttribute("uomLabels").trim().split(" ");let m,f;if((0,L.g7)(t,"EnvelopeWithTimePeriod")){m=new Date((0,L.mX)(e,"beginPosition")||(0,L.mX)(e,"BeginPosition")),f=new Date((0,L.mX)(e,"endPosition")||(0,L.mX)(e,"EndPosition"));const t=d?.findIndex((e=>"oledatetime"===e?.toLowerCase()));t>-1&&(d[t]="ISO8601")}return{envelope:l,axisLabels:s,uomLabels:d.length?d:null,envelopeAllDims:p,beginPosition:m,endPosition:f,isEastFirst:r}}function te(e,t){const n=[],i=(0,L.IC)(e,"DataRecord"),s=[];let o,a=[];for(let e=0;e<i.length;e++){const r=(0,L.IC)(i[e],"field"),l=[];for(let e=0;e<r.length;e++){const n=r[e].getAttribute("name"),i=(0,L.mX)(r[e],"description")||"",c=(0,L.V6)(r[e],"uom")?.getAttribute("code")||"",u=(0,L.pN)(r[e],"interval"),p=j(r[e],"nilValue")?.[0];t&&!n.toLowerCase().includes("band")||(s.push(n),u?.length&&(o=o||[],o.push({min:u[0],max:u[1],avg:-1,stddev:-1})),a.push(p)),l.push({name:n,description:i,uom:c,allowedValues:u,nilValue:p})}n.push(l)}return a.some((e=>null!=e))||(a=null),{rangeType:n,bandNames:s,bandStats:o,bandNoDataValues:a}}function ne(e){let t=1,n="";const i=.01;return Math.abs(e-1/24)<1/24*i?n="Hours":Math.abs(e-1)<1*i?n="Days":e<1?(t=Math.round(24*e),n="Hours"):e>28-i&&e<31+i||Math.round(e/30)<12?n="Months":e>365-i&&e<366+i&&(n="Years"),{interval:t,intervalUnit:n}}function ie(e,t,n){if(n.axisLabels.length<=2)return null;const i=[];for(let t=0;t<e.length;t++){const n=e[t];for(let e=0;e<n.length;e++)n[e].name.toLowerCase().includes("band")||i.push(n[e])}const s=[];if(i.length){const e=[];for(let i=2;i<n.axisLabels.length;i++){const s=t.uomLabels?.[i]?.trim()??"",o=n.axisLabels[i].toLowerCase().includes("time")||"iso8601"===s.toLowerCase()||"oledatetime"===s.toLowerCase();let a,r;if(o){const e=ne(n.offset[i]);a=e.interval,r=e.intervalUnit}else a=n.offset[i],r=s;const l=[];o?(l.push(ae(t.envelopeAllDims.mins[i])),l.push(ae(t.envelopeAllDims.maxs[i]))):(l.push(t.envelopeAllDims.mins[i]),l.push(t.envelopeAllDims.maxs[i])),e.push({name:n.axisLabels[i].trim(),description:n.axisLabels[i].trim(),unit:o?"ISO8601":s,hasRegularIntervals:!0,extent:l,interval:a,intervalUnit:r})}if(i.forEach((t=>{const{allowedValues:n}=t,i=2===n?.length?[{min:n[0],max:n[1],avg:-1,stddev:-1}]:null;s.push({name:t.name.trim(),description:t.description?.trim()??"",unit:t.uom.trim(),statistics:i,dimensions:[...e]})})),s.length){const e={variables:s};return _(e),e}}return null}function se(e,t){const n=(0,L.V6)(e,"RectifiedGrid"),i=(0,L.pN)(n,"low"),s=(0,L.pN)(n,"high"),o=[];for(let e=0;e<i.length;e++)o.push(s[e]-i[e]+1);const a=(0,L.mX)(n,"axisLabels").split(" "),r=(0,L.pN)(n,"origin/pos"),l=(0,L.IC)(n,"offsetVector"),c=[];for(let e=0;e<l.length;e++){const t=(0,L.pN)(l[e]),n=t.findIndex((e=>0!==e));c[n]=t[n]}let u,p,d,m=!1;return t?.length&&a?.length&&(m=[...t].sort(((e,t)=>e<t?-1:1)).join(",")===[...a].sort(((e,t)=>e<t?-1:1)).join(",")),["y","lat","latitude","north","nor","n","b"].includes((m?a:t)[0].toLowerCase())?(u=o[1],p=o[0],d={y:Math.abs(c[0]),x:Math.abs(c[1])}):(u=o[0],p=o[1],d={x:Math.abs(c[0]),y:Math.abs(c[1])}),{columns:u,rows:p,origin:r,offset:c,resolution:d,gridSamples:o,axisLabels:a,hasSameAxisLabelsAsBoundedBy:m}}function oe(e){const t=(0,L.V6)(e,"EarthObservation");if(!t)return null;const n=(0,L.V6)(t,"phenomenonTime"),i=n?z(n):null,s=(0,L.V6)(t,"phenomenonTime"),o=s?z(s):null,a=(0,L.mX)(t,"featureOfInterest/Footprint/multiExtentOf/MultiSurface/surfaceMembers/Polygon/exterior/LinearRing/posList");let r=null;if(a){const e=a.split(" ").map((e=>e.trim())).filter((e=>null!=e&&""!==e)).map(Number);if(e.length){const t=[];for(let n=0;n<e.length/2;n+=2)t.push(e[n],e[n+1]);r=new X.A({rings:[[t]]})}}return{observation:{phenomenonTime:i,resultTime:o,footprint:r,identifier:(0,L.mX)(e,"metaDataProperty/EarthObservationMetaData/identifier"),acquisitionType:(0,L.mX)(e,"metaDataProperty/EarthObservationMetaData/acquisitionType"),status:(0,L.mX)(e,"metaDataProperty/EarthObservationMetaData/status")}}}function ae(e){return Math.round(24*(e-25569)*3600*1e3)}async function re(e,t){const{coverageIds:n,version:i,customParameters:s,signal:o}=t,r=i.slice(0,3),c="1.0"===r?"coverage":"1.1"===r?"identifiers":"coverageId",u={service:"WCS",request:"DescribeCoverage",version:i,[c]:n.join(","),...s};try{const{data:t}=await(0,T.A)(e,{query:u,responseType:"xml",signal:o});return function(e,t){let n=null;if(n="string"==typeof e?(new DOMParser).parseFromString(e,"text/xml"):e,"1.0.0"===t)return(0,L.IC)(n,"CoverageOffering").map((e=>function(e){const t={version:"1.0"};let n,i=[];for(let s=0;s<e.childNodes.length;s++){const o=e.childNodes[s];if(1===o.nodeType)if((0,L.g7)(o,"description"))t.description=(0,L.mX)(o);else if((0,L.g7)(o,"name"))t.name=(0,L.mX)(o);else if((0,L.g7)(o,"label"))t.label=(0,L.mX)(o);else if((0,L.g7)(o,"supportedFormats"))t.supportedFormats=(0,L.Dy)(o,"formats");else if((0,L.g7)(o,"supportedCRSs"))t.supportedCRSs=k(o);else if((0,L.g7)(o,"supportedInterpolations"))t.supportedInterpolations=F(o,"1.0.0");else if((0,L.g7)(o,"lonLatEnvelope"))t.lonLatEnvelope=B(o);else if((0,L.g7)(o,"rangeSet")){const e=Z(o);t.rangeSet=e.rangeSet,i=e.bandNames;const s=e.rangeSet[0].nullValues;s?.length&&(n=q(s))}else(0,L.g7)(o,"domainSet")&&(t.domainSet=H(o))}const s=G(t.supportedInterpolations),{name:o,description:a,label:r,lonLatEnvelope:l,supportedFormats:c}=t,{spatialDomain:u}=t.domainSet,p={x:Math.abs(u.offset.x),y:Math.abs(u.offset.y)},d=Y(t.domainSet),m=new $.A({width:u.columns,height:u.rows,pixelSize:p,pixelType:"unknown",extent:u.envelope,spatialReference:u.envelope.spatialReference,bandCount:i.length||1,noDataValue:n,multidimensionalInfo:d});return{id:o,title:t.name,description:a||r,lonLatEnvelope:l,rasterInfo:m,bandNames:i,supportedFormats:c,supportedInterpolations:s,coverageDescription:t,version:"1.0.0",useEPSGAxis:!1}}(e)));const i=(0,L.IC)(n,"CoverageDescription");return"1.1.0"===t||"1.1.1"===t||"1.1.2"===t?i.map((e=>function(e,t){const n=[],i=[],s={supportedFormats:n,supportedCRSs:i,version:"1.1"};let o,a,r=[];for(let t=0;t<e.childNodes.length;t++){const l=e.childNodes[t];if(1!==l.nodeType)continue;const c=(0,L.vv)(l).toLowerCase();switch(c){case"title":case"abstract":case"identifier":s[c]=(0,L.mX)(l);break;case"supportedformat":{const e=(0,L.mX)(l);n.includes(e)||n.push(e)}break;case"supportedcrs":{const e=(0,L.mX)(l);i.includes(e)||i.push(e)}break;case"range":{const e=Q(l,!!s.domain?.temporalDomain);s.range=e.rangeSet,r=e.bandNames;const{bandNoDataValues:t}=e;t?.length&&(o=q(t)),a=e.statistics}break;case"domain":s.domain=K(l)}}const l=G(s.range[0].supportedInterpolations),{identifier:c,abstract:u,title:p,domain:d,range:m}=s,f={x:Math.abs(d.spatialDomain.offset.x),y:Math.abs(d.spatialDomain.offset.y)},g=J(m,d);g&&(o=m[0].nullValues,1===o?.length&&(o=o[0]));const h=new $.A({width:d.spatialDomain.columns,height:d.spatialDomain.rows,pixelSize:f,pixelType:"unknown",extent:d.spatialDomain.envelope,spatialReference:d.spatialDomain.envelope.spatialReference,bandCount:r.length||1,noDataValue:o,statistics:a,multidimensionalInfo:g});return{id:c,title:s.title,description:u||p,bandNames:r,rasterInfo:h,supportedFormats:n,supportedInterpolations:l,coverageDescription:s,version:t,useEPSGAxis:d.spatialDomain.useEPSGAxis}}(e,t))):i.map((e=>function(e){const t={version:"2.0"};let n,i,s=[];for(let o=0;o<e.childNodes.length;o++){const a=e.childNodes[o];if(1===a.nodeType)if((0,L.g7)(a,"coverageId"))t.coverageId=(0,L.mX)(a);else if((0,L.g7)(a,"ServiceParameters"))t.serviceParameters={supportedFormats:(0,L.Dy)(a,"nativeFormat")};else if((0,L.g7)(a,"boundedBy"))t.boundedBy=ee(a);else if((0,L.g7)(a,"rangeType")){const e=te(a,t.boundedBy?.axisLabels.length>2||t.domainSet?.axisLabels.length>2);t.rangeType=e.rangeType,s=e.bandNames,n=e.bandStats;const{bandNoDataValues:o}=e;o?.length&&(i=q(o))}else if((0,L.g7)(a,"domainSet"))t.domainSet=se(a,t.boundedBy?.axisLabels);else if((0,L.g7)(a,"metadata")){const e=(0,L.V6)(a,"EOMetadata");t.eoMetadata=e?oe(e):null}}const{coverageId:o,boundedBy:a,domainSet:r,rangeType:l,serviceParameters:c}=t,u=ie(l,a,r);return!n&&u&&(n=u?.variables[0].statistics),null!=u&&(i=l[0][0].nilValue),{id:o,title:o,description:o,bandNames:s,rasterInfo:new $.A({width:r.columns,height:r.rows,pixelSize:r.resolution,pixelType:"unknown",extent:a.envelope,spatialReference:a.envelope.spatialReference,bandCount:s.length||1,statistics:n,noDataValue:i,multidimensionalInfo:u}),supportedFormats:c.supportedFormats,coverageDescription:t,version:"2.0.1",useEPSGAxis:!1}}(e)))}(t,i)}catch(e){if(!(0,l.zf)(e))throw new a.A("wcslayer:open","wcs coverage description is not valid or supported");throw e}}var le=n(45617),ce=n(4916);function ue(e){const t=function(e){const t=e.getHeader?.("Content-Type")?.split(";");if(!t)return null;if(!(t[0].trim()??"").startsWith("multipart/"))return null;const n={boundary:"",start:"",type:""};for(let e=1;e<t.length;e++){const i=t[e].indexOf("=");if(i>0){const s=t[e].slice(0,i).trim(),o=t[e].slice(i+1).trim();n[s]=o.startsWith('"')?o.slice(1,-1):o}}return n}(e);return t?{isMultipart:!0,data:t.boundary?pe(e.data,t,0):null}:{isMultipart:!1,data:null}}function pe(e,t,n=0){const i="--"+t.boundary,s=[];for(let e=0;e<i.length;e++)s.push(i.charCodeAt(e));const o=[],a="\n--"+t.boundary+"--";for(let e=0;e<a.length;e++)o.push(a.charCodeAt(e));const r=[10],l=[13,10],c=[],u=s.length,p=new Uint8Array(e,n),d=Math.min(5e4,p.length-u);let m=0,f=0;for(let e=0;e<d;e++){for(f=0;f<u&&p[e+f]===s[f];f++);f===u&&(m&&c.push(de(p.subarray(m,e),t)),e+=u-1,p[e+1]===r[0]?e+=1:p[e+1]===l[0]&&p[e+2]===l[1]&&(e+=2),m=e+1)}const g=o.length;for(let e=p.length-g-10;e<p.length-g;e++){for(f=0;f<g&&p[e+f]===o[f];f++);if(f===g){c.push(de(p.subarray(m,e),t));break}}return c}function de(e,t){const n=String.fromCharCode.apply(null,e.subarray(0,Math.min(300,e.length))).split("\n"),i=Math.min(n.length,7),s={contentDisposition:"inline"};let o=0;for(let a=0;a<i;a++)if(n[a].length<4)o=o+n[a].length+1;else if("content"===n[a].slice(0,7).toLowerCase()){o=o+n[a].length+1;const e=n[a].indexOf(":");if(-1===e)continue;const t=n[a].slice(0,e).trim(),i=n[a].slice(e+1).trim();switch(t.toLowerCase()){case"content-type":s.contentType=i;break;case"content-description":s.contentDescription=i;break;case"content-transfer-encoding":s.contentTransferEncoding=i;break;case"content-id":s.contentID=i;break;case"content-disposition":s.contentDisposition=i;break;case"content-location":s.contentLocation=i}}else{if(s.contentDisposition.toLowerCase().includes("inline")&&n[a].length>=4&&s.contentType?.toLowerCase().indexOf("image")>-1){let t=!0,n=e.subarray(o,e.length);if(s.contentType.toLowerCase().indexOf("tif")>0){if("base64"===s.contentTransferEncoding){let e="";const t=n;for(let n=0;n<t.length;n+=65535){const i=t.subarray(n,n+65535>t.length-1?t.length-1:n+65535);e+=String.fromCharCode.apply(null,i)}const i=atob(e);n=new Uint8Array(i.length);for(let e=0;e<n.length;e++)n[e]=i.charCodeAt(e)}t=73===n[0]&&73===n[1]||77===n[0]&&77===n[1]}if(t){let t=n.buffer;"base64"!==s.contentTransferEncoding&&(t=new ArrayBuffer(e.length-o),n=new Uint8Array(t),n.set(e.subarray(o,e.length))),s.contentData=t}break}if((""===t.start||s.contentID===t.start)&&s.contentType){if(s.contentType.includes("text")||s.contentType.includes("xml")){s.contentData=String.fromCharCode.apply(null,e.subarray(o,e.length));break}s.contentData=e.subarray(o,e.length)}}return s}var me=n(51244),fe=n(28435);const ge=["nearest neighbor","bilinear","bicubic"],he=["nearest","linear","cubic"],ve="response is not a supported multipart/related mediaType with inline tiff, switching to compatibility mode",ye=new Set(["1.0.0","1.1.0","1.1.1","1.1.2","2.0.1"]);let be=class extends ce.A{constructor(){super(...arguments),this.datasetFormat="WCSServer",this.tileType="Raster"}async fetchRawTile(e,t,n,i={}){if(this.isBlockOutside(e,t,n))return null;const{nativePixelSize:s,spatialReference:o}=this.rasterInfo,r=2**e,l=s.x*r,c=s.y*r,{blockWidth:u,blockHeight:p}=this.getBlockWidthHeight(e),{origin:d}=this.rasterInfo.storageInfo.tileInfo,m=this.getTileExtent({x:l,y:c},t,n,d,o,[u,p]),f=this.rasterInfo.extent,g=m.xmax>f.xmax,h=m.ymin<f.ymin,v=g||h;let y=m,b=u,w=p;if(v&&(y=m.clone().intersection(f),null!=y&&(g&&(b=Math.floor((y.xmax-y.xmin)/l),y.xmax=y.xmin+l*b),h&&(w=Math.floor((y.ymax-y.ymin)/c),y.ymin=y.ymax-c*w))),null==y||b<=1||w<=1)return null;const x=await this._getCoverage(y,b,w,r,i);if(!x)return null;const{coverageDescription:C}=this.coverageInfo,{noDataValue:I,multidimensionalInfo:S}=this.rasterInfo,{multidimensionalDefinition:D}=i;let A;if(null!=S&&null!=D&&D.length){const e=D[0].variableName;if("2.0"===C.version){const t=C.rangeType[0].find((t=>t.name===e));A=t?.nilValue}else if("1.1"===C.version){const t=C.range.find((t=>t.identifier===e));A=t?.nullValues}}const T=A??I,L=await this.decodePixelBlock(x,{width:b,height:w,planes:null,pixelType:null,tiffNoDataValue:Array.isArray(T)?T[0]:T});if(null==L)return null;if(L&&(L.width!==b||L.height!==w))throw new a.A("wcsraster-fetch",`the response has unexpected dimension width: ${L.width}, height: {pixelBlock.height}`);return v?(0,fe.$Q)(L,{x:0,y:0},{width:p,height:p}):L}async _open(e){const{customFetchParameters:t}=this.ioConfig,n=e?.signal,i=await async function(e,t){const{version:n,customParameters:i,signal:s}=t??{},o=n?.startsWith("1.0")?"version":"acceptVersions",r={service:"WCS",request:"GetCapabilities",[o]:n,...i};try{const{data:t}=await(0,T.A)(e,{query:r,responseType:"xml",signal:s});return E(t)}catch(e){if(!(0,l.zf)(e))throw new a.A("wcslayer:open","wcs capabilities is not valid or supported");throw e}}(this.url,{version:t?.version??this.version,customParameters:t,signal:n});if(this.capabilities=i,!this.version){let e=i.version.slice(0,3);"2.0"===e||"1.1"===e||"1.0"===e?this.version=i.version:(e=i.supportedVersions.find((e=>"2.0.1"===e))||i.supportedVersions.find((e=>"2.0"===e.slice(0,3)))||i.supportedVersions.find((e=>"1.1"===e.slice(0,3)))||i.supportedVersions.find((e=>"1.0"===e.slice(0,3)))||"1.0.0",this.version=e)}const{version:s}=this;if(!ye.has(s))throw new a.A("wcsraster-open",`unsupported WCS version ${s}`);const{gridCoverages:o}=i;if(!o.length)throw new a.A("wcsraster-open","cannot find rectified grid coverages");this.coverageId??=o[0].id;const{coverageId:r}=this,c=o.find((e=>e.id===r));if(null==c)throw new a.A("wcsraster-open",`the coverageId ${r} does not exist in capabilities`);const u=await re(this.url,{coverageIds:[r],version:s,customParameters:t,signal:n});if(this.coverageInfo=u[0],"2.0"===s.slice(0,3)){const{coverageInfo:e}=this;e.lonLatEnvelope=c.lonLatEnvelope,e.supportedInterpolations=G(i.supportedInterpolations),this._patchDimensionValues201(r,n)}this.datasetName=this.coverageInfo.title;const{rasterInfo:p}=this.coverageInfo;if(this.createRemoteDatasetStorageInfo(p,512,512),this._set("rasterInfo",p),null==p.spatialReference)throw new a.A("wcsraster-open",`coverage without spatial reference is not supported: ${r}`);const{pixelType:d,bandCount:m}=await this._getPixelTypeAndBandCount(n);p.pixelType=d,1===p.bandCount&&m>1&&(p.bandCount=m),this.updateTileInfo()}async _patchDimensionValues201(e,t){const{coverageInfo:n}=this,i=n.rasterInfo.multidimensionalInfo?.variables,s=ye.has("1.1.2")?"1.1.2":ye.has("1.1.1")?"1.1.1":ye.has("1.1.0")?"1.1.0":null,{customFetchParameters:o}=this.ioConfig;if(i&&s)try{const n=this.url.includes("/ImageServer/"),a=e.length>8&&e.startsWith("Coverage")&&n?e.slice(8):e,r=await re(this.url,{coverageIds:[a??e],version:s,customParameters:o,signal:t}).catch((()=>{if(a)return re(this.url,{coverageIds:[e],version:s,customParameters:o,signal:t})})),l=r?.[0].rasterInfo.multidimensionalInfo?.variables;if(l)for(const e of i){const t=l.find((({name:t})=>t===e.name));if(t?.dimensions?.length)for(let i=e.dimensions.length-1;i>=0;i--){const s=e.dimensions[i],o=t.dimensions.find((({name:e})=>e===s.name));o?o.values&&o.extent?.join(",")===s.extent?.join(",")&&(e.dimensions[i]={...s,values:o.values}):n&&e.dimensions.splice(i,1)}}}catch{}}async _getPixelTypeAndBandCount(e){const{pixelSize:t,extent:n,multidimensionalInfo:i}=this.rasterInfo,s=n.center,o=new D.A({xmin:s.x-t.x,xmax:s.x+t.x,ymin:s.y-t.y,ymax:s.y+t.y,spatialReference:n.spatialReference});let r=[];if(null!=i){const e=i.variables[0];r=[],e.dimensions.forEach((t=>{r.push(new le.A({variableName:e.name,dimensionName:t.name,values:t.hasRegularIntervals?t.extent?.[0]:t.values?.[0],isSlice:!0}))}))}const{coverageDescription:l}=this.coverageInfo,c={interpolation:"nearest",multidimensionalDefinition:r,signal:e},{version:u}=l,{ioConfig:d}=this,m="2.0"===u&&null==d.allowAnyMediaType||"1.1"===u&&null==d.use2GridOffsets;let f;try{f=await this._getCoverage(o,2,2,1,c,!0)}catch(e){if(!m)throw e;if("1.1"===u){if(!e.details?.isResolutionMismatch)throw e;d.use2GridOffsets=!0}}if(!f&&m&&("2.0"===u&&(d.allowAnyMediaType=!0),f=await this._getCoverage(o,2,2,1,c),f&&p.A.getLogger(this).warn("wcsraster:getcoverage",ve)),!f)throw new a.A("wcsraster-open","unable to determine pixel type");const g=await this.decodePixelBlock(f,{width:2,height:2,planes:null,pixelType:null});if(null==g)throw new a.A("wcsraster-open","unable to determine pixel type");return{pixelType:g.pixelType,bandCount:g.getPlaneCount()??0}}async _getCoverage(e,t,n,i,s,o=!1){const{coverageDescription:r}=this.coverageInfo,{version:l}=r,c="2.0"===l?this._getCoverage201Parameters(e,t,n,i,s,r):"1.1"===l?this._getCoverage110Parameters(e,t,n,s,r):this._getCoverage100Parameters(e,t,n,s),u="2.0"===l?await this.request(this._constructWCS201Url(c),{signal:s.signal,responseType:"array-buffer"}):await this.request(this.url,{query:c,signal:s.signal,responseType:"array-buffer"});if("1.0"===l)return u.data;if("2.0"===l&&!1!==this.ioConfig.allowAnyMediaType&&"tiff"===(0,me.g)(u.data))return o&&(this.ioConfig.allowAnyMediaType=!0,p.A.getLogger(this).warn("wcsraster:getcoverage",ve)),u.data;const d=ue(u);if(d.isMultipart&&d.data){const e=d.data.find((e=>e.contentType?.toLowerCase().includes("image")&&null!=e.contentData));return o&&"base64"===e?.contentTransferEncoding&&p.A.getLogger(this).warn("wcsraster:getcoverage","response is base64 encoded which may impact layer display performance"),e?.contentData}const m=new Uint8Array(u.data,0,Math.min(u.data.byteLength,2e3)),f=String.fromCharCode.apply(null,m).toLowerCase().includes("exception"),g=f&&String.fromCharCode.apply(null,m).includes("A non-zero RESX/RESY or WIDTH/HEIGHT is required but neither was provided");if(f)throw new a.A("wcsraster:getcoverage","server returns an exception",{isResolutionMismatch:g});throw new a.A("wcsraster:getcoverage","response is not a supported multipart mediaType with inline tiff")}_getInterpolationIndex(e){return e&&this.coverageInfo.supportedInterpolations?.includes(e)?"nearest"===e?0:"bilinear"===e?1:"cubic"===e?2:0:0}_getCoverage100Parameters(e,t,n,i){const s=`${e.xmin},${e.ymin},${e.xmax},${e.ymax}`,o=e.spatialReference.wkid,a=(this.coverageInfo.supportedFormats||[]).find((e=>e.toLowerCase().includes("tiff")))||"GEOTIFF",{bandIds:r,interpolation:l}=i,c=this._getInterpolationIndex(l),u=r?r.map((e=>this.coverageInfo.bandNames[e])):null,p=ge[c],{multidimensionalDefinition:d}=i;let m;if(null!=d&&null!=this.rasterInfo.multidimensionalInfo){const e=d.find((e=>"StdTime"===e.dimensionName));let t=e?.values;t&&t.length>0&&(Array.isArray(t[0])&&(t=t[0]),m=t.map((e=>we(e))).join(","))}return{service:"WCS",request:"GetCoverage",version:this.version,coverage:this.coverageId,format:a,crs:`EPSG:${o}`,bbox:s,width:t,height:n,time:m,interpolation:p,band:u?.join(",")}}_getCoverage110Parameters(e,t,n,i,s){const{multidimensionalDefinition:o,bandIds:a,interpolation:r}=i,l=e.spatialReference.wkid,c=`urn:ogc:def:crs:EPSG::${l}`,u=(this.coverageInfo.supportedFormats||[]).find((e=>e.toLowerCase().includes("tiff")))||"image/tiff",p=this._getInterpolationIndex(r),d=he[p],m=null==r||0===this.coverageInfo.supportedInterpolations?.indexOf(r),f=s.domain.spatialDomain,g=f.origin.x<=f.envelope.xmin&&f.origin.y<=f.envelope.ymin,h=e.width/t,v=e.height/n*(g?1:-1),y=g?[e.xmin,e.ymin]:[e.xmin,e.ymax],b=f.useEPSGAxis&&(0,A.m)(l),w=b?`${y[1]},${y[0]}`:`${y[0]},${y[1]}`,x=this.ioConfig.use2GridOffsets,C=b?x?`${v},${h}`:`${v},0,0,${h}`:x?`${h},${v}`:`${h},0,0,${v}`,I=h/2,S=e.xmin+I,D=e.xmax-I,T=Math.abs(v)/2,L=e.ymin+T,V=e.ymax-T,M=b?`${L},${S},${V},${D},${c}`:`${S},${L},${D},${V},${c}`,N=s.range.find((e=>e.axis.some((e=>e.identifier.toLowerCase().includes("band")))));let R,P=N&&d&&a?m?`${N.identifier}[${N.axis[0].identifier}[${a.join(",")}]]`:`${N.identifier}:${d}[${N.axis[0].identifier}[${a.join(",")}]]`:null;if(null!=o&&o.length)for(let e=0;e<o.length;e++){let t=o[e].values;const n=o[e].dimensionName?.toLowerCase(),i=o[e].variableName?.toLowerCase(),a=s.range.find((e=>e.identifier.toLowerCase()===i));if(t.length>0)if(Array.isArray(t[0])&&(t=t[0]),"stdtime"===n)R=t.map((e=>we(e))).join(",");else if(a){const e=a.axis.find((e=>e.identifier.toLowerCase()===n));e&&(P=m?a.identifier+"["+e.identifier+"["+t.join(",")+"]]":a.identifier+":"+d+"["+e.identifier+"["+t.join(",")+"]]")}e===o.length-1&&a&&!P&&(P=m?a.identifier:a.identifier+":"+d)}return{service:"WCS",request:"GetCoverage",version:this.version,identifier:this.coverageId,format:u,crs:`EPSG:${l}`,boundingbox:M,gridCS:"urn:ogc:def:cs:OGC:0.0:Grid2dSquareCS",gridType:"urn:ogc:def:method:WCS:1.1:2dGridIn2dCrs",gridOrigin:w,gridOffsets:C,gridBaseCRS:c,timeSequence:R,rangeSubset:P}}_getCoverage201Parameters(e,t,n,i,s,o){const{multidimensionalDefinition:a,interpolation:r}=s,l=this._getInterpolationIndex(r);let c=null;const{supportedInterpolations:u}=this.capabilities;if(u?.length)switch(l){case 0:c=u.find((e=>e.toLowerCase().includes("nearest")));break;case 1:c=u.find((e=>e.toLowerCase().includes("linear")));break;case 2:c=u.find((e=>e.toLowerCase().includes("cubic")||e.toLowerCase().includes("quadratic")))}const p=(this.coverageInfo.supportedFormats||[]).find((e=>e.toLowerCase().includes("tiff")))||"image/tiff",{bandNames:d}=this.coverageInfo,{boundedBy:m,domainSet:f,rangeType:g}=o,h=m.isEastFirst?0:1,v=1-h,{axisLabels:y}=m,b=y[h],w=y[v],x=`http://www.opengis.net/def/crs/EPSG/0/${e.spatialReference.wkid}`,C=x,I=[];I.push(`${b}(${e.xmin},${e.xmax})`),I.push(`${w}(${e.ymin},${e.ymax})`);const S=[];if(y.length>2)for(let e=2;e<y.length;e++){const t=f.origin[e];if(y[e].toLowerCase().includes("time")){let n=t.toString();m.uomLabels?.[e].toLowerCase().includes("ole")&&(S.push(y[e]),n=we(t,!0)),I.push(y[e]+",http://www.opengis.net("+n+")")}else I.push(y[e]+",http://www.opengis.net("+t+")")}let D=null;if(null!=a&&a.length){const e=[];g.forEach((t=>t.forEach((t=>e.push(t.name)))));const t=[];for(let n=0;n<a.length;n++){const i=y.find((e=>e===a[n].dimensionName)),s=e.find((e=>e===a[n].variableName));if(t.includes(s)||t.push(s),i){let e=a[n].values;if(e.length>0){Array.isArray(e[0])&&(e=e[0]);let t="";t=i.toLowerCase().includes("time")?e.map((e=>we(e))).join(","):e.join(",");const n=I.findIndex((e=>0===e.indexOf(i+",http://www.opengis.net")));-1===n&&I.push(i+",http://www.opengis.net("+t+")"),-1===n||I[n].includes("("+t+")")||I.splice(n,1,i+",http://www.opengis.net("+t+")")}}}t.length&&(D=t.join(","))}else d?.length>=2&&(D=(s.bandIds?s.bandIds.map((e=>d[e])):d).join(","));const A=I.join("&subset="),T=!o.domainSet.hasSameAxisLabelsAsBoundedBy&&!1!==this.ioConfig.allowScaleFactor,L=T?null:`${b}(${t}),${w}(${n})`,V=T?1/i:null;return{service:"WCS",request:"GetCoverage",version:this.version,coverageId:this.coverageId,rangesubset:D,interpolation:c,scaleSize:L,scaleFactor:V,subset:A,format:p,mediaType:this.ioConfig.allowAnyMediaType?null:"multipart/related",outputcrs:x,subsettingcrs:C}}_constructWCS201Url(e){const t={...this.ioConfig.customFetchParameters,...e},n=[];return Object.keys(t).forEach((e=>{const i=t[e];null!=i&&("subset"===e?"string"==typeof i&&i.split("&subset=").forEach((e=>{e&&n.push(`subset=${encodeURIComponent(e)}`)})):n.push(`${e}=${encodeURIComponent(i)}`))})),`${encodeURI(this.url)}?${n.join("&")}`}};function we(e,t=!1){return(t?new Date(ae(e)):new Date(e)).toISOString()}(0,i._)([(0,u.MZ)({type:String,json:{write:!0}})],be.prototype,"datasetFormat",void 0),(0,i._)([(0,u.MZ)({readOnly:!0})],be.prototype,"tileType",void 0),(0,i._)([(0,u.MZ)({type:String,json:{write:!0}})],be.prototype,"version",void 0),(0,i._)([(0,u.MZ)({type:String,json:{write:!0}})],be.prototype,"coverageId",void 0),be=(0,i._)([(0,d.$)("esri.layers.support.rasterDatasets.WCSRaster")],be);const xe=be;var Ce=n(30291),Ie=n(92935);const Se=new Set(["milliseconds","seconds","minutes","hours","days","weeks","months","years","decades","centuries"]);let De=class extends((0,f.dM)((0,w.j)((0,v.q)((0,y.A)((0,g.d)((0,h.o)((0,x.e)((0,b.J)((0,r.P)(o.A.ClonableMixin(m.A))))))))))){constructor(...e){super(...e),this.coverageId=null,this.version=null,this.isReference=null,this.legendEnabled=!0,this.noData=0,this.operationalLayerType="WCS",this.type="wcs",this.popupEnabled=!0,this.popupTemplate=null,this.fields=null,this._debouncedSaveOperations=(0,l.sg)((async(e,t,i)=>{const{save:s,saveAs:o}=await n.e(9838).then(n.bind(n,59838));switch(e){case Ie.X.SAVE:return s(this,t);case Ie.X.SAVE_AS:return o(this,i,t)}}))}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}load(e){const t=null!=e?e.signal:null;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["WCS"]},e).catch(l.QP).then((()=>this._openRaster(t)))),Promise.resolve(this)}get coverageInfo(){return this.raster.coverageInfo}get defaultPopupTemplate(){return this.createPopupTemplate()}get rasterFields(){return[(0,S.rZ)("Pixel Value")]}createPopupTemplate(e){return(0,Ce.tn)({fields:this.rasterFields,title:this.title},e)}async save(e){return this._debouncedSaveOperations(Ie.X.SAVE,e)}async saveAs(e,t){return this._debouncedSaveOperations(Ie.X.SAVE_AS,t,e)}async _openRaster(e){const t=new xe({url:this.url,version:this.version,coverageId:this.coverageId,ioConfig:{sampling:"closest",...this.ioConfig,customFetchParameters:this.customParameters}});if(await t.open({signal:e}),!t.rasterInfo)throw t.destroy(),new a.A("wcs-layer:load","cannot load resources on "+this.url);const{rasterInfo:n}=t;null==n.noDataValue&&(n.noDataValue=this.noData),this._set("serviceRasterInfo",n),this._set("spatialReference",n.spatialReference),null==this.title&&this.setAtOrigin("title",t.datasetName,"service"),null==this.coverageId&&this.setAtOrigin("coverageId",t.coverageInfo.id,"service"),null==this.version&&t.version&&this.setAtOrigin("version",t.version,"service"),this.setAtOrigin("tileInfo",t.rasterInfo.storageInfo.tileInfo,"service");const{multidimensionalInfo:i}=n;if(null!=i){const e=i.variables[0].dimensions.find((({name:e})=>"StdTime"===e));if(e){let t=e.extent?.[0]??e.values[0];Array.isArray(t)&&(t=t[0]);let n=e.extent?.[1]??e.values[e.values.length-1];Array.isArray(n)&&(n=n[1]);const i=Se.has(e.intervalUnit?.toLowerCase())?e.intervalUnit?.toLowerCase():null;this.set("timeInfo",{startField:"StdTime",fullTimeExtent:{start:t,end:n},timeZone:null,interval:i?{value:e.interval,unit:i}:null})}}this.raster=t,this._configDefaultSettings(),this.addHandles((0,c.wB)((()=>this.customParameters),(e=>this.raster.ioConfig.customFetchParameters=e)))}};(0,i._)([(0,u.MZ)({type:String,nonNullable:!0,json:{name:"wcsInfo.coverageId",write:{isRequired:!0}}})],De.prototype,"coverageId",void 0),(0,i._)([(0,u.MZ)()],De.prototype,"coverageInfo",null),(0,i._)([(0,u.MZ)({type:["1.0.0","1.1.0","1.1.1","1.1.2","2.0.1"],nonNullable:!0,json:{name:"wcsInfo.version",write:{isRequired:!0}}})],De.prototype,"version",void 0),(0,i._)([(0,u.MZ)({type:Boolean,json:{read:!1,write:{enabled:!0,overridePolicy:()=>({enabled:!1})}}})],De.prototype,"isReference",void 0),(0,i._)([(0,u.MZ)({json:{read:!0,write:!0}})],De.prototype,"blendMode",void 0),(0,i._)([(0,u.MZ)(C.fV)],De.prototype,"legendEnabled",void 0),(0,i._)([(0,u.MZ)({type:["show","hide"]})],De.prototype,"listMode",void 0),(0,i._)([(0,u.MZ)()],De.prototype,"noData",void 0),(0,i._)([(0,u.MZ)({type:["WCS"]})],De.prototype,"operationalLayerType",void 0),(0,i._)([(0,u.MZ)()],De.prototype,"raster",void 0),(0,i._)([(0,u.MZ)({readOnly:!0})],De.prototype,"type",void 0),(0,i._)([(0,u.MZ)(C.M6)],De.prototype,"popupEnabled",void 0),(0,i._)([(0,u.MZ)({type:s.A,json:{name:"popupInfo",write:!0}})],De.prototype,"popupTemplate",void 0),(0,i._)([(0,u.MZ)({readOnly:!0})],De.prototype,"defaultPopupTemplate",null),(0,i._)([(0,u.MZ)({readOnly:!0,type:[I.A]})],De.prototype,"fields",void 0),(0,i._)([(0,u.MZ)({readOnly:!0,type:[I.A]})],De.prototype,"rasterFields",null),De=(0,i._)([(0,d.$)("esri.layers.WCSLayer")],De);const Ae=De},38458:(e,t,n)=>{n.d(t,{m:()=>s});const i=[[3819,3819],[3821,3824],[3889,3889],[3906,3906],[4001,4025],[4027,4036],[4039,4047],[4052,4055],[4074,4075],[4080,4081],[4120,4176],[4178,4185],[4188,4216],[4218,4289],[4291,4304],[4306,4319],[4322,4326],[4463,4463],[4470,4470],[4475,4475],[4483,4483],[4490,4490],[4555,4558],[4600,4646],[4657,4765],[4801,4811],[4813,4821],[4823,4824],[4901,4904],[5013,5013],[5132,5132],[5228,5229],[5233,5233],[5246,5246],[5252,5252],[5264,5264],[5324,5340],[5354,5354],[5360,5360],[5365,5365],[5370,5373],[5381,5381],[5393,5393],[5451,5451],[5464,5464],[5467,5467],[5489,5489],[5524,5524],[5527,5527],[5546,5546],[2044,2045],[2081,2083],[2085,2086],[2093,2093],[2096,2098],[2105,2132],[2169,2170],[2176,2180],[2193,2193],[2200,2200],[2206,2212],[2319,2319],[2320,2462],[2523,2549],[2551,2735],[2738,2758],[2935,2941],[2953,2953],[3006,3030],[3034,3035],[3038,3051],[3058,3059],[3068,3068],[3114,3118],[3126,3138],[3150,3151],[3300,3301],[3328,3335],[3346,3346],[3350,3352],[3366,3366],[3389,3390],[3416,3417],[3833,3841],[3844,3850],[3854,3854],[3873,3885],[3907,3910],[4026,4026],[4037,4038],[4417,4417],[4434,4434],[4491,4554],[4839,4839],[5048,5048],[5105,5130],[5253,5259],[5269,5275],[5343,5349],[5479,5482],[5518,5519],[5520,5520],[20004,20032],[20064,20092],[21413,21423],[21473,21483],[21896,21899],[22171,22177],[22181,22187],[22191,22197],[25884,25884],[27205,27232],[27391,27398],[27492,27492],[28402,28432],[28462,28492],[30161,30179],[30800,30800],[31251,31259],[31275,31279],[31281,31290],[31466,31700]];function s(e){return null!=e&&i.some((([t,n])=>e>=t&&e<=n))}}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[9547],{19547:(e,t,n)=>{n.r(t),n.d(t,{default:()=>Ae});var i=n(90237),s=n(13874),o=n(69540),a=n(49186),r=n(92071),l=n(74887),c=n(36708),u=n(10107),p=(n(44208),n(53966)),d=(n(87811),n(40608)),m=n(4146),f=n(63074),g=n(69208),h=n(89015),v=n(16131),y=n(8303),b=n(54310),w=n(25036),x=n(82935),C=n(10873),I=n(20437),S=n(74797),D=n(5443),A=n(38458),T=n(78888),L=n(50103);function V(e){return e.endsWith("?")?e.slice(0,-1):e}function M(e){return e.filter((({coverageSubType:e})=>null==e||""===e||/^rectified(grid|dataset)/i.test(e)))}function N(e){const t={};for(let n=0;n<e.childNodes.length;n++){const i=e.childNodes[n];if(1!==i.nodeType)continue;const s=(0,L.vv)(i).toLowerCase();switch(s){case"title":case"abstract":t[s]=(0,L.mX)(i);break;case"identifier":t.id=(0,L.mX)(i);break;case"wgs84boundingbox":{const e=(0,L.pN)(i,"LowerCorner"),n=(0,L.pN)(i,"UpperCorner");t.lonLatEnvelope=new D.A({xmin:e[0],ymin:e[1],xmax:n[0],ymax:n[1],spatialReference:{wkid:4326}})}break;case"coveragesummary":t.coverageSummaries=t.coverageSummaries||[],t.coverageSummaries.push(N(i))}}return t}function R(e,t){if(e.coverageSummaries)for(let n=0;n<e.coverageSummaries.length;n++)e.coverageSummaries[n].abstract=e.coverageSummaries[n].abstract||e.abstract,e.coverageSummaries[n].lonLatEnvelope=e.coverageSummaries[n].lonLatEnvelope||e.lonLatEnvelope,e.coverageSummaries[n].title=e.coverageSummaries[n].title||e.title,R(e.coverageSummaries[n],t);null!=e.id&&t.push(e)}function P(e){const t=(0,L.V6)(e.querySelector("Operation[name=GetCapabilities]"),"Get")?.getAttribute("xlink:href")||"",n=(0,L.V6)(e.querySelector("Operation[name=DescribeCoverage]"),"Get")?.getAttribute("xlink:href")||"",i=(0,L.V6)(e.querySelector("Operation[name=GetCoverage]"),"Get")?.getAttribute("xlink:href")||"";return{getCapabilities:V(t),describeCoverage:V(n),getCoverage:V(i)}}function E(e,t=null){let n=null;n="string"==typeof e?(new DOMParser).parseFromString(e,"text/xml"):e;let i=n.documentElement.getAttribute("version");"1.0"===i?i="1.0.0":"1.1"===i&&(i="1.1.0");const s=i||t||"1.0.0",o=s.slice(0,3);let r;if("2.0"===o)r=function(e){const t=(0,L.V6)(e,"ServiceIdentification"),n=(0,L.mX)(t,"Title"),i=(0,L.Dy)(t,"ServiceTypeVersion"),s=(0,L.Dy)(t,"Profile"),o=P((0,L.V6)(e,"OperationsMetadata")),a=(0,L.IC)(e,"Contents/CoverageSummary"),r=[];for(let e=0;e<a.length;e++){const t=a[e],n=(0,L.mX)(t,"CoverageId"),i=(0,L.V6)(t,"WGS84BoundingBox");let s;if(i){const e=(0,L.pN)(i,"LowerCorner"),t=(0,L.pN)(i,"UpperCorner");s=new D.A({xmin:e[0],ymin:e[1],xmax:t[0],ymax:t[1],spatialReference:{wkid:4326}})}const o=(0,L.mX)(t,"CoverageSubtype")||"RectifiedGridCoverage";r.push({id:n,lonLatEnvelope:s,coverageSubType:o})}const l=(0,L.V6)(e,"ServiceMetadata");return{name:n,supportedVersions:i,supportedFormats:(0,L.Dy)(l,"formatSupported"),supportedInterpolations:(0,L.Dy)(l,"interpolationSupported").concat((0,L.Dy)(l,"InterpolationSupported")),onlineResources:o,profiles:s,coverages:r,gridCoverages:M(r),version:"2.0.1"}}(n);else if("1.1"===o)r=function(e){const t=(0,L.mX)(e,"ServiceIdentification/Title"),n=(0,L.Dy)(e,"ServiceIdentification/ServiceTypeVersion"),i=P((0,L.V6)(e,"OperationsMetadata")),s=[],o=(0,L.V6)(e,"Contents");for(let e=0;e<o.childNodes.length;e++){const t=o.childNodes[e];1===t.nodeType&&(0,L.g7)(t,"CoverageSummary")&&R(N(t),s)}const a=(0,L.Dy)(o,"SupportedFormat");return{name:t,onlineResources:i,coverages:s,gridCoverages:M(s),supportedVersions:n,supportedFormats:a,version:"1.1.0"}}(n);else{if("1.0"!==o)throw new a.A("wcsraster:parsecapabilities","the capabilities version is not supported");r=function(e){const t=(0,L.mX)(e,"Service/name"),n=(0,L.V6)(e,"Capability"),i=(0,L.V6)(n,"GetCapabilities/Get/OnlineResource")?.getAttribute("xlink:href")??"",s=(0,L.V6)(n,"DescribeCoverage/Get/OnlineResource")?.getAttribute("xlink:href")??"",o=(0,L.V6)(n,"GetCoverage/Get/OnlineResource")?.getAttribute("xlink:href")??"",a={getCapabilities:V(i),describeCoverage:V(s),getCoverage:V(o)},r=(0,L.IC)(e,"CoverageOfferingBrief"),l=[];for(let e=0;e<r.length;e++){const t=r[e],n=(0,L.mX)(t,"name"),i=(0,L.IC)(t,"pos"),s=(0,L.pN)(i[0]),o=(0,L.pN)(i[1]),a=new D.A({xmin:s[0],ymin:s[1],xmax:o[0],ymax:o[1],spatialReference:{wkid:4326}});l.push({id:n,lonLatEnvelope:a})}return{name:t,onlineResources:a,coverages:l,gridCoverages:M(l),supportedVersions:["1.0.0"],version:"1.0.0"}}(n)}return r.version=s,r}var X=n(39829),$=n(87186),O=n(77301);function _(e){e.variables.forEach((e=>e.dimensions.forEach((e=>e.values??=(0,O.Xg)(e)))))}function k(e){return{requestResponseCRSs:(0,L.Dy)(e,"requestResponseCRSs").map((e=>e.split(":")[1])),nativeCRSs:(0,L.Dy)(e,"nativeCRSs").map((e=>e.split(":")[1]))}}function F(e,t){const n=(0,L.Dy)(e,"1.0.0"===t?"interpolationMethod":"InterpolationMethod"),i="1.0.0"===t?e.getAttribute("default"):(0,L.mX)(e,"InterpolationMethods/Default");return null!=i?[i].concat(n.filter((e=>e.toLowerCase()!==i.toLowerCase()))):n}function G(e){return null==e?["nearest"]:e.map((e=>{const t=e.toLowerCase();return t.includes("nearest")?"nearest":t.includes("linear")?"bilinear":t.includes("cubic")?"cubic":null})).filter((e=>!!e))}function B(e){const t=(0,L.IC)(e,"pos"),n=(0,L.pN)(t[0]),i=(0,L.pN)(t[1]);return new D.A({xmin:n[0],ymin:n[1],xmax:i[0],ymax:i[1],spatialReference:{wkid:4326}})}function j(e,t){const n=(0,L.Dy)(e,t);return n?.length&&""!==n[0]&&!isNaN(Number(n[0]))?n.map((e=>Number(e))):null}function W(e){const t=(0,L.pN)(e,"MinimumValue"),n=(0,L.pN)(e,"MaximumValue");return t.length&&n.length?t.map(((e,t)=>({min:e,max:n[t],avg:-1,stddev:-1}))):null}function q(e){return null==e?null:e.every((t=>t===e[0]))?e[0]:e}function Z(e){const t=[],n=(0,L.IC)(e,"RangeSet");let i=[];for(let e=0;e<n.length;e++){const s=(0,L.mX)(n[e],"name"),o=(0,L.mX)(n[e],"label"),a=[],r=j(n[e],"nullValues/singleValue"),l=(0,L.IC)(n[e],"AxisDescription");for(let e=0;e<l.length;e++){const t=(0,L.mX)(l[e],"name"),n=(0,L.mX)(l[e],"label"),s=(0,L.Dy)(l[e],"singleValue");if(0===s.length){const t=(0,L.mX)(l[e],"min"),n=(0,L.mX)(l[e],"max"),i=Number((0,L.mX)(l[e],"res"))||1;if(null!==t&&null!==n)for(let e=parseInt(t,10);e<=parseInt(n,10);e+=i)s.push(e.toString())}"band"===t.toLowerCase()&&(i=s),a.push({name:t,label:n,values:s})}t.push({name:s,label:o,nullValues:r,axis:a})}return{rangeSet:t,bandNames:i}}function U(e=null){if(!e)return{resolution:null,units:null};let t=e.toUpperCase();const n=["Years","Months","Days","Hours","Minutes","Seconds"];let i,s,o;return t.includes("PT")?(t=t.slice(2),o=["H","M","S"].findIndex((e=>t.includes(e))),i=n[3+o],s=parseFloat(t.slice(0,-1))):(t=t.slice(1),o=["Y","M","D"].findIndex((e=>t.includes(e))),o>-1&&(i=n[o]),s=parseFloat(t.slice(0,-1))),{resolution:s,units:i}}function z(e){const t=(0,L.IC)(e,"timeposition");if(t.length>0){const e=[];for(let n=0;n<t.length;n++)e.push(new Date((0,L.mX)(t[n])));return{begin:e[0],end:e[e.length-1],values:e}}const n=(0,L.V6)(e,"timePeriod")||(0,L.V6)(e,"TimePeriod");return n?{begin:new Date((0,L.mX)(n,"beginPosition")||(0,L.mX)(n,"BeginPosition")),end:new Date((0,L.mX)(n,"endPosition")||(0,L.mX)(n,"EndPosition")),...U((0,L.mX)(n,"timeResolution")||(0,L.mX)(n,"TimeResolution"))}:null}function H(e){const t=(0,L.V6)(e,"spatialDomain"),n=(0,L.V6)(t,"Envelope")||(0,L.V6)(t,"EnvelopeWithTimePeriod"),i=n.getAttribute("srsName").split(":"),s=i[i.length-1],o=(0,L.IC)(n,"pos"),a=(0,L.pN)(o[0]),r=(0,L.pN)(o[1]),l=parseInt(s,10),c=isNaN(l)?null:{wkid:l},u=new D.A({xmin:a[0],ymin:a[1],xmax:r[0],ymax:r[1],spatialReference:c}),p=(0,L.V6)(t,"RectifiedGrid"),d=(0,L.mX)(p,"low").split(" "),m=(0,L.mX)(p,"high").split(" "),f=parseInt(m[0],10)-parseInt(d[0],10)+1,g=parseInt(m[1],10)-parseInt(d[1],10)+1,h=(0,L.pN)(t,"origin/pos"),v=(0,L.IC)(t,"offsetVector"),y={envelope:u,columns:f,rows:g,offset:{x:parseFloat((0,L.mX)(v[0]).split(" ")[0]),y:parseFloat((0,L.mX)(v[1]).split(" ")[1])},origin:{x:h[0],y:h[1]}},b=(0,L.V6)(e,"temporalDomain")||(0,L.V6)(e,"TemporalDomain");return{spatialDomain:y,temporalDomain:b?z(b):null}}function Y(e){if(!e.temporalDomain)return null;const{begin:t,end:n,values:i,units:s,resolution:o}=e.temporalDomain,a={variables:[{name:"default",description:"",dimensions:[{name:"StdTime",description:"",unit:"ISO8601",values:i?.map((e=>e.getTime())),hasRegularIntervals:!i,interval:o,intervalUnit:s,extent:[t.getTime(),n.getTime()]}]}]};return _(a),a}function Q(e,t){const n=[],i=(0,L.IC)(e,"Field");let s,o=[];for(let e=0;e<i.length;e++){const a=(0,L.mX)(i[e],"Identifier"),r=(0,L.mX)(i[e],"Description"),l=(0,L.mX)(i[e],"Definition"),c=(0,L.mX)(i[e],"Abstract"),u=(0,L.mX)(i[e],"Title"),p=j(i[e],"NullValue"),d=(0,L.V6)(i[e],"AllowedValues"),m=d?W(d):null,f=F(i[e],"1.1.0"),g=[],h=(0,L.IC)(i[e],"Axis");for(let e=0;e<h.length;e++){const n=h[e].getAttribute("identifier"),i=(0,L.mX)(h[e],"UOM"),a=(0,L.mX)(h[e],"DataType"),r=(0,L.Dy)(h[e],"Key");t&&!n.toLowerCase().includes("band")||(o=r,s=p),g.push({identifier:n,uom:i,dataType:a,values:r,bandNoDataValues:s})}n.push({identifier:a,description:r,definition:l,abstract:c,title:u,supportedInterpolations:f,axis:g,nullValues:p,statistics:m})}return{rangeSet:n,bandNames:o,bandNoDataValues:s,statistics:n[0].statistics}}function J(e,t){if(!t.temporalDomain)return null;const n=e.filter((e=>!e.identifier.toLowerCase().includes("field_1")&&!e.axis.some((e=>e.identifier.includes("band"))))),i=[];if(n.length&&n.forEach((e=>{const t=e.axis.map((e=>{const t=e.values.map((t=>"ISO8601"===e.uom?(t=t.trim()).toLowerCase().includes("z")?new Date(t).getTime():new Date(t+"Z").getTime():parseFloat(t.trim()))),n=[Math.min.apply(null,t),Math.max.apply(null,t)];return{name:e.identifier.trim(),description:"",field:e.identifier.trim(),unit:e.uom?e.uom.trim():"",hasRegularIntervals:!1,values:t,extent:n}}));i.push({name:e.identifier.trim(),description:e.description?.trim()??"",unit:"",dimensions:t,statistics:e.statistics})})),t.temporalDomain){const{begin:e,end:n,values:s,units:o,resolution:a}=t.temporalDomain;i.some((e=>e.dimensions.some((e=>"stdtime"===e.name.toLowerCase()))))||i.forEach((t=>{t.dimensions.push({name:"StdTime",description:"",unit:"ISO8601",values:s?.map((e=>e.getTime())),hasRegularIntervals:!s,interval:a,intervalUnit:o,extent:[e.getTime(),n.getTime()]})}))}if(i.length){const e={variables:i};return _(e),e}return null}function K(e){const t=(0,L.V6)(e,"SpatialDomain"),n=(0,L.V6)(t,"GridCRS"),i=(0,L.mX)(n,"GridBaseCRS"),s=(0,L.mX)(n,"GridOrigin"),o=s?.split(" ").map((e=>parseFloat(e)))??[0,0],a=(0,L.pN)(n,"GridOffsets"),r=(0,L.IC)(t,"BoundingBox");let l,c,u,p;for(let e=0;e<r.length;e++){const t=r[e].getAttribute("crs")?.toLowerCase();if(null!=t)if(t.includes("imagecrs")){const t=(0,L.pN)(r[e],"LowerCorner"),n=(0,L.pN)(r[e],"UpperCorner");l=n[0]-t[0]+1,c=n[1]-t[1]+1}else if(t.indexOf("epsg")>0){const n=t.split(":");u=parseInt(n[n.length-1],10);const i=(0,L.pN)(r[e],"LowerCorner"),s=(0,L.pN)(r[e],"UpperCorner");p=new D.A({xmin:i[0],ymin:i[1],xmax:s[0],ymax:s[1],spatialReference:{wkid:u}})}}const d=l>c,m=p.xmax-p.xmin>p.ymax-p.ymin;let f=!1;(0,A.m)(u)&&(d===m?f=!1:(f=!0,p=new D.A({xmin:p.ymin,ymin:p.xmin,xmax:p.ymax,ymax:p.xmax,spatialReference:{wkid:u}})));const g={columns:l,rows:c,origin:{x:o[0],y:o[1]},offset:{x:a[0],y:a[a.length-1]},gridBaseCRS:i,envelope:p,useEPSGAxis:f},h=(0,L.V6)(e,"temporalDomain")||(0,L.V6)(e,"TemporalDomain");return{spatialDomain:g,temporalDomain:h?z(h):null}}function ee(e){const t=(0,L.V6)(e,"Envelope")||(0,L.V6)(e,"EnvelopeWithTimePeriod"),n=t.getAttribute("srsName"),i=n.slice(n.lastIndexOf("/")+1),s=t.getAttribute("axisLabels").split(" ").map((e=>e.trim())).filter((e=>""!==e.trim())),o=(0,L.pN)(t,"lowerCorner"),a=(0,L.pN)(t,"upperCorner"),r=!["y","lat","latitude","north","nor","n","b"].includes(s[0].toLowerCase());let l;const c=parseInt(i,10),u=isNaN(c)?null:{wkid:c};l=new D.A(r?{xmin:o[0],ymin:o[1],xmax:a[0],ymax:a[1],spatialReference:u}:{xmin:o[1],ymin:o[0],xmax:a[1],ymax:a[0],spatialReference:u});const p={mins:o,maxs:a},d=t.getAttribute("uomLabels").trim().split(" ");let m,f;if((0,L.g7)(t,"EnvelopeWithTimePeriod")){m=new Date((0,L.mX)(e,"beginPosition")||(0,L.mX)(e,"BeginPosition")),f=new Date((0,L.mX)(e,"endPosition")||(0,L.mX)(e,"EndPosition"));const t=d?.findIndex((e=>"oledatetime"===e?.toLowerCase()));t>-1&&(d[t]="ISO8601")}return{envelope:l,axisLabels:s,uomLabels:d.length?d:null,envelopeAllDims:p,beginPosition:m,endPosition:f,isEastFirst:r}}function te(e,t){const n=[],i=(0,L.IC)(e,"DataRecord"),s=[];let o,a=[];for(let e=0;e<i.length;e++){const r=(0,L.IC)(i[e],"field"),l=[];for(let e=0;e<r.length;e++){const n=r[e].getAttribute("name"),i=(0,L.mX)(r[e],"description")||"",c=(0,L.V6)(r[e],"uom")?.getAttribute("code")||"",u=(0,L.pN)(r[e],"interval"),p=j(r[e],"nilValue")?.[0];t&&!n.toLowerCase().includes("band")||(s.push(n),u?.length&&(o=o||[],o.push({min:u[0],max:u[1],avg:-1,stddev:-1})),a.push(p)),l.push({name:n,description:i,uom:c,allowedValues:u,nilValue:p})}n.push(l)}return a.some((e=>null!=e))||(a=null),{rangeType:n,bandNames:s,bandStats:o,bandNoDataValues:a}}function ne(e){let t=1,n="";const i=.01;return Math.abs(e-1/24)<1/24*i?n="Hours":Math.abs(e-1)<1*i?n="Days":e<1?(t=Math.round(24*e),n="Hours"):e>28-i&&e<31+i||Math.round(e/30)<12?n="Months":e>365-i&&e<366+i&&(n="Years"),{interval:t,intervalUnit:n}}function ie(e,t,n){if(n.axisLabels.length<=2)return null;const i=[];for(let t=0;t<e.length;t++){const n=e[t];for(let e=0;e<n.length;e++)n[e].name.toLowerCase().includes("band")||i.push(n[e])}const s=[];if(i.length){const e=[];for(let i=2;i<n.axisLabels.length;i++){const s=t.uomLabels?.[i]?.trim()??"",o=n.axisLabels[i].toLowerCase().includes("time")||"iso8601"===s.toLowerCase()||"oledatetime"===s.toLowerCase();let a,r;if(o){const e=ne(n.offset[i]);a=e.interval,r=e.intervalUnit}else a=n.offset[i],r=s;const l=[];o?(l.push(ae(t.envelopeAllDims.mins[i])),l.push(ae(t.envelopeAllDims.maxs[i]))):(l.push(t.envelopeAllDims.mins[i]),l.push(t.envelopeAllDims.maxs[i])),e.push({name:n.axisLabels[i].trim(),description:n.axisLabels[i].trim(),unit:o?"ISO8601":s,hasRegularIntervals:!0,extent:l,interval:a,intervalUnit:r})}if(i.forEach((t=>{const{allowedValues:n}=t,i=2===n?.length?[{min:n[0],max:n[1],avg:-1,stddev:-1}]:null;s.push({name:t.name.trim(),description:t.description?.trim()??"",unit:t.uom.trim(),statistics:i,dimensions:[...e]})})),s.length){const e={variables:s};return _(e),e}}return null}function se(e,t){const n=(0,L.V6)(e,"RectifiedGrid"),i=(0,L.pN)(n,"low"),s=(0,L.pN)(n,"high"),o=[];for(let e=0;e<i.length;e++)o.push(s[e]-i[e]+1);const a=(0,L.mX)(n,"axisLabels").split(" "),r=(0,L.pN)(n,"origin/pos"),l=(0,L.IC)(n,"offsetVector"),c=[];for(let e=0;e<l.length;e++){const t=(0,L.pN)(l[e]),n=t.findIndex((e=>0!==e));c[n]=t[n]}let u,p,d,m=!1;return t?.length&&a?.length&&(m=[...t].sort(((e,t)=>e<t?-1:1)).join(",")===[...a].sort(((e,t)=>e<t?-1:1)).join(",")),["y","lat","latitude","north","nor","n","b"].includes((m?a:t)[0].toLowerCase())?(u=o[1],p=o[0],d={y:Math.abs(c[0]),x:Math.abs(c[1])}):(u=o[0],p=o[1],d={x:Math.abs(c[0]),y:Math.abs(c[1])}),{columns:u,rows:p,origin:r,offset:c,resolution:d,gridSamples:o,axisLabels:a,hasSameAxisLabelsAsBoundedBy:m}}function oe(e){const t=(0,L.V6)(e,"EarthObservation");if(!t)return null;const n=(0,L.V6)(t,"phenomenonTime"),i=n?z(n):null,s=(0,L.V6)(t,"phenomenonTime"),o=s?z(s):null,a=(0,L.mX)(t,"featureOfInterest/Footprint/multiExtentOf/MultiSurface/surfaceMembers/Polygon/exterior/LinearRing/posList");let r=null;if(a){const e=a.split(" ").map((e=>e.trim())).filter((e=>null!=e&&""!==e)).map(Number);if(e.length){const t=[];for(let n=0;n<e.length/2;n+=2)t.push(e[n],e[n+1]);r=new X.A({rings:[[t]]})}}return{observation:{phenomenonTime:i,resultTime:o,footprint:r,identifier:(0,L.mX)(e,"metaDataProperty/EarthObservationMetaData/identifier"),acquisitionType:(0,L.mX)(e,"metaDataProperty/EarthObservationMetaData/acquisitionType"),status:(0,L.mX)(e,"metaDataProperty/EarthObservationMetaData/status")}}}function ae(e){return Math.round(24*(e-25569)*3600*1e3)}async function re(e,t){const{coverageIds:n,version:i,customParameters:s,signal:o}=t,r=i.slice(0,3),c="1.0"===r?"coverage":"1.1"===r?"identifiers":"coverageId",u={service:"WCS",request:"DescribeCoverage",version:i,[c]:n.join(","),...s};try{const{data:t}=await(0,T.A)(e,{query:u,responseType:"xml",signal:o});return function(e,t){let n=null;if(n="string"==typeof e?(new DOMParser).parseFromString(e,"text/xml"):e,"1.0.0"===t)return(0,L.IC)(n,"CoverageOffering").map((e=>function(e){const t={version:"1.0"};let n,i=[];for(let s=0;s<e.childNodes.length;s++){const o=e.childNodes[s];if(1===o.nodeType)if((0,L.g7)(o,"description"))t.description=(0,L.mX)(o);else if((0,L.g7)(o,"name"))t.name=(0,L.mX)(o);else if((0,L.g7)(o,"label"))t.label=(0,L.mX)(o);else if((0,L.g7)(o,"supportedFormats"))t.supportedFormats=(0,L.Dy)(o,"formats");else if((0,L.g7)(o,"supportedCRSs"))t.supportedCRSs=k(o);else if((0,L.g7)(o,"supportedInterpolations"))t.supportedInterpolations=F(o,"1.0.0");else if((0,L.g7)(o,"lonLatEnvelope"))t.lonLatEnvelope=B(o);else if((0,L.g7)(o,"rangeSet")){const e=Z(o);t.rangeSet=e.rangeSet,i=e.bandNames;const s=e.rangeSet[0].nullValues;s?.length&&(n=q(s))}else(0,L.g7)(o,"domainSet")&&(t.domainSet=H(o))}const s=G(t.supportedInterpolations),{name:o,description:a,label:r,lonLatEnvelope:l,supportedFormats:c}=t,{spatialDomain:u}=t.domainSet,p={x:Math.abs(u.offset.x),y:Math.abs(u.offset.y)},d=Y(t.domainSet),m=new $.A({width:u.columns,height:u.rows,pixelSize:p,pixelType:"unknown",extent:u.envelope,spatialReference:u.envelope.spatialReference,bandCount:i.length||1,noDataValue:n,multidimensionalInfo:d});return{id:o,title:t.name,description:a||r,lonLatEnvelope:l,rasterInfo:m,bandNames:i,supportedFormats:c,supportedInterpolations:s,coverageDescription:t,version:"1.0.0",useEPSGAxis:!1}}(e)));const i=(0,L.IC)(n,"CoverageDescription");return"1.1.0"===t||"1.1.1"===t||"1.1.2"===t?i.map((e=>function(e,t){const n=[],i=[],s={supportedFormats:n,supportedCRSs:i,version:"1.1"};let o,a,r=[];for(let t=0;t<e.childNodes.length;t++){const l=e.childNodes[t];if(1!==l.nodeType)continue;const c=(0,L.vv)(l).toLowerCase();switch(c){case"title":case"abstract":case"identifier":s[c]=(0,L.mX)(l);break;case"supportedformat":{const e=(0,L.mX)(l);n.includes(e)||n.push(e)}break;case"supportedcrs":{const e=(0,L.mX)(l);i.includes(e)||i.push(e)}break;case"range":{const e=Q(l,!!s.domain?.temporalDomain);s.range=e.rangeSet,r=e.bandNames;const{bandNoDataValues:t}=e;t?.length&&(o=q(t)),a=e.statistics}break;case"domain":s.domain=K(l)}}const l=G(s.range[0].supportedInterpolations),{identifier:c,abstract:u,title:p,domain:d,range:m}=s,f={x:Math.abs(d.spatialDomain.offset.x),y:Math.abs(d.spatialDomain.offset.y)},g=J(m,d);g&&(o=m[0].nullValues,1===o?.length&&(o=o[0]));const h=new $.A({width:d.spatialDomain.columns,height:d.spatialDomain.rows,pixelSize:f,pixelType:"unknown",extent:d.spatialDomain.envelope,spatialReference:d.spatialDomain.envelope.spatialReference,bandCount:r.length||1,noDataValue:o,statistics:a,multidimensionalInfo:g});return{id:c,title:s.title,description:u||p,bandNames:r,rasterInfo:h,supportedFormats:n,supportedInterpolations:l,coverageDescription:s,version:t,useEPSGAxis:d.spatialDomain.useEPSGAxis}}(e,t))):i.map((e=>function(e){const t={version:"2.0"};let n,i,s=[];for(let o=0;o<e.childNodes.length;o++){const a=e.childNodes[o];if(1===a.nodeType)if((0,L.g7)(a,"coverageId"))t.coverageId=(0,L.mX)(a);else if((0,L.g7)(a,"ServiceParameters"))t.serviceParameters={supportedFormats:(0,L.Dy)(a,"nativeFormat")};else if((0,L.g7)(a,"boundedBy"))t.boundedBy=ee(a);else if((0,L.g7)(a,"rangeType")){const e=te(a,t.boundedBy?.axisLabels.length>2||t.domainSet?.axisLabels.length>2);t.rangeType=e.rangeType,s=e.bandNames,n=e.bandStats;const{bandNoDataValues:o}=e;o?.length&&(i=q(o))}else if((0,L.g7)(a,"domainSet"))t.domainSet=se(a,t.boundedBy?.axisLabels);else if((0,L.g7)(a,"metadata")){const e=(0,L.V6)(a,"EOMetadata");t.eoMetadata=e?oe(e):null}}const{coverageId:o,boundedBy:a,domainSet:r,rangeType:l,serviceParameters:c}=t,u=ie(l,a,r);return!n&&u&&(n=u?.variables[0].statistics),null!=u&&(i=l[0][0].nilValue),{id:o,title:o,description:o,bandNames:s,rasterInfo:new $.A({width:r.columns,height:r.rows,pixelSize:r.resolution,pixelType:"unknown",extent:a.envelope,spatialReference:a.envelope.spatialReference,bandCount:s.length||1,statistics:n,noDataValue:i,multidimensionalInfo:u}),supportedFormats:c.supportedFormats,coverageDescription:t,version:"2.0.1",useEPSGAxis:!1}}(e)))}(t,i)}catch(e){if(!(0,l.zf)(e))throw new a.A("wcslayer:open","wcs coverage description is not valid or supported");throw e}}var le=n(45617),ce=n(4916);function ue(e){const t=function(e){const t=e.getHeader?.("Content-Type")?.split(";");if(!t)return null;if(!(t[0].trim()??"").startsWith("multipart/"))return null;const n={boundary:"",start:"",type:""};for(let e=1;e<t.length;e++){const i=t[e].indexOf("=");if(i>0){const s=t[e].slice(0,i).trim(),o=t[e].slice(i+1).trim();n[s]=o.startsWith('"')?o.slice(1,-1):o}}return n}(e);return t?{isMultipart:!0,data:t.boundary?pe(e.data,t,0):null}:{isMultipart:!1,data:null}}function pe(e,t,n=0){const i="--"+t.boundary,s=[];for(let e=0;e<i.length;e++)s.push(i.charCodeAt(e));const o=[],a="\n--"+t.boundary+"--";for(let e=0;e<a.length;e++)o.push(a.charCodeAt(e));const r=[10],l=[13,10],c=[],u=s.length,p=new Uint8Array(e,n),d=p.length-u;let m=0,f=0;for(let e=0;e<d;e++){for(f=0;f<u&&p[e+f]===s[f];f++);if(f!==u)continue;let n=!1;if(m){const i=de(p.subarray(m,e),t);c.push(i),n=!!i.isValidImage}if(e+=u-1,p[e+1]===r[0]?e+=1:p[e+1]===l[0]&&p[e+2]===l[1]&&(e+=2),m=e+1,n)break}const g=o.length;for(let e=p.length-g-10;e<p.length-g;e++){for(f=0;f<g&&p[e+f]===o[f];f++);if(f===g){c.push(de(p.subarray(m,e),t));break}}return c}function de(e,t){const n=String.fromCharCode.apply(null,e.subarray(0,Math.min(300,e.length))).split("\n"),i=Math.min(n.length,7),s={contentDisposition:"inline"};let o=0;for(let a=0;a<i;a++)if(n[a].length<4)o=o+n[a].length+1;else if("content"===n[a].slice(0,7).toLowerCase()){o=o+n[a].length+1;const e=n[a].indexOf(":");if(-1===e)continue;const t=n[a].slice(0,e).trim(),i=n[a].slice(e+1).trim();switch(t.toLowerCase()){case"content-type":s.contentType=i;break;case"content-description":s.contentDescription=i;break;case"content-transfer-encoding":s.contentTransferEncoding=i;break;case"content-id":s.contentID=i;break;case"content-disposition":s.contentDisposition=i;break;case"content-location":s.contentLocation=i}}else{if(s.contentDisposition.toLowerCase().includes("inline")&&n[a].length>=4&&s.contentType?.toLowerCase().indexOf("image")>-1){let t=!0,n=e.subarray(o,e.length);if(s.contentType.toLowerCase().indexOf("tif")>0){if("base64"===s.contentTransferEncoding){let e="";const t=n;for(let n=0;n<t.length;n+=65535){const i=t.subarray(n,n+65535>t.length-1?t.length-1:n+65535);e+=String.fromCharCode.apply(null,i)}const i=atob(e);n=new Uint8Array(i.length);for(let e=0;e<n.length;e++)n[e]=i.charCodeAt(e)}t=73===n[0]&&73===n[1]||77===n[0]&&77===n[1]}if(t){let t=n.buffer;"base64"!==s.contentTransferEncoding&&(t=new ArrayBuffer(e.length-o),n=new Uint8Array(t),n.set(e.subarray(o,e.length))),s.contentData=t,s.isValidImage=!0}break}if((""===t.start||s.contentID===t.start)&&s.contentType){if(s.contentType.includes("text")||s.contentType.includes("xml")){s.contentData=String.fromCharCode.apply(null,e.subarray(o,e.length));break}s.contentData=e.subarray(o,e.length)}}return s}var me=n(51244),fe=n(28435);const ge=["nearest neighbor","bilinear","bicubic"],he=["nearest","linear","cubic"],ve="response is not a supported multipart/related mediaType with inline tiff, switching to compatibility mode",ye=new Set(["1.0.0","1.1.0","1.1.1","1.1.2","2.0.1"]);let be=class extends ce.A{constructor(){super(...arguments),this.datasetFormat="WCSServer",this.tileType="Raster"}async fetchRawTile(e,t,n,i={}){if(this.isBlockOutside(e,t,n))return null;const{nativePixelSize:s,spatialReference:o}=this.rasterInfo,r=2**e,l=s.x*r,c=s.y*r,{blockWidth:u,blockHeight:p}=this.getBlockWidthHeight(e),{origin:d}=this.rasterInfo.storageInfo.tileInfo,m=this.getTileExtent({x:l,y:c},t,n,d,o,[u,p]),f=this.rasterInfo.extent,g=m.xmax>f.xmax,h=m.ymin<f.ymin,v=g||h;let y=m,b=u,w=p;if(v&&(y=m.clone().intersection(f),null!=y&&(g&&(b=Math.floor((y.xmax-y.xmin)/l),y.xmax=y.xmin+l*b),h&&(w=Math.floor((y.ymax-y.ymin)/c),y.ymin=y.ymax-c*w))),null==y||b<=1||w<=1)return null;const x=await this._getCoverage(y,b,w,r,i);if(!x)return null;const{coverageDescription:C}=this.coverageInfo,{noDataValue:I,multidimensionalInfo:S}=this.rasterInfo,{multidimensionalDefinition:D}=i;let A;if(null!=S&&null!=D&&D.length){const e=D[0].variableName;if("2.0"===C.version){const t=C.rangeType[0].find((t=>t.name===e));A=t?.nilValue}else if("1.1"===C.version){const t=C.range.find((t=>t.identifier===e));A=t?.nullValues}}const T=A??I,L=await this.decodePixelBlock(x,{width:b,height:w,planes:null,pixelType:null,tiffNoDataValue:Array.isArray(T)?T[0]:T});if(null==L)return null;if(L&&(L.width!==b||L.height!==w))throw new a.A("wcsraster-fetch",`the response has unexpected dimension width: ${L.width}, height: {pixelBlock.height}`);return v?(0,fe.$Q)(L,{x:0,y:0},{width:p,height:p}):L}async _open(e){const{customFetchParameters:t}=this.ioConfig,n=e?.signal,i=await async function(e,t){const{version:n,customParameters:i,signal:s}=t??{},o=n?.startsWith("1.0")?"version":"acceptVersions",r={service:"WCS",request:"GetCapabilities",[o]:n,...i};try{let{data:n}=await(0,T.A)(e,{query:r,responseType:"xml",signal:s});return t?.version||function(e){let t=null;t="string"==typeof e?(new DOMParser).parseFromString(e,"text/xml"):e;const n=t.documentElement.getAttribute("version"),i=n?.slice(0,3);return null!=i&&i<"2.1"}(n)||(r[o]="2.0.1",({data:n}=await(0,T.A)(e,{query:r,responseType:"xml",signal:s}))),E(n)}catch(e){if(!(0,l.zf)(e))throw new a.A("wcslayer:open","wcs capabilities is not valid or supported");throw e}}(this.url,{version:t?.version??this.version,customParameters:t,signal:n});if(this.capabilities=i,!this.version){let e=i.version.slice(0,3);"2.0"===e||"1.1"===e||"1.0"===e?this.version=i.version:(e=i.supportedVersions.find((e=>"2.0.1"===e))||i.supportedVersions.find((e=>"2.0"===e.slice(0,3)))||i.supportedVersions.find((e=>"1.1"===e.slice(0,3)))||i.supportedVersions.find((e=>"1.0"===e.slice(0,3)))||"1.0.0",this.version=e)}const{version:s}=this;if(!ye.has(s))throw new a.A("wcsraster-open",`unsupported WCS version ${s}`);const{gridCoverages:o}=i;if(!o.length)throw new a.A("wcsraster-open","cannot find rectified grid coverages");this.coverageId??=o[0].id;const{coverageId:r}=this,c=o.find((e=>e.id===r));if(null==c)throw new a.A("wcsraster-open",`the coverageId ${r} does not exist in capabilities`);const u=await re(this.url,{coverageIds:[r],version:s,customParameters:t,signal:n});if(this.coverageInfo=u[0],"2.0"===s.slice(0,3)){const{coverageInfo:e}=this;e.lonLatEnvelope=c.lonLatEnvelope,e.supportedInterpolations=G(i.supportedInterpolations),this._patchDimensionValues201(r,n)}this.datasetName=this.coverageInfo.title;const{rasterInfo:p}=this.coverageInfo;if(this.createRemoteDatasetStorageInfo(p,512,512),this._set("rasterInfo",p),null==p.spatialReference)throw new a.A("wcsraster-open",`coverage without spatial reference is not supported: ${r}`);const{pixelType:d,bandCount:m}=await this._getPixelTypeAndBandCount(n);p.pixelType=d,1===p.bandCount&&m>1&&(p.bandCount=m),this.updateTileInfo()}async _patchDimensionValues201(e,t){const{coverageInfo:n}=this,i=n.rasterInfo.multidimensionalInfo?.variables,s=ye.has("1.1.2")?"1.1.2":ye.has("1.1.1")?"1.1.1":ye.has("1.1.0")?"1.1.0":null,{customFetchParameters:o}=this.ioConfig;if(i&&s)try{const n=this.url.includes("/ImageServer/"),a=e.length>8&&e.startsWith("Coverage")&&n?e.slice(8):e,r=await re(this.url,{coverageIds:[a??e],version:s,customParameters:o,signal:t}).catch((()=>{if(a)return re(this.url,{coverageIds:[e],version:s,customParameters:o,signal:t})})),l=r?.[0].rasterInfo.multidimensionalInfo?.variables;if(l)for(const e of i){const t=l.find((({name:t})=>t===e.name));if(t?.dimensions?.length)for(let i=e.dimensions.length-1;i>=0;i--){const s=e.dimensions[i],o=t.dimensions.find((({name:e})=>e===s.name));o?o.values&&o.extent?.join(",")===s.extent?.join(",")&&(e.dimensions[i]={...s,values:o.values}):n&&e.dimensions.splice(i,1)}}}catch{}}async _getPixelTypeAndBandCount(e){const{pixelSize:t,extent:n,multidimensionalInfo:i}=this.rasterInfo,s=n.center,o=new D.A({xmin:s.x-t.x,xmax:s.x+t.x,ymin:s.y-t.y,ymax:s.y+t.y,spatialReference:n.spatialReference});let r=[];if(null!=i){const e=i.variables[0];r=[],e.dimensions.forEach((t=>{r.push(new le.A({variableName:e.name,dimensionName:t.name,values:t.hasRegularIntervals?t.extent?.[0]:t.values?.[0],isSlice:!0}))}))}const{coverageDescription:l}=this.coverageInfo,c={interpolation:"nearest",multidimensionalDefinition:r,signal:e},{version:u}=l,{ioConfig:d}=this,m="2.0"===u&&null==d.allowAnyMediaType||"1.1"===u&&null==d.use2GridOffsets;let f;try{f=await this._getCoverage(o,2,2,1,c,!0)}catch(e){if(!m)throw e;if("1.1"===u){if(!e.details?.isResolutionMismatch)throw e;d.use2GridOffsets=!0}}if(!f&&m&&("2.0"===u&&(d.allowAnyMediaType=!0),f=await this._getCoverage(o,2,2,1,c),f&&p.A.getLogger(this).warn("wcsraster:getcoverage",ve)),!f)throw new a.A("wcsraster-open","unable to determine pixel type");const g=await this.decodePixelBlock(f,{width:2,height:2,planes:null,pixelType:null});if(null==g)throw new a.A("wcsraster-open","unable to determine pixel type");return{pixelType:g.pixelType,bandCount:g.getPlaneCount()??0}}async _getCoverage(e,t,n,i,s,o=!1){const{coverageDescription:r}=this.coverageInfo,{version:l}=r,c="2.0"===l?this._getCoverage201Parameters(e,t,n,i,s,r):"1.1"===l?this._getCoverage110Parameters(e,t,n,s,r):this._getCoverage100Parameters(e,t,n,s),u="2.0"===l?await this.request(this._constructWCS201Url(c),{signal:s.signal,responseType:"array-buffer"}):await this.request(this.url,{query:c,signal:s.signal,responseType:"array-buffer"});if("1.0"===l)return u.data;if("2.0"===l&&!1!==this.ioConfig.allowAnyMediaType&&"tiff"===(0,me.g)(u.data))return o&&(this.ioConfig.allowAnyMediaType=!0,p.A.getLogger(this).warn("wcsraster:getcoverage",ve)),u.data;const d=ue(u);if(d.isMultipart&&d.data){const e=d.data.find((e=>e.isValidImage));return o&&"base64"===e?.contentTransferEncoding&&p.A.getLogger(this).warn("wcsraster:getcoverage","response is base64 encoded which may impact layer display performance"),e?.contentData}const m=new Uint8Array(u.data,0,Math.min(u.data.byteLength,2e3)),f=String.fromCharCode.apply(null,m).toLowerCase().includes("exception"),g=f&&String.fromCharCode.apply(null,m).includes("A non-zero RESX/RESY or WIDTH/HEIGHT is required but neither was provided");if(f)throw new a.A("wcsraster:getcoverage","server returns an exception",{isResolutionMismatch:g});throw new a.A("wcsraster:getcoverage","response is not a supported multipart mediaType with inline tiff")}_getInterpolationIndex(e){return e&&this.coverageInfo.supportedInterpolations?.includes(e)?"nearest"===e?0:"bilinear"===e?1:"cubic"===e?2:0:0}_getCoverage100Parameters(e,t,n,i){const s=`${e.xmin},${e.ymin},${e.xmax},${e.ymax}`,o=e.spatialReference.wkid,a=(this.coverageInfo.supportedFormats||[]).find((e=>e.toLowerCase().includes("tiff")))||"GEOTIFF",{bandIds:r,interpolation:l}=i,c=this._getInterpolationIndex(l),u=r?r.map((e=>this.coverageInfo.bandNames[e])):null,p=ge[c],{multidimensionalDefinition:d}=i;let m;if(null!=d&&null!=this.rasterInfo.multidimensionalInfo){const e=d.find((e=>"StdTime"===e.dimensionName));let t=e?.values;t&&t.length>0&&(Array.isArray(t[0])&&(t=t[0]),m=t.map((e=>we(e))).join(","))}return{service:"WCS",request:"GetCoverage",version:this.version,coverage:this.coverageId,format:a,crs:`EPSG:${o}`,bbox:s,width:t,height:n,time:m,interpolation:p,band:u?.join(",")}}_getCoverage110Parameters(e,t,n,i,s){const{multidimensionalDefinition:o,bandIds:a,interpolation:r}=i,l=e.spatialReference.wkid,c=`urn:ogc:def:crs:EPSG::${l}`,u=(this.coverageInfo.supportedFormats||[]).find((e=>e.toLowerCase().includes("tiff")))||"image/tiff",p=this._getInterpolationIndex(r),d=he[p],m=null==r||0===this.coverageInfo.supportedInterpolations?.indexOf(r),f=s.domain.spatialDomain,g=f.origin.x<=f.envelope.xmin&&f.origin.y<=f.envelope.ymin,h=e.width/t,v=e.height/n*(g?1:-1),y=g?[e.xmin,e.ymin]:[e.xmin,e.ymax],b=f.useEPSGAxis&&(0,A.m)(l),w=b?`${y[1]},${y[0]}`:`${y[0]},${y[1]}`,x=this.ioConfig.use2GridOffsets,C=b?x?`${v},${h}`:`${v},0,0,${h}`:x?`${h},${v}`:`${h},0,0,${v}`,I=h/2,S=e.xmin+I,D=e.xmax-I,T=Math.abs(v)/2,L=e.ymin+T,V=e.ymax-T,M=b?`${L},${S},${V},${D},${c}`:`${S},${L},${D},${V},${c}`,N=s.range.find((e=>e.axis.some((e=>e.identifier.toLowerCase().includes("band")))));let R,P=N&&d&&a?m?`${N.identifier}[${N.axis[0].identifier}[${a.join(",")}]]`:`${N.identifier}:${d}[${N.axis[0].identifier}[${a.join(",")}]]`:null;if(null!=o&&o.length)for(let e=0;e<o.length;e++){let t=o[e].values;const n=o[e].dimensionName?.toLowerCase(),i=o[e].variableName?.toLowerCase(),a=s.range.find((e=>e.identifier.toLowerCase()===i));if(t.length>0)if(Array.isArray(t[0])&&(t=t[0]),"stdtime"===n)R=t.map((e=>we(e))).join(",");else if(a){const e=a.axis.find((e=>e.identifier.toLowerCase()===n));e&&(P=m?a.identifier+"["+e.identifier+"["+t.join(",")+"]]":a.identifier+":"+d+"["+e.identifier+"["+t.join(",")+"]]")}e===o.length-1&&a&&!P&&(P=m?a.identifier:a.identifier+":"+d)}return{service:"WCS",request:"GetCoverage",version:this.version,identifier:this.coverageId,format:u,crs:`EPSG:${l}`,boundingbox:M,gridCS:"urn:ogc:def:cs:OGC:0.0:Grid2dSquareCS",gridType:"urn:ogc:def:method:WCS:1.1:2dGridIn2dCrs",gridOrigin:w,gridOffsets:C,gridBaseCRS:c,timeSequence:R,rangeSubset:P}}_getCoverage201Parameters(e,t,n,i,s,o){const{multidimensionalDefinition:a,interpolation:r}=s,l=this._getInterpolationIndex(r);let c=null;const{supportedInterpolations:u}=this.capabilities;if(u?.length)switch(l){case 0:c=u.find((e=>e.toLowerCase().includes("nearest")));break;case 1:c=u.find((e=>e.toLowerCase().includes("linear")));break;case 2:c=u.find((e=>e.toLowerCase().includes("cubic")||e.toLowerCase().includes("quadratic")))}const p=(this.coverageInfo.supportedFormats||[]).find((e=>e.toLowerCase().includes("tiff")))||"image/tiff",{bandNames:d}=this.coverageInfo,{boundedBy:m,domainSet:f,rangeType:g}=o,h=m.isEastFirst?0:1,v=1-h,{axisLabels:y}=m,b=y[h],w=y[v],x=`http://www.opengis.net/def/crs/EPSG/0/${e.spatialReference.wkid}`,C=x,I=[];I.push(`${b}(${e.xmin},${e.xmax})`),I.push(`${w}(${e.ymin},${e.ymax})`);const S=[];if(y.length>2)for(let e=2;e<y.length;e++){const t=f.origin[e];if(y[e].toLowerCase().includes("time")){let n=t.toString();m.uomLabels?.[e].toLowerCase().includes("ole")&&(S.push(y[e]),n=we(t,!0)),I.push(y[e]+",http://www.opengis.net("+n+")")}else I.push(y[e]+",http://www.opengis.net("+t+")")}let D=null;if(null!=a&&a.length){const e=[];g.forEach((t=>t.forEach((t=>e.push(t.name)))));const t=[];for(let n=0;n<a.length;n++){const i=y.find((e=>e===a[n].dimensionName)),s=e.find((e=>e===a[n].variableName));if(t.includes(s)||t.push(s),i){let e=a[n].values;if(e.length>0){Array.isArray(e[0])&&(e=e[0]);let t="";t=i.toLowerCase().includes("time")?e.map((e=>we(e))).join(","):e.join(",");const n=I.findIndex((e=>0===e.indexOf(i+",http://www.opengis.net")));-1===n&&I.push(i+",http://www.opengis.net("+t+")"),-1===n||I[n].includes("("+t+")")||I.splice(n,1,i+",http://www.opengis.net("+t+")")}}}t.length&&(D=t.join(","))}else d?.length>=2&&(D=(s.bandIds?s.bandIds.map((e=>d[e])):d).join(","));const A=I.join("&subset="),T=!o.domainSet.hasSameAxisLabelsAsBoundedBy&&!1!==this.ioConfig.allowScaleFactor,L=T?null:`${b}(${t}),${w}(${n})`,V=T?1/i:null;return{service:"WCS",request:"GetCoverage",version:this.version,coverageId:this.coverageId,rangesubset:D,interpolation:c,scaleSize:L,scaleFactor:V,subset:A,format:p,mediaType:this.ioConfig.allowAnyMediaType?null:"multipart/related",outputcrs:x,subsettingcrs:C}}_constructWCS201Url(e){const t={...this.ioConfig.customFetchParameters,...e},n=[];return Object.keys(t).forEach((e=>{const i=t[e];null!=i&&("subset"===e?"string"==typeof i&&i.split("&subset=").forEach((e=>{e&&n.push(`subset=${encodeURIComponent(e)}`)})):n.push(`${e}=${encodeURIComponent(i)}`))})),`${encodeURI(this.url)}?${n.join("&")}`}};function we(e,t=!1){return(t?new Date(ae(e)):new Date(e)).toISOString()}(0,i._)([(0,u.MZ)({type:String,json:{write:!0}})],be.prototype,"datasetFormat",void 0),(0,i._)([(0,u.MZ)({readOnly:!0})],be.prototype,"tileType",void 0),(0,i._)([(0,u.MZ)({type:String,json:{write:!0}})],be.prototype,"version",void 0),(0,i._)([(0,u.MZ)({type:String,json:{write:!0}})],be.prototype,"coverageId",void 0),be=(0,i._)([(0,d.$)("esri.layers.support.rasterDatasets.WCSRaster")],be);const xe=be;var Ce=n(30291),Ie=n(92935);const Se=new Set(["milliseconds","seconds","minutes","hours","days","weeks","months","years","decades","centuries"]);let De=class extends((0,f.dM)((0,w.j)((0,v.q)((0,y.A)((0,g.d)((0,h.o)((0,x.e)((0,b.J)((0,r.P)(o.A.ClonableMixin(m.A))))))))))){constructor(...e){super(...e),this.coverageId=null,this.version=null,this.isReference=null,this.legendEnabled=!0,this.noData=0,this.operationalLayerType="WCS",this.type="wcs",this.popupEnabled=!0,this.popupTemplate=null,this.fields=null,this._debouncedSaveOperations=(0,l.sg)((async(e,t,i)=>{const{save:s,saveAs:o}=await n.e(9838).then(n.bind(n,59838));switch(e){case Ie.X.SAVE:return s(this,t);case Ie.X.SAVE_AS:return o(this,i,t)}}))}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}load(e){const t=null!=e?e.signal:null;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["WCS"]},e).catch(l.QP).then((()=>this._openRaster(t)))),Promise.resolve(this)}get coverageInfo(){return this.raster.coverageInfo}get defaultPopupTemplate(){return this.createPopupTemplate()}get rasterFields(){return[(0,S.rZ)("Pixel Value")]}createPopupTemplate(e){return(0,Ce.tn)({fields:this.rasterFields,title:this.title},e)}async save(e){return this._debouncedSaveOperations(Ie.X.SAVE,e)}async saveAs(e,t){return this._debouncedSaveOperations(Ie.X.SAVE_AS,t,e)}async _openRaster(e){const t=new xe({url:this.url,version:this.version,coverageId:this.coverageId,ioConfig:{sampling:"closest",...this.ioConfig,customFetchParameters:this.customParameters}});if(await t.open({signal:e}),!t.rasterInfo)throw t.destroy(),new a.A("wcs-layer:load","cannot load resources on "+this.url);const{rasterInfo:n}=t;null==n.noDataValue&&(n.noDataValue=this.noData),this._set("serviceRasterInfo",n),this._set("spatialReference",n.spatialReference),null==this.title&&this.setAtOrigin("title",t.datasetName,"service"),null==this.coverageId&&this.setAtOrigin("coverageId",t.coverageInfo.id,"service"),null==this.version&&t.version&&this.setAtOrigin("version",t.version,"service"),this.setAtOrigin("tileInfo",t.rasterInfo.storageInfo.tileInfo,"service");const{multidimensionalInfo:i}=n;if(null!=i){const e=i.variables[0].dimensions.find((({name:e})=>"StdTime"===e));if(e){let t=e.extent?.[0]??e.values[0];Array.isArray(t)&&(t=t[0]);let n=e.extent?.[1]??e.values[e.values.length-1];Array.isArray(n)&&(n=n[1]);const i=Se.has(e.intervalUnit?.toLowerCase())?e.intervalUnit?.toLowerCase():null;this.set("timeInfo",{startField:"StdTime",fullTimeExtent:{start:t,end:n},timeZone:null,interval:i?{value:e.interval,unit:i}:null})}}this.raster=t,this._configDefaultSettings(),this.addHandles((0,c.wB)((()=>this.customParameters),(e=>this.raster.ioConfig.customFetchParameters=e)))}};(0,i._)([(0,u.MZ)({type:String,nonNullable:!0,json:{name:"wcsInfo.coverageId",write:{isRequired:!0}}})],De.prototype,"coverageId",void 0),(0,i._)([(0,u.MZ)()],De.prototype,"coverageInfo",null),(0,i._)([(0,u.MZ)({type:["1.0.0","1.1.0","1.1.1","1.1.2","2.0.1"],nonNullable:!0,json:{name:"wcsInfo.version",write:{isRequired:!0}}})],De.prototype,"version",void 0),(0,i._)([(0,u.MZ)({type:Boolean,json:{read:!1,write:{enabled:!0,overridePolicy:()=>({enabled:!1})}}})],De.prototype,"isReference",void 0),(0,i._)([(0,u.MZ)({json:{read:!0,write:!0}})],De.prototype,"blendMode",void 0),(0,i._)([(0,u.MZ)(C.fV)],De.prototype,"legendEnabled",void 0),(0,i._)([(0,u.MZ)({type:["show","hide"]})],De.prototype,"listMode",void 0),(0,i._)([(0,u.MZ)()],De.prototype,"noData",void 0),(0,i._)([(0,u.MZ)({type:["WCS"]})],De.prototype,"operationalLayerType",void 0),(0,i._)([(0,u.MZ)()],De.prototype,"raster",void 0),(0,i._)([(0,u.MZ)({readOnly:!0})],De.prototype,"type",void 0),(0,i._)([(0,u.MZ)(C.M6)],De.prototype,"popupEnabled",void 0),(0,i._)([(0,u.MZ)({type:s.A,json:{name:"popupInfo",write:!0}})],De.prototype,"popupTemplate",void 0),(0,i._)([(0,u.MZ)({readOnly:!0})],De.prototype,"defaultPopupTemplate",null),(0,i._)([(0,u.MZ)({readOnly:!0,type:[I.A]})],De.prototype,"fields",void 0),(0,i._)([(0,u.MZ)({readOnly:!0,type:[I.A]})],De.prototype,"rasterFields",null),De=(0,i._)([(0,d.$)("esri.layers.WCSLayer")],De);const Ae=De},38458:(e,t,n)=>{n.d(t,{m:()=>s});const i=[[3819,3819],[3821,3824],[3889,3889],[3906,3906],[4001,4025],[4027,4036],[4039,4047],[4052,4055],[4074,4075],[4080,4081],[4120,4176],[4178,4185],[4188,4216],[4218,4289],[4291,4304],[4306,4319],[4322,4326],[4463,4463],[4470,4470],[4475,4475],[4483,4483],[4490,4490],[4555,4558],[4600,4646],[4657,4765],[4801,4811],[4813,4821],[4823,4824],[4901,4904],[5013,5013],[5132,5132],[5228,5229],[5233,5233],[5246,5246],[5252,5252],[5264,5264],[5324,5340],[5354,5354],[5360,5360],[5365,5365],[5370,5373],[5381,5381],[5393,5393],[5451,5451],[5464,5464],[5467,5467],[5489,5489],[5524,5524],[5527,5527],[5546,5546],[2044,2045],[2081,2083],[2085,2086],[2093,2093],[2096,2098],[2105,2132],[2169,2170],[2176,2180],[2193,2193],[2200,2200],[2206,2212],[2319,2319],[2320,2462],[2523,2549],[2551,2735],[2738,2758],[2935,2941],[2953,2953],[3006,3030],[3034,3035],[3038,3051],[3058,3059],[3068,3068],[3114,3118],[3126,3138],[3150,3151],[3300,3301],[3328,3335],[3346,3346],[3350,3352],[3366,3366],[3389,3390],[3416,3417],[3833,3841],[3844,3850],[3854,3854],[3873,3885],[3907,3910],[4026,4026],[4037,4038],[4417,4417],[4434,4434],[4491,4554],[4839,4839],[5048,5048],[5105,5130],[5253,5259],[5269,5275],[5343,5349],[5479,5482],[5518,5519],[5520,5520],[20004,20032],[20064,20092],[21413,21423],[21473,21483],[21896,21899],[22171,22177],[22181,22187],[22191,22197],[25884,25884],[27205,27232],[27391,27398],[27492,27492],[28402,28432],[28462,28492],[30161,30179],[30800,30800],[31251,31259],[31275,31279],[31281,31290],[31466,31700]];function s(e){return null!=e&&i.some((([t,n])=>e>=t&&e<=n))}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[752],{67482:(e,t,n)=>{function i(e){return null!=l(e)||null!=o(e)}function s(e){return a.test(e)}function r(e){return l(e)??o(e)}function o(e){const t=new Date(e);return function(e,t){if(Number.isNaN(e.getTime()))return!1;let n=!0;if(c&&/\d+\W*$/.test(t)){const e=t.match(/[a-zA-Z]{2,}/);if(e){let t=!1,i=0;for(;!t&&i<=e.length;)t=!u.test(e[i]),i++;n=!t}}return n}(t,e)?Number.isNaN(t.getTime())?null:t.getTime()-6e4*t.getTimezoneOffset():null}function l(e){const t=a.exec(e);if(!t?.groups)return null;const n=t.groups,i=+n.year,s=+n.month-1,r=+n.day,o=+(n.hours??"0"),l=+(n.minutes??"0"),u=+(n.seconds??"0");if(o>23)return null;if(l>59)return null;if(u>59)return null;const c=n.ms??"0",d=c?+c.padEnd(3,"0").slice(0,3):0;let p;if(n.isUTC||!n.offsetSign)p=Date.UTC(i,s,r,o,l,u,d);else{const e=+n.offsetHours,t=+n.offsetMinutes;p=6e4*("+"===n.offsetSign?-1:1)*(60*e+t)+Date.UTC(i,s,r,o,l,u,d)}return Number.isNaN(p)?null:p}n.d(t,{Br:()=>s,Cq:()=>i,_U:()=>r});const a=/^(?:(?<year>-?\d{4,})-(?<month>\d{2})-(?<day>\d{2}))(?:T(?<hours>\d{2}):(?<minutes>\d{2}):(?<seconds>\d{2})(?:\.(?<ms>\d+))?)?(?:(?<isUTC>Z)|(?:(?<offsetSign>\+|-)(?<offsetHours>\d{2}):(?<offsetMinutes>\d{2})))?$/,u=/^((jan(uary)?)|(feb(ruary)?)|(mar(ch)?)|(apr(il)?)|(may)|(jun(e)?)|(jul(y)?)|(aug(ust)?)|(sep(tember)?)|(oct(ober)?)|(nov(ember)?)|(dec(ember)?)|(am)|(pm)|(gmt)|(utc))$/i,c=!Number.isNaN(new Date("technology 10").getTime())},14607:(e,t,n)=>{n.d(t,{B:()=>u,GP:()=>l,qg:()=>c});var i=n(799),s=n(73444);const r={ar:[".",","],bg:[","," "],bs:[",","."],ca:[",","."],cs:[","," "],da:[",","."],de:[",","."],"de-ch":[".","’"],el:[",","."],en:[".",","],"en-au":[".",","],es:[",","."],"es-mx":[".",","],et:[","," "],fi:[","," "],fr:[","," "],"fr-ch":[","," "],he:[".",","],hi:[".",",","#,##,##0.###"],hr:[",","."],hu:[","," "],id:[",","."],it:[",","."],"it-ch":[".","’"],ja:[".",","],ko:[".",","],lt:[","," "],lv:[","," "],mk:[",","."],nb:[","," "],nl:[",","."],no:[","," "],pl:[","," "],pt:[",","."],"pt-pt":[","," "],ro:[",","."],ru:[","," "],sk:[","," "],sl:[",","."],sr:[",","."],sv:[","," "],th:[".",","],tr:[",","."],uk:[","," "],vi:[",","."],zh:[".",","]};function o(e=(0,s.JK)()){let t=(e=e.toLowerCase())in r;if(!t){const n=e.split("-");n.length>1&&n[0]in r&&(e=n[0],t=!0),t||(e="en")}const[n,i,o="#,##0.###"]=r[e];return{decimal:n,group:i,pattern:o}}function l(e,t){const n=o((t={...t}).locale);t.customs=n;const i=t.pattern||n.pattern;return isNaN(e)||Math.abs(e)===1/0?null:function(e,t,n){const i=(n=n||{}).customs.group,s=n.customs.decimal,r=t.split(";"),o=r[0];if((t=r[e<0?1:0]||"-"+o).includes("%"))e*=100;else if(t.includes("‰"))e*=1e3;else{if(t.includes("¤"))throw new Error("currency notation not supported");if(t.includes("E"))throw new Error("exponential notation not supported")}const l=a,u=o.match(l);if(!u)throw new Error("unable to find a number expression in pattern: "+t);return!1===n.fractional&&(n.places=0),t.replace(l,function(e,t,n){!0===(n=n||{}).places&&(n.places=0),n.places===1/0&&(n.places=6);const i=t.split("."),s="string"==typeof n.places&&n.places.indexOf(",");let r=n.places;s?r=n.places.slice(s+1):+r>=0||(r=(i[1]||[]).length),n.round<0||(e=Number(e.toFixed(Number(r))));const o=String(Math.abs(e)).split("."),l=o[1]||"";if(i[1]||n.places){s&&(n.places=n.places.slice(0,Math.max(0,s)));const e=void 0!==n.places?n.places:i[1]&&i[1].lastIndexOf("0")+1;+e>l.length&&(o[1]=l.padEnd(Number(e),"0")),+r<l.length&&(o[1]=l.slice(0,Math.max(0,Number(r))))}else o[1]&&o.pop();const a=i[0].replace(",","");let u=a.indexOf("0");-1!==u&&(u=a.length-u,u>o[0].length&&(o[0]=o[0].padStart(u,"0")),a.includes("#")||(o[0]=o[0].slice(-u)));let c,d,p=i[0].lastIndexOf(",");if(-1!==p){c=i[0].length-p-1;const e=i[0].slice(0,p);p=e.lastIndexOf(","),-1!==p&&(d=e.length-p-1)}const f=[];for(let e=o[0];e;){const t=e.length-c;f.push(t>0?e.slice(Math.max(0,t)):e),e=t>0?e.slice(0,t):"",d&&(c=d,d=void 0)}return o[0]=f.reverse().join(n.group||","),o.join(n.decimal||".")}(e,u[0],{decimal:s,group:i,places:n.places,round:n.round}))}(e,i,t)}const a=/[#0,]*[#0](?:\.0*#*)?/;function u(e){const t=o((e=e||{}).locale),n=e.pattern||t.pattern,s=t.group,r=t.decimal;let l=1;if(n.includes("%"))l/=100;else if(n.includes("‰"))l/=1e3;else if(n.includes("¤"))throw new Error("currency notation not supported");const u=n.split(";");1===u.length&&u.push("-"+u[0]);const c=p(u,(t=>(t="(?:"+(0,i.Cj)(t,".")+")").replace(a,(t=>{const n={signed:!1,separator:e.strict?s:[s,""],fractional:e.fractional,decimal:r,exponent:!1},i=t.split(".");let o=e.places;1===i.length&&1!==l&&(i[1]="###"),1===i.length||0===o?n.fractional=!1:(void 0===o&&(o=e.pattern?i[1].lastIndexOf("0")+1:1/0),o&&null==e.fractional&&(n.fractional=!0),!e.places&&+o<i[1].length&&(o+=","+i[1].length),n.places=o);const a=i[0].split(",");return a.length>1&&(n.groupSize=a.pop().length,a.length>1&&(n.groupSize2=a.pop().length)),"("+function(e){"places"in(e=e||{})||(e.places=1/0),"string"!=typeof e.decimal&&(e.decimal="."),"fractional"in e&&!String(e.places).startsWith("0")||(e.fractional=[!0,!1]),"exponent"in e||(e.exponent=[!0,!1]),"eSigned"in e||(e.eSigned=[!0,!1]);const t=d(e),n=p(e.fractional,(t=>{let n="";return t&&0!==e.places&&(n="\\"+e.decimal,e.places===1/0?n="(?:"+n+"\\d+)?":n+="\\d{"+e.places+"}"),n}),!0);let i=t+n;return n&&(i="(?:(?:"+i+")|(?:"+n+"))"),i+p(e.exponent,(t=>t?"([eE]"+d({signed:e.eSigned})+")":""))}(n)+")"}))),!0);return{regexp:c.replaceAll(/[\xa0 ]/g,"[\\s\\xa0]"),group:s,decimal:r,factor:l}}function c(e,t){const n=u(t),i=new RegExp("^"+n.regexp+"$").exec(e);if(!i)return NaN;let s=i[1];if(!i[1]){if(!i[2])return NaN;s=i[2],n.factor*=-1}return s=s.replaceAll(new RegExp("["+n.group+"\\s\\xa0]","g"),"").replace(n.decimal,"."),Number(s)*n.factor}function d(e){return"signed"in(e=e||{})||(e.signed=[!0,!1]),"separator"in e?"groupSize"in e||(e.groupSize=3):e.separator="",p(e.signed,(e=>e?"[-+]":""),!0)+p(e.separator,(t=>{if(!t)return"(?:\\d+)";" "===(t=(0,i.Cj)(t))?t="\\s":" "===t&&(t="\\s\\xa0");const n=e.groupSize,s=e.groupSize2;if(s){const e="(?:0|[1-9]\\d{0,"+(s-1)+"}(?:["+t+"]\\d{"+s+"})*["+t+"]\\d{"+n+"})";return n-s>0?"(?:"+e+"|(?:0|[1-9]\\d{0,"+(n-1)+"}))":e}return"(?:0|[1-9]\\d{0,"+(n-1)+"}(?:["+t+"]\\d{"+n+"})*)"}),!0)}const p=(e,t,n)=>{if(!Array.isArray(e))return t(e);const i=[];for(let n=0;n<e.length;n++)i.push(t(e[n]));return f(i.join("|"),Boolean(n))},f=(e,t)=>"("+(t?"?:":"")+e+")"},40752:(e,t,n)=>{n.r(t),n.d(t,{default:()=>Z});var i=n(78888),s=n(60999),r=n(67482),o=n(49186),l=n(53966),a=n(74887),u=n(84952),c=n(57251),d=n(16930),p=n(7320),f=n(21325),m=n(28735),h=n(43334),y=n(92722),g=n(58376),S=n(83221),N=n(31464),w=n(19730),x=n(14607),F=n(30524);function b(e,t,n){t=(0,F.rS)(t)?.toLowerCase(),n=(0,F.rS)(n)?.toLowerCase();const i=e.map((e=>e.toLowerCase())),s=t?e[i.indexOf(t)]:null,r=n?e[i.indexOf(n)]:null;return{longitudeFieldName:s||e[i.indexOf(_.find((e=>i.includes(e))))],latitudeFieldName:r||e[i.indexOf(I.find((e=>i.includes(e))))]}}const I=["lat","lat83","latitude","latitude83","latdecdeg","lat_dd","y","ycenter","point_y"],_=["lon","lng","lng83","long","long83","longitude","longitude83","longdecdeg","long_dd","x","xcenter","point_x"],T=/^\s*"([\S\s]*)"\s*$/,E=/""/g,C=[","," ",";","|","\t"];function*A(e,t,n){let i=0;for(;i<=e.length;){const s=e.indexOf(t,i),r=e.slice(i,s>-1?s:void 0);i+=r.length+t.length,n&&!r.trim()||(yield r)}}function O(e){const t=e.includes("\r\n")?"\r\n":"\n";return A(e,t,!0)}function v(e,t){return A(e,t,!1)}function q(e,t,n){e=e.trim(),t=t?.trim();const i=[],s=Array.from(new Set([n?.delimiter,...C])).filter((e=>null!=e));for(const n of s){const s=j(e,n).length,r=j(t,n).length??s;s>1&&i.push({weight:Math.min(s,r),delimiter:n})}const r=i.sort((({weight:e},{weight:t})=>t-e)).map((({delimiter:e})=>e));for(const t of r){const i=b(D(e,t).names,n?.longitudeField,n?.latitudeField);if(i.longitudeFieldName&&i.latitudeFieldName)return{delimiter:t,locationInfo:i}}return{delimiter:r[0],locationInfo:null}}function*k(e,t,n,i=()=>Object.create(null)){const s=O(e);s.next();let r="",o="",l=0,a=i(),u=0;e:for(const e of s){const s=v(e,n);for(const e of s)if(r+=o+e,o="",l+=R(e),l%2==0){if(l>0){const e=T.exec(r);if(!e){a=i(),u=0,r="",l=0;continue e}a[t[u]]=e[1].replaceAll(E,'"'),u++}else a[t[u]]=r,u++;r="",l=0}else o=n;0===l?(yield a,a=i(),u=0):o="\n"}}function D(e,t){const n=j(e,t).filter((e=>null!=e)),i=n.map((e=>(0,F.rS)(e)));for(let e=i.length-1;e>=0;e--)i[e]||(i.splice(e,1),n.splice(e,1));return{names:i,aliases:n}}function j(e,t){if(!e?.length)return[];const n=[];let i="",s="",r=0;const o=v(e,t);for(const e of o)if(i+=s+e,s="",r+=R(e),r%2==0){if(r>0){const e=T.exec(i);e&&n.push(e[1].replaceAll(E,'"'))}else n.push(i);i="",r=0}else s=t;return n}function R(e){let t=0,n=0;for(n=e.indexOf('"',n);n>=0;)t++,n=e.indexOf('"',n+1);return t}function M(e){if(!e.length)return"string";const t=/[^+\-.,0-9]/;return e.map((e=>{if(""!==e){if(!t.test(e)){let t=L(e);if(!isNaN(t))return/[.,]/.test(e)||!Number.isInteger(t)||t>214783647||t<-214783648?"double":"integer";if(e.includes("E")){if(t=Number(e),!Number.isNaN(t))return"double";if(e.includes(",")&&(e=e.replace(",","."),t=Number(e),!Number.isNaN(t)))return"double"}}return(0,r.Cq)(e)?"date":"string"}})).reduce(((e,t)=>void 0===e?t:void 0===t?e:e===t?t:"string"===e||"string"===t?"string":"double"===e||"double"===t?"double":void 0))}const L=function(){const e=(0,x.B)(),t=new RegExp("^"+e.regexp+"$"),n=new RegExp("["+e.group+"\\s\\xa0]","g"),i=e.factor;return s=>{const r=t.exec(s);if(e.factor=i,!r)return NaN;let o=r[1];if(!r[1]){if(!r[2])return NaN;o=r[2],e.factor*=-1}return o=o.replace(n,"").replace(e.decimal,"."),+o*e.factor}}();function z(e){return JSON.parse(JSON.stringify(e))}var $=n(64714),P=n(95466),V=n(54218),B=n(56400);const U=(0,$.F0)("esriGeometryPoint"),G=["csv"],Q=[0,0];class J{constructor(e,t){this.x=e,this.y=t}}class Z{constructor(){this._queryEngine=null,this._snapshotFeatures=async e=>{const t=await this._fetch(e);return this._createFeatures(t)}}destroy(){this._queryEngine?.destroy(),this._queryEngine=null}async load(e,t={}){this._loadOptions=e;const[n]=await Promise.all([this._fetch(t.signal),this._checkProjection(e?.parsingOptions?.spatialReference)]),i=function(e,t){const n=t.parsingOptions||{},i={delimiter:n.delimiter,layerDefinition:null,locationInfo:{latitudeFieldName:n.latitudeField,longitudeFieldName:n.longitudeField}},s=i.layerDefinition={name:(0,u.e7)(t.url,G)||"csv",dateFieldsTimeReference:{timeZoneIANA:B.n$},drawingInfo:U,geometryType:"esriGeometryPoint",objectIdField:null,fields:[],timeInfo:n.timeInfo,extent:{xmin:Number.POSITIVE_INFINITY,ymin:Number.POSITIVE_INFINITY,xmax:Number.NEGATIVE_INFINITY,ymax:Number.NEGATIVE_INFINITY,spatialReference:n.spatialReference||{wkid:4326}}},r=O(e),l=r.next().value?.trim(),a=r.next().value?.trim();if(!l)throw new o.A("csv-layer:empty-csv","CSV is empty",{csv:e});const{delimiter:c,locationInfo:d}=q(l,a,n);if(!c)throw new o.A("csv-layer:invalid-delimiter","Unable to detect the delimiter from CSV",{firstLine:l,secondLine:a,parsingOptions:n});if(!d)throw new o.A("csv-layer:location-fields-not-found","Unable to identify latitude and longitude fields from the CSV file",{firstLine:l,secondLine:a,parsingOptions:n});i.locationInfo=d,i.delimiter=c;const{names:p,aliases:f}=D(l,c),m=function(e,t,n,i,s){const r=[],o=k(e,n,t),l=[];for(const e of o){if(10===l.length)break;l.push(e)}for(let e=0;e<n.length;e++){const t=n[e],o=i[e];if(t===s.longitudeFieldName||t===s.latitudeFieldName)r.push({name:t,type:"esriFieldTypeDouble",alias:o});else{let e;switch(M(l.map((e=>e[t])))){case"integer":e="esriFieldTypeInteger";break;case"double":e="esriFieldTypeDouble";break;case"date":e="esriFieldTypeDate";break;default:e="esriFieldTypeString"}r.push({name:t,type:e,alias:o,length:(0,F._b)(e)})}}return r}(e,i.delimiter,p,f,i.locationInfo);if(n.fields?.length){const e=new P.A(n.fields);for(const t of m){const n=e.get(t.name);n&&Object.assign(t,n)}}if(!m.some((e=>"esriFieldTypeOID"===e.type&&(s.objectIdField=e.name,!0)))){const e={name:"__OBJECTID",alias:"__OBJECTID",type:"esriFieldTypeOID",editable:!1,nullable:!1};s.objectIdField=e.name,m.unshift(e)}s.fields=m;const h=new P.A(s.fields);if(i.locationInfo&&(i.locationInfo.latitudeFieldName=h.get(i.locationInfo.latitudeFieldName).name,i.locationInfo.longitudeFieldName=h.get(i.locationInfo.longitudeFieldName).name),s.timeInfo){const e=s.timeInfo;if(e.startTimeField){const t=h.get(e.startTimeField);t?(e.startTimeField=t.name,t.type="esriFieldTypeDate"):e.startTimeField=null}if(e.endTimeField){const t=h.get(e.endTimeField);t?(e.endTimeField=t.name,t.type="esriFieldTypeDate"):e.endTimeField=null}if(e.trackIdField){const t=h.get(e.trackIdField);e.trackIdField=t?t.name:null}e.startTimeField||e.endTimeField||(s.timeInfo=null)}return i}(n,e);this._locationInfo=i.locationInfo,this._delimiter=i.delimiter,this._queryEngine=this._createQueryEngine(i);const s=await this._createFeatures(n);this._queryEngine.featureStore.addMany(s);const{fullExtent:r,timeExtent:l}=await this._queryEngine.fetchRecomputedExtents();if(i.layerDefinition.extent=r,l){const{start:e,end:t}=l;i.layerDefinition.timeInfo.timeExtent=[e,t]}return i}async applyEdits(){throw new o.A("csv-layer:editing-not-supported","applyEdits() is not supported on CSVLayer")}async queryFeatures(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQuery(e,t.signal)}async queryFeatureCount(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQueryForCount(e,t.signal)}async queryObjectIds(e={},t={}){return await this._waitSnapshotComplete(),(await this._queryEngine.executeQueryForIds(e,t.signal)).filter(V.Et)}async queryExtent(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQueryForExtent(e,t.signal)}async querySnapping(e,t={}){return await this._waitSnapshotComplete(),(0,g.J)(this._queryEngine,e,t.signal)}async queryAttributeBins(e,t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeAttributeBinsQuery(e,t.signal)}async refresh(e){this._loadOptions.customParameters=e,this._snapshotTask?.abort(),this._snapshotTask=(0,s.UT)(this._snapshotFeatures),this._snapshotTask.promise.then((e=>{this._queryEngine.featureStore.clear(),e&&this._queryEngine.featureStore.addMany(e)}),(e=>{this._queryEngine.featureStore.clear(),(0,a.zf)(e)||l.A.getLogger("esri.layers.CSVLayer").error(new o.A("csv-layer:refresh","An error occurred during refresh",{error:e}))})),await this._waitSnapshotComplete();const{fullExtent:t,timeExtent:n}=await this._queryEngine.fetchRecomputedExtents();return{extent:t,timeExtent:n}}async _waitSnapshotComplete(){if(this._snapshotTask&&!this._snapshotTask.finished){try{await this._snapshotTask.promise}catch{}return this._waitSnapshotComplete()}}async _fetch(e){const{url:t,customParameters:n}=this._loadOptions;if(!t)throw new o.A("csv-layer:invalid-source","url not defined");const s=(0,u.An)(t);return(await(0,i.A)(s.path,{query:{...s.query,...n},responseType:"text",signal:e})).data}_createQueryEngine(e){const{objectIdField:t,fields:n,extent:i,timeInfo:s}=e.layerDefinition,r=new S.A({geometryType:"esriGeometryPoint",hasM:!1,hasZ:!1});return new w.do({fieldsIndex:P.A.fromLayerJSON({fields:n,dateFieldsTimeReference:{timeZoneIANA:B.n$}}),geometryType:"esriGeometryPoint",hasM:!1,hasZ:!1,timeInfo:s,objectIdField:t,spatialReference:i.spatialReference||{wkid:4326},featureStore:r})}async _createFeatures(e){const{latitudeFieldName:t,longitudeFieldName:n}=this._locationInfo,{objectIdField:i,fieldsIndex:s,spatialReference:o}=this._queryEngine;let l=[];const a=[],u=s.fields.filter((e=>e.name!==i)).map((e=>e.name));let g=0;const S={};for(const e of s.fields)if("esriFieldTypeOID"!==e.type&&"esriFieldTypeGlobalID"!==e.type){const t=(0,F.lD)(e);void 0!==t&&(S[e.name]=t)}const N=k(e,u,this._delimiter,(0,$.Vx)(S,i));for(const e of N){const o=this._parseCoordinateValue(e[t]),u=this._parseCoordinateValue(e[n]);if(null!=u&&null!=o&&!isNaN(o)&&!isNaN(u)){e[t]=o,e[n]=u;for(const i in e)if(i!==t&&i!==n)if(s.isDateField(i))e[i]=(0,r._U)(e[i]);else if(s.isNumericField(i)){const t=L(e[i]);isNaN(t)?e[i]=null:e[i]=t}else null!=e[i]&&(e[i]=z(e[i]));e[i]=g,g++,l.push(new J(u,o)),a.push(e)}}if(!(0,f.aI)({wkid:4326},o))if((0,f.K8)(o))for(const e of l)[e.x,e.y]=(0,m.je)(e.x,e.y,Q);else l=(0,c.projectMany)(p.g,l,d.A.WGS84,o,null,null);const w=[];for(let e=0;e<l.length;e++){const{x:t,y:n}=l[e],s=a[e];s[i]=e+1,w.push(new h.Om(new y.A([],[t,n]),s,null,s[i]))}return w}_parseCoordinateValue(e){if(null==e||""===e)return null;let t=L(e);return(isNaN(t)||Math.abs(t)>181)&&(t=parseFloat(e)),t}async _checkProjection(e){try{await(0,N.Nk)(f.KK,e)}catch{throw new o.A("csv-layer:projection-not-supported","Projection not supported")}}}},64714:(e,t,n)=>{n.d(t,{F0:()=>l,Vx:()=>c,e2:()=>p,f:()=>f});var i=n(44208),s=n(4718),r=n(99352),o=n(93470);function l(e){return{renderer:{type:"simple",symbol:"esriGeometryPoint"===e||"esriGeometryMultipoint"===e?o.Cb:"esriGeometryPolyline"===e?o.yM:o.WR}}}const a=/^[_$a-zA-Z][_$a-zA-Z0-9]*$/;let u=1;function c(e,t){if((0,i.A)("esri-csp-restrictions"))return()=>({[t]:null,...e});try{let n=`this${d(t)} = null;`;for(const t in e)n+=`this${d(t)} = ${JSON.stringify(e[t])};`;const i=new Function(`\n return class AttributesClass$${u++} {\n constructor() {\n ${n};\n }\n }\n `)();return()=>new i}catch(n){return()=>({[t]:null,...e})}}function d(e){return a.test(e)?`.${e}`:`["${e}"]`}function p(e={}){return[{name:"New Feature",description:"",prototype:{attributes:(0,s.o8)(e)}}]}function f(e,t){return{analytics:{supportsCacheHint:!1},attachment:null,data:{isVersioned:!1,isBranchVersioned:!1,supportsAttachment:!1,supportsM:!1,supportsZ:e},metadata:{supportsAdvancedFieldProperties:!1},operations:{supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsAdd:t,supportsDelete:t,supportsEditing:t,supportsChangeTracking:!1,supportsQuery:!0,supportsQueryBins:!0,supportsQueryAnalytics:!1,supportsQueryAttachments:!1,supportsQueryTopFeatures:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsUpdate:t,supportsExceedsLimitStatistics:!0,supportsAsyncConvert3D:!1},query:r.F,queryRelated:{supportsCount:!0,supportsOrderBy:!0,supportsPagination:!0,supportsCacheHint:!1},queryTopFeatures:{supportsCacheHint:!1},queryAttributeBins:r.P,editing:{supportsGeometryUpdate:t,supportsGlobalId:!1,supportsReturnServiceEditsInSourceSpatialReference:!1,supportsRollbackOnFailure:!1,supportsUpdateWithoutM:!1,supportsUploadWithItemId:!1,supportsDeleteByAnonymous:!1,supportsDeleteByOthers:!1,supportsUpdateByAnonymous:!1,supportsUpdateByOthers:!1,supportsAsyncApplyEdits:!1,zDefault:void 0}}}},93470:(e,t,n)=>{n.d(t,{Cb:()=>r,HW:()=>c,JR:()=>s,JZ:()=>a,WR:()=>l,b6:()=>d,fT:()=>i,nC:()=>u,yM:()=>o});const i=[252,146,31,255],s=[153,153,153,255],r={type:"esriSMS",style:"esriSMSCircle",size:6,color:i,outline:{type:"esriSLS",style:"esriSLSSolid",width:.75,color:[153,153,153,255]}},o={type:"esriSLS",style:"esriSLSSolid",width:.75,color:i},l={type:"esriSFS",style:"esriSFSSolid",color:[252,146,31,196],outline:{type:"esriSLS",style:"esriSLSSolid",width:.75,color:[255,255,255,191]}},a={type:"esriTS",color:[255,255,255,255],font:{family:"arial-unicode-ms",size:10,weight:"bold"},horizontalAlignment:"center",kerning:!0,haloColor:[0,0,0,255],haloSize:1,rotated:!1,text:"",xoffset:0,yoffset:0,angle:0},u={type:"esriSMS",style:"esriSMSCircle",color:[0,0,0,255],outline:null,size:10.5},c={type:"esriSLS",style:"esriSLSSolid",color:[0,0,0,255],width:1.5},d={type:"esriSFS",style:"esriSFSSolid",color:[0,0,0,255],outline:null}}}]);