@arcgis/core 5.2.0-next.50 → 5.2.0-next.52

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.
Files changed (58) hide show
  1. package/assets/esri/core/workers/RemoteClient.js +1 -1
  2. package/assets/esri/core/workers/chunks/{de50a19944617cd426b8.js → 0ffd0190adfed8e5937a.js} +1 -1
  3. package/assets/esri/core/workers/chunks/{877c848beaf9a939862c.js → 290fbc6d32c799841ccc.js} +1 -1
  4. package/assets/esri/core/workers/chunks/{851bcc75acac4a2f199b.js → 2d6d2d4df05bba9fa4a6.js} +1 -1
  5. package/assets/esri/core/workers/chunks/{304a22c580ce103480cb.js → 2fbb00a29faeaa02912b.js} +1 -1
  6. package/assets/esri/core/workers/chunks/{9d0a9d465ec3a8ba1ed2.js → 5d6d07ecebf881ad913f.js} +1 -1
  7. package/assets/esri/core/workers/chunks/{0037a878499d8a512772.js → 61d3fcb419d6bf7e355e.js} +38 -19
  8. package/assets/esri/core/workers/chunks/{cdb331b58e22f8c1c988.js → 77f19d204a4673b1e676.js} +2 -2
  9. package/assets/esri/core/workers/chunks/{1bc45872d22d61dbd7d1.js → 7e2bf6dd26c3cf0b49b0.js} +1 -1
  10. package/assets/esri/core/workers/chunks/{baac90da0703891d59c4.js → 847ce06b14a921cd16f0.js} +1 -1
  11. package/assets/esri/core/workers/chunks/a1fcef22b6151a7f7917.js +1 -0
  12. package/assets/esri/core/workers/chunks/{0ea374f7b16745b9bbc7.js → a239f1e82dde4f7ada32.js} +1 -1
  13. package/assets/esri/core/workers/chunks/{47af3525396f890f2a6b.js → c38992b250731137cb1a.js} +1 -1
  14. package/assets/esri/core/workers/chunks/{5ec8b02e097cf6718462.js → ce719d3aec8b52bfe160.js} +1 -1
  15. package/assets/esri/core/workers/chunks/{b0b37c67a14a4dfb6538.js → cef7f4237539574f0730.js} +1 -1
  16. package/chunks/CutFillMinMaxDepth.glsl.js +1 -1
  17. package/chunks/CutFillReduction.glsl.js +5 -14
  18. package/chunks/CutFillTotalDepth.glsl.js +1 -1
  19. package/chunks/GlobalIllumination.glsl.js +41 -30
  20. package/chunks/GlobalIlluminationBlur.glsl.js +19 -11
  21. package/chunks/GlobalIlluminationUpscale.glsl.js +10 -10
  22. package/chunks/GlowBlur.glsl.js +1 -1
  23. package/chunks/GlowComposite.glsl.js +1 -1
  24. package/chunks/Stars.glsl.js +7 -12
  25. package/config.js +1 -1
  26. package/core/types.d.ts +5 -1
  27. package/kernel.js +1 -1
  28. package/package.json +3 -3
  29. package/rest/networks/support/TraverseAssociationsParameters.d.ts +26 -4
  30. package/support/revision.js +1 -1
  31. package/third-party-notices.txt +0 -66
  32. package/views/3d/analysis/LineOfSight/LineOfSightAuthoringUtils.js +1 -1
  33. package/views/3d/analysis/LineOfSight/LineOfSightPlacementController.js +1 -1
  34. package/views/3d/analysis/LineOfSight/LineOfSightRootPlugin.js +1 -1
  35. package/views/3d/analysis/LineOfSight/LineOfSightTargetPlugin.js +1 -1
  36. package/views/3d/analysis/LineOfSight/LineOfSightTool2.js +1 -1
  37. package/views/3d/analysis/LineOfSight/types.d.ts +28 -0
  38. package/views/3d/analysis/LineOfSightAnalysisView3D.d.ts +7 -7
  39. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillController.js +1 -1
  40. package/views/3d/interactive/editingTools/manipulations/Manipulation.js +1 -1
  41. package/views/3d/interactive/editingTools/manipulations/MoveManipulation.js +1 -1
  42. package/views/3d/interactive/editingTools/move/MoveTool3D.js +1 -1
  43. package/views/3d/interactive/editingTools/reshape/ReshapeOperation.js +1 -1
  44. package/views/3d/interactive/editingTools/transform/ExtentTransformTool.js +1 -1
  45. package/views/3d/interactive/editingTools/transform/ScaleRotateTransform.js +1 -1
  46. package/views/3d/interactive/editingTools/transform/TransformTool3D.js +1 -1
  47. package/views/3d/support/hitTest.js +1 -1
  48. package/views/3d/webgl-engine/core/FBOCacheFormats.js +1 -1
  49. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
  50. package/views/3d/webgl-engine/lib/CutFillComputation.js +1 -1
  51. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  52. package/views/3d/webgl-engine/shaders/CutFillReductionTechniqueConfiguration.js +1 -1
  53. package/views/SceneView.d.ts +24 -12
  54. package/views/SceneView.js +1 -1
  55. package/widgets/LineOfSight/LineOfSightViewModel.js +1 -1
  56. package/widgets/support/AnalysisViewModelMixin.js +1 -1
  57. package/assets/esri/core/workers/chunks/5ce168ae45ab7e7a71d1.js +0 -1
  58. /package/assets/esri/core/workers/chunks/{cdb331b58e22f8c1c988.js.LICENSE.txt → 77f19d204a4673b1e676.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[926,8281],{69540(e,t,n){var i=n(5482),s=n(69622),r=(n(44208),n(4718)),o=(n(53966),n(97768)),a=n(88620),l=n(64108);const u=Symbol("ClonableMixin"),c=e=>{var t;const n=e;let s=class extends n{constructor(){super(...arguments),this[t]=!0}static{t=u}clone(e){const t=(0,a.oY)(this);(0,o.Lw)(t,"unable to clone instance of non-accessor class");const n=t.metadata,i=t.store,s={},l=new Map;for(const t in n){const o=n[t],a=i?.originOf(t),u=o.clonable;if(o.readOnly||!1===u||7!==a&&0!==a&&5!==a&&4!==a)continue;const c=this[t];let h=null;if("function"==typeof u)h=u(c,e);else if("reference"===u)h=c;else if(h=(0,r.TU)(c,e),null!=c&&null==h)continue;0===a?l.set(t,h):s[t]=h}const u=new(0,Object.getPrototypeOf(this).constructor)(s);if(l.size){const e=(0,a.oY)(u)?.store;if(e)for(const[t,n]of l)e.set(t,n,0)}return u}};return s=(0,i.Cg)([(0,l.$)("esri.core.Clonable")],s),s},h=c(s.A);n.d(t,["OU",0,c,"Pw",0,h])},60999(e,t,n){n.d(t,{DZ:()=>f,Ke:()=>p,Tj:()=>c,UT:()=>m,aD:()=>g,jJ:()=>u});var i=n(5482),s=n(69622),r=n(97768),o=n(17676),a=n(10107),l=n(64108);function u(e,t,n){return(0,o.Lx)(e.map((e,i)=>t.apply(n,[e,i])))}async function c(e,t,n){return(await(0,o.Lx)(e.map((e,i)=>t.apply(n,[e,i])))).map(e=>e.value)}function h(e){return{ok:!0,value:e}}function d(e){return{ok:!1,error:e}}async function p(e){if(null==e)return{ok:!1,error:new Error("no promise provided")};try{return h(await e)}catch(e){return d(e)}}async function f(e){try{return h(await e)}catch(e){return(0,o.QP)(e),d(e)}}function m(e,t){return new y(e,t)}let y=class extends s.A{get value(){return null!=(e=this._result)&&!0===e.ok?e.value:null;var e}get error(){return null!=(e=this._result)&&!1===e.ok?e.error:null;var e}get finished(){return null!=this._result}constructor(e,t){super({}),this._result=null,this._abortHandle=null,this.abort=()=>{this._abortController=(0,r.DC)(this._abortController)},this.remove=this.abort,this._abortController=new AbortController;const{signal:n}=this._abortController;this.promise=e(n),this.promise.then(e=>{this._result=h(e),this._cleanup()},e=>{this._result=d(e),this._cleanup()}),this._abortHandle=(0,o.u7)(t,this.abort)}normalizeCtorArgs(){return{}}destroy(){this.abort()}_cleanup(){this._abortHandle=(0,r.xt)(this._abortHandle),this._abortController=null}};(0,i.Cg)([(0,a.MZ)()],y.prototype,"value",null),(0,i.Cg)([(0,a.MZ)()],y.prototype,"error",null),(0,i.Cg)([(0,a.MZ)()],y.prototype,"finished",null),(0,i.Cg)([(0,a.MZ)()],y.prototype,"promise",void 0),(0,i.Cg)([(0,a.MZ)()],y.prototype,"_result",void 0),y=(0,i.Cg)([(0,l.$)("esri.core.asyncUtils.ReactiveTask")],y);class g{constructor(){this._sequence=Promise.resolve()}async acquire(){let e;this._sequence=new Promise(t=>{e=this._sequence.then(()=>t,()=>t)});const t=await e;return{[Symbol.dispose]:t}}async run(e){const t={stack:[],error:void 0,hasError:!1};try{return(0,i.mS)(t,await this.acquire(),!1),await e()}catch(e){t.error=e,t.hasError=!0}finally{(0,i.hk)(t)}}}},67482(e,t,n){function i(e){return null!==s(e)}function s(e){return function(e){const t=r.exec(e);if(!t?.groups)return null;const n=t.groups,i=+n.year,s=+n.month-1,o=+n.day,a=+(n.hours??"0"),l=+(n.minutes??"0"),u=+(n.seconds??"0");if(a>23)return null;if(l>59)return null;if(u>59)return null;const c=n.ms??"0",h=c?+c.padEnd(3,"0").slice(0,3):0;let d;if(n.isUTC||!n.offsetSign)d=Date.UTC(i,s,o,a,l,u,h);else{const e=+n.offsetHours,t=+n.offsetMinutes;d=6e4*("+"===n.offsetSign?-1:1)*(60*e+t)+Date.UTC(i,s,o,a,l,u,h)}return Number.isNaN(d)?null:d}(e)??function(e){const t=new Date(e),n=t.getTime();return Number.isNaN(n)?null:e.toLowerCase()===t.toUTCString().toLowerCase()?n:null}(e)??function(e){if(!o.test(e))return null;const t=new Date(e);return Number.isNaN(t.getTime())?null:t.getTime()-6e4*t.getTimezoneOffset()}(e)}n.d(t,{C:()=>i,_:()=>s});const r=/^(?:(?<year>-?\d{4,})-(?<month>\d{2})-(?<day>\d{2}))(?:T(?<hours>\d{2}):(?<minutes>\d{2}):(?<seconds>\d{2})(?:\.(?<ms>\d+))?)?(?:(?<isUTC>Z)|(?:(?<offsetSign>\+|-)(?<offsetHours>\d{2}):(?<offsetMinutes>\d{2})))?$/,o=/^((\d{1,2}[/-]\d{1,2}[/-]\d{4})|(\d{4}[/-]\d{1,2}[/-]\d{1,2}))( \d{1,2}:\d{1,2}:\d{1,2}( ((AM)|(PM)))?)?$/i},75503(e,t,n){n.d(t,{wq:()=>a});var i=n(4576),s=n(21818),r=(n(44208),n(15142)),o=n(11006);class a{constructor(e=9,t){this._compareMinX=d,this._compareMinY=p,this._toBBox=e=>e,this._maxEntries=Math.max(4,e||9),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),t&&("function"==typeof t?this._toBBox=t:this._initFormat(t)),this.clear()}destroy(){this.clear(),w.prune(),v.prune(),I.prune(),S.prune()}all(e){l(this._data,e)}search(e,t){let n=this._data;const i=this._toBBox;if(x(e,n))for(w.clear();n;){for(let s=0,r=n.children.length;s<r;s++){const r=n.children[s],o=n.leaf?i(r):r;x(e,o)&&(n.leaf?t(r):_(e,o)?l(r,t):w.push(r))}n=w.pop()}}collides(e){let t=this._data;const n=this._toBBox;if(!x(e,t))return!1;for(w.clear();t;){for(let i=0,s=t.children.length;i<s;i++){const s=t.children[i],r=t.leaf?n(s):s;if(x(e,r)){if(t.leaf||_(e,r))return!0;w.push(s)}}t=w.pop()}return!1}load(e){if(!e.length)return this;if(e.length<this._minEntries){for(let t=0,n=e.length;t<n;t++)this.insert(e[t]);return this}let t=this._build(e.slice(),0,e.length-1,0);if(this._data.children.length)if(this._data.height===t.height)this._splitRoot(this._data,t);else{if(this._data.height<t.height){const e=this._data;this._data=t,t=e}this._insert(t,this._data.height-t.height-1,!0)}else this._data=t;return this}insert(e){return e&&this._insert(e,this._data.height-1),this}clear(){return this._data=new F([]),this}remove(e){if(!e)return this;let t,n=this._data,r=null,o=0,a=!1;const l=this._toBBox(e);for(I.clear(),S.clear();n||I.length>0;){if(n||(n=I.pop(),r=I.data[I.length-1],o=S.pop()??0,a=!0),n.leaf&&(t=(0,i.qh)(n.children,(0,s.z)(e),n.children.length,n.indexHint),-1!==t))return n.children.splice(t,1),I.push(n),this._condense(I),this;a||n.leaf||!_(n,l)?r?(o++,n=r.children[o],a=!1):n=null:(I.push(n),S.push(o),o=0,r=n,n=n.children[0])}return this}toJSON(){return this._data}fromJSON(e){return this._data=e,this}_build(e,t,n,i){const s=n-t+1;let r=this._maxEntries;if(s<=r){const i=new F(e.slice(t,n+1));return u(i,this._toBBox),i}i||(i=Math.ceil(Math.log(s)/Math.log(r)),r=Math.ceil(s/r**(i-1)));const o=new C([]);o.height=i;const a=Math.ceil(s/r),l=a*Math.ceil(Math.sqrt(r));b(e,t,n,l,this._compareMinX);for(let s=t;s<=n;s+=l){const t=Math.min(s+l-1,n);b(e,s,t,a,this._compareMinY);for(let n=s;n<=t;n+=a){const s=Math.min(n+a-1,t);o.children.push(this._build(e,n,s,i-1))}}return u(o,this._toBBox),o}_insert(e,t,n){const i=this._toBBox,s=n?e:i(e);I.clear();const r=function(e,t,n,i){for(;i.push(t),!0!==t.leaf&&i.length-1!==n;){let n,i=1/0,s=1/0;for(let r=0,o=t.children.length;r<o;r++){const o=t.children[r],a=f(o),l=y(e,o)-a;l<s?(s=l,i=a<i?a:i,n=o):l===s&&a<i&&(i=a,n=o)}t=n||t.children[0]}return t}(s,this._data,t,I);for(r.children.push(e),h(r,s);t>=0&&I.data[t].children.length>this._maxEntries;)this._split(I,t),t--;!function(e,t,n){for(let i=n;i>=0;i--)h(t.data[i],e)}(s,I,t)}_split(e,t){const n=e.data[t],i=n.children.length,s=this._minEntries;this._chooseSplitAxis(n,s,i);const r=this._chooseSplitIndex(n,s,i);if(!r)return;const o=n.children.splice(r,n.children.length-r),a=n.leaf?new F(o):new C(o);a.height=n.height,u(n,this._toBBox),u(a,this._toBBox),t?e.data[t-1].children.push(a):this._splitRoot(n,a)}_splitRoot(e,t){this._data=new C([e,t]),this._data.height=e.height+1,u(this._data,this._toBBox)}_chooseSplitIndex(e,t,n){let i,s,r;i=s=1/0;for(let o=t;o<=n-t;o++){const t=c(e,0,o,this._toBBox),a=c(e,o,n,this._toBBox),l=g(t,a),u=f(t)+f(a);l<i?(i=l,r=o,s=u<s?u:s):l===i&&u<s&&(s=u,r=o)}return r}_chooseSplitAxis(e,t,n){const i=e.leaf?this._compareMinX:d,s=e.leaf?this._compareMinY:p;this._allDistMargin(e,t,n,i)<this._allDistMargin(e,t,n,s)&&e.children.sort(i)}_allDistMargin(e,t,n,i){e.children.sort(i);const s=this._toBBox,r=c(e,0,t,s),o=c(e,n-t,n,s);let a=m(r)+m(o);for(let i=t;i<n-t;i++){const t=e.children[i];h(r,e.leaf?s(t):t),a+=m(r)}for(let i=n-t-1;i>=t;i--){const t=e.children[i];h(o,e.leaf?s(t):t),a+=m(o)}return a}_condense(e){for(let t=e.length-1;t>=0;t--){const n=e.data[t];if(0===n.children.length)if(t>0){const s=e.data[t-1],r=s.children;r.splice((0,i.qh)(r,n,r.length,s.indexHint),1)}else this.clear();else u(n,this._toBBox)}}_initFormat(e){const t=["return a"," - b",";"];this._compareMinX=new Function("a","b",t.join(e[0])),this._compareMinY=new Function("a","b",t.join(e[1])),this._toBBox=new Function("a","return {minX: a"+e[0]+", minY: a"+e[1]+", maxX: a"+e[2]+", maxY: a"+e[3]+"};")}}function l(e,t){let n=e;for(v.clear();n;){if(!0===n.leaf)for(const e of n.children)t((0,s.z)(e));else v.pushArray(n.children);n=v.pop()??null}}function u(e,t){c(e,0,e.children.length,t,e)}function c(e,t,n,i,s){s||(s=new F([])),s.minX=1/0,s.minY=1/0,s.maxX=-1/0,s.maxY=-1/0;for(let r,o=t;o<n;o++)r=e.children[o],h(s,e.leaf?i(r):r);return s}function h(e,t){e.minX=Math.min(e.minX,t.minX),e.minY=Math.min(e.minY,t.minY),e.maxX=Math.max(e.maxX,t.maxX),e.maxY=Math.max(e.maxY,t.maxY)}function d(e,t){return e.minX-t.minX}function p(e,t){return e.minY-t.minY}function f(e){return(e.maxX-e.minX)*(e.maxY-e.minY)}function m(e){return e.maxX-e.minX+(e.maxY-e.minY)}function y(e,t){return(Math.max(t.maxX,e.maxX)-Math.min(t.minX,e.minX))*(Math.max(t.maxY,e.maxY)-Math.min(t.minY,e.minY))}function g(e,t){const n=Math.max(e.minX,t.minX),i=Math.max(e.minY,t.minY),s=Math.min(e.maxX,t.maxX),r=Math.min(e.maxY,t.maxY);return Math.max(0,s-n)*Math.max(0,r-i)}function _(e,t){return e.minX<=t.minX&&e.minY<=t.minY&&t.maxX<=e.maxX&&t.maxY<=e.maxY}function x(e,t){return t.minX<=e.maxX&&t.minY<=e.maxY&&t.maxX>=e.minX&&t.maxY>=e.minY}function b(e,t,n,i,s){const r=[t,n];for(;r.length;){const t=r.pop(),n=r.pop();if(t-n<=i)continue;const a=n+Math.ceil((t-n)/i/2)*i;(0,o.q)(e,a,n,t,s),r.push(n,a,a,t)}}const w=new r.A,v=new r.A,I=new r.A,S=new r.A({deallocator:void 0});class A{constructor(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0}}class M extends A{constructor(){super(...arguments),this.height=1,this.indexHint=new i.vW}}class F extends M{constructor(e){super(),this.children=e,this.leaf=!0}}class C extends M{constructor(e){super(),this.children=e,this.leaf=!1}}},14607(e,t,n){n.d(t,{B:()=>u,GP:()=>a,qg:()=>c});var i=n(799),s=n(73444);const r={ar:[".",","],bg:[","," "],bs:[",","."],ca:[",","."],cs:[","," "],da:[",","."],de:[",","."],"de-ch":[".","’"],el:[",","."],en:[".",","],"en-au":[".",","],es:[",","."],"es-mx":[".",","],et:[","," "],fi:[","," "],fr:[","," "],"fr-ch":[","," "],he:[".",","],hi:[".",",","#,##,##0.###"],hr:[",","."],hu:[","," "],id:[",","."],it:[",","."],"it-ch":[".","’"],ja:[".",","],ko:[".",","],lt:[","," "],lv:[","," "],mk:[",","."],nb:[","," "],nl:[",","."],no:[","," "],pl:[","," "],pt:[",","."],"pt-pt":[","," "],ro:[",","."],ru:[","," "],sk:[","," "],sl:[",","."],sr:[",","."],sv:[","," "],th:[".",","],tr:[",","."],uk:[","," "],vi:[",","."],zh:[".",","]};function o(e=(0,s.JK)()){let t=(e=e.toLowerCase())in r;if(!t){const n=e.split("-");n.length>1&&n[0]in r&&(e=n[0],t=!0),t||(e="en")}const[n,i,o="#,##0.###"]=r[e];return{decimal:n,group:i,pattern:o}}function a(e,t){const n=o((t={...t}).locale);t.customs=n;const i=t.pattern||n.pattern;return isNaN(e)||Math.abs(e)===1/0?null:function(e,t,n){const i=(n=n||{}).customs.group,s=n.customs.decimal,r=t.split(";"),o=r[0];if((t=r[e<0?1:0]||"-"+o).includes("%"))e*=100;else if(t.includes("‰"))e*=1e3;else{if(t.includes("¤"))throw new Error("currency notation not supported");if(t.includes("E"))throw new Error("exponential notation not supported")}const a=l,u=o.match(a);if(!u)throw new Error("unable to find a number expression in pattern: "+t);return!1===n.fractional&&(n.places=0),t.replace(a,function(e,t,n){!0===(n=n||{}).places&&(n.places=0),n.places===1/0&&(n.places=6);const i=t.split("."),s="string"==typeof n.places&&n.places.indexOf(",");let r=n.places;s?r=n.places.slice(s+1):+r>=0||(r=(i[1]||[]).length),n.round<0||(e=Number(e.toFixed(Number(r))));const o=String(Math.abs(e)).split("."),a=o[1]||"";if(i[1]||n.places){s&&(n.places=n.places.slice(0,Math.max(0,s)));const e=void 0!==n.places?n.places:i[1]&&i[1].lastIndexOf("0")+1;+e>a.length&&(o[1]=a.padEnd(Number(e),"0")),+r<a.length&&(o[1]=a.slice(0,Math.max(0,Number(r))))}else o[1]&&o.pop();const l=i[0].replace(",","");let u=l.indexOf("0");-1!==u&&(u=l.length-u,u>o[0].length&&(o[0]=o[0].padStart(u,"0")),l.includes("#")||(o[0]=o[0].slice(-u)));let c,h,d=i[0].lastIndexOf(",");if(-1!==d){c=i[0].length-d-1;const e=i[0].slice(0,d);d=e.lastIndexOf(","),-1!==d&&(h=e.length-d-1)}const p=[];for(let e=o[0];e;){const t=e.length-c;p.push(t>0?e.slice(Math.max(0,t)):e),e=t>0?e.slice(0,t):"",h&&(c=h,h=void 0)}return o[0]=p.reverse().join(n.group||","),o.join(n.decimal||".")}(e,u[0],{decimal:s,group:i,places:n.places,round:n.round}))}(e,i,t)}const l=/[#0,]*[#0](?:\.0*#*)?/;function u(e){const t=o((e=e||{}).locale),n=e.pattern||t.pattern,s=t.group,r=t.decimal;let a=1;if(n.includes("%"))a/=100;else if(n.includes("‰"))a/=1e3;else if(n.includes("¤"))throw new Error("currency notation not supported");const u=n.split(";");1===u.length&&u.push("-"+u[0]);const c=d(u,t=>(t="(?:"+(0,i.Cj)(t,".")+")").replace(l,t=>{const n={signed:!1,separator:e.strict?s:[s,""],fractional:e.fractional,decimal:r,exponent:!1},i=t.split(".");let o=e.places;1===i.length&&1!==a&&(i[1]="###"),1===i.length||0===o?n.fractional=!1:(void 0===o&&(o=e.pattern?i[1].lastIndexOf("0")+1:1/0),o&&null==e.fractional&&(n.fractional=!0),!e.places&&+o<i[1].length&&(o+=","+i[1].length),n.places=o);const l=i[0].split(",");return l.length>1&&(n.groupSize=l.pop().length,l.length>1&&(n.groupSize2=l.pop().length)),"("+function(e){"places"in(e=e||{})||(e.places=1/0),"string"!=typeof e.decimal&&(e.decimal="."),"fractional"in e&&!String(e.places).startsWith("0")||(e.fractional=[!0,!1]),"exponent"in e||(e.exponent=[!0,!1]),"eSigned"in e||(e.eSigned=[!0,!1]);const t=h(e),n=d(e.fractional,t=>{let n="";return t&&0!==e.places&&(n="\\"+e.decimal,e.places===1/0?n="(?:"+n+"\\d+)?":n+="\\d{"+e.places+"}"),n},!0);let i=t+n;return n&&(i="(?:(?:"+i+")|(?:"+n+"))"),i+d(e.exponent,t=>t?"([eE]"+h({signed:e.eSigned})+")":"")}(n)+")"}),!0);return{regexp:c.replaceAll(/[\xa0 ]/g,"[\\s\\xa0]"),group:s,decimal:r,factor:a}}function c(e,t){const n=u(t),i=new RegExp("^"+n.regexp+"$").exec(e);if(!i)return NaN;let s=i[1];if(!i[1]){if(!i[2])return NaN;s=i[2],n.factor*=-1}return s=s.replaceAll(new RegExp("["+n.group+"\\s\\xa0]","g"),"").replace(n.decimal,"."),Number(s)*n.factor}function h(e){return"signed"in(e=e||{})||(e.signed=[!0,!1]),"separator"in e?"groupSize"in e||(e.groupSize=3):e.separator="",d(e.signed,e=>e?"[-+]":"",!0)+d(e.separator,t=>{if(!t)return"(?:\\d+)";" "===(t=(0,i.Cj)(t))?t="\\s":" "===t&&(t="\\s\\xa0");const n=e.groupSize,s=e.groupSize2;if(s){const e="(?:0|[1-9]\\d{0,"+(s-1)+"}(?:["+t+"]\\d{"+s+"})*["+t+"]\\d{"+n+"})";return n-s>0?"(?:"+e+"|(?:0|[1-9]\\d{0,"+(n-1)+"}))":e}return"(?:0|[1-9]\\d{0,"+(n-1)+"}(?:["+t+"]\\d{"+n+"})*)"},!0)}const d=(e,t,n)=>{if(!Array.isArray(e))return t(e);const i=[];for(let n=0;n<e.length;n++)i.push(t(e[n]));return p(i.join("|"),Boolean(n))},p=(e,t)=>"("+(t?"?:":"")+e+")"},36708(e,t,n){n.d(t,{C_:()=>d,on:()=>h,wB:()=>l,z7:()=>u});var i=n(37955),s=n(36563),r=n(97768),o=n(17676),a=n(14012);function l(e,t,n={}){return c(e,t,n,p)}function u(e,t,n={}){return c(e,t,n,f)}function c(e,t,n={},i){let s=null;const o=n.once?(e,n)=>{i(e)&&((0,r.xt)(s),t(e,n))}:(e,n)=>{i(e)&&t(e,n)};if(s=(0,a.Cn)(e,o,n.sync,n.equals),n.initial){const t=e();o(t,t)}return s}function h(e,t,n,o={}){let a=null,u=null,c=null;function h(){a&&u&&(u.remove(),o.onListenerRemove?.(a),a=null,u=null)}function d(e){o.once&&o.once&&(0,r.xt)(c),n(e)}const p=l(e,(e,n)=>{h(),(0,i.wb)(e)&&(a=e,u=(0,i.on)(e,t,d),o.onListenerAdd?.(e))},{sync:o.sync,initial:!0});return c=(0,s.hA)(()=>{p.remove(),h()}),c}function d(e,t){return function(e,t,n){if((0,o.G4)(n))return Promise.reject((0,o.NK)());const i=e();if(t?.(i))return Promise.resolve(i);let a=null;function l(){a=(0,r.xt)(a)}return new Promise((i,r)=>{a=(0,s.vE)([(0,o.u7)(n,()=>{l(),r((0,o.NK)())}),c(e,e=>{l(),i(e)},{sync:!1,once:!0},t??p)])})}(e,f,t)}function p(e){return!0}function f(e){return!!e}n(80559),n.d(t,["OH",0,{sync:!0},"Vh",0,{initial:!0},"pc",0,{sync:!0,initial:!0}])},48526(e,t,n){n.d(t,{A:()=>y});var i,s=n(5482),r=n(4576),o=n(4718),a=n(91429),l=n(5443),u=n(91075),c=n(86738),h=n(16930),d=n(90634),p=n(47610),f=n(56993),m=n(43937);let y=i=class extends u.A{constructor(e){super(function(e){if(!e)return;let{points:t,hasM:n,hasZ:i,spatialReference:s}=e;switch(t??=[],t?.at(0)?.length){case 4:i??=!0,n??=!0;break;case 3:i??=!0!==n,n??=!i;break;default:i??=!1,n??=!1}return s??=h.A.WGS84,{...e,hasM:n,hasZ:i,points:t,spatialReference:s}}(e)),this.points=[],this.type="multipoint"}get cache(){return this.commitProperty("points"),this.commitProperty("hasZ"),this.commitProperty("hasM"),this.commitProperty("spatialReference"),{}}get extent(){const e=(0,d.ge)(this);return e?new l.A({...e,spatialReference:this.spatialReference}):null}writePoints(e,t){t.points=(0,o.o8)(this.points)}clone(){const{points:e,spatialReference:t,hasM:n,hasZ:s}=this;return new i({points:(0,o.o8)(e),spatialReference:t.clone(),hasM:n,hasZ:s})}equals(e){if(this===e)return!0;if(null==e)return!1;const t=this.spatialReference,n=e.spatialReference;return null!=t==(null!=n)&&!(null!=t&&null!=n&&!t.equals(n))&&(0,r.aI)(this.points,e.points,p.v6)}addPoint(e){return(0,f.h)(this,e),Array.isArray(e)?this.points.push(e):this.points.push(e.toArray()),this.notifyChange("points"),this}getPoint(e){if(!this._validateInputs(e))return null;const t=this.points[e],n={x:t[0],y:t[1],spatialReference:this.spatialReference};let i=2;return this.hasZ&&(n.z=t[2],i=3),this.hasM&&(n.m=t[i]),new c.A(n)}removePoint(e){if(!this._validateInputs(e))return null;const t=new c.A(this.points.splice(e,1)[0],this.spatialReference);return this.notifyChange("points"),t}setPoint(e,t){return this._validateInputs(e)?((0,f.h)(this,t),Array.isArray(t)||(t=t.toArray()),this.points[e]=t,this.notifyChange("points"),this):this}toJSON(e){return this.write({},e)}_validateInputs(e){return null!=e&&e>=0&&e<this.points.length}};(0,s.Cg)([(0,a.MZ)({readOnly:!0})],y.prototype,"cache",null),(0,s.Cg)([(0,a.MZ)({readOnly:!0})],y.prototype,"extent",null),(0,s.Cg)([(0,a.MZ)({type:[[Number]],json:{write:{isRequired:!0}}})],y.prototype,"points",void 0),(0,s.Cg)([(0,m.K)("points")],y.prototype,"writePoints",null),y=i=(0,s.Cg)([(0,a.$K)("esri.geometry.Multipoint")],y),y.prototype.toJSON.isDefaultToJSON=!0},82799(e,t,n){n.d(t,{A:()=>f});var i,s=n(5482),r=n(4718),o=n(91429),a=n(5443),l=n(91075),u=n(86738),c=n(16930),h=n(90634),d=n(56993),p=n(43937);let f=i=class extends l.A{constructor(e){super(function(e){if(!e)return;let{paths:t,hasM:n,hasZ:i,spatialReference:s}=e;switch(t??=[],function(e){return"number"==typeof e[0]?.[0]}(t)&&(t=[t]),t[0]?.[0]?.length){case 4:i??=!0,n??=!0;break;case 3:i??=!0!==n,n??=!i;break;default:i??=!1,n??=!1}return s??=c.A.WGS84,{...e,hasM:n,hasZ:i,paths:t,spatialReference:s}}(e)),this.curvePaths=void 0,this.paths=[],this.type="polyline"}get cache(){return this.commitProperty("curvePaths"),this.commitProperty("hasM"),this.commitProperty("hasZ"),this.commitProperty("paths"),this.commitProperty("spatialReference"),{}}writeCurvePaths(e,t){t.curvePaths=(0,r.o8)(e)}get extent(){const e=(0,h.Z3)(this),{spatialReference:t}=this;return e?new a.A({...e,spatialReference:t}):null}writePaths(e,t){t.paths=(0,r.o8)(this.paths)}addPath(e){if(!e)return;const t=this.paths,n=t.length;if(function(e){return!Array.isArray(e[0])}(e)){const i=[];for(let t=0,n=e.length;t<n;t++)i[t]=e[t].toArray();t[n]=i}else t[n]=e.slice();return this.notifyChange("paths"),this}clone(){const e=new i;return e.spatialReference=this.spatialReference,e.paths=(0,r.o8)(this.paths),e.curvePaths=(0,r.o8)(this.curvePaths),e.hasZ=this.hasZ,e.hasM=this.hasM,e}getPoint(e,t){if(!this._validateInputs(e,t))return null;const n=this.paths[e][t],i=this.hasZ,s=this.hasM;return i&&!s?new u.A(n[0],n[1],n[2],void 0,this.spatialReference):s&&!i?new u.A(n[0],n[1],void 0,n[2],this.spatialReference):i&&s?new u.A(n[0],n[1],n[2],n[3],this.spatialReference):new u.A(n[0],n[1],this.spatialReference)}insertPoint(e,t,n){return this._validateInputs(e,t,!0)?((0,d.h)(this,n),Array.isArray(n)||(n=n.toArray()),this.paths[e].splice(t,0,n),this.notifyChange("paths"),this):this}removePath(e){if(!this._validateInputs(e,null))return null;const t=this.paths.splice(e,1)[0],n=this.spatialReference,i=t.map(e=>new u.A(e,n));return this.notifyChange("paths"),i}removePoint(e,t){if(!this._validateInputs(e,t))return null;const n=new u.A(this.paths[e].splice(t,1)[0],this.spatialReference);return this.notifyChange("paths"),n}setPoint(e,t,n){return this._validateInputs(e,t)?((0,d.h)(this,n),Array.isArray(n)||(n=n.toArray()),this.paths[e][t]=n,this.notifyChange("paths"),this):this}_validateInputs(e,t,n=!1){if(null==e||e<0||e>=this.paths.length)return!1;if(null!=t){const i=this.paths[e];if(n&&(t<0||t>i.length))return!1;if(!n&&(t<0||t>=i.length))return!1}return!0}toJSON(e){return this.write({},e)}};(0,s.Cg)([(0,o.MZ)({readOnly:!0})],f.prototype,"cache",null),(0,s.Cg)([(0,o.MZ)({json:{write:!0,origins:{"portal-item":{write:!1},"web-map":{write:!1},"web-scene":{write:!1}}}})],f.prototype,"curvePaths",void 0),(0,s.Cg)([(0,p.K)("curvePaths")],f.prototype,"writeCurvePaths",null),(0,s.Cg)([(0,o.MZ)({readOnly:!0})],f.prototype,"extent",null),(0,s.Cg)([(0,o.MZ)({type:[[[Number]]],json:{write:{isRequired:!0}}})],f.prototype,"paths",void 0),(0,s.Cg)([(0,p.K)("paths")],f.prototype,"writePaths",null),f=i=(0,s.Cg)([(0,o.$K)("esri.geometry.Polyline")],f),f.prototype.toJSON.isDefaultToJSON=!0},60408(e,t,n){function i(e){return void 0!==e.xmin&&void 0!==e.ymin&&void 0!==e.xmax&&void 0!==e.ymax}function s(e){return void 0!==e.points}function r(e){return void 0!==e.x&&void 0!==e.y}function o(e){return void 0!==e.paths||void 0!==e.curvePaths}function a(e){return void 0!==e.rings||void 0!==e.curveRings}function l(e){return"object"==typeof e&&"vertexAttributes"in e}function u(e){return e?r(e)?"esriGeometryPoint":o(e)?"esriGeometryPolyline":a(e)?"esriGeometryPolygon":i(e)?"esriGeometryEnvelope":s(e)?"esriGeometryMultipoint":null:null}function c(e){return null!=e&&("hasZ"in e&&e.hasZ||"z"in e&&null!=e.z)}function h(e){return null!=e&&("hasM"in e&&e.hasM||"m"in e&&null!=e.m)}n.d(t,{$B:()=>u,Bi:()=>a,Pv:()=>c,Rg:()=>o,U9:()=>s,W0:()=>h,ZC:()=>i,fT:()=>r,uW:()=>l})},65864(e,t,n){n.d(t,{rS:()=>c,xD:()=>d});var i=n(5443),s=n(91075),r=n(48526),o=n(86738),a=n(39829),l=n(82799),u=n(60408);function c(e){return null==e?null:e instanceof s.A?e:(0,u.fT)(e)?o.A.fromJSON(e):(0,u.Rg)(e)?l.A.fromJSON(e):(0,u.Bi)(e)?a.A.fromJSON(e):(0,u.U9)(e)?r.A.fromJSON(e):(0,u.ZC)(e)?i.A.fromJSON(e):null}const h={esriGeometryPoint:o.A,esriGeometryPolyline:l.A,esriGeometryPolygon:a.A,esriGeometryEnvelope:i.A,esriGeometryMultipoint:r.A,esriGeometryMultiPatch:a.A};function d(e){return e&&h[e]||null}},6518(e,t,n){n.d(t,{F:()=>a});var i=n(44208),s=n(75503),r=n(19419);const o={minX:0,minY:0,maxX:0,maxY:0};class a{constructor(){this._indexInvalid=!1,this._boundsToLoad=[],this._boundsById=new Map,this._idByBounds=new Map,this._index=new s.wq(9,(0,i.A)("esri-csp-restrictions")?e=>({minX:e[0],minY:e[1],maxX:e[2],maxY:e[3]}):["[0]","[1]","[2]","[3]"]),this._loadIndex=()=>{if(this._indexInvalid){const e=new Array(this._idByBounds.size);let t=0;this._idByBounds.forEach((n,i)=>{e[t++]=i}),this._indexInvalid=!1,this._index.clear(),this._index.load(e)}else this._boundsToLoad.length&&(this._index.load(Array.from(new Set(this._boundsToLoad.filter(e=>this._idByBounds.has(e))))),this._boundsToLoad.length=0)}}get fullBounds(){if(!this._boundsById.size)return null;const e=(0,r.Ie)();for(const t of this._boundsById.values())t&&(e[0]=Math.min(t[0],e[0]),e[1]=Math.min(t[1],e[1]),e[2]=Math.max(t[2],e[2]),e[3]=Math.max(t[3],e[3]));return e}get valid(){return!this._indexInvalid}clear(){this._indexInvalid=!1,this._boundsToLoad.length=0,this._boundsById.clear(),this._idByBounds.clear(),this._index.clear()}delete(e){const t=this._boundsById.get(e);this._boundsById.delete(e),t&&(this._idByBounds.delete(t),this._indexInvalid||this._index.remove(t))}forEachInBounds(e,t){this._loadIndex(),function(e,t,n){(function(e){o.minX=e[0],o.minY=e[1],o.maxX=e[2],o.maxY=e[3]})(t),e.search(o,n)}(this._index,e,e=>t(this._idByBounds.get(e)))}get(e){return this._boundsById.get(e)}has(e){return this._boundsById.has(e)}invalidateIndex(){this._indexInvalid||(this._indexInvalid=!0,this._boundsToLoad.length=0)}set(e,t){if(!this._indexInvalid){const t=this._boundsById.get(e);t&&(this._index.remove(t),this._idByBounds.delete(t))}this._boundsById.set(e,t),t&&(this._idByBounds.set(t,e),this._indexInvalid||(this._boundsToLoad.push(t),this._boundsToLoad.length>5e4&&this._loadIndex()))}}},83221(e,t,n){n.d(t,{A:()=>f});var i=n(4576),s=n(49186),r=n(65529),o=n(53966),a=n(70328),l=n(19419),u=n(90708),c=n(6518),h=n(51441),d=n(37730);const p=(0,a.vt)();class f{constructor(e){this.geometryInfo=e,this._boundsStore=new c.F,this._featuresById=new Map,this._usedMemory=0,this.events=new r.bk,this.featureAdapter=d.T}get usedMemory(){return this._usedMemory}get geometryType(){return this.geometryInfo.geometryType}get hasM(){return this.geometryInfo.hasM}get hasZ(){return this.geometryInfo.hasZ}get numFeatures(){return this._featuresById.size}get fullBounds(){return this._boundsStore.fullBounds}get storeStatistics(){let e=0;return this._featuresById.forEach(t=>{null!=t.geometry&&t.geometry.coords&&(e+=t.geometry.coords.length)}),{featureCount:this._featuresById.size,vertexCount:e/(this.hasZ?this.hasM?4:3:this.hasM?3:2)}}getFullExtent(e){if(null==this.fullBounds)return null;const[t,n,i,s]=this.fullBounds;return{xmin:t,ymin:n,xmax:i,ymax:s,spatialReference:(0,h.ag)(e)}}add(e){this._add(e),this._emitChanged()}addMany(e){for(const t of e)this._add(t);this._emitChanged()}upsertMany(e){const t=e.map(e=>this._upsert(e));return this._emitChanged(),t.filter(i.Ru)}clear(){this._featuresById.clear(),this._boundsStore.clear(),this._emitChanged(),this._usedMemory=0}removeById(e){const t=this._featuresById.get(e);return t?(this._remove(t),this._emitChanged(),t):null}removeManyById(e){this._boundsStore.invalidateIndex();for(const t of e){const e=this._featuresById.get(t);e&&this._remove(e)}this._emitChanged()}forEachBounds(e,t){for(const n of e){const e=this._boundsStore.get(n.objectId);e&&t((0,a.Jt)(p,e))}}getFeature(e){return this._featuresById.get(e)}has(e){return this._featuresById.has(e)}forEach(e){this._featuresById.forEach(t=>e(t))}forEachInBounds(e,t){this._boundsStore.forEachInBounds(e,e=>{t(this._featuresById.get(e))})}_emitChanged(){this.events.emit("changed",void 0)}_add(e){if(!e)return;const t=e.objectId;if(null==t)return void o.A.getLogger("esri.layers.graphics.data.FeatureStore").error(new s.A("featurestore:invalid-feature","feature id is missing",{feature:e}));const n=this._featuresById.get(t);let i;if(n?(e.displayId=n.displayId,i=this._boundsStore.get(t),this._boundsStore.delete(t),this._usedMemory-=this.estimateFeatureUsedMemory?.(n)??0):null!=this.onFeatureAdd&&this.onFeatureAdd(e),!e.geometry?.coords?.length)return this._boundsStore.set(t,null),void this._featuresById.set(t,e);i=(0,u.jQ)(null!=i?i:(0,l.vt)(),e.geometry),null!=i&&this._boundsStore.set(t,i),this._featuresById.set(t,e),this._usedMemory+=this.estimateFeatureUsedMemory?.(e)??0}_upsert(e){const t=e?.objectId;if(null==t)return o.A.getLogger("esri.layers.graphics.data.FeatureStore").error(new s.A("featurestore:invalid-feature","feature id is missing",{feature:e})),null;const n=this._featuresById.get(t);if(!n)return this._add(e),e;this._usedMemory-=this.estimateFeatureUsedMemory?.(n)??0;const{geometry:i,attributes:r}=e;for(const e in r)n.attributes[e]=r[e];return i&&(n.geometry=i,this._boundsStore.set(t,(0,u.jQ)((0,l.vt)(),i)??null)),this._usedMemory+=this.estimateFeatureUsedMemory?.(n)??0,n}_remove(e){null!=this.onFeatureRemove&&this.onFeatureRemove(e);const t=e.objectId;return this._boundsStore.delete(t),this._featuresById.delete(t),this._usedMemory-=this.estimateFeatureUsedMemory?.(e)??0,e}}},37730(e,t,n){var i=n(43334);const s={getObjectId:e=>e.objectId,getAttributes:e=>e.attributes,getAttribute:(e,t)=>e.attributes[t],cloneWithGeometry:(e,t,n)=>new i.Om(t,e.attributes,null,e.objectId,e.displayId,e.distance,e.vertexCount),getGeometry:e=>e.geometry,getCentroid:(e,t)=>e.ensureCentroid(t)};n.d(t,["T",0,s])},25209(e,t,n){n.r(t),n.d(t,{default:()=>z});var i=n(11254),s=n(60999),r=n(67482),o=n(49186),a=n(53966),l=n(17676),u=n(84952),c=n(91218),h=n(16930),d=n(21325),p=n(28735),f=n(43334),m=n(92722),y=n(83221),g=n(31464),_=n(75752),x=n(14607),b=n(30524),w=n(54625);const v=/^\s*"([\S\s]*)"\s*$/,I=/""/g,S=[",",";","|","\t"];function*A(e,t,n){let i=0;for(;i<=e.length;){const s=e.indexOf(t,i),r=e.slice(i,s>-1?s:void 0);i+=r.length+t.length,n&&!r.trim()||(yield r)}}function M(e){const t=e.includes("\r\n")?"\r\n":"\n";return A(e,t,!0)}function F(e,t){return A(e,t,!1)}function C(e,t,n){e=e.trim(),t=t?.trim();const i=[],s=Array.from(new Set([n?.delimiter,...S])).filter(e=>null!=e);for(const n of s){const s=N(e,n).length,r=N(t,n).length??s;s>1&&i.push({weight:Math.min(s,r),delimiter:n})}const r=i.sort(({weight:e},{weight:t})=>t-e).map(({delimiter:e})=>e);for(const t of r){const i=B(e,t).names,s=(0,w.i_)(i,n?.longitudeField,n?.latitudeField);if(s.longitudeFieldName&&s.latitudeFieldName)return{delimiter:t,locationInfo:s}}return{delimiter:r[0],locationInfo:null}}function*T(e,t,n,i=()=>Object.create(null)){const s=M(e);s.next();let r="",o="",a=0,l=i(),u=0;e:for(const e of s){const s=F(e,n);for(const e of s)if(r+=o+e,o="",a+=E(e),a%2==0){if(a>0){const e=v.exec(r);if(!e){l=i(),u=0,r="",a=0;continue e}l[t[u]]=e[1].replaceAll(I,'"'),u++}else l[t[u]]=r,u++;r="",a=0}else o=n;0===a?(yield l,l=i(),u=0):o="\n"}}function B(e,t){const n=N(e,t).filter(e=>null!=e),i=n.map(e=>(0,b.rS)(e));for(let e=i.length-1;e>=0;e--)i[e]||(i.splice(e,1),n.splice(e,1));return{names:i,aliases:n}}function N(e,t){if(!e?.length)return[];const n=[];let i="",s="",r=0;const o=F(e,t);for(const e of o)if(i+=s+e,s="",r+=E(e),r%2==0){if(r>0){const e=v.exec(i);e&&n.push(e[1].replaceAll(I,'"'))}else n.push(i);i="",r=0}else s=t;return n}function E(e){let t=0,n=0;for(n=e.indexOf('"',n);n>=0;)t++,n=e.indexOf('"',n+1);return t}function O(e,t,n,i,s){const r=[],o=T(e,n,t),a=[];for(const e of o){if(10===a.length)break;a.push(e)}for(let e=0;e<n.length;e++){const t=n[e],o=i[e];if(t===s.longitudeFieldName||t===s.latitudeFieldName)r.push({name:t,type:"esriFieldTypeDouble",alias:o});else{let e;switch(P(a.map(e=>e[t]))){case"integer":e="esriFieldTypeInteger";break;case"double":e="esriFieldTypeDouble";break;case"date":e="esriFieldTypeDate";break;default:e="esriFieldTypeString"}r.push({name:t,type:e,alias:o,length:(0,b._b)(e)})}}return r}function P(e){if(!e.length)return"string";const t=/[^+\-.,0-9]/;return e.map(e=>{if(""!==e){if(!t.test(e)){let t=R(e);if(!isNaN(t))return/[.,]/.test(e)||!Number.isInteger(t)||t>214783647||t<-214783648?"double":"integer";if(e.includes("E")){if(t=Number(e),!Number.isNaN(t))return"double";if(e.includes(",")&&(e=e.replace(",","."),t=Number(e),!Number.isNaN(t)))return"double"}}return(0,r.C)(e)?"date":"string"}}).reduce((e,t)=>void 0===e?t:void 0===t?e:e===t?t:"string"===e||"string"===t?"string":"double"===e||"double"===t?"double":void 0)}const R=function(){const e=(0,x.B)(),t=new RegExp("^"+e.regexp+"$"),n=new RegExp("["+e.group+"\\s\\xa0]","g"),i=e.factor;return s=>{const r=t.exec(s);if(e.factor=i,!r)return NaN;let o=r[1];if(!r[1]){if(!r[2])return NaN;o=r[2],e.factor*=-1}return o=o.replace(n,"").replace(e.decimal,"."),+o*e.factor}}();function q(e){return JSON.parse(JSON.stringify(e))}var k=n(64714),Y=n(60694),D=n(95466),X=n(54218);n(98623);const j=(0,k.F0)("esriGeometryPoint"),Z=["csv"],L=[0,0];class G{constructor(e,t){this.x=e,this.y=t}}class z{constructor(){this._queryEngine=null,this._featureIdInfo=null,this._snapshotFeatures=async e=>{const t=await this._fetch(e);return this._createFeatures(t)}}destroy(){this._queryEngine?.destroy(),this._queryEngine=null}async load(e,t={}){this._loadOptions=e;const[n]=await Promise.all([this._fetch(t.signal),this._checkProjection(e?.parsingOptions?.spatialReference)]),i=function(e,t){const n=t.parsingOptions||{},i={delimiter:n.delimiter,layerDefinition:null,locationInfo:{latitudeFieldName:n.latitudeField,longitudeFieldName:n.longitudeField}},s=i.layerDefinition={name:(0,Y.cr)((0,u.e7)(t.url,Z)||"csv"),dateFieldsTimeReference:{timeZoneIANA:"UTC"},drawingInfo:j,geometryType:"esriGeometryPoint",objectIdField:null,fields:[],timeInfo:n.timeInfo,extent:{xmin:Number.POSITIVE_INFINITY,ymin:Number.POSITIVE_INFINITY,xmax:Number.NEGATIVE_INFINITY,ymax:Number.NEGATIVE_INFINITY,spatialReference:n.spatialReference||{wkid:4326}}},r=M(e),a=r.next().value?.trim(),l=r.next().value?.trim();if(!a)throw new o.A("csv-layer:empty-csv","CSV is empty",{csv:e});const{delimiter:c,locationInfo:h}=C(a,l,n);if(!c)throw new o.A("csv-layer:invalid-delimiter","Unable to detect the delimiter from CSV",{firstLine:a,secondLine:l,parsingOptions:n});if(!h)throw new o.A("csv-layer:location-fields-not-found","Unable to identify latitude and longitude fields from the CSV file",{firstLine:a,secondLine:l,parsingOptions:n});i.locationInfo=h,i.delimiter=c;const{names:d,aliases:p}=B(a,c),f=O(e,i.delimiter,d,p,i.locationInfo);if(n.fields?.length){const e=new D.A(n.fields);for(const t of f){const n=e.get(t.name);n&&Object.assign(t,n)}}if(!f.some(e=>"esriFieldTypeOID"===e.type&&(s.objectIdField=e.name,!0))){const e={name:"__OBJECTID",alias:"__OBJECTID",type:"esriFieldTypeOID",editable:!1,nullable:!1};s.objectIdField=e.name,f.unshift(e)}s.fields=f;const m=new D.A(s.fields);if(i.locationInfo&&(i.locationInfo.latitudeFieldName=m.get(i.locationInfo.latitudeFieldName).name,i.locationInfo.longitudeFieldName=m.get(i.locationInfo.longitudeFieldName).name),s.timeInfo){const e=s.timeInfo;if(e.startTimeField){const t=m.get(e.startTimeField);t?(e.startTimeField=t.name,t.type="esriFieldTypeDate"):e.startTimeField=null}if(e.endTimeField){const t=m.get(e.endTimeField);t?(e.endTimeField=t.name,t.type="esriFieldTypeDate"):e.endTimeField=null}if(e.trackIdField){const t=m.get(e.trackIdField);e.trackIdField=t?t.name:null}e.startTimeField||e.endTimeField||(s.timeInfo=null)}return i}(n,e);this._locationInfo=i.locationInfo,this._delimiter=i.delimiter;const{objectIdField:s,fields:r,extent:{spatialReference:a},timeInfo:l}=i.layerDefinition,c=new y.A({geometryType:"esriGeometryPoint",hasM:!1,hasZ:!1});this._featureIdInfo={type:"object-id",fieldName:s},this._queryEngine=new _.do({fieldsIndex:D.A.fromLayerJSON({fields:r,dateFieldsTimeReference:{timeZoneIANA:"UTC"}}),geometryType:"esriGeometryPoint",hasM:!1,hasZ:!1,timeInfo:l,featureIdInfo:this._featureIdInfo,spatialReference:a||{wkid:4326},featureStore:c});const h=this._createFeatures(n);this._queryEngine.featureStore.addMany(h);const{fullExtent:d,timeExtent:p}=await this._queryEngine.fetchRecomputedExtents();if(i.layerDefinition.extent=d,p){const{start:e,end:t}=p;i.layerDefinition.timeInfo.timeExtent=[e,t]}return i}async applyEdits(){throw new o.A("csv-layer:editing-not-supported","applyEdits() is not supported on CSVLayer")}async queryFeatures(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQuery(e,t.signal)}async queryFeatureCount(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQueryForCount(e,t.signal)}async queryObjectIds(e={},t={}){return await this._waitSnapshotComplete(),(await this._queryEngine.executeQueryForIds(e,t.signal)).filter(X.Et)}async queryExtent(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQueryForExtent(e,t.signal)}async querySnapping(e,t={}){return await this._waitSnapshotComplete(),await this._queryEngine.executeQueryForSnapping(e,t.signal)}async queryAttributeBins(e,t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeAttributeBinsQuery(e,t.signal)}async refresh(e){this._loadOptions.customParameters=e,this._snapshotTask?.abort(),this._snapshotTask=(0,s.UT)(this._snapshotFeatures),this._snapshotTask.promise.then(e=>{this._queryEngine.featureStore.clear(),e&&this._queryEngine.featureStore.addMany(e)},e=>{this._queryEngine.featureStore.clear(),(0,l.zf)(e)||a.A.getLogger("esri.layers.CSVLayer").error(new o.A("csv-layer:refresh","An error occurred during refresh",{error:e}))}),await this._waitSnapshotComplete();const{fullExtent:t,timeExtent:n}=await this._queryEngine.fetchRecomputedExtents();return{extent:t,timeExtent:n}}async _waitSnapshotComplete(){if(this._snapshotTask&&!this._snapshotTask.finished){try{await this._snapshotTask.promise}catch{}return this._waitSnapshotComplete()}}async _fetch(e){const{url:t,customParameters:n}=this._loadOptions;if(!t)throw new o.A("csv-layer:invalid-source","url not defined");const s=(0,u.An)(t);return(await(0,i.A)(s.path,{query:{...s.query,...n},responseType:"text",signal:e})).data}_createFeatures(e){const{latitudeFieldName:t,longitudeFieldName:n}=this._locationInfo,{fieldsIndex:i,spatialReference:s}=this._queryEngine,o=this._featureIdInfo.fieldName;let a=[];const l=[],u=i.fields.filter(e=>e.name!==o).map(e=>e.name);let y=0;const g={};for(const e of i.fields)if("esriFieldTypeOID"!==e.type&&"esriFieldTypeGlobalID"!==e.type){const t=(0,b.lD)(e);void 0!==t&&(g[e.name]=t)}const _=T(e,u,this._delimiter,(0,k.Vx)(g,o));for(const e of _){const s=this._parseCoordinateValue(e[t]),u=this._parseCoordinateValue(e[n]);if(null!=u&&null!=s&&!isNaN(s)&&!isNaN(u)){e[t]=s,e[n]=u;for(const s in e)if(s!==t&&s!==n)if(i.isDateField(s))e[s]=(0,r._)(e[s]);else if(i.isNumericField(s)){const t=R(e[s]);isNaN(t)?e[s]=null:e[s]=t}else null!=e[s]&&(e[s]=q(e[s]));e[o]=y,y++,a.push(new G(u,s)),l.push(e)}}if(!(0,d.aI)({wkid:4326},s))if((0,d.K8)(s))for(const e of a)[e.x,e.y]=(0,p.je)(e.x,e.y,L);else a=(0,c.projectMany)(a,h.A.WGS84,s);const x=[];for(let e=0;e<a.length;e++){const{x:t,y:n}=a[e],i=l[e];i[o]=e+1,x.push(new f.Om(new m.A([],[t,n]),i,null,i[o]))}return x}_parseCoordinateValue(e){if(null==e||""===e)return null;let t=R(e);return(isNaN(t)||Math.abs(t)>181)&&(t=parseFloat(e)),t}async _checkProjection(e){try{await(0,g.Nk)(d.KK,e)}catch{throw new o.A("csv-layer:projection-not-supported","Projection not supported")}}}},64714(e,t,n){n.d(t,{F0:()=>a,Vx:()=>c,e2:()=>d,f:()=>p});var i=n(44208),s=n(4718),r=n(99352),o=n(93470);function a(e){return{renderer:{type:"simple",symbol:"esriGeometryPoint"===e||"esriGeometryMultipoint"===e?o.Cb:"esriGeometryPolyline"===e?o.yM:o.WR}}}const l=/^[_$a-zA-Z][_$a-zA-Z0-9]*$/;let u=1;function c(e,t){if((0,i.A)("esri-csp-restrictions"))return()=>t?{[t]:null,...e}:{...e};try{let n="";t&&(n+=`this${h(t)} = null;`);for(const t in e)n+=`this${h(t)} = ${JSON.stringify(e[t])};`;const i=new Function(`\n return class AttributesClass$${u++} {\n constructor() {\n ${n};\n }\n }\n `)();return()=>new i}catch(n){return()=>t?{[t]:null,...e}:{...e}}}function h(e){return l.test(e)?`.${e}`:`[${JSON.stringify(e)}]`}function d(e={}){return[{name:"New Feature",description:"",prototype:{attributes:(0,s.o8)(e)}}]}function p(e,t){return{analytics:{supportsCacheHint:!1},attachment:null,data:{isVersioned:!1,isBranchVersioned:!1,supportedCurveTypes:[],supportsAttachment:!1,supportsM:!1,supportsTrueCurve:!1,supportsZ:e},metadata:{supportsAdvancedFieldProperties:!1},operations:{supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsAdd:t,supportsDelete:t,supportsEditing:t,supportsChangeTracking:!1,supportsQuery:!0,supportsQueryBins:!0,supportsQueryPivot:!1,supportsQueryAnalytics:!1,supportsQueryAttachments:!1,supportsQueryTopFeatures:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsUpdate:t,supportsExceedsLimitStatistics:!0,supportsAsyncConvert3D:!1},query:r.F,queryRelated:{supportsCount:!0,supportsOrderBy:!0,supportsPagination:!0,supportsCacheHint:!1},queryTopFeatures:{supportsCacheHint:!1},queryAttributeBins:r.P,editing:{supportsGeometryUpdate:t,supportsGlobalId:!1,supportsReturnServiceEditsInSourceSpatialReference:!1,supportsRollbackOnFailure:!1,supportsTrueCurveUpdate:t,supportsTrueCurveUpdateByTrueCurveClientsOnly:!1,supportsUpdateWithoutM:!1,supportsUploadWithItemId:!1,supportsDeleteByAnonymous:!1,supportsDeleteByOthers:!1,supportsUpdateByAnonymous:!1,supportsUpdateByOthers:!1,supportsAsyncApplyEdits:!1,zDefault:void 0}}}},98453(e,t,n){const i=new(n(66552).J)({esriFieldTypeSmallInteger:"small-integer",esriFieldTypeInteger:"integer",esriFieldTypeSingle:"single",esriFieldTypeDouble:"double",esriFieldTypeLong:"long",esriFieldTypeString:"string",esriFieldTypeDate:"date",esriFieldTypeOID:"oid",esriFieldTypeGeometry:"geometry",esriFieldTypeBlob:"blob",esriFieldTypeRaster:"raster",esriFieldTypeGUID:"guid",esriFieldTypeGlobalID:"global-id",esriFieldTypeXML:"xml",esriFieldTypeBigInteger:"big-integer",esriFieldTypeDateOnly:"date-only",esriFieldTypeTimeOnly:"time-only",esriFieldTypeTimestampOffset:"timestamp-offset"});n.d(t,["m",0,i])},54625(e,t,n){n.d(t,{i_:()=>s});var i=n(30524);function s(e,t,n){t=(0,i.rS)(t)?.toLowerCase(),n=(0,i.rS)(n)?.toLowerCase();const s=e.map(e=>e.toLowerCase()),a=t?e[s.indexOf(t)]:null,l=n?e[s.indexOf(n)]:null;return{longitudeFieldName:a||e[s.indexOf(o.find(e=>s.includes(e)))],latitudeFieldName:l||e[s.indexOf(r.find(e=>s.includes(e)))]}}const r=["lat","lat83","latitude","latitude83","latdecdeg","lat_dd","y","ycenter","point_y"],o=["lon","lng","lng83","long","long83","longitude","longitude83","longdecdeg","long_dd","x","xcenter","point_x"];n.d(t,["A0",0,o,"bD",0,r])},2272(e,t,n){n.d(t,{Dl:()=>u,gf:()=>h,jV:()=>l,lF:()=>c});var i=n(92602),s=n(70333),r=n(4718),o=n(84952),a=n(926);function l(e,t){return t?{...t,query:{...e,...t.query}}:{query:e}}function u(e){return"string"==typeof e?(0,o.An)(e):(0,r.o8)(e)}function c(e,t,n){const i={};for(const s in e){if("declaredClass"===s)continue;const r=e[s];if(null!=r&&"function"!=typeof r)if(Array.isArray(r))i[s]=r.map(e=>c(e));else if("object"==typeof r)if(r.toJSON){const e=r.toJSON(n?.[s]);i[s]=t?e:JSON.stringify(e)}else i[s]=t?r:JSON.stringify(r);else i[s]=r}return i}async function h(e,t,r){const o=function(e,t){return e?t&&(0,a.Qc)(e)?t:(0,a.getApiKey)(e)??s.id?.findCredential(e)?.token:null}(e,t);if(o)return o;!s.id&&i.A.request.useIdentity&&await Promise.all([n.e(7632),n.e(9815),n.e(148)]).then(n.bind(n,50148));const l=await s.id.getCredential(e,r);return l?.token}},926(e,t,n){n.d(t,{Dd:()=>d,Jn:()=>p,Qc:()=>f,getApiKey:()=>c,getSessionToken:()=>h});var i=n(92602),s=n(11254),r=n(84952);const o=/^https?:\/\/(i?basemaps|basemapstyles)-api\.arcgis\.com\//i,a=new Set(["elevation3d.arcgis.com","js.arcgis.com","jsdev.arcgis.com","jsqa.arcgis.com","static.arcgis.com"]),l=new Map;let u=null;function c(e){if(!f(e))return null;const t=t=>t instanceof RegExp?t.test(e):"string"==typeof t&&e.startsWith(t),n=i.A.apiKeys;if(Array.isArray(n.scopes))for(const e of n.scopes)if(Array.isArray(e.urls)){if(e.urls.some(t))return e.token}else if(t(e.urls))return e.token;return n.basemapStyles&&o.test(e)?n.basemapStyles:i.A.apiKey&&/^https?:\/\/.+\.arcgis\.com(\/|$)/i.test(e)?i.A.apiKey:null}async function h(e){if(!i.A.sessions?.basemap?.enabled||!o.test(e))return null;const t=c(e);if(!t)return null;u&&await u;const{styleFamily:n="arcgis",autoRefresh:r,duration:a=43200}=i.A.sessions.basemap,h=`${t}:${n}`,d=l.get(h);if(d&&(!r||d.endTime>Date.now()))return d.sessionToken;let p;u=(0,s.A)("https://basemapstyles-api.arcgis.com/arcgis/rest/services/styles/v2/sessions/start",{cacheBust:!0,query:{durationSeconds:a,styleFamily:n,token:t}});try{p=(await u).data,p.endTime-=5e3,l.set(h,p)}finally{u=null}return p.sessionToken}function d(){return null!=i.A.apiKey||null!=i.A.apiKeys.basemapStyles}function p(e,t){return t?f(e):null!=c(e)}function f(e){const t=(0,r.$z)(e,!0);return!!t&&!a.has(t)&&!e.endsWith("/sharing/rest/generateToken")}},93470(e,t,n){const i=[252,146,31,255],s={type:"esriSMS",style:"esriSMSCircle",size:6,color:i,outline:{type:"esriSLS",style:"esriSLSSolid",width:.75,color:[153,153,153,255]}},r={type:"esriSLS",style:"esriSLSSolid",width:.75,color:i};n.d(t,["Cb",0,s,"HW",0,{type:"esriSLS",style:"esriSLSSolid",color:[0,0,0,255],width:1.5},"JR",0,[153,153,153,255],"JZ",0,{type:"esriTS",color:[255,255,255,255],font:{family:"arial-unicode-ms",size:10,weight:"bold"},horizontalAlignment:"center",kerning:!0,haloColor:[0,0,0,255],haloSize:1,rotated:!1,text:"",xoffset:0,yoffset:0,angle:0},"WR",0,{type:"esriSFS",style:"esriSFSSolid",color:[252,146,31,196],outline:{type:"esriSLS",style:"esriSLSSolid",width:.75,color:[255,255,255,191]}},"b6",0,{type:"esriSFS",style:"esriSFSSolid",color:[0,0,0,255],outline:null},"fT",0,i,"nC",0,{type:"esriSMS",style:"esriSMSCircle",color:[0,0,0,255],outline:null,size:10.5},"yM",0,r])}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[926,8281],{69540(e,t,n){var i=n(5482),s=n(69622),r=(n(44208),n(4718)),o=(n(53966),n(97768)),a=n(88620),l=n(64108);const u=Symbol("ClonableMixin"),c=e=>{var t;const n=e;let s=class extends n{constructor(){super(...arguments),this[t]=!0}static{t=u}clone(e){const t=(0,a.oY)(this);(0,o.Lw)(t,"unable to clone instance of non-accessor class");const n=t.metadata,i=t.store,s={},l=new Map;for(const t in n){const o=n[t],a=i?.originOf(t),u=o.clonable;if(o.readOnly||!1===u||7!==a&&0!==a&&5!==a&&4!==a)continue;const c=this[t];let h=null;if("function"==typeof u)h=u(c,e);else if("reference"===u)h=c;else if(h=(0,r.TU)(c,e),null!=c&&null==h)continue;0===a?l.set(t,h):s[t]=h}const u=new(0,Object.getPrototypeOf(this).constructor)(s);if(l.size){const e=(0,a.oY)(u)?.store;if(e)for(const[t,n]of l)e.set(t,n,0)}return u}};return s=(0,i.Cg)([(0,l.$)("esri.core.Clonable")],s),s},h=c(s.A);n.d(t,["OU",0,c,"Pw",0,h])},60999(e,t,n){n.d(t,{DZ:()=>f,Ke:()=>p,Tj:()=>c,UT:()=>m,aD:()=>g,jJ:()=>u});var i=n(5482),s=n(69622),r=n(97768),o=n(17676),a=n(10107),l=n(64108);function u(e,t,n){return(0,o.Lx)(e.map((e,i)=>t.apply(n,[e,i])))}async function c(e,t,n){return(await(0,o.Lx)(e.map((e,i)=>t.apply(n,[e,i])))).map(e=>e.value)}function h(e){return{ok:!0,value:e}}function d(e){return{ok:!1,error:e}}async function p(e){if(null==e)return{ok:!1,error:new Error("no promise provided")};try{return h(await e)}catch(e){return d(e)}}async function f(e){try{return h(await e)}catch(e){return(0,o.QP)(e),d(e)}}function m(e,t){return new y(e,t)}let y=class extends s.A{get value(){return null!=(e=this._result)&&!0===e.ok?e.value:null;var e}get error(){return null!=(e=this._result)&&!1===e.ok?e.error:null;var e}get finished(){return null!=this._result}constructor(e,t){super({}),this._result=null,this._abortHandle=null,this.abort=()=>{this._abortController=(0,r.DC)(this._abortController)},this.remove=this.abort,this._abortController=new AbortController;const{signal:n}=this._abortController;this.promise=e(n),this.promise.then(e=>{this._result=h(e),this._cleanup()},e=>{this._result=d(e),this._cleanup()}),this._abortHandle=(0,o.u7)(t,this.abort)}normalizeCtorArgs(){return{}}destroy(){this.abort()}_cleanup(){this._abortHandle=(0,r.xt)(this._abortHandle),this._abortController=null}};(0,i.Cg)([(0,a.MZ)()],y.prototype,"value",null),(0,i.Cg)([(0,a.MZ)()],y.prototype,"error",null),(0,i.Cg)([(0,a.MZ)()],y.prototype,"finished",null),(0,i.Cg)([(0,a.MZ)()],y.prototype,"promise",void 0),(0,i.Cg)([(0,a.MZ)()],y.prototype,"_result",void 0),y=(0,i.Cg)([(0,l.$)("esri.core.asyncUtils.ReactiveTask")],y);class g{constructor(){this._sequence=Promise.resolve()}async acquire(){let e;this._sequence=new Promise(t=>{e=this._sequence.then(()=>t,()=>t)});const t=await e;return{[Symbol.dispose]:t}}async run(e){const t={stack:[],error:void 0,hasError:!1};try{return(0,i.mS)(t,await this.acquire(),!1),await e()}catch(e){t.error=e,t.hasError=!0}finally{(0,i.hk)(t)}}}},67482(e,t,n){function i(e){return null!==s(e)}function s(e){return function(e){const t=r.exec(e);if(!t?.groups)return null;const n=t.groups,i=+n.year,s=+n.month-1,o=+n.day,a=+(n.hours??"0"),l=+(n.minutes??"0"),u=+(n.seconds??"0");if(a>23)return null;if(l>59)return null;if(u>59)return null;const c=n.ms??"0",h=c?+c.padEnd(3,"0").slice(0,3):0;let d;if(n.isUTC||!n.offsetSign)d=Date.UTC(i,s,o,a,l,u,h);else{const e=+n.offsetHours,t=+n.offsetMinutes;d=6e4*("+"===n.offsetSign?-1:1)*(60*e+t)+Date.UTC(i,s,o,a,l,u,h)}return Number.isNaN(d)?null:d}(e)??function(e){const t=new Date(e),n=t.getTime();return Number.isNaN(n)?null:e.toLowerCase()===t.toUTCString().toLowerCase()?n:null}(e)??function(e){if(!o.test(e))return null;const t=new Date(e);return Number.isNaN(t.getTime())?null:t.getTime()-6e4*t.getTimezoneOffset()}(e)}n.d(t,{C:()=>i,_:()=>s});const r=/^(?:(?<year>-?\d{4,})-(?<month>\d{2})-(?<day>\d{2}))(?:T(?<hours>\d{2}):(?<minutes>\d{2}):(?<seconds>\d{2})(?:\.(?<ms>\d+))?)?(?:(?<isUTC>Z)|(?:(?<offsetSign>\+|-)(?<offsetHours>\d{2}):(?<offsetMinutes>\d{2})))?$/,o=/^((\d{1,2}[/-]\d{1,2}[/-]\d{4})|(\d{4}[/-]\d{1,2}[/-]\d{1,2}))( \d{1,2}:\d{1,2}:\d{1,2}( ((AM)|(PM)))?)?$/i},75503(e,t,n){n.d(t,{wq:()=>a});var i=n(4576),s=n(21818),r=(n(44208),n(15142)),o=n(11006);class a{constructor(e=9,t){this._compareMinX=d,this._compareMinY=p,this._toBBox=e=>e,this._maxEntries=Math.max(4,e||9),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),t&&("function"==typeof t?this._toBBox=t:this._initFormat(t)),this.clear()}destroy(){this.clear(),w.prune(),v.prune(),I.prune(),S.prune()}all(e){l(this._data,e)}search(e,t){let n=this._data;const i=this._toBBox;if(x(e,n))for(w.clear();n;){for(let s=0,r=n.children.length;s<r;s++){const r=n.children[s],o=n.leaf?i(r):r;x(e,o)&&(n.leaf?t(r):_(e,o)?l(r,t):w.push(r))}n=w.pop()}}collides(e){let t=this._data;const n=this._toBBox;if(!x(e,t))return!1;for(w.clear();t;){for(let i=0,s=t.children.length;i<s;i++){const s=t.children[i],r=t.leaf?n(s):s;if(x(e,r)){if(t.leaf||_(e,r))return!0;w.push(s)}}t=w.pop()}return!1}load(e){if(!e.length)return this;if(e.length<this._minEntries){for(let t=0,n=e.length;t<n;t++)this.insert(e[t]);return this}let t=this._build(e.slice(),0,e.length-1,0);if(this._data.children.length)if(this._data.height===t.height)this._splitRoot(this._data,t);else{if(this._data.height<t.height){const e=this._data;this._data=t,t=e}this._insert(t,this._data.height-t.height-1,!0)}else this._data=t;return this}insert(e){return e&&this._insert(e,this._data.height-1),this}clear(){return this._data=new F([]),this}remove(e){if(!e)return this;let t,n=this._data,r=null,o=0,a=!1;const l=this._toBBox(e);for(I.clear(),S.clear();n||I.length>0;){if(n||(n=I.pop(),r=I.data[I.length-1],o=S.pop()??0,a=!0),n.leaf&&(t=(0,i.qh)(n.children,(0,s.z)(e),n.children.length,n.indexHint),-1!==t))return n.children.splice(t,1),I.push(n),this._condense(I),this;a||n.leaf||!_(n,l)?r?(o++,n=r.children[o],a=!1):n=null:(I.push(n),S.push(o),o=0,r=n,n=n.children[0])}return this}toJSON(){return this._data}fromJSON(e){return this._data=e,this}_build(e,t,n,i){const s=n-t+1;let r=this._maxEntries;if(s<=r){const i=new F(e.slice(t,n+1));return u(i,this._toBBox),i}i||(i=Math.ceil(Math.log(s)/Math.log(r)),r=Math.ceil(s/r**(i-1)));const o=new C([]);o.height=i;const a=Math.ceil(s/r),l=a*Math.ceil(Math.sqrt(r));b(e,t,n,l,this._compareMinX);for(let s=t;s<=n;s+=l){const t=Math.min(s+l-1,n);b(e,s,t,a,this._compareMinY);for(let n=s;n<=t;n+=a){const s=Math.min(n+a-1,t);o.children.push(this._build(e,n,s,i-1))}}return u(o,this._toBBox),o}_insert(e,t,n){const i=this._toBBox,s=n?e:i(e);I.clear();const r=function(e,t,n,i){for(;i.push(t),!0!==t.leaf&&i.length-1!==n;){let n,i=1/0,s=1/0;for(let r=0,o=t.children.length;r<o;r++){const o=t.children[r],a=f(o),l=y(e,o)-a;l<s?(s=l,i=a<i?a:i,n=o):l===s&&a<i&&(i=a,n=o)}t=n||t.children[0]}return t}(s,this._data,t,I);for(r.children.push(e),h(r,s);t>=0&&I.data[t].children.length>this._maxEntries;)this._split(I,t),t--;!function(e,t,n){for(let i=n;i>=0;i--)h(t.data[i],e)}(s,I,t)}_split(e,t){const n=e.data[t],i=n.children.length,s=this._minEntries;this._chooseSplitAxis(n,s,i);const r=this._chooseSplitIndex(n,s,i);if(!r)return;const o=n.children.splice(r,n.children.length-r),a=n.leaf?new F(o):new C(o);a.height=n.height,u(n,this._toBBox),u(a,this._toBBox),t?e.data[t-1].children.push(a):this._splitRoot(n,a)}_splitRoot(e,t){this._data=new C([e,t]),this._data.height=e.height+1,u(this._data,this._toBBox)}_chooseSplitIndex(e,t,n){let i,s,r;i=s=1/0;for(let o=t;o<=n-t;o++){const t=c(e,0,o,this._toBBox),a=c(e,o,n,this._toBBox),l=g(t,a),u=f(t)+f(a);l<i?(i=l,r=o,s=u<s?u:s):l===i&&u<s&&(s=u,r=o)}return r}_chooseSplitAxis(e,t,n){const i=e.leaf?this._compareMinX:d,s=e.leaf?this._compareMinY:p;this._allDistMargin(e,t,n,i)<this._allDistMargin(e,t,n,s)&&e.children.sort(i)}_allDistMargin(e,t,n,i){e.children.sort(i);const s=this._toBBox,r=c(e,0,t,s),o=c(e,n-t,n,s);let a=m(r)+m(o);for(let i=t;i<n-t;i++){const t=e.children[i];h(r,e.leaf?s(t):t),a+=m(r)}for(let i=n-t-1;i>=t;i--){const t=e.children[i];h(o,e.leaf?s(t):t),a+=m(o)}return a}_condense(e){for(let t=e.length-1;t>=0;t--){const n=e.data[t];if(0===n.children.length)if(t>0){const s=e.data[t-1],r=s.children;r.splice((0,i.qh)(r,n,r.length,s.indexHint),1)}else this.clear();else u(n,this._toBBox)}}_initFormat(e){const t=["return a"," - b",";"];this._compareMinX=new Function("a","b",t.join(e[0])),this._compareMinY=new Function("a","b",t.join(e[1])),this._toBBox=new Function("a","return {minX: a"+e[0]+", minY: a"+e[1]+", maxX: a"+e[2]+", maxY: a"+e[3]+"};")}}function l(e,t){let n=e;for(v.clear();n;){if(!0===n.leaf)for(const e of n.children)t((0,s.z)(e));else v.pushArray(n.children);n=v.pop()??null}}function u(e,t){c(e,0,e.children.length,t,e)}function c(e,t,n,i,s){s||(s=new F([])),s.minX=1/0,s.minY=1/0,s.maxX=-1/0,s.maxY=-1/0;for(let r,o=t;o<n;o++)r=e.children[o],h(s,e.leaf?i(r):r);return s}function h(e,t){e.minX=Math.min(e.minX,t.minX),e.minY=Math.min(e.minY,t.minY),e.maxX=Math.max(e.maxX,t.maxX),e.maxY=Math.max(e.maxY,t.maxY)}function d(e,t){return e.minX-t.minX}function p(e,t){return e.minY-t.minY}function f(e){return(e.maxX-e.minX)*(e.maxY-e.minY)}function m(e){return e.maxX-e.minX+(e.maxY-e.minY)}function y(e,t){return(Math.max(t.maxX,e.maxX)-Math.min(t.minX,e.minX))*(Math.max(t.maxY,e.maxY)-Math.min(t.minY,e.minY))}function g(e,t){const n=Math.max(e.minX,t.minX),i=Math.max(e.minY,t.minY),s=Math.min(e.maxX,t.maxX),r=Math.min(e.maxY,t.maxY);return Math.max(0,s-n)*Math.max(0,r-i)}function _(e,t){return e.minX<=t.minX&&e.minY<=t.minY&&t.maxX<=e.maxX&&t.maxY<=e.maxY}function x(e,t){return t.minX<=e.maxX&&t.minY<=e.maxY&&t.maxX>=e.minX&&t.maxY>=e.minY}function b(e,t,n,i,s){const r=[t,n];for(;r.length;){const t=r.pop(),n=r.pop();if(t-n<=i)continue;const a=n+Math.ceil((t-n)/i/2)*i;(0,o.q)(e,a,n,t,s),r.push(n,a,a,t)}}const w=new r.A,v=new r.A,I=new r.A,S=new r.A({deallocator:void 0});class A{constructor(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0}}class M extends A{constructor(){super(...arguments),this.height=1,this.indexHint=new i.vW}}class F extends M{constructor(e){super(),this.children=e,this.leaf=!0}}class C extends M{constructor(e){super(),this.children=e,this.leaf=!1}}},14607(e,t,n){n.d(t,{B:()=>u,GP:()=>a,qg:()=>c});var i=n(799),s=n(73444);const r={ar:[".",","],bg:[","," "],bs:[",","."],ca:[",","."],cs:[","," "],da:[",","."],de:[",","."],"de-ch":[".","’"],el:[",","."],en:[".",","],"en-au":[".",","],es:[",","."],"es-mx":[".",","],et:[","," "],fi:[","," "],fr:[","," "],"fr-ch":[","," "],he:[".",","],hi:[".",",","#,##,##0.###"],hr:[",","."],hu:[","," "],id:[",","."],it:[",","."],"it-ch":[".","’"],ja:[".",","],ko:[".",","],lt:[","," "],lv:[","," "],mk:[",","."],nb:[","," "],nl:[",","."],no:[","," "],pl:[","," "],pt:[",","."],"pt-pt":[","," "],ro:[",","."],ru:[","," "],sk:[","," "],sl:[",","."],sr:[",","."],sv:[","," "],th:[".",","],tr:[",","."],uk:[","," "],vi:[",","."],zh:[".",","]};function o(e=(0,s.JK)()){let t=(e=e.toLowerCase())in r;if(!t){const n=e.split("-");n.length>1&&n[0]in r&&(e=n[0],t=!0),t||(e="en")}const[n,i,o="#,##0.###"]=r[e];return{decimal:n,group:i,pattern:o}}function a(e,t){const n=o((t={...t}).locale);t.customs=n;const i=t.pattern||n.pattern;return isNaN(e)||Math.abs(e)===1/0?null:function(e,t,n){const i=(n=n||{}).customs.group,s=n.customs.decimal,r=t.split(";"),o=r[0];if((t=r[e<0?1:0]||"-"+o).includes("%"))e*=100;else if(t.includes("‰"))e*=1e3;else{if(t.includes("¤"))throw new Error("currency notation not supported");if(t.includes("E"))throw new Error("exponential notation not supported")}const a=l,u=o.match(a);if(!u)throw new Error("unable to find a number expression in pattern: "+t);return!1===n.fractional&&(n.places=0),t.replace(a,function(e,t,n){!0===(n=n||{}).places&&(n.places=0),n.places===1/0&&(n.places=6);const i=t.split("."),s="string"==typeof n.places&&n.places.indexOf(",");let r=n.places;s?r=n.places.slice(s+1):+r>=0||(r=(i[1]||[]).length),n.round<0||(e=Number(e.toFixed(Number(r))));const o=String(Math.abs(e)).split("."),a=o[1]||"";if(i[1]||n.places){s&&(n.places=n.places.slice(0,Math.max(0,s)));const e=void 0!==n.places?n.places:i[1]&&i[1].lastIndexOf("0")+1;+e>a.length&&(o[1]=a.padEnd(Number(e),"0")),+r<a.length&&(o[1]=a.slice(0,Math.max(0,Number(r))))}else o[1]&&o.pop();const l=i[0].replace(",","");let u=l.indexOf("0");-1!==u&&(u=l.length-u,u>o[0].length&&(o[0]=o[0].padStart(u,"0")),l.includes("#")||(o[0]=o[0].slice(-u)));let c,h,d=i[0].lastIndexOf(",");if(-1!==d){c=i[0].length-d-1;const e=i[0].slice(0,d);d=e.lastIndexOf(","),-1!==d&&(h=e.length-d-1)}const p=[];for(let e=o[0];e;){const t=e.length-c;p.push(t>0?e.slice(Math.max(0,t)):e),e=t>0?e.slice(0,t):"",h&&(c=h,h=void 0)}return o[0]=p.reverse().join(n.group||","),o.join(n.decimal||".")}(e,u[0],{decimal:s,group:i,places:n.places,round:n.round}))}(e,i,t)}const l=/[#0,]*[#0](?:\.0*#*)?/;function u(e){const t=o((e=e||{}).locale),n=e.pattern||t.pattern,s=t.group,r=t.decimal;let a=1;if(n.includes("%"))a/=100;else if(n.includes("‰"))a/=1e3;else if(n.includes("¤"))throw new Error("currency notation not supported");const u=n.split(";");1===u.length&&u.push("-"+u[0]);const c=d(u,t=>(t="(?:"+(0,i.Cj)(t,".")+")").replace(l,t=>{const n={signed:!1,separator:e.strict?s:[s,""],fractional:e.fractional,decimal:r,exponent:!1},i=t.split(".");let o=e.places;1===i.length&&1!==a&&(i[1]="###"),1===i.length||0===o?n.fractional=!1:(void 0===o&&(o=e.pattern?i[1].lastIndexOf("0")+1:1/0),o&&null==e.fractional&&(n.fractional=!0),!e.places&&+o<i[1].length&&(o+=","+i[1].length),n.places=o);const l=i[0].split(",");return l.length>1&&(n.groupSize=l.pop().length,l.length>1&&(n.groupSize2=l.pop().length)),"("+function(e){"places"in(e=e||{})||(e.places=1/0),"string"!=typeof e.decimal&&(e.decimal="."),"fractional"in e&&!String(e.places).startsWith("0")||(e.fractional=[!0,!1]),"exponent"in e||(e.exponent=[!0,!1]),"eSigned"in e||(e.eSigned=[!0,!1]);const t=h(e),n=d(e.fractional,t=>{let n="";return t&&0!==e.places&&(n="\\"+e.decimal,e.places===1/0?n="(?:"+n+"\\d+)?":n+="\\d{"+e.places+"}"),n},!0);let i=t+n;return n&&(i="(?:(?:"+i+")|(?:"+n+"))"),i+d(e.exponent,t=>t?"([eE]"+h({signed:e.eSigned})+")":"")}(n)+")"}),!0);return{regexp:c.replaceAll(/[\xa0 ]/g,"[\\s\\xa0]"),group:s,decimal:r,factor:a}}function c(e,t){const n=u(t),i=new RegExp("^"+n.regexp+"$").exec(e);if(!i)return NaN;let s=i[1];if(!i[1]){if(!i[2])return NaN;s=i[2],n.factor*=-1}return s=s.replaceAll(new RegExp("["+n.group+"\\s\\xa0]","g"),"").replace(n.decimal,"."),Number(s)*n.factor}function h(e){return"signed"in(e=e||{})||(e.signed=[!0,!1]),"separator"in e?"groupSize"in e||(e.groupSize=3):e.separator="",d(e.signed,e=>e?"[-+]":"",!0)+d(e.separator,t=>{if(!t)return"(?:\\d+)";" "===(t=(0,i.Cj)(t))?t="\\s":" "===t&&(t="\\s\\xa0");const n=e.groupSize,s=e.groupSize2;if(s){const e="(?:0|[1-9]\\d{0,"+(s-1)+"}(?:["+t+"]\\d{"+s+"})*["+t+"]\\d{"+n+"})";return n-s>0?"(?:"+e+"|(?:0|[1-9]\\d{0,"+(n-1)+"}))":e}return"(?:0|[1-9]\\d{0,"+(n-1)+"}(?:["+t+"]\\d{"+n+"})*)"},!0)}const d=(e,t,n)=>{if(!Array.isArray(e))return t(e);const i=[];for(let n=0;n<e.length;n++)i.push(t(e[n]));return p(i.join("|"),Boolean(n))},p=(e,t)=>"("+(t?"?:":"")+e+")"},36708(e,t,n){n.d(t,{C_:()=>d,on:()=>h,wB:()=>l,z7:()=>u});var i=n(37955),s=n(36563),r=n(97768),o=n(17676),a=n(14012);function l(e,t,n={}){return c(e,t,n,p)}function u(e,t,n={}){return c(e,t,n,f)}function c(e,t,n={},i){let s=null;const o=n.once?(e,n)=>{i(e)&&((0,r.xt)(s),t(e,n))}:(e,n)=>{i(e)&&t(e,n)};if(s=(0,a.Cn)(e,o,n.sync,n.equals),n.initial){const t=e();o(t,t)}return s}function h(e,t,n,o={}){let a=null,u=null,c=null;function h(){a&&u&&(u.remove(),o.onListenerRemove?.(a),a=null,u=null)}function d(e){o.once&&o.once&&(0,r.xt)(c),n(e)}const p=l(e,(e,n)=>{h(),(0,i.wb)(e)&&(a=e,u=(0,i.on)(e,t,d),o.onListenerAdd?.(e))},{sync:o.sync,initial:!0});return c=(0,s.hA)(()=>{p.remove(),h()}),c}function d(e,t){return function(e,t,n){if((0,o.G4)(n))return Promise.reject((0,o.NK)());const i=e();if(t?.(i))return Promise.resolve(i);let a=null;function l(){a=(0,r.xt)(a)}return new Promise((i,r)=>{a=(0,s.vE)([(0,o.u7)(n,()=>{l(),r((0,o.NK)())}),c(e,e=>{l(),i(e)},{sync:!1,once:!0},t??p)])})}(e,f,t)}function p(e){return!0}function f(e){return!!e}n(80559),n.d(t,["OH",0,{sync:!0},"Vh",0,{initial:!0},"pc",0,{sync:!0,initial:!0}])},48526(e,t,n){n.d(t,{A:()=>y});var i,s=n(5482),r=n(4576),o=n(4718),a=n(91429),l=n(5443),u=n(91075),c=n(86738),h=n(16930),d=n(90634),p=n(47610),f=n(56993),m=n(43937);let y=i=class extends u.A{constructor(e){super(function(e){if(!e)return;let{points:t,hasM:n,hasZ:i,spatialReference:s}=e;switch(t??=[],t?.at(0)?.length){case 4:i??=!0,n??=!0;break;case 3:i??=!0!==n,n??=!i;break;default:i??=!1,n??=!1}return s??=h.A.WGS84,{...e,hasM:n,hasZ:i,points:t,spatialReference:s}}(e)),this.points=[],this.type="multipoint"}get cache(){return this.commitProperty("points"),this.commitProperty("hasZ"),this.commitProperty("hasM"),this.commitProperty("spatialReference"),{}}get extent(){const e=(0,d.ge)(this);return e?new l.A({...e,spatialReference:this.spatialReference}):null}writePoints(e,t){t.points=(0,o.o8)(this.points)}clone(){const{points:e,spatialReference:t,hasM:n,hasZ:s}=this;return new i({points:(0,o.o8)(e),spatialReference:t.clone(),hasM:n,hasZ:s})}equals(e){if(this===e)return!0;if(null==e)return!1;const t=this.spatialReference,n=e.spatialReference;return null!=t==(null!=n)&&!(null!=t&&null!=n&&!t.equals(n))&&(0,r.aI)(this.points,e.points,p.v6)}addPoint(e){return(0,f.h)(this,e),Array.isArray(e)?this.points.push(e):this.points.push(e.toArray()),this.notifyChange("points"),this}getPoint(e){if(!this._validateInputs(e))return null;const t=this.points[e],n={x:t[0],y:t[1],spatialReference:this.spatialReference};let i=2;return this.hasZ&&(n.z=t[2],i=3),this.hasM&&(n.m=t[i]),new c.A(n)}removePoint(e){if(!this._validateInputs(e))return null;const t=new c.A(this.points.splice(e,1)[0],this.spatialReference);return this.notifyChange("points"),t}setPoint(e,t){return this._validateInputs(e)?((0,f.h)(this,t),Array.isArray(t)||(t=t.toArray()),this.points[e]=t,this.notifyChange("points"),this):this}toJSON(e){return this.write({},e)}_validateInputs(e){return null!=e&&e>=0&&e<this.points.length}};(0,s.Cg)([(0,a.MZ)({readOnly:!0})],y.prototype,"cache",null),(0,s.Cg)([(0,a.MZ)({readOnly:!0})],y.prototype,"extent",null),(0,s.Cg)([(0,a.MZ)({type:[[Number]],json:{write:{isRequired:!0}}})],y.prototype,"points",void 0),(0,s.Cg)([(0,m.K)("points")],y.prototype,"writePoints",null),y=i=(0,s.Cg)([(0,a.$K)("esri.geometry.Multipoint")],y),y.prototype.toJSON.isDefaultToJSON=!0},82799(e,t,n){n.d(t,{A:()=>f});var i,s=n(5482),r=n(4718),o=n(91429),a=n(5443),l=n(91075),u=n(86738),c=n(16930),h=n(90634),d=n(56993),p=n(43937);let f=i=class extends l.A{constructor(e){super(function(e){if(!e)return;let{paths:t,hasM:n,hasZ:i,spatialReference:s}=e;switch(t??=[],function(e){return"number"==typeof e[0]?.[0]}(t)&&(t=[t]),t[0]?.[0]?.length){case 4:i??=!0,n??=!0;break;case 3:i??=!0!==n,n??=!i;break;default:i??=!1,n??=!1}return s??=c.A.WGS84,{...e,hasM:n,hasZ:i,paths:t,spatialReference:s}}(e)),this.curvePaths=void 0,this.paths=[],this.type="polyline"}get cache(){return this.commitProperty("curvePaths"),this.commitProperty("hasM"),this.commitProperty("hasZ"),this.commitProperty("paths"),this.commitProperty("spatialReference"),{}}writeCurvePaths(e,t){t.curvePaths=(0,r.o8)(e)}get extent(){const e=(0,h.Z3)(this),{spatialReference:t}=this;return e?new a.A({...e,spatialReference:t}):null}writePaths(e,t){t.paths=(0,r.o8)(this.paths)}addPath(e){if(!e)return;const t=this.paths,n=t.length;if(function(e){return!Array.isArray(e[0])}(e)){const i=[];for(let t=0,n=e.length;t<n;t++)i[t]=e[t].toArray();t[n]=i}else t[n]=e.slice();return this.notifyChange("paths"),this}clone(){const e=new i;return e.spatialReference=this.spatialReference,e.paths=(0,r.o8)(this.paths),e.curvePaths=(0,r.o8)(this.curvePaths),e.hasZ=this.hasZ,e.hasM=this.hasM,e}getPoint(e,t){if(!this._validateInputs(e,t))return null;const n=this.paths[e][t],i=this.hasZ,s=this.hasM;return i&&!s?new u.A(n[0],n[1],n[2],void 0,this.spatialReference):s&&!i?new u.A(n[0],n[1],void 0,n[2],this.spatialReference):i&&s?new u.A(n[0],n[1],n[2],n[3],this.spatialReference):new u.A(n[0],n[1],this.spatialReference)}insertPoint(e,t,n){return this._validateInputs(e,t,!0)?((0,d.h)(this,n),Array.isArray(n)||(n=n.toArray()),this.paths[e].splice(t,0,n),this.notifyChange("paths"),this):this}removePath(e){if(!this._validateInputs(e,null))return null;const t=this.paths.splice(e,1)[0],n=this.spatialReference,i=t.map(e=>new u.A(e,n));return this.notifyChange("paths"),i}removePoint(e,t){if(!this._validateInputs(e,t))return null;const n=new u.A(this.paths[e].splice(t,1)[0],this.spatialReference);return this.notifyChange("paths"),n}setPoint(e,t,n){return this._validateInputs(e,t)?((0,d.h)(this,n),Array.isArray(n)||(n=n.toArray()),this.paths[e][t]=n,this.notifyChange("paths"),this):this}_validateInputs(e,t,n=!1){if(null==e||e<0||e>=this.paths.length)return!1;if(null!=t){const i=this.paths[e];if(n&&(t<0||t>i.length))return!1;if(!n&&(t<0||t>=i.length))return!1}return!0}toJSON(e){return this.write({},e)}};(0,s.Cg)([(0,o.MZ)({readOnly:!0})],f.prototype,"cache",null),(0,s.Cg)([(0,o.MZ)({json:{write:!0,origins:{"portal-item":{write:!1},"web-map":{write:!1},"web-scene":{write:!1}}}})],f.prototype,"curvePaths",void 0),(0,s.Cg)([(0,p.K)("curvePaths")],f.prototype,"writeCurvePaths",null),(0,s.Cg)([(0,o.MZ)({readOnly:!0})],f.prototype,"extent",null),(0,s.Cg)([(0,o.MZ)({type:[[[Number]]],json:{write:{isRequired:!0}}})],f.prototype,"paths",void 0),(0,s.Cg)([(0,p.K)("paths")],f.prototype,"writePaths",null),f=i=(0,s.Cg)([(0,o.$K)("esri.geometry.Polyline")],f),f.prototype.toJSON.isDefaultToJSON=!0},60408(e,t,n){function i(e){return void 0!==e.xmin&&void 0!==e.ymin&&void 0!==e.xmax&&void 0!==e.ymax}function s(e){return void 0!==e.points}function r(e){return void 0!==e.x&&void 0!==e.y}function o(e){return void 0!==e.paths||void 0!==e.curvePaths}function a(e){return void 0!==e.rings||void 0!==e.curveRings}function l(e){return"object"==typeof e&&"vertexAttributes"in e}function u(e){return e?r(e)?"esriGeometryPoint":o(e)?"esriGeometryPolyline":a(e)?"esriGeometryPolygon":i(e)?"esriGeometryEnvelope":s(e)?"esriGeometryMultipoint":null:null}function c(e){return null!=e&&("hasZ"in e&&e.hasZ||"z"in e&&null!=e.z)}function h(e){return null!=e&&("hasM"in e&&e.hasM||"m"in e&&null!=e.m)}n.d(t,{$B:()=>u,Bi:()=>a,Pv:()=>c,Rg:()=>o,U9:()=>s,W0:()=>h,ZC:()=>i,fT:()=>r,uW:()=>l})},65864(e,t,n){n.d(t,{rS:()=>c,xD:()=>d});var i=n(5443),s=n(91075),r=n(48526),o=n(86738),a=n(39829),l=n(82799),u=n(60408);function c(e){return null==e?null:e instanceof s.A?e:(0,u.fT)(e)?o.A.fromJSON(e):(0,u.Rg)(e)?l.A.fromJSON(e):(0,u.Bi)(e)?a.A.fromJSON(e):(0,u.U9)(e)?r.A.fromJSON(e):(0,u.ZC)(e)?i.A.fromJSON(e):null}const h={esriGeometryPoint:o.A,esriGeometryPolyline:l.A,esriGeometryPolygon:a.A,esriGeometryEnvelope:i.A,esriGeometryMultipoint:r.A,esriGeometryMultiPatch:a.A};function d(e){return e&&h[e]||null}},6518(e,t,n){n.d(t,{F:()=>a});var i=n(44208),s=n(75503),r=n(19419);const o={minX:0,minY:0,maxX:0,maxY:0};class a{constructor(){this._indexInvalid=!1,this._boundsToLoad=[],this._boundsById=new Map,this._idByBounds=new Map,this._index=new s.wq(9,(0,i.A)("esri-csp-restrictions")?e=>({minX:e[0],minY:e[1],maxX:e[2],maxY:e[3]}):["[0]","[1]","[2]","[3]"]),this._loadIndex=()=>{if(this._indexInvalid){const e=new Array(this._idByBounds.size);let t=0;this._idByBounds.forEach((n,i)=>{e[t++]=i}),this._indexInvalid=!1,this._index.clear(),this._index.load(e)}else this._boundsToLoad.length&&(this._index.load(Array.from(new Set(this._boundsToLoad.filter(e=>this._idByBounds.has(e))))),this._boundsToLoad.length=0)}}get fullBounds(){if(!this._boundsById.size)return null;const e=(0,r.Ie)();for(const t of this._boundsById.values())t&&(e[0]=Math.min(t[0],e[0]),e[1]=Math.min(t[1],e[1]),e[2]=Math.max(t[2],e[2]),e[3]=Math.max(t[3],e[3]));return e}get valid(){return!this._indexInvalid}clear(){this._indexInvalid=!1,this._boundsToLoad.length=0,this._boundsById.clear(),this._idByBounds.clear(),this._index.clear()}delete(e){const t=this._boundsById.get(e);this._boundsById.delete(e),t&&(this._idByBounds.delete(t),this._indexInvalid||this._index.remove(t))}forEachInBounds(e,t){this._loadIndex(),function(e,t,n){(function(e){o.minX=e[0],o.minY=e[1],o.maxX=e[2],o.maxY=e[3]})(t),e.search(o,n)}(this._index,e,e=>t(this._idByBounds.get(e)))}get(e){return this._boundsById.get(e)}has(e){return this._boundsById.has(e)}invalidateIndex(){this._indexInvalid||(this._indexInvalid=!0,this._boundsToLoad.length=0)}set(e,t){if(!this._indexInvalid){const t=this._boundsById.get(e);t&&(this._index.remove(t),this._idByBounds.delete(t))}this._boundsById.set(e,t),t&&(this._idByBounds.set(t,e),this._indexInvalid||(this._boundsToLoad.push(t),this._boundsToLoad.length>5e4&&this._loadIndex()))}}},83221(e,t,n){n.d(t,{A:()=>f});var i=n(4576),s=n(49186),r=n(65529),o=n(53966),a=n(70328),l=n(19419),u=n(90708),c=n(6518),h=n(51441),d=n(37730);const p=(0,a.vt)();class f{constructor(e){this.geometryInfo=e,this._boundsStore=new c.F,this._featuresById=new Map,this._usedMemory=0,this.events=new r.bk,this.featureAdapter=d.T}get usedMemory(){return this._usedMemory}get geometryType(){return this.geometryInfo.geometryType}get hasM(){return this.geometryInfo.hasM}get hasZ(){return this.geometryInfo.hasZ}get numFeatures(){return this._featuresById.size}get fullBounds(){return this._boundsStore.fullBounds}get storeStatistics(){let e=0;return this._featuresById.forEach(t=>{null!=t.geometry&&t.geometry.coords&&(e+=t.geometry.coords.length)}),{featureCount:this._featuresById.size,vertexCount:e/(this.hasZ?this.hasM?4:3:this.hasM?3:2)}}getFullExtent(e){if(null==this.fullBounds)return null;const[t,n,i,s]=this.fullBounds;return{xmin:t,ymin:n,xmax:i,ymax:s,spatialReference:(0,h.ag)(e)}}add(e){this._add(e),this._emitChanged()}addMany(e){for(const t of e)this._add(t);this._emitChanged()}upsertMany(e){const t=e.map(e=>this._upsert(e));return this._emitChanged(),t.filter(i.Ru)}clear(){this._featuresById.clear(),this._boundsStore.clear(),this._emitChanged(),this._usedMemory=0}removeById(e){const t=this._featuresById.get(e);return t?(this._remove(t),this._emitChanged(),t):null}removeManyById(e){this._boundsStore.invalidateIndex();for(const t of e){const e=this._featuresById.get(t);e&&this._remove(e)}this._emitChanged()}forEachBounds(e,t){for(const n of e){const e=this._boundsStore.get(n.objectId);e&&t((0,a.Jt)(p,e))}}getFeature(e){return this._featuresById.get(e)}has(e){return this._featuresById.has(e)}forEach(e){this._featuresById.forEach(t=>e(t))}forEachInBounds(e,t){this._boundsStore.forEachInBounds(e,e=>{t(this._featuresById.get(e))})}_emitChanged(){this.events.emit("changed",void 0)}_add(e){if(!e)return;const t=e.objectId;if(null==t)return void o.A.getLogger("esri.layers.graphics.data.FeatureStore").error(new s.A("featurestore:invalid-feature","feature id is missing",{feature:e}));const n=this._featuresById.get(t);let i;if(n?(e.displayId=n.displayId,i=this._boundsStore.get(t),this._boundsStore.delete(t),this._usedMemory-=this.estimateFeatureUsedMemory?.(n)??0):null!=this.onFeatureAdd&&this.onFeatureAdd(e),!e.geometry?.coords?.length)return this._boundsStore.set(t,null),void this._featuresById.set(t,e);i=(0,u.jQ)(null!=i?i:(0,l.vt)(),e.geometry),null!=i&&this._boundsStore.set(t,i),this._featuresById.set(t,e),this._usedMemory+=this.estimateFeatureUsedMemory?.(e)??0}_upsert(e){const t=e?.objectId;if(null==t)return o.A.getLogger("esri.layers.graphics.data.FeatureStore").error(new s.A("featurestore:invalid-feature","feature id is missing",{feature:e})),null;const n=this._featuresById.get(t);if(!n)return this._add(e),e;this._usedMemory-=this.estimateFeatureUsedMemory?.(n)??0;const{geometry:i,attributes:r}=e;for(const e in r)n.attributes[e]=r[e];return i&&(n.geometry=i,this._boundsStore.set(t,(0,u.jQ)((0,l.vt)(),i)??null)),this._usedMemory+=this.estimateFeatureUsedMemory?.(n)??0,n}_remove(e){null!=this.onFeatureRemove&&this.onFeatureRemove(e);const t=e.objectId;return this._boundsStore.delete(t),this._featuresById.delete(t),this._usedMemory-=this.estimateFeatureUsedMemory?.(e)??0,e}}},37730(e,t,n){var i=n(43334);const s={getObjectId:e=>e.objectId,getAttributes:e=>e.attributes,getAttribute:(e,t)=>e.attributes[t],cloneWithGeometry:(e,t,n)=>new i.Om(t,e.attributes,null,e.objectId,e.displayId,e.distance,e.vertexCount),getGeometry:e=>e.geometry,getCentroid:(e,t)=>e.ensureCentroid(t)};n.d(t,["T",0,s])},25209(e,t,n){n.r(t),n.d(t,{default:()=>z});var i=n(11254),s=n(60999),r=n(67482),o=n(49186),a=n(53966),l=n(17676),u=n(84952),c=n(91218),h=n(16930),d=n(21325),p=n(28735),f=n(43334),m=n(92722),y=n(83221),g=n(31464),_=n(75752),x=n(14607),b=n(30524),w=n(54625);const v=/^\s*"([\S\s]*)"\s*$/,I=/""/g,S=[",",";","|","\t"];function*A(e,t,n){let i=0;for(;i<=e.length;){const s=e.indexOf(t,i),r=e.slice(i,s>-1?s:void 0);i+=r.length+t.length,n&&!r.trim()||(yield r)}}function M(e){const t=e.includes("\r\n")?"\r\n":"\n";return A(e,t,!0)}function F(e,t){return A(e,t,!1)}function C(e,t,n){e=e.trim(),t=t?.trim();const i=[],s=Array.from(new Set([n?.delimiter,...S])).filter(e=>null!=e);for(const n of s){const s=N(e,n).length,r=N(t,n).length??s;s>1&&i.push({weight:Math.min(s,r),delimiter:n})}const r=i.sort(({weight:e},{weight:t})=>t-e).map(({delimiter:e})=>e);for(const t of r){const i=B(e,t).names,s=(0,w.i_)(i,n?.longitudeField,n?.latitudeField);if(s.longitudeFieldName&&s.latitudeFieldName)return{delimiter:t,locationInfo:s}}return{delimiter:r[0],locationInfo:null}}function*T(e,t,n,i=()=>Object.create(null)){const s=M(e);s.next();let r="",o="",a=0,l=i(),u=0;e:for(const e of s){const s=F(e,n);for(const e of s)if(r+=o+e,o="",a+=E(e),a%2==0){if(a>0){const e=v.exec(r);if(!e){l=i(),u=0,r="",a=0;continue e}l[t[u]]=e[1].replaceAll(I,'"'),u++}else l[t[u]]=r,u++;r="",a=0}else o=n;0===a?(yield l,l=i(),u=0):o="\n"}}function B(e,t){const n=N(e,t).filter(e=>null!=e),i=n.map(e=>(0,b.rS)(e));for(let e=i.length-1;e>=0;e--)i[e]||(i.splice(e,1),n.splice(e,1));return{names:i,aliases:n}}function N(e,t){if(!e?.length)return[];const n=[];let i="",s="",r=0;const o=F(e,t);for(const e of o)if(i+=s+e,s="",r+=E(e),r%2==0){if(r>0){const e=v.exec(i);e&&n.push(e[1].replaceAll(I,'"'))}else n.push(i);i="",r=0}else s=t;return n}function E(e){let t=0,n=0;for(n=e.indexOf('"',n);n>=0;)t++,n=e.indexOf('"',n+1);return t}function O(e,t,n,i,s){const r=[],o=T(e,n,t),a=[];for(const e of o){if(10===a.length)break;a.push(e)}for(let e=0;e<n.length;e++){const t=n[e],o=i[e];if(t===s.longitudeFieldName||t===s.latitudeFieldName)r.push({name:t,type:"esriFieldTypeDouble",alias:o});else{let e;switch(P(a.map(e=>e[t]))){case"integer":e="esriFieldTypeInteger";break;case"double":e="esriFieldTypeDouble";break;case"date":e="esriFieldTypeDate";break;default:e="esriFieldTypeString"}r.push({name:t,type:e,alias:o,length:(0,b._b)(e)})}}return r}function P(e){if(!e.length)return"string";const t=/[^+\-.,0-9]/;return e.map(e=>{if(""!==e){if(!t.test(e)){let t=R(e);if(!isNaN(t))return/[.,]/.test(e)||!Number.isInteger(t)||t>214783647||t<-214783648?"double":"integer";if(e.includes("E")){if(t=Number(e),!Number.isNaN(t))return"double";if(e.includes(",")&&(e=e.replace(",","."),t=Number(e),!Number.isNaN(t)))return"double"}}return(0,r.C)(e)?"date":"string"}}).reduce((e,t)=>void 0===e?t:void 0===t?e:e===t?t:"string"===e||"string"===t?"string":"double"===e||"double"===t?"double":void 0)}const R=function(){const e=(0,x.B)(),t=new RegExp("^"+e.regexp+"$"),n=new RegExp("["+e.group+"\\s\\xa0]","g"),i=e.factor;return s=>{const r=t.exec(s);if(e.factor=i,!r)return NaN;let o=r[1];if(!r[1]){if(!r[2])return NaN;o=r[2],e.factor*=-1}return o=o.replace(n,"").replace(e.decimal,"."),+o*e.factor}}();function q(e){return JSON.parse(JSON.stringify(e))}var k=n(64714),Y=n(60694),D=n(95466),X=n(54218);n(98623);const j=(0,k.F0)("esriGeometryPoint"),Z=["csv"],L=[0,0];class G{constructor(e,t){this.x=e,this.y=t}}class z{constructor(){this._queryEngine=null,this._featureIdInfo=null,this._snapshotFeatures=async e=>{const t=await this._fetch(e);return this._createFeatures(t)}}destroy(){this._queryEngine?.destroy(),this._queryEngine=null}async load(e,t={}){this._loadOptions=e;const[n]=await Promise.all([this._fetch(t.signal),this._checkProjection(e?.parsingOptions?.spatialReference)]),i=function(e,t){const n=t.parsingOptions||{},i={delimiter:n.delimiter,layerDefinition:null,locationInfo:{latitudeFieldName:n.latitudeField,longitudeFieldName:n.longitudeField}},s=i.layerDefinition={name:(0,Y.cr)((0,u.e7)(t.url,Z)||"csv"),dateFieldsTimeReference:{timeZoneIANA:"UTC"},drawingInfo:j,geometryType:"esriGeometryPoint",objectIdField:null,fields:[],timeInfo:n.timeInfo,extent:{xmin:Number.POSITIVE_INFINITY,ymin:Number.POSITIVE_INFINITY,xmax:Number.NEGATIVE_INFINITY,ymax:Number.NEGATIVE_INFINITY,spatialReference:n.spatialReference||{wkid:4326}}},r=M(e),a=r.next().value?.trim(),l=r.next().value?.trim();if(!a)throw new o.A("csv-layer:empty-csv","CSV is empty",{csv:e});const{delimiter:c,locationInfo:h}=C(a,l,n);if(!c)throw new o.A("csv-layer:invalid-delimiter","Unable to detect the delimiter from CSV",{firstLine:a,secondLine:l,parsingOptions:n});if(!h)throw new o.A("csv-layer:location-fields-not-found","Unable to identify latitude and longitude fields from the CSV file",{firstLine:a,secondLine:l,parsingOptions:n});i.locationInfo=h,i.delimiter=c;const{names:d,aliases:p}=B(a,c),f=O(e,i.delimiter,d,p,i.locationInfo);if(n.fields?.length){const e=new D.A(n.fields);for(const t of f){const n=e.get(t.name);n&&Object.assign(t,n)}}if(!f.some(e=>"esriFieldTypeOID"===e.type&&(s.objectIdField=e.name,!0))){const e={name:"__OBJECTID",alias:"__OBJECTID",type:"esriFieldTypeOID",editable:!1,nullable:!1};s.objectIdField=e.name,f.unshift(e)}s.fields=f;const m=new D.A(s.fields);if(i.locationInfo&&(i.locationInfo.latitudeFieldName=m.get(i.locationInfo.latitudeFieldName).name,i.locationInfo.longitudeFieldName=m.get(i.locationInfo.longitudeFieldName).name),s.timeInfo){const e=s.timeInfo;if(e.startTimeField){const t=m.get(e.startTimeField);t?(e.startTimeField=t.name,t.type="esriFieldTypeDate"):e.startTimeField=null}if(e.endTimeField){const t=m.get(e.endTimeField);t?(e.endTimeField=t.name,t.type="esriFieldTypeDate"):e.endTimeField=null}if(e.trackIdField){const t=m.get(e.trackIdField);e.trackIdField=t?t.name:null}e.startTimeField||e.endTimeField||(s.timeInfo=null)}return i}(n,e);this._locationInfo=i.locationInfo,this._delimiter=i.delimiter;const{objectIdField:s,fields:r,extent:{spatialReference:a},timeInfo:l}=i.layerDefinition,c=new y.A({geometryType:"esriGeometryPoint",hasM:!1,hasZ:!1});this._featureIdInfo={type:"object-id",fieldName:s},this._queryEngine=new _.do({fieldsIndex:D.A.fromLayerJSON({fields:r,dateFieldsTimeReference:{timeZoneIANA:"UTC"}}),geometryType:"esriGeometryPoint",hasM:!1,hasZ:!1,timeInfo:l,featureIdInfo:this._featureIdInfo,spatialReference:a||{wkid:4326},featureStore:c});const h=this._createFeatures(n);this._queryEngine.featureStore.addMany(h);const{fullExtent:d,timeExtent:p}=await this._queryEngine.fetchRecomputedExtents();if(i.layerDefinition.extent=d,p){const{start:e,end:t}=p;i.layerDefinition.timeInfo.timeExtent=[e,t]}return i}async applyEdits(){throw new o.A("csv-layer:editing-not-supported","applyEdits() is not supported on CSVLayer")}async queryFeatures(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQuery(e,t.signal)}async queryFeatureCount(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQueryForCount(e,t.signal)}async queryObjectIds(e={},t={}){return await this._waitSnapshotComplete(),(await this._queryEngine.executeQueryForIds(e,t.signal)).filter(X.Et)}async queryExtent(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQueryForExtent(e,t.signal)}async querySnapping(e,t={}){return await this._waitSnapshotComplete(),await this._queryEngine.executeQueryForSnapping(e,t.signal)}async queryAttributeBins(e,t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeAttributeBinsQuery(e,t.signal)}async refresh(e){this._loadOptions.customParameters=e,this._snapshotTask?.abort(),this._snapshotTask=(0,s.UT)(this._snapshotFeatures),this._snapshotTask.promise.then(e=>{this._queryEngine.featureStore.clear(),e&&this._queryEngine.featureStore.addMany(e)},e=>{this._queryEngine.featureStore.clear(),(0,l.zf)(e)||a.A.getLogger("esri.layers.CSVLayer").error(new o.A("csv-layer:refresh","An error occurred during refresh",{error:e}))}),await this._waitSnapshotComplete();const{fullExtent:t,timeExtent:n}=await this._queryEngine.fetchRecomputedExtents();return{extent:t,timeExtent:n}}async _waitSnapshotComplete(){if(this._snapshotTask&&!this._snapshotTask.finished){try{await this._snapshotTask.promise}catch{}return this._waitSnapshotComplete()}}async _fetch(e){const{url:t,customParameters:n}=this._loadOptions;if(!t)throw new o.A("csv-layer:invalid-source","url not defined");const s=(0,u.An)(t);return(await(0,i.A)(s.path,{query:{...s.query,...n},responseType:"text",signal:e})).data}_createFeatures(e){const{latitudeFieldName:t,longitudeFieldName:n}=this._locationInfo,{fieldsIndex:i,spatialReference:s}=this._queryEngine,o=this._featureIdInfo.fieldName;let a=[];const l=[],u=i.fields.filter(e=>e.name!==o).map(e=>e.name);let y=0;const g={};for(const e of i.fields)if("esriFieldTypeOID"!==e.type&&"esriFieldTypeGlobalID"!==e.type){const t=(0,b.lD)(e);void 0!==t&&(g[e.name]=t)}const _=T(e,u,this._delimiter,(0,k.Vx)(g,o));for(const e of _){const s=this._parseCoordinateValue(e[t]),u=this._parseCoordinateValue(e[n]);if(null!=u&&null!=s&&!isNaN(s)&&!isNaN(u)){e[t]=s,e[n]=u;for(const s in e)if(s!==t&&s!==n)if(i.isDateField(s))e[s]=(0,r._)(e[s]);else if(i.isNumericField(s)){const t=R(e[s]);isNaN(t)?e[s]=null:e[s]=t}else null!=e[s]&&(e[s]=q(e[s]));e[o]=y,y++,a.push(new G(u,s)),l.push(e)}}if(!(0,d.aI)({wkid:4326},s))if((0,d.K8)(s))for(const e of a)[e.x,e.y]=(0,p.je)(e.x,e.y,L);else a=(0,c.projectMany)(a,h.A.WGS84,s);const x=[];for(let e=0;e<a.length;e++){const{x:t,y:n}=a[e],i=l[e];i[o]=e+1,x.push(new f.Om(new m.A([],[t,n]),i,null,i[o]))}return x}_parseCoordinateValue(e){if(null==e||""===e)return null;let t=R(e);return(isNaN(t)||Math.abs(t)>181)&&(t=parseFloat(e)),t}async _checkProjection(e){try{await(0,g.Nk)(d.KK,e)}catch{throw new o.A("csv-layer:projection-not-supported","Projection not supported")}}}},64714(e,t,n){n.d(t,{F0:()=>a,Vx:()=>c,e2:()=>d,f:()=>p});var i=n(44208),s=n(4718),r=n(99352),o=n(93470);function a(e){return{renderer:{type:"simple",symbol:"esriGeometryPoint"===e||"esriGeometryMultipoint"===e?o.Cb:"esriGeometryPolyline"===e?o.yM:o.WR}}}const l=/^[_$a-zA-Z][_$a-zA-Z0-9]*$/;let u=1;function c(e,t){if((0,i.A)("esri-csp-restrictions"))return()=>t?{[t]:null,...e}:{...e};try{let n="";t&&(n+=`this${h(t)} = null;`);for(const t in e)n+=`this${h(t)} = ${JSON.stringify(e[t])};`;const i=new Function(`\n return class AttributesClass$${u++} {\n constructor() {\n ${n};\n }\n }\n `)();return()=>new i}catch(n){return()=>t?{[t]:null,...e}:{...e}}}function h(e){return l.test(e)?`.${e}`:`[${JSON.stringify(e)}]`}function d(e={}){return[{name:"New Feature",description:"",prototype:{attributes:(0,s.o8)(e)}}]}function p(e,t){return{analytics:{supportsCacheHint:!1},attachment:null,data:{isVersioned:!1,isBranchVersioned:!1,supportedCurveTypes:[],supportsAttachment:!1,supportsM:!1,supportsTrueCurve:!1,supportsZ:e},metadata:{supportsAdvancedFieldProperties:!1},operations:{supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsAdd:t,supportsDelete:t,supportsEditing:t,supportsChangeTracking:!1,supportsQuery:!0,supportsQueryBins:!0,supportsQueryPivot:!1,supportsQueryAnalytics:!1,supportsQueryAttachments:!1,supportsQueryTopFeatures:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsUpdate:t,supportsExceedsLimitStatistics:!0,supportsAsyncConvert3D:!1},query:r.F,queryRelated:{supportsCount:!0,supportsOrderBy:!0,supportsPagination:!0,supportsCacheHint:!1},queryTopFeatures:{supportsCacheHint:!1},queryAttributeBins:r.P,editing:{supportsGeometryUpdate:t,supportsGlobalId:!1,supportsReturnServiceEditsInSourceSpatialReference:!1,supportsRollbackOnFailure:!1,supportsTrueCurveUpdate:t,supportsTrueCurveUpdateByTrueCurveClientsOnly:!1,supportsUpdateWithoutM:!1,supportsUploadWithItemId:!1,supportsDeleteByAnonymous:!1,supportsDeleteByOthers:!1,supportsUpdateByAnonymous:!1,supportsUpdateByOthers:!1,supportsAsyncApplyEdits:!1,zDefault:void 0}}}},98453(e,t,n){const i=new(n(66552).J)({esriFieldTypeSmallInteger:"small-integer",esriFieldTypeInteger:"integer",esriFieldTypeSingle:"single",esriFieldTypeDouble:"double",esriFieldTypeLong:"long",esriFieldTypeString:"string",esriFieldTypeDate:"date",esriFieldTypeOID:"oid",esriFieldTypeGeometry:"geometry",esriFieldTypeBlob:"blob",esriFieldTypeRaster:"raster",esriFieldTypeGUID:"guid",esriFieldTypeGlobalID:"global-id",esriFieldTypeXML:"xml",esriFieldTypeBigInteger:"big-integer",esriFieldTypeDateOnly:"date-only",esriFieldTypeTimeOnly:"time-only",esriFieldTypeTimestampOffset:"timestamp-offset"});n.d(t,["m",0,i])},54625(e,t,n){n.d(t,{i_:()=>s});var i=n(30524);function s(e,t,n){t=(0,i.rS)(t)?.toLowerCase(),n=(0,i.rS)(n)?.toLowerCase();const s=e.map(e=>e.toLowerCase()),a=t?e[s.indexOf(t)]:null,l=n?e[s.indexOf(n)]:null;return{longitudeFieldName:a||e[s.indexOf(o.find(e=>s.includes(e)))],latitudeFieldName:l||e[s.indexOf(r.find(e=>s.includes(e)))]}}const r=["lat","lat83","latitude","latitude83","latdecdeg","lat_dd","y","ycenter","point_y"],o=["lon","lng","lng83","long","long83","longitude","longitude83","longdecdeg","long_dd","x","xcenter","point_x"];n.d(t,["A0",0,o,"bD",0,r])},2272(e,t,n){n.d(t,{Dl:()=>u,gf:()=>h,jV:()=>l,lF:()=>c});var i=n(92602),s=n(70333),r=n(4718),o=n(84952),a=n(926);function l(e,t){return t?{...t,query:{...e,...t.query}}:{query:e}}function u(e){return"string"==typeof e?(0,o.An)(e):(0,r.o8)(e)}function c(e,t,n){const i={};for(const s in e){if("declaredClass"===s)continue;const r=e[s];if(null!=r&&"function"!=typeof r)if(Array.isArray(r))i[s]=r.map(e=>c(e));else if("object"==typeof r)if(r.toJSON){const e=r.toJSON(n?.[s]);i[s]=t?e:JSON.stringify(e)}else i[s]=t?r:JSON.stringify(r);else i[s]=r}return i}async function h(e,t,r){const o=function(e,t){return e?t&&(0,a.Qc)(e)?t:(0,a.getApiKey)(e)??s.id?.findCredential(e)?.token:null}(e,t);if(o)return o;!s.id&&i.A.request.useIdentity&&await Promise.all([n.e(7632),n.e(5710),n.e(148)]).then(n.bind(n,50148));const l=await s.id.getCredential(e,r);return l?.token}},926(e,t,n){n.d(t,{Dd:()=>d,Jn:()=>p,Qc:()=>f,getApiKey:()=>c,getSessionToken:()=>h});var i=n(92602),s=n(11254),r=n(84952);const o=/^https?:\/\/(i?basemaps|basemapstyles)-api\.arcgis\.com\//i,a=new Set(["elevation3d.arcgis.com","js.arcgis.com","jsdev.arcgis.com","jsqa.arcgis.com","static.arcgis.com"]),l=new Map;let u=null;function c(e){if(!f(e))return null;const t=t=>t instanceof RegExp?t.test(e):"string"==typeof t&&e.startsWith(t),n=i.A.apiKeys;if(Array.isArray(n.scopes))for(const e of n.scopes)if(Array.isArray(e.urls)){if(e.urls.some(t))return e.token}else if(t(e.urls))return e.token;return n.basemapStyles&&o.test(e)?n.basemapStyles:i.A.apiKey&&/^https?:\/\/.+\.arcgis\.com(\/|$)/i.test(e)?i.A.apiKey:null}async function h(e){if(!i.A.sessions?.basemap?.enabled||!o.test(e))return null;const t=c(e);if(!t)return null;u&&await u;const{styleFamily:n="arcgis",autoRefresh:r,duration:a=43200}=i.A.sessions.basemap,h=`${t}:${n}`,d=l.get(h);if(d&&(!r||d.endTime>Date.now()))return d.sessionToken;let p;u=(0,s.A)("https://basemapstyles-api.arcgis.com/arcgis/rest/services/styles/v2/sessions/start",{cacheBust:!0,query:{durationSeconds:a,styleFamily:n,token:t}});try{p=(await u).data,p.endTime-=5e3,l.set(h,p)}finally{u=null}return p.sessionToken}function d(){return null!=i.A.apiKey||null!=i.A.apiKeys.basemapStyles}function p(e,t){return t?f(e):null!=c(e)}function f(e){const t=(0,r.$z)(e,!0);return!!t&&!a.has(t)&&!e.endsWith("/sharing/rest/generateToken")}},93470(e,t,n){const i=[252,146,31,255],s={type:"esriSMS",style:"esriSMSCircle",size:6,color:i,outline:{type:"esriSLS",style:"esriSLSSolid",width:.75,color:[153,153,153,255]}},r={type:"esriSLS",style:"esriSLSSolid",width:.75,color:i};n.d(t,["Cb",0,s,"HW",0,{type:"esriSLS",style:"esriSLSSolid",color:[0,0,0,255],width:1.5},"JR",0,[153,153,153,255],"JZ",0,{type:"esriTS",color:[255,255,255,255],font:{family:"arial-unicode-ms",size:10,weight:"bold"},horizontalAlignment:"center",kerning:!0,haloColor:[0,0,0,255],haloSize:1,rotated:!1,text:"",xoffset:0,yoffset:0,angle:0},"WR",0,{type:"esriSFS",style:"esriSFSSolid",color:[252,146,31,196],outline:{type:"esriSLS",style:"esriSLSSolid",width:.75,color:[255,255,255,191]}},"b6",0,{type:"esriSFS",style:"esriSFSSolid",color:[0,0,0,255],outline:null},"fT",0,i,"nC",0,{type:"esriSMS",style:"esriSMSCircle",color:[0,0,0,255],outline:null,size:10.5},"yM",0,r])}}]);
@@ -65,17 +65,17 @@
65
65
  vec3 shadedColor = evaluateSceneLightingPBR(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight, shadingParams.viewDirection, normalGround, mrr, additionalAmbientIrradiance);`:7===Z?j.H`vec3 shadedColor = albedo;`:j.H`vec3 shadedColor = evaluateSceneLighting(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight);`}
66
66
  vec4 finalColor = vec4(shadedColor, opacity_);
67
67
  outputColorHighlightOLID(applySlice(finalColor, vpos), albedo ${(0,j.If)(q,", snow")});
68
- `),t}const G=Object.freeze(Object.defineProperty({__proto__:null,build:A},Symbol.toStringTag,{value:"Module"}));r.d(t,["D",0,G])},587(e,t,r){r.d(t,{G:()=>b,c:()=>y});var o=r(82048),a=r(92573),n=r(65261),i=r(98619),s=r(70893),l=r(34845),c=r(33094),u=r(20304),d=r(31821),h=r(58029),m=r(12791),p=r(63761),f=r(94046),v=(r(72458),r(63907)),g=r(65786),x=r(14113);class b extends g.Y{constructor(){super(...arguments),this.projScale=1,this.scaleGlobalIllumination=1,this.accumulatedFrames=0,this.temporalSampleFrame=0,this.rayMarchMinReach=.15,this.rayMarchMaxReach=.5,this.rayMarchWorldReach=25,this.rayMarchMinReachEmissionWeight=1,this.rayMarchMaxReachEmissionWeight=1,this.rayMarchMaxSteps=16,this.colorBleedWeight=.15}}function y(e){const t=new x.N5,r=t.fragment;t.include(o.c),t.include(l.Ir),(0,i.Gc)(r),r.include(a.V),r.include(n.C),r.include(f.R),t.include(s.O,e),r.uniforms.add(new p.N("normalMap",e=>e.normalTexture),new p.N("depthMap",e=>e.depthTexture),new m.x("lastFrameColorTexture",e=>e.reprojection.lastFrameColor?.getTexture()),new m.x("lastFrameDepthTexture",e=>e.reprojection.lastFrameDepth?.attachment),new m.x("lastFrameGlobalIlluminationTexture",e=>e.globalIllumination?.getTexture()),new m.x("lastFrameGlobalIlluminationWeightTexture",e=>e.globalIllumination?.getTexture(36065)),new h.F("reprojectionViewMatrix",e=>e.reprojection.viewMatrix),new h.F("view",e=>e.camera.viewMatrix),new u.m("accumulatedFrames",e=>e.accumulatedFrames),new u.m("temporalSampleFrame",e=>e.temporalSampleFrame),new u.m("scaleGlobalIllumination",e=>e.scaleGlobalIllumination)),r.uniforms.add(new u.m("rayMarchMinReach",e=>e.rayMarchMinReach),new u.m("rayMarchMaxReach",e=>e.rayMarchMaxReach),new u.m("rayMarchWorldReach",e=>e.rayMarchWorldReach),new u.m("rayMarchMinReachEmissionWeight",e=>e.rayMarchMinReachEmissionWeight),new u.m("rayMarchMaxReachEmissionWeight",e=>e.rayMarchMaxReachEmissionWeight),new u.m("rayMarchMaxSteps",e=>e.rayMarchMaxSteps),new u.m("colorBleedWeight",e=>e.colorBleedWeight));const{hasEmission:g,hasColor:b}=e;return g&&r.uniforms.add(new c.U("inputScale",e=>e.reprojection.lastFrameEmission?.attachment.descriptor.internalFormat===v.H0.RGBA8?16:1),new m.x("lastFrameEmissionTexture",e=>e.reprojection.lastFrameEmission?.attachment)),r.code.add(d.H`
68
+ `),t}const G=Object.freeze(Object.defineProperty({__proto__:null,build:A},Symbol.toStringTag,{value:"Module"}));r.d(t,["D",0,G])},587(e,t,r){r.d(t,{G:()=>b,c:()=>y});var o=r(82048),a=r(92573),n=r(65261),i=r(98619),s=r(70893),l=r(34845),c=r(33094),u=r(20304),d=r(31821),h=r(58029),m=r(12791),p=r(63761),f=r(94046),v=(r(72458),r(63907)),g=r(65786),x=r(14113);class b extends g.Y{constructor(){super(...arguments),this.projScale=1,this.scaleGlobalIllumination=1,this.accumulatedFrames=0,this.temporalSampleFrame=0,this.rayMarchMinReach=.15,this.rayMarchMaxReach=.5,this.rayMarchWorldReach=25,this.rayMarchMinReachEmissionWeight=1,this.rayMarchMaxReachEmissionWeight=1,this.rayMarchMaxSteps=16,this.colorBleedWeight=.15,this.highQualityIdleColorBlendStart=.3}}function y(e){const t=new x.N5,r=t.fragment;t.include(o.c),t.include(l.Ir),(0,i.Gc)(r),r.include(a.V),r.include(n.C),r.include(f.R),t.include(s.O,e),r.uniforms.add(new p.N("normalMap",e=>e.normalTexture),new p.N("depthMap",e=>e.depthTexture),new m.x("lastFrameColorTexture",e=>e.reprojection.lastFrameColor?.getTexture()),new m.x("lastFrameDepthTexture",e=>e.reprojection.lastFrameDepth?.attachment),new m.x("lastFrameGlobalIlluminationTexture",e=>e.globalIllumination?.getTexture()),new m.x("lastFrameGlobalIlluminationWeightTexture",e=>e.globalIllumination?.getTexture(36065)),new h.F("reprojectionViewMatrix",e=>e.reprojection.viewMatrix),new h.F("view",e=>e.camera.viewMatrix),new u.m("accumulatedFrames",e=>e.accumulatedFrames),new u.m("temporalSampleFrame",e=>e.temporalSampleFrame),new u.m("scaleGlobalIllumination",e=>e.scaleGlobalIllumination)),r.uniforms.add(new u.m("rayMarchMinReach",e=>e.rayMarchMinReach),new u.m("rayMarchMaxReach",e=>e.rayMarchMaxReach),new u.m("rayMarchWorldReach",e=>e.rayMarchWorldReach),new u.m("rayMarchMinReachEmissionWeight",e=>e.rayMarchMinReachEmissionWeight),new u.m("rayMarchMaxReachEmissionWeight",e=>e.rayMarchMaxReachEmissionWeight),new u.m("rayMarchMaxSteps",e=>e.rayMarchMaxSteps),new u.m("colorBleedWeight",e=>e.colorBleedWeight),new u.m("highQualityIdleColorBlendStart",e=>e.highQualityIdleColorBlendStart));const{hasEmission:g,hasColor:b}=e;return g&&r.uniforms.add(new c.U("inputScale",e=>e.reprojection.lastFrameEmission?.attachment.descriptor.internalFormat===v.H0.RGBA8?16:1),new m.x("lastFrameEmissionTexture",e=>e.reprojection.lastFrameEmission?.attachment)),r.code.add(d.H`
69
69
  float computeIdleColorBlendWeight(float accumulatedFrames) {
70
70
  float idleColorBlendProgress = clamp(
71
- accumulatedFrames / ${d.H.float(40)},
71
+ accumulatedFrames / ${d.H.float(150)},
72
72
  0.0,
73
73
  1.0
74
74
  );
75
75
  return mix(
76
- ${d.H.float(.012)},
76
+ highQualityIdleColorBlendStart,
77
77
  ${d.H.float(.008)},
78
- idleColorBlendProgress
78
+ pow(idleColorBlendProgress, 1./5.)
79
79
  );
80
80
  }
81
81
 
@@ -143,13 +143,13 @@
143
143
 
144
144
  return value * 2.0 - 1.0;
145
145
  }
146
- `),t.outputs.add("fragGlobalIllumination","vec4",0),t.outputs.add("fragWeight","float",1),r.main.add(d.H`
146
+ `),t.outputs.add("fragGlobalIllumination","vec4",0),t.outputs.add("fragWeight","vec2",1),r.main.add(d.H`
147
147
  float depth = depthFromTexture(depthMap, uv);
148
148
 
149
149
  // Early out if depth is out of range, such as in the sky
150
150
  if (depth >= 1.0 || depth <= 0.0) {
151
151
  fragGlobalIllumination = vec4(0.0, 0.0, 0.0, 1.0);
152
- fragWeight = 0.0;
152
+ fragWeight = vec2(0.0);
153
153
  return;
154
154
  }
155
155
 
@@ -158,7 +158,7 @@
158
158
  vec4 normal4 = texelFetch(normalMap, iuv, 0);
159
159
  if (normal4.a != 1.0) {
160
160
  fragGlobalIllumination = vec4(0.0, 0.0, 0.0, 1.0);
161
- fragWeight = 0.0;
161
+ fragWeight = vec2(0.0);
162
162
  return;
163
163
  }
164
164
  vec3 normal = normalize(normal4.xyz * 2.0 - 1.0);
@@ -220,6 +220,17 @@
220
220
 
221
221
  // For each ray determine if it hits geometry and accumulate occlusion or color
222
222
  float stepSize = 1.0 / float(steps);
223
+ ${(0,d.If)(b,d.H`
224
+ float colorBleedScale = mix(
225
+ 1.0,
226
+ ${d.H.float(0)},
227
+ smoothstep(
228
+ ${d.H.float(.012)},
229
+ highQualityIdleColorBlendStart,
230
+ colorBlendWeight
231
+ )
232
+ );
233
+ `)}
223
234
  for (int i = 0; i < steps; ++i) {
224
235
  float sampleIndex = float(i * temporalSampleStride + int(temporalFrameOffset));
225
236
  randomDirectionSample = blueNoiseDither(floor(gl_FragCoord.xy), sampleIndex);
@@ -253,7 +264,7 @@
253
264
  rayMarchMaxReachEmissionWeight,
254
265
  (rayMarchScreenReach - rayMarchMinReach) / max(rayMarchMaxReach - rayMarchMinReach, 0.00001)
255
266
  );
256
- fragGlobalIllumination.rgb += ((sourceColorLinear * colorBleedWeight) + sourceEmission * emissionWeight) * stepSize;
267
+ fragGlobalIllumination.rgb += ((sourceColorLinear * colorBleedWeight * colorBleedScale) + sourceEmission * emissionWeight) * stepSize;
257
268
  `)}
258
269
  } else {
259
270
  // Occlusion - heuristic modulating sky intensity based on angle to main light
@@ -285,8 +296,8 @@
285
296
  // Accumulate occlusion
286
297
  fragGlobalIllumination.a = mix(lastFrameGlobalIllumination.a + accumulationDither, fragGlobalIllumination.a, occlusionBlendWeight);
287
298
 
288
- fragWeight = occlusionBlendWeight;
289
- `),t}const w=Object.freeze(Object.defineProperty({__proto__:null,GlobalIlluminationPassParameters:b,build:y,defaultColorBleedWeight:.15,defaultRayMarchMaxReach:.5,defaultRayMarchMaxReachEmissionWeight:1,defaultRayMarchMaxSteps:16,defaultRayMarchMinReach:.15,defaultRayMarchMinReachEmissionWeight:1,defaultRayMarchWorldReach:25},Symbol.toStringTag,{value:"Module"}));r.d(t,["a",0,w])},52516(e,t,r){r.d(t,{G:()=>b,b:()=>y});var o=r(48163),a=r(82048),n=r(52540),i=r(72885),s=r(34845),l=r(32976),c=r(68259),u=r(20304),d=r(31821),h=r(15976),m=r(63761),p=r(94046),f=r(58243),v=r(72458),g=r(65786),x=r(14113);class b extends g.Y{constructor(){super(...arguments),this.blurSize=(0,o.vt)()}}function y(){const e=new x.N5,t=e.fragment;e.include(a.c),e.include(s.Ir),e.include(i.Q);return t.include(n.E),t.include(f.t,w),t.include(p.R),t.uniforms.add(new l.o("hasEmission",e=>e.hasEmission),new m.N("depthMap",e=>e.depthTexture),new m.N("normalMap",e=>e.normalTexture),new h.o("globalIlluminationTexture",e=>e.texture),new h.o("globalIlluminationWeightTexture",e=>e.weightTexture),new c.t("blurSize",e=>e.blurSize),new u.m("scaleGlobalIllumination",e=>e.scaleGlobalIllumination),new u.m("projScale",(e,t)=>{const r=t.camera.distance;return r>5e4?Math.max(0,e.projScale-(r-5e4)):e.projScale})),t.code.add(d.H`
299
+ fragWeight = vec2(occlusionBlendWeight, colorBlendWeight * ${d.H.float(6)});
300
+ `),t}const w=Object.freeze(Object.defineProperty({__proto__:null,GlobalIlluminationPassParameters:b,build:y,defaultColorBleedWeight:.15,defaultRayMarchMaxReach:.5,defaultRayMarchMaxReachEmissionWeight:1,defaultRayMarchMaxSteps:16,defaultRayMarchMinReach:.15,defaultRayMarchMinReachEmissionWeight:1,defaultRayMarchWorldReach:25},Symbol.toStringTag,{value:"Module"}));r.d(t,["a",0,w])},52516(e,t,r){r.d(t,{G:()=>b,b:()=>y});var o=r(48163),a=r(82048),n=r(52540),i=r(72885),s=r(34845),l=r(32976),c=r(68259),u=r(20304),d=r(31821),h=r(15976),m=r(63761),p=r(94046),f=r(58243),v=r(72458),g=r(65786),x=r(14113);class b extends g.Y{constructor(){super(...arguments),this.blurSize=(0,o.vt)()}}function y(){const e=new x.N5,t=e.fragment;e.include(a.c),e.include(s.Ir),e.include(i.Q);return t.include(n.E),t.include(f.t,w),t.include(p.R),t.uniforms.add(new l.o("hasEmission",e=>null!=e.reprojection.lastFrameEmission),new m.N("depthMap",e=>e.depthTexture),new m.N("normalMap",e=>e.normalTexture),new h.o("globalIlluminationTexture",e=>e.texture),new h.o("globalIlluminationWeightTexture",e=>e.weightTexture),new c.t("blurSize",e=>e.blurSize),new u.m("scaleGlobalIllumination",e=>e.scaleGlobalIllumination),new u.m("projScale",(e,t)=>{const r=t.camera.distance;return r>5e4?Math.max(0,e.projScale-(r-5e4)):e.projScale})),t.code.add(d.H`
290
301
  void accumulateBlurSample(
291
302
  vec2 sampleUv,
292
303
  float sampleOffset,
@@ -337,6 +348,7 @@
337
348
 
338
349
  vec4 centerGlobalIllumination = texture(globalIlluminationTexture, uv);
339
350
  float centerOcclusionBlendWeight = texture(globalIlluminationWeightTexture, uv).r;
351
+ float centerColorBlendWeight = texture(globalIlluminationWeightTexture, uv).g;
340
352
  bool isScaledGlobalIllumination = scaleGlobalIllumination < 1.0;
341
353
  bool shouldReuseCenterOcclusion = isScaledGlobalIllumination && centerOcclusionBlendWeight <= ${d.H.float(.03)};
342
354
  bool shouldSkipLowQualityBlur = !hasEmission && shouldReuseCenterOcclusion;
@@ -354,9 +366,16 @@
354
366
  float occlusionWeightSum = 0.0;
355
367
 
356
368
  float depthSharpness = globalIlluminationDepthSharpness(projScale, centerDepth);
369
+ float lowQualityBlurScale = hasEmission
370
+ ? mix(
371
+ 1.0,
372
+ ${d.H.float(2.5)},
373
+ smoothstep(0.0, ${d.H.float(.2)}, centerColorBlendWeight)
374
+ )
375
+ : 1.0;
357
376
  for (int sampleOffset = -${d.H.int(4)}; sampleOffset <= ${d.H.int(4)}; ++sampleOffset) {
358
377
  float sampleOffsetFloat = float(sampleOffset);
359
- vec2 sampleUv = uv + sampleOffsetFloat * blurSize;
378
+ vec2 sampleUv = uv + sampleOffsetFloat * blurSize * lowQualityBlurScale;
360
379
  accumulateBlurSample(
361
380
  sampleUv,
362
381
  sampleOffsetFloat,
@@ -392,7 +411,7 @@
392
411
  return texelFetch(normalTexture, normalTexel, 0).xyz;
393
412
  }
394
413
 
395
- void sampleJointBilateralUpscale(vec2 sampleUv, out vec4 upscaledColor, out float upscaledWeight) {
414
+ void sampleJointBilateralUpscale(vec2 sampleUv, out vec4 upscaledColor, out vec2 upscaledWeight) {
396
415
  float centerDepth = linearDepthFromTexture(depthMap, sampleUv);
397
416
  vec3 centerNormal = normalFromTexture(normalMap, sampleUv);
398
417
  float depthSharpness = ${l.H.float(100)} * globalIlluminationDepthSharpness(projScale, centerDepth, centerNormal);
@@ -411,10 +430,10 @@
411
430
  vec4 color10 = texture(tex, uv10);
412
431
  vec4 color01 = texture(tex, uv01);
413
432
  vec4 color11 = texture(tex, uv11);
414
- float weight00 = texture(globalIlluminationWeightTexture, uv00).r;
415
- float weight10 = texture(globalIlluminationWeightTexture, uv10).r;
416
- float weight01 = texture(globalIlluminationWeightTexture, uv01).r;
417
- float weight11 = texture(globalIlluminationWeightTexture, uv11).r;
433
+ vec2 weight00 = texture(globalIlluminationWeightTexture, uv00).rg;
434
+ vec2 weight10 = texture(globalIlluminationWeightTexture, uv10).rg;
435
+ vec2 weight01 = texture(globalIlluminationWeightTexture, uv01).rg;
436
+ vec2 weight11 = texture(globalIlluminationWeightTexture, uv11).rg;
418
437
 
419
438
  float depth00 = linearDepthFromTexture(depthMap, uv00);
420
439
  float depth10 = linearDepthFromTexture(depthMap, uv10);
@@ -441,7 +460,7 @@
441
460
  // Fall back to the nearest low-resolution texel when all bilateral weights collapse.
442
461
  vec2 nearestUv = (floor(texelPosition + 0.5) + vec2(0.5)) / lowResTextureSize;
443
462
  upscaledColor = texture(tex, nearestUv);
444
- upscaledWeight = texture(globalIlluminationWeightTexture, nearestUv).r;
463
+ upscaledWeight = texture(globalIlluminationWeightTexture, nearestUv).rg;
445
464
  return;
446
465
  }
447
466
 
@@ -459,7 +478,7 @@
459
478
  weight11 * jointBilateralWeight11
460
479
  ) / jointBilateralWeightSum;
461
480
  }
462
- `),e.outputs.add("fragColor","vec4",0),e.outputs.add("fragWeight","float",1),t.main.add(l.H`sampleJointBilateralUpscale(uv, fragColor, fragWeight);
481
+ `),e.outputs.add("fragColor","vec4",0),e.outputs.add("fragWeight","vec2",1),t.main.add(l.H`sampleJointBilateralUpscale(uv, fragColor, fragWeight);
463
482
  fragColor.rgb = quantizeGlobalIlluminationColor(fragColor.rgb);`),e}const v=Object.freeze(Object.defineProperty({__proto__:null,GlobalIlluminationUpscaleDrawParameters:p,build:f},Symbol.toStringTag,{value:"Module"}));r.d(t,["a",0,v])},57323(e,t,r){r.d(t,{b:()=>H});var o=r(32680),a=r(49255),n=r(34711),i=r(76597),s=r(24321),l=r(2585),c=r(43519),u=r(96336),d=r(39014),h=r(53466),m=r(92700),p=r(35640),f=r(9169),v=r(72233),g=r(32971),x=r(98619),b=r(22393),y=r(59469),w=r(32482),M=r(51406),S=r(43259),T=r(58614),C=r(27950),_=r(77949),I=r(33079),P=r(71988),z=r(20304),O=r(31821),R=r(63761),D=r(27832),j=r(43616),F=r(26934),E=r(47630),B=r(14113);function H(e){const t=new B.N5,{attributes:r,vertex:H,fragment:W,varyings:N}=t,{output:A,offsetBackfaces:G,pbrMode:L,snowCover:V,spherical:k}=e,U=1===L||2===L;if((0,_.NB)(H,e),r.add("position","vec3"),H.inputs.add("position",()=>"position"),N.add("vpos","vec3",{invariant:!0}),t.include(S.A,e),t.include(l.B,e),t.include(p.Ge,e),t.include(M.q2,e),!(0,a._o)(A))return t.include(f.E,e),t;t.include(M.MU,e),(0,_.yu)(t.vertex,e),t.include(u.Y,e),t.include(i.d),G&&t.include(o.M),N.add("vNormalWorld","vec3"),N.add("localvpos","vec3",{invariant:!0}),t.include(h.U,e),t.include(d.K,e),t.include(s.v,e),t.include(m.c,e),H.include(c.WD),H.include(c.oF),H.uniforms.add(new P.E("externalColor",e=>e.externalColor,{supportsNaN:!0})),N.add("vcolorExt","vec4"),t.include(e.instancedDoublePrecision?w.QH:w.LA,e),H.include(F.Q),H.main.add(O.H`
464
483
  forwardVertexColor();
465
484
 
@@ -865,7 +884,7 @@ vec3 calculateAmbientRadiance()
865
884
  {
866
885
  vec3 ambientLight = 1.2 * (0.282095 * vec3(shR[0], shG[0], shB[0])) - 0.2;
867
886
  return ambientLight *= skyTransmittance;
868
- }`)}var s=r(72233),l=r(65261),c=r(98619),u=r(22393),d=r(89786),h=r(32976),m=r(12791),p=r(5482),f=r(97768),v=r(36708),g=r(91429),x=r(37585),b=r(63666),y=r(78607),w=r(587),M=r(52516),S=r(13840),T=r(98958),C=r(90644);let _=class extends T.w{constructor(){super(...arguments),this.shader=new S.r(M.a,()=>r.e(2013).then(r.bind(r,42013)))}initializePipeline(){return(0,C.Ey)({colorWrite:C.kn})}};_=(0,p.Cg)([(0,g.$K)("esri.views.3d.webgl-engine.effects.globalIllumination.GlobalIlluminationBlurTechnique")],_);let I=class extends T.w{constructor(){super(...arguments),this.shader=new S.r(w.a,()=>r.e(9794).then(r.bind(r,89794)))}initializePipeline(){return(0,C.Ey)({colorWrite:C.kn})}};I=(0,p.Cg)([(0,g.$K)("esri.views.3d.webgl-engine.effects.globalIllumination.GlobalIlluminationTechnique")],I);var P=r(51976);class z extends P.K{constructor(){super(...arguments),this.hasColor=!0,this.hasEmission=!1,this.rayMarchMaxReach=.5,this.rayMarchMaxSteps=16,this.useProjectedRayLength=!0,this.clampRayToScreen=!1}}(0,p.Cg)([(0,P.W)()],z.prototype,"hasColor",void 0),(0,p.Cg)([(0,P.W)()],z.prototype,"hasEmission",void 0);var O=r(50704);let R=class extends T.w{constructor(){super(...arguments),this.shader=new S.r(O.a,()=>r.e(7891).then(r.bind(r,37891)))}initializePipeline(){return(0,C.Ey)({colorWrite:C.kn})}};R=(0,p.Cg)([(0,g.$K)("esri.views.3d.webgl-engine.effects.globalIllumination.GlobalIlluminationUpscaleTechnique")],R),r(63907);let D=class extends y.A{constructor(e){super(e),this.consumes={required:["normals"]},this.produces=b.OG.AMBIENT_ILLUMINATION,this._passParameters=new w.G,this._drawParameters=new M.G,this._drawParametersUpscale=new O.G,this._maxFrames=256,this._lowQualityResolutionScale=.25,this._configuration=new z,this._lastOutput=null,this._isGlobalIlluminationUpdate=!1,this._resetBuffer=!1}initialize(){this.addHandles((0,v.wB)(()=>this.view.stage.renderer.hasGlobalIllumination,()=>{this._reset(),this._requestRender()},v.pc))}destroy(){this._lastOutput=(0,f.Gz)(this._lastOutput)}resetAccumulatedFrames(){this._isGlobalIlluminationUpdate||this._reset()}render(e){if(this._passParameters.accumulatedFrames>=this._maxFrames)return this._lastOutput?.retain(),this._lastOutput;const t=e.find(({name:e})=>"normals"===e),r=t?.getTexture(),o=t?.getTexture(33306),a=this._mode;if(!r||!o)return this._emptyOutput;if(0===a)return this._resetBuffer=!1,this._emptyOutput;if(!this._canRender)return this._resetBuffer=!1,this._requestRender(),this._emptyOutput;const n=this.bindParameters;this._configuration.hasEmission=!!n.reprojection.lastFrameEmission;const i=this.techniques.getCompiled(I,this._configuration),s=this.techniques.getCompiled(_),l=1===a,c=l?this._lowQualityResolutionScale:1,u=l?this.techniques.getCompiled(R):null;if(!i||!s||l&&!u)return this._requestRender(),this._emptyOutput;const d=this.renderingContext,{camera:h}=n;this._passParameters.normalTexture=r,this._passParameters.depthTexture=o,this._passParameters.projScale=1/h.computeScreenPixelSizeAtDist(1),this._passParameters.scaleGlobalIllumination=c;const{fullWidth:m,fullHeight:p}=h,f=Math.max(1,Math.floor(m*c)),v=Math.max(1,Math.floor(p*c)),g=this.fboCache.acquire(f,v,"global illumination input").acquireColor(36065,0);d.bindFramebuffer(g.fbo),d.setViewport(0,0,f,v),d.bindTechnique(i,n,this._passParameters,this._drawParameters),d.screen.draw();const y=g.obtainAttachment(36065),w=Math.max(1,Math.round(f/1)),M=Math.max(1,Math.round(v/1)),S=this.fboCache.acquire(w,M,"global illumination blur horizontal");d.bindFramebuffer(S.fbo),this._drawParameters.texture=g.getTexture(),this._drawParameters.weightTexture=y.attachment,(0,x.hZ)(this._drawParameters.blurSize,0,1/v),d.bindTechnique(s,n,this._passParameters,this._drawParameters),d.setViewport(0,0,w,M),d.screen.draw(),g.release();const T=l?"global illumination blur vertical":b.OG.AMBIENT_ILLUMINATION,C=this.fboCache.acquire(w,M,T);d.bindFramebuffer(C.fbo),d.setViewport(0,0,w,M),d.setClearColor(1,1,1,0),d.clear(16384),this._drawParameters.texture=S.getTexture(),this._drawParameters.weightTexture=y.attachment,(0,x.hZ)(this._drawParameters.blurSize,1/w,0),d.bindTechnique(s,n,this._passParameters,this._drawParameters),d.setViewport(0,0,w,M),d.screen.draw(),S.release(),C.attachColor(y,36065),y.release();let P=C;return u&&(P=this.fboCache.acquire(m,p,b.OG.AMBIENT_ILLUMINATION).acquireColor(36065,0),d.bindFramebuffer(P.fbo),d.setViewport(0,0,m,p),d.setClearColor(1,1,1,0),d.clear(16384),this._drawParametersUpscale.colorTexture=C.getTexture(),this._drawParametersUpscale.weightTexture=C.getTexture(36065),d.bindTechnique(u,n,this._passParameters,this._drawParametersUpscale),d.screen.draw(),C.release()),d.setViewport4fv(h.fullViewport),this._passParameters.temporalSampleFrame=(this._passParameters.temporalSampleFrame+1)%64,++this._passParameters.accumulatedFrames,this._storeOutput(P),this._passParameters.accumulatedFrames<this._maxFrames&&this._requestRender(),P}_requestRender(){this._isGlobalIlluminationUpdate=!0,this.requestRender(1),this._isGlobalIlluminationUpdate=!1}_storeOutput(e){this._lastOutput!==e&&(this._lastOutput=(0,f.Gz)(this._lastOutput),this._lastOutput=e,this._lastOutput.retain())}get _emptyOutput(){const e=this.renderingContext,{fullWidth:t,fullHeight:r}=this.bindParameters.camera,o=this.fboCache.acquire(t,r,b.OG.AMBIENT_ILLUMINATION).acquireColor(36065,0);return e.bindFramebuffer(o.fbo),e.setViewport(0,0,t,r),e.clearBuffer(0,[0,0,0,1]),e.clearBuffer(1,[0,0,0,0]),o}get _canRender(){const{reprojection:e,hasEmission:t,globalIllumination:r}=this.bindParameters;return!(!e.lastFrameColor||t&&!e.lastFrameEmission||!e.lastFrameDepth||!r||this._resetBuffer)}get _mode(){const{hasGlobalIlluminationHighQuality:e,hasGlobalIllumination:t}=this.view.stage.renderer;return e?2:t?1:0}_reset(){this._passParameters.accumulatedFrames=0,this._lastOutput=(0,f.Gz)(this._lastOutput)}get test(){const e=this;return{passParameters:this._passParameters,configuration:this._configuration,get maxFrames(){return e._maxFrames},set maxFrames(t){e._maxFrames=t},get lowQualityResolutionScale(){return e._lowQualityResolutionScale},set lowQualityResolutionScale(t){e._lowQualityResolutionScale=t},get mode(){return e._mode},restartAccumulation:()=>{this._reset(),this._passParameters.temporalSampleFrame=0,this._resetBuffer=!0,this._requestRender()}}}};function j(e,t){t.receiveGlobalIllumination?(e.uniforms.add(new h.o("hasGlobalIlluminationTexture",e=>null!=e.globalIllumination),new m.x("globalIlluminationTexture",e=>e.globalIllumination?.getTexture())),e.constants.add("blurSizePixelsInverse","float",1),e.code.add(n.H`vec3 readGlobalIlluminationOcclusionInverse() {
887
+ }`)}var s=r(72233),l=r(65261),c=r(98619),u=r(22393),d=r(89786),h=r(32976),m=r(12791),p=r(5482),f=r(97768),v=r(36708),g=r(91429),x=r(37585),b=r(63666),y=r(78607),w=r(587),M=r(52516),S=r(13840),T=r(98958),C=r(90644);let _=class extends T.w{constructor(){super(...arguments),this.shader=new S.r(M.a,()=>r.e(2013).then(r.bind(r,42013)))}initializePipeline(){return(0,C.Ey)({colorWrite:C.kn})}};_=(0,p.Cg)([(0,g.$K)("esri.views.3d.webgl-engine.effects.globalIllumination.GlobalIlluminationBlurTechnique")],_);let I=class extends T.w{constructor(){super(...arguments),this.shader=new S.r(w.a,()=>r.e(9794).then(r.bind(r,89794)))}initializePipeline(){return(0,C.Ey)({colorWrite:C.kn})}};I=(0,p.Cg)([(0,g.$K)("esri.views.3d.webgl-engine.effects.globalIllumination.GlobalIlluminationTechnique")],I);var P=r(51976);class z extends P.K{constructor(){super(...arguments),this.hasColor=!0,this.hasEmission=!1,this.rayMarchMaxReach=.5,this.rayMarchMaxSteps=16,this.useProjectedRayLength=!0,this.clampRayToScreen=!1}}(0,p.Cg)([(0,P.W)()],z.prototype,"hasColor",void 0),(0,p.Cg)([(0,P.W)()],z.prototype,"hasEmission",void 0);var O=r(50704);let R=class extends T.w{constructor(){super(...arguments),this.shader=new S.r(O.a,()=>r.e(7891).then(r.bind(r,37891)))}initializePipeline(){return(0,C.Ey)({colorWrite:C.kn})}};R=(0,p.Cg)([(0,g.$K)("esri.views.3d.webgl-engine.effects.globalIllumination.GlobalIlluminationUpscaleTechnique")],R),r(63907);let D=class extends y.A{constructor(e){super(e),this.consumes={required:["normals"]},this.produces=b.OG.AMBIENT_ILLUMINATION,this._passParameters=new w.G,this._drawParameters=new M.G,this._drawParametersUpscale=new O.G,this._maxFrames=256,this._lowQualityResolutionScale=.25,this._configuration=new z,this._lastOutput=null,this._isGlobalIlluminationUpdate=!1,this._resetBuffer=!1}initialize(){this.addHandles((0,v.wB)(()=>this.view.stage.renderer.hasGlobalIllumination,()=>{this._reset(),this._requestRender()},v.pc))}destroy(){this._lastOutput=(0,f.Gz)(this._lastOutput)}resetAccumulatedFrames(){this._isGlobalIlluminationUpdate||!(this._passParameters.accumulatedFrames>100)&&this._configuration.hasEmission||this._reset()}render(e){if(this._passParameters.accumulatedFrames>=this._maxFrames)return this._lastOutput?.retain(),this._lastOutput;const t=e.find(({name:e})=>"normals"===e),r=t?.getTexture(),o=t?.getTexture(33306),a=this._mode;if(!r||!o)return this._emptyOutput;if(0===a)return this._resetBuffer=!1,this._emptyOutput;if(!this._canRender)return this._resetBuffer=!1,this._requestRender(),this._emptyOutput;const n=this.bindParameters;this._configuration.hasEmission=!!n.reprojection.lastFrameEmission;const i=this.techniques.getCompiled(I,this._configuration),s=this.techniques.getCompiled(_),l=1===a,c=l?this._lowQualityResolutionScale:1,u=l?this.techniques.getCompiled(R):null;if(!i||!s||l&&!u)return this._requestRender(),this._emptyOutput;const d=this.renderingContext,{camera:h}=n;this._passParameters.normalTexture=r,this._passParameters.depthTexture=o,this._passParameters.projScale=1/h.computeScreenPixelSizeAtDist(1),this._passParameters.scaleGlobalIllumination=c;const{fullWidth:m,fullHeight:p}=h,f=Math.max(1,Math.floor(m*c)),v=Math.max(1,Math.floor(p*c)),g=this.fboCache.acquire(f,v,"global illumination input").acquireColor(36065,2);d.bindFramebuffer(g.fbo),d.setViewport(0,0,f,v),d.bindTechnique(i,n,this._passParameters,this._drawParameters),d.screen.draw();const y=g.obtainAttachment(36065),w=Math.max(1,Math.round(f/1)),M=Math.max(1,Math.round(v/1)),S=this.fboCache.acquire(w,M,"global illumination blur horizontal");d.bindFramebuffer(S.fbo),this._drawParameters.texture=g.getTexture(),this._drawParameters.weightTexture=y.attachment,(0,x.hZ)(this._drawParameters.blurSize,0,1/v),d.bindTechnique(s,n,this._passParameters,this._drawParameters),d.setViewport(0,0,w,M),d.screen.draw(),g.release();const T=l?"global illumination blur vertical":b.OG.AMBIENT_ILLUMINATION,C=this.fboCache.acquire(w,M,T);d.bindFramebuffer(C.fbo),d.setViewport(0,0,w,M),d.setClearColor(1,1,1,0),d.clear(16384),this._drawParameters.texture=S.getTexture(),this._drawParameters.weightTexture=y.attachment,(0,x.hZ)(this._drawParameters.blurSize,1/w,0),d.bindTechnique(s,n,this._passParameters,this._drawParameters),d.setViewport(0,0,w,M),d.screen.draw(),S.release(),C.attachColor(y,36065),y.release();let P=C;return u&&(P=this.fboCache.acquire(m,p,b.OG.AMBIENT_ILLUMINATION).acquireColor(36065,2),d.bindFramebuffer(P.fbo),d.setViewport(0,0,m,p),d.setClearColor(1,1,1,0),d.clear(16384),this._drawParametersUpscale.colorTexture=C.getTexture(),this._drawParametersUpscale.weightTexture=C.getTexture(36065),d.bindTechnique(u,n,this._passParameters,this._drawParametersUpscale),d.screen.draw(),C.release()),d.setViewport4fv(h.fullViewport),this._passParameters.temporalSampleFrame=(this._passParameters.temporalSampleFrame+1)%64,++this._passParameters.accumulatedFrames,this._storeOutput(P),this._passParameters.accumulatedFrames<this._maxFrames&&this._requestRender(),P}_requestRender(){this._isGlobalIlluminationUpdate=!0,this.requestRender(1),this._isGlobalIlluminationUpdate=!1}_storeOutput(e){this._lastOutput!==e&&(this._lastOutput=(0,f.Gz)(this._lastOutput),this._lastOutput=e,this._lastOutput.retain())}get _emptyOutput(){const e=this.renderingContext,{fullWidth:t,fullHeight:r}=this.bindParameters.camera,o=this.fboCache.acquire(t,r,b.OG.AMBIENT_ILLUMINATION).acquireColor(36065,2);return e.bindFramebuffer(o.fbo),e.setViewport(0,0,t,r),e.clearBuffer(0,[0,0,0,1]),e.clearBuffer(1,[0,0,0,0]),o}get _canRender(){const{reprojection:e,hasEmission:t,globalIllumination:r}=this.bindParameters;return!(!e.lastFrameColor||t&&!e.lastFrameEmission||!e.lastFrameDepth||!r||this._resetBuffer)}get _mode(){const{hasGlobalIlluminationHighQuality:e,hasGlobalIllumination:t}=this.view.stage.renderer;return e?2:t?1:0}_reset(){this._passParameters.accumulatedFrames=0,this._lastOutput=(0,f.Gz)(this._lastOutput)}get test(){const e=this;return{passParameters:this._passParameters,configuration:this._configuration,get maxFrames(){return e._maxFrames},set maxFrames(t){e._maxFrames=t},get lowQualityResolutionScale(){return e._lowQualityResolutionScale},set lowQualityResolutionScale(t){e._lowQualityResolutionScale=t},get mode(){return e._mode},restartAccumulation:()=>{this._reset(),this._passParameters.temporalSampleFrame=0,this._resetBuffer=!0,this._requestRender()}}}};function j(e,t){t.receiveGlobalIllumination?(e.uniforms.add(new h.o("hasGlobalIlluminationTexture",e=>null!=e.globalIllumination),new m.x("globalIlluminationTexture",e=>e.globalIllumination?.getTexture())),e.constants.add("blurSizePixelsInverse","float",1),e.code.add(n.H`vec3 readGlobalIlluminationOcclusionInverse() {
869
888
  if (!hasGlobalIlluminationTexture) {
870
889
  return vec3(1.0);
871
890
  }