occam-verify-cli 0.0.936 → 0.0.938

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 (72) hide show
  1. package/lib/conclusion.js +7 -10
  2. package/lib/consequent.js +7 -10
  3. package/lib/context/local.js +1 -1
  4. package/lib/equality.js +2 -5
  5. package/lib/premise.js +15 -21
  6. package/lib/proofStep.js +3 -6
  7. package/lib/rule.js +23 -23
  8. package/lib/substitution/statementForMetavariable.js +3 -6
  9. package/lib/supposition.js +15 -21
  10. package/lib/topLevelAssertion.js +27 -23
  11. package/lib/unifier/equality.js +37 -107
  12. package/lib/unifier/metaLevel.js +48 -121
  13. package/lib/unifier/statementAgainstCombinator.js +41 -123
  14. package/lib/unifier/termAgainstConstructor.js +29 -103
  15. package/lib/unifier.js +60 -41
  16. package/lib/unify/metavariableAgainstStatement.js +5 -5
  17. package/lib/unify/statementAgainstMetaType.js +10 -4
  18. package/lib/unify/statementAtainstStatement.js +3 -6
  19. package/lib/unify/termAgainstTerm.js +1 -1
  20. package/lib/unify/termAgainstType.js +10 -4
  21. package/lib/utilities/string.js +2 -2
  22. package/lib/utilities/unifier.js +51 -0
  23. package/lib/verifier/metaLevel.js +48 -128
  24. package/lib/verifier/statementAsCombinator.js +48 -128
  25. package/lib/verifier/termAsConstructor.js +42 -112
  26. package/lib/verifier.js +50 -33
  27. package/lib/verify/assertion/contained.js +3 -6
  28. package/lib/verify/assertion/defined.js +3 -6
  29. package/lib/verify/assertion/subproof.js +9 -14
  30. package/lib/verify/statement/qualified.js +7 -7
  31. package/lib/verify/statement.js +10 -54
  32. package/lib/verify/statementAsCombinator.js +4 -8
  33. package/lib/verify/term.js +5 -5
  34. package/lib/verify/termAsConstructor.js +30 -23
  35. package/package.json +2 -2
  36. package/src/conclusion.js +8 -12
  37. package/src/consequent.js +8 -12
  38. package/src/context/local.js +7 -7
  39. package/src/equality.js +2 -8
  40. package/src/premise.js +20 -28
  41. package/src/proofStep.js +5 -9
  42. package/src/rule.js +22 -22
  43. package/src/substitution/statementForMetavariable.js +4 -8
  44. package/src/supposition.js +20 -28
  45. package/src/topLevelAssertion.js +29 -22
  46. package/src/unifier/equality.js +31 -59
  47. package/src/unifier/metaLevel.js +50 -83
  48. package/src/unifier/statementAgainstCombinator.js +33 -83
  49. package/src/unifier/termAgainstConstructor.js +19 -57
  50. package/src/unifier.js +57 -31
  51. package/src/unify/metavariableAgainstStatement.js +5 -3
  52. package/src/unify/statementAgainstMetaType.js +8 -3
  53. package/src/unify/statementAtainstStatement.js +4 -8
  54. package/src/unify/termAgainstTerm.js +1 -1
  55. package/src/unify/termAgainstType.js +7 -3
  56. package/src/utilities/string.js +1 -1
  57. package/src/verifier/metaLevel.js +37 -81
  58. package/src/verifier/statementAsCombinator.js +39 -82
  59. package/src/verifier/termAsConstructor.js +33 -62
  60. package/src/verifier.js +47 -21
  61. package/src/verify/assertion/contained.js +2 -7
  62. package/src/verify/assertion/defined.js +2 -7
  63. package/src/verify/assertion/subproof.js +3 -16
  64. package/src/verify/statement/qualified.js +7 -7
  65. package/src/verify/statement.js +10 -78
  66. package/src/verify/statementAsCombinator.js +3 -11
  67. package/src/verify/term.js +8 -8
  68. package/src/verify/termAsConstructor.js +40 -27
  69. package/lib/unify/argumentAgainstArgument.js +0 -24
  70. package/lib/utilities/terminalNodes.js +0 -51
  71. package/src/unify/argumentAgainstArgument.js +0 -15
  72. /package/src/utilities/{terminalNodes.js → unifier.js} +0 -0
@@ -8,8 +8,7 @@ Object.defineProperty(exports, "default", {
8
8
  return _default;
9
9
  }
10
10
  });
11
- var _shim = /*#__PURE__*/ _interop_require_default(require("../shim"));
12
- var _unifier = /*#__PURE__*/ _interop_require_wildcard(require("../unifier"));
11
+ var _unifier = /*#__PURE__*/ _interop_require_default(require("../unifier"));
13
12
  var _termAgainstType = /*#__PURE__*/ _interop_require_default(require("../unify/termAgainstType"));
14
13
  var _query = require("../utilities/query");
15
14
  function _assert_this_initialized(self) {
@@ -41,21 +40,18 @@ function _create_class(Constructor, protoProps, staticProps) {
41
40
  if (staticProps) _defineProperties(Constructor, staticProps);
42
41
  return Constructor;
43
42
  }
44
- function _get(target, property, receiver) {
45
- if (typeof Reflect !== "undefined" && Reflect.get) {
46
- _get = Reflect.get;
43
+ function _define_property(obj, key, value) {
44
+ if (key in obj) {
45
+ Object.defineProperty(obj, key, {
46
+ value: value,
47
+ enumerable: true,
48
+ configurable: true,
49
+ writable: true
50
+ });
47
51
  } else {
48
- _get = function get(target, property, receiver) {
49
- var base = _super_prop_base(target, property);
50
- if (!base) return;
51
- var desc = Object.getOwnPropertyDescriptor(base, property);
52
- if (desc.get) {
53
- return desc.get.call(receiver || target);
54
- }
55
- return desc.value;
56
- };
52
+ obj[key] = value;
57
53
  }
58
- return _get(target, property, receiver || target);
54
+ return obj;
59
55
  }
60
56
  function _get_prototype_of(o) {
61
57
  _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
@@ -81,47 +77,6 @@ function _interop_require_default(obj) {
81
77
  default: obj
82
78
  };
83
79
  }
84
- function _getRequireWildcardCache(nodeInterop) {
85
- if (typeof WeakMap !== "function") return null;
86
- var cacheBabelInterop = new WeakMap();
87
- var cacheNodeInterop = new WeakMap();
88
- return (_getRequireWildcardCache = function(nodeInterop) {
89
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
90
- })(nodeInterop);
91
- }
92
- function _interop_require_wildcard(obj, nodeInterop) {
93
- if (!nodeInterop && obj && obj.__esModule) {
94
- return obj;
95
- }
96
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
97
- return {
98
- default: obj
99
- };
100
- }
101
- var cache = _getRequireWildcardCache(nodeInterop);
102
- if (cache && cache.has(obj)) {
103
- return cache.get(obj);
104
- }
105
- var newObj = {
106
- __proto__: null
107
- };
108
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
109
- for(var key in obj){
110
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
111
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
112
- if (desc && (desc.get || desc.set)) {
113
- Object.defineProperty(newObj, key, desc);
114
- } else {
115
- newObj[key] = obj[key];
116
- }
117
- }
118
- }
119
- newObj.default = obj;
120
- if (cache) {
121
- cache.set(obj, newObj);
122
- }
123
- return newObj;
124
- }
125
80
  function _possible_constructor_return(self, call) {
126
81
  if (call && (_type_of(call) === "object" || typeof call === "function")) {
127
82
  return call;
@@ -135,13 +90,6 @@ function _set_prototype_of(o, p) {
135
90
  };
136
91
  return _set_prototype_of(o, p);
137
92
  }
138
- function _super_prop_base(object, property) {
139
- while(!Object.prototype.hasOwnProperty.call(object, property)){
140
- object = _get_prototype_of(object);
141
- if (object === null) break;
142
- }
143
- return object;
144
- }
145
93
  function _type_of(obj) {
146
94
  "@swc/helpers - typeof";
147
95
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
@@ -154,7 +102,7 @@ function _is_native_reflect_construct() {
154
102
  return !!result;
155
103
  })();
156
104
  }
157
- var termNodeQuery = (0, _query.nodeQuery)("/argument/term!"), typeNodeQuery = (0, _query.nodeQuery)("/argument/type!"), nonTerminalNodeQuery = (0, _query.nodeQuery)("/*");
105
+ var termNodeQuery = (0, _query.nodeQuery)("/term"), typeNodeQuery = (0, _query.nodeQuery)("/type");
158
106
  var TermAgainstConstructorUnifier = /*#__PURE__*/ function(Unifier) {
159
107
  _inherits(TermAgainstConstructorUnifier, Unifier);
160
108
  function TermAgainstConstructorUnifier() {
@@ -163,50 +111,28 @@ var TermAgainstConstructorUnifier = /*#__PURE__*/ function(Unifier) {
163
111
  }
164
112
  _create_class(TermAgainstConstructorUnifier, [
165
113
  {
166
- key: "unifyNonTerminalNode",
167
- value: function unifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, localContext, unifyAhead) {
168
- var _this = this;
169
- var nonTerminalNodUnified;
170
- var nodeQueryMaps = [
171
- {
172
- nodeQueryA: termNodeQuery,
173
- nodeQueryB: typeNodeQuery,
174
- unify: function(nodeA, nodeB, localContext, unifyAhead) {
175
- var nonTerminalNodUnified;
176
- var termNodeA = nodeA, typeNodeB = nodeB, termNodUnifiedAgainstTypeNode = _this.unifyTermNodeAgainstTypeNode(termNodeA, typeNodeB, localContext, unifyAhead);
177
- nonTerminalNodUnified = termNodUnifiedAgainstTypeNode; ///
178
- return nonTerminalNodUnified;
179
- }
180
- },
181
- {
182
- nodeQueryA: nonTerminalNodeQuery,
183
- nodeQueryB: nonTerminalNodeQuery,
184
- unify: function(nodeA, nodeB, localContext, unifyAhead) {
185
- var nonTerminalNodUnified;
186
- var _$nonTerminalNodeA = nodeA, _$nonTerminalNodeB = nodeB; ///
187
- nonTerminalNodUnified = _get(_get_prototype_of(TermAgainstConstructorUnifier.prototype), "unifyNonTerminalNode", _this).call(_this, _$nonTerminalNodeA, _$nonTerminalNodeB, localContext, unifyAhead);
188
- return nonTerminalNodUnified;
189
- }
190
- }
191
- ];
192
- var nodesVerified = (0, _unifier.unify)(nodeQueryMaps, nonTerminalNodeA, nonTerminalNodeB, localContext, unifyAhead);
193
- nonTerminalNodUnified = nodesVerified; ///
194
- return nonTerminalNodUnified;
195
- }
196
- },
197
- {
198
- key: "unifyTermNodeAgainstTypeNode",
199
- value: function unifyTermNodeAgainstTypeNode(termNodeA, typeNodeB, localContext, unifyAhead) {
200
- var termNodUnifiedAgainstTypeNode;
201
- var verifyTerm = _shim.default.verifyTerm, termNode = termNodeA, typeNode = typeNodeB, typeUnifiedAgainstTerm = (0, _termAgainstType.default)(termNode, typeNode, localContext, unifyAhead, verifyTerm);
202
- termNodUnifiedAgainstTypeNode = typeUnifiedAgainstTerm; ///
203
- return termNodUnifiedAgainstTypeNode;
114
+ key: "unify",
115
+ value: function unify(termNode, constructorTermNode, localContext, unifyAhead) {
116
+ var termUnifiedAgainstConstructor;
117
+ var nonTerminalNodeA = termNode, nonTerminalNodeB = constructorTermNode, nonTerminalNodeUnified = this.unifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, localContext, unifyAhead);
118
+ termUnifiedAgainstConstructor = nonTerminalNodeUnified; ///
119
+ return termUnifiedAgainstConstructor;
204
120
  }
205
121
  }
206
122
  ]);
207
123
  return TermAgainstConstructorUnifier;
208
124
  }(_unifier.default);
125
+ _define_property(TermAgainstConstructorUnifier, "maps", [
126
+ {
127
+ nodeQueryA: termNodeQuery,
128
+ nodeQueryB: typeNodeQuery,
129
+ unify: function(termNodeA, typeNodeB, localContext, unifyAhead) {
130
+ var termUnifiedAgainstType = (0, _termAgainstType.default)(termNodeA, typeNodeB, localContext, unifyAhead);
131
+ return termUnifiedAgainstType;
132
+ }
133
+ }
134
+ ]);
209
135
  var termAgainstConstructorUnifier = new TermAgainstConstructorUnifier();
210
136
  var _default = termAgainstConstructorUnifier;
211
137
 
212
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmaWVyL3Rlcm1BZ2FpbnN0Q29uc3RydWN0b3IuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBzaGltIGZyb20gXCIuLi9zaGltXCI7XG5pbXBvcnQgVW5pZmllciBmcm9tIFwiLi4vdW5pZmllclwiO1xuaW1wb3J0IHVuaWZ5VGVybUFnYWluc3RUeXBlIGZyb20gXCIuLi91bmlmeS90ZXJtQWdhaW5zdFR5cGVcIjtcblxuaW1wb3J0IHsgdW5pZnkgfSBmcm9tIFwiLi4vdW5pZmllclwiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCB0ZXJtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2FyZ3VtZW50L3Rlcm0hXCIpLFxuICAgICAgdHlwZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9hcmd1bWVudC90eXBlIVwiKSxcbiAgICAgIG5vblRlcm1pbmFsTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiLypcIik7XG5cbmNsYXNzIFRlcm1BZ2FpbnN0Q29uc3RydWN0b3JVbmlmaWVyIGV4dGVuZHMgVW5pZmllciB7XG4gIHVuaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIGxvY2FsQ29udGV4dCwgdW5pZnlBaGVhZCkge1xuICAgIGxldCBub25UZXJtaW5hbE5vZFVuaWZpZWQ7XG5cbiAgICBjb25zdCBub2RlUXVlcnlNYXBzID0gW1xuICAgICAge1xuICAgICAgICBub2RlUXVlcnlBOiB0ZXJtTm9kZVF1ZXJ5LFxuICAgICAgICBub2RlUXVlcnlCOiB0eXBlTm9kZVF1ZXJ5LFxuICAgICAgICB1bmlmeTogKG5vZGVBLCBub2RlQiwgbG9jYWxDb250ZXh0LCB1bmlmeUFoZWFkKSA9PiB7XG4gICAgICAgICAgbGV0IG5vblRlcm1pbmFsTm9kVW5pZmllZDtcblxuICAgICAgICAgIGNvbnN0IHRlcm1Ob2RlQSA9IG5vZGVBLCAgLy8vXG4gICAgICAgICAgICAgICAgdHlwZU5vZGVCID0gbm9kZUIsICAvLy9cbiAgICAgICAgICAgICAgICB0ZXJtTm9kVW5pZmllZEFnYWluc3RUeXBlTm9kZSA9XG5cbiAgICAgICAgICAgICAgICAgIHRoaXMudW5pZnlUZXJtTm9kZUFnYWluc3RUeXBlTm9kZSh0ZXJtTm9kZUEsIHR5cGVOb2RlQiwgbG9jYWxDb250ZXh0LCB1bmlmeUFoZWFkKTtcblxuICAgICAgICAgIG5vblRlcm1pbmFsTm9kVW5pZmllZCA9IHRlcm1Ob2RVbmlmaWVkQWdhaW5zdFR5cGVOb2RlOyAgLy8vXG5cbiAgICAgICAgICByZXR1cm4gbm9uVGVybWluYWxOb2RVbmlmaWVkO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBub2RlUXVlcnlBOiBub25UZXJtaW5hbE5vZGVRdWVyeSxcbiAgICAgICAgbm9kZVF1ZXJ5Qjogbm9uVGVybWluYWxOb2RlUXVlcnksXG4gICAgICAgIHVuaWZ5OiAobm9kZUEsIG5vZGVCLCBsb2NhbENvbnRleHQsIHVuaWZ5QWhlYWQpID0+IHtcbiAgICAgICAgICBsZXQgbm9uVGVybWluYWxOb2RVbmlmaWVkO1xuXG4gICAgICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQSA9IG5vZGVBLCAvLy9cbiAgICAgICAgICAgICAgICBub25UZXJtaW5hbE5vZGVCID0gbm9kZUI7IC8vL1xuXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RVbmlmaWVkID1cblxuICAgICAgICAgICAgc3VwZXIudW5pZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgbG9jYWxDb250ZXh0LCB1bmlmeUFoZWFkKTtcblxuICAgICAgICAgIHJldHVybiBub25UZXJtaW5hbE5vZFVuaWZpZWQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBdO1xuXG4gICAgY29uc3Qgbm9kZXNWZXJpZmllZCA9IHVuaWZ5KG5vZGVRdWVyeU1hcHMsIG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIGxvY2FsQ29udGV4dCwgdW5pZnlBaGVhZCk7XG5cbiAgICBub25UZXJtaW5hbE5vZFVuaWZpZWQgPSBub2Rlc1ZlcmlmaWVkOyAgLy8vXG5cbiAgICByZXR1cm4gbm9uVGVybWluYWxOb2RVbmlmaWVkO1xuICB9XG5cbiAgdW5pZnlUZXJtTm9kZUFnYWluc3RUeXBlTm9kZSh0ZXJtTm9kZUEsIHR5cGVOb2RlQiwgbG9jYWxDb250ZXh0LCB1bmlmeUFoZWFkKSB7XG4gICAgbGV0IHRlcm1Ob2RVbmlmaWVkQWdhaW5zdFR5cGVOb2RlO1xuXG4gICAgY29uc3QgeyB2ZXJpZnlUZXJtIH0gPSBzaGltLFxuICAgICAgICAgIHRlcm1Ob2RlID0gdGVybU5vZGVBLCAvLy9cbiAgICAgICAgICB0eXBlTm9kZSA9IHR5cGVOb2RlQiwgLy8vXG4gICAgICAgICAgdHlwZVVuaWZpZWRBZ2FpbnN0VGVybSA9IHVuaWZ5VGVybUFnYWluc3RUeXBlKHRlcm1Ob2RlLCB0eXBlTm9kZSwgbG9jYWxDb250ZXh0LCB1bmlmeUFoZWFkLCB2ZXJpZnlUZXJtKTtcblxuICAgIHRlcm1Ob2RVbmlmaWVkQWdhaW5zdFR5cGVOb2RlID0gdHlwZVVuaWZpZWRBZ2FpbnN0VGVybTsgLy8vXG5cbiAgICByZXR1cm4gdGVybU5vZFVuaWZpZWRBZ2FpbnN0VHlwZU5vZGU7XG4gIH1cbn1cblxuY29uc3QgdGVybUFnYWluc3RDb25zdHJ1Y3RvclVuaWZpZXIgPSBuZXcgVGVybUFnYWluc3RDb25zdHJ1Y3RvclVuaWZpZXIoKTtcblxuZXhwb3J0IGRlZmF1bHQgdGVybUFnYWluc3RDb25zdHJ1Y3RvclVuaWZpZXI7XG4iXSwibmFtZXMiOlsidGVybU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInR5cGVOb2RlUXVlcnkiLCJub25UZXJtaW5hbE5vZGVRdWVyeSIsIlRlcm1BZ2FpbnN0Q29uc3RydWN0b3JVbmlmaWVyIiwidW5pZnlOb25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGVBIiwibm9uVGVybWluYWxOb2RlQiIsImxvY2FsQ29udGV4dCIsInVuaWZ5QWhlYWQiLCJub25UZXJtaW5hbE5vZFVuaWZpZWQiLCJub2RlUXVlcnlNYXBzIiwibm9kZVF1ZXJ5QSIsIm5vZGVRdWVyeUIiLCJ1bmlmeSIsIm5vZGVBIiwibm9kZUIiLCJ0ZXJtTm9kZUEiLCJ0eXBlTm9kZUIiLCJ0ZXJtTm9kVW5pZmllZEFnYWluc3RUeXBlTm9kZSIsInVuaWZ5VGVybU5vZGVBZ2FpbnN0VHlwZU5vZGUiLCJub2Rlc1ZlcmlmaWVkIiwidmVyaWZ5VGVybSIsInNoaW0iLCJ0ZXJtTm9kZSIsInR5cGVOb2RlIiwidHlwZVVuaWZpZWRBZ2FpbnN0VGVybSIsInVuaWZ5VGVybUFnYWluc3RUeXBlIiwiVW5pZmllciIsInRlcm1BZ2FpbnN0Q29uc3RydWN0b3JVbmlmaWVyIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkE0RUE7OztlQUFBOzs7MkRBMUVpQjsrREFDRztzRUFDYTtxQkFHUDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFMUIsSUFBTUEsZ0JBQWdCQyxJQUFBQSxnQkFBUyxFQUFDLG9CQUMxQkMsZ0JBQWdCRCxJQUFBQSxnQkFBUyxFQUFDLG9CQUMxQkUsdUJBQXVCRixJQUFBQSxnQkFBUyxFQUFDO0FBRXZDLElBQUEsQUFBTUcsOENBQUQsQUFBTDtjQUFNQTthQUFBQTtnQ0FBQUE7aUNBQUFBOztrQkFBQUE7O1lBQ0pDLEtBQUFBO21CQUFBQSxTQUFBQSxxQkFBcUJDLGdCQUFnQixFQUFFQyxnQkFBZ0IsRUFBRUMsWUFBWSxFQUFFQyxVQUFVOztnQkFDL0UsSUFBSUM7Z0JBRUosSUFBTUMsZ0JBQWdCO29CQUNwQjt3QkFDRUMsWUFBWVo7d0JBQ1phLFlBQVlYO3dCQUNaWSxPQUFPLFNBQUNDLE9BQU9DLE9BQU9SLGNBQWNDOzRCQUNsQyxJQUFJQzs0QkFFSixJQUFNTyxZQUFZRixPQUNaRyxZQUFZRixPQUNaRyxnQ0FFRSxNQUFLQyw0QkFBNEIsQ0FBQ0gsV0FBV0MsV0FBV1YsY0FBY0M7NEJBRTlFQyx3QkFBd0JTLCtCQUFnQyxHQUFHOzRCQUUzRCxPQUFPVDt3QkFDVDtvQkFDRjtvQkFDQTt3QkFDRUUsWUFBWVQ7d0JBQ1pVLFlBQVlWO3dCQUNaVyxPQUFPLFNBQUNDLE9BQU9DLE9BQU9SLGNBQWNDOzRCQUNsQyxJQUFJQzs0QkFFSixJQUFNSixxQkFBbUJTLE9BQ25CUixxQkFBbUJTLE9BQU8sR0FBRzs0QkFFbkNOLHdCQUVFLHVCQWpDTk4sMENBaUNZQywyQ0FBcUJDLG9CQUFrQkMsb0JBQWtCQyxjQUFjQzs0QkFFL0UsT0FBT0M7d0JBQ1Q7b0JBQ0Y7aUJBQ0Q7Z0JBRUQsSUFBTVcsZ0JBQWdCUCxJQUFBQSxjQUFLLEVBQUNILGVBQWVMLGtCQUFrQkMsa0JBQWtCQyxjQUFjQztnQkFFN0ZDLHdCQUF3QlcsZUFBZ0IsR0FBRztnQkFFM0MsT0FBT1g7WUFDVDs7O1lBRUFVLEtBQUFBO21CQUFBQSxTQUFBQSw2QkFBNkJILFNBQVMsRUFBRUMsU0FBUyxFQUFFVixZQUFZLEVBQUVDLFVBQVU7Z0JBQ3pFLElBQUlVO2dCQUVKLElBQU0sQUFBRUcsYUFBZUMsYUFBSSxDQUFuQkQsWUFDRkUsV0FBV1AsV0FDWFEsV0FBV1AsV0FDWFEseUJBQXlCQyxJQUFBQSx3QkFBb0IsRUFBQ0gsVUFBVUMsVUFBVWpCLGNBQWNDLFlBQVlhO2dCQUVsR0gsZ0NBQWdDTyx3QkFBd0IsR0FBRztnQkFFM0QsT0FBT1A7WUFDVDs7O1dBMURJZjtFQUFzQ3dCLGdCQUFPO0FBNkRuRCxJQUFNQyxnQ0FBZ0MsSUFBSXpCO0lBRTFDLFdBQWV5QiJ9
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmaWVyL3Rlcm1BZ2FpbnN0Q29uc3RydWN0b3IuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBVbmlmaWVyIGZyb20gXCIuLi91bmlmaWVyXCI7XG5pbXBvcnQgdW5pZnlUZXJtQWdhaW5zdFR5cGUgZnJvbSBcIi4uL3VuaWZ5L3Rlcm1BZ2FpbnN0VHlwZVwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHRlcm1Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdGVybVwiKSxcbiAgICAgIHR5cGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdHlwZVwiKTtcblxuY2xhc3MgVGVybUFnYWluc3RDb25zdHJ1Y3RvclVuaWZpZXIgZXh0ZW5kcyBVbmlmaWVyIHtcbiAgdW5pZnkodGVybU5vZGUsIGNvbnN0cnVjdG9yVGVybU5vZGUsIGxvY2FsQ29udGV4dCwgdW5pZnlBaGVhZCkge1xuICAgIGxldCB0ZXJtVW5pZmllZEFnYWluc3RDb25zdHJ1Y3RvcjtcblxuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUEgPSB0ZXJtTm9kZSwgLy8vXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlQiA9IGNvbnN0cnVjdG9yVGVybU5vZGUsIC8vL1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVVuaWZpZWQgPSB0aGlzLnVuaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIGxvY2FsQ29udGV4dCwgdW5pZnlBaGVhZCk7XG5cbiAgICB0ZXJtVW5pZmllZEFnYWluc3RDb25zdHJ1Y3RvciA9IG5vblRlcm1pbmFsTm9kZVVuaWZpZWQ7IC8vL1xuXG4gICAgcmV0dXJuIHRlcm1VbmlmaWVkQWdhaW5zdENvbnN0cnVjdG9yO1xuICB9O1xuXG4gIHN0YXRpYyBtYXBzID0gW1xuICAgIHtcbiAgICAgIG5vZGVRdWVyeUE6IHRlcm1Ob2RlUXVlcnksXG4gICAgICBub2RlUXVlcnlCOiB0eXBlTm9kZVF1ZXJ5LFxuICAgICAgdW5pZnk6ICh0ZXJtTm9kZUEsIHR5cGVOb2RlQiwgbG9jYWxDb250ZXh0LCB1bmlmeUFoZWFkKSA9PiB7XG4gICAgICAgIGNvbnN0IHRlcm1VbmlmaWVkQWdhaW5zdFR5cGUgPSB1bmlmeVRlcm1BZ2FpbnN0VHlwZSh0ZXJtTm9kZUEsIHR5cGVOb2RlQiwgbG9jYWxDb250ZXh0LCB1bmlmeUFoZWFkKTtcblxuICAgICAgICByZXR1cm4gdGVybVVuaWZpZWRBZ2FpbnN0VHlwZTtcbiAgICAgIH1cbiAgICB9XG4gIF07XG59XG5cbmNvbnN0IHRlcm1BZ2FpbnN0Q29uc3RydWN0b3JVbmlmaWVyID0gbmV3IFRlcm1BZ2FpbnN0Q29uc3RydWN0b3JVbmlmaWVyKCk7XG5cbmV4cG9ydCBkZWZhdWx0IHRlcm1BZ2FpbnN0Q29uc3RydWN0b3JVbmlmaWVyO1xuIl0sIm5hbWVzIjpbInRlcm1Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ0eXBlTm9kZVF1ZXJ5IiwiVGVybUFnYWluc3RDb25zdHJ1Y3RvclVuaWZpZXIiLCJ1bmlmeSIsInRlcm1Ob2RlIiwiY29uc3RydWN0b3JUZXJtTm9kZSIsImxvY2FsQ29udGV4dCIsInVuaWZ5QWhlYWQiLCJ0ZXJtVW5pZmllZEFnYWluc3RDb25zdHJ1Y3RvciIsIm5vblRlcm1pbmFsTm9kZUEiLCJub25UZXJtaW5hbE5vZGVCIiwibm9uVGVybWluYWxOb2RlVW5pZmllZCIsInVuaWZ5Tm9uVGVybWluYWxOb2RlIiwiVW5pZmllciIsIm1hcHMiLCJub2RlUXVlcnlBIiwibm9kZVF1ZXJ5QiIsInRlcm1Ob2RlQSIsInR5cGVOb2RlQiIsInRlcm1VbmlmaWVkQWdhaW5zdFR5cGUiLCJ1bmlmeVRlcm1BZ2FpbnN0VHlwZSIsInRlcm1BZ2FpbnN0Q29uc3RydWN0b3JVbmlmaWVyIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFzQ0E7OztlQUFBOzs7OERBcENvQjtzRUFDYTtxQkFFUDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFMUIsSUFBTUEsZ0JBQWdCQyxJQUFBQSxnQkFBUyxFQUFDLFVBQzFCQyxnQkFBZ0JELElBQUFBLGdCQUFTLEVBQUM7QUFFaEMsSUFBQSxBQUFNRSw4Q0FBRCxBQUFMO2NBQU1BO2FBQUFBO2dDQUFBQTtpQ0FBQUE7O2tCQUFBQTs7WUFDSkMsS0FBQUE7bUJBQUFBLFNBQUFBLE1BQU1DLFFBQVEsRUFBRUMsbUJBQW1CLEVBQUVDLFlBQVksRUFBRUMsVUFBVTtnQkFDM0QsSUFBSUM7Z0JBRUosSUFBTUMsbUJBQW1CTCxVQUNuQk0sbUJBQW1CTCxxQkFDbkJNLHlCQUF5QixJQUFJLENBQUNDLG9CQUFvQixDQUFDSCxrQkFBa0JDLGtCQUFrQkosY0FBY0M7Z0JBRTNHQyxnQ0FBZ0NHLHdCQUF3QixHQUFHO2dCQUUzRCxPQUFPSDtZQUNUOzs7V0FYSU47RUFBc0NXLGdCQUFPO0FBYWpELGlCQWJJWCwrQkFhR1ksUUFBTztJQUNaO1FBQ0VDLFlBQVloQjtRQUNaaUIsWUFBWWY7UUFDWkUsT0FBTyxTQUFDYyxXQUFXQyxXQUFXWixjQUFjQztZQUMxQyxJQUFNWSx5QkFBeUJDLElBQUFBLHdCQUFvQixFQUFDSCxXQUFXQyxXQUFXWixjQUFjQztZQUV4RixPQUFPWTtRQUNUO0lBQ0Y7Q0FDRDtBQUdILElBQU1FLGdDQUFnQyxJQUFJbkI7SUFFMUMsV0FBZW1CIn0=
package/lib/unifier.js CHANGED
@@ -2,21 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: all[name]
9
- });
10
- }
11
- _export(exports, {
12
- default: function() {
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
13
8
  return Unifier;
14
- },
15
- unify: function() {
16
- return unify;
17
9
  }
18
10
  });
19
- var _terminalNodes = require("./utilities/terminalNodes");
11
+ var _query = require("./utilities/query");
12
+ var _unifier = require("./utilities/unifier");
20
13
  function _array_like_to_array(arr, len) {
21
14
  if (len == null || len > arr.length) len = arr.length;
22
15
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
@@ -61,11 +54,27 @@ function _unsupported_iterable_to_array(o, minLen) {
61
54
  if (n === "Map" || n === "Set") return Array.from(n);
62
55
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
63
56
  }
57
+ var nonTerminalNodeQuery = (0, _query.nodeQuery)("/*");
64
58
  var Unifier = /*#__PURE__*/ function() {
65
59
  function Unifier() {
66
60
  _class_call_check(this, Unifier);
67
61
  }
68
62
  _create_class(Unifier, [
63
+ {
64
+ key: "unify",
65
+ value: function unify(nodeA, nodeB) {
66
+ for(var _len = arguments.length, remainingArguments = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){
67
+ remainingArguments[_key - 2] = arguments[_key];
68
+ }
69
+ var unified;
70
+ var nodeUnified = this.unifyNode.apply(this, [
71
+ nodeA,
72
+ nodeB
73
+ ].concat(_to_consumable_array(remainingArguments)));
74
+ unified = nodeUnified; ///
75
+ return unified;
76
+ }
77
+ },
69
78
  {
70
79
  key: "unifyNode",
71
80
  value: function unifyNode(nodeA, nodeB) {
@@ -101,7 +110,7 @@ var Unifier = /*#__PURE__*/ function() {
101
110
  var childNodesUnified = false;
102
111
  var childNodesALength = childNodesA.length, childNodesBLength = childNodesB.length;
103
112
  if (childNodesALength === childNodesBLength) {
104
- var childTerminalNodeMapA = (0, _terminalNodes.terminalNodeMapFromNodes)(childNodesA), childTerminalNodeMapB = (0, _terminalNodes.terminalNodeMapFromNodes)(childNodesB), terminalNodeMapsEqual = (0, _terminalNodes.areTerminalNodeMapsEqual)(childTerminalNodeMapA, childTerminalNodeMapB);
113
+ var childTerminalNodeMapA = (0, _unifier.terminalNodeMapFromNodes)(childNodesA), childTerminalNodeMapB = (0, _unifier.terminalNodeMapFromNodes)(childNodesB), terminalNodeMapsEqual = (0, _unifier.areTerminalNodeMapsEqual)(childTerminalNodeMapA, childTerminalNodeMapB);
105
114
  if (terminalNodeMapsEqual) {
106
115
  var index = 0, childNodesVerifyAhead = this.unifyChildNodesAhead.apply(this, [
107
116
  index,
@@ -132,15 +141,43 @@ var Unifier = /*#__PURE__*/ function() {
132
141
  for(var _len = arguments.length, remainingArguments = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){
133
142
  remainingArguments[_key - 2] = arguments[_key];
134
143
  }
135
- var nonTerminalNodeUnified = false;
136
- var nonTerminalNodeARuleName = nonTerminalNodeA.getRuleName(), nonTerminalNodeBRuleName = nonTerminalNodeB.getRuleName(); ///
137
- if (nonTerminalNodeARuleName === nonTerminalNodeBRuleName) {
138
- var nonTerminalNodeAChildNodes = nonTerminalNodeA.getChildNodes(), nonTerminalNodeBChildNodes = nonTerminalNodeB.getChildNodes(), childNodesA = nonTerminalNodeAChildNodes, childNodesB = nonTerminalNodeBChildNodes, childNodesUnified = this.unifyChildNodes.apply(this, [
139
- childNodesA,
140
- childNodesB
141
- ].concat(_to_consumable_array(remainingArguments)));
142
- nonTerminalNodeUnified = childNodesUnified; ///
143
- }
144
+ var _this = this;
145
+ var nonTerminalNodeUnified;
146
+ var maps = this.constructor.maps;
147
+ maps = _to_consumable_array(maps).concat([
148
+ {
149
+ nodeQueryA: nonTerminalNodeQuery,
150
+ nodeQueryB: nonTerminalNodeQuery,
151
+ unify: function(nodeA, nobeB) {
152
+ for(var _len = arguments.length, remainingArguments = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){
153
+ remainingArguments[_key - 2] = arguments[_key];
154
+ }
155
+ var nonTerminalNodeUnified;
156
+ var nonTerminalNodeARuleName = nonTerminalNodeA.getRuleName(), nonTerminalNodeBRuleName = nonTerminalNodeB.getRuleName(); ///
157
+ if (nonTerminalNodeARuleName === nonTerminalNodeBRuleName) {
158
+ var nonTerminalNodeAChildNodes = nonTerminalNodeA.getChildNodes(), nonTerminalNodeBChildNodes = nonTerminalNodeB.getChildNodes(), childNodesA = nonTerminalNodeAChildNodes, childNodesB = nonTerminalNodeBChildNodes, childNodesUnified = _this.unifyChildNodes.apply(_this, [
159
+ childNodesA,
160
+ childNodesB
161
+ ].concat(_to_consumable_array(remainingArguments)));
162
+ nonTerminalNodeUnified = childNodesUnified; ///
163
+ }
164
+ return nonTerminalNodeUnified;
165
+ }
166
+ }
167
+ ]);
168
+ var nodeUnified = false;
169
+ maps.some(function(map) {
170
+ var nodeQueryA = map.nodeQueryA, nodeQueryB = map.nodeQueryB, unify = map.unify;
171
+ var nodeA = nodeQueryA(nonTerminalNodeA), nodeB = nodeQueryB(nonTerminalNodeB); ///
172
+ if (nodeA !== null && nodeB !== null) {
173
+ nodeUnified = unify.apply(void 0, [
174
+ nodeA,
175
+ nodeB
176
+ ].concat(_to_consumable_array(remainingArguments)));
177
+ return true;
178
+ }
179
+ });
180
+ nonTerminalNodeUnified = nodeUnified; ///
144
181
  return nonTerminalNodeUnified;
145
182
  }
146
183
  },
@@ -179,23 +216,5 @@ var Unifier = /*#__PURE__*/ function() {
179
216
  ]);
180
217
  return Unifier;
181
218
  }();
182
- function unify(nodeQueryMaps, nonTerminalNodeA, nonTerminalNodeB) {
183
- for(var _len = arguments.length, remainingArguments = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++){
184
- remainingArguments[_key - 3] = arguments[_key];
185
- }
186
- var unified = false;
187
- nodeQueryMaps.some(function(nodeQueryMap) {
188
- var nodeQueryA = nodeQueryMap.nodeQueryA, nodeQueryB = nodeQueryMap.nodeQueryB, unify = nodeQueryMap.unify;
189
- var nodeA = nodeQueryA(nonTerminalNodeA), nodeB = nodeQueryB(nonTerminalNodeB); ///
190
- if (nodeA !== null && nodeB !== null) {
191
- unified = unify.apply(void 0, [
192
- nodeA,
193
- nodeB
194
- ].concat(_to_consumable_array(remainingArguments)));
195
- return true;
196
- }
197
- });
198
- return unified;
199
- }
200
219
 
201
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91bmlmaWVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyB0ZXJtaW5hbE5vZGVNYXBGcm9tTm9kZXMsIGFyZVRlcm1pbmFsTm9kZU1hcHNFcXVhbCB9IGZyb20gXCIuL3V0aWxpdGllcy90ZXJtaW5hbE5vZGVzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFVuaWZpZXIge1xuICB1bmlmeU5vZGUobm9kZUEsIG5vZGVCLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBsZXQgbm9kZVVuaWZpZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IG5vZGVBVGVybWluYWxOb2RlID0gbm9kZUEuaXNUZXJtaW5hbE5vZGUoKSxcbiAgICAgICAgICBub2RlQlRlcm1pbmFsTm9kZSA9IG5vZGVCLmlzVGVybWluYWxOb2RlKCksXG4gICAgICAgICAgbm9kZUFOb25UZXJtaW5hbE5vZGUgPSBub2RlQS5pc05vblRlcm1pbmFsTm9kZSgpLFxuICAgICAgICAgIG5vZGVCTm9uVGVybWluYWxOb2RlID0gbm9kZUIuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgIGlmIChmYWxzZSkge1xuICAgICAgLy8vXG4gICAgfSBlbHNlIGlmIChub2RlQVRlcm1pbmFsTm9kZSAmJiBub2RlQlRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3QgdGVybWluYWxOb2RlQSA9IG5vZGVBLCAgLy8vXG4gICAgICAgICAgICB0ZXJtaW5hbE5vZGVCID0gbm9kZUIsICAvLy9cbiAgICAgICAgICAgIHRlcm1pbmFsTm9kZVVuaWZpZWQgPSB0aGlzLnVuaWZ5VGVybWluYWxOb2RlKHRlcm1pbmFsTm9kZUEsIHRlcm1pbmFsTm9kZUIsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICAgIG5vZGVVbmlmaWVkID0gdGVybWluYWxOb2RlVW5pZmllZDsgIC8vL1xuICAgIH0gZWxzZSBpZiAobm9kZUFOb25UZXJtaW5hbE5vZGUgJiYgbm9kZUJOb25UZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUEgPSBub2RlQSwgIC8vL1xuICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlQiA9IG5vZGVCLCAvLy9cbiAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVVuaWZpZWQgPSB0aGlzLnVuaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICAgIG5vZGVVbmlmaWVkID0gbm9uVGVybWluYWxOb2RlVW5pZmllZDsgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIG5vZGVVbmlmaWVkO1xuICB9XG5cbiAgdW5pZnlDaGlsZE5vZGVzKGNoaWxkTm9kZXNBLCBjaGlsZE5vZGVzQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgbGV0IGNoaWxkTm9kZXNVbmlmaWVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBjaGlsZE5vZGVzQUxlbmd0aCA9IGNoaWxkTm9kZXNBLmxlbmd0aCxcbiAgICAgICAgICBjaGlsZE5vZGVzQkxlbmd0aCA9IGNoaWxkTm9kZXNCLmxlbmd0aDtcblxuICAgIGlmIChjaGlsZE5vZGVzQUxlbmd0aCA9PT0gY2hpbGROb2Rlc0JMZW5ndGgpIHtcbiAgICAgIGNvbnN0IGNoaWxkVGVybWluYWxOb2RlTWFwQSA9IHRlcm1pbmFsTm9kZU1hcEZyb21Ob2RlcyhjaGlsZE5vZGVzQSksXG4gICAgICAgICAgICBjaGlsZFRlcm1pbmFsTm9kZU1hcEIgPSB0ZXJtaW5hbE5vZGVNYXBGcm9tTm9kZXMoY2hpbGROb2Rlc0IpLFxuICAgICAgICAgICAgdGVybWluYWxOb2RlTWFwc0VxdWFsID0gYXJlVGVybWluYWxOb2RlTWFwc0VxdWFsKGNoaWxkVGVybWluYWxOb2RlTWFwQSwgY2hpbGRUZXJtaW5hbE5vZGVNYXBCKTtcblxuICAgICAgaWYgKHRlcm1pbmFsTm9kZU1hcHNFcXVhbCkge1xuICAgICAgICBjb25zdCBpbmRleCA9IDAsXG4gICAgICAgICAgICAgIGNoaWxkTm9kZXNWZXJpZnlBaGVhZCA9IHRoaXMudW5pZnlDaGlsZE5vZGVzQWhlYWQoaW5kZXgsIGNoaWxkTm9kZXNBLCBjaGlsZE5vZGVzQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcblxuICAgICAgICBjaGlsZE5vZGVzVW5pZmllZCA9IGNoaWxkTm9kZXNWZXJpZnlBaGVhZDsgLy8vXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGNoaWxkTm9kZXNVbmlmaWVkO1xuICB9XG5cbiAgdW5pZnlUZXJtaW5hbE5vZGUodGVybWluYWxOb2RlQSwgdGVybWluYWxOb2RlQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7IC8vL1xuICAgIGxldCB0ZXJtaW5hbE5vZGVVbmlmaWVkO1xuXG4gICAgY29uc3QgdW5pZnlBaGVhZCA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKSxcbiAgICAgICAgICB1bmlmeWllZEFoZWFkID0gdW5pZnlBaGVhZCgpO1xuXG4gICAgdGVybWluYWxOb2RlVW5pZmllZCA9IHVuaWZ5aWVkQWhlYWQ7ICAvLy9cblxuICAgIHJldHVybiB0ZXJtaW5hbE5vZGVVbmlmaWVkO1xuICB9XG5cbiAgdW5pZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgbGV0IG5vblRlcm1pbmFsTm9kZVVuaWZpZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUFSdWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZUEuZ2V0UnVsZU5hbWUoKSwgLy8vXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlQi5nZXRSdWxlTmFtZSgpOyAvLy9cblxuICAgIGlmIChub25UZXJtaW5hbE5vZGVBUnVsZU5hbWUgPT09IG5vblRlcm1pbmFsTm9kZUJSdWxlTmFtZSkge1xuICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQUNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGVBLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUJDaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlQi5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgICBjaGlsZE5vZGVzQSA9IG5vblRlcm1pbmFsTm9kZUFDaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICAgIGNoaWxkTm9kZXNCID0gbm9uVGVybWluYWxOb2RlQkNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgICAgY2hpbGROb2Rlc1VuaWZpZWQgPSB0aGlzLnVuaWZ5Q2hpbGROb2RlcyhjaGlsZE5vZGVzQSwgY2hpbGROb2Rlc0IsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICAgIG5vblRlcm1pbmFsTm9kZVVuaWZpZWQgPSBjaGlsZE5vZGVzVW5pZmllZDsgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIG5vblRlcm1pbmFsTm9kZVVuaWZpZWQ7XG4gIH1cblxuICB1bmlmeUNoaWxkTm9kZXNBaGVhZChpbmRleCwgY2hpbGROb2Rlc0EsIGNoaWxkTm9kZXNCLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBsZXQgY2hpbGROb2Rlc1VuaWZpZWQ7XG5cbiAgICBjb25zdCB1bmlmeUFoZWFkID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpLCAvLy9cbiAgICAgICAgICBjaGlsZE5vZGVzQUxlbmd0aCA9IGNoaWxkTm9kZXNBLmxlbmd0aDtcblxuICAgIGlmIChpbmRleCA9PT0gY2hpbGROb2Rlc0FMZW5ndGgpIHtcbiAgICAgIGNvbnN0IHVuaWZ5aWVkQWhlYWQgPSB1bmlmeUFoZWFkKCk7XG5cbiAgICAgIGNoaWxkTm9kZXNVbmlmaWVkID0gdW5pZnlpZWRBaGVhZDsgLy8vXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGNoaWxkTm9kZUEgPSBjaGlsZE5vZGVzQVtpbmRleF0sXG4gICAgICAgICAgICBjaGlsZE5vZGVCID0gY2hpbGROb2Rlc0JbaW5kZXhdLFxuICAgICAgICAgICAgbm9kZUEgPSBjaGlsZE5vZGVBLCAvLy9cbiAgICAgICAgICAgIG5vZGVCID0gY2hpbGROb2RlQiwgLy8vXG4gICAgICAgICAgICBub2RlVW5pZmllZCA9IHRoaXMudW5pZnlOb2RlKG5vZGVBLCBub2RlQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCAoKSA9PiB7XG4gICAgICAgICAgICAgIHJlbWFpbmluZ0FyZ3VtZW50cy5wdXNoKHVuaWZ5QWhlYWQpOyAvLy9cblxuICAgICAgICAgICAgICBjb25zdCBhaGVhZEluZGV4ID0gaW5kZXggKyAxLFxuICAgICAgICAgICAgICAgICAgICBjaGlsZE5vZGVzVmVyaWZ5QWhlYWQgPSB0aGlzLnVuaWZ5Q2hpbGROb2Rlc0FoZWFkKGFoZWFkSW5kZXgsIGNoaWxkTm9kZXNBLCBjaGlsZE5vZGVzQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcblxuICAgICAgICAgICAgICByZXR1cm4gY2hpbGROb2Rlc1ZlcmlmeUFoZWFkO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgIGNoaWxkTm9kZXNVbmlmaWVkID0gbm9kZVVuaWZpZWQ7ICAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gY2hpbGROb2Rlc1VuaWZpZWQ7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVuaWZ5KG5vZGVRdWVyeU1hcHMsIG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICBsZXQgdW5pZmllZCA9IGZhbHNlO1xuXG4gIG5vZGVRdWVyeU1hcHMuc29tZSgobm9kZVF1ZXJ5TWFwKSA9PiB7XG4gICAgY29uc3QgeyBub2RlUXVlcnlBLCBub2RlUXVlcnlCLCB1bmlmeSB9ID0gbm9kZVF1ZXJ5TWFwO1xuXG4gICAgY29uc3Qgbm9kZUEgPSBub2RlUXVlcnlBKG5vblRlcm1pbmFsTm9kZUEpLCAgLy8vXG4gICAgICAgICAgbm9kZUIgPSBub2RlUXVlcnlCKG5vblRlcm1pbmFsTm9kZUIpOyAgLy8vXG5cbiAgICBpZiAoKG5vZGVBICE9PSBudWxsKSAmJiAobm9kZUIgIT09IG51bGwpKSB7XG4gICAgICB1bmlmaWVkID0gdW5pZnkobm9kZUEsIG5vZGVCLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiB1bmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbIlVuaWZpZXIiLCJ1bmlmeSIsInVuaWZ5Tm9kZSIsIm5vZGVBIiwibm9kZUIiLCJyZW1haW5pbmdBcmd1bWVudHMiLCJub2RlVW5pZmllZCIsIm5vZGVBVGVybWluYWxOb2RlIiwiaXNUZXJtaW5hbE5vZGUiLCJub2RlQlRlcm1pbmFsTm9kZSIsIm5vZGVBTm9uVGVybWluYWxOb2RlIiwiaXNOb25UZXJtaW5hbE5vZGUiLCJub2RlQk5vblRlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZUEiLCJ0ZXJtaW5hbE5vZGVCIiwidGVybWluYWxOb2RlVW5pZmllZCIsInVuaWZ5VGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlQSIsIm5vblRlcm1pbmFsTm9kZUIiLCJub25UZXJtaW5hbE5vZGVVbmlmaWVkIiwidW5pZnlOb25UZXJtaW5hbE5vZGUiLCJ1bmlmeUNoaWxkTm9kZXMiLCJjaGlsZE5vZGVzQSIsImNoaWxkTm9kZXNCIiwiY2hpbGROb2Rlc1VuaWZpZWQiLCJjaGlsZE5vZGVzQUxlbmd0aCIsImxlbmd0aCIsImNoaWxkTm9kZXNCTGVuZ3RoIiwiY2hpbGRUZXJtaW5hbE5vZGVNYXBBIiwidGVybWluYWxOb2RlTWFwRnJvbU5vZGVzIiwiY2hpbGRUZXJtaW5hbE5vZGVNYXBCIiwidGVybWluYWxOb2RlTWFwc0VxdWFsIiwiYXJlVGVybWluYWxOb2RlTWFwc0VxdWFsIiwiaW5kZXgiLCJjaGlsZE5vZGVzVmVyaWZ5QWhlYWQiLCJ1bmlmeUNoaWxkTm9kZXNBaGVhZCIsInVuaWZ5QWhlYWQiLCJwb3AiLCJ1bmlmeWllZEFoZWFkIiwibm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJub25UZXJtaW5hbE5vZGVCUnVsZU5hbWUiLCJub25UZXJtaW5hbE5vZGVBQ2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJub25UZXJtaW5hbE5vZGVCQ2hpbGROb2RlcyIsImNoaWxkTm9kZUEiLCJjaGlsZE5vZGVCIiwicHVzaCIsImFoZWFkSW5kZXgiLCJub2RlUXVlcnlNYXBzIiwidW5pZmllZCIsInNvbWUiLCJub2RlUXVlcnlNYXAiLCJub2RlUXVlcnlBIiwibm9kZVF1ZXJ5QiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7OztlQUlxQkE7O0lBK0dMQyxLQUFLO2VBQUxBOzs7NkJBakhtRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXBELElBQUEsQUFBTUQsd0JBQUQsQUFBTDthQUFNQTtnQ0FBQUE7O2tCQUFBQTs7WUFDbkJFLEtBQUFBO21CQUFBQSxTQUFBQSxVQUFVQyxLQUFLLEVBQUVDLEtBQUs7Z0JBQUUsSUFBQSxJQUFBLE9BQUEsVUFBQSxRQUFBLEFBQUdDLHFCQUFILFVBQUEsT0FBQSxJQUFBLE9BQUEsUUFBQSxPQUFBLEdBQUEsT0FBQSxNQUFBO29CQUFHQSxtQkFBSCxPQUFBLEtBQUEsU0FBQSxDQUFBLEtBQXFCOztnQkFDM0MsSUFBSUMsY0FBYztnQkFFbEIsSUFBTUMsb0JBQW9CSixNQUFNSyxjQUFjLElBQ3hDQyxvQkFBb0JMLE1BQU1JLGNBQWMsSUFDeENFLHVCQUF1QlAsTUFBTVEsaUJBQWlCLElBQzlDQyx1QkFBdUJSLE1BQU1PLGlCQUFpQjtnQkFFcEQsSUFBSSxPQUFPO2dCQUNULEdBQUc7Z0JBQ0wsT0FBTyxJQUFJSixxQkFBcUJFLG1CQUFtQjtvQkFDakQsSUFBTUksZ0JBQWdCVixPQUNoQlcsZ0JBQWdCVixPQUNoQlcsc0JBQXNCLElBQUksQ0FBQ0MsaUJBQWlCLENBQXRCLE1BQUEsSUFBSSxFQUFKO3dCQUF1Qkg7d0JBQWVD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
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91bmlmaWVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IHRlcm1pbmFsTm9kZU1hcEZyb21Ob2RlcywgYXJlVGVybWluYWxOb2RlTWFwc0VxdWFsIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3VuaWZpZXJcIjtcblxuY29uc3Qgbm9uVGVybWluYWxOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvKlwiKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVW5pZmllciB7XG4gIHVuaWZ5KG5vZGVBLCBub2RlQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgbGV0IHVuaWZpZWQ7XG5cbiAgICBjb25zdCBub2RlVW5pZmllZCA9IHRoaXMudW5pZnlOb2RlKG5vZGVBLCBub2RlQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcblxuICAgIHVuaWZpZWQgPSBub2RlVW5pZmllZDsgIC8vL1xuXG4gICAgcmV0dXJuIHVuaWZpZWQ7XG4gIH1cblxuICB1bmlmeU5vZGUobm9kZUEsIG5vZGVCLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBsZXQgbm9kZVVuaWZpZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IG5vZGVBVGVybWluYWxOb2RlID0gbm9kZUEuaXNUZXJtaW5hbE5vZGUoKSxcbiAgICAgICAgICBub2RlQlRlcm1pbmFsTm9kZSA9IG5vZGVCLmlzVGVybWluYWxOb2RlKCksXG4gICAgICAgICAgbm9kZUFOb25UZXJtaW5hbE5vZGUgPSBub2RlQS5pc05vblRlcm1pbmFsTm9kZSgpLFxuICAgICAgICAgIG5vZGVCTm9uVGVybWluYWxOb2RlID0gbm9kZUIuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgIGlmIChmYWxzZSkge1xuICAgICAgLy8vXG4gICAgfSBlbHNlIGlmIChub2RlQVRlcm1pbmFsTm9kZSAmJiBub2RlQlRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3QgdGVybWluYWxOb2RlQSA9IG5vZGVBLCAgLy8vXG4gICAgICAgICAgICB0ZXJtaW5hbE5vZGVCID0gbm9kZUIsICAvLy9cbiAgICAgICAgICAgIHRlcm1pbmFsTm9kZVVuaWZpZWQgPSB0aGlzLnVuaWZ5VGVybWluYWxOb2RlKHRlcm1pbmFsTm9kZUEsIHRlcm1pbmFsTm9kZUIsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICAgIG5vZGVVbmlmaWVkID0gdGVybWluYWxOb2RlVW5pZmllZDsgIC8vL1xuICAgIH0gZWxzZSBpZiAobm9kZUFOb25UZXJtaW5hbE5vZGUgJiYgbm9kZUJOb25UZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUEgPSBub2RlQSwgIC8vL1xuICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlQiA9IG5vZGVCLCAvLy9cbiAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVVuaWZpZWQgPSB0aGlzLnVuaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICAgIG5vZGVVbmlmaWVkID0gbm9uVGVybWluYWxOb2RlVW5pZmllZDsgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIG5vZGVVbmlmaWVkO1xuICB9XG5cbiAgdW5pZnlDaGlsZE5vZGVzKGNoaWxkTm9kZXNBLCBjaGlsZE5vZGVzQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgbGV0IGNoaWxkTm9kZXNVbmlmaWVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBjaGlsZE5vZGVzQUxlbmd0aCA9IGNoaWxkTm9kZXNBLmxlbmd0aCxcbiAgICAgICAgICBjaGlsZE5vZGVzQkxlbmd0aCA9IGNoaWxkTm9kZXNCLmxlbmd0aDtcblxuICAgIGlmIChjaGlsZE5vZGVzQUxlbmd0aCA9PT0gY2hpbGROb2Rlc0JMZW5ndGgpIHtcbiAgICAgIGNvbnN0IGNoaWxkVGVybWluYWxOb2RlTWFwQSA9IHRlcm1pbmFsTm9kZU1hcEZyb21Ob2RlcyhjaGlsZE5vZGVzQSksXG4gICAgICAgICAgICBjaGlsZFRlcm1pbmFsTm9kZU1hcEIgPSB0ZXJtaW5hbE5vZGVNYXBGcm9tTm9kZXMoY2hpbGROb2Rlc0IpLFxuICAgICAgICAgICAgdGVybWluYWxOb2RlTWFwc0VxdWFsID0gYXJlVGVybWluYWxOb2RlTWFwc0VxdWFsKGNoaWxkVGVybWluYWxOb2RlTWFwQSwgY2hpbGRUZXJtaW5hbE5vZGVNYXBCKTtcblxuICAgICAgaWYgKHRlcm1pbmFsTm9kZU1hcHNFcXVhbCkge1xuICAgICAgICBjb25zdCBpbmRleCA9IDAsXG4gICAgICAgICAgICAgIGNoaWxkTm9kZXNWZXJpZnlBaGVhZCA9IHRoaXMudW5pZnlDaGlsZE5vZGVzQWhlYWQoaW5kZXgsIGNoaWxkTm9kZXNBLCBjaGlsZE5vZGVzQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcblxuICAgICAgICBjaGlsZE5vZGVzVW5pZmllZCA9IGNoaWxkTm9kZXNWZXJpZnlBaGVhZDsgLy8vXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGNoaWxkTm9kZXNVbmlmaWVkO1xuICB9XG5cbiAgdW5pZnlUZXJtaW5hbE5vZGUodGVybWluYWxOb2RlQSwgdGVybWluYWxOb2RlQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7IC8vL1xuICAgIGxldCB0ZXJtaW5hbE5vZGVVbmlmaWVkO1xuXG4gICAgY29uc3QgdW5pZnlBaGVhZCA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKSxcbiAgICAgICAgICB1bmlmeWllZEFoZWFkID0gdW5pZnlBaGVhZCgpO1xuXG4gICAgdGVybWluYWxOb2RlVW5pZmllZCA9IHVuaWZ5aWVkQWhlYWQ7ICAvLy9cblxuICAgIHJldHVybiB0ZXJtaW5hbE5vZGVVbmlmaWVkO1xuICB9XG5cbiAgdW5pZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgbGV0IG5vblRlcm1pbmFsTm9kZVVuaWZpZWQ7XG5cbiAgICBsZXQgeyBtYXBzIH0gPSB0aGlzLmNvbnN0cnVjdG9yO1xuXG4gICAgbWFwcyA9IFsgLy8vXG4gICAgICAuLi5tYXBzLFxuICAgICAge1xuICAgICAgICBub2RlUXVlcnlBOiBub25UZXJtaW5hbE5vZGVRdWVyeSxcbiAgICAgICAgbm9kZVF1ZXJ5Qjogbm9uVGVybWluYWxOb2RlUXVlcnksXG4gICAgICAgIHVuaWZ5OiAobm9kZUEsIG5vYmVCLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpID0+IHtcbiAgICAgICAgICBsZXQgbm9uVGVybWluYWxOb2RlVW5pZmllZDtcblxuICAgICAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUFSdWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZUEuZ2V0UnVsZU5hbWUoKSwgLy8vXG4gICAgICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlQi5nZXRSdWxlTmFtZSgpOyAvLy9cblxuICAgICAgICAgIGlmIChub25UZXJtaW5hbE5vZGVBUnVsZU5hbWUgPT09IG5vblRlcm1pbmFsTm9kZUJSdWxlTmFtZSkge1xuICAgICAgICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQUNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGVBLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUJDaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlQi5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgICAgICAgICBjaGlsZE5vZGVzQSA9IG5vblRlcm1pbmFsTm9kZUFDaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICAgICAgICAgIGNoaWxkTm9kZXNCID0gbm9uVGVybWluYWxOb2RlQkNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgICAgICAgICAgY2hpbGROb2Rlc1VuaWZpZWQgPSB0aGlzLnVuaWZ5Q2hpbGROb2RlcyhjaGlsZE5vZGVzQSwgY2hpbGROb2Rlc0IsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVVuaWZpZWQgPSBjaGlsZE5vZGVzVW5pZmllZDsgLy8vXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIG5vblRlcm1pbmFsTm9kZVVuaWZpZWQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBdXG5cbiAgICBsZXQgbm9kZVVuaWZpZWQgPSBmYWxzZTtcblxuICAgIG1hcHMuc29tZSgobWFwKSA9PiB7XG4gICAgICBjb25zdCB7IG5vZGVRdWVyeUEsIG5vZGVRdWVyeUIsIHVuaWZ5IH0gPSBtYXA7XG5cbiAgICAgIGNvbnN0IG5vZGVBID0gbm9kZVF1ZXJ5QShub25UZXJtaW5hbE5vZGVBKSwgIC8vL1xuICAgICAgICAgICAgbm9kZUIgPSBub2RlUXVlcnlCKG5vblRlcm1pbmFsTm9kZUIpOyAgLy8vXG5cbiAgICAgIGlmICgobm9kZUEgIT09IG51bGwpICYmIChub2RlQiAhPT0gbnVsbCkpIHtcbiAgICAgICAgbm9kZVVuaWZpZWQgPSB1bmlmeShub2RlQSwgbm9kZUIsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBub25UZXJtaW5hbE5vZGVVbmlmaWVkID0gbm9kZVVuaWZpZWQ7IC8vL1xuXG4gICAgcmV0dXJuIG5vblRlcm1pbmFsTm9kZVVuaWZpZWQ7XG4gIH1cblxuICB1bmlmeUNoaWxkTm9kZXNBaGVhZChpbmRleCwgY2hpbGROb2Rlc0EsIGNoaWxkTm9kZXNCLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBsZXQgY2hpbGROb2Rlc1VuaWZpZWQ7XG5cbiAgICBjb25zdCB1bmlmeUFoZWFkID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpLCAvLy9cbiAgICAgICAgICBjaGlsZE5vZGVzQUxlbmd0aCA9IGNoaWxkTm9kZXNBLmxlbmd0aDtcblxuICAgIGlmIChpbmRleCA9PT0gY2hpbGROb2Rlc0FMZW5ndGgpIHtcbiAgICAgIGNvbnN0IHVuaWZ5aWVkQWhlYWQgPSB1bmlmeUFoZWFkKCk7XG5cbiAgICAgIGNoaWxkTm9kZXNVbmlmaWVkID0gdW5pZnlpZWRBaGVhZDsgLy8vXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGNoaWxkTm9kZUEgPSBjaGlsZE5vZGVzQVtpbmRleF0sXG4gICAgICAgICAgICBjaGlsZE5vZGVCID0gY2hpbGROb2Rlc0JbaW5kZXhdLFxuICAgICAgICAgICAgbm9kZUEgPSBjaGlsZE5vZGVBLCAvLy9cbiAgICAgICAgICAgIG5vZGVCID0gY2hpbGROb2RlQiwgLy8vXG4gICAgICAgICAgICBub2RlVW5pZmllZCA9IHRoaXMudW5pZnlOb2RlKG5vZGVBLCBub2RlQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCAoKSA9PiB7XG4gICAgICAgICAgICAgIHJlbWFpbmluZ0FyZ3VtZW50cy5wdXNoKHVuaWZ5QWhlYWQpOyAvLy9cblxuICAgICAgICAgICAgICBjb25zdCBhaGVhZEluZGV4ID0gaW5kZXggKyAxLFxuICAgICAgICAgICAgICAgICAgICBjaGlsZE5vZGVzVmVyaWZ5QWhlYWQgPSB0aGlzLnVuaWZ5Q2hpbGROb2Rlc0FoZWFkKGFoZWFkSW5kZXgsIGNoaWxkTm9kZXNBLCBjaGlsZE5vZGVzQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcblxuICAgICAgICAgICAgICByZXR1cm4gY2hpbGROb2Rlc1ZlcmlmeUFoZWFkO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgIGNoaWxkTm9kZXNVbmlmaWVkID0gbm9kZVVuaWZpZWQ7ICAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gY2hpbGROb2Rlc1VuaWZpZWQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJVbmlmaWVyIiwibm9uVGVybWluYWxOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ1bmlmeSIsIm5vZGVBIiwibm9kZUIiLCJyZW1haW5pbmdBcmd1bWVudHMiLCJ1bmlmaWVkIiwibm9kZVVuaWZpZWQiLCJ1bmlmeU5vZGUiLCJub2RlQVRlcm1pbmFsTm9kZSIsImlzVGVybWluYWxOb2RlIiwibm9kZUJUZXJtaW5hbE5vZGUiLCJub2RlQU5vblRlcm1pbmFsTm9kZSIsImlzTm9uVGVybWluYWxOb2RlIiwibm9kZUJOb25UZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGVBIiwidGVybWluYWxOb2RlQiIsInRlcm1pbmFsTm9kZVVuaWZpZWQiLCJ1bmlmeVRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZUEiLCJub25UZXJtaW5hbE5vZGVCIiwibm9uVGVybWluYWxOb2RlVW5pZmllZCIsInVuaWZ5Tm9uVGVybWluYWxOb2RlIiwidW5pZnlDaGlsZE5vZGVzIiwiY2hpbGROb2Rlc0EiLCJjaGlsZE5vZGVzQiIsImNoaWxkTm9kZXNVbmlmaWVkIiwiY2hpbGROb2Rlc0FMZW5ndGgiLCJsZW5ndGgiLCJjaGlsZE5vZGVzQkxlbmd0aCIsImNoaWxkVGVybWluYWxOb2RlTWFwQSIsInRlcm1pbmFsTm9kZU1hcEZyb21Ob2RlcyIsImNoaWxkVGVybWluYWxOb2RlTWFwQiIsInRlcm1pbmFsTm9kZU1hcHNFcXVhbCIsImFyZVRlcm1pbmFsTm9kZU1hcHNFcXVhbCIsImluZGV4IiwiY2hpbGROb2Rlc1ZlcmlmeUFoZWFkIiwidW5pZnlDaGlsZE5vZGVzQWhlYWQiLCJ1bmlmeUFoZWFkIiwicG9wIiwidW5pZnlpZWRBaGVhZCIsIm1hcHMiLCJjb25zdHJ1Y3RvciIsIm5vZGVRdWVyeUEiLCJub2RlUXVlcnlCIiwibm9iZUIiLCJub25UZXJtaW5hbE5vZGVBUnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsIm5vblRlcm1pbmFsTm9kZUJSdWxlTmFtZSIsIm5vblRlcm1pbmFsTm9kZUFDaGlsZE5vZGVzIiwiZ2V0Q2hpbGROb2RlcyIsIm5vblRlcm1pbmFsTm9kZUJDaGlsZE5vZGVzIiwic29tZSIsIm1hcCIsImNoaWxkTm9kZUEi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
@@ -16,7 +16,7 @@ function _interop_require_default(obj) {
16
16
  default: obj
17
17
  };
18
18
  }
19
- function unifyMetavariableAgainstStatement(metavariableNodeA, statementNodeB, substitutionNode, substitutions, localContextA, localContextB, unifyAhead) {
19
+ function unifyMetavariableAgainstStatement(metavariableNodeA, statementNodeB, substitutionNodeA, substitutions, localContextA, localContextB, unifyAhead) {
20
20
  var metavariableUnifiedAgainstStatement = false;
21
21
  var substitution = substitutions.find(function(substitution) {
22
22
  var substitutionMatchesMetavariableNodeA = substitution.matchMetavariableNode(metavariableNodeA);
@@ -26,8 +26,8 @@ function unifyMetavariableAgainstStatement(metavariableNodeA, statementNodeB, su
26
26
  }) || null;
27
27
  if (substitution !== null) {
28
28
  var substitutionStatementNode = substitution.getStatementNode();
29
- if (substitutionNode !== null) {
30
- var termForVariableSubstitution = _termForVariable.default.fromSubstitutionNode(substitutionNode), localContext = localContextB, substitution1 = termForVariableSubstitution, statementNodeA = substitutionStatementNode, statementUnifiedAgainstStatement = (0, _statementAtainstStatement.default)(statementNodeA, statementNodeB, substitution1, substitutions, localContext, localContext);
29
+ if (substitutionNodeA !== null) {
30
+ var substitutionNode = substitutionNodeA, termForVariableSubstitution = _termForVariable.default.fromSubstitutionNode(substitutionNode), localContext = localContextB, substitution1 = termForVariableSubstitution, statementNodeA = substitutionStatementNode, statementUnifiedAgainstStatement = (0, _statementAtainstStatement.default)(statementNodeA, statementNodeB, substitution1, substitutions, localContext, localContext);
31
31
  if (statementUnifiedAgainstStatement) {
32
32
  var unifiedAhead = unifyAhead();
33
33
  metavariableUnifiedAgainstStatement = unifiedAhead; ///
@@ -52,7 +52,7 @@ function unifyMetavariableAgainstStatement(metavariableNodeA, statementNodeB, su
52
52
  }
53
53
  } else {
54
54
  var unifiedAhead3;
55
- var statementNode = statementNodeB, metavariableNode = metavariableNodeA, statementForMetavariableSubstitution = _statementForMetavariable.default.fromMetavariableNodeStatementNodeAndSubstitutionNode(metavariableNode, statementNode, substitutionNode), substitution3 = statementForMetavariableSubstitution; ///
55
+ var statementNode = statementNodeB, substitutionNode1 = substitutionNodeA, metavariableNode = metavariableNodeA, statementForMetavariableSubstitution = _statementForMetavariable.default.fromMetavariableNodeStatementNodeAndSubstitutionNode(metavariableNode, statementNode, substitutionNode1), substitution3 = statementForMetavariableSubstitution; ///
56
56
  substitutions.push(substitution3);
57
57
  unifiedAhead3 = unifyAhead();
58
58
  if (!unifiedAhead3) {
@@ -63,4 +63,4 @@ function unifyMetavariableAgainstStatement(metavariableNodeA, statementNodeB, su
63
63
  return metavariableUnifiedAgainstStatement;
64
64
  }
65
65
 
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9tZXRhdmFyaWFibGVBZ2FpbnN0U3RhdGVtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgVGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uIGZyb20gXCIuLi9zdWJzdGl0dXRpb24vdGVybUZvclZhcmlhYmxlXCI7XG5pbXBvcnQgdW5pZnlTdGF0ZW1lbnRBZ2FpbnN0U3RhdGVtZW50IGZyb20gXCIuLi91bmlmeS9zdGF0ZW1lbnRBdGFpbnN0U3RhdGVtZW50XCI7XG5pbXBvcnQgU3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uIGZyb20gXCIuLi9zdWJzdGl0dXRpb24vc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVuaWZ5TWV0YXZhcmlhYmxlQWdhaW5zdFN0YXRlbWVudChtZXRhdmFyaWFibGVOb2RlQSwgc3RhdGVtZW50Tm9kZUIsIHN1YnN0aXR1dGlvbk5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHVuaWZ5QWhlYWQpIHtcbiAgbGV0IG1ldGF2YXJpYWJsZVVuaWZpZWRBZ2FpbnN0U3RhdGVtZW50ID0gZmFsc2U7XG5cbiAgY29uc3Qgc3Vic3RpdHV0aW9uID0gc3Vic3RpdHV0aW9ucy5maW5kKChzdWJzdGl0dXRpb24pID0+IHtcbiAgICBjb25zdCBzdWJzdGl0dXRpb25NYXRjaGVzTWV0YXZhcmlhYmxlTm9kZUEgPSBzdWJzdGl0dXRpb24ubWF0Y2hNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGVBKTtcblxuICAgIGlmIChzdWJzdGl0dXRpb25NYXRjaGVzTWV0YXZhcmlhYmxlTm9kZUEpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSkgfHwgbnVsbDtcblxuICBpZiAoc3Vic3RpdHV0aW9uICE9PSBudWxsKSB7XG4gICAgY29uc3Qgc3Vic3RpdHV0aW9uU3RhdGVtZW50Tm9kZSA9IHN1YnN0aXR1dGlvbi5nZXRTdGF0ZW1lbnROb2RlKCk7XG5cbiAgICBpZiAoc3Vic3RpdHV0aW9uTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgdGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uID0gVGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uLmZyb21TdWJzdGl0dXRpb25Ob2RlKHN1YnN0aXR1dGlvbk5vZGUpLFxuICAgICAgICAgICAgbG9jYWxDb250ZXh0ID0gbG9jYWxDb250ZXh0QiwgIC8vL1xuICAgICAgICAgICAgc3Vic3RpdHV0aW9uID0gdGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uLCAvLy9cbiAgICAgICAgICAgIHN0YXRlbWVudE5vZGVBID0gc3Vic3RpdHV0aW9uU3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgICAgICBzdGF0ZW1lbnRVbmlmaWVkQWdhaW5zdFN0YXRlbWVudCA9IHVuaWZ5U3RhdGVtZW50QWdhaW5zdFN0YXRlbWVudChzdGF0ZW1lbnROb2RlQSwgc3RhdGVtZW50Tm9kZUIsIHN1YnN0aXR1dGlvbiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0LCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAoc3RhdGVtZW50VW5pZmllZEFnYWluc3RTdGF0ZW1lbnQpIHtcbiAgICAgICAgY29uc3QgdW5pZmllZEFoZWFkID0gdW5pZnlBaGVhZCgpO1xuXG4gICAgICAgIG1ldGF2YXJpYWJsZVVuaWZpZWRBZ2FpbnN0U3RhdGVtZW50ID0gdW5pZmllZEFoZWFkOyAgLy8vXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHN1YnN0aXR1dGlvblN1YnN0aXR1dGlvbiA9IHN1YnN0aXR1dGlvbi5nZXRTdWJzdGl0dXRpb24oKTtcblxuICAgICAgaWYgKHN1YnN0aXR1dGlvblN1YnN0aXR1dGlvbiAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBzdGF0ZW1lbnROb2RlQSA9IHN0YXRlbWVudE5vZGVCOyAvLy9cblxuICAgICAgICBzdGF0ZW1lbnROb2RlQiA9IHN1YnN0aXR1dGlvblN0YXRlbWVudE5vZGU7IC8vL1xuXG4gICAgICAgIGNvbnN0IGxvY2FsQ29udGV4dCA9IGxvY2FsQ29udGV4dEIsICAvLy9cbiAgICAgICAgICAgICAgc3Vic3RpdHV0aW9uID0gc3Vic3RpdHV0aW9uU3Vic3RpdHV0aW9uLFxuICAgICAgICAgICAgICBzdGF0ZW1lbnRVbmlmaWVkQWdhaW5zdFN0YXRlbWVudCA9IHVuaWZ5U3RhdGVtZW50QWdhaW5zdFN0YXRlbWVudChzdGF0ZW1lbnROb2RlQSwgc3RhdGVtZW50Tm9kZUIsIHN1YnN0aXR1dGlvbiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0LCBsb2NhbENvbnRleHQpO1xuXG4gICAgICAgIGlmIChzdGF0ZW1lbnRVbmlmaWVkQWdhaW5zdFN0YXRlbWVudCkge1xuICAgICAgICAgIGNvbnN0IHVuaWZpZWRBaGVhZCA9IHVuaWZ5QWhlYWQoKTtcblxuICAgICAgICAgIG1ldGF2YXJpYWJsZVVuaWZpZWRBZ2FpbnN0U3RhdGVtZW50ID0gdW5pZmllZEFoZWFkOyAgLy8vXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHN1YnN0aXR1dGlvbk1hdGNoZXNTdGF0ZW1lbnROb2RlQiA9IHN1YnN0aXR1dGlvbi5tYXRjaFN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZUIpO1xuXG4gICAgICAgIGlmIChzdWJzdGl0dXRpb25NYXRjaGVzU3RhdGVtZW50Tm9kZUIpIHtcbiAgICAgICAgICBjb25zdCB1bmlmaWVkQWhlYWQgPSB1bmlmeUFoZWFkKCk7XG5cbiAgICAgICAgICBtZXRhdmFyaWFibGVVbmlmaWVkQWdhaW5zdFN0YXRlbWVudCA9IHVuaWZpZWRBaGVhZDsgIC8vL1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGxldCB1bmlmaWVkQWhlYWQ7XG5cbiAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZUIsIC8vL1xuICAgICAgICAgIG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGVOb2RlQSwgLy8vXG4gICAgICAgICAgc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uID0gU3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uLmZyb21NZXRhdmFyaWFibGVOb2RlU3RhdGVtZW50Tm9kZUFuZFN1YnN0aXR1dGlvbk5vZGUobWV0YXZhcmlhYmxlTm9kZSwgc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9uTm9kZSksXG4gICAgICAgICAgc3Vic3RpdHV0aW9uID0gc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uOyAgLy8vXG5cbiAgICBzdWJzdGl0dXRpb25zLnB1c2goc3Vic3RpdHV0aW9uKTtcblxuICAgIHVuaWZpZWRBaGVhZCA9IHVuaWZ5QWhlYWQoKTtcblxuICAgIGlmICghdW5pZmllZEFoZWFkKSB7XG4gICAgICBzdWJzdGl0dXRpb25zLnBvcCgpO1xuICAgIH1cblxuICAgIG1ldGF2YXJpYWJsZVVuaWZpZWRBZ2FpbnN0U3RhdGVtZW50ID0gdW5pZmllZEFoZWFkOyAgLy8vXG4gIH1cblxuICByZXR1cm4gbWV0YXZhcmlhYmxlVW5pZmllZEFnYWluc3RTdGF0ZW1lbnQ7XG59XG4iXSwibmFtZXMiOlsidW5pZnlNZXRhdmFyaWFibGVBZ2FpbnN0U3RhdGVtZW50IiwibWV0YXZhcmlhYmxlTm9kZUEiLCJzdGF0ZW1lbnROb2RlQiIsInN1YnN0aXR1dGlvbk5vZGUiLCJzdWJzdGl0dXRpb25zIiwibG9jYWxDb250ZXh0QSIsImxvY2FsQ29udGV4dEIiLCJ1bmlmeUFoZWFkIiwibWV0YXZhcmlhYmxlVW5pZmllZEFnYWluc3RTdGF0ZW1lbnQiLCJzdWJzdGl0dXRpb24iLCJmaW5kIiwic3Vic3RpdHV0aW9uTWF0Y2hlc01ldGF2YXJpYWJsZU5vZGVBIiwibWF0Y2hNZXRhdmFyaWFibGVOb2RlIiwic3Vic3RpdHV0aW9uU3RhdGVtZW50Tm9kZSIsImdldFN0YXRlbWVudE5vZGUiLCJ0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24iLCJUZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24iLCJmcm9tU3Vic3RpdHV0aW9uTm9kZSIsImxvY2FsQ29udGV4dCIsInN0YXRlbWVudE5vZGVBIiwic3RhdGVtZW50VW5pZmllZEFnYWluc3RTdGF0ZW1lbnQiLCJ1bmlmeVN0YXRlbWVudEFnYWluc3RTdGF0ZW1lbnQiLCJ1bmlmaWVkQWhlYWQiLCJzdWJzdGl0dXRpb25TdWJzdGl0dXRpb24iLCJnZXRTdWJzdGl0dXRpb24iLCJzdWJzdGl0dXRpb25NYXRjaGVzU3RhdGVtZW50Tm9kZUIiLCJtYXRjaFN0YXRlbWVudE5vZGUiLCJzdGF0ZW1lbnROb2RlIiwibWV0YXZhcmlhYmxlTm9kZSIsInN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiIsIlN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiIsImZyb21NZXRhdmFyaWFibGVOb2RlU3RhdGVtZW50Tm9kZUFuZFN1YnN0aXR1dGlvbk5vZGUiLCJwdXNoIiwicG9wIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFNQTs7O2VBQXdCQTs7O3NFQUpnQjtnRkFDRzsrRUFDTTs7Ozs7O0FBRWxDLFNBQVNBLGtDQUFrQ0MsaUJBQWlCLEVBQUVDLGNBQWMsRUFBRUMsZ0JBQWdCLEVBQUVDLGFBQWEsRUFBRUMsYUFBYSxFQUFFQyxhQUFhLEVBQUVDLFVBQVU7SUFDcEssSUFBSUMsc0NBQXNDO0lBRTFDLElBQU1DLGVBQWVMLGNBQWNNLElBQUksQ0FBQyxTQUFDRDtRQUN2QyxJQUFNRSx1Q0FBdUNGLGFBQWFHLHFCQUFxQixDQUFDWDtRQUVoRixJQUFJVSxzQ0FBc0M7WUFDeEMsT0FBTztRQUNUO0lBQ0YsTUFBTTtJQUVOLElBQUlGLGlCQUFpQixNQUFNO1FBQ3pCLElBQU1JLDRCQUE0QkosYUFBYUssZ0JBQWdCO1FBRS9ELElBQUlYLHFCQUFxQixNQUFNO1lBQzdCLElBQU1ZLDhCQUE4QkMsd0JBQTJCLENBQUNDLG9CQUFvQixDQUFDZCxtQkFDL0VlLGVBQWVaLGVBQ2ZHLGdCQUFlTSw2QkFDZkksaUJBQWlCTiwyQkFDakJPLG1DQUFtQ0MsSUFBQUEsa0NBQThCLEVBQUNGLGdCQUFnQmpCLGdCQUFnQk8sZUFBY0wsZUFBZWMsY0FBY0E7WUFFbkosSUFBSUUsa0NBQWtDO2dCQUNwQyxJQUFNRSxlQUFlZjtnQkFFckJDLHNDQUFzQ2MsY0FBZSxHQUFHO1lBQzFEO1FBQ0YsT0FBTztZQUNMLElBQU1DLDJCQUEyQmQsYUFBYWUsZUFBZTtZQUU3RCxJQUFJRCw2QkFBNkIsTUFBTTtnQkFDckMsSUFBTUosa0JBQWlCakIsZ0JBQWdCLEdBQUc7Z0JBRTFDQSxpQkFBaUJXLDJCQUEyQixHQUFHO2dCQUUvQyxJQUFNSyxnQkFBZVosZUFDZkcsZ0JBQWVjLDBCQUNmSCxvQ0FBbUNDLElBQUFBLGtDQUE4QixFQUFDRixpQkFBZ0JqQixnQkFBZ0JPLGVBQWNMLGVBQWVjLGVBQWNBO2dCQUVuSixJQUFJRSxtQ0FBa0M7b0JBQ3BDLElBQU1FLGdCQUFlZjtvQkFFckJDLHNDQUFzQ2MsZUFBZSxHQUFHO2dCQUMxRDtZQUNGLE9BQU87Z0JBQ0wsSUFBTUcsb0NBQW9DaEIsYUFBYWlCLGtCQUFrQixDQUFDeEI7Z0JBRTFFLElBQUl1QixtQ0FBbUM7b0JBQ3JDLElBQU1ILGdCQUFlZjtvQkFFckJDLHNDQUFzQ2MsZUFBZSxHQUFHO2dCQUMxRDtZQUNGO1FBQ0Y7SUFDRixPQUFPO1FBQ0wsSUFBSUE7UUFFSixJQUFNSyxnQkFBZ0J6QixnQkFDaEIwQixtQkFBbUIzQixtQkFDbkI0Qix1Q0FBdUNDLGlDQUFvQyxDQUFDQyxvREFBb0QsQ0FBQ0gsa0JBQWtCRCxlQUFleEIsbUJBQ2xLTSxnQkFBZW9CLHNDQUF1QyxHQUFHO1FBRS9EekIsY0FBYzRCLElBQUksQ0FBQ3ZCO1FBRW5CYSxnQkFBZWY7UUFFZixJQUFJLENBQUNlLGVBQWM7WUFDakJsQixjQUFjNkIsR0FBRztRQUNuQjtRQUVBekIsc0NBQXNDYyxlQUFlLEdBQUc7SUFDMUQ7SUFFQSxPQUFPZDtBQUNUIn0=
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9tZXRhdmFyaWFibGVBZ2FpbnN0U3RhdGVtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgVGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uIGZyb20gXCIuLi9zdWJzdGl0dXRpb24vdGVybUZvclZhcmlhYmxlXCI7XG5pbXBvcnQgdW5pZnlTdGF0ZW1lbnRBZ2FpbnN0U3RhdGVtZW50IGZyb20gXCIuLi91bmlmeS9zdGF0ZW1lbnRBdGFpbnN0U3RhdGVtZW50XCI7XG5pbXBvcnQgU3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uIGZyb20gXCIuLi9zdWJzdGl0dXRpb24vc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVuaWZ5TWV0YXZhcmlhYmxlQWdhaW5zdFN0YXRlbWVudChtZXRhdmFyaWFibGVOb2RlQSwgc3RhdGVtZW50Tm9kZUIsIHN1YnN0aXR1dGlvbk5vZGVBLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCLCB1bmlmeUFoZWFkKSB7XG4gIGxldCBtZXRhdmFyaWFibGVVbmlmaWVkQWdhaW5zdFN0YXRlbWVudCA9IGZhbHNlO1xuXG4gIGNvbnN0IHN1YnN0aXR1dGlvbiA9IHN1YnN0aXR1dGlvbnMuZmluZCgoc3Vic3RpdHV0aW9uKSA9PiB7XG4gICAgY29uc3Qgc3Vic3RpdHV0aW9uTWF0Y2hlc01ldGF2YXJpYWJsZU5vZGVBID0gc3Vic3RpdHV0aW9uLm1hdGNoTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlQSk7XG5cbiAgICBpZiAoc3Vic3RpdHV0aW9uTWF0Y2hlc01ldGF2YXJpYWJsZU5vZGVBKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pIHx8IG51bGw7XG5cbiAgaWYgKHN1YnN0aXR1dGlvbiAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN1YnN0aXR1dGlvblN0YXRlbWVudE5vZGUgPSBzdWJzdGl0dXRpb24uZ2V0U3RhdGVtZW50Tm9kZSgpO1xuXG4gICAgaWYgKHN1YnN0aXR1dGlvbk5vZGVBICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdWJzdGl0dXRpb25Ob2RlID0gc3Vic3RpdHV0aW9uTm9kZUEsIC8vL1xuICAgICAgICAgICAgdGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uID0gVGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uLmZyb21TdWJzdGl0dXRpb25Ob2RlKHN1YnN0aXR1dGlvbk5vZGUpLFxuICAgICAgICAgICAgbG9jYWxDb250ZXh0ID0gbG9jYWxDb250ZXh0QiwgIC8vL1xuICAgICAgICAgICAgc3Vic3RpdHV0aW9uID0gdGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uLCAvLy9cbiAgICAgICAgICAgIHN0YXRlbWVudE5vZGVBID0gc3Vic3RpdHV0aW9uU3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgICAgICBzdGF0ZW1lbnRVbmlmaWVkQWdhaW5zdFN0YXRlbWVudCA9IHVuaWZ5U3RhdGVtZW50QWdhaW5zdFN0YXRlbWVudChzdGF0ZW1lbnROb2RlQSwgc3RhdGVtZW50Tm9kZUIsIHN1YnN0aXR1dGlvbiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0LCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAoc3RhdGVtZW50VW5pZmllZEFnYWluc3RTdGF0ZW1lbnQpIHtcbiAgICAgICAgY29uc3QgdW5pZmllZEFoZWFkID0gdW5pZnlBaGVhZCgpO1xuXG4gICAgICAgIG1ldGF2YXJpYWJsZVVuaWZpZWRBZ2FpbnN0U3RhdGVtZW50ID0gdW5pZmllZEFoZWFkOyAgLy8vXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHN1YnN0aXR1dGlvblN1YnN0aXR1dGlvbiA9IHN1YnN0aXR1dGlvbi5nZXRTdWJzdGl0dXRpb24oKTtcblxuICAgICAgaWYgKHN1YnN0aXR1dGlvblN1YnN0aXR1dGlvbiAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBzdGF0ZW1lbnROb2RlQSA9IHN0YXRlbWVudE5vZGVCOyAvLy9cblxuICAgICAgICBzdGF0ZW1lbnROb2RlQiA9IHN1YnN0aXR1dGlvblN0YXRlbWVudE5vZGU7IC8vL1xuXG4gICAgICAgIGNvbnN0IGxvY2FsQ29udGV4dCA9IGxvY2FsQ29udGV4dEIsICAvLy9cbiAgICAgICAgICAgICAgc3Vic3RpdHV0aW9uID0gc3Vic3RpdHV0aW9uU3Vic3RpdHV0aW9uLFxuICAgICAgICAgICAgICBzdGF0ZW1lbnRVbmlmaWVkQWdhaW5zdFN0YXRlbWVudCA9IHVuaWZ5U3RhdGVtZW50QWdhaW5zdFN0YXRlbWVudChzdGF0ZW1lbnROb2RlQSwgc3RhdGVtZW50Tm9kZUIsIHN1YnN0aXR1dGlvbiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0LCBsb2NhbENvbnRleHQpO1xuXG4gICAgICAgIGlmIChzdGF0ZW1lbnRVbmlmaWVkQWdhaW5zdFN0YXRlbWVudCkge1xuICAgICAgICAgIGNvbnN0IHVuaWZpZWRBaGVhZCA9IHVuaWZ5QWhlYWQoKTtcblxuICAgICAgICAgIG1ldGF2YXJpYWJsZVVuaWZpZWRBZ2FpbnN0U3RhdGVtZW50ID0gdW5pZmllZEFoZWFkOyAgLy8vXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHN1YnN0aXR1dGlvbk1hdGNoZXNTdGF0ZW1lbnROb2RlQiA9IHN1YnN0aXR1dGlvbi5tYXRjaFN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZUIpO1xuXG4gICAgICAgIGlmIChzdWJzdGl0dXRpb25NYXRjaGVzU3RhdGVtZW50Tm9kZUIpIHtcbiAgICAgICAgICBjb25zdCB1bmlmaWVkQWhlYWQgPSB1bmlmeUFoZWFkKCk7XG5cbiAgICAgICAgICBtZXRhdmFyaWFibGVVbmlmaWVkQWdhaW5zdFN0YXRlbWVudCA9IHVuaWZpZWRBaGVhZDsgIC8vL1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGxldCB1bmlmaWVkQWhlYWQ7XG5cbiAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZUIsIC8vL1xuICAgICAgICAgIHN1YnN0aXR1dGlvbk5vZGUgPSBzdWJzdGl0dXRpb25Ob2RlQSwgLy8vXG4gICAgICAgICAgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVBLCAvLy9cbiAgICAgICAgICBzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24gPSBTdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24uZnJvbU1ldGF2YXJpYWJsZU5vZGVTdGF0ZW1lbnROb2RlQW5kU3Vic3RpdHV0aW9uTm9kZShtZXRhdmFyaWFibGVOb2RlLCBzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25Ob2RlKSxcbiAgICAgICAgICBzdWJzdGl0dXRpb24gPSBzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb247ICAvLy9cblxuICAgIHN1YnN0aXR1dGlvbnMucHVzaChzdWJzdGl0dXRpb24pO1xuXG4gICAgdW5pZmllZEFoZWFkID0gdW5pZnlBaGVhZCgpO1xuXG4gICAgaWYgKCF1bmlmaWVkQWhlYWQpIHtcbiAgICAgIHN1YnN0aXR1dGlvbnMucG9wKCk7XG4gICAgfVxuXG4gICAgbWV0YXZhcmlhYmxlVW5pZmllZEFnYWluc3RTdGF0ZW1lbnQgPSB1bmlmaWVkQWhlYWQ7ICAvLy9cbiAgfVxuXG4gIHJldHVybiBtZXRhdmFyaWFibGVVbmlmaWVkQWdhaW5zdFN0YXRlbWVudDtcbn1cbiJdLCJuYW1lcyI6WyJ1bmlmeU1ldGF2YXJpYWJsZUFnYWluc3RTdGF0ZW1lbnQiLCJtZXRhdmFyaWFibGVOb2RlQSIsInN0YXRlbWVudE5vZGVCIiwic3Vic3RpdHV0aW9uTm9kZUEiLCJzdWJzdGl0dXRpb25zIiwibG9jYWxDb250ZXh0QSIsImxvY2FsQ29udGV4dEIiLCJ1bmlmeUFoZWFkIiwibWV0YXZhcmlhYmxlVW5pZmllZEFnYWluc3RTdGF0ZW1lbnQiLCJzdWJzdGl0dXRpb24iLCJmaW5kIiwic3Vic3RpdHV0aW9uTWF0Y2hlc01ldGF2YXJpYWJsZU5vZGVBIiwibWF0Y2hNZXRhdmFyaWFibGVOb2RlIiwic3Vic3RpdHV0aW9uU3RhdGVtZW50Tm9kZSIsImdldFN0YXRlbWVudE5vZGUiLCJzdWJzdGl0dXRpb25Ob2RlIiwidGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uIiwiVGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uIiwiZnJvbVN1YnN0aXR1dGlvbk5vZGUiLCJsb2NhbENvbnRleHQiLCJzdGF0ZW1lbnROb2RlQSIsInN0YXRlbWVudFVuaWZpZWRBZ2FpbnN0U3RhdGVtZW50IiwidW5pZnlTdGF0ZW1lbnRBZ2FpbnN0U3RhdGVtZW50IiwidW5pZmllZEFoZWFkIiwic3Vic3RpdHV0aW9uU3Vic3RpdHV0aW9uIiwiZ2V0U3Vic3RpdHV0aW9uIiwic3Vic3RpdHV0aW9uTWF0Y2hlc1N0YXRlbWVudE5vZGVCIiwibWF0Y2hTdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50Tm9kZSIsIm1ldGF2YXJpYWJsZU5vZGUiLCJzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24iLCJTdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24iLCJmcm9tTWV0YXZhcmlhYmxlTm9kZVN0YXRlbWVudE5vZGVBbmRTdWJzdGl0dXRpb25Ob2RlIiwicHVzaCIsInBvcCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUF3QkE7OztzRUFKZ0I7Z0ZBQ0c7K0VBQ007Ozs7OztBQUVsQyxTQUFTQSxrQ0FBa0NDLGlCQUFpQixFQUFFQyxjQUFjLEVBQUVDLGlCQUFpQixFQUFFQyxhQUFhLEVBQUVDLGFBQWEsRUFBRUMsYUFBYSxFQUFFQyxVQUFVO0lBQ3JLLElBQUlDLHNDQUFzQztJQUUxQyxJQUFNQyxlQUFlTCxjQUFjTSxJQUFJLENBQUMsU0FBQ0Q7UUFDdkMsSUFBTUUsdUNBQXVDRixhQUFhRyxxQkFBcUIsQ0FBQ1g7UUFFaEYsSUFBSVUsc0NBQXNDO1lBQ3hDLE9BQU87UUFDVDtJQUNGLE1BQU07SUFFTixJQUFJRixpQkFBaUIsTUFBTTtRQUN6QixJQUFNSSw0QkFBNEJKLGFBQWFLLGdCQUFnQjtRQUUvRCxJQUFJWCxzQkFBc0IsTUFBTTtZQUM5QixJQUFNWSxtQkFBbUJaLG1CQUNuQmEsOEJBQThCQyx3QkFBMkIsQ0FBQ0Msb0JBQW9CLENBQUNILG1CQUMvRUksZUFBZWIsZUFDZkcsZ0JBQWVPLDZCQUNmSSxpQkFBaUJQLDJCQUNqQlEsbUNBQW1DQyxJQUFBQSxrQ0FBOEIsRUFBQ0YsZ0JBQWdCbEIsZ0JBQWdCTyxlQUFjTCxlQUFlZSxjQUFjQTtZQUVuSixJQUFJRSxrQ0FBa0M7Z0JBQ3BDLElBQU1FLGVBQWVoQjtnQkFFckJDLHNDQUFzQ2UsY0FBZSxHQUFHO1lBQzFEO1FBQ0YsT0FBTztZQUNMLElBQU1DLDJCQUEyQmYsYUFBYWdCLGVBQWU7WUFFN0QsSUFBSUQsNkJBQTZCLE1BQU07Z0JBQ3JDLElBQU1KLGtCQUFpQmxCLGdCQUFnQixHQUFHO2dCQUUxQ0EsaUJBQWlCVywyQkFBMkIsR0FBRztnQkFFL0MsSUFBTU0sZ0JBQWViLGVBQ2ZHLGdCQUFlZSwwQkFDZkgsb0NBQW1DQyxJQUFBQSxrQ0FBOEIsRUFBQ0YsaUJBQWdCbEIsZ0JBQWdCTyxlQUFjTCxlQUFlZSxlQUFjQTtnQkFFbkosSUFBSUUsbUNBQWtDO29CQUNwQyxJQUFNRSxnQkFBZWhCO29CQUVyQkMsc0NBQXNDZSxlQUFlLEdBQUc7Z0JBQzFEO1lBQ0YsT0FBTztnQkFDTCxJQUFNRyxvQ0FBb0NqQixhQUFha0Isa0JBQWtCLENBQUN6QjtnQkFFMUUsSUFBSXdCLG1DQUFtQztvQkFDckMsSUFBTUgsZ0JBQWVoQjtvQkFFckJDLHNDQUFzQ2UsZUFBZSxHQUFHO2dCQUMxRDtZQUNGO1FBQ0Y7SUFDRixPQUFPO1FBQ0wsSUFBSUE7UUFFSixJQUFNSyxnQkFBZ0IxQixnQkFDaEJhLG9CQUFtQlosbUJBQ25CMEIsbUJBQW1CNUIsbUJBQ25CNkIsdUNBQXVDQyxpQ0FBb0MsQ0FBQ0Msb0RBQW9ELENBQUNILGtCQUFrQkQsZUFBZWIsb0JBQ2xLTixnQkFBZXFCLHNDQUF1QyxHQUFHO1FBRS9EMUIsY0FBYzZCLElBQUksQ0FBQ3hCO1FBRW5CYyxnQkFBZWhCO1FBRWYsSUFBSSxDQUFDZ0IsZUFBYztZQUNqQm5CLGNBQWM4QixHQUFHO1FBQ25CO1FBRUExQixzQ0FBc0NlLGVBQWUsR0FBRztJQUMxRDtJQUVBLE9BQU9mO0FBQ1QifQ==
@@ -8,15 +8,21 @@ Object.defineProperty(exports, "default", {
8
8
  return unifyStatementAgainstMetaType;
9
9
  }
10
10
  });
11
+ var _shim = /*#__PURE__*/ _interop_require_default(require("../shim"));
11
12
  var _query = require("../utilities/query");
12
13
  var _metaTypeNames = require("../metaTypeNames");
14
+ function _interop_require_default(obj) {
15
+ return obj && obj.__esModule ? obj : {
16
+ default: obj
17
+ };
18
+ }
13
19
  var metaTypeTerminalNodeQuery = (0, _query.nodeQuery)("/metaType/@meta-type!");
14
- function unifyStatementAgainstMetaType(statementNode, metaTypeNode, localContext, unifyAhead, verifyStatement) {
20
+ function unifyStatementAgainstMetaType(statementNodeA, metaTypeNodeB, localContext, unifyAhead) {
15
21
  var statementVerifiedAgainstMetaType = false;
16
- var metaTypeTerminalNode = metaTypeTerminalNodeQuery(metaTypeNode), content = metaTypeTerminalNode.getContent();
22
+ var metaTypeNode = metaTypeNodeB, metaTypeTerminalNode = metaTypeTerminalNodeQuery(metaTypeNode), content = metaTypeTerminalNode.getContent();
17
23
  if (content === _metaTypeNames.STATEMENT_META_TYPE_NAME) {
18
24
  var unifiedAhead = false;
19
- var derived = false, assignments = [], statementVerified = verifyStatement(statementNode, assignments, derived, localContext);
25
+ var verifyStatement = _shim.default.verifyStatement, derived = false, assignments = [], statementNode = statementNodeA, statementVerified = verifyStatement(statementNode, assignments, derived, localContext);
20
26
  if (statementVerified) {
21
27
  unifiedAhead = unifyAhead();
22
28
  }
@@ -25,4 +31,4 @@ function unifyStatementAgainstMetaType(statementNode, metaTypeNode, localContext
25
31
  return statementVerifiedAgainstMetaType;
26
32
  }
27
33
 
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9zdGF0ZW1lbnRBZ2FpbnN0TWV0YVR5cGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IFNUQVRFTUVOVF9NRVRBX1RZUEVfTkFNRSB9IGZyb20gXCIuLi9tZXRhVHlwZU5hbWVzXCI7XG5cbmNvbnN0IG1ldGFUeXBlVGVybWluYWxOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YVR5cGUvQG1ldGEtdHlwZSFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVuaWZ5U3RhdGVtZW50QWdhaW5zdE1ldGFUeXBlKHN0YXRlbWVudE5vZGUsIG1ldGFUeXBlTm9kZSwgbG9jYWxDb250ZXh0LCB1bmlmeUFoZWFkLCB2ZXJpZnlTdGF0ZW1lbnQpIHtcbiAgbGV0IHN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdE1ldGFUeXBlID0gZmFsc2U7XG5cbiAgY29uc3QgbWV0YVR5cGVUZXJtaW5hbE5vZGUgPSBtZXRhVHlwZVRlcm1pbmFsTm9kZVF1ZXJ5KG1ldGFUeXBlTm9kZSksXG4gICAgICAgIGNvbnRlbnQgPSBtZXRhVHlwZVRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCk7XG5cbiAgaWYgKGNvbnRlbnQgPT09IFNUQVRFTUVOVF9NRVRBX1RZUEVfTkFNRSkge1xuICAgIGxldCB1bmlmaWVkQWhlYWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IGRlcml2ZWQgPSBmYWxzZSxcbiAgICAgICAgICBhc3NpZ25tZW50cyA9IFtdLFxuICAgICAgICAgIHN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5U3RhdGVtZW50KHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKHN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICB1bmlmaWVkQWhlYWQgPSB1bmlmeUFoZWFkKCk7XG4gICAgfVxuXG4gICAgc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0TWV0YVR5cGUgPSB1bmlmaWVkQWhlYWQ7IC8vL1xuICB9XG5cbiAgcmV0dXJuIHN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdE1ldGFUeXBlO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5U3RhdGVtZW50QWdhaW5zdE1ldGFUeXBlIiwibWV0YVR5cGVUZXJtaW5hbE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInN0YXRlbWVudE5vZGUiLCJtZXRhVHlwZU5vZGUiLCJsb2NhbENvbnRleHQiLCJ1bmlmeUFoZWFkIiwidmVyaWZ5U3RhdGVtZW50Iiwic3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0TWV0YVR5cGUiLCJtZXRhVHlwZVRlcm1pbmFsTm9kZSIsImNvbnRlbnQiLCJnZXRDb250ZW50IiwiU1RBVEVNRU5UX01FVEFfVFlQRV9OQU1FIiwidW5pZmllZEFoZWFkIiwiZGVyaXZlZCIsImFzc2lnbm1lbnRzIiwic3RhdGVtZW50VmVyaWZpZWQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU9BOzs7ZUFBd0JBOzs7cUJBTEU7NkJBQ2U7QUFFekMsSUFBTUMsNEJBQTRCQyxJQUFBQSxnQkFBUyxFQUFDO0FBRTdCLFNBQVNGLDhCQUE4QkcsYUFBYSxFQUFFQyxZQUFZLEVBQUVDLFlBQVksRUFBRUMsVUFBVSxFQUFFQyxlQUFlO0lBQzFILElBQUlDLG1DQUFtQztJQUV2QyxJQUFNQyx1QkFBdUJSLDBCQUEwQkcsZUFDakRNLFVBQVVELHFCQUFxQkUsVUFBVTtJQUUvQyxJQUFJRCxZQUFZRSx1Q0FBd0IsRUFBRTtRQUN4QyxJQUFJQyxlQUFlO1FBRW5CLElBQU1DLFVBQVUsT0FDVkMsY0FBYyxFQUFFLEVBQ2hCQyxvQkFBb0JULGdCQUFnQkosZUFBZVksYUFBYUQsU0FBU1Q7UUFFL0UsSUFBSVcsbUJBQW1CO1lBQ3JCSCxlQUFlUDtRQUNqQjtRQUVBRSxtQ0FBbUNLLGNBQWMsR0FBRztJQUN0RDtJQUVBLE9BQU9MO0FBQ1QifQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9zdGF0ZW1lbnRBZ2FpbnN0TWV0YVR5cGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBzaGltIGZyb20gXCIuLi9zaGltXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IFNUQVRFTUVOVF9NRVRBX1RZUEVfTkFNRSB9IGZyb20gXCIuLi9tZXRhVHlwZU5hbWVzXCI7XG5cbmNvbnN0IG1ldGFUeXBlVGVybWluYWxOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YVR5cGUvQG1ldGEtdHlwZSFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVuaWZ5U3RhdGVtZW50QWdhaW5zdE1ldGFUeXBlKHN0YXRlbWVudE5vZGVBLCBtZXRhVHlwZU5vZGVCLCBsb2NhbENvbnRleHQsIHVuaWZ5QWhlYWQpIHtcbiAgbGV0IHN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdE1ldGFUeXBlID0gZmFsc2U7XG5cbiAgY29uc3QgbWV0YVR5cGVOb2RlID0gbWV0YVR5cGVOb2RlQiwgLy8vXG4gICAgICAgIG1ldGFUeXBlVGVybWluYWxOb2RlID0gbWV0YVR5cGVUZXJtaW5hbE5vZGVRdWVyeShtZXRhVHlwZU5vZGUpLFxuICAgICAgICBjb250ZW50ID0gbWV0YVR5cGVUZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpO1xuXG4gIGlmIChjb250ZW50ID09PSBTVEFURU1FTlRfTUVUQV9UWVBFX05BTUUpIHtcbiAgICBsZXQgdW5pZmllZEFoZWFkID0gZmFsc2U7XG5cbiAgICBjb25zdCB7IHZlcmlmeVN0YXRlbWVudCB9ID0gc2hpbSxcbiAgICAgICAgICBkZXJpdmVkID0gZmFsc2UsXG4gICAgICAgICAgYXNzaWdubWVudHMgPSBbXSxcbiAgICAgICAgICBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZUEsIC8vL1xuICAgICAgICAgIHN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5U3RhdGVtZW50KHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKHN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICB1bmlmaWVkQWhlYWQgPSB1bmlmeUFoZWFkKCk7XG4gICAgfVxuXG4gICAgc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0TWV0YVR5cGUgPSB1bmlmaWVkQWhlYWQ7IC8vL1xuICB9XG5cbiAgcmV0dXJuIHN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdE1ldGFUeXBlO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5U3RhdGVtZW50QWdhaW5zdE1ldGFUeXBlIiwibWV0YVR5cGVUZXJtaW5hbE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInN0YXRlbWVudE5vZGVBIiwibWV0YVR5cGVOb2RlQiIsImxvY2FsQ29udGV4dCIsInVuaWZ5QWhlYWQiLCJzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RNZXRhVHlwZSIsIm1ldGFUeXBlTm9kZSIsIm1ldGFUeXBlVGVybWluYWxOb2RlIiwiY29udGVudCIsImdldENvbnRlbnQiLCJTVEFURU1FTlRfTUVUQV9UWVBFX05BTUUiLCJ1bmlmaWVkQWhlYWQiLCJ2ZXJpZnlTdGF0ZW1lbnQiLCJzaGltIiwiZGVyaXZlZCIsImFzc2lnbm1lbnRzIiwic3RhdGVtZW50Tm9kZSIsInN0YXRlbWVudFZlcmlmaWVkIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFTQTs7O2VBQXdCQTs7OzJEQVBQO3FCQUVTOzZCQUNlOzs7Ozs7QUFFekMsSUFBTUMsNEJBQTRCQyxJQUFBQSxnQkFBUyxFQUFDO0FBRTdCLFNBQVNGLDhCQUE4QkcsY0FBYyxFQUFFQyxhQUFhLEVBQUVDLFlBQVksRUFBRUMsVUFBVTtJQUMzRyxJQUFJQyxtQ0FBbUM7SUFFdkMsSUFBTUMsZUFBZUosZUFDZkssdUJBQXVCUiwwQkFBMEJPLGVBQ2pERSxVQUFVRCxxQkFBcUJFLFVBQVU7SUFFL0MsSUFBSUQsWUFBWUUsdUNBQXdCLEVBQUU7UUFDeEMsSUFBSUMsZUFBZTtRQUVuQixJQUFNLEFBQUVDLGtCQUFvQkMsYUFBSSxDQUF4QkQsaUJBQ0ZFLFVBQVUsT0FDVkMsY0FBYyxFQUFFLEVBQ2hCQyxnQkFBZ0JmLGdCQUNoQmdCLG9CQUFvQkwsZ0JBQWdCSSxlQUFlRCxhQUFhRCxTQUFTWDtRQUUvRSxJQUFJYyxtQkFBbUI7WUFDckJOLGVBQWVQO1FBQ2pCO1FBRUFDLG1DQUFtQ00sY0FBYyxHQUFHO0lBQ3REO0lBRUEsT0FBT047QUFDVCJ9
@@ -24,11 +24,8 @@ function unifyStatementAgainstStatement(statementNodeA, statementNodeB, substitu
24
24
  var substitutionA = termForVariableSubstitution; ///
25
25
  substitutionsA.push(substitutionA);
26
26
  }
27
- var nonTerminalNodeA = statementNodeA, nonTerminalNodeB = statementNodeB, nonTerminalNodeUnified = _metaLevel.default.unifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutionsA, localContextA, localContextB, function() {
28
- var verifiedAhead = true;
29
- return verifiedAhead;
30
- });
31
- if (nonTerminalNodeUnified) {
27
+ var nodeA = statementNodeA, nodeB = statementNodeB, unified = _metaLevel.default.unify(nodeA, nodeB, substitutionsA, localContextA, localContextB);
28
+ if (unified) {
32
29
  if (!transformed) {
33
30
  var substitutionB = termForVariableSubstitution, substitutionsB = [
34
31
  substitutionB
@@ -49,4 +46,4 @@ function transformSubstitutions(substitutionsA, substitutionsB) {
49
46
  return substitutionsA;
50
47
  }
51
48
 
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9zdGF0ZW1lbnRBdGFpbnN0U3RhdGVtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgbWV0YUxldmVsVW5pZmllciBmcm9tIFwiLi4vdW5pZmllci9tZXRhTGV2ZWxcIjtcbmltcG9ydCBUZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24gZnJvbSBcIi4uL3N1YnN0aXR1dGlvbi90ZXJtRm9yVmFyaWFibGVcIjtcblxuaW1wb3J0IHsgcHVzaCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdW5pZnlTdGF0ZW1lbnRBZ2FpbnN0U3RhdGVtZW50KHN0YXRlbWVudE5vZGVBLCBzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9uLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKSB7XG4gIGxldCBzdGF0ZW1lbnRVbmlmaWVkQWdhaW5zdFN0YXRlbWVudCA9IGZhbHNlO1xuXG4gIGNvbnN0IHRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiA9IFRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbi5mcm9tU3Vic3RpdHV0aW9uQW5kU3Vic3RpdHV0aW9ucyhzdWJzdGl0dXRpb24sIHN1YnN0aXR1dGlvbnMpLFxuICAgICAgICB0cmFuc2Zvcm1lZCA9IHRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbi5pc1RyYW5zZm9ybWVkKHN1YnN0aXR1dGlvbik7XG5cbiAgbGV0IHN1YnN0aXR1dGlvbnNBID0gW107IC8vL1xuXG4gIGlmICh0cmFuc2Zvcm1lZCkge1xuICAgIGNvbnN0IHN1YnN0aXR1dGlvbkEgPSB0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb247ICAvLy9cblxuICAgIHN1YnN0aXR1dGlvbnNBLnB1c2goc3Vic3RpdHV0aW9uQSk7XG4gIH1cblxuICBjb25zdCBub25UZXJtaW5hbE5vZGVBID0gc3RhdGVtZW50Tm9kZUEsICAvLy9cbiAgICAgICAgbm9uVGVybWluYWxOb2RlQiA9IHN0YXRlbWVudE5vZGVCLCAgLy8vXG4gICAgICAgIG5vblRlcm1pbmFsTm9kZVVuaWZpZWQgPSBtZXRhTGV2ZWxVbmlmaWVyLnVuaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIHN1YnN0aXR1dGlvbnNBLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCLCAoKSA9PiB7XG4gICAgICAgICAgY29uc3QgdmVyaWZpZWRBaGVhZCA9IHRydWU7XG5cbiAgICAgICAgICByZXR1cm4gdmVyaWZpZWRBaGVhZDtcbiAgICAgICAgfSk7XG5cbiAgaWYgKG5vblRlcm1pbmFsTm9kZVVuaWZpZWQpIHtcbiAgICBpZiAoIXRyYW5zZm9ybWVkKSB7XG4gICAgICBjb25zdCBzdWJzdGl0dXRpb25CID0gdGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uLCAgLy8vXG4gICAgICAgICAgICBzdWJzdGl0dXRpb25zQiA9IFtcbiAgICAgICAgICAgICAgc3Vic3RpdHV0aW9uQlxuICAgICAgICAgICAgXTtcblxuICAgICAgc3Vic3RpdHV0aW9uc0EgPSB0cmFuc2Zvcm1TdWJzdGl0dXRpb25zKHN1YnN0aXR1dGlvbnNBLCBzdWJzdGl0dXRpb25zQik7XG5cbiAgICAgIHB1c2goc3Vic3RpdHV0aW9ucywgc3Vic3RpdHV0aW9uc0EpO1xuICAgIH1cblxuICAgIHN0YXRlbWVudFVuaWZpZWRBZ2FpbnN0U3RhdGVtZW50ID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRVbmlmaWVkQWdhaW5zdFN0YXRlbWVudDtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtU3Vic3RpdHV0aW9ucyhzdWJzdGl0dXRpb25zQSwgc3Vic3RpdHV0aW9uc0IpIHtcbiAgc3Vic3RpdHV0aW9uc0EgPSBzdWJzdGl0dXRpb25zQS5tYXAoKHN1YnN0aXR1dGlvbkEpID0+IHtcbiAgICBjb25zdCBzdWJzdGl0dXRpb24gPSBzdWJzdGl0dXRpb25BLCAgLy8vXG4gICAgICAgICAgc3Vic3RpdHV0aW9ucyA9IHN1YnN0aXR1dGlvbnNCLFxuICAgICAgICAgIHRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiA9IFRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbi5mcm9tU3Vic3RpdHV0aW9uQW5kU3Vic3RpdHV0aW9ucyhzdWJzdGl0dXRpb24sIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgc3Vic3RpdHV0aW9uQSA9IHRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbjsgLy8vXG5cbiAgICByZXR1cm4gc3Vic3RpdHV0aW9uQTtcbiAgfSk7XG5cbiAgcmV0dXJuIHN1YnN0aXR1dGlvbnNBO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5U3RhdGVtZW50QWdhaW5zdFN0YXRlbWVudCIsInN0YXRlbWVudE5vZGVBIiwic3RhdGVtZW50Tm9kZUIiLCJzdWJzdGl0dXRpb24iLCJzdWJzdGl0dXRpb25zIiwibG9jYWxDb250ZXh0QSIsImxvY2FsQ29udGV4dEIiLCJzdGF0ZW1lbnRVbmlmaWVkQWdhaW5zdFN0YXRlbWVudCIsInRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiIsIlRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiIsImZyb21TdWJzdGl0dXRpb25BbmRTdWJzdGl0dXRpb25zIiwidHJhbnNmb3JtZWQiLCJpc1RyYW5zZm9ybWVkIiwic3Vic3RpdHV0aW9uc0EiLCJzdWJzdGl0dXRpb25BIiwicHVzaCIsIm5vblRlcm1pbmFsTm9kZUEiLCJub25UZXJtaW5hbE5vZGVCIiwibm9uVGVybWluYWxOb2RlVW5pZmllZCIsIm1ldGFMZXZlbFVuaWZpZXIiLCJ1bmlmeU5vblRlcm1pbmFsTm9kZSIsInZlcmlmaWVkQWhlYWQiLCJzdWJzdGl0dXRpb25CIiwic3Vic3RpdHV0aW9uc0IiLCJ0cmFuc2Zvcm1TdWJzdGl0dXRpb25zIiwibWFwIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFPQTs7O2VBQXdCQTs7O2dFQUxLO3NFQUNXO3FCQUVuQjs7Ozs7O0FBRU4sU0FBU0EsK0JBQStCQyxjQUFjLEVBQUVDLGNBQWMsRUFBRUMsWUFBWSxFQUFFQyxhQUFhLEVBQUVDLGFBQWEsRUFBRUMsYUFBYTtJQUM5SSxJQUFJQyxtQ0FBbUM7SUFFdkMsSUFBTUMsOEJBQThCQyx3QkFBMkIsQ0FBQ0MsZ0NBQWdDLENBQUNQLGNBQWNDLGdCQUN6R08sY0FBY0gsNEJBQTRCSSxhQUFhLENBQUNUO0lBRTlELElBQUlVLGlCQUFpQixFQUFFLEVBQUUsR0FBRztJQUU1QixJQUFJRixhQUFhO1FBQ2YsSUFBTUcsZ0JBQWdCTiw2QkFBOEIsR0FBRztRQUV2REssZUFBZUUsSUFBSSxDQUFDRDtJQUN0QjtJQUVBLElBQU1FLG1CQUFtQmYsZ0JBQ25CZ0IsbUJBQW1CZixnQkFDbkJnQix5QkFBeUJDLGtCQUFnQixDQUFDQyxvQkFBb0IsQ0FBQ0osa0JBQWtCQyxrQkFBa0JKLGdCQUFnQlIsZUFBZUMsZUFBZTtRQUMvSSxJQUFNZSxnQkFBZ0I7UUFFdEIsT0FBT0E7SUFDVDtJQUVOLElBQUlILHdCQUF3QjtRQUMxQixJQUFJLENBQUNQLGFBQWE7WUFDaEIsSUFBTVcsZ0JBQWdCZCw2QkFDaEJlLGlCQUFpQjtnQkFDZkQ7YUFDRDtZQUVQVCxpQkFBaUJXLHVCQUF1QlgsZ0JBQWdCVTtZQUV4RFIsSUFBQUEsV0FBSSxFQUFDWCxlQUFlUztRQUN0QjtRQUVBTixtQ0FBbUM7SUFDckM7SUFFQSxPQUFPQTtBQUNUO0FBRUEsU0FBU2lCLHVCQUF1QlgsY0FBYyxFQUFFVSxjQUFjO0lBQzVEVixpQkFBaUJBLGVBQWVZLEdBQUcsQ0FBQyxTQUFDWDtRQUNuQyxJQUFNWCxlQUFlVyxlQUNmVixnQkFBZ0JtQixnQkFDaEJmLDhCQUE4QkMsd0JBQTJCLENBQUNDLGdDQUFnQyxDQUFDUCxjQUFjQztRQUUvR1UsZ0JBQWdCTiw2QkFBNkIsR0FBRztRQUVoRCxPQUFPTTtJQUNUO0lBRUEsT0FBT0Q7QUFDVCJ9
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9zdGF0ZW1lbnRBdGFpbnN0U3RhdGVtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgbWV0YUxldmVsVW5pZmllciBmcm9tIFwiLi4vdW5pZmllci9tZXRhTGV2ZWxcIjtcbmltcG9ydCBUZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24gZnJvbSBcIi4uL3N1YnN0aXR1dGlvbi90ZXJtRm9yVmFyaWFibGVcIjtcblxuaW1wb3J0IHsgcHVzaCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdW5pZnlTdGF0ZW1lbnRBZ2FpbnN0U3RhdGVtZW50KHN0YXRlbWVudE5vZGVBLCBzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9uLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKSB7XG4gIGxldCBzdGF0ZW1lbnRVbmlmaWVkQWdhaW5zdFN0YXRlbWVudCA9IGZhbHNlO1xuXG4gIGNvbnN0IHRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiA9IFRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbi5mcm9tU3Vic3RpdHV0aW9uQW5kU3Vic3RpdHV0aW9ucyhzdWJzdGl0dXRpb24sIHN1YnN0aXR1dGlvbnMpLFxuICAgICAgICB0cmFuc2Zvcm1lZCA9IHRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbi5pc1RyYW5zZm9ybWVkKHN1YnN0aXR1dGlvbik7XG5cbiAgbGV0IHN1YnN0aXR1dGlvbnNBID0gW107IC8vL1xuXG4gIGlmICh0cmFuc2Zvcm1lZCkge1xuICAgIGNvbnN0IHN1YnN0aXR1dGlvbkEgPSB0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb247ICAvLy9cblxuICAgIHN1YnN0aXR1dGlvbnNBLnB1c2goc3Vic3RpdHV0aW9uQSk7XG4gIH1cblxuICBjb25zdCBub2RlQSA9IHN0YXRlbWVudE5vZGVBLCAgLy8vXG4gICAgICAgIG5vZGVCID0gc3RhdGVtZW50Tm9kZUIsICAvLy9cbiAgICAgICAgdW5pZmllZCA9IG1ldGFMZXZlbFVuaWZpZXIudW5pZnkobm9kZUEsIG5vZGVCLCBzdWJzdGl0dXRpb25zQSwgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG5cbiAgaWYgKHVuaWZpZWQpIHtcbiAgICBpZiAoIXRyYW5zZm9ybWVkKSB7XG4gICAgICBjb25zdCBzdWJzdGl0dXRpb25CID0gdGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uLCAgLy8vXG4gICAgICAgICAgICBzdWJzdGl0dXRpb25zQiA9IFtcbiAgICAgICAgICAgICAgc3Vic3RpdHV0aW9uQlxuICAgICAgICAgICAgXTtcblxuICAgICAgc3Vic3RpdHV0aW9uc0EgPSB0cmFuc2Zvcm1TdWJzdGl0dXRpb25zKHN1YnN0aXR1dGlvbnNBLCBzdWJzdGl0dXRpb25zQik7XG5cbiAgICAgIHB1c2goc3Vic3RpdHV0aW9ucywgc3Vic3RpdHV0aW9uc0EpO1xuICAgIH1cblxuICAgIHN0YXRlbWVudFVuaWZpZWRBZ2FpbnN0U3RhdGVtZW50ID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRVbmlmaWVkQWdhaW5zdFN0YXRlbWVudDtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtU3Vic3RpdHV0aW9ucyhzdWJzdGl0dXRpb25zQSwgc3Vic3RpdHV0aW9uc0IpIHtcbiAgc3Vic3RpdHV0aW9uc0EgPSBzdWJzdGl0dXRpb25zQS5tYXAoKHN1YnN0aXR1dGlvbkEpID0+IHtcbiAgICBjb25zdCBzdWJzdGl0dXRpb24gPSBzdWJzdGl0dXRpb25BLCAgLy8vXG4gICAgICAgICAgc3Vic3RpdHV0aW9ucyA9IHN1YnN0aXR1dGlvbnNCLFxuICAgICAgICAgIHRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiA9IFRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbi5mcm9tU3Vic3RpdHV0aW9uQW5kU3Vic3RpdHV0aW9ucyhzdWJzdGl0dXRpb24sIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgc3Vic3RpdHV0aW9uQSA9IHRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbjsgLy8vXG5cbiAgICByZXR1cm4gc3Vic3RpdHV0aW9uQTtcbiAgfSk7XG5cbiAgcmV0dXJuIHN1YnN0aXR1dGlvbnNBO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5U3RhdGVtZW50QWdhaW5zdFN0YXRlbWVudCIsInN0YXRlbWVudE5vZGVBIiwic3RhdGVtZW50Tm9kZUIiLCJzdWJzdGl0dXRpb24iLCJzdWJzdGl0dXRpb25zIiwibG9jYWxDb250ZXh0QSIsImxvY2FsQ29udGV4dEIiLCJzdGF0ZW1lbnRVbmlmaWVkQWdhaW5zdFN0YXRlbWVudCIsInRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiIsIlRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiIsImZyb21TdWJzdGl0dXRpb25BbmRTdWJzdGl0dXRpb25zIiwidHJhbnNmb3JtZWQiLCJpc1RyYW5zZm9ybWVkIiwic3Vic3RpdHV0aW9uc0EiLCJzdWJzdGl0dXRpb25BIiwicHVzaCIsIm5vZGVBIiwibm9kZUIiLCJ1bmlmaWVkIiwibWV0YUxldmVsVW5pZmllciIsInVuaWZ5Iiwic3Vic3RpdHV0aW9uQiIsInN1YnN0aXR1dGlvbnNCIiwidHJhbnNmb3JtU3Vic3RpdHV0aW9ucyIsIm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBT0E7OztlQUF3QkE7OztnRUFMSztzRUFDVztxQkFFbkI7Ozs7OztBQUVOLFNBQVNBLCtCQUErQkMsY0FBYyxFQUFFQyxjQUFjLEVBQUVDLFlBQVksRUFBRUMsYUFBYSxFQUFFQyxhQUFhLEVBQUVDLGFBQWE7SUFDOUksSUFBSUMsbUNBQW1DO0lBRXZDLElBQU1DLDhCQUE4QkMsd0JBQTJCLENBQUNDLGdDQUFnQyxDQUFDUCxjQUFjQyxnQkFDekdPLGNBQWNILDRCQUE0QkksYUFBYSxDQUFDVDtJQUU5RCxJQUFJVSxpQkFBaUIsRUFBRSxFQUFFLEdBQUc7SUFFNUIsSUFBSUYsYUFBYTtRQUNmLElBQU1HLGdCQUFnQk4sNkJBQThCLEdBQUc7UUFFdkRLLGVBQWVFLElBQUksQ0FBQ0Q7SUFDdEI7SUFFQSxJQUFNRSxRQUFRZixnQkFDUmdCLFFBQVFmLGdCQUNSZ0IsVUFBVUMsa0JBQWdCLENBQUNDLEtBQUssQ0FBQ0osT0FBT0MsT0FBT0osZ0JBQWdCUixlQUFlQztJQUVwRixJQUFJWSxTQUFTO1FBQ1gsSUFBSSxDQUFDUCxhQUFhO1lBQ2hCLElBQU1VLGdCQUFnQmIsNkJBQ2hCYyxpQkFBaUI7Z0JBQ2ZEO2FBQ0Q7WUFFUFIsaUJBQWlCVSx1QkFBdUJWLGdCQUFnQlM7WUFFeERQLElBQUFBLFdBQUksRUFBQ1gsZUFBZVM7UUFDdEI7UUFFQU4sbUNBQW1DO0lBQ3JDO0lBRUEsT0FBT0E7QUFDVDtBQUVBLFNBQVNnQix1QkFBdUJWLGNBQWMsRUFBRVMsY0FBYztJQUM1RFQsaUJBQWlCQSxlQUFlVyxHQUFHLENBQUMsU0FBQ1Y7UUFDbkMsSUFBTVgsZUFBZVcsZUFDZlYsZ0JBQWdCa0IsZ0JBQ2hCZCw4QkFBOEJDLHdCQUEyQixDQUFDQyxnQ0FBZ0MsQ0FBQ1AsY0FBY0M7UUFFL0dVLGdCQUFnQk4sNkJBQTZCLEdBQUc7UUFFaEQsT0FBT007SUFDVDtJQUVBLE9BQU9EO0FBQ1QifQ==
@@ -19,4 +19,4 @@ function unifyTermAgainstTerm(termNodeA, termNodeB, localContext, unifyAhead) {
19
19
  return termUnifiedAgainstTerm;
20
20
  }
21
21
 
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS90ZXJtQWdhaW5zdFRlcm0uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFyZVRlcm1Ob2Rlc0VxdWFsIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9lcXVpdmFsZW5jZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdW5pZnlUZXJtQWdhaW5zdFRlcm0odGVybU5vZGVBLCB0ZXJtTm9kZUIsIGxvY2FsQ29udGV4dCwgdW5pZnlBaGVhZCkge1xuICBsZXQgdGVybVVuaWZpZWRBZ2FpbnN0VGVybSA9IGZhbHNlO1xuXG4gIGNvbnN0IGxlZnRUZXJtTm9kZSA9IHRlcm1Ob2RlQSwgLy8vXG4gICAgICAgIHJpZ2h0VGVybU5vZGUgPSB0ZXJtTm9kZUIsIC8vL1xuICAgICAgICBlcXVpdmFsZW5jZXMgPSBsb2NhbENvbnRleHQuZ2V0RXF1aXZhbGVuY2VzKCksXG4gICAgICAgIHRlcm1Ob2Rlc0VxdWFsID0gYXJlVGVybU5vZGVzRXF1YWwobGVmdFRlcm1Ob2RlLCByaWdodFRlcm1Ob2RlLCBlcXVpdmFsZW5jZXMpO1xuXG4gIGlmICh0ZXJtTm9kZXNFcXVhbCkge1xuICAgIGNvbnN0IHVuaWZpZWRBaGVhZCA9IHVuaWZ5QWhlYWQoKTtcblxuICAgIHRlcm1VbmlmaWVkQWdhaW5zdFRlcm0gPSB1bmlmaWVkQWhlYWQ7ICAvLy9cbiAgfVxuXG4gIHJldHVybiB0ZXJtVW5pZmllZEFnYWluc3RUZXJtO1xufSJdLCJuYW1lcyI6WyJ1bmlmeVRlcm1BZ2FpbnN0VGVybSIsInRlcm1Ob2RlQSIsInRlcm1Ob2RlQiIsImxvY2FsQ29udGV4dCIsInVuaWZ5QWhlYWQiLCJ0ZXJtVW5pZmllZEFnYWluc3RUZXJtIiwibGVmdFRlcm1Ob2RlIiwicmlnaHRUZXJtTm9kZSIsImVxdWl2YWxlbmNlcyIsImdldEVxdWl2YWxlbmNlcyIsInRlcm1Ob2Rlc0VxdWFsIiwiYXJlVGVybU5vZGVzRXF1YWwiLCJ1bmlmaWVkQWhlYWQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUlBOzs7ZUFBd0JBOzs7NEJBRlU7QUFFbkIsU0FBU0EscUJBQXFCQyxTQUFTLEVBQUVDLFNBQVMsRUFBRUMsWUFBWSxFQUFFQyxVQUFVO0lBQ3pGLElBQUlDLHlCQUF5QjtJQUU3QixJQUFNQyxlQUFlTCxXQUNmTSxnQkFBZ0JMLFdBQ2hCTSxlQUFlTCxhQUFhTSxlQUFlLElBQzNDQyxpQkFBaUJDLElBQUFBLCtCQUFpQixFQUFDTCxjQUFjQyxlQUFlQztJQUV0RSxJQUFJRSxnQkFBZ0I7UUFDbEIsSUFBTUUsZUFBZVI7UUFFckJDLHlCQUF5Qk8sY0FBZSxHQUFHO0lBQzdDO0lBRUEsT0FBT1A7QUFDVCJ9
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS90ZXJtQWdhaW5zdFRlcm0uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFyZVRlcm1Ob2Rlc0VxdWFsIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9lcXVpdmFsZW5jZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdW5pZnlUZXJtQWdhaW5zdFRlcm0odGVybU5vZGVBLCB0ZXJtTm9kZUIsIGxvY2FsQ29udGV4dCwgdW5pZnlBaGVhZCkge1xuICBsZXQgdGVybVVuaWZpZWRBZ2FpbnN0VGVybSA9IGZhbHNlO1xuXG4gIGNvbnN0IGxlZnRUZXJtTm9kZSA9IHRlcm1Ob2RlQSwgLy8vXG4gICAgICAgIHJpZ2h0VGVybU5vZGUgPSB0ZXJtTm9kZUIsICAvLy9cbiAgICAgICAgZXF1aXZhbGVuY2VzID0gbG9jYWxDb250ZXh0LmdldEVxdWl2YWxlbmNlcygpLFxuICAgICAgICB0ZXJtTm9kZXNFcXVhbCA9IGFyZVRlcm1Ob2Rlc0VxdWFsKGxlZnRUZXJtTm9kZSwgcmlnaHRUZXJtTm9kZSwgZXF1aXZhbGVuY2VzKTtcblxuICBpZiAodGVybU5vZGVzRXF1YWwpIHtcbiAgICBjb25zdCB1bmlmaWVkQWhlYWQgPSB1bmlmeUFoZWFkKCk7XG5cbiAgICB0ZXJtVW5pZmllZEFnYWluc3RUZXJtID0gdW5pZmllZEFoZWFkOyAgLy8vXG4gIH1cblxuICByZXR1cm4gdGVybVVuaWZpZWRBZ2FpbnN0VGVybTtcbn0iXSwibmFtZXMiOlsidW5pZnlUZXJtQWdhaW5zdFRlcm0iLCJ0ZXJtTm9kZUEiLCJ0ZXJtTm9kZUIiLCJsb2NhbENvbnRleHQiLCJ1bmlmeUFoZWFkIiwidGVybVVuaWZpZWRBZ2FpbnN0VGVybSIsImxlZnRUZXJtTm9kZSIsInJpZ2h0VGVybU5vZGUiLCJlcXVpdmFsZW5jZXMiLCJnZXRFcXVpdmFsZW5jZXMiLCJ0ZXJtTm9kZXNFcXVhbCIsImFyZVRlcm1Ob2Rlc0VxdWFsIiwidW5pZmllZEFoZWFkIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFJQTs7O2VBQXdCQTs7OzRCQUZVO0FBRW5CLFNBQVNBLHFCQUFxQkMsU0FBUyxFQUFFQyxTQUFTLEVBQUVDLFlBQVksRUFBRUMsVUFBVTtJQUN6RixJQUFJQyx5QkFBeUI7SUFFN0IsSUFBTUMsZUFBZUwsV0FDZk0sZ0JBQWdCTCxXQUNoQk0sZUFBZUwsYUFBYU0sZUFBZSxJQUMzQ0MsaUJBQWlCQyxJQUFBQSwrQkFBaUIsRUFBQ0wsY0FBY0MsZUFBZUM7SUFFdEUsSUFBSUUsZ0JBQWdCO1FBQ2xCLElBQU1FLGVBQWVSO1FBRXJCQyx5QkFBeUJPLGNBQWUsR0FBRztJQUM3QztJQUVBLE9BQU9QO0FBQ1QifQ==
@@ -8,12 +8,18 @@ Object.defineProperty(exports, "default", {
8
8
  return unifyTermAgainstType;
9
9
  }
10
10
  });
11
+ var _shim = /*#__PURE__*/ _interop_require_default(require("../shim"));
11
12
  var _array = require("../utilities/array");
12
- function unifyTermAgainstType(termNode, typeNode, localContext, unifyAhead, verifyTerm) {
13
+ function _interop_require_default(obj) {
14
+ return obj && obj.__esModule ? obj : {
15
+ default: obj
16
+ };
17
+ }
18
+ function unifyTermAgainstType(termNodeA, typeNodeB, localContext, unifyAhead) {
13
19
  var termUnifiedAgainstType;
14
- var terms = [], termVerified = verifyTerm(termNode, terms, localContext, function() {
20
+ var verifyTerm = _shim.default.verifyTerm, terms = [], termVerified = verifyTerm(termNodeA, terms, localContext, function() {
15
21
  var unifiedAhead = false;
16
- var firstTerm = (0, _array.first)(terms), term = firstTerm, termType = term.getType(), type = localContext.findTypeByTypeNode(typeNode), termTypeEqualToOrSubTypeOfType = termType.isEqualToOrSubTypeOf(type);
22
+ var firstTerm = (0, _array.first)(terms), term = firstTerm, termType = term.getType(), typeNode = typeNodeB, type = localContext.findTypeByTypeNode(typeNode), termTypeEqualToOrSubTypeOfType = termType.isEqualToOrSubTypeOf(type);
17
23
  if (termTypeEqualToOrSubTypeOfType) {
18
24
  unifiedAhead = unifyAhead();
19
25
  }
@@ -23,4 +29,4 @@ function unifyTermAgainstType(termNode, typeNode, localContext, unifyAhead, veri
23
29
  return termUnifiedAgainstType;
24
30
  }
25
31
 
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS90ZXJtQWdhaW5zdFR5cGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1bmlmeVRlcm1BZ2FpbnN0VHlwZSh0ZXJtTm9kZSwgdHlwZU5vZGUsIGxvY2FsQ29udGV4dCwgdW5pZnlBaGVhZCwgdmVyaWZ5VGVybSkge1xuICBsZXQgdGVybVVuaWZpZWRBZ2FpbnN0VHlwZTtcblxuICBjb25zdCB0ZXJtcyA9IFtdLFxuICAgICAgICB0ZXJtVmVyaWZpZWQgPSB2ZXJpZnlUZXJtKHRlcm1Ob2RlLCB0ZXJtcywgbG9jYWxDb250ZXh0LCAoKSA9PiB7XG4gICAgICAgICAgbGV0IHVuaWZpZWRBaGVhZCA9IGZhbHNlO1xuXG4gICAgICAgICAgY29uc3QgZmlyc3RUZXJtID0gZmlyc3QodGVybXMpLFxuICAgICAgICAgICAgICAgIHRlcm0gPSBmaXJzdFRlcm0sIC8vL1xuICAgICAgICAgICAgICAgIHRlcm1UeXBlID0gdGVybS5nZXRUeXBlKCksXG4gICAgICAgICAgICAgICAgdHlwZSA9IGxvY2FsQ29udGV4dC5maW5kVHlwZUJ5VHlwZU5vZGUodHlwZU5vZGUpLFxuICAgICAgICAgICAgICAgIHRlcm1UeXBlRXF1YWxUb09yU3ViVHlwZU9mVHlwZSA9IHRlcm1UeXBlLmlzRXF1YWxUb09yU3ViVHlwZU9mKHR5cGUpO1xuXG4gICAgICAgICAgaWYgKHRlcm1UeXBlRXF1YWxUb09yU3ViVHlwZU9mVHlwZSkge1xuICAgICAgICAgICAgdW5pZmllZEFoZWFkID0gdW5pZnlBaGVhZCgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB1bmlmaWVkQWhlYWQ7XG4gICAgICAgIH0pO1xuXG4gIHRlcm1VbmlmaWVkQWdhaW5zdFR5cGUgPSB0ZXJtVmVyaWZpZWQ7IC8vL1xuXG4gIHJldHVybiB0ZXJtVW5pZmllZEFnYWluc3RUeXBlO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5VGVybUFnYWluc3RUeXBlIiwidGVybU5vZGUiLCJ0eXBlTm9kZSIsImxvY2FsQ29udGV4dCIsInVuaWZ5QWhlYWQiLCJ2ZXJpZnlUZXJtIiwidGVybVVuaWZpZWRBZ2FpbnN0VHlwZSIsInRlcm1zIiwidGVybVZlcmlmaWVkIiwidW5pZmllZEFoZWFkIiwiZmlyc3RUZXJtIiwiZmlyc3QiLCJ0ZXJtIiwidGVybVR5cGUiLCJnZXRUeXBlIiwidHlwZSIsImZpbmRUeXBlQnlUeXBlTm9kZSIsInRlcm1UeXBlRXF1YWxUb09yU3ViVHlwZU9mVHlwZSIsImlzRXF1YWxUb09yU3ViVHlwZU9mIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFJQTs7O2VBQXdCQTs7O3FCQUZGO0FBRVAsU0FBU0EscUJBQXFCQyxRQUFRLEVBQUVDLFFBQVEsRUFBRUMsWUFBWSxFQUFFQyxVQUFVLEVBQUVDLFVBQVU7SUFDbkcsSUFBSUM7SUFFSixJQUFNQyxRQUFRLEVBQUUsRUFDVkMsZUFBZUgsV0FBV0osVUFBVU0sT0FBT0osY0FBYztRQUN2RCxJQUFJTSxlQUFlO1FBRW5CLElBQU1DLFlBQVlDLElBQUFBLFlBQUssRUFBQ0osUUFDbEJLLE9BQU9GLFdBQ1BHLFdBQVdELEtBQUtFLE9BQU8sSUFDdkJDLE9BQU9aLGFBQWFhLGtCQUFrQixDQUFDZCxXQUN2Q2UsaUNBQWlDSixTQUFTSyxvQkFBb0IsQ0FBQ0g7UUFFckUsSUFBSUUsZ0NBQWdDO1lBQ2xDUixlQUFlTDtRQUNqQjtRQUVBLE9BQU9LO0lBQ1Q7SUFFTkgseUJBQXlCRSxjQUFjLEdBQUc7SUFFMUMsT0FBT0Y7QUFDVCJ9
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS90ZXJtQWdhaW5zdFR5cGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBzaGltIGZyb20gXCIuLi9zaGltXCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1bmlmeVRlcm1BZ2FpbnN0VHlwZSh0ZXJtTm9kZUEsIHR5cGVOb2RlQiwgbG9jYWxDb250ZXh0LCB1bmlmeUFoZWFkKSB7XG4gIGxldCB0ZXJtVW5pZmllZEFnYWluc3RUeXBlO1xuXG4gIGNvbnN0IHsgdmVyaWZ5VGVybSB9ID0gc2hpbSxcbiAgICAgICAgdGVybXMgPSBbXSxcbiAgICAgICAgdGVybVZlcmlmaWVkID0gdmVyaWZ5VGVybSh0ZXJtTm9kZUEsIHRlcm1zLCBsb2NhbENvbnRleHQsICgpID0+IHtcbiAgICAgICAgICBsZXQgdW5pZmllZEFoZWFkID0gZmFsc2U7XG5cbiAgICAgICAgICBjb25zdCBmaXJzdFRlcm0gPSBmaXJzdCh0ZXJtcyksXG4gICAgICAgICAgICAgICAgdGVybSA9IGZpcnN0VGVybSwgLy8vXG4gICAgICAgICAgICAgICAgdGVybVR5cGUgPSB0ZXJtLmdldFR5cGUoKSxcbiAgICAgICAgICAgICAgICB0eXBlTm9kZSA9IHR5cGVOb2RlQiwgLy8vXG4gICAgICAgICAgICAgICAgdHlwZSA9IGxvY2FsQ29udGV4dC5maW5kVHlwZUJ5VHlwZU5vZGUodHlwZU5vZGUpLFxuICAgICAgICAgICAgICAgIHRlcm1UeXBlRXF1YWxUb09yU3ViVHlwZU9mVHlwZSA9IHRlcm1UeXBlLmlzRXF1YWxUb09yU3ViVHlwZU9mKHR5cGUpO1xuXG4gICAgICAgICAgaWYgKHRlcm1UeXBlRXF1YWxUb09yU3ViVHlwZU9mVHlwZSkge1xuICAgICAgICAgICAgdW5pZmllZEFoZWFkID0gdW5pZnlBaGVhZCgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB1bmlmaWVkQWhlYWQ7XG4gICAgICAgIH0pO1xuXG4gIHRlcm1VbmlmaWVkQWdhaW5zdFR5cGUgPSB0ZXJtVmVyaWZpZWQ7IC8vL1xuXG4gIHJldHVybiB0ZXJtVW5pZmllZEFnYWluc3RUeXBlO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5VGVybUFnYWluc3RUeXBlIiwidGVybU5vZGVBIiwidHlwZU5vZGVCIiwibG9jYWxDb250ZXh0IiwidW5pZnlBaGVhZCIsInRlcm1VbmlmaWVkQWdhaW5zdFR5cGUiLCJ2ZXJpZnlUZXJtIiwic2hpbSIsInRlcm1zIiwidGVybVZlcmlmaWVkIiwidW5pZmllZEFoZWFkIiwiZmlyc3RUZXJtIiwiZmlyc3QiLCJ0ZXJtIiwidGVybVR5cGUiLCJnZXRUeXBlIiwidHlwZU5vZGUiLCJ0eXBlIiwiZmluZFR5cGVCeVR5cGVOb2RlIiwidGVybVR5cGVFcXVhbFRvT3JTdWJUeXBlT2ZUeXBlIiwiaXNFcXVhbFRvT3JTdWJUeXBlT2YiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU1BOzs7ZUFBd0JBOzs7MkRBSlA7cUJBRUs7Ozs7OztBQUVQLFNBQVNBLHFCQUFxQkMsU0FBUyxFQUFFQyxTQUFTLEVBQUVDLFlBQVksRUFBRUMsVUFBVTtJQUN6RixJQUFJQztJQUVKLElBQU0sQUFBRUMsYUFBZUMsYUFBSSxDQUFuQkQsWUFDRkUsUUFBUSxFQUFFLEVBQ1ZDLGVBQWVILFdBQVdMLFdBQVdPLE9BQU9MLGNBQWM7UUFDeEQsSUFBSU8sZUFBZTtRQUVuQixJQUFNQyxZQUFZQyxJQUFBQSxZQUFLLEVBQUNKLFFBQ2xCSyxPQUFPRixXQUNQRyxXQUFXRCxLQUFLRSxPQUFPLElBQ3ZCQyxXQUFXZCxXQUNYZSxPQUFPZCxhQUFhZSxrQkFBa0IsQ0FBQ0YsV0FDdkNHLGlDQUFpQ0wsU0FBU00sb0JBQW9CLENBQUNIO1FBRXJFLElBQUlFLGdDQUFnQztZQUNsQ1QsZUFBZU47UUFDakI7UUFFQSxPQUFPTTtJQUNUO0lBRU5MLHlCQUF5QkksY0FBYyxHQUFHO0lBRTFDLE9BQU9KO0FBQ1QifQ==