@fincity/kirun-js 2.12.0 → 2.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- var e,t,r,s,n,a,i=require("luxon");function o(e,t){return Object.keys(t).forEach(function(r){"default"===r||"__esModule"===r||Object.prototype.hasOwnProperty.call(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[r]}})}),e}function E(e,t,r,s){Object.defineProperty(e,t,{get:r,set:s,enumerable:!0,configurable:!0})}var u={};E(u,"KIRunSchemaRepository",()=>X);var A={};E(A,"AdditionalType",()=>C),E(A,"Schema",()=>D);var T={};E(T,"Namespaces",()=>l);class l{static{this.SYSTEM="System"}static{this.SYSTEM_CTX="System.Context"}static{this.SYSTEM_LOOP="System.Loop"}static{this.SYSTEM_ARRAY="System.Array"}static{this.SYSTEM_OBJECT="System.Object"}static{this.MATH="System.Math"}static{this.STRING="System.String"}static{this.DATE="System.Date"}constructor(){}}var m={};E(m,"ArraySchemaType",()=>g);var R={};function h(e){return null==e}E(R,"isNullValue",()=>h);class g{constructor(e){if(!e)return;this.singleSchema=e.singleSchema?new D(e.singleSchema):void 0,this.tupleSchema=e.tupleSchema?e.tupleSchema.map(e=>new D(e)):void 0}setSingleSchema(e){return this.singleSchema=e,this}setTupleSchema(e){return this.tupleSchema=e,this}getSingleSchema(){return this.singleSchema}getTupleSchema(){return this.tupleSchema}isSingleType(){return!h(this.singleSchema)}static of(...e){return 1==e.length?new g().setSingleSchema(e[0]):new g().setTupleSchema(e)}static from(e){if(!e)return;if(Array.isArray(e))return new g().setTupleSchema(D.fromListOfSchemas(e));let t=Object.keys(e);if(-1!=t.indexOf("singleSchema"))return new g().setSingleSchema(D.from(e.singleSchema));if(-1!=t.indexOf("tupleSchema"))return new g().setTupleSchema(D.fromListOfSchemas(e.tupleSchema));let r=D.from(e);if(r)return new g().setSingleSchema(r)}}var c={};E(c,"SchemaType",()=>p);var p=((e={}).INTEGER="Integer",e.LONG="Long",e.FLOAT="Float",e.DOUBLE="Double",e.STRING="String",e.OBJECT="Object",e.ARRAY="Array",e.BOOLEAN="Boolean",e.NULL="Null",e),N={};E(N,"TypeUtil",()=>d);var f={};E(f,"MultipleType",()=>S);var _={};E(_,"Type",()=>M);class M{}class S extends M{constructor(e){super(),e instanceof S?this.type=new Set(Array.from(e.type)):this.type=new Set(Array.from(e))}getType(){return this.type}setType(e){return this.type=e,this}getAllowedSchemaTypes(){return this.type}contains(e){return this.type?.has(e)}}var O={};E(O,"SingleType",()=>w);class w extends M{constructor(e){super(),e instanceof w?this.type=e.type:this.type=e}getType(){return this.type}getAllowedSchemaTypes(){return new Set([this.type])}contains(e){return this.type==e}}class d{static of(...e){return 1==e.length?new w(e[0]):new S(new Set(e))}static from(e){return"string"==typeof e?new w(p[d.fromJSONType(e)]):Array.isArray(e)?new S(new Set(e.map(d.fromJSONType).map(e=>e).map(e=>p[e]))):void 0}static fromJSONType(e){let t=e.toUpperCase();return"NUMBER"===t?"DOUBLE":t}}const I="additionalProperty",P="additionalItems",y="enums",x="items",L="System.Schema",v="required",U="version",V="namespace";class C{constructor(e){if(!e||(this.booleanValue=e.booleanValue,!e.schemaValue))return;this.schemaValue=new D(e.schemaValue)}getBooleanValue(){return this.booleanValue}getSchemaValue(){return this.schemaValue}setBooleanValue(e){return this.booleanValue=e,this}setSchemaValue(e){return this.schemaValue=e,this}static from(e){if(h(e))return;let t=new C;if("boolean"==typeof e)t.booleanValue=e;else{let r=Object.keys(e);-1!=r.indexOf("booleanValue")?t.booleanValue=e.booleanValue:-1!=r.indexOf("schemaValue")?t.schemaValue=D.from(e.schemaValue):t.schemaValue=D.from(e)}return t}}class D{static{this.NULL=new D().setNamespace(l.SYSTEM).setName("Null").setType(d.of(p.NULL)).setConstant(void 0)}static{this.TYPE_SCHEMA=new D().setType(d.of(p.STRING)).setEnums(["INTEGER","LONG","FLOAT","DOUBLE","STRING","OBJECT","ARRAY","BOOLEAN","NULL"])}static{this.SCHEMA=new D().setNamespace(l.SYSTEM).setName("Schema").setType(d.of(p.OBJECT)).setProperties(new Map([[V,D.of(V,p.STRING).setDefaultValue("_")],["name",D.ofString("name")],[U,D.of(U,p.INTEGER).setDefaultValue(1)],["ref",D.ofString("ref")],["type",new D().setAnyOf([D.TYPE_SCHEMA,D.ofArray("type",D.TYPE_SCHEMA)])],["anyOf",D.ofArray("anyOf",D.ofRef(L))],["allOf",D.ofArray("allOf",D.ofRef(L))],["oneOf",D.ofArray("oneOf",D.ofRef(L))],["not",D.ofRef(L)],["title",D.ofString("title")],["description",D.ofString("description")],["id",D.ofString("id")],["examples",D.ofAny("examples")],["defaultValue",D.ofAny("defaultValue")],["comment",D.ofString("comment")],[y,D.ofArray(y,D.ofString(y))],["constant",D.ofAny("constant")],["pattern",D.ofString("pattern")],["format",D.of("format",p.STRING).setEnums(["DATETIME","TIME","DATE","EMAIL","REGEX"])],["minLength",D.ofInteger("minLength")],["maxLength",D.ofInteger("maxLength")],["multipleOf",D.ofLong("multipleOf")],["minimum",D.ofNumber("minimum")],["maximum",D.ofNumber("maximum")],["exclusiveMinimum",D.ofNumber("exclusiveMinimum")],["exclusiveMaximum",D.ofNumber("exclusiveMaximum")],["properties",D.of("properties",p.OBJECT).setAdditionalProperties(new C().setSchemaValue(D.ofRef(L)))],["additionalProperties",new D().setName(I).setNamespace(l.SYSTEM).setAnyOf([D.ofBoolean(I),D.ofObject(I).setRef(L)]).setDefaultValue(!0)],[v,D.ofArray(v,D.ofString(v)).setDefaultValue([])],["propertyNames",D.ofRef(L)],["minProperties",D.ofInteger("minProperties")],["maxProperties",D.ofInteger("maxProperties")],["patternProperties",D.of("patternProperties",p.OBJECT).setAdditionalProperties(new C().setSchemaValue(D.ofRef(L)))],[x,new D().setName(x).setAnyOf([D.ofRef(L).setName("item"),D.ofArray("tuple",D.ofRef(L))])],["contains",D.ofRef(L)],["minContains",D.ofInteger("minContains")],["maxContains",D.ofInteger("maxContains")],["minItems",D.ofInteger("minItems")],["maxItems",D.ofInteger("maxItems")],["uniqueItems",D.ofBoolean("uniqueItems")],["additionalItems",new D().setName(P).setNamespace(l.SYSTEM).setAnyOf([D.ofBoolean(P),D.ofObject(P).setRef(L)])],["$defs",D.of("$defs",p.OBJECT).setAdditionalProperties(new C().setSchemaValue(D.ofRef(L)))],["permission",D.ofString("permission")],["details",D.ofObject("details")]])).setRequired([])}static ofString(e){return new D().setType(d.of(p.STRING)).setName(e)}static ofInteger(e){return new D().setType(d.of(p.INTEGER)).setName(e)}static ofFloat(e){return new D().setType(d.of(p.FLOAT)).setName(e)}static ofLong(e){return new D().setType(d.of(p.LONG)).setName(e)}static ofDouble(e){return new D().setType(d.of(p.DOUBLE)).setName(e)}static ofAny(e){return new D().setType(d.of(p.INTEGER,p.LONG,p.FLOAT,p.DOUBLE,p.STRING,p.BOOLEAN,p.ARRAY,p.NULL,p.OBJECT)).setName(e)}static ofAnyNotNull(e){return new D().setType(d.of(p.INTEGER,p.LONG,p.FLOAT,p.DOUBLE,p.STRING,p.BOOLEAN,p.ARRAY,p.OBJECT)).setName(e)}static ofNumber(e){return new D().setType(d.of(p.INTEGER,p.LONG,p.FLOAT,p.DOUBLE)).setName(e)}static ofBoolean(e){return new D().setType(d.of(p.BOOLEAN)).setName(e)}static of(e,...t){return new D().setType(d.of(...t)).setName(e)}static ofObject(e){return new D().setType(d.of(p.OBJECT)).setName(e)}static ofRef(e){return new D().setRef(e)}static ofArray(e,...t){return new D().setType(d.of(p.ARRAY)).setName(e).setItems(g.of(...t))}static fromListOfSchemas(e){if(h(e)&&!Array.isArray(e))return;let t=[];for(let r of Array.from(e)){let e=D.from(r);e&&t.push(e)}return t}static fromMapOfSchemas(e){if(h(e))return;let t=new Map;return Object.entries(e).forEach(([e,r])=>{let s=D.from(r);s&&t.set(e,s)}),t}static from(e,t=!1){if(h(e))return;let r=new D;return r.namespace=e.namespace??"_",r.name=e.name,r.version=e.version??1,r.ref=e.ref,t?r.type=new w(p.STRING):r.type=d.from(e.type),r.anyOf=D.fromListOfSchemas(e.anyOf),r.allOf=D.fromListOfSchemas(e.allOf),r.oneOf=D.fromListOfSchemas(e.oneOf),r.not=D.from(e.not),r.description=e.description,r.examples=e.examples?[...e.examples]:void 0,r.defaultValue=e.defaultValue,r.comment=e.comment,r.enums=e.enums?[...e.enums]:void 0,r.constant=e.constant,r.pattern=e.pattern,r.format=e.format,r.minLength=e.minLength,r.maxLength=e.maxLength,r.multipleOf=e.multipleOf,r.minimum=e.minimum,r.maximum=e.maximum,r.exclusiveMinimum=e.exclusiveMinimum,r.exclusiveMaximum=e.exclusiveMaximum,r.properties=D.fromMapOfSchemas(e.properties),r.additionalProperties=C.from(e.additionalProperties),r.required=e.required,r.propertyNames=D.from(e.propertyNames,!0),r.minProperties=e.minProperties,r.maxProperties=e.maxProperties,r.patternProperties=D.fromMapOfSchemas(e.patternProperties),r.items=g.from(e.items),r.additionalItems=C.from(e.additionalItems),r.contains=D.from(e.contains),r.minContains=e.minContains,r.maxContains=e.maxContains,r.minItems=e.minItems,r.maxItems=e.maxItems,r.uniqueItems=e.uniqueItems,r.$defs=D.fromMapOfSchemas(e.$defs),r.permission=e.permission,r.details=e.details?new Map(Object.entries(e.details)):void 0,r}constructor(e){if(this.namespace="_",this.version=1,!e)return;this.namespace=e.namespace,this.name=e.name,this.version=e.version,this.ref=e.ref,h(e.type)||(this.type=e.type instanceof w?new w(e.type):new S(e.type)),this.anyOf=e.anyOf?.map(e=>new D(e)),this.allOf=e.allOf?.map(e=>new D(e)),this.oneOf=e.oneOf?.map(e=>new D(e)),this.not=this.not?new D(this.not):void 0,this.description=e.description,this.examples=e.examples?JSON.parse(JSON.stringify(e.examples)):void 0,this.defaultValue=e.defaultValue?JSON.parse(JSON.stringify(e.defaultValue)):void 0,this.comment=e.comment,this.enums=e.enums?[...e.enums]:void 0,this.constant=e.constant?JSON.parse(JSON.stringify(e.constant)):void 0,this.pattern=e.pattern,this.format=e.format,this.minLength=e.minLength,this.maxLength=e.maxLength,this.multipleOf=e.multipleOf,this.minimum=e.minimum,this.maximum=e.maximum,this.exclusiveMinimum=e.exclusiveMinimum,this.exclusiveMaximum=e.exclusiveMaximum,this.properties=e.properties?new Map(Array.from(e.properties.entries()).map(e=>[e[0],new D(e[1])])):void 0,this.additionalProperties=e.additionalProperties?new C(e.additionalProperties):void 0,this.required=e.required?[...e.required]:void 0,this.propertyNames=e.propertyNames?new D(e.propertyNames):void 0,this.minProperties=e.minProperties,this.maxProperties=e.maxProperties,this.patternProperties=e.patternProperties?new Map(Array.from(e.patternProperties.entries()).map(e=>[e[0],new D(e[1])])):void 0,this.items=e.items?new g(e.items):void 0,this.contains=e.contains?new D(this.contains):void 0,this.minContains=e.minContains,this.maxContains=e.maxContains,this.minItems=e.minItems,this.maxItems=e.maxItems,this.uniqueItems=e.uniqueItems,this.additionalItems=e.additionalItems?new C(e.additionalItems):void 0,this.$defs=e.$defs?new Map(Array.from(e.$defs.entries()).map(e=>[e[0],new D(e[1])])):void 0,this.permission=e.permission,this.details=e.details?new Map(JSON.parse(JSON.stringify(Array.from(e.details.values())))):void 0}getTitle(){return this.namespace&&"_"!=this.namespace?this.namespace+"."+this.name:this.name}getFullName(){return this.namespace+"."+this.name}get$defs(){return this.$defs}set$defs(e){return this.$defs=e,this}getNamespace(){return this.namespace}setNamespace(e){return this.namespace=e,this}getName(){return this.name}setName(e){return this.name=e,this}getVersion(){return this.version}setVersion(e){return this.version=e,this}getRef(){return this.ref}setRef(e){return this.ref=e,this}getType(){return this.type}setType(e){return this.type=e,this}getAnyOf(){return this.anyOf}setAnyOf(e){return this.anyOf=e,this}getAllOf(){return this.allOf}setAllOf(e){return this.allOf=e,this}getOneOf(){return this.oneOf}setOneOf(e){return this.oneOf=e,this}getNot(){return this.not}setNot(e){return this.not=e,this}getDescription(){return this.description}setDescription(e){return this.description=e,this}getExamples(){return this.examples}setExamples(e){return this.examples=e,this}getDefaultValue(){return this.defaultValue}setDefaultValue(e){return this.defaultValue=e,this}getComment(){return this.comment}setComment(e){return this.comment=e,this}getEnums(){return this.enums}setEnums(e){return this.enums=e,this}getConstant(){return this.constant}setConstant(e){return this.constant=e,this}getPattern(){return this.pattern}setPattern(e){return this.pattern=e,this}getFormat(){return this.format}setFormat(e){return this.format=e,this}getMinLength(){return this.minLength}setMinLength(e){return this.minLength=e,this}getMaxLength(){return this.maxLength}setMaxLength(e){return this.maxLength=e,this}getMultipleOf(){return this.multipleOf}setMultipleOf(e){return this.multipleOf=e,this}getMinimum(){return this.minimum}setMinimum(e){return this.minimum=e,this}getMaximum(){return this.maximum}setMaximum(e){return this.maximum=e,this}getExclusiveMinimum(){return this.exclusiveMinimum}setExclusiveMinimum(e){return this.exclusiveMinimum=e,this}getExclusiveMaximum(){return this.exclusiveMaximum}setExclusiveMaximum(e){return this.exclusiveMaximum=e,this}getProperties(){return this.properties}setProperties(e){return this.properties=e,this}getAdditionalProperties(){return this.additionalProperties}setAdditionalProperties(e){return this.additionalProperties=e,this}getAdditionalItems(){return this.additionalItems}setAdditionalItems(e){return this.additionalItems=e,this}getRequired(){return this.required}setRequired(e){return this.required=e,this}getPropertyNames(){return this.propertyNames}setPropertyNames(e){return this.propertyNames=e,this.propertyNames.type=new w(p.STRING),this}getMinProperties(){return this.minProperties}setMinProperties(e){return this.minProperties=e,this}getMaxProperties(){return this.maxProperties}setMaxProperties(e){return this.maxProperties=e,this}getPatternProperties(){return this.patternProperties}setPatternProperties(e){return this.patternProperties=e,this}getItems(){return this.items}setItems(e){return this.items=e,this}getContains(){return this.contains}setContains(e){return this.contains=e,this}getMinContains(){return this.minContains}setMinContains(e){return this.minContains=e,this}getMaxContains(){return this.maxContains}setMaxContains(e){return this.maxContains=e,this}getMinItems(){return this.minItems}setMinItems(e){return this.minItems=e,this}getMaxItems(){return this.maxItems}setMaxItems(e){return this.maxItems=e,this}getUniqueItems(){return this.uniqueItems}setUniqueItems(e){return this.uniqueItems=e,this}getPermission(){return this.permission}setPermission(e){return this.permission=e,this}getDetails(){return this.details}setDetails(e){return this.details=e,this}}var b={};E(b,"Parameter",()=>k);var G={};E(G,"SchemaReferenceException",()=>F);class F extends Error{constructor(e,t,r){super(e.trim()?e+"-"+t:t),this.schemaPath=e,this.cause=r}getSchemaPath(){return this.schemaPath}getCause(){return this.cause}}var Y={};E(Y,"ParameterType",()=>B);var B=((t={}).CONSTANT="CONSTANT",t.EXPRESSION="EXPRESSION",t);const H="value";class k{static{this.SCHEMA_NAME="Parameter"}static{this.SCHEMA=new D().setNamespace(l.SYSTEM).setName(k.SCHEMA_NAME).setProperties(new Map([["schema",D.SCHEMA],["parameterName",D.ofString("parameterName")],["variableArgument",D.of("variableArgument",p.BOOLEAN).setDefaultValue(!1)],["type",D.ofString("type").setEnums(["EXPRESSION","CONSTANT"])]]))}static{this.EXPRESSION=new D().setNamespace(l.SYSTEM).setName("ParameterExpression").setType(d.of(p.OBJECT)).setProperties(new Map([["isExpression",D.ofBoolean("isExpression").setDefaultValue(!0)],[H,D.ofAny(H)]]))}constructor(e,t){if(this.variableArgument=!1,this.type=B.EXPRESSION,e instanceof k)this.schema=new D(e.schema),this.parameterName=e.parameterName,this.variableArgument=e.variableArgument,this.type=e.type;else{if(!t)throw Error("Unknown constructor signature");this.schema=t,this.parameterName=e}}getSchema(){return this.schema}setSchema(e){return this.schema=e,this}getParameterName(){return this.parameterName}setParameterName(e){return this.parameterName=e,this}isVariableArgument(){return this.variableArgument}setVariableArgument(e){return this.variableArgument=e,this}getType(){return this.type}setType(e){return this.type=e,this}static ofEntry(e,t,r=!1,s=B.EXPRESSION){return[e,new k(e,t).setType(s).setVariableArgument(r)]}static of(e,t,r=!1,s=B.EXPRESSION){return new k(e,t).setType(s).setVariableArgument(r)}static from(e){let t=D.from(e.schema);if(!t)throw new F("","Parameter requires Schema");return new k(e.parameterName,t).setVariableArgument(!!e.variableArgument).setType(e.type??B.EXPRESSION)}}var $={};E($,"MapUtil",()=>j),E($,"MapEntry",()=>W);class j{static of(e,t,r,s,n,a,i,o,E,u,A,T,l,m,R,g,c,p,N,f){let _=new Map;return h(e)||h(t)||_.set(e,t),h(r)||h(s)||_.set(r,s),h(n)||h(a)||_.set(n,a),h(i)||h(o)||_.set(i,o),h(E)||h(u)||_.set(E,u),h(A)||h(T)||_.set(A,T),h(l)||h(m)||_.set(l,m),h(R)||h(g)||_.set(R,g),h(c)||h(p)||_.set(c,p),h(N)||h(f)||_.set(N,f),_}static ofArrayEntries(...e){let t=new Map;for(let[r,s]of e)t.set(r,s);return t}static entry(e,t){return new W(e,t)}static ofEntries(...e){let t=new Map;for(let r of e)t.set(r.k,r.v);return t}static ofEntriesArray(...e){let t=new Map;for(let r=0;r<e.length;r++)t.set(e[r][0],e[r][1]);return t}constructor(){}}class W{constructor(e,t){this.k=e,this.v=t}}class X{constructor(){this.map=new Map([["any",D.ofAny("any").setNamespace(l.SYSTEM)],["boolean",D.ofBoolean("boolean").setNamespace(l.SYSTEM)],["double",D.ofDouble("double").setNamespace(l.SYSTEM)],["float",D.ofFloat("float").setNamespace(l.SYSTEM)],["integer",D.ofInteger("integer").setNamespace(l.SYSTEM)],["long",D.ofLong("long").setNamespace(l.SYSTEM)],["number",D.ofNumber("number").setNamespace(l.SYSTEM)],["string",D.ofString("string").setNamespace(l.SYSTEM)],["Timestamp",D.ofString("Timestamp").setNamespace(l.DATE)],["Timeunit",D.ofString("Timeunit").setNamespace(l.DATE).setEnums(["YEARS","QUARTERS","MONTHS","WEEKS","DAYS","HOURS","MINUTES","SECONDS","MILLISECONDS"])],["Duration",D.ofObject("Duration").setNamespace(l.DATE).setProperties(j.ofArrayEntries(["years",D.ofNumber("years")],["quarters",D.ofNumber("quarters")],["months",D.ofNumber("months")],["weeks",D.ofNumber("weeks")],["days",D.ofNumber("days")],["hours",D.ofNumber("hours")],["minutes",D.ofNumber("minutes")],["seconds",D.ofNumber("seconds")],["milliseconds",D.ofNumber("milliseconds")])).setAdditionalItems(C.from(!1))],["TimeObject",D.ofObject("TimeObject").setNamespace(l.DATE).setProperties(j.ofArrayEntries(["year",D.ofNumber("year")],["month",D.ofNumber("month")],["day",D.ofNumber("day")],["hour",D.ofNumber("hour")],["minute",D.ofNumber("minute")],["second",D.ofNumber("second")],["millisecond",D.ofNumber("millisecond")])).setAdditionalItems(C.from(!1))],[k.EXPRESSION.getName(),k.EXPRESSION],[D.NULL.getName(),D.NULL],[D.SCHEMA.getName(),D.SCHEMA]]),this.filterableNames=Array.from(this.map.values()).map(e=>e.getFullName())}async find(e,t){return l.SYSTEM!=e&&l.DATE!=e?Promise.resolve(void 0):Promise.resolve(this.map.get(t))}async filter(e){return Promise.resolve(this.filterableNames.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}var J={};function q(e){return[e.getSignature().getName(),e]}E(J,"KIRunFunctionRepository",()=>nB);var z={};E(z,"EventResult",()=>Z);var K={};E(K,"Event",()=>Q);class Q{static{this.OUTPUT="output"}static{this.ERROR="error"}static{this.ITERATION="iteration"}static{this.TRUE="true"}static{this.FALSE="false"}static{this.SCHEMA_NAME="Event"}static{this.SCHEMA=new D().setNamespace(l.SYSTEM).setName(Q.SCHEMA_NAME).setType(d.of(p.OBJECT)).setProperties(new Map([["name",D.ofString("name")],["parameters",D.ofObject("parameter").setAdditionalProperties(new C().setSchemaValue(D.SCHEMA))]]))}constructor(e,t){if(e instanceof Q)this.name=e.name,this.parameters=new Map(Array.from(e.parameters.entries()).map(e=>[e[0],new D(e[1])]));else{if(this.name=e,!t)throw Error("Unknown constructor format");this.parameters=t}}getName(){return this.name}setName(e){return this.name=e,this}getParameters(){return this.parameters}setParameters(e){return this.parameters=e,this}static outputEventMapEntry(e){return Q.eventMapEntry(Q.OUTPUT,e)}static eventMapEntry(e,t){return[e,new Q(e,t)]}static from(e){return new Q(e.name,new Map(Object.entries(e.parameters??{}).map(e=>{let t=D.from(e[1]);if(!t)throw new F("","Event expects a schema");return[e[0],t]})))}}class Z{constructor(e,t){this.name=e,this.result=t}getName(){return this.name}setName(e){return this.name=e,this}getResult(){return this.result}setResult(e){return this.result=e,this}static outputOf(e){return Z.of(Q.OUTPUT,e)}static of(e,t){return new Z(e,t)}}var ee={};E(ee,"FunctionOutput",()=>es);var et={};E(et,"KIRuntimeException",()=>er);class er extends Error{constructor(e,t){super(e),this.cause=t}getCause(){return this.cause}}class es{constructor(e){if(this.index=0,h(e))throw new er("Function output is generating null");Array.isArray(e)&&e.length&&e[0]instanceof Z?this.fo=e:(this.fo=[],Array.isArray(e)||(this.generator=e))}next(){if(!this.generator)return this.index<this.fo.length?this.fo[this.index++]:void 0;let e=this.generator.next();return e&&this.fo.push(e),e}allResults(){return this.fo}}var en={};E(en,"FunctionSignature",()=>ea);class ea{static{this.SCHEMA_NAME="FunctionSignature"}static{this.SCHEMA=new D().setNamespace(l.SYSTEM).setName(ea.SCHEMA_NAME).setProperties(new Map([["name",D.ofString("name")],["namespace",D.ofString("namespace")],["parameters",D.ofObject("parameters").setAdditionalProperties(new C().setSchemaValue(k.SCHEMA))],["events",D.ofObject("events").setAdditionalProperties(new C().setSchemaValue(Q.SCHEMA))]]))}constructor(e){this.namespace="_",this.parameters=new Map,this.events=new Map,e instanceof ea?(this.name=e.name,this.namespace=e.namespace,this.parameters=new Map(Array.from(e.parameters.entries()).map(e=>[e[0],new k(e[1])])),this.events=new Map(Array.from(e.events.entries()).map(e=>[e[0],new Q(e[1])]))):this.name=e}getNamespace(){return this.namespace}setNamespace(e){return this.namespace=e,this}getName(){return this.name}setName(e){return this.name=e,this}getParameters(){return this.parameters}setParameters(e){return this.parameters=e,this}getEvents(){return this.events}setEvents(e){return this.events=e,this}getFullName(){return this.namespace+"."+this.name}}var ei={};E(ei,"AbstractFunction",()=>e0);var eo={};E(eo,"SchemaValidator",()=>eZ);var eE={};E(eE,"deepEqual",()=>eR);var eu={};E(eu,"LinkedList",()=>el);var eA={};E(eA,"StringFormatter",()=>eT);class eT{static format(e,...t){if(!t||0==t.length)return e;let r="",s=0,n="",a=n,i=e.length;for(let o=0;o<i;o++)"$"==(n=e.charAt(o))&&"\\"==a?r=r.substring(0,o-1)+n:"$"==n&&s<t.length?r+=t[s++]:r+=n,a=n;return r.toString()}constructor(){}}class el{constructor(e){if(this.head=void 0,this.tail=void 0,this.length=0,e?.length){for(let t of e)if(this.head){let e=new em(t,this.tail);this.tail.next=e,this.tail=e}else this.tail=this.head=new em(t);this.length=e.length}}push(e){let t=new em(e,void 0,this.head);this.head?(this.head.previous=t,this.head=t):this.tail=this.head=t,this.length++}pop(){if(!this.head)throw Error("List is empty and cannot pop further.");let e=this.head.value;if(this.length--,this.head==this.tail)return this.head=this.tail=void 0,e;let t=this.head;return this.head=t.next,t.next=void 0,t.previous=void 0,this.head.previous=void 0,e}isEmpty(){return!this.length}size(){return this.length}get(e){if(e<0||e>=this.length)throw Error(`${e} is out of bounds [0,${this.length}]`);let t=this.head;for(;e>0;)t=this.head.next,--e;return t.value}set(e,t){if(e<0||e>=this.length)throw new er(eT.format("Index $ out of bound to set the value in linked list.",e));let r=this.head;for(;e>0;)r=this.head.next,--e;return r.value=t,this}toString(){let e=this.head,t="";for(;e;)t+=e.value,(e=e.next)&&(t+=", ");return`[${t}]`}toArray(){let e=[],t=this.head;for(;t;)e.push(t.value),t=t.next;return e}peek(){if(!this.head)throw Error("List is empty so cannot peak");return this.head.value}peekLast(){if(!this.tail)throw Error("List is empty so cannot peak");return this.tail.value}getFirst(){if(!this.head)throw Error("List is empty so cannot get first");return this.head.value}removeFirst(){return this.pop()}removeLast(){if(!this.tail)throw Error("List is empty so cannot remove");--this.length;let e=this.tail.value;if(0==this.length)this.head=this.tail=void 0;else{let e=this.tail.previous;e.next=void 0,this.tail.previous=void 0,this.tail=e}return e}addAll(e){return e&&e.length&&e.forEach(this.add.bind(this)),this}add(e){return++this.length,this.tail||this.head?this.head===this.tail?(this.tail=new em(e,this.head),this.head.next=this.tail):(this.tail=new em(e,this.tail),this.tail.previous.next=this.tail):this.head=this.tail=new em(e),this}map(e,t){let r=new el,s=this.head,n=0;for(;s;)r.add(e(s.value,n)),s=s.next,++n;return r}indexOf(e){let t=this.head,r=0;for(;t;){if(eR(t.value,e))return r;t=t.next,++r}return -1}forEach(e,t){let r=this.head,s=0;for(;r;)e(r.value,s),r=r.next,++s}}class em{constructor(e,t,r){this.value=e,this.next=r,this.previous=t}toString(){return""+this.value}}function eR(e,t){let r=new el;r.push(e);let s=new el;for(s.push(t);!r.isEmpty()&&!s.isEmpty();){let e=r.pop(),t=s.pop();if(e===t)continue;let n=typeof e,a=typeof t;if("undefined"===n||"undefined"===a){if(!e&&!t)continue;return!1}if(n!==a)return!1;if(Array.isArray(e)){if(!Array.isArray(t)||e.length!=t.length)return!1;for(let n=0;n<e.length;n++)r.push(e[n]),s.push(t[n]);continue}if("object"===n){if("object"!==a||null===e||null===t)return!1;let n=Object.entries(e),i=Object.entries(t);if(n.length!==i.length)return!1;for(let[e,a]of n)r.push(a),s.push(t[e]);continue}return!1}return!0}var eh={};E(eh,"StringUtil",()=>eg);class eg{constructor(){}static nthIndex(e,t,r=0,s){if(!e)throw new er("String cannot be null");if(r<0||r>=e.length)throw new er(eT.format("Cannot search from index : $",r));if(s<=0||s>e.length)throw new er(eT.format("Cannot search for occurance : $",s));for(;r<e.length;){if(e.charAt(r)==t&&0==--s)return r;++r}return -1}static splitAtFirstOccurance(e,t){if(!e)return[void 0,void 0];let r=e.indexOf(t);return -1==r?[e,void 0]:[e.substring(0,r),e.substring(r+1)]}static splitAtLastOccurance(e,t){if(!e)return[void 0,void 0];let r=e.lastIndexOf(t);return -1==r?[e,void 0]:[e.substring(0,r),e.substring(r+1)]}static isNullOrBlank(e){return!e||""==e.trim()}}var ec={};E(ec,"SchemaUtil",()=>eO);var ep={};E(ep,"Tuple2",()=>eN),E(ep,"Tuple3",()=>ef),E(ep,"Tuple4",()=>e_);class eN{constructor(e,t){this.f=e,this.s=t}getT1(){return this.f}getT2(){return this.s}setT1(e){return this.f=e,this}setT2(e){return this.s=e,this}}class ef extends eN{constructor(e,t,r){super(e,t),this.t=r}getT3(){return this.t}setT1(e){return this.f=e,this}setT2(e){return this.s=e,this}setT3(e){return this.t=e,this}}class e_ extends ef{constructor(e,t,r,s){super(e,t,r),this.fr=s}getT4(){return this.fr}setT1(e){return this.f=e,this}setT2(e){return this.s=e,this}setT3(e){return this.t=e,this}setT4(e){return this.fr=e,this}}var eM={};E(eM,"SchemaValidationException",()=>eS);class eS extends Error{constructor(e,t,r=[],s){super(t+(r?r.map(e=>e.message).reduce((e,t)=>e+"\n"+t,""):"")),this.schemaPath=e,this.cause=s}getSchemaPath(){return this.schemaPath}getCause(){return this.cause}}class eO{static{this.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH="Unable to retrive schema from referenced path"}static{this.CYCLIC_REFERENCE_LIMIT_COUNTER=20}static async getDefaultValue(e,t){if(e)return e.getConstant()?e.getConstant():h(e.getDefaultValue())?eO.getDefaultValue(await eO.getSchemaFromRef(e,t,e.getRef()),t):e.getDefaultValue()}static async hasDefaultValueOrNullSchemaType(e,t){return e?e.getConstant()||!h(e.getDefaultValue())?Promise.resolve(!0):h(e.getRef())?e.getType()?.getAllowedSchemaTypes().has(p.NULL)?Promise.resolve(!0):Promise.resolve(!1):this.hasDefaultValueOrNullSchemaType(await eO.getSchemaFromRef(e,t,e.getRef()),t):Promise.resolve(!1)}static async getSchemaFromRef(e,t,r,s=0){if(++s==eO.CYCLIC_REFERENCE_LIMIT_COUNTER)throw new eS(r??"","Schema has a cyclic reference");if(!e||!r||eg.isNullOrBlank(r))return Promise.resolve(void 0);if(!r.startsWith("#")){var n=await eO.resolveExternalSchema(e,t,r);n&&(e=n.getT1(),r=n.getT2())}let a=r.split("/");return 1===a.length?Promise.resolve(e):Promise.resolve(eO.resolveInternalSchema(e,t,r,s,a,1))}static async resolveInternalSchema(e,t,r,s,n,a){let i=e;if(a!==n.length){for(;a<n.length;){if("$defs"===n[a]){if(++a>=n.length||!i.get$defs())throw new F(r,eO.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH);i=i.get$defs()?.get(n[a])}else{if(i&&(!i.getType()?.contains(p.OBJECT)||!i.getProperties()))throw new F(r,"Cannot retrievie schema from non Object type schemas");i=i.getProperties()?.get(n[a])}if(a++,!i||!eg.isNullOrBlank(i.getRef())&&!(i=await eO.getSchemaFromRef(i,t,i.getRef(),s)))throw new F(r,eO.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH)}return Promise.resolve(i)}}static async resolveExternalSchema(e,t,r){if(!t)return Promise.resolve(void 0);let s=eg.splitAtFirstOccurance(r??"","/");if(!s[0])return Promise.resolve(void 0);let n=eg.splitAtLastOccurance(s[0],".");if(!n[0]||!n[1])return Promise.resolve(void 0);let a=await t.find(n[0],n[1]);if(!a)return Promise.resolve(void 0);if(!s[1]||""===s[1])return Promise.resolve(new eN(a,r));if(r="#/"+s[1],!a)throw new F(r,eO.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH);return Promise.resolve(new eN(a,r))}constructor(){}}var ew={};E(ew,"AnyOfAllOfOneOfValidator",()=>ed);class ed{static async validate(e,t,r,s,n,a){let i=[];return t.getOneOf()&&!t.getOneOf()?await ed.oneOf(e,t,r,s,i,n,a):t.getAllOf()&&!t.getAllOf()?await ed.allOf(e,t,r,s,i,n,a):t.getAnyOf()&&!t.getAnyOf()?await ed.anyOf(e,t,r,s,i,n,a):s}static async anyOf(e,t,r,s,n,a,i){let o=!1;for(let E of t.getAnyOf()??[])try{await ed.validate(e,E,r,s,a,i),o=!0;break}catch(e){o=!1,n.push(e)}if(o)return s;throw new eS(eZ.path(e),"The value don't satisfy any of the schemas.",n)}static async allOf(e,t,r,s,n,a,i){let o=0;for(let E of t.getAllOf()??[])try{await ed.validate(e,E,r,s,a,i),o++}catch(e){n.push(e)}if(o===t.getAllOf()?.length)return s;throw new eS(eZ.path(e),"The value doesn't satisfy some of the schemas.",n)}static async oneOf(e,t,r,s,n,a,i){let o=0;for(let E of t.getOneOf()??[])try{await ed.validate(e,E,r,s,a,i),o++}catch(e){n.push(e)}if(1===o)return s;throw new eS(eZ.path(e),0==o?"The value does not satisfy any schema":"The value satisfy more than one schema",n)}constructor(){}}var eI={};E(eI,"TypeValidator",()=>eQ);var eP={};E(eP,"ArrayValidator",()=>ey);class ey{static async validate(e,t,r,s,n,a){if(h(s))throw new eS(eZ.path(e),"Expected an array but found null");if(!Array.isArray(s))throw new eS(eZ.path(e),s.toString()+" is not an Array");return ey.checkMinMaxItems(e,t,s),await ey.checkItems(e,t,r,s,n,a),ey.checkUniqueItems(e,t,s),await ey.checkContains(t,e,r,s),s}static async checkContains(e,t,r,s){if(h(e.getContains()))return;let n=await ey.countContains(t,e,r,s,h(e.getMinContains())&&h(e.getMaxContains()));if(0===n)throw new eS(eZ.path(t),"None of the items are of type contains schema");if(!h(e.getMinContains())&&e.getMinContains()>n)throw new eS(eZ.path(t),"The minimum number of the items of type contains schema should be "+e.getMinContains()+" but found "+n);if(!h(e.getMaxContains())&&e.getMaxContains()<n)throw new eS(eZ.path(t),"The maximum number of the items of type contains schema should be "+e.getMaxContains()+" but found "+n)}static async countContains(e,t,r,s,n){let a=0;for(let i=0;i<s.length;i++){let o=e?[...e]:[];try{if(await eZ.validate(o,t.getContains(),r,s[i]),a++,n)break}catch(e){}}return a}static checkUniqueItems(e,t,r){if(t.getUniqueItems()&&t.getUniqueItems()&&new Set(r).size!==r.length)throw new eS(eZ.path(e),"Items on the array are not unique")}static checkMinMaxItems(e,t,r){if(t.getMinItems()&&t.getMinItems()>r.length)throw new eS(eZ.path(e),"Array should have minimum of "+t.getMinItems()+" elements");if(t.getMaxItems()&&t.getMaxItems()<r.length)throw new eS(eZ.path(e),"Array can have maximum of "+t.getMaxItems()+" elements")}static async checkItems(e,t,r,s,n,a){if(!t.getItems())return;let i=t.getItems();if(i.getSingleSchema())for(let t=0;t<s.length;t++){let o=e?[...e]:[];s[t]=await eZ.validate(o,i.getSingleSchema(),r,s[t],n,a)}if(i.getTupleSchema()){if(i.getTupleSchema().length!==s.length&&h(t?.getAdditionalItems()))throw new eS(eZ.path(e),"Expected an array with only "+i.getTupleSchema().length+" but found "+s.length);await this.checkItemsInTupleSchema(e,r,s,i),await this.checkAdditionalItems(e,t,r,s,i)}}static async checkItemsInTupleSchema(e,t,r,s,n,a){for(let i=0;i<s.getTupleSchema()?.length;i++){let o=e?[...e]:[];r[i]=await eZ.validate(o,s.getTupleSchema()[i],t,r[i],n,a)}}static async checkAdditionalItems(e,t,r,s,n){if(!h(t.getAdditionalItems())){let a=t.getAdditionalItems();if(a?.getBooleanValue()){let i=D.ofAny("item");if(a?.getBooleanValue()===!1&&s.length>n.getTupleSchema()?.length)throw new eS(eZ.path(e),"No Additional Items are defined");await this.checkEachItemInAdditionalItems(e,t,r,s,n,i)}else if(a?.getSchemaValue()){let i=a.getSchemaValue();await this.checkEachItemInAdditionalItems(e,t,r,s,n,i)}}}static async checkEachItemInAdditionalItems(e,t,r,s,n,a){for(let t=n.getTupleSchema()?.length;t<s.length;t++){let n=e?[...e]:[];s[t]=await eZ.validate(n,a,r,s[t])}}constructor(){}}var ex={};E(ex,"BooleanValidator",()=>eL);class eL{static validate(e,t,r){if(h(r))throw new eS(eZ.path(e),"Expected a boolean but found null");if("boolean"!=typeof r)throw new eS(eZ.path(e),r.toString()+" is not a boolean");return r}constructor(){}}var ev={};E(ev,"NullValidator",()=>eU);class eU{static validate(e,t,r){if(h(r))return r;throw new eS(eZ.path(e),"Expected a null but found "+r)}constructor(){}}var eV={};E(eV,"NumberValidator",()=>eC);class eC{static validate(e,t,r,s){if(h(s))throw new eS(eZ.path(t),"Expected a number but found null");if("number"!=typeof s)throw new eS(eZ.path(t),s.toString()+" is not a "+e);let n=eC.extractNumber(e,t,r,s);return eC.checkRange(t,r,s,n),eC.checkMultipleOf(t,r,s,n),s}static extractNumber(e,t,r,s){let n=s;try{(e==p.LONG||e==p.INTEGER)&&(n=Math.round(n))}catch(r){throw new eS(eZ.path(t),s+" is not a number of type "+e,r)}if(h(n)||(e==p.LONG||e==p.INTEGER)&&n!=s)throw new eS(eZ.path(t),s.toString()+" is not a number of type "+e);return n}static checkMultipleOf(e,t,r,s){if(t.getMultipleOf()&&s%t.getMultipleOf()!=0)throw new eS(eZ.path(e),r.toString()+" is not multiple of "+t.getMultipleOf())}static checkRange(e,t,r,s){if(!h(t.getMinimum())&&0>eC.numberCompare(s,t.getMinimum()))throw new eS(eZ.path(e),r.toString()+" should be greater than or equal to "+t.getMinimum());if(!h(t.getMaximum())&&eC.numberCompare(s,t.getMaximum())>0)throw new eS(eZ.path(e),r.toString()+" should be less than or equal to "+t.getMaximum());if(!h(t.getExclusiveMinimum())&&0>=eC.numberCompare(s,t.getExclusiveMinimum()))throw new eS(eZ.path(e),r.toString()+" should be greater than "+t.getExclusiveMinimum());if(!h(t.getExclusiveMaximum())&&eC.numberCompare(s,t.getExclusiveMaximum())>0)throw new eS(eZ.path(e),r.toString()+" should be less than "+t.getExclusiveMaximum())}static numberCompare(e,t){return e-t}constructor(){}}var eD={};E(eD,"ObjectValidator",()=>eb);class eb{static async validate(e,t,r,s,n,a){if(h(s))throw new eS(eZ.path(e),"Expected an object but found null");if("object"!=typeof s||Array.isArray(s))throw new eS(eZ.path(e),s.toString()+" is not an Object");let i=new Set(Object.keys(s));return eb.checkMinMaxProperties(e,t,i),t.getPropertyNames()&&await eb.checkPropertyNameSchema(e,t,r,i),t.getRequired()&&eb.checkRequired(e,t,s),t.getProperties()&&await eb.checkProperties(e,t,r,s,i,n,a),t.getPatternProperties()&&await eb.checkPatternProperties(e,t,r,s,i),t.getAdditionalProperties()&&await eb.checkAdditionalProperties(e,t,r,s,i),s}static async checkPropertyNameSchema(e,t,r,s){for(let n of Array.from(s.values()))try{await eZ.validate(e,t.getPropertyNames(),r,n)}catch(t){throw new eS(eZ.path(e),"Property name '"+n+"' does not fit the property schema")}}static checkRequired(e,t,r){for(let s of t.getRequired()??[])if(h(r[s]))throw new eS(eZ.path(e),s+" is mandatory")}static async checkAdditionalProperties(e,t,r,s,n){let a=t.getAdditionalProperties();if(a.getSchemaValue())for(let t of Array.from(n.values())){let n=e?[...e]:[];s[t]=await eZ.validate(n,a.getSchemaValue(),r,s[t])}else if(!1===a.getBooleanValue()&&n.size)throw new eS(eZ.path(e),Array.from(n)+" is/are additional properties which are not allowed.")}static async checkPatternProperties(e,t,r,s,n){let a=new Map;for(let e of Array.from(t.getPatternProperties().keys()))a.set(e,new RegExp(e));for(let i of Array.from(n.values())){let o=e?[...e]:[];for(let e of Array.from(a.entries()))if(e[1].test(i)){s[i]=await eZ.validate(o,t.getPatternProperties().get(e[0]),r,s[i]),n.delete(i);break}}}static async checkProperties(e,t,r,s,n,a,i){for(let o of Array.from(t.getProperties())){let t=s[o[0]];if(!s.hasOwnProperty(o[0])&&h(t)&&h(await eO.getDefaultValue(o[1],r)))continue;let E=e?[...e]:[];s[o[0]]=await eZ.validate(E,o[1],r,t,a,i),n.delete(o[0])}}static checkMinMaxProperties(e,t,r){if(t.getMinProperties()&&r.size<t.getMinProperties())throw new eS(eZ.path(e),"Object should have minimum of "+t.getMinProperties()+" properties");if(t.getMaxProperties()&&r.size>t.getMaxProperties())throw new eS(eZ.path(e),"Object can have maximum of "+t.getMaxProperties()+" properties")}constructor(){}}var eG={};E(eG,"StringValidator",()=>eB);var eF={};E(eF,"StringFormat",()=>eY);var eY=((r={}).DATETIME="DATETIME",r.TIME="TIME",r.DATE="DATE",r.EMAIL="EMAIL",r.REGEX="REGEX",r);class eB{static{this.TIME=/^([01]?[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?([+-][01][0-9]:[0-5][0-9])?$/}static{this.DATE=/^[0-9]{4,4}-([0][0-9]|[1][0-2])-(0[1-9]|[1-2][1-9]|3[01])$/}static{this.DATETIME=/^[0-9]{4,4}-([0][0-9]|[1][0-2])-(0[1-9]|[1-2][1-9]|3[01])T([01]?[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?([+-][01][0-9]:[0-5][0-9])?$/}static{this.EMAIL=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/}static validate(e,t,r){if(h(r))throw new eS(eZ.path(e),"Expected a string but found "+r);if("string"!=typeof r)throw new eS(eZ.path(e),r.toString()+" is not String");t.getFormat()==eY.TIME?eB.patternMatcher(e,t,r,eB.TIME,"time pattern"):t.getFormat()==eY.DATE?eB.patternMatcher(e,t,r,eB.DATE,"date pattern"):t.getFormat()==eY.DATETIME?eB.patternMatcher(e,t,r,eB.DATETIME,"date time pattern"):t.getFormat()==eY.EMAIL?eB.patternMatcher(e,t,r,eB.EMAIL,"email pattern"):t.getPattern()&&eB.patternMatcher(e,t,r,new RegExp(t.getPattern()),"pattern "+t.getPattern());let s=r.length;if(t.getMinLength()&&s<t.getMinLength())throw new eS(eZ.path(e),"Expected a minimum of "+t.getMinLength()+" characters");if(t.getMaxLength()&&s>t.getMaxLength())throw new eS(eZ.path(e),"Expected a maximum of "+t.getMaxLength()+" characters");return r}static patternMatcher(e,t,r,s,n){if(!s.test(r))throw new eS(eZ.path(e),r.toString()+" is not matched with the "+n)}constructor(){}}var eH=((s={}).STRICT="STRICT",s.LENIENT="LENIENT",s.USE_DEFAULT="USE_DEFAULT",s.SKIP="SKIP",s);const ek=e=>eH[e.toUpperCase()],e$=()=>Object.values(eH);class ej extends Error{constructor(e,t,r,s,n=[],a){super(r+(n?n.map(e=>e.message).reduce((e,t)=>e+"\n"+t,""):"")),this.schemaPath=e,this.source=t??null,this.mode=s??null,this.cause=a}getSchemaPath(){return this.schemaPath}getSource(){return this.source??null}getMode(){return this.mode??null}getCause(){return this.cause}}class eW{static handleUnConvertibleValue(e,t,r,s){return this.handleUnConvertibleValueWithDefault(e,t,r,null,s)}static handleUnConvertibleValueWithDefault(e,t,r,s,n){switch(null===t&&(t=eH.STRICT),t){case eH.STRICT:throw new ej(eZ.path(e),r,n,t);case eH.LENIENT:return null;case eH.USE_DEFAULT:return s;case eH.SKIP:return r;default:throw new ej(eZ.path(e),r,"Invalid conversion mode")}}constructor(){}}class eX{static convert(e,t,r,s){if(h(s))return eW.handleUnConvertibleValueWithDefault(e,r,s,this.getDefault(t),"Expected a string but found null");let n=s??("object"==typeof s?JSON.stringify(s):String(s));return this.getConvertedString(n,r)}static getConvertedString(e,t){return t===eH.STRICT?e.toString():e.trim()}static getDefault(e){return e.getDefaultValue()??null}constructor(){}}class eJ{static convert(e,t,r,s,n){if(h(n))return eW.handleUnConvertibleValueWithDefault(e,s,n,this.getDefault(r),"Expected a number but found null");if("object"==typeof n||"boolean"==typeof n||Array.isArray(n)||"string"==typeof n&&isNaN(n=Number(n)))return eW.handleUnConvertibleValueWithDefault(e,s,n,this.getDefault(r),n+" is not a "+t);let a=this.extractNumber(t,n,s);return null===a?eW.handleUnConvertibleValueWithDefault(e,s,n,this.getDefault(r),n+" is not a "+t):a}static extractNumber(e,t,r){if("number"!=typeof t)return null;switch(e){case p.INTEGER:return this.isInteger(t,r)?Math.floor(t):null;case p.LONG:return this.isLong(t,r)?Math.floor(t):null;case p.DOUBLE:return t;case p.FLOAT:return this.isFloat(t,r)?t:null;default:return null}}static isInteger(e,t){return t!==eH.STRICT?"number"==typeof e:Number.isInteger(e)}static isLong(e,t){return t!==eH.STRICT?"number"==typeof e:Number.isInteger(e)&&e>=Number.MIN_SAFE_INTEGER&&e<=Number.MAX_SAFE_INTEGER}static isFloat(e,t){return t!==eH.STRICT?"number"==typeof e:e>=-Number.MAX_VALUE&&e<=Number.MAX_VALUE}static getDefault(e){return"number"==typeof e.getDefaultValue()?Number(e.getDefaultValue):null}}class eq{static{this.BOOLEAN_MAP={true:!0,t:!0,yes:!0,y:!0,1:!0,false:!1,f:!1,no:!1,n:!1,0:!1}}static convert(e,t,r,s){return null==s?eW.handleUnConvertibleValueWithDefault(e,r,s,this.getDefault(t),"Expected a boolean but found null"):this.getBooleanPrimitive(s)??eW.handleUnConvertibleValueWithDefault(e,r,s,this.getDefault(t),"Unable to convert to boolean")}static getBooleanPrimitive(e){return"boolean"==typeof e?e:"string"==typeof e?this.handleStringValue(e):"number"==typeof e?this.handleNumberValue(e):null}static handleStringValue(e){let t=e.toLowerCase().trim();return eq.BOOLEAN_MAP[t]??null}static handleNumberValue(e){return 0===e||1===e?1===e:null}static getDefault(e){return e.getDefaultValue()??!1}constructor(){}}class ez{static convert(e,t,r,s){return h(s)?s:"string"==typeof s&&"null"===s.toLowerCase()?null:eW.handleUnConvertibleValueWithDefault(e,r,s,null,"Unable to convert to null")}constructor(){}}class eK{static handleValidationError(e,t,r,s,n){switch(t=t??eH.STRICT){case eH.STRICT:throw new eS(eZ.path(e),n);case eH.LENIENT:return null;case eH.USE_DEFAULT:return s;case eH.SKIP:return r}}constructor(){}}class eQ{static async validate(e,t,r,s,n,a,i){return t==p.OBJECT?await eb.validate(e,r,s,n,a,i):t==p.ARRAY?await ey.validate(e,r,s,n,a,i):this.handleTypeValidationAndConversion(e,t,r,n,a,i)}static async handleTypeValidationAndConversion(e,t,r,s,n,a){let i=n?this.convertElement(e,t,r,s,a??eH.STRICT):s;return await this.validateElement(e,t,r,i,a??eH.STRICT)}static convertElement(e,t,r,s,n){if(h(t))return eW.handleUnConvertibleValueWithDefault(e,n,s,r.getDefaultValue()??null,eT.format("$ is not a valid type for conversion.",t));switch(t){case p.STRING:return eX.convert(e,r,n,s);case p.INTEGER:case p.LONG:case p.DOUBLE:case p.FLOAT:return eJ.convert(e,t,r,n,s);case p.BOOLEAN:return eq.convert(e,r,n,s);case p.NULL:return ez.convert(e,r,n,s);default:return eW.handleUnConvertibleValueWithDefault(e,n,s,r.getDefaultValue()??null,eT.format("$ is not a valid type for conversion.",t))}}static validateElement(e,t,r,s,n){if(h(t))return eK.handleValidationError(e,n,s,r.getDefaultValue()??null,eT.format("$ is not a valid type.",t));switch(t){case p.STRING:return eB.validate(e,r,s);case p.INTEGER:case p.LONG:case p.DOUBLE:case p.FLOAT:return eC.validate(t,e,r,s);case p.BOOLEAN:return eL.validate(e,r,s);case p.NULL:return eU.validate(e,r,s);default:return eK.handleValidationError(e,n,s,r.getDefaultValue()??null,eT.format("$ is not a valid type.",t))}}constructor(){}}class eZ{static{this.ORDER={[p.OBJECT]:0,[p.ARRAY]:1,[p.DOUBLE]:2,[p.FLOAT]:3,[p.LONG]:4,[p.INTEGER]:5,[p.STRING]:6,[p.BOOLEAN]:7,[p.NULL]:8}}static path(e){return e?e.map(e=>e.getTitle()??"").filter(e=>!!e).reduce((e,t,r)=>e+(0===r?"":".")+t,""):""}static async validate(e,t,r,s,n,a){if(!t)throw new eS(eZ.path(e),"No schema found to validate");if(e||(e=[]),e.push(t),h(s)&&!h(t.getDefaultValue()))return JSON.parse(JSON.stringify(t.getDefaultValue()));if(!h(t.getConstant()))return eZ.constantValidation(e,t,s);if(t.getEnums()?.length)return eZ.enumCheck(e,t,s);if(t.getFormat()&&h(t.getType()))throw new eS(this.path(e),"Type is missing in schema for declared "+t.getFormat()?.toString()+" format.");if(!0===n&&h(t.getType()))throw new eS(this.path(e),"Type is missing in schema for declared "+a);if(t.getType()&&(s=await eZ.typeValidation(e,t,r,s,n,a)),!eg.isNullOrBlank(t.getRef()))return await eZ.validate(e,await eO.getSchemaFromRef(e[0],r,t.getRef()),r,s,n,a);if((t.getOneOf()||t.getAllOf()||t.getAnyOf())&&(s=await ed.validate(e,t,r,s,n,a)),t.getNot()){let i;try{await eZ.validate(e,t.getNot(),r,s,n,a),i=!0}catch(e){i=!1}if(i)throw new eS(eZ.path(e),"Schema validated value in not condition.")}return s}static constantValidation(e,t,r){if(!eR(t.getConstant(),r))throw new eS(eZ.path(e),"Expecting a constant value : "+r);return r}static enumCheck(e,t,r){let s=!1;for(let e of t.getEnums()??[])if(e===r){s=!0;break}if(s)return r;throw new eS(eZ.path(e),"Value is not one of "+t.getEnums())}static async typeValidation(e,t,r,s,n,a){let i=Array.from(t.getType()?.getAllowedSchemaTypes()?.values()??[]).sort((e,t)=>(this.ORDER[e]??1/0)-(this.ORDER[t]??1/0)),o=[];for(let E of i)try{return await eQ.validate(e,E,t,r,s,n,a)}catch(e){o.push(e)}throw new eS(eZ.path(e),"Value "+JSON.stringify(s)+" is not of valid type(s)",o)}constructor(){}}class e0{async validateArguments(e,t,r){let s=new Map;for(let n of Array.from(this.getSignature().getParameters().entries())){let a=n[1];try{let r=await this.validateArgument(e,t,n,a);s.set(r.getT1(),r.getT2())}catch(t){let e=this.getSignature();throw new er(`Error while executing the function ${e.getNamespace()}.${e.getName()}'s parameter ${a.getParameterName()} with step name '${r?.getStatement().getStatementName()??"Unknown Step"}' with error : ${t?.message}`)}}return s}async validateArgument(e,t,r,s){let n,a=r[0],i=e.get(r[0]);if(h(i)&&!s.isVariableArgument())return new eN(a,await eZ.validate(void 0,s.getSchema(),t,void 0));if(!s?.isVariableArgument())return new eN(a,await eZ.validate(void 0,s.getSchema(),t,i));Array.isArray(i)?n=i:(n=[],h(i)?h(s.getSchema().getDefaultValue())||n.push(s.getSchema().getDefaultValue()):n.push(i));for(let e=0;e<n.length;e++)n[e]=await eZ.validate(void 0,s.getSchema(),t,n[e]);return new eN(a,n)}async execute(e){let t=await this.validateArguments(e.getArguments()??new Map,e.getSchemaRepository(),e.getStatementExecution());e.setArguments(t);try{return await this.internalExecute(e)}catch(r){let t=this.getSignature();throw new er(`Error while executing the function ${t.getNamespace()}.${t.getName()} with step name '${e.getStatementExecution()?.getStatement().getStatementName()??"Unknown Step"}' with error : ${r?.message}`)}}getProbableEventSignature(e){return this.getSignature().getEvents()}}class e1 extends e0{static{this.EVENT_INDEX_NAME="index"}static{this.EVENT_RESULT_NAME="result"}static{this.EVENT_INDEX=new Q(Q.OUTPUT,j.of(e1.EVENT_INDEX_NAME,D.ofInteger(e1.EVENT_INDEX_NAME)))}static{this.EVENT_RESULT_INTEGER=new Q(Q.OUTPUT,j.of(e1.EVENT_RESULT_NAME,D.ofInteger(e1.EVENT_RESULT_NAME)))}static{this.EVENT_RESULT_BOOLEAN=new Q(Q.OUTPUT,j.of(e1.EVENT_RESULT_NAME,D.ofBoolean(e1.EVENT_RESULT_NAME)))}static{this.EVENT_RESULT_ARRAY=new Q(Q.OUTPUT,j.of(e1.EVENT_RESULT_NAME,D.ofArray(e1.EVENT_RESULT_NAME,D.ofAny(e1.EVENT_RESULT_NAME))))}static{this.EVENT_RESULT_EMPTY=new Q(Q.OUTPUT,j.of())}static{this.EVENT_RESULT_ANY=new Q(Q.OUTPUT,j.of(this.EVENT_RESULT_NAME,D.ofAny(this.EVENT_RESULT_NAME)))}static{this.EVENT_RESULT_OBJECT=new Q(Q.OUTPUT,j.of(this.EVENT_RESULT_NAME,D.ofObject(this.EVENT_RESULT_NAME)))}static{this.PARAMETER_INT_LENGTH=k.of("length",D.ofInteger("length").setDefaultValue(-1))}static{this.PARAMETER_ARRAY_FIND=k.of("find",D.ofArray("eachFind",D.ofAny("eachFind")))}static{this.PARAMETER_INT_SOURCE_FROM=k.of("srcFrom",D.ofInteger("srcFrom").setDefaultValue(0).setMinimum(0))}static{this.PARAMETER_INT_SECOND_SOURCE_FROM=k.of("secondSrcFrom",D.ofInteger("secondSrcFrom").setDefaultValue(0))}static{this.PARAMETER_INT_FIND_FROM=k.of("findFrom",D.ofInteger("findFrom").setDefaultValue(0))}static{this.PARAMETER_INT_OFFSET=k.of("offset",D.ofInteger("offset").setDefaultValue(0))}static{this.PARAMETER_ROTATE_LENGTH=k.of("rotateLength",D.ofInteger("rotateLength").setDefaultValue(1).setMinimum(1))}static{this.PARAMETER_BOOLEAN_ASCENDING=k.of("ascending",D.ofBoolean("ascending").setDefaultValue(!0))}static{this.PARAMETER_KEY_PATH=k.of("keyPath",D.ofString("keyPath").setDefaultValue(""))}static{this.PARAMETER_FIND_PRIMITIVE=k.of("findPrimitive",D.of("findPrimitive",p.STRING,p.DOUBLE,p.FLOAT,p.INTEGER,p.LONG))}static{this.PARAMETER_ARRAY_SOURCE=k.of("source",D.ofArray("eachSource",D.ofAny("eachSource")))}static{this.PARAMETER_ARRAY_SECOND_SOURCE=k.of("secondSource",D.ofArray("eachSecondSource",D.ofAny("eachSecondSource")))}static{this.PARAMETER_ARRAY_SOURCE_PRIMITIVE=k.of("source",D.ofArray("eachSource",new D().setName("eachSource").setType(d.of(p.STRING,p.NULL,p.INTEGER,p.FLOAT,p.DOUBLE,p.LONG))))}static{this.PARAMETER_BOOLEAN_DEEP_COPY=k.of("deepCopy",D.ofBoolean("deepCopy").setDefaultValue(!0))}static{this.PARAMETER_ANY=k.of("element",D.ofAny("element"))}static{this.PARAMETER_ANY_ELEMENT_OBJECT=k.of("elementObject",D.ofAny("elementObject"))}static{this.PARAMETER_ANY_VAR_ARGS=k.of("element",D.ofAny("element")).setVariableArgument(!0)}static{this.PARAMETER_ARRAY_RESULT=k.of(e1.EVENT_RESULT_NAME,D.ofArray("eachResult",D.ofAny("eachResult")))}constructor(e,t,r){super();let s=new Map;for(let e of t)s.set(e.getParameterName(),e);this.signature=new ea(e).setNamespace(l.SYSTEM_ARRAY).setParameters(s).setEvents(j.of(r.getName(),r))}getSignature(){return this.signature}}class e2 extends e1{constructor(){super("Concatenate",[e1.PARAMETER_ARRAY_SOURCE,e1.PARAMETER_ARRAY_SECOND_SOURCE],e1.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(e1.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(e1.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName());return new es([Z.outputOf(new Map([[e1.EVENT_RESULT_NAME,[...t,...r]]]))])}}class e9 extends e1{constructor(){super("AddFirst",[e1.PARAMETER_ARRAY_SOURCE,e1.PARAMETER_ANY],e1.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(e1.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(e1.PARAMETER_ANY.getParameterName());if(0==(t=[...t]).length)return t.push(r),new es([Z.outputOf(new Map([]))]);t.push(r);let s=t.length-1;for(;s>0;){let e=t[s-1];t[s-1]=t[s],t[s--]=e}return new es([Z.outputOf(new Map([[e1.EVENT_RESULT_NAME,t]]))])}}const e3="keyName";class e4 extends e1{constructor(){super("ArrayToArrayOfObjects",[e1.PARAMETER_ARRAY_SOURCE,k.of(e3,D.ofString(e3),!0)],e1.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(e4.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(e3);if(!t?.length)return new es([Z.outputOf(new Map([[e1.EVENT_RESULT_NAME,[]]]))]);let s=t.map(e=>{let t={};if(Array.isArray(e)){if(r.length)r.forEach((r,s)=>{t[r]=e[s]});else for(let r=0;r<e.length;r++)t[`value${r+1}`]=e[r]}else t[r.length?r[0]:"value"]=e;return t});return new es([Z.outputOf(new Map([[e1.EVENT_RESULT_NAME,s]]))])}}var e5={};E(e5,"PrimitiveUtil",()=>e8);var e6={};E(e6,"ExecutionException",()=>e7);class e7 extends Error{constructor(e,t){super(e),this.cause=t}getCause(){return this.cause}}class e8{static findPrimitiveNullAsBoolean(e){if(h(e))return new eN(p.BOOLEAN,!1);let t=typeof e;if("object"===t)throw new e7(eT.format("$ is not a primitive type",e));return"boolean"===t?new eN(p.BOOLEAN,e):"string"===t?new eN(p.STRING,e):e8.findPrimitiveNumberType(e)}static findPrimitive(e){if(h(e))return new eN(p.NULL,void 0);let t=typeof e;if("object"===t)throw new e7(eT.format("$ is not a primitive type",e));return"boolean"===t?new eN(p.BOOLEAN,e):"string"===t?new eN(p.STRING,e):e8.findPrimitiveNumberType(e)}static findPrimitiveNumberType(e){if(h(e)||Array.isArray(e)||"object"==typeof e)throw new e7(eT.format("Unable to convert $ to a number.",e));try{if(Number.isInteger(e))return new eN(p.LONG,e);return new eN(p.DOUBLE,e)}catch(t){throw new e7(eT.format("Unable to convert $ to a number.",e),t)}}static compare(e,t){if(e==t)return 0;if(h(e)||h(t))return h(e)?-1:1;if(Array.isArray(e)||Array.isArray(t)){if(Array.isArray(e)&&Array.isArray(t)){if(e.length!=t.length)return e.length-t.length;for(let r=0;r<e.length;r++){let s=this.compare(e[r],t[r]);if(0!=s)return s}return 0}return Array.isArray(e)?-1:1}let r=typeof e,s=typeof t;return"object"===r||"object"===s?("object"===r&&"object"===s&&Object.keys(e).forEach(r=>{let s=this.compare(e[r],t[r]);if(0!=s)return s}),"object"===r?-1:1):this.comparePrimitive(e,t)}static comparePrimitive(e,t){return h(e)||h(t)?h(e)&&h(t)?0:h(e)?-1:1:e==t?0:"boolean"==typeof e||"boolean"==typeof t?e?-1:1:"string"==typeof e||"string"==typeof t?e+""<t+""?-1:1:"number"==typeof e||"number"==typeof t?e-t:0}static baseNumberType(e){return Number.isInteger(e)?p.LONG:p.DOUBLE}static toPrimitiveType(e){return e}constructor(){}}class te extends e1{constructor(){super("BinarySearch",[te.PARAMETER_ARRAY_SOURCE_PRIMITIVE,te.PARAMETER_INT_SOURCE_FROM,te.PARAMETER_FIND_PRIMITIVE,te.PARAMETER_INT_LENGTH],te.EVENT_INDEX)}async internalExecute(e){let t=e?.getArguments()?.get(te.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(te.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(te.PARAMETER_FIND_PRIMITIVE.getParameterName()),n=e?.getArguments()?.get(te.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length||r<0||r>t.length)throw new er("Search source array cannot be empty");if(-1==n&&(n=t.length-r),(n=r+n)>t.length)throw new er("End point for array cannot be more than the size of the source array");let a=-1;for(;r<=n;){let e=Math.floor((r+n)/2);if(0==e8.compare(t[e],s)){a=e;break}e8.compare(t[e],s)>0?n=e-1:r=e+1}return new es([Z.outputOf(new Map([[te.EVENT_INDEX_NAME,a]]))])}}var tt={};E(tt,"ArrayUtil",()=>tr);class tr{static removeAListFrom(e,t){if(!t||!e||!e.length||!t.length)return;let r=new Set(t);for(let t=0;t<e.length;t++)r.has(e[t])&&(e.splice(t,1),t--)}static of(...e){let t=Array(e.length);for(let r=0;r<e.length;r++)t[r]=e[r];return t}constructor(){}}class ts extends e1{constructor(){super("Compare",tr.of(ts.PARAMETER_ARRAY_SOURCE,ts.PARAMETER_INT_SOURCE_FROM,ts.PARAMETER_ARRAY_FIND,ts.PARAMETER_INT_FIND_FROM,ts.PARAMETER_INT_LENGTH),ts.EVENT_RESULT_INTEGER)}async internalExecute(e){var t=e?.getArguments()?.get(ts.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ts.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(ts.PARAMETER_ARRAY_FIND.getParameterName()),n=e?.getArguments()?.get(ts.PARAMETER_INT_FIND_FROM.getParameterName()),a=e?.getArguments()?.get(ts.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length)throw new er("Compare source array cannot be empty");if(0==s.length)throw new er("Compare find array cannot be empty");if(-1==a&&(a=t.length-r),r+a>t.length)throw new er(eT.format("Source array size $ is less than comparing size $",t.length,r+a));if(n+a>s.length)throw new er(eT.format("Find array size $ is less than comparing size $",s.length,n+a));return new es(tr.of(Z.outputOf(j.of(ts.EVENT_RESULT_NAME,this.compare(t,r,r+a,s,n,n+a)))))}compare(e,t,r,s,n,a){if(r<t){let e=t;t=r,r=e}if(a<n){let e=n;n=a,a=e}if(r-t!=a-n)throw new er(eT.format("Cannot compare uneven arrays from $ to $ in source array with $ to $ in find array",r,t,a,n));for(let a=t,i=n;a<r;a++,i++){let t=1;if(h(e[a])||h(s[i])){let r=h(e[a]);r==h(s[i])?t=0:r&&(t=-1)}else{let r=typeof e[a],n=typeof s[i];if("object"===r||"object"===n)t=1;else if("string"===r||"string"===n){let r=""+e[a],n=""+s[i];r===n?t=0:r<n&&(t=-1)}else"boolean"===r||"boolean"===n?t=r==n?0:1:"number"===r&&"number"===n&&(t=e[a]-s[i])}if(0!=t)return t}return 0}}var tn={};function ta(e){return e?"function"==typeof globalThis.structuredClone?globalThis.structuredClone(e):JSON.parse(JSON.stringify(e)):e}E(tn,"duplicate",()=>ta);class ti extends e1{constructor(){super("Copy",[ti.PARAMETER_ARRAY_SOURCE,ti.PARAMETER_INT_SOURCE_FROM,ti.PARAMETER_INT_LENGTH,ti.PARAMETER_BOOLEAN_DEEP_COPY],ti.EVENT_RESULT_ARRAY)}async internalExecute(e){var t=e?.getArguments()?.get(ti.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ti.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(ti.PARAMETER_INT_LENGTH.getParameterName());if(-1==s&&(s=t.length-r),r+s>t.length)throw new er(eT.format("Array has no elements from $ to $ as the array size is $",r,r+s,t.length));var n=e?.getArguments()?.get(ti.PARAMETER_BOOLEAN_DEEP_COPY.getParameterName());let a=Array(s);for(let e=r;e<r+s;e++)h(t[e])||(a[e-r]=n?ta(t[e]):t[e]);return new es([Z.outputOf(j.of(ti.EVENT_RESULT_NAME,a))])}}class to extends e1{constructor(){super("Delete",[e1.PARAMETER_ARRAY_SOURCE,e1.PARAMETER_ANY_VAR_ARGS],e1.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(to.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(to.PARAMETER_ANY_VAR_ARGS.getParameterName());if(null==r)throw new er("The deletable var args are empty. So cannot be proceeded further.");if(0==t.length||0==r.length)throw new er("Expected a source or deletable for an array but not found any");let s=new Set;for(let e=t.length-1;e>=0;e--)for(let n=0;n<r.length;n++)s.has(e)||0!=e8.compare(t[e],r[n])||s.add(t[e]);return new es([Z.outputOf(new Map([[e1.EVENT_RESULT_NAME,t.filter(e=>!s.has(e))]]))])}}class tE extends e1{constructor(){super("DeleteFirst",[tE.PARAMETER_ARRAY_SOURCE],tE.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(tE.PARAMETER_ARRAY_SOURCE.getParameterName());if(0==t.length)throw new er("Given source array is empty");return(t=[...t]).shift(),new es([Z.outputOf(new Map([[e1.EVENT_RESULT_NAME,t]]))])}}class tu extends e1{constructor(){super("DeleteFrom",[tu.PARAMETER_ARRAY_SOURCE,tu.PARAMETER_INT_SOURCE_FROM,tu.PARAMETER_INT_LENGTH],tu.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(tu.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tu.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(tu.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length)throw new er("There are no elements to be deleted");if(r>=(t=[...t]).length||r<0)throw new er("The int source for the array should be in between 0 and length of the array ");if(-1==s&&(s=t.length-r),r+s>t.length)throw new er("Requested length to be deleted is more than the size of array ");return t.splice(r,s),new es([Z.outputOf(new Map([[e1.EVENT_RESULT_NAME,t]]))])}}class tA extends e1{constructor(){super("DeleteLast",[tA.PARAMETER_ARRAY_SOURCE],tA.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(tA.PARAMETER_ARRAY_SOURCE.getParameterName());if(0==t.length)throw new er("Given source array is empty");return(t=[...t]).pop(),new es([Z.outputOf(new Map([[e1.EVENT_RESULT_NAME,t]]))])}}class tT extends e1{constructor(){super("Disjoint",[tT.PARAMETER_ARRAY_SOURCE,tT.PARAMETER_INT_SOURCE_FROM,tT.PARAMETER_ARRAY_SECOND_SOURCE,tT.PARAMETER_INT_SECOND_SOURCE_FROM,tT.PARAMETER_INT_LENGTH],tT.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(tT.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tT.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(tT.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),n=e?.getArguments()?.get(tT.PARAMETER_INT_SECOND_SOURCE_FROM.getParameterName()),a=e?.getArguments()?.get(tT.PARAMETER_INT_LENGTH.getParameterName());if(-1==a&&(a=t.length<=s.length?t.length-r:s.length-n),a>t.length||a>s.length||r+a>t.length||n+a>s.length)throw new er("The length which was being requested is more than than the size either source array or second source array");let i=new Set,o=new Set;for(let e=0;e<a;e++)i.add(t[e+r]);for(let e=0;e<a;e++)o.add(s[e+n]);let E=new Set;return i.forEach(e=>{o.has(e)?o.delete(e):E.add(e)}),o.forEach(e=>{i.has(e)||E.add(e)}),new es([Z.outputOf(new Map([[tT.EVENT_RESULT_NAME,[...E]]]))])}}class tl extends e1{constructor(){super("Equals",[tl.PARAMETER_ARRAY_SOURCE,tl.PARAMETER_INT_SOURCE_FROM,tl.PARAMETER_ARRAY_FIND,tl.PARAMETER_INT_FIND_FROM,tl.PARAMETER_INT_LENGTH],tl.EVENT_RESULT_BOOLEAN)}async internalExecute(e){let t=new ts,r=(await t.execute(e)).allResults()[0].getResult().get(tl.EVENT_RESULT_NAME);return new es([Z.outputOf(j.of(tl.EVENT_RESULT_NAME,0==r))])}}class tm extends e1{constructor(){super("Fill",[tm.PARAMETER_ARRAY_SOURCE,tm.PARAMETER_INT_SOURCE_FROM,tm.PARAMETER_INT_LENGTH,tm.PARAMETER_ANY],tm.EVENT_RESULT_ARRAY)}async internalExecute(e){var t=e?.getArguments()?.get(tm.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tm.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(tm.PARAMETER_INT_LENGTH.getParameterName()),n=e?.getArguments()?.get(tm.PARAMETER_ANY.getParameterName());if(r<0)throw new er(eT.format("Arrays out of bound trying to access $ index",r));-1==s&&(s=t.length-r);let a=r+s-t.length;if(t=[...t],a>0)for(let e=0;e<a;e++)t.push();for(let e=r;e<r+s;e++)t[e]=h(n)?n:ta(n);return new es([Z.outputOf(j.of(e1.EVENT_RESULT_NAME,t))])}}class tR extends e1{constructor(){super("Frequency",[tR.PARAMETER_ARRAY_SOURCE,tR.PARAMETER_ANY,tR.PARAMETER_INT_SOURCE_FROM,tR.PARAMETER_INT_LENGTH],tR.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(tR.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tR.PARAMETER_ANY.getParameterName()),s=e?.getArguments()?.get(tR.PARAMETER_INT_SOURCE_FROM.getParameterName()),n=e?.getArguments()?.get(tR.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length)return new es([Z.outputOf(new Map([[tR.EVENT_RESULT_NAME,0]]))]);if(s>t.length)throw new er("Given start point is more than the size of source");let a=s+n;if(-1==n&&(a=t.length-s),a>t.length)throw new er("Given length is more than the size of source");let i=0;for(let e=s;e<a&&e<t.length;e++)0==e8.compare(t[e],r)&&i++;return new es([Z.outputOf(new Map([[tR.EVENT_RESULT_NAME,i]]))])}}class th extends e1{constructor(){super("IndexOf",[th.PARAMETER_ARRAY_SOURCE,th.PARAMETER_ANY_ELEMENT_OBJECT,th.PARAMETER_INT_FIND_FROM],th.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(th.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(th.PARAMETER_ANY_ELEMENT_OBJECT.getParameterName()),s=e?.getArguments()?.get(th.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length)return new es([Z.outputOf(new Map([[th.EVENT_RESULT_NAME,-1]]))]);if(s<0||s>t.length)throw new er("The size of the search index of the array is greater than the size of the array");let n=-1;for(let e=s;e<t.length;e++)if(0==e8.compare(t[e],r)){n=e;break}return new es([Z.outputOf(new Map([[th.EVENT_RESULT_NAME,n]]))])}}class tg extends e1{constructor(){super("IndexOfArray",[tg.PARAMETER_ARRAY_SOURCE,tg.PARAMETER_ARRAY_SECOND_SOURCE,tg.PARAMETER_INT_FIND_FROM],tg.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(tg.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tg.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),s=e?.getArguments()?.get(tg.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length||0==r.length)return new es([Z.outputOf(new Map([[tg.EVENT_RESULT_NAME,-1]]))]);if(s<0||s>t.length||t.length<r.length)throw new er("Given from second source is more than the size of the source array");let n=r.length,a=-1;for(let e=s;e<t.length;e++){let s=0;if(0==e8.compare(t[e],r[s])){for(;s<n&&0==e8.compare(t[e+s],r[s]);)s++;if(s==n){a=e;break}}}return new es([Z.outputOf(new Map([[tg.EVENT_RESULT_NAME,a]]))])}}class tc extends e1{constructor(){super("LastIndexOf",[tc.PARAMETER_ARRAY_SOURCE,tc.PARAMETER_ANY_ELEMENT_OBJECT,tc.PARAMETER_INT_FIND_FROM],tc.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(tc.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tc.PARAMETER_ANY_ELEMENT_OBJECT.getParameterName()),s=e?.getArguments()?.get(tc.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length)return new es([Z.outputOf(new Map([[tc.EVENT_RESULT_NAME,-1]]))]);if(s<0||s>t.length)throw new er("The value of length shouldn't the exceed the size of the array or shouldn't be in terms");let n=-1;for(let e=t.length-1;e>=s;e--)if(0==e8.compare(t[e],r)){n=e;break}return new es([Z.outputOf(new Map([[tc.EVENT_RESULT_NAME,n]]))])}}class tp extends e1{constructor(){super("LastIndexOfArray",[tp.PARAMETER_ARRAY_SOURCE,tp.PARAMETER_ARRAY_SECOND_SOURCE,tp.PARAMETER_INT_FIND_FROM],tp.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(tp.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tp.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),s=e?.getArguments()?.get(tp.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length)return new es([Z.outputOf(new Map([[tp.EVENT_RESULT_NAME,-1]]))]);if(s<0||s>t.length||r.length>t.length)throw new er("Given from index is more than the size of the source array");let n=r.length,a=-1;for(let e=s;e<t.length;e++){let s=0;if(0==e8.compare(t[e],r[s])){for(;s<n&&0==e8.compare(t[e+s],r[s]);)s++;s==n&&(a=e)}}return new es([Z.outputOf(new Map([[tp.EVENT_RESULT_NAME,a]]))])}}class tN extends e1{constructor(){super("Max",[tN.PARAMETER_ARRAY_SOURCE_PRIMITIVE],tN.EVENT_RESULT_ANY)}async internalExecute(e){let t=e?.getArguments()?.get(tN.PARAMETER_ARRAY_SOURCE_PRIMITIVE.getParameterName());if(0==t.length)throw new er("Search source array cannot be empty");let r=t[0];for(let e=1;e<t.length;e++){let s=t[e];e8.comparePrimitive(r,s)>=0||(r=s)}return new es([Z.outputOf(new Map([[tN.EVENT_RESULT_NAME,r]]))])}}class tf extends e1{constructor(){super("Min",[tf.PARAMETER_ARRAY_SOURCE_PRIMITIVE],tf.EVENT_RESULT_ANY)}async internalExecute(e){let t,r=e?.getArguments()?.get(tf.PARAMETER_ARRAY_SOURCE_PRIMITIVE.getParameterName());if(0==r.length)throw new er("Search source array cannot be empty");for(let e=0;e<r.length;e++)!h(r[e])&&(void 0===t||0>e8.comparePrimitive(r[e],t))&&(t=r[e]);return new es([Z.outputOf(new Map([[tf.EVENT_RESULT_NAME,t]]))])}}class t_ extends e1{constructor(){super("MisMatch",[t_.PARAMETER_ARRAY_SOURCE,t_.PARAMETER_INT_FIND_FROM,t_.PARAMETER_ARRAY_SECOND_SOURCE,t_.PARAMETER_INT_SECOND_SOURCE_FROM,t_.PARAMETER_INT_LENGTH],t_.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(t_.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(t_.PARAMETER_INT_FIND_FROM.getParameterName()),s=e?.getArguments()?.get(t_.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),n=e?.getArguments()?.get(t_.PARAMETER_INT_SECOND_SOURCE_FROM.getParameterName()),a=e?.getArguments()?.get(t_.PARAMETER_INT_LENGTH.getParameterName()),i=r<t.length&&r>0?r:0,o=n<s.length&&n>0?n:0;if(i+a>=t.length||o+a>s.length)throw new er("The size of the array for first and second which was being requested is more than size of the given array");let E=-1;for(let e=0;e<a;e++)if(t[i+e]!=s[o+e]){E=e;break}return new es([Z.outputOf(new Map([[t_.EVENT_RESULT_NAME,E]]))])}}class tM extends e1{constructor(){super("Reverse",[tM.PARAMETER_ARRAY_SOURCE,tM.PARAMETER_INT_SOURCE_FROM,tM.PARAMETER_INT_LENGTH],tM.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(tM.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tM.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(tM.PARAMETER_INT_LENGTH.getParameterName());if(-1==s&&(s=t.length-r),s>=t.length||s<0||r<0)throw new er("Please provide start point between the start and end indexes or provide the length which was less than the source size ");t=[...t];let n=r+s-1;for(;r<=n;){let e=t[r],s=t[n];t[r++]=s,t[n--]=e}return new es([Z.outputOf(new Map([[tM.EVENT_RESULT_NAME,t]]))])}}class tS extends e1{constructor(){super("Rotate",[tS.PARAMETER_ARRAY_SOURCE,tS.PARAMETER_ROTATE_LENGTH],tS.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(tS.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tS.PARAMETER_ROTATE_LENGTH.getParameterName());if(0==t.length)return new es([Z.outputOf(new Map([[e1.EVENT_RESULT_NAME,t]]))]);let s=(t=[...t]).length;return r%=s,this.rotate(t,0,r-1),this.rotate(t,r,s-1),this.rotate(t,0,s-1),new es([Z.outputOf(new Map([[e1.EVENT_RESULT_NAME,t]]))])}rotate(e,t,r){for(;t<r;){let s=e[t];e[t++]=e[r],e[r--]=s}}}class tO extends e1{constructor(){super("Shuffle",[tO.PARAMETER_ARRAY_SOURCE],tO.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(tO.PARAMETER_ARRAY_SOURCE.getParameterName());if(t.length<=1)return new es([Z.outputOf(new Map([[e1.EVENT_RESULT_NAME,t]]))]);let r=0,s=(t=[...t]).length;for(let e=0;e<s;e++){let e=Math.floor(Math.random()*s)%s,n=t[r];t[r]=t[e],t[e]=n,r=e}return new es([Z.outputOf(new Map([[e1.EVENT_RESULT_NAME,t]]))])}}var tw={};E(tw,"ObjectValueSetterExtractor",()=>tY);var td={};E(td,"Expression",()=>tb);var tI={};E(tI,"StringBuilder",()=>tP);class tP{constructor(e){this.str=e??""}append(e){return this.str+=e,this}toString(){return""+this.str}trim(){return this.str=this.str.trim(),this}setLength(e){return this.str=this.str.substring(0,e),this}length(){return this.str.length}charAt(e){return this.str.charAt(e)}deleteCharAt(e){return this.checkIndex(e),this.str=this.str.substring(0,e)+this.str.substring(e+1),this}insert(e,t){return this.str=this.str.substring(0,e)+t+this.str.substring(e),this}checkIndex(e){if(e>=this.str.length)throw new er(`Index ${e} is greater than or equal to ${this.str.length}`)}substring(e,t){return this.str.substring(e,t)}}var ty={};E(ty,"ExpressionEvaluationException",()=>tx);class tx extends Error{constructor(e,t,r){super(eT.format("$ : $",e,t)),this.cause=r}getCause(){return this.cause}}var tL={};E(tL,"ExpressionToken",()=>tv);class tv{constructor(e){this.expression=e}getExpression(){return this.expression}toString(){return this.expression}}var tU={};E(tU,"ExpressionTokenValue",()=>tV);class tV extends tv{constructor(e,t){super(e),this.element=t}getTokenValue(){return this.element}getElement(){return this.element}toString(){return eT.format("$: $",this.expression,this.element)}}var tC={};E(tC,"Operation",()=>tD);class tD{static{this.MULTIPLICATION=new tD("*")}static{this.DIVISION=new tD("/")}static{this.INTEGER_DIVISION=new tD("//")}static{this.MOD=new tD("%")}static{this.ADDITION=new tD("+")}static{this.SUBTRACTION=new tD("-")}static{this.NOT=new tD("not",void 0,!0)}static{this.AND=new tD("and",void 0,!0)}static{this.OR=new tD("or",void 0,!0)}static{this.LESS_THAN=new tD("<")}static{this.LESS_THAN_EQUAL=new tD("<=")}static{this.GREATER_THAN=new tD(">")}static{this.GREATER_THAN_EQUAL=new tD(">=")}static{this.EQUAL=new tD("=")}static{this.NOT_EQUAL=new tD("!=")}static{this.BITWISE_AND=new tD("&")}static{this.BITWISE_OR=new tD("|")}static{this.BITWISE_XOR=new tD("^")}static{this.BITWISE_COMPLEMENT=new tD("~")}static{this.BITWISE_LEFT_SHIFT=new tD("<<")}static{this.BITWISE_RIGHT_SHIFT=new tD(">>")}static{this.BITWISE_UNSIGNED_RIGHT_SHIFT=new tD(">>>")}static{this.UNARY_PLUS=new tD("UN: +","+")}static{this.UNARY_MINUS=new tD("UN: -","-")}static{this.UNARY_LOGICAL_NOT=new tD("UN: not","not")}static{this.UNARY_BITWISE_COMPLEMENT=new tD("UN: ~","~")}static{this.ARRAY_OPERATOR=new tD("[")}static{this.ARRAY_RANGE_INDEX_OPERATOR=new tD("..")}static{this.OBJECT_OPERATOR=new tD(".")}static{this.NULLISH_COALESCING_OPERATOR=new tD("??")}static{this.CONDITIONAL_TERNARY_OPERATOR=new tD("?")}static{this.VALUE_OF=new Map([["MULTIPLICATION",tD.MULTIPLICATION],["DIVISION",tD.DIVISION],["INTEGER_DIVISION",tD.INTEGER_DIVISION],["MOD",tD.MOD],["ADDITION",tD.ADDITION],["SUBTRACTION",tD.SUBTRACTION],["NOT",tD.NOT],["AND",tD.AND],["OR",tD.OR],["LESS_THAN",tD.LESS_THAN],["LESS_THAN_EQUAL",tD.LESS_THAN_EQUAL],["GREATER_THAN",tD.GREATER_THAN],["GREATER_THAN_EQUAL",tD.GREATER_THAN_EQUAL],["EQUAL",tD.EQUAL],["NOT_EQUAL",tD.NOT_EQUAL],["BITWISE_AND",tD.BITWISE_AND],["BITWISE_OR",tD.BITWISE_OR],["BITWISE_XOR",tD.BITWISE_XOR],["BITWISE_COMPLEMENT",tD.BITWISE_COMPLEMENT],["BITWISE_LEFT_SHIFT",tD.BITWISE_LEFT_SHIFT],["BITWISE_RIGHT_SHIFT",tD.BITWISE_RIGHT_SHIFT],["BITWISE_UNSIGNED_RIGHT_SHIFT",tD.BITWISE_UNSIGNED_RIGHT_SHIFT],["UNARY_PLUS",tD.UNARY_PLUS],["UNARY_MINUS",tD.UNARY_MINUS],["UNARY_LOGICAL_NOT",tD.UNARY_LOGICAL_NOT],["UNARY_BITWISE_COMPLEMENT",tD.UNARY_BITWISE_COMPLEMENT],["ARRAY_OPERATOR",tD.ARRAY_OPERATOR],["ARRAY_RANGE_INDEX_OPERATOR",tD.ARRAY_RANGE_INDEX_OPERATOR],["OBJECT_OPERATOR",tD.OBJECT_OPERATOR],["NULLISH_COALESCING_OPERATOR",tD.NULLISH_COALESCING_OPERATOR],["CONDITIONAL_TERNARY_OPERATOR",tD.CONDITIONAL_TERNARY_OPERATOR]])}static{this.UNARY_OPERATORS=new Set([tD.ADDITION,tD.SUBTRACTION,tD.NOT,tD.BITWISE_COMPLEMENT,tD.UNARY_PLUS,tD.UNARY_MINUS,tD.UNARY_LOGICAL_NOT,tD.UNARY_BITWISE_COMPLEMENT])}static{this.ARITHMETIC_OPERATORS=new Set([tD.MULTIPLICATION,tD.DIVISION,tD.INTEGER_DIVISION,tD.MOD,tD.ADDITION,tD.SUBTRACTION])}static{this.LOGICAL_OPERATORS=new Set([tD.NOT,tD.AND,tD.OR,tD.LESS_THAN,tD.LESS_THAN_EQUAL,tD.GREATER_THAN,tD.GREATER_THAN_EQUAL,tD.EQUAL,tD.NOT_EQUAL,tD.NULLISH_COALESCING_OPERATOR])}static{this.BITWISE_OPERATORS=new Set([tD.BITWISE_AND,tD.BITWISE_COMPLEMENT,tD.BITWISE_LEFT_SHIFT,tD.BITWISE_OR,tD.BITWISE_RIGHT_SHIFT,tD.BITWISE_UNSIGNED_RIGHT_SHIFT,tD.BITWISE_XOR])}static{this.CONDITIONAL_OPERATORS=new Set([tD.CONDITIONAL_TERNARY_OPERATOR])}static{this.OPERATOR_PRIORITY=new Map([[tD.UNARY_PLUS,1],[tD.UNARY_MINUS,1],[tD.UNARY_LOGICAL_NOT,1],[tD.UNARY_BITWISE_COMPLEMENT,1],[tD.ARRAY_OPERATOR,1],[tD.OBJECT_OPERATOR,1],[tD.ARRAY_RANGE_INDEX_OPERATOR,2],[tD.MULTIPLICATION,2],[tD.DIVISION,2],[tD.INTEGER_DIVISION,2],[tD.MOD,2],[tD.ADDITION,3],[tD.SUBTRACTION,3],[tD.BITWISE_LEFT_SHIFT,4],[tD.BITWISE_RIGHT_SHIFT,4],[tD.BITWISE_UNSIGNED_RIGHT_SHIFT,4],[tD.LESS_THAN,5],[tD.LESS_THAN_EQUAL,5],[tD.GREATER_THAN,5],[tD.GREATER_THAN_EQUAL,5],[tD.EQUAL,6],[tD.NOT_EQUAL,6],[tD.BITWISE_AND,7],[tD.BITWISE_XOR,8],[tD.BITWISE_OR,9],[tD.AND,10],[tD.OR,11],[tD.NULLISH_COALESCING_OPERATOR,11],[tD.CONDITIONAL_TERNARY_OPERATOR,12]])}static{this.OPERATORS=new Set([...Array.from(tD.ARITHMETIC_OPERATORS),...Array.from(tD.LOGICAL_OPERATORS),...Array.from(tD.BITWISE_OPERATORS),tD.ARRAY_OPERATOR,tD.ARRAY_RANGE_INDEX_OPERATOR,tD.OBJECT_OPERATOR,...Array.from(tD.CONDITIONAL_OPERATORS)].map(e=>e.getOperator()))}static{this.OPERATORS_WITHOUT_SPACE_WRAP=new Set([...Array.from(tD.ARITHMETIC_OPERATORS),...Array.from(tD.LOGICAL_OPERATORS),...Array.from(tD.BITWISE_OPERATORS),tD.ARRAY_OPERATOR,tD.ARRAY_RANGE_INDEX_OPERATOR,tD.OBJECT_OPERATOR,...Array.from(tD.CONDITIONAL_OPERATORS)].filter(e=>!e.shouldBeWrappedInSpace()).map(e=>e.getOperator()))}static{this.OPERATION_VALUE_OF=new Map(Array.from(tD.VALUE_OF.entries()).map(([e,t])=>[t.getOperator(),t]))}static{this.UNARY_MAP=new Map([[tD.ADDITION,tD.UNARY_PLUS],[tD.SUBTRACTION,tD.UNARY_MINUS],[tD.NOT,tD.UNARY_LOGICAL_NOT],[tD.BITWISE_COMPLEMENT,tD.UNARY_BITWISE_COMPLEMENT],[tD.UNARY_PLUS,tD.UNARY_PLUS],[tD.UNARY_MINUS,tD.UNARY_MINUS],[tD.UNARY_LOGICAL_NOT,tD.UNARY_LOGICAL_NOT],[tD.UNARY_BITWISE_COMPLEMENT,tD.UNARY_BITWISE_COMPLEMENT]])}static{this.BIGGEST_OPERATOR_SIZE=Array.from(tD.VALUE_OF.values()).map(e=>e.getOperator()).filter(e=>!e.startsWith("UN: ")).map(e=>e.length).reduce((e,t)=>e>t?e:t,0)}constructor(e,t,r=!1){this.operator=e,this.operatorName=t??e,this._shouldBeWrappedInSpace=r}getOperator(){return this.operator}getOperatorName(){return this.operatorName}shouldBeWrappedInSpace(){return this._shouldBeWrappedInSpace}valueOf(e){return tD.VALUE_OF.get(e)}toString(){return this.operator}}class tb extends tv{constructor(e,t,r,s){super(e||""),this.tokens=new el,this.ops=new el,s?.getOperator()!=".."||(t?r||(r=new tV("","")):t=new tV("","")),t&&this.tokens.push(t),r&&this.tokens.push(r),s&&this.ops.push(s),this.evaluate(),this.ops.isEmpty()||".."!=this.ops.peekLast().getOperator()||1!=this.tokens.length||this.tokens.push(new tv(""))}getTokens(){return this.tokens}getOperations(){return this.ops}evaluate(){let e;let t=this.expression.length,r="",s=new tP(""),n=0,a=!1;for(;n<t;){switch(r=this.expression[n],e=s.toString(),r){case" ":a=this.processTokenSepearator(s,e,a);break;case"(":n=this.processSubExpression(t,s,e,n,a),a=!1;break;case")":throw new tx(this.expression,"Extra closing parenthesis found");case"]":throw new tx(this.expression,"Extra closing square bracket found");case"'":case'"':{let e=this.processStringLiteral(t,r,n);n=e.getT1(),a=e.getT2();break}case"?":if(n+1<t&&"?"!=this.expression.charAt(n+1)&&0!=n&&"?"!=this.expression.charAt(n-1))n=this.processTernaryOperator(t,s,e,n,a);else{let i=this.processOthers(r,t,s,e,n,a);n=i.getT1(),(a=i.getT2())&&this.ops.peek()==tD.ARRAY_OPERATOR&&(n=(i=this.process(t,s,n)).getT1(),a=i.getT2())}break;default:let i=this.processOthers(r,t,s,e,n,a);n=i.getT1(),(a=i.getT2())&&this.ops.peek()==tD.ARRAY_OPERATOR&&(n=(i=this.process(t,s,n)).getT1(),a=i.getT2())}++n}if(e=s.toString(),!eg.isNullOrBlank(e)){if(tD.OPERATORS.has(e))throw new tx(this.expression,"Expression is ending with an operator");this.tokens.push(new tv(e))}}processStringLiteral(e,t,r){let s="",n=r+1;for(;n<e;n++){let e=this.expression.charAt(n);if(e==t&&"\\"!=this.expression.charAt(n-1))break;s+=e}if(n==e&&this.expression.charAt(n-1)!=t)throw new tx(this.expression,"Missing string ending marker "+t);let a=new eN(n,!1);return this.tokens.push(new tV(s,s)),a}process(e,t,r){let s=1;for(++r;r<e&&0!=s;){let e=this.expression.charAt(r);"]"==e?--s:"["==e&&++s,0!=s&&(t.append(e),r++)}return this.tokens.push(new tb(t.toString())),t.setLength(0),new eN(r,!1)}processOthers(e,t,r,s,n,a){let i=t-n;i=i<tD.BIGGEST_OPERATOR_SIZE?i:tD.BIGGEST_OPERATOR_SIZE;for(let e=i;e>0;e--){let t=this.expression.substring(n,n+e);if(tD.OPERATORS_WITHOUT_SPACE_WRAP.has(t))return eg.isNullOrBlank(s)?".."==t&&this.tokens.isEmpty()&&(this.tokens.push(new tv("0")),a=!1):(this.tokens.push(new tv(s)),a=!1),this.checkUnaryOperator(this.tokens,this.ops,tD.OPERATION_VALUE_OF.get(t),a),a=!0,r.setLength(0),new eN(n+e-1,a)}return r.append(e),new eN(n,!1)}processTernaryOperator(e,t,r,s,n){if(n)throw new tx(this.expression,"Ternary operator is followed by an operator");""!=r.trim()&&(this.tokens.push(new tb(r)),t.setLength(0));let a=1,i="",o=++s;for(;s<e&&a>0;)"?"==(i=this.expression.charAt(s))?++a:":"==i&&--a,++s;if(":"!=i)throw new tx(this.expression,"':' operater is missing");if(s>=e)throw new tx(this.expression,"Third part of the ternary expression is missing");for(;!this.ops.isEmpty()&&this.hasPrecedence(tD.CONDITIONAL_TERNARY_OPERATOR,this.ops.peek());){let e=this.ops.pop();if(tD.UNARY_OPERATORS.has(e)){let t=this.tokens.pop();this.tokens.push(new tb("",t,void 0,e))}else{let t=this.tokens.pop(),r=this.tokens.pop();this.tokens.push(new tb("",r,t,e))}}this.ops.push(tD.CONDITIONAL_TERNARY_OPERATOR),this.tokens.push(new tb(this.expression.substring(o,s-1)));let E=this.expression.substring(s);if(""===E.trim())throw new tx(this.expression,"Third part of the ternary expression is missing");return this.tokens.push(new tb(E)),e-1}processSubExpression(e,t,r,s,n){if(tD.OPERATORS.has(r))this.checkUnaryOperator(this.tokens,this.ops,tD.OPERATION_VALUE_OF.get(r),n),t.setLength(0);else if(!eg.isNullOrBlank(r))throw new tx(this.expression,eT.format("Unkown token : $ found.",r));let a=1,i=new tP,o=this.expression.charAt(s);for(s++;s<e&&a>0;)"("==(o=this.expression.charAt(s))?a++:")"==o&&a--,0!=a&&(i.append(o),s++);if(")"!=o)throw new tx(this.expression,"Missing a closed parenthesis");for(;i.length()>2&&"("==i.charAt(0)&&")"==i.charAt(i.length()-1);)i.deleteCharAt(0),i.setLength(i.length()-1);return this.tokens.push(new tb(i.toString().trim())),s}processTokenSepearator(e,t,r){return eg.isNullOrBlank(t)||(tD.OPERATORS.has(t)?(this.checkUnaryOperator(this.tokens,this.ops,tD.OPERATION_VALUE_OF.get(t),r),r=!0):(this.tokens.push(new tv(t)),r=!1)),e.setLength(0),r}checkUnaryOperator(e,t,r,s){if(r){if(s||e.isEmpty()){if(tD.UNARY_OPERATORS.has(r)){let e=tD.UNARY_MAP.get(r);e&&t.push(e)}else throw new tx(this.expression,eT.format("Extra operator $ found.",r))}else{for(;!t.isEmpty()&&this.hasPrecedence(r,t.peek());){let r=t.pop();if(tD.UNARY_OPERATORS.has(r)){let t=e.pop();e.push(new tb("",t,void 0,r))}else{let t=e.pop(),s=e.pop();e.push(new tb("",s,t,r))}}t.push(r)}}}hasPrecedence(e,t){let r=tD.OPERATOR_PRIORITY.get(e),s=tD.OPERATOR_PRIORITY.get(t);if(!r||!s)throw Error("Unknown operators provided");return s<r}toString(){if(this.ops.isEmpty())return 1==this.tokens.size()?this.tokens.get(0).toString():"Error: No tokens";let e=new tP,t=0,r=this.ops.toArray(),s=this.tokens.toArray();for(let n=0;n<r.length;n++)if(r[n].getOperator().startsWith("UN: "))e.append("(").append(r[n].getOperator().substring(4)).append(s[t]instanceof tb?s[t].toString():s[t]).append(")"),t++;else if(r[n]==tD.CONDITIONAL_TERNARY_OPERATOR){let r=s[t++];e.insert(0,r.toString()),e.insert(0,":"),r=s[t++],e.insert(0,r.toString()),e.insert(0,"?"),r=s[t++],e.insert(0,r.toString()).append(")"),e.insert(0,"(")}else{if(0==t){let r=s[t++];e.insert(0,r.toString())}let a=s[t++];e.insert(0,r[n].getOperator()).insert(0,a instanceof tb?a.toString():a?.toString()).insert(0,"(").append(")")}return e.toString()}equals(e){return this.expression==e.expression}}var tG={};E(tG,"TokenValueExtractor",()=>tF);class tF{static{this.REGEX_SQUARE_BRACKETS=/[\[\]]/}static{this.REGEX_DOT=/(?<!\.)\.(?!\.)/}getValue(e){let t=this.getPrefix();if(!e.startsWith(t))throw new er(eT.format("Token $ doesn't start with $",e,t));if(e.endsWith(".__index")){let t=e.substring(0,e.length-8),r=this.getValueInternal(t);if(!h(r?.__index))return r.__index;if(!t.endsWith("]"))return t.substring(t.lastIndexOf(".")+1);{let e=t.substring(t.lastIndexOf("[")+1,t.length-1),r=parseInt(e);return isNaN(r)?e:r}}return this.getValueInternal(e)}retrieveElementFrom(e,t,r,s){if(h(s))return;if(t.length==r)return s;let n=t[r].split(tF.REGEX_SQUARE_BRACKETS).map(e=>e.trim()).filter(e=>!eg.isNullOrBlank(e)).reduce((s,n)=>this.resolveForEachPartOfTokenWithBrackets(e,t,r,n,s),s);return this.retrieveElementFrom(e,t,r+1,n)}resolveForEachPartOfTokenWithBrackets(e,t,r,s,n){if(!h(n))return"length"===s?this.getLength(e,n):"string"==typeof n||Array.isArray(n)?this.handleArrayAccess(e,s,n):this.handleObjectAccess(e,t,r,s,n)}getLength(e,t){let r=typeof t;if("string"===r||Array.isArray(t))return t.length;if("object"===r)return"length"in t?t.length:Object.keys(t).length;throw new tx(e,eT.format("Length can't be found in token $",e))}handleArrayAccess(e,t,r){let s=t.indexOf("..");if(s>=0){let e=t.substring(0,s),n=t.substring(s+2),a=0==e.length?0:parseInt(e),i=0==n.length?r.length:parseInt(n);if(isNaN(a)||isNaN(i))return;for(;a<0;)a+=r.length;for(;i<0;)i+=r.length;let o=typeof r;return a>=i?"string"==o?"":[]:"string"==o?r.substring(a,i):r.slice(a,i)}let n=parseInt(t);if(isNaN(n))throw new tx(e,eT.format("$ is not a number",t));for(;n<0;)n=r.length+n;if(!(n>=r.length))return r[n]}handleObjectAccess(e,t,r,s,n){if(s.startsWith('"')){if(!s.endsWith('"')||1==s.length||2==s.length)throw new tx(e,eT.format("$ is missing a double quote or empty key found",e));s=s.substring(1,t.length-2)}return this.checkIfObject(e,t,r,n),n[s]}checkIfObject(e,t,r,s){let n=typeof s;if("object"!=n&&"string"!=n||Array.isArray(s))throw new tx(e,eT.format("Unable to retrieve $ from $ in the path $",t[r],s.toString(),e))}}class tY extends tF{constructor(e,t){super(),this.store=e,this.prefix=t}getValueInternal(e){let t=e.split(tF.REGEX_DOT);return this.retrieveElementFrom(e,t,1,this.store)}getStore(){return this.store}setStore(e){return this.store=e,this}setValue(e,t,r=!0,s=!1){this.store=ta(this.store),this.modifyStore(e,t,r,s)}modifyStore(e,t,r,s){let n=new tb(e),a=n.getTokens();a.removeLast();let i=n.getOperations(),o=i.removeLast(),E=a.removeLast(),u=E instanceof tV?E.getElement():E.getExpression(),A=this.store;for(;!i.isEmpty();)A=o==tD.OBJECT_OPERATOR?this.getDataFromObject(A,u,i.peekLast()):this.getDataFromArray(A,u,i.peekLast()),o=i.removeLast(),u=(E=a.removeLast())instanceof tV?E.getElement():E.getExpression();o==tD.OBJECT_OPERATOR?this.putDataInObject(A,u,t,r,s):this.putDataInArray(A,u,t,r,s)}getDataFromArray(e,t,r){if(!Array.isArray(e))throw new er(eT.format("Expected an array but found $",e));let s=parseInt(t);if(isNaN(s))throw new er(eT.format("Expected an array index but found $",t));if(s<0)throw new er(eT.format("Array index is out of bound - $",t));let n=e[s];return h(n)&&(n=r==tD.OBJECT_OPERATOR?{}:[],e[s]=n),n}getDataFromObject(e,t,r){if(Array.isArray(e)||"object"!=typeof e)throw new er(eT.format("Expected an object but found $",e));let s=e[t];return h(s)&&(s=r==tD.OBJECT_OPERATOR?{}:[],e[t]=s),s}putDataInArray(e,t,r,s,n){if(!Array.isArray(e))throw new er(eT.format("Expected an array but found $",e));let a=parseInt(t);if(isNaN(a))throw new er(eT.format("Expected an array index but found $",t));if(a<0)throw new er(eT.format("Array index is out of bound - $",t));(s||h(e[a]))&&(n&&h(r)?e.splice(a,1):e[a]=r)}putDataInObject(e,t,r,s,n){if(Array.isArray(e)||"object"!=typeof e)throw new er(eT.format("Expected an object but found $",e));(s||h(e[t]))&&(n&&h(r)?delete e[t]:e[t]=r)}getPrefix(){return this.prefix}}class tB extends e1{constructor(){super("Sort",[tB.PARAMETER_ARRAY_SOURCE,tB.PARAMETER_INT_FIND_FROM,tB.PARAMETER_INT_LENGTH,tB.PARAMETER_BOOLEAN_ASCENDING,tB.PARAMETER_KEY_PATH],tB.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(tB.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tB.PARAMETER_INT_FIND_FROM.getParameterName()),s=e?.getArguments()?.get(tB.PARAMETER_INT_LENGTH.getParameterName()),n=e?.getArguments()?.get(tB.PARAMETER_BOOLEAN_ASCENDING.getParameterName()),a=e?.getArguments()?.get(tB.PARAMETER_KEY_PATH.getParameterName());if(0==t.length)return new es([Z.outputOf(new Map([[e1.EVENT_RESULT_NAME,t]]))]);if(t=[...t],-1==s&&(s=t.length-r),r<0||r>=t.length||r+s>t.length)throw new er("Given start point is more than the size of the array or not available at that point");let i=t.slice(r,r+s+1),o=new tY({},"Data.");return i.sort((e,t)=>"object"==typeof e&&"object"==typeof t&&a.length?(o.setStore({a:e,b:t}),tH(o.getValue("Data.a."+a),o.getValue("Data.b."+a),n)):tH(e,t,n)),t.splice(r,s,...i),new es([Z.outputOf(new Map([[e1.EVENT_RESULT_NAME,t]]))])}}function tH(e,t,r){return e===t?0:null===e?1:null===t?-1:r?e<t?-1:1:e<t?1:-1}class tk extends e1{constructor(){super("SubArray",[tk.PARAMETER_ARRAY_SOURCE,tk.PARAMETER_INT_FIND_FROM,tk.PARAMETER_INT_LENGTH],tk.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(tk.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tk.PARAMETER_INT_FIND_FROM.getParameterName()),s=e?.getArguments()?.get(tk.PARAMETER_INT_LENGTH.getParameterName());if(-1==s&&(s=t.length-r),s<=0)return new es([Z.outputOf(new Map([]))]);if(!(r>=0&&r<t.length)||r+s>t.length)throw new er("Given find from point is more than the source size array or the Requested length for the subarray was more than the source size");let n=t.slice(r,r+s);return new es([Z.outputOf(new Map([[tk.EVENT_RESULT_NAME,n]]))])}}class t$ extends e1{constructor(){super("Insert",[t$.PARAMETER_ARRAY_SOURCE,t$.PARAMETER_INT_OFFSET,t$.PARAMETER_ANY],t$.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(t$.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(t$.PARAMETER_INT_OFFSET.getParameterName());var s=e?.getArguments()?.get(t$.PARAMETER_ANY.getParameterName());if(h(s)||h(r)||r>t.length)throw new er("Please valid resouces to insert at the correct location");if(0==(t=[...t]).length)return 0==r&&t.push(s),new es([Z.outputOf(new Map([[e1.EVENT_RESULT_NAME,t]]))]);t.push(s);let n=t.length-1;for(r++;n>=r;){let e=t[n-1];t[n-1]=t[n],t[n--]=e}return new es([Z.outputOf(new Map([[e1.EVENT_RESULT_NAME,t]]))])}}class tj extends e1{constructor(){super("InsertLast",[tj.PARAMETER_ARRAY_SOURCE,tj.PARAMETER_ANY],tj.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(tj.PARAMETER_ARRAY_SOURCE.getParameterName());var r=e?.getArguments()?.get(tj.PARAMETER_ANY.getParameterName());return(t=[...t]).push(r),new es([Z.outputOf(new Map([[e1.EVENT_RESULT_NAME,t]]))])}}class tW extends e1{constructor(){super("RemoveDuplicates",[tW.PARAMETER_ARRAY_SOURCE,tW.PARAMETER_INT_SOURCE_FROM,tW.PARAMETER_INT_LENGTH],tW.EVENT_RESULT_ARRAY)}async internalExecute(e){var t=e?.getArguments()?.get(tW.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tW.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(tW.PARAMETER_INT_LENGTH.getParameterName());if(-1==s&&(s=t.length-r),r+s>t.length)throw new er(eT.format("Array has no elements from $ to $ as the array size is $",r,r+s,t.length));let n=[...t],a=r+s;for(let e=a-1;e>=r;e--)for(let t=e-1;t>=r;t--)if(eR(n[e],n[t])){n.splice(e,1);break}return new es([Z.outputOf(j.of(tW.EVENT_RESULT_NAME,n))])}}const tX="keyPath",tJ="valuePath",tq="ignoreNullValues",tz="ignoreNullKeys",tK="ignoreDuplicateKeys";class tQ extends e1{constructor(){super("ArrayToObjects",[e1.PARAMETER_ARRAY_SOURCE,k.of(tX,D.ofString(tX)),k.of(tJ,D.of(tJ,p.STRING,p.NULL)),k.of(tq,D.ofBoolean(tq).setDefaultValue(!1)),k.of(tz,D.ofBoolean(tz).setDefaultValue(!0)),k.of(tK,D.ofBoolean(tK).setDefaultValue(!1))],e1.EVENT_RESULT_ANY)}async internalExecute(e){let t=e?.getArguments()?.get(e1.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tX),s=e?.getArguments()?.get(tJ)??"",n=e?.getArguments()?.get(tq),a=e?.getArguments()?.get(tz),i=e?.getArguments()?.get(tK),o=new tY({},"Data."),E=t.filter(e=>!h(e)).reduce((e,t)=>{o.setStore(t);let E=o.getValue("Data."+r);if(a&&h(E))return e;let u=s?o.getValue("Data."+s):t;return n&&h(u)||i&&e.hasOwnProperty(E)||(e[E]=u),e},{});return new es([Z.outputOf(new Map([[e1.EVENT_RESULT_NAME,E]]))])}}const tZ="source",t0="delimiter",t1="result";class t2 extends e0{getSignature(){return this.signature}async internalExecute(e){let t=e?.getArguments()?.get(tZ),r=e?.getArguments()?.get(t0);return new es([Z.outputOf(new Map([[t1,t.join(r)]]))])}constructor(...e){super(...e),this.signature=new ea("Join").setNamespace(l.SYSTEM_ARRAY).setParameters(new Map([[tZ,new k(tZ,D.ofArray(tZ,D.of("each",p.STRING,p.INTEGER,p.LONG,p.DOUBLE,p.FLOAT,p.NULL)))],[t0,new k(t0,D.ofString(t0).setDefaultValue(""))]])).setEvents(new Map([Q.outputEventMapEntry(new Map([[t1,D.ofString(t1)]]))]))}}class t9{async find(e,t){return e!=l.SYSTEM_ARRAY?Promise.resolve(void 0):Promise.resolve(this.repoMap.get(t))}async filter(e){return Promise.resolve(this.filterableNames.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}constructor(){this.repoMap=j.ofArrayEntries(q(new e2),q(new e9),q(new te),q(new ts),q(new ti),q(new to),q(new tE),q(new tu),q(new tA),q(new tT),q(new tl),q(new tm),q(new tR),q(new th),q(new tg),q(new tc),q(new tp),q(new tN),q(new tf),q(new t_),q(new tM),q(new tS),q(new tO),q(new tB),q(new tk),q(new e4),q(new t$),q(new tj),q(new tW),q(new tQ),q(new t2)),this.filterableNames=Array.from(this.repoMap.values()).map(e=>e.getSignature().getFullName())}}var t3={};E(t3,"ContextElement",()=>t4);class t4{static{this.NULL=new t4(D.NULL,void 0)}constructor(e,t){this.schema=e,this.element=t}getSchema(){return this.schema}setSchema(e){return this.schema=e,this}getElement(){return this.element}setElement(e){return this.element=e,this}}const t5="name",t6="schema";class t7 extends e0{getSignature(){return this.signature}async internalExecute(e){let t=e?.getArguments()?.get(t5);if(e?.getContext()?.has(t))throw new er(eT.format("Context already has an element for '$' ",t));let r=D.from(e?.getArguments()?.get(t6));if(!r)throw new er("Schema is not supplied.");return e.getContext().set(t,new t4(r,h(r.getDefaultValue())?void 0:r.getDefaultValue())),new es([Z.outputOf(new Map)])}constructor(...e){super(...e),this.signature=new ea("Create").setNamespace(l.SYSTEM_CTX).setParameters(new Map([k.ofEntry(t5,new D().setName(t5).setType(d.of(p.STRING)).setMinLength(1).setFormat(eY.REGEX).setPattern("^[a-zA-Z_$][a-zA-Z_$0-9]*$"),!1,B.CONSTANT),k.ofEntry(t6,D.SCHEMA,!1,B.CONSTANT)])).setEvents(new Map([Q.outputEventMapEntry(new Map)]))}}const t8="name",re="value";class rt extends e0{getSignature(){return this.signature}async internalExecute(e){let t=e?.getArguments()?.get(t8);if(!e.getContext()?.has(t))throw new er(eT.format("Context don't have an element for '$' ",t));return new es([Z.outputOf(new Map([re,e.getContext()?.get(t)?.getElement()]))])}constructor(...e){super(...e),this.signature=new ea("Get").setNamespace(l.SYSTEM_CTX).setParameters(new Map([k.ofEntry(t8,new D().setName(t8).setType(d.of(p.STRING)).setMinLength(1).setFormat(eY.REGEX).setPattern("^[a-zA-Z_$][a-zA-Z_$0-9]*$"),!1,B.CONSTANT)])).setEvents(new Map([Q.outputEventMapEntry(new Map([[re,D.ofAny(re)]]))]))}}var rr={};E(rr,"ExpressionEvaluator",()=>su);var rs={},rn={};E(rn,"ArithmeticAdditionOperator",()=>ro);var ra={};E(ra,"BinaryOperator",()=>ri);class ri{nullCheck(e,t,r){if(h(e)||h(t))throw new e7(eT.format("$ cannot be applied to a null value",r.getOperatorName()))}}class ro extends ri{apply(e,t){return h(e)?t:h(t)?e:e+t}}var rE={};E(rE,"ArithmeticDivisionOperator",()=>ru);class ru extends ri{apply(e,t){return this.nullCheck(e,t,tD.DIVISION),e/t}}var rA={};E(rA,"ArithmeticIntegerDivisionOperator",()=>rT);class rT extends ri{apply(e,t){return this.nullCheck(e,t,tD.DIVISION),Math.floor(e/t)}}var rl={};E(rl,"ArithmeticModulusOperator",()=>rm);class rm extends ri{apply(e,t){return this.nullCheck(e,t,tD.MOD),e%t}}var rR={};E(rR,"ArithmeticMultiplicationOperator",()=>rh);class rh extends ri{apply(e,t){this.nullCheck(e,t,tD.MULTIPLICATION);let r="string"==typeof e,s=typeof t;if(r||"string"===s){let s=r?e:t,n=r?t:e,a="",i=n<0,o=Math.floor(n=Math.abs(n));for(;o-- >0;)a+=s;let E=Math.floor(s.length*(n-Math.floor(n)));if(E<0&&(E=-E),0!=E&&(a+=s.substring(0,E)),i){let e="";for(let t=a.length-1;t>=0;t--)e+=a[t];return e}return a}return e*t}}var rg={};E(rg,"ArithmeticSubtractionOperator",()=>rc);class rc extends ri{apply(e,t){return this.nullCheck(e,t,tD.SUBTRACTION),e-t}}var rp={};E(rp,"ArrayOperator",()=>rN);class rN extends ri{apply(e,t){if(!e)throw new e7("Cannot apply array operator on a null value");if(!t)throw new e7("Cannot retrive null index value");if(!Array.isArray(e)&&"string"!=typeof e)throw new e7(eT.format("Cannot retrieve value from a primitive value $",e));if(t>=e.length)throw new e7(eT.format("Cannot retrieve index $ from the array of length $",t,e.length));return e[t]}}var rf={};E(rf,"BitwiseAndOperator",()=>r_);class r_ extends ri{apply(e,t){return this.nullCheck(e,t,tD.BITWISE_AND),e&t}}var rM={};E(rM,"BitwiseLeftShiftOperator",()=>rS);class rS extends ri{apply(e,t){return this.nullCheck(e,t,tD.BITWISE_LEFT_SHIFT),e<<t}}var rO={};E(rO,"BitwiseOrOperator",()=>rw);class rw extends ri{apply(e,t){return this.nullCheck(e,t,tD.BITWISE_OR),e|t}}var rd={};E(rd,"BitwiseRightShiftOperator",()=>rI);class rI extends ri{apply(e,t){return this.nullCheck(e,t,tD.BITWISE_RIGHT_SHIFT),e>>t}}var rP={};E(rP,"BitwiseUnsignedRightShiftOperator",()=>ry);class ry extends ri{apply(e,t){return this.nullCheck(e,t,tD.BITWISE_UNSIGNED_RIGHT_SHIFT),e>>>t}}var rx={};E(rx,"BitwiseXorOperator",()=>rL);class rL extends ri{apply(e,t){return this.nullCheck(e,t,tD.BITWISE_XOR),e^t}}var rv={};E(rv,"LogicalAndOperator",()=>rU);class rU extends ri{apply(e,t){return!!e&&""!==e&&!!t&&""!==t}}var rV={};E(rV,"LogicalEqualOperator",()=>rC);class rC extends ri{apply(e,t){return eR(e,t)}}var rD={};E(rD,"LogicalGreaterThanEqualOperator",()=>rb);class rb extends ri{apply(e,t){let r=e8.findPrimitiveNullAsBoolean(e),s=e8.findPrimitiveNullAsBoolean(t);if(r.getT1()==p.BOOLEAN||s.getT1()==p.BOOLEAN)throw new e7(eT.format("Cannot compare >= with the values $ and $",r.getT2(),s.getT2()));return r.getT2()>=s.getT2()}}var rG={};E(rG,"LogicalGreaterThanOperator",()=>rF);class rF extends ri{apply(e,t){let r=e8.findPrimitiveNullAsBoolean(e),s=e8.findPrimitiveNullAsBoolean(t);if(r.getT1()==p.BOOLEAN||s.getT1()==p.BOOLEAN)throw new e7(eT.format("Cannot compare > with the values $ and $",r.getT2(),s.getT2()));return r.getT2()>s.getT2()}}var rY={};E(rY,"LogicalLessThanEqualOperator",()=>rB);class rB extends ri{apply(e,t){let r=e8.findPrimitiveNullAsBoolean(e),s=e8.findPrimitiveNullAsBoolean(t);if(r.getT1()==p.BOOLEAN||s.getT1()==p.BOOLEAN)throw new e7(eT.format("Cannot compare <= with the values $ and $",r.getT2(),s.getT2()));return r.getT2()<=s.getT2()}}var rH={};E(rH,"LogicalNotEqualOperator",()=>rk);class rk extends ri{apply(e,t){return!eR(e,t)}}var r$={};E(r$,"LogicalLessThanOperator",()=>rj);class rj extends ri{apply(e,t){let r=e8.findPrimitiveNullAsBoolean(e),s=e8.findPrimitiveNullAsBoolean(t);if(r.getT1()==p.BOOLEAN||s.getT1()==p.BOOLEAN)throw new e7(eT.format("Cannot compare < with the values $ and $",r.getT2(),s.getT2()));return r.getT2()<s.getT2()}}var rW={};E(rW,"LogicalOrOperator",()=>rX);class rX extends ri{apply(e,t){return!!e&&""!==e||!!t&&""!==t}}var rJ={};E(rJ,"ObjectOperator",()=>rq);class rq extends ri{apply(e,t){if(!e)throw new e7("Cannot apply array operator on a null value");if(!t)throw new e7("Cannot retrive null property value");let r=typeof e;if(!Array.isArray(e)&&"string"!=r&&"object"!=r)throw new e7(eT.format("Cannot retrieve value from a primitive value $",e));return e[t]}}var rz={};E(rz,"LogicalNullishCoalescingOperator",()=>rK);class rK extends ri{apply(e,t){return h(e)?t:e}}var rQ={};E(rQ,"ArrayRangeOperator",()=>rZ);class rZ extends ri{apply(e,t){return`${e??""}..${t??""}`}}o(rs,rn),o(rs,rE),o(rs,rA),o(rs,rl),o(rs,rR),o(rs,rg),o(rs,rp),o(rs,ra),o(rs,rf),o(rs,rM),o(rs,rO),o(rs,rd),o(rs,rP),o(rs,rx),o(rs,rv),o(rs,rV),o(rs,rD),o(rs,rG),o(rs,rY),o(rs,rH),o(rs,r$),o(rs,rW),o(rs,rJ),o(rs,rz),o(rs,rQ);var r0={},r1={};E(r1,"ArithmeticUnaryMinusOperator",()=>r3);var r2={};E(r2,"UnaryOperator",()=>r9);class r9{nullCheck(e,t){if(h(e))throw new e7(eT.format("$ cannot be applied to a null value",t.getOperatorName()))}}class r3 extends r9{apply(e){return this.nullCheck(e,tD.UNARY_MINUS),e8.findPrimitiveNumberType(e),-e}}var r4={};E(r4,"ArithmeticUnaryPlusOperator",()=>r5);class r5 extends r9{apply(e){return this.nullCheck(e,tD.UNARY_PLUS),e8.findPrimitiveNumberType(e),e}}var r6={};E(r6,"BitwiseComplementOperator",()=>r7);class r7 extends r9{apply(e){this.nullCheck(e,tD.UNARY_BITWISE_COMPLEMENT);let t=e8.findPrimitiveNumberType(e);if(t.getT1()!=p.INTEGER&&t.getT1()!=p.LONG)throw new e7(eT.format("Unable to apply bitwise operator on $",e));return~e}}var r8={};E(r8,"LogicalNotOperator",()=>se);class se extends r9{apply(e){return!e&&""!==e}}o(r0,r1),o(r0,r4),o(r0,r6),o(r0,r8),o(r0,r2);var st={};E(st,"LiteralTokenValueExtractor",()=>ss);const sr=new Map([["true",!0],["false",!1],["null",void 0],["undefined",void 0]]);class ss extends tF{static{this.INSTANCE=new ss}getValueInternal(e){if(!eg.isNullOrBlank(e))return(e=e.trim(),sr.has(e))?sr.get(e):e.startsWith('"')?this.processString(e):this.processNumbers(e)}processNumbers(e){try{let t=Number(e);if(isNaN(t))throw Error("Parse number error");return t}catch(t){throw new tx(e,eT.format("Unable to parse the literal or expression $",e),t)}}processString(e){if(!e.endsWith('"'))throw new tx(e,eT.format("String literal $ is not closed properly",e));return e.substring(1,e.length-1)}getPrefix(){return""}getStore(){}getValueFromExtractors(e,t){return t.has(e+".")?t.get(e+".")?.getStore():this.getValue(e)}}var sn={},sa={};E(sa,"ConditionalTernaryOperator",()=>so);class si{nullCheck(e,t,r,s){if(h(e)||h(t)||h(r))throw new e7(eT.format("$ cannot be applied to a null value",s.getOperatorName()))}}class so extends si{apply(e,t,r){return e?t:r}}o(sn,sa);class sE extends tF{static{this.PREFIX="_internal."}addValue(e,t){this.values.set(e,t)}getValueInternal(e){let t=e.split(tF.REGEX_DOT),r=t[1],s=r.indexOf("["),n=2;return -1!=s&&(r=t[1].substring(0,s),t[1]=t[1].substring(s),n=1),this.retrieveElementFrom(e,t,n,this.values.get(r))}getPrefix(){return sE.PREFIX}getStore(){}constructor(...e){super(...e),this.values=new Map}}class su{static{this.UNARY_OPERATORS_MAP=new Map([[tD.UNARY_BITWISE_COMPLEMENT,new r7],[tD.UNARY_LOGICAL_NOT,new se],[tD.UNARY_MINUS,new r3],[tD.UNARY_PLUS,new r5]])}static{this.TERNARY_OPERATORS_MAP=new Map([[tD.CONDITIONAL_TERNARY_OPERATOR,new so]])}static{this.BINARY_OPERATORS_MAP=new Map([[tD.ADDITION,new ro],[tD.DIVISION,new ru],[tD.INTEGER_DIVISION,new rT],[tD.MOD,new rm],[tD.MULTIPLICATION,new rh],[tD.SUBTRACTION,new rc],[tD.BITWISE_AND,new r_],[tD.BITWISE_LEFT_SHIFT,new rS],[tD.BITWISE_OR,new rw],[tD.BITWISE_RIGHT_SHIFT,new rI],[tD.BITWISE_UNSIGNED_RIGHT_SHIFT,new ry],[tD.BITWISE_XOR,new rL],[tD.AND,new rU],[tD.EQUAL,new rC],[tD.GREATER_THAN,new rF],[tD.GREATER_THAN_EQUAL,new rb],[tD.LESS_THAN,new rj],[tD.LESS_THAN_EQUAL,new rB],[tD.OR,new rX],[tD.NOT_EQUAL,new rk],[tD.NULLISH_COALESCING_OPERATOR,new rK],[tD.ARRAY_OPERATOR,new rN],[tD.ARRAY_RANGE_INDEX_OPERATOR,new rZ],[tD.OBJECT_OPERATOR,new rq]])}static{this.UNARY_OPERATORS_MAP_KEY_SET=new Set(su.UNARY_OPERATORS_MAP.keys())}constructor(e){this.internalTokenValueExtractor=new sE,e instanceof tb?(this.exp=e,this.expression=this.exp.getExpression()):this.expression=e}evaluate(e){let t=this.processNestingExpression(this.expression,e);return this.expression=t.getT1(),this.exp=t.getT2(),(e=new Map(e.entries())).set(this.internalTokenValueExtractor.getPrefix(),this.internalTokenValueExtractor),this.evaluateExpression(this.exp,e)}processNestingExpression(e,t){let r=0,s=0,n=new el;for(;s<e.length-1;){if("{"==e.charAt(s)&&"{"==e.charAt(s+1))0==r&&n.push(new eN(s+2,-1)),r++,s++;else if("}"==e.charAt(s)&&"}"==e.charAt(s+1)){if(--r<0)throw new tx(e,"Expecting {{ nesting path operator to be started before closing");0==r&&n.push(n.pop().setT2(s)),s++}s++}let a=this.replaceNestingExpression(e,t,n);return new eN(a,new tb(a))}replaceNestingExpression(e,t,r){let s=e;for(let n of r.toArray()){if(-1==n.getT2())throw new tx(e,"Expecting }} nesting path operator to be closed");let r=new su(s.substring(n.getT1(),n.getT2())).evaluate(t);s=s.substring(0,n.getT1()-2)+r+s.substring(n.getT2()+2)}return s}getExpression(){return this.exp||(this.exp=new tb(this.expression)),this.exp}getExpressionString(){return this.expression}evaluateExpression(e,t){let r=e.getOperations(),s=e.getTokens();for(;!r.isEmpty();){let e=r.pop(),n=s.pop();if(su.UNARY_OPERATORS_MAP_KEY_SET.has(e))s.push(this.applyUnaryOperation(e,this.getValueFromToken(t,n)));else if(e==tD.OBJECT_OPERATOR||e==tD.ARRAY_OPERATOR)this.processObjectOrArrayOperator(t,r,s,e,n);else if(e==tD.CONDITIONAL_TERNARY_OPERATOR){let r=s.pop(),a=s.pop(),i=this.getValueFromToken(t,a),o=this.getValueFromToken(t,r),E=this.getValueFromToken(t,n);s.push(this.applyTernaryOperation(e,i,o,E))}else{let r=s.pop(),a=this.getValueFromToken(t,r),i=this.getValueFromToken(t,n);s.push(this.applyBinaryOperation(e,a,i))}}if(s.isEmpty())throw new e7(eT.format("Expression : $ evaluated to null",e));if(1!=s.size())throw new e7(eT.format("Expression : $ evaluated multiple values $",e,s));let n=s.get(0);if(n instanceof tV)return n.getElement();if(!(n instanceof tb))return this.getValueFromToken(t,n);throw new e7(eT.format("Expression : $ evaluated to $",e,s.get(0)))}processObjectOrArrayOperator(e,t,r,s,n){let a=new el,i=new el;if(!s||!n)return;do i.push(s),n instanceof tb?a.push(new tV(n.toString(),this.evaluateExpression(n,e))):n&&a.push(n),n=r.isEmpty()?void 0:r.pop(),s=t.isEmpty()?void 0:t.pop();while(s==tD.OBJECT_OPERATOR||s==tD.ARRAY_OPERATOR)n&&(n instanceof tb?a.push(new tV(n.toString(),this.evaluateExpression(n,e))):a.push(n)),s&&t.push(s);let o=a.pop();if(o instanceof tV&&"object"==typeof o.getTokenValue()){let e=new Date().getTime()+""+Math.round(1e3*Math.random());this.internalTokenValueExtractor.addValue(e,o.getTokenValue()),o=new tv(sE.PREFIX+e)}let E=new tP(o instanceof tV?o.getTokenValue():o.toString());for(;!a.isEmpty();)o=a.pop(),s=i.pop(),E.append(s.getOperator()).append(o instanceof tV?o.getTokenValue():o.toString()),s==tD.ARRAY_OPERATOR&&E.append("]");let u=E.toString(),A=u.substring(0,u.indexOf(".")+1);if(A.length>2&&e.has(A))r.push(new tV(u,this.getValue(u,e)));else{let e;try{e=ss.INSTANCE.getValue(u)}catch(t){e=u}r.push(new tV(u,e))}}applyTernaryOperation(e,t,r,s){let n=su.TERNARY_OPERATORS_MAP.get(e);if(!n)throw new tx(this.expression,eT.format("No operator found to evaluate $",this.getExpression()));return new tV(e.toString(),n.apply(t,r,s))}applyBinaryOperation(e,t,r){let s=typeof t,n=typeof r,a=su.BINARY_OPERATORS_MAP.get(e);if(("object"===s||"object"===n)&&e!==tD.EQUAL&&e!==tD.NOT_EQUAL&&e!==tD.NULLISH_COALESCING_OPERATOR&&e!==tD.AND&&e!==tD.OR)throw new tx(this.expression,eT.format("Cannot evaluate expression $ $ $",t,e.getOperator(),r));if(!a)throw new tx(this.expression,eT.format("No operator found to evaluate $ $ $",t,e.getOperator(),r));return new tV(e.toString(),a.apply(t,r))}applyUnaryOperation(e,t){let r=typeof t;if(e.getOperator()!=tD.NOT.getOperator()&&e.getOperator()!=tD.UNARY_LOGICAL_NOT.getOperator()&&("object"===r||Array.isArray(t)))throw new tx(this.expression,eT.format("The operator $ cannot be applied to $",e.getOperator(),t));let s=su.UNARY_OPERATORS_MAP.get(e);if(!s)throw new tx(this.expression,eT.format("No Unary operator $ is found to apply on $",e.getOperator(),t));return new tV(e.toString(),s.apply(t))}getValueFromToken(e,t){return t instanceof tb?this.evaluateExpression(t,e):t instanceof tV?t.getElement():this.getValue(t.getExpression(),e)}getValue(e,t){let r=e.substring(0,e.indexOf(".")+1);return t.has(r)?t.get(r).getValue(e):ss.INSTANCE.getValueFromExtractors(e,t)}}const sA="name",sT="value";class sl extends e0{getSignature(){return this.signature}async internalExecute(e){let t=e?.getArguments()?.get(sA);if(eg.isNullOrBlank(t))throw new er("Empty string is not a valid name for the context element");let r=e?.getArguments()?.get(sT),s=new tb(t),n=s.getTokens().peekLast();if(!n.getExpression().startsWith("Context")||n instanceof tb||n instanceof tV&&!n.getElement().toString().startsWith("Context"))throw new e7(eT.format("The context path $ is not a valid path in context",t));for(let e of s.getOperations().toArray())if(e!=tD.ARRAY_OPERATOR&&e!=tD.OBJECT_OPERATOR)throw new e7(eT.format("Expected a reference to the context location, but found an expression $",t));for(let r=0;r<s.getTokens().size();r++){let n=s.getTokens().get(r);n instanceof tb&&s.getTokens().set(r,new tV(t,new su(n).evaluate(e.getValuesMap())))}return this.modifyContext(e,t,r,s)}modifyContext(e,t,r,s){let n=s.getTokens();n.removeLast();let a=s.getOperations();a.removeLast();let i=e.getContext()?.get(n.removeLast().getExpression());if(h(i))throw new er(eT.format("Context doesn't have any element with name '$' ",t));if(a.isEmpty())return i.setElement(r),new es([Z.outputOf(new Map)]);let o=i.getElement(),E=a.removeLast(),u=n.removeLast(),A=u instanceof tV?u.getElement():u.getExpression();for(h(o)&&(o=E==tD.OBJECT_OPERATOR?{}:[],i.setElement(o));!a.isEmpty();)o=E==tD.OBJECT_OPERATOR?this.getDataFromObject(o,A,a.peekLast()):this.getDataFromArray(o,A,a.peekLast()),E=a.removeLast(),A=(u=n.removeLast())instanceof tV?u.getElement():u.getExpression();return E==tD.OBJECT_OPERATOR?this.putDataInObject(o,A,r):this.putDataInArray(o,A,r),new es([Z.outputOf(new Map)])}getDataFromArray(e,t,r){if(!Array.isArray(e))throw new er(eT.format("Expected an array but found $",e));let s=parseInt(t);if(isNaN(s))throw new er(eT.format("Expected an array index but found $",t));if(s<0)throw new er(eT.format("Array index is out of bound - $",t));let n=e[s];return h(n)&&(n=r==tD.OBJECT_OPERATOR?{}:[],e[s]=n),n}getDataFromObject(e,t,r){if(Array.isArray(e)||"object"!=typeof e)throw new er(eT.format("Expected an object but found $",e));let s=e[t];return h(s)&&(s=r==tD.OBJECT_OPERATOR?{}:[],e[t]=s),s}putDataInArray(e,t,r){if(!Array.isArray(e))throw new er(eT.format("Expected an array but found $",e));let s=parseInt(t);if(isNaN(s))throw new er(eT.format("Expected an array index but found $",t));if(s<0)throw new er(eT.format("Array index is out of bound - $",t));e[s]=r}putDataInObject(e,t,r){if(Array.isArray(e)||"object"!=typeof e)throw new er(eT.format("Expected an object but found $",e));e[t]=r}constructor(...e){super(...e),this.signature=new ea("Set").setNamespace(l.SYSTEM_CTX).setParameters(new Map([k.ofEntry(sA,new D().setName(sA).setType(d.of(p.STRING)).setMinLength(1),!1),k.ofEntry(sT,D.ofAny(sT))])).setEvents(new Map([Q.outputEventMapEntry(new Map)]))}}const sm="value",sR="eventName",sh="results";class sg extends e0{getSignature(){return this.signature}async internalExecute(e){let t=e.getEvents(),r=e.getArguments(),s=r?.get(sR),n=e?.getArguments()?.get(sh).map(t=>{let r=t[sm];if(h(r))throw new er("Expect a value object");let s=r.value;return r.isExpression&&(s=new su(s).evaluate(e.getValuesMap())),[t.name,s]}).reduce((e,t)=>(e.set(t[0],t[1]),e),new Map);return t?.has(s)||t?.set(s,[]),t?.get(s)?.push(n),new es([Z.outputOf(new Map)])}constructor(...e){super(...e),this.signature=new ea("GenerateEvent").setNamespace(l.SYSTEM).setParameters(new Map([k.ofEntry(sR,D.ofString(sR).setDefaultValue("output")),k.ofEntry(sh,D.ofObject(sh).setProperties(new Map([["name",D.ofString("name")],[sm,k.EXPRESSION]])),!0)])).setEvents(new Map([Q.outputEventMapEntry(new Map)]))}}class sc extends e0{static{this.CONDITION="condition"}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(sc.CONDITION);return new es([Z.of(t||""===t?Q.TRUE:Q.FALSE,new Map),Z.outputOf(new Map)])}constructor(...e){super(...e),this.signature=new ea("If").setNamespace(l.SYSTEM).setParameters(new Map([k.ofEntry(sc.CONDITION,D.ofAny(sc.CONDITION))])).setEvents(new Map([Q.eventMapEntry(Q.TRUE,new Map),Q.eventMapEntry(Q.FALSE,new Map),Q.outputEventMapEntry(new Map)]))}}const sp="stepName";class sN extends e0{getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(sp);return e.getExecutionContext().set(t,!0),new es([Z.outputOf(new Map)])}constructor(...e){super(...e),this.signature=new ea("Break").setNamespace(l.SYSTEM_LOOP).setParameters(new Map([k.ofEntry(sp,D.of(sp,p.STRING))])).setEvents(new Map([Q.outputEventMapEntry(new Map([]))]))}}const sf="count",s_="value",sM="index";class sS extends e0{getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(sf),r=0,s=e.getStatementExecution()?.getStatement()?.getStatementName();return new es({next(){if(r>=t||s&&e.getExecutionContext()?.get(s))return s&&e.getExecutionContext()?.delete(s),Z.outputOf(new Map([[s_,r]]));let n=Z.of(Q.ITERATION,new Map([[sM,r]]));return++r,n}})}constructor(...e){super(...e),this.signature=new ea("CountLoop").setNamespace(l.SYSTEM_LOOP).setParameters(new Map([k.ofEntry(sf,D.of(sf,p.INTEGER))])).setEvents(new Map([Q.eventMapEntry(Q.ITERATION,new Map([[sM,D.of(sM,p.INTEGER)]])),Q.outputEventMapEntry(new Map([[s_,D.of(s_,p.INTEGER)]]))]))}}const sO="source",sw="each",sd="index",sI="value";class sP extends e0{getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(sO),r=0,s=e.getStatementExecution()?.getStatement()?.getStatementName();return new es({next(){if(r>=t.length||s&&e.getExecutionContext()?.get(s))return s&&e.getExecutionContext()?.delete(s),Z.outputOf(new Map([[sI,r]]));let n=Z.of(Q.ITERATION,new Map([[sd,r],[sw,t[r]]]));return++r,n}})}constructor(...e){super(...e),this.signature=new ea("ForEachLoop").setNamespace(l.SYSTEM_LOOP).setParameters(new Map([k.ofEntry(sO,D.ofArray(sO,D.ofAny(sO)))])).setEvents(new Map([Q.eventMapEntry(Q.ITERATION,new Map([[sd,D.of(sd,p.INTEGER)],[sw,D.ofAny(sw)]])),Q.outputEventMapEntry(new Map([[sI,D.of(sI,p.INTEGER)]]))]))}}const sy="from",sx="step",sL="value",sv="index";class sU extends e0{getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(sy),r=e.getArguments()?.get("to"),s=e.getArguments()?.get(sx),n=s>0,a=t,i=!1,o=e.getStatementExecution()?.getStatement()?.getStatementName();return new es({next(){if(i)return;if(n&&a>=r||!n&&a<=r||o&&e.getExecutionContext()?.get(o))return i=!0,o&&e.getExecutionContext()?.delete(o),Z.outputOf(new Map([[sL,a]]));let t=Z.of(Q.ITERATION,new Map([[sv,a]]));return a+=s,t}})}constructor(...e){super(...e),this.signature=new ea("RangeLoop").setNamespace(l.SYSTEM_LOOP).setParameters(new Map([k.ofEntry(sy,D.of(sy,p.INTEGER,p.LONG,p.FLOAT,p.DOUBLE).setDefaultValue(0)),k.ofEntry("to",D.of("to",p.INTEGER,p.LONG,p.FLOAT,p.DOUBLE).setDefaultValue(1)),k.ofEntry(sx,D.of(sx,p.INTEGER,p.LONG,p.FLOAT,p.DOUBLE).setDefaultValue(1).setNot(new D().setConstant(0)))])).setEvents(new Map([Q.eventMapEntry(Q.ITERATION,new Map([[sv,D.of(sv,p.INTEGER,p.LONG,p.FLOAT,p.DOUBLE)]])),Q.outputEventMapEntry(new Map([[sL,D.of(sL,p.INTEGER,p.LONG,p.FLOAT,p.DOUBLE)]]))]))}}const sV="value";class sC extends e0{getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(sV);return new es([Z.outputOf(new Map([[sV,t.reduce((e,t)=>e+=t,0)]]))])}constructor(...e){super(...e),this.signature=new ea("Add").setNamespace(l.MATH).setParameters(new Map([[sV,new k(sV,D.ofNumber(sV)).setVariableArgument(!0)]])).setEvents(new Map([Q.outputEventMapEntry(new Map([[sV,D.ofNumber(sV)]]))]))}}const sD="value",sb="value1",sG="value2";class sF extends e0{constructor(e,t,r=1,...s){super(),this.paramFunctions=[()=>new Map([[sD,new k(sD,D.ofNumber(sD))]]),()=>new Map([[sb,new k(sb,D.ofNumber(sb))],[sG,new k(sG,D.ofNumber(sG))]])],s&&s.length||(s=[p.DOUBLE]),this.parametersNumber=r,this.mathFunction=t,this.signature=new ea(e).setNamespace(l.MATH).setParameters(this.paramFunctions[r-1]()).setEvents(new Map([Q.outputEventMapEntry(new Map([[sD,new D().setType(d.of(...s)).setName(sD)]]))]))}getSignature(){return this.signature}async internalExecute(e){let t,r=e8.findPrimitiveNumberType(e.getArguments()?.get(1==this.parametersNumber?sD:sb)).getT2();return 2==this.parametersNumber&&(t=e8.findPrimitiveNumberType(e.getArguments()?.get(sG)).getT2()),new es([Z.outputOf(new Map([[sD,this.mathFunction.call(this,r,t)]]))])}}const sY="value";class sB extends e0{constructor(){super(),this.signature=new ea("Hypotenuse").setNamespace(l.MATH).setParameters(new Map([[sY,new k(sY,D.ofNumber(sY)).setVariableArgument(!0)]])).setEvents(new Map([Q.outputEventMapEntry(new Map([[sY,new D().setType(d.of(p.DOUBLE)).setName(sY)]]))]))}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(sY);return new es([Z.outputOf(new Map([[sY,Math.sqrt(t.reduce((e,t)=>e+=t*t,0))]]))])}}const sH="value";class sk extends e0{getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(sH);return new es([Z.outputOf(new Map([[sH,t.reduce((e,t)=>!e&&0!==e||t>e?t:e)]]))])}constructor(...e){super(...e),this.signature=new ea("Maximum").setNamespace(l.MATH).setParameters(new Map([[sH,new k(sH,D.ofNumber(sH)).setVariableArgument(!0)]])).setEvents(new Map([Q.outputEventMapEntry(new Map([[sH,D.ofNumber(sH)]]))]))}}const s$="value";class sj extends e0{getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(s$);return new es([Z.outputOf(new Map([[s$,t.reduce((e,t)=>!e&&0!==e||t<e?t:e)]]))])}constructor(...e){super(...e),this.signature=new ea("Minimum").setNamespace(l.MATH).setParameters(new Map([[s$,new k(s$,D.ofNumber(s$)).setVariableArgument(!0)]])).setEvents(new Map([Q.outputEventMapEntry(new Map([[s$,D.ofNumber(s$)]]))]))}}const sW="value";class sX extends e0{getSignature(){return this.signature}async internalExecute(e){return new es([Z.outputOf(new Map([[sW,Math.random()]]))])}constructor(...e){super(...e),this.signature=new ea("Random").setNamespace(l.MATH).setEvents(new Map([Q.outputEventMapEntry(j.of(sW,D.ofDouble(sW)))]))}}class sJ extends e0{static{this.MIN_VALUE="minValue"}static{this.MAX_VALUE="maxValue"}static{this.VALUE="value"}constructor(e,t,r,s,n){super(),this.signature=new ea(e).setParameters(j.of(sJ.MIN_VALUE,t,sJ.MAX_VALUE,r)).setNamespace(l.MATH).setEvents(new Map([Q.outputEventMapEntry(j.of(sJ.VALUE,s))])),this.randomFunction=n}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(sJ.MIN_VALUE),r=e.getArguments()?.get(sJ.MAX_VALUE),s=this.randomFunction(t,r);return new es([Z.outputOf(new Map([[sJ.VALUE,s]]))])}}class sq{constructor(){this.functionObjectsIndex={Absolute:new sF("Absolute",e=>Math.abs(e),1,p.INTEGER,p.LONG,p.FLOAT,p.DOUBLE),ArcCosine:new sF("ArcCosine",e=>Math.acos(e)),ArcSine:new sF("ArcSine",e=>Math.asin(e)),ArcTangent:new sF("ArcTangent",e=>Math.atan(e)),Ceiling:new sF("Ceiling",e=>Math.ceil(e)),Cosine:new sF("Cosine",e=>Math.cos(e)),HyperbolicCosine:new sF("HyperbolicCosine",e=>Math.cosh(e)),CubeRoot:new sF("CubeRoot",e=>Math.cbrt(e)),Exponential:new sF("Exponential",e=>Math.exp(e)),ExponentialMinus1:new sF("ExponentialMinus1",e=>Math.expm1(e)),Floor:new sF("Floor",e=>Math.floor(e)),LogNatural:new sF("LogNatural",e=>Math.log(e)),Log10:new sF("Log10",e=>Math.log10(e)),Round:new sF("Round",e=>Math.round(e),1,p.INTEGER,p.LONG),Sine:new sF("Sine",e=>Math.sin(e)),HyperbolicSine:new sF("HyperbolicSine",e=>Math.sinh(e)),Tangent:new sF("Tangent",e=>Math.tan(e)),HyperbolicTangent:new sF("HyperbolicTangent",e=>Math.tanh(e)),ToDegrees:new sF("ToDegrees",e=>Math.PI/180*e),ToRadians:new sF("ToRadians",e=>180/Math.PI*e),SquareRoot:new sF("SquareRoot",e=>Math.sqrt(e)),ArcTangent2:new sF("ArcTangent2",(e,t)=>Math.atan2(e,t),2),Power:new sF("Power",(e,t)=>Math.pow(e,t),2),Add:new sC,Hypotenuse:new sB,Maximum:new sk,Minimum:new sj,Random:new sX,RandomFloat:new sJ("RandomFloat",k.of(sJ.MIN_VALUE,D.ofFloat(sJ.MIN_VALUE).setDefaultValue(0)),k.of(sJ.MAX_VALUE,D.ofFloat(sJ.MAX_VALUE).setDefaultValue(0x7fffffff)),D.ofFloat(sJ.VALUE),(e,t)=>Math.random()*(t-e)+e),RandomInt:new sJ("RandomInt",k.of(sJ.MIN_VALUE,D.ofInteger(sJ.MIN_VALUE).setDefaultValue(0)),k.of(sJ.MAX_VALUE,D.ofInteger(sJ.MAX_VALUE).setDefaultValue(0x7fffffff)),D.ofInteger(sJ.VALUE),(e,t)=>Math.round(Math.random()*(t-e)+e)),RandomLong:new sJ("RandomLong",k.of(sJ.MIN_VALUE,D.ofLong(sJ.MIN_VALUE).setDefaultValue(0)),k.of(sJ.MAX_VALUE,D.ofLong(sJ.MAX_VALUE).setDefaultValue(Number.MAX_SAFE_INTEGER)),D.ofLong(sJ.VALUE),(e,t)=>Math.round(Math.random()*(t-e)+e)),RandomDouble:new sJ("RandomDouble",k.of(sJ.MIN_VALUE,D.ofDouble(sJ.MIN_VALUE).setDefaultValue(0)),k.of(sJ.MAX_VALUE,D.ofDouble(sJ.MAX_VALUE).setDefaultValue(Number.MAX_VALUE)),D.ofDouble(sJ.VALUE),(e,t)=>Math.random()*(t-e)+e)},this.filterableNames=Object.values(this.functionObjectsIndex).map(e=>e.getSignature().getFullName())}async find(e,t){return e!=l.MATH?Promise.resolve(void 0):Promise.resolve(this.functionObjectsIndex[t])}async filter(e){return Promise.resolve(this.filterableNames.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}class sz extends e0{static{this.SOURCE="source"}static{this.SCHEMA="schema"}static{this.VALUE="value"}static{this.CONVERSION_MODE="conversionMode"}getSignature(){return this.signature}internalExecute(e){let t=e.getArguments()?.get(sz.SOURCE),r=D.from(e?.getArguments()?.get(sz.SCHEMA));if(!r)throw new er("Schema is not supplied.");let s=ek(e.getArguments()?.get(sz.CONVERSION_MODE))||eH.STRICT;return this.convertToSchema(r,e.getSchemaRepository(),t,s)}async convertToSchema(e,t,r,s){try{return new es([Z.outputOf(j.of(sz.VALUE,eZ.validate([],e,t,r,!0,s)))])}catch(e){throw new er(e?.message)}}constructor(...e){super(...e),this.signature=new ea("ObjectConvert").setNamespace(l.SYSTEM_OBJECT).setParameters(new Map([k.ofEntry(sz.SOURCE,D.ofAny(sz.SCHEMA)),k.ofEntry(sz.SCHEMA,D.SCHEMA,!1,B.CONSTANT),k.ofEntry(sz.CONVERSION_MODE,D.ofString(sz.CONVERSION_MODE).setEnums(e$()))])).setEvents(new Map([Q.outputEventMapEntry(j.of(sz.VALUE,D.ofAny(sz.VALUE)))]))}}const sK="value",sQ="source";class sZ extends e0{constructor(){super(),this.signature=new ea("ObjectDeleteKey").setNamespace(l.SYSTEM_OBJECT).setParameters(new Map([k.ofEntry(sQ,D.ofAny(sQ)),k.ofEntry("key",D.ofString("key"))])).setEvents(new Map([Q.outputEventMapEntry(new Map([[sK,D.ofAny(sK)]]))]))}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(sQ),r=e.getArguments()?.get("key");return h(t)?new es([Z.outputOf(new Map([[sK,void 0]]))]):(t=ta(t),delete t[r],new es([Z.outputOf(new Map([[sK,t]]))]))}}const s0="source";class s1 extends e0{constructor(e,t){super(),this.signature=new ea(e).setNamespace(l.SYSTEM_OBJECT).setParameters(new Map([k.ofEntry(s0,D.ofAny(s0))])).setEvents(new Map([Q.outputEventMapEntry(new Map([["value",t]]))]))}getSignature(){return this.signature}}const s2="value";class s9 extends s1{constructor(){super("ObjectEntries",D.ofArray(s2,D.ofArray("tuple",D.ofString("key"),D.ofAny("value"))))}async internalExecute(e){var t=e.getArguments()?.get("source");if(h(t))return new es([Z.outputOf(new Map([[s2,[]]]))]);let r=Object.entries(ta(t)).sort((e,t)=>e[0].localeCompare(t[0]));return new es([Z.outputOf(new Map([[s2,r]]))])}}const s3="value";class s4 extends s1{constructor(){super("ObjectKeys",D.ofArray(s3,D.ofString(s3)))}async internalExecute(e){var t=e.getArguments()?.get("source");if(h(t))return new es([Z.outputOf(new Map([[s3,[]]]))]);let r=Object.keys(ta(t)).sort((e,t)=>e.localeCompare(t));return new es([Z.outputOf(new Map([[s3,r]]))])}}const s5="value",s6="source",s7="overwrite",s8="deleteKeyOnNull";class ne extends e0{constructor(){super(),this.signature=new ea("ObjectPutValue").setNamespace(l.SYSTEM_OBJECT).setParameters(new Map([k.ofEntry(s6,D.ofObject(s6)),k.ofEntry("key",D.ofString("key")),k.ofEntry(s5,D.ofAny(s5)),k.ofEntry(s7,D.ofBoolean(s7).setDefaultValue(!0)),k.ofEntry(s8,D.ofBoolean(s8).setDefaultValue(!1))])).setEvents(new Map([Q.outputEventMapEntry(new Map([[s5,D.ofObject(s5)]]))]))}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(s6),r=e.getArguments()?.get("key"),s=e.getArguments()?.get(s5),n=e.getArguments()?.get(s7),a=e.getArguments()?.get(s8),i=new tY(t,"Data.");return i.setValue(r,s,n,a),new es([Z.outputOf(new Map([[s5,i.getStore()]]))])}}const nt="value";class nr extends s1{constructor(){super("ObjectValues",D.ofArray(nt,D.ofAny(nt)))}async internalExecute(e){var t=e.getArguments()?.get("source");if(h(t))return new es([Z.outputOf(new Map([[nt,[]]]))]);let r=Object.entries(ta(t)).sort((e,t)=>e[0].localeCompare(t[0])).map(e=>e[1]);return new es([Z.outputOf(new Map([[nt,r]]))])}}class ns{constructor(){this.functionObjectsIndex={ObjectValues:new nr,ObjectKeys:new s4,ObjectEntries:new s9,ObjectDeleteKey:new sZ,ObjectPutValue:new ne,ObjectConvert:new sz},this.filterableNames=Object.values(this.functionObjectsIndex).map(e=>e.getSignature().getFullName())}async find(e,t){return e!=l.SYSTEM_OBJECT?Promise.resolve(void 0):Promise.resolve(this.functionObjectsIndex[t])}async filter(e){return Promise.resolve(this.filterableNames.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}class nn extends e0{static{this.VALUES="values"}static{this.STREAM="stream"}static{this.LOG="LOG"}static{this.ERROR="ERROR"}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(nn.VALUES),r=e.getArguments()?.get(nn.STREAM);return(r===nn.LOG?console?.log:console?.error)?.(...t),new es([Z.outputOf(new Map)])}constructor(...e){super(...e),this.signature=new ea("Print").setNamespace(l.SYSTEM).setParameters(new Map([k.ofEntry(nn.VALUES,D.ofAny(nn.VALUES),!0),k.ofEntry(nn.STREAM,D.ofString(nn.STREAM).setEnums([nn.LOG,nn.ERROR]).setDefaultValue(nn.LOG))])).setEvents(new Map([Q.outputEventMapEntry(new Map)]))}}class na extends e0{static{this.PARAMETER_STRING_NAME="string"}static{this.PARAMETER_SEARCH_STRING_NAME="searchString"}static{this.PARAMETER_SECOND_STRING_NAME="secondString"}static{this.PARAMETER_THIRD_STRING_NAME="thirdString"}static{this.PARAMETER_INDEX_NAME="index"}static{this.PARAMETER_SECOND_INDEX_NAME="secondIndex"}static{this.EVENT_RESULT_NAME="result"}static{this.PARAMETER_STRING=new k(na.PARAMETER_STRING_NAME,D.ofString(na.PARAMETER_STRING_NAME))}static{this.PARAMETER_SECOND_STRING=new k(na.PARAMETER_SECOND_STRING_NAME,D.ofString(na.PARAMETER_SECOND_STRING_NAME))}static{this.PARAMETER_THIRD_STRING=new k(na.PARAMETER_THIRD_STRING_NAME,D.ofString(na.PARAMETER_THIRD_STRING_NAME))}static{this.PARAMETER_INDEX=new k(na.PARAMETER_INDEX_NAME,D.ofInteger(na.PARAMETER_INDEX_NAME))}static{this.PARAMETER_SECOND_INDEX=new k(na.PARAMETER_SECOND_INDEX_NAME,D.ofInteger(na.PARAMETER_SECOND_INDEX_NAME))}static{this.PARAMETER_SEARCH_STRING=new k(na.PARAMETER_SEARCH_STRING_NAME,D.ofString(na.PARAMETER_STRING_NAME))}static{this.EVENT_STRING=new Q(Q.OUTPUT,j.of(na.EVENT_RESULT_NAME,D.ofString(na.EVENT_RESULT_NAME)))}static{this.EVENT_BOOLEAN=new Q(Q.OUTPUT,j.of(na.EVENT_RESULT_NAME,D.ofBoolean(na.EVENT_RESULT_NAME)))}static{this.EVENT_INT=new Q(Q.OUTPUT,j.of(na.EVENT_RESULT_NAME,D.ofInteger(na.EVENT_RESULT_NAME)))}static{this.EVENT_ARRAY=new Q(Q.OUTPUT,j.of(na.EVENT_RESULT_NAME,D.ofArray(na.EVENT_RESULT_NAME)))}constructor(e,t,r,...s){super();let n=new Map;s.forEach(e=>n.set(e.getParameterName(),e)),this.signature=new ea(t).setNamespace(e).setParameters(n).setEvents(j.of(r.getName(),r))}getSignature(){return this.signature}static ofEntryStringStringAndBooleanOutput(e,t){return[e,new class extends na{async internalExecute(e){let r=e?.getArguments()?.get(na.PARAMETER_STRING_NAME),s=e?.getArguments()?.get(na.PARAMETER_SEARCH_STRING_NAME);return new es([Z.outputOf(j.of(na.EVENT_RESULT_NAME,t(r,s)))])}}(l.STRING,e,na.EVENT_BOOLEAN,na.PARAMETER_STRING,na.PARAMETER_SEARCH_STRING)]}static ofEntryStringIntegerAndStringOutput(e,t){return[e,new class extends na{async internalExecute(e){let r=e?.getArguments()?.get(na.PARAMETER_STRING_NAME),s=e?.getArguments()?.get(na.PARAMETER_INDEX_NAME);return new es([Z.outputOf(j.of(na.EVENT_RESULT_NAME,t(r,s)))])}}(l.STRING,e,na.EVENT_STRING,na.PARAMETER_STRING,na.PARAMETER_INDEX)]}static ofEntryStringStringAndIntegerOutput(e,t){return[e,new class extends na{async internalExecute(e){let r=e?.getArguments()?.get(na.PARAMETER_STRING_NAME),s=e?.getArguments()?.get(na.PARAMETER_SEARCH_STRING_NAME);return new es([Z.outputOf(j.of(na.EVENT_RESULT_NAME,t(r,s)))])}}(l.STRING,e,na.EVENT_INT,na.PARAMETER_STRING,na.PARAMETER_SEARCH_STRING)]}static ofEntryStringAndStringOutput(e,t){return[e,new class extends na{async internalExecute(e){let r=e?.getArguments()?.get(na.PARAMETER_STRING_NAME);return new es([Z.outputOf(j.of(na.EVENT_RESULT_NAME,t(r)))])}}(l.STRING,e,na.EVENT_STRING,na.PARAMETER_STRING)]}static ofEntryStringAndBooleanOutput(e,t){return[e,new class extends na{async internalExecute(e){let r=e?.getArguments()?.get(na.PARAMETER_STRING_NAME);return new es([Z.outputOf(j.of(na.EVENT_RESULT_NAME,t(r)))])}}(l.STRING,e,na.EVENT_BOOLEAN,na.PARAMETER_STRING)]}static ofEntryStringStringIntegerAndIntegerOutput(e,t){return[e,new class extends na{async internalExecute(e){let r=e?.getArguments()?.get(na.PARAMETER_STRING_NAME),s=e?.getArguments()?.get(na.PARAMETER_SEARCH_STRING_NAME),n=e?.getArguments()?.get(na.PARAMETER_INDEX_NAME);return new es([Z.outputOf(j.of(na.EVENT_RESULT_NAME,t(r,s,n)))])}}(l.STRING,e,na.EVENT_INT,na.PARAMETER_STRING,na.PARAMETER_SEARCH_STRING,na.PARAMETER_INDEX)]}static ofEntryStringIntegerIntegerAndStringOutput(e,t){return[e,new class extends na{async internalExecute(e){let r=e?.getArguments()?.get(na.PARAMETER_STRING_NAME),s=e?.getArguments()?.get(na.PARAMETER_INDEX_NAME),n=e?.getArguments()?.get(na.PARAMETER_SECOND_INDEX_NAME);return new es([Z.outputOf(j.of(na.EVENT_RESULT_NAME,t(r,s,n)))])}}(l.STRING,e,na.EVENT_STRING,na.PARAMETER_STRING,na.PARAMETER_INDEX,na.PARAMETER_SECOND_INDEX)]}static ofEntryStringStringStringAndStringOutput(e,t){return[e,new class extends na{async internalExecute(e){let r=e?.getArguments()?.get(na.PARAMETER_STRING_NAME),s=e?.getArguments()?.get(na.PARAMETER_SECOND_STRING_NAME),n=e?.getArguments()?.get(na.PARAMETER_THIRD_STRING_NAME);return new es([Z.outputOf(j.of(na.EVENT_RESULT_NAME,t(r,s,n)))])}}(l.STRING,e,na.EVENT_STRING,na.PARAMETER_STRING,na.PARAMETER_SECOND_STRING,na.PARAMETER_THIRD_STRING)]}static ofEntryStringAndIntegerOutput(e,t){return[e,new class extends na{async internalExecute(e){let r=e?.getArguments()?.get(na.PARAMETER_STRING_NAME);return new es([Z.outputOf(j.of(na.EVENT_RESULT_NAME,t(r)))])}}(l.STRING,e,na.EVENT_INT,na.PARAMETER_STRING)]}}class ni extends e0{static{this.VALUE="value"}constructor(){super(),this.signature=new ea("Concatenate").setNamespace(l.STRING).setParameters(new Map([[ni.VALUE,new k(ni.VALUE,new D().setName(ni.VALUE).setType(new w(p.STRING))).setVariableArgument(!0)]])).setEvents(new Map([Q.outputEventMapEntry(new Map([[ni.VALUE,D.ofString(ni.VALUE)]]))]))}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(ni.VALUE),r="";return t.reduce((e,t)=>r=e+t,r),new es([Z.outputOf(new Map([[ni.VALUE,r]]))])}}class no extends e0{static{this.PARAMETER_STRING_NAME="string"}static{this.PARAMETER_AT_START_NAME="startPosition"}static{this.PARAMETER_AT_END_NAME="endPosition"}static{this.EVENT_RESULT_NAME="result"}constructor(){super(),this.PARAMETER_STRING=new k(no.PARAMETER_STRING_NAME,D.ofString(no.PARAMETER_STRING_NAME)),this.PARAMETER_AT_START=new k(no.PARAMETER_AT_START_NAME,D.ofInteger(no.PARAMETER_AT_START_NAME)),this.PARAMETER_AT_END=new k(no.PARAMETER_AT_END_NAME,D.ofInteger(no.PARAMETER_AT_END_NAME)),this.EVENT_STRING=new Q(Q.OUTPUT,new Map([[no.EVENT_RESULT_NAME,D.ofString(no.EVENT_RESULT_NAME)]])),this.signature=new ea("DeleteForGivenLength").setNamespace(l.STRING).setParameters(new Map([[this.PARAMETER_STRING.getParameterName(),this.PARAMETER_STRING],[this.PARAMETER_AT_START.getParameterName(),this.PARAMETER_AT_START],[this.PARAMETER_AT_END.getParameterName(),this.PARAMETER_AT_END]])).setEvents(new Map([[this.EVENT_STRING.getName(),this.EVENT_STRING]]))}getSignature(){return this.signature}async internalExecute(e){let t=e?.getArguments()?.get(no.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(no.PARAMETER_AT_START_NAME),s=e?.getArguments()?.get(no.PARAMETER_AT_END_NAME);if(s>=r){let e="";return e+=t.substring(0,r),e+=t.substring(s),new es([Z.outputOf(new Map([[no.EVENT_RESULT_NAME,e.toString()]]))])}return new es([Z.outputOf(new Map([[no.EVENT_RESULT_NAME,t]]))])}}class nE extends e0{static{this.PARAMETER_STRING_NAME="string"}static{this.PARAMETER_AT_POSITION_NAME="position"}static{this.PARAMETER_INSERT_STRING_NAME="insertString"}getSignature(){return this.signature}async internalExecute(e){let t=e?.getArguments()?.get(nE.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(nE.PARAMETER_AT_POSITION_NAME),s=e?.getArguments()?.get(nE.PARAMETER_INSERT_STRING_NAME),n="";return n+=t.substring(0,r),n+=s,n+=t.substring(r),new es([Z.outputOf(new Map([[this.EVENT_RESULT_NAME,n]]))])}constructor(...e){super(...e),this.EVENT_RESULT_NAME="result",this.PARAMETER_STRING=new k(nE.PARAMETER_STRING_NAME,D.ofString(nE.PARAMETER_STRING_NAME)),this.PARAMETER_AT_POSITION=new k(nE.PARAMETER_AT_POSITION_NAME,D.ofInteger(nE.PARAMETER_AT_POSITION_NAME)),this.PARAMETER_INSERT_STRING=new k(nE.PARAMETER_INSERT_STRING_NAME,D.ofString(nE.PARAMETER_INSERT_STRING_NAME)),this.EVENT_STRING=new Q(Q.OUTPUT,new Map([[this.EVENT_RESULT_NAME,D.ofString(this.EVENT_RESULT_NAME)]])),this.signature=new ea("InsertAtGivenPosition").setNamespace(l.STRING).setParameters(new Map([[this.PARAMETER_STRING.getParameterName(),this.PARAMETER_STRING],[this.PARAMETER_AT_POSITION.getParameterName(),this.PARAMETER_AT_POSITION],[this.PARAMETER_INSERT_STRING.getParameterName(),this.PARAMETER_INSERT_STRING]])).setEvents(new Map([Q.outputEventMapEntry(new Map([[this.EVENT_RESULT_NAME,D.ofString(this.EVENT_RESULT_NAME)]]))]))}}class nu extends e0{static{this.PARAMETER_REGEX_NAME="regex"}static{this.PARAMETER_STRING_NAME="string"}static{this.EVENT_RESULT_NAME="result"}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(nu.PARAMETER_REGEX_NAME),r=e.getArguments()?.get(nu.PARAMETER_STRING_NAME);return new es([Z.outputOf(new Map([[nu.EVENT_RESULT_NAME,!!r.match(t)?.length]]))])}constructor(...e){super(...e),this.signature=new ea("Matches").setNamespace(l.STRING).setParameters(j.ofEntries(j.entry(...k.ofEntry(nu.PARAMETER_REGEX_NAME,D.ofString(nu.PARAMETER_REGEX_NAME))),j.entry(...k.ofEntry(nu.PARAMETER_STRING_NAME,D.ofString(nu.PARAMETER_STRING_NAME))))).setEvents(j.ofEntries(j.entry(...Q.outputEventMapEntry(new Map([[nu.EVENT_RESULT_NAME,D.ofBoolean(nu.EVENT_RESULT_NAME)]])))))}}class nA extends e0{static{this.PARAMETER_STRING_NAME="string"}static{this.PARAMETER_POSTPAD_STRING_NAME="postpadString"}static{this.PARAMETER_LENGTH_NAME="length"}static{this.EVENT_RESULT_NAME="result"}static{this.PARAMETER_STRING=new k(nA.PARAMETER_STRING_NAME,D.ofString(nA.PARAMETER_STRING_NAME))}static{this.PARAMETER_POSTPAD_STRING=new k(nA.PARAMETER_POSTPAD_STRING_NAME,D.ofString(nA.PARAMETER_POSTPAD_STRING_NAME))}static{this.PARAMETER_LENGTH=new k(nA.PARAMETER_LENGTH_NAME,D.ofInteger(nA.PARAMETER_LENGTH_NAME))}static{this.EVENT_STRING=new Q(Q.OUTPUT,new Map([[nA.EVENT_RESULT_NAME,D.ofString(nA.EVENT_RESULT_NAME)]]))}constructor(){super(),this.signature=new ea("PostPad").setNamespace(l.STRING).setParameters(new Map([[nA.PARAMETER_STRING.getParameterName(),nA.PARAMETER_STRING],[nA.PARAMETER_POSTPAD_STRING.getParameterName(),nA.PARAMETER_POSTPAD_STRING],[nA.PARAMETER_LENGTH.getParameterName(),nA.PARAMETER_LENGTH]])).setEvents(new Map([[nA.EVENT_STRING.getName(),nA.EVENT_STRING]]))}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(nA.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(nA.PARAMETER_POSTPAD_STRING_NAME),s=e.getArguments()?.get(nA.PARAMETER_LENGTH_NAME),n="",a=r.length;for(n+=t;a<=s;)n+=r,a+=r.length;return n.length-t.length<s&&(n+=r.substring(0,s-(n.length-t.length))),new es([Z.outputOf(new Map([[nA.EVENT_RESULT_NAME,n.toString()]]))])}}class nT extends e0{static{this.PARAMETER_STRING_NAME="string"}static{this.PARAMETER_PREPAD_STRING_NAME="prepadString"}static{this.PARAMETER_LENGTH_NAME="length"}static{this.EVENT_RESULT_NAME="result"}static{this.PARAMETER_STRING=new k(nT.PARAMETER_STRING_NAME,D.ofString(nT.PARAMETER_STRING_NAME))}static{this.PARAMETER_PREPAD_STRING=new k(nT.PARAMETER_PREPAD_STRING_NAME,D.ofString(nT.PARAMETER_PREPAD_STRING_NAME))}static{this.PARAMETER_LENGTH=new k(nT.PARAMETER_LENGTH_NAME,D.ofInteger(nT.PARAMETER_LENGTH_NAME))}static{this.EVENT_STRING=new Q(Q.OUTPUT,new Map([[nT.EVENT_RESULT_NAME,D.ofString(nT.EVENT_RESULT_NAME)]]))}getSignature(){return this.signature}constructor(){super(),this.signature=new ea("PrePad").setNamespace(l.STRING).setParameters(new Map([[nT.PARAMETER_STRING.getParameterName(),nT.PARAMETER_STRING],[nT.PARAMETER_PREPAD_STRING.getParameterName(),nT.PARAMETER_PREPAD_STRING],[nT.PARAMETER_LENGTH.getParameterName(),nT.PARAMETER_LENGTH]])).setEvents(new Map([[nT.EVENT_STRING.getName(),nT.EVENT_STRING]]))}async internalExecute(e){let t=e.getArguments()?.get(nT.PARAMETER_STRING_NAME),r=e.getArguments()?.get(nT.PARAMETER_PREPAD_STRING_NAME),s=e.getArguments()?.get(nT.PARAMETER_LENGTH_NAME),n="",a=r.length;for(;a<=s;)n+=r,a+=r.length;return n.length<s&&(n+=r.substring(0,s-n.length)),n+=t,new es([Z.outputOf(new Map([[nT.EVENT_RESULT_NAME,n]]))])}}class nl extends e0{static{this.PARAMETER_STRING_NAME="string"}static{this.PARAMETER_BOOLEAN_NAME="boolean"}static{this.PARAMETER_FIRST_OFFSET_NAME="firstOffset"}static{this.PARAMETER_OTHER_STRING_NAME="otherString"}static{this.PARAMETER_SECOND_OFFSET_NAME="secondOffset"}static{this.PARAMETER_INTEGER_NAME="length"}static{this.EVENT_RESULT_NAME="result"}static{this.PARAMETER_STRING=new k(nl.PARAMETER_STRING_NAME,D.ofString(nl.PARAMETER_STRING_NAME))}static{this.PARAMETER_OTHER_STRING=new k(nl.PARAMETER_OTHER_STRING_NAME,D.ofString(nl.PARAMETER_OTHER_STRING_NAME))}static{this.PARAMETER_FIRST_OFFSET=new k(nl.PARAMETER_FIRST_OFFSET_NAME,D.ofInteger(nl.PARAMETER_FIRST_OFFSET_NAME))}static{this.PARAMETER_SECOND_OFFSET=new k(nl.PARAMETER_SECOND_OFFSET_NAME,D.ofInteger(nl.PARAMETER_SECOND_OFFSET_NAME))}static{this.PARAMETER_INTEGER=new k(nl.PARAMETER_INTEGER_NAME,D.ofInteger(nl.PARAMETER_INTEGER_NAME))}static{this.PARAMETER_BOOLEAN=new k(nl.PARAMETER_BOOLEAN_NAME,D.ofBoolean(nl.PARAMETER_BOOLEAN_NAME))}static{this.EVENT_BOOLEAN=new Q(Q.OUTPUT,new Map([[nl.EVENT_RESULT_NAME,D.ofBoolean(nl.EVENT_RESULT_NAME)]]))}getSignature(){return this.signature}constructor(){super(),this.signature=new ea("RegionMatches").setNamespace(l.STRING).setParameters(new Map([[nl.PARAMETER_STRING.getParameterName(),nl.PARAMETER_STRING],[nl.PARAMETER_BOOLEAN.getParameterName(),nl.PARAMETER_BOOLEAN],[nl.PARAMETER_FIRST_OFFSET.getParameterName(),nl.PARAMETER_FIRST_OFFSET],[nl.PARAMETER_OTHER_STRING.getParameterName(),nl.PARAMETER_OTHER_STRING],[nl.PARAMETER_SECOND_OFFSET.getParameterName(),nl.PARAMETER_SECOND_OFFSET],[nl.PARAMETER_INTEGER.getParameterName(),nl.PARAMETER_INTEGER]])).setEvents(new Map([[nl.EVENT_BOOLEAN.getName(),nl.EVENT_BOOLEAN]]))}async internalExecute(e){let t=e.getArguments()?.get(nl.PARAMETER_STRING_NAME),r=e.getArguments()?.get(nl.PARAMETER_BOOLEAN_NAME),s=e.getArguments()?.get(nl.PARAMETER_FIRST_OFFSET_NAME),n=e?.getArguments()?.get(nl.PARAMETER_OTHER_STRING_NAME),a=e?.getArguments()?.get(nl.PARAMETER_SECOND_OFFSET_NAME),i=e.getArguments()?.get(nl.PARAMETER_INTEGER_NAME),o=!1;return o=!(s<0)&&!(a<0)&&!(s+i>t.length)&&!(a+i>n.length)&&(r?(t=t.substring(s,s+i).toUpperCase())==n.substring(a,a+i).toUpperCase():(t=t.substring(s,s+i))==n.substring(a,i)),new es([Z.outputOf(new Map([[nl.EVENT_RESULT_NAME,o]]))])}}class nm extends e0{static{this.PARAMETER_STRING_NAME="string"}static{this.PARAMETER_AT_START_NAME="startPosition"}static{this.PARAMETER_AT_LENGTH_NAME="lengthPosition"}static{this.PARAMETER_REPLACE_STRING_NAME="replaceString"}static{this.EVENT_RESULT_NAME="result"}static{this.PARAMETER_STRING=new k(nm.PARAMETER_STRING_NAME,D.ofString(nm.PARAMETER_STRING_NAME))}static{this.PARAMETER_AT_START=new k(nm.PARAMETER_AT_START_NAME,D.ofInteger(nm.PARAMETER_AT_START_NAME))}static{this.PARAMETER_AT_LENGTH=new k(nm.PARAMETER_AT_LENGTH_NAME,D.ofInteger(nm.PARAMETER_AT_LENGTH_NAME))}static{this.PARAMETER_REPLACE_STRING=new k(nm.PARAMETER_REPLACE_STRING_NAME,D.ofString(nm.PARAMETER_REPLACE_STRING_NAME))}static{this.EVENT_STRING=new Q(Q.OUTPUT,new Map([[nm.EVENT_RESULT_NAME,D.ofString(nm.EVENT_RESULT_NAME)]]))}constructor(){super(),this.signature=new ea("ReplaceAtGivenPosition").setNamespace(l.STRING).setParameters(new Map([[nm.PARAMETER_STRING.getParameterName(),nm.PARAMETER_STRING],[nm.PARAMETER_AT_START.getParameterName(),nm.PARAMETER_AT_START],[nm.PARAMETER_AT_LENGTH.getParameterName(),nm.PARAMETER_AT_LENGTH],[nm.PARAMETER_REPLACE_STRING.getParameterName(),nm.PARAMETER_REPLACE_STRING]])).setEvents(new Map([[nm.EVENT_STRING.getName(),nm.EVENT_STRING]]))}getSignature(){return this.signature}async internalExecute(e){let t=e?.getArguments()?.get(nm.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(nm.PARAMETER_AT_START_NAME),s=e?.getArguments()?.get(nm.PARAMETER_AT_LENGTH_NAME),n=e?.getArguments()?.get(nm.PARAMETER_REPLACE_STRING_NAME);if(t.length,r<s){let e="";e+=t.substring(0,r),e+=n,e+=t.substring(r+s)}return new es([Z.outputOf(new Map([[nm.EVENT_RESULT_NAME,t]]))])}}class nR extends e0{constructor(){super(),this.VALUE="value",this.signature=new ea("Reverse").setNamespace(l.STRING).setParameters(new Map([[this.VALUE,new k(this.VALUE,D.ofString(this.VALUE)).setVariableArgument(!1)]])).setEvents(new Map([Q.outputEventMapEntry(new Map([[this.VALUE,new D().setType(d.of(p.STRING)).setName(this.VALUE)]]))]))}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(this.VALUE),r=t.length-1,s="";for(;r>=0;)s+=t.charAt(r--);return new es([Z.outputOf(j.of(this.VALUE,s))])}}class nh extends e0{getSignature(){return this.signature}constructor(){super(),this.PARAMETER_STRING_NAME="string",this.PARAMETER_SPLIT_STRING_NAME="searchString",this.EVENT_RESULT_NAME="result",this.PARAMETER_STRING=new k(this.PARAMETER_STRING_NAME,D.ofString(this.PARAMETER_STRING_NAME)),this.PARAMETER_SPLIT_STRING=new k(this.PARAMETER_SPLIT_STRING_NAME,D.ofString(this.PARAMETER_SPLIT_STRING_NAME)),this.EVENT_ARRAY=new Q(Q.OUTPUT,j.of(this.EVENT_RESULT_NAME,D.ofArray(this.EVENT_RESULT_NAME))),this.signature=new ea("Split").setNamespace(l.STRING).setParameters(new Map([[this.PARAMETER_STRING_NAME,this.PARAMETER_STRING],[this.PARAMETER_SPLIT_STRING_NAME,this.PARAMETER_SPLIT_STRING]])).setEvents(new Map([Q.outputEventMapEntry(new Map([[this.EVENT_RESULT_NAME,D.ofArray(this.EVENT_RESULT_NAME)]]))]))}async internalExecute(e){let t=e.getArguments()?.get(this.PARAMETER_STRING_NAME),r=e.getArguments()?.get(this.PARAMETER_SPLIT_STRING_NAME);return new es([Z.outputOf(j.of(this.EVENT_RESULT_NAME,t.split(r)))])}}class ng extends e0{getSignature(){return this.signature}constructor(){super(),this.PARAMETER_INPUT_ANYTYPE_NAME="anytype",this.EVENT_RESULT_NAME="result",this.PARAMETER_INPUT_ANYTYPE=new k(this.PARAMETER_INPUT_ANYTYPE_NAME,D.ofAny(this.PARAMETER_INPUT_ANYTYPE_NAME)),this.EVENT_STRING=new Q(Q.OUTPUT,new Map([[this.EVENT_RESULT_NAME,D.ofString(this.EVENT_RESULT_NAME)]])),this.signature=new ea("ToString").setNamespace(l.STRING).setParameters(new Map([[this.PARAMETER_INPUT_ANYTYPE.getParameterName(),this.PARAMETER_INPUT_ANYTYPE]])).setEvents(new Map([[this.EVENT_STRING.getName(),this.EVENT_STRING]]))}async internalExecute(e){let t=e.getArguments()?.get(this.PARAMETER_INPUT_ANYTYPE_NAME),r="";return r="object"==typeof t?JSON.stringify(t,void 0,2):""+t,new es([Z.outputOf(new Map([[this.EVENT_RESULT_NAME,r]]))])}}class nc extends e0{static{this.PARAMETER_STRING_NAME="string"}static{this.PARAMETER_LENGTH_NAME="length"}static{this.EVENT_RESULT_NAME="result"}static{this.PARAMETER_STRING=new k(nc.PARAMETER_STRING_NAME,D.ofString(nc.PARAMETER_STRING_NAME))}static{this.PARAMETER_LENGTH=new k(nc.PARAMETER_LENGTH_NAME,D.ofInteger(nc.PARAMETER_LENGTH_NAME))}static{this.EVENT_STRING=new Q(Q.OUTPUT,new Map([[nc.EVENT_RESULT_NAME,D.ofString(nc.EVENT_RESULT_NAME)]]))}getSignature(){return this.signature}constructor(){super(),this.signature=new ea("TrimTo").setNamespace(l.STRING).setParameters(new Map([[nc.PARAMETER_STRING.getParameterName(),nc.PARAMETER_STRING],[nc.PARAMETER_LENGTH.getParameterName(),nc.PARAMETER_LENGTH]])).setEvents(new Map([[nc.EVENT_STRING.getName(),nc.EVENT_STRING]]))}async internalExecute(e){let t=e.getArguments()?.get(nc.PARAMETER_STRING_NAME),r=e.getArguments()?.get(nc.PARAMETER_LENGTH_NAME);return new es([Z.outputOf(new Map([[nc.EVENT_RESULT_NAME,t.substring(0,r)]]))])}}class np{async find(e,t){return e!=l.STRING?Promise.resolve(void 0):Promise.resolve(this.repoMap.get(t))}async filter(e){return Promise.resolve(this.filterableNames.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}constructor(){this.repoMap=j.ofArrayEntries(na.ofEntryStringAndStringOutput("Trim",e=>e.trim()),na.ofEntryStringAndStringOutput("TrimStart",e=>e.trimStart()),na.ofEntryStringAndStringOutput("TrimEnd",e=>e.trimEnd()),na.ofEntryStringAndIntegerOutput("Length",e=>e.length),na.ofEntryStringStringAndIntegerOutput("Frequency",(e,t)=>{let r=0,s=e.indexOf(t);for(;-1!=s;)r++,s=e.indexOf(t,s+1);return r}),na.ofEntryStringAndStringOutput("LowerCase",e=>e.toLocaleLowerCase()),na.ofEntryStringAndStringOutput("UpperCase",e=>e.toUpperCase()),na.ofEntryStringAndBooleanOutput("IsBlank",e=>""===e.trim()),na.ofEntryStringAndBooleanOutput("IsEmpty",e=>""===e),na.ofEntryStringStringAndBooleanOutput("Contains",(e,t)=>-1!=e.indexOf(t)),na.ofEntryStringStringAndBooleanOutput("EndsWith",(e,t)=>e.endsWith(t)),na.ofEntryStringStringAndBooleanOutput("StartsWith",(e,t)=>e.startsWith(t)),na.ofEntryStringStringAndBooleanOutput("EqualsIgnoreCase",(e,t)=>e.toUpperCase()==t.toUpperCase()),na.ofEntryStringStringAndBooleanOutput("Matches",(e,t)=>new RegExp(t).test(e)),na.ofEntryStringStringAndIntegerOutput("IndexOf",(e,t)=>e.indexOf(t)),na.ofEntryStringStringAndIntegerOutput("LastIndexOf",(e,t)=>e.lastIndexOf(t)),na.ofEntryStringIntegerAndStringOutput("Repeat",(e,t)=>e.repeat(t)),na.ofEntryStringStringIntegerAndIntegerOutput("IndexOfWithStartPoint",(e,t,r)=>e.indexOf(t,r)),na.ofEntryStringStringIntegerAndIntegerOutput("LastIndexOfWithStartPoint",(e,t,r)=>e.lastIndexOf(t,r)),na.ofEntryStringStringStringAndStringOutput("Replace",(e,t,r)=>e.replaceAll(t,r)),na.ofEntryStringStringStringAndStringOutput("ReplaceFirst",(e,t,r)=>e.replace(t,r)),na.ofEntryStringIntegerIntegerAndStringOutput("SubString",(e,t,r)=>e.substring(t,r)),q(new ni),q(new no),q(new nE),q(new nA),q(new nT),q(new nl),q(new nm),q(new nR),q(new nh),q(new ng),q(new nc),q(new nu)),this.filterableNames=Array.from(this.repoMap.values()).map(e=>e.getSignature().getFullName())}}class nN extends e0{static{this.PARAMETER_TIMESTAMP_NAME="isoTimeStamp"}static{this.PARAMETER_TIMESTAMP_NAME_ONE="isoTimeStamp1"}static{this.PARAMETER_TIMESTAMP_NAME_TWO="isoTimeStamp2"}static{this.PARAMETER_UNIT_NAME="unit"}static{this.PARAMETER_NUMBER_NAME="number"}static{this.PARAMETER_TIMESTAMP=new k(nN.PARAMETER_TIMESTAMP_NAME,D.ofRef(l.DATE+".Timestamp"))}static{this.PARAMETER_TIMESTAMP_ONE=new k(nN.PARAMETER_TIMESTAMP_NAME_ONE,D.ofRef(l.DATE+".Timestamp"))}static{this.PARAMETER_TIMESTAMP_TWO=new k(nN.PARAMETER_TIMESTAMP_NAME_TWO,D.ofRef(l.DATE+".Timestamp"))}static{this.PARAMETER_VARIABLE_UNIT=new k(nN.PARAMETER_UNIT_NAME,D.ofRef(l.DATE+".Timeunit")).setVariableArgument(!0)}static{this.PARAMETER_UNIT=new k(nN.PARAMETER_UNIT_NAME,D.ofRef(l.DATE+".Timeunit"))}static{this.PARAMETER_NUMBER=new k(nN.PARAMETER_NUMBER_NAME,D.ofInteger(nN.PARAMETER_NUMBER_NAME))}static{this.EVENT_RESULT_NAME="result"}static{this.EVENT_TIMESTAMP_NAME="isoTimeStamp"}static{this.EVENT_INT=new Q(Q.OUTPUT,j.of(nN.EVENT_RESULT_NAME,D.ofInteger(nN.EVENT_RESULT_NAME)))}static{this.EVENT_STRING=new Q(Q.OUTPUT,j.of(nN.EVENT_RESULT_NAME,D.ofString(nN.EVENT_RESULT_NAME)))}static{this.EVENT_LONG=new Q(Q.OUTPUT,j.of(nN.EVENT_RESULT_NAME,D.ofLong(nN.EVENT_RESULT_NAME)))}static{this.EVENT_BOOLEAN=new Q(Q.OUTPUT,j.of(nN.EVENT_RESULT_NAME,D.ofBoolean(nN.EVENT_RESULT_NAME)))}static{this.EVENT_TIMESTAMP=new Q(Q.OUTPUT,j.of(nN.EVENT_TIMESTAMP_NAME,D.ofRef(l.DATE+".Timestamp")))}getSignature(){return this.signature}constructor(e,t,...r){if(super(),this.signature=new ea(e).setNamespace(l.DATE).setEvents(j.of(t.getName(),t)),!r?.length)return;let s=new Map;r.forEach(e=>s.set(e.getParameterName(),e)),this.signature.setParameters(s)}static ofEntryTimestampAndIntegerOutput(e,t){return[e,new class extends nN{async internalExecute(e){return new es([Z.outputOf(j.of(nN.EVENT_RESULT_NAME,t(e.getArguments()?.get(nN.PARAMETER_TIMESTAMP_NAME))))])}}(e,nN.EVENT_INT,nN.PARAMETER_TIMESTAMP)]}static ofEntryTimestampAndBooleanOutput(e,t){return[e,new class extends nN{async internalExecute(e){return new es([Z.outputOf(j.of(nN.EVENT_RESULT_NAME,t(e.getArguments()?.get(nN.PARAMETER_TIMESTAMP_NAME))))])}}(e,nN.EVENT_BOOLEAN,nN.PARAMETER_TIMESTAMP)]}static ofEntryTimestampAndStringOutput(e,t){return[e,new class extends nN{async internalExecute(e){return new es([Z.outputOf(j.of(nN.EVENT_RESULT_NAME,t(e.getArguments()?.get(nN.PARAMETER_TIMESTAMP_NAME))))])}}(e,nN.EVENT_STRING,nN.PARAMETER_TIMESTAMP)]}static ofEntryTimestampIntegerAndTimestampOutput(e,t){return[e,new class extends nN{async internalExecute(e){return new es([Z.outputOf(j.of(nN.EVENT_RESULT_NAME,t(e.getArguments()?.get(nN.PARAMETER_TIMESTAMP_NAME),e.getArguments()?.get(nN.PARAMETER_NUMBER_NAME))))])}}(e,nN.EVENT_TIMESTAMP,nN.PARAMETER_TIMESTAMP,nN.PARAMETER_NUMBER)]}static ofEntryTimestampTimestampAndTOutput(e,t,r,...s){return[e,new class extends nN{async internalExecute(e){let t=[];return s?.length&&t.push(...s.map(t=>e.getArguments()?.get(t.getParameterName()))),new es([Z.outputOf(j.of(nN.EVENT_RESULT_NAME,r(e.getArguments()?.get(nN.PARAMETER_TIMESTAMP_NAME_ONE),e.getArguments()?.get(nN.PARAMETER_TIMESTAMP_NAME_TWO),t)))])}}(e,t,nN.PARAMETER_TIMESTAMP_ONE,nN.PARAMETER_TIMESTAMP_TWO,...s)]}}function nf(e){let t=(0,i.DateTime).fromISO(e,{setZone:!0});if(!t?.isValid)throw Error("Invalid ISO timestamp");return t}class n_ extends nN{static{this.PARAMETER_YEARS_NAME="years"}static{this.PARAMETER_MONTHS_NAME="months"}static{this.PARAMETER_DAYS_NAME="days"}static{this.PARAMETER_HOURS_NAME="hours"}static{this.PARAMETER_MINUTES_NAME="minutes"}static{this.PARAMETER_SECONDS_NAME="seconds"}static{this.PARAMETER_MILLISECONDS_NAME="milliseconds"}constructor(e){super(e?"AddTime":"SubtractTime",nN.EVENT_TIMESTAMP,nN.PARAMETER_TIMESTAMP,k.of(n_.PARAMETER_YEARS_NAME,D.ofNumber(n_.PARAMETER_YEARS_NAME).setDefaultValue(0)),k.of(n_.PARAMETER_MONTHS_NAME,D.ofNumber(n_.PARAMETER_MONTHS_NAME).setDefaultValue(0)),k.of(n_.PARAMETER_DAYS_NAME,D.ofNumber(n_.PARAMETER_DAYS_NAME).setDefaultValue(0)),k.of(n_.PARAMETER_HOURS_NAME,D.ofNumber(n_.PARAMETER_HOURS_NAME).setDefaultValue(0)),k.of(n_.PARAMETER_MINUTES_NAME,D.ofNumber(n_.PARAMETER_MINUTES_NAME).setDefaultValue(0)),k.of(n_.PARAMETER_SECONDS_NAME,D.ofNumber(n_.PARAMETER_SECONDS_NAME).setDefaultValue(0)),k.of(n_.PARAMETER_MILLISECONDS_NAME,D.ofNumber(n_.PARAMETER_MILLISECONDS_NAME).setDefaultValue(0))),this.isAdd=e}async internalExecute(e){let t;let r=nf(e.getArguments()?.get(nN.PARAMETER_TIMESTAMP_NAME)),s=e.getArguments()?.get(n_.PARAMETER_YEARS_NAME),n=e.getArguments()?.get(n_.PARAMETER_MONTHS_NAME),a=e.getArguments()?.get(n_.PARAMETER_DAYS_NAME),i=e.getArguments()?.get(n_.PARAMETER_HOURS_NAME),o={years:s,months:n,days:a,hours:i,minutes:e.getArguments()?.get(n_.PARAMETER_MINUTES_NAME),seconds:e.getArguments()?.get(n_.PARAMETER_SECONDS_NAME),milliseconds:e.getArguments()?.get(n_.PARAMETER_MILLISECONDS_NAME)};return t=this.isAdd?r.plus(o):r.minus(o),new es([Z.outputOf(j.of(nN.EVENT_TIMESTAMP_NAME,t.toISO()))])}}class nM extends e0{constructor(e,t){super(),this.paramName=`epoch${t?"Seconds":"Milliseconds"}`,this.isSeconds=t,this.signature=new ea(e).setNamespace(l.DATE).setParameters(new Map([[this.paramName,k.of(this.paramName,new D().setName(this.paramName).setType(d.of(p.LONG,p.INTEGER,p.STRING)))]])).setEvents(new Map([[nN.EVENT_TIMESTAMP.getName(),nN.EVENT_TIMESTAMP]]))}getSignature(){return this.signature}internalExecute(e){let t=parseInt(e.getArguments()?.get(this.paramName)),r=this.isSeconds?1e3*t:t;if(isNaN(r))throw Error(`Please provide a valid value for ${this.paramName}.`);return Promise.resolve(new es([Z.outputOf(j.of(nN.EVENT_TIMESTAMP_NAME,new Date(r).toISOString()))]))}}class nS extends e0{constructor(e,t){super(),this.isSeconds=t,this.signature=new ea(e).setNamespace(l.DATE).setParameters(new Map([[nN.PARAMETER_TIMESTAMP_NAME,nN.PARAMETER_TIMESTAMP]])).setEvents(new Map([[nN.EVENT_TIMESTAMP.getName(),nN.EVENT_LONG]]))}getSignature(){return this.signature}internalExecute(e){let t=e.getArguments()?.get(nN.PARAMETER_TIMESTAMP_NAME),r=this.isSeconds?(0,i.DateTime).fromISO(t).toSeconds():(0,i.DateTime).fromISO(t).toMillis();return Promise.resolve(new es([Z.outputOf(j.of(nN.EVENT_RESULT_NAME,r))]))}}class nO extends nN{static{this.PARAMETER_FORMAT_NAME="format"}static{this.PARAMETER_LOCALE_NAME="locale"}constructor(){super("ToDateString",nN.EVENT_STRING,nN.PARAMETER_TIMESTAMP,k.of(nO.PARAMETER_FORMAT_NAME,D.ofString(nO.PARAMETER_FORMAT_NAME)),k.of(nO.PARAMETER_LOCALE_NAME,D.ofString(nO.PARAMETER_LOCALE_NAME).setDefaultValue("")))}async internalExecute(e){let t=nf(e.getArguments()?.get(nN.PARAMETER_TIMESTAMP_NAME)),r=e.getArguments()?.get(nO.PARAMETER_FORMAT_NAME),s=e.getArguments()?.get(nO.PARAMETER_LOCALE_NAME);return""===s&&(s="system"),new es([Z.outputOf(j.of(nN.EVENT_RESULT_NAME,t.toFormat(r,{locale:s})))])}}class nw extends nN{static{this.PARAMETER_TIMEZONE_NAME="timezone"}constructor(){super("SetTimeZone",nN.EVENT_TIMESTAMP,nN.PARAMETER_TIMESTAMP,k.of(nw.PARAMETER_TIMEZONE_NAME,D.ofString(nw.PARAMETER_TIMEZONE_NAME)))}async internalExecute(e){let t=nf(e.getArguments()?.get(nN.PARAMETER_TIMESTAMP_NAME)),r=e.getArguments()?.get(nw.PARAMETER_TIMEZONE_NAME);return new es([Z.outputOf(j.of(nN.EVENT_TIMESTAMP_NAME,t.setZone(r).toISO()))])}}class nd extends nN{static{this.PARAMETER_START_TIMESTAMP_NAME="startTimestamp"}static{this.PARAMETER_END_TIMESTAMP_NAME="endTimestamp"}static{this.PARAMETER_CHECK_TIMESTAMP_NAME="checkTimestamp"}constructor(){super("IsBetween",nd.EVENT_BOOLEAN,k.of(nd.PARAMETER_START_TIMESTAMP_NAME,D.ofRef(l.DATE+".Timestamp")),k.of(nd.PARAMETER_END_TIMESTAMP_NAME,D.ofRef(l.DATE+".Timestamp")),k.of(nd.PARAMETER_CHECK_TIMESTAMP_NAME,D.ofRef(l.DATE+".Timestamp")))}async internalExecute(e){let t=e.getArguments()?.get(nd.PARAMETER_START_TIMESTAMP_NAME),r=e.getArguments()?.get(nd.PARAMETER_END_TIMESTAMP_NAME),s=e.getArguments()?.get(nd.PARAMETER_CHECK_TIMESTAMP_NAME),n=nf(t),a=nf(r),i=nf(s);return n>a&&([n,a]=[a,n]),new es([Z.outputOf(j.of(nd.EVENT_RESULT_NAME,n<=i&&i<=a))])}}class nI extends e0{constructor(e){super(),this.isLast=e,this.signature=new ea(e?"LastOf":"FirstOf").setNamespace(l.DATE).setParameters(new Map([[nN.PARAMETER_TIMESTAMP_NAME,new k(nN.PARAMETER_TIMESTAMP_NAME,D.ofRef(l.DATE+".Timestamp")).setVariableArgument(!0)]])).setEvents(new Map([[nN.EVENT_TIMESTAMP.getName(),nN.EVENT_TIMESTAMP]]))}getSignature(){return this.signature}internalExecute(e){let t=e.getArguments()?.get(nN.PARAMETER_TIMESTAMP_NAME);if(!t?.length)throw Error("No timestamps provided");let r=t.map(e=>nf(e));return r.sort((e,t)=>e.toMillis()-t.toMillis()),Promise.resolve(new es([Z.outputOf(j.of(nN.EVENT_TIMESTAMP_NAME,r[this.isLast?r.length-1:0].toISO()))]))}}class nP extends nN{static{this.EVENT_TIME_OBJECT_NAME="object"}static{this.EVENT_TIME_ARRAY_NAME="array"}constructor(e){super(e?"TimeAsArray":"TimeAsObject",new Q(Q.OUTPUT,j.of(e?nP.EVENT_TIME_ARRAY_NAME:nP.EVENT_TIME_OBJECT_NAME,e?D.ofArray(nP.EVENT_TIME_ARRAY_NAME,D.ofInteger("timeParts")):D.ofRef(l.DATE+".TimeObject"))),nN.PARAMETER_TIMESTAMP),this.isArray=e}async internalExecute(e){let t=nf(e.getArguments()?.get(nN.PARAMETER_TIMESTAMP_NAME)).toObject();return new es([Z.outputOf(j.of(this.isArray?nP.EVENT_TIME_ARRAY_NAME:nP.EVENT_TIME_OBJECT_NAME,this.isArray?[t.year,t.month,t.day,t.hour,t.minute,t.second,t.millisecond]:t))])}}class ny extends nN{constructor(e){super(e?"StartOf":"EndOf",nN.EVENT_TIMESTAMP,nN.PARAMETER_TIMESTAMP,nN.PARAMETER_UNIT),this.isStart=e}async internalExecute(e){let t=nf(e.getArguments()?.get(nN.PARAMETER_TIMESTAMP_NAME)),r=e.getArguments()?.get(nN.PARAMETER_UNIT_NAME)?.toLowerCase();r=r.substring(0,r.length-1);let s=this.isStart?t.startOf(r):t.endOf(r);return new es([Z.outputOf(j.of(nN.EVENT_TIMESTAMP_NAME,s.toISO({includeOffset:!0})))])}}class nx extends nN{static{this.EVENT_NAMES_NAME="names"}static{this.PARAMETER_UNIT_NAME="unit"}static{this.PARAMETER_LOCALE_NAME="locale"}constructor(){super("GetNames",new Q(nx.EVENT_NAMES_NAME,j.of(nx.EVENT_NAMES_NAME,D.ofArray(nx.EVENT_NAMES_NAME,D.ofString(nx.EVENT_NAMES_NAME)))),new k(nx.PARAMETER_UNIT_NAME,D.ofString(nx.PARAMETER_UNIT_NAME).setEnums(["TIMEZONES","MONTHS","WEEKDAYS"])),new k(nx.PARAMETER_LOCALE_NAME,D.ofString(nx.PARAMETER_LOCALE_NAME).setDefaultValue("system")))}async internalExecute(e){let t=e.getArguments()?.get(nx.PARAMETER_UNIT_NAME),r=e.getArguments()?.get(nx.PARAMETER_LOCALE_NAME);return new es([Z.outputOf(j.of(nx.EVENT_NAMES_NAME,this.getNames(t,r)))])}getNames(e,t){return"TIMEZONES"===e?Intl.supportedValuesOf("timeZone"):"MONTHS"===e?[1,2,3,4,5,6,7,8,9,10,11,12].map(e=>(0,i.DateTime).now().setLocale(t).set({month:e}).toFormat("MMMM")):"WEEKDAYS"===e?[1,2,3,4,5,6,7].map(e=>(0,i.DateTime).now().setLocale(t).set({month:7,year:2024,day:e}).toFormat("EEEE")):[]}}class nL extends e0{internalExecute(e){let t=e.getArguments()?.get(nN.PARAMETER_TIMESTAMP_NAME),r=(0,i.DateTime).fromISO(t);return Promise.resolve(new es([Z.outputOf(j.of(nN.EVENT_RESULT_NAME,r.isValid))]))}getSignature(){return this.signature}constructor(...e){super(...e),this.signature=new ea("IsValidISODate").setNamespace(l.DATE).setParameters(new Map([k.ofEntry(nN.PARAMETER_TIMESTAMP_NAME,D.ofString(nN.PARAMETER_TIMESTAMP_NAME))])).setEvents(new Map([Q.outputEventMapEntry(j.of(nN.EVENT_RESULT_NAME,D.ofBoolean(nN.EVENT_RESULT_NAME)))]))}}class nv extends nN{static{this.PARAMETER_BASE_NAME="base"}static{this.PARAMETER_BASE=new k(nv.PARAMETER_BASE_NAME,D.ofRef(l.DATE+".Timestamp").setDefaultValue(""))}static{this.PARAMETER_LOCALE_NAME="locale"}static{this.PARAMETER_LOCALE=new k(nv.PARAMETER_LOCALE_NAME,D.ofString(nv.PARAMETER_LOCALE_NAME).setDefaultValue("system"))}static{this.PARAMETER_FORMAT_NAME="format"}static{this.PARAMETER_FORMAT=new k(nv.PARAMETER_FORMAT_NAME,D.ofString(nv.PARAMETER_FORMAT_NAME).setEnums(["LONG","SHORT","NARROW"]).setDefaultValue("LONG"))}static{this.PARAMETER_ROUND_NAME="round"}static{this.PARAMETER_ROUND=new k(nv.PARAMETER_ROUND_NAME,D.ofBoolean(nv.PARAMETER_ROUND_NAME).setDefaultValue(!0))}constructor(){super("FromNow",nN.EVENT_STRING,nN.PARAMETER_TIMESTAMP,nv.PARAMETER_FORMAT,nv.PARAMETER_BASE,nN.PARAMETER_VARIABLE_UNIT,nv.PARAMETER_ROUND,nv.PARAMETER_LOCALE)}internalExecute(e){let t=e.getArguments()?.get(nv.PARAMETER_BASE_NAME),r=""===t?(0,i.DateTime).now():(0,i.DateTime).fromISO(t),s=e.getArguments()?.get(nN.PARAMETER_TIMESTAMP_NAME),n=(0,i.DateTime).fromISO(s),a=e.getArguments()?.get(nv.PARAMETER_UNIT_NAME),o=e.getArguments()?.get(nv.PARAMETER_FORMAT_NAME),E=e.getArguments()?.get(nv.PARAMETER_ROUND_NAME),u=e.getArguments()?.get(nv.PARAMETER_LOCALE_NAME),A={base:r,style:o?.toLowerCase(),round:E,locale:u};return a?.length>0&&(A.unit=a.map(e=>e.toLowerCase())),Promise.resolve(new es([Z.outputOf(j.of(nN.EVENT_RESULT_NAME,n.toRelative(A)??"Unknown"))]))}}class nU extends nN{static{this.PARAMETER_FORMAT_NAME="format"}static{this.PARAMETER_TIMESTAMP_STRING_NAME="timestampString"}constructor(){super("FromDateString",nN.EVENT_TIMESTAMP,k.of(nU.PARAMETER_TIMESTAMP_STRING_NAME,D.ofString(nU.PARAMETER_TIMESTAMP_STRING_NAME)),k.of(nU.PARAMETER_FORMAT_NAME,D.ofString(nU.PARAMETER_FORMAT_NAME)))}async internalExecute(e){let t=e.getArguments()?.get(nU.PARAMETER_TIMESTAMP_STRING_NAME),r=e.getArguments()?.get(nU.PARAMETER_FORMAT_NAME),s=(0,i.DateTime).fromFormat(t,r);return new es([Z.outputOf(j.of(nN.EVENT_RESULT_NAME,s.toISO()))])}}class nV extends nN{constructor(){super("GetCurrentTimestamp",nN.EVENT_TIMESTAMP)}async internalExecute(e){return new es([Z.outputOf(j.of(nN.EVENT_TIMESTAMP_NAME,(0,i.DateTime).now().toISO()))])}}class nC{find(e,t){return e!=l.DATE?Promise.resolve(void 0):Promise.resolve(this.repoMap.get(t))}filter(e){return Promise.resolve(this.filterableNames.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}constructor(){this.repoMap=j.ofArrayEntries(["EpochSecondsToTimestamp",new nM("EpochSecondsToTimestamp",!0)],["EpochMillisecondsToTimestamp",new nM("EpochMillisecondsToTimestamp",!1)],nN.ofEntryTimestampAndIntegerOutput("GetDay",e=>nf(e).day),nN.ofEntryTimestampAndIntegerOutput("GetDayOfWeek",e=>nf(e).weekday),nN.ofEntryTimestampAndIntegerOutput("GetMonth",e=>nf(e).month),nN.ofEntryTimestampAndIntegerOutput("GetYear",e=>nf(e).year),nN.ofEntryTimestampAndIntegerOutput("GetHours",e=>nf(e).hour),nN.ofEntryTimestampAndIntegerOutput("GetMinutes",e=>nf(e).minute),nN.ofEntryTimestampAndIntegerOutput("GetSeconds",e=>nf(e).second),nN.ofEntryTimestampAndIntegerOutput("GetMilliseconds",e=>nf(e).millisecond),nN.ofEntryTimestampAndIntegerOutput("GetDaysInMonth",e=>nf(e).daysInMonth),nN.ofEntryTimestampAndIntegerOutput("GetDaysInYear",e=>nf(e).daysInYear),["TimestampToEpochSeconds",new nS("TimestampToEpochSeconds",!0)],["TimestampToEpochMilliseconds",new nS("TimestampToEpochMilliseconds",!1)],nN.ofEntryTimestampAndStringOutput("GetTimeZoneName",e=>nf(e).zoneName),nN.ofEntryTimestampAndStringOutput("GetTimeZoneOffsetLong",e=>nf(e).offsetNameLong),nN.ofEntryTimestampAndStringOutput("GetTimeZoneOffsetShort",e=>nf(e).offsetNameShort),nN.ofEntryTimestampAndIntegerOutput("GetTimeZoneOffset",e=>nf(e).offset),["ToDateString",new nO],["AddTime",new n_(!0)],["SubtractTime",new n_(!1)],["GetCurrentTimestamp",new nV],nN.ofEntryTimestampTimestampAndTOutput("Difference",new Q(Q.OUTPUT,j.of(nN.EVENT_RESULT_NAME,D.ofRef(`${l.DATE}.Duration`))),(e,t,r)=>{let s;let n=nf(e),a=nf(t);r?.[0]?.length&&(s=r[0]?.filter(e=>!!e).map(e=>e.toLowerCase()));let i=n.diff(a);return s?.length?i.shiftTo(...s).toObject():i.toObject()},nN.PARAMETER_VARIABLE_UNIT),nN.ofEntryTimestampIntegerAndTimestampOutput("SetDay",(e,t)=>nf(e).set({day:t}).toISO()),nN.ofEntryTimestampIntegerAndTimestampOutput("SetMonth",(e,t)=>nf(e).set({month:t}).toISO()),nN.ofEntryTimestampIntegerAndTimestampOutput("SetYear",(e,t)=>nf(e).set({year:t}).toISO()),nN.ofEntryTimestampIntegerAndTimestampOutput("SetHours",(e,t)=>nf(e).set({hour:t}).toISO()),nN.ofEntryTimestampIntegerAndTimestampOutput("SetMinutes",(e,t)=>nf(e).set({minute:t}).toISO()),nN.ofEntryTimestampIntegerAndTimestampOutput("SetSeconds",(e,t)=>nf(e).set({second:t}).toISO()),nN.ofEntryTimestampIntegerAndTimestampOutput("SetMilliseconds",(e,t)=>nf(e).set({millisecond:t}).toISO()),["SetTimeZone",new nw],nN.ofEntryTimestampTimestampAndTOutput("IsBefore",new Q(Q.OUTPUT,j.of(nN.EVENT_RESULT_NAME,D.ofBoolean(nN.EVENT_RESULT_NAME))),(e,t)=>nf(e)<nf(t)),nN.ofEntryTimestampTimestampAndTOutput("IsAfter",new Q(Q.OUTPUT,j.of(nN.EVENT_RESULT_NAME,D.ofBoolean(nN.EVENT_RESULT_NAME))),(e,t)=>nf(e)>nf(t)),nN.ofEntryTimestampTimestampAndTOutput("IsSame",new Q(Q.OUTPUT,j.of(nN.EVENT_RESULT_NAME,D.ofBoolean(nN.EVENT_RESULT_NAME))),(e,t)=>nf(e)===nf(t)),nN.ofEntryTimestampTimestampAndTOutput("IsSameOrBefore",new Q(Q.OUTPUT,j.of(nN.EVENT_RESULT_NAME,D.ofBoolean(nN.EVENT_RESULT_NAME))),(e,t)=>nf(e)<=nf(t)),nN.ofEntryTimestampTimestampAndTOutput("IsSameOrAfter",new Q(Q.OUTPUT,j.of(nN.EVENT_RESULT_NAME,D.ofBoolean(nN.EVENT_RESULT_NAME))),(e,t)=>nf(e)>=nf(t)),nN.ofEntryTimestampAndBooleanOutput("IsInLeapYear",e=>nf(e).isInLeapYear),nN.ofEntryTimestampAndBooleanOutput("IsInDST",e=>nf(e).isInDST),["IsBetween",new nd],["LastOf",new nI(!0)],["FirstOf",new nI(!1)],["StartOf",new ny(!0)],["EndOf",new ny(!1)],["TimeAsObject",new nP(!1)],["TimeAsArray",new nP(!0)],["GetNames",new nx],["IsValidISODate",new nL],["FromNow",new nv],["FromDateString",new nU]),this.filterableNames=Array.from(this.repoMap.values()).map(e=>e.getSignature().getFullName())}}class nD extends e0{static{this.MILLIS="millis"}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(nD.MILLIS);return await new Promise(e=>setTimeout(e,t)),new es([Z.outputOf(new Map)])}constructor(...e){super(...e),this.signature=new ea("Wait").setNamespace(l.SYSTEM).setParameters(new Map([k.ofEntry(nD.MILLIS,D.ofNumber(nD.MILLIS).setMinimum(0).setDefaultValue(0))])).setEvents(new Map([Q.outputEventMapEntry(new Map)]))}}var nb={};E(nb,"HybridRepository",()=>nG);class nG{constructor(...e){this.repos=e}async find(e,t){for(let r of this.repos){let s=await r.find(e,t);if(s)return s}}async filter(e){let t=new Set;for(let r of this.repos)(await r.filter(e)).forEach(e=>t.add(e));return Array.from(t)}}class nF extends e0{static{this.SOURCE="source"}static{this.SCHEMA="schema"}static{this.IS_VALID="isValid"}getSignature(){return this.signature}internalExecute(e){let t=e.getArguments()?.get(nF.SOURCE),r=D.from(e?.getArguments()?.get(nF.SCHEMA));if(!r)throw new er("Schema is not supplied.");return this.validateSchema(r,e.getSchemaRepository(),t)}async validateSchema(e,t,r){try{return await eZ.validate([],e,t,r,!0),new es([Z.outputOf(j.of(nF.IS_VALID,!0))])}catch(e){return new es([Z.outputOf(j.of(nF.IS_VALID,!1))])}}constructor(...e){super(...e),this.signature=new ea("ValidateSchema").setNamespace(l.SYSTEM_OBJECT).setParameters(new Map([k.ofEntry(nF.SOURCE,D.ofAny(nF.SCHEMA)),k.ofEntry(nF.SCHEMA,D.SCHEMA,!1,B.CONSTANT)])).setEvents(new Map([Q.outputEventMapEntry(j.of(nF.IS_VALID,D.ofBoolean(nF.IS_VALID)))]))}}class nY{constructor(){this.map=new Map([[l.SYSTEM_CTX,new Map([q(new t7),q(new rt),q(new sl)])],[l.SYSTEM_LOOP,new Map([q(new sU),q(new sS),q(new sN),q(new sP)])],[l.SYSTEM,new Map([q(new sc),q(new sg),q(new nn),q(new nD),q(new t2),q(new nF)])]]),this.filterableNames=Array.from(this.map.values()).flatMap(e=>Array.from(e.values())).map(e=>e.getSignature().getFullName())}async find(e,t){return this.map.get(e)?.get(t)}async filter(e){return Array.from(this.filterableNames).filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase()))}}class nB extends nG{constructor(){super(new nY,new sq,new np,new t9,new ns,new nC)}}var nH={};E(nH,"StatementExecution",()=>nj);var nk={};E(nk,"StatementMessage",()=>n$);class n${constructor(e,t){this.message=t,this.messageType=e}getMessageType(){return this.messageType}setMessageType(e){return this.messageType=e,this}getMessage(){return this.message}setMessage(e){return this.message=e,this}toString(){return`${this.messageType} : ${this.message}`}}class nj{constructor(e){this.messages=[],this.dependencies=new Set,this.statement=e}getStatement(){return this.statement}setStatement(e){return this.statement=e,this}getMessages(){return this.messages}setMessages(e){return this.messages=e,this}getDependencies(){return this.dependencies}setDependencies(e){return this.dependencies=e,this}getUniqueKey(){return this.statement.getStatementName()}addMessage(e,t){this.messages.push(new n$(e,t))}addDependency(e){this.dependencies.add(e)}getDepenedencies(){return this.dependencies}equals(e){return e instanceof nj&&e.statement.equals(this.statement)}}var nW={};E(nW,"ContextTokenValueExtractor",()=>nX);class nX extends tF{static{this.PREFIX="Context."}constructor(e){super(),this.context=e}getValueInternal(e){let t=e.split(tF.REGEX_DOT),r=t[1],s=r.indexOf("["),n=2;return -1!=s&&(r=t[1].substring(0,s),t[1]=t[1].substring(s),n=1),this.retrieveElementFrom(e,t,n,this.context.get(r)?.getElement())}getPrefix(){return nX.PREFIX}getStore(){return h(this.context)?this.context:Array.from(this.context.entries()).reduce((e,[t,r])=>(h(r)||(e[t]=r.getElement()),e),{})}}var nJ={};E(nJ,"OutputMapTokenValueExtractor",()=>nq);class nq extends tF{static{this.PREFIX="Steps."}constructor(e){super(),this.output=e}getValueInternal(e){let t=e.split(tF.REGEX_DOT),r=1,s=this.output.get(t[r++]);if(!s||r>=t.length)return;let n=s.get(t[r++]);if(!n||r>t.length)return;if(r===t.length)return n;let a=t[r].indexOf("[");if(-1===a){let s=n.get(t[r++]);return this.retrieveElementFrom(e,t,r,s)}let i=t[r].substring(0,a),o=n.get(i);return this.retrieveElementFrom(e,t,r,{[i]:o})}getPrefix(){return nq.PREFIX}getStore(){return this.convertMapToObj(this.output)}convertMapToObj(e){return 0===e.size?{}:Array.from(e.entries()).reduce((e,[t,r])=>(e[t]=r instanceof Map?this.convertMapToObj(r):r,e),{})}}var nz={};E(nz,"ArgumentsTokenValueExtractor",()=>nK);class nK extends tF{static{this.PREFIX="Arguments."}constructor(e){super(),this.args=e}getValueInternal(e){let t=e.split(tF.REGEX_DOT),r=t[1],s=r.indexOf("["),n=2;return -1!=s&&(r=t[1].substring(0,s),t[1]=t[1].substring(s),n=1),this.retrieveElementFrom(e,t,n,this.args.get(r))}getPrefix(){return nK.PREFIX}getStore(){return h(this.args)?this.args:Array.from(this.args.entries()).reduce((e,[t,r])=>(e[t]=r,e),{})}}var nQ={};E(nQ,"GraphVertex",()=>n1);var nZ={};E(nZ,"ExecutionGraph",()=>n0);class n0{constructor(e=!1){this.nodeMap=new Map,this.isSubGrph=e}getVerticesData(){return Array.from(this.nodeMap.values()).map(e=>e.getData())}addVertex(e){if(!this.nodeMap.has(e.getUniqueKey())){let t=new n1(this,e);this.nodeMap.set(e.getUniqueKey(),t)}return this.nodeMap.get(e.getUniqueKey())}getVertex(e){return this.nodeMap.get(e)}getVertexData(e){if(this.nodeMap.has(e))return this.nodeMap.get(e).getData()}getVerticesWithNoIncomingEdges(){return Array.from(this.nodeMap.values()).filter(e=>!e.hasIncomingEdges())}isCyclic(){let e,t=new el(this.getVerticesWithNoIncomingEdges()),r=new Set;for(;!t.isEmpty();){if(r.has(t.getFirst().getKey()))return!0;e=t.removeFirst(),r.add(e.getKey()),e.hasOutgoingEdges()&&t.addAll(Array.from(e.getOutVertices().values()).flatMap(e=>Array.from(e)))}return!1}addVertices(e){for(let t of e)this.addVertex(t)}getNodeMap(){return this.nodeMap}isSubGraph(){return this.isSubGrph}toString(){return"Execution Graph : \n"+Array.from(this.nodeMap.values()).map(e=>e.toString()).join("\n")}}class n1{constructor(e,t){this.outVertices=new Map,this.inVertices=new Set,this.data=t,this.graph=e}getData(){return this.data}setData(e){return this.data=e,this}getOutVertices(){return this.outVertices}setOutVertices(e){return this.outVertices=e,this}getInVertices(){return this.inVertices}setInVertices(e){return this.inVertices=e,this}getGraph(){return this.graph}setGraph(e){return this.graph=e,this}getKey(){return this.data.getUniqueKey()}addOutEdgeTo(e,t){return this.outVertices.has(e)||this.outVertices.set(e,new Set),this.outVertices.get(e).add(t),t.inVertices.add(new eN(this,e)),t}addInEdgeTo(e,t){return this.inVertices.add(new eN(e,t)),e.outVertices.has(t)||e.outVertices.set(t,new Set),e.outVertices.get(t).add(this),e}hasIncomingEdges(){return!!this.inVertices.size}hasOutgoingEdges(){return!!this.outVertices.size}getSubGraphOfType(e){let t=new n0(!0);var r=new el(Array.from(this.outVertices.get(e)??[]));for(r.map(e=>e.getData()).forEach(e=>t.addVertex(e));!r.isEmpty();)Array.from(r.pop().outVertices.values()).flatMap(e=>Array.from(e)).forEach(e=>{t.addVertex(e.getData()),r.add(e)});return t}toString(){var e=Array.from(this.getInVertices()).map(e=>e.getT1().getKey()+"("+e.getT2()+")").join(", "),t=Array.from(this.outVertices.entries()).map(([e,t])=>e+": "+Array.from(t).map(e=>e.getKey()).join(",")).join("\n ");return this.getKey()+":\n In: "+e+"\n Out: \n "+t}}var n2={};E(n2,"KIRuntime",()=>ar);var n9={};E(n9,"JsonExpression",()=>n3);class n3{constructor(e){this.expression=e}getExpression(){return this.expression}}var n4={};E(n4,"ParameterReferenceType",()=>n5);var n5=((n={}).VALUE="VALUE",n.EXPRESSION="EXPRESSION",n),n6={};function n7(){var e=new Date().getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var r=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"==t?r:3&r|8).toString(16)})}E(n6,"FunctionExecutionParameters",()=>n8);class n8{constructor(e,t,r){this.count=0,this.executionContext=new Map,this.valueExtractors=new Map,this.functionRepository=e,this.schemaRepository=t,this.executionId=r??n7()}getExecutionId(){return this.executionId}getContext(){return this.context}setContext(e){this.context=e;let t=new nX(e);return this.valueExtractors.set(t.getPrefix(),t),this}getArguments(){return this.args}setArguments(e){return this.args=e,this}getEvents(){return this.events}setEvents(e){return this.events=e,this}getStatementExecution(){return this.statementExecution}setStatementExecution(e){return this.statementExecution=e,this}getSteps(){return this.steps}setSteps(e){this.steps=e;let t=new nq(e);return this.valueExtractors.set(t.getPrefix(),t),this}getCount(){return this.count}setCount(e){return this.count=e,this}getValuesMap(){return this.valueExtractors}getFunctionRepository(){return this.functionRepository}setFunctionRepository(e){return this.functionRepository=e,this}getSchemaRepository(){return this.schemaRepository}setSchemaRepository(e){return this.schemaRepository=e,this}addTokenValueExtractor(...e){for(let t of e)this.valueExtractors.set(t.getPrefix(),t);return this}setValuesMap(e){for(let[t,r]of e.entries())this.valueExtractors.set(t,r);return this}setExecutionContext(e){return this.executionContext=e,this}getExecutionContext(){return this.executionContext}}var ae={};E(ae,"StatementMessageType",()=>at);var at=((a={}).ERROR="ERROR",a.WARNING="WARNING",a.MESSAGE="MESSAGE",a);class ar extends e0{static{this.PARAMETER_NEEDS_A_VALUE='Parameter "$" needs a value'}static{this.STEP_REGEX_PATTERN=RegExp("Steps\\.([a-zA-Z0-9\\\\-]{1,})\\.([a-zA-Z0-9\\\\-]{1,})","g")}static{this.VERSION=1}static{this.MAX_EXECUTION_ITERATIONS=1e7}constructor(e,t=!1){if(super(),this.debugMode=!1,this.debugMode=t,this.fd=e,this.fd.getVersion()>ar.VERSION)throw new er("Runtime is at a lower version "+ar.VERSION+" and trying to run code from version "+this.fd.getVersion()+".")}getSignature(){return this.fd}async getExecutionPlan(e,t){let r=new n0;for(let s of Array.from(this.fd.getSteps().values()))r.addVertex(await this.prepareStatementExecution(s,e,t));return Array.from(this.makeEdges(r).getT2().entries()).forEach(e=>{let t=r.getNodeMap().get(e[0])?.getData();t&&t.addMessage(at.ERROR,e[1])}),r}async internalExecute(e){e.getContext()||e.setContext(new Map),e.getEvents()||e.setEvents(new Map),e.getSteps()||e.setSteps(new Map),e.getArguments()&&e.addTokenValueExtractor(new nK(e.getArguments())),this.debugMode&&(console.log(`EID: ${e.getExecutionId()} Executing: ${this.fd.getNamespace()}.${this.fd.getName()}`),console.log(`EID: ${e.getExecutionId()} Parameters: `,e));let t=await this.getExecutionPlan(e.getFunctionRepository(),e.getSchemaRepository());this.debugMode&&console.log(`EID: ${e.getExecutionId()} ${t?.toString()}`);let r=t.getVerticesData().filter(e=>e.getMessages().length).map(e=>e.getStatement().getStatementName()+": \n"+e.getMessages().join(","));if(r?.length)throw new er("Please fix the errors in the function definition before execution : \n"+r.join(",\n"));return await this.executeGraph(t,e)}async executeGraph(e,t){let r=new el;r.addAll(e.getVerticesWithNoIncomingEdges());let s=new el;for(;(!r.isEmpty()||!s.isEmpty())&&!t.getEvents()?.has(Q.OUTPUT);)if(await this.processBranchQue(t,r,s),await this.processExecutionQue(t,r,s),t.setCount(t.getCount()+1),t.getCount()==ar.MAX_EXECUTION_ITERATIONS)throw new er("Execution locked in an infinite loop");if(!e.isSubGraph()&&!t.getEvents()?.size){let e=this.getSignature().getEvents();if(e.size&&e.get(Q.OUTPUT)?.getParameters()?.size)throw new er("No events raised")}let n=Array.from(t.getEvents()?.entries()??[]).flatMap(e=>e[1].map(t=>Z.of(e[0],t)));return new es(n.length||e.isSubGraph()?n:[Z.of(Q.OUTPUT,new Map)])}async processExecutionQue(e,t,r){if(!t.isEmpty()){let s=t.pop();await this.allDependenciesResolvedVertex(s,e.getSteps())?await this.executeVertex(s,e,r,t,e.getFunctionRepository()):t.add(s)}}async processBranchQue(e,t,r){if(r.length){let s=r.pop();await this.allDependenciesResolvedTuples(s.getT2(),e.getSteps())?await this.executeBranch(e,t,s):r.add(s)}}async executeBranch(e,t,r){let s,n=r.getT4();do if(r.getT1().getVerticesData().map(e=>e.getStatement().getStatementName()).forEach(t=>e.getSteps()?.delete(t)),await this.executeGraph(r.getT1(),e),(s=r.getT3().next())&&(e.getSteps()?.has(n.getData().getStatement().getStatementName())||e.getSteps()?.set(n.getData().getStatement().getStatementName(),new Map),e.getSteps()?.get(n.getData().getStatement().getStatementName())?.set(s.getName(),this.resolveInternalExpressions(s.getResult(),e)),this.debugMode)){let t=n.getData().getStatement();console.log(`EID: ${e.getExecutionId()} Step : ${t.getStatementName()} => ${t.getNamespace()}.${t.getName()}`),console.log(`EID: ${e.getExecutionId()} Event : ${s.getName()} : `,e.getSteps().get(t.getStatementName()).get(s.getName()))}while(s&&s.getName()!=Q.OUTPUT)s?.getName()==Q.OUTPUT&&n.getOutVertices().has(Q.OUTPUT)&&(n?.getOutVertices()?.get(Q.OUTPUT)??[]).forEach(async r=>{await this.allDependenciesResolvedVertex(r,e.getSteps())&&t.add(r)})}async executeVertex(e,t,r,s,n){let a,i=e.getData().getStatement();if(i.getExecuteIftrue().size&&!(Array.from(i.getExecuteIftrue().entries())??[]).filter(e=>e[1]).map(([e])=>new su(e).evaluate(t.getValuesMap())).every(e=>!h(e)&&!1!==e))return;let o=await n.find(i.getNamespace(),i.getName());if(!o)throw new er(eT.format("$.$ function is not found.",i.getNamespace(),i.getName()));let E=o?.getSignature().getParameters(),u=this.getArgumentsFromParametersMap(t,i,E??new Map);this.debugMode&&(console.log(`EID: ${t.getExecutionId()} Step : ${i.getStatementName()} => ${i.getNamespace()}.${i.getName()}`),console.log(`EID: ${t.getExecutionId()} Arguments : `,u));let A=t.getContext();a=o instanceof ar?new n8(t.getFunctionRepository(),t.getSchemaRepository(),`${t.getExecutionId()}_${i.getStatementName()}`).setArguments(u).setValuesMap(new Map(Array.from(t.getValuesMap().values()).filter(e=>e.getPrefix()!==nK.PREFIX&&e.getPrefix()!==nq.PREFIX&&e.getPrefix()!==nX.PREFIX).map(e=>[e.getPrefix(),e]))):new n8(t.getFunctionRepository(),t.getSchemaRepository(),t.getExecutionId()).setValuesMap(t.getValuesMap()).setContext(A).setArguments(u).setEvents(t.getEvents()).setSteps(t.getSteps()).setStatementExecution(e.getData()).setCount(t.getCount()).setExecutionContext(t.getExecutionContext());let T=await o.execute(a),l=T.next();if(!l)throw new er(eT.format("Executing $ returned no events",i.getStatementName()));let m=l.getName()==Q.OUTPUT;if(t.getSteps()?.has(i.getStatementName())||t.getSteps().set(i.getStatementName(),new Map),t.getSteps().get(i.getStatementName()).set(l.getName(),this.resolveInternalExpressions(l.getResult(),t)),this.debugMode&&(console.log(`EID: ${t.getExecutionId()} Step : ${i.getStatementName()} => ${i.getNamespace()}.${i.getName()}`),console.log(`EID: ${t.getExecutionId()} Event : ${l.getName()} : `,t.getSteps().get(i.getStatementName()).get(l.getName()))),m){let r=e.getOutVertices().get(Q.OUTPUT);r&&r.forEach(async e=>{await this.allDependenciesResolvedVertex(e,t.getSteps())&&s.add(e)})}else{let t=e.getSubGraphOfType(l.getName()),s=this.makeEdges(t).getT1();r.push(new e_(t,s,T,e))}}resolveInternalExpressions(e,t){return e?Array.from(e.entries()).map(e=>new eN(e[0],this.resolveInternalExpression(e[1],t))).reduce((e,t)=>(e.set(t.getT1(),t.getT2()),e),new Map):e}resolveInternalExpression(e,t){if(h(e)||"object"!=typeof e)return e;if(e instanceof n3)return new su(e.getExpression()).evaluate(t.getValuesMap());if(Array.isArray(e)){let r=[];for(let s of e)r.push(this.resolveInternalExpression(s,t));return r}if("object"==typeof e){let r={};for(let s of Object.entries(e))r[s[0]]=this.resolveInternalExpression(s[1],t);return r}}allDependenciesResolvedTuples(e,t){for(let r of e)if(!t.has(r.getT1())||!t.get(r.getT1())?.get(r.getT2()))return!1;return!0}allDependenciesResolvedVertex(e,t){return!e.getInVertices().size||0==Array.from(e.getInVertices()).filter(e=>{let r=e.getT1().getData().getStatement().getStatementName(),s=e.getT2();return!(t.has(r)&&t.get(r)?.has(s))}).length}getArgumentsFromParametersMap(e,t,r){return Array.from(t.getParameterMap().entries()).map(t=>{let s,n=Array.from(t[1]?.values()??[]);if(!n?.length)return new eN(t[0],s);let a=r.get(t[0]);return a?(s=a.isVariableArgument()?n.sort((e,t)=>(e.getOrder()??0)-(t.getOrder()??0)).filter(e=>!h(e)).map(t=>this.parameterReferenceEvaluation(e,t)).flatMap(e=>Array.isArray(e)?e:[e]):this.parameterReferenceEvaluation(e,n[0]),new eN(t[0],s)):new eN(t[0],void 0)}).filter(e=>!h(e.getT2())).reduce((e,t)=>(e.set(t.getT1(),t.getT2()),e),new Map)}parameterReferenceEvaluation(e,t){let r;return t.getType()==n5.VALUE?r=this.resolveInternalExpression(t.getValue(),e):t.getType()!=n5.EXPRESSION||eg.isNullOrBlank(t.getExpression())||(r=new su(t.getExpression()??"").evaluate(e.getValuesMap())),r}async prepareStatementExecution(e,t,r){let s=new nj(e),n=await t.find(e.getNamespace(),e.getName());if(!n)return s.addMessage(at.ERROR,eT.format("$.$ is not available",e.getNamespace(),e.getName())),Promise.resolve(s);let a=new Map(n.getSignature().getParameters());if(!e.getParameterMap())return Promise.resolve(s);for(let t of Array.from(e.getParameterMap().entries())){let e=a.get(t[0]);if(!e)continue;let n=Array.from(t[1]?.values()??[]);if(!n.length&&!e.isVariableArgument()){await eO.hasDefaultValueOrNullSchemaType(e.getSchema(),r)||s.addMessage(at.ERROR,eT.format(ar.PARAMETER_NEEDS_A_VALUE,e.getParameterName())),a.delete(e.getParameterName());continue}if(e.isVariableArgument())for(let t of(n.sort((e,t)=>(e.getOrder()??0)-(t.getOrder()??0)),n))this.parameterReferenceValidation(s,e,t,r);else if(n.length){let t=n[0];this.parameterReferenceValidation(s,e,t,r)}a.delete(e.getParameterName())}if(!h(s.getStatement().getDependentStatements()))for(let e of Array.from(s.getStatement().getDependentStatements().entries()))e[1]&&s.addDependency(e[0]);if(!h(s.getStatement().getExecuteIftrue()))for(let e of Array.from(s.getStatement().getExecuteIftrue().entries()))e[1]&&this.addDependencies(s,e[0]);if(a.size)for(let e of Array.from(a.values()))e.isVariableArgument()||await eO.hasDefaultValueOrNullSchemaType(e.getSchema(),r)||s.addMessage(at.ERROR,eT.format(ar.PARAMETER_NEEDS_A_VALUE,e.getParameterName()));return Promise.resolve(s)}async parameterReferenceValidation(e,t,r,s){if(r){if(r.getType()==n5.VALUE){if(h(r.getValue())&&!await eO.hasDefaultValueOrNullSchemaType(t.getSchema(),s)&&e.addMessage(at.ERROR,eT.format(ar.PARAMETER_NEEDS_A_VALUE,t.getParameterName())),h(r.getValue()))return;let n=new el;for(n.push(new eN(t.getSchema(),r.getValue()));!n.isEmpty();){let t=n.pop();if(t.getT2()instanceof n3)this.addDependencies(e,t.getT2().getExpression());else{if(h(t.getT1())||h(t.getT1().getType()))continue;if(t.getT1().getType()?.contains(p.ARRAY)&&Array.isArray(t.getT2())){let e=t.getT1().getItems();if(!e)continue;if(e.isSingleType())for(let r of t.getT2())n.push(new eN(e.getSingleSchema(),r));else{let r=t.getT2();for(let t=0;t<r.length;t++)n.push(new eN(e.getTupleSchema()[t],r[t]))}}else if(t.getT1().getType()?.contains(p.OBJECT)&&"object"==typeof t.getT2()){let r=t.getT1();if(r.getName()===k.EXPRESSION.getName()&&r.getNamespace()===k.EXPRESSION.getNamespace()){let r=t.getT2();r.isExpression&&this.addDependencies(e,r.value)}else if(r.getProperties())for(let e of Object.entries(t.getT2()))r.getProperties().has(e[0])&&n.push(new eN(r.getProperties().get(e[0]),e[1]))}}}}else if(r.getType()==n5.EXPRESSION){if(eg.isNullOrBlank(r.getExpression()))h(eO.getDefaultValue(t.getSchema(),s))&&e.addMessage(at.ERROR,eT.format(ar.PARAMETER_NEEDS_A_VALUE,t.getParameterName()));else try{this.addDependencies(e,r.getExpression())}catch(t){e.addMessage(at.ERROR,eT.format("Error evaluating $ : $",r.getExpression(),t))}}}else h(await eO.getDefaultValue(t.getSchema(),s))&&e.addMessage(at.ERROR,eT.format(ar.PARAMETER_NEEDS_A_VALUE,t.getParameterName()))}addDependencies(e,t){t&&Array.from(t.match(ar.STEP_REGEX_PATTERN)??[]).forEach(t=>e.addDependency(t))}makeEdges(e){let t=e.getNodeMap().values(),r=[],s=new Map;for(let n of Array.from(t))for(let t of Array.from(n.getData().getDependencies())){let a=t.indexOf(".",6),i=t.substring(6,a),o=t.indexOf(".",a+1),E=-1==o?t.substring(a+1):t.substring(a+1,o);e.getNodeMap().has(i)?n.addInEdgeTo(e.getNodeMap().get(i),E):(r.push(new eN(i,E)),s.set(n.getData().getStatement().getStatementName(),eT.format("Unable to find the step with name $",i)))}return new eN(r,s)}}var as={};E(as,"KIRunConstants",()=>an);class an{static{this.NAMESPACE="namespace"}static{this.NAME="name"}static{this.ID="id"}constructor(){}}var aa={};E(aa,"Position",()=>ai);class ai{static{this.SCHEMA_NAME="Position"}static{this.SCHEMA=new D().setNamespace(l.SYSTEM).setName(ai.SCHEMA_NAME).setType(d.of(p.OBJECT)).setProperties(new Map([["left",D.ofFloat("left")],["top",D.ofFloat("top")]]))}constructor(e,t){this.left=e,this.top=t}getLeft(){return this.left}setLeft(e){return this.left=e,this}getTop(){return this.top}setTop(e){return this.top=e,this}static from(e){if(e)return new ai(e.left,e.top)}}var ao={};E(ao,"FunctionDefinition",()=>ac);var aE={};E(aE,"Statement",()=>am);var au={};E(au,"AbstractStatement",()=>aA);class aA{constructor(e){if(this.override=!1,!e)return;this.comment=e.comment,this.description=e.description,this.position=e.position?new ai(e.position.getLeft(),e.position.getTop()):void 0,this.override=e.override}getComment(){return this.comment}setComment(e){return this.comment=e,this}isOverride(){return this.override}setOverride(e){return this.override=e,this}getDescription(){return this.description}setDescription(e){return this.description=e,this}getPosition(){return this.position}setPosition(e){return this.position=e,this}}var aT={};E(aT,"ParameterReference",()=>al);class al{static{this.SCHEMA_NAME="ParameterReference"}static{this.SCHEMA=new D().setNamespace(l.SYSTEM).setName(al.SCHEMA_NAME).setType(d.of(p.OBJECT)).setProperties(new Map([["key",D.ofString("key")],["value",D.ofAny("value")],["expression",D.ofString("expression")],["type",D.ofString("type").setEnums(["EXPRESSION","VALUE"])],["order",D.ofInteger("order")]]))}constructor(e){e instanceof al?(this.key=e.key,this.type=e.type,this.value=h(e.value)?void 0:JSON.parse(JSON.stringify(e.value)),this.expression=e.expression,this.order=e.order):(this.type=e,this.key=n7())}getType(){return this.type}setType(e){return this.type=e,this}getKey(){return this.key}setKey(e){return this.key=e,this}getValue(){return this.value}setValue(e){return this.value=e,this}getExpression(){return this.expression}setExpression(e){return this.expression=e,this}setOrder(e){return this.order=e,this}getOrder(){return this.order}static ofExpression(e){let t=new al(n5.EXPRESSION).setExpression(e);return[t.getKey(),t]}static ofValue(e){let t=new al(n5.VALUE).setValue(e);return[t.getKey(),t]}static from(e){return new al(e.type).setValue(e.value).setExpression(e.expression).setKey(e.key).setOrder(e.order)}}class am extends aA{static{this.SCHEMA_NAME="Statement"}static{this.SCHEMA=new D().setNamespace(l.SYSTEM).setName(am.SCHEMA_NAME).setType(d.of(p.OBJECT)).setProperties(new Map([["statementName",D.ofString("statementName")],["comment",D.ofString("comment")],["description",D.ofString("description")],["namespace",D.ofString("namespace")],["name",D.ofString("name")],["dependentStatements",D.ofObject("dependentstatement").setAdditionalProperties(new C().setSchemaValue(D.ofBoolean("exists"))).setDefaultValue({})],["executeIftrue",D.ofObject("executeIftrue").setAdditionalProperties(new C().setSchemaValue(D.ofBoolean("exists"))).setDefaultValue({})],["parameterMap",new D().setName("parameterMap").setAdditionalProperties(new C().setSchemaValue(D.ofObject("parameterReference").setAdditionalProperties(new C().setSchemaValue(al.SCHEMA))))],["position",ai.SCHEMA]]))}constructor(e,t,r){if(super(e instanceof am?e:void 0),e instanceof am)this.statementName=e.statementName,this.name=e.name,this.namespace=e.namespace,e.parameterMap&&(this.parameterMap=new Map(Array.from(e.parameterMap.entries()).map(e=>[e[0],new Map(Array.from(e[1].entries()).map(e=>[e[0],new al(e[1])]))]))),e.dependentStatements&&(this.dependentStatements=new Map(Array.from(e.dependentStatements.entries())));else{if(this.statementName=e,!r||!t)throw Error("Unknown constructor");this.namespace=t,this.name=r}}getStatementName(){return this.statementName}setStatementName(e){return this.statementName=e,this}getNamespace(){return this.namespace}setNamespace(e){return this.namespace=e,this}getName(){return this.name}setName(e){return this.name=e,this}getParameterMap(){return this.parameterMap||(this.parameterMap=new Map),this.parameterMap}setParameterMap(e){return this.parameterMap=e,this}getDependentStatements(){return this.dependentStatements??new Map}setDependentStatements(e){return this.dependentStatements=e,this}getExecuteIftrue(){return this.executeIftrue??new Map}setExecuteIftrue(e){return this.executeIftrue=e,this}equals(e){return e instanceof am&&e.statementName==this.statementName}static ofEntry(e){return[e.statementName,e]}static from(e){return new am(e.statementName,e.namespace,e.name).setParameterMap(new Map(Object.entries(e.parameterMap??{}).map(([e,t])=>[e,new Map(Object.entries(t??{}).map(([e,t])=>al.from(t)).map(e=>[e.getKey(),e]))]))).setDependentStatements(new Map(Object.entries(e.dependentStatements??{}))).setExecuteIftrue(new Map(Object.entries(e.executeIftrue??{}))).setPosition(ai.from(e.position)).setComment(e.comment).setDescription(e.description)}}var aR={};E(aR,"StatementGroup",()=>ah);class ah extends aA{static{this.SCHEMA_NAME="StatementGroup"}static{this.SCHEMA=new D().setNamespace(l.SYSTEM).setName(ah.SCHEMA_NAME).setType(d.of(p.OBJECT)).setProperties(new Map([["statementGroupName",D.ofString("statementGroupName")],["comment",D.ofString("comment")],["description",D.ofString("description")],["position",ai.SCHEMA]]))}constructor(e,t=new Map){super(),this.statementGroupName=e,this.statements=t}getStatementGroupName(){return this.statementGroupName}setStatementGroupName(e){return this.statementGroupName=e,this}getStatements(){return this.statements}setStatements(e){return this.statements=e,this}static from(e){return new ah(e.statementGroupName,new Map(Object.entries(e.statements||{}).map(([e,t])=>[e,(""+t)?.toLowerCase()=="true"]))).setPosition(ai.from(e.position)).setComment(e.comment).setDescription(e.description)}}const ag=new D().setNamespace(l.SYSTEM).setName("FunctionDefinition").setProperties(new Map([["name",D.ofString("name")],["namespace",D.ofString("namespace")],["parameters",D.ofArray("parameters",k.SCHEMA)],["events",D.ofObject("events").setAdditionalProperties(new C().setSchemaValue(Q.SCHEMA))],["steps",D.ofObject("steps").setAdditionalProperties(new C().setSchemaValue(am.SCHEMA))]]));ag.getProperties()?.set("parts",D.ofArray("parts",ag));class ac extends ea{static{this.SCHEMA=ag}constructor(e){super(e),this.version=1}getVersion(){return this.version}setVersion(e){return this.version=e,this}getSteps(){return this.steps??new Map}setSteps(e){return this.steps=e,this}getStepGroups(){return this.stepGroups}setStepGroups(e){return this.stepGroups=e,this}getParts(){return this.parts}setParts(e){return this.parts=e,this}static from(e){return e?new ac(e.name).setSteps(new Map(Object.values(e.steps??{}).filter(e=>!!e).map(e=>[e.statementName,am.from(e)]))).setStepGroups(new Map(Object.values(e.stepGroups??{}).filter(e=>!!e).map(e=>[e.statementGroupName,ah.from(e)]))).setParts(Array.from(e.parts??[]).filter(e=>!!e).map(e=>ac.from(e))).setVersion(e.version??1).setEvents(new Map(Object.values(e.events??{}).filter(e=>!!e).map(e=>[e.name,Q.from(e)]))).setParameters(new Map(Object.values(e.parameters??{}).filter(e=>!!e).map(e=>[e.parameterName,k.from(e)]))).setNamespace(e.namespace):new ac("unknown")}}var ap={};E(ap,"Argument",()=>aN);class aN{constructor(e,t,r){this.argumentIndex=0,this.argumentIndex=e,this.name=t,this.value=r}getArgumentIndex(){return this.argumentIndex}setArgumentIndex(e){return this.argumentIndex=e,this}getName(){return this.name}setName(e){return this.name=e,this}getValue(){return this.value}setValue(e){return this.value=e,this}static of(e,t){return new aN(0,e,t)}}o(module.exports,u),o(module.exports,J),o(module.exports,{}),o(module.exports,e5),o(module.exports,$),o(module.exports,R),o(module.exports,eu),o(module.exports,tI),o(module.exports,eA),o(module.exports,eh),o(module.exports,ep),o(module.exports,tt),o(module.exports,eE),o(module.exports,tn),o(module.exports,nH),o(module.exports,nk),o(module.exports,t3),o(module.exports,nW),o(module.exports,nJ),o(module.exports,nz),o(module.exports,nQ),o(module.exports,{}),o(module.exports,nZ),o(module.exports,n2),o(module.exports,ae),o(module.exports,n6),o(module.exports,td),o(module.exports,tG),o(module.exports,st),o(module.exports,tw),o(module.exports,rr),o(module.exports,tC),o(module.exports,tL),o(module.exports,ty),o(module.exports,tU),o(module.exports,{}),o(module.exports,ei),o(module.exports,T),o(module.exports,n9),o(module.exports,A),o(module.exports,eV),o(module.exports,ex),o(module.exports,ev),o(module.exports,eP),o(module.exports,ew),o(module.exports,eG),o(module.exports,eD),o(module.exports,eo),o(module.exports,eM),o(module.exports,G),o(module.exports,eI),o(module.exports,m),o(module.exports,O),o(module.exports,N),o(module.exports,f),o(module.exports,_),o(module.exports,c),o(module.exports,ec),o(module.exports,eF),o(module.exports,nb),o(module.exports,as),o(module.exports,b),o(module.exports,ee),o(module.exports,aa),o(module.exports,ao),o(module.exports,n4),o(module.exports,z),o(module.exports,au),o(module.exports,aE),o(module.exports,{}),o(module.exports,aR),o(module.exports,en),o(module.exports,K),o(module.exports,Y),o(module.exports,ap),o(module.exports,aT),o(module.exports,e6),o(module.exports,et),o(module.exports,r0),o(module.exports,rs),o(module.exports,sn);
1
+ var e,t,r,s,n,a,i=require("luxon"),o=require("crypto");function E(e,t){return Object.keys(t).forEach(function(r){"default"===r||"__esModule"===r||Object.prototype.hasOwnProperty.call(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[r]}})}),e}function u(e,t,r,s){Object.defineProperty(e,t,{get:r,set:s,enumerable:!0,configurable:!0})}var A={};u(A,"KIRunSchemaRepository",()=>J);var T={};u(T,"AdditionalType",()=>D),u(T,"Schema",()=>b);var l={};u(l,"Namespaces",()=>R);class R{static{this.SYSTEM="System"}static{this.SYSTEM_CTX="System.Context"}static{this.SYSTEM_LOOP="System.Loop"}static{this.SYSTEM_ARRAY="System.Array"}static{this.SYSTEM_OBJECT="System.Object"}static{this.MATH="System.Math"}static{this.STRING="System.String"}static{this.DATE="System.Date"}constructor(){}}var m={};u(m,"ArraySchemaType",()=>c);var h={};function g(e){return null==e}u(h,"isNullValue",()=>g);class c{constructor(e){if(!e)return;this.singleSchema=e.singleSchema?new b(e.singleSchema):void 0,this.tupleSchema=e.tupleSchema?e.tupleSchema.map(e=>new b(e)):void 0}setSingleSchema(e){return this.singleSchema=e,this}setTupleSchema(e){return this.tupleSchema=e,this}getSingleSchema(){return this.singleSchema}getTupleSchema(){return this.tupleSchema}isSingleType(){return!g(this.singleSchema)}static of(...e){return 1==e.length?new c().setSingleSchema(e[0]):new c().setTupleSchema(e)}static from(e){if(!e)return;if(Array.isArray(e))return new c().setTupleSchema(b.fromListOfSchemas(e));let t=Object.keys(e);if(-1!=t.indexOf("singleSchema"))return new c().setSingleSchema(b.from(e.singleSchema));if(-1!=t.indexOf("tupleSchema"))return new c().setTupleSchema(b.fromListOfSchemas(e.tupleSchema));let r=b.from(e);if(r)return new c().setSingleSchema(r)}}var p={};u(p,"SchemaType",()=>N);var N=((e={}).INTEGER="Integer",e.LONG="Long",e.FLOAT="Float",e.DOUBLE="Double",e.STRING="String",e.OBJECT="Object",e.ARRAY="Array",e.BOOLEAN="Boolean",e.NULL="Null",e),f={};u(f,"TypeUtil",()=>P);var _={};u(_,"MultipleType",()=>O);var M={};u(M,"Type",()=>S);class S{}class O extends S{constructor(e){super(),e instanceof O?this.type=new Set(Array.from(e.type)):this.type=new Set(Array.from(e))}getType(){return this.type}setType(e){return this.type=e,this}getAllowedSchemaTypes(){return this.type}contains(e){return this.type?.has(e)}}var w={};u(w,"SingleType",()=>d);class d extends S{constructor(e){super(),e instanceof d?this.type=e.type:this.type=e}getType(){return this.type}getAllowedSchemaTypes(){return new Set([this.type])}contains(e){return this.type==e}}class P{static of(...e){return 1==e.length?new d(e[0]):new O(new Set(e))}static from(e){return"string"==typeof e?new d(N[P.fromJSONType(e)]):Array.isArray(e)?new O(new Set(e.map(P.fromJSONType).map(e=>e).map(e=>N[e]))):void 0}static fromJSONType(e){let t=e.toUpperCase();return"NUMBER"===t?"DOUBLE":t}}const I="additionalProperty",y="additionalItems",x="enums",L="items",v="System.Schema",U="required",V="version",C="namespace";class D{constructor(e){if(!e||(this.booleanValue=e.booleanValue,!e.schemaValue))return;this.schemaValue=new b(e.schemaValue)}getBooleanValue(){return this.booleanValue}getSchemaValue(){return this.schemaValue}setBooleanValue(e){return this.booleanValue=e,this}setSchemaValue(e){return this.schemaValue=e,this}static from(e){if(g(e))return;let t=new D;if("boolean"==typeof e)t.booleanValue=e;else{let r=Object.keys(e);-1!=r.indexOf("booleanValue")?t.booleanValue=e.booleanValue:-1!=r.indexOf("schemaValue")?t.schemaValue=b.from(e.schemaValue):t.schemaValue=b.from(e)}return t}}class b{static{this.NULL=new b().setNamespace(R.SYSTEM).setName("Null").setType(P.of(N.NULL)).setConstant(void 0)}static{this.TYPE_SCHEMA=new b().setType(P.of(N.STRING)).setEnums(["INTEGER","LONG","FLOAT","DOUBLE","STRING","OBJECT","ARRAY","BOOLEAN","NULL"])}static{this.SCHEMA=new b().setNamespace(R.SYSTEM).setName("Schema").setType(P.of(N.OBJECT)).setProperties(new Map([[C,b.of(C,N.STRING).setDefaultValue("_")],["name",b.ofString("name")],[V,b.of(V,N.INTEGER).setDefaultValue(1)],["ref",b.ofString("ref")],["type",new b().setAnyOf([b.TYPE_SCHEMA,b.ofArray("type",b.TYPE_SCHEMA)])],["anyOf",b.ofArray("anyOf",b.ofRef(v))],["allOf",b.ofArray("allOf",b.ofRef(v))],["oneOf",b.ofArray("oneOf",b.ofRef(v))],["not",b.ofRef(v)],["title",b.ofString("title")],["description",b.ofString("description")],["id",b.ofString("id")],["examples",b.ofAny("examples")],["defaultValue",b.ofAny("defaultValue")],["comment",b.ofString("comment")],[x,b.ofArray(x,b.ofString(x))],["constant",b.ofAny("constant")],["pattern",b.ofString("pattern")],["format",b.of("format",N.STRING).setEnums(["DATETIME","TIME","DATE","EMAIL","REGEX"])],["minLength",b.ofInteger("minLength")],["maxLength",b.ofInteger("maxLength")],["multipleOf",b.ofLong("multipleOf")],["minimum",b.ofNumber("minimum")],["maximum",b.ofNumber("maximum")],["exclusiveMinimum",b.ofNumber("exclusiveMinimum")],["exclusiveMaximum",b.ofNumber("exclusiveMaximum")],["properties",b.of("properties",N.OBJECT).setAdditionalProperties(new D().setSchemaValue(b.ofRef(v)))],["additionalProperties",new b().setName(I).setNamespace(R.SYSTEM).setAnyOf([b.ofBoolean(I),b.ofObject(I).setRef(v)]).setDefaultValue(!0)],[U,b.ofArray(U,b.ofString(U)).setDefaultValue([])],["propertyNames",b.ofRef(v)],["minProperties",b.ofInteger("minProperties")],["maxProperties",b.ofInteger("maxProperties")],["patternProperties",b.of("patternProperties",N.OBJECT).setAdditionalProperties(new D().setSchemaValue(b.ofRef(v)))],[L,new b().setName(L).setAnyOf([b.ofRef(v).setName("item"),b.ofArray("tuple",b.ofRef(v))])],["contains",b.ofRef(v)],["minContains",b.ofInteger("minContains")],["maxContains",b.ofInteger("maxContains")],["minItems",b.ofInteger("minItems")],["maxItems",b.ofInteger("maxItems")],["uniqueItems",b.ofBoolean("uniqueItems")],["additionalItems",new b().setName(y).setNamespace(R.SYSTEM).setAnyOf([b.ofBoolean(y),b.ofObject(y).setRef(v)])],["$defs",b.of("$defs",N.OBJECT).setAdditionalProperties(new D().setSchemaValue(b.ofRef(v)))],["permission",b.ofString("permission")],["details",b.ofObject("details")]])).setRequired([])}static ofString(e){return new b().setType(P.of(N.STRING)).setName(e)}static ofInteger(e){return new b().setType(P.of(N.INTEGER)).setName(e)}static ofFloat(e){return new b().setType(P.of(N.FLOAT)).setName(e)}static ofLong(e){return new b().setType(P.of(N.LONG)).setName(e)}static ofDouble(e){return new b().setType(P.of(N.DOUBLE)).setName(e)}static ofAny(e){return new b().setType(P.of(N.INTEGER,N.LONG,N.FLOAT,N.DOUBLE,N.STRING,N.BOOLEAN,N.ARRAY,N.NULL,N.OBJECT)).setName(e)}static ofAnyNotNull(e){return new b().setType(P.of(N.INTEGER,N.LONG,N.FLOAT,N.DOUBLE,N.STRING,N.BOOLEAN,N.ARRAY,N.OBJECT)).setName(e)}static ofNumber(e){return new b().setType(P.of(N.INTEGER,N.LONG,N.FLOAT,N.DOUBLE)).setName(e)}static ofBoolean(e){return new b().setType(P.of(N.BOOLEAN)).setName(e)}static of(e,...t){return new b().setType(P.of(...t)).setName(e)}static ofObject(e){return new b().setType(P.of(N.OBJECT)).setName(e)}static ofRef(e){return new b().setRef(e)}static ofArray(e,...t){return new b().setType(P.of(N.ARRAY)).setName(e).setItems(c.of(...t))}static fromListOfSchemas(e){if(g(e)&&!Array.isArray(e))return;let t=[];for(let r of Array.from(e)){let e=b.from(r);e&&t.push(e)}return t}static fromMapOfSchemas(e){if(g(e))return;let t=new Map;return Object.entries(e).forEach(([e,r])=>{let s=b.from(r);s&&t.set(e,s)}),t}static from(e,t=!1){if(g(e))return;let r=new b;return r.namespace=e.namespace??"_",r.name=e.name,r.version=e.version??1,r.ref=e.ref,t?r.type=new d(N.STRING):r.type=P.from(e.type),r.anyOf=b.fromListOfSchemas(e.anyOf),r.allOf=b.fromListOfSchemas(e.allOf),r.oneOf=b.fromListOfSchemas(e.oneOf),r.not=b.from(e.not),r.description=e.description,r.examples=e.examples?[...e.examples]:void 0,r.defaultValue=e.defaultValue,r.comment=e.comment,r.enums=e.enums?[...e.enums]:void 0,r.constant=e.constant,r.pattern=e.pattern,r.format=e.format,r.minLength=e.minLength,r.maxLength=e.maxLength,r.multipleOf=e.multipleOf,r.minimum=e.minimum,r.maximum=e.maximum,r.exclusiveMinimum=e.exclusiveMinimum,r.exclusiveMaximum=e.exclusiveMaximum,r.properties=b.fromMapOfSchemas(e.properties),r.additionalProperties=D.from(e.additionalProperties),r.required=e.required,r.propertyNames=b.from(e.propertyNames,!0),r.minProperties=e.minProperties,r.maxProperties=e.maxProperties,r.patternProperties=b.fromMapOfSchemas(e.patternProperties),r.items=c.from(e.items),r.additionalItems=D.from(e.additionalItems),r.contains=b.from(e.contains),r.minContains=e.minContains,r.maxContains=e.maxContains,r.minItems=e.minItems,r.maxItems=e.maxItems,r.uniqueItems=e.uniqueItems,r.$defs=b.fromMapOfSchemas(e.$defs),r.permission=e.permission,r.details=e.details?new Map(Object.entries(e.details)):void 0,r}constructor(e){if(this.namespace="_",this.version=1,!e)return;this.namespace=e.namespace,this.name=e.name,this.version=e.version,this.ref=e.ref,g(e.type)||(this.type=e.type instanceof d?new d(e.type):new O(e.type)),this.anyOf=e.anyOf?.map(e=>new b(e)),this.allOf=e.allOf?.map(e=>new b(e)),this.oneOf=e.oneOf?.map(e=>new b(e)),this.not=this.not?new b(this.not):void 0,this.description=e.description,this.examples=e.examples?JSON.parse(JSON.stringify(e.examples)):void 0,this.defaultValue=e.defaultValue?JSON.parse(JSON.stringify(e.defaultValue)):void 0,this.comment=e.comment,this.enums=e.enums?[...e.enums]:void 0,this.constant=e.constant?JSON.parse(JSON.stringify(e.constant)):void 0,this.pattern=e.pattern,this.format=e.format,this.minLength=e.minLength,this.maxLength=e.maxLength,this.multipleOf=e.multipleOf,this.minimum=e.minimum,this.maximum=e.maximum,this.exclusiveMinimum=e.exclusiveMinimum,this.exclusiveMaximum=e.exclusiveMaximum,this.properties=e.properties?new Map(Array.from(e.properties.entries()).map(e=>[e[0],new b(e[1])])):void 0,this.additionalProperties=e.additionalProperties?new D(e.additionalProperties):void 0,this.required=e.required?[...e.required]:void 0,this.propertyNames=e.propertyNames?new b(e.propertyNames):void 0,this.minProperties=e.minProperties,this.maxProperties=e.maxProperties,this.patternProperties=e.patternProperties?new Map(Array.from(e.patternProperties.entries()).map(e=>[e[0],new b(e[1])])):void 0,this.items=e.items?new c(e.items):void 0,this.contains=e.contains?new b(this.contains):void 0,this.minContains=e.minContains,this.maxContains=e.maxContains,this.minItems=e.minItems,this.maxItems=e.maxItems,this.uniqueItems=e.uniqueItems,this.additionalItems=e.additionalItems?new D(e.additionalItems):void 0,this.$defs=e.$defs?new Map(Array.from(e.$defs.entries()).map(e=>[e[0],new b(e[1])])):void 0,this.permission=e.permission,this.details=e.details?new Map(JSON.parse(JSON.stringify(Array.from(e.details.values())))):void 0}getTitle(){return this.namespace&&"_"!=this.namespace?this.namespace+"."+this.name:this.name}getFullName(){return this.namespace+"."+this.name}get$defs(){return this.$defs}set$defs(e){return this.$defs=e,this}getNamespace(){return this.namespace}setNamespace(e){return this.namespace=e,this}getName(){return this.name}setName(e){return this.name=e,this}getVersion(){return this.version}setVersion(e){return this.version=e,this}getRef(){return this.ref}setRef(e){return this.ref=e,this}getType(){return this.type}setType(e){return this.type=e,this}getAnyOf(){return this.anyOf}setAnyOf(e){return this.anyOf=e,this}getAllOf(){return this.allOf}setAllOf(e){return this.allOf=e,this}getOneOf(){return this.oneOf}setOneOf(e){return this.oneOf=e,this}getNot(){return this.not}setNot(e){return this.not=e,this}getDescription(){return this.description}setDescription(e){return this.description=e,this}getExamples(){return this.examples}setExamples(e){return this.examples=e,this}getDefaultValue(){return this.defaultValue}setDefaultValue(e){return this.defaultValue=e,this}getComment(){return this.comment}setComment(e){return this.comment=e,this}getEnums(){return this.enums}setEnums(e){return this.enums=e,this}getConstant(){return this.constant}setConstant(e){return this.constant=e,this}getPattern(){return this.pattern}setPattern(e){return this.pattern=e,this}getFormat(){return this.format}setFormat(e){return this.format=e,this}getMinLength(){return this.minLength}setMinLength(e){return this.minLength=e,this}getMaxLength(){return this.maxLength}setMaxLength(e){return this.maxLength=e,this}getMultipleOf(){return this.multipleOf}setMultipleOf(e){return this.multipleOf=e,this}getMinimum(){return this.minimum}setMinimum(e){return this.minimum=e,this}getMaximum(){return this.maximum}setMaximum(e){return this.maximum=e,this}getExclusiveMinimum(){return this.exclusiveMinimum}setExclusiveMinimum(e){return this.exclusiveMinimum=e,this}getExclusiveMaximum(){return this.exclusiveMaximum}setExclusiveMaximum(e){return this.exclusiveMaximum=e,this}getProperties(){return this.properties}setProperties(e){return this.properties=e,this}getAdditionalProperties(){return this.additionalProperties}setAdditionalProperties(e){return this.additionalProperties=e,this}getAdditionalItems(){return this.additionalItems}setAdditionalItems(e){return this.additionalItems=e,this}getRequired(){return this.required}setRequired(e){return this.required=e,this}getPropertyNames(){return this.propertyNames}setPropertyNames(e){return this.propertyNames=e,this.propertyNames.type=new d(N.STRING),this}getMinProperties(){return this.minProperties}setMinProperties(e){return this.minProperties=e,this}getMaxProperties(){return this.maxProperties}setMaxProperties(e){return this.maxProperties=e,this}getPatternProperties(){return this.patternProperties}setPatternProperties(e){return this.patternProperties=e,this}getItems(){return this.items}setItems(e){return this.items=e,this}getContains(){return this.contains}setContains(e){return this.contains=e,this}getMinContains(){return this.minContains}setMinContains(e){return this.minContains=e,this}getMaxContains(){return this.maxContains}setMaxContains(e){return this.maxContains=e,this}getMinItems(){return this.minItems}setMinItems(e){return this.minItems=e,this}getMaxItems(){return this.maxItems}setMaxItems(e){return this.maxItems=e,this}getUniqueItems(){return this.uniqueItems}setUniqueItems(e){return this.uniqueItems=e,this}getPermission(){return this.permission}setPermission(e){return this.permission=e,this}getDetails(){return this.details}setDetails(e){return this.details=e,this}}var G={};u(G,"Parameter",()=>$);var F={};u(F,"SchemaReferenceException",()=>Y);class Y extends Error{constructor(e,t,r){super(e.trim()?e+"-"+t:t),this.schemaPath=e,this.cause=r}getSchemaPath(){return this.schemaPath}getCause(){return this.cause}}var B={};u(B,"ParameterType",()=>H);var H=((t={}).CONSTANT="CONSTANT",t.EXPRESSION="EXPRESSION",t);const k="value";class ${static{this.SCHEMA_NAME="Parameter"}static{this.SCHEMA=new b().setNamespace(R.SYSTEM).setName($.SCHEMA_NAME).setProperties(new Map([["schema",b.SCHEMA],["parameterName",b.ofString("parameterName")],["variableArgument",b.of("variableArgument",N.BOOLEAN).setDefaultValue(!1)],["type",b.ofString("type").setEnums(["EXPRESSION","CONSTANT"])]]))}static{this.EXPRESSION=new b().setNamespace(R.SYSTEM).setName("ParameterExpression").setType(P.of(N.OBJECT)).setProperties(new Map([["isExpression",b.ofBoolean("isExpression").setDefaultValue(!0)],[k,b.ofAny(k)]]))}constructor(e,t){if(this.variableArgument=!1,this.type=H.EXPRESSION,e instanceof $)this.schema=new b(e.schema),this.parameterName=e.parameterName,this.variableArgument=e.variableArgument,this.type=e.type;else{if(!t)throw Error("Unknown constructor signature");this.schema=t,this.parameterName=e}}getSchema(){return this.schema}setSchema(e){return this.schema=e,this}getParameterName(){return this.parameterName}setParameterName(e){return this.parameterName=e,this}isVariableArgument(){return this.variableArgument}setVariableArgument(e){return this.variableArgument=e,this}getType(){return this.type}setType(e){return this.type=e,this}static ofEntry(e,t,r=!1,s=H.EXPRESSION){return[e,new $(e,t).setType(s).setVariableArgument(r)]}static of(e,t,r=!1,s=H.EXPRESSION){return new $(e,t).setType(s).setVariableArgument(r)}static from(e){let t=b.from(e.schema);if(!t)throw new Y("","Parameter requires Schema");return new $(e.parameterName,t).setVariableArgument(!!e.variableArgument).setType(e.type??H.EXPRESSION)}}var j={};u(j,"MapUtil",()=>W),u(j,"MapEntry",()=>X);class W{static of(e,t,r,s,n,a,i,o,E,u,A,T,l,R,m,h,c,p,N,f){let _=new Map;return g(e)||g(t)||_.set(e,t),g(r)||g(s)||_.set(r,s),g(n)||g(a)||_.set(n,a),g(i)||g(o)||_.set(i,o),g(E)||g(u)||_.set(E,u),g(A)||g(T)||_.set(A,T),g(l)||g(R)||_.set(l,R),g(m)||g(h)||_.set(m,h),g(c)||g(p)||_.set(c,p),g(N)||g(f)||_.set(N,f),_}static ofArrayEntries(...e){let t=new Map;for(let[r,s]of e)t.set(r,s);return t}static entry(e,t){return new X(e,t)}static ofEntries(...e){let t=new Map;for(let r of e)t.set(r.k,r.v);return t}static ofEntriesArray(...e){let t=new Map;for(let r=0;r<e.length;r++)t.set(e[r][0],e[r][1]);return t}constructor(){}}class X{constructor(e,t){this.k=e,this.v=t}}class J{constructor(){this.map=new Map([["any",b.ofAny("any").setNamespace(R.SYSTEM)],["boolean",b.ofBoolean("boolean").setNamespace(R.SYSTEM)],["double",b.ofDouble("double").setNamespace(R.SYSTEM)],["float",b.ofFloat("float").setNamespace(R.SYSTEM)],["integer",b.ofInteger("integer").setNamespace(R.SYSTEM)],["long",b.ofLong("long").setNamespace(R.SYSTEM)],["number",b.ofNumber("number").setNamespace(R.SYSTEM)],["string",b.ofString("string").setNamespace(R.SYSTEM)],["Timestamp",b.ofString("Timestamp").setNamespace(R.DATE)],["Timeunit",b.ofString("Timeunit").setNamespace(R.DATE).setEnums(["YEARS","QUARTERS","MONTHS","WEEKS","DAYS","HOURS","MINUTES","SECONDS","MILLISECONDS"])],["Duration",b.ofObject("Duration").setNamespace(R.DATE).setProperties(W.ofArrayEntries(["years",b.ofNumber("years")],["quarters",b.ofNumber("quarters")],["months",b.ofNumber("months")],["weeks",b.ofNumber("weeks")],["days",b.ofNumber("days")],["hours",b.ofNumber("hours")],["minutes",b.ofNumber("minutes")],["seconds",b.ofNumber("seconds")],["milliseconds",b.ofNumber("milliseconds")])).setAdditionalItems(D.from(!1))],["TimeObject",b.ofObject("TimeObject").setNamespace(R.DATE).setProperties(W.ofArrayEntries(["year",b.ofNumber("year")],["month",b.ofNumber("month")],["day",b.ofNumber("day")],["hour",b.ofNumber("hour")],["minute",b.ofNumber("minute")],["second",b.ofNumber("second")],["millisecond",b.ofNumber("millisecond")])).setAdditionalItems(D.from(!1))],[$.EXPRESSION.getName(),$.EXPRESSION],[b.NULL.getName(),b.NULL],[b.SCHEMA.getName(),b.SCHEMA]]),this.filterableNames=Array.from(this.map.values()).map(e=>e.getFullName())}async find(e,t){return R.SYSTEM!=e&&R.DATE!=e?Promise.resolve(void 0):Promise.resolve(this.map.get(t))}async filter(e){return Promise.resolve(this.filterableNames.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}var q={};function z(e){return[e.getSignature().getName(),e]}u(q,"KIRunFunctionRepository",()=>nk);var K={};u(K,"EventResult",()=>ee);var Q={};u(Q,"Event",()=>Z);class Z{static{this.OUTPUT="output"}static{this.ERROR="error"}static{this.ITERATION="iteration"}static{this.TRUE="true"}static{this.FALSE="false"}static{this.SCHEMA_NAME="Event"}static{this.SCHEMA=new b().setNamespace(R.SYSTEM).setName(Z.SCHEMA_NAME).setType(P.of(N.OBJECT)).setProperties(new Map([["name",b.ofString("name")],["parameters",b.ofObject("parameter").setAdditionalProperties(new D().setSchemaValue(b.SCHEMA))]]))}constructor(e,t){if(e instanceof Z)this.name=e.name,this.parameters=new Map(Array.from(e.parameters.entries()).map(e=>[e[0],new b(e[1])]));else{if(this.name=e,!t)throw Error("Unknown constructor format");this.parameters=t}}getName(){return this.name}setName(e){return this.name=e,this}getParameters(){return this.parameters}setParameters(e){return this.parameters=e,this}static outputEventMapEntry(e){return Z.eventMapEntry(Z.OUTPUT,e)}static eventMapEntry(e,t){return[e,new Z(e,t)]}static from(e){return new Z(e.name,new Map(Object.entries(e.parameters??{}).map(e=>{let t=b.from(e[1]);if(!t)throw new Y("","Event expects a schema");return[e[0],t]})))}}class ee{constructor(e,t){this.name=e,this.result=t}getName(){return this.name}setName(e){return this.name=e,this}getResult(){return this.result}setResult(e){return this.result=e,this}static outputOf(e){return ee.of(Z.OUTPUT,e)}static of(e,t){return new ee(e,t)}}var et={};u(et,"FunctionOutput",()=>en);var er={};u(er,"KIRuntimeException",()=>es);class es extends Error{constructor(e,t){super(e),this.cause=t}getCause(){return this.cause}}class en{constructor(e){if(this.index=0,g(e))throw new es("Function output is generating null");Array.isArray(e)&&e.length&&e[0]instanceof ee?this.fo=e:(this.fo=[],Array.isArray(e)||(this.generator=e))}next(){if(!this.generator)return this.index<this.fo.length?this.fo[this.index++]:void 0;let e=this.generator.next();return e&&this.fo.push(e),e}allResults(){return this.fo}}var ea={};u(ea,"FunctionSignature",()=>ei);class ei{static{this.SCHEMA_NAME="FunctionSignature"}static{this.SCHEMA=new b().setNamespace(R.SYSTEM).setName(ei.SCHEMA_NAME).setProperties(new Map([["name",b.ofString("name")],["namespace",b.ofString("namespace")],["parameters",b.ofObject("parameters").setAdditionalProperties(new D().setSchemaValue($.SCHEMA))],["events",b.ofObject("events").setAdditionalProperties(new D().setSchemaValue(Z.SCHEMA))]]))}constructor(e){this.namespace="_",this.parameters=new Map,this.events=new Map,e instanceof ei?(this.name=e.name,this.namespace=e.namespace,this.parameters=new Map(Array.from(e.parameters.entries()).map(e=>[e[0],new $(e[1])])),this.events=new Map(Array.from(e.events.entries()).map(e=>[e[0],new Z(e[1])]))):this.name=e}getNamespace(){return this.namespace}setNamespace(e){return this.namespace=e,this}getName(){return this.name}setName(e){return this.name=e,this}getParameters(){return this.parameters}setParameters(e){return this.parameters=e,this}getEvents(){return this.events}setEvents(e){return this.events=e,this}getFullName(){return this.namespace+"."+this.name}}var eo={};u(eo,"AbstractFunction",()=>e1);var eE={};u(eE,"SchemaValidator",()=>e0);var eu={};u(eu,"deepEqual",()=>eh);var eA={};u(eA,"LinkedList",()=>eR);var eT={};u(eT,"StringFormatter",()=>el);class el{static format(e,...t){if(!t||0==t.length)return e;let r="",s=0,n="",a=n,i=e.length;for(let o=0;o<i;o++)"$"==(n=e.charAt(o))&&"\\"==a?r=r.substring(0,o-1)+n:"$"==n&&s<t.length?r+=t[s++]:r+=n,a=n;return r.toString()}constructor(){}}class eR{constructor(e){if(this.head=void 0,this.tail=void 0,this.length=0,e?.length){for(let t of e)if(this.head){let e=new em(t,this.tail);this.tail.next=e,this.tail=e}else this.tail=this.head=new em(t);this.length=e.length}}push(e){let t=new em(e,void 0,this.head);this.head?(this.head.previous=t,this.head=t):this.tail=this.head=t,this.length++}pop(){if(!this.head)throw Error("List is empty and cannot pop further.");let e=this.head.value;if(this.length--,this.head==this.tail)return this.head=this.tail=void 0,e;let t=this.head;return this.head=t.next,t.next=void 0,t.previous=void 0,this.head.previous=void 0,e}isEmpty(){return!this.length}size(){return this.length}get(e){if(e<0||e>=this.length)throw Error(`${e} is out of bounds [0,${this.length}]`);let t=this.head;for(;e>0;)t=this.head.next,--e;return t.value}set(e,t){if(e<0||e>=this.length)throw new es(el.format("Index $ out of bound to set the value in linked list.",e));let r=this.head;for(;e>0;)r=this.head.next,--e;return r.value=t,this}toString(){let e=this.head,t="";for(;e;)t+=e.value,(e=e.next)&&(t+=", ");return`[${t}]`}toArray(){let e=[],t=this.head;for(;t;)e.push(t.value),t=t.next;return e}peek(){if(!this.head)throw Error("List is empty so cannot peak");return this.head.value}peekLast(){if(!this.tail)throw Error("List is empty so cannot peak");return this.tail.value}getFirst(){if(!this.head)throw Error("List is empty so cannot get first");return this.head.value}removeFirst(){return this.pop()}removeLast(){if(!this.tail)throw Error("List is empty so cannot remove");--this.length;let e=this.tail.value;if(0==this.length)this.head=this.tail=void 0;else{let e=this.tail.previous;e.next=void 0,this.tail.previous=void 0,this.tail=e}return e}addAll(e){return e&&e.length&&e.forEach(this.add.bind(this)),this}add(e){return++this.length,this.tail||this.head?this.head===this.tail?(this.tail=new em(e,this.head),this.head.next=this.tail):(this.tail=new em(e,this.tail),this.tail.previous.next=this.tail):this.head=this.tail=new em(e),this}map(e,t){let r=new eR,s=this.head,n=0;for(;s;)r.add(e(s.value,n)),s=s.next,++n;return r}indexOf(e){let t=this.head,r=0;for(;t;){if(eh(t.value,e))return r;t=t.next,++r}return -1}forEach(e,t){let r=this.head,s=0;for(;r;)e(r.value,s),r=r.next,++s}}class em{constructor(e,t,r){this.value=e,this.next=r,this.previous=t}toString(){return""+this.value}}function eh(e,t){let r=new eR;r.push(e);let s=new eR;for(s.push(t);!r.isEmpty()&&!s.isEmpty();){let e=r.pop(),t=s.pop();if(e===t)continue;let n=typeof e,a=typeof t;if("undefined"===n||"undefined"===a){if(!e&&!t)continue;return!1}if(n!==a)return!1;if(Array.isArray(e)){if(!Array.isArray(t)||e.length!=t.length)return!1;for(let n=0;n<e.length;n++)r.push(e[n]),s.push(t[n]);continue}if("object"===n){if("object"!==a||null===e||null===t)return!1;let n=Object.entries(e),i=Object.entries(t);if(n.length!==i.length)return!1;for(let[e,a]of n)r.push(a),s.push(t[e]);continue}return!1}return!0}var eg={};u(eg,"StringUtil",()=>ec);class ec{constructor(){}static nthIndex(e,t,r=0,s){if(!e)throw new es("String cannot be null");if(r<0||r>=e.length)throw new es(el.format("Cannot search from index : $",r));if(s<=0||s>e.length)throw new es(el.format("Cannot search for occurance : $",s));for(;r<e.length;){if(e.charAt(r)==t&&0==--s)return r;++r}return -1}static splitAtFirstOccurance(e,t){if(!e)return[void 0,void 0];let r=e.indexOf(t);return -1==r?[e,void 0]:[e.substring(0,r),e.substring(r+1)]}static splitAtLastOccurance(e,t){if(!e)return[void 0,void 0];let r=e.lastIndexOf(t);return -1==r?[e,void 0]:[e.substring(0,r),e.substring(r+1)]}static isNullOrBlank(e){return!e||""==e.trim()}}var ep={};u(ep,"SchemaUtil",()=>ew);var eN={};u(eN,"Tuple2",()=>ef),u(eN,"Tuple3",()=>e_),u(eN,"Tuple4",()=>eM);class ef{constructor(e,t){this.f=e,this.s=t}getT1(){return this.f}getT2(){return this.s}setT1(e){return this.f=e,this}setT2(e){return this.s=e,this}}class e_ extends ef{constructor(e,t,r){super(e,t),this.t=r}getT3(){return this.t}setT1(e){return this.f=e,this}setT2(e){return this.s=e,this}setT3(e){return this.t=e,this}}class eM extends e_{constructor(e,t,r,s){super(e,t,r),this.fr=s}getT4(){return this.fr}setT1(e){return this.f=e,this}setT2(e){return this.s=e,this}setT3(e){return this.t=e,this}setT4(e){return this.fr=e,this}}var eS={};u(eS,"SchemaValidationException",()=>eO);class eO extends Error{constructor(e,t,r=[],s){super(t+(r?r.map(e=>e.message).reduce((e,t)=>e+"\n"+t,""):"")),this.schemaPath=e,this.cause=s}getSchemaPath(){return this.schemaPath}getCause(){return this.cause}}class ew{static{this.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH="Unable to retrive schema from referenced path"}static{this.CYCLIC_REFERENCE_LIMIT_COUNTER=20}static async getDefaultValue(e,t){if(e)return e.getConstant()?e.getConstant():g(e.getDefaultValue())?ew.getDefaultValue(await ew.getSchemaFromRef(e,t,e.getRef()),t):e.getDefaultValue()}static async hasDefaultValueOrNullSchemaType(e,t){return e?e.getConstant()||!g(e.getDefaultValue())?Promise.resolve(!0):g(e.getRef())?e.getType()?.getAllowedSchemaTypes().has(N.NULL)?Promise.resolve(!0):Promise.resolve(!1):this.hasDefaultValueOrNullSchemaType(await ew.getSchemaFromRef(e,t,e.getRef()),t):Promise.resolve(!1)}static async getSchemaFromRef(e,t,r,s=0){if(++s==ew.CYCLIC_REFERENCE_LIMIT_COUNTER)throw new eO(r??"","Schema has a cyclic reference");if(!e||!r||ec.isNullOrBlank(r))return Promise.resolve(void 0);if(!r.startsWith("#")){var n=await ew.resolveExternalSchema(e,t,r);n&&(e=n.getT1(),r=n.getT2())}let a=r.split("/");return 1===a.length?Promise.resolve(e):Promise.resolve(ew.resolveInternalSchema(e,t,r,s,a,1))}static async resolveInternalSchema(e,t,r,s,n,a){let i=e;if(a!==n.length){for(;a<n.length;){if("$defs"===n[a]){if(++a>=n.length||!i.get$defs())throw new Y(r,ew.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH);i=i.get$defs()?.get(n[a])}else{if(i&&(!i.getType()?.contains(N.OBJECT)||!i.getProperties()))throw new Y(r,"Cannot retrievie schema from non Object type schemas");i=i.getProperties()?.get(n[a])}if(a++,!i||!ec.isNullOrBlank(i.getRef())&&!(i=await ew.getSchemaFromRef(i,t,i.getRef(),s)))throw new Y(r,ew.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH)}return Promise.resolve(i)}}static async resolveExternalSchema(e,t,r){if(!t)return Promise.resolve(void 0);let s=ec.splitAtFirstOccurance(r??"","/");if(!s[0])return Promise.resolve(void 0);let n=ec.splitAtLastOccurance(s[0],".");if(!n[0]||!n[1])return Promise.resolve(void 0);let a=await t.find(n[0],n[1]);if(!a)return Promise.resolve(void 0);if(!s[1]||""===s[1])return Promise.resolve(new ef(a,r));if(r="#/"+s[1],!a)throw new Y(r,ew.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH);return Promise.resolve(new ef(a,r))}constructor(){}}var ed={};u(ed,"AnyOfAllOfOneOfValidator",()=>eP);class eP{static async validate(e,t,r,s,n,a){let i=[];return t.getOneOf()&&!t.getOneOf()?await eP.oneOf(e,t,r,s,i,n,a):t.getAllOf()&&!t.getAllOf()?await eP.allOf(e,t,r,s,i,n,a):t.getAnyOf()&&!t.getAnyOf()?await eP.anyOf(e,t,r,s,i,n,a):s}static async anyOf(e,t,r,s,n,a,i){let o=!1;for(let E of t.getAnyOf()??[])try{await eP.validate(e,E,r,s,a,i),o=!0;break}catch(e){o=!1,n.push(e)}if(o)return s;throw new eO(e0.path(e),"The value don't satisfy any of the schemas.",n)}static async allOf(e,t,r,s,n,a,i){let o=0;for(let E of t.getAllOf()??[])try{await eP.validate(e,E,r,s,a,i),o++}catch(e){n.push(e)}if(o===t.getAllOf()?.length)return s;throw new eO(e0.path(e),"The value doesn't satisfy some of the schemas.",n)}static async oneOf(e,t,r,s,n,a,i){let o=0;for(let E of t.getOneOf()??[])try{await eP.validate(e,E,r,s,a,i),o++}catch(e){n.push(e)}if(1===o)return s;throw new eO(e0.path(e),0==o?"The value does not satisfy any schema":"The value satisfy more than one schema",n)}constructor(){}}var eI={};u(eI,"TypeValidator",()=>eZ);var ey={};u(ey,"ArrayValidator",()=>ex);class ex{static async validate(e,t,r,s,n,a){if(g(s))throw new eO(e0.path(e),"Expected an array but found null");if(!Array.isArray(s))throw new eO(e0.path(e),s.toString()+" is not an Array");return ex.checkMinMaxItems(e,t,s),await ex.checkItems(e,t,r,s,n,a),ex.checkUniqueItems(e,t,s),await ex.checkContains(t,e,r,s),s}static async checkContains(e,t,r,s){if(g(e.getContains()))return;let n=await ex.countContains(t,e,r,s,g(e.getMinContains())&&g(e.getMaxContains()));if(0===n)throw new eO(e0.path(t),"None of the items are of type contains schema");if(!g(e.getMinContains())&&e.getMinContains()>n)throw new eO(e0.path(t),"The minimum number of the items of type contains schema should be "+e.getMinContains()+" but found "+n);if(!g(e.getMaxContains())&&e.getMaxContains()<n)throw new eO(e0.path(t),"The maximum number of the items of type contains schema should be "+e.getMaxContains()+" but found "+n)}static async countContains(e,t,r,s,n){let a=0;for(let i=0;i<s.length;i++){let o=e?[...e]:[];try{if(await e0.validate(o,t.getContains(),r,s[i]),a++,n)break}catch(e){}}return a}static checkUniqueItems(e,t,r){if(t.getUniqueItems()&&t.getUniqueItems()&&new Set(r).size!==r.length)throw new eO(e0.path(e),"Items on the array are not unique")}static checkMinMaxItems(e,t,r){if(t.getMinItems()&&t.getMinItems()>r.length)throw new eO(e0.path(e),"Array should have minimum of "+t.getMinItems()+" elements");if(t.getMaxItems()&&t.getMaxItems()<r.length)throw new eO(e0.path(e),"Array can have maximum of "+t.getMaxItems()+" elements")}static async checkItems(e,t,r,s,n,a){if(!t.getItems())return;let i=t.getItems();if(i.getSingleSchema())for(let t=0;t<s.length;t++){let o=e?[...e]:[];s[t]=await e0.validate(o,i.getSingleSchema(),r,s[t],n,a)}if(i.getTupleSchema()){if(i.getTupleSchema().length!==s.length&&g(t?.getAdditionalItems()))throw new eO(e0.path(e),"Expected an array with only "+i.getTupleSchema().length+" but found "+s.length);await this.checkItemsInTupleSchema(e,r,s,i),await this.checkAdditionalItems(e,t,r,s,i)}}static async checkItemsInTupleSchema(e,t,r,s,n,a){for(let i=0;i<s.getTupleSchema()?.length;i++){let o=e?[...e]:[];r[i]=await e0.validate(o,s.getTupleSchema()[i],t,r[i],n,a)}}static async checkAdditionalItems(e,t,r,s,n){if(!g(t.getAdditionalItems())){let a=t.getAdditionalItems();if(a?.getBooleanValue()){let i=b.ofAny("item");if(a?.getBooleanValue()===!1&&s.length>n.getTupleSchema()?.length)throw new eO(e0.path(e),"No Additional Items are defined");await this.checkEachItemInAdditionalItems(e,t,r,s,n,i)}else if(a?.getSchemaValue()){let i=a.getSchemaValue();await this.checkEachItemInAdditionalItems(e,t,r,s,n,i)}}}static async checkEachItemInAdditionalItems(e,t,r,s,n,a){for(let t=n.getTupleSchema()?.length;t<s.length;t++){let n=e?[...e]:[];s[t]=await e0.validate(n,a,r,s[t])}}constructor(){}}var eL={};u(eL,"BooleanValidator",()=>ev);class ev{static validate(e,t,r){if(g(r))throw new eO(e0.path(e),"Expected a boolean but found null");if("boolean"!=typeof r)throw new eO(e0.path(e),r.toString()+" is not a boolean");return r}constructor(){}}var eU={};u(eU,"NullValidator",()=>eV);class eV{static validate(e,t,r){if(g(r))return r;throw new eO(e0.path(e),"Expected a null but found "+r)}constructor(){}}var eC={};u(eC,"NumberValidator",()=>eD);class eD{static validate(e,t,r,s){if(g(s))throw new eO(e0.path(t),"Expected a number but found null");if("number"!=typeof s)throw new eO(e0.path(t),s.toString()+" is not a "+e);let n=eD.extractNumber(e,t,r,s);return eD.checkRange(t,r,s,n),eD.checkMultipleOf(t,r,s,n),s}static extractNumber(e,t,r,s){let n=s;try{(e==N.LONG||e==N.INTEGER)&&(n=Math.round(n))}catch(r){throw new eO(e0.path(t),s+" is not a number of type "+e,r)}if(g(n)||(e==N.LONG||e==N.INTEGER)&&n!=s)throw new eO(e0.path(t),s.toString()+" is not a number of type "+e);return n}static checkMultipleOf(e,t,r,s){if(t.getMultipleOf()&&s%t.getMultipleOf()!=0)throw new eO(e0.path(e),r.toString()+" is not multiple of "+t.getMultipleOf())}static checkRange(e,t,r,s){if(!g(t.getMinimum())&&0>eD.numberCompare(s,t.getMinimum()))throw new eO(e0.path(e),r.toString()+" should be greater than or equal to "+t.getMinimum());if(!g(t.getMaximum())&&eD.numberCompare(s,t.getMaximum())>0)throw new eO(e0.path(e),r.toString()+" should be less than or equal to "+t.getMaximum());if(!g(t.getExclusiveMinimum())&&0>=eD.numberCompare(s,t.getExclusiveMinimum()))throw new eO(e0.path(e),r.toString()+" should be greater than "+t.getExclusiveMinimum());if(!g(t.getExclusiveMaximum())&&eD.numberCompare(s,t.getExclusiveMaximum())>0)throw new eO(e0.path(e),r.toString()+" should be less than "+t.getExclusiveMaximum())}static numberCompare(e,t){return e-t}constructor(){}}var eb={};u(eb,"ObjectValidator",()=>eG);class eG{static async validate(e,t,r,s,n,a){if(g(s))throw new eO(e0.path(e),"Expected an object but found null");if("object"!=typeof s||Array.isArray(s))throw new eO(e0.path(e),s.toString()+" is not an Object");let i=new Set(Object.keys(s));return eG.checkMinMaxProperties(e,t,i),t.getPropertyNames()&&await eG.checkPropertyNameSchema(e,t,r,i),t.getRequired()&&eG.checkRequired(e,t,s),t.getProperties()&&await eG.checkProperties(e,t,r,s,i,n,a),t.getPatternProperties()&&await eG.checkPatternProperties(e,t,r,s,i),t.getAdditionalProperties()&&await eG.checkAdditionalProperties(e,t,r,s,i),s}static async checkPropertyNameSchema(e,t,r,s){for(let n of Array.from(s.values()))try{await e0.validate(e,t.getPropertyNames(),r,n)}catch(t){throw new eO(e0.path(e),"Property name '"+n+"' does not fit the property schema")}}static checkRequired(e,t,r){for(let s of t.getRequired()??[])if(g(r[s]))throw new eO(e0.path(e),s+" is mandatory")}static async checkAdditionalProperties(e,t,r,s,n){let a=t.getAdditionalProperties();if(a.getSchemaValue())for(let t of Array.from(n.values())){let n=e?[...e]:[];s[t]=await e0.validate(n,a.getSchemaValue(),r,s[t])}else if(!1===a.getBooleanValue()&&n.size)throw new eO(e0.path(e),Array.from(n)+" is/are additional properties which are not allowed.")}static async checkPatternProperties(e,t,r,s,n){let a=new Map;for(let e of Array.from(t.getPatternProperties().keys()))a.set(e,new RegExp(e));for(let i of Array.from(n.values())){let o=e?[...e]:[];for(let e of Array.from(a.entries()))if(e[1].test(i)){s[i]=await e0.validate(o,t.getPatternProperties().get(e[0]),r,s[i]),n.delete(i);break}}}static async checkProperties(e,t,r,s,n,a,i){for(let o of Array.from(t.getProperties())){let t=s[o[0]];if(!s.hasOwnProperty(o[0])&&g(t)&&g(await ew.getDefaultValue(o[1],r)))continue;let E=e?[...e]:[];s[o[0]]=await e0.validate(E,o[1],r,t,a,i),n.delete(o[0])}}static checkMinMaxProperties(e,t,r){if(t.getMinProperties()&&r.size<t.getMinProperties())throw new eO(e0.path(e),"Object should have minimum of "+t.getMinProperties()+" properties");if(t.getMaxProperties()&&r.size>t.getMaxProperties())throw new eO(e0.path(e),"Object can have maximum of "+t.getMaxProperties()+" properties")}constructor(){}}var eF={};u(eF,"StringValidator",()=>eH);var eY={};u(eY,"StringFormat",()=>eB);var eB=((r={}).DATETIME="DATETIME",r.TIME="TIME",r.DATE="DATE",r.EMAIL="EMAIL",r.REGEX="REGEX",r);class eH{static{this.TIME=/^([01]?[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?([+-][01][0-9]:[0-5][0-9])?$/}static{this.DATE=/^[0-9]{4,4}-([0][0-9]|[1][0-2])-(0[1-9]|[1-2][1-9]|3[01])$/}static{this.DATETIME=/^[0-9]{4,4}-([0][0-9]|[1][0-2])-(0[1-9]|[1-2][1-9]|3[01])T([01]?[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?([+-][01][0-9]:[0-5][0-9])?$/}static{this.EMAIL=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/}static validate(e,t,r){if(g(r))throw new eO(e0.path(e),"Expected a string but found "+r);if("string"!=typeof r)throw new eO(e0.path(e),r.toString()+" is not String");t.getFormat()==eB.TIME?eH.patternMatcher(e,t,r,eH.TIME,"time pattern"):t.getFormat()==eB.DATE?eH.patternMatcher(e,t,r,eH.DATE,"date pattern"):t.getFormat()==eB.DATETIME?eH.patternMatcher(e,t,r,eH.DATETIME,"date time pattern"):t.getFormat()==eB.EMAIL?eH.patternMatcher(e,t,r,eH.EMAIL,"email pattern"):t.getPattern()&&eH.patternMatcher(e,t,r,new RegExp(t.getPattern()),"pattern "+t.getPattern());let s=r.length;if(t.getMinLength()&&s<t.getMinLength())throw new eO(e0.path(e),"Expected a minimum of "+t.getMinLength()+" characters");if(t.getMaxLength()&&s>t.getMaxLength())throw new eO(e0.path(e),"Expected a maximum of "+t.getMaxLength()+" characters");return r}static patternMatcher(e,t,r,s,n){if(!s.test(r))throw new eO(e0.path(e),r.toString()+" is not matched with the "+n)}constructor(){}}var ek=((s={}).STRICT="STRICT",s.LENIENT="LENIENT",s.USE_DEFAULT="USE_DEFAULT",s.SKIP="SKIP",s);const e$=e=>ek[e.toUpperCase()],ej=()=>Object.values(ek);class eW extends Error{constructor(e,t,r,s,n=[],a){super(r+(n?n.map(e=>e.message).reduce((e,t)=>e+"\n"+t,""):"")),this.schemaPath=e,this.source=t??null,this.mode=s??null,this.cause=a}getSchemaPath(){return this.schemaPath}getSource(){return this.source??null}getMode(){return this.mode??null}getCause(){return this.cause}}class eX{static handleUnConvertibleValue(e,t,r,s){return this.handleUnConvertibleValueWithDefault(e,t,r,null,s)}static handleUnConvertibleValueWithDefault(e,t,r,s,n){switch(null===t&&(t=ek.STRICT),t){case ek.STRICT:throw new eW(e0.path(e),r,n,t);case ek.LENIENT:return null;case ek.USE_DEFAULT:return s;case ek.SKIP:return r;default:throw new eW(e0.path(e),r,"Invalid conversion mode")}}constructor(){}}class eJ{static convert(e,t,r,s){if(g(s))return eX.handleUnConvertibleValueWithDefault(e,r,s,this.getDefault(t),"Expected a string but found null");let n=s??("object"==typeof s?JSON.stringify(s):String(s));return this.getConvertedString(n,r)}static getConvertedString(e,t){return t===ek.STRICT?e.toString():e.trim()}static getDefault(e){return e.getDefaultValue()??null}constructor(){}}class eq{static convert(e,t,r,s,n){if(g(n))return eX.handleUnConvertibleValueWithDefault(e,s,n,this.getDefault(r),"Expected a number but found null");if("object"==typeof n||"boolean"==typeof n||Array.isArray(n)||"string"==typeof n&&isNaN(n=Number(n)))return eX.handleUnConvertibleValueWithDefault(e,s,n,this.getDefault(r),n+" is not a "+t);let a=this.extractNumber(t,n,s);return null===a?eX.handleUnConvertibleValueWithDefault(e,s,n,this.getDefault(r),n+" is not a "+t):a}static extractNumber(e,t,r){if("number"!=typeof t)return null;switch(e){case N.INTEGER:return this.isInteger(t,r)?Math.floor(t):null;case N.LONG:return this.isLong(t,r)?Math.floor(t):null;case N.DOUBLE:return t;case N.FLOAT:return this.isFloat(t,r)?t:null;default:return null}}static isInteger(e,t){return t!==ek.STRICT?"number"==typeof e:Number.isInteger(e)}static isLong(e,t){return t!==ek.STRICT?"number"==typeof e:Number.isInteger(e)&&e>=Number.MIN_SAFE_INTEGER&&e<=Number.MAX_SAFE_INTEGER}static isFloat(e,t){return t!==ek.STRICT?"number"==typeof e:e>=-Number.MAX_VALUE&&e<=Number.MAX_VALUE}static getDefault(e){return"number"==typeof e.getDefaultValue()?Number(e.getDefaultValue):null}}class ez{static{this.BOOLEAN_MAP={true:!0,t:!0,yes:!0,y:!0,1:!0,false:!1,f:!1,no:!1,n:!1,0:!1}}static convert(e,t,r,s){return null==s?eX.handleUnConvertibleValueWithDefault(e,r,s,this.getDefault(t),"Expected a boolean but found null"):this.getBooleanPrimitive(s)??eX.handleUnConvertibleValueWithDefault(e,r,s,this.getDefault(t),"Unable to convert to boolean")}static getBooleanPrimitive(e){return"boolean"==typeof e?e:"string"==typeof e?this.handleStringValue(e):"number"==typeof e?this.handleNumberValue(e):null}static handleStringValue(e){let t=e.toLowerCase().trim();return ez.BOOLEAN_MAP[t]??null}static handleNumberValue(e){return 0===e||1===e?1===e:null}static getDefault(e){return e.getDefaultValue()??!1}constructor(){}}class eK{static convert(e,t,r,s){return g(s)?s:"string"==typeof s&&"null"===s.toLowerCase()?null:eX.handleUnConvertibleValueWithDefault(e,r,s,null,"Unable to convert to null")}constructor(){}}class eQ{static handleValidationError(e,t,r,s,n){switch(t=t??ek.STRICT){case ek.STRICT:throw new eO(e0.path(e),n);case ek.LENIENT:return null;case ek.USE_DEFAULT:return s;case ek.SKIP:return r}}constructor(){}}class eZ{static async validate(e,t,r,s,n,a,i){return t==N.OBJECT?await eG.validate(e,r,s,n,a,i):t==N.ARRAY?await ex.validate(e,r,s,n,a,i):this.handleTypeValidationAndConversion(e,t,r,n,a,i)}static async handleTypeValidationAndConversion(e,t,r,s,n,a){let i=n?this.convertElement(e,t,r,s,a??ek.STRICT):s;return await this.validateElement(e,t,r,i,a??ek.STRICT)}static convertElement(e,t,r,s,n){if(g(t))return eX.handleUnConvertibleValueWithDefault(e,n,s,r.getDefaultValue()??null,el.format("$ is not a valid type for conversion.",t));switch(t){case N.STRING:return eJ.convert(e,r,n,s);case N.INTEGER:case N.LONG:case N.DOUBLE:case N.FLOAT:return eq.convert(e,t,r,n,s);case N.BOOLEAN:return ez.convert(e,r,n,s);case N.NULL:return eK.convert(e,r,n,s);default:return eX.handleUnConvertibleValueWithDefault(e,n,s,r.getDefaultValue()??null,el.format("$ is not a valid type for conversion.",t))}}static validateElement(e,t,r,s,n){if(g(t))return eQ.handleValidationError(e,n,s,r.getDefaultValue()??null,el.format("$ is not a valid type.",t));switch(t){case N.STRING:return eH.validate(e,r,s);case N.INTEGER:case N.LONG:case N.DOUBLE:case N.FLOAT:return eD.validate(t,e,r,s);case N.BOOLEAN:return ev.validate(e,r,s);case N.NULL:return eV.validate(e,r,s);default:return eQ.handleValidationError(e,n,s,r.getDefaultValue()??null,el.format("$ is not a valid type.",t))}}constructor(){}}class e0{static{this.ORDER={[N.OBJECT]:0,[N.ARRAY]:1,[N.DOUBLE]:2,[N.FLOAT]:3,[N.LONG]:4,[N.INTEGER]:5,[N.STRING]:6,[N.BOOLEAN]:7,[N.NULL]:8}}static path(e){return e?e.map(e=>e.getTitle()??"").filter(e=>!!e).reduce((e,t,r)=>e+(0===r?"":".")+t,""):""}static async validate(e,t,r,s,n,a){if(!t)throw new eO(e0.path(e),"No schema found to validate");if(e||(e=[]),e.push(t),g(s)&&!g(t.getDefaultValue()))return JSON.parse(JSON.stringify(t.getDefaultValue()));if(!g(t.getConstant()))return e0.constantValidation(e,t,s);if(t.getEnums()?.length)return e0.enumCheck(e,t,s);if(t.getFormat()&&g(t.getType()))throw new eO(this.path(e),"Type is missing in schema for declared "+t.getFormat()?.toString()+" format.");if(!0===n&&g(t.getType()))throw new eO(this.path(e),"Type is missing in schema for declared "+a);if(t.getType()&&(s=await e0.typeValidation(e,t,r,s,n,a)),!ec.isNullOrBlank(t.getRef()))return await e0.validate(e,await ew.getSchemaFromRef(e[0],r,t.getRef()),r,s,n,a);if((t.getOneOf()||t.getAllOf()||t.getAnyOf())&&(s=await eP.validate(e,t,r,s,n,a)),t.getNot()){let i;try{await e0.validate(e,t.getNot(),r,s,n,a),i=!0}catch(e){i=!1}if(i)throw new eO(e0.path(e),"Schema validated value in not condition.")}return s}static constantValidation(e,t,r){if(!eh(t.getConstant(),r))throw new eO(e0.path(e),"Expecting a constant value : "+r);return r}static enumCheck(e,t,r){let s=!1;for(let e of t.getEnums()??[])if(e===r){s=!0;break}if(s)return r;throw new eO(e0.path(e),"Value is not one of "+t.getEnums())}static async typeValidation(e,t,r,s,n,a){let i=Array.from(t.getType()?.getAllowedSchemaTypes()?.values()??[]).sort((e,t)=>(this.ORDER[e]??1/0)-(this.ORDER[t]??1/0)),o=[];for(let E of i)try{return await eZ.validate(e,E,t,r,s,n,a)}catch(e){o.push(e)}throw new eO(e0.path(e),"Value "+JSON.stringify(s)+" is not of valid type(s)",o)}constructor(){}}class e1{async validateArguments(e,t,r){let s=new Map;for(let n of Array.from(this.getSignature().getParameters().entries())){let a=n[1];try{let r=await this.validateArgument(e,t,n,a);s.set(r.getT1(),r.getT2())}catch(t){let e=this.getSignature();throw new es(`Error while executing the function ${e.getNamespace()}.${e.getName()}'s parameter ${a.getParameterName()} with step name '${r?.getStatement().getStatementName()??"Unknown Step"}' with error : ${t?.message}`)}}return s}async validateArgument(e,t,r,s){let n,a=r[0],i=e.get(r[0]);if(g(i)&&!s.isVariableArgument())return new ef(a,await e0.validate(void 0,s.getSchema(),t,void 0));if(!s?.isVariableArgument())return new ef(a,await e0.validate(void 0,s.getSchema(),t,i));Array.isArray(i)?n=i:(n=[],g(i)?g(s.getSchema().getDefaultValue())||n.push(s.getSchema().getDefaultValue()):n.push(i));for(let e=0;e<n.length;e++)n[e]=await e0.validate(void 0,s.getSchema(),t,n[e]);return new ef(a,n)}async execute(e){let t=await this.validateArguments(e.getArguments()??new Map,e.getSchemaRepository(),e.getStatementExecution());e.setArguments(t);try{return await this.internalExecute(e)}catch(r){let t=this.getSignature();throw new es(`Error while executing the function ${t.getNamespace()}.${t.getName()} with step name '${e.getStatementExecution()?.getStatement().getStatementName()??"Unknown Step"}' with error : ${r?.message}`)}}getProbableEventSignature(e){return this.getSignature().getEvents()}}class e2 extends e1{static{this.EVENT_INDEX_NAME="index"}static{this.EVENT_RESULT_NAME="result"}static{this.EVENT_INDEX=new Z(Z.OUTPUT,W.of(e2.EVENT_INDEX_NAME,b.ofInteger(e2.EVENT_INDEX_NAME)))}static{this.EVENT_RESULT_INTEGER=new Z(Z.OUTPUT,W.of(e2.EVENT_RESULT_NAME,b.ofInteger(e2.EVENT_RESULT_NAME)))}static{this.EVENT_RESULT_BOOLEAN=new Z(Z.OUTPUT,W.of(e2.EVENT_RESULT_NAME,b.ofBoolean(e2.EVENT_RESULT_NAME)))}static{this.EVENT_RESULT_ARRAY=new Z(Z.OUTPUT,W.of(e2.EVENT_RESULT_NAME,b.ofArray(e2.EVENT_RESULT_NAME,b.ofAny(e2.EVENT_RESULT_NAME))))}static{this.EVENT_RESULT_EMPTY=new Z(Z.OUTPUT,W.of())}static{this.EVENT_RESULT_ANY=new Z(Z.OUTPUT,W.of(this.EVENT_RESULT_NAME,b.ofAny(this.EVENT_RESULT_NAME)))}static{this.EVENT_RESULT_OBJECT=new Z(Z.OUTPUT,W.of(this.EVENT_RESULT_NAME,b.ofObject(this.EVENT_RESULT_NAME)))}static{this.PARAMETER_INT_LENGTH=$.of("length",b.ofInteger("length").setDefaultValue(-1))}static{this.PARAMETER_ARRAY_FIND=$.of("find",b.ofArray("eachFind",b.ofAny("eachFind")))}static{this.PARAMETER_INT_SOURCE_FROM=$.of("srcFrom",b.ofInteger("srcFrom").setDefaultValue(0).setMinimum(0))}static{this.PARAMETER_INT_SECOND_SOURCE_FROM=$.of("secondSrcFrom",b.ofInteger("secondSrcFrom").setDefaultValue(0))}static{this.PARAMETER_INT_FIND_FROM=$.of("findFrom",b.ofInteger("findFrom").setDefaultValue(0))}static{this.PARAMETER_INT_OFFSET=$.of("offset",b.ofInteger("offset").setDefaultValue(0))}static{this.PARAMETER_ROTATE_LENGTH=$.of("rotateLength",b.ofInteger("rotateLength").setDefaultValue(1).setMinimum(1))}static{this.PARAMETER_BOOLEAN_ASCENDING=$.of("ascending",b.ofBoolean("ascending").setDefaultValue(!0))}static{this.PARAMETER_KEY_PATH=$.of("keyPath",b.ofString("keyPath").setDefaultValue(""))}static{this.PARAMETER_FIND_PRIMITIVE=$.of("findPrimitive",b.of("findPrimitive",N.STRING,N.DOUBLE,N.FLOAT,N.INTEGER,N.LONG))}static{this.PARAMETER_ARRAY_SOURCE=$.of("source",b.ofArray("eachSource",b.ofAny("eachSource")))}static{this.PARAMETER_ARRAY_SECOND_SOURCE=$.of("secondSource",b.ofArray("eachSecondSource",b.ofAny("eachSecondSource")))}static{this.PARAMETER_ARRAY_SOURCE_PRIMITIVE=$.of("source",b.ofArray("eachSource",new b().setName("eachSource").setType(P.of(N.STRING,N.NULL,N.INTEGER,N.FLOAT,N.DOUBLE,N.LONG))))}static{this.PARAMETER_BOOLEAN_DEEP_COPY=$.of("deepCopy",b.ofBoolean("deepCopy").setDefaultValue(!0))}static{this.PARAMETER_ANY=$.of("element",b.ofAny("element"))}static{this.PARAMETER_ANY_ELEMENT_OBJECT=$.of("elementObject",b.ofAny("elementObject"))}static{this.PARAMETER_ANY_VAR_ARGS=$.of("element",b.ofAny("element")).setVariableArgument(!0)}static{this.PARAMETER_ARRAY_RESULT=$.of(e2.EVENT_RESULT_NAME,b.ofArray("eachResult",b.ofAny("eachResult")))}constructor(e,t,r){super();let s=new Map;for(let e of t)s.set(e.getParameterName(),e);this.signature=new ei(e).setNamespace(R.SYSTEM_ARRAY).setParameters(s).setEvents(W.of(r.getName(),r))}getSignature(){return this.signature}}class e9 extends e2{constructor(){super("Concatenate",[e2.PARAMETER_ARRAY_SOURCE,e2.PARAMETER_ARRAY_SECOND_SOURCE],e2.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(e2.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(e2.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName());return new en([ee.outputOf(new Map([[e2.EVENT_RESULT_NAME,[...t,...r]]]))])}}class e4 extends e2{constructor(){super("AddFirst",[e2.PARAMETER_ARRAY_SOURCE,e2.PARAMETER_ANY],e2.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(e2.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(e2.PARAMETER_ANY.getParameterName());if(0==(t=[...t]).length)return t.push(r),new en([ee.outputOf(new Map([]))]);t.push(r);let s=t.length-1;for(;s>0;){let e=t[s-1];t[s-1]=t[s],t[s--]=e}return new en([ee.outputOf(new Map([[e2.EVENT_RESULT_NAME,t]]))])}}const e3="keyName";class e5 extends e2{constructor(){super("ArrayToArrayOfObjects",[e2.PARAMETER_ARRAY_SOURCE,$.of(e3,b.ofString(e3),!0)],e2.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(e5.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(e3);if(!t?.length)return new en([ee.outputOf(new Map([[e2.EVENT_RESULT_NAME,[]]]))]);let s=t.map(e=>{let t={};if(Array.isArray(e)){if(r.length)r.forEach((r,s)=>{t[r]=e[s]});else for(let r=0;r<e.length;r++)t[`value${r+1}`]=e[r]}else t[r.length?r[0]:"value"]=e;return t});return new en([ee.outputOf(new Map([[e2.EVENT_RESULT_NAME,s]]))])}}var e6={};u(e6,"PrimitiveUtil",()=>te);var e7={};u(e7,"ExecutionException",()=>e8);class e8 extends Error{constructor(e,t){super(e),this.cause=t}getCause(){return this.cause}}class te{static findPrimitiveNullAsBoolean(e){if(g(e))return new ef(N.BOOLEAN,!1);let t=typeof e;if("object"===t)throw new e8(el.format("$ is not a primitive type",e));return"boolean"===t?new ef(N.BOOLEAN,e):"string"===t?new ef(N.STRING,e):te.findPrimitiveNumberType(e)}static findPrimitive(e){if(g(e))return new ef(N.NULL,void 0);let t=typeof e;if("object"===t)throw new e8(el.format("$ is not a primitive type",e));return"boolean"===t?new ef(N.BOOLEAN,e):"string"===t?new ef(N.STRING,e):te.findPrimitiveNumberType(e)}static findPrimitiveNumberType(e){if(g(e)||Array.isArray(e)||"object"==typeof e)throw new e8(el.format("Unable to convert $ to a number.",e));try{if(Number.isInteger(e))return new ef(N.LONG,e);return new ef(N.DOUBLE,e)}catch(t){throw new e8(el.format("Unable to convert $ to a number.",e),t)}}static compare(e,t){if(e==t)return 0;if(g(e)||g(t))return g(e)?-1:1;if(Array.isArray(e)||Array.isArray(t)){if(Array.isArray(e)&&Array.isArray(t)){if(e.length!=t.length)return e.length-t.length;for(let r=0;r<e.length;r++){let s=this.compare(e[r],t[r]);if(0!=s)return s}return 0}return Array.isArray(e)?-1:1}let r=typeof e,s=typeof t;return"object"===r||"object"===s?("object"===r&&"object"===s&&Object.keys(e).forEach(r=>{let s=this.compare(e[r],t[r]);if(0!=s)return s}),"object"===r?-1:1):this.comparePrimitive(e,t)}static comparePrimitive(e,t){return g(e)||g(t)?g(e)&&g(t)?0:g(e)?-1:1:e==t?0:"boolean"==typeof e||"boolean"==typeof t?e?-1:1:"string"==typeof e||"string"==typeof t?e+""<t+""?-1:1:"number"==typeof e||"number"==typeof t?e-t:0}static baseNumberType(e){return Number.isInteger(e)?N.LONG:N.DOUBLE}static toPrimitiveType(e){return e}constructor(){}}class tt extends e2{constructor(){super("BinarySearch",[tt.PARAMETER_ARRAY_SOURCE_PRIMITIVE,tt.PARAMETER_INT_SOURCE_FROM,tt.PARAMETER_FIND_PRIMITIVE,tt.PARAMETER_INT_LENGTH],tt.EVENT_INDEX)}async internalExecute(e){let t=e?.getArguments()?.get(tt.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tt.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(tt.PARAMETER_FIND_PRIMITIVE.getParameterName()),n=e?.getArguments()?.get(tt.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length||r<0||r>t.length)throw new es("Search source array cannot be empty");if(-1==n&&(n=t.length-r),(n=r+n)>t.length)throw new es("End point for array cannot be more than the size of the source array");let a=-1;for(;r<=n;){let e=Math.floor((r+n)/2);if(0==te.compare(t[e],s)){a=e;break}te.compare(t[e],s)>0?n=e-1:r=e+1}return new en([ee.outputOf(new Map([[tt.EVENT_INDEX_NAME,a]]))])}}var tr={};u(tr,"ArrayUtil",()=>ts);class ts{static removeAListFrom(e,t){if(!t||!e||!e.length||!t.length)return;let r=new Set(t);for(let t=0;t<e.length;t++)r.has(e[t])&&(e.splice(t,1),t--)}static of(...e){let t=Array(e.length);for(let r=0;r<e.length;r++)t[r]=e[r];return t}constructor(){}}class tn extends e2{constructor(){super("Compare",ts.of(tn.PARAMETER_ARRAY_SOURCE,tn.PARAMETER_INT_SOURCE_FROM,tn.PARAMETER_ARRAY_FIND,tn.PARAMETER_INT_FIND_FROM,tn.PARAMETER_INT_LENGTH),tn.EVENT_RESULT_INTEGER)}async internalExecute(e){var t=e?.getArguments()?.get(tn.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tn.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(tn.PARAMETER_ARRAY_FIND.getParameterName()),n=e?.getArguments()?.get(tn.PARAMETER_INT_FIND_FROM.getParameterName()),a=e?.getArguments()?.get(tn.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length)throw new es("Compare source array cannot be empty");if(0==s.length)throw new es("Compare find array cannot be empty");if(-1==a&&(a=t.length-r),r+a>t.length)throw new es(el.format("Source array size $ is less than comparing size $",t.length,r+a));if(n+a>s.length)throw new es(el.format("Find array size $ is less than comparing size $",s.length,n+a));return new en(ts.of(ee.outputOf(W.of(tn.EVENT_RESULT_NAME,this.compare(t,r,r+a,s,n,n+a)))))}compare(e,t,r,s,n,a){if(r<t){let e=t;t=r,r=e}if(a<n){let e=n;n=a,a=e}if(r-t!=a-n)throw new es(el.format("Cannot compare uneven arrays from $ to $ in source array with $ to $ in find array",r,t,a,n));for(let a=t,i=n;a<r;a++,i++){let t=1;if(g(e[a])||g(s[i])){let r=g(e[a]);r==g(s[i])?t=0:r&&(t=-1)}else{let r=typeof e[a],n=typeof s[i];if("object"===r||"object"===n)t=1;else if("string"===r||"string"===n){let r=""+e[a],n=""+s[i];r===n?t=0:r<n&&(t=-1)}else"boolean"===r||"boolean"===n?t=r==n?0:1:"number"===r&&"number"===n&&(t=e[a]-s[i])}if(0!=t)return t}return 0}}var ta={};function ti(e){return e?"function"==typeof globalThis.structuredClone?globalThis.structuredClone(e):JSON.parse(JSON.stringify(e)):e}u(ta,"duplicate",()=>ti);class to extends e2{constructor(){super("Copy",[to.PARAMETER_ARRAY_SOURCE,to.PARAMETER_INT_SOURCE_FROM,to.PARAMETER_INT_LENGTH,to.PARAMETER_BOOLEAN_DEEP_COPY],to.EVENT_RESULT_ARRAY)}async internalExecute(e){var t=e?.getArguments()?.get(to.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(to.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(to.PARAMETER_INT_LENGTH.getParameterName());if(-1==s&&(s=t.length-r),r+s>t.length)throw new es(el.format("Array has no elements from $ to $ as the array size is $",r,r+s,t.length));var n=e?.getArguments()?.get(to.PARAMETER_BOOLEAN_DEEP_COPY.getParameterName());let a=Array(s);for(let e=r;e<r+s;e++)g(t[e])||(a[e-r]=n?ti(t[e]):t[e]);return new en([ee.outputOf(W.of(to.EVENT_RESULT_NAME,a))])}}class tE extends e2{constructor(){super("Delete",[e2.PARAMETER_ARRAY_SOURCE,e2.PARAMETER_ANY_VAR_ARGS],e2.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(tE.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tE.PARAMETER_ANY_VAR_ARGS.getParameterName());if(null==r)throw new es("The deletable var args are empty. So cannot be proceeded further.");if(0==t.length||0==r.length)throw new es("Expected a source or deletable for an array but not found any");let s=new Set;for(let e=t.length-1;e>=0;e--)for(let n=0;n<r.length;n++)s.has(e)||0!=te.compare(t[e],r[n])||s.add(t[e]);return new en([ee.outputOf(new Map([[e2.EVENT_RESULT_NAME,t.filter(e=>!s.has(e))]]))])}}class tu extends e2{constructor(){super("DeleteFirst",[tu.PARAMETER_ARRAY_SOURCE],tu.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(tu.PARAMETER_ARRAY_SOURCE.getParameterName());if(0==t.length)throw new es("Given source array is empty");return(t=[...t]).shift(),new en([ee.outputOf(new Map([[e2.EVENT_RESULT_NAME,t]]))])}}class tA extends e2{constructor(){super("DeleteFrom",[tA.PARAMETER_ARRAY_SOURCE,tA.PARAMETER_INT_SOURCE_FROM,tA.PARAMETER_INT_LENGTH],tA.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(tA.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tA.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(tA.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length)throw new es("There are no elements to be deleted");if(r>=(t=[...t]).length||r<0)throw new es("The int source for the array should be in between 0 and length of the array ");if(-1==s&&(s=t.length-r),r+s>t.length)throw new es("Requested length to be deleted is more than the size of array ");return t.splice(r,s),new en([ee.outputOf(new Map([[e2.EVENT_RESULT_NAME,t]]))])}}class tT extends e2{constructor(){super("DeleteLast",[tT.PARAMETER_ARRAY_SOURCE],tT.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(tT.PARAMETER_ARRAY_SOURCE.getParameterName());if(0==t.length)throw new es("Given source array is empty");return(t=[...t]).pop(),new en([ee.outputOf(new Map([[e2.EVENT_RESULT_NAME,t]]))])}}class tl extends e2{constructor(){super("Disjoint",[tl.PARAMETER_ARRAY_SOURCE,tl.PARAMETER_INT_SOURCE_FROM,tl.PARAMETER_ARRAY_SECOND_SOURCE,tl.PARAMETER_INT_SECOND_SOURCE_FROM,tl.PARAMETER_INT_LENGTH],tl.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(tl.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tl.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(tl.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),n=e?.getArguments()?.get(tl.PARAMETER_INT_SECOND_SOURCE_FROM.getParameterName()),a=e?.getArguments()?.get(tl.PARAMETER_INT_LENGTH.getParameterName());if(-1==a&&(a=t.length<=s.length?t.length-r:s.length-n),a>t.length||a>s.length||r+a>t.length||n+a>s.length)throw new es("The length which was being requested is more than than the size either source array or second source array");let i=new Set,o=new Set;for(let e=0;e<a;e++)i.add(t[e+r]);for(let e=0;e<a;e++)o.add(s[e+n]);let E=new Set;return i.forEach(e=>{o.has(e)?o.delete(e):E.add(e)}),o.forEach(e=>{i.has(e)||E.add(e)}),new en([ee.outputOf(new Map([[tl.EVENT_RESULT_NAME,[...E]]]))])}}class tR extends e2{constructor(){super("Equals",[tR.PARAMETER_ARRAY_SOURCE,tR.PARAMETER_INT_SOURCE_FROM,tR.PARAMETER_ARRAY_FIND,tR.PARAMETER_INT_FIND_FROM,tR.PARAMETER_INT_LENGTH],tR.EVENT_RESULT_BOOLEAN)}async internalExecute(e){let t=new tn,r=(await t.execute(e)).allResults()[0].getResult().get(tR.EVENT_RESULT_NAME);return new en([ee.outputOf(W.of(tR.EVENT_RESULT_NAME,0==r))])}}class tm extends e2{constructor(){super("Fill",[tm.PARAMETER_ARRAY_SOURCE,tm.PARAMETER_INT_SOURCE_FROM,tm.PARAMETER_INT_LENGTH,tm.PARAMETER_ANY],tm.EVENT_RESULT_ARRAY)}async internalExecute(e){var t=e?.getArguments()?.get(tm.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tm.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(tm.PARAMETER_INT_LENGTH.getParameterName()),n=e?.getArguments()?.get(tm.PARAMETER_ANY.getParameterName());if(r<0)throw new es(el.format("Arrays out of bound trying to access $ index",r));-1==s&&(s=t.length-r);let a=r+s-t.length;if(t=[...t],a>0)for(let e=0;e<a;e++)t.push();for(let e=r;e<r+s;e++)t[e]=g(n)?n:ti(n);return new en([ee.outputOf(W.of(e2.EVENT_RESULT_NAME,t))])}}class th extends e2{constructor(){super("Frequency",[th.PARAMETER_ARRAY_SOURCE,th.PARAMETER_ANY,th.PARAMETER_INT_SOURCE_FROM,th.PARAMETER_INT_LENGTH],th.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(th.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(th.PARAMETER_ANY.getParameterName()),s=e?.getArguments()?.get(th.PARAMETER_INT_SOURCE_FROM.getParameterName()),n=e?.getArguments()?.get(th.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length)return new en([ee.outputOf(new Map([[th.EVENT_RESULT_NAME,0]]))]);if(s>t.length)throw new es("Given start point is more than the size of source");let a=s+n;if(-1==n&&(a=t.length-s),a>t.length)throw new es("Given length is more than the size of source");let i=0;for(let e=s;e<a&&e<t.length;e++)0==te.compare(t[e],r)&&i++;return new en([ee.outputOf(new Map([[th.EVENT_RESULT_NAME,i]]))])}}class tg extends e2{constructor(){super("IndexOf",[tg.PARAMETER_ARRAY_SOURCE,tg.PARAMETER_ANY_ELEMENT_OBJECT,tg.PARAMETER_INT_FIND_FROM],tg.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(tg.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tg.PARAMETER_ANY_ELEMENT_OBJECT.getParameterName()),s=e?.getArguments()?.get(tg.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length)return new en([ee.outputOf(new Map([[tg.EVENT_RESULT_NAME,-1]]))]);if(s<0||s>t.length)throw new es("The size of the search index of the array is greater than the size of the array");let n=-1;for(let e=s;e<t.length;e++)if(0==te.compare(t[e],r)){n=e;break}return new en([ee.outputOf(new Map([[tg.EVENT_RESULT_NAME,n]]))])}}class tc extends e2{constructor(){super("IndexOfArray",[tc.PARAMETER_ARRAY_SOURCE,tc.PARAMETER_ARRAY_SECOND_SOURCE,tc.PARAMETER_INT_FIND_FROM],tc.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(tc.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tc.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),s=e?.getArguments()?.get(tc.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length||0==r.length)return new en([ee.outputOf(new Map([[tc.EVENT_RESULT_NAME,-1]]))]);if(s<0||s>t.length||t.length<r.length)throw new es("Given from second source is more than the size of the source array");let n=r.length,a=-1;for(let e=s;e<t.length;e++){let s=0;if(0==te.compare(t[e],r[s])){for(;s<n&&0==te.compare(t[e+s],r[s]);)s++;if(s==n){a=e;break}}}return new en([ee.outputOf(new Map([[tc.EVENT_RESULT_NAME,a]]))])}}class tp extends e2{constructor(){super("LastIndexOf",[tp.PARAMETER_ARRAY_SOURCE,tp.PARAMETER_ANY_ELEMENT_OBJECT,tp.PARAMETER_INT_FIND_FROM],tp.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(tp.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tp.PARAMETER_ANY_ELEMENT_OBJECT.getParameterName()),s=e?.getArguments()?.get(tp.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length)return new en([ee.outputOf(new Map([[tp.EVENT_RESULT_NAME,-1]]))]);if(s<0||s>t.length)throw new es("The value of length shouldn't the exceed the size of the array or shouldn't be in terms");let n=-1;for(let e=t.length-1;e>=s;e--)if(0==te.compare(t[e],r)){n=e;break}return new en([ee.outputOf(new Map([[tp.EVENT_RESULT_NAME,n]]))])}}class tN extends e2{constructor(){super("LastIndexOfArray",[tN.PARAMETER_ARRAY_SOURCE,tN.PARAMETER_ARRAY_SECOND_SOURCE,tN.PARAMETER_INT_FIND_FROM],tN.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(tN.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tN.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),s=e?.getArguments()?.get(tN.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length)return new en([ee.outputOf(new Map([[tN.EVENT_RESULT_NAME,-1]]))]);if(s<0||s>t.length||r.length>t.length)throw new es("Given from index is more than the size of the source array");let n=r.length,a=-1;for(let e=s;e<t.length;e++){let s=0;if(0==te.compare(t[e],r[s])){for(;s<n&&0==te.compare(t[e+s],r[s]);)s++;s==n&&(a=e)}}return new en([ee.outputOf(new Map([[tN.EVENT_RESULT_NAME,a]]))])}}class tf extends e2{constructor(){super("Max",[tf.PARAMETER_ARRAY_SOURCE_PRIMITIVE],tf.EVENT_RESULT_ANY)}async internalExecute(e){let t=e?.getArguments()?.get(tf.PARAMETER_ARRAY_SOURCE_PRIMITIVE.getParameterName());if(0==t.length)throw new es("Search source array cannot be empty");let r=t[0];for(let e=1;e<t.length;e++){let s=t[e];te.comparePrimitive(r,s)>=0||(r=s)}return new en([ee.outputOf(new Map([[tf.EVENT_RESULT_NAME,r]]))])}}class t_ extends e2{constructor(){super("Min",[t_.PARAMETER_ARRAY_SOURCE_PRIMITIVE],t_.EVENT_RESULT_ANY)}async internalExecute(e){let t,r=e?.getArguments()?.get(t_.PARAMETER_ARRAY_SOURCE_PRIMITIVE.getParameterName());if(0==r.length)throw new es("Search source array cannot be empty");for(let e=0;e<r.length;e++)!g(r[e])&&(void 0===t||0>te.comparePrimitive(r[e],t))&&(t=r[e]);return new en([ee.outputOf(new Map([[t_.EVENT_RESULT_NAME,t]]))])}}class tM extends e2{constructor(){super("MisMatch",[tM.PARAMETER_ARRAY_SOURCE,tM.PARAMETER_INT_FIND_FROM,tM.PARAMETER_ARRAY_SECOND_SOURCE,tM.PARAMETER_INT_SECOND_SOURCE_FROM,tM.PARAMETER_INT_LENGTH],tM.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(tM.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tM.PARAMETER_INT_FIND_FROM.getParameterName()),s=e?.getArguments()?.get(tM.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),n=e?.getArguments()?.get(tM.PARAMETER_INT_SECOND_SOURCE_FROM.getParameterName()),a=e?.getArguments()?.get(tM.PARAMETER_INT_LENGTH.getParameterName()),i=r<t.length&&r>0?r:0,o=n<s.length&&n>0?n:0;if(i+a>=t.length||o+a>s.length)throw new es("The size of the array for first and second which was being requested is more than size of the given array");let E=-1;for(let e=0;e<a;e++)if(t[i+e]!=s[o+e]){E=e;break}return new en([ee.outputOf(new Map([[tM.EVENT_RESULT_NAME,E]]))])}}class tS extends e2{constructor(){super("Reverse",[tS.PARAMETER_ARRAY_SOURCE,tS.PARAMETER_INT_SOURCE_FROM,tS.PARAMETER_INT_LENGTH],tS.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(tS.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tS.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(tS.PARAMETER_INT_LENGTH.getParameterName());if(-1==s&&(s=t.length-r),s>=t.length||s<0||r<0)throw new es("Please provide start point between the start and end indexes or provide the length which was less than the source size ");t=[...t];let n=r+s-1;for(;r<=n;){let e=t[r],s=t[n];t[r++]=s,t[n--]=e}return new en([ee.outputOf(new Map([[tS.EVENT_RESULT_NAME,t]]))])}}class tO extends e2{constructor(){super("Rotate",[tO.PARAMETER_ARRAY_SOURCE,tO.PARAMETER_ROTATE_LENGTH],tO.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(tO.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tO.PARAMETER_ROTATE_LENGTH.getParameterName());if(0==t.length)return new en([ee.outputOf(new Map([[e2.EVENT_RESULT_NAME,t]]))]);let s=(t=[...t]).length;return r%=s,this.rotate(t,0,r-1),this.rotate(t,r,s-1),this.rotate(t,0,s-1),new en([ee.outputOf(new Map([[e2.EVENT_RESULT_NAME,t]]))])}rotate(e,t,r){for(;t<r;){let s=e[t];e[t++]=e[r],e[r--]=s}}}class tw extends e2{constructor(){super("Shuffle",[tw.PARAMETER_ARRAY_SOURCE],tw.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(tw.PARAMETER_ARRAY_SOURCE.getParameterName());if(t.length<=1)return new en([ee.outputOf(new Map([[e2.EVENT_RESULT_NAME,t]]))]);let r=0,s=(t=[...t]).length;for(let e=0;e<s;e++){let e=Math.floor(Math.random()*s)%s,n=t[r];t[r]=t[e],t[e]=n,r=e}return new en([ee.outputOf(new Map([[e2.EVENT_RESULT_NAME,t]]))])}}var td={};u(td,"ObjectValueSetterExtractor",()=>tB);var tP={};u(tP,"Expression",()=>tG);var tI={};u(tI,"StringBuilder",()=>ty);class ty{constructor(e){this.str=e??""}append(e){return this.str+=e,this}toString(){return""+this.str}trim(){return this.str=this.str.trim(),this}setLength(e){return this.str=this.str.substring(0,e),this}length(){return this.str.length}charAt(e){return this.str.charAt(e)}deleteCharAt(e){return this.checkIndex(e),this.str=this.str.substring(0,e)+this.str.substring(e+1),this}insert(e,t){return this.str=this.str.substring(0,e)+t+this.str.substring(e),this}checkIndex(e){if(e>=this.str.length)throw new es(`Index ${e} is greater than or equal to ${this.str.length}`)}substring(e,t){return this.str.substring(e,t)}}var tx={};u(tx,"ExpressionEvaluationException",()=>tL);class tL extends Error{constructor(e,t,r){super(el.format("$ : $",e,t)),this.cause=r}getCause(){return this.cause}}var tv={};u(tv,"ExpressionToken",()=>tU);class tU{constructor(e){this.expression=e}getExpression(){return this.expression}toString(){return this.expression}}var tV={};u(tV,"ExpressionTokenValue",()=>tC);class tC extends tU{constructor(e,t){super(e),this.element=t}getTokenValue(){return this.element}getElement(){return this.element}toString(){return el.format("$: $",this.expression,this.element)}}var tD={};u(tD,"Operation",()=>tb);class tb{static{this.MULTIPLICATION=new tb("*")}static{this.DIVISION=new tb("/")}static{this.INTEGER_DIVISION=new tb("//")}static{this.MOD=new tb("%")}static{this.ADDITION=new tb("+")}static{this.SUBTRACTION=new tb("-")}static{this.NOT=new tb("not",void 0,!0)}static{this.AND=new tb("and",void 0,!0)}static{this.OR=new tb("or",void 0,!0)}static{this.LESS_THAN=new tb("<")}static{this.LESS_THAN_EQUAL=new tb("<=")}static{this.GREATER_THAN=new tb(">")}static{this.GREATER_THAN_EQUAL=new tb(">=")}static{this.EQUAL=new tb("=")}static{this.NOT_EQUAL=new tb("!=")}static{this.BITWISE_AND=new tb("&")}static{this.BITWISE_OR=new tb("|")}static{this.BITWISE_XOR=new tb("^")}static{this.BITWISE_COMPLEMENT=new tb("~")}static{this.BITWISE_LEFT_SHIFT=new tb("<<")}static{this.BITWISE_RIGHT_SHIFT=new tb(">>")}static{this.BITWISE_UNSIGNED_RIGHT_SHIFT=new tb(">>>")}static{this.UNARY_PLUS=new tb("UN: +","+")}static{this.UNARY_MINUS=new tb("UN: -","-")}static{this.UNARY_LOGICAL_NOT=new tb("UN: not","not")}static{this.UNARY_BITWISE_COMPLEMENT=new tb("UN: ~","~")}static{this.ARRAY_OPERATOR=new tb("[")}static{this.ARRAY_RANGE_INDEX_OPERATOR=new tb("..")}static{this.OBJECT_OPERATOR=new tb(".")}static{this.NULLISH_COALESCING_OPERATOR=new tb("??")}static{this.CONDITIONAL_TERNARY_OPERATOR=new tb("?")}static{this.VALUE_OF=new Map([["MULTIPLICATION",tb.MULTIPLICATION],["DIVISION",tb.DIVISION],["INTEGER_DIVISION",tb.INTEGER_DIVISION],["MOD",tb.MOD],["ADDITION",tb.ADDITION],["SUBTRACTION",tb.SUBTRACTION],["NOT",tb.NOT],["AND",tb.AND],["OR",tb.OR],["LESS_THAN",tb.LESS_THAN],["LESS_THAN_EQUAL",tb.LESS_THAN_EQUAL],["GREATER_THAN",tb.GREATER_THAN],["GREATER_THAN_EQUAL",tb.GREATER_THAN_EQUAL],["EQUAL",tb.EQUAL],["NOT_EQUAL",tb.NOT_EQUAL],["BITWISE_AND",tb.BITWISE_AND],["BITWISE_OR",tb.BITWISE_OR],["BITWISE_XOR",tb.BITWISE_XOR],["BITWISE_COMPLEMENT",tb.BITWISE_COMPLEMENT],["BITWISE_LEFT_SHIFT",tb.BITWISE_LEFT_SHIFT],["BITWISE_RIGHT_SHIFT",tb.BITWISE_RIGHT_SHIFT],["BITWISE_UNSIGNED_RIGHT_SHIFT",tb.BITWISE_UNSIGNED_RIGHT_SHIFT],["UNARY_PLUS",tb.UNARY_PLUS],["UNARY_MINUS",tb.UNARY_MINUS],["UNARY_LOGICAL_NOT",tb.UNARY_LOGICAL_NOT],["UNARY_BITWISE_COMPLEMENT",tb.UNARY_BITWISE_COMPLEMENT],["ARRAY_OPERATOR",tb.ARRAY_OPERATOR],["ARRAY_RANGE_INDEX_OPERATOR",tb.ARRAY_RANGE_INDEX_OPERATOR],["OBJECT_OPERATOR",tb.OBJECT_OPERATOR],["NULLISH_COALESCING_OPERATOR",tb.NULLISH_COALESCING_OPERATOR],["CONDITIONAL_TERNARY_OPERATOR",tb.CONDITIONAL_TERNARY_OPERATOR]])}static{this.UNARY_OPERATORS=new Set([tb.ADDITION,tb.SUBTRACTION,tb.NOT,tb.BITWISE_COMPLEMENT,tb.UNARY_PLUS,tb.UNARY_MINUS,tb.UNARY_LOGICAL_NOT,tb.UNARY_BITWISE_COMPLEMENT])}static{this.ARITHMETIC_OPERATORS=new Set([tb.MULTIPLICATION,tb.DIVISION,tb.INTEGER_DIVISION,tb.MOD,tb.ADDITION,tb.SUBTRACTION])}static{this.LOGICAL_OPERATORS=new Set([tb.NOT,tb.AND,tb.OR,tb.LESS_THAN,tb.LESS_THAN_EQUAL,tb.GREATER_THAN,tb.GREATER_THAN_EQUAL,tb.EQUAL,tb.NOT_EQUAL,tb.NULLISH_COALESCING_OPERATOR])}static{this.BITWISE_OPERATORS=new Set([tb.BITWISE_AND,tb.BITWISE_COMPLEMENT,tb.BITWISE_LEFT_SHIFT,tb.BITWISE_OR,tb.BITWISE_RIGHT_SHIFT,tb.BITWISE_UNSIGNED_RIGHT_SHIFT,tb.BITWISE_XOR])}static{this.CONDITIONAL_OPERATORS=new Set([tb.CONDITIONAL_TERNARY_OPERATOR])}static{this.OPERATOR_PRIORITY=new Map([[tb.UNARY_PLUS,1],[tb.UNARY_MINUS,1],[tb.UNARY_LOGICAL_NOT,1],[tb.UNARY_BITWISE_COMPLEMENT,1],[tb.ARRAY_OPERATOR,1],[tb.OBJECT_OPERATOR,1],[tb.ARRAY_RANGE_INDEX_OPERATOR,2],[tb.MULTIPLICATION,2],[tb.DIVISION,2],[tb.INTEGER_DIVISION,2],[tb.MOD,2],[tb.ADDITION,3],[tb.SUBTRACTION,3],[tb.BITWISE_LEFT_SHIFT,4],[tb.BITWISE_RIGHT_SHIFT,4],[tb.BITWISE_UNSIGNED_RIGHT_SHIFT,4],[tb.LESS_THAN,5],[tb.LESS_THAN_EQUAL,5],[tb.GREATER_THAN,5],[tb.GREATER_THAN_EQUAL,5],[tb.EQUAL,6],[tb.NOT_EQUAL,6],[tb.BITWISE_AND,7],[tb.BITWISE_XOR,8],[tb.BITWISE_OR,9],[tb.AND,10],[tb.OR,11],[tb.NULLISH_COALESCING_OPERATOR,11],[tb.CONDITIONAL_TERNARY_OPERATOR,12]])}static{this.OPERATORS=new Set([...Array.from(tb.ARITHMETIC_OPERATORS),...Array.from(tb.LOGICAL_OPERATORS),...Array.from(tb.BITWISE_OPERATORS),tb.ARRAY_OPERATOR,tb.ARRAY_RANGE_INDEX_OPERATOR,tb.OBJECT_OPERATOR,...Array.from(tb.CONDITIONAL_OPERATORS)].map(e=>e.getOperator()))}static{this.OPERATORS_WITHOUT_SPACE_WRAP=new Set([...Array.from(tb.ARITHMETIC_OPERATORS),...Array.from(tb.LOGICAL_OPERATORS),...Array.from(tb.BITWISE_OPERATORS),tb.ARRAY_OPERATOR,tb.ARRAY_RANGE_INDEX_OPERATOR,tb.OBJECT_OPERATOR,...Array.from(tb.CONDITIONAL_OPERATORS)].filter(e=>!e.shouldBeWrappedInSpace()).map(e=>e.getOperator()))}static{this.OPERATION_VALUE_OF=new Map(Array.from(tb.VALUE_OF.entries()).map(([e,t])=>[t.getOperator(),t]))}static{this.UNARY_MAP=new Map([[tb.ADDITION,tb.UNARY_PLUS],[tb.SUBTRACTION,tb.UNARY_MINUS],[tb.NOT,tb.UNARY_LOGICAL_NOT],[tb.BITWISE_COMPLEMENT,tb.UNARY_BITWISE_COMPLEMENT],[tb.UNARY_PLUS,tb.UNARY_PLUS],[tb.UNARY_MINUS,tb.UNARY_MINUS],[tb.UNARY_LOGICAL_NOT,tb.UNARY_LOGICAL_NOT],[tb.UNARY_BITWISE_COMPLEMENT,tb.UNARY_BITWISE_COMPLEMENT]])}static{this.BIGGEST_OPERATOR_SIZE=Array.from(tb.VALUE_OF.values()).map(e=>e.getOperator()).filter(e=>!e.startsWith("UN: ")).map(e=>e.length).reduce((e,t)=>e>t?e:t,0)}constructor(e,t,r=!1){this.operator=e,this.operatorName=t??e,this._shouldBeWrappedInSpace=r}getOperator(){return this.operator}getOperatorName(){return this.operatorName}shouldBeWrappedInSpace(){return this._shouldBeWrappedInSpace}valueOf(e){return tb.VALUE_OF.get(e)}toString(){return this.operator}}class tG extends tU{constructor(e,t,r,s){super(e||""),this.tokens=new eR,this.ops=new eR,s?.getOperator()!=".."||(t?r||(r=new tC("","")):t=new tC("","")),t&&this.tokens.push(t),r&&this.tokens.push(r),s&&this.ops.push(s),this.evaluate(),this.ops.isEmpty()||".."!=this.ops.peekLast().getOperator()||1!=this.tokens.length||this.tokens.push(new tU(""))}getTokens(){return this.tokens}getOperations(){return this.ops}evaluate(){let e;let t=this.expression.length,r="",s=new ty(""),n=0,a=!1;for(;n<t;){switch(r=this.expression[n],e=s.toString(),r){case" ":a=this.processTokenSepearator(s,e,a);break;case"(":n=this.processSubExpression(t,s,e,n,a),a=!1;break;case")":throw new tL(this.expression,"Extra closing parenthesis found");case"]":throw new tL(this.expression,"Extra closing square bracket found");case"'":case'"':{let e=this.processStringLiteral(t,r,n);n=e.getT1(),a=e.getT2();break}case"?":if(n+1<t&&"?"!=this.expression.charAt(n+1)&&0!=n&&"?"!=this.expression.charAt(n-1))n=this.processTernaryOperator(t,s,e,n,a);else{let i=this.processOthers(r,t,s,e,n,a);n=i.getT1(),(a=i.getT2())&&this.ops.peek()==tb.ARRAY_OPERATOR&&(n=(i=this.process(t,s,n)).getT1(),a=i.getT2())}break;default:let i=this.processOthers(r,t,s,e,n,a);n=i.getT1(),(a=i.getT2())&&this.ops.peek()==tb.ARRAY_OPERATOR&&(n=(i=this.process(t,s,n)).getT1(),a=i.getT2())}++n}if(e=s.toString(),!ec.isNullOrBlank(e)){if(tb.OPERATORS.has(e))throw new tL(this.expression,"Expression is ending with an operator");this.tokens.push(new tU(e))}}processStringLiteral(e,t,r){let s="",n=r+1;for(;n<e;n++){let e=this.expression.charAt(n);if(e==t&&"\\"!=this.expression.charAt(n-1))break;s+=e}if(n==e&&this.expression.charAt(n-1)!=t)throw new tL(this.expression,"Missing string ending marker "+t);let a=new ef(n,!1);return this.tokens.push(new tC(s,s)),a}process(e,t,r){let s=1;for(++r;r<e&&0!=s;){let e=this.expression.charAt(r);"]"==e?--s:"["==e&&++s,0!=s&&(t.append(e),r++)}return this.tokens.push(new tG(t.toString())),t.setLength(0),new ef(r,!1)}processOthers(e,t,r,s,n,a){let i=t-n;i=i<tb.BIGGEST_OPERATOR_SIZE?i:tb.BIGGEST_OPERATOR_SIZE;for(let e=i;e>0;e--){let t=this.expression.substring(n,n+e);if(tb.OPERATORS_WITHOUT_SPACE_WRAP.has(t))return ec.isNullOrBlank(s)?".."==t&&this.tokens.isEmpty()&&(this.tokens.push(new tU("0")),a=!1):(this.tokens.push(new tU(s)),a=!1),this.checkUnaryOperator(this.tokens,this.ops,tb.OPERATION_VALUE_OF.get(t),a),a=!0,r.setLength(0),new ef(n+e-1,a)}return r.append(e),new ef(n,!1)}processTernaryOperator(e,t,r,s,n){if(n)throw new tL(this.expression,"Ternary operator is followed by an operator");""!=r.trim()&&(this.tokens.push(new tG(r)),t.setLength(0));let a=1,i="",o=++s;for(;s<e&&a>0;)"?"==(i=this.expression.charAt(s))?++a:":"==i&&--a,++s;if(":"!=i)throw new tL(this.expression,"':' operater is missing");if(s>=e)throw new tL(this.expression,"Third part of the ternary expression is missing");for(;!this.ops.isEmpty()&&this.hasPrecedence(tb.CONDITIONAL_TERNARY_OPERATOR,this.ops.peek());){let e=this.ops.pop();if(tb.UNARY_OPERATORS.has(e)){let t=this.tokens.pop();this.tokens.push(new tG("",t,void 0,e))}else{let t=this.tokens.pop(),r=this.tokens.pop();this.tokens.push(new tG("",r,t,e))}}this.ops.push(tb.CONDITIONAL_TERNARY_OPERATOR),this.tokens.push(new tG(this.expression.substring(o,s-1)));let E=this.expression.substring(s);if(""===E.trim())throw new tL(this.expression,"Third part of the ternary expression is missing");return this.tokens.push(new tG(E)),e-1}processSubExpression(e,t,r,s,n){if(tb.OPERATORS.has(r))this.checkUnaryOperator(this.tokens,this.ops,tb.OPERATION_VALUE_OF.get(r),n),t.setLength(0);else if(!ec.isNullOrBlank(r))throw new tL(this.expression,el.format("Unkown token : $ found.",r));let a=1,i=new ty,o=this.expression.charAt(s);for(s++;s<e&&a>0;)"("==(o=this.expression.charAt(s))?a++:")"==o&&a--,0!=a&&(i.append(o),s++);if(")"!=o)throw new tL(this.expression,"Missing a closed parenthesis");for(;i.length()>2&&"("==i.charAt(0)&&")"==i.charAt(i.length()-1);)i.deleteCharAt(0),i.setLength(i.length()-1);return this.tokens.push(new tG(i.toString().trim())),s}processTokenSepearator(e,t,r){return ec.isNullOrBlank(t)||(tb.OPERATORS.has(t)?(this.checkUnaryOperator(this.tokens,this.ops,tb.OPERATION_VALUE_OF.get(t),r),r=!0):(this.tokens.push(new tU(t)),r=!1)),e.setLength(0),r}checkUnaryOperator(e,t,r,s){if(r){if(s||e.isEmpty()){if(tb.UNARY_OPERATORS.has(r)){let e=tb.UNARY_MAP.get(r);e&&t.push(e)}else throw new tL(this.expression,el.format("Extra operator $ found.",r))}else{for(;!t.isEmpty()&&this.hasPrecedence(r,t.peek());){let r=t.pop();if(tb.UNARY_OPERATORS.has(r)){let t=e.pop();e.push(new tG("",t,void 0,r))}else{let t=e.pop(),s=e.pop();e.push(new tG("",s,t,r))}}t.push(r)}}}hasPrecedence(e,t){let r=tb.OPERATOR_PRIORITY.get(e),s=tb.OPERATOR_PRIORITY.get(t);if(!r||!s)throw Error("Unknown operators provided");return s<r}toString(){if(this.ops.isEmpty())return 1==this.tokens.size()?this.tokens.get(0).toString():"Error: No tokens";let e=new ty,t=0,r=this.ops.toArray(),s=this.tokens.toArray();for(let n=0;n<r.length;n++)if(r[n].getOperator().startsWith("UN: "))e.append("(").append(r[n].getOperator().substring(4)).append(s[t]instanceof tG?s[t].toString():s[t]).append(")"),t++;else if(r[n]==tb.CONDITIONAL_TERNARY_OPERATOR){let r=s[t++];e.insert(0,r.toString()),e.insert(0,":"),r=s[t++],e.insert(0,r.toString()),e.insert(0,"?"),r=s[t++],e.insert(0,r.toString()).append(")"),e.insert(0,"(")}else{if(0==t){let r=s[t++];e.insert(0,r.toString())}let a=s[t++];e.insert(0,r[n].getOperator()).insert(0,a instanceof tG?a.toString():a?.toString()).insert(0,"(").append(")")}return e.toString()}equals(e){return this.expression==e.expression}}var tF={};u(tF,"TokenValueExtractor",()=>tY);class tY{static{this.REGEX_SQUARE_BRACKETS=/[\[\]]/}static{this.REGEX_DOT=/(?<!\.)\.(?!\.)/}getValue(e){let t=this.getPrefix();if(!e.startsWith(t))throw new es(el.format("Token $ doesn't start with $",e,t));if(e.endsWith(".__index")){let t=e.substring(0,e.length-8),r=this.getValueInternal(t);if(!g(r?.__index))return r.__index;if(!t.endsWith("]"))return t.substring(t.lastIndexOf(".")+1);{let e=t.substring(t.lastIndexOf("[")+1,t.length-1),r=parseInt(e);return isNaN(r)?e:r}}return this.getValueInternal(e)}retrieveElementFrom(e,t,r,s){if(g(s))return;if(t.length==r)return s;let n=t[r].split(tY.REGEX_SQUARE_BRACKETS).map(e=>e.trim()).filter(e=>!ec.isNullOrBlank(e)).reduce((s,n)=>this.resolveForEachPartOfTokenWithBrackets(e,t,r,n,s),s);return this.retrieveElementFrom(e,t,r+1,n)}resolveForEachPartOfTokenWithBrackets(e,t,r,s,n){if(!g(n))return"length"===s?this.getLength(e,n):"string"==typeof n||Array.isArray(n)?this.handleArrayAccess(e,s,n):this.handleObjectAccess(e,t,r,s,n)}getLength(e,t){let r=typeof t;if("string"===r||Array.isArray(t))return t.length;if("object"===r)return"length"in t?t.length:Object.keys(t).length;throw new tL(e,el.format("Length can't be found in token $",e))}handleArrayAccess(e,t,r){let s=t.indexOf("..");if(s>=0){let e=t.substring(0,s),n=t.substring(s+2),a=0==e.length?0:parseInt(e),i=0==n.length?r.length:parseInt(n);if(isNaN(a)||isNaN(i))return;for(;a<0;)a+=r.length;for(;i<0;)i+=r.length;let o=typeof r;return a>=i?"string"==o?"":[]:"string"==o?r.substring(a,i):r.slice(a,i)}let n=parseInt(t);if(isNaN(n))throw new tL(e,el.format("$ is not a number",t));for(;n<0;)n=r.length+n;if(!(n>=r.length))return r[n]}handleObjectAccess(e,t,r,s,n){if(s.startsWith('"')){if(!s.endsWith('"')||1==s.length||2==s.length)throw new tL(e,el.format("$ is missing a double quote or empty key found",e));s=s.substring(1,t.length-2)}return this.checkIfObject(e,t,r,n),n[s]}checkIfObject(e,t,r,s){let n=typeof s;if("object"!=n&&"string"!=n||Array.isArray(s))throw new tL(e,el.format("Unable to retrieve $ from $ in the path $",t[r],s.toString(),e))}}class tB extends tY{constructor(e,t){super(),this.store=e,this.prefix=t}getValueInternal(e){let t=e.split(tY.REGEX_DOT);return this.retrieveElementFrom(e,t,1,this.store)}getStore(){return this.store}setStore(e){return this.store=e,this}setValue(e,t,r=!0,s=!1){this.store=ti(this.store),this.modifyStore(e,t,r,s)}modifyStore(e,t,r,s){let n=new tG(e),a=n.getTokens();a.removeLast();let i=n.getOperations(),o=i.removeLast(),E=a.removeLast(),u=E instanceof tC?E.getElement():E.getExpression(),A=this.store;for(;!i.isEmpty();)A=o==tb.OBJECT_OPERATOR?this.getDataFromObject(A,u,i.peekLast()):this.getDataFromArray(A,u,i.peekLast()),o=i.removeLast(),u=(E=a.removeLast())instanceof tC?E.getElement():E.getExpression();o==tb.OBJECT_OPERATOR?this.putDataInObject(A,u,t,r,s):this.putDataInArray(A,u,t,r,s)}getDataFromArray(e,t,r){if(!Array.isArray(e))throw new es(el.format("Expected an array but found $",e));let s=parseInt(t);if(isNaN(s))throw new es(el.format("Expected an array index but found $",t));if(s<0)throw new es(el.format("Array index is out of bound - $",t));let n=e[s];return g(n)&&(n=r==tb.OBJECT_OPERATOR?{}:[],e[s]=n),n}getDataFromObject(e,t,r){if(Array.isArray(e)||"object"!=typeof e)throw new es(el.format("Expected an object but found $",e));let s=e[t];return g(s)&&(s=r==tb.OBJECT_OPERATOR?{}:[],e[t]=s),s}putDataInArray(e,t,r,s,n){if(!Array.isArray(e))throw new es(el.format("Expected an array but found $",e));let a=parseInt(t);if(isNaN(a))throw new es(el.format("Expected an array index but found $",t));if(a<0)throw new es(el.format("Array index is out of bound - $",t));(s||g(e[a]))&&(n&&g(r)?e.splice(a,1):e[a]=r)}putDataInObject(e,t,r,s,n){if(Array.isArray(e)||"object"!=typeof e)throw new es(el.format("Expected an object but found $",e));(s||g(e[t]))&&(n&&g(r)?delete e[t]:e[t]=r)}getPrefix(){return this.prefix}}class tH extends e2{constructor(){super("Sort",[tH.PARAMETER_ARRAY_SOURCE,tH.PARAMETER_INT_FIND_FROM,tH.PARAMETER_INT_LENGTH,tH.PARAMETER_BOOLEAN_ASCENDING,tH.PARAMETER_KEY_PATH],tH.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(tH.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tH.PARAMETER_INT_FIND_FROM.getParameterName()),s=e?.getArguments()?.get(tH.PARAMETER_INT_LENGTH.getParameterName()),n=e?.getArguments()?.get(tH.PARAMETER_BOOLEAN_ASCENDING.getParameterName()),a=e?.getArguments()?.get(tH.PARAMETER_KEY_PATH.getParameterName());if(0==t.length)return new en([ee.outputOf(new Map([[e2.EVENT_RESULT_NAME,t]]))]);if(t=[...t],-1==s&&(s=t.length-r),r<0||r>=t.length||r+s>t.length)throw new es("Given start point is more than the size of the array or not available at that point");let i=t.slice(r,r+s+1),o=new tB({},"Data.");return i.sort((e,t)=>"object"==typeof e&&"object"==typeof t&&a.length?(o.setStore({a:e,b:t}),tk(o.getValue("Data.a."+a),o.getValue("Data.b."+a),n)):tk(e,t,n)),t.splice(r,s,...i),new en([ee.outputOf(new Map([[e2.EVENT_RESULT_NAME,t]]))])}}function tk(e,t,r){return e===t?0:null===e?1:null===t?-1:r?e<t?-1:1:e<t?1:-1}class t$ extends e2{constructor(){super("SubArray",[t$.PARAMETER_ARRAY_SOURCE,t$.PARAMETER_INT_FIND_FROM,t$.PARAMETER_INT_LENGTH],t$.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(t$.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(t$.PARAMETER_INT_FIND_FROM.getParameterName()),s=e?.getArguments()?.get(t$.PARAMETER_INT_LENGTH.getParameterName());if(-1==s&&(s=t.length-r),s<=0)return new en([ee.outputOf(new Map([]))]);if(!(r>=0&&r<t.length)||r+s>t.length)throw new es("Given find from point is more than the source size array or the Requested length for the subarray was more than the source size");let n=t.slice(r,r+s);return new en([ee.outputOf(new Map([[t$.EVENT_RESULT_NAME,n]]))])}}class tj extends e2{constructor(){super("Insert",[tj.PARAMETER_ARRAY_SOURCE,tj.PARAMETER_INT_OFFSET,tj.PARAMETER_ANY],tj.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(tj.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tj.PARAMETER_INT_OFFSET.getParameterName());var s=e?.getArguments()?.get(tj.PARAMETER_ANY.getParameterName());if(g(s)||g(r)||r>t.length)throw new es("Please valid resouces to insert at the correct location");if(0==(t=[...t]).length)return 0==r&&t.push(s),new en([ee.outputOf(new Map([[e2.EVENT_RESULT_NAME,t]]))]);t.push(s);let n=t.length-1;for(r++;n>=r;){let e=t[n-1];t[n-1]=t[n],t[n--]=e}return new en([ee.outputOf(new Map([[e2.EVENT_RESULT_NAME,t]]))])}}class tW extends e2{constructor(){super("InsertLast",[tW.PARAMETER_ARRAY_SOURCE,tW.PARAMETER_ANY],tW.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(tW.PARAMETER_ARRAY_SOURCE.getParameterName());var r=e?.getArguments()?.get(tW.PARAMETER_ANY.getParameterName());return(t=[...t]).push(r),new en([ee.outputOf(new Map([[e2.EVENT_RESULT_NAME,t]]))])}}class tX extends e2{constructor(){super("RemoveDuplicates",[tX.PARAMETER_ARRAY_SOURCE,tX.PARAMETER_INT_SOURCE_FROM,tX.PARAMETER_INT_LENGTH],tX.EVENT_RESULT_ARRAY)}async internalExecute(e){var t=e?.getArguments()?.get(tX.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tX.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(tX.PARAMETER_INT_LENGTH.getParameterName());if(-1==s&&(s=t.length-r),r+s>t.length)throw new es(el.format("Array has no elements from $ to $ as the array size is $",r,r+s,t.length));let n=[...t],a=r+s;for(let e=a-1;e>=r;e--)for(let t=e-1;t>=r;t--)if(eh(n[e],n[t])){n.splice(e,1);break}return new en([ee.outputOf(W.of(tX.EVENT_RESULT_NAME,n))])}}const tJ="keyPath",tq="valuePath",tz="ignoreNullValues",tK="ignoreNullKeys",tQ="ignoreDuplicateKeys";class tZ extends e2{constructor(){super("ArrayToObjects",[e2.PARAMETER_ARRAY_SOURCE,$.of(tJ,b.ofString(tJ)),$.of(tq,b.of(tq,N.STRING,N.NULL)),$.of(tz,b.ofBoolean(tz).setDefaultValue(!1)),$.of(tK,b.ofBoolean(tK).setDefaultValue(!0)),$.of(tQ,b.ofBoolean(tQ).setDefaultValue(!1))],e2.EVENT_RESULT_ANY)}async internalExecute(e){let t=e?.getArguments()?.get(e2.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tJ),s=e?.getArguments()?.get(tq)??"",n=e?.getArguments()?.get(tz),a=e?.getArguments()?.get(tK),i=e?.getArguments()?.get(tQ),o=new tB({},"Data."),E=t.filter(e=>!g(e)).reduce((e,t)=>{o.setStore(t);let E=o.getValue("Data."+r);if(a&&g(E))return e;let u=s?o.getValue("Data."+s):t;return n&&g(u)||i&&e.hasOwnProperty(E)||(e[E]=u),e},{});return new en([ee.outputOf(new Map([[e2.EVENT_RESULT_NAME,E]]))])}}const t0="source",t1="delimiter",t2="result";class t9 extends e1{getSignature(){return this.signature}async internalExecute(e){let t=e?.getArguments()?.get(t0),r=e?.getArguments()?.get(t1);return new en([ee.outputOf(new Map([[t2,t.join(r)]]))])}constructor(...e){super(...e),this.signature=new ei("Join").setNamespace(R.SYSTEM_ARRAY).setParameters(new Map([[t0,new $(t0,b.ofArray(t0,b.of("each",N.STRING,N.INTEGER,N.LONG,N.DOUBLE,N.FLOAT,N.NULL)))],[t1,new $(t1,b.ofString(t1).setDefaultValue(""))]])).setEvents(new Map([Z.outputEventMapEntry(new Map([[t2,b.ofString(t2)]]))]))}}class t4{async find(e,t){return e!=R.SYSTEM_ARRAY?Promise.resolve(void 0):Promise.resolve(this.repoMap.get(t))}async filter(e){return Promise.resolve(this.filterableNames.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}constructor(){this.repoMap=W.ofArrayEntries(z(new e9),z(new e4),z(new tt),z(new tn),z(new to),z(new tE),z(new tu),z(new tA),z(new tT),z(new tl),z(new tR),z(new tm),z(new th),z(new tg),z(new tc),z(new tp),z(new tN),z(new tf),z(new t_),z(new tM),z(new tS),z(new tO),z(new tw),z(new tH),z(new t$),z(new e5),z(new tj),z(new tW),z(new tX),z(new tZ),z(new t9)),this.filterableNames=Array.from(this.repoMap.values()).map(e=>e.getSignature().getFullName())}}var t3={};u(t3,"ContextElement",()=>t5);class t5{static{this.NULL=new t5(b.NULL,void 0)}constructor(e,t){this.schema=e,this.element=t}getSchema(){return this.schema}setSchema(e){return this.schema=e,this}getElement(){return this.element}setElement(e){return this.element=e,this}}const t6="name",t7="schema";class t8 extends e1{getSignature(){return this.signature}async internalExecute(e){let t=e?.getArguments()?.get(t6);if(e?.getContext()?.has(t))throw new es(el.format("Context already has an element for '$' ",t));let r=b.from(e?.getArguments()?.get(t7));if(!r)throw new es("Schema is not supplied.");return e.getContext().set(t,new t5(r,g(r.getDefaultValue())?void 0:r.getDefaultValue())),new en([ee.outputOf(new Map)])}constructor(...e){super(...e),this.signature=new ei("Create").setNamespace(R.SYSTEM_CTX).setParameters(new Map([$.ofEntry(t6,new b().setName(t6).setType(P.of(N.STRING)).setMinLength(1).setFormat(eB.REGEX).setPattern("^[a-zA-Z_$][a-zA-Z_$0-9]*$"),!1,H.CONSTANT),$.ofEntry(t7,b.SCHEMA,!1,H.CONSTANT)])).setEvents(new Map([Z.outputEventMapEntry(new Map)]))}}const re="name",rt="value";class rr extends e1{getSignature(){return this.signature}async internalExecute(e){let t=e?.getArguments()?.get(re);if(!e.getContext()?.has(t))throw new es(el.format("Context don't have an element for '$' ",t));return new en([ee.outputOf(new Map([rt,e.getContext()?.get(t)?.getElement()]))])}constructor(...e){super(...e),this.signature=new ei("Get").setNamespace(R.SYSTEM_CTX).setParameters(new Map([$.ofEntry(re,new b().setName(re).setType(P.of(N.STRING)).setMinLength(1).setFormat(eB.REGEX).setPattern("^[a-zA-Z_$][a-zA-Z_$0-9]*$"),!1,H.CONSTANT)])).setEvents(new Map([Z.outputEventMapEntry(new Map([[rt,b.ofAny(rt)]]))]))}}var rs={};u(rs,"ExpressionEvaluator",()=>sA);var rn={},ra={};u(ra,"ArithmeticAdditionOperator",()=>rE);var ri={};u(ri,"BinaryOperator",()=>ro);class ro{nullCheck(e,t,r){if(g(e)||g(t))throw new e8(el.format("$ cannot be applied to a null value",r.getOperatorName()))}}class rE extends ro{apply(e,t){return g(e)?t:g(t)?e:e+t}}var ru={};u(ru,"ArithmeticDivisionOperator",()=>rA);class rA extends ro{apply(e,t){return this.nullCheck(e,t,tb.DIVISION),e/t}}var rT={};u(rT,"ArithmeticIntegerDivisionOperator",()=>rl);class rl extends ro{apply(e,t){return this.nullCheck(e,t,tb.DIVISION),Math.floor(e/t)}}var rR={};u(rR,"ArithmeticModulusOperator",()=>rm);class rm extends ro{apply(e,t){return this.nullCheck(e,t,tb.MOD),e%t}}var rh={};u(rh,"ArithmeticMultiplicationOperator",()=>rg);class rg extends ro{apply(e,t){this.nullCheck(e,t,tb.MULTIPLICATION);let r="string"==typeof e,s=typeof t;if(r||"string"===s){let s=r?e:t,n=r?t:e,a="",i=n<0,o=Math.floor(n=Math.abs(n));for(;o-- >0;)a+=s;let E=Math.floor(s.length*(n-Math.floor(n)));if(E<0&&(E=-E),0!=E&&(a+=s.substring(0,E)),i){let e="";for(let t=a.length-1;t>=0;t--)e+=a[t];return e}return a}return e*t}}var rc={};u(rc,"ArithmeticSubtractionOperator",()=>rp);class rp extends ro{apply(e,t){return this.nullCheck(e,t,tb.SUBTRACTION),e-t}}var rN={};u(rN,"ArrayOperator",()=>rf);class rf extends ro{apply(e,t){if(!e)throw new e8("Cannot apply array operator on a null value");if(!t)throw new e8("Cannot retrive null index value");if(!Array.isArray(e)&&"string"!=typeof e)throw new e8(el.format("Cannot retrieve value from a primitive value $",e));if(t>=e.length)throw new e8(el.format("Cannot retrieve index $ from the array of length $",t,e.length));return e[t]}}var r_={};u(r_,"BitwiseAndOperator",()=>rM);class rM extends ro{apply(e,t){return this.nullCheck(e,t,tb.BITWISE_AND),e&t}}var rS={};u(rS,"BitwiseLeftShiftOperator",()=>rO);class rO extends ro{apply(e,t){return this.nullCheck(e,t,tb.BITWISE_LEFT_SHIFT),e<<t}}var rw={};u(rw,"BitwiseOrOperator",()=>rd);class rd extends ro{apply(e,t){return this.nullCheck(e,t,tb.BITWISE_OR),e|t}}var rP={};u(rP,"BitwiseRightShiftOperator",()=>rI);class rI extends ro{apply(e,t){return this.nullCheck(e,t,tb.BITWISE_RIGHT_SHIFT),e>>t}}var ry={};u(ry,"BitwiseUnsignedRightShiftOperator",()=>rx);class rx extends ro{apply(e,t){return this.nullCheck(e,t,tb.BITWISE_UNSIGNED_RIGHT_SHIFT),e>>>t}}var rL={};u(rL,"BitwiseXorOperator",()=>rv);class rv extends ro{apply(e,t){return this.nullCheck(e,t,tb.BITWISE_XOR),e^t}}var rU={};u(rU,"LogicalAndOperator",()=>rV);class rV extends ro{apply(e,t){return!!e&&""!==e&&!!t&&""!==t}}var rC={};u(rC,"LogicalEqualOperator",()=>rD);class rD extends ro{apply(e,t){return eh(e,t)}}var rb={};u(rb,"LogicalGreaterThanEqualOperator",()=>rG);class rG extends ro{apply(e,t){let r=te.findPrimitiveNullAsBoolean(e),s=te.findPrimitiveNullAsBoolean(t);if(r.getT1()==N.BOOLEAN||s.getT1()==N.BOOLEAN)throw new e8(el.format("Cannot compare >= with the values $ and $",r.getT2(),s.getT2()));return r.getT2()>=s.getT2()}}var rF={};u(rF,"LogicalGreaterThanOperator",()=>rY);class rY extends ro{apply(e,t){let r=te.findPrimitiveNullAsBoolean(e),s=te.findPrimitiveNullAsBoolean(t);if(r.getT1()==N.BOOLEAN||s.getT1()==N.BOOLEAN)throw new e8(el.format("Cannot compare > with the values $ and $",r.getT2(),s.getT2()));return r.getT2()>s.getT2()}}var rB={};u(rB,"LogicalLessThanEqualOperator",()=>rH);class rH extends ro{apply(e,t){let r=te.findPrimitiveNullAsBoolean(e),s=te.findPrimitiveNullAsBoolean(t);if(r.getT1()==N.BOOLEAN||s.getT1()==N.BOOLEAN)throw new e8(el.format("Cannot compare <= with the values $ and $",r.getT2(),s.getT2()));return r.getT2()<=s.getT2()}}var rk={};u(rk,"LogicalNotEqualOperator",()=>r$);class r$ extends ro{apply(e,t){return!eh(e,t)}}var rj={};u(rj,"LogicalLessThanOperator",()=>rW);class rW extends ro{apply(e,t){let r=te.findPrimitiveNullAsBoolean(e),s=te.findPrimitiveNullAsBoolean(t);if(r.getT1()==N.BOOLEAN||s.getT1()==N.BOOLEAN)throw new e8(el.format("Cannot compare < with the values $ and $",r.getT2(),s.getT2()));return r.getT2()<s.getT2()}}var rX={};u(rX,"LogicalOrOperator",()=>rJ);class rJ extends ro{apply(e,t){return!!e&&""!==e||!!t&&""!==t}}var rq={};u(rq,"ObjectOperator",()=>rz);class rz extends ro{apply(e,t){if(!e)throw new e8("Cannot apply array operator on a null value");if(!t)throw new e8("Cannot retrive null property value");let r=typeof e;if(!Array.isArray(e)&&"string"!=r&&"object"!=r)throw new e8(el.format("Cannot retrieve value from a primitive value $",e));return e[t]}}var rK={};u(rK,"LogicalNullishCoalescingOperator",()=>rQ);class rQ extends ro{apply(e,t){return g(e)?t:e}}var rZ={};u(rZ,"ArrayRangeOperator",()=>r0);class r0 extends ro{apply(e,t){return`${e??""}..${t??""}`}}E(rn,ra),E(rn,ru),E(rn,rT),E(rn,rR),E(rn,rh),E(rn,rc),E(rn,rN),E(rn,ri),E(rn,r_),E(rn,rS),E(rn,rw),E(rn,rP),E(rn,ry),E(rn,rL),E(rn,rU),E(rn,rC),E(rn,rb),E(rn,rF),E(rn,rB),E(rn,rk),E(rn,rj),E(rn,rX),E(rn,rq),E(rn,rK),E(rn,rZ);var r1={},r2={};u(r2,"ArithmeticUnaryMinusOperator",()=>r3);var r9={};u(r9,"UnaryOperator",()=>r4);class r4{nullCheck(e,t){if(g(e))throw new e8(el.format("$ cannot be applied to a null value",t.getOperatorName()))}}class r3 extends r4{apply(e){return this.nullCheck(e,tb.UNARY_MINUS),te.findPrimitiveNumberType(e),-e}}var r5={};u(r5,"ArithmeticUnaryPlusOperator",()=>r6);class r6 extends r4{apply(e){return this.nullCheck(e,tb.UNARY_PLUS),te.findPrimitiveNumberType(e),e}}var r7={};u(r7,"BitwiseComplementOperator",()=>r8);class r8 extends r4{apply(e){this.nullCheck(e,tb.UNARY_BITWISE_COMPLEMENT);let t=te.findPrimitiveNumberType(e);if(t.getT1()!=N.INTEGER&&t.getT1()!=N.LONG)throw new e8(el.format("Unable to apply bitwise operator on $",e));return~e}}var se={};u(se,"LogicalNotOperator",()=>st);class st extends r4{apply(e){return!e&&""!==e}}E(r1,r2),E(r1,r5),E(r1,r7),E(r1,se),E(r1,r9);var sr={};u(sr,"LiteralTokenValueExtractor",()=>sn);const ss=new Map([["true",!0],["false",!1],["null",void 0],["undefined",void 0]]);class sn extends tY{static{this.INSTANCE=new sn}getValueInternal(e){if(!ec.isNullOrBlank(e))return(e=e.trim(),ss.has(e))?ss.get(e):e.startsWith('"')?this.processString(e):this.processNumbers(e)}processNumbers(e){try{let t=Number(e);if(isNaN(t))throw Error("Parse number error");return t}catch(t){throw new tL(e,el.format("Unable to parse the literal or expression $",e),t)}}processString(e){if(!e.endsWith('"'))throw new tL(e,el.format("String literal $ is not closed properly",e));return e.substring(1,e.length-1)}getPrefix(){return""}getStore(){}getValueFromExtractors(e,t){return t.has(e+".")?t.get(e+".")?.getStore():this.getValue(e)}}var sa={},si={};u(si,"ConditionalTernaryOperator",()=>sE);class so{nullCheck(e,t,r,s){if(g(e)||g(t)||g(r))throw new e8(el.format("$ cannot be applied to a null value",s.getOperatorName()))}}class sE extends so{apply(e,t,r){return e?t:r}}E(sa,si);class su extends tY{static{this.PREFIX="_internal."}addValue(e,t){this.values.set(e,t)}getValueInternal(e){let t=e.split(tY.REGEX_DOT),r=t[1],s=r.indexOf("["),n=2;return -1!=s&&(r=t[1].substring(0,s),t[1]=t[1].substring(s),n=1),this.retrieveElementFrom(e,t,n,this.values.get(r))}getPrefix(){return su.PREFIX}getStore(){}constructor(...e){super(...e),this.values=new Map}}class sA{static{this.UNARY_OPERATORS_MAP=new Map([[tb.UNARY_BITWISE_COMPLEMENT,new r8],[tb.UNARY_LOGICAL_NOT,new st],[tb.UNARY_MINUS,new r3],[tb.UNARY_PLUS,new r6]])}static{this.TERNARY_OPERATORS_MAP=new Map([[tb.CONDITIONAL_TERNARY_OPERATOR,new sE]])}static{this.BINARY_OPERATORS_MAP=new Map([[tb.ADDITION,new rE],[tb.DIVISION,new rA],[tb.INTEGER_DIVISION,new rl],[tb.MOD,new rm],[tb.MULTIPLICATION,new rg],[tb.SUBTRACTION,new rp],[tb.BITWISE_AND,new rM],[tb.BITWISE_LEFT_SHIFT,new rO],[tb.BITWISE_OR,new rd],[tb.BITWISE_RIGHT_SHIFT,new rI],[tb.BITWISE_UNSIGNED_RIGHT_SHIFT,new rx],[tb.BITWISE_XOR,new rv],[tb.AND,new rV],[tb.EQUAL,new rD],[tb.GREATER_THAN,new rY],[tb.GREATER_THAN_EQUAL,new rG],[tb.LESS_THAN,new rW],[tb.LESS_THAN_EQUAL,new rH],[tb.OR,new rJ],[tb.NOT_EQUAL,new r$],[tb.NULLISH_COALESCING_OPERATOR,new rQ],[tb.ARRAY_OPERATOR,new rf],[tb.ARRAY_RANGE_INDEX_OPERATOR,new r0],[tb.OBJECT_OPERATOR,new rz]])}static{this.UNARY_OPERATORS_MAP_KEY_SET=new Set(sA.UNARY_OPERATORS_MAP.keys())}constructor(e){this.internalTokenValueExtractor=new su,e instanceof tG?(this.exp=e,this.expression=this.exp.getExpression()):this.expression=e}evaluate(e){let t=this.processNestingExpression(this.expression,e);return this.expression=t.getT1(),this.exp=t.getT2(),(e=new Map(e.entries())).set(this.internalTokenValueExtractor.getPrefix(),this.internalTokenValueExtractor),this.evaluateExpression(this.exp,e)}processNestingExpression(e,t){let r=0,s=0,n=new eR;for(;s<e.length-1;){if("{"==e.charAt(s)&&"{"==e.charAt(s+1))0==r&&n.push(new ef(s+2,-1)),r++,s++;else if("}"==e.charAt(s)&&"}"==e.charAt(s+1)){if(--r<0)throw new tL(e,"Expecting {{ nesting path operator to be started before closing");0==r&&n.push(n.pop().setT2(s)),s++}s++}let a=this.replaceNestingExpression(e,t,n);return new ef(a,new tG(a))}replaceNestingExpression(e,t,r){let s=e;for(let n of r.toArray()){if(-1==n.getT2())throw new tL(e,"Expecting }} nesting path operator to be closed");let r=new sA(s.substring(n.getT1(),n.getT2())).evaluate(t);s=s.substring(0,n.getT1()-2)+r+s.substring(n.getT2()+2)}return s}getExpression(){return this.exp||(this.exp=new tG(this.expression)),this.exp}getExpressionString(){return this.expression}evaluateExpression(e,t){let r=e.getOperations(),s=e.getTokens();for(;!r.isEmpty();){let e=r.pop(),n=s.pop();if(sA.UNARY_OPERATORS_MAP_KEY_SET.has(e))s.push(this.applyUnaryOperation(e,this.getValueFromToken(t,n)));else if(e==tb.OBJECT_OPERATOR||e==tb.ARRAY_OPERATOR)this.processObjectOrArrayOperator(t,r,s,e,n);else if(e==tb.CONDITIONAL_TERNARY_OPERATOR){let r=s.pop(),a=s.pop(),i=this.getValueFromToken(t,a),o=this.getValueFromToken(t,r),E=this.getValueFromToken(t,n);s.push(this.applyTernaryOperation(e,i,o,E))}else{let r=s.pop(),a=this.getValueFromToken(t,r),i=this.getValueFromToken(t,n);s.push(this.applyBinaryOperation(e,a,i))}}if(s.isEmpty())throw new e8(el.format("Expression : $ evaluated to null",e));if(1!=s.size())throw new e8(el.format("Expression : $ evaluated multiple values $",e,s));let n=s.get(0);if(n instanceof tC)return n.getElement();if(!(n instanceof tG))return this.getValueFromToken(t,n);throw new e8(el.format("Expression : $ evaluated to $",e,s.get(0)))}processObjectOrArrayOperator(e,t,r,s,n){let a=new eR,i=new eR;if(!s||!n)return;do i.push(s),n instanceof tG?a.push(new tC(n.toString(),this.evaluateExpression(n,e))):n&&a.push(n),n=r.isEmpty()?void 0:r.pop(),s=t.isEmpty()?void 0:t.pop();while(s==tb.OBJECT_OPERATOR||s==tb.ARRAY_OPERATOR)n&&(n instanceof tG?a.push(new tC(n.toString(),this.evaluateExpression(n,e))):a.push(n)),s&&t.push(s);let o=a.pop();if(o instanceof tC&&"object"==typeof o.getTokenValue()){let e=new Date().getTime()+""+Math.round(1e3*Math.random());this.internalTokenValueExtractor.addValue(e,o.getTokenValue()),o=new tU(su.PREFIX+e)}let E=new ty(o instanceof tC?o.getTokenValue():o.toString());for(;!a.isEmpty();)o=a.pop(),s=i.pop(),E.append(s.getOperator()).append(o instanceof tC?o.getTokenValue():o.toString()),s==tb.ARRAY_OPERATOR&&E.append("]");let u=E.toString(),A=u.substring(0,u.indexOf(".")+1);if(A.length>2&&e.has(A))r.push(new tC(u,this.getValue(u,e)));else{let e;try{e=sn.INSTANCE.getValue(u)}catch(t){e=u}r.push(new tC(u,e))}}applyTernaryOperation(e,t,r,s){let n=sA.TERNARY_OPERATORS_MAP.get(e);if(!n)throw new tL(this.expression,el.format("No operator found to evaluate $",this.getExpression()));return new tC(e.toString(),n.apply(t,r,s))}applyBinaryOperation(e,t,r){let s=typeof t,n=typeof r,a=sA.BINARY_OPERATORS_MAP.get(e);if(("object"===s||"object"===n)&&e!==tb.EQUAL&&e!==tb.NOT_EQUAL&&e!==tb.NULLISH_COALESCING_OPERATOR&&e!==tb.AND&&e!==tb.OR)throw new tL(this.expression,el.format("Cannot evaluate expression $ $ $",t,e.getOperator(),r));if(!a)throw new tL(this.expression,el.format("No operator found to evaluate $ $ $",t,e.getOperator(),r));return new tC(e.toString(),a.apply(t,r))}applyUnaryOperation(e,t){let r=typeof t;if(e.getOperator()!=tb.NOT.getOperator()&&e.getOperator()!=tb.UNARY_LOGICAL_NOT.getOperator()&&("object"===r||Array.isArray(t)))throw new tL(this.expression,el.format("The operator $ cannot be applied to $",e.getOperator(),t));let s=sA.UNARY_OPERATORS_MAP.get(e);if(!s)throw new tL(this.expression,el.format("No Unary operator $ is found to apply on $",e.getOperator(),t));return new tC(e.toString(),s.apply(t))}getValueFromToken(e,t){return t instanceof tG?this.evaluateExpression(t,e):t instanceof tC?t.getElement():this.getValue(t.getExpression(),e)}getValue(e,t){let r=e.substring(0,e.indexOf(".")+1);return t.has(r)?t.get(r).getValue(e):sn.INSTANCE.getValueFromExtractors(e,t)}}const sT="name",sl="value";class sR extends e1{getSignature(){return this.signature}async internalExecute(e){let t=e?.getArguments()?.get(sT);if(ec.isNullOrBlank(t))throw new es("Empty string is not a valid name for the context element");let r=e?.getArguments()?.get(sl),s=new tG(t),n=s.getTokens().peekLast();if(!n.getExpression().startsWith("Context")||n instanceof tG||n instanceof tC&&!n.getElement().toString().startsWith("Context"))throw new e8(el.format("The context path $ is not a valid path in context",t));for(let e of s.getOperations().toArray())if(e!=tb.ARRAY_OPERATOR&&e!=tb.OBJECT_OPERATOR)throw new e8(el.format("Expected a reference to the context location, but found an expression $",t));for(let r=0;r<s.getTokens().size();r++){let n=s.getTokens().get(r);n instanceof tG&&s.getTokens().set(r,new tC(t,new sA(n).evaluate(e.getValuesMap())))}return this.modifyContext(e,t,r,s)}modifyContext(e,t,r,s){let n=s.getTokens();n.removeLast();let a=s.getOperations();a.removeLast();let i=e.getContext()?.get(n.removeLast().getExpression());if(g(i))throw new es(el.format("Context doesn't have any element with name '$' ",t));if(a.isEmpty())return i.setElement(r),new en([ee.outputOf(new Map)]);let o=i.getElement(),E=a.removeLast(),u=n.removeLast(),A=u instanceof tC?u.getElement():u.getExpression();for(g(o)&&(o=E==tb.OBJECT_OPERATOR?{}:[],i.setElement(o));!a.isEmpty();)o=E==tb.OBJECT_OPERATOR?this.getDataFromObject(o,A,a.peekLast()):this.getDataFromArray(o,A,a.peekLast()),E=a.removeLast(),A=(u=n.removeLast())instanceof tC?u.getElement():u.getExpression();return E==tb.OBJECT_OPERATOR?this.putDataInObject(o,A,r):this.putDataInArray(o,A,r),new en([ee.outputOf(new Map)])}getDataFromArray(e,t,r){if(!Array.isArray(e))throw new es(el.format("Expected an array but found $",e));let s=parseInt(t);if(isNaN(s))throw new es(el.format("Expected an array index but found $",t));if(s<0)throw new es(el.format("Array index is out of bound - $",t));let n=e[s];return g(n)&&(n=r==tb.OBJECT_OPERATOR?{}:[],e[s]=n),n}getDataFromObject(e,t,r){if(Array.isArray(e)||"object"!=typeof e)throw new es(el.format("Expected an object but found $",e));let s=e[t];return g(s)&&(s=r==tb.OBJECT_OPERATOR?{}:[],e[t]=s),s}putDataInArray(e,t,r){if(!Array.isArray(e))throw new es(el.format("Expected an array but found $",e));let s=parseInt(t);if(isNaN(s))throw new es(el.format("Expected an array index but found $",t));if(s<0)throw new es(el.format("Array index is out of bound - $",t));e[s]=r}putDataInObject(e,t,r){if(Array.isArray(e)||"object"!=typeof e)throw new es(el.format("Expected an object but found $",e));e[t]=r}constructor(...e){super(...e),this.signature=new ei("Set").setNamespace(R.SYSTEM_CTX).setParameters(new Map([$.ofEntry(sT,new b().setName(sT).setType(P.of(N.STRING)).setMinLength(1),!1),$.ofEntry(sl,b.ofAny(sl))])).setEvents(new Map([Z.outputEventMapEntry(new Map)]))}}const sm="value",sh="eventName",sg="results";class sc extends e1{getSignature(){return this.signature}async internalExecute(e){let t=e.getEvents(),r=e.getArguments(),s=r?.get(sh),n=e?.getArguments()?.get(sg).map(t=>{let r=t[sm];if(g(r))throw new es("Expect a value object");let s=r.value;return r.isExpression&&(s=new sA(s).evaluate(e.getValuesMap())),[t.name,s]}).reduce((e,t)=>(e.set(t[0],t[1]),e),new Map);return t?.has(s)||t?.set(s,[]),t?.get(s)?.push(n),new en([ee.outputOf(new Map)])}constructor(...e){super(...e),this.signature=new ei("GenerateEvent").setNamespace(R.SYSTEM).setParameters(new Map([$.ofEntry(sh,b.ofString(sh).setDefaultValue("output")),$.ofEntry(sg,b.ofObject(sg).setProperties(new Map([["name",b.ofString("name")],[sm,$.EXPRESSION]])),!0)])).setEvents(new Map([Z.outputEventMapEntry(new Map)]))}}class sp extends e1{static{this.CONDITION="condition"}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(sp.CONDITION);return new en([ee.of(t||""===t?Z.TRUE:Z.FALSE,new Map),ee.outputOf(new Map)])}constructor(...e){super(...e),this.signature=new ei("If").setNamespace(R.SYSTEM).setParameters(new Map([$.ofEntry(sp.CONDITION,b.ofAny(sp.CONDITION))])).setEvents(new Map([Z.eventMapEntry(Z.TRUE,new Map),Z.eventMapEntry(Z.FALSE,new Map),Z.outputEventMapEntry(new Map)]))}}const sN="stepName";class sf extends e1{getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(sN);return e.getExecutionContext().set(t,!0),new en([ee.outputOf(new Map)])}constructor(...e){super(...e),this.signature=new ei("Break").setNamespace(R.SYSTEM_LOOP).setParameters(new Map([$.ofEntry(sN,b.of(sN,N.STRING))])).setEvents(new Map([Z.outputEventMapEntry(new Map([]))]))}}const s_="count",sM="value",sS="index";class sO extends e1{getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(s_),r=0,s=e.getStatementExecution()?.getStatement()?.getStatementName();return new en({next(){if(r>=t||s&&e.getExecutionContext()?.get(s))return s&&e.getExecutionContext()?.delete(s),ee.outputOf(new Map([[sM,r]]));let n=ee.of(Z.ITERATION,new Map([[sS,r]]));return++r,n}})}constructor(...e){super(...e),this.signature=new ei("CountLoop").setNamespace(R.SYSTEM_LOOP).setParameters(new Map([$.ofEntry(s_,b.of(s_,N.INTEGER))])).setEvents(new Map([Z.eventMapEntry(Z.ITERATION,new Map([[sS,b.of(sS,N.INTEGER)]])),Z.outputEventMapEntry(new Map([[sM,b.of(sM,N.INTEGER)]]))]))}}const sw="source",sd="each",sP="index",sI="value";class sy extends e1{getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(sw),r=0,s=e.getStatementExecution()?.getStatement()?.getStatementName();return new en({next(){if(r>=t.length||s&&e.getExecutionContext()?.get(s))return s&&e.getExecutionContext()?.delete(s),ee.outputOf(new Map([[sI,r]]));let n=ee.of(Z.ITERATION,new Map([[sP,r],[sd,t[r]]]));return++r,n}})}constructor(...e){super(...e),this.signature=new ei("ForEachLoop").setNamespace(R.SYSTEM_LOOP).setParameters(new Map([$.ofEntry(sw,b.ofArray(sw,b.ofAny(sw)))])).setEvents(new Map([Z.eventMapEntry(Z.ITERATION,new Map([[sP,b.of(sP,N.INTEGER)],[sd,b.ofAny(sd)]])),Z.outputEventMapEntry(new Map([[sI,b.of(sI,N.INTEGER)]]))]))}}const sx="from",sL="step",sv="value",sU="index";class sV extends e1{getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(sx),r=e.getArguments()?.get("to"),s=e.getArguments()?.get(sL),n=s>0,a=t,i=!1,o=e.getStatementExecution()?.getStatement()?.getStatementName();return new en({next(){if(i)return;if(n&&a>=r||!n&&a<=r||o&&e.getExecutionContext()?.get(o))return i=!0,o&&e.getExecutionContext()?.delete(o),ee.outputOf(new Map([[sv,a]]));let t=ee.of(Z.ITERATION,new Map([[sU,a]]));return a+=s,t}})}constructor(...e){super(...e),this.signature=new ei("RangeLoop").setNamespace(R.SYSTEM_LOOP).setParameters(new Map([$.ofEntry(sx,b.of(sx,N.INTEGER,N.LONG,N.FLOAT,N.DOUBLE).setDefaultValue(0)),$.ofEntry("to",b.of("to",N.INTEGER,N.LONG,N.FLOAT,N.DOUBLE).setDefaultValue(1)),$.ofEntry(sL,b.of(sL,N.INTEGER,N.LONG,N.FLOAT,N.DOUBLE).setDefaultValue(1).setNot(new b().setConstant(0)))])).setEvents(new Map([Z.eventMapEntry(Z.ITERATION,new Map([[sU,b.of(sU,N.INTEGER,N.LONG,N.FLOAT,N.DOUBLE)]])),Z.outputEventMapEntry(new Map([[sv,b.of(sv,N.INTEGER,N.LONG,N.FLOAT,N.DOUBLE)]]))]))}}const sC="value";class sD extends e1{getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(sC);return new en([ee.outputOf(new Map([[sC,t.reduce((e,t)=>e+=t,0)]]))])}constructor(...e){super(...e),this.signature=new ei("Add").setNamespace(R.MATH).setParameters(new Map([[sC,new $(sC,b.ofNumber(sC)).setVariableArgument(!0)]])).setEvents(new Map([Z.outputEventMapEntry(new Map([[sC,b.ofNumber(sC)]]))]))}}const sb="value",sG="value1",sF="value2";class sY extends e1{constructor(e,t,r=1,...s){super(),this.paramFunctions=[()=>new Map([[sb,new $(sb,b.ofNumber(sb))]]),()=>new Map([[sG,new $(sG,b.ofNumber(sG))],[sF,new $(sF,b.ofNumber(sF))]])],s&&s.length||(s=[N.DOUBLE]),this.parametersNumber=r,this.mathFunction=t,this.signature=new ei(e).setNamespace(R.MATH).setParameters(this.paramFunctions[r-1]()).setEvents(new Map([Z.outputEventMapEntry(new Map([[sb,new b().setType(P.of(...s)).setName(sb)]]))]))}getSignature(){return this.signature}async internalExecute(e){let t,r=te.findPrimitiveNumberType(e.getArguments()?.get(1==this.parametersNumber?sb:sG)).getT2();return 2==this.parametersNumber&&(t=te.findPrimitiveNumberType(e.getArguments()?.get(sF)).getT2()),new en([ee.outputOf(new Map([[sb,this.mathFunction.call(this,r,t)]]))])}}const sB="value";class sH extends e1{constructor(){super(),this.signature=new ei("Hypotenuse").setNamespace(R.MATH).setParameters(new Map([[sB,new $(sB,b.ofNumber(sB)).setVariableArgument(!0)]])).setEvents(new Map([Z.outputEventMapEntry(new Map([[sB,new b().setType(P.of(N.DOUBLE)).setName(sB)]]))]))}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(sB);return new en([ee.outputOf(new Map([[sB,Math.sqrt(t.reduce((e,t)=>e+=t*t,0))]]))])}}const sk="value";class s$ extends e1{getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(sk);return new en([ee.outputOf(new Map([[sk,t.reduce((e,t)=>!e&&0!==e||t>e?t:e)]]))])}constructor(...e){super(...e),this.signature=new ei("Maximum").setNamespace(R.MATH).setParameters(new Map([[sk,new $(sk,b.ofNumber(sk)).setVariableArgument(!0)]])).setEvents(new Map([Z.outputEventMapEntry(new Map([[sk,b.ofNumber(sk)]]))]))}}const sj="value";class sW extends e1{getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(sj);return new en([ee.outputOf(new Map([[sj,t.reduce((e,t)=>!e&&0!==e||t<e?t:e)]]))])}constructor(...e){super(...e),this.signature=new ei("Minimum").setNamespace(R.MATH).setParameters(new Map([[sj,new $(sj,b.ofNumber(sj)).setVariableArgument(!0)]])).setEvents(new Map([Z.outputEventMapEntry(new Map([[sj,b.ofNumber(sj)]]))]))}}const sX="value";class sJ extends e1{getSignature(){return this.signature}async internalExecute(e){return new en([ee.outputOf(new Map([[sX,Math.random()]]))])}constructor(...e){super(...e),this.signature=new ei("Random").setNamespace(R.MATH).setEvents(new Map([Z.outputEventMapEntry(W.of(sX,b.ofDouble(sX)))]))}}class sq extends e1{static{this.MIN_VALUE="minValue"}static{this.MAX_VALUE="maxValue"}static{this.VALUE="value"}constructor(e,t,r,s,n){super(),this.signature=new ei(e).setParameters(W.of(sq.MIN_VALUE,t,sq.MAX_VALUE,r)).setNamespace(R.MATH).setEvents(new Map([Z.outputEventMapEntry(W.of(sq.VALUE,s))])),this.randomFunction=n}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(sq.MIN_VALUE),r=e.getArguments()?.get(sq.MAX_VALUE),s=this.randomFunction(t,r);return new en([ee.outputOf(new Map([[sq.VALUE,s]]))])}}class sz{constructor(){this.functionObjectsIndex={Absolute:new sY("Absolute",e=>Math.abs(e),1,N.INTEGER,N.LONG,N.FLOAT,N.DOUBLE),ArcCosine:new sY("ArcCosine",e=>Math.acos(e)),ArcSine:new sY("ArcSine",e=>Math.asin(e)),ArcTangent:new sY("ArcTangent",e=>Math.atan(e)),Ceiling:new sY("Ceiling",e=>Math.ceil(e)),Cosine:new sY("Cosine",e=>Math.cos(e)),HyperbolicCosine:new sY("HyperbolicCosine",e=>Math.cosh(e)),CubeRoot:new sY("CubeRoot",e=>Math.cbrt(e)),Exponential:new sY("Exponential",e=>Math.exp(e)),ExponentialMinus1:new sY("ExponentialMinus1",e=>Math.expm1(e)),Floor:new sY("Floor",e=>Math.floor(e)),LogNatural:new sY("LogNatural",e=>Math.log(e)),Log10:new sY("Log10",e=>Math.log10(e)),Round:new sY("Round",e=>Math.round(e),1,N.INTEGER,N.LONG),Sine:new sY("Sine",e=>Math.sin(e)),HyperbolicSine:new sY("HyperbolicSine",e=>Math.sinh(e)),Tangent:new sY("Tangent",e=>Math.tan(e)),HyperbolicTangent:new sY("HyperbolicTangent",e=>Math.tanh(e)),ToDegrees:new sY("ToDegrees",e=>Math.PI/180*e),ToRadians:new sY("ToRadians",e=>180/Math.PI*e),SquareRoot:new sY("SquareRoot",e=>Math.sqrt(e)),ArcTangent2:new sY("ArcTangent2",(e,t)=>Math.atan2(e,t),2),Power:new sY("Power",(e,t)=>Math.pow(e,t),2),Add:new sD,Hypotenuse:new sH,Maximum:new s$,Minimum:new sW,Random:new sJ,RandomFloat:new sq("RandomFloat",$.of(sq.MIN_VALUE,b.ofFloat(sq.MIN_VALUE).setDefaultValue(0)),$.of(sq.MAX_VALUE,b.ofFloat(sq.MAX_VALUE).setDefaultValue(0x7fffffff)),b.ofFloat(sq.VALUE),(e,t)=>Math.random()*(t-e)+e),RandomInt:new sq("RandomInt",$.of(sq.MIN_VALUE,b.ofInteger(sq.MIN_VALUE).setDefaultValue(0)),$.of(sq.MAX_VALUE,b.ofInteger(sq.MAX_VALUE).setDefaultValue(0x7fffffff)),b.ofInteger(sq.VALUE),(e,t)=>Math.round(Math.random()*(t-e)+e)),RandomLong:new sq("RandomLong",$.of(sq.MIN_VALUE,b.ofLong(sq.MIN_VALUE).setDefaultValue(0)),$.of(sq.MAX_VALUE,b.ofLong(sq.MAX_VALUE).setDefaultValue(Number.MAX_SAFE_INTEGER)),b.ofLong(sq.VALUE),(e,t)=>Math.round(Math.random()*(t-e)+e)),RandomDouble:new sq("RandomDouble",$.of(sq.MIN_VALUE,b.ofDouble(sq.MIN_VALUE).setDefaultValue(0)),$.of(sq.MAX_VALUE,b.ofDouble(sq.MAX_VALUE).setDefaultValue(Number.MAX_VALUE)),b.ofDouble(sq.VALUE),(e,t)=>Math.random()*(t-e)+e)},this.filterableNames=Object.values(this.functionObjectsIndex).map(e=>e.getSignature().getFullName())}async find(e,t){return e!=R.MATH?Promise.resolve(void 0):Promise.resolve(this.functionObjectsIndex[t])}async filter(e){return Promise.resolve(this.filterableNames.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}class sK extends e1{static{this.SOURCE="source"}static{this.SCHEMA="schema"}static{this.VALUE="value"}static{this.CONVERSION_MODE="conversionMode"}getSignature(){return this.signature}internalExecute(e){let t=e.getArguments()?.get(sK.SOURCE),r=b.from(e?.getArguments()?.get(sK.SCHEMA));if(!r)throw new es("Schema is not supplied.");let s=e$(e.getArguments()?.get(sK.CONVERSION_MODE))||ek.STRICT;return this.convertToSchema(r,e.getSchemaRepository(),t,s)}async convertToSchema(e,t,r,s){try{return new en([ee.outputOf(W.of(sK.VALUE,e0.validate([],e,t,r,!0,s)))])}catch(e){throw new es(e?.message)}}constructor(...e){super(...e),this.signature=new ei("ObjectConvert").setNamespace(R.SYSTEM_OBJECT).setParameters(new Map([$.ofEntry(sK.SOURCE,b.ofAny(sK.SCHEMA)),$.ofEntry(sK.SCHEMA,b.SCHEMA,!1,H.CONSTANT),$.ofEntry(sK.CONVERSION_MODE,b.ofString(sK.CONVERSION_MODE).setEnums(ej()))])).setEvents(new Map([Z.outputEventMapEntry(W.of(sK.VALUE,b.ofAny(sK.VALUE)))]))}}const sQ="value",sZ="source";class s0 extends e1{constructor(){super(),this.signature=new ei("ObjectDeleteKey").setNamespace(R.SYSTEM_OBJECT).setParameters(new Map([$.ofEntry(sZ,b.ofAny(sZ)),$.ofEntry("key",b.ofString("key"))])).setEvents(new Map([Z.outputEventMapEntry(new Map([[sQ,b.ofAny(sQ)]]))]))}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(sZ),r=e.getArguments()?.get("key");return g(t)?new en([ee.outputOf(new Map([[sQ,void 0]]))]):(t=ti(t),delete t[r],new en([ee.outputOf(new Map([[sQ,t]]))]))}}const s1="source";class s2 extends e1{constructor(e,t){super(),this.signature=new ei(e).setNamespace(R.SYSTEM_OBJECT).setParameters(new Map([$.ofEntry(s1,b.ofAny(s1))])).setEvents(new Map([Z.outputEventMapEntry(new Map([["value",t]]))]))}getSignature(){return this.signature}}const s9="value";class s4 extends s2{constructor(){super("ObjectEntries",b.ofArray(s9,b.ofArray("tuple",b.ofString("key"),b.ofAny("value"))))}async internalExecute(e){var t=e.getArguments()?.get("source");if(g(t))return new en([ee.outputOf(new Map([[s9,[]]]))]);let r=Object.entries(ti(t)).sort((e,t)=>e[0].localeCompare(t[0]));return new en([ee.outputOf(new Map([[s9,r]]))])}}const s3="value";class s5 extends s2{constructor(){super("ObjectKeys",b.ofArray(s3,b.ofString(s3)))}async internalExecute(e){var t=e.getArguments()?.get("source");if(g(t))return new en([ee.outputOf(new Map([[s3,[]]]))]);let r=Object.keys(ti(t)).sort((e,t)=>e.localeCompare(t));return new en([ee.outputOf(new Map([[s3,r]]))])}}const s6="value",s7="source",s8="overwrite",ne="deleteKeyOnNull";class nt extends e1{constructor(){super(),this.signature=new ei("ObjectPutValue").setNamespace(R.SYSTEM_OBJECT).setParameters(new Map([$.ofEntry(s7,b.ofObject(s7)),$.ofEntry("key",b.ofString("key")),$.ofEntry(s6,b.ofAny(s6)),$.ofEntry(s8,b.ofBoolean(s8).setDefaultValue(!0)),$.ofEntry(ne,b.ofBoolean(ne).setDefaultValue(!1))])).setEvents(new Map([Z.outputEventMapEntry(new Map([[s6,b.ofObject(s6)]]))]))}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(s7),r=e.getArguments()?.get("key"),s=e.getArguments()?.get(s6),n=e.getArguments()?.get(s8),a=e.getArguments()?.get(ne),i=new tB(t,"Data.");return i.setValue(r,s,n,a),new en([ee.outputOf(new Map([[s6,i.getStore()]]))])}}const nr="value";class ns extends s2{constructor(){super("ObjectValues",b.ofArray(nr,b.ofAny(nr)))}async internalExecute(e){var t=e.getArguments()?.get("source");if(g(t))return new en([ee.outputOf(new Map([[nr,[]]]))]);let r=Object.entries(ti(t)).sort((e,t)=>e[0].localeCompare(t[0])).map(e=>e[1]);return new en([ee.outputOf(new Map([[nr,r]]))])}}class nn{constructor(){this.functionObjectsIndex={ObjectValues:new ns,ObjectKeys:new s5,ObjectEntries:new s4,ObjectDeleteKey:new s0,ObjectPutValue:new nt,ObjectConvert:new sK},this.filterableNames=Object.values(this.functionObjectsIndex).map(e=>e.getSignature().getFullName())}async find(e,t){return e!=R.SYSTEM_OBJECT?Promise.resolve(void 0):Promise.resolve(this.functionObjectsIndex[t])}async filter(e){return Promise.resolve(this.filterableNames.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}class na extends e1{static{this.VALUES="values"}static{this.STREAM="stream"}static{this.LOG="LOG"}static{this.ERROR="ERROR"}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(na.VALUES),r=e.getArguments()?.get(na.STREAM);return(r===na.LOG?console?.log:console?.error)?.(...t),new en([ee.outputOf(new Map)])}constructor(...e){super(...e),this.signature=new ei("Print").setNamespace(R.SYSTEM).setParameters(new Map([$.ofEntry(na.VALUES,b.ofAny(na.VALUES),!0),$.ofEntry(na.STREAM,b.ofString(na.STREAM).setEnums([na.LOG,na.ERROR]).setDefaultValue(na.LOG))])).setEvents(new Map([Z.outputEventMapEntry(new Map)]))}}class ni extends e1{static{this.PARAMETER_STRING_NAME="string"}static{this.PARAMETER_SEARCH_STRING_NAME="searchString"}static{this.PARAMETER_SECOND_STRING_NAME="secondString"}static{this.PARAMETER_THIRD_STRING_NAME="thirdString"}static{this.PARAMETER_INDEX_NAME="index"}static{this.PARAMETER_SECOND_INDEX_NAME="secondIndex"}static{this.EVENT_RESULT_NAME="result"}static{this.PARAMETER_STRING=new $(ni.PARAMETER_STRING_NAME,b.ofString(ni.PARAMETER_STRING_NAME))}static{this.PARAMETER_SECOND_STRING=new $(ni.PARAMETER_SECOND_STRING_NAME,b.ofString(ni.PARAMETER_SECOND_STRING_NAME))}static{this.PARAMETER_THIRD_STRING=new $(ni.PARAMETER_THIRD_STRING_NAME,b.ofString(ni.PARAMETER_THIRD_STRING_NAME))}static{this.PARAMETER_INDEX=new $(ni.PARAMETER_INDEX_NAME,b.ofInteger(ni.PARAMETER_INDEX_NAME))}static{this.PARAMETER_SECOND_INDEX=new $(ni.PARAMETER_SECOND_INDEX_NAME,b.ofInteger(ni.PARAMETER_SECOND_INDEX_NAME))}static{this.PARAMETER_SEARCH_STRING=new $(ni.PARAMETER_SEARCH_STRING_NAME,b.ofString(ni.PARAMETER_STRING_NAME))}static{this.EVENT_STRING=new Z(Z.OUTPUT,W.of(ni.EVENT_RESULT_NAME,b.ofString(ni.EVENT_RESULT_NAME)))}static{this.EVENT_BOOLEAN=new Z(Z.OUTPUT,W.of(ni.EVENT_RESULT_NAME,b.ofBoolean(ni.EVENT_RESULT_NAME)))}static{this.EVENT_INT=new Z(Z.OUTPUT,W.of(ni.EVENT_RESULT_NAME,b.ofInteger(ni.EVENT_RESULT_NAME)))}static{this.EVENT_ARRAY=new Z(Z.OUTPUT,W.of(ni.EVENT_RESULT_NAME,b.ofArray(ni.EVENT_RESULT_NAME)))}constructor(e,t,r,...s){super();let n=new Map;s.forEach(e=>n.set(e.getParameterName(),e)),this.signature=new ei(t).setNamespace(e).setParameters(n).setEvents(W.of(r.getName(),r))}getSignature(){return this.signature}static ofEntryStringStringAndBooleanOutput(e,t){return[e,new class extends ni{async internalExecute(e){let r=e?.getArguments()?.get(ni.PARAMETER_STRING_NAME),s=e?.getArguments()?.get(ni.PARAMETER_SEARCH_STRING_NAME);return new en([ee.outputOf(W.of(ni.EVENT_RESULT_NAME,t(r,s)))])}}(R.STRING,e,ni.EVENT_BOOLEAN,ni.PARAMETER_STRING,ni.PARAMETER_SEARCH_STRING)]}static ofEntryStringIntegerAndStringOutput(e,t){return[e,new class extends ni{async internalExecute(e){let r=e?.getArguments()?.get(ni.PARAMETER_STRING_NAME),s=e?.getArguments()?.get(ni.PARAMETER_INDEX_NAME);return new en([ee.outputOf(W.of(ni.EVENT_RESULT_NAME,t(r,s)))])}}(R.STRING,e,ni.EVENT_STRING,ni.PARAMETER_STRING,ni.PARAMETER_INDEX)]}static ofEntryStringStringAndIntegerOutput(e,t){return[e,new class extends ni{async internalExecute(e){let r=e?.getArguments()?.get(ni.PARAMETER_STRING_NAME),s=e?.getArguments()?.get(ni.PARAMETER_SEARCH_STRING_NAME);return new en([ee.outputOf(W.of(ni.EVENT_RESULT_NAME,t(r,s)))])}}(R.STRING,e,ni.EVENT_INT,ni.PARAMETER_STRING,ni.PARAMETER_SEARCH_STRING)]}static ofEntryStringAndStringOutput(e,t){return[e,new class extends ni{async internalExecute(e){let r=e?.getArguments()?.get(ni.PARAMETER_STRING_NAME);return new en([ee.outputOf(W.of(ni.EVENT_RESULT_NAME,t(r)))])}}(R.STRING,e,ni.EVENT_STRING,ni.PARAMETER_STRING)]}static ofEntryStringAndBooleanOutput(e,t){return[e,new class extends ni{async internalExecute(e){let r=e?.getArguments()?.get(ni.PARAMETER_STRING_NAME);return new en([ee.outputOf(W.of(ni.EVENT_RESULT_NAME,t(r)))])}}(R.STRING,e,ni.EVENT_BOOLEAN,ni.PARAMETER_STRING)]}static ofEntryStringStringIntegerAndIntegerOutput(e,t){return[e,new class extends ni{async internalExecute(e){let r=e?.getArguments()?.get(ni.PARAMETER_STRING_NAME),s=e?.getArguments()?.get(ni.PARAMETER_SEARCH_STRING_NAME),n=e?.getArguments()?.get(ni.PARAMETER_INDEX_NAME);return new en([ee.outputOf(W.of(ni.EVENT_RESULT_NAME,t(r,s,n)))])}}(R.STRING,e,ni.EVENT_INT,ni.PARAMETER_STRING,ni.PARAMETER_SEARCH_STRING,ni.PARAMETER_INDEX)]}static ofEntryStringIntegerIntegerAndStringOutput(e,t){return[e,new class extends ni{async internalExecute(e){let r=e?.getArguments()?.get(ni.PARAMETER_STRING_NAME),s=e?.getArguments()?.get(ni.PARAMETER_INDEX_NAME),n=e?.getArguments()?.get(ni.PARAMETER_SECOND_INDEX_NAME);return new en([ee.outputOf(W.of(ni.EVENT_RESULT_NAME,t(r,s,n)))])}}(R.STRING,e,ni.EVENT_STRING,ni.PARAMETER_STRING,ni.PARAMETER_INDEX,ni.PARAMETER_SECOND_INDEX)]}static ofEntryStringStringStringAndStringOutput(e,t){return[e,new class extends ni{async internalExecute(e){let r=e?.getArguments()?.get(ni.PARAMETER_STRING_NAME),s=e?.getArguments()?.get(ni.PARAMETER_SECOND_STRING_NAME),n=e?.getArguments()?.get(ni.PARAMETER_THIRD_STRING_NAME);return new en([ee.outputOf(W.of(ni.EVENT_RESULT_NAME,t(r,s,n)))])}}(R.STRING,e,ni.EVENT_STRING,ni.PARAMETER_STRING,ni.PARAMETER_SECOND_STRING,ni.PARAMETER_THIRD_STRING)]}static ofEntryStringAndIntegerOutput(e,t){return[e,new class extends ni{async internalExecute(e){let r=e?.getArguments()?.get(ni.PARAMETER_STRING_NAME);return new en([ee.outputOf(W.of(ni.EVENT_RESULT_NAME,t(r)))])}}(R.STRING,e,ni.EVENT_INT,ni.PARAMETER_STRING)]}}class no extends e1{static{this.VALUE="value"}constructor(){super(),this.signature=new ei("Concatenate").setNamespace(R.STRING).setParameters(new Map([[no.VALUE,new $(no.VALUE,new b().setName(no.VALUE).setType(new d(N.STRING))).setVariableArgument(!0)]])).setEvents(new Map([Z.outputEventMapEntry(new Map([[no.VALUE,b.ofString(no.VALUE)]]))]))}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(no.VALUE),r="";return t.reduce((e,t)=>r=e+t,r),new en([ee.outputOf(new Map([[no.VALUE,r]]))])}}class nE extends e1{static{this.PARAMETER_STRING_NAME="string"}static{this.PARAMETER_AT_START_NAME="startPosition"}static{this.PARAMETER_AT_END_NAME="endPosition"}static{this.EVENT_RESULT_NAME="result"}constructor(){super(),this.PARAMETER_STRING=new $(nE.PARAMETER_STRING_NAME,b.ofString(nE.PARAMETER_STRING_NAME)),this.PARAMETER_AT_START=new $(nE.PARAMETER_AT_START_NAME,b.ofInteger(nE.PARAMETER_AT_START_NAME)),this.PARAMETER_AT_END=new $(nE.PARAMETER_AT_END_NAME,b.ofInteger(nE.PARAMETER_AT_END_NAME)),this.EVENT_STRING=new Z(Z.OUTPUT,new Map([[nE.EVENT_RESULT_NAME,b.ofString(nE.EVENT_RESULT_NAME)]])),this.signature=new ei("DeleteForGivenLength").setNamespace(R.STRING).setParameters(new Map([[this.PARAMETER_STRING.getParameterName(),this.PARAMETER_STRING],[this.PARAMETER_AT_START.getParameterName(),this.PARAMETER_AT_START],[this.PARAMETER_AT_END.getParameterName(),this.PARAMETER_AT_END]])).setEvents(new Map([[this.EVENT_STRING.getName(),this.EVENT_STRING]]))}getSignature(){return this.signature}async internalExecute(e){let t=e?.getArguments()?.get(nE.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(nE.PARAMETER_AT_START_NAME),s=e?.getArguments()?.get(nE.PARAMETER_AT_END_NAME);if(s>=r){let e="";return e+=t.substring(0,r),e+=t.substring(s),new en([ee.outputOf(new Map([[nE.EVENT_RESULT_NAME,e.toString()]]))])}return new en([ee.outputOf(new Map([[nE.EVENT_RESULT_NAME,t]]))])}}class nu extends e1{static{this.PARAMETER_STRING_NAME="string"}static{this.PARAMETER_AT_POSITION_NAME="position"}static{this.PARAMETER_INSERT_STRING_NAME="insertString"}getSignature(){return this.signature}async internalExecute(e){let t=e?.getArguments()?.get(nu.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(nu.PARAMETER_AT_POSITION_NAME),s=e?.getArguments()?.get(nu.PARAMETER_INSERT_STRING_NAME),n="";return n+=t.substring(0,r),n+=s,n+=t.substring(r),new en([ee.outputOf(new Map([[this.EVENT_RESULT_NAME,n]]))])}constructor(...e){super(...e),this.EVENT_RESULT_NAME="result",this.PARAMETER_STRING=new $(nu.PARAMETER_STRING_NAME,b.ofString(nu.PARAMETER_STRING_NAME)),this.PARAMETER_AT_POSITION=new $(nu.PARAMETER_AT_POSITION_NAME,b.ofInteger(nu.PARAMETER_AT_POSITION_NAME)),this.PARAMETER_INSERT_STRING=new $(nu.PARAMETER_INSERT_STRING_NAME,b.ofString(nu.PARAMETER_INSERT_STRING_NAME)),this.EVENT_STRING=new Z(Z.OUTPUT,new Map([[this.EVENT_RESULT_NAME,b.ofString(this.EVENT_RESULT_NAME)]])),this.signature=new ei("InsertAtGivenPosition").setNamespace(R.STRING).setParameters(new Map([[this.PARAMETER_STRING.getParameterName(),this.PARAMETER_STRING],[this.PARAMETER_AT_POSITION.getParameterName(),this.PARAMETER_AT_POSITION],[this.PARAMETER_INSERT_STRING.getParameterName(),this.PARAMETER_INSERT_STRING]])).setEvents(new Map([Z.outputEventMapEntry(new Map([[this.EVENT_RESULT_NAME,b.ofString(this.EVENT_RESULT_NAME)]]))]))}}class nA extends e1{static{this.PARAMETER_REGEX_NAME="regex"}static{this.PARAMETER_STRING_NAME="string"}static{this.EVENT_RESULT_NAME="result"}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(nA.PARAMETER_REGEX_NAME),r=e.getArguments()?.get(nA.PARAMETER_STRING_NAME);return new en([ee.outputOf(new Map([[nA.EVENT_RESULT_NAME,!!r.match(t)?.length]]))])}constructor(...e){super(...e),this.signature=new ei("Matches").setNamespace(R.STRING).setParameters(W.ofEntries(W.entry(...$.ofEntry(nA.PARAMETER_REGEX_NAME,b.ofString(nA.PARAMETER_REGEX_NAME))),W.entry(...$.ofEntry(nA.PARAMETER_STRING_NAME,b.ofString(nA.PARAMETER_STRING_NAME))))).setEvents(W.ofEntries(W.entry(...Z.outputEventMapEntry(new Map([[nA.EVENT_RESULT_NAME,b.ofBoolean(nA.EVENT_RESULT_NAME)]])))))}}class nT extends e1{static{this.PARAMETER_STRING_NAME="string"}static{this.PARAMETER_POSTPAD_STRING_NAME="postpadString"}static{this.PARAMETER_LENGTH_NAME="length"}static{this.EVENT_RESULT_NAME="result"}static{this.PARAMETER_STRING=new $(nT.PARAMETER_STRING_NAME,b.ofString(nT.PARAMETER_STRING_NAME))}static{this.PARAMETER_POSTPAD_STRING=new $(nT.PARAMETER_POSTPAD_STRING_NAME,b.ofString(nT.PARAMETER_POSTPAD_STRING_NAME))}static{this.PARAMETER_LENGTH=new $(nT.PARAMETER_LENGTH_NAME,b.ofInteger(nT.PARAMETER_LENGTH_NAME))}static{this.EVENT_STRING=new Z(Z.OUTPUT,new Map([[nT.EVENT_RESULT_NAME,b.ofString(nT.EVENT_RESULT_NAME)]]))}constructor(){super(),this.signature=new ei("PostPad").setNamespace(R.STRING).setParameters(new Map([[nT.PARAMETER_STRING.getParameterName(),nT.PARAMETER_STRING],[nT.PARAMETER_POSTPAD_STRING.getParameterName(),nT.PARAMETER_POSTPAD_STRING],[nT.PARAMETER_LENGTH.getParameterName(),nT.PARAMETER_LENGTH]])).setEvents(new Map([[nT.EVENT_STRING.getName(),nT.EVENT_STRING]]))}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(nT.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(nT.PARAMETER_POSTPAD_STRING_NAME),s=e.getArguments()?.get(nT.PARAMETER_LENGTH_NAME),n="",a=r.length;for(n+=t;a<=s;)n+=r,a+=r.length;return n.length-t.length<s&&(n+=r.substring(0,s-(n.length-t.length))),new en([ee.outputOf(new Map([[nT.EVENT_RESULT_NAME,n.toString()]]))])}}class nl extends e1{static{this.PARAMETER_STRING_NAME="string"}static{this.PARAMETER_PREPAD_STRING_NAME="prepadString"}static{this.PARAMETER_LENGTH_NAME="length"}static{this.EVENT_RESULT_NAME="result"}static{this.PARAMETER_STRING=new $(nl.PARAMETER_STRING_NAME,b.ofString(nl.PARAMETER_STRING_NAME))}static{this.PARAMETER_PREPAD_STRING=new $(nl.PARAMETER_PREPAD_STRING_NAME,b.ofString(nl.PARAMETER_PREPAD_STRING_NAME))}static{this.PARAMETER_LENGTH=new $(nl.PARAMETER_LENGTH_NAME,b.ofInteger(nl.PARAMETER_LENGTH_NAME))}static{this.EVENT_STRING=new Z(Z.OUTPUT,new Map([[nl.EVENT_RESULT_NAME,b.ofString(nl.EVENT_RESULT_NAME)]]))}getSignature(){return this.signature}constructor(){super(),this.signature=new ei("PrePad").setNamespace(R.STRING).setParameters(new Map([[nl.PARAMETER_STRING.getParameterName(),nl.PARAMETER_STRING],[nl.PARAMETER_PREPAD_STRING.getParameterName(),nl.PARAMETER_PREPAD_STRING],[nl.PARAMETER_LENGTH.getParameterName(),nl.PARAMETER_LENGTH]])).setEvents(new Map([[nl.EVENT_STRING.getName(),nl.EVENT_STRING]]))}async internalExecute(e){let t=e.getArguments()?.get(nl.PARAMETER_STRING_NAME),r=e.getArguments()?.get(nl.PARAMETER_PREPAD_STRING_NAME),s=e.getArguments()?.get(nl.PARAMETER_LENGTH_NAME),n="",a=r.length;for(;a<=s;)n+=r,a+=r.length;return n.length<s&&(n+=r.substring(0,s-n.length)),n+=t,new en([ee.outputOf(new Map([[nl.EVENT_RESULT_NAME,n]]))])}}class nR extends e1{static{this.PARAMETER_STRING_NAME="string"}static{this.PARAMETER_BOOLEAN_NAME="boolean"}static{this.PARAMETER_FIRST_OFFSET_NAME="firstOffset"}static{this.PARAMETER_OTHER_STRING_NAME="otherString"}static{this.PARAMETER_SECOND_OFFSET_NAME="secondOffset"}static{this.PARAMETER_INTEGER_NAME="length"}static{this.EVENT_RESULT_NAME="result"}static{this.PARAMETER_STRING=new $(nR.PARAMETER_STRING_NAME,b.ofString(nR.PARAMETER_STRING_NAME))}static{this.PARAMETER_OTHER_STRING=new $(nR.PARAMETER_OTHER_STRING_NAME,b.ofString(nR.PARAMETER_OTHER_STRING_NAME))}static{this.PARAMETER_FIRST_OFFSET=new $(nR.PARAMETER_FIRST_OFFSET_NAME,b.ofInteger(nR.PARAMETER_FIRST_OFFSET_NAME))}static{this.PARAMETER_SECOND_OFFSET=new $(nR.PARAMETER_SECOND_OFFSET_NAME,b.ofInteger(nR.PARAMETER_SECOND_OFFSET_NAME))}static{this.PARAMETER_INTEGER=new $(nR.PARAMETER_INTEGER_NAME,b.ofInteger(nR.PARAMETER_INTEGER_NAME))}static{this.PARAMETER_BOOLEAN=new $(nR.PARAMETER_BOOLEAN_NAME,b.ofBoolean(nR.PARAMETER_BOOLEAN_NAME))}static{this.EVENT_BOOLEAN=new Z(Z.OUTPUT,new Map([[nR.EVENT_RESULT_NAME,b.ofBoolean(nR.EVENT_RESULT_NAME)]]))}getSignature(){return this.signature}constructor(){super(),this.signature=new ei("RegionMatches").setNamespace(R.STRING).setParameters(new Map([[nR.PARAMETER_STRING.getParameterName(),nR.PARAMETER_STRING],[nR.PARAMETER_BOOLEAN.getParameterName(),nR.PARAMETER_BOOLEAN],[nR.PARAMETER_FIRST_OFFSET.getParameterName(),nR.PARAMETER_FIRST_OFFSET],[nR.PARAMETER_OTHER_STRING.getParameterName(),nR.PARAMETER_OTHER_STRING],[nR.PARAMETER_SECOND_OFFSET.getParameterName(),nR.PARAMETER_SECOND_OFFSET],[nR.PARAMETER_INTEGER.getParameterName(),nR.PARAMETER_INTEGER]])).setEvents(new Map([[nR.EVENT_BOOLEAN.getName(),nR.EVENT_BOOLEAN]]))}async internalExecute(e){let t=e.getArguments()?.get(nR.PARAMETER_STRING_NAME),r=e.getArguments()?.get(nR.PARAMETER_BOOLEAN_NAME),s=e.getArguments()?.get(nR.PARAMETER_FIRST_OFFSET_NAME),n=e?.getArguments()?.get(nR.PARAMETER_OTHER_STRING_NAME),a=e?.getArguments()?.get(nR.PARAMETER_SECOND_OFFSET_NAME),i=e.getArguments()?.get(nR.PARAMETER_INTEGER_NAME),o=!1;return o=!(s<0)&&!(a<0)&&!(s+i>t.length)&&!(a+i>n.length)&&(r?(t=t.substring(s,s+i).toUpperCase())==n.substring(a,a+i).toUpperCase():(t=t.substring(s,s+i))==n.substring(a,i)),new en([ee.outputOf(new Map([[nR.EVENT_RESULT_NAME,o]]))])}}class nm extends e1{static{this.PARAMETER_STRING_NAME="string"}static{this.PARAMETER_AT_START_NAME="startPosition"}static{this.PARAMETER_AT_LENGTH_NAME="lengthPosition"}static{this.PARAMETER_REPLACE_STRING_NAME="replaceString"}static{this.EVENT_RESULT_NAME="result"}static{this.PARAMETER_STRING=new $(nm.PARAMETER_STRING_NAME,b.ofString(nm.PARAMETER_STRING_NAME))}static{this.PARAMETER_AT_START=new $(nm.PARAMETER_AT_START_NAME,b.ofInteger(nm.PARAMETER_AT_START_NAME))}static{this.PARAMETER_AT_LENGTH=new $(nm.PARAMETER_AT_LENGTH_NAME,b.ofInteger(nm.PARAMETER_AT_LENGTH_NAME))}static{this.PARAMETER_REPLACE_STRING=new $(nm.PARAMETER_REPLACE_STRING_NAME,b.ofString(nm.PARAMETER_REPLACE_STRING_NAME))}static{this.EVENT_STRING=new Z(Z.OUTPUT,new Map([[nm.EVENT_RESULT_NAME,b.ofString(nm.EVENT_RESULT_NAME)]]))}constructor(){super(),this.signature=new ei("ReplaceAtGivenPosition").setNamespace(R.STRING).setParameters(new Map([[nm.PARAMETER_STRING.getParameterName(),nm.PARAMETER_STRING],[nm.PARAMETER_AT_START.getParameterName(),nm.PARAMETER_AT_START],[nm.PARAMETER_AT_LENGTH.getParameterName(),nm.PARAMETER_AT_LENGTH],[nm.PARAMETER_REPLACE_STRING.getParameterName(),nm.PARAMETER_REPLACE_STRING]])).setEvents(new Map([[nm.EVENT_STRING.getName(),nm.EVENT_STRING]]))}getSignature(){return this.signature}async internalExecute(e){let t=e?.getArguments()?.get(nm.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(nm.PARAMETER_AT_START_NAME),s=e?.getArguments()?.get(nm.PARAMETER_AT_LENGTH_NAME),n=e?.getArguments()?.get(nm.PARAMETER_REPLACE_STRING_NAME);if(t.length,r<s){let e="";e+=t.substring(0,r),e+=n,e+=t.substring(r+s)}return new en([ee.outputOf(new Map([[nm.EVENT_RESULT_NAME,t]]))])}}class nh extends e1{constructor(){super(),this.VALUE="value",this.signature=new ei("Reverse").setNamespace(R.STRING).setParameters(new Map([[this.VALUE,new $(this.VALUE,b.ofString(this.VALUE)).setVariableArgument(!1)]])).setEvents(new Map([Z.outputEventMapEntry(new Map([[this.VALUE,new b().setType(P.of(N.STRING)).setName(this.VALUE)]]))]))}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(this.VALUE),r=t.length-1,s="";for(;r>=0;)s+=t.charAt(r--);return new en([ee.outputOf(W.of(this.VALUE,s))])}}class ng extends e1{getSignature(){return this.signature}constructor(){super(),this.PARAMETER_STRING_NAME="string",this.PARAMETER_SPLIT_STRING_NAME="searchString",this.EVENT_RESULT_NAME="result",this.PARAMETER_STRING=new $(this.PARAMETER_STRING_NAME,b.ofString(this.PARAMETER_STRING_NAME)),this.PARAMETER_SPLIT_STRING=new $(this.PARAMETER_SPLIT_STRING_NAME,b.ofString(this.PARAMETER_SPLIT_STRING_NAME)),this.EVENT_ARRAY=new Z(Z.OUTPUT,W.of(this.EVENT_RESULT_NAME,b.ofArray(this.EVENT_RESULT_NAME))),this.signature=new ei("Split").setNamespace(R.STRING).setParameters(new Map([[this.PARAMETER_STRING_NAME,this.PARAMETER_STRING],[this.PARAMETER_SPLIT_STRING_NAME,this.PARAMETER_SPLIT_STRING]])).setEvents(new Map([Z.outputEventMapEntry(new Map([[this.EVENT_RESULT_NAME,b.ofArray(this.EVENT_RESULT_NAME)]]))]))}async internalExecute(e){let t=e.getArguments()?.get(this.PARAMETER_STRING_NAME),r=e.getArguments()?.get(this.PARAMETER_SPLIT_STRING_NAME);return new en([ee.outputOf(W.of(this.EVENT_RESULT_NAME,t.split(r)))])}}class nc extends e1{getSignature(){return this.signature}constructor(){super(),this.PARAMETER_INPUT_ANYTYPE_NAME="anytype",this.EVENT_RESULT_NAME="result",this.PARAMETER_INPUT_ANYTYPE=new $(this.PARAMETER_INPUT_ANYTYPE_NAME,b.ofAny(this.PARAMETER_INPUT_ANYTYPE_NAME)),this.EVENT_STRING=new Z(Z.OUTPUT,new Map([[this.EVENT_RESULT_NAME,b.ofString(this.EVENT_RESULT_NAME)]])),this.signature=new ei("ToString").setNamespace(R.STRING).setParameters(new Map([[this.PARAMETER_INPUT_ANYTYPE.getParameterName(),this.PARAMETER_INPUT_ANYTYPE]])).setEvents(new Map([[this.EVENT_STRING.getName(),this.EVENT_STRING]]))}async internalExecute(e){let t=e.getArguments()?.get(this.PARAMETER_INPUT_ANYTYPE_NAME),r="";return r="object"==typeof t?JSON.stringify(t,void 0,2):""+t,new en([ee.outputOf(new Map([[this.EVENT_RESULT_NAME,r]]))])}}class np extends e1{static{this.PARAMETER_STRING_NAME="string"}static{this.PARAMETER_LENGTH_NAME="length"}static{this.EVENT_RESULT_NAME="result"}static{this.PARAMETER_STRING=new $(np.PARAMETER_STRING_NAME,b.ofString(np.PARAMETER_STRING_NAME))}static{this.PARAMETER_LENGTH=new $(np.PARAMETER_LENGTH_NAME,b.ofInteger(np.PARAMETER_LENGTH_NAME))}static{this.EVENT_STRING=new Z(Z.OUTPUT,new Map([[np.EVENT_RESULT_NAME,b.ofString(np.EVENT_RESULT_NAME)]]))}getSignature(){return this.signature}constructor(){super(),this.signature=new ei("TrimTo").setNamespace(R.STRING).setParameters(new Map([[np.PARAMETER_STRING.getParameterName(),np.PARAMETER_STRING],[np.PARAMETER_LENGTH.getParameterName(),np.PARAMETER_LENGTH]])).setEvents(new Map([[np.EVENT_STRING.getName(),np.EVENT_STRING]]))}async internalExecute(e){let t=e.getArguments()?.get(np.PARAMETER_STRING_NAME),r=e.getArguments()?.get(np.PARAMETER_LENGTH_NAME);return new en([ee.outputOf(new Map([[np.EVENT_RESULT_NAME,t.substring(0,r)]]))])}}class nN{async find(e,t){return e!=R.STRING?Promise.resolve(void 0):Promise.resolve(this.repoMap.get(t))}async filter(e){return Promise.resolve(this.filterableNames.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}constructor(){this.repoMap=W.ofArrayEntries(ni.ofEntryStringAndStringOutput("Trim",e=>e.trim()),ni.ofEntryStringAndStringOutput("TrimStart",e=>e.trimStart()),ni.ofEntryStringAndStringOutput("TrimEnd",e=>e.trimEnd()),ni.ofEntryStringAndIntegerOutput("Length",e=>e.length),ni.ofEntryStringStringAndIntegerOutput("Frequency",(e,t)=>{let r=0,s=e.indexOf(t);for(;-1!=s;)r++,s=e.indexOf(t,s+1);return r}),ni.ofEntryStringAndStringOutput("LowerCase",e=>e.toLocaleLowerCase()),ni.ofEntryStringAndStringOutput("UpperCase",e=>e.toUpperCase()),ni.ofEntryStringAndBooleanOutput("IsBlank",e=>""===e.trim()),ni.ofEntryStringAndBooleanOutput("IsEmpty",e=>""===e),ni.ofEntryStringStringAndBooleanOutput("Contains",(e,t)=>-1!=e.indexOf(t)),ni.ofEntryStringStringAndBooleanOutput("EndsWith",(e,t)=>e.endsWith(t)),ni.ofEntryStringStringAndBooleanOutput("StartsWith",(e,t)=>e.startsWith(t)),ni.ofEntryStringStringAndBooleanOutput("EqualsIgnoreCase",(e,t)=>e.toUpperCase()==t.toUpperCase()),ni.ofEntryStringStringAndBooleanOutput("Matches",(e,t)=>new RegExp(t).test(e)),ni.ofEntryStringStringAndIntegerOutput("IndexOf",(e,t)=>e.indexOf(t)),ni.ofEntryStringStringAndIntegerOutput("LastIndexOf",(e,t)=>e.lastIndexOf(t)),ni.ofEntryStringIntegerAndStringOutput("Repeat",(e,t)=>e.repeat(t)),ni.ofEntryStringStringIntegerAndIntegerOutput("IndexOfWithStartPoint",(e,t,r)=>e.indexOf(t,r)),ni.ofEntryStringStringIntegerAndIntegerOutput("LastIndexOfWithStartPoint",(e,t,r)=>e.lastIndexOf(t,r)),ni.ofEntryStringStringStringAndStringOutput("Replace",(e,t,r)=>e.replaceAll(t,r)),ni.ofEntryStringStringStringAndStringOutput("ReplaceFirst",(e,t,r)=>e.replace(t,r)),ni.ofEntryStringIntegerIntegerAndStringOutput("SubString",(e,t,r)=>e.substring(t,r)),z(new no),z(new nE),z(new nu),z(new nT),z(new nl),z(new nR),z(new nm),z(new nh),z(new ng),z(new nc),z(new np),z(new nA)),this.filterableNames=Array.from(this.repoMap.values()).map(e=>e.getSignature().getFullName())}}class nf extends e1{static{this.PARAMETER_TIMESTAMP_NAME="isoTimeStamp"}static{this.PARAMETER_TIMESTAMP_NAME_ONE="isoTimeStamp1"}static{this.PARAMETER_TIMESTAMP_NAME_TWO="isoTimeStamp2"}static{this.PARAMETER_UNIT_NAME="unit"}static{this.PARAMETER_NUMBER_NAME="number"}static{this.PARAMETER_TIMESTAMP=new $(nf.PARAMETER_TIMESTAMP_NAME,b.ofRef(R.DATE+".Timestamp"))}static{this.PARAMETER_TIMESTAMP_ONE=new $(nf.PARAMETER_TIMESTAMP_NAME_ONE,b.ofRef(R.DATE+".Timestamp"))}static{this.PARAMETER_TIMESTAMP_TWO=new $(nf.PARAMETER_TIMESTAMP_NAME_TWO,b.ofRef(R.DATE+".Timestamp"))}static{this.PARAMETER_VARIABLE_UNIT=new $(nf.PARAMETER_UNIT_NAME,b.ofRef(R.DATE+".Timeunit")).setVariableArgument(!0)}static{this.PARAMETER_UNIT=new $(nf.PARAMETER_UNIT_NAME,b.ofRef(R.DATE+".Timeunit"))}static{this.PARAMETER_NUMBER=new $(nf.PARAMETER_NUMBER_NAME,b.ofInteger(nf.PARAMETER_NUMBER_NAME))}static{this.EVENT_RESULT_NAME="result"}static{this.EVENT_TIMESTAMP_NAME="isoTimeStamp"}static{this.EVENT_INT=new Z(Z.OUTPUT,W.of(nf.EVENT_RESULT_NAME,b.ofInteger(nf.EVENT_RESULT_NAME)))}static{this.EVENT_STRING=new Z(Z.OUTPUT,W.of(nf.EVENT_RESULT_NAME,b.ofString(nf.EVENT_RESULT_NAME)))}static{this.EVENT_LONG=new Z(Z.OUTPUT,W.of(nf.EVENT_RESULT_NAME,b.ofLong(nf.EVENT_RESULT_NAME)))}static{this.EVENT_BOOLEAN=new Z(Z.OUTPUT,W.of(nf.EVENT_RESULT_NAME,b.ofBoolean(nf.EVENT_RESULT_NAME)))}static{this.EVENT_TIMESTAMP=new Z(Z.OUTPUT,W.of(nf.EVENT_TIMESTAMP_NAME,b.ofRef(R.DATE+".Timestamp")))}getSignature(){return this.signature}constructor(e,t,...r){if(super(),this.signature=new ei(e).setNamespace(R.DATE).setEvents(W.of(t.getName(),t)),!r?.length)return;let s=new Map;r.forEach(e=>s.set(e.getParameterName(),e)),this.signature.setParameters(s)}static ofEntryTimestampAndIntegerOutput(e,t){return[e,new class extends nf{async internalExecute(e){return new en([ee.outputOf(W.of(nf.EVENT_RESULT_NAME,t(e.getArguments()?.get(nf.PARAMETER_TIMESTAMP_NAME))))])}}(e,nf.EVENT_INT,nf.PARAMETER_TIMESTAMP)]}static ofEntryTimestampAndBooleanOutput(e,t){return[e,new class extends nf{async internalExecute(e){return new en([ee.outputOf(W.of(nf.EVENT_RESULT_NAME,t(e.getArguments()?.get(nf.PARAMETER_TIMESTAMP_NAME))))])}}(e,nf.EVENT_BOOLEAN,nf.PARAMETER_TIMESTAMP)]}static ofEntryTimestampAndStringOutput(e,t){return[e,new class extends nf{async internalExecute(e){return new en([ee.outputOf(W.of(nf.EVENT_RESULT_NAME,t(e.getArguments()?.get(nf.PARAMETER_TIMESTAMP_NAME))))])}}(e,nf.EVENT_STRING,nf.PARAMETER_TIMESTAMP)]}static ofEntryTimestampIntegerAndTimestampOutput(e,t){return[e,new class extends nf{async internalExecute(e){return new en([ee.outputOf(W.of(nf.EVENT_RESULT_NAME,t(e.getArguments()?.get(nf.PARAMETER_TIMESTAMP_NAME),e.getArguments()?.get(nf.PARAMETER_NUMBER_NAME))))])}}(e,nf.EVENT_TIMESTAMP,nf.PARAMETER_TIMESTAMP,nf.PARAMETER_NUMBER)]}static ofEntryTimestampTimestampAndTOutput(e,t,r,...s){return[e,new class extends nf{async internalExecute(e){let t=[];return s?.length&&t.push(...s.map(t=>e.getArguments()?.get(t.getParameterName()))),new en([ee.outputOf(W.of(nf.EVENT_RESULT_NAME,r(e.getArguments()?.get(nf.PARAMETER_TIMESTAMP_NAME_ONE),e.getArguments()?.get(nf.PARAMETER_TIMESTAMP_NAME_TWO),t)))])}}(e,t,nf.PARAMETER_TIMESTAMP_ONE,nf.PARAMETER_TIMESTAMP_TWO,...s)]}}function n_(e){let t=(0,i.DateTime).fromISO(e,{setZone:!0});if(!t?.isValid)throw Error("Invalid ISO timestamp");return t}class nM extends nf{static{this.PARAMETER_YEARS_NAME="years"}static{this.PARAMETER_MONTHS_NAME="months"}static{this.PARAMETER_DAYS_NAME="days"}static{this.PARAMETER_HOURS_NAME="hours"}static{this.PARAMETER_MINUTES_NAME="minutes"}static{this.PARAMETER_SECONDS_NAME="seconds"}static{this.PARAMETER_MILLISECONDS_NAME="milliseconds"}constructor(e){super(e?"AddTime":"SubtractTime",nf.EVENT_TIMESTAMP,nf.PARAMETER_TIMESTAMP,$.of(nM.PARAMETER_YEARS_NAME,b.ofNumber(nM.PARAMETER_YEARS_NAME).setDefaultValue(0)),$.of(nM.PARAMETER_MONTHS_NAME,b.ofNumber(nM.PARAMETER_MONTHS_NAME).setDefaultValue(0)),$.of(nM.PARAMETER_DAYS_NAME,b.ofNumber(nM.PARAMETER_DAYS_NAME).setDefaultValue(0)),$.of(nM.PARAMETER_HOURS_NAME,b.ofNumber(nM.PARAMETER_HOURS_NAME).setDefaultValue(0)),$.of(nM.PARAMETER_MINUTES_NAME,b.ofNumber(nM.PARAMETER_MINUTES_NAME).setDefaultValue(0)),$.of(nM.PARAMETER_SECONDS_NAME,b.ofNumber(nM.PARAMETER_SECONDS_NAME).setDefaultValue(0)),$.of(nM.PARAMETER_MILLISECONDS_NAME,b.ofNumber(nM.PARAMETER_MILLISECONDS_NAME).setDefaultValue(0))),this.isAdd=e}async internalExecute(e){let t;let r=n_(e.getArguments()?.get(nf.PARAMETER_TIMESTAMP_NAME)),s=e.getArguments()?.get(nM.PARAMETER_YEARS_NAME),n=e.getArguments()?.get(nM.PARAMETER_MONTHS_NAME),a=e.getArguments()?.get(nM.PARAMETER_DAYS_NAME),i=e.getArguments()?.get(nM.PARAMETER_HOURS_NAME),o={years:s,months:n,days:a,hours:i,minutes:e.getArguments()?.get(nM.PARAMETER_MINUTES_NAME),seconds:e.getArguments()?.get(nM.PARAMETER_SECONDS_NAME),milliseconds:e.getArguments()?.get(nM.PARAMETER_MILLISECONDS_NAME)};return t=this.isAdd?r.plus(o):r.minus(o),new en([ee.outputOf(W.of(nf.EVENT_TIMESTAMP_NAME,t.toISO()))])}}class nS extends e1{constructor(e,t){super(),this.paramName=`epoch${t?"Seconds":"Milliseconds"}`,this.isSeconds=t,this.signature=new ei(e).setNamespace(R.DATE).setParameters(new Map([[this.paramName,$.of(this.paramName,new b().setName(this.paramName).setType(P.of(N.LONG,N.INTEGER,N.STRING)))]])).setEvents(new Map([[nf.EVENT_TIMESTAMP.getName(),nf.EVENT_TIMESTAMP]]))}getSignature(){return this.signature}internalExecute(e){let t=parseInt(e.getArguments()?.get(this.paramName)),r=this.isSeconds?1e3*t:t;if(isNaN(r))throw Error(`Please provide a valid value for ${this.paramName}.`);return Promise.resolve(new en([ee.outputOf(W.of(nf.EVENT_TIMESTAMP_NAME,new Date(r).toISOString()))]))}}class nO extends e1{constructor(e,t){super(),this.isSeconds=t,this.signature=new ei(e).setNamespace(R.DATE).setParameters(new Map([[nf.PARAMETER_TIMESTAMP_NAME,nf.PARAMETER_TIMESTAMP]])).setEvents(new Map([[nf.EVENT_TIMESTAMP.getName(),nf.EVENT_LONG]]))}getSignature(){return this.signature}internalExecute(e){let t=e.getArguments()?.get(nf.PARAMETER_TIMESTAMP_NAME),r=this.isSeconds?(0,i.DateTime).fromISO(t).toSeconds():(0,i.DateTime).fromISO(t).toMillis();return Promise.resolve(new en([ee.outputOf(W.of(nf.EVENT_RESULT_NAME,r))]))}}class nw extends nf{static{this.PARAMETER_FORMAT_NAME="format"}static{this.PARAMETER_LOCALE_NAME="locale"}constructor(){super("ToDateString",nf.EVENT_STRING,nf.PARAMETER_TIMESTAMP,$.of(nw.PARAMETER_FORMAT_NAME,b.ofString(nw.PARAMETER_FORMAT_NAME)),$.of(nw.PARAMETER_LOCALE_NAME,b.ofString(nw.PARAMETER_LOCALE_NAME).setDefaultValue("")))}async internalExecute(e){let t=n_(e.getArguments()?.get(nf.PARAMETER_TIMESTAMP_NAME)),r=e.getArguments()?.get(nw.PARAMETER_FORMAT_NAME),s=e.getArguments()?.get(nw.PARAMETER_LOCALE_NAME);return""===s&&(s="system"),new en([ee.outputOf(W.of(nf.EVENT_RESULT_NAME,t.toFormat(r,{locale:s})))])}}class nd extends nf{static{this.PARAMETER_TIMEZONE_NAME="timezone"}constructor(){super("SetTimeZone",nf.EVENT_TIMESTAMP,nf.PARAMETER_TIMESTAMP,$.of(nd.PARAMETER_TIMEZONE_NAME,b.ofString(nd.PARAMETER_TIMEZONE_NAME)))}async internalExecute(e){let t=n_(e.getArguments()?.get(nf.PARAMETER_TIMESTAMP_NAME)),r=e.getArguments()?.get(nd.PARAMETER_TIMEZONE_NAME);return new en([ee.outputOf(W.of(nf.EVENT_TIMESTAMP_NAME,t.setZone(r).toISO()))])}}class nP extends nf{static{this.PARAMETER_START_TIMESTAMP_NAME="startTimestamp"}static{this.PARAMETER_END_TIMESTAMP_NAME="endTimestamp"}static{this.PARAMETER_CHECK_TIMESTAMP_NAME="checkTimestamp"}constructor(){super("IsBetween",nP.EVENT_BOOLEAN,$.of(nP.PARAMETER_START_TIMESTAMP_NAME,b.ofRef(R.DATE+".Timestamp")),$.of(nP.PARAMETER_END_TIMESTAMP_NAME,b.ofRef(R.DATE+".Timestamp")),$.of(nP.PARAMETER_CHECK_TIMESTAMP_NAME,b.ofRef(R.DATE+".Timestamp")))}async internalExecute(e){let t=e.getArguments()?.get(nP.PARAMETER_START_TIMESTAMP_NAME),r=e.getArguments()?.get(nP.PARAMETER_END_TIMESTAMP_NAME),s=e.getArguments()?.get(nP.PARAMETER_CHECK_TIMESTAMP_NAME),n=n_(t),a=n_(r),i=n_(s);return n>a&&([n,a]=[a,n]),new en([ee.outputOf(W.of(nP.EVENT_RESULT_NAME,n<=i&&i<=a))])}}class nI extends e1{constructor(e){super(),this.isLast=e,this.signature=new ei(e?"LastOf":"FirstOf").setNamespace(R.DATE).setParameters(new Map([[nf.PARAMETER_TIMESTAMP_NAME,new $(nf.PARAMETER_TIMESTAMP_NAME,b.ofRef(R.DATE+".Timestamp")).setVariableArgument(!0)]])).setEvents(new Map([[nf.EVENT_TIMESTAMP.getName(),nf.EVENT_TIMESTAMP]]))}getSignature(){return this.signature}internalExecute(e){let t=e.getArguments()?.get(nf.PARAMETER_TIMESTAMP_NAME);if(!t?.length)throw Error("No timestamps provided");let r=t.map(e=>n_(e));return r.sort((e,t)=>e.toMillis()-t.toMillis()),Promise.resolve(new en([ee.outputOf(W.of(nf.EVENT_TIMESTAMP_NAME,r[this.isLast?r.length-1:0].toISO()))]))}}class ny extends nf{static{this.EVENT_TIME_OBJECT_NAME="object"}static{this.EVENT_TIME_ARRAY_NAME="array"}constructor(e){super(e?"TimeAsArray":"TimeAsObject",new Z(Z.OUTPUT,W.of(e?ny.EVENT_TIME_ARRAY_NAME:ny.EVENT_TIME_OBJECT_NAME,e?b.ofArray(ny.EVENT_TIME_ARRAY_NAME,b.ofInteger("timeParts")):b.ofRef(R.DATE+".TimeObject"))),nf.PARAMETER_TIMESTAMP),this.isArray=e}async internalExecute(e){let t=n_(e.getArguments()?.get(nf.PARAMETER_TIMESTAMP_NAME)).toObject();return new en([ee.outputOf(W.of(this.isArray?ny.EVENT_TIME_ARRAY_NAME:ny.EVENT_TIME_OBJECT_NAME,this.isArray?[t.year,t.month,t.day,t.hour,t.minute,t.second,t.millisecond]:t))])}}class nx extends nf{constructor(e){super(e?"StartOf":"EndOf",nf.EVENT_TIMESTAMP,nf.PARAMETER_TIMESTAMP,nf.PARAMETER_UNIT),this.isStart=e}async internalExecute(e){let t=n_(e.getArguments()?.get(nf.PARAMETER_TIMESTAMP_NAME)),r=e.getArguments()?.get(nf.PARAMETER_UNIT_NAME)?.toLowerCase();r=r.substring(0,r.length-1);let s=this.isStart?t.startOf(r):t.endOf(r);return new en([ee.outputOf(W.of(nf.EVENT_TIMESTAMP_NAME,s.toISO({includeOffset:!0})))])}}class nL extends nf{static{this.EVENT_NAMES_NAME="names"}static{this.PARAMETER_UNIT_NAME="unit"}static{this.PARAMETER_LOCALE_NAME="locale"}constructor(){super("GetNames",new Z(nL.EVENT_NAMES_NAME,W.of(nL.EVENT_NAMES_NAME,b.ofArray(nL.EVENT_NAMES_NAME,b.ofString(nL.EVENT_NAMES_NAME)))),new $(nL.PARAMETER_UNIT_NAME,b.ofString(nL.PARAMETER_UNIT_NAME).setEnums(["TIMEZONES","MONTHS","WEEKDAYS"])),new $(nL.PARAMETER_LOCALE_NAME,b.ofString(nL.PARAMETER_LOCALE_NAME).setDefaultValue("system")))}async internalExecute(e){let t=e.getArguments()?.get(nL.PARAMETER_UNIT_NAME),r=e.getArguments()?.get(nL.PARAMETER_LOCALE_NAME);return new en([ee.outputOf(W.of(nL.EVENT_NAMES_NAME,this.getNames(t,r)))])}getNames(e,t){return"TIMEZONES"===e?Intl.supportedValuesOf("timeZone"):"MONTHS"===e?[1,2,3,4,5,6,7,8,9,10,11,12].map(e=>(0,i.DateTime).now().setLocale(t).set({month:e}).toFormat("MMMM")):"WEEKDAYS"===e?[1,2,3,4,5,6,7].map(e=>(0,i.DateTime).now().setLocale(t).set({month:7,year:2024,day:e}).toFormat("EEEE")):[]}}class nv extends e1{internalExecute(e){let t=e.getArguments()?.get(nf.PARAMETER_TIMESTAMP_NAME),r=(0,i.DateTime).fromISO(t);return Promise.resolve(new en([ee.outputOf(W.of(nf.EVENT_RESULT_NAME,r.isValid))]))}getSignature(){return this.signature}constructor(...e){super(...e),this.signature=new ei("IsValidISODate").setNamespace(R.DATE).setParameters(new Map([$.ofEntry(nf.PARAMETER_TIMESTAMP_NAME,b.ofString(nf.PARAMETER_TIMESTAMP_NAME))])).setEvents(new Map([Z.outputEventMapEntry(W.of(nf.EVENT_RESULT_NAME,b.ofBoolean(nf.EVENT_RESULT_NAME)))]))}}class nU extends nf{static{this.PARAMETER_BASE_NAME="base"}static{this.PARAMETER_BASE=new $(nU.PARAMETER_BASE_NAME,b.ofRef(R.DATE+".Timestamp").setDefaultValue(""))}static{this.PARAMETER_LOCALE_NAME="locale"}static{this.PARAMETER_LOCALE=new $(nU.PARAMETER_LOCALE_NAME,b.ofString(nU.PARAMETER_LOCALE_NAME).setDefaultValue("system"))}static{this.PARAMETER_FORMAT_NAME="format"}static{this.PARAMETER_FORMAT=new $(nU.PARAMETER_FORMAT_NAME,b.ofString(nU.PARAMETER_FORMAT_NAME).setEnums(["LONG","SHORT","NARROW"]).setDefaultValue("LONG"))}static{this.PARAMETER_ROUND_NAME="round"}static{this.PARAMETER_ROUND=new $(nU.PARAMETER_ROUND_NAME,b.ofBoolean(nU.PARAMETER_ROUND_NAME).setDefaultValue(!0))}constructor(){super("FromNow",nf.EVENT_STRING,nf.PARAMETER_TIMESTAMP,nU.PARAMETER_FORMAT,nU.PARAMETER_BASE,nf.PARAMETER_VARIABLE_UNIT,nU.PARAMETER_ROUND,nU.PARAMETER_LOCALE)}internalExecute(e){let t=e.getArguments()?.get(nU.PARAMETER_BASE_NAME),r=""===t?(0,i.DateTime).now():(0,i.DateTime).fromISO(t),s=e.getArguments()?.get(nf.PARAMETER_TIMESTAMP_NAME),n=(0,i.DateTime).fromISO(s),a=e.getArguments()?.get(nU.PARAMETER_UNIT_NAME),o=e.getArguments()?.get(nU.PARAMETER_FORMAT_NAME),E=e.getArguments()?.get(nU.PARAMETER_ROUND_NAME),u=e.getArguments()?.get(nU.PARAMETER_LOCALE_NAME),A={base:r,style:o?.toLowerCase(),round:E,locale:u};return a?.length>0&&(A.unit=a.map(e=>e.toLowerCase())),Promise.resolve(new en([ee.outputOf(W.of(nf.EVENT_RESULT_NAME,n.toRelative(A)??"Unknown"))]))}}class nV extends nf{static{this.PARAMETER_FORMAT_NAME="format"}static{this.PARAMETER_TIMESTAMP_STRING_NAME="timestampString"}constructor(){super("FromDateString",nf.EVENT_TIMESTAMP,$.of(nV.PARAMETER_TIMESTAMP_STRING_NAME,b.ofString(nV.PARAMETER_TIMESTAMP_STRING_NAME)),$.of(nV.PARAMETER_FORMAT_NAME,b.ofString(nV.PARAMETER_FORMAT_NAME)))}async internalExecute(e){let t=e.getArguments()?.get(nV.PARAMETER_TIMESTAMP_STRING_NAME),r=e.getArguments()?.get(nV.PARAMETER_FORMAT_NAME),s=(0,i.DateTime).fromFormat(t,r);return new en([ee.outputOf(W.of(nf.EVENT_RESULT_NAME,s.toISO()))])}}class nC extends nf{constructor(){super("GetCurrentTimestamp",nf.EVENT_TIMESTAMP)}async internalExecute(e){return new en([ee.outputOf(W.of(nf.EVENT_TIMESTAMP_NAME,(0,i.DateTime).now().toISO()))])}}class nD{find(e,t){return e!=R.DATE?Promise.resolve(void 0):Promise.resolve(this.repoMap.get(t))}filter(e){return Promise.resolve(this.filterableNames.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}constructor(){this.repoMap=W.ofArrayEntries(["EpochSecondsToTimestamp",new nS("EpochSecondsToTimestamp",!0)],["EpochMillisecondsToTimestamp",new nS("EpochMillisecondsToTimestamp",!1)],nf.ofEntryTimestampAndIntegerOutput("GetDay",e=>n_(e).day),nf.ofEntryTimestampAndIntegerOutput("GetDayOfWeek",e=>n_(e).weekday),nf.ofEntryTimestampAndIntegerOutput("GetMonth",e=>n_(e).month),nf.ofEntryTimestampAndIntegerOutput("GetYear",e=>n_(e).year),nf.ofEntryTimestampAndIntegerOutput("GetHours",e=>n_(e).hour),nf.ofEntryTimestampAndIntegerOutput("GetMinutes",e=>n_(e).minute),nf.ofEntryTimestampAndIntegerOutput("GetSeconds",e=>n_(e).second),nf.ofEntryTimestampAndIntegerOutput("GetMilliseconds",e=>n_(e).millisecond),nf.ofEntryTimestampAndIntegerOutput("GetDaysInMonth",e=>n_(e).daysInMonth),nf.ofEntryTimestampAndIntegerOutput("GetDaysInYear",e=>n_(e).daysInYear),["TimestampToEpochSeconds",new nO("TimestampToEpochSeconds",!0)],["TimestampToEpochMilliseconds",new nO("TimestampToEpochMilliseconds",!1)],nf.ofEntryTimestampAndStringOutput("GetTimeZoneName",e=>n_(e).zoneName),nf.ofEntryTimestampAndStringOutput("GetTimeZoneOffsetLong",e=>n_(e).offsetNameLong),nf.ofEntryTimestampAndStringOutput("GetTimeZoneOffsetShort",e=>n_(e).offsetNameShort),nf.ofEntryTimestampAndIntegerOutput("GetTimeZoneOffset",e=>n_(e).offset),["ToDateString",new nw],["AddTime",new nM(!0)],["SubtractTime",new nM(!1)],["GetCurrentTimestamp",new nC],nf.ofEntryTimestampTimestampAndTOutput("Difference",new Z(Z.OUTPUT,W.of(nf.EVENT_RESULT_NAME,b.ofRef(`${R.DATE}.Duration`))),(e,t,r)=>{let s;let n=n_(e),a=n_(t);r?.[0]?.length&&(s=r[0]?.filter(e=>!!e).map(e=>e.toLowerCase()));let i=n.diff(a);return s?.length?i.shiftTo(...s).toObject():i.toObject()},nf.PARAMETER_VARIABLE_UNIT),nf.ofEntryTimestampIntegerAndTimestampOutput("SetDay",(e,t)=>n_(e).set({day:t}).toISO()),nf.ofEntryTimestampIntegerAndTimestampOutput("SetMonth",(e,t)=>n_(e).set({month:t}).toISO()),nf.ofEntryTimestampIntegerAndTimestampOutput("SetYear",(e,t)=>n_(e).set({year:t}).toISO()),nf.ofEntryTimestampIntegerAndTimestampOutput("SetHours",(e,t)=>n_(e).set({hour:t}).toISO()),nf.ofEntryTimestampIntegerAndTimestampOutput("SetMinutes",(e,t)=>n_(e).set({minute:t}).toISO()),nf.ofEntryTimestampIntegerAndTimestampOutput("SetSeconds",(e,t)=>n_(e).set({second:t}).toISO()),nf.ofEntryTimestampIntegerAndTimestampOutput("SetMilliseconds",(e,t)=>n_(e).set({millisecond:t}).toISO()),["SetTimeZone",new nd],nf.ofEntryTimestampTimestampAndTOutput("IsBefore",new Z(Z.OUTPUT,W.of(nf.EVENT_RESULT_NAME,b.ofBoolean(nf.EVENT_RESULT_NAME))),(e,t)=>n_(e)<n_(t)),nf.ofEntryTimestampTimestampAndTOutput("IsAfter",new Z(Z.OUTPUT,W.of(nf.EVENT_RESULT_NAME,b.ofBoolean(nf.EVENT_RESULT_NAME))),(e,t)=>n_(e)>n_(t)),nf.ofEntryTimestampTimestampAndTOutput("IsSame",new Z(Z.OUTPUT,W.of(nf.EVENT_RESULT_NAME,b.ofBoolean(nf.EVENT_RESULT_NAME))),(e,t)=>n_(e)===n_(t)),nf.ofEntryTimestampTimestampAndTOutput("IsSameOrBefore",new Z(Z.OUTPUT,W.of(nf.EVENT_RESULT_NAME,b.ofBoolean(nf.EVENT_RESULT_NAME))),(e,t)=>n_(e)<=n_(t)),nf.ofEntryTimestampTimestampAndTOutput("IsSameOrAfter",new Z(Z.OUTPUT,W.of(nf.EVENT_RESULT_NAME,b.ofBoolean(nf.EVENT_RESULT_NAME))),(e,t)=>n_(e)>=n_(t)),nf.ofEntryTimestampAndBooleanOutput("IsInLeapYear",e=>n_(e).isInLeapYear),nf.ofEntryTimestampAndBooleanOutput("IsInDST",e=>n_(e).isInDST),["IsBetween",new nP],["LastOf",new nI(!0)],["FirstOf",new nI(!1)],["StartOf",new nx(!0)],["EndOf",new nx(!1)],["TimeAsObject",new ny(!1)],["TimeAsArray",new ny(!0)],["GetNames",new nL],["IsValidISODate",new nv],["FromNow",new nU],["FromDateString",new nV]),this.filterableNames=Array.from(this.repoMap.values()).map(e=>e.getSignature().getFullName())}}class nb extends e1{static{this.MILLIS="millis"}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(nb.MILLIS);return await new Promise(e=>setTimeout(e,t)),new en([ee.outputOf(new Map)])}constructor(...e){super(...e),this.signature=new ei("Wait").setNamespace(R.SYSTEM).setParameters(new Map([$.ofEntry(nb.MILLIS,b.ofNumber(nb.MILLIS).setMinimum(0).setDefaultValue(0))])).setEvents(new Map([Z.outputEventMapEntry(new Map)]))}}var nG={};u(nG,"HybridRepository",()=>nF);class nF{constructor(...e){this.repos=e}async find(e,t){for(let r of this.repos){let s=await r.find(e,t);if(s)return s}}async filter(e){let t=new Set;for(let r of this.repos)(await r.filter(e)).forEach(e=>t.add(e));return Array.from(t)}}class nY extends e1{static{this.SOURCE="source"}static{this.SCHEMA="schema"}static{this.IS_VALID="isValid"}getSignature(){return this.signature}internalExecute(e){let t=e.getArguments()?.get(nY.SOURCE),r=b.from(e?.getArguments()?.get(nY.SCHEMA));if(!r)throw new es("Schema is not supplied.");return this.validateSchema(r,e.getSchemaRepository(),t)}async validateSchema(e,t,r){try{return await e0.validate([],e,t,r,!0),new en([ee.outputOf(W.of(nY.IS_VALID,!0))])}catch(e){return new en([ee.outputOf(W.of(nY.IS_VALID,!1))])}}constructor(...e){super(...e),this.signature=new ei("ValidateSchema").setNamespace(R.SYSTEM_OBJECT).setParameters(new Map([$.ofEntry(nY.SOURCE,b.ofAny(nY.SCHEMA)),$.ofEntry(nY.SCHEMA,b.SCHEMA,!1,H.CONSTANT)])).setEvents(new Map([Z.outputEventMapEntry(W.of(nY.IS_VALID,b.ofBoolean(nY.IS_VALID)))]))}}class nB extends e1{static{this.DEFAULT_ALGORITHM="sha256"}static{this.PARAMETER_DATA="data"}static{this.PARAMETER_ALGORITHM="algorithm"}static{this.PARAMETER_PRIMITIVE_LEVEL="primitiveLevel"}static{this.EVENT_RESULT_NAME="result"}constructor(){super(),this.signature=new ei("Hash").setNamespace(R.SYSTEM).setParameters(new Map([$.ofEntry(nB.PARAMETER_DATA,b.ofAny(nB.PARAMETER_DATA)),$.ofEntry(nB.PARAMETER_ALGORITHM,b.ofString(nB.PARAMETER_ALGORITHM).setEnums(["sha256","sha384","sha512","md5","md2","md4","sha1"]).setDefaultValue(nB.DEFAULT_ALGORITHM)),$.ofEntry(nB.PARAMETER_PRIMITIVE_LEVEL,b.ofBoolean(nB.PARAMETER_PRIMITIVE_LEVEL).setDefaultValue(!1))])).setEvents(new Map([[Z.OUTPUT,new Z(Z.OUTPUT,W.of(nB.EVENT_RESULT_NAME,b.ofString(nB.EVENT_RESULT_NAME)))]]))}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(nB.PARAMETER_DATA),r=e.getArguments()?.get(nB.PARAMETER_ALGORITHM)||nB.DEFAULT_ALGORITHM,s=e.getArguments()?.get(nB.PARAMETER_PRIMITIVE_LEVEL)?this.processPrimitiveLevelData(t,r):null==t?"null":(0,o.createHash)(r).update(JSON.stringify(t)).digest("hex");return new en([ee.outputOf(new Map([[nB.EVENT_RESULT_NAME,s]]))])}processPrimitiveLevelData(e,t){if(null==e)return"null";if("string"==typeof e||"number"==typeof e||"boolean"==typeof e)return(0,o.createHash)(t).update(JSON.stringify(e)).digest("hex");if(Array.isArray(e))return e.map(e=>this.processPrimitiveLevelData(e,t));if("object"==typeof e){let r={};return Object.entries(e).forEach(([e,s])=>{r[(0,o.createHash)(t).update(JSON.stringify(e)).digest("hex")]=this.processPrimitiveLevelData(s,t)}),r}return(0,o.createHash)(t).update(String(e)).digest("hex")}}class nH{constructor(){this.map=new Map([[R.SYSTEM_CTX,new Map([z(new t8),z(new rr),z(new sR)])],[R.SYSTEM_LOOP,new Map([z(new sV),z(new sO),z(new sf),z(new sy)])],[R.SYSTEM,new Map([z(new sp),z(new sc),z(new na),z(new nb),z(new t9),z(new nY),z(new nB)])]]),this.filterableNames=Array.from(this.map.values()).flatMap(e=>Array.from(e.values())).map(e=>e.getSignature().getFullName())}async find(e,t){return this.map.get(e)?.get(t)}async filter(e){return Array.from(this.filterableNames).filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase()))}}class nk extends nF{constructor(){super(new nH,new sz,new nN,new t4,new nn,new nD)}}var n$={};u(n$,"StatementExecution",()=>nX);var nj={};u(nj,"StatementMessage",()=>nW);class nW{constructor(e,t){this.message=t,this.messageType=e}getMessageType(){return this.messageType}setMessageType(e){return this.messageType=e,this}getMessage(){return this.message}setMessage(e){return this.message=e,this}toString(){return`${this.messageType} : ${this.message}`}}class nX{constructor(e){this.messages=[],this.dependencies=new Set,this.statement=e}getStatement(){return this.statement}setStatement(e){return this.statement=e,this}getMessages(){return this.messages}setMessages(e){return this.messages=e,this}getDependencies(){return this.dependencies}setDependencies(e){return this.dependencies=e,this}getUniqueKey(){return this.statement.getStatementName()}addMessage(e,t){this.messages.push(new nW(e,t))}addDependency(e){this.dependencies.add(e)}getDepenedencies(){return this.dependencies}equals(e){return e instanceof nX&&e.statement.equals(this.statement)}}var nJ={};u(nJ,"ContextTokenValueExtractor",()=>nq);class nq extends tY{static{this.PREFIX="Context."}constructor(e){super(),this.context=e}getValueInternal(e){let t=e.split(tY.REGEX_DOT),r=t[1],s=r.indexOf("["),n=2;return -1!=s&&(r=t[1].substring(0,s),t[1]=t[1].substring(s),n=1),this.retrieveElementFrom(e,t,n,this.context.get(r)?.getElement())}getPrefix(){return nq.PREFIX}getStore(){return g(this.context)?this.context:Array.from(this.context.entries()).reduce((e,[t,r])=>(g(r)||(e[t]=r.getElement()),e),{})}}var nz={};u(nz,"OutputMapTokenValueExtractor",()=>nK);class nK extends tY{static{this.PREFIX="Steps."}constructor(e){super(),this.output=e}getValueInternal(e){let t=e.split(tY.REGEX_DOT),r=1,s=this.output.get(t[r++]);if(!s||r>=t.length)return;let n=s.get(t[r++]);if(!n||r>t.length)return;if(r===t.length)return n;let a=t[r].indexOf("[");if(-1===a){let s=n.get(t[r++]);return this.retrieveElementFrom(e,t,r,s)}let i=t[r].substring(0,a),o=n.get(i);return this.retrieveElementFrom(e,t,r,{[i]:o})}getPrefix(){return nK.PREFIX}getStore(){return this.convertMapToObj(this.output)}convertMapToObj(e){return 0===e.size?{}:Array.from(e.entries()).reduce((e,[t,r])=>(e[t]=r instanceof Map?this.convertMapToObj(r):r,e),{})}}var nQ={};u(nQ,"ArgumentsTokenValueExtractor",()=>nZ);class nZ extends tY{static{this.PREFIX="Arguments."}constructor(e){super(),this.args=e}getValueInternal(e){let t=e.split(tY.REGEX_DOT),r=t[1],s=r.indexOf("["),n=2;return -1!=s&&(r=t[1].substring(0,s),t[1]=t[1].substring(s),n=1),this.retrieveElementFrom(e,t,n,this.args.get(r))}getPrefix(){return nZ.PREFIX}getStore(){return g(this.args)?this.args:Array.from(this.args.entries()).reduce((e,[t,r])=>(e[t]=r,e),{})}}var n0={};u(n0,"GraphVertex",()=>n9);var n1={};u(n1,"ExecutionGraph",()=>n2);class n2{constructor(e=!1){this.nodeMap=new Map,this.isSubGrph=e}getVerticesData(){return Array.from(this.nodeMap.values()).map(e=>e.getData())}addVertex(e){if(!this.nodeMap.has(e.getUniqueKey())){let t=new n9(this,e);this.nodeMap.set(e.getUniqueKey(),t)}return this.nodeMap.get(e.getUniqueKey())}getVertex(e){return this.nodeMap.get(e)}getVertexData(e){if(this.nodeMap.has(e))return this.nodeMap.get(e).getData()}getVerticesWithNoIncomingEdges(){return Array.from(this.nodeMap.values()).filter(e=>!e.hasIncomingEdges())}isCyclic(){let e,t=new eR(this.getVerticesWithNoIncomingEdges()),r=new Set;for(;!t.isEmpty();){if(r.has(t.getFirst().getKey()))return!0;e=t.removeFirst(),r.add(e.getKey()),e.hasOutgoingEdges()&&t.addAll(Array.from(e.getOutVertices().values()).flatMap(e=>Array.from(e)))}return!1}addVertices(e){for(let t of e)this.addVertex(t)}getNodeMap(){return this.nodeMap}isSubGraph(){return this.isSubGrph}toString(){return"Execution Graph : \n"+Array.from(this.nodeMap.values()).map(e=>e.toString()).join("\n")}}class n9{constructor(e,t){this.outVertices=new Map,this.inVertices=new Set,this.data=t,this.graph=e}getData(){return this.data}setData(e){return this.data=e,this}getOutVertices(){return this.outVertices}setOutVertices(e){return this.outVertices=e,this}getInVertices(){return this.inVertices}setInVertices(e){return this.inVertices=e,this}getGraph(){return this.graph}setGraph(e){return this.graph=e,this}getKey(){return this.data.getUniqueKey()}addOutEdgeTo(e,t){return this.outVertices.has(e)||this.outVertices.set(e,new Set),this.outVertices.get(e).add(t),t.inVertices.add(new ef(this,e)),t}addInEdgeTo(e,t){return this.inVertices.add(new ef(e,t)),e.outVertices.has(t)||e.outVertices.set(t,new Set),e.outVertices.get(t).add(this),e}hasIncomingEdges(){return!!this.inVertices.size}hasOutgoingEdges(){return!!this.outVertices.size}getSubGraphOfType(e){let t=new n2(!0);var r=new eR(Array.from(this.outVertices.get(e)??[]));for(r.map(e=>e.getData()).forEach(e=>t.addVertex(e));!r.isEmpty();)Array.from(r.pop().outVertices.values()).flatMap(e=>Array.from(e)).forEach(e=>{t.addVertex(e.getData()),r.add(e)});return t}toString(){var e=Array.from(this.getInVertices()).map(e=>e.getT1().getKey()+"("+e.getT2()+")").join(", "),t=Array.from(this.outVertices.entries()).map(([e,t])=>e+": "+Array.from(t).map(e=>e.getKey()).join(",")).join("\n ");return this.getKey()+":\n In: "+e+"\n Out: \n "+t}}var n4={};u(n4,"KIRuntime",()=>an);var n3={};u(n3,"JsonExpression",()=>n5);class n5{constructor(e){this.expression=e}getExpression(){return this.expression}}var n6={};u(n6,"ParameterReferenceType",()=>n7);var n7=((n={}).VALUE="VALUE",n.EXPRESSION="EXPRESSION",n),n8={};function ae(){var e=new Date().getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var r=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"==t?r:3&r|8).toString(16)})}u(n8,"FunctionExecutionParameters",()=>at);class at{constructor(e,t,r){this.count=0,this.executionContext=new Map,this.valueExtractors=new Map,this.functionRepository=e,this.schemaRepository=t,this.executionId=r??ae()}getExecutionId(){return this.executionId}getContext(){return this.context}setContext(e){this.context=e;let t=new nq(e);return this.valueExtractors.set(t.getPrefix(),t),this}getArguments(){return this.args}setArguments(e){return this.args=e,this}getEvents(){return this.events}setEvents(e){return this.events=e,this}getStatementExecution(){return this.statementExecution}setStatementExecution(e){return this.statementExecution=e,this}getSteps(){return this.steps}setSteps(e){this.steps=e;let t=new nK(e);return this.valueExtractors.set(t.getPrefix(),t),this}getCount(){return this.count}setCount(e){return this.count=e,this}getValuesMap(){return this.valueExtractors}getFunctionRepository(){return this.functionRepository}setFunctionRepository(e){return this.functionRepository=e,this}getSchemaRepository(){return this.schemaRepository}setSchemaRepository(e){return this.schemaRepository=e,this}addTokenValueExtractor(...e){for(let t of e)this.valueExtractors.set(t.getPrefix(),t);return this}setValuesMap(e){for(let[t,r]of e.entries())this.valueExtractors.set(t,r);return this}setExecutionContext(e){return this.executionContext=e,this}getExecutionContext(){return this.executionContext}}var ar={};u(ar,"StatementMessageType",()=>as);var as=((a={}).ERROR="ERROR",a.WARNING="WARNING",a.MESSAGE="MESSAGE",a);class an extends e1{static{this.PARAMETER_NEEDS_A_VALUE='Parameter "$" needs a value'}static{this.STEP_REGEX_PATTERN=RegExp("Steps\\.([a-zA-Z0-9\\\\-]{1,})\\.([a-zA-Z0-9\\\\-]{1,})","g")}static{this.VERSION=1}static{this.MAX_EXECUTION_ITERATIONS=1e7}constructor(e,t=!1){if(super(),this.debugMode=!1,this.debugMode=t,this.fd=e,this.fd.getVersion()>an.VERSION)throw new es("Runtime is at a lower version "+an.VERSION+" and trying to run code from version "+this.fd.getVersion()+".")}getSignature(){return this.fd}async getExecutionPlan(e,t){let r=new n2;for(let s of Array.from(this.fd.getSteps().values()))r.addVertex(await this.prepareStatementExecution(s,e,t));return Array.from(this.makeEdges(r).getT2().entries()).forEach(e=>{let t=r.getNodeMap().get(e[0])?.getData();t&&t.addMessage(as.ERROR,e[1])}),r}async internalExecute(e){e.getContext()||e.setContext(new Map),e.getEvents()||e.setEvents(new Map),e.getSteps()||e.setSteps(new Map),e.getArguments()&&e.addTokenValueExtractor(new nZ(e.getArguments())),this.debugMode&&(console.log(`EID: ${e.getExecutionId()} Executing: ${this.fd.getNamespace()}.${this.fd.getName()}`),console.log(`EID: ${e.getExecutionId()} Parameters: `,e));let t=await this.getExecutionPlan(e.getFunctionRepository(),e.getSchemaRepository());this.debugMode&&console.log(`EID: ${e.getExecutionId()} ${t?.toString()}`);let r=t.getVerticesData().filter(e=>e.getMessages().length).map(e=>e.getStatement().getStatementName()+": \n"+e.getMessages().join(","));if(r?.length)throw new es("Please fix the errors in the function definition before execution : \n"+r.join(",\n"));return await this.executeGraph(t,e)}async executeGraph(e,t){let r=new eR;r.addAll(e.getVerticesWithNoIncomingEdges());let s=new eR;for(;(!r.isEmpty()||!s.isEmpty())&&!t.getEvents()?.has(Z.OUTPUT);)if(await this.processBranchQue(t,r,s),await this.processExecutionQue(t,r,s),t.setCount(t.getCount()+1),t.getCount()==an.MAX_EXECUTION_ITERATIONS)throw new es("Execution locked in an infinite loop");if(!e.isSubGraph()&&!t.getEvents()?.size){let e=this.getSignature().getEvents();if(e.size&&e.get(Z.OUTPUT)?.getParameters()?.size)throw new es("No events raised")}let n=Array.from(t.getEvents()?.entries()??[]).flatMap(e=>e[1].map(t=>ee.of(e[0],t)));return new en(n.length||e.isSubGraph()?n:[ee.of(Z.OUTPUT,new Map)])}async processExecutionQue(e,t,r){if(!t.isEmpty()){let s=t.pop();await this.allDependenciesResolvedVertex(s,e.getSteps())?await this.executeVertex(s,e,r,t,e.getFunctionRepository()):t.add(s)}}async processBranchQue(e,t,r){if(r.length){let s=r.pop();await this.allDependenciesResolvedTuples(s.getT2(),e.getSteps())?await this.executeBranch(e,t,s):r.add(s)}}async executeBranch(e,t,r){let s,n=r.getT4();do if(r.getT1().getVerticesData().map(e=>e.getStatement().getStatementName()).forEach(t=>e.getSteps()?.delete(t)),await this.executeGraph(r.getT1(),e),(s=r.getT3().next())&&(e.getSteps()?.has(n.getData().getStatement().getStatementName())||e.getSteps()?.set(n.getData().getStatement().getStatementName(),new Map),e.getSteps()?.get(n.getData().getStatement().getStatementName())?.set(s.getName(),this.resolveInternalExpressions(s.getResult(),e)),this.debugMode)){let t=n.getData().getStatement();console.log(`EID: ${e.getExecutionId()} Step : ${t.getStatementName()} => ${t.getNamespace()}.${t.getName()}`),console.log(`EID: ${e.getExecutionId()} Event : ${s.getName()} : `,e.getSteps().get(t.getStatementName()).get(s.getName()))}while(s&&s.getName()!=Z.OUTPUT)s?.getName()==Z.OUTPUT&&n.getOutVertices().has(Z.OUTPUT)&&(n?.getOutVertices()?.get(Z.OUTPUT)??[]).forEach(async r=>{await this.allDependenciesResolvedVertex(r,e.getSteps())&&t.add(r)})}async executeVertex(e,t,r,s,n){let a,i=e.getData().getStatement();if(i.getExecuteIftrue().size&&!(Array.from(i.getExecuteIftrue().entries())??[]).filter(e=>e[1]).map(([e])=>new sA(e).evaluate(t.getValuesMap())).every(e=>!g(e)&&!1!==e))return;let o=await n.find(i.getNamespace(),i.getName());if(!o)throw new es(el.format("$.$ function is not found.",i.getNamespace(),i.getName()));let E=o?.getSignature().getParameters(),u=this.getArgumentsFromParametersMap(t,i,E??new Map);this.debugMode&&(console.log(`EID: ${t.getExecutionId()} Step : ${i.getStatementName()} => ${i.getNamespace()}.${i.getName()}`),console.log(`EID: ${t.getExecutionId()} Arguments : `,u));let A=t.getContext();a=o instanceof an?new at(t.getFunctionRepository(),t.getSchemaRepository(),`${t.getExecutionId()}_${i.getStatementName()}`).setArguments(u).setValuesMap(new Map(Array.from(t.getValuesMap().values()).filter(e=>e.getPrefix()!==nZ.PREFIX&&e.getPrefix()!==nK.PREFIX&&e.getPrefix()!==nq.PREFIX).map(e=>[e.getPrefix(),e]))):new at(t.getFunctionRepository(),t.getSchemaRepository(),t.getExecutionId()).setValuesMap(t.getValuesMap()).setContext(A).setArguments(u).setEvents(t.getEvents()).setSteps(t.getSteps()).setStatementExecution(e.getData()).setCount(t.getCount()).setExecutionContext(t.getExecutionContext());let T=await o.execute(a),l=T.next();if(!l)throw new es(el.format("Executing $ returned no events",i.getStatementName()));let R=l.getName()==Z.OUTPUT;if(t.getSteps()?.has(i.getStatementName())||t.getSteps().set(i.getStatementName(),new Map),t.getSteps().get(i.getStatementName()).set(l.getName(),this.resolveInternalExpressions(l.getResult(),t)),this.debugMode&&(console.log(`EID: ${t.getExecutionId()} Step : ${i.getStatementName()} => ${i.getNamespace()}.${i.getName()}`),console.log(`EID: ${t.getExecutionId()} Event : ${l.getName()} : `,t.getSteps().get(i.getStatementName()).get(l.getName()))),R){let r=e.getOutVertices().get(Z.OUTPUT);r&&r.forEach(async e=>{await this.allDependenciesResolvedVertex(e,t.getSteps())&&s.add(e)})}else{let t=e.getSubGraphOfType(l.getName()),s=this.makeEdges(t).getT1();r.push(new eM(t,s,T,e))}}resolveInternalExpressions(e,t){return e?Array.from(e.entries()).map(e=>new ef(e[0],this.resolveInternalExpression(e[1],t))).reduce((e,t)=>(e.set(t.getT1(),t.getT2()),e),new Map):e}resolveInternalExpression(e,t){if(g(e)||"object"!=typeof e)return e;if(e instanceof n5)return new sA(e.getExpression()).evaluate(t.getValuesMap());if(Array.isArray(e)){let r=[];for(let s of e)r.push(this.resolveInternalExpression(s,t));return r}if("object"==typeof e){let r={};for(let s of Object.entries(e))r[s[0]]=this.resolveInternalExpression(s[1],t);return r}}allDependenciesResolvedTuples(e,t){for(let r of e)if(!t.has(r.getT1())||!t.get(r.getT1())?.get(r.getT2()))return!1;return!0}allDependenciesResolvedVertex(e,t){return!e.getInVertices().size||0==Array.from(e.getInVertices()).filter(e=>{let r=e.getT1().getData().getStatement().getStatementName(),s=e.getT2();return!(t.has(r)&&t.get(r)?.has(s))}).length}getArgumentsFromParametersMap(e,t,r){return Array.from(t.getParameterMap().entries()).map(t=>{let s,n=Array.from(t[1]?.values()??[]);if(!n?.length)return new ef(t[0],s);let a=r.get(t[0]);return a?(s=a.isVariableArgument()?n.sort((e,t)=>(e.getOrder()??0)-(t.getOrder()??0)).filter(e=>!g(e)).map(t=>this.parameterReferenceEvaluation(e,t)).flatMap(e=>Array.isArray(e)?e:[e]):this.parameterReferenceEvaluation(e,n[0]),new ef(t[0],s)):new ef(t[0],void 0)}).filter(e=>!g(e.getT2())).reduce((e,t)=>(e.set(t.getT1(),t.getT2()),e),new Map)}parameterReferenceEvaluation(e,t){let r;return t.getType()==n7.VALUE?r=this.resolveInternalExpression(t.getValue(),e):t.getType()!=n7.EXPRESSION||ec.isNullOrBlank(t.getExpression())||(r=new sA(t.getExpression()??"").evaluate(e.getValuesMap())),r}async prepareStatementExecution(e,t,r){let s=new nX(e),n=await t.find(e.getNamespace(),e.getName());if(!n)return s.addMessage(as.ERROR,el.format("$.$ is not available",e.getNamespace(),e.getName())),Promise.resolve(s);let a=new Map(n.getSignature().getParameters());if(!e.getParameterMap())return Promise.resolve(s);for(let t of Array.from(e.getParameterMap().entries())){let e=a.get(t[0]);if(!e)continue;let n=Array.from(t[1]?.values()??[]);if(!n.length&&!e.isVariableArgument()){await ew.hasDefaultValueOrNullSchemaType(e.getSchema(),r)||s.addMessage(as.ERROR,el.format(an.PARAMETER_NEEDS_A_VALUE,e.getParameterName())),a.delete(e.getParameterName());continue}if(e.isVariableArgument())for(let t of(n.sort((e,t)=>(e.getOrder()??0)-(t.getOrder()??0)),n))this.parameterReferenceValidation(s,e,t,r);else if(n.length){let t=n[0];this.parameterReferenceValidation(s,e,t,r)}a.delete(e.getParameterName())}if(!g(s.getStatement().getDependentStatements()))for(let e of Array.from(s.getStatement().getDependentStatements().entries()))e[1]&&s.addDependency(e[0]);if(!g(s.getStatement().getExecuteIftrue()))for(let e of Array.from(s.getStatement().getExecuteIftrue().entries()))e[1]&&this.addDependencies(s,e[0]);if(a.size)for(let e of Array.from(a.values()))e.isVariableArgument()||await ew.hasDefaultValueOrNullSchemaType(e.getSchema(),r)||s.addMessage(as.ERROR,el.format(an.PARAMETER_NEEDS_A_VALUE,e.getParameterName()));return Promise.resolve(s)}async parameterReferenceValidation(e,t,r,s){if(r){if(r.getType()==n7.VALUE){if(g(r.getValue())&&!await ew.hasDefaultValueOrNullSchemaType(t.getSchema(),s)&&e.addMessage(as.ERROR,el.format(an.PARAMETER_NEEDS_A_VALUE,t.getParameterName())),g(r.getValue()))return;let n=new eR;for(n.push(new ef(t.getSchema(),r.getValue()));!n.isEmpty();){let t=n.pop();if(t.getT2()instanceof n5)this.addDependencies(e,t.getT2().getExpression());else{if(g(t.getT1())||g(t.getT1().getType()))continue;if(t.getT1().getType()?.contains(N.ARRAY)&&Array.isArray(t.getT2())){let e=t.getT1().getItems();if(!e)continue;if(e.isSingleType())for(let r of t.getT2())n.push(new ef(e.getSingleSchema(),r));else{let r=t.getT2();for(let t=0;t<r.length;t++)n.push(new ef(e.getTupleSchema()[t],r[t]))}}else if(t.getT1().getType()?.contains(N.OBJECT)&&"object"==typeof t.getT2()){let r=t.getT1();if(r.getName()===$.EXPRESSION.getName()&&r.getNamespace()===$.EXPRESSION.getNamespace()){let r=t.getT2();r.isExpression&&this.addDependencies(e,r.value)}else if(r.getProperties())for(let e of Object.entries(t.getT2()))r.getProperties().has(e[0])&&n.push(new ef(r.getProperties().get(e[0]),e[1]))}}}}else if(r.getType()==n7.EXPRESSION){if(ec.isNullOrBlank(r.getExpression()))g(ew.getDefaultValue(t.getSchema(),s))&&e.addMessage(as.ERROR,el.format(an.PARAMETER_NEEDS_A_VALUE,t.getParameterName()));else try{this.addDependencies(e,r.getExpression())}catch(t){e.addMessage(as.ERROR,el.format("Error evaluating $ : $",r.getExpression(),t))}}}else g(await ew.getDefaultValue(t.getSchema(),s))&&e.addMessage(as.ERROR,el.format(an.PARAMETER_NEEDS_A_VALUE,t.getParameterName()))}addDependencies(e,t){t&&Array.from(t.match(an.STEP_REGEX_PATTERN)??[]).forEach(t=>e.addDependency(t))}makeEdges(e){let t=e.getNodeMap().values(),r=[],s=new Map;for(let n of Array.from(t))for(let t of Array.from(n.getData().getDependencies())){let a=t.indexOf(".",6),i=t.substring(6,a),o=t.indexOf(".",a+1),E=-1==o?t.substring(a+1):t.substring(a+1,o);e.getNodeMap().has(i)?n.addInEdgeTo(e.getNodeMap().get(i),E):(r.push(new ef(i,E)),s.set(n.getData().getStatement().getStatementName(),el.format("Unable to find the step with name $",i)))}return new ef(r,s)}}var aa={};u(aa,"KIRunConstants",()=>ai);class ai{static{this.NAMESPACE="namespace"}static{this.NAME="name"}static{this.ID="id"}constructor(){}}var ao={};u(ao,"Position",()=>aE);class aE{static{this.SCHEMA_NAME="Position"}static{this.SCHEMA=new b().setNamespace(R.SYSTEM).setName(aE.SCHEMA_NAME).setType(P.of(N.OBJECT)).setProperties(new Map([["left",b.ofFloat("left")],["top",b.ofFloat("top")]]))}constructor(e,t){this.left=e,this.top=t}getLeft(){return this.left}setLeft(e){return this.left=e,this}getTop(){return this.top}setTop(e){return this.top=e,this}static from(e){if(e)return new aE(e.left,e.top)}}var au={};u(au,"FunctionDefinition",()=>aN);var aA={};u(aA,"Statement",()=>ah);var aT={};u(aT,"AbstractStatement",()=>al);class al{constructor(e){if(this.override=!1,!e)return;this.comment=e.comment,this.description=e.description,this.position=e.position?new aE(e.position.getLeft(),e.position.getTop()):void 0,this.override=e.override}getComment(){return this.comment}setComment(e){return this.comment=e,this}isOverride(){return this.override}setOverride(e){return this.override=e,this}getDescription(){return this.description}setDescription(e){return this.description=e,this}getPosition(){return this.position}setPosition(e){return this.position=e,this}}var aR={};u(aR,"ParameterReference",()=>am);class am{static{this.SCHEMA_NAME="ParameterReference"}static{this.SCHEMA=new b().setNamespace(R.SYSTEM).setName(am.SCHEMA_NAME).setType(P.of(N.OBJECT)).setProperties(new Map([["key",b.ofString("key")],["value",b.ofAny("value")],["expression",b.ofString("expression")],["type",b.ofString("type").setEnums(["EXPRESSION","VALUE"])],["order",b.ofInteger("order")]]))}constructor(e){e instanceof am?(this.key=e.key,this.type=e.type,this.value=g(e.value)?void 0:JSON.parse(JSON.stringify(e.value)),this.expression=e.expression,this.order=e.order):(this.type=e,this.key=ae())}getType(){return this.type}setType(e){return this.type=e,this}getKey(){return this.key}setKey(e){return this.key=e,this}getValue(){return this.value}setValue(e){return this.value=e,this}getExpression(){return this.expression}setExpression(e){return this.expression=e,this}setOrder(e){return this.order=e,this}getOrder(){return this.order}static ofExpression(e){let t=new am(n7.EXPRESSION).setExpression(e);return[t.getKey(),t]}static ofValue(e){let t=new am(n7.VALUE).setValue(e);return[t.getKey(),t]}static from(e){return new am(e.type).setValue(e.value).setExpression(e.expression).setKey(e.key).setOrder(e.order)}}class ah extends al{static{this.SCHEMA_NAME="Statement"}static{this.SCHEMA=new b().setNamespace(R.SYSTEM).setName(ah.SCHEMA_NAME).setType(P.of(N.OBJECT)).setProperties(new Map([["statementName",b.ofString("statementName")],["comment",b.ofString("comment")],["description",b.ofString("description")],["namespace",b.ofString("namespace")],["name",b.ofString("name")],["dependentStatements",b.ofObject("dependentstatement").setAdditionalProperties(new D().setSchemaValue(b.ofBoolean("exists"))).setDefaultValue({})],["executeIftrue",b.ofObject("executeIftrue").setAdditionalProperties(new D().setSchemaValue(b.ofBoolean("exists"))).setDefaultValue({})],["parameterMap",new b().setName("parameterMap").setAdditionalProperties(new D().setSchemaValue(b.ofObject("parameterReference").setAdditionalProperties(new D().setSchemaValue(am.SCHEMA))))],["position",aE.SCHEMA]]))}constructor(e,t,r){if(super(e instanceof ah?e:void 0),e instanceof ah)this.statementName=e.statementName,this.name=e.name,this.namespace=e.namespace,e.parameterMap&&(this.parameterMap=new Map(Array.from(e.parameterMap.entries()).map(e=>[e[0],new Map(Array.from(e[1].entries()).map(e=>[e[0],new am(e[1])]))]))),e.dependentStatements&&(this.dependentStatements=new Map(Array.from(e.dependentStatements.entries())));else{if(this.statementName=e,!r||!t)throw Error("Unknown constructor");this.namespace=t,this.name=r}}getStatementName(){return this.statementName}setStatementName(e){return this.statementName=e,this}getNamespace(){return this.namespace}setNamespace(e){return this.namespace=e,this}getName(){return this.name}setName(e){return this.name=e,this}getParameterMap(){return this.parameterMap||(this.parameterMap=new Map),this.parameterMap}setParameterMap(e){return this.parameterMap=e,this}getDependentStatements(){return this.dependentStatements??new Map}setDependentStatements(e){return this.dependentStatements=e,this}getExecuteIftrue(){return this.executeIftrue??new Map}setExecuteIftrue(e){return this.executeIftrue=e,this}equals(e){return e instanceof ah&&e.statementName==this.statementName}static ofEntry(e){return[e.statementName,e]}static from(e){return new ah(e.statementName,e.namespace,e.name).setParameterMap(new Map(Object.entries(e.parameterMap??{}).map(([e,t])=>[e,new Map(Object.entries(t??{}).map(([e,t])=>am.from(t)).map(e=>[e.getKey(),e]))]))).setDependentStatements(new Map(Object.entries(e.dependentStatements??{}))).setExecuteIftrue(new Map(Object.entries(e.executeIftrue??{}))).setPosition(aE.from(e.position)).setComment(e.comment).setDescription(e.description)}}var ag={};u(ag,"StatementGroup",()=>ac);class ac extends al{static{this.SCHEMA_NAME="StatementGroup"}static{this.SCHEMA=new b().setNamespace(R.SYSTEM).setName(ac.SCHEMA_NAME).setType(P.of(N.OBJECT)).setProperties(new Map([["statementGroupName",b.ofString("statementGroupName")],["comment",b.ofString("comment")],["description",b.ofString("description")],["position",aE.SCHEMA]]))}constructor(e,t=new Map){super(),this.statementGroupName=e,this.statements=t}getStatementGroupName(){return this.statementGroupName}setStatementGroupName(e){return this.statementGroupName=e,this}getStatements(){return this.statements}setStatements(e){return this.statements=e,this}static from(e){return new ac(e.statementGroupName,new Map(Object.entries(e.statements||{}).map(([e,t])=>[e,(""+t)?.toLowerCase()=="true"]))).setPosition(aE.from(e.position)).setComment(e.comment).setDescription(e.description)}}const ap=new b().setNamespace(R.SYSTEM).setName("FunctionDefinition").setProperties(new Map([["name",b.ofString("name")],["namespace",b.ofString("namespace")],["parameters",b.ofArray("parameters",$.SCHEMA)],["events",b.ofObject("events").setAdditionalProperties(new D().setSchemaValue(Z.SCHEMA))],["steps",b.ofObject("steps").setAdditionalProperties(new D().setSchemaValue(ah.SCHEMA))]]));ap.getProperties()?.set("parts",b.ofArray("parts",ap));class aN extends ei{static{this.SCHEMA=ap}constructor(e){super(e),this.version=1}getVersion(){return this.version}setVersion(e){return this.version=e,this}getSteps(){return this.steps??new Map}setSteps(e){return this.steps=e,this}getStepGroups(){return this.stepGroups}setStepGroups(e){return this.stepGroups=e,this}getParts(){return this.parts}setParts(e){return this.parts=e,this}static from(e){return e?new aN(e.name).setSteps(new Map(Object.values(e.steps??{}).filter(e=>!!e).map(e=>[e.statementName,ah.from(e)]))).setStepGroups(new Map(Object.values(e.stepGroups??{}).filter(e=>!!e).map(e=>[e.statementGroupName,ac.from(e)]))).setParts(Array.from(e.parts??[]).filter(e=>!!e).map(e=>aN.from(e))).setVersion(e.version??1).setEvents(new Map(Object.values(e.events??{}).filter(e=>!!e).map(e=>[e.name,Z.from(e)]))).setParameters(new Map(Object.values(e.parameters??{}).filter(e=>!!e).map(e=>[e.parameterName,$.from(e)]))).setNamespace(e.namespace):new aN("unknown")}}var af={};u(af,"Argument",()=>a_);class a_{constructor(e,t,r){this.argumentIndex=0,this.argumentIndex=e,this.name=t,this.value=r}getArgumentIndex(){return this.argumentIndex}setArgumentIndex(e){return this.argumentIndex=e,this}getName(){return this.name}setName(e){return this.name=e,this}getValue(){return this.value}setValue(e){return this.value=e,this}static of(e,t){return new a_(0,e,t)}}E(module.exports,A),E(module.exports,q),E(module.exports,{}),E(module.exports,e6),E(module.exports,j),E(module.exports,h),E(module.exports,eA),E(module.exports,tI),E(module.exports,eT),E(module.exports,eg),E(module.exports,eN),E(module.exports,tr),E(module.exports,eu),E(module.exports,ta),E(module.exports,n$),E(module.exports,nj),E(module.exports,t3),E(module.exports,nJ),E(module.exports,nz),E(module.exports,nQ),E(module.exports,n0),E(module.exports,{}),E(module.exports,n1),E(module.exports,n4),E(module.exports,ar),E(module.exports,n8),E(module.exports,tP),E(module.exports,tF),E(module.exports,sr),E(module.exports,td),E(module.exports,rs),E(module.exports,tD),E(module.exports,tv),E(module.exports,tx),E(module.exports,tV),E(module.exports,{}),E(module.exports,eo),E(module.exports,l),E(module.exports,n3),E(module.exports,T),E(module.exports,eC),E(module.exports,eL),E(module.exports,eU),E(module.exports,ey),E(module.exports,ed),E(module.exports,eF),E(module.exports,eb),E(module.exports,eE),E(module.exports,eS),E(module.exports,F),E(module.exports,eI),E(module.exports,m),E(module.exports,w),E(module.exports,f),E(module.exports,_),E(module.exports,M),E(module.exports,p),E(module.exports,ep),E(module.exports,eY),E(module.exports,nG),E(module.exports,aa),E(module.exports,G),E(module.exports,et),E(module.exports,ao),E(module.exports,au),E(module.exports,n6),E(module.exports,K),E(module.exports,aT),E(module.exports,aA),E(module.exports,{}),E(module.exports,ag),E(module.exports,ea),E(module.exports,Q),E(module.exports,B),E(module.exports,af),E(module.exports,aR),E(module.exports,e7),E(module.exports,er),E(module.exports,r1),E(module.exports,rn),E(module.exports,sa);
2
2
  //# sourceMappingURL=index.js.map