@arcgis/core 4.29.5 → 4.29.7
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.
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{863d14c98737482f6788.js → 0700231efdaf7ce06d19.js} +1 -1
- package/assets/esri/core/workers/chunks/{2146f7e55911da806aec.js → 2ca0fc695c66640a57dd.js} +1 -1
- package/assets/esri/core/workers/chunks/{90b36361651839b1e3f0.js → 326aa2951f7e4da6d6b0.js} +1 -1
- package/assets/esri/core/workers/chunks/{1251638c842dcf895ffe.js → 37133cf60bc9039a7407.js} +1 -1
- package/assets/esri/core/workers/chunks/{de6d54df7ae32694fd70.js → 534abb4408b15ac778dd.js} +1 -1
- package/assets/esri/core/workers/chunks/967812e66fef41febb98.js +1 -0
- package/assets/esri/core/workers/chunks/{2621b755fa5403bd8a4c.js → e232f6fca5629ae66dcc.js} +1 -1
- package/assets/esri/core/workers/chunks/{0e56ff6978ba8d9cf0c0.js → f74eec62bcf3264e2d90.js} +1 -1
- package/assets/esri/core/workers/chunks/{8a9387483b19a5ec5b86.js → fc5ac713872766571e07.js} +1 -1
- package/assets/esri/themes/base/widgets/_LayerList.scss +2 -0
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/core/workers/InvokeHandler.js +1 -1
- package/core/workers/RemoteClient.js +1 -1
- package/core/workers/utils.js +1 -1
- package/interfaces.d.ts +53 -35
- package/kernel.js +1 -1
- package/networks/UtilityNetwork.js +1 -1
- package/package.json +1 -1
- package/support/revision.js +1 -1
- package/views/2d/engine/webgl/AttributeStoreView.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/OutlineFillMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/line/LineMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/mesh/utils.js +1 -1
- package/views/2d/layers/features/FeatureContainer.js +1 -1
- package/views/2d/layers/features/PipelineConnectionHandlers.js +1 -1
- package/views/2d/layers/features/RenderState.js +1 -1
- package/views/2d/layers/features/processor/BinningStrategy.js +1 -1
- package/views/2d/layers/features/processor/FeatureUpdateStrategy.js +1 -1
- package/views/2d/layers/features/sources/FeatureSource.js +1 -1
- package/views/2d/layers/features/sources/strategies/AFetchLoadStrategy.js +1 -1
- package/views/2d/layers/features/sources/strategies/chunks/OverrideChunk.js +1 -1
- package/views/2d/layers/features/sources/strategies/chunks/SourceChunkStore.js +1 -1
- package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
- package/widgets/LayerList/support/layerListUtils.js +1 -1
- package/widgets/VersionManagement/VersionManagementViewModel.js +1 -1
- package/assets/esri/core/workers/chunks/5db9739e00f15613d1ea.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[8380],{25228:(e,t,s)=>{s.d(t,{c:()=>m});var r,i=s(41948),n=s(40504),o=s(94360),a=s(1580),l=(s(9456),s(66360),s(72052),s(33600)),h=s(12552),c=s(18996),u=s(28484);let d=r=class extends n.am{static get allTime(){return p}static get empty(){return g}constructor(e){super(e),this.end=null,this.start=null}readEnd(e,t){return null!=t.end?new Date(t.end):null}writeEnd(e,t){t.end=e?.getTime()??null}get isAllTime(){return this.equals(r.allTime)}get isEmpty(){return this.equals(r.empty)}readStart(e,t){return null!=t.start?new Date(t.start):null}writeStart(e,t){t.start=e?.getTime()??null}clone(){return new r({end:this.end,start:this.start})}equals(e){if(!e)return!1;const t=this.start?.getTime()??this.start,s=this.end?.getTime()??this.end,r=e.start?.getTime()??e.start,i=e.end?.getTime()??e.end;return t===r&&s===i}expandTo(e,t=u.OX){if(this.isEmpty||this.isAllTime)return this.clone();let s=this.start;s&&(s=(0,o.aU)(s,e,t));let i=this.end;if(i){const s=(0,o.aU)(i,e,t);i=i.getTime()===s.getTime()?s:(0,o.g1)(s,1,e,t)}return new r({start:s,end:i})}intersection(e){if(!e)return this.clone();if(this.isEmpty||e.isEmpty)return r.empty;if(this.isAllTime)return e.clone();if(e.isAllTime)return this.clone();const t=this.start?.getTime()??-1/0,s=this.end?.getTime()??1/0,i=e.start?.getTime()??-1/0,n=e.end?.getTime()??1/0;let o,a;if(i>=t&&i<=s?o=i:t>=i&&t<=n&&(o=t),s>=i&&s<=n?a=s:n>=t&&n<=s&&(a=n),null!=o&&null!=a&&!isNaN(o)&&!isNaN(a)){const e=new r;return e.start=o===-1/0?null:new Date(o),e.end=a===1/0?null:new Date(a),e}return r.empty}offset(e,t,s=u.OX){if(this.isEmpty||this.isAllTime)return this.clone();const i=new r,{start:n,end:a}=this;return null!=n&&(i.start=(0,o.g1)(n,e,t,s)),null!=a&&(i.end=(0,o.g1)(a,e,t,s)),i}union(e){if(!e||e.isEmpty)return this.clone();if(this.isEmpty)return e.clone();if(this.isAllTime||e.isAllTime)return p.clone();const t=null!=this.start&&null!=e.start?new Date(Math.min(this.start.getTime(),e.start.getTime())):null,s=null!=this.end&&null!=e.end?new Date(Math.max(this.end.getTime(),e.end.getTime())):null;return new r({start:t,end:s})}};(0,i._)([(0,a.qq)({type:Date,json:{write:{allowNull:!0}}})],d.prototype,"end",void 0),(0,i._)([(0,l.E)("end")],d.prototype,"readEnd",null),(0,i._)([(0,c.G)("end")],d.prototype,"writeEnd",null),(0,i._)([(0,a.qq)({readOnly:!0,json:{read:!1}})],d.prototype,"isAllTime",null),(0,i._)([(0,a.qq)({readOnly:!0,json:{read:!1}})],d.prototype,"isEmpty",null),(0,i._)([(0,a.qq)({type:Date,json:{write:{allowNull:!0}}})],d.prototype,"start",void 0),(0,i._)([(0,l.E)("start")],d.prototype,"readStart",null),(0,i._)([(0,c.G)("start")],d.prototype,"writeStart",null),d=r=(0,i._)([(0,h.c)("esri.TimeExtent")],d);const p=new d,g=new d({start:void 0,end:void 0}),m=d},22156:(e,t,s)=>{s.d(t,{MR:()=>o,qm:()=>a});var r=s(41948),i=s(12552);let n=0;const o=e=>{let t=class extends e{constructor(...e){super(...e),Object.defineProperty(this,"uid",{writable:!1,configurable:!1,value:Date.now().toString(16)+"-object-"+n++})}};return t=(0,r._)([(0,i.c)("esri.core.Identifiable")],t),t},a=e=>{let t=class extends e{constructor(...e){super(...e),Object.defineProperty(this,"uid",{writable:!1,configurable:!1,value:n++})}};return t=(0,r._)([(0,i.c)("esri.core.NumericIdentifiable")],t),t};let l=class extends(o(class{})){};l=(0,r._)([(0,i.c)("esri.core.Identifiable")],l)},11004:(e,t,s)=>{s.d(t,{o:()=>i});var r=s(74452);class i{constructor(e,t){this._storage=new r.kB,this.id="",this.name="",this.size=0,this._storage.maxSize=e,this._storage.register(this),t&&this._storage.registerRemoveFunc("",t)}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(){}}},74452:(e,t,s)=>{s.d(t,{ML:()=>o,kB:()=>a});var r,i,n=s(24680);(i=r||(r={}))[i.ALL=0]="ALL",i[i.SOME=1]="SOME";class o{constructor(e,t,s){this.name=e,this._storage=t,this.id=l+++":",this.size=0,this.maxSize=-1,this._removeFunc=!1,this._hit=0,this._miss=0,this._storage.register(this),s&&(this._storage.registerRemoveFunc(this.id,s),this._removeFunc=!0)}destroy(){this._storage.clear(this),this._removeFunc&&this._storage.deregisterRemoveFunc(this.id),this._storage.deregister(this),this._storage=null}get hitRate(){return this._hit/(this._hit+this._miss)}get storageSize(){return this._storage.size}getSize(e){return this._storage.getSize(this,e)}resetHitRate(){this._hit=this._miss=0}put(e,t,s,r=0){this._storage.put(this,e,t,s,r)}pop(e){const t=this._storage.pop(this,e);return void 0===t?++this._miss:++this._hit,t}get(e){const t=this._storage.get(this,e);return void 0===t?++this._miss:++this._hit,t}peek(e){return this._storage.peek(this,e)}updateSize(e,t,s){this._storage.updateSize(this,e,t,s)}clear(){this._storage.clear(this)}clearAll(){this._storage.clearAll()}get performanceInfo(){return this._storage.performanceInfo}resetStats(){this._storage.resetStats()}}class a{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._removeFuncs=new n.c,this._users=new n.c}destroy(){this.clearAll(),this._removeFuncs.clear(),this._users.clear(),this._db=null}register(e){this._users.push(e)}deregister(e){this._users.removeUnordered(e)}registerRemoveFunc(e,t){this._removeFuncs.push([e,t])}deregisterRemoveFunc(e){this._removeFuncs.filterInPlace((t=>t[0]!==e))}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,i,n){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,r.ALL)),i>this._maxSize)return void this._notifyRemove(t,s,i,r.ALL);if(void 0===s)return void console.warn("Refusing to cache undefined entry ");if(!i||i<0)return console.warn(`Refusing to cache entry with size ${i} for key ${t}`),void this._notifyRemove(t,s,0,r.ALL);const a=1+Math.max(n,-4)- -3;this._db.set(t,new h(s,i,a)),this._size+=i,e.size+=i,this._checkSize()}updateSize(e,t,s,i){t=e.id+t;const n=this._db.get(t);if(n&&n.entry===s){for(this._size-=n.size,e.size-=n.size;i>this._maxSize;){const e=this._notifyRemove(t,s,i,r.SOME);if(!(null!=e&&e>0))return void this._db.delete(t);i=e}n.size=i,this._size+=i,e.size+=i,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,r)=>{const i=e.lifetime;s[i]=(s[i]||0)+e.size,this._users.forAll((s=>{const{id:i,name:n}=s;if(r.startsWith(i)){const s=t[n]||0;t[n]=s+e.size}}))}));const r={};this._users.forAll((e=>{const s=e.name;if("hitRate"in e&&"number"==typeof e.hitRate&&!isNaN(e.hitRate)&&e.hitRate>0){const i=t[s]||0;t[s]=i,r[s]=Math.round(100*e.hitRate)+"%"}else r[s]="0%"}));const i=Object.keys(t);i.sort(((e,s)=>t[s]-t[e])),i.forEach((s=>e[s]=Math.round(t[s]/2**20)+"MB / "+r[s]));for(let t=s.length-1;t>=0;--t){const r=s[t];r&&(e["Priority "+(t+-3-1)]=Math.round(r/this._size*100)+"%")}return e}resetStats(){this._hit=this._miss=0,this._users.forAll((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,r.ALL))})),e.size=0}clearAll(){this._db.forEach(((e,t)=>this._notifyRemove(t,e.entry,e.size,r.ALL))),this._users.forAll((e=>e.size=0)),this._size=0,this._db.clear()}_getHitRate(){return this._hit/(this._hit+this._miss)}_notifyRemove(e,t,s,r){let i;return this._removeFuncs.some((n=>{if(e.startsWith(n[0])){const e=n[1](t,r,s);return"number"==typeof e&&(i=e),!0}return!1})),i}_checkSize(){this._users.forAll((e=>this._checkSizeLimits(e))),this._checkSizeLimits()}_checkSizeLimits(e){const t=e??this;if(t.maxSize<0||t.size<=t.maxSize)return;const s=e?.id;let r=!0;for(;r;){r=!1;for(const[i,n]of this._db)if(0===n.lifetime&&(!s||i.startsWith(s))){if(this._purgeItem(i,n,e),t.size<=.9*t.maxSize)return;r||=this._db.has(i)}}for(const[r,i]of this._db)if((!s||r.startsWith(s))&&(this._purgeItem(r,i,e),t.size<=.9*t.maxSize))return}_purgeItem(e,t,s=this._users.find((t=>e.startsWith(t.id)))){if(this._db.delete(e),t.lives<=1){this._size-=t.size,s&&(s.size-=t.size);const i=this._notifyRemove(e,t.entry,t.size,r.SOME);null!=i&&i>0&&(this._size+=i,s&&(s.size+=i),t.lives=t.lifetime,t.size=i,this._db.set(e,t))}else--t.lives,this._db.set(e,t)}}let l=0;class h{constructor(e,t,s){this.entry=e,this.size=t,this.lifetime=s,this.lives=s}}},54792:(e,t,s)=>{s.d(t,{c:()=>n});var r=s(67432),i=s(9592);class n{constructor(e=(e=>e.values().next().value)){this._peeker=e,this._observable=new i.n,this._items=new Set}get length(){return(0,r.am)(this._observable),this._items.size}clear(){0!==this.length&&(this._items.clear(),this._observable.notify())}last(){if(0===this.length)return;let e;for(e of this._items);return e}peek(){if(0!==this.length)return this._peeker(this._items)}push(e){this.contains(e)||(this._items.add(e),this._observable.notify())}contains(e){return(0,r.am)(this._observable),this._items.has(e)}pop(){if(0===this.length)return;const e=this.peek();return this._items.delete(e),this._observable.notify(),e}popLast(){if(0===this.length)return;const e=this.last();return this._items.delete(e),this._observable.notify(),e}remove(e){this.contains(e)&&(this._items.delete(e),this._observable.notify())}filter(e){const t=this.length;return this._items.forEach((t=>{e(t)||this._items.delete(t)})),t!==this._items.size&&this._observable.notify(),this}*[Symbol.iterator](){(0,r.am)(this._observable),yield*this._items}}},57896:(e,t,s)=>{s.d(t,{Eq:()=>d,KG:()=>y,_8:()=>f,_I:()=>h,aE:()=>l,du:()=>m,on:()=>u}),s(40196),s(2952);var r=s(60976),i=s(38912),n=s(70680),o=s(10860),a=s(37176);function l(e,t,s={}){return c(e,t,s,p)}function h(e,t,s={}){return c(e,t,s,g)}function c(e,t,s={},r){let i=null;const o=s.once?(e,s)=>{r(e)&&((0,n.oR)(i),t(e,s))}:(e,s)=>{r(e)&&t(e,s)};if(i=(0,a.M9)(e,o,s.sync,s.equals),s.initial){const t=e();o(t,t)}return i}function u(e,t,s,o={}){let a=null,h=null,c=null;function u(){a&&h&&(h.remove(),o.onListenerRemove?.(a),a=null,h=null)}function d(e){o.once&&o.once&&(0,n.oR)(c),s(e)}const p=l(e,((e,s)=>{u(),(0,r.sh)(e)&&(a=e,h=(0,r.on)(e,t,d),o.onListenerAdd?.(e))}),{sync:o.sync,initial:!0});return c=(0,i.uU)((()=>{p.remove(),u()})),c}function d(e,t){return function(e,t,s){if((0,o.wv)(s))return Promise.reject((0,o.Uh)());const r=e();if(t?.(r))return Promise.resolve(r);let a=null;function l(){a=(0,n.oR)(a)}return new Promise(((r,n)=>{a=(0,i.Ip)([(0,o.wD)(s,(()=>{l(),n((0,o.Uh)())})),c(e,(e=>{l(),r(e)}),{sync:!1,once:!0},t??p)])}))}(e,g,t)}function p(e){return!0}function g(e){return!!e}s(41168);const m={sync:!0},f={initial:!0},y={sync:!0,initial:!0}},46448:(e,t,s)=>{s.d(t,{c:()=>h});var r=s(38912),i=s(10860),n=s(54792),o=s(13056),a=s(25512),l=s(38432);class h{constructor(){this._inUseClients=new Array,this._clients=new Array,this._clientPromises=new Array,this._ongoingJobsQueue=new n.c}destroy(){this.close()}get closed(){return!this._clients?.length}open(e,t){return new Promise(((s,r)=>{let n=!0;const o=e=>{(0,i.wp)(t.signal),n&&(n=!1,e())};this._clients.length=e.length,this._clientPromises.length=e.length,this._inUseClients.length=e.length;for(let n=0;n<e.length;++n){const a=e[n];(0,i.eW)(a)?this._clientPromises[n]=a.then((e=>(this._clients[n]=new l.default(e,t,this._ongoingJobsQueue),o(s),this._clients[n])),(()=>(o(r),null))):(this._clients[n]=new l.default(a,t,this._ongoingJobsQueue),this._clientPromises[n]=Promise.resolve(this._clients[n]),o(s))}}))}broadcast(e,t,s){const r=new Array(this._clientPromises.length);for(let i=0;i<this._clientPromises.length;++i){const n=this._clientPromises[i];r[i]=n.then((r=>r?.invoke(e,t,s)))}return r}close(){let e;for(;e=this._ongoingJobsQueue.pop();)e.resolver.reject((0,i.Uh)(`Worker closing, aborting job calling '${e.methodName}'`));for(const e of this._clientPromises)e.then((e=>e?.close()));this._clients.length=0,this._clientPromises.length=0,this._inUseClients.length=0,(0,o.S)(this)}invoke(e,t,s){return this.apply(e,[t],s)}apply(e,t,s){const r=(0,i.qG)();this._ongoingJobsQueue.push({methodName:e,data:t,invokeOptions:s,resolver:r});for(let e=0;e<this._clientPromises.length;e++){const t=this._clients[e];t?t.jobAdded():this._clientPromises[e].then((e=>e?.jobAdded()))}return r.promise}createInvokeProxy(e){return(0,a.Y)(this,e)}on(e,t){return Promise.all(this._clientPromises).then((()=>(0,r.Ip)(this._clients.map((s=>s.on(e,t))))))}openPorts(){return new Promise((e=>{const t=new Array(this._clientPromises.length);let s=t.length;for(let r=0;r<this._clientPromises.length;++r)this._clientPromises[r].then((i=>{i&&(t[r]=i.openPort()),0==--s&&e(t)}))}))}get test(){return{numClients:this._clients.length}}}},13056:(e,t,s)=>{s.d(t,{S:()=>n,s:()=>i});const r=new FinalizationRegistry((e=>{e.close()}));function i(e,t){r.register(e,t,t)}function n(e){r.unregister(e)}},35268:(e,t,s)=>{s.d(t,{eU:()=>V});var r=s(20744),i=s(9456),n=s(10860),o=s(46448),a=s(13056),l=s(38432),h=s(66360),c=s(70680),u=s(2600),d=s(28176);const p={async request(e,t){const s=e.options,r=s.responseType;s.signal=t?.signal,s.responseType="native"===r||"native-request-init"===r?"native-request-init":r&&["blob","json","text"].includes(r)&&(0,d.OO)(e.url)?.after?r:"array-buffer";const i=await(0,u.c)(e.url,s),n={data:i.data,httpStatus:i.httpStatus,ssl:i.ssl};switch(i.requestOptions?.responseType){case"native-request-init":return delete n.data.signal,n;case"blob":n.data=await n.data.arrayBuffer();break;case"json":n.data=(new TextEncoder).encode(JSON.stringify(n.data)).buffer;break;case"text":n.data=(new TextEncoder).encode(n.data).buffer}return{result:n,transferList:[n.data]}}};var g=s(31056),m=s(24832),f=s(6220),y=(s(2016),s(47620));const _={};var v=s(52324);class b{constructor(){const e=document.createDocumentFragment();["addEventListener","dispatchEvent","removeEventListener"].forEach((t=>{this[t]=(...s)=>e[t](...s)}))}}class w{constructor(){this._dispatcher=new b,this._workerPostMessage({type:g.MessageType.HANDSHAKE})}terminate(){}get onmessage(){return this._onmessageHandler}set onmessage(e){this._onmessageHandler&&this.removeEventListener("message",this._onmessageHandler),this._onmessageHandler=e,e&&this.addEventListener("message",e)}get onmessageerror(){return this._onmessageerrorHandler}set onmessageerror(e){this._onmessageerrorHandler&&this.removeEventListener("messageerror",this._onmessageerrorHandler),this._onmessageerrorHandler=e,e&&this.addEventListener("messageerror",e)}get onerror(){return this._onerrorHandler}set onerror(e){this._onerrorHandler&&this.removeEventListener("error",this._onerrorHandler),this._onerrorHandler=e,e&&this.addEventListener("error",e)}postMessage(e){(0,v.o)((()=>{this._workerMessageHandler(new MessageEvent("message",{data:e}))}))}dispatchEvent(e){return this._dispatcher.dispatchEvent(e)}addEventListener(e,t,s){this._dispatcher.addEventListener(e,t,s)}removeEventListener(e,t,s){this._dispatcher.removeEventListener(e,t,s)}_workerPostMessage(e){(0,v.o)((()=>{this.dispatchEvent(new MessageEvent("message",{data:e}))}))}async _workerMessageHandler(e){const t=(0,g.mO)(e);if(t&&t.type===g.MessageType.OPEN){const{modulePath:e,jobId:s}=t;let r=await l.default.loadWorker(e);r||(r=await import(e));const i=l.default.connect(r);this._workerPostMessage({type:g.MessageType.OPENED,jobId:s,data:i})}}}var k=s(89960),E=s(69880);const S=()=>h.c.getLogger("esri.core.workers.workerFactory"),{HANDSHAKE:P}=g.MessageType;let q,I;const M="Failed to create Worker. Fallback to execute module in main thread";async function z(e){return new Promise((t=>{function s(i){const n=(0,g.mO)(i);n&&n.type===P&&(e.removeEventListener("message",s),e.removeEventListener("error",r),t(e))}function r(t){t.preventDefault(),e.removeEventListener("message",s),e.removeEventListener("error",r),S().warn("Failed to create Worker. Fallback to execute module in main thread",t),(e=new w).addEventListener("message",s),e.addEventListener("error",r)}e.addEventListener("message",s),e.addEventListener("error",r)}))}let L=0;const{ABORT:O,INVOKE:R,OPEN:U,OPENED:A,RESPONSE:T}=g.MessageType;class C{static async create(e){const t=await async function(){if(!(0,i.c)("esri-workers"))return z(new w);if(!q&&!I)try{const e='let globalId=0;const outgoing=new Map,configuration=JSON.parse("{CONFIGURATION}");self.esriConfig=configuration.esriConfig;const workerPath=self.esriConfig.workers.workerPath,HANDSHAKE=0,OPEN=1,OPENED=2,RESPONSE=3,INVOKE=4,ABORT=5;function createAbortError(){const e=new Error("Aborted");return e.name="AbortError",e}function receiveMessage(e){return e&&e.data?"string"==typeof e.data?JSON.parse(e.data):e.data:null}function invokeStaticMessage(e,o,r){const t=r&&r.signal,n=globalId++;return new Promise(((r,s)=>{if(t){if(t.aborted)return s(createAbortError());t.addEventListener("abort",(()=>{outgoing.get(n)&&(outgoing.delete(n),self.postMessage({type:ABORT,jobId:n}),s(createAbortError()))}))}outgoing.set(n,{resolve:r,reject:s}),self.postMessage({type:INVOKE,jobId:n,methodName:e,abortable:null!=t,data:o})}))}let workerRevisionChecked=!1;function checkWorkerRevision(e){if(!workerRevisionChecked&&e.kernelInfo){workerRevisionChecked=!0;const{revision:o,fullVersion:r}=configuration.kernelInfo,{revision:t,fullVersion:n,version:s}=e.kernelInfo;esriConfig.assetsPath!==esriConfig.defaultAssetsPath&&o!==t&&console.warn(`Version mismatch detected between ArcGIS Maps SDK for JavaScript modules and assets. For more information visit https://bit.ly/3QnsuSo.\\nModules version: ${r}\\nAssets version: ${n??s}\\nAssets path: ${esriConfig.assetsPath}`)}}function messageHandler(e){const o=receiveMessage(e);if(!o)return;const r=o.jobId;switch(o.type){case OPEN:let n;function t(e){const o=n.connect(e);self.postMessage({type:OPENED,jobId:r,data:o},[o])}"function"==typeof define&&define.amd?require([workerPath],(e=>{n=e.default||e,checkWorkerRevision(n),n.loadWorker(o.modulePath).then((e=>e||new Promise((e=>{require([o.modulePath],e)})))).then(t)})):"System"in self&&"function"==typeof System.import?System.import(workerPath).then((e=>(n=e.default,checkWorkerRevision(n),n.loadWorker(o.modulePath)))).then((e=>e||System.import(o.modulePath))).then(t):esriConfig.workers.useDynamicImport?import(workerPath).then((e=>{n=e.default||e,checkWorkerRevision(n),n.loadWorker(o.modulePath).then((e=>e||import(o.modulePath))).then(t)})):(self.RemoteClient||importScripts(workerPath),n=self.RemoteClient.default||self.RemoteClient,checkWorkerRevision(n),n.loadWorker(o.modulePath).then(t));break;case RESPONSE:if(outgoing.has(r)){const s=outgoing.get(r);outgoing.delete(r),o.error?s.reject(JSON.parse(o.error)):s.resolve(o.data)}}}self.dojoConfig=configuration.loaderConfig,esriConfig.workers.loaderUrl&&(self.importScripts(esriConfig.workers.loaderUrl),"function"==typeof require&&"function"==typeof require.config&&require.config(configuration.loaderConfig)),self.addEventListener("message",messageHandler),self.postMessage({type:0});'.split('"{CONFIGURATION}"').join(`'${function(){let e;if(null!=f.default.default){const t={...f.default};delete t.default,e=JSON.parse(JSON.stringify(t))}else e=JSON.parse(JSON.stringify(f.default));e.assetsPath=(0,d.WM)(e.assetsPath),e.defaultAssetsPath=e.defaultAssetsPath?(0,d.WM)(e.defaultAssetsPath):void 0,e.request.interceptors=[],e.log.interceptors=[],e.locale=(0,k.a8)(),e.has={"esri-csp-restrictions":(0,i.c)("esri-csp-restrictions"),"esri-2d-debug":!1,"esri-2d-update-debug":(0,i.c)("esri-2d-update-debug"),"esri-2d-log-updating":(0,i.c)("esri-2d-log-updating"),"featurelayer-pbf":(0,i.c)("featurelayer-pbf"),"featurelayer-fast-triangulation-enabled":(0,i.c)("featurelayer-fast-triangulation-enabled"),"featurelayer-simplify-thresholds":(0,i.c)("featurelayer-simplify-thresholds"),"featurelayer-simplify-payload-size-factors":(0,i.c)("featurelayer-simplify-payload-size-factors"),"featurelayer-simplify-mobile-factor":(0,i.c)("featurelayer-simplify-mobile-factor"),"featurelayer-query-max-depth":(0,i.c)("featurelayer-query-max-depth"),"featurelayer-query-pausing-enabled":(0,i.c)("featurelayer-query-pausing-enabled"),"featurelayer-snapshot-enabled":(0,i.c)("featurelayer-snapshot-enabled"),"esri-atomics":(0,i.c)("esri-atomics"),"esri-shared-array-buffer":(0,i.c)("esri-shared-array-buffer"),"esri-tiles-debug":(0,i.c)("esri-tiles-debug"),"esri-workers-arraybuffer-transfer":(0,i.c)("esri-workers-arraybuffer-transfer"),"feature-polyline-generalization-factor":(0,i.c)("feature-polyline-generalization-factor"),"host-webworker":1},e.workers.loaderUrl&&(e.workers.loaderUrl=(0,d.WM)(e.workers.loaderUrl)),e.workers.workerPath?e.workers.workerPath=(0,d.WM)(e.workers.workerPath):e.workers.workerPath=(0,d.WM)((0,m.O)("esri/core/workers/RemoteClient.js")),e.workers.useDynamicImport=!1;const t=f.default.workers.loaderConfig,s=function(e){const t={async:e.async,isDebug:e.isDebug,locale:e.locale,baseUrl:e.baseUrl,has:{...e.has},map:{...e.map},packages:e.packages?.concat()||[],paths:{...e.paths}};return e.hasOwnProperty("async")||(t.async=!0),e.hasOwnProperty("isDebug")||(t.isDebug=!1),e.baseUrl||(t.baseUrl=_.baseUrl),t}({baseUrl:t?.baseUrl,locale:(0,k.a8)(),has:{"csp-restrictions":1,"dojo-test-sniff":0,"host-webworker":1,...t?.has},map:{...t?.map},paths:{...t?.paths},packages:t?.packages||[]}),r={buildDate:E.W,fullVersion:y.c1,revision:E.m};return JSON.stringify({esriConfig:e,loaderConfig:s,kernelInfo:r})}()}'`);q=URL.createObjectURL(new Blob([e],{type:"text/javascript"}))}catch(e){I=e||{}}let e;if(q)try{e=new Worker(q,{name:"esri-worker-"+L++})}catch(t){S().warn(M,I),e=new w}else S().warn(M,I),e=new w;return z(e)}();return new C(t,e)}constructor(e,t){this._outJobs=new Map,this._inJobs=new Map,this.worker=e,this.id=t,e.addEventListener("message",this._onMessage.bind(this)),e.addEventListener("error",(e=>{e.preventDefault(),h.c.getLogger("esri.core.workers.WorkerOwner").error(e)}))}terminate(){this.worker.terminate()}async open(e,t={}){const{signal:s}=t,r=(0,g.EH)();return new Promise(((t,i)=>{const o={resolve:t,reject:i,abortHandle:(0,n.Ij)(s,(()=>{this._outJobs.delete(r),this._post({type:O,jobId:r})}))};this._outJobs.set(r,o),this._post({type:U,jobId:r,modulePath:e})}))}_onMessage(e){const t=(0,g.mO)(e);if(t)switch(t.type){case A:this._onOpenedMessage(t);break;case T:this._onResponseMessage(t);break;case O:this._onAbortMessage(t);break;case R:this._onInvokeMessage(t)}}_onAbortMessage(e){const t=this._inJobs,s=e.jobId,r=t.get(s);r&&(r.controller&&r.controller.abort(),t.delete(s))}_onInvokeMessage(e){const{methodName:t,jobId:s,data:r,abortable:i}=e,o=i?new AbortController:null,a=this._inJobs,l=p[t];let h;try{if("function"!=typeof l)throw new TypeError(`${t} is not a function`);h=l.call(null,r,{signal:o?o.signal:null})}catch(e){return void this._post({type:T,jobId:s,error:(0,g.O)(e)})}(0,n.eW)(h)?(a.set(s,{controller:o,promise:h}),h.then((e=>{a.has(s)&&(a.delete(s),this._post({type:T,jobId:s},e))}),(e=>{a.has(s)&&(a.delete(s),e||(e={message:"Error encountered at method"+t}),(0,n.mA)(e)||this._post({type:T,jobId:s,error:(0,g.O)(e||{message:`Error encountered at method ${t}`})}))}))):this._post({type:T,jobId:s},h)}_onOpenedMessage(e){const{jobId:t,data:s}=e,r=this._outJobs.get(t);r&&(this._outJobs.delete(t),(0,c.oR)(r.abortHandle),r.resolve(s))}_onResponseMessage(e){const{jobId:t,error:s,data:i}=e,n=this._outJobs.get(t);n&&(this._outJobs.delete(t),(0,c.oR)(n.abortHandle),s?n.reject(r.c.fromJSON(JSON.parse(s))):n.resolve(i))}_post(e,t,s){return(0,g.E9)(this.worker,e,t,s)}}const x=(0,i.c)("host-browser")?Math.min(navigator.hardwareConcurrency-1,(0,i.c)("workers-pool-size")):0;let N=(0,i.c)("esri-mobile")?Math.min(x,3):x;N||(N=(0,i.c)("safari")&&(0,i.c)("mac")?7:2);let D=0;const H=[];async function j(e,t){const s=new o.c,{registryTarget:r,...i}=t;return await s.open(e,i),r&&(0,a.s)(r,s),s}async function V(e,t={}){if("string"!=typeof e)throw new r.c("workers:undefined-module","modulePath is missing");let s=t.strategy||"distributed";if((0,i.c)("host-webworker")&&!(0,i.c)("esri-workers")&&(s="local"),"local"===s){let s=await l.default.loadWorker(e);s||(s=await import(e)),(0,n.wp)(t.signal);const r=t.client||s;return j([l.default.connect(s)],{...t,client:r})}if(await async function(){if(W)return W;F=new AbortController;const e=[];for(let t=0;t<N;t++){const s=C.create(t).then((e=>(H[t]=e,e)));e.push(s)}return W=Promise.all(e),W}(),(0,n.wp)(t.signal),"dedicated"===s){const s=D++%N;return j([await H[s].open(e,t)],t)}if(t.maxNumWorkers&&t.maxNumWorkers>0){const s=Math.min(t.maxNumWorkers,N);if(s<N){const r=new Array(s);for(let i=0;i<s;++i){const s=D++%N;r[i]=H[s].open(e,t)}return j(r,t)}}return j(H.map((s=>s.open(e,t))),t)}let F,W=null},13819:(e,t,s)=>{s.d(t,{c:()=>v});var r,i=s(41948),n=s(92400),o=s(14628),a=s(40504),l=s(24296),h=s(69504),c=s(1580),u=(s(9456),s(66360),s(33600)),d=s(12552),p=s(18996);const g=(0,o.w)()({orthometric:"gravity-related-height",gravity_related_height:"gravity-related-height",ellipsoidal:"ellipsoidal"}),m=g.jsonValues.slice();(0,n.sH)(m,"orthometric");const f=(0,o.w)()({meter:"meters",foot:"feet","us-foot":"us-feet","clarke-foot":"clarke-feet","clarke-yard":"clarke-yards","clarke-link":"clarke-links","sears-yard":"sears-yards","sears-foot":"sears-feet","sears-chain":"sears-chains","benoit-1895-b-chain":"benoit-1895-b-chains","indian-yard":"indian-yards","indian-1937-yard":"indian-1937-yards","gold-coast-foot":"gold-coast-feet","sears-1922-truncated-chain":"sears-1922-truncated-chains","50-kilometers":"50-kilometers","150-kilometers":"150-kilometers"});let y=r=class extends a.am{constructor(e){super(e),this.heightModel="gravity-related-height",this.heightUnit="meters",this.vertCRS=null}writeHeightModel(e,t,s){return g.write(e,t,s)}readHeightModel(e,t,s){return g.read(e)||(s?.messages&&s.messages.push(function(e,t){return new h.c("height-model:unsupported",`Height model of value '${e}' is not supported`,t)}(e,{context:s})),null)}readHeightUnit(e,t,s){return f.read(e)||(s?.messages&&s.messages.push(_(e,{context:s})),null)}readHeightUnitService(e,t,s){return(0,l.oG)(e)||f.read(e)||(s?.messages&&s.messages.push(_(e,{context:s})),null)}readVertCRS(e,t){return t.vertCRS||t.ellipsoid||t.geoid}clone(){return new r({heightModel:this.heightModel,heightUnit:this.heightUnit,vertCRS:this.vertCRS})}equals(e){return!!e&&(this===e||this.heightModel===e.heightModel&&this.heightUnit===e.heightUnit&&this.vertCRS===e.vertCRS)}static deriveUnitFromSR(e,t){const s=(0,l._2)(t);return new r({heightModel:e.heightModel,heightUnit:s??void 0,vertCRS:e.vertCRS})}write(e,t){return t={origin:"web-scene",...t},super.write(e,t)}static fromJSON(e){if(!e)return null;const t=new r;return t.read(e,{origin:"web-scene"}),t}};function _(e,t){return new h.c("height-unit:unsupported",`Height unit of value '${e}' is not supported`,t)}(0,i._)([(0,c.qq)({type:g.apiValues,constructOnly:!0,json:{origins:{"web-scene":{type:m,default:"ellipsoidal"}}}})],y.prototype,"heightModel",void 0),(0,i._)([(0,p.G)("web-scene","heightModel")],y.prototype,"writeHeightModel",null),(0,i._)([(0,u.E)(["web-scene","service"],"heightModel")],y.prototype,"readHeightModel",null),(0,i._)([(0,c.qq)({type:f.apiValues,constructOnly:!0,json:{origins:{"web-scene":{type:f.jsonValues,write:f.write}}}})],y.prototype,"heightUnit",void 0),(0,i._)([(0,u.E)("web-scene","heightUnit")],y.prototype,"readHeightUnit",null),(0,i._)([(0,u.E)("service","heightUnit")],y.prototype,"readHeightUnitService",null),(0,i._)([(0,c.qq)({type:String,constructOnly:!0,json:{origins:{"web-scene":{write:!0}}}})],y.prototype,"vertCRS",void 0),(0,i._)([(0,u.E)("service","vertCRS",["vertCRS","ellipsoid","geoid"])],y.prototype,"readVertCRS",null),y=r=(0,i._)([(0,d.c)("esri.geometry.HeightModelInfo")],y);const v=y},47104:(e,t,s)=>{s.r(t),s.d(t,{default:()=>L});var r=s(41948),i=s(2600),n=s(20744),o=s(70680),a=s(26496),l=s(10860),h=s(28176),c=s(1580),u=(s(9456),s(66360)),d=(s(72052),s(33600)),p=s(12552),g=s(13819),m=s(81436),f=s(54664),y=s(16660),_=s(66576),v=s(98768),b=s(21488);class w{constructor(e,t,s,r){this._hasNoDataValues=null,this._minValue=null,this._maxValue=null,"pixelData"in e?(this.values=e.pixelData,this.width=e.width,this.height=e.height,this.noDataValue=e.noDataValue):(this.values=e,this.width=t,this.height=s,this.noDataValue=r)}get hasNoDataValues(){if(null==this._hasNoDataValues){const e=this.noDataValue;this._hasNoDataValues=this.values.includes(e)}return this._hasNoDataValues}get minValue(){return this._ensureBounds(),this._minValue}get maxValue(){return this._ensureBounds(),this._maxValue}_ensureBounds(){if(null!=this._minValue)return;const{noDataValue:e,values:t}=this;let s=1/0,r=-1/0,i=!0;for(const n of t)n===e?this._hasNoDataValues=!0:(s=n<s?n:s,r=n>r?n:r,i=!1);i?(this._minValue=0,this._maxValue=0):(this._minValue=s,this._maxValue=r>-3e38?r:0)}}var k=s(92400),E=s(38912),S=s(35268);class P{constructor(e,t,s,r,i={}){this._mainMethod=t,this._transferLists=s,this._listeners=[],this._promise=(0,S.eU)(e,{...i,schedule:r}).then((e=>{if(void 0===this._thread){this._thread=e,this._promise=null,i.hasInitialize&&this.broadcast({},"initialize");for(const e of this._listeners)this._connectListener(e)}else e.close()})),this._promise.catch((t=>u.c.getLogger("esri.core.workers.WorkerHandle").error(`Failed to initialize ${e} worker: ${t}`)))}on(e,t){const s={removed:!1,eventName:e,callback:t,threadHandle:null};return this._listeners.push(s),this._connectListener(s),(0,E.uU)((()=>{s.removed=!0,(0,k.aE)(this._listeners,s),this._thread&&null!=s.threadHandle&&s.threadHandle.remove()}))}destroy(){this._thread&&(this._thread.close(),this._thread=null),this._promise=null,this._listeners.length=0,this._transferLists={}}invoke(e,t){return this.invokeMethod(this._mainMethod,e,t)}invokeMethod(e,t,s){if(this._thread){const r=this._transferLists[e],i=r?r(t):[];return this._thread.invoke(e,t,{transferList:i,signal:s})}return this._promise?this._promise.then((()=>((0,l.wp)(s),this.invokeMethod(e,t,s)))):Promise.reject(null)}broadcast(e,t){return this._thread?Promise.all(this._thread.broadcast(t,e)).then((()=>{})):this._promise?this._promise.then((()=>this.broadcast(e,t))):Promise.reject()}get promise(){return this._promise}_connectListener(e){this._thread&&this._thread.on(e.eventName,e.callback).then((t=>{e.removed||(e.threadHandle=t)}))}}class q extends P{constructor(e=null){super("LercWorker","_decode",{_decode:e=>[e.buffer]},e,{strategy:"dedicated"}),this.schedule=e,this.ref=0}decode(e,t,s){return e&&0!==e.byteLength?this.invoke({buffer:e,options:t},s):Promise.resolve(null)}release(){--this.ref<=0&&(I.forEach(((e,t)=>{e===this&&I.delete(t)})),this.destroy())}}const I=new Map;let M=class extends((0,f.k)((0,y.u)((0,_.Y)((0,v.K)((0,a.U)(m.c)))))){constructor(...e){super(...e),this.capabilities={operations:{supportsTileMap:!1}},this.copyright=null,this.heightModelInfo=null,this.path=null,this.minScale=void 0,this.maxScale=void 0,this.opacity=1,this.operationalLayerType="ArcGISTiledElevationServiceLayer",this.sourceJSON=null,this.type="elevation",this.url=null,this.version=null,this._lercDecoder=function(e=null){let t=I.get(e);return t||(null!=e?(t=new q((t=>e.immediate.schedule(t))),I.set(e,t)):(t=new q,I.set(null,t))),++t.ref,t}()}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}destroy(){this._lercDecoder=(0,o.gT)(this._lercDecoder)}readCapabilities(e,t){const s=t.capabilities&&t.capabilities.split(",").map((e=>e.toLowerCase().trim()));return s?{operations:{supportsTileMap:s.includes("tilemap")}}:{operations:{supportsTileMap:!1}}}readVersion(e,t){let s=t.currentVersion;return s||(s=9.3),s}load(e){const t=null!=e?e.signal:null;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Image Service"],supportsData:!1,validateItem:e=>{if(e.typeKeywords)for(let t=0;t<e.typeKeywords.length;t++)if("elevation 3d layer"===e.typeKeywords[t].toLowerCase())return!0;throw new n.c("portal:invalid-layer-item-type","Invalid layer item type '${type}', expected '${expectedType}' ",{type:"Image Service",expectedType:"Image Service Elevation 3D Layer"})}},e).catch(l.CE).then((()=>this._fetchImageService(t)))),Promise.resolve(this)}fetchTile(e,t,s,r){const n=null!=(r=r||{signal:null}).signal?r.signal:r.signal=(new AbortController).signal,o={responseType:"array-buffer",signal:n},a={noDataValue:r.noDataValue,returnFileInfo:!0};return this.load().then((()=>this._fetchTileAvailability(e,t,s,r))).then((()=>(0,i.c)(this.getTileUrl(e,t,s),o))).then((e=>this._lercDecoder.decode(e.data,a,n))).then((e=>new w(e)))}getTileUrl(e,t,s){const r=!this.capabilities.operations.supportsTileMap&&this.supportsBlankTile,i=(0,h.GK)({...this.parsedUrl.query,blankTile:!r&&null});return`${this.parsedUrl.path}/tile/${e}/${t}/${s}${i?"?"+i:""}`}async queryElevation(e,t){const{ElevationQuery:r}=await s.e(2984).then(s.bind(s,12984));return(0,l.wp)(t),(new r).query(this,e,t)}async createElevationSampler(e,t){const{ElevationQuery:r}=await s.e(2984).then(s.bind(s,12984));return(0,l.wp)(t),(new r).createSampler(this,e,t)}_fetchTileAvailability(e,t,s,r){return this.tilemapCache?this.tilemapCache.fetchAvailability(e,t,s,r):Promise.resolve("unknown")}async _fetchImageService(e){if(this.sourceJSON)return this.sourceJSON;const t={query:{f:"json",...this.parsedUrl.query},responseType:"json",signal:e},s=await(0,i.c)(this.parsedUrl.path,t);s.ssl&&(this.url=this.url?.replace(/^http:/i,"https:")),this.sourceJSON=s.data,this.read(s.data,{origin:"service",url:this.parsedUrl})}get hasOverriddenFetchTile(){return!this.fetchTile[z]}};(0,r._)([(0,c.qq)({readOnly:!0})],M.prototype,"capabilities",void 0),(0,r._)([(0,d.E)("service","capabilities",["capabilities"])],M.prototype,"readCapabilities",null),(0,r._)([(0,c.qq)({json:{read:{source:"copyrightText"}}})],M.prototype,"copyright",void 0),(0,r._)([(0,c.qq)({readOnly:!0,type:g.c})],M.prototype,"heightModelInfo",void 0),(0,r._)([(0,c.qq)({type:String,json:{origins:{"web-scene":{read:!0,write:!0}},read:!1}})],M.prototype,"path",void 0),(0,r._)([(0,c.qq)({type:["show","hide"]})],M.prototype,"listMode",void 0),(0,r._)([(0,c.qq)({json:{read:!1,write:!1,origins:{service:{read:!1,write:!1},"portal-item":{read:!1,write:!1},"web-document":{read:!1,write:!1}}},readOnly:!0})],M.prototype,"minScale",void 0),(0,r._)([(0,c.qq)({json:{read:!1,write:!1,origins:{service:{read:!1,write:!1},"portal-item":{read:!1,write:!1},"web-document":{read:!1,write:!1}}},readOnly:!0})],M.prototype,"maxScale",void 0),(0,r._)([(0,c.qq)({json:{read:!1,write:!1,origins:{"web-document":{read:!1,write:!1}}}})],M.prototype,"opacity",void 0),(0,r._)([(0,c.qq)({type:["ArcGISTiledElevationServiceLayer"]})],M.prototype,"operationalLayerType",void 0),(0,r._)([(0,c.qq)()],M.prototype,"sourceJSON",void 0),(0,r._)([(0,c.qq)({json:{read:!1},value:"elevation",readOnly:!0})],M.prototype,"type",void 0),(0,r._)([(0,c.qq)(b.qW)],M.prototype,"url",void 0),(0,r._)([(0,c.qq)()],M.prototype,"version",void 0),(0,r._)([(0,d.E)("version",["currentVersion"])],M.prototype,"readVersion",null),M=(0,r._)([(0,p.c)("esri.layers.ElevationLayer")],M);const z=Symbol("default-fetch-tile");M.prototype.fetchTile[z]=!0;const L=M},81436:(e,t,s)=>{s.d(t,{c:()=>v});var r=s(41948),i=(s(60708),s(2600)),n=s(20744),o=s(77860),a=s(22156),l=s(95800),h=s(66360),c=s(10860),u=s(28176),d=s(1580),p=(s(9456),s(72052),s(12552)),g=s(6220),m=s(95247),f=s(56156);let y=0,_=class extends(o.c.EventedMixin((0,a.MR)(l.c))){constructor(){super(...arguments),this.attributionDataUrl=null,this.fullExtent=new m.c(-180,-90,180,90,f.c.WGS84),this.id=Date.now().toString(16)+"-layer-"+y++,this.legendEnabled=!0,this.listMode="show",this.opacity=1,this.parent=null,this.persistenceEnabled=!1,this.popupEnabled=!0,this.attributionVisible=!0,this.spatialReference=f.c.WGS84,this.title=null,this.type=null,this.url=null,this.visible=!0}static async fromArcGISServerUrl(e){const t="string"==typeof e?{url:e}:e;return(await s.e(9232).then(s.bind(s,69232))).fromUrl(t)}static fromPortalItem(e){return async function(e){const t="portalItem"in e?e:{portalItem:e},{fromItem:r}=await s.e(2259).then(s.bind(s,12259));try{return await r(t)}catch(e){const s=t&&t.portalItem,r=s?.id||"unset",i=s&&s.portal&&s.portal.url||g.default.portalUrl;throw h.c.getLogger("esri.layers.support.fromPortalItem").error("#fromPortalItem()","Failed to create layer from portal item (portal: '"+i+"', id: '"+r+"')",e),e}}(e)}initialize(){this.when().catch((e=>{(0,c.mA)(e)||h.c.getLogger(this).error("#load()",`Failed to load layer (title: '${this.title??"no title"}', id: '${this.id??"no id"}')`,{error:e})}))}destroy(){const e=this.parent;if(e){const t=this;"layers"in e&&e.layers.includes(t)?e.layers.remove(t):"tables"in e&&e.tables.includes(t)?e.tables.remove(t):"baseLayers"in e&&e.baseLayers.includes(t)?e.baseLayers.remove(t):"referenceLayers"in e&&e.referenceLayers.includes(t)&&e.referenceLayers.remove(t),this._set("parent",null)}}get hasAttributionData(){return null!=this.attributionDataUrl}get parsedUrl(){return(0,u.as)(this.url)}async fetchAttributionData(){const e=this.attributionDataUrl;if(this.hasAttributionData&&e)return(await(0,i.c)(e,{query:{f:"json"},responseType:"json"})).data;throw new n.c("layer:no-attribution-data","Layer does not have attribution data")}};(0,r._)([(0,d.qq)({type:String})],_.prototype,"attributionDataUrl",void 0),(0,r._)([(0,d.qq)({type:m.c})],_.prototype,"fullExtent",void 0),(0,r._)([(0,d.qq)({readOnly:!0})],_.prototype,"hasAttributionData",null),(0,r._)([(0,d.qq)({type:String,clonable:!1})],_.prototype,"id",void 0),(0,r._)([(0,d.qq)({type:Boolean,nonNullable:!0})],_.prototype,"legendEnabled",void 0),(0,r._)([(0,d.qq)({type:["show","hide","hide-children"]})],_.prototype,"listMode",void 0),(0,r._)([(0,d.qq)({type:Number,range:{min:0,max:1},nonNullable:!0})],_.prototype,"opacity",void 0),(0,r._)([(0,d.qq)({clonable:!1})],_.prototype,"parent",void 0),(0,r._)([(0,d.qq)({readOnly:!0})],_.prototype,"parsedUrl",null),(0,r._)([(0,d.qq)({type:Boolean,readOnly:!0})],_.prototype,"persistenceEnabled",void 0),(0,r._)([(0,d.qq)({type:Boolean})],_.prototype,"popupEnabled",void 0),(0,r._)([(0,d.qq)({type:Boolean})],_.prototype,"attributionVisible",void 0),(0,r._)([(0,d.qq)({type:f.c})],_.prototype,"spatialReference",void 0),(0,r._)([(0,d.qq)({type:String})],_.prototype,"title",void 0),(0,r._)([(0,d.qq)({readOnly:!0,json:{read:!1}})],_.prototype,"type",void 0),(0,r._)([(0,d.qq)()],_.prototype,"url",void 0),(0,r._)([(0,d.qq)({type:Boolean,nonNullable:!0})],_.prototype,"visible",void 0),_=(0,r._)([(0,p.c)("esri.layers.Layer")],_);const v=_},98768:(e,t,s)=>{s.d(t,{K:()=>k});var r=s(41948),i=s(6220),n=s(47620),o=s(2600),a=s(40196),l=s(20744),h=s(66360),c=s(70680),u=s(10860),d=s(28176),p=s(1580),g=(s(9456),s(72052),s(33600)),m=s(12552),f=s(18996),y=s(71068),_=s(54872),v=s(9764),b=s(53039),w=s(46940);const k=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.mG)(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,s){if(t.itemId)return new v.default({id:t.itemId,portal:s?.portal})}writePortalItem(e,t){e?.id&&(t.itemId=e.id)}async loadFromPortal(e,t){if(this.portalItem?.id)try{const{load:r}=await Promise.all([s.e(8828),s.e(4132)]).then(s.bind(s,94132));return(0,u.wp)(t),await r({instance:this,supportedTypes:e.supportedTypes,validateItem:e.validateItem,supportsData:e.supportsData,layerModuleTypeMap:e.layerModuleTypeMap},t)}catch(e){throw(0,u.mA)(e)||h.c.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,u.CE)(e),!0))))}async setUserPrivileges(e,t){if(!i.default.userPrivilegesApplied)return this.finishLoadEditablePortalLayer(t);if(this.url)try{const{features:{edit:s,fullEdit:r},content:{updateItem:i}}=await this._fetchUserPrivileges(e,t);this._set("userHasEditingPrivileges",s),this._set("userHasFullEditingPrivileges",r),this._set("userHasUpdateItemPrivileges",i)}catch(e){(0,u.CE)(e)}}async _fetchUserPrivileges(e,t){let s=this.portalItem;if(!e||!s||!s.loaded||s.sourceUrl)return this._fetchFallbackUserPrivileges(t);const r=e===s.id;if(r&&s.portal.user)return(0,w.CI)(s);let i,o;if(r)i=s.portal.url;else try{i=await(0,y.mK)(this.url,t)}catch(e){(0,u.CE)(e)}if(!i||!(0,d.Cs)(i,s.portal.url))return this._fetchFallbackUserPrivileges(t);try{const e=null!=t?t.signal:null;o=await(n.id?.getCredential(`${i}/sharing`,{prompt:!1,signal:e}))}catch(e){(0,u.CE)(e)}if(!o)return{features:{edit:!0,fullEdit:!1},content:{updateItem:!1}};try{if(r?await s.reload():(s=new v.default({id:e,portal:{url:i}}),await s.load(t)),s.portal.user)return(0,w.CI)(s)}catch(e){(0,u.CE)(e)}return{features:{edit:!0,fullEdit:!1},content:{updateItem:!1}}}async _fetchFallbackUserPrivileges(e){let t=!0;try{t=await this._fetchUserHasEditingPrivileges(e)}catch(e){(0,u.CE)(e)}return{features:{edit:t,fullEdit:!1},content:{updateItem:!1}}}async _fetchUserHasEditingPrivileges(e){const t=this.url?n.id?.findCredential(this.url):null;if(!t)return!0;const s=E.credential===t?E.user:await this._fetchEditingUser(e);return E.credential=t,E.user=s,null==s?.privileges||s.privileges.includes("features:user:edit")}async _fetchEditingUser(e){const t=this.portalItem?.portal?.user;if(t)return t;const s=n.id.findServerInfo(this.url??"");if(!s?.owningSystemUrl)return null;const r=`${s.owningSystemUrl}/sharing/rest`,i=_.c.getDefault();if(i&&i.loaded&&(0,d.k7)(i.restUrl)===(0,d.k7)(r))return i.user;const l=`${r}/community/self`,h=null!=e?e.signal:null,c=await(0,a.aG)((0,o.c)(l,{authMode:"no-prompt",query:{f:"json"},signal:h}));return c.ok?b.c.fromJSON(c.value.data):null}read(e,t){t&&(t.layer=this),super.read(e,t)}write(e,t){const s=t?.portal,r=this.portalItem?.id&&(this.portalItem.portal||_.c.getDefault());return s&&r&&!(0,d.kF)(r.restUrl,s.restUrl)?(t.messages&&t.messages.push(new l.c("layer:cross-portal",`The layer '${this.title} (${this.id})' cannot be persisted because it refers to an item on a different portal than the one being saved to. To save, set layer.portalItem to null or save to the same portal as the item associated with the layer`,{layer:this})),null):super.write(e,{...t,layer:this})}};return(0,r._)([(0,p.qq)({type:v.default})],t.prototype,"portalItem",null),(0,r._)([(0,g.E)("web-document","portalItem",["itemId"])],t.prototype,"readPortalItem",null),(0,r._)([(0,f.G)("web-document","portalItem",{itemId:{type:String}})],t.prototype,"writePortalItem",null),(0,r._)([(0,p.qq)({clonable:!1})],t.prototype,"resourceReferences",void 0),(0,r._)([(0,p.qq)({type:Boolean,readOnly:!0})],t.prototype,"userHasEditingPrivileges",void 0),(0,r._)([(0,p.qq)({type:Boolean,readOnly:!0})],t.prototype,"userHasFullEditingPrivileges",void 0),(0,r._)([(0,p.qq)({type:Boolean,readOnly:!0})],t.prototype,"userHasUpdateItemPrivileges",void 0),t=(0,r._)([(0,m.c)("esri.layers.mixins.PortalLayer")],t),t},E={credential:null,user:null}}}]);
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[8380],{25228:(e,t,s)=>{s.d(t,{c:()=>m});var r,i=s(41948),n=s(40504),o=s(94360),a=s(1580),l=(s(9456),s(66360),s(72052),s(33600)),h=s(12552),c=s(18996),u=s(28484);let d=r=class extends n.am{static get allTime(){return p}static get empty(){return g}constructor(e){super(e),this.end=null,this.start=null}readEnd(e,t){return null!=t.end?new Date(t.end):null}writeEnd(e,t){t.end=e?.getTime()??null}get isAllTime(){return this.equals(r.allTime)}get isEmpty(){return this.equals(r.empty)}readStart(e,t){return null!=t.start?new Date(t.start):null}writeStart(e,t){t.start=e?.getTime()??null}clone(){return new r({end:this.end,start:this.start})}equals(e){if(!e)return!1;const t=this.start?.getTime()??this.start,s=this.end?.getTime()??this.end,r=e.start?.getTime()??e.start,i=e.end?.getTime()??e.end;return t===r&&s===i}expandTo(e,t=u.OX){if(this.isEmpty||this.isAllTime)return this.clone();let s=this.start;s&&(s=(0,o.aU)(s,e,t));let i=this.end;if(i){const s=(0,o.aU)(i,e,t);i=i.getTime()===s.getTime()?s:(0,o.g1)(s,1,e,t)}return new r({start:s,end:i})}intersection(e){if(!e)return this.clone();if(this.isEmpty||e.isEmpty)return r.empty;if(this.isAllTime)return e.clone();if(e.isAllTime)return this.clone();const t=this.start?.getTime()??-1/0,s=this.end?.getTime()??1/0,i=e.start?.getTime()??-1/0,n=e.end?.getTime()??1/0;let o,a;if(i>=t&&i<=s?o=i:t>=i&&t<=n&&(o=t),s>=i&&s<=n?a=s:n>=t&&n<=s&&(a=n),null!=o&&null!=a&&!isNaN(o)&&!isNaN(a)){const e=new r;return e.start=o===-1/0?null:new Date(o),e.end=a===1/0?null:new Date(a),e}return r.empty}offset(e,t,s=u.OX){if(this.isEmpty||this.isAllTime)return this.clone();const i=new r,{start:n,end:a}=this;return null!=n&&(i.start=(0,o.g1)(n,e,t,s)),null!=a&&(i.end=(0,o.g1)(a,e,t,s)),i}union(e){if(!e||e.isEmpty)return this.clone();if(this.isEmpty)return e.clone();if(this.isAllTime||e.isAllTime)return p.clone();const t=null!=this.start&&null!=e.start?new Date(Math.min(this.start.getTime(),e.start.getTime())):null,s=null!=this.end&&null!=e.end?new Date(Math.max(this.end.getTime(),e.end.getTime())):null;return new r({start:t,end:s})}};(0,i._)([(0,a.qq)({type:Date,json:{write:{allowNull:!0}}})],d.prototype,"end",void 0),(0,i._)([(0,l.E)("end")],d.prototype,"readEnd",null),(0,i._)([(0,c.G)("end")],d.prototype,"writeEnd",null),(0,i._)([(0,a.qq)({readOnly:!0,json:{read:!1}})],d.prototype,"isAllTime",null),(0,i._)([(0,a.qq)({readOnly:!0,json:{read:!1}})],d.prototype,"isEmpty",null),(0,i._)([(0,a.qq)({type:Date,json:{write:{allowNull:!0}}})],d.prototype,"start",void 0),(0,i._)([(0,l.E)("start")],d.prototype,"readStart",null),(0,i._)([(0,c.G)("start")],d.prototype,"writeStart",null),d=r=(0,i._)([(0,h.c)("esri.TimeExtent")],d);const p=new d,g=new d({start:void 0,end:void 0}),m=d},22156:(e,t,s)=>{s.d(t,{MR:()=>o,qm:()=>a});var r=s(41948),i=s(12552);let n=0;const o=e=>{let t=class extends e{constructor(...e){super(...e),Object.defineProperty(this,"uid",{writable:!1,configurable:!1,value:Date.now().toString(16)+"-object-"+n++})}};return t=(0,r._)([(0,i.c)("esri.core.Identifiable")],t),t},a=e=>{let t=class extends e{constructor(...e){super(...e),Object.defineProperty(this,"uid",{writable:!1,configurable:!1,value:n++})}};return t=(0,r._)([(0,i.c)("esri.core.NumericIdentifiable")],t),t};let l=class extends(o(class{})){};l=(0,r._)([(0,i.c)("esri.core.Identifiable")],l)},11004:(e,t,s)=>{s.d(t,{o:()=>i});var r=s(74452);class i{constructor(e,t){this._storage=new r.kB,this.id="",this.name="",this.size=0,this._storage.maxSize=e,this._storage.register(this),t&&this._storage.registerRemoveFunc("",t)}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(){}}},74452:(e,t,s)=>{s.d(t,{ML:()=>o,kB:()=>a});var r,i,n=s(24680);(i=r||(r={}))[i.ALL=0]="ALL",i[i.SOME=1]="SOME";class o{constructor(e,t,s){this.name=e,this._storage=t,this.id=l+++":",this.size=0,this.maxSize=-1,this._removeFunc=!1,this._hit=0,this._miss=0,this._storage.register(this),s&&(this._storage.registerRemoveFunc(this.id,s),this._removeFunc=!0)}destroy(){this._storage.clear(this),this._removeFunc&&this._storage.deregisterRemoveFunc(this.id),this._storage.deregister(this),this._storage=null}get hitRate(){return this._hit/(this._hit+this._miss)}get storageSize(){return this._storage.size}getSize(e){return this._storage.getSize(this,e)}resetHitRate(){this._hit=this._miss=0}put(e,t,s,r=0){this._storage.put(this,e,t,s,r)}pop(e){const t=this._storage.pop(this,e);return void 0===t?++this._miss:++this._hit,t}get(e){const t=this._storage.get(this,e);return void 0===t?++this._miss:++this._hit,t}peek(e){return this._storage.peek(this,e)}updateSize(e,t,s){this._storage.updateSize(this,e,t,s)}clear(){this._storage.clear(this)}clearAll(){this._storage.clearAll()}get performanceInfo(){return this._storage.performanceInfo}resetStats(){this._storage.resetStats()}}class a{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._removeFuncs=new n.c,this._users=new n.c}destroy(){this.clearAll(),this._removeFuncs.clear(),this._users.clear(),this._db=null}register(e){this._users.push(e)}deregister(e){this._users.removeUnordered(e)}registerRemoveFunc(e,t){this._removeFuncs.push([e,t])}deregisterRemoveFunc(e){this._removeFuncs.filterInPlace((t=>t[0]!==e))}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,i,n){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,r.ALL)),i>this._maxSize)return void this._notifyRemove(t,s,i,r.ALL);if(void 0===s)return void console.warn("Refusing to cache undefined entry ");if(!i||i<0)return console.warn(`Refusing to cache entry with size ${i} for key ${t}`),void this._notifyRemove(t,s,0,r.ALL);const a=1+Math.max(n,-4)- -3;this._db.set(t,new h(s,i,a)),this._size+=i,e.size+=i,this._checkSize()}updateSize(e,t,s,i){t=e.id+t;const n=this._db.get(t);if(n&&n.entry===s){for(this._size-=n.size,e.size-=n.size;i>this._maxSize;){const e=this._notifyRemove(t,s,i,r.SOME);if(!(null!=e&&e>0))return void this._db.delete(t);i=e}n.size=i,this._size+=i,e.size+=i,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,r)=>{const i=e.lifetime;s[i]=(s[i]||0)+e.size,this._users.forAll((s=>{const{id:i,name:n}=s;if(r.startsWith(i)){const s=t[n]||0;t[n]=s+e.size}}))}));const r={};this._users.forAll((e=>{const s=e.name;if("hitRate"in e&&"number"==typeof e.hitRate&&!isNaN(e.hitRate)&&e.hitRate>0){const i=t[s]||0;t[s]=i,r[s]=Math.round(100*e.hitRate)+"%"}else r[s]="0%"}));const i=Object.keys(t);i.sort(((e,s)=>t[s]-t[e])),i.forEach((s=>e[s]=Math.round(t[s]/2**20)+"MB / "+r[s]));for(let t=s.length-1;t>=0;--t){const r=s[t];r&&(e["Priority "+(t+-3-1)]=Math.round(r/this._size*100)+"%")}return e}resetStats(){this._hit=this._miss=0,this._users.forAll((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,r.ALL))})),e.size=0}clearAll(){this._db.forEach(((e,t)=>this._notifyRemove(t,e.entry,e.size,r.ALL))),this._users.forAll((e=>e.size=0)),this._size=0,this._db.clear()}_getHitRate(){return this._hit/(this._hit+this._miss)}_notifyRemove(e,t,s,r){let i;return this._removeFuncs.some((n=>{if(e.startsWith(n[0])){const e=n[1](t,r,s);return"number"==typeof e&&(i=e),!0}return!1})),i}_checkSize(){this._users.forAll((e=>this._checkSizeLimits(e))),this._checkSizeLimits()}_checkSizeLimits(e){const t=e??this;if(t.maxSize<0||t.size<=t.maxSize)return;const s=e?.id;let r=!0;for(;r;){r=!1;for(const[i,n]of this._db)if(0===n.lifetime&&(!s||i.startsWith(s))){if(this._purgeItem(i,n,e),t.size<=.9*t.maxSize)return;r||=this._db.has(i)}}for(const[r,i]of this._db)if((!s||r.startsWith(s))&&(this._purgeItem(r,i,e),t.size<=.9*t.maxSize))return}_purgeItem(e,t,s=this._users.find((t=>e.startsWith(t.id)))){if(this._db.delete(e),t.lives<=1){this._size-=t.size,s&&(s.size-=t.size);const i=this._notifyRemove(e,t.entry,t.size,r.SOME);null!=i&&i>0&&(this._size+=i,s&&(s.size+=i),t.lives=t.lifetime,t.size=i,this._db.set(e,t))}else--t.lives,this._db.set(e,t)}}let l=0;class h{constructor(e,t,s){this.entry=e,this.size=t,this.lifetime=s,this.lives=s}}},54792:(e,t,s)=>{s.d(t,{c:()=>n});var r=s(67432),i=s(9592);class n{constructor(e=(e=>e.values().next().value)){this._peeker=e,this._observable=new i.n,this._items=new Set}get length(){return(0,r.am)(this._observable),this._items.size}clear(){0!==this.length&&(this._items.clear(),this._observable.notify())}last(){if(0===this.length)return;let e;for(e of this._items);return e}peek(){if(0!==this.length)return this._peeker(this._items)}push(e){this.contains(e)||(this._items.add(e),this._observable.notify())}contains(e){return(0,r.am)(this._observable),this._items.has(e)}pop(){if(0===this.length)return;const e=this.peek();return this._items.delete(e),this._observable.notify(),e}popLast(){if(0===this.length)return;const e=this.last();return this._items.delete(e),this._observable.notify(),e}remove(e){this.contains(e)&&(this._items.delete(e),this._observable.notify())}filter(e){const t=this.length;return this._items.forEach((t=>{e(t)||this._items.delete(t)})),t!==this._items.size&&this._observable.notify(),this}*[Symbol.iterator](){(0,r.am)(this._observable),yield*this._items}}},57896:(e,t,s)=>{s.d(t,{Eq:()=>d,KG:()=>y,_8:()=>f,_I:()=>h,aE:()=>l,du:()=>m,on:()=>u}),s(40196),s(2952);var r=s(60976),i=s(38912),n=s(70680),o=s(10860),a=s(37176);function l(e,t,s={}){return c(e,t,s,p)}function h(e,t,s={}){return c(e,t,s,g)}function c(e,t,s={},r){let i=null;const o=s.once?(e,s)=>{r(e)&&((0,n.oR)(i),t(e,s))}:(e,s)=>{r(e)&&t(e,s)};if(i=(0,a.M9)(e,o,s.sync,s.equals),s.initial){const t=e();o(t,t)}return i}function u(e,t,s,o={}){let a=null,h=null,c=null;function u(){a&&h&&(h.remove(),o.onListenerRemove?.(a),a=null,h=null)}function d(e){o.once&&o.once&&(0,n.oR)(c),s(e)}const p=l(e,((e,s)=>{u(),(0,r.sh)(e)&&(a=e,h=(0,r.on)(e,t,d),o.onListenerAdd?.(e))}),{sync:o.sync,initial:!0});return c=(0,i.uU)((()=>{p.remove(),u()})),c}function d(e,t){return function(e,t,s){if((0,o.wv)(s))return Promise.reject((0,o.Uh)());const r=e();if(t?.(r))return Promise.resolve(r);let a=null;function l(){a=(0,n.oR)(a)}return new Promise(((r,n)=>{a=(0,i.Ip)([(0,o.wD)(s,(()=>{l(),n((0,o.Uh)())})),c(e,(e=>{l(),r(e)}),{sync:!1,once:!0},t??p)])}))}(e,g,t)}function p(e){return!0}function g(e){return!!e}s(41168);const m={sync:!0},f={initial:!0},y={sync:!0,initial:!0}},46448:(e,t,s)=>{s.d(t,{c:()=>h});var r=s(38912),i=s(10860),n=s(54792),o=s(13056),a=s(25512),l=s(38432);class h{constructor(){this._inUseClients=new Array,this._clients=new Array,this._clientPromises=new Array,this._ongoingJobsQueue=new n.c}destroy(){this.close()}get closed(){return!this._clients?.length}open(e,t){return new Promise(((s,r)=>{let n=!0;const o=e=>{(0,i.wp)(t.signal),n&&(n=!1,e())};this._clients.length=e.length,this._clientPromises.length=e.length,this._inUseClients.length=e.length;for(let n=0;n<e.length;++n){const a=e[n];(0,i.eW)(a)?this._clientPromises[n]=a.then((e=>(this._clients[n]=new l.default(e,t,this._ongoingJobsQueue),o(s),this._clients[n])),(()=>(o(r),null))):(this._clients[n]=new l.default(a,t,this._ongoingJobsQueue),this._clientPromises[n]=Promise.resolve(this._clients[n]),o(s))}}))}broadcast(e,t,s){const r=new Array(this._clientPromises.length);for(let i=0;i<this._clientPromises.length;++i){const n=this._clientPromises[i];r[i]=n.then((r=>r?.invoke(e,t,s)))}return r}close(){let e;for(;e=this._ongoingJobsQueue.pop();)e.resolver.reject((0,i.Uh)(`Worker closing, aborting job calling '${e.methodName}'`));for(const e of this._clientPromises)e.then((e=>e?.close()));this._clients.length=0,this._clientPromises.length=0,this._inUseClients.length=0,(0,o.S)(this)}invoke(e,t,s){return this.apply(e,[t],s)}apply(e,t,s){const r=(0,i.qG)();this._ongoingJobsQueue.push({methodName:e,data:t,invokeOptions:s,resolver:r});for(let e=0;e<this._clientPromises.length;e++){const t=this._clients[e];t?t.jobAdded():this._clientPromises[e].then((e=>e?.jobAdded()))}return r.promise}createInvokeProxy(e){return(0,a.Y)(this,e)}on(e,t){return Promise.all(this._clientPromises).then((()=>(0,r.Ip)(this._clients.map((s=>s.on(e,t))))))}openPorts(){return new Promise((e=>{const t=new Array(this._clientPromises.length);let s=t.length;for(let r=0;r<this._clientPromises.length;++r)this._clientPromises[r].then((i=>{i&&(t[r]=i.openPort()),0==--s&&e(t)}))}))}get test(){return{numClients:this._clients.length}}}},13056:(e,t,s)=>{s.d(t,{S:()=>n,s:()=>i});const r=new FinalizationRegistry((e=>{e.close()}));function i(e,t){r.register(e,t,t)}function n(e){r.unregister(e)}},35268:(e,t,s)=>{s.d(t,{eU:()=>V});var r=s(20744),i=s(9456),n=s(10860),o=s(46448),a=s(13056),l=s(38432),h=s(66360),c=s(70680),u=s(2600),d=s(28176);const p={async request(e,t){const s=e.options,r=s.responseType;s.signal=t?.signal,s.responseType="native"===r||"native-request-init"===r?"native-request-init":r&&["blob","json","text"].includes(r)&&(0,d.OO)(e.url)?.after?r:"array-buffer";const i=await(0,u.c)(e.url,s),n={data:i.data,httpStatus:i.httpStatus,ssl:i.ssl};switch(i.requestOptions?.responseType){case"native-request-init":return delete n.data.signal,n;case"blob":n.data=await n.data.arrayBuffer();break;case"json":n.data=(new TextEncoder).encode(JSON.stringify(n.data)).buffer;break;case"text":n.data=(new TextEncoder).encode(n.data).buffer}return{result:n,transferList:[n.data]}}};var g=s(31056),m=s(24832),f=s(6220),y=(s(2016),s(47620));const _={};var v=s(52324);class b{constructor(){const e=document.createDocumentFragment();["addEventListener","dispatchEvent","removeEventListener"].forEach((t=>{this[t]=(...s)=>e[t](...s)}))}}class w{constructor(){this._dispatcher=new b,this._workerPostMessage({type:g.MessageType.HANDSHAKE})}terminate(){}get onmessage(){return this._onmessageHandler}set onmessage(e){this._onmessageHandler&&this.removeEventListener("message",this._onmessageHandler),this._onmessageHandler=e,e&&this.addEventListener("message",e)}get onmessageerror(){return this._onmessageerrorHandler}set onmessageerror(e){this._onmessageerrorHandler&&this.removeEventListener("messageerror",this._onmessageerrorHandler),this._onmessageerrorHandler=e,e&&this.addEventListener("messageerror",e)}get onerror(){return this._onerrorHandler}set onerror(e){this._onerrorHandler&&this.removeEventListener("error",this._onerrorHandler),this._onerrorHandler=e,e&&this.addEventListener("error",e)}postMessage(e){(0,v.o)((()=>{this._workerMessageHandler(new MessageEvent("message",{data:e}))}))}dispatchEvent(e){return this._dispatcher.dispatchEvent(e)}addEventListener(e,t,s){this._dispatcher.addEventListener(e,t,s)}removeEventListener(e,t,s){this._dispatcher.removeEventListener(e,t,s)}_workerPostMessage(e){(0,v.o)((()=>{this.dispatchEvent(new MessageEvent("message",{data:e}))}))}async _workerMessageHandler(e){const t=(0,g.mO)(e);if(t&&t.type===g.MessageType.OPEN){const{modulePath:e,jobId:s}=t;let r=await l.default.loadWorker(e);r||(r=await import(e));const i=l.default.connect(r);this._workerPostMessage({type:g.MessageType.OPENED,jobId:s,data:i})}}}var k=s(89960),E=s(69880);const S=()=>h.c.getLogger("esri.core.workers.workerFactory"),{HANDSHAKE:P}=g.MessageType;let q,I;const M="Failed to create Worker. Fallback to execute module in main thread";async function z(e){return new Promise((t=>{function s(i){const n=(0,g.mO)(i);n&&n.type===P&&(e.removeEventListener("message",s),e.removeEventListener("error",r),t(e))}function r(t){t.preventDefault(),e.removeEventListener("message",s),e.removeEventListener("error",r),S().warn("Failed to create Worker. Fallback to execute module in main thread",t),(e=new w).addEventListener("message",s),e.addEventListener("error",r)}e.addEventListener("message",s),e.addEventListener("error",r)}))}let L=0;const{ABORT:O,INVOKE:R,OPEN:U,OPENED:A,RESPONSE:T}=g.MessageType;class C{static async create(e){const t=await async function(){if(!(0,i.c)("esri-workers"))return z(new w);if(!q&&!I)try{const e='let globalId=0;const outgoing=new Map,configuration=JSON.parse("{CONFIGURATION}");self.esriConfig=configuration.esriConfig;const workerPath=self.esriConfig.workers.workerPath,HANDSHAKE=0,OPEN=1,OPENED=2,RESPONSE=3,INVOKE=4,ABORT=5;function createAbortError(){const e=new Error("Aborted");return e.name="AbortError",e}function receiveMessage(e){return e&&e.data?"string"==typeof e.data?JSON.parse(e.data):e.data:null}function invokeStaticMessage(e,o,r){const t=r&&r.signal,n=globalId++;return new Promise(((r,s)=>{if(t){if(t.aborted)return s(createAbortError());t.addEventListener("abort",(()=>{outgoing.get(n)&&(outgoing.delete(n),self.postMessage({type:ABORT,jobId:n}),s(createAbortError()))}))}outgoing.set(n,{resolve:r,reject:s}),self.postMessage({type:INVOKE,jobId:n,methodName:e,abortable:null!=t,data:o})}))}let workerRevisionChecked=!1;function checkWorkerRevision(e){if(!workerRevisionChecked&&e.kernelInfo){workerRevisionChecked=!0;const{revision:o,fullVersion:r}=configuration.kernelInfo,{revision:t,fullVersion:n,version:s}=e.kernelInfo;esriConfig.assetsPath!==esriConfig.defaultAssetsPath&&o!==t&&console.warn(`Version mismatch detected between ArcGIS Maps SDK for JavaScript modules and assets. For more information visit https://bit.ly/3QnsuSo.\\nModules version: ${r}\\nAssets version: ${n??s}\\nAssets path: ${esriConfig.assetsPath}`)}}function messageHandler(e){const o=receiveMessage(e);if(!o)return;const r=o.jobId;switch(o.type){case OPEN:let n;function t(e){const o=n.connect(e);self.postMessage({type:OPENED,jobId:r,data:o},[o])}"function"==typeof define&&define.amd?require([workerPath],(e=>{n=e.default||e,checkWorkerRevision(n),n.loadWorker(o.modulePath).then((e=>e||new Promise((e=>{require([o.modulePath],e)})))).then(t)})):"System"in self&&"function"==typeof System.import?System.import(workerPath).then((e=>(n=e.default,checkWorkerRevision(n),n.loadWorker(o.modulePath)))).then((e=>e||System.import(o.modulePath))).then(t):esriConfig.workers.useDynamicImport?import(workerPath).then((e=>{n=e.default||e,checkWorkerRevision(n),n.loadWorker(o.modulePath).then((e=>e||import(o.modulePath))).then(t)})):(self.RemoteClient||importScripts(workerPath),n=self.RemoteClient.default||self.RemoteClient,checkWorkerRevision(n),n.loadWorker(o.modulePath).then(t));break;case RESPONSE:if(outgoing.has(r)){const s=outgoing.get(r);outgoing.delete(r),o.error?s.reject(JSON.parse(o.error)):s.resolve(o.data)}}}self.dojoConfig=configuration.loaderConfig,esriConfig.workers.loaderUrl&&(self.importScripts(esriConfig.workers.loaderUrl),"function"==typeof require&&"function"==typeof require.config&&require.config(configuration.loaderConfig)),self.addEventListener("message",messageHandler),self.postMessage({type:0});'.split('"{CONFIGURATION}"').join(`'${function(){let e;if(null!=f.default.default){const t={...f.default};delete t.default,e=JSON.parse(JSON.stringify(t))}else e=JSON.parse(JSON.stringify(f.default));e.assetsPath=(0,d.WM)(e.assetsPath),e.defaultAssetsPath=e.defaultAssetsPath?(0,d.WM)(e.defaultAssetsPath):void 0,e.request.interceptors=[],e.log.interceptors=[],e.locale=(0,k.a8)(),e.has={"esri-csp-restrictions":(0,i.c)("esri-csp-restrictions"),"esri-2d-debug":!1,"esri-2d-update-debug":(0,i.c)("esri-2d-update-debug"),"esri-2d-log-updating":(0,i.c)("esri-2d-log-updating"),"featurelayer-pbf":(0,i.c)("featurelayer-pbf"),"featurelayer-fast-triangulation-enabled":(0,i.c)("featurelayer-fast-triangulation-enabled"),"featurelayer-simplify-thresholds":(0,i.c)("featurelayer-simplify-thresholds"),"featurelayer-simplify-payload-size-factors":(0,i.c)("featurelayer-simplify-payload-size-factors"),"featurelayer-simplify-mobile-factor":(0,i.c)("featurelayer-simplify-mobile-factor"),"featurelayer-query-max-depth":(0,i.c)("featurelayer-query-max-depth"),"featurelayer-query-pausing-enabled":(0,i.c)("featurelayer-query-pausing-enabled"),"featurelayer-snapshot-enabled":(0,i.c)("featurelayer-snapshot-enabled"),"esri-atomics":(0,i.c)("esri-atomics"),"esri-shared-array-buffer":(0,i.c)("esri-shared-array-buffer"),"esri-tiles-debug":(0,i.c)("esri-tiles-debug"),"esri-workers-arraybuffer-transfer":(0,i.c)("esri-workers-arraybuffer-transfer"),"feature-polyline-generalization-factor":(0,i.c)("feature-polyline-generalization-factor"),"host-webworker":1},e.workers.loaderUrl&&(e.workers.loaderUrl=(0,d.WM)(e.workers.loaderUrl)),e.workers.workerPath?e.workers.workerPath=(0,d.WM)(e.workers.workerPath):e.workers.workerPath=(0,d.WM)((0,m.O)("esri/core/workers/RemoteClient.js")),e.workers.useDynamicImport=!1;const t=f.default.workers.loaderConfig,s=function(e){const t={async:e.async,isDebug:e.isDebug,locale:e.locale,baseUrl:e.baseUrl,has:{...e.has},map:{...e.map},packages:e.packages?.concat()||[],paths:{...e.paths}};return e.hasOwnProperty("async")||(t.async=!0),e.hasOwnProperty("isDebug")||(t.isDebug=!1),e.baseUrl||(t.baseUrl=_.baseUrl),t}({baseUrl:t?.baseUrl,locale:(0,k.a8)(),has:{"csp-restrictions":1,"dojo-test-sniff":0,"host-webworker":1,...t?.has},map:{...t?.map},paths:{...t?.paths},packages:t?.packages||[]}),r={buildDate:E.W,fullVersion:y.c1,revision:E.m};return JSON.stringify({esriConfig:e,loaderConfig:s,kernelInfo:r})}()}'`);q=URL.createObjectURL(new Blob([e],{type:"text/javascript"}))}catch(e){I=e||{}}let e;if(q)try{e=new Worker(q,{name:"esri-worker-"+L++})}catch(t){S().warn(M,I),e=new w}else S().warn(M,I),e=new w;return z(e)}();return new C(t,e)}constructor(e,t){this._outJobs=new Map,this._inJobs=new Map,this.worker=e,this.id=t,e.addEventListener("message",this._onMessage.bind(this)),e.addEventListener("error",(e=>{e.preventDefault(),h.c.getLogger("esri.core.workers.WorkerOwner").error(e)}))}terminate(){this.worker.terminate()}async open(e,t={}){const{signal:s}=t,r=(0,g.W4)();return new Promise(((t,i)=>{const o={resolve:t,reject:i,abortHandle:(0,n.Ij)(s,(()=>{this._outJobs.delete(r),this._post({type:O,jobId:r})}))};this._outJobs.set(r,o),this._post({type:U,jobId:r,modulePath:e})}))}_onMessage(e){const t=(0,g.mO)(e);if(t)switch(t.type){case A:this._onOpenedMessage(t);break;case T:this._onResponseMessage(t);break;case O:this._onAbortMessage(t);break;case R:this._onInvokeMessage(t)}}_onAbortMessage(e){const t=this._inJobs,s=e.jobId,r=t.get(s);r&&(r.controller&&r.controller.abort(),t.delete(s))}_onInvokeMessage(e){const{methodName:t,jobId:s,data:r,abortable:i}=e,o=i?new AbortController:null,a=this._inJobs,l=p[t];let h;try{if("function"!=typeof l)throw new TypeError(`${t} is not a function`);h=l.call(null,r,{signal:o?o.signal:null})}catch(e){return void this._post({type:T,jobId:s,error:(0,g.O)(e)})}(0,n.eW)(h)?(a.set(s,{controller:o,promise:h}),h.then((e=>{a.has(s)&&(a.delete(s),this._post({type:T,jobId:s},e))}),(e=>{a.has(s)&&(a.delete(s),e||(e={message:"Error encountered at method"+t}),(0,n.mA)(e)||this._post({type:T,jobId:s,error:(0,g.O)(e||{message:`Error encountered at method ${t}`})}))}))):this._post({type:T,jobId:s},h)}_onOpenedMessage(e){const{jobId:t,data:s}=e,r=this._outJobs.get(t);r&&(this._outJobs.delete(t),(0,c.oR)(r.abortHandle),r.resolve(s))}_onResponseMessage(e){const{jobId:t,error:s,data:i}=e,n=this._outJobs.get(t);n&&(this._outJobs.delete(t),(0,c.oR)(n.abortHandle),s?n.reject(r.c.fromJSON(JSON.parse(s))):n.resolve(i))}_post(e,t,s){return(0,g.E9)(this.worker,e,t,s)}}const x=(0,i.c)("host-browser")?Math.min(navigator.hardwareConcurrency-1,(0,i.c)("workers-pool-size")):0;let N=(0,i.c)("esri-mobile")?Math.min(x,3):x;N||(N=(0,i.c)("safari")&&(0,i.c)("mac")?7:2);let D=0;const j=[];async function H(e,t){const s=new o.c,{registryTarget:r,...i}=t;return await s.open(e,i),r&&(0,a.s)(r,s),s}async function V(e,t={}){if("string"!=typeof e)throw new r.c("workers:undefined-module","modulePath is missing");let s=t.strategy||"distributed";if((0,i.c)("host-webworker")&&!(0,i.c)("esri-workers")&&(s="local"),"local"===s){let s=await l.default.loadWorker(e);s||(s=await import(e)),(0,n.wp)(t.signal);const r=t.client||s;return H([l.default.connect(s)],{...t,client:r})}if(await async function(){if(W)return W;F=new AbortController;const e=[];for(let t=0;t<N;t++){const s=C.create(t).then((e=>(j[t]=e,e)));e.push(s)}return W=Promise.all(e),W}(),(0,n.wp)(t.signal),"dedicated"===s){const s=D++%N;return H([await j[s].open(e,t)],t)}if(t.maxNumWorkers&&t.maxNumWorkers>0){const s=Math.min(t.maxNumWorkers,N);if(s<N){const r=new Array(s);for(let i=0;i<s;++i){const s=D++%N;r[i]=j[s].open(e,t)}return H(r,t)}}return H(j.map((s=>s.open(e,t))),t)}let F,W=null},13819:(e,t,s)=>{s.d(t,{c:()=>v});var r,i=s(41948),n=s(92400),o=s(14628),a=s(40504),l=s(24296),h=s(69504),c=s(1580),u=(s(9456),s(66360),s(33600)),d=s(12552),p=s(18996);const g=(0,o.w)()({orthometric:"gravity-related-height",gravity_related_height:"gravity-related-height",ellipsoidal:"ellipsoidal"}),m=g.jsonValues.slice();(0,n.sH)(m,"orthometric");const f=(0,o.w)()({meter:"meters",foot:"feet","us-foot":"us-feet","clarke-foot":"clarke-feet","clarke-yard":"clarke-yards","clarke-link":"clarke-links","sears-yard":"sears-yards","sears-foot":"sears-feet","sears-chain":"sears-chains","benoit-1895-b-chain":"benoit-1895-b-chains","indian-yard":"indian-yards","indian-1937-yard":"indian-1937-yards","gold-coast-foot":"gold-coast-feet","sears-1922-truncated-chain":"sears-1922-truncated-chains","50-kilometers":"50-kilometers","150-kilometers":"150-kilometers"});let y=r=class extends a.am{constructor(e){super(e),this.heightModel="gravity-related-height",this.heightUnit="meters",this.vertCRS=null}writeHeightModel(e,t,s){return g.write(e,t,s)}readHeightModel(e,t,s){return g.read(e)||(s?.messages&&s.messages.push(function(e,t){return new h.c("height-model:unsupported",`Height model of value '${e}' is not supported`,t)}(e,{context:s})),null)}readHeightUnit(e,t,s){return f.read(e)||(s?.messages&&s.messages.push(_(e,{context:s})),null)}readHeightUnitService(e,t,s){return(0,l.oG)(e)||f.read(e)||(s?.messages&&s.messages.push(_(e,{context:s})),null)}readVertCRS(e,t){return t.vertCRS||t.ellipsoid||t.geoid}clone(){return new r({heightModel:this.heightModel,heightUnit:this.heightUnit,vertCRS:this.vertCRS})}equals(e){return!!e&&(this===e||this.heightModel===e.heightModel&&this.heightUnit===e.heightUnit&&this.vertCRS===e.vertCRS)}static deriveUnitFromSR(e,t){const s=(0,l._2)(t);return new r({heightModel:e.heightModel,heightUnit:s??void 0,vertCRS:e.vertCRS})}write(e,t){return t={origin:"web-scene",...t},super.write(e,t)}static fromJSON(e){if(!e)return null;const t=new r;return t.read(e,{origin:"web-scene"}),t}};function _(e,t){return new h.c("height-unit:unsupported",`Height unit of value '${e}' is not supported`,t)}(0,i._)([(0,c.qq)({type:g.apiValues,constructOnly:!0,json:{origins:{"web-scene":{type:m,default:"ellipsoidal"}}}})],y.prototype,"heightModel",void 0),(0,i._)([(0,p.G)("web-scene","heightModel")],y.prototype,"writeHeightModel",null),(0,i._)([(0,u.E)(["web-scene","service"],"heightModel")],y.prototype,"readHeightModel",null),(0,i._)([(0,c.qq)({type:f.apiValues,constructOnly:!0,json:{origins:{"web-scene":{type:f.jsonValues,write:f.write}}}})],y.prototype,"heightUnit",void 0),(0,i._)([(0,u.E)("web-scene","heightUnit")],y.prototype,"readHeightUnit",null),(0,i._)([(0,u.E)("service","heightUnit")],y.prototype,"readHeightUnitService",null),(0,i._)([(0,c.qq)({type:String,constructOnly:!0,json:{origins:{"web-scene":{write:!0}}}})],y.prototype,"vertCRS",void 0),(0,i._)([(0,u.E)("service","vertCRS",["vertCRS","ellipsoid","geoid"])],y.prototype,"readVertCRS",null),y=r=(0,i._)([(0,d.c)("esri.geometry.HeightModelInfo")],y);const v=y},47104:(e,t,s)=>{s.r(t),s.d(t,{default:()=>L});var r=s(41948),i=s(2600),n=s(20744),o=s(70680),a=s(26496),l=s(10860),h=s(28176),c=s(1580),u=(s(9456),s(66360)),d=(s(72052),s(33600)),p=s(12552),g=s(13819),m=s(81436),f=s(54664),y=s(16660),_=s(66576),v=s(98768),b=s(21488);class w{constructor(e,t,s,r){this._hasNoDataValues=null,this._minValue=null,this._maxValue=null,"pixelData"in e?(this.values=e.pixelData,this.width=e.width,this.height=e.height,this.noDataValue=e.noDataValue):(this.values=e,this.width=t,this.height=s,this.noDataValue=r)}get hasNoDataValues(){if(null==this._hasNoDataValues){const e=this.noDataValue;this._hasNoDataValues=this.values.includes(e)}return this._hasNoDataValues}get minValue(){return this._ensureBounds(),this._minValue}get maxValue(){return this._ensureBounds(),this._maxValue}_ensureBounds(){if(null!=this._minValue)return;const{noDataValue:e,values:t}=this;let s=1/0,r=-1/0,i=!0;for(const n of t)n===e?this._hasNoDataValues=!0:(s=n<s?n:s,r=n>r?n:r,i=!1);i?(this._minValue=0,this._maxValue=0):(this._minValue=s,this._maxValue=r>-3e38?r:0)}}var k=s(92400),E=s(38912),S=s(35268);class P{constructor(e,t,s,r,i={}){this._mainMethod=t,this._transferLists=s,this._listeners=[],this._promise=(0,S.eU)(e,{...i,schedule:r}).then((e=>{if(void 0===this._thread){this._thread=e,this._promise=null,i.hasInitialize&&this.broadcast({},"initialize");for(const e of this._listeners)this._connectListener(e)}else e.close()})),this._promise.catch((t=>u.c.getLogger("esri.core.workers.WorkerHandle").error(`Failed to initialize ${e} worker: ${t}`)))}on(e,t){const s={removed:!1,eventName:e,callback:t,threadHandle:null};return this._listeners.push(s),this._connectListener(s),(0,E.uU)((()=>{s.removed=!0,(0,k.aE)(this._listeners,s),this._thread&&null!=s.threadHandle&&s.threadHandle.remove()}))}destroy(){this._thread&&(this._thread.close(),this._thread=null),this._promise=null,this._listeners.length=0,this._transferLists={}}invoke(e,t){return this.invokeMethod(this._mainMethod,e,t)}invokeMethod(e,t,s){if(this._thread){const r=this._transferLists[e],i=r?r(t):[];return this._thread.invoke(e,t,{transferList:i,signal:s})}return this._promise?this._promise.then((()=>((0,l.wp)(s),this.invokeMethod(e,t,s)))):Promise.reject(null)}broadcast(e,t){return this._thread?Promise.all(this._thread.broadcast(t,e)).then((()=>{})):this._promise?this._promise.then((()=>this.broadcast(e,t))):Promise.reject()}get promise(){return this._promise}_connectListener(e){this._thread&&this._thread.on(e.eventName,e.callback).then((t=>{e.removed||(e.threadHandle=t)}))}}class q extends P{constructor(e=null){super("LercWorker","_decode",{_decode:e=>[e.buffer]},e,{strategy:"dedicated"}),this.schedule=e,this.ref=0}decode(e,t,s){return e&&0!==e.byteLength?this.invoke({buffer:e,options:t},s):Promise.resolve(null)}release(){--this.ref<=0&&(I.forEach(((e,t)=>{e===this&&I.delete(t)})),this.destroy())}}const I=new Map;let M=class extends((0,f.k)((0,y.u)((0,_.Y)((0,v.K)((0,a.U)(m.c)))))){constructor(...e){super(...e),this.capabilities={operations:{supportsTileMap:!1}},this.copyright=null,this.heightModelInfo=null,this.path=null,this.minScale=void 0,this.maxScale=void 0,this.opacity=1,this.operationalLayerType="ArcGISTiledElevationServiceLayer",this.sourceJSON=null,this.type="elevation",this.url=null,this.version=null,this._lercDecoder=function(e=null){let t=I.get(e);return t||(null!=e?(t=new q((t=>e.immediate.schedule(t))),I.set(e,t)):(t=new q,I.set(null,t))),++t.ref,t}()}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}destroy(){this._lercDecoder=(0,o.gT)(this._lercDecoder)}readCapabilities(e,t){const s=t.capabilities&&t.capabilities.split(",").map((e=>e.toLowerCase().trim()));return s?{operations:{supportsTileMap:s.includes("tilemap")}}:{operations:{supportsTileMap:!1}}}readVersion(e,t){let s=t.currentVersion;return s||(s=9.3),s}load(e){const t=null!=e?e.signal:null;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Image Service"],supportsData:!1,validateItem:e=>{if(e.typeKeywords)for(let t=0;t<e.typeKeywords.length;t++)if("elevation 3d layer"===e.typeKeywords[t].toLowerCase())return!0;throw new n.c("portal:invalid-layer-item-type","Invalid layer item type '${type}', expected '${expectedType}' ",{type:"Image Service",expectedType:"Image Service Elevation 3D Layer"})}},e).catch(l.CE).then((()=>this._fetchImageService(t)))),Promise.resolve(this)}fetchTile(e,t,s,r){const n=null!=(r=r||{signal:null}).signal?r.signal:r.signal=(new AbortController).signal,o={responseType:"array-buffer",signal:n},a={noDataValue:r.noDataValue,returnFileInfo:!0};return this.load().then((()=>this._fetchTileAvailability(e,t,s,r))).then((()=>(0,i.c)(this.getTileUrl(e,t,s),o))).then((e=>this._lercDecoder.decode(e.data,a,n))).then((e=>new w(e)))}getTileUrl(e,t,s){const r=!this.capabilities.operations.supportsTileMap&&this.supportsBlankTile,i=(0,h.GK)({...this.parsedUrl.query,blankTile:!r&&null});return`${this.parsedUrl.path}/tile/${e}/${t}/${s}${i?"?"+i:""}`}async queryElevation(e,t){const{ElevationQuery:r}=await s.e(2984).then(s.bind(s,12984));return(0,l.wp)(t),(new r).query(this,e,t)}async createElevationSampler(e,t){const{ElevationQuery:r}=await s.e(2984).then(s.bind(s,12984));return(0,l.wp)(t),(new r).createSampler(this,e,t)}_fetchTileAvailability(e,t,s,r){return this.tilemapCache?this.tilemapCache.fetchAvailability(e,t,s,r):Promise.resolve("unknown")}async _fetchImageService(e){if(this.sourceJSON)return this.sourceJSON;const t={query:{f:"json",...this.parsedUrl.query},responseType:"json",signal:e},s=await(0,i.c)(this.parsedUrl.path,t);s.ssl&&(this.url=this.url?.replace(/^http:/i,"https:")),this.sourceJSON=s.data,this.read(s.data,{origin:"service",url:this.parsedUrl})}get hasOverriddenFetchTile(){return!this.fetchTile[z]}};(0,r._)([(0,c.qq)({readOnly:!0})],M.prototype,"capabilities",void 0),(0,r._)([(0,d.E)("service","capabilities",["capabilities"])],M.prototype,"readCapabilities",null),(0,r._)([(0,c.qq)({json:{read:{source:"copyrightText"}}})],M.prototype,"copyright",void 0),(0,r._)([(0,c.qq)({readOnly:!0,type:g.c})],M.prototype,"heightModelInfo",void 0),(0,r._)([(0,c.qq)({type:String,json:{origins:{"web-scene":{read:!0,write:!0}},read:!1}})],M.prototype,"path",void 0),(0,r._)([(0,c.qq)({type:["show","hide"]})],M.prototype,"listMode",void 0),(0,r._)([(0,c.qq)({json:{read:!1,write:!1,origins:{service:{read:!1,write:!1},"portal-item":{read:!1,write:!1},"web-document":{read:!1,write:!1}}},readOnly:!0})],M.prototype,"minScale",void 0),(0,r._)([(0,c.qq)({json:{read:!1,write:!1,origins:{service:{read:!1,write:!1},"portal-item":{read:!1,write:!1},"web-document":{read:!1,write:!1}}},readOnly:!0})],M.prototype,"maxScale",void 0),(0,r._)([(0,c.qq)({json:{read:!1,write:!1,origins:{"web-document":{read:!1,write:!1}}}})],M.prototype,"opacity",void 0),(0,r._)([(0,c.qq)({type:["ArcGISTiledElevationServiceLayer"]})],M.prototype,"operationalLayerType",void 0),(0,r._)([(0,c.qq)()],M.prototype,"sourceJSON",void 0),(0,r._)([(0,c.qq)({json:{read:!1},value:"elevation",readOnly:!0})],M.prototype,"type",void 0),(0,r._)([(0,c.qq)(b.qW)],M.prototype,"url",void 0),(0,r._)([(0,c.qq)()],M.prototype,"version",void 0),(0,r._)([(0,d.E)("version",["currentVersion"])],M.prototype,"readVersion",null),M=(0,r._)([(0,p.c)("esri.layers.ElevationLayer")],M);const z=Symbol("default-fetch-tile");M.prototype.fetchTile[z]=!0;const L=M},81436:(e,t,s)=>{s.d(t,{c:()=>v});var r=s(41948),i=(s(60708),s(2600)),n=s(20744),o=s(77860),a=s(22156),l=s(95800),h=s(66360),c=s(10860),u=s(28176),d=s(1580),p=(s(9456),s(72052),s(12552)),g=s(6220),m=s(95247),f=s(56156);let y=0,_=class extends(o.c.EventedMixin((0,a.MR)(l.c))){constructor(){super(...arguments),this.attributionDataUrl=null,this.fullExtent=new m.c(-180,-90,180,90,f.c.WGS84),this.id=Date.now().toString(16)+"-layer-"+y++,this.legendEnabled=!0,this.listMode="show",this.opacity=1,this.parent=null,this.persistenceEnabled=!1,this.popupEnabled=!0,this.attributionVisible=!0,this.spatialReference=f.c.WGS84,this.title=null,this.type=null,this.url=null,this.visible=!0}static async fromArcGISServerUrl(e){const t="string"==typeof e?{url:e}:e;return(await s.e(9232).then(s.bind(s,69232))).fromUrl(t)}static fromPortalItem(e){return async function(e){const t="portalItem"in e?e:{portalItem:e},{fromItem:r}=await s.e(2259).then(s.bind(s,12259));try{return await r(t)}catch(e){const s=t&&t.portalItem,r=s?.id||"unset",i=s&&s.portal&&s.portal.url||g.default.portalUrl;throw h.c.getLogger("esri.layers.support.fromPortalItem").error("#fromPortalItem()","Failed to create layer from portal item (portal: '"+i+"', id: '"+r+"')",e),e}}(e)}initialize(){this.when().catch((e=>{(0,c.mA)(e)||h.c.getLogger(this).error("#load()",`Failed to load layer (title: '${this.title??"no title"}', id: '${this.id??"no id"}')`,{error:e})}))}destroy(){const e=this.parent;if(e){const t=this;"layers"in e&&e.layers.includes(t)?e.layers.remove(t):"tables"in e&&e.tables.includes(t)?e.tables.remove(t):"baseLayers"in e&&e.baseLayers.includes(t)?e.baseLayers.remove(t):"referenceLayers"in e&&e.referenceLayers.includes(t)&&e.referenceLayers.remove(t),this._set("parent",null)}}get hasAttributionData(){return null!=this.attributionDataUrl}get parsedUrl(){return(0,u.as)(this.url)}async fetchAttributionData(){const e=this.attributionDataUrl;if(this.hasAttributionData&&e)return(await(0,i.c)(e,{query:{f:"json"},responseType:"json"})).data;throw new n.c("layer:no-attribution-data","Layer does not have attribution data")}};(0,r._)([(0,d.qq)({type:String})],_.prototype,"attributionDataUrl",void 0),(0,r._)([(0,d.qq)({type:m.c})],_.prototype,"fullExtent",void 0),(0,r._)([(0,d.qq)({readOnly:!0})],_.prototype,"hasAttributionData",null),(0,r._)([(0,d.qq)({type:String,clonable:!1})],_.prototype,"id",void 0),(0,r._)([(0,d.qq)({type:Boolean,nonNullable:!0})],_.prototype,"legendEnabled",void 0),(0,r._)([(0,d.qq)({type:["show","hide","hide-children"]})],_.prototype,"listMode",void 0),(0,r._)([(0,d.qq)({type:Number,range:{min:0,max:1},nonNullable:!0})],_.prototype,"opacity",void 0),(0,r._)([(0,d.qq)({clonable:!1})],_.prototype,"parent",void 0),(0,r._)([(0,d.qq)({readOnly:!0})],_.prototype,"parsedUrl",null),(0,r._)([(0,d.qq)({type:Boolean,readOnly:!0})],_.prototype,"persistenceEnabled",void 0),(0,r._)([(0,d.qq)({type:Boolean})],_.prototype,"popupEnabled",void 0),(0,r._)([(0,d.qq)({type:Boolean})],_.prototype,"attributionVisible",void 0),(0,r._)([(0,d.qq)({type:f.c})],_.prototype,"spatialReference",void 0),(0,r._)([(0,d.qq)({type:String})],_.prototype,"title",void 0),(0,r._)([(0,d.qq)({readOnly:!0,json:{read:!1}})],_.prototype,"type",void 0),(0,r._)([(0,d.qq)()],_.prototype,"url",void 0),(0,r._)([(0,d.qq)({type:Boolean,nonNullable:!0})],_.prototype,"visible",void 0),_=(0,r._)([(0,p.c)("esri.layers.Layer")],_);const v=_},98768:(e,t,s)=>{s.d(t,{K:()=>k});var r=s(41948),i=s(6220),n=s(47620),o=s(2600),a=s(40196),l=s(20744),h=s(66360),c=s(70680),u=s(10860),d=s(28176),p=s(1580),g=(s(9456),s(72052),s(33600)),m=s(12552),f=s(18996),y=s(71068),_=s(54872),v=s(9764),b=s(53039),w=s(46940);const k=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.mG)(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,s){if(t.itemId)return new v.default({id:t.itemId,portal:s?.portal})}writePortalItem(e,t){e?.id&&(t.itemId=e.id)}async loadFromPortal(e,t){if(this.portalItem?.id)try{const{load:r}=await Promise.all([s.e(8828),s.e(4132)]).then(s.bind(s,94132));return(0,u.wp)(t),await r({instance:this,supportedTypes:e.supportedTypes,validateItem:e.validateItem,supportsData:e.supportsData,layerModuleTypeMap:e.layerModuleTypeMap},t)}catch(e){throw(0,u.mA)(e)||h.c.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,u.CE)(e),!0))))}async setUserPrivileges(e,t){if(!i.default.userPrivilegesApplied)return this.finishLoadEditablePortalLayer(t);if(this.url)try{const{features:{edit:s,fullEdit:r},content:{updateItem:i}}=await this._fetchUserPrivileges(e,t);this._set("userHasEditingPrivileges",s),this._set("userHasFullEditingPrivileges",r),this._set("userHasUpdateItemPrivileges",i)}catch(e){(0,u.CE)(e)}}async _fetchUserPrivileges(e,t){let s=this.portalItem;if(!e||!s||!s.loaded||s.sourceUrl)return this._fetchFallbackUserPrivileges(t);const r=e===s.id;if(r&&s.portal.user)return(0,w.CI)(s);let i,o;if(r)i=s.portal.url;else try{i=await(0,y.mK)(this.url,t)}catch(e){(0,u.CE)(e)}if(!i||!(0,d.Cs)(i,s.portal.url))return this._fetchFallbackUserPrivileges(t);try{const e=null!=t?t.signal:null;o=await(n.id?.getCredential(`${i}/sharing`,{prompt:!1,signal:e}))}catch(e){(0,u.CE)(e)}if(!o)return{features:{edit:!0,fullEdit:!1},content:{updateItem:!1}};try{if(r?await s.reload():(s=new v.default({id:e,portal:{url:i}}),await s.load(t)),s.portal.user)return(0,w.CI)(s)}catch(e){(0,u.CE)(e)}return{features:{edit:!0,fullEdit:!1},content:{updateItem:!1}}}async _fetchFallbackUserPrivileges(e){let t=!0;try{t=await this._fetchUserHasEditingPrivileges(e)}catch(e){(0,u.CE)(e)}return{features:{edit:t,fullEdit:!1},content:{updateItem:!1}}}async _fetchUserHasEditingPrivileges(e){const t=this.url?n.id?.findCredential(this.url):null;if(!t)return!0;const s=E.credential===t?E.user:await this._fetchEditingUser(e);return E.credential=t,E.user=s,null==s?.privileges||s.privileges.includes("features:user:edit")}async _fetchEditingUser(e){const t=this.portalItem?.portal?.user;if(t)return t;const s=n.id.findServerInfo(this.url??"");if(!s?.owningSystemUrl)return null;const r=`${s.owningSystemUrl}/sharing/rest`,i=_.c.getDefault();if(i&&i.loaded&&(0,d.k7)(i.restUrl)===(0,d.k7)(r))return i.user;const l=`${r}/community/self`,h=null!=e?e.signal:null,c=await(0,a.aG)((0,o.c)(l,{authMode:"no-prompt",query:{f:"json"},signal:h}));return c.ok?b.c.fromJSON(c.value.data):null}read(e,t){t&&(t.layer=this),super.read(e,t)}write(e,t){const s=t?.portal,r=this.portalItem?.id&&(this.portalItem.portal||_.c.getDefault());return s&&r&&!(0,d.kF)(r.restUrl,s.restUrl)?(t.messages&&t.messages.push(new l.c("layer:cross-portal",`The layer '${this.title} (${this.id})' cannot be persisted because it refers to an item on a different portal than the one being saved to. To save, set layer.portalItem to null or save to the same portal as the item associated with the layer`,{layer:this})),null):super.write(e,{...t,layer:this})}};return(0,r._)([(0,p.qq)({type:v.default})],t.prototype,"portalItem",null),(0,r._)([(0,g.E)("web-document","portalItem",["itemId"])],t.prototype,"readPortalItem",null),(0,r._)([(0,f.G)("web-document","portalItem",{itemId:{type:String}})],t.prototype,"writePortalItem",null),(0,r._)([(0,p.qq)({clonable:!1})],t.prototype,"resourceReferences",void 0),(0,r._)([(0,p.qq)({type:Boolean,readOnly:!0})],t.prototype,"userHasEditingPrivileges",void 0),(0,r._)([(0,p.qq)({type:Boolean,readOnly:!0})],t.prototype,"userHasFullEditingPrivileges",void 0),(0,r._)([(0,p.qq)({type:Boolean,readOnly:!0})],t.prototype,"userHasUpdateItemPrivileges",void 0),t=(0,r._)([(0,m.c)("esri.layers.mixins.PortalLayer")],t),t},E={credential:null,user:null}}}]);
|