@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
1 lines • 106 kB
JavaScript
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[1745,7136],{17136:(e,t,i)=>{i.d(t,{O7:()=>b,el:()=>v});var n=i(92602),r=i(49186),o=i(53966),a=i(39829),s=i(82799),l=i(80754),u=i(21325),c=i(28735),d=i(78888),p=i(65864),m=i(2272),y=i(84952),M=i(92300);const g=()=>o.A.getLogger("esri.geometry.support.normalizeUtils");function h(e){return"polygon"===e[0].type}function f(e){return"polyline"===e[0].type}function w(e,t,i){if(t){const t=function(e,t){if(!(e instanceof s.A||e instanceof a.A)){const e="straightLineDensify: the input geometry is neither polyline nor polygon";throw g().error(e),new r.A(e)}const i=(0,l.r8)(e),n=[];for(const e of i){const i=[];n.push(i),i.push([e[0][0],e[0][1]]);for(let n=0;n<e.length-1;n++){const r=e[n][0],o=e[n][1],a=e[n+1][0],s=e[n+1][1],l=Math.sqrt((a-r)*(a-r)+(s-o)*(s-o)),u=(s-o)/l,c=(a-r)/l,d=l/t;if(d>1){for(let e=1;e<=d-1;e++){const n=e*t,a=c*n+r,s=u*n+o;i.push([a,s])}const e=(l+Math.floor(d-1)*t)/2,n=c*e+r,a=u*e+o;i.push([n,a])}i.push([a,s])}}return function(e){return"polygon"===e.type}(e)?new a.A({rings:n,spatialReference:e.spatialReference}):new s.A({paths:n,spatialReference:e.spatialReference})}(e,1e6);e=(0,c.ci)(t,!0)}return i&&(e=(0,l.kS)(e,i)),e}function I(e,t,i){if(Array.isArray(e)){const n=e[0];if(n>t){const i=(0,l.kd)(n,t);e[0]=n+i*(-2*t)}else if(n<i){const t=(0,l.kd)(n,i);e[0]=n+t*(-2*i)}}else{const n=e.x;if(n>t){const i=(0,l.kd)(n,t);e=e.clone().offset(i*(-2*t),0)}else if(n<i){const t=(0,l.kd)(n,i);e=e.clone().offset(t*(-2*i),0)}}return e}function A(e,t){let i=-1;for(let n=0;n<t.cutIndexes.length;n++){const r=t.cutIndexes[n],o=t.geometries[n],a=(0,l.r8)(o);for(let e=0;e<a.length;e++){const t=a[e];t.some((i=>{if(i[0]<180)return!0;{let i=0;for(let e=0;e<t.length;e++){const n=t[e][0];i=n>i?n:i}i=Number(i.toFixed(9));const n=-360*(0,l.kd)(i,180);for(let i=0;i<t.length;i++){const t=o.getPoint(e,i);o.setPoint(e,i,t.clone().offset(n,0))}return!0}}))}if(r===i){if(h(e))for(const t of(0,l.r8)(o))e[r]=e[r].addRing(t);else if(f(e))for(const t of(0,l.r8)(o))e[r]=e[r].addPath(t)}else i=r,e[r]=o}return e}async function v(e,t,i){if(!Array.isArray(e))return v([e],t);t&&"string"!=typeof t&&g().warn("normalizeCentralMeridian()","The url object is deprecated, use the url string instead");const r="string"==typeof t?t:t?.url??n.A.geometryServiceUrl;let o,h,f,b,D,S,T,j,N=0;const C=[],x=[];for(const t of e)if(null!=t)if(o||(o=t.spatialReference,h=(0,u.Vp)(o),f=o.isWebMercator,S=f?102100:4326,b=l.j7[S].maxX,D=l.j7[S].minX,T=l.j7[S].plus180Line,j=l.j7[S].minus180Line),h)if("mesh"===t.type)x.push(t);else if("point"===t.type)x.push(I(t.clone(),b,D));else if("multipoint"===t.type){const e=t.clone();e.points=e.points.map((e=>I(e,b,D))),x.push(e)}else if("extent"===t.type){const e=t.clone()._normalize(!1,!1,h);x.push(e.rings?new a.A(e):e)}else if(t.extent){const e=t.extent,i=(0,l.kd)(e.xmin,D)*(2*b);let n=0===i?t.clone():(0,l.kS)(t.clone(),i);e.offset(i,0);let{xmin:r,xmax:o}=e;r=Number(r.toFixed(9)),o=Number(o.toFixed(9)),e.intersects(T)&&o!==b?(N=o>N?o:N,n=w(n,f),C.push(n),x.push("cut")):e.intersects(j)&&r!==D?(N=o*(2*b)>N?o*(2*b):N,n=w(n,f,360),C.push(n),x.push("cut")):x.push(n)}else x.push(t.clone());else x.push(t);else x.push(t);let L=(0,l.kd)(N,b),Z=-90;const k=L,U=new s.A;for(;L>0;){const e=360*L-180;U.addPath([[e,Z],[e,-1*Z]]),Z*=-1,L--}if(C.length>0&&k>0){const t=A(C,await async function(e,t,i,n){const r=(0,m.Dl)(e),o=t[0].spatialReference,a={...n,responseType:"json",query:{...r.query,f:"json",sr:(0,u.YX)(o),target:JSON.stringify({geometryType:(0,p.$B)(t[0]),geometries:t}),cutter:JSON.stringify(i)}},s=await(0,d.A)(r.path+"/cut",a),{cutIndexes:l,geometries:c=[]}=s.data;return{cutIndexes:l,geometries:c.map((e=>{const t=(0,p.rS)(e);return t.spatialReference=o,t}))}}(r,C,U,i)),n=[],o=[];for(let i=0;i<x.length;i++){const r=x[i];if("cut"!==r)o.push(r);else{const r=t.shift(),a=e[i];null!=a&&"polygon"===a.type&&a.rings&&a.rings.length>1&&r.rings.length>=a.rings.length?(n.push(r),o.push("simplify")):o.push(f?(0,c.Gh)(r):r)}}if(!n.length)return o;const a=await async function(e,t,i){const n="string"==typeof e?(0,y.An)(e):e,r=t[0].spatialReference,o=(0,p.$B)(t[0]),a={...i,query:{...n.query,f:"json",sr:(0,u.YX)(r),geometries:JSON.stringify((0,M.X)(t))}},{data:s}=await(0,d.A)(n.path+"/simplify",a);return(0,M.V)(s.geometries,o,r)}(r,n,i),s=[];for(let e=0;e<o.length;e++){const t=o[e];"simplify"!==t?s.push(t):s.push(f?(0,c.Gh)(a.shift()):a.shift())}return s}const R=[];for(let e=0;e<x.length;e++){const t=x[e];if("cut"!==t)R.push(t);else{const e=C.shift();R.push(!0===f?(0,c.Gh)(e):e)}}return R}function b(e,t,i){const n=(0,u.Vp)(i);if(null==n)return e;const[r,o]=n.valid,a=2*o;let s=0,l=0;t>o?s=Math.ceil(Math.abs(t-o)/a):t<r&&(s=-Math.ceil(Math.abs(t-r)/a)),e>o?l=Math.ceil(Math.abs(e-o)/a):e<r&&(l=-Math.ceil(Math.abs(e-r)/a));let c=e+(s-l)*a;const d=c-t;return d>o?c-=a:d<r&&(c+=a),c}},80754:(e,t,i)=>{i.d(t,{j7:()=>a,kS:()=>l,kd:()=>s,r8:()=>u});var n=i(82799),r=i(16930),o=i(65864);const a={102100:{maxX:20037508.342788905,minX:-20037508.342788905,plus180Line:new n.A({paths:[[[20037508.342788905,-20037508.342788905],[20037508.342788905,20037508.342788905]]],spatialReference:r.A.WebMercator}),minus180Line:new n.A({paths:[[[-20037508.342788905,-20037508.342788905],[-20037508.342788905,20037508.342788905]]],spatialReference:r.A.WebMercator})},4326:{maxX:180,minX:-180,plus180Line:new n.A({paths:[[[180,-180],[180,180]]],spatialReference:r.A.WGS84}),minus180Line:new n.A({paths:[[[-180,-180],[-180,180]]],spatialReference:r.A.WGS84})}};function s(e,t){return Math.ceil((e-t)/(2*t))}function l(e,t){const i=u(e);for(const e of i)for(const i of e)i[0]+=t;return e}function u(e){return(0,o.Bi)(e)?e.rings:e.paths}},69208:(e,t,i)=>{i.d(t,{d:()=>a});var n=i(90237),r=i(10107),o=(i(44208),i(53966),i(87811),i(40608));const a=e=>{let t=class extends e{constructor(){super(...arguments),this.customParameters=null}};return(0,n._)([(0,r.MZ)({type:Object,json:{write:{overridePolicy:e=>({enabled:!!(e&&Object.keys(e).length>0)})}}})],t.prototype,"customParameters",void 0),t=(0,n._)([(0,o.$)("esri.layers.mixins.CustomParametersMixin")],t),t}},8303:(e,t,i)=>{i.d(t,{A:()=>v});var n=i(90237),r=i(92602),o=i(70333),a=i(78888),s=i(60999),l=i(49186),u=i(53966),c=i(97768),d=i(74887),p=i(84952),m=i(10107),y=(i(44208),i(87811),i(36005)),M=i(40608),g=i(43937),h=i(83531),f=i(20655),w=i(80812),I=i(41318),A=i(10407);const v=e=>{let t=class extends e{constructor(){super(...arguments),this.resourceReferences={portalItem:null,paths:[]},this.userHasEditingPrivileges=!0,this.userHasFullEditingPrivileges=!1,this.userHasUpdateItemPrivileges=!1}destroy(){this.portalItem=(0,c.pR)(this.portalItem),this.resourceReferences.portalItem=null,this.resourceReferences.paths.length=0}set portalItem(e){e!==this._get("portalItem")&&(this.removeOrigin("portal-item"),this._set("portalItem",e))}readPortalItem(e,t,i){if(t.itemId)return new w.default({id:t.itemId,portal:i?.portal})}writePortalItem(e,t){e?.id&&(t.itemId=e.id)}async loadFromPortal(e,t){if(this.portalItem?.id)try{const{load:n}=await i.e(1204).then(i.bind(i,41204));return(0,d.Te)(t),await n({instance:this,supportedTypes:e.supportedTypes,validateItem:e.validateItem,supportsData:e.supportsData,layerModuleTypeMap:e.layerModuleTypeMap,populateGroupLayer:e.populateGroupLayer},t)}catch(e){throw(0,d.zf)(e)||u.A.getLogger(this).warn(`Failed to load layer (${this.title}, ${this.id}) portal item (${this.portalItem.id})\n ${e}`),e}}async finishLoadEditablePortalLayer(e){this._set("userHasEditingPrivileges",await this._fetchUserHasEditingPrivileges(e).catch((e=>((0,d.QP)(e),!0))))}async setUserPrivileges(e,t){if(!r.A.userPrivilegesApplied)return this.finishLoadEditablePortalLayer(t);if(this.url)try{const{features:{edit:i,fullEdit:n},content:{updateItem:r}}=await this._fetchUserPrivileges(e,t);this._set("userHasEditingPrivileges",i),this._set("userHasFullEditingPrivileges",n),this._set("userHasUpdateItemPrivileges",r)}catch(e){(0,d.QP)(e)}}async _fetchUserPrivileges(e,t){let i=this.portalItem;if(!e||!i||!i.loaded||i.sourceUrl)return this._fetchFallbackUserPrivileges(t);const n=!o.id?.findCredential(this.url),r=e===i.id;if(r&&i.portal.user)return this._getUserPrivileges(i,n);let a,s;if(r)a=i.portal.url;else try{a=await(0,h.wI)(this.url,t)}catch(e){(0,d.QP)(e)}if(!a||!(0,p.b8)(a,i.portal.url))return this._fetchFallbackUserPrivileges(t);try{const e=null!=t?t.signal:null;s=await(o.id?.getCredential(`${a}/sharing`,{prompt:!1,signal:e}))}catch(e){(0,d.QP)(e)}const l=!0,u=!1,c=!1;if(!s)return{features:{edit:l,fullEdit:u},content:{updateItem:c}};try{if(r?await i.reload():(i=new w.default({id:e,portal:{url:a}}),await i.load(t)),i.portal.user)return this._getUserPrivileges(i,n)}catch(e){(0,d.QP)(e)}return{features:{edit:l,fullEdit:u},content:{updateItem:c}}}_getUserPrivileges(e,t){const i=(0,A.It)(e);return t&&(i.features.edit=!0),i}async _fetchFallbackUserPrivileges(e){let t=!0;try{t=await this._fetchUserHasEditingPrivileges(e)}catch(e){(0,d.QP)(e)}return{features:{edit:t,fullEdit:!1},content:{updateItem:!1}}}async _fetchUserHasEditingPrivileges(e){const t=this.url?o.id?.findCredential(this.url):null;if(!t)return!0;const i=b.credential===t?b.user:await this._fetchEditingUser(e);return b.credential=t,b.user=i,null==i?.privileges||i.privileges.includes("features:user:edit")}async _fetchEditingUser(e){const t=this.portalItem?.portal?.user;if(t)return t;const i=o.id?.findServerInfo(this.url??"");if(!i?.owningSystemUrl)return null;const n=`${i.owningSystemUrl}/sharing/rest`,r=f.A.getDefault();if(r&&r.loaded&&(0,p.S8)(r.restUrl)===(0,p.S8)(n))return r.user;const l=`${n}/community/self`,u=null!=e?e.signal:null,c=await(0,s.Ke)((0,a.A)(l,{authMode:"no-prompt",query:{f:"json"},signal:u}));return c.ok?I.A.fromJSON(c.value.data):null}read(e,t){t&&(t.layer=this),super.read(e,t)}write(e,t){const i=t?.portal,n=this.portalItem?.id&&(this.portalItem.portal||f.A.getDefault());return i&&n&&!(0,p.ut)(n.restUrl,i.restUrl)?(t.messages&&t.messages.push(new l.A("layer:cross-portal",`The layer '${this.title} (${this.id})' cannot be persisted because it refers to an item on a different portal than the one being saved to. To save, set layer.portalItem to null or save to the same portal as the item associated with the layer`,{layer:this})),null):super.write(e,{...t,layer:this})}};return(0,n._)([(0,m.MZ)({type:w.default})],t.prototype,"portalItem",null),(0,n._)([(0,y.w)("web-document","portalItem",["itemId"])],t.prototype,"readPortalItem",null),(0,n._)([(0,g.K)("web-document","portalItem",{itemId:{type:String}})],t.prototype,"writePortalItem",null),(0,n._)([(0,m.MZ)({clonable:!1})],t.prototype,"resourceReferences",void 0),(0,n._)([(0,m.MZ)({type:Boolean,readOnly:!0})],t.prototype,"userHasEditingPrivileges",void 0),(0,n._)([(0,m.MZ)({type:Boolean,readOnly:!0})],t.prototype,"userHasFullEditingPrivileges",void 0),(0,n._)([(0,m.MZ)({type:Boolean,readOnly:!0})],t.prototype,"userHasUpdateItemPrivileges",void 0),t=(0,n._)([(0,M.$)("esri.layers.mixins.PortalLayer")],t),t},b={credential:null,user:null}},82935:(e,t,i)=>{i.d(t,{B:()=>m,e:()=>y});var n=i(90237),r=i(10107),o=(i(44208),i(53966),i(87811),i(36005)),a=i(40608),s=i(89317),l=i(30524),u=i(96184),c=i(73133),d=i(79677),p=i(10184);const m={type:Boolean,json:{read:{source:"timeAnimation"},write:{target:"timeAnimation",layerContainerTypes:s.K}}},y=e=>{let t=class extends e{constructor(){super(...arguments),this.timeExtent=null,this.timeOffset=null,this.useViewTime=!0}readOffset(e,t){const i=t.timeInfo.exportOptions;if(!i)return null;const n=i.timeOffset,r=c.j.fromJSON(i.timeOffsetUnits);return n&&r?new p.A({value:n,unit:r}):null}set timeInfo(e){(0,l.sv)(e,this.fieldsIndex),this._set("timeInfo",e)}};return(0,n._)([(0,r.MZ)({type:d.A,json:{write:!1}})],t.prototype,"timeExtent",void 0),(0,n._)([(0,r.MZ)({type:p.A})],t.prototype,"timeOffset",void 0),(0,n._)([(0,o.w)("service","timeOffset",["timeInfo.exportOptions"])],t.prototype,"readOffset",null),(0,n._)([(0,r.MZ)({value:null,type:u.A,json:{write:!0,origins:{"web-document":{read:!1,write:!1},"portal-item":{read:!1,write:!1}}}})],t.prototype,"timeInfo",null),(0,n._)([(0,r.MZ)(m)],t.prototype,"useViewTime",void 0),t=(0,n._)([(0,a.$)("esri.layers.mixins.TemporalLayer")],t),t}},45617:(e,t,i)=>{i.d(t,{A:()=>d});var n,r=i(90237),o=i(25482),a=i(4718),s=i(10107),l=i(56507),u=i(40608);let c=n=class extends o.A{constructor(e){super(e),this.variableName=null,this.dimensionName=null,this.values=[],this.isSlice=!1}clone(){return new n({variableName:this.variableName,dimensionName:this.dimensionName,values:(0,a.o8)(this.values),isSlice:this.isSlice})}};(0,r._)([(0,s.MZ)({type:String,json:{write:!0}})],c.prototype,"variableName",void 0),(0,r._)([(0,s.MZ)({type:String,json:{write:!0}})],c.prototype,"dimensionName",void 0),(0,r._)([(0,s.MZ)({type:l.gK.array(l.gK.oneOf([l.gK.native(Number),l.gK.array(l.gK.native(Number))])),json:{write:!0}})],c.prototype,"values",void 0),(0,r._)([(0,s.MZ)({type:Boolean,json:{write:!0}})],c.prototype,"isSlice",void 0),c=n=(0,r._)([(0,u.$)("esri.layers.support.DimensionalDefinition")],c);const d=c},85675:(e,t,i)=>{i.d(t,{A:()=>I});var n,r=i(90237),o=i(66552),a=i(25482),s=i(4718),l=i(10107),u=i(79901),c=i(36005),d=i(40608),p=i(43937),m=i(56507),y=i(86738),M=i(45617),g=i(22796);const h=(0,o.O)()({MT_FIRST:"first",MT_LAST:"last",MT_MIN:"min",MT_MAX:"max",MT_MEAN:"mean",MT_BLEND:"blend",MT_SUM:"sum"}),f=(0,o.O)()({esriMosaicNone:"none",esriMosaicCenter:"center",esriMosaicNadir:"nadir",esriMosaicViewpoint:"viewpoint",esriMosaicAttribute:"attribute",esriMosaicLockRaster:"lock-raster",esriMosaicNorthwest:"northwest",esriMosaicSeamline:"seamline"});let w=n=class extends a.A{constructor(e){super(e),this.ascending=!0,this.itemRasterFunction=null,this.lockRasterIds=null,this.method="none",this.multidimensionalDefinition=null,this.objectIds=null,this.operation="first",this.sortField=null,this.sortValue=null,this.viewpoint=null,this.where=null}readAscending(e,t){return null!=t.ascending?t.ascending:null==t.sortAscending||t.sortAscending}readMethod(e,t){return function(e){let t;switch(e?e.toLowerCase().replace("esrimosaic",""):""){case"byattribute":case"attribute":t="esriMosaicAttribute";break;case"lockraster":t="esriMosaicLockRaster";break;case"center":t="esriMosaicCenter";break;case"northwest":t="esriMosaicNorthwest";break;case"nadir":t="esriMosaicNadir";break;case"viewpoint":t="esriMosaicViewpoint";break;case"seamline":t="esriMosaicSeamline";break;default:t="esriMosaicNone"}return f.fromJSON(t)}(t.mosaicMethod||t.defaultMosaicMethod)}writeMultidimensionalDefinition(e,t,i){null!=e&&(e=e.filter((({variableName:e,dimensionName:t})=>e&&"*"!==e||t))).length&&(t[i]=e.map((e=>e.toJSON())))}readOperation(e,t){const i=t.mosaicOperation,n=t.mosaicOperator?.toLowerCase(),r=i||(n?h.toJSON(n):null);return h.fromJSON(r)||"first"}castSortValue(e){return null==e||"string"==typeof e||"number"==typeof e?e:`${e}`}clone(){return new n({ascending:this.ascending,itemRasterFunction:(0,s.o8)(this.itemRasterFunction),lockRasterIds:(0,s.o8)(this.lockRasterIds),method:this.method,multidimensionalDefinition:(0,s.o8)(this.multidimensionalDefinition),objectIds:(0,s.o8)(this.objectIds),operation:this.operation,sortField:this.sortField,sortValue:this.sortValue,viewpoint:(0,s.o8)(this.viewpoint),where:this.where})}};(0,r._)([(0,l.MZ)({type:Boolean,json:{write:!0}})],w.prototype,"ascending",void 0),(0,r._)([(0,c.w)("ascending",["ascending","sortAscending"])],w.prototype,"readAscending",null),(0,r._)([(0,l.MZ)({type:g.A,json:{name:"itemRenderingRule",write:!0}})],w.prototype,"itemRasterFunction",void 0),(0,r._)([(0,l.MZ)({type:[m.jz],json:{write:{overridePolicy(){return{enabled:"lock-raster"===this.method}}}}})],w.prototype,"lockRasterIds",void 0),(0,r._)([(0,l.MZ)({type:f.apiValues,json:{type:f.jsonValues,write:{target:"mosaicMethod",writer:f.write,isRequired:!0}}})],w.prototype,"method",void 0),(0,r._)([(0,c.w)("method",["mosaicMethod","defaultMosaicMethod"])],w.prototype,"readMethod",null),(0,r._)([(0,l.MZ)({type:[M.A],json:{write:!0}})],w.prototype,"multidimensionalDefinition",void 0),(0,r._)([(0,p.K)("multidimensionalDefinition")],w.prototype,"writeMultidimensionalDefinition",null),(0,r._)([(0,l.MZ)({type:[m.jz],json:{name:"fids",write:!0}})],w.prototype,"objectIds",void 0),(0,r._)([(0,l.MZ)({type:h.apiValues,json:{type:h.jsonValues,read:{reader:h.read},write:{target:"mosaicOperation",writer:h.write}}})],w.prototype,"operation",void 0),(0,r._)([(0,c.w)("operation",["mosaicOperation","mosaicOperator"])],w.prototype,"readOperation",null),(0,r._)([(0,l.MZ)({type:String,json:{write:{overridePolicy(){return{enabled:"attribute"===this.method}}}}})],w.prototype,"sortField",void 0),(0,r._)([(0,l.MZ)({type:[String,Number],json:{write:{allowNull:!0,overridePolicy(){return{enabled:"attribute"===this.method,allowNull:!0}}}}})],w.prototype,"sortValue",void 0),(0,r._)([(0,u.w)("sortValue")],w.prototype,"castSortValue",null),(0,r._)([(0,l.MZ)({type:y.A,json:{write:!0}})],w.prototype,"viewpoint",void 0),(0,r._)([(0,l.MZ)({type:String,json:{write:!0}})],w.prototype,"where",void 0),w=n=(0,r._)([(0,d.$)("esri.layers.support.MosaicRule")],w);const I=w},43577:(e,t,i)=>{i.d(t,{A:()=>M});var n,r=i(90237),o=i(25482),a=i(10107),s=(i(44208),i(53966),i(87811),i(40608)),l=i(5443),u=i(91075),c=i(39829),d=i(65864),p=i(45617);const m={base:u.A,key:"type",typeMap:{extent:l.A,polygon:c.A}};let y=n=class extends o.A{constructor(e){super(e),this.areaOfInterest=null,this.subsetDefinitions=null}get dimensions(){const{subsetDefinitions:e}=this;if(null==e||0===e.length)return[];const t=new Map;e.forEach((e=>{if(!e.dimensionName)return;let i,n;if(Array.isArray(e.values[0])){const t=e.values;i=t[0][0],n=t[e.values.length-1][1]}else{const t=e.values;i=t[0],n=t[e.values.length-1]}if(t.has(e.dimensionName)){const r=t.get(e.dimensionName);r[0]=Math.min(i,r[0]),r[1]=Math.max(n,r[1])}else t.set(e.dimensionName,[i,n])}));const i=[];for(const e of t)i.push({name:e[0],extent:e[1]});return i}get variables(){const{subsetDefinitions:e}=this;if(null==e||0===e.length)return[];const t=new Set;return e.forEach((e=>{e.variableName&&t.add(e.variableName)})),[...t]}clone(){const e=this.subsetDefinitions?.map((e=>e.clone())),t=this.areaOfInterest?this.areaOfInterest.clone():this.areaOfInterest;return new n({areaOfInterest:t,subsetDefinitions:e})}};(0,r._)([(0,a.MZ)({types:m,json:{read:d.rS,write:!0}})],y.prototype,"areaOfInterest",void 0),(0,r._)([(0,a.MZ)({readOnly:!0})],y.prototype,"dimensions",null),(0,r._)([(0,a.MZ)({readOnly:!0})],y.prototype,"variables",null),(0,r._)([(0,a.MZ)({type:[p.A],json:{write:!0}})],y.prototype,"subsetDefinitions",void 0),y=n=(0,r._)([(0,s.$)("esri.layers.support.MultidimensionalSubset")],y);const M=y},22796:(e,t,i)=>{i.d(t,{A:()=>k});var n=i(90237),r=i(25482),o=i(4718),a=i(10107),s=(i(44208),i(53966),i(93223)),l=i(36005),u=i(40608),c=i(43937),d=i(66552),p=i(56507),m=(i(87811),i(13868));let y=class extends r.A{constructor(){super(...arguments),this.pixelType="unknown"}};(0,n._)([(0,a.MZ)({type:String,json:{write:{isRequired:!0}}})],y.prototype,"name",void 0),(0,n._)([(0,a.MZ)({type:String,json:{write:!0}})],y.prototype,"description",void 0),(0,n._)([(0,a.MZ)({type:p.jz,json:{type:p.jz,write:!0,name:"_object_id"}})],y.prototype,"id",void 0),(0,n._)([(0,a.MZ)({type:String,json:{type:m.e8.jsonValues,read:m.e8.read,write:{writer:m.e8.write,isRequired:!0}}})],y.prototype,"pixelType",void 0),(0,n._)([(0,a.MZ)({type:String,json:{write:{isRequired:!0}}})],y.prototype,"type",void 0),y=(0,n._)([(0,u.$)("esri.layers.support.RasterFunctionInfo")],y);const M=y;let g=class extends r.A{constructor(){super(...arguments),this.isDataset=!1,this.isPublic=!1,this.type="RasterFunctionVariable"}};(0,n._)([(0,a.MZ)({type:String,json:{write:!0}})],g.prototype,"name",void 0),(0,n._)([(0,a.MZ)({type:Number,json:{type:p.jz,write:!0,name:"_object_id"}})],g.prototype,"id",void 0),(0,n._)([(0,a.MZ)({type:Boolean,json:{write:!0}})],g.prototype,"isDataset",void 0),(0,n._)([(0,a.MZ)({type:Boolean,json:{write:!0}})],g.prototype,"isPublic",void 0),(0,n._)([(0,a.MZ)({json:{write:!0}})],g.prototype,"value",void 0),(0,n._)([(0,a.MZ)({type:String,json:{write:!0}})],g.prototype,"type",void 0),g=(0,n._)([(0,u.$)("esri.layers.support.RasterFunctionVariable")],g);const h={key:"type",base:null,typeMap:{RasterFunctionVariable:g}};let f=class extends r.A{};(0,n._)([(0,a.MZ)({types:h,json:{types:h,name:"MatchVariable"}})],f.prototype,"matchVariable",void 0),(0,n._)([(0,a.MZ)({types:h,json:{types:h,name:"UnionDimension"}})],f.prototype,"unionDimension",void 0),(0,n._)([(0,a.MZ)({type:Number,json:{type:p.jz,write:!0,name:"_object_id"}})],f.prototype,"id",void 0),(0,n._)([(0,a.MZ)({type:String,json:{write:!0}})],f.prototype,"type",void 0),f=(0,n._)([(0,u.$)("esri.layers.support.RasterFunctionProperties")],f);const w=f,I=new d.J({0:"mosaic",1:"item",2:"item-group"},{useNumericKeys:!0});let A=class extends r.A{constructor(){super(...arguments),this.description="",this.functionType="mosaic",this.type="RasterFunctionTemplate"}};(0,n._)([(0,a.MZ)({type:[String],json:{write:!0}})],A.prototype,"aliases",void 0),(0,n._)([(0,a.MZ)({type:Object,json:{write:{isRequired:!0}}})],A.prototype,"arguments",void 0),(0,n._)([(0,a.MZ)({type:String,json:{write:{isRequired:!0}}})],A.prototype,"description",void 0),(0,n._)([(0,a.MZ)({type:M,json:{write:{isRequired:!0},name:"function"}})],A.prototype,"functionInfo",void 0),(0,n._)([(0,a.MZ)({type:I.apiValues,json:{type:[0,1,2],read:I.read,write:{writer:I.write,isRequired:!0}}})],A.prototype,"functionType",void 0),(0,n._)([(0,a.MZ)({type:String,json:{write:!0}})],A.prototype,"group",void 0),(0,n._)([(0,a.MZ)({type:String,json:{write:!0}})],A.prototype,"help",void 0),(0,n._)([(0,a.MZ)({type:Number,json:{type:p.jz,write:!0,name:"_object_id"}})],A.prototype,"id",void 0),(0,n._)([(0,a.MZ)({type:String,json:{write:{isRequired:!0}}})],A.prototype,"name",void 0),(0,n._)([(0,a.MZ)({type:String,json:{write:!0,name:"definition"}})],A.prototype,"queryDefinition",void 0),(0,n._)([(0,a.MZ)({type:String,json:{write:!0}})],A.prototype,"tag",void 0),(0,n._)([(0,a.MZ)({type:w,json:{write:!0}})],A.prototype,"properties",void 0),(0,n._)([(0,a.MZ)({type:String,json:{write:!0}})],A.prototype,"thumbnail",void 0),(0,n._)([(0,a.MZ)({type:String,json:{write:!0}})],A.prototype,"thumbnailEx",void 0),(0,n._)([(0,a.MZ)({json:{type:["RasterFunctionTemplate"],write:!0}})],A.prototype,"type",void 0),A=(0,n._)([(0,u.$)("esri.layers.support.RasterFunctionTemplate")],A);const v=A;var b;const D=new Set(["raster","raster2","dem","fillraster"]),S=new Set(["rasters"]),T=e=>e?.rasterFunction?Z.fromJSON(e):e,j=e=>e&&e instanceof Z?e.toJSON():e,N=e=>e?.functionName&&!e.declaredClass,C=e=>N(e)?new Z(e):e,x=e=>e?v.fromJSON({type:"RasterFunctionTemplate",...e}):void 0,L={types:{key:"type",base:null,typeMap:{RasterFunctionTemplate:v}},json:{write:!0,name:"rasterFunctionDefinition",read:x}};let Z=b=class extends r.A{constructor(e){super(e),this.functionName=null,this.outputPixelType="unknown",this.variableName=null,this.functionDefinition=null}set functionArguments(e){if(e){const t=Object.keys(e);if(t.some((t=>D.has(t.toLowerCase())&&N(e[t])))||t.some((t=>S.has(t.toLowerCase())&&Array.isArray(e[t])&&e[t].some((e=>N(e)))))){e=(0,o.o8)(e);for(const i of t)D.has(i.toLowerCase())?e[i]=C(e[i]):S.has(i.toLowerCase())&&Array.isArray(e[i])&&(e[i]=e[i].map((e=>C(e))))}}this._set("functionArguments",e)}readFunctionArguments(e){return(e=>{if(null==e)return null;e=(0,o.o8)(e);const t={};for(const i of Object.keys(e))D.has(i.toLowerCase())?t[i]=T(e[i]):S.has(i.toLowerCase())&&Array.isArray(e[i])?t[i]=e[i].map(T):t[i]=e[i];return t})(e)}writeFunctionArguments(e,t,i){const n={};for(const t of Object.keys(e))D.has(t.toLowerCase())?n[t]=j(e[t]):S.has(t.toLowerCase())&&Array.isArray(e[t])?n[t]=e[t].map(j):n[t]=j(e[t]);t[i]=n}readFunctionName(e,t){const i=t.rasterFunctionInfos;return t.name||(i?.length&&"None"!==i[0].name?i[0].name:t.rasterFunction||t.rasterFunctionDefinition?.name)}get rasterFunctionDefinition(){return this.functionDefinition?.toJSON()}set rasterFunctionDefinition(e){this.functionDefinition=x(e)}get hasClipFunction(){return this.rasterFunctionDefinition?JSON.stringify(this.rasterFunctionDefinition).includes('"type":"ClipFunction"'):JSON.stringify(this).includes('"rasterFunction":"Clip"')}clone(){return new b({functionName:this.functionName,functionArguments:(0,o.o8)(this.functionArguments),outputPixelType:this.outputPixelType,variableName:this.variableName,rasterFunctionDefinition:(0,o.o8)(this.rasterFunctionDefinition)})}};(0,n._)([(0,a.MZ)({json:{type:Object,name:"rasterFunctionArguments"}})],Z.prototype,"functionArguments",null),(0,n._)([(0,l.w)("functionArguments")],Z.prototype,"readFunctionArguments",null),(0,n._)([(0,c.K)("functionArguments")],Z.prototype,"writeFunctionArguments",null),(0,n._)([(0,a.MZ)({json:{type:String,write:{target:"rasterFunction"}}})],Z.prototype,"functionName",void 0),(0,n._)([(0,l.w)("functionName",["rasterFunction","rasterFunctionInfos","rasterFunctionDefinition"])],Z.prototype,"readFunctionName",null),(0,n._)([(0,s.e)({C128:"c128",C64:"c64",F32:"f32",F64:"f64",S16:"s16",S32:"s32",S8:"s8",U1:"u1",U16:"u16",U2:"u2",U32:"u32",U4:"u4",U8:"u8",UNKNOWN:"unknown"},{ignoreUnknown:!1,default:"unknown"})],Z.prototype,"outputPixelType",void 0),(0,n._)([(0,a.MZ)({type:String,json:{read:!0,write:!0}})],Z.prototype,"variableName",void 0),(0,n._)([(0,a.MZ)()],Z.prototype,"rasterFunctionDefinition",null),(0,n._)([(0,a.MZ)(L)],Z.prototype,"functionDefinition",void 0),(0,n._)([(0,a.MZ)()],Z.prototype,"hasClipFunction",null),Z=b=(0,n._)([(0,u.$)("esri.layers.support.RasterFunction")],Z);const k=Z},69409:(e,t,i)=>{i.d(t,{A:()=>a});var n=i(49186),r=i(29953),o=i(14140);class a{constructor(){this._workerThread=null,this._destroyed=!1}async initialize(){const e=await(0,r.ho)("RasterWorker");this._destroyed?e.close():this._workerThread=e}destroy(){this._destroyed=!0,this._workerThread&&(this._workerThread.close(),this._workerThread=null)}async convertVectorFieldData(e,t){if(!this._workerThread)throw new n.A("raster-jobhandler:no-connection","no available worker connection");const i=await this._workerThread.invoke("convertVectorFieldData",{pixelBlock:e.pixelBlock.toJSON(),type:e.dataType},t);return i?new o.A(i):null}computeStatisticsHistograms(e,t){if(!this._workerThread)throw new n.A("raster-jobhandler:no-connection","no available worker connection");return this._workerThread.invoke("computeStatisticsHistograms",{pixelBlock:e.pixelBlock.toJSON()},t)}async decode(e,t){if(!this._workerThread)throw new n.A("raster-jobhandler:no-connection","no available worker connection");const i=await this._workerThread.invoke("decode",e,t);return i?new o.A(i):null}async symbolize(e,t){if(!this._workerThread)throw new n.A("raster-jobhandler:no-connection","no available worker connection");const i={extent:e.extent?.toJSON(),pixelBlock:e.pixelBlock?.toJSON(),simpleStretchParams:e.simpleStretchParams,bandIds:e.bandIds},r=await this._workerThread.invoke("symbolize",i,t);return r?new o.A(r):null}async updateSymbolizer(e,t){if(!this._workerThread)throw new n.A("raster-jobhandler:no-connection","no available worker connection");const i=e?.rendererJSON?.histograms;await Promise.all(this._workerThread.broadcast("updateSymbolizer",{symbolizerJSON:e.toJSON(),histograms:i},t))}async updateRasterFunction(e,t){if(!this._workerThread)throw new n.A("raster-jobhandler:no-connection","no available worker connection");await Promise.all(this._workerThread.broadcast("updateRasterFunction",{rasterFunctionJSON:e.toJSON()},t))}async process(e,t){if(!this._workerThread)throw new n.A("raster-jobhandler:no-connection","no available worker connection");const i=await this._workerThread.invoke("process",{extent:e.extent?.toJSON(),primaryPixelSizes:e.primaryPixelSizes?.map((e=>null!=e?e.toJSON():null)),primaryPixelBlocks:e.primaryPixelBlocks.map((e=>null!=e?e.toJSON():null)),primaryRasterIds:e.primaryRasterIds},t);return i?new o.A(i):null}async stretch(e,t){if(!this._workerThread)throw new n.A("raster-jobhandler:no-connection","no available worker connection");if(!e?.pixelBlock)return null;const i={srcPixelBlock:e.pixelBlock.toJSON(),stretchParams:e.stretchParams},r=await this._workerThread.invoke("stretch",i,t);return r?new o.A(r):null}async split(e,t){if(!this._workerThread)throw new n.A("raster-jobhandler:no-connection","no available worker connection");if(!e?.pixelBlock)return null;const i={srcPixelBlock:e.pixelBlock.toJSON(),tileSize:e.tileSize,maximumPyramidLevel:e.maximumPyramidLevel,useBilinear:e.useBilinear},r=await this._workerThread.invoke("split",i,t);return r&&r.forEach(((e,t)=>{r.set(t,e?o.A.fromJSON(e):null)})),r}async clipTile(e,t){if(!this._workerThread)throw new n.A("raster-jobhandler:no-connection","no available worker connection");if(!e?.pixelBlock)return null;const i={...e,pixelBlock:e.pixelBlock.toJSON()},r=await this._workerThread.invoke("clipTile",i,t);return r?o.A.fromJSON(r):null}async estimateStatisticsHistograms(e,t){if(!this._workerThread)throw new n.A("raster-jobhandler:no-connection","no available worker connection");if(!e?.pixelBlock)return null;const i={srcPixelBlock:e.pixelBlock.toJSON()};return await this._workerThread.invoke("estimateStatisticsHistograms",i,t)}async mosaicAndTransform(e,t){if(!this._workerThread)throw new n.A("raster-jobhandler:no-connection","no available worker connection");if(!e?.srcPixelBlocks?.length)return{pixelBlock:null};const i={...e,srcPixelBlocks:e.srcPixelBlocks.map((e=>null!=e?e.toJSON():null))},r=await this._workerThread.invoke("mosaicAndTransform",i,t);return{pixelBlock:r.pixelBlock?new o.A(r.pixelBlock):null,localNorthDirections:r.localNorthDirections}}async createFlowMesh(e,t){if(!this._workerThread)throw new n.A("raster-jobhandler:no-connection","no available worker connection");const i={buffer:e.flowData.data.buffer,maskBuffer:e.flowData.mask.buffer,width:e.flowData.width,height:e.flowData.height},{meshType:r,simulationSettings:o}=e,a=await this._workerThread.invoke("createFlowMesh",{meshType:r,flowData:i,simulationSettings:o},{...t,transferList:[i.buffer,i.maskBuffer]});return{vertexData:new Float32Array(a.vertexBuffer),indexData:new Uint32Array(a.indexBuffer)}}getProjectionOffsetGrid(e,t){if(!this._workerThread)throw new n.A("raster-jobhandler:no-connection","no available worker connection");const i=null!=e.datumTransformation?e.datumTransformation.steps.map((e=>({wkid:e.wkid,wkt:e.wkt,isInverse:e.isInverse}))):null,r=null!=e.rasterTransform?e.rasterTransform.toJSON():null,o={projectedExtent:e.projectedExtent.toJSON(),srcBufferExtent:e.srcBufferExtent.toJSON(),pixelSize:e.pixelSize,hasWrapAround:e.hasWrapAround,spacing:e.spacing,datumTransformationSteps:i,rasterTransform:r,isAdaptive:e.isAdaptive,includeGCSGrid:e.includeGCSGrid};return this._workerThread.invoke("getProjectionOffsetGrid",o,t)}}},96184:(e,t,i)=>{i.d(t,{A:()=>M});var n=i(90237),r=i(69540),o=i(25482),a=i(10107),s=(i(44208),i(53966),i(87811),i(36005)),l=i(40608),u=i(43937),c=i(79677),d=i(10184),p=i(56400);function m(e,t){return d.A.fromJSON({value:e,unit:t})}let y=class extends(r.A.ClonableMixin(o.A)){constructor(e){super(e),this.cumulative=!1,this.endField=null,this.fullTimeExtent=null,this.hasLiveData=!1,this.interval=null,this.startField=null,this.timeZone=null,this.trackIdField=null,this.useTime=!0,this.stops=null}readFullTimeExtent(e,t){return t.timeExtent&&Array.isArray(t.timeExtent)&&2===t.timeExtent.length?c.A.fromArray(t.timeExtent):null}writeFullTimeExtent(e,t){null!=e?.start&&null!=e.end?t.timeExtent=e.toArray():t.timeExtent=null}readInterval(e,t){return t.timeInterval&&t.timeIntervalUnits?m(t.timeInterval,t.timeIntervalUnits):t.defaultTimeInterval&&t.defaultTimeIntervalUnits?m(t.defaultTimeInterval,t.defaultTimeIntervalUnits):null}writeInterval(e,t){t.timeInterval=e?.toJSON().value??null,t.timeIntervalUnits=e?.toJSON().unit??null}};(0,n._)([(0,a.MZ)({type:Boolean,json:{name:"exportOptions.timeDataCumulative",write:!0}})],y.prototype,"cumulative",void 0),(0,n._)([(0,a.MZ)({type:String,json:{name:"endTimeField",write:{enabled:!0,allowNull:!0}}})],y.prototype,"endField",void 0),(0,n._)([(0,a.MZ)({type:c.A,json:{write:{enabled:!0,allowNull:!0}}})],y.prototype,"fullTimeExtent",void 0),(0,n._)([(0,s.w)("fullTimeExtent",["timeExtent"])],y.prototype,"readFullTimeExtent",null),(0,n._)([(0,u.K)("fullTimeExtent")],y.prototype,"writeFullTimeExtent",null),(0,n._)([(0,a.MZ)({type:Boolean,json:{write:!0}})],y.prototype,"hasLiveData",void 0),(0,n._)([(0,a.MZ)({type:d.A,json:{write:{enabled:!0,allowNull:!0}}})],y.prototype,"interval",void 0),(0,n._)([(0,s.w)("interval",["timeInterval","timeIntervalUnits","defaultTimeInterval","defaultTimeIntervalUnits"])],y.prototype,"readInterval",null),(0,n._)([(0,u.K)("interval")],y.prototype,"writeInterval",null),(0,n._)([(0,a.MZ)({type:String,json:{name:"startTimeField",write:{enabled:!0,allowNull:!0}}})],y.prototype,"startField",void 0),(0,n._)([(0,a.MZ)((0,p.P6)("timeReference",!0))],y.prototype,"timeZone",void 0),(0,n._)([(0,a.MZ)({type:String,json:{write:{enabled:!0,allowNull:!0}}})],y.prototype,"trackIdField",void 0),(0,n._)([(0,a.MZ)({type:Boolean,json:{name:"exportOptions.useTime",write:!0}})],y.prototype,"useTime",void 0),(0,n._)([(0,a.MZ)({type:[Date],json:{read:!1}})],y.prototype,"stops",void 0),y=(0,n._)([(0,l.$)("esri.layers.support.TimeInfo")],y);const M=y},77301:(e,t,i)=>{i.d(t,{$E:()=>b,DY:()=>h,NG:()=>v,QW:()=>a,Rp:()=>m,XU:()=>y,Xg:()=>A,ct:()=>M,fy:()=>g,xx:()=>s,z2:()=>f});var n=i(4576),r=i(45617);function o(e,t,i){const n=t.shift();if(0===i.length){const e=[];i.push({sliceId:-1,multidimensionalDefinition:e})}const r=i.length;for(let t=0;t<r;t++){const t=i.shift().multidimensionalDefinition;n.values?.forEach((r=>{i.push({sliceId:-1,multidimensionalDefinition:[...t,{variableName:e,dimensionName:n.name,values:[r]}]})}))}t.length&&o(e,t,i)}function a(e,t){const i=[];let n=0;return(t?e.variables.filter((e=>e.name.toLowerCase()===t.toLowerCase())):[...e.variables].sort(((e,t)=>e.name>t.name?1:-1))).forEach((e=>{const t=[],r=[...e.dimensions].sort(((e,t)=>e.name>t.name?-1:1));o(e.name,r,t),t.forEach((e=>{i.push({...e,sliceId:n++})}))})),i}function s(e,t,i){let n=e;if(t&&(t=[...t].sort(((e,t)=>e.dimensionName<t.dimensionName?-1:1))).forEach((({dimensionName:e,values:t,isSlice:i})=>{t.length&&(n=n.filter((n=>{const r=n.multidimensionalDefinition.find((t=>t.dimensionName===e));if(null==r)return!1;const o=r.values[0];return"number"==typeof o?"number"==typeof t[0]?t.includes(o):t.some((e=>e[0]<=o&&e[1]>=o)):"number"==typeof t[0]?t.some((e=>o[0]<=e&&o[1]>=e)):i?t.some((e=>e[0]===o[0]&&e[0]===o[1])):t.some((e=>e[0]>=o[0]&&e[0]<=o[1]||e[1]>=o[0]&&e[1]<=o[1]||e[0]<o[0]&&e[1]>o[1]))})))})),n.length&&null!=i?.start&&null!=i.end){const e=i.start.getTime(),t=i.end.getTime(),r=n[0].multidimensionalDefinition.findIndex((e=>"StdTime"===e.dimensionName));r>-1&&(n=n.filter((i=>{const n=i.multidimensionalDefinition[r].values[0];return e<=n&&t>=n})))}return n.map((e=>e.sliceId))}function l(e,t){return Array.isArray(e)?t[0]===t[1]?e[0]===t[0]||e[1]===t[0]:e[0]>=t[0]&&e[0]<=t[1]&&e[1]>=t[0]&&e[1]<=t[1]:e>=t[0]&&e<=t[1]}function u(e,t){return e[0]<=t[0]&&e[1]>=t[0]||e[0]<=t[1]&&e[1]>=t[1]||e[0]>=t[0]&&e[1]<=t[1]}function c(e){return 1===e.length?[e[0],e[0]]:[e[0],e[e.length-1]]}function d(e,t,i){if(!t?.subsetDefinitions?.length)return e;let n;if(i){const{variables:r}=t;if(r.length&&!r.includes(i))return null;const o=t.subsetDefinitions.find((t=>t.dimensionName===e.name&&t.variableName===i));if(!o?.values?.length)return e;n=c(o.values)}else{const i=t.dimensions.find((({name:t})=>t===e.name));n=i?.extent}const r=n;if(!r?.length)return e;const o=e.values.filter((e=>l(e,r)));return{...e,extent:[...r],values:o}}function p(e,t,i){if(!t?.subsetDefinitions?.length)return!1;const{variables:n}=t;if(n.length&&e.some((({variableName:e})=>e&&!n.includes(e))))return!0;for(let n=0;n<e.length;n++){const r=e[n],o=t.subsetDefinitions.find((e=>(""===r.variableName||e.variableName===r.variableName)&&e.dimensionName===r.dimensionName));if(o?.values.length){const e=c(o.values);if(r.isSlice||2!==r.values.length||Array.isArray(r.values[0])||r.values[0]===r.values[1]||!i){if(r.values.some((t=>!l(t,e))))return!0}else if(!u(r.values,e))return!0}}return!1}function m(e,t){if(null==e)return{isOutside:!1};const{geometry:i,timeExtent:n,multidimensionalDefinition:o}=t;let a=null;if(null!=n&&(a=function(e,t){const i=e.dimensions.find((({name:e})=>"StdTime"===e));if(null==i||null==t.start&&null==t.end)return t;t=t.clone();const{start:n,end:o}=t.toJSON(),a=n===o?[n]:null!=n&&null!=o?[n,o]:[n??o];return 2===a.length&&i?.extent.length&&(a[0]=Math.max(a[0],i.extent[0]),a[1]=Math.min(a[1],i.extent[1]??i.extent[0]),a[1]<a[0])||p([new r.A({variableName:"",dimensionName:"StdTime",isSlice:1===a.length,values:a})],e,!0)?null:(t.start=new Date(a[0]),t.end=new Date(a[1]??a[0]),t)}(e,n),null==a))return{isOutside:!0};const{areaOfInterest:s}=e;if(s&&i){const e="point"===i.type?i:"extent"===i.type?i.center:"polygon"===i.type?i.centroid:null;if(e&&!s.contains(e))return{isOutside:!0}}return null!=o&&o.length&&p(o,e,!0)?{isOutside:!0}:{isOutside:!1,intersection:{geometry:i,timeExtent:a,multidimensionalDefinition:o}}}function y(e){const{rasterInfo:t,multidimensionalSubset:i}=e,{multidimensionalInfo:n}=t;if(null==n)return null;let r=e.multidimensionalDefinition?.length?e.multidimensionalDefinition:g(t,{multidimensionalSubset:i});if(!r?.length)return null;if(r.some((e=>!e.dimensionName))){const{variableName:e}=r[0],n=g(t,{multidimensionalSubset:i,variableName:e});n?.forEach((e=>{const t=r?.find((({dimensionName:t})=>t===e.dimensionName));t?.values?.length&&(e.values=t.values,e.isSlice=t.isSlice)})),r=n}const{timeExtent:o}=e;if(null!=r&&null!=o&&(null!=o.start||null!=o.end)){r=r.map((e=>e.clone()));const e=n.variables.find((({name:e})=>e===r[0].variableName))?.dimensions?.find((({name:e})=>"StdTime"===e)),t=r.find((({dimensionName:e})=>"StdTime"===e));if(!e||!t)return null;const{start:i,end:a}=o,s=null==i?null:i.getTime(),l=null==a?null:a.getTime(),u=s??l,c=l??s;if(null!=e.values){const i=e.values.filter((e=>{if(Array.isArray(e)){if(u===c)return e[0]<=u&&e[1]>=u;const t=e[0]<=u&&e[1]>u||e[0]<c&&e[1]>=c,i=e[0]>=u&&e[1]<=c||e[0]<u&&e[1]>c;return t||i}return u===c?e===u:e>=u&&e<=c}));if(i.length){const e=i.sort(((e,t)=>{const i=Array.isArray(e)?e[0]:e,n=Array.isArray(e)?e[1]:e,r=Array.isArray(t)?t[0]:t,o=Array.isArray(t)?t[1]:t;return u===c?i-r:Math.abs(n-c)-Math.abs(o-c)}))[0];t.values=[e]}else r=null}else if(e.hasRegularIntervals&&e.extent){const[i,n]=e.extent;u>n||c<i?r=null:t.values=u===c?[u]:[Math.max(i,u),Math.min(n,c)]}}return null!=r&&p(r,i)?null:r}function M(e,t={}){const{multidimensionalInfo:i,keyProperties:n}=e;if(null==i)return null;const{variableName:r,multidimensionalSubset:o,multidimensionalDefinition:a}=t,s=null!=a?a[0]?.variableName:null,l=r||s||n?.DefaultVariable;let{variables:u}=i;return o?.variables?.length&&(u=u.filter((({name:e})=>o.variables.includes(e)))),l?u.find((({name:e})=>e===l))??u[0]:u[0]}function g(e,t={}){const i=M(e,t);if(!i)return null;const n=[],{dimensions:o,name:a}=i;if(0===o.length)return[new r.A({variableName:a,dimensionName:"",values:[],isSlice:!0})];for(let e=0;e<o.length;e++){const i=d(o[e],t.multidimensionalSubset,a);if(!i)return null;const{values:s,extent:l}=i;let u=s?.[0]??l?.[0];"stdz"===i.name.toLowerCase()&&!i.hasRanges&&l&&Math.abs(l[1])<=Math.abs(l[0])&&(u=s?.length?s[s.length-1]:l[1]),n.push(new r.A({variableName:a,dimensionName:i.name,values:[u],isSlice:!t.useRangeForRangedDimensionInfo||!!i.hasRanges}))}return n}function h(e){return!!e?.length&&e.some((e=>{if(null==e.values)return!0;const t=e.values.length;return 0===t||t>1||!e.isSlice&&Array.isArray(e.values[0])}))}function f(e,t){if(null==t||null==e)return null;let i=t.variables.map((e=>({...e})));return e?.variables?.length&&(i=i.filter((({name:t})=>e.variables.includes(t))),i.forEach((t=>{t.dimensions=t.dimensions.map((i=>d(i,e,t.name))).filter(n.Ru)}))),i}function w(e,t){const{values:i}=t;if(i?.length){const t=Array.isArray(i[0]),n=Array.isArray(e);return t!==n?-1:t&&n?i.findIndex((t=>t[0]===e[0]&&t[1]===e[1])):i.indexOf(e)}const{extent:n}=t;if(Array.isArray(e)||!n||e<n[0]||e>n[1])return-1;const r=t.interval||1;if("ISO8601"!==t.unit)return Math.round((e-n[0])/r);const o=n[0];let a=-1;switch(t.intervalUnit?.toLowerCase()||"days"){case"seconds":a=Math.round((e-o)/1e3/r);break;case"minutes":a=Math.round((e-o)/6e4/r);break;case"hours":a=Math.round((e-o)/36e5/r);break;case"days":a=Math.round((e-o)/864e5/r);break;case"months":{const t=new Date(e).getUTCFullYear()-new Date(o).getUTCFullYear(),i=new Date(o).getUTCMonth(),n=new Date(e).getUTCMonth();a=0===t?n-i:n+11-i+12*(t-1)}break;case"years":a=Math.round((new Date(e).getUTCFullYear()-new Date(o).getUTCFullYear())/r);break;case"decades":a=Math.round((new Date(e).getUTCFullYear()-new Date(o).getUTCFullYear())/10/r)}return a}function I(e){let t=e.values?.length;if(t)return t;const{extent:i,unit:n}=e,r=e.interval||1,o=i?i[1]-i[0]:0;if("ISO8601"!==n)return Math.round(o/r);switch(e.intervalUnit?.toLowerCase()??"seconds"){case"seconds":t=Math.round(o/1e3/r);break;case"minutes":t=Math.round(o/6e4/r);break;case"hours":t=Math.round(o/36e5/r);break;case"days":t=Math.round(o/864e5/r);break;case"months":if(i){const e=new Date(i[1]).getUTCFullYear()-new Date(i[0]).getUTCFullYear(),n=new Date(i[0]).getUTCMonth(),r=new Date(i[1]).getUTCMonth();t=0===e?r-n+1:r+11-n+12*(e-1)+1}else t=0;break;case"years":t=i?Math.round((new Date(i[1]).getUTCFullYear()-new Date(i[0]).getUTCFullYear())/r):0;break;case"decades":t=i?Math.round((new Date(i[1]).getUTCFullYear()-new Date(i[0]).getUTCFullYear())/10/r):0;break;default:t=0}return t}function A(e){if(2!==e.extent?.length||!e.interval)return[];const{extent:[t,i],interval:n}=e;if("ISO8601"===e.unit){const r=e.intervalUnit?.toLowerCase()??"days";return["decades","years","months","days","hours","minutes","seconds"].includes(r)?function(e,t,i,n){const r=[];let o=e;const a=new Date(e);for(;o<=t;)switch(r.push(o),n){case"decades":a.setUTCFullYear(a.getUTCFullYear()+10*i),o=a.getTime();break;case"years":a.setUTCFullYear(a.getUTCFullYear()+i),o=a.getTime();break;case"months":a.setUTCMonth(a.getUTCMonth()+i),o=a.getTime();break;case"days":o+=864e5*i;break;case"hours":o+=36e5*i;break;case"minutes":o+=6e4*i;break;case"seconds":o+=1e3*i}return 1===r.length?r[1]=t:r[r.length-1]=t,r}(t,i,n,r):[]}const r=Math.round((i-t)/n);return Array.from({length:r},((e,o)=>o===r-1?i:t+o*n))}function v(e,t){let i=0;const n=e[0].variableName,r=[...t.variables].sort(((e,t)=>e.name>t.name?1:-1));for(let t=0;t<r.length;t++){const o=r[t],a=[...o.dimensions].sort(((e,t)=>e.name>t.name?-1:1));if(o.name!==n){i+=a.map((e=>I(e))).reduce(((e,t)=>e*t));continue}const s=a.map((e=>I(e))),l=a.length;for(let t=0;t<l;t++){const n=e.find((e=>e.dimensionName===a[t].name));if(null==n)return null;const r=w(n.values[0],a[t]);if(-1===r)return null;s.shift(),i+=t===l-1?r:r*s.reduce(((e,t)=>e*t))}break}return i}function b(e){return Math.round(24*(e-25569)*3600*1e3)}},74797:(e,t,i)=>{i.d(t,{AL:()=>f,DV:()=>M,ER:()=>r,F_:()=>s,Nd:()=>m,Oo:()=>o,dy:()=>p,eS:()=>v,h4:()=>b,jC:()=>h,nq:()=>y,rZ:()=>d,y6:()=>g});var n=i(20437);const r="Raster.",o="Raster.Dim.",a=".Max",s={servicePixelValue:"Raster.ServicePixelValue",rawServicePixelValue:"Raster.ServicePixelValue.Raw",itemPixelValue:"Raster.ItemPixelValue",magnitude:"Raster.Magnitude",direction:"Raster.Direction",variable:"Raster.Variable"},l=new Map([["quarters","Quarter"],["months","Month"],["weeks","Week of the year"],["days","Day of the year"]]);function u(e,t){return new n.A({name:e,alias:t,domain:null,editable:!1,length:50,type:"string"})}function c(e,t){return new n.A({name:e,alias:t,domain:null,editable:!1,type:"double"})}function d(e){return u(s.servicePixelValue,e??"Service Pixel Value")}function p(e){return u(s.rawServicePixelValue,e??"Raw Service Pixel Value")}function m(){return u(s.itemPixelValue,"Item Pixel Value")}function y(e){return u(`${s.servicePixelValue}.${e}`,e)}function M(e){return c(`${s.magnitude}`,"Magnitude"+(e?` (${e})`:""))}function g(){return c(`${s.direction}`,"Direction (°)")}function h(e){return e.fields.filter((e=>"oid"!==e.type&&"value"!==e.name.toLowerCase())).map((e=>{const t=e.clone();return t.name=`${r}${e.name}`,t}))}function f(e){const t=new Set,i=new Set,r=new Map;return e.variables.forEach((({dimensions:e})=>{e.forEach((e=>{if(e.recurring)r.set(e.name,e.unit);else{const n="ISO8601"===e.unit?.trim()?t:i;n.add(e.name),e.hasRanges&&n.add(`${e.name}${a}`)}}))})),[u(s.variable,"Variable"),...[...t].map((e=>function(e,t){return new n.A({name:e,alias:t,domain:null,editable:!1,type:"date"})}(`${o}${e}`,I(e)))),...[...i].map((e=>c(`${o}${e}`,I(e)))),...[...r].map((([e,t])=>c(`${o}${e}`,w(e,t))))]}function w(e,t){return t=t?.toLowerCase(),t&&l.has(t)?l.get(t):I(e)}function I(e){const t=e.endsWith(a),i=t?e.slice(0,-4):e,n="StdTime"===i?"Standard Time":"StdZ"===i?"Standard Z":i;return t?`${n} Max`:n}function A(e,t){return t?new Date(e):e}function v(e,t,i){i?.length&&(t[s.variable]=i[0].variableName,i.forEach((({dimensionName:i,values:n})=>{if(i&&n?.length){const r=`${o}${i}`,s=e.find((({name:e})=>e===r));if(!s)return;const l="date"===s.type,u=n[0];if(Array.isArray(u)){if(t[`${o}${i}`]=A(u[0],l),null!=u[1]){const n=`${o}${i}${a}`;if(e.some((({name:e})=>e===n))){const e=A(u[1],l);t[n]=e}}}else t[`${o}${i}`]=A(u,l)}})))}function b(e,t){if(t.pixelType.startsWith("f")&&e.forEach((({format:e,fieldName:t})=>{e&&t&&/^raster\.(item|service)pixelvalue/i.test(t)&&(e.places=2)})),t.multidimensionalInfo){const i=t.multidimensionalInfo.variables.flatMap((({dimensions:e})=>e));e.forEach((({format:e,fieldName:t})=>{if(e&&t?.startsWith(o)){const n=t.slice(o.length),r=`${n}${a}`,s=i.find((({name:e})=>e===n||e===r));s?.values?.every((e=>Number.isInteger(e)))&&(e.places=0)}}))}}},73133:(e,t,i)=>{i.d(t,{j:()=>n});const n=(0,i(66552).O)()({esriTimeUnitsMilliseconds:"milliseconds",esriTimeUnitsSeconds:"seconds",esriTimeUnitsMinutes:"minutes",esriTimeUnitsHours:"hours",esriTimeUnitsDays:"days",esriTimeUnitsWeeks:"weeks",esriTimeUnitsMonths:"months",esriTimeUnitsYears:"years",esriTimeUnitsDecades:"decades",esriTimeUnitsCenturies:"centuries",esriTimeUnitsUnknown:void 0})},67730:(e,t,i)=>{i.d(t,{A:()=>h});var n,r=i(90237),o=i(68197),a=i(66552),s=i(25482),l=i(90629),u=i(10107),c=(i(44208),i(53966),i(87811),i(93223)),d=i(40608),p=i(63988),m=i(30943),y=i(20061);const M=new a.J({flow_from:"flow-from",flow_to:"flow-to"});let g=n=class extends((0,p.h)(s.A)){constructor(e){super(e),this.density=.8,this.color=new o.A([255,255,255,1]),this.maxPathLength=200,this.trailWidth=1.5,this.flowSpeed=10,this.trailLength=100,this.smoothing=0,this.flowRepresentation="flow-from",this.type="flow",this.authoringInfo=null,this.legendOptions=null,this.trailCap="butt",this.background="none"}clone(){const{density:e,maxPathLength:t,trailWidth:i,flowSpeed:r,trailLength:o,smoothing:a,flowRepresentation:s,trailCap:l,background:u}=this,c=this.color.clone(),d=(this.visualVariables||[]).map((e=>e.clone())),p=this.authoringInfo?.clone(),m=this.legendOptions?.clone();return new n({density:e,color:c,maxPathLength:t,trailWidth:i,flowSpeed:r,trailLength:o,trailCap:l,background:u,smoothing:a,flowRepresentation:s,visualVariables:d,authoringInfo:p,legendOptions:m})}getSymbol(e,t){}async getSymbolAsync(e,t){}getSymbols(){return[]}};(0,r._)([(0,u.MZ)({type:Number,json:{write:!0}})],g.prototype,"density",void 0),(0,r._)([(0,u.MZ)({type:o.A,json:{write:{allowNull:!0}}})],g.prototype,"color",void 0),(0,r._)([(0,u.MZ)({type:Number,cast:l.cr,json:{write:!0}})],g.prototype,"maxPathLength",void 0),(0,r._)([(0,u.MZ)({type:Number,cast:l.cr,json:{write:!0}})],g.prototype,"trailWidth",void 0),(0,r._)([(0,u.MZ)({type:Number,json:{write:!0}})],g.prototype,"flowSpeed",void 0),(0,r._)([(0,u.MZ)({type:Number,json:{write:!0}})],g.prototype,"trailLength",void 0),(0,r._)([(0,u.MZ)({type:Number,cast:l.cr,json:{write:!1}})],g.prototype,"smoothing",void 0),(0,r._)([(0,u.MZ)({type:M.apiValues,json:{type:M.jsonValues,read:{reader:M.read},write:{writer:M.write}}})],g.prototype,"flowRepresentation",void 0),(0,r._)([(0,c.e)({flowRenderer:"flow"})],g.prototype,"type",void 0),(0,r._)([(0,u.MZ)({type:m.A,json:{write:!0}})],g.prototype,"authoringInfo",void 0),(0,r._)([(0,u.MZ)({type:y.A,json:{write:!0}})],g.prototype,"legendOptions",void 0),(0,r._)([(0,u.MZ)({type:String,json:{write:!0}})],g.prototype,"trailCap",void 0),(0,r._)([(0,u.MZ)({type:String,json:{write:!0}})],g.prototype,"background",void 0),g=n=(0,r._)([(0,d.$)("esri.renderers.FlowRenderer")],g);const h=g},80498:(e,t,i)=>{i.d(t,{A:()=>M});var n=i(90237),r=i(25482),o=i(10107),a=(i(44208),i(53966),i(87811),i(93223)),s=i(40608),l=i(68197),u=i(56507);let c=class extends r.A{constructor(){super(...arguments),this.value=null,this.label=null,this.color=null}};(0,n._)([(0,o.MZ)({type:Number,json:{write:{isRequired:!0}}})],c.prototype,"value",void 0),(0,n._)([(0,o.MZ)({type:String,json:{write:!0}})],c.prototype,"label",void 0),(0,n._)([(0,o.MZ)({type:l.A,json:{type:[u.jz],write:{isRequired:!0}}})],c.prototype,"color",void 0),c=(0,n._)([(0,s.$)("esri.renderers.support.ColormapInfo")],c);const d=c;var p,m=i(67369);let y=p=class extends r.A{constructor(e){super(e),this.colormapInfos=null,this.type="raster-colormap"}static createFromColormap(e,t){if(!e)return null;const i=5===e[0].length,n=[...e].sort(((e,t)=>e[0]-t[0])).map((e=>d.fromJSON({value:e[0],color:i?e.slice(1,5):e.slice(1,4).concat([255]),label:t?t[e[0]]??"":e[0]})));return new p({colormapInfos:n})}static createFromColorramp(e){const t=(0,m.R8)(e);return p.createFromColormap(t)}clone(){return new p({colormapInfos:this.colormapInfos.map((e=>e.toJSON()))})}extractColormap(){return this.colormapInfos.map((({value:e,color:t})=>[e,t.