// All material copyright Esri, All Rights Reserved, unless otherwise specified. // See https://js.arcgis.com/4.30/esri/copyright.txt for details. //>>built define("exports ./ArcadeModule ./ArcadeModuleLoader ./containerUtils ./Dictionary ./executionError ./Feature ./FunctionWrapper ../chunks/languageUtils ./treeAnalysis ../chunks/array ./functions/date ./functions/geomasync ./functions/geometry ./functions/maths ./functions/stats ./functions/string ../geometry/Geometry ../geometry/SpatialReference".split(" "),function(A,C,M,D,w,f,N,t,e,X,Y,Z,aa,ba,ca,da,ea,O,P){async function E(a,b){const c=[];for(let d=0;d{try{!0===c.testResult?(l++,100{B(a,b,c,d, g,l)},0)):B(a,b,c,d,g,l)):c.lastAction instanceof e.returnResult?d(c.lastAction):d(e.voidOperation)}catch(k){g(k)}},k=>{g(k)})}catch(k){g(k)}}function qa(a,b){try{return null!==b.init?h(a,b.init).then(()=>new Promise((c,d)=>{B(a,b,{testResult:!0,lastAction:e.voidOperation},g=>{c(g)},g=>{d(g)},0)})):new Promise((c,d)=>{B(a,b,{testResult:!0,lastAction:e.voidOperation},g=>{c(g)},g=>{d(g)},0)})}catch(c){return Promise.reject(c)}}function G(a,b,c,d,g,l,k,m,n,p){try{d<=l?m(e.voidOperation):(g.value="k"=== k?c[l]:l,h(a,b.body).then(r=>{try{r instanceof e.returnResult?m(r):r===e.breakResult?m(e.voidOperation):(p++,100{G(a,b,c,d,g,l+1,k,m,n,p)},0)):G(a,b,c,d,g,l+1,k,m,n,p))}catch(H){n(H)}},r=>{n(r)}))}catch(r){n(r)}}function I(a,b,c,d,g,l,k,m,n){try{c.length()<=g?k(e.voidOperation):(d.value="k"===l?c.get(g):g,h(a,b.body).then(p=>{p instanceof e.returnResult?k(p):p===e.breakResult?k(e.voidOperation):(n++,100{I(a,b,c,d,g+1,l,k,m,n)},0)):I(a,b,c,d,g+1,l,k,m, n))},p=>{m(p)}))}catch(p){m(p)}}function J(a,b,c,d,g,l){try{void 0===l&&(l="i"),0===c.length?d.resolve(e.voidOperation):G(a,b,c,c.length,g,0,l,k=>{d.resolve(k)},k=>{d.reject(k)},0)}catch(k){d.reject(k)}}function Fa(a,b,c,d,g,l){try{void 0===l&&(l="i"),0===c.length?d.resolve(e.voidOperation):I(a,b,c,g,0,l,k=>{d.resolve(k)},k=>{d.reject(k)},0)}catch(k){d.reject(k)}}function Ga(a,b,c,d,g){try{const l=c.keys();J(a,b,l,d,g,"k")}catch(l){d.reject(l)}}function K(a,b,c,d,g,l,k,m){try{a.next().then(n=>{try{if(null=== n)l(e.voidOperation);else{const p=N.createFromGraphicLikeObject(n.geometry,n.attributes,d,b.timeZone);p._underlyingGraphic=n;g.value=p;h(b,c.body).then(r=>{try{r===e.breakResult?l(e.voidOperation):r instanceof e.returnResult?l(r):(m++,100{K(a,b,c,d,g,l,k,m)},0)):K(a,b,c,d,g,l,k,m))}catch(H){k(H)}},r=>{k(r)})}}catch(p){k(p)}},n=>{k(n)})}catch(n){k(n)}}async function sa(a,b){return new Promise((c,d)=>{h(a,b.right).then(g=>{try{let l=null;l="VariableDeclaration"===b.left.type? h(a,b.left):Promise.resolve();l.then(()=>{try{let m="";if("VariableDeclaration"===b.left.type){var k=b.left.declarations[0].id;"Identifier"===k.type&&(m=k.name)}else"Identifier"===b.left.type&&(m=b.left.name);if(!m)throw new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.InvalidIdentifier,b);m=m.toLowerCase();k=null;null!=a.localScope&&void 0!==a.localScope[m]&&(k=a.localScope[m]);null===k&&void 0!==a.globalScope[m]&&(k=a.globalScope[m]);null===k?d(new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.InvalidIdentifier, b)):e.isArray(g)||e.isString(g)?J(a,b,g,{reject:d,resolve:c},k):e.isImmutableArray(g)?Fa(a,b,g,{reject:d,resolve:c},k):g instanceof w||e.isFeature(g)?Ga(a,b,g,{reject:d,resolve:c},k):e.isFeatureSet(g)?K(g.iterator(a.abortSignal),a,b,g,k,n=>{c(n)},n=>{d(n)},0):J(a,b,[],{reject:d,resolve:c},k)}catch(m){d(m)}},d)}catch(l){d(l)}},d)})}async function oa(a,b){var c=b.argument;if("MemberExpression"===c.type){var d=null,g=null;d=await h(a,c.object);!0===c.computed?g=await h(a,c.property):"Identifier"===c.property.type&& (g=c.property.name);c=d;if(e.isArray(c))if(e.isNumber(g)){0>g&&(g=c.length+g);if(0>g||g>=c.length)throw new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.OutOfBounds,b);a=e.toNumber(c[g]);c[g]="++"===b.operator?a+1:a-1}else throw new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.ArrayAccessorMustBeNumber,b);else if(c instanceof w){if(!1===e.isString(g))throw new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.KeyAccessorMustBeString,b);if(!0===c.hasField(g))a=e.toNumber(c.field(g)),c.setField(g, "++"===b.operator?a+1:a-1);else throw new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.FieldNotFound,b,{key:g});}else if(c instanceof x){if(!1===e.isString(g))throw new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.ModuleAccessorMustBeString,b);if(!0===c.hasGlobal(g))a=e.toNumber(await c.global(g)),c.setGlobal(g,"++"===b.operator?a+1:a-1);else throw new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.ModuleExportNotFound,b);}else if(e.isFeature(c)){if(!1===e.isString(g))throw new f.ArcadeExecutionError(a, f.ExecutionErrorCodes.KeyAccessorMustBeString,b);if(!0===c.hasField(g))a=e.toNumber(c.field(g)),c.setField(g,"++"===b.operator?a+1:a-1);else throw new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.FieldNotFound,b,{key:g});}else{if(e.isImmutableArray(c))throw new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.Immutable,b);throw new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.InvalidParameter,b);}return!1===b.prefix?a:"++"===b.operator?a+1:a-1}g="Identifier"===b.argument.type?b.argument.name.toLowerCase(): "";if(!g)throw new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.InvalidIdentifier,b);if(null!=a.localScope&&void 0!==a.localScope[g])return c=e.toNumber(a.localScope[g].value),a.localScope[g]={value:"++"===b.operator?c+1:c-1,valueset:!0,node:b},!1===b.prefix?c:"++"===b.operator?c+1:c-1;if(void 0!==a.globalScope[g])return c=e.toNumber(a.globalScope[g].value),a.globalScope[g]={value:"++"===b.operator?c+1:c-1,valueset:!0,node:b},!1===b.prefix?c:"++"===b.operator?c+1:c-1;throw new f.ArcadeExecutionError(a, f.ExecutionErrorCodes.InvalidIdentifier,b);}function v(a,b,c,d,g){switch(b){case "\x3d":return a===e.voidOperation?null:a;case "/\x3d":return e.toNumber(c)/e.toNumber(a);case "*\x3d":return e.toNumber(c)*e.toNumber(a);case "-\x3d":return e.toNumber(c)-e.toNumber(a);case "+\x3d":return e.isString(c)||e.isString(a)?e.toString(c)+e.toString(a):e.toNumber(c)+e.toNumber(a);case "%\x3d":return e.toNumber(c)%e.toNumber(a);default:throw new f.ArcadeExecutionError(g,f.ExecutionErrorCodes.UnsupportedOperator, d);}}async function pa(a,b){var c=b.left;if("MemberExpression"===c.type){var d=await h(a,c.object),g=null;if(!0===c.computed)g=await h(a,c.property);else if("Identifier"===c.property.type)g=c.property.name;else throw new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.InvalidIdentifier,b);c=await h(a,b.right);if(e.isArray(d))if(e.isNumber(g)){0>g&&(g=d.length+g);if(0>g||g>d.length)throw new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.OutOfBounds,b);if(g===d.length&&"\x3d"!==b.operator)throw new f.ArcadeExecutionError(a, f.ExecutionErrorCodes.OutOfBounds,b);d[g]=v(c,b.operator,d[g],b,a)}else throw new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.ArrayAccessorMustBeNumber,b);else if(d instanceof w){if(!1===e.isString(g))throw new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.KeyAccessorMustBeString,b);if(!0===d.hasField(g))d.setField(g,v(c,b.operator,d.field(g),b,a));else{if("\x3d"!==b.operator)throw new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.FieldNotFound,b,{key:g});d.setField(g,v(c,b.operator,null,b,a))}}else if(d instanceof x){if(!1===e.isString(g))throw new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.KeyAccessorMustBeString,b);if(!0===d.hasGlobal(g))d.setGlobal(g,v(c,b.operator,await d.global(g),b,a));else throw new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.ModuleExportNotFound,b);}else if(e.isFeature(d)){if(!1===e.isString(g))throw new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.KeyAccessorMustBeString,b);if(!0===d.hasField(g))d.setField(g,v(c,b.operator,d.field(g),b,a));else{if("\x3d"!==b.operator)throw new f.ArcadeExecutionError(a, f.ExecutionErrorCodes.FieldNotFound,b,{key:g});d.setField(g,v(c,b.operator,null,b,a))}}else{if(e.isImmutableArray(d))throw new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.Immutable,b);throw new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.InvalidParameter,b);}return e.voidOperation}d=c.name.toLowerCase();if(null!=a.localScope&&void 0!==a.localScope[d])return g=await h(a,b.right),a.localScope[d]={value:v(g,b.operator,a.localScope[d].value,b,a),valueset:!0,node:b.right},e.voidOperation;if(void 0!== a.globalScope[d])return g=await h(a,b.right),a.globalScope[d]={value:v(g,b.operator,a.globalScope[d].value,b,a),valueset:!0,node:b.right},e.voidOperation;throw new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.InvalidIdentifier,b);}async function na(a,b){if("AssignmentExpression"===b.expression.type)return h(a,b.expression);if("CallExpression"===b.expression.type)return a=await h(a,b.expression),a===e.voidOperation?e.voidOperation:new e.implicitResult(a);a=await h(a,b.expression);return a===e.voidOperation? e.voidOperation:new e.implicitResult(a)}async function ma(a,b){const c=await h(a,b.test);if(!0===c)return h(a,b.consequent);if(!1===c)return null!==b.alternate?h(a,b.alternate):e.voidOperation;throw new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.BooleanConditionRequired,b);}async function ja(a,b){return R(a,b,0)}async function R(a,b,c){if(c>=b.body.length)return e.voidOperation;const d=await h(a,b.body[c]);return d instanceof e.returnResult||d===e.breakResult||d===e.continueResult||c===b.body.length- 1?d:R(a,b,c+1)}async function la(a,b){if(null===b.argument)return new e.returnResult(e.voidOperation);a=await h(a,b.argument);return new e.returnResult(a)}async function ka(a,b){const c=b.id.name.toLowerCase();a.globalScope[c]={valueset:!0,node:null,value:new Ha(b,a)};return e.voidOperation}async function ha(a,b){const c=b.specifiers[0].local.name.toLowerCase(),d=a.libraryResolver.loadLibrary(c);let g=null;a.libraryResolver._moduleSingletons?.has(d.uri)?g=a.libraryResolver._moduleSingletons.get(d.uri): (g=new x(d),await g.loadModule(a),a.libraryResolver._moduleSingletons?.set(d.uri,g));a.globalScope[c]={value:g,valueset:!0,node:b};return e.voidOperation}async function ia(a,b){await h(a,b.declaration);if("FunctionDeclaration"===b.declaration.type)a.exports[b.declaration.id.name.toLowerCase()]="function";else if("VariableDeclaration"===b.declaration.type)for(const c of b.declaration.declarations)a.exports[c.id.name.toLowerCase()]="variable";return e.voidOperation}async function Q(a,b,c){if(c>=b.declarations.length)return e.voidOperation; await h(a,b.declarations[c]);if(c===b.declarations.length-1)return e.voidOperation;await Q(a,b,c+1);return e.voidOperation}async function fa(a,b){let c=null;c=null===b.init?null:await h(a,b.init);if(null!==a.localScope){c===e.voidOperation&&(c=null);if("Identifier"!==b.id.type)throw new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.InvalidIdentifier,b);var d=b.id.name.toLowerCase();null!=a.localScope&&(a.localScope[d]={value:c,valueset:!0,node:b.init});return e.voidOperation}if("Identifier"!==b.id.type)throw new f.ArcadeExecutionError(a, f.ExecutionErrorCodes.InvalidIdentifier,b);d=b.id.name.toLowerCase();c===e.voidOperation&&(c=null);a.globalScope[d]={value:c,valueset:!0,node:b.init};return e.voidOperation}async function va(a,b){const c=await h(a,b.object);if(null===c)throw new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.MemberOfNull,b);if(!1===b.computed){if("Identifier"===b.property.type){if(c instanceof w||e.isFeature(c))return c.field(b.property.name);if(c instanceof O)return D.geometryMember(c,b.property.name,a,b);if(c instanceof x){if(!c.hasGlobal(b.property.name))throw new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.InvalidIdentifier,b);return c.global(b.property.name)}}throw new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.InvalidMemberAccessKey,b);}let d=await h(a,b.property);if(c instanceof w||e.isFeature(c)){if(e.isString(d))return c.field(d)}else if(c instanceof x){if(e.isString(d))return c.global(d)}else if(c instanceof O){if(e.isString(d))return D.geometryMember(c,d,a,b)}else if(e.isArray(c)){if(e.isNumber(d)&& isFinite(d)&&Math.floor(d)===d){0>d&&(d=c.length+d);if(d>=c.length||0>d)throw new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.OutOfBounds,b);return c[d]}}else if(e.isImmutableArray(c)){if(e.isNumber(d)&&isFinite(d)&&Math.floor(d)===d){0>d&&(d=c.length()+d);if(d>=c.length()||0>d)throw new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.OutOfBounds,b);return c.get(d)}}else if(e.isString(c)&&e.isNumber(d)&&isFinite(d)&&Math.floor(d)===d){0>d&&(d=c.length+d);if(d>=c.length||0>d)throw new f.ArcadeExecutionError(a, f.ExecutionErrorCodes.OutOfBounds,b);return c[d]}throw new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.InvalidMemberAccessKey,b);}async function xa(a,b){const c=await h(a,b.argument);if(e.isBoolean(c)&&"!"===b.operator)return!c;if("-"===b.operator)return-1*e.toNumber(c);if("+"===b.operator)return 1*e.toNumber(c);if("~"===b.operator)return~e.toNumber(c);throw new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.UnsupportedUnaryOperator,b);}async function Aa(a,b){const c=[];for(var d=0;d {const c={spatialReference:this.context.spatialReference,console:this.context.console,lrucache:this.context.lrucache,timeZone:this.context.timeZone??null,exports:this.context.exports,libraryResolver:this.context.libraryResolver,interceptor:this.context.interceptor,localScope:{},depthCounter:{depth:a.depthCounter+1},globalScope:this.context.globalScope};if(64{c={spatialReference:a.spatialReference,services:a.services,console:a.console,libraryResolver:a.libraryResolver,exports:a.exports,lrucache:a.lrucache,timeZone:a.timeZone??null,interceptor:a.interceptor,localScope:{},abortSignal:a.abortSignal,globalScope:a.globalScope,depthCounter:{depth:a.depthCounter.depth+1}};if(64{g={spatialReference:a.spatialReference,globalScope:c.globalScope,depthCounter:{depth:a.depthCounter.depth+1},libraryResolver:a.libraryResolver,exports:a.exports,console:a.console,abortSignal:a.abortSignal,lrucache:a.lrucache,timeZone:a.timeZone??null,interceptor:a.interceptor,localScope:{}};k=k.map(m=>!e.isFunctionParameter(m)||m instanceof t.ScopeMarshalledFunction?m:t.wrapModuleScopedResponse(m,a,d));return t.wrapModuleScopedResponse(await L(this.definition,g,k,b),c,d)})}}class x extends C.ArcadeModule{constructor(a){super(a)}async global(a){a= this.executingContext.globalScope[a.toLowerCase()];a.valueset||(a.value=await h(this.executingContext,a.node),a.valueset=!0);if(e.isFunctionParameter(a.value)&&!(a.value instanceof t.ScopeMarshalledFunction)){const b=new t.ScopeMarshalledFunction;b.fn=a.value;b.parameterEvaluator=y;b.context=this.executingContext;a.value=b}return a.value}setGlobal(a,b){if(e.isFunctionParameter(b))throw new f.ArcadeExecutionError(null,f.ExecutionErrorCodes.AssignModuleFunction,null);this.executingContext.globalScope[a.toLowerCase()]= {value:b,valueset:!0,node:null}}hasGlobal(a){void 0===this.executingContext.exports[a]&&(a=a.toLowerCase());return void 0!==this.executingContext.exports[a]?!0:!1}async loadModule(a){let b=a.spatialReference;if(null===b||void 0===b)b=new P({wkid:102100});this.moduleScope=U({},a.customfunctions,a.timeZone);this.executingContext={spatialReference:b,services:a.services,libraryResolver:new M.ArcadeModuleLoader(a.libraryResolver._moduleSingletons,this.source.syntax.loadedModules),exports:{},abortSignal:void 0=== a.abortSignal||null===a.abortSignal?{aborted:!1}:a.abortSignal,globalScope:this.moduleScope,console:a.console??V,lrucache:a.lrucache,timeZone:a.timeZone??null,interceptor:a.interceptor,localScope:null,depthCounter:{depth:1}};await h(this.executingContext,this.source.syntax)}}const q={};Z.registerFunctions(q,u);ea.registerFunctions(q,u);ca.registerFunctions(q,u);ba.registerFunctions(q,u);da.registerFunctions(q,u);aa.registerFunctions({functions:q,compiled:!1,signatures:null,evaluateIdentifier:null, mode:"async",standardFunction:u,standardFunctionAsync:y});q.iif=async function(a,b){e.pcCheck(null===b.arguments?[]:b.arguments,3,3,a,b);const c=await h(a,b.arguments[0]);if(!1===e.isBoolean(c))throw new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.BooleanConditionRequired,b);return c?h(a,b.arguments[1]):h(a,b.arguments[2])};q.defaultvalue=async function(a,b){e.pcCheck(null===b.arguments?[]:b.arguments,2,3,a,b);var c=await h(a,b.arguments[0]);if(3===b.arguments.length){const d=await h(a,b.arguments[1]); c=D.getNestedOptionalValue(c,d);return null!=c&&""!==c?c:h(a,b.arguments[2])}return null==c||""===c?h(a,b.arguments[1]):c};q.decode=async function(a,b){if(2>b.arguments.length)throw new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.WrongNumberOfParameters,b);if(2===b.arguments.length)return h(a,b.arguments[1]);if(0===(b.arguments.length-1)%2)throw new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.WrongNumberOfParameters,b);const c=await h(a,b.arguments[0]);return S(a,b,1,c)};q.when=async function(a, b){if(3>b.arguments.length)throw new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.WrongNumberOfParameters,b);if(0===b.arguments.length%2)throw new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.WrongNumberOfParameters,b);const c=await h(a,b.arguments[0]);if(!1===e.isBoolean(c))throw new f.ArcadeExecutionError(a,f.ExecutionErrorCodes.BooleanConditionRequired,b.arguments[0]);return T(a,b,0,c)};C={fixSpatialReference:e.fixSpatialReference,parseArguments:E,standardFunction:u,standardFunctionAsync:y, evaluateIdentifier:F};for(const a in q)q[a]={value:new t.NativeFunction(q[a]),valueset:!0,node:null};const z=function(){};z.prototype=q;z.prototype.infinity={value:Number.POSITIVE_INFINITY,valueset:!0,node:null};z.prototype.pi={value:Math.PI,valueset:!0,node:null};W([Y.ArrayFunctions]);A.executeScript=async function(a,b){let c=b.spatialReference;if(null===c||void 0===c)c=new P({wkid:102100});let d=null;a.usesModules&&(d=new M.ArcadeModuleLoader(new Map,a.loadedModules));const g=U(b.vars,b.customfunctions, b.timeZone);b={spatialReference:c,services:b.services,exports:{},libraryResolver:d,abortSignal:void 0===b.abortSignal||null===b.abortSignal?{aborted:!1}:b.abortSignal,globalScope:g,console:b.console??V,timeZone:b.timeZone??null,lrucache:b.lrucache,interceptor:b.interceptor,localScope:null,depthCounter:{depth:1}};a=await h(b,a);a instanceof e.returnResult&&(a=a.value);a instanceof e.implicitResult&&(a=a.value);a===e.voidOperation&&(a=null);if(a===e.breakResult)throw new f.ArcadeExecutionError(b,f.ExecutionErrorCodes.IllegalResult, null);if(a===e.continueResult)throw new f.ArcadeExecutionError(b,f.ExecutionErrorCodes.IllegalResult,null);if(e.isFunctionParameter(a))throw new f.ArcadeExecutionError(b,f.ExecutionErrorCodes.IllegalResult,null);return a};A.extend=W;A.functionHelper=C;Object.defineProperty(A,Symbol.toStringTag,{value:"Module"})});