occam-verify-cli 0.0.526 → 0.0.527

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/lib/assertion/type.js +10 -40
  2. package/lib/axiom.js +7 -7
  3. package/lib/axiomLemmaTheoremConjecture.js +190 -0
  4. package/lib/conjecture.js +141 -0
  5. package/lib/consequence.js +3 -3
  6. package/lib/constants.js +4 -16
  7. package/lib/context/file.js +76 -39
  8. package/lib/context/metaproof.js +40 -10
  9. package/lib/context/proof.js +38 -105
  10. package/lib/context/release/directory.js +20 -1
  11. package/lib/context/release/file.js +27 -3
  12. package/lib/equality.js +78 -51
  13. package/lib/index.js +1 -13
  14. package/lib/kinds.js +5 -1
  15. package/lib/lemma.js +7 -7
  16. package/lib/matcher/metastatementForMetavariable.js +16 -19
  17. package/lib/matcher/statementForMetavariable.js +22 -20
  18. package/lib/matcher/{statementForVariable → termForVariable}/consequence.js +13 -13
  19. package/lib/matcher/{statementForVariable → termForVariable}/supposition.js +13 -13
  20. package/lib/matcher/termForVariable.js +198 -0
  21. package/lib/matcher.js +23 -64
  22. package/lib/mixins/file.js +62 -2
  23. package/lib/premise.js +4 -4
  24. package/lib/ruleNames.js +1 -9
  25. package/lib/step/proof.js +22 -1
  26. package/lib/substitution/statementForMetavariable.js +12 -8
  27. package/lib/substitution/termForVariable.js +86 -0
  28. package/lib/supposition.js +4 -4
  29. package/lib/theorem.js +7 -7
  30. package/lib/type.js +9 -2
  31. package/lib/utilities/string.js +3 -7
  32. package/lib/utilities/substitution.js +4 -5
  33. package/lib/variable.js +4 -38
  34. package/lib/verify/assertion/type.js +59 -36
  35. package/lib/verify/axiom.js +1 -2
  36. package/lib/verify/conjecture.js +56 -0
  37. package/lib/verify/declaration/topLevel.js +7 -3
  38. package/lib/verify/lemma.js +1 -2
  39. package/lib/verify/metastatement/qualified.js +1 -2
  40. package/lib/verify/metastatement/unqualified.js +1 -2
  41. package/lib/verify/rule.js +1 -2
  42. package/lib/verify/statement/qualified.js +39 -10
  43. package/lib/verify/statement/unqualified.js +1 -2
  44. package/lib/verify/statement.js +44 -47
  45. package/lib/verify/theorem.js +1 -2
  46. package/package.json +1 -1
  47. package/src/assertion/type.js +7 -32
  48. package/src/axiom.js +4 -4
  49. package/src/{axiomLemmaTheorem.js → axiomLemmaTheoremConjecture.js} +5 -5
  50. package/src/conjecture.js +13 -0
  51. package/src/consequence.js +2 -2
  52. package/src/constants.js +1 -4
  53. package/src/context/file.js +81 -37
  54. package/src/context/metaproof.js +42 -5
  55. package/src/context/proof.js +42 -41
  56. package/src/context/release/directory.js +24 -0
  57. package/src/context/release/file.js +34 -3
  58. package/src/equality.js +110 -61
  59. package/src/index.js +0 -3
  60. package/src/kinds.js +1 -0
  61. package/src/lemma.js +4 -4
  62. package/src/matcher/metastatementForMetavariable.js +22 -32
  63. package/src/matcher/statementForMetavariable.js +40 -34
  64. package/src/matcher/termForVariable/consequence.js +9 -0
  65. package/src/matcher/termForVariable/supposition.js +9 -0
  66. package/src/matcher/termForVariable.js +89 -0
  67. package/src/matcher.js +28 -22
  68. package/src/mixins/file.js +46 -1
  69. package/src/premise.js +4 -4
  70. package/src/ruleNames.js +0 -2
  71. package/src/step/proof.js +27 -0
  72. package/src/substitution/statementForMetavariable.js +17 -10
  73. package/src/substitution/termForVariable.js +64 -0
  74. package/src/supposition.js +3 -3
  75. package/src/theorem.js +4 -4
  76. package/src/type.js +14 -4
  77. package/src/utilities/string.js +4 -6
  78. package/src/utilities/substitution.js +6 -4
  79. package/src/variable.js +4 -37
  80. package/src/verify/assertion/type.js +70 -64
  81. package/src/verify/axiom.js +0 -1
  82. package/src/verify/conjecture.js +73 -0
  83. package/src/verify/declaration/topLevel.js +7 -0
  84. package/src/verify/lemma.js +0 -1
  85. package/src/verify/metastatement/qualified.js +0 -1
  86. package/src/verify/metastatement/unqualified.js +0 -1
  87. package/src/verify/rule.js +0 -1
  88. package/src/verify/statement/qualified.js +53 -13
  89. package/src/verify/statement/unqualified.js +0 -1
  90. package/src/verify/statement.js +46 -66
  91. package/src/verify/theorem.js +0 -1
  92. package/lib/axiomLemmaTheorem.js +0 -190
  93. package/lib/jsonTypes.js +0 -30
  94. package/lib/matcher/statementForVariable.js +0 -201
  95. package/lib/substitution/statementForVariable.js +0 -86
  96. package/lib/utilities/json.js +0 -187
  97. package/lib/utilities/version.js +0 -32
  98. package/lib/versionChanges.js +0 -34
  99. package/src/jsonTypes.js +0 -6
  100. package/src/matcher/statementForVariable/consequence.js +0 -9
  101. package/src/matcher/statementForVariable/supposition.js +0 -9
  102. package/src/matcher/statementForVariable.js +0 -99
  103. package/src/substitution/statementForVariable.js +0 -64
  104. package/src/utilities/json.js +0 -264
  105. package/src/utilities/version.js +0 -30
  106. package/src/versionChanges.js +0 -11
@@ -10,7 +10,6 @@ Object.defineProperty(exports, "default", {
10
10
  });
11
11
  var _matcher = /*#__PURE__*/ _interopRequireDefault(require("../matcher"));
12
12
  var _statementForMetavariable = /*#__PURE__*/ _interopRequireDefault(require("../substitution/statementForMetavariable"));
13
- var _array = require("../utilities/array");
14
13
  var _query = require("../utilities/query");
15
14
  var _ruleNames = require("../ruleNames");
16
15
  function _assertThisInitialized(self) {
@@ -126,6 +125,7 @@ function _createSuper(Derived) {
126
125
  return _possibleConstructorReturn(this, result);
127
126
  };
128
127
  }
128
+ var metavariableNodeQuery = (0, _query.nodeQuery)("/metastatement/metavariable!"), metaArgumentChildNodeNodeQuery = (0, _query.nodeQuery)("/metaArgument/*!");
129
129
  var StatementForMetavariableMatcher = /*#__PURE__*/ function(Matcher) {
130
130
  _inherits(StatementForMetavariableMatcher, Matcher);
131
131
  var _super = _createSuper(StatementForMetavariableMatcher);
@@ -138,16 +138,24 @@ var StatementForMetavariableMatcher = /*#__PURE__*/ function(Matcher) {
138
138
  key: "matchNonTerminalNode",
139
139
  value: function matchNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions) {
140
140
  var nonTerminalNodeMatches = false;
141
- var nonTerminalNodeARuleName = nonTerminalNodeA.getRuleName(), nonTerminalNodeBRuleName = nonTerminalNodeB.getRuleName(), nonTerminalNodeARuleNameMetastatementRuleName = nonTerminalNodeARuleName === _ruleNames.METASTATEMENT_RULE_NAME, nonTerminalNodeBRuleNameStatementRuleName = nonTerminalNodeBRuleName === STATEMENT_RULE_NAME;
142
- if (nonTerminalNodeARuleNameMetastatementRuleName && nonTerminalNodeBRuleNameStatementRuleName) {
143
- var metastatementNodeA = nonTerminalNodeA, statementNodeB = nonTerminalNodeB, statementNodeMatches = this.matchStatementNode(metastatementNodeA, statementNodeB, substitutions);
144
- if (statementNodeMatches) {
145
- nonTerminalNodeMatches = true; ///
146
- } else {
141
+ var nonTerminalNodeBRuleName = nonTerminalNodeB.getRuleName(), nonTerminalNodeBRuleNameMetaArgumentRuleName = nonTerminalNodeBRuleName === _ruleNames.META_ARGUMENT_RULE_NAME;
142
+ if (nonTerminalNodeBRuleNameMetaArgumentRuleName) {
143
+ var metaArgumentNodeB = nonTerminalNodeB, metaArgumentChildNodeB = metaArgumentChildNodeNodeQuery(metaArgumentNodeB);
144
+ nonTerminalNodeB = metaArgumentChildNodeB; ///
145
+ nonTerminalNodeMatches = this.matchNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions);
146
+ } else {
147
+ var nonTerminalNodeARuleName = nonTerminalNodeA.getRuleName(), nonTerminalNodeBRuleName1 = nonTerminalNodeB.getRuleName(), nonTerminalNodeARuleNameMetastatementRuleName = nonTerminalNodeARuleName === _ruleNames.METASTATEMENT_RULE_NAME, nonTerminalNodeBRuleNameStatementRuleName = nonTerminalNodeBRuleName1 === _ruleNames.STATEMENT_RULE_NAME;
148
+ if (nonTerminalNodeARuleNameMetastatementRuleName && nonTerminalNodeBRuleNameStatementRuleName) {
149
+ var metastatementNodeA = nonTerminalNodeA, statementNodeB = nonTerminalNodeB, statementNodeMatches = this.matchStatementNode(metastatementNodeA, statementNodeB, substitutions);
150
+ if (statementNodeMatches) {
151
+ nonTerminalNodeMatches = true; ///
152
+ } else {
153
+ var nonTerminalNodeAChildNodes = nonTerminalNodeA.getChildNodes(), nonTerminalNodeBChildNodes = nonTerminalNodeB.getChildNodes(), nodesA = nonTerminalNodeAChildNodes, nodesB = nonTerminalNodeBChildNodes, nodesMatch = this.matchNodes(nodesA, nodesB, substitutions);
154
+ nonTerminalNodeMatches = nodesMatch; ///
155
+ }
156
+ } else if (nonTerminalNodeBRuleName1 === nonTerminalNodeARuleName) {
147
157
  nonTerminalNodeMatches = _get(_getPrototypeOf(StatementForMetavariableMatcher.prototype), "matchNonTerminalNode", this).call(this, nonTerminalNodeA, nonTerminalNodeB, substitutions);
148
158
  }
149
- } else if (nonTerminalNodeBRuleName === nonTerminalNodeARuleName) {
150
- nonTerminalNodeMatches = _get(_getPrototypeOf(StatementForMetavariableMatcher.prototype), "matchNonTerminalNode", this).call(this, nonTerminalNodeA, nonTerminalNodeB, substitutions);
151
159
  }
152
160
  return nonTerminalNodeMatches;
153
161
  }
@@ -156,16 +164,10 @@ var StatementForMetavariableMatcher = /*#__PURE__*/ function(Matcher) {
156
164
  key: "matchStatementNode",
157
165
  value: function matchStatementNode(metastatementNodeA, statementNodeB, substitutions) {
158
166
  var statementNodeMatches = false;
159
- var nonTerminalNodeA = metastatementNodeA, nonTerminalNodeAChildNodes = nonTerminalNodeA.getChildNodes(), nonTerminalNodeAChildNodesLength = nonTerminalNodeAChildNodes.length;
160
- if (nonTerminalNodeAChildNodesLength === 1) {
161
- var firstNonTerminalNodeAChildNode = (0, _array.first)(nonTerminalNodeAChildNodes), cChildNodeA = firstNonTerminalNodeAChildNode, cChildNodeANonTerminalNode = cChildNodeA.isNonTerminalNode();
162
- if (cChildNodeANonTerminalNode) {
163
- var nonTerminalNodeA1 = cChildNodeA, nonTerminalNodeARuleName = nonTerminalNodeA1.getRuleName(), nonTerminalNodeARuleNameMetavariableRuleName = nonTerminalNodeARuleName === _ruleNames.METAVARIABLE_RULE_NAME;
164
- if (nonTerminalNodeARuleNameMetavariableRuleName) {
165
- var metavariableNodeA = nonTerminalNodeA1, metaVariableNodeMatches = this.matchMetavariableNode(metavariableNodeA, statementNodeB, substitutions);
166
- statementNodeMatches = metaVariableNodeMatches; ///
167
- }
168
- }
167
+ var metavariableNodeA = metavariableNodeQuery(metastatementNodeA);
168
+ if (metavariableNodeA !== null) {
169
+ var metavariableNodeMatches = this.matchMetavariableNode(metavariableNodeA, statementNodeB, substitutions);
170
+ statementNodeMatches = metavariableNodeMatches; ///
169
171
  }
170
172
  return statementNodeMatches;
171
173
  }
@@ -198,4 +200,4 @@ var StatementForMetavariableMatcher = /*#__PURE__*/ function(Matcher) {
198
200
  return StatementForMetavariableMatcher;
199
201
  }(_matcher.default);
200
202
 
201
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXRjaGVyL3N0YXRlbWVudEZvck1ldGF2YXJpYWJsZS5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+PiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE1hdGNoZXIgZnJvbSBcIi4uL21hdGNoZXJcIjtcbmltcG9ydCBTdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24gZnJvbSBcIi4uL3N1YnN0aXR1dGlvbi9zdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVcIjtcblxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBtZXRhdmFyaWFibGVOYW1lRnJvbU1ldGF2YXJpYWJsZU5vZGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBNRVRBVkFSSUFCTEVfUlVMRV9OQU1FLCBNRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSB9IGZyb20gXCIuLi9ydWxlTmFtZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlTWF0Y2hlciBleHRlbmRzIE1hdGNoZXIge1xuICBtYXRjaE5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCBzdWJzdGl0dXRpb25zKSB7XG4gICAgbGV0IG5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBmYWxzZTtcblxuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUFSdWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZUEuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVCUnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGVCLmdldFJ1bGVOYW1lKCksXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lTWV0YXN0YXRlbWVudFJ1bGVOYW1lID0gKG5vblRlcm1pbmFsTm9kZUFSdWxlTmFtZSA9PT0gTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUpLFxuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUJSdWxlTmFtZVN0YXRlbWVudFJ1bGVOYW1lID0gKG5vblRlcm1pbmFsTm9kZUJSdWxlTmFtZSA9PT0gU1RBVEVNRU5UX1JVTEVfTkFNRSk7XG5cbiAgICBpZiAobm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lTWV0YXN0YXRlbWVudFJ1bGVOYW1lICYmIG5vblRlcm1pbmFsTm9kZUJSdWxlTmFtZVN0YXRlbWVudFJ1bGVOYW1lKSB7XG4gICAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZUEgPSBub25UZXJtaW5hbE5vZGVBLCAgLy8vXG4gICAgICAgICAgICBzdGF0ZW1lbnROb2RlQiA9IG5vblRlcm1pbmFsTm9kZUIsICAvLy9cbiAgICAgICAgICAgIHN0YXRlbWVudE5vZGVNYXRjaGVzID0gdGhpcy5tYXRjaFN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGVBLCBzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgIGlmIChzdGF0ZW1lbnROb2RlTWF0Y2hlcykge1xuICAgICAgICBub25UZXJtaW5hbE5vZGVNYXRjaGVzID0gdHJ1ZTsgIC8vL1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IHN1cGVyLm1hdGNoTm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIHN1YnN0aXR1dGlvbnMpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lID09PSBub25UZXJtaW5hbE5vZGVBUnVsZU5hbWUpIHtcbiAgICAgIG5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBzdXBlci5tYXRjaE5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCBzdWJzdGl0dXRpb25zKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbm9uVGVybWluYWxOb2RlTWF0Y2hlcztcbiAgfVxuXG4gIG1hdGNoU3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZUEsIHN0YXRlbWVudE5vZGVCLCBzdWJzdGl0dXRpb25zKSB7XG4gICAgbGV0IHN0YXRlbWVudE5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGVBID0gbWV0YXN0YXRlbWVudE5vZGVBLCAgLy8vXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlQUNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGVBLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVBQ2hpbGROb2Rlc0xlbmd0aCA9IG5vblRlcm1pbmFsTm9kZUFDaGlsZE5vZGVzLmxlbmd0aDtcblxuICAgIGlmIChub25UZXJtaW5hbE5vZGVBQ2hpbGROb2Rlc0xlbmd0aCA9PT0gMSkge1xuICAgICAgY29uc3QgZmlyc3ROb25UZXJtaW5hbE5vZGVBQ2hpbGROb2RlID0gZmlyc3Qobm9uVGVybWluYWxOb2RlQUNoaWxkTm9kZXMpLFxuICAgICAgICBjQ2hpbGROb2RlQSA9IGZpcnN0Tm9uVGVybWluYWxOb2RlQUNoaWxkTm9kZSwgIC8vL1xuICAgICAgICBjQ2hpbGROb2RlQU5vblRlcm1pbmFsTm9kZSA9IGNDaGlsZE5vZGVBLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICAgIGlmIChjQ2hpbGROb2RlQU5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgICBjb25zdCBub25UZXJtaW5hbE5vZGVBID0gY0NoaWxkTm9kZUEsICAvLy9cbiAgICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlQS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgICAgICBub25UZXJtaW5hbE5vZGVBUnVsZU5hbWVNZXRhdmFyaWFibGVSdWxlTmFtZSA9IChub25UZXJtaW5hbE5vZGVBUnVsZU5hbWUgPT09IE1FVEFWQVJJQUJMRV9SVUxFX05BTUUpO1xuXG4gICAgICAgIGlmIChub25UZXJtaW5hbE5vZGVBUnVsZU5hbWVNZXRhdmFyaWFibGVSdWxlTmFtZSkge1xuICAgICAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGVBID0gbm9uVGVybWluYWxOb2RlQSwgIC8vL1xuICAgICAgICAgICAgICAgIG1ldGFWYXJpYWJsZU5vZGVNYXRjaGVzID0gdGhpcy5tYXRjaE1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZUEsIHN0YXRlbWVudE5vZGVCLCBzdWJzdGl0dXRpb25zKTtcblxuICAgICAgICAgIHN0YXRlbWVudE5vZGVNYXRjaGVzID0gbWV0YVZhcmlhYmxlTm9kZU1hdGNoZXM7IC8vL1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudE5vZGVNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGVBLCBzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9ucykge1xuICAgIGxldCBtZXRhdmFyaWFibGVOb2RlTWF0Y2hlcztcblxuICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5hbWVBID0gbWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGVBKSxcbiAgICAgICAgICBzdWJzdGl0dXRpb24gPSBzdWJzdGl0dXRpb25zLmZpbmQoKHN1YnN0aXR1dGlvbikgPT4ge1xuICAgICAgICAgICAgY29uc3QgbWV0YXZhcmlhYmxlTmFtZSA9IHN1YnN0aXR1dGlvbi5nZXRNZXRhdmFyaWFibGVOYW1lKCk7XG5cbiAgICAgICAgICAgIGlmIChtZXRhdmFyaWFibGVOYW1lID09PSBtZXRhdmFyaWFibGVOYW1lQSkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSB8fCBudWxsO1xuXG4gICAgaWYgKHN1YnN0aXR1dGlvbiAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVCLCAvLy9cbiAgICAgICAgICAgIHN1YnN0aXR1dGlvbk5vZGVzTWF0Y2ggPSBzdWJzdGl0dXRpb24ubWF0Y2hTdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUpO1xuXG4gICAgICBtZXRhdmFyaWFibGVOb2RlTWF0Y2hlcyA9IHN1YnN0aXR1dGlvbk5vZGVzTWF0Y2g7ICAvLy9cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgeyBjcmVhdGVTdWJzdGl0dXRpb25zIH0gPSB0aGlzLmNvbnN0cnVjdG9yO1xuXG4gICAgICBpZiAoY3JlYXRlU3Vic3RpdHV0aW9ucykge1xuICAgICAgICBjb25zdCBtZXRhdmFyaWFibGVOYW1lID0gbWV0YXZhcmlhYmxlTmFtZUEsIC8vL1xuICAgICAgICAgICAgICBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZUIsIC8vL1xuICAgICAgICAgICAgICBzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24gPSBTdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24uZnJvbU1ldGF2YXJpYWJsZU5hbWVBbmRTdGF0ZW1lbnROb2RlKG1ldGF2YXJpYWJsZU5hbWUsIHN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgICAgICBzdWJzdGl0dXRpb24gPSBzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb247ICAvLy9cblxuICAgICAgICBzdWJzdGl0dXRpb25zLnB1c2goc3Vic3RpdHV0aW9uKTtcbiAgICAgIH1cblxuICAgICAgbWV0YXZhcmlhYmxlTm9kZU1hdGNoZXMgPSB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBtZXRhdmFyaWFibGVOb2RlTWF0Y2hlcztcbiAgfVxufVxuIiwiUmVhY3QuY3JlYXRlRWxlbWVudCJdLCJuYW1lcyI6WyJTdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVNYXRjaGVyIiwibWF0Y2hOb25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGVBIiwibm9uVGVybWluYWxOb2RlQiIsInN1YnN0aXR1dGlvbnMiLCJub25UZXJtaW5hbE5vZGVNYXRjaGVzIiwibm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJub25UZXJtaW5hbE5vZGVCUnVsZU5hbWUiLCJub25UZXJtaW5hbE5vZGVBUnVsZU5hbWVNZXRhc3RhdGVtZW50UnVsZU5hbWUiLCJNRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSIsIm5vblRlcm1pbmFsTm9kZUJSdWxlTmFtZVN0YXRlbWVudFJ1bGVOYW1lIiwiU1RBVEVNRU5UX1JVTEVfTkFNRSIsIm1ldGFzdGF0ZW1lbnROb2RlQSIsInN0YXRlbWVudE5vZGVCIiwic3RhdGVtZW50Tm9kZU1hdGNoZXMiLCJtYXRjaFN0YXRlbWVudE5vZGUiLCJub25UZXJtaW5hbE5vZGVBQ2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJub25UZXJtaW5hbE5vZGVBQ2hpbGROb2Rlc0xlbmd0aCIsImxlbmd0aCIsImZpcnN0Tm9uVGVybWluYWxOb2RlQUNoaWxkTm9kZSIsImZpcnN0IiwiY0NoaWxkTm9kZUEiLCJjQ2hpbGROb2RlQU5vblRlcm1pbmFsTm9kZSIsImlzTm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lTWV0YXZhcmlhYmxlUnVsZU5hbWUiLCJNRVRBVkFSSUFCTEVfUlVMRV9OQU1FIiwibWV0YXZhcmlhYmxlTm9kZUEiLCJtZXRhVmFyaWFibGVOb2RlTWF0Y2hlcyIsIm1hdGNoTWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZU5vZGVNYXRjaGVzIiwibWV0YXZhcmlhYmxlTmFtZUEiLCJtZXRhdmFyaWFibGVOYW1lRnJvbU1ldGF2YXJpYWJsZU5vZGUiLCJzdWJzdGl0dXRpb24iLCJmaW5kIiwibWV0YXZhcmlhYmxlTmFtZSIsImdldE1ldGF2YXJpYWJsZU5hbWUiLCJzdGF0ZW1lbnROb2RlIiwic3Vic3RpdHV0aW9uTm9kZXNNYXRjaCIsImNyZWF0ZVN1YnN0aXR1dGlvbnMiLCJjb25zdHJ1Y3RvciIsInN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiIsIlN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiIsImZyb21NZXRhdmFyaWFibGVOYW1lQW5kU3RhdGVtZW50Tm9kZSIsInB1c2giLCJNYXRjaGVyIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVNxQkE7Ozs0REFQRDs2RUFDNkI7cUJBRTNCO3FCQUMrQjt5QkFDVzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWpELElBQUEsQUFBTUEsZ0RBQU47Y0FBTUE7OEJBQUFBO2FBQUFBOzhCQUFBQTs7O2lCQUFBQTs7WUFDbkJDLEtBQUFBO21CQUFBQSxTQUFBQSxxQkFBcUJDLGdCQUFnQixFQUFFQyxnQkFBZ0IsRUFBRUMsYUFBYSxFQUFFO2dCQUN0RSxJQUFJQyx5QkFBeUIsS0FBSztnQkFFbEMsSUFBTUMsMkJBQTJCSixpQkFBaUJLLFdBQVcsSUFDdkRDLDJCQUEyQkwsaUJBQWlCSSxXQUFXLElBQ3ZERSxnREFBaURILDZCQUE2Qkksa0NBQXVCLEVBQ3JHQyw0Q0FBNkNILDZCQUE2Qkk7Z0JBRWhGLElBQUlILGlEQUFpREUsMkNBQTJDO29CQUM5RixJQUFNRSxxQkFBcUJYLGtCQUNyQlksaUJBQWlCWCxrQkFDakJZLHVCQUF1QixJQUFJLENBQUNDLGtCQUFrQixDQUFDSCxvQkFBb0JDLGdCQUFnQlY7b0JBRXpGLElBQUlXLHNCQUFzQjt3QkFDeEJWLHlCQUF5QixJQUFJLEVBQUcsR0FBRztvQkFDckMsT0FBTzt3QkFDTEEseUJBQXlCLHFCQWpCWkwsNENBaUJrQkMsd0JBQU4sSUFBSyxhQUFzQkMsa0JBQWtCQyxrQkFBa0JDO29CQUMxRixDQUFDO2dCQUNILE9BQU8sSUFBSUksNkJBQTZCRiwwQkFBMEI7b0JBQ2hFRCx5QkFBeUIscUJBcEJWTCw0Q0FvQmdCQyx3QkFBTixJQUFLLGFBQXNCQyxrQkFBa0JDLGtCQUFrQkM7Z0JBQzFGLENBQUM7Z0JBRUQsT0FBT0M7WUFDVDs7O1lBRUFXLEtBQUFBO21CQUFBQSxTQUFBQSxtQkFBbUJILGtCQUFrQixFQUFFQyxjQUFjLEVBQUVWLGFBQWEsRUFBRTtnQkFDcEUsSUFBSVcsdUJBQXVCLEtBQUs7Z0JBRWhDLElBQU1iLG1CQUFtQlcsb0JBQ25CSSw2QkFBNkJmLGlCQUFpQmdCLGFBQWEsSUFDM0RDLG1DQUFtQ0YsMkJBQTJCRyxNQUFNO2dCQUUxRSxJQUFJRCxxQ0FBcUMsR0FBRztvQkFDMUMsSUFBTUUsaUNBQWlDQyxJQUFBQSxZQUFLLEVBQUNMLDZCQUMzQ00sY0FBY0YsZ0NBQ2RHLDZCQUE2QkQsWUFBWUUsaUJBQWlCO29CQUU1RCxJQUFJRCw0QkFBNEI7d0JBQzlCLElBQU10QixvQkFBbUJxQixhQUNuQmpCLDJCQUEyQkosa0JBQWlCSyxXQUFXLElBQ3ZEbUIsK0NBQWdEcEIsNkJBQTZCcUIsaUNBQXNCO3dCQUV6RyxJQUFJRCw4Q0FBOEM7NEJBQ2hELElBQU1FLG9CQUFvQjFCLG1CQUNwQjJCLDBCQUEwQixJQUFJLENBQUNDLHFCQUFxQixDQUFDRixtQkFBbUJkLGdCQUFnQlY7NEJBRTlGVyx1QkFBdUJjLHlCQUF5QixHQUFHO3dCQUNyRCxDQUFDO29CQUNILENBQUM7Z0JBQ0gsQ0FBQztnQkFFRCxPQUFPZDtZQUNUOzs7WUFFQWUsS0FBQUE7bUJBQUFBLFNBQUFBLHNCQUFzQkYsaUJBQWlCLEVBQUVkLGNBQWMsRUFBRVYsYUFBYSxFQUFFO2dCQUN0RSxJQUFJMkI7Z0JBRUosSUFBTUMsb0JBQW9CQyxJQUFBQSwyQ0FBb0MsRUFBQ0wsb0JBQ3pETSxlQUFlOUIsY0FBYytCLElBQUksQ0FBQyxTQUFDRCxjQUFpQjtvQkFDbEQsSUFBTUUsbUJBQW1CRixhQUFhRyxtQkFBbUI7b0JBRXpELElBQUlELHFCQUFxQkosbUJBQW1CO3dCQUMxQyxPQUFPLElBQUk7b0JBQ2IsQ0FBQztnQkFDSCxNQUFNLElBQUk7Z0JBRWhCLElBQUlFLGlCQUFpQixJQUFJLEVBQUU7b0JBQ3pCLElBQU1JLGdCQUFnQnhCLGdCQUNoQnlCLHlCQUF5QkwsYUFBYWxCLGtCQUFrQixDQUFDc0I7b0JBRS9EUCwwQkFBMEJRLHdCQUF5QixHQUFHO2dCQUN4RCxPQUFPO29CQUNMLElBQU0sQUFBRUMsc0JBQXdCLElBQUksQ0FBQ0MsV0FBVyxDQUF4Q0Q7b0JBRVIsSUFBSUEscUJBQXFCO3dCQUN2QixJQUFNSixtQkFBbUJKLG1CQUNuQk0saUJBQWdCeEIsZ0JBQ2hCNEIsdUNBQXVDQyxpQ0FBb0MsQ0FBQ0Msb0NBQW9DLENBQUNSLGtCQUFrQkUsaUJBQ25JSixnQkFBZVEsc0NBQXVDLEdBQUc7d0JBRS9EdEMsY0FBY3lDLElBQUksQ0FBQ1g7b0JBQ3JCLENBQUM7b0JBRURILDBCQUEwQixJQUFJO2dCQUNoQyxDQUFDO2dCQUVELE9BQU9BO1lBQ1Q7OztXQXhGbUIvQjtFQUF3QzhDLGdCQUFPIn0=
203
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXRjaGVyL3N0YXRlbWVudEZvck1ldGF2YXJpYWJsZS5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+PiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE1hdGNoZXIgZnJvbSBcIi4uL21hdGNoZXJcIjtcbmltcG9ydCBTdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24gZnJvbSBcIi4uL3N1YnN0aXR1dGlvbi9zdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgbWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgU1RBVEVNRU5UX1JVTEVfTkFNRSwgTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUsIE1FVEFfQVJHVU1FTlRfUlVMRV9OQU1FIH0gZnJvbSBcIi4uL3J1bGVOYW1lc1wiO1xuXG5jb25zdCBtZXRhdmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoJy9tZXRhc3RhdGVtZW50L21ldGF2YXJpYWJsZSEnKSxcbiAgICAgIG1ldGFBcmd1bWVudENoaWxkTm9kZU5vZGVRdWVyeSA9IG5vZGVRdWVyeSgnL21ldGFBcmd1bWVudC8qIScpO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVNYXRjaGVyIGV4dGVuZHMgTWF0Y2hlciB7XG4gIG1hdGNoTm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIHN1YnN0aXR1dGlvbnMpIHtcbiAgICBsZXQgbm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlQi5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUJSdWxlTmFtZU1ldGFBcmd1bWVudFJ1bGVOYW1lID0gKG5vblRlcm1pbmFsTm9kZUJSdWxlTmFtZSA9PT0gTUVUQV9BUkdVTUVOVF9SVUxFX05BTUUpO1xuXG4gICAgaWYgKG5vblRlcm1pbmFsTm9kZUJSdWxlTmFtZU1ldGFBcmd1bWVudFJ1bGVOYW1lKSB7XG4gICAgICBjb25zdCBtZXRhQXJndW1lbnROb2RlQiA9IG5vblRlcm1pbmFsTm9kZUIsIC8vL1xuICAgICAgICAgICAgbWV0YUFyZ3VtZW50Q2hpbGROb2RlQiA9IG1ldGFBcmd1bWVudENoaWxkTm9kZU5vZGVRdWVyeShtZXRhQXJndW1lbnROb2RlQik7XG5cbiAgICAgIG5vblRlcm1pbmFsTm9kZUIgPSBtZXRhQXJndW1lbnRDaGlsZE5vZGVCOyAgLy8vXG5cbiAgICAgIG5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSB0aGlzLm1hdGNoTm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIHN1YnN0aXR1dGlvbnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGVBUnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGVBLmdldFJ1bGVOYW1lKCksXG4gICAgICAgICAgICBub25UZXJtaW5hbE5vZGVCUnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGVCLmdldFJ1bGVOYW1lKCksXG4gICAgICAgICAgICBub25UZXJtaW5hbE5vZGVBUnVsZU5hbWVNZXRhc3RhdGVtZW50UnVsZU5hbWUgPSAobm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lID09PSBNRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSksXG4gICAgICAgICAgICBub25UZXJtaW5hbE5vZGVCUnVsZU5hbWVTdGF0ZW1lbnRSdWxlTmFtZSA9IChub25UZXJtaW5hbE5vZGVCUnVsZU5hbWUgPT09IFNUQVRFTUVOVF9SVUxFX05BTUUpO1xuXG4gICAgICBpZiAobm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lTWV0YXN0YXRlbWVudFJ1bGVOYW1lICYmIG5vblRlcm1pbmFsTm9kZUJSdWxlTmFtZVN0YXRlbWVudFJ1bGVOYW1lKSB7XG4gICAgICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlQSA9IG5vblRlcm1pbmFsTm9kZUEsICAvLy9cbiAgICAgICAgICAgICAgc3RhdGVtZW50Tm9kZUIgPSBub25UZXJtaW5hbE5vZGVCLCAgLy8vXG4gICAgICAgICAgICAgIHN0YXRlbWVudE5vZGVNYXRjaGVzID0gdGhpcy5tYXRjaFN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGVBLCBzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgICAgaWYgKHN0YXRlbWVudE5vZGVNYXRjaGVzKSB7XG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IHRydWU7ICAvLy9cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBub25UZXJtaW5hbE5vZGVBQ2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZUEuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUJDaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlQi5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgICAgICAgbm9kZXNBID0gbm9uVGVybWluYWxOb2RlQUNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgICAgICAgIG5vZGVzQiA9IG5vblRlcm1pbmFsTm9kZUJDaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICAgICAgICBub2Rlc01hdGNoID0gdGhpcy5tYXRjaE5vZGVzKG5vZGVzQSwgbm9kZXNCLCBzdWJzdGl0dXRpb25zKTtcblxuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBub2Rlc01hdGNoOyAgLy8vXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAobm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lID09PSBub25UZXJtaW5hbE5vZGVBUnVsZU5hbWUpIHtcbiAgICAgICAgbm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IHN1cGVyLm1hdGNoTm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIHN1YnN0aXR1dGlvbnMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBub25UZXJtaW5hbE5vZGVNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hTdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlQSwgc3RhdGVtZW50Tm9kZUIsIHN1YnN0aXR1dGlvbnMpIHtcbiAgICBsZXQgc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBmYWxzZTtcblxuICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGVBID0gbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5KG1ldGFzdGF0ZW1lbnROb2RlQSk7XG5cbiAgICBpZiAobWV0YXZhcmlhYmxlTm9kZUEgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGVNYXRjaGVzID0gdGhpcy5tYXRjaE1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZUEsIHN0YXRlbWVudE5vZGVCLCBzdWJzdGl0dXRpb25zKTtcblxuICAgICAgc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBtZXRhdmFyaWFibGVOb2RlTWF0Y2hlczsgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudE5vZGVNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGVBLCBzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9ucykge1xuICAgIGxldCBtZXRhdmFyaWFibGVOb2RlTWF0Y2hlcztcblxuICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5hbWVBID0gbWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGVBKSxcbiAgICAgICAgICBzdWJzdGl0dXRpb24gPSBzdWJzdGl0dXRpb25zLmZpbmQoKHN1YnN0aXR1dGlvbikgPT4ge1xuICAgICAgICAgICAgY29uc3QgbWV0YXZhcmlhYmxlTmFtZSA9IHN1YnN0aXR1dGlvbi5nZXRNZXRhdmFyaWFibGVOYW1lKCk7XG5cbiAgICAgICAgICAgIGlmIChtZXRhdmFyaWFibGVOYW1lID09PSBtZXRhdmFyaWFibGVOYW1lQSkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSB8fCBudWxsO1xuXG4gICAgaWYgKHN1YnN0aXR1dGlvbiAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVCLCAvLy9cbiAgICAgICAgICAgIHN1YnN0aXR1dGlvbk5vZGVzTWF0Y2ggPSBzdWJzdGl0dXRpb24ubWF0Y2hTdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUpO1xuXG4gICAgICBtZXRhdmFyaWFibGVOb2RlTWF0Y2hlcyA9IHN1YnN0aXR1dGlvbk5vZGVzTWF0Y2g7ICAvLy9cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgeyBjcmVhdGVTdWJzdGl0dXRpb25zIH0gPSB0aGlzLmNvbnN0cnVjdG9yO1xuXG4gICAgICBpZiAoY3JlYXRlU3Vic3RpdHV0aW9ucykge1xuICAgICAgICBjb25zdCBtZXRhdmFyaWFibGVOYW1lID0gbWV0YXZhcmlhYmxlTmFtZUEsIC8vL1xuICAgICAgICAgICAgICBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZUIsIC8vL1xuICAgICAgICAgICAgICBzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24gPSBTdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24uZnJvbU1ldGF2YXJpYWJsZU5hbWVBbmRTdGF0ZW1lbnROb2RlKG1ldGF2YXJpYWJsZU5hbWUsIHN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgICAgICBzdWJzdGl0dXRpb24gPSBzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb247ICAvLy9cblxuICAgICAgICBzdWJzdGl0dXRpb25zLnB1c2goc3Vic3RpdHV0aW9uKTtcbiAgICAgIH1cblxuICAgICAgbWV0YXZhcmlhYmxlTm9kZU1hdGNoZXMgPSB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBtZXRhdmFyaWFibGVOb2RlTWF0Y2hlcztcbiAgfVxufVxuIiwiUmVhY3QuY3JlYXRlRWxlbWVudCJdLCJuYW1lcyI6WyJTdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVNYXRjaGVyIiwibWV0YXZhcmlhYmxlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibWV0YUFyZ3VtZW50Q2hpbGROb2RlTm9kZVF1ZXJ5IiwibWF0Y2hOb25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGVBIiwibm9uVGVybWluYWxOb2RlQiIsInN1YnN0aXR1dGlvbnMiLCJub25UZXJtaW5hbE5vZGVNYXRjaGVzIiwibm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJub25UZXJtaW5hbE5vZGVCUnVsZU5hbWVNZXRhQXJndW1lbnRSdWxlTmFtZSIsIk1FVEFfQVJHVU1FTlRfUlVMRV9OQU1FIiwibWV0YUFyZ3VtZW50Tm9kZUIiLCJtZXRhQXJndW1lbnRDaGlsZE5vZGVCIiwibm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lIiwibm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lTWV0YXN0YXRlbWVudFJ1bGVOYW1lIiwiTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUiLCJub25UZXJtaW5hbE5vZGVCUnVsZU5hbWVTdGF0ZW1lbnRSdWxlTmFtZSIsIlNUQVRFTUVOVF9SVUxFX05BTUUiLCJtZXRhc3RhdGVtZW50Tm9kZUEiLCJzdGF0ZW1lbnROb2RlQiIsInN0YXRlbWVudE5vZGVNYXRjaGVzIiwibWF0Y2hTdGF0ZW1lbnROb2RlIiwibm9uVGVybWluYWxOb2RlQUNoaWxkTm9kZXMiLCJnZXRDaGlsZE5vZGVzIiwibm9uVGVybWluYWxOb2RlQkNoaWxkTm9kZXMiLCJub2Rlc0EiLCJub2Rlc0IiLCJub2Rlc01hdGNoIiwibWF0Y2hOb2RlcyIsIm1ldGF2YXJpYWJsZU5vZGVBIiwibWV0YXZhcmlhYmxlTm9kZU1hdGNoZXMiLCJtYXRjaE1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhdmFyaWFibGVOYW1lQSIsIm1ldGF2YXJpYWJsZU5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZSIsInN1YnN0aXR1dGlvbiIsImZpbmQiLCJtZXRhdmFyaWFibGVOYW1lIiwiZ2V0TWV0YXZhcmlhYmxlTmFtZSIsInN0YXRlbWVudE5vZGUiLCJzdWJzdGl0dXRpb25Ob2Rlc01hdGNoIiwiY3JlYXRlU3Vic3RpdHV0aW9ucyIsImNvbnN0cnVjdG9yIiwic3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uIiwiU3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uIiwiZnJvbU1ldGF2YXJpYWJsZU5hbWVBbmRTdGF0ZW1lbnROb2RlIiwicHVzaCIsIk1hdGNoZXIiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBWXFCQTs7OzREQVZEOzZFQUM2QjtxQkFFdkI7eUJBRTREOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFdEYsSUFBTUMsd0JBQXdCQyxJQUFBQSxnQkFBUyxFQUFDLGlDQUNsQ0MsaUNBQWlDRCxJQUFBQSxnQkFBUyxFQUFDO0FBRWxDLElBQUEsQUFBTUYsZ0RBQU47Y0FBTUE7OEJBQUFBO2FBQUFBOzhCQUFBQTs7O2lCQUFBQTs7WUFDbkJJLEtBQUFBO21CQUFBQSxTQUFBQSxxQkFBcUJDLGdCQUFnQixFQUFFQyxnQkFBZ0IsRUFBRUMsYUFBYSxFQUFFO2dCQUN0RSxJQUFJQyx5QkFBeUIsS0FBSztnQkFFbEMsSUFBTUMsMkJBQTJCSCxpQkFBaUJJLFdBQVcsSUFDdkRDLCtDQUFnREYsNkJBQTZCRyxrQ0FBdUI7Z0JBRTFHLElBQUlELDhD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
@@ -2,13 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- Object.defineProperty(exports, "consequenceStatementForVariableMatcher", {
5
+ Object.defineProperty(exports, "consequenceTermForVariableMatcher", {
6
6
  enumerable: true,
7
7
  get: function() {
8
- return consequenceStatementForVariableMatcher;
8
+ return consequenceTermForVariableMatcher;
9
9
  }
10
10
  });
11
- var _statementForVariable = /*#__PURE__*/ _interopRequireDefault(require("../../matcher/statementForVariable"));
11
+ var _termForVariable = /*#__PURE__*/ _interopRequireDefault(require("../../matcher/termForVariable"));
12
12
  function _assertThisInitialized(self) {
13
13
  if (self === void 0) {
14
14
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
@@ -98,16 +98,16 @@ function _createSuper(Derived) {
98
98
  return _possibleConstructorReturn(this, result);
99
99
  };
100
100
  }
101
- var ConsequenceStatementForVariableMatcher = /*#__PURE__*/ function(StatementForVariableMatcher) {
102
- _inherits(ConsequenceStatementForVariableMatcher, StatementForVariableMatcher);
103
- var _super = _createSuper(ConsequenceStatementForVariableMatcher);
104
- function ConsequenceStatementForVariableMatcher() {
105
- _classCallCheck(this, ConsequenceStatementForVariableMatcher);
101
+ var ConsequenceTermForVariableMatcher = /*#__PURE__*/ function(TermForVariableMatcher) {
102
+ _inherits(ConsequenceTermForVariableMatcher, TermForVariableMatcher);
103
+ var _super = _createSuper(ConsequenceTermForVariableMatcher);
104
+ function ConsequenceTermForVariableMatcher() {
105
+ _classCallCheck(this, ConsequenceTermForVariableMatcher);
106
106
  return _super.apply(this, arguments);
107
107
  }
108
- return ConsequenceStatementForVariableMatcher;
109
- }(_statementForVariable.default);
110
- _defineProperty(ConsequenceStatementForVariableMatcher, "createSubstitutions", false);
111
- var consequenceStatementForVariableMatcher = new ConsequenceStatementForVariableMatcher();
108
+ return ConsequenceTermForVariableMatcher;
109
+ }(_termForVariable.default);
110
+ _defineProperty(ConsequenceTermForVariableMatcher, "createSubstitutions", false);
111
+ var consequenceTermForVariableMatcher = new ConsequenceTermForVariableMatcher();
112
112
 
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tYXRjaGVyL3N0YXRlbWVudEZvclZhcmlhYmxlL2NvbnNlcXVlbmNlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgU3RhdGVtZW50Rm9yVmFyaWFibGVNYXRjaGVyIGZyb20gXCIuLi8uLi9tYXRjaGVyL3N0YXRlbWVudEZvclZhcmlhYmxlXCI7XG5cbmNsYXNzIENvbnNlcXVlbmNlU3RhdGVtZW50Rm9yVmFyaWFibGVNYXRjaGVyIGV4dGVuZHMgU3RhdGVtZW50Rm9yVmFyaWFibGVNYXRjaGVyIHtcbiAgc3RhdGljIGNyZWF0ZVN1YnN0aXR1dGlvbnMgPSBmYWxzZTtcbn1cblxuZXhwb3J0IGNvbnN0IGNvbnNlcXVlbmNlU3RhdGVtZW50Rm9yVmFyaWFibGVNYXRjaGVyID0gbmV3IENvbnNlcXVlbmNlU3RhdGVtZW50Rm9yVmFyaWFibGVNYXRjaGVyKCk7XG4iXSwibmFtZXMiOlsiY29uc2VxdWVuY2VTdGF0ZW1lbnRGb3JWYXJpYWJsZU1hdGNoZXIiLCJDb25zZXF1ZW5jZVN0YXRlbWVudEZvclZhcmlhYmxlTWF0Y2hlciIsIlN0YXRlbWVudEZvclZhcmlhYmxlTWF0Y2hlciIsImNyZWF0ZVN1YnN0aXR1dGlvbnMiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVFhQTs7O2VBQUFBOzs7eUVBTjJCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFeEMsSUFBQSxBQUFNQyx1REFJSCxBQUpIO2NBQU1BOzhCQUFBQTthQUFBQTs4QkFBQUE7OztXQUFBQTtFQUErQ0MsNkJBQTJCO0FBQzlFLGdCQURJRCx3Q0FDR0UsdUJBQXNCLEtBQUs7QUFHN0IsSUFBTUgseUNBQXlDLElBQUlDIn0=
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tYXRjaGVyL3Rlcm1Gb3JWYXJpYWJsZS9jb25zZXF1ZW5jZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFRlcm1Gb3JWYXJpYWJsZU1hdGNoZXIgZnJvbSBcIi4uLy4uL21hdGNoZXIvdGVybUZvclZhcmlhYmxlXCI7XG5cbmNsYXNzIENvbnNlcXVlbmNlVGVybUZvclZhcmlhYmxlTWF0Y2hlciBleHRlbmRzIFRlcm1Gb3JWYXJpYWJsZU1hdGNoZXIge1xuICBzdGF0aWMgY3JlYXRlU3Vic3RpdHV0aW9ucyA9IGZhbHNlO1xufVxuXG5leHBvcnQgY29uc3QgY29uc2VxdWVuY2VUZXJtRm9yVmFyaWFibGVNYXRjaGVyID0gbmV3IENvbnNlcXVlbmNlVGVybUZvclZhcmlhYmxlTWF0Y2hlcigpO1xuIl0sIm5hbWVzIjpbImNvbnNlcXVlbmNlVGVybUZvclZhcmlhYmxlTWF0Y2hlciIsIkNvbnNlcXVlbmNlVGVybUZvclZhcmlhYmxlTWF0Y2hlciIsIlRlcm1Gb3JWYXJpYWJsZU1hdGNoZXIiLCJjcmVhdGVTdWJzdGl0dXRpb25zIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFRYUE7OztlQUFBQTs7O29FQU5zQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRW5DLElBQUEsQUFBTUMsa0RBSUgsQUFKSDtjQUFNQTs4QkFBQUE7YUFBQUE7OEJBQUFBOzs7V0FBQUE7RUFBMENDLHdCQUFzQjtBQUNwRSxnQkFESUQsbUNBQ0dFLHVCQUFzQixLQUFLO0FBRzdCLElBQU1ILG9DQUFvQyxJQUFJQyJ9
@@ -2,13 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- Object.defineProperty(exports, "suppositionStatementForVariableMatcher", {
5
+ Object.defineProperty(exports, "suppositionTermForVariableMatcher", {
6
6
  enumerable: true,
7
7
  get: function() {
8
- return suppositionStatementForVariableMatcher;
8
+ return suppositionTermForVariableMatcher;
9
9
  }
10
10
  });
11
- var _statementForVariable = /*#__PURE__*/ _interopRequireDefault(require("../../matcher/statementForVariable"));
11
+ var _termForVariable = /*#__PURE__*/ _interopRequireDefault(require("../../matcher/termForVariable"));
12
12
  function _assertThisInitialized(self) {
13
13
  if (self === void 0) {
14
14
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
@@ -98,16 +98,16 @@ function _createSuper(Derived) {
98
98
  return _possibleConstructorReturn(this, result);
99
99
  };
100
100
  }
101
- var SuppositionStatementForVariableMatcher = /*#__PURE__*/ function(StatementForVariableMatcher) {
102
- _inherits(SuppositionStatementForVariableMatcher, StatementForVariableMatcher);
103
- var _super = _createSuper(SuppositionStatementForVariableMatcher);
104
- function SuppositionStatementForVariableMatcher() {
105
- _classCallCheck(this, SuppositionStatementForVariableMatcher);
101
+ var SuppositionTermForVariableMatcher = /*#__PURE__*/ function(TermForVariableMatcher) {
102
+ _inherits(SuppositionTermForVariableMatcher, TermForVariableMatcher);
103
+ var _super = _createSuper(SuppositionTermForVariableMatcher);
104
+ function SuppositionTermForVariableMatcher() {
105
+ _classCallCheck(this, SuppositionTermForVariableMatcher);
106
106
  return _super.apply(this, arguments);
107
107
  }
108
- return SuppositionStatementForVariableMatcher;
109
- }(_statementForVariable.default);
110
- _defineProperty(SuppositionStatementForVariableMatcher, "createSubstitutions", true);
111
- var suppositionStatementForVariableMatcher = new SuppositionStatementForVariableMatcher();
108
+ return SuppositionTermForVariableMatcher;
109
+ }(_termForVariable.default);
110
+ _defineProperty(SuppositionTermForVariableMatcher, "createSubstitutions", true);
111
+ var suppositionTermForVariableMatcher = new SuppositionTermForVariableMatcher();
112
112
 
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tYXRjaGVyL3N0YXRlbWVudEZvclZhcmlhYmxlL3N1cHBvc2l0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgU3RhdGVtZW50Rm9yVmFyaWFibGVNYXRjaGVyIGZyb20gXCIuLi8uLi9tYXRjaGVyL3N0YXRlbWVudEZvclZhcmlhYmxlXCI7XG5cbmNsYXNzIFN1cHBvc2l0aW9uU3RhdGVtZW50Rm9yVmFyaWFibGVNYXRjaGVyIGV4dGVuZHMgU3RhdGVtZW50Rm9yVmFyaWFibGVNYXRjaGVyIHtcbiAgc3RhdGljIGNyZWF0ZVN1YnN0aXR1dGlvbnMgPSB0cnVlO1xufVxuXG5leHBvcnQgY29uc3Qgc3VwcG9zaXRpb25TdGF0ZW1lbnRGb3JWYXJpYWJsZU1hdGNoZXIgPSBuZXcgU3VwcG9zaXRpb25TdGF0ZW1lbnRGb3JWYXJpYWJsZU1hdGNoZXIoKTtcbiJdLCJuYW1lcyI6WyJzdXBwb3NpdGlvblN0YXRlbWVudEZvclZhcmlhYmxlTWF0Y2hlciIsIlN1cHBvc2l0aW9uU3RhdGVtZW50Rm9yVmFyaWFibGVNYXRjaGVyIiwiU3RhdGVtZW50Rm9yVmFyaWFibGVNYXRjaGVyIiwiY3JlYXRlU3Vic3RpdHV0aW9ucyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBUWFBOzs7ZUFBQUE7Ozt5RUFOMkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV4QyxJQUFBLEFBQU1DLHVEQUlILEFBSkg7Y0FBTUE7OEJBQUFBO2FBQUFBOzhCQUFBQTs7O1dBQUFBO0VBQStDQyw2QkFBMkI7QUFDOUUsZ0JBRElELHdDQUNHRSx1QkFBc0IsSUFBSTtBQUc1QixJQUFNSCx5Q0FBeUMsSUFBSUMifQ==
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tYXRjaGVyL3Rlcm1Gb3JWYXJpYWJsZS9zdXBwb3NpdGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFRlcm1Gb3JWYXJpYWJsZU1hdGNoZXIgZnJvbSBcIi4uLy4uL21hdGNoZXIvdGVybUZvclZhcmlhYmxlXCI7XG5cbmNsYXNzIFN1cHBvc2l0aW9uVGVybUZvclZhcmlhYmxlTWF0Y2hlciBleHRlbmRzIFRlcm1Gb3JWYXJpYWJsZU1hdGNoZXIge1xuICBzdGF0aWMgY3JlYXRlU3Vic3RpdHV0aW9ucyA9IHRydWU7XG59XG5cbmV4cG9ydCBjb25zdCBzdXBwb3NpdGlvblRlcm1Gb3JWYXJpYWJsZU1hdGNoZXIgPSBuZXcgU3VwcG9zaXRpb25UZXJtRm9yVmFyaWFibGVNYXRjaGVyKCk7XG4iXSwibmFtZXMiOlsic3VwcG9zaXRpb25UZXJtRm9yVmFyaWFibGVNYXRjaGVyIiwiU3VwcG9zaXRpb25UZXJtRm9yVmFyaWFibGVNYXRjaGVyIiwiVGVybUZvclZhcmlhYmxlTWF0Y2hlciIsImNyZWF0ZVN1YnN0aXR1dGlvbnMiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVFhQTs7O2VBQUFBOzs7b0VBTnNCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFbkMsSUFBQSxBQUFNQyxrREFJSCxBQUpIO2NBQU1BOzhCQUFBQTthQUFBQTs4QkFBQUE7OztXQUFBQTtFQUEwQ0Msd0JBQXNCO0FBQ3BFLGdCQURJRCxtQ0FDR0UsdUJBQXNCLElBQUk7QUFHNUIsSUFBTUgsb0NBQW9DLElBQUlDIn0=
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return TermForVariableMatcher;
9
+ }
10
+ });
11
+ var _matcher = /*#__PURE__*/ _interopRequireDefault(require("../matcher"));
12
+ var _termForVariable = /*#__PURE__*/ _interopRequireDefault(require("../substitution/termForVariable"));
13
+ var _query = require("../utilities/query");
14
+ var _ruleNames = require("../ruleNames");
15
+ function _assertThisInitialized(self) {
16
+ if (self === void 0) {
17
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
18
+ }
19
+ return self;
20
+ }
21
+ function _classCallCheck(instance, Constructor) {
22
+ if (!(instance instanceof Constructor)) {
23
+ throw new TypeError("Cannot call a class as a function");
24
+ }
25
+ }
26
+ function _defineProperties(target, props) {
27
+ for(var i = 0; i < props.length; i++){
28
+ var descriptor = props[i];
29
+ descriptor.enumerable = descriptor.enumerable || false;
30
+ descriptor.configurable = true;
31
+ if ("value" in descriptor) descriptor.writable = true;
32
+ Object.defineProperty(target, descriptor.key, descriptor);
33
+ }
34
+ }
35
+ function _createClass(Constructor, protoProps, staticProps) {
36
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
37
+ if (staticProps) _defineProperties(Constructor, staticProps);
38
+ return Constructor;
39
+ }
40
+ function _get(target, property, receiver) {
41
+ if (typeof Reflect !== "undefined" && Reflect.get) {
42
+ _get = Reflect.get;
43
+ } else {
44
+ _get = function _get(target, property, receiver) {
45
+ var base = _superPropBase(target, property);
46
+ if (!base) return;
47
+ var desc = Object.getOwnPropertyDescriptor(base, property);
48
+ if (desc.get) {
49
+ return desc.get.call(receiver);
50
+ }
51
+ return desc.value;
52
+ };
53
+ }
54
+ return _get(target, property, receiver || target);
55
+ }
56
+ function _getPrototypeOf(o) {
57
+ _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
58
+ return o.__proto__ || Object.getPrototypeOf(o);
59
+ };
60
+ return _getPrototypeOf(o);
61
+ }
62
+ function _inherits(subClass, superClass) {
63
+ if (typeof superClass !== "function" && superClass !== null) {
64
+ throw new TypeError("Super expression must either be null or a function");
65
+ }
66
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
67
+ constructor: {
68
+ value: subClass,
69
+ writable: true,
70
+ configurable: true
71
+ }
72
+ });
73
+ if (superClass) _setPrototypeOf(subClass, superClass);
74
+ }
75
+ function _interopRequireDefault(obj) {
76
+ return obj && obj.__esModule ? obj : {
77
+ default: obj
78
+ };
79
+ }
80
+ function _possibleConstructorReturn(self, call) {
81
+ if (call && (_typeof(call) === "object" || typeof call === "function")) {
82
+ return call;
83
+ }
84
+ return _assertThisInitialized(self);
85
+ }
86
+ function _setPrototypeOf(o, p) {
87
+ _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
88
+ o.__proto__ = p;
89
+ return o;
90
+ };
91
+ return _setPrototypeOf(o, p);
92
+ }
93
+ function _superPropBase(object, property) {
94
+ while(!Object.prototype.hasOwnProperty.call(object, property)){
95
+ object = _getPrototypeOf(object);
96
+ if (object === null) break;
97
+ }
98
+ return object;
99
+ }
100
+ var _typeof = function(obj) {
101
+ "@swc/helpers - typeof";
102
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
103
+ };
104
+ function _isNativeReflectConstruct() {
105
+ if (typeof Reflect === "undefined" || !Reflect.construct) return false;
106
+ if (Reflect.construct.sham) return false;
107
+ if (typeof Proxy === "function") return true;
108
+ try {
109
+ Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
110
+ return true;
111
+ } catch (e) {
112
+ return false;
113
+ }
114
+ }
115
+ function _createSuper(Derived) {
116
+ var hasNativeReflectConstruct = _isNativeReflectConstruct();
117
+ return function _createSuperInternal() {
118
+ var Super = _getPrototypeOf(Derived), result;
119
+ if (hasNativeReflectConstruct) {
120
+ var NewTarget = _getPrototypeOf(this).constructor;
121
+ result = Reflect.construct(Super, arguments, NewTarget);
122
+ } else {
123
+ result = Super.apply(this, arguments);
124
+ }
125
+ return _possibleConstructorReturn(this, result);
126
+ };
127
+ }
128
+ var variableNodeQuery = (0, _query.nodeQuery)("/term/variable!");
129
+ var TermForVariableMatcher = /*#__PURE__*/ function(Matcher) {
130
+ _inherits(TermForVariableMatcher, Matcher);
131
+ var _super = _createSuper(TermForVariableMatcher);
132
+ function TermForVariableMatcher() {
133
+ _classCallCheck(this, TermForVariableMatcher);
134
+ return _super.apply(this, arguments);
135
+ }
136
+ _createClass(TermForVariableMatcher, [
137
+ {
138
+ key: "matchNonTerminalNode",
139
+ value: function matchNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions) {
140
+ var nonTerminalNodeMatches = false;
141
+ var nonTerminalNodeARuleName = nonTerminalNodeA.getRuleName(), nonTerminalNodeBRuleName = nonTerminalNodeB.getRuleName();
142
+ if (nonTerminalNodeBRuleName === nonTerminalNodeARuleName) {
143
+ var nonTerminalNodeARuleNameTermRuleName = nonTerminalNodeARuleName === _ruleNames.TERM_RULE_NAME, nonTerminalNodeBRuleNameTermRuleName = nonTerminalNodeBRuleName === _ruleNames.TERM_RULE_NAME;
144
+ if (nonTerminalNodeARuleNameTermRuleName && nonTerminalNodeBRuleNameTermRuleName) {
145
+ var termNodeA = nonTerminalNodeA, termNodeB = nonTerminalNodeB, termNodeMatches = this.matchTermNode(termNodeA, termNodeB, substitutions);
146
+ if (termNodeMatches) {
147
+ nonTerminalNodeMatches = true; ///
148
+ } else {
149
+ nonTerminalNodeMatches = _get(_getPrototypeOf(TermForVariableMatcher.prototype), "matchNonTerminalNode", this).call(this, nonTerminalNodeA, nonTerminalNodeB, substitutions);
150
+ }
151
+ } else {
152
+ nonTerminalNodeMatches = _get(_getPrototypeOf(TermForVariableMatcher.prototype), "matchNonTerminalNode", this).call(this, nonTerminalNodeA, nonTerminalNodeB, substitutions);
153
+ }
154
+ }
155
+ return nonTerminalNodeMatches;
156
+ }
157
+ },
158
+ {
159
+ key: "matchTermNode",
160
+ value: function matchTermNode(termNodeA, termNodeB, substitutions) {
161
+ var termNodeMatches = false;
162
+ var variableNodeA = variableNodeQuery(termNodeA);
163
+ if (variableNodeA !== null) {
164
+ var variableMatches = this.matchVariableNode(variableNodeA, termNodeB, substitutions);
165
+ termNodeMatches = variableMatches; ///
166
+ }
167
+ return termNodeMatches;
168
+ }
169
+ },
170
+ {
171
+ key: "matchVariableNode",
172
+ value: function matchVariableNode(variableNodeB, termNodeB, substitutions) {
173
+ var variableMatches;
174
+ var variableNameA = (0, _query.variableNameFromVariableNode)(variableNodeB), substitution = substitutions.find(function(substitution) {
175
+ var variableName = substitution.getVariableName();
176
+ if (variableName === variableNameA) {
177
+ return true;
178
+ }
179
+ }) || null;
180
+ if (substitution !== null) {
181
+ var termNode = termNodeB, substitutionNodesMatch = substitution.matchTermNode(termNode);
182
+ variableMatches = substitutionNodesMatch; ///
183
+ } else {
184
+ var createSubstitutions = this.constructor.createSubstitutions;
185
+ if (createSubstitutions) {
186
+ var variableName = variableNameA, termNode1 = termNodeB, termForVariableSubstitution = _termForVariable.default.fromVariableNameAndTermNode(variableName, termNode1), substitution1 = termForVariableSubstitution; ///
187
+ substitutions.push(substitution1);
188
+ }
189
+ variableMatches = true;
190
+ }
191
+ return variableMatches;
192
+ }
193
+ }
194
+ ]);
195
+ return TermForVariableMatcher;
196
+ }(_matcher.default);
197
+
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXRjaGVyL3Rlcm1Gb3JWYXJpYWJsZS5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+PiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE1hdGNoZXIgZnJvbSBcIi4uL21hdGNoZXJcIjtcbmltcG9ydCBUZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24gZnJvbSBcIi4uL3N1YnN0aXR1dGlvbi90ZXJtRm9yVmFyaWFibGVcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgVEVSTV9SVUxFX05BTUUgfSBmcm9tIFwiLi4vcnVsZU5hbWVzXCI7XG5pbXBvcnQgeyB2YXJpYWJsZU5hbWVGcm9tVmFyaWFibGVOb2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCB2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeSgnL3Rlcm0vdmFyaWFibGUhJyk7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFRlcm1Gb3JWYXJpYWJsZU1hdGNoZXIgZXh0ZW5kcyBNYXRjaGVyIHtcbiAgbWF0Y2hOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgc3Vic3RpdHV0aW9ucykge1xuICAgIGxldCBub25UZXJtaW5hbE5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGVBUnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGVBLmdldFJ1bGVOYW1lKCksXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlQi5nZXRSdWxlTmFtZSgpO1xuXG4gICAgaWYgKG5vblRlcm1pbmFsTm9kZUJSdWxlTmFtZSA9PT0gbm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lKSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGVBUnVsZU5hbWVUZXJtUnVsZU5hbWUgPSAobm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lID09PSBURVJNX1JVTEVfTkFNRSksXG4gICAgICAgICAgICBub25UZXJtaW5hbE5vZGVCUnVsZU5hbWVUZXJtUnVsZU5hbWUgPSAobm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lID09PSBURVJNX1JVTEVfTkFNRSk7XG5cbiAgICAgIGlmIChub25UZXJtaW5hbE5vZGVBUnVsZU5hbWVUZXJtUnVsZU5hbWUgJiYgbm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lVGVybVJ1bGVOYW1lKSB7XG4gICAgICAgIGNvbnN0IHRlcm1Ob2RlQSA9IG5vblRlcm1pbmFsTm9kZUEsICAvLy9cbiAgICAgICAgICAgICAgdGVybU5vZGVCID0gbm9uVGVybWluYWxOb2RlQiwgIC8vL1xuICAgICAgICAgICAgICB0ZXJtTm9kZU1hdGNoZXMgPSB0aGlzLm1hdGNoVGVybU5vZGUodGVybU5vZGVBLCB0ZXJtTm9kZUIsIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICAgIGlmICh0ZXJtTm9kZU1hdGNoZXMpIHtcbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVNYXRjaGVzID0gdHJ1ZTsgIC8vL1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBzdXBlci5tYXRjaE5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCBzdWJzdGl0dXRpb25zKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IHN1cGVyLm1hdGNoTm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIHN1YnN0aXR1dGlvbnMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBub25UZXJtaW5hbE5vZGVNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hUZXJtTm9kZSh0ZXJtTm9kZUEsIHRlcm1Ob2RlQiwgc3Vic3RpdHV0aW9ucykge1xuICAgIGxldCB0ZXJtTm9kZU1hdGNoZXMgPSBmYWxzZTtcblxuICAgIGNvbnN0IHZhcmlhYmxlTm9kZUEgPSB2YXJpYWJsZU5vZGVRdWVyeSh0ZXJtTm9kZUEpO1xuXG4gICAgaWYgKHZhcmlhYmxlTm9kZUEgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHZhcmlhYmxlTWF0Y2hlcyA9IHRoaXMubWF0Y2hWYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlQSwgdGVybU5vZGVCLCBzdWJzdGl0dXRpb25zKTtcblxuICAgICAgdGVybU5vZGVNYXRjaGVzID0gdmFyaWFibGVNYXRjaGVzOyAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gdGVybU5vZGVNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hWYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlQiwgdGVybU5vZGVCLCBzdWJzdGl0dXRpb25zKSB7XG4gICAgbGV0IHZhcmlhYmxlTWF0Y2hlcztcblxuICAgIGNvbnN0IHZhcmlhYmxlTmFtZUEgPSB2YXJpYWJsZU5hbWVGcm9tVmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZUIpLFxuICAgICAgICAgIHN1YnN0aXR1dGlvbiA9IHN1YnN0aXR1dGlvbnMuZmluZCgoc3Vic3RpdHV0aW9uKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2YXJpYWJsZU5hbWUgPSBzdWJzdGl0dXRpb24uZ2V0VmFyaWFibGVOYW1lKCk7XG5cbiAgICAgICAgICAgIGlmICh2YXJpYWJsZU5hbWUgPT09IHZhcmlhYmxlTmFtZUEpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSkgfHwgbnVsbDtcblxuICAgIGlmIChzdWJzdGl0dXRpb24gIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHRlcm1Ob2RlID0gdGVybU5vZGVCLCAvLy9cbiAgICAgICAgICAgIHN1YnN0aXR1dGlvbk5vZGVzTWF0Y2ggPSBzdWJzdGl0dXRpb24ubWF0Y2hUZXJtTm9kZSh0ZXJtTm9kZSk7XG5cbiAgICAgIHZhcmlhYmxlTWF0Y2hlcyA9IHN1YnN0aXR1dGlvbk5vZGVzTWF0Y2g7ICAvLy9cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgeyBjcmVhdGVTdWJzdGl0dXRpb25zIH0gPSB0aGlzLmNvbnN0cnVjdG9yO1xuXG4gICAgICBpZiAoY3JlYXRlU3Vic3RpdHV0aW9ucykge1xuICAgICAgICBjb25zdCB2YXJpYWJsZU5hbWUgPSB2YXJpYWJsZU5hbWVBLCAvLy9cbiAgICAgICAgICAgICAgdGVybU5vZGUgPSB0ZXJtTm9kZUIsIC8vL1xuICAgICAgICAgICAgICB0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24gPSBUZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24uZnJvbVZhcmlhYmxlTmFtZUFuZFRlcm1Ob2RlKHZhcmlhYmxlTmFtZSwgdGVybU5vZGUpLFxuICAgICAgICAgICAgICBzdWJzdGl0dXRpb24gPSB0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb247ICAvLy9cblxuICAgICAgICBzdWJzdGl0dXRpb25zLnB1c2goc3Vic3RpdHV0aW9uKTtcbiAgICAgIH1cblxuICAgICAgdmFyaWFibGVNYXRjaGVzID0gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFyaWFibGVNYXRjaGVzO1xuICB9XG59XG4iLCJSZWFjdC5jcmVhdGVFbGVtZW50Il0sIm5hbWVzIjpbIlRlcm1Gb3JWYXJpYWJsZU1hdGNoZXIiLCJ2YXJpYWJsZU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsIm1hdGNoTm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlQSIsIm5vblRlcm1pbmFsTm9kZUIiLCJzdWJzdGl0dXRpb25zIiwibm9uVGVybWluYWxOb2RlTWF0Y2hlcyIsIm5vblRlcm1pbmFsTm9kZUFSdWxlTmFtZSIsImdldFJ1bGVOYW1lIiwibm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lIiwibm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lVGVybVJ1bGVOYW1lIiwiVEVSTV9SVUxFX05BTUUiLCJub25UZXJtaW5hbE5vZGVCUnVsZU5hbWVUZXJtUnVsZU5hbWUiLCJ0ZXJtTm9kZUEiLCJ0ZXJtTm9kZUIiLCJ0ZXJtTm9kZU1hdGNoZXMiLCJtYXRjaFRlcm1Ob2RlIiwidmFyaWFibGVOb2RlQSIsInZhcmlhYmxlTWF0Y2hlcyIsIm1hdGNoVmFyaWFibGVOb2RlIiwidmFyaWFibGVOb2RlQiIsInZhcmlhYmxlTmFtZUEiLCJ2YXJpYWJsZU5hbWVGcm9tVmFyaWFibGVOb2RlIiwic3Vic3RpdHV0aW9uIiwiZmluZCIsInZhcmlhYmxlTmFtZSIsImdldFZhcmlhYmxlTmFtZSIsInRlcm1Ob2RlIiwic3Vic3RpdHV0aW9uTm9kZXNNYXRjaCIsImNyZWF0ZVN1YnN0aXR1dGlvbnMiLCJjb25zdHJ1Y3RvciIsInRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiIsIlRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiIsImZyb21WYXJpYWJsZU5hbWVBbmRUZXJtTm9kZSIsInB1c2giLCJNYXRjaGVyIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVdxQkE7Ozs0REFURDtvRUFDb0I7cUJBRWQ7eUJBQ0s7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUcvQixJQUFNQyxvQkFBb0JDLElBQUFBLGdCQUFTLEVBQUM7QUFFckIsSUFBQSxBQUFNRix1Q0FBTjtjQUFNQTs4QkFBQUE7YUFBQUE7OEJBQUFBOzs7aUJBQUFBOztZQUNuQkcsS0FBQUE7bUJBQUFBLFNBQUFBLHFCQUFxQkMsZ0JBQWdCLEVBQUVDLGdCQUFnQixFQUFFQyxhQUFhLEVBQUU7Z0JBQ3RFLElBQUlDLHlCQUF5QixLQUFLO2dCQUVsQyxJQUFNQywyQkFBMkJKLGlCQUFpQkssV0FBVyxJQUN2REMsMkJBQTJCTCxpQkFBaUJJLFdBQVc7Z0JBRTdELElBQUlDLDZCQUE2QkYsMEJBQTBCO29CQUN6RCxJQUFNRyx1Q0FBd0NILDZCQUE2QkkseUJBQWMsRUFDbkZDLHVDQUF3Q0gsNkJBQTZCRSx5QkFBYztvQkFFekYsSUFBSUQsd0NBQXdDRSxzQ0FBc0M7d0JBQ2hGLElBQU1DLFlBQVlWLGtCQUNaVyxZQUFZVixrQkFDWlcsa0JBQWtCLElBQUksQ0FBQ0MsYUFBYSxDQUFDSCxXQUFXQyxXQUFXVDt3QkFFakUsSUFBSVUsaUJBQWlCOzRCQUNuQlQseUJBQXlCLElBQUksRUFBRyxHQUFHO3dCQUNyQyxPQUFPOzRCQUNMQSx5QkFBeUIscUJBbkJkUCxtQ0FtQm9CRyx3QkFBTixJQUFLLGFBQXNCQyxrQkFBa0JDLGtCQUFrQkM7d0JBQzFGLENBQUM7b0JBQ0gsT0FBTzt3QkFDTEMseUJBQXlCLHFCQXRCWlAsbUNBc0JrQkcsd0JBQU4sSUFBSyxhQUFzQkMsa0JBQWtCQyxrQkFBa0JDO29CQUMxRixDQUFDO2dCQUNILENBQUM7Z0JBRUQsT0FBT0M7WUFDVDs7O1lBRUFVLEtBQUFBO21CQUFBQSxTQUFBQSxjQUFjSCxTQUFTLEVBQUVDLFNBQVMsRUFBRVQsYUFBYSxFQUFFO2dCQUNqRCxJQUFJVSxrQkFBa0IsS0FBSztnQkFFM0IsSUFBTUUsZ0JBQWdCakIsa0JBQWtCYTtnQkFFeEMsSUFBSUksa0JBQWtCLElBQUksRUFBRTtvQkFDMUIsSUFBTUMsa0JBQWtCLElBQUksQ0FBQ0MsaUJBQWlCLENBQUNGLGVBQWVILFdBQVdUO29CQUV6RVUsa0JBQWtCRyxpQkFBaUIsR0FBRztnQkFDeEMsQ0FBQztnQkFFRCxPQUFPSDtZQUNUOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBLGtCQUFrQkMsYUFBYSxFQUFFTixTQUFTLEVBQUVULGFBQWEsRUFBRTtnQkFDekQsSUFBSWE7Z0JBRUosSUFBTUcsZ0JBQWdCQyxJQUFBQSxtQ0FBNEIsRUFBQ0YsZ0JBQzdDRyxlQUFlbEIsY0FBY21CLElBQUksQ0FBQyxTQUFDRCxjQUFpQjtvQkFDbEQsSUFBTUUsZUFBZUYsYUFBYUcsZUFBZTtvQkFFakQsSUFBSUQsaUJBQWlCSixlQUFlO3dCQUNsQyxPQUFPLElBQUk7b0JBQ2IsQ0FBQztnQkFDSCxNQUFNLElBQUk7Z0JBRWhCLElBQUlFLGlCQUFpQixJQUFJLEVBQUU7b0JBQ3pCLElBQU1JLFdBQVdiLFdBQ1hjLHlCQUF5QkwsYUFBYVAsYUFBYSxDQUFDVztvQkFFMURULGtCQUFrQlUsd0JBQXlCLEdBQUc7Z0JBQ2hELE9BQU87b0JBQ0wsSUFBTSxBQUFFQyxzQkFBd0IsSUFBSSxDQUFDQyxXQUFXLENBQXhDRDtvQkFFUixJQUFJQSxxQkFBcUI7d0JBQ3ZCLElBQU1KLGVBQWVKLGVBQ2ZNLFlBQVdiLFdBQ1hpQiw4QkFBOEJDLHdCQUEyQixDQUFDQywyQkFBMkIsQ0FBQ1IsY0FBY0UsWUFDcEdKLGdCQUFlUSw2QkFBOEIsR0FBRzt3QkFFdEQxQixjQUFjNkIsSUFBSSxDQUFDWDtvQkFDckIsQ0FBQztvQkFFREwsa0JBQWtCLElBQUk7Z0JBQ3hCLENBQUM7Z0JBRUQsT0FBT0E7WUFDVDs7O1dBNUVtQm5CO0VBQStCb0MsZ0JBQU8ifQ==
package/lib/matcher.js CHANGED
@@ -16,14 +16,6 @@ _export(exports, {
16
16
  return matcher;
17
17
  }
18
18
  });
19
- function _arrayLikeToArray(arr, len) {
20
- if (len == null || len > arr.length) len = arr.length;
21
- for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
22
- return arr2;
23
- }
24
- function _arrayWithoutHoles(arr) {
25
- if (Array.isArray(arr)) return _arrayLikeToArray(arr);
26
- }
27
19
  function _classCallCheck(instance, Constructor) {
28
20
  if (!(instance instanceof Constructor)) {
29
21
  throw new TypeError("Cannot call a class as a function");
@@ -43,23 +35,6 @@ function _createClass(Constructor, protoProps, staticProps) {
43
35
  if (staticProps) _defineProperties(Constructor, staticProps);
44
36
  return Constructor;
45
37
  }
46
- function _iterableToArray(iter) {
47
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
48
- }
49
- function _nonIterableSpread() {
50
- throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
51
- }
52
- function _toConsumableArray(arr) {
53
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
54
- }
55
- function _unsupportedIterableToArray(o, minLen) {
56
- if (!o) return;
57
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
58
- var n = Object.prototype.toString.call(o).slice(8, -1);
59
- if (n === "Object" && o.constructor) n = o.constructor.name;
60
- if (n === "Map" || n === "Set") return Array.from(n);
61
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
62
- }
63
38
  var Matcher = /*#__PURE__*/ function() {
64
39
  function Matcher() {
65
40
  _classCallCheck(this, Matcher);
@@ -67,25 +42,21 @@ var Matcher = /*#__PURE__*/ function() {
67
42
  _createClass(Matcher, [
68
43
  {
69
44
  key: "matchNode",
70
- value: function matchNode(nodeA, nodeB) {
71
- for(var _len = arguments.length, remainingArguments = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){
72
- remainingArguments[_key - 2] = arguments[_key];
73
- }
45
+ value: function matchNode(nodeA, nodeB, substitutions) {
46
+ var depth = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : Infinity;
74
47
  var nodeMatches = false;
75
- var nodeATerminalNode = nodeA.isTerminalNode(), nodeBTerminalNode = nodeB.isTerminalNode();
76
- if (nodeATerminalNode === nodeBTerminalNode) {
77
- if (nodeATerminalNode) {
78
- var terminalNodeA = nodeA, terminalNodeB = nodeB, terminalNodeMatches = this.matchTerminalNode.apply(this, [
79
- terminalNodeA,
80
- terminalNodeB
81
- ].concat(_toConsumableArray(remainingArguments)));
82
- nodeMatches = terminalNodeMatches; ///
83
- } else {
84
- var nonTerminalNodeA = nodeA, nonTerminalNodeB = nodeB, nonTerminalNodeMatches = this.matchNonTerminalNode.apply(this, [
85
- nonTerminalNodeA,
86
- nonTerminalNodeB
87
- ].concat(_toConsumableArray(remainingArguments)));
88
- nodeMatches = nonTerminalNodeMatches; ///
48
+ if (depth === 0) {
49
+ nodeMatches = true;
50
+ } else {
51
+ var nodeATerminalNode = nodeA.isTerminalNode(), nodeBTerminalNode = nodeB.isTerminalNode();
52
+ if (nodeATerminalNode === nodeBTerminalNode) {
53
+ if (nodeATerminalNode) {
54
+ var terminalNodeA = nodeA, terminalNodeB = nodeB, terminalNodeMatches = this.matchTerminalNode(terminalNodeA, terminalNodeB);
55
+ nodeMatches = terminalNodeMatches; ///
56
+ } else {
57
+ var nonTerminalNodeA = nodeA, nonTerminalNodeB = nodeB, nonTerminalNodeMatches = this.matchNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, depth);
58
+ nodeMatches = nonTerminalNodeMatches; ///
59
+ }
89
60
  }
90
61
  }
91
62
  return nodeMatches;
@@ -93,19 +64,15 @@ var Matcher = /*#__PURE__*/ function() {
93
64
  },
94
65
  {
95
66
  key: "matchNodes",
96
- value: function matchNodes(nodesA, nodesB) {
97
- for(var _len = arguments.length, remainingArguments = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){
98
- remainingArguments[_key - 2] = arguments[_key];
99
- }
67
+ value: function matchNodes(nodesA, nodesB, substitutions) {
68
+ var depth = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : Infinity;
100
69
  var _this = this;
101
70
  var nodesMatch = false;
102
71
  var nodesALength = nodesA.length, nodesBLength = nodesB.length;
103
72
  if (nodesALength === nodesBLength) {
73
+ depth--;
104
74
  nodesMatch = nodesA.every(function(nodeA, index) {
105
- var nodeB = nodesB[index], nodeMatches = _this.matchNode.apply(_this, [
106
- nodeA,
107
- nodeB
108
- ].concat(_toConsumableArray(remainingArguments)));
75
+ var nodeB = nodesB[index], nodeMatches = _this.matchNode(nodeA, nodeB, substitutions, depth);
109
76
  if (nodeMatches) {
110
77
  return true;
111
78
  }
@@ -116,27 +83,19 @@ var Matcher = /*#__PURE__*/ function() {
116
83
  },
117
84
  {
118
85
  key: "matchTerminalNode",
119
- value: function matchTerminalNode(terminalNodeA, terminalNodeB) {
120
- for(var _len = arguments.length, remainingArguments = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){
121
- remainingArguments[_key - 2] = arguments[_key];
122
- }
86
+ value: function matchTerminalNode(terminalNodeA, terminalNodeB, substitutions, depth) {
123
87
  var matches = terminalNodeA.match(terminalNodeB), terminalNodeMatches = matches; ///
124
88
  return terminalNodeMatches;
125
89
  }
126
90
  },
127
91
  {
128
92
  key: "matchNonTerminalNode",
129
- value: function matchNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB) {
130
- for(var _len = arguments.length, remainingArguments = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){
131
- remainingArguments[_key - 2] = arguments[_key];
132
- }
93
+ value: function matchNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions) {
94
+ var depth = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : Infinity;
133
95
  var nonTerminalNodeMatches = false;
134
96
  var nonTerminalNodeARuleName = nonTerminalNodeA.getRuleName(), nonTerminalNodeBRuleName = nonTerminalNodeB.getRuleName(); ///
135
97
  if (nonTerminalNodeARuleName === nonTerminalNodeBRuleName) {
136
- var nonTerminalNodeAChildNodes = nonTerminalNodeA.getChildNodes(), nonTerminalNodeBChildNodes = nonTerminalNodeB.getChildNodes(), nodesA = nonTerminalNodeAChildNodes, nodesB = nonTerminalNodeBChildNodes, nodesMatch = this.matchNodes.apply(this, [
137
- nodesA,
138
- nodesB
139
- ].concat(_toConsumableArray(remainingArguments)));
98
+ var nonTerminalNodeAChildNodes = nonTerminalNodeA.getChildNodes(), nonTerminalNodeBChildNodes = nonTerminalNodeB.getChildNodes(), nodesA = nonTerminalNodeAChildNodes, nodesB = nonTerminalNodeBChildNodes, nodesMatch = this.matchNodes(nodesA, nodesB, substitutions, depth);
140
99
  nonTerminalNodeMatches = nodesMatch; ///
141
100
  }
142
101
  return nonTerminalNodeMatches;
@@ -147,4 +106,4 @@ var Matcher = /*#__PURE__*/ function() {
147
106
  }();
148
107
  var matcher = new Matcher();
149
108
 
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYXRjaGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNYXRjaGVyIHtcbiAgbWF0Y2hOb2RlKG5vZGVBLCBub2RlQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgbGV0IG5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgICBjb25zdCBub2RlQVRlcm1pbmFsTm9kZSA9IG5vZGVBLmlzVGVybWluYWxOb2RlKCksXG4gICAgICAgICAgbm9kZUJUZXJtaW5hbE5vZGUgPSBub2RlQi5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKG5vZGVBVGVybWluYWxOb2RlID09PSBub2RlQlRlcm1pbmFsTm9kZSkge1xuICAgICAgaWYgKG5vZGVBVGVybWluYWxOb2RlKSB7XG4gICAgICAgIGNvbnN0IHRlcm1pbmFsTm9kZUEgPSBub2RlQSwgIC8vL1xuICAgICAgICAgICAgICB0ZXJtaW5hbE5vZGVCID0gbm9kZUIsICAvLy9cbiAgICAgICAgICAgICAgdGVybWluYWxOb2RlTWF0Y2hlcyA9IHRoaXMubWF0Y2hUZXJtaW5hbE5vZGUodGVybWluYWxOb2RlQSwgdGVybWluYWxOb2RlQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcblxuICAgICAgICBub2RlTWF0Y2hlcyA9IHRlcm1pbmFsTm9kZU1hdGNoZXM7ICAvLy9cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUEgPSBub2RlQSwgIC8vL1xuICAgICAgICAgICAgICBub25UZXJtaW5hbE5vZGVCID0gbm9kZUIsIC8vL1xuICAgICAgICAgICAgICBub25UZXJtaW5hbE5vZGVNYXRjaGVzID0gdGhpcy5tYXRjaE5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgICAgIG5vZGVNYXRjaGVzID0gbm9uVGVybWluYWxOb2RlTWF0Y2hlczsgLy8vXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5vZGVNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hOb2Rlcyhub2Rlc0EsIG5vZGVzQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgbGV0IG5vZGVzTWF0Y2ggPSBmYWxzZTtcblxuICAgIGNvbnN0IG5vZGVzQUxlbmd0aCA9IG5vZGVzQS5sZW5ndGgsXG4gICAgICAgICAgbm9kZXNCTGVuZ3RoID0gbm9kZXNCLmxlbmd0aDtcblxuICAgIGlmIChub2Rlc0FMZW5ndGggPT09IG5vZGVzQkxlbmd0aCkge1xuICAgICAgbm9kZXNNYXRjaCA9IG5vZGVzQS5ldmVyeSgobm9kZUEsIGluZGV4KSA9PiB7XG4gICAgICAgIGNvbnN0IG5vZGVCID0gbm9kZXNCW2luZGV4XSxcbiAgICAgICAgICAgICAgbm9kZU1hdGNoZXMgPSB0aGlzLm1hdGNoTm9kZShub2RlQSwgbm9kZUIsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICAgICAgaWYgKG5vZGVNYXRjaGVzKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIG5vZGVzTWF0Y2g7XG4gIH1cblxuICBtYXRjaFRlcm1pbmFsTm9kZSh0ZXJtaW5hbE5vZGVBLCB0ZXJtaW5hbE5vZGVCLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBjb25zdCBtYXRjaGVzID0gdGVybWluYWxOb2RlQS5tYXRjaCh0ZXJtaW5hbE5vZGVCKSxcbiAgICAgICAgICB0ZXJtaW5hbE5vZGVNYXRjaGVzID0gbWF0Y2hlczsgIC8vL1xuXG4gICAgcmV0dXJuIHRlcm1pbmFsTm9kZU1hdGNoZXM7XG4gIH1cblxuICBtYXRjaE5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBsZXQgbm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlQS5nZXRSdWxlTmFtZSgpLCAvLy9cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVCUnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGVCLmdldFJ1bGVOYW1lKCk7IC8vL1xuXG4gICAgaWYgKG5vblRlcm1pbmFsTm9kZUFSdWxlTmFtZSA9PT0gbm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lKSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGVBQ2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZUEuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlQkNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGVCLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICAgIG5vZGVzQSA9IG5vblRlcm1pbmFsTm9kZUFDaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICAgIG5vZGVzQiA9IG5vblRlcm1pbmFsTm9kZUJDaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICAgIG5vZGVzTWF0Y2ggPSB0aGlzLm1hdGNoTm9kZXMobm9kZXNBLCBub2Rlc0IsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICAgIG5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBub2Rlc01hdGNoOyAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gbm9uVGVybWluYWxOb2RlTWF0Y2hlcztcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgbWF0Y2hlciA9IG5ldyBNYXRjaGVyKCk7XG4iXSwibmFtZXMiOlsiTWF0Y2hlciIsIm1hdGNoZXIiLCJtYXRjaE5vZGUiLCJub2RlQSIsIm5vZGVCIiwicmVtYWluaW5nQXJndW1lbnRzIiwibm9kZU1hdGNoZXMiLCJub2RlQVRlcm1pbmFsTm9kZSIsImlzVGVybWluYWxOb2RlIiwibm9kZUJUZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGVBIiwidGVybWluYWxOb2RlQiIsInRlcm1pbmFsTm9kZU1hdGNoZXMiLCJtYXRjaFRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZUEiLCJub25UZXJtaW5hbE5vZGVCIiwibm9uVGVybWluYWxOb2RlTWF0Y2hlcyIsIm1hdGNoTm9uVGVybWluYWxOb2RlIiwibWF0Y2hOb2RlcyIsIm5vZGVzQSIsIm5vZGVzQiIsIm5vZGVzTWF0Y2giLCJub2Rlc0FMZW5ndGgiLCJsZW5ndGgiLCJub2Rlc0JMZW5ndGgiLCJldmVyeSIsImluZGV4IiwibWF0Y2hlcyIsIm1hdGNoIiwibm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJub25UZXJtaW5hbE5vZGVCUnVsZU5hbWUiLCJub25UZXJtaW5hbE5vZGVBQ2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJub25UZXJtaW5hbE5vZGVCQ2hpbGROb2RlcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7OztlQUVxQkE7O0lBeUVSQyxPQUFPO2VBQVBBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXpFRSxJQUFBLEFBQU1ELHdCQXlFbEIsQUF6RVk7YUFBTUE7OEJBQUFBOztpQkFBQUE7O1lBQ25CRSxLQUFBQTttQkFBQUEsU0FBQUEsVUFBVUMsS0FBSyxFQUFFQyxLQUFLLEVBQXlCO2dCQUF2QixJQUFBLElBQUEsT0FBQSxVQUFBLFFBQUEsQUFBR0MscUJBQUgsVUFBQSxPQUFBLElBQUEsT0FBQSxLQUFxQixHQUFyQixPQUFBLEdBQUEsT0FBQSxNQUFBLE9BQUE7b0JBQUdBLG1CQUFILE9BQUEsS0FBQSxTQUFBLENBQUEsS0FBcUI7Z0JBQUQ7Z0JBQzFDLElBQUlDLGNBQWMsS0FBSztnQkFFdkIsSUFBTUMsb0JBQW9CSixNQUFNSyxjQUFjLElBQ3hDQyxvQkFBb0JMLE1BQU1JLGNBQWM7Z0JBRTlDLElBQUlELHNCQUFzQkUsbUJBQW1CO29CQUMzQyxJQUFJRixtQkFBbUI7d0JBQ3JCLElBQU1H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
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYXRjaGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNYXRjaGVyIHtcbiAgbWF0Y2hOb2RlKG5vZGVBLCBub2RlQiwgc3Vic3RpdHV0aW9ucywgZGVwdGggPSBJbmZpbml0eSkge1xuICAgIGxldCBub2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gICAgaWYgKGRlcHRoID09PSAwKSB7XG4gICAgICBub2RlTWF0Y2hlcyA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG5vZGVBVGVybWluYWxOb2RlID0gbm9kZUEuaXNUZXJtaW5hbE5vZGUoKSxcbiAgICAgICAgICAgIG5vZGVCVGVybWluYWxOb2RlID0gbm9kZUIuaXNUZXJtaW5hbE5vZGUoKTtcblxuICAgICAgaWYgKG5vZGVBVGVybWluYWxOb2RlID09PSBub2RlQlRlcm1pbmFsTm9kZSkge1xuICAgICAgICBpZiAobm9kZUFUZXJtaW5hbE5vZGUpIHtcbiAgICAgICAgICBjb25zdCB0ZXJtaW5hbE5vZGVBID0gbm9kZUEsICAvLy9cbiAgICAgICAgICAgICAgICB0ZXJtaW5hbE5vZGVCID0gbm9kZUIsICAvLy9cbiAgICAgICAgICAgICAgICB0ZXJtaW5hbE5vZGVNYXRjaGVzID0gdGhpcy5tYXRjaFRlcm1pbmFsTm9kZSh0ZXJtaW5hbE5vZGVBLCB0ZXJtaW5hbE5vZGVCKTtcblxuICAgICAgICAgIG5vZGVNYXRjaGVzID0gdGVybWluYWxOb2RlTWF0Y2hlczsgIC8vL1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUEgPSBub2RlQSwgIC8vL1xuICAgICAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUIgPSBub2RlQiwgLy8vXG4gICAgICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IHRoaXMubWF0Y2hOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgc3Vic3RpdHV0aW9ucywgZGVwdGgpO1xuXG4gICAgICAgICAgbm9kZU1hdGNoZXMgPSBub25UZXJtaW5hbE5vZGVNYXRjaGVzOyAvLy9cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBub2RlTWF0Y2hlcztcbiAgfVxuXG4gIG1hdGNoTm9kZXMobm9kZXNBLCBub2Rlc0IsIHN1YnN0aXR1dGlvbnMsIGRlcHRoID0gSW5maW5pdHkpIHtcbiAgICBsZXQgbm9kZXNNYXRjaCA9IGZhbHNlO1xuXG4gICAgY29uc3Qgbm9kZXNBTGVuZ3RoID0gbm9kZXNBLmxlbmd0aCxcbiAgICAgICAgICBub2Rlc0JMZW5ndGggPSBub2Rlc0IubGVuZ3RoO1xuXG4gICAgaWYgKG5vZGVzQUxlbmd0aCA9PT0gbm9kZXNCTGVuZ3RoKSB7XG4gICAgICBkZXB0aCAtLTtcblxuICAgICAgbm9kZXNNYXRjaCA9IG5vZGVzQS5ldmVyeSgobm9kZUEsIGluZGV4KSA9PiB7XG4gICAgICAgIGNvbnN0IG5vZGVCID0gbm9kZXNCW2luZGV4XSxcbiAgICAgICAgICAgICAgbm9kZU1hdGNoZXMgPSB0aGlzLm1hdGNoTm9kZShub2RlQSwgbm9kZUIsIHN1YnN0aXR1dGlvbnMsIGRlcHRoKTtcblxuICAgICAgICBpZiAobm9kZU1hdGNoZXMpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG5cbiAgICByZXR1cm4gbm9kZXNNYXRjaDtcbiAgfVxuXG4gIG1hdGNoVGVybWluYWxOb2RlKHRlcm1pbmFsTm9kZUEsIHRlcm1pbmFsTm9kZUIsIHN1YnN0aXR1dGlvbnMsIGRlcHRoKSB7XG4gICAgY29uc3QgbWF0Y2hlcyA9IHRlcm1pbmFsTm9kZUEubWF0Y2godGVybWluYWxOb2RlQiksXG4gICAgICAgICAgdGVybWluYWxOb2RlTWF0Y2hlcyA9IG1hdGNoZXM7ICAvLy9cblxuICAgIHJldHVybiB0ZXJtaW5hbE5vZGVNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgc3Vic3RpdHV0aW9ucywgZGVwdGggPSBJbmZpbml0eSkge1xuICAgIGxldCBub25UZXJtaW5hbE5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGVBUnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGVBLmdldFJ1bGVOYW1lKCksIC8vL1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUJSdWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZUIuZ2V0UnVsZU5hbWUoKTsgLy8vXG5cbiAgICBpZiAobm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lID09PSBub25UZXJtaW5hbE5vZGVCUnVsZU5hbWUpIHtcbiAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUFDaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlQS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgICBub25UZXJtaW5hbE5vZGVCQ2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZUIuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgICAgbm9kZXNBID0gbm9uVGVybWluYWxOb2RlQUNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgICAgbm9kZXNCID0gbm9uVGVybWluYWxOb2RlQkNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgICAgbm9kZXNNYXRjaCA9IHRoaXMubWF0Y2hOb2Rlcyhub2Rlc0EsIG5vZGVzQiwgc3Vic3RpdHV0aW9ucywgZGVwdGgpO1xuXG4gICAgICBub25UZXJtaW5hbE5vZGVNYXRjaGVzID0gbm9kZXNNYXRjaDsgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIG5vblRlcm1pbmFsTm9kZU1hdGNoZXM7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IG1hdGNoZXIgPSBuZXcgTWF0Y2hlcigpO1xuIl0sIm5hbWVzIjpbIk1hdGNoZXIiLCJtYXRjaGVyIiwibWF0Y2hOb2RlIiwibm9kZUEiLCJub2RlQiIsInN1YnN0aXR1dGlvbnMiLCJkZXB0aCIsIkluZmluaXR5Iiwibm9kZU1hdGNoZXMiLCJub2RlQVRlcm1pbmFsTm9kZSIsImlzVGVybWluYWxOb2RlIiwibm9kZUJUZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGVBIiwidGVybWluYWxOb2RlQiIsInRlcm1pbmFsTm9kZU1hdGNoZXMiLCJtYXRjaFRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZUEiLCJub25UZXJtaW5hbE5vZGVCIiwibm9uVGVybWluYWxOb2RlTWF0Y2hlcyIsIm1hdGNoTm9uVGVybWluYWxOb2RlIiwibWF0Y2hOb2RlcyIsIm5vZGVzQSIsIm5vZGVzQiIsIm5vZGVzTWF0Y2giLCJub2Rlc0FMZW5ndGgiLCJsZW5ndGgiLCJub2Rlc0JMZW5ndGgiLCJldmVyeSIsImluZGV4IiwibWF0Y2hlcyIsIm1hdGNoIiwibm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJub25UZXJtaW5hbE5vZGVCUnVsZU5hbWUiLCJub25UZXJtaW5hbE5vZGVBQ2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJub25UZXJtaW5hbE5vZGVCQ2hpbGROb2RlcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7OztlQUVxQkE7O0lBK0VSQyxPQUFPO2VBQVBBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBL0VFLElBQUEsQUFBTUQsd0JBK0VsQixBQS9FWTthQUFNQTs4QkFBQUE7O2lCQUFBQTs7WUFDbkJFLEtBQUFBO21CQUFBQSxTQUFBQSxVQUFVQyxLQUFLLEVBQUVDLEtBQUssRUFBRUMsYUFBYSxFQUFvQjtvQkFBbEJDLFFBQUFBLGlFQUFRQyxRQUFRO2dCQUNyRCxJQUFJQyxjQUFjLEtBQUs7Z0JBRXZCLElBQUlGLFVBQVUsR0FBRztvQkFDZkUsY0FBYyxJQUFJO2dCQUNwQixPQUFPO29CQUNMLElBQU1DLG9CQUFvQk4sTUFBTU8sY0FBYyxJQUN4Q0Msb0JBQW9CUCxNQUFNTSxjQUFjO29CQUU5QyxJQUFJRCxzQkFBc0JFLG1CQUFtQjt3QkFDM0MsSUFBSUYsbUJBQW1COzRCQUNyQixJQUFNRyxnQkFBZ0JULE9BQ2hCVSxnQkFBZ0JULE9BQ2hCVSxzQkFBc0IsSUFBSSxDQUFDQyxpQkFBaUIsQ0FBQ0gsZUFBZUM7NEJBRWxFTCxjQUFjTSxxQkFBc0IsR0FBRzt3QkFDekMsT0FBTzs0QkFDTCxJQUFNRSxtQkFBbUJiLE9BQ25CYyxtQkFBbUJiLE9BQ25CYyx5QkFBeUIsSUFBSSxDQUFDQyxvQkFBb0IsQ0FBQ0gsa0JBQWtCQyxrQkFBa0JaLGVBQWVDOzRCQUU1R0UsY0FBY1Usd0JBQXdCLEdBQUc7d0JBQzNDLENBQUM7b0JBQ0gsQ0FBQztnQkFDSCxDQUFDO2dCQUVELE9BQU9WO1lBQ1Q7OztZQUVBWSxLQUFBQTttQkFBQUEsU0FBQUEsV0FBV0MsTUFBTSxFQUFFQyxNQUFNLEVBQUVqQixhQUFhLEVBQW9CO29CQUFsQkMsUUFBQUEsaUVBQVFDLFFBQVE7O2dCQUN4RCxJQUFJZ0IsYUFBYSxLQUFLO2dCQUV0QixJQUFNQyxlQUFlSCxPQUFPSSxNQUFNLEVBQzVCQyxlQUFlSixPQUFPRyxNQUFNO2dCQUVsQyxJQUFJRCxpQkFBaUJFLGNBQWM7b0JBQ2pDcEI7b0JBRUFpQixhQUFhRixPQUFPTSxLQUFLLENBQUMsU0FBQ3hCLE9BQU95QixPQUFVO3dCQUMxQyxJQUFNeEIsUUFBUWtCLE1BQU0sQ0FBQ00sTUFBTSxFQUNyQnBCLGNBQWMsTUFBS04sU0FBUyxDQUFDQyxPQUFPQyxPQUFPQyxlQUFlQzt3QkFFaEUsSUFBSUUsYUFBYTs0QkFDZixPQUFPLElBQUk7d0JBQ2IsQ0FBQztvQkFDSDtnQkFDRixDQUFDO2dCQUVELE9BQU9lO1lBQ1Q7OztZQUVBUixLQUFBQTttQkFBQUEsU0FBQUEsa0JBQWtCSCxhQUFhLEVBQUVDLGFBQWEsRUFBRVIsYUFBYSxFQUFFQyxLQUFLLEVBQUU7Z0JBQ3BFLElBQU11QixVQUFVakIsY0FBY2tCLEtBQUssQ0FBQ2pCLGdCQUM5QkMsc0JBQXNCZSxTQUFVLEdBQUc7Z0JBRXpDLE9BQU9mO1lBQ1Q7OztZQUVBSyxLQUFBQTttQkFBQUEsU0FBQUEscUJBQXFCSCxnQkFBZ0IsRUFBRUMsZ0JBQWdCLEVBQUVaLGFBQWEsRUFBb0I7b0JBQWxCQyxRQUFBQSxpRUFBUUMsUUFBUTtnQkFDdEYsSUFBSVcseUJBQXlCLEtBQUs7Z0JBRWxDLElBQU1hLDJCQUEyQmYsaUJBQWlCZ0IsV0FBVyxJQUN2REMsMkJBQTJCaEIsaUJBQWlCZSxXQUFXLElBQUksR0FBRztnQkFFcEUsSUFBSUQsNkJBQTZCRSwwQkFBMEI7b0JBQ3pELElBQU1DLDZCQUE2QmxCLGlCQUFpQm1CLGFBQWEsSUFDM0RDLDZCQUE2Qm5CLGlCQUFpQmtCLGFBQWEsSUFDM0RkLFNBQVNhLDRCQUNUWixTQUFTYyw0QkFDVGIsYUFBYSxJQUFJLENBQUNILFVBQVUsQ0FBQ0MsUUFBUUMsUUFBUWpCLGVBQWVDO29CQUVsRVkseUJBQXlCSyxZQUFZLEdBQUc7Z0JBQzFDLENBQUM7Z0JBRUQsT0FBT0w7WUFDVDs7O1dBNUVtQmxCOztBQStFZCxJQUFNQyxVQUFVLElBQUlEIn0=