UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

1 lines • 34.9 kB
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[3733],{5503:(e,t,s)=>{s.d(t,{A:()=>R});var i,n=s(90237),r=s(98291),h=s(65529),o=s(36563),a=s(4718),l=s(93687);!function(e){e[e.ADD=1]="ADD",e[e.REMOVE=2]="REMOVE",e[e.MOVE=4]="MOVE"}(i||(i={}));var c,u=s(11932),d=s(56507),_=s(62788),f=s(10107),m=s(7695),g=s(40608),p=s(95488),y=s(12195);class b{constructor(e,t,s,i,n){this.target=e,this.added=t,this.removed=s,this.start=i,this.deleteCount=n}}const v=new l.A(class{constructor(){this.target=null,this.cancellable=!1,this.defaultPrevented=!1,this.item=void 0,this.type=void 0}preventDefault(){this.cancellable&&(this.defaultPrevented=!0)}reset(e){this.defaultPrevented=!1,this.item=e}},void 0,(e=>{e.item=null,e.target=null,e.defaultPrevented=!1,e.cancellable=!1}));function x(e){e&&"object"==typeof e&&"destroy"in e&&"function"==typeof e.destroy&&e.destroy()}function M(e){return e?e instanceof L?e.toArray():e.length?Array.prototype.slice.apply(e):[]:[]}function E(e){if(e?.length)return e[0]}function B(e,t,s,i){const n=Math.min(e.length-s,t.length-i);let r=0;for(;r<n&&e[s+r]===t[i+r];)r++;return r}function A(e,t,s,i){t&&t.forEach(((t,n,r)=>{e.push(t),A(e,s.call(i,t,n,r),s,i)}))}const z=new Set,I=new Set,w=new Set,S=new Map;let C=0,L=class extends h.A.EventedAccessor{static{c=this}static{this.ofType=e=>{if(!e)return c;if(S.has(e))return S.get(e);let t=null;if("function"==typeof e)t=e.prototype.declaredClass;else if(e.base)t=e.base.prototype.declaredClass;else for(const s in e.typeMap){const i=e.typeMap[s].prototype.declaredClass;t?t+=` | ${i}`:t=i}let s=class extends c{};return(0,n._)([(0,m.u)({Type:e,ensureType:"function"==typeof e?(0,d.dp)(e):(0,d.aq)(e)})],s.prototype,"itemType",void 0),s=(0,n._)([(0,g.$)(`esri.core.Collection<${t}>`)],s),S.set(e,s),s}}static isCollection(e){return null!=e&&e instanceof c}constructor(e){super(e),this._chgListeners=[],this._notifications=null,this._updating=!1,this._timer=null,this._observable=new p.I,this.length=0,this._items=[],Object.defineProperty(this,"uid",{value:C++})}normalizeCtorArgs(e){return e?Array.isArray(e)||e instanceof c?{items:e}:e:{}}destroy(){this._removeAllRaw(),this._timer&&this._timer.remove(),this._emitter.destroy(),this._notifications=null}*[Symbol.iterator](){yield*this.items}get items(){return(0,_.gc)(this._observable),this._items}set items(e){this._emitBeforeChanges(i.ADD)||(this._splice(0,this.length,M(e)),this._emitAfterChanges(i.ADD))}hasEventListener(e){return!this.destroyed&&("change"===e?this._chgListeners.length>0:this._emitter.hasEventListener(e))}on(e,t){if(this.destroyed)return(0,o.hA)();if("change"===e){const e=this._chgListeners,s={removed:!1,callback:t};return e.push(s),this._notifications&&this._notifications.push({listeners:e.slice(),items:this._items.slice(),changes:[]}),(0,o.hA)((()=>{s.removed=!0,e.splice(e.indexOf(s),1)}))}return this._emitter.on(e,t)}once(e,t){const s="deref"in t?()=>t.deref():()=>t,i=this.on(e,(e=>{s()?.call(null,e),i.remove()}));return i}add(e,t){if((0,_.gc)(this._observable),this._emitBeforeChanges(i.ADD))return this;const s=this.getNextIndex(t??null);return this._splice(s,0,[e]),this._emitAfterChanges(i.ADD),this}addMany(e,t=this._items.length){if((0,_.gc)(this._observable),!e?.length)return this;if(this._emitBeforeChanges(i.ADD))return this;const s=this.getNextIndex(t);return this._splice(s,0,M(e)),this._emitAfterChanges(i.ADD),this}at(e){if((0,_.gc)(this._observable),(e=Math.trunc(e)||0)<0&&(e+=this.length),!(e<0||e>=this.length))return this._items[e]}removeAll(){if((0,_.gc)(this._observable),!this.length||this._emitBeforeChanges(i.REMOVE))return[];const e=this._removeAllRaw();return this._emitAfterChanges(i.REMOVE),e}_removeAllRaw(){return 0===this.length?[]:this._splice(0,this.length)||[]}clone(){return(0,_.gc)(this._observable),this._createNewInstance({items:this._items.map(a.o8)})}concat(...e){(0,_.gc)(this._observable);const t=e.map(M);return this._createNewInstance({items:this._items.concat(...t)})}drain(e,t){if((0,_.gc)(this._observable),!this.length||this._emitBeforeChanges(i.REMOVE))return;const s=this._splice(0,this.length),n=s.length;for(let i=0;i<n;i++)e.call(t,s[i],i,s);this._emitAfterChanges(i.REMOVE)}destroyAll(){this.drain(x)}destroyMany(e){const t=this.removeMany(e);return t.forEach(x),t}every(e,t){return(0,_.gc)(this._observable),this._items.every(e,t)}filter(e,t){(0,_.gc)(this._observable);const s=2===arguments.length?this._items.filter(e,t):this._items.filter(e);return this._createNewInstance({items:s})}find(e,t){return(0,_.gc)(this._observable),this._items.find(e,t)}findIndex(e,t){return(0,_.gc)(this._observable),this._items.findIndex(e,t)}flatten(e,t){(0,_.gc)(this._observable);const s=[];return A(s,this,e,t),new c(s)}forEach(e,t){return(0,_.gc)(this._observable),this._items.forEach(e,t)}getItemAt(e){return(0,_.gc)(this._observable),this._items[e]}getNextIndex(e){(0,_.gc)(this._observable);const t=this.length;return(e=e??t)<0?e=0:e>t&&(e=t),e}includes(e,t=0){return(0,_.gc)(this._observable),this._items.includes(e,t)}indexOf(e,t=0){return(0,_.gc)(this._observable),this._items.indexOf(e,t)}join(e=","){return(0,_.gc)(this._observable),this._items.join(e)}lastIndexOf(e,t=this.length-1){return(0,_.gc)(this._observable),this._items.lastIndexOf(e,t)}map(e,t){(0,_.gc)(this._observable);const s=this._items.map(e,t);return new c({items:s})}reorder(e,t=this.length-1){(0,_.gc)(this._observable);const s=this.indexOf(e);if(-1!==s){if(t<0?t=0:t>=this.length&&(t=this.length-1),s!==t){if(this._emitBeforeChanges(i.MOVE))return e;this._splice(s,1),this._splice(t,0,[e]),this._emitAfterChanges(i.MOVE)}return e}}pop(){if((0,_.gc)(this._observable),!this.length||this._emitBeforeChanges(i.REMOVE))return;const e=E(this._splice(this.length-1,1));return this._emitAfterChanges(i.REMOVE),e}push(...e){return(0,_.gc)(this._observable),this._emitBeforeChanges(i.ADD)||(this._splice(this.length,0,e),this._emitAfterChanges(i.ADD)),this.length}reduce(e,t){(0,_.gc)(this._observable);const s=this._items;return 2===arguments.length?s.reduce(e,t):s.reduce(e)}reduceRight(e,t){(0,_.gc)(this._observable);const s=this._items;return 2===arguments.length?s.reduceRight(e,t):s.reduceRight(e)}remove(e){return(0,_.gc)(this._observable),this.removeAt(this.indexOf(e))}removeAt(e){if((0,_.gc)(this._observable),e<0||e>=this.length||this._emitBeforeChanges(i.REMOVE))return;const t=E(this._splice(e,1));return this._emitAfterChanges(i.REMOVE),t}removeMany(e){if((0,_.gc)(this._observable),!e?.length||this._emitBeforeChanges(i.REMOVE))return[];const t=e instanceof c?e.toArray():e,s=this._items,n=[],r=t.length;for(let e=0;e<r;e++){const i=t[e],r=s.indexOf(i);if(r>-1){const i=1+B(t,s,e+1,r+1),h=this._splice(r,i);h&&h.length>0&&n.push.apply(n,h),e+=i-1}}return this._emitAfterChanges(i.REMOVE),n}reverse(){if((0,_.gc)(this._observable),this._emitBeforeChanges(i.MOVE))return this;const e=this._splice(0,this.length);return e&&(e.reverse(),this._splice(0,0,e)),this._emitAfterChanges(i.MOVE),this}shift(){if((0,_.gc)(this._observable),!this.length||this._emitBeforeChanges(i.REMOVE))return;const e=E(this._splice(0,1));return this._emitAfterChanges(i.REMOVE),e}slice(e=0,t=this.length){return(0,_.gc)(this._observable),this._createNewInstance({items:this._items.slice(e,t)})}some(e,t){return(0,_.gc)(this._observable),this._items.some(e,t)}sort(e){if((0,_.gc)(this._observable),!this.length||this._emitBeforeChanges(i.MOVE)||!this._requiresSort(e))return this;const t=this._splice(0,this.length);return arguments.length?t.sort(e):t.sort(),this._splice(0,0,t),this._emitAfterChanges(i.MOVE),this}_requiresSort(e=(e,t)=>e===t?0:e<t?-1:1){const t=this.length-1;for(let s=0;s<t;s++)if(e(this.items[s],this.items[s+1])>0)return!0;return!1}splice(e,t,...s){(0,_.gc)(this._observable),1===arguments.length&&(t=this.length),t??=0;const n=(t?i.REMOVE:0)|(s.length?i.ADD:0);if(this._emitBeforeChanges(n))return[];const r=this._splice(e,t,s)||[];return this._emitAfterChanges(n),r}toArray(){return(0,_.gc)(this._observable),this._items.slice()}toJSON(e){return(0,_.gc)(this._observable),this.toArray().map((t=>(0,y.W)(t)?t.toJSON(e):t))}toLocaleString(){return(0,_.gc)(this._observable),this._items.toLocaleString()}toString(){return(0,_.gc)(this._observable),this._items.toString()}unshift(...e){return(0,_.gc)(this._observable),!e.length||this._emitBeforeChanges(i.ADD)||(this._splice(0,0,e),this._emitAfterChanges(i.ADD)),this.length}_createNewInstance(e){return new this.constructor(e)}_splice(e,t,s){const i=this._items,n=this.itemType;let r,h;if(!this._notifications&&this.hasEventListener("change")&&(this._notifications=[{listeners:this._chgListeners.slice(),items:this._items.slice(),changes:[]}],this._timer&&this._timer.remove(),this._updating=!0,this._timer=(0,u._)((()=>this._dispatchChange()))),e<0&&(e+=this.length),t){if(h=i.splice(e,t),this.hasEventListener("before-remove")){const t=v.acquire();t.target=this,t.cancellable=!0;for(let s=0,n=h.length;s<n;s++)r=h[s],t.reset(r),this.emit("before-remove",t),t.defaultPrevented&&(h.splice(s,1),i.splice(e,0,r),e+=1,s-=1,n-=1);v.release(t)}if(this.length=this._items.length,this.hasEventListener("after-remove")){const e=v.acquire();e.target=this,e.cancellable=!1;const t=h.length;for(let s=0;s<t;s++)e.reset(h[s]),this.emit("after-remove",e);v.release(e)}}if(s?.length){if(n){const e=[];for(const t of s){const s=n.ensureType(t);null==s&&null!=t||e.push(s)}s=e}const t=this.hasEventListener("before-add"),r=this.hasEventListener("after-add"),h=e===this.length;if(t||r){const n=v.acquire();n.target=this,n.cancellable=!0;const o=v.acquire();o.target=this,o.cancellable=!1;for(const a of s)t?(n.reset(a),this.emit("before-add",n),n.defaultPrevented||(h?i.push(a):i.splice(e++,0,a),this._set("length",i.length),r&&(o.reset(a),this.emit("after-add",o)))):(h?i.push(a):i.splice(e++,0,a),this._set("length",i.length),o.reset(a),this.emit("after-add",o));v.release(o),v.release(n)}else{if(h)for(const e of s)i.push(e);else i.splice(e,0,...s);this._set("length",i.length)}}if((s?.length||h?.length)&&this._notifyChangeEvent(s,h),this.hasEventListener("after-splice")){const i=new b(this,s,h,e,t);this.emit("after-splice",i)}return h}_emitBeforeChanges(e){let t=!1;if(this.hasEventListener("before-changes")){const s=v.acquire();s.target=this,s.cancellable=!0,s.type=e,this.emit("before-changes",s),t=s.defaultPrevented,v.release(s)}return t}_emitAfterChanges(e){if(this.hasEventListener("after-changes")){const t=v.acquire();t.target=this,t.cancellable=!1,t.type=e,this.emit("after-changes",t),v.release(t)}this._observable.notify()}_notifyChangeEvent(e,t){this.hasEventListener("change")&&this._notifications&&this._notifications[this._notifications.length-1].changes.push({added:e,removed:t})}get updating(){return this._updating}_dispatchChange(){if(this._timer&&(this._timer.remove(),this._timer=null),this._updating=!1,!this._notifications)return;const e=this._notifications;this._notifications=null;for(const t of e){const e=t.changes;z.clear(),I.clear(),w.clear();for(const{added:t,removed:s}of e){if(t)if(0===w.size&&0===I.size)for(const e of t)z.add(e);else for(const e of t)I.has(e)?(w.add(e),I.delete(e)):w.has(e)||z.add(e);if(s)if(0===w.size&&0===z.size)for(const e of s)I.add(e);else for(const e of s)z.has(e)?z.delete(e):(w.delete(e),I.add(e))}const s=r.A.acquire();z.forEach((e=>{s.push(e)}));const i=r.A.acquire();I.forEach((e=>{i.push(e)}));const n=this._items,h=t.items,o=r.A.acquire();if(w.forEach((e=>{h.indexOf(e)!==n.indexOf(e)&&o.push(e)})),t.listeners&&(s.length||i.length||o.length)){const e={target:this,added:s,removed:i,moved:o},n=t.listeners.length;for(let s=0;s<n;s++){const i=t.listeners[s];i.removed||i.callback.call(this,e)}}r.A.release(s),r.A.release(i),r.A.release(o)}z.clear(),I.clear(),w.clear()}};(0,n._)([(0,f.MZ)()],L.prototype,"_updating",void 0),(0,n._)([(0,f.MZ)()],L.prototype,"length",void 0),(0,n._)([(0,f.MZ)()],L.prototype,"items",null),(0,n._)([(0,f.MZ)({readOnly:!0})],L.prototype,"updating",null),L=c=(0,n._)([(0,g.$)("esri.core.Collection")],L);const R=L},6518:(e,t,s)=>{s.d(t,{F:()=>o});var i=s(44208),n=s(75503),r=s(19419);const h={minX:0,minY:0,maxX:0,maxY:0};class o{constructor(){this._indexInvalid=!1,this._boundsToLoad=[],this._boundsById=new Map,this._idByBounds=new Map,this._index=new n.w(9,(0,i.A)("esri-csp-restrictions")?e=>({minX:e[0],minY:e[1],maxX:e[2],maxY:e[3]}):["[0]","[1]","[2]","[3]"]),this._loadIndex=()=>{if(this._indexInvalid){const e=new Array(this._idByBounds.size);let t=0;this._idByBounds.forEach(((s,i)=>{e[t++]=i})),this._indexInvalid=!1,this._index.clear(),this._index.load(e)}else this._boundsToLoad.length&&(this._index.load(Array.from(new Set(this._boundsToLoad.filter((e=>this._idByBounds.has(e)))))),this._boundsToLoad.length=0)}}get fullBounds(){if(!this._boundsById.size)return null;const e=(0,r.Ie)();for(const t of this._boundsById.values())t&&(e[0]=Math.min(t[0],e[0]),e[1]=Math.min(t[1],e[1]),e[2]=Math.max(t[2],e[2]),e[3]=Math.max(t[3],e[3]));return e}get valid(){return!this._indexInvalid}clear(){this._indexInvalid=!1,this._boundsToLoad.length=0,this._boundsById.clear(),this._idByBounds.clear(),this._index.clear()}delete(e){const t=this._boundsById.get(e);this._boundsById.delete(e),t&&(this._idByBounds.delete(t),this._indexInvalid||this._index.remove(t))}forEachInBounds(e,t){this._loadIndex(),function(e,t,s){(function(e){h.minX=e[0],h.minY=e[1],h.maxX=e[2],h.maxY=e[3]})(t),e.search(h,s)}(this._index,e,(e=>t(this._idByBounds.get(e))))}get(e){return this._boundsById.get(e)}has(e){return this._boundsById.has(e)}invalidateIndex(){this._indexInvalid||(this._indexInvalid=!0,this._boundsToLoad.length=0)}set(e,t){if(!this._indexInvalid){const t=this._boundsById.get(e);t&&(this._index.remove(t),this._idByBounds.delete(t))}this._boundsById.set(e,t),t&&(this._idByBounds.set(t,e),this._indexInvalid||(this._boundsToLoad.push(t),this._boundsToLoad.length>5e4&&this._loadIndex()))}}},7695:(e,t,s)=>{function i(e){return(t,s)=>{t[s]=e}}s.d(t,{u:()=>i})},36708:(e,t,s)=>{s.d(t,{C_:()=>d,OH:()=>m,Vh:()=>g,on:()=>u,pc:()=>p,wB:()=>a,z7:()=>l});var i=s(37955),n=s(36563),r=s(97768),h=s(74887),o=s(14012);function a(e,t,s={}){return c(e,t,s,_)}function l(e,t,s={}){return c(e,t,s,f)}function c(e,t,s={},i){let n=null;const h=s.once?(e,s)=>{i(e)&&((0,r.xt)(n),t(e,s))}:(e,s)=>{i(e)&&t(e,s)};if(n=(0,o.Cn)(e,h,s.sync,s.equals),s.initial){const t=e();h(t,t)}return n}function u(e,t,s,h={}){let o=null,l=null,c=null;function u(){o&&l&&(l.remove(),h.onListenerRemove?.(o),o=null,l=null)}function d(e){h.once&&h.once&&(0,r.xt)(c),s(e)}const _=a(e,((e,s)=>{u(),(0,i.wb)(e)&&(o=e,l=(0,i.on)(e,t,d),h.onListenerAdd?.(e))}),{sync:h.sync,initial:!0});return c=(0,n.hA)((()=>{_.remove(),u()})),c}function d(e,t){return function(e,t,s){if((0,h.G4)(s))return Promise.reject((0,h.NK)());const i=e();if(t?.(i))return Promise.resolve(i);let o=null;function a(){o=(0,r.xt)(o)}return new Promise(((i,r)=>{o=(0,n.vE)([(0,h.u7)(s,(()=>{a(),r((0,h.NK)())})),c(e,(e=>{a(),i(e)}),{sync:!1,once:!0},t??_)])}))}(e,f,t)}function _(e){return!0}function f(e){return!!e}s(80559);const m={sync:!0},g={initial:!0},p={sync:!0,initial:!0}},37730:(e,t,s)=>{s.d(t,{T:()=>n});var i=s(43334);const n={getObjectId:e=>e.objectId,getAttributes:e=>e.attributes,getAttribute:(e,t)=>e.attributes[t],cloneWithGeometry:(e,t)=>new i.Om(t,e.attributes,null,e.objectId),getGeometry:e=>e.geometry,getCentroid:(e,t)=>e.ensureCentroid(t)}},58376:(e,t,s)=>{s.d(t,{J:()=>f});var i=s(4718),n=s(74887),r=s(65864),h=s(17136),o=s(21325),a=s(31464),l=s(68298),c=s(8384),u=s(58727),d=s(62798),_=s(62660);async function f(e,t,s){const f=(0,n.Mq)(s),{point:m,distance:g,returnEdge:p,vertexMode:y}=t;if(!p&&"none"===y)return{candidates:[]};let b=(0,i.o8)(t.query);b=await e.schedule((()=>(0,u.T2)(b,e.definitionExpression,e.spatialReference)),f),b=await e.reschedule((()=>(0,d.B4)(b,{availableFields:e.availableFields,fieldsIndex:e.fieldsIndex,geometryType:e.geometryType,spatialReference:e.spatialReference})),f);const v=!(0,o.aI)(m.spatialReference,e.spatialReference);v&&await(0,a.Nk)(m.spatialReference,e.spatialReference);const x="number"==typeof g?g:g.x,M="number"==typeof g?g:g.y,E={xmin:m.x-x,xmax:m.x+x,ymin:m.y-M,ymax:m.y+M,spatialReference:m.spatialReference},B=v?(0,a.Cv)(E,e.spatialReference):E;if(!B)return{candidates:[]};const A=(await(0,h.el)((0,r.rS)(m),null,{signal:f}))[0],z=(await(0,h.el)((0,r.rS)(B),null,{signal:f}))[0];if(null==A||null==z)return{candidates:[]};const I=new c.G(await e.reschedule((()=>e.searchFeatures((0,l.ux)(z.toJSON()))),f),b,e);await e.reschedule((()=>e.executeObjectIdsQuery(I)),f),await e.reschedule((()=>e.executeTimeQuery(I)),f),await e.reschedule((()=>e.executeAttributesQuery(I)),f),await e.reschedule((()=>async function(e,t,s){const{query:i}=t,{spatialRel:n}=i;if(!t?.items?.length||!i.geometry||!n)return;const r=await(0,_.xt)(n,i.geometry,e.geometryType,e.hasZ,e.hasM),h=await e.runSpatialFilter(t.items,(e=>r(e.geometry)),s);t.items=h}(e,I,f)),f);const w=A.toJSON(),S=v?(0,a.Cv)(w,e.spatialReference):w,C=v?Math.max(B.xmax-B.xmin,B.ymax-B.ymin)/2:g;return I.createSnappingResponse({...t,point:S,distance:C},b.returnZ,m.spatialReference)}},65529:(e,t,s)=>{s.d(t,{A:()=>a});var i=s(90237),n=s(69622),r=s(36563),h=s(40608);class o{constructor(){this._emitter=new o.EventEmitter(this)}emit(e,t){return this._emitter.emit(e,t)}on(e,t){return this._emitter.on(e,t)}once(e,t){return this._emitter.once(e,t)}hasEventListener(e){return this._emitter.hasEventListener(e)}}!function(e){class t{constructor(e=null){this._target=e,this._listenersMap=null}clear(){this._listenersMap?.clear(),this._listenersMap=null}destroy(){this.clear()}emit(e,t){let s=this._listenersMap?.get(e);if(!s)return!1;const i=this._target||this;let n=!1;for(const e of s.slice()){const s="deref"in e?e.deref():e;s?s?.call(i,t):n=!0}return n&&(s=s.filter((e=>!("deref"in e)||null!=e.deref())),this._listenersMap.set(e,s)),s.length>0}on(e,t){if(Array.isArray(e)){const s=e.map((e=>this.on(e,t)));return(0,r.vE)(s)}if(e.includes(","))throw new TypeError("Evented.on() with a comma delimited string of event types is not supported");this._listenersMap??=new Map;const s=this._listenersMap.get(e)||[];return s.push(t),this._listenersMap.set(e,s),(0,r.hA)((()=>{const s=this._listenersMap?.get(e),i=s?.indexOf(t)??-1;i>=0&&s.splice(i,1)}))}once(e,t){const s=this.on(e,(e=>{s.remove();const i="deref"in t?t.deref():t;i?.call(null,e)}));return s}hasEventListener(e){const t=this._listenersMap?.get(e);return null!=t&&t.length>0}}e.EventEmitter=t,e.EventedMixin=e=>{let s=class extends e{constructor(){super(...arguments),this._emitter=new t}destroy(){this._emitter.clear()}emit(e,t){return this._emitter.emit(e,t)}on(e,t){return this._emitter.on(e,t)}once(e,t){return this._emitter.once(e,t)}hasEventListener(e){return this._emitter.hasEventListener(e)}};return s=(0,i._)([(0,h.$)("esri.core.Evented")],s),s};let s=class extends n.A{constructor(){super(...arguments),this._emitter=new o.EventEmitter(this)}destroy(){this._emitter.clear()}emit(e,t){return this._emitter.emit(e,t)}on(e,t){return this._emitter.on(e,t)}once(e,t){return this._emitter.once(e,t)}hasEventListener(e){return this._emitter.hasEventListener(e)}};s=(0,i._)([(0,h.$)("esri.core.Evented.EventedAccessor")],s),e.EventedAccessor=s}(o||(o={}));const a=o},66344:(e,t,s)=>{var i,n;s.d(t,{q:()=>a}),(n=i||(i={}))[n.ALL=0]="ALL",n[n.SOME=1]="SOME",Symbol.iterator;class r{get size(){return this._size}constructor(e=10485760){this._maxSize=e,this._db=new Map,this._size=0,this._hit=0,this._miss=0,this._users=new Map,this._sizeLimits=new Map}destroy(){this.clearAll(),this._sizeLimits.clear(),this._users.clear()}register(e){this._users.set(e.id.slice(0,-1),e)}deregister(e){this.clear(e),this._sizeLimits.delete(e),this._users.delete(e.id.slice(0,-1))}get maxSize(){return this._maxSize}set maxSize(e){this._maxSize=Math.max(e,-1),this._checkSize()}getSize(e,t){const s=this._db.get(e.id+t);return s?.size??0}put(e,t,s,n,r){t=e.id+t;const o=this._db.get(t);if(o&&(this._size-=o.size,e.size-=o.size,this._db.delete(t),o.entry!==s&&this._notifyRemove(t,o.entry,o.size,i.ALL)),n>this._maxSize)return void this._notifyRemove(t,s,n,i.ALL);if(void 0===s)return void console.warn("Refusing to cache undefined entry ");if(!n||n<0)return console.warn(`Refusing to cache entry with size ${n} for key ${t}`),void this._notifyRemove(t,s,0,i.ALL);const a=1+Math.max(r,-4)- -3;this._db.set(t,new h(s,n,a)),this._size+=n,e.size+=n,this._checkSize()}updateSize(e,t,s,n){t=e.id+t;const r=this._db.get(t);if(r&&r.entry===s){for(this._size-=r.size,e.size-=r.size;n>this._maxSize;){const e=this._notifyRemove(t,s,n,i.SOME);if(!(null!=e&&e>0))return void this._db.delete(t);n=e}r.size=n,this._size+=n,e.size+=n,this._checkSize()}}pop(e,t){t=e.id+t;const s=this._db.get(t);if(s)return this._size-=s.size,e.size-=s.size,this._db.delete(t),++this._hit,s.entry;++this._miss}get(e,t){t=e.id+t;const s=this._db.get(t);if(void 0!==s)return this._db.delete(t),s.lives=s.lifetime,this._db.set(t,s),++this._hit,s.entry;++this._miss}peek(e,t){const s=this._db.get(e.id+t);return s?++this._hit:++this._miss,s?.entry}get performanceInfo(){const e={Size:Math.round(this._size/1048576)+"/"+Math.round(this._maxSize/1048576)+"MB","Hit rate":Math.round(100*this._getHitRate())+"%",Entries:this._db.size.toString()},t={},s=new Array;this._db.forEach(((e,i)=>{const n=e.lifetime;s[n]=(s[n]||0)+e.size,this._users.forEach((s=>{const{id:n,name:r}=s;if(i.startsWith(n)){const s=t[r]||0;t[r]=s+e.size}}))}));const i={};this._users.forEach((e=>{const s=e.name;if("hitRate"in e&&"number"==typeof e.hitRate&&!isNaN(e.hitRate)&&e.hitRate>0){const n=t[s]||0;t[s]=n,i[s]=Math.round(100*e.hitRate)+"%"}else i[s]="0%"}));const n=Object.keys(t);n.sort(((e,s)=>t[s]-t[e])),n.forEach((s=>e[s]=Math.round(t[s]/2**20)+"MB / "+i[s]));for(let t=s.length-1;t>=0;--t){const i=s[t];i&&(e["Priority "+(t+-3-1)]=Math.round(i/this._size*100)+"%")}return e}resetStats(){this._hit=this._miss=0,this._users.forEach((e=>e.resetHitRate()))}clear(e){const t=e.id;this._db.forEach(((e,s)=>{s.startsWith(t)&&(this._size-=e.size,this._db.delete(s),this._notifyRemove(s,e.entry,e.size,i.ALL))})),e.size=0}clearAll(){this._db.forEach(((e,t)=>this._notifyRemove(t,e.entry,e.size,i.ALL))),this._users.forEach((e=>e.size=0)),this._size=0,this._db.clear()}*values(e){for(const[t,s]of this._db)t.startsWith(e.id)&&(yield s.entry)}_getHitRate(){return this._hit/(this._hit+this._miss)}_notifyRemove(e,t,s,i){const n=this._users.get(e.split(o)[0])?.removeFunc,r=n?.(t,i,s);return"number"==typeof r?r:null}_checkSize(){this._sizeLimits.forEach(((e,t)=>this._checkSizeLimits(e,t))),this._checkSizeLimits(this.maxSize)}setMaxSize(e,t){null==t||t<=0?this._sizeLimits.delete(e):this._sizeLimits.set(e,t)}_checkSizeLimits(e,t){const s=t??this;if(s.size<=e)return;const i=t?.id;let n=!0;for(;n;){n=!1;for(const[r,h]of this._db)if(0===h.lifetime&&(!i||r.startsWith(i))){const i=t??this._users.get(r.split(o)[0]);if(this._purgeItem(r,h,i),s.size<=.9*e)return;n||=this._db.has(r)}}for(const[n,r]of this._db)if(!i||n.startsWith(i)){const i=t??this._users.get(n.split(o)[0]);if(this._purgeItem(n,r,i),s.size<=.9*e)return}}_purgeItem(e,t,s){if(this._db.delete(e),t.lives<=1){this._size-=t.size,s&&(s.size-=t.size);const n=this._notifyRemove(e,t.entry,t.size,i.SOME);null!=n&&n>0&&(this._size+=n,s&&(s.size+=n),t.lives=t.lifetime,t.size=n,this._db.set(e,t))}else--t.lives,this._db.set(e,t)}}class h{constructor(e,t,s){this.entry=e,this.size=t,this.lifetime=s,this.lives=s}}const o=":";class a{constructor(e,t){this.removeFunc=t,this._storage=new r,this.id="",this.name="",this.size=0,this._storage.maxSize=e,this._storage.register(this)}destroy(){this._storage.deregister(this),this._storage.destroy()}put(e,t,s=1){this._storage.put(this,e,t,s,1)}pop(e){return this._storage.pop(this,e)}get(e){return this._storage.get(this,e)}clear(){this._storage.clearAll()}get maxSize(){return this._storage.maxSize}set maxSize(e){this._storage.maxSize=e}resetHitRate(){}}},69540:(e,t,s)=>{s.d(t,{A:()=>d});var i=s(90237),n=s(69622),r=(s(44208),s(4718)),h=(s(53966),s(97768)),o=s(35666),a=s(88620),l=s(40608);const c=e=>{let t=class extends e{clone(){const e=(0,a.oY)(this);(0,h.Lw)(e,"unable to clone instance of non-accessor class");const t=e.metadata,s=e.store,i={},n=new Map;for(const e in t){const h=t[e],a=s?.originOf(e),l=h.clonable;if(h.readOnly||!1===l||a!==o.Gr.USER&&a!==o.Gr.DEFAULTS&&a!==o.Gr.WEB_MAP&&a!==o.Gr.WEB_SCENE)continue;const c=this[e];let u=null;u="function"==typeof l?l(c):"reference"===l?c:(0,r.TU)(c),null!=c&&null==u||(a===o.Gr.DEFAULTS?n.set(e,u):i[e]=u)}const l=new(0,Object.getPrototypeOf(this).constructor)(i);if(n.size){const e=(0,a.oY)(l)?.store;if(e)for(const[t,s]of n)e.set(t,s,o.Gr.DEFAULTS)}return l}};return t=(0,i._)([(0,l.$)("esri.core.Clonable")],t),t};let u=class extends(c(n.A)){};u=(0,i._)([(0,l.$)("esri.core.Clonable")],u),(u||(u={})).ClonableMixin=c;const d=u},75503:(e,t,s)=>{s.d(t,{E:()=>A,w:()=>o});var i=s(4576),n=s(21818),r=(s(44208),s(3694)),h=s(11006);class o{constructor(e=9,t){this._compareMinX=d,this._compareMinY=_,this._toBBox=e=>e,this._maxEntries=Math.max(4,e||9),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),t&&("function"==typeof t?this._toBBox=t:this._initFormat(t)),this.clear()}destroy(){this.clear(),x.prune(),M.prune(),E.prune(),B.prune()}all(e){a(this._data,e)}search(e,t){let s=this._data;const i=this._toBBox;if(b(e,s))for(x.clear();s;){for(let n=0,r=s.children.length;n<r;n++){const r=s.children[n],h=s.leaf?i(r):r;b(e,h)&&(s.leaf?t(r):y(e,h)?a(r,t):x.push(r))}s=x.pop()}}collides(e){let t=this._data;const s=this._toBBox;if(!b(e,t))return!1;for(x.clear();t;){for(let i=0,n=t.children.length;i<n;i++){const n=t.children[i],r=t.leaf?s(n):n;if(b(e,r)){if(t.leaf||y(e,r))return!0;x.push(n)}}t=x.pop()}return!1}load(e){if(!e.length)return this;if(e.length<this._minEntries){for(let t=0,s=e.length;t<s;t++)this.insert(e[t]);return this}let t=this._build(e.slice(),0,e.length-1,0);if(this._data.children.length)if(this._data.height===t.height)this._splitRoot(this._data,t);else{if(this._data.height<t.height){const e=this._data;this._data=t,t=e}this._insert(t,this._data.height-t.height-1,!0)}else this._data=t;return this}insert(e){return e&&this._insert(e,this._data.height-1),this}clear(){return this._data=new I([]),this}remove(e){if(!e)return this;let t,s=this._data,r=null,h=0,o=!1;const a=this._toBBox(e);for(E.clear(),B.clear();s||E.length>0;){if(s||(s=E.pop(),r=E.data[E.length-1],h=B.pop()??0,o=!0),s.leaf&&(t=(0,i.qh)(s.children,(0,n.zI)(e),s.children.length,s.indexHint),-1!==t))return s.children.splice(t,1),E.push(s),this._condense(E),this;o||s.leaf||!y(s,a)?r?(h++,s=r.children[h],o=!1):s=null:(E.push(s),B.push(h),h=0,r=s,s=s.children[0])}return this}toJSON(){return this._data}fromJSON(e){return this._data=e,this}_build(e,t,s,i){const n=s-t+1;let r=this._maxEntries;if(n<=r){const i=new I(e.slice(t,s+1));return l(i,this._toBBox),i}i||(i=Math.ceil(Math.log(n)/Math.log(r)),r=Math.ceil(n/r**(i-1)));const h=new w([]);h.height=i;const o=Math.ceil(n/r),a=o*Math.ceil(Math.sqrt(r));v(e,t,s,a,this._compareMinX);for(let n=t;n<=s;n+=a){const t=Math.min(n+a-1,s);v(e,n,t,o,this._compareMinY);for(let s=n;s<=t;s+=o){const n=Math.min(s+o-1,t);h.children.push(this._build(e,s,n,i-1))}}return l(h,this._toBBox),h}_insert(e,t,s){const i=this._toBBox,n=s?e:i(e);E.clear();const r=function(e,t,s,i){for(;i.push(t),!0!==t.leaf&&i.length-1!==s;){let s,i=1/0,n=1/0;for(let r=0,h=t.children.length;r<h;r++){const h=t.children[r],o=f(h),a=g(e,h)-o;a<n?(n=a,i=o<i?o:i,s=h):a===n&&o<i&&(i=o,s=h)}t=s||t.children[0]}return t}(n,this._data,t,E);for(r.children.push(e),u(r,n);t>=0&&E.data[t].children.length>this._maxEntries;)this._split(E,t),t--;!function(e,t,s){for(let i=s;i>=0;i--)u(t.data[i],e)}(n,E,t)}_split(e,t){const s=e.data[t],i=s.children.length,n=this._minEntries;this._chooseSplitAxis(s,n,i);const r=this._chooseSplitIndex(s,n,i);if(!r)return;const h=s.children.splice(r,s.children.length-r),o=s.leaf?new I(h):new w(h);o.height=s.height,l(s,this._toBBox),l(o,this._toBBox),t?e.data[t-1].children.push(o):this._splitRoot(s,o)}_splitRoot(e,t){this._data=new w([e,t]),this._data.height=e.height+1,l(this._data,this._toBBox)}_chooseSplitIndex(e,t,s){let i,n,r;i=n=1/0;for(let h=t;h<=s-t;h++){const t=c(e,0,h,this._toBBox),o=c(e,h,s,this._toBBox),a=p(t,o),l=f(t)+f(o);a<i?(i=a,r=h,n=l<n?l:n):a===i&&l<n&&(n=l,r=h)}return r}_chooseSplitAxis(e,t,s){const i=e.leaf?this._compareMinX:d,n=e.leaf?this._compareMinY:_;this._allDistMargin(e,t,s,i)<this._allDistMargin(e,t,s,n)&&e.children.sort(i)}_allDistMargin(e,t,s,i){e.children.sort(i);const n=this._toBBox,r=c(e,0,t,n),h=c(e,s-t,s,n);let o=m(r)+m(h);for(let i=t;i<s-t;i++){const t=e.children[i];u(r,e.leaf?n(t):t),o+=m(r)}for(let i=s-t-1;i>=t;i--){const t=e.children[i];u(h,e.leaf?n(t):t),o+=m(h)}return o}_condense(e){for(let t=e.length-1;t>=0;t--){const s=e.data[t];if(0===s.children.length)if(t>0){const n=e.data[t-1],r=n.children;r.splice((0,i.qh)(r,s,r.length,n.indexHint),1)}else this.clear();else l(s,this._toBBox)}}_initFormat(e){const t=["return a"," - b",";"];this._compareMinX=new Function("a","b",t.join(e[0])),this._compareMinY=new Function("a","b",t.join(e[1])),this._toBBox=new Function("a","return {minX: a"+e[0]+", minY: a"+e[1]+", maxX: a"+e[2]+", maxY: a"+e[3]+"};")}}function a(e,t){let s=e;for(M.clear();s;){if(!0===s.leaf)for(const e of s.children)t((0,n.zI)(e));else M.pushArray(s.children);s=M.pop()??null}}function l(e,t){c(e,0,e.children.length,t,e)}function c(e,t,s,i,n){n||(n=new I([])),n.minX=1/0,n.minY=1/0,n.maxX=-1/0,n.maxY=-1/0;for(let r,h=t;h<s;h++)r=e.children[h],u(n,e.leaf?i(r):r);return n}function u(e,t){e.minX=Math.min(e.minX,t.minX),e.minY=Math.min(e.minY,t.minY),e.maxX=Math.max(e.maxX,t.maxX),e.maxY=Math.max(e.maxY,t.maxY)}function d(e,t){return e.minX-t.minX}function _(e,t){return e.minY-t.minY}function f(e){return(e.maxX-e.minX)*(e.maxY-e.minY)}function m(e){return e.maxX-e.minX+(e.maxY-e.minY)}function g(e,t){return(Math.max(t.maxX,e.maxX)-Math.min(t.minX,e.minX))*(Math.max(t.maxY,e.maxY)-Math.min(t.minY,e.minY))}function p(e,t){const s=Math.max(e.minX,t.minX),i=Math.max(e.minY,t.minY),n=Math.min(e.maxX,t.maxX),r=Math.min(e.maxY,t.maxY);return Math.max(0,n-s)*Math.max(0,r-i)}function y(e,t){return e.minX<=t.minX&&e.minY<=t.minY&&t.maxX<=e.maxX&&t.maxY<=e.maxY}function b(e,t){return t.minX<=e.maxX&&t.minY<=e.maxY&&t.maxX>=e.minX&&t.maxY>=e.minY}function v(e,t,s,i,n){const r=[t,s];for(;r.length;){const t=r.pop(),s=r.pop();if(t-s<=i)continue;const o=s+Math.ceil((t-s)/i/2)*i;(0,h.q)(e,o,s,t,n),r.push(s,o,o,t)}}const x=new r.A,M=new r.A,E=new r.A,B=new r.A({deallocator:void 0});class A{constructor(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0}}class z extends A{constructor(){super(...arguments),this.height=1,this.indexHint=new i.vW}}class I extends z{constructor(e){super(),this.children=e,this.leaf=!0}}class w extends z{constructor(e){super(),this.children=e,this.leaf=!1}}},83221:(e,t,s)=>{s.d(t,{A:()=>f});var i=s(4576),n=s(49186),r=s(65529),h=s(53966),o=s(70328),a=s(19419),l=s(90708),c=s(6518),u=s(51441),d=s(37730);const _=(0,o.vt)();class f{constructor(e){this.geometryInfo=e,this._boundsStore=new c.F,this._featuresById=new Map,this._usedMemory=0,this.events=new r.A,this.featureAdapter=d.T}get usedMemory(){return this._usedMemory}get geometryType(){return this.geometryInfo.geometryType}get hasM(){return this.geometryInfo.hasM}get hasZ(){return this.geometryInfo.hasZ}get numFeatures(){return this._featuresById.size}get fullBounds(){return this._boundsStore.fullBounds}get storeStatistics(){let e=0;return this._featuresById.forEach((t=>{null!=t.geometry&&t.geometry.coords&&(e+=t.geometry.coords.length)})),{featureCount:this._featuresById.size,vertexCount:e/(this.hasZ?this.hasM?4:3:this.hasM?3:2)}}getFullExtent(e){if(null==this.fullBounds)return null;const[t,s,i,n]=this.fullBounds;return{xmin:t,ymin:s,xmax:i,ymax:n,spatialReference:(0,u.ag)(e)}}add(e){this._add(e),this._emitChanged()}addMany(e){for(const t of e)this._add(t);this._emitChanged()}upsertMany(e){const t=e.map((e=>this._upsert(e)));return this._emitChanged(),t.filter(i.Ru)}clear(){this._featuresById.clear(),this._boundsStore.clear(),this._emitChanged(),this._usedMemory=0}removeById(e){const t=this._featuresById.get(e);return t?(this._remove(t),this._emitChanged(),t):null}removeManyById(e){this._boundsStore.invalidateIndex();for(const t of e){const e=this._featuresById.get(t);e&&this._remove(e)}this._emitChanged()}forEachBounds(e,t){for(const s of e){const e=this._boundsStore.get(s.objectId);e&&t((0,o.Jt)(_,e))}}getFeature(e){return this._featuresById.get(e)}has(e){return this._featuresById.has(e)}forEach(e){this._featuresById.forEach((t=>e(t)))}forEachInBounds(e,t){this._boundsStore.forEachInBounds(e,(e=>{t(this._featuresById.get(e))}))}_emitChanged(){this.events.emit("changed",void 0)}_add(e){if(!e)return;const t=e.objectId;if(null==t)return void h.A.getLogger("esri.layers.graphics.data.FeatureStore").error(new n.A("featurestore:invalid-feature","feature id is missing",{feature:e}));const s=this._featuresById.get(t);let i;if(s?(e.displayId=s.displayId,i=this._boundsStore.get(t),this._boundsStore.delete(t),this._usedMemory-=this.estimateFeatureUsedMemory?.(s)??0):null!=this.onFeatureAdd&&this.onFeatureAdd(e),!e.geometry?.coords?.length)return this._boundsStore.set(t,null),void this._featuresById.set(t,e);i=(0,l.jQ)(null!=i?i:(0,a.vt)(),e.geometry,this.geometryInfo.hasZ,this.geometryInfo.hasM),null!=i&&this._boundsStore.set(t,i),this._featuresById.set(t,e),this._usedMemory+=this.estimateFeatureUsedMemory?.(e)??0}_upsert(e){const t=e?.objectId;if(null==t)return h.A.getLogger("esri.layers.graphics.data.FeatureStore").error(new n.A("featurestore:invalid-feature","feature id is missing",{feature:e})),null;const s=this._featuresById.get(t);if(!s)return this._add(e),e;this._usedMemory-=this.estimateFeatureUsedMemory?.(s)??0;const{geometry:i,attributes:r}=e;for(const e in r)s.attributes[e]=r[e];return i&&(s.geometry=i,this._boundsStore.set(t,(0,l.jQ)((0,a.vt)(),i,this.geometryInfo.hasZ,this.geometryInfo.hasM)??null)),this._usedMemory+=this.estimateFeatureUsedMemory?.(s)??0,s}_remove(e){null!=this.onFeatureRemove&&this.onFeatureRemove(e);const t=e.objectId;return this._boundsStore.delete(t),this._featuresById.delete(t),this._usedMemory-=this.estimateFeatureUsedMemory?.(e)??0,e}}},90629:(e,t,s)=>{s.d(t,{Lz:()=>h,PN:()=>o,cr:()=>a,tc:()=>l});const i=/^-?(\d+(\.\d+)?)\s*((px)|(pt))?$/i,n="screenUtils.toPt: input not recognized!",r=96;function h(e){return e?e/72*r:0}function o(e){return e?72*e/r:0}function a(e){if("string"==typeof e){const t=e.match(i);if(t){const s=Number(t[1]),i=t[3]&&t[3].toLowerCase(),n="-"===e.charAt(0),r="px"===i?o(s):s;return n?-r:r}return console.warn(n),null}return e}function l(e=0,t=0){return{x:e,y:t}}}}]);