@arcgis/core 4.27.0-next.20230407 → 4.27.0-next.20230408
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/copyright.txt +20 -0
- package/layers/LinkChartLayer.js +1 -1
- package/layers/knowledgeGraph/KnowledgeGraphLayerDataManager.js +1 -1
- package/layers/knowledgeGraph/SessionMemoryStorage.js +1 -1
- package/package.json +1 -1
- package/support/revision.js +1 -1
- package/widgets/support/am5chartUtils.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
var RemoteClient;(()=>{var e={88277:(e,t,r)=>{r.p=self.esriConfig.assetsPath+"/esri/core/workers/"},68773:(e,t,r)=>{"use strict";r.d(t,{Z:()=>s}),r(80442);var n=r(78286),o=r(17202);const s={analysisTheme:{accentColor:[255,128,0],textColor:"white"},apiKey:void 0,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:!1,portalUrl:"https://www.arcgis.com",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:[],maxUrlLength:2e3,priority:"high",proxyRules:[],proxyUrl:null,timeout:6e4,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};if(globalThis.esriConfig&&((0,n.RH)(s,globalThis.esriConfig,!0),delete s.has),!s.assetsPath){{const e="4.27.0";s.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@${e}-next.${o.r}/assets`}s.defaultAssetsPath=s.assetsPath}},20102:(e,t,r)=>{"use strict";r.d(t,{Z:()=>i});var n=r(22974),o=r(92604),s=r(58896);class i extends s.Z{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.d9)(t)}catch(e){return"[object]"}})))}}catch(e){throw o.Z.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"},92604:(e,t,r)=>{"use strict";r.d(t,{Z:()=>i});var n=r(68773),o=(r(80442),r(19153));const s={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[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(){const e=this;return{loggedMessages:e._loggedMessages,clearLoggedWarnings:()=>e._loggedMessages.warn.clear()}}static get testSingleton(){return{resetLoggers(e={}){const t=i._loggers;return i._loggers=e,t},set throttlingDisabled(e){i._throttlingDisabled=e}}}static getLogger(e){let t=i._loggers[e];return t||(t=new i({module:e})),t}_log(e,t,...r){if(this._matchLevel(e)){if("always"!==t&&!i._throttlingDisabled){const n=this._argsToKey(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.Z.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",this._consoleWriter)}_consoleWriter(e,t,...r){console[e](`[${t}]`,...r)}_matchLevel(e){const t=n.Z.log.level||"warn";return s[this._parentWithMember("level",t)]<=s[e]}_argsToKey(...e){return(0,o.hP)(JSON.stringify(e,((e,t)=>"object"!=typeof t||Array.isArray(t)?t:"[Object]")))}static _scheduleTickCounterIncrement(){i._tickCounterScheduled||(i._tickCounterScheduled=!0,Promise.resolve().then((()=>{i._tickCounter++,i._tickCounterScheduled=!1})))}}i._loggers={},i._tickCounter=0,i._tickCounterScheduled=!1,i._throttlingDisabled=!1},58896:(e,t,r)=>{"use strict";r.d(t,{Z:()=>o});var n=r(78286);class o{constructor(e,t,r){this.name=e,this.details=r,this.message=(t&&function(e,t){return e.replace(/\$\{([^\s\:\}]*)(?:\:([^\s\:\}]+))?\}/g,((e,r)=>{if(""===r)return"$";const o=(0,n.hS)(r,t)??"";if(void 0===o)throw new Error(`could not find key "${r}" in template`);return o.toString()}))}(t,r))??""}toString(){return"["+this.name+"]: "+this.message}}},77734:(e,t,r)=>{"use strict";r.d(t,{Z:()=>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},67676:(e,t,r)=>{"use strict";r.d(t,{FY:()=>g,Od:()=>m,SO:()=>f,Vx:()=>s,a9:()=>l,cq:()=>h,e$:()=>p,e5:()=>i,fS:()=>o,pC:()=>y,w6:()=>u,zG:()=>a});var n=r(77734);function o(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 s(e,t){let r=e.length!==t.length;r&&(e.length=t.length);for(let n=0;n<t.length;++n)e[n]!==t[n]&&(e[n]=t[n],r=!0);return r}function i(e,t,r){let n,o;return r?(n=t.filter((t=>!e.some((e=>r(e,t))))),o=e.filter((e=>!t.some((t=>r(t,e)))))):(n=t.filter((t=>!e.includes(t))),o=e.filter((e=>!t.includes(e)))),{added:n,removed:o}}function a(e){return e&&"number"==typeof e.length}const c=!!Array.prototype.fill;function l(e,t){if(c)return new Array(e).fill(t);const r=new Array(e);for(let n=0;n<e;n++)r[n]=t;return r}function u(e,t){void 0===t&&(t=e,e=0);const r=new Array(t-e);for(let n=e;n<t;n++)r[n-e]=n;return r}class f{constructor(){this.last=0}}const d=new f;function h(e,t,r,n){n=n||d;const o=Math.max(0,n.last-10);for(let s=o;s<r;++s)if(e[s]===t)return n.last=s,s;const s=Math.min(o,r);for(let r=0;r<s;++r)if(e[r]===t)return n.last=r,r;return-1}function p(e,t,r,n){const o=r??e.length,s=h(e,t,o,n);if(-1!==s)return e[s]=e[o-1],null==r&&e.pop(),t}const b=new Set;function g(e,t,r=e.length,n=t.length,o,s){if(0===n||0===r)return r;b.clear();for(let e=0;e<n;++e)b.add(t[e]);o=o||d;const i=Math.max(0,o.last-10);for(let t=i;t<r;++t)if(b.has(e[t])&&(s&&s.push(e[t]),b.delete(e[t]),e[t]=e[r-1],--r,--t,0===b.size||0===r))return b.clear(),r;for(let t=0;t<i;++t)if(b.has(e[t])&&(s&&s.push(e[t]),b.delete(e[t]),e[t]=e[r-1],--r,--t,0===b.size||0===r))return b.clear(),r;return b.clear(),r}function m(e,t){const r=e.indexOf(t);return-1!==r?(e.splice(r,1),t):null}function y(e,t){return null!=e}new n.Z},91460:(e,t,r)=>{"use strict";function n(e){return e&&("function"==typeof e.on||"function"==typeof e.addEventListener)}function o(e,t,r){if(!n(e))throw new TypeError("target is not a Evented or EventTarget object");if("on"in e)return e.on(t,r);if(Array.isArray(t)){const n=t.slice();for(const t of n)e.addEventListener(t,r);return{remove(){for(const t of n)e.removeEventListener(t,r)}}}return e.addEventListener(t,r),{remove(){e.removeEventListener(t,r)}}}function s(e,t,r){if(!n(e))throw new TypeError("target is not a Evented or EventTarget object");if("once"in e)return e.once(t,r);const s=o(e,t,(t=>{s.remove(),r.call(e,t)}));return{remove(){s.remove()}}}r.d(t,{IH:()=>s,on:()=>o,vT:()=>n})},80442:(e,t,r)=>{"use strict";let n;function o(e){return"function"==typeof n[e]?n[e]=n[e](globalThis):n[e]}r.d(t,{Z:()=>o}),n=globalThis.dojoConfig?.has||globalThis.esriConfig?.has?{...globalThis.dojoConfig?.has,...globalThis.esriConfig?.has}:{},o.add=(e,t,r,s)=>((s||void 0===n[e])&&(n[e]=t),r&&o(e)),o.cache=n,o.add("esri-deprecation-warnings",!0),o.add("esri-force-fullscreen-debug",!1),(()=>{o.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(o.add("host-browser",e),o.add("host-node","object"==typeof globalThis.process&&globalThis.process.versions?.node&&globalThis.process.versions.v8),o.add("dom",e),o("host-browser")){const e=navigator,t=e.userAgent,r=e.appVersion,n=parseFloat(r);if(o.add("wp",parseFloat(t.split("Windows Phone")[1])||void 0),o.add("msapp",parseFloat(t.split("MSAppHost/")[1])||void 0),o.add("khtml",r.includes("Konqueror")?n:void 0),o.add("edge",parseFloat(t.split("Edge/")[1])||void 0),o.add("opr",parseFloat(t.split("OPR/")[1])||void 0),o.add("webkit",!o("wp")&&!o("edge")&&parseFloat(t.split("WebKit/")[1])||void 0),o.add("chrome",!o("edge")&&!o("opr")&&parseFloat(t.split("Chrome/")[1])||void 0),o.add("android",!o("wp")&&parseFloat(t.split("Android ")[1])||void 0),o.add("safari",!r.includes("Safari")||o("wp")||o("chrome")||o("android")||o("edge")||o("opr")?void 0:parseFloat(r.split("Version/")[1])),o.add("mac",r.includes("Macintosh")),!o("wp")&&t.match(/(iPhone|iPod|iPad)/)){const e=RegExp.$1.replace(/P/,"p"),r=t.match(/OS ([\d_]+)/)?RegExp.$1:"1",n=parseFloat(r.replace(/_/,".").replace(/_/g,""));o.add(e,n),o.add("ios",n)}o("webkit")||(!t.includes("Gecko")||o("wp")||o("khtml")||o("edge")||o.add("mozilla",n),o("mozilla")&&o.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&&o.add("esri-mobile",t),r&&o.add("esri-iPhone",r),o.add("esri-geolocation",!!navigator.geolocation)}o.add("esri-wasm","WebAssembly"in globalThis),o.add("esri-shared-array-buffer",(()=>{const e="SharedArrayBuffer"in globalThis,t=!1===globalThis.crossOriginIsolated;return e&&!t})),o.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])))),o.add("esri-atomics","Atomics"in globalThis),o.add("esri-workers","Worker"in globalThis),o.add("web-feat:cache","caches"in globalThis),o.add("esri-workers-arraybuffer-transfer",!o("safari")||Number(o("safari"))>=12),o.add("workers-pool-size",8),o.add("featurelayer-simplify-thresholds",[.5,.5,.5,.5]),o.add("featurelayer-simplify-payload-size-factors",[1,1,4]),o.add("featurelayer-animation-enabled",!0),o.add("featurelayer-snapshot-enabled",!0),o.add("featurelayer-snapshot-point-min-threshold",8e4),o.add("featurelayer-snapshot-point-max-threshold",4e5),o.add("featurelayer-snapshot-point-coverage",.1),o.add("featurelayer-advanced-symbols",!1),o.add("featurelayer-pbf",!0),o.add("featurelayer-pbf-statistics",!1),o.add("feature-layers-workers",!0),o.add("feature-polyline-generalization-factor",1),o.add("mapview-transitions-duration",200),o.add("mapview-srswitch-adjust-rotation-scale-threshold",24e6),o.add("mapserver-pbf-version-support",10.81),o.add("mapservice-popup-identify-max-tolerance",20),o.add("heatmap-allow-raster-fallback",!1),o.add("heatmap-force-raster",!1),o("host-webworker")||o("host-browser")&&(o.add("esri-csp-restrictions",(()=>{try{new Function}catch{return!0}return!1})),o.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((()=>{o.add("esri-image-decode",!0,!0,!0)})).catch((()=>{o.add("esri-image-decode",!1,!0,!0)}))}return!1})),o.add("esri-url-encodes-apostrophe",(()=>{const e=window.document.createElement("a");return e.href="?'",e.href.includes("?%27")})))})()},22974:(e,t,r)=>{"use strict";r.d(t,{Vo:()=>a,d9:()=>i,fS:()=>h,tZ:()=>c,y7:()=>p,yd:()=>s});var n=r(67676),o=r(1533);function s(e,t){let r;if(t)for(r in e)e.hasOwnProperty(r)&&(void 0===e[r]?delete e[r]:e[r]instanceof Object&&s(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],o=a(n);if(null!=n&&null==o)return null;t[r]=o}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,o.W0)(e)||(0,o.lq)(e)||(0,o.KZ)(e)||(0,o.z3)(e)||(0,o.Uc)(e)||(0,o.Hx)(e)||(0,o.ZY)(e)||(0,o.xZ)(e)||(0,o.fS)(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.fS)(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))}},70586:(e,t,r)=>{"use strict";function n(e,t){return null!=e?t(e):null}function o(e,t){return s(e,t),e}function s(e,t){if(null==e)throw new Error(t??"value is None")}function i(e){return e?.destroy(),null}function a(e){return e?.dispose(),null}function c(e){return e?.remove(),null}function l(e){return e?.abort(),null}function u(e){return e?.release(),null}function f(e,t,r){return null!=e&&null!=t?null!=r?r(e,t):e.equals(t):e===t}function d(e){return null}function h(e,t){const r=new Array;for(const n of e)r.push(null!=n?t(n):null);return r}function p(e,t){for(const r of e)n(r,t)}function b(e){return e}r.d(t,{Fd:()=>h,IM:()=>l,JR:()=>p,M2:()=>a,O3:()=>s,RY:()=>u,SC:()=>i,_W:()=>f,hw:()=>c,j0:()=>b,s3:()=>o,wN:()=>d,yw:()=>n})},78286:(e,t,r)=>{"use strict";r.d(t,{RB:()=>i,RH:()=>o,hS:()=>s});var n=r(22974);function o(e,t,r=!1){return c(e,t,r)}function s(e,t){if(null!=t)return t[e]||a(e.split("."),!1,t)}function i(e,t,r){const n=e.split("."),o=n.pop(),s=a(n,!0,r);s&&o&&(s[o]=t)}function a(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 c(e,t,r){return t?Object.keys(t).reduce(((e,o)=>{let s=e[o],i=t[o];return s===i?e:void 0===s?(e[o]=(0,n.d9)(i),e):(Array.isArray(i)||Array.isArray(e)?(s=s?Array.isArray(s)?e[o]=s.concat():e[o]=[s]:e[o]=[],i&&(Array.isArray(i)||(i=[i]),r?i.forEach((e=>{s.includes(e)||s.push(e)})):e[o]=i.concat())):i&&"object"==typeof i?e[o]=c(s,i,r):e.hasOwnProperty(o)&&!t.hasOwnProperty(o)||(e[o]=i),e)}),e||{}):e}},95330:(e,t,r)=>{"use strict";r.d(t,{e4:()=>O,zE:()=>c,dD:()=>w,hh:()=>x,Ds:()=>P,as:()=>v,WW:()=>_,R8:()=>y,D_:()=>m,Hc:()=>f,y8:()=>k,fu:()=>p,$F:()=>b,r9:()=>d,k_:()=>l,H9:()=>h,Yn:()=>C,gx:()=>S,Hl:()=>g});const n=(o=globalThis,{setTimeout:(e,t)=>{const r=o.setTimeout(e,t);return{remove:()=>o.clearTimeout(r)}}});var o,s=r(20102),i=r(91460),a=(r(92604),r(70586));function c(e="Aborted"){return new s.Z("AbortError",e)}function l(e,t="Aborted"){if(f(e))throw c(t)}function u(e){return null!=e?"aborted"in e?e:e.signal:e}function f(e){const t=u(e);return null!=t&&t.aborted}function d(e){if(m(e))throw e}function h(e){if(!m(e))throw e}function p(e,t){const r=u(e);if(null!=r){if(!r.aborted)return(0,i.IH)(r,"abort",(()=>t()));t()}}function b(e,t){const r=u(e);if(null!=r)return l(r),(0,i.IH)(r,"abort",(()=>t(c())))}function g(e,t){return null==u(t)?e:new Promise(((r,n)=>{let o=p(t,(()=>n(c())));const s=()=>o=(0,a.hw)(o);e.then(s,s),e.then(r,n)}))}function m(e){return"AbortError"===e?.name}async function y(e){try{return await e}catch(e){if(!m(e))throw e;return}}function w(){let e=null;const t=new Promise(((t,r)=>{e={promise:void 0,resolve:t,reject:r}}));return e.promise=t,e}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),o={};return t.map(((e,t)=>o[e]=n[t])),o}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 _(e){return(await v(e)).filter((e=>!!e.value)).map((e=>e.value))}function O(e,t=undefined,r){const n=new AbortController;return p(r,(()=>n.abort())),new Promise(((r,o)=>{let s=setTimeout((()=>{s=0,r(t)}),e);p(n,(()=>{s&&(clearTimeout(s),o(c()))}))}))}function k(e){return e&&"function"==typeof e.then}function S(e){return k(e)?e:Promise.resolve(e)}function P(e,t=-1){let r,n,o,s,i=null;const l=(...u)=>{if(r){n=u,s&&s.reject(c()),s=w();const e=(0,a.j0)(s.promise);if(i){const e=i;i=null,e.abort()}return e}if(o=s||w(),s=null,t>0){const n=new AbortController;r=S(e(...u,n.signal));const o=r;O(t).then((()=>{r===o&&(s?n.abort():i=n)}))}else r=1,r=S(e(...u));const f=()=>{const e=n;n=o=r=i=null,null!=e&&l(...e)},d=r,h=o;return d.then(f,f),d.then(h.resolve,h.reject),(0,a.j0)(h.promise)};return l}function x(){let e,t;const r=new Promise(((r,n)=>{e=r,t=n})),o=t=>{e(t)};return o.resolve=t=>e(t),o.reject=e=>t(e),o.timeout=(e,t)=>n.setTimeout((()=>o.reject(t)),e),o.promise=r,o}async function C(e){await Promise.resolve(),l(e)}},19153:(e,t,r)=>{"use strict";r.d(t,{Cb:()=>l,Qs:()=>a,gx:()=>i,hP:()=>c});var n=r(78286);const o=/\{([^\}]+)\}/g;function s(e){return e??""}function i(e,t){return e.replace(o,"object"==typeof t?(e,r)=>s((0,n.hS)(r,t)):(e,r)=>s(t(r)))}function a(e,t){return e.replace(/([\.$?*|{}\(\)\[\]\\\/\+\-^])/g,(e=>t&&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}function l(e){return(new DOMParser).parseFromString(e||"","text/html").body.innerText||""}},1533:(e,t,r)=>{"use strict";function n(e){return e instanceof ArrayBuffer}function o(e){return"Int8Array"===e?.constructor?.name}function s(e){return"Uint8Array"===e?.constructor?.name}function i(e){return"Uint8ClampedArray"===e?.constructor?.name}function a(e){return"Int16Array"===e?.constructor?.name}function c(e){return"Uint16Array"===e?.constructor?.name}function l(e){return"Int32Array"===e?.constructor?.name}function u(e){return"Uint32Array"===e?.constructor?.name}function f(e){return"Float32Array"===e?.constructor?.name}function d(e){return"Float64Array"===e?.constructor?.name}function h(e){return!("buffer"in e)}function p(e){return null!=e?h(e)?8*e.length+12:e.byteLength+145:0}r.d(t,{B3:()=>g,DB:()=>b,Hx:()=>l,KZ:()=>i,Op:()=>y,Q7:()=>m,Uc:()=>c,W0:()=>o,Xw:()=>p,ZY:()=>u,eP:()=>n,fS:()=>d,kJ:()=>h,lq:()=>s,xZ:()=>f,z3:()=>a}),r(80442);const b=1024;function g(e){return d(e)||f(e)||l(e)||a(e)||o(e)}function m(e){return d(e)||f(e)}function y(e){return d(e)?179769e303:f(e)?3402823e32:u(e)?4294967295:c(e)?65535:s(e)||i(e)?255:l(e)?2147483647:a(e)?32767:o(e)?127:256}},17452:(e,t,r)=>{"use strict";r.d(t,{$U:()=>ae,AH:()=>Y,B7:()=>T,D6:()=>q,Fv:()=>D,HK:()=>G,Hu:()=>ge,IR:()=>_e,Ie:()=>pe,L:()=>P,Ml:()=>we,P$:()=>K,PF:()=>Z,Qj:()=>he,R9:()=>v,TI:()=>S,YP:()=>Q,Yd:()=>fe,ZN:()=>me,Zo:()=>U,_l:()=>re,b7:()=>E,ed:()=>I,fZ:()=>ve,fl:()=>ye,fw:()=>ne,hF:()=>F,hO:()=>ce,io:()=>oe,jc:()=>V,kl:()=>B,mN:()=>x,oC:()=>se,oh:()=>J,qg:()=>A,rS:()=>X,sJ:()=>te,tD:()=>R,tm:()=>L,u0:()=>C,v_:()=>z,vt:()=>de});var n=r(68773),o=r(67676),s=r(20102),i=r(92604),a=r(70586),c=r(19745);const l=i.Z.getLogger("esri.core.urlUtils"),u=n.Z.request,f="esri/config: esriConfig.request.proxyUrl is not set.",d=/^\s*[a-z][a-z0-9-+.]*:(?![0-9])/i,h=/^\s*http:/i,p=/^\s*https:/i,b=/^\s*file:/i,g=/:\d+$/,m=/^https?:\/\/[^/]+\.arcgis.com\/sharing(\/|$)/i,y=new RegExp("^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$"),w=new RegExp("^((([^\\[:]+):)?([^@]+)@)?(\\[([^\\]]+)\\]|([^\\[:]*))(:([0-9]+))?$");class v{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=(0,a.j0)(this.uri.match(y));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=(0,a.j0)(this.authority.match(w)),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 _={};let O=new v(n.Z.applicationUrl);let k=function(){const e=(0,a.j0)(O.path),t=e.substring(0,e.lastIndexOf(e.split("/")[e.split("/").length-1]));return`${O.scheme}://${O.host}${null!=O.port?`:${O.port}`:""}${t}`}();const S=()=>O,P=()=>k;function x(e){if(!e)return null;const t={path:null,query:null},r=new v(e),n=e.indexOf("?");return null===r.query?t.path=e:(t.path=e.substring(0,n),t.query=C(r.query)),r.fragment&&(t.hash=r.fragment,null===r.query&&(t.path=t.path.substring(0,t.path.length-(r.fragment.length+1)))),t}function C(e){const t=e.split("&"),r={};for(const e of t){if(!e)continue;const t=e.indexOf("=");let n,o;t<0?(n=decodeURIComponent(e),o=""):(n=decodeURIComponent(e.slice(0,t)),o=decodeURIComponent(e.slice(t+1)));let s=r[n];"string"==typeof s&&(s=r[n]=[s]),Array.isArray(s)?s.push(o):r[n]=o}return r}function j(e){return e&&"object"==typeof e&&"toJSON"in e&&"function"==typeof e.toJSON}function T(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 o=encodeURIComponent(r)+"=",s=t&&t[r];return s?o+encodeURIComponent(s(n)):Array.isArray(n)?n.map((e=>j(e)?o+encodeURIComponent(JSON.stringify(e)):o+encodeURIComponent(e))).join("&"):j(n)?o+encodeURIComponent(JSON.stringify(n)):o+encodeURIComponent(n)})).filter((e=>e)).join("&"):""}function E(e=!1){let t,r=u.proxyUrl;if("string"==typeof e){t=ae(e);const n=I(e);n&&(r=n.proxyUrl)}else t=!!e;if(!r)throw l.warn(f),new s.Z("urlutils:proxy-not-set",f);return t&&le()&&(r=ce(r)),x(r)}function A(e){const t=I(e);let r,n;if(t){const e=N(t.proxyUrl);r=e.path,n=e.query?C(e.query):null}if(r){const t=x(e);e=r+"?"+t.path;const o=T({...n,...t.query});o&&(e=`${e}?${o}`)}return e}const M={path:"",query:""};function N(e){const t=e.indexOf("?");return-1!==t?(M.path=e.slice(0,t),M.query=e.slice(t+1)):(M.path=e,M.query=null),M}function $(e){return(e=ue(e=function(e){return e&&"/"===e[e.length-1]?e:`${e}/`}(e=N(e).path),!0)).toLowerCase()}function R(e){const t={proxyUrl:e.proxyUrl,urlPrefix:$(e.urlPrefix)},r=u.proxyRules,n=t.urlPrefix;let o=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;o=e;break}0===t.indexOf(n)&&(o=e+1)}return r.splice(o,0,t),o}function I(e){const t=u.proxyRules,r=$(e);for(let e=0;e<t.length;e++)if(0===r.indexOf(t[e].urlPrefix))return t[e]}function U(e,t){if(!e||!t)return!1;e=W(e),t=W(t);const r=(0,c.a)(e),n=(0,c.a)(t);return null!=r&&null!=n?r.portalHostname===n.portalHostname:null==r&&null==n&&q(e,t,!0)}function L(e,t){return e=W(e),t=W(t),ue(e)===ue(t)}function W(e){const t=(e=D(e)).indexOf("/sharing");return t>0?e.substring(0,t):e.replace(/\/+$/,"")}function J(e){const t=t=>null==t||t instanceof RegExp&&t.test(e)||"string"==typeof t&&e.startsWith(t),r=u.interceptors;if(r)for(const e of r)if(Array.isArray(e.urls)){if(e.urls.some(t))return e}else if(t(e.urls))return e;return null}function q(e,t,r=!1){if(!e||!t)return!1;const n=be(e),o=be(t);return!(!r&&n.scheme!==o.scheme)&&null!=n.host&&null!=o.host&&n.host.toLowerCase()===o.host.toLowerCase()&&n.port===o.port}function B(e){if("string"==typeof e){if(!Q(e))return!0;e=be(e)}if(q(e,O))return!0;const t=u.trustedServers||[];for(let r=0;r<t.length;r++){const n=H(t[r]);for(let t=0;t<n.length;t++)if(q(e,n[t]))return!0}return!1}function H(e){return _[e]||(ie(e)||se(e)?_[e]=[new v(F(e))]:_[e]=[new v(`http://${e}`),new v(`https://${e}`)]),_[e]}function F(e,t=k,r){return se(e)?r&&r.preserveProtocolRelative?e:"http"===O.scheme&&O.authority===K(e).slice(2)?`http:${e}`:`https:${e}`:ie(e)?e:(0,a.j0)(z("/"===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 Z(e,t=k,r){if(null==e||!Q(e))return e;const n=D(e),o=n.toLowerCase(),s=D(t).toLowerCase().replace(/\/+$/,""),i=r?D(r).toLowerCase().replace(/\/+$/,""):null;if(i&&0!==s.indexOf(i))return e;const a=(e,t,r)=>-1===(r=e.indexOf(t,r))?e.length:r;let c=a(o,"/",o.indexOf("//")+2),l=-1;for(;o.slice(0,c+1)===s.slice(0,c)+"/"&&(l=c+1,c!==o.length);)c=a(o,"/",c+1);if(-1===l)return e;if(i&&l<i.length)return e;e=n.slice(l);const u=s.slice(l-1).replace(/[^/]+/g,"").length;if(u>0)for(let t=0;t<u;t++)e=`../${e}`;else e=`./${e}`;return e}function D(e){return function(e){const t=u.httpsDomains;if(!function(e){return null!=e&&h.test(e)||"http"===O.scheme&&se(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),g.test(n)){if(!n.endsWith(":80"))return e;n=n.slice(0,-3),e=e.replace(":80","")}return"http"===O.scheme&&n===O.authority&&!m.test(e)||(le()&&n===O.authority||t&&t.some((e=>n===e||n.endsWith(`.${e}`)))||le()&&!I(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=N(e);e=(e=t.path.replace(/\/{2,}/g,"/")).replace("/","//"),t.query&&(e+=`?${t.query}`)}return e}(e=F(e=e.trim()))))}function z(...e){const t=e.filter(o.pC);if(!t||!t.length)return;const r=[];if(Q(t[0])){const e=t[0],n=e.indexOf("//");-1!==n&&(r.push(e.slice(0,n+1)),function(e){return null!=e&&b.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 K(e,t=!1){if(null==e||V(e)||G(e))return null;let r=e.indexOf("://");if(-1===r&&se(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 Q(e){return se(e)||ie(e)}function V(e){return null!=e&&"blob:"===e.slice(0,5)}function G(e){return null!=e&&"data:"===e.slice(0,5)}function Y(e){const t=te(e);if(!t||!t.isBase64)return null;const r=atob(t.data),n=new Uint8Array(r.length);for(let e=0;e<r.length;e++)n[e]=r.charCodeAt(e);return n.buffer}function X(e){return btoa(String.fromCharCode.apply(null,e)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}const ee=/^data:(.*?)(;base64)?,(.*)$/;function te(e){const t=e.match(ee);if(!t)return null;const[,r,n,o]=t;return{mediaType:r,isBase64:!!n,data:o}}function re(e){return e.isBase64?`data:${e.mediaType};base64,${e.data}`:`data:${e.mediaType},${e.data}`}function ne(e){const t=Y(e);if(!t)return null;const r=te(e);return new Blob([t],{type:r.mediaType})}function oe(e,t){!function(e,t){if(!e)return!1;const r=document.createElement("a");if(!("download"in r))return!1;const n=URL.createObjectURL(e);r.download=t,r.href=n,r.style.display="none",document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(n)}(e,t)}function se(e){return null!=e&&"/"===e[0]&&"/"===e[1]}function ie(e){return null!=e&&d.test(e)}function ae(e){return null!=e&&p.test(e)||"https"===O.scheme&&se(e)}function ce(e){return se(e)?`https:${e}`:e.replace(h,"https:")}function le(){return"https"===O.scheme}function ue(e,t=!1){return se(e)?e.slice(2):(e=e.replace(d,""),t&&e.length>1&&"/"===e[0]&&"/"===e[1]&&(e=e.slice(2)),e)}function fe(e){let t=0;if(Q(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=x(e).path.replace(/\/+$/,""),n=r.substring(r.lastIndexOf("/")+1);if(!t?.length)return n;const o=new RegExp(`.(${t.join("|")})$`,"ig");return n.replace(o,"")}function he(e){return e.replace(/\/+$/,"")}function pe(e,t,r){if(!(t&&r&&e&&Q(e)))return e;const n=e.indexOf("//"),o=e.indexOf("/",n+2),s=e.indexOf(":",n+2),i=Math.min(o<0?e.length:o,s<0?e.length:s);return e.slice(n+2,i).toLowerCase()!==t.toLowerCase()?e:`${e.slice(0,n+2)}${r}${e.slice(i)}`}function be(e){return"string"==typeof e?new v(F(e)):(e.scheme||(e.scheme=O.scheme),e)}function ge(e,t){const r=x(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 me(e,t,r){const n=x(e),o=n.query||{};return o[t]=String(r),`${n.path}?${T(o)}`}function ye(e,t){const r=x(e),n=r.query||{};for(const e in t)n[e]=t[e];const o=T(n);return o?`${r.path}?${o}`:r.path}function we(e){if(null==e)return null;const t=e.match(Oe);return t?t[2]:null}function ve(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 _e(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=/([^.]*)\.([^\/]*)$/},728:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>y});var n=r(40330),o=r(20102),s=r(91460),i=r(70586),a=r(95330);const c={statsWorker:()=>Promise.all([r.e(1400),r.e(3215),r.e(3847),r.e(6841)]).then(r.bind(r,36841)),geometryEngineWorker:()=>Promise.all([r.e(5837),r.e(8227)]).then(r.bind(r,48227)),CSVSourceWorker:()=>Promise.all([r.e(7126),r.e(4547),r.e(1400),r.e(1534),r.e(3215),r.e(8732),r.e(3847),r.e(3298),r.e(8429),r.e(142)]).then(r.bind(r,27793)),EdgeProcessingWorker:()=>Promise.all([r.e(6481),r.e(7681),r.e(7763)]).then(r.bind(r,49594)),ElevationSamplerWorker:()=>Promise.all([r.e(4547),r.e(1400),r.e(3215),r.e(6481),r.e(6459),r.e(7628)]).then(r.bind(r,61787)),FeatureServiceSnappingSourceWorker:()=>Promise.all([r.e(7126),r.e(4165),r.e(4547),r.e(1400),r.e(1534),r.e(3215),r.e(4599),r.e(8732),r.e(3847),r.e(3298),r.e(8429),r.e(3660)]).then(r.bind(r,65967)),GeoJSONSourceWorker:()=>Promise.all([r.e(7126),r.e(4547),r.e(1400),r.e(1534),r.e(3215),r.e(8732),r.e(3847),r.e(3298),r.e(8429),r.e(3594),r.e(7845)]).then(r.bind(r,97845)),LercWorker:()=>r.e(3027).then(r.bind(r,23027)),MemorySourceWorker:()=>Promise.all([r.e(7126),r.e(4547),r.e(1400),r.e(1534),r.e(3215),r.e(8732),r.e(3847),r.e(3298),r.e(8429),r.e(3594),r.e(639)]).then(r.bind(r,30639)),PBFDecoderWorker:()=>Promise.all([r.e(1400),r.e(3215),r.e(8732),r.e(1916)]).then(r.bind(r,61916)),Pipeline:()=>Promise.all([r.e(7126),r.e(1223),r.e(4165),r.e(4547),r.e(1400),r.e(1534),r.e(3215),r.e(4599),r.e(8732),r.e(3847),r.e(3298),r.e(8429),r.e(4325),r.e(1482),r.e(7303)]).then(r.bind(r,16142)),PointCloudWorker:()=>Promise.all([r.e(4547),r.e(1400),r.e(3215),r.e(8643),r.e(7035)]).then(r.bind(r,90447)),RasterWorker:()=>Promise.all([r.e(4547),r.e(1400),r.e(3215),r.e(6610),r.e(5604),r.e(3005)]).then(r.bind(r,61576)),SceneLayerSnappingSourceWorker:()=>Promise.all([r.e(7126),r.e(4547),r.e(1400),r.e(1534),r.e(3215),r.e(8732),r.e(3847),r.e(3298),r.e(6481),r.e(7681),r.e(2472)]).then(r.bind(r,73248)),SceneLayerWorker:()=>r.e(1412).then(r.bind(r,31412)),WFSSourceWorker:()=>Promise.all([r.e(7126),r.e(4547),r.e(1400),r.e(1534),r.e(3215),r.e(8732),r.e(3847),r.e(3298),r.e(8429),r.e(3594),r.e(3230)]).then(r.bind(r,43230)),WorkerTileHandler:()=>Promise.all([r.e(4325),r.e(1785),r.e(4982),r.e(6188)]).then(r.bind(r,56456))};var l=r(94362),u=r(17202);const{CLOSE:f,ABORT:d,INVOKE:h,RESPONSE:p,OPEN_PORT:b,ON:g}=l.Cs;class m{constructor(e){this._timer=null,this._cancelledJobIds=new Set,this._invokeMessages=[],this._invoke=e,this._timer=null,this._process=this._process.bind(this)}push(e){e.type===l.Cs.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 y{static connect(e){const t=new MessageChannel;let r;r="function"==typeof e?new e:"default"in e&&"function"==typeof e.default?new e.default:e;const n=new y(t.port1,{channel:t,client:r},(()=>null));return"object"==typeof r&&"remoteClient"in r&&(r.remoteClient=n),y.clients.set(n,r),t.port2}static loadWorker(e){const t=c[e];return t?t():Promise.resolve(null)}constructor(e,t,r){this._port=e,this._getNextJob=r,this._outJobs=new Map,this._inJobs=new Map,this._invokeQueue=new m((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:f}),this._close()}isBusy(){return this._outJobs.size>0}invoke(e,t,r){const n=r?.signal,s=r?.transferList;if(!this._port)return Promise.reject(new o.Z("worker:port-closed",`Cannot call invoke('${e}'), port is closed`,{methodName:e,data:t}));const c=(0,l.jt)();return new Promise(((r,o)=>{if((0,a.Hc)(n))return this._processWork(),void o((0,a.zE)());const l=(0,a.fu)(n,(()=>{const e=this._outJobs.get(c);e&&(this._outJobs.delete(c),this._processWork(),(0,i.hw)(e.abortHandle),this._post({type:d,jobId:c}),o((0,a.zE)()))})),u={resolve:r,reject:o,abortHandle:l,debugInfo:e};this._outJobs.set(c,u),this._post({type:h,jobId:c,methodName:e,abortable:null!=n},t,s)}))}on(e,t){const r=new MessageChannel;function n(e){t(e.data)}return this._port.postMessage({type:l.Cs.ON,eventType:e,port:r.port2},[r.port2]),r.port1.addEventListener("message",n),r.port1.start(),{remove(){r.port1.postMessage({type:l.Cs.CLOSE}),r.port1.close(),r.port1.removeEventListener("message",n)}}}jobAdded(){this._processWork()}openPort(){const e=new MessageChannel;return this._post({type:b,port:e.port2}),e.port1}_processWork(){if(this._outJobs.size>=2)return;const e=this._getNextJob();if(!e)return;const{methodName:t,data:r,invokeOptions:n,deferred:o}=e;this.invoke(t,r,n).then((e=>o.resolve(e))).catch((e=>o.reject(e)))}_close(){this._channel&&(this._channel=void 0),this._port.removeEventListener("message",this._onMessage),this._port.close(),this._outJobs.forEach((e=>{(0,i.hw)(e.abortHandle),e.reject((0,a.zE)(`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))):this._processMessage(e)}_processMessage(e){const t=(0,l.QM)(e);if(t)switch(t.type){case p:this._onResponseMessage(t);break;case h:this._invokeQueue.push(t);break;case d:this._onAbortMessage(t);break;case f:this._onCloseMessage();break;case b:this._onOpenPortMessage(t);break;case g:this._onOnMessage(t)}}_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&&y.clients.get(this)===e&&e.destroy(),y.clients.delete(this),e?.remoteClient&&(e.remoteClient=null)}_onInvokeMessage(e){const{methodName:t,jobId:r,data:n,abortable:o}=e,s=o?new AbortController:null,i=this._inJobs;let c,u=this._client,f=u[t];try{if(!f&&t&&t.includes(".")){const e=t.split(".");for(let t=0;t<e.length-1;t++)u=u[e[t]],f=u[e[t+1]]}if("function"!=typeof f)throw new TypeError(`${t} is not a function`);c=f.call(u,n,{client:this,signal:s?s.signal:null})}catch(e){return void this._post({type:p,jobId:r,error:(0,l.AB)(e)})}(0,a.y8)(c)?(i.set(r,{controller:s,promise:c}),c.then((e=>{i.has(r)&&(i.delete(r),this._post({type:p,jobId:r},e))}),(e=>{i.has(r)&&(i.delete(r),(0,a.D_)(e)||this._post({type:p,jobId:r,error:(0,l.AB)(e||{message:`Error encountered at method ${t}`})}))}))):this._post({type:p,jobId:r},c)}_onOpenPortMessage(e){new y(e.port,{client:this._client},(()=>null))}_onOnMessage(e){const{port:t}=e,r=this._client.on(e.eventType,(e=>{t.postMessage(e)})),n=(0,s.on)(e.port,"message",(e=>{const o=(0,l.QM)(e);o?.type===l.Cs.CLOSE&&(n.remove(),r.remove(),t.close())}))}_onResponseMessage(e){const{jobId:t,error:r,data:n}=e,s=this._outJobs;if(!s.has(t))return;const a=s.get(t);s.delete(t),this._processWork(),(0,i.hw)(a.abortHandle),r?a.reject(o.Z.fromJSON(JSON.parse(r))):a.resolve(n)}_post(e,t,r){return(0,l.oi)(this._port,e,t,r)}}y.kernelInfo={buildDate:u.r,fullVersion:n.bR,revision:u.$},y.clients=new Map},94362:(e,t,r)=>{"use strict";r.d(t,{AB:()=>a,Cs:()=>n,QM:()=>l,jt:()=>i,oi:()=>c});var n,o=r(80442);!function(e){e[e.HANDSHAKE=0]="HANDSHAKE",e[e.OPEN=1]="OPEN",e[e.OPENED=2]="OPENED",e[e.RESPONSE=3]="RESPONSE",e[e.INVOKE=4]="INVOKE",e[e.ABORT=5]="ABORT",e[e.CLOSE=6]="CLOSE",e[e.OPEN_PORT=7]="OPEN_PORT",e[e.ON=8]="ON"}(n||(n={}));let s=0;function i(){return s++}function a(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 c(e,t,r,s){if(t.type===n.OPEN_PORT)return void e.postMessage(t,[t.port]);if(t.type!==n.INVOKE&&t.type!==n.RESPONSE)return void e.postMessage(t);let i;if(function(e){return e&&"object"==typeof e&&("result"in e||"transferList"in e)}(r)?(i=u(r.transferList),t.data=r.result):(i=u(s),t.data=r),i){if((0,o.Z)("ff"))for(const r of i)if("byteLength"in r&&r.byteLength>267386880){const r="Worker call with large ArrayBuffer would crash Firefox";switch(t.type){case n.INVOKE:throw r;case n.RESPONSE:return void c(e,{type:n.RESPONSE,jobId:t.jobId,error:a(r)})}}e.postMessage(t,i)}else e.postMessage(t)}function l(e){if(!e)return null;const t=e.data;return t?"string"==typeof t?JSON.parse(t):t:null}function u(e){if(!e||!e.length)return null;if((0,o.Z)("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}},40330:(e,t,r)=>{"use strict";r.d(t,{Dp:()=>f,Nv:()=>c,bR:()=>a,i8:()=>i,id:()=>l,qh:()=>u});var n=r(80442),o=r(17452),s=r(17202);const i="4.27";let a=i;a=`4.27.0-next.${s.r}`;const c={async request(e,t){const{default:n}=await r.e(3172).then(r.bind(r,3172)),s=e.options,i=s.responseType;s.signal=t?.signal,s.responseType="native"===i||"native-request-init"===i?"native-request-init":i&&["blob","json","text"].includes(i)&&(0,o.oh)(e.url)?.after?i:"array-buffer";const a=await n(e.url,s),c={data:a.data,httpStatus:a.httpStatus,ssl:a.ssl};switch(a.requestOptions?.responseType){case"native-request-init":return delete c.data.signal,c;case"blob":c.data=await c.data.arrayBuffer();break;case"json":c.data=(new TextEncoder).encode(JSON.stringify(c.data)).buffer;break;case"text":c.data=(new TextEncoder).encode(c.data).buffer}return{result:c,transferList:[c.data]}}};let l;function u(e){l=e}function f(e){const t=l?.findCredential(e);return t?.token?(0,o.ZN)(e,"token",t.token):e}(0,n.Z)("host-webworker")},19745:(e,t,r)=>{"use strict";r.d(t,{P:()=>i,a:()=>s});const n=/^https:\/\/([a-z\d-]+)(\.maps([^.]*))?\.arcgis\.com/i,o={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 s(e){const t=e?.match(n);if(!t)return null;const[,r,s,i]=t;if(!r)return null;let a=null,c=null,l=null;const{devext:u,qaext:f,www:d}=o;if(s)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)}},17202:(e,t,r)=>{"use strict";r.d(t,{$:()=>o,r:()=>n});const n="20230407",o="cc182ba01f6ebb1adf6d18b9c7c669d5740b43a2"}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var s=t[n]={exports:{}};return e[n](s,s.exports,r),s.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/"+{24:"db3df4f42c72ed48c527",81:"db5598944b691e43f13e",142:"075aef0ea127a96312a3",163:"3dc2658836cc7733da61",223:"75430373d458bdf96dcb",237:"f5beba20a571f975373b",247:"a9f83bbccf3b5f229262",338:"5b7861f338049a68a538",450:"365c581d606135a59ba0",540:"fcec1e27531633cfc99c",565:"f5b6d2b8c8a333bbebdc",576:"5ec4fedbbcbb0053cf74",632:"6412be94b716e8ec5dc1",639:"de082f85b7e11f8a0b3c",719:"ce84135e361e2d2294db",723:"a5da3a36ccd9bc5f0d3f",739:"776b76ee275a41fff456",819:"d1ead6e8aa7e8e21fbc6",908:"353e5b283e0f4416684a",911:"d9ef4891c8b0bdd90f5b",1073:"d0d9dcf9a06762087f08",1074:"1b5dce4654bf7a2b54d3",1158:"803e81ff317e3082ebd5",1194:"d72c0c97cc4e30f1e4f2",1223:"e7d5e22065218ac436a9",1227:"2a6902994fc7c104d76e",1400:"873cf4d1708d7ae22afa",1412:"a624b66576e6eaf4467d",1421:"ccc6b52fc947bab574ac",1423:"27353056c3e4e8d8b8d3",1433:"4d5bdf18feeb9c8cb6ff",1444:"a1f043dff7953d6dccc7",1482:"622139ef8f7181e48cd0",1534:"1b6ae140a9bee1c166d1",1537:"aebc5091bd4159197ce0",1785:"be2e5b454b7f1ccda9a7",1790:"a8f094ca487bd794f766",1916:"2640204c4655aa535ccb",1984:"324c7064ac8c456c9be7",2134:"80d335bec34d60b7bbdc",2156:"65d24661919c2423ba98",2462:"2dc876bf9edccddbb835",2472:"c84a1acb165ab8bcf850",2664:"2ab191aab5b3ea3109fa",2763:"fcf9d94c39479a0e0ad7",2855:"33a814bbdc0ee50330de",3005:"7b8c7d69da5454d43456",3027:"f4d0d07cfd493ec48f87",3172:"99bfa5cbad8059c53fdd",3215:"d09195419c72d9fa06c3",3230:"3cd193132f08ac277fc0",3298:"913f2337f2e83f9c073d",3381:"5bae7057b4472cde9d78",3529:"801b5d79422028469006",3594:"7570ec6a64a88ddc0fdd",3660:"8de6d64d15240a166ab9",3668:"525a623d59ed68593a3d",3847:"20f6d39848aeef92f540",3852:"d4338bc4a99b71c44dc2",3974:"cd0f8fe877532c0a1fe6",3992:"b68f207f29808c1d8eb4",4165:"ec772bcb4dd0fad8b7ef",4166:"a456548053a703e3702b",4286:"c35e921b4f2392d65f8d",4325:"ce4c3c7cf9c672c2ff0b",4358:"6788d0654735201cb07a",4371:"bedb5d399dbeff7526ba",4475:"778ecf61f07dafc51bbc",4499:"f97111dc740e0d32334a",4547:"666e6bdca88a48b0f609",4599:"a2969ddd0769be471ed0",4609:"83d30e558c8d7cae150a",4695:"d480787952585f3297df",4720:"0761672964d9decc5dc3",4729:"859fbe82c137172edcac",4982:"31299c139d4dadc065b1",5004:"f952a504b076c71e10ae",5115:"e9ecfd3ee78492b797cd",5132:"d1c0b27bd611912406cb",5159:"80c95f43f982eab0e2ae",5235:"8438d67217158e2f3098",5329:"0e21e5b4d065567a6a91",5546:"3125061c8dfd69e1ae3b",5587:"282bc00ce0767c90a072",5590:"50f929d9453fb058cf47",5604:"bcd79124744cd3682c78",5638:"5a25079cd79e90757cb1",5642:"979ea2e3b1b164334634",5660:"5252f3cc244204edc299",5837:"c419a26e2b7d20d99cef",5853:"7cfb6223fb4ca9f30623",5935:"60a08ce29d09cb07ef06",6188:"ab37d5490f0677009e23",6233:"ce0d279b75b597988e71",6237:"8a7fa4e8b0d14da7c9eb",6261:"a5c33b24b7ee042cb473",6368:"2b1f28ed6a308359e9ef",6459:"3a061c9e5597fd7643ec",6481:"f6c39edd04cb96d98240",6502:"8f553ae2f1aba4e0371f",6565:"96e9fa7afb1961354419",6584:"87b55ff95167ad944649",6610:"d2ffa54b2b98823da8d7",6695:"5e3079b3666df3a9d235",6710:"597f73478dfd73a52d6e",6748:"c72be2fe05533b46cb33",6774:"7d0cba1e10523a27af3e",6841:"8cd33aefd6e29cff1537",6935:"52c7478aad62c632e10d",7035:"89ca535589b325c79724",7126:"e0499f45b098450b80b4",7202:"b86f9181eb82a8917511",7277:"05ccf4b9dd618bbf7fde",7303:"1d1b9856f2f44d0c2144",7316:"8cf33863b778a6312ed4",7374:"4c175664eb97689d66b0",7391:"fdbc08b9da415b9b4447",7476:"609124ccbeead2627cdd",7483:"edefb561c03a60f086bc",7628:"17a989e25c7fb9a80b72",7681:"b7fb6bcb6b42c6752e09",7697:"f115086971b329d840b6",7763:"f673bfdd286a031887aa",7845:"d0cbc15d6af43232530f",7873:"9bac27976e7a71268b7b",8008:"7e86e0b7791479b73788",8062:"9151acbda67592af63f6",8079:"d0f4e2a2c20907d6a843",8092:"f1b26b73101210b8f29c",8096:"0eb26c0191d624b9a128",8153:"f9f1bbd7930100e84e50",8227:"1c9fff56d6e1cc3df63f",8244:"70f277ab2fa00f0878aa",8429:"947770d8d9f98e3bd207",8510:"a6240bf258b3886a6661",8598:"c97dd52fb06a8bf62b6f",8636:"6d42e4f51e4f97bc45da",8643:"b1a8024bf8cdd0cd3884",8732:"eb3cbfe51627f89c347f",8758:"61a843d4b8382d763d23",8828:"edb4568fe281b5609092",8865:"fc091acef5264bacd97f",9157:"a2c9cb23f3e35e88da1d",9169:"4b6a903d4aeeb4eeb615",9238:"6f67ea380ad67cd774e9",9243:"6c519c5a474f51f37af0",9291:"514346a7831c08ec7c1e",9296:"1544568c32b0ed0fd788",9393:"8c614117d9c653cb629c",9408:"8ebda132068f6b962dd9",9538:"aa4640a0207e0be224e2",9675:"477a69e55ce6f7111ae7",9771:"c260ac058e63a5c0cf60",9790:"eb163a2ddeb27c690308",9880:"1b5bdd80db9a1a410ff8",9884:"8cc8d88e5dd1e586eb04",9904:"e8df43c1af128522b2e0",9942:"497eaf22b2ab81e644c5",9971:"1cdc14124617923b5c61"}[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&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");n.length&&(e=n[n.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),r.p=e})(),(()=>{var e={134: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[o,s,i]=t;for(var a in s)r.o(s,a)&&(r.m[a]=s[a]);for(i&&i(r);o.length;)e[o.pop()]=1;n(t)}})(),r(88277);var n=r(728);RemoteClient=n})();
|
|
1
|
+
var RemoteClient;(()=>{var e={88277:(e,t,r)=>{r.p=self.esriConfig.assetsPath+"/esri/core/workers/"},68773:(e,t,r)=>{"use strict";r.d(t,{Z:()=>s}),r(80442);var n=r(78286),o=r(17202);const s={analysisTheme:{accentColor:[255,128,0],textColor:"white"},apiKey:void 0,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:!1,portalUrl:"https://www.arcgis.com",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:[],maxUrlLength:2e3,priority:"high",proxyRules:[],proxyUrl:null,timeout:6e4,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};if(globalThis.esriConfig&&((0,n.RH)(s,globalThis.esriConfig,!0),delete s.has),!s.assetsPath){{const e="4.27.0";s.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@${e}-next.${o.r}/assets`}s.defaultAssetsPath=s.assetsPath}},20102:(e,t,r)=>{"use strict";r.d(t,{Z:()=>i});var n=r(22974),o=r(92604),s=r(58896);class i extends s.Z{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.d9)(t)}catch(e){return"[object]"}})))}}catch(e){throw o.Z.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"},92604:(e,t,r)=>{"use strict";r.d(t,{Z:()=>i});var n=r(68773),o=(r(80442),r(19153));const s={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[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(){const e=this;return{loggedMessages:e._loggedMessages,clearLoggedWarnings:()=>e._loggedMessages.warn.clear()}}static get testSingleton(){return{resetLoggers(e={}){const t=i._loggers;return i._loggers=e,t},set throttlingDisabled(e){i._throttlingDisabled=e}}}static getLogger(e){let t=i._loggers[e];return t||(t=new i({module:e})),t}_log(e,t,...r){if(this._matchLevel(e)){if("always"!==t&&!i._throttlingDisabled){const n=this._argsToKey(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.Z.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",this._consoleWriter)}_consoleWriter(e,t,...r){console[e](`[${t}]`,...r)}_matchLevel(e){const t=n.Z.log.level||"warn";return s[this._parentWithMember("level",t)]<=s[e]}_argsToKey(...e){return(0,o.hP)(JSON.stringify(e,((e,t)=>"object"!=typeof t||Array.isArray(t)?t:"[Object]")))}static _scheduleTickCounterIncrement(){i._tickCounterScheduled||(i._tickCounterScheduled=!0,Promise.resolve().then((()=>{i._tickCounter++,i._tickCounterScheduled=!1})))}}i._loggers={},i._tickCounter=0,i._tickCounterScheduled=!1,i._throttlingDisabled=!1},58896:(e,t,r)=>{"use strict";r.d(t,{Z:()=>o});var n=r(78286);class o{constructor(e,t,r){this.name=e,this.details=r,this.message=(t&&function(e,t){return e.replace(/\$\{([^\s\:\}]*)(?:\:([^\s\:\}]+))?\}/g,((e,r)=>{if(""===r)return"$";const o=(0,n.hS)(r,t)??"";if(void 0===o)throw new Error(`could not find key "${r}" in template`);return o.toString()}))}(t,r))??""}toString(){return"["+this.name+"]: "+this.message}}},77734:(e,t,r)=>{"use strict";r.d(t,{Z:()=>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},67676:(e,t,r)=>{"use strict";r.d(t,{FY:()=>g,Od:()=>m,SO:()=>f,Vx:()=>s,a9:()=>l,cq:()=>h,e$:()=>p,e5:()=>i,fS:()=>o,pC:()=>y,w6:()=>u,zG:()=>a});var n=r(77734);function o(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 s(e,t){let r=e.length!==t.length;r&&(e.length=t.length);for(let n=0;n<t.length;++n)e[n]!==t[n]&&(e[n]=t[n],r=!0);return r}function i(e,t,r){let n,o;return r?(n=t.filter((t=>!e.some((e=>r(e,t))))),o=e.filter((e=>!t.some((t=>r(t,e)))))):(n=t.filter((t=>!e.includes(t))),o=e.filter((e=>!t.includes(e)))),{added:n,removed:o}}function a(e){return e&&"number"==typeof e.length}const c=!!Array.prototype.fill;function l(e,t){if(c)return new Array(e).fill(t);const r=new Array(e);for(let n=0;n<e;n++)r[n]=t;return r}function u(e,t){void 0===t&&(t=e,e=0);const r=new Array(t-e);for(let n=e;n<t;n++)r[n-e]=n;return r}class f{constructor(){this.last=0}}const d=new f;function h(e,t,r,n){n=n||d;const o=Math.max(0,n.last-10);for(let s=o;s<r;++s)if(e[s]===t)return n.last=s,s;const s=Math.min(o,r);for(let r=0;r<s;++r)if(e[r]===t)return n.last=r,r;return-1}function p(e,t,r,n){const o=r??e.length,s=h(e,t,o,n);if(-1!==s)return e[s]=e[o-1],null==r&&e.pop(),t}const b=new Set;function g(e,t,r=e.length,n=t.length,o,s){if(0===n||0===r)return r;b.clear();for(let e=0;e<n;++e)b.add(t[e]);o=o||d;const i=Math.max(0,o.last-10);for(let t=i;t<r;++t)if(b.has(e[t])&&(s&&s.push(e[t]),b.delete(e[t]),e[t]=e[r-1],--r,--t,0===b.size||0===r))return b.clear(),r;for(let t=0;t<i;++t)if(b.has(e[t])&&(s&&s.push(e[t]),b.delete(e[t]),e[t]=e[r-1],--r,--t,0===b.size||0===r))return b.clear(),r;return b.clear(),r}function m(e,t){const r=e.indexOf(t);return-1!==r?(e.splice(r,1),t):null}function y(e,t){return null!=e}new n.Z},91460:(e,t,r)=>{"use strict";function n(e){return e&&("function"==typeof e.on||"function"==typeof e.addEventListener)}function o(e,t,r){if(!n(e))throw new TypeError("target is not a Evented or EventTarget object");if("on"in e)return e.on(t,r);if(Array.isArray(t)){const n=t.slice();for(const t of n)e.addEventListener(t,r);return{remove(){for(const t of n)e.removeEventListener(t,r)}}}return e.addEventListener(t,r),{remove(){e.removeEventListener(t,r)}}}function s(e,t,r){if(!n(e))throw new TypeError("target is not a Evented or EventTarget object");if("once"in e)return e.once(t,r);const s=o(e,t,(t=>{s.remove(),r.call(e,t)}));return{remove(){s.remove()}}}r.d(t,{IH:()=>s,on:()=>o,vT:()=>n})},80442:(e,t,r)=>{"use strict";let n;function o(e){return"function"==typeof n[e]?n[e]=n[e](globalThis):n[e]}r.d(t,{Z:()=>o}),n=globalThis.dojoConfig?.has||globalThis.esriConfig?.has?{...globalThis.dojoConfig?.has,...globalThis.esriConfig?.has}:{},o.add=(e,t,r,s)=>((s||void 0===n[e])&&(n[e]=t),r&&o(e)),o.cache=n,o.add("esri-deprecation-warnings",!0),o.add("esri-force-fullscreen-debug",!1),(()=>{o.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(o.add("host-browser",e),o.add("host-node","object"==typeof globalThis.process&&globalThis.process.versions?.node&&globalThis.process.versions.v8),o.add("dom",e),o("host-browser")){const e=navigator,t=e.userAgent,r=e.appVersion,n=parseFloat(r);if(o.add("wp",parseFloat(t.split("Windows Phone")[1])||void 0),o.add("msapp",parseFloat(t.split("MSAppHost/")[1])||void 0),o.add("khtml",r.includes("Konqueror")?n:void 0),o.add("edge",parseFloat(t.split("Edge/")[1])||void 0),o.add("opr",parseFloat(t.split("OPR/")[1])||void 0),o.add("webkit",!o("wp")&&!o("edge")&&parseFloat(t.split("WebKit/")[1])||void 0),o.add("chrome",!o("edge")&&!o("opr")&&parseFloat(t.split("Chrome/")[1])||void 0),o.add("android",!o("wp")&&parseFloat(t.split("Android ")[1])||void 0),o.add("safari",!r.includes("Safari")||o("wp")||o("chrome")||o("android")||o("edge")||o("opr")?void 0:parseFloat(r.split("Version/")[1])),o.add("mac",r.includes("Macintosh")),!o("wp")&&t.match(/(iPhone|iPod|iPad)/)){const e=RegExp.$1.replace(/P/,"p"),r=t.match(/OS ([\d_]+)/)?RegExp.$1:"1",n=parseFloat(r.replace(/_/,".").replace(/_/g,""));o.add(e,n),o.add("ios",n)}o("webkit")||(!t.includes("Gecko")||o("wp")||o("khtml")||o("edge")||o.add("mozilla",n),o("mozilla")&&o.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&&o.add("esri-mobile",t),r&&o.add("esri-iPhone",r),o.add("esri-geolocation",!!navigator.geolocation)}o.add("esri-wasm","WebAssembly"in globalThis),o.add("esri-shared-array-buffer",(()=>{const e="SharedArrayBuffer"in globalThis,t=!1===globalThis.crossOriginIsolated;return e&&!t})),o.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])))),o.add("esri-atomics","Atomics"in globalThis),o.add("esri-workers","Worker"in globalThis),o.add("web-feat:cache","caches"in globalThis),o.add("esri-workers-arraybuffer-transfer",!o("safari")||Number(o("safari"))>=12),o.add("workers-pool-size",8),o.add("featurelayer-simplify-thresholds",[.5,.5,.5,.5]),o.add("featurelayer-simplify-payload-size-factors",[1,1,4]),o.add("featurelayer-animation-enabled",!0),o.add("featurelayer-snapshot-enabled",!0),o.add("featurelayer-snapshot-point-min-threshold",8e4),o.add("featurelayer-snapshot-point-max-threshold",4e5),o.add("featurelayer-snapshot-point-coverage",.1),o.add("featurelayer-advanced-symbols",!1),o.add("featurelayer-pbf",!0),o.add("featurelayer-pbf-statistics",!1),o.add("feature-layers-workers",!0),o.add("feature-polyline-generalization-factor",1),o.add("mapview-transitions-duration",200),o.add("mapview-srswitch-adjust-rotation-scale-threshold",24e6),o.add("mapserver-pbf-version-support",10.81),o.add("mapservice-popup-identify-max-tolerance",20),o.add("heatmap-allow-raster-fallback",!1),o.add("heatmap-force-raster",!1),o("host-webworker")||o("host-browser")&&(o.add("esri-csp-restrictions",(()=>{try{new Function}catch{return!0}return!1})),o.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((()=>{o.add("esri-image-decode",!0,!0,!0)})).catch((()=>{o.add("esri-image-decode",!1,!0,!0)}))}return!1})),o.add("esri-url-encodes-apostrophe",(()=>{const e=window.document.createElement("a");return e.href="?'",e.href.includes("?%27")})))})()},22974:(e,t,r)=>{"use strict";r.d(t,{Vo:()=>a,d9:()=>i,fS:()=>h,tZ:()=>c,y7:()=>p,yd:()=>s});var n=r(67676),o=r(1533);function s(e,t){let r;if(t)for(r in e)e.hasOwnProperty(r)&&(void 0===e[r]?delete e[r]:e[r]instanceof Object&&s(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],o=a(n);if(null!=n&&null==o)return null;t[r]=o}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,o.W0)(e)||(0,o.lq)(e)||(0,o.KZ)(e)||(0,o.z3)(e)||(0,o.Uc)(e)||(0,o.Hx)(e)||(0,o.ZY)(e)||(0,o.xZ)(e)||(0,o.fS)(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.fS)(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))}},70586:(e,t,r)=>{"use strict";function n(e,t){return null!=e?t(e):null}function o(e,t){return s(e,t),e}function s(e,t){if(null==e)throw new Error(t??"value is None")}function i(e){return e?.destroy(),null}function a(e){return e?.dispose(),null}function c(e){return e?.remove(),null}function l(e){return e?.abort(),null}function u(e){return e?.release(),null}function f(e,t,r){return null!=e&&null!=t?null!=r?r(e,t):e.equals(t):e===t}function d(e){return null}function h(e,t){const r=new Array;for(const n of e)r.push(null!=n?t(n):null);return r}function p(e,t){for(const r of e)n(r,t)}function b(e){return e}r.d(t,{Fd:()=>h,IM:()=>l,JR:()=>p,M2:()=>a,O3:()=>s,RY:()=>u,SC:()=>i,_W:()=>f,hw:()=>c,j0:()=>b,s3:()=>o,wN:()=>d,yw:()=>n})},78286:(e,t,r)=>{"use strict";r.d(t,{RB:()=>i,RH:()=>o,hS:()=>s});var n=r(22974);function o(e,t,r=!1){return c(e,t,r)}function s(e,t){if(null!=t)return t[e]||a(e.split("."),!1,t)}function i(e,t,r){const n=e.split("."),o=n.pop(),s=a(n,!0,r);s&&o&&(s[o]=t)}function a(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 c(e,t,r){return t?Object.keys(t).reduce(((e,o)=>{let s=e[o],i=t[o];return s===i?e:void 0===s?(e[o]=(0,n.d9)(i),e):(Array.isArray(i)||Array.isArray(e)?(s=s?Array.isArray(s)?e[o]=s.concat():e[o]=[s]:e[o]=[],i&&(Array.isArray(i)||(i=[i]),r?i.forEach((e=>{s.includes(e)||s.push(e)})):e[o]=i.concat())):i&&"object"==typeof i?e[o]=c(s,i,r):e.hasOwnProperty(o)&&!t.hasOwnProperty(o)||(e[o]=i),e)}),e||{}):e}},95330:(e,t,r)=>{"use strict";r.d(t,{e4:()=>O,zE:()=>c,dD:()=>w,hh:()=>x,Ds:()=>P,as:()=>v,WW:()=>_,R8:()=>y,D_:()=>m,Hc:()=>f,y8:()=>k,fu:()=>p,$F:()=>b,r9:()=>d,k_:()=>l,H9:()=>h,Yn:()=>C,gx:()=>S,Hl:()=>g});const n=(o=globalThis,{setTimeout:(e,t)=>{const r=o.setTimeout(e,t);return{remove:()=>o.clearTimeout(r)}}});var o,s=r(20102),i=r(91460),a=(r(92604),r(70586));function c(e="Aborted"){return new s.Z("AbortError",e)}function l(e,t="Aborted"){if(f(e))throw c(t)}function u(e){return null!=e?"aborted"in e?e:e.signal:e}function f(e){const t=u(e);return null!=t&&t.aborted}function d(e){if(m(e))throw e}function h(e){if(!m(e))throw e}function p(e,t){const r=u(e);if(null!=r){if(!r.aborted)return(0,i.IH)(r,"abort",(()=>t()));t()}}function b(e,t){const r=u(e);if(null!=r)return l(r),(0,i.IH)(r,"abort",(()=>t(c())))}function g(e,t){return null==u(t)?e:new Promise(((r,n)=>{let o=p(t,(()=>n(c())));const s=()=>o=(0,a.hw)(o);e.then(s,s),e.then(r,n)}))}function m(e){return"AbortError"===e?.name}async function y(e){try{return await e}catch(e){if(!m(e))throw e;return}}function w(){let e=null;const t=new Promise(((t,r)=>{e={promise:void 0,resolve:t,reject:r}}));return e.promise=t,e}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),o={};return t.map(((e,t)=>o[e]=n[t])),o}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 _(e){return(await v(e)).filter((e=>!!e.value)).map((e=>e.value))}function O(e,t=undefined,r){const n=new AbortController;return p(r,(()=>n.abort())),new Promise(((r,o)=>{let s=setTimeout((()=>{s=0,r(t)}),e);p(n,(()=>{s&&(clearTimeout(s),o(c()))}))}))}function k(e){return e&&"function"==typeof e.then}function S(e){return k(e)?e:Promise.resolve(e)}function P(e,t=-1){let r,n,o,s,i=null;const l=(...u)=>{if(r){n=u,s&&s.reject(c()),s=w();const e=(0,a.j0)(s.promise);if(i){const e=i;i=null,e.abort()}return e}if(o=s||w(),s=null,t>0){const n=new AbortController;r=S(e(...u,n.signal));const o=r;O(t).then((()=>{r===o&&(s?n.abort():i=n)}))}else r=1,r=S(e(...u));const f=()=>{const e=n;n=o=r=i=null,null!=e&&l(...e)},d=r,h=o;return d.then(f,f),d.then(h.resolve,h.reject),(0,a.j0)(h.promise)};return l}function x(){let e,t;const r=new Promise(((r,n)=>{e=r,t=n})),o=t=>{e(t)};return o.resolve=t=>e(t),o.reject=e=>t(e),o.timeout=(e,t)=>n.setTimeout((()=>o.reject(t)),e),o.promise=r,o}async function C(e){await Promise.resolve(),l(e)}},19153:(e,t,r)=>{"use strict";r.d(t,{Cb:()=>l,Qs:()=>a,gx:()=>i,hP:()=>c});var n=r(78286);const o=/\{([^\}]+)\}/g;function s(e){return e??""}function i(e,t){return e.replace(o,"object"==typeof t?(e,r)=>s((0,n.hS)(r,t)):(e,r)=>s(t(r)))}function a(e,t){return e.replace(/([\.$?*|{}\(\)\[\]\\\/\+\-^])/g,(e=>t&&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}function l(e){return(new DOMParser).parseFromString(e||"","text/html").body.innerText||""}},1533:(e,t,r)=>{"use strict";function n(e){return e instanceof ArrayBuffer}function o(e){return"Int8Array"===e?.constructor?.name}function s(e){return"Uint8Array"===e?.constructor?.name}function i(e){return"Uint8ClampedArray"===e?.constructor?.name}function a(e){return"Int16Array"===e?.constructor?.name}function c(e){return"Uint16Array"===e?.constructor?.name}function l(e){return"Int32Array"===e?.constructor?.name}function u(e){return"Uint32Array"===e?.constructor?.name}function f(e){return"Float32Array"===e?.constructor?.name}function d(e){return"Float64Array"===e?.constructor?.name}function h(e){return!("buffer"in e)}function p(e){return null!=e?h(e)?8*e.length+12:e.byteLength+145:0}r.d(t,{B3:()=>g,DB:()=>b,Hx:()=>l,KZ:()=>i,Op:()=>y,Q7:()=>m,Uc:()=>c,W0:()=>o,Xw:()=>p,ZY:()=>u,eP:()=>n,fS:()=>d,kJ:()=>h,lq:()=>s,xZ:()=>f,z3:()=>a}),r(80442);const b=1024;function g(e){return d(e)||f(e)||l(e)||a(e)||o(e)}function m(e){return d(e)||f(e)}function y(e){return d(e)?179769e303:f(e)?3402823e32:u(e)?4294967295:c(e)?65535:s(e)||i(e)?255:l(e)?2147483647:a(e)?32767:o(e)?127:256}},17452:(e,t,r)=>{"use strict";r.d(t,{$U:()=>ae,AH:()=>Y,B7:()=>T,D6:()=>q,Fv:()=>D,HK:()=>G,Hu:()=>ge,IR:()=>_e,Ie:()=>pe,L:()=>P,Ml:()=>we,P$:()=>K,PF:()=>Z,Qj:()=>he,R9:()=>v,TI:()=>S,YP:()=>Q,Yd:()=>fe,ZN:()=>me,Zo:()=>U,_l:()=>re,b7:()=>E,ed:()=>I,fZ:()=>ve,fl:()=>ye,fw:()=>ne,hF:()=>F,hO:()=>ce,io:()=>oe,jc:()=>V,kl:()=>B,mN:()=>x,oC:()=>se,oh:()=>J,qg:()=>A,rS:()=>X,sJ:()=>te,tD:()=>R,tm:()=>L,u0:()=>C,v_:()=>z,vt:()=>de});var n=r(68773),o=r(67676),s=r(20102),i=r(92604),a=r(70586),c=r(19745);const l=i.Z.getLogger("esri.core.urlUtils"),u=n.Z.request,f="esri/config: esriConfig.request.proxyUrl is not set.",d=/^\s*[a-z][a-z0-9-+.]*:(?![0-9])/i,h=/^\s*http:/i,p=/^\s*https:/i,b=/^\s*file:/i,g=/:\d+$/,m=/^https?:\/\/[^/]+\.arcgis.com\/sharing(\/|$)/i,y=new RegExp("^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$"),w=new RegExp("^((([^\\[:]+):)?([^@]+)@)?(\\[([^\\]]+)\\]|([^\\[:]*))(:([0-9]+))?$");class v{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=(0,a.j0)(this.uri.match(y));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=(0,a.j0)(this.authority.match(w)),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 _={};let O=new v(n.Z.applicationUrl);let k=function(){const e=(0,a.j0)(O.path),t=e.substring(0,e.lastIndexOf(e.split("/")[e.split("/").length-1]));return`${O.scheme}://${O.host}${null!=O.port?`:${O.port}`:""}${t}`}();const S=()=>O,P=()=>k;function x(e){if(!e)return null;const t={path:null,query:null},r=new v(e),n=e.indexOf("?");return null===r.query?t.path=e:(t.path=e.substring(0,n),t.query=C(r.query)),r.fragment&&(t.hash=r.fragment,null===r.query&&(t.path=t.path.substring(0,t.path.length-(r.fragment.length+1)))),t}function C(e){const t=e.split("&"),r={};for(const e of t){if(!e)continue;const t=e.indexOf("=");let n,o;t<0?(n=decodeURIComponent(e),o=""):(n=decodeURIComponent(e.slice(0,t)),o=decodeURIComponent(e.slice(t+1)));let s=r[n];"string"==typeof s&&(s=r[n]=[s]),Array.isArray(s)?s.push(o):r[n]=o}return r}function j(e){return e&&"object"==typeof e&&"toJSON"in e&&"function"==typeof e.toJSON}function T(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 o=encodeURIComponent(r)+"=",s=t&&t[r];return s?o+encodeURIComponent(s(n)):Array.isArray(n)?n.map((e=>j(e)?o+encodeURIComponent(JSON.stringify(e)):o+encodeURIComponent(e))).join("&"):j(n)?o+encodeURIComponent(JSON.stringify(n)):o+encodeURIComponent(n)})).filter((e=>e)).join("&"):""}function E(e=!1){let t,r=u.proxyUrl;if("string"==typeof e){t=ae(e);const n=I(e);n&&(r=n.proxyUrl)}else t=!!e;if(!r)throw l.warn(f),new s.Z("urlutils:proxy-not-set",f);return t&&le()&&(r=ce(r)),x(r)}function A(e){const t=I(e);let r,n;if(t){const e=N(t.proxyUrl);r=e.path,n=e.query?C(e.query):null}if(r){const t=x(e);e=r+"?"+t.path;const o=T({...n,...t.query});o&&(e=`${e}?${o}`)}return e}const M={path:"",query:""};function N(e){const t=e.indexOf("?");return-1!==t?(M.path=e.slice(0,t),M.query=e.slice(t+1)):(M.path=e,M.query=null),M}function $(e){return(e=ue(e=function(e){return e&&"/"===e[e.length-1]?e:`${e}/`}(e=N(e).path),!0)).toLowerCase()}function R(e){const t={proxyUrl:e.proxyUrl,urlPrefix:$(e.urlPrefix)},r=u.proxyRules,n=t.urlPrefix;let o=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;o=e;break}0===t.indexOf(n)&&(o=e+1)}return r.splice(o,0,t),o}function I(e){const t=u.proxyRules,r=$(e);for(let e=0;e<t.length;e++)if(0===r.indexOf(t[e].urlPrefix))return t[e]}function U(e,t){if(!e||!t)return!1;e=W(e),t=W(t);const r=(0,c.a)(e),n=(0,c.a)(t);return null!=r&&null!=n?r.portalHostname===n.portalHostname:null==r&&null==n&&q(e,t,!0)}function L(e,t){return e=W(e),t=W(t),ue(e)===ue(t)}function W(e){const t=(e=D(e)).indexOf("/sharing");return t>0?e.substring(0,t):e.replace(/\/+$/,"")}function J(e){const t=t=>null==t||t instanceof RegExp&&t.test(e)||"string"==typeof t&&e.startsWith(t),r=u.interceptors;if(r)for(const e of r)if(Array.isArray(e.urls)){if(e.urls.some(t))return e}else if(t(e.urls))return e;return null}function q(e,t,r=!1){if(!e||!t)return!1;const n=be(e),o=be(t);return!(!r&&n.scheme!==o.scheme)&&null!=n.host&&null!=o.host&&n.host.toLowerCase()===o.host.toLowerCase()&&n.port===o.port}function B(e){if("string"==typeof e){if(!Q(e))return!0;e=be(e)}if(q(e,O))return!0;const t=u.trustedServers||[];for(let r=0;r<t.length;r++){const n=H(t[r]);for(let t=0;t<n.length;t++)if(q(e,n[t]))return!0}return!1}function H(e){return _[e]||(ie(e)||se(e)?_[e]=[new v(F(e))]:_[e]=[new v(`http://${e}`),new v(`https://${e}`)]),_[e]}function F(e,t=k,r){return se(e)?r&&r.preserveProtocolRelative?e:"http"===O.scheme&&O.authority===K(e).slice(2)?`http:${e}`:`https:${e}`:ie(e)?e:(0,a.j0)(z("/"===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 Z(e,t=k,r){if(null==e||!Q(e))return e;const n=D(e),o=n.toLowerCase(),s=D(t).toLowerCase().replace(/\/+$/,""),i=r?D(r).toLowerCase().replace(/\/+$/,""):null;if(i&&0!==s.indexOf(i))return e;const a=(e,t,r)=>-1===(r=e.indexOf(t,r))?e.length:r;let c=a(o,"/",o.indexOf("//")+2),l=-1;for(;o.slice(0,c+1)===s.slice(0,c)+"/"&&(l=c+1,c!==o.length);)c=a(o,"/",c+1);if(-1===l)return e;if(i&&l<i.length)return e;e=n.slice(l);const u=s.slice(l-1).replace(/[^/]+/g,"").length;if(u>0)for(let t=0;t<u;t++)e=`../${e}`;else e=`./${e}`;return e}function D(e){return function(e){const t=u.httpsDomains;if(!function(e){return null!=e&&h.test(e)||"http"===O.scheme&&se(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),g.test(n)){if(!n.endsWith(":80"))return e;n=n.slice(0,-3),e=e.replace(":80","")}return"http"===O.scheme&&n===O.authority&&!m.test(e)||(le()&&n===O.authority||t&&t.some((e=>n===e||n.endsWith(`.${e}`)))||le()&&!I(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=N(e);e=(e=t.path.replace(/\/{2,}/g,"/")).replace("/","//"),t.query&&(e+=`?${t.query}`)}return e}(e=F(e=e.trim()))))}function z(...e){const t=e.filter(o.pC);if(!t||!t.length)return;const r=[];if(Q(t[0])){const e=t[0],n=e.indexOf("//");-1!==n&&(r.push(e.slice(0,n+1)),function(e){return null!=e&&b.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 K(e,t=!1){if(null==e||V(e)||G(e))return null;let r=e.indexOf("://");if(-1===r&&se(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 Q(e){return se(e)||ie(e)}function V(e){return null!=e&&"blob:"===e.slice(0,5)}function G(e){return null!=e&&"data:"===e.slice(0,5)}function Y(e){const t=te(e);if(!t||!t.isBase64)return null;const r=atob(t.data),n=new Uint8Array(r.length);for(let e=0;e<r.length;e++)n[e]=r.charCodeAt(e);return n.buffer}function X(e){return btoa(String.fromCharCode.apply(null,e)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}const ee=/^data:(.*?)(;base64)?,(.*)$/;function te(e){const t=e.match(ee);if(!t)return null;const[,r,n,o]=t;return{mediaType:r,isBase64:!!n,data:o}}function re(e){return e.isBase64?`data:${e.mediaType};base64,${e.data}`:`data:${e.mediaType},${e.data}`}function ne(e){const t=Y(e);if(!t)return null;const r=te(e);return new Blob([t],{type:r.mediaType})}function oe(e,t){!function(e,t){if(!e)return!1;const r=document.createElement("a");if(!("download"in r))return!1;const n=URL.createObjectURL(e);r.download=t,r.href=n,r.style.display="none",document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(n)}(e,t)}function se(e){return null!=e&&"/"===e[0]&&"/"===e[1]}function ie(e){return null!=e&&d.test(e)}function ae(e){return null!=e&&p.test(e)||"https"===O.scheme&&se(e)}function ce(e){return se(e)?`https:${e}`:e.replace(h,"https:")}function le(){return"https"===O.scheme}function ue(e,t=!1){return se(e)?e.slice(2):(e=e.replace(d,""),t&&e.length>1&&"/"===e[0]&&"/"===e[1]&&(e=e.slice(2)),e)}function fe(e){let t=0;if(Q(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=x(e).path.replace(/\/+$/,""),n=r.substring(r.lastIndexOf("/")+1);if(!t?.length)return n;const o=new RegExp(`.(${t.join("|")})$`,"ig");return n.replace(o,"")}function he(e){return e.replace(/\/+$/,"")}function pe(e,t,r){if(!(t&&r&&e&&Q(e)))return e;const n=e.indexOf("//"),o=e.indexOf("/",n+2),s=e.indexOf(":",n+2),i=Math.min(o<0?e.length:o,s<0?e.length:s);return e.slice(n+2,i).toLowerCase()!==t.toLowerCase()?e:`${e.slice(0,n+2)}${r}${e.slice(i)}`}function be(e){return"string"==typeof e?new v(F(e)):(e.scheme||(e.scheme=O.scheme),e)}function ge(e,t){const r=x(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 me(e,t,r){const n=x(e),o=n.query||{};return o[t]=String(r),`${n.path}?${T(o)}`}function ye(e,t){const r=x(e),n=r.query||{};for(const e in t)n[e]=t[e];const o=T(n);return o?`${r.path}?${o}`:r.path}function we(e){if(null==e)return null;const t=e.match(Oe);return t?t[2]:null}function ve(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 _e(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=/([^.]*)\.([^\/]*)$/},728:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>y});var n=r(40330),o=r(20102),s=r(91460),i=r(70586),a=r(95330);const c={statsWorker:()=>Promise.all([r.e(1400),r.e(3215),r.e(3847),r.e(6841)]).then(r.bind(r,36841)),geometryEngineWorker:()=>Promise.all([r.e(5837),r.e(8227)]).then(r.bind(r,48227)),CSVSourceWorker:()=>Promise.all([r.e(7126),r.e(4547),r.e(1400),r.e(1534),r.e(3215),r.e(8732),r.e(3847),r.e(3298),r.e(8429),r.e(142)]).then(r.bind(r,27793)),EdgeProcessingWorker:()=>Promise.all([r.e(6481),r.e(7681),r.e(7763)]).then(r.bind(r,49594)),ElevationSamplerWorker:()=>Promise.all([r.e(4547),r.e(1400),r.e(3215),r.e(6481),r.e(6459),r.e(7628)]).then(r.bind(r,61787)),FeatureServiceSnappingSourceWorker:()=>Promise.all([r.e(7126),r.e(4165),r.e(4547),r.e(1400),r.e(1534),r.e(3215),r.e(4599),r.e(8732),r.e(3847),r.e(3298),r.e(8429),r.e(3660)]).then(r.bind(r,65967)),GeoJSONSourceWorker:()=>Promise.all([r.e(7126),r.e(4547),r.e(1400),r.e(1534),r.e(3215),r.e(8732),r.e(3847),r.e(3298),r.e(8429),r.e(3594),r.e(7845)]).then(r.bind(r,97845)),LercWorker:()=>r.e(3027).then(r.bind(r,23027)),MemorySourceWorker:()=>Promise.all([r.e(7126),r.e(4547),r.e(1400),r.e(1534),r.e(3215),r.e(8732),r.e(3847),r.e(3298),r.e(8429),r.e(3594),r.e(639)]).then(r.bind(r,30639)),PBFDecoderWorker:()=>Promise.all([r.e(1400),r.e(3215),r.e(8732),r.e(1916)]).then(r.bind(r,61916)),Pipeline:()=>Promise.all([r.e(7126),r.e(1223),r.e(4165),r.e(4547),r.e(1400),r.e(1534),r.e(3215),r.e(4599),r.e(8732),r.e(3847),r.e(3298),r.e(8429),r.e(4325),r.e(1482),r.e(7303)]).then(r.bind(r,16142)),PointCloudWorker:()=>Promise.all([r.e(4547),r.e(1400),r.e(3215),r.e(8643),r.e(7035)]).then(r.bind(r,90447)),RasterWorker:()=>Promise.all([r.e(4547),r.e(1400),r.e(3215),r.e(6610),r.e(5604),r.e(3005)]).then(r.bind(r,61576)),SceneLayerSnappingSourceWorker:()=>Promise.all([r.e(7126),r.e(4547),r.e(1400),r.e(1534),r.e(3215),r.e(8732),r.e(3847),r.e(3298),r.e(6481),r.e(7681),r.e(2472)]).then(r.bind(r,73248)),SceneLayerWorker:()=>r.e(1412).then(r.bind(r,31412)),WFSSourceWorker:()=>Promise.all([r.e(7126),r.e(4547),r.e(1400),r.e(1534),r.e(3215),r.e(8732),r.e(3847),r.e(3298),r.e(8429),r.e(3594),r.e(3230)]).then(r.bind(r,43230)),WorkerTileHandler:()=>Promise.all([r.e(4325),r.e(1785),r.e(4982),r.e(6188)]).then(r.bind(r,56456))};var l=r(94362),u=r(17202);const{CLOSE:f,ABORT:d,INVOKE:h,RESPONSE:p,OPEN_PORT:b,ON:g}=l.Cs;class m{constructor(e){this._timer=null,this._cancelledJobIds=new Set,this._invokeMessages=[],this._invoke=e,this._timer=null,this._process=this._process.bind(this)}push(e){e.type===l.Cs.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 y{static connect(e){const t=new MessageChannel;let r;r="function"==typeof e?new e:"default"in e&&"function"==typeof e.default?new e.default:e;const n=new y(t.port1,{channel:t,client:r},(()=>null));return"object"==typeof r&&"remoteClient"in r&&(r.remoteClient=n),y.clients.set(n,r),t.port2}static loadWorker(e){const t=c[e];return t?t():Promise.resolve(null)}constructor(e,t,r){this._port=e,this._getNextJob=r,this._outJobs=new Map,this._inJobs=new Map,this._invokeQueue=new m((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:f}),this._close()}isBusy(){return this._outJobs.size>0}invoke(e,t,r){const n=r?.signal,s=r?.transferList;if(!this._port)return Promise.reject(new o.Z("worker:port-closed",`Cannot call invoke('${e}'), port is closed`,{methodName:e,data:t}));const c=(0,l.jt)();return new Promise(((r,o)=>{if((0,a.Hc)(n))return this._processWork(),void o((0,a.zE)());const l=(0,a.fu)(n,(()=>{const e=this._outJobs.get(c);e&&(this._outJobs.delete(c),this._processWork(),(0,i.hw)(e.abortHandle),this._post({type:d,jobId:c}),o((0,a.zE)()))})),u={resolve:r,reject:o,abortHandle:l,debugInfo:e};this._outJobs.set(c,u),this._post({type:h,jobId:c,methodName:e,abortable:null!=n},t,s)}))}on(e,t){const r=new MessageChannel;function n(e){t(e.data)}return this._port.postMessage({type:l.Cs.ON,eventType:e,port:r.port2},[r.port2]),r.port1.addEventListener("message",n),r.port1.start(),{remove(){r.port1.postMessage({type:l.Cs.CLOSE}),r.port1.close(),r.port1.removeEventListener("message",n)}}}jobAdded(){this._processWork()}openPort(){const e=new MessageChannel;return this._post({type:b,port:e.port2}),e.port1}_processWork(){if(this._outJobs.size>=2)return;const e=this._getNextJob();if(!e)return;const{methodName:t,data:r,invokeOptions:n,deferred:o}=e;this.invoke(t,r,n).then((e=>o.resolve(e))).catch((e=>o.reject(e)))}_close(){this._channel&&(this._channel=void 0),this._port.removeEventListener("message",this._onMessage),this._port.close(),this._outJobs.forEach((e=>{(0,i.hw)(e.abortHandle),e.reject((0,a.zE)(`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))):this._processMessage(e)}_processMessage(e){const t=(0,l.QM)(e);if(t)switch(t.type){case p:this._onResponseMessage(t);break;case h:this._invokeQueue.push(t);break;case d:this._onAbortMessage(t);break;case f:this._onCloseMessage();break;case b:this._onOpenPortMessage(t);break;case g:this._onOnMessage(t)}}_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&&y.clients.get(this)===e&&e.destroy(),y.clients.delete(this),e?.remoteClient&&(e.remoteClient=null)}_onInvokeMessage(e){const{methodName:t,jobId:r,data:n,abortable:o}=e,s=o?new AbortController:null,i=this._inJobs;let c,u=this._client,f=u[t];try{if(!f&&t&&t.includes(".")){const e=t.split(".");for(let t=0;t<e.length-1;t++)u=u[e[t]],f=u[e[t+1]]}if("function"!=typeof f)throw new TypeError(`${t} is not a function`);c=f.call(u,n,{client:this,signal:s?s.signal:null})}catch(e){return void this._post({type:p,jobId:r,error:(0,l.AB)(e)})}(0,a.y8)(c)?(i.set(r,{controller:s,promise:c}),c.then((e=>{i.has(r)&&(i.delete(r),this._post({type:p,jobId:r},e))}),(e=>{i.has(r)&&(i.delete(r),(0,a.D_)(e)||this._post({type:p,jobId:r,error:(0,l.AB)(e||{message:`Error encountered at method ${t}`})}))}))):this._post({type:p,jobId:r},c)}_onOpenPortMessage(e){new y(e.port,{client:this._client},(()=>null))}_onOnMessage(e){const{port:t}=e,r=this._client.on(e.eventType,(e=>{t.postMessage(e)})),n=(0,s.on)(e.port,"message",(e=>{const o=(0,l.QM)(e);o?.type===l.Cs.CLOSE&&(n.remove(),r.remove(),t.close())}))}_onResponseMessage(e){const{jobId:t,error:r,data:n}=e,s=this._outJobs;if(!s.has(t))return;const a=s.get(t);s.delete(t),this._processWork(),(0,i.hw)(a.abortHandle),r?a.reject(o.Z.fromJSON(JSON.parse(r))):a.resolve(n)}_post(e,t,r){return(0,l.oi)(this._port,e,t,r)}}y.kernelInfo={buildDate:u.r,fullVersion:n.bR,revision:u.$},y.clients=new Map},94362:(e,t,r)=>{"use strict";r.d(t,{AB:()=>a,Cs:()=>n,QM:()=>l,jt:()=>i,oi:()=>c});var n,o=r(80442);!function(e){e[e.HANDSHAKE=0]="HANDSHAKE",e[e.OPEN=1]="OPEN",e[e.OPENED=2]="OPENED",e[e.RESPONSE=3]="RESPONSE",e[e.INVOKE=4]="INVOKE",e[e.ABORT=5]="ABORT",e[e.CLOSE=6]="CLOSE",e[e.OPEN_PORT=7]="OPEN_PORT",e[e.ON=8]="ON"}(n||(n={}));let s=0;function i(){return s++}function a(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 c(e,t,r,s){if(t.type===n.OPEN_PORT)return void e.postMessage(t,[t.port]);if(t.type!==n.INVOKE&&t.type!==n.RESPONSE)return void e.postMessage(t);let i;if(function(e){return e&&"object"==typeof e&&("result"in e||"transferList"in e)}(r)?(i=u(r.transferList),t.data=r.result):(i=u(s),t.data=r),i){if((0,o.Z)("ff"))for(const r of i)if("byteLength"in r&&r.byteLength>267386880){const r="Worker call with large ArrayBuffer would crash Firefox";switch(t.type){case n.INVOKE:throw r;case n.RESPONSE:return void c(e,{type:n.RESPONSE,jobId:t.jobId,error:a(r)})}}e.postMessage(t,i)}else e.postMessage(t)}function l(e){if(!e)return null;const t=e.data;return t?"string"==typeof t?JSON.parse(t):t:null}function u(e){if(!e||!e.length)return null;if((0,o.Z)("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}},40330:(e,t,r)=>{"use strict";r.d(t,{Dp:()=>f,Nv:()=>c,bR:()=>a,i8:()=>i,id:()=>l,qh:()=>u});var n=r(80442),o=r(17452),s=r(17202);const i="4.27";let a=i;a=`4.27.0-next.${s.r}`;const c={async request(e,t){const{default:n}=await r.e(3172).then(r.bind(r,3172)),s=e.options,i=s.responseType;s.signal=t?.signal,s.responseType="native"===i||"native-request-init"===i?"native-request-init":i&&["blob","json","text"].includes(i)&&(0,o.oh)(e.url)?.after?i:"array-buffer";const a=await n(e.url,s),c={data:a.data,httpStatus:a.httpStatus,ssl:a.ssl};switch(a.requestOptions?.responseType){case"native-request-init":return delete c.data.signal,c;case"blob":c.data=await c.data.arrayBuffer();break;case"json":c.data=(new TextEncoder).encode(JSON.stringify(c.data)).buffer;break;case"text":c.data=(new TextEncoder).encode(c.data).buffer}return{result:c,transferList:[c.data]}}};let l;function u(e){l=e}function f(e){const t=l?.findCredential(e);return t?.token?(0,o.ZN)(e,"token",t.token):e}(0,n.Z)("host-webworker")},19745:(e,t,r)=>{"use strict";r.d(t,{P:()=>i,a:()=>s});const n=/^https:\/\/([a-z\d-]+)(\.maps([^.]*))?\.arcgis\.com/i,o={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 s(e){const t=e?.match(n);if(!t)return null;const[,r,s,i]=t;if(!r)return null;let a=null,c=null,l=null;const{devext:u,qaext:f,www:d}=o;if(s)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)}},17202:(e,t,r)=>{"use strict";r.d(t,{$:()=>o,r:()=>n});const n="20230408",o="94af5d0eab9dda4899f4c4d8fdc68bf47cdd6289"}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var s=t[n]={exports:{}};return e[n](s,s.exports,r),s.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/"+{24:"db3df4f42c72ed48c527",81:"db5598944b691e43f13e",142:"075aef0ea127a96312a3",163:"3dc2658836cc7733da61",223:"75430373d458bdf96dcb",237:"f5beba20a571f975373b",247:"a9f83bbccf3b5f229262",338:"5b7861f338049a68a538",450:"365c581d606135a59ba0",540:"fcec1e27531633cfc99c",565:"f5b6d2b8c8a333bbebdc",576:"5ec4fedbbcbb0053cf74",632:"6412be94b716e8ec5dc1",639:"de082f85b7e11f8a0b3c",719:"ce84135e361e2d2294db",723:"a5da3a36ccd9bc5f0d3f",739:"776b76ee275a41fff456",819:"d1ead6e8aa7e8e21fbc6",908:"353e5b283e0f4416684a",911:"d9ef4891c8b0bdd90f5b",1073:"d0d9dcf9a06762087f08",1074:"1b5dce4654bf7a2b54d3",1158:"803e81ff317e3082ebd5",1194:"d72c0c97cc4e30f1e4f2",1223:"e7d5e22065218ac436a9",1227:"2a6902994fc7c104d76e",1400:"873cf4d1708d7ae22afa",1412:"a624b66576e6eaf4467d",1421:"ccc6b52fc947bab574ac",1423:"27353056c3e4e8d8b8d3",1433:"4d5bdf18feeb9c8cb6ff",1444:"a1f043dff7953d6dccc7",1482:"622139ef8f7181e48cd0",1534:"1b6ae140a9bee1c166d1",1537:"aebc5091bd4159197ce0",1785:"be2e5b454b7f1ccda9a7",1790:"a8f094ca487bd794f766",1916:"2640204c4655aa535ccb",1984:"324c7064ac8c456c9be7",2134:"80d335bec34d60b7bbdc",2156:"65d24661919c2423ba98",2462:"2dc876bf9edccddbb835",2472:"c84a1acb165ab8bcf850",2664:"2ab191aab5b3ea3109fa",2763:"fcf9d94c39479a0e0ad7",2855:"33a814bbdc0ee50330de",3005:"7b8c7d69da5454d43456",3027:"f4d0d07cfd493ec48f87",3172:"99bfa5cbad8059c53fdd",3215:"d09195419c72d9fa06c3",3230:"3cd193132f08ac277fc0",3298:"913f2337f2e83f9c073d",3381:"5bae7057b4472cde9d78",3529:"801b5d79422028469006",3594:"7570ec6a64a88ddc0fdd",3660:"8de6d64d15240a166ab9",3668:"525a623d59ed68593a3d",3847:"20f6d39848aeef92f540",3852:"d4338bc4a99b71c44dc2",3974:"cd0f8fe877532c0a1fe6",3992:"b68f207f29808c1d8eb4",4165:"ec772bcb4dd0fad8b7ef",4166:"a456548053a703e3702b",4286:"c35e921b4f2392d65f8d",4325:"ce4c3c7cf9c672c2ff0b",4358:"6788d0654735201cb07a",4371:"bedb5d399dbeff7526ba",4475:"778ecf61f07dafc51bbc",4499:"f97111dc740e0d32334a",4547:"666e6bdca88a48b0f609",4599:"a2969ddd0769be471ed0",4609:"83d30e558c8d7cae150a",4695:"d480787952585f3297df",4720:"0761672964d9decc5dc3",4729:"859fbe82c137172edcac",4982:"31299c139d4dadc065b1",5004:"f952a504b076c71e10ae",5115:"e9ecfd3ee78492b797cd",5132:"d1c0b27bd611912406cb",5159:"80c95f43f982eab0e2ae",5235:"8438d67217158e2f3098",5329:"0e21e5b4d065567a6a91",5546:"3125061c8dfd69e1ae3b",5587:"282bc00ce0767c90a072",5590:"50f929d9453fb058cf47",5604:"bcd79124744cd3682c78",5638:"5a25079cd79e90757cb1",5642:"979ea2e3b1b164334634",5660:"5252f3cc244204edc299",5837:"c419a26e2b7d20d99cef",5853:"7cfb6223fb4ca9f30623",5935:"60a08ce29d09cb07ef06",6188:"ab37d5490f0677009e23",6233:"ce0d279b75b597988e71",6237:"8a7fa4e8b0d14da7c9eb",6261:"a5c33b24b7ee042cb473",6368:"2b1f28ed6a308359e9ef",6459:"3a061c9e5597fd7643ec",6481:"f6c39edd04cb96d98240",6502:"8f553ae2f1aba4e0371f",6565:"96e9fa7afb1961354419",6584:"87b55ff95167ad944649",6610:"d2ffa54b2b98823da8d7",6695:"5e3079b3666df3a9d235",6710:"597f73478dfd73a52d6e",6748:"c72be2fe05533b46cb33",6774:"7d0cba1e10523a27af3e",6841:"8cd33aefd6e29cff1537",6935:"52c7478aad62c632e10d",7035:"89ca535589b325c79724",7126:"e0499f45b098450b80b4",7202:"b86f9181eb82a8917511",7277:"05ccf4b9dd618bbf7fde",7303:"1d1b9856f2f44d0c2144",7316:"8cf33863b778a6312ed4",7374:"4c175664eb97689d66b0",7391:"fdbc08b9da415b9b4447",7476:"609124ccbeead2627cdd",7483:"edefb561c03a60f086bc",7628:"17a989e25c7fb9a80b72",7681:"b7fb6bcb6b42c6752e09",7697:"f115086971b329d840b6",7763:"f673bfdd286a031887aa",7845:"d0cbc15d6af43232530f",7873:"9bac27976e7a71268b7b",8008:"7e86e0b7791479b73788",8062:"9151acbda67592af63f6",8079:"d0f4e2a2c20907d6a843",8092:"f1b26b73101210b8f29c",8096:"0eb26c0191d624b9a128",8153:"f9f1bbd7930100e84e50",8227:"1c9fff56d6e1cc3df63f",8244:"70f277ab2fa00f0878aa",8429:"947770d8d9f98e3bd207",8510:"a6240bf258b3886a6661",8598:"c97dd52fb06a8bf62b6f",8636:"6d42e4f51e4f97bc45da",8643:"b1a8024bf8cdd0cd3884",8732:"eb3cbfe51627f89c347f",8758:"61a843d4b8382d763d23",8828:"edb4568fe281b5609092",8865:"fc091acef5264bacd97f",9157:"a2c9cb23f3e35e88da1d",9169:"4b6a903d4aeeb4eeb615",9238:"6f67ea380ad67cd774e9",9243:"6c519c5a474f51f37af0",9291:"514346a7831c08ec7c1e",9296:"1544568c32b0ed0fd788",9393:"8c614117d9c653cb629c",9408:"8ebda132068f6b962dd9",9538:"aa4640a0207e0be224e2",9675:"477a69e55ce6f7111ae7",9771:"c260ac058e63a5c0cf60",9790:"eb163a2ddeb27c690308",9880:"1b5bdd80db9a1a410ff8",9884:"8cc8d88e5dd1e586eb04",9904:"e8df43c1af128522b2e0",9942:"497eaf22b2ab81e644c5",9971:"1cdc14124617923b5c61"}[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&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");n.length&&(e=n[n.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),r.p=e})(),(()=>{var e={134: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[o,s,i]=t;for(var a in s)r.o(s,a)&&(r.m[a]=s[a]);for(i&&i(r);o.length;)e[o.pop()]=1;n(t)}})(),r(88277);var n=r(728);RemoteClient=n})();
|
package/copyright.txt
CHANGED
|
@@ -231,6 +231,26 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
231
231
|
|
|
232
232
|
-----------------------------------------------------------------
|
|
233
233
|
|
|
234
|
+
video.js/
|
|
235
|
+
|
|
236
|
+
https://github.com/videojs/video.js
|
|
237
|
+
|
|
238
|
+
Copyright Brightcove, Inc.
|
|
239
|
+
|
|
240
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
241
|
+
you may not use this file except in compliance with the License.
|
|
242
|
+
You may obtain a copy of the License at
|
|
243
|
+
|
|
244
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
245
|
+
|
|
246
|
+
Unless required by applicable law or agreed to in writing, software
|
|
247
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
248
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
249
|
+
See the License for the specific language governing permissions and
|
|
250
|
+
limitations under the License.
|
|
251
|
+
|
|
252
|
+
-------------------------------------------------------------------------------
|
|
253
|
+
|
|
234
254
|
esri/arcade/lib/arcade-parser.js
|
|
235
255
|
|
|
236
256
|
Copyright (c) jQuery Foundation, Inc. and Contributors, All Rights Reserved.
|
package/layers/LinkChartLayer.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.27/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../chunks/tslib.es6.js";import"../geometry.js";import t from"../core/Collection.js";import a from"../core/Error.js";import i from"../core/Logger.js";import{throwIfAborted as n}from"../core/promiseUtils.js";import{property as o}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as r}from"../core/accessorSupport/decorators/subclass.js";import{encodeGeohash as s}from"../geohash/geohashUtils.js";import h from"./Layer.js";import{convertFromGeometry as l}from"./graphics/featureConversionUtils.js";import c from"./graphics/OptimizedGeometry.js";import{KnowledgeGraphLayerDataManager as d,MOCK_OID_FIELD_NAME as u,MOCK_ORIGIN_ID_FIELD_NAME as p,MOCK_DESTINATION_ID_FIELD_NAME as y,MOCK_LAYOUT_GEOMETRY_FIELD_NAME as m,GEOHASH_ENCODING_PRECISION as f}from"./knowledgeGraph/KnowledgeGraphLayerDataManager.js";import g from"./knowledgeGraph/KnowledgeGraphSubLayer.js";import{BlendLayer as k}from"./mixins/BlendLayer.js";import{ScaleRangeLayer as C}from"./mixins/ScaleRangeLayer.js";import{LCSimpleLayout as L,LCSmartTreeLayout as b,LCRadialTreeLayout as M,LCHierarchicalLayout as w,LCCommunityLayout as x,LCForceDirectedLayout as E,NodeFlag as D,load as T}from"../libs/linkchartlayout/LinkChartLayout.js";import{fetchKnowledgeGraph as G}from"../rest/knowledgeGraphService.js";import A from"../rest/knowledgeGraph/EntityType.js";import I from"../rest/knowledgeGraph/RelationshipType.js";import v from"../geometry/Extent.js";import R from"../geometry/Point.js";import j from"../geometry/Polyline.js";let P=class extends(k(C(h))){constructor(e){if(super(e),this.dataPreloadedInLocalCache=!1,this.layers=new t,this.linkChartDiagramLookup=new Map,this.linkChartExtent=new v({xmin:-1e-7,ymin:-1e-7,xmax:1e-7,ymax:1e-7}),this.linkChartGeohashLookup=new Map,this.sublayerIdsCache=new Map,this.tables=new t,this.type="link-chart",this._originalInclusionList=e.inclusionModeDefinition,e.dataPreloadedInLocalCache&&!e.inclusionModeDefinition)throw new a("knowledge-graph:linkchart-layer-constructor","If creating a link chart composite layer and configured that data is already loaded in the cache, you must specify an inclusion list so the Composite Layer knows what records belong to it")}normalizeCtorArgs(e){return{url:e.url,title:e.title,dataPreloadedInLocalCache:e.dataPreloadedInLocalCache,defaultLinkChartConfig:e.defaultLinkChartConfig}}_initializeLayerProperties(e){if(!this.title&&this.url){const e=this.url.split("/");this.title=e[e.length-2]}const t=new Set,n=new Map;let o=[],r=[];if(e.inclusionModeDefinition&&(!e.inclusionModeDefinition.namedTypeDefinitions||e.inclusionModeDefinition.namedTypeDefinitions.size<1))throw new a("knowledge-graph:composite-layer-constructor","If an explicit inclusion definition is defined, at least one namedTypeDefinition must also be defined");e.inclusionModeDefinition?.generateAllSublayers?(o=e.knowledgeGraph.dataModel.entityTypes??[],r=e.knowledgeGraph.dataModel.relationshipTypes??[]):e.inclusionModeDefinition?.namedTypeDefinitions&&e.inclusionModeDefinition?.namedTypeDefinitions.size>0?(e.knowledgeGraph.dataModel.entityTypes?.forEach((e=>{e.name&&n.set(e.name,e)})),e.knowledgeGraph.dataModel.relationshipTypes?.forEach((e=>{e.name&&n.set(e.name,e)})),e.inclusionModeDefinition?.namedTypeDefinitions.forEach(((a,s)=>{if(!n.get(s))return i.getLogger(this.declaredClass).warn(`A named type, ${s}, was in the inclusion list that wasn't in the data model and will be removed`),void e.inclusionModeDefinition?.namedTypeDefinitions.delete(s);n.get(s)instanceof I||"strictOrigin"in n.get(s)?t.has(s)||(t.add(s),r.push(n.get(s))):n.get(s)instanceof A||"properties"in n.get(s)?t.has(s)||(t.add(s),o.push(n.get(s))):(i.getLogger(this.declaredClass).warn(`A named type, ${s}, was in the inclusion list that wasn't properly modeled and will be removed`),e.inclusionModeDefinition?.namedTypeDefinitions.delete(s))}))):(o=e.knowledgeGraph.dataModel.entityTypes??[],r=e.knowledgeGraph.dataModel.relationshipTypes??[]);const s=new d({knowledgeGraph:e.knowledgeGraph,inclusionModeDefinition:e.inclusionModeDefinition});this.knowledgeGraph=e.knowledgeGraph,this.memberEntityTypes=o,this.memberRelationshipTypes=r,this.dataManager=s}load(e){return this.addResolvingPromise(new Promise((t=>{G(this.url).then((a=>{if(this._initializeLayerProperties({knowledgeGraph:a,inclusionModeDefinition:this._originalInclusionList}),this.dataManager.inclusionModeDefinition?.namedTypeDefinitions?.size||(this.dataManager.inclusionModeDefinition={generateAllSublayers:!1,namedTypeDefinitions:new Map},this.dataManager.knowledgeGraph.dataModel.entityTypes?.forEach((e=>{e.name&&this.dataManager.inclusionModeDefinition?.namedTypeDefinitions.set(e.name,{useAllData:!0})})),this.dataManager.knowledgeGraph.dataModel.relationshipTypes?.forEach((e=>{e.name&&this.dataManager.inclusionModeDefinition?.namedTypeDefinitions.set(e.name,{useAllData:!0})}))),this.dataPreloadedInLocalCache)this.loadLayerAssumingLocalCache(),this.dataManager.inclusionModeDefinition&&(this.dataManager.inclusionModeDefinition.generateAllSublayers=!1),this.dataManager.inclusionModeDefinition?.namedTypeDefinitions.forEach((e=>{e.useAllData=!1,e.members?.forEach((e=>{let t;t=e.linkChartLocation instanceof c?e.linkChartLocation:e.linkChartLocation?l(e.linkChartLocation):null,this.linkChartDiagramLookup.set(e.id,t),t&&2===t.coords.length&&0===t.lengths.length?this.linkChartGeohashLookup.set(e.id,s(t.coords[1],t.coords[0],f)):this.linkChartGeohashLookup.set(e.id,"")})),this.addResolvingPromise(this._initializeDiagram().then((async()=>{this.layers.forEach((async e=>{await e.refreshCachedQueryEngine()})),this.tables.forEach((async e=>{await e.refreshCachedQueryEngine()}))})))}));else{const t="GEOGRAPHIC"===this.defaultLinkChartConfig?.layoutMode;this.addResolvingPromise(this.dataManager.refreshCacheContent(void 0,!0,t).then((async()=>{n(e);const t=[],a=[];this.loadLayerAssumingLocalCache(),this.dataManager.inclusionModeDefinition&&(this.dataManager.inclusionModeDefinition.generateAllSublayers=!1,this.dataManager.inclusionModeDefinition.namedTypeDefinitions.forEach((e=>{e.useAllData=!1}))),await this._initializeDiagram(),this.layers.forEach((async e=>{a.push(e.refreshCachedQueryEngine()),t.push(new Promise((t=>{e.on("layerview-create",(async()=>{t(null)}))})))})),this.tables.forEach((async e=>{a.push(e.refreshCachedQueryEngine())})),await Promise.all(a),Promise.all(t).then((async()=>{this.dataManager.refreshCacheContent().then((async()=>{this.layers.forEach((e=>{e.refreshCachedQueryEngine()})),this.tables.forEach((e=>{e.refreshCachedQueryEngine()}))}))}))})))}t(null)}))}))),Promise.resolve(this)}loadLayerAssumingLocalCache(){this.memberRelationshipTypes.forEach((e=>{const t=new g({objectType:e,parentCompositeLayer:this,graphType:"relationship",title:e.name});t.geometryType?this.layers.push(t):this.tables.push(t),this.dataManager.sublayerCaches.has(e.name)||this.dataManager.sublayerCaches.set(e.name,new Map)})),this.memberEntityTypes.forEach((e=>{const t=new g({objectType:e,parentCompositeLayer:this,graphType:"entity",title:e.name});t.geometryType?this.layers.push(t):this.tables.push(t),this.dataManager.sublayerCaches.has(e.name)||this.dataManager.sublayerCaches.set(e.name,new Map)})),this.dataManager.inclusionModeDefinition?.namedTypeDefinitions&&this.dataManager.inclusionModeDefinition?.namedTypeDefinitions.forEach(((e,t)=>{e.members?.forEach((e=>{if(this.sublayerIdsCache.has(t)?this.sublayerIdsCache.get(t)?.push(e.id):this.sublayerIdsCache.set(t,[e.id]),e.linkChartLocation)if(e.linkChartLocation instanceof c)this.linkChartDiagramLookup.set(e.id,e.linkChartLocation),2===e.linkChartLocation.coords.length&&0===e.linkChartLocation.lengths.length?this.linkChartGeohashLookup.set(e.id,s(e.linkChartLocation.coords[1],e.linkChartLocation.coords[0],f)):this.linkChartGeohashLookup.set(e.id,"");else{const t=l(e.linkChartLocation);this.linkChartDiagramLookup.set(e.id,e.linkChartLocation?t:null),"x"in e.linkChartLocation&&"y"in e.linkChartLocation?this.linkChartGeohashLookup.set(e.id,s(e.linkChartLocation.x,e.linkChartLocation.y,f)):this.linkChartGeohashLookup.set(e.id,"")}}))})),Array.from(this.sublayerIdsCache.values()).forEach((e=>e.sort()))}async calculateLinkChartLayout(e="RADIAL_TREE",t){const n=[],o=[];this.dataManager.sublayerCaches.forEach(((e,t)=>{this.dataManager.entityTypeNames.has(t)?e.forEach((e=>{n.push({typeName:t,feature:e})})):this.dataManager.relationshipTypeNames.has(t)&&e.forEach((e=>{o.push({typeName:t,feature:e})}))})),this.linkChartDiagramLookup=new Map;const r=new Map,h=new Map,c=new Map,d=new Map,g=new Uint8Array(n.length),k=new Float64Array(n.length),C=new Float64Array(n.length),G=new Uint32Array(o.length),A=new Uint32Array(o.length),I=[],P=t?.geographicStrategy??"FORCE_DIRECTED",N=t?.xScaleFactor??1,S=t?.yScaleFactor??1,_=new v({xmin:-1e-7,ymin:-1e-7,xmax:1e-7,ymax:1e-7});let z,F="FORCE_DIRECTED",O=0,U=0;switch(F="GEOGRAPHIC"===e?P:e,F){case"FORCE_DIRECTED":z=E.apply;break;case"COMMUNITY":z=x.apply;break;case"HIERARCHICAL":z=w.apply;break;case"RADIAL_TREE":z=M.apply;break;case"SMART_TREE":z=b.apply;break;default:z=L.apply}n.forEach((({typeName:a,feature:i})=>{if(t?.lockedNodeLocations?.has(i.attributes[u])){"GEOGRAPHIC"===e&&this.dataManager.geographicLookup.has(a)?g[O]=D.IsGeographic:g[O]=D.None;const n=t.lockedNodeLocations.get(i.attributes[u]);k[O]=n.x,C[O]=n.y}else if("GEOGRAPHIC"===e&&this.dataManager.geographicLookup.has(a)){g[O]=D.IsGeographic;let e=null;const t=i.attributes[this.dataManager.geographicLookup.get(a).name],n=this.dataManager.geographicLookup.get(a)?.geometryType;switch(n){case"esriGeometryPoint":k[O]=t?.x,C[O]=t?.y;break;case"esriGeometryPolygon":e=t?.centroid,e?.x&&e?.y?(k[O]=e?.x,C[O]=e?.y):g[O]=D.IsMovable;break;case"esriGeometryPolyline":case"esriGeometryMultipoint":e=t?.extent?.center,e?.x&&e?.y?(k[O]=e?.x,C[O]=e?.y):g[O]=D.IsMovable;break;default:g[O]=D.IsMovable}k[O]||(k[O]=0),C[O]||(C[O]=0)}else g[O]=D.IsMovable,k[O]=0,C[O]=0;d.set(i.attributes[u],O),I[O]={feature:i,typeName:a},O++})),o.forEach((e=>{const t=d.get(e.feature.attributes[p]),a=d.get(e.feature.attributes[y]);void 0!==t&&void 0!==a?(G[U]=t,A[U]=a,U++):(i.getLogger(this.declaredClass).warn("A relationship is a member of this layer that has either origin or destination entity nodes that are not members. The diagram geometry will be set to null"),this.linkChartDiagramLookup.set(e.feature.attributes[p],null),this.linkChartGeohashLookup.set(e.feature.attributes[p],null))})),await T();if(!z(g,k,C,G,A))throw new a("knowledge-graph:layout-failed","Attempting to arrange the records in the specified layout failed");for(let a=0;a<I.length;a++){if(g[a]===D.IsMovable&&(k[a]=k[a]*N,C[a]=C[a]*S),C[a]>84.9999&&(C[a]=84.9999),C[a]<-84.9999&&(C[a]=-84.9999),k[a]>179.9999&&(k[a]=179.9999),k[a]<-179.9999&&(k[a]=-179.9999),I[a].feature.attributes[m]=new R(k[a],C[a]),r.has(I[a].typeName)){const e=r.get(I[a].typeName);e?.set(I[a].feature.attributes[u],I[a].feature)}else{const e=new Map;e.set(I[a].feature.attributes[u],I[a].feature),r.set(I[a].typeName,e)}c.set(I[a].feature.attributes[u],I[a].feature);const e=l(I[a].feature.attributes[m]);this.linkChartDiagramLookup.set(I[a].feature.attributes[u],I[a].feature.attributes[m]?e:null),this.linkChartGeohashLookup.set(I[a].feature.attributes[u],s(I[a].feature.attributes[m].y,I[a].feature.attributes[m].x,f)),I[a].feature.attributes[m].x<_.xmin&&(_.xmin=I[a].feature.attributes[m].x),I[a].feature.attributes[m].x>_.xmax&&(_.xmax=I[a].feature.attributes[m].x),I[a].feature.attributes[m].y<_.ymin&&(_.ymin=I[a].feature.attributes[m].y),I[a].feature.attributes[m].y>_.ymax&&(_.ymax=I[a].feature.attributes[m].y)}return this.linkChartExtent.xmin=_.xmin,this.linkChartExtent.xmax=_.xmax,this.linkChartExtent.ymin=_.ymin,this.linkChartExtent.ymax=_.ymax,o.forEach((e=>{const t=I[d.get(e.feature.attributes[p])]?.feature.attributes[m],a=I[d.get(e.feature.attributes[y])]?.feature.attributes[m];if(!t||!a)return;const i=new j({paths:[[t.x,t.y],[a.x,a.y]]});if(e.feature.attributes[m]=i,h.has(e.typeName)){const t=h.get(e.typeName);t?.set(e.feature.attributes[u],e.feature)}else{const t=new Map;t.set(e.feature.attributes[u],e.feature),h.set(e.typeName,t)}c.set(e.feature.attributes[u],e.feature);const n=l(e.feature.attributes[m]);this.linkChartDiagramLookup.set(e.feature.attributes[u],e.feature.attributes[m]?n:null),this.linkChartGeohashLookup.set(e.feature.attributes[u],"")})),{nodes:r,links:h,idMap:c}}async applyNewLinkChartLayout(e="RADIAL_TREE",t){const a=[];await this.calculateLinkChartLayout(e,t),this.layers.forEach((e=>{a.push(e.refreshCachedQueryEngine())})),await Promise.all(a),this.layers.forEach((e=>{e.emit("refresh",{dataChanged:!0})}))}async synchronizeInclusionListWithCache(){return new Promise((e=>{this.dataManager.inclusionModeDefinition?.namedTypeDefinitions.forEach(((e,t)=>{if(e.useAllData=!1,e.members&&e.members.size>0){if(!this.dataManager.sublayerCaches.get(t))return;const a=Array.from(this.dataManager.sublayerCaches.get(t).keys());Array.from(e.members.keys()).filter((e=>!a.includes(e))).forEach((t=>{e.members?.delete(t)}))}})),e()}))}async _initializeDiagram(){if(this.defaultLinkChartConfig)if(this.defaultLinkChartConfig.doNotRecalculateLayout)this.dataManager.inclusionModeDefinition?.namedTypeDefinitions?.forEach((e=>{e?.members?.forEach((e=>{const t=e.linkChartLocation;let a;const i=e.id;if(!t)return;a="x"in t?{x:t.x,y:t.y}:{x:t.coords[0],y:t.coords[1]};const n=l(a);this.linkChartDiagramLookup.set(i,n),this.linkChartGeohashLookup.set(i,s(a.x,a.y,f)),this.linkChartExtent.xmin>a.x&&(this.linkChartExtent.xmin=a.x),this.linkChartExtent.xmax<a.x&&(this.linkChartExtent.xmax=a.x),this.linkChartExtent.ymin>a.y&&(this.linkChartExtent.ymin=a.y),this.linkChartExtent.ymax<a.y&&(this.linkChartExtent.ymax=a.y)}))})),this.memberRelationshipTypes.forEach((e=>{e.name&&this.dataManager.sublayerCaches.get(e.name)?.forEach((e=>{const t=this.linkChartDiagramLookup.get(e.attributes[p]),a=this.linkChartDiagramLookup.get(e.attributes[y]);if(t&&a){const i=l(new j({paths:[[t.coords[0],t.coords[1]],[a.coords[0],a.coords[1]]]}));this.linkChartDiagramLookup.set(e.attributes[u],i)}else this.linkChartDiagramLookup.set(e.attributes[u],null);this.linkChartGeohashLookup.set(e.attributes[u],"")}))}));else{const e=new Map;this.dataManager.inclusionModeDefinition?.namedTypeDefinitions?.forEach((t=>{t?.members?.forEach((t=>{const a=t.linkChartLocation;let i;const n=t.id;a&&(i="x"in a?{x:a.x,y:a.y}:{x:a.coords[0],y:a.coords[1]},e.set(n,new R({x:i.x,y:i.y})))}))})),await this.calculateLinkChartLayout(this.defaultLinkChartConfig.layoutMode,{xScaleFactor:this.defaultLinkChartConfig.xScaleFactor,yScaleFactor:this.defaultLinkChartConfig.yScaleFactor,lockedNodeLocations:e})}else await this.calculateLinkChartLayout()}};e([o()],P.prototype,"dataPreloadedInLocalCache",void 0),e([o()],P.prototype,"defaultLinkChartConfig",void 0),e([o()],P.prototype,"dataManager",void 0),e([o()],P.prototype,"knowledgeGraph",void 0),e([o()],P.prototype,"layers",void 0),e([o()],P.prototype,"linkChartDiagramLookup",void 0),e([o()],P.prototype,"linkChartExtent",void 0),e([o()],P.prototype,"linkChartGeohashLookup",void 0),e([o()],P.prototype,"memberEntityTypes",void 0),e([o()],P.prototype,"memberRelationshipTypes",void 0),e([o()],P.prototype,"sublayerIdsCache",void 0),e([o()],P.prototype,"tables",void 0),e([o({json:{read:!1}})],P.prototype,"type",void 0),P=e([r("esri.layers.LinkChartLayer")],P);const N=P;export{N as default};
|
|
5
|
+
import{_ as e}from"../chunks/tslib.es6.js";import"../geometry.js";import t from"../core/Collection.js";import a from"../core/Error.js";import i from"../core/Logger.js";import{throwIfAborted as n}from"../core/promiseUtils.js";import{property as o}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as r}from"../core/accessorSupport/decorators/subclass.js";import{encodeGeohash as s}from"../geohash/geohashUtils.js";import h from"./Layer.js";import{convertFromGeometry as l}from"./graphics/featureConversionUtils.js";import c from"./graphics/OptimizedGeometry.js";import{KnowledgeGraphLayerDataManager as d,MOCK_OID_FIELD_NAME as u,MOCK_ORIGIN_ID_FIELD_NAME as p,MOCK_DESTINATION_ID_FIELD_NAME as y,MOCK_LAYOUT_GEOMETRY_FIELD_NAME as m,GEOHASH_ENCODING_PRECISION as f}from"./knowledgeGraph/KnowledgeGraphLayerDataManager.js";import g from"./knowledgeGraph/KnowledgeGraphSubLayer.js";import{BlendLayer as k}from"./mixins/BlendLayer.js";import{ScaleRangeLayer as C}from"./mixins/ScaleRangeLayer.js";import{LCSimpleLayout as L,LCSmartTreeLayout as b,LCRadialTreeLayout as M,LCHierarchicalLayout as w,LCCommunityLayout as x,LCForceDirectedLayout as E,NodeFlag as D,load as T}from"../libs/linkchartlayout/LinkChartLayout.js";import{fetchKnowledgeGraph as G}from"../rest/knowledgeGraphService.js";import A from"../rest/knowledgeGraph/EntityType.js";import I from"../rest/knowledgeGraph/RelationshipType.js";import v from"../geometry/Extent.js";import R from"../geometry/Point.js";import j from"../geometry/Polyline.js";let P=class extends(k(C(h))){constructor(e){if(super(e),this.dataPreloadedInLocalCache=!1,this.layers=new t,this.linkChartDiagramLookup=new Map,this.linkChartExtent=new v({xmin:-1e-7,ymin:-1e-7,xmax:1e-7,ymax:1e-7}),this.linkChartGeohashLookup=new Map,this.sublayerIdsCache=new Map,this.tables=new t,this.type="link-chart",this._originalInclusionList=e.inclusionModeDefinition,e.dataPreloadedInLocalCache&&!e.inclusionModeDefinition)throw new a("knowledge-graph:linkchart-layer-constructor","If creating a link chart composite layer and configured that data is already loaded in the cache, you must specify an inclusion list so the Composite Layer knows what records belong to it")}normalizeCtorArgs(e){return{url:e.url,title:e.title,dataPreloadedInLocalCache:e.dataPreloadedInLocalCache,defaultLinkChartConfig:e.defaultLinkChartConfig}}_initializeLayerProperties(e){if(!this.title&&this.url){const e=this.url.split("/");this.title=e[e.length-2]}const t=new Set,n=new Map;let o=[],r=[];if(e.inclusionModeDefinition&&(!e.inclusionModeDefinition.namedTypeDefinitions||e.inclusionModeDefinition.namedTypeDefinitions.size<1))throw new a("knowledge-graph:composite-layer-constructor","If an explicit inclusion definition is defined, at least one namedTypeDefinition must also be defined");e.inclusionModeDefinition?.generateAllSublayers?(o=e.knowledgeGraph.dataModel.entityTypes??[],r=e.knowledgeGraph.dataModel.relationshipTypes??[]):e.inclusionModeDefinition?.namedTypeDefinitions&&e.inclusionModeDefinition?.namedTypeDefinitions.size>0?(e.knowledgeGraph.dataModel.entityTypes?.forEach((e=>{e.name&&n.set(e.name,e)})),e.knowledgeGraph.dataModel.relationshipTypes?.forEach((e=>{e.name&&n.set(e.name,e)})),e.inclusionModeDefinition?.namedTypeDefinitions.forEach(((a,s)=>{if(!n.get(s))return i.getLogger(this.declaredClass).warn(`A named type, ${s}, was in the inclusion list that wasn't in the data model and will be removed`),void e.inclusionModeDefinition?.namedTypeDefinitions.delete(s);n.get(s)instanceof I||"strictOrigin"in n.get(s)?t.has(s)||(t.add(s),r.push(n.get(s))):n.get(s)instanceof A||"properties"in n.get(s)?t.has(s)||(t.add(s),o.push(n.get(s))):(i.getLogger(this.declaredClass).warn(`A named type, ${s}, was in the inclusion list that wasn't properly modeled and will be removed`),e.inclusionModeDefinition?.namedTypeDefinitions.delete(s))}))):(o=e.knowledgeGraph.dataModel.entityTypes??[],r=e.knowledgeGraph.dataModel.relationshipTypes??[]);const s=new d({knowledgeGraph:e.knowledgeGraph,inclusionModeDefinition:e.inclusionModeDefinition});this.knowledgeGraph=e.knowledgeGraph,this.memberEntityTypes=o,this.memberRelationshipTypes=r,this.dataManager=s}load(e){return this.addResolvingPromise(new Promise((t=>{G(this.url).then((a=>{let i=!1;if(this._initializeLayerProperties({knowledgeGraph:a,inclusionModeDefinition:this._originalInclusionList}),this.dataManager.inclusionModeDefinition?.namedTypeDefinitions?.size||(i=!0,this.dataManager.inclusionModeDefinition={generateAllSublayers:!1,namedTypeDefinitions:new Map},this.dataManager.knowledgeGraph.dataModel.entityTypes?.forEach((e=>{e.name&&this.dataManager.inclusionModeDefinition?.namedTypeDefinitions.set(e.name,{useAllData:!0})})),this.dataManager.knowledgeGraph.dataModel.relationshipTypes?.forEach((e=>{e.name&&this.dataManager.inclusionModeDefinition?.namedTypeDefinitions.set(e.name,{useAllData:!0})}))),this.dataPreloadedInLocalCache)this.loadLayerAssumingLocalCache(),this.dataManager.inclusionModeDefinition&&(this.dataManager.inclusionModeDefinition.generateAllSublayers=!1),this.dataManager.inclusionModeDefinition?.namedTypeDefinitions.forEach((e=>{e.useAllData=!1,e.members?.forEach((e=>{let t;t=e.linkChartLocation instanceof c?e.linkChartLocation:e.linkChartLocation?l(e.linkChartLocation):null,this.linkChartDiagramLookup.set(e.id,t),t&&2===t.coords.length&&0===t.lengths.length?this.linkChartGeohashLookup.set(e.id,s(t.coords[1],t.coords[0],f)):this.linkChartGeohashLookup.set(e.id,"")})),this.addResolvingPromise(this._initializeDiagram().then((async()=>{this.layers.forEach((async e=>{await e.refreshCachedQueryEngine()})),this.tables.forEach((async e=>{await e.refreshCachedQueryEngine()}))})))}));else{const t="GEOGRAPHIC"===this.defaultLinkChartConfig?.layoutMode;this.addResolvingPromise(this.dataManager.refreshCacheContent(void 0,!0,t,i).then((async()=>{n(e);const t=[],a=[];this.loadLayerAssumingLocalCache(),this.dataManager.inclusionModeDefinition&&(this.dataManager.inclusionModeDefinition.generateAllSublayers=!1,this.dataManager.inclusionModeDefinition.namedTypeDefinitions.forEach((e=>{e.useAllData=!1}))),await this._initializeDiagram(),this.layers.forEach((async e=>{a.push(e.refreshCachedQueryEngine()),t.push(new Promise((t=>{e.on("layerview-create",(async()=>{t(null)}))})))})),this.tables.forEach((async e=>{a.push(e.refreshCachedQueryEngine())})),await Promise.all(a),Promise.all(t).then((async()=>{this.dataManager.refreshCacheContent().then((async()=>{this.layers.forEach((e=>{e.refreshCachedQueryEngine()})),this.tables.forEach((e=>{e.refreshCachedQueryEngine()}))}))}))})))}t(null)}))}))),Promise.resolve(this)}loadLayerAssumingLocalCache(){this.memberRelationshipTypes.forEach((e=>{const t=new g({objectType:e,parentCompositeLayer:this,graphType:"relationship",title:e.name});t.geometryType?this.layers.push(t):this.tables.push(t),this.dataManager.sublayerCaches.has(e.name)||this.dataManager.sublayerCaches.set(e.name,new Map)})),this.memberEntityTypes.forEach((e=>{const t=new g({objectType:e,parentCompositeLayer:this,graphType:"entity",title:e.name});t.geometryType?this.layers.push(t):this.tables.push(t),this.dataManager.sublayerCaches.has(e.name)||this.dataManager.sublayerCaches.set(e.name,new Map)})),this.dataManager.inclusionModeDefinition?.namedTypeDefinitions&&this.dataManager.inclusionModeDefinition?.namedTypeDefinitions.forEach(((e,t)=>{e.members?.forEach((e=>{if(this.sublayerIdsCache.has(t)?this.sublayerIdsCache.get(t)?.push(e.id):this.sublayerIdsCache.set(t,[e.id]),e.linkChartLocation)if(e.linkChartLocation instanceof c)this.linkChartDiagramLookup.set(e.id,e.linkChartLocation),2===e.linkChartLocation.coords.length&&0===e.linkChartLocation.lengths.length?this.linkChartGeohashLookup.set(e.id,s(e.linkChartLocation.coords[1],e.linkChartLocation.coords[0],f)):this.linkChartGeohashLookup.set(e.id,"");else{const t=l(e.linkChartLocation);this.linkChartDiagramLookup.set(e.id,e.linkChartLocation?t:null),"x"in e.linkChartLocation&&"y"in e.linkChartLocation?this.linkChartGeohashLookup.set(e.id,s(e.linkChartLocation.x,e.linkChartLocation.y,f)):this.linkChartGeohashLookup.set(e.id,"")}}))})),Array.from(this.sublayerIdsCache.values()).forEach((e=>e.sort()))}async calculateLinkChartLayout(e="RADIAL_TREE",t){const n=[],o=[];this.dataManager.sublayerCaches.forEach(((e,t)=>{this.dataManager.entityTypeNames.has(t)?e.forEach((e=>{n.push({typeName:t,feature:e})})):this.dataManager.relationshipTypeNames.has(t)&&e.forEach((e=>{o.push({typeName:t,feature:e})}))})),this.linkChartDiagramLookup=new Map;const r=new Map,h=new Map,c=new Map,d=new Map,g=new Uint8Array(n.length),k=new Float64Array(n.length),C=new Float64Array(n.length),G=new Uint32Array(o.length),A=new Uint32Array(o.length),I=[],P=t?.geographicStrategy??"FORCE_DIRECTED",N=t?.xScaleFactor??1,S=t?.yScaleFactor??1,_=new v({xmin:-1e-7,ymin:-1e-7,xmax:1e-7,ymax:1e-7});let z,F="FORCE_DIRECTED",O=0,U=0;switch(F="GEOGRAPHIC"===e?P:e,F){case"FORCE_DIRECTED":z=E.apply;break;case"COMMUNITY":z=x.apply;break;case"HIERARCHICAL":z=w.apply;break;case"RADIAL_TREE":z=M.apply;break;case"SMART_TREE":z=b.apply;break;default:z=L.apply}n.forEach((({typeName:a,feature:i})=>{if(t?.lockedNodeLocations?.has(i.attributes[u])){"GEOGRAPHIC"===e&&this.dataManager.geographicLookup.has(a)?g[O]=D.IsGeographic:g[O]=D.None;const n=t.lockedNodeLocations.get(i.attributes[u]);k[O]=n.x,C[O]=n.y}else if("GEOGRAPHIC"===e&&this.dataManager.geographicLookup.has(a)){g[O]=D.IsGeographic;let e=null;const t=i.attributes[this.dataManager.geographicLookup.get(a).name],n=this.dataManager.geographicLookup.get(a)?.geometryType;switch(n){case"esriGeometryPoint":k[O]=t?.x,C[O]=t?.y;break;case"esriGeometryPolygon":e=t?.centroid,e?.x&&e?.y?(k[O]=e?.x,C[O]=e?.y):g[O]=D.IsMovable;break;case"esriGeometryPolyline":case"esriGeometryMultipoint":e=t?.extent?.center,e?.x&&e?.y?(k[O]=e?.x,C[O]=e?.y):g[O]=D.IsMovable;break;default:g[O]=D.IsMovable}k[O]||(k[O]=0),C[O]||(C[O]=0)}else g[O]=D.IsMovable,k[O]=0,C[O]=0;d.set(i.attributes[u],O),I[O]={feature:i,typeName:a},O++})),o.forEach((e=>{const t=d.get(e.feature.attributes[p]),a=d.get(e.feature.attributes[y]);void 0!==t&&void 0!==a?(G[U]=t,A[U]=a,U++):(i.getLogger(this.declaredClass).warn("A relationship is a member of this layer that has either origin or destination entity nodes that are not members. The diagram geometry will be set to null"),this.linkChartDiagramLookup.set(e.feature.attributes[p],null),this.linkChartGeohashLookup.set(e.feature.attributes[p],null))})),await T();if(!z(g,k,C,G,A))throw new a("knowledge-graph:layout-failed","Attempting to arrange the records in the specified layout failed");for(let a=0;a<I.length;a++){if(g[a]===D.IsMovable&&(k[a]=k[a]*N,C[a]=C[a]*S),C[a]>84.9999&&(C[a]=84.9999),C[a]<-84.9999&&(C[a]=-84.9999),k[a]>179.9999&&(k[a]=179.9999),k[a]<-179.9999&&(k[a]=-179.9999),I[a].feature.attributes[m]=new R(k[a],C[a]),r.has(I[a].typeName)){const e=r.get(I[a].typeName);e?.set(I[a].feature.attributes[u],I[a].feature)}else{const e=new Map;e.set(I[a].feature.attributes[u],I[a].feature),r.set(I[a].typeName,e)}c.set(I[a].feature.attributes[u],I[a].feature);const e=l(I[a].feature.attributes[m]);this.linkChartDiagramLookup.set(I[a].feature.attributes[u],I[a].feature.attributes[m]?e:null),this.linkChartGeohashLookup.set(I[a].feature.attributes[u],s(I[a].feature.attributes[m].y,I[a].feature.attributes[m].x,f)),I[a].feature.attributes[m].x<_.xmin&&(_.xmin=I[a].feature.attributes[m].x),I[a].feature.attributes[m].x>_.xmax&&(_.xmax=I[a].feature.attributes[m].x),I[a].feature.attributes[m].y<_.ymin&&(_.ymin=I[a].feature.attributes[m].y),I[a].feature.attributes[m].y>_.ymax&&(_.ymax=I[a].feature.attributes[m].y)}return this.linkChartExtent.xmin=_.xmin,this.linkChartExtent.xmax=_.xmax,this.linkChartExtent.ymin=_.ymin,this.linkChartExtent.ymax=_.ymax,o.forEach((e=>{const t=I[d.get(e.feature.attributes[p])]?.feature.attributes[m],a=I[d.get(e.feature.attributes[y])]?.feature.attributes[m];if(!t||!a)return;const i=new j({paths:[[t.x,t.y],[a.x,a.y]]});if(e.feature.attributes[m]=i,h.has(e.typeName)){const t=h.get(e.typeName);t?.set(e.feature.attributes[u],e.feature)}else{const t=new Map;t.set(e.feature.attributes[u],e.feature),h.set(e.typeName,t)}c.set(e.feature.attributes[u],e.feature);const n=l(e.feature.attributes[m]);this.linkChartDiagramLookup.set(e.feature.attributes[u],e.feature.attributes[m]?n:null),this.linkChartGeohashLookup.set(e.feature.attributes[u],"")})),{nodes:r,links:h,idMap:c}}async applyNewLinkChartLayout(e="RADIAL_TREE",t){const a=[];await this.calculateLinkChartLayout(e,t),this.layers.forEach((e=>{a.push(e.refreshCachedQueryEngine())})),await Promise.all(a),this.layers.forEach((e=>{e.emit("refresh",{dataChanged:!0})}))}async synchronizeInclusionListWithCache(){return new Promise((e=>{this.dataManager.inclusionModeDefinition?.namedTypeDefinitions.forEach(((e,t)=>{if(e.useAllData=!1,e.members&&e.members.size>0){if(!this.dataManager.sublayerCaches.get(t))return;const a=Array.from(this.dataManager.sublayerCaches.get(t).keys());Array.from(e.members.keys()).filter((e=>!a.includes(e))).forEach((t=>{e.members?.delete(t)}))}})),e()}))}async _initializeDiagram(){if(this.defaultLinkChartConfig)if(this.defaultLinkChartConfig.doNotRecalculateLayout)this.dataManager.inclusionModeDefinition?.namedTypeDefinitions?.forEach((e=>{e?.members?.forEach((e=>{const t=e.linkChartLocation;let a;const i=e.id;if(!t)return;a="x"in t?{x:t.x,y:t.y}:{x:t.coords[0],y:t.coords[1]};const n=l(a);this.linkChartDiagramLookup.set(i,n),this.linkChartGeohashLookup.set(i,s(a.x,a.y,f)),this.linkChartExtent.xmin>a.x&&(this.linkChartExtent.xmin=a.x),this.linkChartExtent.xmax<a.x&&(this.linkChartExtent.xmax=a.x),this.linkChartExtent.ymin>a.y&&(this.linkChartExtent.ymin=a.y),this.linkChartExtent.ymax<a.y&&(this.linkChartExtent.ymax=a.y)}))})),this.memberRelationshipTypes.forEach((e=>{e.name&&this.dataManager.sublayerCaches.get(e.name)?.forEach((e=>{const t=this.linkChartDiagramLookup.get(e.attributes[p]),a=this.linkChartDiagramLookup.get(e.attributes[y]);if(t&&a){const i=l(new j({paths:[[t.coords[0],t.coords[1]],[a.coords[0],a.coords[1]]]}));this.linkChartDiagramLookup.set(e.attributes[u],i)}else this.linkChartDiagramLookup.set(e.attributes[u],null);this.linkChartGeohashLookup.set(e.attributes[u],"")}))}));else{const e=new Map;this.dataManager.inclusionModeDefinition?.namedTypeDefinitions?.forEach((t=>{t?.members?.forEach((t=>{const a=t.linkChartLocation;let i;const n=t.id;a&&(i="x"in a?{x:a.x,y:a.y}:{x:a.coords[0],y:a.coords[1]},e.set(n,new R({x:i.x,y:i.y})))}))})),await this.calculateLinkChartLayout(this.defaultLinkChartConfig.layoutMode,{xScaleFactor:this.defaultLinkChartConfig.xScaleFactor,yScaleFactor:this.defaultLinkChartConfig.yScaleFactor,lockedNodeLocations:e})}else await this.calculateLinkChartLayout()}};e([o()],P.prototype,"dataPreloadedInLocalCache",void 0),e([o()],P.prototype,"defaultLinkChartConfig",void 0),e([o()],P.prototype,"dataManager",void 0),e([o()],P.prototype,"knowledgeGraph",void 0),e([o()],P.prototype,"layers",void 0),e([o()],P.prototype,"linkChartDiagramLookup",void 0),e([o()],P.prototype,"linkChartExtent",void 0),e([o()],P.prototype,"linkChartGeohashLookup",void 0),e([o()],P.prototype,"memberEntityTypes",void 0),e([o()],P.prototype,"memberRelationshipTypes",void 0),e([o()],P.prototype,"sublayerIdsCache",void 0),e([o()],P.prototype,"tables",void 0),e([o({json:{read:!1}})],P.prototype,"type",void 0),P=e([r("esri.layers.LinkChartLayer")],P);const N=P;export{N as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.27/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../core/Accessor.js";import n from"../../core/Error.js";import o from"../../core/Logger.js";import{parseWhereClause as i}from"../../core/sql.js";import{property as r}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";import{encodeGeohash as a}from"../../geohash/geohashUtils.js";import p from"../../geometry/Polygon.js";import{initializeProjection as l,project as m}from"../../geometry/projection.js";import{WGS84 as d}from"../../geometry/support/spatialReferenceUtils.js";import h from"./SessionMemoryStorage.js";import{executeQueryStreaming as c}from"../../rest/knowledgeGraphService.js";import y from"../../rest/knowledgeGraph/GraphQueryStreaming.js";import u from"../../rest/support/Query.js";const f="ESRI__ID",g="ESRI__ORIGIN_ID",w="ESRI__DESTINATION_ID",T="ESRI__LAYOUT_GEOMETRY",b=12,D=o.getLogger("esri.rest.knowledgeGraph.knowledgeGraphLayer.KnowledgeGraphLayerDataManager");let I=class extends t{constructor(e){super(e),this.inclusionModeDefinition={generateAllSublayers:!0,namedTypeDefinitions:new Map},this.entityTypeNames=new Set,this.relationshipTypeNames=new Set,this.geographicLookup=new Map,this.sublayerCaches=new Map,this._processingCacheUpdatesLookup=new Map,this._memberIdTypeLookup=new Map;const t=new Map;e.knowledgeGraph.dataModel.entityTypes?.forEach((n=>{n.name&&(t.set(n.name,"entity"),this._processingCacheUpdatesLookup.set(n.name,[]),e.inclusionModeDefinition&&!e.inclusionModeDefinition?.generateAllSublayers||this.entityTypeNames.add(n.name),n.properties?.forEach((e=>{e.geometryType&&"esriGeometryNull"!==e.geometryType&&this.geographicLookup.set(n.name,{name:e.name??"",geometryType:e.geometryType})})))})),e.knowledgeGraph.dataModel.relationshipTypes?.forEach((n=>{n.name&&(t.set(n.name,"relationship"),this._processingCacheUpdatesLookup.set(n.name,[]),e.inclusionModeDefinition&&!e.inclusionModeDefinition?.generateAllSublayers||this.relationshipTypeNames.add(n.name),n.properties?.forEach((e=>{e.geometryType&&"esriGeometryNull"!==e.geometryType&&this.geographicLookup.set(n.name,{name:e.name??"",geometryType:e.geometryType})})))})),e.inclusionModeDefinition?.namedTypeDefinitions.forEach(((n,o)=>{if("entity"===t.get(o))this.entityTypeNames.add(o);else{if("relationship"!==t.get(o))return D.warn(`A named type, ${o}, was in the inclusion list that wasn't in the data model and will be removed`),void e.inclusionModeDefinition?.namedTypeDefinitions.delete(o);this.relationshipTypeNames.add(o)}const i=new Map;n.members?.forEach((e=>{this._memberIdTypeLookup.set(e.id,o);const t=this.getById(e.id);t&&i.set(e.id,t)})),this.sublayerCaches.set(o,i)}))}async addToLayerInclusionSet(e,t=!1){e.forEach(((e,t)=>{if(!this.inclusionModeDefinition)throw new n("knowledge-graph:layer-data-manager","You cannot add to a layer's exclusion list if it was not created with an exclusion list originally");if(this.inclusionModeDefinition.namedTypeDefinitions.has(e)){if(this.inclusionModeDefinition.namedTypeDefinitions.has(e)){const o=this.inclusionModeDefinition.namedTypeDefinitions.get(e);if(o.useAllData)throw new n("knowledge-graph:layer-data-manager","You cannot add members to an exclusion list for a sublayer where the sublayer is set to always retrieve its entire data set");o.members||(o.members=new Map),o.members.set(t,{id:t}),this._memberIdTypeLookup.set(t,e)}}else{const n=new Map;n.set(t,{id:t}),this.inclusionModeDefinition.namedTypeDefinitions.set(e,{useAllData:!1,members:n}),this._memberIdTypeLookup.set(t,e)}})),t&&await this.refreshCacheContent(Array.from(e.keys()))}getById(e){return h.getInstance().readFromStoreById(e)}async getData(e,t,n){if(t.objectType.name&&this.inclusionModeDefinition?.namedTypeDefinitions&&this.inclusionModeDefinition.namedTypeDefinitions.size>0&&!this.inclusionModeDefinition.namedTypeDefinitions.has(t.objectType.name))return[];let o;if(o=e||new u({where:"1=1",outFields:["*"]}),"link-chart"===t.parentCompositeLayer.type){const e=t.parentCompositeLayer,n=this._processingCacheUpdatesLookup.get(t.objectType.name??""),i=o.outFields,r=o.geometry;let s="",p="";r&&r.extent&&(s=a(r.extent.ymin,r.extent.xmin,b),p=a(r.extent.ymax,r.extent.xmax,b)),i&&1===i.length&&i[0]===f&&"1=1"===o.where||await Promise.all(n??[]);const l=this.sublayerCaches.has(t.objectType.name??"")?Array.from(this.sublayerCaches.get(t.objectType.name)?.values()):[],m=[];return l.forEach((n=>{if(n.geometry=e.linkChartDiagramLookup.get(n.attributes[t.objectIdField]),n.attributes[T]=n.geometry,s&&p){const o=e.linkChartGeohashLookup.get(n.attributes[t.objectIdField]);o?o>=s&&o<=p&&m.push(n):m.push(n)}else m.push(n)})),m}return this.retrieveDataFromService(o,t,n)}async refreshCacheContent(e,t,o){const i=h.getInstance(),r=[],s=new Map,a=new Map;this.knowledgeGraph.dataModel.entityTypes?.forEach((e=>{e.name&&a.set(e.name,e)})),this.knowledgeGraph.dataModel.relationshipTypes?.forEach((e=>{e.name&&a.set(e.name,e)})),e||this.inclusionModeDefinition?e?e.forEach((e=>{if(this._memberIdTypeLookup.has(e)){const t=this._memberIdTypeLookup.get(e);s.has(t)?s.get(t)?.push(e):s.set(t,[e])}})):this.inclusionModeDefinition?.namedTypeDefinitions?.forEach(((e,t)=>{e.useAllData?s.set(t,null):e.members&&e.members.forEach((e=>{s.has(t)&&null!==s.get(t)?s.get(t)?.push(e.id):s.set(t,[e.id])}))})):(this.knowledgeGraph.dataModel.entityTypes?.forEach((e=>{e.name&&s.set(e.name,null)})),this.knowledgeGraph.dataModel.entityTypes?.forEach((e=>{e.name&&s.set(e.name,null)})));for(const[p,l]of s){const e=new Promise((e=>{const r=async()=>{const e=new Set,r=[];let s,m="",d=!1;if(t||a.get(p)?.properties?.forEach((t=>{t.name&&e.add(t.name)})),o&&this.geographicLookup.has(p)){const t=this.geographicLookup.get(p)?.name;t&&e.add(t)}if(this.entityTypeNames.has(p))m=`MATCH (n:${p}) ${l?"WHERE id(n) IN $ids ":""}return ID(n)`,e.forEach((e=>{m+=`, n.${e}`,r.push(e)}));else{if(!this.relationshipTypeNames.has(p))throw new n("knowledge-graph:layer-data-manager",`The graph type of ${p} could not be determined. Was this type set in the KG data model?`);d=!0,m=`MATCH ()-[n:${p}]->() ${l?"WHERE id(n) IN $ids ":""}return ID(n), id(startNode(n)), id(endNode(n))`}s=new y(l?{openCypherQuery:m,bindParameters:{ids:l}}:{openCypherQuery:m});const h=(await c(this.knowledgeGraph,s)).resultRowsStream.getReader();for(;;){const{done:e,value:t}=await h.read();if(e)break;const n=[];for(let i=0;i<t.length;i++){const e=t[i];let o=0,s=0;const a={properties:{}};for(a.id=e[o],o++,s++,d&&(a.originId=e[o],o++,s++,a.destinationId=e[o],o++,s++);o<e.length;o++)a.properties[r[o-s]]=e[o];n.push(a)}const o=i.writeToStore(n,f,this.geographicLookup.get(p)?.name);this.sublayerCaches.has(p)||this.sublayerCaches.set(p,new Map);const s=this.sublayerCaches.get(p);o.forEach((e=>{s?.set(e.attributes[f],e)}))}};r().then((()=>{e(null)}))}));r.push(e),this._processingCacheUpdatesLookup.get(p)?.push(e)}await Promise.all(r)}removeFromLayer(e){const t=new Set;e.forEach((e=>{this._memberIdTypeLookup.get(e)&&t.add(this._memberIdTypeLookup.get(e)),this._memberIdTypeLookup.delete(e),this.inclusionModeDefinition?.namedTypeDefinitions.forEach((t=>{t.members?.has(e)&&t.members.delete(e)}))})),t.forEach((t=>{this.sublayerCaches.get(t)?.forEach(((n,o)=>{e.includes(o)&&this.sublayerCaches.get(t)?.delete(o)}))}))}async retrieveDataFromService(e,t,n){const o=h.getInstance(),r=new Set,s=[];let a,u="",g=[],w=t.parentCompositeLayer.sublayerIdsCache.get(t.objectType.name);const T="relationship"===t.graphType;if(!this.inclusionModeDefinition?.namedTypeDefinitions?.get(t.objectType.name)?.useAllData)if(null!=e.objectIds&&w&&w.length>0){const t=e.objectIds;e.objectIds=w.filter((e=>t.includes(e)))}else if(null!=e.objectIds)w=e.objectIds;else{if(this.inclusionModeDefinition?.namedTypeDefinitions.has(t.objectType.name)&&(!this.inclusionModeDefinition.namedTypeDefinitions.get(t.objectType.name)?.members||this.inclusionModeDefinition.namedTypeDefinitions.get(t.objectType.name)?.members?.size<1))return e.objectIds=[],[];e.objectIds=w}if(null!=e.outFields){const n=e.outFields;n.includes("*")?t.fields.forEach((e=>{r.add(e.name)})):n.forEach((e=>{e!==f&&e!==t.geometryFieldName&&r.add(e)}))}if(null!=e.geometry){const n=e.geometry;let o;if(n?.extent?.spatialReference&&!n.spatialReference?.isWGS84?(await l(n.extent.spatialReference,d),o=m(n.extent,d)):o=n.extent,null!=e.where&&"1=1"!==e.where){const n=await i(e.where.toUpperCase(),t.fieldsIndex);t.fields.forEach((e=>{n.fieldNames.includes(e.name)&&r.add(e.name)}))}u=T?`Match ()-[n:${t.objectType.name}]-() WHERE esri.graph.ST_Intersects($param_filter_geom, n.${t.geometryFieldName}) return ID(n), id(startNode(r)), id(endNode(r))`:`Match (n:${t.objectType.name}) WHERE esri.graph.ST_Intersects($param_filter_geom, n.${t.geometryFieldName}) return ID(n)`,e.returnGeometry&&t.geometryFieldName&&r.add(t.geometryFieldName),r.forEach((e=>{u+=`, n.${e}`,s.push(e)})),a=new y({openCypherQuery:u,bindParameters:{param_filter_geom:new p({rings:[[[o.xmin,o.ymin],[o.xmin,o.ymax],[o.xmax,o.ymax],[o.xmax,o.ymin],[o.xmin,o.ymin]]]})}})}else{let n="";if(null!=e.where&&"1=1"!==e.where){const o=await i(e.where,t.fieldsIndex);t.fields.forEach((e=>{o.fieldNames.includes(e.name)&&r.add(e.name)}));const s=["column-reference","string","number","binary-expression"],a=["=","<","<=","<>",">",">=","AND","OR","LIKE"];let p=!1;const l=e=>{if("column-reference"===e.type)return`n.${e.column}`;if("string"===e.type)return`'${e.value}'`;if("number"===e.type)return`${e.value}`;if("binary-expression"===e.type&&s.includes(e.left.type)&&s.includes(e.right.type)&&a.includes(e.operator))return`${l(e.left)} ${e.operator} ${l(e.right)}`;if("binary-expression"===e.type&&"LIKE"===e.operator){let t="";if("function"===e.left.type&&"column-reference"===e.left.args.value[0].type)t+=`lower(n.${e.left.args.value[0].column})`;else{if("column-reference"!==e.left.type)return p=!0,"";t+=`lower(n.${e.left.column})`}if(t+=" CONTAINS (","string"!==e.right.type)return p=!0,"";{let n=e.right.value;"%"===n.charAt(0)&&(n=n.slice(1)),"%"===n.charAt(n.length-1)&&(n=n.slice(0,-1)),t+=`'${n.toLowerCase()}')`}return t}return p=!0,""};n=l(o.parseTree),p&&(n="")}let o="";o=T?`Match ()-[n:${t.objectType.name}]-()`:`Match (n:${t.objectType.name})`;let p=!1;w&&(p=!0,o+=" WHERE ID(n) IN $ids"),n&&(o+=p?" AND":" WHERE",o+=` ${n}`),o+=" return ID(n)",T&&(o+=", id(startNode(n)), id(endNode(n))"),e.returnGeometry&&t.geometryFieldName&&r.add(t.geometryFieldName),r.forEach((e=>{o+=`, n.${e}`,s.push(e)})),a=new y(w?{openCypherQuery:o,bindParameters:{ids:w}}:{openCypherQuery:o})}const b=(await c(t.parentCompositeLayer.dataManager.knowledgeGraph,a,n)).resultRowsStream.getReader();for(;;){const{done:e,value:n}=await b.read();if(e)break;const i=[];for(let t=0;t<n.length;t++){const e=n[t];let o=0,r=0;const a={properties:{}};for(a.id=e[o],o++,r++,T&&(a.originId=e[o],o++,r++,a.destinationId=e[o],o++,r++);o<e.length;o++)a.properties[s[o-r]]=e[o];i.push(a)}g=g.concat(o.writeToStore(i,f,t.parentCompositeLayer.dataManager.geographicLookup.get(t.objectType.name)?.name))}return g}};e([r()],I.prototype,"knowledgeGraph",void 0),e([r()],I.prototype,"inclusionModeDefinition",void 0),e([r()],I.prototype,"entityTypeNames",void 0),e([r()],I.prototype,"relationshipTypeNames",void 0),e([r()],I.prototype,"geographicLookup",void 0),e([r()],I.prototype,"sublayerCaches",void 0),I=e([s("esri.rest.knowledgeGraph.knowledgeGraphLayer.KnowledgeGraphLayerDataManager")],I);export{b as GEOHASH_ENCODING_PRECISION,I as KnowledgeGraphLayerDataManager,w as MOCK_DESTINATION_ID_FIELD_NAME,T as MOCK_LAYOUT_GEOMETRY_FIELD_NAME,f as MOCK_OID_FIELD_NAME,g as MOCK_ORIGIN_ID_FIELD_NAME};
|
|
5
|
+
import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../core/Accessor.js";import i from"../../core/Error.js";import n from"../../core/Logger.js";import{parseWhereClause as o}from"../../core/sql.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{subclass as r}from"../../core/accessorSupport/decorators/subclass.js";import{encodeGeohash as a}from"../../geohash/geohashUtils.js";import p from"../../geometry/Polygon.js";import{initializeProjection as m,project as l}from"../../geometry/projection.js";import{WGS84 as d}from"../../geometry/support/spatialReferenceUtils.js";import h from"./SessionMemoryStorage.js";import{executeQueryStreaming as c}from"../../rest/knowledgeGraphService.js";import y from"../../rest/knowledgeGraph/GraphQueryStreaming.js";import u from"../../rest/support/Query.js";const f="ESRI__ID",g="ESRI__ORIGIN_ID",b="ESRI__DESTINATION_ID",T="ESRI__LAYOUT_GEOMETRY",w=12,D=n.getLogger("esri.rest.knowledgeGraph.knowledgeGraphLayer.KnowledgeGraphLayerDataManager");let M=class extends t{constructor(e){super(e),this.inclusionModeDefinition={generateAllSublayers:!0,namedTypeDefinitions:new Map},this.entityTypeNames=new Set,this.relationshipTypeNames=new Set,this.geographicLookup=new Map,this.sublayerCaches=new Map,this._processingCacheUpdatesLookup=new Map,this._memberIdTypeLookup=new Map;const t=new Map;e.knowledgeGraph.dataModel.entityTypes?.forEach((i=>{i.name&&(t.set(i.name,"entity"),this._processingCacheUpdatesLookup.set(i.name,[]),e.inclusionModeDefinition&&!e.inclusionModeDefinition?.generateAllSublayers||this.entityTypeNames.add(i.name),i.properties?.forEach((e=>{e.geometryType&&"esriGeometryNull"!==e.geometryType&&this.geographicLookup.set(i.name,{name:e.name??"",geometryType:e.geometryType})})))})),e.knowledgeGraph.dataModel.relationshipTypes?.forEach((i=>{i.name&&(t.set(i.name,"relationship"),this._processingCacheUpdatesLookup.set(i.name,[]),e.inclusionModeDefinition&&!e.inclusionModeDefinition?.generateAllSublayers||this.relationshipTypeNames.add(i.name),i.properties?.forEach((e=>{e.geometryType&&"esriGeometryNull"!==e.geometryType&&this.geographicLookup.set(i.name,{name:e.name??"",geometryType:e.geometryType})})))})),e.inclusionModeDefinition?.namedTypeDefinitions.forEach(((i,n)=>{if("entity"===t.get(n))this.entityTypeNames.add(n);else{if("relationship"!==t.get(n))return D.warn(`A named type, ${n}, was in the inclusion list that wasn't in the data model and will be removed`),void e.inclusionModeDefinition?.namedTypeDefinitions.delete(n);this.relationshipTypeNames.add(n)}const o=new Map;i.members?.forEach((e=>{this._memberIdTypeLookup.set(e.id,n);const t=this.getById(e.id);t&&o.set(e.id,t)})),this.sublayerCaches.set(n,o)}))}async addToLayerInclusionSet(e,t=!1){e.forEach(((e,t)=>{if(!this.inclusionModeDefinition)throw new i("knowledge-graph:layer-data-manager","You cannot add to a layer's exclusion list if it was not created with an exclusion list originally");if(this.inclusionModeDefinition.namedTypeDefinitions.has(e)){if(this.inclusionModeDefinition.namedTypeDefinitions.has(e)){const n=this.inclusionModeDefinition.namedTypeDefinitions.get(e);if(n.useAllData)throw new i("knowledge-graph:layer-data-manager","You cannot add members to an exclusion list for a sublayer where the sublayer is set to always retrieve its entire data set");n.members||(n.members=new Map),n.members.set(t,{id:t}),this._memberIdTypeLookup.set(t,e)}}else{const i=new Map;i.set(t,{id:t}),this.inclusionModeDefinition.namedTypeDefinitions.set(e,{useAllData:!1,members:i}),this._memberIdTypeLookup.set(t,e)}})),t&&await this.refreshCacheContent(Array.from(e.keys()))}getById(e){return h.getInstance().readFromStoreById(e)}async getData(e,t,i){if(t.objectType.name&&this.inclusionModeDefinition?.namedTypeDefinitions&&this.inclusionModeDefinition.namedTypeDefinitions.size>0&&!this.inclusionModeDefinition.namedTypeDefinitions.has(t.objectType.name))return[];let n;if(n=e||new u({where:"1=1",outFields:["*"]}),"link-chart"===t.parentCompositeLayer.type){const e=t.parentCompositeLayer,i=this._processingCacheUpdatesLookup.get(t.objectType.name??""),o=n.outFields,s=n.geometry;let r="",p="";s&&s.extent&&(r=a(s.extent.ymin,s.extent.xmin,w),p=a(s.extent.ymax,s.extent.xmax,w)),o&&1===o.length&&o[0]===f&&"1=1"===n.where||await Promise.all(i??[]);const m=this.sublayerCaches.has(t.objectType.name??"")?Array.from(this.sublayerCaches.get(t.objectType.name)?.values()):[],l=[];return m.forEach((i=>{if(i.geometry=e.linkChartDiagramLookup.get(i.attributes[t.objectIdField]),i.attributes[T]=i.geometry,r&&p){const n=e.linkChartGeohashLookup.get(i.attributes[t.objectIdField]);n?n>=r&&n<=p&&l.push(i):l.push(i)}else l.push(i)})),l}return this.retrieveDataFromService(n,t,i)}async refreshCacheContent(e,t,n,o){const s=h.getInstance(),r=[],a=new Map,p=new Map;this.knowledgeGraph.dataModel.entityTypes?.forEach((e=>{e.name&&p.set(e.name,e)})),this.knowledgeGraph.dataModel.relationshipTypes?.forEach((e=>{e.name&&p.set(e.name,e)})),e||this.inclusionModeDefinition?e?e.forEach((e=>{if(this._memberIdTypeLookup.has(e)){const t=this._memberIdTypeLookup.get(e);a.has(t)?a.get(t)?.push(e):a.set(t,[e])}})):this.inclusionModeDefinition?.namedTypeDefinitions?.forEach(((e,t)=>{e.useAllData?a.set(t,null):e.members&&e.members.forEach((e=>{a.has(t)&&null!==a.get(t)?a.get(t)?.push(e.id):a.set(t,[e.id])}))})):(this.knowledgeGraph.dataModel.entityTypes?.forEach((e=>{e.name&&a.set(e.name,null)})),this.knowledgeGraph.dataModel.entityTypes?.forEach((e=>{e.name&&a.set(e.name,null)})));for(const[m,l]of a){const e=new Promise((e=>{const r=async()=>{const e=new Set,r=[];let a,d="",h=!1;if(t||p.get(m)?.properties?.forEach((t=>{t.name&&e.add(t.name)})),n&&this.geographicLookup.has(m)){const t=this.geographicLookup.get(m)?.name;t&&e.add(t)}if(this.entityTypeNames.has(m))d=`MATCH (n:${m}) ${l?"WHERE id(n) IN $ids ":""}return ID(n)`,e.forEach((e=>{d+=`, n.${e}`,r.push(e)}));else{if(!this.relationshipTypeNames.has(m))throw new i("knowledge-graph:layer-data-manager",`The graph type of ${m} could not be determined. Was this type set in the KG data model?`);h=!0,d=`MATCH ()-[n:${m}]->() ${l?"WHERE id(n) IN $ids ":""}return ID(n), id(startNode(n)), id(endNode(n))`}a=new y(l?{openCypherQuery:d,bindParameters:{ids:l}}:{openCypherQuery:d});const u=(await c(this.knowledgeGraph,a)).resultRowsStream.getReader();for(;;){const{done:e,value:t}=await u.read();if(e)break;const i=[];for(let o=0;o<t.length;o++){const e=t[o];let n=0,s=0;const a={properties:{}};for(a.id=e[n],n++,s++,h&&(a.originId=e[n],n++,s++,a.destinationId=e[n],n++,s++);n<e.length;n++)a.properties[r[n-s]]=e[n];i.push(a)}const n=s.writeToStore(i,f,this.geographicLookup.get(m)?.name);this.sublayerCaches.has(m)||this.sublayerCaches.set(m,new Map),o&&!this.inclusionModeDefinition?.namedTypeDefinitions.has(m)&&this.inclusionModeDefinition?.namedTypeDefinitions.set(m,{useAllData:!1,members:new Map}),o&&!this.inclusionModeDefinition?.namedTypeDefinitions.get(m).members&&(this.inclusionModeDefinition.namedTypeDefinitions.get(m).members=new Map);const a=this.sublayerCaches.get(m);n.forEach((e=>{a?.set(e.attributes[f],e),o&&!this.inclusionModeDefinition?.namedTypeDefinitions.get(m).members.has(e.attributes[f])&&this.inclusionModeDefinition?.namedTypeDefinitions.get(m).members.set(e.attributes[f],{id:e.attributes[f]})}))}};r().then((()=>{e(null)}))}));r.push(e),this._processingCacheUpdatesLookup.get(m)?.push(e)}await Promise.all(r)}removeFromLayer(e){const t=new Set;e.forEach((e=>{this._memberIdTypeLookup.get(e)&&t.add(this._memberIdTypeLookup.get(e)),this._memberIdTypeLookup.delete(e),this.inclusionModeDefinition?.namedTypeDefinitions.forEach((t=>{t.members?.has(e)&&t.members.delete(e)}))})),t.forEach((t=>{this.sublayerCaches.get(t)?.forEach(((i,n)=>{e.includes(n)&&this.sublayerCaches.get(t)?.delete(n)}))}))}async retrieveDataFromService(e,t,i){const n=h.getInstance(),s=new Set,r=[];let a,u="",g=[],b=t.parentCompositeLayer.sublayerIdsCache.get(t.objectType.name);const T="relationship"===t.graphType;if(!this.inclusionModeDefinition?.namedTypeDefinitions?.get(t.objectType.name)?.useAllData)if(null!=e.objectIds&&b&&b.length>0){const t=e.objectIds;e.objectIds=b.filter((e=>t.includes(e)))}else if(null!=e.objectIds)b=e.objectIds;else{if(this.inclusionModeDefinition?.namedTypeDefinitions.has(t.objectType.name)&&(!this.inclusionModeDefinition.namedTypeDefinitions.get(t.objectType.name)?.members||this.inclusionModeDefinition.namedTypeDefinitions.get(t.objectType.name)?.members?.size<1))return e.objectIds=[],[];e.objectIds=b}if(null!=e.outFields){const i=e.outFields;i.includes("*")?t.fields.forEach((e=>{s.add(e.name)})):i.forEach((e=>{e!==f&&e!==t.geometryFieldName&&s.add(e)}))}if(null!=e.geometry){const i=e.geometry;let n;if(i?.extent?.spatialReference&&!i.spatialReference?.isWGS84?(await m(i.extent.spatialReference,d),n=l(i.extent,d)):n=i.extent,null!=e.where&&"1=1"!==e.where){const i=await o(e.where.toUpperCase(),t.fieldsIndex);t.fields.forEach((e=>{i.fieldNames.includes(e.name)&&s.add(e.name)}))}u=T?`Match ()-[n:${t.objectType.name}]-() WHERE esri.graph.ST_Intersects($param_filter_geom, n.${t.geometryFieldName}) return ID(n), id(startNode(r)), id(endNode(r))`:`Match (n:${t.objectType.name}) WHERE esri.graph.ST_Intersects($param_filter_geom, n.${t.geometryFieldName}) return ID(n)`,e.returnGeometry&&t.geometryFieldName&&s.add(t.geometryFieldName),s.forEach((e=>{u+=`, n.${e}`,r.push(e)})),a=new y({openCypherQuery:u,bindParameters:{param_filter_geom:new p({rings:[[[n.xmin,n.ymin],[n.xmin,n.ymax],[n.xmax,n.ymax],[n.xmax,n.ymin],[n.xmin,n.ymin]]]})}})}else{let i="";if(null!=e.where&&"1=1"!==e.where){const n=await o(e.where,t.fieldsIndex);t.fields.forEach((e=>{n.fieldNames.includes(e.name)&&s.add(e.name)}));const r=["column-reference","string","number","binary-expression"],a=["=","<","<=","<>",">",">=","AND","OR","LIKE"];let p=!1;const m=e=>{if("column-reference"===e.type)return`n.${e.column}`;if("string"===e.type)return`'${e.value}'`;if("number"===e.type)return`${e.value}`;if("binary-expression"===e.type&&r.includes(e.left.type)&&r.includes(e.right.type)&&a.includes(e.operator))return`${m(e.left)} ${e.operator} ${m(e.right)}`;if("binary-expression"===e.type&&"LIKE"===e.operator){let t="";if("function"===e.left.type&&"column-reference"===e.left.args.value[0].type)t+=`lower(n.${e.left.args.value[0].column})`;else{if("column-reference"!==e.left.type)return p=!0,"";t+=`lower(n.${e.left.column})`}if(t+=" CONTAINS (","string"!==e.right.type)return p=!0,"";{let i=e.right.value;"%"===i.charAt(0)&&(i=i.slice(1)),"%"===i.charAt(i.length-1)&&(i=i.slice(0,-1)),t+=`'${i.toLowerCase()}')`}return t}return p=!0,""};i=m(n.parseTree),p&&(i="")}let n="";n=T?`Match ()-[n:${t.objectType.name}]-()`:`Match (n:${t.objectType.name})`;let p=!1;b&&(p=!0,n+=" WHERE ID(n) IN $ids"),i&&(n+=p?" AND":" WHERE",n+=` ${i}`),n+=" return ID(n)",T&&(n+=", id(startNode(n)), id(endNode(n))"),e.returnGeometry&&t.geometryFieldName&&s.add(t.geometryFieldName),s.forEach((e=>{n+=`, n.${e}`,r.push(e)})),a=new y(b?{openCypherQuery:n,bindParameters:{ids:b}}:{openCypherQuery:n})}const w=(await c(t.parentCompositeLayer.dataManager.knowledgeGraph,a,i)).resultRowsStream.getReader();for(;;){const{done:e,value:i}=await w.read();if(e)break;const o=[];for(let t=0;t<i.length;t++){const e=i[t];let n=0,s=0;const a={properties:{}};for(a.id=e[n],n++,s++,T&&(a.originId=e[n],n++,s++,a.destinationId=e[n],n++,s++);n<e.length;n++)a.properties[r[n-s]]=e[n];o.push(a)}g=g.concat(n.writeToStore(o,f,t.parentCompositeLayer.dataManager.geographicLookup.get(t.objectType.name)?.name))}return g}};e([s()],M.prototype,"knowledgeGraph",void 0),e([s()],M.prototype,"inclusionModeDefinition",void 0),e([s()],M.prototype,"entityTypeNames",void 0),e([s()],M.prototype,"relationshipTypeNames",void 0),e([s()],M.prototype,"geographicLookup",void 0),e([s()],M.prototype,"sublayerCaches",void 0),M=e([r("esri.rest.knowledgeGraph.knowledgeGraphLayer.KnowledgeGraphLayerDataManager")],M);export{w as GEOHASH_ENCODING_PRECISION,M as KnowledgeGraphLayerDataManager,b as MOCK_DESTINATION_ID_FIELD_NAME,T as MOCK_LAYOUT_GEOMETRY_FIELD_NAME,f as MOCK_OID_FIELD_NAME,g as MOCK_ORIGIN_ID_FIELD_NAME};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.27/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{convertFromGeometry as e}from"../graphics/featureConversionUtils.js";import{OptimizedFeature as
|
|
5
|
+
import{convertFromGeometry as e}from"../graphics/featureConversionUtils.js";import{OptimizedFeature as t}from"../graphics/OptimizedFeature.js";const r="ESRI__DESTINATION_ID",i="ESRI__ORIGIN_ID";class s{constructor(){this._featureLookup=new Map}static getInstance(){return s.instance||(s.instance=new s),s.instance}static resetInstance(){s.instance&&(s.instance=null)}deleteFromStore(e){e.forEach((e=>{this._featureLookup.delete(e)}))}readFromStoreByList(e){const t=[];return e.forEach((e=>{const r=this.readFromStoreById(e);r&&t.push(r)})),t}readFromStoreById(e){return this._featureLookup.get(e)??null}writeToStore(s,o,n){const p=[];return s.forEach((s=>{if(!s||!s.id)return;s.properties||(s.properties=[]);let a,u=null;if(n&&(u=s.properties[n]?e(s.properties[n]):null),"originId"in s&&"destinationId"in s&&(s.properties[i]=s.originId,s.properties[r]=s.destinationId),s.properties[o]=s.id,s.id&&this._featureLookup.has(s.id)){const e=this._featureLookup.get(s.id);a=new t(u?JSON.parse(JSON.stringify(u)):e?.geometry?JSON.parse(JSON.stringify(e.geometry)):null,JSON.parse(JSON.stringify(Object.assign(s.properties,e?.attributes))),null,s.properties[o])}else a=new t(u?JSON.parse(JSON.stringify(u)):null,s.properties,null,s.properties[o]);this._featureLookup.set(s.id,a),p.push(a)})),p}}export{s as default};
|
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.27/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
const
|
|
5
|
+
const d="20230408",c="94af5d0eab9dda4899f4c4d8fdc68bf47cdd6289";export{d as buildDate,c as commitHash};
|