camunda-bpmn-js 5.3.0 → 5.4.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.
@@ -68232,7 +68232,7 @@
68232
68232
  return resolveNode(this, pos, side, true);
68233
68233
  }
68234
68234
  matchContext(context) {
68235
- return matchNodeContext(this, context);
68235
+ return matchNodeContext(this.parent, context);
68236
68236
  }
68237
68237
  enterUnfinishedNodesBefore(pos) {
68238
68238
  let scan = this.childBefore(pos), node = this;
@@ -68357,7 +68357,7 @@
68357
68357
  }
68358
68358
  }
68359
68359
  function matchNodeContext(node, context, i = context.length - 1) {
68360
- for (let p = node.parent; i >= 0; p = p.parent) {
68360
+ for (let p = node; i >= 0; p = p.parent) {
68361
68361
  if (!p)
68362
68362
  return false;
68363
68363
  if (!p.type.isAnonymous) {
@@ -68693,7 +68693,7 @@
68693
68693
  */
68694
68694
  next(enter = true) { return this.move(1, enter); }
68695
68695
  /**
68696
- Move to the next node in a last-to-first pre-order traveral. A
68696
+ Move to the next node in a last-to-first pre-order traversal. A
68697
68697
  node is followed by its last child or, if it has none, its
68698
68698
  previous sibling or the previous sibling of the first parent
68699
68699
  node that has one.
@@ -68769,10 +68769,10 @@
68769
68769
  if (mustLeave && leave)
68770
68770
  leave(this);
68771
68771
  mustLeave = this.type.isAnonymous;
68772
- if (this.nextSibling())
68773
- break;
68774
68772
  if (!depth)
68775
68773
  return;
68774
+ if (this.nextSibling())
68775
+ break;
68776
68776
  this.parent();
68777
68777
  depth--;
68778
68778
  mustLeave = true;
@@ -68786,11 +68786,11 @@
68786
68786
  */
68787
68787
  matchContext(context) {
68788
68788
  if (!this.buffer)
68789
- return matchNodeContext(this.node, context);
68789
+ return matchNodeContext(this.node.parent, context);
68790
68790
  let { buffer } = this.buffer, { types } = buffer.set;
68791
68791
  for (let i = context.length - 1, d = this.stack.length - 1; i >= 0; d--) {
68792
68792
  if (d < 0)
68793
- return matchNodeContext(this.node, context, i);
68793
+ return matchNodeContext(this._tree, context, i);
68794
68794
  let type = types[buffer.buffer[this.stack[d]]];
68795
68795
  if (!type.isAnonymous) {
68796
68796
  if (context[i] && context[i] != type.name)
@@ -68812,7 +68812,7 @@
68812
68812
  let contextHash = 0, lookAhead = 0;
68813
68813
  function takeNode(parentStart, minPos, children, positions, inRepeat, depth) {
68814
68814
  let { id, start, end, size } = cursor;
68815
- let lookAheadAtStart = lookAhead;
68815
+ let lookAheadAtStart = lookAhead, contextAtStart = contextHash;
68816
68816
  while (size < 0) {
68817
68817
  cursor.next();
68818
68818
  if (size == -1 /* SpecialRecord.Reuse */) {
@@ -68853,7 +68853,7 @@
68853
68853
  while (cursor.pos > endPos) {
68854
68854
  if (localInRepeat >= 0 && cursor.id == localInRepeat && cursor.size >= 0) {
68855
68855
  if (cursor.end <= lastEnd - maxBufferLength) {
68856
- makeRepeatLeaf(localChildren, localPositions, start, lastGroup, cursor.end, lastEnd, localInRepeat, lookAheadAtStart);
68856
+ makeRepeatLeaf(localChildren, localPositions, start, lastGroup, cursor.end, lastEnd, localInRepeat, lookAheadAtStart, contextAtStart);
68857
68857
  lastGroup = localChildren.length;
68858
68858
  lastEnd = cursor.end;
68859
68859
  }
@@ -68867,15 +68867,15 @@
68867
68867
  }
68868
68868
  }
68869
68869
  if (localInRepeat >= 0 && lastGroup > 0 && lastGroup < localChildren.length)
68870
- makeRepeatLeaf(localChildren, localPositions, start, lastGroup, start, lastEnd, localInRepeat, lookAheadAtStart);
68870
+ makeRepeatLeaf(localChildren, localPositions, start, lastGroup, start, lastEnd, localInRepeat, lookAheadAtStart, contextAtStart);
68871
68871
  localChildren.reverse();
68872
68872
  localPositions.reverse();
68873
68873
  if (localInRepeat > -1 && lastGroup > 0) {
68874
- let make = makeBalanced(type);
68874
+ let make = makeBalanced(type, contextAtStart);
68875
68875
  node = balanceRange(type, localChildren, localPositions, 0, localChildren.length, 0, end - start, make, make);
68876
68876
  }
68877
68877
  else {
68878
- node = makeTree(type, localChildren, localPositions, end - start, lookAheadAtStart - end);
68878
+ node = makeTree(type, localChildren, localPositions, end - start, lookAheadAtStart - end, contextAtStart);
68879
68879
  }
68880
68880
  }
68881
68881
  children.push(node);
@@ -68913,7 +68913,7 @@
68913
68913
  positions.push(start - parentStart);
68914
68914
  }
68915
68915
  }
68916
- function makeBalanced(type) {
68916
+ function makeBalanced(type, contextHash) {
68917
68917
  return (children, positions, length) => {
68918
68918
  let lookAhead = 0, lastI = children.length - 1, last, lookAheadProp;
68919
68919
  if (lastI >= 0 && (last = children[lastI]) instanceof Tree) {
@@ -68922,19 +68922,19 @@
68922
68922
  if (lookAheadProp = last.prop(NodeProp.lookAhead))
68923
68923
  lookAhead = positions[lastI] + last.length + lookAheadProp;
68924
68924
  }
68925
- return makeTree(type, children, positions, length, lookAhead);
68925
+ return makeTree(type, children, positions, length, lookAhead, contextHash);
68926
68926
  };
68927
68927
  }
68928
- function makeRepeatLeaf(children, positions, base, i, from, to, type, lookAhead) {
68928
+ function makeRepeatLeaf(children, positions, base, i, from, to, type, lookAhead, contextHash) {
68929
68929
  let localChildren = [], localPositions = [];
68930
68930
  while (children.length > i) {
68931
68931
  localChildren.push(children.pop());
68932
68932
  localPositions.push(positions.pop() + base - from);
68933
68933
  }
68934
- children.push(makeTree(nodeSet.types[type], localChildren, localPositions, to - from, lookAhead - to));
68934
+ children.push(makeTree(nodeSet.types[type], localChildren, localPositions, to - from, lookAhead - to, contextHash));
68935
68935
  positions.push(from - base);
68936
68936
  }
68937
- function makeTree(type, children, positions, length, lookAhead = 0, props) {
68937
+ function makeTree(type, children, positions, length, lookAhead, contextHash, props) {
68938
68938
  if (contextHash) {
68939
68939
  let pair = [NodeProp.contextHash, contextHash];
68940
68940
  props = props ? [pair].concat(props) : [pair];
@@ -69389,8 +69389,13 @@
69389
69389
  else if (overlay && (range = overlay.predicate(cursor))) {
69390
69390
  if (range === true)
69391
69391
  range = new Range$2(cursor.from, cursor.to);
69392
- if (range.from < range.to)
69393
- overlay.ranges.push(range);
69392
+ if (range.from < range.to) {
69393
+ let last = overlay.ranges.length - 1;
69394
+ if (last >= 0 && overlay.ranges[last].to == range.from)
69395
+ overlay.ranges[last] = { from: overlay.ranges[last].from, to: range.to };
69396
+ else
69397
+ overlay.ranges.push(range);
69398
+ }
69394
69399
  }
69395
69400
  if (enter && cursor.firstChild()) {
69396
69401
  if (overlay)
@@ -69774,7 +69779,8 @@
69774
69779
  var _a;
69775
69780
  let depth = action >> 19 /* Action.ReduceDepthShift */, type = action & 65535 /* Action.ValueMask */;
69776
69781
  let { parser } = this.p;
69777
- if (this.reducePos < this.pos - 25 /* Lookahead.Margin */)
69782
+ let lookaheadRecord = this.reducePos < this.pos - 25 /* Lookahead.Margin */;
69783
+ if (lookaheadRecord)
69778
69784
  this.setLookAhead(this.pos);
69779
69785
  let dPrec = parser.dynamicPrecedence(type);
69780
69786
  if (dPrec)
@@ -69784,7 +69790,7 @@
69784
69790
  // Zero-depth reductions are a special case—they add stuff to
69785
69791
  // the stack without popping anything off.
69786
69792
  if (type < parser.minRepeatTerm)
69787
- this.storeNode(type, this.reducePos, this.reducePos, 4, true);
69793
+ this.storeNode(type, this.reducePos, this.reducePos, lookaheadRecord ? 8 : 4, true);
69788
69794
  this.reduceContext(type, this.reducePos);
69789
69795
  return;
69790
69796
  }
@@ -69830,7 +69836,7 @@
69830
69836
  /**
69831
69837
  @internal
69832
69838
  */
69833
- storeNode(term, start, end, size = 4, isReduce = false) {
69839
+ storeNode(term, start, end, size = 4, mustSink = false) {
69834
69840
  if (term == 0 /* Term.Err */ &&
69835
69841
  (!this.stack.length || this.stack[this.stack.length - 1] < this.buffer.length + this.bufferBase)) {
69836
69842
  // Try to omit/merge adjacent error nodes
@@ -69848,22 +69854,31 @@
69848
69854
  }
69849
69855
  }
69850
69856
  }
69851
- if (!isReduce || this.pos == end) { // Simple case, just append
69857
+ if (!mustSink || this.pos == end) { // Simple case, just append
69852
69858
  this.buffer.push(term, start, end, size);
69853
69859
  }
69854
69860
  else { // There may be skipped nodes that have to be moved forward
69855
69861
  let index = this.buffer.length;
69856
- if (index > 0 && this.buffer[index - 4] != 0 /* Term.Err */)
69857
- while (index > 0 && this.buffer[index - 2] > end) {
69858
- // Move this record forward
69859
- this.buffer[index] = this.buffer[index - 4];
69860
- this.buffer[index + 1] = this.buffer[index - 3];
69861
- this.buffer[index + 2] = this.buffer[index - 2];
69862
- this.buffer[index + 3] = this.buffer[index - 1];
69863
- index -= 4;
69864
- if (size > 4)
69865
- size -= 4;
69862
+ if (index > 0 && this.buffer[index - 4] != 0 /* Term.Err */) {
69863
+ let mustMove = false;
69864
+ for (let scan = index; scan > 0 && this.buffer[scan - 2] > end; scan -= 4) {
69865
+ if (this.buffer[scan - 1] >= 0) {
69866
+ mustMove = true;
69867
+ break;
69868
+ }
69866
69869
  }
69870
+ if (mustMove)
69871
+ while (index > 0 && this.buffer[index - 2] > end) {
69872
+ // Move this record forward
69873
+ this.buffer[index] = this.buffer[index - 4];
69874
+ this.buffer[index + 1] = this.buffer[index - 3];
69875
+ this.buffer[index + 2] = this.buffer[index - 2];
69876
+ this.buffer[index + 3] = this.buffer[index - 1];
69877
+ index -= 4;
69878
+ if (size > 4)
69879
+ size -= 4;
69880
+ }
69881
+ }
69867
69882
  this.buffer[index] = term;
69868
69883
  this.buffer[index + 1] = start;
69869
69884
  this.buffer[index + 2] = end;
@@ -71516,6 +71531,10 @@
71516
71531
  */
71517
71532
  constructor(
71518
71533
  /**
71534
+ The optional name of the base tag @internal
71535
+ */
71536
+ name,
71537
+ /**
71519
71538
  The set of this tag and all its parent tags, starting with
71520
71539
  this one itself and sorted in order of decreasing specificity.
71521
71540
  */
@@ -71529,6 +71548,7 @@
71529
71548
  The modifiers applied to this.base @internal
71530
71549
  */
71531
71550
  modified) {
71551
+ this.name = name;
71532
71552
  this.set = set;
71533
71553
  this.base = base;
71534
71554
  this.modified = modified;
@@ -71537,17 +71557,20 @@
71537
71557
  */
71538
71558
  this.id = nextTagID++;
71539
71559
  }
71540
- /**
71541
- Define a new tag. If `parent` is given, the tag is treated as a
71542
- sub-tag of that parent, and
71543
- [highlighters](#highlight.tagHighlighter) that don't mention
71544
- this tag will try to fall back to the parent tag (or grandparent
71545
- tag, etc).
71546
- */
71547
- static define(parent) {
71560
+ toString() {
71561
+ let { name } = this;
71562
+ for (let mod of this.modified)
71563
+ if (mod.name)
71564
+ name = `${mod.name}(${name})`;
71565
+ return name;
71566
+ }
71567
+ static define(nameOrParent, parent) {
71568
+ let name = typeof nameOrParent == "string" ? nameOrParent : "?";
71569
+ if (nameOrParent instanceof Tag)
71570
+ parent = nameOrParent;
71548
71571
  if (parent === null || parent === void 0 ? void 0 : parent.base)
71549
71572
  throw new Error("Can not derive from a modified tag");
71550
- let tag = new Tag([], null, []);
71573
+ let tag = new Tag(name, [], null, []);
71551
71574
  tag.set.push(tag);
71552
71575
  if (parent)
71553
71576
  for (let t of parent.set)
@@ -71566,8 +71589,8 @@
71566
71589
  example `m1(m2(m3(t1)))` is a subtype of `m1(m2(t1))`,
71567
71590
  `m1(m3(t1)`, and so on.
71568
71591
  */
71569
- static defineModifier() {
71570
- let mod = new Modifier;
71592
+ static defineModifier(name) {
71593
+ let mod = new Modifier(name);
71571
71594
  return (tag) => {
71572
71595
  if (tag.modified.indexOf(mod) > -1)
71573
71596
  return tag;
@@ -71577,7 +71600,8 @@
71577
71600
  }
71578
71601
  let nextModifierID = 0;
71579
71602
  class Modifier {
71580
- constructor() {
71603
+ constructor(name) {
71604
+ this.name = name;
71581
71605
  this.instances = [];
71582
71606
  this.id = nextModifierID++;
71583
71607
  }
@@ -71587,7 +71611,7 @@
71587
71611
  let exists = mods[0].instances.find(t => t.base == base && sameArray$1(mods, t.modified));
71588
71612
  if (exists)
71589
71613
  return exists;
71590
- let set = [], tag = new Tag(set, base, mods);
71614
+ let set = [], tag = new Tag(base.name, set, base, mods);
71591
71615
  for (let m of mods)
71592
71616
  m.instances.push(tag);
71593
71617
  let configs = powerSet(mods);
@@ -72159,7 +72183,7 @@
72159
72183
  */
72160
72184
  heading6: t(heading),
72161
72185
  /**
72162
- A prose separator (such as a horizontal rule).
72186
+ A prose [content](#highlight.tags.content) separator (such as a horizontal rule).
72163
72187
  */
72164
72188
  contentSeparator: t(content),
72165
72189
  /**
@@ -72232,31 +72256,31 @@
72232
72256
  given element is being defined. Expected to be used with the
72233
72257
  various [name](#highlight.tags.name) tags.
72234
72258
  */
72235
- definition: Tag.defineModifier(),
72259
+ definition: Tag.defineModifier("definition"),
72236
72260
  /**
72237
72261
  [Modifier](#highlight.Tag^defineModifier) that indicates that
72238
72262
  something is constant. Mostly expected to be used with
72239
72263
  [variable names](#highlight.tags.variableName).
72240
72264
  */
72241
- constant: Tag.defineModifier(),
72265
+ constant: Tag.defineModifier("constant"),
72242
72266
  /**
72243
72267
  [Modifier](#highlight.Tag^defineModifier) used to indicate that
72244
72268
  a [variable](#highlight.tags.variableName) or [property
72245
72269
  name](#highlight.tags.propertyName) is being called or defined
72246
72270
  as a function.
72247
72271
  */
72248
- function: Tag.defineModifier(),
72272
+ function: Tag.defineModifier("function"),
72249
72273
  /**
72250
72274
  [Modifier](#highlight.Tag^defineModifier) that can be applied to
72251
72275
  [names](#highlight.tags.name) to indicate that they belong to
72252
72276
  the language's standard environment.
72253
72277
  */
72254
- standard: Tag.defineModifier(),
72278
+ standard: Tag.defineModifier("standard"),
72255
72279
  /**
72256
72280
  [Modifier](#highlight.Tag^defineModifier) that indicates a given
72257
72281
  [names](#highlight.tags.name) is local to some scope.
72258
72282
  */
72259
- local: Tag.defineModifier(),
72283
+ local: Tag.defineModifier("local"),
72260
72284
  /**
72261
72285
  A generic variant [modifier](#highlight.Tag^defineModifier) that
72262
72286
  can be used to tag language-specific alternative variants of
@@ -72265,8 +72289,13 @@
72265
72289
  [variable name](#highlight.tags.variableName) tags, since those
72266
72290
  come up a lot.
72267
72291
  */
72268
- special: Tag.defineModifier()
72292
+ special: Tag.defineModifier("special")
72269
72293
  };
72294
+ for (let name in tags) {
72295
+ let val = tags[name];
72296
+ if (val instanceof Tag)
72297
+ val.name = name;
72298
+ }
72270
72299
  /**
72271
72300
  This is a highlighter that adds stable, predictable classes to
72272
72301
  tokens, for styling with external CSS.
@@ -80042,50 +80071,50 @@
80042
80071
  }
80043
80072
 
80044
80073
  // This file was generated by lezer-generator. You probably shouldn't edit it.
80045
- const propertyIdentifier = 120,
80046
- identifier = 121,
80047
- nameIdentifier = 122,
80048
- insertSemi = 123,
80049
- expression0 = 127,
80074
+ const propertyIdentifier = 121,
80075
+ identifier = 122,
80076
+ nameIdentifier = 123,
80077
+ insertSemi = 124,
80078
+ expression0 = 128,
80050
80079
  ForExpression = 4,
80051
- forExpressionStart = 130,
80080
+ forExpressionStart = 131,
80052
80081
  ForInExpression = 7,
80053
80082
  Name = 8,
80054
80083
  Identifier = 9,
80055
80084
  AdditionalIdentifier = 10,
80056
- forExpressionBodyStart = 138,
80085
+ forExpressionBodyStart = 139,
80057
80086
  IfExpression = 19,
80058
- ifExpressionStart = 139,
80087
+ ifExpressionStart = 140,
80059
80088
  QuantifiedExpression = 23,
80060
- quantifiedExpressionStart = 140,
80089
+ quantifiedExpressionStart = 141,
80061
80090
  QuantifiedInExpression = 27,
80062
80091
  PositiveUnaryTest = 37,
80063
80092
  ArithmeticExpression = 41,
80064
- arithmeticPlusStart = 144,
80065
- arithmeticTimesStart = 145,
80066
- arithmeticExpStart = 146,
80067
- arithmeticUnaryStart = 147,
80093
+ arithmeticPlusStart = 145,
80094
+ arithmeticTimesStart = 146,
80095
+ arithmeticExpStart = 147,
80096
+ arithmeticUnaryStart = 148,
80068
80097
  VariableName = 47,
80069
- PathExpression = 67,
80070
- pathExpressionStart = 152,
80071
- FilterExpression = 69,
80072
- filterExpressionStart = 153,
80073
- FunctionInvocation = 71,
80074
- functionInvocationStart = 154,
80075
- ParameterName = 75,
80076
- nil = 159,
80077
- NumericLiteral = 78,
80078
- StringLiteral = 79,
80079
- BooleanLiteral = 80,
80080
- listStart = 165,
80081
- List = 88,
80082
- FunctionDefinition = 89,
80083
- functionDefinitionStart = 167,
80084
- Context$1 = 96,
80085
- contextStart = 169,
80086
- ContextEntry = 97,
80087
- PropertyName = 99,
80088
- PropertyIdentifier = 100;
80098
+ PathExpression = 68,
80099
+ pathExpressionStart = 154,
80100
+ FilterExpression = 70,
80101
+ filterExpressionStart = 155,
80102
+ FunctionInvocation = 72,
80103
+ functionInvocationStart = 156,
80104
+ ParameterName = 76,
80105
+ nil = 161,
80106
+ NumericLiteral = 79,
80107
+ StringLiteral = 80,
80108
+ BooleanLiteral = 81,
80109
+ listStart = 167,
80110
+ List = 89,
80111
+ FunctionDefinition = 90,
80112
+ functionDefinitionStart = 169,
80113
+ Context$1 = 97,
80114
+ contextStart = 171,
80115
+ ContextEntry = 98,
80116
+ PropertyName = 100,
80117
+ PropertyIdentifier = 101;
80089
80118
 
80090
80119
  /* global console,process */
80091
80120
 
@@ -80197,7 +80226,6 @@
80197
80226
  return spaceChars.includes(ch);
80198
80227
  }
80199
80228
 
80200
- // eslint-disable-next-line
80201
80229
  function indent(str, spaces) {
80202
80230
  return spaces.concat(
80203
80231
  str.split(/\n/g).join('\n' + spaces)
@@ -80476,6 +80504,10 @@
80476
80504
  [ ArithmeticExpression ]: 'ArithmeticExpression'
80477
80505
  };
80478
80506
 
80507
+ /**
80508
+ * A simple producer that retrievs a value from
80509
+ * a given context. Used to lazily take things.
80510
+ */
80479
80511
  class ValueProducer {
80480
80512
 
80481
80513
  /**
@@ -80518,7 +80550,7 @@
80518
80550
  /**
80519
80551
  * Creates a new context from a JavaScript object.
80520
80552
  *
80521
- * @param {any} value
80553
+ * @param {any} [value]
80522
80554
  */
80523
80555
  constructor(value = {}) {
80524
80556
 
@@ -80576,6 +80608,22 @@
80576
80608
  });
80577
80609
  }
80578
80610
 
80611
+ /**
80612
+ * Non-destructively merge another context into this one,
80613
+ * and return the result.
80614
+ *
80615
+ * @param {ContextValue} other
80616
+ *
80617
+ * @return {VariableContext}
80618
+ */
80619
+ merge(other) {
80620
+ const constructor = /** @type { typeof VariableContext } */ (this.constructor);
80621
+
80622
+ return new constructor(
80623
+ constructor.__merge(this.value, other)
80624
+ );
80625
+ }
80626
+
80579
80627
  /**
80580
80628
  * Wether the given value is atomic. Non-atomic values need to be wrapped in a
80581
80629
  * context Class.
@@ -80591,47 +80639,98 @@
80591
80639
  }
80592
80640
 
80593
80641
  /**
80594
- * Takes any number of Contexts and merges them into a single Context.
80642
+ * Takes any number of Contexts and merges them into a single context.
80595
80643
  *
80596
- * @param {...Context} contexts
80597
- * @returns {VariableContext}
80644
+ * @param { ...VariableContext } contexts
80645
+ * @returns { VariableContext }
80598
80646
  */
80599
80647
  static of(...contexts) {
80600
- const unwrap = (context) => {
80601
- if (!context || typeof context !== 'object') {
80602
- return {};
80603
- }
80648
+ return contexts.reduce((context, otherContext) => {
80649
+ return context.merge(otherContext);
80650
+ }, new this({}));
80651
+ }
80652
+
80653
+ /**
80654
+ * Returns the raw representation of the given context.
80655
+ *
80656
+ * @param {VariableContext | any} context
80657
+ *
80658
+ * @return {any}
80659
+ */
80660
+ static __unwrap(context) {
80661
+ if (!context) {
80662
+ return {};
80663
+ }
80664
+
80665
+ if (context instanceof this) {
80666
+ return context.value;
80667
+ }
80668
+
80669
+ if (typeof context !== 'object') {
80670
+ return {};
80671
+ }
80672
+
80673
+ return { ...context };
80674
+ }
80675
+
80676
+ /**
80677
+ * Non-destructively merges two contexts (or their values)
80678
+ * with each other, returning the result.
80679
+ *
80680
+ * @param {ContextValue} context
80681
+ * @param {ContextValue} other
80682
+ *
80683
+ * @return {any}
80684
+ */
80685
+ static __merge(context, other) {
80686
+
80687
+ return reduce(this.__unwrap(other), (merged, value, key) => {
80688
+ if (value instanceof ValueProducer) {
80604
80689
 
80605
- if (context instanceof this) {
80606
- return context.value;
80690
+ // keep value producers in tact
80691
+ return {
80692
+ ...merged,
80693
+ [key]: value
80694
+ };
80607
80695
  }
80608
80696
 
80609
- return { ...context };
80610
- };
80697
+ value = this.__unwrap(value);
80698
+
80699
+ if (has$2(merged, key)) {
80700
+ value = this.__merge(this.__unwrap(merged[key]), value);
80701
+ }
80611
80702
 
80612
- const merged = contexts.reduce((merged, context) => {
80613
80703
  return {
80614
80704
  ...merged,
80615
- ...unwrap(context)
80705
+ [key]: value
80616
80706
  };
80617
- }, {});
80618
-
80619
- return new this(merged);
80707
+ }, this.__unwrap(context));
80620
80708
  }
80621
80709
 
80622
80710
  }
80623
80711
 
80624
80712
  class Variables {
80625
80713
 
80714
+ /**
80715
+ * @param { {
80716
+ * name?: string,
80717
+ * tokens?: string[],
80718
+ * children?: Variables[],
80719
+ * parent: Variables | null
80720
+ * context: VariableContext,
80721
+ * value?: any,
80722
+ * raw?: any
80723
+ * } } options
80724
+ */
80626
80725
  constructor({
80627
80726
  name = 'Expressions',
80628
80727
  tokens = [],
80629
80728
  children = [],
80630
80729
  parent = null,
80631
- context = null,
80632
- value = null,
80633
- raw = null
80634
- } = {}) {
80730
+ context,
80731
+ value,
80732
+ raw
80733
+ }) {
80635
80734
  this.name = name;
80636
80735
  this.tokens = tokens;
80637
80736
  this.children = children;
@@ -80856,6 +80955,19 @@
80856
80955
  });
80857
80956
  }
80858
80957
 
80958
+ /**
80959
+ * @param { {
80960
+ * name?: string,
80961
+ * tokens?: string[],
80962
+ * children?: Variables[],
80963
+ * parent?: Variables | null
80964
+ * context: VariableContext,
80965
+ * value?: any,
80966
+ * raw?: any
80967
+ * } } options
80968
+ *
80969
+ * @return {Variables}
80970
+ */
80859
80971
  static of(options) {
80860
80972
 
80861
80973
  const {
@@ -81249,29 +81361,30 @@
81249
81361
  });
81250
81362
 
81251
81363
  // This file was generated by lezer-generator. You probably shouldn't edit it.
81252
- const spec_identifier = {__proto__:null,for:10, in:32, return:36, if:40, then:42, else:44, some:48, every:50, satisfies:56, or:60, and:64, between:72, instance:86, of:89, days:99, time:101, duration:103, years:105, months:107, date:109, list:115, context:121, function:128, null:154, true:326, false:326, "?":168, external:184, not:209};
81364
+ const spec_identifier = {__proto__:null,for:10, in:32, return:36, if:40, then:42, else:44, some:48, every:50, satisfies:56, or:60, and:64, between:72, instance:86, of:89, days:101, time:103, duration:105, years:107, months:109, date:111, list:117, context:123, function:130, null:156, true:330, false:330, "?":170, external:186, not:211};
81253
81365
  const parser$2 = LRParser.deserialize({
81254
81366
  version: 14,
81255
- states: "CpO`QYOOO`QYOOO$gQYOOOOQU'#Ce'#CeO$qQYO'#C`O%zQYO'#FPOOQQ'#Fe'#FeO&UQYO'#FeO`QYO'#DVOOQU'#Em'#EmO'rQ^O'#D]OOQO'#Fl'#FlO)oQWO'#DuOOQQ'#D|'#D|OOQQ'#D}'#D}OOQQ'#EO'#EOO)tOWO'#ERO)oQWO'#EPOOQQ'#EP'#EPOOQQ'#Fr'#FrOOQQ'#Fp'#FpOOQQ'#Fw'#FwOOQQ'#ET'#ETO`QYO'#EVOOQQ'#FR'#FRO)yQ^O'#FRO+pQYO'#EWO+wQWO'#EXOOQP'#F{'#F{O+|QXO'#E`OOQQ'#Fx'#FxOOQQ'#FQ'#FQQOQWOOOOQQ'#FS'#FSOOQQ'#F]'#F]O`QYO'#CoOOQQ'#F^'#F^O$qQYO'#CsO,XQYO'#DvOOQQ'#Fq'#FqO,^QYO'#EQOOQO'#EQ'#EQO`QYO'#EUO`QYO'#ETOOQO'#Fy'#FyQ,fQWOOO,kQYO'#DRO-bQWO'#FaOOQO'#DT'#DTO-mQYO'#FeO-tQWOOO.kQYO'#CdO.xQYO'#FUOOQQ'#Cc'#CcO.}QYO'#FTOOQQ'#Cb'#CbO/VQYO,58zO`QYO,59iOOQQ'#Fb'#FbOOQQ'#Fc'#FcOOQQ'#Fd'#FdO`QYO,59qO`QYO,59qO`QYO,59qOOQQ'#Fj'#FjO$qQYO,5:]OOQQ'#Fk'#FkO`QYO,5:_O`QYO,59eO`QYO,59gO`QYO,59iO0uQYO,59iO0|QYO,59rOOQQ,5:h,5:hO1RQYO,59qOOQU-E8k-E8kO2uQYO'#FmOOQQ,5:a,5:aOOQQ,5:m,5:mOOQQ,5:k,5:kO2|QYO,5:qOOQQ,5;m,5;mO3WQYO,5:pO3eQWO,5:rO3jQYO,5:sOOQP'#Ed'#EdO4aQXO'#EcOOQO'#Eb'#EbO4hQWO'#EaO4mQWO'#F|O4uQWO,5:zO4zQYO,59ZO.xQYO'#F`OOQQ'#Cw'#CwO5RQYO'#F_OOQQ'#Cv'#CvO5ZQYO,59_O5`QYO,5:bO5eQYO,5:lO3PQYO,5:pO5jQYO,5:oO`QYO'#EvQ,fQWOOO`QYO'#ElO6aQWO,5;{O`QYOOOOQR'#Cf'#CfOOQQ'#Ei'#EiO7ZQYO,59OO`QYO,5;pOOQQ'#FX'#FXO$qQYO'#EjO7kQYO,5;oO`QYO1G.fOOQQ'#F['#F[O8bQYO1G/TO;XQYO1G/]O;cQYO1G/]O;mQYO1G/]OOQQ1G/w1G/wO=aQYO1G/yO=hQYO1G/PO>qQYO1G/RO?zQYO1G/TO`QYO1G/TOOQQ1G/T1G/TO@bQYO1G/^O@|Q^O'#CdOB`QYO'#FoOOQO'#Dy'#DyOBjQWO'#DxOBoQWO'#FnOOQO'#Dw'#DwOOQO'#Dz'#DzOBwQWO,5<XOOQQ1G0]1G0]O`QYO1G0[O`QYO'#ErOB|QWO,5<ZOOQQ1G0^1G0^OCXQWO'#EZOCdQWO'#FzOOQO'#EY'#EYOClQWO1G0_OOQP'#Et'#EtOCqQXO,5:}O`QYO,5:{OCxQXO'#EuODQQWO,5<hOOQQ1G0f1G0fO`QYO1G.uO`QYO,5;zO$qQYO'#EkODYQYO,5;yO`QYO1G.yODbQYO1G/|OOQO1G0W1G0WOOQO,5;b,5;bOOQO-E8t-E8tOOQO,5;W,5;WOOQO-E8j-E8jODgQWOOOOQQ-E8g-E8gODlQYO'#CmOOQQ1G1[1G1[OOQQ,5;U,5;UOOQQ-E8h-E8hODyQYO7+$QOOQQ7+%e7+%eO`QYO7+$oOEpQYO,5:qOE}QWO7+$oOFSQYO'#D[OOQQ'#DZ'#DZOGvQYO'#D^OG{QYO'#D^OHQQYO'#D^OHVQ`O'#DfOH[Q`O'#DiOHaQ`O'#DmOOQQ7+$x7+$xO`QYO,5:dO$qQYO'#EqOHfQWO,5<YOOQQ1G1s1G1sOIlQYO7+%vOIyQYO,5;^OOQO-E8p-E8pO@bQYO,5:uO$qQYO'#EsOJWQWO,5<fOJ`QYO7+%yOOQP-E8r-E8rOJgQYO1G0gOOQO,5;a,5;aOOQO-E8s-E8sOJqQYO7+$aOJxQYO1G1fOOQQ,5;V,5;VOOQQ-E8i-E8iOKSQYO7+$eOOQO7+%h7+%hO`QYO,59XOKyQYO<<HZOOQQ<<HZ<<HZO$qQYO'#EnOMSQYO,59vONvQYO,59xON{QYO,59xO! QQYO,59xO! VQYO,5:QO$qQYO,5:TO! qQbO,5:XO! xQYO1G0OOOQO,5;],5;]OOQO-E8o-E8oO!!SQYO<<IbOOQQ<<Ib<<IbOOQO1G0a1G0aOOQO,5;_,5;_OOQO-E8q-E8qO!%OQYO'#E]OOQQ<<Ie<<IeO`QYO<<IeO`QYO<<G{O!%uQYO1G.sOOQQ,5;Y,5;YOOQQ-E8l-E8lO!&PQYO1G/dOOQQ1G/d1G/dO!&UQbO'#D]O!&gQ`O'#D[O!&rQ`O1G/lO!&wQWO'#DlO!&|Q`O'#FfOOQO'#Dk'#DkO!'UQ`O1G/oOOQO'#Dp'#DpO!'ZQ`O'#FhOOQO'#Do'#DoO!'cQ`O1G/sOOQQAN?PAN?PO!'hQYOAN=gOOQQ7+%O7+%OO!(_Q`O,59vOOQQ7+%W7+%WO! VQYO,5:WO$qQYO'#EoO!(jQ`O,5<QOOQQ7+%Z7+%ZO! VQYO'#EpO!(rQ`O,5<SO!(zQ`O7+%_OOQO1G/r1G/rOOQO,5;Z,5;ZOOQO-E8m-E8mOOQO,5;[,5;[OOQO-E8n-E8nO@bQYO<<HyOOQQAN>eAN>eO$qQYO'#EnO! VQYO<<HyO!)PQ`O7+%_O!)UQ`O1G/sO! qQbO,5:XO!)ZQ`O'#Dm",
81256
- stateData: "!)h~O#qOS#rOSPOSQOS~OTqOZVO[UOdrOhtOitOs{OvgO!SyO!TyO!UvO!WxO!b|O!fzO!heO!owO!vhO#RlO#mRO#nRO$g]O$h^O$i_O$j`O~OTqO[UOdrOhtOitOs{OvgO!SyO!TyO!UvO!WxO!b|O!fzO!heO!owO!vhO#RlO#mRO#nRO$g]O$h^O$i_O$j`O~OZ!RO#[!SO~P!|O#mRO#nRO~OZ![O[![O]!]O^!]O_!^O`!iOn!fOp!gOr!ZOs!ZOt!hO{!jO!h!dO#y!bOv$`X~O#k#sX$q#sX~P$yO$g!kOT$XXZ$XX[$XXd$XXh$XXi$XXs$XXv$XX!S$XX!T$XX!U$XX!W$XX!b$XX!f$XX!h$XX!o$XX!v$XX#R$XX#m$XX#n$XX$h$XX$i$XX$j$XX~O#mRO#nROZ!PX[!PX]!PX^!PX_!PX`!PXn!PXp!PXr!PXs!PXt!PXv!PX{!PX!h!PX#k!PX#o!PX#y!PX$q!PX#}!PXx!PX#|!PX!f!PXe!PXb!PX#Q!PXf!PXl!PX~Ov!nO~O$h^O~O#o!sOZ#uX[#uX]#uX^#uX_#uX`#uXn#uXp#uXr#uXs#uXt#uXv#uX{#uX!h#uX#k#uX#y#uX$q#uX#}#uXx#uX#|#uX!f#uXe#uXb#uX#Q#uXf#uXl#uX~O!f$cP~P`Ov!vO~O#l!wO$h^O#Q$pP~Op#TO~Op#UOv!tX~O$q#XO~O#kuX#}uX$quXxuX#|uX!fuXeuXbuX#QuXfuXluX~P$yO#}#ZO#k$TXx$TX~O#k#ZX~P&UOv#]O~OZ#^O[#^O]#^O^#^O_#^O#mRO#nRO#y#^O#z#^O$ZWX~O`WXxWX#}WX~P-yO`#bO~O#}#cOb#wX~Ob#fO~OTqOZVO[UOdrOhtOitOs{O!SyO!TyO!UvO!WxO!b|O!fzO!heO!owO!vhO#RlO#mRO#nRO$g]O$h^O$i_O$j`O~Ov#pO~P/[O|#rO~O{!jO!h!dO#y!bOZya[ya]ya^ya_ya`yanyapyaryasyatyav$`X#kya$qya#}yaxya#|ya!fyaeyabya#Qyafyalya~Ox$cP~P`Ox#{O#|#|O~P$yO#|#|O#}#}O!f$cX~P$yO!f$PO~O#mRO#nROx$nP~OZ#^O[#^O]#^O^#^O_#^O#l!wO#y#^O#z#^O~O$Z#VX~P3uO$Z$WO~O#}$XO#Q$pX~O#Q$ZO~Oe$[O~P$yO#}$^Ol$RX~Ol$`O~O!V$aO~O!S$bO~O#k!wa$q!wa#}!wax!wa#|!wa!f!wae!wab!wa#Q!waf!wal!wa~P$yO#}#ZO#k$Tax$Ta~OZ#^O[#^O]#^O^#^O_#^O#mRO#nRO#y#^O#z#^O~O`Wa$ZWaxWa#}Wa~P6lO#}#cOb#wa~OZ![O[![O]!]O^!]O_!^O{!jO!h!dO#y!bOv$`X~O`qinqipqirqisqitqi#kqi$qqi#}qixqi#|qi!fqieqibqi#Qqifqilqi~P7sO_!^O{!jO!h!dO#y!bOZyi[yi`yinyipyiryisyityiv$`X#kyi$qyi#}yixyi#|yi!fyieyibyi#Qyifyilyi~O]!]O^!]O~P9kO]yi^yi~P9kO{!jO!h!dO#y!bOZyi[yi]yi^yi_yi`yinyipyiryisyityiv$`X#kyi$qyi#}yixyi#|yi!fyieyibyi#Qyifyilyi~O!f$nO~P$yO`!iOp!gOr!ZOs!ZOt!hOnmi#kmi$qmi#}mixmi#|mi!fmiemibmi#Qmifmilmi~P7sO`!iOr!ZOs!ZOt!hOnoipoi#koi$qoi#}oixoi#|oi!foieoiboi#Qoifoiloi~P7sO`!iOn!fOp$oOr!ZOs!ZOt!hO~P7sO!R$tO!U$uO!W$vO!Z$wO!^$xO!b$yO#mRO#nRO~OZ#aX[#aX]#aX^#aX_#aX`#aXn#aXp#aXr#aXs#aXt#aXv#aXx#aX{#aX!h#aX#m#aX#n#aX#o#aX#y#aX#}#aX~P-yO#}#}Ox$cX~P$yO$Z${O~O#}$|Ox$bX~Ox%OO~O#}#}O!f$cax$ca~O$Z%SOx!}X#}!}X~O#}%TOx$nX~Ox%VO~O$Z#Va~P3uO#l!wO$h^O~O#}$XO#Q$pa~O#}$^Ol$Ra~O!T%aO~OxpO~O#|%bObaX#}aX~P$yO#kSq$qSq#}SqxSq#|Sq!fSqeSqbSq#QSqfSqlSq~P$yOx#{O#|#|O#}uX~P$yOx%dO~O#y%eOZ!OX[!OX]!OX^!OX_!OX`!OXn!OXp!OXr!OXs!OXt!OXv!OX{!OX!h!OX#k!OX$q!OX#}!OXx!OX#|!OX!f!OXe!OXb!OX#Q!OXf!OXl!OX~Op%gO~Op%hO~Op%iO~O![%jO~O![%kO~O![%lO~O#}$|Ox$ba~OZ![O[![O]!]O^!]O_!^O`!iOn!fOp!gOr!ZOs!ZOt!hO{!jO#y!bOv$`X~Ox%qO!f%qO!h%pO~PHnO!f#fa#}#fax#fa~P$yO#}%TOx$na~O#O%wO~P`O#Q#Ti#}#Ti~P$yOf%xO~P$yOl$Si#}$Si~P$yO#kgq$qgq#}gqxgq#|gq!fgqegqbgq#Qgqfgqlgq~P$yO`qynqypqyrqysqytqy#kqy$qqy#}qyxqy#|qy!fqyeqybqy#Qqyfqylqy~P7sO#y%eOZ!Oa[!Oa]!Oa^!Oa_!Oa`!Oan!Oap!Oar!Oas!Oat!Oav!Oa{!Oa!h!Oa#k!Oa$q!Oa#}!Oax!Oa#|!Oa!f!Oae!Oab!Oa#Q!Oaf!Oal!Oa~O!S%|O~O!V%|O~O!S%}O~O!R$tO!U$uO!W$vO!Z$wO!^$xO!b&sO#mRO#nRO~O!X$[P~P! VOx!li#}!li~P$yOT$_XZ$_X[$_X]!xy^!xy_!xy`!xyd$_Xh$_Xi$_Xn!xyp!xyr!xys$_Xt!xyv$_X{!xy!S$_X!T$_X!U$_X!W$_X!b$_X!f$_X!h$_X!o$_X!v$_X#R$_X#k!xy#m$_X#n$_X#y!xy$g$_X$h$_X$i$_X$j$_X$q!xy#}!xyx!xy#|!xye!xyb!xy#Q!xyf!xyl!xy~O#k#PX$q#PX#}#PXx#PX#|#PX!f#PXe#PXb#PX#Q#PXf#PXl#PX~P$yObai#}ai~P$yO!T&]O~O#mRO#nRO!X!PX#y!PX#}!PX~O#y&nO!X!OX#}!OX~O!X&_O~O$Z&`O~O#}&aO!X$YX~O!X&cO~O#}&dO!X$[X~O!X&fO~O#kc!R$qc!R#}c!Rxc!R#|c!R!fc!Rec!Rbc!R#Qc!Rfc!Rlc!R~P$yO#y&nO!X!Oa#}!Oa~O#}&aO!X$Ya~O#}&dO!X$[a~O$]&lO~O$]&oO~O!X&pO~O![&rO~OQP_^$g]#y~",
81257
- goto: "Du$qPPPP$rP%k%n%t&W'qPPPPPP'zP$rPPP$rPP'}(QP$rP$rP$rPPP(WP(cP$r$rPP(l)R)^)RPPPPPPP)RPP)RP*k*n)RP*t*z$rP$rP$r+R+z+},T+zP,]-U,],].U.}P$r/v$r0o0o1h1kP1qPP0o1w1}.Q2RPP2ZP2^2e2k2q2w4S4^4d4j4p4w4}5T5ZPPPPPPPP5a5j7q8j9c9fPP9jPP9p9s:l;e;h;l;q<`=O=o>hP>kP>o?b@T@|ASAV$rA]A]PPPPBU7qB}CvCyDr!mhOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%xR!YSQ!WSR$k#cS!US#cS#Ou$^W#u!n!v$|%TT&R%k&a#WXOPQWYgjsz{!Z!_!`!a!c!e!f!g!h!i#X#Z#]#a#e#p#r#|#}$W$[$]$`$o${%S%V%b%e%j%l%w%x&O&`&d&l&n&o&rb!TSu!v#c$^$|%T%k&aU#_!T#`#sR#s!nU#_!T#`#sT$U!x$VR$j#aR#SuQ#QuR%^$^U!PQ#]#pQ#q!iR$e#ZQpQQ$g#]R$q#pQ$z#rQ%r%SQ&Q%jU&V%l&d&rQ&g&`T&m&l&oc$s#r%S%j%l&`&d&l&o&r!liOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%xQ#k!cU$r#r%S&lS%z%e&n]&P%j%l&`&d&o&rR&U%kQ&S%kR&h&aQ&Y%lR&q&rS&W%l&rR&j&d!mZOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%xR#z!nQ#w!nR%n$|S#v!n$|T$Q!v%T!mcOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%x!lcOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%xQ!p`T!ym$X!maOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%x!mbOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%x!mfOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%x!mnOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%xR$T!vQ$R!vR%s%TQ%v%VR&Z%wQ!{mR%Y$XT!zm$XS!xm$XT$U!x$VRpQS#`!T#sR$h#`Q#d!WR$l#dQ$_#QR%_$_Q#[!PR$f#[!vYOPQWgjsz{!Z!_!`!a!c!e!f!g!h!i!n#X#Z#]#a#e#p#r#|#}$W$[$]$`$o${%S%V%b%e%w%x&lS!mY&O_&O%j%l&`&d&n&o&rQ%f$rS%{%f&^R&^&PQ&b&SR&i&bQ&e&WR&k&eQ$}#wR%o$}S$O!t#tR%R$OQ%U$RR%t%UQ$V!xR%W$VQ$Y!{R%Z$YQ#Y}R$d#YQpOQ}PR$c#XUTOP#XW!OQ!i#Z#]Q!lWQ!rgQ!tjQ!}sQ#VzQ#W{Q#g!ZQ#h!_Q#i!`Q#j!aQ#l!eQ#m!fQ#n!gQ#o!hQ#t!nQ$i#aQ$m#eQ$p#pQ%P#|Q%Q#}Q%X$WQ%[$[Q%]$]Q%`$`Q%c$oQ%m${S%u%V%wQ%y%bR&[%x!moOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%x!mSOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%xR!XST!VS#cQ#a!UR$]#OR#e!Y!msOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%x!muOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%xR#RuT#Pu$^V!QQ#]#p!X!_T!O!r!t!}#V#W#g#l#m#n#o#t$i$m$p%P%Q%X%[%]%`%c%m%u%y&[!Z!`T!O!r!t!}#V#W#g#h#l#m#n#o#t$i$m$p%P%Q%X%[%]%`%c%m%u%y&[!]!aT!O!r!t!}#V#W#g#h#i#l#m#n#o#t$i$m$p%P%Q%X%[%]%`%c%m%u%y&[!mWOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%xR&T%kT&X%l&r!a!cT!O!l!r!t!}#V#W#g#h#i#j#l#m#n#o#t$i$m$p%P%Q%X%[%]%`%c%m%u%y&[!a!eT!O!l!r!t!}#V#W#g#h#i#j#l#m#n#o#t$i$m$p%P%Q%X%[%]%`%c%m%u%y&[!m[OPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%xQ!o[R!qaR#x!nQ!ujR#y!n!mdOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%x!mjOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%x!mkOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%xR$S!v!mmOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%xR!|m",
81258
- nodeNames: "⚠ LineComment BlockComment Expression ForExpression for InExpressions InExpression Name Identifier Identifier ArithOp ArithOp ArithOp ArithOp ArithOp in IterationContext return IfExpression if then else QuantifiedExpression some every InExpressions InExpression satisfies Disjunction or Conjunction and Comparison CompareOp CompareOp between PositiveUnaryTest ( PositiveUnaryTests ) ArithmeticExpression InstanceOfExpression instance of Type QualifiedName VariableName SpecialType days time duration years months date > ListType list < ContextType context ContextEntryTypes ContextEntryType FunctionType function ArgumentTypes ArgumentType PathExpression ] FilterExpression [ FunctionInvocation SpecialFunctionName NamedParameters NamedParameter ParameterName PositionalParameters null NumericLiteral StringLiteral BooleanLiteral DateTimeLiteral DateTimeConstructor AtLiteral ? SimplePositiveUnaryTest Interval ParenthesizedExpression List FunctionDefinition FormalParameters FormalParameter external FunctionBody } { Context ContextEntry Key Name Identifier Expressions UnaryTests Wildcard not",
81259
- maxTerm: 171,
81367
+ states: "C|O`QYOOO`QYOOO$mQYOOOOQU'#Ce'#CeO$wQYO'#C`O&QQYO'#FQOOQQ'#Ff'#FfO&[QYO'#FfO`QYO'#DVOOQU'#En'#EnO'{Q^O'#D]OOQU'#D^'#D^OOQU'#D]'#D]OOQO'#Fn'#FnO)xQWO'#DvOOQQ'#D}'#D}OOQQ'#EO'#EOOOQQ'#EP'#EPO)}OWO'#ESO)xQWO'#EQOOQQ'#EQ'#EQOOQQ'#Ft'#FtOOQQ'#Fr'#FrOOQQ'#Fy'#FyOOQQ'#EU'#EUO`QYO'#EWOOQQ'#FS'#FSO*SQ^O'#FSO+yQYO'#EXO,QQWO'#EYOOQP'#F}'#F}O,VQXO'#EaOOQQ'#Fz'#FzOOQQ'#FR'#FRQOQWOOOOQQ'#FT'#FTOOQQ'#F^'#F^O`QYO'#CoOOQQ'#F_'#F_O$wQYO'#CsO,bQYO'#DwOOQQ'#Fs'#FsO,gQYO'#EROOQO'#ER'#ERO`QYO'#EVO`QYO'#EUOOQO'#F{'#F{Q,oQWOOO,tQYO'#DRO-kQWO'#FbOOQO'#DT'#DTO-vQYO'#FfO-}QWOOO.tQYO'#CdO/RQYO'#FVOOQQ'#Cc'#CcO/WQYO'#FUOOQQ'#Cb'#CbO/`QYO,58zO`QYO,59iOOQQ'#Fc'#FcOOQQ'#Fd'#FdOOQQ'#Fe'#FeO`QYO,59qO`QYO,59qO`QYO,59qOOQQ'#Fl'#FlO/eQYO,5:^OOQQ'#Fm'#FmO`QYO,5:`O`QYO,59eO`QYO,59gO`QYO,59iO1^QYO,59iO1eQYO,59rOOQQ,5:i,5:iO1jQYO,59qOOQU-E8l-E8lO3^QYO'#FoOOQQ,5:b,5:bOOQQ,5:n,5:nOOQQ,5:l,5:lO3eQYO,5:rOOQQ,5;n,5;nO3oQYO,5:qO3|QWO,5:sO4RQYO,5:tOOQP'#Ee'#EeO4xQXO'#EdOOQO'#Ec'#EcO5PQWO'#EbO5UQWO'#GOO5^QWO,5:{O5cQYO,59ZO/RQYO'#FaOOQQ'#Cw'#CwO5jQYO'#F`OOQQ'#Cv'#CvO5rQYO,59_O5wQYO,5:cO5|QYO,5:mO3hQYO,5:qO6RQYO,5:pO`QYO'#EwQ,oQWOOO`QYO'#EmO6xQWO,5;|O`QYOOOOQR'#Cf'#CfOOQQ'#Ej'#EjO7rQYO,59OO`QYO,5;qOOQQ'#FY'#FYO$wQYO'#EkO8SQYO,5;pO`QYO1G.fOOQQ'#F]'#F]O8yQYO1G/TO;pQYO1G/]O;zQYO1G/]O<UQYO1G/]OOQQ1G/x1G/xO=xQYO1G/zO>PQYO1G/PO?YQYO1G/RO@cQYO1G/TO`QYO1G/TOOQQ1G/T1G/TO@yQYO1G/^OAhQ^O'#CdOBzQYO'#FqOOQO'#Dz'#DzOCUQWO'#DyOCZQWO'#FpOOQO'#Dx'#DxOOQO'#D{'#D{OCcQWO,5<ZOOQQ1G0^1G0^O`QYO1G0]O`QYO'#EsOChQWO,5<]OOQQ1G0_1G0_OCsQWO'#E[ODOQWO'#F|OOQO'#EZ'#EZODWQWO1G0`OOQP'#Eu'#EuOD]QXO,5;OO`QYO,5:|ODdQXO'#EvODlQWO,5<jOOQQ1G0g1G0gO`QYO1G.uO`QYO,5;{O$wQYO'#ElODtQYO,5;zO`QYO1G.yOD|QYO1G/}OOQO1G0X1G0XOOQO,5;c,5;cOOQO-E8u-E8uOOQO,5;X,5;XOOQO-E8k-E8kOERQWOOOOQQ-E8h-E8hOEWQYO'#CmOOQQ1G1]1G1]OOQQ,5;V,5;VOOQQ-E8i-E8iOEeQYO7+$QOOQQ7+%f7+%fO`QYO7+$oOF[QYO,5:rOFiQWO7+$oOFnQYO'#D[OOQQ'#DZ'#DZOHbQYO'#D_OHgQYO'#D_OHlQYO'#D_OHqQ`O'#DgOHvQ`O'#DjOH{Q`O'#DnOOQQ7+$x7+$xO`QYO,5:eO$wQYO'#ErOIQQWO,5<[OOQQ1G1u1G1uOJWQYO7+%wOJeQYO,5;_OOQO-E8q-E8qO@yQYO,5:vO$wQYO'#EtOJrQWO,5<hOJzQYO7+%zOOQP-E8s-E8sOKRQYO1G0hOOQO,5;b,5;bOOQO-E8t-E8tOK]QYO7+$aOKdQYO1G1gOOQQ,5;W,5;WOOQQ-E8j-E8jOKnQYO7+$eOOQO7+%i7+%iO`QYO,59XOLeQYO<<HZOOQQ<<HZ<<HZO/eQYO'#EoOMnQYO,59vO! bQYO,59yO! gQYO,59yO! lQYO,59yO! qQYO,5:RO$wQYO,5:UO!!`QbO,5:YO!!gQYO1G0POOQO,5;^,5;^OOQO-E8p-E8pO!!qQYO<<IcOOQQ<<Ic<<IcOOQO1G0b1G0bOOQO,5;`,5;`OOQO-E8r-E8rO!%pQYO'#E^OOQQ<<If<<IfO`QYO<<IfO`QYO<<G{O!&gQYO1G.sOOQQ,5;Z,5;ZOOQQ-E8m-E8mO!&qQYO1G/eOOQQ1G/e1G/eO!&vQbO'#D]O!'XQ`O'#D[O!'dQ`O1G/mO!'iQWO'#DmO!'nQ`O'#FhOOQO'#Dl'#DlO!'vQ`O1G/pOOQO'#Dq'#DqO!'{Q`O'#FjOOQO'#Dp'#DpO!(TQ`O1G/tOOQQAN?QAN?QO!(YQYOAN=gOOQQ7+%P7+%PO!)PQ`O,59vOOQQ7+%X7+%XO! qQYO,5:XO$wQYO'#EpO!)[Q`O,5<SOOQQ7+%[7+%[O! qQYO'#EqO!)dQ`O,5<UO!)lQ`O7+%`OOQO1G/s1G/sOOQO,5;[,5;[OOQO-E8n-E8nOOQO,5;],5;]OOQO-E8o-E8oO@yQYO<<HzOOQQAN>fAN>fO/eQYO'#EoO! qQYO<<HzO!)qQ`O7+%`O!)vQ`O1G/tO!!`QbO,5:YO!){Q`O'#Dn",
81368
+ stateData: "!*[~O#rOS#sOSPOSQOS~OTsOZVO[UOdtOhvOivOs}OviO!T{O!U{O!VxO!XzO!c!OO!g|O!igO!pyO!wjO#SnO#nRO#oRO$ZZO$i_O$j`O$kaO$lbO~OTsO[UOdtOhvOivOs}OviO!T{O!U{O!VxO!XzO!c!OO!g|O!igO!pyO!wjO#SnO#nRO#oRO$ZZO$i_O$j`O$kaO$lbO~OZ!TO#]!UO~P#PO#nRO#oRO~OZ!^O[!^O]!_O^!_O_!`O`!kOn!hOp!iOr!]Os!]Ot!jO{!lO!i!fO#z!dOv$bX~O#l#tX$s#tX~P%PO$i!mOT$YXZ$YX[$YXd$YXh$YXi$YXs$YXv$YX!T$YX!U$YX!V$YX!X$YX!c$YX!g$YX!i$YX!p$YX!w$YX#S$YX#n$YX#o$YX$Z$YX$j$YX$k$YX$l$YX~O#nRO#oROZ!PX[!PX]!PX^!PX_!PX`!PXn!PXp!PXr!PXs!PXt!PXv!PX{!PX!i!PX#l!PX#p!PX#z!PX$s!PX$O!PXx!PX#}!PX!g!PXe!PXb!PX#R!PXf!PXl!PX~Ov!pO~O$j`O~O#p!uOZ#vX[#vX]#vX^#vX_#vX`#vXn#vXp#vXr#vXs#vXt#vXv#vX{#vX!i#vX#l#vX#z#vX$s#vX$O#vXx#vX#}#vX!g#vXe#vXb#vX#R#vXf#vXl#vX~O!g$eP~P`Ov!xO~O#m!yO$j`O#R$rP~Op#VO~Op#WOv!uX~O$s#ZO~O#luX$OuX$suXxuX#}uX!guXeuXbuX#RuXfuXluX~P%PO$O#]O#l$UXx$UX~O#l#[X~P&[Ov#_O~OZ#`O[#`O]#`O^#`O_#`O#nRO#oRO#z#`O#{#`O$]WX~O`WXxWX$OWX~P.SO`#dO~O$O#eOb#xX~Ob#hO~O#nRO#oRO$ZZO~OTsOZVO[UOdtOhvOivOs}O!T{O!U{O!VxO!XzO!c!OO!g|O!igO!pyO!wjO#SnO#nRO#oRO$ZZO$i_O$j`O$kaO$lbO~Ov#rO~P/pO|#tO~O{!lO!i!fO#z!dOZya[ya]ya^ya_ya`yanyapyaryasyatyav$bX#lya$sya$Oyaxya#}ya!gyaeyabya#Ryafyalya~Ox$eP~P`Ox#}O#}$OO~P%PO#}$OO$O$PO!g$eX~P%PO!g$RO~O#nRO#oROx$pP~OZ#`O[#`O]#`O^#`O_#`O#m!yO#z#`O#{#`O~O$]#WX~P4^O$]$YO~O$O$ZO#R$rX~O#R$]O~Oe$^O~P%PO$O$`Ol$SX~Ol$bO~O!W$cO~O!T$dO~O#l!xa$s!xa$O!xax!xa#}!xa!g!xae!xab!xa#R!xaf!xal!xa~P%PO$O#]O#l$Uax$Ua~OZ#`O[#`O]#`O^#`O_#`O#nRO#oRO#z#`O#{#`O~O`Wa$]WaxWa$OWa~P7TO$O#eOb#xa~OZ!^O[!^O]!_O^!_O_!`O{!lO!i!fO#z!dOv$bX~O`qinqipqirqisqitqi#lqi$sqi$Oqixqi#}qi!gqieqibqi#Rqifqilqi~P8[O_!`O{!lO!i!fO#z!dOZyi[yi`yinyipyiryisyityiv$bX#lyi$syi$Oyixyi#}yi!gyieyibyi#Ryifyilyi~O]!_O^!_O~P:SO]yi^yi~P:SO{!lO!i!fO#z!dOZyi[yi]yi^yi_yi`yinyipyiryisyityiv$bX#lyi$syi$Oyixyi#}yi!gyieyibyi#Ryifyilyi~O!g$pO~P%PO`!kOp!iOr!]Os!]Ot!jOnmi#lmi$smi$Omixmi#}mi!gmiemibmi#Rmifmilmi~P8[O`!kOr!]Os!]Ot!jOnoipoi#loi$soi$Ooixoi#}oi!goieoiboi#Roifoiloi~P8[O`!kOn!hOp$qOr!]Os!]Ot!jO~P8[O!S$vO!V$wO!X$xO![$yO!_$zO!c${O#nRO#oRO$ZZO~OZ#bX[#bX]#bX^#bX_#bX`#bXn#bXp#bXr#bXs#bXt#bXv#bXx#bX{#bX!i#bX#n#bX#o#bX#p#bX#z#bX$O#bX~P.SO$O$POx$eX~P%PO$]$}O~O$O%OOx$dX~Ox%QO~O$O$PO!g$eax$ea~O$]%UOx#OX$O#OX~O$O%VOx$pX~Ox%XO~O$]#Wa~P4^O#m!yO$j`O~O$O$ZO#R$ra~O$O$`Ol$Sa~O!U%cO~OxrO~O#}%dObaX$OaX~P%PO#lSq$sSq$OSqxSq#}Sq!gSqeSqbSq#RSqfSqlSq~P%POx#}O#}$OO$OuX~P%POx%fO~O#z%gOZ!OX[!OX]!OX^!OX_!OX`!OXn!OXp!OXr!OXs!OXt!OXv!OX{!OX!i!OX#l!OX$s!OX$O!OXx!OX#}!OX!g!OXe!OXb!OX#R!OXf!OXl!OX~Op%iO~Op%jO~Op%kO~O!]%lO~O!]%mO~O!]%nO~O$O%OOx$da~OZ!^O[!^O]!_O^!_O_!`O`!kOn!hOp!iOr!]Os!]Ot!jO{!lO#z!dOv$bX~Ox%sO!g%sO!i%rO~PIYO!g#ga$O#gax#ga~P%PO$O%VOx$pa~O#P%yO~P`O#R#Ui$O#Ui~P%POf%zO~P%POl$Ti$O$Ti~P%PO#lgq$sgq$Ogqxgq#}gq!ggqegqbgq#Rgqfgqlgq~P%PO`qynqypqyrqysqytqy#lqy$sqy$Oqyxqy#}qy!gqyeqybqy#Rqyfqylqy~P8[O#z%gOZ!Oa[!Oa]!Oa^!Oa_!Oa`!Oan!Oap!Oar!Oas!Oat!Oav!Oa{!Oa!i!Oa#l!Oa$s!Oa$O!Oax!Oa#}!Oa!g!Oae!Oab!Oa#R!Oaf!Oal!Oa~O!T&OO~O!W&OO~O!T&PO~O!S$vO!V$wO!X$xO![$yO!_$zO!c&uO#nRO#oRO$ZZO~O!Y$^P~P! qOx!mi$O!mi~P%POT$aXZ$aX[$aX]!yy^!yy_!yy`!yyd$aXh$aXi$aXn!yyp!yyr!yys$aXt!yyv$aX{!yy!T$aX!U$aX!V$aX!X$aX!c$aX!g$aX!i$aX!p$aX!w$aX#S$aX#l!yy#n$aX#o$aX#z!yy$Z$aX$i$aX$j$aX$k$aX$l$aX$s!yy$O!yyx!yy#}!yye!yyb!yy#R!yyf!yyl!yy~O#l#QX$s#QX$O#QXx#QX#}#QX!g#QXe#QXb#QX#R#QXf#QXl#QX~P%PObai$Oai~P%PO!U&_O~O#nRO#oRO!Y!PX#z!PX$O!PX~O#z&pO!Y!OX$O!OX~O!Y&aO~O$]&bO~O$O&cO!Y$[X~O!Y&eO~O$O&fO!Y$^X~O!Y&hO~O#lc!R$sc!R$Oc!Rxc!R#}c!R!gc!Rec!Rbc!R#Rc!Rfc!Rlc!R~P%PO#z&pO!Y!Oa$O!Oa~O$O&cO!Y$[a~O$O&fO!Y$^a~O$_&nO~O$_&qO~O!Y&rO~O!]&tO~O$Z~QP_^$i]#z~",
81369
+ goto: "E|$sPPPP$tP%m%p%v&Y'sPPPPPP'|P$tPPP$tPP(P(SP$tP$tP$tPPP(YP(eP$t$tPP(n)T)`*m)TPPPPPPP)TPP)TP+r+u)TP+{,R$tP$tP$t,Y-R-U-[-RP-d.]-d-d/]0UP$t0}$t1v1v2o2rP2xPP1v3O3U/X3YPP3bP3e3l3r3x4O5Z5e5k5q5w6O6U6[6bPPPPPPPP6h6q8x9q:j:mPP:qPP:w:z;s<l<o<s<x=g>V>vP?oP?rP?v@iA[BTBZB^$tBdBdPPPPC]8xDUD}EQEy!mjOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR![SQ!YSR$m#eS!WS#eS#Qw$`W#w!p!x%O%VT&T%m&c#WXOPQWYilu|}!]!a!b!c!e!g!h!i!j!k#Z#]#_#c#g#r#t$O$P$Y$^$_$b$q$}%U%X%d%g%l%n%y%z&Q&b&f&n&p&q&tb!VSw!x#e$`%O%V%m&cU#a!V#b#uR#u!pU#a!V#b#uT$W!z$XR$l#cR#UwQ#SwR%`$`U!RQ#_#rQ#s!kR$g#]QrQQ$i#_R$s#rQ$|#tQ%t%UQ&S%lU&X%n&f&tQ&i&bT&o&n&qc$u#t%U%l%n&b&f&n&q&t!lkOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zQ#m!eU$t#t%U&nS%|%g&p]&R%l%n&b&f&q&t#V[OPQWilu|}!]!a!b!c!e!g!h!i!j!k!p#Z#]#_#c#g#r#t$O$P$Y$^$_$b$q$}%U%X%d%g%l%n%y%z&b&f&n&p&q&tR&W%mQ&U%mR&j&cQ&[%nR&s&tS&Y%n&tR&l&f!m]OPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR#|!pQ#y!pR%p%OS#x!p%OT$S!x%V!meOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!leOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zQ!rbT!{o$Z!mcOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!mdOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!mhOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!mpOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR$V!xQ$T!xR%u%VQ%x%XR&]%yQ!}oR%[$ZT!|o$ZS!zo$ZT$W!z$XRrQS#b!V#uR$j#bQ#f!YR$n#fQ$a#SR%a$aQ#^!RR$h#^!vYOPQWilu|}!]!a!b!c!e!g!h!i!j!k!p#Z#]#_#c#g#r#t$O$P$Y$^$_$b$q$}%U%X%d%g%y%z&nS!oY&Q_&Q%l%n&b&f&p&q&tQ%h$tS%}%h&`R&`&RQ&d&UR&k&dQ&g&YR&m&gQ%P#yR%q%PS$Q!v#vR%T$QQ%W$TR%v%WQ$X!zR%Y$XQ$[!}R%]$[Q#[!PR$f#[QrOQ!PPR$e#ZUTOP#ZW!QQ!k#]#_Q!nWQ!tiQ!vlQ#PuQ#X|Q#Y}Q#i!]Q#j!aQ#k!bQ#l!cQ#n!gQ#o!hQ#p!iQ#q!jQ#v!pQ$k#cQ$o#gQ$r#rQ%R$OQ%S$PQ%Z$YQ%^$^Q%_$_Q%b$bQ%e$qQ%o$}S%w%X%yQ%{%dR&^%z!mqOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!mSOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR!ZST!XS#eQ#c!WR$_#QR#g![!muOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!mwOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR#TwT#Rw$`V!SQ#_#r!X!aT!Q!t!v#P#X#Y#i#n#o#p#q#v$k$o$r%R%S%Z%^%_%b%e%o%w%{&^!Z!bT!Q!t!v#P#X#Y#i#j#n#o#p#q#v$k$o$r%R%S%Z%^%_%b%e%o%w%{&^!]!cT!Q!t!v#P#X#Y#i#j#k#n#o#p#q#v$k$o$r%R%S%Z%^%_%b%e%o%w%{&^!mWOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR&V%mT&Z%n&t!a!eT!Q!n!t!v#P#X#Y#i#j#k#l#n#o#p#q#v$k$o$r%R%S%Z%^%_%b%e%o%w%{&^!a!gT!Q!n!t!v#P#X#Y#i#j#k#l#n#o#p#q#v$k$o$r%R%S%Z%^%_%b%e%o%w%{&^!m^OPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zQ!q^R!scR#z!pQ!wlR#{!p!mfOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!mlOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!mmOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR$U!x!moOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR#Oo",
81370
+ nodeNames: "⚠ LineComment BlockComment Expression ForExpression for InExpressions InExpression Name Identifier Identifier ArithOp ArithOp ArithOp ArithOp ArithOp in IterationContext return IfExpression if then else QuantifiedExpression some every InExpressions InExpression satisfies Disjunction or Conjunction and Comparison CompareOp CompareOp between PositiveUnaryTest ( PositiveUnaryTests ) ArithmeticExpression InstanceOfExpression instance of Type QualifiedName VariableName BacktickIdentifier SpecialType days time duration years months date > ListType list < ContextType context ContextEntryTypes ContextEntryType FunctionType function ArgumentTypes ArgumentType PathExpression ] FilterExpression [ FunctionInvocation SpecialFunctionName NamedParameters NamedParameter ParameterName PositionalParameters null NumericLiteral StringLiteral BooleanLiteral DateTimeLiteral DateTimeConstructor AtLiteral ? SimplePositiveUnaryTest Interval ParenthesizedExpression List FunctionDefinition FormalParameters FormalParameter external FunctionBody } { Context ContextEntry Key Name Identifier Expressions UnaryTests Wildcard not",
81371
+ maxTerm: 173,
81260
81372
  context: variableTracker,
81261
81373
  nodeProps: [
81262
- ["closedBy", 38,")",70,"]",95,"}"],
81263
- ["openedBy", 40,"(",68,"[",94,"{"],
81264
- ["group", -5,77,78,79,80,81,"Literal"]
81374
+ ["closedBy", 38,")",71,"]",96,"}"],
81375
+ ["openedBy", 40,"(",69,"[",95,"{"],
81376
+ ["group", -5,78,79,80,81,82,"Literal"]
81265
81377
  ],
81266
81378
  propSources: [feelHighlighting],
81267
81379
  skippedNodes: [0,1,2],
81268
81380
  repeatNodeCount: 14,
81269
- tokenData: "+l~RuXY#fYZ$ZZ[#f]^$Zpq#fqr$`rs$kwx&cxy&hyz&mz{&r{|'P|}'U}!O'Z!O!P'h!P!Q(Q!Q![){![!]*^!]!^*c!^!_*h!_!`$f!`!a*w!b!c+R!}#O+W#P#Q+]#Q#R&z#o#p+b#q#r+g$f$g#f#BY#BZ#f$IS$I_#f$I|$I}$Z$I}$JO$Z$JT$JU#f$KV$KW#f&FU&FV#f?HT?HU#f~#kY#q~XY#fZ[#fpq#f$f$g#f#BY#BZ#f$IS$I_#f$JT$JU#f$KV$KW#f&FU&FV#f?HT?HU#f~$`O#r~~$cP!_!`$f~$kOr~~$pW$h~OY$kZr$krs%Ys#O$k#O#P%_#P;'S$k;'S;=`&]<%lO$k~%_O$h~~%bRO;'S$k;'S;=`%k;=`O$k~%pX$h~OY$kZr$krs%Ys#O$k#O#P%_#P;'S$k;'S;=`&];=`<%l$k<%lO$k~&`P;=`<%l$k~&hO#z~~&mOv~~&rOx~~&wP^~z{&z~'PO_~~'UO[~~'ZO#}~R'`PZP!`!a'cQ'hO$]Q~'mQ#y~!O!P's!Q!['x~'xO#|~~'}P$g~!Q!['x~(VQ]~z{(]!P!Q)d~(`TOz(]z{(o{;'S(];'S;=`)^<%lO(]~(rVOz(]z{(o{!P(]!P!Q)X!Q;'S(];'S;=`)^<%lO(]~)^OQ~~)aP;=`<%l(]~)iSP~OY)dZ;'S)d;'S;=`)u<%lO)d~)xP;=`<%l)d~*QQ$g~!O!P*W!Q![){~*ZP!Q!['x~*cO$Z~~*hO$q~R*oP![QsP!_!`*rP*wOsPR+OP!XQsP!_!`*r~+WO$j~~+]O!h~~+bO!f~~+gO#R~~+lO#Q~",
81381
+ tokenData: "-c~RvXY#iYZ$^Z[#i]^$^pq#iqr$crs$nwx&fxy&kyz&pz{&u{|'S|}'X}!O'^!O!P'k!P!Q(T!Q![*O![!]*a!]!^*f!^!_*k!_!`$i!`!a*z!b!c+U!}#O+Z#P#Q+`#Q#R&}#S#T+e#o#p-X#q#r-^$f$g#i#BY#BZ#i$IS$I_#i$I|$I}$^$I}$JO$^$JT$JU#i$KV$KW#i&FU&FV#i?HT?HU#i~#nY#r~XY#iZ[#ipq#i$f$g#i#BY#BZ#i$IS$I_#i$JT$JU#i$KV$KW#i&FU&FV#i?HT?HU#i~$cO#s~~$fP!_!`$i~$nOr~~$sW$j~OY$nZr$nrs%]s#O$n#O#P%b#P;'S$n;'S;=`&`<%lO$n~%bO$j~~%eRO;'S$n;'S;=`%n;=`O$n~%sX$j~OY$nZr$nrs%]s#O$n#O#P%b#P;'S$n;'S;=`&`;=`<%l$n<%lO$n~&cP;=`<%l$n~&kO#{~~&pOv~~&uOx~~&zP^~z{&}~'SO_~~'XO[~~'^O$O~R'cPZP!`!a'fQ'kO$_Q~'pQ#z~!O!P'v!Q!['{~'{O#}~~(QP$i~!Q!['{~(YQ]~z{(`!P!Q)g~(cTOz(`z{(r{;'S(`;'S;=`)a<%lO(`~(uVOz(`z{(r{!P(`!P!Q)[!Q;'S(`;'S;=`)a<%lO(`~)aOQ~~)dP;=`<%l(`~)lSP~OY)gZ;'S)g;'S;=`)x<%lO)g~){P;=`<%l)g~*TQ$i~!O!P*Z!Q![*O~*^P!Q!['{~*fO$]~~*kO$s~R*rP!]QsP!_!`*uP*zOsPR+RP!YQsP!_!`*u~+ZO$l~~+`O!i~~+eO!g~~+hWOY+eZ#O+e#O#P,Q#P#S+e#S#T,|#T;'S+e;'S;=`-R<%lO+e~,TRO;'S+e;'S;=`,^;=`O+e~,aXOY+eZ#O+e#O#P,Q#P#S+e#S#T,|#T;'S+e;'S;=`-R;=`<%l+e<%lO+e~-RO$Z~~-UP;=`<%l+e~-^O#S~~-cO#R~",
81270
81382
  tokenizers: [propertyIdentifiers, identifiers$1, insertSemicolon, 0, 1],
81271
- topRules: {"Expression":[0,3],"Expressions":[1,101],"UnaryTests":[2,102]},
81272
- dynamicPrecedences: {"31":-1,"67":1,"71":-1,"73":-1},
81273
- specialized: [{term: 121, get: (value) => spec_identifier[value] || -1}],
81274
- tokenPrec: 2500
81383
+ topRules: {"Expression":[0,3],"Expressions":[1,102],"UnaryTests":[2,103]},
81384
+ dialects: {camunda: 2532},
81385
+ dynamicPrecedences: {"31":-1,"68":1,"72":-1,"74":-1},
81386
+ specialized: [{term: 122, get: (value) => spec_identifier[value] || -1}],
81387
+ tokenPrec: 2534
81275
81388
  });
81276
81389
 
81277
81390
  function isContext(e) {
@@ -121113,10 +121226,10 @@
121113
121226
  return getExtensionElementsList$2(businessObject, 'zeebe:TaskDefinition')[0];
121114
121227
  }
121115
121228
 
121116
- const EVENT_TYPE = ['complete', 'assignment'];
121229
+ const EVENT_TYPE = ['completing', 'assigning'];
121117
121230
  const EVENT_TO_LABEL$1 = {
121118
- complete: 'Complete',
121119
- assignment: 'Assignment'
121231
+ completing: 'Completing',
121232
+ assigning: 'Assigning'
121120
121233
  };
121121
121234
  function TaskListenerEntries(props) {
121122
121235
  const {
@@ -121199,11 +121312,14 @@
121199
121312
  const items = listeners.map((listener, index) => {
121200
121313
  const id = element.id + '-taskListener-' + index;
121201
121314
  const type = listener.get('type') || '<no type>';
121315
+ const eventType = listener.get('eventType');
121316
+ const label = translate('{eventType}: {type}', {
121317
+ eventType: EVENT_TO_LABEL$1[eventType] || eventType,
121318
+ type
121319
+ });
121202
121320
  return {
121203
121321
  id,
121204
- label: translate(`${EVENT_TO_LABEL$1[listener.get('eventType')]}: {type}`, {
121205
- type
121206
- }),
121322
+ label,
121207
121323
  entries: TaskListenerEntries({
121208
121324
  idPrefix: id,
121209
121325
  listener
@@ -123372,8 +123488,6 @@
123372
123488
  return getExtensionElementsList$1(element, 'zeebe:ExecutionListeners')[0];
123373
123489
  }
123374
123490
 
123375
- const ALLOWED_EVENT_TYPES = [ 'complete', 'assignment' ];
123376
-
123377
123491
  class CleanUpTaskListenersBehavior extends CommandInterceptor$1 {
123378
123492
  constructor(eventBus, modeling) {
123379
123493
  super(eventBus);
@@ -123442,7 +123556,6 @@
123442
123556
  return listeners.filter(listener => {
123443
123557
  if (
123444
123558
  !is$5(element, 'bpmn:UserTask') ||
123445
- !ALLOWED_EVENT_TYPES.includes(listener.eventType) ||
123446
123559
  !hasZeebeTaskExtensionElement(element)
123447
123560
  ) {
123448
123561
  return false;
@@ -137785,12 +137898,12 @@
137785
137898
  }
137786
137899
  }
137787
137900
 
137788
- function parseIoMappings(variables) {
137901
+ function parseVariables(variables) {
137789
137902
 
137790
137903
  const variablesToResolve = [];
137791
137904
 
137792
- // Step 1 - Parse all io mappings and populate all that don't have references
137793
- // to other variables io-mappings
137905
+ // Step 1 - Parse all variables and populate all that don't have references
137906
+ // to other variables
137794
137907
  variables.forEach(variable => {
137795
137908
  variable.origin.forEach(origin => {
137796
137909
  const expressionDetails = getExpressionDetails(variable, origin);
@@ -137935,6 +138048,28 @@
137935
138048
  * @returns {{ expression: String, unresolved: Array<String> }}}
137936
138049
  */
137937
138050
  function getExpressionDetails(variable, origin) {
138051
+ const expression = getIoExpression(variable, origin) || getScriptExpression(variable, origin);
138052
+
138053
+ if (!expression) {
138054
+ return;
138055
+ }
138056
+
138057
+ const result = getResultContext(expression);
138058
+
138059
+ const unresolved = findUnresolvedVariables(result) ;
138060
+
138061
+ return { expression, unresolved };
138062
+ }
138063
+
138064
+ /**
138065
+ * Given a Variable and a specific origin, return the mapping expression for all
138066
+ * input outputs mapping. Returns undefined if no mapping exists for the given origin.
138067
+ *
138068
+ * @param {ProcessVariable} variable
138069
+ * @param {djs.model.Base} origin
138070
+ * @returns { expression: String}
138071
+ */
138072
+ function getIoExpression(variable, origin) {
137938
138073
  const ioMapping = getExtensionElementsList(origin, 'zeebe:IoMapping')[0];
137939
138074
 
137940
138075
  if (!ioMapping) {
@@ -137958,13 +138093,28 @@
137958
138093
  return;
137959
138094
  }
137960
138095
 
137961
- const expression = mapping.source.substring(1);
138096
+ return mapping.source.substring(1);
137962
138097
 
137963
- const result = getResultContext(expression);
138098
+ }
137964
138099
 
137965
- const unresolved = findUnresolvedVariables(result) ;
138100
+ /**
138101
+ * Given a Variable and a specific origin, return the mapping expression for script
138102
+ * task result variable. Returns undefined if no mapping exists for the given origin.
138103
+ *
138104
+ * @param {ProcessVariable} variable
138105
+ * @param {djs.model.Base} origin
138106
+ * @returns {string}
138107
+ */
138108
+ function getScriptExpression(variable, origin) {
138109
+ const script = getExtensionElementsList(origin, 'zeebe:Script')[0];
137966
138110
 
137967
- return { expression, unresolved };
138111
+ if (!script || !script.expression) {
138112
+ return;
138113
+ }
138114
+
138115
+ if (script.resultVariable === variable.name) {
138116
+ return script.expression.substring(1);
138117
+ }
137968
138118
  }
137969
138119
 
137970
138120
  /**
@@ -138126,7 +138276,7 @@
138126
138276
  super(eventBus, bpmnjs);
138127
138277
  this._baseExtractor = getProcessVariables;
138128
138278
 
138129
- eventBus.on('variableResolver.parseVariables', HIGH_PRIORITY$1, this._resolveIoMappings);
138279
+ eventBus.on('variableResolver.parseVariables', HIGH_PRIORITY$1, this._resolveVariables);
138130
138280
  }
138131
138281
 
138132
138282
  async getVariablesForElement(element, moddleElement) {
@@ -138202,21 +138352,21 @@
138202
138352
  }
138203
138353
 
138204
138354
  /**
138205
- * Parsed the variables that have io-mappings and resolves the variable schema to kept the
138355
+ * Parsed the variables and resolves the variable schema to kept the
138206
138356
  * variable schema throughout the process.
138207
138357
  *
138208
138358
  * @param {Event} e
138209
138359
  * @param {Object} context
138210
138360
  * @param {Array<ProcessVariable>} context.variables
138211
138361
  */
138212
- _resolveIoMappings(e, context) {
138362
+ _resolveVariables(e, context) {
138213
138363
  const rawVariables = context.variables;
138214
138364
 
138215
138365
  const mappedVariables = {};
138216
138366
 
138217
138367
  for (const key in rawVariables) {
138218
138368
  const variables = rawVariables[key];
138219
- const newVariables = parseIoMappings(variables);
138369
+ const newVariables = parseVariables(variables);
138220
138370
 
138221
138371
  mappedVariables[key] = [ ...variables, ...newVariables ];
138222
138372
  }