@arcgis/core 6.0.0-next.16 → 6.0.0-next.17

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 (133) hide show
  1. package/assets/esri/core/workers/RemoteClient.js +1 -1
  2. package/assets/esri/core/workers/chunks/164c8eeefa8232b2b191.js +2 -0
  3. package/assets/esri/core/workers/chunks/1967b9c96045a5802d08.js +1 -0
  4. package/assets/esri/core/workers/chunks/{261fea092ee7d27608a0.js → 20a2124cbe43e5527c40.js} +1 -1
  5. package/assets/esri/core/workers/chunks/2853606099602f73d379.js +1 -0
  6. package/assets/esri/core/workers/chunks/2981e904ab62f3ed80d0.js +2 -0
  7. package/assets/esri/core/workers/chunks/32cc59e126df8c96a0cf.js +2 -0
  8. package/assets/esri/core/workers/chunks/{36cbd614454581aaf334.js → 34e0a8a3a2beea50f4f5.js} +1 -1
  9. package/assets/esri/core/workers/chunks/{3baa4a9c52f41bfd6abb.js → 3e30b96a8c75bd5b9ae2.js} +1 -1
  10. package/assets/esri/core/workers/chunks/{c79934cd6883307203f8.js → 42753cf4965a94bc91ca.js} +1 -1
  11. package/assets/esri/core/workers/chunks/{b564ec4e03478f5659db.js → 4c240ca50f70bf30813f.js} +1 -1
  12. package/assets/esri/core/workers/chunks/{70d3055f15d8b0cf4074.js → 532e9cda8ac3601d8892.js} +1 -1
  13. package/assets/esri/core/workers/chunks/{953ba13299e7aa92c1a0.js → 564565246dae080f5e6c.js} +1 -1
  14. package/assets/esri/core/workers/chunks/{2145a512d269d64036b0.js → 58c3ae6030def2ed5f31.js} +1 -1
  15. package/assets/esri/core/workers/chunks/5a19a9c3e01d3d415188.js +1 -0
  16. package/assets/esri/core/workers/chunks/5a830bc35adbedd33783.js +1 -0
  17. package/assets/esri/core/workers/chunks/{9f06ec95bdf0d0b52b41.js → 5b91e2dffdc84c006539.js} +1 -1
  18. package/assets/esri/core/workers/chunks/{5acb422fe3cf693d9d4f.js → 603fdbbe9534c614928f.js} +1 -1
  19. package/assets/esri/core/workers/chunks/{c5a9e77977e867a75ff2.js → 60f92eb03c6e17ab4747.js} +1 -1
  20. package/assets/esri/core/workers/chunks/{67ebc5a3d46b254b725c.js → 612345f17f5eeb99ea8f.js} +1 -1
  21. package/assets/esri/core/workers/chunks/{1b077c92345ffb5916c2.js → 65c98f3449044fa4fd79.js} +1 -1
  22. package/assets/esri/core/workers/chunks/{2bd4ee083ca4ad221f8b.js → 65cb5e39c467a35621ca.js} +1 -1
  23. package/assets/esri/core/workers/chunks/67a35155b8b4d36f171e.js +1 -0
  24. package/assets/esri/core/workers/chunks/{f9c5aa0bbf23e780fecc.js → 6ad309154fe84210d23c.js} +1 -1
  25. package/assets/esri/core/workers/chunks/784d6c6949284ed6e10b.js +1 -0
  26. package/assets/esri/core/workers/chunks/{e2190361247f35b02b32.js → 7b5cd150a4d0139850be.js} +1 -1
  27. package/assets/esri/core/workers/chunks/{9b051745d24d1f43480b.js → 7d2cbc767c336d15e4d5.js} +1 -1
  28. package/assets/esri/core/workers/chunks/{590e6c70206122e4cc3c.js → 844eedda8f749972f707.js} +2 -2
  29. package/assets/esri/core/workers/chunks/9503eedfdda55fc5adab.js +1 -0
  30. package/assets/esri/core/workers/chunks/999c23da883eb11cb29e.js +1 -0
  31. package/assets/esri/core/workers/chunks/9b6929faf649e81265fb.js +1 -0
  32. package/assets/esri/core/workers/chunks/a35c69a4751d28c39907.js +1 -0
  33. package/assets/esri/core/workers/chunks/{ec8b7476eac4718eb0ac.js → a504a5e06cb89a620799.js} +1 -1
  34. package/assets/esri/core/workers/chunks/a596779eaeec7310671d.js +1 -0
  35. package/assets/esri/core/workers/chunks/{d5d0fe8e198ff5a902ee.js → a5c8f9f5be4ef5063b42.js} +1 -1
  36. package/assets/esri/core/workers/chunks/{a7bd5ba4d7d97411fd33.js → ab1660f5f8a5268c2fac.js} +1 -1
  37. package/assets/esri/core/workers/chunks/{4bbe1f28f5f16a6bef05.js → ae0563d573baf91e01f7.js} +1 -1
  38. package/assets/esri/core/workers/chunks/b686cd74975da09b9c91.js +2 -0
  39. package/assets/esri/core/workers/chunks/{aa36c3a9bbaa086e3757.js → b8fd7c3b36981261378b.js} +1 -1
  40. package/assets/esri/core/workers/chunks/bd046399e05e759e0bc2.js +1 -0
  41. package/assets/esri/core/workers/chunks/bd46a04a9ee4ea9e6ef1.js +2 -0
  42. package/assets/esri/core/workers/chunks/bfb39590c548188f5052.js +1 -0
  43. package/assets/esri/core/workers/chunks/{bf35927979fc5e7e0478.js → dd0310184fe4832755a8.js} +1 -1
  44. package/assets/esri/core/workers/chunks/dfa5f1311806473e473f.js +1 -0
  45. package/assets/esri/core/workers/chunks/{634523cc7757da9020e4.js → fb70ab267a08e24b710f.js} +1 -1
  46. package/assets/esri/core/workers/chunks/fc139f251dc0523074e7.js +1 -0
  47. package/assets/esri/themes/base/widgets/_Weather.scss +1 -0
  48. package/assets/esri/themes/dark/main.css +1 -1
  49. package/assets/esri/themes/light/main.css +1 -1
  50. package/assets/esri/themes/light/view.css +1 -1
  51. package/chunks/lerc-wasm.js +1 -1
  52. package/config.js +1 -1
  53. package/core/sql/WhereGrammar.js +2 -2
  54. package/editing/sharedTemplates/executor/builders/equallySpaced.js +1 -1
  55. package/kernel.js +1 -1
  56. package/layers/ElevationLayer.js +1 -1
  57. package/layers/GeoJSONLayer.d.ts +1 -1
  58. package/layers/effects/parser.js +3 -3
  59. package/layers/raster/datasets/ImageServerRaster.js +1 -1
  60. package/layers/raster/formats/ElevationCodec.js +2 -0
  61. package/layers/raster/formats/Lerc.js +1 -1
  62. package/layers/support/LercWorker.js +1 -1
  63. package/layers/support/TileInfo.d.ts +1 -1
  64. package/layers/support/TileInfo.js +1 -1
  65. package/layers/support/layerOriginUtils.js +1 -1
  66. package/package.json +4 -4
  67. package/popup/FeaturesModel.js +1 -1
  68. package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
  69. package/smartMapping/support/adapters/FeatureLayerBinningAdapter.js +1 -1
  70. package/smartMapping/support/adapters/InMemoryLayerAdapter.js +1 -1
  71. package/smartMapping/support/adapters/OGCFeatureLayerAdapter.js +1 -1
  72. package/smartMapping/support/adapters/SceneLayerAdapter.js +1 -1
  73. package/smartMapping/support/adapters/support/utils.js +1 -1
  74. package/time/TimeExtent.d.ts +1 -1
  75. package/views/3d/analysis/Dimension/LengthDimensionSubTool.js +1 -1
  76. package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
  77. package/views/3d/analysis/Viewshed/ViewshedTool.js +1 -1
  78. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementTool.js +1 -1
  79. package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DTool.js +1 -1
  80. package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DTool.js +1 -1
  81. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  82. package/views/3d/layers/support/MediaLayerInteraction.js +1 -1
  83. package/views/3d/state/utils/navigationUtils.js +1 -1
  84. package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
  85. package/views/View.js +1 -1
  86. package/views/analysis/ElevationProfile/ElevationProfileTool.js +1 -1
  87. package/views/interactive/snapping/SnappingManagerPool.js +1 -1
  88. package/views/interactive/snapping/allLayerSnapping.js +1 -1
  89. package/widgets/AreaMeasurement2D/AreaMeasurement2DViewModel.d.ts +2 -1
  90. package/widgets/BasemapToggle/BasemapToggleViewModel.d.ts +2 -0
  91. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DViewModel.d.ts +2 -1
  92. package/widgets/ElevationProfile/components/Statistics.js +1 -1
  93. package/widgets/Expand/ExpandViewModel.d.ts +2 -0
  94. package/widgets/FeatureTable/support/FeatureStore.js +1 -1
  95. package/widgets/Fullscreen/FullscreenViewModel.d.ts +3 -1
  96. package/widgets/Home/HomeViewModel.d.ts +2 -0
  97. package/widgets/OrientedImageryViewer.js +1 -1
  98. package/widgets/Sketch/SketchViewModel.js +1 -1
  99. package/widgets/Swipe/SwipeViewModel.d.ts +2 -0
  100. package/widgets/Swipe/types.d.ts +9 -2
  101. package/widgets/TimeSlider/TimeSliderViewModel.d.ts +9 -5
  102. package/widgets/TimeSlider/types.d.ts +7 -0
  103. package/widgets/TimeSlider.d.ts +2 -3
  104. package/widgets/TimeSlider.js +1 -1
  105. package/widgets/Track/TrackViewModel.d.ts +4 -0
  106. package/widgets/Track/types.d.ts +1 -0
  107. package/widgets/support/Selector3D/selectorUtils.js +1 -1
  108. package/assets/esri/core/workers/chunks/0050916e462e3c9e0627.js +0 -1
  109. package/assets/esri/core/workers/chunks/23c43f09c4a4749516e1.js +0 -1
  110. package/assets/esri/core/workers/chunks/34cbaf844730ac2d92c2.js +0 -2
  111. package/assets/esri/core/workers/chunks/3c301a689c7853c9fa67.js +0 -2
  112. package/assets/esri/core/workers/chunks/3f946c13ad97fbed867b.js +0 -1
  113. package/assets/esri/core/workers/chunks/604f0f4150fb79ee54c8.js +0 -1
  114. package/assets/esri/core/workers/chunks/6299be5e7e26bf3c6859.js +0 -1
  115. package/assets/esri/core/workers/chunks/6a8dd8b18b0b825b0c1b.js +0 -1
  116. package/assets/esri/core/workers/chunks/745a153d0cd34faa124e.js +0 -1
  117. package/assets/esri/core/workers/chunks/7572c2bc5062e66f6330.js +0 -1
  118. package/assets/esri/core/workers/chunks/76ab353d80d786777161.js +0 -2
  119. package/assets/esri/core/workers/chunks/7b5f3c79e0605c32b267.js +0 -1
  120. package/assets/esri/core/workers/chunks/8483c50ed8f280fd74bb.js +0 -1
  121. package/assets/esri/core/workers/chunks/8cb716f110d164030309.js +0 -1
  122. package/assets/esri/core/workers/chunks/91dd65cf877c8f2e01a7.js +0 -1
  123. package/assets/esri/core/workers/chunks/b49df4ebd4be1181b0f9.js +0 -2
  124. package/assets/esri/core/workers/chunks/b557824bc1fa163d72a3.js +0 -2
  125. package/assets/esri/core/workers/chunks/d311ff96a5a2791d8cfc.js +0 -1
  126. package/assets/esri/core/workers/chunks/f9ff27cfcf0538ac5e26.js +0 -1
  127. package/assets/esri/core/workers/chunks/fc44227c1756f65b95df.js +0 -1
  128. /package/assets/esri/core/workers/chunks/{b557824bc1fa163d72a3.js.LICENSE.txt → 164c8eeefa8232b2b191.js.LICENSE.txt} +0 -0
  129. /package/assets/esri/core/workers/chunks/{b49df4ebd4be1181b0f9.js.LICENSE.txt → 2981e904ab62f3ed80d0.js.LICENSE.txt} +0 -0
  130. /package/assets/esri/core/workers/chunks/{34cbaf844730ac2d92c2.js.LICENSE.txt → 32cc59e126df8c96a0cf.js.LICENSE.txt} +0 -0
  131. /package/assets/esri/core/workers/chunks/{590e6c70206122e4cc3c.js.LICENSE.txt → 844eedda8f749972f707.js.LICENSE.txt} +0 -0
  132. /package/assets/esri/core/workers/chunks/{3c301a689c7853c9fa67.js.LICENSE.txt → b686cd74975da09b9c91.js.LICENSE.txt} +0 -0
  133. /package/assets/esri/core/workers/chunks/{76ab353d80d786777161.js.LICENSE.txt → bd46a04a9ee4ea9e6ef1.js.LICENSE.txt} +0 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[1003],{1003(e,t,i){i.r(t),i.d(t,{default:()=>ye});var a=i(49186),r=i(32198),s=i(91429),n=i(49859),l=i(68197),o=i(5443),f=i(16930),u=i(73444),h=i(94778),c=i(14140);function d(e){return["x","e","east","long","longitude"].includes(e.toLowerCase())}function p(e){return["y","n","west","lat","latitude"].includes(e.toLowerCase())}function m(e){let{axes:t}=e.domain,i=Object.keys(t),a=[],r=[],s=-1,n=-1,l=[];for(let e=0;e<i.length;e++){let o=i[e];d(o)?s=e:p(o)&&(n=e);let f=t[o],u=[];if("values"in f){f.values.forEach(e=>u.push("string"==typeof e?new Date(e).getTime():e));let e=u[1]-u[0];a.push([u[0]-.5*e,u[u.length-1]+.5*e]),r.push(e)}else{let{start:e,stop:t,num:i}=f,s=(t-e)/(i-1);a.push([e-.5*s,t+.5*s]),r.push(s);for(let t=0;t<i;t++)u.push(e+s*t)}l.push({name:o,values:u,extent:[u[0],u[u.length-1]]})}s>-1&&-1===n?n=+(0===s):n>-1&&-1===s?s=+(0===n):-1===n&&-1===s&&(s=0,n=1),l=l.filter((e,t)=>t!==s&&t!==n);let{referencing:u}=e.domain,h=u.find(e=>e.coordinates.includes(i[s])).system.id,c=h?.slice(h.lastIndexOf("/")+1),m=null==c||"CRS84"===c?4326:Number(c),g=new f.A({wkid:m}),[y,x]=a[s],[w,I]=a[n],b=new o.A({xmin:y,xmax:x,ymin:w,ymax:I,spatialReference:g});return{width:Math.round(b.width/r[s]),height:Math.round(b.height/r[n]),extent:b,dimensions:l}}function g(e){let t=(0,u.lR)();return t?e[t]??Object.values(e)[0]:Object.values(e)[0]}function y(){return Math.round(255*Math.random())}function x(e){let t={},{parameters:i}=e;if(!i)return t;for(let[e,a]of Object.entries(i)){let{type:i,description:r,unit:s,categoryEncoding:n,observedProperty:o}=a;if("Parameter"===i&&(t[e]={},r&&(t[e].description=g(r)),s&&(t[e].unit=s.label?g(s.label):null,t[e].symbol=s.symbol?.value),n)){let i=Object.entries(n).map((e,t)=>({OID:t,Value:Number(e[1]),ClassName:e[0].slice(e[0].lastIndexOf("/")+1),Count:1})),a=!1;o?.categories?.length&&(o.categories.forEach(e=>{if(!e.id)return;let t=e.id.slice(e.id.lastIndexOf("/")+1),r=i.find(e=>e.ClassName===t);if(r&&(r.Label=e.label?g(e.label):null,e.preferredColor)){let t=l.A.fromHex(e.preferredColor);t&&(a=!0,r.Red=t.r,r.Green=t.g,r.Blue=t.b)}}),a&&i.forEach(e=>{e.Red??(e.Red=y(),e.Green=y(),e.Blue=y())}));let r={objectIdFieldName:"",fields:[{name:"OID",type:"esriFieldTypeOID",alias:"OID",domain:null},{name:"Value",type:"esriFieldTypeInteger",alias:"Value",domain:null},{name:"Count",type:"esriFieldTypeDouble",alias:"Count",domain:null},{name:"ClassName",type:"esriFieldTypeString",alias:"ClassName",domain:null,length:50},{name:"Label",type:"esriFieldTypeString",alias:"Label",domain:null,length:50}],features:i.map(e=>({attributes:e}))};a&&r.fields.push({name:"Red",type:"esriFieldTypeInteger",alias:"Red",domain:null},{name:"Green",type:"esriFieldTypeInteger",alias:"Green",domain:null},{name:"Blue",type:"esriFieldTypeInteger",alias:"Blue",domain:null}),t[e].attributeTable=r}}return t}function w(e){let t=Number.MAX_VALUE,i=-Number.MAX_VALUE;for(let a=0;a<e.length;a++){let r=e[a];null!=r&&(r<t&&(t=r),r>i&&(i=r))}return(0,h.X1)(t,i)}function I(e,t,i){let a=e.map((e,i)=>({name:e,count:t[i]})).sort((e,t)=>e.name>t.name?-1:1),r=(e=>t=>e*=t.count)(1),s=[...a.slice(1),{name:"",count:1}].reverse().map(r).reverse(),n=0;for(let r=e.length-1;r>=0;r--){let l=a.findIndex(({name:t})=>t===e[r]);n+=s[l]*(i%t[r]),i=Math.floor(i/t[r])}return n}var b=i(17676),C=i(4366),v=i(47520),S=i(51927),A=i(45617),T=i(87186);let _=class extends n.A{constructor(){super(...arguments),this._pixelBlockTiles=new Map,this.datasetFormat="MEMORY",this.preGenerateTiles=!0,this.source=null}get url(){return""}async fetchRawTile(e,t,i,a={}){let r=`${e}/${t}/${i}`,s=this._pixelBlockTiles.get(r);if(s)return s;if(!this.source)return null;let{rasterInfo:n}=this,[l,o]=n.storageInfo.tileInfo.size,{sliceId:f}=a,{encodedData:u}=this.source;if(u){let s=await this.decodePixelBlock(u,{tileSize:[l,o],tileIndex:[e,t,i],canvasUsage:"canvas-only",cloneSource:!0,skipStatistics:!0},{signal:a.signal});return s&&this._pixelBlockTiles.set(r,s),s}let{pixelBlocks:h}=this.source,c=null==f?h[0]:h[f];if(null==c)return null;let d={pixelBlock:c,useBilinear:"thematic"!==n.dataType,tileSize:{width:l,height:o},level:e,row:t,col:i};return this.rasterJobHandler?this.rasterJobHandler.clipTile(d,a):(0,v.J$)(d)}async _open(e){if(!this.source)throw new a.A("in-memory-raster:open","source is required to open an in memory raster");let t=this.source;this.datasetName=t.name;let{pixelBlocks:i,attributeTable:r,statistics:s,histograms:n,nativeExtent:l,transform:u,colormap:h}=t,c=i[0],{width:d,height:p,pixelType:m}=c??t.imageInfo,g=t.extent??new o.A({xmin:-.5,ymin:.5,xmax:d-.5,ymax:p-.5,spatialReference:new f.A({wkid:3857})}),y=t.isPseudoSpatialReference??!t.extent,x={x:g.width/d,y:g.height/p},w={...t.keyProperties};t.dataType&&(w.DataType=t.dataType),t.bandInfos&&(w.BandProperties=t.bandInfos.map(e=>e.toJSON())),r&&(w.DataType="Thematic");let I=new T.A({width:d,height:p,pixelType:m,extent:g,nativeExtent:l,attributeTable:r,colormap:h,transform:u,pixelSize:x,spatialReference:g.spatialReference,bandCount:c?.pixels.length??t.imageInfo.bandCount,keyProperties:w,multidimensionalInfo:t.multidimensionalInfo,statistics:s,isPseudoSpatialReference:y,histograms:n});this.ioConfig.skipMapInfo&&this.updateImageSpaceRasterInfo(I),this.createRemoteDatasetStorageInfo(I,512,512),this._set("rasterInfo",I),this.updateTileInfo(),I.multidimensionalInfo?await this._buildMDimStats(i,I.multidimensionalInfo):this.preGenerateTiles&&c&&(await this._buildInMemoryRaster(c,{width:512,height:512},e),this.source=null)}async _buildInMemoryRaster(e,t,i){let{rasterInfo:r}=this,s=r.storageInfo.maximumPyramidLevel??0,n="thematic"!==r.dataType,l=this.rasterJobHandler?this.rasterJobHandler.split({pixelBlock:e,tileSize:t,maximumPyramidLevel:s,useBilinear:n},i):Promise.resolve((0,v.lD)(e,t,s,n)),o=null!=r.statistics,f=null!=r.histograms,u=this.ioConfig.skipStatistics||o?Promise.resolve({statistics:null,histograms:null}):this.rasterJobHandler?this.rasterJobHandler.estimateStatisticsHistograms({pixelBlock:e},i):Promise.resolve((0,S.f4)(e)),h=await(0,b.Lx)([l,u]);if(!h[0].value)throw new a.A("in-memory-raster:open","failed to build in memory raster");this._pixelBlockTiles=h[0].value,o||(r.statistics=h[1].value?.statistics),f||(r.histograms=h[1].value?.histograms)}async _buildMDimStats(e,t,i){for(let a=0;a<t.variables.length;a++){let r=t.variables[a];if(r.statistics)continue;let s=r.dimensions.map(e=>new A.A({variableName:r.name,dimensionName:e.name,values:[e.values?.[0]??e.extent?.[0]],isSlice:!0})),n=(0,C.NG)(s,t),l=null==n?null:e[n];if(null==l)continue;let o=this.rasterJobHandler?await this.rasterJobHandler.computeStatisticsHistograms({pixelBlock:l},i):(0,S.eH)(l);r.statistics=o.statistics,r.histograms||=o.histograms}}};(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],_.prototype,"datasetFormat",void 0),(0,r.Cg)([(0,s.MZ)({constructOnly:!0})],_.prototype,"preGenerateTiles",void 0),(0,r.Cg)([(0,s.MZ)()],_.prototype,"source",void 0),(0,r.Cg)([(0,s.MZ)()],_.prototype,"url",null),_=(0,r.Cg)([(0,s.$K)("esri.layers.raster.datasets.InMemoryRaster")],_);const R=_;var M=i(22671);let k=class extends n.A{constructor(){super(...arguments),this.datasetFormat="CovJSON"}fetchRawTile(e,t,i,a={}){return this._inMemoryRaster.fetchRawTile(e,t,i,a)}async _open(e){let{extent:t,pixelBlocks:i,multidimensionalInfo:a,attributeTable:r,bandNames:s}=await this._fetchData(e),{statistics:n,histograms:l}=(0,S.eH)(i[0]),o=s?.map(e=>({BandName:e})),f={DataType:r?"Thematic":a?"Scientific":"Generic",BandProperties:o},u=new R({source:{extent:t,pixelBlocks:i,attributeTable:r?M.A.fromJSON(r):null,multidimensionalInfo:a,statistics:n,histograms:l,keyProperties:f,isPseudoSpatialReference:!1}});await u.open(),this._inMemoryRaster=u;let h=this.source?"":this.url.slice(this.url.lastIndexOf("/")+1);this._set("datasetName",h.slice(0,h.indexOf("."))),this._set("rasterInfo",u.rasterInfo)}async _fetchData(e){let t=this.source??(await this.request(this.url,{signal:e?.signal})).data,i="imagery-tile-layer:open-coverage-json";if("coverage"!==t.type?.toLowerCase()||"grid"!==t.domain?.domainType?.toLowerCase())throw new a.A(i,"Only coverage with Grid domain type is supported");if(!t.ranges)throw new a.A(i,"Missing ranges in the grid coverage data");if(!t.domain.referencing?.length)throw new a.A(i,"Missing domain referencing in the grid coverage data");let r=Object.values(t.ranges);for(let e=0;e<r.length;e++){let{axisNames:t,shape:s,type:n,values:l}=r[e];if(!("ndarray"===n.toLowerCase()&&l?.length&&t?.length&&s?.length))throw new a.A(i,"Only ranges with valid NdArray, axisNames, shape, and inline values are supported");if(!d(t[t.length-1])||!p(t[t.length-2]))throw new a.A(i,"Only row-major ordered pixel values are supported. X axis must be the last axis.")}return function(e){let{width:t,height:i,extent:a,dimensions:r}=m(e),{ranges:s}=e,n=Object.keys(s).sort((e,t)=>e<t?-1:1),l=[];for(let e=0;e<n.length;e++){let t=n[e];r?.length&&l.push({name:t,dimensions:r})}let o=x(e);l.forEach(e=>o[e.name]&&Object.assign(e,o[e.name]));let f=l.length?{variables:l}:void 0,u=[];for(let e=0;e<n.length;e++){let{values:a,dataType:l,axisNames:o,shape:f}=s[n[e]],h=f.length>2?e*f.slice(0,-2).reduce((e,t)=>e*t):0,d=o.slice(0,-2),p=f.slice(0,-2),m="float"===l?"f32":w(a),g=t*i,y=a.length/g;for(let s=0;s<y;s++){let n=c.A.createEmptyBand(m,g),l=new Uint8Array(g).fill(255),o=!1,f=s*g;for(let e=0;e<g;e++){let t=a[f+e];null==t?(l[e]=0,o=!0):n[e]=t}if(0===e||r?.length){let e=new c.A({width:t,height:i,mask:o?l:null,pixels:[n],pixelType:m});e.updateStatistics(),r?.length?u[I(d,p,s)+h]=e:u.push(e)}else{let e=u[s];e.pixels.push(n),o?e.mask&&=c.A.combineBandMasks([e.mask,l]):e.mask=o?l:null}}}return{extent:a,pixelBlocks:u,multidimensionalInfo:f,attributeTable:Object.values(o).find(e=>e.attributeTable)?.attributeTable,bandNames:f?void 0:n}}(t)}};(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],k.prototype,"datasetFormat",void 0),(0,r.Cg)([(0,s.MZ)({constructOnly:!0})],k.prototype,"source",void 0),k=(0,r.Cg)([(0,s.$K)("esri.layers.raster.datasets.CovJSONRaster")],k);const O=k;var F=i(4576),P=i(21325),D=i(330),B=i(43163);function L(e,t){if(!e||!t)return null;let i=[];for(let a=0;a<e.length;a++)i.push(e[a]),i.push(t[a]);return i}function N(e){if(!e)return null;let t=Number(e);if(!isNaN(t)&&0!==t)return new f.A({wkid:t});if(e=String(e).trim(),(0,P.jp)(e))return new f.A({wkt2:e});let i=e.toUpperCase();if(i.startsWith("COMPD_CS")){if(!i.includes("VERTCS")||!i.includes("GEOGCS")&&!i.startsWith("PROJCS"))return null;let a=i.indexOf("VERTCS"),r=i.indexOf("PROJCS"),s=r>-1?r:i.indexOf("GEOGCS");if(-1===s)return null;let n=e.slice(s,e.lastIndexOf("]",a)+1).trim(),l=e.slice(a,e.lastIndexOf("]")).trim();t=E(n);let o=t?new f.A({wkid:t}):new f.A({wkt:n}),u=E(l);return u&&(o.vcsWkid=u),o}return i.startsWith("GEOGCS")||i.startsWith("PROJCS")?(t=E(e),0===t?new f.A({wkt:e}):new f.A({wkid:t})):null}function E(e){let t=e.replaceAll("]","[").replaceAll('"',"").split("[").map(e=>e.trim()).filter(e=>""!==e),i=t[t.length-1].split(","),a=i[0]?.toLowerCase();if(("epsg"===a||"esri"===a)&&e.endsWith('"]]')){let e=Number(i[1]);if(!isNaN(e)&&0!==e)return e}return 0}function H(e){if("pamdataset"!==e?.documentElement.tagName?.toLowerCase())return{};let t={spatialReference:null,transform:null,metadata:{},rasterBands:[],statistics:null,histograms:null};e.documentElement.childNodes.forEach(e=>{if(1===e.nodeType)if((0,D.g7)(e,"SRS")){if(!t.spatialReference){let i=(0,D.mX)(e);t.spatialReference=N(i)}}else if((0,D.g7)(e,"Metadata"))if("xml:ESRI"===e.getAttribute("domain")){let{spatialReference:i,transform:a}=function(e){let t=(0,D.V6)(e,"GeodataXform"),i=N((0,D.v7)(t,"SpatialReference/WKID")||(0,D.mX)(t,"SpatialReference/WKT"));if("typens:PolynomialXform"!==t.getAttribute("xsi:type"))return{spatialReference:i,transform:null};let a=(0,D.v7)(t,"PolynomialOrder")??1,r=(0,D.Ui)(t,"CoeffX/Double"),s=(0,D.Ui)(t,"CoeffY/Double"),n=(0,D.Ui)(t,"InverseCoeffX/Double"),l=(0,D.Ui)(t,"InverseCoeffY/Double"),o=L(r,s),f=L(n,l);return{spatialReference:i,transform:o&&f&&o.length&&f.length?new B.A({spatialReference:i,polynomialOrder:a,forwardCoefficients:o,inverseCoefficients:f}):null}}(e);t.transform=a,t.spatialReference||=i}else(0,D.IC)(e,"MDI").forEach(e=>t.metadata[e.getAttribute("key")]=(0,D.mX)(e));else if((0,D.g7)(e,"PAMRasterBand")){let i=function(e){let t,i,a,r,s=(0,D.v7)(e,"NoDataValue"),n=(0,D.V6)(e,"Histograms/HistItem"),l=(0,D.v7)(n,"HistMin"),o=(0,D.v7)(n,"HistMax"),f=(0,D.v7)(n,"BucketCount"),u=(0,D.mX)(n,"HistCounts")?.split("|").map(e=>Number(e));(0,D.IC)(e,"Metadata/MDI").forEach(e=>{let s=Number(e.textContent??e.nodeValue);switch(e.getAttribute("key").toUpperCase()){case"STATISTICS_MINIMUM":t=s;break;case"STATISTICS_MAXIMUM":i=s;break;case"STATISTICS_MEAN":a=s;break;case"STATISTICS_STDDEV":r=s}});let h=(0,D.v7)(e,"Metadata/SourceBandIndex");return{noDataValue:s,histogram:u?.length&&null!=l&&null!=o?{min:l,max:o,size:f||u.length,counts:u}:null,sourceBandIndex:h,statistics:null!=t&&null!=i?{min:t,max:i,avg:a,stddev:r}:null}}(e);null!=i.sourceBandIndex&&null==t.rasterBands[i.sourceBandIndex]?t.rasterBands[i.sourceBandIndex]=i:t.rasterBands.push(i)}});let i=t.rasterBands;return i.length&&(t.statistics=i[0].statistics?i.map(e=>e.statistics).filter(F.Ru):null,t.histograms=i[0].histogram?i.map(e=>e.histogram).filter(F.Ru):null),t}var z=i(85951),J=i(40951);const U="image-aux-raster:open",G="The data is not a supported format.";let j=class extends n.A{set rasterJobHandler(e){this._set("rasterJobHandler",e),this._inMemoryRaster&&(this._inMemoryRaster.rasterJobHandler=e)}async fetchRawTile(e,t,i,a={}){return this._inMemoryRaster?.fetchRawTile(e,t,i,a)}async _open(e){let t,{data:i,format:r}=await this._fetchData(e),{tileGeneration:s}=this.ioConfig,n="immediate"===s||"jpg"!==r;if(n){let s=await this._decodeFullImage(i,r,e);if(!s)throw new a.A(U,"The data cannot be decoded.");t=await this._createRasterSource(s,e)}else{let r=(0,z.R)(i);if(!r)throw new a.A(U,G);t=await this._createRasterSource(r,e),t.encodedData=i}let{rasterJobHandler:l,ioConfig:o}=this,f=new R({preGenerateTiles:n,rasterJobHandler:l,source:t,ioConfig:{...o,sampling:"closest",skipStatistics:!0}});await f.open(e),this._set("rasterInfo",f.rasterInfo),this._inMemoryRaster=f}async _createRasterSource(e,t){let{spatialReference:i,statistics:a,histograms:r,transform:s}=await this._fetchAuxiliaryData(t),n=!i;n&&(i=new f.A({wkid:3857})),r?.length&&null==a&&(a=(0,S.Pg)(r));let{width:l,height:u}=e,h=new o.A({xmin:-.5,ymin:.5-u,xmax:l-.5,ymax:.5,spatialReference:i}),c=s?s.forwardTransform(h):h,d=!0;if(s){let e=s.forwardCoefficients;d=e&&0===e[1]&&0===e[2],d&&(s=null,h=c)}let p=[];return"pixels"in e&&p.push(e),{name:this.datasetName,pixelBlocks:p,imageInfo:{width:l,height:u,pixelType:"u8",bandCount:3},extent:c,nativeExtent:h,transform:s,statistics:a,histograms:r,isPseudoSpatialReference:n,keyProperties:{DataType:"Processed"}}}async _fetchData(e){let{data:t}=await this.request(this.url,{responseType:"array-buffer",signal:e?.signal}),i=(0,J.g)(t);if("jpg"!==i&&"png"!==i&&"gif"!==i&&"bmp"!==i)throw new a.A(U,G);return this._set("datasetFormat",i.toUpperCase()),{data:t,format:i}}async _decodeFullImage(e,t,i){try{return await this.decodePixelBlock(e,{format:t,canvasUsage:"canvas-only",cloneSource:!0,skipStatistics:!0},i)}catch{return(0,b.Te)(i?.signal),this.decodePixelBlock(e,{format:t,canvasUsage:"no-canvas",skipStatistics:!0},i)}}async _fetchAuxiliaryData(e){let t=e?.signal,{skipExtensions:i=[],skipMapInfo:a}=this.ioConfig,r=a||i.includes("aux.xml")?null:this.request(this.url+".aux.xml",{responseType:"xml",signal:t}),s=this.datasetFormat,n="JPG"===s?"jgw":"PNG"===s?"pgw":"BMP"===s?"bpw":null,l=a||null==n||i.includes(n)?null:this.request(this.url.slice(0,this.url.lastIndexOf("."))+"."+n,{responseType:"text",signal:t}),o=await(0,b.Lx)([r,l]);if(t?.aborted)throw(0,b.NK)();let f=H(o[0].value?.data);if(!f.transform){let e=o[1].value?o[1].value.data.split("\n").slice(0,6).map(e=>Number(e)):null;f.transform=6===e?.length?new B.A({forwardCoefficients:[e[4],e[5],e[0],-e[1],e[2],-e[3]]}):null}return f}};(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],j.prototype,"datasetFormat",void 0),(0,r.Cg)([(0,s.MZ)()],j.prototype,"rasterJobHandler",null),j=(0,r.Cg)([(0,s.$K)("esri.layers.raster.datasets.ImageAuxRaster")],j);const q=j;var W=i(97768),V=i(84952),Z=i(86738),$=i(75414),X=i(20223),K=i(87045),Y=i(25943),Q=i(82371);let ee=class extends n.A{constructor(){super(...arguments),this._levelOffset=0,this._tilemapCache=null,this._slices=null,this.datasetFormat="RasterTileServer",this.tileType=null}async fetchRawTile(e,t,i,a={}){let{storageInfo:r,extent:s}=this.rasterInfo,{transposeInfo:n}=r,l=null!=n&&!!a.transposedVariableName;if(this._slices&&!l&&null==a.sliceId)return null;let o,f,u=l?0:r.maximumPyramidLevel-e+this._levelOffset,h=`${this.url}/tile/${u}/${t}/${i}`,c={...this._slices?l?{variable:a.transposedVariableName}:{sliceId:a.sliceId||0}:null,...a.refreshParameters};if(r.isBsqTile){let e=(a.bandIds?.length?a.bandIds:[0,1,2]).map(e=>this.request(h,{query:{...c,bandId:e},responseType:"array-buffer",signal:a.signal})),t=await Promise.all(e),i=t.map(e=>e.data.byteLength).reduce((e,t)=>e+t),r=new Uint8Array(i);f=[];let s=0;for(let{data:e}of t)f.push(s),r.set(new Uint8Array(e),s),s+=e.byteLength;o=r.buffer}else o=(await this.request(h,{query:c,responseType:"array-buffer",signal:a.signal})).data;if(!o)return null;let{tileInfo:d}=r,p=l?n.tileSize:d.size,m=/^(mixed|jp)/i.test(d.format),g="raw"===d.format,y=await this.decodePixelBlock(o,{format:g?"bsq":void 0,width:p[0],height:p[1],planes:f?.length,offsets:f,pixelType:g?this.rasterInfo.pixelType:void 0,isPoint:"Elevation"===this.tileType,returnInterleaved:l,noDataValue:this.rasterInfo.noDataValue,applyJpegMask:m},{signal:a.signal});if(null==y)return null;let x=r.blockBoundary[e];if("jpg"!==r.compression||i>x.minCol&&i<x.maxCol&&t>x.minRow&&t<x.maxRow)return y;let{origin:w,blockWidth:I,blockHeight:b}=r,{x:C,y:S}=this.getPyramidPixelSize(e),A=Math.round((s.xmin-w.x)/C)%I,T=Math.round((s.xmax-w.x)/C)%I||I,_=Math.round((w.y-s.ymax)/S)%b,R=Math.round((w.y-s.ymin)/S)%b||b,M=i===x.minCol?A:0,k=t===x.minRow?_:0,O=i===x.maxCol?T:I,F=t===x.maxRow?R:b;return(0,v.z$)(y,{x:M,y:k},{width:O-M,height:F-k}),y}getSliceIndex(e){if(!this._slices||null==e||0===e.length)return null;let t=e;for(let e=0;e<this._slices.length;e++){let i=this._slices[e].multidimensionalDefinition;if(i.length===t.length&&!i.some(e=>{let i=t.find(t=>e.variableName===t.variableName&&t.dimensionName===e.dimensionName);return!i||(Array.isArray(e.values[0])?`${e.values[0][0]}-${e.values[0][1]}`:e.values[0])!==(Array.isArray(i.values[0])?`${i.values[0][0]}-${i.values[0][1]}`:i.values[0])}))return e}return null}async fetchVariableStatisticsHistograms(e,t){let i=this.request(this.url+"/statistics",{query:{variable:e,f:"json"},signal:t}).then(e=>e.data?.statistics),a=this.request(this.url+"/histograms",{query:{variable:e,f:"json"},signal:t}).then(e=>e.data?.histograms),r=await Promise.all([i,a]);return r[0]&&r[0].forEach(e=>{e.avg=e.mean,e.stddev=e.standardDeviation}),r[1]?.[0]?.counts?.length||(r[1]=null),{statistics:r[0]||null,histograms:r[1]||null}}async computeBestPyramidLevelForLocation(e,t={}){if(!this._tilemapCache)return 0;let i=this.identifyPixelLocation(e,0,t.datumTransformation);if(null===i)return null;let a=0,{maximumPyramidLevel:r}=this.rasterInfo.storageInfo,s=r-a+this._levelOffset,n=i.srcLocation;for(;s>=0;){try{if("available"===await this._tilemapCache.fetchAvailability(s,i.row,i.col,t))break}catch{}if(s--,a++,i=this.identifyPixelLocation(n,a,t.datumTransformation),null===i)return null}return-1===s||null==i?null:a}async _open(e){let t=e?.signal,i=this.sourceJSON?{data:this.sourceJSON}:await this.request(this.url,{query:{f:"json"},signal:t});i.ssl&&(this.url=this.url.replace(/^http:/i,"https:"));let r=i.data;if(this.sourceJSON=r,!r)throw new a.A("imageserverraster:open","cannot initialize tiled image service, missing service info");if(!r.tileInfo)throw new a.A("imageserverraster:open","use ImageryLayer to open non-tiled image services");this._fixScaleInServiceInfo();this.tileType=r.cacheType,this.tileType??=["jpg","jpeg","png","png8","png24","png32","mixed"].includes(r.tileInfo.format.toLowerCase())?"Map":"lerc"===r.tileInfo.format.toLowerCase()?"Elevation":"Raster",this.datasetName=r.name?.slice(r.name.indexOf("/")+1)??"";let s=this.rasterInfo??await this._fetchRasterInfo({signal:t});if(null==s)throw new a.A("image-server-raster:open","cannot initialize image service");(0,Q.E9)(s,r);let n="Map"===this.tileType?function(e,t){if(!e)return null;let{minScale:i,maxScale:a,minLOD:r,maxLOD:s}=t;if(null!=r&&null!=s)return K.A.fromJSON({...e,lods:e.lods.filter(({level:e})=>null!=e&&e>=r&&e<=s)});if(0!==i&&0!==a){let t=e=>Math.round(1e4*e)/1e4,r=i?t(i):1/0,s=a?t(a):-1/0;return K.A.fromJSON({...e,lods:e.lods.filter(e=>{let i=t(e.scale);return i<=r&&i>=s})})}return K.A.fromJSON(e)}(r.tileInfo,r):K.A.fromJSON(r.tileInfo);(0,W.Lw)(n);let[l,o]=this._computeMinMaxLOD(s,n),{extent:f,pixelSize:u}=s,h=.001*Math.min(u.x,u.y);(u.x!==u.y||Math.abs(l.resolution-u.x)>h)&&(u.x=u.y=l.resolution,s.width=Math.ceil((f.xmax-f.xmin)/u.x-.1),s.height=Math.ceil((f.ymax-f.ymin)/u.y-.1));let c=l.level-o.level,[d,p]=n.size,m=[],g=[],{lods:y}=n;y.forEach((e,t)=>{e.level>=o.level&&e.level<=l.level&&m.push({x:e.resolution,y:e.resolution}),t<y.length-1&&g.push(Math.round(10*e.resolution/y[t+1].resolution)/10)}),m.sort((e,t)=>e.x-t.x);let x,w=this.computeBlockBoundary(f,d,p,n.origin,m,c),I=m.length>1?m.slice(1):null;r.transposeInfo&&(x={tileSize:[r.transposeInfo.rows,r.transposeInfo.cols],packetSize:s.keyProperties?._yxs.PacketSize??0});let b=g.length<=1||g.length>=3&&g.slice(0,-1).every(e=>e===g[0])?g[0]??2:Math.round(10/(o.resolution/l.resolution)**(-1/c))/10,C=!!r.bsq&&"Raster"===this.tileType;if(s.storageInfo=new X.A({blockWidth:n.size[0],blockHeight:n.size[1],pyramidBlockWidth:n.size[0],pyramidBlockHeight:n.size[1],pyramidResolutions:I,pyramidScalingFactor:b,compression:n.format,origin:n.origin,firstPyramidLevel:1,maximumPyramidLevel:c,tileInfo:n,isBsqTile:C,transposeInfo:x,blockBoundary:w}),function(e){let{extent:t,spatialReference:i}=e;t.xmin>-1&&t.xmax>181&&i?.wkid&&i.isGeographic&&(e.nativeExtent=e.extent,e.transform=new $.A,e.extent=e.transform.forwardTransform(t))}(s),this._set("rasterInfo",s),r.capabilities.toLowerCase().includes("tilemap")){let e={tileInfo:s.storageInfo.tileInfo,parsedUrl:(0,V.An)(this.url),url:this.url,tileServers:[]};this._tilemapCache=new Y.d({layer:e})}}async _fetchRasterInfo(e){let t=this.sourceJSON;if("Map"===this.tileType){let e=t.fullExtent||t.extent,i=Math.ceil((e.xmax-e.xmin)/t.pixelSizeX-.1),a=Math.ceil((e.ymax-e.ymin)/t.pixelSizeY-.1),r=f.A.fromJSON(t.spatialReference||e.spatialReference),s=new Z.A({x:t.pixelSizeX,y:t.pixelSizeY,spatialReference:r});return new T.A({width:i,height:a,bandCount:3,extent:o.A.fromJSON(e),spatialReference:r,pixelSize:s,pixelType:"u8",statistics:null,keyProperties:{DataType:"processed"}})}let i={...e,query:{...this.ioConfig.customFetchParameters,f:"json"}},a=(0,Q.Tw)(this.url,this.sourceJSON,i),r=t.hasMultidimensions?this.request(`${this.url}/slices`,i).then(e=>e.data?.slices).catch(()=>null):null,s=await Promise.all([a,r]);return this._slices=s[1],s[0]}_fixScaleInServiceInfo(){let{sourceJSON:e}=this;e.minScale&&e.minScale<0&&(e.minScale=0),e.maxScale&&e.maxScale<0&&(e.maxScale=0)}_computeMinMaxLOD(e,t){let{pixelSize:i}=e,a=.5/e.width*i.x,{lods:r}=t,s=t.lodAt(Math.max.apply(null,r.map(e=>e.level))),n=t.lodAt(Math.min.apply(null,r.map(e=>e.level))),{tileType:l}=this;if("Map"===l)return this._levelOffset=r[0].level,[s,n];if("Raster"===l)return[r.find(e=>e.resolution===i.x)??s,n];let{minScale:o,maxScale:f}=this.sourceJSON,u=s;f>0&&(u=r.find(e=>Math.abs(e.scale-f)<a),u||=r.filter(e=>e.scale>f).sort((e,t)=>e.scale>t.scale?1:-1)[0]??s);let h=n;return o>0&&(h=r.find(e=>Math.abs(e.scale-o)<a)??n,this._levelOffset=h.level-n.level),[u,h]}};(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],ee.prototype,"datasetFormat",void 0),(0,r.Cg)([(0,s.MZ)()],ee.prototype,"tileType",void 0),ee=(0,r.Cg)([(0,s.$K)("esri.layers.raster.datasets.ImageServerRaster")],ee);const te=ee;var ie=i(10713);const ae=new Map([["byte","u8"],["signedbyte","s8"],["int8","s8"],["uint8","u8"],["int16","s16"],["uint16","u16"],["int32","s32"],["uint32","u32"],["float32","f32"],["float64","f64"],["double64","f64"]]),re=new Map;re.set("none",{blobExtension:".til",isOneSegment:!0,decoderFormat:"bip"}),re.set("lerc",{blobExtension:".lrc",isOneSegment:!1,decoderFormat:"lerc"}),re.set("deflate",{blobExtension:".pzp",isOneSegment:!0,decoderFormat:"deflate"}),re.set("jpeg",{blobExtension:".pjg",isOneSegment:!0,decoderFormat:"jpg"}),re.set("qb3",{blobExtension:".pq3",isOneSegment:!0,decoderFormat:"qb3"});let se=class extends n.A{constructor(){super(...arguments),this._files=null,this._storageIndex=null,this._isBsq=!1,this.datasetFormat="MRF"}async fetchRawTile(e,t,i,a={}){let{blockWidth:r,blockHeight:s,blockBoundary:n}=this.rasterInfo.storageInfo,l=n[e];if(!l||l.maxRow<t||l.maxCol<i||l.minRow>t||l.minCol>i)return null;let{bandCount:o,pixelType:f}=this.rasterInfo,{ranges:u,actualTileWidth:h,actualTileHeight:d}=this._getTileLocation(e,t,i);if(!u||0===u.length)return null;if(u.some(e=>e.from>e.to)){let e=new Uint8Array(r*s);return new c.A({width:r,height:s,pixels:void 0,mask:e,validPixelCount:0})}let{bandIds:p}=this.ioConfig,m=this._getBandSegmentCount(),g=[],y=0;for(y=0;y<m;y++)(!p||p.includes(y))&&g.push(this.request(this._files.data,{range:{from:u[y].from,to:u[y].to},responseType:"array-buffer",signal:a.signal}));let x=await Promise.all(g),w=x.map(e=>e.data.byteLength).reduce((e,t)=>e+t),I=new Uint8Array(w),b=[],C=0;for(y=0;y<m;y++)b.push(C),I.set(new Uint8Array(x[y].data),C),C+=x[y].data.byteLength;let v=re.get(this.rasterInfo.storageInfo.compression).decoderFormat,S="jpg"===v&&4===o&&1===b.length,A=await this.decodePixelBlock(I.buffer,{width:r,height:s,format:v,planes:p?.length||o,offsets:b,pixelType:f,canvasUsage:S?"no-canvas":void 0,decodeJpegAsRgb:!1},{signal:a.signal});if(null==A)return null;let{noDataValue:T}=this.rasterInfo;if(null!=T&&"lerc"!==v&&!A.mask&&(T=T[0],null!=T)){let e=A.width*A.height,t=new Uint8Array(e);if(Math.abs(T)>1e24)for(y=0;y<e;y++)Math.abs((A.pixels[0][y]-T)/T)>1e-6&&(t[y]=1);else for(y=0;y<e;y++)A.pixels[0][y]!==T&&(t[y]=1);A.mask=t}let _=0,R=0;if(h!==r||d!==s){let e=A.mask;if(e)for(y=0;y<s;y++)if(R=y*r,y<d)for(_=h;_<r;_++)e[R+_]=0;else for(_=0;_<r;_++)e[R+_]=0;else for(e=new Uint8Array(r*s),A.mask=e,y=0;y<d;y++)for(R=y*r,_=0;_<h;_++)e[R+_]=1}return A}async _open(e){this.datasetName=this.url.slice(this.url.lastIndexOf("/")+1);let t=e?e.signal:null,i=await this.request(this.url,{responseType:"xml",signal:t}),{rasterInfo:a,files:r}=this._parseHeader(i.data),{skipMapInfo:s,skipExtensions:n=[]}=this.ioConfig;if(!n.includes("aux.xml")&&!s){let t=await this._fetchAuxiliaryData(e);null!=t&&(a.statistics=t.statistics??a.statistics,a.histograms=t.histograms,t.histograms&&null==a.statistics&&(a.statistics=(0,S.Pg)(t.histograms)))}s&&this.updateImageSpaceRasterInfo(a),this._set("rasterInfo",a),this._files=r;let l=await this.request(r.index,{responseType:"array-buffer",signal:t});this._storageIndex=function(e){if(e.byteLength%16>0)throw Error("invalid array buffer must be multiples of 16");let t;if(ie.Z){let i=new Uint8Array(e),a=new ArrayBuffer(e.byteLength),r=new Uint8Array(a);for(let t=0;t<e.byteLength/4;t++)for(let e=0;e<4;e++)r[4*t+e]=i[4*t+3-e];t=new Uint32Array(a)}else t=new Uint32Array(e);return t}(l.data);let{blockWidth:o,blockHeight:f}=this.rasterInfo.storageInfo,u=this.rasterInfo.storageInfo.pyramidScalingFactor,{width:h,height:c}=this.rasterInfo,d=[],p=this._getBandSegmentCount(),m=0,g=-1;for(;m<this._storageIndex.length;){g++;let e=Math.ceil(h/o/u**g)-1,t=Math.ceil(c/f/u**g)-1;m+=(e+1)*(t+1)*p*4,d.push({maxRow:t,maxCol:e,minCol:0,minRow:0})}this.rasterInfo.storageInfo.blockBoundary=d,g>0&&(this.rasterInfo.storageInfo.firstPyramidLevel=1,this.rasterInfo.storageInfo.maximumPyramidLevel=g),this.updateTileInfo()}_getBandSegmentCount(){return this._isBsq?this.rasterInfo.bandCount:1}_getTileLocation(e,t,i){let a,r,s,{blockWidth:n,blockHeight:l,pyramidScalingFactor:o}=this.rasterInfo.storageInfo,{width:f,height:u}=this.rasterInfo,h=this._getBandSegmentCount(),c=0,d=0;for(s=0;s<e;s++)d=o**s,a=Math.ceil(f/n/d),r=Math.ceil(u/l/d),c+=a*r;d=o**e,a=Math.ceil(f/n/d),r=Math.ceil(u/l/d),c+=t*a+i,c*=4*h;let p=this._storageIndex.subarray(c,c+4*h),m=0,g=0,y=[];for(let e=0;e<h;e++)m=p[4*e]*2**32+p[4*e+1],g=m+p[4*e+2]*2**32+p[4*e+3]-1,y.push({from:m,to:g});return{ranges:y,actualTileWidth:i<a-1?n:Math.ceil(f/d)-n*(a-1),actualTileHeight:t<r-1?l:Math.ceil(u/d)-l*(r-1)}}_parseHeader(e){let t=(0,D.V6)(e,"MRF_META/Raster");if(!t)throw new a.A("mrf:open","not a valid MRF format");let i=(0,D.V6)(t,"Size"),r=parseInt(i.getAttribute("x"),10),s=parseInt(i.getAttribute("y"),10),n=parseInt(i.getAttribute("c"),10),l=((0,D.mX)(t,"Compression")||"none").toLowerCase();if(!re.has(l))throw new a.A("mrf:open","currently does not support compression "+l);let u=(0,D.mX)(t,"DataType")||"UInt8",h=ae.get(u.toLowerCase());if(null==h)throw new a.A("mrf:open","currently does not support pixel type "+u);let c=(0,D.V6)(t,"PageSize"),d=parseInt(c.getAttribute("x"),10),p=parseInt(c.getAttribute("y"),10),m=c.getAttribute("c"),g=m?m===String(n):re.get(l).isOneSegment;this._isBsq=!g;let y,x=(0,D.V6)(t,"DataValues");if(x){let e=x.getAttribute("NoData");null!=e&&(y=e.trim().split(" ").map(e=>parseFloat(e)))}if((0,D.V6)(e,"MRF_META/CachedSource"))throw new a.A("mrf:open","currently does not support MRF referencing other data files");let w,I=(0,D.V6)(e,"MRF_META/GeoTags"),b=(0,D.V6)(I,"BoundingBox"),C=!1;if(null!=b){let e=parseFloat(b.getAttribute("minx")),t=parseFloat(b.getAttribute("miny")),i=parseFloat(b.getAttribute("maxx")),a=parseFloat(b.getAttribute("maxy")),r=(0,D.mX)(I,"Projection")||"",s=f.A.WGS84;if("LOCAL_CS[]"!==r)if(r.toLowerCase().startsWith("epsg:")){let e=Number(r.slice(5));!isNaN(e)&&0!==e&&(s=new f.A({wkid:e}))}else s=N(r)??f.A.WGS84;else C=!0,s=new f.A({wkid:3857});w=new o.A(e,t,i,a),w.spatialReference=s}else C=!0,w=new o.A({xmin:-.5,ymin:.5-s,xmax:r-.5,ymax:.5,spatialReference:new f.A({wkid:3857})});let v=(0,D.V6)(e,"MRF_META/Rsets"),S=parseInt(v?.getAttribute("scale")||"2",10),A=w.spatialReference,_=new X.A({origin:new Z.A({x:w.xmin,y:w.ymax,spatialReference:A}),blockWidth:d,blockHeight:p,pyramidBlockWidth:d,pyramidBlockHeight:p,compression:l,pyramidScalingFactor:S}),R=new Z.A({x:w.width/r,y:w.height/s,spatialReference:A}),M=new T.A({width:r,height:s,extent:w,isPseudoSpatialReference:C,spatialReference:A,bandCount:n,pixelType:h,pixelSize:R,noDataValue:y,storageInfo:_}),k=this._getAuxFullPath((0,D.mX)(t,"DataFile")),O=this._getAuxFullPath((0,D.mX)(t,"IndexFile"));return{rasterInfo:M,files:{mrf:this.url,index:O||this.url.replace(".mrf",".idx"),data:k||this.url.replace(".mrf",re.get(l).blobExtension)}}}_getAuxFullPath(e){return!e||e.includes("\\")?null:e.includes("/")?e.startsWith(new URL(this.url).origin)?e:null:`${this.url.slice(0,this.url.lastIndexOf("/"))}/${e}`}async _fetchAuxiliaryData(e){try{let{data:t}=await this.request(this.url+".aux.xml",{responseType:"xml",signal:e?.signal});return H(t)}catch{return null}}};(0,r.Cg)([(0,s.MZ)()],se.prototype,"_files",void 0),(0,r.Cg)([(0,s.MZ)()],se.prototype,"_storageIndex",void 0),(0,r.Cg)([(0,s.MZ)()],se.prototype,"_isBsq",void 0),(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],se.prototype,"datasetFormat",void 0),se=(0,r.Cg)([(0,s.$K)("esri.layers.raster.datasets.MRFRaster")],se);const ne=se;i(44208);var le=i(53966),oe=i(9334);function fe(e){let t=e.fields,i=e.records,a=t.some(e=>"oid"===e.name.toLowerCase())?"OBJECTID":"OID",r=[{name:a,type:"esriFieldTypeOID",alias:"OID"}].concat(t.map(e=>({name:e.name,type:"esriFieldType"+e.typeName,alias:e.name}))),s=r.map(e=>e.name),n=[],l=0,o=0;return i.forEach(e=>{let t={};for(t[a]=l++,o=1;o<s.length;o++)t[s[o]]=e[o-1];n.push({attributes:t})}),{displayFieldName:"",fields:r,features:n}}function ue(e){let t=new DataView(e),i=3&t.getUint8(0);if(3!==i)return{header:{version:i},recordSet:null};let a=t.getUint32(4,!0),r=t.getUint16(8,!0),s=t.getUint16(10,!0),n={version:i,recordCount:a,headerByteCount:r,recordByteCount:s},l=32,o=[],f=[];for(;13!==t.getUint8(l);){let i=String.fromCharCode(t.getUint8(l+11)).trim();o.push({name:(0,oe.w)(new Uint8Array(e,l,11)),type:i,typeName:["String","Date","Double","Boolean","String","Integer"][["C","D","F","L","M","N"].indexOf(i)],length:t.getUint8(l+16)}),l+=32}if(l+=1,o.length>0)for(;f.length<a&&e.byteLength-l>s;){let i=[];32===t.getUint8(l)?(l+=1,o.forEach(t=>{if("C"===t.type)i.push((0,oe.w)(new Uint8Array(e,l,t.length)).trim());else if("N"===t.type)i.push(parseInt(String.fromCharCode.apply(null,new Uint8Array(e,l,t.length)).trim(),10));else if("F"===t.type)i.push(parseFloat(String.fromCharCode.apply(null,new Uint8Array(e,l,t.length)).trim()));else if("D"===t.type){let a=String.fromCharCode.apply(null,new Uint8Array(e,l,t.length)).trim();i.push(new Date(parseInt(a.slice(0,4),10),parseInt(a.slice(4,6),10)-1,parseInt(a.slice(6,8),10)))}l+=t.length}),f.push(i)):l+=s}return{header:n,fields:o,records:f,recordSet:fe({fields:o,records:f})}}var he=i(44094),ce=i(94213);const de="none-tiled tiff is not optimized for access, convert to COG and retry.";let pe=class extends n.A{constructor(){super(...arguments),this._bufferSize=1048576,this._chunkSize=10485760,this._fileSize=-1,this._headerChunks=[],this.datasetFormat="TIFF",this.headerInfo=null}async fetchRawTile(e,t,i,a={}){if(!this.headerInfo?.isSupported||this.isBlockOutside(e,t,i))return null;let r=await this._fetchRawTiffTile(e,t,i,!1,a);if(null!=r&&this.headerInfo.hasMaskBand){let s=await this._fetchRawTiffTile(e,t,i,!0,a);null!=s&&s.pixels[0]instanceof Uint8Array&&(r.mask=s.pixels[0])}return r}async _open(e){this.datasetName=this.url.slice(this.url.lastIndexOf("/")+1,this.url.lastIndexOf(".")),await this._readHeader(e?.signal),await this._fetchAllAuxData(),this.ioConfig.skipMapInfo&&this.updateImageSpaceRasterInfo(this.rasterInfo),this.updateTileInfo()}async _readHeader(e){try{let t=await this._fetchHeaderData(0,this._bufferSize,e);if(!t)throw new a.A("tiffraster:open","failed to open url "+this.url);let{littleEndian:i,firstIFDPos:r,isBigTiff:s}=(0,he.uT)(t),n=[],l={fileChunk:t,posIFD:r,fileOffset:0};await this._readIFDs(n,l,i,s?8:4,e);let{imageInfo:u,rasterInfo:h}=function(e){let t=(0,he.uc)(e),{width:i,height:a,tileWidth:r,tileHeight:s,planes:n,pixelType:l,compression:u,firstPyramidLevel:h,maximumPyramidLevel:c,pyramidBlockWidth:d,pyramidBlockHeight:p,pyramidResolutions:m,tileBoundary:g,affine:y,metadata:x,colormap:w}=t,I=N(t.extent.spatialReference?.wkt||t.extent.spatialReference?.wkid),b=!!t.isPseudoGeographic;I??=(b=!0,new f.A({wkid:3857}));let C=new o.A({...t.extent,spatialReference:I}),v=C?new Z.A({x:C.xmin,y:C.ymax,spatialReference:I}):new Z.A({x:0,y:0}),S=new X.A({blockWidth:r,blockHeight:s,pyramidBlockWidth:d,pyramidBlockHeight:p,compression:u,origin:v,firstPyramidLevel:h,maximumPyramidLevel:c,pyramidResolutions:m,blockBoundary:g}),A=new Z.A({x:(C.xmax-C.xmin)/i,y:(C.ymax-C.ymin)/a,spatialReference:I}),_=x?{BandProperties:x.bandProperties,DataType:x.dataType}:{},R=new T.A({width:i,height:a,bandCount:n,pixelType:l,pixelSize:A,storageInfo:S,spatialReference:I,isPseudoSpatialReference:b,keyProperties:_,extent:C,colormap:w,statistics:x?x.statistics:null});if(y?.length&&(R.nativeExtent=new o.A({xmin:-.5,ymin:.5-a,xmax:i-.5,ymax:.5,spatialReference:I}),R.transform=new B.A({polynomialOrder:1,forwardCoefficients:[y[2]+y[0]/2,y[5]-y[3]/2,y[0],y[3],-y[1],-y[4]]}),R.extent=R.transform.forwardTransform(R.nativeExtent),R.pixelSize=new Z.A({x:(C.xmax-C.xmin)/i,y:(C.ymax-C.ymin)/a,spatialReference:I}),S.origin.x=-.5,S.origin.y=.5),m){let{x:e,y:t}=R.pixelSize;m.forEach(i=>{i.x*=e,i.y*=t})}return{imageInfo:t,rasterInfo:R}}(n),c=(0,he.zS)(n),d=(0,he.r9)(n);this.headerInfo={littleEndian:i,isBigTiff:s,ifds:n,pyramidIFDs:c,maskIFDs:d,...u},this._set("rasterInfo",h),this._validateHeader()}finally{this._headerChunks.length=0}}_validateHeader(){let e=this.headerInfo;if(!e.isSupported)throw new a.A("tiffraster:open","this tiff is not supported: "+e.message);if(!e.tileWidth||!e.tileHeight)throw new a.A("tiffraster:open",de);this.rasterInfo.isPseudoSpatialReference&&le.A.getLogger(this).warn("The spatial reference for this tiff is unsupported. Only EPSG spatial reference codes and Esri WKTs are supported.");let t=e.ifds[0],i=t.get("PREDICTOR")?.values?.[0];if(3===t.get("SAMPLEFORMAT")?.values?.[0]&&2===i)throw new a.A("tiffraster:open","unsupported horizontal difference encoding. Predictor=3 is supported for floating point data")}async _fetchHeaderData(e,t,i){let r=this._getCachedHeaderData(e,t);if(r)return r;let s=Math.floor(e/this._bufferSize)*this._bufferSize,n=s+Math.max(1,Math.ceil((t-s)/this._bufferSize))*this._bufferSize,l=this._getMissingHeaderRanges(s,n).map(async e=>{let{from:t,to:a}=e,r=await this._fetchOffsets(t,a,i),s=this._fileSize;return{chunk:r,fileOffset:t,isEOF:s>0?t+r.byteLength>=s:r.byteLength<a-t+1}}),o=await Promise.all(l);this._headerChunks.push(...o),this._headerChunks.sort((e,t)=>e.fileOffset-t.fileOffset);let f=this._getCachedHeaderData(e,t);if(!f)throw new a.A("tiffraster:open",`failed to fetch byte range ${e}-${t} from ${this.url}`);return f}_getCachedHeaderData(e,t){let i=[],a=e;for(let{chunk:r,fileOffset:s,isEOF:n}of this._headerChunks){if(s+r.byteLength-1<a)continue;if(s>a)return null;let l=a-s,o=Math.min(t-s+1,r.byteLength);if(i.push({chunk:r,start:l,end:o}),a=s+o,a>t||n&&o===r.byteLength){let t=new Uint8Array(a-e),r=0;for(let e of i){let i=new Uint8Array(e.chunk,e.start,e.end-e.start);t.set(i,r),r+=i.byteLength}return t.buffer}}return null}_getMissingHeaderRanges(e,t){let i=[],a=(e,t)=>{let a=Math.floor(e/this._bufferSize)*this._bufferSize,r=Math.ceil(t/this._bufferSize)*this._bufferSize;i.push({from:a,to:r})},r=e;for(let{chunk:e,fileOffset:s,isEOF:n}of this._headerChunks){let l=s+e.byteLength-1;if(!(l<r)&&(s>r&&a(r,Math.min(s-1,t)),r=Math.max(r,l+1),r>t||n))return i}return r<=t&&a(r,t),i}async _validateOrFetchHeaderBuffer(e,t){let{fileChunk:i,fileOffset:r,posIFD:s}=e;if(s+8>=i.byteLength||s<0){if(r=s+r,r<0)throw new a.A("tiffraster:open",`invalid IFD position ${r}. failed to open url ${this.url}`);i=await this._fetchHeaderData(r,r+this._bufferSize/2,t),s=0}return{fileChunk:i,fileOffset:r,posIFD:s}}async _readIFDs(e,t,i,r=4,s){if(!t.posIFD)return null;t=await this._validateOrFetchHeaderBuffer(t,s);let n=await this._readIFD(t,i,ce.NB,r,s);if(!n?.ifd)throw new a.A("tiffraster:open","cannot parse tiff header. failed to open url "+this.url);if(e.push(n.ifd),!n.nextIFD)return null;t.posIFD=n.nextIFD-t.fileOffset,await this._readIFDs(e,t,i,r,s)}async _readIFD(e,t,i=ce.NB,r=4,s){let{fileChunk:n,posIFD:l,fileOffset:o}=e;if(!e.fileChunk)return null;let f=(0,he.JM)(n,t,l,o,i,r);if(f.success){let{ifd:e}=f;if(!e)throw new a.A("tiffraster:open","cannot parse tiff header. failed to open url "+this.url);if(!(this.ioConfig.loadFullMetadata||i!==ce.NB||e.has("TILEWIDTH")&&e.has("TILELENGTH")))throw new a.A("tiffraster:open",de);let r=[];e.forEach(e=>{e.values||r.push(e)}),r.length>0&&await this._fillOffsets(r,t,f.nextIFD,s),(0,he.fM)(e),(0,he.h_)(e);for(let[i,a]of ce.RR){let r=e.get(i),f=null!=r?.data&&Array.from(r.data.values()).some(e=>null==e.values&&null!=e.offlineOffsetSize);if(r&&(!r.data||f)){l=r.valueOffset-o;let e=await this._validateOrFetchHeaderBuffer({fileChunk:n,posIFD:l,fileOffset:o},s);r.data=(await this._readIFD(e,t,a,4,s))?.ifd}}return f}return f.requiredBufferSize?(n=await this._fetchHeaderData(o,o+l+f.requiredBufferSize+8,s),n.byteLength<l+f.requiredBufferSize?null:(e.fileChunk=n,e.fileOffset=o,this._readIFD(e,t,i,r,s))):null}async _fillOffsets(e,t,i,a){let r=e.filter(e=>null!=e.offlineOffsetSize);if(0===r.length)return;let s=r.map(e=>e.offlineOffsetSize),n=Math.min.apply(null,s.map(e=>e[0])),l=Math.max.apply(null,s.map(e=>e[0]+e[1])),o=1===s.length||l-n<=this._bufferSize;if(!o&&s.length>1&&(s.sort((e,t)=>e[0]-t[0]),o=s.reduce((e,t)=>e===t[0]?t[0]+t[1]:0,s[0][0])===l),o){let e=Math.max(l,n+this._bufferSize/4),i=await this._fetchHeaderData(n,e,a);return void r.forEach(e=>(0,he.Cr)(i,t,e,n))}let f=r.map(async e=>{let i=e.offlineOffsetSize,r=await this._fetchHeaderData(i[0],i[1]+i[0],a);(0,he.Cr)(r,t,e,i[0])});await Promise.all(f)}async _fetchOffsets(e,t,i){let a=[],r=this._chunkSize;this._fileSize>0&&(t=Math.min(t,this._fileSize-1));let s=Math.ceil((t-e+1)/r),n=e;for(let e=0;e<s;e++)a.push(this.request(this.url,{range:{from:n,to:e===s-1?t:n+r-1},responseType:"array-buffer",signal:i})),n+=r;let l=await Promise.all(a);if(-1===this._fileSize&&206===l[0].httpStatus){let e=l[0].getHeader?.("Content-Range"),t=Number(e?.split("/")[1]);Number.isFinite(t)&&(this._fileSize=t)}if(1===l.length)return l[0].data;let o=l.reduce((e,t)=>e+t.data.byteLength,0),f=new Uint8Array(o),u=0;for(let e of l)f.set(new Uint8Array(e.data),u),u+=e.data.byteLength;return f.buffer}async _fetchRawTiffTile(e,t,i,a,r={}){let s=this._getTileLocation(e,t,i,a);if(!s)return null;let{ranges:n,actualTileWidth:l,actualTileHeight:o,ifd:f}=s,u=n.map(e=>this.request(this.url,{range:e,responseType:"array-buffer",signal:r.signal})),h=await Promise.all(u),c=h.map(e=>e.data.byteLength).reduce((e,t)=>e+t),d=1===h.length?h[0].data:new ArrayBuffer(c),p=[0],m=[0];if(h.length>1){let e=new Uint8Array(d);for(let t=0,i=0;t<h.length;t++){let a=h[t].data;e.set(new Uint8Array(a),i),p[t]=i,i+=a.byteLength,m[t]=a.byteLength}}let{blockWidth:g,blockHeight:y}=this.getBlockWidthHeight(e),x=await this.decodePixelBlock(d,{format:"tiff",customOptions:{headerInfo:this.headerInfo,ifd:f,offsets:p,sizes:m},width:g,height:y,planes:null,pixelType:null},{signal:r.signal});if(null==x)return null;if(l!==g||o!==y){let e=x.mask;if(e)for(let t=0;t<y;t++){let i=t*g;if(t<o)for(let t=l;t<g;t++)e[i+t]=0;else for(let t=0;t<g;t++)e[i+t]=0}else{e=new Uint8Array(g*y),x.mask=e;for(let t=0;t<o;t++){let i=t*g;for(let t=0;t<l;t++)e[i+t]=1}}}return x}_getTileLocation(e,t,i,a=!1){let{firstPyramidLevel:r,blockBoundary:s}=this.rasterInfo.storageInfo,n=0===e?0:e-(r-1),{headerInfo:l}=this;if(!l)return null;let o=a?l.maskIFDs[n]:0===n?l.ifds[0]:l.pyramidIFDs[n-1];if(!o)return null;let f=(0,he.XO)(o,l),u=(0,he.wc)(o,"TILEOFFSETS"),h=(0,he.wc)(o,"TILEBYTECOUNTS");if(!u?.length||!h?.length)return null;let{minRow:c,minCol:d,maxRow:p,maxCol:m}=s[n];if(t>p||i>m||t<c||i<d)return null;let g=(0,he.LZ)(o,"IMAGEWIDTH"),y=(0,he.LZ)(o,"IMAGELENGTH"),x=(0,he.LZ)(o,"TILEWIDTH"),w=(0,he.LZ)(o,"TILELENGTH"),I=[];if(f){let{bandCount:e}=this.rasterInfo;for(let a=0;a<e;a++){let e=a*(p+1)*(m+1)+t*(m+1)+i;I[a]={from:u[e],to:u[e]+h[e]-1}}}else{let e=t*(m+1)+i;I.push({from:u[e],to:u[e]+h[e]-1})}for(let e=0;e<I.length;e++)if(null==I[e].from||!I[e].to||I[e].to<0)return null;return{ranges:I,ifd:o,actualTileWidth:i===m&&g%x||x,actualTileHeight:t===p&&y%w||w}}async _fetchAllAuxData(e){if(this.ioConfig.skipMapInfo)return;let{rasterInfo:t}=this,{skipExtensions:i=[]}=this.ioConfig,a=i.includes("aux.xml")?Promise.resolve(null):this._fetchAuxiliaryMetaData(e),r=i.includes("vat.dbf")||1!==t.bandCount||"u8"!==t.pixelType?Promise.resolve(null):this._fetchAuxiliaryTable(e),[s,n]=await Promise.all([a,r]);null!=s&&function(e,t){if(t.statistics=e.statistics??t.statistics,t.histograms=e.histograms,e.histograms&&null==t.statistics&&(t.statistics=(0,S.Pg)(e.histograms)),e.transform&&null==t.transform){t.transform=e.transform,t.nativeExtent=t.extent;let i=t.transform.forwardTransform(t.nativeExtent);t.pixelSize=new Z.A({x:(i.xmax-i.xmin)/t.width,y:(i.ymax-i.ymin)/t.height,spatialReference:t.spatialReference}),t.extent=i}t.isPseudoSpatialReference&&e.spatialReference&&(t.spatialReference=e.spatialReference,t.extent.spatialReference=t.nativeExtent.spatialReference=t.storageInfo.origin.spatialReference=t.spatialReference)}(s,t),null!=n&&(t.attributeTable=n,t.keyProperties.DataType="thematic")}async _fetchAuxiliaryMetaData(e){try{let{data:t}=await this.request(this.url+".aux.xml",{responseType:"xml",signal:e?.signal});return H(t)}catch{return null}}async _fetchAuxiliaryTable(e){try{let{data:t}=await this.request(this.url+".vat.dbf",{responseType:"array-buffer",signal:e?.signal}),i=ue(t);return i?.recordSet?M.A.fromJSON(i.recordSet):null}catch{return null}}};(0,r.Cg)([(0,s.MZ)()],pe.prototype,"_bufferSize",void 0),(0,r.Cg)([(0,s.MZ)()],pe.prototype,"_chunkSize",void 0),(0,r.Cg)([(0,s.MZ)()],pe.prototype,"_fileSize",void 0),(0,r.Cg)([(0,s.MZ)()],pe.prototype,"_headerChunks",void 0),(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],pe.prototype,"datasetFormat",void 0),(0,r.Cg)([(0,s.MZ)()],pe.prototype,"headerInfo",void 0),pe=(0,r.Cg)([(0,s.$K)("esri.layers.raster.datasets.TIFFRaster")],pe);const me=pe,ge=new Map;ge.set("MRF",{desc:"Meta Raster Format",constructor:ne}),ge.set("TIFF",{desc:"GeoTIFF",constructor:me}),ge.set("RasterTileServer",{desc:"Raster Tile Server",constructor:te}),ge.set("JPG",{desc:"JPG Raster Format",constructor:q}),ge.set("PNG",{desc:"PNG Raster Format",constructor:q}),ge.set("GIF",{desc:"GIF Raster Format",constructor:q}),ge.set("BMP",{desc:"BMP Raster Format",constructor:q}),ge.set("CovJSON",{desc:"COVJSON Raster Format",constructor:O}),ge.set("MEMORY",{desc:"In Memory Raster Format",constructor:R});class ye{static get supportedFormats(){let e=new Set;return ge.forEach((t,i)=>e.add(i)),e}static async open(e){let{url:t,ioConfig:i,source:r,sourceJSON:s}=e,n=e.datasetFormat??i?.datasetFormat;n??(t.includes(".")?n=t.slice(t.lastIndexOf(".")+1).toUpperCase():"coverage"===r?.type?.toLowerCase()?n="CovJSON":r?.extent&&r.pixelblocks&&(n="MEMORY")),"OVR"===n||"TIF"===n||"DM"===n?n="TIFF":"JPG"===n||"JPEG"===n||"JFIF"===n?n="JPG":"COVJSON"===n&&(n="CovJSON"),t.toLowerCase().includes("/imageserver")&&!t.toLowerCase().includes("/wcsserver")&&(n="RasterTileServer");let l={url:t,source:r,sourceJSON:s,datasetFormat:n,ioConfig:i??{bandIds:null,sampling:null}};if(Object.keys(l).forEach(e=>{l[e]??delete l[e]}),n){if(!this.supportedFormats.has(n))throw new a.A("rasterfactory:open","not a supported format "+n);if("CRF"===n)throw new a.A("rasterfactory:open",`cannot open raster: ${t}`);let i=new(0,ge.get(n).constructor)(l);return i.rasterJobHandler=e.rasterJobHandler,i.rasterInfo=e.rasterInfo,await i.open({signal:e.signal}),i}let o=Array.from(ge.keys()).filter(e=>"CovJSON"!==e&&"Memory"!==e),f=0,u=()=>{if(n=o[f++],!n||"CRF"===n)return null;let t=new(0,ge.get(n).constructor)(l);return t.rasterJobHandler=e.rasterJobHandler,t.open({signal:e.signal}).then(()=>t).catch(()=>u())};return u()}static register(e,t,i){ge.has(e.toUpperCase())||ge.set(e.toUpperCase(),{desc:t,constructor:i})}}},10333(e,t,i){i.d(t,{A:()=>n});var a=i(32198),r=i(25482),s=i(91429);let n=class extends r.o{get affectsPixelSize(){return!1}forwardTransform(e){return e}inverseTransform(e){return e}};(0,a.Cg)([(0,s.MZ)()],n.prototype,"affectsPixelSize",null),(0,a.Cg)([(0,s.MZ)({json:{write:!0}})],n.prototype,"spatialReference",void 0),n=(0,a.Cg)([(0,s.$K)("esri.layers.raster.transforms.BaseRasterTransform")],n)},75414(e,t,i){i.d(t,{A:()=>o});var a,r=i(32198),s=i(91429),n=i(10333),l=i(93223);let o=a=class extends n.A{constructor(){super(...arguments),this.type="gcs-shift",this.tolerance=1e-8}forwardTransform(e){return"point"===(e=e.clone()).type?(e.x>180+this.tolerance&&(e.x-=360),e):(e.xmin>=180-this.tolerance?(e.xmax-=360,e.xmin-=360):e.xmax>180+this.tolerance&&(e.xmin=-180,e.xmax=180),e)}inverseTransform(e){return"point"===(e=e.clone()).type?(e.x<-this.tolerance&&(e.x+=360),e):(e.xmin<-this.tolerance&&(e.xmin+=360,e.xmax+=360),e)}clone(){return new a({tolerance:this.tolerance})}};(0,r.Cg)([(0,l.e)({GCSShiftXform:"gcs-shift"})],o.prototype,"type",void 0),(0,r.Cg)([(0,s.MZ)()],o.prototype,"tolerance",void 0),o=a=(0,r.Cg)([(0,s.$K)("esri.layers.raster.transforms.GCSShiftTransform")],o)},43163(e,t,i){i.d(t,{A:()=>p});var a,r=i(32198),s=i(91429),n=i(5443),l=i(86738),o=i(10333),f=i(36005),u=i(43937),h=i(93223);function c(e,t,i){let{x:a,y:r}=t;if(i<2)return{x:e[0]+a*e[2]+r*e[4],y:e[1]+a*e[3]+r*e[5]};if(2===i){let t=a*a,i=r*r,s=a*r;return{x:e[0]+a*e[2]+r*e[4]+t*e[6]+s*e[8]+i*e[10],y:e[1]+a*e[3]+r*e[5]+t*e[7]+s*e[9]+i*e[11]}}let s=a*a,n=r*r,l=a*r,o=s*a,f=s*r,u=a*n,h=r*n;return{x:e[0]+a*e[2]+r*e[4]+s*e[6]+l*e[8]+n*e[10]+o*e[12]+f*e[14]+u*e[16]+h*e[18],y:e[1]+a*e[3]+r*e[5]+s*e[7]+l*e[9]+n*e[11]+o*e[13]+f*e[15]+u*e[17]+h*e[19]}}function d(e,t,i){let{xmin:a,ymin:r,xmax:s,ymax:l,spatialReference:o}=t,f=[];if(i<2)f.push({x:a,y:l}),f.push({x:s,y:l}),f.push({x:a,y:r}),f.push({x:s,y:r});else{let e=10;for(let t=0;t<e;t++)f.push({x:a,y:r+(l-r)*t/(e-1)}),f.push({x:s,y:r+(l-r)*t/(e-1)});e=8;for(let t=1;t<=e;t++)f.push({x:a+(s-a)*t/e,y:r}),f.push({x:a+(s-a)*t/e,y:l})}f=f.map(t=>c(e,t,i));let u=f.map(e=>e.x),h=f.map(e=>e.y);return new n.A({xmin:Math.min.apply(null,u),xmax:Math.max.apply(null,u),ymin:Math.min.apply(null,h),ymax:Math.max.apply(null,h),spatialReference:o})}let p=a=class extends o.A{constructor(){super(...arguments),this.polynomialOrder=1,this.type="polynomial"}readForwardCoefficients(e,t){let{coeffX:i,coeffY:a}=t;if(!i?.length||!a?.length||i.length!==a.length)return null;let r=[];for(let e=0;e<i.length;e++)r.push(i[e]),r.push(a[e]);return r}writeForwardCoefficients(e,t,i){let a=[],r=[];for(let t=0;t<e?.length;t++)t%2==0?a.push(e[t]):r.push(e[t]);t.coeffX=a,t.coeffY=r}get inverseCoefficients(){let e=this._get("inverseCoefficients"),t=this._get("forwardCoefficients");return!e&&t&&this.polynomialOrder<2&&(e=function(e){let[t,i,a,r,s,n]=e,l=a*n-s*r,o=s*r-a*n;return[(s*i-t*n)/l,(a*i-t*r)/o,n/l,r/o,-s/l,-a/o]}(t)),e}set inverseCoefficients(e){this._set("inverseCoefficients",e)}readInverseCoefficients(e,t){let{inverseCoeffX:i,inverseCoeffY:a}=t;if(!i?.length||!a?.length||i.length!==a.length)return null;let r=[];for(let e=0;e<i.length;e++)r.push(i[e]),r.push(a[e]);return r}writeInverseCoefficients(e,t,i){let a=[],r=[];for(let t=0;t<e?.length;t++)t%2==0?a.push(e[t]):r.push(e[t]);t.inverseCoeffX=a,t.inverseCoeffY=r}get affectsPixelSize(){return this.polynomialOrder>0}forwardTransform(e){if("point"===e.type){let t=c(this.forwardCoefficients,e,this.polynomialOrder);return new l.A({x:t.x,y:t.y,spatialReference:e.spatialReference})}return d(this.forwardCoefficients,e,this.polynomialOrder)}inverseTransform(e){if("point"===e.type){let t=c(this.inverseCoefficients,e,this.polynomialOrder);return new l.A({x:t.x,y:t.y,spatialReference:e.spatialReference})}return d(this.inverseCoefficients,e,this.polynomialOrder)}clone(){return new a({polynomialOrder:this.polynomialOrder,forwardCoefficients:this.forwardCoefficients?[...this.forwardCoefficients]:null,inverseCoefficients:this.inverseCoefficients?[...this.inverseCoefficients]:null})}};(0,r.Cg)([(0,s.MZ)({json:{write:!0}})],p.prototype,"polynomialOrder",void 0),(0,r.Cg)([(0,s.MZ)()],p.prototype,"forwardCoefficients",void 0),(0,r.Cg)([(0,f.w)("forwardCoefficients",["coeffX","coeffY"])],p.prototype,"readForwardCoefficients",null),(0,r.Cg)([(0,u.K)("forwardCoefficients")],p.prototype,"writeForwardCoefficients",null),(0,r.Cg)([(0,s.MZ)({json:{write:!0}})],p.prototype,"inverseCoefficients",null),(0,r.Cg)([(0,f.w)("inverseCoefficients",["inverseCoeffX","inverseCoeffY"])],p.prototype,"readInverseCoefficients",null),(0,r.Cg)([(0,u.K)("inverseCoefficients")],p.prototype,"writeInverseCoefficients",null),(0,r.Cg)([(0,s.MZ)()],p.prototype,"affectsPixelSize",null),(0,r.Cg)([(0,h.e)({PolynomialXform:"polynomial"})],p.prototype,"type",void 0),p=a=(0,r.Cg)([(0,s.$K)("esri.layers.raster.transforms.PolynomialTransform")],p)}}]);
@@ -54,6 +54,7 @@
54
54
  &__labeled-slider calcite-slider {
55
55
  margin: 0 -7px;
56
56
  margin-bottom: -14px;
57
+ inline-size: auto;
57
58
  }
58
59
  }
59
60
  }