@arcgis/core 4.32.0-next.20241026 → 4.32.0-next.20241028
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
var RemoteClient;(()=>{var e={2131:(e,t,r)=>{r.p=self.esriConfig.assetsPath+"/esri/core/workers/"},90237:(e,t,r)=>{"use strict";function n(e,t,r,n){var s,o=arguments.length,i=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(i=(o<3?s(i):o>3?s(t,r,i):s(t,r))||i);return o>3&&i&&Object.defineProperty(t,r,i),i}function s(e,t){return function(r,n){t(r,n,e)}}r.d(t,{_:()=>n,a:()=>s}),"function"==typeof SuppressedError&&SuppressedError},92602:(e,t,r)=>{"use strict";r.d(t,{A:()=>o}),r(44208);var n=r(93637),s=r(18357);const o={apiKey:void 0,applicationName:"",applicationUrl:globalThis.location?.href,assetsPath:"",fontsUrl:"https://static.arcgis.com/fonts",geometryServiceUrl:"https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer",geoRSSServiceUrl:"https://utility.arcgis.com/sharing/rss",kmlServiceUrl:"https://utility.arcgis.com/sharing/kml",userPrivilegesApplied:!0,portalUrl:"https://www.arcgis.com",respectPrefersReducedMotion:!0,routeServiceUrl:"https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World",workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{crossOriginNoCorsDomains:null,httpsDomains:["arcgis.com","arcgisonline.com","esrikr.com","premiumservices.blackbridge.com","esripremium.accuweather.com","gbm.digitalglobe.com","firstlook.digitalglobe.com","msi.digitalglobe.com"],interceptors:[],internalInterceptors:[],maxUrlLength:2e3,priority:"high",proxyRules:[],proxyUrl:null,timeout:62e3,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};if(globalThis.esriConfig&&((0,n.$N)(o,globalThis.esriConfig,!0),delete o.has),!o.assetsPath){{const e="4.32.0";o.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@${e}-next.${s.$}/assets`}o.defaultAssetsPath=o.assetsPath}},69622:(e,t,r)=>{"use strict";r.d(t,{A:()=>I});var n=r(71511),s=r(97768),o=r(56454),i=r(16649),a=r(45873),c=r(96156),l=(r(44208),r(4718)),u=(r(53966),r(93687)),f=r(11406),d=r(35666),h=r(62788),p=r(47328),g=r(67867);class y extends f.T{constructor(e,t){super(),this.propertyName=e,this.metadata=t,this.trackingTarget=new g.R(this),this.flags=0,this.flags=p.i.Dirty|(t.nonNullable?p.i.NonNullable:0)|(t.hasOwnProperty("value")?p.i.HasDefaultValue:0)|(void 0===t.get?p.i.DepTrackingInitialized:0)|(void 0===t.dependsOn?p.i.AutoTracked:0)}destroy(){this.flags&p.i.Dirty&&this.onCommitted(),super.destroy(),this.trackingTarget.destroy()}getComputed(e){e.mutable&&(0,h.gc)(this);const t=e.store,r=this.propertyName,n=this.flags,s=t.get(r);if(n&p.i.Computing)return s;if(~n&p.i.Dirty&&t.has(r))return s;this.flags|=p.i.Computing;const o=e.host;let i;n&p.i.AutoTracked?i=(0,h.a)(this.trackingTarget,this.metadata.get,o):((0,h.Xr)(o,this),i=this.metadata.get.call(o)),this.flags|=p.i.DepTrackingInitialized,t.set(r,i,d.Gr.COMPUTED);const a=t.get(r);return a===s?this.flags&=~p.i.Dirty:(0,h.F_)(this.commit,this),this.flags&=~p.i.Computing,a}notifyChange(){this.onInvalidated(),this.onCommitted()}invalidate(){this.onInvalidated()}commit(){this.flags&=~p.i.Dirty,this.onCommitted()}onInvalidated(){~this.flags&p.i.Overridden&&(this.flags|=p.i.Dirty);const e=this._observers;if(e&&e.length>0)for(const t of e)t.onInvalidated()}onCommitted(){const e=this._observers;if(e&&e.length>0){const t=e.slice();for(const e of t)e.onCommitted()}}}class m{constructor(){this._values=new Map,this.multipleOriginsSupported=!1}clone(e){const t=new m;return this._values.forEach(((r,n)=>{e&&e.has(n)||t.set(n,(0,l.o8)(r))})),t}get(e){return this._values.get(e)}originOf(){return d.Gr.USER}keys(){return[...this._values.keys()]}set(e,t){this._values.set(e,t)}delete(e){this._values.delete(e)}has(e){return this._values.has(e)}forEach(e){this._values.forEach(e)}}function b(e,t,r){return void 0!==e}function _(e,t,r,n){return!(void 0===e||null==r&&e.flags&p.i.NonNullable&&(n.lifecycle,a.v.INITIALIZING,1))}class v{constructor(e){this.host=e,this.propertiesByName=new Map,this.ctorArgs=null,this.lifecycle=a.v.INITIALIZING,this.store=new m,this.mutable=!0,this._origin=d.Gr.USER;const t=this.host.constructor.__accessorMetadata__;for(const e in t){const r=new y(e,t[e]);this.propertiesByName.set(e,r)}this.metadata=t}initialize(){this.lifecycle=a.v.CONSTRUCTING}constructed(){this.lifecycle=a.v.CONSTRUCTED}destroy(){this.lifecycle=a.v.DESTROYED,this.propertiesByName.forEach((e=>e.destroy()))}get initialized(){return this.lifecycle!==a.v.INITIALIZING}get(e){const t=this.propertiesByName.get(e);if(t.metadata.get)return t.getComputed(this);this.mutable&&(0,h.gc)(t);const r=this.store;return r.has(e)?r.get(e):t.metadata.value}originOf(e){const t=this.store.originOf(e);if(void 0===t){const t=this.propertiesByName.get(e);if(void 0!==t&&t.flags&p.i.HasDefaultValue)return"defaults"}return(0,d.OL)(t)}has(e){return this.propertiesByName.has(e)&&this.store.has(e)}keys(){return[...this.propertiesByName.keys()]}internalGet(e){const t=this.propertiesByName.get(e);if(b(t))return this.store.has(e)?this.store.get(e):t.metadata.value}internalSet(e,t){const r=this.propertiesByName.get(e);b(r)&&this._internalSet(r,t)}getDependsInfo(e,t,r){const n=this.propertiesByName.get(t);if(!b(n))return"";const s=new g.R,o=(0,h.a)(s,(()=>n.metadata.get?.call(e)));let i=`${r}${e.declaredClass.split(".").pop()}.${t}: ${o}\n`;const a=s.accessed??new Set;if(0===a.size)return i;r+=" ";for(const e of a)e instanceof y&&(i+=`${r}${e.propertyName}: undefined\n`);return i}setAtOrigin(e,t,r){const n=this.propertiesByName.get(e);if(b(n))return this._setAtOrigin(n,t,r)}isOverridden(e){const t=this.propertiesByName.get(e);return void 0!==t&&!!(t.flags&p.i.Overridden)}clearOverride(e){const t=this.propertiesByName.get(e);t&&t.flags&p.i.Overridden&&(t.flags&=~p.i.Overridden,t.notifyChange())}override(e,t){const r=this.propertiesByName.get(e);if(!_(r,0,t,this))return;const n=r.metadata.cast;if(n){const e=this._cast(n,t),{valid:r,value:s}=e;if(w.release(e),!r)return;t=s}r.flags|=p.i.Overridden,this._internalSet(r,t)}set(e,t){const r=this.propertiesByName.get(e);if(!_(r,0,t,this))return;const n=r.metadata.cast;if(n){const e=this._cast(n,t),{valid:r,value:s}=e;if(w.release(e),!r)return;t=s}const s=r.metadata.set;s?s.call(this.host,t):this._internalSet(r,t)}setDefaultOrigin(e){this._origin=(0,d.aB)(e)}getDefaultOrigin(){return(0,d.OL)(this._origin)}notifyChange(e){const t=this.propertiesByName.get(e);void 0!==t&&t.notifyChange()}invalidate(e){const t=this.propertiesByName.get(e);void 0!==t&&t.invalidate()}commit(e){const t=this.propertiesByName.get(e);void 0!==t&&t.commit()}_internalSet(e,t){const r=this.lifecycle!==a.v.INITIALIZING?this._origin:d.Gr.DEFAULTS;this._setAtOrigin(e,t,r)}_setAtOrigin(e,t,r){const n=this.store,s=e.propertyName;n.has(s,r)&&(0,l.aI)(t,n.get(s))&&~e.flags&p.i.Overridden&&r===n.originOf(s)||(e.invalidate(),n.set(s,t,r),e.commit(),(0,h.fE)(this.host,e))}_cast(e,t){const r=w.acquire();return r.valid=!0,r.value=t,e&&(r.value=e.call(this.host,t,r)),r}}const w=new u.A(class{constructor(){this.value=null,this.valid=!0}acquire(){this.valid=!0}release(){this.value=null}});var A=r(47821);var O;!function(e){e[e.Ignore=0]="Ignore",e[e.Destroy=1]="Destroy",e[e.ThrowError=2]="ThrowError"}(O||(O={}));var k,S,E=r(14012),T=r(10107),N=r(40608);function j(e){if(null==e)return{value:e};if(Array.isArray(e))return{type:[e[0]],value:null};switch(typeof e){case"object":return e.constructor?.__accessorMetadata__||e instanceof Date?{type:e.constructor,value:e}:e;case"boolean":return{type:Boolean,value:e};case"string":return{type:String,value:e};case"number":return{type:Number,value:e};case"function":return{type:e,value:null};default:return}}const P=Symbol("Accessor-Handles"),C=Symbol("Accessor-Initialized");class I{static createSubclass(e={}){if(Array.isArray(e))throw new Error("Multi-inheritance unsupported since 4.16");const{properties:t,declaredClass:r,constructor:n}=e;delete e.declaredClass,delete e.properties,delete e.constructor;const s=this;class o extends s{constructor(...e){super(...e),this.inherited=null,n&&n.apply(this,e)}}(0,c.tD)(o.prototype);for(const t in e){const r=e[t];o.prototype[t]="function"==typeof r?function(...e){const n=this.inherited;let o;this.inherited=function(...e){if(s.prototype[t])return s.prototype[t].apply(this,e)};try{o=r.apply(this,e)}catch(e){throw this.inherited=n,e}return this.inherited=n,o}:e[t]}for(const e in t){const r=j(t[e]);(0,T.MZ)(r)(o.prototype,e)}return(0,N.$)(r)(o)}static freeze(e){return e instanceof I?e.__accessor__.mutable=!1:Object.freeze(e),e}static isFrozen(e){return e instanceof I?!e.__accessor__.mutable:Object.isFrozen(e)}constructor(...e){if(this[k]=null,this[S]=!1,this.constructor===I)throw new Error("[accessor] cannot instantiate Accessor. This can be fixed by creating a subclass of Accessor");const t=new v(this);Object.defineProperty(this,"__accessor__",{enumerable:!1,value:t}),e.length>0&&(t.ctorArgs=this.normalizeCtorArgs?.apply(this,e)??e[0])}postscript(){const e=this.__accessor__,t=e.ctorArgs;e.initialize(),t&&(this.set(t),e.ctorArgs=null),e.constructed(),this.initialize(),this[C]=!0}initialize(){}[o.G](){this[P]=(0,s.pR)(this[P])}destroy(){this.destroyed||((0,E.iS)(this),this.__accessor__.destroy())}[Symbol.dispose](){this.destroy()}get constructed(){return this.__accessor__&&this.__accessor__.initialized||!1}get initialized(){return this[C]}get destroyed(){return this.__accessor__?.lifecycle===a.v.DESTROYED||!1}commitProperty(e){(0,i.Jt)(this,e)}hasOwnProperty(e){return this.__accessor__?this.__accessor__.has(e):Object.prototype.hasOwnProperty.call(this,e)}keys(){return this.__accessor__?this.__accessor__.keys():[]}set(e,t){return(0,A.h)(this,e,t),this}watch(e,t,r){return(0,E.wB)(this,e,t,r)}addHandles(e,t){if(this.destroyed){const t=Array.isArray(e)?e:[e];for(const e of t)e.remove()}else(this[P]??=new n.A).add(e,t)}removeHandles(e){this[P]?.remove(e)}removeAllHandles(){this[P]?.removeAll()}removeHandlesReference(e){this[P]?.removeReference(e)}hasHandles(e){return!0===this[P]?.has(e)}_override(e,t){void 0===t?this.__accessor__.clearOverride(e):this.__accessor__.override(e,t)}_clearOverride(e){return this.__accessor__.clearOverride(e)}_overrideIfSome(e,t){null==t?this.__accessor__.clearOverride(e):this.__accessor__.override(e,t)}_isOverridden(e){return this.__accessor__.isOverridden(e)}notifyChange(e){this.__accessor__.notifyChange(e)}_get(e){return this.__accessor__.internalGet(e)}_set(e,t){return this.__accessor__.internalSet(e,t),this}}k=P,S=C},98291:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(93687);function s(e){e.length=0}class o{constructor(e=50,t=50){this._pool=new n.A(Array,void 0,s,t,e)}acquire(){return this._pool.acquire()}release(e){this._pool.release(e)}prune(){this._pool.prune(0)}static acquire(){return i.acquire()}static release(e){return i.release(e)}static prune(){i.prune()}}const i=new o(100)},49186:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(4718),s=r(53966),o=r(79907);class i extends o.A{constructor(e,t,r){super(e,t,r)}toJSON(){if(null!=this.details)try{return{name:this.name,message:this.message,details:JSON.parse(JSON.stringify(this.details,((e,t)=>{if(t&&"object"==typeof t&&"function"==typeof t.toJSON)return t;try{return(0,n.o8)(t)}catch(e){return"[object]"}})))}}catch(e){throw s.A.getLogger("esri.core.Error").error(e),e}return{name:this.name,message:this.message,details:this.details}}static fromJSON(e){return new i(e.name,e.message,e.details)}}i.prototype.type="error"},71511:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});var n=r(5479);class s{constructor(){this._groups=new Map}destroy(){this.removeAll()}get size(){let e=0;return this._groups.forEach((t=>{e+=t.length})),e}add(e,t){if((0,n.xZ)(e)){const r=this._getOrCreateGroup(t);for(const t of e)a(t)&&r.push(t)}else a(e)&&this._getOrCreateGroup(t).push(e);return this}forEach(e,t){if("function"==typeof e)this._groups.forEach((t=>t.forEach(e)));else{const r=this._getGroup(e);r&&t&&r.forEach(t)}}has(e){return this._groups.has(o(e))}remove(e){if("string"!=typeof e&&(0,n.xZ)(e)){for(const t of e)this.remove(t);return this}return this.has(e)?(i(this._getGroup(e)),this._groups.delete(o(e)),this):this}removeAll(){return this._groups.forEach(i),this._groups.clear(),this}removeReference(e){return this._groups.delete(e),this}_getOrCreateGroup(e){if(this.has(e))return this._getGroup(e);const t=[];return this._groups.set(o(e),t),t}_getGroup(e){return this._groups.get(o(e))}}function o(e){return e||"_default_"}function i(e){for(const t of e)t instanceof s?t.removeAll():t.remove()}function a(e){return null!=e&&(!!e.remove||e instanceof s)}},25482:(e,t,r)=>{"use strict";r.d(t,{oY:()=>m,Te:()=>p,Wj:()=>y});var n=r(90237),s=r(69622),o=r(4718),i=r(35666);class a{constructor(){this._values=new Map,this.multipleOriginsSupported=!1}clone(e){const t=new a;return this._values.forEach(((r,n)=>{e&&e.has(n)||t.set(n,(0,o.o8)(r.value),r.origin)})),t}get(e,t){t=this._normalizeOrigin(t);const r=this._values.get(e);return null==t||r?.origin===t?r?.value:void 0}originOf(e){return this._values.get(e)?.origin??i.Gr.USER}keys(e){e=this._normalizeOrigin(e);const t=[...this._values.keys()];return null==e?t:t.filter((t=>this._values.get(t)?.origin===e))}set(e,t,r){if((r=this._normalizeOrigin(r))===i.Gr.DEFAULTS){const t=this._values.get(e);if(null!=t?.origin&&t.origin>r)return}this._values.set(e,new c(t,r))}delete(e,t){null!=(t=this._normalizeOrigin(t))&&this._values.get(e)?.origin!==t||this._values.delete(e)}has(e,t){return null!=(t=this._normalizeOrigin(t))?this._values.get(e)?.origin===t:this._values.has(e)}forEach(e){this._values.forEach((({value:t},r)=>e(t,r)))}_normalizeOrigin(e){if(null!=e)return e===i.Gr.DEFAULTS?e:i.Gr.USER}}class c{constructor(e,t){this.value=e,this.origin=t}}var l=r(76953),u=r(45917),f=r(88620),d=r(49422),h=r(40608);const p=e=>{let t=class extends e{constructor(...e){super(...e);const t=(0,f.oY)(this),r=t.store,n=new a;t.store=n,(0,l.k)(t,r,n)}read(e,t){(0,u.L)(this,e,t)}write(e,t){return(0,d.M)(this,e??{},t)}toJSON(e){return this.write({},e)}static fromJSON(e,t){return g.call(this,e,t)}};return t=(0,n._)([(0,h.$)("esri.core.JSONSupport")],t),t.prototype.toJSON.isDefaultToJSON=!0,t};function g(e,t){if(!e)return null;if(e.declaredClass)throw new Error("JSON object is already hydrated");const r=new this;return r.read(e,t),r}function y(e){return e&&"object"==typeof e&&"toJSON"in e&&"function"==typeof e.toJSON}let m=class extends(p(s.A)){};m=(0,n._)([(0,h.$)("esri.core.JSONSupport")],m)},53966:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(92602),s=(r(44208),r(799));const o={info:0,warn:1,error:2,none:3};class i{constructor(e){this.level=null,this._module="",this._parent=null,this.writer=null,this._loggedMessages={error:new Map,warn:new Map,info:new Map},null!=e.level&&(this.level=e.level),null!=e.writer&&(this.writer=e.writer),this._module=e.module,i._loggers.set(this.module,this);const t=this.module.lastIndexOf(".");-1!==t&&(this._parent=i.getLogger(this.module.slice(0,t)))}get module(){return this._module}get parent(){return this._parent}error(...e){this._log("error","always",...e)}warn(...e){this._log("warn","always",...e)}info(...e){this._log("info","always",...e)}errorOnce(...e){this._log("error","once",...e)}warnOnce(...e){this._log("warn","once",...e)}infoOnce(...e){this._log("info","once",...e)}errorOncePerTick(...e){this._log("error","oncePerTick",...e)}warnOncePerTick(...e){this._log("warn","oncePerTick",...e)}infoOncePerTick(...e){this._log("info","oncePerTick",...e)}get test(){}static get test(){}static getLogger(e){return e="string"!=typeof e?e.declaredClass:e,i._loggers.get(e)||new i({module:e})}_log(e,t,...r){if(this._matchLevel(e)){if("always"!==t&&!i._throttlingDisabled){const n=function(...e){return(0,s.Wm)(JSON.stringify(e,((e,t)=>"object"!=typeof t||Array.isArray(t)?t:"[Object]")))}(r),o=this._loggedMessages[e].get(n);if("once"===t&&null!=o||"oncePerTick"===t&&o&&o>=i._tickCounter)return;this._loggedMessages[e].set(n,i._tickCounter),i._scheduleTickCounterIncrement()}for(const t of n.A.log.interceptors)if(t(e,this.module,...r))return;this._inheritedWriter()(e,this.module,...r)}}_parentWithMember(e,t){let r=this;for(;null!=r;){const t=r[e];if(null!=t)return t;r=r.parent}return t}_inheritedWriter(){return this._parentWithMember("writer",a)}_matchLevel(e){const t=n.A.log.level||"warn";return o[this._parentWithMember("level",t)]<=o[e]}static _scheduleTickCounterIncrement(){i._tickCounterScheduled||(i._tickCounterScheduled=!0,Promise.resolve().then((()=>{i._tickCounter++,i._tickCounterScheduled=!1})))}}function a(e,t,...r){console[e](`[${t}]`,...r)}i._loggers=new Map,i._tickCounter=0,i._tickCounterScheduled=!1,i._throttlingDisabled=!1},91869:(e,t,r)=>{"use strict";function n(e,t){for(const r of e.values())if(t(r))return!0;return!1}function s(e,t,r){const n=e.get(t);if(void 0!==n)return n;const s=r();return e.set(t,s),s}function o(e){const t=new Map;return r=>(t.has(r)||t.set(r,e(r)),t.get(r))}r.d(t,{Bj:()=>o,Bs:()=>n,tE:()=>s})},79907:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});var n=r(93637);class s{constructor(e,t,r=void 0){this.name=e,this.details=r,this.message=(t&&function(e,t){return e.replaceAll(/\$\{([^\s:}]*)(?::([^\s:}]+))?\}/g,((e,r)=>""===r?"$":((0,n.wc)(r,t)??"").toString()))}(t,r))??""}toString(){return"["+this.name+"]: "+this.message}}},93687:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});class n{constructor(e,t,r,n=1,s=0){this._ctor=e,this._acquireFunction=t,this._releaseFunction=r,this.allocationSize=n,this._pool=new Array(s),this._initialSize=s;for(let e=0;e<s;e++)this._pool[e]=new this._ctor;this.allocationSize=Math.max(n,1)}destroy(){this.prune(0)}acquire(...e){let t;if(n.test.disabled)t=new this._ctor;else{if(0===this._pool.length){const e=this.allocationSize;for(let t=0;t<e;t++)this._pool[t]=new this._ctor}t=this._pool.pop()}return this._acquireFunction?this._acquireFunction(t,...e):function(e){return e?.acquire&&"function"==typeof e.acquire}(t)&&t.acquire(...e),t}release(e){var t;e&&!n.test.disabled&&(this._releaseFunction?this._releaseFunction(e):(t=e,t?.release&&"function"==typeof t.release&&e.release()),this._pool.push(e))}prune(e=this._initialSize){if(!(e>=this._pool.length)){for(let t=e;t<this._pool.length;++t){const e=this._pool[t];this._dispose(e)}this._pool.length=e}}_dispose(e){e.dispose&&"function"==typeof e.dispose&&e.dispose()}}n.test={disabled:!1}},61604:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});class n{constructor(e,t=30){this.name=e,this._counter=0,this._samples=new Array(t)}push(e){null!=e&&(this._samples[++this._counter%this._samples.length]=e)}set(e){null!=e&&(this._samples[this._counter%this._samples.length]=e)}get median(){return this._samples.slice().sort(((e,t)=>e-t))[Math.floor(this._samples.length/2)]}get average(){return this._samples.reduce(((e,t)=>e+t),0)/this._samples.length}get last(){return this._samples[this._counter%this._samples.length]}}},3694:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n,s=r(4576);!function(e){const t=(e,t,r,n)=>{let s=t,o=t;const i=r>>>1,a=e[s-1];for(;o<=i;){o=s<<1,o<r&&n(e[o-1],e[o])<0&&++o;const t=e[o-1];if(n(t,a)<=0)break;e[s-1]=t,s=o}e[s-1]=a},r=(e,t)=>e<t?-1:e>t?1:0;e.sort=function(e,n,s,o){void 0===n&&(n=0),void 0===s&&(s=e.length),void 0===o&&(o=r);for(let r=s>>>1;r>n;r--)t(e,r,s,o);const i=n+1;for(let r=s-1;r>n;r--){const s=e[n];e[n]=e[r],e[r]=s,t(e,i,r,o)}},e.iterableSort=function*(e,n,s,o){void 0===n&&(n=0),void 0===s&&(s=e.length),void 0===o&&(o=r);for(let r=s>>>1;r>n;r--)t(e,r,s,o),yield;const i=n+1;for(let r=s-1;r>n;r--){const s=e[n];e[n]=e[r],e[r]=s,t(e,i,r,o),yield}}}(n||(n={}));const o=n;class i{constructor(e){this.data=[],this._length=0,this._allocator=void 0,this._deallocator=()=>null,this._shrink=()=>{},this._hint=new s.vW,e&&(e.initialSize&&(this.data=new Array(e.initialSize)),e.allocator&&(this._allocator=e.allocator),void 0!==e.deallocator&&(this._deallocator=e.deallocator),e.shrink&&(this._shrink=()=>a(this)))}toArray(){return this.data.slice(0,this.length)}filter(e){const t=new Array;for(let r=0;r<this._length;r++){const n=this.data[r];e(n)&&t.push(n)}return t}at(e){if((e=Math.trunc(e)||0)<0&&(e+=this._length),!(e<0||e>=this._length))return this.data[e]}includes(e,t){const r=this.data.indexOf(e,t);return-1!==r&&r<this.length}get length(){return this._length}set length(e){if(e>this._length){if(this._allocator){for(;this._length<e;)this.data[this._length++]=this._allocator(this.data[this._length]);return}this._length=e}else{if(this._deallocator)for(let t=e;t<this._length;++t)this.data[t]=this._deallocator(this.data[t]);this._length=e,this._shrink()}}clear(){this.length=0}prune(){this.clear(),this.data=[]}push(e){this.data[this._length++]=e}pushArray(e,t=e.length){for(let r=0;r<t;r++)this.data[this._length++]=e[r]}fill(e,t){for(let r=0;r<t;r++)this.data[this._length++]=e}pushNew(){this._allocator&&(this.data[this.length]=this._allocator(this.data[this.length]));const e=this.data[this._length];return++this._length,e}unshift(e){this.data.unshift(e),this._length++,a(this)}pop(){if(0===this.length)return;const e=this.data[this.length-1];return this.length=this.length-1,this._shrink(),e}remove(e){const t=(0,s.qh)(this.data,e,this.length,this._hint);if(-1!==t)return this.data.splice(t,1),this.length=this.length-1,e}removeUnordered(e){return this.removeUnorderedIndex((0,s.qh)(this.data,e,this.length,this._hint))}removeUnorderedIndex(e){if(!(e>=this.length||e<0))return this.swapElements(e,this.length-1),this.pop()}removeUnorderedMany(e,t=e.length,r){this.length=(0,s.mW)(this.data,e,this.length,t,this._hint,r),this._shrink()}front(){if(0!==this.length)return this.data[0]}back(){if(0!==this.length)return this.data[this.length-1]}swapElements(e,t){if(e>=this.length||t>=this.length||e===t)return;const r=this.data[e];this.data[e]=this.data[t],this.data[t]=r}sort(e){o.sort(this.data,0,this.length,e)}iterableSort(e){return o.iterableSort(this.data,0,this.length,e)}some(e,t){for(let r=0;r<this.length;++r)if(e.call(t,this.data[r],r,this.data))return!0;return!1}find(e,t){const{data:r,length:n}=this;for(let s=0;s<n;++s)if(e.call(t,r[s]))return r[s]}filterInPlace(e,t){let r=0;for(let n=0;n<this._length;++n){const s=this.data[n];e.call(t,s,n,this.data)&&(this.data[n]=this.data[r],this.data[r]=s,r++)}if(this._deallocator)for(let e=r;e<this._length;e++)this.data[e]=this._deallocator(this.data[e]);return this._length=r,this._shrink(),this}forAll(e,t){const{data:r,length:n}=this;for(let s=0;s<n;++s)e.call(t,r[s],s,r)}forEach(e,t){this.data.slice(0,this.length).forEach(e,t)}map(e,t){const r=new Array(this.length);for(let n=0;n<this.length;++n)r[n]=e.call(t,this.data[n],n,this.data);return r}reduce(e,t){let r=t;for(let t=0;t<this.length;++t)r=e(r,this.data[t],t,this.data);return r}has(e){const t=this.length,r=this.data;for(let n=0;n<t;++n)if(r[n]===e)return!0;return!1}*[Symbol.iterator](){for(let e=0;e<this.length;e++)yield this.data[e]}}function a(e){e.data.length>1.5*e.length&&(e.data.length=Math.floor(1.1*e.length))}},87811:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});class n{constructor(e=1){this._seed=e}set seed(e){this._seed=e??Math.random()*n._m}getInt(){return this._seed=(n._a*this._seed+n._c)%n._m,this._seed}getFloat(){return this.getInt()/(n._m-1)}getIntRange(e,t){return Math.round(this.getFloatRange(e,t))}getFloatRange(e,t){const r=t-e;return e+this.getInt()/n._m*r}}n._m=2147483647,n._a=48271,n._c=0},67076:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});var n=r(79907);class s extends n.A{constructor(e,t,r){super(e,t,r)}}s.prototype.type="warning"},11406:(e,t,r)=>{"use strict";r.d(t,{T:()=>i});var n=r(36563),s=r(4576);class o{constructor(e,t){this._observers=e,this._observer=t}remove(){(0,s.TF)(this._observers,this._observer)}}class i{constructor(){this._observers=null,this.destroyed=!1}observe(e){if(this.destroyed||e.destroyed)return a;null==this._observers&&(this._observers=[]);const t=this._observers;let r=!1,n=!1;const s=t.length;for(let o=0;o<s;++o){const s=t[o];if(s.destroyed)n=!0;else if(s===e){r=!0;break}}return r||(t.push(e),n&&this._removeDestroyedObservers()),new o(t,e)}_removeDestroyedObservers(){const e=this._observers;if(!e||0===e.length)return;const t=e.length;let r=0;for(let n=0;n<t;++n){for(;n+r<t&&e[n+r].destroyed;)++r;if(r>0){if(!(n+r<t))break;e[n]=e[n+r]}}e.length=t-r}destroy(){if(this.destroyed)return;this.destroyed=!0;const e=this._observers;if(null!=e){for(const t of e)t.onCommitted();this._observers=null}}}const a=(0,n.hA)()},35666:(e,t,r)=>{"use strict";var n;r.d(t,{AU:()=>s,Gr:()=>n,OL:()=>i,aB:()=>o,in:()=>a}),function(e){e[e.DEFAULTS=0]="DEFAULTS",e[e.COMPUTED=1]="COMPUTED",e[e.SERVICE=2]="SERVICE",e[e.PORTAL_ITEM=3]="PORTAL_ITEM",e[e.WEB_SCENE=4]="WEB_SCENE",e[e.WEB_MAP=5]="WEB_MAP",e[e.LINK_CHART=6]="LINK_CHART",e[e.USER=7]="USER"}(n||(n={}));const s=n.USER+1;function o(e){switch(e){case"defaults":return n.DEFAULTS;case"service":return n.SERVICE;case"portal-item":return n.PORTAL_ITEM;case"web-scene":return n.WEB_SCENE;case"web-map":return n.WEB_MAP;case"link-chart":return n.LINK_CHART;case"user":return n.USER;default:return null}}function i(e){switch(e){case n.DEFAULTS:return"defaults";case n.SERVICE:return"service";case n.PORTAL_ITEM:return"portal-item";case n.WEB_SCENE:return"web-scene";case n.WEB_MAP:return"web-map";case n.LINK_CHART:return"link-chart";case n.USER:return"user"}}function a(e){return i(e)}},56454:(e,t,r)=>{"use strict";r.d(t,{G:()=>n});const n=Symbol("Accessor-beforeDestroy")},10107:(e,t,r)=>{"use strict";r.d(t,{MZ:()=>c,rM:()=>l});var n=r(53966),s=r(56507),o=r(16649),i=r(96156),a=r(47821);function c(e={}){return(t,r)=>{if(t===Function.prototype)throw new Error(`Inappropriate use of @property() on a static field: ${t.name}.${r}. Accessor does not support static properties.`);const c=Object.getOwnPropertyDescriptor(t,r),l=(0,i.z4)(t,r);c&&(c.get||c.set?(l.get=c.get||l.get,l.set=c.set||l.set):"value"in c&&("value"in e&&n.A.getLogger("esri.core.accessorSupport.decorators.property").warn(`@property() will redefine the value of "${r}" on "${t.constructor.name}" already defined in the metadata`,e),l.value=e.value=c.value)),null!=e.readOnly&&(l.readOnly=e.readOnly);const u=e.aliasOf;if(u){const e="string"==typeof u?u:u.source,t="string"==typeof u?null:!0===u.overridable;let n;l.dependsOn=[e],l.get=function(){let t=(0,o.Jt)(this,e);if("function"==typeof t){n||(n=e.split(".").slice(0,-1).join("."));const r=(0,o.Jt)(this,n);r&&(t=t.bind(r))}return t},l.readOnly||(l.set=t?function(e){this._override(r,e)}:function(t){(0,a.h)(this,e,t)})}const f=e.type,d=e.types;if(!l.cast){let t;f?t=function(e){let t=0,r=e;if((0,s.Zu)(e))return(0,s.Nd)(e);for(;Array.isArray(r)&&1===r.length&&"string"!=typeof r[0]&&"number"!=typeof r[0];)r=r[0],t++;const n=r;if((0,s.EK)(n))return 0===t?(0,s.MB)(n):(0,s._e)((0,s.MB)(n),t);if(1===t)return(0,s.eC)(n);if(t>1)return(0,s.e6)(n,t);const o=e;return o.from?o.from:(0,s.dp)(o)}(f):d&&(t=Array.isArray(d)?(0,s.wB)((0,s.aq)(d[0])):(0,s.aq)(d)),e.cast=function(e,t){if(e||t)return e?t?(r,n)=>t(e(r,n),n):e:t}(e.cast,t)}(0,i.CX)(l,e),e.range&&(l.cast=(0,s.Qp)(l.cast,e.range))}}function l(e,t,r){const n=(0,i.z4)(e,r);n.json||(n.json={});let s=n.json;return void 0!==t&&(s.origins||(s.origins={}),s.origins[t]||(s.origins[t]={}),s=s.origins[t]),s}},40608:(e,t,r)=>{"use strict";r.d(t,{$:()=>f}),r(44208);var n=r(53966),s=r(56454),o=r(45873),i=r(96156),a=r(62788),c=r(51822);const l=new Set,u=new Set;function f(e){return t=>{e??="esri.core.Accessor",t.prototype.declaredClass=e,h(t);const r=[],n=[];let o=t.prototype;for(;o;)o.hasOwnProperty("initialize")&&!l.has(o.initialize)&&(l.add(o.initialize),r.push(o.initialize)),o.hasOwnProperty("destroy")&&!u.has(o.destroy)&&(u.add(o.destroy),n.push(o.destroy)),o=Object.getPrototypeOf(o);l.clear(),u.clear();const a=class extends t{constructor(...e){if(super(...e),this.constructor===a&&"function"==typeof this.postscript){if(r.length&&Object.defineProperty(this,"initialize",{enumerable:!1,configurable:!0,value(){for(let e=r.length-1;e>=0;e--)r[e].call(this)}}),n.length){let e=!1;const t=this[s.G];Object.defineProperty(this,"destroy",{enumerable:!1,configurable:!0,value(){if(!e){e=!0,t.call(this);for(let e=0;e<n.length;e++)n[e].call(this)}}})}Object.defineProperty(this,Symbol.dispose,{enumerable:!1,configurable:!0,value(){this.destroy()}}),this.postscript()}}};a.__accessorMetadata__=(0,i.tD)(t.prototype),a.prototype.declaredClass=e;const c=(e||"AccessorSubclass").split(".").slice(-1)[0];return Object.defineProperty(a,"name",{value:c,configurable:!0}),a}}function d(e,t){return null==t.get?function(){const t=this.__accessor__,r=t.propertiesByName.get(e);if(void 0===r)return;t.mutable&&(0,a.gc)(r);const n=t.store;return n.has(e)?n.get(e):r.metadata.value}:function(){const t=this.__accessor__,r=t.propertiesByName.get(e);if(void 0!==r)return r.getComputed(t)}}function h(e){const t=e.prototype,r=(0,i.tD)(t),n={};for(const e of Object.getOwnPropertyNames(r)){const t=r[e];(0,c.qk)(t),n[e]={enumerable:!0,configurable:!0,get:d(e,t),set(r){const n=this.__accessor__;if(void 0!==n){if(n.mutable)return n.initialized&&t.readOnly?p("read-only",e):n.lifecycle===o.v.CONSTRUCTED&&t.constructOnly?p("construct-only",e):void n.set(e,r)}else Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:r})}}}Object.defineProperties(e.prototype,n)}const p=(e,t)=>{n.A.getLogger("esri.core.Accessor").error(`cannot assign to ${e} property '${t}'`)}},76953:(e,t,r)=>{"use strict";r.d(t,{k:()=>s});var n=r(35666);function s(e,t,r){t.keys().forEach((e=>{r.set(e,t.get(e),n.Gr.DEFAULTS)}));const s=e.metadata;Object.keys(s).forEach((t=>{e.internalGet(t)&&r.set(t,e.internalGet(t),n.Gr.DEFAULTS)}))}},56507:(e,t,r)=>{"use strict";r.d(t,{EK:()=>T,GB:()=>l,GX:()=>c,MB:()=>N,Nd:()=>x,PZ:()=>b,Qp:()=>d,Uv:()=>C,Vr:()=>u,Zu:()=>M,_e:()=>S,aq:()=>j,dp:()=>w,e6:()=>E,eC:()=>O,gK:()=>I,jz:()=>P,wB:()=>A}),r(44208);var n=r(53966),s=r(91869);const o=()=>n.A.getLogger("esri.core.accessorSupport.ensureTypes");function i(e){return null==e?e:new Date(e)}function a(e){return null==e?e:!!e}function c(e){return null==e?e:e.toString()}function l(e,t=0){return null==e?e:(e=parseFloat(e),isNaN(e)?t:e)}function u(e){return null==e?e:Math.round(parseFloat(e))}function f(e){return null}function d(e,t){return r=>{let n=e(r);return null!=t.step&&(n=Math.round(n/t.step)*t.step),null!=t.min&&(n=Math.max(t.min,n)),null!=t.max&&(n=Math.min(t.max,n)),n}}function h(e){return e?.constructor&&void 0!==e.constructor.__accessorMetadata__}function p(e,t){return null!=t&&e&&!(t instanceof e)}function g(e){return e&&"isCollection"in e}function y(e){return e?.Type?"function"==typeof e.Type?e.Type:e.Type.base:null}function m(e,t){return!!h(t)&&(o().error("Accessor#set","Assigning an instance of '"+(t.declaredClass||"unknown")+"' which is not a subclass of '"+_(e)+"'"),!0)}function b(e,t){return null==t?t:g(e)?function(e,t){if(!t?.constructor||!g(t.constructor))return m(e,t)?t:new e(t);const r=y(e.prototype.itemType),n=y(t.constructor.prototype.itemType);return r?n?r===n?t:r.prototype.isPrototypeOf(n.prototype)?new e(t):(m(e,t),t):new e(t):t}(e,t):p(e,t)?m(e,t)?t:new e(t):t}function _(e){return e?.prototype?.declaredClass||"unknown"}const v=new WeakMap;function w(e,t){const r=function(e){switch(e){case Number:return e=>l(e);case P:return u;case Boolean:return a;case String:return c;case Date:return i;case C:return f;default:return(0,s.tE)(v,e,(()=>b.bind(null,e)))}}(e);return 1===arguments.length?r:r(t)}function A(e,t,r){return 1===arguments.length?A.bind(null,e):t?Array.isArray(t)?t.map((t=>e(t,r))):[e(t,r)]:t}function O(e,t){return 1===arguments.length?A((t=>w(e,t))):A((t=>w(e,t)),t)}function k(e,t,r){return 0!==t&&Array.isArray(r)?r.map((r=>k(e,t-1,r))):e(r)}function S(e,t,r){if(2===arguments.length)return r=>S(e,t,r);if(!r)return r;r=k(e,t,r);let n=t,s=r;for(;n>0&&Array.isArray(s);)n--,s=s[0];if(void 0!==s)for(let e=0;e<n;e++)r=[r];return r}function E(e,t,r){return 2===arguments.length?S((t=>w(e,t)),t):S((t=>w(e,t)),t,r)}function T(e){return!!Array.isArray(e)&&!e.some((t=>{const r=typeof t;return!("string"===r||"number"===r||"function"===r&&e.length>1)}))}function N(e,t){if(2===arguments.length)return N(e).call(null,t);const r=new Set,n=e.filter((e=>"function"!=typeof e)),s=e.filter((e=>"function"==typeof e));for(const t of e)"string"!=typeof t&&"number"!=typeof t||r.add(t);let i=null,a=null;return(e,t)=>{if(null==e)return e;const c=typeof e,l="string"===c||"number"===c;return l&&(r.has(e)||s.some((e=>"string"===c&&e===String||"number"===c&&e===Number)))||"object"===c&&s.some((t=>!p(e,t)))?e:(l&&n.length?(i||(i=n.map((e=>"string"==typeof e?`'${e}'`:`${e}`)).join(", ")),o().error("Accessor#set",`'${e}' is not a valid value for this property, only the following values are valid: ${i}`)):"object"==typeof e&&s.length?(a||(a=s.map((e=>_(e))).join(", ")),o().error("Accessor#set",`'${e}' is not a valid value for this property, value must be one of ${a}`)):o().error("Accessor#set",`'${e}' is not a valid value for this property`),t&&(t.valid=!1),null)}}function j(e,t){if(2===arguments.length)return j(e).call(null,t);const r={},n=[],s=[];for(const t in e.typeMap){const o=e.typeMap[t];r[t]=w(o),n.push(_(o)),s.push(t)}const i=()=>`'${n.join("', '")}'`,a=()=>`'${s.join("', '")}'`,c="string"==typeof e.key?t=>t[e.key]:e.key;return t=>{if(e.base&&!p(e.base,t))return t;if(null==t)return t;const n=c(t)||e.defaultKeyValue,s=r[n];if(!s)return o().error("Accessor#set",`Invalid property value, value needs to be one of ${i()}, or a plain object that can autocast (having .type = ${a()})`),null;if(!p(e.typeMap[n],t))return t;if("string"==typeof e.key&&!h(t)){const r={};for(const n in t)n!==e.key&&(r[n]=t[n]);return s(r)}return s(t)}}class P{}class C{}const I={native:e=>({type:"native",value:e}),array:e=>({type:"array",value:e}),oneOf:e=>({type:"one-of",values:e})};function M(e){if(!e||!("type"in e))return!1;switch(e.type){case"native":case"array":case"one-of":return!0}return!1}function x(e){switch(e.type){case"native":return w(e.value);case"array":return A(x(e.value));case"one-of":return function(e){let t=null;return(r,n)=>R(r,e)?r:(null==t&&(t=$(e)),o().error("Accessor#set",`Invalid property value, value needs to be of type ${t}`),n&&(n.valid=!1),null)}(e);default:return null}}function $(e){switch(e.type){case"native":switch(e.value){case Number:return"number";case String:return"string";case Boolean:return"boolean";case P:return"integer";case Date:return"date";case C:return"null";default:return _(e.value)}case"array":return`array of ${$(e.value)}`;case"one-of":{const t=e.values.map((e=>$(e)));return`one of ${t.slice(0,-1)} or ${t[t.length-1]}`}}return"unknown"}function R(e,t){if(null==e)return!0;switch(t.type){case"native":switch(t.value){case Number:case P:return"number"==typeof e;case Boolean:return"boolean"==typeof e;case String:return"string"==typeof e;case C:return null===e}return e instanceof t.value;case"array":return!!Array.isArray(e)&&!e.some((e=>!R(e,t.value)));case"one-of":return t.values.some((t=>R(e,t)))}}},51822:(e,t,r)=>{"use strict";r.d(t,{xF:()=>u,N5:()=>f,k4:()=>d,qk:()=>m});var n=r(56507),s=r(90360);function o(e){if(e.json||(e.json={}),a(e.json),c(e.json),i(e.json),e.json.origins)for(const t in e.json.origins)a(e.json.origins[t]),c(e.json.origins[t]),i(e.json.origins[t]);return!0}function i(e){e.name&&(e.read&&"object"==typeof e.read?void 0===e.read.source&&(e.read.source=e.name):e.read={source:e.name},e.write&&"object"==typeof e.write?void 0===e.write.target&&(e.write.target=e.name):e.write={target:e.name})}function a(e){"boolean"==typeof e.read?e.read={enabled:e.read}:"function"==typeof e.read?e.read={enabled:!0,reader:e.read}:e.read&&"object"==typeof e.read&&void 0===e.read.enabled&&(e.read.enabled=!0)}function c(e){"boolean"==typeof e.write?e.write={enabled:e.write}:"function"==typeof e.write?e.write={enabled:!0,writer:e.write}:e.write&&"object"==typeof e.write&&void 0===e.write.enabled&&(e.write.enabled=!0)}var l=r(67124);function u(e,t){return h(e,"any",t?.origin)}function f(e,t){return h(e,"read",t?.origin)}function d(e,t){return h(e,"write",t?.origin)}function h(e,t,r){let n=e?.json;if(n?.origins&&r){let e;e="link-chart"===r?n.origins[r]&&("any"===t||t in n.origins[r])?n.origins[r]:n.origins["web-map"]:n.origins[r],e&&("any"===t||t in e)&&(n=e)}return n}function p(e){return e.type?g(e):y(e)}function g(e){if(!e.type)return;let t=0,r=e.type;for(;Array.isArray(r)&&!(0,n.EK)(r);)r=r[0],t++;return{type:r,ndimArray:t}}function y(e){if(!e.types)return;let t=0,r=e.types;for(;Array.isArray(r);)r=r[0],t++;return{types:r,ndimArray:t}}function m(e){o(e)&&(function(e){if(e.json&&e.json.origins){const t=e.json.origins,r={"web-document":["web-scene","web-map"]};for(const e in r)if(t[e]){const n=t[e];r[e].forEach((e=>{t[e]=n})),delete t[e]}}}(e),function(e){const t=function(e){return e.json.types?y(e.json):e.type?g(e):y(e)}(e);if(e.json.origins)for(const r in e.json.origins){const n=e.json.origins[r],o=n.types?p(n):t;(0,s.v)(o,n,!1),n.types&&!n.write&&e.json.write?.enabled&&(n.write={...e.json.write}),(0,l.v)(o,n)}(0,s.v)(t,e.json,!0),(0,l.v)(t,e.json)}(e))}},90360:(e,t,r)=>{"use strict";r.d(t,{C:()=>u,v:()=>l});var n=r(53966),s=r(93637),o=r(67076),i=r(96156),a=r(15903);const c=()=>n.A.getLogger("esri.core.accessorSupport.extensions.serializableProperty.reader");function l(e,t,r){e&&(!r&&!t.read||t.read?.reader||!1===t.read?.enabled||function(e){return"types"in e?y(e.types):g(e.type)}(e)&&(0,s.sM)("read.reader",u(e),t))}function u(e){const t=e.ndimArray??0;if(t>1)return function(e){const t=f(e),r=d.bind(null,t),n=e.ndimArray??0;return(e,t,s)=>{if(null==e)return e;e=r(e,s,n);let o=n,i=e;for(;o>0&&Array.isArray(i);)o--,i=i[0];if(void 0!==i)for(let t=0;t<o;t++)e=[e];return e}}(e);if(1===t)return h(e);if("type"in e&&p(e.type)){const t=e.type.prototype?.itemType?.Type,r=h("function"==typeof t?{type:t}:{types:t});return(t,n,s)=>{const o=r(t,n,s);return o?new e.type(o):o}}return f(e)}function f(e){return"type"in e?function(e){return e.prototype.read?(t,r,n)=>{if(null==t)return t;const s=typeof t;if("object"!==s)return void c().error(`Expected JSON value of type 'object' to deserialize type '${e.prototype.declaredClass}', but got '${s}'`);const o=new e;return o.read(t,n),o}:e.fromJSON}(e.type):function(e){let t=null;const r=e.errorContext??"type",n=e.validate;return(s,a,l)=>{if(null==s)return s;const u=typeof s;if("object"!==u)return void c().error(`Expected JSON value of type 'object' to deserialize, but got '${u}'`);t||(t=function(e){const t={};for(const r in e.typeMap){const n=e.typeMap[r],s=(0,i.tD)(n.prototype);if("function"==typeof e.key)continue;const o=s[e.key];if(!o)continue;if(o.json?.type&&Array.isArray(o.json.type)&&1===o.json.type.length&&"string"==typeof o.json.type[0]){t[o.json.type[0]]=n;continue}const a=o.json?.write;if(!a?.writer){t[r]=n;continue}const c=a.target,l="string"==typeof c?c:e.key,u={};a.writer(r,u,l),u[l]&&(t[u[l]]=n)}return t}(e));const f=e.key;if("string"!=typeof f)return;const d=s[f],h=d?t[d]:e.defaultKeyValue?e.typeMap[e.defaultKeyValue]:void 0;if(!h){const e=`Type '${d||"unknown"}' is not supported`;return l?.messages&&s&&l.messages.push(new o.A(`${r}:unsupported`,e,{definition:s,context:l})),void c().error(e)}const p=new h;return p.read(s,l),n?n(p):p}}(e.types)}function d(e,t,r,n){return 0!==n&&Array.isArray(t)?t.map((t=>d(e,t,r,n-1))):e(t,void 0,r)}function h(e){const t=f(e);return(e,r,n)=>{if(null==e)return e;if(Array.isArray(e)){const r=[];for(const s of e){const e=t(s,void 0,n);void 0!==e&&r.push(e)}return r}const s=t(e,void 0,n);return void 0!==s?[s]:void 0}}function p(e){if(!(0,a.P)(e))return!1;const t=e.prototype.itemType;return!(!t||!t.Type)&&("function"==typeof t.Type?g(t.Type):y(t.Type))}function g(e){return!Array.isArray(e)&&!!e&&e.prototype&&("read"in e.prototype||"fromJSON"in e||p(e))}function y(e){for(const t in e.typeMap)if(!g(e.typeMap[t]))return!1;return!0}},15903:(e,t,r)=>{"use strict";function n(e){return!!e&&e.prototype?.declaredClass&&0===e.prototype.declaredClass.indexOf("esri.core.Collection")}r.d(t,{P:()=>n})},67124:(e,t,r)=>{"use strict";r.d(t,{B:()=>f,v:()=>a});var n=r(49186),s=r(53966),o=r(93637),i=r(15903);function a(e,t){if(!t.write||t.write.writer||!1===t.write.enabled&&!t.write.overridePolicy)return;const r=e?.ndimArray??0;e&&(1===r||"type"in e&&(0,i.P)(e.type))?t.write.writer=d:r>1?t.write.writer=function(e){return(t,r,n,s)=>{let i;if(null===t)i=null;else{i=h(t,s,e);let r=e,n=i;for(;r>0&&Array.isArray(n);)r--,n=n[0];if(void 0!==n)for(let e=0;e<r;e++)i=[i]}(0,o.sM)(n,i,r)}}(r):t.types?Array.isArray(t.types)?t.write.writer=function(e){return(t,r,n,s)=>t&&Array.isArray(t)?l(t.filter((t=>c(t,e,s))),r,n,s):l(t,r,n,s)}(t.types[0]):t.write.writer=function(e){return(t,r,n,s)=>t?c(t,e,s)?l(t,r,n,s):void 0:l(t,r,n,s)}(t.types):t.write.writer=l}function c(e,t,r){for(const r in t.typeMap)if(e instanceof t.typeMap[r])return!0;if(r?.messages){const o=t.errorContext??"type",i=`Values of type '${("function"!=typeof t.key?e[t.key]:e.declaredClass)??"Unknown"}' cannot be written`;r&&r.messages&&e&&r.messages.push(new n.A(`${o}:unsupported`,i,{definition:e,context:r})),s.A.getLogger("esri.core.accessorSupport.extensions.serializableProperty.writer").error(i)}return!1}function l(e,t,r,n){(0,o.sM)(r,u(e,n),t)}function u(e,t){return e&&"function"==typeof e.write?e.write({},t):e&&"function"==typeof e.toJSON?e.toJSON():"number"==typeof e?f(e):e}function f(e){return e===-1/0?-Number.MAX_VALUE:e===1/0?Number.MAX_VALUE:isNaN(e)?null:e}function d(e,t,r,n){let s;null===e?s=null:e&&"function"==typeof e.map?(s=e.map((e=>u(e,n))),"function"==typeof s.toArray&&(s=s.toArray())):s=[u(e,n)],(0,o.sM)(r,s,t)}function h(e,t,r){return 0!==r&&Array.isArray(e)?e.map((e=>h(e,t,r-1))):u(e,t)}},16649:(e,t,r)=>{"use strict";r.d(t,{Jt:()=>a,RP:()=>i,t2:()=>c});var n=r(88620);function s(e,t){const r="?"===e[e.length-1]?e.slice(0,-1):e;if(null!=t.getItemAt||Array.isArray(t)){const e=parseInt(r,10);if(!isNaN(e))return Array.isArray(t)?t[e]:t.at(e)}const s=(0,n.oY)(t);return(0,n.yh)(s,r)?s.get(r):t[r]}function o(e,t,r){if(null==e)return e;const n=s(t[r],e);return!n&&r<t.length-1?void 0:r===t.length-1?n:o(n,t,r+1)}function i(e,t,r=0){return"string"!=typeof t||t.includes(".")?o(e,(0,n.AH)(t),r):s(t,e)}function a(e,t){return i(e,t)}function c(e,t){return void 0!==i(t,e)}},45873:(e,t,r)=>{"use strict";var n;r.d(t,{v:()=>n}),function(e){e[e.INITIALIZING=0]="INITIALIZING",e[e.CONSTRUCTING=1]="CONSTRUCTING",e[e.CONSTRUCTED=2]="CONSTRUCTED",e[e.DESTROYED=3]="DESTROYED"}(n||(n={}))},96156:(e,t,r)=>{"use strict";r.d(t,{CX:()=>a,tD:()=>o,z4:()=>i});var n=r(4718),s=r(88620);function o(e){let t=e.constructor.__accessorMetadata__;const r=Object.prototype.hasOwnProperty.call(e.constructor,"__accessorMetadata__");if(t){if(!r){t=Object.create(t);for(const e in t)t[e]=(0,n.o8)(t[e]);Object.defineProperty(e.constructor,"__accessorMetadata__",{value:t,enumerable:!1,configurable:!0,writable:!0})}}else t={},Object.defineProperty(e.constructor,"__accessorMetadata__",{value:t,enumerable:!1,configurable:!0,writable:!0});return e.constructor.__accessorMetadata__}function i(e,t){const r=o(e);let n=r[t];return n||(n=r[t]={}),n}function a(e,t){return(0,s.h1)(e,t,l)}const c=/^(?:[^.]+\.)?(?:value|type|(?:json\.type|json\.origins\.[^.]\.type))$/;function l(e){return c.test(e)?"replace":"merge"}},45917:(e,t,r)=>{"use strict";r.d(t,{L:()=>u,t:()=>f});var n=r(16649),s=r(88620),o=r(51822);function i(e,t,r){if(!e?.read||!1===e.read.enabled||!e.read.source)return!1;const s=e.read.source;if("string"==typeof s){if(s===t)return!0;if(s.includes(".")&&0===s.indexOf(t)&&(0,n.t2)(s,r))return!0}else for(const e of s){if(e===t)return!0;if(e.includes(".")&&0===e.indexOf(t)&&(0,n.t2)(e,r))return!0}return!1}function a(e,t,r,n,s){let a=(0,o.N5)(t[r],s);(function(e){return e&&(!e.read||!1!==e.read.enabled&&!e.read.source)})(a)&&(e[r]=!0);for(const c of Object.getOwnPropertyNames(t))a=(0,o.N5)(t[c],s),i(a,r,n)&&(e[c]=!0)}function c(e,t,r,n){const s=r.metadata,i=(0,o.xF)(s[t],n),a=i?.default;if(void 0===a)return;const c="function"==typeof a?a.call(e,t,n):a;void 0!==c&&r.set(t,c)}const l={origin:"service"};function u(e,t,r=l){if(!t||"object"!=typeof t)return;const i=(0,s.oY)(e),u=i.metadata,f={};for(const e of Object.getOwnPropertyNames(t))a(f,u,e,t,r);i.setDefaultOrigin(r.origin);for(const s of Object.getOwnPropertyNames(f)){const a=(0,o.N5)(u[s],r).read,c=a?.source;let l;l=c&&"string"==typeof c?(0,n.RP)(t,c):t[s],a?.reader&&(l=a.reader.call(e,l,t,r)),void 0!==l&&i.set(s,l)}if(!r||!r.ignoreDefaults){i.setDefaultOrigin("defaults");for(const t of Object.getOwnPropertyNames(u))f[t]||c(e,t,i,r)}i.setDefaultOrigin("user")}function f(e,t,r,n=l){const s={...n,messages:[]};r(s),s.messages?.forEach((t=>{"warning"!==t.type||e.loaded?n?.messages&&n.messages.push(t):e.loadWarnings.push(t)}))}},47821:(e,t,r)=>{"use strict";r.d(t,{h:()=>i});var n=r(49186),s=r(44208),o=(r(53966),r(16649));function i(e,t,r){if(e&&t)if("object"==typeof t)for(const r of Object.getOwnPropertyNames(t))i(e,r,t[r]);else{if(t.includes(".")){const n=t.split("."),s=n.splice(-1,1)[0];return void i((0,o.Jt)(e,n),s,r)}const a=e.__accessor__;null!=a&&function(e,t){if((0,s.A)("esri-unknown-property-errors")&&!function(e,t){return null!=t.metadata[e]}(e,t))throw new n.A("set:unknown-property",function(e,t){return"setting unknown property '"+e+"' on instance of "+t.host.declaredClass}(e,t))}(t,a),e[t]=r}}},62788:(e,t,r)=>{"use strict";r.d(t,{F_:()=>h,Xr:()=>_,a:()=>d,fE:()=>m,gc:()=>l}),r(44208);var n=r(53966),s=r(88620),o=r(47328);const i=new(r(67867).R),a=[];let c=i;function l(e){c.onAccessed(e)}let u=!1,f=!1;function d(e,t,r){if(u)return p(e,t,r);let n=null;return g(e),n=t.call(r),y(),n}function h(e,t){return d(i,e,t)}function p(e,t,r){const s=u;u=!0,g(e);let o=null;try{o=t.call(r)}catch(e){f&&n.A.getLogger("esri.core.accessorSupport.tracking").error(e)}return y(),u=s,o}function g(e){c=e,a.push(e)}function y(){const e=a.length;if(e>1){const t=a.pop();c=a[e-2],t.onTrackingEnd()}else if(1===e){const e=a.pop();c=i,e.onTrackingEnd()}else c=i}function m(e,t){if(t.flags&o.i.DepTrackingInitialized)return;t.flags|=o.i.DepTrackingInitialized;const r=f;f=!1,t.flags&o.i.AutoTracked?p(t.trackingTarget,t.metadata.get,e):_(e,t),f=r}const b=[];function _(e,t){t.flags&o.i.ExplicitlyTracking||(t.flags|=o.i.ExplicitlyTracking,p(t.trackingTarget,(()=>{const r=t.metadata.dependsOn||b;for(const t of r)if("string"!=typeof t||t.includes(".")){const r=(0,s.AH)(t);for(let t=0,n=e;t<r.length&&null!=n&&"object"==typeof n;++t)n=v(n,r[t],t!==r.length-1)}else v(e,t,!1)})),t.flags&=~o.i.ExplicitlyTracking)}function v(e,t,r){const n="?"===t[t.length-1]?t.slice(0,-1):t;if(null!=e.getItemAt||Array.isArray(e)){const t=parseInt(n,10);if(!isNaN(t))return Array.isArray(e)?e[t]:e.at(t)}const o=(0,s.oY)(e);if(o){const t=o.propertiesByName.get(n);t&&(l(t),m(e,t))}return r?e[n]:void 0}},47328:(e,t,r)=>{"use strict";var n;r.d(t,{i:()=>n}),function(e){e[e.Dirty=1]="Dirty",e[e.Overridden=2]="Overridden",e[e.Computing=4]="Computing",e[e.NonNullable=8]="NonNullable",e[e.HasDefaultValue=16]="HasDefaultValue",e[e.DepTrackingInitialized=32]="DepTrackingInitialized",e[e.AutoTracked=64]="AutoTracked",e[e.ExplicitlyTracking=128]="ExplicitlyTracking"}(n||(n={}))},71429:(e,t,r)=>{"use strict";r.d(t,{r:()=>s});var n=r(67867);class s extends n.R{constructor(e){super(new o(e)),this._observer&&i.register(this,new WeakRef(this._observer),this)}destroy(){this._observer&&i.unregister(this._observer),this.accessed?.clear(),this.clear(),this._observer?.destroy()}}class o{constructor(e){this._notify=e,this._invalidCount=0,this.destroyed=!1}onInvalidated(){this._invalidCount++}onCommitted(){if(this.destroyed)return;const e=this._invalidCount;if(1===e)return this._invalidCount=0,void this._notify();this._invalidCount=e>0?e-1:0}destroy(){this.destroyed=!0,this._notify=a}}const i=new FinalizationRegistry((e=>{e.deref()?.destroy()}));function a(){}},67867:(e,t,r)=>{"use strict";r.d(t,{R:()=>n});class n{constructor(e){this.accessed=void 0,this._handles=void 0,this._observer=e}destroy(){this.accessed?.clear(),this.clear()}onAccessed(e){null!=this._observer&&e!==this._observer&&(null==this.accessed&&(this.accessed=new Set),this.accessed.add(e))}onTrackingEnd(){null!=this._observer&&(this.clear(),null!=this.accessed&&(null==this._handles&&(this._handles=[]),this.accessed.forEach((e=>{this._handles.push(e.observe(this._observer))})),this.accessed.clear()))}clear(){if(null!=this._handles){for(let e=0;e<this._handles.length;++e)this._handles[e].remove();this._handles.length=0}}}},80559:(e,t,r)=>{"use strict";r.d(t,{Df:()=>l,fm:()=>u,mJ:()=>c});var n=r(36563),s=r(62788),o=r(71429);let i=!1;const a=[];function c(e,t){let r=new o.r((function n(){if(!r||c)return;if(i)return void f(n);const o=a;r.clear(),i=!0,c=!0,a=(0,s.a)(r,e),c=!1,i=!1,t(a,o),d()})),a=null,c=!1;return c=!0,a=(0,s.a)(r,e),c=!1,(0,n.hA)((function(){r&&(r.destroy(),r=null,a=null)}))}function l(e,t){let r=new o.r((function(){t(i,a)})),i=null;function a(){return r?(r.clear(),i=(0,s.a)(r,e),i):null}return a(),(0,n.hA)((function(){r&&(r.destroy(),r=null),i=null}))}function u(e,t){let r=!1,a=!1;const c=!!t?.sync;let l=new o.r((()=>{r||a||(a=!0,c?u():queueMicrotask(u))}));function u(){a=!1,l&&!r&&(i?f(u):(l.clear(),i=!0,r=!0,(0,s.a)(l,e),r=!1,i=!1,d()))}return r=!0,(0,s.a)(l,e),r=!1,(0,n.hA)((function(){l&&(l.destroy(),l=null)}))}function f(e){a.includes(e)||a.unshift(e)}function d(){for(;a.length;)a.pop()()}},88620:(e,t,r)=>{"use strict";r.d(t,{AH:()=>l,h1:()=>a,oY:()=>o,qg:()=>f,yh:()=>i});var n=r(36563),s=r(4718);function o(e){return e.__accessor__??null}function i(e,t){return null!=e?.metadata?.[t]}function a(e,t,r){return c(e,t,r?{policy:r,path:""}:null)}function c(e,t,r){return t?Object.keys(t).reduce(((e,n)=>{const o=n;let i=null,a="merge";if(r&&(i=r.path?`${r.path}.${n}`:n,a=r.policy(i)),"replace"===a)return e[o]=t[o],e;if("replace-arrays"===a&&Array.isArray(e[o]))return e[o]=t[o],e;if(void 0===e[o])return e[o]=(0,s.o8)(t[o]),e;let l=e[o],u=t[o];if(l===u)return e;if(Array.isArray(u)||Array.isArray(e))l=l?Array.isArray(l)?e[o]=l.slice():e[o]=[l]:e[o]=[],u&&(Array.isArray(u)||(u=[u]),u.forEach((e=>{l.includes(e)||l.push(e)})));else if(u&&"object"==typeof u)if(r){const t=r.path;r.path=i,e[o]=c(l,u,r),r.path=t}else e[o]=c(l,u,null);else e.hasOwnProperty(n)&&!t.hasOwnProperty(n)||(e[o]=u);return e}),e||{}):e}function l(e){return Array.isArray(e)?e:e.split(".")}function u(e){return e.includes(",")?e.split(",").map((e=>e.trim())):[e.trim()]}function f(e,t,r,s){const o=function(e){if(Array.isArray(e)){const t=[];for(const r of e)t.push(...u(r));return t}return u(e)}(t);if(1!==o.length){const t=o.map((t=>s(e,t,r)));return(0,n.vE)(t)}return s(e,o[0],r)}},14012:(e,t,r)=>{"use strict";r.d(t,{iS:()=>A,wB:()=>E,Cn:()=>T});var n=r(98291),s=r(36563),o=r(4718),i=r(93687);class a extends i.A{constructor(){super(...arguments),this._set=new Set}destroy(){super.destroy(),this._set=null}acquire(...e){const t=super.acquire(...e);return this._set.delete(t),t}release(e){e&&!this._set.has(e)&&(super.release(e),this._set.add(e))}_dispose(e){this._set.delete(e),super._dispose(e)}}var c,l,u=r(11932),f=r(24326),d=r(16649),h=r(45873),p=r(80559),g=r(88620);(l=c||(c={}))[l.Untracked=0]="Untracked",l[l.Tracked=1]="Tracked";class y{constructor(){this.uid=(0,f.c)(),this.removed=!1,this.type=null,this.oldValue=null,this.callback=null,this.getValue=null,this.target=null,this.path=null,this.equals=null}static acquireUntracked(e,t,r,n,s){return this.pool.acquire(c.Untracked,e,t,r,n,s,o.aI)}static acquireTracked(e,t,r,n){return this.pool.acquire(c.Tracked,e,t,r,null,null,n)}notify(e,t){this.type===c.Untracked?this.callback.call(this.target,e,t,this.path,this.target):this.callback.call(null,e,t,void 0,void 0)}acquire(e,t,r,n,s,o,i){this.uid=(0,f.c)(),this.removed=!1,this.type=e,this.oldValue=t,this.callback=r,this.getValue=n,this.target=s,this.path=o,this.equals=i}release(){this.target=this.path=this.oldValue=this.callback=this.getValue=null,this.uid=(0,f.c)(),this.removed=!0}}y.pool=new a(y);const m=new n.A,b=new Set;let _;function v(e){b.delete(e),b.add(e),_||(_=(0,u._)(O))}function w(e){if(e.removed)return;const t=e.oldValue,r=e.getValue();e.equals(t,r)||(e.oldValue=r,e.notify(r,t))}function A(e){for(const t of b.values())t.target===e&&(t.removed=!0)}function O(){let e=10;for(;_&&e--;){_=null;const e=k(),t=m.acquire();for(const r of e){const e=r.uid;w(r),e===r.uid&&r.removed&&t.push(r)}for(const e of b)e.removed&&(t.push(e),b.delete(e));for(const e of t)y.pool.release(e);m.release(t),m.release(e),S.forEach((e=>e()))}}function k(){const e=m.acquire();e.length=b.size;let t=0;for(const r of b)e[t]=r,++t;return b.clear(),e}const S=new Set;function E(e,t,r,n=!1){return e.__accessor__&&e.__accessor__.lifecycle!==h.v.DESTROYED?n?function(e,t,r){const n=(0,g.qg)(e,t,r,((e,t,r)=>{let s=!1;return(0,p.mJ)((()=>(0,d.RP)(e,t)),((i,a)=>{e.__accessor__.lifecycle!==h.v.DESTROYED?s||(s=!0,(0,o.aI)(a,i)||r.call(e,i,a,t,e),s=!1):n.remove()}))}));return n}(e,t,r):function(e,t,r){let n=(0,g.qg)(e,t,r,((e,t,r)=>{let o,i,a=(0,p.Df)((()=>(0,d.RP)(e,t)),((s,a)=>{e.__accessor__?.lifecycle===h.v.DESTROYED||o&&o.uid!==i?n.remove():(o||(o=y.acquireUntracked(s,r,a,e,t),i=o.uid),v(o))}));return(0,s.hA)((()=>{a.remove(),o&&(o.uid!==i||o.removed||(o.removed=!0,v(o)),o=null),n=a=null}))}));return n}(e,t,r):(0,s.hA)()}function T(e,t,r=!1,n=o.gh){return r?function(e,t,r){let n=!1;return(0,p.mJ)(e,((e,s)=>{n||(n=!0,r(s,e)||t(e,s),n=!1)}))}(e,t,n):function(e,t,r){let n,o,i=(0,p.Df)(e,((e,s)=>{n&&n.uid!==o?i.remove():(n||(n=y.acquireTracked(e,t,s,r),o=n.uid),v(n))}));return(0,s.hA)((()=>{i.remove(),n&&(n.uid!==o||n.removed||(n.removed=!0,v(n)),n=null),i=null}))}(e,t,n)}},49422:(e,t,r)=>{"use strict";r.d(t,{M:()=>h,R:()=>d});var n=r(4576),s=r(49186),o=r(53966),i=r(16649),a=r(35666),c=r(88620),l=r(51822);function u(e,t,r,n,s){const o={};return t.write?.writer?.call(e,n,o,r,s),o}function f(e,t,r,c,l,u){if(!c?.write)return!1;const f=(0,i.Jt)(e,r);if(!l&&c.write.overridePolicy){const t=c.write.overridePolicy.call(e,f,r,u??void 0);void 0!==t&&(l=t)}if(l||(l=c.write),!l||!1===l.enabled)return!1;if(l.layerContainerTypes&&u?.layerContainerType&&!l.layerContainerTypes.includes(u.layerContainerType))return!1;if((null===f&&!l.allowNull&&!l.writerEnsuresNonNull||void 0===f)&&l.isRequired){const t=new s.A("web-document-write:property-required",`Missing value for required property '${r}' on '${e.declaredClass}'`,{propertyName:r,target:e});return t&&u?.messages?u.messages.push(t):t&&!u&&o.A.getLogger("esri.core.accessorSupport.write").error(t.name,t.message),!1}return!(void 0===f||null===f&&!l.allowNull&&!l.writerEnsuresNonNull||!(l.alwaysWriteDefaults||t.store.multipleOriginsSupported&&t.store.originOf(r)!==a.Gr.DEFAULTS)&&function(e,t,r,s,o){const i=s.default;if(void 0===i)return!1;if(null!=s.defaultEquals)return s.defaultEquals(o);if("function"==typeof i){if(Array.isArray(o)){const s=i.call(e,t,r??void 0);return(0,n.aI)(s,o)}return!1}return i===o}(e,r,u,c,f)||!l.ignoreOrigin&&u?.origin&&t.store.multipleOriginsSupported&&t.store.originOf(r)<(0,a.aB)(u.origin))}function d(e,t,r,n){const s=(0,c.oY)(e),o=s.metadata,i=(0,l.k4)(o[t],n);return!!i&&f(e,s,t,i,r,n)}function h(e,t,r){if(e&&"function"==typeof e.toJSON&&(!e.toJSON.isDefaultToJSON||!e.write))return(0,c.h1)(t,e.toJSON(r));const n=(0,c.oY)(e),s=n.metadata;for(const o in s){const d=(0,l.k4)(s[o],r);if(!f(e,n,o,d,void 0,r))continue;const h=(0,i.Jt)(e,o),p=u(e,d,d.write&&"string"==typeof d.write.target?d.write.target:o,h,r);Object.keys(p).length>0&&(t=(0,c.h1)(t,p),r?.resources?.pendingOperations?.length&&r.resources.pendingOperations.push(Promise.all(r.resources.pendingOperations).then((()=>(0,c.h1)(t,p,(()=>"replace-arrays"))))),r?.writtenProperties&&r.writtenProperties.push({target:e,propName:o,oldOrigin:(0,a.in)(n.store.originOf(o)),newOrigin:r.origin}))}return t}},4576:(e,t,r)=>{"use strict";r.d(t,{$U:()=>i,$i:()=>m,Am:()=>a,He:()=>o,Ji:()=>s,Ru:()=>_,TF:()=>b,Xj:()=>u,Xy:()=>p,aI:()=>c,iv:()=>l,mW:()=>y,qh:()=>h,vW:()=>f});var n=r(87811);const s=1.5,o=1/s,i=.5;function a(e,t){return t?e.filter(((e,r,n)=>n.findIndex(t.bind(null,e))===r)):Array.from(new Set(e))}function c(e,t,r){if(null==e&&null==t)return!0;if(null==e||null==t||e.length!==t.length)return!1;if(r){for(let n=0;n<e.length;n++)if(!r(e[n],t[n]))return!1}else for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function l(e,t,r){let n,s;return r?(n=t.filter((t=>!e.some((e=>r(e,t))))),s=e.filter((e=>!t.some((t=>r(t,e)))))):(n=t.filter((t=>!e.includes(t))),s=e.filter((e=>!t.includes(e)))),{added:n,removed:s}}function u(e){return e&&"number"==typeof e.length}class f{constructor(){this.last=0}}const d=new f;function h(e,t,r,n){n=n||d;const s=Math.max(0,n.last-10);for(let o=s;o<r;++o)if(e[o]===t)return n.last=o,o;const o=Math.min(s,r);for(let r=0;r<o;++r)if(e[r]===t)return n.last=r,r;return-1}function p(e,t,r,n){const s=r??e.length,o=h(e,t,s,n);if(-1!==o)return e[o]=e[s-1],null==r&&e.pop(),t}const g=new Set;function y(e,t,r=e.length,n=t.length,s,o){if(0===n||0===r)return r;g.clear();for(let e=0;e<n;++e)g.add(t[e]);s=s||d;const i=Math.max(0,s.last-10);for(let t=i;t<r;++t)if(g.has(e[t])&&(o?.push(e[t]),g.delete(e[t]),e[t]=e[r-1],--r,--t,0===g.size||0===r))return g.clear(),r;for(let t=0;t<i;++t)if(g.has(e[t])&&(o?.push(e[t]),g.delete(e[t]),e[t]=e[r-1],--r,--t,0===g.size||0===r))return g.clear(),r;return g.clear(),r}function m(e,t){let r=0;for(let n=0;n<e.length;++n){const s=e[n];t(s,n)&&(e[r]=s,r++)}e.length=r}function b(e,t){const r=e.indexOf(t);return-1!==r?(e.splice(r,1),t):null}function _(e,t){return null!=e}new n.A},86805:(e,t,r)=>{"use strict";function n(e){return 32+e.length}r.d(t,{eY:()=>o,iL:()=>i,nu:()=>s,zd:()=>c});const s=16;function o(e){if(!e)return 0;let t=l;for(const r in e)if(e.hasOwnProperty(r)){const o=e[r];switch(typeof o){case"string":t+=n(o);break;case"number":t+=s;break;case"boolean":t+=4}}return t}function i(e){if(!e)return 0;if(Array.isArray(e))return function(e){const t=e.length;if(0===t||"number"==typeof e[0])return 32+8*t;let r=u;for(let n=0;n<t;n++)r+=a(e[n]);return r}(e);let t=l;for(const r in e)e.hasOwnProperty(r)&&(t+=a(e[r]));return t}function a(e){switch(typeof e){case"object":return i(e);case"string":return n(e);case"number":return s;case"boolean":return 4;default:return 8}}function c(e,t){return u+e.length*t}const l=32,u=16},37955:(e,t,r)=>{"use strict";r.d(t,{Oo:()=>a,on:()=>i,wb:()=>s});var n=r(36563);function s(e){return function(e){return null!=e&&"object"==typeof e&&"on"in e&&"function"==typeof e.on}(e)||o(e)}function o(e){return null!=e&&"object"==typeof e&&"addEventListener"in e&&"function"==typeof e.addEventListener}function i(e,t,r){if(!s(e))throw new TypeError("target is not a Evented or EventTarget object");return o(e)?function(e,t,r,s){if(Array.isArray(t)){const o=t.slice();for(const t of o)e.addEventListener(t,r,s);return(0,n.hA)((()=>{for(const t of o)e.removeEventListener(t,r,s)}))}return e.addEventListener(t,r,s),(0,n.hA)((()=>e.removeEventListener(t,r,s)))}(e,t,r):e.on(t,r)}function a(e,t,r){if(!s(e))throw new TypeError("target is not a Evented or EventTarget object");if("once"in e)return e.once(t,r);const n=i(e,t,(t=>{n.remove(),r.call(e,t)}));return n}},36563:(e,t,r)=>{"use strict";r.d(t,{hA:()=>s,vE:()=>o});const n={remove:()=>{}};function s(e){return e?{remove(){e&&(e(),e=void 0)}}:n}function o(e){return s((()=>function(e){e.forEach((e=>e?.remove()))}(e)))}},44208:(e,t,r)=>{"use strict";let n;function s(e){return"function"==typeof n[e]?n[e]=n[e](globalThis):n[e]}r.d(t,{A:()=>s}),n=globalThis.dojoConfig?.has||globalThis.esriConfig?.has?{...globalThis.dojoConfig?.has,...globalThis.esriConfig?.has}:{},s.add=(e,t,r,o)=>{(o||void 0===n[e])&&(n[e]=t),r&&s(e)},s.cache=n,s.add("big-integer-warning-enabled",!0),s.add("esri-deprecation-warnings",!0),s.add("esri-tests-disable-screenshots",!1),s.add("esri-tests-use-full-window",!1),s.add("esri-tests-post-to-influx",!0),s.add("esri-cim-animations-enable-status","enabled"),s.add("esri-cim-animations-spotlight",!1),s.add("esri-cim-animations-freeze-time",!1),s.add("enable-feature:multiple-highlights",!1),(()=>{s.add("host-webworker",void 0!==globalThis.WorkerGlobalScope&&self instanceof globalThis.WorkerGlobalScope);const e="undefined"!=typeof window&&"undefined"!=typeof location&&"undefined"!=typeof document&&window.location===location&&window.document===document;if(s.add("host-browser",e),s.add("host-node","object"==typeof globalThis.process&&globalThis.process.versions?.node&&globalThis.process.versions.v8),s.add("dom",e),s("host-browser")){const e=navigator,t=e.userAgent,r=e.appVersion,n=parseFloat(r);if(s.add("wp",parseFloat(t.split("Windows Phone")[1])||void 0),s.add("msapp",parseFloat(t.split("MSAppHost/")[1])||void 0),s.add("khtml",r.includes("Konqueror")?n:void 0),s.add("edge",parseFloat(t.split("Edge/")[1])||void 0),s.add("opr",parseFloat(t.split("OPR/")[1])||void 0),s.add("webkit",!s("wp")&&!s("edge")&&parseFloat(t.split("WebKit/")[1])||void 0),s.add("chrome",!s("edge")&&!s("opr")&&parseFloat(t.split("Chrome/")[1])||void 0),s.add("android",!s("wp")&&parseFloat(t.split("Android ")[1])||void 0),s.add("safari",!r.includes("Safari")||s("wp")||s("chrome")||s("android")||s("edge")||s("opr")?void 0:parseFloat(r.split("Version/")[1])),s.add("mac",r.includes("Macintosh")),!s("wp")&&/(iPhone|iPod|iPad)/.test(t)){const e=RegExp.$1.replace(/P/,"p"),r=/OS ([\d_]+)/.test(t)?RegExp.$1:"1",n=parseFloat(r.replace(/_/,".").replaceAll("_",""));s.add(e,n),s.add("ios",n)}s("webkit")||(!t.includes("Gecko")||s("wp")||s("khtml")||s("edge")||s.add("mozilla",n),s("mozilla")&&s.add("ff",parseFloat(t.split("Firefox/")[1]||t.split("Minefield/")[1])||void 0))}})(),(()=>{if(globalThis.navigator){const e=navigator.userAgent,t=/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini|IEMobile/i.test(e),r=/iPhone/i.test(e);t&&s.add("esri-mobile",t),r&&s.add("esri-iPhone",r),s.add("esri-geolocation",!!navigator.geolocation)}s.add("esri-wasm","WebAssembly"in globalThis),s.add("esri-performance-mode-frames-between-render",20),s.add("esri-force-performance-mode",!1),s.add("esri-shared-array-buffer",(()=>{const e="SharedArrayBuffer"in globalThis,t=!1===globalThis.crossOriginIsolated;return e&&!t})),s.add("wasm-simd",(()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11])))),s.add("esri-atomics","Atomics"in globalThis),s.add("esri-workers","Worker"in globalThis),s.add("web-feat:cache","caches"in globalThis),s.add("esri-workers-arraybuffer-transfer",!s("safari")||Number(s("safari"))>=12),s.add("workers-pool-size",8),s.add("featurelayer-simplify-thresholds",[.5,.5,.5,.5]),s.add("featurelayer-simplify-payload-size-factors",[1,1,4]),s.add("featurelayer-fast-triangulation-enabled",!0),s.add("featurelayer-animation-enabled",!0),s.add("featurelayer-snapshot-enabled",!0),s.add("featurelayer-snapshot-point-min-threshold",8e4),s.add("featurelayer-snapshot-point-max-threshold",4e5),s.add("featurelayer-snapshot-point-coverage",.1),s.add("featurelayer-query-max-depth",4),s.add("featurelayer-query-pausing-enabled",!1),s.add("featurelayer-advanced-symbols",!1),s.add("featurelayer-pbf",!0),s.add("featurelayer-pbf-statistics",!1),s.add("feature-layers-workers",!0),s.add("feature-polyline-generalization-factor",1),s.add("mapview-transitions-duration",200),s.add("mapview-essential-goto-duration",200),s.add("mapview-srswitch-adjust-rotation-scale-threshold",24e6),s.add("mapserver-pbf-version-support",10.81),s.add("mapservice-popup-identify-max-tolerance",20),s("host-webworker")||s("host-browser")&&(s.add("esri-csp-restrictions",(()=>{try{new Function}catch{return!0}return!1})),s.add("esri-image-decode",(()=>{if("decode"in new Image){const e=new Image;return e.src='data:image/svg+xml;charset=UTF-8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg"></svg>',void e.decode().then((()=>{s.add("esri-image-decode",!0,!0,!0)})).catch((()=>{s.add("esri-image-decode",!1,!0,!0)}))}return!1})),s.add("esri-url-encodes-apostrophe",(()=>{const e=window.document.createElement("a");return e.href="?'",e.href.includes("?%27")})))})()},5479:(e,t,r)=>{"use strict";function n(e){const t=[];return function*(){yield*t;for(const r of e)t.push(r),yield r}}function s(e,t){for(const r of e)if(null!=r&&t(r))return r}function o(e){return null!=e&&"function"==typeof e[Symbol.iterator]}r.d(t,{I6:()=>s,PP:()=>n,xZ:()=>o})},4718:(e,t,r)=>{"use strict";r.d(t,{Nb:()=>c,TU:()=>a,aI:()=>h,gh:()=>p,o8:()=>i,oy:()=>o,zI:()=>g});var n=r(4576),s=r(34275);function o(e,t){let r;if(t)for(r in e)e.hasOwnProperty(r)&&(void 0===e[r]?delete e[r]:e[r]instanceof Object&&o(e[r],!0));else for(r in e)e.hasOwnProperty(r)&&void 0===e[r]&&delete e[r];return e}function i(e){if(!e||"object"!=typeof e||"function"==typeof e)return e;const t=d(e);if(null!=t)return t;if(c(e))return e.clone();if(l(e))return e.map(i);if(u(e))return e.clone();const r={};for(const t of Object.getOwnPropertyNames(e))r[t]=i(e[t]);return r}function a(e){if(!e||"object"!=typeof e||"function"==typeof e||"HTMLElement"in globalThis&&e instanceof HTMLElement)return e;const t=d(e);if(null!=t)return t;if(l(e)){let t=!0;const r=e.map((e=>{const r=a(e);return null!=e&&null==r&&(t=!1),r}));return t?r:null}if(c(e))return e.clone();if(e instanceof File||e instanceof Blob)return e;if(!u(e)){const t=new(0,Object.getPrototypeOf(e).constructor);for(const r of Object.getOwnPropertyNames(e)){const n=e[r],s=a(n);if(null!=n&&null==s)return null;t[r]=s}return t}return null}function c(e){return"function"==typeof e.clone}function l(e){return"function"==typeof e.map&&"function"==typeof e.forEach}function u(e){return"function"==typeof e.notifyChange&&"function"==typeof e.watch}function f(e){if("[object Object]"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function d(e){if((0,s.dz)(e)||(0,s.mg)(e)||(0,s.UR)(e)||(0,s.IY)(e)||(0,s.jq)(e)||(0,s._G)(e)||(0,s.XJ)(e)||(0,s.vZ)(e)||(0,s.aI)(e))return e.slice();if(e instanceof Date)return new Date(e.getTime());if(e instanceof ArrayBuffer)return e.slice(0,e.byteLength);if(e instanceof Map){const t=new Map;for(const[r,n]of e)t.set(r,i(n));return t}if(e instanceof Set){const t=new Set;for(const r of e)t.add(i(r));return t}return null}function h(e,t){return e===t||"number"==typeof e&&isNaN(e)&&"number"==typeof t&&isNaN(t)||"function"==typeof e?.getTime&&"function"==typeof t?.getTime&&e.getTime()===t.getTime()||!1}function p(e,t){return e===t||(null==e||"string"==typeof e?e===t:"number"==typeof e?e===t||"number"==typeof t&&isNaN(e)&&isNaN(t):e instanceof Date?t instanceof Date&&e.getTime()===t.getTime():Array.isArray(e)?Array.isArray(t)&&(0,n.aI)(e,t):e instanceof Set?t instanceof Set&&function(e,t){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}(e,t):e instanceof Map?t instanceof Map&&function(e,t){if(e.size!==t.size)return!1;for(const[r,n]of e){const e=t.get(r);if(e!==n||void 0===e&&!t.has(r))return!1}return!0}(e,t):!!f(e)&&f(t)&&function(e,t){if(null===e||null===t)return!1;const r=Object.keys(e);if(null===t||Object.keys(t).length!==r.length)return!1;for(const n of r)if(e[n]!==t[n]||!Object.prototype.hasOwnProperty.call(t,n))return!1;return!0}(e,t))}function g(e){return e}},97768:(e,t,r)=>{"use strict";function n(e,t){if(null==e)throw new Error(t??"value is None")}function s(e){return e?.destroy(),null}function o(e){return e?.dispose(),null}function i(e){return e?.remove(),null}function a(e){return e?.abort(),null}function c(e){return e?.release(),null}function l(e,t,r){return null!=e&&null!=t?null!=r?r(e,t):e.equals(t):e===t}function u(e,t){let r;return e.some(((e,n)=>(r=t(e,n),null!=r))),r??void 0}r.d(t,{CM:()=>l,DC:()=>a,Gz:()=>c,Lw:()=>n,Pb:()=>u,WD:()=>o,pR:()=>s,xt:()=>i})},26390:(e,t,r)=>{"use strict";r.d(t,{d:()=>s});const n=[];function s(e){n.push(e),1===n.length&&queueMicrotask((()=>{const e=n.slice();n.length=0;for(const t of e)t()}))}},93637:(e,t,r)=>{"use strict";r.d(t,{$N:()=>s,i8:()=>a,sM:()=>i,wc:()=>o});var n=r(4718);function s(e,t,r=!1){return l(e,t,r)}function o(e,t){if(null!=t)return t[e]||c(e.split("."),!1,t)}function i(e,t,r){const n=e.split("."),s=n.pop(),o=c(n,!0,r);o&&s&&(o[s]=t)}function a(e,t){if(null==e&&null==t)return!1;if(null==e)return!0;if(null==t)return!0;if("object"==typeof e){if(Array.isArray(e)){const r=t;if(e.length!==r.length)return!0;for(let t=0;t<e.length;t++)if(a(e[t],r[t]))return!0;return!1}if(Object.keys(e).length!==Object.keys(t).length)return!0;for(const r in e)if(a(e[r],t[r]))return!0;return!1}return e!==t}function c(e,t,r){let n=r;for(const r of e){if(null==n)return;if(!(r in n)){if(!t)return;n[r]={}}n=n[r]}return n}function l(e,t,r){return t?Object.keys(t).reduce(((e,s)=>{let o=e[s],i=t[s];return o===i?e:void 0===o?(e[s]=(0,n.o8)(i),e):(Array.isArray(i)||Array.isArray(e)?(o=o?Array.isArray(o)?e[s]=o.slice():e[s]=[o]:e[s]=[],i&&(Array.isArray(i)||(i=[i]),r?i.forEach((e=>{o.includes(e)||o.push(e)})):e[s]=i.slice())):i&&"object"==typeof i?e[s]=l(o,i,r):e.hasOwnProperty(s)&&!t.hasOwnProperty(s)||(e[s]=i),e)}),e||{}):e}},74887:(e,t,r)=>{"use strict";r.d(t,{Pl:()=>O,Ol:()=>A,nA:()=>w,NK:()=>l,Tw:()=>T,sg:()=>E,Lx:()=>v,QZ:()=>_,zf:()=>b,G4:()=>d,$X:()=>k,u7:()=>g,NY:()=>y,Mq:()=>f,QP:()=>h,Te:()=>u,jH:()=>p,NO:()=>N,z7:()=>S,qr:()=>m});var n=r(36563);const s=(o=globalThis,{setTimeout:(e,t)=>{const r=o.setTimeout(e,t);return(0,n.hA)((()=>o.clearTimeout(r)))}});var o,i=r(49186),a=r(37955),c=(r(53966),r(97768));function l(e="Aborted"){return new i.A("AbortError",e)}function u(e,t="Aborted"){if(d(e))throw l(t)}function f(e){return e instanceof AbortSignal?e:e?.signal??void 0}function d(e){const t=f(e);return null!=t&&t.aborted}function h(e){if(b(e))throw e}function p(e){if(!b(e))throw e}function g(e,t){const r=f(e);if(null!=r){if(!r.aborted)return(0,a.Oo)(r,"abort",(()=>t()));t()}}function y(e,t){const r=f(e);if(null!=r)return u(r),(0,a.Oo)(r,"abort",(()=>t(l())))}function m(e,t){return null==f(t)?e:new Promise(((r,n)=>{let s=g(t,(()=>n(l())));const o=()=>{s=(0,c.xt)(s)};e.then(o,o),e.then(r,n)}))}function b(e){return"AbortError"===e?.name}async function _(e){try{return await e}catch(e){if(!b(e))throw e;return}}async function v(e){if(!e)return;if("function"!=typeof e.forEach){const t=Object.keys(e),r=t.map((t=>e[t])),n=await v(r),s={};return t.map(((e,t)=>s[e]=n[t])),s}const t=e;return Promise.allSettled(t).then((e=>Array.from(t,((t,r)=>{const n=e[r];return"fulfilled"===n.status?{promise:t,value:n.value}:{promise:t,error:n.reason}}))))}async function w(e){return(await Promise.allSettled(e)).filter((e=>"fulfilled"===e.status)).map((e=>e.value))}async function A(e){return(await Promise.allSettled(e)).filter((e=>"rejected"===e.status)).map((e=>e.reason))}function O(e,t=void 0,r){const n=new AbortController;return g(r,(()=>n.abort())),new Promise(((r,s)=>{let o=setTimeout((()=>{o=0,r(t)}),e);g(n,(()=>{o&&(clearTimeout(o),s(l()))}))}))}function k(e){return e&&"function"==typeof e.then}function S(e){return k(e)?e:Promise.resolve(e)}function E(e,t=-1){let r,n,s,o,i=null;const a=(...c)=>{if(r){n=c,o&&o.reject(l()),o=T();const e=o.promise;if(i){const e=i;i=null,e.abort()}return e}if(s=o||T(),o=null,t>0){const n=new AbortController;r=S(e(...c,n.signal));const s=r;O(t).then((()=>{r===s&&(o?n.abort():i=n)}))}else r=1,r=S(e(...c));const u=()=>{const e=n;n=s=r=i=null,null!=e&&a(...e)},f=r,d=s;return f.then(u,u),f.then(d.resolve,d.reject),d.promise};return a}function T(){let e,t;const r=new Promise(((r,n)=>{e=r,t=n})),n=t=>{e(t)};return n.resolve=t=>e(t),n.reject=e=>t(e),n.timeout=(e,t)=>s.setTimeout((()=>n.reject(t)),e),n.promise=r,n}async function N(e){await Promise.resolve(),u(e)}},11932:(e,t,r)=>{"use strict";r.d(t,{$m:()=>A,_:()=>g,md:()=>w});var n=r(26390),s=r(61604),o=r(3694),i=r(74887),a=r(78659);class c{constructor(e){this.callback=e,this.isActive=!0}remove(){this.isActive=!1}}let l=0;const u={time:(0,a.l5)(0),deltaTime:(0,a.l5)(0),elapsedFrameTime:(0,a.l5)(0),frameDuration:(0,a.l5)(0)},f=["prepare","preRender","render","postRender","update","finish"],d=[],h=new o.A,p={frameTasks:h,willDispatch:!1,clearFrameTasks:function(e=!1){h.forAll((e=>{e.removed=!0})),e&&_()},dispatch:v,executeFrameTasks:function(e){const t=(0,a.l5)(e-l);l=e;const r=1e3/60,n=Math.max(0,t-r);u.time=e,u.frameDuration=(0,a.l5)(r-n);for(let r=0;r<f.length;r++){const n=performance.now(),s=f[r];h.forAll((n=>{n.paused||n.removed||(0===r&&n.ticks++,n.phases[s]&&(u.elapsedFrameTime=(0,a.l5)(performance.now()-e),u.deltaTime=0===n.ticks?(0,a.l5)(0):t,n.phases[s]?.call(n,u)))})),O[r].push(performance.now()-n)}_(),k.push(performance.now()-e)},reschedule:function(){null!=y&&(cancelAnimationFrame(y),y=requestAnimationFrame(m))}};function g(e){const t=new c(e);return d.push(t),p.willDispatch||(p.willDispatch=!0,(0,n.d)(v)),t}let y=null;function m(){const e=performance.now();y=null;const t=h.some((e=>!e.paused&&!e.removed));y=t?requestAnimationFrame(m):null,p.executeFrameTasks(e)}const b=new o.A;function _(){h.forAll((e=>{e.removed&&b.push(e)})),h.removeUnorderedMany(b.data,b.length),b.clear()}function v(){for(;d.length;){const e=d.shift();e.isActive&&e.callback()}p.willDispatch=!1}function w(e=1,t){const r=(0,i.Tw)(),s=()=>{(0,i.G4)(t)?r.reject((0,i.NK)()):0===e?r():(--e,(0,n.d)((()=>s())))};return s(),r.promise}async function A(e){await function(e){return w(1,e)}(e),await new Promise((t=>requestAnimationFrame((()=>{e?.aborted||t()}))))}const O=f.map((e=>new s.A(e))),k=new s.A("total")},799:(e,t,r)=>{"use strict";r.d(t,{Cj:()=>a,HC:()=>i,Wm:()=>c,_e:()=>u});var n=r(93637);const s=/\{([^}]+)\}/g;function o(e){return e??""}function i(e,t){return t?e.replaceAll(s,"object"==typeof t?(e,r)=>o((0,n.wc)(r,t)):(e,r)=>o(t(r))):e}function a(e,t){return e.replaceAll(/([.$?*|{}()[\]\\/+\-^])/g,(e=>t?.includes(e)?e:`\\${e}`))}function c(e){let t=0;for(let r=0;r<e.length;r++)t=(t<<5)-t+e.charCodeAt(r),t|=0;return t}let l;function u(e){return l??=new DOMParser,l.parseFromString(e||"","text/html").body.innerText||""}},78659:(e,t,r)=>{"use strict";function n(e){return e}function s(e){return 1e3*e}function o(e){return e}r.d(t,{Kp:()=>o,gr:()=>s,l5:()=>n})},34275:(e,t,r)=>{"use strict";r.d(t,{Ek:()=>g,IY:()=>c,JI:()=>b,UR:()=>a,XJ:()=>f,_G:()=>u,a3:()=>v,aI:()=>h,cy:()=>p,dk:()=>_,dz:()=>o,jq:()=>l,mg:()=>i,mw:()=>s,vZ:()=>d,y9:()=>m,zQ:()=>y});var n=r(86805);function s(e){return e instanceof ArrayBuffer}function o(e){return"Int8Array"===e?.constructor?.name}function i(e){return"Uint8Array"===e?.constructor?.name}function a(e){return"Uint8ClampedArray"===e?.constructor?.name}function c(e){return"Int16Array"===e?.constructor?.name}function l(e){return"Uint16Array"===e?.constructor?.name}function u(e){return"Int32Array"===e?.constructor?.name}function f(e){return"Uint32Array"===e?.constructor?.name}function d(e){return"Float32Array"===e?.constructor?.name}function h(e){return"Float64Array"===e?.constructor?.name}function p(e){return!("buffer"in e)}function g(...e){return e.reduce(((e,t)=>e+(t?p(t)?(0,n.zd)(t,n.nu):t.byteLength+y:0)),0)}r(44208);const y=145,m=1024;function b(e){return h(e)||d(e)||u(e)||c(e)||o(e)}function _(e){return h(e)||d(e)}function v(e){return h(e)?179769e303:d(e)?3402823e32:f(e)?4294967295:l(e)?65535:i(e)||a(e)?255:u(e)?2147483647:c(e)?32767:o(e)?127:256}},24326:(e,t,r)=>{"use strict";r.d(t,{c:()=>s});let n=0;function s(){return++n}},84952:(e,t,r)=>{"use strict";r.d(t,{$1:()=>Q,$z:()=>V,An:()=>T,BQ:()=>oe,DB:()=>Z,FL:()=>B,FX:()=>z,Hg:()=>re,Il:()=>he,N9:()=>se,S8:()=>G,T1:()=>ge,UC:()=>pe,V1:()=>W,Xq:()=>S,Zo:()=>ve,_0:()=>Ae,a6:()=>_e,b8:()=>D,e7:()=>de,fj:()=>H,gd:()=>E,lJ:()=>X,lM:()=>ce,m3:()=>ae,nM:()=>fe,oP:()=>K,oy:()=>$,r$:()=>te,rs:()=>be,s0:()=>w,s2:()=>J,sC:()=>q,s_:()=>P,tk:()=>ne,ut:()=>U,w8:()=>Y,x0:()=>j,xw:()=>we,yM:()=>C,zf:()=>N,zi:()=>me,zs:()=>R});var n=r(92602),s=r(4576),o=r(49186),i=r(25482),a=r(53966),c=r(39131),l=r(26306);const u=()=>a.A.getLogger("esri.core.urlUtils"),f=n.A.request,d="esri/config: esriConfig.request.proxyUrl is not set.",h=/^\s*[a-z][a-z0-9-+.]*:(?![0-9])/i,p=/^\s*http:/i,g=/^\s*https:/i,y=/^\s*file:/i,m=/:\d+$/,b=/^https?:\/\/[^/]+\.arcgis.com\/sharing(\/|$)/i,_=new RegExp("^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$"),v=new RegExp("^((([^[:]+):)?([^@]+)@)?(\\[([^\\]]+)\\]|([^[:]*))(:([0-9]+))?$");class w{constructor(e=""){this.uri=e,this.scheme=null,this.authority=null,this.path=null,this.query=null,this.fragment=null,this.user=null,this.password=null,this.host=null,this.port=null;let t=this.uri.match(_);this.scheme=t[2]||(t[1]?"":null),this.authority=t[4]||(t[3]?"":null),this.path=t[5],this.query=t[7]||(t[6]?"":null),this.fragment=t[9]||(t[8]?"":null),null!=this.authority&&(t=this.authority.match(v),this.user=t[3]||null,this.password=t[4]||null,this.host=t[6]||t[7],this.port=t[9]||null)}toString(){return this.uri}}const A={};let O=new w(n.A.applicationUrl);let k=function(){const e=O.path,t=e.slice(0,e.lastIndexOf("/")+1);return`${O.scheme}://${O.host}${null!=O.port?`:${O.port}`:""}${t}`}();const S=()=>O,E=()=>k;function T(e){if(!e)return null;const t={path:null,query:null},r=new w(e),n=e.indexOf("?");return null===r.query?t.path=e:(t.path=e.slice(0,n),t.query=N(r.query)),r.fragment&&(t.hash=r.fragment,null===r.query&&(t.path=t.path.slice(0,t.path.length-(r.fragment.length+1)))),t}function N(e){const t=e.split("&"),r={};for(const e of t){if(!e)continue;const t=e.indexOf("=");let n,s;t<0?(n=decodeURIComponent(e),s=""):(n=decodeURIComponent(e.slice(0,t)),s=decodeURIComponent(e.slice(t+1)));let o=r[n];"string"==typeof o&&(o=r[n]=[o]),Array.isArray(o)?o.push(s):r[n]=s}return r}function j(e,t){return e?t&&"function"==typeof t?Object.keys(e).map((r=>encodeURIComponent(r)+"="+encodeURIComponent(t(r,e[r])))).join("&"):Object.keys(e).map((r=>{const n=e[r];if(null==n)return"";const s=encodeURIComponent(r)+"=",o=t?.[r];return o?s+encodeURIComponent(o(n)):Array.isArray(n)?n.map((e=>(0,i.Wj)(e)?s+encodeURIComponent(JSON.stringify(e)):s+encodeURIComponent(e))).join("&"):(0,i.Wj)(n)?s+encodeURIComponent(JSON.stringify(n)):s+encodeURIComponent(n)})).filter((e=>e)).join("&"):""}function P(e=!1){let t,r=f.proxyUrl;if("string"==typeof e){t=ae(e);const n=R(e);n&&(r=n.proxyUrl)}else t=!!e;if(!r)throw u().warn(d),new o.A("urlUtils:proxy-not-set",d);return t&&le()&&(r=ce(r)),T(r)}function C(e,t=!1){const r=R(e);let n,s;if(r){const e=M(r.proxyUrl);n=e.path,s=e.query?N(e.query):null}else if(t){const t=P(e);n=t.path,s=t.query}if(n){const t=T(e);e=n+"?"+t.path;const r=j({...s,...t.query});r&&(e=`${e}?${r}`)}return e}const I={path:"",query:""};function M(e){const t=e.indexOf("?");return-1!==t?(I.path=e.slice(0,t),I.query=e.slice(t+1)):(I.path=e,I.query=null),I}function x(e){return(e=ue(e=he(e=M(e).path),!0)).toLowerCase()}function $(e){const t={proxyUrl:e.proxyUrl,urlPrefix:x(e.urlPrefix)},r=f.proxyRules,n=t.urlPrefix;let s=r.length;for(let e=0;e<r.length;e++){const t=r[e].urlPrefix;if(0===n.indexOf(t)){if(n.length===t.length)return-1;s=e;break}0===t.indexOf(n)&&(s=e+1)}return r.splice(s,0,t),s}function R(e){const t=f.proxyRules,r=x(e);for(let e=0;e<t.length;e++)if(0===r.indexOf(t[e].urlPrefix))return t[e]}function D(e,t){if(!e||!t)return!1;e=L(e),t=L(t);const r=(0,c.py)(e),n=(0,c.py)(t);return null!=r&&null!=n?r.portalHostname===n.portalHostname:null==r&&null==n&&z(e,t,!0)}function U(e,t){return e=L(e),t=L(t),ue(e)===ue(t)}function L(e){const t=(e=G(e)).indexOf("/sharing");return t>0?e.slice(0,t):e.replace(/\/+$/,"")}function q(e,t=f.interceptors){const r=t=>null==t||t instanceof RegExp&&t.test(e)||"string"==typeof t&&e.startsWith(t);if(t)for(const e of t)if(Array.isArray(e.urls)){if(e.urls.some(r))return e}else if(r(e.urls))return e;return null}function z(e,t,r=!1){if(!e||!t)return!1;const n=ye(e),s=ye(t);return!(!r&&n.scheme!==s.scheme)&&null!=n.host&&null!=s.host&&n.host.toLowerCase()===s.host.toLowerCase()&&n.port===s.port}function B(e){if("string"==typeof e){if(!K(e))return!0;e=ye(e)}if(z(e,O))return!0;const t=f.trustedServers||[];for(let r=0;r<t.length;r++){const n=F(t[r]);for(let t=0;t<n.length;t++)if(z(e,n[t]))return!0}return!1}function F(e){return A[e]||(ie(e)||oe(e)?A[e]=[new w(J(e))]:A[e]=[new w(`http://${e}`),new w(`https://${e}`)]),A[e]}function J(e,t=k,r){return oe(e)?r?.preserveProtocolRelative?e:"http"===O.scheme&&O.authority===V(e).slice(2)?`http:${e}`:`https:${e}`:ie(e)?e:H("/"===e[0]?function(e){const t=e.indexOf("//"),r=e.indexOf("/",t+2);return-1===r?e:e.slice(0,r)}(t):t,e)}function W(e,t=k,r){if(null==e||!K(e))return e;const n=G(e),s=n.toLowerCase(),o=G(t).toLowerCase().replace(/\/+$/,""),i=r?G(r).toLowerCase().replace(/\/+$/,""):null;if(i&&0!==o.indexOf(i))return e;const a=(e,t,r)=>-1===(r=e.indexOf(t,r))?e.length:r;let c=a(s,"/",s.indexOf("//")+2),l=-1;for(;s.slice(0,c+1)===o.slice(0,c)+"/"&&(l=c+1,c!==s.length);)c=a(s,"/",c+1);if(-1===l)return e;if(i&&l<i.length)return e;e=n.slice(l);const u=o.slice(l-1).replaceAll(/[^/]+/g,"").length;if(u>0)for(let t=0;t<u;t++)e=`../${e}`;else e=`./${e}`;return e}function G(e){return function(e){const t=f.httpsDomains;if(!function(e){return null!=e&&p.test(e)||"http"===O.scheme&&oe(e)}(e))return e;const r=e.indexOf("/",7);let n;if(n=-1===r?e:e.slice(0,r),n=n.toLowerCase().slice(7),m.test(n)){if(!n.endsWith(":80"))return e;n=n.slice(0,-3),e=e.replace(":80","")}return"http"===O.scheme&&n===O.authority&&!b.test(e)||(le()&&n===O.authority||t&&t.some((e=>n===e||n.endsWith(`.${e}`)))||le()&&!R(e))&&(e=ce(e)),e}(e=function(e){return e.replace(/^(https?:\/\/)(arcgis\.com)/i,"$1www.$2")}(e=function(e){if(/^https?:\/\//i.test(e)){const t=M(e);e=(e=t.path.replaceAll(/\/{2,}/g,"/")).replace("/","//"),t.query&&(e+=`?${t.query}`)}return e}(e=J(e=e.trim()))))}function H(...e){const t=e.filter(s.Ru);if(!t?.length)return;const r=[];if(K(t[0])){const e=t[0],n=e.indexOf("//");-1!==n&&(r.push(e.slice(0,n+1)),function(e){return null!=e&&y.test(e)}(t[0])&&(r[0]+="/"),t[0]=e.slice(n+2))}else"/"===t[0][0]&&r.push("");const n=t.reduce(((e,t)=>t?e.concat(t.split("/")):e),[]);for(let e=0;e<n.length;e++){const t=n[e];".."===t&&r.length>0&&".."!==r[r.length-1]?r.pop():(!t&&e===n.length-1||t&&("."!==t||0===r.length))&&r.push(t)}return r.join("/")}function V(e,t=!1){if(null==e||Y(e)||Z(e))return null;let r=e.indexOf("://");if(-1===r&&oe(e))r=2;else{if(-1===r)return null;r+=3}const n=e.indexOf("/",r);return-1!==n&&(e=e.slice(0,n)),t&&(e=ue(e,!0)),e}function K(e){return oe(e)||ie(e)}function Y(e){return null!=e&&"blob:"===e.slice(0,5)}function Z(e){return null!=e&&"data:"===e.slice(0,5)}function X(e){const t=te(e);return t?.isBase64?(0,l.M)(t.data):null}function Q(e){return(0,l.Y)(e).replaceAll("+","-").replaceAll("/","_").replace(/=+$/,"")}const ee=/^data:(.*?)(;base64)?,(.*)$/;function te(e){const t=e.match(ee);if(!t)return null;const[,r,n,s]=t;return{mediaType:r,isBase64:!!n,data:s}}function re(e){return e.isBase64?`data:${e.mediaType};base64,${e.data}`:`data:${e.mediaType},${e.data}`}async function ne(e){return(await fetch(e)).blob()}function se(e){const t=X(e);if(!t)return null;const r=te(e);return new Blob([t],{type:r.mediaType})}function oe(e){return null!=e&&"/"===e[0]&&"/"===e[1]}function ie(e){return null!=e&&h.test(e)}function ae(e){return null!=e&&g.test(e)||"https"===O.scheme&&oe(e)}function ce(e){return oe(e)?`https:${e}`:e.replace(p,"https:")}function le(){return"https"===O.scheme}function ue(e,t=!1){return oe(e)?e.slice(2):(e=e.replace(h,""),t&&e.length>1&&"/"===e[0]&&"/"===e[1]&&(e=e.slice(2)),e)}function fe(e){let t=0;if(K(e)){const r=e.indexOf("//");-1!==r&&(t=r+2)}const r=e.lastIndexOf("/");return r<t?e:e.slice(0,r+1)}function de(e,t){if(!e)return"";const r=T(e).path.replace(/\/+$/,""),n=r.slice(r.lastIndexOf("/")+1);if(!t?.length)return n;const s=new RegExp(`\\.(${t.join("|")})$`,"i");return n.replace(s,"")}function he(e){return e.endsWith("/")?e:`${e}/`}function pe(e){return e.replace(/\/+$/,"")}function ge(e,t,r){if(!(t&&r&&e&&K(e)))return e;const n=e.indexOf("//"),s=e.indexOf("/",n+2),o=e.indexOf(":",n+2),i=Math.min(s<0?e.length:s,o<0?e.length:o);return e.slice(n+2,i).toLowerCase()!==t.toLowerCase()?e:`${e.slice(0,n+2)}${r}${e.slice(i)}`}function ye(e){return"string"==typeof e?new w(J(e)):(e.scheme||(e.scheme=O.scheme),e)}function me(e,t){const r=T(e),n=Object.keys(r.query||{});return n.length>0&&t&&t.warn("removeQueryParameters()",`Url query parameters are not supported, the following parameters have been removed: ${n.join(", ")}.`),r.path}function be(e,t,r){const n=T(e),s=n.query||{};return s[t]=String(r),`${n.path}?${j(s)}`}function _e(e,t){if(!t)return e;const r=T(e),n=r.query||{};for(const[e,r]of Object.entries(t))null!=r&&(n[e]=r);const s=j(n);return s?`${r.path}?${s}`:r.path}function ve(e){if(null==e)return null;const t=e.match(Oe);return t?t[2]:null}function we(e){if(null==e)return null;const t=e.match(Oe);return t?{path:t[1],extension:t[2]}:{path:e,extension:null}}async function Ae(e){return"string"==typeof e?te(e)??{data:e}:new Promise(((t,r)=>{const n=new FileReader;n.readAsDataURL(e),n.onload=()=>t(te(n.result)),n.onerror=e=>r(e)}))}const Oe=/([^.]*)\.([^/]*)$/},52268:(e,t,r)=>{"use strict";function n(e,t){return new Proxy({},{get:(r,n,s)=>(...r)=>{let s,o;const i=r[r.length-1];return function(e){return"object"==typeof e&&!Array.isArray(e)&&null!=e&&("signal"in e||"transferList"in e||0===Object.keys(e).length)}(i)&&(s=i.signal,o=i.transferList,r.pop()),e.apply(t?`${t}.${n.toString()}`:n.toString(),r,{transferList:o,signal:s})}})}r.d(t,{L:()=>n})},61322:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>v});var n=r(70333),s=r(49186),o=r(37955),i=r(36563),a=r(97768),c=r(74887),l=r(52268);const u={statsWorker:()=>Promise.all([r.e(6285),r.e(4996),r.e(8902),r.e(4080),r.e(7455),r.e(8438),r.e(201),r.e(3009)]).then(r.bind(r,33009)),geometryEngineWorker:()=>Promise.all([r.e(9930),r.e(6387)]).then(r.bind(r,68887)),CSVSourceWorker:()=>Promise.all([r.e(6285),r.e(7251),r.e(8368),r.e(4996),r.e(8902),r.e(4080),r.e(7455),r.e(9884),r.e(8438),r.e(201),r.e(8432),r.e(73)]).then(r.bind(r,40752)),EdgeProcessingWorker:()=>Promise.all([r.e(3030),r.e(9899),r.e(7346)]).then(r.bind(r,71936)),ElevationSamplerWorker:()=>Promise.all([r.e(7251),r.e(4996),r.e(8902),r.e(4080),r.e(7455),r.e(3030),r.e(2324)]).then(r.bind(r,38419)),FeatureServiceSnappingSourceWorker:()=>Promise.all([r.e(6285),r.e(1956),r.e(7251),r.e(8368),r.e(4996),r.e(8902),r.e(4080),r.e(7455),r.e(6208),r.e(9884),r.e(8438),r.e(201),r.e(8432),r.e(2543)]).then(r.bind(r,12543)),GeoJSONSourceWorker:()=>Promise.all([r.e(6285),r.e(7251),r.e(8368),r.e(4996),r.e(8902),r.e(4080),r.e(7455),r.e(9884),r.e(8438),r.e(201),r.e(8432),r.e(6117)]).then(r.bind(r,71202)),LercWorker:()=>r.e(7087).then(r.bind(r,57087)),MemorySourceWorker:()=>Promise.all([r.e(6285),r.e(7251),r.e(8368),r.e(4996),r.e(8902),r.e(4080),r.e(7455),r.e(9884),r.e(8438),r.e(201),r.e(8432),r.e(1428)]).then(r.bind(r,29432)),PBFDecoderWorker:()=>Promise.all([r.e(4996),r.e(8902),r.e(4080),r.e(6208),r.e(7367)]).then(r.bind(r,97367)),FeaturePipelineWorker:()=>Promise.all([r.e(6285),r.e(587),r.e(6311),r.e(1956),r.e(7251),r.e(8368),r.e(4996),r.e(8902),r.e(4080),r.e(7455),r.e(6208),r.e(9884),r.e(8438),r.e(201),r.e(9949),r.e(9423),r.e(821),r.e(8250)]).then(r.bind(r,8250)),PointCloudWorker:()=>Promise.all([r.e(4996),r.e(7455),r.e(690),r.e(2944),r.e(7984),r.e(4731)]).then(r.bind(r,34142)),RasterWorker:()=>Promise.all([r.e(7251),r.e(4996),r.e(8902),r.e(4080),r.e(984),r.e(4932),r.e(5722)]).then(r.bind(r,30139)),SceneLayerSnappingSourceWorker:()=>Promise.all([r.e(7455),r.e(690),r.e(3030),r.e(9899),r.e(6064)]).then(r.bind(r,46064)),SceneLayerWorker:()=>Promise.all([r.e(6285),r.e(1956),r.e(7251),r.e(4996),r.e(8902),r.e(4080),r.e(7455),r.e(690),r.e(2944),r.e(9287),r.e(4654),r.e(8580)]).then(r.bind(r,2060)),WFSSourceWorker:()=>Promise.all([r.e(6285),r.e(7251),r.e(8368),r.e(4996),r.e(8902),r.e(4080),r.e(7455),r.e(9884),r.e(8438),r.e(201),r.e(8432),r.e(4322),r.e(4613)]).then(r.bind(r,33771)),WorkerTileHandler:()=>Promise.all([r.e(4996),r.e(8902),r.e(9949),r.e(5013),r.e(9423),r.e(3379)]).then(r.bind(r,11764)),Lyr3DWorker:()=>r.e(9234).then(r.bind(r,79234)),Feature3DPipelineWorker:()=>Promise.all([r.e(6285),r.e(3874),r.e(1147),r.e(587),r.e(1956),r.e(7251),r.e(8368),r.e(4996),r.e(8902),r.e(4080),r.e(7455),r.e(6208),r.e(690),r.e(9884),r.e(8438),r.e(3030),r.e(201),r.e(2944),r.e(9899),r.e(9287),r.e(4023),r.e(168)]).then(r.bind(r,14936))};var f=r(8341),d=r(18357);const{CLOSE:h,ABORT:p,INVOKE:g,RESPONSE:y,OPEN_PORT:m,ON:b}=f.Go;class _{constructor(e){this._invoke=e,this._timer=null,this._cancelledJobIds=new Set,this._invokeMessages=[],this._timer=null,this._process=this._process.bind(this)}push(e){e.type===f.Go.ABORT?this._cancelledJobIds.add(e.jobId):(this._invokeMessages.push(e),null===this._timer&&(this._timer=setTimeout(this._process,0)))}clear(){this._invokeMessages.length=0,this._cancelledJobIds.clear(),this._timer=null}_process(){this._timer=null;for(const e of this._invokeMessages)this._cancelledJobIds.has(e.jobId)||this._invoke(e);this._cancelledJobIds.clear(),this._invokeMessages.length=0}}class v{static connect(e,t){const r=new MessageChannel;let n;n="function"==typeof e?new e:"default"in e&&"function"==typeof e.default?new e.default:e;const s=new v(r.port1,{channel:r,client:n,schedule:t});return"object"==typeof n&&"remoteClient"in n&&(n.remoteClient=s),v.clients.set(s,n),r.port2}static loadWorker(e){const t=u[e];return t?t():Promise.resolve(null)}constructor(e,t,r){this._port=e,this._jobQueue=r,this._outJobs=new Map,this._inJobs=new Map,this._invokeQueue=new _((e=>this._onInvokeMessage(e))),this._client=t.client,this._onMessage=this._onMessage.bind(this),this._channel=t.channel,this._schedule=t.schedule,this._port.addEventListener("message",this._onMessage),this._port.start()}close(){this._post({type:h}),this._close()}isBusy(){return this._outJobs.size>0}invoke(e,t,r){return this.apply(e,[t],r)}apply(e,t,r){const n=r?.signal,o=r?.transferList;if(!this._port)return Promise.reject(new s.A(f.T,`Cannot call invoke('${e}'), port is closed`,{methodName:e,data:t}));const i=(0,f.Jc)();return new Promise(((r,s)=>{if((0,c.G4)(n))return this._processWork(),void s((0,c.NK)());const l=(0,c.u7)(n,(()=>{const e=this._outJobs.get(i);e&&(this._outJobs.delete(i),this._processWork(),(0,a.xt)(e.abortHandle),this._post({type:p,jobId:i}),s((0,c.NK)()))})),u={resolve:r,reject:s,abortHandle:l,debugInfo:e};this._outJobs.set(i,u),this._post({type:g,jobId:i,methodName:e,abortable:null!=n},t,o)}))}createInvokeProxy(e){return(0,l.L)(this,e)}on(e,t){const r=new MessageChannel;function n(e){t(e.data)}return this._port.postMessage({type:f.Go.ON,eventType:e,port:r.port2},[r.port2]),r.port1.addEventListener("message",n),r.port1.start(),(0,i.hA)((()=>{r.port1.postMessage({type:f.Go.CLOSE}),r.port1.close(),r.port1.removeEventListener("message",n)}))}jobAdded(){this._processWork()}openPort(){const e=new MessageChannel;return this._post({type:m,port:e.port2}),e.port1}_processWork(){if(this._outJobs.size>=2)return;const e=this._jobQueue?.pop();if(!e)return;const{methodName:t,data:r,invokeOptions:n,resolver:s}=e;this.apply(t,r,n).then((e=>s.resolve(e))).catch((e=>s.reject(e)))}_close(){this._channel&&(this._channel=void 0),this._port.removeEventListener("message",this._onMessage),this._port.close(),this._outJobs.forEach((e=>{(0,a.xt)(e.abortHandle),e.reject((0,c.NK)(`Worker closing, aborting job calling '${e.debugInfo}'`))})),this._inJobs.clear(),this._outJobs.clear(),this._invokeQueue.clear(),this._port=null,this._client=null,this._schedule=null}_onMessage(e){null!=this._schedule?this._schedule((()=>this._processMessage(e,!0))):this._processMessage(e,!1)}_processMessage(e,t){const r=(0,f.VI)(e);if(r)switch(r.type){case y:this._onResponseMessage(r);break;case g:t?this._onInvokeMessage(r):this._invokeQueue.push(r);break;case p:this._onAbortMessage(r);break;case h:this._onCloseMessage();break;case m:this._onOpenPortMessage(r);break;case b:this._onOnMessage(r)}}_onAbortMessage(e){const t=this._inJobs,r=e.jobId,n=t.get(r);this._invokeQueue.push(e),n&&(n.controller&&n.controller.abort(),t.delete(r))}_onCloseMessage(){const e=this._client;this._close(),e&&"destroy"in e&&v.clients.get(this)===e&&e.destroy(),v.clients.delete(this),e?.remoteClient&&(e.remoteClient=null)}_onInvokeMessage(e){const{methodName:t,jobId:r,data:n=[],abortable:s}=e,o=s?new AbortController:null,i=this._inJobs;let a,l=this._client,u=l[t];try{if(!u&&t&&t.includes(".")){const e=t.split(".");for(let t=0;t<e.length-1;t++)l=l[e[t]],u=l[e[t+1]]}if("function"!=typeof u)throw new TypeError(`${t} is not a function`);n.push({client:this,signal:o?o.signal:null}),a=u.apply(l,n)}catch(e){return void this._post({type:y,jobId:r,error:(0,f.mF)(e)})}(0,c.$X)(a)?(i.set(r,{controller:o,promise:a}),a.then((e=>{i.has(r)&&(i.delete(r),this._post({type:y,jobId:r},e))}),(e=>{i.has(r)&&(i.delete(r),(0,c.zf)(e)||this._post({type:y,jobId:r,error:(0,f.mF)(e||{message:`Error encountered at method ${t}`})}))}))):this._post({type:y,jobId:r},a)}_onOpenPortMessage(e){new v(e.port,{client:this._client})}_onOnMessage(e){const{port:t}=e,r=this._client.on(e.eventType,(e=>{t.postMessage(e)})),n=(0,o.on)(e.port,"message",(e=>{const s=(0,f.VI)(e);s?.type===f.Go.CLOSE&&(n.remove(),r.remove(),t.close())}))}_onResponseMessage(e){const{jobId:t,error:r,data:n}=e,o=this._outJobs;if(!o.has(t))return;const i=o.get(t);o.delete(t),this._processWork(),(0,a.xt)(i.abortHandle),r?i.reject(s.A.fromJSON(JSON.parse(r))):i.resolve(n)}_post(e,t,r){return(0,f.u1)(this._port,e,t,r)}}v.kernelInfo={buildDate:d.$,fullVersion:n.ol,revision:d.u},v.clients=new Map},8341:(e,t,r)=>{"use strict";r.d(t,{Go:()=>i,Jc:()=>l,T:()=>o,VI:()=>d,mF:()=>u,oV:()=>p,u1:()=>f});var n=r(44208),s=r(74887);const o="worker:port-closed";var i,a;(a=i||(i={}))[a.HANDSHAKE=0]="HANDSHAKE",a[a.OPEN=1]="OPEN",a[a.OPENED=2]="OPENED",a[a.RESPONSE=3]="RESPONSE",a[a.INVOKE=4]="INVOKE",a[a.ABORT=5]="ABORT",a[a.CLOSE=6]="CLOSE",a[a.OPEN_PORT=7]="OPEN_PORT",a[a.ON=8]="ON";let c=0;function l(){return c++}function u(e){return e?"string"==typeof e?JSON.stringify({name:"message",message:e}):e.toJSON?JSON.stringify(e):JSON.stringify({name:e.name,message:e.message,details:e.details||{stack:e.stack}}):null}function f(e,t,r,s){if(t.type===i.OPEN_PORT)return void e.postMessage(t,[t.port]);if(t.type!==i.INVOKE&&t.type!==i.RESPONSE)return void e.postMessage(t);let o;if(function(e){return e&&"object"==typeof e&&("result"in e||"transferList"in e)}(r)?(o=h(r.transferList),t.data=r.result):(o=h(s),t.data=r),o){if((0,n.A)("ff"))for(const r of o)if("byteLength"in r&&r.byteLength>267386880){const r="Worker call with large ArrayBuffer would crash Firefox";switch(t.type){case i.INVOKE:throw r;case i.RESPONSE:return void f(e,{type:i.RESPONSE,jobId:t.jobId,error:u(r)})}}e.postMessage(t,o)}else e.postMessage(t)}function d(e){if(!e)return null;const t=e.data;return t?"string"==typeof t?JSON.parse(t):t:null}function h(e){if(!e?.length)return null;if((0,n.A)("esri-workers-arraybuffer-transfer"))return e;const t=e.filter((e=>!function(e){return e instanceof ArrayBuffer||"ArrayBuffer"===e?.constructor?.name}(e)));return t.length?t:null}async function p(e){try{return await e}catch(e){const t=e?.name===o;if(!(0,s.zf)(e)&&!t)throw e;return}}},70333:(e,t,r)=>{"use strict";r.d(t,{Aq:()=>l,Y3:()=>u,id:()=>a,ol:()=>c,rE:()=>i});var n=r(44208),s=r(84952),o=r(18357);Symbol.dispose??=Symbol("Symbol.dispose"),Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");const i="4.32";let a,c=i;function l(e){a=e}function u(e){const t=a?.findCredential(e);return t?.token?(0,s.rs)(e,"token",t.token):e}c=`4.32.0-next.${o.$}`,(0,n.A)("host-webworker")||globalThis.$arcgis||Object.defineProperty(globalThis,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),(0,n.A)("host-webworker")},39131:(e,t,r)=>{"use strict";r.d(t,{$E:()=>i,py:()=>o,qG:()=>a});const n=/^https:\/\/([a-z\d-]+)(\.maps([^.]*))?\.arcgis\.com/i,s={devext:{customBaseUrl:"mapsdevext.arcgis.com",portalHostname:"devext.arcgis.com"},qaext:{customBaseUrl:"mapsqa.arcgis.com",portalHostname:"qaext.arcgis.com"},www:{customBaseUrl:"maps.arcgis.com",portalHostname:"www.arcgis.com"}};function o(e){const t=e?.match(n);if(!t)return null;const[,r,o,i]=t;if(!r)return null;let a=null,c=null,l=null;const{devext:u,qaext:f,www:d}=s;if(o)if(a=r,i)switch(i.toLowerCase()){case"devext":({customBaseUrl:c,portalHostname:l}=u);break;case"qa":({customBaseUrl:c,portalHostname:l}=f);break;default:return null}else({customBaseUrl:c,portalHostname:l}=d);else switch(r.toLowerCase()){case"devext":({customBaseUrl:c,portalHostname:l}=u);break;case"qaext":({customBaseUrl:c,portalHostname:l}=f);break;case"www":({customBaseUrl:c,portalHostname:l}=d);break;default:return null}return{customBaseUrl:c,isPortal:!1,portalHostname:l,urlKey:a}}function i(e){return/\/(sharing|usrsvcs)\/(appservices|servers)\//i.test(e)}function a(e){const t=/^https?:\/\/(?:cdn|[a-z\d-]+\.maps)\.arcgis\.com/i,r=/^https?:\/\/(?:cdndev|[a-z\d-]+\.mapsdevext)\.arcgis\.com/i,n=/^https?:\/\/(?:cdnqa|[a-z\d-]+\.mapsqa)\.arcgis\.com/i;return t.test(e)?e=e.replace(t,"https://www.arcgis.com"):r.test(e)?e=e.replace(r,"https://devext.arcgis.com"):n.test(e)&&(e=e.replace(n,"https://qaext.arcgis.com")),e}},26306:(e,t,r)=>{"use strict";function n(e){const t=atob(e),r=new Uint8Array(t.length);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);return r.buffer}function s(e){const t=new Uint8Array(e);let r="";for(let e=0;e<t.length;e++)r+=String.fromCharCode(t[e]);return btoa(r)}r.d(t,{M:()=>n,Y:()=>s})},18357:(e,t,r)=>{"use strict";r.d(t,{$:()=>n,u:()=>s});const n="20241026",s="51dcf067b055379ceb997f40531bef9efa050664"}},t={};function r(n){var s=t[n];if(void 0!==s)return s.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}r.m=e,r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((t,n)=>(r.f[n](e,t),t)),[])),r.u=e=>"chunks/"+{1:"c87ef4e3054c661a74e9",36:"92b2d81ef16877341f97",73:"8dab75b9b059aa9f9f7b",146:"56326fd42c3aecb323d1",168:"d074ba015bab3ec39071",177:"78683f1aadc1377be5fd",191:"090697a2a46210da2111",201:"24ca364848b51494b923",309:"7a81e975bc4f2f09d07e",349:"198d74db9631a66bd850",369:"3871d2ecef5bcf6ac14f",382:"ad19e3eaa339b0d6cb44",435:"4c6a6787d0c9dc7b99c1",475:"196ff12122673fffd161",587:"cb919ef253df5838c818",624:"e6a07b8d34435aedd72e",659:"b249375dc905cdf50763",690:"9a30ad773c22bde61c64",692:"0f6e3f614a12a56e5246",735:"dc1225b55b5d09fbaf63",820:"339e7a900e2bba9d3647",821:"4f26755aa14a0837aa60",980:"9f08945b9ee224666d21",984:"8515be0f67563392b624",1053:"71bd94cc789a55910f92",1132:"2d326816127032dd8ec1",1147:"2cfafc7a06cf363cc8dc",1204:"618f825d56d4981594c5",1273:"59f798e2b277615204de",1275:"b2080c2a87ff35962d5c",1277:"b3626f0d1bcb542c5ea0",1346:"1201e22dbadb87cd420c",1384:"47c8f8a48d6c8175a016",1389:"608118665a9ed136b2b8",1402:"bf707397c5dc20a68419",1428:"2222ebdc9c436bec80d3",1493:"862177e13be636dfa578",1507:"2d6cb891a5de393e4798",1528:"6dd21790b94856ad9ba1",1737:"72e9f2b30b637bbcdf7c",1756:"c205e2310a367be57cc3",1786:"c59c024ca1c6ae87e087",1804:"c9160a55db38aa3efbc8",1892:"c90be1540463bf613dc8",1956:"760130e1940b299c1ff7",1967:"9cfaf1cbbb1d6453e939",2180:"31baef3b699364e8df98",2186:"9fde9309cb64f1a9301c",2194:"d4906a60d4e3aead1196",2288:"fd2f3b344ae822e9d001",2324:"624382c5785e92ba5ef1",2329:"bd88f6c4ff81bdaf8bdd",2343:"634a2c2d65998a699900",2390:"b3c7c48b0beaac0ff73f",2543:"e31923da0ded26b8003c",2558:"5ee4f59a9b742ce114c7",2593:"914ac4fc7e24f2c814ac",2731:"6b0baecbd35d26393dcf",2780:"49df374aa64ed9204ca7",2931:"556c989c03fbfe847262",2944:"ee794e3c916da2fb9275",2958:"236e0f5d5ac1a6ea1107",2980:"303b5d0b70450d9d3061",3009:"c0af54cc5938176ce764",3030:"5660f13d78e9e4240034",3069:"f1313389eeb7a2350db3",3075:"c1fe40653005f97fc754",3091:"cf009714b40a0b808476",3186:"837471fcf383a0f4b6ff",3209:"527932bf4c31cec46922",3359:"56debaa070f69ca41524",3379:"ac42e288b0fed706b63d",3390:"002f544609275b74912f",3492:"87f33a60768801ca1ce8",3513:"4b0f9f298f8c7560f318",3543:"90e758afa0bc8f5a5001",3552:"82346b518b7625c4e184",3561:"0ad628ba26fd1798ca9b",3600:"bd1cb0ba0ec302ab1ad5",3656:"adc40069ed6001d6448c",3666:"0f153941204401bad127",3812:"5cfecb320e1dcd258b2e",3839:"931fd7656a893459bcad",3874:"3e232e34b927b6b61f61",3920:"66595213e5db07a54a07",3995:"229d48e4f3c12cb094c1",4023:"bc4ef18d0a02354186e3",4060:"bd11017c2cc0fbeeab49",4068:"a1752adee1f58ee21581",4080:"8252430e40bfe3b12397",4106:"35b2ac01f9c9d0af11fd",4111:"b8c49178cd0f7465380c",4174:"da1687d68cfe20e4f069",4322:"089215b6724cb2bda01a",4399:"0f3912bca9fe25eea75c",4543:"59b51698c38eade0ac9e",4594:"03192a2af5707c30b5bb",4613:"c28f01f886f1fbfa9fe4",4654:"aa76c9a7be61cea5fcd1",4731:"f409c5fcef0ee9d84ed7",4761:"e20994ca9739e7c58c7a",4784:"dcf88605951b3f8e7883",4796:"a7ba05cfc6a7d8936651",4800:"b24efb1806c6f3837f4d",4845:"2d055375ee78d3867a75",4932:"b59fc770f6a8f0d913f7",4996:"3d411e74ce7bc1ce2497",5013:"860539eb50f6bd62e663",5112:"eed944144d9777167fc4",5141:"3a2eaa334845cac4d497",5159:"c1e67a20380ec6e0e41c",5165:"aa597918f8d480deb8d4",5181:"fa965913c3da2e89329b",5257:"f92d76b694ff0cdb212c",5356:"4c5b1197902d2dc111bc",5367:"a8fb4cafe78c85e5a179",5399:"73d4daed6f631591cb20",5404:"54c0fa14e267ab9b1641",5494:"6c1fa42d704a75bd49b8",5613:"1fdb086f793f84a74a42",5722:"a6d9f35635164d088b68",5740:"97e2da750105431b8e94",5804:"46f6a190e3c943b44095",5894:"a9084c92aad84e35385d",5989:"06c7b609d8f905aecd11",6052:"6e330859ba7dd5a728d7",6056:"aaf0c13cb24c1a9cbf54",6064:"71f6e5742cf0c482066b",6107:"1d6c66dfeb646b2d38d0",6117:"1ae257fd22c88d216538",6131:"7395e482ac92291eb1d9",6187:"3f52cecf4a30fbfff435",6208:"65a095fe7417c7d5bd70",6245:"bc763ed89e950cdcdcbb",6285:"f2a6287c8d28be24f71e",6311:"5964a821171992abc991",6387:"947149f819e8278ec8c1",6528:"15f1433e0d44c742cc44",6650:"29da9d3a06f0ee37595f",6845:"c89b58ed0e08cc6b6276",6875:"db8d2762ce23c1a9a2e2",7e3:"4671081f6c556c401cc4",7087:"d9c34e07627d93d4670b",7110:"24e7f4948860c5b239cd",7136:"79f9310179c938f18367",7249:"d4353dbfd03d7054c716",7251:"2a685bf938956b52b6c6",7263:"d497b6443353efc80417",7301:"a611e0543d4b4bb01f3c",7346:"4086698137db0795187f",7364:"f60024154f8402e189c6",7367:"0092a6be826d00efc989",7455:"a6ec3665bde2af8a96e6",7561:"4bd0cf13635f6820ddfe",7656:"317fcb69bd430da134da",7899:"70685c23aad41b0f03ba",7982:"bdc31a00e1f889a27efa",7984:"ad97f3a86de697c18f7b",8003:"3ef2763d480b0d1e8d1a",8018:"6a2ddfe2cf48a28b944a",8096:"7519da0829cb718aebee",8132:"28ae0265dfb31bf7177a",8219:"0722e4c046623241c343",8241:"b372a0aab338a5ecad7c",8250:"45a5c92d2cccbf1bc017",8283:"1678d1d0ecb9b2af69a8",8368:"ad0620341a89395db965",8370:"aa858daeb92e42285ea7",8392:"95ea77a7d63c9d7ed78b",8430:"777c21225a6c7a1ad0a7",8432:"6f48c576f2359bec20d4",8438:"b4748c8e9cce4392e185",8541:"291bdab5737152bc1825",8580:"e2d5bae9f982c65301ce",8628:"5649ede11144c9cfe9ba",8692:"3645401eaceae7ca194f",8846:"2d8aa31dc96bbd014036",8902:"aeade1daa879cfd7511a",8947:"a8d109d2bd5285de2841",9013:"6c10f0cb54a8d6437c35",9062:"e038158e871e3803321a",9087:"65eb22760e37d427e8c8",9186:"99f28667eacd170fe43c",9234:"63670af7bc12a6f243d0",9239:"9ffe586b58faf304ca3d",9287:"93e1d17147fabda45662",9321:"c4e2b75b9135920babc3",9377:"8a232508b7fe011154ab",9384:"ec9d5af8887854e821c8",9390:"128702abaae686a723a2",9423:"7b4880b2dc6b01d70ccc",9564:"43ae802aaee9292090cc",9588:"a69e885336eb5d2729fd",9695:"787e8fad19dcc5d84dd9",9748:"318dc9461246e9593bb2",9759:"587df97288a83721d251",9833:"fc1d1e0b7ce9c0d929a6",9838:"ee200440485d4f0981ed",9884:"db8667fe639bee14c5ca",9899:"5caa02a7a85d05e253b4",9930:"9f312f7284e506a84ed7",9933:"e2be5e8e196784f00edc",9949:"242ae1f4225cc91b0798"}[e]+".js",r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;r.g.importScripts&&(e=r.g.location+"");var t=r.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");if(n.length)for(var s=n.length-1;s>-1&&(!e||!/^http(s?):/.test(e));)e=n[s--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),r.p=e})(),(()=>{var e={76:1};r.f.i=(t,n)=>{e[t]||importScripts(r.p+r.u(t))};var t=self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[],n=t.push.bind(t);t.push=t=>{var[s,o,i]=t;for(var a in o)r.o(o,a)&&(r.m[a]=o[a]);for(i&&i(r);s.length;)e[s.pop()]=1;n(t)}})(),r(2131);var n=r(61322);RemoteClient=n})();
|
|
1
|
+
var RemoteClient;(()=>{var e={2131:(e,t,r)=>{r.p=self.esriConfig.assetsPath+"/esri/core/workers/"},90237:(e,t,r)=>{"use strict";function n(e,t,r,n){var s,o=arguments.length,i=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(i=(o<3?s(i):o>3?s(t,r,i):s(t,r))||i);return o>3&&i&&Object.defineProperty(t,r,i),i}function s(e,t){return function(r,n){t(r,n,e)}}r.d(t,{_:()=>n,a:()=>s}),"function"==typeof SuppressedError&&SuppressedError},92602:(e,t,r)=>{"use strict";r.d(t,{A:()=>o}),r(44208);var n=r(93637),s=r(18357);const o={apiKey:void 0,applicationName:"",applicationUrl:globalThis.location?.href,assetsPath:"",fontsUrl:"https://static.arcgis.com/fonts",geometryServiceUrl:"https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer",geoRSSServiceUrl:"https://utility.arcgis.com/sharing/rss",kmlServiceUrl:"https://utility.arcgis.com/sharing/kml",userPrivilegesApplied:!0,portalUrl:"https://www.arcgis.com",respectPrefersReducedMotion:!0,routeServiceUrl:"https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World",workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{crossOriginNoCorsDomains:null,httpsDomains:["arcgis.com","arcgisonline.com","esrikr.com","premiumservices.blackbridge.com","esripremium.accuweather.com","gbm.digitalglobe.com","firstlook.digitalglobe.com","msi.digitalglobe.com"],interceptors:[],internalInterceptors:[],maxUrlLength:2e3,priority:"high",proxyRules:[],proxyUrl:null,timeout:62e3,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};if(globalThis.esriConfig&&((0,n.$N)(o,globalThis.esriConfig,!0),delete o.has),!o.assetsPath){{const e="4.32.0";o.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@${e}-next.${s.$}/assets`}o.defaultAssetsPath=o.assetsPath}},69622:(e,t,r)=>{"use strict";r.d(t,{A:()=>I});var n=r(71511),s=r(97768),o=r(56454),i=r(16649),a=r(45873),c=r(96156),l=(r(44208),r(4718)),u=(r(53966),r(93687)),f=r(11406),d=r(35666),h=r(62788),p=r(47328),g=r(67867);class y extends f.T{constructor(e,t){super(),this.propertyName=e,this.metadata=t,this.trackingTarget=new g.R(this),this.flags=0,this.flags=p.i.Dirty|(t.nonNullable?p.i.NonNullable:0)|(t.hasOwnProperty("value")?p.i.HasDefaultValue:0)|(void 0===t.get?p.i.DepTrackingInitialized:0)|(void 0===t.dependsOn?p.i.AutoTracked:0)}destroy(){this.flags&p.i.Dirty&&this.onCommitted(),super.destroy(),this.trackingTarget.destroy()}getComputed(e){e.mutable&&(0,h.gc)(this);const t=e.store,r=this.propertyName,n=this.flags,s=t.get(r);if(n&p.i.Computing)return s;if(~n&p.i.Dirty&&t.has(r))return s;this.flags|=p.i.Computing;const o=e.host;let i;n&p.i.AutoTracked?i=(0,h.a)(this.trackingTarget,this.metadata.get,o):((0,h.Xr)(o,this),i=this.metadata.get.call(o)),this.flags|=p.i.DepTrackingInitialized,t.set(r,i,d.Gr.COMPUTED);const a=t.get(r);return a===s?this.flags&=~p.i.Dirty:(0,h.F_)(this.commit,this),this.flags&=~p.i.Computing,a}notifyChange(){this.onInvalidated(),this.onCommitted()}invalidate(){this.onInvalidated()}commit(){this.flags&=~p.i.Dirty,this.onCommitted()}onInvalidated(){~this.flags&p.i.Overridden&&(this.flags|=p.i.Dirty);const e=this._observers;if(e&&e.length>0)for(const t of e)t.onInvalidated()}onCommitted(){const e=this._observers;if(e&&e.length>0){const t=e.slice();for(const e of t)e.onCommitted()}}}class m{constructor(){this._values=new Map,this.multipleOriginsSupported=!1}clone(e){const t=new m;return this._values.forEach(((r,n)=>{e&&e.has(n)||t.set(n,(0,l.o8)(r))})),t}get(e){return this._values.get(e)}originOf(){return d.Gr.USER}keys(){return[...this._values.keys()]}set(e,t){this._values.set(e,t)}delete(e){this._values.delete(e)}has(e){return this._values.has(e)}forEach(e){this._values.forEach(e)}}function b(e,t,r){return void 0!==e}function _(e,t,r,n){return!(void 0===e||null==r&&e.flags&p.i.NonNullable&&(n.lifecycle,a.v.INITIALIZING,1))}class v{constructor(e){this.host=e,this.propertiesByName=new Map,this.ctorArgs=null,this.lifecycle=a.v.INITIALIZING,this.store=new m,this.mutable=!0,this._origin=d.Gr.USER;const t=this.host.constructor.__accessorMetadata__;for(const e in t){const r=new y(e,t[e]);this.propertiesByName.set(e,r)}this.metadata=t}initialize(){this.lifecycle=a.v.CONSTRUCTING}constructed(){this.lifecycle=a.v.CONSTRUCTED}destroy(){this.lifecycle=a.v.DESTROYED,this.propertiesByName.forEach((e=>e.destroy()))}get initialized(){return this.lifecycle!==a.v.INITIALIZING}get(e){const t=this.propertiesByName.get(e);if(t.metadata.get)return t.getComputed(this);this.mutable&&(0,h.gc)(t);const r=this.store;return r.has(e)?r.get(e):t.metadata.value}originOf(e){const t=this.store.originOf(e);if(void 0===t){const t=this.propertiesByName.get(e);if(void 0!==t&&t.flags&p.i.HasDefaultValue)return"defaults"}return(0,d.OL)(t)}has(e){return this.propertiesByName.has(e)&&this.store.has(e)}keys(){return[...this.propertiesByName.keys()]}internalGet(e){const t=this.propertiesByName.get(e);if(b(t))return this.store.has(e)?this.store.get(e):t.metadata.value}internalSet(e,t){const r=this.propertiesByName.get(e);b(r)&&this._internalSet(r,t)}getDependsInfo(e,t,r){const n=this.propertiesByName.get(t);if(!b(n))return"";const s=new g.R,o=(0,h.a)(s,(()=>n.metadata.get?.call(e)));let i=`${r}${e.declaredClass.split(".").pop()}.${t}: ${o}\n`;const a=s.accessed??new Set;if(0===a.size)return i;r+=" ";for(const e of a)e instanceof y&&(i+=`${r}${e.propertyName}: undefined\n`);return i}setAtOrigin(e,t,r){const n=this.propertiesByName.get(e);if(b(n))return this._setAtOrigin(n,t,r)}isOverridden(e){const t=this.propertiesByName.get(e);return void 0!==t&&!!(t.flags&p.i.Overridden)}clearOverride(e){const t=this.propertiesByName.get(e);t&&t.flags&p.i.Overridden&&(t.flags&=~p.i.Overridden,t.notifyChange())}override(e,t){const r=this.propertiesByName.get(e);if(!_(r,0,t,this))return;const n=r.metadata.cast;if(n){const e=this._cast(n,t),{valid:r,value:s}=e;if(w.release(e),!r)return;t=s}r.flags|=p.i.Overridden,this._internalSet(r,t)}set(e,t){const r=this.propertiesByName.get(e);if(!_(r,0,t,this))return;const n=r.metadata.cast;if(n){const e=this._cast(n,t),{valid:r,value:s}=e;if(w.release(e),!r)return;t=s}const s=r.metadata.set;s?s.call(this.host,t):this._internalSet(r,t)}setDefaultOrigin(e){this._origin=(0,d.aB)(e)}getDefaultOrigin(){return(0,d.OL)(this._origin)}notifyChange(e){const t=this.propertiesByName.get(e);void 0!==t&&t.notifyChange()}invalidate(e){const t=this.propertiesByName.get(e);void 0!==t&&t.invalidate()}commit(e){const t=this.propertiesByName.get(e);void 0!==t&&t.commit()}_internalSet(e,t){const r=this.lifecycle!==a.v.INITIALIZING?this._origin:d.Gr.DEFAULTS;this._setAtOrigin(e,t,r)}_setAtOrigin(e,t,r){const n=this.store,s=e.propertyName;n.has(s,r)&&(0,l.aI)(t,n.get(s))&&~e.flags&p.i.Overridden&&r===n.originOf(s)||(e.invalidate(),n.set(s,t,r),e.commit(),(0,h.fE)(this.host,e))}_cast(e,t){const r=w.acquire();return r.valid=!0,r.value=t,e&&(r.value=e.call(this.host,t,r)),r}}const w=new u.A(class{constructor(){this.value=null,this.valid=!0}acquire(){this.valid=!0}release(){this.value=null}});var A=r(47821);var O;!function(e){e[e.Ignore=0]="Ignore",e[e.Destroy=1]="Destroy",e[e.ThrowError=2]="ThrowError"}(O||(O={}));var k,S,E=r(14012),T=r(10107),N=r(40608);function j(e){if(null==e)return{value:e};if(Array.isArray(e))return{type:[e[0]],value:null};switch(typeof e){case"object":return e.constructor?.__accessorMetadata__||e instanceof Date?{type:e.constructor,value:e}:e;case"boolean":return{type:Boolean,value:e};case"string":return{type:String,value:e};case"number":return{type:Number,value:e};case"function":return{type:e,value:null};default:return}}const P=Symbol("Accessor-Handles"),C=Symbol("Accessor-Initialized");class I{static createSubclass(e={}){if(Array.isArray(e))throw new Error("Multi-inheritance unsupported since 4.16");const{properties:t,declaredClass:r,constructor:n}=e;delete e.declaredClass,delete e.properties,delete e.constructor;const s=this;class o extends s{constructor(...e){super(...e),this.inherited=null,n&&n.apply(this,e)}}(0,c.tD)(o.prototype);for(const t in e){const r=e[t];o.prototype[t]="function"==typeof r?function(...e){const n=this.inherited;let o;this.inherited=function(...e){if(s.prototype[t])return s.prototype[t].apply(this,e)};try{o=r.apply(this,e)}catch(e){throw this.inherited=n,e}return this.inherited=n,o}:e[t]}for(const e in t){const r=j(t[e]);(0,T.MZ)(r)(o.prototype,e)}return(0,N.$)(r)(o)}static freeze(e){return e instanceof I?e.__accessor__.mutable=!1:Object.freeze(e),e}static isFrozen(e){return e instanceof I?!e.__accessor__.mutable:Object.isFrozen(e)}constructor(...e){if(this[k]=null,this[S]=!1,this.constructor===I)throw new Error("[accessor] cannot instantiate Accessor. This can be fixed by creating a subclass of Accessor");const t=new v(this);Object.defineProperty(this,"__accessor__",{enumerable:!1,value:t}),e.length>0&&(t.ctorArgs=this.normalizeCtorArgs?.apply(this,e)??e[0])}postscript(){const e=this.__accessor__,t=e.ctorArgs;e.initialize(),t&&(this.set(t),e.ctorArgs=null),e.constructed(),this.initialize(),this[C]=!0}initialize(){}[o.G](){this[P]=(0,s.pR)(this[P])}destroy(){this.destroyed||((0,E.iS)(this),this.__accessor__.destroy())}[Symbol.dispose](){this.destroy()}get constructed(){return this.__accessor__&&this.__accessor__.initialized||!1}get initialized(){return this[C]}get destroyed(){return this.__accessor__?.lifecycle===a.v.DESTROYED||!1}commitProperty(e){(0,i.Jt)(this,e)}hasOwnProperty(e){return this.__accessor__?this.__accessor__.has(e):Object.prototype.hasOwnProperty.call(this,e)}keys(){return this.__accessor__?this.__accessor__.keys():[]}set(e,t){return(0,A.h)(this,e,t),this}watch(e,t,r){return(0,E.wB)(this,e,t,r)}addHandles(e,t){if(this.destroyed){const t=Array.isArray(e)?e:[e];for(const e of t)e.remove()}else(this[P]??=new n.A).add(e,t)}removeHandles(e){this[P]?.remove(e)}removeAllHandles(){this[P]?.removeAll()}removeHandlesReference(e){this[P]?.removeReference(e)}hasHandles(e){return!0===this[P]?.has(e)}_override(e,t){void 0===t?this.__accessor__.clearOverride(e):this.__accessor__.override(e,t)}_clearOverride(e){return this.__accessor__.clearOverride(e)}_overrideIfSome(e,t){null==t?this.__accessor__.clearOverride(e):this.__accessor__.override(e,t)}_isOverridden(e){return this.__accessor__.isOverridden(e)}notifyChange(e){this.__accessor__.notifyChange(e)}_get(e){return this.__accessor__.internalGet(e)}_set(e,t){return this.__accessor__.internalSet(e,t),this}}k=P,S=C},98291:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(93687);function s(e){e.length=0}class o{constructor(e=50,t=50){this._pool=new n.A(Array,void 0,s,t,e)}acquire(){return this._pool.acquire()}release(e){this._pool.release(e)}prune(){this._pool.prune(0)}static acquire(){return i.acquire()}static release(e){return i.release(e)}static prune(){i.prune()}}const i=new o(100)},49186:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(4718),s=r(53966),o=r(79907);class i extends o.A{constructor(e,t,r){super(e,t,r)}toJSON(){if(null!=this.details)try{return{name:this.name,message:this.message,details:JSON.parse(JSON.stringify(this.details,((e,t)=>{if(t&&"object"==typeof t&&"function"==typeof t.toJSON)return t;try{return(0,n.o8)(t)}catch(e){return"[object]"}})))}}catch(e){throw s.A.getLogger("esri.core.Error").error(e),e}return{name:this.name,message:this.message,details:this.details}}static fromJSON(e){return new i(e.name,e.message,e.details)}}i.prototype.type="error"},71511:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});var n=r(5479);class s{constructor(){this._groups=new Map}destroy(){this.removeAll()}get size(){let e=0;return this._groups.forEach((t=>{e+=t.length})),e}add(e,t){if((0,n.xZ)(e)){const r=this._getOrCreateGroup(t);for(const t of e)a(t)&&r.push(t)}else a(e)&&this._getOrCreateGroup(t).push(e);return this}forEach(e,t){if("function"==typeof e)this._groups.forEach((t=>t.forEach(e)));else{const r=this._getGroup(e);r&&t&&r.forEach(t)}}has(e){return this._groups.has(o(e))}remove(e){if("string"!=typeof e&&(0,n.xZ)(e)){for(const t of e)this.remove(t);return this}return this.has(e)?(i(this._getGroup(e)),this._groups.delete(o(e)),this):this}removeAll(){return this._groups.forEach(i),this._groups.clear(),this}removeReference(e){return this._groups.delete(e),this}_getOrCreateGroup(e){if(this.has(e))return this._getGroup(e);const t=[];return this._groups.set(o(e),t),t}_getGroup(e){return this._groups.get(o(e))}}function o(e){return e||"_default_"}function i(e){for(const t of e)t instanceof s?t.removeAll():t.remove()}function a(e){return null!=e&&(!!e.remove||e instanceof s)}},25482:(e,t,r)=>{"use strict";r.d(t,{oY:()=>m,Te:()=>p,Wj:()=>y});var n=r(90237),s=r(69622),o=r(4718),i=r(35666);class a{constructor(){this._values=new Map,this.multipleOriginsSupported=!1}clone(e){const t=new a;return this._values.forEach(((r,n)=>{e&&e.has(n)||t.set(n,(0,o.o8)(r.value),r.origin)})),t}get(e,t){t=this._normalizeOrigin(t);const r=this._values.get(e);return null==t||r?.origin===t?r?.value:void 0}originOf(e){return this._values.get(e)?.origin??i.Gr.USER}keys(e){e=this._normalizeOrigin(e);const t=[...this._values.keys()];return null==e?t:t.filter((t=>this._values.get(t)?.origin===e))}set(e,t,r){if((r=this._normalizeOrigin(r))===i.Gr.DEFAULTS){const t=this._values.get(e);if(null!=t?.origin&&t.origin>r)return}this._values.set(e,new c(t,r))}delete(e,t){null!=(t=this._normalizeOrigin(t))&&this._values.get(e)?.origin!==t||this._values.delete(e)}has(e,t){return null!=(t=this._normalizeOrigin(t))?this._values.get(e)?.origin===t:this._values.has(e)}forEach(e){this._values.forEach((({value:t},r)=>e(t,r)))}_normalizeOrigin(e){if(null!=e)return e===i.Gr.DEFAULTS?e:i.Gr.USER}}class c{constructor(e,t){this.value=e,this.origin=t}}var l=r(76953),u=r(45917),f=r(88620),d=r(49422),h=r(40608);const p=e=>{let t=class extends e{constructor(...e){super(...e);const t=(0,f.oY)(this),r=t.store,n=new a;t.store=n,(0,l.k)(t,r,n)}read(e,t){(0,u.L)(this,e,t)}write(e,t){return(0,d.M)(this,e??{},t)}toJSON(e){return this.write({},e)}static fromJSON(e,t){return g.call(this,e,t)}};return t=(0,n._)([(0,h.$)("esri.core.JSONSupport")],t),t.prototype.toJSON.isDefaultToJSON=!0,t};function g(e,t){if(!e)return null;if(e.declaredClass)throw new Error("JSON object is already hydrated");const r=new this;return r.read(e,t),r}function y(e){return e&&"object"==typeof e&&"toJSON"in e&&"function"==typeof e.toJSON}let m=class extends(p(s.A)){};m=(0,n._)([(0,h.$)("esri.core.JSONSupport")],m)},53966:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(92602),s=(r(44208),r(799));const o={info:0,warn:1,error:2,none:3};class i{constructor(e){this.level=null,this._module="",this._parent=null,this.writer=null,this._loggedMessages={error:new Map,warn:new Map,info:new Map},null!=e.level&&(this.level=e.level),null!=e.writer&&(this.writer=e.writer),this._module=e.module,i._loggers.set(this.module,this);const t=this.module.lastIndexOf(".");-1!==t&&(this._parent=i.getLogger(this.module.slice(0,t)))}get module(){return this._module}get parent(){return this._parent}error(...e){this._log("error","always",...e)}warn(...e){this._log("warn","always",...e)}info(...e){this._log("info","always",...e)}errorOnce(...e){this._log("error","once",...e)}warnOnce(...e){this._log("warn","once",...e)}infoOnce(...e){this._log("info","once",...e)}errorOncePerTick(...e){this._log("error","oncePerTick",...e)}warnOncePerTick(...e){this._log("warn","oncePerTick",...e)}infoOncePerTick(...e){this._log("info","oncePerTick",...e)}get test(){}static get test(){}static getLogger(e){return e="string"!=typeof e?e.declaredClass:e,i._loggers.get(e)||new i({module:e})}_log(e,t,...r){if(this._matchLevel(e)){if("always"!==t&&!i._throttlingDisabled){const n=function(...e){return(0,s.Wm)(JSON.stringify(e,((e,t)=>"object"!=typeof t||Array.isArray(t)?t:"[Object]")))}(r),o=this._loggedMessages[e].get(n);if("once"===t&&null!=o||"oncePerTick"===t&&o&&o>=i._tickCounter)return;this._loggedMessages[e].set(n,i._tickCounter),i._scheduleTickCounterIncrement()}for(const t of n.A.log.interceptors)if(t(e,this.module,...r))return;this._inheritedWriter()(e,this.module,...r)}}_parentWithMember(e,t){let r=this;for(;null!=r;){const t=r[e];if(null!=t)return t;r=r.parent}return t}_inheritedWriter(){return this._parentWithMember("writer",a)}_matchLevel(e){const t=n.A.log.level||"warn";return o[this._parentWithMember("level",t)]<=o[e]}static _scheduleTickCounterIncrement(){i._tickCounterScheduled||(i._tickCounterScheduled=!0,Promise.resolve().then((()=>{i._tickCounter++,i._tickCounterScheduled=!1})))}}function a(e,t,...r){console[e](`[${t}]`,...r)}i._loggers=new Map,i._tickCounter=0,i._tickCounterScheduled=!1,i._throttlingDisabled=!1},91869:(e,t,r)=>{"use strict";function n(e,t){for(const r of e.values())if(t(r))return!0;return!1}function s(e,t,r){const n=e.get(t);if(void 0!==n)return n;const s=r();return e.set(t,s),s}function o(e){const t=new Map;return r=>(t.has(r)||t.set(r,e(r)),t.get(r))}r.d(t,{Bj:()=>o,Bs:()=>n,tE:()=>s})},79907:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});var n=r(93637);class s{constructor(e,t,r=void 0){this.name=e,this.details=r,this.message=(t&&function(e,t){return e.replaceAll(/\$\{([^\s:}]*)(?::([^\s:}]+))?\}/g,((e,r)=>""===r?"$":((0,n.wc)(r,t)??"").toString()))}(t,r))??""}toString(){return"["+this.name+"]: "+this.message}}},93687:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});class n{constructor(e,t,r,n=1,s=0){this._ctor=e,this._acquireFunction=t,this._releaseFunction=r,this.allocationSize=n,this._pool=new Array(s),this._initialSize=s;for(let e=0;e<s;e++)this._pool[e]=new this._ctor;this.allocationSize=Math.max(n,1)}destroy(){this.prune(0)}acquire(...e){let t;if(n.test.disabled)t=new this._ctor;else{if(0===this._pool.length){const e=this.allocationSize;for(let t=0;t<e;t++)this._pool[t]=new this._ctor}t=this._pool.pop()}return this._acquireFunction?this._acquireFunction(t,...e):function(e){return e?.acquire&&"function"==typeof e.acquire}(t)&&t.acquire(...e),t}release(e){var t;e&&!n.test.disabled&&(this._releaseFunction?this._releaseFunction(e):(t=e,t?.release&&"function"==typeof t.release&&e.release()),this._pool.push(e))}prune(e=this._initialSize){if(!(e>=this._pool.length)){for(let t=e;t<this._pool.length;++t){const e=this._pool[t];this._dispose(e)}this._pool.length=e}}_dispose(e){e.dispose&&"function"==typeof e.dispose&&e.dispose()}}n.test={disabled:!1}},61604:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});class n{constructor(e,t=30){this.name=e,this._counter=0,this._samples=new Array(t)}push(e){null!=e&&(this._samples[++this._counter%this._samples.length]=e)}set(e){null!=e&&(this._samples[this._counter%this._samples.length]=e)}get median(){return this._samples.slice().sort(((e,t)=>e-t))[Math.floor(this._samples.length/2)]}get average(){return this._samples.reduce(((e,t)=>e+t),0)/this._samples.length}get last(){return this._samples[this._counter%this._samples.length]}}},3694:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n,s=r(4576);!function(e){const t=(e,t,r,n)=>{let s=t,o=t;const i=r>>>1,a=e[s-1];for(;o<=i;){o=s<<1,o<r&&n(e[o-1],e[o])<0&&++o;const t=e[o-1];if(n(t,a)<=0)break;e[s-1]=t,s=o}e[s-1]=a},r=(e,t)=>e<t?-1:e>t?1:0;e.sort=function(e,n,s,o){void 0===n&&(n=0),void 0===s&&(s=e.length),void 0===o&&(o=r);for(let r=s>>>1;r>n;r--)t(e,r,s,o);const i=n+1;for(let r=s-1;r>n;r--){const s=e[n];e[n]=e[r],e[r]=s,t(e,i,r,o)}},e.iterableSort=function*(e,n,s,o){void 0===n&&(n=0),void 0===s&&(s=e.length),void 0===o&&(o=r);for(let r=s>>>1;r>n;r--)t(e,r,s,o),yield;const i=n+1;for(let r=s-1;r>n;r--){const s=e[n];e[n]=e[r],e[r]=s,t(e,i,r,o),yield}}}(n||(n={}));const o=n;class i{constructor(e){this.data=[],this._length=0,this._allocator=void 0,this._deallocator=()=>null,this._shrink=()=>{},this._hint=new s.vW,e&&(e.initialSize&&(this.data=new Array(e.initialSize)),e.allocator&&(this._allocator=e.allocator),void 0!==e.deallocator&&(this._deallocator=e.deallocator),e.shrink&&(this._shrink=()=>a(this)))}toArray(){return this.data.slice(0,this.length)}filter(e){const t=new Array;for(let r=0;r<this._length;r++){const n=this.data[r];e(n)&&t.push(n)}return t}at(e){if((e=Math.trunc(e)||0)<0&&(e+=this._length),!(e<0||e>=this._length))return this.data[e]}includes(e,t){const r=this.data.indexOf(e,t);return-1!==r&&r<this.length}get length(){return this._length}set length(e){if(e>this._length){if(this._allocator){for(;this._length<e;)this.data[this._length++]=this._allocator(this.data[this._length]);return}this._length=e}else{if(this._deallocator)for(let t=e;t<this._length;++t)this.data[t]=this._deallocator(this.data[t]);this._length=e,this._shrink()}}clear(){this.length=0}prune(){this.clear(),this.data=[]}push(e){this.data[this._length++]=e}pushArray(e,t=e.length){for(let r=0;r<t;r++)this.data[this._length++]=e[r]}fill(e,t){for(let r=0;r<t;r++)this.data[this._length++]=e}pushNew(){this._allocator&&(this.data[this.length]=this._allocator(this.data[this.length]));const e=this.data[this._length];return++this._length,e}unshift(e){this.data.unshift(e),this._length++,a(this)}pop(){if(0===this.length)return;const e=this.data[this.length-1];return this.length=this.length-1,this._shrink(),e}remove(e){const t=(0,s.qh)(this.data,e,this.length,this._hint);if(-1!==t)return this.data.splice(t,1),this.length=this.length-1,e}removeUnordered(e){return this.removeUnorderedIndex((0,s.qh)(this.data,e,this.length,this._hint))}removeUnorderedIndex(e){if(!(e>=this.length||e<0))return this.swapElements(e,this.length-1),this.pop()}removeUnorderedMany(e,t=e.length,r){this.length=(0,s.mW)(this.data,e,this.length,t,this._hint,r),this._shrink()}front(){if(0!==this.length)return this.data[0]}back(){if(0!==this.length)return this.data[this.length-1]}swapElements(e,t){if(e>=this.length||t>=this.length||e===t)return;const r=this.data[e];this.data[e]=this.data[t],this.data[t]=r}sort(e){o.sort(this.data,0,this.length,e)}iterableSort(e){return o.iterableSort(this.data,0,this.length,e)}some(e,t){for(let r=0;r<this.length;++r)if(e.call(t,this.data[r],r,this.data))return!0;return!1}find(e,t){const{data:r,length:n}=this;for(let s=0;s<n;++s)if(e.call(t,r[s]))return r[s]}filterInPlace(e,t){let r=0;for(let n=0;n<this._length;++n){const s=this.data[n];e.call(t,s,n,this.data)&&(this.data[n]=this.data[r],this.data[r]=s,r++)}if(this._deallocator)for(let e=r;e<this._length;e++)this.data[e]=this._deallocator(this.data[e]);return this._length=r,this._shrink(),this}forAll(e,t){const{data:r,length:n}=this;for(let s=0;s<n;++s)e.call(t,r[s],s,r)}forEach(e,t){this.data.slice(0,this.length).forEach(e,t)}map(e,t){const r=new Array(this.length);for(let n=0;n<this.length;++n)r[n]=e.call(t,this.data[n],n,this.data);return r}reduce(e,t){let r=t;for(let t=0;t<this.length;++t)r=e(r,this.data[t],t,this.data);return r}has(e){const t=this.length,r=this.data;for(let n=0;n<t;++n)if(r[n]===e)return!0;return!1}*[Symbol.iterator](){for(let e=0;e<this.length;e++)yield this.data[e]}}function a(e){e.data.length>1.5*e.length&&(e.data.length=Math.floor(1.1*e.length))}},87811:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});class n{constructor(e=1){this._seed=e}set seed(e){this._seed=e??Math.random()*n._m}getInt(){return this._seed=(n._a*this._seed+n._c)%n._m,this._seed}getFloat(){return this.getInt()/(n._m-1)}getIntRange(e,t){return Math.round(this.getFloatRange(e,t))}getFloatRange(e,t){const r=t-e;return e+this.getInt()/n._m*r}}n._m=2147483647,n._a=48271,n._c=0},67076:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});var n=r(79907);class s extends n.A{constructor(e,t,r){super(e,t,r)}}s.prototype.type="warning"},11406:(e,t,r)=>{"use strict";r.d(t,{T:()=>i});var n=r(36563),s=r(4576);class o{constructor(e,t){this._observers=e,this._observer=t}remove(){(0,s.TF)(this._observers,this._observer)}}class i{constructor(){this._observers=null,this.destroyed=!1}observe(e){if(this.destroyed||e.destroyed)return a;null==this._observers&&(this._observers=[]);const t=this._observers;let r=!1,n=!1;const s=t.length;for(let o=0;o<s;++o){const s=t[o];if(s.destroyed)n=!0;else if(s===e){r=!0;break}}return r||(t.push(e),n&&this._removeDestroyedObservers()),new o(t,e)}_removeDestroyedObservers(){const e=this._observers;if(!e||0===e.length)return;const t=e.length;let r=0;for(let n=0;n<t;++n){for(;n+r<t&&e[n+r].destroyed;)++r;if(r>0){if(!(n+r<t))break;e[n]=e[n+r]}}e.length=t-r}destroy(){if(this.destroyed)return;this.destroyed=!0;const e=this._observers;if(null!=e){for(const t of e)t.onCommitted();this._observers=null}}}const a=(0,n.hA)()},35666:(e,t,r)=>{"use strict";var n;r.d(t,{AU:()=>s,Gr:()=>n,OL:()=>i,aB:()=>o,in:()=>a}),function(e){e[e.DEFAULTS=0]="DEFAULTS",e[e.COMPUTED=1]="COMPUTED",e[e.SERVICE=2]="SERVICE",e[e.PORTAL_ITEM=3]="PORTAL_ITEM",e[e.WEB_SCENE=4]="WEB_SCENE",e[e.WEB_MAP=5]="WEB_MAP",e[e.LINK_CHART=6]="LINK_CHART",e[e.USER=7]="USER"}(n||(n={}));const s=n.USER+1;function o(e){switch(e){case"defaults":return n.DEFAULTS;case"service":return n.SERVICE;case"portal-item":return n.PORTAL_ITEM;case"web-scene":return n.WEB_SCENE;case"web-map":return n.WEB_MAP;case"link-chart":return n.LINK_CHART;case"user":return n.USER;default:return null}}function i(e){switch(e){case n.DEFAULTS:return"defaults";case n.SERVICE:return"service";case n.PORTAL_ITEM:return"portal-item";case n.WEB_SCENE:return"web-scene";case n.WEB_MAP:return"web-map";case n.LINK_CHART:return"link-chart";case n.USER:return"user"}}function a(e){return i(e)}},56454:(e,t,r)=>{"use strict";r.d(t,{G:()=>n});const n=Symbol("Accessor-beforeDestroy")},10107:(e,t,r)=>{"use strict";r.d(t,{MZ:()=>c,rM:()=>l});var n=r(53966),s=r(56507),o=r(16649),i=r(96156),a=r(47821);function c(e={}){return(t,r)=>{if(t===Function.prototype)throw new Error(`Inappropriate use of @property() on a static field: ${t.name}.${r}. Accessor does not support static properties.`);const c=Object.getOwnPropertyDescriptor(t,r),l=(0,i.z4)(t,r);c&&(c.get||c.set?(l.get=c.get||l.get,l.set=c.set||l.set):"value"in c&&("value"in e&&n.A.getLogger("esri.core.accessorSupport.decorators.property").warn(`@property() will redefine the value of "${r}" on "${t.constructor.name}" already defined in the metadata`,e),l.value=e.value=c.value)),null!=e.readOnly&&(l.readOnly=e.readOnly);const u=e.aliasOf;if(u){const e="string"==typeof u?u:u.source,t="string"==typeof u?null:!0===u.overridable;let n;l.dependsOn=[e],l.get=function(){let t=(0,o.Jt)(this,e);if("function"==typeof t){n||(n=e.split(".").slice(0,-1).join("."));const r=(0,o.Jt)(this,n);r&&(t=t.bind(r))}return t},l.readOnly||(l.set=t?function(e){this._override(r,e)}:function(t){(0,a.h)(this,e,t)})}const f=e.type,d=e.types;if(!l.cast){let t;f?t=function(e){let t=0,r=e;if((0,s.Zu)(e))return(0,s.Nd)(e);for(;Array.isArray(r)&&1===r.length&&"string"!=typeof r[0]&&"number"!=typeof r[0];)r=r[0],t++;const n=r;if((0,s.EK)(n))return 0===t?(0,s.MB)(n):(0,s._e)((0,s.MB)(n),t);if(1===t)return(0,s.eC)(n);if(t>1)return(0,s.e6)(n,t);const o=e;return o.from?o.from:(0,s.dp)(o)}(f):d&&(t=Array.isArray(d)?(0,s.wB)((0,s.aq)(d[0])):(0,s.aq)(d)),e.cast=function(e,t){if(e||t)return e?t?(r,n)=>t(e(r,n),n):e:t}(e.cast,t)}(0,i.CX)(l,e),e.range&&(l.cast=(0,s.Qp)(l.cast,e.range))}}function l(e,t,r){const n=(0,i.z4)(e,r);n.json||(n.json={});let s=n.json;return void 0!==t&&(s.origins||(s.origins={}),s.origins[t]||(s.origins[t]={}),s=s.origins[t]),s}},40608:(e,t,r)=>{"use strict";r.d(t,{$:()=>f}),r(44208);var n=r(53966),s=r(56454),o=r(45873),i=r(96156),a=r(62788),c=r(51822);const l=new Set,u=new Set;function f(e){return t=>{e??="esri.core.Accessor",t.prototype.declaredClass=e,h(t);const r=[],n=[];let o=t.prototype;for(;o;)o.hasOwnProperty("initialize")&&!l.has(o.initialize)&&(l.add(o.initialize),r.push(o.initialize)),o.hasOwnProperty("destroy")&&!u.has(o.destroy)&&(u.add(o.destroy),n.push(o.destroy)),o=Object.getPrototypeOf(o);l.clear(),u.clear();const a=class extends t{constructor(...e){if(super(...e),this.constructor===a&&"function"==typeof this.postscript){if(r.length&&Object.defineProperty(this,"initialize",{enumerable:!1,configurable:!0,value(){for(let e=r.length-1;e>=0;e--)r[e].call(this)}}),n.length){let e=!1;const t=this[s.G];Object.defineProperty(this,"destroy",{enumerable:!1,configurable:!0,value(){if(!e){e=!0,t.call(this);for(let e=0;e<n.length;e++)n[e].call(this)}}})}Object.defineProperty(this,Symbol.dispose,{enumerable:!1,configurable:!0,value(){this.destroy()}}),this.postscript()}}};a.__accessorMetadata__=(0,i.tD)(t.prototype),a.prototype.declaredClass=e;const c=(e||"AccessorSubclass").split(".").slice(-1)[0];return Object.defineProperty(a,"name",{value:c,configurable:!0}),a}}function d(e,t){return null==t.get?function(){const t=this.__accessor__,r=t.propertiesByName.get(e);if(void 0===r)return;t.mutable&&(0,a.gc)(r);const n=t.store;return n.has(e)?n.get(e):r.metadata.value}:function(){const t=this.__accessor__,r=t.propertiesByName.get(e);if(void 0!==r)return r.getComputed(t)}}function h(e){const t=e.prototype,r=(0,i.tD)(t),n={};for(const e of Object.getOwnPropertyNames(r)){const t=r[e];(0,c.qk)(t),n[e]={enumerable:!0,configurable:!0,get:d(e,t),set(r){const n=this.__accessor__;if(void 0!==n){if(n.mutable)return n.initialized&&t.readOnly?p("read-only",e):n.lifecycle===o.v.CONSTRUCTED&&t.constructOnly?p("construct-only",e):void n.set(e,r)}else Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:r})}}}Object.defineProperties(e.prototype,n)}const p=(e,t)=>{n.A.getLogger("esri.core.Accessor").error(`cannot assign to ${e} property '${t}'`)}},76953:(e,t,r)=>{"use strict";r.d(t,{k:()=>s});var n=r(35666);function s(e,t,r){t.keys().forEach((e=>{r.set(e,t.get(e),n.Gr.DEFAULTS)}));const s=e.metadata;Object.keys(s).forEach((t=>{e.internalGet(t)&&r.set(t,e.internalGet(t),n.Gr.DEFAULTS)}))}},56507:(e,t,r)=>{"use strict";r.d(t,{EK:()=>T,GB:()=>l,GX:()=>c,MB:()=>N,Nd:()=>x,PZ:()=>b,Qp:()=>d,Uv:()=>C,Vr:()=>u,Zu:()=>M,_e:()=>S,aq:()=>j,dp:()=>w,e6:()=>E,eC:()=>O,gK:()=>I,jz:()=>P,wB:()=>A}),r(44208);var n=r(53966),s=r(91869);const o=()=>n.A.getLogger("esri.core.accessorSupport.ensureTypes");function i(e){return null==e?e:new Date(e)}function a(e){return null==e?e:!!e}function c(e){return null==e?e:e.toString()}function l(e,t=0){return null==e?e:(e=parseFloat(e),isNaN(e)?t:e)}function u(e){return null==e?e:Math.round(parseFloat(e))}function f(e){return null}function d(e,t){return r=>{let n=e(r);return null!=t.step&&(n=Math.round(n/t.step)*t.step),null!=t.min&&(n=Math.max(t.min,n)),null!=t.max&&(n=Math.min(t.max,n)),n}}function h(e){return e?.constructor&&void 0!==e.constructor.__accessorMetadata__}function p(e,t){return null!=t&&e&&!(t instanceof e)}function g(e){return e&&"isCollection"in e}function y(e){return e?.Type?"function"==typeof e.Type?e.Type:e.Type.base:null}function m(e,t){return!!h(t)&&(o().error("Accessor#set","Assigning an instance of '"+(t.declaredClass||"unknown")+"' which is not a subclass of '"+_(e)+"'"),!0)}function b(e,t){return null==t?t:g(e)?function(e,t){if(!t?.constructor||!g(t.constructor))return m(e,t)?t:new e(t);const r=y(e.prototype.itemType),n=y(t.constructor.prototype.itemType);return r?n?r===n?t:r.prototype.isPrototypeOf(n.prototype)?new e(t):(m(e,t),t):new e(t):t}(e,t):p(e,t)?m(e,t)?t:new e(t):t}function _(e){return e?.prototype?.declaredClass||"unknown"}const v=new WeakMap;function w(e,t){const r=function(e){switch(e){case Number:return e=>l(e);case P:return u;case Boolean:return a;case String:return c;case Date:return i;case C:return f;default:return(0,s.tE)(v,e,(()=>b.bind(null,e)))}}(e);return 1===arguments.length?r:r(t)}function A(e,t,r){return 1===arguments.length?A.bind(null,e):t?Array.isArray(t)?t.map((t=>e(t,r))):[e(t,r)]:t}function O(e,t){return 1===arguments.length?A((t=>w(e,t))):A((t=>w(e,t)),t)}function k(e,t,r){return 0!==t&&Array.isArray(r)?r.map((r=>k(e,t-1,r))):e(r)}function S(e,t,r){if(2===arguments.length)return r=>S(e,t,r);if(!r)return r;r=k(e,t,r);let n=t,s=r;for(;n>0&&Array.isArray(s);)n--,s=s[0];if(void 0!==s)for(let e=0;e<n;e++)r=[r];return r}function E(e,t,r){return 2===arguments.length?S((t=>w(e,t)),t):S((t=>w(e,t)),t,r)}function T(e){return!!Array.isArray(e)&&!e.some((t=>{const r=typeof t;return!("string"===r||"number"===r||"function"===r&&e.length>1)}))}function N(e,t){if(2===arguments.length)return N(e).call(null,t);const r=new Set,n=e.filter((e=>"function"!=typeof e)),s=e.filter((e=>"function"==typeof e));for(const t of e)"string"!=typeof t&&"number"!=typeof t||r.add(t);let i=null,a=null;return(e,t)=>{if(null==e)return e;const c=typeof e,l="string"===c||"number"===c;return l&&(r.has(e)||s.some((e=>"string"===c&&e===String||"number"===c&&e===Number)))||"object"===c&&s.some((t=>!p(e,t)))?e:(l&&n.length?(i||(i=n.map((e=>"string"==typeof e?`'${e}'`:`${e}`)).join(", ")),o().error("Accessor#set",`'${e}' is not a valid value for this property, only the following values are valid: ${i}`)):"object"==typeof e&&s.length?(a||(a=s.map((e=>_(e))).join(", ")),o().error("Accessor#set",`'${e}' is not a valid value for this property, value must be one of ${a}`)):o().error("Accessor#set",`'${e}' is not a valid value for this property`),t&&(t.valid=!1),null)}}function j(e,t){if(2===arguments.length)return j(e).call(null,t);const r={},n=[],s=[];for(const t in e.typeMap){const o=e.typeMap[t];r[t]=w(o),n.push(_(o)),s.push(t)}const i=()=>`'${n.join("', '")}'`,a=()=>`'${s.join("', '")}'`,c="string"==typeof e.key?t=>t[e.key]:e.key;return t=>{if(e.base&&!p(e.base,t))return t;if(null==t)return t;const n=c(t)||e.defaultKeyValue,s=r[n];if(!s)return o().error("Accessor#set",`Invalid property value, value needs to be one of ${i()}, or a plain object that can autocast (having .type = ${a()})`),null;if(!p(e.typeMap[n],t))return t;if("string"==typeof e.key&&!h(t)){const r={};for(const n in t)n!==e.key&&(r[n]=t[n]);return s(r)}return s(t)}}class P{}class C{}const I={native:e=>({type:"native",value:e}),array:e=>({type:"array",value:e}),oneOf:e=>({type:"one-of",values:e})};function M(e){if(!e||!("type"in e))return!1;switch(e.type){case"native":case"array":case"one-of":return!0}return!1}function x(e){switch(e.type){case"native":return w(e.value);case"array":return A(x(e.value));case"one-of":return function(e){let t=null;return(r,n)=>R(r,e)?r:(null==t&&(t=$(e)),o().error("Accessor#set",`Invalid property value, value needs to be of type ${t}`),n&&(n.valid=!1),null)}(e);default:return null}}function $(e){switch(e.type){case"native":switch(e.value){case Number:return"number";case String:return"string";case Boolean:return"boolean";case P:return"integer";case Date:return"date";case C:return"null";default:return _(e.value)}case"array":return`array of ${$(e.value)}`;case"one-of":{const t=e.values.map((e=>$(e)));return`one of ${t.slice(0,-1)} or ${t[t.length-1]}`}}return"unknown"}function R(e,t){if(null==e)return!0;switch(t.type){case"native":switch(t.value){case Number:case P:return"number"==typeof e;case Boolean:return"boolean"==typeof e;case String:return"string"==typeof e;case C:return null===e}return e instanceof t.value;case"array":return!!Array.isArray(e)&&!e.some((e=>!R(e,t.value)));case"one-of":return t.values.some((t=>R(e,t)))}}},51822:(e,t,r)=>{"use strict";r.d(t,{xF:()=>u,N5:()=>f,k4:()=>d,qk:()=>m});var n=r(56507),s=r(90360);function o(e){if(e.json||(e.json={}),a(e.json),c(e.json),i(e.json),e.json.origins)for(const t in e.json.origins)a(e.json.origins[t]),c(e.json.origins[t]),i(e.json.origins[t]);return!0}function i(e){e.name&&(e.read&&"object"==typeof e.read?void 0===e.read.source&&(e.read.source=e.name):e.read={source:e.name},e.write&&"object"==typeof e.write?void 0===e.write.target&&(e.write.target=e.name):e.write={target:e.name})}function a(e){"boolean"==typeof e.read?e.read={enabled:e.read}:"function"==typeof e.read?e.read={enabled:!0,reader:e.read}:e.read&&"object"==typeof e.read&&void 0===e.read.enabled&&(e.read.enabled=!0)}function c(e){"boolean"==typeof e.write?e.write={enabled:e.write}:"function"==typeof e.write?e.write={enabled:!0,writer:e.write}:e.write&&"object"==typeof e.write&&void 0===e.write.enabled&&(e.write.enabled=!0)}var l=r(67124);function u(e,t){return h(e,"any",t?.origin)}function f(e,t){return h(e,"read",t?.origin)}function d(e,t){return h(e,"write",t?.origin)}function h(e,t,r){let n=e?.json;if(n?.origins&&r){let e;e="link-chart"===r?n.origins[r]&&("any"===t||t in n.origins[r])?n.origins[r]:n.origins["web-map"]:n.origins[r],e&&("any"===t||t in e)&&(n=e)}return n}function p(e){return e.type?g(e):y(e)}function g(e){if(!e.type)return;let t=0,r=e.type;for(;Array.isArray(r)&&!(0,n.EK)(r);)r=r[0],t++;return{type:r,ndimArray:t}}function y(e){if(!e.types)return;let t=0,r=e.types;for(;Array.isArray(r);)r=r[0],t++;return{types:r,ndimArray:t}}function m(e){o(e)&&(function(e){if(e.json&&e.json.origins){const t=e.json.origins,r={"web-document":["web-scene","web-map"]};for(const e in r)if(t[e]){const n=t[e];r[e].forEach((e=>{t[e]=n})),delete t[e]}}}(e),function(e){const t=function(e){return e.json.types?y(e.json):e.type?g(e):y(e)}(e);if(e.json.origins)for(const r in e.json.origins){const n=e.json.origins[r],o=n.types?p(n):t;(0,s.v)(o,n,!1),n.types&&!n.write&&e.json.write?.enabled&&(n.write={...e.json.write}),(0,l.v)(o,n)}(0,s.v)(t,e.json,!0),(0,l.v)(t,e.json)}(e))}},90360:(e,t,r)=>{"use strict";r.d(t,{C:()=>u,v:()=>l});var n=r(53966),s=r(93637),o=r(67076),i=r(96156),a=r(15903);const c=()=>n.A.getLogger("esri.core.accessorSupport.extensions.serializableProperty.reader");function l(e,t,r){e&&(!r&&!t.read||t.read?.reader||!1===t.read?.enabled||function(e){return"types"in e?y(e.types):g(e.type)}(e)&&(0,s.sM)("read.reader",u(e),t))}function u(e){const t=e.ndimArray??0;if(t>1)return function(e){const t=f(e),r=d.bind(null,t),n=e.ndimArray??0;return(e,t,s)=>{if(null==e)return e;e=r(e,s,n);let o=n,i=e;for(;o>0&&Array.isArray(i);)o--,i=i[0];if(void 0!==i)for(let t=0;t<o;t++)e=[e];return e}}(e);if(1===t)return h(e);if("type"in e&&p(e.type)){const t=e.type.prototype?.itemType?.Type,r=h("function"==typeof t?{type:t}:{types:t});return(t,n,s)=>{const o=r(t,n,s);return o?new e.type(o):o}}return f(e)}function f(e){return"type"in e?function(e){return e.prototype.read?(t,r,n)=>{if(null==t)return t;const s=typeof t;if("object"!==s)return void c().error(`Expected JSON value of type 'object' to deserialize type '${e.prototype.declaredClass}', but got '${s}'`);const o=new e;return o.read(t,n),o}:e.fromJSON}(e.type):function(e){let t=null;const r=e.errorContext??"type",n=e.validate;return(s,a,l)=>{if(null==s)return s;const u=typeof s;if("object"!==u)return void c().error(`Expected JSON value of type 'object' to deserialize, but got '${u}'`);t||(t=function(e){const t={};for(const r in e.typeMap){const n=e.typeMap[r],s=(0,i.tD)(n.prototype);if("function"==typeof e.key)continue;const o=s[e.key];if(!o)continue;if(o.json?.type&&Array.isArray(o.json.type)&&1===o.json.type.length&&"string"==typeof o.json.type[0]){t[o.json.type[0]]=n;continue}const a=o.json?.write;if(!a?.writer){t[r]=n;continue}const c=a.target,l="string"==typeof c?c:e.key,u={};a.writer(r,u,l),u[l]&&(t[u[l]]=n)}return t}(e));const f=e.key;if("string"!=typeof f)return;const d=s[f],h=d?t[d]:e.defaultKeyValue?e.typeMap[e.defaultKeyValue]:void 0;if(!h){const e=`Type '${d||"unknown"}' is not supported`;return l?.messages&&s&&l.messages.push(new o.A(`${r}:unsupported`,e,{definition:s,context:l})),void c().error(e)}const p=new h;return p.read(s,l),n?n(p):p}}(e.types)}function d(e,t,r,n){return 0!==n&&Array.isArray(t)?t.map((t=>d(e,t,r,n-1))):e(t,void 0,r)}function h(e){const t=f(e);return(e,r,n)=>{if(null==e)return e;if(Array.isArray(e)){const r=[];for(const s of e){const e=t(s,void 0,n);void 0!==e&&r.push(e)}return r}const s=t(e,void 0,n);return void 0!==s?[s]:void 0}}function p(e){if(!(0,a.P)(e))return!1;const t=e.prototype.itemType;return!(!t||!t.Type)&&("function"==typeof t.Type?g(t.Type):y(t.Type))}function g(e){return!Array.isArray(e)&&!!e&&e.prototype&&("read"in e.prototype||"fromJSON"in e||p(e))}function y(e){for(const t in e.typeMap)if(!g(e.typeMap[t]))return!1;return!0}},15903:(e,t,r)=>{"use strict";function n(e){return!!e&&e.prototype?.declaredClass&&0===e.prototype.declaredClass.indexOf("esri.core.Collection")}r.d(t,{P:()=>n})},67124:(e,t,r)=>{"use strict";r.d(t,{B:()=>f,v:()=>a});var n=r(49186),s=r(53966),o=r(93637),i=r(15903);function a(e,t){if(!t.write||t.write.writer||!1===t.write.enabled&&!t.write.overridePolicy)return;const r=e?.ndimArray??0;e&&(1===r||"type"in e&&(0,i.P)(e.type))?t.write.writer=d:r>1?t.write.writer=function(e){return(t,r,n,s)=>{let i;if(null===t)i=null;else{i=h(t,s,e);let r=e,n=i;for(;r>0&&Array.isArray(n);)r--,n=n[0];if(void 0!==n)for(let e=0;e<r;e++)i=[i]}(0,o.sM)(n,i,r)}}(r):t.types?Array.isArray(t.types)?t.write.writer=function(e){return(t,r,n,s)=>t&&Array.isArray(t)?l(t.filter((t=>c(t,e,s))),r,n,s):l(t,r,n,s)}(t.types[0]):t.write.writer=function(e){return(t,r,n,s)=>t?c(t,e,s)?l(t,r,n,s):void 0:l(t,r,n,s)}(t.types):t.write.writer=l}function c(e,t,r){for(const r in t.typeMap)if(e instanceof t.typeMap[r])return!0;if(r?.messages){const o=t.errorContext??"type",i=`Values of type '${("function"!=typeof t.key?e[t.key]:e.declaredClass)??"Unknown"}' cannot be written`;r&&r.messages&&e&&r.messages.push(new n.A(`${o}:unsupported`,i,{definition:e,context:r})),s.A.getLogger("esri.core.accessorSupport.extensions.serializableProperty.writer").error(i)}return!1}function l(e,t,r,n){(0,o.sM)(r,u(e,n),t)}function u(e,t){return e&&"function"==typeof e.write?e.write({},t):e&&"function"==typeof e.toJSON?e.toJSON():"number"==typeof e?f(e):e}function f(e){return e===-1/0?-Number.MAX_VALUE:e===1/0?Number.MAX_VALUE:isNaN(e)?null:e}function d(e,t,r,n){let s;null===e?s=null:e&&"function"==typeof e.map?(s=e.map((e=>u(e,n))),"function"==typeof s.toArray&&(s=s.toArray())):s=[u(e,n)],(0,o.sM)(r,s,t)}function h(e,t,r){return 0!==r&&Array.isArray(e)?e.map((e=>h(e,t,r-1))):u(e,t)}},16649:(e,t,r)=>{"use strict";r.d(t,{Jt:()=>a,RP:()=>i,t2:()=>c});var n=r(88620);function s(e,t){const r="?"===e[e.length-1]?e.slice(0,-1):e;if(null!=t.getItemAt||Array.isArray(t)){const e=parseInt(r,10);if(!isNaN(e))return Array.isArray(t)?t[e]:t.at(e)}const s=(0,n.oY)(t);return(0,n.yh)(s,r)?s.get(r):t[r]}function o(e,t,r){if(null==e)return e;const n=s(t[r],e);return!n&&r<t.length-1?void 0:r===t.length-1?n:o(n,t,r+1)}function i(e,t,r=0){return"string"!=typeof t||t.includes(".")?o(e,(0,n.AH)(t),r):s(t,e)}function a(e,t){return i(e,t)}function c(e,t){return void 0!==i(t,e)}},45873:(e,t,r)=>{"use strict";var n;r.d(t,{v:()=>n}),function(e){e[e.INITIALIZING=0]="INITIALIZING",e[e.CONSTRUCTING=1]="CONSTRUCTING",e[e.CONSTRUCTED=2]="CONSTRUCTED",e[e.DESTROYED=3]="DESTROYED"}(n||(n={}))},96156:(e,t,r)=>{"use strict";r.d(t,{CX:()=>a,tD:()=>o,z4:()=>i});var n=r(4718),s=r(88620);function o(e){let t=e.constructor.__accessorMetadata__;const r=Object.prototype.hasOwnProperty.call(e.constructor,"__accessorMetadata__");if(t){if(!r){t=Object.create(t);for(const e in t)t[e]=(0,n.o8)(t[e]);Object.defineProperty(e.constructor,"__accessorMetadata__",{value:t,enumerable:!1,configurable:!0,writable:!0})}}else t={},Object.defineProperty(e.constructor,"__accessorMetadata__",{value:t,enumerable:!1,configurable:!0,writable:!0});return e.constructor.__accessorMetadata__}function i(e,t){const r=o(e);let n=r[t];return n||(n=r[t]={}),n}function a(e,t){return(0,s.h1)(e,t,l)}const c=/^(?:[^.]+\.)?(?:value|type|(?:json\.type|json\.origins\.[^.]\.type))$/;function l(e){return c.test(e)?"replace":"merge"}},45917:(e,t,r)=>{"use strict";r.d(t,{L:()=>u,t:()=>f});var n=r(16649),s=r(88620),o=r(51822);function i(e,t,r){if(!e?.read||!1===e.read.enabled||!e.read.source)return!1;const s=e.read.source;if("string"==typeof s){if(s===t)return!0;if(s.includes(".")&&0===s.indexOf(t)&&(0,n.t2)(s,r))return!0}else for(const e of s){if(e===t)return!0;if(e.includes(".")&&0===e.indexOf(t)&&(0,n.t2)(e,r))return!0}return!1}function a(e,t,r,n,s){let a=(0,o.N5)(t[r],s);(function(e){return e&&(!e.read||!1!==e.read.enabled&&!e.read.source)})(a)&&(e[r]=!0);for(const c of Object.getOwnPropertyNames(t))a=(0,o.N5)(t[c],s),i(a,r,n)&&(e[c]=!0)}function c(e,t,r,n){const s=r.metadata,i=(0,o.xF)(s[t],n),a=i?.default;if(void 0===a)return;const c="function"==typeof a?a.call(e,t,n):a;void 0!==c&&r.set(t,c)}const l={origin:"service"};function u(e,t,r=l){if(!t||"object"!=typeof t)return;const i=(0,s.oY)(e),u=i.metadata,f={};for(const e of Object.getOwnPropertyNames(t))a(f,u,e,t,r);i.setDefaultOrigin(r.origin);for(const s of Object.getOwnPropertyNames(f)){const a=(0,o.N5)(u[s],r).read,c=a?.source;let l;l=c&&"string"==typeof c?(0,n.RP)(t,c):t[s],a?.reader&&(l=a.reader.call(e,l,t,r)),void 0!==l&&i.set(s,l)}if(!r||!r.ignoreDefaults){i.setDefaultOrigin("defaults");for(const t of Object.getOwnPropertyNames(u))f[t]||c(e,t,i,r)}i.setDefaultOrigin("user")}function f(e,t,r,n=l){const s={...n,messages:[]};r(s),s.messages?.forEach((t=>{"warning"!==t.type||e.loaded?n?.messages&&n.messages.push(t):e.loadWarnings.push(t)}))}},47821:(e,t,r)=>{"use strict";r.d(t,{h:()=>i});var n=r(49186),s=r(44208),o=(r(53966),r(16649));function i(e,t,r){if(e&&t)if("object"==typeof t)for(const r of Object.getOwnPropertyNames(t))i(e,r,t[r]);else{if(t.includes(".")){const n=t.split("."),s=n.splice(-1,1)[0];return void i((0,o.Jt)(e,n),s,r)}const a=e.__accessor__;null!=a&&function(e,t){if((0,s.A)("esri-unknown-property-errors")&&!function(e,t){return null!=t.metadata[e]}(e,t))throw new n.A("set:unknown-property",function(e,t){return"setting unknown property '"+e+"' on instance of "+t.host.declaredClass}(e,t))}(t,a),e[t]=r}}},62788:(e,t,r)=>{"use strict";r.d(t,{F_:()=>h,Xr:()=>_,a:()=>d,fE:()=>m,gc:()=>l}),r(44208);var n=r(53966),s=r(88620),o=r(47328);const i=new(r(67867).R),a=[];let c=i;function l(e){c.onAccessed(e)}let u=!1,f=!1;function d(e,t,r){if(u)return p(e,t,r);let n=null;return g(e),n=t.call(r),y(),n}function h(e,t){return d(i,e,t)}function p(e,t,r){const s=u;u=!0,g(e);let o=null;try{o=t.call(r)}catch(e){f&&n.A.getLogger("esri.core.accessorSupport.tracking").error(e)}return y(),u=s,o}function g(e){c=e,a.push(e)}function y(){const e=a.length;if(e>1){const t=a.pop();c=a[e-2],t.onTrackingEnd()}else if(1===e){const e=a.pop();c=i,e.onTrackingEnd()}else c=i}function m(e,t){if(t.flags&o.i.DepTrackingInitialized)return;t.flags|=o.i.DepTrackingInitialized;const r=f;f=!1,t.flags&o.i.AutoTracked?p(t.trackingTarget,t.metadata.get,e):_(e,t),f=r}const b=[];function _(e,t){t.flags&o.i.ExplicitlyTracking||(t.flags|=o.i.ExplicitlyTracking,p(t.trackingTarget,(()=>{const r=t.metadata.dependsOn||b;for(const t of r)if("string"!=typeof t||t.includes(".")){const r=(0,s.AH)(t);for(let t=0,n=e;t<r.length&&null!=n&&"object"==typeof n;++t)n=v(n,r[t],t!==r.length-1)}else v(e,t,!1)})),t.flags&=~o.i.ExplicitlyTracking)}function v(e,t,r){const n="?"===t[t.length-1]?t.slice(0,-1):t;if(null!=e.getItemAt||Array.isArray(e)){const t=parseInt(n,10);if(!isNaN(t))return Array.isArray(e)?e[t]:e.at(t)}const o=(0,s.oY)(e);if(o){const t=o.propertiesByName.get(n);t&&(l(t),m(e,t))}return r?e[n]:void 0}},47328:(e,t,r)=>{"use strict";var n;r.d(t,{i:()=>n}),function(e){e[e.Dirty=1]="Dirty",e[e.Overridden=2]="Overridden",e[e.Computing=4]="Computing",e[e.NonNullable=8]="NonNullable",e[e.HasDefaultValue=16]="HasDefaultValue",e[e.DepTrackingInitialized=32]="DepTrackingInitialized",e[e.AutoTracked=64]="AutoTracked",e[e.ExplicitlyTracking=128]="ExplicitlyTracking"}(n||(n={}))},71429:(e,t,r)=>{"use strict";r.d(t,{r:()=>s});var n=r(67867);class s extends n.R{constructor(e){super(new o(e)),this._observer&&i.register(this,new WeakRef(this._observer),this)}destroy(){this._observer&&i.unregister(this._observer),this.accessed?.clear(),this.clear(),this._observer?.destroy()}}class o{constructor(e){this._notify=e,this._invalidCount=0,this.destroyed=!1}onInvalidated(){this._invalidCount++}onCommitted(){if(this.destroyed)return;const e=this._invalidCount;if(1===e)return this._invalidCount=0,void this._notify();this._invalidCount=e>0?e-1:0}destroy(){this.destroyed=!0,this._notify=a}}const i=new FinalizationRegistry((e=>{e.deref()?.destroy()}));function a(){}},67867:(e,t,r)=>{"use strict";r.d(t,{R:()=>n});class n{constructor(e){this.accessed=void 0,this._handles=void 0,this._observer=e}destroy(){this.accessed?.clear(),this.clear()}onAccessed(e){null!=this._observer&&e!==this._observer&&(null==this.accessed&&(this.accessed=new Set),this.accessed.add(e))}onTrackingEnd(){null!=this._observer&&(this.clear(),null!=this.accessed&&(null==this._handles&&(this._handles=[]),this.accessed.forEach((e=>{this._handles.push(e.observe(this._observer))})),this.accessed.clear()))}clear(){if(null!=this._handles){for(let e=0;e<this._handles.length;++e)this._handles[e].remove();this._handles.length=0}}}},80559:(e,t,r)=>{"use strict";r.d(t,{Df:()=>l,fm:()=>u,mJ:()=>c});var n=r(36563),s=r(62788),o=r(71429);let i=!1;const a=[];function c(e,t){let r=new o.r((function n(){if(!r||c)return;if(i)return void f(n);const o=a;r.clear(),i=!0,c=!0,a=(0,s.a)(r,e),c=!1,i=!1,t(a,o),d()})),a=null,c=!1;return c=!0,a=(0,s.a)(r,e),c=!1,(0,n.hA)((function(){r&&(r.destroy(),r=null,a=null)}))}function l(e,t){let r=new o.r((function(){t(i,a)})),i=null;function a(){return r?(r.clear(),i=(0,s.a)(r,e),i):null}return a(),(0,n.hA)((function(){r&&(r.destroy(),r=null),i=null}))}function u(e,t){let r=!1,a=!1;const c=!!t?.sync;let l=new o.r((()=>{r||a||(a=!0,c?u():queueMicrotask(u))}));function u(){a=!1,l&&!r&&(i?f(u):(l.clear(),i=!0,r=!0,(0,s.a)(l,e),r=!1,i=!1,d()))}return r=!0,(0,s.a)(l,e),r=!1,(0,n.hA)((function(){l&&(l.destroy(),l=null)}))}function f(e){a.includes(e)||a.unshift(e)}function d(){for(;a.length;)a.pop()()}},88620:(e,t,r)=>{"use strict";r.d(t,{AH:()=>l,h1:()=>a,oY:()=>o,qg:()=>f,yh:()=>i});var n=r(36563),s=r(4718);function o(e){return e.__accessor__??null}function i(e,t){return null!=e?.metadata?.[t]}function a(e,t,r){return c(e,t,r?{policy:r,path:""}:null)}function c(e,t,r){return t?Object.keys(t).reduce(((e,n)=>{const o=n;let i=null,a="merge";if(r&&(i=r.path?`${r.path}.${n}`:n,a=r.policy(i)),"replace"===a)return e[o]=t[o],e;if("replace-arrays"===a&&Array.isArray(e[o]))return e[o]=t[o],e;if(void 0===e[o])return e[o]=(0,s.o8)(t[o]),e;let l=e[o],u=t[o];if(l===u)return e;if(Array.isArray(u)||Array.isArray(e))l=l?Array.isArray(l)?e[o]=l.slice():e[o]=[l]:e[o]=[],u&&(Array.isArray(u)||(u=[u]),u.forEach((e=>{l.includes(e)||l.push(e)})));else if(u&&"object"==typeof u)if(r){const t=r.path;r.path=i,e[o]=c(l,u,r),r.path=t}else e[o]=c(l,u,null);else e.hasOwnProperty(n)&&!t.hasOwnProperty(n)||(e[o]=u);return e}),e||{}):e}function l(e){return Array.isArray(e)?e:e.split(".")}function u(e){return e.includes(",")?e.split(",").map((e=>e.trim())):[e.trim()]}function f(e,t,r,s){const o=function(e){if(Array.isArray(e)){const t=[];for(const r of e)t.push(...u(r));return t}return u(e)}(t);if(1!==o.length){const t=o.map((t=>s(e,t,r)));return(0,n.vE)(t)}return s(e,o[0],r)}},14012:(e,t,r)=>{"use strict";r.d(t,{iS:()=>A,wB:()=>E,Cn:()=>T});var n=r(98291),s=r(36563),o=r(4718),i=r(93687);class a extends i.A{constructor(){super(...arguments),this._set=new Set}destroy(){super.destroy(),this._set=null}acquire(...e){const t=super.acquire(...e);return this._set.delete(t),t}release(e){e&&!this._set.has(e)&&(super.release(e),this._set.add(e))}_dispose(e){this._set.delete(e),super._dispose(e)}}var c,l,u=r(11932),f=r(24326),d=r(16649),h=r(45873),p=r(80559),g=r(88620);(l=c||(c={}))[l.Untracked=0]="Untracked",l[l.Tracked=1]="Tracked";class y{constructor(){this.uid=(0,f.c)(),this.removed=!1,this.type=null,this.oldValue=null,this.callback=null,this.getValue=null,this.target=null,this.path=null,this.equals=null}static acquireUntracked(e,t,r,n,s){return this.pool.acquire(c.Untracked,e,t,r,n,s,o.aI)}static acquireTracked(e,t,r,n){return this.pool.acquire(c.Tracked,e,t,r,null,null,n)}notify(e,t){this.type===c.Untracked?this.callback.call(this.target,e,t,this.path,this.target):this.callback.call(null,e,t,void 0,void 0)}acquire(e,t,r,n,s,o,i){this.uid=(0,f.c)(),this.removed=!1,this.type=e,this.oldValue=t,this.callback=r,this.getValue=n,this.target=s,this.path=o,this.equals=i}release(){this.target=this.path=this.oldValue=this.callback=this.getValue=null,this.uid=(0,f.c)(),this.removed=!0}}y.pool=new a(y);const m=new n.A,b=new Set;let _;function v(e){b.delete(e),b.add(e),_||(_=(0,u._)(O))}function w(e){if(e.removed)return;const t=e.oldValue,r=e.getValue();e.equals(t,r)||(e.oldValue=r,e.notify(r,t))}function A(e){for(const t of b.values())t.target===e&&(t.removed=!0)}function O(){let e=10;for(;_&&e--;){_=null;const e=k(),t=m.acquire();for(const r of e){const e=r.uid;w(r),e===r.uid&&r.removed&&t.push(r)}for(const e of b)e.removed&&(t.push(e),b.delete(e));for(const e of t)y.pool.release(e);m.release(t),m.release(e),S.forEach((e=>e()))}}function k(){const e=m.acquire();e.length=b.size;let t=0;for(const r of b)e[t]=r,++t;return b.clear(),e}const S=new Set;function E(e,t,r,n=!1){return e.__accessor__&&e.__accessor__.lifecycle!==h.v.DESTROYED?n?function(e,t,r){const n=(0,g.qg)(e,t,r,((e,t,r)=>{let s=!1;return(0,p.mJ)((()=>(0,d.RP)(e,t)),((i,a)=>{e.__accessor__.lifecycle!==h.v.DESTROYED?s||(s=!0,(0,o.aI)(a,i)||r.call(e,i,a,t,e),s=!1):n.remove()}))}));return n}(e,t,r):function(e,t,r){let n=(0,g.qg)(e,t,r,((e,t,r)=>{let o,i,a=(0,p.Df)((()=>(0,d.RP)(e,t)),((s,a)=>{e.__accessor__?.lifecycle===h.v.DESTROYED||o&&o.uid!==i?n.remove():(o||(o=y.acquireUntracked(s,r,a,e,t),i=o.uid),v(o))}));return(0,s.hA)((()=>{a.remove(),o&&(o.uid!==i||o.removed||(o.removed=!0,v(o)),o=null),n=a=null}))}));return n}(e,t,r):(0,s.hA)()}function T(e,t,r=!1,n=o.gh){return r?function(e,t,r){let n=!1;return(0,p.mJ)(e,((e,s)=>{n||(n=!0,r(s,e)||t(e,s),n=!1)}))}(e,t,n):function(e,t,r){let n,o,i=(0,p.Df)(e,((e,s)=>{n&&n.uid!==o?i.remove():(n||(n=y.acquireTracked(e,t,s,r),o=n.uid),v(n))}));return(0,s.hA)((()=>{i.remove(),n&&(n.uid!==o||n.removed||(n.removed=!0,v(n)),n=null),i=null}))}(e,t,n)}},49422:(e,t,r)=>{"use strict";r.d(t,{M:()=>h,R:()=>d});var n=r(4576),s=r(49186),o=r(53966),i=r(16649),a=r(35666),c=r(88620),l=r(51822);function u(e,t,r,n,s){const o={};return t.write?.writer?.call(e,n,o,r,s),o}function f(e,t,r,c,l,u){if(!c?.write)return!1;const f=(0,i.Jt)(e,r);if(!l&&c.write.overridePolicy){const t=c.write.overridePolicy.call(e,f,r,u??void 0);void 0!==t&&(l=t)}if(l||(l=c.write),!l||!1===l.enabled)return!1;if(l.layerContainerTypes&&u?.layerContainerType&&!l.layerContainerTypes.includes(u.layerContainerType))return!1;if((null===f&&!l.allowNull&&!l.writerEnsuresNonNull||void 0===f)&&l.isRequired){const t=new s.A("web-document-write:property-required",`Missing value for required property '${r}' on '${e.declaredClass}'`,{propertyName:r,target:e});return t&&u?.messages?u.messages.push(t):t&&!u&&o.A.getLogger("esri.core.accessorSupport.write").error(t.name,t.message),!1}return!(void 0===f||null===f&&!l.allowNull&&!l.writerEnsuresNonNull||!(l.alwaysWriteDefaults||t.store.multipleOriginsSupported&&t.store.originOf(r)!==a.Gr.DEFAULTS)&&function(e,t,r,s,o){const i=s.default;if(void 0===i)return!1;if(null!=s.defaultEquals)return s.defaultEquals(o);if("function"==typeof i){if(Array.isArray(o)){const s=i.call(e,t,r??void 0);return(0,n.aI)(s,o)}return!1}return i===o}(e,r,u,c,f)||!l.ignoreOrigin&&u?.origin&&t.store.multipleOriginsSupported&&t.store.originOf(r)<(0,a.aB)(u.origin))}function d(e,t,r,n){const s=(0,c.oY)(e),o=s.metadata,i=(0,l.k4)(o[t],n);return!!i&&f(e,s,t,i,r,n)}function h(e,t,r){if(e&&"function"==typeof e.toJSON&&(!e.toJSON.isDefaultToJSON||!e.write))return(0,c.h1)(t,e.toJSON(r));const n=(0,c.oY)(e),s=n.metadata;for(const o in s){const d=(0,l.k4)(s[o],r);if(!f(e,n,o,d,void 0,r))continue;const h=(0,i.Jt)(e,o),p=u(e,d,d.write&&"string"==typeof d.write.target?d.write.target:o,h,r);Object.keys(p).length>0&&(t=(0,c.h1)(t,p),r?.resources?.pendingOperations?.length&&r.resources.pendingOperations.push(Promise.all(r.resources.pendingOperations).then((()=>(0,c.h1)(t,p,(()=>"replace-arrays"))))),r?.writtenProperties&&r.writtenProperties.push({target:e,propName:o,oldOrigin:(0,a.in)(n.store.originOf(o)),newOrigin:r.origin}))}return t}},4576:(e,t,r)=>{"use strict";r.d(t,{$U:()=>i,$i:()=>m,Am:()=>a,He:()=>o,Ji:()=>s,Ru:()=>_,TF:()=>b,Xj:()=>u,Xy:()=>p,aI:()=>c,iv:()=>l,mW:()=>y,qh:()=>h,vW:()=>f});var n=r(87811);const s=1.5,o=1/s,i=.5;function a(e,t){return t?e.filter(((e,r,n)=>n.findIndex(t.bind(null,e))===r)):Array.from(new Set(e))}function c(e,t,r){if(null==e&&null==t)return!0;if(null==e||null==t||e.length!==t.length)return!1;if(r){for(let n=0;n<e.length;n++)if(!r(e[n],t[n]))return!1}else for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function l(e,t,r){let n,s;return r?(n=t.filter((t=>!e.some((e=>r(e,t))))),s=e.filter((e=>!t.some((t=>r(t,e)))))):(n=t.filter((t=>!e.includes(t))),s=e.filter((e=>!t.includes(e)))),{added:n,removed:s}}function u(e){return e&&"number"==typeof e.length}class f{constructor(){this.last=0}}const d=new f;function h(e,t,r,n){n=n||d;const s=Math.max(0,n.last-10);for(let o=s;o<r;++o)if(e[o]===t)return n.last=o,o;const o=Math.min(s,r);for(let r=0;r<o;++r)if(e[r]===t)return n.last=r,r;return-1}function p(e,t,r,n){const s=r??e.length,o=h(e,t,s,n);if(-1!==o)return e[o]=e[s-1],null==r&&e.pop(),t}const g=new Set;function y(e,t,r=e.length,n=t.length,s,o){if(0===n||0===r)return r;g.clear();for(let e=0;e<n;++e)g.add(t[e]);s=s||d;const i=Math.max(0,s.last-10);for(let t=i;t<r;++t)if(g.has(e[t])&&(o?.push(e[t]),g.delete(e[t]),e[t]=e[r-1],--r,--t,0===g.size||0===r))return g.clear(),r;for(let t=0;t<i;++t)if(g.has(e[t])&&(o?.push(e[t]),g.delete(e[t]),e[t]=e[r-1],--r,--t,0===g.size||0===r))return g.clear(),r;return g.clear(),r}function m(e,t){let r=0;for(let n=0;n<e.length;++n){const s=e[n];t(s,n)&&(e[r]=s,r++)}e.length=r}function b(e,t){const r=e.indexOf(t);return-1!==r?(e.splice(r,1),t):null}function _(e,t){return null!=e}new n.A},86805:(e,t,r)=>{"use strict";function n(e){return 32+e.length}r.d(t,{eY:()=>o,iL:()=>i,nu:()=>s,zd:()=>c});const s=16;function o(e){if(!e)return 0;let t=l;for(const r in e)if(e.hasOwnProperty(r)){const o=e[r];switch(typeof o){case"string":t+=n(o);break;case"number":t+=s;break;case"boolean":t+=4}}return t}function i(e){if(!e)return 0;if(Array.isArray(e))return function(e){const t=e.length;if(0===t||"number"==typeof e[0])return 32+8*t;let r=u;for(let n=0;n<t;n++)r+=a(e[n]);return r}(e);let t=l;for(const r in e)e.hasOwnProperty(r)&&(t+=a(e[r]));return t}function a(e){switch(typeof e){case"object":return i(e);case"string":return n(e);case"number":return s;case"boolean":return 4;default:return 8}}function c(e,t){return u+e.length*t}const l=32,u=16},37955:(e,t,r)=>{"use strict";r.d(t,{Oo:()=>a,on:()=>i,wb:()=>s});var n=r(36563);function s(e){return function(e){return null!=e&&"object"==typeof e&&"on"in e&&"function"==typeof e.on}(e)||o(e)}function o(e){return null!=e&&"object"==typeof e&&"addEventListener"in e&&"function"==typeof e.addEventListener}function i(e,t,r){if(!s(e))throw new TypeError("target is not a Evented or EventTarget object");return o(e)?function(e,t,r,s){if(Array.isArray(t)){const o=t.slice();for(const t of o)e.addEventListener(t,r,s);return(0,n.hA)((()=>{for(const t of o)e.removeEventListener(t,r,s)}))}return e.addEventListener(t,r,s),(0,n.hA)((()=>e.removeEventListener(t,r,s)))}(e,t,r):e.on(t,r)}function a(e,t,r){if(!s(e))throw new TypeError("target is not a Evented or EventTarget object");if("once"in e)return e.once(t,r);const n=i(e,t,(t=>{n.remove(),r.call(e,t)}));return n}},36563:(e,t,r)=>{"use strict";r.d(t,{hA:()=>s,vE:()=>o});const n={remove:()=>{}};function s(e){return e?{remove(){e&&(e(),e=void 0)}}:n}function o(e){return s((()=>function(e){e.forEach((e=>e?.remove()))}(e)))}},44208:(e,t,r)=>{"use strict";let n;function s(e){return"function"==typeof n[e]?n[e]=n[e](globalThis):n[e]}r.d(t,{A:()=>s}),n=globalThis.dojoConfig?.has||globalThis.esriConfig?.has?{...globalThis.dojoConfig?.has,...globalThis.esriConfig?.has}:{},s.add=(e,t,r,o)=>{(o||void 0===n[e])&&(n[e]=t),r&&s(e)},s.cache=n,s.add("big-integer-warning-enabled",!0),s.add("esri-deprecation-warnings",!0),s.add("esri-tests-disable-screenshots",!1),s.add("esri-tests-use-full-window",!1),s.add("esri-tests-post-to-influx",!0),s.add("esri-cim-animations-enable-status","enabled"),s.add("esri-cim-animations-spotlight",!1),s.add("esri-cim-animations-freeze-time",!1),s.add("enable-feature:multiple-highlights",!1),(()=>{s.add("host-webworker",void 0!==globalThis.WorkerGlobalScope&&self instanceof globalThis.WorkerGlobalScope);const e="undefined"!=typeof window&&"undefined"!=typeof location&&"undefined"!=typeof document&&window.location===location&&window.document===document;if(s.add("host-browser",e),s.add("host-node","object"==typeof globalThis.process&&globalThis.process.versions?.node&&globalThis.process.versions.v8),s.add("dom",e),s("host-browser")){const e=navigator,t=e.userAgent,r=e.appVersion,n=parseFloat(r);if(s.add("wp",parseFloat(t.split("Windows Phone")[1])||void 0),s.add("msapp",parseFloat(t.split("MSAppHost/")[1])||void 0),s.add("khtml",r.includes("Konqueror")?n:void 0),s.add("edge",parseFloat(t.split("Edge/")[1])||void 0),s.add("opr",parseFloat(t.split("OPR/")[1])||void 0),s.add("webkit",!s("wp")&&!s("edge")&&parseFloat(t.split("WebKit/")[1])||void 0),s.add("chrome",!s("edge")&&!s("opr")&&parseFloat(t.split("Chrome/")[1])||void 0),s.add("android",!s("wp")&&parseFloat(t.split("Android ")[1])||void 0),s.add("safari",!r.includes("Safari")||s("wp")||s("chrome")||s("android")||s("edge")||s("opr")?void 0:parseFloat(r.split("Version/")[1])),s.add("mac",r.includes("Macintosh")),!s("wp")&&/(iPhone|iPod|iPad)/.test(t)){const e=RegExp.$1.replace(/P/,"p"),r=/OS ([\d_]+)/.test(t)?RegExp.$1:"1",n=parseFloat(r.replace(/_/,".").replaceAll("_",""));s.add(e,n),s.add("ios",n)}s("webkit")||(!t.includes("Gecko")||s("wp")||s("khtml")||s("edge")||s.add("mozilla",n),s("mozilla")&&s.add("ff",parseFloat(t.split("Firefox/")[1]||t.split("Minefield/")[1])||void 0))}})(),(()=>{if(globalThis.navigator){const e=navigator.userAgent,t=/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini|IEMobile/i.test(e),r=/iPhone/i.test(e);t&&s.add("esri-mobile",t),r&&s.add("esri-iPhone",r),s.add("esri-geolocation",!!navigator.geolocation)}s.add("esri-wasm","WebAssembly"in globalThis),s.add("esri-performance-mode-frames-between-render",20),s.add("esri-force-performance-mode",!1),s.add("esri-shared-array-buffer",(()=>{const e="SharedArrayBuffer"in globalThis,t=!1===globalThis.crossOriginIsolated;return e&&!t})),s.add("wasm-simd",(()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11])))),s.add("esri-atomics","Atomics"in globalThis),s.add("esri-workers","Worker"in globalThis),s.add("web-feat:cache","caches"in globalThis),s.add("esri-workers-arraybuffer-transfer",!s("safari")||Number(s("safari"))>=12),s.add("workers-pool-size",8),s.add("featurelayer-simplify-thresholds",[.5,.5,.5,.5]),s.add("featurelayer-simplify-payload-size-factors",[1,1,4]),s.add("featurelayer-fast-triangulation-enabled",!0),s.add("featurelayer-animation-enabled",!0),s.add("featurelayer-snapshot-enabled",!0),s.add("featurelayer-snapshot-point-min-threshold",8e4),s.add("featurelayer-snapshot-point-max-threshold",4e5),s.add("featurelayer-snapshot-point-coverage",.1),s.add("featurelayer-query-max-depth",4),s.add("featurelayer-query-pausing-enabled",!1),s.add("featurelayer-advanced-symbols",!1),s.add("featurelayer-pbf",!0),s.add("featurelayer-pbf-statistics",!1),s.add("feature-layers-workers",!0),s.add("feature-polyline-generalization-factor",1),s.add("mapview-transitions-duration",200),s.add("mapview-essential-goto-duration",200),s.add("mapview-srswitch-adjust-rotation-scale-threshold",24e6),s.add("mapserver-pbf-version-support",10.81),s.add("mapservice-popup-identify-max-tolerance",20),s("host-webworker")||s("host-browser")&&(s.add("esri-csp-restrictions",(()=>{try{new Function}catch{return!0}return!1})),s.add("esri-image-decode",(()=>{if("decode"in new Image){const e=new Image;return e.src='data:image/svg+xml;charset=UTF-8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg"></svg>',void e.decode().then((()=>{s.add("esri-image-decode",!0,!0,!0)})).catch((()=>{s.add("esri-image-decode",!1,!0,!0)}))}return!1})),s.add("esri-url-encodes-apostrophe",(()=>{const e=window.document.createElement("a");return e.href="?'",e.href.includes("?%27")})))})()},5479:(e,t,r)=>{"use strict";function n(e){const t=[];return function*(){yield*t;for(const r of e)t.push(r),yield r}}function s(e,t){for(const r of e)if(null!=r&&t(r))return r}function o(e){return null!=e&&"function"==typeof e[Symbol.iterator]}r.d(t,{I6:()=>s,PP:()=>n,xZ:()=>o})},4718:(e,t,r)=>{"use strict";r.d(t,{Nb:()=>c,TU:()=>a,aI:()=>h,gh:()=>p,o8:()=>i,oy:()=>o,zI:()=>g});var n=r(4576),s=r(34275);function o(e,t){let r;if(t)for(r in e)e.hasOwnProperty(r)&&(void 0===e[r]?delete e[r]:e[r]instanceof Object&&o(e[r],!0));else for(r in e)e.hasOwnProperty(r)&&void 0===e[r]&&delete e[r];return e}function i(e){if(!e||"object"!=typeof e||"function"==typeof e)return e;const t=d(e);if(null!=t)return t;if(c(e))return e.clone();if(l(e))return e.map(i);if(u(e))return e.clone();const r={};for(const t of Object.getOwnPropertyNames(e))r[t]=i(e[t]);return r}function a(e){if(!e||"object"!=typeof e||"function"==typeof e||"HTMLElement"in globalThis&&e instanceof HTMLElement)return e;const t=d(e);if(null!=t)return t;if(l(e)){let t=!0;const r=e.map((e=>{const r=a(e);return null!=e&&null==r&&(t=!1),r}));return t?r:null}if(c(e))return e.clone();if(e instanceof File||e instanceof Blob)return e;if(!u(e)){const t=new(0,Object.getPrototypeOf(e).constructor);for(const r of Object.getOwnPropertyNames(e)){const n=e[r],s=a(n);if(null!=n&&null==s)return null;t[r]=s}return t}return null}function c(e){return"function"==typeof e.clone}function l(e){return"function"==typeof e.map&&"function"==typeof e.forEach}function u(e){return"function"==typeof e.notifyChange&&"function"==typeof e.watch}function f(e){if("[object Object]"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function d(e){if((0,s.dz)(e)||(0,s.mg)(e)||(0,s.UR)(e)||(0,s.IY)(e)||(0,s.jq)(e)||(0,s._G)(e)||(0,s.XJ)(e)||(0,s.vZ)(e)||(0,s.aI)(e))return e.slice();if(e instanceof Date)return new Date(e.getTime());if(e instanceof ArrayBuffer)return e.slice(0,e.byteLength);if(e instanceof Map){const t=new Map;for(const[r,n]of e)t.set(r,i(n));return t}if(e instanceof Set){const t=new Set;for(const r of e)t.add(i(r));return t}return null}function h(e,t){return e===t||"number"==typeof e&&isNaN(e)&&"number"==typeof t&&isNaN(t)||"function"==typeof e?.getTime&&"function"==typeof t?.getTime&&e.getTime()===t.getTime()||!1}function p(e,t){return e===t||(null==e||"string"==typeof e?e===t:"number"==typeof e?e===t||"number"==typeof t&&isNaN(e)&&isNaN(t):e instanceof Date?t instanceof Date&&e.getTime()===t.getTime():Array.isArray(e)?Array.isArray(t)&&(0,n.aI)(e,t):e instanceof Set?t instanceof Set&&function(e,t){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}(e,t):e instanceof Map?t instanceof Map&&function(e,t){if(e.size!==t.size)return!1;for(const[r,n]of e){const e=t.get(r);if(e!==n||void 0===e&&!t.has(r))return!1}return!0}(e,t):!!f(e)&&f(t)&&function(e,t){if(null===e||null===t)return!1;const r=Object.keys(e);if(null===t||Object.keys(t).length!==r.length)return!1;for(const n of r)if(e[n]!==t[n]||!Object.prototype.hasOwnProperty.call(t,n))return!1;return!0}(e,t))}function g(e){return e}},97768:(e,t,r)=>{"use strict";function n(e,t){if(null==e)throw new Error(t??"value is None")}function s(e){return e?.destroy(),null}function o(e){return e?.dispose(),null}function i(e){return e?.remove(),null}function a(e){return e?.abort(),null}function c(e){return e?.release(),null}function l(e,t,r){return null!=e&&null!=t?null!=r?r(e,t):e.equals(t):e===t}function u(e,t){let r;return e.some(((e,n)=>(r=t(e,n),null!=r))),r??void 0}r.d(t,{CM:()=>l,DC:()=>a,Gz:()=>c,Lw:()=>n,Pb:()=>u,WD:()=>o,pR:()=>s,xt:()=>i})},26390:(e,t,r)=>{"use strict";r.d(t,{d:()=>s});const n=[];function s(e){n.push(e),1===n.length&&queueMicrotask((()=>{const e=n.slice();n.length=0;for(const t of e)t()}))}},93637:(e,t,r)=>{"use strict";r.d(t,{$N:()=>s,i8:()=>a,sM:()=>i,wc:()=>o});var n=r(4718);function s(e,t,r=!1){return l(e,t,r)}function o(e,t){if(null!=t)return t[e]||c(e.split("."),!1,t)}function i(e,t,r){const n=e.split("."),s=n.pop(),o=c(n,!0,r);o&&s&&(o[s]=t)}function a(e,t){if(null==e&&null==t)return!1;if(null==e)return!0;if(null==t)return!0;if("object"==typeof e){if(Array.isArray(e)){const r=t;if(e.length!==r.length)return!0;for(let t=0;t<e.length;t++)if(a(e[t],r[t]))return!0;return!1}if(Object.keys(e).length!==Object.keys(t).length)return!0;for(const r in e)if(a(e[r],t[r]))return!0;return!1}return e!==t}function c(e,t,r){let n=r;for(const r of e){if(null==n)return;if(!(r in n)){if(!t)return;n[r]={}}n=n[r]}return n}function l(e,t,r){return t?Object.keys(t).reduce(((e,s)=>{let o=e[s],i=t[s];return o===i?e:void 0===o?(e[s]=(0,n.o8)(i),e):(Array.isArray(i)||Array.isArray(e)?(o=o?Array.isArray(o)?e[s]=o.slice():e[s]=[o]:e[s]=[],i&&(Array.isArray(i)||(i=[i]),r?i.forEach((e=>{o.includes(e)||o.push(e)})):e[s]=i.slice())):i&&"object"==typeof i?e[s]=l(o,i,r):e.hasOwnProperty(s)&&!t.hasOwnProperty(s)||(e[s]=i),e)}),e||{}):e}},74887:(e,t,r)=>{"use strict";r.d(t,{Pl:()=>O,Ol:()=>A,nA:()=>w,NK:()=>l,Tw:()=>T,sg:()=>E,Lx:()=>v,QZ:()=>_,zf:()=>b,G4:()=>d,$X:()=>k,u7:()=>g,NY:()=>y,Mq:()=>f,QP:()=>h,Te:()=>u,jH:()=>p,NO:()=>N,z7:()=>S,qr:()=>m});var n=r(36563);const s=(o=globalThis,{setTimeout:(e,t)=>{const r=o.setTimeout(e,t);return(0,n.hA)((()=>o.clearTimeout(r)))}});var o,i=r(49186),a=r(37955),c=(r(53966),r(97768));function l(e="Aborted"){return new i.A("AbortError",e)}function u(e,t="Aborted"){if(d(e))throw l(t)}function f(e){return e instanceof AbortSignal?e:e?.signal??void 0}function d(e){const t=f(e);return null!=t&&t.aborted}function h(e){if(b(e))throw e}function p(e){if(!b(e))throw e}function g(e,t){const r=f(e);if(null!=r){if(!r.aborted)return(0,a.Oo)(r,"abort",(()=>t()));t()}}function y(e,t){const r=f(e);if(null!=r)return u(r),(0,a.Oo)(r,"abort",(()=>t(l())))}function m(e,t){return null==f(t)?e:new Promise(((r,n)=>{let s=g(t,(()=>n(l())));const o=()=>{s=(0,c.xt)(s)};e.then(o,o),e.then(r,n)}))}function b(e){return"AbortError"===e?.name}async function _(e){try{return await e}catch(e){if(!b(e))throw e;return}}async function v(e){if(!e)return;if("function"!=typeof e.forEach){const t=Object.keys(e),r=t.map((t=>e[t])),n=await v(r),s={};return t.map(((e,t)=>s[e]=n[t])),s}const t=e;return Promise.allSettled(t).then((e=>Array.from(t,((t,r)=>{const n=e[r];return"fulfilled"===n.status?{promise:t,value:n.value}:{promise:t,error:n.reason}}))))}async function w(e){return(await Promise.allSettled(e)).filter((e=>"fulfilled"===e.status)).map((e=>e.value))}async function A(e){return(await Promise.allSettled(e)).filter((e=>"rejected"===e.status)).map((e=>e.reason))}function O(e,t=void 0,r){const n=new AbortController;return g(r,(()=>n.abort())),new Promise(((r,s)=>{let o=setTimeout((()=>{o=0,r(t)}),e);g(n,(()=>{o&&(clearTimeout(o),s(l()))}))}))}function k(e){return e&&"function"==typeof e.then}function S(e){return k(e)?e:Promise.resolve(e)}function E(e,t=-1){let r,n,s,o,i=null;const a=(...c)=>{if(r){n=c,o&&o.reject(l()),o=T();const e=o.promise;if(i){const e=i;i=null,e.abort()}return e}if(s=o||T(),o=null,t>0){const n=new AbortController;r=S(e(...c,n.signal));const s=r;O(t).then((()=>{r===s&&(o?n.abort():i=n)}))}else r=1,r=S(e(...c));const u=()=>{const e=n;n=s=r=i=null,null!=e&&a(...e)},f=r,d=s;return f.then(u,u),f.then(d.resolve,d.reject),d.promise};return a}function T(){let e,t;const r=new Promise(((r,n)=>{e=r,t=n})),n=t=>{e(t)};return n.resolve=t=>e(t),n.reject=e=>t(e),n.timeout=(e,t)=>s.setTimeout((()=>n.reject(t)),e),n.promise=r,n}async function N(e){await Promise.resolve(),u(e)}},11932:(e,t,r)=>{"use strict";r.d(t,{$m:()=>A,_:()=>g,md:()=>w});var n=r(26390),s=r(61604),o=r(3694),i=r(74887),a=r(78659);class c{constructor(e){this.callback=e,this.isActive=!0}remove(){this.isActive=!1}}let l=0;const u={time:(0,a.l5)(0),deltaTime:(0,a.l5)(0),elapsedFrameTime:(0,a.l5)(0),frameDuration:(0,a.l5)(0)},f=["prepare","preRender","render","postRender","update","finish"],d=[],h=new o.A,p={frameTasks:h,willDispatch:!1,clearFrameTasks:function(e=!1){h.forAll((e=>{e.removed=!0})),e&&_()},dispatch:v,executeFrameTasks:function(e){const t=(0,a.l5)(e-l);l=e;const r=1e3/60,n=Math.max(0,t-r);u.time=e,u.frameDuration=(0,a.l5)(r-n);for(let r=0;r<f.length;r++){const n=performance.now(),s=f[r];h.forAll((n=>{n.paused||n.removed||(0===r&&n.ticks++,n.phases[s]&&(u.elapsedFrameTime=(0,a.l5)(performance.now()-e),u.deltaTime=0===n.ticks?(0,a.l5)(0):t,n.phases[s]?.call(n,u)))})),O[r].push(performance.now()-n)}_(),k.push(performance.now()-e)},reschedule:function(){null!=y&&(cancelAnimationFrame(y),y=requestAnimationFrame(m))}};function g(e){const t=new c(e);return d.push(t),p.willDispatch||(p.willDispatch=!0,(0,n.d)(v)),t}let y=null;function m(){const e=performance.now();y=null;const t=h.some((e=>!e.paused&&!e.removed));y=t?requestAnimationFrame(m):null,p.executeFrameTasks(e)}const b=new o.A;function _(){h.forAll((e=>{e.removed&&b.push(e)})),h.removeUnorderedMany(b.data,b.length),b.clear()}function v(){for(;d.length;){const e=d.shift();e.isActive&&e.callback()}p.willDispatch=!1}function w(e=1,t){const r=(0,i.Tw)(),s=()=>{(0,i.G4)(t)?r.reject((0,i.NK)()):0===e?r():(--e,(0,n.d)((()=>s())))};return s(),r.promise}async function A(e){await function(e){return w(1,e)}(e),await new Promise((t=>requestAnimationFrame((()=>{e?.aborted||t()}))))}const O=f.map((e=>new s.A(e))),k=new s.A("total")},799:(e,t,r)=>{"use strict";r.d(t,{Cj:()=>a,HC:()=>i,Wm:()=>c,_e:()=>u});var n=r(93637);const s=/\{([^}]+)\}/g;function o(e){return e??""}function i(e,t){return t?e.replaceAll(s,"object"==typeof t?(e,r)=>o((0,n.wc)(r,t)):(e,r)=>o(t(r))):e}function a(e,t){return e.replaceAll(/([.$?*|{}()[\]\\/+\-^])/g,(e=>t?.includes(e)?e:`\\${e}`))}function c(e){let t=0;for(let r=0;r<e.length;r++)t=(t<<5)-t+e.charCodeAt(r),t|=0;return t}let l;function u(e){return l??=new DOMParser,l.parseFromString(e||"","text/html").body.innerText||""}},78659:(e,t,r)=>{"use strict";function n(e){return e}function s(e){return 1e3*e}function o(e){return e}r.d(t,{Kp:()=>o,gr:()=>s,l5:()=>n})},34275:(e,t,r)=>{"use strict";r.d(t,{Ek:()=>g,IY:()=>c,JI:()=>b,UR:()=>a,XJ:()=>f,_G:()=>u,a3:()=>v,aI:()=>h,cy:()=>p,dk:()=>_,dz:()=>o,jq:()=>l,mg:()=>i,mw:()=>s,vZ:()=>d,y9:()=>m,zQ:()=>y});var n=r(86805);function s(e){return e instanceof ArrayBuffer}function o(e){return"Int8Array"===e?.constructor?.name}function i(e){return"Uint8Array"===e?.constructor?.name}function a(e){return"Uint8ClampedArray"===e?.constructor?.name}function c(e){return"Int16Array"===e?.constructor?.name}function l(e){return"Uint16Array"===e?.constructor?.name}function u(e){return"Int32Array"===e?.constructor?.name}function f(e){return"Uint32Array"===e?.constructor?.name}function d(e){return"Float32Array"===e?.constructor?.name}function h(e){return"Float64Array"===e?.constructor?.name}function p(e){return!("buffer"in e)}function g(...e){return e.reduce(((e,t)=>e+(t?p(t)?(0,n.zd)(t,n.nu):t.byteLength+y:0)),0)}r(44208);const y=145,m=1024;function b(e){return h(e)||d(e)||u(e)||c(e)||o(e)}function _(e){return h(e)||d(e)}function v(e){return h(e)?179769e303:d(e)?3402823e32:f(e)?4294967295:l(e)?65535:i(e)||a(e)?255:u(e)?2147483647:c(e)?32767:o(e)?127:256}},24326:(e,t,r)=>{"use strict";r.d(t,{c:()=>s});let n=0;function s(){return++n}},84952:(e,t,r)=>{"use strict";r.d(t,{$1:()=>Q,$z:()=>V,An:()=>T,BQ:()=>oe,DB:()=>Z,FL:()=>B,FX:()=>z,Hg:()=>re,Il:()=>he,N9:()=>se,S8:()=>G,T1:()=>ge,UC:()=>pe,V1:()=>W,Xq:()=>S,Zo:()=>ve,_0:()=>Ae,a6:()=>_e,b8:()=>D,e7:()=>de,fj:()=>H,gd:()=>E,lJ:()=>X,lM:()=>ce,m3:()=>ae,nM:()=>fe,oP:()=>K,oy:()=>$,r$:()=>te,rs:()=>be,s0:()=>w,s2:()=>J,sC:()=>q,s_:()=>P,tk:()=>ne,ut:()=>U,w8:()=>Y,x0:()=>j,xw:()=>we,yM:()=>C,zf:()=>N,zi:()=>me,zs:()=>R});var n=r(92602),s=r(4576),o=r(49186),i=r(25482),a=r(53966),c=r(39131),l=r(26306);const u=()=>a.A.getLogger("esri.core.urlUtils"),f=n.A.request,d="esri/config: esriConfig.request.proxyUrl is not set.",h=/^\s*[a-z][a-z0-9-+.]*:(?![0-9])/i,p=/^\s*http:/i,g=/^\s*https:/i,y=/^\s*file:/i,m=/:\d+$/,b=/^https?:\/\/[^/]+\.arcgis.com\/sharing(\/|$)/i,_=new RegExp("^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$"),v=new RegExp("^((([^[:]+):)?([^@]+)@)?(\\[([^\\]]+)\\]|([^[:]*))(:([0-9]+))?$");class w{constructor(e=""){this.uri=e,this.scheme=null,this.authority=null,this.path=null,this.query=null,this.fragment=null,this.user=null,this.password=null,this.host=null,this.port=null;let t=this.uri.match(_);this.scheme=t[2]||(t[1]?"":null),this.authority=t[4]||(t[3]?"":null),this.path=t[5],this.query=t[7]||(t[6]?"":null),this.fragment=t[9]||(t[8]?"":null),null!=this.authority&&(t=this.authority.match(v),this.user=t[3]||null,this.password=t[4]||null,this.host=t[6]||t[7],this.port=t[9]||null)}toString(){return this.uri}}const A={};let O=new w(n.A.applicationUrl);let k=function(){const e=O.path,t=e.slice(0,e.lastIndexOf("/")+1);return`${O.scheme}://${O.host}${null!=O.port?`:${O.port}`:""}${t}`}();const S=()=>O,E=()=>k;function T(e){if(!e)return null;const t={path:null,query:null},r=new w(e),n=e.indexOf("?");return null===r.query?t.path=e:(t.path=e.slice(0,n),t.query=N(r.query)),r.fragment&&(t.hash=r.fragment,null===r.query&&(t.path=t.path.slice(0,t.path.length-(r.fragment.length+1)))),t}function N(e){const t=e.split("&"),r={};for(const e of t){if(!e)continue;const t=e.indexOf("=");let n,s;t<0?(n=decodeURIComponent(e),s=""):(n=decodeURIComponent(e.slice(0,t)),s=decodeURIComponent(e.slice(t+1)));let o=r[n];"string"==typeof o&&(o=r[n]=[o]),Array.isArray(o)?o.push(s):r[n]=s}return r}function j(e,t){return e?t&&"function"==typeof t?Object.keys(e).map((r=>encodeURIComponent(r)+"="+encodeURIComponent(t(r,e[r])))).join("&"):Object.keys(e).map((r=>{const n=e[r];if(null==n)return"";const s=encodeURIComponent(r)+"=",o=t?.[r];return o?s+encodeURIComponent(o(n)):Array.isArray(n)?n.map((e=>(0,i.Wj)(e)?s+encodeURIComponent(JSON.stringify(e)):s+encodeURIComponent(e))).join("&"):(0,i.Wj)(n)?s+encodeURIComponent(JSON.stringify(n)):s+encodeURIComponent(n)})).filter((e=>e)).join("&"):""}function P(e=!1){let t,r=f.proxyUrl;if("string"==typeof e){t=ae(e);const n=R(e);n&&(r=n.proxyUrl)}else t=!!e;if(!r)throw u().warn(d),new o.A("urlUtils:proxy-not-set",d);return t&&le()&&(r=ce(r)),T(r)}function C(e,t=!1){const r=R(e);let n,s;if(r){const e=M(r.proxyUrl);n=e.path,s=e.query?N(e.query):null}else if(t){const t=P(e);n=t.path,s=t.query}if(n){const t=T(e);e=n+"?"+t.path;const r=j({...s,...t.query});r&&(e=`${e}?${r}`)}return e}const I={path:"",query:""};function M(e){const t=e.indexOf("?");return-1!==t?(I.path=e.slice(0,t),I.query=e.slice(t+1)):(I.path=e,I.query=null),I}function x(e){return(e=ue(e=he(e=M(e).path),!0)).toLowerCase()}function $(e){const t={proxyUrl:e.proxyUrl,urlPrefix:x(e.urlPrefix)},r=f.proxyRules,n=t.urlPrefix;let s=r.length;for(let e=0;e<r.length;e++){const t=r[e].urlPrefix;if(0===n.indexOf(t)){if(n.length===t.length)return-1;s=e;break}0===t.indexOf(n)&&(s=e+1)}return r.splice(s,0,t),s}function R(e){const t=f.proxyRules,r=x(e);for(let e=0;e<t.length;e++)if(0===r.indexOf(t[e].urlPrefix))return t[e]}function D(e,t){if(!e||!t)return!1;e=L(e),t=L(t);const r=(0,c.py)(e),n=(0,c.py)(t);return null!=r&&null!=n?r.portalHostname===n.portalHostname:null==r&&null==n&&z(e,t,!0)}function U(e,t){return e=L(e),t=L(t),ue(e)===ue(t)}function L(e){const t=(e=G(e)).indexOf("/sharing");return t>0?e.slice(0,t):e.replace(/\/+$/,"")}function q(e,t=f.interceptors){const r=t=>null==t||t instanceof RegExp&&t.test(e)||"string"==typeof t&&e.startsWith(t);if(t)for(const e of t)if(Array.isArray(e.urls)){if(e.urls.some(r))return e}else if(r(e.urls))return e;return null}function z(e,t,r=!1){if(!e||!t)return!1;const n=ye(e),s=ye(t);return!(!r&&n.scheme!==s.scheme)&&null!=n.host&&null!=s.host&&n.host.toLowerCase()===s.host.toLowerCase()&&n.port===s.port}function B(e){if("string"==typeof e){if(!K(e))return!0;e=ye(e)}if(z(e,O))return!0;const t=f.trustedServers||[];for(let r=0;r<t.length;r++){const n=F(t[r]);for(let t=0;t<n.length;t++)if(z(e,n[t]))return!0}return!1}function F(e){return A[e]||(ie(e)||oe(e)?A[e]=[new w(J(e))]:A[e]=[new w(`http://${e}`),new w(`https://${e}`)]),A[e]}function J(e,t=k,r){return oe(e)?r?.preserveProtocolRelative?e:"http"===O.scheme&&O.authority===V(e).slice(2)?`http:${e}`:`https:${e}`:ie(e)?e:H("/"===e[0]?function(e){const t=e.indexOf("//"),r=e.indexOf("/",t+2);return-1===r?e:e.slice(0,r)}(t):t,e)}function W(e,t=k,r){if(null==e||!K(e))return e;const n=G(e),s=n.toLowerCase(),o=G(t).toLowerCase().replace(/\/+$/,""),i=r?G(r).toLowerCase().replace(/\/+$/,""):null;if(i&&0!==o.indexOf(i))return e;const a=(e,t,r)=>-1===(r=e.indexOf(t,r))?e.length:r;let c=a(s,"/",s.indexOf("//")+2),l=-1;for(;s.slice(0,c+1)===o.slice(0,c)+"/"&&(l=c+1,c!==s.length);)c=a(s,"/",c+1);if(-1===l)return e;if(i&&l<i.length)return e;e=n.slice(l);const u=o.slice(l-1).replaceAll(/[^/]+/g,"").length;if(u>0)for(let t=0;t<u;t++)e=`../${e}`;else e=`./${e}`;return e}function G(e){return function(e){const t=f.httpsDomains;if(!function(e){return null!=e&&p.test(e)||"http"===O.scheme&&oe(e)}(e))return e;const r=e.indexOf("/",7);let n;if(n=-1===r?e:e.slice(0,r),n=n.toLowerCase().slice(7),m.test(n)){if(!n.endsWith(":80"))return e;n=n.slice(0,-3),e=e.replace(":80","")}return"http"===O.scheme&&n===O.authority&&!b.test(e)||(le()&&n===O.authority||t&&t.some((e=>n===e||n.endsWith(`.${e}`)))||le()&&!R(e))&&(e=ce(e)),e}(e=function(e){return e.replace(/^(https?:\/\/)(arcgis\.com)/i,"$1www.$2")}(e=function(e){if(/^https?:\/\//i.test(e)){const t=M(e);e=(e=t.path.replaceAll(/\/{2,}/g,"/")).replace("/","//"),t.query&&(e+=`?${t.query}`)}return e}(e=J(e=e.trim()))))}function H(...e){const t=e.filter(s.Ru);if(!t?.length)return;const r=[];if(K(t[0])){const e=t[0],n=e.indexOf("//");-1!==n&&(r.push(e.slice(0,n+1)),function(e){return null!=e&&y.test(e)}(t[0])&&(r[0]+="/"),t[0]=e.slice(n+2))}else"/"===t[0][0]&&r.push("");const n=t.reduce(((e,t)=>t?e.concat(t.split("/")):e),[]);for(let e=0;e<n.length;e++){const t=n[e];".."===t&&r.length>0&&".."!==r[r.length-1]?r.pop():(!t&&e===n.length-1||t&&("."!==t||0===r.length))&&r.push(t)}return r.join("/")}function V(e,t=!1){if(null==e||Y(e)||Z(e))return null;let r=e.indexOf("://");if(-1===r&&oe(e))r=2;else{if(-1===r)return null;r+=3}const n=e.indexOf("/",r);return-1!==n&&(e=e.slice(0,n)),t&&(e=ue(e,!0)),e}function K(e){return oe(e)||ie(e)}function Y(e){return null!=e&&"blob:"===e.slice(0,5)}function Z(e){return null!=e&&"data:"===e.slice(0,5)}function X(e){const t=te(e);return t?.isBase64?(0,l.M)(t.data):null}function Q(e){return(0,l.Y)(e).replaceAll("+","-").replaceAll("/","_").replace(/=+$/,"")}const ee=/^data:(.*?)(;base64)?,(.*)$/;function te(e){const t=e.match(ee);if(!t)return null;const[,r,n,s]=t;return{mediaType:r,isBase64:!!n,data:s}}function re(e){return e.isBase64?`data:${e.mediaType};base64,${e.data}`:`data:${e.mediaType},${e.data}`}async function ne(e){return(await fetch(e)).blob()}function se(e){const t=X(e);if(!t)return null;const r=te(e);return new Blob([t],{type:r.mediaType})}function oe(e){return null!=e&&"/"===e[0]&&"/"===e[1]}function ie(e){return null!=e&&h.test(e)}function ae(e){return null!=e&&g.test(e)||"https"===O.scheme&&oe(e)}function ce(e){return oe(e)?`https:${e}`:e.replace(p,"https:")}function le(){return"https"===O.scheme}function ue(e,t=!1){return oe(e)?e.slice(2):(e=e.replace(h,""),t&&e.length>1&&"/"===e[0]&&"/"===e[1]&&(e=e.slice(2)),e)}function fe(e){let t=0;if(K(e)){const r=e.indexOf("//");-1!==r&&(t=r+2)}const r=e.lastIndexOf("/");return r<t?e:e.slice(0,r+1)}function de(e,t){if(!e)return"";const r=T(e).path.replace(/\/+$/,""),n=r.slice(r.lastIndexOf("/")+1);if(!t?.length)return n;const s=new RegExp(`\\.(${t.join("|")})$`,"i");return n.replace(s,"")}function he(e){return e.endsWith("/")?e:`${e}/`}function pe(e){return e.replace(/\/+$/,"")}function ge(e,t,r){if(!(t&&r&&e&&K(e)))return e;const n=e.indexOf("//"),s=e.indexOf("/",n+2),o=e.indexOf(":",n+2),i=Math.min(s<0?e.length:s,o<0?e.length:o);return e.slice(n+2,i).toLowerCase()!==t.toLowerCase()?e:`${e.slice(0,n+2)}${r}${e.slice(i)}`}function ye(e){return"string"==typeof e?new w(J(e)):(e.scheme||(e.scheme=O.scheme),e)}function me(e,t){const r=T(e),n=Object.keys(r.query||{});return n.length>0&&t&&t.warn("removeQueryParameters()",`Url query parameters are not supported, the following parameters have been removed: ${n.join(", ")}.`),r.path}function be(e,t,r){const n=T(e),s=n.query||{};return s[t]=String(r),`${n.path}?${j(s)}`}function _e(e,t){if(!t)return e;const r=T(e),n=r.query||{};for(const[e,r]of Object.entries(t))null!=r&&(n[e]=r);const s=j(n);return s?`${r.path}?${s}`:r.path}function ve(e){if(null==e)return null;const t=e.match(Oe);return t?t[2]:null}function we(e){if(null==e)return null;const t=e.match(Oe);return t?{path:t[1],extension:t[2]}:{path:e,extension:null}}async function Ae(e){return"string"==typeof e?te(e)??{data:e}:new Promise(((t,r)=>{const n=new FileReader;n.readAsDataURL(e),n.onload=()=>t(te(n.result)),n.onerror=e=>r(e)}))}const Oe=/([^.]*)\.([^/]*)$/},52268:(e,t,r)=>{"use strict";function n(e,t){return new Proxy({},{get:(r,n,s)=>(...r)=>{let s,o;const i=r[r.length-1];return function(e){return"object"==typeof e&&!Array.isArray(e)&&null!=e&&("signal"in e||"transferList"in e||0===Object.keys(e).length)}(i)&&(s=i.signal,o=i.transferList,r.pop()),e.apply(t?`${t}.${n.toString()}`:n.toString(),r,{transferList:o,signal:s})}})}r.d(t,{L:()=>n})},61322:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>v});var n=r(70333),s=r(49186),o=r(37955),i=r(36563),a=r(97768),c=r(74887),l=r(52268);const u={statsWorker:()=>Promise.all([r.e(6285),r.e(4996),r.e(8902),r.e(4080),r.e(7455),r.e(8438),r.e(201),r.e(3009)]).then(r.bind(r,33009)),geometryEngineWorker:()=>Promise.all([r.e(9930),r.e(6387)]).then(r.bind(r,68887)),CSVSourceWorker:()=>Promise.all([r.e(6285),r.e(7251),r.e(8368),r.e(4996),r.e(8902),r.e(4080),r.e(7455),r.e(9884),r.e(8438),r.e(201),r.e(8432),r.e(73)]).then(r.bind(r,40752)),EdgeProcessingWorker:()=>Promise.all([r.e(3030),r.e(9899),r.e(7346)]).then(r.bind(r,71936)),ElevationSamplerWorker:()=>Promise.all([r.e(7251),r.e(4996),r.e(8902),r.e(4080),r.e(7455),r.e(3030),r.e(2324)]).then(r.bind(r,38419)),FeatureServiceSnappingSourceWorker:()=>Promise.all([r.e(6285),r.e(1956),r.e(7251),r.e(8368),r.e(4996),r.e(8902),r.e(4080),r.e(7455),r.e(6208),r.e(9884),r.e(8438),r.e(201),r.e(8432),r.e(2543)]).then(r.bind(r,12543)),GeoJSONSourceWorker:()=>Promise.all([r.e(6285),r.e(7251),r.e(8368),r.e(4996),r.e(8902),r.e(4080),r.e(7455),r.e(9884),r.e(8438),r.e(201),r.e(8432),r.e(6117)]).then(r.bind(r,71202)),LercWorker:()=>r.e(7087).then(r.bind(r,57087)),MemorySourceWorker:()=>Promise.all([r.e(6285),r.e(7251),r.e(8368),r.e(4996),r.e(8902),r.e(4080),r.e(7455),r.e(9884),r.e(8438),r.e(201),r.e(8432),r.e(1428)]).then(r.bind(r,29432)),PBFDecoderWorker:()=>Promise.all([r.e(4996),r.e(8902),r.e(4080),r.e(6208),r.e(7367)]).then(r.bind(r,97367)),FeaturePipelineWorker:()=>Promise.all([r.e(6285),r.e(587),r.e(6311),r.e(1956),r.e(7251),r.e(8368),r.e(4996),r.e(8902),r.e(4080),r.e(7455),r.e(6208),r.e(9884),r.e(8438),r.e(201),r.e(9949),r.e(9423),r.e(821),r.e(8250)]).then(r.bind(r,8250)),PointCloudWorker:()=>Promise.all([r.e(4996),r.e(7455),r.e(690),r.e(2944),r.e(7984),r.e(4731)]).then(r.bind(r,34142)),RasterWorker:()=>Promise.all([r.e(7251),r.e(4996),r.e(8902),r.e(4080),r.e(984),r.e(4932),r.e(5722)]).then(r.bind(r,30139)),SceneLayerSnappingSourceWorker:()=>Promise.all([r.e(7455),r.e(690),r.e(3030),r.e(9899),r.e(6064)]).then(r.bind(r,46064)),SceneLayerWorker:()=>Promise.all([r.e(6285),r.e(1956),r.e(7251),r.e(4996),r.e(8902),r.e(4080),r.e(7455),r.e(690),r.e(2944),r.e(9287),r.e(4654),r.e(8580)]).then(r.bind(r,2060)),WFSSourceWorker:()=>Promise.all([r.e(6285),r.e(7251),r.e(8368),r.e(4996),r.e(8902),r.e(4080),r.e(7455),r.e(9884),r.e(8438),r.e(201),r.e(8432),r.e(4322),r.e(4613)]).then(r.bind(r,33771)),WorkerTileHandler:()=>Promise.all([r.e(4996),r.e(8902),r.e(9949),r.e(5013),r.e(9423),r.e(3379)]).then(r.bind(r,11764)),Lyr3DWorker:()=>r.e(9234).then(r.bind(r,79234)),Feature3DPipelineWorker:()=>Promise.all([r.e(6285),r.e(3874),r.e(1147),r.e(587),r.e(1956),r.e(7251),r.e(8368),r.e(4996),r.e(8902),r.e(4080),r.e(7455),r.e(6208),r.e(690),r.e(9884),r.e(8438),r.e(3030),r.e(201),r.e(2944),r.e(9899),r.e(9287),r.e(4023),r.e(168)]).then(r.bind(r,14936))};var f=r(8341),d=r(18357);const{CLOSE:h,ABORT:p,INVOKE:g,RESPONSE:y,OPEN_PORT:m,ON:b}=f.Go;class _{constructor(e){this._invoke=e,this._timer=null,this._cancelledJobIds=new Set,this._invokeMessages=[],this._timer=null,this._process=this._process.bind(this)}push(e){e.type===f.Go.ABORT?this._cancelledJobIds.add(e.jobId):(this._invokeMessages.push(e),null===this._timer&&(this._timer=setTimeout(this._process,0)))}clear(){this._invokeMessages.length=0,this._cancelledJobIds.clear(),this._timer=null}_process(){this._timer=null;for(const e of this._invokeMessages)this._cancelledJobIds.has(e.jobId)||this._invoke(e);this._cancelledJobIds.clear(),this._invokeMessages.length=0}}class v{static connect(e,t){const r=new MessageChannel;let n;n="function"==typeof e?new e:"default"in e&&"function"==typeof e.default?new e.default:e;const s=new v(r.port1,{channel:r,client:n,schedule:t});return"object"==typeof n&&"remoteClient"in n&&(n.remoteClient=s),v.clients.set(s,n),r.port2}static loadWorker(e){const t=u[e];return t?t():Promise.resolve(null)}constructor(e,t,r){this._port=e,this._jobQueue=r,this._outJobs=new Map,this._inJobs=new Map,this._invokeQueue=new _((e=>this._onInvokeMessage(e))),this._client=t.client,this._onMessage=this._onMessage.bind(this),this._channel=t.channel,this._schedule=t.schedule,this._port.addEventListener("message",this._onMessage),this._port.start()}close(){this._post({type:h}),this._close()}isBusy(){return this._outJobs.size>0}invoke(e,t,r){return this.apply(e,[t],r)}apply(e,t,r){const n=r?.signal,o=r?.transferList;if(!this._port)return Promise.reject(new s.A(f.T,`Cannot call invoke('${e}'), port is closed`,{methodName:e,data:t}));const i=(0,f.Jc)();return new Promise(((r,s)=>{if((0,c.G4)(n))return this._processWork(),void s((0,c.NK)());const l=(0,c.u7)(n,(()=>{const e=this._outJobs.get(i);e&&(this._outJobs.delete(i),this._processWork(),(0,a.xt)(e.abortHandle),this._post({type:p,jobId:i}),s((0,c.NK)()))})),u={resolve:r,reject:s,abortHandle:l,debugInfo:e};this._outJobs.set(i,u),this._post({type:g,jobId:i,methodName:e,abortable:null!=n},t,o)}))}createInvokeProxy(e){return(0,l.L)(this,e)}on(e,t){const r=new MessageChannel;function n(e){t(e.data)}return this._port.postMessage({type:f.Go.ON,eventType:e,port:r.port2},[r.port2]),r.port1.addEventListener("message",n),r.port1.start(),(0,i.hA)((()=>{r.port1.postMessage({type:f.Go.CLOSE}),r.port1.close(),r.port1.removeEventListener("message",n)}))}jobAdded(){this._processWork()}openPort(){const e=new MessageChannel;return this._post({type:m,port:e.port2}),e.port1}_processWork(){if(this._outJobs.size>=2)return;const e=this._jobQueue?.pop();if(!e)return;const{methodName:t,data:r,invokeOptions:n,resolver:s}=e;this.apply(t,r,n).then((e=>s.resolve(e))).catch((e=>s.reject(e)))}_close(){this._channel&&(this._channel=void 0),this._port.removeEventListener("message",this._onMessage),this._port.close(),this._outJobs.forEach((e=>{(0,a.xt)(e.abortHandle),e.reject((0,c.NK)(`Worker closing, aborting job calling '${e.debugInfo}'`))})),this._inJobs.clear(),this._outJobs.clear(),this._invokeQueue.clear(),this._port=null,this._client=null,this._schedule=null}_onMessage(e){null!=this._schedule?this._schedule((()=>this._processMessage(e,!0))):this._processMessage(e,!1)}_processMessage(e,t){const r=(0,f.VI)(e);if(r)switch(r.type){case y:this._onResponseMessage(r);break;case g:t?this._onInvokeMessage(r):this._invokeQueue.push(r);break;case p:this._onAbortMessage(r);break;case h:this._onCloseMessage();break;case m:this._onOpenPortMessage(r);break;case b:this._onOnMessage(r)}}_onAbortMessage(e){const t=this._inJobs,r=e.jobId,n=t.get(r);this._invokeQueue.push(e),n&&(n.controller&&n.controller.abort(),t.delete(r))}_onCloseMessage(){const e=this._client;this._close(),e&&"destroy"in e&&v.clients.get(this)===e&&e.destroy(),v.clients.delete(this),e?.remoteClient&&(e.remoteClient=null)}_onInvokeMessage(e){const{methodName:t,jobId:r,data:n=[],abortable:s}=e,o=s?new AbortController:null,i=this._inJobs;let a,l=this._client,u=l[t];try{if(!u&&t&&t.includes(".")){const e=t.split(".");for(let t=0;t<e.length-1;t++)l=l[e[t]],u=l[e[t+1]]}if("function"!=typeof u)throw new TypeError(`${t} is not a function`);n.push({client:this,signal:o?o.signal:null}),a=u.apply(l,n)}catch(e){return void this._post({type:y,jobId:r,error:(0,f.mF)(e)})}(0,c.$X)(a)?(i.set(r,{controller:o,promise:a}),a.then((e=>{i.has(r)&&(i.delete(r),this._post({type:y,jobId:r},e))}),(e=>{i.has(r)&&(i.delete(r),(0,c.zf)(e)||this._post({type:y,jobId:r,error:(0,f.mF)(e||{message:`Error encountered at method ${t}`})}))}))):this._post({type:y,jobId:r},a)}_onOpenPortMessage(e){new v(e.port,{client:this._client})}_onOnMessage(e){const{port:t}=e,r=this._client.on(e.eventType,(e=>{t.postMessage(e)})),n=(0,o.on)(e.port,"message",(e=>{const s=(0,f.VI)(e);s?.type===f.Go.CLOSE&&(n.remove(),r.remove(),t.close())}))}_onResponseMessage(e){const{jobId:t,error:r,data:n}=e,o=this._outJobs;if(!o.has(t))return;const i=o.get(t);o.delete(t),this._processWork(),(0,a.xt)(i.abortHandle),r?i.reject(s.A.fromJSON(JSON.parse(r))):i.resolve(n)}_post(e,t,r){return(0,f.u1)(this._port,e,t,r)}}v.kernelInfo={buildDate:d.$,fullVersion:n.ol,revision:d.u},v.clients=new Map},8341:(e,t,r)=>{"use strict";r.d(t,{Go:()=>i,Jc:()=>l,T:()=>o,VI:()=>d,mF:()=>u,oV:()=>p,u1:()=>f});var n=r(44208),s=r(74887);const o="worker:port-closed";var i,a;(a=i||(i={}))[a.HANDSHAKE=0]="HANDSHAKE",a[a.OPEN=1]="OPEN",a[a.OPENED=2]="OPENED",a[a.RESPONSE=3]="RESPONSE",a[a.INVOKE=4]="INVOKE",a[a.ABORT=5]="ABORT",a[a.CLOSE=6]="CLOSE",a[a.OPEN_PORT=7]="OPEN_PORT",a[a.ON=8]="ON";let c=0;function l(){return c++}function u(e){return e?"string"==typeof e?JSON.stringify({name:"message",message:e}):e.toJSON?JSON.stringify(e):JSON.stringify({name:e.name,message:e.message,details:e.details||{stack:e.stack}}):null}function f(e,t,r,s){if(t.type===i.OPEN_PORT)return void e.postMessage(t,[t.port]);if(t.type!==i.INVOKE&&t.type!==i.RESPONSE)return void e.postMessage(t);let o;if(function(e){return e&&"object"==typeof e&&("result"in e||"transferList"in e)}(r)?(o=h(r.transferList),t.data=r.result):(o=h(s),t.data=r),o){if((0,n.A)("ff"))for(const r of o)if("byteLength"in r&&r.byteLength>267386880){const r="Worker call with large ArrayBuffer would crash Firefox";switch(t.type){case i.INVOKE:throw r;case i.RESPONSE:return void f(e,{type:i.RESPONSE,jobId:t.jobId,error:u(r)})}}e.postMessage(t,o)}else e.postMessage(t)}function d(e){if(!e)return null;const t=e.data;return t?"string"==typeof t?JSON.parse(t):t:null}function h(e){if(!e?.length)return null;if((0,n.A)("esri-workers-arraybuffer-transfer"))return e;const t=e.filter((e=>!function(e){return e instanceof ArrayBuffer||"ArrayBuffer"===e?.constructor?.name}(e)));return t.length?t:null}async function p(e){try{return await e}catch(e){const t=e?.name===o;if(!(0,s.zf)(e)&&!t)throw e;return}}},70333:(e,t,r)=>{"use strict";r.d(t,{Aq:()=>l,Y3:()=>u,id:()=>a,ol:()=>c,rE:()=>i});var n=r(44208),s=r(84952),o=r(18357);Symbol.dispose??=Symbol("Symbol.dispose"),Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");const i="4.32";let a,c=i;function l(e){a=e}function u(e){const t=a?.findCredential(e);return t?.token?(0,s.rs)(e,"token",t.token):e}c=`4.32.0-next.${o.$}`,(0,n.A)("host-webworker")||globalThis.$arcgis||Object.defineProperty(globalThis,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),(0,n.A)("host-webworker")},39131:(e,t,r)=>{"use strict";r.d(t,{$E:()=>i,py:()=>o,qG:()=>a});const n=/^https:\/\/([a-z\d-]+)(\.maps([^.]*))?\.arcgis\.com/i,s={devext:{customBaseUrl:"mapsdevext.arcgis.com",portalHostname:"devext.arcgis.com"},qaext:{customBaseUrl:"mapsqa.arcgis.com",portalHostname:"qaext.arcgis.com"},www:{customBaseUrl:"maps.arcgis.com",portalHostname:"www.arcgis.com"}};function o(e){const t=e?.match(n);if(!t)return null;const[,r,o,i]=t;if(!r)return null;let a=null,c=null,l=null;const{devext:u,qaext:f,www:d}=s;if(o)if(a=r,i)switch(i.toLowerCase()){case"devext":({customBaseUrl:c,portalHostname:l}=u);break;case"qa":({customBaseUrl:c,portalHostname:l}=f);break;default:return null}else({customBaseUrl:c,portalHostname:l}=d);else switch(r.toLowerCase()){case"devext":({customBaseUrl:c,portalHostname:l}=u);break;case"qaext":({customBaseUrl:c,portalHostname:l}=f);break;case"www":({customBaseUrl:c,portalHostname:l}=d);break;default:return null}return{customBaseUrl:c,isPortal:!1,portalHostname:l,urlKey:a}}function i(e){return/\/(sharing|usrsvcs)\/(appservices|servers)\//i.test(e)}function a(e){const t=/^https?:\/\/(?:cdn|[a-z\d-]+\.maps)\.arcgis\.com/i,r=/^https?:\/\/(?:cdndev|[a-z\d-]+\.mapsdevext)\.arcgis\.com/i,n=/^https?:\/\/(?:cdnqa|[a-z\d-]+\.mapsqa)\.arcgis\.com/i;return t.test(e)?e=e.replace(t,"https://www.arcgis.com"):r.test(e)?e=e.replace(r,"https://devext.arcgis.com"):n.test(e)&&(e=e.replace(n,"https://qaext.arcgis.com")),e}},26306:(e,t,r)=>{"use strict";function n(e){const t=atob(e),r=new Uint8Array(t.length);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);return r.buffer}function s(e){const t=new Uint8Array(e);let r="";for(let e=0;e<t.length;e++)r+=String.fromCharCode(t[e]);return btoa(r)}r.d(t,{M:()=>n,Y:()=>s})},18357:(e,t,r)=>{"use strict";r.d(t,{$:()=>n,u:()=>s});const n="20241028",s="9e7e0f56dfb0226af58b1774390f5e3a65dbe92a"}},t={};function r(n){var s=t[n];if(void 0!==s)return s.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}r.m=e,r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((t,n)=>(r.f[n](e,t),t)),[])),r.u=e=>"chunks/"+{1:"c87ef4e3054c661a74e9",36:"92b2d81ef16877341f97",73:"8dab75b9b059aa9f9f7b",146:"56326fd42c3aecb323d1",168:"d074ba015bab3ec39071",177:"78683f1aadc1377be5fd",191:"090697a2a46210da2111",201:"24ca364848b51494b923",309:"7a81e975bc4f2f09d07e",349:"198d74db9631a66bd850",369:"3871d2ecef5bcf6ac14f",382:"ad19e3eaa339b0d6cb44",435:"4c6a6787d0c9dc7b99c1",475:"196ff12122673fffd161",587:"cb919ef253df5838c818",624:"e6a07b8d34435aedd72e",659:"b249375dc905cdf50763",690:"9a30ad773c22bde61c64",692:"0f6e3f614a12a56e5246",735:"dc1225b55b5d09fbaf63",820:"339e7a900e2bba9d3647",821:"4f26755aa14a0837aa60",980:"9f08945b9ee224666d21",984:"8515be0f67563392b624",1053:"71bd94cc789a55910f92",1132:"2d326816127032dd8ec1",1147:"2cfafc7a06cf363cc8dc",1204:"618f825d56d4981594c5",1273:"59f798e2b277615204de",1275:"b2080c2a87ff35962d5c",1277:"b3626f0d1bcb542c5ea0",1346:"1201e22dbadb87cd420c",1384:"47c8f8a48d6c8175a016",1389:"608118665a9ed136b2b8",1402:"bf707397c5dc20a68419",1428:"2222ebdc9c436bec80d3",1493:"862177e13be636dfa578",1507:"2d6cb891a5de393e4798",1528:"6dd21790b94856ad9ba1",1737:"72e9f2b30b637bbcdf7c",1756:"c205e2310a367be57cc3",1786:"c59c024ca1c6ae87e087",1804:"c9160a55db38aa3efbc8",1892:"c90be1540463bf613dc8",1956:"760130e1940b299c1ff7",1967:"9cfaf1cbbb1d6453e939",2180:"31baef3b699364e8df98",2186:"9fde9309cb64f1a9301c",2194:"d4906a60d4e3aead1196",2288:"fd2f3b344ae822e9d001",2324:"624382c5785e92ba5ef1",2329:"bd88f6c4ff81bdaf8bdd",2343:"634a2c2d65998a699900",2390:"b3c7c48b0beaac0ff73f",2543:"e31923da0ded26b8003c",2558:"5ee4f59a9b742ce114c7",2593:"914ac4fc7e24f2c814ac",2731:"6b0baecbd35d26393dcf",2780:"49df374aa64ed9204ca7",2931:"556c989c03fbfe847262",2944:"ee794e3c916da2fb9275",2958:"236e0f5d5ac1a6ea1107",2980:"303b5d0b70450d9d3061",3009:"c0af54cc5938176ce764",3030:"5660f13d78e9e4240034",3069:"f1313389eeb7a2350db3",3075:"c1fe40653005f97fc754",3091:"cf009714b40a0b808476",3186:"837471fcf383a0f4b6ff",3209:"527932bf4c31cec46922",3359:"56debaa070f69ca41524",3379:"ac42e288b0fed706b63d",3390:"002f544609275b74912f",3492:"87f33a60768801ca1ce8",3513:"4b0f9f298f8c7560f318",3543:"90e758afa0bc8f5a5001",3552:"82346b518b7625c4e184",3561:"0ad628ba26fd1798ca9b",3600:"bd1cb0ba0ec302ab1ad5",3656:"adc40069ed6001d6448c",3666:"0f153941204401bad127",3812:"5cfecb320e1dcd258b2e",3839:"931fd7656a893459bcad",3874:"3e232e34b927b6b61f61",3920:"66595213e5db07a54a07",3995:"229d48e4f3c12cb094c1",4023:"bc4ef18d0a02354186e3",4060:"bd11017c2cc0fbeeab49",4068:"a1752adee1f58ee21581",4080:"8252430e40bfe3b12397",4106:"35b2ac01f9c9d0af11fd",4111:"b8c49178cd0f7465380c",4174:"da1687d68cfe20e4f069",4322:"089215b6724cb2bda01a",4399:"0f3912bca9fe25eea75c",4543:"59b51698c38eade0ac9e",4594:"03192a2af5707c30b5bb",4613:"c28f01f886f1fbfa9fe4",4654:"aa76c9a7be61cea5fcd1",4731:"f409c5fcef0ee9d84ed7",4761:"e20994ca9739e7c58c7a",4784:"dcf88605951b3f8e7883",4796:"a7ba05cfc6a7d8936651",4800:"b24efb1806c6f3837f4d",4845:"2d055375ee78d3867a75",4932:"b59fc770f6a8f0d913f7",4996:"3d411e74ce7bc1ce2497",5013:"860539eb50f6bd62e663",5112:"eed944144d9777167fc4",5141:"3a2eaa334845cac4d497",5159:"c1e67a20380ec6e0e41c",5165:"aa597918f8d480deb8d4",5181:"fa965913c3da2e89329b",5257:"f92d76b694ff0cdb212c",5356:"4c5b1197902d2dc111bc",5367:"a8fb4cafe78c85e5a179",5399:"73d4daed6f631591cb20",5404:"54c0fa14e267ab9b1641",5494:"6c1fa42d704a75bd49b8",5613:"1fdb086f793f84a74a42",5722:"a6d9f35635164d088b68",5740:"97e2da750105431b8e94",5804:"46f6a190e3c943b44095",5894:"a9084c92aad84e35385d",5989:"06c7b609d8f905aecd11",6052:"6e330859ba7dd5a728d7",6056:"aaf0c13cb24c1a9cbf54",6064:"71f6e5742cf0c482066b",6107:"1d6c66dfeb646b2d38d0",6117:"1ae257fd22c88d216538",6131:"7395e482ac92291eb1d9",6187:"3f52cecf4a30fbfff435",6208:"65a095fe7417c7d5bd70",6245:"bc763ed89e950cdcdcbb",6285:"f2a6287c8d28be24f71e",6311:"5964a821171992abc991",6387:"947149f819e8278ec8c1",6528:"15f1433e0d44c742cc44",6650:"29da9d3a06f0ee37595f",6845:"c89b58ed0e08cc6b6276",6875:"db8d2762ce23c1a9a2e2",7e3:"4671081f6c556c401cc4",7087:"d9c34e07627d93d4670b",7110:"24e7f4948860c5b239cd",7136:"79f9310179c938f18367",7249:"d4353dbfd03d7054c716",7251:"2a685bf938956b52b6c6",7263:"d497b6443353efc80417",7301:"a611e0543d4b4bb01f3c",7346:"4086698137db0795187f",7364:"f60024154f8402e189c6",7367:"0092a6be826d00efc989",7455:"a6ec3665bde2af8a96e6",7561:"4bd0cf13635f6820ddfe",7656:"317fcb69bd430da134da",7899:"70685c23aad41b0f03ba",7982:"bdc31a00e1f889a27efa",7984:"ad97f3a86de697c18f7b",8003:"3ef2763d480b0d1e8d1a",8018:"6a2ddfe2cf48a28b944a",8096:"7519da0829cb718aebee",8132:"28ae0265dfb31bf7177a",8219:"0722e4c046623241c343",8241:"b372a0aab338a5ecad7c",8250:"45a5c92d2cccbf1bc017",8283:"1678d1d0ecb9b2af69a8",8368:"ad0620341a89395db965",8370:"aa858daeb92e42285ea7",8392:"95ea77a7d63c9d7ed78b",8430:"777c21225a6c7a1ad0a7",8432:"6f48c576f2359bec20d4",8438:"b4748c8e9cce4392e185",8541:"291bdab5737152bc1825",8580:"e2d5bae9f982c65301ce",8628:"5649ede11144c9cfe9ba",8692:"3645401eaceae7ca194f",8846:"2d8aa31dc96bbd014036",8902:"aeade1daa879cfd7511a",8947:"a8d109d2bd5285de2841",9013:"6c10f0cb54a8d6437c35",9062:"e038158e871e3803321a",9087:"65eb22760e37d427e8c8",9186:"99f28667eacd170fe43c",9234:"63670af7bc12a6f243d0",9239:"9ffe586b58faf304ca3d",9287:"93e1d17147fabda45662",9321:"c4e2b75b9135920babc3",9377:"8a232508b7fe011154ab",9384:"ec9d5af8887854e821c8",9390:"128702abaae686a723a2",9423:"7b4880b2dc6b01d70ccc",9564:"43ae802aaee9292090cc",9588:"a69e885336eb5d2729fd",9695:"787e8fad19dcc5d84dd9",9748:"318dc9461246e9593bb2",9759:"587df97288a83721d251",9833:"fc1d1e0b7ce9c0d929a6",9838:"ee200440485d4f0981ed",9884:"db8667fe639bee14c5ca",9899:"5caa02a7a85d05e253b4",9930:"9f312f7284e506a84ed7",9933:"e2be5e8e196784f00edc",9949:"242ae1f4225cc91b0798"}[e]+".js",r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;r.g.importScripts&&(e=r.g.location+"");var t=r.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");if(n.length)for(var s=n.length-1;s>-1&&(!e||!/^http(s?):/.test(e));)e=n[s--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),r.p=e})(),(()=>{var e={76:1};r.f.i=(t,n)=>{e[t]||importScripts(r.p+r.u(t))};var t=self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[],n=t.push.bind(t);t.push=t=>{var[s,o,i]=t;for(var a in o)r.o(o,a)&&(r.m[a]=o[a]);for(i&&i(r);s.length;)e[s.pop()]=1;n(t)}})(),r(2131);var n=r(61322);RemoteClient=n})();
|
package/package.json
CHANGED
package/support/revision.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
const e="
|
|
5
|
+
const e="20241028",f="9e7e0f56dfb0226af58b1774390f5e3a65dbe92a";export{e as buildDate,f as commitHash};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import"../../../../core/has.js";import e from"../../../../core/PooledArray.js";import{isPromiseLike as t,createAbortError as r}from"../../../../core/promiseUtils.js";import{signal as n}from"../../../../core/signal.js";import{releaseTechniques as s}from"./RenderPlugin.js";import{union as o,DepthRange as i}from"../lib/depthRange.js";import{RenderOccludedFlag as d}from"../lib/Material.js";import{RenderSlot as u}from"../lib/RenderSlot.js";class
|
|
5
|
+
import"../../../../core/has.js";import e from"../../../../core/PooledArray.js";import{isPromiseLike as t,createAbortError as r}from"../../../../core/promiseUtils.js";import{signal as n}from"../../../../core/signal.js";import{releaseTechniques as s}from"./RenderPlugin.js";import{union as o,DepthRange as i}from"../lib/depthRange.js";import{RenderOccludedFlag as d}from"../lib/Material.js";import{RenderSlot as u}from"../lib/RenderSlot.js";class c{constructor(t){this.context=t,this._renderPlugins=new e,this._slots=new Array,this._version=n(0);for(let e=0;e<u.MAX_SLOTS;++e)this._slots[e]=[]}destroy(){this._renderPlugins.forEach((e=>e.destroy())),this._renderPlugins.clear()}get plugins(){return this._renderPlugins}add(e,n){const s=()=>{if(n?.aborted)throw e.uninitializeRenderContext(),r();this._renderPlugins.push(e),e.produces.forEach(((t,r)=>this._slots[r].push(e))),this.context.requestRender(),this._version.value++},o=e.initializeRenderContext(this.context,n);if(t(o))return o.then(s);s()}remove(e){this._renderPlugins.removeUnordered(e),e.uninitializeRenderContext();for(let t=0;t<this._slots.length;++t)this._slots[t]=this._slots[t].filter((t=>t!==e));this.context.requestRender(),this._version.value++}prepareRender(){this._renderPlugins.forAll((e=>{e.prepareRender&&e.prepareRender(this.context.renderContext)}))}updateAnimation(e){let t=!1;return this._renderPlugins.forAll((r=>t=r.updateAnimation?.(e)||t)),t}precompile(...e){++this.context.techniques.precompiling;const t=this.context.renderContext.bind.slot;for(const r of e)this.context.renderContext.bind.slot=r,this._slots[r].forEach((e=>{const t=e.produces.get(r);t?.(this.context.renderContext.output)&&e.precompile(this.context.renderContext)}));this.context.renderContext.bind.slot=t,--this.context.techniques.precompiling}_acquireRenderables(){const e=this.context.renderContext.bind.slot,t=this.context.renderContext.output,r=new Map;return this._slots[e].forEach((n=>{const s=n.produces.get(e);if(!s?.(t)||n.isDecoration&&!this.context.renderContext.bind.decorations)return;const o=n.acquireTechniques(this.context.renderContext);o&&r.set(n,o)})),r}render(e,...t){for(const r of t)this.context.renderContext.bind.slot=r,this._acquireRenderables().forEach(((t,r)=>{r.render(this.context.renderContext,t,e),s(t)}))}queryDepthRange(e){const t=new i;return this._renderPlugins.forAll((r=>{const n=r.queryDepthRange?.(e);o(t,n)})),t}get updating(){return this._version.value>=0&&this._renderPlugins.some((e=>e.running))}produces(e,...t){for(const r of t)if(this._slots[r].some((t=>{const n=t.produces.get(r);return!!n&&n(e)})))return!0;return!1}consumes(e){return this._renderPlugins.some((t=>t.consumes().required.includes(e)))}get hasDecorations(){return this._renderPlugins.some((e=>e.isDecoration))}get hasOccludees(){return this._renderPlugins.some((e=>e.hasOccludees))}get hasEmissions(){return this._renderPlugins.some((e=>e.hasEmissions))}get renderOccludedFlags(){return this._renderPlugins.reduce(((e,t)=>e|t.renderOccludedFlags),d.None)}get usedMemory(){return this._renderPlugins.reduce(((e,t)=>t.material?e:e+(t.usedMemory??0)),0)}get test(){}}export{c as RenderPluginManager};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../../chunks/tslib.es6.js";import{update as t}from"../../../../core/arrayUtils.js";import{createTask as r}from"../../../../core/asyncUtils.js";import{unitRGBAFromColor as i}from"../../../../core/colorUtils.js";import has from"../../../../core/has.js";import{removeMaybe as s,abortMaybe as a,destroyMaybe as n,releaseMaybe as h}from"../../../../core/maybe.js";import{throwIfAborted as o}from"../../../../core/promiseUtils.js";import{watch as d,syncAndInitial as _,initial as l,sync as p}from"../../../../core/reactiveUtils.js";import{signal as u}from"../../../../core/signal.js";import{property as m}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/Logger.js";import"../../../../core/accessorSupport/interfaces.js";import"../../../../core/accessorSupport/tracking/Flags.js";import"../../../../core/Warning.js";import"../../../../core/Error.js";import{equals as c,invert as f,multiply as g}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{IDENTITY as b,create as T}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{s as E}from"../../../../chunks/vec42.js";import{fromValues as A,ZEROS as P}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{InternalRenderCategory as R,RenderCategory as S}from"../../webgl.js";import{debugFlags as w}from"../../support/debugFlags.js";import{DepthFormat as C,ColorFormat as I}from"../../webgl/formats.js";import{FBOCache as D,defaultWebGLFBO as N}from"../core/FBOCache.js";import{RenderPassManager as y}from"../core/renderPasses/RenderPassManager.js";import{ShaderOutput as O,isColorOrColorEmission as x}from"../core/shaderLibrary/ShaderOutput.js";import{HUDRenderStyle as H}from"../core/shaderLibrary/hud/HUDRenderStyle.js";import{distanceFadeEnd as M}from"../core/shaderLibrary/shading/ScreenSpaceConstants.js";import{RenderNodes as L}from"../effects/RenderNodes.js";import{releaseTechniques as U}from"../effects/RenderPlugin.js";import{RenderPluginManager as v}from"../effects/RenderPluginManager.js";import{Blit as F}from"../effects/blit/Blit.js";import{renderHighlightBuffer as G}from"../effects/highlight/Highlight.js";import{OITBlend as q}from"../effects/transparency/OITBlend.js";import{AnimationTimer as V}from"./AnimationTimer.js";import{AnimationTimeStep as j}from"./AnimationTimeStep.js";import{RenderRequestType as B}from"./basicInterfaces.js";import{BoundingInfo as Q}from"./BoundingInfo.js";import{zero as W,union as k}from"./depthRange.js";import{depthRangeFromScene as z}from"./depthRangeUtils.js";import{MainFramebuffer as X}from"./MainFramebuffer.js";import{RenderOccludedFlag as Y}from"./Material.js";import{OITPass as J}from"./OITPass.js";import{RenderContext as K,defaultRenderOccludedMask as $}from"./RenderContext.js";import{splitRenderGeometryChangeSetByMaterial as Z,RendererTarget as ee}from"./rendererUtils.js";import{setupFeatureDefaults as te,RenderFeature as re}from"./RenderFeature.js";import{RenderPluginInput as ie}from"./RenderPluginInput.js";import{RenderSlot as se}from"./RenderSlot.js";import{ShadowAccumulator as ae}from"./ShadowAccumulator.js";import{ShadowMap as ne,SnapshotSlot as he}from"./ShadowMap.js";import oe from"./SliceHelper.js";import{Transparency as de}from"./edgeRendering/interfaces.js";import{MergedRenderer as _e}from"../materials/renderers/MergedRenderer.js";import{RenderSceneResult as le}from"../parts/renderUtils.js";import{RendererPerformanceInfo as pe,PerformanceCategory as ue}from"../statistics/RendererPerformanceInfo.js";import{RenderState as me}from"../../../support/RenderState.js";import{PixelFormat as ce,PixelType as fe,DepthStencilAttachment as ge,FramebufferBit as be,ColorAttachment as Te}from"../../../webgl/enums.js";class Ee{constructor(e,t,r,s,a,n){this._stage=e,this._techniques=r,this._rctx=s,this._compositingHelper=a,this._requestRender=n,this._pluginsHas={hudElements:!1,water:!1},this._renderers=new Map,this.renderPassManager=new y,this._isRendering=!1,this._inGlobeView=!1,this._backgroundColor=A(0,0,0,1),this._sliceHelper=new oe,this._blit=null,this._oitblend=null,this._state=u(me.IDLE),this._highQualityTransparencyEnabled=!0,this._ssrEnabled=!1,this._hasAnimations=!1,this._animationTimestep=new j,this._loadEdgeViewTask=null,this._edgeViewCallbacks=[],this._reprojectionMatrixVersion=u(0),this._renderHiddenTransparentEdges=()=>{},this._pluginInput=new ie,this._releaseNormals=e=>{e.some((({name:e})=>"normals"===e))&&this._pluginInput.release("normals")},this._debugNeedsDepth=!1,this.fboCache=new D(s),this._renderStateFeatures=u(te(!has("disable-feature:high-quality-idle"),e.view.qualityProfile)),this._framebuffer=new X(this.fboCache),this.performanceInfo=new pe(this._rctx),this._shadowMap=new ne(this.fboCache,e.viewingMode),this._shadowAccumulator=new ae(this.fboCache,r,e,(e=>{const t=this.shadowsEnabled;this._shadowMap.enabled=!0,this._ensureBindParametersCamera(e.camera,e.contentCamera),this._plugins.prepareRender(),this._shadowMap.enabled=t}),((e,t,r)=>{const i=this._stage.view.qualitySettings.maximumPixelRatio;e.shadowMap.start(e.camera,t,r,!0,i),this._renderShadowCascades(O.Shadow,e.shadowMap),e.shadowMap.finish(),e.camera.setGLViewport(this._rctx),this._ensureBindParametersCamera(e.camera,e.contentCamera)}),n),this._renderContext=new K(this._rctx,this._shadowMap,r),this._nodes=new L(this._renderContext),this._plugins=new v({renderContext:this._renderContext,techniques:r,materials:t,requestRender:n,controller:e,fbos:this.fboCache,isFeatureEnabled:e=>this.isFeatureEnabled(e)}),this._plugins.add(this.renderPassManager),this._handles=[d((()=>this._stage.view.state.camera),(()=>n()),_),d((()=>w.EDGES_SHOW_HIDDEN_TRANSPARENT_EDGES),(e=>{this._renderHiddenTransparentEdges=e?()=>this._renderEdges(de.TRANSPARENT):()=>{},n()}),l),d((()=>this._stage.view.environment.background?.color),(e=>{const t=e?i(e):P;E(this._backgroundColor,t[0]*t[3],t[1]*t[3],t[2]*t[3],t[3]),n()}),_),d((()=>this._stage.view.state.camera.relativeElevation),(e=>this._inGlobeView=(e??1/0)>=M),_),d((()=>this._bindParameters.clouds.fadeFactor),(()=>this._bindParameters.fadeLighting()),p),d((()=>this._bindParameters.clouds.data?.state),(()=>n()),p),d((()=>this._stage.view.state.highlights),(e=>{this._bindParameters.highlights=e,n()}),l)]}destroy(){this._handles.forEach((e=>e.remove())),this._gpuTimerHandle=s(this._gpuTimerHandle),this._nodes.destroy(),this._framebuffer.dispose(),this._shadowMap.dispose(),this._shadowAccumulator.dispose(),this._loadEdgeViewTask=a(this._loadEdgeViewTask),this._edgeView=n(this._edgeView),this.renderPassManager.dispose(),this._releaseFBOs(),this._disposeOffscreenBuffers(),this.fboCache.destroy(),this._plugins.destroy(),this._renderers.clear(),this._blit=null,this._oitblend=null,Q.prune()}get renderContext(){return this._renderContext}get _bindParameters(){return this._renderContext.bind}get _framebufferSize(){return this._framebuffer.size}updateRenderFeatures(e=null,t=!has("disable-feature:high-quality-idle")){this._renderStateFeatures.value=te(t,e),this._plugins.renderFeatureChanged(),this._requestRender()}isFeatureEnabled(e,t=this._state.value){return this._renderStateFeatures.value.get(t,e)??!1}setFeatureEnabled(e,t,r){this._renderStateFeatures.mutate((i=>i.set(t,e,r))),this._requestRender()}get _highQualityTransparency(){return this._highQualityTransparencyEnabled||this.isFeatureEnabled(re.HighQualityTransparency)}get hasReflections(){return this._pluginsHas.water&&(this._ssrEnabled||this.isFeatureEnabled(re.WaterReflection))}get _hasHighlights(){return this._plugins.produces(O.Highlight,se.OPAQUE_MATERIAL,se.TRANSPARENT_MATERIAL,se.DRAPED_MATERIAL,se.HUD_MATERIAL,se.LABEL_MATERIAL)}get _hasHUDHighlights(){return this._plugins.produces(O.Highlight,se.HUD_MATERIAL,se.LABEL_MATERIAL)}get hasSSAO(){return(this._stage.view.qualitySettings.ambientOcclusion||this.isFeatureEnabled(re.SSAO))&&!this._inGlobeView}get hasSMAA(){return this._stage.view.qualitySettings.antialiasingEnabled||this.isFeatureEnabled(re.Antialiasing)}get fullResolutionAtmosphere(){return this._stage.view.qualitySettings.highResolutionAtmosphere||this.isFeatureEnabled(re.HighResolutionAtmosphere)}_releaseFBOs(){this._bindParameters.ssr.lastFrameColor=h(this._bindParameters.ssr.lastFrameColor),this._bindParameters.terrainDepth=h(this._bindParameters.terrainDepth),this._bindParameters.geometryDepth=h(this._bindParameters.geometryDepth)}_disposeOffscreenBuffers(){this._framebuffer.dispose(),this._disposeBindBuffers()}_disposeBindBuffers(){this._shadowMap.disposeOffscreenBuffers(),this._bindParameters.depth=h(this._bindParameters.depth),this._bindParameters.hudVisibility=h(this._bindParameters.hudVisibility)}get updating(){return null!=this._edgeView&&this._edgeView.updating||this._shadowAccumulator.running||this._plugins.updating||!this.isCameraFinal}loadEdgeView(){return this._loadEdgeViewTask||(this._loadEdgeViewTask=r((async e=>{const{EdgeView:t}=await import("./edgeRendering/EdgeView.js");o(e);const r=this._edgeView=new t({rctx:this._rctx,renderSR:this._stage.view.renderSpatialReference,viewingMode:this._stage.viewingMode,techniques:this._techniques,setNeedsRender:()=>this._requestRender(),schedule:He(this._stage.view.resourceController)});return this._handles.push(d((()=>r.updating),(()=>this._requestRender()),p)),this._requestRender(),this._edgeViewCallbacks.forEach((e=>e(r))),this._edgeViewCallbacks.length=0,r}))),this._loadEdgeViewTask.promise}withEdgeView(e){this.loadEdgeView(),null==this._edgeView?this._edgeViewCallbacks.push(e):e(this._edgeView)}get edgeView(){return this._edgeView}get isCameraFinal(){return this._reprojectionMatrixVersion.value>=0&&c(this._bindParameters.ssr.reprojectionMatrix,b)}set _reprojectionMatrix(e){t(this._bindParameters.ssr.reprojectionMatrix,e)&&this._reprojectionMatrixVersion.value++}get shadowsEnabled(){return!!this._shadowMap?.enabled}setParameters(e){const{_shadowMap:t,_bindParameters:r}=this;if(void 0!==e.qualitySettings?.reflections&&this._ssrEnabled!==e.qualitySettings.reflections&&(this._ssrEnabled=e.qualitySettings.reflections,this._requestRender()),void 0!==e.shadowMap&&this._shadowMap.enabled!==e.shadowMap&&(this._shadowMap.enabled=e.shadowMap,this._requestRender()),void 0!==e.shadowMapMaxCascades&&t.maxCascades!==e.shadowMapMaxCascades&&(t.maxCascades=e.shadowMapMaxCascades,this._requestRender()),null!=e.environment){null!=e.environment.weather&&(this._bindParameters.weather=e.environment.weather,this._bindParameters.weatherVisible=!!e.weatherVisible);const t="virtual"!==e.environment.lighting.type;r.enableFillLights!==t&&(r.enableFillLights=t,this._requestRender())}void 0!==e.highQualityTransparency&&this._highQualityTransparencyEnabled!==e.highQualityTransparency&&(this._highQualityTransparencyEnabled=e.highQualityTransparency,this._requestRender()),void 0!==e.shadowCast&&this._shadowAccumulator.setOptions(e.shadowCast)}set slicePlane(e){this._sliceHelper.plane!==e&&(this._sliceHelper.plane=e,this._requestRender())}get plugins(){return this._plugins}getMaterialRenderer(e){return this._renderers.get(e)}get _hasOITSupport(){return this._rctx.driverTest.floatBufferBlend.result}get _oitEnabled(){return this._highQualityTransparency&&this._hasOITSupport}modify(e,t){this._isRendering&&console.warn("Renderer.modify called while rendering");const{adds:r,removes:i,updates:s}=e;if(0===r.length&&0===i.length&&0===s.length)return;Z(e).forEach(((r,i)=>{if(t.done)return;let s=this._renderers.get(i);null==s&&r.adds.length>0&&(s=new _e({material:i}),s.initializeRenderContext(this._plugins.context),this._plugins.add(s),this._renderers.set(i,s)),s&&(s.modify(r),0===s.numGeometries&&(this._renderers.delete(s.material),this._plugins.remove(s),s.destroy())),r.removes.forEach((t=>e.removes.removeUnordered(t))),r.adds.forEach((t=>e.adds.removeUnordered(t))),r.updates.forEach((t=>e.updates.removeUnordered(t))),t.madeProgress()})),this.updateHasFlags()}updateHasFlags(){const has=this._pluginsHas;has.hudElements=this._plugins.produces(O.Color,...Ie),has.water=this._plugins.produces(O.Normal,se.DRAPED_WATER),this._bindParameters.hasOccludees=this._plugins.hasOccludees,this._requestRender()}updateAnimation(e,t){this._animationTimer??=new V(e.camera,t),this._animationTimer.advance(e.camera,t,this._animationTimeDilation),null!=e.forcedAnimationTime&&this._animationTimer.forceTime(e.forcedAnimationTime);const r=this._hasAnimations;return this._hasAnimations=this._plugins.updateAnimation(this._animationTimer),this._hasAnimations=this._nodes.updateAnimation(this._animationTimer)||this._hasAnimations,this._hasAnimations=this.overlay?.updateAnimation(this._animationTimer)||this._hasAnimations,this._hasAnimations!==r&&(this._gpuTimerHandle=r?s(this._gpuTimerHandle):this.performanceInfo.enableGPUPerformanceInfo()),this._hasAnimations}get animationTimestep(){return this._animationTimestep.value}get _animationTimeDilation(){return this._animationTimestep.timeDilation}resetAnimation(){this._animationTimestep.clear()}tick(){this.fboCache.clean()}render(e,t,r=ee.Default,i=!1){try{return this._isRendering=!0,this._render(e,t,r,i)}catch(s){console.error(`Exception during rendering: ${s}`)}finally{this._isRendering=!1}return new le(this._pluginInput.get("final-color"),null)}_render(e,t,r=ee.Default,i){this.performanceInfo.startFrame(),this.fboCache.frameStart(),this.fboCache.interactive=r===ee.Default,this._disposeBindBuffers();const s=this._framebuffer,{camera:a,contentCamera:n,mode:o,alignPixelEnabled:d}=e;this._state.value=o,this._bindParameters.overlay=this.overlay?.render(t),this._bindParameters.overlay&&this.performanceInfo.advance(ue.OVERLAY),this._renderContext.time=t,this._bindParameters.oitPass=J.NONE,this._bindParameters.alignPixelEnabled=d,this._bindParameters.decorations=!i,this._bindParameters.mainDepth=null,this._bindParameters.viewshedEnabled=this._nodes.produces(R.VIEWSHED);const _=this._nodes.produces("magnifier-color"),l=this._nodes.produces("final-color");this._bindParameters.slicePlane=this._sliceHelper.plane,a.setGLViewport(this._rctx);const p=this._nodes.require("emissive")>0&&this._plugins.hasEmissions,u=p?O.ColorEmission:O.Color,m=s.initialize(a.fullWidth,a.fullHeight,this._backgroundColor,p);this.hasReflections?(m?.setName("last frame color"),this._bindParameters.ssr.lastFrameColor=m):m?.release(),this._ensureBindParametersCamera(a,n),this._plugins.prepareRender(),this._bindParameters.shadowHighlightsVisible=this._needsShadowHighlight&&!i;const c=this._highQualityTransparency&&this._hasTransparentTerrain,f=this._plugins.produces(O.Color,...we);this._precompilePrepasses(),this.performanceInfo.advance(ue.PREPARE);const g=this._computeDepthRange(a);this._renderShadowMap(a,this._bindParameters.lighting.mainLight.direction,g),this._ensureBindParametersCamera(a,n),this._pluginInput.set("normals",this._renderNormals()),this._renderRemainingGeometryDepth(),this._renderShadowAccumulation(g,a,n),this._ensureBindParametersSSR(t),this._precompileShaders(c,f,u),this._renderContext.output=u,s.bind(),this._bindParameters.mainDepth=s.depth.attachment;const b=this.plugins.produces(O.Color,...Se);b&&this._renderOpaqueGeometry(),s.update((e=>this._renderNodes(S.OPAQUE,e,b))),this.fboCache.debugCallback?.("opaque-color",s.color.fbo),s.update((e=>this._renderNodes(R.OPAQUE_ENVIRONMENT,e))),this.fboCache.debugCallback?.(R.OPAQUE_ENVIRONMENT,s.color.fbo),this._renderTerrainDepth(c),this._setMultipassTerrain(c),this._renderEdges(de.OPAQUE),s.bind(),this._renderPlugins(se.VOXEL,ue.VOXEL),this._renderHiddenTransparentEdges(),f&&(this._oitEnabled?this._renderOIT(Ae.Geometry,u):this._renderTransparentGeometry()),s.update((e=>this._renderNodes(S.TRANSPARENT,e,f))),this.fboCache.debugCallback?.("transparent-color",s.color.fbo),this._renderGeometryDepth(c),this._renderHUDVisibility(),c||this._plugins.render(this._pluginInput,se.LINE_CALLOUTS);const T=r===ee.ObjectAndLayerID?this._renderObjectAndLayerIdColor():null;this._renderEdges(de.TRANSPARENT);const E=this._hasTransparentTerrain?this._renderTransparentTerrain():null;E&&(this.performanceInfo.advance(ue.TRANSPARENT_TERRAIN),this._bindParameters.hudVisibility&&(c?this._renderLineCallouts(H.Occluded):(this._rctx.bindFramebuffer(this._bindParameters.hudVisibility?.fbo),this._compositingHelper.compositeHUD(this._bindParameters,E.getTexture())),this._renderHUD(H.Occluded,s.color,u))),this._cullAboveTerrain(!1),E&&(s.bind(),this._compositingHelper.compositePreMultipliedAlpha(this._bindParameters,E.getTexture()),E.release(),c&&(this._renderEdges(de.OPAQUE),f&&(this._oitEnabled?this._renderOIT(Ae.Geometry,u):this._renderTransparentGeometry(),this.performanceInfo.advance(ue.TRANSPARENT)),this._renderEdges(de.TRANSPARENT))),this._bindParameters.ssao=h(this._bindParameters.ssao),c&&this._renderLineCallouts(H.NotOccluded),this._setTerrainDepthTest(!1),this._renderTransparentEnvironment(),this._pluginInput.set("focusArea",this._renderFocusAreaGeometry()),s.update((e=>this._renderNodes(R.TRANSPARENT_ENVIRONMENT,e))),s.update((e=>this._renderNodes(R.VIEWSHED,e))),s.update((e=>this._renderNodes(R.LASERLINES,e))),s.update((e=>this._renderNodes(R.OCCLUDED,e))),this._pluginInput.set("highlights",this._renderHighlightPrepass()),s.update((e=>this._renderNodes(S.COMPOSITE,e)));const A=!(r!==ee.Default||l||_&&!i&&r===ee.Default),P=this._pluginInput.get(S.COMPOSITE),w=A?N:this.fboCache.acquire(P.fbo.width,P.fbo.height,R.ANTIALIASING),C=this._nodes.produces(R.ANTIALIASING)?this._renderNodes(R.ANTIALIASING,w):this._blitFBO(P,w,!1);let I;this._pluginInput.set(R.ANTIALIASING,C),this._hasHUDHighlights?(this._renderHUD(H.NotOccluded,C,u),I=this._renderNodes(R.HIGHLIGHTS,C)):(I=this._renderNodes(R.HIGHLIGHTS,C),this._renderHUD(H.NotOccluded,I,u));const D=this._renderNodes(R.MAGNIFIER,I);return _&&!i&&r===ee.Default&&!l&&this._blitFBO(D),l?(D.attachDepth(s.depth),this._blitFBO(this._renderNodes(S.FINAL,D)),D.detachDepth()):this._pluginInput.set(S.FINAL,D),this._pluginInput.release("highlights"),this.onPostRender&&this.onPostRender(),this._releaseFBOs(),s.releaseDepth(),this._renderContext.lastFrameCamera.copyFrom(this._bindParameters.camera),this.fboCache.frameEnd(),this.performanceInfo.finishFrame(),r!==ee.Default&&(this._releaseFBOs(),this._disposeOffscreenBuffers()),new le(this._pluginInput.get("final-color"),T)}_precompileShaders(e,t,r){if(++this._plugins.context.techniques.precompiling,this._renderContext.output=r,this._precompileOpaqueGeometry(),this._setMultipassTerrain(e),this._renderContext.output=O.Depth,this._plugins.precompile(se.TRANSPARENT_TERRAIN),e&&(this._precompileOpaqueGeometry(),this._precompileTransparentGeometry()),this._renderContext.output=r,this._plugins.precompile(se.TRANSPARENT_TERRAIN),t&&(this._precompileTransparentGeometry(),this._hasTransparentTerrain&&(this._cullAboveTerrain(!1),this._precompileTransparentGeometry(),this._cullAboveTerrain(e))),this._needsHUDVisibility&&this._plugins.precompile(se.OCCLUSION_PIXELS),e&&!this._needsHUDVisibility||(this._plugins.precompile(se.LINE_CALLOUTS),this._precompileHUD(H.Occluded)),this._setMultipassTerrain(!1),this._nodes.precompile(R.VIEWSHED,R.LASERLINES,R.OCCLUDED),this._precompileHUD(H.NotOccluded),this._hasHighlights){const e=this._bindParameters;e.highlights.forEach(((t,r)=>{e.highlightLevel=r,this._precompileAllGeometry(O.Highlight)})),e.highlightLevel=null}this._nodes.precompile(S.COMPOSITE,R.MAGNIFIER),this._shadowAccumulator.precompile(),this._plugins.precompile(se.TRANSPARENT_MATERIAL_WITHOUT_DEPTH),--this._plugins.context.techniques.precompiling}_renderFocusAreaGeometry(){if(this._nodes.produces("focusArea")){const e=this._framebufferSize;let t=this.fboCache.acquire(e.width,e.height,"focusArea");return t=this._nodes.render(t,this._pluginInput),t}return null}_renderObjectAndLayerIdColor(){if(!this._nodes.produces("olid"))return null;++this._techniques.precompiling;const e=this._framebufferSize;let t=this.fboCache.acquire(e.width,e.height,"olid");return t.acquireDepth(C.DEPTH_STENCIL_TEXTURE),t=this._nodes.render(t,this._pluginInput),--this._techniques.precompiling,this.performanceInfo.advance(ue.OBJECT_AND_LAYER_ID_COLOR),t}finish(e){this._hasAnimations||this._animationTimestep.clear();const t=this.performanceInfo.gpuSamplingEnabled,r=e===B.BACKGROUND;if(r||t){const e=r?this.performanceInfo.elapsedTime:0;let i=0;t?i=this.performanceInfo.totalGPUTimeSampler.last:this._rctx.gl.finish();const s=Math.max(e,i);this._animationTimestep.frame(s,r)}}readMainDepth(e,t){const{mainDepth:r,camera:i}=this._bindParameters;if(!r)return;const s=this.fboCache.acquire(this._framebufferSize.width,this._framebufferSize.height,"linear-depth");this._rctx.bindFramebuffer(s.fbo),i.setGLViewport(this._rctx),this._rctx.setScissorRect(e[0],e[1],e[2],e[3]),this._rctx.setScissorTestEnabled(!0),this._rctx.clearFramebuffer(P),this._compositingHelper.blitDepthToLinearDepth(this._bindParameters,r),this._rctx.setScissorTestEnabled(!1),this._rctx.setScissorRect(0,0,this._rctx.gl.canvas.width,this._rctx.gl.canvas.width),s.fbo?.readPixels(e[0],e[1],e[2],e[3],ce.RGBA,fe.UNSIGNED_BYTE,t),s.release()}readHUDVisibility(e,t,r,i,s){this._bindParameters.hudVisibility?.fbo?.readPixels(e,t,r,i,ce.RGBA,fe.UNSIGNED_BYTE,s)}readAccumulatedShadow(e){return this._shadowAccumulator.readAccumulatedShadow(e[0],e[1])}_setMultipassTerrain(e){this._setTerrainDepthTest(e),this._cullAboveTerrain(e)}_setTerrainDepthTest(e){this._bindParameters.terrainDepthTest=e}_cullAboveTerrain(e){this._bindParameters.cullAboveTerrain=e}_renderEdges(e){const t=this._edgeView;if(!t?.shouldRender())return;const r=this._framebufferSize,i=this.fboCache.acquire(r.width,r.height,"edges"),s=()=>t.render(this._bindParameters,e),a=this._bindParameters.geometryDepth;this.renderToTargets(s,i,a??this._framebuffer.depth,P),this._framebuffer.bind(),this._compositingHelper.composite(this._bindParameters,i.getTexture()),i.release(),this.performanceInfo.advance(e===de.OPAQUE?ue.OPAQUE_EDGES:ue.TRANSPARENT_EDGES)}_renderShadowMap(e,t,r){if(!this.shadowsEnabled)return;const i=this._shadowMap;i.start(e,t,r,this.isFeatureEnabled(re.HighResolutionShadows),this._stage.view.qualitySettings.maximumPixelRatio),this._needsShadowHighlight?(this._renderShadowCascades(O.ShadowHighlight,this._shadowMap),i.moveSnapshot(he.Highlight),this._renderShadowCascades(O.ShadowExcludeHighlight,this._shadowMap),i.copySnapshot(he.ExcludeHighlight),this._renderShadowCascades(O.ShadowHighlight,this._shadowMap)):this._renderShadowCascades(O.Shadow),i.finish(),e.setGLViewport(this._rctx),this.performanceInfo.advance(ue.SHADOW_MAP)}_precompileShadowCascades(e){for(const t of this._shadowMap.cascades)t.camera.setGLViewport(this._rctx),this._ensureBindParametersCamera(t.camera,t.camera),this._precompileAllGeometry(e)}_renderShadowCascades(e,t=this._shadowMap){for(const r of t.cascades)r.camera.setGLViewport(this._rctx),this._ensureBindParametersCamera(r.camera,r.camera),this.renderAllGeometry(e)}get _needsDepth(){return this._plugins.consumes(O.Depth)||this._nodes.requireGeometryDepth()||this.hasReflections||this._needsShadowHighlight||this._needsShadowAccumulation||this._debugNeedsDepth}_renderRemainingGeometryDepth(){const e=this._pluginInput.get("normals");if(e){const t=this._needsDepth?e.getAttachment(ge):null;t?.retain(),this._pluginInput.set(R.SSAO,this._renderSSAO()),this._renderGeometryWithoutNormalsDepth(t)}else this._renderAllGeometryDepth()}_renderGeometryWithoutNormalsDepth(e){if(!this._needsDepth||!e)return void(this._bindParameters.depth=h(this._bindParameters.depth));const t=this._framebufferSize,r=this.fboCache.acquire(t.width,t.height,"depth");r.attachDepth(e),e.release(),this._rctx.bindFramebuffer(r.fbo),this._rctx.clear(be.STENCIL),this._renderGeometryWithoutNormals(O.Depth),h(this._bindParameters.depth),this._bindParameters.depth=r.obtainDepthTexture(),r.release(),this.performanceInfo.advance(ue.DEPTH)}_renderAllGeometryDepth(){if(!this._needsDepth)return void(this._bindParameters.depth=h(this._bindParameters.depth));const e=this._framebufferSize,t=this.fboCache.acquire(e.width,e.height,"depth").acquireDepth(C.DEPTH_STENCIL_TEXTURE);this._rctx.bindFramebuffer(t.fbo),this._rctx.clear(be.DEPTH|be.STENCIL),this.renderAllGeometry(O.Depth),h(this._bindParameters.depth),this._bindParameters.depth=t.obtainDepthTexture(),t.release(),this.performanceInfo.advance(ue.DEPTH)}_renderTerrainDepth(e){if(!e)return void(this._bindParameters.terrainDepth=h(this._bindParameters.terrainDepth));const t=this._renderContext.output;this._renderContext.output=O.Depth;const r=this._framebufferSize,i=this.fboCache.acquire(r.width,r.height,"terrain depth").acquireDepth(C.DEPTH_STENCIL_TEXTURE);this._rctx.bindFramebuffer(i.fbo),this._rctx.clear(be.DEPTH|be.STENCIL),this._renderTransparentTerrain(),h(this._bindParameters.terrainDepth),this._bindParameters.terrainDepth=i.obtainDepthTexture(),this._renderContext.output=t,i.release()}_renderGeometryDepth(e){if(!e)return void(this._bindParameters.geometryDepth=h(this._bindParameters.geometryDepth));const t=this._renderContext.output,{width:r,height:i}=this._framebufferSize,s=this.fboCache.acquire(r,i,"geometry depth").acquireDepth(C.DEPTH_STENCIL_TEXTURE);this._rctx.bindFramebuffer(s.fbo),this._rctx.clear(be.DEPTH|be.STENCIL),this._renderOpaqueAndTransparentGeometry(O.Depth),this._renderContext.output=t,h(this._bindParameters.geometryDepth),this._bindParameters.geometryDepth=s.obtainDepthTexture(),s.release()}get _needsDepthRange(){return this._shadowMap.enabled||this._needsShadowAccumulation}_computeDepthRange(e){if(!this._needsDepthRange)return W;const t=z(e,this._plugins.plugins,this._stage.layers);return k(t,this._plugins.queryDepthRange(e)),t.near=Math.max(e.near,t.near),t.far=Math.min(e.far,t.far),t}get _normalsRequired(){const e=this._nodes.require("normals","final-color",S.COMPOSITE,"opaque-color","transparent-color","laserline-color");return(this.hasSSAO?1:0)+e}_precompilePrepasses(){this._normalsRequired&&this._precompileAllGeometry(O.Normal),this._needsDepth&&this._precompileAllGeometry(O.Depth),this.shadowsEnabled&&(this._needsShadowHighlight?(this._precompileShadowCascades(O.ShadowHighlight),this._precompileShadowCascades(O.ShadowExcludeHighlight),this._precompileShadowCascades(O.ShadowHighlight)):this._precompileShadowCascades(O.Shadow)),this._needsShadowAccumulation&&this._precompileAllGeometry(O.Shadow)}_renderNormals(){const e=this._normalsRequired;if(0===e)return;const t=this._framebufferSize,r=this.fboCache.acquire(t.width,t.height,"normals",I.RGBA);r.acquireDepth(C.DEPTH_STENCIL_TEXTURE),this._rctx.bindFramebuffer(r.fbo),this._rctx.clearFramebuffer(P,!0,!0),this._renderGeometryWithNormals(O.Normal);const i=this._nodes.optional("normals","final-color",S.COMPOSITE,"opaque-color","transparent-color","viewshed-color");return r.retain(e+i-1),this.performanceInfo.advance(ue.NORMALS),r}_renderSSAO(){const e=this._pluginInput.get("normals");if(!this.hasSSAO||!e)return void e?.detachDepth();N.setName(R.SSAO);const t=this._nodes.render(N,this._pluginInput);return this._bindParameters.ssao=t,e.detachDepth(),this._pluginInput.release("normals"),this.performanceInfo.advance(ue.SSAO),t}_precompileAllGeometry(e){const t=this._renderContext.output;this._renderContext.output=e,this._precompileOpaqueGeometry(),this._precompileTransparentGeometry(),this._plugins.precompile(se.TRANSPARENT_TERRAIN),this._renderContext.output=t}renderAllGeometry(e){this._renderContext.output=e,this._renderOpaqueAndTransparentGeometry(e),this._renderTransparentTerrain()}precompileSlots(e,...t){for(const r of t)this._bindParameters.slot=r,e.precompile(this._renderContext)}precompileOccludedSlots(e,t){for(const r of t)this._renderContext.renderOccludedMask=r,this.precompileSlots(e,...Ce);this._renderContext.renderOccludedMask=$}renderSlots(e,...t){for(const r of t)this._bindParameters.slot=r,e.forAll((e=>{const t=e.acquireTechniques(this._renderContext);t&&(e.render(this._renderContext,t,this._pluginInput),U(t))}))}renderOccludedSlots(e,t){this._renderContext.renderOccludedMask=t,this.plugins.renderOccludedFlags>Y.Occlude&&this._plugins.render(this._pluginInput,se.OCCLUDED_TERRAIN),this.renderSlots(e,...Ce),this._renderContext.renderOccludedMask=$}renderHUD(e){this._bindParameters.hudRenderStyle=e,this._plugins.render(this._pluginInput,se.HUD_MATERIAL)}precompileViewshedShadowMap(){this._precompileAllGeometry(O.ViewshedShadow)}renderViewshedShadowMap(e){const{camera:t,contentCamera:r}=this._bindParameters,i=this._renderContext.output;e.setGLViewport(this._rctx),this._ensureBindParametersCamera(e,e),this.renderAllGeometry(O.ViewshedShadow),this._ensureBindParametersCamera(t,r),this._bindParameters.camera.setGLViewport(this._rctx),this._renderContext.output=i}_renderOpaqueAndTransparentGeometry(e){this._renderContext.output=e,this._renderOpaqueGeometry(),this._renderTransparentGeometry()}_renderGeometryWithNormals(e){this._renderContext.output=e,this._plugins.render(this._pluginInput,...Pe),this._renderTransparentTerrain()}_renderGeometryWithoutNormals(e){this._renderContext.output=e,this._plugins.render(this._pluginInput,...Re)}_precompileOpaqueGeometry(){this._plugins.precompile(...Se)}_renderOpaqueGeometry(){this._plugins.render(this._pluginInput,...Se)}_renderTransparentGeometry(){this._plugins.render(this._pluginInput,...we)}get _hasTransparentTerrain(){return this._plugins.produces(O.Color,se.TRANSPARENT_TERRAIN)}_renderTransparentTerrain(){const e=()=>this._plugins.render(this._pluginInput,se.TRANSPARENT_TERRAIN);if(!x(this._renderContext.output))return void e();const t=this._framebufferSize,r=this.fboCache.acquire(t.width,t.height,"transparent terrain");return this.renderToTargets(e,r,this._framebuffer.depth,P),r}get _needsHUDVisibility(){return this._plugins.produces(this._renderContext.output,se.OCCLUSION_PIXELS)}_renderHUDVisibility(){if(!this._needsHUDVisibility)return void(this._bindParameters.hudVisibility=h(this._bindParameters.hudVisibility));const{width:e,height:t}=this._framebufferSize;let r=this._bindParameters.hudVisibility;r?.fbo?.width===e&&r?.fbo?.height===t||(r?.release(),r=this.fboCache.acquire(e,t,"hud visibility",I.RGBA4),this._bindParameters.hudVisibility=r);const i=this._bindParameters.geometryDepth;r.attachDepth(i||this._framebuffer.depth),this._rctx.bindFramebuffer(r.fbo),this._rctx.clearFramebuffer([0,1,0,1]),this._plugins.render(this._pluginInput,se.OCCLUSION_PIXELS),r.detachDepth(),this._framebuffer.bind(),this.performanceInfo.advance(ue.HUD_VISIBILITY)}_renderLineCallouts(e){if(this._bindParameters.hudRenderStyle=e,e===H.Occluded){const e=()=>this._plugins.render(this._pluginInput,se.LINE_CALLOUTS),t=this._framebufferSize,r=this.fboCache.acquireDepth(C.DEPTH16_BUFFER,t.width,t.height,"line callouts");this.renderToTargets(e,this._framebuffer.color,r,void 0,!0,!0),r.release()}else this._plugins.render(this._pluginInput,se.LINE_CALLOUTS)}_precompileHUD(e){if(this._precompileHUDOutput(e),this._hasHighlights){const t=this._renderContext.output;this._renderContext.output=O.Highlight,this._precompileHUDOutput(e),this._renderContext.output=t}}_precompileHUDOutput(e){const t=this._bindParameters.hudRenderStyle;this._bindParameters.hudRenderStyle=e,this._oitEnabled&&x(this._renderContext.output)?(this._bindParameters.oitPass=J.ColorAlpha,this._plugins.precompile(...Ie),this._bindParameters.oitPass=J.FrontFace,this._plugins.precompile(...Ie),this._bindParameters.oitPass=J.NONE):this._plugins.precompile(...Ie),this._bindParameters.hudRenderStyle=t}_renderHUD(e,t,r){if(this._pluginsHas.hudElements){if(this._oitEnabled){const i=this._renderOIT(Ae.HUD,r,e);this._rctx.bindFramebuffer(t.fbo),this._compositingHelper.compositePreMultipliedAlpha(this._bindParameters,i.getTexture()),i.release()}else if(this._renderContext.output=r,e===H.Occluded){const t=()=>this._renderHUDElements(e),r=this._framebufferSize,i=this.fboCache.acquireDepth(C.DEPTH16_BUFFER,r.width,r.height,"hud");this.renderToTargets(t,this._framebuffer.color,i,void 0,!0,!0),i.release()}else t.acquireDepth(C.DEPTH16_BUFFER),this._rctx.bindFramebuffer(t.fbo),this._renderHUDElements(e),t.detachDepth();this.performanceInfo.advance(e===H.Occluded?ue.HUD_OCCLUDED:ue.HUD)}}_renderHUDElements(e){this._bindParameters.hudRenderStyle=e,this._plugins.render(this._pluginInput,...Ie)}get _needsShadowHighlight(){return this.shadowsEnabled&&this._plugins.produces(O.ShadowHighlight,se.OPAQUE_MATERIAL)}_renderHighlightPrepass(){if(!this._hasHighlights)return;const{fboCache:e,_rctx:t,_bindParameters:r}=this,i=this._framebufferSize,s=e.acquire(i.width,i.height,"highlights",I.RG);return s.acquireDepth(C.DEPTH_STENCIL_TEXTURE),t.bindFramebuffer(s.fbo),t.clearFramebuffer(P,!0),this._renderContext.output=O.Highlight,t.bindFramebuffer(s.fbo),G(t,e,i,r,(()=>this._renderHighlightGeometries()),0),this.performanceInfo.advance(ue.HIGHLIGHTS),s}_renderHighlightGeometries(){const e=0===this._bindParameters.highlightLevel?Ne:De;this._plugins.render(this._pluginInput,...e),this._rctx.clear(be.DEPTH),this._renderHUDElements(H.Both)}get _needsShadowAccumulation(){return this._shadowAccumulator.isAccumulating}_renderShadowAccumulation(e,t,r){this._needsShadowAccumulation&&this._bindParameters.depth&&this._shadowAccumulator.renderAccumulation(this._bindParameters.depth,e,t,r)&&this.performanceInfo.advance(ue.ACCUMULATED_SHADOWS)}_precompileTransparentGeometry(){this._oitEnabled&&x(this._renderContext.output)?(this._bindParameters.oitPass=J.ColorAlpha,this._plugins.precompile(...we),this._bindParameters.oitPass=J.FrontFace,this._plugins.precompile(...we),this._bindParameters.oitPass=J.NONE):this._plugins.precompile(...we)}_renderOIT(e,t,r=H.Both){const i=e===Ae.HUD,s=this._framebufferSize,a=i?this.fboCache.acquire(s.width,s.height,"oit hud composite"):null,n=i?()=>this._renderHUDElements(r):()=>this._renderTransparentGeometry(),h=this._bindParameters,o=this._renderContext.output;this._renderContext.output=t,h.oitPass=J.ColorAlpha;const d=a?"oit hud color alpha":"oit color alpha",_=this.fboCache.acquire(s.width,s.height,d,I.RGBA16F);_.acquireColor(Te.COLOR_ATTACHMENT1,I.R16F),a||_.attachDepth(this._framebuffer.depth),this._rctx.bindFramebuffer(_.fbo),this._rctx.clearFramebuffer([0,0,0,1]),n(),_.detachDepth(),h.oitPass=J.FrontFace;const l=this.fboCache.acquire(s.width,s.height,a?"oit hud front":"oit front");return a?l.acquireDepth(C.DEPTH16_BUFFER):l.attachDepth(this._framebuffer.depth),this._rctx.bindFramebuffer(l.fbo),this._rctx.clearFramebuffer(P,!!a),n(),l.detachDepth(),h.oitPass=J.NONE,a?(this._rctx.bindFramebuffer(a.fbo),this._rctx.setClearColor(0,0,0,1e-13),this._rctx.clear(be.COLOR)):this._framebuffer.bind(),this._oitblend??=new q(this._techniques),this._oitblend.blend(this._rctx,_,l,h),a?.detachDepth(),l.release(),_.release(),this._renderContext.output=o,a}_renderTransparentEnvironment(){this._shadowAccumulator.render(this._bindParameters),this.performanceInfo.advance(ue.APPLY_ACCUMULATED_SHADOWS),this._framebuffer.bind(),this._plugins.render(this._pluginInput,se.TRANSPARENT_MATERIAL_WITHOUT_DEPTH),this.performanceInfo.advance(ue.TRANSPARENT_MATERIAL_WITHOUT_DEPTH)}_renderPlugins(e,t){this._plugins.produces(this._renderContext.output,e)&&(this._plugins.render(this._pluginInput,e),this.performanceInfo.advance(t))}_renderNodes(e,t,r=!1){if(t.setName(e),this._pluginInput.set(e,t),!this._nodes.produces(e))return r&&this.performanceInfo.advance(e),t;const i=this._nodes.render(t,this._pluginInput,this._releaseNormals);return this.performanceInfo.advance(e),i}_blitFBO(e,t=N,r=!0){return this._blit??=new F(this._techniques),this._blit.blit(this._rctx,e,t,this._bindParameters),this._pluginInput.set(e.name,t),r&&e.release(),t}_ensureBindParametersCamera(e,t){this._bindParameters.camera=e,this._bindParameters.contentCamera=t}_ensureBindParametersSSR(e){if(this._bindParameters.ssr.lastFrameColor){null==this._ssrEnableTime&&(this._ssrEnableTime=e),this._renderContext.lastFrameCamera.equals(this._bindParameters.camera)?this._reprojectionMatrix=b:(f(Oe,this._bindParameters.camera.viewMatrix),f(ye,this._bindParameters.camera.projectionMatrix),g(xe,Oe,ye),g(xe,this._renderContext.lastFrameCamera.viewMatrix,xe),g(xe,this._renderContext.lastFrameCamera.projectionMatrix,xe),this._reprojectionMatrix=xe);const t=this._stage.view.qualitySettings.fadeDuration;this._bindParameters.ssr.fadeFactor=t>0?Math.min(t,e-this._ssrEnableTime)/t:1,this._bindParameters.ssr.fadeFactor<1&&this._requestRender()}else this._reprojectionMatrix=b,this._ssrEnableTime=null}addRenderNode(e){this._nodes.add(e),this._requestRender()}removeRenderNode(e){this._nodes.remove(e),this._requestRender()}updateLighting(e,t,r,i){this._bindParameters.updateLighting(e,t,r,i),this._requestRender(B.UPDATE)}get usedMemory(){return{fbos:this.fboCache.usedMemory,plugins:this._plugins.usedMemory,edges:this.edgeView?.usedMemory??0}}renderToTargets(e,t,r,i,s=!1,a=!1){t.attachDepth(r),this._rctx.bindFramebuffer(t.fbo),this._rctx.clearFramebuffer(i,s,a),e(),t.detachDepth()}get test(){}}var Ae;e([m({readOnly:!0})],Ee.prototype,"fullResolutionAtmosphere",null),e([m()],Ee.prototype,"_edgeView",void 0),e([m()],Ee.prototype,"updating",null),function(e){e[e.Geometry=0]="Geometry",e[e.HUD=1]="HUD"}(Ae||(Ae={}));const Pe=[se.INTEGRATED_MESH,se.OPAQUE_TERRAIN,se.OPAQUE_MATERIAL,se.TRANSPARENT_MATERIAL],Re=[se.OPAQUE_MATERIAL_WITHOUT_NORMALS,se.TRANSPARENT_MATERIAL_WITHOUT_NORMALS],Se=[se.INTEGRATED_MESH,se.OPAQUE_TERRAIN,se.OPAQUE_MATERIAL,se.OPAQUE_MATERIAL_WITHOUT_NORMALS],we=[se.TRANSPARENT_MATERIAL,se.TRANSPARENT_MATERIAL_WITHOUT_NORMALS],Ce=[se.OPAQUE_MATERIAL,se.TRANSPARENT_MATERIAL,se.TRANSPARENT_MATERIAL_WITHOUT_DEPTH],Ie=[se.LINE_CALLOUTS_HUD_DEPTH,se.HUD_MATERIAL,se.LABEL_MATERIAL],De=[se.TRANSPARENT_MATERIAL,se.TRANSPARENT_MATERIAL_WITHOUT_NORMALS,se.OPAQUE_MATERIAL,se.OPAQUE_MATERIAL_WITHOUT_NORMALS],Ne=[...De,se.TRANSPARENT_TERRAIN,se.INTEGRATED_MESH,se.OPAQUE_TERRAIN],ye=T(),Oe=T(),xe=T();function He(e){return t=>e.immediate.schedule(t)}export{Ee as Renderer};
|
|
5
|
+
import{_ as e}from"../../../../chunks/tslib.es6.js";import{update as t}from"../../../../core/arrayUtils.js";import{createTask as r}from"../../../../core/asyncUtils.js";import{unitRGBAFromColor as i}from"../../../../core/colorUtils.js";import has from"../../../../core/has.js";import{removeMaybe as s,abortMaybe as a,destroyMaybe as n,releaseMaybe as h}from"../../../../core/maybe.js";import{throwIfAborted as o}from"../../../../core/promiseUtils.js";import{watch as d,syncAndInitial as _,initial as l,sync as p}from"../../../../core/reactiveUtils.js";import{signal as u}from"../../../../core/signal.js";import{property as m}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/Logger.js";import"../../../../core/accessorSupport/interfaces.js";import"../../../../core/accessorSupport/tracking/Flags.js";import"../../../../core/Warning.js";import"../../../../core/Error.js";import{equals as c,invert as f,multiply as g}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{IDENTITY as b,create as T}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{s as E}from"../../../../chunks/vec42.js";import{fromValues as A,ZEROS as P}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{InternalRenderCategory as R,RenderCategory as S}from"../../webgl.js";import{debugFlags as w}from"../../support/debugFlags.js";import{DepthFormat as C,ColorFormat as I}from"../../webgl/formats.js";import{FBOCache as D,defaultWebGLFBO as N}from"../core/FBOCache.js";import{RenderPassManager as y}from"../core/renderPasses/RenderPassManager.js";import{ShaderOutput as O,isColorOrColorEmission as x}from"../core/shaderLibrary/ShaderOutput.js";import{HUDRenderStyle as H}from"../core/shaderLibrary/hud/HUDRenderStyle.js";import{distanceFadeEnd as M}from"../core/shaderLibrary/shading/ScreenSpaceConstants.js";import{RenderNodes as L}from"../effects/RenderNodes.js";import{releaseTechniques as U}from"../effects/RenderPlugin.js";import{RenderPluginManager as v}from"../effects/RenderPluginManager.js";import{Blit as F}from"../effects/blit/Blit.js";import{renderHighlightBuffer as G}from"../effects/highlight/Highlight.js";import{OITBlend as q}from"../effects/transparency/OITBlend.js";import{AnimationTimer as V}from"./AnimationTimer.js";import{AnimationTimeStep as j}from"./AnimationTimeStep.js";import{RenderRequestType as B}from"./basicInterfaces.js";import{BoundingInfo as Q}from"./BoundingInfo.js";import{zero as W,union as k}from"./depthRange.js";import{depthRangeFromScene as z}from"./depthRangeUtils.js";import{MainFramebuffer as X}from"./MainFramebuffer.js";import{RenderOccludedFlag as Y}from"./Material.js";import{OITPass as J}from"./OITPass.js";import{RenderContext as K,defaultRenderOccludedMask as $}from"./RenderContext.js";import{splitRenderGeometryChangeSetByMaterial as Z,RendererTarget as ee}from"./rendererUtils.js";import{setupFeatureDefaults as te,RenderFeature as re}from"./RenderFeature.js";import{RenderPluginInput as ie}from"./RenderPluginInput.js";import{RenderSlot as se}from"./RenderSlot.js";import{ShadowAccumulator as ae}from"./ShadowAccumulator.js";import{ShadowMap as ne,SnapshotSlot as he}from"./ShadowMap.js";import oe from"./SliceHelper.js";import{Transparency as de}from"./edgeRendering/interfaces.js";import{MergedRenderer as _e}from"../materials/renderers/MergedRenderer.js";import{RenderSceneResult as le}from"../parts/renderUtils.js";import{RendererPerformanceInfo as pe,PerformanceCategory as ue}from"../statistics/RendererPerformanceInfo.js";import{RenderState as me}from"../../../support/RenderState.js";import{PixelFormat as ce,PixelType as fe,DepthStencilAttachment as ge,FramebufferBit as be,ColorAttachment as Te}from"../../../webgl/enums.js";class Ee{constructor(e,t,r,s,a,n){this._stage=e,this._techniques=r,this._rctx=s,this._compositingHelper=a,this._requestRender=n,this._pluginsHas={hudElements:!1,water:!1},this._renderers=new Map,this.renderPassManager=new y,this._isRendering=!1,this._inGlobeView=!1,this._backgroundColor=A(0,0,0,1),this._sliceHelper=new oe,this._blit=null,this._oitblend=null,this._state=u(me.IDLE),this._highQualityTransparencyEnabled=!0,this._ssrEnabled=!1,this._hasAnimations=!1,this._animationTimestep=new j,this._loadEdgeViewTask=null,this._edgeViewCallbacks=[],this._reprojectionMatrixVersion=u(0),this._renderHiddenTransparentEdges=()=>{},this._pluginInput=new ie,this._releaseNormals=e=>{e.some((({name:e})=>"normals"===e))&&this._pluginInput.release("normals")},this._debugNeedsDepth=!1,this.fboCache=new D(s),this._renderStateFeatures=u(te(!has("disable-feature:high-quality-idle"),e.view.qualityProfile)),this._framebuffer=new X(this.fboCache),this.performanceInfo=new pe(this._rctx),this._shadowMap=new ne(this.fboCache,e.viewingMode),this._shadowAccumulator=new ae(this.fboCache,r,e,(e=>{const t=this.shadowsEnabled;this._shadowMap.enabled=!0,this._ensureBindParametersCamera(e.camera,e.contentCamera),this._plugins.prepareRender(),this._shadowMap.enabled=t}),((e,t,r)=>{const i=this._stage.view.qualitySettings.maximumPixelRatio;e.shadowMap.start(e.camera,t,r,!0,i),this._renderShadowCascades(O.Shadow,e.shadowMap),e.shadowMap.finish(),e.camera.setGLViewport(this._rctx),this._ensureBindParametersCamera(e.camera,e.contentCamera)}),n),this._renderContext=new K(this._rctx,this._shadowMap,r),this._nodes=new L(this._renderContext),this._plugins=new v({renderContext:this._renderContext,techniques:r,materials:t,requestRender:n,controller:e,fbos:this.fboCache,isFeatureEnabled:e=>this.isFeatureEnabled(e)}),this._plugins.add(this.renderPassManager),this._handles=[d((()=>this._stage.view.state.camera),(()=>n()),_),d((()=>w.EDGES_SHOW_HIDDEN_TRANSPARENT_EDGES),(e=>{this._renderHiddenTransparentEdges=e?()=>this._renderEdges(de.TRANSPARENT):()=>{},n()}),l),d((()=>this._stage.view.environment.background?.color),(e=>{const t=e?i(e):P;E(this._backgroundColor,t[0]*t[3],t[1]*t[3],t[2]*t[3],t[3]),n()}),_),d((()=>this._stage.view.state.camera.relativeElevation),(e=>this._inGlobeView=(e??1/0)>=M),_),d((()=>this._bindParameters.clouds.fadeFactor),(()=>this._bindParameters.fadeLighting()),p),d((()=>this._bindParameters.clouds.data?.state),(()=>n()),p),d((()=>this._stage.view.state.highlights),(e=>{this._bindParameters.highlights=e,n()}),l)]}destroy(){this._handles.forEach((e=>e.remove())),this._gpuTimerHandle=s(this._gpuTimerHandle),this._nodes.destroy(),this._framebuffer.dispose(),this._shadowMap.dispose(),this._shadowAccumulator.dispose(),this._loadEdgeViewTask=a(this._loadEdgeViewTask),this._edgeView=n(this._edgeView),this.renderPassManager.dispose(),this._releaseFBOs(),this._disposeOffscreenBuffers(),this.fboCache.destroy(),this._plugins.destroy(),this._renderers.clear(),this._blit=null,this._oitblend=null,Q.prune()}get renderContext(){return this._renderContext}get _bindParameters(){return this._renderContext.bind}get _framebufferSize(){return this._framebuffer.size}updateRenderFeatures(e=null,t=!has("disable-feature:high-quality-idle")){this._renderStateFeatures.value=te(t,e),this._requestRender()}isFeatureEnabled(e,t=this._state.value){return this._renderStateFeatures.value.get(t,e)??!1}setFeatureEnabled(e,t,r){this._renderStateFeatures.mutate((i=>i.set(t,e,r))),this._requestRender()}get _highQualityTransparency(){return this._highQualityTransparencyEnabled||this.isFeatureEnabled(re.HighQualityTransparency)}get hasReflections(){return this._pluginsHas.water&&(this._ssrEnabled||this.isFeatureEnabled(re.WaterReflection))}get _hasHighlights(){return this._plugins.produces(O.Highlight,se.OPAQUE_MATERIAL,se.TRANSPARENT_MATERIAL,se.DRAPED_MATERIAL,se.HUD_MATERIAL,se.LABEL_MATERIAL)}get _hasHUDHighlights(){return this._plugins.produces(O.Highlight,se.HUD_MATERIAL,se.LABEL_MATERIAL)}get hasSSAO(){return(this._stage.view.qualitySettings.ambientOcclusion||this.isFeatureEnabled(re.SSAO))&&!this._inGlobeView}get hasSMAA(){return this._stage.view.qualitySettings.antialiasingEnabled||this.isFeatureEnabled(re.Antialiasing)}get fullResolutionAtmosphere(){return this._stage.view.qualitySettings.highResolutionAtmosphere||this.isFeatureEnabled(re.HighResolutionAtmosphere)}_releaseFBOs(){this._bindParameters.ssr.lastFrameColor=h(this._bindParameters.ssr.lastFrameColor),this._bindParameters.terrainDepth=h(this._bindParameters.terrainDepth),this._bindParameters.geometryDepth=h(this._bindParameters.geometryDepth)}_disposeOffscreenBuffers(){this._framebuffer.dispose(),this._disposeBindBuffers()}_disposeBindBuffers(){this._shadowMap.disposeOffscreenBuffers(),this._bindParameters.depth=h(this._bindParameters.depth),this._bindParameters.hudVisibility=h(this._bindParameters.hudVisibility)}get updating(){return null!=this._edgeView&&this._edgeView.updating||this._shadowAccumulator.running||this._plugins.updating||!this.isCameraFinal}loadEdgeView(){return this._loadEdgeViewTask||(this._loadEdgeViewTask=r((async e=>{const{EdgeView:t}=await import("./edgeRendering/EdgeView.js");o(e);const r=this._edgeView=new t({rctx:this._rctx,renderSR:this._stage.view.renderSpatialReference,viewingMode:this._stage.viewingMode,techniques:this._techniques,setNeedsRender:()=>this._requestRender(),schedule:He(this._stage.view.resourceController)});return this._handles.push(d((()=>r.updating),(()=>this._requestRender()),p)),this._requestRender(),this._edgeViewCallbacks.forEach((e=>e(r))),this._edgeViewCallbacks.length=0,r}))),this._loadEdgeViewTask.promise}withEdgeView(e){this.loadEdgeView(),null==this._edgeView?this._edgeViewCallbacks.push(e):e(this._edgeView)}get edgeView(){return this._edgeView}get isCameraFinal(){return this._reprojectionMatrixVersion.value>=0&&c(this._bindParameters.ssr.reprojectionMatrix,b)}set _reprojectionMatrix(e){t(this._bindParameters.ssr.reprojectionMatrix,e)&&this._reprojectionMatrixVersion.value++}get shadowsEnabled(){return!!this._shadowMap?.enabled}setParameters(e){const{_shadowMap:t,_bindParameters:r}=this;if(void 0!==e.qualitySettings?.reflections&&this._ssrEnabled!==e.qualitySettings.reflections&&(this._ssrEnabled=e.qualitySettings.reflections,this._requestRender()),void 0!==e.shadowMap&&this._shadowMap.enabled!==e.shadowMap&&(this._shadowMap.enabled=e.shadowMap,this._requestRender()),void 0!==e.shadowMapMaxCascades&&t.maxCascades!==e.shadowMapMaxCascades&&(t.maxCascades=e.shadowMapMaxCascades,this._requestRender()),null!=e.environment){null!=e.environment.weather&&(this._bindParameters.weather=e.environment.weather,this._bindParameters.weatherVisible=!!e.weatherVisible);const t="virtual"!==e.environment.lighting.type;r.enableFillLights!==t&&(r.enableFillLights=t,this._requestRender())}void 0!==e.highQualityTransparency&&this._highQualityTransparencyEnabled!==e.highQualityTransparency&&(this._highQualityTransparencyEnabled=e.highQualityTransparency,this._requestRender()),void 0!==e.shadowCast&&this._shadowAccumulator.setOptions(e.shadowCast)}set slicePlane(e){this._sliceHelper.plane!==e&&(this._sliceHelper.plane=e,this._requestRender())}get plugins(){return this._plugins}getMaterialRenderer(e){return this._renderers.get(e)}get _hasOITSupport(){return this._rctx.driverTest.floatBufferBlend.result}get _oitEnabled(){return this._highQualityTransparency&&this._hasOITSupport}modify(e,t){this._isRendering&&console.warn("Renderer.modify called while rendering");const{adds:r,removes:i,updates:s}=e;if(0===r.length&&0===i.length&&0===s.length)return;Z(e).forEach(((r,i)=>{if(t.done)return;let s=this._renderers.get(i);null==s&&r.adds.length>0&&(s=new _e({material:i}),s.initializeRenderContext(this._plugins.context),this._plugins.add(s),this._renderers.set(i,s)),s&&(s.modify(r),0===s.numGeometries&&(this._renderers.delete(s.material),this._plugins.remove(s),s.destroy())),r.removes.forEach((t=>e.removes.removeUnordered(t))),r.adds.forEach((t=>e.adds.removeUnordered(t))),r.updates.forEach((t=>e.updates.removeUnordered(t))),t.madeProgress()})),this.updateHasFlags()}updateHasFlags(){const has=this._pluginsHas;has.hudElements=this._plugins.produces(O.Color,...Ie),has.water=this._plugins.produces(O.Normal,se.DRAPED_WATER),this._bindParameters.hasOccludees=this._plugins.hasOccludees,this._requestRender()}updateAnimation(e,t){this._animationTimer??=new V(e.camera,t),this._animationTimer.advance(e.camera,t,this._animationTimeDilation),null!=e.forcedAnimationTime&&this._animationTimer.forceTime(e.forcedAnimationTime);const r=this._hasAnimations;return this._hasAnimations=this._plugins.updateAnimation(this._animationTimer),this._hasAnimations=this._nodes.updateAnimation(this._animationTimer)||this._hasAnimations,this._hasAnimations=this.overlay?.updateAnimation(this._animationTimer)||this._hasAnimations,this._hasAnimations!==r&&(this._gpuTimerHandle=r?s(this._gpuTimerHandle):this.performanceInfo.enableGPUPerformanceInfo()),this._hasAnimations}get animationTimestep(){return this._animationTimestep.value}get _animationTimeDilation(){return this._animationTimestep.timeDilation}resetAnimation(){this._animationTimestep.clear()}tick(){this.fboCache.clean()}render(e,t,r=ee.Default,i=!1){try{return this._isRendering=!0,this._render(e,t,r,i)}catch(s){console.error(`Exception during rendering: ${s}`)}finally{this._isRendering=!1}return new le(this._pluginInput.get("final-color"),null)}_render(e,t,r=ee.Default,i){this.performanceInfo.startFrame(),this.fboCache.frameStart(),this.fboCache.interactive=r===ee.Default,this._disposeBindBuffers();const s=this._framebuffer,{camera:a,contentCamera:n,mode:o,alignPixelEnabled:d}=e;this._state.value=o,this._bindParameters.overlay=this.overlay?.render(t),this._bindParameters.overlay&&this.performanceInfo.advance(ue.OVERLAY),this._renderContext.time=t,this._bindParameters.oitPass=J.NONE,this._bindParameters.alignPixelEnabled=d,this._bindParameters.decorations=!i,this._bindParameters.mainDepth=null,this._bindParameters.viewshedEnabled=this._nodes.produces(R.VIEWSHED);const _=this._nodes.produces("magnifier-color"),l=this._nodes.produces("final-color");this._bindParameters.slicePlane=this._sliceHelper.plane,a.setGLViewport(this._rctx);const p=this._nodes.require("emissive")>0&&this._plugins.hasEmissions,u=p?O.ColorEmission:O.Color,m=s.initialize(a.fullWidth,a.fullHeight,this._backgroundColor,p);this.hasReflections?(m?.setName("last frame color"),this._bindParameters.ssr.lastFrameColor=m):m?.release(),this._ensureBindParametersCamera(a,n),this._plugins.prepareRender(),this._bindParameters.shadowHighlightsVisible=this._needsShadowHighlight&&!i;const c=this._highQualityTransparency&&this._hasTransparentTerrain,f=this._plugins.produces(O.Color,...we);this._precompilePrepasses(),this.performanceInfo.advance(ue.PREPARE);const g=this._computeDepthRange(a);this._renderShadowMap(a,this._bindParameters.lighting.mainLight.direction,g),this._ensureBindParametersCamera(a,n),this._pluginInput.set("normals",this._renderNormals()),this._renderRemainingGeometryDepth(),this._renderShadowAccumulation(g,a,n),this._ensureBindParametersSSR(t),this._precompileShaders(c,f,u),this._renderContext.output=u,s.bind(),this._bindParameters.mainDepth=s.depth.attachment;const b=this.plugins.produces(O.Color,...Se);b&&this._renderOpaqueGeometry(),s.update((e=>this._renderNodes(S.OPAQUE,e,b))),this.fboCache.debugCallback?.("opaque-color",s.color.fbo),s.update((e=>this._renderNodes(R.OPAQUE_ENVIRONMENT,e))),this.fboCache.debugCallback?.(R.OPAQUE_ENVIRONMENT,s.color.fbo),this._renderTerrainDepth(c),this._setMultipassTerrain(c),this._renderEdges(de.OPAQUE),s.bind(),this._renderPlugins(se.VOXEL,ue.VOXEL),this._renderHiddenTransparentEdges(),f&&(this._oitEnabled?this._renderOIT(Ae.Geometry,u):this._renderTransparentGeometry()),s.update((e=>this._renderNodes(S.TRANSPARENT,e,f))),this.fboCache.debugCallback?.("transparent-color",s.color.fbo),this._renderGeometryDepth(c),this._renderHUDVisibility(),c||this._plugins.render(this._pluginInput,se.LINE_CALLOUTS);const T=r===ee.ObjectAndLayerID?this._renderObjectAndLayerIdColor():null;this._renderEdges(de.TRANSPARENT);const E=this._hasTransparentTerrain?this._renderTransparentTerrain():null;E&&(this.performanceInfo.advance(ue.TRANSPARENT_TERRAIN),this._bindParameters.hudVisibility&&(c?this._renderLineCallouts(H.Occluded):(this._rctx.bindFramebuffer(this._bindParameters.hudVisibility?.fbo),this._compositingHelper.compositeHUD(this._bindParameters,E.getTexture())),this._renderHUD(H.Occluded,s.color,u))),this._cullAboveTerrain(!1),E&&(s.bind(),this._compositingHelper.compositePreMultipliedAlpha(this._bindParameters,E.getTexture()),E.release(),c&&(this._renderEdges(de.OPAQUE),f&&(this._oitEnabled?this._renderOIT(Ae.Geometry,u):this._renderTransparentGeometry(),this.performanceInfo.advance(ue.TRANSPARENT)),this._renderEdges(de.TRANSPARENT))),this._bindParameters.ssao=h(this._bindParameters.ssao),c&&this._renderLineCallouts(H.NotOccluded),this._setTerrainDepthTest(!1),this._renderTransparentEnvironment(),this._pluginInput.set("focusArea",this._renderFocusAreaGeometry()),s.update((e=>this._renderNodes(R.TRANSPARENT_ENVIRONMENT,e))),s.update((e=>this._renderNodes(R.VIEWSHED,e))),s.update((e=>this._renderNodes(R.LASERLINES,e))),s.update((e=>this._renderNodes(R.OCCLUDED,e))),this._pluginInput.set("highlights",this._renderHighlightPrepass()),s.update((e=>this._renderNodes(S.COMPOSITE,e)));const A=!(r!==ee.Default||l||_&&!i&&r===ee.Default),P=this._pluginInput.get(S.COMPOSITE),w=A?N:this.fboCache.acquire(P.fbo.width,P.fbo.height,R.ANTIALIASING),C=this._nodes.produces(R.ANTIALIASING)?this._renderNodes(R.ANTIALIASING,w):this._blitFBO(P,w,!1);let I;this._pluginInput.set(R.ANTIALIASING,C),this._hasHUDHighlights?(this._renderHUD(H.NotOccluded,C,u),I=this._renderNodes(R.HIGHLIGHTS,C)):(I=this._renderNodes(R.HIGHLIGHTS,C),this._renderHUD(H.NotOccluded,I,u));const D=this._renderNodes(R.MAGNIFIER,I);return _&&!i&&r===ee.Default&&!l&&this._blitFBO(D),l?(D.attachDepth(s.depth),this._blitFBO(this._renderNodes(S.FINAL,D)),D.detachDepth()):this._pluginInput.set(S.FINAL,D),this._pluginInput.release("highlights"),this.onPostRender&&this.onPostRender(),this._releaseFBOs(),s.releaseDepth(),this._renderContext.lastFrameCamera.copyFrom(this._bindParameters.camera),this.fboCache.frameEnd(),this.performanceInfo.finishFrame(),r!==ee.Default&&(this._releaseFBOs(),this._disposeOffscreenBuffers()),new le(this._pluginInput.get("final-color"),T)}_precompileShaders(e,t,r){if(++this._plugins.context.techniques.precompiling,this._renderContext.output=r,this._precompileOpaqueGeometry(),this._setMultipassTerrain(e),this._renderContext.output=O.Depth,this._plugins.precompile(se.TRANSPARENT_TERRAIN),e&&(this._precompileOpaqueGeometry(),this._precompileTransparentGeometry()),this._renderContext.output=r,this._plugins.precompile(se.TRANSPARENT_TERRAIN),t&&(this._precompileTransparentGeometry(),this._hasTransparentTerrain&&(this._cullAboveTerrain(!1),this._precompileTransparentGeometry(),this._cullAboveTerrain(e))),this._needsHUDVisibility&&this._plugins.precompile(se.OCCLUSION_PIXELS),e&&!this._needsHUDVisibility||(this._plugins.precompile(se.LINE_CALLOUTS),this._precompileHUD(H.Occluded)),this._setMultipassTerrain(!1),this._nodes.precompile(R.VIEWSHED,R.LASERLINES,R.OCCLUDED),this._precompileHUD(H.NotOccluded),this._hasHighlights){const e=this._bindParameters;e.highlights.forEach(((t,r)=>{e.highlightLevel=r,this._precompileAllGeometry(O.Highlight)})),e.highlightLevel=null}this._nodes.precompile(S.COMPOSITE,R.MAGNIFIER),this._shadowAccumulator.precompile(),this._plugins.precompile(se.TRANSPARENT_MATERIAL_WITHOUT_DEPTH),--this._plugins.context.techniques.precompiling}_renderFocusAreaGeometry(){if(this._nodes.produces("focusArea")){const e=this._framebufferSize;let t=this.fboCache.acquire(e.width,e.height,"focusArea");return t=this._nodes.render(t,this._pluginInput),t}return null}_renderObjectAndLayerIdColor(){if(!this._nodes.produces("olid"))return null;++this._techniques.precompiling;const e=this._framebufferSize;let t=this.fboCache.acquire(e.width,e.height,"olid");return t.acquireDepth(C.DEPTH_STENCIL_TEXTURE),t=this._nodes.render(t,this._pluginInput),--this._techniques.precompiling,this.performanceInfo.advance(ue.OBJECT_AND_LAYER_ID_COLOR),t}finish(e){this._hasAnimations||this._animationTimestep.clear();const t=this.performanceInfo.gpuSamplingEnabled,r=e===B.BACKGROUND;if(r||t){const e=r?this.performanceInfo.elapsedTime:0;let i=0;t?i=this.performanceInfo.totalGPUTimeSampler.last:this._rctx.gl.finish();const s=Math.max(e,i);this._animationTimestep.frame(s,r)}}readMainDepth(e,t){const{mainDepth:r,camera:i}=this._bindParameters;if(!r)return;const s=this.fboCache.acquire(this._framebufferSize.width,this._framebufferSize.height,"linear-depth");this._rctx.bindFramebuffer(s.fbo),i.setGLViewport(this._rctx),this._rctx.setScissorRect(e[0],e[1],e[2],e[3]),this._rctx.setScissorTestEnabled(!0),this._rctx.clearFramebuffer(P),this._compositingHelper.blitDepthToLinearDepth(this._bindParameters,r),this._rctx.setScissorTestEnabled(!1),this._rctx.setScissorRect(0,0,this._rctx.gl.canvas.width,this._rctx.gl.canvas.width),s.fbo?.readPixels(e[0],e[1],e[2],e[3],ce.RGBA,fe.UNSIGNED_BYTE,t),s.release()}readHUDVisibility(e,t,r,i,s){this._bindParameters.hudVisibility?.fbo?.readPixels(e,t,r,i,ce.RGBA,fe.UNSIGNED_BYTE,s)}readAccumulatedShadow(e){return this._shadowAccumulator.readAccumulatedShadow(e[0],e[1])}_setMultipassTerrain(e){this._setTerrainDepthTest(e),this._cullAboveTerrain(e)}_setTerrainDepthTest(e){this._bindParameters.terrainDepthTest=e}_cullAboveTerrain(e){this._bindParameters.cullAboveTerrain=e}_renderEdges(e){const t=this._edgeView;if(!t?.shouldRender())return;const r=this._framebufferSize,i=this.fboCache.acquire(r.width,r.height,"edges"),s=()=>t.render(this._bindParameters,e),a=this._bindParameters.geometryDepth;this.renderToTargets(s,i,a??this._framebuffer.depth,P),this._framebuffer.bind(),this._compositingHelper.composite(this._bindParameters,i.getTexture()),i.release(),this.performanceInfo.advance(e===de.OPAQUE?ue.OPAQUE_EDGES:ue.TRANSPARENT_EDGES)}_renderShadowMap(e,t,r){if(!this.shadowsEnabled)return;const i=this._shadowMap;i.start(e,t,r,this.isFeatureEnabled(re.HighResolutionShadows),this._stage.view.qualitySettings.maximumPixelRatio),this._needsShadowHighlight?(this._renderShadowCascades(O.ShadowHighlight,this._shadowMap),i.moveSnapshot(he.Highlight),this._renderShadowCascades(O.ShadowExcludeHighlight,this._shadowMap),i.copySnapshot(he.ExcludeHighlight),this._renderShadowCascades(O.ShadowHighlight,this._shadowMap)):this._renderShadowCascades(O.Shadow),i.finish(),e.setGLViewport(this._rctx),this.performanceInfo.advance(ue.SHADOW_MAP)}_precompileShadowCascades(e){for(const t of this._shadowMap.cascades)t.camera.setGLViewport(this._rctx),this._ensureBindParametersCamera(t.camera,t.camera),this._precompileAllGeometry(e)}_renderShadowCascades(e,t=this._shadowMap){for(const r of t.cascades)r.camera.setGLViewport(this._rctx),this._ensureBindParametersCamera(r.camera,r.camera),this.renderAllGeometry(e)}get _needsDepth(){return this._plugins.consumes(O.Depth)||this._nodes.requireGeometryDepth()||this.hasReflections||this._needsShadowHighlight||this._needsShadowAccumulation||this._debugNeedsDepth}_renderRemainingGeometryDepth(){const e=this._pluginInput.get("normals");if(e){const t=this._needsDepth?e.getAttachment(ge):null;t?.retain(),this._pluginInput.set(R.SSAO,this._renderSSAO()),this._renderGeometryWithoutNormalsDepth(t)}else this._renderAllGeometryDepth()}_renderGeometryWithoutNormalsDepth(e){if(!this._needsDepth||!e)return void(this._bindParameters.depth=h(this._bindParameters.depth));const t=this._framebufferSize,r=this.fboCache.acquire(t.width,t.height,"depth");r.attachDepth(e),e.release(),this._rctx.bindFramebuffer(r.fbo),this._rctx.clear(be.STENCIL),this._renderGeometryWithoutNormals(O.Depth),h(this._bindParameters.depth),this._bindParameters.depth=r.obtainDepthTexture(),r.release(),this.performanceInfo.advance(ue.DEPTH)}_renderAllGeometryDepth(){if(!this._needsDepth)return void(this._bindParameters.depth=h(this._bindParameters.depth));const e=this._framebufferSize,t=this.fboCache.acquire(e.width,e.height,"depth").acquireDepth(C.DEPTH_STENCIL_TEXTURE);this._rctx.bindFramebuffer(t.fbo),this._rctx.clear(be.DEPTH|be.STENCIL),this.renderAllGeometry(O.Depth),h(this._bindParameters.depth),this._bindParameters.depth=t.obtainDepthTexture(),t.release(),this.performanceInfo.advance(ue.DEPTH)}_renderTerrainDepth(e){if(!e)return void(this._bindParameters.terrainDepth=h(this._bindParameters.terrainDepth));const t=this._renderContext.output;this._renderContext.output=O.Depth;const r=this._framebufferSize,i=this.fboCache.acquire(r.width,r.height,"terrain depth").acquireDepth(C.DEPTH_STENCIL_TEXTURE);this._rctx.bindFramebuffer(i.fbo),this._rctx.clear(be.DEPTH|be.STENCIL),this._renderTransparentTerrain(),h(this._bindParameters.terrainDepth),this._bindParameters.terrainDepth=i.obtainDepthTexture(),this._renderContext.output=t,i.release()}_renderGeometryDepth(e){if(!e)return void(this._bindParameters.geometryDepth=h(this._bindParameters.geometryDepth));const t=this._renderContext.output,{width:r,height:i}=this._framebufferSize,s=this.fboCache.acquire(r,i,"geometry depth").acquireDepth(C.DEPTH_STENCIL_TEXTURE);this._rctx.bindFramebuffer(s.fbo),this._rctx.clear(be.DEPTH|be.STENCIL),this._renderOpaqueAndTransparentGeometry(O.Depth),this._renderContext.output=t,h(this._bindParameters.geometryDepth),this._bindParameters.geometryDepth=s.obtainDepthTexture(),s.release()}get _needsDepthRange(){return this._shadowMap.enabled||this._needsShadowAccumulation}_computeDepthRange(e){if(!this._needsDepthRange)return W;const t=z(e,this._plugins.plugins,this._stage.layers);return k(t,this._plugins.queryDepthRange(e)),t.near=Math.max(e.near,t.near),t.far=Math.min(e.far,t.far),t}get _normalsRequired(){const e=this._nodes.require("normals","final-color",S.COMPOSITE,"opaque-color","transparent-color","laserline-color");return(this.hasSSAO?1:0)+e}_precompilePrepasses(){this._normalsRequired&&this._precompileAllGeometry(O.Normal),this._needsDepth&&this._precompileAllGeometry(O.Depth),this.shadowsEnabled&&(this._needsShadowHighlight?(this._precompileShadowCascades(O.ShadowHighlight),this._precompileShadowCascades(O.ShadowExcludeHighlight),this._precompileShadowCascades(O.ShadowHighlight)):this._precompileShadowCascades(O.Shadow)),this._needsShadowAccumulation&&this._precompileAllGeometry(O.Shadow)}_renderNormals(){const e=this._normalsRequired;if(0===e)return;const t=this._framebufferSize,r=this.fboCache.acquire(t.width,t.height,"normals",I.RGBA);r.acquireDepth(C.DEPTH_STENCIL_TEXTURE),this._rctx.bindFramebuffer(r.fbo),this._rctx.clearFramebuffer(P,!0,!0),this._renderGeometryWithNormals(O.Normal);const i=this._nodes.optional("normals","final-color",S.COMPOSITE,"opaque-color","transparent-color","viewshed-color");return r.retain(e+i-1),this.performanceInfo.advance(ue.NORMALS),r}_renderSSAO(){const e=this._pluginInput.get("normals");if(!this.hasSSAO||!e)return void e?.detachDepth();N.setName(R.SSAO);const t=this._nodes.render(N,this._pluginInput);return this._bindParameters.ssao=t,e.detachDepth(),this._pluginInput.release("normals"),this.performanceInfo.advance(ue.SSAO),t}_precompileAllGeometry(e){const t=this._renderContext.output;this._renderContext.output=e,this._precompileOpaqueGeometry(),this._precompileTransparentGeometry(),this._plugins.precompile(se.TRANSPARENT_TERRAIN),this._renderContext.output=t}renderAllGeometry(e){this._renderContext.output=e,this._renderOpaqueAndTransparentGeometry(e),this._renderTransparentTerrain()}precompileSlots(e,...t){for(const r of t)this._bindParameters.slot=r,e.precompile(this._renderContext)}precompileOccludedSlots(e,t){for(const r of t)this._renderContext.renderOccludedMask=r,this.precompileSlots(e,...Ce);this._renderContext.renderOccludedMask=$}renderSlots(e,...t){for(const r of t)this._bindParameters.slot=r,e.forAll((e=>{const t=e.acquireTechniques(this._renderContext);t&&(e.render(this._renderContext,t,this._pluginInput),U(t))}))}renderOccludedSlots(e,t){this._renderContext.renderOccludedMask=t,this.plugins.renderOccludedFlags>Y.Occlude&&this._plugins.render(this._pluginInput,se.OCCLUDED_TERRAIN),this.renderSlots(e,...Ce),this._renderContext.renderOccludedMask=$}renderHUD(e){this._bindParameters.hudRenderStyle=e,this._plugins.render(this._pluginInput,se.HUD_MATERIAL)}precompileViewshedShadowMap(){this._precompileAllGeometry(O.ViewshedShadow)}renderViewshedShadowMap(e){const{camera:t,contentCamera:r}=this._bindParameters,i=this._renderContext.output;e.setGLViewport(this._rctx),this._ensureBindParametersCamera(e,e),this.renderAllGeometry(O.ViewshedShadow),this._ensureBindParametersCamera(t,r),this._bindParameters.camera.setGLViewport(this._rctx),this._renderContext.output=i}_renderOpaqueAndTransparentGeometry(e){this._renderContext.output=e,this._renderOpaqueGeometry(),this._renderTransparentGeometry()}_renderGeometryWithNormals(e){this._renderContext.output=e,this._plugins.render(this._pluginInput,...Pe),this._renderTransparentTerrain()}_renderGeometryWithoutNormals(e){this._renderContext.output=e,this._plugins.render(this._pluginInput,...Re)}_precompileOpaqueGeometry(){this._plugins.precompile(...Se)}_renderOpaqueGeometry(){this._plugins.render(this._pluginInput,...Se)}_renderTransparentGeometry(){this._plugins.render(this._pluginInput,...we)}get _hasTransparentTerrain(){return this._plugins.produces(O.Color,se.TRANSPARENT_TERRAIN)}_renderTransparentTerrain(){const e=()=>this._plugins.render(this._pluginInput,se.TRANSPARENT_TERRAIN);if(!x(this._renderContext.output))return void e();const t=this._framebufferSize,r=this.fboCache.acquire(t.width,t.height,"transparent terrain");return this.renderToTargets(e,r,this._framebuffer.depth,P),r}get _needsHUDVisibility(){return this._plugins.produces(this._renderContext.output,se.OCCLUSION_PIXELS)}_renderHUDVisibility(){if(!this._needsHUDVisibility)return void(this._bindParameters.hudVisibility=h(this._bindParameters.hudVisibility));const{width:e,height:t}=this._framebufferSize;let r=this._bindParameters.hudVisibility;r?.fbo?.width===e&&r?.fbo?.height===t||(r?.release(),r=this.fboCache.acquire(e,t,"hud visibility",I.RGBA4),this._bindParameters.hudVisibility=r);const i=this._bindParameters.geometryDepth;r.attachDepth(i||this._framebuffer.depth),this._rctx.bindFramebuffer(r.fbo),this._rctx.clearFramebuffer([0,1,0,1]),this._plugins.render(this._pluginInput,se.OCCLUSION_PIXELS),r.detachDepth(),this._framebuffer.bind(),this.performanceInfo.advance(ue.HUD_VISIBILITY)}_renderLineCallouts(e){if(this._bindParameters.hudRenderStyle=e,e===H.Occluded){const e=()=>this._plugins.render(this._pluginInput,se.LINE_CALLOUTS),t=this._framebufferSize,r=this.fboCache.acquireDepth(C.DEPTH16_BUFFER,t.width,t.height,"line callouts");this.renderToTargets(e,this._framebuffer.color,r,void 0,!0,!0),r.release()}else this._plugins.render(this._pluginInput,se.LINE_CALLOUTS)}_precompileHUD(e){if(this._precompileHUDOutput(e),this._hasHighlights){const t=this._renderContext.output;this._renderContext.output=O.Highlight,this._precompileHUDOutput(e),this._renderContext.output=t}}_precompileHUDOutput(e){const t=this._bindParameters.hudRenderStyle;this._bindParameters.hudRenderStyle=e,this._oitEnabled&&x(this._renderContext.output)?(this._bindParameters.oitPass=J.ColorAlpha,this._plugins.precompile(...Ie),this._bindParameters.oitPass=J.FrontFace,this._plugins.precompile(...Ie),this._bindParameters.oitPass=J.NONE):this._plugins.precompile(...Ie),this._bindParameters.hudRenderStyle=t}_renderHUD(e,t,r){if(this._pluginsHas.hudElements){if(this._oitEnabled){const i=this._renderOIT(Ae.HUD,r,e);this._rctx.bindFramebuffer(t.fbo),this._compositingHelper.compositePreMultipliedAlpha(this._bindParameters,i.getTexture()),i.release()}else if(this._renderContext.output=r,e===H.Occluded){const t=()=>this._renderHUDElements(e),r=this._framebufferSize,i=this.fboCache.acquireDepth(C.DEPTH16_BUFFER,r.width,r.height,"hud");this.renderToTargets(t,this._framebuffer.color,i,void 0,!0,!0),i.release()}else t.acquireDepth(C.DEPTH16_BUFFER),this._rctx.bindFramebuffer(t.fbo),this._renderHUDElements(e),t.detachDepth();this.performanceInfo.advance(e===H.Occluded?ue.HUD_OCCLUDED:ue.HUD)}}_renderHUDElements(e){this._bindParameters.hudRenderStyle=e,this._plugins.render(this._pluginInput,...Ie)}get _needsShadowHighlight(){return this.shadowsEnabled&&this._plugins.produces(O.ShadowHighlight,se.OPAQUE_MATERIAL)}_renderHighlightPrepass(){if(!this._hasHighlights)return;const{fboCache:e,_rctx:t,_bindParameters:r}=this,i=this._framebufferSize,s=e.acquire(i.width,i.height,"highlights",I.RG);return s.acquireDepth(C.DEPTH_STENCIL_TEXTURE),t.bindFramebuffer(s.fbo),t.clearFramebuffer(P,!0),this._renderContext.output=O.Highlight,t.bindFramebuffer(s.fbo),G(t,e,i,r,(()=>this._renderHighlightGeometries()),0),this.performanceInfo.advance(ue.HIGHLIGHTS),s}_renderHighlightGeometries(){const e=0===this._bindParameters.highlightLevel?Ne:De;this._plugins.render(this._pluginInput,...e),this._rctx.clear(be.DEPTH),this._renderHUDElements(H.Both)}get _needsShadowAccumulation(){return this._shadowAccumulator.isAccumulating}_renderShadowAccumulation(e,t,r){this._needsShadowAccumulation&&this._bindParameters.depth&&this._shadowAccumulator.renderAccumulation(this._bindParameters.depth,e,t,r)&&this.performanceInfo.advance(ue.ACCUMULATED_SHADOWS)}_precompileTransparentGeometry(){this._oitEnabled&&x(this._renderContext.output)?(this._bindParameters.oitPass=J.ColorAlpha,this._plugins.precompile(...we),this._bindParameters.oitPass=J.FrontFace,this._plugins.precompile(...we),this._bindParameters.oitPass=J.NONE):this._plugins.precompile(...we)}_renderOIT(e,t,r=H.Both){const i=e===Ae.HUD,s=this._framebufferSize,a=i?this.fboCache.acquire(s.width,s.height,"oit hud composite"):null,n=i?()=>this._renderHUDElements(r):()=>this._renderTransparentGeometry(),h=this._bindParameters,o=this._renderContext.output;this._renderContext.output=t,h.oitPass=J.ColorAlpha;const d=a?"oit hud color alpha":"oit color alpha",_=this.fboCache.acquire(s.width,s.height,d,I.RGBA16F);_.acquireColor(Te.COLOR_ATTACHMENT1,I.R16F),a||_.attachDepth(this._framebuffer.depth),this._rctx.bindFramebuffer(_.fbo),this._rctx.clearFramebuffer([0,0,0,1]),n(),_.detachDepth(),h.oitPass=J.FrontFace;const l=this.fboCache.acquire(s.width,s.height,a?"oit hud front":"oit front");return a?l.acquireDepth(C.DEPTH16_BUFFER):l.attachDepth(this._framebuffer.depth),this._rctx.bindFramebuffer(l.fbo),this._rctx.clearFramebuffer(P,!!a),n(),l.detachDepth(),h.oitPass=J.NONE,a?(this._rctx.bindFramebuffer(a.fbo),this._rctx.setClearColor(0,0,0,1e-13),this._rctx.clear(be.COLOR)):this._framebuffer.bind(),this._oitblend??=new q(this._techniques),this._oitblend.blend(this._rctx,_,l,h),a?.detachDepth(),l.release(),_.release(),this._renderContext.output=o,a}_renderTransparentEnvironment(){this._shadowAccumulator.render(this._bindParameters),this.performanceInfo.advance(ue.APPLY_ACCUMULATED_SHADOWS),this._framebuffer.bind(),this._plugins.render(this._pluginInput,se.TRANSPARENT_MATERIAL_WITHOUT_DEPTH),this.performanceInfo.advance(ue.TRANSPARENT_MATERIAL_WITHOUT_DEPTH)}_renderPlugins(e,t){this._plugins.produces(this._renderContext.output,e)&&(this._plugins.render(this._pluginInput,e),this.performanceInfo.advance(t))}_renderNodes(e,t,r=!1){if(t.setName(e),this._pluginInput.set(e,t),!this._nodes.produces(e))return r&&this.performanceInfo.advance(e),t;const i=this._nodes.render(t,this._pluginInput,this._releaseNormals);return this.performanceInfo.advance(e),i}_blitFBO(e,t=N,r=!0){return this._blit??=new F(this._techniques),this._blit.blit(this._rctx,e,t,this._bindParameters),this._pluginInput.set(e.name,t),r&&e.release(),t}_ensureBindParametersCamera(e,t){this._bindParameters.camera=e,this._bindParameters.contentCamera=t}_ensureBindParametersSSR(e){if(this._bindParameters.ssr.lastFrameColor){null==this._ssrEnableTime&&(this._ssrEnableTime=e),this._renderContext.lastFrameCamera.equals(this._bindParameters.camera)?this._reprojectionMatrix=b:(f(Oe,this._bindParameters.camera.viewMatrix),f(ye,this._bindParameters.camera.projectionMatrix),g(xe,Oe,ye),g(xe,this._renderContext.lastFrameCamera.viewMatrix,xe),g(xe,this._renderContext.lastFrameCamera.projectionMatrix,xe),this._reprojectionMatrix=xe);const t=this._stage.view.qualitySettings.fadeDuration;this._bindParameters.ssr.fadeFactor=t>0?Math.min(t,e-this._ssrEnableTime)/t:1,this._bindParameters.ssr.fadeFactor<1&&this._requestRender()}else this._reprojectionMatrix=b,this._ssrEnableTime=null}addRenderNode(e){this._nodes.add(e),this._requestRender()}removeRenderNode(e){this._nodes.remove(e),this._requestRender()}updateLighting(e,t,r,i){this._bindParameters.updateLighting(e,t,r,i),this._requestRender(B.UPDATE)}get usedMemory(){return{fbos:this.fboCache.usedMemory,plugins:this._plugins.usedMemory,edges:this.edgeView?.usedMemory??0}}renderToTargets(e,t,r,i,s=!1,a=!1){t.attachDepth(r),this._rctx.bindFramebuffer(t.fbo),this._rctx.clearFramebuffer(i,s,a),e(),t.detachDepth()}get test(){}}var Ae;e([m({readOnly:!0})],Ee.prototype,"fullResolutionAtmosphere",null),e([m()],Ee.prototype,"_edgeView",void 0),e([m()],Ee.prototype,"updating",null),function(e){e[e.Geometry=0]="Geometry",e[e.HUD=1]="HUD"}(Ae||(Ae={}));const Pe=[se.INTEGRATED_MESH,se.OPAQUE_TERRAIN,se.OPAQUE_MATERIAL,se.TRANSPARENT_MATERIAL],Re=[se.OPAQUE_MATERIAL_WITHOUT_NORMALS,se.TRANSPARENT_MATERIAL_WITHOUT_NORMALS],Se=[se.INTEGRATED_MESH,se.OPAQUE_TERRAIN,se.OPAQUE_MATERIAL,se.OPAQUE_MATERIAL_WITHOUT_NORMALS],we=[se.TRANSPARENT_MATERIAL,se.TRANSPARENT_MATERIAL_WITHOUT_NORMALS],Ce=[se.OPAQUE_MATERIAL,se.TRANSPARENT_MATERIAL,se.TRANSPARENT_MATERIAL_WITHOUT_DEPTH],Ie=[se.LINE_CALLOUTS_HUD_DEPTH,se.HUD_MATERIAL,se.LABEL_MATERIAL],De=[se.TRANSPARENT_MATERIAL,se.TRANSPARENT_MATERIAL_WITHOUT_NORMALS,se.OPAQUE_MATERIAL,se.OPAQUE_MATERIAL_WITHOUT_NORMALS],Ne=[...De,se.TRANSPARENT_TERRAIN,se.INTEGRATED_MESH,se.OPAQUE_TERRAIN],ye=T(),Oe=T(),xe=T();function He(e){return t=>e.immediate.schedule(t)}export{Ee as Renderer};
|